From 27e7df89bb28d74bf321861a7ff24c3bda903856 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Thu, 25 Aug 2022 11:40:00 -0400 Subject: [PATCH 01/57] code changes to add joint tour utilities in cdap --- activitysim/abm/models/cdap.py | 57 ++++-- activitysim/abm/models/util/cdap.py | 268 ++++++++++++++++++++++++++-- 2 files changed, 298 insertions(+), 27 deletions(-) diff --git a/activitysim/abm/models/cdap.py b/activitysim/abm/models/cdap.py index 3f29891a71..4e817c5bc7 100644 --- a/activitysim/abm/models/cdap.py +++ b/activitysim/abm/models/cdap.py @@ -71,6 +71,16 @@ def cdap_simulate(persons_merged, persons, households, cdap_fixed_relative_proportions = \ simulate.read_model_spec(file_name=model_settings['FIXED_RELATIVE_PROPORTIONS_SPEC']) + add_joint_tour_utility = \ + model_settings.get('ADD_JOINT_TOUR_UTILITY', False) + + if add_joint_tour_utility: + # Rules and coefficients for generating cdap joint tour specs for different household sizes + joint_tour_coefficients_file_name = \ + model_settings.get('JOINT_TOUR_COEFFICIENTS', 'cdap_joint_tour_coefficients.csv') + cdap_joint_tour_coefficients = \ + pd.read_csv(config.config_file_path(joint_tour_coefficients_file_name), comment='#') + persons_merged = persons_merged.to_frame() # add tour-based chunk_id so we can chunk all trips in tour together @@ -89,9 +99,15 @@ def cdap_simulate(persons_merged, persons, households, # (also when multiprocessing locutor might not see all household sizes) logger.info("Pre-building cdap specs") for hhsize in range(2, cdap.MAX_HHSIZE + 1): - spec = cdap.build_cdap_spec(cdap_interaction_coefficients, hhsize, cache=True) + spec = cdap.build_cdap_spec(cdap_interaction_coefficients, hhsize, cache=True, joint_tour_alt=add_joint_tour_utility) if inject.get_injectable('locutor', False): spec.to_csv(config.output_file_path('cdap_spec_%s.csv' % hhsize), index=True) + if add_joint_tour_utility: + # build cdap joint tour spec + # joint_spec_dependency = spec.loc[[c for c in spec.index if c.startswith(('M_p', 'N_p', 'H_p'))]] + joint_spec = cdap.build_cdap_joint_spec(cdap_joint_tour_coefficients, hhsize, cache=True) + if inject.get_injectable('locutor', False): + joint_spec.to_csv(config.output_file_path('cdap_joint_spec_%s.csv' % hhsize), index=True) if estimator: estimator.write_model_settings(model_settings, 'cdap.yaml') @@ -106,16 +122,30 @@ def cdap_simulate(persons_merged, persons, households, logger.info("Running cdap_simulate with %d persons", len(persons_merged.index)) - choices = cdap.run_cdap( - persons=persons_merged, - person_type_map=person_type_map, - cdap_indiv_spec=cdap_indiv_spec, - cdap_interaction_coefficients=cdap_interaction_coefficients, - cdap_fixed_relative_proportions=cdap_fixed_relative_proportions, - locals_d=constants, - chunk_size=chunk_size, - trace_hh_id=trace_hh_id, - trace_label=trace_label) + if add_joint_tour_utility: + choices, hh_joint = cdap.run_cdap( + persons=persons_merged, + person_type_map=person_type_map, + cdap_indiv_spec=cdap_indiv_spec, + cdap_interaction_coefficients=cdap_interaction_coefficients, + cdap_fixed_relative_proportions=cdap_fixed_relative_proportions, + locals_d=constants, + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + add_joint_tour_utility=add_joint_tour_utility) + else: + choices = cdap.run_cdap( + persons=persons_merged, + person_type_map=person_type_map, + cdap_indiv_spec=cdap_indiv_spec, + cdap_interaction_coefficients=cdap_interaction_coefficients, + cdap_fixed_relative_proportions=cdap_fixed_relative_proportions, + locals_d=constants, + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + add_joint_tour_utility=add_joint_tour_utility) if estimator: estimator.write_choices(choices) @@ -138,6 +168,11 @@ def cdap_simulate(persons_merged, persons, households, # - annotate households table households = households.to_frame() + + if add_joint_tour_utility: + hh_joint = hh_joint.reindex(households.index) + households['has_joint_tour'] = hh_joint + expressions.assign_columns( df=households, model_settings=model_settings.get('annotate_households'), diff --git a/activitysim/abm/models/util/cdap.py b/activitysim/abm/models/util/cdap.py index fdc34961ae..7da6016147 100644 --- a/activitysim/abm/models/util/cdap.py +++ b/activitysim/abm/models/util/cdap.py @@ -191,6 +191,12 @@ def individual_utilities( useful_columns = [_hh_id_, _ptype_, 'cdap_rank', _hh_size_] indiv_utils[useful_columns] = persons[useful_columns] + # add attributes for joint tour utility + model_settings = config.read_model_settings('cdap.yaml') + additional_useful_columns = model_settings.get('JOINT_TOUR_USEFUL_COLUMNS', None) + if additional_useful_columns is not None: + indiv_utils[additional_useful_columns] = persons[additional_useful_columns] + if trace_hh_id: tracing.trace_df(indiv_utils, '%s.indiv_utils' % trace_label, column_labels=['activity', 'person']) @@ -245,6 +251,8 @@ def preprocess_interaction_coefficients(interaction_coefficients): def cached_spec_name(hhsize): return 'cdap_spec_%s' % hhsize +def cached_joint_spec_name(hhsize): + return 'cdap_joint_spec_%s' % hhsize def get_cached_spec(hhsize): @@ -267,15 +275,29 @@ def get_cached_spec(hhsize): return None +def get_cached_joint_spec(hhsize): + + spec_name = cached_joint_spec_name(hhsize) + + spec = inject.get_injectable(spec_name, None) + if spec is not None: + logger.debug("build_cdap_joint_spec returning cached injectable spec %s", spec_name) + return spec + + return None def cache_spec(hhsize, spec): spec_name = cached_spec_name(hhsize) # cache as injectable inject.add_injectable(spec_name, spec) +def cache_joint_spec(hhsize, spec): + spec_name = cached_joint_spec_name(hhsize) + # cache as injectable + inject.add_injectable(spec_name, spec) def build_cdap_spec(interaction_coefficients, hhsize, - trace_spec=False, trace_label=None, cache=True): + trace_spec=False, trace_label=None, cache=True, joint_tour_alt=False): """ Build a spec file for computing utilities of alternative household member interaction patterns for households of specified size. @@ -341,6 +363,10 @@ def build_cdap_spec(interaction_coefficients, hhsize, # e.g. ['HH', 'HM', 'HN', 'MH', 'MM', 'MN', 'NH', 'NM', 'NN'] for hhsize=2 alternatives = [''.join(tup) for tup in itertools.product('HMN', repeat=hhsize)] + if joint_tour_alt: + joint_alternatives = [''.join(tup)+'J' for tup in itertools.product('HMN', repeat=hhsize) if tup.count('M')+tup.count('N')>=2] + alternatives = alternatives + joint_alternatives + # spec df has expression column plus a column for each alternative spec = pd.DataFrame(columns=[expression_name] + alternatives) @@ -453,6 +479,169 @@ def build_cdap_spec(interaction_coefficients, hhsize, return spec +def build_cdap_joint_spec( + joint_tour_coefficients, + hhsize, + trace_spec=False, + trace_label=None, + cache=True + ): + """ + Build a spec file for computing joint tour utilities of alternative household member for households of specified size. + We generate this spec automatically from a table of rules and coefficients because the + interaction rules are fairly simple and can be expressed compactly whereas + there is a lot of redundancy between the spec files for different household sizes, as well as + in the vectorized expression of the interaction alternatives within the spec file itself + joint_tour_coefficients has five columns: + label + label of the expression + description + description of the expression + dependency + if the expression is dependent on alternative, and which alternative is it dependent on + (e.g. M_px, N_px, H_px) + expression + expression of the utility term + coefficient + The coefficient to apply for the alternative + The generated spec will have the eval expression in the index, and a utility column for each + alternative (e.g. ['HH', 'HM', 'HN', 'MH', 'MM', 'MN', 'NH', 'NM', 'NN', 'MMJ', 'MNJ', 'NMJ', 'NNJ'] for hhsize 2 with joint alts) + Parameters + ---------- + joint_tour_coefficients : pandas.DataFrame + Rules and coefficients for generating joint tour specs for different household sizes + hhsize : int + household size for which the spec should be built. + Returns + ------- + spec: pandas.DataFrame + """ + + t0 = tracing.print_elapsed_time() + + # cdap joint spec is same for all households of MAX_HHSIZE and greater + hhsize = min(hhsize, MAX_HHSIZE) + + if cache: + spec = get_cached_joint_spec(hhsize) + if spec is not None: + return spec + + expression_name = "Expression" + + # generate a list of activity pattern alternatives for this hhsize + # e.g. ['HH', 'HM', 'HN', 'MH', 'MM', 'MN', 'NH', 'NM', 'NN'] for hhsize=2 + alternatives = [''.join(tup) for tup in itertools.product('HMN', repeat=hhsize)] + + joint_alternatives = [''.join(tup)+'J' for tup in itertools.product('HMN', repeat=hhsize) if tup.count('M')+tup.count('N')>=2] + alternatives = alternatives + joint_alternatives + + # spec df has expression column plus a column for each alternative + spec = pd.DataFrame(columns=[expression_name] + alternatives) + + # Before processing the interaction_coefficients, we add add rows to the spec to carry + # the alternative utilities previously computed for each individual into all hh alternative + # columns in which the individual assigned that alternative. The Expression column contains + # the name of the choosers column with that individuals utility for the individual alternative + # and the hh alternative columns that should receive that utility are given a value of 1 + # e.g. M_p1 is a column in choosers with the individual utility to person p1 of alternative M + # Expression MM MN MH NM NN NH HM HN HH + # M_p1 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 + # N_p1 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0 + for pnum in range(1, hhsize+1): + for activity in ['M', 'N', 'H']: + + new_row_index = len(spec) + spec.loc[new_row_index, expression_name] = add_pn(activity, pnum) + + # list of alternative columns where person pnum has expression activity + # e.g. for M_p1 we want the columns where activity M is in position p1 + alternative_columns = [alt for alt in alternatives if alt[pnum - 1] == activity] + spec.loc[new_row_index, alternative_columns] = 1 + + # for each row in the joint util table + for row in joint_tour_coefficients.itertuples(): + + # if there is no dependencies + if row.dependency is np.nan: + expression = row.Expression + # add a new row to spec + new_row_index = len(spec) + spec.loc[new_row_index, expression_name] = expression + spec.loc[new_row_index, alternatives] = row.coefficient + # if there is dependencies + else: + dependency_name = row.dependency + expression = row.Expression + coefficient = row.coefficient + if dependency_name in ['M_px', 'N_px', 'H_px']: + if '_pxprod' in expression: + prod_conds = row.Expression.split('|') + expanded_expressions = [tup for tup in itertools.product(range(len(prod_conds)), repeat=hhsize)] + for expression_tup in expanded_expressions: + expression_list = [] + dependency_list = [] + for counter in range(len(expression_tup)): + expression_list.append(prod_conds[expression_tup[counter]].replace('xprod', str(counter+1))) + if expression_tup[counter] == 0: + dependency_list.append(dependency_name.replace('x', str(counter+1))) + + expression_value = '&'.join(expression_list) + dependency_value = pd.Series(np.ones(len(alternatives)), index = alternatives) + if len(dependency_list) > 0: + for dependency in dependency_list: + #temp = spec.loc[spec[expression_name]==dependency, alternatives].squeeze().fillna(0) + dependency_value *= spec.loc[spec[expression_name]==dependency, alternatives].squeeze().fillna(0) + + # add a new row to spec + new_row_index = len(spec) + spec.loc[new_row_index] = dependency_value + spec.loc[new_row_index, expression_name] = expression_value + spec.loc[new_row_index, alternatives] = spec.loc[new_row_index, alternatives]*coefficient + + elif '_px' in expression: + for pnum in range(1, hhsize+1): + dependency_name = row.dependency.replace('x', str(pnum)) + expression = row.Expression.replace('x', str(pnum)) + + # add a new row to spec + new_row_index = len(spec) + spec.loc[new_row_index] = spec.loc[spec[expression_name]==dependency_name].squeeze() + spec.loc[new_row_index, expression_name] = expression + spec.loc[new_row_index, alternatives] = spec.loc[new_row_index, alternatives]*coefficient + + # drop dependency rows + spec = spec[~spec[expression_name].str.startswith(('M_p', 'N_p', 'H_p'))] + + # eval expression goes in the index + spec.set_index(expression_name, inplace=True) + + for c in spec.columns: + spec[c] = spec[c].fillna(0) + + simulate.uniquify_spec_index(spec) + + # make non-joint alts 0 + for c in alternatives: + if c.endswith('J'): + continue + else: + spec[c] = 0 + + if trace_spec: + tracing.trace_df(spec, '%s.hhsize%d_joint_spec' % (trace_label, hhsize), + transpose=False, slicer='NONE') + + if trace_spec: + tracing.trace_df(spec, '%s.hhsize%d_joint_spec_patched' % (trace_label, hhsize), + transpose=False, slicer='NONE') + + if cache: + cache_joint_spec(hhsize, spec) + + t0 = tracing.print_elapsed_time("build_cdap_joint_spec hh_size %s" % hhsize, t0) + + return spec def add_interaction_column(choosers, p_tup): """ @@ -546,6 +735,12 @@ def hh_choosers(indiv_utils, hhsize): # we want to merge the ptype and M, N, and H utilities for each individual in the household merge_cols = [_hh_id_, _ptype_, 'M', 'N', 'H'] + # add attributes for joint tour utility + model_settings = config.read_model_settings('cdap.yaml') + additional_merge_cols = model_settings.get('JOINT_TOUR_USEFUL_COLUMNS', None) + if additional_merge_cols is not None: + merge_cols.extend(additional_merge_cols) + if hhsize > MAX_HHSIZE: raise RuntimeError("hh_choosers hhsize > MAX_HHSIZE") @@ -584,11 +779,14 @@ def hh_choosers(indiv_utils, hhsize): for tup in itertools.combinations(list(range(1, hhsize+1)), i): add_interaction_column(choosers, tup) + # add hhsize + choosers['hhsize'] = hhsize + return choosers def household_activity_choices(indiv_utils, interaction_coefficients, hhsize, - trace_hh_id=None, trace_label=None): + trace_hh_id=None, trace_label=None, add_joint_tour_utility=False): """ Calculate household utilities for each activity pattern alternative for households of hhsize The resulting activity pattern for each household will be coded as a string of activity codes. @@ -629,13 +827,25 @@ def household_activity_choices(indiv_utils, interaction_coefficients, hhsize, spec = build_cdap_spec(interaction_coefficients, hhsize, trace_spec=(trace_hh_id in choosers.index), - trace_label=trace_label) + trace_label=trace_label, joint_tour_alt=add_joint_tour_utility) utils = simulate.eval_utilities(spec, choosers, trace_label=trace_label) if len(utils.index) == 0: return pd.Series(dtype='float64') + # calculate joint tour utility + if add_joint_tour_utility: + # calculate joint utils + joint_tour_spec = build_cdap_joint_spec(interaction_coefficients, hhsize, + trace_spec=(trace_hh_id in choosers.index), + trace_label=trace_label) + + joint_tour_utils = simulate.eval_utilities(joint_tour_spec, choosers, trace_label=trace_label) + + # add joint util to util + utils = utils.add(joint_tour_utils) + probs = logit.utils_to_probs(utils, trace_label=trace_label) # select an activity pattern alternative for each household based on probability @@ -796,7 +1006,7 @@ def _run_cdap( interaction_coefficients, cdap_fixed_relative_proportions, locals_d, - trace_hh_id, trace_label): + trace_hh_id, trace_label, add_joint_tour_utility): """ Implements core run_cdap functionality on persons df (or chunked subset thereof) Aside from chunking of persons df, params are passed through from run_cdap unchanged @@ -830,7 +1040,7 @@ def _run_cdap( choices = household_activity_choices( indiv_utils, interaction_coefficients, hhsize=hhsize, - trace_hh_id=trace_hh_id, trace_label=trace_label) + trace_hh_id=trace_hh_id, trace_label=trace_label, add_joint_tour_utility=add_joint_tour_utility) hh_choices_list.append(choices) @@ -861,6 +1071,13 @@ def _run_cdap( persons['cdap_activity'] = person_choices chunk.log_df(trace_label, 'persons', persons) + # return household joint tour flag + if add_joint_tour_utility: + hh_activity_choices = hh_activity_choices.to_frame(name='hh_choices') + hh_activity_choices['has_joint_tour'] = hh_activity_choices['hh_choices'].apply( + lambda x: 1 if 'J' in x else 0 + ) + # if DUMP: # tracing.trace_df(hh_activity_choices, '%s.DUMP.hh_activity_choices' % trace_label, # transpose=False, slicer='NONE') @@ -872,7 +1089,10 @@ def _run_cdap( del persons chunk.log_df(trace_label, 'persons', None) - return result + if add_joint_tour_utility: + return result, hh_activity_choices['has_joint_tour'] + else: + return result def run_cdap( @@ -882,7 +1102,7 @@ def run_cdap( cdap_interaction_coefficients, cdap_fixed_relative_proportions, locals_d, - chunk_size=0, trace_hh_id=None, trace_label=None): + chunk_size=0, trace_hh_id=None, trace_label=None, add_joint_tour_utility=False): """ Choose individual activity patterns for persons. @@ -908,6 +1128,8 @@ def run_cdap( hh_id to trace or None if no hh tracing trace_label : str label for tracing or None if no tracing + add_joint_tour_utility : Bool + cdap model include joint tour utility or not Returns ------- @@ -926,14 +1148,24 @@ def run_cdap( for i, persons_chunk, chunk_trace_label \ in chunk.adaptive_chunked_choosers_by_chunk_id(persons, chunk_size, trace_label): - cdap_results = \ - _run_cdap(persons_chunk, - person_type_map, - cdap_indiv_spec, - cdap_interaction_coefficients, - cdap_fixed_relative_proportions, - locals_d, - trace_hh_id, chunk_trace_label) + if add_joint_tour_utility: + cdap_results, hh_choice_results = \ + _run_cdap(persons_chunk, + person_type_map, + cdap_indiv_spec, + cdap_interaction_coefficients, + cdap_fixed_relative_proportions, + locals_d, + trace_hh_id, chunk_trace_label, add_joint_tour_utility) + else: + cdap_results = \ + _run_cdap(persons_chunk, + person_type_map, + cdap_indiv_spec, + cdap_interaction_coefficients, + cdap_fixed_relative_proportions, + locals_d, + trace_hh_id, chunk_trace_label, add_joint_tour_utility) result_list.append(cdap_results) @@ -953,4 +1185,8 @@ def run_cdap( warn_if_empty=True) # return choices column as series - return cdap_results['cdap_activity'] + if add_joint_tour_utility: + return cdap_results['cdap_activity'], hh_choice_results + else: + # return choices column as series + return cdap_results['cdap_activity'] From ca182ac00dbf7b4a0b2d17ed2076c5be3305ca20 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Thu, 25 Aug 2022 16:58:56 -0400 Subject: [PATCH 02/57] add joint tour frequency composition component --- activitysim/abm/models/__init__.py | 1 + .../joint_tour_frequency_composition.py | 182 ++++++++++++++++++ 2 files changed, 183 insertions(+) create mode 100644 activitysim/abm/models/joint_tour_frequency_composition.py diff --git a/activitysim/abm/models/__init__.py b/activitysim/abm/models/__init__.py index 9e53fff809..d88ad77d72 100644 --- a/activitysim/abm/models/__init__.py +++ b/activitysim/abm/models/__init__.py @@ -16,6 +16,7 @@ from . import joint_tour_frequency from . import joint_tour_participation from . import joint_tour_scheduling +from . import joint_tour_frequency_composition from . import location_choice from . import mandatory_scheduling from . import mandatory_tour_frequency diff --git a/activitysim/abm/models/joint_tour_frequency_composition.py b/activitysim/abm/models/joint_tour_frequency_composition.py new file mode 100644 index 0000000000..1bd8c1ccbe --- /dev/null +++ b/activitysim/abm/models/joint_tour_frequency_composition.py @@ -0,0 +1,182 @@ +# ActivitySim +# See full license in LICENSE.txt. +import logging + +import numpy as np +import pandas as pd +import os +from activitysim.core.interaction_simulate import interaction_simulate + +from activitysim.core import simulate +from activitysim.core import tracing +from activitysim.core import pipeline +from activitysim.core import config +from activitysim.core import inject +from activitysim.core import expressions + +from .util import estimation + +from .util.overlap import hh_time_window_overlap +from .util.tour_frequency import process_joint_tours_frequency_composition + +logger = logging.getLogger(__name__) + + +@inject.step() +def joint_tour_frequency_composition( + households_merged, + persons, + chunk_size, + trace_hh_id): + """ + This model predicts the frequency and composition of fully joint tours. + """ + + trace_label = 'joint_tour_frequency_composition' + model_settings_file_name = 'joint_tour_frequency_composition.yaml' + + model_settings = config.read_model_settings(model_settings_file_name) + + alt_tdd = simulate.read_model_alts('joint_tour_frequency_composition_alternatives.csv', set_index='alt') + + # - only interested in households with more than one cdap travel_active person and + # - at least one non-preschooler + households_merged = households_merged.to_frame() + choosers = households_merged[households_merged.participates_in_jtf_model].copy() + + # - only interested in persons in choosers households + persons = persons.to_frame() + persons = persons[persons.household_id.isin(choosers.index)] + + logger.info("Running %s with %d households", trace_label, len(choosers)) + + # alt preprocessor + alt_preprocessor_settings = model_settings.get('ALTS_PREPROCESSOR', None) + if alt_preprocessor_settings: + + locals_dict = {} + + alt_tdd = alt_tdd.copy() + + expressions.assign_columns( + df=alt_tdd, + model_settings=alt_preprocessor_settings, + locals_dict=locals_dict, + trace_label=trace_label) + + # - preprocessor + preprocessor_settings = model_settings.get('preprocessor', None) + if preprocessor_settings: + + locals_dict = { + 'persons': persons, + 'hh_time_window_overlap': hh_time_window_overlap + } + + expressions.assign_columns( + df=choosers, + model_settings=preprocessor_settings, + locals_dict=locals_dict, + trace_label=trace_label) + + estimator = estimation.manager.begin_estimation('joint_tour_frequency_composition') + + model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + coefficients_df = simulate.read_model_coefficients(model_settings) + model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) + + constants = config.get_model_constants(model_settings) + + if estimator: + estimator.write_spec(model_settings) + estimator.write_model_settings(model_settings, model_settings_file_name) + estimator.write_coefficients(coefficients_df, model_settings) + estimator.write_choosers(choosers) + estimator.write_alternatives(alts) + + assert choosers.index.name == 'household_id' + assert 'household_id' not in choosers.columns + choosers['household_id'] = choosers.index + + estimator.set_chooser_id(choosers.index.name) + + # The choice value 'joint_tour_frequency_composition' assigned by interaction_simulate + # is the index value of the chosen alternative in the alternatives table. + choices = interaction_simulate( + choosers=choosers, + alternatives=alt_tdd, + spec=model_spec, + locals_d=constants, + chunk_size=chunk_size, + trace_label=trace_label, + trace_choice_name=trace_label, + estimator=estimator) + + if estimator: + estimator.write_choices(choices) + choices = estimator.get_survey_values(choices, 'households', 'joint_tour_frequency_composition') + estimator.write_override_choices(choices) + estimator.end_estimation() + + # add joint tour frequency composition column to household table + households_merged['joint_tour_frequency_composition'] = choices.reindex(households_merged.index).fillna(0) + + # - create joint_tours based on choices + + # - we need a person_id in order to generate the tour index (and for register_traceable_table) + # - but we don't know the tour participants yet + # - so we arbitrarily choose the first person in the household + # - to be point person for the purpose of generating an index and setting origin + temp_point_persons = persons.loc[persons.PNUM == 1] + temp_point_persons['person_id'] = temp_point_persons.index + temp_point_persons = temp_point_persons.set_index('household_id') + temp_point_persons = temp_point_persons[['person_id', 'home_zone_id']] + + # create a tours table of tour_category "joint" and different tour_types (e.g. shopping, eat) + # and add the composition column (adults or children or mixed) to the tour + + # Choices + # hhid choice + # 11111 1 + # 22222 2 + # 33333 3 + + # Alts + # alt purpose1 purpose2 party1 party2 eat shop + # 1 5 0 3 0 1 0 + # 2 5 6 1 3 1 1 + # 3 6 0 1 0 0 1 + + # Joint Tours + # hhid type category composition + # 11111 eat joint mixed + # 22222 eat joint adults + # 22222 shop joint mixed + # 33333 shop joint adults + + joint_tours = process_joint_tours_frequency_composition(choices, alt_tdd, temp_point_persons) + + tours = pipeline.extend_table("tours", joint_tours) + + tracing.register_traceable_table('tours', joint_tours) + pipeline.get_rn_generator().add_channel('tours', joint_tours) + + # we expect there to be an alt with no tours - which we can use to backfill non-travelers + no_tours_alt = 0 + households_merged['joint_tour_frequency_composition'] = choices.reindex(households_merged.index).fillna(no_tours_alt).astype(str) + + households_merged['num_hh_joint_tours'] = joint_tours.groupby('household_id').size().\ + reindex(households_merged.index).fillna(0).astype(np.int8) + + pipeline.replace_table("households", households_merged) + + tracing.print_summary('joint_tour_frequency_composition', households_merged.joint_tour_frequency_composition, value_counts=True) + + if trace_hh_id: + tracing.trace_df(households_merged, + label="joint_tour_frequency_composition.households") + + tracing.trace_df(joint_tours, + label="joint_tour_frequency_composition.joint_tours", + slicer='household_id') + From e91bfe4d723a4c21d8832cfc4f3db97b7eda4735 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Thu, 25 Aug 2022 17:00:13 -0400 Subject: [PATCH 03/57] post process jtfc result to tours --- activitysim/abm/models/util/canonical_ids.py | 2 +- activitysim/abm/models/util/tour_frequency.py | 237 ++++++++++++++++++ 2 files changed, 238 insertions(+), 1 deletion(-) diff --git a/activitysim/abm/models/util/canonical_ids.py b/activitysim/abm/models/util/canonical_ids.py index 915688044e..c5fbd9ac57 100644 --- a/activitysim/abm/models/util/canonical_ids.py +++ b/activitysim/abm/models/util/canonical_ids.py @@ -63,7 +63,7 @@ def canonical_tours(): non_mandatory_channels = enumerate_tour_types(non_mandatory_tour_flavors) # - mandatory_channels - mandatory_tour_flavors = {'work': 2, 'school': 2} + mandatory_tour_flavors = {'work': 2, 'school': 2, 'university': 2} mandatory_channels = enumerate_tour_types(mandatory_tour_flavors) # - atwork_subtour_channels diff --git a/activitysim/abm/models/util/tour_frequency.py b/activitysim/abm/models/util/tour_frequency.py index fe4ed03647..635b4b8b17 100644 --- a/activitysim/abm/models/util/tour_frequency.py +++ b/activitysim/abm/models/util/tour_frequency.py @@ -435,3 +435,240 @@ def process_joint_tours(joint_tour_frequency, joint_tour_frequency_alts, point_p 17978574 joint 4 5143198 """ return tours + +def process_joint_tours_frequency_composition(joint_tour_frequency_composition, joint_tour_frequency_composition_alts, point_persons): + """ + This method processes the joint_tour_frequency_composition column that comes out of + the model of the same name and turns into a DataFrame that represents the + joint tours that were generated + + Parameters + ---------- + joint_tour_frequency_composition : pandas.Series + household joint_tour_frequency_composition (which came out of the joint tour frequency composition model) + indexed by household_id + joint_tour_frequency_composition_alts: DataFrame + A DataFrame which has as a unique index with joint_tour_frequency_composition values + and frequency counts for the tours to be generated for that choice + point_persons : pandas DataFrame + table with columns for (at least) person_ids and home_zone_id indexed by household_id + + Returns + ------- + tours : DataFrame + An example of a tours DataFrame is supplied as a comment in the + source code - it has an index which is a tour identifier, a household_id + column, a tour_type column, composition column and tour_type_num and tour_num columns + which is set to 1 or 2 depending whether it is the first or second joint tour + made by the household. + """ + + assert not joint_tour_frequency_composition.isnull().any() + + tours = process_tours_frequency_composition(joint_tour_frequency_composition.dropna(), + joint_tour_frequency_composition_alts, + tour_category='joint', + parent_col='household_id') + + assert not tours.index.duplicated().any() + assert point_persons.index.name == 'household_id' + + # - assign a temp point person to tour so we can create stable index + tours['person_id'] = reindex(point_persons.person_id, tours.household_id) + tours['origin'] = reindex(point_persons.home_zone_id, tours.household_id) + + # assign stable (predictable) tour_id + set_tour_index(tours, is_joint=True) + + """ + household_id tour_type tour_type_count tour_type_num tour_num tour_count + tour_id + 3209530 320953 disc 1 1 1 2 + 3209531 320953 disc 2 2 2 2 + 23267026 2326702 shop 1 1 1 1 + 17978574 1797857 main 1 1 1 1 + + tour_category tour_category_id person_id + 3209530 joint 4 577234 + 3209531 joint 4 577234 + 23267026 joint 4 1742708 + 17978574 joint 4 5143198 + """ + return tours + +def process_tours_frequency_composition(joint_tour_frequency_composition, joint_tour_frequency_composition_alts, tour_category, parent_col='person_id'): + """ + This method processes the joint_tour_frequency_composition column that comes + out of the model of the same name and turns into a DataFrame that + represents the tours that were generated + + Parameters + ---------- + joint_tour_frequency_composition: Series + A series which has as the index and the chosen alternative + index as the value + joint_tour_frequency_composition_alts: DataFrame + A DataFrame which has as a unique index which relates to the values + in the series above typically includes columns which are named for trip + purposes with values which are counts for that trip purpose, and tour composition. Example + trip purposes include escort, shopping, othmaint, othdiscr, eatout, + social, etc. Tour composition includes adults, children, and mixed. + A row would be an alternative which might be to take + one shopping trip in a adult-only tour and zero trips of other purposes, etc. + tour_category : str + one of 'mandatory', 'non_mandatory', 'atwork', or 'joint' + parent_col: str + the name of the index (parent_tour_id for atwork subtours, otherwise person_id) + + Returns + ------- + tours : pandas.DataFrame + An example of a tours DataFrame is supplied as a comment in the + source code - it has an index which is a unique tour identifier, + a person_id column, and a tour type column which comes from the + column names of the alternatives DataFrame supplied above. + + tours.tour_type - tour type (e.g. school, work, shopping, eat) + tours.composition - tour composition (e.g. adults, children, mixed) + tours.tour_type_num - if there are two 'school' type tours, they will be numbered 1 and 2 + tours.tour_type_count - number of tours of tour_type parent has (parent's max tour_type_num) + tours.tour_num - index of tour (of any type) for parent + tours.tour_count - number of tours of any type) for parent (parent's max tour_num) + tours.tour_category - one of 'mandatory', 'non_mandatory', 'atwork', or 'joint' + """ + + # get the actual alternatives for each person - have to go back to the + # non_mandatory_tour_frequency_alts dataframe to get this - the choice + # above just stored the index values for the chosen alts + tour_counts = joint_tour_frequency_composition_alts.loc[joint_tour_frequency_composition] + + # assign person ids to the index + tour_counts.index = joint_tour_frequency_composition.index + + """ + alt1 alt2 alt3 + + 2588676 2 0 0 + 2588677 1 1 0 + """ + + tours = create_joint_tours(tour_counts, tour_category, parent_col) + + return tours + +def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): + """ + This method processes the tour_frequency column that comes + out of the model of the same name and turns into a DataFrame that + represents the tours that were generated + + Parameters + ---------- + tour_counts: DataFrame + table specifying how many tours of each type to create + one row per person (or parent_tour for atwork subtours) + one (int) column per tour_type, with number of tours to create + tour_category : str + one of 'mandatory', 'non_mandatory', 'atwork', or 'joint' + + Returns + ------- + tours : pandas.DataFrame + An example of a tours DataFrame is supplied as a comment in the + source code - it has an index which is a unique tour identifier, + a person_id column, and a tour type column which comes from the + column names of the alternatives DataFrame supplied above. + + tours.tour_type - tour type (e.g. school, work, shopping, eat) + tours.composition - tour composition (e.g. adults, children, mixed) + tours.tour_type_num - if there are two 'school' type tours, they will be numbered 1 and 2 + tours.tour_type_count - number of tours of tour_type parent has (parent's max tour_type_num) + tours.tour_num - index of tour (of any type) for parent + tours.tour_count - number of tours of any type) for parent (parent's max tour_num) + tours.tour_category - one of 'mandatory', 'non_mandatory', 'atwork', or 'joint' + """ + + # FIXME - document requirement to ensure adjacent tour_type_nums in tour_num order + + """ + alt1 alt2 alt3 + + 2588676 2 0 0 + 2588677 1 1 0 + """ + tour_type_dict={5:'shopping',6:'othmaint',7:'eatout',8:'social',9:'othdiscr'} + tour_comp_dict={1:'adults',2:'children',3:'mixed'} + + # reformat with the columns given below + tours_purp = tour_counts[['purpose1','purpose2']].stack().reset_index() + tours_purp.columns = [parent_col, "tour_id_temp", "tour_type"] + tours_purp['tour_id_temp'] = range(1, 1+len(tours_purp)) + tours_purp['tour_type'] = tours_purp['tour_type'].map(tour_type_dict) + + """ + tour_id_temp tour_type + 0 2588676 purpose1 5 + 1 2588676 purpose2 0 + 2 2588677 purpose1 5 + 3 2588677 purpose2 5 + 4 2588678 purpose1 6 + 5 2588678 purpose2 7 + + parent_col is the index from non_mandatory_tour_frequency + tour_type is the column name from non_mandatory_tour_frequency_alts + tour_type_count is the count value of the tour's chosen alt's tour_type from alts table + """ + tours_comp = tour_counts[['party1','party2']].stack().reset_index() + tours_comp.columns = [parent_col, "tour_id_temp", "composition"] + tours_comp['tour_id_temp'] = range(1, 1+len(tours_comp)) + tours_comp['composition'] = tours_comp['composition'].map(tour_comp_dict) + + """ + tour_id_temp tour_composition + 0 2588676 party1 1 + 1 2588676 party2 0 + 2 2588677 party1 1 + 3 2588677 party2 1 + 4 2588678 party1 1 + 5 2588678 party2 2 + + parent_col is the index from non_mandatory_tour_frequency + tour_type is the column name from non_mandatory_tour_frequency_alts + tour_type_count is the count value of the tour's chosen alt's tour_type from alts table + """ + tours = pd.merge( + tours_purp, + tours_comp, + how = 'left', + on = [parent_col,'tour_id_temp'] + ) + + tours = tours[(tours.tour_type.notnull()) & (tours.tour_type.notnull())] + + grouped = tours.groupby([parent_col, 'tour_type']) + tours['tour_type_num'] = grouped.cumcount() + 1 + tours['tour_type_count'] = tours['tour_type_num'] + grouped.cumcount(ascending=False) + + grouped = tours.groupby(parent_col) + tours['tour_num'] = grouped.cumcount() + 1 + tours['tour_count'] = tours['tour_num'] + grouped.cumcount(ascending=False) + + """ + tour_type tour_type_num tour_type_count tour_num tour_count + 0 2588676 alt1 1 2 1 4 + 0 2588676 alt1 2 2 2 4 + 0 2588676 alt2 1 1 3 4 + 0 2588676 alt3 1 1 4 4 + """ + + # set these here to ensure consistency across different tour categories + assert tour_category in ['mandatory', 'non_mandatory', 'atwork', 'joint'] + tours['tour_category'] = tour_category + + # for joint tours, the correct number will be filled in after participation step + tours['number_of_participants'] = 1 + + # index is arbitrary but don't want any duplicates in index + tours.reset_index(drop=True, inplace=True) + + return tours \ No newline at end of file From 219ec6fbea4ffc2197347af14f4bb8bda09d19e4 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Thu, 25 Aug 2022 17:00:53 -0400 Subject: [PATCH 04/57] update joint tour participation --- activitysim/abm/models/joint_tour_participation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/activitysim/abm/models/joint_tour_participation.py b/activitysim/abm/models/joint_tour_participation.py index c69b5093c5..3dbfae430f 100644 --- a/activitysim/abm/models/joint_tour_participation.py +++ b/activitysim/abm/models/joint_tour_participation.py @@ -61,6 +61,7 @@ def joint_tour_participation_candidates(joint_tours, persons_merged): assert candidates.PNUM.max() < MAX_PARTICIPANT_PNUM, \ f"max persons.PNUM ({candidates.PNUM.max()}) > MAX_PARTICIPANT_PNUM ({MAX_PARTICIPANT_PNUM})" candidates['participant_id'] = (candidates[joint_tours.index.name] * MAX_PARTICIPANT_PNUM) + candidates.PNUM + candidates['participant_id'] = candidates['participant_id'].astype(int) candidates.set_index('participant_id', drop=True, inplace=True, verify_integrity=True) return candidates From 5715ffe25a82444319a707903d490277771bf6c7 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Thu, 25 Aug 2022 17:04:26 -0400 Subject: [PATCH 05/57] update #inmtf to tm2 specs --- activitysim/abm/models/util/canonical_ids.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/activitysim/abm/models/util/canonical_ids.py b/activitysim/abm/models/util/canonical_ids.py index 915688044e..be44f98ca0 100644 --- a/activitysim/abm/models/util/canonical_ids.py +++ b/activitysim/abm/models/util/canonical_ids.py @@ -55,9 +55,9 @@ def canonical_tours(): # - non_mandatory_channels MAX_EXTENSION = 2 non_mandatory_tour_flavors = {'escort': 2 + MAX_EXTENSION, - 'shopping': 1 + MAX_EXTENSION, - 'othmaint': 1 + MAX_EXTENSION, - 'othdiscr': 1 + MAX_EXTENSION, + 'shopping': 2 + MAX_EXTENSION, + 'othmaint': 2 + MAX_EXTENSION, + 'othdiscr': 2 + MAX_EXTENSION, 'eatout': 1 + MAX_EXTENSION, 'social': 1 + MAX_EXTENSION} non_mandatory_channels = enumerate_tour_types(non_mandatory_tour_flavors) From 4654131a4eb15aa813264ed61cdc739baf9b82b6 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Thu, 25 Aug 2022 17:05:06 -0400 Subject: [PATCH 06/57] allow alternative id > 127 --- activitysim/abm/models/non_mandatory_tour_frequency.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/activitysim/abm/models/non_mandatory_tour_frequency.py b/activitysim/abm/models/non_mandatory_tour_frequency.py index 814bec97e6..9633c1c01b 100644 --- a/activitysim/abm/models/non_mandatory_tour_frequency.py +++ b/activitysim/abm/models/non_mandatory_tour_frequency.py @@ -253,7 +253,7 @@ def non_mandatory_tour_frequency(persons, persons_merged, no_tours_alt = (alternatives.sum(axis=1) == 0).index[0] # need to reindex as we only handled persons with cdap_activity in ['M', 'N'] persons['non_mandatory_tour_frequency'] = \ - choices.reindex(persons.index).fillna(no_tours_alt).astype(np.int8) + choices.reindex(persons.index).fillna(no_tours_alt).astype(np.int16) """ We have now generated non-mandatory tour frequencies, but they are attributes of the person table From e7edfe23943e5ed4bd333e136fd063fd97577fea Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Fri, 26 Aug 2022 10:22:00 -0400 Subject: [PATCH 07/57] set up testing infrastructure --- test/auto_ownership/.gitkeep | 0 test/cdap/.gitkeep | 0 test/conftest.py | 99 ++++++++++++++++++++++ test/joint_tour_frequency/.gitkeep | 0 test/non_mandatory_tour_frequency/.gitkeep | 0 test/parking_location/.gitkeep | 0 6 files changed, 99 insertions(+) create mode 100644 test/auto_ownership/.gitkeep create mode 100644 test/cdap/.gitkeep create mode 100644 test/conftest.py create mode 100644 test/joint_tour_frequency/.gitkeep create mode 100644 test/non_mandatory_tour_frequency/.gitkeep create mode 100644 test/parking_location/.gitkeep diff --git a/test/auto_ownership/.gitkeep b/test/auto_ownership/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/cdap/.gitkeep b/test/cdap/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/conftest.py b/test/conftest.py new file mode 100644 index 0000000000..d69a6a83c4 --- /dev/null +++ b/test/conftest.py @@ -0,0 +1,99 @@ +import os + +import orca +import pandas as pd +import pytest +from activitysim.core import pipeline +from activitysim.core.los import Network_LOS as los + + +@pytest.fixture(scope='module') +def initialize_pipeline(module: str, tables: dict[str, str], initialize_network_los: bool) -> pipeline.Pipeline: + test_dir = os.path.join('test', module) + configs_dir = os.path.join(test_dir, 'configs') + data_dir = os.path.join(test_dir, 'data') + output_dir = os.path.join(test_dir, 'output') + + if os.path.isdir(configs_dir): + orca.add_injectable('configs_dir', configs_dir) + + if os.path.isdir(data_dir): + orca.add_injectable('data_dir', data_dir) + + if os.path.isdir(test_dir): + if not os.path.isdir(output_dir): + os.mkdir(output_dir) + orca.add_injectable('output_dir', output_dir) + + # Read in the input test dataframes + for dataframe_name, idx_name in tables.items(): + df = pd.read_csv( + os.path.join('test', module, 'data', f'{dataframe_name}.csv'), index_col=idx_name + ) + orca.add_table(dataframe_name, df) + + if initialize_network_los: + net_los = los() + net_los.load_data() + orca.add_injectable('network_los', net_los) + + # Add an output directory in current working directory if it's not already there + try: + os.makedirs('output') + except FileExistsError: + # directory already exists + pass + + # Add the dataframes to the pipeline + pipeline.open_pipeline() + pipeline.add_checkpoint(module) + pipeline.close_pipeline() + + # By convention, this method needs to yield something + yield pipeline._PIPELINE + + if pipeline.is_open(): + pipeline.close_pipeline() + +@pytest.fixture(scope='module') +def reconnect_pipeline(module: str, initialize_network_los: bool, load_checkpoint: str) -> pipeline.Pipeline: + test_dir = os.path.join('test', module) + configs_dir = os.path.join(test_dir, 'configs') + data_dir = os.path.join(test_dir, 'data') + output_dir = os.path.join(test_dir, 'output') + + if os.path.isdir(configs_dir): + orca.add_injectable('configs_dir', configs_dir) + + if os.path.isdir(data_dir): + orca.add_injectable('data_dir', data_dir) + + if os.path.isdir(test_dir): + if not os.path.isdir(output_dir): + os.mkdir(output_dir) + orca.add_injectable('output_dir', output_dir) + + # Read in the existing pipeline + orca.add_injectable('pipeline_file_path', output_dir) + + if initialize_network_los: + net_los = los() + net_los.load_data() + orca.add_injectable('network_los', net_los) + + # Add an output directory in current working directory if it's not already there + try: + os.makedirs('output') + except FileExistsError: + # directory already exists + pass + + pipeline.open_pipeline(resume_after=load_checkpoint) + pipeline.add_checkpoint(module) + pipeline.close_pipeline() + # By convention, this method needs to yield something + yield pipeline._PIPELINE + + # pytest teardown code + if pipeline.is_open(): + pipeline.close_pipeline() diff --git a/test/joint_tour_frequency/.gitkeep b/test/joint_tour_frequency/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/non_mandatory_tour_frequency/.gitkeep b/test/non_mandatory_tour_frequency/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/parking_location/.gitkeep b/test/parking_location/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 From 6aba26368a6eccf76a77a714cce1f9a6c539e0d5 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Fri, 26 Aug 2022 10:39:03 -0400 Subject: [PATCH 08/57] cdap test script --- test/cdap/test_cdap.py | 401 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 401 insertions(+) create mode 100644 test/cdap/test_cdap.py diff --git a/test/cdap/test_cdap.py b/test/cdap/test_cdap.py new file mode 100644 index 0000000000..cd0f7b7e57 --- /dev/null +++ b/test/cdap/test_cdap.py @@ -0,0 +1,401 @@ +import logging +import pytest +import os +import shutil +import pandas as pd +import numpy as np +from numpy import dot +from numpy.linalg import norm + +# import models is necessary to initalize the model steps with orca +from activitysim.abm import models +from activitysim.core import pipeline, config +from activitysim.core import tracing + +logger = logging.getLogger(__name__) + +# Used by conftest.py initialize_pipeline method +@pytest.fixture(scope='module') +def module() -> str: + """ + A pytest fixture that returns the data folder location. + :return: folder location for any necessary data to initialize the tests + """ + return 'cdap' + + +# Used by conftest.py initialize_pipeline method +@pytest.fixture(scope='module') +def tables(prepare_module_inputs) -> dict[str, str]: + """ + A pytest fixture that returns the "mock" tables to build pipeline dataframes. The + key-value pair is the name of the table and the index column. + :return: dict + """ + return { + 'land_use': 'MAZ_ORIGINAL', + 'persons': 'person_id', + 'households': 'household_id', + 'accessibility': 'MAZ_ORIGINAL' + } + +# Used by conftest.py initialize_pipeline method +# Set to true if you need to read skims into the pipeline +@pytest.fixture(scope='module') +def initialize_network_los() -> bool: + """ + A pytest boolean fixture indicating whether network skims should be read from the + fixtures test data folder. + :return: bool + """ + return False + +@pytest.fixture(scope='module') +def load_checkpoint() -> bool: + """ + checkpoint to be loaded from the pipeline when reconnecting. + """ + return 'initialize_households' + +# make a reconnect_pipeline internal to cdap +@pytest.mark.skipif(os.path.isfile('test/cdap/output/pipeline.h5'), reason = "no need to recreate pipeline store if alreayd exist") +def test_prepare_input_pipeline(initialize_pipeline: pipeline.Pipeline, caplog): + # Run summarize model + caplog.set_level(logging.INFO) + + # run model step + pipeline.run(models=[ + 'initialize_landuse', + 'initialize_households' + ] + ) + + pipeline.close_pipeline() + +def test_cdap_from_pipeline(reconnect_pipeline: pipeline.Pipeline, caplog): + # Run summarize model + caplog.set_level(logging.INFO) + + # run model step + pipeline.run(models=[ + 'cdap_simulate' + ], + resume_after = 'initialize_households' + ) + + # get the updated pipeline data + person_df = pipeline.get_table('persons') + + # get the updated pipeline data + household_df = pipeline.get_table('households') + + ############################ + # person cdap pattern validation + ############################ + # cdap person result from the model + logger.info('person cdap pattern validation') + + target_key = "activity_pattern" + simulated_key = "cdap_activity" + similarity_threshold = 0.99 + + simulated_df = create_summary(person_df, key=simulated_key, out_col="Simulated_Share") + + # cdap person result from the TM2 run + target_df = create_summary(person_df, key=target_key, out_col="Target_Share") + + # compare simulated and target results + similarity_value = compare_simulated_against_target(target_df, simulated_df, target_key, simulated_key) + + # if the cosine_similarity >= threshold then the simulated and target results are "similar" + assert similarity_value >= similarity_threshold + + ############################ + # household joint pattern validation + ############################ + # cdap household result from the model + logger.info('household joint vs non-joint tour validation') + + target_key = "has_joint_tour_tm2" + simulated_key = "has_joint_tour" + similarity_threshold = 0.99 + + simulated_df = create_summary(household_df, key=simulated_key, out_col="Simulated_Share") + + # cdap household result from the TM2 run + household_df['has_joint_tour_tm2'] = np.where( + household_df['cdap_pattern'].str.endswith('j'), + 1, + 0 + ) + target_df = create_summary(household_df, key=target_key, out_col="Target_Share") + + # compare simulated and target results + similarity_value = compare_simulated_against_target(target_df, simulated_df, target_key, simulated_key) + + # if the cosine_similarity >= threshold then the simulated and target results are "similar" + assert similarity_value >= similarity_threshold + + ############################ + # one person household cdap pattern validation + ############################ + # cdap household result from the model + logger.info('one-person household cdap pattern validation') + + target_key = "cdap_pattern" + simulated_key = "cdap_activity" + similarity_threshold = 0.99 + + household_df['cdap_pattern'] = household_df['cdap_pattern'].apply( + lambda x: x[:-1].upper() if x.endswith('0') else x.upper() + ) + household_df['cdap_activity'] = household_df.apply( + lambda x: x['cdap_activity']+'J' if x['has_joint_tour'] == 1 else x['cdap_activity'], + axis = 1 + ) + + hh1_df = household_df[household_df.hhsize == 1].copy() + + simulated_df = create_summary(hh1_df, key=simulated_key, out_col="Simulated_Share") + target_df = create_summary(hh1_df, key=target_key, out_col="Target_Share") + + # compare simulated and target results + similarity_value = compare_simulated_against_target(target_df, simulated_df, target_key, simulated_key) + + # if the cosine_similarity >= threshold then the simulated and target results are "similar" + assert similarity_value >= similarity_threshold + + ############################ + # two person household cdap pattern validation + ############################ + # cdap household result from the model + logger.info('two-person household cdap pattern validation') + + target_key = "cdap_pattern" + simulated_key = "cdap_activity" + similarity_threshold = 0.99 + + hh2_df = household_df[household_df.hhsize == 2].copy() + + simulated_df = create_summary(hh2_df, key=simulated_key, out_col="Simulated_Share") + target_df = create_summary(hh2_df, key=target_key, out_col="Target_Share") + + # compare simulated and target results + similarity_value = compare_simulated_against_target(target_df, simulated_df, target_key, simulated_key) + + # if the cosine_similarity >= threshold then the simulated and target results are "similar" + assert similarity_value >= similarity_threshold + + ############################ + # three person household cdap pattern validation + ############################ + # cdap household result from the model + logger.info('three-person household cdap pattern validation') + + target_key = "cdap_pattern" + simulated_key = "cdap_activity" + similarity_threshold = 0.99 + + hh3_df = household_df[household_df.hhsize == 3].copy() + + simulated_df = create_summary(hh3_df, key=simulated_key, out_col="Simulated_Share") + target_df = create_summary(hh3_df, key=target_key, out_col="Target_Share") + + # compare simulated and target results + similarity_value = compare_simulated_against_target(target_df, simulated_df, target_key, simulated_key) + + # if the cosine_similarity >= threshold then the simulated and target results are "similar" + assert similarity_value >= similarity_threshold + +# fetch/prepare existing files for model inputs +# e.g. read accessibilities.csv from ctramp result, rename columns, write out to accessibility.csv which is the input to activitysim +@pytest.fixture(scope='module') +def prepare_module_inputs() -> None: + """ + copy input files from sharepoint into test folder + + create unique person id in person file + + :return: None + """ + # https://wsponlinenam.sharepoint.com/sites/US-TM2ConversionProject/Shared%20Documents/Forms/ + # AllItems.aspx?id=%2Fsites%2FUS%2DTM2ConversionProject%2FShared%20Documents%2FTask%203%20ActivitySim&viewid=7a1eaca7%2D3999%2D4d45%2D9701%2D9943cc3d6ab1 + accessibility_file = os.path.join('test', 'cdap', 'data', 'tm2_outputs', 'accessibilities.csv') + household_file = os.path.join('test', 'cdap', 'data', 'popsyn', 'households.csv') + person_file = os.path.join('test', 'cdap', 'data', 'popsyn', 'persons.csv') + landuse_file = os.path.join('test', 'cdap', 'data', 'landuse', 'maz_data_withDensity.csv') + + test_dir = os.path.join('test', 'cdap', 'data') + + shutil.copy(accessibility_file, os.path.join(test_dir, 'accessibility.csv')) + shutil.copy(household_file, os.path.join(test_dir, 'households.csv')) + shutil.copy(person_file, os.path.join(test_dir, 'persons.csv')) + shutil.copy(landuse_file, os.path.join(test_dir, 'land_use.csv')) + + # add original maz id to accessibility table + land_use_df = pd.read_csv( + os.path.join(test_dir, 'land_use.csv') + ) + accessibility_df = pd.read_csv( + os.path.join(test_dir, 'accessibility.csv') + ) + + accessibility_df = pd.merge( + accessibility_df, + land_use_df[['MAZ', 'MAZ_ORIGINAL']].rename( + columns = {'MAZ' : 'mgra'} + ), + how = 'left', + on = 'mgra' + ) + + accessibility_df.to_csv( + os.path.join(test_dir, 'accessibility.csv'), + index = False + ) + + # currently household file has to have these two columns, even before annotation + # because annotate person happens before household and uses these two columns + # TODO find a way to get around this + #### + household_df = pd.read_csv( + os.path.join(test_dir, 'households.csv') + ) + + household_columns_dict = { + 'HHID' : 'household_id', + 'MAZ' : 'home_zone_id' + } + + household_df.rename(columns = household_columns_dict, inplace = True) + + tm2_simulated_household_df = pd.read_csv( + os.path.join(test_dir, 'tm2_outputs', 'householdData_3.csv') + ) + tm2_simulated_household_df.rename(columns = {'hh_id' : 'household_id'}, inplace = True) + + household_df = pd.merge( + household_df, + tm2_simulated_household_df[ + ['household_id', 'autos', 'automated_vehicles', 'transponder', 'cdap_pattern', 'jtf_choice'] + ], + how = 'inner', # tm2 is not 100% sample run + on = 'household_id' + ) + + household_df.to_csv( + os.path.join(test_dir, 'households.csv'), + index = False + ) + + person_df = pd.read_csv( + os.path.join(test_dir, 'persons.csv') + ) + + person_columns_dict = { + 'HHID' : 'household_id', + 'PERID' : 'person_id' + } + + person_df.rename(columns = person_columns_dict, inplace = True) + + tm2_simulated_person_df = pd.read_csv( + os.path.join(test_dir, 'tm2_outputs', 'personData_3.csv') + ) + tm2_simulated_person_df.rename(columns = {'hh_id' : 'household_id'}, inplace = True) + + person_df = pd.merge( + person_df, + tm2_simulated_person_df[ + [ + 'household_id', + 'person_id', + 'type', + 'value_of_time', + 'activity_pattern', + 'imf_choice', + 'inmf_choice', + 'fp_choice', + 'reimb_pct', + 'workDCLogsum', + 'schoolDCLogsum' + ] + ], + how = 'inner', # tm2 is not 100% sample run + on = ['household_id', 'person_id'] + ) + + # get tm2 simulated workplace and school location results + tm2_simulated_wsloc_df = pd.read_csv( + os.path.join(test_dir, 'tm2_outputs', 'wsLocResults_3.csv') + ) + tm2_simulated_wsloc_df.rename(columns = {'HHID' : 'household_id', 'PersonID' : 'person_id'}, inplace = True) + + person_df = pd.merge( + person_df, + tm2_simulated_wsloc_df[ + [ + 'household_id', + 'person_id', + 'WorkLocation', + 'WorkLocationLogsum', # this is the same as `workDCLogsum` in tm2 person output + 'SchoolLocation', + 'SchoolLocationLogsum' # this is the same as `schoolDCLogsum` in tm2 person output + ] + ], + how = 'inner', # ctramp might not be 100% sample run + on = ['household_id', 'person_id'] + ) + + person_df.to_csv( + os.path.join(test_dir, 'persons.csv'), + index = False + ) + #### + +def create_summary(input_df, key, out_col = "Share") -> pd.DataFrame: + """ + Create summary for the input data. + 1. group input data by the "key" column + 2. calculate the percent of input data records in each "key" category. + + :return: pd.DataFrame + """ + + out_df = input_df.groupby(key).size().reset_index(name='Count') + out_df[out_col] = round(out_df["Count"]/out_df["Count"].sum(), 4) + + return out_df[[key, out_col]] + + +def cosine_similarity(a, b): + """ + Computes cosine similarity between two vectors. + + Cosine similarity is used here as a metric to measure similarity between two sequence of numbers. + Two sequence of numbers are represented as vectors (in a multi-dimensional space) and cosine similiarity is defined as the cosine of the angle between them + i.e., dot products of the vectors divided by the product of their lengths. + + :return: + """ + + return dot(a, b)/(norm(a)*norm(b)) + + +def compare_simulated_against_target(target_df: pd.DataFrame, simulated_df: pd.DataFrame, target_key: str, simulated_key:str) -> bool: + """ + compares the simulated and target results by computing the cosine similarity between them. + + :return: + """ + + merged_df = pd.merge(target_df, simulated_df, left_on=target_key, right_on=simulated_key, how="outer") + merged_df = merged_df.fillna(0) + + logger.info("simulated vs target share:\n%s" % merged_df) + + similarity_value = cosine_similarity(merged_df["Target_Share"].tolist(), merged_df["Simulated_Share"].tolist()) + + logger.info("cosine similarity:\n%s" % similarity_value) + + return similarity_value \ No newline at end of file From 7d74e31b29241f661d8c9f1c2bab8506ed0784ef Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Fri, 26 Aug 2022 10:39:35 -0400 Subject: [PATCH 09/57] cdap configs --- test/cdap/configs/annotate_households.csv | 18 ++ .../cdap/configs/annotate_households_cdap.csv | 11 + test/cdap/configs/annotate_landuse.csv | 6 + test/cdap/configs/annotate_persons.csv | 54 ++++ .../configs/annotate_persons_after_hh.csv | 5 + test/cdap/configs/annotate_persons_cdap.csv | 6 + test/cdap/configs/cdap.yaml | 49 ++++ test/cdap/configs/cdap_coefficients.csv | 235 ++++++++++++++++++ .../cdap_fixed_relative_proportions.csv | 9 + test/cdap/configs/cdap_indiv_and_hhsize1.csv | 81 ++++++ .../configs/cdap_interaction_coefficients.csv | 177 +++++++++++++ .../configs/cdap_joint_tour_coefficients.csv | 22 ++ test/cdap/configs/constants.yaml | 68 +++++ test/cdap/configs/initialize_households.yaml | 37 +++ test/cdap/configs/initialize_landuse.yaml | 54 ++++ test/cdap/configs/network_los.yaml | 14 ++ test/cdap/configs/settings.yaml | 60 +++++ ...ur_departure_and_duration_alternatives.csv | 191 ++++++++++++++ test/cdap/data/.gitkeep | 0 19 files changed, 1097 insertions(+) create mode 100644 test/cdap/configs/annotate_households.csv create mode 100644 test/cdap/configs/annotate_households_cdap.csv create mode 100644 test/cdap/configs/annotate_landuse.csv create mode 100644 test/cdap/configs/annotate_persons.csv create mode 100644 test/cdap/configs/annotate_persons_after_hh.csv create mode 100644 test/cdap/configs/annotate_persons_cdap.csv create mode 100644 test/cdap/configs/cdap.yaml create mode 100644 test/cdap/configs/cdap_coefficients.csv create mode 100644 test/cdap/configs/cdap_fixed_relative_proportions.csv create mode 100644 test/cdap/configs/cdap_indiv_and_hhsize1.csv create mode 100644 test/cdap/configs/cdap_interaction_coefficients.csv create mode 100644 test/cdap/configs/cdap_joint_tour_coefficients.csv create mode 100644 test/cdap/configs/constants.yaml create mode 100644 test/cdap/configs/initialize_households.yaml create mode 100644 test/cdap/configs/initialize_landuse.yaml create mode 100644 test/cdap/configs/network_los.yaml create mode 100644 test/cdap/configs/settings.yaml create mode 100644 test/cdap/configs/tour_departure_and_duration_alternatives.csv create mode 100644 test/cdap/data/.gitkeep diff --git a/test/cdap/configs/annotate_households.csv b/test/cdap/configs/annotate_households.csv new file mode 100644 index 0000000000..bd6dc6feff --- /dev/null +++ b/test/cdap/configs/annotate_households.csv @@ -0,0 +1,18 @@ +Description,Target,Expression +#,, annotate households table after import +,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" +number of non_workers,num_non_workers,households.hhsize - households.num_workers +number of drivers,num_drivers,"_PERSON_COUNT('16 <= age', persons, households)" +num_adults,num_adults,"_PERSON_COUNT('adult', persons, households)" +num_children,num_children,"_PERSON_COUNT('~adult', persons, households)" +num_young_children,num_young_children,"_PERSON_COUNT('age <= 5', persons, households)" +num_children_6_to_15,num_children_6_to_15,"_PERSON_COUNT('6 <= age <= 15', persons, households)" +num_children_16_to_17,num_children_16_to_17,"_PERSON_COUNT('16 <= age <= 17', persons, households)" +num_college_age,num_college_age,"_PERSON_COUNT('18 <= age <= 24', persons, households)" +# get definition from travel model two +num_young_adults,num_young_adults,"_PERSON_COUNT('18 <= age <= 24', persons, households)" +num_young_retirees,num_young_retirees,"_PERSON_COUNT('65 <= age <= 79', persons, households)" +num_old_retirees,num_old_retirees,"_PERSON_COUNT('80 <= age', persons, households)" +num_persons_18_to_35,num_persons_18_to_35,"_PERSON_COUNT('18 <= age <= 35', persons, households)" +num_persons_65_plus,num_persons_65_plus,"_PERSON_COUNT('65 <= age', persons, households)" +num_highschool_graduates,num_highschool_graduates,"_PERSON_COUNT('9 <= education_attainment', persons, households)" \ No newline at end of file diff --git a/test/cdap/configs/annotate_households_cdap.csv b/test/cdap/configs/annotate_households_cdap.csv new file mode 100644 index 0000000000..cd66b1c429 --- /dev/null +++ b/test/cdap/configs/annotate_households_cdap.csv @@ -0,0 +1,11 @@ +Description,Target,Expression +#,, annotate households table after cdap model has run +num_under16_not_at_school,num_under16_not_at_school,persons.under16_not_at_school.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active,num_travel_active,persons.travel_active.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_adults,num_travel_active_adults,(persons.adult & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_preschoolers,num_travel_active_preschoolers,((persons.ptype == PTYPE_PRESCHOOL) & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_children,num_travel_active_children,num_travel_active - num_travel_active_adults +num_travel_active_non_preschoolers,num_travel_active_non_preschoolers,num_travel_active - num_travel_active_preschoolers +#participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) +participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) +cdap_activity,cdap_activity,"persons.cdap_activity.groupby(persons.household_id).apply(''.join).reindex(households.index).fillna('')" \ No newline at end of file diff --git a/test/cdap/configs/annotate_landuse.csv b/test/cdap/configs/annotate_landuse.csv new file mode 100644 index 0000000000..65237c0ada --- /dev/null +++ b/test/cdap/configs/annotate_landuse.csv @@ -0,0 +1,6 @@ +Description,Target,Expression +#,, annotate landuse table after import +household_density,household_density,land_use.TOTHH / land_use.TOTACRE +employment_density,employment_density,land_use.TOTEMP / land_use.TOTACRE +population_density,population_density,land_use.TOTPOP / land_use.TOTACRE +density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1) \ No newline at end of file diff --git a/test/cdap/configs/annotate_persons.csv b/test/cdap/configs/annotate_persons.csv new file mode 100644 index 0000000000..0aea678143 --- /dev/null +++ b/test/cdap/configs/annotate_persons.csv @@ -0,0 +1,54 @@ +Description,Target,Expression +#,, annotate persons table after import +age_16_to_19,age_16_to_19,"persons.age.between(16, 19)" +age_16_p,age_16_p,persons.age >= 16 +adult,adult,persons.age >= 18 +male,male,persons.sex == 1 +female,female,persons.sex == 2 +#,, annotate employment category +#employment category - under employment age,empcat, +#employment category - over employment age and not employed,empcat, +#employment category - over employment age and working at least 35 hours a week and 27+ weeks a year,empcat, +#employment category - over employment age and not working at least 35 hours a week and 27+ weeks a year,empcat, +#,,TODO add ptype annotation +,ptype,0 +,ptype,"np.where(persons.type == 'Full-time worker', 1, ptype)" +,ptype,"np.where(persons.type == 'Part-time worker', 2, ptype)" +,ptype,"np.where(persons.type == 'University student', 3, ptype)" +,ptype,"np.where(persons.type == 'Non-worker', 4, ptype)" +,ptype,"np.where(persons.type == 'Retired', 5, ptype)" +,ptype,"np.where(persons.type == 'Student of driving age', 6, ptype)" +,ptype,"np.where(persons.type == 'Student of non-driving age', 7, ptype)" +,ptype,"np.where(persons.type == 'Child too young for school', 8, ptype)" +#full time worker,ptype +#presence of non_worker other than self in household,has_non_worker,"other_than(persons.household_id, persons.ptype == PTYPE_NONWORK)" +#presence of retiree other than self in household,has_retiree,"other_than(persons.household_id, persons.ptype == PTYPE_RETIRED)" +#presence of preschooler other than self in household,has_preschool_kid,"other_than(persons.household_id, persons.ptype == PTYPE_PRESCHOOL)" +#presence of driving_kid other than self in household,has_driving_kid,"other_than(persons.household_id, persons.ptype == PTYPE_DRIVING)" +#presence of school_kid other than self in household,has_school_kid,"other_than(persons.household_id, persons.ptype == PTYPE_SCHOOL)" +#presence of full_time worker other than self in household (independent of person type),has_full_time,"other_than(persons.household_id, persons.pemploy==PEMPLOY_FULL)" +#presence of part_time worker other than self in household (independent of person type),has_part_time,"other_than(persons.household_id, persons.pemploy==PEMPLOY_PART)" +#presence of university student other than self in household,has_university,"other_than(persons.household_id, persons.ptype == PTYPE_UNIVERSITY)" +#student_is_employed,student_is_employed,"(persons.ptype.isin([PTYPE_UNIVERSITY, PTYPE_DRIVING]) & persons.pemploy.isin([PEMPLOY_FULL, PEMPLOY_PART]))" +#nonstudent_to_school,nonstudent_to_school,"(persons.ptype.isin([PTYPE_FULL, PTYPE_PART, PTYPE_NONWORK, PTYPE_RETIRED]) & persons.pstudent.isin([PSTUDENT_GRADE_OR_HIGH, PSTUDENT_UNIVERSITY]))" +#,, +#,, FIXME - if person is a university student but has school age student category value then reset student category value +#,pstudent,"persons.pstudent.where(persons.ptype!=PTYPE_UNIVERSITY, PSTUDENT_UNIVERSITY)" +#,, FIXME if person is a student of any kind but has full-time employment status then reset student category value to non-student +#,pstudent,"pstudent.where(persons.ptype!=PTYPE_FULL, PSTUDENT_NOT)" +#,, FIXME if student category is non-student and employment is student then reset student category value to student +#,pstudent,"pstudent.where((persons.ptype!=PTYPE_DRIVING) & (persons.ptype!=PTYPE_SCHOOL), PSTUDENT_GRADE_OR_HIGH)" +#,, +#is_student,is_student,"pstudent.isin([PSTUDENT_GRADE_OR_HIGH, PSTUDENT_UNIVERSITY])" +#preschool age can go to preschool,is_student,"is_student.where(persons.age > GRADE_SCHOOL_MIN_AGE, True)" +#preschool age can go to preschool,pstudent,"pstudent.where(persons.age > GRADE_SCHOOL_MIN_AGE, PSTUDENT_GRADE_OR_HIGH)" +#is_gradeschool,is_gradeschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age <= GRADE_SCHOOL_MAX_AGE) +#is_highschool,is_highschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age > GRADE_SCHOOL_MAX_AGE) +#is_university,is_university,pstudent == PSTUDENT_UNIVERSITY +#school_segment gradeschool,school_segment,"np.where(is_gradeschool, SCHOOL_SEGMENT_GRADE, SCHOOL_SEGMENT_NONE)" +#school_segment highschool,school_segment,"np.where(is_highschool, SCHOOL_SEGMENT_HIGH, school_segment)" +#school_segment university,school_segment,"np.where(is_university, SCHOOL_SEGMENT_UNIV, school_segment).astype(np.int8)" +#,, +#is_worker,is_worker,"persons.pemploy.isin([PEMPLOY_FULL, PEMPLOY_PART])" +#,, +home_zone_id,home_zone_id,"reindex(households.home_zone_id, persons.household_id)" diff --git a/test/cdap/configs/annotate_persons_after_hh.csv b/test/cdap/configs/annotate_persons_after_hh.csv new file mode 100644 index 0000000000..0dfa16be64 --- /dev/null +++ b/test/cdap/configs/annotate_persons_after_hh.csv @@ -0,0 +1,5 @@ +Description,Target,Expression +#,, annotate persons table after annotate_households +#,, adults get full hh_value_of_time and children get 60% +,_hh_vot,"reindex(households.hh_value_of_time, persons.household_id)" +,value_of_time,"_hh_vot.where(persons.age>=18, _hh_vot * 0.667)" \ No newline at end of file diff --git a/test/cdap/configs/annotate_persons_cdap.csv b/test/cdap/configs/annotate_persons_cdap.csv new file mode 100644 index 0000000000..2ad5e56a6b --- /dev/null +++ b/test/cdap/configs/annotate_persons_cdap.csv @@ -0,0 +1,6 @@ +Description,Target,Expression +#,, annotate persons table after cdap model has run +travel_active,travel_active,persons.cdap_activity != CDAP_ACTIVITY_HOME +under16_not_at_school,under16_not_at_school,"persons.ptype.isin([PTYPE_SCHOOL, PTYPE_PRESCHOOL]) & persons.cdap_activity.isin(['N', 'H'])" +has_preschool_kid_at_home,has_preschool_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_PRESCHOOL) & (persons.cdap_activity == 'H'))" +has_school_kid_at_home,has_school_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_SCHOOL) & (persons.cdap_activity == 'H'))" diff --git a/test/cdap/configs/cdap.yaml b/test/cdap/configs/cdap.yaml new file mode 100644 index 0000000000..5758444c29 --- /dev/null +++ b/test/cdap/configs/cdap.yaml @@ -0,0 +1,49 @@ + +INDIV_AND_HHSIZE1_SPEC: cdap_indiv_and_hhsize1.csv +COEFFICIENTS: cdap_coefficients.csv +INTERACTION_COEFFICIENTS: cdap_interaction_coefficients.csv + +FIXED_RELATIVE_PROPORTIONS_SPEC: cdap_fixed_relative_proportions.csv + +# set to True if want to introduce joint tour utility in cdap +# otherwise set to False or comment out, defaulted to False +ADD_JOINT_TOUR_UTILITY: True +JOINT_TOUR_COEFFICIENTS: cdap_joint_tour_coefficients.csv +JOINT_TOUR_USEFUL_COLUMNS: + - autos + - income + - num_workers + - nonmandatory_hov0_accessibility + - nonmandatory_hov1_accessibility + - nonmandatory_hov2_accessibility + - WorkLocationLogsum + +CONSTANTS: + FULL: 1 + PART: 2 + UNIVERSITY: 3 + NONWORK: 4 + RETIRED: 5 + DRIVING: 6 + SCHOOL: 7 + PRESCHOOL: 8 + +PERSON_TYPE_MAP: + WORKER: + - 1 + - 2 + CHILD: + - 6 + - 7 + - 8 + +annotate_persons: + SPEC: annotate_persons_cdap + DF: persons + + +annotate_households: + SPEC: annotate_households_cdap + DF: households + TABLES: + - persons diff --git a/test/cdap/configs/cdap_coefficients.csv b/test/cdap/configs/cdap_coefficients.csv new file mode 100644 index 0000000000..110ee2a444 --- /dev/null +++ b/test/cdap/configs/cdap_coefficients.csv @@ -0,0 +1,235 @@ +coefficient_name,value,constrain +coef_UNAVAILABLE,-999,T +coef_full_time_worker_asc_M,2.9114,F +coef_full_time_worker_asc_N,-0.7695,F +coef_part_time_worker_asc_M,2.9274,F +coef_part_time_worker_asc_N,1.3675,F +coef_university_student_asc_M,1.7642,F +coef_university_student_asc_N,-0.3138,F +coef_non_working_adult_asc_M,-3.1521,F +coef_non_working_adult_asc_N,0.513,F +coef_retired_asc_M,-2.7055,F +coef_retired_asc_N,0.9234,F +coef_driving_age_child_who_is_in_school_asc_M,3.2036,F +coef_driving_age_child_who_is_in_school_asc_N,-3.4315,F +coef_pre_driving_age_child_who_is_in_school_asc_M,7.0644,F +coef_pre_driving_age_child_who_is_in_school_asc_N,2.574,F +coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,1.1,F +coef_pre_driving_age_child_who_is_too_young_for_school_asc_N,0.6017,F +#,, +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,-1.5151,F +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_N,0.3702,F +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,3.2965,F +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_N,1.1392,F +coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,-0.8582,F +coef_full_time_worker_interaction_with_age_less_than_35_N,-0.145,F +coef_part_time_worker_interaction_with_age_less_than_35_M,-0.7095,F +coef_part_time_worker_interaction_with_age_less_than_35_N,-1.4213,F +#,, +coef_full_time_worker_interaction_with_female_gender_M,0.3032,F +coef_full_time_worker_interaction_with_female_gender_N,0.7718,F +coef_part_time_worker_interaction_with_female_gender_M,0.061,F +coef_part_time_worker_interaction_with_female_gender_N,0.4176,F +coef_university_student_interaction_with_female_gender_M,1.2429,F +coef_university_student_interaction_with_female_gender_N,2.2549,F +coef_non_working_adult_interaction_with_female_gender_N,0.1475,F +coef_retired_interaction_with_female_M,-0.7751,F +coef_retired_interaction_with_female_N,-0.3729,F +coef_driving_age_child_who_is_in_school_interaction_with_female_N,0.7991,F +#,, +coef_full_time_worker_interaction_with_more_cars_than_workers_N,-0.087,F +coef_non_working_adult_interaction_with_more_cars_than_workers_N,0.2122,F +coef_retired_interaction_with_more_cars_than_workers_N,0.8642,F +coef_driving_age_child_who_is_in_school_interaction_with_more_cars_than_workers_M,0.0988,F +coef_full_time_worker_interaction_with_zero_cars_M,-0.3377,F +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_zero_cars_M,-0.5917,F +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_zero_cars_N,-1.4389,F +coef_full_time_worker_interaction_with_fewer_cars_than_workers_M,-0.3377,F +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_M,-0.4778,F +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_N,-0.5259,F +#,, +coef_full_time_worker_interaction_with_income_less_than_30k_M,-0.7201,F +coef_full_time_worker_interaction_with_income_less_than_30k_H,-0.5331,F +coef_part_time_worker_interaction_with_income_less_than_30k_M,0.1285,F +coef_university_student_interaction_with_income_less_than_30k_M,0.4359,F +coef_university_student_interaction_with_income_between_60k_and_100k_H,0.6352,F +coef_university_student_interaction_with_income_more_than_100k_H,0.6352,F +coef_non_working_adult_interaction_with_income_more_than_100k_H,-0.2468,F +coef_retired_interaction_with_income_more_than_100k_M,-0.1418,F +coef_retired_interaction_with_income_more_than_100k_H,-0.2388,F +coef_pre_driving_age_child_who_is_in_school_interaction_with_income_less_than_30k_M,1.2007,F +coef_pre_driving_age_child_who_is_in_school_interaction_with_income_less_than_30k_H,1.9783,F +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_60k_and_100k_M,0.2952,F +coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_M,0.2952,F +#,, +coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M,0.1212,F +coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M,0.2004,F +coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M,0.2314,F +coef_retired_interaction_with_peak_accessibility_to_all_employment_M,0.2792,F +coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N,0.0721,F +coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N,0.0823,F +#,, +coef_university_student_interaction_with_school_location_mc_logsum_M,0.0243,F +coef_full_time_worker_interaction_with_usual_work_location_is_home_M,-2.4147,F +coef_part_time_worker_interaction_with_usual_work_location_is_home_M,-2.8801,F +coef_full_time_worker_interaction_with_no_usual_work_location_M,-0.3777,F +coef_part_time_worker_interaction_with_no_usual_work_location_M,-0.6869,F +coef_full_time_worker_asc_adjustment_M,-0.2301,F +coef_part_time_worker_asc_adjustment_M,-0.471,F +coef_university_student_asc_adjustment_M,-0.3361,F +coef_driving_age_child_who_is_in_school_asc_adjustment_M,0.1434,F +coef_pre_driving_age_child_who_is_in_school_asc_adjustment_M,0.4725,F +coef_pre_driving_age_child_who_is_too_young_for_school_asc_adjustment_M,0.5554,F +coef_part_time_worker_asc_adjustment_tm2_calib_M,-0.3499,F +coef_university_student_asc_adjustment_tm2_calib_M,-0.9471,F +coef_non_working_adult_asc_adjustment_tm2_calib_M,0,F +coef_retired_asc_adjustment_tm2_calib_M,0,F +coef_full_time_worker_interaction_with_retail_accessibility_N,0.0445,F +coef_non_working_adult_interaction_with_retail_accessibility_N,0.0069,F +coef_driving_age_child_who_is_in_school_interaction_with_retail_accessibility_N,0.157,F +coef_full_time_worker_interaction_with_usual_work_location_is_home_N,0.87616,F +coef_full_time_worker_asc_adjustment_N,-0.1846,F +coef_part_time_worker_asc_adjustment_N,-0.4229,F +coef_university_student_asc_adjustment_N,0.0325,F +coef_non_working_adult_asc_adjustment_N,0.077,F +coef_retired_asc_adjustment_N,-0.0012,F +coef_driving_age_child_who_is_in_school_asc_adjustment_N,-0.8075,F +coef_pre_driving_age_child_who_is_in_school_asc_adjustment_N,-0.1462,F +coef_pre_driving_age_child_who_is_too_young_for_school_asc_adjustment_N,0.134,F +coef_part_time_worker_asc_adjustment_tm2_calib_N,0.5217,F +coef_university_student_asc_adjustment_tm2_calib_N,-0.6678,F +coef_non_working_adult_asc_adjustment_tm2_calib_N,0.0466,F +coef_retired_asc_adjustment_tm2_calib_N,0.1313,F +coef_full_time_worker_interaction_with_detached_home_H,0.1538,F +coef_part_time_worker_interaction_with_detached_home_H,0.0862,F +coef_retired_interaction_with_detached_home_H,0.7415,F +coef_driving_age_child_who_is_in_school_interaction_with_detached_home_H,2.023,F +#,, +# 2-way interactions,, +coef_H_11,0.7511,F +coef_H_12,0,F +coef_H_13,0,F +coef_H_14,0,F +coef_H_15,0.6692,F +coef_H_16,1.3472,F +coef_H_17,0,F +coef_H_18,0.7797,F +coef_H_22,0.7897,F +coef_H_23,1.617,F +coef_H_24,1.1606,F +coef_H_25,0.7915,F +coef_H_26,0,F +coef_H_27,1.8203,F +coef_H_28,1.7547,F +coef_H_33,0,F +coef_H_34,0.637,F +coef_H_35,0.1955,F +coef_H_36,2.2375,F +coef_H_37,0,F +coef_H_38,1.7118,F +coef_H_44,1.2214,F +coef_H_45,0.8544,F +coef_H_46,1.116,F +coef_H_47,1.974,F +coef_H_48,2.1615,F +coef_H_55,1.0484,F +coef_H_56_57,0,F +coef_H_58,1.9117,F +coef_H_66,3.192,F +coef_H_67,0,F +coef_H_68,0,F +coef_H_77,5.6222,F +coef_H_78,2.8078,F +coef_H_88,3.2327,F +coef_M_11,0,F +coef_M_12,0,F +coef_M_13,0.0627,F +coef_M_16,0,F +coef_M_17,0.1434,F +coef_M_18,0.3851,F +coef_M_22,0,F +coef_M_23,0.5967,F +coef_M_26,0,F +coef_M_27,0.4024,F +coef_M_28,0.4453,F +coef_M_33,0.3881,F +coef_M_36,0,F +coef_M_37,0.2755,F +coef_M_38,0.4148,F +coef_M_66,0.6854,F +coef_M_67,0.3692,F +coef_M_68,0.5467,F +coef_M_77,0.7729,F +coef_M_78,0,F +coef_M_88,0,F +coef_N_11,0.15,F +coef_N_12,0,F +coef_N_13,0,F +coef_N_14,0,F +coef_N_15,0,F +coef_N_16,1.0053,F +coef_N_17,0.3041,F +coef_N_18,0,F +coef_N_22,0,F +coef_N_23,0,F +coef_N_24,0,F +coef_N_25,0,F +coef_N_26,0,F +coef_N_27,0.3248,F +coef_N_28,0.9231,F +coef_N_33,0,F +coef_N_34,0,F +coef_N_35,0.8526,F +coef_N_36,0.9678,F +coef_N_37,0,F +coef_N_38,0.9241,F +coef_N_44,0,F +coef_N_45,0,F +coef_N_46,0.7134,F +coef_N_47,0.8509,F +coef_N_48,1.1721,F +coef_N_55,0,F +coef_N_56_57_58,0,F +coef_N_66,0,F +coef_N_67,1.8265,F +coef_N_68,1.1744,F +coef_N_77,2.5719,F +coef_N_78,0.7036,F +coef_N_88,0.4338,F +# 3-way interactions,, +coef_H_114,1.5072,F +coef_H_117_118,0.8382,F +coef_H_127_128,0.4246,F +coef_H_147_148,0.1548,F +coef_H_177_178_187_188,-0.7547,F +coef_H_277_278_287_288,-2.2535,F +coef_H_447_448,-0.9024,F +coef_H_477_478_487_488,-1.3723,F +coef_H_777_778_788_888,-2.4703,F +coef_M_111,0.298,F +coef_M_112,0.2032,F +coef_M_122,-0.6279,F +coef_M_127_128,-0.0432,F +coef_M_177_178_187_188,-0.1301,F +coef_M_227_228,-0.1524,F +coef_M_277_278_287_288,-0.1259,F +coef_M_777_778_788_888,-0.0112,F +coef_N_117_118,-0.5454,F +coef_N_144,-0.9496,F +coef_N_127_128,-1.7459,F +coef_N_147_148,-0.1659,F +coef_N_177_178_187_188,0.4687,F +coef_N_222,1.8781,F +coef_N_277_278_287_288,-0.6913,F +coef_N_477_478_487_488,-0.4894,F +coef_N_777_778_788_888,-0.0582,F +# cdap_all_people,, +coef_M_xxx,-0.114,F +coef_N_xxx,-0.4673,F +coef_H_xxx,-0.1538,F +coef_M_xxxx,0.4569,F +coef_N_xxxx,-0.4669,F +coef_H_xxxx,-0.4645,F +coef_M_xxxxx,-0.2607,F +coef_N_xxxxx,-1.4859,F +coef_H_xxxxx,-9,F diff --git a/test/cdap/configs/cdap_fixed_relative_proportions.csv b/test/cdap/configs/cdap_fixed_relative_proportions.csv new file mode 100644 index 0000000000..788f398b64 --- /dev/null +++ b/test/cdap/configs/cdap_fixed_relative_proportions.csv @@ -0,0 +1,9 @@ +Description,Expression,M,N,H +Full-time worker,ptype == 1,0.79647,0.09368,0.10985 +Part-time worker,ptype == 2,0.61678,0.25757,0.12565 +University student,ptype == 3,0.69229,0.15641,0.1513 +Non-working adult,ptype == 4,0,0.67169,0.32831 +Retired,ptype == 5,0,0.54295,0.45705 +Driving-age child who is in school,ptype == 6,0.77609,0.06004,0.16387 +Pre-driving-age child who is in school,ptype == 7,0.68514,0.09144,0.22342 +Child who is too young for school,ptype == 8,0.14056,0.06512,0.79432 diff --git a/test/cdap/configs/cdap_indiv_and_hhsize1.csv b/test/cdap/configs/cdap_indiv_and_hhsize1.csv new file mode 100644 index 0000000000..a5cb0d660e --- /dev/null +++ b/test/cdap/configs/cdap_indiv_and_hhsize1.csv @@ -0,0 +1,81 @@ +Description,Expression,M,N,H +Full-time worker alternative-specific constants,ptype == 1,coef_full_time_worker_asc_M,coef_full_time_worker_asc_N, +Part-time worker alternative-specific constants,ptype == 2,coef_part_time_worker_asc_M,coef_part_time_worker_asc_N, +University student alternative-specific constants,ptype == 3,coef_university_student_asc_M,coef_university_student_asc_N, +Non-working adult alternative-specific constants,ptype == 4,coef_non_working_adult_asc_M,coef_non_working_adult_asc_N, +Retired alternative-specific constants,ptype == 5,coef_retired_asc_M,coef_retired_asc_N, +Driving-age child who is in school alternative-specific constants,ptype == 6,coef_driving_age_child_who_is_in_school_asc_M,coef_driving_age_child_who_is_in_school_asc_N, +Pre-driving-age child who is in school alternative-specific constants,ptype == 7,coef_pre_driving_age_child_who_is_in_school_asc_M,coef_pre_driving_age_child_who_is_in_school_asc_N, +Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,coef_pre_driving_age_child_who_is_too_young_for_school_asc_N, +#,,,, +Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_N, +Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_N, +Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,, +Full-time worker interaction with age less than 35,(ptype == 1) & (age < 35),,coef_full_time_worker_interaction_with_age_less_than_35_N, +Part-time worker interaction with age less than 35,(ptype == 2) & (age < 35),coef_part_time_worker_interaction_with_age_less_than_35_N,coef_part_time_worker_interaction_with_age_less_than_35_N, +Retired interaction with age more than 80,(ptype == 5) & (age > 80),,, +#,,,, +Full-time worker interaction with female gender,(ptype == 1) & (sex == 2),coef_full_time_worker_interaction_with_female_gender_M,coef_full_time_worker_interaction_with_female_gender_N, +Part-time worker interaction with female gender,(ptype == 2) & (sex == 2),coef_part_time_worker_interaction_with_female_gender_M,coef_part_time_worker_interaction_with_female_gender_N, +University student interaction with female gender,(ptype == 3) & (sex == 2),coef_university_student_interaction_with_female_gender_M,coef_university_student_interaction_with_female_gender_N, +Non-working adult interaction with female gender,(ptype == 4) & (sex == 2),,coef_non_working_adult_interaction_with_female_gender_N, +Retired interaction with female,(ptype == 5) & (sex == 2),coef_retired_interaction_with_female_M,coef_retired_interaction_with_female_N, +Driving-age child interaction with female,(ptype == 6) & (sex == 2),,coef_driving_age_child_who_is_in_school_interaction_with_female_N, +#,,,, +Full-time worker interaction with more cars than workers,(ptype == 1) & (autos > num_workers),,coef_full_time_worker_interaction_with_more_cars_than_workers_N, +Non-working adult interaction with more cars than workers,(ptype == 4) & (autos > num_workers),,coef_non_working_adult_interaction_with_more_cars_than_workers_N, +Retired interaction with more cars than workers,(ptype == 5) & (autos > num_workers),,coef_retired_interaction_with_more_cars_than_workers_N, +Driving-age child who is in school interaction with more cars than workers,(ptype == 6) & (autos > num_workers),coef_driving_age_child_who_is_in_school_interaction_with_more_cars_than_workers_M,, +Full-time worker interaction with zero cars,(ptype == 1) & (autos==0),coef_full_time_worker_interaction_with_zero_cars_M,, +Pre-driving-age child who is too young for school interaction with zero cars,(ptype == 8) & (autos==0),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_zero_cars_M,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_zero_cars_N, +Full-time worker interaction with fewer cars than workers,(ptype == 1) & (autos < num_workers),coef_full_time_worker_interaction_with_fewer_cars_than_workers_M,, +Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (autos < num_workers),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_M,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_N, +#,,,, +Full-time worker interaction with income less than $30k,(ptype == 1) & (income < 30000),coef_full_time_worker_interaction_with_income_less_than_30k_M,,coef_full_time_worker_interaction_with_income_less_than_30k_H +Part-time worker interaction with income less than $30k,(ptype == 2) & (income < 30000),coef_part_time_worker_interaction_with_income_less_than_30k_M,, +University student interaction with income less than $30k,(ptype == 3) & (income < 30000),coef_university_student_interaction_with_income_less_than_30k_M,, +University student interaction with income between $60k and $100k,(ptype == 3) & (income >= 60000) & (income <= 100000),,,coef_university_student_interaction_with_income_between_60k_and_100k_H +University student interaction with income more than $100k,(ptype == 3) & (income >= 100000),,,coef_university_student_interaction_with_income_more_than_100k_H +Non-working adult interaction with income more than $100k,(ptype == 4) & (income >= 100000),,,coef_non_working_adult_interaction_with_income_more_than_100k_H +Retired interaction with income between $60k and $100k,(ptype == 5) & (income >= 60000) & (income <= 100000),,, +Retired interaction with income more than $100k,(ptype == 5) & (income >= 100000),coef_retired_interaction_with_income_more_than_100k_M,,coef_retired_interaction_with_income_more_than_100k_H +Pre-driving-age child who is in school interaction with income less than $30k,(ptype == 7) & (income < 30000),coef_pre_driving_age_child_who_is_in_school_interaction_with_income_less_than_30k_M,,coef_pre_driving_age_child_who_is_in_school_interaction_with_income_less_than_30k_H +Pre-driving-age child who is too young for school interaction with income between $60k and $100k,(ptype == 8) & (income >= 60000) & (income <= 100000),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_60k_and_100k_M,, +Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income >= 100000),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_M,, +#,,,, +Uinversity Student interaction with peak accessibility to all employment,(ptype == 3) * SchoolLocationLogsum,coef_university_student_interaction_with_school_location_mc_logsum_M,, +Full-time Worker interaction with accessibility to retail,"@np.where((df.ptype == 1)*(df.autosdf.num_workers),df.nonmandatory_hov2_accessibility,0)",,coef_full_time_worker_interaction_with_retail_accessibility_N, +Non-working adult interaction with accessibility to retail,"@np.where((df.ptype == 4)*(df.autosdf.num_workers),df.nonmandatory_hov2_accessibility,0)",,coef_non_working_adult_interaction_with_retail_accessibility_N, +Driving-age child who is in school interaction with accessibility to retail,"@np.where((df.ptype == 6)*(df.autosdf.num_workers),df.nonmandatory_hov2_accessibility,0)",,coef_driving_age_child_who_is_in_school_interaction_with_retail_accessibility_N, +#,,,, +Full-time worker interaction with usual work location is home,(ptype==1)&(WorkLocation==99999),coef_full_time_worker_interaction_with_usual_work_location_is_home_M,coef_full_time_worker_interaction_with_usual_work_location_is_home_N, +Part-time worker interaction with usual work location is home,(ptype==2)&(WorkLocation==99999),coef_part_time_worker_interaction_with_usual_work_location_is_home_M,, +Full-time worker interaction with no usual work location,(ptype==1)&((WorkLocation==99999)|(WorkLocation<=0)),coef_full_time_worker_interaction_with_no_usual_work_location_M,, +Part-time worker interaction with no usual work location,(ptype==2)&((WorkLocation==99999)|(WorkLocation<=0)),coef_part_time_worker_interaction_with_no_usual_work_location_M,, +#,,,, +Full-time worker interaction with detached house,(ptype==1)&(building_size<3),,,coef_full_time_worker_interaction_with_detached_home_H +Part-time worker interaction with detached house,(ptype==2)&(building_size<3),,,coef_part_time_worker_interaction_with_detached_home_H +Retired interaction with detached house,(ptype==5)&(building_size<3),,,coef_retired_interaction_with_detached_home_H +Pre-driving-age child in School interaction with detached house,(ptype==6)&(building_size<3),,,coef_driving_age_child_who_is_in_school_interaction_with_detached_home_H +#,,,, +Mandatory pattern unavailable for retired person,ptype==5,coef_UNAVAILABLE,, +Mandatory pattern unavailable for nonworking adult person type,ptype==4,coef_UNAVAILABLE,, +#,,,, +Alternative Specific Constant Adjustment for Full-time worker,ptype == 1,coef_full_time_worker_asc_adjustment_M,coef_full_time_worker_asc_adjustment_N, +Alternative Specific Constant Adjustment for Part-time worker,ptype == 2,coef_part_time_worker_asc_adjustment_M,coef_part_time_worker_asc_adjustment_N, +Alternative Specific Constant Adjustment for University student,ptype == 3,coef_university_student_asc_adjustment_M,coef_university_student_asc_adjustment_N, +Alternative Specific Constant Adjustment for Non-working adult,ptype == 4,,coef_non_working_adult_asc_adjustment_N, +Alternative Specific Constant Adjustment for Retired,ptype == 5,,coef_retired_asc_adjustment_N, +Alternative Specific Constant Adjustment for Driving-age child who is in school,ptype == 6,coef_driving_age_child_who_is_in_school_asc_adjustment_M,coef_driving_age_child_who_is_in_school_asc_adjustment_N, +Alternative Specific Constant Adjustment for Pre-driving-age child who is in school,ptype == 7,coef_pre_driving_age_child_who_is_in_school_asc_adjustment_M,coef_pre_driving_age_child_who_is_in_school_asc_adjustment_N, +Alternative Specific Constant Adjustment for Pre-driving-age child who is too young for school,ptype == 8,coef_pre_driving_age_child_who_is_too_young_for_school_asc_adjustment_M,coef_pre_driving_age_child_who_is_too_young_for_school_asc_adjustment_N, +ASC Adjustment for Part-time worker -- TM2 calibration,ptype == 2,coef_part_time_worker_asc_adjustment_tm2_calib_M,coef_part_time_worker_asc_adjustment_tm2_calib_N, +ASC Adjustment for University student -- TM2 calibration,ptype == 3,coef_university_student_asc_adjustment_tm2_calib_M,coef_university_student_asc_adjustment_tm2_calib_N, +ASC Adjustment for Non-working adult -- TM2 calibration,ptype == 4,coef_non_working_adult_asc_adjustment_tm2_calib_M,coef_non_working_adult_asc_adjustment_tm2_calib_N, +ASC Adjustment for Retired --TM2 calibration,ptype == 5,coef_retired_asc_adjustment_tm2_calib_M,coef_retired_asc_adjustment_tm2_calib_N, diff --git a/test/cdap/configs/cdap_interaction_coefficients.csv b/test/cdap/configs/cdap_interaction_coefficients.csv new file mode 100644 index 0000000000..f94fa17233 --- /dev/null +++ b/test/cdap/configs/cdap_interaction_coefficients.csv @@ -0,0 +1,177 @@ +activity,interaction_ptypes,coefficient +# 2-way interactions,, +H,11,coef_H_11 +H,12,coef_H_12 +H,13,coef_H_13 +H,14,coef_H_14 +H,15,coef_H_15 +H,16,coef_H_16 +H,17,coef_H_17 +H,18,coef_H_18 +H,22,coef_H_22 +H,23,coef_H_23 +H,24,coef_H_24 +H,25,coef_H_25 +H,26,coef_H_26 +H,27,coef_H_27 +H,28,coef_H_28 +H,33,coef_H_33 +H,34,coef_H_34 +H,35,coef_H_35 +H,36,coef_H_36 +H,37,coef_H_37 +H,38,coef_H_38 +H,44,coef_H_44 +H,45,coef_H_45 +H,46,coef_H_46 +H,47,coef_H_47 +H,48,coef_H_48 +H,55,coef_H_55 +H,56,coef_H_56_57 +H,57,coef_H_56_57 +H,58,coef_H_58 +H,66,coef_H_66 +H,67,coef_H_67 +H,68,coef_H_68 +H,77,coef_H_77 +H,78,coef_H_78 +H,88,coef_H_88 +M,11,coef_M_11 +M,12,coef_M_12 +M,13,coef_M_13 +M,16,coef_M_16 +M,17,coef_M_17 +M,18,coef_M_18 +M,22,coef_M_22 +M,23,coef_M_23 +M,26,coef_M_26 +M,27,coef_M_27 +M,28,coef_M_28 +M,33,coef_M_33 +M,36,coef_M_36 +M,37,coef_M_37 +M,38,coef_M_38 +M,66,coef_M_66 +M,67,coef_M_67 +M,68,coef_M_68 +M,77,coef_M_77 +M,78,coef_M_78 +M,88,coef_M_88 +N,11,coef_N_11 +N,12,coef_N_12 +N,13,coef_N_13 +N,14,coef_N_14 +N,15,coef_N_15 +N,16,coef_N_16 +N,17,coef_N_17 +N,18,coef_N_18 +N,22,coef_N_22 +N,23,coef_N_23 +N,24,coef_N_24 +N,25,coef_N_25 +N,26,coef_N_26 +N,27,coef_N_27 +N,28,coef_N_28 +N,33,coef_N_33 +N,34,coef_N_34 +N,35,coef_N_35 +N,36,coef_N_36 +N,37,coef_N_37 +N,38,coef_N_38 +N,44,coef_N_44 +N,45,coef_N_45 +N,46,coef_N_46 +N,47,coef_N_47 +N,48,coef_N_48 +N,55,coef_N_55 +N,56,coef_N_56_57_58 +N,57,coef_N_56_57_58 +N,58,coef_N_56_57_58 +N,66,coef_N_66 +N,67,coef_N_67 +N,68,coef_N_68 +N,77,coef_N_77 +N,78,coef_N_78 +N,88,coef_N_88 +# 3-way interactions,, +H,114,coef_H_114 +H,117,coef_H_117_118 +H,118,coef_H_117_118 +H,127,coef_H_127_128 +H,128,coef_H_127_128 +H,147,coef_H_147_148 +H,148,coef_H_147_148 +H,177,coef_H_177_178_187_188 +H,178,coef_H_177_178_187_188 +H,187,coef_H_177_178_187_188 +H,188,coef_H_177_178_187_188 +H,277,coef_H_277_278_287_288 +H,278,coef_H_277_278_287_288 +H,287,coef_H_277_278_287_288 +H,288,coef_H_277_278_287_288 +H,447,coef_H_447_448 +H,448,coef_H_447_448 +H,477,coef_H_477_478_487_488 +H,478,coef_H_477_478_487_488 +H,487,coef_H_477_478_487_488 +H,488,coef_H_477_478_487_488 +H,777,coef_H_777_778_788_888 +H,778,coef_H_777_778_788_888 +H,788,coef_H_777_778_788_888 +H,888,coef_H_777_778_788_888 +M,111,coef_M_111 +M,112,coef_M_112 +M,122,coef_M_122 +M,127,coef_M_127_128 +M,128,coef_M_127_128 +M,177,coef_M_177_178_187_188 +M,178,coef_M_177_178_187_188 +M,187,coef_M_177_178_187_188 +M,188,coef_M_177_178_187_188 +M,227,coef_M_227_228 +M,228,coef_M_227_228 +M,277,coef_M_277_278_287_288 +M,278,coef_M_277_278_287_288 +M,287,coef_M_277_278_287_288 +M,288,coef_M_277_278_287_288 +M,777,coef_M_777_778_788_888 +M,778,coef_M_777_778_788_888 +M,788,coef_M_777_778_788_888 +M,888,coef_M_777_778_788_888 +N,117,coef_N_117_118 +N,118,coef_N_117_118 +N,144,coef_N_144 +N,127,coef_N_127_128 +N,128,coef_N_127_128 +N,147,coef_N_147_148 +N,148,coef_N_147_148 +N,177,coef_N_177_178_187_188 +N,178,coef_N_177_178_187_188 +N,187,coef_N_177_178_187_188 +N,188,coef_N_177_178_187_188 +N,222,coef_N_222 +N,277,coef_N_277_278_287_288 +N,278,coef_N_277_278_287_288 +N,287,coef_N_277_278_287_288 +N,288,coef_N_277_278_287_288 +N,477,coef_N_477_478_487_488 +N,478,coef_N_477_478_487_488 +N,487,coef_N_477_478_487_488 +N,488,coef_N_477_478_487_488 +N,777,coef_N_777_778_788_888 +N,778,coef_N_777_778_788_888 +N,788,coef_N_777_778_788_888 +N,888,coef_N_777_778_788_888 +# cdap_final_rules,, +M,5,coef_UNAVAILABLE +M,4,coef_UNAVAILABLE +# cdap_all_people,, +M,***,coef_M_xxx +N,***,coef_N_xxx +H,***,coef_H_xxx +M,****,coef_M_xxxx +N,****,coef_N_xxxx +H,****,coef_H_xxxx +M,*****,coef_M_xxxxx +N,*****,coef_N_xxxxx +H,*****,coef_H_xxxxx diff --git a/test/cdap/configs/cdap_joint_tour_coefficients.csv b/test/cdap/configs/cdap_joint_tour_coefficients.csv new file mode 100644 index 0000000000..14ee3fee3e --- /dev/null +++ b/test/cdap/configs/cdap_joint_tour_coefficients.csv @@ -0,0 +1,22 @@ +Label,description,Expression,dependency,coefficient +,constant - joint tour,1,,-3.1506 +,joint tour for hhsize 2,hhsize==2,,0.331420519 +,joint tour for hhsize 3,hhsize==3,,0.360848095 +,joint tour for hhsize 4,hhsize==4,,-0.118640717 +,joint tour for hhsize 5+,hhsize>=5,,-0.053509306 +,person x is adult and DAP is M,ptype_px<7,M_px,0.008 +,person x is adult and DAP is N,ptype_px<7,N_px,1.2557 +,person x is kid and DAP is M,ptype_px>6,M_px,0.1088 +,person x is kid and DAP is N,ptype_px>6,N_px,1.6898 +,Accessibility to retail employment/Non-Mandatory Attractions for Joint Tour,(autos_p1num_workers_p1)*nonmandatory_hov2_accessibility_p1,,0.055031985 +,Income less than $30k,income_p1<30000,,-0.192506367 +,Income between $60k and $100k,(income_p1>=60000)&(income_p1<=100000),,0.104325349 +,Income more than $100k,income_p1>100000,,0.104325349 +,No Car Households,autos_p1==0,,0 +,Cars Less than Workers,autos_p1num_workers_p1,,-0.005896499 +,Constant - Joint Tour - MTC TM2 Calibration,1,,-0.5918 +,WorkAccessForMandatoryDap,WorkLocationLogsum_px,M_px,0.17217579 +,If All Adults stay at Home/ None of the Adults have Dap 1 or 2,ptype_pxprod<7|ptype_pxprod>6,H_px,-0.988838929 diff --git a/test/cdap/configs/constants.yaml b/test/cdap/configs/constants.yaml new file mode 100644 index 0000000000..b0bd5a1f37 --- /dev/null +++ b/test/cdap/configs/constants.yaml @@ -0,0 +1,68 @@ +## ActivitySim +## See full license in LICENSE.txt. + + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +INCOME_SEGMENT_LOW: 1 +INCOME_SEGMENT_MED: 2 +INCOME_SEGMENT_HIGH: 3 +INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H + +# Correction for transit skim expressions +# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and +# therefore need to be divided by the scale factor if used in expressions +TRANSIT_SCALE_FACTOR: 100 diff --git a/test/cdap/configs/initialize_households.yaml b/test/cdap/configs/initialize_households.yaml new file mode 100644 index 0000000000..5d98a703d4 --- /dev/null +++ b/test/cdap/configs/initialize_households.yaml @@ -0,0 +1,37 @@ +annotate_tables: + - tablename: persons + column_map: + HHID: household_id + PERID: person_id + AGEP: age + SEX: sex + SCHL: education_attainment + OCCP: occupation + WKHP: hours_worked + WKW: weeks_worked + EMPLOYED: employment_status + ESR: esr + SCHG: grade_attending + annotate: + SPEC: annotate_persons + DF: persons + TABLES: + - households + - tablename: households + column_map: + HHID: household_id + MAZ: home_zone_id + HHINCADJ: income + NWRKRS_ESR: num_workers + VEH: auto_ownership + NP: hhsize + HHT: hh_type + BLD: building_size + TYPE: hh_unit_type + MTCCountyID: county_id + annotate: + SPEC: annotate_households + DF: households + TABLES: + - persons + - land_use \ No newline at end of file diff --git a/test/cdap/configs/initialize_landuse.yaml b/test/cdap/configs/initialize_landuse.yaml new file mode 100644 index 0000000000..7cc1d7e346 --- /dev/null +++ b/test/cdap/configs/initialize_landuse.yaml @@ -0,0 +1,54 @@ +annotate_tables: + - tablename: land_use + column_map: + MAZ_ORIGINAL: zone_id + CountyID: county_id + DistID: DISTRICT + HH: TOTHH + POP: TOTPOP + ACRES: TOTACRE + emp_total: TOTEMP + annotate: + SPEC: annotate_landuse + DF: land_use + - tablename: accessibility + column_map: + column_1: nonmandatory_auto_accessibility + column_2: nonmandatory_transit_accessibility + column_3: nonmandatory_nm_accessibility + column_4: nonmandatory_sov0_accessibility + column_5: nonmandatory_sov1_accessibility + column_6: nonmandatory_sov2_accessibility + column_7: nonmandatory_hov0_accessibility + column_8: nonmandatory_hov1_accessibility + column_9: nonmandatory_hov2_accessibility + column_10: shop_hov_insufficient_accessibility + column_11: shop_hov_sufficient_accessibility + column_12: shop_hov_oversufficient_accessibility + column_13: maint_hov_insufficient_accessibility + column_14: maint_hov_sufficient_accessibility + column_15: maint_hov_oversufficient_accessibility + column_16: eat_hov_insufficient_accessibility + column_17: eat_hov_sufficient_accessibility + column_18: eat_hov_oversufficient_accessibility + column_19: visit_hov_insufficient_accessibility + column_20: visit_hov_sufficient_accessibility + column_21: visit_hov_oversufficient_accessibility + column_22: discr_hov_insufficient_accessibility + column_23: discr_hov_sufficient_accessibility + column_24: discr_hov_oversufficient_accessibility + column_25: escort_hov_insufficient_accessibility + column_26: escort_hov_sufficient_accessibility + column_27: escort_hov_oversufficient_accessibility + column_28: shop_sov_insufficient_accessibility + column_29: shop_sov_sufficient_accessibility + column_30: shop_sov_oversufficient_accessibility + column_31: maint_sov_insufficient_accessibility + column_32: maint_sov_sufficient_accessibility + column_33: maint_sov_oversufficient_accessibility + column_40: discr_sov_insufficient_accessibility + column_41: discr_sov_sufficient_accessibility + column_42: discr_sov_oversufficient_accessibility + column_45: total_emp_accessibility + column_47: hh_walktransit_accessibility + mgra : zone_id \ No newline at end of file diff --git a/test/cdap/configs/network_los.yaml b/test/cdap/configs/network_los.yaml new file mode 100644 index 0000000000..391125a38e --- /dev/null +++ b/test/cdap/configs/network_los.yaml @@ -0,0 +1,14 @@ +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: False +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +zone_system: 1 + +taz_skims: skims.omx + +skim_time_periods: + time_window: 1440 + period_minutes: 60 + periods: [0, 3, 5, 9, 14, 18, 24] # 3=3:00-3:59, 5=5:00-5:59, 9=9:00-9:59, 14=2:00-2:59, 18=6:00-6:59 + labels: ['EA', 'EA', 'AM', 'MD', 'PM', 'EV'] \ No newline at end of file diff --git a/test/cdap/configs/settings.yaml b/test/cdap/configs/settings.yaml new file mode 100644 index 0000000000..bd0f4acc94 --- /dev/null +++ b/test/cdap/configs/settings.yaml @@ -0,0 +1,60 @@ +# input tables +input_table_list: + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + unique_hh_id: household_id + NP: hhsize + hh_workers_from_esr: num_workers + VEH: auto_ownership + MAZ: home_zone_id + HINCP: income + keep_columns: + - home_zone_id + - income + - hhsize + - HHT + - auto_ownership + - num_workers + - tablename: persons + filename: persons.csv + index_col: person_id + rename_columns: + unique_hh_id: household_id + AGEP: age + SPORDER: PNUM + SEX: sex + employed: pemploy + student_status: pstudent + person_type: ptype + keep_columns: + - household_id + - age + - PNUM + - sex + - pemploy + - pstudent + - ptype + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + MAZ_ORIGINAL: zone_id + CountyID: county_id + TAZ_ORIGINAL: TAZ + DistID: DISTRICT + HH: TOTHH + POP: TOTPOP + ACRES: TOTACRE + emp_total: TOTEMP + keep_columns: + - TAZ + - DISTRICT + - SD + - county_id + - TOTHH + - TOTPOP + - TOTACRE + +trace_hh_id: 2 \ No newline at end of file diff --git a/test/cdap/configs/tour_departure_and_duration_alternatives.csv b/test/cdap/configs/tour_departure_and_duration_alternatives.csv new file mode 100644 index 0000000000..bddab06b9d --- /dev/null +++ b/test/cdap/configs/tour_departure_and_duration_alternatives.csv @@ -0,0 +1,191 @@ +start,end +5,5 +5,6 +5,7 +5,8 +5,9 +5,10 +5,11 +5,12 +5,13 +5,14 +5,15 +5,16 +5,17 +5,18 +5,19 +5,20 +5,21 +5,22 +5,23 +6,6 +6,7 +6,8 +6,9 +6,10 +6,11 +6,12 +6,13 +6,14 +6,15 +6,16 +6,17 +6,18 +6,19 +6,20 +6,21 +6,22 +6,23 +7,7 +7,8 +7,9 +7,10 +7,11 +7,12 +7,13 +7,14 +7,15 +7,16 +7,17 +7,18 +7,19 +7,20 +7,21 +7,22 +7,23 +8,8 +8,9 +8,10 +8,11 +8,12 +8,13 +8,14 +8,15 +8,16 +8,17 +8,18 +8,19 +8,20 +8,21 +8,22 +8,23 +9,9 +9,10 +9,11 +9,12 +9,13 +9,14 +9,15 +9,16 +9,17 +9,18 +9,19 +9,20 +9,21 +9,22 +9,23 +10,10 +10,11 +10,12 +10,13 +10,14 +10,15 +10,16 +10,17 +10,18 +10,19 +10,20 +10,21 +10,22 +10,23 +11,11 +11,12 +11,13 +11,14 +11,15 +11,16 +11,17 +11,18 +11,19 +11,20 +11,21 +11,22 +11,23 +12,12 +12,13 +12,14 +12,15 +12,16 +12,17 +12,18 +12,19 +12,20 +12,21 +12,22 +12,23 +13,13 +13,14 +13,15 +13,16 +13,17 +13,18 +13,19 +13,20 +13,21 +13,22 +13,23 +14,14 +14,15 +14,16 +14,17 +14,18 +14,19 +14,20 +14,21 +14,22 +14,23 +15,15 +15,16 +15,17 +15,18 +15,19 +15,20 +15,21 +15,22 +15,23 +16,16 +16,17 +16,18 +16,19 +16,20 +16,21 +16,22 +16,23 +17,17 +17,18 +17,19 +17,20 +17,21 +17,22 +17,23 +18,18 +18,19 +18,20 +18,21 +18,22 +18,23 +19,19 +19,20 +19,21 +19,22 +19,23 +20,20 +20,21 +20,22 +20,23 +21,21 +21,22 +21,23 +22,22 +22,23 +23,23 \ No newline at end of file diff --git a/test/cdap/data/.gitkeep b/test/cdap/data/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 From 291736a360a11752e6f2d8b901bb7769ca6b377b Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Fri, 26 Aug 2022 10:22:00 -0400 Subject: [PATCH 10/57] set up testing infrastructure --- test/auto_ownership/.gitkeep | 0 test/cdap/.gitkeep | 0 test/conftest.py | 99 ++++++++++++++++++++++ test/joint_tour_frequency/.gitkeep | 0 test/non_mandatory_tour_frequency/.gitkeep | 0 test/parking_location/.gitkeep | 0 6 files changed, 99 insertions(+) create mode 100644 test/auto_ownership/.gitkeep create mode 100644 test/cdap/.gitkeep create mode 100644 test/conftest.py create mode 100644 test/joint_tour_frequency/.gitkeep create mode 100644 test/non_mandatory_tour_frequency/.gitkeep create mode 100644 test/parking_location/.gitkeep diff --git a/test/auto_ownership/.gitkeep b/test/auto_ownership/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/cdap/.gitkeep b/test/cdap/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/conftest.py b/test/conftest.py new file mode 100644 index 0000000000..d69a6a83c4 --- /dev/null +++ b/test/conftest.py @@ -0,0 +1,99 @@ +import os + +import orca +import pandas as pd +import pytest +from activitysim.core import pipeline +from activitysim.core.los import Network_LOS as los + + +@pytest.fixture(scope='module') +def initialize_pipeline(module: str, tables: dict[str, str], initialize_network_los: bool) -> pipeline.Pipeline: + test_dir = os.path.join('test', module) + configs_dir = os.path.join(test_dir, 'configs') + data_dir = os.path.join(test_dir, 'data') + output_dir = os.path.join(test_dir, 'output') + + if os.path.isdir(configs_dir): + orca.add_injectable('configs_dir', configs_dir) + + if os.path.isdir(data_dir): + orca.add_injectable('data_dir', data_dir) + + if os.path.isdir(test_dir): + if not os.path.isdir(output_dir): + os.mkdir(output_dir) + orca.add_injectable('output_dir', output_dir) + + # Read in the input test dataframes + for dataframe_name, idx_name in tables.items(): + df = pd.read_csv( + os.path.join('test', module, 'data', f'{dataframe_name}.csv'), index_col=idx_name + ) + orca.add_table(dataframe_name, df) + + if initialize_network_los: + net_los = los() + net_los.load_data() + orca.add_injectable('network_los', net_los) + + # Add an output directory in current working directory if it's not already there + try: + os.makedirs('output') + except FileExistsError: + # directory already exists + pass + + # Add the dataframes to the pipeline + pipeline.open_pipeline() + pipeline.add_checkpoint(module) + pipeline.close_pipeline() + + # By convention, this method needs to yield something + yield pipeline._PIPELINE + + if pipeline.is_open(): + pipeline.close_pipeline() + +@pytest.fixture(scope='module') +def reconnect_pipeline(module: str, initialize_network_los: bool, load_checkpoint: str) -> pipeline.Pipeline: + test_dir = os.path.join('test', module) + configs_dir = os.path.join(test_dir, 'configs') + data_dir = os.path.join(test_dir, 'data') + output_dir = os.path.join(test_dir, 'output') + + if os.path.isdir(configs_dir): + orca.add_injectable('configs_dir', configs_dir) + + if os.path.isdir(data_dir): + orca.add_injectable('data_dir', data_dir) + + if os.path.isdir(test_dir): + if not os.path.isdir(output_dir): + os.mkdir(output_dir) + orca.add_injectable('output_dir', output_dir) + + # Read in the existing pipeline + orca.add_injectable('pipeline_file_path', output_dir) + + if initialize_network_los: + net_los = los() + net_los.load_data() + orca.add_injectable('network_los', net_los) + + # Add an output directory in current working directory if it's not already there + try: + os.makedirs('output') + except FileExistsError: + # directory already exists + pass + + pipeline.open_pipeline(resume_after=load_checkpoint) + pipeline.add_checkpoint(module) + pipeline.close_pipeline() + # By convention, this method needs to yield something + yield pipeline._PIPELINE + + # pytest teardown code + if pipeline.is_open(): + pipeline.close_pipeline() diff --git a/test/joint_tour_frequency/.gitkeep b/test/joint_tour_frequency/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/non_mandatory_tour_frequency/.gitkeep b/test/non_mandatory_tour_frequency/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/parking_location/.gitkeep b/test/parking_location/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 From e0bd2052d665c674f3d32a26fb15b4e2b9168150 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Fri, 26 Aug 2022 10:55:43 -0400 Subject: [PATCH 11/57] joint tour test script --- test/joint_tours/test_joint_tours.py | 287 +++++++++++++++++++++++++++ 1 file changed, 287 insertions(+) create mode 100644 test/joint_tours/test_joint_tours.py diff --git a/test/joint_tours/test_joint_tours.py b/test/joint_tours/test_joint_tours.py new file mode 100644 index 0000000000..d5b243d4dc --- /dev/null +++ b/test/joint_tours/test_joint_tours.py @@ -0,0 +1,287 @@ +import logging +import pytest +import os +import shutil +import pandas as pd +import numpy as np +from numpy import dot +from numpy.linalg import norm + +# import models is necessary to initalize the model steps with orca +from activitysim.abm import models +from activitysim.core import pipeline, config +from activitysim.core import tracing + +logger = logging.getLogger(__name__) + +# Used by conftest.py initialize_pipeline method +@pytest.fixture(scope='module') +def module() -> str: + """ + A pytest fixture that returns the data folder location. + :return: folder location for any necessary data to initialize the tests + """ + return 'joint_tours' + + +# Used by conftest.py initialize_pipeline method +@pytest.fixture(scope='module') +#def tables() -> dict[str, str]: +def tables(prepare_module_inputs) -> dict[str, str]: + """ + A pytest fixture that returns the "mock" tables to build pipeline dataframes. The + key-value pair is the name of the table and the index column. + :return: dict + """ + return { + 'land_use': 'MAZ_ORIGINAL', + 'persons': 'person_id', + 'households': 'household_id', + 'accessibility': 'MAZ_ORIGINAL', + 'tours': 'tour_id' + } + + +# Used by conftest.py initialize_pipeline method +# Set to true if you need to read skims into the pipeline +@pytest.fixture(scope='module') +def initialize_network_los() -> bool: + """ + A pytest boolean fixture indicating whether network skims should be read from the + fixtures test data folder. + :return: bool + """ + return False + + +# Used by conftest.py reconnect_pipeline method +@pytest.fixture(scope='module') +def load_checkpoint() -> bool: + """ + checkpoint to be loaded from the pipeline when reconnecting. + """ + return 'initialize_households' + + +@pytest.mark.skipif(os.path.isfile('test/joint_tours/output/pipeline.h5'), reason = "no need to recreate pipeline store if already exist") +def test_prepare_input_pipeline(initialize_pipeline: pipeline.Pipeline, caplog): + # Run summarize model + caplog.set_level(logging.INFO) + + # run model step + pipeline.run(models=[ + 'initialize_landuse', + 'initialize_households' + ] + ) + person_df = pipeline.get_table('persons') + pipeline.close_pipeline() + +def test_joint_tours_frequency_composition(reconnect_pipeline: pipeline.Pipeline, caplog): + + caplog.set_level(logging.INFO) + + # run model step + pipeline.run( + models = [ + 'joint_tour_frequency_composition' + ], + resume_after = 'initialize_households' + ) + + pipeline.close_pipeline() + +def test_joint_tours_participation(reconnect_pipeline: pipeline.Pipeline, caplog): + + caplog.set_level(logging.INFO) + + # run model step + pipeline.run( + models = [ + 'joint_tour_participation' + ], + resume_after = 'joint_tour_frequency_composition' + ) + + pipeline.close_pipeline() + + +# fetch/prepare existing files for model inputs +# e.g. read accessibilities.csv from ctramp result, rename columns, write out to accessibility.csv which is the input to activitysim +@pytest.fixture(scope='module') +def prepare_module_inputs() -> None: + """ + copy input files from sharepoint into test folder + + create unique person id in person file + + :return: None + """ + # https://wsponlinenam.sharepoint.com/sites/US-TM2ConversionProject/Shared%20Documents/Forms/ + # AllItems.aspx?id=%2Fsites%2FUS%2DTM2ConversionProject%2FShared%20Documents%2FTask%203%20ActivitySim&viewid=7a1eaca7%2D3999%2D4d45%2D9701%2D9943cc3d6ab1 + test_dir = os.path.join('test', 'joint_tours', 'data') + + accessibility_file = os.path.join(test_dir, 'tm2_outputs', 'accessibilities.csv') + household_file = os.path.join(test_dir, 'popsyn', 'households.csv') + person_file = os.path.join(test_dir, 'popsyn', 'persons.csv') + landuse_file = os.path.join(test_dir, 'landuse', 'maz_data_withDensity.csv') + + shutil.copy(accessibility_file, os.path.join(test_dir, 'accessibility.csv')) + shutil.copy(household_file, os.path.join(test_dir, 'households.csv')) + shutil.copy(person_file, os.path.join(test_dir, 'persons.csv')) + shutil.copy(landuse_file, os.path.join(test_dir, 'land_use.csv')) + + # add original maz id to accessibility table + land_use_df = pd.read_csv( + os.path.join(test_dir, 'land_use.csv') + ) + + accessibility_df = pd.read_csv( + os.path.join(test_dir, 'accessibility.csv') + ) + + accessibility_df = pd.merge( + accessibility_df, + land_use_df[['MAZ', 'MAZ_ORIGINAL']].rename( + columns = {'MAZ' : 'mgra'} + ), + how = 'left', + on = 'mgra' + ) + + accessibility_df.to_csv( + os.path.join(test_dir, 'accessibility.csv'), + index = False + ) + + # currently household file has to have these two columns, even before annotation + # because annotate person happens before household and uses these two columns + # TODO find a way to get around this + #### + + # household file from populationsim + household_df = pd.read_csv( + os.path.join(test_dir, 'households.csv') + ) + + household_columns_dict = { + 'HHID' : 'household_id', + 'MAZ' : 'home_zone_id' + } + + household_df.rename(columns = household_columns_dict, inplace = True) + + # get columns from ctramp output + tm2_simulated_household_df = pd.read_csv( + os.path.join(test_dir, 'tm2_outputs', 'householdData_1.csv') + ) + tm2_simulated_household_df.rename(columns = {'hh_id' : 'household_id'}, inplace = True) + + household_df = pd.merge( + household_df, + tm2_simulated_household_df[ + ['household_id', 'autos', 'automated_vehicles', 'transponder', 'cdap_pattern', 'jtf_choice'] + ], + how = 'inner', # tm2 is not 100% sample run + on = 'household_id' + ) + + household_df.to_csv( + os.path.join(test_dir, 'households.csv'), + index = False + ) + + # person file from populationsim + person_df = pd.read_csv( + os.path.join(test_dir, 'persons.csv') + ) + + person_columns_dict = { + 'HHID' : 'household_id', + 'PERID' : 'person_id' + } + + person_df.rename(columns = person_columns_dict, inplace = True) + + # get columns from ctramp result + tm2_simulated_person_df = pd.read_csv( + os.path.join(test_dir, 'tm2_outputs', 'personData_1.csv') + ) + tm2_simulated_person_df.rename(columns = {'hh_id' : 'household_id'}, inplace = True) + + person_df = pd.merge( + person_df, + tm2_simulated_person_df[ + [ + 'household_id', + 'person_id', + 'type', + 'value_of_time', + 'activity_pattern', + 'imf_choice', + 'inmf_choice', + 'fp_choice', + 'reimb_pct', + 'workDCLogsum', + 'schoolDCLogsum' + ] + ], + how = 'inner', # ctramp might not be 100% sample run + on = ['household_id', 'person_id'] + ) + + person_df['PNUM'] = person_df.groupby('household_id')['person_id'].rank() + + person_df.to_csv( + os.path.join(test_dir, 'persons.csv'), + index = False + ) + + ## get tour data from tm2 output + + tm2_simulated_indiv_tour_df = pd.read_csv( + os.path.join(test_dir, 'tm2_outputs', 'indivTourData_1.csv') + ) + tm2_simulated_indiv_tour_df = tm2_simulated_indiv_tour_df[ + tm2_simulated_indiv_tour_df.tour_category == 'MANDATORY' + ] + + tm2_simulated_tour_df = pd.concat( + [tm2_simulated_indiv_tour_df], + sort = False, + ignore_index = True + ) + + tm2_simulated_tour_df.rename(columns = {'hh_id' : 'household_id'}).to_csv( + os.path.join(test_dir, 'tours.csv'), + index = False + ) + + +def create_summary(input_df, key, out_col = "Share") -> pd.DataFrame: + """ + Create summary for the input data. + 1. group input data by the "key" column + 2. calculate the percent of input data records in each "key" category. + + :return: pd.DataFrame + """ + + out_df = input_df.groupby(key).size().reset_index(name='Count') + out_df[out_col] = round(out_df["Count"]/out_df["Count"].sum(), 4) + + return out_df[[key, out_col]] + + +def cosine_similarity(a, b): + """ + Computes cosine similarity between two vectors. + + Cosine similarity is used here as a metric to measure similarity between two sequence of numbers. + Two sequence of numbers are represented as vectors (in a multi-dimensional space) and cosine similiarity is defined as the cosine of the angle between them + i.e., dot products of the vectors divided by the product of their lengths. + + :return: + """ + + return dot(a, b)/(norm(a)*norm(b)) \ No newline at end of file From ec53b4cfa087adec6e80247139d8bdfc1ec31699 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Fri, 26 Aug 2022 10:56:37 -0400 Subject: [PATCH 12/57] joint tour configs --- .../.gitkeep | 0 .../configs/JointTourFrequency.xls | Bin 0 -> 95232 bytes .../configs/annotate_households.csv | 19 ++ test/joint_tours/configs/annotate_landuse.csv | 6 + test/joint_tours/configs/annotate_persons.csv | 16 ++ .../configs/annotate_persons_jtp.csv | 3 + test/joint_tours/configs/annotate_tours.csv | 6 + test/joint_tours/configs/constants.yaml | 68 +++++++ .../configs/initialize_households.yaml | 38 ++++ .../configs/initialize_landuse.yaml | 54 +++++ .../joint_tours/configs/initialize_tours.yaml | 6 + .../joint_tour_frequency_composition.csv | 99 +++++++++ .../joint_tour_frequency_composition.yaml | 14 ++ ...our_frequency_composition_alternatives.csv | 151 ++++++++++++++ ..._composition_annotate_alt_preprocessor.csv | 7 + ...ition_annotate_households_preprocessor.csv | 8 + ...oint_tour_frequency_composition_coeffs.csv | 1 + .../configs/joint_tour_participation.csv | 67 ++++++ .../configs/joint_tour_participation.yaml | 21 ++ ...ion_annotate_participants_preprocessor.csv | 11 + .../joint_tour_participation_coefficients.csv | 59 ++++++ test/joint_tours/configs/network_los.yaml | 14 ++ test/joint_tours/configs/settings.yaml | 79 ++++++++ ...ur_departure_and_duration_alternatives.csv | 191 ++++++++++++++++++ 24 files changed, 938 insertions(+) rename test/{joint_tour_frequency => joint_tours}/.gitkeep (100%) create mode 100644 test/joint_tours/configs/JointTourFrequency.xls create mode 100644 test/joint_tours/configs/annotate_households.csv create mode 100644 test/joint_tours/configs/annotate_landuse.csv create mode 100644 test/joint_tours/configs/annotate_persons.csv create mode 100644 test/joint_tours/configs/annotate_persons_jtp.csv create mode 100644 test/joint_tours/configs/annotate_tours.csv create mode 100644 test/joint_tours/configs/constants.yaml create mode 100644 test/joint_tours/configs/initialize_households.yaml create mode 100644 test/joint_tours/configs/initialize_landuse.yaml create mode 100644 test/joint_tours/configs/initialize_tours.yaml create mode 100644 test/joint_tours/configs/joint_tour_frequency_composition.csv create mode 100644 test/joint_tours/configs/joint_tour_frequency_composition.yaml create mode 100644 test/joint_tours/configs/joint_tour_frequency_composition_alternatives.csv create mode 100644 test/joint_tours/configs/joint_tour_frequency_composition_annotate_alt_preprocessor.csv create mode 100644 test/joint_tours/configs/joint_tour_frequency_composition_annotate_households_preprocessor.csv create mode 100644 test/joint_tours/configs/joint_tour_frequency_composition_coeffs.csv create mode 100644 test/joint_tours/configs/joint_tour_participation.csv create mode 100644 test/joint_tours/configs/joint_tour_participation.yaml create mode 100644 test/joint_tours/configs/joint_tour_participation_annotate_participants_preprocessor.csv create mode 100644 test/joint_tours/configs/joint_tour_participation_coefficients.csv create mode 100644 test/joint_tours/configs/network_los.yaml create mode 100644 test/joint_tours/configs/settings.yaml create mode 100644 test/joint_tours/configs/tour_departure_and_duration_alternatives.csv diff --git a/test/joint_tour_frequency/.gitkeep b/test/joint_tours/.gitkeep similarity index 100% rename from test/joint_tour_frequency/.gitkeep rename to test/joint_tours/.gitkeep diff --git a/test/joint_tours/configs/JointTourFrequency.xls b/test/joint_tours/configs/JointTourFrequency.xls new file mode 100644 index 0000000000000000000000000000000000000000..2eb7699bb7834fc87281d584c5cefe0416a62155 GIT binary patch literal 95232 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 EH}Ov4asU7T literal 0 HcmV?d00001 diff --git a/test/joint_tours/configs/annotate_households.csv b/test/joint_tours/configs/annotate_households.csv new file mode 100644 index 0000000000..eead2858c4 --- /dev/null +++ b/test/joint_tours/configs/annotate_households.csv @@ -0,0 +1,19 @@ +Description,Target,Expression +#,, annotate households table after import +,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" +num_adults,num_adults,"_PERSON_COUNT('adult', persons, households)" +num_children,num_children,"_PERSON_COUNT('~adult', persons, households)" +num_travel_active,num_travel_active,persons.travel_active.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_preschoolers,num_travel_active_preschoolers,((persons.ptype == PTYPE_PRESCHOOL) & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_non_preschoolers,num_travel_active_non_preschoolers,num_travel_active - num_travel_active_preschoolers +participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) +number of travel active fulltime workers,num_travel_active_full_time_workers,"_PERSON_COUNT('(ptype == 1) & (cdap_activity != \'H\')', persons, households)" +number of travel active parttime workers,num_travel_active_part_time_workers,"_PERSON_COUNT('(ptype == 2) & (cdap_activity != \'H\')', persons, households)" +number of travel active university student,num_travel_active_university_students,"_PERSON_COUNT('(ptype == 3) & (cdap_activity != \'H\')', persons, households)" +number of travel active non-workers,num_travel_active_non_workers,"_PERSON_COUNT('(ptype == 4) & (cdap_activity != \'H\')', persons, households)" +number of travel active retirees,num_travel_active_retirees,"_PERSON_COUNT('(ptype == 5) & (cdap_activity != \'H\')', persons, households)" +number of travel active driving age students,num_travel_active_driving_age_students,"_PERSON_COUNT('(ptype == 6) & (cdap_activity != \'H\')', persons, households)" +number of travel active pre-driving age school kids,num_travel_active_pre_driving_age_school_kids,"_PERSON_COUNT('(ptype == 7) & (cdap_activity != \'H\')', persons, households)" +number of travel active pre-school kids,num_travel_active_pre_school_kids,"_PERSON_COUNT('(ptype == 8) & (cdap_activity != \'H\')', persons, households)" +number of travel active adults,num_travel_active_adults,"_PERSON_COUNT('adult & (cdap_activity != \'H\')', persons, households)" +number of travel active chilren,num_travel_active_children,"_PERSON_COUNT('~adult & (cdap_activity != \'H\')', persons, households)" \ No newline at end of file diff --git a/test/joint_tours/configs/annotate_landuse.csv b/test/joint_tours/configs/annotate_landuse.csv new file mode 100644 index 0000000000..65237c0ada --- /dev/null +++ b/test/joint_tours/configs/annotate_landuse.csv @@ -0,0 +1,6 @@ +Description,Target,Expression +#,, annotate landuse table after import +household_density,household_density,land_use.TOTHH / land_use.TOTACRE +employment_density,employment_density,land_use.TOTEMP / land_use.TOTACRE +population_density,population_density,land_use.TOTPOP / land_use.TOTACRE +density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1) \ No newline at end of file diff --git a/test/joint_tours/configs/annotate_persons.csv b/test/joint_tours/configs/annotate_persons.csv new file mode 100644 index 0000000000..6af8a61d75 --- /dev/null +++ b/test/joint_tours/configs/annotate_persons.csv @@ -0,0 +1,16 @@ +Description,Target,Expression +#,, annotate persons table after import +,ptype,0 +,ptype,"np.where(persons.type == 'Full-time worker', 1, ptype)" +,ptype,"np.where(persons.type == 'Part-time worker', 2, ptype)" +,ptype,"np.where(persons.type == 'University student', 3, ptype)" +,ptype,"np.where(persons.type == 'Non-worker', 4, ptype)" +,ptype,"np.where(persons.type == 'Retired', 5, ptype)" +,ptype,"np.where(persons.type == 'Student of driving age', 6, ptype)" +,ptype,"np.where(persons.type == 'Student of non-driving age', 7, ptype)" +,ptype,"np.where(persons.type == 'Child too young for school', 8, ptype)" +home_zone_id,home_zone_id,"reindex(households.home_zone_id, persons.household_id)" +travel_active,travel_active,persons.cdap_activity != CDAP_ACTIVITY_HOME +# adult is needed as it's harded coded in activitysim core overlap.py +adult,adult,ptype<=6 +child,child,ptype>6 \ No newline at end of file diff --git a/test/joint_tours/configs/annotate_persons_jtp.csv b/test/joint_tours/configs/annotate_persons_jtp.csv new file mode 100644 index 0000000000..a72c866057 --- /dev/null +++ b/test/joint_tours/configs/annotate_persons_jtp.csv @@ -0,0 +1,3 @@ +Description,Target,Expression +#,, annotate persons table after joint_tour_participation model has run +num_joint_tours,num_joint_tours,"joint_tour_participants.groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" diff --git a/test/joint_tours/configs/annotate_tours.csv b/test/joint_tours/configs/annotate_tours.csv new file mode 100644 index 0000000000..225abe7f88 --- /dev/null +++ b/test/joint_tours/configs/annotate_tours.csv @@ -0,0 +1,6 @@ +Description,Target,Expression +,tour_category,tours.tour_category.str.lower() +,tour_purpose,tours.tour_purpose.str.lower() +,tour_type,tours.tour_purpose.str.lower() +,origin,tours.orig_mgra +,destination,tours.dest_mgra diff --git a/test/joint_tours/configs/constants.yaml b/test/joint_tours/configs/constants.yaml new file mode 100644 index 0000000000..b0bd5a1f37 --- /dev/null +++ b/test/joint_tours/configs/constants.yaml @@ -0,0 +1,68 @@ +## ActivitySim +## See full license in LICENSE.txt. + + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +INCOME_SEGMENT_LOW: 1 +INCOME_SEGMENT_MED: 2 +INCOME_SEGMENT_HIGH: 3 +INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H + +# Correction for transit skim expressions +# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and +# therefore need to be divided by the scale factor if used in expressions +TRANSIT_SCALE_FACTOR: 100 diff --git a/test/joint_tours/configs/initialize_households.yaml b/test/joint_tours/configs/initialize_households.yaml new file mode 100644 index 0000000000..a5cabc3df2 --- /dev/null +++ b/test/joint_tours/configs/initialize_households.yaml @@ -0,0 +1,38 @@ +annotate_tables: + - tablename: persons + column_map: + HHID: household_id + PERID: person_id + AGEP: age + SEX: sex + SCHL: education_attainment + OCCP: occupation + WKHP: hours_worked + WKW: weeks_worked + EMPLOYED: employment_status + ESR: esr + SCHG: grade_attending + activity_pattern: cdap_activity + annotate: + SPEC: annotate_persons + DF: persons + TABLES: + - households + - tablename: households + column_map: + HHID: household_id + MAZ: home_zone_id + HHINCADJ: income + NWRKRS_ESR: num_workers + VEH: auto_ownership + NP: hhsize + HHT: hh_type + BLD: building_size + TYPE: hh_unit_type + MTCCountyID: county_id + annotate: + SPEC: annotate_households + DF: households + TABLES: + - persons + - land_use \ No newline at end of file diff --git a/test/joint_tours/configs/initialize_landuse.yaml b/test/joint_tours/configs/initialize_landuse.yaml new file mode 100644 index 0000000000..7cc1d7e346 --- /dev/null +++ b/test/joint_tours/configs/initialize_landuse.yaml @@ -0,0 +1,54 @@ +annotate_tables: + - tablename: land_use + column_map: + MAZ_ORIGINAL: zone_id + CountyID: county_id + DistID: DISTRICT + HH: TOTHH + POP: TOTPOP + ACRES: TOTACRE + emp_total: TOTEMP + annotate: + SPEC: annotate_landuse + DF: land_use + - tablename: accessibility + column_map: + column_1: nonmandatory_auto_accessibility + column_2: nonmandatory_transit_accessibility + column_3: nonmandatory_nm_accessibility + column_4: nonmandatory_sov0_accessibility + column_5: nonmandatory_sov1_accessibility + column_6: nonmandatory_sov2_accessibility + column_7: nonmandatory_hov0_accessibility + column_8: nonmandatory_hov1_accessibility + column_9: nonmandatory_hov2_accessibility + column_10: shop_hov_insufficient_accessibility + column_11: shop_hov_sufficient_accessibility + column_12: shop_hov_oversufficient_accessibility + column_13: maint_hov_insufficient_accessibility + column_14: maint_hov_sufficient_accessibility + column_15: maint_hov_oversufficient_accessibility + column_16: eat_hov_insufficient_accessibility + column_17: eat_hov_sufficient_accessibility + column_18: eat_hov_oversufficient_accessibility + column_19: visit_hov_insufficient_accessibility + column_20: visit_hov_sufficient_accessibility + column_21: visit_hov_oversufficient_accessibility + column_22: discr_hov_insufficient_accessibility + column_23: discr_hov_sufficient_accessibility + column_24: discr_hov_oversufficient_accessibility + column_25: escort_hov_insufficient_accessibility + column_26: escort_hov_sufficient_accessibility + column_27: escort_hov_oversufficient_accessibility + column_28: shop_sov_insufficient_accessibility + column_29: shop_sov_sufficient_accessibility + column_30: shop_sov_oversufficient_accessibility + column_31: maint_sov_insufficient_accessibility + column_32: maint_sov_sufficient_accessibility + column_33: maint_sov_oversufficient_accessibility + column_40: discr_sov_insufficient_accessibility + column_41: discr_sov_sufficient_accessibility + column_42: discr_sov_oversufficient_accessibility + column_45: total_emp_accessibility + column_47: hh_walktransit_accessibility + mgra : zone_id \ No newline at end of file diff --git a/test/joint_tours/configs/initialize_tours.yaml b/test/joint_tours/configs/initialize_tours.yaml new file mode 100644 index 0000000000..999382c621 --- /dev/null +++ b/test/joint_tours/configs/initialize_tours.yaml @@ -0,0 +1,6 @@ +# +annotate_tours: + SPEC: annotate_tours + DF: tours + TABLES: + - land_use \ No newline at end of file diff --git a/test/joint_tours/configs/joint_tour_frequency_composition.csv b/test/joint_tours/configs/joint_tour_frequency_composition.csv new file mode 100644 index 0000000000..08338518c9 --- /dev/null +++ b/test/joint_tours/configs/joint_tour_frequency_composition.csv @@ -0,0 +1,99 @@ +Label,Description,Expression,Coefficient +,Constant for shopping tour,@df.shopping,0 +,Constant for Maintenance tour,@df.othmaint,-1.477 +,Constant for eating out tour,@df.eatout,0.5796 +,Constant for visiting tour,@df.social,-1.0037 +,Constant for discretionary tour,@df.othdiscr,-1.1195 +,Constant for 2 shopping tour,@df.shopping==2,-13.70946409 +,1 Shopping and 1 Maintenance Tour,@((df.shopping==1) & (df.othmaint==1)),-12.13684801 +,1 Shopping and 1 Eating Out Tour,@((df.shopping==1) & (df.eatout==1)),-12.79892713 +,1 Shopping and 1 Visiting Tour,@((df.shopping==1) & (df.social==1)),-12.22077221 +,1 Shopping and 1 Discretionary Tour,@((df.shopping==1) & (df.othdiscr==1)),-12.57867869 +,Constant for 2 Maintenance tour,@df.othmaint==2,-13.43572169 +,1 Maintenance and 1 Eating Out Tour,@((df.othmaint==1) & (df.eatout==1)),-12.18915033 +,1 Maintenance and 1 Visiting Tour,@((df.othmaint==1) & (df.social==1)),-11.81267905 +,1 Maintenance and 1 Discretionary Tour,@((df.othmaint==1) & (df.othdiscr==1)),-12.28867197 +,Constant for 2 eating out tour,@df.eatout==2,-13.15388273 +,1 Eating Out and 1 Visiting Tour,@((df.eatout==1) & (df.social==1)),-13.15388273 +,1 Eating Out and 1 Discretionary Tour,@((df.eatout==1) & (df.othdiscr==1)),-12.56102569 +,Constant for 2 visiting tour,@df.social==2,-13.15388273 +,1 Visiting and 1 Discretionary Tour,@((df.social==1) & (df.othdiscr==1)),-12.37222202 +,Constant for 2 discretionary tour,othdiscr==2,-13.23532342 +,Number of Active Full time workers /Shopping,num_travel_active_full_time_workers * shopping,0.09864381 +,Number of Active Non-workers /Shopping,num_travel_active_non_workers * shopping,0.393630718 +,Number of Active Pre- Driving Age School Children /Shopping,num_travel_active_pre_driving_age_school_kids * shopping,-0.313021042 +,Number of Active Preschool Children /Shopping,num_travel_active_pre_school_kids * shopping,-1.213950718 +,Number of Active Non-workers /Maintenance,num_travel_active_non_workers * othmaint,0.322738327 +,Number of Active Retirees /Maintenance,num_travel_active_retirees * othmaint,0.298632515 +,Number of Active Driving Age School Children /Maintenance,num_travel_active_driving_age_students * othmaint,0.503901856 +,Number of Active Preschool Children /Maintenance,num_travel_active_pre_school_kids * othmaint,-1.160523204 +,Number of Active Full time workers /Eating Out,num_travel_active_full_time_workers * eatout,-0.305934663 +,Number of Active University Students /Eating Out,num_travel_active_university_students * eatout,-0.65706029 +,Number of Active Retirees /Eating Out,num_travel_active_retirees * eatout,-0.391710731 +,Number of Active Pre- Driving Age School Children /Eating Out,num_travel_active_pre_driving_age_school_kids * eatout,-0.25140082 +,Number of Active Preschool Children /Eating Out,num_travel_active_pre_school_kids * eatout,-1.700731169 +,Number of Active Pre- Driving Age School Children /Visiting,num_travel_active_pre_driving_age_school_kids * social,0.162335324 +,Number of Active Preschool Children /Visiting,num_travel_active_pre_school_kids * social,-0.96955678 +,Number of Active Part time workers /Discretionary,num_travel_active_part_time_workers * othdiscr,0.217898126 +,Number of Active University Students /Discretionary,num_travel_active_university_students * othdiscr,-0.610578234 +,Number of Active Driving Age School Children /Discretionary,num_travel_active_driving_age_students * othdiscr,0.359485499 +,Number of Active Preschool Children /Discretionary,num_travel_active_pre_school_kids * othdiscr,-1.244458661 +,HH has more autos than workers/ Maintenance,(auto_ownership > num_workers) * othmaint,-0.336188392 +,Income > $100k /Maintenance,(income>100000) * othmaint,-0.475730683 +,"Income Less than $29,999 / Eating Out",(income<30000) * eatout,-1.282190776 +,"Income Between $30,000 to $59,999 / Eating Out",((income>=30000) & (income<60000)) * othmaint,-0.275046208 +,"Income Less than $29,999 / Discretionary",(income<30000) * othdiscr,-0.352579013 +,"Income Between $30,000 to $59,999 / Discretionary",((income>=30000) & (income<60000)) * othdiscr,-0.191735343 +,Shopping HOV accessibility for 2 Tours,((autosnum_workers)*shop_hov_oversufficient_accessibility)*(num_joint_tours==2)*shopping,0.039513822 +,Maintenance HOV Accessibility,((autosnum_workers)*maint_hov_oversufficient_accessibility)*othmaint,0.128132691 +,Discretionary HOV Accessibility,((autosnum_workers)*discr_hov_oversufficient_accessibility)*othdiscr,0.089590553 +,Constant for Children Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),-5.374907972 +,Constant for Children Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==2)+(df.purpose2==6)*(df.party2==2),-5.144798184 +,Constant for Children Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==2)+(df.purpose2==7)*(df.party2==2),-4.09806907 +,Constant for Children Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==2)+(df.purpose2==8)*(df.party2==2),-4.09806907 +,Constant for Children Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==2)+(df.purpose2==9)*(df.party2==2),-4.09806907 +,Constant for Mixed Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),0.575879495 +,Constant for Mixed Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==3)+(df.purpose2==6)*(df.party2==3),0.515873866 +,Constant for Mixed Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==3)+(df.purpose2==7)*(df.party2==3),0.168592084 +,Constant for Mixed Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==3)+(df.purpose2==8)*(df.party2==3),0.078060666 +,Constant for Mixed Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==3)+(df.purpose2==9)*(df.party2==3),0.856042068 +,Number of Active Full time workers /Adult Party,num_travel_active_full_time_workers * (party1==1) + num_travel_active_full_time_workers * (party2==1),0.599335502 +,Number of Active Part time workers /Adult Party,num_travel_active_part_time_workers * (party1==1) + num_travel_active_part_time_workers * (party2==1),1.113944272 +,Number of Active University Students /Adult Party,num_travel_active_university_students * (party1==1) + num_travel_active_university_students * (party2==1),0.231138167 +,Number of Active Non-workers /Adult Party,num_travel_active_non_workers * (party1==1) + num_travel_active_non_workers * (party2==1),0.341446999 +,Number of Active Retirees /Adult Party,num_travel_active_retirees * (party1==1) + num_travel_active_retirees * (party2==1),0.657220801 +,Number of Active Driving Age School Children /Children Party,num_travel_active_driving_age_students * (party1==1) + num_travel_active_driving_age_students * (party2==1),0.580109231 +,Number of Active Pre- Driving Age School Children /Children Party,num_travel_active_pre_driving_age_school_kids * (party1==2) + num_travel_active_pre_driving_age_school_kids * (party2==2),0.580109231 +,Number of Active Part time workers /Mixed Party,num_travel_active_part_time_workers * (party1==2) + num_travel_active_part_time_workers * (party2==2),0.522327137 +,Number of Active Driving Age School Children /Mixed Party,num_travel_active_driving_age_students * (party1==3) + num_travel_active_driving_age_students * (party2==3),0.216908669 +,Number of Active Pre- Driving Age School Children /Mixed Party,num_travel_active_pre_driving_age_school_kids * (party1==3) + num_travel_active_pre_driving_age_school_kids * (party2==3),0.31440104 +,Number of Active Preschool Children /Mixed Party,num_travel_active_pre_school_kids * (party1==3) + num_travel_active_pre_school_kids * (party2==3),0.897670235 +,HH has no autos / Mixed Party,@(df.autos==0)*(df.party1==3)+(df.autos==0)*(df.party2==3),-2.920728233 +,HH has less autos than workers/ Mixed Party,@(df.autos100000)*(df.party1==2)+(df.income>100000)*(df.party2==2),-1.189112151 +,Income more than $100k /Mixed Party,@(df.income>100000)*(df.party1==3)+(df.income>100000)*(df.party2==3),-0.303217156 +,Log of max window overlaps between adults,@df.log_time_window_overlap_adult*((df.party1==1)+(df.party2==1)),2.96902119 +,Log of max window overlaps between children,@df.log_time_window_overlap_child*((df.party1==2)+(df.party2==2)),4.673601828 +,Log of max window overlaps between adult & child,@df.log_time_window_overlap_adult_child*((df.party1==3)+(df.party2==3)),3.523795377 +,Not more than 1 travel active adult in HH,@(df.num_travel_active_adults < 2)*(((df.party1==1)+(df.party2==1))>0),-999 +,Not more than 1 travel active child in HH,@(df.num_travel_active_children < 2)*(((df.party1==2)+(df.party2==2))>0),-999 +,No travel-active pair adult-child in HH ,@((df.num_travel_active_adults*df.num_travel_active_children) ==0)*(((df.party1==3)+(df.party2==3))>0),-999 +,Adjustment for Children Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),0.407745781 +,Adjustment for Children Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==2)+(df.purpose2==6)*(df.party2==2),0.284925252 +,Adjustment for Children Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==2)+(df.purpose2==7)*(df.party2==2),0 +,Adjustment for Children Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==2)+(df.purpose2==8)*(df.party2==2),0.966264444 +,Adjustment for Children Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==2)+(df.purpose2==9)*(df.party2==2),0.144740532 +,Adjustment for Mixed Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),0.681178558 +,Adjustment for Mixed Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==3)+(df.purpose2==6)*(df.party2==3),0.476324741 +,Adjustment for Mixed Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==3)+(df.purpose2==7)*(df.party2==3),0.827297043 +,Adjustment for Mixed Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==3)+(df.purpose2==8)*(df.party2==3),0.691826384 +,Adjustment for Mixed Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==3)+(df.purpose2==9)*(df.party2==3),0.697808415 +,Adjustment for shopping tour,shopping,0 +,Adjustment for Maintenance tour,othmaint,0.06575155 +,Adjustment for eating out tour,eatout,0.0643679 +,Adjustment for visiting tour,social,0.00785518 +,Adjustment for discretionary tour,othdiscr,0.076075677 +,Adjustment for share of 2 Joint Tours,num_joint_tours==2,-1.214059893 +,TM2 Adjustment for Children Party,@(df.party1==2)+(df.party2==2),0 +,TM2 Adjustment for Mixed Party,@(df.party1==3)+(df.party2==3),0 +,TM2 adjustment for share of 2 Joint Tours,num_joint_tours==2,-0.5 diff --git a/test/joint_tours/configs/joint_tour_frequency_composition.yaml b/test/joint_tours/configs/joint_tour_frequency_composition.yaml new file mode 100644 index 0000000000..25db17dba3 --- /dev/null +++ b/test/joint_tours/configs/joint_tour_frequency_composition.yaml @@ -0,0 +1,14 @@ +LOGIT_TYPE: MNL + +SPEC: joint_tour_frequency_composition.csv +COEFFICIENTS: joint_tour_frequency_composition_coeffs.csv + +preprocessor: + SPEC: joint_tour_frequency_composition_annotate_households_preprocessor.csv + DF: households + TABLES: + - persons + +ALTS_PREPROCESSOR: + SPEC: joint_tour_frequency_composition_annotate_alt_preprocessor.csv + DF: alt_tdd \ No newline at end of file diff --git a/test/joint_tours/configs/joint_tour_frequency_composition_alternatives.csv b/test/joint_tours/configs/joint_tour_frequency_composition_alternatives.csv new file mode 100644 index 0000000000..657f98741d --- /dev/null +++ b/test/joint_tours/configs/joint_tour_frequency_composition_alternatives.csv @@ -0,0 +1,151 @@ +alt,purpose1,purpose2,party1,party2 +1,5,0,1,0 +2,5,0,2,0 +3,5,0,3,0 +4,6,0,1,0 +5,6,0,2,0 +6,6,0,3,0 +7,7,0,1,0 +8,7,0,2,0 +9,7,0,3,0 +10,8,0,1,0 +11,8,0,2,0 +12,8,0,3,0 +13,9,0,1,0 +14,9,0,2,0 +15,9,0,3,0 +16,5,5,1,1 +17,5,5,1,2 +18,5,5,1,3 +19,5,5,2,1 +20,5,5,2,2 +21,5,5,2,3 +22,5,5,3,1 +23,5,5,3,2 +24,5,5,3,3 +25,5,6,1,1 +26,5,6,1,2 +27,5,6,1,3 +28,5,6,2,1 +29,5,6,2,2 +30,5,6,2,3 +31,5,6,3,1 +32,5,6,3,2 +33,5,6,3,3 +34,5,7,1,1 +35,5,7,1,2 +36,5,7,1,3 +37,5,7,2,1 +38,5,7,2,2 +39,5,7,2,3 +40,5,7,3,1 +41,5,7,3,2 +42,5,7,3,3 +43,5,8,1,1 +44,5,8,1,2 +45,5,8,1,3 +46,5,8,2,1 +47,5,8,2,2 +48,5,8,2,3 +49,5,8,3,1 +50,5,8,3,2 +51,5,8,3,3 +52,5,9,1,1 +53,5,9,1,2 +54,5,9,1,3 +55,5,9,2,1 +56,5,9,2,2 +57,5,9,2,3 +58,5,9,3,1 +59,5,9,3,2 +60,5,9,3,3 +61,6,6,1,1 +62,6,6,1,2 +63,6,6,1,3 +64,6,6,2,1 +65,6,6,2,2 +66,6,6,2,3 +67,6,6,3,1 +68,6,6,3,2 +69,6,6,3,3 +70,6,7,1,1 +71,6,7,1,2 +72,6,7,1,3 +73,6,7,2,1 +74,6,7,2,2 +75,6,7,2,3 +76,6,7,3,1 +77,6,7,3,2 +78,6,7,3,3 +79,6,8,1,1 +80,6,8,1,2 +81,6,8,1,3 +82,6,8,2,1 +83,6,8,2,2 +84,6,8,2,3 +85,6,8,3,1 +86,6,8,3,2 +87,6,8,3,3 +88,6,9,1,1 +89,6,9,1,2 +90,6,9,1,3 +91,6,9,2,1 +92,6,9,2,2 +93,6,9,2,3 +94,6,9,3,1 +95,6,9,3,2 +96,6,9,3,3 +97,7,7,1,1 +98,7,7,1,2 +99,7,7,1,3 +100,7,7,2,1 +101,7,7,2,2 +102,7,7,2,3 +103,7,7,3,1 +104,7,7,3,2 +105,7,7,3,3 +106,7,8,1,1 +107,7,8,1,2 +108,7,8,1,3 +109,7,8,2,1 +110,7,8,2,2 +111,7,8,2,3 +112,7,8,3,1 +113,7,8,3,2 +114,7,8,3,3 +115,7,9,1,1 +116,7,9,1,2 +117,7,9,1,3 +118,7,9,2,1 +119,7,9,2,2 +120,7,9,2,3 +121,7,9,3,1 +122,7,9,3,2 +123,7,9,3,3 +124,8,8,1,1 +125,8,8,1,2 +126,8,8,1,3 +127,8,8,2,1 +128,8,8,2,2 +129,8,8,2,3 +130,8,8,3,1 +131,8,8,3,2 +132,8,8,3,3 +133,8,9,1,1 +134,8,9,1,2 +135,8,9,1,3 +136,8,9,2,1 +137,8,9,2,2 +138,8,9,2,3 +139,8,9,3,1 +140,8,9,3,2 +141,8,9,3,3 +142,9,9,1,1 +143,9,9,1,2 +144,9,9,1,3 +145,9,9,2,1 +146,9,9,2,2 +147,9,9,2,3 +148,9,9,3,1 +149,9,9,3,2 +150,9,9,3,3 diff --git a/test/joint_tours/configs/joint_tour_frequency_composition_annotate_alt_preprocessor.csv b/test/joint_tours/configs/joint_tour_frequency_composition_annotate_alt_preprocessor.csv new file mode 100644 index 0000000000..389d28a137 --- /dev/null +++ b/test/joint_tours/configs/joint_tour_frequency_composition_annotate_alt_preprocessor.csv @@ -0,0 +1,7 @@ +Description,Target,Expression +,shopping,"np.where(alt_tdd.purpose1 == 5, 1, 0) + np.where(alt_tdd.purpose2 == 5, 1, 0)" +,othmaint,"np.where(alt_tdd.purpose1 == 6, 1, 0) + np.where(alt_tdd.purpose2 == 6, 1, 0)" +,eatout,"np.where(alt_tdd.purpose1 == 7, 1, 0) + np.where(alt_tdd.purpose2 == 7, 1, 0)" +,social,"np.where(alt_tdd.purpose1 == 8, 1, 0) + np.where(alt_tdd.purpose2 == 8, 1, 0)" +,othdiscr,"np.where(alt_tdd.purpose1 == 9, 1, 0) + np.where(alt_tdd.purpose2 == 9, 1, 0)" +,num_joint_tours,shopping+othmaint+eatout+social+othdiscr \ No newline at end of file diff --git a/test/joint_tours/configs/joint_tour_frequency_composition_annotate_households_preprocessor.csv b/test/joint_tours/configs/joint_tour_frequency_composition_annotate_households_preprocessor.csv new file mode 100644 index 0000000000..1b4a5c91d5 --- /dev/null +++ b/test/joint_tours/configs/joint_tour_frequency_composition_annotate_households_preprocessor.csv @@ -0,0 +1,8 @@ +Description,Target,Expression +,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" +,time_window_overlap_adult,_HH_OVERLAPS['aa'] +,time_window_overlap_child,_HH_OVERLAPS['cc'] +,time_window_overlap_adult_child,_HH_OVERLAPS['ac'] +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) diff --git a/test/joint_tours/configs/joint_tour_frequency_composition_coeffs.csv b/test/joint_tours/configs/joint_tour_frequency_composition_coeffs.csv new file mode 100644 index 0000000000..1e3f0fbf46 --- /dev/null +++ b/test/joint_tours/configs/joint_tour_frequency_composition_coeffs.csv @@ -0,0 +1 @@ +coefficient_name,value,constrain diff --git a/test/joint_tours/configs/joint_tour_participation.csv b/test/joint_tours/configs/joint_tour_participation.csv new file mode 100644 index 0000000000..9f31511290 --- /dev/null +++ b/test/joint_tours/configs/joint_tour_participation.csv @@ -0,0 +1,67 @@ +Label,Description,Expression,participate,not_participate +,Dummy for full-time worker in adult party,(ptype==1) & (composition=='adults'),coef_full_time_worker_adults_only_party, +,Dummy for part-time worker in adult party,(ptype==2) & (composition=='adults'),coef_part_time_worker_adults_only_party, +,Dummy for university student in adult party,(ptype==3) & (composition=='adults'),coef_university_students_adults_only_party, +,Dummy for nonworker in adult party,(ptype==4) & (composition=='adults'),coef_non_worker_adults_only_party, +,Dummy for retiree in adult party,(ptype==5) & (composition=='adults'),coef_retiree_adults_only_party, +,Dummy for driving school child in children party,(ptype==6) & (composition=='children'),coef_driving_age_student_children_only_party, +,Dummy for pre-driving school child in children party,(ptype==7) & (composition=='children'),coef_pre_driving_age_student_children_only_party, +,Dummy for preschool child in children party,(ptype==8) & (composition=='children'),coef_child_too_young_for_school_children_only_party, +util_full_time_worker_mixed_party,Dummy for full-time worker in mixed party,(ptype==1) & (composition=='mixed'),coef_full_time_worker_mixed_party, +util_part_time_worker_mixed_party,Dummy for part-time worker in mixed party,(ptype==2) & (composition=='mixed'),coef_part_time_worker_mixed_party, +util_university_student_mixed_party,Dummy for university student in mixed party,(ptype==3) & (composition=='mixed'),coef_university_student_mixed_party, +util_non_worker_mixed_party,Dummy for nonworker in mixed party,(ptype==4) & (composition=='mixed'),coef_non_worker_mixed_party, +util_retiree_mixed_party,Dummy for retiree in mixed party,(ptype==5) & (composition=='mixed'),coef_retiree_mixed_party, +util_child_too_young_for_school_mixed_party,Dummy for driving school child in mixed party,(ptype==6) & (composition=='mixed'),coef_child_too_young_for_school_mixed_party, +util_pre_driving_age_student_mixed_party,Dummy for pre-driving school child in mixed party,(ptype==7) & (composition=='mixed'),coef_pre_driving_age_student_mixed_party, +util_driving_age_student_mixed_party,Dummy for preschool child in mixed party,(ptype==8) & (composition=='mixed'),coef_driving_age_student_mixed_party, +#,,,, +,Dummy for part-time worker on maintenance joint tour ,(ptype==2) & (tour_type=='othmaint'),coef_part_time_worker_specific_to_maintenance_joint_tours, +,Dummy for non-worker on maintenance joint tour ,(ptype==4) & (tour_type=='othmaint'),coef_non_worker_specific_to_maintenance_joint_tours, +,Dummy for preschool child on maintenance joint tour ,(ptype==8) & (tour_type=='othmaint'),coef_pre_school_kid_specific_to_maintenance_joint_tours, +,Dummy for full-time worker on eating out joint tour ,(ptype==1) & (tour_type=='eatout'),coef_full_time_worker_specific_to_eating_out_joint_tours, +,Dummy for part-time worker on eating out joint tour ,(ptype==2) & (tour_type=='eatout'),coef_part_time_worker_specific_to_eating_out_joint_tours, +,Dummy for pre-driving age school child on eating out joint tour ,(ptype==7) & (tour_type=='eatout'),coef_pre_driving_age_student_specific_to_eating_out_joint_tours, +,Dummy for part-time worker on discretionary joint tour ,(ptype==2) & (tour_type=='othdiscr'),coef_part_time_worker_specific_to_discretionary_joint_tours, +,Dummy for retiree on discretionary joint tour ,(ptype==5) & (tour_type=='othdiscr'),coef_retiree_specific_to_discretionary_joint_tours, +,Dummy for driving school child on discretionary joint tour ,(ptype==6) & (tour_type=='othdiscr'),coef_driving_age_student_specific_to_discretionary_joint_tours, +,Dummy for pre-driving school child on discretionary joint tour ,(ptype==7) & (tour_type=='othdiscr'),coef_pre_driving_age_student_specific_to_discretionary_joint_tours, +,Dummy for part-time worker on visiting joint tour ,(ptype==2) & (tour_type=='social'),coef_part_time_worker_specific_to_visiting_joint_tours, +,Dummy for non-worker on visiting joint tour ,(ptype==4) & (tour_type=='social'),coef_non_worker_specific_to_visiting_joint_tours, +,Dummy for retiree on visiting joint tour ,(ptype==5) & (tour_type=='social'),coef_retiree_specific_to_visiting_joint_tours, +,Dummy for driving school child on visiting joint tour ,(ptype==6) & (tour_type=='social'),coef_driving_age_student_specific_to_visiting_joint_tours, +,Dummy for preschool child on visiting joint tour ,(ptype==8) & (tour_type=='social'),coef_pre_school_kid_specific_to_visiting_joint_tours, +#,,,, +,Dummy for low car ownership for adult in adult party,(autosnum_workers)&(composition=='mixed')&adult,coef_adult_more_automobiles_than_workers_mixed_party, +,Dummy for no car for child in mixed party,(autos==0)&(composition=='mixed')&child,coef_child_zero_automobiles_mixed_party, +#,,,, +,Dummy for low income for adult in adult party,(income<30000)&(composition=='adults')&adult,coef_dummy_for_low_income_for_adult_in_adult_party, +,Dummy for high income for adult in mixed party,(income>100000)&(composition=='mixed')&adult,coef_dummy_for_high_income_for_adult_in_mixed_party, +,Dummy for high income for child in mixed party,(income>100000)&(composition=='mixed')&child,coef_dummy_for_high_income_for_child_in_mixed_party, +#,,,, +,No of HH joint tours for adult in adult party,(adult&(composition=='adults'))*num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, +,No of HH joint tours for adult in mixed party,(adult&(composition=='mixed'))*num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, +,No of HH joint tours for child in children party,(child&(composition=='children'))*num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, +,No of HH joint tours for child in mixed party,(child&(composition=='mixed'))*num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, +#,,,, +,No of other HH adults for adult in adult party,(adult & (composition=='adults')) * (num_adults.clip(upper=4) - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, +,No of other HH adults for adult in mixed party,(adult & (composition=='mixed')) * (num_adults.clip(upper=4) - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, +,No of other HH children for child in children party,(~adult & (composition=='children')) * (num_children.clip(upper=4) - 1),coef_child_number_of_other_children_in_the_household_child_only_party, +,No of other HH children for child in mixed party,(~adult & (composition=='mixed')) * (num_children.clip(upper=4) - 1),coef_child_number_of_other_children_in_the_household_mixed, +#,,,, +util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & (composition=='adults')) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, +util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & (composition=='mixed')) * log_time_window_overlap_adult_child,coef_adult_log_of_max_window_overlap_with_a_child_mixed, +util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult &(composition=='mixed')) * log_time_window_overlap_adult_child,coef_child_log_of_max_window_overlap_with_an_adult_mixed, +util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & (composition=='children')) * log_time_window_overlap_child,coef_child_log_of_max_window_overlap_with_a_child_child, +#,,,, +util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & (composition=='children'),coef_unavailable, +util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & (composition=='adults'),coef_unavailable, +util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, +#,,,, +util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & (composition=='adults') & (num_travel_active_adults<3),,coef_unavailable +util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & (composition=='mixed') & (num_travel_active_adults<2),,coef_unavailable +util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & (composition=='children') & (num_travel_active_children<3),,coef_unavailable +util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & (composition == 'mixed') & (num_travel_active_children<2),,coef_unavailable +#,,,, +,Global adjustment constant for whether person participated or not,1,coef_global_adj_for_paticipation, diff --git a/test/joint_tours/configs/joint_tour_participation.yaml b/test/joint_tours/configs/joint_tour_participation.yaml new file mode 100644 index 0000000000..6e4fe50506 --- /dev/null +++ b/test/joint_tours/configs/joint_tour_participation.yaml @@ -0,0 +1,21 @@ + +SPEC: joint_tour_participation.csv +COEFFICIENTS: joint_tour_participation_coefficients.csv + +LOGIT_TYPE: MNL + +max_participation_choice_iterations: 1000 + +preprocessor: + SPEC: joint_tour_participation_annotate_participants_preprocessor + DF: participants + TABLES: + - tours +# - persons +# - accessibility + +annotate_persons: + SPEC: annotate_persons_jtp + DF: persons + TABLES: + - joint_tour_participants diff --git a/test/joint_tours/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/test/joint_tours/configs/joint_tour_participation_annotate_participants_preprocessor.csv new file mode 100644 index 0000000000..39ed61f543 --- /dev/null +++ b/test/joint_tours/configs/joint_tour_participation_annotate_participants_preprocessor.csv @@ -0,0 +1,11 @@ +Description,Target,Expression +,_P_OVERLAPS,person_time_window_overlap(persons) +,time_window_overlap_adult,"reindex(_P_OVERLAPS.aa, participants.person_id)" +,time_window_overlap_child,"reindex(_P_OVERLAPS.cc, participants.person_id)" +,time_window_overlap_adult_child,"reindex(_P_OVERLAPS.ac, participants.person_id)" +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +#,, +,_JOINT_TOURS,tours[tours.tour_category=='joint'] +,num_hh_joint_tours,"reindex_i(_JOINT_TOURS.groupby('household_id').size(), participants.household_id)" \ No newline at end of file diff --git a/test/joint_tours/configs/joint_tour_participation_coefficients.csv b/test/joint_tours/configs/joint_tour_participation_coefficients.csv new file mode 100644 index 0000000000..8126d30883 --- /dev/null +++ b/test/joint_tours/configs/joint_tour_participation_coefficients.csv @@ -0,0 +1,59 @@ +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_full_time_worker_adults_only_party,-0.844885174,F +coef_part_time_worker_adults_only_party,-1.837563723,F +coef_university_students_adults_only_party,-0.970251833,F +coef_non_worker_adults_only_party,-0.757939204,F +coef_retiree_adults_only_party,1.196798335,F +coef_driving_age_student_children_only_party,-12.08924396,F +coef_pre_driving_age_student_children_only_party,-16.16999328,F +coef_child_too_young_for_school_children_only_party,-16.16999328,F +coef_full_time_worker_mixed_party,0.453048547,F +coef_part_time_worker_mixed_party,1.263225489,F +coef_university_student_mixed_party,1.561741231,F +coef_non_worker_mixed_party,2.90040237,F +coef_retiree_mixed_party,1.043276837,F +coef_child_too_young_for_school_mixed_party,-1.916267403,F +coef_pre_driving_age_student_mixed_party,-1.91645719,F +coef_driving_age_student_mixed_party,-0.933863842,F +#,, +coef_part_time_worker_specific_to_maintenance_joint_tours,0.766072366,F +coef_non_worker_specific_to_maintenance_joint_tours,0.971450303,F +coef_pre_school_kid_specific_to_maintenance_joint_tours,-0.52817951,F +coef_full_time_worker_specific_to_eating_out_joint_tours,0.535579735,F +coef_part_time_worker_specific_to_eating_out_joint_tours,1.23257663,F +coef_pre_driving_age_student_specific_to_eating_out_joint_tours,1.535608884,F +coef_part_time_worker_specific_to_discretionary_joint_tours,0.539337302,F +coef_retiree_specific_to_discretionary_joint_tours,1.105118702,F +coef_driving_age_student_specific_to_discretionary_joint_tours,-1.151066894,F +coef_pre_driving_age_student_specific_to_discretionary_joint_tours,0.798684189,F +coef_part_time_worker_specific_to_visiting_joint_tours,1.075535443,F +coef_non_worker_specific_to_visiting_joint_tours,1.075535443,F +coef_retiree_specific_to_visiting_joint_tours,-1.930328716,F +coef_driving_age_student_specific_to_visiting_joint_tours,-1.334515344,F +coef_pre_school_kid_specific_to_visiting_joint_tours,1.552698221,F +#,, +coef_adult_fewer_automobiles_than_workers_adult_only_party,1.292641814,F +coef_adult_more_automobiles_than_workers_mixed_party,-0.390671553,F +coef_child_zero_automobiles_mixed_party,-1.546687521,F +#,, +coef_dummy_for_low_income_for_adult_in_adult_party,-0.680688378,F +coef_dummy_for_high_income_for_adult_in_mixed_party,-0.20257569,F +coef_dummy_for_high_income_for_child_in_mixed_party,-0.74160668,F +#,, +coef_adult_number_of_joint_tours_adult_only,-0.599443484,F +coef_adult_number_of_joint_tours_mixed,-0.218541079,F +coef_child_number_of_joint_tours_child_only,-0.313832442,F +coef_child_number_of_joint_tours_mixed,-0.241748337,F +#,, +coef_adult_number_of_other_adults_in_the_household_adults_only_party,-0.747528682,F +coef_adult_number_of_other_adults_in_the_household_mixed_party,-0.285988025,F +coef_child_number_of_other_children_in_the_household_child_only_party,-2.305908575,F +coef_child_number_of_other_children_in_the_household_mixed,-0.471545203,F +#,, +coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,1.634378325,F +coef_adult_log_of_max_window_overlap_with_a_child_mixed,0.057012356,F +coef_child_log_of_max_window_overlap_with_an_adult_mixed,1.616796615,F +coef_child_log_of_max_window_overlap_with_a_child_child,10.70256432,F +#,, +coef_global_adj_for_paticipation,-1,T diff --git a/test/joint_tours/configs/network_los.yaml b/test/joint_tours/configs/network_los.yaml new file mode 100644 index 0000000000..391125a38e --- /dev/null +++ b/test/joint_tours/configs/network_los.yaml @@ -0,0 +1,14 @@ +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: False +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +zone_system: 1 + +taz_skims: skims.omx + +skim_time_periods: + time_window: 1440 + period_minutes: 60 + periods: [0, 3, 5, 9, 14, 18, 24] # 3=3:00-3:59, 5=5:00-5:59, 9=9:00-9:59, 14=2:00-2:59, 18=6:00-6:59 + labels: ['EA', 'EA', 'AM', 'MD', 'PM', 'EV'] \ No newline at end of file diff --git a/test/joint_tours/configs/settings.yaml b/test/joint_tours/configs/settings.yaml new file mode 100644 index 0000000000..64584bdf43 --- /dev/null +++ b/test/joint_tours/configs/settings.yaml @@ -0,0 +1,79 @@ +# input tables +input_table_list: + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + unique_hh_id: household_id + NP: hhsize + hh_workers_from_esr: num_workers + VEH: auto_ownership + MAZ: home_zone_id + HINCP: income + keep_columns: + - home_zone_id + - income + - hhsize + - HHT + - auto_ownership + - num_workers + - tablename: persons + filename: persons.csv + index_col: person_id + rename_columns: + unique_hh_id: household_id + AGEP: age + SPORDER: PNUM + SEX: sex + employed: pemploy + student_status: pstudent + person_type: ptype + keep_columns: + - household_id + - age + - PNUM + - sex + - pemploy + - pstudent + - ptype + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + MAZ_ORIGINAL: zone_id + CountyID: county_id + TAZ_ORIGINAL: TAZ + DistID: DISTRICT + HH: TOTHH + POP: TOTPOP + ACRES: TOTACRE + emp_total: TOTEMP + keep_columns: + - TAZ + - DISTRICT + - SD + - county_id + - TOTHH + - TOTPOP + - TOTACRE + - tablename: tours + filename: mandatory_tours.csv + # since tours has a canonical index name 'tour_id', we must explicitly indicate that no index should be assigned + # canonical index_col 'tour_id' will be assigned by initialize_tours + index_col: + rename_columns: + hh_id: household_id + start_period: start + end_period: end + keep_columns: + - person_id + - household_id + - person_type + - tour_category + - tour_purpose + - orig_mgra + - dest_mgra + - start + - end + +trace_hh_id: \ No newline at end of file diff --git a/test/joint_tours/configs/tour_departure_and_duration_alternatives.csv b/test/joint_tours/configs/tour_departure_and_duration_alternatives.csv new file mode 100644 index 0000000000..bddab06b9d --- /dev/null +++ b/test/joint_tours/configs/tour_departure_and_duration_alternatives.csv @@ -0,0 +1,191 @@ +start,end +5,5 +5,6 +5,7 +5,8 +5,9 +5,10 +5,11 +5,12 +5,13 +5,14 +5,15 +5,16 +5,17 +5,18 +5,19 +5,20 +5,21 +5,22 +5,23 +6,6 +6,7 +6,8 +6,9 +6,10 +6,11 +6,12 +6,13 +6,14 +6,15 +6,16 +6,17 +6,18 +6,19 +6,20 +6,21 +6,22 +6,23 +7,7 +7,8 +7,9 +7,10 +7,11 +7,12 +7,13 +7,14 +7,15 +7,16 +7,17 +7,18 +7,19 +7,20 +7,21 +7,22 +7,23 +8,8 +8,9 +8,10 +8,11 +8,12 +8,13 +8,14 +8,15 +8,16 +8,17 +8,18 +8,19 +8,20 +8,21 +8,22 +8,23 +9,9 +9,10 +9,11 +9,12 +9,13 +9,14 +9,15 +9,16 +9,17 +9,18 +9,19 +9,20 +9,21 +9,22 +9,23 +10,10 +10,11 +10,12 +10,13 +10,14 +10,15 +10,16 +10,17 +10,18 +10,19 +10,20 +10,21 +10,22 +10,23 +11,11 +11,12 +11,13 +11,14 +11,15 +11,16 +11,17 +11,18 +11,19 +11,20 +11,21 +11,22 +11,23 +12,12 +12,13 +12,14 +12,15 +12,16 +12,17 +12,18 +12,19 +12,20 +12,21 +12,22 +12,23 +13,13 +13,14 +13,15 +13,16 +13,17 +13,18 +13,19 +13,20 +13,21 +13,22 +13,23 +14,14 +14,15 +14,16 +14,17 +14,18 +14,19 +14,20 +14,21 +14,22 +14,23 +15,15 +15,16 +15,17 +15,18 +15,19 +15,20 +15,21 +15,22 +15,23 +16,16 +16,17 +16,18 +16,19 +16,20 +16,21 +16,22 +16,23 +17,17 +17,18 +17,19 +17,20 +17,21 +17,22 +17,23 +18,18 +18,19 +18,20 +18,21 +18,22 +18,23 +19,19 +19,20 +19,21 +19,22 +19,23 +20,20 +20,21 +20,22 +20,23 +21,21 +21,22 +21,23 +22,22 +22,23 +23,23 \ No newline at end of file From 625c6b8cbb55f77d35fc555d267b33aca6db8c5b Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Fri, 26 Aug 2022 10:22:00 -0400 Subject: [PATCH 13/57] set up testing infrastructure --- test/auto_ownership/.gitkeep | 0 test/cdap/.gitkeep | 0 test/conftest.py | 99 ++++++++++++++++++++++ test/joint_tour_frequency/.gitkeep | 0 test/non_mandatory_tour_frequency/.gitkeep | 0 test/parking_location/.gitkeep | 0 6 files changed, 99 insertions(+) create mode 100644 test/auto_ownership/.gitkeep create mode 100644 test/cdap/.gitkeep create mode 100644 test/conftest.py create mode 100644 test/joint_tour_frequency/.gitkeep create mode 100644 test/non_mandatory_tour_frequency/.gitkeep create mode 100644 test/parking_location/.gitkeep diff --git a/test/auto_ownership/.gitkeep b/test/auto_ownership/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/cdap/.gitkeep b/test/cdap/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/conftest.py b/test/conftest.py new file mode 100644 index 0000000000..d69a6a83c4 --- /dev/null +++ b/test/conftest.py @@ -0,0 +1,99 @@ +import os + +import orca +import pandas as pd +import pytest +from activitysim.core import pipeline +from activitysim.core.los import Network_LOS as los + + +@pytest.fixture(scope='module') +def initialize_pipeline(module: str, tables: dict[str, str], initialize_network_los: bool) -> pipeline.Pipeline: + test_dir = os.path.join('test', module) + configs_dir = os.path.join(test_dir, 'configs') + data_dir = os.path.join(test_dir, 'data') + output_dir = os.path.join(test_dir, 'output') + + if os.path.isdir(configs_dir): + orca.add_injectable('configs_dir', configs_dir) + + if os.path.isdir(data_dir): + orca.add_injectable('data_dir', data_dir) + + if os.path.isdir(test_dir): + if not os.path.isdir(output_dir): + os.mkdir(output_dir) + orca.add_injectable('output_dir', output_dir) + + # Read in the input test dataframes + for dataframe_name, idx_name in tables.items(): + df = pd.read_csv( + os.path.join('test', module, 'data', f'{dataframe_name}.csv'), index_col=idx_name + ) + orca.add_table(dataframe_name, df) + + if initialize_network_los: + net_los = los() + net_los.load_data() + orca.add_injectable('network_los', net_los) + + # Add an output directory in current working directory if it's not already there + try: + os.makedirs('output') + except FileExistsError: + # directory already exists + pass + + # Add the dataframes to the pipeline + pipeline.open_pipeline() + pipeline.add_checkpoint(module) + pipeline.close_pipeline() + + # By convention, this method needs to yield something + yield pipeline._PIPELINE + + if pipeline.is_open(): + pipeline.close_pipeline() + +@pytest.fixture(scope='module') +def reconnect_pipeline(module: str, initialize_network_los: bool, load_checkpoint: str) -> pipeline.Pipeline: + test_dir = os.path.join('test', module) + configs_dir = os.path.join(test_dir, 'configs') + data_dir = os.path.join(test_dir, 'data') + output_dir = os.path.join(test_dir, 'output') + + if os.path.isdir(configs_dir): + orca.add_injectable('configs_dir', configs_dir) + + if os.path.isdir(data_dir): + orca.add_injectable('data_dir', data_dir) + + if os.path.isdir(test_dir): + if not os.path.isdir(output_dir): + os.mkdir(output_dir) + orca.add_injectable('output_dir', output_dir) + + # Read in the existing pipeline + orca.add_injectable('pipeline_file_path', output_dir) + + if initialize_network_los: + net_los = los() + net_los.load_data() + orca.add_injectable('network_los', net_los) + + # Add an output directory in current working directory if it's not already there + try: + os.makedirs('output') + except FileExistsError: + # directory already exists + pass + + pipeline.open_pipeline(resume_after=load_checkpoint) + pipeline.add_checkpoint(module) + pipeline.close_pipeline() + # By convention, this method needs to yield something + yield pipeline._PIPELINE + + # pytest teardown code + if pipeline.is_open(): + pipeline.close_pipeline() diff --git a/test/joint_tour_frequency/.gitkeep b/test/joint_tour_frequency/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/non_mandatory_tour_frequency/.gitkeep b/test/non_mandatory_tour_frequency/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test/parking_location/.gitkeep b/test/parking_location/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 From 02c417bdb8b5acf6d7184441e4d880918c76f8bd Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Fri, 26 Aug 2022 11:00:56 -0400 Subject: [PATCH 14/57] nm tour frequency test script --- .../test_non_mandatory_tour_frequency.py | 335 ++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 test/non_mandatory_tour_frequency/test_non_mandatory_tour_frequency.py diff --git a/test/non_mandatory_tour_frequency/test_non_mandatory_tour_frequency.py b/test/non_mandatory_tour_frequency/test_non_mandatory_tour_frequency.py new file mode 100644 index 0000000000..3530434cb3 --- /dev/null +++ b/test/non_mandatory_tour_frequency/test_non_mandatory_tour_frequency.py @@ -0,0 +1,335 @@ +import logging +import pytest +import os +import shutil +import pandas as pd +import numpy as np +from numpy import dot +from numpy.linalg import norm + +# import models is necessary to initalize the model steps with orca +from activitysim.abm import models +from activitysim.core import pipeline, config +from activitysim.core import tracing + +logger = logging.getLogger(__name__) + +# Used by conftest.py initialize_pipeline method +@pytest.fixture(scope='module') +def module() -> str: + """ + A pytest fixture that returns the data folder location. + :return: folder location for any necessary data to initialize the tests + """ + return 'non_mandatory_tour_frequency' + + +# Used by conftest.py initialize_pipeline method +@pytest.fixture(scope='module') +def tables(prepare_module_inputs) -> dict[str, str]: + """ + A pytest fixture that returns the "mock" tables to build pipeline dataframes. The + key-value pair is the name of the table and the index column. + :return: dict + """ + return { + 'land_use': 'MAZ_ORIGINAL', + 'persons': 'person_id', + 'households': 'household_id', + 'accessibility': 'MAZ_ORIGINAL', + 'tours': 'tour_id' + } + +# Used by conftest.py initialize_pipeline method +# Set to true if you need to read skims into the pipeline +@pytest.fixture(scope='module') +def initialize_network_los() -> bool: + """ + A pytest boolean fixture indicating whether network skims should be read from the + fixtures test data folder. + :return: bool + """ + return False + +@pytest.fixture(scope='module') +def load_checkpoint() -> bool: + """ + checkpoint to be loaded from the pipeline when reconnecting. + """ + return 'initialize_households' + +# make a reconnect_pipeline internal to test module +@pytest.mark.skipif(os.path.isfile('test/non_mandatory_tour_frequency/output/pipeline.h5'), reason = "no need to recreate pipeline store if alreayd exist") +def test_prepare_input_pipeline(initialize_pipeline: pipeline.Pipeline, caplog): + # Run summarize model + caplog.set_level(logging.INFO) + + # run model step + pipeline.run(models=[ + 'initialize_landuse', + 'initialize_households' + ] + ) + + # get the updated pipeline data + person_df = pipeline.get_table('persons') + person_df.to_csv('test/non_mandatory_tour_frequency/output/person.csv',index=False) + + # get the updated pipeline data + household_df = pipeline.get_table('households') + household_df.to_csv('test/non_mandatory_tour_frequency/output/household.csv',index=False) + + pipeline.close_pipeline() + +def test_nmtf_from_pipeline(reconnect_pipeline: pipeline.Pipeline, caplog): + # Run summarize model + caplog.set_level(logging.INFO) + + # run model step + pipeline.run(models=[ + 'non_mandatory_tour_frequency' + ], + resume_after = 'initialize_households' + ) + + # get the updated pipeline data + person_df = pipeline.get_table('persons') + + # get the updated pipeline data + household_df = pipeline.get_table('households') + + ############################ + # person nmtf validation + ############################ + # nmtf person result from the model + logger.info('person nmtf pattern validation') + + target_key = "inmf_choice" + simulated_key = "non_mandatory_tour_frequency" + similarity_threshold = 0.99 + + simulated_df = create_summary(person_df, key=simulated_key, out_col="Simulated_Share") + + # result from the TM2 run + target_df = create_summary(person_df, key=target_key, out_col="Target_Share") + + # compare simulated and target results + similarity_value = compare_simulated_against_target(target_df, simulated_df, target_key, simulated_key) + + # if the cosine_similarity >= threshold then the simulated and target results are "similar" + assert similarity_value >= similarity_threshold + +# fetch/prepare existing files for model inputs +# e.g. read accessibilities.csv from ctramp result, rename columns, write out to accessibility.csv which is the input to activitysim +@pytest.fixture(scope='module') +def prepare_module_inputs() -> None: + """ + copy input files from sharepoint into test folder + + create unique person id in person file + + :return: None + """ + # https://wsponlinenam.sharepoint.com/sites/US-TM2ConversionProject/Shared%20Documents/Forms/ + # AllItems.aspx?id=%2Fsites%2FUS%2DTM2ConversionProject%2FShared%20Documents%2FTask%203%20ActivitySim&viewid=7a1eaca7%2D3999%2D4d45%2D9701%2D9943cc3d6ab1 + test_dir = os.path.join('test', 'non_mandatory_tour_frequency', 'data') + + accessibility_file = os.path.join(test_dir, 'tm2_outputs', 'accessibilities.csv') + household_file = os.path.join(test_dir, 'popsyn', 'households.csv') + person_file = os.path.join(test_dir, 'popsyn', 'persons.csv') + landuse_file = os.path.join(test_dir, 'landuse', 'maz_data_withDensity.csv') + + shutil.copy(accessibility_file, os.path.join(test_dir, 'accessibility.csv')) + shutil.copy(household_file, os.path.join(test_dir, 'households.csv')) + shutil.copy(person_file, os.path.join(test_dir, 'persons.csv')) + shutil.copy(landuse_file, os.path.join(test_dir, 'land_use.csv')) + + # add original maz id to accessibility table + land_use_df = pd.read_csv( + os.path.join(test_dir, 'land_use.csv') + ) + accessibility_df = pd.read_csv( + os.path.join(test_dir, 'accessibility.csv') + ) + + accessibility_df = pd.merge( + accessibility_df, + land_use_df[['MAZ', 'MAZ_ORIGINAL']].rename( + columns = {'MAZ' : 'mgra'} + ), + how = 'left', + on = 'mgra' + ) + + accessibility_df.to_csv( + os.path.join(test_dir, 'accessibility.csv'), + index = False + ) + + # currently household file has to have these two columns, even before annotation + # because annotate person happens before household and uses these two columns + # TODO find a way to get around this + #### + household_df = pd.read_csv( + os.path.join(test_dir, 'households.csv') + ) + + household_columns_dict = { + 'HHID' : 'household_id', + 'MAZ' : 'home_zone_id' + } + + household_df.rename(columns = household_columns_dict, inplace = True) + + tm2_simulated_household_df = pd.read_csv( + os.path.join(test_dir, 'tm2_outputs', 'householdData_1.csv') + ) + tm2_simulated_household_df.rename(columns = {'hh_id' : 'household_id'}, inplace = True) + + household_df = pd.merge( + household_df, + tm2_simulated_household_df[ + ['household_id', 'autos', 'automated_vehicles', 'transponder', 'cdap_pattern', 'jtf_choice'] + ], + how = 'inner', # tm2 is not 100% sample run + on = 'household_id' + ) + + household_df.to_csv( + os.path.join(test_dir, 'households.csv'), + index = False + ) + + person_df = pd.read_csv( + os.path.join(test_dir, 'persons.csv') + ) + + person_columns_dict = { + 'HHID' : 'household_id', + 'PERID' : 'person_id' + } + + person_df.rename(columns = person_columns_dict, inplace = True) + + tm2_simulated_person_df = pd.read_csv( + os.path.join(test_dir, 'tm2_outputs', 'personData_1.csv') + ) + tm2_simulated_person_df.rename(columns = {'hh_id' : 'household_id'}, inplace = True) + + person_df = pd.merge( + person_df, + tm2_simulated_person_df[ + [ + 'household_id', + 'person_id', + 'person_num', + 'type', + 'value_of_time', + 'activity_pattern', + 'imf_choice', + 'inmf_choice', + 'fp_choice', + 'reimb_pct', + 'workDCLogsum', + 'schoolDCLogsum' + ] + ], + how = 'inner', # tm2 is not 100% sample run + on = ['household_id', 'person_id'] + ) + + # get tm2 simulated workplace and school location results + tm2_simulated_wsloc_df = pd.read_csv( + os.path.join(test_dir, 'tm2_outputs', 'wsLocResults_1.csv') + ) + tm2_simulated_wsloc_df.rename(columns = {'HHID' : 'household_id', 'PersonID' : 'person_id'}, inplace = True) + + person_df = pd.merge( + person_df, + tm2_simulated_wsloc_df[ + [ + 'household_id', + 'person_id', + 'WorkLocation', + 'WorkLocationLogsum', # this is the same as `workDCLogsum` in tm2 person output + 'SchoolLocation', + 'SchoolLocationLogsum' # this is the same as `schoolDCLogsum` in tm2 person output + ] + ], + how = 'inner', # ctramp might not be 100% sample run + on = ['household_id', 'person_id'] + ) + + person_df.to_csv( + os.path.join(test_dir, 'persons.csv'), + index = False + ) + + ## get tour data from tn2 output + + tm2_simulated_indiv_tour_df = pd.read_csv( + os.path.join(test_dir, 'tm2_outputs', 'indivTourData_1.csv') + ) + tm2_simulated_joint_tour_df = pd.read_csv( + os.path.join(test_dir, 'tm2_outputs', 'jointTourData_1.csv') + ) + + tm2_simulated_tour_df = pd.concat( + [tm2_simulated_indiv_tour_df, tm2_simulated_joint_tour_df], + sort = False, + ignore_index = True + ) + + tm2_simulated_tour_df.rename(columns = {'hh_id' : 'household_id'}).to_csv( + os.path.join(test_dir, 'tours.csv'), + index = False + ) + + #### + +def create_summary(input_df, key, out_col = "Share") -> pd.DataFrame: + """ + Create summary for the input data. + 1. group input data by the "key" column + 2. calculate the percent of input data records in each "key" category. + + :return: pd.DataFrame + """ + + out_df = input_df.groupby(key).size().reset_index(name='Count') + out_df[out_col] = round(out_df["Count"]/out_df["Count"].sum(), 4) + + return out_df[[key, out_col]] + + +def cosine_similarity(a, b): + """ + Computes cosine similarity between two vectors. + + Cosine similarity is used here as a metric to measure similarity between two sequence of numbers. + Two sequence of numbers are represented as vectors (in a multi-dimensional space) and cosine similiarity is defined as the cosine of the angle between them + i.e., dot products of the vectors divided by the product of their lengths. + + :return: + """ + + return dot(a, b)/(norm(a)*norm(b)) + + +def compare_simulated_against_target(target_df: pd.DataFrame, simulated_df: pd.DataFrame, target_key: str, simulated_key:str) -> bool: + """ + compares the simulated and target results by computing the cosine similarity between them. + + :return: + """ + + merged_df = pd.merge(target_df, simulated_df, left_on=target_key, right_on=simulated_key, how="outer") + merged_df = merged_df.fillna(0) + + logger.info("simulated vs target share:\n%s" % merged_df) + + similarity_value = cosine_similarity(merged_df["Target_Share"].tolist(), merged_df["Simulated_Share"].tolist()) + + logger.info("cosine similarity:\n%s" % similarity_value) + + return similarity_value \ No newline at end of file From fbb139c6ecd2975244bc89118f433e5ecfc4716c Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Fri, 26 Aug 2022 11:02:10 -0400 Subject: [PATCH 15/57] nm tour frequency configs --- .../NonMandatoryIndividualTourFrequency.xls | Bin 0 -> 192512 bytes .../configs/annotate_households.csv | 13 ++ .../configs/annotate_landuse.csv | 6 + .../configs/annotate_persons.csv | 17 ++ .../configs/annotate_persons_after_hh.csv | 5 + .../configs/annotate_persons_nmtf.csv | 10 + .../configs/constants.yaml | 68 ++++++ .../configs/initialize_households.yaml | 48 +++++ .../configs/initialize_landuse.yaml | 54 +++++ .../configs/network_los.yaml | 14 ++ .../configs/non_mandatory_tour_frequency.csv | 187 +++++++++++++++++ .../configs/non_mandatory_tour_frequency.yaml | 52 +++++ ..._mandatory_tour_frequency_alternatives.csv | 198 ++++++++++++++++++ ...requency_annotate_persons_preprocessor.csv | 36 ++++ ...r_frequency_coefficients_PTYPE_DRIVING.csv | 61 ++++++ ...tour_frequency_coefficients_PTYPE_FULL.csv | 105 ++++++++++ ...r_frequency_coefficients_PTYPE_NONWORK.csv | 92 ++++++++ ...tour_frequency_coefficients_PTYPE_PART.csv | 103 +++++++++ ...frequency_coefficients_PTYPE_PRESCHOOL.csv | 48 +++++ ...r_frequency_coefficients_PTYPE_RETIRED.csv | 86 ++++++++ ...ur_frequency_coefficients_PTYPE_SCHOOL.csv | 73 +++++++ ...requency_coefficients_PTYPE_UNIVERSITY.csv | 81 +++++++ ...ndatory_tour_frequency_extension_probs.csv | 193 +++++++++++++++++ .../configs/settings.yaml | 60 ++++++ ...ur_departure_and_duration_alternatives.csv | 191 +++++++++++++++++ .../data/.gitkeep | 0 26 files changed, 1801 insertions(+) create mode 100644 test/non_mandatory_tour_frequency/configs/NonMandatoryIndividualTourFrequency.xls create mode 100644 test/non_mandatory_tour_frequency/configs/annotate_households.csv create mode 100644 test/non_mandatory_tour_frequency/configs/annotate_landuse.csv create mode 100644 test/non_mandatory_tour_frequency/configs/annotate_persons.csv create mode 100644 test/non_mandatory_tour_frequency/configs/annotate_persons_after_hh.csv create mode 100644 test/non_mandatory_tour_frequency/configs/annotate_persons_nmtf.csv create mode 100644 test/non_mandatory_tour_frequency/configs/constants.yaml create mode 100644 test/non_mandatory_tour_frequency/configs/initialize_households.yaml create mode 100644 test/non_mandatory_tour_frequency/configs/initialize_landuse.yaml create mode 100644 test/non_mandatory_tour_frequency/configs/network_los.yaml create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.csv create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.yaml create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_alternatives.csv create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv create mode 100644 test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_extension_probs.csv create mode 100644 test/non_mandatory_tour_frequency/configs/settings.yaml create mode 100644 test/non_mandatory_tour_frequency/configs/tour_departure_and_duration_alternatives.csv create mode 100644 test/non_mandatory_tour_frequency/data/.gitkeep diff --git a/test/non_mandatory_tour_frequency/configs/NonMandatoryIndividualTourFrequency.xls b/test/non_mandatory_tour_frequency/configs/NonMandatoryIndividualTourFrequency.xls new file mode 100644 index 0000000000000000000000000000000000000000..4726c3f73248adae3cc3c978e86424907238e027 GIT binary patch literal 192512 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

MB6@BP)Tr0?4wH1Y#3}uwyGD5Ngr{V&n_>hZ=~H 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 IU!C&*3nxMplK=n! literal 0 HcmV?d00001 diff --git a/test/non_mandatory_tour_frequency/configs/annotate_households.csv b/test/non_mandatory_tour_frequency/configs/annotate_households.csv new file mode 100644 index 0000000000..ac21d37975 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/annotate_households.csv @@ -0,0 +1,13 @@ +Description,Target,Expression +#,, annotate households table after import +,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" +number of fulltime workers,num_full_time_workers,"_PERSON_COUNT('ptype == 1', persons, households)" +number of parttime workers,num_part_time_workers,"_PERSON_COUNT('ptype == 2', persons, households)" +number of university student,num_university_students,"_PERSON_COUNT('ptype == 3', persons, households)" +number of non-workers,num_non_workers,"_PERSON_COUNT('ptype == 4', persons, households)" +number of retirees,num_retirees,"_PERSON_COUNT('ptype == 5', persons, households)" +number of driving age students,num_driving_age_students,"_PERSON_COUNT('ptype == 6', persons, households)" +number of pre-driving age school kids,num_pre_driving_age_school_kids,"_PERSON_COUNT('ptype == 7', persons, households)" +number of pre-school kids,num_pre_school_kids,"_PERSON_COUNT('ptype == 8', persons, households)" +number of pre-driving age school kids who go out,num_pre_driving_age_school_kids_go_out,"_PERSON_COUNT('(ptype == 7) & (cdap_activity != \'H\')', persons, households)" +number of pre-school kids who go out,num_pre_school_kids_go_out,"_PERSON_COUNT('(ptype == 8) & (cdap_activity != \'H\')', persons, households)" \ No newline at end of file diff --git a/test/non_mandatory_tour_frequency/configs/annotate_landuse.csv b/test/non_mandatory_tour_frequency/configs/annotate_landuse.csv new file mode 100644 index 0000000000..65237c0ada --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/annotate_landuse.csv @@ -0,0 +1,6 @@ +Description,Target,Expression +#,, annotate landuse table after import +household_density,household_density,land_use.TOTHH / land_use.TOTACRE +employment_density,employment_density,land_use.TOTEMP / land_use.TOTACRE +population_density,population_density,land_use.TOTPOP / land_use.TOTACRE +density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1) \ No newline at end of file diff --git a/test/non_mandatory_tour_frequency/configs/annotate_persons.csv b/test/non_mandatory_tour_frequency/configs/annotate_persons.csv new file mode 100644 index 0000000000..a68eb7e672 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/annotate_persons.csv @@ -0,0 +1,17 @@ +Description,Target,Expression +#,, annotate persons table after import +age_16_to_19,age_16_to_19,"persons.age.between(16, 19)" +age_16_p,age_16_p,persons.age >= 16 +adult,adult,persons.age >= 18 +male,male,persons.sex == 1 +female,female,persons.sex == 2 +,ptype,0 +,ptype,"np.where(persons.type == 'Full-time worker', 1, ptype)" +,ptype,"np.where(persons.type == 'Part-time worker', 2, ptype)" +,ptype,"np.where(persons.type == 'University student', 3, ptype)" +,ptype,"np.where(persons.type == 'Non-worker', 4, ptype)" +,ptype,"np.where(persons.type == 'Retired', 5, ptype)" +,ptype,"np.where(persons.type == 'Student of driving age', 6, ptype)" +,ptype,"np.where(persons.type == 'Student of non-driving age', 7, ptype)" +,ptype,"np.where(persons.type == 'Child too young for school', 8, ptype)" +home_zone_id,home_zone_id,"reindex(households.home_zone_id, persons.household_id)" \ No newline at end of file diff --git a/test/non_mandatory_tour_frequency/configs/annotate_persons_after_hh.csv b/test/non_mandatory_tour_frequency/configs/annotate_persons_after_hh.csv new file mode 100644 index 0000000000..0dfa16be64 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/annotate_persons_after_hh.csv @@ -0,0 +1,5 @@ +Description,Target,Expression +#,, annotate persons table after annotate_households +#,, adults get full hh_value_of_time and children get 60% +,_hh_vot,"reindex(households.hh_value_of_time, persons.household_id)" +,value_of_time,"_hh_vot.where(persons.age>=18, _hh_vot * 0.667)" \ No newline at end of file diff --git a/test/non_mandatory_tour_frequency/configs/annotate_persons_nmtf.csv b/test/non_mandatory_tour_frequency/configs/annotate_persons_nmtf.csv new file mode 100644 index 0000000000..07890f2379 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/annotate_persons_nmtf.csv @@ -0,0 +1,10 @@ +Description,Target,Expression +#,, annotate persons table after non_mandatory_tour_frequency model has run +num_non_mand,num_non_mand,tours[tours.tour_category=='non_mandatory'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_escort_tours,num_escort_tours,tours[tours.tour_type == 'escort'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_eatout_tours,num_eatout_tours,tours[tours.tour_type == 'eatout'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_shop_tours,num_shop_tours,tours[tours.tour_type == 'shopping'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_maint_tours,num_maint_tours,tours[tours.tour_type == 'othmaint'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_discr_tours,num_discr_tours,tours[tours.tour_type == 'othdiscr'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_social_tours,num_social_tours,tours[tours.tour_type == 'social'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_non_escort_tours,num_non_escort_tours,num_non_mand-num_escort_tours diff --git a/test/non_mandatory_tour_frequency/configs/constants.yaml b/test/non_mandatory_tour_frequency/configs/constants.yaml new file mode 100644 index 0000000000..b0bd5a1f37 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/constants.yaml @@ -0,0 +1,68 @@ +## ActivitySim +## See full license in LICENSE.txt. + + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +INCOME_SEGMENT_LOW: 1 +INCOME_SEGMENT_MED: 2 +INCOME_SEGMENT_HIGH: 3 +INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H + +# Correction for transit skim expressions +# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and +# therefore need to be divided by the scale factor if used in expressions +TRANSIT_SCALE_FACTOR: 100 diff --git a/test/non_mandatory_tour_frequency/configs/initialize_households.yaml b/test/non_mandatory_tour_frequency/configs/initialize_households.yaml new file mode 100644 index 0000000000..07e34e8a45 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/initialize_households.yaml @@ -0,0 +1,48 @@ +annotate_tables: + - tablename: persons + column_map: + HHID: household_id + PERID: person_id + AGEP: age + SEX: sex + SCHL: education_attainment + OCCP: occupation + WKHP: hours_worked + WKW: weeks_worked + EMPLOYED: employment_status + ESR: esr + SCHG: grade_attending + activity_pattern: cdap_activity + annotate: + SPEC: annotate_persons + DF: persons + TABLES: + - households + - tablename: households + column_map: + HHID: household_id + MAZ: home_zone_id + HHINCADJ: income + NWRKRS_ESR: num_workers + VEH: auto_ownership + NP: hhsize + HHT: hh_type + BLD: building_size + TYPE: hh_unit_type + MTCCountyID: county_id + annotate: + SPEC: annotate_households + DF: households + TABLES: + - persons + - land_use + +CONSTANTS: + PTYPE_FULL: 1 + PTYPE_PART: 2 + PTYPE_UNIVERSITY: 3 + PTYPE_NONWORK: 4 + PTYPE_RETIRED: 5 + PTYPE_DRIVING: 6 + PTYPE_SCHOOL: 7 + PTYPE_PRESCHOOL: 8 \ No newline at end of file diff --git a/test/non_mandatory_tour_frequency/configs/initialize_landuse.yaml b/test/non_mandatory_tour_frequency/configs/initialize_landuse.yaml new file mode 100644 index 0000000000..7cc1d7e346 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/initialize_landuse.yaml @@ -0,0 +1,54 @@ +annotate_tables: + - tablename: land_use + column_map: + MAZ_ORIGINAL: zone_id + CountyID: county_id + DistID: DISTRICT + HH: TOTHH + POP: TOTPOP + ACRES: TOTACRE + emp_total: TOTEMP + annotate: + SPEC: annotate_landuse + DF: land_use + - tablename: accessibility + column_map: + column_1: nonmandatory_auto_accessibility + column_2: nonmandatory_transit_accessibility + column_3: nonmandatory_nm_accessibility + column_4: nonmandatory_sov0_accessibility + column_5: nonmandatory_sov1_accessibility + column_6: nonmandatory_sov2_accessibility + column_7: nonmandatory_hov0_accessibility + column_8: nonmandatory_hov1_accessibility + column_9: nonmandatory_hov2_accessibility + column_10: shop_hov_insufficient_accessibility + column_11: shop_hov_sufficient_accessibility + column_12: shop_hov_oversufficient_accessibility + column_13: maint_hov_insufficient_accessibility + column_14: maint_hov_sufficient_accessibility + column_15: maint_hov_oversufficient_accessibility + column_16: eat_hov_insufficient_accessibility + column_17: eat_hov_sufficient_accessibility + column_18: eat_hov_oversufficient_accessibility + column_19: visit_hov_insufficient_accessibility + column_20: visit_hov_sufficient_accessibility + column_21: visit_hov_oversufficient_accessibility + column_22: discr_hov_insufficient_accessibility + column_23: discr_hov_sufficient_accessibility + column_24: discr_hov_oversufficient_accessibility + column_25: escort_hov_insufficient_accessibility + column_26: escort_hov_sufficient_accessibility + column_27: escort_hov_oversufficient_accessibility + column_28: shop_sov_insufficient_accessibility + column_29: shop_sov_sufficient_accessibility + column_30: shop_sov_oversufficient_accessibility + column_31: maint_sov_insufficient_accessibility + column_32: maint_sov_sufficient_accessibility + column_33: maint_sov_oversufficient_accessibility + column_40: discr_sov_insufficient_accessibility + column_41: discr_sov_sufficient_accessibility + column_42: discr_sov_oversufficient_accessibility + column_45: total_emp_accessibility + column_47: hh_walktransit_accessibility + mgra : zone_id \ No newline at end of file diff --git a/test/non_mandatory_tour_frequency/configs/network_los.yaml b/test/non_mandatory_tour_frequency/configs/network_los.yaml new file mode 100644 index 0000000000..391125a38e --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/network_los.yaml @@ -0,0 +1,14 @@ +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: False +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +zone_system: 1 + +taz_skims: skims.omx + +skim_time_periods: + time_window: 1440 + period_minutes: 60 + periods: [0, 3, 5, 9, 14, 18, 24] # 3=3:00-3:59, 5=5:00-5:59, 9=9:00-9:59, 14=2:00-2:59, 18=6:00-6:59 + labels: ['EA', 'EA', 'AM', 'MD', 'PM', 'EV'] \ No newline at end of file diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.csv new file mode 100644 index 0000000000..e46c1d4a54 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.csv @@ -0,0 +1,187 @@ +Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL +util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour +util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour +util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour +util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour +util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour +util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour +util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mandatory_tours == 0) & (num_person_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours +util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mandatory_tours > 0) | (num_person_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours +util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,,,,, +util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,,,,,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 +util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,,coef_total_number_of_tours_is_3,,,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 +util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,,coef_total_number_of_tours_is_4,,,, +util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,,, +util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,,, +util_total_number_of_tours_is_1+,Total Number of Tours >= 1,tot_tours >= 1,,,,,,coef_total_number_of_tours_is_1_plus,, +util_total_number_of_tours_is_4+,Total Number of Tours >= 4,tot_tours >= 4,,,,,,coef_total_number_of_tours_is_4_plus,coef_total_number_of_tours_is_4_plus,coef_total_number_of_tours_is_4_plus +util_has_mandatory_tours_and_tour_frequency_is_1,One or more Mandatory tour & tour frequency =1,(num_mandatory_tours>0)&(tot_tours == 1),,,,,,,coef_has_mandatory_tours_and_tour_frequency_is_1, +util_has_mandatory_tours_and_tour_frequency_is_2,One or more Mandatory tour & tour frequency =2,(num_mandatory_tours>0)&(tot_tours == 2),coef_has_mandatory_tours_and_tour_frequency_is_2,coef_has_mandatory_tours_and_tour_frequency_is_2,,,,,, +util_has_mandatory_tours_and_tour_frequency_is_2+,One or more Mandatory tour & tour frequency =2+,(num_mandatory_tours>0)&(tot_tours >= 2),,,coef_has_mandatory_tours_and_tour_frequency_is_2_plus,,,coef_has_mandatory_tours_and_tour_frequency_is_2_plus,coef_has_mandatory_tours_and_tour_frequency_is_2_plus,coef_has_mandatory_tours_and_tour_frequency_is_2_plus +util_has_mandatory_tours_and_tour_frequency_is_3,One or more Mandatory tour & tour frequency =3,(num_mandatory_tours>0)&(tot_tours == 3),coef_has_mandatory_tours_and_tour_frequency_is_3,coef_has_mandatory_tours_and_tour_frequency_is_3,,,,,, +util_has_mandatory_tours_and_tour_frequency_is_4+,One or more Mandatory tour & tour frequency =4+,(num_mandatory_tours>0)&(tot_tours >= 4),coef_has_mandatory_tours_and_tour_frequency_is_4_plus,coef_has_mandatory_tours_and_tour_frequency_is_4_plus,,,,,, +util_has_joint_tours_and_tour_frequency_is_1,One or more Joint tour & tour frequency =1,(num_person_joint_tours>0)&(tot_tours == 1),,,coef_has_joint_tours_and_tour_frequency_is_1,coef_has_joint_tours_and_tour_frequency_is_1,coef_has_joint_tours_and_tour_frequency_is_1,,, +util_has_joint_tours_and_tour_frequency_is_2,One or more Joint tour & tour frequency =2,(num_person_joint_tours>0)&(tot_tours == 2),,,,coef_has_joint_tours_and_tour_frequency_is_2,,,, +util_has_joint_tours_and_tour_frequency_is_3+,One or more Joint tour & tour frequency =3+,(num_person_joint_tours>0)&(tot_tours >= 3),coef_has_joint_tours_and_tour_frequency_is_3_plus,,,coef_has_joint_tours_and_tour_frequency_is_3_plus,,,, +util_has_joint_tours_and_tour_frequency_is_4+,One or more Joint tour & tour frequency =4+,(num_person_joint_tours>0)&(tot_tours >= 4),,coef_has_joint_tours_and_tour_frequency_is_4_plus,,,,,, +util_has_joint_tours_and_tour_frequency_is_2+,One or more Joint tour & tour frequency =2+,(num_person_joint_tours>0)&(tot_tours >= 2),,,coef_has_joint_tours_and_tour_frequency_is_2_plus,,coef_has_joint_tours_and_tour_frequency_is_2_plus,,, +util_has_joint_tours_and_tour_frequency_is_1+,One or more Joint tour & tour frequency =1+,(num_person_joint_tours>0)&(tot_tours >= 1),,,,,,,coef_has_joint_tours_and_tour_frequency_is_1_plus, +util_number_of_joint_shopping_tours,Number of Joint Shopping tours,(shopping>0) * num_person_joint_shop_tours,coef_number_of_joint_shopping_tours,,,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,,, +util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,(othmaint>0) * num_person_joint_maint_tours,,,,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,,, +util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,(eatout>0) * num_person_joint_eatout_tours,,,,,coef_number_of_joint_eating_out_tours,,, +util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,(othdiscr>0) * num_person_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,,,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours, +util_more_than_one_escorting_tours,More than one escorting tours,escort > 1,coef_more_than_one_escorting_tours,coef_more_than_one_escorting_tours,coef_more_than_one_escorting_tours,coef_more_than_one_escorting_tours,coef_more_than_one_escorting_tours,,coef_more_than_one_escorting_tours,coef_more_than_one_escorting_tours +util_more_than_one_shopping_tours,More than one shopping tours,shopping > 1,,coef_more_than_one_shopping_tours,,coef_more_than_one_shopping_tours,coef_more_than_one_shopping_tours,,, +util_more_than_one_maintenance_tours,More than one maintenance tours,othmaint>1,,,,coef_more_than_one_maintenance_tours,coef_more_than_one_maintenance_tours,,, +util_more_than_one_discretionary_tours,More than one discretionary tours,othdiscr > 1,coef_more_than_one_discretionary_tours,coef_more_than_one_discretionary_tours,,coef_more_than_one_discretionary_tours,,coef_more_than_one_discretionary_tours,coef_more_than_one_discretionary_tours, +util_low_income_group_and_escorting_tour,Dummy for low Income group (> 150K) & escorting tour,low_income * escort,,,coef_low_income_group_and_escorting_tour,,,coef_low_income_group_and_escorting_tour,, +util_mediumlow_income_group_and_escorting_tour,Dummy for medium low Income group (> 150K) & escorting tour,medium_low_income * escort,,,coef_medium_low_income_group_and_escorting_tour,,,coef_medium_low_income_group_and_escorting_tour,, +util_mediumhigh_income_group_and_escorting_tour,Dummy for medium high Income group (> 150K) & escorting tour,medium_high_income * escort,,,coef_medium_high_income_group_and_escorting_tour,,,,, +util_high_income_group_and_escorting_tour,Dummy for high Income group (> 150K) & escorting tour,high_income * escort,coef_high_income_group_and_escorting_tour,coef_high_income_group_and_escorting_tour,coef_high_income_group_and_escorting_tour,,,,,coef_high_income_group_and_escorting_tour +util_low_income_group_and_shopping_tour,Dummy for low Income group (> 150K) & shopping tour,low_income * shopping,,coef_low_income_group_and_shopping_tour,,coef_low_income_group_and_shopping_tour,,,, +util_mediumlow_income_group_and_shopping_tour,Dummy for medium low Income group (> 150K) & shopping tour,medium_low_income * shopping,,coef_medium_low_income_group_and_shopping_tour,,coef_medium_low_income_group_and_shopping_tour,,,, +util_mediumhigh_income_group_and_shopping_tour,Dummy for medium high Income group (> 150K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_medium_high_income_group_and_shopping_tour,coef_medium_high_income_group_and_shopping_tour,,coef_mediumhigh_income_group_and_shopping_tour,,, +util_high_income_group_and_shopping_tour,Dummy for high Income group (> 150K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,,coef_high_income_group_and_shopping_tour,,coef_high_income_group_and_shopping_tour, +util_low_income_group_and_maintenance_tour,Dummy for low Income group (<30k) & maintenance tour,low_income * othmaint,coef_low_income_group_and_maintenance_tour,,,,coef_low_income_group_and_maintenance_tour,,, +util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (30K-60K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,,,,coef_mediumlow_income_group_and_maintenance_tour,,, +util_mediumhigh_income_group_and_maintenance_tour,Dummy for Medium high Income group (30K-60K) & maintenance tour,medium_high_income * othmaint,,,coef_mediumhigh_income_group_and_maintenance_tour,,,,coef_mediumhigh_income_group_and_maintenance_tour, +util_high_income_group_and_maintenance_tour,Dummy for High Income group (>150K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,,coef_high_income_group_and_maintenance_tour,,,,coef_high_income_group_and_maintenance_tour, +util_low_income_group_and_eating_out_tour,Dummy for Low Income group (<30K) & Eating out tour,low_income * eatout,coef_low_income_group_and_eating_out_tour,coef_low_income_group_and_eating_out_tour,,coef_low_income_group_and_eating_out_tour,coef_low_income_group_and_eating_out_tour,,, +util_medium_low_income_group_and_eating_out_tour,Dummy for medium low Income group (>150K) & Eating out tour,medium_low_income * eatout,,coef_medium_low_income_group_and_eating_out_tour,,,coef_medium_low_income_group_and_eating_out_tour,,, +util_medium_high_income_group_and_eating_out_tour,Dummy for medium high Income group (>150K) & Eating out tour,medium_high_income * eatout,,,coef_medium_high_income_group_and_eating_out_tour,,,,, +util_high_income_group_and_eating_out_tour,Dummy for High Income group (>150K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,,,, +util_low_income_group_and_discretionary_tour,Dummy for Low Income group (<30K) & Discretionary tour,low_income * othdiscr,coef_low_income_group_and_discretionary_tour,coef_low_income_group_and_discretionary_tour,coef_low_income_group_and_discretionary_tour,coef_low_income_group_and_discretionary_tour,coef_low_income_group_and_discretionary_tour,coef_low_income_group_and_discretionary_tour,coef_low_income_group_and_discretionary_tour, +util_medium_low_income_group_and_discretionary_tour,Dummy for Medium Low Income group (<30K) & Discretionary tour,medium_low_income * othdiscr,,,,coef_medium_low_income_group_and_discretionary_tour,,,coef_medium_low_income_group_and_discretionary_tour, +util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (100k-150K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,, +util_high_income_group_and_discretionary_tour,Dummy for High Income group (>150K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour, +util_low_income_group_and_visiting_tour,Dummy for Low Income group (<30k) & Visiting tour,low_income * social,coef_low_income_group_and_visiting_tour,,coef_low_income_group_and_visiting_tour,,,,coef_low_income_group_and_visiting_tour, +util_mediumlow_income_group_and_visiting_tour,Dummy for medium Low Income group (<30k) & Visiting tour,medium_low_income * social,,,coef_medium_low_income_group_and_visiting_tour,,,,coef_medium_low_income_group_and_visiting_tour, +util_high_income_group_and_visiting_tour,Dummy for high Income group (<30k) & Visiting tour,high_income * social,,,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour, +util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,,,,coef_mediumhigh_income_group_and_visiting_tour,,coef_mediumhigh_income_group_and_visiting_tour,, +util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,,,, +util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,, +util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,,,coef_female_and_maintenance_tour,,coef_female_and_maintenance_tour,,, +util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,,coef_female_and_eatingout_tour,,,coef_female_and_eatingout_tour,,, +util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,,,,,coef_female_and_discretionary_tour,,, +util_female_and_discretionary_tour,Dummy for Female & Visiting Tour,female * social,,,coef_female_and_visit_tour,coef_female_and_visit_tour,,,, +util_zero_car_ownership_and_tour_frequency_is_2+,Dummy for zero car ownership & tour frequency >=2,no_cars & (tot_tours >= 2),coef_zero_car_ownership_and_tour_frequency_is_2_plus,coef_zero_car_ownership_and_tour_frequency_is_2_plus,,coef_zero_car_ownership_and_tour_frequency_is_2_plus,,,, +util_car_shortage_vs_workers_and_tour_frequency_is_2+,Dummy for Car Shortage vs Workers & tour frequency >=2,~no_cars & (car_sufficiency < 0) & (tot_tours >= 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_2_plus,,,,,, +util_car_surplus_vs_workers_and_tour_frequency_is_1+,Dummy for Car Surplus vs Workers & tour frequency >=1,~no_cars & (car_sufficiency > 0) & (tot_tours >= 1),,,coef_car_surplus_vs_workers_and_tour_frequency_is_1_plus,,,,, +util_car_surplus_vs_workers_and_tour_frequency_is_3+,Dummy for Car Surplus vs Workers & tour frequency >=3,~no_cars & (car_sufficiency > 0) & (tot_tours >= 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3_plus,,,,,,, +util_zero_car_ownership_and_escorting_tour,Dummy for zero car ownership & number of escorting tour,no_cars * escort,coef_zero_car_ownership_and_escorting_tour,,,coef_zero_car_ownership_and_escorting_tour,,,,coef_zero_car_ownership_and_escorting_tour +util_car_shortage_vs_workers_and_escorting_tour,Dummy for Car Shortage vs Workers & number of escorting tours,(~no_cars & (car_sufficiency < 0)) * escort,coef_car_shortage_vs_workers_and_number_of_escorting_tours,coef_car_shortage_vs_workers_and_number_of_escorting_tours,,,,,,coef_car_shortage_vs_workers_and_number_of_escorting_tours +util_car_surplus_vs_workers_and_escorting_tour,Dummy for Car Surplus vs Workers & number of escorting tours,(~no_cars & (car_sufficiency > 0)) * escort,,coef_car_surplus_vs_workers_and_number_of_escorting_tours,,coef_car_surplus_vs_workers_and_number_of_escorting_tours,,,, +util_car_shortage_vs_workers_and_shopping_tour,Dummy for Car Shortage vs Workers & number of shopping tours,(~no_cars & (car_sufficiency < 0)) * shopping,,coef_car_shortage_vs_workers_and_number_of_shopping_tours,,,,,, +util_car_surplus_vs_workers_and_shopping_tour,Dummy for Car Surplus vs Workers & number of shopping tours,(~no_cars & (car_sufficiency > 0)) * shopping,,coef_car_surplus_vs_workers_and_number_of_shopping_tours,,,,,, +util_car_surplus_vs_workers_and_maintenance_tour,Dummy for Car Surplus vs Workers & number of maintenance tours,(~no_cars & (car_sufficiency > 0)) * othmaint,,,,,,,coef_car_surplus_vs_workers_and_number_of_maintenance_tours, +util_car_surplus_vs_workers_and_discretionary_tour,Dummy for Car Surplus vs Workers & number of discretionary tours,(~no_cars & (car_sufficiency > 0)) * othdiscr,,,,,,,coef_car_surplus_vs_workers_and_number_of_discretionary_tours, +util_number_of_full_time_worker_and_escorting_tour,Dummy for number of Full time Worker (other than modeled person) & Escorting tour ,num_full_time_workers_not_self * escort,coef_number_of_full_time_worker_and_escorting_tour,coef_number_of_full_time_worker_and_escorting_tour,coef_number_of_full_time_worker_and_escorting_tour,coef_number_of_full_time_worker_and_escorting_tour,coef_number_of_full_time_worker_and_escorting_tour,,, +util_number_of_part_time_worker_and_escorting_tour,Dummy for number of Part time Worker (other than modeled person) & Escorting tour ,num_part_time_workers_not_self * escort,coef_number_of_part_time_worker_and_escorting_tour,coef_number_of_part_time_worker_and_escorting_tour,coef_number_of_part_time_worker_and_escorting_tour,coef_number_of_part_time_worker_and_escorting_tour,coef_number_of_part_time_worker_and_escorting_tour,,,coef_number_of_part_time_worker_and_escorting_tour +util_number_of_non_worker_and_escorting_tour,Dummy for number of Non-Worker (other than modeled person) & Escorting tour ,num_non_workers_not_self * escort,coef_number_of_non_worker_and_escorting_tour,coef_number_of_non_worker_and_escorting_tour,coef_number_of_non_worker_and_escorting_tour,coef_number_of_non_worker_and_escorting_tour,coef_number_of_non_worker_and_escorting_tour,,,coef_number_of_non_worker_and_escorting_tour +util_number_of_retiree_and_escorting_tour,Dummy for number of Retiree (other than modeled person) & Escorting tour ,num_retirees_not_self * escort,coef_number_of_retiree_and_escorting_tour,,coef_number_of_retiree_and_escorting_tour,coef_number_of_retiree_and_escorting_tour,,,, +util_number_of_university_student_and_escorting_tour,Dummy for number of University Student (other than modeled person) & Escorting tour ,num_university_students_not_self * escort,coef_number_of_university_student_and_escorting_tour,coef_number_of_university_student_and_escorting_tour,coef_number_of_university_student_and_escorting_tour,coef_number_of_university_student_and_escorting_tour,,,,coef_number_of_university_student_and_escorting_tour +util_number_of_driving_school_kid_and_escorting_tour,Dummy for number of Driving School Kid (other than modeled person) & Escorting tour ,num_driving_age_students_not_self * escort,coef_number_of_driving_school_kid_and_escorting_tour,coef_number_of_driving_school_kid_and_escorting_tour,,coef_number_of_driving_school_kid_and_escorting_tour,coef_number_of_driving_school_kid_and_escorting_tour,,, +util_go_out_pre_driving_school_kid_and_escorting_tour,Dummy for number of Pre-Driving School Kid go out & Escorting tour ,num_pre_driving_age_school_kids_go_out * escort,coef_go_out_pre_driving_school_kid_and_escorting_tour,coef_go_out_pre_driving_school_kid_and_escorting_tour,coef_go_out_pre_driving_school_kid_and_escorting_tour,coef_go_out_pre_driving_school_kid_and_escorting_tour,coef_go_out_pre_driving_school_kid_and_escorting_tour,coef_go_out_pre_driving_school_kid_and_escorting_tour,coef_go_out_pre_driving_school_kid_and_escorting_tour,coef_go_out_pre_driving_school_kid_and_escorting_tour +util_go_out_pre_school_kid_and_escorting_tour,Dummy for Pre-School Kid going out & Escorting tour ,num_pre_school_kids_go_out * escort,coef_go_out_school_kid_and_escorting_tour,coef_go_out_school_kid_and_escorting_tour,coef_go_out_school_kid_and_escorting_tour,coef_go_out_school_kid_and_escorting_tour,,,,coef_go_out_school_kid_and_escorting_tour +util_number_of_full_time_worker_and_shopping_tour,Dummy for number of Full time Worker (other than modeled person) & Shopping tour ,num_full_time_workers_not_self * shopping,,coef_number_of_full_time_worker_and_shopping_tour,coef_number_of_full_time_worker_and_shopping_tour,,,coef_number_of_full_time_worker_and_shopping_tour,, +util_number_of_part_time_worker_and_shopping_tour,Dummy for number of Part time Worker (other than modeled person) & Shopping tour ,num_part_time_workers_not_self * shopping,,coef_number_of_part_time_worker_and_shopping_tour,coef_number_of_part_time_worker_and_shopping_tour,,,coef_number_of_part_time_worker_and_shopping_tour,, +util_number_of_non_worker_and_shopping_tour,Dummy for number of Non-Worker (other than modeled person) & Shopping tour ,num_non_workers_not_self * shopping,,coef_number_of_non_worker_and_shopping_tour,,coef_number_of_non_worker_and_shopping_tour,,coef_number_of_non_worker_and_shopping_tour,, +util_number_of_retiree_and_shopping_tour,Dummy for number of Retiree (other than modeled person) & Shopping tour ,num_retirees_not_self * shopping,,,,,coef_number_of_retiree_and_shopping_tour,,, +util_number_of_university_student_and_shopping_tour,Dummy for number of University Student (other than modeled person) & Shopping tour ,num_university_students_not_self * shopping,,,coef_number_of_university_student_and_shopping_tour,,,,, +util_number_of_driving_school_kid_and_shopping_tour,Dummy for number of Driving School Kid (other than modeled person) & Shopping tour ,num_driving_age_students_not_self * shopping,coef_number_of_driving_school_kid_and_shopping_tour,,,,,,coef_number_of_driving_school_kid_and_shopping_tour, +util_number_of_pre_driving_school_kid_and_shopping_tour,Dummy for number of Pre-Driving School Kid (other than modeled person) & Shopping tour ,num_pre_driving_age_school_kids_not_self * shopping,coef_number_of_pre_driving_school_kid_and_shopping_tour,,,,,coef_number_of_pre_driving_school_kid_and_shopping_tour,coef_number_of_pre_driving_school_kid_and_shopping_tour, +util_number_of_pre_school_kid_and_shopping_tour,Dummy for number of Pre-School Kid (other than modeled person) & Shopping tour ,num_pre_school_kids_not_self * shopping,coef_number_of_pre_school_kid_and_shopping_tour,,,,,coef_number_of_pre_school_kid_and_shopping_tour,coef_number_of_pre_school_kid_and_shopping_tour, +util_number_of_full_time_worker_and_maintenance_tour,Dummy for number of Full time Worker (other than modeled person) & Maintenance tour ,num_full_time_workers_not_self * othmaint,coef_number_of_full_time_worker_and_maintenance_tour,coef_number_of_full_time_worker_and_maintenance_tour,coef_number_of_full_time_worker_and_maintenance_tour,coef_number_of_full_time_worker_and_maintenance_tour,,,, +util_number_of_part_time_worker_and_maintenance_tour,Dummy for number of Part time Worker (other than modeled person) & Maintenance tour ,num_part_time_workers_not_self * othmaint,coef_number_of_part_time_worker_and_maintenance_tour,coef_number_of_part_time_worker_and_maintenance_tour,coef_number_of_part_time_worker_and_maintenance_tour,coef_number_of_part_time_worker_and_maintenance_tour,,,, +util_number_of_non_worker_and_maintenance_tour,Dummy for number of Non-Worker(other than modeled person) & Maintenance tour ,num_non_workers_not_self * othmaint,coef_number_of_non_worker_and_maintenance_tour,coef_number_of_non_worker_and_maintenance_tour,coef_number_of_non_worker_and_maintenance_tour,,,,, +util_number_of_retiree_and_maintenance_tour,Dummy for number of Retiree (other than modeled person) & Maintenance tour ,num_retirees_not_self * othmaint,,,,,coef_number_of_retiree_and_maintenance_tour,,, +util_number_of_university_student_and_maintenance_tour,Dummy for number of University Student (other than modeled person) & Maintenance tour ,num_university_students_not_self * othmaint,coef_number_of_university_student_and_maintenance_tour,,coef_number_of_university_student_and_maintenance_tour,,,,, +util_number_of_full_time_worker_and_eating_out_tour,Dummy for number of Full time Worker (other than modeled person) & Eating Out tour ,num_full_time_workers_not_self * eatout,coef_number_of_full_time_worker_and_eating_out_tour,coef_number_of_full_time_worker_and_eating_out_tour,,,,,, +util_number_of_part_time_worker_and_eating_out_tour,Dummy for number of Part time Worker (other than modeled person) & Eating Out tour ,num_part_time_workers_not_self * eatout,coef_number_of_part_time_worker_and_eating_out_tour,,,,,,, +util_number_of_non_worker_and_eating_out_tour,Dummy for number of Non-Worker (other than modeled person) & Eating Out tour ,num_non_workers_not_self * eatout,coef_number_of_non_worker_and_eating_out_tour,,,,,,, +util_number_of_retiree_and_eating_out_tour,Dummy for number of Retiree (other than modeled person) & Eating Out tour ,num_retirees_not_self * eatout,coef_number_of_retiree_and_eating_out_tour,,,,,,, +util_number_of_university_student_and_eating_out_tour,Dummy for number of University Student (other than modeled person) & Eating Out tour ,num_university_students_not_self * eatout,coef_number_of_university_student_and_eating_out_tour,,,,,,, +util_number_of_pre_driving_school_kid_and_eating_out_tour,Dummy for number of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,num_pre_driving_age_school_kids_not_self * eatout,coef_number_of_pre_driving_school_kid_and_eating_out_tour,,,coef_number_of_pre_driving_school_kid_and_eating_out_tour,,,, +util_number_of_pre_school_kid_and_eating_out_tour,Dummy for number of Pre-School Kid (other than modeled person) & Eating Out tour ,num_pre_school_kids_not_self * eatout,coef_number_of_pre_school_kid_and_eating_out_tour,,,coef_number_of_pre_school_kid_and_eating_out_tour,,,, +util_number_of_part_time_worker_and_visiting_tour,Dummy for number of Part time Worker (other than modeled person) & Visiting tour ,num_part_time_workers_not_self * social,,coef_number_of_part_time_worker_and_visiting_tour,,,,,, +util_number_of_non_worker_and_visiting_tour,Dummy for number of Non-Worker (other than modeled person) & Visiting tour ,num_non_workers_not_self * social,coef_number_of_non_worker_and_visiting_tour,,,,,,, +util_number_of_retiree_and_visiting_tour,Dummy for number of Retiree (other than modeled person) & Visiting tour ,num_retirees_not_self * social,coef_number_of_retiree_and_visiting_tour,coef_number_of_retiree_and_visiting_tour,,,coef_number_of_retiree_and_visiting_tour,,, +util_number_of_university_student_and_visiting_tour,Dummy for number of University Student (other than modeled person) & Visiting tour ,num_university_students_not_self * social,coef_number_of_university_student_and_visiting_tour,,,,,,, +util_number_of_driving_school_kid_and_visiting_tour,Dummy for number of Driving School Kid (other than modeled person) & visiting tour ,num_driving_age_students_not_self * social,,coef_number_of_driving_school_kid_and_visiting_tour,,,,,coef_number_of_driving_school_kid_and_visiting_tour, +util_number_of_pre_driving_school_kid_and_visiting_tour,Dummy for number of Pre-Driving School Kid (other than modeled person) & visiting tour ,num_pre_driving_age_school_kids_not_self * social,,coef_number_of_pre_driving_school_kid_and_visiting_tour,,coef_number_of_pre_driving_school_kid_and_visiting_tour,,,coef_number_of_pre_driving_school_kid_and_visiting_tour, +util_number_of_pre_school_kid_and_visiting_tour,Dummy for number of Pre-School Kid (other than modeled person) & visiting tour ,num_pre_school_kids_not_self * social,,coef_number_of_pre_school_kid_and_visiting_tour,,coef_number_of_pre_school_kid_and_visiting_tour,,,coef_number_of_pre_school_kid_and_visiting_tour, +util_number_of_part_time_worker_and_discretionary_tour,Dummy for number of Part time Worker (other than modeled person) & Discretionary tour ,num_part_time_workers_not_self * othdiscr,,,,,,coef_number_of_part_time_worker_and_discretionary_tour,, +util_number_of_non_worker_and_discretionary_tour,Dummy for number of Non-Worker (other than modeled person) & Discretionary tour ,num_non_workers_not_self * othdiscr,,,,,,coef_number_of_non_worker_and_discretionary_tour,, +util_number_of_university_student_and_discretionary_tour,Dummy for number of University Student (other than modeled person) & Discretionary tour ,num_university_students_not_self * othdiscr,,,coef_number_of_university_student_and_discretionary_tour,,,coef_number_of_university_student_and_discretionary_tour,, +util_number_of_driving_school_kid_and_discretionary_tour,Dummy for number of Driving School Kid (other than modeled person) & Discretionary tour ,num_driving_age_students_not_self * othdiscr,coef_number_of_driving_school_kid_and_discretionary_tour,coef_number_of_driving_school_kid_and_discretionary_tour,,coef_number_of_driving_school_kid_and_discretionary_tour,,,coef_number_of_driving_school_kid_and_discretionary_tour, +util_number_of_pre_driving_school_kid_and_discretionary_tour,Dummy for number of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,num_pre_driving_age_school_kids_not_self * othdiscr,coef_number_of_pre_driving_school_kid_and_discretionary_tour,coef_number_of_pre_driving_school_kid_and_discretionary_tour,,coef_number_of_pre_driving_school_kid_and_discretionary_tour,,,coef_number_of_pre_driving_school_kid_and_discretionary_tour, +util_number_of_pre_school_kid_and_discretionary_tour,Dummy for number of Pre-School Kid (other than modeled person) & Discretionary tour ,num_pre_school_kids_not_self * othdiscr,coef_number_of_pre_school_kid_and_discretionary_tour,coef_number_of_pre_school_kid_and_discretionary_tour,,coef_number_of_pre_school_kid_and_discretionary_tour,,,coef_number_of_pre_school_kid_and_discretionary_tour, +util_retired_hh_and_escorting,"Household Type (All Retirees and Non-workers only), Escorting",retiredHh * escort,,,,,coef_retired_hh_and_escorting_tour,,, +util_retired_hh_and_shopping,"Household Type (All Retirees and Non-workers only), Shopping",retiredHh * shopping,,,,,coef_retired_hh_and_shopping_tour,,, +util_retired_hh_and_eating_out,"Household Type (All Retirees and Non-workers only), Eating out",retiredHh * eatout,,,,,coef_retired_hh_and_eating_out_tour,,, +util_retired_hh_and_discretionary,"Household Type (All Retirees and Non-workers only), Discretionary",retiredHh * othdiscr,,,,,coef_retired_hh_and_discretionary_tour,,, +util_work_accessibility_and_tour_frequency_is_1,Work Accessibility & Tour Frequency =1,WorkLocationLogsum * ((tot_tours == 1) & (cdap_activity == 'M')),coef_work_accessibility_and_tour_frequency_is_1,coef_work_accessibility_and_tour_frequency_is_1,,,,,, +util_work_accessibility_and_tour_frequency_is_2,Work Accessibility & Tour Frequency =2,WorkLocationLogsum * ((tot_tours == 2) & (cdap_activity == 'M')),coef_work_accessibility_and_tour_frequency_is_2,coef_work_accessibility_and_tour_frequency_is_2,,,,,, +util_work_accessibility_and_tour_frequency_is_3,Work Accessibility & Tour Frequency =3,WorkLocationLogsum * ((tot_tours == 3) & (cdap_activity == 'M')),coef_work_accessibility_and_tour_frequency_is_3,,,,,,, +util_work_accessibility_and_tour_frequency_is_3_plus,Work Accessibility & Tour Frequency =3+,WorkLocationLogsum * ((tot_tours >= 3) & (cdap_activity == 'M')),,coef_work_accessibility_and_tour_frequency_is_3_plus,,,,,, +util_work_accessibility_and_tour_frequency_is_4,Work Accessibility & Tour Frequency =4,WorkLocationLogsum * ((tot_tours == 4) & (cdap_activity == 'M')),coef_work_accessibility_and_tour_frequency_is_4,,,,,,, +util_work_accessibility_and_tour_frequency_is_5_plus,Work Accessibility & Tour Frequency =5+,WorkLocationLogsum * ((tot_tours > 5) & (cdap_activity == 'M')),coef_work_accessibility_and_tour_frequency_is_5_plus,,,,,,, +util_school_accessibility_and_tour_frequency_is_1,School Accessibility & Tour Frequency =1,SchoolLocationLogsum * ((tot_tours == 1) & (cdap_activity == 'M')),,,,,,,coef_school_accessibility_and_tour_frequency_is_1, +util_school_accessibility_and_tour_frequency_is_1_plus,School Accessibility & Tour Frequency =1+,SchoolLocationLogsum * ((tot_tours >= 1) & (cdap_activity == 'M')),,,coef_school_accessibility_and_tour_frequency_is_1_plus,,,,, +util_school_accessibility_and_tour_frequency_is_2_plus,School Accessibility & Tour Frequency =2+,SchoolLocationLogsum * ((tot_tours >= 2) & (cdap_activity == 'M')),,,,,,coef_school_accessibility_and_tour_frequency_is_2_plus,coef_school_accessibility_and_tour_frequency_is_2_plus, +util_work_from_home_and_tour_frequency_is_1,Work From Home & Tour Frequency =1,(WorkLocation==99999) & (tot_tours == 1),coef_work_from_home_and_tour_frequency_is_1,,,,,,, +util_work_from_home_and_tour_frequency_is_2,Work From Home & Tour Frequency =2,(WorkLocation==99999) & (tot_tours == 2),coef_work_from_home_and_tour_frequency_is_2,,,,,,, +util_work_from_home_and_tour_frequency_is_3,Work From Home & Tour Frequency =3,(WorkLocation==99999) & (tot_tours == 3),coef_work_from_home_and_tour_frequency_is_3,,,,,,, +util_work_from_home_and_tour_frequency_is_4,Work From Home & Tour Frequency =4,(WorkLocation==99999) & (tot_tours == 4),coef_work_from_home_and_tour_frequency_is_4,,,,,,, +util_work_from_home_and_tour_frequency_is_5_plus,Work From Home & Tour Frequency =5+,(WorkLocation==99999) & (tot_tours > 5),coef_work_from_home_and_tour_frequency_is_5_plus,,,,,,, +util_retail_accessibility_for_escorting,Retail Accessibility for Escorting,((autosnum_workers)*escort_hov_oversufficient_accessibility)*escort,coef_retail_accessibility_for_escorting,coef_retail_accessibility_for_escorting,,coef_retail_accessibility_for_escorting,coef_retail_accessibility_for_escorting,,coef_retail_accessibility_for_escorting,coef_retail_accessibility_for_escorting +util_retail_accessibility_for_shopping,Retail Accessibility for Shopping,((autosnum_workers)*shop_hov_oversufficient_accessibility)*shopping,coef_retail_accessibility_for_shopping,,,,coef_retail_accessibility_for_shopping,coef_retail_accessibility_for_shopping,coef_retail_accessibility_for_shopping,coef_retail_accessibility_for_shopping +util_retail_accessibility_for_maintenance,Retail Accessibility for Maintenance,((autosnum_workers)*maint_hov_oversufficient_accessibility)*othmaint,coef_retail_accessibility_for_maintenance,coef_retail_accessibility_for_maintenance,,coef_retail_accessibility_for_maintenance,coef_retail_accessibility_for_maintenance,,coef_retail_accessibility_for_maintenance, +util_retail_accessibility_for_eating_out,Retail Accessibility for Eating Out,((autosnum_workers)*eat_hov_oversufficient_accessibility)*eatout,coef_retail_accessibility_for_eating_out,coef_retail_accessibility_for_eating_out,,,,coef_retail_accessibility_for_eating_out,coef_retail_accessibility_for_eating_out, +util_retail_accessibility_for_discretionary,Retail Accessibility for Discretionary,((autosnum_workers)*discr_hov_oversufficient_accessibility)*othdiscr,,,coef_retail_accessibility_for_discretionary,coef_retail_accessibility_for_discretionary,coef_retail_accessibility_for_discretionary,,coef_retail_accessibility_for_discretionary, +util_retail_accessibility_for_visiting,Retail Accessibility for Visiting,((autosnum_workers)*visit_hov_oversufficient_accessibility)*othdiscr,,,,coef_retail_accessibility_for_visiting,coef_retail_accessibility_for_visiting,,, +util_walk_accessibility_for_discretionary,Walk Accessibility for Discretionary,nonmandatory_nm_accessibility *othdiscr,coef_walk_accessibility_for_discretionary,coef_walk_accessibility_for_discretionary,,,,,, +util_walk_accessibility_for_eat_out,Walk Accessibility for Eating Out,nonmandatory_nm_accessibility *eatout,,,coef_walk_accessibility_for_eatout,coef_walk_accessibility_for_eatout,,,, +util_origin_population_density_for_visiting,Population Density & Visiting tour,PopDen * social,,coef_origin_population_density_for_visiting,,,,,, +util_college_education_and_escorting,College Education & Escorting tour,(education_attainment>=13) * escort,,,,,coef_college_education_for_escorting,,, +util_college_education_and_visiting,College Education & Visiting tour,(education_attainment>=13) * social,coef_college_education_for_visiting,,,,coef_college_education_for_visiting,,, +util_college_education_and_discretionary,College Education & Discretionary tour,(education_attainment>=13) * othdiscr,coef_college_education_for_discretionary,coef_college_education_for_discretionary,,coef_college_education_for_discretionary,coef_college_education_for_discretionary,,, +util_college_education_and_shopping,College Education & Shopping tour,(education_attainment>=13) * shopping,,,,coef_college_education_for_shopping,coef_college_education_for_shopping,,, +util_college_education_and_maintenance,College Education & Maintenance tour,(education_attainment>=13) * othmaint,,,,coef_college_education_for_maintenance,,,, +util_college_education_and_eating_out,College Education & Eating out tour,(education_attainment>=13) * eatout,,,,coef_college_education_for_eatout,,,, +util_low_education_and_visiting,Less than High School Education & Visiting tour,(education_attainment<9) * social,coef_low_education_for_visiting,,,coef_low_education_for_visiting,,,, +util_low_education_and_discretionary,Less than High School Education & Discretionary tour,(education_attainment<9) * othdiscr,,coef_low_education_for_discretionary,,coef_low_education_for_discretionary,coef_low_education_for_discretionary,,, +util_low_education_and_escorting,Less than High School Education & Escorting tour,(education_attainment<9) * escort,,,,coef_low_education_for_escorting,coef_low_education_for_escorting,,, +util_low_education_and_shopping,Less than High School Education & Shopping tour,(education_attainment<9) * shopping,,,,coef_low_education_for_shopping,coef_low_education_for_shopping,,, +util_low_education_and_eating_out,Less than High School Education & Eating out tour,(education_attainment<9) * eatout,,,,coef_low_education_for_eatout,,,, +util_low_education_and_maintenance,Less than High School Education & Maintenance tour,(education_attainment<9) * othmaint,,,,,coef_low_education_for_maintenance,,, +util_detached_household_and_escorting_tour,Detached Household & Escorting tour,(building_size==1) * escort,coef_detached_household_and_escorting,coef_detached_household_and_escorting,,,coef_detached_household_and_escorting,,, +util_detached_household_and_eat_out,Detached Household & Eating out tour,(building_size==1) * eatout,,coef_detached_household_and_eating_out,,,coef_detached_household_and_eating_out,,, +util_detached_household_and_discretionary,Detached Household & discretionary tour,(building_size==1) * othdiscr,,,coef_detached_household_and_discretionary,,coef_detached_household_and_discretionary,,, +util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant +util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant +util_1_shopping_tours_constant,1 Shopping Tours Constant,shopping == 1,coef_1_shopping_tours_constant,coef_1_shopping_tours_constant,coef_1_shopping_tours_constant,coef_1_shopping_tours_constant,coef_1_shopping_tours_constant,coef_1_shopping_tours_constant,coef_1_shopping_tours_constant,coef_1_shopping_tours_constant +util_2_plus_shopping_tours_constant,2+ Shopping Tours Constant,shopping >= 2,coef_2_plus_shopping_tours_constant,coef_2_plus_shopping_tours_constant,coef_2_plus_shopping_tours_constant,coef_2_plus_shopping_tours_constant,coef_2_plus_shopping_tours_constant,coef_2_plus_shopping_tours_constant,coef_2_plus_shopping_tours_constant,coef_2_plus_shopping_tours_constant +util_1_maintenance_tours_constant,1 Maintenance Tours Constant,othmaint == 1,coef_1_maintenance_tours_constant,coef_1_maintenance_tours_constant,coef_1_maintenance_tours_constant,coef_1_maintenance_tours_constant,coef_1_maintenance_tours_constant,coef_1_maintenance_tours_constant,coef_1_maintenance_tours_constant,coef_1_maintenance_tours_constant +util_2_plus_maintenance_tours_constant,2+ Maintenance Tours Constant,othmaint >= 2,coef_2_plus_maintenance_tours_constant,coef_2_plus_maintenance_tours_constant,coef_2_plus_maintenance_tours_constant,coef_2_plus_maintenance_tours_constant,coef_2_plus_maintenance_tours_constant,coef_2_plus_maintenance_tours_constant,coef_2_plus_maintenance_tours_constant,coef_2_plus_maintenance_tours_constant +util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,(eatout >= 1) * eatout,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant +util_1_plus_visting_tours_constant,1+ Visting Tours Constant,(social >= 1) * social,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant +util_1_other_discretionary_tours_constant,1 Other Discretionary Tours Constant,othdiscr == 1,coef_1_other_discretionary_tours_constant,coef_1_other_discretionary_tours_constant,coef_1_other_discretionary_tours_constant,coef_1_other_discretionary_tours_constant,coef_1_other_discretionary_tours_constant,coef_1_other_discretionary_tours_constant,coef_1_other_discretionary_tours_constant,coef_1_other_discretionary_tours_constant +util_2_plus_other_discretionary_tours_constant,2+ Other Discretionary Tours Constant,othdiscr >= 2,coef_2_plus_other_discretionary_tours_constant,coef_2_plus_other_discretionary_tours_constant,coef_2_plus_other_discretionary_tours_constant,coef_2_plus_other_discretionary_tours_constant,coef_2_plus_other_discretionary_tours_constant,coef_2_plus_other_discretionary_tours_constant,coef_2_plus_other_discretionary_tours_constant,coef_2_plus_other_discretionary_tours_constant +util_1_escort_tour_constant_tm2,1 Escort Tour constant_tm2,escort == 1,,coef_1_escort_tour_constant_tm2,coef_1_escort_tour_constant_tm2,coef_1_escort_tour_constant_tm2,coef_1_escort_tour_constant_tm2,coef_1_escort_tour_constant_tm2,coef_1_escort_tour_constant_tm2,coef_1_escort_tour_constant_tm2 +util_2_plus_escort_tours_constant_tm2,2+ Escort Tours constant_tm2,escort >= 2,,coef_2_plus_escort_tours_constant_tm2,coef_2_plus_escort_tours_constant_tm2,coef_2_plus_escort_tours_constant_tm2,coef_2_plus_escort_tours_constant_tm2,coef_2_plus_escort_tours_constant_tm2,coef_2_plus_escort_tours_constant_tm2,coef_2_plus_escort_tours_constant_tm2 +util_1_shopping_tours_constant_tm2,1 Shopping Tours constant_tm2,shopping == 1,,coef_1_shopping_tours_constant_tm2,coef_1_shopping_tours_constant_tm2,coef_1_shopping_tours_constant_tm2,coef_1_shopping_tours_constant_tm2,coef_1_shopping_tours_constant_tm2,coef_1_shopping_tours_constant_tm2,coef_1_shopping_tours_constant_tm2 +util_2_plus_shopping_tours_constant_tm2,2+ Shopping Tours constant_tm2,shopping >= 2,,coef_2_plus_shopping_tours_constant_tm2,coef_2_plus_shopping_tours_constant_tm2,coef_2_plus_shopping_tours_constant_tm2,coef_2_plus_shopping_tours_constant_tm2,coef_2_plus_shopping_tours_constant_tm2,coef_2_plus_shopping_tours_constant_tm2,coef_2_plus_shopping_tours_constant_tm2 +util_1_maintenance_tours_constant_tm2,1 Maintenance Tours constant_tm2,othmaint == 1,,coef_1_maintenance_tours_constant_tm2,coef_1_maintenance_tours_constant_tm2,coef_1_maintenance_tours_constant_tm2,coef_1_maintenance_tours_constant_tm2,coef_1_maintenance_tours_constant_tm2,coef_1_maintenance_tours_constant_tm2,coef_1_maintenance_tours_constant_tm2 +util_2_plus_maintenance_tours_constant_tm2,2+ Maintenance Tours constant_tm2,othmaint >= 2,,coef_2_plus_maintenance_tours_constant_tm2,coef_2_plus_maintenance_tours_constant_tm2,coef_2_plus_maintenance_tours_constant_tm2,coef_2_plus_maintenance_tours_constant_tm2,coef_2_plus_maintenance_tours_constant_tm2,coef_2_plus_maintenance_tours_constant_tm2,coef_2_plus_maintenance_tours_constant_tm2 +util_1_plus_eating_out_tours_constant_tm2,1+ Eating Out Tours constant_tm2,(eatout >= 1) * eatout,,coef_1_plus_eating_out_tours_constant_tm2,coef_1_plus_eating_out_tours_constant_tm2,coef_1_plus_eating_out_tours_constant_tm2,coef_1_plus_eating_out_tours_constant_tm2,coef_1_plus_eating_out_tours_constant_tm2,coef_1_plus_eating_out_tours_constant_tm2,coef_1_plus_eating_out_tours_constant_tm2 +util_1_plus_visting_tours_constant_tm2,1+ Visting Tours constant_tm2,(social >= 1) * social,,coef_1_plus_visting_tours_constant_tm2,coef_1_plus_visting_tours_constant_tm2,coef_1_plus_visting_tours_constant_tm2,coef_1_plus_visting_tours_constant_tm2,coef_1_plus_visting_tours_constant_tm2,coef_1_plus_visting_tours_constant_tm2,coef_1_plus_visting_tours_constant_tm2 +util_1_other_discretionary_tours_constant_tm2,1 Other Discretionary Tours constant_tm2,othdiscr == 1,,coef_1_other_discretionary_tours_constant_tm2,coef_1_other_discretionary_tours_constant_tm2,coef_1_other_discretionary_tours_constant_tm2,coef_1_other_discretionary_tours_constant_tm2,coef_1_other_discretionary_tours_constant_tm2,coef_1_other_discretionary_tours_constant_tm2,coef_1_other_discretionary_tours_constant_tm2 +util_2_plus_other_discretionary_tours_constant_tm2,2+ Other Discretionary Tours constant_tm2,othdiscr >= 2,,coef_2_plus_other_discretionary_tours_constant_tm2,coef_2_plus_other_discretionary_tours_constant_tm2,coef_2_plus_other_discretionary_tours_constant_tm2,coef_2_plus_other_discretionary_tours_constant_tm2,coef_2_plus_other_discretionary_tours_constant_tm2,coef_2_plus_other_discretionary_tours_constant_tm2,coef_2_plus_other_discretionary_tours_constant_tm2 +util_mandatory_dap_and_1_non_mand_tour_ABM_2_calib,Mandatory and 1 Non-Mandatory - ABM2 Calibration,(cdap_activity=='M') & (tot_tours==1),coef_mandatory_dap_and_1_non_mand_tour,coef_mandatory_dap_and_1_non_mand_tour,coef_mandatory_dap_and_1_non_mand_tour,,,coef_mandatory_dap_and_1_non_mand_tour,coef_mandatory_dap_and_1_non_mand_tour, +util_mandatory_dap_and_2_non_mand_tour_ABM_2_calib,Mandatory and 2 Non-Mandatory - ABM2 Calibration,(cdap_activity=='M') & (tot_tours==2),coef_mandatory_dap_and_2_non_mand_tour,coef_mandatory_dap_and_2_non_mand_tour,coef_mandatory_dap_and_2_non_mand_tour,,,coef_mandatory_dap_and_2_non_mand_tour,coef_mandatory_dap_and_2_non_mand_tour, +util_mandatory_dap_and_3_plus_non_mand_tour_ABM_2_calib,Mandatory and 3+ Non-Mandatory - ABM2 Calibration,(cdap_activity=='M') & (tot_tours>=3),coef_mandatory_dap_and_3_plus_non_mand_tour,coef_mandatory_dap_and_3_plus_non_mand_tour,coef_mandatory_dap_and_3_plus_non_mand_tour,,,coef_mandatory_dap_and_3_plus_non_mand_tour,coef_mandatory_dap_and_3_plus_non_mand_tour, +util_non_mandatory_dap_and_1_non_mand_tour_ABM_2_calib,0 Mandatory and 1 Non-Mandatory - ABM2 Calibration,(cdap_activity=='N') & (tot_tours==1),coef_non_mandatory_dap_and_1_non_mand_tour,coef_non_mandatory_dap_and_1_non_mand_tour,coef_non_mandatory_dap_and_1_non_mand_tour,coef_non_mandatory_dap_and_1_non_mand_tour,coef_non_mandatory_dap_and_1_non_mand_tour,coef_non_mandatory_dap_and_1_non_mand_tour,coef_non_mandatory_dap_and_1_non_mand_tour,coef_non_mandatory_dap_and_1_non_mand_tour +util_non_mandatory_dap_and_2_non_mand_tour_ABM_2_calib,0 Mandatory and 2 Non-Mandatory - ABM2 Calibration,(cdap_activity=='N') & (tot_tours==2),coef_non_mandatory_dap_and_2_non_mand_tour,coef_non_mandatory_dap_and_2_non_mand_tour,coef_non_mandatory_dap_and_2_non_mand_tour,coef_non_mandatory_dap_and_2_non_mand_tour,coef_non_mandatory_dap_and_2_non_mand_tour,coef_non_mandatory_dap_and_2_non_mand_tour,coef_non_mandatory_dap_and_2_non_mand_tour,coef_non_mandatory_dap_and_2_non_mand_tour +util_non_mandatory_dap_and_3_non_mand_tour_ABM_2_calib,0 Mandatory and 3 Non-Mandatory - ABM2 Calibration,(cdap_activity=='N') & (tot_tours==3),coef_non_mandatory_dap_and_3_non_mand_tour,coef_non_mandatory_dap_and_3_non_mand_tour,coef_non_mandatory_dap_and_3_non_mand_tour,coef_non_mandatory_dap_and_3_non_mand_tour,coef_non_mandatory_dap_and_3_non_mand_tour,coef_non_mandatory_dap_and_3_non_mand_tour,coef_non_mandatory_dap_and_3_non_mand_tour,coef_non_mandatory_dap_and_3_non_mand_tour +util_non_mandatory_dap_and_4_plus_non_mand_tour_ABM_2_calib,0 Mandatory and 4+ Non-Mandatory - ABM2 Calibration,(cdap_activity=='N') & (tot_tours>=4),coef_non_mandatory_dap_and_4_plus_non_mand_tour,coef_non_mandatory_dap_and_4_plus_non_mand_tour,coef_non_mandatory_dap_and_4_plus_non_mand_tour,coef_non_mandatory_dap_and_4_plus_non_mand_tour,coef_non_mandatory_dap_and_4_plus_non_mand_tour,coef_non_mandatory_dap_and_4_plus_non_mand_tour,coef_non_mandatory_dap_and_4_plus_non_mand_tour,coef_non_mandatory_dap_and_4_plus_non_mand_tour diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.yaml b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.yaml new file mode 100644 index 0000000000..53f56d613b --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.yaml @@ -0,0 +1,52 @@ + +SEGMENT_COL: ptype +SPEC: non_mandatory_tour_frequency.csv + +SPEC_SEGMENTS: + - NAME: PTYPE_FULL + PTYPE: 1 + COEFFICIENTS: non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv + - NAME: PTYPE_PART + PTYPE: 2 + COEFFICIENTS: non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv + - NAME: PTYPE_UNIVERSITY + PTYPE: 3 + COEFFICIENTS: non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv + - NAME: PTYPE_NONWORK + PTYPE: 4 + COEFFICIENTS: non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv + - NAME: PTYPE_RETIRED + PTYPE: 5 + COEFFICIENTS: non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv + - NAME: PTYPE_DRIVING + PTYPE: 6 + COEFFICIENTS: non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv + - NAME: PTYPE_SCHOOL + PTYPE: 7 + COEFFICIENTS: non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv + - NAME: PTYPE_PRESCHOOL + PTYPE: 8 + COEFFICIENTS: non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv + +annotate_persons: + SPEC: annotate_persons_nmtf + DF: persons + TABLES: + - tours + +preprocessor: + SPEC: non_mandatory_tour_frequency_annotate_persons_preprocessor + DF: persons + TABLES: + - tours +# - accessibility + +CONSTANTS: + PTYPE_FULL: 1 + PTYPE_PART: 2 + PTYPE_UNIVERSITY: 3 + PTYPE_NONWORK: 4 + PTYPE_RETIRED: 5 + PTYPE_DRIVING: 6 + PTYPE_SCHOOL: 7 + PTYPE_PRESCHOOL: 8 diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_alternatives.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_alternatives.csv new file mode 100644 index 0000000000..e4d4f2e4a4 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_alternatives.csv @@ -0,0 +1,198 @@ +escort,shopping,othmaint,eatout,social,othdiscr +0,0,0,0,0,0 +0,0,0,0,0,1 +0,0,0,0,0,2 +0,0,0,0,1,0 +0,0,0,0,1,1 +0,0,0,0,1,2 +0,0,0,1,0,0 +0,0,0,1,0,1 +0,0,0,1,0,2 +0,0,0,1,1,0 +0,0,0,1,1,1 +0,0,0,1,1,2 +0,0,1,0,0,0 +0,0,1,0,0,1 +0,0,1,0,0,2 +0,0,1,0,1,0 +0,0,1,0,1,1 +0,0,1,0,1,2 +0,0,1,1,0,0 +0,0,1,1,0,1 +0,0,1,1,0,2 +0,0,1,1,1,0 +0,0,1,1,1,1 +0,0,1,1,1,2 +0,0,2,0,0,0 +0,0,2,0,0,1 +0,0,2,0,0,2 +0,0,2,0,1,0 +0,0,2,0,1,1 +0,0,2,0,1,2 +0,0,2,1,0,0 +0,0,2,1,0,1 +0,0,2,1,0,2 +0,0,2,1,1,0 +0,0,2,1,1,1 +0,1,0,0,0,0 +0,1,0,0,0,1 +0,1,0,0,0,2 +0,1,0,0,1,0 +0,1,0,0,1,1 +0,1,0,0,1,2 +0,1,0,1,0,0 +0,1,0,1,0,1 +0,1,0,1,0,2 +0,1,0,1,1,0 +0,1,0,1,1,1 +0,1,0,1,1,2 +0,1,1,0,0,0 +0,1,1,0,0,1 +0,1,1,0,0,2 +0,1,1,0,1,0 +0,1,1,0,1,1 +0,1,1,0,1,2 +0,1,1,1,0,0 +0,1,1,1,0,1 +0,1,1,1,0,2 +0,1,1,1,1,0 +0,1,1,1,1,1 +0,1,2,0,0,0 +0,1,2,0,0,1 +0,1,2,0,0,2 +0,1,2,0,1,0 +0,1,2,0,1,1 +0,1,2,1,0,0 +0,1,2,1,0,1 +0,1,2,1,1,0 +0,2,0,0,0,0 +0,2,0,0,0,1 +0,2,0,0,0,2 +0,2,0,0,1,0 +0,2,0,0,1,1 +0,2,0,0,1,2 +0,2,0,1,0,0 +0,2,0,1,0,1 +0,2,0,1,0,2 +0,2,0,1,1,0 +0,2,0,1,1,1 +0,2,1,0,0,0 +0,2,1,0,0,1 +0,2,1,0,0,2 +0,2,1,0,1,0 +0,2,1,0,1,1 +0,2,1,1,0,0 +0,2,1,1,0,1 +0,2,1,1,1,0 +0,2,2,0,0,0 +0,2,2,0,0,1 +0,2,2,0,1,0 +0,2,2,1,0,0 +1,0,0,0,0,0 +1,0,0,0,0,1 +1,0,0,0,0,2 +1,0,0,0,1,0 +1,0,0,0,1,1 +1,0,0,0,1,2 +1,0,0,1,0,0 +1,0,0,1,0,1 +1,0,0,1,0,2 +1,0,0,1,1,0 +1,0,0,1,1,1 +1,0,0,1,1,2 +1,0,1,0,0,0 +1,0,1,0,0,1 +1,0,1,0,0,2 +1,0,1,0,1,0 +1,0,1,0,1,1 +1,0,1,0,1,2 +1,0,1,1,0,0 +1,0,1,1,0,1 +1,0,1,1,0,2 +1,0,1,1,1,0 +1,0,1,1,1,1 +1,0,2,0,0,0 +1,0,2,0,0,1 +1,0,2,0,0,2 +1,0,2,0,1,0 +1,0,2,0,1,1 +1,0,2,1,0,0 +1,0,2,1,0,1 +1,0,2,1,1,0 +1,1,0,0,0,0 +1,1,0,0,0,1 +1,1,0,0,0,2 +1,1,0,0,1,0 +1,1,0,0,1,1 +1,1,0,0,1,2 +1,1,0,1,0,0 +1,1,0,1,0,1 +1,1,0,1,0,2 +1,1,0,1,1,0 +1,1,0,1,1,1 +1,1,1,0,0,0 +1,1,1,0,0,1 +1,1,1,0,0,2 +1,1,1,0,1,0 +1,1,1,0,1,1 +1,1,1,1,0,0 +1,1,1,1,0,1 +1,1,1,1,1,0 +1,1,2,0,0,0 +1,1,2,0,0,1 +1,1,2,0,1,0 +1,1,2,1,0,0 +1,2,0,0,0,0 +1,2,0,0,0,1 +1,2,0,0,0,2 +1,2,0,0,1,0 +1,2,0,0,1,1 +1,2,0,1,0,0 +1,2,0,1,0,1 +1,2,0,1,1,0 +1,2,1,0,0,0 +1,2,1,0,0,1 +1,2,1,0,1,0 +1,2,1,1,0,0 +1,2,2,0,0,0 +2,0,0,0,0,0 +2,0,0,0,0,1 +2,0,0,0,0,2 +2,0,0,0,1,0 +2,0,0,0,1,1 +2,0,0,0,1,2 +2,0,0,1,0,0 +2,0,0,1,0,1 +2,0,0,1,0,2 +2,0,0,1,1,0 +2,0,0,1,1,1 +2,0,1,0,0,0 +2,0,1,0,0,1 +2,0,1,0,0,2 +2,0,1,0,1,0 +2,0,1,0,1,1 +2,0,1,1,0,0 +2,0,1,1,0,1 +2,0,1,1,1,0 +2,0,2,0,0,0 +2,0,2,0,0,1 +2,0,2,0,1,0 +2,0,2,1,0,0 +2,1,0,0,0,0 +2,1,0,0,0,1 +2,1,0,0,0,2 +2,1,0,0,1,0 +2,1,0,0,1,1 +2,1,0,1,0,0 +2,1,0,1,0,1 +2,1,0,1,1,0 +2,1,1,0,0,0 +2,1,1,0,0,1 +2,1,1,0,1,0 +2,1,1,1,0,0 +2,1,2,0,0,0 +2,2,0,0,0,0 +2,2,0,0,0,1 +2,2,0,0,1,0 +2,2,0,1,0,0 +2,2,1,0,0,0 diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv new file mode 100644 index 0000000000..9b63dbc421 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv @@ -0,0 +1,36 @@ +Description,Target,Expression +#,, +,low_income,persons.income<=30000 +,medium_low_income,(persons.income > 30000) & (persons.income <= 60000) +,medium_income,(persons.income > 60000) & (persons.income <= 100000) +,medium_high_income,(persons.income > 100000) & (persons.income <= 150000) +,high_income,(persons.income > 150000) +,no_cars,(persons.auto_ownership == 0) +,car_sufficiency,persons.autos-persons.num_workers +#,, +# joint tour counts per persons,, +get joint tours,_JOINT_TOURS,tours[tours.tour_category=='JOINT_NON_MANDATORY'] +create participant list in joint tours,_JOINT_TOURS,"_JOINT_TOURS.assign(person_num=_JOINT_TOURS.apply(lambda x: [int(p) for p in x.tour_participants.split(' ')],axis=1))" +explode joint tour participants,_JOINT_TOURS,_JOINT_TOURS.explode('person_num') +join joint tour info with persons,_JOINT_TOURS_PERSONS,"pd.merge(_JOINT_TOURS[['household_id','person_num','tour_purpose']],persons.reset_index()[['household_id','person_num','person_id']], on=['household_id','person_num'], how='left')" +,num_person_joint_tours,"reindex_i(_JOINT_TOURS_PERSONS.groupby(['person_id']).size(), persons.index)" +,num_person_joint_shop_tours,"reindex_i(_JOINT_TOURS_PERSONS[_JOINT_TOURS_PERSONS.tour_purpose=='Shop'].groupby(['person_id']).size(), persons.index)" +,num_person_joint_maint_tours,"reindex_i(_JOINT_TOURS_PERSONS[_JOINT_TOURS_PERSONS.tour_purpose=='Maintenance'].groupby(['person_id']).size(), persons.index)" +,num_person_joint_eatout_tours,"reindex_i(_JOINT_TOURS_PERSONS[_JOINT_TOURS_PERSONS.tour_purpose=='Eating Out'].groupby(['person_id']).size(), persons.index)" +,num_person_joint_visit_tours,"reindex_i(_JOINT_TOURS_PERSONS[_JOINT_TOURS_PERSONS.tour_purpose=='Visiting'].groupby(['person_id']).size(), persons.index)" +,num_person_joint_othdiscr_tours,"reindex_i(_JOINT_TOURS_PERSONS[_JOINT_TOURS_PERSONS.tour_purpose=='Discretionary'].groupby(['person_id']).size(), persons.index)" +# non_mandatory tour frequency extension,, +,_INDIV_TOURS,tours[tours.tour_category!='JOINT_NON_MANDATORY'] +,num_mandatory_tours,"reindex_i(_INDIV_TOURS[_INDIV_TOURS.tour_purpose=='MANDATORY'].groupby('person_id').size(), persons.index)" +,has_mandatory_tour,(num_mandatory_tours > 0) * 1 +,has_joint_tour,(num_person_joint_tours > 0) * 1 +# number of person types in household in addition to self,, +,num_full_time_workers_not_self,"np.where(df.ptype == PTYPE_FULL, df.num_full_time_workers-1, df.num_full_time_workers)" +,num_part_time_workers_not_self,"np.where(df.ptype == PTYPE_PART, df.num_part_time_workers-1, df.num_part_time_workers)" +,num_university_students_not_self,"np.where(df.ptype == PTYPE_UNIVERSITY, df.num_university_students-1, df.num_university_students)" +,num_non_workers_not_self,"np.where(df.ptype == PTYPE_NONWORK, df.num_non_workers-1, df.num_non_workers)" +,num_retirees_not_self,"np.where(df.ptype == PTYPE_RETIRED, df.num_retirees-1, df.num_retirees)" +,num_driving_age_students_not_self,"np.where(df.ptype == PTYPE_DRIVING, df.num_driving_age_students-1, df.num_driving_age_students)" +,num_pre_driving_age_school_kids_not_self,"np.where(df.ptype == PTYPE_SCHOOL, df.num_pre_driving_age_school_kids-1, df.num_pre_driving_age_school_kids)" +,num_pre_school_kids_not_self,"np.where(df.ptype == PTYPE_PRESCHOOL, df.num_pre_school_kids-1, df.num_pre_school_kids)" +,retiredHh,"np.where(df.num_full_time_workers+df.num_part_time_workers+df.num_university_students+df.num_driving_age_students+df.num_pre_driving_age_school_kids+df.num_pre_school_kids == 0,1,0)" \ No newline at end of file diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv new file mode 100644 index 0000000000..eb23c80fce --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv @@ -0,0 +1,61 @@ +coefficient_name,value,constrain +coef_escorting_tour,-5.0011,F +coef_discretionary_tour,-2.0687,F +coef_shopping_tour,-16.7785,F +coef_maintenance_tour,-3.2583,F +coef_visiting_or_social_tour,-2.6366,F +coef_eating_out_tour,-18.1598,F +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1_plus,-0.4825,F +coef_total_number_of_tours_is_4_plus,-999,T +coef_has_mandatory_tours_and_tour_frequency_is_2_plus,-2.5161,F +coef_number_of_joint_discretionary_tours,-0.2308,F +coef_more_than_one_discretionary_tours,-1.1938,F +coef_low_income_group_and_escorting_tour,1.1208,F +coef_medium_low_income_group_and_escorting_tour,1.1208,F +coef_low_income_group_and_discretionary_tour,-0.8053,F +coef_mediumhigh_income_group_and_discretionary_tour,0.5225,F +coef_high_income_group_and_discretionary_tour,0.8604,F +coef_high_income_group_and_visiting_tour,0.5513,F +coef_mediumhigh_income_group_and_visiting_tour,0.5513,F +coef_female_and_shopping_tour,0.9646,F +coef_go_out_pre_driving_school_kid_and_escorting_tour,0.4901,F +coef_number_of_full_time_worker_and_shopping_tour,0.3173,F +coef_number_of_part_time_worker_and_shopping_tour,0.3173,F +coef_number_of_non_worker_and_shopping_tour,0.3173,F +coef_number_of_pre_driving_school_kid_and_shopping_tour,0.3133,F +coef_number_of_pre_school_kid_and_shopping_tour,0.3133,F +coef_number_of_part_time_worker_and_discretionary_tour,0.3202,F +coef_number_of_non_worker_and_discretionary_tour,0.3202,F +coef_number_of_university_student_and_discretionary_tour,0.5522,F +coef_school_accessibility_and_tour_frequency_is_2_plus,1.9398,F +coef_retail_accessibility_for_shopping,0.7809,F +coef_retail_accessibility_for_eating_out,1.0093,F +coef_1_escort_tour_constant,-0.052,F +coef_2_plus_escort_tours_constant,0,T +coef_1_shopping_tours_constant,1.025,F +coef_2_plus_shopping_tours_constant,0,T +coef_1_maintenance_tours_constant,-0.294,F +coef_2_plus_maintenance_tours_constant,0,T +coef_1_plus_eating_out_tours_constant,-1.079,F +coef_1_plus_visting_tours_constant,-0.107,F +coef_1_other_discretionary_tours_constant,-0.393,F +coef_2_plus_other_discretionary_tours_constant,-1.086,F +coef_1_escort_tour_constant_tm2,-1.007,F +coef_2_plus_escort_tours_constant_tm2,0,T +coef_1_shopping_tours_constant_tm2,1.027,F +coef_2_plus_shopping_tours_constant_tm2,1.027,F +coef_1_maintenance_tours_constant_tm2,-0.196,F +coef_2_plus_maintenance_tours_constant_tm2,-0.196,F +coef_1_plus_eating_out_tours_constant_tm2,2.909,F +coef_1_plus_visting_tours_constant_tm2,-1.417,F +coef_1_other_discretionary_tours_constant_tm2,-1.519,F +coef_2_plus_other_discretionary_tours_constant_tm2,-1.519,F +coef_mandatory_dap_and_1_non_mand_tour,1.222628436,F +coef_mandatory_dap_and_2_non_mand_tour,0.593278832,F +coef_mandatory_dap_and_3_plus_non_mand_tour,0.070965231,F +coef_non_mandatory_dap_and_1_non_mand_tour,0.756307862,F +coef_non_mandatory_dap_and_2_non_mand_tour,1.396284118,F +coef_non_mandatory_dap_and_3_non_mand_tour,3.551847757,F +coef_non_mandatory_dap_and_4_plus_non_mand_tour,-0.058600545,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv new file mode 100644 index 0000000000..c3ef42ad7b --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv @@ -0,0 +1,105 @@ +coefficient_name,value,constrain +coef_escorting_tour,-8.005637824,F +coef_discretionary_tour,-4.191895252,F +coef_shopping_tour,-6.093236864,F +coef_maintenance_tour,-4.450826306,F +coef_visiting_or_social_tour,-3.869879887,F +coef_eating_out_tour,-12.62493048,F +coef_total_number_of_tours_is_0_no_prior_tours,-999,F +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,0,T +coef_total_number_of_tours_is_2,1.328670418,F +coef_total_number_of_tours_is_3,3.027432477,F +coef_total_number_of_tours_is_4,3.547389909,F +coef_total_number_of_tours_is_5,-999,F +coef_total_number_of_tours_is_6_plus,-999,F +coef_has_mandatory_tours_and_tour_frequency_is_2,-1.122394705,F +coef_has_mandatory_tours_and_tour_frequency_is_3,-2.057588493,F +coef_has_mandatory_tours_and_tour_frequency_is_4_plus,-2.057588493,F +coef_has_joint_tours_and_tour_frequency_is_3_plus,-0.477609877,F +coef_number_of_joint_shopping_tours,-0.170864341,F +coef_number_of_joint_discretionary_tours,-1.163664908,F +coef_more_than_one_escorting_tours,0.613851731,F +coef_more_than_one_discretionary_tours,-0.236694132,F +coef_high_income_group_and_escorting_tour,-0.066520907,F +coef_mediumhigh_income_group_and_shopping_tour,0.06372943,F +coef_high_income_group_and_shopping_tour,0.06372943,F +coef_low_income_group_and_maintenance_tour,0.251347332,F +coef_mediumlow_income_group_and_maintenance_tour,0.188910438,F +coef_high_income_group_and_maintenance_tour,-0.231879121,F +coef_low_income_group_and_eating_out_tour,-1.810193362,F +coef_high_income_group_and_eating_out_tour,0.31465606,F +coef_low_income_group_and_discretionary_tour,-0.565623738,F +coef_mediumhigh_income_group_and_discretionary_tour,-0.231043198,F +coef_high_income_group_and_discretionary_tour,0.107170058,F +coef_low_income_group_and_visiting_tour,0.178971977,F +coef_female_and_escorting_tour,0.137391737,F +coef_zero_car_ownership_and_tour_frequency_is_2_plus,-0.935804805,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2_plus,-0.361005701,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3_plus,0.072613168,F +coef_zero_car_ownership_and_escorting_tour,-0.873271814,F +coef_car_shortage_vs_workers_and_number_of_escorting_tours,0.412574716,F +coef_number_of_full_time_worker_and_escorting_tour,0.212097217,F +coef_number_of_part_time_worker_and_escorting_tour,-0.073067961,F +coef_number_of_non_worker_and_escorting_tour,-0.323356663,F +coef_number_of_retiree_and_escorting_tour,-0.558947959,F +coef_number_of_university_student_and_escorting_tour,0.275136763,F +coef_number_of_driving_school_kid_and_escorting_tour,0.579434039,F +coef_go_out_pre_driving_school_kid_and_escorting_tour,0.639740336,F +coef_go_out_school_kid_and_escorting_tour,0.384950782,F +coef_number_of_driving_school_kid_and_shopping_tour,-0.218745414,F +coef_number_of_pre_driving_school_kid_and_shopping_tour,-0.218745414,F +coef_number_of_pre_school_kid_and_shopping_tour,-0.218745414,F +coef_number_of_full_time_worker_and_maintenance_tour,-0.219097089,F +coef_number_of_part_time_worker_and_maintenance_tour,-0.219097089,F +coef_number_of_non_worker_and_maintenance_tour,-0.219097089,F +coef_number_of_university_student_and_maintenance_tour,-0.219097089,F +coef_number_of_full_time_worker_and_eating_out_tour,-0.764033574,F +coef_number_of_part_time_worker_and_eating_out_tour,-0.764033574,F +coef_number_of_non_worker_and_eating_out_tour,-0.764033574,F +coef_number_of_retiree_and_eating_out_tour,-0.764033574,F +coef_number_of_university_student_and_eating_out_tour,-0.764033574,F +coef_number_of_pre_driving_school_kid_and_eating_out_tour,-0.355618746,F +coef_number_of_pre_school_kid_and_eating_out_tour,-0.355618746,F +coef_number_of_non_worker_and_visiting_tour,-0.444931696,F +coef_number_of_retiree_and_visiting_tour,-0.444931696,F +coef_number_of_university_student_and_visiting_tour,-0.444931696,F +coef_number_of_driving_school_kid_and_discretionary_tour,-0.021518881,F +coef_number_of_pre_driving_school_kid_and_discretionary_tour,-0.021518881,F +coef_number_of_pre_school_kid_and_discretionary_tour,-0.157036558,F +coef_work_accessibility_and_tour_frequency_is_1,0.3286661,F +coef_work_accessibility_and_tour_frequency_is_2,0.71855271,F +coef_work_accessibility_and_tour_frequency_is_3,0.71855271,F +coef_work_accessibility_and_tour_frequency_is_4,0.71855271,F +coef_work_accessibility_and_tour_frequency_is_5_plus,0.71855271,F +coef_work_from_home_and_tour_frequency_is_1,0.915860359,F +coef_work_from_home_and_tour_frequency_is_2,1.100337176,F +coef_work_from_home_and_tour_frequency_is_3,1.100337176,F +coef_work_from_home_and_tour_frequency_is_4,1.100337176,F +coef_work_from_home_and_tour_frequency_is_5_plus,1.100337176,F +coef_retail_accessibility_for_escorting,0.291279719,F +coef_retail_accessibility_for_shopping,0.205237982,F +coef_retail_accessibility_for_maintenance,0.097381625,F +coef_retail_accessibility_for_eating_out,0.678030129,F +coef_walk_accessibility_for_discretionary,0.045591079,F +coef_college_education_for_visiting,-0.671955208,F +coef_college_education_for_discretionary,0.621905223,F +coef_low_education_for_visiting,0.454831607,F +coef_detached_household_and_escorting,0.22019233,F +coef_1_escort_tour_constant,0.390268916,F +coef_2_plus_escort_tours_constant,0.779302172,F +coef_1_shopping_tours_constant,0.264,F +coef_2_plus_shopping_tours_constant,0.383672128,F +coef_1_maintenance_tours_constant,-0.097866802,F +coef_2_plus_maintenance_tours_constant,-0.090890202,F +coef_1_plus_eating_out_tours_constant,-0.974733991,F +coef_1_plus_visting_tours_constant,-0.147867593,F +coef_1_other_discretionary_tours_constant,0.037252469,F +coef_2_plus_other_discretionary_tours_constant,0.221679699,F +coef_mandatory_dap_and_1_non_mand_tour,0.613102892,F +coef_mandatory_dap_and_2_non_mand_tour,1.298340523,F +coef_mandatory_dap_and_3_plus_non_mand_tour,0.294678801,F +coef_non_mandatory_dap_and_1_non_mand_tour,0.40551385,F +coef_non_mandatory_dap_and_2_non_mand_tour,-0.058684635,F +coef_non_mandatory_dap_and_3_non_mand_tour,0.181724483,F +coef_non_mandatory_dap_and_4_plus_non_mand_tour,3.456313043,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv new file mode 100644 index 0000000000..073a8b4de8 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv @@ -0,0 +1,92 @@ +coefficient_name,value,constrain +coef_escorting_tour,-5.5709,F +coef_discretionary_tour,-3.1828,F +coef_shopping_tour,-1.5833,F +coef_maintenance_tour,-2.0214,F +coef_visiting_or_social_tour,-6.6293,F +coef_eating_out_tour,-8.9856,F +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_3,-0.793922128,F +coef_total_number_of_tours_is_4,-1.117938236,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_has_joint_tours_and_tour_frequency_is_1,-0.968579459,F +coef_has_joint_tours_and_tour_frequency_is_2,-1.808495529,F +coef_has_joint_tours_and_tour_frequency_is_3_plus,-2.59200638,F +coef_number_of_joint_shopping_tours,-0.466843362,F +coef_number_of_joint_maintenance_tours,-0.575337406,F +coef_more_than_one_escorting_tours,1.3605,F +coef_more_than_one_shopping_tours,-0.7454,F +coef_more_than_one_maintenance_tours,-0.1194,F +coef_more_than_one_discretionary_tours,0.1253,F +coef_low_income_group_and_shopping_tour,-0.2599,F +coef_medium_low_income_group_and_shopping_tour,-0.2599,F +coef_low_income_group_and_eating_out_tour,-0.2857,F +coef_high_income_group_and_eating_out_tour,2.223,F +coef_low_income_group_and_discretionary_tour,-0.5775,F +coef_medium_low_income_group_and_discretionary_tour,-0.5775,F +coef_high_income_group_and_visiting_tour,0.2695,F +coef_mediumhigh_income_group_and_visiting_tour,0.2695,F +coef_female_and_escorting_tour,0.6769,F +coef_female_and_shopping_tour,0.5108,F +coef_female_and_visit_tour,0.7494,F +coef_zero_car_ownership_and_tour_frequency_is_2_plus,-1.0038,F +coef_zero_car_ownership_and_escorting_tour,-0.8907,F +coef_car_surplus_vs_workers_and_number_of_escorting_tours,0.1802,F +coef_number_of_full_time_worker_and_escorting_tour,0.2514,F +coef_number_of_part_time_worker_and_escorting_tour,0.2512,F +coef_number_of_non_worker_and_escorting_tour,-0.3489,F +coef_number_of_retiree_and_escorting_tour,0.2841,F +coef_number_of_university_student_and_escorting_tour,0.4583,F +coef_number_of_driving_school_kid_and_escorting_tour,0.7483,F +coef_go_out_pre_driving_school_kid_and_escorting_tour,0.9378,F +coef_go_out_school_kid_and_escorting_tour,0.9374,F +coef_number_of_non_worker_and_shopping_tour,-0.478,F +coef_number_of_full_time_worker_and_maintenance_tour,0.0904,F +coef_number_of_part_time_worker_and_maintenance_tour,0.0904,F +coef_number_of_pre_driving_school_kid_and_eating_out_tour,-0.6629,F +coef_number_of_pre_school_kid_and_eating_out_tour,-0.6629,F +coef_number_of_pre_driving_school_kid_and_visiting_tour,-0.4021,F +coef_number_of_pre_school_kid_and_visiting_tour,-0.4021,F +coef_number_of_driving_school_kid_and_discretionary_tour,-0.2039,F +coef_number_of_pre_driving_school_kid_and_discretionary_tour,-0.2039,F +coef_number_of_pre_school_kid_and_discretionary_tour,-0.2039,F +coef_retail_accessibility_for_escorting,0.1609,F +coef_retail_accessibility_for_maintenance,0.0194,F +coef_retail_accessibility_for_discretionary,0.0632,F +coef_retail_accessibility_for_visiting,0.2883,F +coef_walk_accessibility_for_eatout,0.6073,F +coef_college_education_for_discretionary,0.981,F +coef_college_education_for_shopping,0.3677,F +coef_college_education_for_maintenance,0.5982,F +coef_college_education_for_eatout,0.7979,F +coef_low_education_for_visiting,-1.6201,F +coef_low_education_for_discretionary,-0.837,F +coef_low_education_for_escorting,0.1748,F +coef_low_education_for_shopping,-0.3525,F +coef_low_education_for_eatout,-0.4838,F +coef_1_escort_tour_constant,-2.501,F +coef_2_plus_escort_tours_constant,-1.958,F +coef_1_shopping_tours_constant,-2.666,F +coef_2_plus_shopping_tours_constant,-2.884,F +coef_1_maintenance_tours_constant,-2.908,F +coef_2_plus_maintenance_tours_constant,-2.97,F +coef_1_plus_eating_out_tours_constant,-3.022,F +coef_1_plus_visting_tours_constant,-2.736,F +coef_1_other_discretionary_tours_constant,-2.612,F +coef_2_plus_other_discretionary_tours_constant,-2.663,F +coef_1_escort_tour_constant_tm2,-1.52187411,F +coef_2_plus_escort_tours_constant_tm2,-1.489501032,F +coef_1_shopping_tours_constant_tm2,-1.853328287,F +coef_2_plus_shopping_tours_constant_tm2,-1.853328287,F +coef_1_maintenance_tours_constant_tm2,-0.808408856,F +coef_2_plus_maintenance_tours_constant_tm2,-0.808408856,F +coef_1_plus_eating_out_tours_constant_tm2,0.600524339,F +coef_1_plus_visting_tours_constant_tm2,-0.284937967,F +coef_1_other_discretionary_tours_constant_tm2,-0.504897539,F +coef_2_plus_other_discretionary_tours_constant_tm2,-0.504897539,F +coef_non_mandatory_dap_and_1_non_mand_tour,0.563996011,F +coef_non_mandatory_dap_and_2_non_mand_tour,1.1354493,F +coef_non_mandatory_dap_and_3_non_mand_tour,1.647365455,F +coef_non_mandatory_dap_and_4_plus_non_mand_tour,6.448243189,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv new file mode 100644 index 0000000000..eaa0229f3c --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv @@ -0,0 +1,103 @@ +coefficient_name,value,Constrain +coef_escorting_tour,-6.825870475,F +coef_discretionary_tour,-3.103671535,F +coef_shopping_tour,-2.585699928,F +coef_maintenance_tour,-4.876815454,F +coef_visiting_or_social_tour,-4.787916747,F +coef_eating_out_tour,-8.091973006,F +coef_total_number_of_tours_is_0_no_prior_tours,-999,F +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,0,T +coef_total_number_of_tours_is_2,1.347662088,F +coef_total_number_of_tours_is_3,1.958684542,F +coef_total_number_of_tours_is_4,3.406917203,F +coef_total_number_of_tours_is_5,3.406917203,F +coef_total_number_of_tours_is_6_plus,3.406917203,F +coef_has_mandatory_tours_and_tour_frequency_is_2,-1.383795025,F +coef_has_mandatory_tours_and_tour_frequency_is_3,-1.383795025,F +coef_has_mandatory_tours_and_tour_frequency_is_4_plus,-2.308089044,F +coef_has_joint_tours_and_tour_frequency_is_4_plus,-0.850963319,F +coef_number_of_joint_discretionary_tours,-0.13985943,F +coef_more_than_one_escorting_tours,0.688722128,F +coef_more_than_one_shopping_tours,-0.806980084,F +coef_more_than_one_discretionary_tours,-1.123565611,F +coef_high_income_group_and_escorting_tour,-0.188741999,F +coef_low_income_group_and_shopping_tour,-0.584603787,F +coef_medium_low_income_group_and_shopping_tour,-0.191476033,F +coef_medium_high_income_group_and_shopping_tour,0.302369299,F +coef_high_income_group_and_shopping_tour,0.302369299,F +coef_low_income_group_and_eating_out_tour,-1.70963028,F +coef_medium_low_income_group_and_eating_out_tour,-1.018936807,F +coef_low_income_group_and_discretionary_tour,-0.697953689,F +coef_mediumhigh_income_group_and_discretionary_tour,0.441095148,F +coef_high_income_group_and_discretionary_tour,0.441095148,F +coef_female_and_escorting_tour,0.827860636,F +coef_female_and_shopping_tour,0.650180816,F +coef_female_and_eatingout_tour,-1.25440798,F +coef_zero_car_ownership_and_tour_frequency_is_2_plus,-2.213461849,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2_plus,-0.490152764,F +coef_car_shortage_vs_workers_and_number_of_escorting_tours,0.245040809,F +coef_car_surplus_vs_workers_and_number_of_escorting_tours,-0.273518269,F +coef_car_shortage_vs_workers_and_number_of_shopping_tours,0.377878264,F +coef_car_surplus_vs_workers_and_number_of_shopping_tours,-0.579935901,F +coef_number_of_full_time_worker_and_escorting_tour,0.097720305,F +coef_number_of_part_time_worker_and_escorting_tour,-0.13505138,F +coef_number_of_non_worker_and_escorting_tour,-0.264726717,F +coef_number_of_university_student_and_escorting_tour,0.324362136,F +coef_number_of_driving_school_kid_and_escorting_tour,0.592250815,F +coef_go_out_pre_driving_school_kid_and_escorting_tour,0.807393603,F +coef_go_out_school_kid_and_escorting_tour,0.584027557,F +coef_number_of_full_time_worker_and_shopping_tour,-0.571692163,F +coef_number_of_part_time_worker_and_shopping_tour,-0.571692163,F +coef_number_of_non_worker_and_shopping_tour,-0.571692163,F +coef_number_of_full_time_worker_and_maintenance_tour,-0.242545271,F +coef_number_of_part_time_worker_and_maintenance_tour,-0.242545271,F +coef_number_of_non_worker_and_maintenance_tour,-1.173436234,F +coef_number_of_full_time_worker_and_eating_out_tour,-0.273301702,F +coef_number_of_part_time_worker_and_visiting_tour,0.887755866,F +coef_number_of_retiree_and_visiting_tour,0.885418039,F +coef_number_of_driving_school_kid_and_visiting_tour,0.023898086,F +coef_number_of_pre_driving_school_kid_and_visiting_tour,0.023898086,F +coef_number_of_pre_school_kid_and_visiting_tour,0.023898086,F +coef_number_of_driving_school_kid_and_discretionary_tour,0.257383748,F +coef_number_of_pre_driving_school_kid_and_discretionary_tour,0.257383748,F +coef_number_of_pre_school_kid_and_discretionary_tour,-2.431661289,F +coef_work_accessibility_and_tour_frequency_is_1,0.628740481,F +coef_work_accessibility_and_tour_frequency_is_2,0.842604039,F +coef_work_accessibility_and_tour_frequency_is_3_plus,0.814255739,F +coef_retail_accessibility_for_escorting,0.199705264,F +coef_retail_accessibility_for_maintenance,0.189588653,F +coef_retail_accessibility_for_eating_out,0.387577711,F +coef_walk_accessibility_for_discretionary,0.032230313,F +coef_origin_population_density_for_visiting,0.048808797,F +coef_college_education_for_discretionary,0.256548173,F +coef_low_education_for_discretionary,-0.974189529,F +coef_detached_household_and_escorting,0.290441415,F +coef_detached_household_and_eating_out,-0.227906236,F +coef_1_escort_tour_constant,0.444537569,F +coef_2_plus_escort_tours_constant,1.45203917,F +coef_1_shopping_tours_constant,0.19959348,F +coef_2_plus_shopping_tours_constant,0.365593218,F +coef_1_maintenance_tours_constant,-0.050890967,F +coef_2_plus_maintenance_tours_constant,0.025818889,F +coef_1_plus_eating_out_tours_constant,-0.688218447,F +coef_1_plus_visting_tours_constant,-0.761523103,F +coef_1_other_discretionary_tours_constant,0.151171319,F +coef_2_plus_other_discretionary_tours_constant,0.349908582,F +coef_1_escort_tour_constant_tm2,-1.041387049,F +coef_2_plus_escort_tours_constant_tm2,-1.209189663,F +coef_1_shopping_tours_constant_tm2,-1.496588445,F +coef_2_plus_shopping_tours_constant_tm2,-1.496588445,F +coef_1_maintenance_tours_constant_tm2,-0.067949689,F +coef_2_plus_maintenance_tours_constant_tm2,-0.067949689,F +coef_1_plus_eating_out_tours_constant_tm2,0.534488324,F +coef_1_plus_visting_tours_constant_tm2,-0.010969663,F +coef_1_other_discretionary_tours_constant_tm2,-0.530568731,F +coef_2_plus_other_discretionary_tours_constant_tm2,-0.530568731,F +coef_mandatory_dap_and_1_non_mand_tour,0.435298756,F +coef_mandatory_dap_and_2_non_mand_tour,1.193250166,F +coef_mandatory_dap_and_3_plus_non_mand_tour,1.803605616,F +coef_non_mandatory_dap_and_1_non_mand_tour,0.612888101,F +coef_non_mandatory_dap_and_2_non_mand_tour,0.745415157,F +coef_non_mandatory_dap_and_3_non_mand_tour,1.266755805,F +coef_non_mandatory_dap_and_4_plus_non_mand_tour,2.308013647,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv new file mode 100644 index 0000000000..09ac522c01 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv @@ -0,0 +1,48 @@ +coefficient_name,value,constrain +coef_escorting_tour,-7.2688,F +coef_discretionary_tour,-4.2006,F +coef_shopping_tour,-43.4464,F +coef_maintenance_tour,-3.3790,F +coef_visiting_or_social_tour,-4.0352,F +coef_eating_out_tour,-5.2924,F +coef_total_number_of_tours_is_0_no_prior_tours,-999.0000,T +coef_total_number_of_tours_is_0_prior_tours,0.0000,T +coef_total_number_of_tours_is_2,-0.7216,F +coef_total_number_of_tours_is_3,-0.9586,F +coef_total_number_of_tours_is_4_plus,-999.0000,T +coef_has_mandatory_tours_and_tour_frequency_is_2_plus,-2.1108,F +coef_more_than_one_escorting_tours,2.3269,F +coef_high_income_group_and_escorting_tour,-0.6921,F +coef_zero_car_ownership_and_escorting_tour,-0.9936,F +coef_car_shortage_vs_workers_and_number_of_escorting_tours,-0.9936,F +coef_number_of_part_time_worker_and_escorting_tour,0.7831,F +coef_number_of_non_worker_and_escorting_tour,0.7831,F +coef_number_of_university_student_and_escorting_tour,0.8044,F +coef_go_out_pre_driving_school_kid_and_escorting_tour,0.5152,F +coef_go_out_school_kid_and_escorting_tour,0.6072,F +coef_retail_accessibility_for_escorting,0.2739,F +coef_retail_accessibility_for_shopping,2.7431,F +coef_1_escort_tour_constant,-8.402,F +coef_2_plus_escort_tours_constant,-9.519,F +coef_1_shopping_tours_constant,-3.856,F +coef_2_plus_shopping_tours_constant,0.000,T +coef_1_maintenance_tours_constant,-7.785,F +coef_2_plus_maintenance_tours_constant,-6.925,F +coef_1_plus_eating_out_tours_constant,-7.585,F +coef_1_plus_visting_tours_constant,-7.599,F +coef_1_other_discretionary_tours_constant,-7.462,F +coef_2_plus_other_discretionary_tours_constant,-15.000,F +coef_1_escort_tour_constant_tm2,-1.496,F +coef_2_plus_escort_tours_constant_tm2,-1.588,F +coef_1_shopping_tours_constant_tm2,0.031,F +coef_2_plus_shopping_tours_constant_tm2,0.031,F +coef_1_maintenance_tours_constant_tm2,-1.011,F +coef_2_plus_maintenance_tours_constant_tm2,-1.011,F +coef_1_plus_eating_out_tours_constant_tm2,-1.923,F +coef_1_plus_visting_tours_constant_tm2,-1.085,F +coef_1_other_discretionary_tours_constant_tm2,-1.126,F +coef_2_plus_other_discretionary_tours_constant_tm2,-1.126,F +coef_non_mandatory_dap_and_1_non_mand_tour,1.113941467,F +coef_non_mandatory_dap_and_2_non_mand_tour,0.375527882,F +coef_non_mandatory_dap_and_3_non_mand_tour,2.691413911,F +coef_non_mandatory_dap_and_4_plus_non_mand_tour,8.404994214,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv new file mode 100644 index 0000000000..1926c8f067 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv @@ -0,0 +1,86 @@ +coefficient_name,value,constrain +coef_escorting_tour,-10.4405,F +coef_discretionary_tour,-6.1189,F +coef_shopping_tour,-4.6661,F +coef_maintenance_tour,-2.4724,F +coef_visiting_or_social_tour,-3.677,F +coef_eating_out_tour,-2.5648,F +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,-1.140675606,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_has_joint_tours_and_tour_frequency_is_1,-1.601015729,F +coef_has_joint_tours_and_tour_frequency_is_2_plus,-2.105529269,F +coef_number_of_joint_shopping_tours,-0.6377,F +coef_number_of_joint_maintenance_tours,-0.4348,F +coef_number_of_joint_eating_out_tours,-0.7839,F +coef_number_of_joint_discretionary_tours,-0.085,F +coef_more_than_one_escorting_tours,2.0794,F +coef_more_than_one_shopping_tours,-1.1624,F +coef_more_than_one_maintenance_tours,-0.5943,F +coef_mediumhigh_income_group_and_shopping_tour,0.4056,F +coef_high_income_group_and_shopping_tour,0.4056,F +coef_low_income_group_and_maintenance_tour,-0.2202,F +coef_mediumlow_income_group_and_maintenance_tour,-0.2202,F +coef_low_income_group_and_eating_out_tour,-1.0384,F +coef_medium_low_income_group_and_eating_out_tour,-0.4217,F +coef_low_income_group_and_discretionary_tour,-0.3758,F +coef_mediumhigh_income_group_and_discretionary_tour,0.1222,F +coef_high_income_group_and_discretionary_tour,0.1222,F +coef_high_income_group_and_visiting_tour,-1.104,F +coef_female_and_shopping_tour,-0.0455,F +coef_female_and_maintenance_tour,-0.2926,F +coef_female_and_eatingout_tour,-0.2472,F +coef_female_and_discretionary_tour,-0.0647,F +coef_number_of_full_time_worker_and_escorting_tour,-0.1294,F +coef_number_of_part_time_worker_and_escorting_tour,-0.1294,F +coef_number_of_non_worker_and_escorting_tour,-0.1294,F +coef_number_of_driving_school_kid_and_escorting_tour,0.6054,F +coef_go_out_pre_driving_school_kid_and_escorting_tour,0.7285,F +coef_number_of_retiree_and_shopping_tour,-0.4462,F +coef_number_of_retiree_and_maintenance_tour,-0.4112,F +coef_number_of_retiree_and_visiting_tour,-0.2327,F +coef_retired_hh_and_escorting_tour,-0.8133,F +coef_retired_hh_and_shopping_tour,0.2715,F +coef_retired_hh_and_eating_out_tour,0.2011,F +coef_retired_hh_and_discretionary_tour,0.2624,F +coef_retail_accessibility_for_escorting,0.5109,F +coef_retail_accessibility_for_shopping,0.2262,F +coef_retail_accessibility_for_maintenance,0.1154,F +coef_retail_accessibility_for_discretionary,0.3252,F +coef_retail_accessibility_for_visiting,0.0533,F +coef_college_education_for_escorting,0.1522,F +coef_college_education_for_visiting,0.2179,F +coef_college_education_for_discretionary,0.3046,F +coef_college_education_for_shopping,0.2046,F +coef_low_education_for_discretionary,-0.8504,F +coef_low_education_for_escorting,-0.8443,F +coef_low_education_for_shopping,-0.5676,F +coef_low_education_for_maintenance,-0.6861,F +coef_detached_household_and_escorting,0.3809,F +coef_detached_household_and_eating_out,-0.3389,F +coef_detached_household_and_discretionary,-0.3286,F +coef_1_escort_tour_constant,-2.342,F +coef_2_plus_escort_tours_constant,-1.988,F +coef_1_shopping_tours_constant,-2.414,F +coef_2_plus_shopping_tours_constant,-2.101,F +coef_1_maintenance_tours_constant,-2.869,F +coef_2_plus_maintenance_tours_constant,-3.015,F +coef_1_plus_eating_out_tours_constant,-2.979,F +coef_1_plus_visting_tours_constant,-2.806,F +coef_1_other_discretionary_tours_constant,-3.196,F +coef_2_plus_other_discretionary_tours_constant,-3.482,F +coef_1_escort_tour_constant_tm2,-0.287618769,F +coef_2_plus_escort_tours_constant_tm2,0.65554552,F +coef_1_shopping_tours_constant_tm2,-1.385280597,F +coef_2_plus_shopping_tours_constant_tm2,-1.385280597,F +coef_1_maintenance_tours_constant_tm2,-1.480017973,F +coef_2_plus_maintenance_tours_constant_tm2,-1.480017973,F +coef_1_plus_eating_out_tours_constant_tm2,-1.385672408,F +coef_1_plus_visting_tours_constant_tm2,-1.218799144,F +coef_1_other_discretionary_tours_constant_tm2,0.538161829,F +coef_2_plus_other_discretionary_tours_constant_tm2,0.538161829,F +coef_non_mandatory_dap_and_1_non_mand_tour,1.152725777,F +coef_non_mandatory_dap_and_2_non_mand_tour,0.022553605,F +coef_non_mandatory_dap_and_3_non_mand_tour,6.338227151,F +coef_non_mandatory_dap_and_4_plus_non_mand_tour,6.237997735,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv new file mode 100644 index 0000000000..03710de143 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv @@ -0,0 +1,73 @@ +coefficient_name,value,constrain +coef_escorting_tour,-10.3136,F +coef_discretionary_tour,-8.0543,F +coef_shopping_tour,-17.8882,F +coef_maintenance_tour,-14.5925,F +coef_visiting_or_social_tour,-2.9744,F +coef_eating_out_tour,-42.1591,F +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_2,-0.7045,F +coef_total_number_of_tours_is_3,-0.7045,F +coef_total_number_of_tours_is_4_plus,-999,T +coef_has_mandatory_tours_and_tour_frequency_is_1,-1.8596,F +coef_has_mandatory_tours_and_tour_frequency_is_2_plus,-6.1247,F +coef_has_joint_tours_and_tour_frequency_is_1_plus,-1.0154,F +coef_number_of_joint_discretionary_tours,-1.2257,F +coef_more_than_one_escorting_tours,0.3358,F +coef_more_than_one_discretionary_tours,-0.8724,F +coef_high_income_group_and_shopping_tour,1.0878,F +coef_mediumhigh_income_group_and_maintenance_tour,1.0499,F +coef_high_income_group_and_maintenance_tour,1.0499,F +coef_low_income_group_and_discretionary_tour,-2.1495,F +coef_medium_low_income_group_and_discretionary_tour,-0.9706,F +coef_high_income_group_and_discretionary_tour,0.6655,F +coef_low_income_group_and_visiting_tour,-1.6227,F +coef_medium_low_income_group_and_visiting_tour,-1.6227,F +coef_high_income_group_and_visiting_tour,1.1424,F +coef_car_surplus_vs_workers_and_number_of_maintenance_tours,0.4721,F +coef_car_surplus_vs_workers_and_number_of_discretionary_tours,0.1531,F +coef_go_out_pre_driving_school_kid_and_escorting_tour,0.4372,F +coef_number_of_driving_school_kid_and_shopping_tour,-0.1631,F +coef_number_of_pre_driving_school_kid_and_shopping_tour,-0.1631,F +coef_number_of_pre_school_kid_and_shopping_tour,-0.1631,F +coef_number_of_driving_school_kid_and_visiting_tour,0.3656,F +coef_number_of_pre_driving_school_kid_and_visiting_tour,0.3656,F +coef_number_of_pre_school_kid_and_visiting_tour,0.3656,F +coef_number_of_driving_school_kid_and_discretionary_tour,0.2287,F +coef_number_of_pre_driving_school_kid_and_discretionary_tour,0.2287,F +coef_number_of_pre_school_kid_and_discretionary_tour,0.2287,F +coef_school_accessibility_and_tour_frequency_is_1,0.6512,F +coef_school_accessibility_and_tour_frequency_is_2_plus,3.8532,F +coef_retail_accessibility_for_escorting,0.5583,F +coef_retail_accessibility_for_shopping,0.9818,F +coef_retail_accessibility_for_maintenance,0.8866,F +coef_retail_accessibility_for_eating_out,2.8733,F +coef_retail_accessibility_for_discretionary,0.5082,F +coef_1_escort_tour_constant,-0.405,F +coef_2_plus_escort_tours_constant,-0.688,F +coef_1_shopping_tours_constant,1.708,F +coef_2_plus_shopping_tours_constant,0,T +coef_1_maintenance_tours_constant,-1.042,F +coef_2_plus_maintenance_tours_constant,0,T +coef_1_plus_eating_out_tours_constant,-3.915,F +coef_1_plus_visting_tours_constant,-0.653,F +coef_1_other_discretionary_tours_constant,-1.095,F +coef_2_plus_other_discretionary_tours_constant,-2.257,F +coef_1_escort_tour_constant_tm2,-0.491,F +coef_2_plus_escort_tours_constant_tm2,-0.491,F +coef_1_shopping_tours_constant_tm2,0.246,F +coef_2_plus_shopping_tours_constant_tm2,0.246,F +coef_1_maintenance_tours_constant_tm2,1.445,F +coef_2_plus_maintenance_tours_constant_tm2,1.445,F +coef_1_plus_eating_out_tours_constant_tm2,0.005,F +coef_1_plus_visting_tours_constant_tm2,-2.381,F +coef_1_other_discretionary_tours_constant_tm2,0.614,F +coef_2_plus_other_discretionary_tours_constant_tm2,0.614,F +coef_mandatory_dap_and_1_non_mand_tour,2.692763095,F +coef_mandatory_dap_and_2_non_mand_tour,5.492779247,F +coef_mandatory_dap_and_3_plus_non_mand_tour,1.891501612,F +coef_non_mandatory_dap_and_1_non_mand_tour,4.002447263,F +coef_non_mandatory_dap_and_2_non_mand_tour,2.426047336,F +coef_non_mandatory_dap_and_3_non_mand_tour,-5.579294246,F +coef_non_mandatory_dap_and_4_plus_non_mand_tour,-3.501958214,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv new file mode 100644 index 0000000000..e01026d640 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv @@ -0,0 +1,81 @@ +coefficient_name,value,constrain +coef_escorting_tour,-3.151460752,F +coef_discretionary_tour,-4.548188518,F +coef_shopping_tour,-2.772689119,F +coef_maintenance_tour,-2.262570738,F +coef_visiting_or_social_tour,-4.212581954,F +coef_eating_out_tour,-14.69186496,F +coef_total_number_of_tours_is_0_no_prior_tours,-999,F +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-0.257343536,F +coef_has_mandatory_tours_and_tour_frequency_is_2_plus,-1.072062082,F +coef_has_joint_tours_and_tour_frequency_is_1,-0.336245855,F +coef_has_joint_tours_and_tour_frequency_is_2_plus,-0.388633303,F +coef_more_than_one_escorting_tours,2.72245229,F +coef_low_income_group_and_escorting_tour,0.202123266,F +coef_medium_low_income_group_and_escorting_tour,0.202123266,F +coef_medium_high_income_group_and_escorting_tour,-0.060806947,F +coef_high_income_group_and_escorting_tour,-0.060806947,F +coef_medium_high_income_group_and_shopping_tour,0.685514685,F +coef_high_income_group_and_shopping_tour,0.702798296,F +coef_mediumhigh_income_group_and_maintenance_tour,-0.252582535,F +coef_high_income_group_and_maintenance_tour,-0.252582535,F +coef_medium_high_income_group_and_eating_out_tour,1.584951486,F +coef_high_income_group_and_eating_out_tour,1.584951486,F +coef_low_income_group_and_discretionary_tour,-0.174583696,F +coef_mediumhigh_income_group_and_discretionary_tour,0.61551534,F +coef_high_income_group_and_discretionary_tour,0.61551534,F +coef_low_income_group_and_visiting_tour,0.709390489,F +coef_medium_low_income_group_and_visiting_tour,0.709390489,F +coef_high_income_group_and_visiting_tour,-0.174583696,F +coef_female_and_escorting_tour,0.187876356,F +coef_female_and_shopping_tour,0.986977296,F +coef_female_and_maintenance_tour,0.203259744,F +coef_female_and_visit_tour,1.063972932,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1_plus,0.427064876,F +coef_number_of_full_time_worker_and_escorting_tour,-0.30107932,F +coef_number_of_part_time_worker_and_escorting_tour,-0.457600247,F +coef_number_of_non_worker_and_escorting_tour,-0.457600247,F +coef_number_of_retiree_and_escorting_tour,-0.637017887,F +coef_number_of_university_student_and_escorting_tour,0.420147909,F +coef_go_out_pre_driving_school_kid_and_escorting_tour,0.767818174,F +coef_go_out_school_kid_and_escorting_tour,0.578638577,F +coef_number_of_full_time_worker_and_shopping_tour,-0.500867474,F +coef_number_of_part_time_worker_and_shopping_tour,-0.760659628,F +coef_number_of_university_student_and_shopping_tour,-1.440951366,F +coef_number_of_full_time_worker_and_maintenance_tour,-0.540708813,F +coef_number_of_part_time_worker_and_maintenance_tour,-0.540708813,F +coef_number_of_non_worker_and_maintenance_tour,-0.540708813,F +coef_number_of_university_student_and_maintenance_tour,-1.047970628,F +coef_number_of_university_student_and_discretionary_tour,0.089391871,F +coef_school_accessibility_and_tour_frequency_is_1_plus,0.512981401,F +coef_retail_accessibility_for_discretionary,0.146060018,F +coef_walk_accessibility_for_eatout,1.002231311,F +coef_detached_household_and_discretionary,-0.330258504,F +coef_1_escort_tour_constant,0.212419359,F +coef_2_plus_escort_tours_constant,0.941880945,F +coef_1_shopping_tours_constant,0.292005818,F +coef_2_plus_shopping_tours_constant,0.365107316,F +coef_1_maintenance_tours_constant,-0.361543976,F +coef_2_plus_maintenance_tours_constant,0,T +coef_1_plus_eating_out_tours_constant,-0.297763109,F +coef_1_plus_visting_tours_constant,-0.657474419,F +coef_1_other_discretionary_tours_constant,0.941880945,F +coef_2_plus_other_discretionary_tours_constant,-0.390350079,F +coef_1_escort_tour_constant_tm2,-0.367737876,F +coef_2_plus_escort_tours_constant_tm2,-1.248352386,F +coef_1_shopping_tours_constant_tm2,-1.437353532,F +coef_2_plus_shopping_tours_constant_tm2,-1.437353532,F +coef_1_maintenance_tours_constant_tm2,-1.454556703,F +coef_2_plus_maintenance_tours_constant_tm2,-1.454556703,F +coef_1_plus_eating_out_tours_constant_tm2,1.506897479,F +coef_1_plus_visting_tours_constant_tm2,-0.716560806,F +coef_1_other_discretionary_tours_constant_tm2,-0.194927725,F +coef_2_plus_other_discretionary_tours_constant_tm2,-0.194927725,F +coef_mandatory_dap_and_1_non_mand_tour,0.775208618,F +coef_mandatory_dap_and_2_non_mand_tour,1.056946603,F +coef_mandatory_dap_and_3_plus_non_mand_tour,-5.001269397,F +coef_non_mandatory_dap_and_1_non_mand_tour,-0.396651853,F +coef_non_mandatory_dap_and_2_non_mand_tour,-0.794997137,F +coef_non_mandatory_dap_and_3_non_mand_tour,-2.141825245,F +coef_non_mandatory_dap_and_4_plus_non_mand_tour,-5.009271306,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_extension_probs.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_extension_probs.csv new file mode 100644 index 0000000000..8308852371 --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_extension_probs.csv @@ -0,0 +1,193 @@ +ptype,has_mandatory_tour,has_joint_tour,nonmandatory_tour_type,0_tours,1_tours,2_tours +1,0,0,1,0.71087271,0.886861358,1 +2,0,0,1,0.640712953,0.863555773,1 +3,0,0,1,0.726456335,0.726456335,1 +4,0,0,1,0.665679012,0.903816044,1 +5,0,0,1,0.861430335,0.92284115,1 +6,0,0,1,1,1,1 +7,0,0,1,0,1,1 +8,0,0,1,0.754632385,0.918132897,1 +1,1,0,1,0.824975545,1,1 +2,1,0,1,0.881285721,0.964131273,1 +3,1,0,1,0.856158692,1,1 +4,1,0,1,1,1,1 +5,1,0,1,1,1,1 +6,1,0,1,1,1,1 +7,1,0,1,1,1,1 +8,1,0,1,1,1,1 +1,0,0,2,0.918802841,1,1 +2,0,0,2,1,1,1 +3,0,0,2,1,1,1 +4,0,0,2,1,1,1 +5,0,0,2,0.911351921,0.964395496,1 +6,0,0,2,1,1,1 +7,0,0,2,1,1,1 +8,0,0,2,0.91707294,1,1 +1,1,0,2,1,1,1 +2,1,0,2,1,1,1 +3,1,0,2,1,1,1 +4,1,0,2,1,1,1 +5,1,0,2,1,1,1 +6,1,0,2,1,1,1 +7,1,0,2,1,1,1 +8,1,0,2,1,1,1 +1,0,0,3,0.885080064,0.942540032,1 +2,0,0,3,0.832615585,1,1 +3,0,0,3,1,1,1 +4,0,0,3,1,1,1 +5,0,0,3,0.874364173,0.972270724,1 +6,0,0,3,1,1,1 +7,0,0,3,1,1,1 +8,0,0,3,1,1,1 +1,1,0,3,1,1,1 +2,1,0,3,1,1,1 +3,1,0,3,1,1,1 +4,1,0,3,1,1,1 +5,1,0,3,1,1,1 +6,1,0,3,1,1,1 +7,1,0,3,1,1,1 +8,1,0,3,1,1,1 +1,0,0,4,1,1,1 +2,0,0,4,0.99296599,1,1 +3,0,0,4,1,1,1 +4,0,0,4,0.976072814,1,1 +5,0,0,4,0.956476086,0.993572522,1 +6,0,0,4,1,1,1 +7,0,0,4,1,1,1 +8,0,0,4,0.991144007,1,1 +1,1,0,4,0.99740908,1,1 +2,1,0,4,0.939184617,1,1 +3,1,0,4,1,1,1 +4,1,0,4,0.749851433,1,1 +5,1,0,4,1,1,1 +6,1,0,4,1,1,1 +7,1,0,4,1,1,1 +8,1,0,4,0.949874016,1,1 +1,0,0,5,1,1,1 +2,0,0,5,1,1,1 +3,0,0,5,1,1,1 +4,0,0,5,0.954541082,1,1 +5,0,0,5,0.955216408,1,1 +6,0,0,5,1,1,1 +7,0,0,5,1,1,1 +8,0,0,5,0.931183243,1,1 +1,1,0,5,0.970742777,1,1 +2,1,0,5,0.882901912,1,1 +3,1,0,5,1,1,1 +4,1,0,5,0.334132623,1,1 +5,1,0,5,1,1,1 +6,1,0,5,0.934804611,0.934804611,1 +7,1,0,5,0.965932685,1,1 +8,1,0,5,1,1,1 +1,0,0,6,1,1,1 +2,0,0,6,1,1,1 +3,0,0,6,1,1,1 +4,0,0,6,0.86514867,1,1 +5,0,0,6,0.896321835,1,1 +6,0,0,6,1,1,1 +7,0,0,6,1,1,1 +8,0,0,6,1,1,1 +1,1,0,6,1,1,1 +2,1,0,6,1,1,1 +3,1,0,6,1,1,1 +4,1,0,6,1,1,1 +5,1,0,6,1,1,1 +6,1,0,6,1,1,1 +7,1,0,6,1,1,1 +8,1,0,6,1,1,1 +1,0,1,1,1,1,1 +2,0,1,1,1,1,1 +3,0,1,1,1,1,1 +4,0,1,1,1,1,1 +5,0,1,1,1,1,1 +6,0,1,1,1,1,1 +7,0,1,1,1,1,1 +8,0,1,1,1,1,1 +1,1,1,1,1,1,1 +2,1,1,1,1,1,1 +3,1,1,1,1,1,1 +4,1,1,1,1,1,1 +5,1,1,1,1,1,1 +6,1,1,1,1,1,1 +7,1,1,1,1,1,1 +8,1,1,1,1,1,1 +1,0,1,2,1,1,1 +2,0,1,2,1,1,1 +3,0,1,2,1,1,1 +4,0,1,2,1,1,1 +5,0,1,2,1,1,1 +6,0,1,2,1,1,1 +7,0,1,2,1,1,1 +8,0,1,2,1,1,1 +1,1,1,2,1,1,1 +2,1,1,2,1,1,1 +3,1,1,2,1,1,1 +4,1,1,2,1,1,1 +5,1,1,2,1,1,1 +6,1,1,2,1,1,1 +7,1,1,2,1,1,1 +8,1,1,2,1,1,1 +1,0,1,3,1,1,1 +2,0,1,3,1,1,1 +3,0,1,3,1,1,1 +4,0,1,3,1,1,1 +5,0,1,3,1,1,1 +6,0,1,3,1,1,1 +7,0,1,3,1,1,1 +8,0,1,3,1,1,1 +1,1,1,3,1,1,1 +2,1,1,3,1,1,1 +3,1,1,3,1,1,1 +4,1,1,3,1,1,1 +5,1,1,3,1,1,1 +6,1,1,3,1,1,1 +7,1,1,3,1,1,1 +8,1,1,3,1,1,1 +1,0,1,4,1,1,1 +2,0,1,4,1,1,1 +3,0,1,4,1,1,1 +4,0,1,4,1,1,1 +5,0,1,4,1,1,1 +6,0,1,4,1,1,1 +7,0,1,4,1,1,1 +8,0,1,4,1,1,1 +1,1,1,4,1,1,1 +2,1,1,4,1,1,1 +3,1,1,4,1,1,1 +4,1,1,4,1,1,1 +5,1,1,4,1,1,1 +6,1,1,4,1,1,1 +7,1,1,4,1,1,1 +8,1,1,4,1,1,1 +1,0,1,5,1,1,1 +2,0,1,5,1,1,1 +3,0,1,5,1,1,1 +4,0,1,5,1,1,1 +5,0,1,5,1,1,1 +6,0,1,5,1,1,1 +7,0,1,5,1,1,1 +8,0,1,5,1,1,1 +1,1,1,5,1,1,1 +2,1,1,5,1,1,1 +3,1,1,5,1,1,1 +4,1,1,5,1,1,1 +5,1,1,5,1,1,1 +6,1,1,5,1,1,1 +7,1,1,5,1,1,1 +8,1,1,5,1,1,1 +1,0,1,6,1,1,1 +2,0,1,6,1,1,1 +3,0,1,6,1,1,1 +4,0,1,6,1,1,1 +5,0,1,6,1,1,1 +6,0,1,6,1,1,1 +7,0,1,6,1,1,1 +8,0,1,6,1,1,1 +1,1,1,6,1,1,1 +2,1,1,6,1,1,1 +3,1,1,6,1,1,1 +4,1,1,6,1,1,1 +5,1,1,6,1,1,1 +6,1,1,6,1,1,1 +7,1,1,6,1,1,1 +8,1,1,6,1,1,1 diff --git a/test/non_mandatory_tour_frequency/configs/settings.yaml b/test/non_mandatory_tour_frequency/configs/settings.yaml new file mode 100644 index 0000000000..4136d0b80c --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/settings.yaml @@ -0,0 +1,60 @@ +# input tables +input_table_list: + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + unique_hh_id: household_id + NP: hhsize + hh_workers_from_esr: num_workers + VEH: auto_ownership + MAZ: home_zone_id + HINCP: income + keep_columns: + - home_zone_id + - income + - hhsize + - HHT + - auto_ownership + - num_workers + - tablename: persons + filename: persons.csv + index_col: person_id + rename_columns: + unique_hh_id: household_id + AGEP: age + SPORDER: PNUM + SEX: sex + employed: pemploy + student_status: pstudent + person_type: ptype + keep_columns: + - household_id + - age + - PNUM + - sex + - pemploy + - pstudent + - ptype + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + MAZ_ORIGINAL: zone_id + CountyID: county_id + TAZ_ORIGINAL: TAZ + DistID: DISTRICT + HH: TOTHH + POP: TOTPOP + ACRES: TOTACRE + emp_total: TOTEMP + keep_columns: + - TAZ + - DISTRICT + - SD + - county_id + - TOTHH + - TOTPOP + - TOTACRE + +trace_hh_id: \ No newline at end of file diff --git a/test/non_mandatory_tour_frequency/configs/tour_departure_and_duration_alternatives.csv b/test/non_mandatory_tour_frequency/configs/tour_departure_and_duration_alternatives.csv new file mode 100644 index 0000000000..bddab06b9d --- /dev/null +++ b/test/non_mandatory_tour_frequency/configs/tour_departure_and_duration_alternatives.csv @@ -0,0 +1,191 @@ +start,end +5,5 +5,6 +5,7 +5,8 +5,9 +5,10 +5,11 +5,12 +5,13 +5,14 +5,15 +5,16 +5,17 +5,18 +5,19 +5,20 +5,21 +5,22 +5,23 +6,6 +6,7 +6,8 +6,9 +6,10 +6,11 +6,12 +6,13 +6,14 +6,15 +6,16 +6,17 +6,18 +6,19 +6,20 +6,21 +6,22 +6,23 +7,7 +7,8 +7,9 +7,10 +7,11 +7,12 +7,13 +7,14 +7,15 +7,16 +7,17 +7,18 +7,19 +7,20 +7,21 +7,22 +7,23 +8,8 +8,9 +8,10 +8,11 +8,12 +8,13 +8,14 +8,15 +8,16 +8,17 +8,18 +8,19 +8,20 +8,21 +8,22 +8,23 +9,9 +9,10 +9,11 +9,12 +9,13 +9,14 +9,15 +9,16 +9,17 +9,18 +9,19 +9,20 +9,21 +9,22 +9,23 +10,10 +10,11 +10,12 +10,13 +10,14 +10,15 +10,16 +10,17 +10,18 +10,19 +10,20 +10,21 +10,22 +10,23 +11,11 +11,12 +11,13 +11,14 +11,15 +11,16 +11,17 +11,18 +11,19 +11,20 +11,21 +11,22 +11,23 +12,12 +12,13 +12,14 +12,15 +12,16 +12,17 +12,18 +12,19 +12,20 +12,21 +12,22 +12,23 +13,13 +13,14 +13,15 +13,16 +13,17 +13,18 +13,19 +13,20 +13,21 +13,22 +13,23 +14,14 +14,15 +14,16 +14,17 +14,18 +14,19 +14,20 +14,21 +14,22 +14,23 +15,15 +15,16 +15,17 +15,18 +15,19 +15,20 +15,21 +15,22 +15,23 +16,16 +16,17 +16,18 +16,19 +16,20 +16,21 +16,22 +16,23 +17,17 +17,18 +17,19 +17,20 +17,21 +17,22 +17,23 +18,18 +18,19 +18,20 +18,21 +18,22 +18,23 +19,19 +19,20 +19,21 +19,22 +19,23 +20,20 +20,21 +20,22 +20,23 +21,21 +21,22 +21,23 +22,22 +22,23 +23,23 \ No newline at end of file diff --git a/test/non_mandatory_tour_frequency/data/.gitkeep b/test/non_mandatory_tour_frequency/data/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 From 5b17b52ba1e9cfe992b95e18cfad229d2c2d68de Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Sun, 25 Sep 2022 22:54:43 -0400 Subject: [PATCH 16/57] add jtfc alt table dictionary to yaml --- activitysim/abm/models/util/tour_frequency.py | 49 +++++++++++++------ 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/activitysim/abm/models/util/tour_frequency.py b/activitysim/abm/models/util/tour_frequency.py index 635b4b8b17..8203dcf35c 100644 --- a/activitysim/abm/models/util/tour_frequency.py +++ b/activitysim/abm/models/util/tour_frequency.py @@ -6,6 +6,7 @@ import pandas as pd from activitysim.core.util import reindex +from activitysim.core import config from activitysim.abm.models.util.canonical_ids import set_tour_index logger = logging.getLogger(__name__) @@ -441,7 +442,7 @@ def process_joint_tours_frequency_composition(joint_tour_frequency_composition, This method processes the joint_tour_frequency_composition column that comes out of the model of the same name and turns into a DataFrame that represents the joint tours that were generated - + Parameters ---------- joint_tour_frequency_composition : pandas.Series @@ -452,7 +453,7 @@ def process_joint_tours_frequency_composition(joint_tour_frequency_composition, and frequency counts for the tours to be generated for that choice point_persons : pandas DataFrame table with columns for (at least) person_ids and home_zone_id indexed by household_id - + Returns ------- tours : DataFrame @@ -487,7 +488,7 @@ def process_joint_tours_frequency_composition(joint_tour_frequency_composition, 3209531 320953 disc 2 2 2 2 23267026 2326702 shop 1 1 1 1 17978574 1797857 main 1 1 1 1 - + tour_category tour_category_id person_id 3209530 joint 4 577234 3209531 joint 4 577234 @@ -501,7 +502,7 @@ def process_tours_frequency_composition(joint_tour_frequency_composition, joint_ This method processes the joint_tour_frequency_composition column that comes out of the model of the same name and turns into a DataFrame that represents the tours that were generated - + Parameters ---------- joint_tour_frequency_composition: Series @@ -519,7 +520,7 @@ def process_tours_frequency_composition(joint_tour_frequency_composition, joint_ one of 'mandatory', 'non_mandatory', 'atwork', or 'joint' parent_col: str the name of the index (parent_tour_id for atwork subtours, otherwise person_id) - + Returns ------- tours : pandas.DataFrame @@ -527,7 +528,7 @@ def process_tours_frequency_composition(joint_tour_frequency_composition, joint_ source code - it has an index which is a unique tour identifier, a person_id column, and a tour type column which comes from the column names of the alternatives DataFrame supplied above. - + tours.tour_type - tour type (e.g. school, work, shopping, eat) tours.composition - tour composition (e.g. adults, children, mixed) tours.tour_type_num - if there are two 'school' type tours, they will be numbered 1 and 2 @@ -561,7 +562,7 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): This method processes the tour_frequency column that comes out of the model of the same name and turns into a DataFrame that represents the tours that were generated - + Parameters ---------- tour_counts: DataFrame @@ -570,7 +571,7 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): one (int) column per tour_type, with number of tours to create tour_category : str one of 'mandatory', 'non_mandatory', 'atwork', or 'joint' - + Returns ------- tours : pandas.DataFrame @@ -578,7 +579,7 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): source code - it has an index which is a unique tour identifier, a person_id column, and a tour type column which comes from the column names of the alternatives DataFrame supplied above. - + tours.tour_type - tour type (e.g. school, work, shopping, eat) tours.composition - tour composition (e.g. adults, children, mixed) tours.tour_type_num - if there are two 'school' type tours, they will be numbered 1 and 2 @@ -596,11 +597,27 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): 2588676 2 0 0 2588677 1 1 0 """ - tour_type_dict={5:'shopping',6:'othmaint',7:'eatout',8:'social',9:'othdiscr'} - tour_comp_dict={1:'adults',2:'children',3:'mixed'} + model_settings_file_name = 'joint_tour_frequency_composition.yaml' + + model_settings = config.read_model_settings(model_settings_file_name) + + alts_table_structure = model_settings.get('ALTS_TABLE_STRUCTURE', None) + assert alts_table_structure is not None, f"Expected to find ALTS_TABLE_STRUCTURE setting in joint_tour_frequency_composition.yaml" + + tour_type_dict = alts_table_structure.get('PURPOSE', None).get('VALUE_MAP', None) + assert tour_type_dict is not None, f"Expected to find PURPOSE.VALUE_MAP setting in ALTS_TABLE_STRUCTURE" + + tour_type_cols = alts_table_structure.get('PURPOSE', None).get('COLUMNS', None) + assert tour_type_cols is not None, f"Expected to find PURPOSE.COLUMNS setting in ALTS_TABLE_STRUCTURE" + + tour_comp_dict = alts_table_structure.get('COMPOSITION', None).get('VALUE_MAP', None) + assert tour_comp_dict is not None, f"Expected to find COMPOSITION.VALUE_MAP setting in ALTS_TABLE_STRUCTURE" + + tour_comp_cols = alts_table_structure.get('COMPOSITION', None).get('COLUMNS', None) + assert tour_comp_cols is not None, f"Expected to find COMPOSITION.COLUMNS setting in ALTS_TABLE_STRUCTURE" # reformat with the columns given below - tours_purp = tour_counts[['purpose1','purpose2']].stack().reset_index() + tours_purp = tour_counts[tour_type_cols].stack().reset_index() tours_purp.columns = [parent_col, "tour_id_temp", "tour_type"] tours_purp['tour_id_temp'] = range(1, 1+len(tours_purp)) tours_purp['tour_type'] = tours_purp['tour_type'].map(tour_type_dict) @@ -613,16 +630,16 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): 3 2588677 purpose2 5 4 2588678 purpose1 6 5 2588678 purpose2 7 - + parent_col is the index from non_mandatory_tour_frequency tour_type is the column name from non_mandatory_tour_frequency_alts tour_type_count is the count value of the tour's chosen alt's tour_type from alts table """ - tours_comp = tour_counts[['party1','party2']].stack().reset_index() + tours_comp = tour_counts[tour_comp_cols].stack().reset_index() tours_comp.columns = [parent_col, "tour_id_temp", "composition"] tours_comp['tour_id_temp'] = range(1, 1+len(tours_comp)) tours_comp['composition'] = tours_comp['composition'].map(tour_comp_dict) - + """ tour_id_temp tour_composition 0 2588676 party1 1 @@ -631,7 +648,7 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): 3 2588677 party2 1 4 2588678 party1 1 5 2588678 party2 2 - + parent_col is the index from non_mandatory_tour_frequency tour_type is the column name from non_mandatory_tour_frequency_alts tour_type_count is the count value of the tour's chosen alt's tour_type from alts table From b9a2e1149ebd6f15aee6dc7d14e752c26956f70b Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Sun, 25 Sep 2022 22:55:15 -0400 Subject: [PATCH 17/57] update jtfc yaml --- .../joint_tour_frequency_composition.yaml | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/test/joint_tours/configs/joint_tour_frequency_composition.yaml b/test/joint_tours/configs/joint_tour_frequency_composition.yaml index 25db17dba3..ce31ea8df5 100644 --- a/test/joint_tours/configs/joint_tour_frequency_composition.yaml +++ b/test/joint_tours/configs/joint_tour_frequency_composition.yaml @@ -11,4 +11,25 @@ preprocessor: ALTS_PREPROCESSOR: SPEC: joint_tour_frequency_composition_annotate_alt_preprocessor.csv - DF: alt_tdd \ No newline at end of file + DF: alt_tdd + +# define the structure of alternative table +ALTS_TABLE_STRUCTURE: + PURPOSE: + COLUMNS: + - purpose1 + - purpose2 + VALUE_MAP: + 5: shopping + 6: othmaint + 7: eatout + 8: social + 9: othdiscr + COMPOSITION: + COLUMNS: + - party1 + - party2 + VALUE_MAP: + 1: adults + 2: children + 3: mixed \ No newline at end of file From 2b3b325bd5698a1362fc4e8eb57da36f3f50fd24 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Sun, 25 Sep 2022 22:55:42 -0400 Subject: [PATCH 18/57] jtfc move coef values to coef.csv --- .../joint_tour_frequency_composition.csv | 196 +++++++++--------- ...oint_tour_frequency_composition_coeffs.csv | 96 +++++++++ 2 files changed, 194 insertions(+), 98 deletions(-) diff --git a/test/joint_tours/configs/joint_tour_frequency_composition.csv b/test/joint_tours/configs/joint_tour_frequency_composition.csv index 08338518c9..2cace7b25e 100644 --- a/test/joint_tours/configs/joint_tour_frequency_composition.csv +++ b/test/joint_tours/configs/joint_tour_frequency_composition.csv @@ -1,99 +1,99 @@ Label,Description,Expression,Coefficient -,Constant for shopping tour,@df.shopping,0 -,Constant for Maintenance tour,@df.othmaint,-1.477 -,Constant for eating out tour,@df.eatout,0.5796 -,Constant for visiting tour,@df.social,-1.0037 -,Constant for discretionary tour,@df.othdiscr,-1.1195 -,Constant for 2 shopping tour,@df.shopping==2,-13.70946409 -,1 Shopping and 1 Maintenance Tour,@((df.shopping==1) & (df.othmaint==1)),-12.13684801 -,1 Shopping and 1 Eating Out Tour,@((df.shopping==1) & (df.eatout==1)),-12.79892713 -,1 Shopping and 1 Visiting Tour,@((df.shopping==1) & (df.social==1)),-12.22077221 -,1 Shopping and 1 Discretionary Tour,@((df.shopping==1) & (df.othdiscr==1)),-12.57867869 -,Constant for 2 Maintenance tour,@df.othmaint==2,-13.43572169 -,1 Maintenance and 1 Eating Out Tour,@((df.othmaint==1) & (df.eatout==1)),-12.18915033 -,1 Maintenance and 1 Visiting Tour,@((df.othmaint==1) & (df.social==1)),-11.81267905 -,1 Maintenance and 1 Discretionary Tour,@((df.othmaint==1) & (df.othdiscr==1)),-12.28867197 -,Constant for 2 eating out tour,@df.eatout==2,-13.15388273 -,1 Eating Out and 1 Visiting Tour,@((df.eatout==1) & (df.social==1)),-13.15388273 -,1 Eating Out and 1 Discretionary Tour,@((df.eatout==1) & (df.othdiscr==1)),-12.56102569 -,Constant for 2 visiting tour,@df.social==2,-13.15388273 -,1 Visiting and 1 Discretionary Tour,@((df.social==1) & (df.othdiscr==1)),-12.37222202 -,Constant for 2 discretionary tour,othdiscr==2,-13.23532342 -,Number of Active Full time workers /Shopping,num_travel_active_full_time_workers * shopping,0.09864381 -,Number of Active Non-workers /Shopping,num_travel_active_non_workers * shopping,0.393630718 -,Number of Active Pre- Driving Age School Children /Shopping,num_travel_active_pre_driving_age_school_kids * shopping,-0.313021042 -,Number of Active Preschool Children /Shopping,num_travel_active_pre_school_kids * shopping,-1.213950718 -,Number of Active Non-workers /Maintenance,num_travel_active_non_workers * othmaint,0.322738327 -,Number of Active Retirees /Maintenance,num_travel_active_retirees * othmaint,0.298632515 -,Number of Active Driving Age School Children /Maintenance,num_travel_active_driving_age_students * othmaint,0.503901856 -,Number of Active Preschool Children /Maintenance,num_travel_active_pre_school_kids * othmaint,-1.160523204 -,Number of Active Full time workers /Eating Out,num_travel_active_full_time_workers * eatout,-0.305934663 -,Number of Active University Students /Eating Out,num_travel_active_university_students * eatout,-0.65706029 -,Number of Active Retirees /Eating Out,num_travel_active_retirees * eatout,-0.391710731 -,Number of Active Pre- Driving Age School Children /Eating Out,num_travel_active_pre_driving_age_school_kids * eatout,-0.25140082 -,Number of Active Preschool Children /Eating Out,num_travel_active_pre_school_kids * eatout,-1.700731169 -,Number of Active Pre- Driving Age School Children /Visiting,num_travel_active_pre_driving_age_school_kids * social,0.162335324 -,Number of Active Preschool Children /Visiting,num_travel_active_pre_school_kids * social,-0.96955678 -,Number of Active Part time workers /Discretionary,num_travel_active_part_time_workers * othdiscr,0.217898126 -,Number of Active University Students /Discretionary,num_travel_active_university_students * othdiscr,-0.610578234 -,Number of Active Driving Age School Children /Discretionary,num_travel_active_driving_age_students * othdiscr,0.359485499 -,Number of Active Preschool Children /Discretionary,num_travel_active_pre_school_kids * othdiscr,-1.244458661 -,HH has more autos than workers/ Maintenance,(auto_ownership > num_workers) * othmaint,-0.336188392 -,Income > $100k /Maintenance,(income>100000) * othmaint,-0.475730683 -,"Income Less than $29,999 / Eating Out",(income<30000) * eatout,-1.282190776 -,"Income Between $30,000 to $59,999 / Eating Out",((income>=30000) & (income<60000)) * othmaint,-0.275046208 -,"Income Less than $29,999 / Discretionary",(income<30000) * othdiscr,-0.352579013 -,"Income Between $30,000 to $59,999 / Discretionary",((income>=30000) & (income<60000)) * othdiscr,-0.191735343 -,Shopping HOV accessibility for 2 Tours,((autosnum_workers)*shop_hov_oversufficient_accessibility)*(num_joint_tours==2)*shopping,0.039513822 -,Maintenance HOV Accessibility,((autosnum_workers)*maint_hov_oversufficient_accessibility)*othmaint,0.128132691 -,Discretionary HOV Accessibility,((autosnum_workers)*discr_hov_oversufficient_accessibility)*othdiscr,0.089590553 -,Constant for Children Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),-5.374907972 -,Constant for Children Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==2)+(df.purpose2==6)*(df.party2==2),-5.144798184 -,Constant for Children Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==2)+(df.purpose2==7)*(df.party2==2),-4.09806907 -,Constant for Children Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==2)+(df.purpose2==8)*(df.party2==2),-4.09806907 -,Constant for Children Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==2)+(df.purpose2==9)*(df.party2==2),-4.09806907 -,Constant for Mixed Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),0.575879495 -,Constant for Mixed Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==3)+(df.purpose2==6)*(df.party2==3),0.515873866 -,Constant for Mixed Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==3)+(df.purpose2==7)*(df.party2==3),0.168592084 -,Constant for Mixed Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==3)+(df.purpose2==8)*(df.party2==3),0.078060666 -,Constant for Mixed Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==3)+(df.purpose2==9)*(df.party2==3),0.856042068 -,Number of Active Full time workers /Adult Party,num_travel_active_full_time_workers * (party1==1) + num_travel_active_full_time_workers * (party2==1),0.599335502 -,Number of Active Part time workers /Adult Party,num_travel_active_part_time_workers * (party1==1) + num_travel_active_part_time_workers * (party2==1),1.113944272 -,Number of Active University Students /Adult Party,num_travel_active_university_students * (party1==1) + num_travel_active_university_students * (party2==1),0.231138167 -,Number of Active Non-workers /Adult Party,num_travel_active_non_workers * (party1==1) + num_travel_active_non_workers * (party2==1),0.341446999 -,Number of Active Retirees /Adult Party,num_travel_active_retirees * (party1==1) + num_travel_active_retirees * (party2==1),0.657220801 -,Number of Active Driving Age School Children /Children Party,num_travel_active_driving_age_students * (party1==1) + num_travel_active_driving_age_students * (party2==1),0.580109231 -,Number of Active Pre- Driving Age School Children /Children Party,num_travel_active_pre_driving_age_school_kids * (party1==2) + num_travel_active_pre_driving_age_school_kids * (party2==2),0.580109231 -,Number of Active Part time workers /Mixed Party,num_travel_active_part_time_workers * (party1==2) + num_travel_active_part_time_workers * (party2==2),0.522327137 -,Number of Active Driving Age School Children /Mixed Party,num_travel_active_driving_age_students * (party1==3) + num_travel_active_driving_age_students * (party2==3),0.216908669 -,Number of Active Pre- Driving Age School Children /Mixed Party,num_travel_active_pre_driving_age_school_kids * (party1==3) + num_travel_active_pre_driving_age_school_kids * (party2==3),0.31440104 -,Number of Active Preschool Children /Mixed Party,num_travel_active_pre_school_kids * (party1==3) + num_travel_active_pre_school_kids * (party2==3),0.897670235 -,HH has no autos / Mixed Party,@(df.autos==0)*(df.party1==3)+(df.autos==0)*(df.party2==3),-2.920728233 -,HH has less autos than workers/ Mixed Party,@(df.autos100000)*(df.party1==2)+(df.income>100000)*(df.party2==2),-1.189112151 -,Income more than $100k /Mixed Party,@(df.income>100000)*(df.party1==3)+(df.income>100000)*(df.party2==3),-0.303217156 -,Log of max window overlaps between adults,@df.log_time_window_overlap_adult*((df.party1==1)+(df.party2==1)),2.96902119 -,Log of max window overlaps between children,@df.log_time_window_overlap_child*((df.party1==2)+(df.party2==2)),4.673601828 -,Log of max window overlaps between adult & child,@df.log_time_window_overlap_adult_child*((df.party1==3)+(df.party2==3)),3.523795377 -,Not more than 1 travel active adult in HH,@(df.num_travel_active_adults < 2)*(((df.party1==1)+(df.party2==1))>0),-999 -,Not more than 1 travel active child in HH,@(df.num_travel_active_children < 2)*(((df.party1==2)+(df.party2==2))>0),-999 -,No travel-active pair adult-child in HH ,@((df.num_travel_active_adults*df.num_travel_active_children) ==0)*(((df.party1==3)+(df.party2==3))>0),-999 -,Adjustment for Children Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),0.407745781 -,Adjustment for Children Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==2)+(df.purpose2==6)*(df.party2==2),0.284925252 -,Adjustment for Children Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==2)+(df.purpose2==7)*(df.party2==2),0 -,Adjustment for Children Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==2)+(df.purpose2==8)*(df.party2==2),0.966264444 -,Adjustment for Children Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==2)+(df.purpose2==9)*(df.party2==2),0.144740532 -,Adjustment for Mixed Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),0.681178558 -,Adjustment for Mixed Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==3)+(df.purpose2==6)*(df.party2==3),0.476324741 -,Adjustment for Mixed Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==3)+(df.purpose2==7)*(df.party2==3),0.827297043 -,Adjustment for Mixed Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==3)+(df.purpose2==8)*(df.party2==3),0.691826384 -,Adjustment for Mixed Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==3)+(df.purpose2==9)*(df.party2==3),0.697808415 -,Adjustment for shopping tour,shopping,0 -,Adjustment for Maintenance tour,othmaint,0.06575155 -,Adjustment for eating out tour,eatout,0.0643679 -,Adjustment for visiting tour,social,0.00785518 -,Adjustment for discretionary tour,othdiscr,0.076075677 -,Adjustment for share of 2 Joint Tours,num_joint_tours==2,-1.214059893 -,TM2 Adjustment for Children Party,@(df.party1==2)+(df.party2==2),0 -,TM2 Adjustment for Mixed Party,@(df.party1==3)+(df.party2==3),0 -,TM2 adjustment for share of 2 Joint Tours,num_joint_tours==2,-0.5 +,Constant for shopping tour,@df.shopping,coef_constant_for_shopping_tour +,Constant for Maintenance tour,@df.othmaint,coef_constant_for_maintenance_tour +,Constant for eating out tour,@df.eatout,coef_constant_for_eating_out_tour +,Constant for visiting tour,@df.social,coef_constant_for_visiting_tour +,Constant for discretionary tour,@df.othdiscr,coef_constant_for_discretionary_tour +,Constant for 2 shopping tour,@df.shopping==2,coef_constant_for_2_shopping_tour +,1 Shopping and 1 Maintenance Tour,@((df.shopping==1) & (df.othmaint==1)),coef_1_shopping_and_1_maintenance_tour +,1 Shopping and 1 Eating Out Tour,@((df.shopping==1) & (df.eatout==1)),coef_1_shopping_and_1_eating_out_tour +,1 Shopping and 1 Visiting Tour,@((df.shopping==1) & (df.social==1)),coef_1_shopping_and_1_visiting_tour +,1 Shopping and 1 Discretionary Tour,@((df.shopping==1) & (df.othdiscr==1)),coef_1_shopping_and_1_discretionary_tour +,Constant for 2 Maintenance tour,@df.othmaint==2,coef_constant_for_2_maintenance_tour +,1 Maintenance and 1 Eating Out Tour,@((df.othmaint==1) & (df.eatout==1)),coef_1_maintenance_and_1_eating_out_tour +,1 Maintenance and 1 Visiting Tour,@((df.othmaint==1) & (df.social==1)),coef_1_maintenance_and_1_visiting_tour +,1 Maintenance and 1 Discretionary Tour,@((df.othmaint==1) & (df.othdiscr==1)),coef_1_maintenance_and_1_discretionary_tour +,Constant for 2 eating out tour,@df.eatout==2,coef_constant_for_2_eating_out_tour +,1 Eating Out and 1 Visiting Tour,@((df.eatout==1) & (df.social==1)),coef_1_eating_out_and_1_visiting_tour +,1 Eating Out and 1 Discretionary Tour,@((df.eatout==1) & (df.othdiscr==1)),coef_1_eating_out_and_1_discretionary_tour +,Constant for 2 visiting tour,@df.social==2,coef_constant_for_2_visiting_tour +,1 Visiting and 1 Discretionary Tour,@((df.social==1) & (df.othdiscr==1)),coef_1_visiting_and_1_discretionary_tour +,Constant for 2 discretionary tour,othdiscr==2,coef_constant_for_2_discretionary_tour +,Number of Active Full time workers /Shopping,num_travel_active_full_time_workers * shopping,coef_number_of_active_full_time_workers_shopping +,Number of Active Non-workers /Shopping,num_travel_active_non_workers * shopping,coef_number_of_active_nonworkers_shopping +,Number of Active Pre- Driving Age School Children /Shopping,num_travel_active_pre_driving_age_school_kids * shopping,coef_number_of_active_pre_driving_age_school_children_shopping +,Number of Active Preschool Children /Shopping,num_travel_active_pre_school_kids * shopping,coef_number_of_active_preschool_children_shopping +,Number of Active Non-workers /Maintenance,num_travel_active_non_workers * othmaint,coef_number_of_active_nonworkers_maintenance +,Number of Active Retirees /Maintenance,num_travel_active_retirees * othmaint,coef_number_of_active_retirees_maintenance +,Number of Active Driving Age School Children /Maintenance,num_travel_active_driving_age_students * othmaint,coef_number_of_active_driving_age_school_children_maintenance +,Number of Active Preschool Children /Maintenance,num_travel_active_pre_school_kids * othmaint,coef_number_of_active_preschool_children_maintenance +,Number of Active Full time workers /Eating Out,num_travel_active_full_time_workers * eatout,coef_number_of_active_full_time_workers_eating_out +,Number of Active University Students /Eating Out,num_travel_active_university_students * eatout,coef_number_of_active_university_students_eating_out +,Number of Active Retirees /Eating Out,num_travel_active_retirees * eatout,coef_number_of_active_retirees_eating_out +,Number of Active Pre- Driving Age School Children /Eating Out,num_travel_active_pre_driving_age_school_kids * eatout,coef_number_of_active_pre_driving_age_school_children_eating_out +,Number of Active Preschool Children /Eating Out,num_travel_active_pre_school_kids * eatout,coef_number_of_active_preschool_children_eating_out +,Number of Active Pre- Driving Age School Children /Visiting,num_travel_active_pre_driving_age_school_kids * social,coef_number_of_active_pre_driving_age_school_children_visiting +,Number of Active Preschool Children /Visiting,num_travel_active_pre_school_kids * social,coef_number_of_active_preschool_children_visiting +,Number of Active Part time workers /Discretionary,num_travel_active_part_time_workers * othdiscr,coef_number_of_active_part_time_workers_discretionary +,Number of Active University Students /Discretionary,num_travel_active_university_students * othdiscr,coef_number_of_active_university_students_discretionary +,Number of Active Driving Age School Children /Discretionary,num_travel_active_driving_age_students * othdiscr,coef_number_of_active_driving_age_school_children_discretionary +,Number of Active Preschool Children /Discretionary,num_travel_active_pre_school_kids * othdiscr,coef_number_of_active_preschool_children_discretionary +,HH has more autos than workers/ Maintenance,(auto_ownership > num_workers) * othmaint,coef_hh_has_more_autos_than_workers_maintenance +,Income > $100k /Maintenance,(income>100000) * othmaint,coef_income_gtr_100k_maintenance +,"Income Less than $29,999 / Eating Out",(income<30000) * eatout,coef_income_less_than_29999__eating_out +,"Income Between $30,000 to $59,999 / Eating Out",((income>=30000) & (income<60000)) * othmaint,coef_income_between_30000_to_59999__eating_out +,"Income Less than $29,999 / Discretionary",(income<30000) * othdiscr,coef_income_less_than_29999__discretionary +,"Income Between $30,000 to $59,999 / Discretionary",((income>=30000) & (income<60000)) * othdiscr,coef_income_between_30000_to_59999__discretionary +,Shopping HOV accessibility for 2 Tours,((autosnum_workers)*shop_hov_oversufficient_accessibility)*(num_joint_tours==2)*shopping,coef_shopping_hov_accessibility_for_2_tours +,Maintenance HOV Accessibility,((autosnum_workers)*maint_hov_oversufficient_accessibility)*othmaint,coef_maintenance_hov_accessibility +,Discretionary HOV Accessibility,((autosnum_workers)*discr_hov_oversufficient_accessibility)*othdiscr,coef_discretionary_hov_accessibility +,Constant for Children Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),coef_constant_for_children_party_shopping_tour +,Constant for Children Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==2)+(df.purpose2==6)*(df.party2==2),coef_constant_for_children_party_maintenance_tour +,Constant for Children Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==2)+(df.purpose2==7)*(df.party2==2),coef_constant_for_children_party_eating_out_tour +,Constant for Children Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==2)+(df.purpose2==8)*(df.party2==2),coef_constant_for_children_party_visiting_tour +,Constant for Children Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==2)+(df.purpose2==9)*(df.party2==2),coef_constant_for_children_party_discretionary_tour +,Constant for Mixed Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),coef_constant_for_mixed_party_shopping_tour +,Constant for Mixed Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==3)+(df.purpose2==6)*(df.party2==3),coef_constant_for_mixed_party_maintenance_tour +,Constant for Mixed Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==3)+(df.purpose2==7)*(df.party2==3),coef_constant_for_mixed_party_eating_out_tour +,Constant for Mixed Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==3)+(df.purpose2==8)*(df.party2==3),coef_constant_for_mixed_party_visiting_tour +,Constant for Mixed Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==3)+(df.purpose2==9)*(df.party2==3),coef_constant_for_mixed_party_discretionary_tour +,Number of Active Full time workers /Adult Party,num_travel_active_full_time_workers * (party1==1) + num_travel_active_full_time_workers * (party2==1),coef_number_of_active_full_time_workers_adult_party +,Number of Active Part time workers /Adult Party,num_travel_active_part_time_workers * (party1==1) + num_travel_active_part_time_workers * (party2==1),coef_number_of_active_part_time_workers_adult_party +,Number of Active University Students /Adult Party,num_travel_active_university_students * (party1==1) + num_travel_active_university_students * (party2==1),coef_number_of_active_university_students_adult_party +,Number of Active Non-workers /Adult Party,num_travel_active_non_workers * (party1==1) + num_travel_active_non_workers * (party2==1),coef_number_of_active_nonworkers_adult_party +,Number of Active Retirees /Adult Party,num_travel_active_retirees * (party1==1) + num_travel_active_retirees * (party2==1),coef_number_of_active_retirees_adult_party +,Number of Active Driving Age School Children /Children Party,num_travel_active_driving_age_students * (party1==1) + num_travel_active_driving_age_students * (party2==1),coef_number_of_active_driving_age_school_children_children_party +,Number of Active Pre- Driving Age School Children /Children Party,num_travel_active_pre_driving_age_school_kids * (party1==2) + num_travel_active_pre_driving_age_school_kids * (party2==2),coef_number_of_active_pre_driving_age_school_children_children_party +,Number of Active Part time workers /Mixed Party,num_travel_active_part_time_workers * (party1==2) + num_travel_active_part_time_workers * (party2==2),coef_number_of_active_part_time_workers_mixed_party +,Number of Active Driving Age School Children /Mixed Party,num_travel_active_driving_age_students * (party1==3) + num_travel_active_driving_age_students * (party2==3),coef_number_of_active_driving_age_school_children_mixed_party +,Number of Active Pre- Driving Age School Children /Mixed Party,num_travel_active_pre_driving_age_school_kids * (party1==3) + num_travel_active_pre_driving_age_school_kids * (party2==3),coef_number_of_active_pre_driving_age_school_children_mixed_party +,Number of Active Preschool Children /Mixed Party,num_travel_active_pre_school_kids * (party1==3) + num_travel_active_pre_school_kids * (party2==3),coef_number_of_active_preschool_children_mixed_party +,HH has no autos / Mixed Party,@(df.autos==0)*(df.party1==3)+(df.autos==0)*(df.party2==3),coef_hh_has_no_autos__mixed_party +,HH has less autos than workers/ Mixed Party,@(df.autos100000)*(df.party1==2)+(df.income>100000)*(df.party2==2),coef_income_more_than_100k_child_party +,Income more than $100k /Mixed Party,@(df.income>100000)*(df.party1==3)+(df.income>100000)*(df.party2==3),coef_income_more_than_100k_mixed_party +,Log of max window overlaps between adults,@df.log_time_window_overlap_adult*((df.party1==1)+(df.party2==1)),coef_log_of_max_window_overlaps_between_adults +,Log of max window overlaps between children,@df.log_time_window_overlap_child*((df.party1==2)+(df.party2==2)),coef_log_of_max_window_overlaps_between_children +,Log of max window overlaps between adult & child,@df.log_time_window_overlap_adult_child*((df.party1==3)+(df.party2==3)),coef_log_of_max_window_overlaps_between_adult_child +,Not more than 1 travel active adult in HH,@(df.num_travel_active_adults < 2)*(((df.party1==1)+(df.party2==1))>0),coef_unavailable +,Not more than 1 travel active child in HH,@(df.num_travel_active_children < 2)*(((df.party1==2)+(df.party2==2))>0),coef_unavailable +,No travel-active pair adult-child in HH ,@((df.num_travel_active_adults*df.num_travel_active_children) ==0)*(((df.party1==3)+(df.party2==3))>0),coef_unavailable +,Adjustment for Children Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),coef_adjustment_for_children_party_shopping_tour +,Adjustment for Children Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==2)+(df.purpose2==6)*(df.party2==2),coef_adjustment_for_children_party_maintenance_tour +,Adjustment for Children Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==2)+(df.purpose2==7)*(df.party2==2),coef_adjustment_for_children_party_eating_out_tour +,Adjustment for Children Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==2)+(df.purpose2==8)*(df.party2==2),coef_adjustment_for_children_party_visiting_tour +,Adjustment for Children Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==2)+(df.purpose2==9)*(df.party2==2),coef_adjustment_for_children_party_discretionary_tour +,Adjustment for Mixed Party/ Shopping Tour,@(df.purpose1==5)*(df.party1==2)+(df.purpose2==5)*(df.party2==2),coef_adjustment_for_mixed_party_shopping_tour +,Adjustment for Mixed Party/ Maintenance Tour,@(df.purpose1==6)*(df.party1==3)+(df.purpose2==6)*(df.party2==3),coef_adjustment_for_mixed_party_maintenance_tour +,Adjustment for Mixed Party/ Eating Out Tour,@(df.purpose1==7)*(df.party1==3)+(df.purpose2==7)*(df.party2==3),coef_adjustment_for_mixed_party_eating_out_tour +,Adjustment for Mixed Party/ Visiting Tour,@(df.purpose1==8)*(df.party1==3)+(df.purpose2==8)*(df.party2==3),coef_adjustment_for_mixed_party_visiting_tour +,Adjustment for Mixed Party/ Discretionary Tour,@(df.purpose1==9)*(df.party1==3)+(df.purpose2==9)*(df.party2==3),coef_adjustment_for_mixed_party_discretionary_tour +,Adjustment for shopping tour,shopping,coef_adjustment_for_shopping_tour +,Adjustment for Maintenance tour,othmaint,coef_adjustment_for_maintenance_tour +,Adjustment for eating out tour,eatout,coef_adjustment_for_eating_out_tour +,Adjustment for visiting tour,social,coef_adjustment_for_visiting_tour +,Adjustment for discretionary tour,othdiscr,coef_adjustment_for_discretionary_tour +,Adjustment for share of 2 Joint Tours,num_joint_tours==2,coef_adjustment_for_share_of_2_joint_tours +,TM2 Adjustment for Children Party,@(df.party1==2)+(df.party2==2),coef_tm2_adjustment_for_children_party +,TM2 Adjustment for Mixed Party,@(df.party1==3)+(df.party2==3),coef_tm2_adjustment_for_mixed_party +,TM2 adjustment for share of 2 Joint Tours,num_joint_tours==2,coef_tm2_adjustment_for_share_of_2_joint_tours diff --git a/test/joint_tours/configs/joint_tour_frequency_composition_coeffs.csv b/test/joint_tours/configs/joint_tour_frequency_composition_coeffs.csv index 1e3f0fbf46..da82e8fa96 100644 --- a/test/joint_tours/configs/joint_tour_frequency_composition_coeffs.csv +++ b/test/joint_tours/configs/joint_tour_frequency_composition_coeffs.csv @@ -1 +1,97 @@ coefficient_name,value,constrain +coef_unavailable,-999,T +coef_constant_for_shopping_tour,0,T +coef_constant_for_maintenance_tour,-1.477,F +coef_constant_for_eating_out_tour,0.5796,F +coef_constant_for_visiting_tour,-1.0037,F +coef_constant_for_discretionary_tour,-1.1195,F +coef_constant_for_2_shopping_tour,-13.70946409,F +coef_1_shopping_and_1_maintenance_tour,-12.13684801,F +coef_1_shopping_and_1_eating_out_tour,-12.79892713,F +coef_1_shopping_and_1_visiting_tour,-12.22077221,F +coef_1_shopping_and_1_discretionary_tour,-12.57867869,F +coef_constant_for_2_maintenance_tour,-13.43572169,F +coef_1_maintenance_and_1_eating_out_tour,-12.18915033,F +coef_1_maintenance_and_1_visiting_tour,-11.81267905,F +coef_1_maintenance_and_1_discretionary_tour,-12.28867197,F +coef_constant_for_2_eating_out_tour,-13.15388273,F +coef_1_eating_out_and_1_visiting_tour,-13.15388273,F +coef_1_eating_out_and_1_discretionary_tour,-12.56102569,F +coef_constant_for_2_visiting_tour,-13.15388273,F +coef_1_visiting_and_1_discretionary_tour,-12.37222202,F +coef_constant_for_2_discretionary_tour,-13.23532342,F +coef_number_of_active_full_time_workers_shopping,0.09864381,F +coef_number_of_active_nonworkers_shopping,0.393630718,F +coef_number_of_active_pre_driving_age_school_children_shopping,-0.313021042,F +coef_number_of_active_preschool_children_shopping,-1.213950718,F +coef_number_of_active_nonworkers_maintenance,0.322738327,F +coef_number_of_active_retirees_maintenance,0.298632515,F +coef_number_of_active_driving_age_school_children_maintenance,0.503901856,F +coef_number_of_active_preschool_children_maintenance,-1.160523204,F +coef_number_of_active_full_time_workers_eating_out,-0.305934663,F +coef_number_of_active_university_students_eating_out,-0.65706029,F +coef_number_of_active_retirees_eating_out,-0.391710731,F +coef_number_of_active_pre_driving_age_school_children_eating_out,-0.25140082,F +coef_number_of_active_preschool_children_eating_out,-1.700731169,F +coef_number_of_active_pre_driving_age_school_children_visiting,0.162335324,F +coef_number_of_active_preschool_children_visiting,-0.96955678,F +coef_number_of_active_part_time_workers_discretionary,0.217898126,F +coef_number_of_active_university_students_discretionary,-0.610578234,F +coef_number_of_active_driving_age_school_children_discretionary,0.359485499,F +coef_number_of_active_preschool_children_discretionary,-1.244458661,F +coef_hh_has_more_autos_than_workers_maintenance,-0.336188392,F +coef_income_gtr_100k_maintenance,-0.475730683,F +coef_income_less_than_29999__eating_out,-1.282190776,F +coef_income_between_30000_to_59999__eating_out,-0.275046208,F +coef_income_less_than_29999__discretionary,-0.352579013,F +coef_income_between_30000_to_59999__discretionary,-0.191735343,F +coef_shopping_hov_accessibility_for_2_tours,0.039513822,F +coef_maintenance_hov_accessibility,0.128132691,F +coef_discretionary_hov_accessibility,0.089590553,F +coef_constant_for_children_party_shopping_tour,-5.374907972,F +coef_constant_for_children_party_maintenance_tour,-5.144798184,F +coef_constant_for_children_party_eating_out_tour,-4.09806907,F +coef_constant_for_children_party_visiting_tour,-4.09806907,F +coef_constant_for_children_party_discretionary_tour,-4.09806907,F +coef_constant_for_mixed_party_shopping_tour,0.575879495,F +coef_constant_for_mixed_party_maintenance_tour,0.515873866,F +coef_constant_for_mixed_party_eating_out_tour,0.168592084,F +coef_constant_for_mixed_party_visiting_tour,0.078060666,F +coef_constant_for_mixed_party_discretionary_tour,0.856042068,F +coef_number_of_active_full_time_workers_adult_party,0.599335502,F +coef_number_of_active_part_time_workers_adult_party,1.113944272,F +coef_number_of_active_university_students_adult_party,0.231138167,F +coef_number_of_active_nonworkers_adult_party,0.341446999,F +coef_number_of_active_retirees_adult_party,0.657220801,F +coef_number_of_active_driving_age_school_children_children_party,0.580109231,F +coef_number_of_active_pre_driving_age_school_children_children_party,0.580109231,F +coef_number_of_active_part_time_workers_mixed_party,0.522327137,F +coef_number_of_active_driving_age_school_children_mixed_party,0.216908669,F +coef_number_of_active_pre_driving_age_school_children_mixed_party,0.31440104,F +coef_number_of_active_preschool_children_mixed_party,0.897670235,F +coef_hh_has_no_autos__mixed_party,-2.920728233,F +coef_hh_has_less_autos_than_workers_mixed_party,-0.546339245,F +coef_income_more_than_100k_child_party,-1.189112151,F +coef_income_more_than_100k_mixed_party,-0.303217156,F +coef_log_of_max_window_overlaps_between_adults,2.96902119,F +coef_log_of_max_window_overlaps_between_children,4.673601828,F +coef_log_of_max_window_overlaps_between_adult_child,3.523795377,F +coef_adjustment_for_children_party_shopping_tour,0.407745781,F +coef_adjustment_for_children_party_maintenance_tour,0.284925252,F +coef_adjustment_for_children_party_eating_out_tour,0,T +coef_adjustment_for_children_party_visiting_tour,0.966264444,F +coef_adjustment_for_children_party_discretionary_tour,0.144740532,F +coef_adjustment_for_mixed_party_shopping_tour,0.681178558,F +coef_adjustment_for_mixed_party_maintenance_tour,0.476324741,F +coef_adjustment_for_mixed_party_eating_out_tour,0.827297043,F +coef_adjustment_for_mixed_party_visiting_tour,0.691826384,F +coef_adjustment_for_mixed_party_discretionary_tour,0.697808415,F +coef_adjustment_for_shopping_tour,0,T +coef_adjustment_for_maintenance_tour,0.06575155,F +coef_adjustment_for_eating_out_tour,0.0643679,F +coef_adjustment_for_visiting_tour,0.00785518,F +coef_adjustment_for_discretionary_tour,0.076075677,F +coef_adjustment_for_share_of_2_joint_tours,-1.214059893,F +coef_tm2_adjustment_for_children_party,0,F +coef_tm2_adjustment_for_mixed_party,0,F +coef_tm2_adjustment_for_share_of_2_joint_tours,-0.5,F From 583eaf1655d367f78b1339b552902981bea3cb27 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Sun, 25 Sep 2022 22:56:03 -0400 Subject: [PATCH 19/57] jtfc update preprocessor --- ..._tour_participation_annotate_participants_preprocessor.csv | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/joint_tours/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/test/joint_tours/configs/joint_tour_participation_annotate_participants_preprocessor.csv index 39ed61f543..95dac2f9e4 100644 --- a/test/joint_tours/configs/joint_tour_participation_annotate_participants_preprocessor.csv +++ b/test/joint_tours/configs/joint_tour_participation_annotate_participants_preprocessor.csv @@ -8,4 +8,6 @@ logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_ove logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) #,, ,_JOINT_TOURS,tours[tours.tour_category=='joint'] -,num_hh_joint_tours,"reindex_i(_JOINT_TOURS.groupby('household_id').size(), participants.household_id)" \ No newline at end of file +,num_hh_joint_tours,"reindex_i(_JOINT_TOURS.groupby('household_id').size(), participants.household_id)" +#,, +,person_is_preschool,participants.ptype == 8 \ No newline at end of file From 0833caf2488dd54b53c5c804d751d3b576c42c28 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Sun, 25 Sep 2022 22:54:43 -0400 Subject: [PATCH 20/57] add jtfc alt table dictionary to yaml --- activitysim/abm/models/util/tour_frequency.py | 49 +++++++++++++------ 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/activitysim/abm/models/util/tour_frequency.py b/activitysim/abm/models/util/tour_frequency.py index 635b4b8b17..8203dcf35c 100644 --- a/activitysim/abm/models/util/tour_frequency.py +++ b/activitysim/abm/models/util/tour_frequency.py @@ -6,6 +6,7 @@ import pandas as pd from activitysim.core.util import reindex +from activitysim.core import config from activitysim.abm.models.util.canonical_ids import set_tour_index logger = logging.getLogger(__name__) @@ -441,7 +442,7 @@ def process_joint_tours_frequency_composition(joint_tour_frequency_composition, This method processes the joint_tour_frequency_composition column that comes out of the model of the same name and turns into a DataFrame that represents the joint tours that were generated - + Parameters ---------- joint_tour_frequency_composition : pandas.Series @@ -452,7 +453,7 @@ def process_joint_tours_frequency_composition(joint_tour_frequency_composition, and frequency counts for the tours to be generated for that choice point_persons : pandas DataFrame table with columns for (at least) person_ids and home_zone_id indexed by household_id - + Returns ------- tours : DataFrame @@ -487,7 +488,7 @@ def process_joint_tours_frequency_composition(joint_tour_frequency_composition, 3209531 320953 disc 2 2 2 2 23267026 2326702 shop 1 1 1 1 17978574 1797857 main 1 1 1 1 - + tour_category tour_category_id person_id 3209530 joint 4 577234 3209531 joint 4 577234 @@ -501,7 +502,7 @@ def process_tours_frequency_composition(joint_tour_frequency_composition, joint_ This method processes the joint_tour_frequency_composition column that comes out of the model of the same name and turns into a DataFrame that represents the tours that were generated - + Parameters ---------- joint_tour_frequency_composition: Series @@ -519,7 +520,7 @@ def process_tours_frequency_composition(joint_tour_frequency_composition, joint_ one of 'mandatory', 'non_mandatory', 'atwork', or 'joint' parent_col: str the name of the index (parent_tour_id for atwork subtours, otherwise person_id) - + Returns ------- tours : pandas.DataFrame @@ -527,7 +528,7 @@ def process_tours_frequency_composition(joint_tour_frequency_composition, joint_ source code - it has an index which is a unique tour identifier, a person_id column, and a tour type column which comes from the column names of the alternatives DataFrame supplied above. - + tours.tour_type - tour type (e.g. school, work, shopping, eat) tours.composition - tour composition (e.g. adults, children, mixed) tours.tour_type_num - if there are two 'school' type tours, they will be numbered 1 and 2 @@ -561,7 +562,7 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): This method processes the tour_frequency column that comes out of the model of the same name and turns into a DataFrame that represents the tours that were generated - + Parameters ---------- tour_counts: DataFrame @@ -570,7 +571,7 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): one (int) column per tour_type, with number of tours to create tour_category : str one of 'mandatory', 'non_mandatory', 'atwork', or 'joint' - + Returns ------- tours : pandas.DataFrame @@ -578,7 +579,7 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): source code - it has an index which is a unique tour identifier, a person_id column, and a tour type column which comes from the column names of the alternatives DataFrame supplied above. - + tours.tour_type - tour type (e.g. school, work, shopping, eat) tours.composition - tour composition (e.g. adults, children, mixed) tours.tour_type_num - if there are two 'school' type tours, they will be numbered 1 and 2 @@ -596,11 +597,27 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): 2588676 2 0 0 2588677 1 1 0 """ - tour_type_dict={5:'shopping',6:'othmaint',7:'eatout',8:'social',9:'othdiscr'} - tour_comp_dict={1:'adults',2:'children',3:'mixed'} + model_settings_file_name = 'joint_tour_frequency_composition.yaml' + + model_settings = config.read_model_settings(model_settings_file_name) + + alts_table_structure = model_settings.get('ALTS_TABLE_STRUCTURE', None) + assert alts_table_structure is not None, f"Expected to find ALTS_TABLE_STRUCTURE setting in joint_tour_frequency_composition.yaml" + + tour_type_dict = alts_table_structure.get('PURPOSE', None).get('VALUE_MAP', None) + assert tour_type_dict is not None, f"Expected to find PURPOSE.VALUE_MAP setting in ALTS_TABLE_STRUCTURE" + + tour_type_cols = alts_table_structure.get('PURPOSE', None).get('COLUMNS', None) + assert tour_type_cols is not None, f"Expected to find PURPOSE.COLUMNS setting in ALTS_TABLE_STRUCTURE" + + tour_comp_dict = alts_table_structure.get('COMPOSITION', None).get('VALUE_MAP', None) + assert tour_comp_dict is not None, f"Expected to find COMPOSITION.VALUE_MAP setting in ALTS_TABLE_STRUCTURE" + + tour_comp_cols = alts_table_structure.get('COMPOSITION', None).get('COLUMNS', None) + assert tour_comp_cols is not None, f"Expected to find COMPOSITION.COLUMNS setting in ALTS_TABLE_STRUCTURE" # reformat with the columns given below - tours_purp = tour_counts[['purpose1','purpose2']].stack().reset_index() + tours_purp = tour_counts[tour_type_cols].stack().reset_index() tours_purp.columns = [parent_col, "tour_id_temp", "tour_type"] tours_purp['tour_id_temp'] = range(1, 1+len(tours_purp)) tours_purp['tour_type'] = tours_purp['tour_type'].map(tour_type_dict) @@ -613,16 +630,16 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): 3 2588677 purpose2 5 4 2588678 purpose1 6 5 2588678 purpose2 7 - + parent_col is the index from non_mandatory_tour_frequency tour_type is the column name from non_mandatory_tour_frequency_alts tour_type_count is the count value of the tour's chosen alt's tour_type from alts table """ - tours_comp = tour_counts[['party1','party2']].stack().reset_index() + tours_comp = tour_counts[tour_comp_cols].stack().reset_index() tours_comp.columns = [parent_col, "tour_id_temp", "composition"] tours_comp['tour_id_temp'] = range(1, 1+len(tours_comp)) tours_comp['composition'] = tours_comp['composition'].map(tour_comp_dict) - + """ tour_id_temp tour_composition 0 2588676 party1 1 @@ -631,7 +648,7 @@ def create_joint_tours(tour_counts, tour_category, parent_col='person_id'): 3 2588677 party2 1 4 2588678 party1 1 5 2588678 party2 2 - + parent_col is the index from non_mandatory_tour_frequency tour_type is the column name from non_mandatory_tour_frequency_alts tour_type_count is the count value of the tour's chosen alt's tour_type from alts table From d43003c609c382c4be47268b0fda9f494549b7bc Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Sun, 25 Sep 2022 23:01:11 -0400 Subject: [PATCH 21/57] nmtf consolidate all -999 to one coef --- .../configs/non_mandatory_tour_frequency.csv | 8 ++++---- ...andatory_tour_frequency_coefficients_PTYPE_DRIVING.csv | 3 +-- ...n_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv | 4 +--- ...andatory_tour_frequency_coefficients_PTYPE_NONWORK.csv | 4 +--- ...n_mandatory_tour_frequency_coefficients_PTYPE_PART.csv | 2 +- ...datory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv | 3 +-- ...andatory_tour_frequency_coefficients_PTYPE_RETIRED.csv | 4 +--- ...mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv | 3 +-- ...atory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv | 2 +- 9 files changed, 12 insertions(+), 21 deletions(-) diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.csv index e46c1d4a54..7a3fc87033 100644 --- a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.csv +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency.csv @@ -5,16 +5,16 @@ util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour, util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour -util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mandatory_tours == 0) & (num_person_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours +util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mandatory_tours == 0) & (num_person_joint_tours == 0),coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mandatory_tours > 0) | (num_person_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,,,,, util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,,,,,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,,coef_total_number_of_tours_is_3,,,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,,coef_total_number_of_tours_is_4,,,, -util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,,, -util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,,, +util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_unavailable,coef_total_number_of_tours_is_5,,coef_unavailable,coef_unavailable,,, +util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_unavailable,coef_total_number_of_tours_is_6_plus,,coef_unavailable,coef_unavailable,,, util_total_number_of_tours_is_1+,Total Number of Tours >= 1,tot_tours >= 1,,,,,,coef_total_number_of_tours_is_1_plus,, -util_total_number_of_tours_is_4+,Total Number of Tours >= 4,tot_tours >= 4,,,,,,coef_total_number_of_tours_is_4_plus,coef_total_number_of_tours_is_4_plus,coef_total_number_of_tours_is_4_plus +util_total_number_of_tours_is_4+,Total Number of Tours >= 4,tot_tours >= 4,,,,,,coef_unavailable,coef_unavailable,coef_unavailable util_has_mandatory_tours_and_tour_frequency_is_1,One or more Mandatory tour & tour frequency =1,(num_mandatory_tours>0)&(tot_tours == 1),,,,,,,coef_has_mandatory_tours_and_tour_frequency_is_1, util_has_mandatory_tours_and_tour_frequency_is_2,One or more Mandatory tour & tour frequency =2,(num_mandatory_tours>0)&(tot_tours == 2),coef_has_mandatory_tours_and_tour_frequency_is_2,coef_has_mandatory_tours_and_tour_frequency_is_2,,,,,, util_has_mandatory_tours_and_tour_frequency_is_2+,One or more Mandatory tour & tour frequency =2+,(num_mandatory_tours>0)&(tot_tours >= 2),,,coef_has_mandatory_tours_and_tour_frequency_is_2_plus,,,coef_has_mandatory_tours_and_tour_frequency_is_2_plus,coef_has_mandatory_tours_and_tour_frequency_is_2_plus,coef_has_mandatory_tours_and_tour_frequency_is_2_plus diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv index eb23c80fce..7d443b83a1 100644 --- a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv @@ -1,14 +1,13 @@ coefficient_name,value,constrain +coef_unavailable,-999,T coef_escorting_tour,-5.0011,F coef_discretionary_tour,-2.0687,F coef_shopping_tour,-16.7785,F coef_maintenance_tour,-3.2583,F coef_visiting_or_social_tour,-2.6366,F coef_eating_out_tour,-18.1598,F -coef_total_number_of_tours_is_0_no_prior_tours,-999,T coef_total_number_of_tours_is_0_prior_tours,0,T coef_total_number_of_tours_is_1_plus,-0.4825,F -coef_total_number_of_tours_is_4_plus,-999,T coef_has_mandatory_tours_and_tour_frequency_is_2_plus,-2.5161,F coef_number_of_joint_discretionary_tours,-0.2308,F coef_more_than_one_discretionary_tours,-1.1938,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv index c3ef42ad7b..bfe82bc6bb 100644 --- a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv @@ -1,18 +1,16 @@ coefficient_name,value,constrain +coef_unavailable,-999,T coef_escorting_tour,-8.005637824,F coef_discretionary_tour,-4.191895252,F coef_shopping_tour,-6.093236864,F coef_maintenance_tour,-4.450826306,F coef_visiting_or_social_tour,-3.869879887,F coef_eating_out_tour,-12.62493048,F -coef_total_number_of_tours_is_0_no_prior_tours,-999,F coef_total_number_of_tours_is_0_prior_tours,0,T coef_total_number_of_tours_is_1,0,T coef_total_number_of_tours_is_2,1.328670418,F coef_total_number_of_tours_is_3,3.027432477,F coef_total_number_of_tours_is_4,3.547389909,F -coef_total_number_of_tours_is_5,-999,F -coef_total_number_of_tours_is_6_plus,-999,F coef_has_mandatory_tours_and_tour_frequency_is_2,-1.122394705,F coef_has_mandatory_tours_and_tour_frequency_is_3,-2.057588493,F coef_has_mandatory_tours_and_tour_frequency_is_4_plus,-2.057588493,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv index 073a8b4de8..4d022be71a 100644 --- a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv @@ -1,16 +1,14 @@ coefficient_name,value,constrain +coef_unavailable,-999,T coef_escorting_tour,-5.5709,F coef_discretionary_tour,-3.1828,F coef_shopping_tour,-1.5833,F coef_maintenance_tour,-2.0214,F coef_visiting_or_social_tour,-6.6293,F coef_eating_out_tour,-8.9856,F -coef_total_number_of_tours_is_0_no_prior_tours,-999,T coef_total_number_of_tours_is_0_prior_tours,0,T coef_total_number_of_tours_is_3,-0.793922128,F coef_total_number_of_tours_is_4,-1.117938236,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T coef_has_joint_tours_and_tour_frequency_is_1,-0.968579459,F coef_has_joint_tours_and_tour_frequency_is_2,-1.808495529,F coef_has_joint_tours_and_tour_frequency_is_3_plus,-2.59200638,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv index eaa0229f3c..2d32768eff 100644 --- a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv @@ -1,11 +1,11 @@ coefficient_name,value,Constrain +coef_unavailable,-999,T coef_escorting_tour,-6.825870475,F coef_discretionary_tour,-3.103671535,F coef_shopping_tour,-2.585699928,F coef_maintenance_tour,-4.876815454,F coef_visiting_or_social_tour,-4.787916747,F coef_eating_out_tour,-8.091973006,F -coef_total_number_of_tours_is_0_no_prior_tours,-999,F coef_total_number_of_tours_is_0_prior_tours,0,T coef_total_number_of_tours_is_1,0,T coef_total_number_of_tours_is_2,1.347662088,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv index 09ac522c01..e3f9dce15a 100644 --- a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv @@ -1,15 +1,14 @@ coefficient_name,value,constrain +coef_unavailable,-999,T coef_escorting_tour,-7.2688,F coef_discretionary_tour,-4.2006,F coef_shopping_tour,-43.4464,F coef_maintenance_tour,-3.3790,F coef_visiting_or_social_tour,-4.0352,F coef_eating_out_tour,-5.2924,F -coef_total_number_of_tours_is_0_no_prior_tours,-999.0000,T coef_total_number_of_tours_is_0_prior_tours,0.0000,T coef_total_number_of_tours_is_2,-0.7216,F coef_total_number_of_tours_is_3,-0.9586,F -coef_total_number_of_tours_is_4_plus,-999.0000,T coef_has_mandatory_tours_and_tour_frequency_is_2_plus,-2.1108,F coef_more_than_one_escorting_tours,2.3269,F coef_high_income_group_and_escorting_tour,-0.6921,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv index 1926c8f067..8969479209 100644 --- a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv @@ -1,14 +1,12 @@ coefficient_name,value,constrain +coef_unavailable,-999,T coef_escorting_tour,-10.4405,F coef_discretionary_tour,-6.1189,F coef_shopping_tour,-4.6661,F coef_maintenance_tour,-2.4724,F coef_visiting_or_social_tour,-3.677,F coef_eating_out_tour,-2.5648,F -coef_total_number_of_tours_is_0_no_prior_tours,-999,T coef_total_number_of_tours_is_0_prior_tours,-1.140675606,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T coef_has_joint_tours_and_tour_frequency_is_1,-1.601015729,F coef_has_joint_tours_and_tour_frequency_is_2_plus,-2.105529269,F coef_number_of_joint_shopping_tours,-0.6377,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv index 03710de143..405ec48a15 100644 --- a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv @@ -1,15 +1,14 @@ coefficient_name,value,constrain +coef_unavailable,-999,T coef_escorting_tour,-10.3136,F coef_discretionary_tour,-8.0543,F coef_shopping_tour,-17.8882,F coef_maintenance_tour,-14.5925,F coef_visiting_or_social_tour,-2.9744,F coef_eating_out_tour,-42.1591,F -coef_total_number_of_tours_is_0_no_prior_tours,-999,T coef_total_number_of_tours_is_0_prior_tours,0,T coef_total_number_of_tours_is_2,-0.7045,F coef_total_number_of_tours_is_3,-0.7045,F -coef_total_number_of_tours_is_4_plus,-999,T coef_has_mandatory_tours_and_tour_frequency_is_1,-1.8596,F coef_has_mandatory_tours_and_tour_frequency_is_2_plus,-6.1247,F coef_has_joint_tours_and_tour_frequency_is_1_plus,-1.0154,F diff --git a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv index e01026d640..8c88093470 100644 --- a/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv +++ b/test/non_mandatory_tour_frequency/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv @@ -1,11 +1,11 @@ coefficient_name,value,constrain +coef_unavailable,-999,T coef_escorting_tour,-3.151460752,F coef_discretionary_tour,-4.548188518,F coef_shopping_tour,-2.772689119,F coef_maintenance_tour,-2.262570738,F coef_visiting_or_social_tour,-4.212581954,F coef_eating_out_tour,-14.69186496,F -coef_total_number_of_tours_is_0_no_prior_tours,-999,F coef_total_number_of_tours_is_0_prior_tours,0,T coef_total_number_of_tours_is_1,-0.257343536,F coef_has_mandatory_tours_and_tour_frequency_is_2_plus,-1.072062082,F From 5a38ebb902df50ea612cef946783b33ace90c75e Mon Sep 17 00:00:00 2001 From: Ashish Kulshrestha Date: Tue, 27 Sep 2022 10:11:59 -0700 Subject: [PATCH 22/57] code changes to fix bug in parking location choice model --- .../abm/models/parking_location_choice.py | 70 +++++++++++-------- 1 file changed, 41 insertions(+), 29 deletions(-) diff --git a/activitysim/abm/models/parking_location_choice.py b/activitysim/abm/models/parking_location_choice.py index 5c13969eed..948abc6727 100644 --- a/activitysim/abm/models/parking_location_choice.py +++ b/activitysim/abm/models/parking_location_choice.py @@ -141,7 +141,8 @@ def choose_parking_location( model_settings, want_sample_table, skims, - chunk_size, trace_hh_id, + chunk_size, + trace_hh_id, trace_label): logger.info("choose_parking_location %s with %d trips", trace_label, trips.shape[0]) @@ -149,11 +150,14 @@ def choose_parking_location( t0 = print_elapsed_time() alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - destination_sample = logit.interaction_dataset(trips, alternatives, alt_index_id=alt_dest_col_name) - destination_sample.index = np.repeat(trips.index.values, len(alternatives)) - destination_sample.index.name = trips.index.name - destination_sample = destination_sample[[alt_dest_col_name]].copy() + numchoosers = len(trips) + numalts = len(alternatives) + sample = np.tile(np.arange(numalts), numchoosers) + destination_sample = alternatives.take(sample).copy() + destination_sample.index = np.repeat(trips.index.values, numalts) + destination_sample.index.name = trips.index.name + # # - trip_destination_simulate destinations = parking_destination_simulate( segment_name=segment_name, @@ -161,7 +165,8 @@ def choose_parking_location( destination_sample=destination_sample, model_settings=model_settings, skims=skims, - chunk_size=chunk_size, trace_hh_id=trace_hh_id, + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, trace_label=trace_label) if want_sample_table: @@ -177,10 +182,11 @@ def choose_parking_location( def run_parking_destination( model_settings, - trips, land_use, - chunk_size, trace_hh_id, - trace_label, - fail_some_trips_for_testing=False): + trips, + alternatives, + chunk_size, + trace_hh_id, + trace_label): chooser_filter_column = model_settings.get('CHOOSER_FILTER_COLUMN_NAME') chooser_segment_column = model_settings.get('CHOOSER_SEGMENT_COLUMN_NAME') @@ -197,13 +203,6 @@ def run_parking_destination( skims = wrap_skims(model_settings) - alt_column_filter_name = model_settings.get('ALTERNATIVE_FILTER_COLUMN_NAME') - alternatives = land_use[land_use[alt_column_filter_name]] - - # don't need size terms in alternatives, just TAZ index - alternatives = alternatives.drop(alternatives.columns, axis=1) - alternatives.index.name = parking_location_column_name - choices_list = [] sample_list = [] for segment_name, chooser_segment in choosers.groupby(chooser_segment_column): @@ -218,7 +217,8 @@ def run_parking_destination( model_settings, want_sample_table, skims, - chunk_size, trace_hh_id, + chunk_size, + trace_hh_id, trace_label=tracing.extend_trace_label(trace_label, segment_name)) choices_list.append(choices) @@ -228,10 +228,6 @@ def run_parking_destination( if len(choices_list) > 0: parking_df = pd.concat(choices_list) - - if fail_some_trips_for_testing: - parking_df = parking_df.drop(parking_df.index[0]) - assign_in_place(trips, parking_df.to_frame(parking_location_column_name)) trips[parking_location_column_name] = trips[parking_location_column_name].fillna(-1) else: @@ -259,18 +255,33 @@ def parking_location( model_settings = config.read_model_settings('parking_location_choice.yaml') alt_destination_col_name = model_settings['ALT_DEST_COL_NAME'] - preprocessor_settings = model_settings.get('PREPROCESSOR', None) - trips_df = trips.to_frame() trips_merged_df = trips_merged.to_frame() + land_use_df = land_use.to_frame() - locals_dict = { - 'network_los': network_los - } - locals_dict.update(config.get_model_constants(model_settings)) + alt_column_filter_name = model_settings.get('ALTERNATIVE_FILTER_COLUMN_NAME') + alt_tdd = land_use_df[land_use_df[alt_column_filter_name]] + alt_tdd[alt_destination_col_name] = alt_tdd.index + + # alt preprocessor + alt_preprocessor_settings = model_settings.get('ALTS_PREPROCESSOR', None) + if alt_preprocessor_settings: + locals_dict = {} + alt_tdd = alt_tdd.copy() + + expressions.assign_columns( + df=alt_tdd, + model_settings=alt_preprocessor_settings, + locals_dict=locals_dict, + trace_label=trace_label) + + # trips preprocessor + preprocessor_settings = model_settings.get('PREPROCESSOR', None) if preprocessor_settings: + locals_dict = {} + expressions.assign_columns( df=trips_merged_df, model_settings=preprocessor_settings, @@ -279,7 +290,8 @@ def parking_location( parking_locations, save_sample_df = run_parking_destination( model_settings, - trips_merged_df, land_use_df, + trips_merged_df, + alt_tdd, chunk_size=chunk_size, trace_hh_id=trace_hh_id, trace_label=trace_label, From ad20b949047acfcd0068062502adfeac3d8e4ddf Mon Sep 17 00:00:00 2001 From: Ashish Kulshrestha Date: Tue, 18 Oct 2022 13:31:35 -0700 Subject: [PATCH 23/57] Revert "code changes to fix bug in parking location choice model" This reverts commit 5a38ebb902df50ea612cef946783b33ace90c75e. --- .../abm/models/parking_location_choice.py | 70 ++++++++----------- 1 file changed, 29 insertions(+), 41 deletions(-) diff --git a/activitysim/abm/models/parking_location_choice.py b/activitysim/abm/models/parking_location_choice.py index 948abc6727..5c13969eed 100644 --- a/activitysim/abm/models/parking_location_choice.py +++ b/activitysim/abm/models/parking_location_choice.py @@ -141,8 +141,7 @@ def choose_parking_location( model_settings, want_sample_table, skims, - chunk_size, - trace_hh_id, + chunk_size, trace_hh_id, trace_label): logger.info("choose_parking_location %s with %d trips", trace_label, trips.shape[0]) @@ -150,14 +149,11 @@ def choose_parking_location( t0 = print_elapsed_time() alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - - numchoosers = len(trips) - numalts = len(alternatives) - sample = np.tile(np.arange(numalts), numchoosers) - destination_sample = alternatives.take(sample).copy() - destination_sample.index = np.repeat(trips.index.values, numalts) + destination_sample = logit.interaction_dataset(trips, alternatives, alt_index_id=alt_dest_col_name) + destination_sample.index = np.repeat(trips.index.values, len(alternatives)) destination_sample.index.name = trips.index.name - + destination_sample = destination_sample[[alt_dest_col_name]].copy() + # # - trip_destination_simulate destinations = parking_destination_simulate( segment_name=segment_name, @@ -165,8 +161,7 @@ def choose_parking_location( destination_sample=destination_sample, model_settings=model_settings, skims=skims, - chunk_size=chunk_size, - trace_hh_id=trace_hh_id, + chunk_size=chunk_size, trace_hh_id=trace_hh_id, trace_label=trace_label) if want_sample_table: @@ -182,11 +177,10 @@ def choose_parking_location( def run_parking_destination( model_settings, - trips, - alternatives, - chunk_size, - trace_hh_id, - trace_label): + trips, land_use, + chunk_size, trace_hh_id, + trace_label, + fail_some_trips_for_testing=False): chooser_filter_column = model_settings.get('CHOOSER_FILTER_COLUMN_NAME') chooser_segment_column = model_settings.get('CHOOSER_SEGMENT_COLUMN_NAME') @@ -203,6 +197,13 @@ def run_parking_destination( skims = wrap_skims(model_settings) + alt_column_filter_name = model_settings.get('ALTERNATIVE_FILTER_COLUMN_NAME') + alternatives = land_use[land_use[alt_column_filter_name]] + + # don't need size terms in alternatives, just TAZ index + alternatives = alternatives.drop(alternatives.columns, axis=1) + alternatives.index.name = parking_location_column_name + choices_list = [] sample_list = [] for segment_name, chooser_segment in choosers.groupby(chooser_segment_column): @@ -217,8 +218,7 @@ def run_parking_destination( model_settings, want_sample_table, skims, - chunk_size, - trace_hh_id, + chunk_size, trace_hh_id, trace_label=tracing.extend_trace_label(trace_label, segment_name)) choices_list.append(choices) @@ -228,6 +228,10 @@ def run_parking_destination( if len(choices_list) > 0: parking_df = pd.concat(choices_list) + + if fail_some_trips_for_testing: + parking_df = parking_df.drop(parking_df.index[0]) + assign_in_place(trips, parking_df.to_frame(parking_location_column_name)) trips[parking_location_column_name] = trips[parking_location_column_name].fillna(-1) else: @@ -255,33 +259,18 @@ def parking_location( model_settings = config.read_model_settings('parking_location_choice.yaml') alt_destination_col_name = model_settings['ALT_DEST_COL_NAME'] + preprocessor_settings = model_settings.get('PREPROCESSOR', None) + trips_df = trips.to_frame() trips_merged_df = trips_merged.to_frame() - land_use_df = land_use.to_frame() - alt_column_filter_name = model_settings.get('ALTERNATIVE_FILTER_COLUMN_NAME') - alt_tdd = land_use_df[land_use_df[alt_column_filter_name]] - alt_tdd[alt_destination_col_name] = alt_tdd.index - - # alt preprocessor - alt_preprocessor_settings = model_settings.get('ALTS_PREPROCESSOR', None) - if alt_preprocessor_settings: - locals_dict = {} - - alt_tdd = alt_tdd.copy() - - expressions.assign_columns( - df=alt_tdd, - model_settings=alt_preprocessor_settings, - locals_dict=locals_dict, - trace_label=trace_label) + locals_dict = { + 'network_los': network_los + } + locals_dict.update(config.get_model_constants(model_settings)) - # trips preprocessor - preprocessor_settings = model_settings.get('PREPROCESSOR', None) if preprocessor_settings: - locals_dict = {} - expressions.assign_columns( df=trips_merged_df, model_settings=preprocessor_settings, @@ -290,8 +279,7 @@ def parking_location( parking_locations, save_sample_df = run_parking_destination( model_settings, - trips_merged_df, - alt_tdd, + trips_merged_df, land_use_df, chunk_size=chunk_size, trace_hh_id=trace_hh_id, trace_label=trace_label, From 2f156dcb2833872f75447c160d24596b29c8f2ab Mon Sep 17 00:00:00 2001 From: Ashish Kulshrestha Date: Tue, 18 Oct 2022 13:32:17 -0700 Subject: [PATCH 24/57] parking location choice bug fix --- activitysim/abm/models/parking_location_choice.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/activitysim/abm/models/parking_location_choice.py b/activitysim/abm/models/parking_location_choice.py index 5c13969eed..71379bde8b 100644 --- a/activitysim/abm/models/parking_location_choice.py +++ b/activitysim/abm/models/parking_location_choice.py @@ -152,7 +152,6 @@ def choose_parking_location( destination_sample = logit.interaction_dataset(trips, alternatives, alt_index_id=alt_dest_col_name) destination_sample.index = np.repeat(trips.index.values, len(alternatives)) destination_sample.index.name = trips.index.name - destination_sample = destination_sample[[alt_dest_col_name]].copy() # # - trip_destination_simulate destinations = parking_destination_simulate( @@ -199,9 +198,6 @@ def run_parking_destination( alt_column_filter_name = model_settings.get('ALTERNATIVE_FILTER_COLUMN_NAME') alternatives = land_use[land_use[alt_column_filter_name]] - - # don't need size terms in alternatives, just TAZ index - alternatives = alternatives.drop(alternatives.columns, axis=1) alternatives.index.name = parking_location_column_name choices_list = [] From 1fd55a1278af9b6e276ddebf7a03987a5a7288f4 Mon Sep 17 00:00:00 2001 From: Ashish Kulshrestha Date: Wed, 19 Oct 2022 10:59:31 -0700 Subject: [PATCH 25/57] move coefficients to csv file --- activitysim/abm/models/parking_location_choice.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/activitysim/abm/models/parking_location_choice.py b/activitysim/abm/models/parking_location_choice.py index 71379bde8b..b1e2344f31 100644 --- a/activitysim/abm/models/parking_location_choice.py +++ b/activitysim/abm/models/parking_location_choice.py @@ -106,6 +106,9 @@ def parking_destination_simulate( spec = get_spec_for_segment(model_settings, 'SPECIFICATION', segment_name) + coefficients_df = simulate.read_model_coefficients(model_settings) + spec = simulate.eval_coefficients(spec, coefficients_df, None) + alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] logger.info("Running trip_destination_simulate with %d trips", len(trips)) @@ -264,7 +267,11 @@ def parking_location( locals_dict = { 'network_los': network_los } - locals_dict.update(config.get_model_constants(model_settings)) + + constants = config.get_model_constants(model_settings) + + if constants is not None: + locals_dict.update(constants) if preprocessor_settings: expressions.assign_columns( From a6396610fe1449ba25f152931757e8e8a310a0fa Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Wed, 2 Nov 2022 15:47:06 -0400 Subject: [PATCH 26/57] restore the original mandatory channels --- activitysim/abm/models/util/canonical_ids.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/activitysim/abm/models/util/canonical_ids.py b/activitysim/abm/models/util/canonical_ids.py index c5fbd9ac57..915688044e 100644 --- a/activitysim/abm/models/util/canonical_ids.py +++ b/activitysim/abm/models/util/canonical_ids.py @@ -63,7 +63,7 @@ def canonical_tours(): non_mandatory_channels = enumerate_tour_types(non_mandatory_tour_flavors) # - mandatory_channels - mandatory_tour_flavors = {'work': 2, 'school': 2, 'university': 2} + mandatory_tour_flavors = {'work': 2, 'school': 2} mandatory_channels = enumerate_tour_types(mandatory_tour_flavors) # - atwork_subtour_channels From ff519ba7955e6b6e0ee52285ec4c450ad8735cc9 Mon Sep 17 00:00:00 2001 From: Sijia Wang Date: Wed, 2 Nov 2022 15:47:06 -0400 Subject: [PATCH 27/57] restore the original mandatory channels --- activitysim/abm/models/util/canonical_ids.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/activitysim/abm/models/util/canonical_ids.py b/activitysim/abm/models/util/canonical_ids.py index c5fbd9ac57..915688044e 100644 --- a/activitysim/abm/models/util/canonical_ids.py +++ b/activitysim/abm/models/util/canonical_ids.py @@ -63,7 +63,7 @@ def canonical_tours(): non_mandatory_channels = enumerate_tour_types(non_mandatory_tour_flavors) # - mandatory_channels - mandatory_tour_flavors = {'work': 2, 'school': 2, 'university': 2} + mandatory_tour_flavors = {'work': 2, 'school': 2} mandatory_channels = enumerate_tour_types(mandatory_tour_flavors) # - atwork_subtour_channels From 7c67f35b893892ac276966b9c629060e0ddbe2dc Mon Sep 17 00:00:00 2001 From: dhensle <51132108+dhensle@users.noreply.github.com> Date: Mon, 7 Nov 2022 09:29:03 -0800 Subject: [PATCH 28/57] RSG Phase 7 Development (#49) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * school escorting initial commit * bundles created * added pure escort tours after non_mand_sched * created escorting tours & trips * integrated escort tours and trips * Differentiate examples between quality and validity of example models (#571) * change examples that are no longer tied to an agency to fictional place names * change name of full example also * add back missing output dir * restore test output dir also * more empty dirs that got lost * clean up docs * example_mtc -> prototype_mtc * Prototype MTC extended * add all the ignored files * add test output dirs * remove superfluous example_test * prototype_sf * prototype_arc * prototype_marin * move dirs * psrc * semcog * sandag_xborder * placeholder_sandag * placeholder_multiple_zone * no more coveralls * repair docs * clean up example names * black and isort (#578) * black and isort * stop emitting output dir it fails later tests * trace files in nested directories because windows * swap files for xborder model * repair ARC MP * downstream model integration * print checksum even when not used * add hashes for sandag_xborder_full * fix dtype in university hack * fix persons to match tours * repair ARC * initial commit of flexible tour/trip ids * pycodestyle * black formatting * Bump version: 1.0.4 → 1.1.0 * adding frequency alternatives configs required for test system * added additional unit tests * added setup function for test configs dir * formatting * handling missing alts files in examples * error catching around extension probs * passing tests * still passing tests around missing config files * accounting for missing mtf spec in marin example * nm tour scheduling passing * updating stop freq in tours table * added check for mand tour overlap with pe tours * num chauffeurs and escortees * fixed defaults not getting used if file missing * merging canonical ids from flexible id work * setting escorting tour and trip ids * remove unneeded nmtf settings file * black formatting * excluding escort trips from trip scheduling * fixing bug where mand tours not getting assigned correct id * adding school_escorting to mp model list * Added mwcog small area * missed one edit * adding school escort tour flavors as own category * reformatting * updating timetable windows with pure escort tours * additional logging * Update README.MD * call as module * github actions tests * adding non-mand destination changes * pre commit hooks * pyproject toml * limit numpy * docs for mamba instead of conda * ignore generated files * add nbmake to test env * fix dupe line * fixing bad tdd merge * repair test multiple zones for github actions * publish develop docs * fix docbuild env * merging tdd alts to all tours * adding ride share threshold to unvailability for pure escort time overlap * cleanup * Update .travis.yml * fixed testing files * fixed testing files (again) * fixed test script again * mins per time bin * black formatting * black formatting * fixing reindex import bug * fixing missed import * replacing trips test table * inserting default setting if no models in config for tests * publish docs to branch name * adding setup function to tests to set configs_dir injectable * documentation * updated testing scripts (note shorter travis script for now) * fixed slash (windows vs. linux testing issue) * added output folders * updated travis script to run all tests, should pass * docs cleaning * docs re-style * rebuild * dynamic versioning docs * version switcher * blacken * fix switcher url * fix conf * switcher update * master to main * deployment actions * actions * build wheel * fix for testpypi * blacken * manual switcher * branch docs service [makedocs] * syntax [makedocs] * travis depends * checkout v3, fix versioning in docs * only build develop docs once * failsafe version * documentation repairs * python-simplified-semver * front cards * end testing w travis * add mwcog test to gh-actions * add mwcog to docs * fixed origin bug and missing outbound trip to work * point to data not copy it * sort dependencies * req sh 2.2.4 * account for variance across platforms in trip dest est * copy bike skims for sandag test * proper cleanup when trips that get removed if schedule failed * changed failed trip scheduling option for example * updating regress table * blacken * extending nmtf and stop frequency to demonstrate flexible ids * param on rtol * fix sandag_2 test files * fix test file names * allowing multiple escort tours in the same period * sandag 3-zone example fix * fixing expression for missing escort participants sandag 3_zone * cleanup * blacken * Update trip_destination.py applying valid primary origin default value * Update trip_destination.py blacken * fixing bug for inbound destination for second escortee * blacken * Disaggregate Accessibilities (#5) * initial commit with basic working proto pop gen * fixed bad dependency range * fixed vary_on method to vary all with mapped fields after * added check if already dataframe * added dataframe check if the table passed is already a dataframe * working proto pop gen. still debugging mandatory work/school model * check all table is df * workplace runs, next testing school * began setting up to get all logsums, not just chosen ones * restructured to run as either one-off or model step * revert to last merge. Removed dataframe check in iterate, no longer needed to modify this file * extracted logsums, need to inject into pipeline or save output? * working standalone or step model * extractable accessibilities for fixed and nonmandatory * extractable accessibilities for fixed and nonmandatory * cleanup and add documentation * resolved duplicates of old 'example' folders * model uses write_tables functionality * disaggregate accessibility runs as model step or standalone. Runs as subprocess * working model test. table initialization not yet working * added logsum short circuit to get logsums and avoid drawing unneccesary samples * working model plus major cleanup * working model plus major cleanup * override sample size * fixed trace output files * skip_choice default to False * fixed empty logsums bug * cleanup redundent parameters * fixed list index instead of set * coordinated model run files * added default skip to false * added multiprocessing line * began setup for multiprocessing * fixed sampling problem. Pipeline for multi processing, NOT WORKING YET * deleted run file, not needed anymore * update release instructions * auto-build docs on release * remind to update switcher * need checkout * added helper functions for handling suffix args * to enable multiprocessing, overhauled pipeline method to include proto_ tables rather than overwriting main tables * working multiprocess, but requires debugging. fails on other models * working multiprocess, but requires debugging. fails on other models * cleanup of mp table registering * fixed tracing and slicing issue * removed old 'run' model * setup example 2 zones * minimum working 2 zone * multizone basic working * fixed buggy settings * multiprocessing working, but empty final tables * fixed blank output bug and cleaned up settings to use verbose table names (not just 'disaggregate_accessibility') * cleanup run scripts a bit * fixed missing base path for full run * fixed missing path * fixed typo * fixed 1 per taz sampling * fixing person merge bug and filtering workers * fixed duplicate tours! * updated settings for initialize disagg * removed obsolete file * cleaned up file and moved initialize to tables/... * added find nearest node function * added initialize disaggregate_accessibility to initialize_households * moved initialize steps to 'tables/disaggregate_accessibility' * updated settings to include initialize disaggregate accessibilities as part of initialize_households * moved initialize disagg accessibilities to tables. Created working merge step using naive bayes and 'hard' join * add mp back in * PEP formatting revisions * fixed logsums merge on households instead of persons * fixed _accessibility suffix * fixed conflict with persons_merged * updated yaml to use simpler join method * PEP formatting fixes * refreshed example folder from develop * added missing line at end of file * black fixes * black fixes to disaggregate accessibility changes * fixed missing column pipeline error * merged disagg accessibilities into mtc_extended and added doc section * ran black on disaggregate_accessibility.py * updated dependencies * removing sklearn imports * blacken * add if none catch * fixed None suffix default * moved order of get_table(persons_merged) to avoid pulling prematurely in xborder * tested and cleaned up rng channels * setup injectable suffixes to allow add_size_table as model step not just function * removed accessibility output from test * re blacken py scripts * fixed tracing typo * added variable index name suffix to pass optionally * pipeline housekeeping to cleanup any tables, traceables, or channels that were touched during disagg * added multiprocess testing * blacken updates * updated test scripts to include MP, problem with vehicle model in mp (even without disagg acc?) * added improved origin sampling, resolved issue with merging with sample <100%. Need to address random seed for origins * added sci-kit learn to test depends * fixed person merging error causing pytest fail, uses inject method to ensure consistency * cleanup comments * fixed pytest to include accessibility table in regress * setup for mp test, but needs debugging * 'blacken' * 'blacken' * cleanup example folder * fixed pipeline NoneType bug for disagg accessibility table * fixed pytest fail on mp, due to exept:True on mp_simulate * 'blacken' * added weighted k-means method * created run script for multiple sampling scenarios * blacken changes * blacken * fixed copy script * blacken sampling script * fixed n_zone when integer * fixed typo * update sampling script * 'blacken' * fixed replacement sample bug * updated documentation * more flexible scenario testing * blacken Co-authored-by: Nick Fournier Co-authored-by: Jeffrey Newman Co-authored-by: Nick Fournier <99497883+nick-fournier-rsg@users.noreply.github.com> * Shadow Pricing Enhancements (#7) * updated scripts to include simulation-based shadow pricing * blacken * Updated shadow_pricing.yaml for mtc example * code cleanup * more cleanup * documentation and passing tests * passing tests * passing tests * updated doc on shadow pricing * 2nd Update model doc on shadow pricing * more doc update on shadow pricing * fixing pandas future warning * blacken * bug in trying to access shadow price settings when not running shadow pricing * limiting pandas version * always updating choices * testing removal of lognormal for hh vot * putting hh vot back in * updating to match sharrow test versions * raw person table for buffer instead of injectable * adding segmentation, output by iteration, and external worker removal * formatting & documentation Co-authored-by: aletzdy <58451076+aletzdy@users.noreply.github.com> * updating mtc_extended test files * no sp for non-work or school, better logging, weighting options * sample TAZ only if available MAZ when shadow pricing * adding missed weight column option * cleaning up comments Co-authored-by: Jeffrey Newman Co-authored-by: Andrew Rohne Co-authored-by: Nick Fournier Co-authored-by: Nick Fournier <99497883+nick-fournier-rsg@users.noreply.github.com> Co-authored-by: aletzdy <58451076+aletzdy@users.noreply.github.com> --- .bumpversion.cfg | 2 +- .github/workflows/branch-docs.yml | 55 + .github/workflows/config-testpypi-version.py | 50 + .github/workflows/core_tests.yml | 361 + .github/workflows/deployment.yml | 144 + .github/workflows/localize-base-urls.py | 18 + .github/workflows/test-deploy.yml | 81 + .gitignore | 2 + .pre-commit-config.yaml | 26 + .travis.yml | 105 - HOW_TO_RELEASE.md | 122 +- README.md | 2 +- activitysim/__init__.py | 16 +- activitysim/__main__.py | 37 + activitysim/abm/__init__.py | 4 +- activitysim/abm/misc.py | 37 +- activitysim/abm/models/__init__.py | 81 +- activitysim/abm/models/accessibility.py | 121 +- .../abm/models/atwork_subtour_destination.py | 88 +- .../abm/models/atwork_subtour_frequency.py | 67 +- .../abm/models/atwork_subtour_mode_choice.py | 185 +- .../abm/models/atwork_subtour_scheduling.py | 88 +- activitysim/abm/models/auto_ownership.py | 39 +- activitysim/abm/models/cdap.py | 128 +- .../abm/models/disaggregate_accessibility.py | 660 + activitysim/abm/models/free_parking.py | 53 +- activitysim/abm/models/initialize.py | 129 +- activitysim/abm/models/initialize_los.py | 128 +- activitysim/abm/models/initialize_tours.py | 106 +- .../abm/models/joint_tour_composition.py | 68 +- .../abm/models/joint_tour_destination.py | 68 +- .../abm/models/joint_tour_frequency.py | 103 +- .../abm/models/joint_tour_participation.py | 239 +- .../abm/models/joint_tour_scheduling.py | 77 +- activitysim/abm/models/location_choice.py | 756 +- .../abm/models/mandatory_scheduling.py | 75 +- .../abm/models/mandatory_tour_frequency.py | 99 +- .../abm/models/non_mandatory_destination.py | 99 +- .../abm/models/non_mandatory_scheduling.py | 58 +- .../models/non_mandatory_tour_frequency.py | 257 +- .../abm/models/parking_location_choice.py | 208 +- activitysim/abm/models/school_escorting.py | 499 + activitysim/abm/models/stop_frequency.py | 159 +- activitysim/abm/models/summarize.py | 162 +- activitysim/abm/models/tour_mode_choice.py | 298 +- activitysim/abm/models/tour_od_choice.py | 97 +- .../models/tour_scheduling_probabilistic.py | 96 +- .../abm/models/trip_departure_choice.py | 382 +- activitysim/abm/models/trip_destination.py | 1008 +- activitysim/abm/models/trip_matrices.py | 206 +- activitysim/abm/models/trip_mode_choice.py | 227 +- activitysim/abm/models/trip_purpose.py | 210 +- .../models/trip_purpose_and_destination.py | 138 +- activitysim/abm/models/trip_scheduling.py | 364 +- .../abm/models/trip_scheduling_choice.py | 191 +- activitysim/abm/models/util/annotate.py | 52 + activitysim/abm/models/util/canonical_ids.py | 592 +- activitysim/abm/models/util/cdap.py | 467 +- activitysim/abm/models/util/estimation.py | 353 +- activitysim/abm/models/util/logsums.py | 178 +- activitysim/abm/models/util/mode.py | 89 +- activitysim/abm/models/util/overlap.py | 70 +- .../models/util/probabilistic_scheduling.py | 167 +- .../models/util/school_escort_tours_trips.py | 596 + .../atwork_subtour_frequency_alternatives.csv | 0 .../joint_tour_frequency_alternatives.csv | 0 .../configs/mandatory_tour_frequency.csv | 0 .../configs/mandatory_tour_frequency.yaml | 0 ..._mandatory_tour_frequency_alternatives.csv | 0 ...ndatory_tour_frequency_extension_probs.csv | 0 activitysim/abm/models/util/test/test_cdap.py | 151 +- .../util/test/test_flexible_tour_trip_ids.py | 110 + .../test/test_mandatory_tour_frequency.py | 65 +- .../test/test_non_mandatory_tour_frequency.py | 43 +- .../test/test_vectorize_tour_scheduling.py | 71 +- .../abm/models/util/tour_destination.py | 622 +- activitysim/abm/models/util/tour_frequency.py | 116 +- activitysim/abm/models/util/tour_od.py | 829 +- .../abm/models/util/tour_scheduling.py | 105 +- activitysim/abm/models/util/trip.py | 122 +- .../models/util/vectorize_tour_scheduling.py | 803 +- activitysim/abm/models/vehicle_allocation.py | 157 +- activitysim/abm/models/vehicle_type_choice.py | 296 +- activitysim/abm/tables/__init__.py | 27 +- activitysim/abm/tables/accessibility.py | 11 +- .../abm/tables/disaggregate_accessibility.py | 267 + activitysim/abm/tables/households.py | 57 +- activitysim/abm/tables/landuse.py | 4 +- activitysim/abm/tables/persons.py | 59 +- activitysim/abm/tables/shadow_pricing.py | 954 +- activitysim/abm/tables/size_terms.py | 61 +- activitysim/abm/tables/skims.py | 22 +- activitysim/abm/tables/table_dict.py | 3 +- activitysim/abm/tables/time_windows.py | 21 +- activitysim/abm/tables/tours.py | 2 +- activitysim/abm/tables/trips.py | 3 +- activitysim/abm/tables/vehicles.py | 28 +- activitysim/abm/test/conftest.py | 35 +- activitysim/abm/test/run_multi_zone_mp.py | 21 +- activitysim/abm/test/test_misc/setup_utils.py | 41 +- .../test_load_cached_accessibility.py | 50 +- activitysim/abm/test/test_misc/test_misc.py | 6 +- .../abm/test/test_misc/test_summarize.py | 44 +- .../test_misc/test_trip_departure_choice.py | 133 +- .../test_misc/test_trip_scheduling_choice.py | 161 +- .../abm/test/test_misc/test_trip_utils.py | 14 +- .../test_vehicle_type_alternatives.py | 74 +- .../abm/test/test_pipeline/test_pipeline.py | 247 +- activitysim/benchmarking/asv.conf.json | 2 +- .../benchmarking/benchmarks/mtc1full.py | 2 +- .../benchmarking/benchmarks/mtc1mp4.py | 11 +- .../benchmarking/benchmarks/sandag1example.py | 4 +- .../benchmarking/benchmarks/sandag1full.py | 4 +- .../benchmarking/benchmarks/sandag2example.py | 4 +- .../benchmarking/benchmarks/sandag2full.py | 4 +- .../benchmarking/benchmarks/sandag3example.py | 4 +- .../benchmarking/benchmarks/sandag3full.py | 4 +- activitysim/benchmarking/componentwise.py | 13 +- activitysim/benchmarking/latest.py | 7 +- activitysim/benchmarking/profile_inspector.py | 5 +- activitysim/cli/__init__.py | 3 +- activitysim/cli/benchmark.py | 53 +- activitysim/cli/cli.py | 11 +- activitysim/cli/create.py | 94 +- activitysim/cli/main.py | 55 +- activitysim/cli/run.py | 282 +- activitysim/cli/test/test_cli.py | 54 +- activitysim/core/assign.py | 131 +- activitysim/core/chunk.py | 508 +- activitysim/core/config.py | 281 +- activitysim/core/configuration.py | 291 + activitysim/core/expressions.py | 98 +- activitysim/core/inject.py | 46 +- activitysim/core/input.py | 142 +- activitysim/core/interaction_sample.py | 338 +- .../core/interaction_sample_simulate.py | 311 +- activitysim/core/interaction_simulate.py | 300 +- activitysim/core/logit.py | 176 +- activitysim/core/los.py | 393 +- activitysim/core/mem.py | 128 +- activitysim/core/mp_tasks.py | 681 +- activitysim/core/pathbuilder.py | 914 +- activitysim/core/pathbuilder_cache.py | 145 +- activitysim/core/pipeline.py | 188 +- activitysim/core/random.py | 108 +- activitysim/core/simulate.py | 721 +- activitysim/core/skim_dict_factory.py | 142 +- activitysim/core/skim_dictionary.py | 146 +- activitysim/core/steps/output.py | 122 +- activitysim/core/test/extensions/__init__.py | 1 - activitysim/core/test/extensions/steps.py | 31 +- activitysim/core/test/test_assign.py | 99 +- activitysim/core/test/test_inject_defaults.py | 8 +- activitysim/core/test/test_input.py | 91 +- activitysim/core/test/test_logit.py | 128 +- activitysim/core/test/test_los.py | 171 +- activitysim/core/test/test_pipeline.py | 57 +- activitysim/core/test/test_random.py | 64 +- activitysim/core/test/test_simulate.py | 48 +- activitysim/core/test/test_skim.py | 63 +- activitysim/core/test/test_timetable.py | 105 +- activitysim/core/test/test_tracing.py | 110 +- activitysim/core/test/test_util.py | 42 +- activitysim/core/test/utils_testing.py | 21 +- activitysim/core/timetable.py | 156 +- activitysim/core/tracing.py | 340 +- activitysim/core/util.py | 192 +- .../estimation/larch/auto_ownership.py | 25 +- activitysim/estimation/larch/cdap.py | 30 +- activitysim/estimation/larch/general.py | 40 +- .../estimation/larch/location_choice.py | 150 +- activitysim/estimation/larch/mode_choice.py | 49 +- .../estimation/larch/nonmand_tour_freq.py | 50 +- activitysim/estimation/larch/scheduling.py | 78 +- .../estimation/larch/simple_simulate.py | 67 +- .../estimation/larch/stop_frequency.py | 76 +- .../estimation/test/test_larch_estimation.py | 122 +- ...atwork_subtour_destination_BHHH_None_.csv} | 0 ...andatory_tour_destination_SLSQP_None_.csv} | 0 ...ion_model_school_location_SLSQP_None_.csv} | 0 ...on_model_trip_destination_SLSQP_0_12_.csv} | 0 ..._model_workplace_location_SLSQP_None_.csv} | 0 .../examples/create_run_all_examples.py | 2 +- .../build_example_data/build_stop_coeffs.py | 68 +- .../build_example_data/build_test.txt | 13 +- .../build_example_data/mode_choice_wrangle.py | 40 +- .../scripts/extract_survey_data.py | 113 +- .../example_estimation/scripts/infer.py | 722 +- activitysim/examples/example_manifest.yaml | 545 +- .../examples/example_mtc/test/test_mtc.py | 69 - .../examples/example_mtc_extended/README.MD | 6 - .../test/regress/final_trips.csv | 80 - .../test/test_mtc_extended.py | 57 - .../example_multiple_zone/test/simulation.py | 15 - .../test/test_multiple_zone.py | 105 - .../examples/example_psrc/test/simulation.py | 15 - .../example_sandag/configs_3_zone/notes.txt | 10 - .../example_sandag/data_2/maz_to_maz_bike.csv | 2645 - .../examples/example_sandag/run_sandag.txt | 14 - .../test/regress/final_2_zone_tours.csv | 79 - .../example_sandag/test/simulation.py | 15 - .../example_sandag/test/test_sandag.py | 121 - .../extensions/reassign_tour_purpose.py | 53 - .../reduce_sandag_cb_skims_for_github.py | 36 - .../test/test_sandag_xborder.py | 44 - .../extensions/work_from_home.py | 135 - .../scripts/reindex_household_ids.py | 156 - .../.gitignore | 0 .../README.MD | 2 +- .../configs_1_zone/network_los.yaml | 0 .../non_mandatory_tour_destination.yaml | 0 .../configs_1_zone/settings.yaml | 0 .../configs_2_zone}/accessibility.csv | 0 .../configs_2_zone/network_los.yaml | 0 .../configs_2_zone/settings.yaml | 0 .../configs_3_zone/_bugs.txt | 0 .../configs_3_zone/accessibility.csv | 0 .../annotate_households_workplace.csv | 0 .../annotate_persons_workplace.csv | 0 .../configs_3_zone/auto_ownership.csv | 0 .../destination_choice_size_terms.csv | 0 .../configs_3_zone/network_los.yaml | 314 +- .../configs_3_zone/settings.yaml | 0 .../configs_3_zone/settings_mp.yaml | 0 .../configs_3_zone/settings_static.yaml | 0 .../configs_3_zone/stop_frequency.yaml | 0 .../configs_3_zone/tour_mode_choice.csv | 378 +- .../configs_3_zone/tour_mode_choice.yaml | 0 ..._choice_annotate_choosers_preprocessor.csv | 0 .../configs_3_zone/trip_mode_choice.csv | 390 +- .../configs_3_zone/trip_mode_choice.yaml | 0 ...ode_choice_annotate_trips_preprocessor.csv | 0 .../tvpb_accessibility_tap_tap_.csv | 0 .../tvpb_accessibility_walk_maz_tap.csv | 0 .../tvpb_utility_drive_maz_tap.csv | 0 .../configs_3_zone/tvpb_utility_tap_tap.csv | 0 ...tap_tap_annotate_choosers_preprocessor.csv | 0 .../tvpb_utility_walk_maz_tap.csv | 0 .../configs_3_zone/write_trip_matrices.yaml | 0 ...p_matrices_annotate_trips_preprocessor.csv | 0 .../annotate_households.csv | 0 .../configs_3_zone_marin/annotate_persons.csv | 0 .../configs_3_zone_marin}/annotate_tours.csv | 0 .../configs_3_zone_marin}/constants.yaml | 128 +- .../initialize_households.yaml | 0 .../initialize_landuse.yaml | 0 .../initialize_tours.yaml | 0 .../configs_3_zone_marin}/logging.yaml | 0 .../configs_3_zone_marin/network_los.yaml | 362 +- .../configs_3_zone_marin/settings.yaml | 474 +- .../configs_3_zone_marin/settings_mp.yaml | 0 .../configs_3_zone_marin}/shadow_pricing.yaml | 0 .../configs_3_zone_marin/tour_mode_choice.csv | 330 +- .../tour_mode_choice.yaml | 376 +- ..._choice_annotate_choosers_preprocessor.csv | 150 +- .../tour_mode_choice_coeffs.csv | 616 +- .../tour_mode_choice_coeffs_template.csv} | 0 .../tvpb_utility_drive_maz_tap.csv | 6 +- .../tvpb_utility_tap_tap.csv | 170 +- ...tap_tap_annotate_choosers_preprocessor.csv | 88 +- .../tvpb_utility_walk_maz_tap.csv | 8 +- .../data/households.csv | 0 .../data/land_use.csv | 0 .../data/mtc_asim.h5 | Bin .../data/override_hh_ids.csv | 0 .../data/persons.csv | 0 .../data/skims.omx | Bin .../data_1}/households.csv | 0 .../data_1}/land_use.csv | 0 .../data_1}/persons.csv | 0 .../data_1}/skims.omx | Bin .../data_2/.gitignore | 0 .../data_3/.gitignore | 0 .../marin_crop.py | 333 +- .../marin_fix.py | 31 +- .../marin_work_tour_mode_choice_data.py | 71 +- .../notes.txt | 6 +- .../output/mem.csv | 0 .../output/pipeline.h5 | Bin .../output_1}/.gitignore | 0 .../output_1/cache/.gitignore | 0 .../output_1/trace}/.gitignore | 0 .../output_2}/.gitignore | 0 .../output_2/cache/.gitignore | 0 .../output_2}/trace/.gitignore | 0 .../output_3}/.gitignore | 0 .../output_3}/cache/.gitignore | 0 .../output_3}/trace/.gitignore | 0 .../output_3_example_marin_mp}/.gitignore | 0 .../cache/.gitignore | 0 .../output_3_example_marin_mp/log/.gitignore | 0 .../trace}/.gitignore | 0 .../output_3_mp}/.gitignore | 0 .../output_3_mp}/cache/.gitignore | 0 .../output_3_mp/log/.gitignore | 0 .../output_3_mp}/trace/.gitignore | 0 .../scripts/notes.txt | 4 +- .../scripts/three_zone_example_data.py | 134 +- .../scripts/two_zone_example_data.py | 81 +- .../simulation.py | 4 +- .../test/configs_2_zone}/network_los.yaml | 0 .../test/configs_2_zone/settings.yaml | 0 .../test/configs_2_zone/settings_mp.yaml | 0 .../test/configs_3_zone/network_los.yaml | 0 .../test/configs_3_zone/settings.yaml | 0 .../test/configs_3_zone/settings_mp.yaml | 0 .../test/output/.gitignore | 0 .../test/output/cache/.gitignore | 0 .../test/output/trace/.gitignore | 0 .../test/regress/final_tours_2_zone.csv | 0 .../test/regress/final_tours_3_zone.csv | 0 .../test/regress/final_trips_2_zone.csv | 0 .../test/regress/final_trips_3_zone.csv | 0 .../test}/simulation.py | 4 +- .../test/test_multiple_zone.py | 122 + .../three_zone_example_data.py | 132 +- .../two_zone_example_data.py | 75 +- .../.gitignore | 0 .../README.MD | 0 .../change_log.txt | 2 +- .../configs/_dummy_coefficients.csv | 0 .../configs}/accessibility.csv | 0 .../configs/accessibility.yaml | 0 .../configs/annotate_households.csv | 70 +- .../configs/annotate_households_cdap.csv | 18 +- .../configs/annotate_households_workplace.csv | 0 .../configs/annotate_landuse.csv | 10 +- .../configs/annotate_persons.csv | 0 .../configs/annotate_persons_after_hh.csv | 0 .../configs/annotate_persons_cdap.csv | 0 .../configs/annotate_persons_jtp.csv | 0 .../configs/annotate_persons_mtf.csv | 0 .../configs/annotate_persons_nmtf.csv | 0 .../configs/annotate_persons_school.csv | 0 .../configs/annotate_persons_workplace.csv | 0 .../configs/atwork_subtour_destination.csv | 0 .../configs/atwork_subtour_destination.yaml | 0 .../atwork_subtour_destination_coeffs.csv} | 0 .../atwork_subtour_destination_sample.csv | 0 .../configs/atwork_subtour_frequency.csv | 46 +- .../configs/atwork_subtour_frequency.yaml | 0 .../atwork_subtour_frequency_alternatives.csv | 16 +- ..._frequency_annotate_tours_preprocessor.csv | 0 .../atwork_subtour_frequency_coeffs.csv | 264 +- .../configs}/auto_ownership.csv | 0 .../configs/auto_ownership.yaml | 34 +- .../configs/auto_ownership_coeffs.csv | 136 +- .../configs/cdap.yaml | 0 .../configs/cdap_coefficients.csv | 0 .../cdap_fixed_relative_proportions.csv | 0 .../configs/cdap_indiv_and_hhsize1.csv | 102 +- .../configs/cdap_interaction_coefficients.csv | 276 +- .../configs/constants.yaml | 0 .../destination_choice_size_terms.csv | 0 .../configs/free_parking.csv | 0 .../configs/free_parking.yaml | 50 +- ..._parking_annotate_persons_preprocessor.csv | 0 .../configs/free_parking_coeffs.csv | 18 +- .../configs/initialize_households.yaml | 0 .../configs/initialize_landuse.yaml | 0 .../configs/joint_tour_composition.csv | 42 +- .../configs/joint_tour_composition.yaml | 0 ...ition_annotate_households_preprocessor.csv | 0 .../joint_tour_composition_coeffs.csv} | 0 .../configs/joint_tour_destination.yaml | 80 +- .../configs/joint_tour_frequency.csv | 152 +- .../configs/joint_tour_frequency.yaml | 0 .../joint_tour_frequency_alternatives.csv | 46 +- ...uency_annotate_households_preprocessor.csv | 0 .../configs/joint_tour_frequency_coeffs.csv} | 0 .../configs/joint_tour_participation.csv | 134 +- .../configs/joint_tour_participation.yaml | 40 +- ...ion_annotate_participants_preprocessor.csv | 0 .../joint_tour_participation_coeffs.csv} | 0 .../configs/joint_tour_scheduling.yaml | 25 +- ...scheduling_annotate_tours_preprocessor.csv | 0 .../configs/logging.yaml | 108 +- .../configs/mandatory_tour_frequency.csv | 202 +- .../configs/mandatory_tour_frequency.yaml | 20 +- .../mandatory_tour_frequency_alternatives.csv | 0 .../mandatory_tour_frequency_coeffs.csv | 108 +- .../configs/mandatory_tour_scheduling.yaml | 84 +- .../configs/network_los.yaml | 70 +- .../non_mandatory_tour_destination.csv | 20 +- .../non_mandatory_tour_destination.yaml | 76 +- .../non_mandatory_tour_destination_coeffs.csv | 42 +- .../non_mandatory_tour_destination_sample.csv | 0 .../configs/non_mandatory_tour_frequency.csv | 420 +- .../configs/non_mandatory_tour_frequency.yaml | 0 ..._mandatory_tour_frequency_alternatives.csv | 194 +- ...requency_annotate_persons_preprocessor.csv | 0 ...y_tour_frequency_coeffs_PTYPE_DRIVING.csv} | 0 ...tory_tour_frequency_coeffs_PTYPE_FULL.csv} | 0 ...y_tour_frequency_coeffs_PTYPE_NONWORK.csv} | 0 ...tory_tour_frequency_coeffs_PTYPE_PART.csv} | 0 ...tour_frequency_coeffs_PTYPE_PRESCHOOL.csv} | 0 ...y_tour_frequency_coeffs_PTYPE_RETIRED.csv} | 0 ...ry_tour_frequency_coeffs_PTYPE_SCHOOL.csv} | 0 ...our_frequency_coeffs_PTYPE_UNIVERSITY.csv} | 0 ...ndatory_tour_frequency_extension_probs.csv | 0 .../non_mandatory_tour_scheduling.yaml | 42 +- ...scheduling_annotate_tours_preprocessor.csv | 0 .../configs/school_location.csv | 24 +- .../configs/school_location.yaml | 130 +- .../configs/school_location_coeffs.csv | 34 +- .../configs/school_location_sample.csv | 0 .../configs/settings.yaml | 352 +- .../configs/settings_mp.yaml | 0 .../configs/shadow_pricing.yaml | 0 .../configs/stop_frequency.yaml | 0 .../configs/stop_frequency_alternatives.csv | 0 ..._frequency_annotate_tours_preprocessor.csv | 0 .../configs/stop_frequency_atwork.csv | 0 .../stop_frequency_coefficients_atwork.csv | 0 .../stop_frequency_coefficients_eatout.csv | 0 .../stop_frequency_coefficients_escort.csv | 0 .../stop_frequency_coefficients_othdiscr.csv | 0 .../stop_frequency_coefficients_othmaint.csv | 0 .../stop_frequency_coefficients_school.csv | 0 .../stop_frequency_coefficients_shopping.csv | 0 .../stop_frequency_coefficients_social.csv | 0 .../stop_frequency_coefficients_univ.csv | 0 .../stop_frequency_coefficients_work.csv | 0 .../configs/stop_frequency_eatout.csv | 0 .../configs/stop_frequency_escort.csv | 0 .../configs/stop_frequency_othdiscr.csv | 0 .../configs/stop_frequency_othmaint.csv | 0 .../configs/stop_frequency_school.csv | 0 .../configs/stop_frequency_shopping.csv | 0 .../configs/stop_frequency_social.csv | 0 .../configs/stop_frequency_univ.csv | 0 .../configs/stop_frequency_work.csv | 0 ...ur_departure_and_duration_alternatives.csv | 0 .../configs/tour_mode_choice.csv | 692 +- .../configs/tour_mode_choice.yaml | 378 +- ..._choice_annotate_choosers_preprocessor.csv | 186 +- .../configs}/tour_mode_choice_coeffs.csv | 616 +- .../tour_mode_choice_coeffs_template.csv | 174 +- .../configs/tour_scheduling_atwork.csv | 116 +- .../configs/tour_scheduling_atwork.yaml | 26 +- .../tour_scheduling_atwork_coeffs.csv} | 0 .../tour_scheduling_atwork_preprocessor.csv | 0 .../configs/tour_scheduling_joint.csv | 130 +- .../configs/tour_scheduling_joint_coeffs.csv | 118 +- .../configs/tour_scheduling_nonmandatory.csv | 186 +- .../tour_scheduling_nonmandatory_coeffs.csv | 186 +- .../configs/tour_scheduling_school.csv | 126 +- .../configs/tour_scheduling_school_coeffs.csv | 112 +- .../configs/tour_scheduling_work.csv | 272 +- .../configs/tour_scheduling_work_coeffs.csv | 128 +- .../configs/trip_destination.csv | 0 .../configs/trip_destination.yaml | 0 ...estination_annotate_trips_preprocessor.csv | 0 .../configs/trip_destination_sample.csv | 0 .../configs/trip_mode_choice.csv | 810 +- .../configs/trip_mode_choice.yaml | 0 ...ode_choice_annotate_trips_preprocessor.csv | 0 .../configs/trip_mode_choice_coefficients.csv | 0 ...trip_mode_choice_coefficients_template.csv | 0 .../configs/trip_purpose.yaml | 18 +- .../configs/trip_purpose_and_destination.yaml | 0 ...ip_purpose_annotate_trips_preprocessor.csv | 0 .../configs/trip_purpose_probs.csv | 0 .../configs/trip_scheduling.yaml | 20 +- .../configs/trip_scheduling_probs.csv | 2736 +- .../configs/workplace_location.csv | 26 +- .../configs/workplace_location.yaml | 146 +- .../configs/workplace_location_coeffs.csv} | 0 .../configs/workplace_location_sample.csv | 0 .../configs/write_trip_matrices.yaml | 548 +- ...p_matrices_annotate_trips_preprocessor.csv | 260 +- .../configs_accessibility/settings.yaml | 84 +- .../configs_accessibility/settings_mp.yaml | 0 .../configs_skip_accessibility/settings.yaml | 0 .../settings_mp.yaml | 0 .../data/.gitignore | 0 .../data/households.csv | 0 .../data/land_use.csv | 0 .../data/maz.csv | 0 .../data/maz_to_maz_bike.csv | 0 .../data/maz_to_maz_walk.csv | 0 .../data/persons.csv | 0 .../data/skims.omx | Bin .../data/taz.csv | 0 .../output}/.gitignore | 0 .../output/cache/.gitignore | 0 .../output/log/.gitignore | 0 .../output/trace/.gitignore | 0 .../scripts/integrity.py | 85 +- .../scripts/psrc_crop.py | 130 +- .../test/configs/settings.yaml | 0 .../test/output}/.gitignore | 0 .../test/output/cache/.gitignore | 0 .../test/output/trace/.gitignore | 0 .../test/regress/final_trips.csv | 0 .../test/simulation.py | 30 +- .../test/test_psrc.py | 38 +- .../3_zone_change_log.txt | 0 .../configs_1_zone/constants.yaml | 0 .../configs_1_zone/network_los.yaml | 0 .../configs_1_zone/settings.yaml | 0 .../configs_1_zone/settings_mp.yaml | 0 .../configs_2_zone/constants.yaml | 0 .../configs_2_zone/network_los.yaml | 0 .../configs_2_zone/settings.yaml | 0 .../configs_2_zone/settings_mp.yaml | 0 .../tour_departure_and_duration_segments.csv | 0 .../configs_3_zone/_bugs.txt | 0 .../configs_3_zone/accessibility.csv | 0 .../annotate_households_workplace.csv | 0 .../annotate_persons_workplace.csv | 0 .../configs_3_zone}/auto_ownership.csv | 60 +- .../configs_3_zone/constants.yaml | 0 .../destination_choice_size_terms.csv | 0 .../configs_3_zone/logging.yaml | 0 .../configs_3_zone/network_los.yaml | 0 .../configs_3_zone/notes.txt | 10 + .../configs_3_zone/settings.yaml | 0 .../configs_3_zone/settings_mp.yaml | 0 .../configs_3_zone/stop_frequency.yaml | 0 .../configs_3_zone/tour_mode_choice.csv | 3 + .../configs_3_zone/tour_mode_choice.yaml | 372 +- ..._choice_annotate_choosers_preprocessor.csv | 0 .../configs_3_zone/trip_mode_choice.csv | 3 + .../configs_3_zone/trip_mode_choice.yaml | 0 ...ode_choice_annotate_trips_preprocessor.csv | 4 +- .../tvpb_accessibility_tap_tap_.csv | 0 .../tvpb_accessibility_walk_maz_tap.csv | 0 .../tvpb_utility_drive_maz_tap.csv | 8 +- .../configs_3_zone/tvpb_utility_tap_tap.csv | 138 +- ...tap_tap_annotate_choosers_preprocessor.csv | 52 +- .../tvpb_utility_walk_maz_tap.csv | 6 +- .../configs_3_zone/write_trip_matrices.yaml | 0 ...p_matrices_annotate_trips_preprocessor.csv | 0 .../configs_benchmarking/settings.yaml | 0 .../configs_skip_accessibility/settings.yaml | 2 +- .../settings_mp.yaml | 2 +- .../data_1/households.csv | 0 .../data_1/land_use.csv | 0 .../data_1/persons.csv | 0 .../data_1/skims1.omx | Bin .../data_2/households.csv | 0 .../data_2/land_use.csv | 0 .../data_2/maz.csv | 0 .../data_2/maz_to_maz_walk.csv | 0 .../data_2/persons.csv | 0 .../data_2/skims1.omx | Bin .../data_2/taz.csv | 0 .../data_3/cached_accessibility.csv.gz | Bin .../data_3/households.csv | 0 .../data_3/land_use.csv | 0 .../data_3/maz.csv | 0 .../data_3/maz_to_maz_bike.csv | 0 .../data_3/maz_to_maz_walk.csv | 0 .../data_3/maz_to_tap_drive.csv | 0 .../data_3/maz_to_tap_walk.csv | 0 .../data_3/persons.csv | 0 .../data_3/tap.csv | 0 .../data_3/tap_lines.csv | 0 .../data_3/tap_skims1.omx | Bin .../data_3/taz.csv | 0 .../data_3/taz_skims1.omx | Bin .../output_1}/.gitignore | 0 .../output_1}/cache/.gitignore | 0 .../output_1}/log/.gitignore | 0 .../output_1}/trace/.gitignore | 0 .../output_2}/.gitignore | 0 .../output_2}/cache/.gitignore | 0 .../output_2/log}/.gitignore | 0 .../output_2}/trace/.gitignore | 0 .../output_3}/.gitignore | 0 .../output_3/cache/.gitignore | 0 .../output_3/log}/.gitignore | 0 .../output_3/trace/.gitignore | 0 .../placeholder_sandag/run_sandag.txt | 14 + .../scripts/sandag_crop_1_zone.py | 66 +- .../scripts/sandag_crop_2_zone.py | 120 +- .../scripts/sandag_crop_3_zone.py | 112 +- .../test/configs_1_zone}/network_los.yaml | 0 .../test/configs_1_zone/settings.yaml | 0 .../test/configs_1_zone/settings_mp.yaml | 0 .../test/configs_2_zone}/network_los.yaml | 0 .../test/configs_2_zone/settings.yaml | 0 .../test/configs_2_zone/settings_mp.yaml | 0 .../test/configs_3_zone/network_los.yaml | 0 .../test/configs_3_zone/settings.yaml | 0 .../test/configs_3_zone/settings_mp.yaml | 0 .../test/output/.gitignore | 0 .../test/output}/cache/.gitignore | 0 .../test/output}/trace/.gitignore | 0 .../test/regress/final_1_zone_tours.csv | 0 .../test/regress/final_1_zone_trips.csv | 0 .../test/regress/final_2_zone_tours.csv | 80 + .../test/regress/final_2_zone_trips.csv | 247 +- .../test/regress/final_3_zone_tours.csv | 0 .../test/regress/final_3_zone_trips.csv | 0 .../test/simulation.py | 30 +- .../placeholder_sandag/test/test_sandag.py | 139 + .../.gitignore | 0 .../{example_arc => prototype_arc}/README.MD | 0 .../change_log.txt | 0 .../configs/_dummy_coefficients.csv | 0 .../configs/accessibility.csv | 154 +- .../configs/accessibility.yaml | 0 .../configs/annotate_households.csv | 0 .../configs/annotate_households_cdap.csv | 0 .../configs/annotate_households_workplace.csv | 0 .../configs/annotate_landuse.csv | 0 .../configs/annotate_persons.csv | 0 .../configs/annotate_persons_after_hh.csv | 0 .../configs/annotate_persons_cdap.csv | 0 .../configs/annotate_persons_jtp.csv | 0 .../configs/annotate_persons_mtf.csv | 0 .../configs/annotate_persons_nmtf.csv | 0 .../configs/annotate_persons_school.csv | 0 .../configs/annotate_persons_workplace.csv | 0 .../configs/atwork_subtour_destination.csv | 0 .../configs/atwork_subtour_destination.yaml | 0 .../atwork_subtour_destination_coeffs.csv | 0 .../atwork_subtour_destination_sample.csv | 0 .../configs/atwork_subtour_frequency.csv | 0 .../configs/atwork_subtour_frequency.yaml | 22 +- .../atwork_subtour_frequency_alternatives.csv | 0 ..._frequency_annotate_tours_preprocessor.csv | 0 .../atwork_subtour_frequency_coeffs.csv | 0 .../configs/auto_ownership.csv | 0 .../configs/auto_ownership.yaml | 0 .../configs/auto_ownership_coeffs.csv | 0 .../configs/cdap.yaml | 0 .../cdap_fixed_relative_proportions.csv | 0 .../configs/cdap_indiv_and_hhsize1.csv | 0 .../configs/cdap_interaction_coefficients.csv | 0 .../configs/constants.yaml | 0 .../configs/destination_choice_size_terms.csv | 0 .../configs/free_parking.csv | 0 .../configs/free_parking.yaml | 0 .../configs/free_parking_coeffs.csv | 0 .../configs/initialize_households.yaml | 0 .../configs/initialize_landuse.yaml | 0 .../configs/joint_tour_composition.csv | 0 .../configs/joint_tour_composition.yaml | 22 +- ...ition_annotate_households_preprocessor.csv | 0 .../configs/joint_tour_composition_coeffs.csv | 0 .../configs/joint_tour_destination.yaml | 0 .../configs/joint_tour_destination_coeffs.csv | 0 .../configs/joint_tour_frequency.csv | 0 .../configs/joint_tour_frequency.yaml | 22 +- .../joint_tour_frequency_alternatives.csv | 0 ...uency_annotate_households_preprocessor.csv | 0 .../configs/joint_tour_frequency_coeffs.csv | 0 .../configs/joint_tour_participation.csv | 0 .../configs/joint_tour_participation.yaml | 0 ...ion_annotate_participants_preprocessor.csv | 0 .../joint_tour_participation_coeffs.csv | 0 .../configs/joint_tour_scheduling.yaml | 0 ...scheduling_annotate_tours_preprocessor.csv | 0 .../configs/joint_tour_scheduling_coeffs.csv | 0 .../configs/logging.yaml | 0 .../configs/mandatory_tour_frequency.csv | 0 .../configs/mandatory_tour_frequency.yaml | 0 .../mandatory_tour_frequency_alternatives.csv | 0 .../mandatory_tour_frequency_coeffs.csv | 0 .../configs/mandatory_tour_scheduling.yaml | 0 ..._scheduling_annotate_alts_preprocessor.csv | 0 ...chedulings_annotate_tours_preprocessor.csv | 0 .../configs/network_los.yaml | 0 .../non_mandatory_tour_destination.csv | 0 .../non_mandatory_tour_destination.yaml | 0 .../non_mandatory_tour_destination_coeffs.csv | 0 .../non_mandatory_tour_destination_sample.csv | 0 .../configs/non_mandatory_tour_frequency.csv | 0 .../configs/non_mandatory_tour_frequency.yaml | 84 +- ..._mandatory_tour_frequency_alternatives.csv | 194 +- ...requency_annotate_persons_preprocessor.csv | 0 ...ry_tour_frequency_coeffs_PTYPE_DRIVING.csv | 0 ...atory_tour_frequency_coeffs_PTYPE_FULL.csv | 0 ...ry_tour_frequency_coeffs_PTYPE_NONWORK.csv | 0 ...atory_tour_frequency_coeffs_PTYPE_PART.csv | 0 ..._tour_frequency_coeffs_PTYPE_PRESCHOOL.csv | 0 ...ry_tour_frequency_coeffs_PTYPE_RETIRED.csv | 0 ...ory_tour_frequency_coeffs_PTYPE_SCHOOL.csv | 0 ...tour_frequency_coeffs_PTYPE_UNIVERSITY.csv | 0 ...ndatory_tour_frequency_extension_probs.csv | 386 +- .../non_mandatory_tour_scheduling.yaml | 0 ...scheduling_annotate_tours_preprocessor.csv | 0 .../configs/parking_location_choice.csv | 0 .../configs/parking_location_choice.yaml | 0 ...ion_choice_annotate_trips_preprocessor.csv | 0 .../parking_location_choice_coeffs.csv | 0 .../configs/school_location.csv | 0 .../configs/school_location.yaml | 0 .../configs/school_location_coeffs.csv | 0 .../configs/school_location_sample.csv | 8 +- .../configs/settings.yaml | 29 +- .../configs/settings_mp.yaml | 80 +- .../configs/shadow_pricing.yaml | 0 .../configs/stop_frequency.yaml | 0 .../configs/stop_frequency_alternatives.csv | 0 ..._frequency_annotate_tours_preprocessor.csv | 0 .../configs/stop_frequency_atwork.csv | 0 .../configs/stop_frequency_eatout.csv | 0 .../configs/stop_frequency_escort.csv | 0 .../configs/stop_frequency_othdiscr.csv | 0 .../configs/stop_frequency_othmaint.csv | 0 .../configs/stop_frequency_school.csv | 0 .../configs/stop_frequency_shopping.csv | 0 .../configs/stop_frequency_social.csv | 0 .../configs/stop_frequency_univ.csv | 0 .../configs/stop_frequency_work.csv | 0 ...ur_departure_and_duration_alternatives.csv | 0 .../configs/tour_mode_choice.csv | 0 .../configs/tour_mode_choice.yaml | 0 ..._choice_annotate_choosers_preprocessor.csv | 0 .../configs/tour_mode_choice_coeffs.csv | 0 .../tour_mode_choice_coeffs_template.csv | 0 .../configs/tour_scheduling_atwork.csv | 0 .../configs/tour_scheduling_atwork.yaml | 0 .../configs/tour_scheduling_atwork_coeffs.csv | 0 .../tour_scheduling_atwork_preprocessor.csv | 0 .../configs/tour_scheduling_joint.csv | 0 .../configs/tour_scheduling_joint_coeffs.csv | 0 .../configs/tour_scheduling_nonmandatory.csv | 0 .../tour_scheduling_nonmandatory_coeffs.csv | 0 .../configs/tour_scheduling_school.csv | 0 .../configs/tour_scheduling_school_coeffs.csv | 0 .../configs/tour_scheduling_university.csv | 0 .../tour_scheduling_university_coeffs.csv | 0 .../configs/tour_scheduling_work.csv | 0 .../configs/tour_scheduling_work_coeffs.csv | 0 .../configs/trip_departure_choice.csv | 0 .../configs/trip_departure_choice.yaml | 0 .../trip_departure_choice_preprocessor.csv | 0 .../trip_departure_sample_patterns.csv | 0 .../configs/trip_destination.csv | 0 .../configs/trip_destination.yaml | 0 ...estination_annotate_trips_preprocessor.csv | 0 .../configs/trip_destination_sample.csv | 0 .../configs/trip_mode_choice.csv | 0 .../configs/trip_mode_choice.yaml | 0 ...ode_choice_annotate_trips_preprocessor.csv | 0 .../configs/trip_mode_choice_coeffs.csv | 0 .../configs/trip_purpose.yaml | 0 .../configs/trip_purpose_and_destination.yaml | 0 ...ip_purpose_annotate_trips_preprocessor.csv | 0 .../configs/trip_purpose_probs.csv | 0 .../configs/trip_scheduling_choice.csv | 0 .../configs/trip_scheduling_choice.yaml | 0 .../trip_scheduling_choice_preprocessor.csv | 0 .../configs/workplace_location.csv | 0 .../configs/workplace_location.yaml | 0 .../configs/workplace_location_coeffs.csv | 0 .../configs/workplace_location_sample.csv | 0 .../configs/write_trip_matrices.yaml | 0 ...p_matrices_annotate_trips_preprocessor.csv | 0 .../data/households.csv | 0 .../data/land_use.csv | 0 .../data/persons.csv | 0 .../data/skims.omx | Bin .../output/.gitignore | 0 .../output}/cache/.gitignore | 0 .../output/log}/.gitignore | 0 .../output/trace/.gitignore | 0 .../scripts/arc_crop.py | 80 +- .../simulation.py | 4 +- .../test/configs/settings.yaml | 0 .../test}/output/.gitignore | 0 .../test/output/cache/.gitignore | 0 .../test/output/trace}/.gitignore | 0 .../test/regress/final_trips.csv | 0 .../examples/prototype_arc/test/simulation.py | 15 + .../test/test_arc.py | 38 +- .../.gitignore | 0 .../README.MD | 2 +- .../configs}/annotate_households.csv | 0 .../configs/annotate_persons.csv | 0 .../configs}/annotate_tours.csv | 0 .../configs/constants.yaml | 128 +- .../configs/destination_choice_size_terms.csv | 56 +- .../configs}/initialize_households.yaml | 0 .../configs}/initialize_landuse.yaml | 0 .../configs}/initialize_tours.yaml | 0 .../configs}/logging.yaml | 108 +- .../configs/network_los.yaml | 340 +- .../configs/settings.yaml | 480 +- .../configs/settings_mp.yaml | 0 .../configs}/shadow_pricing.yaml | 0 ...ur_departure_and_duration_alternatives.csv | 380 +- .../configs/tour_mode_choice.csv | 452 +- .../configs/tour_mode_choice.yaml | 376 +- ..._choice_annotate_choosers_preprocessor.csv | 174 +- .../configs/tour_mode_choice_coefficients.csv | 788 +- ...tour_mode_choice_coefficients_template.csv | 346 +- .../configs/tvpb_utility_drive_maz_tap.csv | 6 +- .../configs/tvpb_utility_tap_tap.csv | 164 +- ...tap_tap_annotate_choosers_preprocessor.csv | 88 +- .../configs/tvpb_utility_walk_maz_tap.csv | 8 +- .../data/accessibility.csv | 0 .../data/highway_skims_AM.omx | Bin .../data/highway_skims_EA.omx | Bin .../data/highway_skims_EV.omx | Bin .../data/highway_skims_MD.omx | Bin .../data/highway_skims_PM.omx | Bin .../data/households.csv | 0 .../data/land_use.csv | 0 .../data/maz_maz_bike.csv | 0 .../data/maz_maz_walk.csv | 0 .../data/maz_tap_walk.csv | 0 .../data/maz_taz.csv | 0 .../data/maz_taz_tap_drive.csv | 0 .../data/persons.csv | 0 .../data/tap.csv | 0 .../data/tap_lines.csv | 0 .../data/taz_skims.omx | Bin .../data/transit_skims_SET1.omx | Bin .../data/transit_skims_SET2.omx | Bin .../data/transit_skims_SET3.omx | Bin .../data/work_tours.csv | 0 .../output/.gitignore | 0 .../output/cache/.gitignore | 0 .../output/log}/.gitignore | 0 .../output/trace/.gitignore | 0 .../scripts/marin_crop.py | 514 +- .../scripts/marin_fix.py | 31 +- .../marin_work_tour_mode_choice_data.py | 73 +- .../scripts/notes.txt | 0 .../scripts/tvpb_validation.R | 4 +- .../test/configs/network_los.yaml | 0 .../test/configs/settings.yaml | 0 .../test/output}/.gitignore | 0 .../test/output/cache/.gitignore | 0 .../test/output/trace}/.gitignore | 0 .../test/regress/final_tours.csv | 0 .../prototype_marin/test/simulation.py | 15 + .../test/test_marin.py | 38 +- .../{example_mtc => prototype_mtc}/.gitignore | 0 .../{example_mtc => prototype_mtc}/README.MD | 2 +- .../configs/accessibility.csv | 118 +- .../configs/accessibility.yaml | 26 +- .../configs/annotate_households.csv | 0 .../configs/annotate_households_cdap.csv | 0 .../configs/annotate_households_workplace.csv | 10 +- .../configs/annotate_landuse.csv | 0 .../configs/annotate_persons.csv | 76 +- .../configs/annotate_persons_after_hh.csv | 10 +- .../configs/annotate_persons_cdap.csv | 12 +- .../configs/annotate_persons_jtp.csv | 6 +- .../configs/annotate_persons_mtf.csv | 16 +- .../configs/annotate_persons_nmtf.csv | 20 +- .../configs/annotate_persons_school.csv | 14 +- .../configs/annotate_persons_workplace.csv | 64 +- .../configs/atwork_subtour_destination.csv | 0 .../configs/atwork_subtour_destination.yaml | 0 ...work_subtour_destination_coefficients.csv} | 18 +- .../atwork_subtour_destination_sample.csv | 0 .../configs/atwork_subtour_frequency.csv | 0 .../configs/atwork_subtour_frequency.yaml | 0 .../atwork_subtour_frequency_alternatives.csv | 16 +- ..._frequency_annotate_tours_preprocessor.csv | 18 +- .../atwork_subtour_frequency_coefficients.csv | 266 +- .../configs/auto_ownership.csv | 60 +- .../configs/auto_ownership.yaml | 0 .../configs/auto_ownership_coefficients.csv | 136 +- .../configs/cdap.yaml | 0 .../configs/cdap_coefficients.csv | 0 .../cdap_fixed_relative_proportions.csv | 18 +- .../configs/cdap_indiv_and_hhsize1.csv | 104 +- .../configs/cdap_interaction_coefficients.csv | 276 +- .../configs/constants.yaml | 136 +- .../configs/destination_choice_size_terms.csv | 56 +- .../configs/free_parking.csv | 18 +- .../configs/free_parking.yaml | 0 ..._parking_annotate_persons_preprocessor.csv | 4 +- .../configs/free_parking_coefficients.csv | 18 +- .../configs/initialize_households.yaml | 42 +- .../configs/initialize_landuse.yaml | 14 +- .../configs/joint_tour_composition.csv | 42 +- .../configs/joint_tour_composition.yaml | 0 ...ition_annotate_households_preprocessor.csv | 44 +- .../joint_tour_composition_coefficients.csv | 32 + .../configs/joint_tour_destination.yaml | 0 .../configs/joint_tour_frequency.csv | 152 +- .../configs/joint_tour_frequency.yaml | 0 .../joint_tour_frequency_alternatives.csv | 46 +- ...uency_annotate_households_preprocessor.csv | 64 +- .../joint_tour_frequency_coefficients.csv} | 166 +- .../configs/joint_tour_participation.csv | 134 +- .../configs/joint_tour_participation.yaml | 0 ...ion_annotate_participants_preprocessor.csv | 48 +- .../joint_tour_participation_coefficients.csv | 68 + .../configs/joint_tour_scheduling.yaml | 0 ...scheduling_annotate_tours_preprocessor.csv | 16 +- .../configs/logging.yaml | 0 .../configs/mandatory_tour_frequency.csv | 202 +- .../configs/mandatory_tour_frequency.yaml | 10 + .../mandatory_tour_frequency_alternatives.csv | 14 +- .../mandatory_tour_frequency_coefficients.csv | 108 +- .../configs/mandatory_tour_scheduling.yaml | 0 .../configs/network_los.yaml | 0 .../non_mandatory_tour_destination.csv | 20 +- .../non_mandatory_tour_destination.yaml | 0 ...andatory_tour_destination_coefficients.csv | 0 .../non_mandatory_tour_destination_sample.csv | 16 +- .../configs/non_mandatory_tour_frequency.csv | 420 +- .../configs/non_mandatory_tour_frequency.yaml | 0 ..._mandatory_tour_frequency_alternatives.csv | 194 +- ...requency_annotate_persons_preprocessor.csv | 42 +- ..._frequency_coefficients_PTYPE_DRIVING.csv} | 420 +- ...our_frequency_coefficients_PTYPE_FULL.csv} | 420 +- ..._frequency_coefficients_PTYPE_NONWORK.csv} | 420 +- ...our_frequency_coefficients_PTYPE_PART.csv} | 420 +- ...requency_coefficients_PTYPE_PRESCHOOL.csv} | 420 +- ..._frequency_coefficients_PTYPE_RETIRED.csv} | 420 +- ...r_frequency_coefficients_PTYPE_SCHOOL.csv} | 420 +- ...equency_coefficients_PTYPE_UNIVERSITY.csv} | 420 +- ...ndatory_tour_frequency_extension_probs.csv | 386 +- .../non_mandatory_tour_scheduling.yaml | 0 ...scheduling_annotate_tours_preprocessor.csv | 8 +- .../configs/school_location.csv | 24 +- .../configs/school_location.yaml | 0 .../configs/school_location_coefficients.csv | 34 +- .../configs/school_location_sample.csv | 20 +- .../configs/settings.yaml | 0 .../prototype_mtc/configs/shadow_pricing.yaml | 35 + .../configs/stop_frequency.yaml | 154 +- .../configs/stop_frequency_alternatives.csv | 36 +- ..._frequency_annotate_tours_preprocessor.csv | 94 +- .../configs/stop_frequency_atwork.csv | 0 .../stop_frequency_coefficients_atwork.csv | 0 .../stop_frequency_coefficients_eatout.csv | 0 .../stop_frequency_coefficients_escort.csv | 0 .../stop_frequency_coefficients_othdiscr.csv | 0 .../stop_frequency_coefficients_othmaint.csv | 0 .../stop_frequency_coefficients_school.csv | 0 .../stop_frequency_coefficients_shopping.csv | 0 .../stop_frequency_coefficients_social.csv | 0 .../stop_frequency_coefficients_univ.csv | 0 .../stop_frequency_coefficients_work.csv | 0 .../configs/stop_frequency_eatout.csv | 0 .../configs/stop_frequency_escort.csv | 0 .../configs/stop_frequency_othdiscr.csv | 0 .../configs/stop_frequency_othmaint.csv | 0 .../configs/stop_frequency_school.csv | 0 .../configs/stop_frequency_shopping.csv | 0 .../configs/stop_frequency_social.csv | 0 .../configs/stop_frequency_univ.csv | 0 .../configs/stop_frequency_work.csv | 0 .../configs/summarize.csv | 0 .../configs/summarize.yaml | 0 .../configs/summarize_preprocessor.csv | 0 ...ur_departure_and_duration_alternatives.csv | 380 +- .../tour_departure_and_duration_segments.csv | 0 .../configs/tour_mode_choice.csv | 688 +- .../configs/tour_mode_choice.yaml | 0 ..._choice_annotate_choosers_preprocessor.csv | 0 .../configs/tour_mode_choice_coefficients.csv | 616 +- ...our_mode_choice_coefficients_template.csv} | 174 +- .../configs/tour_scheduling_atwork.csv | 116 +- .../configs/tour_scheduling_atwork.yaml | 0 .../tour_scheduling_atwork_coefficients.csv} | 100 +- .../tour_scheduling_atwork_preprocessor.csv | 6 +- .../configs/tour_scheduling_joint.csv | 0 .../tour_scheduling_joint_coefficients.csv | 0 .../configs/tour_scheduling_nonmandatory.csv | 192 +- ...r_scheduling_nonmandatory_coefficients.csv | 0 .../configs/tour_scheduling_school.csv | 124 +- .../tour_scheduling_school_coefficients.csv | 112 +- .../configs/tour_scheduling_work.csv | 140 +- .../tour_scheduling_work_coefficients.csv | 128 +- .../configs/trip_destination.csv | 38 +- .../configs/trip_destination.yaml | 0 ...estination_annotate_trips_preprocessor.csv | 18 +- .../configs/trip_destination_coefficients.csv | 0 .../configs/trip_destination_sample.csv | 36 +- .../configs/trip_mode_choice.csv | 810 +- .../configs/trip_mode_choice.yaml | 0 ...ode_choice_annotate_trips_preprocessor.csv | 0 .../configs/trip_mode_choice_coefficients.csv | 0 ...trip_mode_choice_coefficients_template.csv | 0 .../configs/trip_purpose.yaml | 0 .../configs/trip_purpose_and_destination.yaml | 12 +- ...ip_purpose_annotate_trips_preprocessor.csv | 10 +- .../configs/trip_purpose_probs.csv | 264 +- .../configs/trip_scheduling.yaml | 0 .../configs/trip_scheduling_probs.csv | 2736 +- .../configs/workplace_location.csv | 26 +- .../configs/workplace_location.yaml | 0 .../workplace_location_coefficients.csv} | 18 +- .../configs/workplace_location_sample.csv | 22 +- .../configs/write_data_dictionary.yaml | 0 .../configs/write_trip_matrices.yaml | 554 +- ...p_matrices_annotate_trips_preprocessor.csv | 260 +- .../configs_mp/logging.yaml | 0 .../configs_mp/settings.yaml | 0 .../data/.gitignore | 0 .../data}/households.csv | 0 .../data}/land_use.csv | 0 .../data/mtc_asim.h5 | Bin .../data/override_hh_ids.csv | 0 .../data_1 => prototype_mtc/data}/persons.csv | 0 .../data_1 => prototype_mtc/data}/skims.omx | Bin .../notebooks/README.md | 0 .../notebooks/adding_tncs.ipynb | 0 .../notebooks/change_in_auto_ownership.ipynb | 12 +- .../notebooks/getting_started.ipynb | 10 +- .../notebooks/memory_usage.ipynb | 0 .../notebooks/summarizing_results.ipynb | 0 .../notebooks/trips_in_time_and_space.ipynb | 0 .../zone_shapefile/bayarea_rtaz1454_rev1.dbf | Bin .../zone_shapefile/bayarea_rtaz1454_rev1.prj | 0 .../zone_shapefile/bayarea_rtaz1454_rev1.shp | Bin .../zone_shapefile/bayarea_rtaz1454_rev1.shx | Bin .../output/.gitignore | 0 .../output}/cache/.gitignore | 0 .../output/log}/.gitignore | 0 .../output/summarize/dashboard-1-summary.yaml | 0 .../output/summarize/taz1454.geojson | 0 .../output/summarize/topsheet.yaml | 0 .../output/trace}/.gitignore | 0 .../simulation.py | 5 +- .../test/configs}/network_los.yaml | 0 .../test/configs/settings.yaml | 0 .../test/configs_chunkless}/network_los.yaml | 0 .../test/configs_chunkless/settings.yaml | 0 .../test/configs_mp}/network_los.yaml | 0 .../test/configs_mp/settings.yaml | 0 .../test/output}/.gitignore | 0 .../test/output}/cache/.gitignore | 0 .../test/output}/trace/.gitignore | 0 .../test/regress/final_trips.csv | 0 .../examples/prototype_mtc/test/simulation.py | 15 + .../examples/prototype_mtc/test/test_mtc.py | 94 + .../examples/prototype_mtc_extended/README.MD | 6 + .../configs/annotate_landuse.csv | 17 + .../annotate_non_mandatory_destination.csv | 3 + .../annotate_non_mandatory_tour_frequency.csv | 6 + .../configs/annotate_proto_households.csv | 4 + .../annotate_tours_tour_mode_choice.csv | 0 .../configs/destination_choice_size_terms.csv | 28 + .../configs/disaggregate_accessibility.yaml | 159 + .../non_mandatory_tour_destination.yaml | 57 + ..._mandatory_tour_frequency_alternatives.csv | 100 + .../non_mandatory_tour_scheduling.yaml | 22 + ...scheduling_annotate_tours_preprocessor.csv | 11 + .../configs/school_escorting.yaml | 47 + .../configs/school_escorting_alts.csv | 158 + .../school_escorting_coefficients_inbound.csv | 41 + ...school_escorting_coefficients_outbound.csv | 40 + ...l_escorting_coefficients_outbound_cond.csv | 41 + .../configs/school_escorting_inbound.csv | 175 + .../configs/school_escorting_outbound.csv | 163 + .../school_escorting_outbound_cond.csv | 169 + .../school_escorting_preprocessor_inbound.csv | 148 + ...school_escorting_preprocessor_outbound.csv | 122 + ...l_escorting_preprocessor_outbound_cond.csv | 138 + .../configs/settings.yaml | 11 +- .../configs/shadow_pricing.yaml | 54 + .../configs/stop_frequency_alternatives.csv | 21 + .../stop_frequency_coefficients_escort.csv | 29 + .../stop_frequency_coefficients_school.csv | 22 + .../stop_frequency_coefficients_univ.csv | 21 + .../stop_frequency_coefficients_work.csv | 35 + .../configs/stop_frequency_escort.csv | 49 + .../configs/stop_frequency_othdiscr.csv | 50 + .../configs/stop_frequency_school.csv | 46 + .../configs/stop_frequency_univ.csv | 46 + .../configs/stop_frequency_work.csv | 47 + .../configs/tour_mode_choice.csv | 3 + .../configs/tour_mode_choice.yaml | 0 ..._choice_annotate_choosers_preprocessor.csv | 0 .../configs/tour_scheduling_nonmandatory.csv | 100 + ...r_scheduling_nonmandatory_coefficients.csv | 97 + .../configs/trip_mode_choice.csv | 3 + .../configs/trip_mode_choice.yaml | 0 ...ode_choice_annotate_trips_preprocessor.csv | 2 + .../configs/trip_scheduling.yaml | 11 + .../configs/trip_scheduling_probs.csv | 1388 + .../configs/vehicle_allocation.csv | 0 .../configs/vehicle_allocation.yaml | 0 ...ocation_annotate_choosers_preprocessor.csv | 0 .../vehicle_allocation_coefficients.csv | 0 .../configs/vehicle_type_choice.yaml | 0 ..._choice_annotate_choosers_preprocessor.csv | 0 .../configs/vehicle_type_choice_op2.csv | 0 .../vehicle_type_choice_op2_coefficients.csv | 0 ...ehicle_type_choice_op2_fuel_type_probs.csv | 0 .../configs/vehicle_type_choice_op4.csv | 0 .../vehicle_type_choice_op4_coefficients.csv | 0 .../configs/vehicle_type_data.csv | 0 .../configs_mp/logging.yaml | 0 .../configs_mp/settings.yaml | 26 +- .../output}/.gitignore | 0 .../output}/cache/.gitignore | 0 .../output}/log/.gitignore | 0 .../output}/trace/.gitignore | 0 .../sampling_scenarios.py | 179 + .../test/configs/settings.yaml | 42 + .../test}/configs_mp/logging.yaml | 114 +- .../test/configs_mp}/network_los.yaml | 0 .../test/configs_mp/settings.yaml | 33 + .../test/output/.gitignore | 0 .../test/output/cache/.gitignore | 0 .../test/output/trace/.gitignore | 0 ...final_proto_disaggregate_accessibility.csv | 601 + .../test/regress/final_trips.csv | 87 + .../test/regress/final_vehicles.csv | 0 .../prototype_mtc_extended/test/simulation.py | 15 + .../test/test_mtc_extended.py | 96 + .../.gitignore | 0 .../examples/prototype_mwcog/README.MD | 3 + .../configs/_dummy_coefficients.csv | 0 .../prototype_mwcog/configs/accessibility.csv | 59 + .../configs/accessibility.yaml | 13 + .../configs/annotate_households.csv | 42 + .../configs/annotate_households_cdap.csv | 18 +- .../configs/annotate_households_workplace.csv | 10 +- .../configs/annotate_landuse.csv | 9 + .../configs/annotate_persons.csv | 68 + .../configs/annotate_persons_after_hh.csv | 23 + .../configs/annotate_persons_cdap.csv | 6 + .../configs/annotate_persons_jtp.csv | 6 +- .../configs/annotate_persons_mtf.csv | 20 +- .../configs/annotate_persons_nmtf.csv | 30 +- .../configs/annotate_persons_school.csv | 14 +- .../configs/annotate_persons_workplace.csv | 32 + .../configs/atwork_subtour_destination.csv | 18 + .../configs/atwork_subtour_destination.yaml | 33 + .../atwork_subtour_destination_coeffs.csv | 17 + .../atwork_subtour_destination_sample.csv | 16 + .../configs/atwork_subtour_frequency.csv | 46 +- .../configs/atwork_subtour_frequency.yaml | 22 +- .../atwork_subtour_frequency_alternatives.csv | 8 + ..._frequency_annotate_tours_preprocessor.csv | 18 +- .../atwork_subtour_frequency_coeffs.csv | 264 +- .../configs/auto_ownership.csv | 50 +- .../configs/auto_ownership.yaml | 12 +- .../configs/auto_ownership_coeffs.csv | 68 + .../prototype_mwcog/configs/cdap.yaml | 34 + .../cdap_fixed_relative_proportions.csv | 9 + .../configs/cdap_indiv_and_hhsize1.csv | 70 + .../configs/cdap_interaction_coefficients.csv | 280 +- .../prototype_mwcog/configs/constants.yaml | 144 + .../configs/destination_choice_size_terms.csv | 26 + .../configs/free_parking.csv | 12 +- .../prototype_mwcog/configs/free_parking.yaml | 14 + ..._parking_annotate_persons_preprocessor.csv | 4 +- .../configs/free_parking_coeffs.csv | 18 +- .../configs/initialize_households.yaml | 21 + .../configs/initialize_landuse.yaml | 14 +- .../configs/joint_tour_composition.csv | 42 +- .../configs/joint_tour_composition.yaml | 22 +- ...ition_annotate_households_preprocessor.csv | 44 +- .../configs/joint_tour_composition_coeffs.csv | 64 +- .../configs/joint_tour_destination.csv | 17 + .../configs/joint_tour_destination.yaml | 54 + .../configs/joint_tour_destination_coeffs.csv | 39 + .../configs/joint_tour_destination_sample.csv | 15 + .../configs/joint_tour_frequency.csv | 156 +- .../configs/joint_tour_frequency.yaml | 22 +- .../joint_tour_frequency_alternatives.csv | 23 + ...uency_annotate_households_preprocessor.csv | 64 +- .../configs/joint_tour_frequency_coeffs.csv | 212 +- .../configs/joint_tour_participation.csv | 134 +- .../configs/joint_tour_participation.yaml | 40 +- ...ion_annotate_participants_preprocessor.csv | 48 +- .../joint_tour_participation_coeffs.csv | 136 +- .../configs/joint_tour_scheduling.yaml | 25 +- ...scheduling_annotate_tours_preprocessor.csv | 4 +- .../configs/logging.yaml | 106 +- .../configs/mandatory_tour_frequency.csv | 101 + .../configs/mandatory_tour_frequency.yaml | 20 +- .../mandatory_tour_frequency_alternatives.csv | 14 +- .../mandatory_tour_frequency_coeffs.csv | 108 +- .../configs/mandatory_tour_scheduling.yaml | 57 + ...scheduling_annotate_tours_preprocessor.csv | 8 +- .../prototype_mwcog/configs/network_los.yaml | 19 + .../non_mandatory_tour_destination.csv | 21 + .../non_mandatory_tour_destination.yaml | 79 + .../non_mandatory_tour_destination_coeffs.csv | 45 + .../non_mandatory_tour_destination_sample.csv | 19 + .../configs/non_mandatory_tour_frequency.csv | 223 + .../configs/non_mandatory_tour_frequency.yaml | 84 +- ..._mandatory_tour_frequency_alternatives.csv | 97 + ...requency_annotate_persons_preprocessor.csv | 42 +- ...ry_tour_frequency_coeffs_PTYPE_DRIVING.csv | 217 + ...atory_tour_frequency_coeffs_PTYPE_FULL.csv | 223 + ...ry_tour_frequency_coeffs_PTYPE_NONWORK.csv | 217 + ...atory_tour_frequency_coeffs_PTYPE_PART.csv | 223 + ..._tour_frequency_coeffs_PTYPE_PRESCHOOL.csv | 217 + ...ry_tour_frequency_coeffs_PTYPE_RETIRED.csv | 217 + ...ory_tour_frequency_coeffs_PTYPE_SCHOOL.csv | 217 + ...tour_frequency_coeffs_PTYPE_UNIVERSITY.csv | 223 + ...ndatory_tour_frequency_extension_probs.csv | 193 + .../non_mandatory_tour_scheduling.yaml | 0 ...scheduling_annotate_tours_preprocessor.csv | 10 +- .../configs/school_location.csv | 22 + .../configs/school_location.yaml | 70 + .../configs/school_location_coeffs.csv | 18 + .../configs/school_location_sample.csv | 34 +- .../prototype_mwcog/configs/settings.yaml | 155 + .../configs/shadow_pricing.yaml | 68 +- .../configs/stop_frequency.yaml | 83 + .../configs/stop_frequency_alternatives.csv | 36 +- ..._frequency_annotate_tours_preprocessor.csv | 47 + .../configs/stop_frequency_atwork.csv | 13 + .../stop_frequency_coefficients_atwork.csv | 32 + .../stop_frequency_coefficients_eatout.csv | 93 + .../stop_frequency_coefficients_escort.csv | 88 + .../stop_frequency_coefficients_othdiscr.csv | 90 + .../stop_frequency_coefficients_othmaint.csv | 98 + .../stop_frequency_coefficients_school.csv | 36 + .../stop_frequency_coefficients_shopping.csv | 93 + .../stop_frequency_coefficients_social.csv | 93 + .../stop_frequency_coefficients_univ.csv | 35 + .../stop_frequency_coefficients_work.csv | 49 + .../configs/stop_frequency_eatout.csv | 56 + .../configs/stop_frequency_escort.csv | 50 + .../configs/stop_frequency_othdiscr.csv | 52 + .../configs/stop_frequency_othmaint.csv | 53 + .../configs/stop_frequency_school.csv | 44 + .../configs/stop_frequency_shopping.csv | 53 + .../configs/stop_frequency_social.csv | 56 + .../configs/stop_frequency_univ.csv | 45 + .../configs/stop_frequency_work.csv | 45 + .../configs/telecommute_frequency.csv | 21 + .../configs/telecommute_frequency.yaml | 18 +- .../configs/telecommute_frequency_coeffs.csv | 61 + ...ur_departure_and_duration_alternatives.csv | 2354 +- .../tour_departure_and_duration_segments.csv | 50 + .../configs/tour_mode_choice.csv | 335 + .../configs/tour_mode_choice.yaml | 114 + ..._choice_annotate_choosers_preprocessor.csv | 88 + .../configs/tour_mode_choice_coeffs.csv | 454 + .../tour_mode_choice_coeffs_template.csv | 118 + .../configs/tour_scheduling_atwork.csv | 50 + .../configs/tour_scheduling_atwork.yaml | 30 +- .../configs/tour_scheduling_atwork_coeffs.csv | 47 + .../tour_scheduling_atwork_preprocessor.csv | 6 +- .../configs/tour_scheduling_joint.csv | 630 +- .../configs/tour_scheduling_joint_coeffs.csv | 307 + .../tour_scheduling_nonmandatory_eatout.csv | 60 + ...uling_nonmandatory_eatout_coefficients.csv | 0 .../tour_scheduling_nonmandatory_escort.csv | 0 ...uling_nonmandatory_escort_coefficients.csv | 0 .../tour_scheduling_nonmandatory_othdiscr.csv | 55 + ...ing_nonmandatory_othdiscr_coefficients.csv | 0 .../tour_scheduling_nonmandatory_othmaint.csv | 54 + ...ing_nonmandatory_othmaint_coefficients.csv | 0 .../tour_scheduling_nonmandatory_shopping.csv | 54 + ...ing_nonmandatory_shopping_coefficients.csv | 0 .../tour_scheduling_nonmandatory_social.csv | 54 + ...uling_nonmandatory_social_coefficients.csv | 0 .../configs/tour_scheduling_school.csv | 59 + .../configs/tour_scheduling_school_coeffs.csv | 118 +- .../configs/tour_scheduling_university.csv | 42 + .../tour_scheduling_university_coeffs.csv | 84 +- .../configs/tour_scheduling_work.csv | 200 +- .../configs/tour_scheduling_work_coeffs.csv | 194 +- .../configs/transit_pass_ownership.csv | 21 + .../configs/transit_pass_ownership.yaml | 0 .../configs/transit_pass_ownership_coeffs.csv | 0 .../configs/transit_pass_subsidy.csv | 12 + .../configs/transit_pass_subsidy.yaml | 0 .../configs/transit_pass_subsidy_coeffs.csv | 0 .../configs/trip_destination.csv | 17 + .../configs/trip_destination.yaml | 44 + ...estination_annotate_trips_preprocessor.csv | 9 + .../configs/trip_destination_coefficients.csv | 19 + .../configs/trip_destination_sample.csv | 36 +- .../configs/trip_mode_choice.csv | 455 + .../configs/trip_mode_choice.yaml | 148 + ...ode_choice_annotate_trips_preprocessor.csv | 101 + .../configs/trip_mode_choice_coefficients.csv | 557 + ...trip_mode_choice_coefficients_template.csv | 88 + .../configs/trip_purpose.yaml | 14 +- .../configs/trip_purpose_and_destination.yaml | 12 +- ...ip_purpose_annotate_trips_preprocessor.csv | 10 +- .../configs/trip_purpose_probs.csv | 264 +- .../configs/trip_scheduling.yaml | 20 +- .../configs/trip_scheduling_probs.csv | 3457 ++ .../configs/work_from_home.csv | 15 + .../configs/work_from_home.yaml | 12 + .../configs/work_from_home_coeffs.csv | 30 +- .../configs/workplace_location.csv | 20 + .../configs/workplace_location.yaml | 81 + .../configs/workplace_location_coeffs.csv | 15 + .../configs/workplace_location_sample.csv | 17 + .../configs/write_trip_matrices.yaml | 259 + ...p_matrices_annotate_trips_preprocessor.csv | 109 + .../prototype_mwcog/configs_mp/logging.yaml | 57 + .../prototype_mwcog/configs_mp/settings.yaml | 92 + .../configs_mp/settings_source.yaml | 95 + .../configs_mp/shadow_pricing.yaml | 74 +- .../LU_taz3722_rnd91a_2018_adj_enrollment.csv | 54 + .../data/combined_synthetic_hh_2018.csv | 29973 ++++++++++++ .../data/combined_synthetic_per_2018.csv | 40138 ++++++++++++++++ .../prototype_mwcog/data/land_use.csv | 54 + .../examples/prototype_mwcog/data/skims.omx | Bin 0 -> 5728575 bytes .../prototype_mwcog/data/taz_skims.omx | Bin 0 -> 8630453 bytes .../extensions/__init__.py | 2 +- .../extensions/telecommute_frequency.py | 203 +- .../extensions/transit_pass_ownership.py | 36 +- .../extensions/transit_pass_subsidy.py | 36 +- .../extensions/work_from_home.py | 104 + .../prototype_mwcog/scripts/mwcog_crop.py | 399 + .../simulation.py | 34 +- .../test/configs/settings.yaml | 5 +- .../test}/output/.gitignore | 0 .../test}/output/cache/.gitignore | 0 .../test/output/trace}/.gitignore | 0 .../test/regress/final_trips.csv | 50 + .../prototype_mwcog/test/test_mwcog.py | 60 + .../README.md | 0 .../configs/annotate_households.csv | 0 .../configs/annotate_landuse.csv | 0 .../configs/annotate_persons.csv | 0 .../configs/annotate_tours.csv | 0 .../configs}/constants.yaml | 128 +- .../configs/destination_choice_size_terms.csv | 20 +- .../configs/estimation.yaml | 0 .../configs/initialize_households.yaml | 0 .../configs/initialize_landuse.yaml | 0 .../configs/initialize_tours.yaml | 0 .../configs/logging.yaml | 108 +- .../configs/network_los.yaml | 312 +- .../configs/preprocessing.yaml | 0 .../configs/settings.yaml | 314 +- .../configs/shadow_pricing.yaml | 0 .../configs/stop_frequency.yaml | 0 .../configs/stop_frequency_alternatives.csv | 0 ..._frequency_annotate_tours_preprocessor.csv | 0 .../stop_frequency_coefficients_cargo.csv | 0 .../stop_frequency_coefficients_other.csv | 0 .../stop_frequency_coefficients_school.csv | 0 .../stop_frequency_coefficients_shop.csv | 0 .../stop_frequency_coefficients_visit.csv | 0 .../stop_frequency_coefficients_work.csv | 0 .../configs/stop_frequency_other.csv | 0 .../configs/stop_frequency_school.csv | 0 .../configs/stop_frequency_shop.csv | 0 .../configs/stop_frequency_visit.csv | 0 .../configs/stop_frequency_work.csv | 0 ...ur_departure_and_duration_alternatives.csv | 0 .../configs/tour_mode_choice.csv | 66 +- .../configs/tour_mode_choice.yaml | 138 +- ..._choice_annotate_choosers_preprocessor.csv | 20 +- .../configs/tour_mode_choice_coefficients.csv | 120 +- ...tour_mode_choice_coefficients_template.csv | 66 +- .../configs/tour_od_choice.csv | 44 +- .../configs/tour_od_choice.yaml | 0 ..._choice_annotate_choosers_preprocessor.csv | 0 .../configs/tour_od_choice_coefficients.csv | 0 .../configs/tour_od_choice_sample.csv | 0 .../configs/tour_purpose_probs_by_poe.csv | 0 .../tour_scheduling_probabilistic.yaml | 0 .../configs/tour_scheduling_probs.csv | 0 .../configs/trip_destination.csv | 30 +- .../configs/trip_destination.yaml | 0 ...estination_annotate_trips_preprocessor.csv | 0 .../configs/trip_destination_coefficients.csv | 0 .../configs/trip_destination_sample.csv | 24 +- .../configs/trip_mode_choice.csv | 186 +- .../configs/trip_mode_choice.yaml | 0 ...ode_choice_annotate_trips_preprocessor.csv | 0 .../configs/trip_mode_choice_coefficients.csv | 146 +- ...trip_mode_choice_coefficients_template.csv | 0 .../configs/trip_purpose.yaml | 0 ...ip_purpose_annotate_trips_preprocessor.csv | 0 .../configs/trip_purpose_probs.csv | 0 .../configs/trip_scheduling.yaml | 0 .../configs/trip_scheduling_probs.csv | 0 .../configs/tvpb_utility_drive_maz_tap.csv | 6 +- .../configs/tvpb_utility_tap_tap.csv | 64 +- ...tap_tap_annotate_choosers_preprocessor.csv | 126 +- .../configs/tvpb_utility_walk_maz_tap.csv | 8 +- .../configs/wait_time_mode.yaml | 248 +- .../configs/write_trip_matrices.yaml | 216 +- ...p_matrices_annotate_trips_preprocessor.csv | 110 +- .../data/.gitignore | 0 .../data/households_xborder.csv | 0 .../data/maz_maz_walk.csv | 0 .../data/maz_tap_walk.csv | 0 .../data/mazs_xborder.csv | 0 .../data/persons_xborder.csv | 0 .../data/tap_lines.csv | 0 .../data/taps.csv | 0 .../data/tours_xborder.csv | 0 .../data/traffic_skims_xborder_AM.omx | Bin .../data/traffic_skims_xborder_EA.omx | Bin .../data/traffic_skims_xborder_EV.omx | Bin .../data/traffic_skims_xborder_MD.omx | Bin .../data/traffic_skims_xborder_PM.omx | Bin .../data/transit_skims_xborder.omx | Bin .../extensions/.gitignore | 0 .../extensions/__init__.py | 0 .../extensions/reassign_tour_purpose.py | 53 + .../notebooks/cross_border_validation.ipynb | 0 .../output/.gitignore | 0 .../reduce_sandag_cb_skims_for_github.py | 73 + .../scripts/sandag_crop_3_zone.py | 72 +- .../simulation.py | 10 +- .../test/configs/network_los.yaml | 6 + .../test/configs/settings.yaml | 0 .../test/output/.gitignore | 0 .../test/regress/final_trips.csv | 0 .../test/test_sandag_xborder.py | 56 + .../examples/prototype_semcog/.gitignore | 2 + .../README.MD | 0 .../change_log.txt | 0 .../configs/_dummy_coefficients.csv | 2 + .../configs/accessibility.csv | 118 +- .../configs/accessibility.yaml | 26 +- .../configs/annotate_households.csv | 84 +- .../configs/annotate_households_cdap.csv | 9 + .../configs/annotate_households_workplace.csv | 5 + .../configs/annotate_landuse.csv | 10 +- .../configs/annotate_persons.csv | 134 +- .../configs/annotate_persons_after_hh.csv | 44 +- .../configs/annotate_persons_cdap.csv | 14 +- .../configs/annotate_persons_jtp.csv | 3 + .../configs/annotate_persons_mtf.csv | 10 + .../configs/annotate_persons_nmtf.csv | 15 + .../configs/annotate_persons_school.csv | 7 + .../configs/annotate_persons_workplace.csv | 64 +- .../configs/atwork_subtour_destination.csv | 24 +- .../configs/atwork_subtour_destination.yaml | 52 +- .../atwork_subtour_destination_coeffs.csv | 18 +- .../atwork_subtour_destination_sample.csv | 20 +- .../configs/atwork_subtour_frequency.csv | 23 + .../configs/atwork_subtour_frequency.yaml | 11 + .../atwork_subtour_frequency_alternatives.csv | 8 + ..._frequency_annotate_tours_preprocessor.csv | 9 + .../atwork_subtour_frequency_coeffs.csv | 133 + .../configs/auto_ownership.csv | 25 + .../configs/auto_ownership.yaml | 6 + .../configs/auto_ownership_coeffs.csv | 136 +- .../configs/cdap.yaml | 72 +- .../cdap_fixed_relative_proportions.csv | 22 +- .../configs/cdap_indiv_and_hhsize1.csv | 132 +- .../configs/cdap_interaction_coefficients.csv | 140 + .../configs/constants.yaml | 126 +- .../configs/destination_choice_size_terms.csv | 52 +- .../prototype_semcog/configs/free_parking.csv | 6 + .../configs/free_parking.yaml | 28 +- ..._parking_annotate_persons_preprocessor.csv | 2 + .../configs/free_parking_coeffs.csv | 9 + .../configs/initialize_households.yaml | 46 +- .../configs/initialize_landuse.yaml | 7 + .../configs/joint_tour_composition.csv | 22 + .../configs/joint_tour_composition.yaml | 11 + ...ition_annotate_households_preprocessor.csv | 22 + .../configs/joint_tour_composition_coeffs.csv | 64 +- .../configs/joint_tour_destination.csv | 30 +- .../configs/joint_tour_destination.yaml | 104 +- .../configs/joint_tour_destination_coeffs.csv | 78 +- .../configs/joint_tour_destination_sample.csv | 26 +- .../configs/joint_tour_frequency.csv | 78 + .../configs/joint_tour_frequency.yaml | 11 + .../joint_tour_frequency_alternatives.csv | 23 + ...uency_annotate_households_preprocessor.csv | 32 + .../configs/joint_tour_frequency_coeffs.csv | 106 + .../configs/joint_tour_participation.csv | 67 + .../configs/joint_tour_participation.yaml | 20 + ...ion_annotate_participants_preprocessor.csv | 24 + .../joint_tour_participation_coeffs.csv | 136 +- .../configs/joint_tour_scheduling.yaml | 12 + ...scheduling_annotate_tours_preprocessor.csv | 2 + .../prototype_semcog/configs/logging.yaml | 53 + .../configs/mandatory_tour_frequency.csv | 101 + .../configs/mandatory_tour_frequency.yaml | 10 + .../mandatory_tour_frequency_alternatives.csv | 7 + .../mandatory_tour_frequency_coeffs.csv | 54 + .../configs/mandatory_tour_scheduling.yaml | 104 +- ..._scheduling_annotate_alts_preprocessor.csv | 8 +- ...scheduling_annotate_tours_preprocessor.csv | 4 + .../configs/network_los.yaml | 28 +- .../non_mandatory_tour_destination.csv | 38 +- .../non_mandatory_tour_destination.yaml | 124 +- .../non_mandatory_tour_destination_coeffs.csv | 88 +- .../non_mandatory_tour_destination_sample.csv | 34 +- .../configs/non_mandatory_tour_frequency.csv | 420 +- .../configs/non_mandatory_tour_frequency.yaml | 42 + ..._mandatory_tour_frequency_alternatives.csv | 97 + ...requency_annotate_persons_preprocessor.csv | 21 + ...ry_tour_frequency_coeffs_PTYPE_DRIVING.csv | 420 +- ...atory_tour_frequency_coeffs_PTYPE_FULL.csv | 420 +- ...ry_tour_frequency_coeffs_PTYPE_NONWORK.csv | 420 +- ...atory_tour_frequency_coeffs_PTYPE_PART.csv | 420 +- ..._tour_frequency_coeffs_PTYPE_PRESCHOOL.csv | 420 +- ...ry_tour_frequency_coeffs_PTYPE_RETIRED.csv | 420 +- ...ory_tour_frequency_coeffs_PTYPE_SCHOOL.csv | 420 +- ...tour_frequency_coeffs_PTYPE_UNIVERSITY.csv | 420 +- ...ndatory_tour_frequency_extension_probs.csv | 193 + .../non_mandatory_tour_scheduling.yaml | 93 + ..._scheduling_annotate_alts_preprocessor.csv | 0 ...cheduling_annotate_shifts_preprocessor.csv | 30 +- ...scheduling_annotate_tours_preprocessor.csv | 5 + ...ling_escort_annotate_alts_preprocessor.csv | 0 ...ng_shopping_annotate_alts_preprocessor.csv | 0 .../configs/school_location.csv | 38 +- .../configs/school_location.yaml | 124 +- .../configs/school_location_coeffs.csv | 30 +- .../configs/school_location_sample.csv | 17 + .../configs/settings.yaml | 312 +- .../configs/shadow_pricing.yaml | 68 +- .../configs/stop_frequency.yaml | 156 +- .../configs/stop_frequency_alternatives.csv | 18 + ..._frequency_annotate_tours_preprocessor.csv | 94 +- .../configs/stop_frequency_atwork.csv | 26 +- .../configs/stop_frequency_eatout.csv | 108 +- .../configs/stop_frequency_escort.csv | 96 +- .../configs/stop_frequency_othdiscr.csv | 100 +- .../configs/stop_frequency_othmaint.csv | 102 +- .../configs/stop_frequency_school.csv | 90 +- .../configs/stop_frequency_shopping.csv | 102 +- .../configs/stop_frequency_social.csv | 108 +- .../configs/stop_frequency_univ.csv | 90 +- .../configs/stop_frequency_work.csv | 92 +- .../configs/telecommute_frequency.csv | 42 +- .../configs/telecommute_frequency.yaml | 9 + .../configs/telecommute_frequency_coeffs.csv | 116 +- ...ur_departure_and_duration_alternatives.csv | 1177 + .../tour_departure_and_duration_segments.csv | 0 .../configs/tour_mode_choice.csv | 646 +- .../configs/tour_mode_choice.yaml | 406 +- ..._choice_annotate_choosers_preprocessor.csv | 194 +- .../configs/tour_mode_choice_coeffs.csv | 698 +- .../tour_mode_choice_coeffs_template.csv | 194 +- .../configs/tour_scheduling_atwork.csv | 100 +- .../configs/tour_scheduling_atwork.yaml | 16 + .../configs/tour_scheduling_atwork_coeffs.csv | 94 +- .../tour_scheduling_atwork_preprocessor.csv | 3 + .../configs/tour_scheduling_joint.csv | 315 + .../configs/tour_scheduling_joint_coeffs.csv | 800 +- .../configs/tour_scheduling_nonmandatory.csv | 696 +- .../tour_scheduling_nonmandatory_coeffs.csv | 674 +- .../tour_scheduling_nonmandatory_eatout.csv | 0 ...uling_nonmandatory_eatout_coefficients.csv | 59 + .../tour_scheduling_nonmandatory_escort.csv | 76 + ...uling_nonmandatory_escort_coefficients.csv | 72 + .../tour_scheduling_nonmandatory_othdiscr.csv | 0 ...ing_nonmandatory_othdiscr_coefficients.csv | 53 + .../tour_scheduling_nonmandatory_othmaint.csv | 0 ...ing_nonmandatory_othmaint_coefficients.csv | 53 + .../tour_scheduling_nonmandatory_shift_in.csv | 696 +- ...tour_scheduling_nonmandatory_shift_out.csv | 696 +- .../tour_scheduling_nonmandatory_shopping.csv | 0 ...ing_nonmandatory_shopping_coefficients.csv | 53 + .../tour_scheduling_nonmandatory_social.csv | 0 ...uling_nonmandatory_social_coefficients.csv | 52 + .../configs/tour_scheduling_school.csv | 118 +- .../configs/tour_scheduling_school_coeffs.csv | 59 + .../configs/tour_scheduling_university.csv | 84 +- .../tour_scheduling_university_coeffs.csv | 42 + .../configs/tour_scheduling_work.csv | 100 + .../configs/tour_scheduling_work_coeffs.csv | 97 + .../configs/transit_pass_ownership.csv | 0 .../configs/transit_pass_ownership.yaml | 7 + .../configs/transit_pass_ownership_coeffs.csv | 20 + .../configs/transit_pass_subsidy.csv | 0 .../configs/transit_pass_subsidy.yaml | 7 + .../configs/transit_pass_subsidy_coeffs.csv | 10 + .../configs/trip_destination.csv | 34 +- .../configs/trip_destination.yaml | 72 +- ...estination_annotate_trips_preprocessor.csv | 18 +- .../configs/trip_destination_sample.csv | 18 + .../configs/trip_mode_choice.csv | 798 +- .../configs/trip_mode_choice.yaml | 368 +- ...ode_choice_annotate_trips_preprocessor.csv | 178 +- .../configs/trip_mode_choice_coeffs.csv | 210 +- .../configs/trip_purpose.yaml | 7 + .../configs/trip_purpose_and_destination.yaml | 6 + ...ip_purpose_annotate_trips_preprocessor.csv | 5 + .../configs/trip_purpose_probs.csv | 132 + .../configs/trip_scheduling.yaml | 10 + .../configs/trip_scheduling_probs.csv | 6914 +-- .../configs/work_from_home.csv | 30 +- .../configs/work_from_home.yaml | 36 +- .../configs/work_from_home_coeffs.csv | 15 + .../configs/workplace_location.csv | 32 +- .../configs/workplace_location.yaml | 154 +- .../configs/workplace_location_coeffs.csv | 22 +- .../configs/workplace_location_sample.csv | 28 +- .../configs/write_trip_matrices.yaml | 516 +- ...p_matrices_annotate_trips_preprocessor.csv | 240 +- .../prototype_semcog/configs_mp/logging.yaml | 57 + .../configs_mp/settings.yaml | 194 +- .../configs_mp/shadow_pricing.yaml | 37 + .../data/households.csv | 0 .../data/land_use.csv | 0 .../data/persons.csv | 0 .../data/skims.omx | Bin .../prototype_semcog/extensions/__init__.py | 6 + .../extensions/telecommute_frequency.py | 96 + .../extensions/transit_pass_ownership.py | 86 + .../extensions/transit_pass_subsidy.py | 86 + .../extensions/work_from_home.py | 162 + .../output/.gitignore | 0 .../output/cache/.gitignore | 0 .../output/log}/.gitignore | 0 .../output/trace/.gitignore | 0 .../scripts/reindex_household_ids.py | 192 + .../scripts/semcog_crop.py | 89 +- .../test => prototype_semcog}/simulation.py | 32 +- .../test/configs/settings.yaml | 0 .../prototype_semcog/test/output/.gitignore | 7 + .../test/output/cache/.gitignore | 2 + .../test/output/trace/.gitignore | 3 + .../test/regress/final_trips.csv | 0 .../test/test_semcog.py | 38 +- .../examples/scan_examples_for_errors.py | 8 +- conda-environments/activitysim-test-larch.yml | 34 +- conda-environments/activitysim-test.yml | 32 +- conda-environments/docbuild.yml | 52 + conda-environments/github-actions-tests.yml | 33 + docs/_static/switcher.json | 16 + docs/_static/theme_overrides.css | 13 +- docs/_templates/version-date.html | 4 + docs/add_image_map.py | 5 +- docs/benchmarking.rst | 6 +- docs/cli.rst | 4 +- docs/conf.py | 116 +- docs/core.rst | 12 +- docs/dev-guide/index.rst | 29 + docs/dev-guide/install.md | 70 + docs/development.rst | 42 +- docs/estimation.rst | 54 +- docs/examples.rst | 357 +- docs/gettingstarted.rst | 66 +- docs/index.rst | 60 +- docs/models.rst | 388 +- docs/users-guide/configuration.rst | 24 + docs/users-guide/index.rst | 31 + ez_setup.py | 351 - other_resources/scripts/build_omx.py | 86 +- other_resources/scripts/create_sf_example.py | 53 +- .../scripts/make_pipeline_output.py | 46 +- other_resources/scripts/omx32.py | 25 +- other_resources/scripts/simulation.py | 61 +- other_resources/scripts/verify_results.py | 499 +- other_resources/verification/simulation.py | 66 +- pyproject.toml | 34 + pytest.ini | 6 - setup.cfg | 49 +- setup.py | 45 +- 1644 files changed, 150412 insertions(+), 50178 deletions(-) create mode 100644 .github/workflows/branch-docs.yml create mode 100644 .github/workflows/config-testpypi-version.py create mode 100644 .github/workflows/core_tests.yml create mode 100644 .github/workflows/deployment.yml create mode 100644 .github/workflows/localize-base-urls.py create mode 100644 .github/workflows/test-deploy.yml create mode 100644 .pre-commit-config.yaml delete mode 100644 .travis.yml create mode 100644 activitysim/__main__.py create mode 100644 activitysim/abm/models/disaggregate_accessibility.py create mode 100644 activitysim/abm/models/school_escorting.py create mode 100644 activitysim/abm/models/util/annotate.py create mode 100644 activitysim/abm/models/util/school_escort_tours_trips.py rename activitysim/{examples/example_mtc => abm/models/util/test}/configs/atwork_subtour_frequency_alternatives.csv (100%) rename activitysim/{examples/example_mtc => abm/models/util/test}/configs/joint_tour_frequency_alternatives.csv (100%) rename activitysim/{examples/example_mtc => abm/models/util/test}/configs/mandatory_tour_frequency.csv (100%) rename activitysim/{examples/example_mtc => abm/models/util/test}/configs/mandatory_tour_frequency.yaml (100%) rename activitysim/{examples/example_arc => abm/models/util/test}/configs/non_mandatory_tour_frequency_alternatives.csv (100%) rename activitysim/{examples/example_arc => abm/models/util/test}/configs/non_mandatory_tour_frequency_extension_probs.csv (100%) create mode 100644 activitysim/abm/models/util/test/test_flexible_tour_trip_ids.py create mode 100644 activitysim/abm/tables/disaggregate_accessibility.py create mode 100644 activitysim/core/configuration.py rename activitysim/estimation/test/test_larch_estimation/{test_location_model_atwork_subtour_destination_BHHH_.csv => test_location_model_atwork_subtour_destination_BHHH_None_.csv} (100%) rename activitysim/estimation/test/test_larch_estimation/{test_location_model_non_mandatory_tour_destination_SLSQP_.csv => test_location_model_non_mandatory_tour_destination_SLSQP_None_.csv} (100%) rename activitysim/estimation/test/test_larch_estimation/{test_location_model_school_location_SLSQP_.csv => test_location_model_school_location_SLSQP_None_.csv} (100%) rename activitysim/estimation/test/test_larch_estimation/{test_location_model_trip_destination_SLSQP_.csv => test_location_model_trip_destination_SLSQP_0_12_.csv} (100%) rename activitysim/estimation/test/test_larch_estimation/{test_location_model_workplace_location_SLSQP_.csv => test_location_model_workplace_location_SLSQP_None_.csv} (100%) delete mode 100644 activitysim/examples/example_mtc/test/test_mtc.py delete mode 100644 activitysim/examples/example_mtc_extended/README.MD delete mode 100644 activitysim/examples/example_mtc_extended/test/regress/final_trips.csv delete mode 100644 activitysim/examples/example_mtc_extended/test/test_mtc_extended.py delete mode 100755 activitysim/examples/example_multiple_zone/test/simulation.py delete mode 100644 activitysim/examples/example_multiple_zone/test/test_multiple_zone.py delete mode 100755 activitysim/examples/example_psrc/test/simulation.py delete mode 100644 activitysim/examples/example_sandag/configs_3_zone/notes.txt delete mode 100644 activitysim/examples/example_sandag/data_2/maz_to_maz_bike.csv delete mode 100644 activitysim/examples/example_sandag/run_sandag.txt delete mode 100644 activitysim/examples/example_sandag/test/regress/final_2_zone_tours.csv delete mode 100755 activitysim/examples/example_sandag/test/simulation.py delete mode 100644 activitysim/examples/example_sandag/test/test_sandag.py delete mode 100644 activitysim/examples/example_sandag_xborder/extensions/reassign_tour_purpose.py delete mode 100644 activitysim/examples/example_sandag_xborder/scripts/reduce_sandag_cb_skims_for_github.py delete mode 100644 activitysim/examples/example_sandag_xborder/test/test_sandag_xborder.py delete mode 100755 activitysim/examples/example_semcog/extensions/work_from_home.py delete mode 100644 activitysim/examples/example_semcog/scripts/reindex_household_ids.py rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/.gitignore (100%) rename activitysim/examples/{example_marin => placeholder_multiple_zone}/README.MD (55%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_1_zone/network_los.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_1_zone/non_mandatory_tour_destination.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_1_zone/settings.yaml (100%) rename activitysim/examples/{example_mtc/configs => placeholder_multiple_zone/configs_2_zone}/accessibility.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_2_zone/network_los.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_2_zone/settings.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/_bugs.txt (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/accessibility.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/annotate_households_workplace.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/annotate_persons_workplace.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/auto_ownership.csv (100%) rename activitysim/examples/{example_marin/configs => placeholder_multiple_zone/configs_3_zone}/destination_choice_size_terms.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/network_los.yaml (96%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/settings.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/settings_mp.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/settings_static.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/stop_frequency.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/tour_mode_choice.csv (99%) rename activitysim/examples/{example_sandag => placeholder_multiple_zone}/configs_3_zone/tour_mode_choice.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/trip_mode_choice.csv (99%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/trip_mode_choice.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/tvpb_accessibility_tap_tap_.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv (100%) rename activitysim/examples/{example_sandag => placeholder_multiple_zone}/configs_3_zone/tvpb_utility_drive_maz_tap.csv (100%) rename activitysim/examples/{example_sandag => placeholder_multiple_zone}/configs_3_zone/tvpb_utility_tap_tap.csv (100%) rename activitysim/examples/{example_sandag => placeholder_multiple_zone}/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv (100%) rename activitysim/examples/{example_sandag => placeholder_multiple_zone}/configs_3_zone/tvpb_utility_walk_maz_tap.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/write_trip_matrices.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_marin/configs => placeholder_multiple_zone/configs_3_zone_marin}/annotate_households.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone_marin/annotate_persons.csv (100%) rename activitysim/examples/{example_marin/configs => placeholder_multiple_zone/configs_3_zone_marin}/annotate_tours.csv (100%) rename activitysim/examples/{example_marin/configs => placeholder_multiple_zone/configs_3_zone_marin}/constants.yaml (95%) rename activitysim/examples/{example_marin/configs => placeholder_multiple_zone/configs_3_zone_marin}/initialize_households.yaml (100%) rename activitysim/examples/{example_marin/configs => placeholder_multiple_zone/configs_3_zone_marin}/initialize_landuse.yaml (100%) rename activitysim/examples/{example_marin/configs => placeholder_multiple_zone/configs_3_zone_marin}/initialize_tours.yaml (100%) rename activitysim/examples/{example_marin/configs => placeholder_multiple_zone/configs_3_zone_marin}/logging.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone_marin/network_los.yaml (96%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone_marin/settings.yaml (95%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone_marin/settings_mp.yaml (100%) rename activitysim/examples/{example_marin/configs => placeholder_multiple_zone/configs_3_zone_marin}/shadow_pricing.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone_marin/tour_mode_choice.csv (99%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone_marin/tour_mode_choice.yaml (95%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv (98%) rename activitysim/examples/{example_psrc/configs => placeholder_multiple_zone/configs_3_zone_marin}/tour_mode_choice_coeffs.csv (97%) rename activitysim/examples/{example_mtc/configs/tour_mode_choice_coefficients_template.csv => placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv (99%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone_marin/tvpb_utility_tap_tap.csv (99%) rename activitysim/examples/{example_marin/configs => placeholder_multiple_zone/configs_3_zone_marin}/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv (99%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv (98%) rename activitysim/examples/{example_mtc => placeholder_multiple_zone}/data/households.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/data/land_use.csv (100%) rename activitysim/examples/{example_mtc => placeholder_multiple_zone}/data/mtc_asim.h5 (100%) rename activitysim/examples/{example_mtc => placeholder_multiple_zone}/data/override_hh_ids.csv (100%) rename activitysim/examples/{example_mtc => placeholder_multiple_zone}/data/persons.csv (100%) rename activitysim/examples/{example_mtc => placeholder_multiple_zone}/data/skims.omx (100%) rename activitysim/examples/{example_multiple_zone/data => placeholder_multiple_zone/data_1}/households.csv (100%) rename activitysim/examples/{example_mtc/data => placeholder_multiple_zone/data_1}/land_use.csv (100%) rename activitysim/examples/{example_multiple_zone/data => placeholder_multiple_zone/data_1}/persons.csv (100%) rename activitysim/examples/{example_multiple_zone/data => placeholder_multiple_zone/data_1}/skims.omx (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/data_2/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/data_3/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/marin_crop.py (73%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/marin_fix.py (83%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/marin_work_tour_mode_choice_data.py (72%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/notes.txt (89%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/output/mem.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/output/pipeline.h5 (100%) rename activitysim/examples/{example_arc/test/output => placeholder_multiple_zone/output_1}/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/output_1/cache/.gitignore (100%) rename activitysim/examples/{example_arc/output/log => placeholder_multiple_zone/output_1/trace}/.gitignore (100%) rename activitysim/examples/{example_marin/output => placeholder_multiple_zone/output_2}/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/output_2/cache/.gitignore (100%) rename activitysim/examples/{example_arc/output => placeholder_multiple_zone/output_2}/trace/.gitignore (100%) rename activitysim/examples/{example_marin/test/output => placeholder_multiple_zone/output_3}/.gitignore (100%) rename activitysim/examples/{example_arc/output => placeholder_multiple_zone/output_3}/cache/.gitignore (100%) rename activitysim/examples/{example_arc/test/output => placeholder_multiple_zone/output_3}/trace/.gitignore (100%) rename activitysim/examples/{example_mtc/test/output => placeholder_multiple_zone/output_3_example_marin_mp}/.gitignore (100%) rename activitysim/examples/{example_arc/test/output => placeholder_multiple_zone/output_3_example_marin_mp}/cache/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/output_3_example_marin_mp/log/.gitignore (100%) rename activitysim/examples/{example_marin/output/log => placeholder_multiple_zone/output_3_example_marin_mp/trace}/.gitignore (100%) rename activitysim/examples/{example_mtc_extended/output => placeholder_multiple_zone/output_3_mp}/.gitignore (100%) rename activitysim/examples/{example_marin/output => placeholder_multiple_zone/output_3_mp}/cache/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/output_3_mp/log/.gitignore (100%) rename activitysim/examples/{example_marin/output => placeholder_multiple_zone/output_3_mp}/trace/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/scripts/notes.txt (72%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/scripts/three_zone_example_data.py (58%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/scripts/two_zone_example_data.py (57%) rename activitysim/examples/{example_mtc_extended/test => placeholder_multiple_zone}/simulation.py (90%) rename activitysim/examples/{example_mtc/test/configs => placeholder_multiple_zone/test/configs_2_zone}/network_los.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/test/configs_2_zone/settings.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/test/configs_2_zone/settings_mp.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/test/configs_3_zone/network_los.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/test/configs_3_zone/settings.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/test/configs_3_zone/settings_mp.yaml (100%) rename activitysim/examples/{example_mtc_extended => placeholder_multiple_zone}/test/output/.gitignore (100%) rename activitysim/examples/{example_marin => placeholder_multiple_zone}/test/output/cache/.gitignore (100%) rename activitysim/examples/{example_marin => placeholder_multiple_zone}/test/output/trace/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/test/regress/final_tours_2_zone.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/test/regress/final_tours_3_zone.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/test/regress/final_trips_2_zone.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/test/regress/final_trips_3_zone.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone/test}/simulation.py (90%) mode change 100644 => 100755 create mode 100644 activitysim/examples/placeholder_multiple_zone/test/test_multiple_zone.py rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/three_zone_example_data.py (57%) rename activitysim/examples/{example_multiple_zone => placeholder_multiple_zone}/two_zone_example_data.py (59%) rename activitysim/examples/{example_arc => placeholder_psrc}/.gitignore (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/README.MD (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/change_log.txt (99%) rename activitysim/examples/{example_arc => placeholder_psrc}/configs/_dummy_coefficients.csv (100%) rename activitysim/examples/{example_multiple_zone/configs_2_zone => placeholder_psrc/configs}/accessibility.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/accessibility.yaml (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/annotate_households.csv (98%) rename activitysim/examples/{example_semcog => placeholder_psrc}/configs/annotate_households_cdap.csv (99%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/annotate_households_workplace.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/annotate_landuse.csv (98%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/annotate_persons.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/annotate_persons_after_hh.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/annotate_persons_cdap.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/annotate_persons_jtp.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/annotate_persons_mtf.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/annotate_persons_nmtf.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/annotate_persons_school.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/annotate_persons_workplace.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/atwork_subtour_destination.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/atwork_subtour_destination.yaml (100%) rename activitysim/examples/{example_mtc/configs/atwork_subtour_destination_coefficients.csv => placeholder_psrc/configs/atwork_subtour_destination_coeffs.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/atwork_subtour_destination_sample.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/atwork_subtour_frequency.csv (99%) rename activitysim/examples/{example_arc => placeholder_psrc}/configs/atwork_subtour_frequency.yaml (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/atwork_subtour_frequency_alternatives.csv (96%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/atwork_subtour_frequency_coeffs.csv (98%) rename activitysim/examples/{example_sandag/configs_3_zone => placeholder_psrc/configs}/auto_ownership.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/auto_ownership.yaml (93%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/auto_ownership_coeffs.csv (97%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/cdap.yaml (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/cdap_coefficients.csv (100%) rename activitysim/examples/{example_arc => placeholder_psrc}/configs/cdap_fixed_relative_proportions.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/cdap_indiv_and_hhsize1.csv (99%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/cdap_interaction_coefficients.csv (94%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/constants.yaml (100%) mode change 100644 => 100755 rename activitysim/examples/{example_multiple_zone/configs_3_zone => placeholder_psrc/configs}/destination_choice_size_terms.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/free_parking.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/free_parking.yaml (93%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/free_parking_annotate_persons_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_semcog => placeholder_psrc}/configs/free_parking_coeffs.csv (96%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/initialize_households.yaml (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/initialize_landuse.yaml (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/joint_tour_composition.csv (99%) rename activitysim/examples/{example_arc => placeholder_psrc}/configs/joint_tour_composition.yaml (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/joint_tour_composition_annotate_households_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc/configs/joint_tour_composition_coefficients.csv => placeholder_psrc/configs/joint_tour_composition_coeffs.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/joint_tour_destination.yaml (96%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/joint_tour_frequency.csv (99%) mode change 100644 => 100755 rename activitysim/examples/{example_arc => placeholder_psrc}/configs/joint_tour_frequency.yaml (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/joint_tour_frequency_alternatives.csv (94%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/joint_tour_frequency_annotate_households_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc/configs/joint_tour_frequency_coefficients.csv => placeholder_psrc/configs/joint_tour_frequency_coeffs.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/joint_tour_participation.csv (99%) rename activitysim/examples/{example_semcog => placeholder_psrc}/configs/joint_tour_participation.yaml (95%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/joint_tour_participation_annotate_participants_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc/configs/joint_tour_participation_coefficients.csv => placeholder_psrc/configs/joint_tour_participation_coeffs.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_semcog => placeholder_psrc}/configs/joint_tour_scheduling.yaml (95%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/logging.yaml (95%) rename activitysim/examples/{example_semcog => placeholder_psrc}/configs/mandatory_tour_frequency.csv (99%) rename activitysim/examples/{example_semcog => placeholder_psrc}/configs/mandatory_tour_frequency.yaml (94%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/mandatory_tour_frequency_alternatives.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/mandatory_tour_frequency_coeffs.csv (97%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/mandatory_tour_scheduling.yaml (95%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/network_los.yaml (96%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/non_mandatory_tour_destination.csv (99%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/non_mandatory_tour_destination.yaml (95%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/non_mandatory_tour_destination_coeffs.csv (96%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/non_mandatory_tour_destination_sample.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/non_mandatory_tour_frequency.csv (99%) mode change 100644 => 100755 rename activitysim/examples/{example_arc => placeholder_psrc}/configs/non_mandatory_tour_frequency.yaml (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/non_mandatory_tour_frequency_alternatives.csv (92%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv => placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv => placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv => placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv => placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv => placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv => placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv => placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv => placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/non_mandatory_tour_frequency_extension_probs.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/non_mandatory_tour_scheduling.yaml (95%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/school_location.csv (99%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/school_location.yaml (96%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/school_location_coeffs.csv (96%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/school_location_sample.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/settings.yaml (95%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/settings_mp.yaml (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/shadow_pricing.yaml (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency.yaml (100%) mode change 100644 => 100755 rename activitysim/examples/{example_arc => placeholder_psrc}/configs/stop_frequency_alternatives.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_annotate_tours_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/stop_frequency_atwork.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_coefficients_atwork.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_coefficients_eatout.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_coefficients_escort.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_coefficients_othdiscr.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_coefficients_othmaint.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_coefficients_school.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_coefficients_shopping.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_coefficients_social.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_coefficients_univ.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_coefficients_work.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/stop_frequency_eatout.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/stop_frequency_escort.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/stop_frequency_othdiscr.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/stop_frequency_othmaint.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/stop_frequency_school.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/stop_frequency_shopping.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/stop_frequency_social.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/stop_frequency_univ.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/stop_frequency_work.csv (100%) rename activitysim/examples/{example_marin => placeholder_psrc}/configs/tour_departure_and_duration_alternatives.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_mode_choice.csv (99%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_mode_choice.yaml (95%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_mode_choice_annotate_choosers_preprocessor.csv (99%) rename activitysim/examples/{example_multiple_zone/configs_3_zone_marin => placeholder_psrc/configs}/tour_mode_choice_coeffs.csv (97%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_mode_choice_coeffs_template.csv (99%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_scheduling_atwork.csv (99%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_scheduling_atwork.yaml (94%) rename activitysim/examples/{example_mtc/configs/tour_scheduling_atwork_coefficients.csv => placeholder_psrc/configs/tour_scheduling_atwork_coeffs.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/tour_scheduling_atwork_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_scheduling_joint.csv (99%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_scheduling_joint_coeffs.csv (98%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_scheduling_nonmandatory.csv (99%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_scheduling_nonmandatory_coeffs.csv (98%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_scheduling_school.csv (99%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_scheduling_school_coeffs.csv (98%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_scheduling_work.csv (98%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/tour_scheduling_work_coeffs.csv (98%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/trip_destination.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/trip_destination.yaml (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/trip_destination_annotate_trips_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/trip_destination_sample.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/trip_mode_choice.csv (99%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/trip_mode_choice.yaml (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/trip_mode_choice_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/trip_mode_choice_coefficients.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/trip_mode_choice_coefficients_template.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/trip_purpose.yaml (94%) rename activitysim/examples/{example_arc => placeholder_psrc}/configs/trip_purpose_and_destination.yaml (100%) mode change 100644 => 100755 rename activitysim/examples/{example_arc => placeholder_psrc}/configs/trip_purpose_annotate_trips_preprocessor.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/trip_purpose_probs.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/trip_scheduling.yaml (96%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/trip_scheduling_probs.csv (98%) rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/workplace_location.csv (99%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/workplace_location.yaml (96%) rename activitysim/examples/{example_mtc/configs/workplace_location_coefficients.csv => placeholder_psrc/configs/workplace_location_coeffs.csv} (100%) mode change 100644 => 100755 rename activitysim/examples/{example_mtc => placeholder_psrc}/configs/workplace_location_sample.csv (100%) mode change 100644 => 100755 rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/write_trip_matrices.yaml (96%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs/write_trip_matrices_annotate_trips_preprocessor.csv (98%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs_accessibility/settings.yaml (96%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs_accessibility/settings_mp.yaml (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs_skip_accessibility/settings.yaml (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/configs_skip_accessibility/settings_mp.yaml (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/data/.gitignore (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/data/households.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/data/land_use.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/data/maz.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/data/maz_to_maz_bike.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/data/maz_to_maz_walk.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/data/persons.csv (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/data/skims.omx (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/data/taz.csv (100%) rename activitysim/examples/{example_multiple_zone/output_1 => placeholder_psrc/output}/.gitignore (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/output/cache/.gitignore (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/output/log/.gitignore (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/output/trace/.gitignore (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/scripts/integrity.py (64%) rename activitysim/examples/{example_psrc => placeholder_psrc}/scripts/psrc_crop.py (65%) rename activitysim/examples/{example_psrc => placeholder_psrc}/test/configs/settings.yaml (100%) rename activitysim/examples/{example_multiple_zone/output_2 => placeholder_psrc/test/output}/.gitignore (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/test/output/cache/.gitignore (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/test/output/trace/.gitignore (100%) rename activitysim/examples/{example_psrc => placeholder_psrc}/test/regress/final_trips.csv (100%) rename activitysim/examples/{example_mtc => placeholder_psrc}/test/simulation.py (85%) rename activitysim/examples/{example_psrc => placeholder_psrc}/test/test_psrc.py (50%) rename activitysim/examples/{example_sandag => placeholder_sandag}/3_zone_change_log.txt (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_1_zone/constants.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_1_zone/network_los.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_1_zone/settings.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_1_zone/settings_mp.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_2_zone/constants.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_2_zone/network_los.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_2_zone/settings.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_2_zone/settings_mp.yaml (100%) rename activitysim/examples/{example_mtc/configs => placeholder_sandag/configs_2_zone}/tour_departure_and_duration_segments.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/_bugs.txt (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/accessibility.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/annotate_households_workplace.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/annotate_persons_workplace.csv (100%) rename activitysim/examples/{example_mtc/configs => placeholder_sandag/configs_3_zone}/auto_ownership.csv (99%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/constants.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/destination_choice_size_terms.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/logging.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/network_los.yaml (100%) create mode 100644 activitysim/examples/placeholder_sandag/configs_3_zone/notes.txt rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/settings.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/settings_mp.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/stop_frequency.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/tour_mode_choice.csv (98%) rename activitysim/examples/{example_multiple_zone => placeholder_sandag}/configs_3_zone/tour_mode_choice.yaml (95%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/trip_mode_choice.csv (98%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/trip_mode_choice.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv (95%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/tvpb_accessibility_tap_tap_.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv (100%) rename activitysim/examples/{example_multiple_zone => placeholder_sandag}/configs_3_zone/tvpb_utility_drive_maz_tap.csv (99%) rename activitysim/examples/{example_multiple_zone => placeholder_sandag}/configs_3_zone/tvpb_utility_tap_tap.csv (99%) rename activitysim/examples/{example_multiple_zone => placeholder_sandag}/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv (98%) rename activitysim/examples/{example_multiple_zone => placeholder_sandag}/configs_3_zone/tvpb_utility_walk_maz_tap.csv (98%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/write_trip_matrices.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_benchmarking/settings.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_skip_accessibility/settings.yaml (98%) rename activitysim/examples/{example_sandag => placeholder_sandag}/configs_skip_accessibility/settings_mp.yaml (86%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_1/households.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_1/land_use.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_1/persons.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_1/skims1.omx (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_2/households.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_2/land_use.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_2/maz.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_2/maz_to_maz_walk.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_2/persons.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_2/skims1.omx (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_2/taz.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/cached_accessibility.csv.gz (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/households.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/land_use.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/maz.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/maz_to_maz_bike.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/maz_to_maz_walk.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/maz_to_tap_drive.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/maz_to_tap_walk.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/persons.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/tap.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/tap_lines.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/tap_skims1.omx (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/taz.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/data_3/taz_skims1.omx (100%) rename activitysim/examples/{example_multiple_zone/output_3 => placeholder_sandag/output_1}/.gitignore (100%) rename activitysim/examples/{example_mtc_extended/output => placeholder_sandag/output_1}/cache/.gitignore (100%) rename activitysim/examples/{example_mtc_extended/output => placeholder_sandag/output_1}/log/.gitignore (100%) rename activitysim/examples/{example_mtc_extended/output => placeholder_sandag/output_1}/trace/.gitignore (100%) rename activitysim/examples/{example_multiple_zone/output_3_example_marin_mp => placeholder_sandag/output_2}/.gitignore (100%) rename activitysim/examples/{example_mtc_extended/test/output => placeholder_sandag/output_2}/cache/.gitignore (100%) rename activitysim/examples/{example_mtc_extended/test/output/trace => placeholder_sandag/output_2/log}/.gitignore (100%) rename activitysim/examples/{example_multiple_zone/output_1 => placeholder_sandag/output_2}/trace/.gitignore (100%) rename activitysim/examples/{example_multiple_zone/output_3_mp => placeholder_sandag/output_3}/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => placeholder_sandag}/output_3/cache/.gitignore (100%) rename activitysim/examples/{example_multiple_zone/output_2/trace => placeholder_sandag/output_3/log}/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => placeholder_sandag}/output_3/trace/.gitignore (100%) create mode 100644 activitysim/examples/placeholder_sandag/run_sandag.txt rename activitysim/examples/{example_sandag => placeholder_sandag}/scripts/sandag_crop_1_zone.py (73%) rename activitysim/examples/{example_sandag => placeholder_sandag}/scripts/sandag_crop_2_zone.py (67%) rename activitysim/examples/{example_sandag => placeholder_sandag}/scripts/sandag_crop_3_zone.py (65%) rename activitysim/examples/{example_mtc/test/configs_chunkless => placeholder_sandag/test/configs_1_zone}/network_los.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/test/configs_1_zone/settings.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/test/configs_1_zone/settings_mp.yaml (100%) rename activitysim/examples/{example_mtc/test/configs_mp => placeholder_sandag/test/configs_2_zone}/network_los.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/test/configs_2_zone/settings.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/test/configs_2_zone/settings_mp.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/test/configs_3_zone/network_los.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/test/configs_3_zone/settings.yaml (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/test/configs_3_zone/settings_mp.yaml (100%) rename activitysim/examples/{example_multiple_zone => placeholder_sandag}/test/output/.gitignore (100%) rename activitysim/examples/{example_multiple_zone/output_3_example_marin_mp => placeholder_sandag/test/output}/cache/.gitignore (100%) rename activitysim/examples/{example_multiple_zone/output_3_example_marin_mp => placeholder_sandag/test/output}/trace/.gitignore (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/test/regress/final_1_zone_tours.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/test/regress/final_1_zone_trips.csv (100%) create mode 100644 activitysim/examples/placeholder_sandag/test/regress/final_2_zone_tours.csv rename activitysim/examples/{example_sandag => placeholder_sandag}/test/regress/final_2_zone_trips.csv (58%) rename activitysim/examples/{example_sandag => placeholder_sandag}/test/regress/final_3_zone_tours.csv (100%) rename activitysim/examples/{example_sandag => placeholder_sandag}/test/regress/final_3_zone_trips.csv (100%) rename activitysim/examples/{example_marin => placeholder_sandag}/test/simulation.py (85%) create mode 100644 activitysim/examples/placeholder_sandag/test/test_sandag.py rename activitysim/examples/{example_psrc => prototype_arc}/.gitignore (100%) rename activitysim/examples/{example_arc => prototype_arc}/README.MD (100%) rename activitysim/examples/{example_arc => prototype_arc}/change_log.txt (100%) rename activitysim/examples/{example_psrc => prototype_arc}/configs/_dummy_coefficients.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/accessibility.csv (98%) rename activitysim/examples/{example_arc => prototype_arc}/configs/accessibility.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_households.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_households_cdap.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_households_workplace.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_landuse.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_persons.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_persons_after_hh.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_persons_cdap.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_persons_jtp.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_persons_mtf.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_persons_nmtf.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_persons_school.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/annotate_persons_workplace.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/atwork_subtour_destination.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/atwork_subtour_destination.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/atwork_subtour_destination_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/atwork_subtour_destination_sample.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/atwork_subtour_frequency.csv (100%) rename activitysim/examples/{example_psrc => prototype_arc}/configs/atwork_subtour_frequency.yaml (95%) mode change 100755 => 100644 rename activitysim/examples/{example_arc => prototype_arc}/configs/atwork_subtour_frequency_alternatives.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/atwork_subtour_frequency_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/auto_ownership.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/auto_ownership.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/auto_ownership_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/cdap.yaml (100%) rename activitysim/examples/{example_mtc => prototype_arc}/configs/cdap_fixed_relative_proportions.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/cdap_indiv_and_hhsize1.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/cdap_interaction_coefficients.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/constants.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/destination_choice_size_terms.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/free_parking.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/free_parking.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/free_parking_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/initialize_households.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/initialize_landuse.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_composition.csv (100%) rename activitysim/examples/{example_semcog => prototype_arc}/configs/joint_tour_composition.yaml (95%) mode change 100755 => 100644 rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_composition_annotate_households_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_composition_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_destination.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_destination_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_frequency.csv (100%) rename activitysim/examples/{example_semcog => prototype_arc}/configs/joint_tour_frequency.yaml (95%) mode change 100755 => 100644 rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_frequency_alternatives.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_frequency_annotate_households_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_frequency_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_participation.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_participation.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_participation_annotate_participants_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_participation_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_scheduling.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/joint_tour_scheduling_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/logging.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/mandatory_tour_frequency.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/mandatory_tour_frequency.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/mandatory_tour_frequency_alternatives.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/mandatory_tour_frequency_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/mandatory_tour_scheduling.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/mandatory_tour_schedulings_annotate_tours_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/network_los.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_destination.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_destination.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_destination_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_destination_sample.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_frequency.csv (100%) rename activitysim/examples/{example_psrc => prototype_arc}/configs/non_mandatory_tour_frequency.yaml (96%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_arc}/configs/non_mandatory_tour_frequency_alternatives.csv (92%) mode change 100755 => 100644 rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv (100%) rename activitysim/examples/{example_semcog => prototype_arc}/configs/non_mandatory_tour_frequency_extension_probs.csv (95%) mode change 100755 => 100644 rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_scheduling.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/parking_location_choice.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/parking_location_choice.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/parking_location_choice_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/parking_location_choice_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/school_location.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/school_location.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/school_location_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/school_location_sample.csv (98%) rename activitysim/examples/{example_arc => prototype_arc}/configs/settings.yaml (89%) rename activitysim/examples/{example_arc => prototype_arc}/configs/settings_mp.yaml (82%) rename activitysim/examples/{example_arc => prototype_arc}/configs/shadow_pricing.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency.yaml (100%) rename activitysim/examples/{example_mtc => prototype_arc}/configs/stop_frequency_alternatives.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency_annotate_tours_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency_atwork.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency_eatout.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency_escort.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency_othdiscr.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency_othmaint.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency_school.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency_shopping.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency_social.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency_univ.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/stop_frequency_work.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_departure_and_duration_alternatives.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_mode_choice.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_mode_choice.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_mode_choice_annotate_choosers_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_mode_choice_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_mode_choice_coeffs_template.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_atwork.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_atwork.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_atwork_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_atwork_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_joint.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_joint_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_nonmandatory.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_nonmandatory_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_school.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_school_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_university.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_university_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_work.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/tour_scheduling_work_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_departure_choice.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_departure_choice.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_departure_choice_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_departure_sample_patterns.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_destination.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_destination.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_destination_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_destination_sample.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_mode_choice.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_mode_choice.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_mode_choice_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_mode_choice_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_purpose.yaml (100%) rename activitysim/examples/{example_mtc => prototype_arc}/configs/trip_purpose_and_destination.yaml (100%) rename activitysim/examples/{example_mtc => prototype_arc}/configs/trip_purpose_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_purpose_probs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_scheduling_choice.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_scheduling_choice.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/trip_scheduling_choice_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/workplace_location.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/workplace_location.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/workplace_location_coeffs.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/workplace_location_sample.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/write_trip_matrices.yaml (100%) rename activitysim/examples/{example_arc => prototype_arc}/configs/write_trip_matrices_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/data/households.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/data/land_use.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/data/persons.csv (100%) rename activitysim/examples/{example_arc => prototype_arc}/data/skims.omx (100%) rename activitysim/examples/{example_arc => prototype_arc}/output/.gitignore (100%) rename activitysim/examples/{example_multiple_zone/output_3_mp => prototype_arc/output}/cache/.gitignore (100%) rename activitysim/examples/{example_multiple_zone/output_3_mp/trace => prototype_arc/output/log}/.gitignore (100%) rename activitysim/examples/{example_multiple_zone/test => prototype_arc}/output/trace/.gitignore (100%) rename activitysim/examples/{example_arc => prototype_arc}/scripts/arc_crop.py (69%) rename activitysim/examples/{example_arc => prototype_arc}/simulation.py (91%) rename activitysim/examples/{example_arc => prototype_arc}/test/configs/settings.yaml (100%) rename activitysim/examples/{example_psrc => prototype_arc/test}/output/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => prototype_arc}/test/output/cache/.gitignore (100%) rename activitysim/examples/{example_psrc/output/log => prototype_arc/test/output/trace}/.gitignore (100%) rename activitysim/examples/{example_arc => prototype_arc}/test/regress/final_trips.csv (100%) create mode 100755 activitysim/examples/prototype_arc/test/simulation.py rename activitysim/examples/{example_arc => prototype_arc}/test/test_arc.py (50%) rename activitysim/examples/{example_marin => prototype_marin}/.gitignore (100%) rename activitysim/examples/{example_multiple_zone => prototype_marin}/README.MD (55%) rename activitysim/examples/{example_multiple_zone/configs_3_zone_marin => prototype_marin/configs}/annotate_households.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/configs/annotate_persons.csv (100%) rename activitysim/examples/{example_multiple_zone/configs_3_zone_marin => prototype_marin/configs}/annotate_tours.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_marin}/configs/constants.yaml (95%) rename activitysim/examples/{example_psrc => prototype_marin}/configs/destination_choice_size_terms.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_multiple_zone/configs_3_zone_marin => prototype_marin/configs}/initialize_households.yaml (100%) rename activitysim/examples/{example_multiple_zone/configs_3_zone_marin => prototype_marin/configs}/initialize_landuse.yaml (100%) rename activitysim/examples/{example_multiple_zone/configs_3_zone_marin => prototype_marin/configs}/initialize_tours.yaml (100%) rename activitysim/examples/{example_multiple_zone/configs_3_zone_marin => prototype_marin/configs}/logging.yaml (95%) rename activitysim/examples/{example_marin => prototype_marin}/configs/network_los.yaml (96%) rename activitysim/examples/{example_marin => prototype_marin}/configs/settings.yaml (95%) rename activitysim/examples/{example_marin => prototype_marin}/configs/settings_mp.yaml (100%) rename activitysim/examples/{example_multiple_zone/configs_3_zone_marin => prototype_marin/configs}/shadow_pricing.yaml (100%) rename activitysim/examples/{example_mtc => prototype_marin}/configs/tour_departure_and_duration_alternatives.csv (84%) rename activitysim/examples/{example_marin => prototype_marin}/configs/tour_mode_choice.csv (99%) rename activitysim/examples/{example_marin => prototype_marin}/configs/tour_mode_choice.yaml (95%) rename activitysim/examples/{example_marin => prototype_marin}/configs/tour_mode_choice_annotate_choosers_preprocessor.csv (98%) rename activitysim/examples/{example_marin => prototype_marin}/configs/tour_mode_choice_coefficients.csv (97%) rename activitysim/examples/{example_marin => prototype_marin}/configs/tour_mode_choice_coefficients_template.csv (99%) rename activitysim/examples/{example_marin => prototype_marin}/configs/tvpb_utility_drive_maz_tap.csv (99%) rename activitysim/examples/{example_marin => prototype_marin}/configs/tvpb_utility_tap_tap.csv (99%) rename activitysim/examples/{example_multiple_zone/configs_3_zone_marin => prototype_marin/configs}/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv (99%) rename activitysim/examples/{example_marin => prototype_marin}/configs/tvpb_utility_walk_maz_tap.csv (98%) rename activitysim/examples/{example_marin => prototype_marin}/data/accessibility.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/highway_skims_AM.omx (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/highway_skims_EA.omx (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/highway_skims_EV.omx (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/highway_skims_MD.omx (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/highway_skims_PM.omx (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/households.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/land_use.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/maz_maz_bike.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/maz_maz_walk.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/maz_tap_walk.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/maz_taz.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/maz_taz_tap_drive.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/persons.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/tap.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/tap_lines.csv (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/taz_skims.omx (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/transit_skims_SET1.omx (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/transit_skims_SET2.omx (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/transit_skims_SET3.omx (100%) rename activitysim/examples/{example_marin => prototype_marin}/data/work_tours.csv (100%) rename activitysim/examples/{example_psrc/test => prototype_marin}/output/.gitignore (100%) rename activitysim/examples/{example_psrc => prototype_marin}/output/cache/.gitignore (100%) rename activitysim/examples/{example_psrc/output/trace => prototype_marin/output/log}/.gitignore (100%) rename activitysim/examples/{example_psrc/test => prototype_marin}/output/trace/.gitignore (100%) rename activitysim/examples/{example_marin => prototype_marin}/scripts/marin_crop.py (68%) rename activitysim/examples/{example_marin => prototype_marin}/scripts/marin_fix.py (83%) rename activitysim/examples/{example_marin => prototype_marin}/scripts/marin_work_tour_mode_choice_data.py (71%) rename activitysim/examples/{example_marin => prototype_marin}/scripts/notes.txt (100%) rename activitysim/examples/{example_marin => prototype_marin}/scripts/tvpb_validation.R (80%) rename activitysim/examples/{example_marin => prototype_marin}/test/configs/network_los.yaml (100%) rename activitysim/examples/{example_marin => prototype_marin}/test/configs/settings.yaml (100%) rename activitysim/examples/{example_sandag/output_1 => prototype_marin/test/output}/.gitignore (100%) rename activitysim/examples/{example_psrc => prototype_marin}/test/output/cache/.gitignore (100%) rename activitysim/examples/{example_sandag/output_1/log => prototype_marin/test/output/trace}/.gitignore (100%) rename activitysim/examples/{example_marin => prototype_marin}/test/regress/final_tours.csv (100%) create mode 100755 activitysim/examples/prototype_marin/test/simulation.py rename activitysim/examples/{example_marin => prototype_marin}/test/test_marin.py (50%) rename activitysim/examples/{example_mtc => prototype_mtc}/.gitignore (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/README.MD (80%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/accessibility.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/accessibility.yaml (96%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/annotate_households.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/annotate_households_cdap.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/annotate_households_workplace.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/annotate_landuse.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/annotate_persons.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/annotate_persons_after_hh.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/annotate_persons_cdap.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mtc}/configs/annotate_persons_jtp.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/annotate_persons_mtf.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/annotate_persons_nmtf.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/annotate_persons_school.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/annotate_persons_workplace.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/atwork_subtour_destination.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/atwork_subtour_destination.yaml (100%) rename activitysim/examples/{example_psrc/configs/atwork_subtour_destination_coeffs.csv => prototype_mtc/configs/atwork_subtour_destination_coefficients.csv} (98%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/atwork_subtour_destination_sample.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/atwork_subtour_frequency.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/atwork_subtour_frequency.yaml (100%) rename activitysim/examples/{example_semcog => prototype_mtc}/configs/atwork_subtour_frequency_alternatives.csv (96%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/atwork_subtour_frequency_coefficients.csv (98%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/auto_ownership.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/auto_ownership.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/auto_ownership_coefficients.csv (97%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/cdap.yaml (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/cdap_coefficients.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/cdap_fixed_relative_proportions.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/cdap_indiv_and_hhsize1.csv (99%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/cdap_interaction_coefficients.csv (94%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/constants.yaml (95%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/destination_choice_size_terms.csv (98%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/free_parking.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/free_parking.yaml (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/free_parking_annotate_persons_preprocessor.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/free_parking_coefficients.csv (96%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/initialize_households.yaml (95%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/initialize_landuse.yaml (93%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mtc}/configs/joint_tour_composition.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/joint_tour_composition.yaml (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/joint_tour_composition_annotate_households_preprocessor.csv (98%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mtc/configs/joint_tour_composition_coefficients.csv rename activitysim/examples/{example_mtc => prototype_mtc}/configs/joint_tour_destination.yaml (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/joint_tour_frequency.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/joint_tour_frequency.yaml (100%) rename activitysim/examples/{example_semcog => prototype_mtc}/configs/joint_tour_frequency_alternatives.csv (94%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/joint_tour_frequency_annotate_households_preprocessor.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc/configs/joint_tour_frequency_coeffs.csv => prototype_mtc/configs/joint_tour_frequency_coefficients.csv} (97%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mtc}/configs/joint_tour_participation.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/joint_tour_participation.yaml (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/joint_tour_participation_annotate_participants_preprocessor.csv (98%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mtc/configs/joint_tour_participation_coefficients.csv rename activitysim/examples/{example_mtc => prototype_mtc}/configs/joint_tour_scheduling.yaml (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/logging.yaml (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/mandatory_tour_frequency.csv (99%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.yaml rename activitysim/examples/{example_psrc => prototype_mtc}/configs/mandatory_tour_frequency_alternatives.csv (96%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/mandatory_tour_frequency_coefficients.csv (97%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/mandatory_tour_scheduling.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/network_los.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/non_mandatory_tour_destination.csv (99%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/non_mandatory_tour_destination.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/non_mandatory_tour_destination_coefficients.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/non_mandatory_tour_destination_sample.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/non_mandatory_tour_frequency.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/non_mandatory_tour_frequency.yaml (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/non_mandatory_tour_frequency_alternatives.csv (92%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv => prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv} (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv => prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv} (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv => prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv} (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv => prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv} (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv => prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv} (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv => prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv} (98%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv => prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv} (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv => prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv} (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/non_mandatory_tour_frequency_extension_probs.csv (95%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/non_mandatory_tour_scheduling.yaml (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/school_location.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/school_location.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/school_location_coefficients.csv (96%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/school_location_sample.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/settings.yaml (100%) create mode 100644 activitysim/examples/prototype_mtc/configs/shadow_pricing.yaml rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency.yaml (96%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_alternatives.csv (94%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_annotate_tours_preprocessor.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/stop_frequency_atwork.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_coefficients_atwork.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_coefficients_eatout.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_coefficients_escort.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_coefficients_othdiscr.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_coefficients_othmaint.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_coefficients_school.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_coefficients_shopping.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_coefficients_social.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_coefficients_univ.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_coefficients_work.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/stop_frequency_eatout.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/stop_frequency_escort.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/stop_frequency_othdiscr.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/stop_frequency_othmaint.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/stop_frequency_school.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/stop_frequency_shopping.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/stop_frequency_social.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/stop_frequency_univ.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/stop_frequency_work.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/summarize.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/summarize.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/summarize_preprocessor.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/tour_departure_and_duration_alternatives.csv (84%) mode change 100755 => 100644 rename activitysim/examples/{example_sandag/configs_2_zone => prototype_mtc/configs}/tour_departure_and_duration_segments.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_mode_choice.csv (99%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_mode_choice.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_mode_choice_annotate_choosers_preprocessor.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_mode_choice_coefficients.csv (97%) rename activitysim/examples/{example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv => prototype_mtc/configs/tour_mode_choice_coefficients_template.csv} (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_scheduling_atwork.csv (99%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_scheduling_atwork.yaml (100%) rename activitysim/examples/{example_psrc/configs/tour_scheduling_atwork_coeffs.csv => prototype_mtc/configs/tour_scheduling_atwork_coefficients.csv} (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/tour_scheduling_atwork_preprocessor.csv (97%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_scheduling_joint.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_scheduling_joint_coefficients.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_scheduling_nonmandatory.csv (99%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_scheduling_nonmandatory_coefficients.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_scheduling_school.csv (99%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_scheduling_school_coefficients.csv (98%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_scheduling_work.csv (99%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/tour_scheduling_work_coefficients.csv (98%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/trip_destination.csv (99%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/trip_destination.yaml (100%) rename activitysim/examples/{example_semcog => prototype_mtc}/configs/trip_destination_annotate_trips_preprocessor.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/trip_destination_coefficients.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/trip_destination_sample.csv (99%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/trip_mode_choice.csv (99%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/trip_mode_choice.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/trip_mode_choice_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/trip_mode_choice_coefficients.csv (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/trip_mode_choice_coefficients_template.csv (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/trip_purpose.yaml (100%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/trip_purpose_and_destination.yaml (96%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mtc}/configs/trip_purpose_annotate_trips_preprocessor.csv (96%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/trip_purpose_probs.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/trip_scheduling.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/trip_scheduling_probs.csv (98%) rename activitysim/examples/{example_psrc => prototype_mtc}/configs/workplace_location.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/workplace_location.yaml (100%) rename activitysim/examples/{example_psrc/configs/workplace_location_coeffs.csv => prototype_mtc/configs/workplace_location_coefficients.csv} (96%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mtc}/configs/workplace_location_sample.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mtc}/configs/write_data_dictionary.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/write_trip_matrices.yaml (96%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs/write_trip_matrices_annotate_trips_preprocessor.csv (98%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs_mp/logging.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/configs_mp/settings.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/data/.gitignore (100%) rename activitysim/examples/{example_multiple_zone/data_1 => prototype_mtc/data}/households.csv (100%) rename activitysim/examples/{example_multiple_zone/data_1 => prototype_mtc/data}/land_use.csv (100%) rename activitysim/examples/{example_multiple_zone => prototype_mtc}/data/mtc_asim.h5 (100%) rename activitysim/examples/{example_multiple_zone => prototype_mtc}/data/override_hh_ids.csv (100%) rename activitysim/examples/{example_multiple_zone/data_1 => prototype_mtc/data}/persons.csv (100%) rename activitysim/examples/{example_multiple_zone/data_1 => prototype_mtc/data}/skims.omx (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/notebooks/README.md (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/notebooks/adding_tncs.ipynb (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/notebooks/change_in_auto_ownership.ipynb (99%) rename activitysim/examples/{example_mtc => prototype_mtc}/notebooks/getting_started.ipynb (99%) rename activitysim/examples/{example_mtc => prototype_mtc}/notebooks/memory_usage.ipynb (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/notebooks/summarizing_results.ipynb (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/notebooks/trips_in_time_and_space.ipynb (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.dbf (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.prj (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shp (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shx (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/output/.gitignore (100%) rename activitysim/examples/{example_sandag/output_1 => prototype_mtc/output}/cache/.gitignore (100%) rename activitysim/examples/{example_sandag/output_1/trace => prototype_mtc/output/log}/.gitignore (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/output/summarize/dashboard-1-summary.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/output/summarize/taz1454.geojson (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/output/summarize/topsheet.yaml (100%) rename activitysim/examples/{example_sandag/output_2/log => prototype_mtc/output/trace}/.gitignore (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/simulation.py (91%) rename activitysim/examples/{example_multiple_zone/test/configs_2_zone => prototype_mtc/test/configs}/network_los.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/test/configs/settings.yaml (100%) rename activitysim/examples/{example_sandag/test/configs_1_zone => prototype_mtc/test/configs_chunkless}/network_los.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/test/configs_chunkless/settings.yaml (100%) rename activitysim/examples/{example_sandag/test/configs_2_zone => prototype_mtc/test/configs_mp}/network_los.yaml (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/test/configs_mp/settings.yaml (100%) rename activitysim/examples/{example_sandag/output_2 => prototype_mtc/test/output}/.gitignore (100%) rename activitysim/examples/{example_sandag/output_2 => prototype_mtc/test/output}/cache/.gitignore (100%) rename activitysim/examples/{example_sandag/output_2 => prototype_mtc/test/output}/trace/.gitignore (100%) rename activitysim/examples/{example_mtc => prototype_mtc}/test/regress/final_trips.csv (100%) create mode 100755 activitysim/examples/prototype_mtc/test/simulation.py create mode 100644 activitysim/examples/prototype_mtc/test/test_mtc.py create mode 100644 activitysim/examples/prototype_mtc_extended/README.MD create mode 100644 activitysim/examples/prototype_mtc_extended/configs/annotate_landuse.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/annotate_non_mandatory_destination.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/annotate_non_mandatory_tour_frequency.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/annotate_proto_households.csv rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/annotate_tours_tour_mode_choice.csv (100%) create mode 100644 activitysim/examples/prototype_mtc_extended/configs/destination_choice_size_terms.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/disaggregate_accessibility.yaml create mode 100644 activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_destination.yaml create mode 100644 activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_frequency_alternatives.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_scheduling.yaml create mode 100644 activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/school_escorting.yaml create mode 100644 activitysim/examples/prototype_mtc_extended/configs/school_escorting_alts.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_inbound.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_outbound.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_outbound_cond.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/school_escorting_inbound.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/school_escorting_outbound.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/school_escorting_outbound_cond.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_inbound.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_outbound.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_outbound_cond.csv rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/settings.yaml (95%) create mode 100644 activitysim/examples/prototype_mtc_extended/configs/shadow_pricing.yaml create mode 100644 activitysim/examples/prototype_mtc_extended/configs/stop_frequency_alternatives.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_escort.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_school.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_univ.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_work.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/stop_frequency_escort.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/stop_frequency_othdiscr.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/stop_frequency_school.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/stop_frequency_univ.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/stop_frequency_work.csv rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/tour_mode_choice.csv (99%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/tour_mode_choice.yaml (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/tour_mode_choice_annotate_choosers_preprocessor.csv (100%) create mode 100644 activitysim/examples/prototype_mtc_extended/configs/tour_scheduling_nonmandatory.csv create mode 100644 activitysim/examples/prototype_mtc_extended/configs/tour_scheduling_nonmandatory_coefficients.csv rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/trip_mode_choice.csv (99%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/trip_mode_choice.yaml (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/trip_mode_choice_annotate_trips_preprocessor.csv (97%) create mode 100644 activitysim/examples/prototype_mtc_extended/configs/trip_scheduling.yaml create mode 100644 activitysim/examples/prototype_mtc_extended/configs/trip_scheduling_probs.csv rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_allocation.csv (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_allocation.yaml (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_allocation_annotate_choosers_preprocessor.csv (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_allocation_coefficients.csv (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_type_choice.yaml (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_type_choice_annotate_choosers_preprocessor.csv (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_type_choice_op2.csv (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_type_choice_op2_coefficients.csv (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_type_choice_op2_fuel_type_probs.csv (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_type_choice_op4.csv (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_type_choice_op4_coefficients.csv (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs/vehicle_type_data.csv (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs_mp/logging.yaml (100%) rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/configs_mp/settings.yaml (74%) rename activitysim/examples/{example_sandag/output_3 => prototype_mtc_extended/output}/.gitignore (100%) rename activitysim/examples/{example_sandag/output_3 => prototype_mtc_extended/output}/cache/.gitignore (100%) rename activitysim/examples/{example_sandag/output_3 => prototype_mtc_extended/output}/log/.gitignore (100%) rename activitysim/examples/{example_sandag/output_3 => prototype_mtc_extended/output}/trace/.gitignore (100%) create mode 100644 activitysim/examples/prototype_mtc_extended/sampling_scenarios.py create mode 100644 activitysim/examples/prototype_mtc_extended/test/configs/settings.yaml rename activitysim/examples/{example_semcog => prototype_mtc_extended/test}/configs_mp/logging.yaml (96%) mode change 100755 => 100644 rename activitysim/examples/{example_sandag_xborder/test/configs => prototype_mtc_extended/test/configs_mp}/network_los.yaml (100%) create mode 100644 activitysim/examples/prototype_mtc_extended/test/configs_mp/settings.yaml rename activitysim/examples/{example_sandag => prototype_mtc_extended}/test/output/.gitignore (100%) rename activitysim/examples/{example_sandag => prototype_mtc_extended}/test/output/cache/.gitignore (100%) rename activitysim/examples/{example_sandag => prototype_mtc_extended}/test/output/trace/.gitignore (100%) create mode 100644 activitysim/examples/prototype_mtc_extended/test/regress/final_proto_disaggregate_accessibility.csv create mode 100644 activitysim/examples/prototype_mtc_extended/test/regress/final_trips.csv rename activitysim/examples/{example_mtc_extended => prototype_mtc_extended}/test/regress/final_vehicles.csv (100%) create mode 100644 activitysim/examples/prototype_mtc_extended/test/simulation.py create mode 100644 activitysim/examples/prototype_mtc_extended/test/test_mtc_extended.py rename activitysim/examples/{example_semcog => prototype_mwcog}/.gitignore (100%) create mode 100644 activitysim/examples/prototype_mwcog/README.MD rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/_dummy_coefficients.csv (100%) create mode 100644 activitysim/examples/prototype_mwcog/configs/accessibility.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/accessibility.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/annotate_households.csv rename activitysim/examples/{example_psrc => prototype_mwcog}/configs/annotate_households_cdap.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/annotate_households_workplace.csv (98%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/annotate_landuse.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/annotate_persons.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/annotate_persons_after_hh.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/annotate_persons_cdap.csv rename activitysim/examples/{example_psrc => prototype_mwcog}/configs/annotate_persons_jtp.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/annotate_persons_mtf.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/annotate_persons_nmtf.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/annotate_persons_school.csv (99%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/annotate_persons_workplace.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination_coeffs.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination_sample.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/atwork_subtour_frequency.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/atwork_subtour_frequency.yaml (95%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency_alternatives.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/atwork_subtour_frequency_coeffs.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/auto_ownership.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/auto_ownership.yaml (94%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/auto_ownership_coeffs.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/cdap.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/cdap_fixed_relative_proportions.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/cdap_indiv_and_hhsize1.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/cdap_interaction_coefficients.csv (92%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/constants.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/destination_choice_size_terms.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/free_parking.csv (99%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/free_parking.yaml rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/free_parking_annotate_persons_preprocessor.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mwcog}/configs/free_parking_coeffs.csv (96%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/initialize_households.yaml rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/initialize_landuse.yaml (93%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mwcog}/configs/joint_tour_composition.csv (99%) rename activitysim/examples/{example_psrc => prototype_mwcog}/configs/joint_tour_composition.yaml (95%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/joint_tour_composition_annotate_households_preprocessor.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/joint_tour_composition_coeffs.csv (97%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/joint_tour_destination.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/joint_tour_destination.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/joint_tour_destination_coeffs.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/joint_tour_destination_sample.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/joint_tour_frequency.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mwcog}/configs/joint_tour_frequency.yaml (95%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/joint_tour_frequency_alternatives.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/joint_tour_frequency_annotate_households_preprocessor.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/joint_tour_frequency_coeffs.csv (97%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc => prototype_mwcog}/configs/joint_tour_participation.csv (99%) rename activitysim/examples/{example_psrc => prototype_mwcog}/configs/joint_tour_participation.yaml (95%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/joint_tour_participation_annotate_participants_preprocessor.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mwcog}/configs/joint_tour_participation_coeffs.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mwcog}/configs/joint_tour_scheduling.yaml (94%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/logging.yaml (95%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency.csv rename activitysim/examples/{example_psrc => prototype_mwcog}/configs/mandatory_tour_frequency.yaml (94%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/mandatory_tour_frequency_alternatives.csv (96%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/mandatory_tour_frequency_coeffs.csv (97%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/mandatory_tour_scheduling.yaml rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv (99%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/network_los.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination_coeffs.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination_sample.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/non_mandatory_tour_frequency.yaml (96%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_alternatives.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv (98%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_extension_probs.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/non_mandatory_tour_scheduling.yaml (100%) rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv (98%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/school_location.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/school_location.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/school_location_coeffs.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/school_location_sample.csv (98%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/settings.yaml rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/shadow_pricing.yaml (96%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency.yaml rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/stop_frequency_alternatives.csv (94%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_annotate_tours_preprocessor.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_atwork.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_atwork.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_eatout.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_escort.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_othdiscr.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_othmaint.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_school.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_shopping.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_social.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_univ.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_work.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_eatout.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_escort.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_othdiscr.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_othmaint.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_school.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_shopping.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_social.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_univ.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/stop_frequency_work.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/telecommute_frequency.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/telecommute_frequency.yaml (94%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/telecommute_frequency_coeffs.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_departure_and_duration_alternatives.csv (84%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_departure_and_duration_segments.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_mode_choice.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_mode_choice.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_mode_choice_annotate_choosers_preprocessor.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_mode_choice_coeffs.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_mode_choice_coeffs_template.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_atwork.yaml (94%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork_coeffs.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_atwork_preprocessor.csv (97%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_joint.csv (99%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_scheduling_joint_coeffs.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_eatout.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_nonmandatory_eatout_coefficients.csv (100%) rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_nonmandatory_escort.csv (100%) rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_nonmandatory_escort_coefficients.csv (100%) create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othdiscr.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_nonmandatory_othdiscr_coefficients.csv (100%) create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othmaint.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_nonmandatory_othmaint_coefficients.csv (100%) create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_shopping.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_nonmandatory_shopping_coefficients.csv (100%) create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_social.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_nonmandatory_social_coefficients.csv (100%) create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_scheduling_school.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_school_coeffs.csv (98%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/tour_scheduling_university.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_university_coeffs.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_work.csv (99%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/tour_scheduling_work_coeffs.csv (98%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/transit_pass_ownership.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/transit_pass_ownership.yaml (100%) rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/transit_pass_ownership_coeffs.csv (100%) create mode 100644 activitysim/examples/prototype_mwcog/configs/transit_pass_subsidy.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/transit_pass_subsidy.yaml (100%) rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/transit_pass_subsidy_coeffs.csv (100%) create mode 100644 activitysim/examples/prototype_mwcog/configs/trip_destination.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/trip_destination.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/trip_destination_annotate_trips_preprocessor.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/trip_destination_coefficients.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/trip_destination_sample.csv (99%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/trip_mode_choice.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/trip_mode_choice.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/trip_mode_choice_annotate_trips_preprocessor.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/trip_mode_choice_coefficients.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/trip_mode_choice_coefficients_template.csv rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/trip_purpose.yaml (94%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/trip_purpose_and_destination.yaml (96%) mode change 100755 => 100644 rename activitysim/examples/{example_psrc => prototype_mwcog}/configs/trip_purpose_annotate_trips_preprocessor.csv (96%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/trip_purpose_probs.csv (98%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/trip_scheduling.yaml (96%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/trip_scheduling_probs.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/work_from_home.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/work_from_home.yaml rename activitysim/examples/{example_semcog => prototype_mwcog}/configs/work_from_home_coeffs.csv (97%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/configs/workplace_location.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/workplace_location.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/workplace_location_coeffs.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/workplace_location_sample.csv create mode 100644 activitysim/examples/prototype_mwcog/configs/write_trip_matrices.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs/write_trip_matrices_annotate_trips_preprocessor.csv create mode 100644 activitysim/examples/prototype_mwcog/configs_mp/logging.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs_mp/settings.yaml create mode 100644 activitysim/examples/prototype_mwcog/configs_mp/settings_source.yaml rename activitysim/examples/{example_semcog => prototype_mwcog}/configs_mp/shadow_pricing.yaml (96%) mode change 100755 => 100644 create mode 100644 activitysim/examples/prototype_mwcog/data/LU_taz3722_rnd91a_2018_adj_enrollment.csv create mode 100644 activitysim/examples/prototype_mwcog/data/combined_synthetic_hh_2018.csv create mode 100644 activitysim/examples/prototype_mwcog/data/combined_synthetic_per_2018.csv create mode 100644 activitysim/examples/prototype_mwcog/data/land_use.csv create mode 100644 activitysim/examples/prototype_mwcog/data/skims.omx create mode 100644 activitysim/examples/prototype_mwcog/data/taz_skims.omx rename activitysim/examples/{example_semcog => prototype_mwcog}/extensions/__init__.py (100%) rename activitysim/examples/{example_semcog => prototype_mwcog}/extensions/telecommute_frequency.py (69%) mode change 100755 => 100644 rename activitysim/examples/{example_semcog => prototype_mwcog}/extensions/transit_pass_ownership.py (70%) rename activitysim/examples/{example_semcog => prototype_mwcog}/extensions/transit_pass_subsidy.py (70%) create mode 100644 activitysim/examples/prototype_mwcog/extensions/work_from_home.py create mode 100644 activitysim/examples/prototype_mwcog/scripts/mwcog_crop.py rename activitysim/examples/{example_semcog => prototype_mwcog}/simulation.py (85%) mode change 100755 => 100644 rename activitysim/examples/{example_mtc_extended => prototype_mwcog}/test/configs/settings.yaml (98%) rename activitysim/examples/{example_semcog => prototype_mwcog/test}/output/.gitignore (100%) rename activitysim/examples/{example_semcog => prototype_mwcog/test}/output/cache/.gitignore (100%) rename activitysim/examples/{example_semcog/output/log => prototype_mwcog/test/output/trace}/.gitignore (100%) create mode 100644 activitysim/examples/prototype_mwcog/test/regress/final_trips.csv create mode 100644 activitysim/examples/prototype_mwcog/test/test_mwcog.py rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/README.md (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/annotate_households.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/annotate_landuse.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/annotate_persons.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/annotate_tours.csv (100%) rename activitysim/examples/{example_multiple_zone/configs_3_zone_marin => prototype_sandag_xborder/configs}/constants.yaml (95%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/destination_choice_size_terms.csv (99%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/estimation.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/initialize_households.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/initialize_landuse.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/initialize_tours.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/logging.yaml (95%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/network_los.yaml (96%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/preprocessing.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/settings.yaml (96%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/shadow_pricing.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_alternatives.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_annotate_tours_preprocessor.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_coefficients_cargo.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_coefficients_other.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_coefficients_school.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_coefficients_shop.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_coefficients_visit.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_coefficients_work.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_other.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_school.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_shop.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_visit.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/stop_frequency_work.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_departure_and_duration_alternatives.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_mode_choice.csv (98%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_mode_choice.yaml (95%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_mode_choice_annotate_choosers_preprocessor.csv (99%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_mode_choice_coefficients.csv (97%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_mode_choice_coefficients_template.csv (99%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_od_choice.csv (99%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_od_choice.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_od_choice_annotate_choosers_preprocessor.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_od_choice_coefficients.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_od_choice_sample.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_purpose_probs_by_poe.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_scheduling_probabilistic.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tour_scheduling_probs.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_destination.csv (99%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_destination.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_destination_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_destination_coefficients.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_destination_sample.csv (99%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_mode_choice.csv (99%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_mode_choice.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_mode_choice_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_mode_choice_coefficients.csv (97%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_mode_choice_coefficients_template.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_purpose.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_purpose_annotate_trips_preprocessor.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_purpose_probs.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_scheduling.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/trip_scheduling_probs.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tvpb_utility_drive_maz_tap.csv (99%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tvpb_utility_tap_tap.csv (99%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv (98%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/tvpb_utility_walk_maz_tap.csv (98%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/wait_time_mode.yaml (96%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/write_trip_matrices.yaml (96%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/configs/write_trip_matrices_annotate_trips_preprocessor.csv (98%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/.gitignore (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/households_xborder.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/maz_maz_walk.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/maz_tap_walk.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/mazs_xborder.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/persons_xborder.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/tap_lines.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/taps.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/tours_xborder.csv (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/traffic_skims_xborder_AM.omx (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/traffic_skims_xborder_EA.omx (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/traffic_skims_xborder_EV.omx (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/traffic_skims_xborder_MD.omx (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/traffic_skims_xborder_PM.omx (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/data/transit_skims_xborder.omx (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/extensions/.gitignore (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/extensions/__init__.py (100%) create mode 100644 activitysim/examples/prototype_sandag_xborder/extensions/reassign_tour_purpose.py rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/notebooks/cross_border_validation.ipynb (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/output/.gitignore (100%) create mode 100644 activitysim/examples/prototype_sandag_xborder/scripts/reduce_sandag_cb_skims_for_github.py rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/scripts/sandag_crop_3_zone.py (74%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/simulation.py (80%) create mode 100644 activitysim/examples/prototype_sandag_xborder/test/configs/network_los.yaml rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/test/configs/settings.yaml (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/test/output/.gitignore (100%) rename activitysim/examples/{example_sandag_xborder => prototype_sandag_xborder}/test/regress/final_trips.csv (100%) create mode 100644 activitysim/examples/prototype_sandag_xborder/test/test_sandag_xborder.py create mode 100644 activitysim/examples/prototype_semcog/.gitignore rename activitysim/examples/{example_semcog => prototype_semcog}/README.MD (100%) rename activitysim/examples/{example_semcog => prototype_semcog}/change_log.txt (100%) create mode 100644 activitysim/examples/prototype_semcog/configs/_dummy_coefficients.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/accessibility.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/accessibility.yaml (96%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/annotate_households.csv (98%) create mode 100755 activitysim/examples/prototype_semcog/configs/annotate_households_cdap.csv create mode 100755 activitysim/examples/prototype_semcog/configs/annotate_households_workplace.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/annotate_landuse.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/annotate_persons.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/annotate_persons_after_hh.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/annotate_persons_cdap.csv (99%) create mode 100755 activitysim/examples/prototype_semcog/configs/annotate_persons_jtp.csv create mode 100755 activitysim/examples/prototype_semcog/configs/annotate_persons_mtf.csv create mode 100755 activitysim/examples/prototype_semcog/configs/annotate_persons_nmtf.csv create mode 100755 activitysim/examples/prototype_semcog/configs/annotate_persons_school.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/annotate_persons_workplace.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/atwork_subtour_destination.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/atwork_subtour_destination.yaml (96%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/atwork_subtour_destination_coeffs.csv (97%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/atwork_subtour_destination_sample.csv (98%) create mode 100755 activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency.csv create mode 100755 activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency.yaml create mode 100755 activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_alternatives.csv create mode 100755 activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv create mode 100755 activitysim/examples/prototype_semcog/configs/atwork_subtour_frequency_coeffs.csv create mode 100755 activitysim/examples/prototype_semcog/configs/auto_ownership.csv create mode 100755 activitysim/examples/prototype_semcog/configs/auto_ownership.yaml rename activitysim/examples/{example_semcog => prototype_semcog}/configs/auto_ownership_coeffs.csv (97%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/cdap.yaml (94%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/cdap_fixed_relative_proportions.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/cdap_indiv_and_hhsize1.csv (99%) create mode 100755 activitysim/examples/prototype_semcog/configs/cdap_interaction_coefficients.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/constants.yaml (95%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/destination_choice_size_terms.csv (98%) create mode 100755 activitysim/examples/prototype_semcog/configs/free_parking.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/free_parking.yaml (94%) create mode 100755 activitysim/examples/prototype_semcog/configs/free_parking_annotate_persons_preprocessor.csv create mode 100755 activitysim/examples/prototype_semcog/configs/free_parking_coeffs.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/initialize_households.yaml (95%) create mode 100755 activitysim/examples/prototype_semcog/configs/initialize_landuse.yaml create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_composition.csv create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_composition.yaml create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_composition_annotate_households_preprocessor.csv rename activitysim/examples/{example_psrc => prototype_semcog}/configs/joint_tour_composition_coeffs.csv (97%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/joint_tour_destination.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/joint_tour_destination.yaml (95%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/joint_tour_destination_coeffs.csv (97%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/joint_tour_destination_sample.csv (99%) create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_frequency.csv create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_frequency.yaml create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_frequency_alternatives.csv create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_frequency_coeffs.csv create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_participation.csv create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_participation.yaml create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/joint_tour_participation_coeffs.csv (98%) create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_scheduling.yaml create mode 100755 activitysim/examples/prototype_semcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv create mode 100755 activitysim/examples/prototype_semcog/configs/logging.yaml create mode 100755 activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency.csv create mode 100755 activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency.yaml create mode 100755 activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency_alternatives.csv create mode 100755 activitysim/examples/prototype_semcog/configs/mandatory_tour_frequency_coeffs.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/mandatory_tour_scheduling.yaml (95%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv (99%) create mode 100755 activitysim/examples/prototype_semcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/network_los.yaml (96%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_destination.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_destination.yaml (95%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_destination_coeffs.csv (97%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_destination_sample.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_frequency.csv (99%) create mode 100755 activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency.yaml create mode 100755 activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_alternatives.csv create mode 100755 activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv (98%) rename activitysim/examples/{example_psrc => prototype_semcog}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv (98%) create mode 100755 activitysim/examples/prototype_semcog/configs/non_mandatory_tour_frequency_extension_probs.csv create mode 100644 activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling.yaml rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_scheduling_annotate_alts_preprocessor.csv (100%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_scheduling_annotate_shifts_preprocessor.csv (98%) create mode 100755 activitysim/examples/prototype_semcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_scheduling_escort_annotate_alts_preprocessor.csv (100%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/non_mandatory_tour_scheduling_shopping_annotate_alts_preprocessor.csv (100%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/school_location.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/school_location.yaml (95%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/school_location_coeffs.csv (96%) create mode 100755 activitysim/examples/prototype_semcog/configs/school_location_sample.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/settings.yaml (96%) rename activitysim/examples/{example_psrc => prototype_semcog}/configs/shadow_pricing.yaml (96%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency.yaml (95%) create mode 100755 activitysim/examples/prototype_semcog/configs/stop_frequency_alternatives.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency_annotate_tours_preprocessor.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency_atwork.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency_eatout.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency_escort.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency_othdiscr.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency_othmaint.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency_school.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency_shopping.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency_social.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency_univ.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/stop_frequency_work.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/telecommute_frequency.csv (99%) create mode 100755 activitysim/examples/prototype_semcog/configs/telecommute_frequency.yaml rename activitysim/examples/{example_semcog => prototype_semcog}/configs/telecommute_frequency_coeffs.csv (97%) create mode 100755 activitysim/examples/prototype_semcog/configs/tour_departure_and_duration_alternatives.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_departure_and_duration_segments.csv (100%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_mode_choice.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_mode_choice.yaml (95%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_mode_choice_annotate_choosers_preprocessor.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_mode_choice_coeffs.csv (97%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_mode_choice_coeffs_template.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_atwork.csv (99%) create mode 100755 activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork.yaml rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_atwork_coeffs.csv (98%) create mode 100755 activitysim/examples/prototype_semcog/configs/tour_scheduling_atwork_preprocessor.csv create mode 100755 activitysim/examples/prototype_semcog/configs/tour_scheduling_joint.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_joint_coeffs.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_nonmandatory.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_nonmandatory_coeffs.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_nonmandatory_eatout.csv (100%) create mode 100644 activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_eatout_coefficients.csv create mode 100644 activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_escort.csv create mode 100644 activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_escort_coefficients.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_nonmandatory_othdiscr.csv (100%) create mode 100644 activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_othdiscr_coefficients.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_nonmandatory_othmaint.csv (100%) create mode 100644 activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_othmaint_coefficients.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_nonmandatory_shift_in.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_nonmandatory_shift_out.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_nonmandatory_shopping.csv (100%) create mode 100644 activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_shopping_coefficients.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_nonmandatory_social.csv (100%) create mode 100644 activitysim/examples/prototype_semcog/configs/tour_scheduling_nonmandatory_social_coefficients.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_school.csv (99%) create mode 100755 activitysim/examples/prototype_semcog/configs/tour_scheduling_school_coeffs.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/tour_scheduling_university.csv (99%) create mode 100755 activitysim/examples/prototype_semcog/configs/tour_scheduling_university_coeffs.csv create mode 100755 activitysim/examples/prototype_semcog/configs/tour_scheduling_work.csv create mode 100755 activitysim/examples/prototype_semcog/configs/tour_scheduling_work_coeffs.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/transit_pass_ownership.csv (100%) create mode 100644 activitysim/examples/prototype_semcog/configs/transit_pass_ownership.yaml create mode 100644 activitysim/examples/prototype_semcog/configs/transit_pass_ownership_coeffs.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/transit_pass_subsidy.csv (100%) create mode 100644 activitysim/examples/prototype_semcog/configs/transit_pass_subsidy.yaml create mode 100644 activitysim/examples/prototype_semcog/configs/transit_pass_subsidy_coeffs.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/trip_destination.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/trip_destination.yaml (96%) rename activitysim/examples/{example_psrc => prototype_semcog}/configs/trip_destination_annotate_trips_preprocessor.csv (98%) create mode 100755 activitysim/examples/prototype_semcog/configs/trip_destination_sample.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/trip_mode_choice.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/trip_mode_choice.yaml (95%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/trip_mode_choice_annotate_trips_preprocessor.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/trip_mode_choice_coeffs.csv (98%) create mode 100755 activitysim/examples/prototype_semcog/configs/trip_purpose.yaml create mode 100755 activitysim/examples/prototype_semcog/configs/trip_purpose_and_destination.yaml create mode 100755 activitysim/examples/prototype_semcog/configs/trip_purpose_annotate_trips_preprocessor.csv create mode 100755 activitysim/examples/prototype_semcog/configs/trip_purpose_probs.csv create mode 100755 activitysim/examples/prototype_semcog/configs/trip_scheduling.yaml rename activitysim/examples/{example_semcog => prototype_semcog}/configs/trip_scheduling_probs.csv (99%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/work_from_home.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/work_from_home.yaml (96%) create mode 100755 activitysim/examples/prototype_semcog/configs/work_from_home_coeffs.csv rename activitysim/examples/{example_semcog => prototype_semcog}/configs/workplace_location.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/workplace_location.yaml (96%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/workplace_location_coeffs.csv (96%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/workplace_location_sample.csv (98%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/write_trip_matrices.yaml (96%) rename activitysim/examples/{example_semcog => prototype_semcog}/configs/write_trip_matrices_annotate_trips_preprocessor.csv (98%) create mode 100755 activitysim/examples/prototype_semcog/configs_mp/logging.yaml rename activitysim/examples/{example_semcog => prototype_semcog}/configs_mp/settings.yaml (95%) create mode 100755 activitysim/examples/prototype_semcog/configs_mp/shadow_pricing.yaml rename activitysim/examples/{example_semcog => prototype_semcog}/data/households.csv (100%) rename activitysim/examples/{example_semcog => prototype_semcog}/data/land_use.csv (100%) rename activitysim/examples/{example_semcog => prototype_semcog}/data/persons.csv (100%) rename activitysim/examples/{example_semcog => prototype_semcog}/data/skims.omx (100%) create mode 100644 activitysim/examples/prototype_semcog/extensions/__init__.py create mode 100755 activitysim/examples/prototype_semcog/extensions/telecommute_frequency.py create mode 100644 activitysim/examples/prototype_semcog/extensions/transit_pass_ownership.py create mode 100644 activitysim/examples/prototype_semcog/extensions/transit_pass_subsidy.py create mode 100755 activitysim/examples/prototype_semcog/extensions/work_from_home.py rename activitysim/examples/{example_semcog/test => prototype_semcog}/output/.gitignore (100%) rename activitysim/examples/{example_semcog/test => prototype_semcog}/output/cache/.gitignore (100%) rename activitysim/examples/{example_semcog/output/trace => prototype_semcog/output/log}/.gitignore (100%) rename activitysim/examples/{example_semcog/test => prototype_semcog}/output/trace/.gitignore (100%) create mode 100644 activitysim/examples/prototype_semcog/scripts/reindex_household_ids.py rename activitysim/examples/{example_semcog => prototype_semcog}/scripts/semcog_crop.py (71%) rename activitysim/examples/{example_arc/test => prototype_semcog}/simulation.py (84%) rename activitysim/examples/{example_semcog => prototype_semcog}/test/configs/settings.yaml (100%) create mode 100644 activitysim/examples/prototype_semcog/test/output/.gitignore create mode 100644 activitysim/examples/prototype_semcog/test/output/cache/.gitignore create mode 100644 activitysim/examples/prototype_semcog/test/output/trace/.gitignore rename activitysim/examples/{example_semcog => prototype_semcog}/test/regress/final_trips.csv (100%) rename activitysim/examples/{example_semcog => prototype_semcog}/test/test_semcog.py (50%) create mode 100644 conda-environments/docbuild.yml create mode 100644 conda-environments/github-actions-tests.yml create mode 100644 docs/_static/switcher.json create mode 100644 docs/_templates/version-date.html create mode 100644 docs/dev-guide/index.rst create mode 100644 docs/dev-guide/install.md create mode 100644 docs/users-guide/configuration.rst create mode 100644 docs/users-guide/index.rst delete mode 100644 ez_setup.py create mode 100644 pyproject.toml delete mode 100644 pytest.ini diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 8b51784e22..d18a5a1ebf 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.0.4 +current_version = 1.1.0 commit = True tag = True parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\.(?P.*))? diff --git a/.github/workflows/branch-docs.yml b/.github/workflows/branch-docs.yml new file mode 100644 index 0000000000..b197c02bd4 --- /dev/null +++ b/.github/workflows/branch-docs.yml @@ -0,0 +1,55 @@ +name: ActivitySim Branch Docs +# This workflow is provided as a service for forks to build branch-specific documentation. + +on: push + +jobs: + docbuild: + if: "contains(github.event.head_commit.message, '[makedocs]') && (github.repository_owner != 'ActivitySim') && (github.ref_name != 'develop')" + # develop branch docs are built at the end of the core test workflow, regardless of repository owner or commit message flags + name: ubuntu-latest py3.9 + runs-on: ubuntu-latest + defaults: + run: + shell: bash -l {0} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # get all tags, lets setuptools_scm do its thing + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install dependencies + uses: conda-incubator/setup-miniconda@v2 + with: + miniforge-variant: Mambaforge + miniforge-version: latest + use-mamba: true + environment-file: conda-environments/docbuild.yml + python-version: 3.9 + activate-environment: docbuild + auto-activate-base: false + auto-update-conda: false + - name: Install activitysim + run: | + python -m pip install . + - name: Conda checkup + run: | + conda info -a + conda list + echo REPOSITORY ${{ github.repository }} + echo REF ${{ github.ref }} + echo REF_NAME ${{ github.ref_name }} + - name: Build the docs + run: | + cd docs + make clean + make html + - name: Push to GitHub Pages + uses: peaceiris/actions-gh-pages@v3.8.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + # Token is created automatically by Github Actions, no other config needed + publish_dir: ./docs/_build/html + destination_dir: ${{ github.ref_name }} diff --git a/.github/workflows/config-testpypi-version.py b/.github/workflows/config-testpypi-version.py new file mode 100644 index 0000000000..c4359d29e7 --- /dev/null +++ b/.github/workflows/config-testpypi-version.py @@ -0,0 +1,50 @@ +import argparse +import copy +import pathlib + +import tomli +import tomli_w + + +def split_path(path, sep="/"): + if isinstance(path, str): + return [part for part in path.split(sep) if part] + else: + return path + + +def extract(mapping, path, sep="/"): + parts = split_path(path, sep=sep) + cur = mapping + for part in parts: + cur = cur[part] + + return cur + + +def update(mapping, path, value, sep="/"): + new = copy.deepcopy(mapping) + + parts = split_path(path, sep=sep) + parent = extract(new, parts[:-1]) + parent[parts[-1]] = value + + return new + + +parser = argparse.ArgumentParser() +parser.add_argument("path", type=pathlib.Path) +args = parser.parse_args() + +content = args.path.read_text() +decoded = tomli.loads(content) +with_local_scheme = update( + decoded, "tool.setuptools_scm.local_scheme", "no-local-version", sep="." +) +# work around a bug in setuptools / setuptools-scm +with_setuptools_pin = copy.deepcopy(with_local_scheme) +requires = extract(with_setuptools_pin, "build-system.requires", sep=".") +requires[0] = "setuptools>=42,<60" + +new_content = tomli_w.dumps(with_setuptools_pin) +args.path.write_text(new_content) diff --git a/.github/workflows/core_tests.yml b/.github/workflows/core_tests.yml new file mode 100644 index 0000000000..ef4b4acaf4 --- /dev/null +++ b/.github/workflows/core_tests.yml @@ -0,0 +1,361 @@ +name: Core Testing + +on: + push: + branches: + - '*' + + pull_request: + branches: + - '*' + +env: + CACHE_NUMBER: 1 # increase to reset cache manually + +jobs: + foundation: + + strategy: + matrix: + python-version: [3.9] + defaults: + run: + shell: bash -l {0} + name: linux-64-py${{ matrix.python-version }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup Mambaforge + uses: conda-incubator/setup-miniconda@v2 + with: + miniforge-variant: Mambaforge + miniforge-version: latest + activate-environment: asim-test + use-mamba: true + python-version: ${{ matrix.python-version }} + + - name: Set cache date for year and month + run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV + + - uses: actions/cache@v2 + with: + path: /usr/share/miniconda3/envs/asim-test + key: linux-64-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} + id: cache + + - name: Update environment + run: mamba env update -n asim-test -f conda-environments/github-actions-tests.yml + if: steps.cache.outputs.cache-hit != 'true' + + - name: Install activitysim + # installing without dependencies is faster, we trust that all needed dependencies + # are in the conda environment defined above. Also, this avoids pip getting + # confused and reinstalling tables (pytables). + run: | + python -m pip install -e . --no-deps + + - name: Conda checkup + run: | + mamba info -a + mamba list + + - name: Lint with Black + run: | + # stop the build if there are problems + black --check --diff . + + - name: Test activitysim.core + run: | + python -m pytest --pyargs activitysim.core + + - name: Test activitysim.abm.models + run: | + python -m pytest --pyargs activitysim.abm.models + + - name: Test activitysim.abm.test + run: | + python -m pytest --pyargs activitysim.abm.test + + - name: Test activitysim.cli + run: | + python -m pytest --pyargs activitysim.cli + + cross-platform: + # also test foundation cross platforms, but do not require a successful + # completion before starting regional model tests + needs: foundation + strategy: + matrix: + include: + - os: macos-latest + label: macOS + prefix: /Users/runner/miniconda3/envs/asim-test + python-version: 3.9 + + - os: windows-latest + label: win-64 + prefix: C:\Miniconda3\envs\asim-test + python-version: 3.9 + + defaults: + run: + shell: bash -l {0} + + name: ${{ matrix.label }} + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + + - name: Setup Mambaforge + uses: conda-incubator/setup-miniconda@v2 + with: + miniforge-variant: Mambaforge + miniforge-version: latest + activate-environment: asim-test + use-mamba: true + python-version: ${{ matrix.python-version }} + + - name: Set cache date for year and month + run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV + + - uses: actions/cache@v2 + with: + path: ${{ matrix.prefix }} + key: ${{ matrix.label }}-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} + id: cache + + - name: Update environment + run: mamba env update -n asim-test -f conda-environments/github-actions-tests.yml + if: steps.cache.outputs.cache-hit != 'true' + + - name: Install activitysim + # installing without dependencies is faster, we trust that all needed dependencies + # are in the conda environment defined above. Also, this avoids pip getting + # confused and reinstalling tables (pytables). + run: | + python -m pip install -e . --no-deps + + - name: Conda checkup + run: | + mamba info -a + mamba list + + - name: Lint with Black + run: | + # stop the build if there are problems + black --check --diff . + + - name: Test activitysim.core + run: | + python -m pytest --pyargs activitysim.core + + - name: Test activitysim.abm.models + run: | + python -m pytest --pyargs activitysim.abm.models + + - name: Test activitysim.abm.test + run: | + python -m pytest --pyargs activitysim.abm.test + + - name: Test activitysim.cli + run: | + python -m pytest --pyargs activitysim.cli + + regional_models: + needs: foundation + env: + mamba-env-prefix: /usr/share/miniconda3/envs/asim-test + python-version: 3.9 + label: linux-64 + strategy: + matrix: + region: + - prototype_mtc + - prototype_arc + - placeholder_psrc + - prototype_marin + - prototype_mtc_extended + - placeholder_sandag + - prototype_sandag_xborder + - prototype_semcog + - prototype_mwcog + - placeholder_multiple_zone + fail-fast: false + defaults: + run: + shell: bash -l {0} + name: ${{ matrix.region }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup Mambaforge + uses: conda-incubator/setup-miniconda@v2 + with: + miniforge-variant: Mambaforge + miniforge-version: latest + activate-environment: asim-test + use-mamba: true + python-version: ${{ env.python-version }} + + - name: Set cache date for year and month + run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV + + - uses: actions/cache@v2 + with: + path: ${{ env.mamba-env-prefix }} + key: ${{ env.label }}-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} + id: cache + + - name: Update environment + run: mamba env update -n asim-test -f conda-environments/github-actions-tests.yml + if: steps.cache.outputs.cache-hit != 'true' + + - name: Install activitysim + # installing without dependencies is faster, we trust that all needed dependencies + # are in the conda environment defined above. Also, this avoids pip getting + # confused and reinstalling tables (pytables). + run: | + python -m pip install -e . --no-deps + + - name: Conda checkup + run: | + mamba info -a + mamba list + + # TODO: Cache sharrow compiled flows? The contents of __pycache__ appear to + # be ignored, so this is not working as expected right now + # + # - name: Define Inputs + # run: echo "REGION_DEFS=activitysim/examples/${{ matrix.region }}/** " >> $GITHUB_ENV + # + # - name: Get a random number + # run: echo "RANDOM_SUFFIX=${RANDOM}${RANDOM}" >> $GITHUB_ENV + # + # - uses: actions/cache@v2 + # # store the regional model's cache directory in github actions cache + # # this will (almost) never hit on primary key due to the random number + # # but will pull the most recent cache from restore-keys... and then + # # update the cache with additional compiled flows as needed. + # # Hoping this will result in fewer re-compiles on tests and faster + # # testing overall + # with: + # path: activitysim/examples/${{ matrix.region }}/test/output/cache + # key: ${{ matrix.region }}-${{ env.label }}-${{ hashFiles(env.REGION_DEFS) }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }}-${{ env.RANDOM_SUFFIX }} + # restore-keys: | + # ${{ matrix.region }}-${{ env.label }}-${{ hashFiles(env.REGION_DEFS) }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} + # id: cache-example + + - name: Test ${{ matrix.region }} + run: | + python -m pytest activitysim/examples/${{ matrix.region }}/test --durations=0 + + estimation_mode: + needs: foundation + env: + mamba-env-prefix: /usr/share/miniconda3/envs/asim-test + python-version: 3.9 + label: linux-64 + defaults: + run: + shell: bash -l {0} + name: estimation_mode_test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup Mambaforge + uses: conda-incubator/setup-miniconda@v2 + with: + miniforge-variant: Mambaforge + miniforge-version: latest + activate-environment: asim-test + use-mamba: true + python-version: ${{ env.python-version }} + + - name: Set cache date for year and month + run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV + + - uses: actions/cache@v2 + with: + path: ${{ env.mamba-env-prefix }} + key: ${{ env.label }}-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }} + id: cache + + - name: Update environment + run: mamba env update -n asim-test -f conda-environments/github-actions-tests.yml + if: steps.cache.outputs.cache-hit != 'true' + + - name: Install Larch + run: mamba install "larch>=5.5.3" + + - name: Install activitysim + # installing without dependencies is faster, we trust that all needed dependencies + # are in the conda environment defined above. Also, this avoids pip getting + # confused and reinstalling tables (pytables). + run: | + python -m pip install -e . --no-deps + + - name: Conda checkup + run: | + mamba info -a + mamba list + + - name: Test Estimation Mode + run: | + python -m pytest activitysim/estimation/test/test_larch_estimation.py --durations=0 + + develop-docbuild: + needs: foundation + if: github.ref_name == 'develop' + name: develop-docbuild + runs-on: ubuntu-latest + defaults: + run: + shell: bash -l {0} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # get all tags, lets setuptools_scm do its thing + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install dependencies + uses: conda-incubator/setup-miniconda@v2 + with: + miniforge-variant: Mambaforge + miniforge-version: latest + use-mamba: true + environment-file: conda-environments/docbuild.yml + python-version: 3.9 + activate-environment: docbuild + auto-activate-base: false + auto-update-conda: false + - name: Install activitysim + run: | + python -m pip install . + - name: Conda checkup + run: | + conda info -a + conda list + echo ${{ github.repository }} + echo ${{ github.ref_name }} + - name: localize version switcher + run: | + python .github/workflows/localize-base-urls.py docs/_static/switcher.json + git update-index --assume-unchanged docs/_static/switcher.json + cat docs/_static/switcher.json + - name: Build the docs + run: | + cd docs + make clean + make html + - name: Push to GitHub Pages + uses: peaceiris/actions-gh-pages@v3.8.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + # Token is created automatically by Github Actions, no other config needed + publish_dir: ./docs/_build/html + destination_dir: develop diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml new file mode 100644 index 0000000000..7b41abe603 --- /dev/null +++ b/.github/workflows/deployment.yml @@ -0,0 +1,144 @@ +name: ActivitySim to PyPI + +on: + release: + types: + - published + push: + tags: + - 'v*' + +jobs: + build-artifacts: + runs-on: ubuntu-latest + if: github.repository == 'ActivitySim/activitysim' + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: actions/setup-python@v4 + name: Install Python + with: + python-version: 3.9 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install build setuptools setuptools-scm wheel twine check-manifest + - name: Build tarball and wheels + run: | + git clean -xdf + git restore -SW . + python -m build --sdist --wheel . + - name: Check built artifacts + run: | + python -m twine check dist/* + pwd + if [ -f dist/activitysim-0.0.0.tar.gz ]; then + echo "❌ INVALID VERSION NUMBER" + exit 1 + else + echo "✅ Looks good" + fi + - uses: actions/upload-artifact@v3 + with: + name: releases + path: dist + + test-built-dist: + needs: build-artifacts + runs-on: ubuntu-latest + steps: + - uses: actions/setup-python@v4 + name: Install Python + with: + python-version: 3.9 + - uses: actions/download-artifact@v3 + with: + name: releases + path: dist + - name: List contents of built dist + run: | + ls -ltrh + ls -ltrh dist + - name: Verify the built dist/wheel is valid + if: github.event_name == 'push' + run: | + python -m pip install --upgrade pip + python -m pip install dist/activitysim*.whl + python -m activitysim --version + - name: Publish package to TestPyPI + if: github.event_name == 'push' + uses: pypa/gh-action-pypi-publish@v1.5.1 + with: + user: __token__ + password: ${{ secrets.TESTPYPI_TOKEN }} + repository_url: https://test.pypi.org/legacy/ + verbose: true + + docbuild: + needs: test-built-dist + if: github.event_name == 'release' + name: ubuntu-latest py3.9 + runs-on: ubuntu-latest + defaults: + run: + shell: bash -l {0} + steps: + - uses: actions/checkout@v3 + - uses: actions/download-artifact@v3 + with: + name: releases + path: dist + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install dependencies + uses: conda-incubator/setup-miniconda@v2 + with: + miniforge-variant: Mambaforge + miniforge-version: latest + use-mamba: true + environment-file: conda-environments/docbuild.yml + python-version: 3.9 + activate-environment: docbuild + auto-activate-base: false + auto-update-conda: false + - name: Install activitysim + run: | + python -m pip install dist/activitysim-*.whl + - name: Conda checkup + run: | + conda info -a + conda list + echo REPOSITORY ${{ github.repository }} + echo REF ${{ github.ref }} + echo REF_NAME ${{ github.ref_name }} + - name: Build the docs + run: | + cd docs + make clean + make html + - name: Push to GitHub Pages + uses: peaceiris/actions-gh-pages@v3.8.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + # Token is created automatically by Github Actions, no other config needed + publish_dir: ./docs/_build/html + destination_dir: ${{ github.ref_name }} + + upload-to-pypi: + needs: test-built-dist + if: github.event_name == 'release' + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v3 + with: + name: releases + path: dist + - name: Publish package to PyPI + uses: pypa/gh-action-pypi-publish@v1.5.1 + with: + user: __token__ + password: ${{ secrets.PYPI_TOKEN }} + verbose: true diff --git a/.github/workflows/localize-base-urls.py b/.github/workflows/localize-base-urls.py new file mode 100644 index 0000000000..a32be5e43e --- /dev/null +++ b/.github/workflows/localize-base-urls.py @@ -0,0 +1,18 @@ +import argparse +import os +import pathlib + +GITHUB_REPOSITORY_OWNER = os.environ.get( + "GITHUB_REPOSITORY_OWNER", "ActivitySim" +).lower() + +parser = argparse.ArgumentParser() +parser.add_argument("path", type=pathlib.Path) +args = parser.parse_args() + +if GITHUB_REPOSITORY_OWNER != "activitysim": + content = args.path.read_text() + new_content = content.replace( + "activitysim.github.io", f"{GITHUB_REPOSITORY_OWNER}.github.io" + ) + args.path.write_text(new_content) diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml new file mode 100644 index 0000000000..111a472d3d --- /dev/null +++ b/.github/workflows/test-deploy.yml @@ -0,0 +1,81 @@ +name: Test to PyPI + +on: + push: + branches: + - 'main' + - 'develop' + +# no need for concurrency limits + +jobs: + build-artifacts: + runs-on: ubuntu-latest + if: github.repository == 'ActivitySim/activitysim' + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: actions/setup-python@v4 + name: Install Python + with: + python-version: "3.9" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install build setuptools setuptools-scm wheel twine check-manifest + python -m pip install tomli tomli_w + - name: Disable local versions + run: | + python .github/workflows/config-testpypi-version.py pyproject.toml + git update-index --assume-unchanged pyproject.toml + cat pyproject.toml + - name: Build tarball and wheels + run: | + git clean -xdf + python -m build --sdist --wheel . + - name: Check built artifacts + run: | + python -m twine check dist/* + pwd + if [ -f dist/activitysim-0.0.0.tar.gz ]; then + echo "❌ INVALID VERSION NUMBER" + exit 1 + else + echo "✅ Looks good" + fi + - uses: actions/upload-artifact@v3 + with: + name: releases + path: dist + + test-built-dist: + needs: build-artifacts + runs-on: ubuntu-latest + steps: + - uses: actions/setup-python@v4 + name: Install Python + with: + python-version: "3.9" + - uses: actions/download-artifact@v3 + with: + name: releases + path: dist + - name: List contents of built dist + run: | + ls -ltrh + ls -ltrh dist + - name: Verify the built dist/wheel is valid + if: github.event_name == 'push' + run: | + python -m pip install --upgrade pip + python -m pip install dist/activitysim*.whl + python -m activitysim --version + - name: Publish package to TestPyPI + if: github.event_name == 'push' + uses: pypa/gh-action-pypi-publish@v1.5.1 + with: + user: __token__ + password: ${{ secrets.TESTPYPI_TOKEN }} + repository_url: https://test.pypi.org/legacy/ + verbose: true \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6db55f67e9..f89439651a 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,5 @@ _test_est *_local.* **/output/ +**/_generated_version.py +docs/**/_generated diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000..4556a45a8f --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,26 @@ +repos: + +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.3.0 + hooks: + - id: check-yaml + exclude: logging.yaml # TODO don't exclude, will require fixing logging + - id: end-of-file-fixer + exclude: .*\.ipynb + - id: trailing-whitespace + +- repo: https://github.com/pycqa/isort + rev: 5.10.1 + hooks: + - id: isort + args: ["--profile", "black", "--filter-files"] + +- repo: https://github.com/psf/black + rev: 22.6.0 + hooks: + - id: black + +- repo: https://github.com/PyCQA/flake8 + rev: 5.0.4 + hooks: + - id: flake8 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 39a1edcab3..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,105 +0,0 @@ -os: linux -language: python - -env: - global: - - TEST_ENV=activitysim-test - -jobs: - include: - # Add new TEST_SUITE jobs as needed via Travis build matrix expansion - # define an alternative TEST_ENV to add special dependencies for particular tests - # Test suites are arranged in groups; all tests in a group must pass before - # the next stage group can begin. - - - stage: Core Functionality - env: TEST_SUITE=activitysim/abm/models - - env: TEST_SUITE=activitysim/abm/test - - env: TEST_SUITE=activitysim/cli - - env: TEST_SUITE=activitysim/core - - - stage: Examples - name: "MTC Example" - env: TEST_SUITE=activitysim/examples/example_mtc/test - - name: "MTC Extended Example" - env: TEST_SUITE=activitysim/examples/example_mtc_extended/test - - name: "Multizone Example" - env: TEST_SUITE=activitysim/examples/example_multiple_zone/test - - name: "Marin Example" - env: TEST_SUITE=activitysim/examples/example_marin/test - - name: "ARC Example" - env: TEST_SUITE=activitysim/examples/example_arc/test - - name: "SEMCOG Example" - env: TEST_SUITE=activitysim/examples/example_semcog/test - - name: "PSRC Example" - env: TEST_SUITE=activitysim/examples/example_psrc/test - - name: "SANDAG Example" - env: TEST_SUITE=activitysim/examples/example_sandag/test - - name: "SANDAG Cross-Border Example" - env: TEST_SUITE=activitysim/examples/example_sandag_xborder/test - - - stage: Estimation Mode - name: "Larch Test" - env: TEST_SUITE=activitysim/estimation/test/test_larch_estimation.py TEST_ENV="activitysim-test-larch" - - - stage: Deployment - name: Documentation - env: TEST_ENV="activitysim-test-larch" - script: - - coveralls - # Build docs - - mamba install sphinx numpydoc - - conda install -c conda-forge sphinx_rtd_theme==0.5.2 - - cd docs - - make clean - - make html - - touch _build/html/.nojekyll - deploy: - - provider: pages - local_dir: docs/_build/html - skip_cleanup: true - github_token: $GH_TOKEN # Set in the settings page of the repository, as a secure variable - keep_history: true - on: - branch: master - - name: "PyPI Deployment" - script: skip # do not want to rerun any tests - deploy: - - provider: pypi - username: "__token__" - password: "$PYPI_AUTH_TOKEN" # Set in the settings page of the repository, as a secure variable - skip_existing: true - on: - branch: [ master ] - -python: - - '3.9' - -install: -- wget -O Mambaforge.sh https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh -- bash Mambaforge.sh -b -p $HOME/miniconda -- source "$HOME/miniconda/etc/profile.d/conda.sh" -- hash -r -- conda config --set always_yes yes --set changeps1 no -- mamba update -q mamba -- mamba info -a -# write travis python version into selected test environment definition file -- sed -e "s/\${TRAVIS_PYTHON_VERSION}/${TRAVIS_PYTHON_VERSION}/" conda-environments/${TEST_ENV}.yml > conda-env.yml -# create test environment in one pass -- mamba env create -n asimtest --file conda-env.yml -- conda activate asimtest -- pip install . -- pip freeze - -script: -# This is the "default" script used for each test suite, unless overridden with a "script" in the jobs above. -# build 2 and 3 zone test data twice since the Python test code on Linux sees these as different locations -- python activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py -- python activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py -- python /home/travis/miniconda/envs/asimtest/lib/python$TRAVIS_PYTHON_VERSION/site-packages/activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py -- python /home/travis/miniconda/envs/asimtest/lib/python$TRAVIS_PYTHON_VERSION/site-packages/activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py -# pycodestyle -- pycodestyle activitysim -# run specific TEST_SUITE job on travis to avoid job max time -- travis_wait 50 py.test $TEST_SUITE --cov activitysim --cov-report term-missing --durations=0 -- coveralls diff --git a/HOW_TO_RELEASE.md b/HOW_TO_RELEASE.md index eba38de1c1..edbfee7c22 100644 --- a/HOW_TO_RELEASE.md +++ b/HOW_TO_RELEASE.md @@ -5,9 +5,9 @@ 01. Check that the branch you intend to release is passing tests on Travis. If it's not passing there you should not release it. -00. Start from a completely clean conda environment - and git repository. Assuming you have `conda` installed, you can do so - by starting where ActivitySim is not yet cloned (e.g. in an empty +00. Start from a completely clean conda environment + and git repository. Assuming you have `conda` installed, you can do so + by starting where ActivitySim is not yet cloned (e.g. in an empty directory) and running: ```sh conda create -n TEMP-ASIM-DEV python=3.9 git gh -c conda-forge --override-channels @@ -17,9 +17,9 @@ cd activitysim ``` -00. Per project policy, code on the master branch should have been released, +00. Per project policy, code on the main branch should have been released, but if you are *preparing* a release then the code should be on the `develop` - branch. Switch to that branch now, and make sure it is synced to the + branch. Switch to that branch now, and make sure it is synced to the version on GitHub: ```sh git switch develop @@ -28,45 +28,46 @@ 00. Update your Conda environment for testing. We do not want to use an existing environment on your machine, as it may be out-of-date - and we want to make sure everything passes muster using the + and we want to make sure everything passes muster using the most up-to-date dependencies available. The following command - will update the active environment (we made this to be `TEMP-ASIM-DEV` + will update the active environment (we made this to be `TEMP-ASIM-DEV` if you followed the directions above). ```sh conda env update --file=conda-environments/activitysim-dev.yml ``` - If you add to the ActivitySim dependencies, make sure to also update - the environments in `conda-environments`, which are used for testing - and development. If they are not updated, these environments will end + If you add to the ActivitySim dependencies, make sure to also update + the environments in `conda-environments`, which are used for testing + and development. If they are not updated, these environments will end up with dependencies loaded from *pip* instead of *conda-forge*. -00. Run pycodestyle to ensure that the codebase passes all style checks. +00. Run `black` to ensure that the codebase passes minimal style checks. This check should only take a few seconds. These checks are also done on - Travis and are platform independent, so they should not be necessary to + GitHub Actions and are platform independent, so they should not be necessary to replicate locally, but are listed here for completeness. ```sh - pycodestyle . + black --check --diff . ``` -00. Run the regular test suite on Windows. Travis tests are done on Linux, - but most users are on Windows, and the test suite should also be run - on Windows to ensure that it works on that platform as well. If you +00. Run the regular test suite on Windows. Most GitHub Actions tests are done on Linux, + Linux (it's faster to start up and run a new clean VM for testing) but most + users are on Windows, and the test suite should also be run on Windows to + ensure that it works on that platform as well. If you are not preparing this release on Windows, you should be sure to run - at least through this step on a Windows machine before finalizing a - release. - - A few of the tests require pre-created data that is not included in the - repository directly, but rather recreated on the fly before testing. The - regular test suite takes some time to run, between about half an hour and + at least through this step on a Windows machine before finalizing a + release. + + A few of the tests require pre-created data that is not included in the + repository directly, but rather recreated on the fly before testing. The + regular test suite takes some time to run, between about half an hour and two hours depending on the specs of your machine. ```sh - python activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py - python activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py + python activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py + python activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py pytest . ``` - + 00. Test the full-scale regional examples. These examples are big, too - large to run on Travis, and will take a lot of time (many hours) to + large to run on GitHub Actions, and will take a lot of time (many hours) to download and run. ```sh mkdir tmp-asim @@ -76,68 +77,41 @@ call run_all_examples.bat ``` These tests will run through the gamut even if some of them crash, so - if you don't sit and watch them go (please don't do this) you'll need + if you don't sit and watch them go (please don't do this) you'll need to scan through the results to make sure there are no errors after the fact. ```sh python ../activitysim/examples/scan_examples_for_errors.py . ``` -00. Test the notebooks in `activitysim/examples/example_mtc/notebooks`. - There are also demo notebooks for estimation, but their functionality +00. Test the notebooks in `activitysim/examples/prototype_mtc/notebooks`. + There are also demo notebooks for estimation, but their functionality is completely tested in the unit tests run previously. -00. Use bump2version to tag the release commit and update the - version number. The following code will generate a "patch" release, - incrementing the third value in the version number (i.e. "1.2.3" - becomes "1.2.4"). Alternatively, make a "minor" or "major" release. - The `--list` command will generate output to your console to confirm - that the old and new version numbers are what you expect, before you - push the commit (with the changed version in the code) and tags to - GitHub. - ```sh - bump2version patch --list - ``` - - It is also possible to make a development pre-release. To do so, - explicitly set the version number to the next patch plus a ".devN" - suffix: - - ```sh - bump2version patch --new-version 1.2.3.dev0 --list - ``` - - Then, when ready to make a "final" release, set the version by - explicitly removing the suffix: - ```sh - bump2version patch --new-version 1.2.3 --list - ``` - -00. Push the tagged commit to GitHub. - ```sh - git push --tags - ``` - -00. For non-development releases, open a pull request to merge the proposed - release into master. The following command will open a web browser for +00. For non-development releases, open a pull request to merge the proposed + release into main. The following command will open a web browser for you to create the pull request. ```sh gh pr create --web ``` After creating the PR, confirm with the ActivitySim PMC that the release is ready before actually merging it. - - Once final approval is granted, merge the PR into master. The presence + + Once final approval is granted, merge the PR into main. The presence of the git tags added earlier will trigger automated build steps to prepare and deploy the release to pypi and conda-forge. - + 00. Create a "release" on GitHub. ```sh gh release create v1.2.3 ``` + The process of creating and tagging a release will automatically + trigger various GitHub Actions scripts to build, test, and publish the + new release to PyPI and conda forge, assuming there are no errors. + For a development pre-release, include the `--prerelease` argument. As the project's policy is that only formally released code is merged - to the master branch, any pre-release should also be built against a + to the main branch, any pre-release should also be built against a non-default branch. For example, to pre-release from the `develop` branch: ```sh @@ -147,11 +121,19 @@ --notes "this pre-release is for a cool new feature" \ --title "Development Pre-Release" ``` - -00. Clean up your workspace, including removing the Conda environment used for - testing (which will prevent you from accidentally using an old + +00. Clean up your workspace, including removing the Conda environment used for + testing (which will prevent you from accidentally using an old environment when you should have a fresh up-to-date one next time). ```sh conda deactivate conda env remove -n TEMP-ASIM-DEV - ``` \ No newline at end of file + ``` + +00. Change the default redirect page for the ActivitySim documentation to point + to the newly released documentation. The redirect page can be edited + [here](https://github.com/ActivitySim/activitysim/blob/gh-pages/index.html). + +00. Add the new release to the `switch.json` file. Don't delete the references + for existing old documentation. The switcher can be edited + [here](https://github.com/ActivitySim/activitysim/blob/gh-pages/switcher.json). diff --git a/README.md b/README.md index 8c8d2e32d2..2df8fe1526 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ActivitySim =========== -[![Build Status](https://travis-ci.com/ActivitySim/activitysim.svg?branch=master)](https://travis-ci.org/github/ActivitySim/activitysim)[![Coverage Status](https://coveralls.io/repos/github/ActivitySim/activitysim/badge.svg?branch=master)](https://coveralls.io/github/ActivitySim/activitysim?branch=master) +[![Build Status](https://travis-ci.com/ActivitySim/activitysim.svg?branch=main)](https://travis-ci.org/github/ActivitySim/activitysim)[![Coverage Status](https://coveralls.io/repos/github/ActivitySim/activitysim/badge.svg?branch=main)](https://coveralls.io/github/ActivitySim/activitysim?branch=main) The mission of the ActivitySim project is to create and maintain advanced, open-source, activity-based travel behavior modeling software based on best software development diff --git a/activitysim/__init__.py b/activitysim/__init__.py index 686f456fdc..57b8b7ab38 100644 --- a/activitysim/__init__.py +++ b/activitysim/__init__.py @@ -1,6 +1,18 @@ # ActivitySim # See full license in LICENSE.txt. +__doc__ = "Activity-Based Travel Modeling" -__version__ = '1.0.4' -__doc__ = 'Activity-Based Travel Modeling' +try: + from ._generated_version import __version__, __version_tuple__ +except ImportError: + # Package is not "installed", parse git tag at runtime + from importlib.metadata import PackageNotFoundError, version + + try: + __version__ = version(__package__) + except PackageNotFoundError: + # package is not installed + __version__ = "999" + + __version_tuple__ = __version__.split(".") diff --git a/activitysim/__main__.py b/activitysim/__main__.py new file mode 100644 index 0000000000..c7112daf9c --- /dev/null +++ b/activitysim/__main__.py @@ -0,0 +1,37 @@ +# This file allows running ActivitySim as a Python module from the command line. +# For example: +# +# python -m activitysim run ... +# +# This style of calling ActivitySim permits developers to more easily ensure +# they are calling the correct version that has been installed with the +# particular Python executable invoked, especially for debugging. It also can +# be configured to invoke differ configurations automatically (like engaging the +# threadstopper options to prevent multithread thrashing). It is probably not +# needed by typical users with only one installed version. + +import os +import sys + + +def main(): + # clean up message formatting + if sys.argv and sys.argv[0].endswith("__main__.py"): + sys.argv[0] = "activitysim" + + # threadstopper + if "--fast" not in sys.argv: + os.environ["MKL_NUM_THREADS"] = "1" + os.environ["OMP_NUM_THREADS"] = "1" + os.environ["OPENBLAS_NUM_THREADS"] = "1" + os.environ["NUMBA_NUM_THREADS"] = "1" + os.environ["VECLIB_MAXIMUM_THREADS"] = "1" + os.environ["NUMEXPR_NUM_THREADS"] = "1" + + from .cli.main import main + + main() + + +if __name__ == "__main__": + main() diff --git a/activitysim/abm/__init__.py b/activitysim/abm/__init__.py index 98b4b2cb14..eb5a299611 100644 --- a/activitysim/abm/__init__.py +++ b/activitysim/abm/__init__.py @@ -1,5 +1,3 @@ # ActivitySim # See full license in LICENSE.txt. -from . import misc -from . import tables -from . import models +from . import misc, models, tables diff --git a/activitysim/abm/misc.py b/activitysim/abm/misc.py index 994346dfc2..528c8db937 100644 --- a/activitysim/abm/misc.py +++ b/activitysim/abm/misc.py @@ -4,8 +4,7 @@ import pandas as pd -from activitysim.core import config -from activitysim.core import inject +from activitysim.core import config, inject # FIXME # warnings.filterwarnings('ignore', category=pd.io.pytables.PerformanceWarning) @@ -18,7 +17,7 @@ def households_sample_size(settings, override_hh_ids): if override_hh_ids is None: - return settings.get('households_sample_size', 0) + return settings.get("households_sample_size", 0) else: return 0 if override_hh_ids is None else len(override_hh_ids) @@ -26,18 +25,20 @@ def households_sample_size(settings, override_hh_ids): @inject.injectable(cache=True) def override_hh_ids(settings): - hh_ids_filename = settings.get('hh_ids', None) + hh_ids_filename = settings.get("hh_ids", None) if hh_ids_filename is None: return None file_path = config.data_file_path(hh_ids_filename, mandatory=False) if not file_path: - logger.error("hh_ids file name '%s' specified in settings not found" % hh_ids_filename) + logger.error( + "hh_ids file name '%s' specified in settings not found" % hh_ids_filename + ) return None - df = pd.read_csv(file_path, comment='#') + df = pd.read_csv(file_path, comment="#") - if 'household_id' not in df.columns: + if "household_id" not in df.columns: logger.error("No 'household_id' column in hh_ids file %s" % hh_ids_filename) return None @@ -47,8 +48,10 @@ def override_hh_ids(settings): logger.error("No households in hh_ids file %s" % hh_ids_filename) return None - logger.info("Using hh_ids list with %s households from file %s" % - (len(household_ids), hh_ids_filename)) + logger.info( + "Using hh_ids list with %s households from file %s" + % (len(household_ids), hh_ids_filename) + ) return household_ids @@ -56,10 +59,12 @@ def override_hh_ids(settings): @inject.injectable(cache=True) def trace_hh_id(settings): - id = settings.get('trace_hh_id', None) + id = settings.get("trace_hh_id", None) if id and not isinstance(id, int): - logger.warning("setting trace_hh_id is wrong type, should be an int, but was %s" % type(id)) + logger.warning( + "setting trace_hh_id is wrong type, should be an int, but was %s" % type(id) + ) id = None return id @@ -68,9 +73,11 @@ def trace_hh_id(settings): @inject.injectable(cache=True) def trace_od(settings): - od = settings.get('trace_od', None) + od = settings.get("trace_od", None) - if od and not (isinstance(od, list) and len(od) == 2 and all(isinstance(x, int) for x in od)): + if od and not ( + isinstance(od, list) and len(od) == 2 and all(isinstance(x, int) for x in od) + ): logger.warning("setting trace_od should be a list of length 2, but was %s" % od) od = None @@ -79,11 +86,11 @@ def trace_od(settings): @inject.injectable(cache=True) def chunk_size(settings): - _chunk_size = int(settings.get('chunk_size', 0) or 0) + _chunk_size = int(settings.get("chunk_size", 0) or 0) return _chunk_size @inject.injectable(cache=True) def check_for_variability(settings): - return bool(settings.get('check_for_variability', False)) + return bool(settings.get("check_for_variability", False)) diff --git a/activitysim/abm/models/__init__.py b/activitysim/abm/models/__init__.py index 9e53fff809..7162226118 100644 --- a/activitysim/abm/models/__init__.py +++ b/activitysim/abm/models/__init__.py @@ -1,40 +1,45 @@ # ActivitySim # See full license in LICENSE.txt. -from . import accessibility -from . import atwork_subtour_destination -from . import atwork_subtour_frequency -from . import atwork_subtour_mode_choice -from . import atwork_subtour_scheduling -from . import auto_ownership -from . import cdap -from . import free_parking -from . import initialize -from . import initialize_tours -from . import initialize_los -from . import joint_tour_composition -from . import joint_tour_destination -from . import joint_tour_frequency -from . import joint_tour_participation -from . import joint_tour_scheduling -from . import location_choice -from . import mandatory_scheduling -from . import mandatory_tour_frequency -from . import non_mandatory_destination -from . import non_mandatory_scheduling -from . import non_mandatory_tour_frequency -from . import parking_location_choice -from . import stop_frequency -from . import tour_mode_choice -from . import tour_od_choice -from . import tour_scheduling_probabilistic -from . import trip_destination -from . import trip_mode_choice -from . import trip_purpose -from . import trip_purpose_and_destination -from . import trip_scheduling -from . import trip_departure_choice -from . import trip_scheduling_choice -from . import trip_matrices -from . import summarize -from . import vehicle_allocation -from . import vehicle_type_choice + +from . import ( + accessibility, + disaggregate_accessibility, + atwork_subtour_destination, + atwork_subtour_frequency, + atwork_subtour_mode_choice, + atwork_subtour_scheduling, + auto_ownership, + cdap, + free_parking, + initialize, + initialize_los, + initialize_tours, + joint_tour_composition, + joint_tour_destination, + joint_tour_frequency, + joint_tour_participation, + joint_tour_scheduling, + location_choice, + mandatory_scheduling, + mandatory_tour_frequency, + non_mandatory_destination, + non_mandatory_scheduling, + non_mandatory_tour_frequency, + parking_location_choice, + school_escorting, + stop_frequency, + summarize, + tour_mode_choice, + tour_od_choice, + tour_scheduling_probabilistic, + trip_departure_choice, + trip_destination, + trip_matrices, + trip_mode_choice, + trip_purpose, + trip_purpose_and_destination, + trip_scheduling, + trip_scheduling_choice, + vehicle_allocation, + vehicle_type_choice, +) diff --git a/activitysim/abm/models/accessibility.py b/activitysim/abm/models/accessibility.py index 328744374f..edd928e5c6 100644 --- a/activitysim/abm/models/accessibility.py +++ b/activitysim/abm/models/accessibility.py @@ -2,31 +2,24 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import assign -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import chunk -from activitysim.core import mem - -from activitysim.core import los +from activitysim.core import assign, chunk, config, inject, los, mem, pipeline, tracing from activitysim.core.pathbuilder import TransitVirtualPathBuilder logger = logging.getLogger(__name__) def compute_accessibilities_for_zones( - accessibility_df, - land_use_df, - assignment_spec, - constants, - network_los, - trace_od, - trace_label): + accessibility_df, + land_use_df, + assignment_spec, + constants, + network_los, + trace_od, + trace_label, +): orig_zones = accessibility_df.index.values dest_zones = land_use_df.index.values @@ -34,14 +27,16 @@ def compute_accessibilities_for_zones( orig_zone_count = len(orig_zones) dest_zone_count = len(dest_zones) - logger.info("Running %s with %d orig zones %d dest zones" % - (trace_label, orig_zone_count, dest_zone_count)) + logger.info( + "Running %s with %d orig zones %d dest zones" + % (trace_label, orig_zone_count, dest_zone_count) + ) # create OD dataframe od_df = pd.DataFrame( data={ - 'orig': np.repeat(orig_zones, dest_zone_count), - 'dest': np.tile(dest_zones, orig_zone_count) + "orig": np.repeat(orig_zones, dest_zone_count), + "dest": np.tile(dest_zones, orig_zone_count), } ) @@ -53,27 +48,32 @@ def compute_accessibilities_for_zones( # merge land_use_columns into od_df logger.info(f"{trace_label}: merge land_use_columns into od_df") - od_df = pd.merge(od_df, land_use_df, left_on='dest', right_index=True).sort_index() + od_df = pd.merge(od_df, land_use_df, left_on="dest", right_index=True).sort_index() chunk.log_df(trace_label, "od_df", od_df) locals_d = { - 'log': np.log, - 'exp': np.exp, - 'network_los': network_los, + "log": np.log, + "exp": np.exp, + "network_los": network_los, } locals_d.update(constants) skim_dict = network_los.get_default_skim_dict() - locals_d['skim_od'] = skim_dict.wrap('orig', 'dest').set_df(od_df) - locals_d['skim_do'] = skim_dict.wrap('dest', 'orig').set_df(od_df) + locals_d["skim_od"] = skim_dict.wrap("orig", "dest").set_df(od_df) + locals_d["skim_do"] = skim_dict.wrap("dest", "orig").set_df(od_df) if network_los.zone_system == los.THREE_ZONE: - locals_d['tvpb'] = network_los.tvpb + locals_d["tvpb"] = network_los.tvpb logger.info(f"{trace_label}: assign.assign_variables") - results, trace_results, trace_assigned_locals \ - = assign.assign_variables(assignment_spec, od_df, locals_d, - trace_rows=trace_od_rows, trace_label=trace_label, chunk_log=True) + results, trace_results, trace_assigned_locals = assign.assign_variables( + assignment_spec, + od_df, + locals_d, + trace_rows=trace_od_rows, + trace_label=trace_label, + chunk_log=True, + ) chunk.log_df(trace_label, "results", results) logger.info(f"{trace_label}: have results") @@ -87,23 +87,29 @@ def compute_accessibilities_for_zones( if trace_od: if not trace_od_rows.any(): - logger.warning(f"trace_od not found origin = {trace_orig}, dest = {trace_dest}") + logger.warning( + f"trace_od not found origin = {trace_orig}, dest = {trace_dest}" + ) else: # add OD columns to trace results df = pd.concat([od_df[trace_od_rows], trace_results], axis=1) # dump the trace results table (with _temp variables) to aid debugging - tracing.trace_df(df, - label='accessibility', - index_label='skim_offset', - slicer='NONE', - warn_if_empty=True) + tracing.trace_df( + df, + label="accessibility", + index_label="skim_offset", + slicer="NONE", + warn_if_empty=True, + ) if trace_assigned_locals: - tracing.write_csv(trace_assigned_locals, file_name="accessibility_locals") + tracing.write_csv( + trace_assigned_locals, file_name="accessibility_locals" + ) - return(accessibility_df) + return accessibility_df @inject.step() @@ -125,32 +131,45 @@ def compute_accessibility(land_use, accessibility, network_los, chunk_size, trac steeper than automobile or transit. The minimum accessibility is zero. """ - trace_label = 'compute_accessibility' - model_settings = config.read_model_settings('accessibility.yaml') - assignment_spec = assign.read_assignment_spec(config.config_file_path('accessibility.csv')) + trace_label = "compute_accessibility" + model_settings = config.read_model_settings("accessibility.yaml") + assignment_spec = assign.read_assignment_spec( + config.config_file_path("accessibility.csv") + ) accessibility_df = accessibility.to_frame() if len(accessibility_df.columns) > 0: - logger.warning(f"accessibility table is not empty. Columns:{list(accessibility_df.columns)}") + logger.warning( + f"accessibility table is not empty. Columns:{list(accessibility_df.columns)}" + ) raise RuntimeError(f"accessibility table is not empty.") constants = config.get_model_constants(model_settings) # only include the land_use columns needed by spec, as specified by land_use_columns model_setting - land_use_columns = model_settings.get('land_use_columns', []) + land_use_columns = model_settings.get("land_use_columns", []) land_use_df = land_use.to_frame() land_use_df = land_use_df[land_use_columns] - logger.info(f"Running {trace_label} with {len(accessibility_df.index)} orig zones {len(land_use_df)} dest zones") + logger.info( + f"Running {trace_label} with {len(accessibility_df.index)} orig zones {len(land_use_df)} dest zones" + ) accessibilities_list = [] - for i, chooser_chunk, chunk_trace_label in \ - chunk.adaptive_chunked_choosers(accessibility_df, chunk_size, trace_label): - - accessibilities = \ - compute_accessibilities_for_zones(chooser_chunk, land_use_df, assignment_spec, - constants, network_los, trace_od, trace_label) + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + accessibility_df, chunk_size, trace_label + ): + + accessibilities = compute_accessibilities_for_zones( + chooser_chunk, + land_use_df, + assignment_spec, + constants, + network_los, + trace_od, + trace_label, + ) accessibilities_list.append(accessibilities) accessibility_df = pd.concat(accessibilities_list) diff --git a/activitysim/abm/models/atwork_subtour_destination.py b/activitysim/abm/models/atwork_subtour_destination.py index b7f2ae8208..1b69cde775 100644 --- a/activitysim/abm/models/atwork_subtour_destination.py +++ b/activitysim/abm/models/atwork_subtour_destination.py @@ -4,18 +4,12 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject - -from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.core import config, inject, pipeline, simulate, tracing from activitysim.core.interaction_sample import interaction_sample +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate from activitysim.core.util import assign_in_place -from .util import tour_destination -from .util import estimation +from .util import estimation, tour_destination logger = logging.getLogger(__name__) DUMP = False @@ -23,47 +17,54 @@ @inject.step() def atwork_subtour_destination( - tours, - persons_merged, - network_los, - chunk_size, trace_hh_id): + tours, persons_merged, network_los, chunk_size, trace_hh_id +): - trace_label = 'atwork_subtour_destination' - model_settings_file_name = 'atwork_subtour_destination.yaml' + trace_label = "atwork_subtour_destination" + model_settings_file_name = "atwork_subtour_destination.yaml" model_settings = config.read_model_settings(model_settings_file_name) future_settings = { - 'SIZE_TERM_SELECTOR': 'atwork', - 'SEGMENTS': ['atwork'], - 'ORIG_ZONE_ID': 'workplace_zone_id' + "SIZE_TERM_SELECTOR": "atwork", + "SEGMENTS": ["atwork"], + "ORIG_ZONE_ID": "workplace_zone_id", } - model_settings = config.future_model_settings(model_settings_file_name, model_settings, future_settings) + model_settings = config.future_model_settings( + model_settings_file_name, model_settings, future_settings + ) - destination_column_name = 'destination' - logsum_column_name = model_settings.get('DEST_CHOICE_LOGSUM_COLUMN_NAME') + destination_column_name = "destination" + logsum_column_name = model_settings.get("DEST_CHOICE_LOGSUM_COLUMN_NAME") want_logsums = logsum_column_name is not None - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) persons_merged = persons_merged.to_frame() tours = tours.to_frame() - subtours = tours[tours.tour_category == 'atwork'] + subtours = tours[tours.tour_category == "atwork"] # - if no atwork subtours if subtours.shape[0] == 0: - tracing.no_results('atwork_subtour_destination') + tracing.no_results("atwork_subtour_destination") return - estimator = estimation.manager.begin_estimation('atwork_subtour_destination') + estimator = estimation.manager.begin_estimation("atwork_subtour_destination") if estimator: estimator.write_coefficients(model_settings=model_settings) # estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SPEC") estimator.set_alt_id(model_settings["ALT_DEST_COL_NAME"]) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) estimator.write_model_settings(model_settings, model_settings_file_name) choices_df, save_sample_df = tour_destination.run_tour_destination( @@ -74,26 +75,31 @@ def atwork_subtour_destination( model_settings, network_los, estimator, - chunk_size, trace_hh_id, trace_label) + chunk_size, + trace_hh_id, + trace_label, + ) if estimator: - estimator.write_choices(choices_df['choice']) - choices_df['choice'] = estimator.get_survey_values(choices_df['choice'], 'tours', 'destination') - estimator.write_override_choices(choices_df['choice']) + estimator.write_choices(choices_df["choice"]) + choices_df["choice"] = estimator.get_survey_values( + choices_df["choice"], "tours", "destination" + ) + estimator.write_override_choices(choices_df["choice"]) estimator.end_estimation() - subtours[destination_column_name] = choices_df['choice'] + subtours[destination_column_name] = choices_df["choice"] assign_in_place(tours, subtours[[destination_column_name]]) if want_logsums: - subtours[logsum_column_name] = choices_df['logsum'] + subtours[logsum_column_name] = choices_df["logsum"] assign_in_place(tours, subtours[[logsum_column_name]]) pipeline.replace_table("tours", tours) - tracing.print_summary(destination_column_name, - subtours[destination_column_name], - describe=True) + tracing.print_summary( + destination_column_name, subtours[destination_column_name], describe=True + ) if want_sample_table: assert len(save_sample_df.index.get_level_values(0).unique()) == len(choices_df) @@ -101,6 +107,6 @@ def atwork_subtour_destination( pipeline.extend_table(sample_table_name, save_sample_df) if trace_hh_id: - tracing.trace_df(tours, - label='atwork_subtour_destination', - columns=['destination']) + tracing.trace_df( + tours, label="atwork_subtour_destination", columns=["destination"] + ) diff --git a/activitysim/abm/models/atwork_subtour_frequency.py b/activitysim/abm/models/atwork_subtour_frequency.py index cb9d3ca4c7..d42b97fdc3 100644 --- a/activitysim/abm/models/atwork_subtour_frequency.py +++ b/activitysim/abm/models/atwork_subtour_frequency.py @@ -2,18 +2,12 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing from .util import estimation - from .util.tour_frequency import process_atwork_subtours logger = logging.getLogger(__name__) @@ -21,26 +15,23 @@ def add_null_results(trace_label, tours): logger.info("Skipping %s: add_null_results", trace_label) - tours['atwork_subtour_frequency'] = np.nan + tours["atwork_subtour_frequency"] = np.nan pipeline.replace_table("tours", tours) @inject.step() -def atwork_subtour_frequency(tours, - persons_merged, - chunk_size, - trace_hh_id): +def atwork_subtour_frequency(tours, persons_merged, chunk_size, trace_hh_id): """ This model predicts the frequency of making at-work subtour tours (alternatives for this model come from a separate csv file which is configured by the user). """ - trace_label = 'atwork_subtour_frequency' - model_settings_file_name = 'atwork_subtour_frequency.yaml' + trace_label = "atwork_subtour_frequency" + model_settings_file_name = "atwork_subtour_frequency.yaml" tours = tours.to_frame() - work_tours = tours[tours.tour_type == 'work'] + work_tours = tours[tours.tour_type == "work"] # - if no work_tours if len(work_tours) == 0: @@ -48,17 +39,21 @@ def atwork_subtour_frequency(tours, return model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('atwork_subtour_frequency') + estimator = estimation.manager.begin_estimation("atwork_subtour_frequency") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) - alternatives = simulate.read_model_alts('atwork_subtour_frequency_alternatives.csv', set_index='alt') + alternatives = simulate.read_model_alts( + "atwork_subtour_frequency_alternatives.csv", set_index="alt" + ) # merge persons into work_tours persons_merged = persons_merged.to_frame() - work_tours = pd.merge(work_tours, persons_merged, left_on='person_id', right_index=True) + work_tours = pd.merge( + work_tours, persons_merged, left_on="person_id", right_index=True + ) logger.info("Running atwork_subtour_frequency with %d work tours", len(work_tours)) @@ -66,13 +61,12 @@ def atwork_subtour_frequency(tours, constants = config.get_model_constants(model_settings) # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: expressions.assign_columns( - df=work_tours, - model_settings=preprocessor_settings, - trace_label=trace_label) + df=work_tours, model_settings=preprocessor_settings, trace_label=trace_label + ) if estimator: estimator.write_spec(model_settings) @@ -87,37 +81,40 @@ def atwork_subtour_frequency(tours, locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='atwork_subtour_frequency', - estimator=estimator) + trace_choice_name="atwork_subtour_frequency", + estimator=estimator, + ) # convert indexes to alternative names choices = pd.Series(model_spec.columns[choices.values], index=choices.index) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'tours', 'atwork_subtour_frequency') + choices = estimator.get_survey_values( + choices, "tours", "atwork_subtour_frequency" + ) estimator.write_override_choices(choices) estimator.end_estimation() # add atwork_subtour_frequency column to tours # reindex since we are working with a subset of tours - tours['atwork_subtour_frequency'] = choices.reindex(tours.index) + tours["atwork_subtour_frequency"] = choices.reindex(tours.index) pipeline.replace_table("tours", tours) # - create atwork_subtours based on atwork_subtour_frequency choice names - work_tours = tours[tours.tour_type == 'work'] + work_tours = tours[tours.tour_type == "work"] assert not work_tours.atwork_subtour_frequency.isnull().any() subtours = process_atwork_subtours(work_tours, alternatives) tours = pipeline.extend_table("tours", subtours) - tracing.register_traceable_table('tours', subtours) - pipeline.get_rn_generator().add_channel('tours', subtours) + tracing.register_traceable_table("tours", subtours) + pipeline.get_rn_generator().add_channel("tours", subtours) - tracing.print_summary('atwork_subtour_frequency', tours.atwork_subtour_frequency, - value_counts=True) + tracing.print_summary( + "atwork_subtour_frequency", tours.atwork_subtour_frequency, value_counts=True + ) if trace_hh_id: - tracing.trace_df(tours, - label='atwork_subtour_frequency.tours') + tracing.trace_df(tours, label="atwork_subtour_frequency.tours") diff --git a/activitysim/abm/models/atwork_subtour_mode_choice.py b/activitysim/abm/models/atwork_subtour_mode_choice.py index 41227670ba..bc3f1c66c1 100644 --- a/activitysim/abm/models/atwork_subtour_mode_choice.py +++ b/activitysim/abm/models/atwork_subtour_mode_choice.py @@ -2,62 +2,64 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import expressions - -from activitysim.core import los +from activitysim.core import ( + config, + expressions, + inject, + los, + pipeline, + simulate, + tracing, +) from activitysim.core.pathbuilder import TransitVirtualPathBuilder +from activitysim.core.util import assign_in_place -from .util.mode import run_tour_mode_choice_simulate from .util import estimation - -from activitysim.core.util import assign_in_place +from .util.mode import run_tour_mode_choice_simulate logger = logging.getLogger(__name__) @inject.step() def atwork_subtour_mode_choice( - tours, - persons_merged, - network_los, - chunk_size, - trace_hh_id): + tours, persons_merged, network_los, chunk_size, trace_hh_id +): """ At-work subtour mode choice simulate """ - trace_label = 'atwork_subtour_mode_choice' + trace_label = "atwork_subtour_mode_choice" - model_settings_file_name = 'tour_mode_choice.yaml' + model_settings_file_name = "tour_mode_choice.yaml" model_settings = config.read_model_settings(model_settings_file_name) - logsum_column_name = model_settings.get('MODE_CHOICE_LOGSUM_COLUMN_NAME') - mode_column_name = 'tour_mode' + logsum_column_name = model_settings.get("MODE_CHOICE_LOGSUM_COLUMN_NAME") + mode_column_name = "tour_mode" tours = tours.to_frame() - subtours = tours[tours.tour_category == 'atwork'] + subtours = tours[tours.tour_category == "atwork"] # - if no atwork subtours if subtours.shape[0] == 0: tracing.no_results(trace_label) return - subtours_merged = \ - pd.merge(subtours, persons_merged.to_frame(), - left_on='person_id', right_index=True, how='left') + subtours_merged = pd.merge( + subtours, + persons_merged.to_frame(), + left_on="person_id", + right_index=True, + how="left", + ) logger.info("Running %s with %d subtours" % (trace_label, subtours_merged.shape[0])) - tracing.print_summary('%s tour_type' % trace_label, - subtours_merged.tour_type, value_counts=True) + tracing.print_summary( + "%s tour_type" % trace_label, subtours_merged.tour_type, value_counts=True + ) constants = {} constants.update(config.get_model_constants(model_settings)) @@ -65,18 +67,22 @@ def atwork_subtour_mode_choice( skim_dict = network_los.get_default_skim_dict() # setup skim keys - orig_col_name = 'workplace_zone_id' - dest_col_name = 'destination' - out_time_col_name = 'start' - in_time_col_name = 'end' - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='out_period') - dot_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='in_period') - odr_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='in_period') - dor_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='out_period') + orig_col_name = "workplace_zone_id" + dest_col_name = "destination" + out_time_col_name = "start" + in_time_col_name = "end" + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="out_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="in_period" + ) + odr_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="in_period" + ) + dor_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="out_period" + ) od_skim_stack_wrapper = skim_dict.wrap(orig_col_name, dest_col_name) skims = { @@ -85,34 +91,45 @@ def atwork_subtour_mode_choice( "odr_skims": odr_skim_stack_wrapper, "dor_skims": dor_skim_stack_wrapper, "od_skims": od_skim_stack_wrapper, - 'orig_col_name': orig_col_name, - 'dest_col_name': dest_col_name, - 'out_time_col_name': out_time_col_name, - 'in_time_col_name': in_time_col_name + "orig_col_name": orig_col_name, + "dest_col_name": dest_col_name, + "out_time_col_name": out_time_col_name, + "in_time_col_name": in_time_col_name, } if network_los.zone_system == los.THREE_ZONE: # fixme - is this a lightweight object? tvpb = network_los.tvpb - tvpb_logsum_odt = tvpb.wrap_logsum(orig_key=orig_col_name, dest_key=dest_col_name, - tod_key='out_period', segment_key='demographic_segment', - cache_choices=True, - trace_label=trace_label, tag='tvpb_logsum_odt') - tvpb_logsum_dot = tvpb.wrap_logsum(orig_key=dest_col_name, dest_key=orig_col_name, - tod_key='in_period', segment_key='demographic_segment', - cache_choices=True, - trace_label=trace_label, tag='tvpb_logsum_dot') - - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - 'tvpb_logsum_dot': tvpb_logsum_dot - }) + tvpb_logsum_odt = tvpb.wrap_logsum( + orig_key=orig_col_name, + dest_key=dest_col_name, + tod_key="out_period", + segment_key="demographic_segment", + cache_choices=True, + trace_label=trace_label, + tag="tvpb_logsum_odt", + ) + tvpb_logsum_dot = tvpb.wrap_logsum( + orig_key=dest_col_name, + dest_key=orig_col_name, + tod_key="in_period", + segment_key="demographic_segment", + cache_choices=True, + trace_label=trace_label, + tag="tvpb_logsum_dot", + ) + + skims.update( + {"tvpb_logsum_odt": tvpb_logsum_odt, "tvpb_logsum_dot": tvpb_logsum_dot} + ) # TVPB constants can appear in expressions - constants.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + constants.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) - estimator = estimation.manager.begin_estimation('atwork_subtour_mode_choice') + estimator = estimation.manager.begin_estimation("atwork_subtour_mode_choice") if estimator: estimator.write_coefficients(model_settings=model_settings) estimator.write_coefficients_template(model_settings=model_settings) @@ -122,7 +139,8 @@ def atwork_subtour_mode_choice( choices_df = run_tour_mode_choice_simulate( subtours_merged, - tour_purpose='atwork', model_settings=model_settings, + tour_purpose="atwork", + model_settings=model_settings, mode_column_name=mode_column_name, logsum_column_name=logsum_column_name, network_los=network_los, @@ -131,15 +149,18 @@ def atwork_subtour_mode_choice( estimator=estimator, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='tour_mode_choice') + trace_choice_name="tour_mode_choice", + ) # add cached tvpb_logsum tap choices for modes specified in tvpb_mode_path_types if network_los.zone_system == los.THREE_ZONE: - tvpb_mode_path_types = model_settings.get('tvpb_mode_path_types') + tvpb_mode_path_types = model_settings.get("tvpb_mode_path_types") for mode, path_types in tvpb_mode_path_types.items(): - for direction, skim in zip(['od', 'do'], [tvpb_logsum_odt, tvpb_logsum_dot]): + for direction, skim in zip( + ["od", "do"], [tvpb_logsum_odt, tvpb_logsum_dot] + ): path_type = path_types[direction] skim_cache = skim.cache[path_type] @@ -148,36 +169,48 @@ def atwork_subtour_mode_choice( for c in skim_cache: - dest_col = f'{direction}_{c}' + dest_col = f"{direction}_{c}" if dest_col not in choices_df: - choices_df[dest_col] = np.nan if pd.api.types.is_numeric_dtype(skim_cache[c]) else '' + choices_df[dest_col] = ( + np.nan + if pd.api.types.is_numeric_dtype(skim_cache[c]) + else "" + ) - choices_df[dest_col].where(choices_df.tour_mode != mode, skim_cache[c], inplace=True) + choices_df[dest_col].where( + choices_df.tour_mode != mode, skim_cache[c], inplace=True + ) if estimator: estimator.write_choices(choices_df[mode_column_name]) - choices_df[mode_column_name] = \ - estimator.get_survey_values(choices_df[mode_column_name], 'tours', mode_column_name) + choices_df[mode_column_name] = estimator.get_survey_values( + choices_df[mode_column_name], "tours", mode_column_name + ) estimator.write_override_choices(choices_df[mode_column_name]) estimator.end_estimation() - tracing.print_summary('%s choices' % trace_label, choices_df[mode_column_name], value_counts=True) + tracing.print_summary( + "%s choices" % trace_label, choices_df[mode_column_name], value_counts=True + ) assign_in_place(tours, choices_df) pipeline.replace_table("tours", tours) # - annotate tours table - if model_settings.get('annotate_tours'): - tours = inject.get_table('tours').to_frame() + if model_settings.get("annotate_tours"): + tours = inject.get_table("tours").to_frame() expressions.assign_columns( df=tours, - model_settings=model_settings.get('annotate_tours'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_tours')) + model_settings=model_settings.get("annotate_tours"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_tours"), + ) pipeline.replace_table("tours", tours) if trace_hh_id: - tracing.trace_df(tours[tours.tour_category == 'atwork'], - label=tracing.extend_trace_label(trace_label, mode_column_name), - slicer='tour_id', - index_label='tour_id') + tracing.trace_df( + tours[tours.tour_category == "atwork"], + label=tracing.extend_trace_label(trace_label, mode_column_name), + slicer="tour_id", + index_label="tour_id", + ) diff --git a/activitysim/abm/models/atwork_subtour_scheduling.py b/activitysim/abm/models/atwork_subtour_scheduling.py index f7a61b3a4b..188cfaeaaf 100644 --- a/activitysim/abm/models/atwork_subtour_scheduling.py +++ b/activitysim/abm/models/atwork_subtour_scheduling.py @@ -2,22 +2,16 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject +from activitysim.core import config, expressions, inject, pipeline, simulate from activitysim.core import timetable as tt -from activitysim.core import expressions - -from .util.vectorize_tour_scheduling import vectorize_subtour_scheduling +from activitysim.core import tracing +from activitysim.core.util import assign_in_place from .util import estimation - -from activitysim.core.util import assign_in_place +from .util.vectorize_tour_scheduling import vectorize_subtour_scheduling logger = logging.getLogger(__name__) @@ -26,21 +20,17 @@ @inject.step() def atwork_subtour_scheduling( - tours, - persons_merged, - tdd_alts, - skim_dict, - chunk_size, - trace_hh_id): + tours, persons_merged, tdd_alts, skim_dict, chunk_size, trace_hh_id +): """ This model predicts the departure time and duration of each activity for at work subtours tours """ - trace_label = 'atwork_subtour_scheduling' - model_settings_file_name = 'tour_scheduling_atwork.yaml' + trace_label = "atwork_subtour_scheduling" + model_settings_file_name = "tour_scheduling_atwork.yaml" tours = tours.to_frame() - subtours = tours[tours.tour_category == 'atwork'] + subtours = tours[tours.tour_category == "atwork"] # - if no atwork subtours if subtours.shape[0] == 0: @@ -48,9 +38,9 @@ def atwork_subtour_scheduling( return model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('atwork_subtour_scheduling') + estimator = estimation.manager.begin_estimation("atwork_subtour_scheduling") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -60,18 +50,18 @@ def atwork_subtour_scheduling( # preprocessor constants = config.get_model_constants(model_settings) - od_skim_wrapper = skim_dict.wrap('origin', 'destination') + od_skim_wrapper = skim_dict.wrap("origin", "destination") skims = { "od_skims": od_skim_wrapper, } expressions.annotate_preprocessors( - subtours, constants, skims, - model_settings, trace_label) + subtours, constants, skims, model_settings, trace_label + ) # parent_tours table with columns ['tour_id', 'tdd'] index = tour_id parent_tour_ids = subtours.parent_tour_id.astype(np.int64).unique() - parent_tours = pd.DataFrame({'tour_id': parent_tour_ids}, index=parent_tour_ids) - parent_tours = parent_tours.merge(tours[['tdd']], left_index=True, right_index=True) + parent_tours = pd.DataFrame({"tour_id": parent_tour_ids}, index=parent_tour_ids) + parent_tours = parent_tours.merge(tours[["tdd"]], left_index=True, right_index=True) if estimator: estimator.write_model_settings(model_settings, model_settings_file_name) @@ -83,42 +73,52 @@ def atwork_subtour_scheduling( parent_tours, subtours, persons_merged, - tdd_alts, model_spec, + tdd_alts, + model_spec, model_settings, estimator=estimator, chunk_size=chunk_size, - trace_label=trace_label) + trace_label=trace_label, + ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'tours', 'tdd') + choices = estimator.get_survey_values(choices, "tours", "tdd") estimator.write_override_choices(choices) estimator.end_estimation() # choices are tdd alternative ids # we want to add start, end, and duration columns to tours, which we have in tdd_alts table - tdd_choices = pd.merge(choices.to_frame('tdd'), tdd_alts, left_on=['tdd'], right_index=True, how='left') + tdd_choices = pd.merge( + choices.to_frame("tdd"), tdd_alts, left_on=["tdd"], right_index=True, how="left" + ) assign_in_place(tours, tdd_choices) pipeline.replace_table("tours", tours) if trace_hh_id: - tracing.trace_df(tours[tours.tour_category == 'atwork'], - label="atwork_subtour_scheduling", - slicer='person_id', - index_label='tour_id', - columns=None) + tracing.trace_df( + tours[tours.tour_category == "atwork"], + label="atwork_subtour_scheduling", + slicer="person_id", + index_label="tour_id", + columns=None, + ) if DUMP: - subtours = tours[tours.tour_category == 'atwork'] + subtours = tours[tours.tour_category == "atwork"] parent_tours = tours[tours.index.isin(subtours.parent_tour_id)] - tracing.dump_df(DUMP, subtours, trace_label, 'sub_tours') - tracing.dump_df(DUMP, parent_tours, trace_label, 'parent_tours') + tracing.dump_df(DUMP, subtours, trace_label, "sub_tours") + tracing.dump_df(DUMP, parent_tours, trace_label, "parent_tours") - parent_tours['parent_tour_id'] = parent_tours.index + parent_tours["parent_tour_id"] = parent_tours.index subtours = pd.concat([parent_tours, subtours]) - tracing.dump_df(DUMP, - tt.tour_map(parent_tours, subtours, tdd_alts, - persons_id_col='parent_tour_id'), - trace_label, 'tour_map') + tracing.dump_df( + DUMP, + tt.tour_map( + parent_tours, subtours, tdd_alts, persons_id_col="parent_tour_id" + ), + trace_label, + "tour_map", + ) diff --git a/activitysim/abm/models/auto_ownership.py b/activitysim/abm/models/auto_ownership.py index 12f8fbd2bb..564d6f94b6 100644 --- a/activitysim/abm/models/auto_ownership.py +++ b/activitysim/abm/models/auto_ownership.py @@ -2,34 +2,26 @@ # See full license in LICENSE.txt. import logging -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject +from activitysim.core import config, inject, pipeline, simulate, tracing from .util import estimation - logger = logging.getLogger(__name__) @inject.step() -def auto_ownership_simulate(households, - households_merged, - chunk_size, - trace_hh_id): +def auto_ownership_simulate(households, households_merged, chunk_size, trace_hh_id): """ Auto ownership is a standard model which predicts how many cars a household with given characteristics owns """ - trace_label = 'auto_ownership_simulate' - model_settings_file_name = 'auto_ownership.yaml' + trace_label = "auto_ownership_simulate" + model_settings_file_name = "auto_ownership.yaml" model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('auto_ownership') + estimator = estimation.manager.begin_estimation("auto_ownership") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -46,7 +38,7 @@ def auto_ownership_simulate(households, estimator.write_coefficients(coefficients_df, model_settings) estimator.write_choosers(choosers) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = simulate.simple_simulate( choosers=choosers, @@ -55,26 +47,27 @@ def auto_ownership_simulate(households, locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='auto_ownership', + trace_choice_name="auto_ownership", log_alt_losers=log_alt_losers, - estimator=estimator) + estimator=estimator, + ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'households', 'auto_ownership') + choices = estimator.get_survey_values(choices, "households", "auto_ownership") estimator.write_override_choices(choices) estimator.end_estimation() households = households.to_frame() # no need to reindex as we used all households - households['auto_ownership'] = choices + households["auto_ownership"] = choices pipeline.replace_table("households", households) - tracing.print_summary('auto_ownership', households.auto_ownership, value_counts=True) + tracing.print_summary( + "auto_ownership", households.auto_ownership, value_counts=True + ) if trace_hh_id: - tracing.trace_df(households, - label='auto_ownership', - warn_if_empty=True) + tracing.trace_df(households, label="auto_ownership", warn_if_empty=True) diff --git a/activitysim/abm/models/cdap.py b/activitysim/abm/models/cdap.py index 3f29891a71..b37cf8a9a4 100644 --- a/activitysim/abm/models/cdap.py +++ b/activitysim/abm/models/cdap.py @@ -4,24 +4,16 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions - +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing from activitysim.core.util import reindex -from .util import cdap -from .util import estimation +from .util import cdap, estimation logger = logging.getLogger(__name__) @inject.step() -def cdap_simulate(persons_merged, persons, households, - chunk_size, trace_hh_id): +def cdap_simulate(persons_merged, persons, households, chunk_size, trace_hh_id): """ CDAP stands for Coordinated Daily Activity Pattern, which is a choice of high-level activity pattern for each person, in a coordinated way with other @@ -32,32 +24,46 @@ def cdap_simulate(persons_merged, persons, households, simply applies those utilities using the simulation framework. """ - trace_label = 'cdap' - model_settings = config.read_model_settings('cdap.yaml') - person_type_map = model_settings.get('PERSON_TYPE_MAP', None) - assert person_type_map is not None, f"Expected to find PERSON_TYPE_MAP setting in cdap.yaml" - estimator = estimation.manager.begin_estimation('cdap') + trace_label = "cdap" + model_settings = config.read_model_settings("cdap.yaml") + person_type_map = model_settings.get("PERSON_TYPE_MAP", None) + assert ( + person_type_map is not None + ), f"Expected to find PERSON_TYPE_MAP setting in cdap.yaml" + estimator = estimation.manager.begin_estimation("cdap") - cdap_indiv_spec = simulate.read_model_spec(file_name=model_settings['INDIV_AND_HHSIZE1_SPEC']) + cdap_indiv_spec = simulate.read_model_spec( + file_name=model_settings["INDIV_AND_HHSIZE1_SPEC"] + ) coefficients_df = simulate.read_model_coefficients(model_settings) - cdap_indiv_spec = simulate.eval_coefficients(cdap_indiv_spec, coefficients_df, estimator) + cdap_indiv_spec = simulate.eval_coefficients( + cdap_indiv_spec, coefficients_df, estimator + ) # Rules and coefficients for generating interaction specs for different household sizes - interaction_coefficients_file_name = \ - model_settings.get('INTERACTION_COEFFICIENTS', 'cdap_interaction_coefficients.csv') - cdap_interaction_coefficients = \ - pd.read_csv(config.config_file_path(interaction_coefficients_file_name), comment='#') + interaction_coefficients_file_name = model_settings.get( + "INTERACTION_COEFFICIENTS", "cdap_interaction_coefficients.csv" + ) + cdap_interaction_coefficients = pd.read_csv( + config.config_file_path(interaction_coefficients_file_name), comment="#" + ) # replace cdap_interaction_coefficients coefficient labels with numeric values # for backward compatibility, use where() to allow hard-coded coefficients and dummy (empty) coefficients_file - coefficients = cdap_interaction_coefficients.coefficient.map(coefficients_df.value.to_dict()) - coefficients = cdap_interaction_coefficients.coefficient.where(coefficients.isnull(), coefficients) - coefficients = pd.to_numeric(coefficients, errors='coerce').astype(float) + coefficients = cdap_interaction_coefficients.coefficient.map( + coefficients_df.value.to_dict() + ) + coefficients = cdap_interaction_coefficients.coefficient.where( + coefficients.isnull(), coefficients + ) + coefficients = pd.to_numeric(coefficients, errors="coerce").astype(float) if coefficients.isnull().any(): # show them the offending lines from interaction_coefficients_file - logger.warning(f"bad coefficients in INTERACTION_COEFFICIENTS {interaction_coefficients_file_name}\n" - f"{cdap_interaction_coefficients[coefficients.isnull()]}") + logger.warning( + f"bad coefficients in INTERACTION_COEFFICIENTS {interaction_coefficients_file_name}\n" + f"{cdap_interaction_coefficients[coefficients.isnull()]}" + ) assert not coefficients.isnull().any() cdap_interaction_coefficients.coefficient = coefficients @@ -68,21 +74,27 @@ def cdap_simulate(persons_merged, persons, households, EXCEPT that the values computed are relative proportions, not utilities (i.e. values are not exponentiated before being normalized to probabilities summing to 1.0) """ - cdap_fixed_relative_proportions = \ - simulate.read_model_spec(file_name=model_settings['FIXED_RELATIVE_PROPORTIONS_SPEC']) + cdap_fixed_relative_proportions = simulate.read_model_spec( + file_name=model_settings["FIXED_RELATIVE_PROPORTIONS_SPEC"] + ) persons_merged = persons_merged.to_frame() # add tour-based chunk_id so we can chunk all trips in tour together - assert 'chunk_id' not in persons_merged.columns + assert "chunk_id" not in persons_merged.columns unique_household_ids = persons_merged.household_id.unique() - household_chunk_ids = pd.Series(range(len(unique_household_ids)), index=unique_household_ids) - persons_merged['chunk_id'] = reindex(household_chunk_ids, persons_merged.household_id) + household_chunk_ids = pd.Series( + range(len(unique_household_ids)), index=unique_household_ids + ) + persons_merged["chunk_id"] = reindex( + household_chunk_ids, persons_merged.household_id + ) constants = config.get_model_constants(model_settings) - cdap_interaction_coefficients = \ - cdap.preprocess_interaction_coefficients(cdap_interaction_coefficients) + cdap_interaction_coefficients = cdap.preprocess_interaction_coefficients( + cdap_interaction_coefficients + ) # specs are built just-in-time on demand and cached as injectables # prebuilding here allows us to write them to the output directory @@ -90,19 +102,28 @@ def cdap_simulate(persons_merged, persons, households, logger.info("Pre-building cdap specs") for hhsize in range(2, cdap.MAX_HHSIZE + 1): spec = cdap.build_cdap_spec(cdap_interaction_coefficients, hhsize, cache=True) - if inject.get_injectable('locutor', False): - spec.to_csv(config.output_file_path('cdap_spec_%s.csv' % hhsize), index=True) + if inject.get_injectable("locutor", False): + spec.to_csv( + config.output_file_path("cdap_spec_%s.csv" % hhsize), index=True + ) if estimator: - estimator.write_model_settings(model_settings, 'cdap.yaml') - estimator.write_spec(model_settings, tag='INDIV_AND_HHSIZE1_SPEC') - estimator.write_spec(model_settings=model_settings, tag='FIXED_RELATIVE_PROPORTIONS_SPEC') + estimator.write_model_settings(model_settings, "cdap.yaml") + estimator.write_spec(model_settings, tag="INDIV_AND_HHSIZE1_SPEC") + estimator.write_spec( + model_settings=model_settings, tag="FIXED_RELATIVE_PROPORTIONS_SPEC" + ) estimator.write_coefficients(coefficients_df, model_settings) - estimator.write_table(cdap_interaction_coefficients, 'interaction_coefficients', index=False, append=False) + estimator.write_table( + cdap_interaction_coefficients, + "interaction_coefficients", + index=False, + append=False, + ) estimator.write_choosers(persons_merged) for hhsize in range(2, cdap.MAX_HHSIZE + 1): spec = cdap.get_cached_spec(hhsize) - estimator.write_table(spec, 'spec_%s' % hhsize, append=False) + estimator.write_table(spec, "spec_%s" % hhsize, append=False) logger.info("Running cdap_simulate with %d persons", len(persons_merged.index)) @@ -115,11 +136,12 @@ def cdap_simulate(persons_merged, persons, households, locals_d=constants, chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=trace_label) + trace_label=trace_label, + ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'cdap_activity') + choices = estimator.get_survey_values(choices, "persons", "cdap_activity") estimator.write_override_choices(choices) estimator.end_estimation() @@ -127,12 +149,13 @@ def cdap_simulate(persons_merged, persons, households, persons = persons.to_frame() choices = choices.reindex(persons.index) - persons['cdap_activity'] = choices + persons["cdap_activity"] = choices expressions.assign_columns( df=persons, - model_settings=model_settings.get('annotate_persons'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_persons')) + model_settings=model_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) pipeline.replace_table("persons", persons) @@ -140,10 +163,13 @@ def cdap_simulate(persons_merged, persons, households, households = households.to_frame() expressions.assign_columns( df=households, - model_settings=model_settings.get('annotate_households'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_households')) + model_settings=model_settings.get("annotate_households"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_households"), + ) pipeline.replace_table("households", households) - tracing.print_summary('cdap_activity', persons.cdap_activity, value_counts=True) - logger.info("cdap crosstabs:\n%s" % - pd.crosstab(persons.ptype, persons.cdap_activity, margins=True)) + tracing.print_summary("cdap_activity", persons.cdap_activity, value_counts=True) + logger.info( + "cdap crosstabs:\n%s" + % pd.crosstab(persons.ptype, persons.cdap_activity, margins=True) + ) diff --git a/activitysim/abm/models/disaggregate_accessibility.py b/activitysim/abm/models/disaggregate_accessibility.py new file mode 100644 index 0000000000..f3361d558b --- /dev/null +++ b/activitysim/abm/models/disaggregate_accessibility.py @@ -0,0 +1,660 @@ +import random +import logging +import pandas as pd +import numpy as np +from functools import reduce +from orca import orca + +from activitysim.core import inject, tracing, config, pipeline, util, los, logit +from activitysim.abm.models import location_choice, initialize +from activitysim.abm.models.util import tour_destination, estimation +from activitysim.abm.tables import shadow_pricing +from activitysim.core.expressions import assign_columns + +from sklearn.cluster import KMeans + +logger = logging.getLogger(__name__) + + +def read_disaggregate_accessibility_yaml(file_name): + """ + Adds in default table suffixes 'proto_' if not defined in the settings file + """ + model_settings = config.read_model_settings(file_name) + if not model_settings.get("suffixes"): + model_settings["suffixes"] = { + "SUFFIX": "proto_", + "ROOTS": [ + "persons", + "households", + "tours", + "persons_merged", + "person_id", + "household_id", + "tour_id", + ], + } + # Convert decimal sample rate to integer sample size + for sample in ["ORIGIN_SAMPLE_SIZE", "DESTINATION_SAMPLE_SIZE"]: + size = model_settings.get(sample, 0) + if size > 0 and size < 1: + model_settings[sample] = round( + size * len(pipeline.get_table("land_use").index) + ) + + return model_settings + + +class ProtoPop: + def __init__(self, network_los, chunk_size): + # Run necessary inits for later + initialize.initialize_landuse() + + # Initialization + self.proto_pop = {} + self.land_use = pipeline.get_table("land_use") + self.network_los = network_los + self.chunk_size = chunk_size + self.model_settings = read_disaggregate_accessibility_yaml( + "disaggregate_accessibility.yaml" + ) + + # Random seed + self.seed = self.model_settings.get("BASE_RANDOM_SEED", 0) + len( + self.land_use.index + ) + + # Generation + self.params = self.read_table_settings() + self.create_proto_pop() + logger.info( + "Created a proto-population with %s households across %s origin zones to %s possible destination zones" + % ( + len(self.proto_pop["proto_households"]), + len(self.proto_pop["proto_households"].home_zone_id.unique()), + self.model_settings["DESTINATION_SAMPLE_SIZE"], + ) + ) + self.inject_tables() + self.annotate_tables() + self.merge_persons() + + def zone_sampler(self): + """ + This is a "pre"-sampling method, which selects a sample from the total zones and generates a proto-pop on it. + This is particularly useful for multi-zone models where there are many MAZs. + Otherwise it could cause memory usage and computation time to explode. + + Important to distinguish this zone sampling from the core destination_sample method. The destination method + is destination oriented, and essentially weights samples by their size terms in order to sample important + destinations. This is irrelevant for accessibility, which is concerned with the accessibility FROM origins + to destinations. + + Thus, this sampling approach will weight the zones by their relative population. + + method: + None/Default - Sample zones weighted by population, ensuring at least one TAZ is sampled per MAZ + If n-samples > n-tazs then sample 1 MAZ from each TAZ until n-remaining-samples < n-tazs, + then sample n-remaining-samples TAZs and sample an MAZ within each of those TAZs. + If n-samples < n-tazs, then it proceeds to the above 'then' condition. + + uniform - Unweighted sample of N zones independent of each other. + + uniform-taz - Unweighted sample of 1 zone per taz up to the N samples specified. + + k-means - K-Means clustering is performed on the zone centroids (must be provided as maz_centroids.csv), + weighted by population. The clustering yields k XY coordinates weighted by zone population + for n-samples = k-clusters specified. Once k new cluster centroids are found, these are then + approximated into the nearest available zone centroid and used to calculate accessibilities on. + + By default, the k-means method is run on 10 different initial cluster seeds (n_init) using using + "k-means++" seeding algorithm (https://en.wikipedia.org/wiki/K-means%2B%2B). The k-means method + runs for max_iter iterations (default=300). + + """ + + # default_zone_col = 'TAZ' if not (self.network_los.zone_system == los.ONE_ZONE) else 'zone_id' + # zone_cols = self.model_settings["zone_id_names"].get("zone_group_cols", default_zone_col) + id_col = self.model_settings["zone_id_names"].get("index_col", "zone_id") + method = self.model_settings.get("ORIGIN_SAMPLE_METHOD") + n_samples = self.model_settings.get("ORIGIN_SAMPLE_SIZE", 0) + + # Get weights, need to get households first to get persons merged. + # Note: This will cause empty zones to be excluded. Which is intended, but just know that. + zone_weights = self.land_use[ + self.model_settings["ORIGIN_WEIGHTING_COLUMN"] + ].to_frame("weight") + zone_weights = zone_weights[zone_weights.weight != 0] + + # If more samples than zones, just default to all zones + if n_samples == 0 or n_samples > len(zone_weights.index): + n_samples = len(zone_weights.index) + print("WARNING: ORIGIN_SAMPLE_SIZE >= n-zones. Using all zones.") + method = "full" # If it's a full sample, no need to sample + + if method and method == "full": + sample_idx = self.land_use.index + elif method and method.lower() == "uniform": + sample_idx = sorted(random.sample(sorted(self.land_use.index), n_samples)) + elif method and method.lower() == "uniform-taz": + # Randomly select one MAZ per TAZ by randomizing the index and then select the first MAZ in each TAZ + # Then truncate the sampled indices by N samples and sort it + sample_idx = ( + self.land_use.sample(frac=1) + .reset_index() + .groupby("TAZ")[id_col] + .first() + ) + sample_idx = sorted(sample_idx) + elif method and method.lower() == "kmeans": + # Performs a simple k-means clustering using centroid XY coordinates + centroids_df = pipeline.get_table("maz_centroids") + + # Assert that land_use zone ids is subset of centroid zone ids + assert set(self.land_use.index).issubset(set(centroids_df.index)) + + # Join the land_use pop on centroids, + # this also filter only zones we need (relevant if running scaled model) + centroids_df = centroids_df.join( + self.land_use[self.model_settings["ORIGIN_WEIGHTING_COLUMN"]], + how="inner", + ) + xy_list = list(centroids_df[["X", "Y"]].itertuples(index=False, name=None)) + xy_weights = np.array( + centroids_df[self.model_settings["ORIGIN_WEIGHTING_COLUMN"]] + ) + + # Initializer k-means class + """ + init: (default='k-means++') + ‘k-means++’ : selects initial cluster centroids using sampling based on an + empirical probability distribution of the points’ contribution to the overall inertia. + This technique speeds up convergence, and is theoretically proven to be O(log k) -optimal. + See the description of n_init for more details. + + ‘random’: choose n_clusters observations (rows) at random from data for the initial centroids. + + n_init: (default=10) + Number of time the k-means algorithm will be run with different centroid seeds. + The final results will be the best output of n_init consecutive runs in terms of inertia. + + max_iter: (default=300) + Maximum number of iterations of the k-means algorithm for a single run. + + n_clusters (pass n-samples): + The number of clusters to form as well as the number of centroids to generate. + This is the n-samples we are choosing. + """ + + kmeans = KMeans( + init="k-means++", + n_clusters=n_samples, + n_init=10, + max_iter=300, + random_state=self.seed, + ) + + # Calculate the k-means cluster points + # Find the nearest MAZ for each cluster + kmeans_res = kmeans.fit(X=xy_list, sample_weight=xy_weights) + sample_idx = [ + util.nearest_node_index(_xy, xy_list) + for _xy in kmeans_res.cluster_centers_ + ] + else: + # Default method. + # First sample the TAZ then select subzones weighted by the population size + if self.network_los.zone_system == los.TWO_ZONE: + # Join on TAZ and aggregate + maz_candidates = zone_weights.merge( + self.network_los.maz_taz_df, left_index=True, right_on="MAZ" + ) + taz_candidates = maz_candidates.groupby("TAZ").sum().drop(columns="MAZ") + + # Sample TAZs then sample sample 1 MAZ per TAZ for all TAZs, repeat MAZ sampling until no samples left + n_samples_remaining = n_samples + maz_sample_idx = [] + + while len(maz_candidates.index) > 0 and n_samples_remaining > 0: + # To ensure that each TAZ gets selected at least once when n > n-TAZs + if n_samples_remaining >= len(maz_candidates.groupby("TAZ").size()): + # Sample 1 MAZ per TAZ based on weight + maz_sample_idx += list( + maz_candidates.groupby("TAZ") + .sample( + n=1, + weights="weight", + replace=False, + random_state=self.seed, + ) + .MAZ + ) + else: + # If there are more TAZs than samples remaining, then sample from TAZs first, then MAZs + # Otherwise we would end up with more samples than we want + taz_sample_idx = list( + taz_candidates.sample( + n=n_samples_remaining, + weights="weight", + replace=False, + random_state=self.seed, + ).index + ) + # Now keep only those TAZs and sample MAZs from them + maz_candidates = maz_candidates[ + maz_candidates.TAZ.isin(taz_sample_idx) + ] + maz_sample_idx += list( + maz_candidates.groupby("TAZ") + .sample( + n=1, + weights="weight", + replace=False, + random_state=self.seed, + ) + .MAZ + ) + + # Remove selected candidates from weight list + maz_candidates = maz_candidates[ + ~maz_candidates.MAZ.isin(maz_sample_idx) + ] + # Calculate the remaining samples to collect + n_samples_remaining = n_samples - len(maz_sample_idx) + n_samples_remaining = ( + 0 if n_samples_remaining < 0 else n_samples_remaining + ) + + # The final MAZ list + sample_idx = maz_sample_idx + else: + sample_idx = list( + zone_weights.sample( + n=n_samples, + weights="weight", + replace=True, + random_state=self.seed, + ).index + ) + + return {id_col: sorted(sample_idx)} + + def read_table_settings(self): + # Check if setup properly + assert "CREATE_TABLES" in self.model_settings.keys() + create_tables = self.model_settings["CREATE_TABLES"] + assert all([True for k, v in create_tables.items() if "VARIABLES" in v.keys()]) + assert all( + [ + True + for x in ["PERSONS", "HOUSEHOLDS", "TOURS"] + if x in create_tables.keys() + ] + ) + + params = {} + for name, table in create_tables.items(): + # Ensure table variables are all lists + params[name.lower()] = { + "variables": { + k: (v if isinstance(v, list) else [v]) + for k, v in table["VARIABLES"].items() + }, + "mapped": table.get("mapped_fields", []), + "filter": table.get("filter_rows", []), + "join_on": table.get("JOIN_ON", []), + "index_col": table.get("index_col", []), + "zone_col": table.get("zone_col", []), + "rename_columns": table.get("rename_columns", []), + } + + # Set zone_id name if not already specified + self.model_settings["zone_id_names"] = self.model_settings.get( + "zone_id_names", {"index_col": "zone_id"} + ) + + # Add in the zone variables + zone_list = self.zone_sampler() + + # Add zones to households dicts as vary_on variable + params["proto_households"]["variables"] = { + **params["proto_households"]["variables"], + **zone_list, + } + + return params + + def generate_replicates(self, table_name): + """ + Generates replicates finding the cartesian product of the non-mapped field variables. + The mapped fields are then annotated after replication + """ + # Generate replicates + df = pd.DataFrame(util.named_product(**self.params[table_name]["variables"])) + + # Applying mapped variables + if len(self.params[table_name]["mapped"]) > 0: + for mapped_from, mapped_to_pair in self.params[table_name][ + "mapped" + ].items(): + for name, mapped_to in mapped_to_pair.items(): + df[name] = df[mapped_from].map(mapped_to) + + # Perform filter step + if (len(self.params[table_name]["filter"])) > 0: + for filt in self.params[table_name]["filter"]: + df[eval(filt)].reset_index(drop=True) + + return df + + def create_proto_pop(self): + # Separate out the mapped data from the varying data and create base replicate tables + klist = ["proto_households", "proto_persons", "proto_tours"] + households, persons, tours = [self.generate_replicates(k) for k in klist] + + # Names + households.name, persons.name, tours.name = klist + + # Create ID columns, defaults to "%tablename%_id" + hhid, perid, tourid = [ + self.params[x]["index_col"] + if len(self.params[x]["index_col"]) > 0 + else x + "_id" + for x in klist + ] + + # Create hhid + households[hhid] = households.index + 1 + households["household_serial_no"] = households[hhid] + + # Assign persons to households + rep = ( + pd.DataFrame(util.named_product(hhid=households[hhid], index=persons.index)) + .set_index("index") + .rename(columns={"hhid": hhid}) + ) + persons = rep.join(persons).sort_values(hhid).reset_index(drop=True) + persons[perid] = persons.index + 1 + + # Assign persons to tours + tkey, pkey = list(self.params["proto_tours"]["join_on"].items())[0] + tours = tours.merge(persons[[pkey, hhid, perid]], left_on=tkey, right_on=pkey) + tours.index = tours.index.set_names([tourid]) + tours = tours.reset_index().drop(columns=[pkey]) + + # Set index + households.set_index(hhid, inplace=True, drop=False) + persons.set_index(perid, inplace=True, drop=False) + tours.set_index(tourid, inplace=True, drop=False) + + # Store tables + self.proto_pop = { + "proto_households": households, + "proto_persons": persons, + "proto_tours": tours, + } + + # Rename any columns. Do this first before any annotating + for tablename, df in self.proto_pop.items(): + colnames = self.params[tablename]["rename_columns"] + if len(colnames) > 0: + df.rename(columns=colnames, inplace=True) + + def inject_tables(self): + # Update canonical tables lists + inject.add_injectable( + "traceable_tables", + inject.get_injectable("traceable_tables") + list(self.proto_pop.keys()), + ) + for tablename, df in self.proto_pop.items(): + inject.add_table(tablename, df) + pipeline.get_rn_generator().add_channel(tablename, df) + tracing.register_traceable_table(tablename, df) + # pipeline.get_rn_generator().drop_channel(tablename) + + def annotate_tables(self): + # Extract annotations + for annotations in self.model_settings["annotate_proto_tables"]: + tablename = annotations["tablename"] + df = pipeline.get_table(tablename) + assert df is not None + assert annotations is not None + assign_columns( + df=df, + model_settings={ + **annotations["annotate"], + **self.model_settings["suffixes"], + }, + trace_label=tracing.extend_trace_label("ProtoPop.annotate", tablename), + ) + pipeline.replace_table(tablename, df) + + def merge_persons(self): + persons = pipeline.get_table("proto_persons") + households = pipeline.get_table("proto_households") + + # For dropping any extra columns created during merge + cols_to_use = households.columns.difference(persons.columns) + + # persons_merged to emulate the persons_merged table in the pipeline + persons_merged = persons.join( + households[cols_to_use], on=self.params["proto_households"]["index_col"] + ).merge( + self.land_use, + left_on=self.params["proto_households"]["zone_col"], + right_on=self.model_settings["zone_id_names"]["index_col"], + ) + + perid = self.params["proto_persons"]["index_col"] + persons_merged.set_index(perid, inplace=True, drop=True) + self.proto_pop["proto_persons_merged"] = persons_merged + + # Store in pipeline + inject.add_table("proto_persons_merged", persons_merged) + + +def get_disaggregate_logsums(network_los, chunk_size, trace_hh_id): + logsums = {} + persons_merged = pipeline.get_table("proto_persons_merged").sort_index( + inplace=False + ) + disagg_model_settings = read_disaggregate_accessibility_yaml( + "disaggregate_accessibility.yaml" + ) + + for model_name in [ + "workplace_location", + "school_location", + "non_mandatory_tour_destination", + ]: + trace_label = tracing.extend_trace_label(model_name, "accessibilities") + print("Running model {}".format(trace_label)) + model_settings = config.read_model_settings(model_name + ".yaml") + model_settings["SAMPLE_SIZE"] = disagg_model_settings.get( + "DESTINATION_SAMPLE_SIZE" + ) + estimator = estimation.manager.begin_estimation(trace_label) + if estimator: + location_choice.write_estimation_specs( + estimator, model_settings, model_name + ".yaml" + ) + + # Append table references in settings with "proto_" + # This avoids having to make duplicate copies of config files for disagg accessibilities + model_settings = util.suffix_tables_in_settings(model_settings) + model_settings["CHOOSER_ID_COLUMN"] = "proto_person_id" + + # Include the suffix tags to pass onto downstream logsum models (e.g., tour mode choice) + if model_settings.get("LOGSUM_SETTINGS", None): + suffixes = util.concat_suffix_dict(disagg_model_settings.get("suffixes")) + suffixes.insert(0, model_settings.get("LOGSUM_SETTINGS")) + model_settings["LOGSUM_SETTINGS"] = " ".join(suffixes) + + if model_name != "non_mandatory_tour_destination": + shadow_price_calculator = shadow_pricing.load_shadow_price_calculator( + model_settings + ) + # filter to only workers or students + chooser_filter_column = model_settings["CHOOSER_FILTER_COLUMN_NAME"] + choosers = persons_merged[persons_merged[chooser_filter_column]] + + # run location choice and return logsums + _logsums, _ = location_choice.run_location_choice( + choosers, + network_los, + shadow_price_calculator=shadow_price_calculator, + want_logsums=True, + want_sample_table=True, + estimator=estimator, + model_settings=model_settings, + chunk_size=chunk_size, + chunk_tag=trace_label, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + skip_choice=True, + ) + + # Merge onto persons + if _logsums is not None and len(_logsums.index) > 0: + keep_cols = list(set(_logsums.columns).difference(choosers.columns)) + logsums[model_name] = persons_merged.merge( + _logsums[keep_cols], on="proto_person_id" + ) + + else: + tours = pipeline.get_table("proto_tours") + tours = tours[tours.tour_category == "non_mandatory"] + + _logsums, _ = tour_destination.run_tour_destination( + tours, + persons_merged, + want_logsums=True, + want_sample_table=True, + model_settings=model_settings, + network_los=network_los, + estimator=estimator, + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + skip_choice=True, + ) + + # Merge onto persons & tours + if _logsums is not None and len(_logsums.index) > 0: + tour_logsums = tours.merge( + _logsums["logsums"].to_frame(), left_index=True, right_index=True + ) + keep_cols = list( + set(tour_logsums.columns).difference(persons_merged.columns) + ) + logsums[model_name] = persons_merged.merge( + tour_logsums[keep_cols], on="proto_person_id" + ) + + return logsums + + +@inject.step() +def initialize_proto_population(network_los, chunk_size): + # Synthesize the proto-population + ProtoPop(network_los, chunk_size) + return + + +@inject.step() +def compute_disaggregate_accessibility(network_los, chunk_size, trace_hh_id): + """ + Compute enhanced disaggregate accessibility for user specified population segments, + as well as each zone in land use file using expressions from accessibility_spec. + + """ + + # Synthesize the proto-population + model_settings = read_disaggregate_accessibility_yaml( + "disaggregate_accessibility.yaml" + ) + + # - initialize shadow_pricing size tables after annotating household and person tables + # since these are scaled to model size, they have to be created while single-process + # this can now be called as a standalone model step instead, add_size_tables + add_size_tables = model_settings.get("add_size_tables", True) + if add_size_tables: + # warnings.warn(f"Calling add_size_tables from initialize will be removed in the future.", FutureWarning) + shadow_pricing.add_size_tables(model_settings.get("suffixes")) + + # Re-Register tables in this step, necessary for multiprocessing + for tablename in ["proto_households", "proto_persons", "proto_tours"]: + df = inject.get_table(tablename).to_frame() + traceables = inject.get_injectable("traceable_tables") + if tablename not in pipeline.get_rn_generator().channels: + pipeline.get_rn_generator().add_channel(tablename, df) + if tablename not in traceables: + inject.add_injectable("traceable_tables", traceables + [tablename]) + tracing.register_traceable_table(tablename, df) + del df + + # Run location choice + logsums = get_disaggregate_logsums(network_los, chunk_size, trace_hh_id) + logsums = {k + "_accessibility": v for k, v in logsums.items()} + + # Combined accessibility table + # Setup dict for fixed location accessibilities + access_list = [] + for k, df in logsums.items(): + if "non_mandatory_tour_destination" in k: + # cast non-mandatory purposes to wide + df = pd.pivot( + df, + index=["proto_household_id", "proto_person_id"], + columns="tour_type", + values="logsums", + ) + df.columns = ["_".join([str(x), "accessibility"]) for x in df.columns] + access_list.append(df) + else: + access_list.append( + df[["proto_household_id", "logsums"]].rename(columns={"logsums": k}) + ) + # Merge to wide data frame. Merged on household_id, logsums are at household level + access_df = reduce( + lambda x, y: pd.merge(x, y, on="proto_household_id", how="outer"), access_list + ) + + # Merge in the proto pop data and inject it + access_df = ( + access_df.merge( + pipeline.get_table("proto_persons_merged").reset_index(), + on="proto_household_id", + ) + .set_index("proto_person_id") + .sort_index() + ) + + logsums["proto_disaggregate_accessibility"] = access_df + + # Drop any tables prematurely created + for tablename in [ + "school_destination_size", + "workplace_destination_size", + ]: + pipeline.drop_table(tablename) + + for ch in list(pipeline.get_rn_generator().channels.keys()): + pipeline.get_rn_generator().drop_channel(ch) + + # Drop any prematurely added traceables + for trace in [ + x for x in inject.get_injectable("traceable_tables") if "proto_" not in x + ]: + tracing.deregister_traceable_table(trace) + + # need to clear any premature tables that were added during the previous run + orca._TABLES.clear() + for name, func in inject._DECORATED_TABLES.items(): + logger.debug("reinject decorated table %s" % name) + orca.add_table(name, func) + + # Inject accessibility results into pipeline + [inject.add_table(k, df) for k, df in logsums.items()] + + return diff --git a/activitysim/abm/models/free_parking.py b/activitysim/abm/models/free_parking.py index b144ed0543..086422ba27 100644 --- a/activitysim/abm/models/free_parking.py +++ b/activitysim/abm/models/free_parking.py @@ -2,12 +2,7 @@ # See full license in LICENSE.txt. import logging -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing from .util import estimation @@ -15,27 +10,23 @@ @inject.step() -def free_parking( - persons_merged, persons, - chunk_size, trace_hh_id): - """ +def free_parking(persons_merged, persons, chunk_size, trace_hh_id): + """ """ - """ - - trace_label = 'free_parking' - model_settings_file_name = 'free_parking.yaml' + trace_label = "free_parking" + model_settings_file_name = "free_parking.yaml" choosers = persons_merged.to_frame() choosers = choosers[choosers.workplace_zone_id > -1] logger.info("Running %s with %d persons", trace_label, len(choosers)) model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('free_parking') + estimator = estimation.manager.begin_estimation("free_parking") constants = config.get_model_constants(model_settings) # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_d = {} @@ -46,9 +37,10 @@ def free_parking( df=choosers, model_settings=preprocessor_settings, locals_dict=locals_d, - trace_label=trace_label) + trace_label=trace_label, + ) - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -67,26 +59,31 @@ def free_parking( locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='free_parking_at_work', - estimator=estimator) + trace_choice_name="free_parking_at_work", + estimator=estimator, + ) - free_parking_alt = model_settings['FREE_PARKING_ALT'] - choices = (choices == free_parking_alt) + free_parking_alt = model_settings["FREE_PARKING_ALT"] + choices = choices == free_parking_alt if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'free_parking_at_work') + choices = estimator.get_survey_values( + choices, "persons", "free_parking_at_work" + ) estimator.write_override_choices(choices) estimator.end_estimation() persons = persons.to_frame() - persons['free_parking_at_work'] = choices.reindex(persons.index).fillna(0).astype(bool) + persons["free_parking_at_work"] = ( + choices.reindex(persons.index).fillna(0).astype(bool) + ) pipeline.replace_table("persons", persons) - tracing.print_summary('free_parking', persons.free_parking_at_work, value_counts=True) + tracing.print_summary( + "free_parking", persons.free_parking_at_work, value_counts=True + ) if trace_hh_id: - tracing.trace_df(persons, - label=trace_label, - warn_if_empty=True) + tracing.trace_df(persons, label=trace_label, warn_if_empty=True) diff --git a/activitysim/abm/models/initialize.py b/activitysim/abm/models/initialize.py index b0f05ab42a..fd9f47bb81 100644 --- a/activitysim/abm/models/initialize.py +++ b/activitysim/abm/models/initialize.py @@ -1,38 +1,31 @@ # ActivitySim # See full license in LICENSE.txt. import logging -import warnings import os -import pandas as pd - -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import expressions -from activitysim.core import chunk -from activitysim.core import mem +import warnings -from activitysim.core.steps.output import write_data_dictionary -from activitysim.core.steps.output import write_tables -from activitysim.core.steps.output import track_skim_usage +import pandas as pd -from activitysim.abm.tables import shadow_pricing +from activitysim.abm.tables import shadow_pricing, disaggregate_accessibility +from activitysim.core import chunk, config, expressions, inject, mem, pipeline, tracing +from activitysim.core.steps.output import ( + track_skim_usage, + write_data_dictionary, + write_tables, +) # We are using the naming conventions in the mtc_asim.h5 example # file for our default list. This provides backwards compatibility # with previous versions of ActivitySim in which only 'input_store' # is given in the settings file. DEFAULT_TABLE_LIST = [ - {'tablename': 'households', - 'h5_tablename': 'households', - 'index_col': 'household_id'}, - {'tablename': 'persons', - 'h5_tablename': 'persons', - 'index_col': 'person_id'}, - {'tablename': 'land_use', - 'h5_tablename': 'land_use_taz', - 'index_col': 'TAZ'} + { + "tablename": "households", + "h5_tablename": "households", + "index_col": "household_id", + }, + {"tablename": "persons", "h5_tablename": "persons", "index_col": "person_id"}, + {"tablename": "land_use", "h5_tablename": "land_use_taz", "index_col": "TAZ"}, ] logger = logging.getLogger(__name__) @@ -40,23 +33,26 @@ def annotate_tables(model_settings, trace_label): - trace_label = tracing.extend_trace_label(trace_label, 'annotate_tables') + trace_label = tracing.extend_trace_label(trace_label, "annotate_tables") chunk.log_rss(trace_label) - annotate_tables = model_settings.get('annotate_tables', []) + annotate_tables = model_settings.get("annotate_tables", []) if not annotate_tables: - logger.warning(f"{trace_label} - annotate_tables setting is empty - nothing to do!") + logger.warning( + f"{trace_label} - annotate_tables setting is empty - nothing to do!" + ) - assert isinstance(annotate_tables, list), \ - f"annotate_tables settings should be a list but is {type(annotate_tables)}" + assert isinstance( + annotate_tables, list + ), f"annotate_tables settings should be a list but is {type(annotate_tables)}" t0 = tracing.print_elapsed_time() for table_info in annotate_tables: - tablename = table_info['tablename'] + tablename = table_info["tablename"] chunk.log_rss(f"{trace_label}.pre-get_table.{tablename}") @@ -64,24 +60,27 @@ def annotate_tables(model_settings, trace_label): chunk.log_df(trace_label, tablename, df) # - rename columns - column_map = table_info.get('column_map', None) + column_map = table_info.get("column_map", None) if column_map: - warnings.warn(f"Setting 'column_map' has been changed to 'rename_columns'. " - f"Support for 'column_map' in annotate_tables will be removed in future versions.", - FutureWarning) + warnings.warn( + f"Setting 'column_map' has been changed to 'rename_columns'. " + f"Support for 'column_map' in annotate_tables will be removed in future versions.", + FutureWarning, + ) logger.info(f"{trace_label} - renaming {tablename} columns {column_map}") df.rename(columns=column_map, inplace=True) # - annotate - annotate = table_info.get('annotate', None) + annotate = table_info.get("annotate", None) if annotate: - logger.info(f"{trace_label} - annotating {tablename} SPEC {annotate['SPEC']}") + logger.info( + f"{trace_label} - annotating {tablename} SPEC {annotate['SPEC']}" + ) expressions.assign_columns( - df=df, - model_settings=annotate, - trace_label=trace_label) + df=df, model_settings=annotate, trace_label=trace_label + ) chunk.log_df(trace_label, tablename, df) @@ -95,53 +94,58 @@ def annotate_tables(model_settings, trace_label): @inject.step() def initialize_landuse(): - trace_label = 'initialize_landuse' + trace_label = "initialize_landuse" with chunk.chunk_log(trace_label, base=True): - model_settings = config.read_model_settings('initialize_landuse.yaml', mandatory=True) + model_settings = config.read_model_settings( + "initialize_landuse.yaml", mandatory=True + ) annotate_tables(model_settings, trace_label) # instantiate accessibility (must be checkpointed to be be used to slice accessibility) - accessibility = pipeline.get_table('accessibility') + accessibility = pipeline.get_table("accessibility") chunk.log_df(trace_label, "accessibility", accessibility) @inject.step() def initialize_households(): - trace_label = 'initialize_households' + trace_label = "initialize_households" with chunk.chunk_log(trace_label, base=True): chunk.log_rss(f"{trace_label}.inside-yield") - households = inject.get_table('households').to_frame() + households = inject.get_table("households").to_frame() assert not households._is_view chunk.log_df(trace_label, "households", households) del households chunk.log_df(trace_label, "households", None) - persons = inject.get_table('persons').to_frame() + persons = inject.get_table("persons").to_frame() assert not persons._is_view chunk.log_df(trace_label, "persons", persons) del persons chunk.log_df(trace_label, "persons", None) - model_settings = config.read_model_settings('initialize_households.yaml', mandatory=True) + model_settings = config.read_model_settings( + "initialize_households.yaml", mandatory=True + ) annotate_tables(model_settings, trace_label) # - initialize shadow_pricing size tables after annotating household and person tables # since these are scaled to model size, they have to be created while single-process # this can now be called as a stand alone model step instead, add_size_tables - add_size_tables = model_settings.get('add_size_tables', True) + add_size_tables = model_settings.get("add_size_tables", True) if add_size_tables: # warnings.warn(f"Calling add_size_tables from initialize will be removed in the future.", FutureWarning) - shadow_pricing.add_size_tables() + suffixes = inject.get_injectable("disaggregate_suffixes") + shadow_pricing.add_size_tables(suffixes) # - preload person_windows - person_windows = inject.get_table('person_windows').to_frame() + person_windows = inject.get_table("person_windows").to_frame() chunk.log_df(trace_label, "person_windows", person_windows) @@ -153,42 +157,43 @@ def preload_injectables(): logger.info("preload_injectables") - inject.add_step('track_skim_usage', track_skim_usage) - inject.add_step('write_data_dictionary', write_data_dictionary) - inject.add_step('write_tables', write_tables) + inject.add_step("track_skim_usage", track_skim_usage) + inject.add_step("write_data_dictionary", write_data_dictionary) + inject.add_step("write_tables", write_tables) - table_list = config.setting('input_table_list') + table_list = config.setting("input_table_list") # default ActivitySim table names and indices if table_list is None: logger.warning( "No 'input_table_list' found in settings. This will be a " - "required setting in upcoming versions of ActivitySim.") + "required setting in upcoming versions of ActivitySim." + ) - new_settings = inject.get_injectable('settings') - new_settings['input_table_list'] = DEFAULT_TABLE_LIST - inject.add_injectable('settings', new_settings) + new_settings = inject.get_injectable("settings") + new_settings["input_table_list"] = DEFAULT_TABLE_LIST + inject.add_injectable("settings", new_settings) # FIXME undocumented feature - if config.setting('write_raw_tables'): + if config.setting("write_raw_tables"): # write raw input tables as csv (before annotation) - csv_dir = config.output_file_path('raw_tables') + csv_dir = config.output_file_path("raw_tables") if not os.path.exists(csv_dir): os.makedirs(csv_dir) # make directory if needed - table_names = [t['tablename'] for t in table_list] + table_names = [t["tablename"] for t in table_list] for t in table_names: df = inject.get_table(t).to_frame() - df.to_csv(os.path.join(csv_dir, '%s.csv' % t), index=True) + df.to_csv(os.path.join(csv_dir, "%s.csv" % t), index=True) t0 = tracing.print_elapsed_time() - if config.setting('benchmarking', False): + if config.setting("benchmarking", False): # we don't want to pay for skim_dict inside any model component during # benchmarking, so we'll preload skim_dict here. Preloading is not needed # for regular operation, as activitysim components can load-on-demand. - if inject.get_injectable('skim_dict', None) is not None: + if inject.get_injectable("skim_dict", None) is not None: t0 = tracing.print_elapsed_time("preload skim_dict", t0, debug=True) return True diff --git a/activitysim/abm/models/initialize_los.py b/activitysim/abm/models/initialize_los.py index fbffd8f9ed..63e2f415f3 100644 --- a/activitysim/abm/models/initialize_los.py +++ b/activitysim/abm/models/initialize_los.py @@ -1,26 +1,26 @@ # ActivitySim # See full license in LICENSE.txt. import logging +import multiprocessing import os import time -import multiprocessing -import numba - from contextlib import contextmanager -import pandas as pd +import numba import numpy as np +import pandas as pd -from activitysim.core import assign -from activitysim.core import config -from activitysim.core import simulate -from activitysim.core import pipeline -from activitysim.core import tracing -from activitysim.core import chunk -from activitysim.core import inject -from activitysim.core import los - -from activitysim.core import pathbuilder +from activitysim.core import ( + assign, + chunk, + config, + inject, + los, + pathbuilder, + pipeline, + simulate, + tracing, +) logger = logging.getLogger(__name__) @@ -81,7 +81,7 @@ def initialize_los(network_los): FIXME - to instantiate attribute_combinations_df if the pipeline table version were not available. """ - trace_label = 'initialize_los' + trace_label = "initialize_los" if network_los.zone_system == los.THREE_ZONE: @@ -90,7 +90,7 @@ def initialize_los(network_los): attribute_combinations_df = uid_calculator.scalar_attribute_combinations() # - write table to pipeline (so we can slice it, when multiprocessing) - pipeline.replace_table('attribute_combinations', attribute_combinations_df) + pipeline.replace_table("attribute_combinations", attribute_combinations_df) # clean up any unwanted cache files from previous run if network_los.rebuild_tvpb_cache: @@ -99,7 +99,12 @@ def initialize_los(network_los): # if multiprocessing make sure shared cache is filled with np.nan # so that initialize_tvpb subprocesses can detect when cache is fully populated if network_los.multiprocess(): - data, lock = tap_cache.get_data_and_lock_from_buffers() # don't need lock here since single process + ( + data, + lock, + ) = ( + tap_cache.get_data_and_lock_from_buffers() + ) # don't need lock here since single process if os.path.isfile(tap_cache.cache_path): # fully populated cache should have been loaded from saved cache @@ -112,7 +117,9 @@ def initialize_los(network_los): np.copyto(data, np.nan) -def compute_utilities_for_attribute_tuple(network_los, scalar_attributes, data, chunk_size, trace_label): +def compute_utilities_for_attribute_tuple( + network_los, scalar_attributes, data, chunk_size, trace_label +): # scalar_attributes is a dict of attribute name/value pairs for this combination # (e.g. {'demographic_segment': 0, 'tod': 'AM', 'access_mode': 'walk'}) @@ -121,12 +128,15 @@ def compute_utilities_for_attribute_tuple(network_los, scalar_attributes, data, uid_calculator = network_los.tvpb.uid_calculator - attributes_as_columns = \ - network_los.setting('TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attributes_as_columns', []) - model_settings = \ - network_los.setting(f'TVPB_SETTINGS.tour_mode_choice.tap_tap_settings') - model_constants = \ - network_los.setting(f'TVPB_SETTINGS.tour_mode_choice.CONSTANTS').copy() + attributes_as_columns = network_los.setting( + "TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attributes_as_columns", [] + ) + model_settings = network_los.setting( + f"TVPB_SETTINGS.tour_mode_choice.tap_tap_settings" + ) + model_constants = network_los.setting( + f"TVPB_SETTINGS.tour_mode_choice.CONSTANTS" + ).copy() model_constants.update(scalar_attributes) data = data.reshape(uid_calculator.fully_populated_shape) @@ -138,29 +148,31 @@ def compute_utilities_for_attribute_tuple(network_los, scalar_attributes, data, # since it is created outside of adaptive_chunked_choosers and so will show up in baseline assert not chunk.chunk_logging() # otherwise we should chunk_log this - chunk_tag = 'initialize_tvpb' # all attribute_combinations can use same cached data for row_size calc + chunk_tag = "initialize_tvpb" # all attribute_combinations can use same cached data for row_size calc - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(choosers_df, chunk_size, trace_label, chunk_tag=chunk_tag): + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + choosers_df, chunk_size, trace_label, chunk_tag=chunk_tag + ): # we should count choosers_df as chunk overhead since its pretty big and was custom made for compute_utilities assert chooser_chunk._is_view # otherwise copying it is wasteful chooser_chunk = chooser_chunk.copy() - chunk.log_df(trace_label, 'attribute_chooser_chunk', chooser_chunk) + chunk.log_df(trace_label, "attribute_chooser_chunk", chooser_chunk) # add any attribute columns specified as column attributes in settings (the rest will be scalars in locals_dict) for attribute_name in attributes_as_columns: chooser_chunk[attribute_name] = scalar_attributes[attribute_name] - chunk.log_df(trace_label, 'attribute_chooser_chunk', chooser_chunk) + chunk.log_df(trace_label, "attribute_chooser_chunk", chooser_chunk) - utilities_df = \ - pathbuilder.compute_utilities(network_los, - model_settings=model_settings, - choosers=chooser_chunk, - model_constants=model_constants, - trace_label=trace_label) + utilities_df = pathbuilder.compute_utilities( + network_los, + model_settings=model_settings, + choosers=chooser_chunk, + model_constants=model_constants, + trace_label=trace_label, + ) - chunk.log_df(trace_label, 'utilities_df', utilities_df) + chunk.log_df(trace_label, "utilities_df", utilities_df) assert len(utilities_df) == len(chooser_chunk) assert len(utilities_df.columns) == data.shape[1] @@ -169,7 +181,7 @@ def compute_utilities_for_attribute_tuple(network_los, scalar_attributes, data, data[chooser_chunk.index.values, :] = utilities_df.values del chooser_chunk - chunk.log_df(trace_label, 'attribute_chooser_chunk', None) + chunk.log_df(trace_label, "attribute_chooser_chunk", None) logger.debug(f"{trace_label} updated utilities") @@ -192,10 +204,12 @@ def initialize_tvpb(network_los, attribute_combinations, chunk_size): FIXME - if we did not close this, we could avoid having to reload it from mmap when single-process? """ - trace_label = 'initialize_tvpb' + trace_label = "initialize_tvpb" if network_los.zone_system != los.THREE_ZONE: - logger.info(f"{trace_label} - skipping step because zone_system is not THREE_ZONE") + logger.info( + f"{trace_label} - skipping step because zone_system is not THREE_ZONE" + ) return attribute_combinations_df = attribute_combinations.to_frame() @@ -209,8 +223,10 @@ def initialize_tvpb(network_los, attribute_combinations, chunk_size): if os.path.isfile(tap_cache.cache_path): # otherwise should have been deleted by TVPBCache.cleanup in initialize_los step assert not network_los.rebuild_tvpb_cache - logger.info(f"{trace_label} skipping rebuild of STATIC cache because rebuild_tvpb_cache setting is False" - f" and cache already exists: {tap_cache.cache_path}") + logger.info( + f"{trace_label} skipping rebuild of STATIC cache because rebuild_tvpb_cache setting is False" + f" and cache already exists: {tap_cache.cache_path}" + ) return if multiprocess: @@ -220,24 +236,32 @@ def initialize_tvpb(network_los, attribute_combinations, chunk_size): data = tap_cache.allocate_data_buffer(shared=False) lock = None - logger.debug(f"{trace_label} processing {len(attribute_combinations_df)} attribute_combinations") - logger.debug(f"{trace_label} compute utilities for attribute_combinations_df\n{attribute_combinations_df}") + logger.debug( + f"{trace_label} processing {len(attribute_combinations_df)} attribute_combinations" + ) + logger.debug( + f"{trace_label} compute utilities for attribute_combinations_df\n{attribute_combinations_df}" + ) - for offset, scalar_attributes in attribute_combinations_df.to_dict('index').items(): + for offset, scalar_attributes in attribute_combinations_df.to_dict("index").items(): # compute utilities for this 'skim' with a single full set of scalar attributes offset = network_los.tvpb.uid_calculator.get_skim_offset(scalar_attributes) - tuple_trace_label = tracing.extend_trace_label(trace_label, f'offset{offset}') + tuple_trace_label = tracing.extend_trace_label(trace_label, f"offset{offset}") - compute_utilities_for_attribute_tuple(network_los, scalar_attributes, data, chunk_size, tuple_trace_label) + compute_utilities_for_attribute_tuple( + network_los, scalar_attributes, data, chunk_size, tuple_trace_label + ) # make sure we populated the entire offset - assert not any_uninitialized(data.reshape(uid_calculator.skim_shape)[offset], lock) + assert not any_uninitialized( + data.reshape(uid_calculator.skim_shape)[offset], lock + ) - if multiprocess and not inject.get_injectable('locutor', False): + if multiprocess and not inject.get_injectable("locutor", False): return - write_results = not multiprocess or inject.get_injectable('locutor', False) + write_results = not multiprocess or inject.get_injectable("locutor", False) if write_results: if multiprocess: @@ -247,8 +271,10 @@ def initialize_tvpb(network_los, attribute_combinations, chunk_size): # FIXME testing entire array is costly in terms of RAM) while any_uninitialized(data, lock): - logger.debug(f"{trace_label}.{multiprocessing.current_process().name} waiting for other processes" - f" to populate {num_uninitialized(data, lock)} uninitialized data values") + logger.debug( + f"{trace_label}.{multiprocessing.current_process().name} waiting for other processes" + f" to populate {num_uninitialized(data, lock)} uninitialized data values" + ) time.sleep(5) logger.info(f"{trace_label} writing static cache.") diff --git a/activitysim/abm/models/initialize_tours.py b/activitysim/abm/models/initialize_tours.py index 8fe34a737e..476a53feb1 100644 --- a/activitysim/abm/models/initialize_tours.py +++ b/activitysim/abm/models/initialize_tours.py @@ -1,71 +1,75 @@ # ActivitySim # See full license in LICENSE.txt. import logging -import warnings import os -import pandas as pd - -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import expressions +import warnings -from activitysim.core.input import read_input_table +import pandas as pd from activitysim.abm.models.util import tour_frequency as tf +from activitysim.core import config, expressions, inject, pipeline, tracing +from activitysim.core.input import read_input_table logger = logging.getLogger(__name__) -SURVEY_TOUR_ID = 'external_tour_id' -SURVEY_PARENT_TOUR_ID = 'external_parent_tour_id' -SURVEY_PARTICIPANT_ID = 'external_participant_id' -ASIM_TOUR_ID = 'tour_id' -ASIM_PARENT_TOUR_ID = 'parent_tour_id' -REQUIRED_TOUR_COLUMNS = set(['person_id', 'tour_category', 'tour_type']) +SURVEY_TOUR_ID = "external_tour_id" +SURVEY_PARENT_TOUR_ID = "external_parent_tour_id" +SURVEY_PARTICIPANT_ID = "external_participant_id" +ASIM_TOUR_ID = "tour_id" +ASIM_PARENT_TOUR_ID = "parent_tour_id" +REQUIRED_TOUR_COLUMNS = set(["person_id", "tour_category", "tour_type"]) def patch_tour_ids(tours): - def set_tour_index(tours, parent_tour_num_col, is_joint): - group_cols = ['person_id', 'tour_category', 'tour_type'] + group_cols = ["person_id", "tour_category", "tour_type"] - if 'parent_tour_num' in tours: - group_cols += ['parent_tour_num'] + if "parent_tour_num" in tours: + group_cols += ["parent_tour_num"] - tours['tour_type_num'] = \ + tours["tour_type_num"] = ( tours.sort_values(by=group_cols).groupby(group_cols).cumcount() + 1 + ) - return tf.set_tour_index(tours, parent_tour_num_col=parent_tour_num_col, is_joint=is_joint) + return tf.set_tour_index( + tours, parent_tour_num_col=parent_tour_num_col, is_joint=is_joint + ) - assert REQUIRED_TOUR_COLUMNS.issubset(set(tours.columns)), \ - f"Required columns missing from tours table: {REQUIRED_TOUR_COLUMNS.difference(set(tours.columns))}" + assert REQUIRED_TOUR_COLUMNS.issubset( + set(tours.columns) + ), f"Required columns missing from tours table: {REQUIRED_TOUR_COLUMNS.difference(set(tours.columns))}" # replace tour index with asim standard tour_ids (which are based on person_id and tour_type) if tours.index.name is not None: - tours.insert(loc=0, column='legacy_index', value=tours.index) + tours.insert(loc=0, column="legacy_index", value=tours.index) # FIXME - for now, only grok simple tours - assert set(tours.tour_category.unique()).issubset({'mandatory', 'non_mandatory'}) + assert set(tours.tour_category.unique()).issubset({"mandatory", "non_mandatory"}) # mandatory tours - mandatory_tours = \ - set_tour_index(tours[tours.tour_category == 'mandatory'], parent_tour_num_col=None, is_joint=False) + mandatory_tours = set_tour_index( + tours[tours.tour_category == "mandatory"], + parent_tour_num_col=None, + is_joint=False, + ) - assert mandatory_tours.index.name == 'tour_id' + assert mandatory_tours.index.name == "tour_id" # FIXME joint tours not implemented - assert not (tours.tour_category == 'joint').any() + assert not (tours.tour_category == "joint").any() # non_mandatory tours - non_mandatory_tours = \ - set_tour_index(tours[tours.tour_category == 'non_mandatory'], parent_tour_num_col=None, is_joint=False) + non_mandatory_tours = set_tour_index( + tours[tours.tour_category == "non_mandatory"], + parent_tour_num_col=None, + is_joint=False, + ) # FIXME atwork tours ot implemented - assert not (tours.tour_category == 'atwork').any() + assert not (tours.tour_category == "atwork").any() patched_tours = pd.concat([mandatory_tours, non_mandatory_tours]) - del patched_tours['tour_type_num'] + del patched_tours["tour_type_num"] return patched_tours @@ -73,40 +77,42 @@ def set_tour_index(tours, parent_tour_num_col, is_joint): @inject.step() def initialize_tours(network_los, households, persons, trace_hh_id): - trace_label = 'initialize_tours' + trace_label = "initialize_tours" tours = read_input_table("tours") # FIXME can't use households_sliced injectable as flag like persons table does in case of resume_after. # FIXME could just always slice... - slice_happened = \ - inject.get_injectable('households_sample_size', 0) > 0 \ - or inject.get_injectable('households_sample_size', 0) > 0 + slice_happened = ( + inject.get_injectable("households_sample_size", 0) > 0 + or inject.get_injectable("households_sample_size", 0) > 0 + ) if slice_happened: logger.info("slicing tours %s" % (tours.shape,)) # keep all persons in the sampled households tours = tours[tours.person_id.isin(persons.index)] # annotate before patching tour_id to allow addition of REQUIRED_TOUR_COLUMNS defined above - model_settings = config.read_model_settings('initialize_tours.yaml', mandatory=True) + model_settings = config.read_model_settings("initialize_tours.yaml", mandatory=True) expressions.assign_columns( df=tours, - model_settings=model_settings.get('annotate_tours'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_tours')) + model_settings=model_settings.get("annotate_tours"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_tours"), + ) - skip_patch_tour_ids = model_settings.get('skip_patch_tour_ids', False) + skip_patch_tour_ids = model_settings.get("skip_patch_tour_ids", False) if skip_patch_tour_ids: pass else: tours = patch_tour_ids(tours) - assert tours.index.name == 'tour_id' + assert tours.index.name == "tour_id" # replace table function with dataframe - inject.add_table('tours', tours) + inject.add_table("tours", tours) - pipeline.get_rn_generator().add_channel('tours', tours) + pipeline.get_rn_generator().add_channel("tours", tours) - tracing.register_traceable_table('tours', tours) + tracing.register_traceable_table("tours", tours) logger.debug(f"{len(tours.household_id.unique())} unique household_ids in tours") logger.debug(f"{len(households.index.unique())} unique household_ids in households") @@ -114,11 +120,11 @@ def initialize_tours(network_los, households, persons, trace_hh_id): tours_without_persons = ~tours.person_id.isin(persons.index) if tours_without_persons.any(): - logger.error(f"{tours_without_persons.sum()} tours out of {len(persons)} without persons\n" - f"{pd.Series({'person_id': tours_without_persons.index.values})}") + logger.error( + f"{tours_without_persons.sum()} tours out of {len(persons)} without persons\n" + f"{pd.Series({'person_id': tours_without_persons.index.values})}" + ) raise RuntimeError(f"{tours_without_persons.sum()} tours with bad person_id") if trace_hh_id: - tracing.trace_df(tours, - label='initialize_tours', - warn_if_empty=True) + tracing.trace_df(tours, label="initialize_tours", warn_if_empty=True) diff --git a/activitysim/abm/models/joint_tour_composition.py b/activitysim/abm/models/joint_tour_composition.py index f21b8f8677..a041fb9e83 100644 --- a/activitysim/abm/models/joint_tour_composition.py +++ b/activitysim/abm/models/joint_tour_composition.py @@ -4,40 +4,30 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing from .util import estimation - from .util.overlap import hh_time_window_overlap - logger = logging.getLogger(__name__) def add_null_results(trace_label, tours): logger.info("Skipping %s: add_null_results" % trace_label) - tours['composition'] = '' + tours["composition"] = "" pipeline.replace_table("tours", tours) @inject.step() -def joint_tour_composition( - tours, households, persons, - chunk_size, - trace_hh_id): +def joint_tour_composition(tours, households, persons, chunk_size, trace_hh_id): """ This model predicts the makeup of the travel party (adults, children, or mixed). """ - trace_label = 'joint_tour_composition' - model_settings_file_name = 'joint_tour_composition.yaml' + trace_label = "joint_tour_composition" + model_settings_file_name = "joint_tour_composition.yaml" tours = tours.to_frame() - joint_tours = tours[tours.tour_category == 'joint'] + joint_tours = tours[tours.tour_category == "joint"] # - if no joint tours if joint_tours.shape[0] == 0: @@ -45,7 +35,7 @@ def joint_tour_composition( return model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('joint_tour_composition') + estimator = estimation.manager.begin_estimation("joint_tour_composition") # - only interested in households with joint_tours households = households.to_frame() @@ -54,28 +44,32 @@ def joint_tour_composition( persons = persons.to_frame() persons = persons[persons.household_id.isin(households.index)] - logger.info("Running joint_tour_composition with %d joint tours" % joint_tours.shape[0]) + logger.info( + "Running joint_tour_composition with %d joint tours" % joint_tours.shape[0] + ) # - run preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_dict = { - 'persons': persons, - 'hh_time_window_overlap': hh_time_window_overlap + "persons": persons, + "hh_time_window_overlap": hh_time_window_overlap, } expressions.assign_columns( df=households, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) - joint_tours_merged = pd.merge(joint_tours, households, - left_on='household_id', right_index=True, how='left') + joint_tours_merged = pd.merge( + joint_tours, households, left_on="household_id", right_index=True, how="left" + ) # - simple_simulate - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -95,29 +89,33 @@ def joint_tour_composition( locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='composition', - estimator=estimator) + trace_choice_name="composition", + estimator=estimator, + ) # convert indexes to alternative names choices = pd.Series(model_spec.columns[choices.values], index=choices.index) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'tours', 'composition') + choices = estimator.get_survey_values(choices, "tours", "composition") estimator.write_override_choices(choices) estimator.end_estimation() # add composition column to tours for tracing - joint_tours['composition'] = choices + joint_tours["composition"] = choices # reindex since we ran model on a subset of households - tours['composition'] = choices.reindex(tours.index).fillna('').astype(str) + tours["composition"] = choices.reindex(tours.index).fillna("").astype(str) pipeline.replace_table("tours", tours) - tracing.print_summary('joint_tour_composition', joint_tours.composition, - value_counts=True) + tracing.print_summary( + "joint_tour_composition", joint_tours.composition, value_counts=True + ) if trace_hh_id: - tracing.trace_df(joint_tours, - label="joint_tour_composition.joint_tours", - slicer='household_id') + tracing.trace_df( + joint_tours, + label="joint_tour_composition.joint_tours", + slicer="household_id", + ) diff --git a/activitysim/abm/models/joint_tour_destination.py b/activitysim/abm/models/joint_tour_destination.py index 9154fdfedc..02651d2a44 100644 --- a/activitysim/abm/models/joint_tour_destination.py +++ b/activitysim/abm/models/joint_tour_destination.py @@ -4,29 +4,18 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate - +from activitysim.core import config, inject, pipeline, simulate, tracing from activitysim.core.util import assign_in_place -from .util import tour_destination -from .util import estimation - +from .util import estimation, tour_destination logger = logging.getLogger(__name__) @inject.step() def joint_tour_destination( - tours, - persons_merged, - households_merged, - network_los, - chunk_size, - trace_hh_id): + tours, persons_merged, households_merged, network_los, chunk_size, trace_hh_id +): """ Given the tour generation from the above, each tour needs to have a @@ -34,35 +23,42 @@ def joint_tour_destination( person that's making the tour) """ - trace_label = 'joint_tour_destination' - model_settings_file_name = 'joint_tour_destination.yaml' + trace_label = "joint_tour_destination" + model_settings_file_name = "joint_tour_destination.yaml" model_settings = config.read_model_settings(model_settings_file_name) - logsum_column_name = model_settings.get('DEST_CHOICE_LOGSUM_COLUMN_NAME') + logsum_column_name = model_settings.get("DEST_CHOICE_LOGSUM_COLUMN_NAME") want_logsums = logsum_column_name is not None - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) # choosers are tours - in a sense tours are choosing their destination tours = tours.to_frame() - joint_tours = tours[tours.tour_category == 'joint'] + joint_tours = tours[tours.tour_category == "joint"] persons_merged = persons_merged.to_frame() # - if no joint tours if joint_tours.shape[0] == 0: - tracing.no_results('joint_tour_destination') + tracing.no_results("joint_tour_destination") return - estimator = estimation.manager.begin_estimation('joint_tour_destination') + estimator = estimation.manager.begin_estimation("joint_tour_destination") if estimator: estimator.write_coefficients(model_settings=model_settings) # estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SPEC") estimator.set_alt_id(model_settings["ALT_DEST_COL_NAME"]) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) estimator.write_model_settings(model_settings, model_settings_file_name) choices_df, save_sample_df = tour_destination.run_tour_destination( @@ -73,24 +69,29 @@ def joint_tour_destination( model_settings, network_los, estimator, - chunk_size, trace_hh_id, trace_label) + chunk_size, + trace_hh_id, + trace_label, + ) if estimator: estimator.write_choices(choices_df.choice) - choices_df.choice = estimator.get_survey_values(choices_df.choice, 'tours', 'destination') + choices_df.choice = estimator.get_survey_values( + choices_df.choice, "tours", "destination" + ) estimator.write_override_choices(choices_df.choice) estimator.end_estimation() # add column as we want joint_tours table for tracing. - joint_tours['destination'] = choices_df.choice - assign_in_place(tours, joint_tours[['destination']]) + joint_tours["destination"] = choices_df.choice + assign_in_place(tours, joint_tours[["destination"]]) pipeline.replace_table("tours", tours) if want_logsums: - joint_tours[logsum_column_name] = choices_df['logsum'] + joint_tours[logsum_column_name] = choices_df["logsum"] assign_in_place(tours, joint_tours[[logsum_column_name]]) - tracing.print_summary('destination', joint_tours.destination, describe=True) + tracing.print_summary("destination", joint_tours.destination, describe=True) if want_sample_table: assert len(save_sample_df.index.get_level_values(0).unique()) == len(choices_df) @@ -98,5 +99,4 @@ def joint_tour_destination( pipeline.extend_table(sample_table_name, save_sample_df) if trace_hh_id: - tracing.trace_df(joint_tours, - label="joint_tour_destination.joint_tours") + tracing.trace_df(joint_tours, label="joint_tour_destination.joint_tours") diff --git a/activitysim/abm/models/joint_tour_frequency.py b/activitysim/abm/models/joint_tour_frequency.py index d8930d9834..1039646651 100644 --- a/activitysim/abm/models/joint_tour_frequency.py +++ b/activitysim/abm/models/joint_tour_frequency.py @@ -5,15 +5,9 @@ import numpy as np import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing from .util import estimation - from .util.overlap import hh_time_window_overlap from .util.tour_frequency import process_joint_tours @@ -21,22 +15,21 @@ @inject.step() -def joint_tour_frequency( - households, persons, - chunk_size, - trace_hh_id): +def joint_tour_frequency(households, persons, chunk_size, trace_hh_id): """ This model predicts the frequency of making fully joint trips (see the alternatives above). """ - trace_label = 'joint_tour_frequency' - model_settings_file_name = 'joint_tour_frequency.yaml' + trace_label = "joint_tour_frequency" + model_settings_file_name = "joint_tour_frequency.yaml" - estimator = estimation.manager.begin_estimation('joint_tour_frequency') + estimator = estimation.manager.begin_estimation("joint_tour_frequency") model_settings = config.read_model_settings(model_settings_file_name) - alternatives = simulate.read_model_alts('joint_tour_frequency_alternatives.csv', set_index='alt') + alternatives = simulate.read_model_alts( + "joint_tour_frequency_alternatives.csv", set_index="alt" + ) # - only interested in households with more than one cdap travel_active person and # - at least one non-preschooler @@ -48,25 +41,28 @@ def joint_tour_frequency( persons = persons.to_frame() persons = persons[persons.household_id.isin(multi_person_households.index)] - logger.info("Running joint_tour_frequency with %d multi-person households" % - multi_person_households.shape[0]) + logger.info( + "Running joint_tour_frequency with %d multi-person households" + % multi_person_households.shape[0] + ) # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_dict = { - 'persons': persons, - 'hh_time_window_overlap': hh_time_window_overlap + "persons": persons, + "hh_time_window_overlap": hh_time_window_overlap, } expressions.assign_columns( df=multi_person_households, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -86,15 +82,18 @@ def joint_tour_frequency( locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='joint_tour_frequency', - estimator=estimator) + trace_choice_name="joint_tour_frequency", + estimator=estimator, + ) # convert indexes to alternative names choices = pd.Series(model_spec.columns[choices.values], index=choices.index) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'households', 'joint_tour_frequency') + choices = estimator.get_survey_values( + choices, "households", "joint_tour_frequency" + ) estimator.write_override_choices(choices) estimator.end_estimation() @@ -105,53 +104,63 @@ def joint_tour_frequency( # - so we arbitrarily choose the first person in the household # - to be point person for the purpose of generating an index and setting origin temp_point_persons = persons.loc[persons.PNUM == 1] - temp_point_persons['person_id'] = temp_point_persons.index - temp_point_persons = temp_point_persons.set_index('household_id') - temp_point_persons = temp_point_persons[['person_id', 'home_zone_id']] + temp_point_persons["person_id"] = temp_point_persons.index + temp_point_persons = temp_point_persons.set_index("household_id") + temp_point_persons = temp_point_persons[["person_id", "home_zone_id"]] - joint_tours = \ - process_joint_tours(choices, alternatives, temp_point_persons) + joint_tours = process_joint_tours(choices, alternatives, temp_point_persons) tours = pipeline.extend_table("tours", joint_tours) - tracing.register_traceable_table('tours', joint_tours) - pipeline.get_rn_generator().add_channel('tours', joint_tours) + tracing.register_traceable_table("tours", joint_tours) + pipeline.get_rn_generator().add_channel("tours", joint_tours) # - annotate households # we expect there to be an alt with no tours - which we can use to backfill non-travelers no_tours_alt = (alternatives.sum(axis=1) == 0).index[0] - households['joint_tour_frequency'] = choices.reindex(households.index).fillna(no_tours_alt).astype(str) - - households['num_hh_joint_tours'] = joint_tours.groupby('household_id').size().\ - reindex(households.index).fillna(0).astype(np.int8) + households["joint_tour_frequency"] = ( + choices.reindex(households.index).fillna(no_tours_alt).astype(str) + ) + + households["num_hh_joint_tours"] = ( + joint_tours.groupby("household_id") + .size() + .reindex(households.index) + .fillna(0) + .astype(np.int8) + ) pipeline.replace_table("households", households) - tracing.print_summary('joint_tour_frequency', households.joint_tour_frequency, - value_counts=True) + tracing.print_summary( + "joint_tour_frequency", households.joint_tour_frequency, value_counts=True + ) if trace_hh_id: - tracing.trace_df(households, - label="joint_tour_frequency.households") + tracing.trace_df(households, label="joint_tour_frequency.households") - tracing.trace_df(joint_tours, - label="joint_tour_frequency.joint_tours", - slicer='household_id') + tracing.trace_df( + joint_tours, label="joint_tour_frequency.joint_tours", slicer="household_id" + ) if estimator: - survey_tours = estimation.manager.get_survey_table('tours') - survey_tours = survey_tours[survey_tours.tour_category == 'joint'] + survey_tours = estimation.manager.get_survey_table("tours") + survey_tours = survey_tours[survey_tours.tour_category == "joint"] print(f"len(survey_tours) {len(survey_tours)}") print(f"len(joint_tours) {len(joint_tours)}") different = False - survey_tours_not_in_tours = survey_tours[~survey_tours.index.isin(joint_tours.index)] + survey_tours_not_in_tours = survey_tours[ + ~survey_tours.index.isin(joint_tours.index) + ] if len(survey_tours_not_in_tours) > 0: print(f"survey_tours_not_in_tours\n{survey_tours_not_in_tours}") different = True - tours_not_in_survey_tours = joint_tours[~joint_tours.index.isin(survey_tours.index)] + tours_not_in_survey_tours = joint_tours[ + ~joint_tours.index.isin(survey_tours.index) + ] if len(survey_tours_not_in_tours) > 0: print(f"tours_not_in_survey_tours\n{tours_not_in_survey_tours}") different = True diff --git a/activitysim/abm/models/joint_tour_participation.py b/activitysim/abm/models/joint_tour_participation.py index c69b5093c5..7ef4d43af7 100644 --- a/activitysim/abm/models/joint_tour_participation.py +++ b/activitysim/abm/models/joint_tour_participation.py @@ -4,25 +4,22 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import logit -from activitysim.core import expressions -from activitysim.core import chunk - -from activitysim.core.util import assign_in_place +from activitysim.abm.models.util.canonical_ids import MAX_PARTICIPANT_PNUM +from activitysim.core import ( + chunk, + config, + expressions, + inject, + logit, + pipeline, + simulate, + tracing, +) +from activitysim.core.util import assign_in_place, reindex from .util import estimation - -from activitysim.core.util import reindex from .util.overlap import person_time_window_overlap -from activitysim.abm.models.util.canonical_ids import MAX_PARTICIPANT_PNUM - - logger = logging.getLogger(__name__) @@ -40,17 +37,21 @@ def joint_tour_participation_candidates(joint_tours, persons_merged): # - create candidates table candidates = pd.merge( - joint_tours.reset_index().rename(columns={'person_id': 'point_person_id'}), - persons_merged.reset_index().rename(columns={persons_merged.index.name: 'person_id'}), - left_on=['household_id'], right_on=['household_id']) + joint_tours.reset_index().rename(columns={"person_id": "point_person_id"}), + persons_merged.reset_index().rename( + columns={persons_merged.index.name: "person_id"} + ), + left_on=["household_id"], + right_on=["household_id"], + ) # should have all joint_tours - assert len(candidates['tour_id'].unique()) == joint_tours.shape[0] + assert len(candidates["tour_id"].unique()) == joint_tours.shape[0] # - filter out ineligible candidates (adults for children-only tours, and vice-versa) eligible = ~( - ((candidates.composition == 'adults') & ~candidates.adult) | - ((candidates.composition == 'children') & candidates.adult) + ((candidates.composition == "adults") & ~candidates.adult) + | ((candidates.composition == "children") & candidates.adult) ) candidates = candidates[eligible] @@ -58,10 +59,15 @@ def joint_tour_participation_candidates(joint_tours, persons_merged): # if this happens, participant_id may not be unique # channel random seeds will overlap at MAX_PARTICIPANT_PNUM (not probably a big deal) # and estimation infer will fail - assert candidates.PNUM.max() < MAX_PARTICIPANT_PNUM, \ - f"max persons.PNUM ({candidates.PNUM.max()}) > MAX_PARTICIPANT_PNUM ({MAX_PARTICIPANT_PNUM})" - candidates['participant_id'] = (candidates[joint_tours.index.name] * MAX_PARTICIPANT_PNUM) + candidates.PNUM - candidates.set_index('participant_id', drop=True, inplace=True, verify_integrity=True) + assert ( + candidates.PNUM.max() < MAX_PARTICIPANT_PNUM + ), f"max persons.PNUM ({candidates.PNUM.max()}) > MAX_PARTICIPANT_PNUM ({MAX_PARTICIPANT_PNUM})" + candidates["participant_id"] = ( + candidates[joint_tours.index.name] * MAX_PARTICIPANT_PNUM + ) + candidates.PNUM + candidates.set_index( + "participant_id", drop=True, inplace=True, verify_integrity=True + ) return candidates @@ -75,27 +81,34 @@ def get_tour_satisfaction(candidates, participate): candidates = candidates[participate] # if this happens, we would need to filter them out! - assert not ((candidates.composition == 'adults') & ~candidates.adult).any() - assert not ((candidates.composition == 'children') & candidates.adult).any() + assert not ((candidates.composition == "adults") & ~candidates.adult).any() + assert not ((candidates.composition == "children") & candidates.adult).any() # FIXME tour satisfaction - hack # annotate_households_cdap.csv says there has to be at least one non-preschooler in household # so presumably there also has to be at least one non-preschooler in joint tour # participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) - cols = ['tour_id', 'composition', 'adult', 'person_is_preschool'] - - x = candidates[cols].groupby(['tour_id', 'composition'])\ - .agg(participants=('adult', 'size'), adults=('adult', 'sum'), preschoolers=('person_is_preschool', 'sum'))\ - .reset_index('composition') + cols = ["tour_id", "composition", "adult", "person_is_preschool"] + + x = ( + candidates[cols] + .groupby(["tour_id", "composition"]) + .agg( + participants=("adult", "size"), + adults=("adult", "sum"), + preschoolers=("person_is_preschool", "sum"), + ) + .reset_index("composition") + ) # satisfaction = \ # (x.composition == 'adults') & (x.participants > 1) | \ # (x.composition == 'children') & (x.participants > 1) & (x.preschoolers < x.participants) | \ # (x.composition == 'mixed') & (x.adults > 0) & (x.participants > x.adults) - satisfaction = \ - (x.composition != 'mixed') & (x.participants > 1) | \ - (x.composition == 'mixed') & (x.adults > 0) & (x.participants > x.adults) + satisfaction = (x.composition != "mixed") & (x.participants > 1) | ( + x.composition == "mixed" + ) & (x.adults > 0) & (x.participants > x.adults) satisfaction = satisfaction.reindex(tour_ids).fillna(False).astype(bool) @@ -134,7 +147,7 @@ def participants_chooser(probs, choosers, spec, trace_label): indicating that the participant has been chosen to participate in the tour trace_label : str - Returns - same as logit.make_choices + Returns ------- choices, rands choices, rands as returned by logit.make_choices (in same order as probs) @@ -144,22 +157,27 @@ def participants_chooser(probs, choosers, spec, trace_label): assert probs.index.equals(choosers.index) # choice is boolean (participate or not) - model_settings = config.read_model_settings('joint_tour_participation.yaml') + model_settings = config.read_model_settings("joint_tour_participation.yaml") - choice_col = model_settings.get('participation_choice', 'participate') - assert choice_col in spec.columns, \ - "couldn't find participation choice column '%s' in spec" + choice_col = model_settings.get("participation_choice", "participate") + assert ( + choice_col in spec.columns + ), "couldn't find participation choice column '%s' in spec" PARTICIPATE_CHOICE = spec.columns.get_loc(choice_col) - MAX_ITERATIONS = model_settings.get('max_participation_choice_iterations', 5000) + MAX_ITERATIONS = model_settings.get("max_participation_choice_iterations", 5000) - trace_label = tracing.extend_trace_label(trace_label, 'participants_chooser') + trace_label = tracing.extend_trace_label(trace_label, "participants_chooser") candidates = choosers.copy() choices_list = [] rands_list = [] num_tours_remaining = len(candidates.tour_id.unique()) - logger.info('%s %s joint tours to satisfy.', trace_label, num_tours_remaining,) + logger.info( + "%s %s joint tours to satisfy.", + trace_label, + num_tours_remaining, + ) iter = 0 while candidates.shape[0] > 0: @@ -167,16 +185,23 @@ def participants_chooser(probs, choosers, spec, trace_label): iter += 1 if iter > MAX_ITERATIONS: - logger.warning('%s max iterations exceeded (%s).', trace_label, MAX_ITERATIONS) - diagnostic_cols = ['tour_id', 'household_id', 'composition', 'adult'] + logger.warning( + "%s max iterations exceeded (%s).", trace_label, MAX_ITERATIONS + ) + diagnostic_cols = ["tour_id", "household_id", "composition", "adult"] unsatisfied_candidates = candidates[diagnostic_cols].join(probs) - tracing.write_csv(unsatisfied_candidates, - file_name='%s.UNSATISFIED' % trace_label, transpose=False) + tracing.write_csv( + unsatisfied_candidates, + file_name="%s.UNSATISFIED" % trace_label, + transpose=False, + ) print(unsatisfied_candidates.head(20)) assert False - choices, rands = logit.make_choices(probs, trace_label=trace_label, trace_choosers=choosers) - participate = (choices == PARTICIPATE_CHOICE) + choices, rands = logit.make_choices( + probs, trace_label=trace_label, trace_choosers=choosers + ) + participate = choices == PARTICIPATE_CHOICE # satisfaction indexed by tour_id tour_satisfaction = get_tour_satisfaction(candidates, participate) @@ -195,8 +220,10 @@ def participants_chooser(probs, choosers, spec, trace_label): probs = probs[~satisfied] candidates = candidates[~satisfied] - logger.debug(f"{trace_label} iteration {iter} : " - f"{num_tours_satisfied_this_iter} joint tours satisfied {num_tours_remaining} remaining") + logger.debug( + f"{trace_label} iteration {iter} : " + f"{num_tours_satisfied_this_iter} joint tours satisfied {num_tours_remaining} remaining" + ) choices = pd.concat(choices_list) rands = pd.concat(rands_list).reindex(choosers.index) @@ -207,7 +234,11 @@ def participants_chooser(probs, choosers, spec, trace_label): assert choices.index.equals(choosers.index) assert rands.index.equals(choosers.index) - logger.info('%s %s iterations to satisfy all joint tours.', trace_label, iter,) + logger.info( + "%s %s iterations to satisfy all joint tours.", + trace_label, + iter, + ) return choices, rands @@ -215,11 +246,12 @@ def participants_chooser(probs, choosers, spec, trace_label): def annotate_jtp(model_settings, trace_label): # - annotate persons - persons = inject.get_table('persons').to_frame() + persons = inject.get_table("persons").to_frame() expressions.assign_columns( df=persons, - model_settings=model_settings.get('annotate_persons'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_persons')) + model_settings=model_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) pipeline.replace_table("persons", persons) @@ -227,10 +259,10 @@ def add_null_results(model_settings, trace_label): logger.info("Skipping %s: joint tours", trace_label) # participants table is used downstream in non-joint tour expressions - PARTICIPANT_COLS = ['tour_id', 'household_id', 'person_id', 'participant_num'] + PARTICIPANT_COLS = ["tour_id", "household_id", "person_id", "participant_num"] participants = pd.DataFrame(columns=PARTICIPANT_COLS) - participants.index.name = 'participant_id' + participants.index.name = "participant_id" pipeline.replace_table("joint_tour_participants", participants) # - run annotations @@ -238,19 +270,16 @@ def add_null_results(model_settings, trace_label): @inject.step() -def joint_tour_participation( - tours, persons_merged, - chunk_size, - trace_hh_id): +def joint_tour_participation(tours, persons_merged, chunk_size, trace_hh_id): """ Predicts for each eligible person to participate or not participate in each joint tour. """ - trace_label = 'joint_tour_participation' - model_settings_file_name = 'joint_tour_participation.yaml' + trace_label = "joint_tour_participation" + model_settings_file_name = "joint_tour_participation.yaml" model_settings = config.read_model_settings(model_settings_file_name) tours = tours.to_frame() - joint_tours = tours[tours.tour_category == 'joint'] + joint_tours = tours[tours.tour_category == "joint"] # - if no joint tours if joint_tours.shape[0] == 0: @@ -261,32 +290,35 @@ def joint_tour_participation( # - create joint_tour_participation_candidates table candidates = joint_tour_participation_candidates(joint_tours, persons_merged) - tracing.register_traceable_table('joint_tour_participants', candidates) - pipeline.get_rn_generator().add_channel('joint_tour_participants', candidates) + tracing.register_traceable_table("joint_tour_participants", candidates) + pipeline.get_rn_generator().add_channel("joint_tour_participants", candidates) - logger.info("Running joint_tours_participation with %d potential participants (candidates)" % - candidates.shape[0]) + logger.info( + "Running joint_tours_participation with %d potential participants (candidates)" + % candidates.shape[0] + ) # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_dict = { - 'person_time_window_overlap': person_time_window_overlap, - 'persons': persons_merged + "person_time_window_overlap": person_time_window_overlap, + "persons": persons_merged, } expressions.assign_columns( df=candidates, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) # - simple_simulate - estimator = estimation.manager.begin_estimation('joint_tour_participation') + estimator = estimation.manager.begin_estimation("joint_tour_participation") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -300,10 +332,12 @@ def joint_tour_participation( estimator.write_choosers(candidates) # add tour-based chunk_id so we can chunk all trips in tour together - assert 'chunk_id' not in candidates.columns + assert "chunk_id" not in candidates.columns unique_household_ids = candidates.household_id.unique() - household_chunk_ids = pd.Series(range(len(unique_household_ids)), index=unique_household_ids) - candidates['chunk_id'] = reindex(household_chunk_ids, candidates.household_id) + household_chunk_ids = pd.Series( + range(len(unique_household_ids)), index=unique_household_ids + ) + candidates["chunk_id"] = reindex(household_chunk_ids, candidates.household_id) choices = simulate.simple_simulate_by_chunk_id( choosers=candidates, @@ -312,28 +346,34 @@ def joint_tour_participation( locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='participation', + trace_choice_name="participation", custom_chooser=participants_chooser, - estimator=estimator) + estimator=estimator, + ) # choice is boolean (participate or not) - choice_col = model_settings.get('participation_choice', 'participate') - assert choice_col in model_spec.columns, \ - "couldn't find participation choice column '%s' in spec" + choice_col = model_settings.get("participation_choice", "participate") + assert ( + choice_col in model_spec.columns + ), "couldn't find participation choice column '%s' in spec" PARTICIPATE_CHOICE = model_spec.columns.get_loc(choice_col) - participate = (choices == PARTICIPATE_CHOICE) + participate = choices == PARTICIPATE_CHOICE if estimator: estimator.write_choices(choices) # we override the 'participate' boolean series, instead of raw alternative index in 'choices' series # its value depends on whether the candidate's 'participant_id' is in the joint_tour_participant index - survey_participants_df = estimator.get_survey_table('joint_tour_participants') - participate = pd.Series(choices.index.isin(survey_participants_df.index.values), index=choices.index) + survey_participants_df = estimator.get_survey_table("joint_tour_participants") + participate = pd.Series( + choices.index.isin(survey_participants_df.index.values), index=choices.index + ) # but estimation software wants to know the choices value (alternative index) - choices = participate.replace({True: PARTICIPATE_CHOICE, False: 1-PARTICIPATE_CHOICE}) + choices = participate.replace( + {True: PARTICIPATE_CHOICE, False: 1 - PARTICIPATE_CHOICE} + ) # estimator.write_override_choices(participate) # write choices as boolean participate estimator.write_override_choices(choices) # write choices as int alt indexes @@ -344,30 +384,33 @@ def joint_tour_participation( assert tour_satisfaction.all() - candidates['satisfied'] = reindex(tour_satisfaction, candidates.tour_id) + candidates["satisfied"] = reindex(tour_satisfaction, candidates.tour_id) - PARTICIPANT_COLS = ['tour_id', 'household_id', 'person_id'] + PARTICIPANT_COLS = ["tour_id", "household_id", "person_id"] participants = candidates[participate][PARTICIPANT_COLS].copy() # assign participant_num # FIXME do we want something smarter than the participant with the lowest person_id? - participants['participant_num'] = \ - participants.sort_values(by=['tour_id', 'person_id']).\ - groupby('tour_id').cumcount() + 1 + participants["participant_num"] = ( + participants.sort_values(by=["tour_id", "person_id"]) + .groupby("tour_id") + .cumcount() + + 1 + ) pipeline.replace_table("joint_tour_participants", participants) # drop channel as we aren't using any more (and it has candidates that weren't chosen) - pipeline.get_rn_generator().drop_channel('joint_tour_participants') + pipeline.get_rn_generator().drop_channel("joint_tour_participants") # - assign joint tour 'point person' (participant_num == 1) point_persons = participants[participants.participant_num == 1] - joint_tours['person_id'] = point_persons.set_index('tour_id').person_id + joint_tours["person_id"] = point_persons.set_index("tour_id").person_id # update number_of_participants which was initialized to 1 - joint_tours['number_of_participants'] = participants.groupby('tour_id').size() + joint_tours["number_of_participants"] = participants.groupby("tour_id").size() - assign_in_place(tours, joint_tours[['person_id', 'number_of_participants']]) + assign_in_place(tours, joint_tours[["person_id", "number_of_participants"]]) pipeline.replace_table("tours", tours) @@ -375,8 +418,6 @@ def joint_tour_participation( annotate_jtp(model_settings, trace_label) if trace_hh_id: - tracing.trace_df(participants, - label="joint_tour_participation.participants") + tracing.trace_df(participants, label="joint_tour_participation.participants") - tracing.trace_df(joint_tours, - label="joint_tour_participation.joint_tours") + tracing.trace_df(joint_tours, label="joint_tour_participation.joint_tours") diff --git a/activitysim/abm/models/joint_tour_scheduling.py b/activitysim/abm/models/joint_tour_scheduling.py index 3b41f898e5..32c444c76c 100644 --- a/activitysim/abm/models/joint_tour_scheduling.py +++ b/activitysim/abm/models/joint_tour_scheduling.py @@ -4,39 +4,27 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing +from activitysim.core.util import assign_in_place, reindex from .util import estimation - from .util.vectorize_tour_scheduling import vectorize_joint_tour_scheduling -from activitysim.core.util import assign_in_place -from activitysim.core.util import reindex logger = logging.getLogger(__name__) @inject.step() -def joint_tour_scheduling( - tours, - persons_merged, - tdd_alts, - chunk_size, - trace_hh_id): +def joint_tour_scheduling(tours, persons_merged, tdd_alts, chunk_size, trace_hh_id): """ This model predicts the departure time and duration of each joint tour """ - trace_label = 'joint_tour_scheduling' + trace_label = "joint_tour_scheduling" - model_settings_file_name = 'joint_tour_scheduling.yaml' + model_settings_file_name = "joint_tour_scheduling.yaml" model_settings = config.read_model_settings(model_settings_file_name) tours = tours.to_frame() - joint_tours = tours[tours.tour_category == 'joint'] + joint_tours = tours[tours.tour_category == "joint"] # - if no joint tours if joint_tours.shape[0] == 0: @@ -44,7 +32,7 @@ def joint_tour_scheduling( return # use inject.get_table as this won't exist if there are no joint_tours - joint_tour_participants = inject.get_table('joint_tour_participants').to_frame() + joint_tour_participants = inject.get_table("joint_tour_participants").to_frame() persons_merged = persons_merged.to_frame() @@ -64,7 +52,7 @@ def joint_tour_scheduling( constants = config.get_model_constants(model_settings) # - run preprocessor to annotate choosers - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_d = {} @@ -75,13 +63,14 @@ def joint_tour_scheduling( df=joint_tours, model_settings=preprocessor_settings, locals_dict=locals_d, - trace_label=trace_label) + trace_label=trace_label, + ) timetable = inject.get_injectable("timetable") - estimator = estimation.manager.begin_estimation('joint_tour_scheduling') + estimator = estimation.manager.begin_estimation("joint_tour_scheduling") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -92,45 +81,55 @@ def joint_tour_scheduling( timetable.begin_transaction(estimator) choices = vectorize_joint_tour_scheduling( - joint_tours, joint_tour_participants, + joint_tours, + joint_tour_participants, persons_merged, - tdd_alts, timetable, + tdd_alts, + timetable, spec=model_spec, model_settings=model_settings, estimator=estimator, chunk_size=chunk_size, - trace_label=trace_label) + trace_label=trace_label, + ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'tours', 'tdd') + choices = estimator.get_survey_values(choices, "tours", "tdd") estimator.write_override_choices(choices) estimator.end_estimation() # update timetable to reflect the override choices (assign tours in tour_num order) timetable.rollback() - for tour_num, nth_tours in joint_tours.groupby('tour_num', sort=True): - nth_participants = \ - joint_tour_participants[joint_tour_participants.tour_id.isin(nth_tours.index)] - - estimator.log("assign timetable for %s participants in %s tours with tour_num %s" % - (len(nth_participants), len(nth_tours), tour_num)) + for tour_num, nth_tours in joint_tours.groupby("tour_num", sort=True): + nth_participants = joint_tour_participants[ + joint_tour_participants.tour_id.isin(nth_tours.index) + ] + + estimator.log( + "assign timetable for %s participants in %s tours with tour_num %s" + % (len(nth_participants), len(nth_tours), tour_num) + ) # - update timetables of all joint tour participants - timetable.assign(nth_participants.person_id, reindex(choices, nth_participants.tour_id)) + timetable.assign( + nth_participants.person_id, reindex(choices, nth_participants.tour_id) + ) timetable.replace_table() # choices are tdd alternative ids # we want to add start, end, and duration columns to tours, which we have in tdd_alts table - choices = pd.merge(choices.to_frame('tdd'), tdd_alts, left_on=['tdd'], right_index=True, how='left') + choices = pd.merge( + choices.to_frame("tdd"), tdd_alts, left_on=["tdd"], right_index=True, how="left" + ) assign_in_place(tours, choices) pipeline.replace_table("tours", tours) # updated df for tracing - joint_tours = tours[tours.tour_category == 'joint'] + joint_tours = tours[tours.tour_category == "joint"] if trace_hh_id: - tracing.trace_df(joint_tours, - label="joint_tour_scheduling", - slicer='household_id') + tracing.trace_df( + joint_tours, label="joint_tour_scheduling", slicer="household_id" + ) diff --git a/activitysim/abm/models/location_choice.py b/activitysim/abm/models/location_choice.py index 5dbafb2648..5af78e10e7 100644 --- a/activitysim/abm/models/location_choice.py +++ b/activitysim/abm/models/location_choice.py @@ -2,29 +2,30 @@ # See full license in LICENSE.txt. import logging -# import multiprocessing - -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import mem -from activitysim.core import expressions -from activitysim.core import los -from activitysim.core import logit - -from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.abm.tables import shadow_pricing +from activitysim.core import ( + config, + expressions, + inject, + logit, + los, + mem, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_sample import interaction_sample +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate -from .util import logsums as logsum from .util import estimation +from .util import logsums as logsum from .util import tour_destination -from activitysim.abm.tables import shadow_pricing +# import multiprocessing + """ The school/workplace location model predicts the zones in which various people will @@ -78,7 +79,7 @@ logger = logging.getLogger(__name__) # column name of logsum in df returned by run_location_logsums (here because used in more than one place) -ALT_LOGSUM = 'mode_choice_logsum' +ALT_LOGSUM = "mode_choice_logsum" def write_estimation_specs(estimator, model_settings, settings_file): @@ -93,23 +94,29 @@ def write_estimation_specs(estimator, model_settings, settings_file): estimator.write_model_settings(model_settings, settings_file) # estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SPEC") estimator.write_coefficients(model_settings=model_settings) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) def _location_sample( - segment_name, - choosers, - alternatives, - skims, - estimator, - model_settings, - alt_dest_col_name, - chunk_size, chunk_tag, - trace_label): + segment_name, + choosers, + alternatives, + skims, + estimator, + model_settings, + alt_dest_col_name, + chunk_size, + chunk_tag, + trace_label, +): """ select a sample of alternative locations. @@ -132,23 +139,29 @@ def _location_sample( logger.info("Running %s with %d persons" % (trace_label, len(choosers.index))) sample_size = model_settings["SAMPLE_SIZE"] - if config.setting('disable_destination_sampling', False) or (estimator and estimator.want_unsampled_alternatives): + if config.setting("disable_destination_sampling", False) or ( + estimator and estimator.want_unsampled_alternatives + ): # FIXME interaction_sample will return unsampled complete alternatives with probs and pick_count - logger.info("Estimation mode for %s using unsampled alternatives short_circuit_choices" % (trace_label,)) + logger.info( + "Estimation mode for %s using unsampled alternatives short_circuit_choices" + % (trace_label,) + ) sample_size = 0 - locals_d = { - 'skims': skims, - 'segment_size': segment_name - } + locals_d = {"skims": skims, "segment_size": segment_name} constants = config.get_model_constants(model_settings) locals_d.update(constants) - spec = simulate.spec_for_segment(model_settings, spec_id='SAMPLE_SPEC', - segment_name=segment_name, estimator=estimator) + spec = simulate.spec_for_segment( + model_settings, + spec_id="SAMPLE_SPEC", + segment_name=segment_name, + estimator=estimator, + ) # here since presumably we want this when called for either sample or presample - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample( choosers, @@ -161,23 +174,26 @@ def _location_sample( locals_d=locals_d, chunk_size=chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) return choices def location_sample( - segment_name, - persons_merged, - network_los, - dest_size_terms, - estimator, - model_settings, - chunk_size, chunk_tag, - trace_label): + segment_name, + persons_merged, + network_los, + dest_size_terms, + estimator, + model_settings, + chunk_size, + chunk_tag, + trace_label, +): # FIXME - MEMORY HACK - only include columns actually used in spec - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] choosers = persons_merged[chooser_columns] # create wrapper with keys for this lookup - in this case there is a home_zone_id in the choosers @@ -185,9 +201,9 @@ def location_sample( # (logit.interaction_dataset suffixes duplicate chooser column with '_chooser') # the skims will be available under the name "skims" for any @ expressions skim_dict = network_los.get_default_skim_dict() - skims = skim_dict.wrap('home_zone_id', 'zone_id') + skims = skim_dict.wrap("home_zone_id", "zone_id") - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] choices = _location_sample( segment_name, @@ -197,19 +213,21 @@ def location_sample( estimator, model_settings, alt_dest_col_name, - chunk_size, chunk_tag, - trace_label) + chunk_size, + chunk_tag, + trace_label, + ) return choices -DEST_TAZ = 'dest_TAZ' -HOME_TAZ = 'TAZ' -HOME_MAZ = 'home_zone_id' -DEST_MAZ = 'dest_MAZ' +DEST_TAZ = "dest_TAZ" +HOME_TAZ = "TAZ" +HOME_MAZ = "home_zone_id" +DEST_MAZ = "dest_MAZ" -def aggregate_size_terms(dest_size_terms, network_los): +def aggregate_size_terms(dest_size_terms, network_los, model_settings): # # aggregate MAZ_size_terms to TAZ_size_terms # @@ -217,23 +235,62 @@ def aggregate_size_terms(dest_size_terms, network_los): MAZ_size_terms = dest_size_terms.copy() # add crosswalk DEST_TAZ column to MAZ_size_terms - maz_to_taz = network_los.maz_taz_df[['MAZ', 'TAZ']].set_index('MAZ').sort_values(by='TAZ').TAZ + maz_to_taz = ( + network_los.maz_taz_df[["MAZ", "TAZ"]] + .set_index("MAZ") + .sort_values(by="TAZ") + .TAZ + ) MAZ_size_terms[DEST_TAZ] = MAZ_size_terms.index.map(maz_to_taz) - weighted_average_cols = ['shadow_price_size_term_adjustment', 'shadow_price_utility_adjustment'] + MAZ_size_terms["avail_MAZ"] = np.where( + (MAZ_size_terms.size_term > 0) + & (MAZ_size_terms.shadow_price_utility_adjustment > -999), + 1, + 0, + ) + + weighted_average_cols = [ + "shadow_price_size_term_adjustment", + "shadow_price_utility_adjustment", + ] for c in weighted_average_cols: - MAZ_size_terms[c] *= MAZ_size_terms['size_term'] # weighted average + MAZ_size_terms[c] *= MAZ_size_terms["size_term"] # weighted average TAZ_size_terms = MAZ_size_terms.groupby(DEST_TAZ).agg( - {'size_term': 'sum', - 'shadow_price_size_term_adjustment': 'sum', - 'shadow_price_utility_adjustment': 'sum'}) + { + "size_term": "sum", + "shadow_price_size_term_adjustment": "sum", + "shadow_price_utility_adjustment": "sum", + "avail_MAZ": "sum", + } + ) for c in weighted_average_cols: - TAZ_size_terms[c] /= TAZ_size_terms['size_term'] # weighted average + TAZ_size_terms[c] /= TAZ_size_terms["size_term"] # weighted average + + spc = shadow_pricing.load_shadow_price_calculator(model_settings) + if spc.use_shadow_pricing and ( + spc.shadow_settings["SHADOW_PRICE_METHOD"] == "simulation" + ): + # allow TAZs with at least one underassigned MAZ in them, therefore with a shadowprice larger than -999, to be selected again + TAZ_size_terms["shadow_price_utility_adjustment"] = np.where( + (TAZ_size_terms["shadow_price_utility_adjustment"] > -999) + & (TAZ_size_terms["avail_MAZ"] > 0), + 0, + -999, + ) + # now, negative size term means shadow price is -999. Setting size_term to 0 so the prob of that MAZ being selected becomes 0 + MAZ_size_terms["size_term"] = np.where( + MAZ_size_terms["shadow_price_utility_adjustment"] < 0, + 0, + MAZ_size_terms["size_term"], + ) if TAZ_size_terms.isna().any(axis=None): - logger.warning(f"TAZ_size_terms with NAN values\n{TAZ_size_terms[TAZ_size_terms.isna().any(axis=1)]}") + logger.warning( + f"TAZ_size_terms with NAN values\n{TAZ_size_terms[TAZ_size_terms.isna().any(axis=1)]}" + ) assert not TAZ_size_terms.isna(axis=None).any() # print(f"TAZ_size_terms\n{TAZ_size_terms}") @@ -243,8 +300,10 @@ def aggregate_size_terms(dest_size_terms, network_los): # 3 20.511 1.0 0 # 4 19.737 1.0 0 - MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, 'size_term']].reset_index(drop=False) - MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, 'zone_id']).reset_index(drop=True) + MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, "size_term"]].reset_index(drop=False) + MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, "zone_id"]).reset_index( + drop=True + ) # print(f"MAZ_size_terms\n{MAZ_size_terms}") # zone_id dest_TAZ size_term @@ -257,40 +316,46 @@ def aggregate_size_terms(dest_size_terms, network_los): def location_presample( - segment_name, - persons_merged, - network_los, - dest_size_terms, - estimator, - model_settings, - chunk_size, chunk_tag, - trace_label): - - trace_label = tracing.extend_trace_label(trace_label, 'presample') + segment_name, + persons_merged, + network_los, + dest_size_terms, + estimator, + model_settings, + chunk_size, + chunk_tag, + trace_label, +): + + trace_label = tracing.extend_trace_label(trace_label, "presample") logger.info(f"{trace_label} location_presample") - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] assert DEST_TAZ != alt_dest_col_name - MAZ_size_terms, TAZ_size_terms = aggregate_size_terms(dest_size_terms, network_los) + MAZ_size_terms, TAZ_size_terms = aggregate_size_terms( + dest_size_terms, network_los, model_settings + ) # convert MAZ zone_id to 'TAZ' in choosers (persons_merged) # persons_merged[HOME_TAZ] = persons_merged[HOME_MAZ].map(maz_to_taz) assert HOME_MAZ in persons_merged - assert HOME_TAZ in persons_merged # 'TAZ' should already be in persons_merged from land_use + assert ( + HOME_TAZ in persons_merged + ) # 'TAZ' should already be in persons_merged from land_use # FIXME - MEMORY HACK - only include columns actually used in spec # FIXME we don't actually require that land_use provide a TAZ crosswalk # FIXME maybe we should add it for multi-zone (from maz_taz) if missing? - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] chooser_columns = [HOME_TAZ if c == HOME_MAZ else c for c in chooser_columns] choosers = persons_merged[chooser_columns] # create wrapper with keys for this lookup - in this case there is a HOME_TAZ in the choosers # and a DEST_TAZ in the alternatives which get merged during interaction # the skims will be available under the name "skims" for any @ expressions - skim_dict = network_los.get_skim_dict('taz') + skim_dict = network_los.get_skim_dict("taz") skims = skim_dict.wrap(HOME_TAZ, DEST_TAZ) taz_sample = _location_sample( @@ -301,8 +366,10 @@ def location_presample( estimator, model_settings, DEST_TAZ, - chunk_size, chunk_tag, - trace_label) + chunk_size, + chunk_tag, + trace_label, + ) # print(f"taz_sample\n{taz_sample}") # dest_TAZ prob pick_count @@ -313,7 +380,9 @@ def location_presample( # 55227 20 0.035548 3 # choose a MAZ for each DEST_TAZ choice, choice probability based on MAZ size_term fraction of TAZ total - maz_choices = tour_destination.choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label) + maz_choices = tour_destination.choose_MAZ_for_TAZ( + taz_sample, MAZ_size_terms, trace_label + ) assert DEST_MAZ in maz_choices maz_choices = maz_choices.rename(columns={DEST_MAZ: alt_dest_col_name}) @@ -322,14 +391,16 @@ def location_presample( def run_location_sample( - segment_name, - persons_merged, - network_los, - dest_size_terms, - estimator, - model_settings, - chunk_size, chunk_tag, - trace_label): + segment_name, + persons_merged, + network_los, + dest_size_terms, + estimator, + model_settings, + chunk_size, + chunk_tag, + trace_label, +): """ select a sample of alternative locations. @@ -348,20 +419,27 @@ def run_location_sample( 23751, 14, 0.972732479292, 2 """ - logger.debug(f"dropping {(~(dest_size_terms.size_term > 0)).sum()} " - f"of {len(dest_size_terms)} rows where size_term is zero") + logger.debug( + f"dropping {(~(dest_size_terms.size_term > 0)).sum()} " + f"of {len(dest_size_terms)} rows where size_term is zero" + ) dest_size_terms = dest_size_terms[dest_size_terms.size_term > 0] # by default, enable presampling for multizone systems, unless they disable it in settings file pre_sample_taz = not (network_los.zone_system == los.ONE_ZONE) - if pre_sample_taz and not config.setting('want_dest_choice_presampling', True): + if pre_sample_taz and not config.setting("want_dest_choice_presampling", True): pre_sample_taz = False - logger.info(f"Disabled destination zone presampling for {trace_label} " - f"because 'want_dest_choice_presampling' setting is False") + logger.info( + f"Disabled destination zone presampling for {trace_label} " + f"because 'want_dest_choice_presampling' setting is False" + ) if pre_sample_taz: - logger.info("Running %s location_presample with %d persons" % (trace_label, len(persons_merged))) + logger.info( + "Running %s location_presample with %d persons" + % (trace_label, len(persons_merged)) + ) choices = location_presample( segment_name, @@ -371,8 +449,9 @@ def run_location_sample( estimator, model_settings, chunk_size, - chunk_tag=f'{chunk_tag}.presample', - trace_label=trace_label) + chunk_tag=f"{chunk_tag}.presample", + trace_label=trace_label, + ) else: @@ -384,20 +463,23 @@ def run_location_sample( estimator, model_settings, chunk_size, - chunk_tag=f'{chunk_tag}.sample', - trace_label=trace_label) + chunk_tag=f"{chunk_tag}.sample", + trace_label=trace_label, + ) return choices def run_location_logsums( - segment_name, - persons_merged_df, - network_los, - location_sample_df, - model_settings, - chunk_size, chunk_tag, - trace_label): + segment_name, + persons_merged_df, + network_los, + location_sample_df, + model_settings, + chunk_size, + chunk_tag, + trace_label, +): """ add logsum column to existing location_sample table @@ -421,28 +503,33 @@ def run_location_logsums( assert not location_sample_df.empty - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) # FIXME - MEMORY HACK - only include columns actually used in spec - persons_merged_df = \ - logsum.filter_chooser_columns(persons_merged_df, logsum_settings, model_settings) + persons_merged_df = logsum.filter_chooser_columns( + persons_merged_df, logsum_settings, model_settings + ) - logger.info("Running %s with %s rows" % (trace_label, len(location_sample_df.index))) + logger.info( + "Running %s with %s rows" % (trace_label, len(location_sample_df.index)) + ) - choosers = location_sample_df.join(persons_merged_df, how='left') + choosers = location_sample_df.join(persons_merged_df, how="left") - tour_purpose = model_settings['LOGSUM_TOUR_PURPOSE'] + tour_purpose = model_settings["LOGSUM_TOUR_PURPOSE"] if isinstance(tour_purpose, dict): tour_purpose = tour_purpose[segment_name] logsums = logsum.compute_logsums( choosers, tour_purpose, - logsum_settings, model_settings, + logsum_settings, + model_settings, network_los, chunk_size, chunk_tag, - trace_label) + trace_label, + ) # "add_column series should have an index matching the table to which it is being added" # when the index has duplicates, however, in the special case that the series index exactly @@ -454,16 +541,19 @@ def run_location_logsums( def run_location_simulate( - segment_name, - persons_merged, - location_sample_df, - network_los, - dest_size_terms, - want_logsums, - estimator, - model_settings, - chunk_size, chunk_tag, - trace_label): + segment_name, + persons_merged, + location_sample_df, + network_los, + dest_size_terms, + want_logsums, + estimator, + model_settings, + chunk_size, + chunk_tag, + trace_label, + skip_choice=False, +): """ run location model on location_sample annotated with mode_choice logsum to select a dest zone from sample alternatives @@ -479,16 +569,20 @@ def run_location_simulate( assert not persons_merged.empty # FIXME - MEMORY HACK - only include columns actually used in spec - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] choosers = persons_merged[chooser_columns] - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] # alternatives are pre-sampled and annotated with logsums and pick_count # but we have to merge additional alt columns into alt sample list - alternatives = \ - pd.merge(location_sample_df, dest_size_terms, - left_on=alt_dest_col_name, right_index=True, how="left") + alternatives = pd.merge( + location_sample_df, + dest_size_terms, + left_on=alt_dest_col_name, + right_index=True, + how="left", + ) logger.info("Running %s with %d persons" % (trace_label, len(choosers))) @@ -496,12 +590,9 @@ def run_location_simulate( # and a zone_id in the alternatives which get merged during interaction # the skims will be available under the name "skims" for any @ expressions skim_dict = network_los.get_default_skim_dict() - skims = skim_dict.wrap('home_zone_id', alt_dest_col_name) + skims = skim_dict.wrap("home_zone_id", alt_dest_col_name) - locals_d = { - 'skims': skims, - 'segment_size': segment_name - } + locals_d = {"skims": skims, "segment_size": segment_name} constants = config.get_model_constants(model_settings) if constants is not None: locals_d.update(constants) @@ -512,9 +603,11 @@ def run_location_simulate( estimator.set_alt_id(alt_dest_col_name) estimator.write_interaction_sample_alternatives(alternatives) - spec = simulate.spec_for_segment(model_settings, spec_id='SPEC', segment_name=segment_name, estimator=estimator) + spec = simulate.spec_for_segment( + model_settings, spec_id="SPEC", segment_name=segment_name, estimator=estimator + ) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample_simulate( choosers, @@ -525,15 +618,18 @@ def run_location_simulate( want_logsums=want_logsums, skims=skims, locals_d=locals_d, - chunk_size=chunk_size, chunk_tag=chunk_tag, + chunk_size=chunk_size, + chunk_tag=chunk_tag, trace_label=trace_label, - trace_choice_name=model_settings['DEST_CHOICE_COLUMN_NAME'], - estimator=estimator) + trace_choice_name=model_settings["DEST_CHOICE_COLUMN_NAME"], + estimator=estimator, + skip_choice=skip_choice, + ) if not want_logsums: # for consistency, always return a dataframe with canonical column name assert isinstance(choices, pd.Series) - choices = choices.to_frame('choice') + choices = choices.to_frame("choice") assert isinstance(choices, pd.DataFrame) @@ -541,16 +637,19 @@ def run_location_simulate( def run_location_choice( - persons_merged_df, - network_los, - shadow_price_calculator, - want_logsums, - want_sample_table, - estimator, - model_settings, - chunk_size, chunk_tag, - trace_hh_id, trace_label - ): + persons_merged_df, + network_los, + shadow_price_calculator, + want_logsums, + want_sample_table, + estimator, + model_settings, + chunk_size, + chunk_tag, + trace_hh_id, + trace_label, + skip_choice=False, +): """ Run the three-part location choice algorithm to generate a location choice for each chooser @@ -580,74 +679,90 @@ def run_location_choice( logsums optional & only returned if DEST_CHOICE_LOGSUM_COLUMN_NAME specified in model_settings """ - chooser_segment_column = model_settings['CHOOSER_SEGMENT_COLUMN_NAME'] + chooser_segment_column = model_settings["CHOOSER_SEGMENT_COLUMN_NAME"] # maps segment names to compact (integer) ids - segment_ids = model_settings['SEGMENT_IDS'] + segment_ids = model_settings["SEGMENT_IDS"] choices_list = [] sample_list = [] for segment_name, segment_id in segment_ids.items(): - choosers = persons_merged_df[persons_merged_df[chooser_segment_column] == segment_id] + choosers = persons_merged_df[ + persons_merged_df[chooser_segment_column] == segment_id + ] # size_term and shadow price adjustment - one row per zone dest_size_terms = shadow_price_calculator.dest_size_terms(segment_name) - assert dest_size_terms.index.is_monotonic_increasing, \ - f"shadow_price_calculator.dest_size_terms({segment_name}) not monotonic_increasing" + assert ( + dest_size_terms.index.is_monotonic_increasing + ), f"shadow_price_calculator.dest_size_terms({segment_name}) not monotonic_increasing" if choosers.shape[0] == 0: logger.info(f"{trace_label} skipping segment {segment_name}: no choosers") continue # - location_sample - location_sample_df = \ - run_location_sample( - segment_name, - choosers, - network_los, - dest_size_terms, - estimator, - model_settings, - chunk_size, - chunk_tag, # run_location_sample will add appropriate suffix for sample or presample - trace_label=tracing.extend_trace_label(trace_label, 'sample.%s' % segment_name)) + location_sample_df = run_location_sample( + segment_name, + choosers, + network_los, + dest_size_terms, + estimator, + model_settings, + chunk_size, + chunk_tag, # run_location_sample will add appropriate suffix for sample or presample + trace_label=tracing.extend_trace_label( + trace_label, "sample.%s" % segment_name + ), + ) # - location_logsums - location_sample_df = \ - run_location_logsums( - segment_name, - choosers, - network_los, - location_sample_df, - model_settings, - chunk_size, chunk_tag=f'{chunk_tag}.logsums', - trace_label=tracing.extend_trace_label(trace_label, 'logsums.%s' % segment_name)) + location_sample_df = run_location_logsums( + segment_name, + choosers, + network_los, + location_sample_df, + model_settings, + chunk_size, + chunk_tag=f"{chunk_tag}.logsums", + trace_label=tracing.extend_trace_label( + trace_label, "logsums.%s" % segment_name + ), + ) # - location_simulate - choices_df = \ - run_location_simulate( - segment_name, - choosers, - location_sample_df, - network_los, - dest_size_terms, - want_logsums, - estimator, - model_settings, - chunk_size, chunk_tag=f'{chunk_tag}.simulate', - trace_label=tracing.extend_trace_label(trace_label, 'simulate.%s' % segment_name)) + choices_df = run_location_simulate( + segment_name, + choosers, + location_sample_df, + network_los, + dest_size_terms, + want_logsums, + estimator, + model_settings, + chunk_size, + chunk_tag=f"{chunk_tag}.simulate", + trace_label=tracing.extend_trace_label( + trace_label, "simulate.%s" % segment_name + ), + skip_choice=skip_choice, + ) if estimator: if trace_hh_id: - estimation_trace_label = \ - tracing.extend_trace_label(trace_label, f'estimation.{segment_name}.modeled_choices') + estimation_trace_label = tracing.extend_trace_label( + trace_label, f"estimation.{segment_name}.modeled_choices" + ) tracing.trace_df(choices_df, label=estimation_trace_label) estimator.write_choices(choices_df.choice) - choices_df.choice = estimator.get_survey_values(choices_df.choice, 'persons', - column_names=model_settings['DEST_CHOICE_COLUMN_NAME']) + choices_df.choice = estimator.get_survey_values( + choices_df.choice, + "persons", + column_names=model_settings["DEST_CHOICE_COLUMN_NAME"], + ) estimator.write_override_choices(choices_df.choice) if want_logsums: @@ -659,31 +774,38 @@ def run_location_choice( # merge mode_choice_logsum for the overridden location # alt_logsums columns: ['person_id', 'choice', 'logsum'] - alt_dest_col = model_settings['ALT_DEST_COL_NAME'] - alt_logsums = \ - location_sample_df[[alt_dest_col, ALT_LOGSUM]]\ - .rename(columns={alt_dest_col: 'choice', ALT_LOGSUM: 'logsum'})\ + alt_dest_col = model_settings["ALT_DEST_COL_NAME"] + alt_logsums = ( + location_sample_df[[alt_dest_col, ALT_LOGSUM]] + .rename(columns={alt_dest_col: "choice", ALT_LOGSUM: "logsum"}) .reset_index() + ) # choices_df columns: ['person_id', 'choice'] - choices_df = choices_df[['choice']].reset_index() + choices_df = choices_df[["choice"]].reset_index() # choices_df columns: ['person_id', 'choice', 'logsum'] - choices_df = pd.merge(choices_df, alt_logsums, how='left').set_index('person_id') + choices_df = pd.merge(choices_df, alt_logsums, how="left").set_index( + "person_id" + ) - logger.debug(f"{trace_label} segment {segment_name} estimation: override logsums") + logger.debug( + f"{trace_label} segment {segment_name} estimation: override logsums" + ) if trace_hh_id: - estimation_trace_label = \ - tracing.extend_trace_label(trace_label, f'estimation.{segment_name}.survey_choices') + estimation_trace_label = tracing.extend_trace_label( + trace_label, f"estimation.{segment_name}.survey_choices" + ) tracing.trace_df(choices_df, estimation_trace_label) choices_list.append(choices_df) if want_sample_table: # FIXME - sample_table - location_sample_df.set_index(model_settings['ALT_DEST_COL_NAME'], - append=True, inplace=True) + location_sample_df.set_index( + model_settings["ALT_DEST_COL_NAME"], append=True, inplace=True + ) sample_list.append(location_sample_df) else: # del this so we dont hold active reference to it while run_location_sample is creating its replacement @@ -694,7 +816,7 @@ def run_location_choice( else: # this will only happen with small samples (e.g. singleton) with no (e.g.) school segs logger.warning("%s no choices", trace_label) - choices_df = pd.DataFrame(columns=['choice', 'logsum']) + choices_df = pd.DataFrame(columns=["choice", "logsum"]) if len(sample_list) > 0: save_sample_df = pd.concat(sample_list) @@ -706,12 +828,17 @@ def run_location_choice( def iterate_location_choice( - model_settings, - persons_merged, persons, households, - network_los, - estimator, - chunk_size, trace_hh_id, locutor, - trace_label): + model_settings, + persons_merged, + persons, + households, + network_los, + estimator, + chunk_size, + trace_hh_id, + locutor, + trace_label, +): """ iterate run_location_choice updating shadow pricing until convergence criteria satisfied or max_iterations reached. @@ -740,25 +867,32 @@ def iterate_location_choice( chunk_tag = trace_label # boolean to filter out persons not needing location modeling (e.g. is_worker, is_student) - chooser_filter_column = model_settings['CHOOSER_FILTER_COLUMN_NAME'] + chooser_filter_column = model_settings["CHOOSER_FILTER_COLUMN_NAME"] - dest_choice_column_name = model_settings['DEST_CHOICE_COLUMN_NAME'] - logsum_column_name = model_settings.get('DEST_CHOICE_LOGSUM_COLUMN_NAME') + dest_choice_column_name = model_settings["DEST_CHOICE_COLUMN_NAME"] + logsum_column_name = model_settings.get("DEST_CHOICE_LOGSUM_COLUMN_NAME") - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) persons_merged_df = persons_merged.to_frame() persons_merged_df = persons_merged_df[persons_merged[chooser_filter_column]] - persons_merged_df.sort_index(inplace=True) # interaction_sample expects chooser index to be monotonic increasing + persons_merged_df.sort_index( + inplace=True + ) # interaction_sample expects chooser index to be monotonic increasing # chooser segmentation allows different sets coefficients for e.g. different income_segments or tour_types - chooser_segment_column = model_settings['CHOOSER_SEGMENT_COLUMN_NAME'] + chooser_segment_column = model_settings["CHOOSER_SEGMENT_COLUMN_NAME"] + segment_ids = model_settings["SEGMENT_IDS"] - assert chooser_segment_column in persons_merged_df, \ - f"CHOOSER_SEGMENT_COLUMN '{chooser_segment_column}' not in persons_merged table." + assert ( + chooser_segment_column in persons_merged_df + ), f"CHOOSER_SEGMENT_COLUMN '{chooser_segment_column}' not in persons_merged table." spc = shadow_pricing.load_shadow_price_calculator(model_settings) max_iterations = spc.max_iterations @@ -768,42 +902,105 @@ def iterate_location_choice( for iteration in range(1, max_iterations + 1): + persons_merged_df_ = persons_merged_df.copy() + if spc.use_shadow_pricing and iteration > 1: spc.update_shadow_prices() - choices_df, save_sample_df = run_location_choice( - persons_merged_df, + if spc.shadow_settings["SHADOW_PRICE_METHOD"] == "simulation": + # filter from the sampled persons + persons_merged_df_ = persons_merged_df_[ + persons_merged_df_.index.isin(spc.sampled_persons.index) + ] + # handle cases where a segment has persons but no zones to receive them + desired_size_sum = spc.desired_size[ + spc.desired_size.index.isin( + spc.shadow_prices[spc.shadow_prices.iloc[:, 0] != -999].index + ) + ].sum() + zero_desired_size_segments = [ + i for i in desired_size_sum.index if desired_size_sum[i] == 0 + ] + zero_desired_size_segments_ids = [ + segment_ids[key] for key in zero_desired_size_segments + ] + persons_merged_df_ = persons_merged_df_[ + ~persons_merged_df_[chooser_segment_column].isin( + zero_desired_size_segments_ids + ) + ] + + persons_merged_df_ = persons_merged_df_.sort_index() + + choices_df_, save_sample_df = run_location_choice( + persons_merged_df_, network_los, shadow_price_calculator=spc, want_logsums=logsum_column_name is not None, want_sample_table=want_sample_table, estimator=estimator, model_settings=model_settings, - chunk_size=chunk_size, chunk_tag=chunk_tag, + chunk_size=chunk_size, + chunk_tag=chunk_tag, trace_hh_id=trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, 'i%s' % iteration)) + trace_label=tracing.extend_trace_label(trace_label, "i%s" % iteration), + ) - # choices_df is a pandas DataFrame with columns 'choice' and (optionally) 'logsum' - if choices_df is None: + # choices_df is a pandas DataFrame with columns "choice" and (optionally) "logsum" + if choices_df_ is None: break + if spc.use_shadow_pricing: + # handle simulation method + if ( + spc.shadow_settings["SHADOW_PRICE_METHOD"] == "simulation" + and iteration > 1 + ): + # if a process ends up with no sampled workers in it, hence an empty choice_df_, then choice_df wil be what it was previously + if len(choices_df_) == 0: + choices_df = choices_df + else: + choices_df = pd.concat([choices_df, choices_df_], axis=0) + choices_df_index = choices_df_.index.name + choices_df = choices_df.reset_index() + # update choices of workers/students + choices_df = choices_df.drop_duplicates( + subset=[choices_df_index], keep="last" + ) + choices_df = choices_df.set_index(choices_df_index) + choices_df = choices_df.sort_index() + else: + choices_df = choices_df_.copy() + + else: + choices_df = choices_df_ + spc.set_choices( - choices=choices_df['choice'], - segment_ids=persons_merged_df[chooser_segment_column].reindex(choices_df.index)) + choices=choices_df["choice"], + segment_ids=persons_merged_df[chooser_segment_column].reindex( + choices_df.index + ), + ) if locutor: spc.write_trace_files(iteration) if spc.use_shadow_pricing and spc.check_fit(iteration): - logging.info("%s converged after iteration %s" % (trace_label, iteration,)) + logging.info( + "%s converged after iteration %s" + % ( + trace_label, + iteration, + ) + ) break # - shadow price table if locutor: - if spc.use_shadow_pricing and 'SHADOW_PRICE_TABLE' in model_settings: - inject.add_table(model_settings['SHADOW_PRICE_TABLE'], spc.shadow_prices) - if 'MODELED_SIZE_TABLE' in model_settings: - inject.add_table(model_settings['MODELED_SIZE_TABLE'], spc.modeled_size) + if spc.use_shadow_pricing and "SHADOW_PRICE_TABLE" in model_settings: + inject.add_table(model_settings["SHADOW_PRICE_TABLE"], spc.shadow_prices) + if "MODELED_SIZE_TABLE" in model_settings: + inject.add_table(model_settings["MODELED_SIZE_TABLE"], spc.modeled_size) persons_df = persons.to_frame() @@ -812,74 +1009,77 @@ def iterate_location_choice( # so we backfill the empty choices with -1 to code as no school location # names for location choice and (optional) logsums columns NO_DEST_ZONE = -1 - persons_df[dest_choice_column_name] = \ - choices_df['choice'].reindex(persons_df.index).fillna(NO_DEST_ZONE).astype(int) + persons_df[dest_choice_column_name] = ( + choices_df["choice"].reindex(persons_df.index).fillna(NO_DEST_ZONE).astype(int) + ) # add the dest_choice_logsum column to persons dataframe if logsum_column_name: - persons_df[logsum_column_name] = \ - choices_df['logsum'].reindex(persons_df.index).astype('float') + persons_df[logsum_column_name] = ( + choices_df["logsum"].reindex(persons_df.index).astype("float") + ) if save_sample_df is not None: # might be None for tiny samples even if sample_table_name was specified assert len(save_sample_df.index.get_level_values(0).unique()) == len(choices_df) # lest they try to put school and workplace samples into the same table if pipeline.is_table(sample_table_name): - raise RuntimeError("dest choice sample table %s already exists" % sample_table_name) + raise RuntimeError( + "dest choice sample table %s already exists" % sample_table_name + ) pipeline.extend_table(sample_table_name, save_sample_df) # - annotate persons table - if 'annotate_persons' in model_settings: + if "annotate_persons" in model_settings: expressions.assign_columns( df=persons_df, - model_settings=model_settings.get('annotate_persons'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_persons')) + model_settings=model_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) pipeline.replace_table("persons", persons_df) if trace_hh_id: - tracing.trace_df(persons_df, - label=trace_label, - warn_if_empty=True) + tracing.trace_df(persons_df, label=trace_label, warn_if_empty=True) # - annotate households table - if 'annotate_households' in model_settings: + if "annotate_households" in model_settings: households_df = households.to_frame() expressions.assign_columns( df=households_df, - model_settings=model_settings.get('annotate_households'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_households')) + model_settings=model_settings.get("annotate_households"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_households"), + ) pipeline.replace_table("households", households_df) if trace_hh_id: - tracing.trace_df(households_df, - label=trace_label, - warn_if_empty=True) + tracing.trace_df(households_df, label=trace_label, warn_if_empty=True) if logsum_column_name: - tracing.print_summary(logsum_column_name, choices_df['logsum'], value_counts=True) + tracing.print_summary( + logsum_column_name, choices_df["logsum"], value_counts=True + ) return persons_df @inject.step() def workplace_location( - persons_merged, persons, households, - network_los, - chunk_size, trace_hh_id, locutor): + persons_merged, persons, households, network_los, chunk_size, trace_hh_id, locutor +): """ workplace location choice model iterate_location_choice adds location choice column and annotations to persons table """ - trace_label = 'workplace_location' - model_settings = config.read_model_settings('workplace_location.yaml') + trace_label = "workplace_location" + model_settings = config.read_model_settings("workplace_location.yaml") - estimator = estimation.manager.begin_estimation('workplace_location') + estimator = estimation.manager.begin_estimation("workplace_location") if estimator: - write_estimation_specs(estimator, model_settings, 'workplace_location.yaml') + write_estimation_specs(estimator, model_settings, "workplace_location.yaml") # FIXME - debugging code to test multiprocessing failure handling # process_name = multiprocessing.current_process().name @@ -887,15 +1087,20 @@ def workplace_location( # raise RuntimeError(f"fake fail {process_name}") # disable locutor for benchmarking - if config.setting('benchmarking', False): + if config.setting("benchmarking", False): locutor = False iterate_location_choice( model_settings, - persons_merged, persons, households, + persons_merged, + persons, + households, network_los, estimator, - chunk_size, trace_hh_id, locutor, trace_label + chunk_size, + trace_hh_id, + locutor, + trace_label, ) if estimator: @@ -904,33 +1109,36 @@ def workplace_location( @inject.step() def school_location( - persons_merged, persons, households, - network_los, - chunk_size, trace_hh_id, locutor - ): + persons_merged, persons, households, network_los, chunk_size, trace_hh_id, locutor +): """ School location choice model iterate_location_choice adds location choice column and annotations to persons table """ - trace_label = 'school_location' - model_settings = config.read_model_settings('school_location.yaml') + trace_label = "school_location" + model_settings = config.read_model_settings("school_location.yaml") - estimator = estimation.manager.begin_estimation('school_location') + estimator = estimation.manager.begin_estimation("school_location") if estimator: - write_estimation_specs(estimator, model_settings, 'school_location.yaml') + write_estimation_specs(estimator, model_settings, "school_location.yaml") # disable locutor for benchmarking - if config.setting('benchmarking', False): + if config.setting("benchmarking", False): locutor = False iterate_location_choice( model_settings, - persons_merged, persons, households, + persons_merged, + persons, + households, network_los, estimator, - chunk_size, trace_hh_id, locutor, trace_label + chunk_size, + trace_hh_id, + locutor, + trace_label, ) if estimator: diff --git a/activitysim/abm/models/mandatory_scheduling.py b/activitysim/abm/models/mandatory_scheduling.py index 34f25cf778..6a9618874d 100644 --- a/activitysim/abm/models/mandatory_scheduling.py +++ b/activitysim/abm/models/mandatory_scheduling.py @@ -4,45 +4,33 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline +from activitysim.core import config, expressions, inject, pipeline, simulate from activitysim.core import timetable as tt -from activitysim.core import expressions - -from activitysim.core.util import reindex +from activitysim.core import tracing +from activitysim.core.util import assign_in_place, reindex from .util import estimation from .util import vectorize_tour_scheduling as vts from .util.tour_scheduling import run_tour_scheduling -from activitysim.core.util import assign_in_place - - logger = logging.getLogger(__name__) DUMP = False @inject.step() -def mandatory_tour_scheduling(tours, - persons_merged, - tdd_alts, - chunk_size, - trace_hh_id): +def mandatory_tour_scheduling(tours, persons_merged, tdd_alts, chunk_size, trace_hh_id): """ This model predicts the departure time and duration of each activity for mandatory tours """ - model_name = 'mandatory_tour_scheduling' + model_name = "mandatory_tour_scheduling" trace_label = model_name persons_merged = persons_merged.to_frame() tours = tours.to_frame() - mandatory_tours = tours[tours.tour_category == 'mandatory'] + mandatory_tours = tours[tours.tour_category == "mandatory"] # - if no mandatory_tours if mandatory_tours.shape[0] == 0: @@ -56,31 +44,44 @@ def mandatory_tour_scheduling(tours, # (i.e. there are different logsum coefficients for work, school, univ primary_purposes # for simplicity managing these different segmentation schemes, # we conflate them by segmenting tour processing to align with primary_purpose - tour_segment_col = 'mandatory_tour_seg' + tour_segment_col = "mandatory_tour_seg" assert tour_segment_col not in mandatory_tours - is_university_tour = \ - (mandatory_tours.tour_type == 'school') & \ - reindex(persons_merged.is_university, mandatory_tours.person_id) - mandatory_tours[tour_segment_col] = \ - mandatory_tours.tour_type.where(~is_university_tour, 'univ') - - choices = run_tour_scheduling(model_name, mandatory_tours, persons_merged, tdd_alts, - tour_segment_col, chunk_size, trace_hh_id) + is_university_tour = (mandatory_tours.tour_type == "school") & reindex( + persons_merged.is_university, mandatory_tours.person_id + ) + mandatory_tours[tour_segment_col] = mandatory_tours.tour_type.where( + ~is_university_tour, "univ" + ) + + choices = run_tour_scheduling( + model_name, + mandatory_tours, + persons_merged, + tdd_alts, + tour_segment_col, + chunk_size, + trace_hh_id, + ) assign_in_place(tours, choices) pipeline.replace_table("tours", tours) # updated df for tracing - mandatory_tours = tours[tours.tour_category == 'mandatory'] + mandatory_tours = tours[tours.tour_category == "mandatory"] - tracing.dump_df(DUMP, - tt.tour_map(persons_merged, mandatory_tours, tdd_alts), - trace_label, 'tour_map') + tracing.dump_df( + DUMP, + tt.tour_map(persons_merged, mandatory_tours, tdd_alts), + trace_label, + "tour_map", + ) if trace_hh_id: - tracing.trace_df(mandatory_tours, - label=trace_label, - slicer='person_id', - index_label='tour', - columns=None, - warn_if_empty=True) + tracing.trace_df( + mandatory_tours, + label=trace_label, + slicer="person_id", + index_label="tour", + columns=None, + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/mandatory_tour_frequency.py b/activitysim/abm/models/mandatory_tour_frequency.py index bbe1df599e..727a591f0c 100644 --- a/activitysim/abm/models/mandatory_tour_frequency.py +++ b/activitysim/abm/models/mandatory_tour_frequency.py @@ -4,15 +4,10 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing -from .util.tour_frequency import process_mandatory_tours from .util import estimation +from .util.tour_frequency import process_mandatory_tours logger = logging.getLogger(__name__) @@ -20,40 +15,39 @@ def add_null_results(trace_label, mandatory_tour_frequency_settings): logger.info("Skipping %s: add_null_results", trace_label) - persons = inject.get_table('persons').to_frame() - persons['mandatory_tour_frequency'] = '' + persons = inject.get_table("persons").to_frame() + persons["mandatory_tour_frequency"] = "" tours = pd.DataFrame() - tours['tour_category'] = None - tours['tour_type'] = None - tours['person_id'] = None - tours.index.name = 'tour_id' + tours["tour_category"] = None + tours["tour_type"] = None + tours["person_id"] = None + tours.index.name = "tour_id" pipeline.replace_table("tours", tours) expressions.assign_columns( df=persons, - model_settings=mandatory_tour_frequency_settings.get('annotate_persons'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_persons')) + model_settings=mandatory_tour_frequency_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) pipeline.replace_table("persons", persons) @inject.step() -def mandatory_tour_frequency(persons_merged, - chunk_size, - trace_hh_id): +def mandatory_tour_frequency(persons_merged, chunk_size, trace_hh_id): """ This model predicts the frequency of making mandatory trips (see the alternatives above) - these trips include work and school in some combination. """ - trace_label = 'mandatory_tour_frequency' - model_settings_file_name = 'mandatory_tour_frequency.yaml' + trace_label = "mandatory_tour_frequency" + model_settings_file_name = "mandatory_tour_frequency.yaml" model_settings = config.read_model_settings(model_settings_file_name) choosers = persons_merged.to_frame() # filter based on results of CDAP - choosers = choosers[choosers.cdap_activity == 'M'] + choosers = choosers[choosers.cdap_activity == "M"] logger.info("Running mandatory_tour_frequency with %d persons", len(choosers)) # - if no mandatory tours @@ -62,7 +56,7 @@ def mandatory_tour_frequency(persons_merged, return # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_dict = {} @@ -71,11 +65,12 @@ def mandatory_tour_frequency(persons_merged, df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) - estimator = estimation.manager.begin_estimation('mandatory_tour_frequency') + estimator = estimation.manager.begin_estimation("mandatory_tour_frequency") - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -95,15 +90,18 @@ def mandatory_tour_frequency(persons_merged, locals_d=constants, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='mandatory_tour_frequency', - estimator=estimator) + trace_choice_name="mandatory_tour_frequency", + estimator=estimator, + ) # convert indexes to alternative names choices = pd.Series(model_spec.columns[choices.values], index=choices.index) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'mandatory_tour_frequency') + choices = estimator.get_survey_values( + choices, "persons", "mandatory_tour_frequency" + ) estimator.write_override_choices(choices) estimator.end_estimation() @@ -113,39 +111,46 @@ def mandatory_tour_frequency(persons_merged, alternatives into an actual dataframe of tours. Ending format is the same as got non_mandatory_tours except trip types are "work" and "school" """ - alternatives = simulate.read_model_alts('mandatory_tour_frequency_alternatives.csv', set_index='alt') - choosers['mandatory_tour_frequency'] = choices.reindex(choosers.index) + alternatives = simulate.read_model_alts( + "mandatory_tour_frequency_alternatives.csv", set_index="alt" + ) + choosers["mandatory_tour_frequency"] = choices.reindex(choosers.index) mandatory_tours = process_mandatory_tours( - persons=choosers, - mandatory_tour_frequency_alts=alternatives + persons=choosers, mandatory_tour_frequency_alts=alternatives ) tours = pipeline.extend_table("tours", mandatory_tours) - tracing.register_traceable_table('tours', mandatory_tours) - pipeline.get_rn_generator().add_channel('tours', mandatory_tours) + tracing.register_traceable_table("tours", mandatory_tours) + pipeline.get_rn_generator().add_channel("tours", mandatory_tours) # - annotate persons - persons = inject.get_table('persons').to_frame() + persons = inject.get_table("persons").to_frame() # need to reindex as we only handled persons with cdap_activity == 'M' - persons['mandatory_tour_frequency'] = choices.reindex(persons.index).fillna('').astype(str) + persons["mandatory_tour_frequency"] = ( + choices.reindex(persons.index).fillna("").astype(str) + ) expressions.assign_columns( df=persons, - model_settings=model_settings.get('annotate_persons'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_persons')) + model_settings=model_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) pipeline.replace_table("persons", persons) - tracing.print_summary('mandatory_tour_frequency', persons.mandatory_tour_frequency, - value_counts=True) + tracing.print_summary( + "mandatory_tour_frequency", persons.mandatory_tour_frequency, value_counts=True + ) if trace_hh_id: - tracing.trace_df(mandatory_tours, - label="mandatory_tour_frequency.mandatory_tours", - warn_if_empty=True) - - tracing.trace_df(persons, - label="mandatory_tour_frequency.persons", - warn_if_empty=True) + tracing.trace_df( + mandatory_tours, + label="mandatory_tour_frequency.mandatory_tours", + warn_if_empty=True, + ) + + tracing.trace_df( + persons, label="mandatory_tour_frequency.persons", warn_if_empty=True + ) diff --git a/activitysim/abm/models/non_mandatory_destination.py b/activitysim/abm/models/non_mandatory_destination.py index ca3493dd21..adfd4a0982 100644 --- a/activitysim/abm/models/non_mandatory_destination.py +++ b/activitysim/abm/models/non_mandatory_destination.py @@ -4,16 +4,10 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate - +from activitysim.core import config, inject, pipeline, simulate, tracing from activitysim.core.util import assign_in_place -from .util import tour_destination -from .util import estimation +from .util import estimation, tour_destination, annotate logger = logging.getLogger(__name__) @@ -21,11 +15,8 @@ @inject.step() def non_mandatory_tour_destination( - tours, - persons_merged, - network_los, - chunk_size, - trace_hh_id): + tours, persons_merged, network_los, chunk_size, trace_hh_id +): """ Given the tour generation from the above, each tour needs to have a @@ -33,36 +24,54 @@ def non_mandatory_tour_destination( person that's making the tour) """ - trace_label = 'non_mandatory_tour_destination' - model_settings_file_name = 'non_mandatory_tour_destination.yaml' + trace_label = "non_mandatory_tour_destination" + model_settings_file_name = "non_mandatory_tour_destination.yaml" model_settings = config.read_model_settings(model_settings_file_name) - logsum_column_name = model_settings.get('DEST_CHOICE_LOGSUM_COLUMN_NAME') + logsum_column_name = model_settings.get("DEST_CHOICE_LOGSUM_COLUMN_NAME") want_logsums = logsum_column_name is not None - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) tours = tours.to_frame() persons_merged = persons_merged.to_frame() # choosers are tours - in a sense tours are choosing their destination - non_mandatory_tours = tours[tours.tour_category == 'non_mandatory'] + non_mandatory_tours = tours[tours.tour_category == "non_mandatory"] + + # separating out pure escort school tours + # they already have their destination set + if pipeline.is_table("school_escort_tours"): + nm_tour_index = non_mandatory_tours.index + pure_school_escort_tours = non_mandatory_tours[ + (non_mandatory_tours["school_esc_outbound"] == "pure_escort") + | (non_mandatory_tours["school_esc_inbound"] == "pure_escort") + ] + non_mandatory_tours = non_mandatory_tours[ + ~non_mandatory_tours.index.isin(pure_school_escort_tours.index) + ] - # - if no mandatory_tours if non_mandatory_tours.shape[0] == 0: tracing.no_results(trace_label) return - estimator = estimation.manager.begin_estimation('non_mandatory_tour_destination') + estimator = estimation.manager.begin_estimation("non_mandatory_tour_destination") if estimator: estimator.write_coefficients(model_settings=model_settings) # estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SPEC") estimator.set_alt_id(model_settings["ALT_DEST_COL_NAME"]) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) estimator.write_model_settings(model_settings, model_settings_file_name) choices_df, save_sample_df = tour_destination.run_tour_destination( @@ -73,33 +82,53 @@ def non_mandatory_tour_destination( model_settings, network_los, estimator, - chunk_size, trace_hh_id, trace_label) + chunk_size, + trace_hh_id, + trace_label, + ) if estimator: estimator.write_choices(choices_df.choice) - choices_df.choice = estimator.get_survey_values(choices_df.choice, 'tours', 'destination') + choices_df.choice = estimator.get_survey_values( + choices_df.choice, "tours", "destination" + ) estimator.write_override_choices(choices_df.choice) estimator.end_estimation() - non_mandatory_tours['destination'] = choices_df.choice + non_mandatory_tours["destination"] = choices_df.choice + + # merging back in school escort tours and preserving index + if pipeline.is_table("school_escort_tours"): + non_mandatory_tours = pd.concat( + [pure_school_escort_tours, non_mandatory_tours] + ).set_index(nm_tour_index) - assign_in_place(tours, non_mandatory_tours[['destination']]) + assign_in_place(tours, non_mandatory_tours[["destination"]]) if want_logsums: - non_mandatory_tours[logsum_column_name] = choices_df['logsum'] + non_mandatory_tours[logsum_column_name] = choices_df["logsum"] assign_in_place(tours, non_mandatory_tours[[logsum_column_name]]) + assert all( + ~tours["destination"].isna() + ), f"Tours are missing destination: {tours[tours['destination'].isna()]}" + pipeline.replace_table("tours", tours) + if model_settings.get("annotate_tours"): + annotate.annotate_tours(model_settings, trace_label) + if want_sample_table: assert len(save_sample_df.index.get_level_values(0).unique()) == len(choices_df) # save_sample_df.set_index(model_settings['ALT_DEST_COL_NAME'], append=True, inplace=True) pipeline.extend_table(sample_table_name, save_sample_df) if trace_hh_id: - tracing.trace_df(tours[tours.tour_category == 'non_mandatory'], - label="non_mandatory_tour_destination", - slicer='person_id', - index_label='tour', - columns=None, - warn_if_empty=True) + tracing.trace_df( + tours[tours.tour_category == "non_mandatory"], + label="non_mandatory_tour_destination", + slicer="person_id", + index_label="tour", + columns=None, + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/non_mandatory_scheduling.py b/activitysim/abm/models/non_mandatory_scheduling.py index d8f32d61ef..22f555b42a 100644 --- a/activitysim/abm/models/non_mandatory_scheduling.py +++ b/activitysim/abm/models/non_mandatory_scheduling.py @@ -4,16 +4,14 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline +from activitysim.core import config, expressions, inject, pipeline, simulate from activitysim.core import timetable as tt -from activitysim.core import simulate -from activitysim.core import expressions +from activitysim.core import tracing +from activitysim.core.util import assign_in_place from .util import estimation from .util.tour_scheduling import run_tour_scheduling +from .util.school_escort_tours_trips import create_pure_school_escort_tours from .util.vectorize_tour_scheduling import vectorize_tour_scheduling from activitysim.core.util import assign_in_place @@ -24,22 +22,20 @@ @inject.step() -def non_mandatory_tour_scheduling(tours, - persons_merged, - tdd_alts, - chunk_size, - trace_hh_id): +def non_mandatory_tour_scheduling( + tours, persons_merged, tdd_alts, chunk_size, trace_hh_id +): """ This model predicts the departure time and duration of each activity for non-mandatory tours """ - model_name = 'non_mandatory_tour_scheduling' + model_name = "non_mandatory_tour_scheduling" trace_label = model_name persons_merged = persons_merged.to_frame() tours = tours.to_frame() - non_mandatory_tours = tours[tours.tour_category == 'non_mandatory'] + non_mandatory_tours = tours[tours.tour_category == "non_mandatory"] # - if no mandatory_tours if non_mandatory_tours.shape[0] == 0: @@ -48,23 +44,35 @@ def non_mandatory_tour_scheduling(tours, tour_segment_col = None - choices = run_tour_scheduling(model_name, non_mandatory_tours, persons_merged, tdd_alts, - tour_segment_col, chunk_size, trace_hh_id) + choices = run_tour_scheduling( + model_name, + non_mandatory_tours, + persons_merged, + tdd_alts, + tour_segment_col, + chunk_size, + trace_hh_id, + ) assign_in_place(tours, choices) pipeline.replace_table("tours", tours) # updated df for tracing - non_mandatory_tours = tours[tours.tour_category == 'non_mandatory'] + non_mandatory_tours = tours[tours.tour_category == "non_mandatory"] - tracing.dump_df(DUMP, - tt.tour_map(persons_merged, non_mandatory_tours, tdd_alts), - trace_label, 'tour_map') + tracing.dump_df( + DUMP, + tt.tour_map(persons_merged, non_mandatory_tours, tdd_alts), + trace_label, + "tour_map", + ) if trace_hh_id: - tracing.trace_df(non_mandatory_tours, - label=trace_label, - slicer='person_id', - index_label='tour_id', - columns=None, - warn_if_empty=True) + tracing.trace_df( + non_mandatory_tours, + label=trace_label, + slicer="person_id", + index_label="tour_id", + columns=None, + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/non_mandatory_tour_frequency.py b/activitysim/abm/models/non_mandatory_tour_frequency.py index 814bec97e6..22b4f98c22 100644 --- a/activitysim/abm/models/non_mandatory_tour_frequency.py +++ b/activitysim/abm/models/non_mandatory_tour_frequency.py @@ -4,18 +4,22 @@ import numpy as np import pandas as pd - +from activitysim.abm.models.util import school_escort_tours_trips + +from activitysim.core import ( + config, + expressions, + inject, + logit, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_simulate import interaction_simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import simulate -from activitysim.core import logit -from activitysim.core import expressions - from .util import estimation +from .util import annotate +from .util.school_escort_tours_trips import recompute_tour_count_statistics from .util.overlap import person_max_window from .util.tour_frequency import process_non_mandatory_tours @@ -24,12 +28,12 @@ def extension_probs(): - f = config.config_file_path('non_mandatory_tour_frequency_extension_probs.csv') - df = pd.read_csv(f, comment='#') + f = config.config_file_path("non_mandatory_tour_frequency_extension_probs.csv") + df = pd.read_csv(f, comment="#") # convert cum probs to individual probs - df['2_tours'] = df['2_tours'] - df['1_tours'] - df['1_tours'] = df['1_tours'] - df['0_tours'] + df["2_tours"] = df["2_tours"] - df["1_tours"] + df["1_tours"] = df["1_tours"] - df["0_tours"] return df @@ -70,9 +74,9 @@ def extend_tour_counts(persons, tour_counts, alternatives, trace_hh_id, trace_la assert tour_counts.index.name == persons.index.name - PROBABILITY_COLUMNS = ['0_tours', '1_tours', '2_tours'] - JOIN_COLUMNS = ['ptype', 'has_mandatory_tour', 'has_joint_tour'] - TOUR_TYPE_COL = 'nonmandatory_tour_type' + PROBABILITY_COLUMNS = ["0_tours", "1_tours", "2_tours"] + JOIN_COLUMNS = ["ptype", "has_mandatory_tour", "has_joint_tour"] + TOUR_TYPE_COL = "nonmandatory_tour_type" probs_spec = extension_probs() persons = persons[JOIN_COLUMNS] @@ -91,8 +95,9 @@ def extend_tour_counts(persons, tour_counts, alternatives, trace_hh_id, trace_la tour_type_trace_label = tracing.extend_trace_label(trace_label, tour_type) # - only extend tour if frequency is max possible frequency for this tour type - tour_type_is_maxed = \ - extend_tour_counts & (tour_counts[tour_type] == alternatives[tour_type].max()) + tour_type_is_maxed = extend_tour_counts & ( + tour_counts[tour_type] == alternatives[tour_type].max() + ) maxed_tour_count_idx = tour_counts.index[tour_type_is_maxed] if len(maxed_tour_count_idx) == 0: @@ -103,7 +108,7 @@ def extend_tour_counts(persons, tour_counts, alternatives, trace_hh_id, trace_la persons.loc[maxed_tour_count_idx], probs_spec[probs_spec[TOUR_TYPE_COL] == i_tour_type], on=JOIN_COLUMNS, - how='left' + how="left", ).set_index(maxed_tour_count_idx) assert choosers.index.name == tour_counts.index.name @@ -111,27 +116,30 @@ def extend_tour_counts(persons, tour_counts, alternatives, trace_hh_id, trace_la choices, rands = logit.make_choices( choosers[PROBABILITY_COLUMNS], trace_label=tour_type_trace_label, - trace_choosers=choosers) + trace_choosers=choosers, + ) # - extend tour_count (0-based prob alternative choice equals magnitude of extension) if choices.any(): tour_counts.loc[choices.index, tour_type] += choices if have_trace_targets: - tracing.trace_df(choices, - tracing.extend_trace_label(tour_type_trace_label, 'choices'), - columns=[None, 'choice']) - tracing.trace_df(rands, - tracing.extend_trace_label(tour_type_trace_label, 'rands'), - columns=[None, 'rand']) + tracing.trace_df( + choices, + tracing.extend_trace_label(tour_type_trace_label, "choices"), + columns=[None, "choice"], + ) + tracing.trace_df( + rands, + tracing.extend_trace_label(tour_type_trace_label, "rands"), + columns=[None, "rand"], + ) return tour_counts @inject.step() -def non_mandatory_tour_frequency(persons, persons_merged, - chunk_size, - trace_hh_id): +def non_mandatory_tour_frequency(persons, persons_merged, chunk_size, trace_hh_id): """ This model predicts the frequency of making non-mandatory trips (alternatives for this model come from a separate csv file which is @@ -139,68 +147,76 @@ def non_mandatory_tour_frequency(persons, persons_merged, othdiscr, eatout, and social trips in various combination. """ - trace_label = 'non_mandatory_tour_frequency' - model_settings_file_name = 'non_mandatory_tour_frequency.yaml' + trace_label = "non_mandatory_tour_frequency" + model_settings_file_name = "non_mandatory_tour_frequency.yaml" model_settings = config.read_model_settings(model_settings_file_name) # FIXME kind of tacky both that we know to add this here and del it below # 'tot_tours' is used in model_spec expressions - alternatives = simulate.read_model_alts('non_mandatory_tour_frequency_alternatives.csv', set_index=None) - alternatives['tot_tours'] = alternatives.sum(axis=1) + alternatives = simulate.read_model_alts( + "non_mandatory_tour_frequency_alternatives.csv", set_index=None + ) + alternatives["tot_tours"] = alternatives.sum(axis=1) # filter based on results of CDAP choosers = persons_merged.to_frame() - choosers = choosers[choosers.cdap_activity.isin(['M', 'N'])] + choosers = choosers[choosers.cdap_activity.isin(["M", "N"])] # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: - locals_dict = { - 'person_max_window': person_max_window - } + locals_dict = {"person_max_window": person_max_window} expressions.assign_columns( df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) logger.info("Running non_mandatory_tour_frequency with %d persons", len(choosers)) constants = config.get_model_constants(model_settings) - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) - spec_segments = model_settings.get('SPEC_SEGMENTS', {}) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) + spec_segments = model_settings.get("SPEC_SEGMENTS", {}) # segment by person type and pick the right spec for each person type choices_list = [] for segment_settings in spec_segments: - segment_name = segment_settings['NAME'] - ptype = segment_settings['PTYPE'] + segment_name = segment_settings["NAME"] + ptype = segment_settings["PTYPE"] # pick the spec column for the segment segment_spec = model_spec[[segment_name]] chooser_segment = choosers[choosers.ptype == ptype] - logger.info("Running segment '%s' of size %d", segment_name, len(chooser_segment)) + logger.info( + "Running segment '%s' of size %d", segment_name, len(chooser_segment) + ) if len(chooser_segment) == 0: # skip empty segments continue - estimator = \ - estimation.manager.begin_estimation(model_name=segment_name, bundle_name='non_mandatory_tour_frequency') + estimator = estimation.manager.begin_estimation( + model_name=segment_name, bundle_name="non_mandatory_tour_frequency" + ) coefficients_df = simulate.read_model_coefficients(segment_settings) - segment_spec = simulate.eval_coefficients(segment_spec, coefficients_df, estimator) + segment_spec = simulate.eval_coefficients( + segment_spec, coefficients_df, estimator + ) if estimator: estimator.write_spec(model_settings, bundle_directory=True) - estimator.write_model_settings(model_settings, model_settings_file_name, bundle_directory=True) + estimator.write_model_settings( + model_settings, model_settings_file_name, bundle_directory=True + ) # preserving coefficients file name makes bringing back updated coefficients more straightforward estimator.write_coefficients(coefficients_df, segment_settings) estimator.write_choosers(chooser_segment) @@ -211,16 +227,16 @@ def non_mandatory_tour_frequency(persons, persons_merged, # chooser index must be duplicated in column or it will be omitted from interaction_dataset # estimation requires that chooser_id is either in index or a column of interaction_dataset # so it can be reformatted (melted) and indexed by chooser_id and alt_id - assert chooser_segment.index.name == 'person_id' - assert 'person_id' not in chooser_segment.columns - chooser_segment['person_id'] = chooser_segment.index + assert chooser_segment.index.name == "person_id" + assert "person_id" not in chooser_segment.columns + chooser_segment["person_id"] = chooser_segment.index # FIXME set_alt_id - do we need this for interaction_simulate estimation bundle tables? - estimator.set_alt_id('alt_id') + estimator.set_alt_id("alt_id") estimator.set_chooser_id(chooser_segment.index.name) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_simulate( chooser_segment, @@ -229,19 +245,22 @@ def non_mandatory_tour_frequency(persons, persons_merged, log_alt_losers=log_alt_losers, locals_d=constants, chunk_size=chunk_size, - trace_label='non_mandatory_tour_frequency.%s' % segment_name, - trace_choice_name='non_mandatory_tour_frequency', - estimator=estimator) + trace_label="non_mandatory_tour_frequency.%s" % segment_name, + trace_choice_name="non_mandatory_tour_frequency", + estimator=estimator, + ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'non_mandatory_tour_frequency') + choices = estimator.get_survey_values( + choices, "persons", "non_mandatory_tour_frequency" + ) estimator.write_override_choices(choices) estimator.end_estimation() choices_list.append(choices) - del alternatives['tot_tours'] # del tot_tours column we added above + del alternatives["tot_tours"] # del tot_tours column we added above # The choice value 'non_mandatory_tour_frequency' assigned by interaction_simulate # is the index value of the chosen alternative in the alternatives table. @@ -252,8 +271,9 @@ def non_mandatory_tour_frequency(persons, persons_merged, # we expect there to be an alt with no tours - which we can use to backfill non-travelers no_tours_alt = (alternatives.sum(axis=1) == 0).index[0] # need to reindex as we only handled persons with cdap_activity in ['M', 'N'] - persons['non_mandatory_tour_frequency'] = \ + persons["non_mandatory_tour_frequency"] = ( choices.reindex(persons.index).fillna(no_tours_alt).astype(np.int8) + ) """ We have now generated non-mandatory tour frequencies, but they are attributes of the person table @@ -279,27 +299,41 @@ def non_mandatory_tour_frequency(persons, persons_merged, modeled_tour_counts.index = choices.index # assign person ids to the index # - extend_tour_counts - probabalistic - extended_tour_counts = \ - extend_tour_counts(choosers, modeled_tour_counts.copy(), alternatives, - trace_hh_id, tracing.extend_trace_label(trace_label, 'extend_tour_counts')) + extended_tour_counts = extend_tour_counts( + choosers, + modeled_tour_counts.copy(), + alternatives, + trace_hh_id, + tracing.extend_trace_label(trace_label, "extend_tour_counts"), + ) num_modeled_tours = modeled_tour_counts.sum().sum() num_extended_tours = extended_tour_counts.sum().sum() - logger.info("extend_tour_counts increased tour count by %s from %s to %s" % - (num_extended_tours - num_modeled_tours, num_modeled_tours, num_extended_tours)) + logger.info( + "extend_tour_counts increased tour count by %s from %s to %s" + % ( + num_extended_tours - num_modeled_tours, + num_modeled_tours, + num_extended_tours, + ) + ) """ create the non_mandatory tours based on extended_tour_counts """ if estimator: - override_tour_counts = \ - estimation.manager.get_survey_values(extended_tour_counts, - table_name='persons', - column_names=['_%s' % c for c in extended_tour_counts.columns]) - override_tour_counts = \ - override_tour_counts.rename(columns={('_%s' % c): c for c in extended_tour_counts.columns}) - logger.info("estimation get_survey_values override_tour_counts %s changed cells" % - (override_tour_counts != extended_tour_counts).sum().sum()) + override_tour_counts = estimation.manager.get_survey_values( + extended_tour_counts, + table_name="persons", + column_names=["_%s" % c for c in extended_tour_counts.columns], + ) + override_tour_counts = override_tour_counts.rename( + columns={("_%s" % c): c for c in extended_tour_counts.columns} + ) + logger.info( + "estimation get_survey_values override_tour_counts %s changed cells" + % (override_tour_counts != extended_tour_counts).sum().sum() + ) extended_tour_counts = override_tour_counts """ @@ -311,52 +345,75 @@ def non_mandatory_tour_frequency(persons, persons_merged, if estimator: # make sure they created the right tours - survey_tours = estimation.manager.get_survey_table('tours').sort_index() - non_mandatory_survey_tours = survey_tours[survey_tours.tour_category == 'non_mandatory'] + survey_tours = estimation.manager.get_survey_table("tours").sort_index() + non_mandatory_survey_tours = survey_tours[ + survey_tours.tour_category == "non_mandatory" + ] assert len(non_mandatory_survey_tours) == len(non_mandatory_tours) - assert non_mandatory_survey_tours.index.equals(non_mandatory_tours.sort_index().index) + assert non_mandatory_survey_tours.index.equals( + non_mandatory_tours.sort_index().index + ) # make sure they created tours with the expected tour_ids - columns = ['person_id', 'household_id', 'tour_type', 'tour_category'] - survey_tours = \ - estimation.manager.get_survey_values(non_mandatory_tours, - table_name='tours', - column_names=columns) + columns = ["person_id", "household_id", "tour_type", "tour_category"] + survey_tours = estimation.manager.get_survey_values( + non_mandatory_tours, table_name="tours", column_names=columns + ) - tours_differ = (non_mandatory_tours[columns] != survey_tours[columns]).any(axis=1) + tours_differ = (non_mandatory_tours[columns] != survey_tours[columns]).any( + axis=1 + ) if tours_differ.any(): print("tours_differ\n%s" % tours_differ) print("%s of %s tours differ" % (tours_differ.sum(), len(tours_differ))) print("differing survey_tours\n%s" % survey_tours[tours_differ]) - print("differing modeled_tours\n%s" % non_mandatory_tours[columns][tours_differ]) + print( + "differing modeled_tours\n%s" + % non_mandatory_tours[columns][tours_differ] + ) - assert(not tours_differ.any()) + assert not tours_differ.any() pipeline.extend_table("tours", non_mandatory_tours) - tracing.register_traceable_table('tours', non_mandatory_tours) - pipeline.get_rn_generator().add_channel('tours', non_mandatory_tours) + tracing.register_traceable_table("tours", non_mandatory_tours) + pipeline.get_rn_generator().add_channel("tours", non_mandatory_tours) + + if pipeline.is_table("school_escort_tours"): + # need to re-compute tour frequency statistics to account for school escort tours + recompute_tour_count_statistics() + + if model_settings.get("annotate_tours"): + annotate.annotate_tours(model_settings, trace_label) expressions.assign_columns( df=persons, - model_settings=model_settings.get('annotate_persons'), - trace_label=trace_label) + model_settings=model_settings.get("annotate_persons"), + trace_label=trace_label, + ) pipeline.replace_table("persons", persons) - tracing.print_summary('non_mandatory_tour_frequency', - persons.non_mandatory_tour_frequency, value_counts=True) + tracing.print_summary( + "non_mandatory_tour_frequency", + persons.non_mandatory_tour_frequency, + value_counts=True, + ) if trace_hh_id: - tracing.trace_df(non_mandatory_tours, - label="non_mandatory_tour_frequency.non_mandatory_tours", - warn_if_empty=True) - - tracing.trace_df(choosers, - label="non_mandatory_tour_frequency.choosers", - warn_if_empty=True) - - tracing.trace_df(persons, - label="non_mandatory_tour_frequency.annotated_persons", - warn_if_empty=True) + tracing.trace_df( + non_mandatory_tours, + label="non_mandatory_tour_frequency.non_mandatory_tours", + warn_if_empty=True, + ) + + tracing.trace_df( + choosers, label="non_mandatory_tour_frequency.choosers", warn_if_empty=True + ) + + tracing.trace_df( + persons, + label="non_mandatory_tour_frequency.annotated_persons", + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/parking_location_choice.py b/activitysim/abm/models/parking_location_choice.py index 5c13969eed..bddbc65190 100644 --- a/activitysim/abm/models/parking_location_choice.py +++ b/activitysim/abm/models/parking_location_choice.py @@ -5,21 +5,21 @@ import numpy as np import pandas as pd -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import logit - -from activitysim.core import expressions +from activitysim.core import ( + config, + expressions, + inject, + logit, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_sample_simulate import interaction_sample_simulate -from activitysim.core.util import assign_in_place from activitysim.core.tracing import print_elapsed_time +from activitysim.core.util import assign_in_place from .util import estimation - logger = logging.getLogger(__name__) NO_DESTINATION = -1 @@ -50,19 +50,27 @@ def wrap_skims(model_settings): dict containing skims, keyed by canonical names relative to tour orientation """ - network_los = inject.get_injectable('network_los') + network_los = inject.get_injectable("network_los") skim_dict = network_los.get_default_skim_dict() - origin = model_settings['TRIP_ORIGIN'] - park_zone = model_settings['ALT_DEST_COL_NAME'] - destination = model_settings['TRIP_DESTINATION'] - time_period = model_settings['TRIP_DEPARTURE_PERIOD'] + origin = model_settings["TRIP_ORIGIN"] + park_zone = model_settings["ALT_DEST_COL_NAME"] + destination = model_settings["TRIP_DESTINATION"] + time_period = model_settings["TRIP_DEPARTURE_PERIOD"] skims = { - "odt_skims": skim_dict.wrap_3d(orig_key=origin, dest_key=destination, dim3_key=time_period), - "dot_skims": skim_dict.wrap_3d(orig_key=destination, dest_key=origin, dim3_key=time_period), - "opt_skims": skim_dict.wrap_3d(orig_key=origin, dest_key=park_zone, dim3_key=time_period), - "pdt_skims": skim_dict.wrap_3d(orig_key=park_zone, dest_key=destination, dim3_key=time_period), + "odt_skims": skim_dict.wrap_3d( + orig_key=origin, dest_key=destination, dim3_key=time_period + ), + "dot_skims": skim_dict.wrap_3d( + orig_key=destination, dest_key=origin, dim3_key=time_period + ), + "opt_skims": skim_dict.wrap_3d( + orig_key=origin, dest_key=park_zone, dim3_key=time_period + ), + "pdt_skims": skim_dict.wrap_3d( + orig_key=park_zone, dest_key=destination, dim3_key=time_period + ), "od_skims": skim_dict.wrap(origin, destination), "do_skims": skim_dict.wrap(destination, origin), "op_skims": skim_dict.wrap(origin, park_zone), @@ -86,13 +94,15 @@ def get_spec_for_segment(model_settings, spec_name, segment): def parking_destination_simulate( - segment_name, - trips, - destination_sample, - model_settings, - skims, - chunk_size, trace_hh_id, - trace_label): + segment_name, + trips, + destination_sample, + model_settings, + skims, + chunk_size, + trace_hh_id, + trace_label, +): """ Chose destination from destination_sample (with od_logsum and dp_logsum columns added) @@ -102,11 +112,11 @@ def parking_destination_simulate( choices - pandas.Series destination alt chosen """ - trace_label = tracing.extend_trace_label(trace_label, 'trip_destination_simulate') + trace_label = tracing.extend_trace_label(trace_label, "trip_destination_simulate") - spec = get_spec_for_segment(model_settings, 'SPECIFICATION', segment_name) + spec = get_spec_for_segment(model_settings, "SPECIFICATION", segment_name) - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] logger.info("Running trip_destination_simulate with %d trips", len(trips)) @@ -119,37 +129,46 @@ def parking_destination_simulate( spec=spec, choice_column=alt_dest_col_name, want_logsums=False, - allow_zero_probs=True, zero_prob_choice_val=NO_DESTINATION, + allow_zero_probs=True, + zero_prob_choice_val=NO_DESTINATION, skims=skims, locals_d=locals_dict, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='parking_loc') + trace_choice_name="parking_loc", + ) # drop any failed zero_prob destinations if (parking_locations == NO_DESTINATION).any(): - logger.debug("dropping %s failed parking locations", (parking_locations == NO_DESTINATION).sum()) + logger.debug( + "dropping %s failed parking locations", + (parking_locations == NO_DESTINATION).sum(), + ) parking_locations = parking_locations[parking_locations != NO_DESTINATION] return parking_locations def choose_parking_location( - segment_name, - trips, - alternatives, - model_settings, - want_sample_table, - skims, - chunk_size, trace_hh_id, - trace_label): + segment_name, + trips, + alternatives, + model_settings, + want_sample_table, + skims, + chunk_size, + trace_hh_id, + trace_label, +): logger.info("choose_parking_location %s with %d trips", trace_label, trips.shape[0]) t0 = print_elapsed_time() - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - destination_sample = logit.interaction_dataset(trips, alternatives, alt_index_id=alt_dest_col_name) + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] + destination_sample = logit.interaction_dataset( + trips, alternatives, alt_index_id=alt_dest_col_name + ) destination_sample.index = np.repeat(trips.index.values, len(alternatives)) destination_sample.index.name = trips.index.name destination_sample = destination_sample[[alt_dest_col_name]].copy() @@ -161,12 +180,16 @@ def choose_parking_location( destination_sample=destination_sample, model_settings=model_settings, skims=skims, - chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=trace_label) + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + ) if want_sample_table: # FIXME - sample_table - destination_sample.set_index(model_settings['ALT_DEST_COL_NAME'], append=True, inplace=True) + destination_sample.set_index( + model_settings["ALT_DEST_COL_NAME"], append=True, inplace=True + ) else: destination_sample = None @@ -176,18 +199,24 @@ def choose_parking_location( def run_parking_destination( - model_settings, - trips, land_use, - chunk_size, trace_hh_id, - trace_label, - fail_some_trips_for_testing=False): - - chooser_filter_column = model_settings.get('CHOOSER_FILTER_COLUMN_NAME') - chooser_segment_column = model_settings.get('CHOOSER_SEGMENT_COLUMN_NAME') - - parking_location_column_name = model_settings['ALT_DEST_COL_NAME'] - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + model_settings, + trips, + land_use, + chunk_size, + trace_hh_id, + trace_label, + fail_some_trips_for_testing=False, +): + + chooser_filter_column = model_settings.get("CHOOSER_FILTER_COLUMN_NAME") + chooser_segment_column = model_settings.get("CHOOSER_SEGMENT_COLUMN_NAME") + + parking_location_column_name = model_settings["ALT_DEST_COL_NAME"] + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) choosers = trips[trips[chooser_filter_column]] choosers = choosers.sort_index() @@ -197,7 +226,7 @@ def run_parking_destination( skims = wrap_skims(model_settings) - alt_column_filter_name = model_settings.get('ALTERNATIVE_FILTER_COLUMN_NAME') + alt_column_filter_name = model_settings.get("ALTERNATIVE_FILTER_COLUMN_NAME") alternatives = land_use[land_use[alt_column_filter_name]] # don't need size terms in alternatives, just TAZ index @@ -208,7 +237,9 @@ def run_parking_destination( sample_list = [] for segment_name, chooser_segment in choosers.groupby(chooser_segment_column): if chooser_segment.shape[0] == 0: - logger.info("%s skipping segment %s: no choosers", trace_label, segment_name) + logger.info( + "%s skipping segment %s: no choosers", trace_label, segment_name + ) continue choices, destination_sample = choose_parking_location( @@ -218,8 +249,10 @@ def run_parking_destination( model_settings, want_sample_table, skims, - chunk_size, trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, segment_name)) + chunk_size, + trace_hh_id, + trace_label=tracing.extend_trace_label(trace_label, segment_name), + ) choices_list.append(choices) if want_sample_table: @@ -233,7 +266,9 @@ def run_parking_destination( parking_df = parking_df.drop(parking_df.index[0]) assign_in_place(trips, parking_df.to_frame(parking_location_column_name)) - trips[parking_location_column_name] = trips[parking_location_column_name].fillna(-1) + trips[parking_location_column_name] = trips[ + parking_location_column_name + ].fillna(-1) else: trips[parking_location_column_name] = -1 @@ -244,30 +279,24 @@ def run_parking_destination( @inject.step() def parking_location( - trips, - trips_merged, - land_use, - network_los, - chunk_size, - trace_hh_id): + trips, trips_merged, land_use, network_los, chunk_size, trace_hh_id +): """ Given a set of trips, each trip needs to have a parking location if it is eligible for remote parking. """ - trace_label = 'parking_location' - model_settings = config.read_model_settings('parking_location_choice.yaml') - alt_destination_col_name = model_settings['ALT_DEST_COL_NAME'] + trace_label = "parking_location" + model_settings = config.read_model_settings("parking_location_choice.yaml") + alt_destination_col_name = model_settings["ALT_DEST_COL_NAME"] - preprocessor_settings = model_settings.get('PREPROCESSOR', None) + preprocessor_settings = model_settings.get("PREPROCESSOR", None) trips_df = trips.to_frame() trips_merged_df = trips_merged.to_frame() land_use_df = land_use.to_frame() - locals_dict = { - 'network_los': network_los - } + locals_dict = {"network_los": network_los} locals_dict.update(config.get_model_constants(model_settings)) if preprocessor_settings: @@ -275,11 +304,13 @@ def parking_location( df=trips_merged_df, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) parking_locations, save_sample_df = run_parking_destination( model_settings, - trips_merged_df, land_use_df, + trips_merged_df, + land_use_df, chunk_size=chunk_size, trace_hh_id=trace_hh_id, trace_label=trace_label, @@ -290,20 +321,25 @@ def parking_location( pipeline.replace_table("trips", trips_df) if trace_hh_id: - tracing.trace_df(trips_df, - label=trace_label, - slicer='trip_id', - index_label='trip_id', - warn_if_empty=True) + tracing.trace_df( + trips_df, + label=trace_label, + slicer="trip_id", + index_label="trip_id", + warn_if_empty=True, + ) if save_sample_df is not None: - assert len(save_sample_df.index.get_level_values(0).unique()) == \ - len(trips_df[trips_df.trip_num < trips_df.trip_count]) + assert len(save_sample_df.index.get_level_values(0).unique()) == len( + trips_df[trips_df.trip_num < trips_df.trip_count] + ) - sample_table_name = model_settings.get('PARKING_LOCATION_SAMPLE_TABLE_NAME') + sample_table_name = model_settings.get("PARKING_LOCATION_SAMPLE_TABLE_NAME") assert sample_table_name is not None - logger.info("adding %s samples to %s" % (len(save_sample_df), sample_table_name)) + logger.info( + "adding %s samples to %s" % (len(save_sample_df), sample_table_name) + ) # lest they try to put tour samples into the same table if pipeline.is_table(sample_table_name): diff --git a/activitysim/abm/models/school_escorting.py b/activitysim/abm/models/school_escorting.py new file mode 100644 index 0000000000..c621665c4b --- /dev/null +++ b/activitysim/abm/models/school_escorting.py @@ -0,0 +1,499 @@ +# ActivitySim +# See full license in LICENSE.txt. +import logging + +from activitysim.core.interaction_simulate import interaction_simulate +from activitysim.core import simulate +from activitysim.core import tracing +from activitysim.core import pipeline +from activitysim.core import config +from activitysim.core import inject +from activitysim.core import expressions +from activitysim.core import los + +import activitysim.abm.tables.tours as tables_tours +from activitysim.core.util import reindex + +import pandas as pd +import numpy as np +import warnings + +from .util import estimation +from .util import school_escort_tours_trips + +logger = logging.getLogger(__name__) + +# setting global defaults for max number of escortees and escortees in model +NUM_ESCORTEES = 3 +NUM_CHAPERONES = 2 + + +def determine_escorting_paricipants(choosers, persons, model_settings): + """ + Determining which persons correspond to chauffer 1..n and escortee 1..n. + Chauffers are those with the highest weight given by: + weight = 100 * person type + 10 * gender + 1*(age > 25) + and escortees are selected youngest to oldest. + + """ + + NUM_ESCORTEES = model_settings["NUM_ESCORTEES"] + NUM_CHAPERONES = model_settings["NUM_CHAPERONES"] + + ptype_col = model_settings.get("PERSONTYPE_COLUMN", "ptype") + sex_col = model_settings.get("GENDER_COLUMN", "sex") + age_col = model_settings.get("AGE_COLUMN", "age") + + # is this cut correct? + escortees = persons[ + persons.is_student & (persons[age_col] < 16) & (persons.cdap_activity == "M") + ] + households_with_escortees = escortees["household_id"] + + persontype_weight = 100 + gender_weight = 10 + age_weight = 1 + + # can we move all of these to a config file? + chaperones = persons[ + (persons[age_col] > 18) & persons.household_id.isin(households_with_escortees) + ] + + chaperones["chaperone_weight"] = ( + (persontype_weight * chaperones[ptype_col]) + + (gender_weight * np.where(chaperones[sex_col] == 1, 1, 2)) + + (age_weight * np.where(chaperones[age_col] > 25, 1, 0)) + ) + + chaperones["chaperone_num"] = ( + chaperones.sort_values("chaperone_weight", ascending=False) + .groupby("household_id") + .cumcount() + + 1 + ) + escortees["escortee_num"] = ( + escortees.sort_values("age", ascending=True).groupby("household_id").cumcount() + + 1 + ) + + participant_columns = [] + for i in range(1, NUM_CHAPERONES + 1): + choosers["chauf_id" + str(i)] = ( + chaperones[chaperones["chaperone_num"] == i] + .reset_index() + .set_index("household_id") + .reindex(choosers.index)["person_id"] + ) + participant_columns.append("chauf_id" + str(i)) + for i in range(1, NUM_ESCORTEES + 1): + choosers["child_id" + str(i)] = ( + escortees[escortees["escortee_num"] == i] + .reset_index() + .set_index("household_id") + .reindex(choosers.index)["person_id"] + ) + participant_columns.append("child_id" + str(i)) + + return choosers, participant_columns + + +def add_prev_choices_to_choosers(choosers, choices, alts, stage): + # adding choice details to chooser table + escorting_choice = "school_escorting_" + stage + choosers[escorting_choice] = choices + + stage_alts = alts.copy() + stage_alts.columns = stage_alts.columns + "_" + stage + + choosers = ( + choosers.reset_index() + .merge( + stage_alts, + how="left", + left_on=escorting_choice, + right_on=stage_alts.index.name, + ) + .set_index("household_id") + ) + + return choosers + + +def create_bundle_attributes(row): + """ + Parse a bundle to determine escortee numbers and tour info. + """ + escortee_str = "" + escortee_num_str = "" + school_dests_str = "" + school_starts_str = "" + school_ends_str = "" + school_tour_ids_str = "" + num_escortees = 0 + + for child_num in row["child_order"]: + child_num = str(child_num) + child_id = int(row["bundle_child" + child_num]) + + if child_id > 0: + num_escortees += 1 + school_dest = str(int(row["school_destination_child" + child_num])) + school_start = str(int(row["school_start_child" + child_num])) + school_end = str(int(row["school_end_child" + child_num])) + school_tour_id = str(int(row["school_tour_id_child" + child_num])) + + if escortee_str == "": + escortee_str = str(child_id) + escortee_num_str = str(child_num) + school_dests_str = school_dest + school_starts_str = school_start + school_ends_str = school_end + school_tour_ids_str = school_tour_id + else: + escortee_str = escortee_str + "_" + str(child_id) + escortee_num_str = escortee_num_str + "_" + str(child_num) + school_dests_str = school_dests_str + "_" + school_dest + school_starts_str = school_starts_str + "_" + school_start + school_ends_str = school_ends_str + "_" + school_end + school_tour_ids_str = school_tour_ids_str + "_" + school_tour_id + + row["escortees"] = escortee_str + row["escortee_nums"] = escortee_num_str + row["num_escortees"] = num_escortees + row["school_destinations"] = school_dests_str + row["school_starts"] = school_starts_str + row["school_ends"] = school_ends_str + row["school_tour_ids"] = school_tour_ids_str + return row + + +def create_school_escorting_bundles_table(choosers, tours, stage): + """ + Creates a table that has one row for every school escorting bundle. + Additional calculations are performed to help facilitate tour and + trip creation including escortee order, times, etc. + + Parameters + ---------- + choosers : pd.DataFrame + households pre-processed for the school escorting model + tours : pd.Dataframe + mandatory tours + stage : str + inbound or outbound_cond + + Returns + ------- + bundles : pd.DataFrame + one school escorting bundle per row + """ + # making a table of bundles + choosers = choosers.reset_index() + choosers = choosers.loc[choosers.index.repeat(choosers["nbundles"])] + + bundles = pd.DataFrame() + # bundles.index = choosers.index + bundles["household_id"] = choosers["household_id"] + bundles["home_zone_id"] = choosers["home_zone_id"] + bundles["school_escort_direction"] = ( + "outbound" if "outbound" in stage else "inbound" + ) + bundles["bundle_num"] = bundles.groupby("household_id").cumcount() + 1 + + # initialize values + bundles["chauf_type_num"] = 0 + + # getting bundle school start times and locations + school_tours = tours[(tours.tour_type == "school") & (tours.tour_num == 1)] + + school_starts = school_tours.set_index("person_id").start + school_ends = school_tours.set_index("person_id").end + school_destinations = school_tours.set_index("person_id").destination + school_origins = school_tours.set_index("person_id").origin + school_tour_ids = school_tours.reset_index().set_index("person_id").tour_id + + for child_num in range(1, 4): + i = str(child_num) + bundles["bundle_child" + i] = np.where( + choosers["bundle" + i] == bundles["bundle_num"], + choosers["child_id" + i], + -1, + ) + bundles["chauf_type_num"] = np.where( + (choosers["bundle" + i] == bundles["bundle_num"]), + choosers["chauf" + i], + bundles["chauf_type_num"], + ) + bundles["time_home_to_school" + i] = np.where( + (choosers["bundle" + i] == bundles["bundle_num"]), + choosers["time_home_to_school" + i], + np.NaN, + ) + + bundles["school_destination_child" + i] = reindex( + school_destinations, bundles["bundle_child" + i] + ) + bundles["school_origin_child" + i] = reindex( + school_origins, bundles["bundle_child" + i] + ) + bundles["school_start_child" + i] = reindex( + school_starts, bundles["bundle_child" + i] + ) + bundles["school_end_child" + i] = reindex( + school_ends, bundles["bundle_child" + i] + ) + bundles["school_tour_id_child" + i] = reindex( + school_tour_ids, bundles["bundle_child" + i] + ) + + # FIXME assumes only two chauffeurs + bundles["chauf_id"] = np.where( + bundles["chauf_type_num"] <= 2, choosers["chauf_id1"], choosers["chauf_id2"] + ).astype(int) + bundles["chauf_num"] = np.where(bundles["chauf_type_num"] <= 2, 1, 2) + bundles["escort_type"] = np.where( + bundles["chauf_type_num"].isin([1, 3]), "ride_share", "pure_escort" + ) + + # This is just pulled from the pre-processor. Will break if removed or renamed in pre-processor + # I think this is still a better implmentation than re-calculating here... + school_time_cols = [ + "time_home_to_school" + str(i) for i in range(1, NUM_ESCORTEES + 1) + ] + bundles["outbound_order"] = list(bundles[school_time_cols].values.argsort() + 1) + bundles["inbound_order"] = list( + (-1 * bundles[school_time_cols]).values.argsort() + 1 + ) # inbound gets reverse order + bundles["child_order"] = np.where( + bundles["school_escort_direction"] == "outbound", + bundles["outbound_order"], + bundles["inbound_order"], + ) + + bundles = bundles.apply(lambda row: create_bundle_attributes(row), axis=1) + + # getting chauffer mandatory times + mandatory_escort_tours = tours[ + (tours.tour_category == "mandatory") & (tours.tour_num == 1) + ] + bundles["first_mand_tour_start_time"] = reindex( + mandatory_escort_tours.set_index("person_id").start, bundles["chauf_id"] + ) + bundles["first_mand_tour_end_time"] = reindex( + mandatory_escort_tours.set_index("person_id").end, bundles["chauf_id"] + ) + bundles["first_mand_tour_id"] = reindex( + mandatory_escort_tours.reset_index().set_index("person_id").tour_id, + bundles["chauf_id"], + ) + bundles["first_mand_tour_dest"] = reindex( + mandatory_escort_tours.reset_index().set_index("person_id").destination, + bundles["chauf_id"], + ) + bundles["first_mand_tour_purpose"] = reindex( + mandatory_escort_tours.reset_index().set_index("person_id").tour_type, + bundles["chauf_id"], + ) + + bundles["Alt"] = choosers["Alt"] + bundles["Description"] = choosers["Description"] + + return bundles + + +@inject.step() +def school_escorting( + households, households_merged, persons, tours, chunk_size, trace_hh_id +): + """ + school escorting model + + The school escorting model determines whether children are dropped-off at or + picked-up from school, simultaneously with the driver responsible for + chauffeuring the children, which children are bundled together on half-tours, + and the type of tour (pure escort versus rideshare). + + Run iteratively for an outbound choice, an inbound choice, and an outbound choice + conditional on the inbound choice. The choices for inbound and outbound conditional + are used to create school escort tours and trips. + + Updates / adds the following tables to the pipeline: + + :: + + - households with school escorting choice + - tours including pure school escorting + - school_escort_tours which contains only pure school escort tours + - school_escort_trips + - timetable to avoid joint tours scheduled over school escort tours + + """ + trace_label = "school_escorting_simulate" + model_settings_file_name = "school_escorting.yaml" + model_settings = config.read_model_settings(model_settings_file_name) + + persons = persons.to_frame() + households = households.to_frame() + households_merged = households_merged.to_frame() + tours = tours.to_frame() + + alts = simulate.read_model_alts(model_settings["ALTS"], set_index="Alt") + + households_merged, participant_columns = determine_escorting_paricipants( + households_merged, persons, model_settings + ) + + constants = config.get_model_constants(model_settings) + locals_dict = {} + locals_dict.update(constants) + + school_escorting_stages = ["outbound", "inbound", "outbound_cond"] + escort_bundles = [] + for stage_num, stage in enumerate(school_escorting_stages): + stage_trace_label = trace_label + "_" + stage + estimator = estimation.manager.begin_estimation("school_escorting_" + stage) + + model_spec_raw = simulate.read_model_spec( + file_name=model_settings[stage.upper() + "_SPEC"] + ) + coefficients_df = simulate.read_model_coefficients( + file_name=model_settings[stage.upper() + "_COEFFICIENTS"] + ) + model_spec = simulate.eval_coefficients( + model_spec_raw, coefficients_df, estimator + ) + + # reduce memory by limiting columns if selected columns are supplied + chooser_columns = model_settings.get("SIMULATE_CHOOSER_COLUMNS", None) + if chooser_columns is not None: + chooser_columns = chooser_columns + participant_columns + choosers = households_merged[chooser_columns] + else: + choosers = households_merged + + # add previous data to stage + if stage_num >= 1: + choosers = add_prev_choices_to_choosers( + choosers, choices, alts, school_escorting_stages[stage_num - 1] + ) + + locals_dict.update(coefficients_df) + + logger.info("Running %s with %d households", stage_trace_label, len(choosers)) + + preprocessor_settings = model_settings.get("preprocessor_" + stage, None) + if preprocessor_settings: + expressions.assign_columns( + df=choosers, + model_settings=preprocessor_settings, + locals_dict=locals_dict, + trace_label=stage_trace_label, + ) + + if estimator: + estimator.write_model_settings(model_settings, model_settings_file_name) + estimator.write_spec(model_settings) + estimator.write_coefficients(coefficients_df, model_settings) + estimator.write_choosers(choosers) + + log_alt_losers = config.setting("log_alt_losers", False) + + choices = interaction_simulate( + choosers=choosers, + alternatives=alts, + spec=model_spec, + log_alt_losers=log_alt_losers, + locals_d=locals_dict, + chunk_size=chunk_size, + trace_label=stage_trace_label, + trace_choice_name="school_escorting_" + "stage", + estimator=estimator, + ) + + if estimator: + estimator.write_choices(choices) + choices = estimator.get_survey_values( + choices, "households", "school_escorting_" + stage + ) + estimator.write_override_choices(choices) + estimator.end_estimation() + + # no need to reindex as we used all households + escorting_choice = "school_escorting_" + stage + households[escorting_choice] = choices + + # tracing each step -- outbound, inbound, outbound_cond + tracing.print_summary( + escorting_choice, households[escorting_choice], value_counts=True + ) + + if trace_hh_id: + tracing.trace_df(households, label=escorting_choice, warn_if_empty=True) + + if stage_num >= 1: + choosers["Alt"] = choices + choosers = choosers.join(alts, how="left", on="Alt") + bundles = create_school_escorting_bundles_table( + choosers[choosers["Alt"] > 1], tours, stage + ) + escort_bundles.append(bundles) + + escort_bundles = pd.concat(escort_bundles) + escort_bundles["bundle_id"] = ( + escort_bundles["household_id"] * 10 + + escort_bundles.groupby("household_id").cumcount() + + 1 + ) + escort_bundles.sort_values( + by=["household_id", "school_escort_direction"], + ascending=[True, False], + inplace=True, + ) + + school_escort_tours = school_escort_tours_trips.create_pure_school_escort_tours( + escort_bundles + ) + chauf_tour_id_map = { + v: k for k, v in school_escort_tours["bundle_id"].to_dict().items() + } + escort_bundles["chauf_tour_id"] = np.where( + escort_bundles["escort_type"] == "ride_share", + escort_bundles["first_mand_tour_id"], + escort_bundles["bundle_id"].map(chauf_tour_id_map), + ) + + tours = school_escort_tours_trips.add_pure_escort_tours(tours, school_escort_tours) + tours = school_escort_tours_trips.process_tours_after_escorting_model( + escort_bundles, tours + ) + + school_escort_trips = school_escort_tours_trips.create_school_escort_trips( + escort_bundles + ) + + # update pipeline + pipeline.replace_table("households", households) + pipeline.replace_table("tours", tours) + pipeline.get_rn_generator().drop_channel("tours") + pipeline.get_rn_generator().add_channel("tours", tours) + # pipeline.replace_table("escort_bundles", escort_bundles) + # save school escorting tours and trips in pipeline so we can overwrite results from downstream models + pipeline.replace_table("school_escort_tours", school_escort_tours) + pipeline.replace_table("school_escort_trips", school_escort_trips) + + # updating timetable object with pure escort tours so joint tours do not schedule ontop + timetable = inject.get_injectable("timetable") + + # Need to do this such that only one person is in nth_tours + # thus, looping through tour_category and tour_num + # including mandatory tours because their start / end times may have + # changed to match the school escort times + for tour_category in tours.tour_category.unique(): + for tour_num, nth_tours in tours[tours.tour_category == tour_category].groupby( + "tour_num", sort=True + ): + timetable.assign( + window_row_ids=nth_tours["person_id"], tdds=nth_tours["tdd"] + ) + + timetable.replace_table() diff --git a/activitysim/abm/models/stop_frequency.py b/activitysim/abm/models/stop_frequency.py index 14ddeb0669..94a208075f 100644 --- a/activitysim/abm/models/stop_frequency.py +++ b/activitysim/abm/models/stop_frequency.py @@ -4,16 +4,10 @@ import numpy as np import pandas as pd +from activitysim.abm.models.util import school_escort_tours_trips -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions - -from activitysim.core.util import assign_in_place -from activitysim.core.util import reindex +from activitysim.core import config, expressions, inject, pipeline, simulate, tracing +from activitysim.core.util import assign_in_place, reindex from .util import estimation, trip @@ -22,11 +16,8 @@ @inject.step() def stop_frequency( - tours, tours_merged, - stop_frequency_alts, - network_los, - chunk_size, - trace_hh_id): + tours, tours_merged, stop_frequency_alts, network_los, chunk_size, trace_hh_id +): """ stop frequency model @@ -53,8 +44,8 @@ def stop_frequency( """ - trace_label = 'stop_frequency' - model_settings_file_name = 'stop_frequency.yaml' + trace_label = "stop_frequency" + model_settings_file_name = "stop_frequency.yaml" model_settings = config.read_model_settings(model_settings_file_name) @@ -68,19 +59,18 @@ def stop_frequency( constants = config.get_model_constants(model_settings) # - run preprocessor to annotate tours_merged - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: # hack: preprocessor adds origin column in place if it does not exist already - assert 'origin' in tours_merged - assert 'destination' in tours_merged - od_skim_stack_wrapper = network_los.get_default_skim_dict().wrap('origin', 'destination') + assert "origin" in tours_merged + assert "destination" in tours_merged + od_skim_stack_wrapper = network_los.get_default_skim_dict().wrap( + "origin", "destination" + ) skims = [od_skim_stack_wrapper] - locals_dict = { - "od_skims": od_skim_stack_wrapper, - 'network_los': network_los - } + locals_dict = {"od_skims": od_skim_stack_wrapper, "network_los": network_los} locals_dict.update(constants) simulate.set_skim_wrapper_targets(tours_merged, skims) @@ -90,17 +80,23 @@ def stop_frequency( df=tours_merged, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) assign_in_place(tours_merged, annotations) - tracing.print_summary('stop_frequency segments', - tours_merged.primary_purpose, value_counts=True) + tracing.print_summary( + "stop_frequency segments", tours_merged.primary_purpose, value_counts=True + ) - spec_segments = model_settings.get('SPEC_SEGMENTS') - assert spec_segments is not None, f"SPEC_SEGMENTS setting not found in model settings: {model_settings_file_name}" - segment_col = model_settings.get('SEGMENT_COL') - assert segment_col is not None, f"SEGMENT_COL setting not found in model settings: {model_settings_file_name}" + spec_segments = model_settings.get("SPEC_SEGMENTS") + assert ( + spec_segments is not None + ), f"SPEC_SEGMENTS setting not found in model settings: {model_settings_file_name}" + segment_col = model_settings.get("SEGMENT_COL") + assert ( + segment_col is not None + ), f"SEGMENT_COL setting not found in model settings: {model_settings_file_name}" nest_spec = config.get_logit_model_settings(model_settings) @@ -116,20 +112,32 @@ def stop_frequency( logging.info(f"{trace_label} skipping empty segment {segment_name}") continue - logging.info(f"{trace_label} running segment {segment_name} with {chooser_segment.shape[0]} chooser rows") + logging.info( + f"{trace_label} running segment {segment_name} with {chooser_segment.shape[0]} chooser rows" + ) - estimator = estimation.manager.begin_estimation(model_name=segment_name, bundle_name='stop_frequency') + estimator = estimation.manager.begin_estimation( + model_name=segment_name, bundle_name="stop_frequency" + ) - segment_spec = simulate.read_model_spec(file_name=segment_settings['SPEC']) - assert segment_spec is not None, "spec for segment_type %s not found" % segment_name + segment_spec = simulate.read_model_spec(file_name=segment_settings["SPEC"]) + assert segment_spec is not None, ( + "spec for segment_type %s not found" % segment_name + ) - coefficients_file_name = segment_settings['COEFFICIENTS'] - coefficients_df = simulate.read_model_coefficients(file_name=coefficients_file_name) - segment_spec = simulate.eval_coefficients(segment_spec, coefficients_df, estimator) + coefficients_file_name = segment_settings["COEFFICIENTS"] + coefficients_df = simulate.read_model_coefficients( + file_name=coefficients_file_name + ) + segment_spec = simulate.eval_coefficients( + segment_spec, coefficients_df, estimator + ) if estimator: estimator.write_spec(segment_settings, bundle_directory=False) - estimator.write_model_settings(model_settings, model_settings_file_name, bundle_directory=True) + estimator.write_model_settings( + model_settings, model_settings_file_name, bundle_directory=True + ) estimator.write_coefficients(coefficients_df, segment_settings) estimator.write_choosers(chooser_segment) @@ -142,15 +150,18 @@ def stop_frequency( locals_d=constants, chunk_size=chunk_size, trace_label=tracing.extend_trace_label(trace_label, segment_name), - trace_choice_name='stops', - estimator=estimator) + trace_choice_name="stops", + estimator=estimator, + ) # convert indexes to alternative names choices = pd.Series(segment_spec.columns[choices.values], index=choices.index) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'tours', 'stop_frequency') # override choices + choices = estimator.get_survey_values( + choices, "tours", "stop_frequency" + ) # override choices estimator.write_override_choices(choices) estimator.end_estimation() @@ -158,30 +169,30 @@ def stop_frequency( choices = pd.concat(choices_list) - tracing.print_summary('stop_frequency', choices, value_counts=True) + tracing.print_summary("stop_frequency", choices, value_counts=True) # add stop_frequency choices to tours table - assign_in_place(tours, choices.to_frame('stop_frequency')) + assign_in_place(tours, choices.to_frame("stop_frequency")) # FIXME should have added this when tours created? - assert 'primary_purpose' not in tours - if 'primary_purpose' not in tours.columns: + assert "primary_purpose" not in tours + if "primary_purpose" not in tours.columns: # if not already there, then it will have been added by stop_freq_annotate_tours_preprocessor - assign_in_place(tours, tours_merged[['primary_purpose']]) + assign_in_place(tours, tours_merged[["primary_purpose"]]) pipeline.replace_table("tours", tours) # create trips table trips = trip.initialize_from_tours(tours, stop_frequency_alts) pipeline.replace_table("trips", trips) - tracing.register_traceable_table('trips', trips) - pipeline.get_rn_generator().add_channel('trips', trips) + tracing.register_traceable_table("trips", trips) + pipeline.get_rn_generator().add_channel("trips", trips) if estimator: # make sure they created trips with the expected tour_ids - columns = ['person_id', 'household_id', 'tour_id', 'outbound'] + columns = ["person_id", "household_id", "tour_id", "outbound"] - survey_trips = estimation.manager.get_survey_table(table_name='trips') + survey_trips = estimation.manager.get_survey_table(table_name="trips") different = False survey_trips_not_in_trips = survey_trips[~survey_trips.index.isin(trips.index)] if len(survey_trips_not_in_trips) > 0: @@ -193,10 +204,9 @@ def stop_frequency( different = True assert not different - survey_trips = \ - estimation.manager.get_survey_values(trips, - table_name='trips', - column_names=columns) + survey_trips = estimation.manager.get_survey_values( + trips, table_name="trips", column_names=columns + ) trips_differ = (trips[columns] != survey_trips[columns]).any(axis=1) @@ -206,24 +216,25 @@ def stop_frequency( print("differing survey_trips\n%s" % survey_trips[trips_differ]) print("differing modeled_trips\n%s" % trips[columns][trips_differ]) - assert(not trips_differ.any()) + assert not trips_differ.any() if trace_hh_id: - tracing.trace_df(tours, - label="stop_frequency.tours", - slicer='person_id', - columns=None) - - tracing.trace_df(trips, - label="stop_frequency.trips", - slicer='person_id', - columns=None) - - tracing.trace_df(annotations, - label="stop_frequency.annotations", - columns=None) - - tracing.trace_df(tours_merged, - label="stop_frequency.tours_merged", - slicer='person_id', - columns=None) + tracing.trace_df( + tours, label="stop_frequency.tours", slicer="person_id", columns=None + ) + + tracing.trace_df( + trips, label="stop_frequency.trips", slicer="person_id", columns=None + ) + + tracing.trace_df(annotations, label="stop_frequency.annotations", columns=None) + + tracing.trace_df( + tours_merged, + label="stop_frequency.tours_merged", + slicer="person_id", + columns=None, + ) + + if pipeline.is_table("school_escort_trips"): + school_escort_tours_trips.merge_school_escort_trips_into_pipeline() diff --git a/activitysim/abm/models/summarize.py b/activitysim/abm/models/summarize.py index 601da0fa19..66b5cf9588 100644 --- a/activitysim/abm/models/summarize.py +++ b/activitysim/abm/models/summarize.py @@ -5,6 +5,7 @@ import numpy as np import pandas as pd + from activitysim.abm.models.trip_matrices import annotate_trips from activitysim.core import config, expressions, inject, pipeline @@ -12,8 +13,7 @@ def wrap_skims( - network_los: pipeline.Pipeline, - trips_merged: pd.DataFrame + network_los: pipeline.Pipeline, trips_merged: pd.DataFrame ) -> dict[str, object]: """ Retrieve skim wrappers for merged trips. @@ -25,30 +25,30 @@ def wrap_skims( """ skim_dict = network_los.get_default_skim_dict() - trips_merged['start_tour_period'] = network_los.skim_time_period_label( - trips_merged['start'] + trips_merged["start_tour_period"] = network_los.skim_time_period_label( + trips_merged["start"] ) - trips_merged['end_tour_period'] = network_los.skim_time_period_label( - trips_merged['end'] + trips_merged["end_tour_period"] = network_los.skim_time_period_label( + trips_merged["end"] ) - trips_merged['trip_period'] = network_los.skim_time_period_label( - trips_merged['depart'] + trips_merged["trip_period"] = network_los.skim_time_period_label( + trips_merged["depart"] ) tour_odt_skim_stack_wrapper = skim_dict.wrap_3d( - orig_key='origin_tour', - dest_key='destination_tour', - dim3_key='start_tour_period', + orig_key="origin_tour", + dest_key="destination_tour", + dim3_key="start_tour_period", ) tour_dot_skim_stack_wrapper = skim_dict.wrap_3d( - orig_key='destination_tour', dest_key='origin_tour', dim3_key='end_tour_period' + orig_key="destination_tour", dest_key="origin_tour", dim3_key="end_tour_period" ) trip_odt_skim_stack_wrapper = skim_dict.wrap_3d( - orig_key='origin_trip', dest_key='destination_trip', dim3_key='trip_period' + orig_key="origin_trip", dest_key="destination_trip", dim3_key="trip_period" ) - tour_od_skim_stack_wrapper = skim_dict.wrap('origin_tour', 'destination_tour') - trip_od_skim_stack_wrapper = skim_dict.wrap('origin_trip', 'destination_trip') + tour_od_skim_stack_wrapper = skim_dict.wrap("origin_tour", "destination_tour") + trip_od_skim_stack_wrapper = skim_dict.wrap("origin_trip", "destination_trip") return { "tour_odt_skims": tour_odt_skim_stack_wrapper, @@ -83,7 +83,7 @@ def construct_bin_labels(bins: pd.Series, label_format: str) -> pd.Series: x: sorted(mid.unique().tolist()).index(x) + 1 if pd.notnull(x) else np.nan for x in mid.unique() }, - na_action='ignore', + na_action="ignore", ) def construct_label(label_format, bounds_dict): @@ -94,20 +94,20 @@ def construct_label(label_format, bounds_dict): labels = pd.Series( [ - construct_label(label_format, {'left': lt, 'mid': md, 'right': rt, 'rank': rk}) + construct_label( + label_format, {"left": lt, "mid": md, "right": rt, "rank": rk} + ) for lt, md, rt, rk in zip(left, mid, right, rank) ], index=bins.index, ) # Convert to numeric if possible - labels = pd.to_numeric(labels, errors='ignore') + labels = pd.to_numeric(labels, errors="ignore") return labels def quantiles( - data: pd.Series, - bins: pd.Series, - label_format: str = DEFAULT_BIN_LABEL_FORMAT + data: pd.Series, bins: pd.Series, label_format: str = DEFAULT_BIN_LABEL_FORMAT ) -> pd.Series: """ Construct quantiles from a Series given a number of bins. @@ -124,8 +124,8 @@ def quantiles( vals = data.sort_values() # qcut a ranking instead of raw values to deal with high frequencies of the same value # (e.g., many 0 values) that may span multiple bins - ranks = vals.rank(method='first') - bins = pd.qcut(ranks, bins, duplicates='drop') + ranks = vals.rank(method="first") + bins = pd.qcut(ranks, bins, duplicates="drop") bins = construct_bin_labels(bins, label_format) return bins @@ -147,7 +147,7 @@ def spaced_intervals( Returns a Series indexed by labels """ - if lower_bound == 'min': + if lower_bound == "min": lower_bound = data.min() breaks = np.arange(lower_bound, data.max() + interval, interval) bins = pd.cut(data, breaks, include_lowest=True) @@ -156,9 +156,7 @@ def spaced_intervals( def equal_intervals( - data: pd.Series, - bins: int, - label_format: str = DEFAULT_BIN_LABEL_FORMAT + data: pd.Series, bins: int, label_format: str = DEFAULT_BIN_LABEL_FORMAT ) -> pd.Series: """ Construct equally-spaced intervals across the entire range of a Series. @@ -179,7 +177,7 @@ def manual_breaks( data: pd.Series, bin_breaks: list, labels: list = None, - label_format: str = DEFAULT_BIN_LABEL_FORMAT + label_format: str = DEFAULT_BIN_LABEL_FORMAT, ) -> pd.Series: """ Classify numeric data in a Pandas Series into manually-defined bins. @@ -224,17 +222,17 @@ def summarize( Outputs a seperate csv summary file for each expression; outputs starting with '_' are saved as temporary local variables. """ - trace_label = 'summarize' - model_settings_file_name = 'summarize.yaml' + trace_label = "summarize" + model_settings_file_name = "summarize.yaml" model_settings = config.read_model_settings(model_settings_file_name) output_location = ( - model_settings['OUTPUT'] if 'OUTPUT' in model_settings else 'summaries' + model_settings["OUTPUT"] if "OUTPUT" in model_settings else "summaries" ) os.makedirs(config.output_file_path(output_location), exist_ok=True) spec = pd.read_csv( - config.config_file_path(model_settings['SPECIFICATION']), comment='#' + config.config_file_path(model_settings["SPECIFICATION"]), comment="#" ) # Load dataframes from pipeline @@ -250,31 +248,31 @@ def summarize( # - trips_merged - merge trips and tours_merged trips_merged = pd.merge( trips, - tours_merged.drop(columns=['person_id', 'household_id']), - left_on='tour_id', + tours_merged.drop(columns=["person_id", "household_id"]), + left_on="tour_id", right_index=True, - suffixes=['_trip', '_tour'], + suffixes=["_trip", "_tour"], how="left", ) # Add dataframes as local variables locals_d = { - 'persons': persons, - 'persons_merged': persons_merged, - 'households': households, - 'households_merged': households_merged, - 'trips': trips, - 'trips_merged': trips_merged, - 'tours': tours_merged, - 'tours_merged': tours_merged, - 'land_use': land_use, + "persons": persons, + "persons_merged": persons_merged, + "households": households, + "households_merged": households_merged, + "trips": trips, + "trips_merged": trips_merged, + "tours": tours_merged, + "tours_merged": tours_merged, + "land_use": land_use, } skims = wrap_skims(network_los, trips_merged) # Annotate trips_merged expressions.annotate_preprocessors( - trips_merged, locals_d, skims, model_settings, 'summarize' + trips_merged, locals_d, skims, model_settings, "summarize" ) for table_name, df in locals_d.items(): @@ -283,72 +281,76 @@ def summarize( meta = model_settings[table_name] df = eval(table_name) - if 'AGGREGATE' in meta and meta['AGGREGATE']: - for agg in meta['AGGREGATE']: - assert set(('column', 'label', 'map')) <= agg.keys() - df[agg['label']] = ( - df[agg['column']].map(agg['map']).fillna(df[agg['column']]) + if "AGGREGATE" in meta and meta["AGGREGATE"]: + for agg in meta["AGGREGATE"]: + assert set(("column", "label", "map")) <= agg.keys() + df[agg["label"]] = ( + df[agg["column"]].map(agg["map"]).fillna(df[agg["column"]]) ) - if 'BIN' in meta and meta['BIN']: - for slicer in meta['BIN']: - if slicer['type'] == 'manual_breaks': - df[slicer['label']] = manual_breaks( - df[slicer['column']], slicer['bin_breaks'], slicer['bin_labels'] + if "BIN" in meta and meta["BIN"]: + for slicer in meta["BIN"]: + if slicer["type"] == "manual_breaks": + df[slicer["label"]] = manual_breaks( + df[slicer["column"]], + slicer["bin_breaks"], + slicer["bin_labels"], ) - elif slicer['type'] == 'quantiles': - df[slicer['label']] = quantiles( - df[slicer['column']], slicer['bins'], slicer['label_format'] + elif slicer["type"] == "quantiles": + df[slicer["label"]] = quantiles( + df[slicer["column"]], slicer["bins"], slicer["label_format"] ) - elif slicer['type'] == 'spaced_intervals': - df[slicer['label']] = spaced_intervals( - df[slicer['column']], - slicer['lower_bound'], - slicer['interval'], - slicer['label_format'], + elif slicer["type"] == "spaced_intervals": + df[slicer["label"]] = spaced_intervals( + df[slicer["column"]], + slicer["lower_bound"], + slicer["interval"], + slicer["label_format"], ) - elif slicer['type'] == 'equal_intervals': - df[slicer['label']] = equal_intervals( - df[slicer['column']], slicer['bins'], slicer['label_format'] + elif slicer["type"] == "equal_intervals": + df[slicer["label"]] = equal_intervals( + df[slicer["column"]], slicer["bins"], slicer["label_format"] ) # Output pipeline tables for expression development - if model_settings['EXPORT_PIPELINE_TABLES'] is True: - pipeline_table_dir = os.path.join(output_location, 'pipeline_tables') + if model_settings["EXPORT_PIPELINE_TABLES"] is True: + pipeline_table_dir = os.path.join(output_location, "pipeline_tables") os.makedirs(config.output_file_path(pipeline_table_dir), exist_ok=True) for name, df in locals_d.items(): - df.to_csv(config.output_file_path(os.path.join(pipeline_table_dir, f'{name}.csv'))) + df.to_csv( + config.output_file_path(os.path.join(pipeline_table_dir, f"{name}.csv")) + ) # Add classification functions to locals locals_d.update( { - 'quantiles': quantiles, - 'spaced_intervals': spaced_intervals, - 'equal_intervals': equal_intervals, - 'manual_breaks': manual_breaks, + "quantiles": quantiles, + "spaced_intervals": spaced_intervals, + "equal_intervals": equal_intervals, + "manual_breaks": manual_breaks, } ) for i, row in spec.iterrows(): - out_file = row['Output'] - expr = row['Expression'] + out_file = row["Output"] + expr = row["Expression"] # Save temporary variables starting with underscores in locals_d - if out_file.startswith('_'): + if out_file.startswith("_"): - logger.debug(f'Temp Variable: {expr} -> {out_file}') + logger.debug(f"Temp Variable: {expr} -> {out_file}") locals_d[out_file] = eval(expr, globals(), locals_d) continue - logger.debug(f'Summary: {expr} -> {out_file}.csv') + logger.debug(f"Summary: {expr} -> {out_file}.csv") resultset = eval(expr, globals(), locals_d) resultset.to_csv( - config.output_file_path(os.path.join(output_location, f'{out_file}.csv')), + config.output_file_path(os.path.join(output_location, f"{out_file}.csv")), index=False, ) diff --git a/activitysim/abm/models/tour_mode_choice.py b/activitysim/abm/models/tour_mode_choice.py index 9d9c725dac..0dd2a64f54 100644 --- a/activitysim/abm/models/tour_mode_choice.py +++ b/activitysim/abm/models/tour_mode_choice.py @@ -2,27 +2,25 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd from orca import orca -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import expressions -from activitysim.core import simulate -from activitysim.core import logit -from activitysim.core.util import assign_in_place, reindex - -from activitysim.core import los +from activitysim.core import ( + config, + expressions, + inject, + logit, + los, + pipeline, + simulate, + tracing, +) from activitysim.core.pathbuilder import TransitVirtualPathBuilder +from activitysim.core.util import assign_in_place, reindex -from activitysim.core import los - +from .util import estimation, trip from .util.mode import run_tour_mode_choice_simulate -from .util import trip -from .util import estimation logger = logging.getLogger(__name__) @@ -57,8 +55,7 @@ def get_alts_from_segmented_nested_logit(model_settings, segment_name, trace_lab return tour_mode_alts -def create_logsum_trips( - tours, segment_column_name, model_settings, trace_label): +def create_logsum_trips(tours, segment_column_name, model_settings, trace_label): """ Construct table of trips from half-tours (1 inbound, 1 outbound) for each tour-mode. @@ -75,29 +72,30 @@ def create_logsum_trips( pandas.DataFrame Table of trips: 2 per tour, with O/D and purpose inherited from tour """ - stop_frequency_alts = inject.get_injectable('stop_frequency_alts') - stop_freq = '0out_0in' # no intermediate stops - tours['stop_frequency'] = stop_freq - tours['primary_purpose'] = tours['tour_purpose'] + stop_frequency_alts = inject.get_injectable("stop_frequency_alts") + stop_freq = "0out_0in" # no intermediate stops + tours["stop_frequency"] = stop_freq + tours["primary_purpose"] = tours["tour_purpose"] trips = trip.initialize_from_tours(tours, stop_frequency_alts) - trips['stop_frequency'] = stop_freq - outbound = trips['outbound'] - trips['depart'] = reindex(tours.start, trips.tour_id) - trips.loc[~outbound, 'depart'] = reindex(tours.end, trips.loc[~outbound, 'tour_id']) + trips["stop_frequency"] = stop_freq + outbound = trips["outbound"] + trips["depart"] = reindex(tours.start, trips.tour_id) + trips.loc[~outbound, "depart"] = reindex(tours.end, trips.loc[~outbound, "tour_id"]) # actual segment doesn't matter. just need to grab one # to get a set of coefficients from the spec segment_name = tours.iloc[0][segment_column_name] tour_mode_alts = get_alts_from_segmented_nested_logit( - model_settings, segment_name, trace_label) + model_settings, segment_name, trace_label + ) # repeat rows from the trips table iterating over tour mode logsum_trips = pd.DataFrame() for tour_mode in tour_mode_alts: - trips['tour_mode'] = tour_mode + trips["tour_mode"] = tour_mode logsum_trips = pd.concat((logsum_trips, trips), ignore_index=True) assert len(logsum_trips) == len(trips) * len(tour_mode_alts) - logsum_trips.index.name = 'trip_id' + logsum_trips.index.name = "trip_id" return logsum_trips @@ -114,12 +112,16 @@ def append_tour_leg_trip_mode_choice_logsums(tours): tours : pd.DataFrame Adds two * n_modes logsum columns to each tour row, e.g. "logsum_DRIVE_outbound" """ - trips = inject.get_table('trips').to_frame() + trips = inject.get_table("trips").to_frame() trip_dir_mode_logsums = trips.pivot( - index='tour_id', columns=['tour_mode', 'outbound'], values='trip_mode_choice_logsum') + index="tour_id", + columns=["tour_mode", "outbound"], + values="trip_mode_choice_logsum", + ) new_cols = [ - '_'.join(['logsum', mode, 'outbound' if outbound else 'inbound']) - for mode, outbound in trip_dir_mode_logsums.columns] + "_".join(["logsum", mode, "outbound" if outbound else "inbound"]) + for mode, outbound in trip_dir_mode_logsums.columns + ] trip_dir_mode_logsums.columns = new_cols trip_dir_mode_logsums.reindex(tours.index) tours = pd.merge(tours, trip_dir_mode_logsums, left_index=True, right_index=True) @@ -128,7 +130,8 @@ def append_tour_leg_trip_mode_choice_logsums(tours): def get_trip_mc_logsums_for_all_modes( - tours, segment_column_name, model_settings, trace_label): + tours, segment_column_name, model_settings, trace_label +): """Creates pseudo-trips from tours and runs trip mode choice to get logsums Parameters @@ -147,55 +150,59 @@ def get_trip_mc_logsums_for_all_modes( # create pseudo-trips from tours for all tour modes logsum_trips = create_logsum_trips( - tours, segment_column_name, model_settings, - trace_label) + tours, segment_column_name, model_settings, trace_label + ) # temporarily register trips in the pipeline - pipeline.replace_table('trips', logsum_trips) - tracing.register_traceable_table('trips', logsum_trips) - pipeline.get_rn_generator().add_channel('trips', logsum_trips) + pipeline.replace_table("trips", logsum_trips) + tracing.register_traceable_table("trips", logsum_trips) + pipeline.get_rn_generator().add_channel("trips", logsum_trips) # run trip mode choice on pseudo-trips. use orca instead of pipeline to # execute the step because pipeline can only handle one open step at a time - orca.run(['trip_mode_choice']) + orca.run(["trip_mode_choice"]) # add trip mode choice logsums as new cols in tours tours = append_tour_leg_trip_mode_choice_logsums(tours) # de-register logsum trips table - pipeline.get_rn_generator().drop_channel('trips') - tracing.deregister_traceable_table('trips') + pipeline.get_rn_generator().drop_channel("trips") + tracing.deregister_traceable_table("trips") return tours @inject.step() -def tour_mode_choice_simulate(tours, persons_merged, - network_los, - chunk_size, - trace_hh_id): +def tour_mode_choice_simulate( + tours, persons_merged, network_los, chunk_size, trace_hh_id +): """ Tour mode choice simulate """ - trace_label = 'tour_mode_choice' - model_settings_file_name = 'tour_mode_choice.yaml' + trace_label = "tour_mode_choice" + model_settings_file_name = "tour_mode_choice.yaml" model_settings = config.read_model_settings(model_settings_file_name) - logsum_column_name = model_settings.get('MODE_CHOICE_LOGSUM_COLUMN_NAME') - mode_column_name = 'tour_mode' - segment_column_name = 'tour_purpose' + logsum_column_name = model_settings.get("MODE_CHOICE_LOGSUM_COLUMN_NAME") + mode_column_name = "tour_mode" + segment_column_name = "tour_purpose" primary_tours = tours.to_frame() - assert not (primary_tours.tour_category == 'atwork').any() + assert not (primary_tours.tour_category == "atwork").any() logger.info("Running %s with %d tours" % (trace_label, primary_tours.shape[0])) - tracing.print_summary('tour_types', - primary_tours.tour_type, value_counts=True) + tracing.print_summary("tour_types", primary_tours.tour_type, value_counts=True) persons_merged = persons_merged.to_frame() - primary_tours_merged = pd.merge(primary_tours, persons_merged, left_on='person_id', - right_index=True, how='left', suffixes=('', '_r')) + primary_tours_merged = pd.merge( + primary_tours, + persons_merged, + left_on="person_id", + right_index=True, + how="left", + suffixes=("", "_r"), + ) constants = {} # model_constants can appear in expressions @@ -204,19 +211,23 @@ def tour_mode_choice_simulate(tours, persons_merged, skim_dict = network_los.get_default_skim_dict() # setup skim keys - orig_col_name = 'home_zone_id' - dest_col_name = 'destination' - - out_time_col_name = 'start' - in_time_col_name = 'end' - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='out_period') - dot_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='in_period') - odr_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='in_period') - dor_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='out_period') + orig_col_name = "home_zone_id" + dest_col_name = "destination" + + out_time_col_name = "start" + in_time_col_name = "end" + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="out_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="in_period" + ) + odr_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="in_period" + ) + dor_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="out_period" + ) od_skim_stack_wrapper = skim_dict.wrap(orig_col_name, dest_col_name) skims = { @@ -225,10 +236,10 @@ def tour_mode_choice_simulate(tours, persons_merged, "odr_skims": odr_skim_stack_wrapper, # dot return skims for e.g. TNC bridge return fare "dor_skims": dor_skim_stack_wrapper, # odt return skims for e.g. TNC bridge return fare "od_skims": od_skim_stack_wrapper, - 'orig_col_name': orig_col_name, - 'dest_col_name': dest_col_name, - 'out_time_col_name': out_time_col_name, - 'in_time_col_name': in_time_col_name + "orig_col_name": orig_col_name, + "dest_col_name": dest_col_name, + "out_time_col_name": out_time_col_name, + "in_time_col_name": in_time_col_name, } if network_los.zone_system == los.THREE_ZONE: @@ -236,30 +247,41 @@ def tour_mode_choice_simulate(tours, persons_merged, tvpb = network_los.tvpb - tvpb_logsum_odt = tvpb.wrap_logsum(orig_key=orig_col_name, dest_key=dest_col_name, - tod_key='out_period', segment_key='demographic_segment', - cache_choices=True, - trace_label=trace_label, tag='tvpb_logsum_odt') - tvpb_logsum_dot = tvpb.wrap_logsum(orig_key=dest_col_name, dest_key=orig_col_name, - tod_key='in_period', segment_key='demographic_segment', - cache_choices=True, - trace_label=trace_label, tag='tvpb_logsum_dot') - - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - 'tvpb_logsum_dot': tvpb_logsum_dot - }) + tvpb_logsum_odt = tvpb.wrap_logsum( + orig_key=orig_col_name, + dest_key=dest_col_name, + tod_key="out_period", + segment_key="demographic_segment", + cache_choices=True, + trace_label=trace_label, + tag="tvpb_logsum_odt", + ) + tvpb_logsum_dot = tvpb.wrap_logsum( + orig_key=dest_col_name, + dest_key=orig_col_name, + tod_key="in_period", + segment_key="demographic_segment", + cache_choices=True, + trace_label=trace_label, + tag="tvpb_logsum_dot", + ) + + skims.update( + {"tvpb_logsum_odt": tvpb_logsum_odt, "tvpb_logsum_dot": tvpb_logsum_dot} + ) # TVPB constants can appear in expressions - if model_settings.get('use_TVPB_constants', True): - constants.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + if model_settings.get("use_TVPB_constants", True): + constants.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) # don't create estimation data bundle if trip mode choice is being called # from another model step (i.e. tour mode choice logsum creation) - if pipeline.get_rn_generator().step_name != 'tour_mode_choice_simulate': + if pipeline.get_rn_generator().step_name != "tour_mode_choice_simulate": estimator = None else: - estimator = estimation.manager.begin_estimation('tour_mode_choice') + estimator = estimation.manager.begin_estimation("tour_mode_choice") if estimator: estimator.write_coefficients(model_settings=model_settings) estimator.write_coefficients_template(model_settings=model_settings) @@ -270,33 +292,45 @@ def tour_mode_choice_simulate(tours, persons_merged, # FIXME should normalize handling of tour_type and tour_purpose # mtctm1 school tour_type includes univ, which has different coefficients from elementary and HS # we should either add this column when tours created or add univ to tour_types - not_university = (primary_tours_merged.tour_type != 'school') | \ - ~(primary_tours_merged.is_university if 'is_university' in primary_tours_merged.columns else False) - primary_tours_merged['tour_purpose'] = \ - primary_tours_merged.tour_type.where(not_university, 'univ') + not_university = (primary_tours_merged.tour_type != "school") | ~( + primary_tours_merged.is_university.astype(bool) + if "is_university" in primary_tours_merged.columns + else False + ) + primary_tours_merged["tour_purpose"] = primary_tours_merged.tour_type.where( + not_university, "univ" + ) # if trip logsums are used, run trip mode choice and append the logsums - if model_settings.get('COMPUTE_TRIP_MODE_CHOICE_LOGSUMS', False): + if model_settings.get("COMPUTE_TRIP_MODE_CHOICE_LOGSUMS", False): primary_tours_merged = get_trip_mc_logsums_for_all_modes( - primary_tours_merged, segment_column_name, - model_settings, trace_label) + primary_tours_merged, segment_column_name, model_settings, trace_label + ) choices_list = [] - for tour_purpose, tours_segment in primary_tours_merged.groupby(segment_column_name): - - logger.info("tour_mode_choice_simulate tour_type '%s' (%s tours)" % - (tour_purpose, len(tours_segment.index), )) + for tour_purpose, tours_segment in primary_tours_merged.groupby( + segment_column_name + ): + + logger.info( + "tour_mode_choice_simulate tour_type '%s' (%s tours)" + % ( + tour_purpose, + len(tours_segment.index), + ) + ) if network_los.zone_system == los.THREE_ZONE: tvpb_logsum_odt.extend_trace_label(tour_purpose) tvpb_logsum_dot.extend_trace_label(tour_purpose) # name index so tracing knows how to slice - assert tours_segment.index.name == 'tour_id' + assert tours_segment.index.name == "tour_id" choices_df = run_tour_mode_choice_simulate( tours_segment, - tour_purpose, model_settings, + tour_purpose, + model_settings, mode_column_name=mode_column_name, logsum_column_name=logsum_column_name, network_los=network_los, @@ -305,10 +339,14 @@ def tour_mode_choice_simulate(tours, persons_merged, estimator=estimator, chunk_size=chunk_size, trace_label=tracing.extend_trace_label(trace_label, tour_purpose), - trace_choice_name='tour_mode_choice') + trace_choice_name="tour_mode_choice", + ) - tracing.print_summary('tour_mode_choice_simulate %s choices_df' % tour_purpose, - choices_df.tour_mode, value_counts=True) + tracing.print_summary( + "tour_mode_choice_simulate %s choices_df" % tour_purpose, + choices_df.tour_mode, + value_counts=True, + ) choices_list.append(choices_df) @@ -317,11 +355,13 @@ def tour_mode_choice_simulate(tours, persons_merged, # add cached tvpb_logsum tap choices for modes specified in tvpb_mode_path_types if network_los.zone_system == los.THREE_ZONE: - tvpb_mode_path_types = model_settings.get('tvpb_mode_path_types') + tvpb_mode_path_types = model_settings.get("tvpb_mode_path_types") if tvpb_mode_path_types is not None: for mode, path_types in tvpb_mode_path_types.items(): - for direction, skim in zip(['od', 'do'], [tvpb_logsum_odt, tvpb_logsum_dot]): + for direction, skim in zip( + ["od", "do"], [tvpb_logsum_odt, tvpb_logsum_dot] + ): path_type = path_types[direction] skim_cache = skim.cache[path_type] @@ -330,20 +370,31 @@ def tour_mode_choice_simulate(tours, persons_merged, for c in skim_cache: - dest_col = f'{direction}_{c}' + dest_col = f"{direction}_{c}" if dest_col not in choices_df: - choices_df[dest_col] = np.nan if pd.api.types.is_numeric_dtype(skim_cache[c]) else '' - choices_df[dest_col].where(choices_df.tour_mode != mode, skim_cache[c], inplace=True) + choices_df[dest_col] = ( + np.nan + if pd.api.types.is_numeric_dtype(skim_cache[c]) + else "" + ) + choices_df[dest_col].where( + choices_df.tour_mode != mode, skim_cache[c], inplace=True + ) if estimator: estimator.write_choices(choices_df.tour_mode) - choices_df.tour_mode = estimator.get_survey_values(choices_df.tour_mode, 'tours', 'tour_mode') + choices_df.tour_mode = estimator.get_survey_values( + choices_df.tour_mode, "tours", "tour_mode" + ) estimator.write_override_choices(choices_df.tour_mode) estimator.end_estimation() - tracing.print_summary('tour_mode_choice_simulate all tour type choices', - choices_df.tour_mode, value_counts=True) + tracing.print_summary( + "tour_mode_choice_simulate all tour type choices", + choices_df.tour_mode, + value_counts=True, + ) # so we can trace with annotations assign_in_place(primary_tours, choices_df) @@ -355,17 +406,20 @@ def tour_mode_choice_simulate(tours, persons_merged, pipeline.replace_table("tours", all_tours) # - annotate tours table - if model_settings.get('annotate_tours'): - tours = inject.get_table('tours').to_frame() + if model_settings.get("annotate_tours"): + tours = inject.get_table("tours").to_frame() expressions.assign_columns( df=tours, - model_settings=model_settings.get('annotate_tours'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_tours')) + model_settings=model_settings.get("annotate_tours"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_tours"), + ) pipeline.replace_table("tours", tours) if trace_hh_id: - tracing.trace_df(primary_tours, - label=tracing.extend_trace_label(trace_label, mode_column_name), - slicer='tour_id', - index_label='tour_id', - warn_if_empty=True) + tracing.trace_df( + primary_tours, + label=tracing.extend_trace_label(trace_label, mode_column_name), + slicer="tour_id", + index_label="tour_id", + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/tour_od_choice.py b/activitysim/abm/models/tour_od_choice.py index 6816eed385..0825a21ea3 100644 --- a/activitysim/abm/models/tour_od_choice.py +++ b/activitysim/abm/models/tour_od_choice.py @@ -4,29 +4,18 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate - +from activitysim.core import config, inject, pipeline, simulate, tracing from activitysim.core.util import assign_in_place -from .util import tour_od -from .util import estimation +from .util import estimation, tour_od logger = logging.getLogger(__name__) @inject.step() def tour_od_choice( - tours, - persons, - households, - land_use, - network_los, - chunk_size, - trace_hh_id): + tours, persons, households, land_use, network_los, chunk_size, trace_hh_id +): """Simulates joint origin/destination choice for all tours. @@ -57,17 +46,20 @@ def tour_od_choice( households to trace, set in main settings.yaml """ - trace_label = 'tour_od_choice' - model_settings_file_name = 'tour_od_choice.yaml' + trace_label = "tour_od_choice" + model_settings_file_name = "tour_od_choice.yaml" model_settings = config.read_model_settings(model_settings_file_name) - origin_col_name = model_settings['ORIG_COL_NAME'] - dest_col_name = model_settings['DEST_COL_NAME'] + origin_col_name = model_settings["ORIG_COL_NAME"] + dest_col_name = model_settings["DEST_COL_NAME"] alt_id_col = tour_od.get_od_id_col(origin_col_name, dest_col_name) - sample_table_name = model_settings.get('OD_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("OD_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) - logsum_column_name = model_settings.get('OD_CHOICE_LOGSUM_COLUMN_NAME', None) + logsum_column_name = model_settings.get("OD_CHOICE_LOGSUM_COLUMN_NAME", None) want_logsums = logsum_column_name is not None tours = tours.to_frame() @@ -75,14 +67,18 @@ def tour_od_choice( # interaction_sample_simulate insists choosers appear in same order as alts tours = tours.sort_index() - estimator = estimation.manager.begin_estimation('tour_od_choice') + estimator = estimation.manager.begin_estimation("tour_od_choice") if estimator: estimator.write_coefficients(model_settings=model_settings) - estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SAMPLE_SPEC") + estimator.write_spec(model_settings, tag="SPEC") estimator.set_alt_id(alt_id_col) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) estimator.write_model_settings(model_settings, model_settings_file_name) choices_df, save_sample_df = tour_od.run_tour_od( @@ -93,16 +89,22 @@ def tour_od_choice( model_settings, network_los, estimator, - chunk_size, trace_hh_id, trace_label) + chunk_size, + trace_hh_id, + trace_label, + ) if estimator: assert estimator.want_unsampled_alternatives estimator.write_choices(choices_df.choice) survey_od = estimator.get_survey_values( - choices_df.choice, 'tours', [origin_col_name, dest_col_name]) + choices_df.choice, "tours", [origin_col_name, dest_col_name] + ) choices_df[origin_col_name] = survey_od[origin_col_name] choices_df[dest_col_name] = survey_od[dest_col_name] - survey_od[alt_id_col] = tour_od.create_od_id_col(survey_od, origin_col_name, dest_col_name) + survey_od[alt_id_col] = tour_od.create_od_id_col( + survey_od, origin_col_name, dest_col_name + ) choices_df.choice = survey_od[alt_id_col] estimator.write_override_choices(choices_df.choice) estimator.end_estimation() @@ -110,20 +112,27 @@ def tour_od_choice( tours[origin_col_name] = choices_df[origin_col_name].reindex(tours.index) tours[dest_col_name] = choices_df[dest_col_name].reindex(tours.index) if want_logsums: - tours[logsum_column_name] = \ - choices_df['logsum'].reindex(tours.index).astype('float') - tours['poe_id'] = tours[origin_col_name].map(land_use.to_frame(columns='poe_id').poe_id) + tours[logsum_column_name] = ( + choices_df["logsum"].reindex(tours.index).astype("float") + ) + tours["poe_id"] = tours[origin_col_name].map( + land_use.to_frame(columns="poe_id").poe_id + ) households = households.to_frame() persons = persons.to_frame() - households[origin_col_name] = tours.set_index('household_id')[origin_col_name].reindex(households.index) - persons[origin_col_name] = households[origin_col_name].reindex(persons.household_id).values + households[origin_col_name] = tours.set_index("household_id")[ + origin_col_name + ].reindex(households.index) + persons[origin_col_name] = ( + households[origin_col_name].reindex(persons.household_id).values + ) # Downstream steps require that persons and households have a 'home_zone_id' # column. We assume that if the tour_od_choice model is used, this field is # missing from the population data, so it gets inherited from the tour origin - households['home_zone_id'] = households[origin_col_name] - persons['home_zone_id'] = persons[origin_col_name] + households["home_zone_id"] = households[origin_col_name] + persons["home_zone_id"] = persons[origin_col_name] pipeline.replace_table("tours", tours) pipeline.replace_table("persons", persons) @@ -134,9 +143,11 @@ def tour_od_choice( pipeline.extend_table(sample_table_name, save_sample_df) if trace_hh_id: - tracing.trace_df(tours, - label="tours_od_choice", - slicer='person_id', - index_label='tour', - columns=None, - warn_if_empty=True) + tracing.trace_df( + tours, + label="tours_od_choice", + slicer="person_id", + index_label="tour", + columns=None, + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/tour_scheduling_probabilistic.py b/activitysim/abm/models/tour_scheduling_probabilistic.py index 9124cb73b4..89fb416768 100644 --- a/activitysim/abm/models/tour_scheduling_probabilistic.py +++ b/activitysim/abm/models/tour_scheduling_probabilistic.py @@ -6,26 +6,24 @@ import numpy as np import pandas as pd -from activitysim.core import logit -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import chunk -from activitysim.core import pipeline - -from activitysim.core.util import reindex - from activitysim.abm.models.util import estimation +from activitysim.core import chunk, config, inject, logit, pipeline, tracing +from activitysim.core.util import reindex from .util import probabilistic_scheduling as ps - logger = logging.getLogger(__name__) def run_tour_scheduling_probabilistic( - tours_df, scheduling_probs, probs_join_cols, depart_alt_base, chunk_size, - trace_label, trace_hh_id): + tours_df, + scheduling_probs, + probs_join_cols, + depart_alt_base, + chunk_size, + trace_label, + trace_hh_id, +): """Make probabilistic tour scheduling choices in chunks Parameters @@ -53,12 +51,21 @@ def run_tour_scheduling_probabilistic( """ result_list = [] for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( - tours_df, chunk_size, trace_label, trace_label): + tours_df, chunk_size, trace_label, trace_label + ): choices = ps.make_scheduling_choices( - chooser_chunk, 'departure', scheduling_probs, probs_join_cols, depart_alt_base, - first_trip_in_leg=False, report_failed_trips=True, - trace_label=chunk_trace_label, trace_hh_id=trace_hh_id, - trace_choice_col_name='depart_return', clip_earliest_latest=False) + chooser_chunk, + "departure", + scheduling_probs, + probs_join_cols, + depart_alt_base, + first_trip_in_leg=False, + report_failed_trips=True, + trace_label=chunk_trace_label, + trace_hh_id=trace_hh_id, + trace_choice_col_name="depart_return", + clip_earliest_latest=False, + ) result_list.append(choices) choices = pd.concat(result_list) @@ -66,10 +73,7 @@ def run_tour_scheduling_probabilistic( @inject.step() -def tour_scheduling_probabilistic( - tours, - chunk_size, - trace_hh_id): +def tour_scheduling_probabilistic(tours, chunk_size, trace_hh_id): """Makes tour departure and arrival choices by sampling from a probability lookup table This model samples tour scheduling choices from an exogenously defined probability @@ -89,51 +93,61 @@ def tour_scheduling_probabilistic( """ trace_label = "tour_scheduling_probabilistic" - model_settings_file_name = 'tour_scheduling_probabilistic.yaml' + model_settings_file_name = "tour_scheduling_probabilistic.yaml" model_settings = config.read_model_settings(model_settings_file_name) - depart_alt_base = model_settings.get('depart_alt_base', 0) - scheduling_probs_filepath = config.config_file_path(model_settings['PROBS_SPEC']) + depart_alt_base = model_settings.get("depart_alt_base", 0) + scheduling_probs_filepath = config.config_file_path(model_settings["PROBS_SPEC"]) scheduling_probs = pd.read_csv(scheduling_probs_filepath) - probs_join_cols = model_settings['PROBS_JOIN_COLS'] + probs_join_cols = model_settings["PROBS_JOIN_COLS"] tours_df = tours.to_frame() # trip_scheduling is a probabilistic model ane we don't support estimation, # but we do need to override choices in estimation mode - estimator = estimation.manager.begin_estimation('tour_scheduling_probabilistic') + estimator = estimation.manager.begin_estimation("tour_scheduling_probabilistic") if estimator: - estimator.write_spec(model_settings, tag='PROBS_SPEC') + estimator.write_spec(model_settings, tag="PROBS_SPEC") estimator.write_model_settings(model_settings, model_settings_file_name) - chooser_cols_for_estimation = ['purpose_id'] + chooser_cols_for_estimation = ["purpose_id"] estimator.write_choosers(tours_df[chooser_cols_for_estimation]) choices = run_tour_scheduling_probabilistic( - tours_df, scheduling_probs, probs_join_cols, depart_alt_base, chunk_size, - trace_label, trace_hh_id) + tours_df, + scheduling_probs, + probs_join_cols, + depart_alt_base, + chunk_size, + trace_label, + trace_hh_id, + ) # convert alt index choices to depart/return times - probs_cols = pd.Series([c for c in scheduling_probs.columns if c not in probs_join_cols]) + probs_cols = pd.Series( + [c for c in scheduling_probs.columns if c not in probs_join_cols] + ) dep_ret_choices = probs_cols.loc[choices] dep_ret_choices.index = choices.index choices.update(dep_ret_choices) - departures = choices.str.split('_').str[0].astype(int) - returns = choices.str.split('_').str[1].astype(int) + departures = choices.str.split("_").str[0].astype(int) + returns = choices.str.split("_").str[1].astype(int) if estimator: estimator.write_choices(choices) - choices_df = estimator.get_survey_values(choices, 'tours', ['start', 'end']) # override choices - choices = choices_df['start'].astype(str) + '_' + choices_df['end'].astype(str) + choices_df = estimator.get_survey_values( + choices, "tours", ["start", "end"] + ) # override choices + choices = choices_df["start"].astype(str) + "_" + choices_df["end"].astype(str) estimator.write_override_choices(choices) estimator.end_estimation() assert not choices.isnull().any() # these column names are required for downstream models (e.g. tour mode choice) # normally generated by time_windows.py and used as alts for vectorize_tour_scheduling - tours_df['start'] = departures - tours_df['end'] = returns - tours_df['duration'] = tours_df['end'] - tours_df['start'] + tours_df["start"] = departures + tours_df["end"] = returns + tours_df["duration"] = tours_df["end"] - tours_df["start"] - assert not tours_df['start'].isnull().any() - assert not tours_df['end'].isnull().any() - assert not tours_df['duration'].isnull().any() + assert not tours_df["start"].isnull().any() + assert not tours_df["end"].isnull().any() + assert not tours_df["duration"].isnull().any() pipeline.replace_table("tours", tours_df) diff --git a/activitysim/abm/models/trip_departure_choice.py b/activitysim/abm/models/trip_departure_choice.py index 80eb9b912a..2dad8d37c0 100644 --- a/activitysim/abm/models/trip_departure_choice.py +++ b/activitysim/abm/models/trip_departure_choice.py @@ -3,42 +3,44 @@ import numpy as np import pandas as pd -from activitysim.core import chunk -from activitysim.core import config -from activitysim.core import expressions -from activitysim.core import inject -from activitysim.core import logit -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import tracing - from activitysim.abm.models.util.trip import get_time_windows -from activitysim.core import interaction_simulate +from activitysim.core import ( + chunk, + config, + expressions, + inject, + interaction_simulate, + logit, + pipeline, + simulate, + tracing, +) from activitysim.core.simulate import set_skim_wrapper_targets from activitysim.core.util import reindex - logger = logging.getLogger(__name__) -MAIN_LEG_DURATION = 'main_leg_duration' -IB_DURATION = 'inbound_duration' -OB_DURATION = 'outbound_duration' +MAIN_LEG_DURATION = "main_leg_duration" +IB_DURATION = "inbound_duration" +OB_DURATION = "outbound_duration" -TOUR_ID = 'tour_id' -TRIP_ID = 'trip_id' -TOUR_LEG_ID = 'tour_leg_id' -PATTERN_ID = 'pattern_id' -TRIP_DURATION = 'trip_duration' -STOP_TIME_DURATION = 'stop_time_duration' -TRIP_NUM = 'trip_num' -TRIP_COUNT = 'trip_count' -OUTBOUND = 'outbound' +TOUR_ID = "tour_id" +TRIP_ID = "trip_id" +TOUR_LEG_ID = "tour_leg_id" +PATTERN_ID = "pattern_id" +TRIP_DURATION = "trip_duration" +STOP_TIME_DURATION = "stop_time_duration" +TRIP_NUM = "trip_num" +TRIP_COUNT = "trip_count" +OUTBOUND = "outbound" MAX_TOUR_ID = int(1e9) def generate_tour_leg_id(tour_leg_row): - return tour_leg_row.tour_id + (int(MAX_TOUR_ID) if tour_leg_row.outbound else int(2 * MAX_TOUR_ID)) + return tour_leg_row.tour_id + ( + int(MAX_TOUR_ID) if tour_leg_row.outbound else int(2 * MAX_TOUR_ID) + ) def get_tour_legs(trips): @@ -47,6 +49,7 @@ def get_tour_legs(trips): tour_legs = tour_legs.set_index(TOUR_LEG_ID) return tour_legs + # def trip_departure_rpc(chunk_size, choosers, trace_label): # # # NOTE we chunk chunk_id @@ -77,16 +80,21 @@ def generate_alternatives(trips, alternative_col_name): leg_alts = None durations = np.where(legs[OUTBOUND], legs[OB_DURATION], legs[IB_DURATION]) if len(durations) > 0: - leg_alts = pd.Series(np.concatenate([np.arange(0, duration + 1) for duration in durations]), - np.repeat(legs.index, durations + 1), - name=alternative_col_name).to_frame() + leg_alts = pd.Series( + np.concatenate([np.arange(0, duration + 1) for duration in durations]), + np.repeat(legs.index, durations + 1), + name=alternative_col_name, + ).to_frame() single_trips = trips[trips[TRIP_COUNT] == 1] single_alts = None - durations = np.where(single_trips[OUTBOUND], single_trips[OB_DURATION], single_trips[IB_DURATION]) + durations = np.where( + single_trips[OUTBOUND], single_trips[OB_DURATION], single_trips[IB_DURATION] + ) if len(durations) > 0: - single_alts = pd.Series(durations, single_trips.index, - name=alternative_col_name).to_frame() + single_alts = pd.Series( + durations, single_trips.index, name=alternative_col_name + ).to_frame() if not legs.empty and not single_trips.empty: return pd.concat([leg_alts, single_alts]) @@ -107,15 +115,20 @@ def build_patterns(trips, time_windows): pattern_sizes = [] for duration, trip_count in duration_and_counts: - possible_windows = time_windows[:trip_count-1, np.where(time_windows[:trip_count-1].sum(axis=0) == duration)[0]] + possible_windows = time_windows[ + : trip_count - 1, + np.where(time_windows[: trip_count - 1].sum(axis=0) == duration)[0], + ] possible_windows = np.unique(possible_windows, axis=1).transpose() filler = np.full((possible_windows.shape[0], max_trip_count), np.nan) - filler[:possible_windows.shape[0], :possible_windows.shape[1]] = possible_windows + filler[ + : possible_windows.shape[0], : possible_windows.shape[1] + ] = possible_windows patterns.append(filler) pattern_sizes.append(filler.shape[0]) patterns = np.concatenate(patterns) - pattern_names = ['_'.join('%0.0f' % x for x in y[~np.isnan(y)]) for y in patterns] + pattern_names = ["_".join("%0.0f" % x for x in y[~np.isnan(y)]) for y in patterns] indexes = np.repeat(tours.index, pattern_sizes) # If we've done everything right, the indexes @@ -127,15 +140,22 @@ def build_patterns(trips, time_windows): patterns.index.name = tours.index.name patterns[PATTERN_ID] = pattern_names - patterns = patterns.melt(id_vars=PATTERN_ID, value_name=STOP_TIME_DURATION, - var_name=TRIP_NUM, ignore_index=False).reset_index() + patterns = patterns.melt( + id_vars=PATTERN_ID, + value_name=STOP_TIME_DURATION, + var_name=TRIP_NUM, + ignore_index=False, + ).reset_index() patterns = patterns[~patterns[STOP_TIME_DURATION].isnull()].copy() patterns[TRIP_NUM] = patterns[TRIP_NUM] + 1 patterns[STOP_TIME_DURATION] = patterns[STOP_TIME_DURATION].astype(int) - patterns = pd.merge(patterns, trips.reset_index()[[TOUR_ID, TRIP_ID, TRIP_NUM, OUTBOUND]], - on=[TOUR_ID, TRIP_NUM]) + patterns = pd.merge( + patterns, + trips.reset_index()[[TOUR_ID, TRIP_ID, TRIP_NUM, OUTBOUND]], + on=[TOUR_ID, TRIP_NUM], + ) patterns.index = patterns.apply(generate_tour_leg_id, axis=1) patterns.index.name = TOUR_LEG_ID @@ -154,19 +174,22 @@ def get_spec_for_segment(omnibus_spec, segment): return spec -def choose_tour_leg_pattern(trip_segment, - patterns, spec, - trace_label='trace_label'): +def choose_tour_leg_pattern(trip_segment, patterns, spec, trace_label="trace_label"): alternatives = generate_alternatives(trip_segment, STOP_TIME_DURATION).sort_index() have_trace_targets = tracing.has_trace_targets(trip_segment) if have_trace_targets: - tracing.trace_df(trip_segment, tracing.extend_trace_label(trace_label, 'choosers')) - tracing.trace_df(alternatives, tracing.extend_trace_label(trace_label, 'alternatives'), - transpose=False) + tracing.trace_df( + trip_segment, tracing.extend_trace_label(trace_label, "choosers") + ) + tracing.trace_df( + alternatives, + tracing.extend_trace_label(trace_label, "alternatives"), + transpose=False, + ) if len(spec.columns) > 1: - raise RuntimeError('spec must have only one column') + raise RuntimeError("spec must have only one column") # - join choosers and alts # in vanilla interaction_simulate interaction_df is cross join of choosers and alternatives @@ -176,49 +199,68 @@ def choose_tour_leg_pattern(trip_segment, # so we just need to left join alternatives with choosers assert alternatives.index.name == trip_segment.index.name - interaction_df = alternatives.join(trip_segment, how='left', rsuffix='_chooser') + interaction_df = alternatives.join(trip_segment, how="left", rsuffix="_chooser") - chunk.log_df(trace_label, 'interaction_df', interaction_df) + chunk.log_df(trace_label, "interaction_df", interaction_df) if have_trace_targets: - trace_rows, trace_ids = tracing.interaction_trace_rows(interaction_df, trip_segment) - - tracing.trace_df(interaction_df, - tracing.extend_trace_label(trace_label, 'interaction_df'), - transpose=False) + trace_rows, trace_ids = tracing.interaction_trace_rows( + interaction_df, trip_segment + ) + + tracing.trace_df( + interaction_df, + tracing.extend_trace_label(trace_label, "interaction_df"), + transpose=False, + ) else: trace_rows = trace_ids = None - interaction_utilities, trace_eval_results \ - = interaction_simulate.eval_interaction_utilities(spec, interaction_df, None, trace_label, trace_rows, - estimator=None) - - interaction_utilities = pd.concat([interaction_df[STOP_TIME_DURATION], interaction_utilities], axis=1) - chunk.log_df(trace_label, 'interaction_utilities', interaction_utilities) - - interaction_utilities = pd.merge(interaction_utilities.reset_index(), - patterns[patterns[TRIP_ID].isin(interaction_utilities.index)], - on=[TRIP_ID, STOP_TIME_DURATION], how='left') + ( + interaction_utilities, + trace_eval_results, + ) = interaction_simulate.eval_interaction_utilities( + spec, interaction_df, None, trace_label, trace_rows, estimator=None + ) + + interaction_utilities = pd.concat( + [interaction_df[STOP_TIME_DURATION], interaction_utilities], axis=1 + ) + chunk.log_df(trace_label, "interaction_utilities", interaction_utilities) + + interaction_utilities = pd.merge( + interaction_utilities.reset_index(), + patterns[patterns[TRIP_ID].isin(interaction_utilities.index)], + on=[TRIP_ID, STOP_TIME_DURATION], + how="left", + ) if have_trace_targets: - tracing.trace_interaction_eval_results(trace_eval_results, trace_ids, - tracing.extend_trace_label(trace_label, 'eval')) - - tracing.trace_df(interaction_utilities, - tracing.extend_trace_label(trace_label, 'interaction_utilities'), - transpose=False) + tracing.trace_interaction_eval_results( + trace_eval_results, + trace_ids, + tracing.extend_trace_label(trace_label, "eval"), + ) + + tracing.trace_df( + interaction_utilities, + tracing.extend_trace_label(trace_label, "interaction_utilities"), + transpose=False, + ) del interaction_df - chunk.log_df(trace_label, 'interaction_df', None) + chunk.log_df(trace_label, "interaction_df", None) - interaction_utilities = interaction_utilities.groupby([TOUR_ID, OUTBOUND, PATTERN_ID], - as_index=False)[['utility']].sum() + interaction_utilities = interaction_utilities.groupby( + [TOUR_ID, OUTBOUND, PATTERN_ID], as_index=False + )[["utility"]].sum() - interaction_utilities[TOUR_LEG_ID] = \ - interaction_utilities.apply(generate_tour_leg_id, axis=1) + interaction_utilities[TOUR_LEG_ID] = interaction_utilities.apply( + generate_tour_leg_id, axis=1 + ) tour_choosers = interaction_utilities.set_index(TOUR_LEG_ID) - interaction_utilities = tour_choosers[['utility']].copy() + interaction_utilities = tour_choosers[["utility"]].copy() # reshape utilities (one utility column and one row per row in model_design) # to a dataframe with one row per chooser and one column per alternative @@ -226,8 +268,10 @@ def choose_tour_leg_pattern(trip_segment, # so we need to pad with dummy utilities so low that they are never chosen # number of samples per chooser - sample_counts = interaction_utilities.groupby(interaction_utilities.index).size().values - chunk.log_df(trace_label, 'sample_counts', sample_counts) + sample_counts = ( + interaction_utilities.groupby(interaction_utilities.index).size().values + ) + chunk.log_df(trace_label, "sample_counts", sample_counts) # max number of alternatvies for any chooser max_sample_count = sample_counts.max() @@ -242,57 +286,63 @@ def choose_tour_leg_pattern(trip_segment, inserts = np.repeat(last_row_offsets, max_sample_count - sample_counts) del sample_counts - chunk.log_df(trace_label, 'sample_counts', None) + chunk.log_df(trace_label, "sample_counts", None) # insert the zero-prob utilities to pad each alternative set to same size padded_utilities = np.insert(interaction_utilities.utility.values, inserts, -999) del inserts del interaction_utilities - chunk.log_df(trace_label, 'interaction_utilities', None) + chunk.log_df(trace_label, "interaction_utilities", None) # reshape to array with one row per chooser, one column per alternative padded_utilities = padded_utilities.reshape(-1, max_sample_count) - chunk.log_df(trace_label, 'padded_utilities', padded_utilities) + chunk.log_df(trace_label, "padded_utilities", padded_utilities) # convert to a dataframe with one row per chooser and one column per alternative - utilities_df = pd.DataFrame( - padded_utilities, - index=tour_choosers.index.unique()) - chunk.log_df(trace_label, 'utilities_df', utilities_df) + utilities_df = pd.DataFrame(padded_utilities, index=tour_choosers.index.unique()) + chunk.log_df(trace_label, "utilities_df", utilities_df) del padded_utilities - chunk.log_df(trace_label, 'padded_utilities', None) + chunk.log_df(trace_label, "padded_utilities", None) if have_trace_targets: - tracing.trace_df(utilities_df, tracing.extend_trace_label(trace_label, 'utilities'), - column_labels=['alternative', 'utility']) + tracing.trace_df( + utilities_df, + tracing.extend_trace_label(trace_label, "utilities"), + column_labels=["alternative", "utility"], + ) # convert to probabilities (utilities exponentiated and normalized to probs) # probs is same shape as utilities, one row per chooser and one column for alternative - probs = logit.utils_to_probs(utilities_df, - trace_label=trace_label, trace_choosers=trip_segment) + probs = logit.utils_to_probs( + utilities_df, trace_label=trace_label, trace_choosers=trip_segment + ) - chunk.log_df(trace_label, 'probs', probs) + chunk.log_df(trace_label, "probs", probs) del utilities_df - chunk.log_df(trace_label, 'utilities_df', None) + chunk.log_df(trace_label, "utilities_df", None) if have_trace_targets: - tracing.trace_df(probs, tracing.extend_trace_label(trace_label, 'probs'), - column_labels=['alternative', 'probability']) + tracing.trace_df( + probs, + tracing.extend_trace_label(trace_label, "probs"), + column_labels=["alternative", "probability"], + ) # make choices # positions is series with the chosen alternative represented as a column index in probs # which is an integer between zero and num alternatives in the alternative sample - positions, rands = \ - logit.make_choices(probs, trace_label=trace_label, trace_choosers=trip_segment) + positions, rands = logit.make_choices( + probs, trace_label=trace_label, trace_choosers=trip_segment + ) - chunk.log_df(trace_label, 'positions', positions) - chunk.log_df(trace_label, 'rands', rands) + chunk.log_df(trace_label, "positions", positions) + chunk.log_df(trace_label, "rands", rands) del probs - chunk.log_df(trace_label, 'probs', None) + chunk.log_df(trace_label, "probs", None) # shouldn't have chosen any of the dummy pad utilities assert positions.max() < max_sample_count @@ -304,13 +354,19 @@ def choose_tour_leg_pattern(trip_segment, # resulting pandas Int64Index has one element per chooser row and is in same order as choosers choices = tour_choosers[PATTERN_ID].take(positions + first_row_offsets) - chunk.log_df(trace_label, 'choices', choices) + chunk.log_df(trace_label, "choices", choices) if have_trace_targets: - tracing.trace_df(choices, tracing.extend_trace_label(trace_label, 'choices'), - columns=[None, PATTERN_ID]) - tracing.trace_df(rands, tracing.extend_trace_label(trace_label, 'rands'), - columns=[None, 'rand']) + tracing.trace_df( + choices, + tracing.extend_trace_label(trace_label, "choices"), + columns=[None, PATTERN_ID], + ) + tracing.trace_df( + rands, + tracing.extend_trace_label(trace_label, "rands"), + columns=[None, "rand"], + ) return choices @@ -321,116 +377,142 @@ def apply_stage_two_model(omnibus_spec, trips, chunk_size, trace_label): trips = trips.sort_index() # Assign the duration of the appropriate leg to the trip - trips[TRIP_DURATION] = np.where(trips[OUTBOUND], trips[OB_DURATION], trips[IB_DURATION]) + trips[TRIP_DURATION] = np.where( + trips[OUTBOUND], trips[OB_DURATION], trips[IB_DURATION] + ) - trips['depart'] = -1 + trips["depart"] = -1 # If this is the first outbound trip, the choice is easy, assign the depart time # to equal the tour start time. - trips.loc[(trips['trip_num'] == 1) & (trips[OUTBOUND]), 'depart'] = trips['start'] + trips.loc[(trips["trip_num"] == 1) & (trips[OUTBOUND]), "depart"] = trips["start"] # If its the first return leg, it is easy too. Just assign the trip start time to the # end time minus the IB duration - trips.loc[(trips['trip_num'] == 1) & (~trips[OUTBOUND]), 'depart'] = trips['end'] - trips[IB_DURATION] + trips.loc[(trips["trip_num"] == 1) & (~trips[OUTBOUND]), "depart"] = ( + trips["end"] - trips[IB_DURATION] + ) # The last leg of the outbound tour needs to begin at the start plus OB duration - trips.loc[(trips['trip_count'] == trips['trip_num']) & (trips[OUTBOUND]), 'depart'] = \ - trips['start'] + trips[OB_DURATION] + trips.loc[ + (trips["trip_count"] == trips["trip_num"]) & (trips[OUTBOUND]), "depart" + ] = (trips["start"] + trips[OB_DURATION]) # The last leg of the inbound tour needs to begin at the end time of the tour - trips.loc[(trips['trip_count'] == trips['trip_num']) & (~trips[OUTBOUND]), 'depart'] = \ - trips['end'] + trips.loc[ + (trips["trip_count"] == trips["trip_num"]) & (~trips[OUTBOUND]), "depart" + ] = trips["end"] # Slice off the remaining trips with an intermediate stops to deal with. # Hopefully, with the tricks above we've sliced off a lot of choices. # This slice should only include trip numbers greater than 2 since the - side_trips = trips[(trips['trip_num'] != 1) & (trips['trip_count'] != trips['trip_num'])] + side_trips = trips[ + (trips["trip_num"] != 1) & (trips["trip_count"] != trips["trip_num"]) + ] # No processing needs to be done because we have simple trips / tours if side_trips.empty: - assert trips['depart'].notnull().all - return trips['depart'].astype(int) + assert trips["depart"].notnull().all + return trips["depart"].astype(int) # Get the potential time windows - time_windows = get_time_windows(side_trips[TRIP_DURATION].max(), side_trips[TRIP_COUNT].max() - 1) + time_windows = get_time_windows( + side_trips[TRIP_DURATION].max(), side_trips[TRIP_COUNT].max() - 1 + ) trip_list = [] - for i, chooser_chunk, chunk_trace_label in \ - chunk.adaptive_chunked_choosers_by_chunk_id(side_trips, chunk_size, trace_label): + for ( + i, + chooser_chunk, + chunk_trace_label, + ) in chunk.adaptive_chunked_choosers_by_chunk_id( + side_trips, chunk_size, trace_label + ): for is_outbound, trip_segment in chooser_chunk.groupby(OUTBOUND): - direction = OUTBOUND if is_outbound else 'inbound' + direction = OUTBOUND if is_outbound else "inbound" spec = get_spec_for_segment(omnibus_spec, direction) - segment_trace_label = '{}_{}'.format(direction, chunk_trace_label) + segment_trace_label = "{}_{}".format(direction, chunk_trace_label) patterns = build_patterns(trip_segment, time_windows) - choices = choose_tour_leg_pattern(trip_segment, - patterns, spec, trace_label=segment_trace_label) + choices = choose_tour_leg_pattern( + trip_segment, patterns, spec, trace_label=segment_trace_label + ) - choices = pd.merge(choices.reset_index(), patterns.reset_index(), - on=[TOUR_LEG_ID, PATTERN_ID], how='left') + choices = pd.merge( + choices.reset_index(), + patterns.reset_index(), + on=[TOUR_LEG_ID, PATTERN_ID], + how="left", + ) - choices = choices[['trip_id', 'stop_time_duration']].copy() + choices = choices[["trip_id", "stop_time_duration"]].copy() trip_list.append(choices) - trip_list = pd.concat(trip_list, sort=True).set_index('trip_id') - trips['stop_time_duration'] = 0 + trip_list = pd.concat(trip_list, sort=True).set_index("trip_id") + trips["stop_time_duration"] = 0 trips.update(trip_list) - trips.loc[trips['trip_num'] == 1, 'stop_time_duration'] = trips['depart'] - trips.sort_values(['tour_id', 'outbound', 'trip_num']) - trips['stop_time_duration'] = trips.groupby(['tour_id', 'outbound'])['stop_time_duration'].cumsum() - trips.loc[trips['trip_num'] != trips['trip_count'], 'depart'] = trips['stop_time_duration'] - return trips['depart'].astype(int) + trips.loc[trips["trip_num"] == 1, "stop_time_duration"] = trips["depart"] + trips.sort_values(["tour_id", "outbound", "trip_num"]) + trips["stop_time_duration"] = trips.groupby(["tour_id", "outbound"])[ + "stop_time_duration" + ].cumsum() + trips.loc[trips["trip_num"] != trips["trip_count"], "depart"] = trips[ + "stop_time_duration" + ] + return trips["depart"].astype(int) @inject.step() -def trip_departure_choice( - trips, - trips_merged, - skim_dict, - chunk_size, - trace_hh_id): +def trip_departure_choice(trips, trips_merged, skim_dict, chunk_size, trace_hh_id): - trace_label = 'trip_departure_choice' - model_settings = config.read_model_settings('trip_departure_choice.yaml') + trace_label = "trip_departure_choice" + model_settings = config.read_model_settings("trip_departure_choice.yaml") - spec = simulate.read_model_spec(file_name=model_settings['SPECIFICATION']) + spec = simulate.read_model_spec(file_name=model_settings["SPECIFICATION"]) trips_merged_df = trips_merged.to_frame() # add tour-based chunk_id so we can chunk all trips in tour together tour_ids = trips_merged[TOUR_ID].unique() - trips_merged_df['chunk_id'] = reindex(pd.Series(list(range(len(tour_ids))), tour_ids), trips_merged_df.tour_id) + trips_merged_df["chunk_id"] = reindex( + pd.Series(list(range(len(tour_ids))), tour_ids), trips_merged_df.tour_id + ) max_tour_id = trips_merged[TOUR_ID].max() - trip_departure_choice.MAX_TOUR_ID = int(np.power(10, np.ceil(np.log10(max_tour_id)))) + trip_departure_choice.MAX_TOUR_ID = int( + np.power(10, np.ceil(np.log10(max_tour_id))) + ) locals_d = config.get_model_constants(model_settings).copy() - preprocessor_settings = model_settings.get('PREPROCESSOR', None) + preprocessor_settings = model_settings.get("PREPROCESSOR", None) tour_legs = get_tour_legs(trips_merged_df) - pipeline.get_rn_generator().add_channel('tour_legs', tour_legs) + pipeline.get_rn_generator().add_channel("tour_legs", tour_legs) if preprocessor_settings: - od_skim = skim_dict.wrap('origin', 'destination') - do_skim = skim_dict.wrap('destination', 'origin') + od_skim = skim_dict.wrap("origin", "destination") + do_skim = skim_dict.wrap("destination", "origin") skims = [od_skim, do_skim] simulate.set_skim_wrapper_targets(trips_merged_df, skims) - locals_d.update({ - "od_skims": od_skim, - "do_skims": do_skim, - }) + locals_d.update( + { + "od_skims": od_skim, + "do_skims": do_skim, + } + ) expressions.assign_columns( df=trips_merged_df, model_settings=preprocessor_settings, locals_dict=locals_d, - trace_label=trace_label) + trace_label=trace_label, + ) choices = apply_stage_two_model(spec, trips_merged_df, chunk_size, trace_label) @@ -438,6 +520,6 @@ def trip_departure_choice( trip_length = len(trips_df) trips_df = pd.concat([trips_df, choices], axis=1) assert len(trips_df) == trip_length - assert trips_df[trips_df['depart'].isnull()].empty + assert trips_df[trips_df["depart"].isnull()].empty pipeline.replace_table("trips", trips_df) diff --git a/activitysim/abm/models/trip_destination.py b/activitysim/abm/models/trip_destination.py index 70d37d4055..e78f0ed57f 100644 --- a/activitysim/abm/models/trip_destination.py +++ b/activitysim/abm/models/trip_destination.py @@ -1,64 +1,60 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - import logging +from builtins import range import numpy as np import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import chunk -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import los -from activitysim.core import assign -from activitysim.core import expressions - -from activitysim.core.tracing import print_elapsed_time - -from activitysim.core.util import reindex -from activitysim.core.util import assign_in_place - -from activitysim.core.pathbuilder import TransitVirtualPathBuilder - +from activitysim.abm.models.util.trip import ( + cleanup_failed_trips, + flag_failed_trip_leg_mates, +) from activitysim.abm.tables.size_terms import tour_destination_size_terms - -from activitysim.core.skim_dictionary import DataFrameMatrix - -from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.core import ( + assign, + chunk, + config, + expressions, + inject, + los, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_sample import interaction_sample +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.core.pathbuilder import TransitVirtualPathBuilder +from activitysim.core.skim_dictionary import DataFrameMatrix +from activitysim.core.tracing import print_elapsed_time +from activitysim.core.util import assign_in_place, reindex +from .util.school_escort_tours_trips import split_out_school_escorting_trips from .util import estimation -from activitysim.abm.models.util.trip import cleanup_failed_trips -from activitysim.abm.models.util.trip import flag_failed_trip_leg_mates - - logger = logging.getLogger(__name__) NO_DESTINATION = -1 # TRIP_ORIG_TAZ = 'TAZ' -ALT_DEST_TAZ = 'ALT_DEST_TAZ' +ALT_DEST_TAZ = "ALT_DEST_TAZ" # PRIMARY_DEST_TAZ = 'PRIMARY_DEST_TAZ' # DEST_MAZ = 'dest_maz' def _destination_sample( - primary_purpose, - trips, - alternatives, - model_settings, - size_term_matrix, - skims, - alt_dest_col_name, - estimator, - chunk_size, - chunk_tag, - trace_label): + primary_purpose, + trips, + alternatives, + model_settings, + size_term_matrix, + skims, + alt_dest_col_name, + estimator, + chunk_size, + chunk_tag, + trace_label, +): """ Note: trips with no viable destination receive no sample rows @@ -75,13 +71,22 @@ def _destination_sample( 102829169 3193 0.002628 1 """ - spec = simulate.spec_for_segment(model_settings, spec_id='DESTINATION_SAMPLE_SPEC', - segment_name=primary_purpose, estimator=estimator) + spec = simulate.spec_for_segment( + model_settings, + spec_id="DESTINATION_SAMPLE_SPEC", + segment_name=primary_purpose, + estimator=estimator, + ) - sample_size = model_settings['SAMPLE_SIZE'] - if config.setting('disable_destination_sampling', False) or (estimator and estimator.want_unsampled_alternatives): + sample_size = model_settings["SAMPLE_SIZE"] + if config.setting("disable_destination_sampling", False) or ( + estimator and estimator.want_unsampled_alternatives + ): # FIXME interaction_sample will return unsampled complete alternatives with probs and pick_count - logger.info("Estimation mode for %s using unsampled alternatives short_circuit_choices" % (trace_label,)) + logger.info( + "Estimation mode for %s using unsampled alternatives short_circuit_choices" + % (trace_label,) + ) sample_size = 0 locals_dict = config.get_model_constants(model_settings).copy() @@ -91,12 +96,10 @@ def _destination_sample( # cannot be determined until after choosers are joined with alternatives # (unless we iterate over trip.purpose - which we could, though we are already iterating over trip_num) # so, instead, expressions determine row-specific size_term by a call to: size_terms.get(df.alt_dest, df.purpose) - locals_dict.update({ - 'size_terms': size_term_matrix - }) + locals_dict.update({"size_terms": size_term_matrix}) locals_dict.update(skims) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample( choosers=trips, @@ -108,28 +111,30 @@ def _destination_sample( spec=spec, skims=skims, locals_d=locals_dict, - chunk_size=chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label - ) + chunk_size=chunk_size, + chunk_tag=chunk_tag, + trace_label=trace_label, + ) return choices def destination_sample( - primary_purpose, - trips, - alternatives, - model_settings, - size_term_matrix, - skim_hotel, - estimator, - chunk_size, - trace_label): - - chunk_tag = 'trip_destination.sample' + primary_purpose, + trips, + alternatives, + model_settings, + size_term_matrix, + skim_hotel, + estimator, + chunk_size, + trace_label, +): + + chunk_tag = "trip_destination.sample" skims = skim_hotel.sample_skims(presample=False) - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] choices = _destination_sample( primary_purpose, @@ -142,7 +147,8 @@ def destination_sample( estimator, chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) return choices @@ -160,7 +166,9 @@ def aggregate_size_term_matrix(maz_size_term_matrix, maz_taz): return taz_size_term_matrix -def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_col_name, trace_label): +def choose_MAZ_for_TAZ( + taz_sample, MAZ_size_terms, trips, network_los, alt_dest_col_name, trace_label +): """ Convert taz_sample table with TAZ zone sample choices to a table with a MAZ zone chosen for each TAZ choose MAZ probabilistically (proportionally by size_term) from set of MAZ zones in parent TAZ @@ -190,13 +198,15 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ trace_hh_id = inject.get_injectable("trace_hh_id", None) have_trace_targets = trace_hh_id and tracing.has_trace_targets(taz_sample) if have_trace_targets: - trace_label = tracing.extend_trace_label(trace_label, 'choose_MAZ_for_TAZ') + trace_label = tracing.extend_trace_label(trace_label, "choose_MAZ_for_TAZ") # write taz choices, pick_counts, probs trace_targets = tracing.trace_targets(taz_sample) - tracing.trace_df(taz_sample[trace_targets], - label=tracing.extend_trace_label(trace_label, 'taz_sample'), - transpose=False) + tracing.trace_df( + taz_sample[trace_targets], + label=tracing.extend_trace_label(trace_label, "taz_sample"), + transpose=False, + ) # print(f"taz_sample\n{taz_sample}") # alt_dest_TAZ prob pick_count @@ -204,9 +214,11 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ # 4343721 12 0.000054 1 # 4343721 20 0.001864 2 - taz_choices = taz_sample[[DEST_TAZ, 'prob']].reset_index(drop=False) - taz_choices = taz_choices.reindex(taz_choices.index.repeat(taz_sample.pick_count)).reset_index(drop=True) - taz_choices = taz_choices.rename(columns={'prob': 'TAZ_prob'}) + taz_choices = taz_sample[[DEST_TAZ, "prob"]].reset_index(drop=False) + taz_choices = taz_choices.reindex( + taz_choices.index.repeat(taz_sample.pick_count) + ).reset_index(drop=True) + taz_choices = taz_choices.rename(columns={"prob": "TAZ_prob"}) # print(f"taz_choices\n{taz_choices}") # trip_id alt_dest_TAZ prob @@ -222,7 +234,9 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ # 4 0.0 1.879 0.023 0.000 0.023 0.023 5.796 0.023 # just to make it clear we are siloing choices by chooser_id - chooser_id_col = taz_sample.index.name # should be canonical chooser index name (e.g. 'trip_id') + chooser_id_col = ( + taz_sample.index.name + ) # should be canonical chooser index name (e.g. 'trip_id') # for random_for_df, we need df with de-duplicated chooser canonical index chooser_df = pd.DataFrame(index=taz_sample.index[~taz_sample.index.duplicated()]) @@ -234,20 +248,27 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ taz_sample_size = taz_choices.groupby(chooser_id_col)[DEST_TAZ].count().max() # taz_choices index values should be contiguous - assert (taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size)).all() + assert ( + taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size) + ).all() # we need to choose a MAZ for each DEST_TAZ choice # probability of choosing MAZ based on MAZ size_term fraction of TAZ total # there will be a different set (and number) of candidate MAZs for each TAZ # (preserve index, which will have duplicates as result of join) - maz_taz = network_los.maz_taz_df[['MAZ', 'TAZ']].rename(columns={'TAZ': DEST_TAZ, 'MAZ': DEST_MAZ}) - maz_sizes = pd.merge(taz_choices[[chooser_id_col, DEST_TAZ]].reset_index(), - maz_taz, - how='left', on=DEST_TAZ).set_index('index') + maz_taz = network_los.maz_taz_df[["MAZ", "TAZ"]].rename( + columns={"TAZ": DEST_TAZ, "MAZ": DEST_MAZ} + ) + maz_sizes = pd.merge( + taz_choices[[chooser_id_col, DEST_TAZ]].reset_index(), + maz_taz, + how="left", + on=DEST_TAZ, + ).set_index("index") - purpose = maz_sizes['trip_id'].map(trips.purpose) # size term varies by purpose - maz_sizes['size_term'] = MAZ_size_terms.get(maz_sizes[DEST_MAZ], purpose) + purpose = maz_sizes["trip_id"].map(trips.purpose) # size term varies by purpose + maz_sizes["size_term"] = MAZ_size_terms.get(maz_sizes[DEST_MAZ], purpose) # print(f"maz_sizes\n{maz_sizes}") # trip_id alt_dest_TAZ alt_dest size_term @@ -258,11 +279,13 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ if have_trace_targets: # write maz_sizes: maz_sizes[index,trip_id,dest_TAZ,zone_id,size_term] - maz_sizes_trace_targets = tracing.trace_targets(maz_sizes, slicer='trip_id') + maz_sizes_trace_targets = tracing.trace_targets(maz_sizes, slicer="trip_id") trace_maz_sizes = maz_sizes[maz_sizes_trace_targets] - tracing.trace_df(trace_maz_sizes, - label=tracing.extend_trace_label(trace_label, 'maz_sizes'), - transpose=False) + tracing.trace_df( + trace_maz_sizes, + label=tracing.extend_trace_label(trace_label, "maz_sizes"), + transpose=False, + ) # number of DEST_TAZ candidates per chooser maz_counts = maz_sizes.groupby(maz_sizes.index).size().values @@ -290,7 +313,11 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ maz_probs = np.divide(padded_maz_sizes, row_sums.reshape(-1, 1)) assert maz_probs.shape == (num_choosers * taz_sample_size, max_maz_count) - rands = pipeline.get_rn_generator().random_for_df(chooser_df, n=taz_sample_size).reshape(-1, 1) + rands = ( + pipeline.get_rn_generator() + .random_for_df(chooser_df, n=taz_sample_size) + .reshape(-1, 1) + ) assert len(rands) == num_choosers * taz_sample_size assert len(rands) == maz_probs.shape[0] @@ -303,49 +330,79 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ assert (positions < maz_counts).all() taz_choices[DEST_MAZ] = maz_sizes[DEST_MAZ].take(positions + first_row_offsets) - taz_choices['MAZ_prob'] = maz_probs[np.arange(maz_probs.shape[0]), positions] - taz_choices['prob'] = taz_choices['TAZ_prob'] * taz_choices['MAZ_prob'] + taz_choices["MAZ_prob"] = maz_probs[np.arange(maz_probs.shape[0]), positions] + taz_choices["prob"] = taz_choices["TAZ_prob"] * taz_choices["MAZ_prob"] if have_trace_targets: - taz_choices_trace_targets = tracing.trace_targets(taz_choices, slicer='trip_id') + taz_choices_trace_targets = tracing.trace_targets(taz_choices, slicer="trip_id") trace_taz_choices_df = taz_choices[taz_choices_trace_targets] - tracing.trace_df(trace_taz_choices_df, - label=tracing.extend_trace_label(trace_label, 'taz_choices'), - transpose=False) + tracing.trace_df( + trace_taz_choices_df, + label=tracing.extend_trace_label(trace_label, "taz_choices"), + transpose=False, + ) - lhs_df = trace_taz_choices_df[['trip_id', DEST_TAZ]] - alt_dest_columns = [f'dest_maz_{c}' for c in range(max_maz_count)] + lhs_df = trace_taz_choices_df[["trip_id", DEST_TAZ]] + alt_dest_columns = [f"dest_maz_{c}" for c in range(max_maz_count)] # following the same logic as the full code, but for trace cutout trace_maz_counts = maz_counts[taz_choices_trace_targets] trace_last_row_offsets = maz_counts[taz_choices_trace_targets].cumsum() - trace_inserts = np.repeat(trace_last_row_offsets, max_maz_count - trace_maz_counts) + trace_inserts = np.repeat( + trace_last_row_offsets, max_maz_count - trace_maz_counts + ) # trace dest_maz_alts - padded_maz_sizes = np.insert(trace_maz_sizes[DEST_MAZ].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes[DEST_MAZ].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_alts'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_alts"), + transpose=False, + ) # trace dest_maz_size_terms - padded_maz_sizes = np.insert(trace_maz_sizes['size_term'].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes["size_term"].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_size_terms'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_size_terms"), + transpose=False, + ) # trace dest_maz_probs - df = pd.DataFrame(data=maz_probs[taz_choices_trace_targets], - columns=alt_dest_columns, index=trace_taz_choices_df.index) + df = pd.DataFrame( + data=maz_probs[taz_choices_trace_targets], + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - df['rand'] = rands[taz_choices_trace_targets] - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_probs'), transpose=False) + df["rand"] = rands[taz_choices_trace_targets] + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_probs"), + transpose=False, + ) - taz_choices = taz_choices.drop(columns=['TAZ_prob', 'MAZ_prob']) - taz_choices = taz_choices.groupby([chooser_id_col, DEST_MAZ]).agg(prob=('prob', 'max'), - pick_count=('prob', 'count')) + taz_choices = taz_choices.drop(columns=["TAZ_prob", "MAZ_prob"]) + taz_choices = taz_choices.groupby([chooser_id_col, DEST_MAZ]).agg( + prob=("prob", "max"), pick_count=("prob", "count") + ) taz_choices.reset_index(level=DEST_MAZ, inplace=True) @@ -353,27 +410,29 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trips, network_los, alt_dest_ def destination_presample( - primary_purpose, - trips, - alternatives, - model_settings, - size_term_matrix, - skim_hotel, - network_los, - estimator, - chunk_size, trace_hh_id, - trace_label): - - trace_label = tracing.extend_trace_label(trace_label, 'presample') - chunk_tag = 'trip_destination.presample' # distinguish from trip_destination.sample - - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - maz_taz = network_los.maz_taz_df[['MAZ', 'TAZ']].set_index('MAZ').TAZ + primary_purpose, + trips, + alternatives, + model_settings, + size_term_matrix, + skim_hotel, + network_los, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): + + trace_label = tracing.extend_trace_label(trace_label, "presample") + chunk_tag = "trip_destination.presample" # distinguish from trip_destination.sample + + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] + maz_taz = network_los.maz_taz_df[["MAZ", "TAZ"]].set_index("MAZ").TAZ TAZ_size_term_matrix = aggregate_size_term_matrix(size_term_matrix, maz_taz) - TRIP_ORIGIN = model_settings['TRIP_ORIGIN'] - PRIMARY_DEST = model_settings['PRIMARY_DEST'] + TRIP_ORIGIN = model_settings["TRIP_ORIGIN"] + PRIMARY_DEST = model_settings["PRIMARY_DEST"] trips_taz = trips.copy() trips_taz[TRIP_ORIGIN] = trips_taz[TRIP_ORIGIN].map(maz_taz) @@ -400,10 +459,13 @@ def destination_presample( estimator, chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) # choose a MAZ for each DEST_TAZ choice, choice probability based on MAZ size_term fraction of TAZ total - maz_sample = choose_MAZ_for_TAZ(taz_sample, size_term_matrix, trips, network_los, alt_dest_col_name, trace_label) + maz_sample = choose_MAZ_for_TAZ( + taz_sample, size_term_matrix, trips, network_los, alt_dest_col_name, trace_label + ) assert alt_dest_col_name in maz_sample @@ -411,15 +473,17 @@ def destination_presample( def trip_destination_sample( - primary_purpose, - trips, - alternatives, - model_settings, - size_term_matrix, - skim_hotel, - estimator, - chunk_size, trace_hh_id, - trace_label): + primary_purpose, + trips, + alternatives, + model_settings, + size_term_matrix, + skim_hotel, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): """ Returns @@ -436,22 +500,27 @@ def trip_destination_sample( pick_count : int number of duplicate picks for chooser, alt """ - trace_label = tracing.extend_trace_label(trace_label, 'sample') + trace_label = tracing.extend_trace_label(trace_label, "sample") assert len(trips) > 0 assert len(alternatives) > 0 # by default, enable presampling for multizone systems, unless they disable it in settings file - network_los = inject.get_injectable('network_los') + network_los = inject.get_injectable("network_los") pre_sample_taz = network_los.zone_system != los.ONE_ZONE - if pre_sample_taz and not config.setting('want_dest_choice_presampling', True): + if pre_sample_taz and not config.setting("want_dest_choice_presampling", True): pre_sample_taz = False - logger.info(f"Disabled destination zone presampling for {trace_label} " - f"because 'want_dest_choice_presampling' setting is False") + logger.info( + f"Disabled destination zone presampling for {trace_label} " + f"because 'want_dest_choice_presampling' setting is False" + ) if pre_sample_taz: - logger.info("Running %s trip_destination_presample with %d trips" % (trace_label, len(trips))) + logger.info( + "Running %s trip_destination_presample with %d trips" + % (trace_label, len(trips)) + ) choices = destination_presample( primary_purpose, @@ -462,8 +531,10 @@ def trip_destination_sample( skim_hotel, network_los, estimator, - chunk_size, trace_hh_id, - trace_label) + chunk_size, + trace_hh_id, + trace_label, + ) else: choices = destination_sample( @@ -475,20 +546,23 @@ def trip_destination_sample( skim_hotel, estimator, chunk_size, - trace_label) + trace_label, + ) return choices def compute_ood_logsums( - choosers, - logsum_settings, - nest_spec, logsum_spec, - od_skims, - locals_dict, - chunk_size, - trace_label, - chunk_tag): + choosers, + logsum_settings, + nest_spec, + logsum_spec, + od_skims, + locals_dict, + chunk_size, + trace_label, + chunk_tag, +): """ Compute one (of two) out-of-direction logsums for destination alternatives @@ -502,12 +576,12 @@ def compute_ood_logsums( # causing pathbuilder to throw an error at L815 due to the assert statement # in `chunk.chunk_log()` at chunk.py L927. To avoid failing this assertion, # the preprocessor must be called from within a "null chunker" as follows: - with chunk.chunk_log(tracing.extend_trace_label( - trace_label, 'annotate_preprocessor'), base=True): + with chunk.chunk_log( + tracing.extend_trace_label(trace_label, "annotate_preprocessor"), base=True + ): expressions.annotate_preprocessors( - choosers, locals_dict, od_skims, - logsum_settings, - trace_label) + choosers, locals_dict, od_skims, logsum_settings, trace_label + ) logsums = simulate.simple_simulate_logsums( choosers, @@ -517,7 +591,8 @@ def compute_ood_logsums( locals_d=locals_dict, chunk_size=chunk_size, trace_label=trace_label, - chunk_tag=chunk_tag) + chunk_tag=chunk_tag, + ) assert logsums.index.equals(choosers.index) @@ -528,14 +603,15 @@ def compute_ood_logsums( def compute_logsums( - primary_purpose, - trips, - destination_sample, - tours_merged, - model_settings, - skim_hotel, - chunk_size, - trace_label): + primary_purpose, + trips, + destination_sample, + tours_merged, + model_settings, + skim_hotel, + chunk_size, + trace_label, +): """ Calculate mode choice logsums using the same recipe as for trip_mode_choice, but do it twice for each alternative since we need out-of-direction logsum @@ -545,41 +621,40 @@ def compute_logsums( ------- adds od_logsum and dp_logsum columns to trips (in place) """ - trace_label = tracing.extend_trace_label(trace_label, 'compute_logsums') + trace_label = tracing.extend_trace_label(trace_label, "compute_logsums") logger.info("Running %s with %d samples", trace_label, destination_sample.shape[0]) # chunk usage is uniform so better to combine - chunk_tag = 'trip_destination.compute_logsums' + chunk_tag = "trip_destination.compute_logsums" # FIXME should pass this in? - network_los = inject.get_injectable('network_los') + network_los = inject.get_injectable("network_los") # - trips_merged - merge trips and tours_merged trips_merged = pd.merge( - trips, - tours_merged, - left_on='tour_id', - right_index=True, - how="left") + trips, tours_merged, left_on="tour_id", right_index=True, how="left" + ) assert trips_merged.index.equals(trips.index) # - choosers - merge destination_sample and trips_merged # re/set index because pandas merge does not preserve left index if it has duplicate values! - choosers = pd.merge(destination_sample, - trips_merged.reset_index(), - left_index=True, - right_on='trip_id', - how="left", - suffixes=('', '_r')).set_index('trip_id') + choosers = pd.merge( + destination_sample, + trips_merged.reset_index(), + left_index=True, + right_on="trip_id", + how="left", + suffixes=("", "_r"), + ).set_index("trip_id") assert choosers.index.equals(destination_sample.index) - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) coefficients = simulate.get_segment_coefficients(logsum_settings, primary_purpose) nest_spec = config.get_logit_model_settings(logsum_settings) nest_spec = simulate.eval_nest_coefficients(nest_spec, coefficients, trace_label) - logsum_spec = simulate.read_model_spec(file_name=logsum_settings['SPEC']) + logsum_spec = simulate.read_model_spec(file_name=logsum_settings["SPEC"]) logsum_spec = simulate.eval_coefficients(logsum_spec, coefficients, estimator=None) locals_dict = {} @@ -591,70 +666,82 @@ def compute_logsums( skims = skim_hotel.logsum_skims() if network_los.zone_system == los.THREE_ZONE: # TVPB constants can appear in expressions - if logsum_settings.get('use_TVPB_constants', True): - locals_dict.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + if logsum_settings.get("use_TVPB_constants", True): + locals_dict.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) # - od_logsums od_skims = { - 'ORIGIN': model_settings['TRIP_ORIGIN'], - 'DESTINATION': model_settings['ALT_DEST_COL_NAME'], - "odt_skims": skims['odt_skims'], - "dot_skims": skims['dot_skims'], - "od_skims": skims['od_skims'], + "ORIGIN": model_settings["TRIP_ORIGIN"], + "DESTINATION": model_settings["ALT_DEST_COL_NAME"], + "odt_skims": skims["odt_skims"], + "dot_skims": skims["dot_skims"], + "od_skims": skims["od_skims"], } if network_los.zone_system == los.THREE_ZONE: - od_skims.update({ - 'tvpb_logsum_odt': skims['tvpb_logsum_odt'], - 'tvpb_logsum_dot': skims['tvpb_logsum_dot'] - }) - destination_sample['od_logsum'] = compute_ood_logsums( + od_skims.update( + { + "tvpb_logsum_odt": skims["tvpb_logsum_odt"], + "tvpb_logsum_dot": skims["tvpb_logsum_dot"], + } + ) + destination_sample["od_logsum"] = compute_ood_logsums( choosers, logsum_settings, - nest_spec, logsum_spec, + nest_spec, + logsum_spec, od_skims, locals_dict, chunk_size, - trace_label=tracing.extend_trace_label(trace_label, 'od'), - chunk_tag=chunk_tag) + trace_label=tracing.extend_trace_label(trace_label, "od"), + chunk_tag=chunk_tag, + ) # - dp_logsums dp_skims = { - 'ORIGIN': model_settings['ALT_DEST_COL_NAME'], - 'DESTINATION': model_settings['PRIMARY_DEST'], - "odt_skims": skims['dpt_skims'], - "dot_skims": skims['pdt_skims'], - "od_skims": skims['dp_skims'], + "ORIGIN": model_settings["ALT_DEST_COL_NAME"], + "DESTINATION": model_settings["PRIMARY_DEST"], + "odt_skims": skims["dpt_skims"], + "dot_skims": skims["pdt_skims"], + "od_skims": skims["dp_skims"], } if network_los.zone_system == los.THREE_ZONE: - dp_skims.update({ - 'tvpb_logsum_odt': skims['tvpb_logsum_dpt'], - 'tvpb_logsum_dot': skims['tvpb_logsum_pdt'] - }) + dp_skims.update( + { + "tvpb_logsum_odt": skims["tvpb_logsum_dpt"], + "tvpb_logsum_dot": skims["tvpb_logsum_pdt"], + } + ) - destination_sample['dp_logsum'] = compute_ood_logsums( + destination_sample["dp_logsum"] = compute_ood_logsums( choosers, logsum_settings, - nest_spec, logsum_spec, + nest_spec, + logsum_spec, dp_skims, locals_dict, chunk_size, - trace_label=tracing.extend_trace_label(trace_label, 'dp'), - chunk_tag=chunk_tag) + trace_label=tracing.extend_trace_label(trace_label, "dp"), + chunk_tag=chunk_tag, + ) return destination_sample def trip_destination_simulate( - primary_purpose, - trips, - destination_sample, - model_settings, - want_logsums, - size_term_matrix, - skim_hotel, - estimator, - chunk_size, trace_hh_id, - trace_label): + primary_purpose, + trips, + destination_sample, + model_settings, + want_logsums, + size_term_matrix, + skim_hotel, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): """ Chose destination from destination_sample (with od_logsum and dp_logsum columns added) @@ -664,28 +751,30 @@ def trip_destination_simulate( choices - pandas.Series destination alt chosen """ - trace_label = tracing.extend_trace_label(trace_label, 'trip_dest_simulate') - chunk_tag = 'trip_destination.simulate' + trace_label = tracing.extend_trace_label(trace_label, "trip_dest_simulate") + chunk_tag = "trip_destination.simulate" - spec = simulate.spec_for_segment(model_settings, spec_id='DESTINATION_SPEC', - segment_name=primary_purpose, estimator=estimator) + spec = simulate.spec_for_segment( + model_settings, + spec_id="DESTINATION_SPEC", + segment_name=primary_purpose, + estimator=estimator, + ) if estimator: estimator.write_choosers(trips) - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] logger.info("Running trip_destination_simulate with %d trips", len(trips)) skims = skim_hotel.sample_skims(presample=False) locals_dict = config.get_model_constants(model_settings).copy() - locals_dict.update({ - 'size_terms': size_term_matrix - }) + locals_dict.update({"size_terms": size_term_matrix}) locals_dict.update(skims) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) destinations = interaction_sample_simulate( choosers=trips, alternatives=destination_sample, @@ -693,24 +782,29 @@ def trip_destination_simulate( choice_column=alt_dest_col_name, log_alt_losers=log_alt_losers, want_logsums=want_logsums, - allow_zero_probs=True, zero_prob_choice_val=NO_DESTINATION, + allow_zero_probs=True, + zero_prob_choice_val=NO_DESTINATION, skims=skims, locals_d=locals_dict, - chunk_size=chunk_size, chunk_tag=chunk_tag, + chunk_size=chunk_size, + chunk_tag=chunk_tag, trace_label=trace_label, - trace_choice_name='trip_dest', - estimator=estimator) + trace_choice_name="trip_dest", + estimator=estimator, + ) if not want_logsums: # for consistency, always return a dataframe with canonical column name assert isinstance(destinations, pd.Series) - destinations = destinations.to_frame('choice') + destinations = destinations.to_frame("choice") if estimator: # need to overwrite choices here before any failed choices are suppressed estimator.write_choices(destinations.choice) - destinations.choice = estimator.get_survey_values(destinations.choice, 'trips', 'destination') + destinations.choice = estimator.get_survey_values( + destinations.choice, "trips", "destination" + ) estimator.write_override_choices(destinations.choice) # drop any failed zero_prob destinations @@ -722,17 +816,20 @@ def trip_destination_simulate( def choose_trip_destination( - primary_purpose, - trips, - alternatives, - tours_merged, - model_settings, - want_logsums, - want_sample_table, - size_term_matrix, skim_hotel, - estimator, - chunk_size, trace_hh_id, - trace_label): + primary_purpose, + trips, + alternatives, + tours_merged, + model_settings, + want_logsums, + want_sample_table, + size_term_matrix, + skim_hotel, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): logger.info("choose_trip_destination %s with %d trips", trace_label, trips.shape[0]) @@ -747,20 +844,24 @@ def choose_trip_destination( size_term_matrix=size_term_matrix, skim_hotel=skim_hotel, estimator=estimator, - chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=trace_label) + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + ) dropped_trips = ~trips.index.isin(destination_sample.index.unique()) if dropped_trips.any(): - logger.warning("%s trip_destination_sample %s trips " - "without viable destination alternatives" % - (trace_label, dropped_trips.sum())) + logger.warning( + "%s trip_destination_sample %s trips " + "without viable destination alternatives" + % (trace_label, dropped_trips.sum()) + ) trips = trips[~dropped_trips] t0 = print_elapsed_time("%s.trip_destination_sample" % trace_label, t0) if trips.empty: - return pd.Series(index=trips.index).to_frame('choice'), None + return pd.Series(index=trips.index).to_frame("choice"), None # - compute logsums destination_sample = compute_logsums( @@ -771,7 +872,8 @@ def choose_trip_destination( model_settings=model_settings, skim_hotel=skim_hotel, chunk_size=chunk_size, - trace_label=trace_label) + trace_label=trace_label, + ) t0 = print_elapsed_time("%s.compute_logsums" % trace_label, t0) @@ -785,18 +887,24 @@ def choose_trip_destination( size_term_matrix=size_term_matrix, skim_hotel=skim_hotel, estimator=estimator, - chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=trace_label) + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + ) dropped_trips = ~trips.index.isin(destinations.index) if dropped_trips.any(): - logger.warning("%s trip_destination_simulate %s trips " - "without viable destination alternatives" % - (trace_label, dropped_trips.sum())) + logger.warning( + "%s trip_destination_simulate %s trips " + "without viable destination alternatives" + % (trace_label, dropped_trips.sum()) + ) if want_sample_table: # FIXME - sample_table - destination_sample.set_index(model_settings['ALT_DEST_COL_NAME'], append=True, inplace=True) + destination_sample.set_index( + model_settings["ALT_DEST_COL_NAME"], append=True, inplace=True + ) else: destination_sample = None @@ -806,24 +914,23 @@ def choose_trip_destination( class SkimHotel(object): - def __init__(self, model_settings, network_los, trace_label): self.model_settings = model_settings - self.trace_label = tracing.extend_trace_label(trace_label, 'skim_hotel') + self.trace_label = tracing.extend_trace_label(trace_label, "skim_hotel") self.network_los = network_los self.zone_system = network_los.zone_system def sample_skims(self, presample): - o = self.model_settings['TRIP_ORIGIN'] - d = self.model_settings['ALT_DEST_COL_NAME'] - n = self.model_settings.get('PRIMARY_ORIGIN', None) - p = self.model_settings['PRIMARY_DEST'] + o = self.model_settings["TRIP_ORIGIN"] + d = self.model_settings["ALT_DEST_COL_NAME"] + n = self.model_settings.get("PRIMARY_ORIGIN", "origin") + p = self.model_settings["PRIMARY_DEST"] if presample: assert not (self.zone_system == los.ONE_ZONE) - skim_dict = self.network_los.get_skim_dict('taz') + skim_dict = self.network_los.get_skim_dict("taz") else: skim_dict = self.network_los.get_default_skim_dict() @@ -832,31 +939,54 @@ def sample_skims(self, presample): "dp_skims": skim_dict.wrap(d, p), "op_skims": skim_dict.wrap(o, p), "nd_skims": skim_dict.wrap(n, d), - - "odt_skims": skim_dict.wrap_3d(orig_key=o, dest_key=d, dim3_key='trip_period'), - "dot_skims": skim_dict.wrap_3d(orig_key=d, dest_key=o, dim3_key='trip_period'), - "dpt_skims": skim_dict.wrap_3d(orig_key=d, dest_key=p, dim3_key='trip_period'), - "pdt_skims": skim_dict.wrap_3d(orig_key=p, dest_key=d, dim3_key='trip_period'), - "opt_skims": skim_dict.wrap_3d(orig_key=o, dest_key=p, dim3_key='trip_period'), - "pot_skims": skim_dict.wrap_3d(orig_key=p, dest_key=o, dim3_key='trip_period'), - "ndt_skims": skim_dict.wrap_3d(orig_key=n, dest_key=d, dim3_key='trip_period'), - "dnt_skims": skim_dict.wrap_3d(orig_key=d, dest_key=n, dim3_key='trip_period') + "odt_skims": skim_dict.wrap_3d( + orig_key=o, dest_key=d, dim3_key="trip_period" + ), + "dot_skims": skim_dict.wrap_3d( + orig_key=d, dest_key=o, dim3_key="trip_period" + ), + "dpt_skims": skim_dict.wrap_3d( + orig_key=d, dest_key=p, dim3_key="trip_period" + ), + "pdt_skims": skim_dict.wrap_3d( + orig_key=p, dest_key=d, dim3_key="trip_period" + ), + "opt_skims": skim_dict.wrap_3d( + orig_key=o, dest_key=p, dim3_key="trip_period" + ), + "pot_skims": skim_dict.wrap_3d( + orig_key=p, dest_key=o, dim3_key="trip_period" + ), + "ndt_skims": skim_dict.wrap_3d( + orig_key=n, dest_key=d, dim3_key="trip_period" + ), + "dnt_skims": skim_dict.wrap_3d( + orig_key=d, dest_key=n, dim3_key="trip_period" + ), } return skims def logsum_skims(self): - o = self.model_settings['TRIP_ORIGIN'] - d = self.model_settings['ALT_DEST_COL_NAME'] - p = self.model_settings['PRIMARY_DEST'] + o = self.model_settings["TRIP_ORIGIN"] + d = self.model_settings["ALT_DEST_COL_NAME"] + p = self.model_settings["PRIMARY_DEST"] skim_dict = self.network_los.get_default_skim_dict() skims = { - "odt_skims": skim_dict.wrap_3d(orig_key=o, dest_key=d, dim3_key='trip_period'), - "dot_skims": skim_dict.wrap_3d(orig_key=d, dest_key=o, dim3_key='trip_period'), - "dpt_skims": skim_dict.wrap_3d(orig_key=d, dest_key=p, dim3_key='trip_period'), - "pdt_skims": skim_dict.wrap_3d(orig_key=p, dest_key=d, dim3_key='trip_period'), + "odt_skims": skim_dict.wrap_3d( + orig_key=o, dest_key=d, dim3_key="trip_period" + ), + "dot_skims": skim_dict.wrap_3d( + orig_key=d, dest_key=o, dim3_key="trip_period" + ), + "dpt_skims": skim_dict.wrap_3d( + orig_key=d, dest_key=p, dim3_key="trip_period" + ), + "pdt_skims": skim_dict.wrap_3d( + orig_key=p, dest_key=d, dim3_key="trip_period" + ), "od_skims": skim_dict.wrap(o, d), "dp_skims": skim_dict.wrap(d, p), } @@ -865,36 +995,60 @@ def logsum_skims(self): # fixme - is this a lightweight object? tvpb = self.network_los.tvpb - tvpb_logsum_odt = tvpb.wrap_logsum(orig_key=o, dest_key=d, - tod_key='trip_period', segment_key='demographic_segment', - trace_label=self.trace_label, tag='tvpb_logsum_odt') - tvpb_logsum_dot = tvpb.wrap_logsum(orig_key=d, dest_key=o, - tod_key='trip_period', segment_key='demographic_segment', - trace_label=self.trace_label, tag='tvpb_logsum_dot') - tvpb_logsum_dpt = tvpb.wrap_logsum(orig_key=d, dest_key=p, - tod_key='trip_period', segment_key='demographic_segment', - trace_label=self.trace_label, tag='tvpb_logsum_dpt') - tvpb_logsum_pdt = tvpb.wrap_logsum(orig_key=p, dest_key=d, - tod_key='trip_period', segment_key='demographic_segment', - trace_label=self.trace_label, tag='tvpb_logsum_pdt') - - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - 'tvpb_logsum_dot': tvpb_logsum_dot, - 'tvpb_logsum_dpt': tvpb_logsum_dpt, - 'tvpb_logsum_pdt': tvpb_logsum_pdt - }) + tvpb_logsum_odt = tvpb.wrap_logsum( + orig_key=o, + dest_key=d, + tod_key="trip_period", + segment_key="demographic_segment", + trace_label=self.trace_label, + tag="tvpb_logsum_odt", + ) + tvpb_logsum_dot = tvpb.wrap_logsum( + orig_key=d, + dest_key=o, + tod_key="trip_period", + segment_key="demographic_segment", + trace_label=self.trace_label, + tag="tvpb_logsum_dot", + ) + tvpb_logsum_dpt = tvpb.wrap_logsum( + orig_key=d, + dest_key=p, + tod_key="trip_period", + segment_key="demographic_segment", + trace_label=self.trace_label, + tag="tvpb_logsum_dpt", + ) + tvpb_logsum_pdt = tvpb.wrap_logsum( + orig_key=p, + dest_key=d, + tod_key="trip_period", + segment_key="demographic_segment", + trace_label=self.trace_label, + tag="tvpb_logsum_pdt", + ) + + skims.update( + { + "tvpb_logsum_odt": tvpb_logsum_odt, + "tvpb_logsum_dot": tvpb_logsum_dot, + "tvpb_logsum_dpt": tvpb_logsum_dpt, + "tvpb_logsum_pdt": tvpb_logsum_pdt, + } + ) return skims def run_trip_destination( - trips, - tours_merged, - estimator, - chunk_size, trace_hh_id, - trace_label, - fail_some_trips_for_testing=False): + trips, + tours_merged, + estimator, + chunk_size, + trace_hh_id, + trace_label, + fail_some_trips_for_testing=False, +): """ trip destination - main functionality separated from model step so it can be called iteratively @@ -918,22 +1072,25 @@ def run_trip_destination( """ - model_settings_file_name = 'trip_destination.yaml' + model_settings_file_name = "trip_destination.yaml" model_settings = config.read_model_settings(model_settings_file_name) - preprocessor_settings = model_settings.get('preprocessor', None) - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) + preprocessor_settings = model_settings.get("preprocessor", None) + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) - logsum_column_name = model_settings.get('DEST_CHOICE_LOGSUM_COLUMN_NAME') + logsum_column_name = model_settings.get("DEST_CHOICE_LOGSUM_COLUMN_NAME") want_logsums = logsum_column_name is not None - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) - land_use = inject.get_table('land_use') - size_terms = inject.get_injectable('size_terms') - network_los = inject.get_injectable('network_los') + land_use = inject.get_table("land_use") + size_terms = inject.get_injectable("size_terms") + network_los = inject.get_injectable("network_los") trips = trips.sort_index() - trips['next_trip_id'] = np.roll(trips.index, -1) + trips["next_trip_id"] = np.roll(trips.index, -1) trips.next_trip_id = trips.next_trip_id.where(trips.trip_num < trips.trip_count, 0) # - initialize trip origin and destination to those of half-tour @@ -946,10 +1103,10 @@ def run_trip_destination( # stop_frequency step calls trip.initialize_from_tours. But if this module is being # called from trip_destination_and_purpose, these columns will have been deleted # so they must be re-created - if pipeline.get_rn_generator().step_name == 'trip_purpose_and_destination': - trips['destination'] = np.where(trips.outbound, tour_destination, tour_origin) - trips['origin'] = np.where(trips.outbound, tour_origin, tour_destination) - trips['failed'] = False + if pipeline.get_rn_generator().step_name == "trip_purpose_and_destination": + trips["destination"] = np.where(trips.outbound, tour_destination, tour_origin) + trips["origin"] = np.where(trips.outbound, tour_origin, tour_destination) + trips["failed"] = False if estimator: # need to check or override non-intermediate trip destination @@ -957,41 +1114,49 @@ def run_trip_destination( # FIXME if not consistent, do we fail or override? (seems weird to override them to bad values?) # expect all the same trips - survey_trips = estimator.get_survey_table('trips').sort_index() + survey_trips = estimator.get_survey_table("trips").sort_index() assert survey_trips.index.equals(trips.index) - first = (survey_trips.trip_num == 1) - last = (survey_trips.trip_num == trips.trip_count) + first = survey_trips.trip_num == 1 + last = survey_trips.trip_num == trips.trip_count # expect survey's outbound first trip origin to be same as half tour origin - assert (survey_trips.origin[survey_trips.outbound & first] - == tour_origin[survey_trips.outbound & first]).all() + assert ( + survey_trips.origin[survey_trips.outbound & first] + == tour_origin[survey_trips.outbound & first] + ).all() # expect outbound last trip destination to be same as half tour destination - assert (survey_trips.destination[survey_trips.outbound & last] - == tour_destination[survey_trips.outbound & last]).all() + assert ( + survey_trips.destination[survey_trips.outbound & last] + == tour_destination[survey_trips.outbound & last] + ).all() # expect inbound first trip origin to be same as half tour destination - assert (survey_trips.origin[~survey_trips.outbound & first] - == tour_destination[~survey_trips.outbound & first]).all() + assert ( + survey_trips.origin[~survey_trips.outbound & first] + == tour_destination[~survey_trips.outbound & first] + ).all() # expect inbound last trip destination to be same as half tour origin - assert (survey_trips.destination[~survey_trips.outbound & last] - == tour_origin[~survey_trips.outbound & last]).all() + assert ( + survey_trips.destination[~survey_trips.outbound & last] + == tour_origin[~survey_trips.outbound & last] + ).all() # - filter tours_merged (AFTER copying destination and origin columns to trips) # tours_merged is used for logsums, we filter it here upfront to save space and time - tours_merged_cols = logsum_settings['TOURS_MERGED_CHOOSER_COLUMNS'] - redundant_cols = model_settings.get('REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS', []) + tours_merged_cols = logsum_settings["TOURS_MERGED_CHOOSER_COLUMNS"] + redundant_cols = model_settings.get("REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS", []) if redundant_cols: tours_merged_cols = [c for c in tours_merged_cols if c not in redundant_cols] - assert model_settings['PRIMARY_DEST'] not in tours_merged_cols + assert model_settings["PRIMARY_DEST"] not in tours_merged_cols tours_merged = tours_merged[tours_merged_cols] # - skims skim_hotel = SkimHotel(model_settings, network_los, trace_label) # - size_terms and alternatives - alternatives = tour_destination_size_terms(land_use, size_terms, 'trip') + alternatives = tour_destination_size_terms(land_use, size_terms, "trip") # DataFrameMatrix alows us to treat dataframe as virtual a 2-D array, indexed by zone_id, purpose # e.g. size_terms.get(df.dest_zone_id, df.purpose) @@ -1000,7 +1165,7 @@ def run_trip_destination( # don't need size terms in alternatives, just zone_id index alternatives = alternatives.drop(alternatives.columns, axis=1) - alternatives.index.name = model_settings['ALT_DEST_COL_NAME'] + alternatives.index.name = model_settings["ALT_DEST_COL_NAME"] sample_list = [] @@ -1015,11 +1180,11 @@ def run_trip_destination( for trip_num in range(first_trip_num, last_trip_num + 1): nth_trips = trips[intermediate & (trips.trip_num == trip_num)] - nth_trace_label = tracing.extend_trace_label(trace_label, 'trip_num_%s' % trip_num) + nth_trace_label = tracing.extend_trace_label( + trace_label, "trip_num_%s" % trip_num + ) - locals_dict = { - 'network_los': network_los - } + locals_dict = {"network_los": network_los} locals_dict.update(config.get_model_constants(model_settings)) # - annotate nth_trips @@ -1028,13 +1193,14 @@ def run_trip_destination( df=nth_trips, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=nth_trace_label) + trace_label=nth_trace_label, + ) logger.info("Running %s with %d trips", nth_trace_label, nth_trips.shape[0]) # - choose destination for nth_trips, segmented by primary_purpose choices_list = [] - for primary_purpose, trips_segment in nth_trips.groupby('primary_purpose'): + for primary_purpose, trips_segment in nth_trips.groupby("primary_purpose"): choices, destination_sample = choose_trip_destination( primary_purpose, trips_segment, @@ -1043,10 +1209,15 @@ def run_trip_destination( model_settings, want_logsums, want_sample_table, - size_term_matrix, skim_hotel, + size_term_matrix, + skim_hotel, estimator, - chunk_size, trace_hh_id, - trace_label=tracing.extend_trace_label(nth_trace_label, primary_purpose)) + chunk_size, + trace_hh_id, + trace_label=tracing.extend_trace_label( + nth_trace_label, primary_purpose + ), + ) choices_list.append(choices) if want_sample_table: @@ -1061,31 +1232,41 @@ def run_trip_destination( failed_trip_ids = nth_trips.index.difference(destinations_df.index) if failed_trip_ids.any(): - logger.warning("%s sidelining %s trips without viable destination alternatives" % - (nth_trace_label, failed_trip_ids.shape[0])) + logger.warning( + "%s sidelining %s trips without viable destination alternatives" + % (nth_trace_label, failed_trip_ids.shape[0]) + ) next_trip_ids = nth_trips.next_trip_id.reindex(failed_trip_ids) - trips.loc[failed_trip_ids, 'failed'] = True - trips.loc[failed_trip_ids, 'destination'] = -1 - trips.loc[next_trip_ids, 'origin'] = trips.loc[failed_trip_ids].origin.values + trips.loc[failed_trip_ids, "failed"] = True + trips.loc[failed_trip_ids, "destination"] = -1 + trips.loc[next_trip_ids, "origin"] = trips.loc[ + failed_trip_ids + ].origin.values if len(destinations_df) == 0: assert failed_trip_ids.all() - logger.warning(f"all {len(nth_trips)} {primary_purpose} trip_num {trip_num} trips failed") + logger.warning( + f"all {len(nth_trips)} {primary_purpose} trip_num {trip_num} trips failed" + ) if len(destinations_df) > 0: # - assign choices to this trip's destinations # if estimator, then the choices will already have been overridden by trip_destination_simulate # because we need to overwrite choices before any failed choices are suppressed - assign_in_place(trips, destinations_df.choice.to_frame('destination')) + assign_in_place(trips, destinations_df.choice.to_frame("destination")) if want_logsums: - assert 'logsum' in destinations_df.columns - assign_in_place(trips, destinations_df.logsum.to_frame(logsum_column_name)) + assert "logsum" in destinations_df.columns + assign_in_place( + trips, destinations_df.logsum.to_frame(logsum_column_name) + ) # - assign choice to next trip's origin - destinations_df.index = nth_trips.next_trip_id.reindex(destinations_df.index) - assign_in_place(trips, destinations_df.choice.to_frame('origin')) + destinations_df.index = nth_trips.next_trip_id.reindex( + destinations_df.index + ) + assign_in_place(trips, destinations_df.choice.to_frame("origin")) - del trips['next_trip_id'] + del trips["next_trip_id"] if len(sample_list) > 0: save_sample_df = pd.concat(sample_list) @@ -1097,10 +1278,7 @@ def run_trip_destination( @inject.step() -def trip_destination( - trips, - tours_merged, - chunk_size, trace_hh_id): +def trip_destination(trips, tours_merged, chunk_size, trace_hh_id): """ Choose a destination for all 'intermediate' trips based on trip purpose. @@ -1109,26 +1287,39 @@ def trip_destination( """ - trace_label = 'trip_destination' + trace_label = "trip_destination" - model_settings_file_name = 'trip_destination.yaml' + model_settings_file_name = "trip_destination.yaml" model_settings = config.read_model_settings(model_settings_file_name) - CLEANUP = model_settings.get('CLEANUP', True) - fail_some_trips_for_testing = model_settings.get('fail_some_trips_for_testing', False) + CLEANUP = model_settings.get("CLEANUP", True) + fail_some_trips_for_testing = model_settings.get( + "fail_some_trips_for_testing", False + ) trips_df = trips.to_frame() tours_merged_df = tours_merged.to_frame() - estimator = estimation.manager.begin_estimation('trip_destination') + if pipeline.is_table("school_escort_trips"): + school_escort_trips = pipeline.get_table("school_escort_trips") + # separate out school escorting trips to exclude them from the model and estimation data bundle + trips_df, se_trips_df, full_trips_index = split_out_school_escorting_trips( + trips_df, school_escort_trips + ) + + estimator = estimation.manager.begin_estimation("trip_destination") if estimator: estimator.write_coefficients(model_settings=model_settings) # estimator.write_spec(model_settings, tag='SAMPLE_SPEC') - estimator.write_spec(model_settings, tag='SPEC') + estimator.write_spec(model_settings, tag="SPEC") estimator.set_alt_id(model_settings["ALT_DEST_COL_NAME"]) - estimator.write_table(inject.get_injectable('size_terms'), 'size_terms', append=False) - estimator.write_table(inject.get_table('land_use').to_frame(), 'landuse', append=False) + estimator.write_table( + inject.get_injectable("size_terms"), "size_terms", append=False + ) + estimator.write_table( + inject.get_table("land_use").to_frame(), "landuse", append=False + ) estimator.write_model_settings(model_settings, model_settings_file_name) logger.info("Running %s with %d trips", trace_label, trips_df.shape[0]) @@ -1140,25 +1331,34 @@ def trip_destination( chunk_size=chunk_size, trace_hh_id=trace_hh_id, trace_label=trace_label, - fail_some_trips_for_testing=fail_some_trips_for_testing) + fail_some_trips_for_testing=fail_some_trips_for_testing, + ) # testing feature t0 make sure at least one trip fails so trip_purpose_and_destination model is run - if config.setting('testing_fail_trip_destination', False) and not trips_df.failed.any(): + if ( + config.setting("testing_fail_trip_destination", False) + and not trips_df.failed.any() + ): if (trips_df.trip_num < trips_df.trip_count).sum() == 0: - raise RuntimeError(f"can't honor 'testing_fail_trip_destination' setting because no intermediate trips") + raise RuntimeError( + f"can't honor 'testing_fail_trip_destination' setting because no intermediate trips" + ) fail_o = trips_df[trips_df.trip_num < trips_df.trip_count].origin.max() - trips_df.failed = (trips_df.origin == fail_o) & \ - (trips_df.trip_num < trips_df.trip_count) + trips_df.failed = (trips_df.origin == fail_o) & ( + trips_df.trip_num < trips_df.trip_count + ) if trips_df.failed.any(): logger.warning("%s %s failed trips", trace_label, trips_df.failed.sum()) - if inject.get_injectable('pipeline_file_prefix', None): + if inject.get_injectable("pipeline_file_prefix", None): file_name = f"{trace_label}_failed_trips_{inject.get_injectable('pipeline_file_prefix')}" else: file_name = f"{trace_label}_failed_trips" logger.info("writing failed trips to %s", file_name) - tracing.write_csv(trips_df[trips_df.failed], file_name=file_name, transpose=False) + tracing.write_csv( + trips_df[trips_df.failed], file_name=file_name, transpose=False + ) if estimator: estimator.end_estimation() @@ -1168,35 +1368,59 @@ def trip_destination( if CLEANUP: if trips_df.failed.any(): - flag_failed_trip_leg_mates(trips_df, 'failed') + flag_failed_trip_leg_mates(trips_df, "failed") if save_sample_df is not None: - save_sample_df.drop(trips_df.index[trips_df.failed], level='trip_id', inplace=True) + save_sample_df.drop( + trips_df.index[trips_df.failed], level="trip_id", inplace=True + ) trips_df = cleanup_failed_trips(trips_df) - trips_df.drop(columns='failed', inplace=True, errors='ignore') + trips_df.drop(columns="failed", inplace=True, errors="ignore") + + if pipeline.is_table("school_escort_trips"): + # setting destination for school escort trips + se_trips_df["destination"] = reindex( + school_escort_trips.destination, se_trips_df.index + ) + # merge trips back together preserving index order + trips_df = pd.concat([trips_df, se_trips_df]) + trips_df["destination"] = trips_df["destination"].astype(int) + trips_df = trips_df.reindex(full_trips_index) + # Origin is previous destination + # (leaving first origin alone as it's already set correctly) + trips_df["origin"] = np.where( + (trips_df["trip_num"] == 1) & (trips_df["outbound"] == True), + trips_df["origin"], + trips_df.groupby("tour_id")["destination"].shift(), + ).astype(int) pipeline.replace_table("trips", trips_df) if trace_hh_id: - tracing.trace_df(trips_df, - label=trace_label, - slicer='trip_id', - index_label='trip_id', - warn_if_empty=True) + tracing.trace_df( + trips_df, + label=trace_label, + slicer="trip_id", + index_label="trip_id", + warn_if_empty=True, + ) if save_sample_df is not None: # might be none if want_sample_table but there are no intermediate trips # expect samples only for intermediate trip destinations - assert len(save_sample_df.index.get_level_values(0).unique()) == \ - len(trips_df[trips_df.trip_num < trips_df.trip_count]) + assert len(save_sample_df.index.get_level_values(0).unique()) == len( + trips_df[trips_df.trip_num < trips_df.trip_count] + ) - sample_table_name = model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') + sample_table_name = model_settings.get("DEST_CHOICE_SAMPLE_TABLE_NAME") assert sample_table_name is not None - logger.info("adding %s samples to %s" % (len(save_sample_df), sample_table_name)) + logger.info( + "adding %s samples to %s" % (len(save_sample_df), sample_table_name) + ) # lest they try to put tour samples into the same table if pipeline.is_table(sample_table_name): diff --git a/activitysim/abm/models/trip_matrices.py b/activitysim/abm/models/trip_matrices.py index 2df091c012..0f33e69e69 100644 --- a/activitysim/abm/models/trip_matrices.py +++ b/activitysim/abm/models/trip_matrices.py @@ -3,15 +3,11 @@ import logging +import numpy as np import openmatrix as omx import pandas as pd -import numpy as np -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import expressions -from activitysim.core import los +from activitysim.core import config, expressions, inject, los, pipeline logger = logging.getLogger(__name__) @@ -36,117 +32,154 @@ def write_trip_matrices(network_los): """ - trips = inject.get_table('trips', None) + trips = inject.get_table("trips", None) if trips is None: # this step is a NOP if there is no trips table # this might legitimately happen if they comment out some steps to debug but still want write_tables # this saves them the hassle of remembering to comment out this step - logger.warning(f"write_trip_matrices returning empty-handed because there is no trips table") + logger.warning( + f"write_trip_matrices returning empty-handed because there is no trips table" + ) return - model_settings = config.read_model_settings('write_trip_matrices.yaml') + model_settings = config.read_model_settings("write_trip_matrices.yaml") trips_df = annotate_trips(trips, network_los, model_settings) - if bool(model_settings.get('SAVE_TRIPS_TABLE')): - pipeline.replace_table('trips', trips_df) + if bool(model_settings.get("SAVE_TRIPS_TABLE")): + pipeline.replace_table("trips", trips_df) - if 'parking_location' in config.setting('models'): - parking_settings = config.read_model_settings('parking_location_choice.yaml') - parking_taz_col_name = parking_settings['ALT_DEST_COL_NAME'] + if "parking_location" in config.setting("models"): + parking_settings = config.read_model_settings("parking_location_choice.yaml") + parking_taz_col_name = parking_settings["ALT_DEST_COL_NAME"] if parking_taz_col_name in trips_df: - trips_df.loc[trips_df[parking_taz_col_name] > 0, 'destination'] = trips_df[parking_taz_col_name] + trips_df.loc[trips_df[parking_taz_col_name] > 0, "destination"] = trips_df[ + parking_taz_col_name + ] # Also need address the return trip # write matrices by zone system type if network_los.zone_system == los.ONE_ZONE: # taz trips written to taz matrices - logger.info('aggregating trips one zone...') - aggregate_trips = trips_df.groupby(['origin', 'destination'], sort=False).sum() + logger.info("aggregating trips one zone...") + aggregate_trips = trips_df.groupby(["origin", "destination"], sort=False).sum() # use the average household weight for all trips in the origin destination pair - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') - aggregate_weight = trips_df[['origin', 'destination', hh_weight_col]].groupby(['origin', 'destination'], - sort=False).mean() + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") + aggregate_weight = ( + trips_df[["origin", "destination", hh_weight_col]] + .groupby(["origin", "destination"], sort=False) + .mean() + ) aggregate_trips[hh_weight_col] = aggregate_weight[hh_weight_col] - orig_vals = aggregate_trips.index.get_level_values('origin') - dest_vals = aggregate_trips.index.get_level_values('destination') + orig_vals = aggregate_trips.index.get_level_values("origin") + dest_vals = aggregate_trips.index.get_level_values("destination") # use the land use table for the set of possible tazs - zone_index = pipeline.get_table('land_use').index + zone_index = pipeline.get_table("land_use").index assert all(zone in zone_index for zone in orig_vals) assert all(zone in zone_index for zone in dest_vals) _, orig_index = zone_index.reindex(orig_vals) _, dest_index = zone_index.reindex(dest_vals) - write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_settings) + write_matrices( + aggregate_trips, zone_index, orig_index, dest_index, model_settings + ) elif network_los.zone_system == los.TWO_ZONE: # maz trips written to taz matrices - logger.info('aggregating trips two zone...') - trips_df["otaz"] = pipeline.get_table('land_use').reindex(trips_df['origin']).TAZ.tolist() - trips_df["dtaz"] = pipeline.get_table('land_use').reindex(trips_df['destination']).TAZ.tolist() - aggregate_trips = trips_df.groupby(['otaz', 'dtaz'], sort=False).sum() + logger.info("aggregating trips two zone...") + trips_df["otaz"] = ( + pipeline.get_table("land_use").reindex(trips_df["origin"]).TAZ.tolist() + ) + trips_df["dtaz"] = ( + pipeline.get_table("land_use").reindex(trips_df["destination"]).TAZ.tolist() + ) + aggregate_trips = trips_df.groupby(["otaz", "dtaz"], sort=False).sum() # use the average household weight for all trips in the origin destination pair - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') - aggregate_weight = trips_df[['otaz', 'dtaz', hh_weight_col]].groupby(['otaz', 'dtaz'], sort=False).mean() + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") + aggregate_weight = ( + trips_df[["otaz", "dtaz", hh_weight_col]] + .groupby(["otaz", "dtaz"], sort=False) + .mean() + ) aggregate_trips[hh_weight_col] = aggregate_weight[hh_weight_col] - orig_vals = aggregate_trips.index.get_level_values('otaz') - dest_vals = aggregate_trips.index.get_level_values('dtaz') + orig_vals = aggregate_trips.index.get_level_values("otaz") + dest_vals = aggregate_trips.index.get_level_values("dtaz") - zone_index = pd.Index(network_los.get_tazs(), name='TAZ') + zone_index = pd.Index(network_los.get_tazs(), name="TAZ") assert all(zone in zone_index for zone in orig_vals) assert all(zone in zone_index for zone in dest_vals) _, orig_index = zone_index.reindex(orig_vals) _, dest_index = zone_index.reindex(dest_vals) - write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_settings) + write_matrices( + aggregate_trips, zone_index, orig_index, dest_index, model_settings + ) - elif network_los.zone_system == los.THREE_ZONE: # maz trips written to taz and tap matrices + elif ( + network_los.zone_system == los.THREE_ZONE + ): # maz trips written to taz and tap matrices - logger.info('aggregating trips three zone taz...') - trips_df["otaz"] = pipeline.get_table('land_use').reindex(trips_df['origin']).TAZ.tolist() - trips_df["dtaz"] = pipeline.get_table('land_use').reindex(trips_df['destination']).TAZ.tolist() - aggregate_trips = trips_df.groupby(['otaz', 'dtaz'], sort=False).sum() + logger.info("aggregating trips three zone taz...") + trips_df["otaz"] = ( + pipeline.get_table("land_use").reindex(trips_df["origin"]).TAZ.tolist() + ) + trips_df["dtaz"] = ( + pipeline.get_table("land_use").reindex(trips_df["destination"]).TAZ.tolist() + ) + aggregate_trips = trips_df.groupby(["otaz", "dtaz"], sort=False).sum() # use the average household weight for all trips in the origin destination pair - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') - aggregate_weight = trips_df[['otaz', 'dtaz', hh_weight_col]].groupby(['otaz', 'dtaz'], sort=False).mean() + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") + aggregate_weight = ( + trips_df[["otaz", "dtaz", hh_weight_col]] + .groupby(["otaz", "dtaz"], sort=False) + .mean() + ) aggregate_trips[hh_weight_col] = aggregate_weight[hh_weight_col] - orig_vals = aggregate_trips.index.get_level_values('otaz') - dest_vals = aggregate_trips.index.get_level_values('dtaz') + orig_vals = aggregate_trips.index.get_level_values("otaz") + dest_vals = aggregate_trips.index.get_level_values("dtaz") - zone_index = pd.Index(network_los.get_tazs(), name='TAZ') + zone_index = pd.Index(network_los.get_tazs(), name="TAZ") assert all(zone in zone_index for zone in orig_vals) assert all(zone in zone_index for zone in dest_vals) _, orig_index = zone_index.reindex(orig_vals) _, dest_index = zone_index.reindex(dest_vals) - write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_settings) + write_matrices( + aggregate_trips, zone_index, orig_index, dest_index, model_settings + ) - logger.info('aggregating trips three zone tap...') - aggregate_trips = trips_df.groupby(['btap', 'atap'], sort=False).sum() + logger.info("aggregating trips three zone tap...") + aggregate_trips = trips_df.groupby(["btap", "atap"], sort=False).sum() # use the average household weight for all trips in the origin destination pair - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') - aggregate_weight = trips_df[['btap', 'atap', hh_weight_col]].groupby(['btap', 'atap'], sort=False).mean() + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") + aggregate_weight = ( + trips_df[["btap", "atap", hh_weight_col]] + .groupby(["btap", "atap"], sort=False) + .mean() + ) aggregate_trips[hh_weight_col] = aggregate_weight[hh_weight_col] - orig_vals = aggregate_trips.index.get_level_values('btap') - dest_vals = aggregate_trips.index.get_level_values('atap') + orig_vals = aggregate_trips.index.get_level_values("btap") + dest_vals = aggregate_trips.index.get_level_values("atap") - zone_index = pd.Index(network_los.get_taps(), name='TAP') + zone_index = pd.Index(network_los.get_taps(), name="TAP") assert all(zone in zone_index for zone in orig_vals) assert all(zone in zone_index for zone in dest_vals) _, orig_index = zone_index.reindex(orig_vals) _, dest_index = zone_index.reindex(dest_vals) - write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_settings, True) + write_matrices( + aggregate_trips, zone_index, orig_index, dest_index, model_settings, True + ) def annotate_trips(trips, network_los, model_settings): @@ -161,19 +194,18 @@ def annotate_trips(trips, network_los, model_settings): trips_df = trips.to_frame() - trace_label = 'trip_matrices' + trace_label = "trip_matrices" skim_dict = network_los.get_default_skim_dict() # setup skim keys - if 'trip_period' not in trips_df: - trips_df['trip_period'] = network_los.skim_time_period_label(trips_df.depart) - od_skim_wrapper = skim_dict.wrap('origin', 'destination') - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key='origin', dest_key='destination', dim3_key='trip_period') - skims = { - 'od_skims': od_skim_wrapper, - "odt_skims": odt_skim_stack_wrapper - } + if "trip_period" not in trips_df: + trips_df["trip_period"] = network_los.skim_time_period_label(trips_df.depart) + od_skim_wrapper = skim_dict.wrap("origin", "destination") + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key="origin", dest_key="destination", dim3_key="trip_period" + ) + skims = {"od_skims": od_skim_wrapper, "odt_skims": odt_skim_stack_wrapper} locals_dict = {} constants = config.get_model_constants(model_settings) @@ -181,22 +213,24 @@ def annotate_trips(trips, network_los, model_settings): locals_dict.update(constants) expressions.annotate_preprocessors( - trips_df, locals_dict, skims, - model_settings, trace_label) + trips_df, locals_dict, skims, model_settings, trace_label + ) # Data will be expanded by an expansion weight column from # the households pipeline table, if specified in the model settings. - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") if hh_weight_col and hh_weight_col not in trips_df: logger.info("adding '%s' from households to trips table" % hh_weight_col) - household_weights = pipeline.get_table('households')[hh_weight_col] + household_weights = pipeline.get_table("households")[hh_weight_col] trips_df[hh_weight_col] = trips_df.household_id.map(household_weights) return trips_df -def write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_settings, is_tap=False): +def write_matrices( + aggregate_trips, zone_index, orig_index, dest_index, model_settings, is_tap=False +): """ Write aggregated trips to OMX format. @@ -209,42 +243,48 @@ def write_matrices(aggregate_trips, zone_index, orig_index, dest_index, model_se but the table 'data_field's must be summable types: ints, floats, bools. """ - matrix_settings = model_settings.get('MATRICES') + matrix_settings = model_settings.get("MATRICES") if not matrix_settings: - logger.error('Missing MATRICES setting in write_trip_matrices.yaml') + logger.error("Missing MATRICES setting in write_trip_matrices.yaml") for matrix in matrix_settings: - matrix_is_tap = matrix.get('is_tap', False) + matrix_is_tap = matrix.get("is_tap", False) if matrix_is_tap == is_tap: # only write tap matrices to tap matrix files - filename = matrix.get('file_name') + filename = matrix.get("file_name") filepath = config.output_file_path(filename) - logger.info('opening %s' % filepath) - file = omx.open_file(filepath, 'w') # possibly overwrite existing file - table_settings = matrix.get('tables') + logger.info("opening %s" % filepath) + file = omx.open_file(filepath, "w") # possibly overwrite existing file + table_settings = matrix.get("tables") for table in table_settings: - table_name = table.get('name') - col = table.get('data_field') + table_name = table.get("name") + col = table.get("data_field") if col not in aggregate_trips: - logger.error(f'missing {col} column in aggregate_trips DataFrame') + logger.error(f"missing {col} column in aggregate_trips DataFrame") return - hh_weight_col = model_settings.get('HH_EXPANSION_WEIGHT_COL') + hh_weight_col = model_settings.get("HH_EXPANSION_WEIGHT_COL") if hh_weight_col: - aggregate_trips[col] = aggregate_trips[col] / aggregate_trips[hh_weight_col] + aggregate_trips[col] = ( + aggregate_trips[col] / aggregate_trips[hh_weight_col] + ) data = np.zeros((len(zone_index), len(zone_index))) data[orig_index, dest_index] = aggregate_trips[col] - logger.debug('writing %s sum %0.2f' % (table_name, aggregate_trips[col].sum())) + logger.debug( + "writing %s sum %0.2f" % (table_name, aggregate_trips[col].sum()) + ) file[table_name] = data # write to file # include the index-to-zone map in the file - logger.info('adding %s mapping for %s zones to %s' % - (zone_index.name, zone_index.size, filename)) + logger.info( + "adding %s mapping for %s zones to %s" + % (zone_index.name, zone_index.size, filename) + ) file.create_mapping(zone_index.name, zone_index.to_numpy()) - logger.info('closing %s' % filepath) + logger.info("closing %s" % filepath) file.close() diff --git a/activitysim/abm/models/trip_mode_choice.py b/activitysim/abm/models/trip_mode_choice.py index 59e9fc5e5e..59bc8433f1 100644 --- a/activitysim/abm/models/trip_mode_choice.py +++ b/activitysim/abm/models/trip_mode_choice.py @@ -3,35 +3,31 @@ import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import chunk -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import expressions - -from activitysim.core import assign -from activitysim.core import los - +from activitysim.core import ( + assign, + chunk, + config, + expressions, + inject, + los, + pipeline, + simulate, + tracing, +) +from activitysim.core.pathbuilder import TransitVirtualPathBuilder from activitysim.core.util import assign_in_place -from activitysim.core.pathbuilder import TransitVirtualPathBuilder -from .util.mode import mode_choice_simulate from .util import estimation - +from .util.mode import mode_choice_simulate logger = logging.getLogger(__name__) @inject.step() -def trip_mode_choice( - trips, - network_los, - chunk_size, trace_hh_id): +def trip_mode_choice(trips, network_los, chunk_size, trace_hh_id): """ Trip mode choice - compute trip_mode (same values as for tour_mode) for each trip. @@ -41,12 +37,12 @@ def trip_mode_choice( Adds trip_mode column to trip table """ - trace_label = 'trip_mode_choice' - model_settings_file_name = 'trip_mode_choice.yaml' + trace_label = "trip_mode_choice" + model_settings_file_name = "trip_mode_choice.yaml" model_settings = config.read_model_settings(model_settings_file_name) - logsum_column_name = model_settings.get('MODE_CHOICE_LOGSUM_COLUMN_NAME') - mode_column_name = 'trip_mode' + logsum_column_name = model_settings.get("MODE_CHOICE_LOGSUM_COLUMN_NAME") + mode_column_name = "trip_mode" trips_df = trips.to_frame() logger.info("Running %s with %d trips", trace_label, trips_df.shape[0]) @@ -54,48 +50,57 @@ def trip_mode_choice( # give trip mode choice the option to run without calling tours_merged. Useful for xborder # model where tour_od_choice needs trip mode choice logsums before some of the join keys # needed by tour_merged (e.g. home_zone_id) exist - tours_cols = [col for col in model_settings['TOURS_MERGED_CHOOSER_COLUMNS'] if col not in trips_df.columns] + tours_cols = [ + col + for col in model_settings["TOURS_MERGED_CHOOSER_COLUMNS"] + if col not in trips_df.columns + ] if len(tours_cols) > 0: - tours_merged = inject.get_table('tours_merged').to_frame(columns=tours_cols) + tours_merged = inject.get_table("tours_merged").to_frame(columns=tours_cols) else: tours_merged = pd.DataFrame() # - trips_merged - merge trips and tours_merged trips_merged = pd.merge( - trips_df, - tours_merged, - left_on='tour_id', - right_index=True, - how="left") + trips_df, tours_merged, left_on="tour_id", right_index=True, how="left" + ) assert trips_merged.index.equals(trips.index) - tracing.print_summary('primary_purpose', trips_df.primary_purpose, value_counts=True) + tracing.print_summary( + "primary_purpose", trips_df.primary_purpose, value_counts=True + ) # setup skim keys - assert ('trip_period' not in trips_merged) - trips_merged['trip_period'] = network_los.skim_time_period_label(trips_merged.depart) - - orig_col = 'origin' - dest_col = 'destination' - min_per_period = network_los.skim_time_periods['period_minutes'] + assert "trip_period" not in trips_merged + trips_merged["trip_period"] = network_los.skim_time_period_label( + trips_merged.depart + ) + + orig_col = "origin" + dest_col = "destination" + min_per_period = network_los.skim_time_periods["period_minutes"] periods_per_hour = 60 / min_per_period constants = {} constants.update(config.get_model_constants(model_settings)) - constants.update({ - 'ORIGIN': orig_col, - 'DESTINATION': dest_col, - 'MIN_PER_PERIOD': min_per_period, - 'PERIODS_PER_HOUR': periods_per_hour - }) + constants.update( + { + "ORIGIN": orig_col, + "DESTINATION": dest_col, + "MIN_PER_PERIOD": min_per_period, + "PERIODS_PER_HOUR": periods_per_hour, + } + ) skim_dict = network_los.get_default_skim_dict() - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col, dest_key=dest_col, - dim3_key='trip_period') - dot_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col, dest_key=orig_col, - dim3_key='trip_period') - od_skim_wrapper = skim_dict.wrap('origin', 'destination') + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col, dest_key=dest_col, dim3_key="trip_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col, dest_key=orig_col, dim3_key="trip_period" + ) + od_skim_wrapper = skim_dict.wrap("origin", "destination") skims = { "odt_skims": odt_skim_stack_wrapper, @@ -106,15 +111,22 @@ def trip_mode_choice( if network_los.zone_system == los.THREE_ZONE: # fixme - is this a lightweight object? tvpb = network_los.tvpb - tvpb_recipe = model_settings.get('TVPB_recipe', 'tour_mode_choice') + tvpb_recipe = model_settings.get("TVPB_recipe", "tour_mode_choice") tvpb_logsum_odt = tvpb.wrap_logsum( - orig_key=orig_col, dest_key=dest_col, - tod_key='trip_period', segment_key='demographic_segment', - recipe=tvpb_recipe, cache_choices=True, - trace_label=trace_label, tag='tvpb_logsum_odt') - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - }) + orig_key=orig_col, + dest_key=dest_col, + tod_key="trip_period", + segment_key="demographic_segment", + recipe=tvpb_recipe, + cache_choices=True, + trace_label=trace_label, + tag="tvpb_logsum_odt", + ) + skims.update( + { + "tvpb_logsum_odt": tvpb_logsum_odt, + } + ) # This if-clause gives the user the option of NOT inheriting constants # from the tvpb settings. previously, these constants were inherited @@ -126,40 +138,49 @@ def trip_mode_choice( # the tvpb will still use the constants as defined in the recipe # specified above in `tvpb.wrap_logsum()` but they will not be used # in the trip mode choice expressions. - if model_settings.get('use_TVPB_constants', True): - constants.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + if model_settings.get("use_TVPB_constants", True): + constants.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) # don't create estimation data bundle if trip mode choice is being called # from another model step (e.g. tour mode choice logsum creation) - if pipeline._PIPELINE.rng().step_name != 'trip_mode_choice': + if pipeline._PIPELINE.rng().step_name != "trip_mode_choice": estimator = None else: - estimator = estimation.manager.begin_estimation('trip_mode_choice') + estimator = estimation.manager.begin_estimation("trip_mode_choice") if estimator: estimator.write_coefficients(model_settings=model_settings) estimator.write_coefficients_template(model_settings=model_settings) estimator.write_spec(model_settings) estimator.write_model_settings(model_settings, model_settings_file_name) - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) nest_spec = config.get_logit_model_settings(model_settings) choices_list = [] - for primary_purpose, trips_segment in trips_merged.groupby('primary_purpose'): + for primary_purpose, trips_segment in trips_merged.groupby("primary_purpose"): segment_trace_label = tracing.extend_trace_label(trace_label, primary_purpose) - logger.info("trip_mode_choice tour_type '%s' (%s trips)" % - (primary_purpose, len(trips_segment.index), )) + logger.info( + "trip_mode_choice tour_type '%s' (%s trips)" + % ( + primary_purpose, + len(trips_segment.index), + ) + ) # name index so tracing knows how to slice - assert trips_segment.index.name == 'trip_id' + assert trips_segment.index.name == "trip_id" if network_los.zone_system == los.THREE_ZONE: tvpb_logsum_odt.extend_trace_label(primary_purpose) # tvpb_logsum_dot.extend_trace_label(primary_purpose) - coefficients = simulate.get_segment_coefficients(model_settings, primary_purpose) + coefficients = simulate.get_segment_coefficients( + model_settings, primary_purpose + ) locals_dict = {} locals_dict.update(constants) @@ -171,11 +192,12 @@ def trip_mode_choice( # have to initialize chunker for preprocessing in order to access # tvpb logsum terms in preprocessor expressions. - with chunk.chunk_log(tracing.extend_trace_label( - trace_label, 'preprocessing'), base=True): + with chunk.chunk_log( + tracing.extend_trace_label(trace_label, "preprocessing"), base=True + ): expressions.annotate_preprocessors( - trips_segment, locals_dict, skims, - model_settings, segment_trace_label) + trips_segment, locals_dict, skims, model_settings, segment_trace_label + ) if estimator: # write choosers after annotation @@ -186,31 +208,38 @@ def trip_mode_choice( choices = mode_choice_simulate( choosers=trips_segment, spec=simulate.eval_coefficients(model_spec, coefficients, estimator), - nest_spec=simulate.eval_nest_coefficients(nest_spec, coefficients, segment_trace_label), + nest_spec=simulate.eval_nest_coefficients( + nest_spec, coefficients, segment_trace_label + ), skims=skims, locals_d=locals_dict, chunk_size=chunk_size, mode_column_name=mode_column_name, logsum_column_name=logsum_column_name, trace_label=segment_trace_label, - trace_choice_name='trip_mode_choice', - estimator=estimator) + trace_choice_name="trip_mode_choice", + estimator=estimator, + ) if trace_hh_id: # trace the coefficients - tracing.trace_df(pd.Series(locals_dict), - label=tracing.extend_trace_label(segment_trace_label, 'constants'), - transpose=False, - slicer='NONE') + tracing.trace_df( + pd.Series(locals_dict), + label=tracing.extend_trace_label(segment_trace_label, "constants"), + transpose=False, + slicer="NONE", + ) # so we can trace with annotations assign_in_place(trips_segment, choices) - tracing.trace_df(trips_segment, - label=tracing.extend_trace_label(segment_trace_label, 'trip_mode'), - slicer='tour_id', - index_label='tour_id', - warn_if_empty=True) + tracing.trace_df( + trips_segment, + label=tracing.extend_trace_label(segment_trace_label, "trip_mode"), + slicer="tour_id", + index_label="tour_id", + warn_if_empty=True, + ) choices_list.append(choices) @@ -219,7 +248,7 @@ def trip_mode_choice( # add cached tvpb_logsum tap choices for modes specified in tvpb_mode_path_types if network_los.zone_system == los.THREE_ZONE: - tvpb_mode_path_types = model_settings.get('tvpb_mode_path_types') + tvpb_mode_path_types = model_settings.get("tvpb_mode_path_types") for mode, path_type in tvpb_mode_path_types.items(): skim_cache = tvpb_logsum_odt.cache[path_type] @@ -227,30 +256,38 @@ def trip_mode_choice( for c in skim_cache: dest_col = c if dest_col not in choices_df: - choices_df[dest_col] = np.nan if pd.api.types.is_numeric_dtype(skim_cache[c]) else '' - choices_df[dest_col].where(choices_df[mode_column_name] != mode, skim_cache[c], inplace=True) + choices_df[dest_col] = ( + np.nan if pd.api.types.is_numeric_dtype(skim_cache[c]) else "" + ) + choices_df[dest_col].where( + choices_df[mode_column_name] != mode, skim_cache[c], inplace=True + ) if estimator: estimator.write_choices(choices_df.trip_mode) - choices_df.trip_mode = estimator.get_survey_values(choices_df.trip_mode, 'trips', 'trip_mode') + choices_df.trip_mode = estimator.get_survey_values( + choices_df.trip_mode, "trips", "trip_mode" + ) estimator.write_override_choices(choices_df.trip_mode) estimator.end_estimation() trips_df = trips.to_frame() assign_in_place(trips_df, choices_df) - tracing.print_summary('trip_modes', - trips_merged.tour_mode, value_counts=True) + tracing.print_summary("trip_modes", trips_merged.tour_mode, value_counts=True) - tracing.print_summary('trip_mode_choice choices', - trips_df[mode_column_name], value_counts=True) + tracing.print_summary( + "trip_mode_choice choices", trips_df[mode_column_name], value_counts=True + ) assert not trips_df[mode_column_name].isnull().any() pipeline.replace_table("trips", trips_df) if trace_hh_id: - tracing.trace_df(trips_df, - label=tracing.extend_trace_label(trace_label, 'trip_mode'), - slicer='trip_id', - index_label='trip_id', - warn_if_empty=True) + tracing.trace_df( + trips_df, + label=tracing.extend_trace_label(trace_label, "trip_mode"), + slicer="trip_id", + index_label="trip_id", + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/trip_purpose.py b/activitysim/abm/models/trip_purpose.py index f0787ccf55..b62c79ffbb 100644 --- a/activitysim/abm/models/trip_purpose.py +++ b/activitysim/abm/models/trip_purpose.py @@ -1,33 +1,40 @@ # ActivitySim # See full license in LICENSE.txt. import logging +from operator import index import numpy as np import pandas as pd -from activitysim.core import logit -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import chunk -from activitysim.core import pipeline -from activitysim.core import expressions -from activitysim.core import simulate +from activitysim.core import ( + chunk, + config, + expressions, + inject, + logit, + pipeline, + simulate, + tracing, +) + from .util import estimation +from activitysim.core.util import reindex +from .util.school_escort_tours_trips import split_out_school_escorting_trips logger = logging.getLogger(__name__) -PROBS_JOIN_COLUMNS = ['primary_purpose', 'outbound', 'person_type'] +PROBS_JOIN_COLUMNS = ["primary_purpose", "outbound", "person_type"] def map_coefficients(spec, coefficients): if isinstance(coefficients, pd.DataFrame): - assert ('value' in coefficients.columns) - coefficients = coefficients['value'].to_dict() + assert "value" in coefficients.columns + coefficients = coefficients["value"].to_dict() - assert isinstance(coefficients, dict), \ - "map_coefficients doesn't grok type of coefficients: %s" % (type(coefficients)) + assert isinstance( + coefficients, dict + ), "map_coefficients doesn't grok type of coefficients: %s" % (type(coefficients)) for c in spec.columns: if c == simulate.SPEC_LABEL_NAME: @@ -40,7 +47,14 @@ def map_coefficients(spec, coefficients): def choose_intermediate_trip_purpose( - trips, probs_spec, estimator, probs_join_cols, use_depart_time, trace_hh_id, trace_label): + trips, + probs_spec, + estimator, + probs_join_cols, + use_depart_time, + trace_hh_id, + trace_label, +): """ chose purpose for intermediate trips based on probs_spec which assigns relative weights (summing to 1) to the possible purpose choices @@ -52,7 +66,7 @@ def choose_intermediate_trip_purpose( non_purpose_cols = probs_join_cols.copy() if use_depart_time: - non_purpose_cols += ['depart_range_start', 'depart_range_end'] + non_purpose_cols += ["depart_range_start", "depart_range_end"] purpose_cols = [c for c in probs_spec.columns if c not in non_purpose_cols] num_trips = len(trips.index) @@ -60,40 +74,68 @@ def choose_intermediate_trip_purpose( # probs should sum to 1 across rows sum_probs = probs_spec[purpose_cols].sum(axis=1) - probs_spec.loc[:, purpose_cols] = probs_spec.loc[:, purpose_cols].div(sum_probs, axis=0) + probs_spec[purpose_cols] = probs_spec[purpose_cols].div(sum_probs, axis=0) # left join trips to probs (there may be multiple rows per trip for multiple depart ranges) - choosers = pd.merge(trips.reset_index(), probs_spec, on=probs_join_cols, - how='left').set_index('trip_id') - chunk.log_df(trace_label, 'choosers', choosers) + choosers = pd.merge( + trips.reset_index(), probs_spec, on=probs_join_cols, how="left" + ).set_index("trip_id") + chunk.log_df(trace_label, "choosers", choosers) if use_depart_time: # select the matching depart range (this should result on in exactly one chooser row per trip) - chooser_probs = \ - (choosers.start >= choosers['depart_range_start']) & (choosers.start <= choosers['depart_range_end']) + chooser_probs = (choosers.start >= choosers["depart_range_start"]) & ( + choosers.start <= choosers["depart_range_end"] + ) # if we failed to match a row in probs_spec if chooser_probs.sum() < num_trips: # this can happen if the spec doesn't have probs for the trips matching a trip's probs_join_cols - missing_trip_ids = trips.index[~trips.index.isin(choosers.index[chooser_probs])].values + missing_trip_ids = trips.index[ + ~trips.index.isin(choosers.index[chooser_probs]) + ].values unmatched_choosers = choosers[choosers.index.isin(missing_trip_ids)] - unmatched_choosers = unmatched_choosers[['person_id', 'start'] + non_purpose_cols] + unmatched_choosers = unmatched_choosers[ + ["person_id", "start"] + non_purpose_cols + ] # join to persons for better diagnostics - persons = inject.get_table('persons').to_frame() - persons_cols = ['age', 'is_worker', 'is_student', 'is_gradeschool', 'is_highschool', 'is_university'] + persons = inject.get_table("persons").to_frame() + persons_cols = [ + "age", + "is_worker", + "is_student", + "is_gradeschool", + "is_highschool", + "is_university", + ] unmatched_choosers = pd.merge( - unmatched_choosers, persons[[col for col in persons_cols if col in persons.columns]], - left_on='person_id', right_index=True, how='left') - - file_name = '%s.UNMATCHED_PROBS' % trace_label - logger.error("%s %s of %s intermediate trips could not be matched to probs based on join columns %s" % - (trace_label, len(unmatched_choosers), len(choosers), probs_join_cols)) - logger.info("Writing %s unmatched choosers to %s" % (len(unmatched_choosers), file_name,)) + unmatched_choosers, + persons[[col for col in persons_cols if col in persons.columns]], + left_on="person_id", + right_index=True, + how="left", + ) + + file_name = "%s.UNMATCHED_PROBS" % trace_label + logger.error( + "%s %s of %s intermediate trips could not be matched to probs based on join columns %s" + % (trace_label, len(unmatched_choosers), len(choosers), probs_join_cols) + ) + logger.info( + "Writing %s unmatched choosers to %s" + % ( + len(unmatched_choosers), + file_name, + ) + ) tracing.write_csv(unmatched_choosers, file_name=file_name, transpose=False) - raise RuntimeError("Some trips could not be matched to probs based on join columns %s." % probs_join_cols) + raise RuntimeError( + "Some trips could not be matched to probs based on join columns %s." + % probs_join_cols + ) # select the matching depart range (this should result on in exactly one chooser row per trip) choosers = choosers[chooser_probs] @@ -104,26 +146,23 @@ def choose_intermediate_trip_purpose( if estimator: probs_cols = list(probs_spec.columns) print(choosers[probs_cols]) - estimator.write_table(choosers[probs_cols], 'probs', append=True) + estimator.write_table(choosers[probs_cols], "probs", append=True) choices, rands = logit.make_choices( - choosers[purpose_cols], - trace_label=trace_label, trace_choosers=choosers) + choosers[purpose_cols], trace_label=trace_label, trace_choosers=choosers + ) if have_trace_targets: - tracing.trace_df(choices, '%s.choices' % trace_label, columns=[None, 'trip_purpose']) - tracing.trace_df(rands, '%s.rands' % trace_label, columns=[None, 'rand']) + tracing.trace_df( + choices, "%s.choices" % trace_label, columns=[None, "trip_purpose"] + ) + tracing.trace_df(rands, "%s.rands" % trace_label, columns=[None, "rand"]) choices = choices.map(pd.Series(purpose_cols)) return choices -def run_trip_purpose( - trips_df, - estimator, - chunk_size, - trace_hh_id, - trace_label): +def run_trip_purpose(trips_df, estimator, chunk_size, trace_hh_id, trace_label): """ trip purpose - main functionality separated from model step so it can be called iteratively @@ -141,36 +180,38 @@ def run_trip_purpose( """ # uniform across trip_purpose - chunk_tag = 'trip_purpose' + chunk_tag = "trip_purpose" - model_settings_file_name = 'trip_purpose.yaml' + model_settings_file_name = "trip_purpose.yaml" model_settings = config.read_model_settings(model_settings_file_name) - probs_join_cols = model_settings.get('probs_join_cols', PROBS_JOIN_COLUMNS) + probs_join_cols = model_settings.get("probs_join_cols", PROBS_JOIN_COLUMNS) - spec_file_name = model_settings.get('PROBS_SPEC', 'trip_purpose_probs.csv') - probs_spec = pd.read_csv(config.config_file_path(spec_file_name), comment='#') + spec_file_name = model_settings.get("PROBS_SPEC", "trip_purpose_probs.csv") + probs_spec = pd.read_csv(config.config_file_path(spec_file_name), comment="#") # FIXME for now, not really doing estimation for probabilistic model - just overwriting choices # besides, it isn't clear that named coefficients would be helpful if we had some form of estimation # coefficients_df = simulate.read_model_coefficients(model_settings) # probs_spec = map_coefficients(probs_spec, coefficients_df) if estimator: - estimator.write_spec(model_settings, tag='PROBS_SPEC') + estimator.write_spec(model_settings, tag="PROBS_SPEC") estimator.write_model_settings(model_settings, model_settings_file_name) # estimator.write_coefficients(coefficients_df, model_settings) result_list = [] # - last trip of outbound tour gets primary_purpose - last_trip = (trips_df.trip_num == trips_df.trip_count) + last_trip = trips_df.trip_num == trips_df.trip_count purpose = trips_df.primary_purpose[last_trip & trips_df.outbound] result_list.append(purpose) logger.info("assign purpose to %s last outbound trips", purpose.shape[0]) # - last trip of inbound tour gets home (or work for atwork subtours) purpose = trips_df.primary_purpose[last_trip & ~trips_df.outbound] - purpose = pd.Series(np.where(purpose == 'atwork', 'work', 'home'), index=purpose.index) + purpose = pd.Series( + np.where(purpose == "atwork", "work", "home"), index=purpose.index + ) result_list.append(purpose) logger.info("assign purpose to %s last inbound trips", purpose.shape[0]) @@ -178,19 +219,21 @@ def run_trip_purpose( trips_df = trips_df[~last_trip] logger.info("assign purpose to %s intermediate trips", trips_df.shape[0]) - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: locals_dict = config.get_model_constants(model_settings) expressions.assign_columns( df=trips_df, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) - use_depart_time = model_settings.get('use_depart_time', True) + use_depart_time = model_settings.get("use_depart_time", True) - for i, trips_chunk, chunk_trace_label in \ - chunk.adaptive_chunked_choosers(trips_df, chunk_size, chunk_tag, trace_label): + for i, trips_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + trips_df, chunk_size, chunk_tag, trace_label + ): choices = choose_intermediate_trip_purpose( trips_chunk, probs_spec, @@ -198,11 +241,12 @@ def run_trip_purpose( probs_join_cols=probs_join_cols, use_depart_time=use_depart_time, trace_hh_id=trace_hh_id, - trace_label=chunk_trace_label) + trace_label=chunk_trace_label, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) if len(result_list) > 1: choices = pd.concat(result_list) @@ -211,10 +255,7 @@ def run_trip_purpose( @inject.step() -def trip_purpose( - trips, - chunk_size, - trace_hh_id): +def trip_purpose(trips, chunk_size, trace_hh_id): """ trip purpose model step - calls run_trip_purpose to run the actual model @@ -225,9 +266,21 @@ def trip_purpose( trips_df = trips.to_frame() - estimator = estimation.manager.begin_estimation('trip_purpose') + if pipeline.is_table("school_escort_trips"): + school_escort_trips = pipeline.get_table("school_escort_trips") + # separate out school escorting trips to exclude them from the model and estimation data bundle + trips_df, se_trips_df, full_trips_index = split_out_school_escorting_trips( + trips_df, school_escort_trips + ) + + estimator = estimation.manager.begin_estimation("trip_purpose") if estimator: - chooser_cols_for_estimation = ['person_id', 'household_id', 'tour_id', 'trip_num'] + chooser_cols_for_estimation = [ + "person_id", + "household_id", + "tour_id", + "trip_num", + ] estimator.write_choosers(trips_df[chooser_cols_for_estimation]) choices = run_trip_purpose( @@ -235,16 +288,25 @@ def trip_purpose( estimator, chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=trace_label + trace_label=trace_label, ) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'trips', 'purpose') # override choices + choices = estimator.get_survey_values( + choices, "trips", "purpose" + ) # override choices estimator.write_override_choices(choices) estimator.end_estimation() - trips_df['purpose'] = choices + trips_df["purpose"] = choices + + if pipeline.is_table("school_escort_trips"): + # setting purpose for school escort trips + se_trips_df["purpose"] = reindex(school_escort_trips.purpose, se_trips_df.index) + # merge trips back together preserving index order + trips_df = pd.concat([trips_df, se_trips_df]) + trips_df = trips_df.reindex(full_trips_index) # we should have assigned a purpose to all trips assert not trips_df.purpose.isnull().any() @@ -252,8 +314,10 @@ def trip_purpose( pipeline.replace_table("trips", trips_df) if trace_hh_id: - tracing.trace_df(trips_df, - label=trace_label, - slicer='trip_id', - index_label='trip_id', - warn_if_empty=True) + tracing.trace_df( + trips_df, + label=trace_label, + slicer="trip_id", + index_label="trip_id", + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/trip_purpose_and_destination.py b/activitysim/abm/models/trip_purpose_and_destination.py index 19ac2c4691..31bca977ec 100644 --- a/activitysim/abm/models/trip_purpose_and_destination.py +++ b/activitysim/abm/models/trip_purpose_and_destination.py @@ -4,18 +4,14 @@ import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import inject - -from activitysim.core.util import assign_in_place - -from activitysim.abm.models.trip_purpose import run_trip_purpose from activitysim.abm.models.trip_destination import run_trip_destination - -from activitysim.abm.models.util.trip import flag_failed_trip_leg_mates -from activitysim.abm.models.util.trip import cleanup_failed_trips +from activitysim.abm.models.trip_purpose import run_trip_purpose +from activitysim.abm.models.util.trip import ( + cleanup_failed_trips, + flag_failed_trip_leg_mates, +) +from activitysim.core import config, inject, pipeline, tracing +from activitysim.core.util import assign_in_place from .util import estimation @@ -23,11 +19,8 @@ def run_trip_purpose_and_destination( - trips_df, - tours_merged_df, - chunk_size, - trace_hh_id, - trace_label): + trips_df, tours_merged_df, chunk_size, trace_hh_id, trace_label +): assert not trips_df.empty @@ -36,10 +29,10 @@ def run_trip_purpose_and_destination( estimator=None, chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, 'purpose') + trace_label=tracing.extend_trace_label(trace_label, "purpose"), ) - trips_df['purpose'] = choices + trips_df["purpose"] = choices trips_df, save_sample_df = run_trip_destination( trips_df, @@ -47,27 +40,31 @@ def run_trip_purpose_and_destination( estimator=None, chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, 'destination')) + trace_label=tracing.extend_trace_label(trace_label, "destination"), + ) return trips_df, save_sample_df @inject.step() -def trip_purpose_and_destination( - trips, - tours_merged, - chunk_size, - trace_hh_id): +def trip_purpose_and_destination(trips, tours_merged, chunk_size, trace_hh_id): trace_label = "trip_purpose_and_destination" - model_settings = config.read_model_settings('trip_purpose_and_destination.yaml') + model_settings = config.read_model_settings("trip_purpose_and_destination.yaml") # for consistency, read sample_table_name setting from trip_destination settings file - trip_destination_model_settings = config.read_model_settings('trip_destination.yaml') - sample_table_name = trip_destination_model_settings.get('DEST_CHOICE_SAMPLE_TABLE_NAME') - want_sample_table = config.setting('want_dest_choice_sample_tables') and sample_table_name is not None + trip_destination_model_settings = config.read_model_settings( + "trip_destination.yaml" + ) + sample_table_name = trip_destination_model_settings.get( + "DEST_CHOICE_SAMPLE_TABLE_NAME" + ) + want_sample_table = ( + config.setting("want_dest_choice_sample_tables") + and sample_table_name is not None + ) - MAX_ITERATIONS = model_settings.get('MAX_ITERATIONS', 5) + MAX_ITERATIONS = model_settings.get("MAX_ITERATIONS", 5) trips_df = trips.to_frame() tours_merged_df = tours_merged.to_frame() @@ -78,12 +75,12 @@ def trip_purpose_and_destination( # FIXME could allow MAX_ITERATIONS=0 to allow for cleanup-only run # in which case, we would need to drop bad trips, WITHOUT failing bad_trip leg_mates - assert (MAX_ITERATIONS > 0) + assert MAX_ITERATIONS > 0 # if trip_destination has been run before, keep only failed trips (and leg_mates) to retry - if 'destination' in trips_df: + if "destination" in trips_df: - if 'failed' not in trips_df.columns: + if "failed" not in trips_df.columns: # trip_destination model cleaned up any failed trips logger.info("%s - no failed column from prior model run." % trace_label) return @@ -91,35 +88,39 @@ def trip_purpose_and_destination( elif not trips_df.failed.any(): # 'failed' column but no failed trips from prior run of trip_destination logger.info("%s - no failed trips from prior model run." % trace_label) - trips_df.drop(columns='failed', inplace=True) + trips_df.drop(columns="failed", inplace=True) pipeline.replace_table("trips", trips_df) return else: logger.info("trip_destination has already been run. Rerunning failed trips") - flag_failed_trip_leg_mates(trips_df, 'failed') + flag_failed_trip_leg_mates(trips_df, "failed") trips_df = trips_df[trips_df.failed] - tours_merged_df = tours_merged_df[tours_merged_df.index.isin(trips_df.tour_id)] + tours_merged_df = tours_merged_df[ + tours_merged_df.index.isin(trips_df.tour_id) + ] logger.info("Rerunning %s failed trips and leg-mates" % trips_df.shape[0]) # drop any previously saved samples of failed trips if want_sample_table and pipeline.is_table(sample_table_name): logger.info("Dropping any previously saved samples of failed trips") save_sample_df = pipeline.get_table(sample_table_name) - save_sample_df.drop(trips_df.index, level='trip_id', inplace=True) + save_sample_df.drop(trips_df.index, level="trip_id", inplace=True) pipeline.replace_table(sample_table_name, save_sample_df) del save_sample_df # if we estimated trip_destination, there should have been no failed trips # if we didn't, but it is enabled, it is probably a configuration error # if we just estimated trip_purpose, it isn't clear what they are trying to do , nor how to handle it - assert not (estimation.manager.begin_estimation('trip_purpose') - or estimation.manager.begin_estimation('trip_destination')) + assert not ( + estimation.manager.begin_estimation("trip_purpose") + or estimation.manager.begin_estimation("trip_destination") + ) processed_trips = [] save_samples = [] i = 0 - TRIP_RESULT_COLUMNS = ['purpose', 'destination', 'origin', 'failed'] + TRIP_RESULT_COLUMNS = ["purpose", "destination", "origin", "failed"] while True: i += 1 @@ -133,14 +134,19 @@ def trip_purpose_and_destination( tours_merged_df, chunk_size=chunk_size, trace_hh_id=trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, "i%s" % i)) + trace_label=tracing.extend_trace_label(trace_label, "i%s" % i), + ) # # if testing, make sure at least one trip fails - if config.setting('testing_fail_trip_destination', False) \ - and (i == 1) and not trips_df.failed.any(): + if ( + config.setting("testing_fail_trip_destination", False) + and (i == 1) + and not trips_df.failed.any() + ): fail_o = trips_df[trips_df.trip_num < trips_df.trip_count].origin.max() - trips_df.failed = (trips_df.origin == fail_o) & \ - (trips_df.trip_num < trips_df.trip_count) + trips_df.failed = (trips_df.origin == fail_o) & ( + trips_df.trip_num < trips_df.trip_count + ) num_failed_trips = trips_df.failed.sum() @@ -151,10 +157,14 @@ def trip_purpose_and_destination( save_samples.append(save_sample_df) break - logger.warning("%s %s failed trips in iteration %s" % (trace_label, num_failed_trips, i)) + logger.warning( + "%s %s failed trips in iteration %s" % (trace_label, num_failed_trips, i) + ) file_name = "%s_i%s_failed_trips" % (trace_label, i) logger.info("writing failed trips to %s" % file_name) - tracing.write_csv(trips_df[trips_df.failed], file_name=file_name, transpose=False) + tracing.write_csv( + trips_df[trips_df.failed], file_name=file_name, transpose=False + ) # if max iterations reached, add remaining trips to processed_trips and give up # note that we do this BEFORE failing leg_mates so resulting trip legs are complete @@ -162,12 +172,14 @@ def trip_purpose_and_destination( logger.warning("%s too many iterations %s" % (trace_label, i)) processed_trips.append(trips_df[TRIP_RESULT_COLUMNS]) if save_sample_df is not None: - save_sample_df.drop(trips_df[trips_df.failed].index, level='trip_id', inplace=True) + save_sample_df.drop( + trips_df[trips_df.failed].index, level="trip_id", inplace=True + ) save_samples.append(save_sample_df) break # otherwise, if any trips failed, then their leg-mates trips must also fail - flag_failed_trip_leg_mates(trips_df, 'failed') + flag_failed_trip_leg_mates(trips_df, "failed") # add the good trips to processed_trips processed_trips.append(trips_df[~trips_df.failed][TRIP_RESULT_COLUMNS]) @@ -179,7 +191,7 @@ def trip_purpose_and_destination( # add trip samples of processed_trips to processed_samples if save_sample_df is not None: # drop failed trip samples - save_sample_df.drop(trips_df.index, level='trip_id', inplace=True) + save_sample_df.drop(trips_df.index, level="trip_id", inplace=True) save_samples.append(save_sample_df) # - assign result columns to trips @@ -187,11 +199,15 @@ def trip_purpose_and_destination( if len(save_samples) > 0: save_sample_df = pd.concat(save_samples) - logger.info("adding %s samples to %s" % (len(save_sample_df), sample_table_name)) + logger.info( + "adding %s samples to %s" % (len(save_sample_df), sample_table_name) + ) pipeline.extend_table(sample_table_name, save_sample_df) - logger.info("%s %s failed trips after %s iterations" % - (trace_label, processed_trips.failed.sum(), i)) + logger.info( + "%s %s failed trips after %s iterations" + % (trace_label, processed_trips.failed.sum(), i) + ) trips_df = trips.to_frame() assign_in_place(trips_df, processed_trips) @@ -207,14 +223,16 @@ def trip_purpose_and_destination( # once we discard failed trips, we should samples for all trips save_sample_df = pipeline.get_table(sample_table_name) # expect samples only for intermediate trip destinatinos - assert \ - len(save_sample_df.index.get_level_values(0).unique()) == \ - len(trips_df[trips_df.trip_num < trips_df.trip_count]) + assert len(save_sample_df.index.get_level_values(0).unique()) == len( + trips_df[trips_df.trip_num < trips_df.trip_count] + ) del save_sample_df if trace_hh_id: - tracing.trace_df(trips_df, - label=trace_label, - slicer='trip_id', - index_label='trip_id', - warn_if_empty=True) + tracing.trace_df( + trips_df, + label=trace_label, + slicer="trip_id", + index_label="trip_id", + warn_if_empty=True, + ) diff --git a/activitysim/abm/models/trip_scheduling.py b/activitysim/abm/models/trip_scheduling.py index 2e89414bbd..f8345650d8 100644 --- a/activitysim/abm/models/trip_scheduling.py +++ b/activitysim/abm/models/trip_scheduling.py @@ -1,28 +1,19 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - import logging +from builtins import range import numpy as np import pandas as pd -from activitysim.core import logit -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import chunk -from activitysim.core import pipeline - +from activitysim.abm.models.util import estimation +from activitysim.abm.models.util.trip import cleanup_failed_trips, failed_trip_cohorts +from activitysim.core import chunk, config, inject, logit, pipeline, tracing from activitysim.core.util import reindex -from activitysim.abm.models.util.trip import failed_trip_cohorts -from activitysim.abm.models.util.trip import cleanup_failed_trips - -from activitysim.abm.models.util import estimation +from .util.school_escort_tours_trips import split_out_school_escorting_trips from .util import probabilistic_scheduling as ps - logger = logging.getLogger(__name__) """ @@ -36,17 +27,22 @@ NO_TRIP_ID = 0 NO_DEPART = 0 -DEPART_ALT_BASE = 'DEPART_ALT_BASE' +DEPART_ALT_BASE = "DEPART_ALT_BASE" -FAILFIX = 'FAILFIX' -FAILFIX_CHOOSE_MOST_INITIAL = 'choose_most_initial' -FAILFIX_DROP_AND_CLEANUP = 'drop_and_cleanup' +FAILFIX = "FAILFIX" +FAILFIX_CHOOSE_MOST_INITIAL = "choose_most_initial" +FAILFIX_DROP_AND_CLEANUP = "drop_and_cleanup" FAILFIX_DEFAULT = FAILFIX_CHOOSE_MOST_INITIAL -DEPARTURE_MODE = 'departure' -DURATION_MODE = 'stop_duration' -PROBS_JOIN_COLUMNS_DEPARTURE_BASED = ['primary_purpose', 'outbound', 'tour_hour', 'trip_num'] -PROBS_JOIN_COLUMNS_DURATION_BASED = ['outbound', 'stop_num'] +DEPARTURE_MODE = "departure" +DURATION_MODE = "stop_duration" +PROBS_JOIN_COLUMNS_DEPARTURE_BASED = [ + "primary_purpose", + "outbound", + "tour_hour", + "trip_num", +] +PROBS_JOIN_COLUMNS_DURATION_BASED = ["outbound", "stop_num"] def set_tour_hour(trips, tours): @@ -64,33 +60,37 @@ def set_tour_hour(trips, tours): """ # all trips must depart between tour start and end - trips['earliest'] = reindex(tours.start, trips.tour_id) - trips['latest'] = reindex(tours.end, trips.tour_id) + trips["earliest"] = reindex(tours.start, trips.tour_id) + trips["latest"] = reindex(tours.end, trips.tour_id) # tour_hour is start for outbound trips, and end for inbound trips - trips['tour_hour'] = np.where( - trips.outbound, - trips['earliest'], - trips['latest']).astype(np.int8) + trips["tour_hour"] = np.where( + trips.outbound, trips["earliest"], trips["latest"] + ).astype(np.int8) # subtours indexed by parent_tour_id - subtours = tours.loc[tours.primary_purpose == 'atwork', - ['tour_num', 'tour_count', 'parent_tour_id', 'start', 'end']] + subtours = tours.loc[ + tours.primary_purpose == "atwork", + ["tour_num", "tour_count", "parent_tour_id", "start", "end"], + ] subtours.parent_tour_id = subtours.parent_tour_id.astype(np.int64) - subtours = subtours.set_index('parent_tour_id') + subtours = subtours.set_index("parent_tour_id") subtours = subtours.astype(np.int16) # remaining columns are all small ints # bool series trip_has_subtours = trips.tour_id.isin(subtours.index) outbound = trip_has_subtours & trips.outbound - trips.loc[outbound, 'latest'] = \ - reindex(subtours[subtours.tour_num == 1]['start'], trips[outbound].tour_id) + trips.loc[outbound, "latest"] = reindex( + subtours[subtours.tour_num == 1]["start"], trips[outbound].tour_id + ) inbound = trip_has_subtours & ~trips.outbound - trips.loc[inbound, 'earliest'] = \ - reindex(subtours[subtours.tour_num == subtours.tour_count]['end'], trips[inbound].tour_id) + trips.loc[inbound, "earliest"] = reindex( + subtours[subtours.tour_num == subtours.tour_count]["end"], + trips[inbound].tour_id, + ) def set_stop_num(trips): @@ -102,8 +102,8 @@ def set_stop_num(trips): outbound trips technically choose a departure time while inbound trips choose an arrival. """ - trips['stop_num'] = trips['trip_num'] - 1 - trips['stop_num'] = trips.stop_num.where(trips['outbound'], trips['trip_num']) + trips["stop_num"] = trips["trip_num"] - 1 + trips["stop_num"] = trips.stop_num.where(trips["outbound"], trips["trip_num"]) def update_tour_earliest(trips, outbound_choices): @@ -125,35 +125,41 @@ def update_tour_earliest(trips, outbound_choices): """ # append outbound departure times to trips tmp_trips = trips.copy() - tmp_trips['outbound_departure'] = outbound_choices.reindex(tmp_trips.index) + tmp_trips["outbound_departure"] = outbound_choices.reindex(tmp_trips.index) # get max outbound trip departure times for all person-tours - max_outbound_person_departures = tmp_trips.groupby( - ['person_id', 'tour_id'])['outbound_departure'].max() - max_outbound_person_departures.name = 'max_outbound_departure' + max_outbound_person_departures = tmp_trips.groupby(["person_id", "tour_id"])[ + "outbound_departure" + ].max() + max_outbound_person_departures.name = "max_outbound_departure" # append max outbound trip departure times to trips tmp_trips = tmp_trips.merge( max_outbound_person_departures, - left_on=['person_id', 'tour_id'], right_index=True) + left_on=["person_id", "tour_id"], + right_index=True, + ) # set the trips "earliest" column equal to the max outbound departure # time for all inbound trips. preserve values that were used for outbound trips - tmp_trips['earliest'] = tmp_trips['earliest'].where( - tmp_trips['outbound'], tmp_trips['max_outbound_departure']) + tmp_trips["earliest"] = tmp_trips["earliest"].where( + tmp_trips["outbound"], tmp_trips["max_outbound_departure"] + ) - trips['earliest'] = tmp_trips['earliest'].reindex(trips.index) + trips["earliest"] = tmp_trips["earliest"].reindex(trips.index) return def schedule_trips_in_leg( - outbound, - trips, - probs_spec, - model_settings, - is_last_iteration, - trace_hh_id, trace_label): + outbound, + trips, + probs_spec, + model_settings, + is_last_iteration, + trace_hh_id, + trace_label, +): """ Parameters @@ -173,17 +179,22 @@ def schedule_trips_in_leg( """ failfix = model_settings.get(FAILFIX, FAILFIX_DEFAULT) - depart_alt_base = model_settings.get('DEPART_ALT_BASE', 0) - scheduling_mode = model_settings.get('scheduling_mode', 'departure') - - if scheduling_mode == 'departure': - probs_join_cols = model_settings.get('probs_join_cols', PROBS_JOIN_COLUMNS_DEPARTURE_BASED) - elif scheduling_mode == 'stop_duration': - probs_join_cols = model_settings.get('probs_join_cols', PROBS_JOIN_COLUMNS_DURATION_BASED) + depart_alt_base = model_settings.get("DEPART_ALT_BASE", 0) + scheduling_mode = model_settings.get("scheduling_mode", "departure") + + if scheduling_mode == "departure": + probs_join_cols = model_settings.get( + "probs_join_cols", PROBS_JOIN_COLUMNS_DEPARTURE_BASED + ) + elif scheduling_mode == "stop_duration": + probs_join_cols = model_settings.get( + "probs_join_cols", PROBS_JOIN_COLUMNS_DURATION_BASED + ) else: logger.error( "Invalid scheduling mode specified: {0}.".format(scheduling_mode), - "Please select one of ['departure', 'stop_duration'] and try again.") + "Please select one of ['departure', 'stop_duration'] and try again.", + ) # logger.debug("%s scheduling %s trips" % (trace_label, trips.shape[0])) @@ -194,8 +205,10 @@ def schedule_trips_in_leg( # trips to/from tour origin or atwork get tour_hour departure times # no need to schedule them if there are no intermediate stops - to_from_tour_orig = (trips.trip_num == 1) if outbound else (trips.trip_num == trips.trip_count) - do_not_schedule = to_from_tour_orig | (trips.primary_purpose == 'atwork') + to_from_tour_orig = ( + (trips.trip_num == 1) if outbound else (trips.trip_num == trips.trip_count) + ) + do_not_schedule = to_from_tour_orig | (trips.primary_purpose == "atwork") choices = trips.tour_hour[do_not_schedule] if do_not_schedule.all(): @@ -207,16 +220,16 @@ def schedule_trips_in_leg( # add next_trip_id temp column, and specificy departure constraint column to update trips = trips.sort_index() if outbound or scheduling_mode == DURATION_MODE: - trips['next_trip_id'] = np.roll(trips.index, -1) + trips["next_trip_id"] = np.roll(trips.index, -1) is_final = trips.trip_num == trips.trip_count # each trip's depart constrains next trip's earliest depart option - ADJUST_NEXT_DEPART_COL = 'earliest' + ADJUST_NEXT_DEPART_COL = "earliest" else: - trips['next_trip_id'] = np.roll(trips.index, 1) + trips["next_trip_id"] = np.roll(trips.index, 1) is_final = trips.trip_num == 1 # if inbound, we are handling in reverse order, so each choice # constrains latest depart of the preceding trip - ADJUST_NEXT_DEPART_COL = 'latest' + ADJUST_NEXT_DEPART_COL = "latest" trips.next_trip_id = trips.next_trip_id.where(~is_final, NO_TRIP_ID) first_trip_in_leg = True @@ -229,34 +242,43 @@ def schedule_trips_in_leg( # iterate over inbound trips in descending trip_num order, skipping the final trip nth_trips = trips[trips.trip_num == trips.trip_count - i] - nth_trace_label = tracing.extend_trace_label(trace_label, 'num_%s' % i) + nth_trace_label = tracing.extend_trace_label(trace_label, "num_%s" % i) choices = ps.make_scheduling_choices( - nth_trips, scheduling_mode, probs_spec, probs_join_cols, + nth_trips, + scheduling_mode, + probs_spec, + probs_join_cols, depart_alt_base, first_trip_in_leg=first_trip_in_leg, report_failed_trips=is_last_iteration, trace_hh_id=trace_hh_id, - trace_label=nth_trace_label) + trace_label=nth_trace_label, + ) # most initial departure (when no choice was made because all probs were zero) if is_last_iteration and (failfix == FAILFIX_CHOOSE_MOST_INITIAL): choices = choices.reindex(nth_trips.index) - logger.warning("%s coercing %s depart choices to most initial" % - (nth_trace_label, choices.isna().sum())) + logger.warning( + "%s coercing %s depart choices to most initial" + % (nth_trace_label, choices.isna().sum()) + ) choices = choices.fillna(trips[ADJUST_NEXT_DEPART_COL]) # adjust allowed depart range of next trip - has_next_trip = (nth_trips.next_trip_id != NO_TRIP_ID) + has_next_trip = nth_trips.next_trip_id != NO_TRIP_ID if has_next_trip.any(): next_trip_ids = nth_trips.next_trip_id[has_next_trip] # patch choice any trips with next_trips that weren't scheduled - trips.loc[next_trip_ids, ADJUST_NEXT_DEPART_COL] = \ - choices.reindex(next_trip_ids.index).fillna(trips[ADJUST_NEXT_DEPART_COL]).values + trips.loc[next_trip_ids, ADJUST_NEXT_DEPART_COL] = ( + choices.reindex(next_trip_ids.index) + .fillna(trips[ADJUST_NEXT_DEPART_COL]) + .values + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) first_trip_in_leg = False @@ -267,15 +289,16 @@ def schedule_trips_in_leg( def run_trip_scheduling( - trips_chunk, - tours, - probs_spec, - model_settings, - estimator, - is_last_iteration, - chunk_size, - trace_hh_id, - trace_label): + trips_chunk, + tours, + probs_spec, + model_settings, + estimator, + is_last_iteration, + chunk_size, + trace_hh_id, + trace_label, +): set_tour_hour(trips_chunk, tours) set_stop_num(trips_chunk) @@ -289,19 +312,19 @@ def run_trip_scheduling( if trips_chunk.outbound.any(): leg_chunk = trips_chunk[trips_chunk.outbound] - leg_trace_label = tracing.extend_trace_label(trace_label, 'outbound') - choices = \ - schedule_trips_in_leg( - outbound=True, - trips=leg_chunk, - probs_spec=probs_spec, - model_settings=model_settings, - is_last_iteration=is_last_iteration, - trace_hh_id=trace_hh_id, - trace_label=leg_trace_label) + leg_trace_label = tracing.extend_trace_label(trace_label, "outbound") + choices = schedule_trips_in_leg( + outbound=True, + trips=leg_chunk, + probs_spec=probs_spec, + model_settings=model_settings, + is_last_iteration=is_last_iteration, + trace_hh_id=trace_hh_id, + trace_label=leg_trace_label, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # departure time of last outbound trips must constrain # departure times for initial inbound trips @@ -309,19 +332,19 @@ def run_trip_scheduling( if (~trips_chunk.outbound).any(): leg_chunk = trips_chunk[~trips_chunk.outbound] - leg_trace_label = tracing.extend_trace_label(trace_label, 'inbound') - choices = \ - schedule_trips_in_leg( - outbound=False, - trips=leg_chunk, - probs_spec=probs_spec, - model_settings=model_settings, - is_last_iteration=is_last_iteration, - trace_hh_id=trace_hh_id, - trace_label=leg_trace_label) + leg_trace_label = tracing.extend_trace_label(trace_label, "inbound") + choices = schedule_trips_in_leg( + outbound=False, + trips=leg_chunk, + probs_spec=probs_spec, + model_settings=model_settings, + is_last_iteration=is_last_iteration, + trace_hh_id=trace_hh_id, + trace_label=leg_trace_label, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) choices = pd.concat(result_list) @@ -329,11 +352,7 @@ def run_trip_scheduling( @inject.step() -def trip_scheduling( - trips, - tours, - chunk_size, - trace_hh_id): +def trip_scheduling(trips, tours, chunk_size, trace_hh_id): """ Trip scheduling assigns depart times for trips within the start, end limits of the tour. @@ -381,46 +400,71 @@ def trip_scheduling( """ trace_label = "trip_scheduling" - model_settings_file_name = 'trip_scheduling.yaml' + model_settings_file_name = "trip_scheduling.yaml" model_settings = config.read_model_settings(model_settings_file_name) trips_df = trips.to_frame() tours = tours.to_frame() + if pipeline.is_table("school_escort_trips"): + school_escort_trips = pipeline.get_table("school_escort_trips") + # separate out school escorting trips to exclude them from the model and estimation data bundle + trips_df, se_trips_df, full_trips_index = split_out_school_escorting_trips( + trips_df, school_escort_trips + ) + non_se_trips_df = trips_df + # add columns 'tour_hour', 'earliest', 'latest' to trips set_tour_hour(trips_df, tours) # trip_scheduling is a probabilistic model ane we don't support estimation, # but we do need to override choices in estimation mode - estimator = estimation.manager.begin_estimation('trip_scheduling') + estimator = estimation.manager.begin_estimation("trip_scheduling") if estimator: - estimator.write_spec(model_settings, tag='PROBS_SPEC') + estimator.write_spec(model_settings, tag="PROBS_SPEC") estimator.write_model_settings(model_settings, model_settings_file_name) - chooser_cols_for_estimation = ['person_id', 'household_id', 'tour_id', 'trip_num', 'trip_count', - 'primary_purpose', 'outbound', 'earliest', 'latest', 'tour_hour', ] + chooser_cols_for_estimation = [ + "person_id", + "household_id", + "tour_id", + "trip_num", + "trip_count", + "primary_purpose", + "outbound", + "earliest", + "latest", + "tour_hour", + ] estimator.write_choosers(trips_df[chooser_cols_for_estimation]) - probs_spec = pd.read_csv(config.config_file_path('trip_scheduling_probs.csv'), comment='#') + probs_spec = pd.read_csv( + config.config_file_path("trip_scheduling_probs.csv"), comment="#" + ) # FIXME for now, not really doing estimation for probabilistic model - just overwriting choices # besides, it isn't clear that named coefficients would be helpful if we had some form of estimation # coefficients_df = simulate.read_model_coefficients(model_settings) # probs_spec = map_coefficients(probs_spec, coefficients_df) # add tour-based chunk_id so we can chunk all trips in tour together - trips_df['chunk_id'] = reindex(pd.Series(list(range(len(tours))), tours.index), trips_df.tour_id) + trips_df["chunk_id"] = reindex( + pd.Series(list(range(len(tours))), tours.index), trips_df.tour_id + ) - assert 'DEPART_ALT_BASE' in model_settings + assert "DEPART_ALT_BASE" in model_settings failfix = model_settings.get(FAILFIX, FAILFIX_DEFAULT) - max_iterations = model_settings.get('MAX_ITERATIONS', 1) + max_iterations = model_settings.get("MAX_ITERATIONS", 1) assert max_iterations > 0 choices_list = [] - for chunk_i, trips_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers_by_chunk_id(trips_df, - chunk_size, - trace_label, - trace_label): + for ( + chunk_i, + trips_chunk, + chunk_trace_label, + ) in chunk.adaptive_chunked_choosers_by_chunk_id( + trips_df, chunk_size, trace_label, trace_label + ): i = 0 while (i < max_iterations) and not trips_chunk.empty: @@ -429,22 +473,27 @@ def trip_scheduling( with chunk.chunk_log(trace_label) if i == 0 else chunk.chunk_log_skip(): i += 1 - is_last_iteration = (i == max_iterations) + is_last_iteration = i == max_iterations trace_label_i = tracing.extend_trace_label(trace_label, "i%s" % i) - logger.info("%s scheduling %s trips within chunk %s", trace_label_i, trips_chunk.shape[0], chunk_i) - - choices = \ - run_trip_scheduling( - trips_chunk, - tours, - probs_spec, - model_settings, - estimator=estimator, - is_last_iteration=is_last_iteration, - chunk_size=chunk_size, - trace_hh_id=trace_hh_id, - trace_label=trace_label_i) + logger.info( + "%s scheduling %s trips within chunk %s", + trace_label_i, + trips_chunk.shape[0], + chunk_i, + ) + + choices = run_trip_scheduling( + trips_chunk, + tours, + probs_spec, + model_settings, + estimator=estimator, + is_last_iteration=is_last_iteration, + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=trace_label_i, + ) # boolean series of trips whose individual trip scheduling failed failed = choices.reindex(trips_chunk.index).isnull() @@ -460,29 +509,56 @@ def trip_scheduling( trips_df = trips.to_frame() + if pipeline.is_table("school_escort_trips"): + # separate out school escorting trips to exclude them from the model and estimation data bundle + trips_df, se_trips_df, full_trips_index = split_out_school_escorting_trips( + trips_df, school_escort_trips + ) + non_se_trips_df = trips_df + choices = pd.concat(choices_list) choices = choices.reindex(trips_df.index) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'trips', 'depart') # override choices + choices = estimator.get_survey_values( + choices, "trips", "depart" + ) # override choices estimator.write_override_choices(choices) estimator.end_estimation() assert not choices.isnull().any() if choices.isnull().any(): - logger.warning("%s of %s trips could not be scheduled after %s iterations" % - (choices.isnull().sum(), trips_df.shape[0], i)) + logger.warning( + "%s of %s trips could not be scheduled after %s iterations" + % (choices.isnull().sum(), trips_df.shape[0], i) + ) if failfix != FAILFIX_DROP_AND_CLEANUP: - raise RuntimeError("%s setting '%s' not enabled in settings" % - (FAILFIX, FAILFIX_DROP_AND_CLEANUP)) + raise RuntimeError( + "%s setting '%s' not enabled in settings" + % (FAILFIX, FAILFIX_DROP_AND_CLEANUP) + ) - trips_df['failed'] = choices.isnull() + trips_df["failed"] = choices.isnull() trips_df = cleanup_failed_trips(trips_df) choices = choices.reindex(trips_df.index) - trips_df['depart'] = choices + trips_df["depart"] = choices + + if pipeline.is_table("school_escort_trips"): + # setting destination for school escort trips + se_trips_df["depart"] = reindex(school_escort_trips.depart, se_trips_df.index) + non_se_trips_df["depart"] = reindex(trips_df.depart, non_se_trips_df.index) + # merge trips back together + full_trips_df = pd.concat([non_se_trips_df, se_trips_df]) + full_trips_df["depart"] = full_trips_df["depart"].astype(int) + # want to preserve the original order, but first need to remove trips that were dropped + new_full_trips_index = full_trips_index[ + full_trips_index.isin(trips_df.index) + | full_trips_index.isin(se_trips_df.index) + ] + trips_df = full_trips_df.reindex(new_full_trips_index) assert not trips_df.depart.isnull().any() diff --git a/activitysim/abm/models/trip_scheduling_choice.py b/activitysim/abm/models/trip_scheduling_choice.py index c950b0726f..463a00ee76 100644 --- a/activitysim/abm/models/trip_scheduling_choice.py +++ b/activitysim/abm/models/trip_scheduling_choice.py @@ -3,39 +3,40 @@ import numpy as np import pandas as pd -from activitysim.core import chunk -from activitysim.core import config -from activitysim.core import expressions -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import tracing - -from activitysim.abm.models.util.trip import generate_alternative_sizes, get_time_windows +from activitysim.abm.models.util.trip import ( + generate_alternative_sizes, + get_time_windows, +) +from activitysim.core import ( + chunk, + config, + expressions, + inject, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_sample_simulate import _interaction_sample_simulate logger = logging.getLogger(__name__) -TOUR_DURATION_COLUMN = 'duration' -NUM_ALTERNATIVES = 'num_alts' -MAIN_LEG_DURATION = 'main_leg_duration' -IB_DURATION = 'inbound_duration' -OB_DURATION = 'outbound_duration' -NUM_OB_STOPS = 'num_outbound_stops' -NUM_IB_STOPS = 'num_inbound_stops' -HAS_OB_STOPS = 'has_outbound_stops' -HAS_IB_STOPS = 'has_inbound_stops' -LAST_OB_STOP = 'last_outbound_stop' -FIRST_IB_STOP = 'last_inbound_stop' +TOUR_DURATION_COLUMN = "duration" +NUM_ALTERNATIVES = "num_alts" +MAIN_LEG_DURATION = "main_leg_duration" +IB_DURATION = "inbound_duration" +OB_DURATION = "outbound_duration" +NUM_OB_STOPS = "num_outbound_stops" +NUM_IB_STOPS = "num_inbound_stops" +HAS_OB_STOPS = "has_outbound_stops" +HAS_IB_STOPS = "has_inbound_stops" +LAST_OB_STOP = "last_outbound_stop" +FIRST_IB_STOP = "last_inbound_stop" -SCHEDULE_ID = 'schedule_id' +SCHEDULE_ID = "schedule_id" -OUTBOUND_FLAG = 'outbound' +OUTBOUND_FLAG = "outbound" -TEMP_COLS = [NUM_OB_STOPS, LAST_OB_STOP, - NUM_IB_STOPS, FIRST_IB_STOP, - NUM_ALTERNATIVES - ] +TEMP_COLS = [NUM_OB_STOPS, LAST_OB_STOP, NUM_IB_STOPS, FIRST_IB_STOP, NUM_ALTERNATIVES] def generate_schedule_alternatives(tours): @@ -66,7 +67,9 @@ def generate_schedule_alternatives(tours): stops. :return: pd.Dataframe: Potential time duration windows. """ - assert set([NUM_IB_STOPS, NUM_OB_STOPS, TOUR_DURATION_COLUMN]).issubset(tours.columns) + assert set([NUM_IB_STOPS, NUM_OB_STOPS, TOUR_DURATION_COLUMN]).issubset( + tours.columns + ) stop_pattern = tours[HAS_OB_STOPS].astype(int) + tours[HAS_IB_STOPS].astype(int) @@ -87,7 +90,9 @@ def no_stops_patterns(tours): :param tours: pd.Dataframe: Tours with no intermediate stops. :return: pd.Dataframe: Main leg duration, outbound leg duration, and inbound leg duration """ - alternatives = tours[[TOUR_DURATION_COLUMN]].rename(columns={TOUR_DURATION_COLUMN: MAIN_LEG_DURATION}) + alternatives = tours[[TOUR_DURATION_COLUMN]].rename( + columns={TOUR_DURATION_COLUMN: MAIN_LEG_DURATION} + ) alternatives[[IB_DURATION, OB_DURATION]] = 0 return alternatives.astype(int) @@ -106,15 +111,19 @@ def stop_one_way_only_patterns(tours, travel_duration_col=TOUR_DURATION_COLUMN): assert travel_duration_col in tours.columns - indexes, patterns, pattern_sizes = get_pattern_index_and_arrays(tours.index, tours[travel_duration_col], - one_way=True) + indexes, patterns, pattern_sizes = get_pattern_index_and_arrays( + tours.index, tours[travel_duration_col], one_way=True + ) direction = np.repeat(tours[HAS_OB_STOPS], pattern_sizes) inbound = np.where(direction == 0, patterns[:, 1], 0) outbound = np.where(direction == 1, patterns[:, 1], 0) - patterns = pd.DataFrame(index=indexes, data=np.column_stack((patterns[:, 0], outbound, inbound)), - columns=[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]) + patterns = pd.DataFrame( + index=indexes, + data=np.column_stack((patterns[:, 0], outbound, inbound)), + columns=[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION], + ) patterns.index.name = tours.index.name return patterns @@ -134,10 +143,15 @@ def stop_two_way_only_patterns(tours, travel_duration_col=TOUR_DURATION_COLUMN): assert travel_duration_col in tours.columns - indexes, patterns, _ = get_pattern_index_and_arrays(tours.index, tours[travel_duration_col], one_way=False) + indexes, patterns, _ = get_pattern_index_and_arrays( + tours.index, tours[travel_duration_col], one_way=False + ) - patterns = pd.DataFrame(index=indexes, data=patterns, - columns=[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]) + patterns = pd.DataFrame( + index=indexes, + data=patterns, + columns=[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION], + ) patterns.index.name = tours.index.name return patterns @@ -163,7 +177,9 @@ def get_pattern_index_and_arrays(tour_indexes, durations, one_way=True): pattern_sizes = [] for duration in durations: - possible_windows = time_windows[:max_columns, np.where(time_windows.sum(axis=0) == duration)[0]] + possible_windows = time_windows[ + :max_columns, np.where(time_windows.sum(axis=0) == duration)[0] + ] possible_windows = np.unique(possible_windows, axis=1).transpose() patterns.append(possible_windows) pattern_sizes.append(possible_windows.shape[0]) @@ -199,11 +215,12 @@ def get_spec_for_segment(model_settings, spec_name, segment): return spec -def run_trip_scheduling_choice(spec, tours, skims, locals_dict, - chunk_size, trace_hh_id, trace_label): +def run_trip_scheduling_choice( + spec, tours, skims, locals_dict, chunk_size, trace_hh_id, trace_label +): NUM_TOUR_LEGS = 3 - trace_label = tracing.extend_trace_label(trace_label, 'interaction_sample_simulate') + trace_label = tracing.extend_trace_label(trace_label, "interaction_sample_simulate") # FIXME: The duration, start, and end should be ints well before we get here... tours[TOUR_DURATION_COLUMN] = tours[TOUR_DURATION_COLUMN].astype(np.int8) @@ -221,14 +238,21 @@ def run_trip_scheduling_choice(spec, tours, skims, locals_dict, # Assert the number of tour leg schedule alternatives for each tour tours[NUM_ALTERNATIVES] = 1 - tours.loc[tours[HAS_OB_STOPS] != tours[HAS_IB_STOPS], NUM_ALTERNATIVES] = tours[TOUR_DURATION_COLUMN] + 1 - tours.loc[tours[HAS_OB_STOPS] & tours[HAS_IB_STOPS], NUM_ALTERNATIVES] = \ - tours.apply(lambda x: alt_sizes[1, x.duration], axis=1) + tours.loc[tours[HAS_OB_STOPS] != tours[HAS_IB_STOPS], NUM_ALTERNATIVES] = ( + tours[TOUR_DURATION_COLUMN] + 1 + ) + tours.loc[ + tours[HAS_OB_STOPS] & tours[HAS_IB_STOPS], NUM_ALTERNATIVES + ] = tours.apply(lambda x: alt_sizes[1, x.duration], axis=1) # If no intermediate stops on the tour, then then main leg duration # equals the tour duration and the intermediate durations are zero - tours.loc[~tours[HAS_OB_STOPS] & ~tours[HAS_IB_STOPS], MAIN_LEG_DURATION] = tours[TOUR_DURATION_COLUMN] - tours.loc[~tours[HAS_OB_STOPS] & ~tours[HAS_IB_STOPS], [IB_DURATION, OB_DURATION]] = 0 + tours.loc[~tours[HAS_OB_STOPS] & ~tours[HAS_IB_STOPS], MAIN_LEG_DURATION] = tours[ + TOUR_DURATION_COLUMN + ] + tours.loc[ + ~tours[HAS_OB_STOPS] & ~tours[HAS_IB_STOPS], [IB_DURATION, OB_DURATION] + ] = 0 # We only need to determine schedules for tours with intermediate stops indirect_tours = tours.loc[tours[HAS_OB_STOPS] | tours[HAS_IB_STOPS]] @@ -237,8 +261,9 @@ def run_trip_scheduling_choice(spec, tours, skims, locals_dict, # Iterate through the chunks result_list = [] - for i, choosers, chunk_trace_label in \ - chunk.adaptive_chunked_choosers(indirect_tours, chunk_size, trace_label): + for i, choosers, chunk_trace_label in chunk.adaptive_chunked_choosers( + indirect_tours, chunk_size, trace_label + ): # Sort the choosers and get the schedule alternatives choosers = choosers.sort_index() @@ -254,14 +279,15 @@ def run_trip_scheduling_choice(spec, tours, skims, locals_dict, alternatives=schedules, spec=spec, choice_column=SCHEDULE_ID, - allow_zero_probs=True, zero_prob_choice_val=-999, + allow_zero_probs=True, + zero_prob_choice_val=-999, log_alt_losers=False, want_logsums=False, skims=skims, locals_d=locals_dict, trace_label=chunk_trace_label, - trace_choice_name='trip_schedule_stage_1', - estimator=None + trace_choice_name="trip_schedule_stage_1", + estimator=None, ) assert len(choices.index) == len(choosers.index) @@ -270,7 +296,7 @@ def run_trip_scheduling_choice(spec, tours, skims, locals_dict, result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: @@ -285,24 +311,20 @@ def run_trip_scheduling_choice(spec, tours, skims, locals_dict, tours.update(choices[[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]]) # Cleanup data types and drop temporary columns - tours[[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]] = \ - tours[[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]].astype(np.int8) + tours[[MAIN_LEG_DURATION, OB_DURATION, IB_DURATION]] = tours[ + [MAIN_LEG_DURATION, OB_DURATION, IB_DURATION] + ].astype(np.int8) tours = tours.drop(columns=TEMP_COLS) return tours @inject.step() -def trip_scheduling_choice( - trips, - tours, - skim_dict, - chunk_size, - trace_hh_id): +def trip_scheduling_choice(trips, tours, skim_dict, chunk_size, trace_hh_id): - trace_label = 'trip_scheduling_choice' - model_settings = config.read_model_settings('trip_scheduling_choice.yaml') - spec = get_spec_for_segment(model_settings, 'SPECIFICATION', 'stage_one') + trace_label = "trip_scheduling_choice" + model_settings = config.read_model_settings("trip_scheduling_choice.yaml") + spec = get_spec_for_segment(model_settings, "SPECIFICATION", "stage_one") trips_df = trips.to_frame() tours_df = tours.to_frame() @@ -310,20 +332,36 @@ def trip_scheduling_choice( outbound_trips = trips_df[trips_df[OUTBOUND_FLAG]] inbound_trips = trips_df[~trips_df[OUTBOUND_FLAG]] - last_outbound_trip = trips_df.loc[outbound_trips.groupby('tour_id')['trip_num'].idxmax()] - first_inbound_trip = trips_df.loc[inbound_trips.groupby('tour_id')['trip_num'].idxmin()] - - tours_df[NUM_OB_STOPS] = outbound_trips.groupby('tour_id').size().reindex(tours.index) - 1 - tours_df[NUM_IB_STOPS] = inbound_trips.groupby('tour_id').size().reindex(tours.index) - 1 - tours_df[LAST_OB_STOP] = last_outbound_trip[['tour_id', 'origin']].set_index('tour_id').reindex(tours.index) - tours_df[FIRST_IB_STOP] = first_inbound_trip[['tour_id', 'destination']].set_index('tour_id').reindex(tours.index) - - preprocessor_settings = model_settings.get('PREPROCESSOR', None) + last_outbound_trip = trips_df.loc[ + outbound_trips.groupby("tour_id")["trip_num"].idxmax() + ] + first_inbound_trip = trips_df.loc[ + inbound_trips.groupby("tour_id")["trip_num"].idxmin() + ] + + tours_df[NUM_OB_STOPS] = ( + outbound_trips.groupby("tour_id").size().reindex(tours.index) - 1 + ) + tours_df[NUM_IB_STOPS] = ( + inbound_trips.groupby("tour_id").size().reindex(tours.index) - 1 + ) + tours_df[LAST_OB_STOP] = ( + last_outbound_trip[["tour_id", "origin"]] + .set_index("tour_id") + .reindex(tours.index) + ) + tours_df[FIRST_IB_STOP] = ( + first_inbound_trip[["tour_id", "destination"]] + .set_index("tour_id") + .reindex(tours.index) + ) + + preprocessor_settings = model_settings.get("PREPROCESSOR", None) if preprocessor_settings: # hack: preprocessor adds origin column in place if it does not exist already - od_skim_stack_wrapper = skim_dict.wrap('origin', 'destination') - do_skim_stack_wrapper = skim_dict.wrap('destination', 'origin') + od_skim_stack_wrapper = skim_dict.wrap("origin", "destination") + do_skim_stack_wrapper = skim_dict.wrap("destination", "origin") obib_skim_stack_wrapper = skim_dict.wrap(LAST_OB_STOP, FIRST_IB_STOP) skims = [od_skim_stack_wrapper, do_skim_stack_wrapper, obib_skim_stack_wrapper] @@ -331,7 +369,7 @@ def trip_scheduling_choice( locals_dict = { "od_skims": od_skim_stack_wrapper, "do_skims": do_skim_stack_wrapper, - "obib_skims": obib_skim_stack_wrapper + "obib_skims": obib_skim_stack_wrapper, } simulate.set_skim_wrapper_targets(tours_df, skims) @@ -340,8 +378,11 @@ def trip_scheduling_choice( df=tours_df, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) - tours_df = run_trip_scheduling_choice(spec, tours_df, skims, locals_dict, chunk_size, trace_hh_id, trace_label) + tours_df = run_trip_scheduling_choice( + spec, tours_df, skims, locals_dict, chunk_size, trace_hh_id, trace_label + ) pipeline.replace_table("tours", tours_df) diff --git a/activitysim/abm/models/util/annotate.py b/activitysim/abm/models/util/annotate.py new file mode 100644 index 0000000000..67ee45039f --- /dev/null +++ b/activitysim/abm/models/util/annotate.py @@ -0,0 +1,52 @@ +# ActivitySim +# See full license in LICENSE.txt. +import pandas as pd +import logging + +from activitysim.core import config +from activitysim.core import expressions +from activitysim.core import tracing +from activitysim.core import inject +from activitysim.core import pipeline + +""" +Code for annotating tables +""" + +logger = logging.getLogger(__name__) + + +def annotate_tours(model_settings, trace_label): + """ + Add columns to the tours table in the pipeline according to spec. + + Parameters + ---------- + model_settings : dict + trace_label : str + """ + tours = inject.get_table("tours").to_frame() + expressions.assign_columns( + df=tours, + model_settings=model_settings.get("annotate_tours"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_tours"), + ) + pipeline.replace_table("tours", tours) + + +def annotate_trips(model_settings, trace_label): + """ + Add columns to the trips table in the pipeline according to spec. + + Parameters + ---------- + model_settings : dict + trace_label : str + """ + tours = inject.get_table("trips").to_frame() + expressions.assign_columns( + df=trips, + model_settings=model_settings.get("annotate_trips"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_trips"), + ) + pipeline.replace_table("trips", trips) diff --git a/activitysim/abm/models/util/canonical_ids.py b/activitysim/abm/models/util/canonical_ids.py index 915688044e..f1afa1a06e 100644 --- a/activitysim/abm/models/util/canonical_ids.py +++ b/activitysim/abm/models/util/canonical_ids.py @@ -4,23 +4,41 @@ import numpy as np import pandas as pd +import re from activitysim.core.util import reindex +from activitysim.core import config +from activitysim.core import pipeline +from activitysim.core import simulate logger = logging.getLogger(__name__) -RANDOM_CHANNELS = ['households', 'persons', 'tours', 'joint_tour_participants', 'trips', 'vehicles'] -TRACEABLE_TABLES = ['households', 'persons', 'tours', 'joint_tour_participants', 'trips', 'vehicles'] +RANDOM_CHANNELS = [ + "households", + "persons", + "tours", + "joint_tour_participants", + "trips", + "vehicles", +] +TRACEABLE_TABLES = [ + "households", + "persons", + "tours", + "joint_tour_participants", + "trips", + "vehicles", +] CANONICAL_TABLE_INDEX_NAMES = { - 'households': 'household_id', - 'persons': 'person_id', - 'tours': 'tour_id', - 'joint_tour_participants': 'participant_id', - 'trips': 'trip_id', - 'land_use': 'zone_id', - 'vehicles': 'vehicle_id' + "households": "household_id", + "persons": "person_id", + "tours": "tour_id", + "joint_tour_participants": "participant_id", + "trips": "trip_id", + "land_use": "zone_id", + "vehicles": "vehicle_id", } # unfortunately the two places this is needed (joint_tour_participation and estimation.infer @@ -32,12 +50,336 @@ def enumerate_tour_types(tour_flavors): # tour_flavors: {'eat': 1, 'business': 2, 'maint': 1} # channels: ['eat1', 'business1', 'business2', 'maint1'] - channels = [tour_type + str(tour_num) - for tour_type, max_count in tour_flavors.items() - for tour_num in range(1, max_count + 1)] + channels = [ + tour_type + str(tour_num) + for tour_type, max_count in tour_flavors.items() + for tour_num in range(1, max_count + 1) + ] return channels +def read_alts_file(file_name, set_index=None): + try: + alts = simulate.read_model_alts(file_name, set_index=set_index) + except RuntimeError: + logger.warning(f"Could not find file {file_name} to determine tour flavors.") + return pd.DataFrame() + return alts + + +def read_spec_file(file_name, set_index=None): + try: + alts = simulate.read_model_alts(file_name, set_index=set_index) + except RuntimeError: + logger.warning(f"Could not find file {file_name} to determine tour flavors.") + return pd.DataFrame() + return alts + + +def parse_tour_flavor_from_columns(columns, tour_flavor): + """ + determines the max number from columns if column name contains tour flavor + example: columns={'work1', 'work2'} -> 2 + + Parameters + ---------- + columns : list of str + tour_flavor : str + string subset that you want to find in columns + + Returns + ------- + int + max int found in columns with tour_flavor + """ + # below produces a list of numbers present in each column containing the tour flavor string + tour_numbers = [(re.findall(r"\d+", col)) for col in columns if tour_flavor in col] + + # flatten list + tour_numbers = [int(item) for sublist in tour_numbers for item in sublist] + + # find max + try: + max_tour_flavor = max(tour_numbers) + return max_tour_flavor + except ValueError: + # could not find a maximum integer for this flavor in the columns + return -1 + + +def determine_mandatory_tour_flavors(mtf_settings, model_spec, default_flavors): + provided_flavors = mtf_settings.get("MANDATORY_TOUR_FLAVORS", None) + + mandatory_tour_flavors = { + # hard code work and school tours + "work": parse_tour_flavor_from_columns(model_spec.columns, "work"), + "school": parse_tour_flavor_from_columns(model_spec.columns, "school"), + } + + valid_flavors = (mandatory_tour_flavors["work"] >= 1) & ( + mandatory_tour_flavors["school"] >= 1 + ) + + if provided_flavors is not None: + if mandatory_tour_flavors != provided_flavors: + logger.warning( + "Specified tour flavors do not match alternative file flavors" + ) + logger.warning( + f"{provided_flavors} does not equal {mandatory_tour_flavors}" + ) + # use provided flavors if provided + return provided_flavors + + if not valid_flavors: + # if flavors could not be parsed correctly and no flavors provided, return the default + logger.warning( + "Could not determine alts from alt file and no flavors were provided." + ) + logger.warning(f"Using defaults: {default_flavors}") + return default_flavors + + return mandatory_tour_flavors + + +def determine_non_mandatory_tour_max_extension( + model_settings, extension_probs, default_max_extension=2 +): + provided_max_extension = model_settings.get("MAX_EXTENSION", None) + + max_extension = parse_tour_flavor_from_columns(extension_probs.columns, "tour") + + if provided_max_extension is not None: + if provided_max_extension != max_extension: + logger.warning( + "Specified non mandatory tour extension does not match extension probabilities file" + ) + return provided_max_extension + + if (max_extension >= 0) & isinstance(max_extension, int): + return max_extension + + return default_max_extension + + +def determine_flavors_from_alts_file( + alts, provided_flavors, default_flavors, max_extension=0 +): + """ + determines the max number from alts for each column containing numbers + example: alts={'index': ['alt1', 'alt2'], 'escort': [1, 2], 'othdisc': [3, 4]} + yelds -> {'escort': 2, 'othdisc': 4} + + will return provided flavors if available + else, return default flavors if alts can't be groked + + Parameters + ---------- + alts : pd.DataFrame + provided_flavors : dict + tour flavors provided by user in the model yaml + default_flavors : dict + default tour flavors to fall back on + max_extension : int + scale to increase number of tours accross all alternatives + + Returns + ------- + dict + tour flavors + """ + try: + flavors = { + c: int(alts[c].max() + max_extension) + for c in alts.columns + if all(alts[c].astype(str).str.isnumeric()) + } + valid_flavors = all( + [(isinstance(flavor, str) & (num >= 0)) for flavor, num in flavors.items()] + ) & (len(flavors) > 0) + except (ValueError, AttributeError): + valid_flavors = False + + if provided_flavors is not None: + if flavors != provided_flavors: + logger.warning( + f"Specified tour flavors {provided_flavors} do not match alternative file flavors {flavors}" + ) + # use provided flavors if provided + return provided_flavors + + if not valid_flavors: + # if flavors could not be parsed correctly and no flavors provided, return the default + logger.warning( + "Could not determine alts from alt file and no flavors were provided." + ) + logger.warning(f"Using defaults: {default_flavors}") + return default_flavors + + return flavors + + +def read_alts_file(file_name, set_index=None): + try: + alts = simulate.read_model_alts(file_name, set_index=set_index) + except RuntimeError: + logger.warning(f"Could not find file {file_name} to determine tour flavors.") + return pd.DataFrame() + return alts + + +def read_spec_file(file_name, set_index=None): + try: + alts = simulate.read_model_alts(file_name, set_index=set_index) + except RuntimeError: + logger.warning(f"Could not find file {file_name} to determine tour flavors.") + return pd.DataFrame() + return alts + + +def parse_tour_flavor_from_columns(columns, tour_flavor): + """ + determines the max number from columns if column name contains tour flavor + example: columns={'work1', 'work2'} -> 2 + + Parameters + ---------- + columns : list of str + tour_flavor : str + string subset that you want to find in columns + + Returns + ------- + int + max int found in columns with tour_flavor + """ + # below produces a list of numbers present in each column containing the tour flavor string + tour_numbers = [(re.findall(r"\d+", col)) for col in columns if tour_flavor in col] + + # flatten list + tour_numbers = [int(item) for sublist in tour_numbers for item in sublist] + + # find max + try: + max_tour_flavor = max(tour_numbers) + return max_tour_flavor + except ValueError: + # could not find a maximum integer for this flavor in the columns + return -1 + + +def determine_mandatory_tour_flavors(mtf_settings, model_spec, default_flavors): + provided_flavors = mtf_settings.get("MANDATORY_TOUR_FLAVORS", None) + + mandatory_tour_flavors = { + # hard code work and school tours + "work": parse_tour_flavor_from_columns(model_spec.columns, "work"), + "school": parse_tour_flavor_from_columns(model_spec.columns, "school"), + } + + valid_flavors = (mandatory_tour_flavors["work"] >= 1) & ( + mandatory_tour_flavors["school"] >= 1 + ) + + if provided_flavors is not None: + if mandatory_tour_flavors != provided_flavors: + logger.warning( + "Specified tour flavors do not match alternative file flavors" + ) + logger.warning( + f"{provided_flavors} does not equal {mandatory_tour_flavors}" + ) + # use provided flavors if provided + return provided_flavors + + if not valid_flavors: + # if flavors could not be parsed correctly and no flavors provided, return the default + logger.warning( + "Could not determine alts from alt file and no flavors were provided." + ) + logger.warning(f"Using defaults: {default_flavors}") + return default_flavors + + return mandatory_tour_flavors + + +def determine_non_mandatory_tour_max_extension( + model_settings, extension_probs, default_max_extension=2 +): + provided_max_extension = model_settings.get("MAX_EXTENSION", None) + + max_extension = parse_tour_flavor_from_columns(extension_probs.columns, "tour") + + if provided_max_extension is not None: + if provided_max_extension != max_extension: + logger.warning( + "Specified non mandatory tour extension does not match extension probabilities file" + ) + return provided_max_extension + + if (max_extension >= 0) & isinstance(max_extension, int): + return max_extension + + return default_max_extension + + +def determine_flavors_from_alts_file( + alts, provided_flavors, default_flavors, max_extension=0 +): + """ + determines the max number from alts for each column containing numbers + example: alts={'index': ['alt1', 'alt2'], 'escort': [1, 2], 'othdisc': [3, 4]} + yelds -> {'escort': 2, 'othdisc': 4} + + will return provided flavors if available + else, return default flavors if alts can't be groked + + Parameters + ---------- + alts : pd.DataFrame + provided_flavors : dict + tour flavors provided by user in the model yaml + default_flavors : dict + default tour flavors to fall back on + max_extension : int + scale to increase number of tours accross all alternatives + + Returns + ------- + dict + tour flavors + """ + try: + flavors = { + c: int(alts[c].max() + max_extension) + for c in alts.columns + if all(alts[c].astype(str).str.isnumeric()) + } + valid_flavors = all( + [(isinstance(flavor, str) & (num >= 0)) for flavor, num in flavors.items()] + ) & (len(flavors) > 0) + except (ValueError, AttributeError): + valid_flavors = False + + if provided_flavors is not None: + if flavors != provided_flavors: + logger.warning( + f"Specified tour flavors {provided_flavors} do not match alternative file flavors {flavors}" + ) + # use provided flavors if provided + return provided_flavors + + if not valid_flavors: + # if flavors could not be parsed correctly and no flavors provided, return the default + logger.warning( + "Could not determine alts from alt file and no flavors were provided." + ) + logger.warning(f"Using defaults: {default_flavors}") + return default_flavors + + return flavors + + def canonical_tours(): """ create labels for every the possible tour by combining tour_type/tour_num. @@ -47,49 +389,132 @@ def canonical_tours(): list of canonical tour labels in alphabetical order """ - # FIXME we pathalogically know what the possible tour_types and their max tour_nums are - # FIXME instead, should get flavors from alts tables (but we would have to know their names...) - # alts = pipeline.get_table('non_mandatory_tour_frequency_alts') - # non_mandatory_tour_flavors = {c : alts[c].max() for c in alts.columns} - - # - non_mandatory_channels - MAX_EXTENSION = 2 - non_mandatory_tour_flavors = {'escort': 2 + MAX_EXTENSION, - 'shopping': 1 + MAX_EXTENSION, - 'othmaint': 1 + MAX_EXTENSION, - 'othdiscr': 1 + MAX_EXTENSION, - 'eatout': 1 + MAX_EXTENSION, - 'social': 1 + MAX_EXTENSION} + # ---- non_mandatory_channels + nm_model_settings_file_name = "non_mandatory_tour_frequency.yaml" + nm_model_settings = config.read_model_settings(nm_model_settings_file_name) + nm_alts = read_alts_file("non_mandatory_tour_frequency_alternatives.csv") + + # first need to determine max extension + try: + ext_probs_f = config.config_file_path( + "non_mandatory_tour_frequency_extension_probs.csv" + ) + extension_probs = pd.read_csv(ext_probs_f, comment="#") + except RuntimeError: + logger.warning( + f"non_mandatory_tour_frequency_extension_probs.csv file not found" + ) + extension_probs = pd.DataFrame() + max_extension = determine_non_mandatory_tour_max_extension( + nm_model_settings, extension_probs, default_max_extension=2 + ) + + provided_nm_tour_flavors = nm_model_settings.get("NON_MANDATORY_TOUR_FLAVORS", None) + default_nm_tour_flavors = { + "escort": 2 + max_extension, + "shopping": 1 + max_extension, + "othmaint": 1 + max_extension, + "othdiscr": 1 + max_extension, + "eatout": 1 + max_extension, + "social": 1 + max_extension, + } + + non_mandatory_tour_flavors = determine_flavors_from_alts_file( + nm_alts, provided_nm_tour_flavors, default_nm_tour_flavors, max_extension + ) non_mandatory_channels = enumerate_tour_types(non_mandatory_tour_flavors) - # - mandatory_channels - mandatory_tour_flavors = {'work': 2, 'school': 2} + logger.info(f"Non-Mandatory tour flavors used are {non_mandatory_tour_flavors}") + + # ---- mandatory_channels + mtf_model_settings_file_name = "mandatory_tour_frequency.yaml" + mtf_model_settings = config.read_model_settings(mtf_model_settings_file_name) + mtf_spec = mtf_model_settings.get("SPEC", "mandatory_tour_frequency.csv") + mtf_model_spec = read_spec_file(file_name=mtf_spec) + default_mandatory_tour_flavors = {"work": 2, "school": 2} + + mandatory_tour_flavors = determine_mandatory_tour_flavors( + mtf_model_settings, mtf_model_spec, default_mandatory_tour_flavors + ) mandatory_channels = enumerate_tour_types(mandatory_tour_flavors) - # - atwork_subtour_channels + logger.info(f"Mandatory tour flavors used are {mandatory_tour_flavors}") + + # ---- atwork_subtour_channels + atwork_model_settings_file_name = "atwork_subtour_frequency.yaml" + atwork_model_settings = config.read_model_settings(atwork_model_settings_file_name) + atwork_alts = read_alts_file("atwork_subtour_frequency_alternatives.csv") + + provided_atwork_flavors = atwork_model_settings.get("ATWORK_SUBTOUR_FLAVORS", None) + default_atwork_flavors = {"eat": 1, "business": 2, "maint": 1} + + atwork_subtour_flavors = determine_flavors_from_alts_file( + atwork_alts, provided_atwork_flavors, default_atwork_flavors + ) + atwork_subtour_channels = enumerate_tour_types(atwork_subtour_flavors) + + logger.info(f"Atwork subtour flavors used are {atwork_subtour_flavors}") + # we need to distinguish between subtours of different work tours # (e.g. eat1_1 is eat subtour for parent work tour 1 and eat1_2 is for work tour 2) - atwork_subtour_flavors = {'eat': 1, 'business': 2, 'maint': 1} - atwork_subtour_channels = enumerate_tour_types(atwork_subtour_flavors) - max_work_tours = mandatory_tour_flavors['work'] - atwork_subtour_channels = ['%s_%s' % (c, i+1) - for c in atwork_subtour_channels - for i in range(max_work_tours)] + max_work_tours = mandatory_tour_flavors["work"] + atwork_subtour_channels = [ + "%s_%s" % (c, i + 1) + for c in atwork_subtour_channels + for i in range(max_work_tours) + ] + + # ---- joint_tour_channels + jtf_model_settings_file_name = "joint_tour_frequency.yaml" + jtf_model_settings = config.read_model_settings(jtf_model_settings_file_name) + jtf_alts = read_alts_file("joint_tour_frequency_alternatives.csv") + provided_joint_flavors = jtf_model_settings.get("JOINT_TOUR_FLAVORS", None) + + default_joint_flavors = { + "shopping": 2, + "othmaint": 2, + "othdiscr": 2, + "eatout": 2, + "social": 2, + } + joint_tour_flavors = determine_flavors_from_alts_file( + jtf_alts, provided_joint_flavors, default_joint_flavors + ) + logger.info(f"Joint tour flavors used are {joint_tour_flavors}") - # - joint_tour_channels - joint_tour_flavors = {'shopping': 2, 'othmaint': 2, 'othdiscr': 2, 'eatout': 2, 'social': 2} joint_tour_channels = enumerate_tour_types(joint_tour_flavors) - joint_tour_channels = ['j_%s' % c for c in joint_tour_channels] - - sub_channels = \ - non_mandatory_channels + mandatory_channels + atwork_subtour_channels + joint_tour_channels + joint_tour_channels = ["j_%s" % c for c in joint_tour_channels] + + sub_channels = ( + non_mandatory_channels + + mandatory_channels + + atwork_subtour_channels + + joint_tour_channels + ) + + # ---- school escort channels + # only include if model is run + if pipeline.is_table("school_escort_tours") | ( + "school_escorting" in config.setting("models", default=[]) + ): + se_model_settings_file_name = "school_escorting.yaml" + se_model_settings = config.read_model_settings(se_model_settings_file_name) + num_escortees = se_model_settings.get("NUM_ESCORTEES", 3) + school_escort_flavors = {"escort": 2 * num_escortees} + school_escort_channels = enumerate_tour_types(school_escort_flavors) + school_escort_channels = ["se_%s" % c for c in school_escort_channels] + logger.info(f"School escort tour flavors used are {school_escort_flavors}") + + sub_channels = sub_channels + school_escort_channels sub_channels.sort() return sub_channels -def set_tour_index(tours, parent_tour_num_col=None, is_joint=False): +def set_tour_index( + tours, parent_tour_num_col=None, is_joint=False, is_school_escorting=False +): """ The new index values are stable based on the person_id, tour_type, and tour_num. The existing index is ignored and replaced. @@ -107,58 +532,107 @@ def set_tour_index(tours, parent_tour_num_col=None, is_joint=False): Tours dataframe to reindex. """ - tour_num_col = 'tour_type_num' + tour_num_col = "tour_type_num" possible_tours = canonical_tours() possible_tours_count = len(possible_tours) assert tour_num_col in tours.columns # create string tour_id corresonding to keys in possible_tours (e.g. 'work1', 'j_shopping2') - tours['tour_id'] = tours.tour_type + tours[tour_num_col].map(str) + tours["tour_id"] = tours.tour_type + tours[tour_num_col].map(str) if parent_tour_num_col: # we need to distinguish between subtours of different work tours # (e.g. eat1_1 is eat subtour for parent work tour 1 and eat1_2 is for work tour 2) parent_tour_num = tours[parent_tour_num_col] - if parent_tour_num.dtype != 'int64': + if parent_tour_num.dtype != "int64": # might get converted to float if non-subtours rows are None (but we try to avoid this) - logger.error('parent_tour_num.dtype: %s' % parent_tour_num.dtype) + logger.error("parent_tour_num.dtype: %s" % parent_tour_num.dtype) parent_tour_num = parent_tour_num.astype(np.int64) - tours['tour_id'] = tours['tour_id'] + '_' + parent_tour_num.map(str) + tours["tour_id"] = tours["tour_id"] + "_" + parent_tour_num.map(str) if is_joint: - tours['tour_id'] = 'j_' + tours['tour_id'] + tours["tour_id"] = "j_" + tours["tour_id"] + + if is_school_escorting: + tours["tour_id"] = "se_" + tours["tour_id"] # map recognized strings to ints - tours.tour_id = tours.tour_id.replace(to_replace=possible_tours, - value=list(range(possible_tours_count))) + tours.tour_id = tours.tour_id.replace( + to_replace=possible_tours, value=list(range(possible_tours_count)) + ) # convert to numeric - shouldn't be any NaNs - this will raise error if there are - tours.tour_id = pd.to_numeric(tours.tour_id, errors='raise').astype(np.int64) + tours.tour_id = pd.to_numeric(tours.tour_id, errors="raise").astype(np.int64) tours.tour_id = (tours.person_id * possible_tours_count) + tours.tour_id - # if tours.tour_id.duplicated().any(): - # print("\ntours.tour_id not unique\n%s" % tours[tours.tour_id.duplicated(keep=False)]) - # print(tours[tours.tour_id.duplicated(keep=False)][['survey_tour_id', 'tour_type', 'tour_category']]) + if tours.tour_id.duplicated().any(): + print( + "\ntours.tour_id not unique\n%s" + % tours[tours.tour_id.duplicated(keep=False)] + ) + print( + tours[tours.tour_id.duplicated(keep=False)][ + ["survey_tour_id", "tour_type", "tour_category"] + ] + ) assert not tours.tour_id.duplicated().any() - tours.set_index('tour_id', inplace=True, verify_integrity=True) + tours.set_index("tour_id", inplace=True, verify_integrity=True) # we modify tours in place, but return the dataframe for the convenience of the caller return tours -def set_trip_index(trips, tour_id_column='tour_id'): +def determine_max_trips_per_leg(default_max_trips_per_leg=4): + model_settings_file_name = "stop_frequency.yaml" + model_settings = config.read_model_settings(model_settings_file_name) + + # first see if flavors given explicitly + provided_max_trips_per_leg = model_settings.get("MAX_TRIPS_PER_LEG", None) + + # determine flavors from alternative file + try: + alts = read_alts_file("stop_frequency_alternatives.csv") + trips_per_leg = [ + int(alts[c].max()) + for c in alts.columns + if all(alts[c].astype(str).str.isnumeric()) + ] + # adding one for additional trip home or to primary dest + max_trips_per_leg = max(trips_per_leg) + 1 + if max_trips_per_leg > 1: + valid_max_trips = True + except (ValueError, RuntimeError): + valid_max_trips = False + + if provided_max_trips_per_leg is not None: + if provided_max_trips_per_leg != max_trips_per_leg: + logger.warning( + "Provided max number of stops on tour does not match with stop frequency alternatives file" + ) + return provided_max_trips_per_leg + + if valid_max_trips: + return max_trips_per_leg + + return default_max_trips_per_leg + - MAX_TRIPS_PER_LEG = 4 # max number of trips per leg (inbound or outbound) of tour +def set_trip_index(trips, tour_id_column="tour_id"): + # max number of trips per leg (inbound or outbound) of tour + # = stops + 1 for primary half-tour destination + max_trips_per_leg = determine_max_trips_per_leg() # canonical_trip_num: 1st trip out = 1, 2nd trip out = 2, 1st in = 5, etc. - canonical_trip_num = (~trips.outbound * MAX_TRIPS_PER_LEG) + trips.trip_num - trips['trip_id'] = trips[tour_id_column] * (2 * MAX_TRIPS_PER_LEG) + canonical_trip_num - trips.set_index('trip_id', inplace=True, verify_integrity=True) + canonical_trip_num = (~trips.outbound * max_trips_per_leg) + trips.trip_num + trips["trip_id"] = ( + trips[tour_id_column] * (2 * max_trips_per_leg) + canonical_trip_num + ) + trips.set_index("trip_id", inplace=True, verify_integrity=True) # we modify trips in place, but return the dataframe for the convenience of the caller return trips diff --git a/activitysim/abm/models/util/cdap.py b/activitysim/abm/models/util/cdap.py index fdc34961ae..7e0f551860 100644 --- a/activitysim/abm/models/util/cdap.py +++ b/activitysim/abm/models/util/cdap.py @@ -1,33 +1,26 @@ # ActivitySim # See full license in LICENSE.txt. -import logging import itertools +import logging import os import numpy as np import pandas as pd -from activitysim.core import simulate -from activitysim.core import pipeline - -from activitysim.core import chunk -from activitysim.core import logit -from activitysim.core import tracing -from activitysim.core import inject -from activitysim.core import config +from activitysim.core import chunk, config, inject, logit, pipeline, simulate, tracing logger = logging.getLogger(__name__) # FIXME - this allows us to turn some dev debug table dump code on and off - eventually remove? # DUMP = False -_persons_index_ = 'person_id' -_hh_index_ = 'household_id' -_hh_size_ = 'hhsize' +_persons_index_ = "person_id" +_hh_index_ = "household_id" +_hh_size_ = "hhsize" -_hh_id_ = 'household_id' -_ptype_ = 'ptype' -_age_ = 'age' +_hh_id_ = "household_id" +_ptype_ = "ptype" +_age_ = "age" # For clarity, the named constant MAX_HHSIZE refers to the cdap 5 person threshold figure. MAX_HHSIZE = 5 @@ -50,9 +43,9 @@ def add_pn(col, pnum): e.g. M_p1, ptype_p2 but leave _hh_id_ column unchanged """ if type(col) is str: - return col if col == _hh_id_ else '%s_p%s' % (col, pnum) + return col if col == _hh_id_ else "%s_p%s" % (col, pnum) elif isinstance(col, (list, tuple)): - return [c if c == _hh_id_ else '%s_p%s' % (c, pnum) for c in col] + return [c if c == _hh_id_ else "%s_p%s" % (c, pnum) for c in col] else: raise RuntimeError("add_pn col not list or str") @@ -101,24 +94,32 @@ def assign_cdap_rank(persons, person_type_map, trace_hh_id=None, trace_label=Non RANK_CHILD = 2 RANK_BACKFILL = 3 RANK_UNASSIGNED = 9 - persons['cdap_rank'] = RANK_UNASSIGNED + persons["cdap_rank"] = RANK_UNASSIGNED # choose up to 2 workers, preferring full over part, older over younger - workers = \ - persons.loc[persons[_ptype_].isin(person_type_map['WORKER']), [_hh_id_, _ptype_]]\ - .sort_values(by=[_hh_id_, _ptype_], ascending=[True, True])\ - .groupby(_hh_id_).head(2) + workers = ( + persons.loc[ + persons[_ptype_].isin(person_type_map["WORKER"]), [_hh_id_, _ptype_] + ] + .sort_values(by=[_hh_id_, _ptype_], ascending=[True, True]) + .groupby(_hh_id_) + .head(2) + ) # tag the selected workers - persons.loc[workers.index, 'cdap_rank'] = RANK_WORKER + persons.loc[workers.index, "cdap_rank"] = RANK_WORKER del workers # choose up to 3, preferring youngest - children = \ - persons.loc[persons[_ptype_].isin(person_type_map['CHILD']), [_hh_id_, _ptype_, _age_]]\ - .sort_values(by=[_hh_id_, _ptype_], ascending=[True, True])\ - .groupby(_hh_id_).head(3) + children = ( + persons.loc[ + persons[_ptype_].isin(person_type_map["CHILD"]), [_hh_id_, _ptype_, _age_] + ] + .sort_values(by=[_hh_id_, _ptype_], ascending=[True, True]) + .groupby(_hh_id_) + .head(3) + ) # tag the selected children - persons.loc[children.index, 'cdap_rank'] = RANK_CHILD + persons.loc[children.index, "cdap_rank"] = RANK_CHILD del children # choose up to MAX_HHSIZE, preferring anyone already chosen @@ -128,44 +129,45 @@ def assign_cdap_rank(persons, person_type_map, trace_hh_id=None, trace_label=Non # .groupby(_hh_id_).head(MAX_HHSIZE) # choose up to MAX_HHSIZE, choosing randomly - others = persons[[_hh_id_, 'cdap_rank']].copy() - others['random_order'] = pipeline.get_rn_generator().random_for_df(persons) - others = \ - others\ - .sort_values(by=[_hh_id_, 'random_order'], ascending=[True, True])\ - .groupby(_hh_id_).head(MAX_HHSIZE) + others = persons[[_hh_id_, "cdap_rank"]].copy() + others["random_order"] = pipeline.get_rn_generator().random_for_df(persons) + others = ( + others.sort_values(by=[_hh_id_, "random_order"], ascending=[True, True]) + .groupby(_hh_id_) + .head(MAX_HHSIZE) + ) # tag the backfilled persons - persons.loc[others[others.cdap_rank == RANK_UNASSIGNED].index, 'cdap_rank'] \ - = RANK_BACKFILL + persons.loc[ + others[others.cdap_rank == RANK_UNASSIGNED].index, "cdap_rank" + ] = RANK_BACKFILL del others # assign person number in cdapPersonArray preference order # i.e. convert cdap_rank from category to index in order of category rank within household # groupby rank() is slow, so we compute rank artisanally # save time by sorting only the columns we need (persons is big, and sort moves data) - p = persons[[_hh_id_, 'cdap_rank', _age_]]\ - .sort_values(by=[_hh_id_, 'cdap_rank', _age_], ascending=[True, True, True]) + p = persons[[_hh_id_, "cdap_rank", _age_]].sort_values( + by=[_hh_id_, "cdap_rank", _age_], ascending=[True, True, True] + ) rank = p.groupby(_hh_id_).size().map(range) - rank = [item+1 for sublist in rank for item in sublist] - p['cdap_rank'] = rank - persons['cdap_rank'] = p['cdap_rank'] # assignment aligns on index values + rank = [item + 1 for sublist in rank for item in sublist] + p["cdap_rank"] = rank + persons["cdap_rank"] = p["cdap_rank"] # assignment aligns on index values # if DUMP: # tracing.trace_df(persons, '%s.DUMP.cdap_person_array' % trace_label, # transpose=False, slicer='NONE') if trace_hh_id: - tracing.trace_df(persons, '%s.cdap_rank' % trace_label) + tracing.trace_df(persons, "%s.cdap_rank" % trace_label) - return persons['cdap_rank'] + return persons["cdap_rank"] def individual_utilities( - persons, - cdap_indiv_spec, - locals_d, - trace_hh_id=None, trace_label=None): + persons, cdap_indiv_spec, locals_d, trace_hh_id=None, trace_label=None +): """ Calculate CDAP utilities for all individuals. @@ -185,15 +187,20 @@ def individual_utilities( """ # calculate single person utilities - indiv_utils = simulate.eval_utilities(cdap_indiv_spec, persons, locals_d, trace_label=trace_label) + indiv_utils = simulate.eval_utilities( + cdap_indiv_spec, persons, locals_d, trace_label=trace_label + ) # add columns from persons to facilitate building household interactions - useful_columns = [_hh_id_, _ptype_, 'cdap_rank', _hh_size_] + useful_columns = [_hh_id_, _ptype_, "cdap_rank", _hh_size_] indiv_utils[useful_columns] = persons[useful_columns] if trace_hh_id: - tracing.trace_df(indiv_utils, '%s.indiv_utils' % trace_label, - column_labels=['activity', 'person']) + tracing.trace_df( + indiv_utils, + "%s.indiv_utils" % trace_label, + column_labels=["activity", "person"], + ) return indiv_utils @@ -225,25 +232,31 @@ def preprocess_interaction_coefficients(interaction_coefficients): # make a copy coefficients = interaction_coefficients.copy() - if not coefficients['activity'].isin(['M', 'N', 'H']).all(): - msg = "Error in cdap_interaction_coefficients at row %s. Expect only M, N, or H!" \ - % coefficients[~coefficients['activity'].isin(['M', 'N', 'H'])].index.values + if not coefficients["activity"].isin(["M", "N", "H"]).all(): + msg = ( + "Error in cdap_interaction_coefficients at row %s. Expect only M, N, or H!" + % coefficients[~coefficients["activity"].isin(["M", "N", "H"])].index.values + ) raise RuntimeError(msg) - coefficients['cardinality'] = coefficients['interaction_ptypes'].astype(str).str.len() + coefficients["cardinality"] = ( + coefficients["interaction_ptypes"].astype(str).str.len() + ) - wildcards = coefficients.interaction_ptypes == coefficients.cardinality.map(lambda x: x*'*') - coefficients.loc[wildcards, 'interaction_ptypes'] = '' + wildcards = coefficients.interaction_ptypes == coefficients.cardinality.map( + lambda x: x * "*" + ) + coefficients.loc[wildcards, "interaction_ptypes"] = "" - coefficients['slug'] = \ - coefficients['activity'] * coefficients['cardinality'] \ - + coefficients['interaction_ptypes'].astype(str) + coefficients["slug"] = coefficients["activity"] * coefficients[ + "cardinality" + ] + coefficients["interaction_ptypes"].astype(str) return coefficients def cached_spec_name(hhsize): - return 'cdap_spec_%s' % hhsize + return "cdap_spec_%s" % hhsize def get_cached_spec(hhsize): @@ -274,8 +287,9 @@ def cache_spec(hhsize, spec): inject.add_injectable(spec_name, spec) -def build_cdap_spec(interaction_coefficients, hhsize, - trace_spec=False, trace_label=None, cache=True): +def build_cdap_spec( + interaction_coefficients, hhsize, trace_spec=False, trace_label=None, cache=True +): """ Build a spec file for computing utilities of alternative household member interaction patterns for households of specified size. @@ -339,7 +353,7 @@ def build_cdap_spec(interaction_coefficients, hhsize, # generate a list of activity pattern alternatives for this hhsize # e.g. ['HH', 'HM', 'HN', 'MH', 'MM', 'MN', 'NH', 'NM', 'NN'] for hhsize=2 - alternatives = [''.join(tup) for tup in itertools.product('HMN', repeat=hhsize)] + alternatives = ["".join(tup) for tup in itertools.product("HMN", repeat=hhsize)] # spec df has expression column plus a column for each alternative spec = pd.DataFrame(columns=[expression_name] + alternatives) @@ -353,15 +367,17 @@ def build_cdap_spec(interaction_coefficients, hhsize, # Expression MM MN MH NM NN NH HM HN HH # M_p1 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 # N_p1 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0 - for pnum in range(1, hhsize+1): - for activity in ['M', 'N', 'H']: + for pnum in range(1, hhsize + 1): + for activity in ["M", "N", "H"]: new_row_index = len(spec) spec.loc[new_row_index, expression_name] = add_pn(activity, pnum) # list of alternative columns where person pnum has expression activity # e.g. for M_p1 we want the columns where activity M is in position p1 - alternative_columns = [alt for alt in alternatives if alt[pnum - 1] == activity] + alternative_columns = [ + alt for alt in alternatives if alt[pnum - 1] == activity + ] spec.loc[new_row_index, alternative_columns] = 1 # ignore rows whose cardinality exceeds hhsize @@ -383,24 +399,26 @@ def build_cdap_spec(interaction_coefficients, hhsize, # FIXME - should we be doing this for greater than HH_MAXSIZE households? if row.slug in alternatives: - spec.loc[len(spec), [expression_name, row.slug]] = ['1', row.slug] + spec.loc[len(spec), [expression_name, row.slug]] = ["1", row.slug] continue if not (0 <= row.cardinality <= MAX_INTERACTION_CARDINALITY): - raise RuntimeError("Bad row cardinality %d for %s" % (row.cardinality, row.slug)) + raise RuntimeError( + "Bad row cardinality %d for %s" % (row.cardinality, row.slug) + ) # for all other interaction rules, we need to generate a row in the spec for each # possible combination of interacting persons # e.g. for (1, 2), (1,3), (2,3) for a coefficient with cardinality 2 in hhsize 3 - for tup in itertools.combinations(list(range(1, hhsize+1)), row.cardinality): + for tup in itertools.combinations(list(range(1, hhsize + 1)), row.cardinality): # determine the name of the chooser column with the ptypes for this interaction if row.cardinality == 1: interaction_column = "ptype_p%d" % tup[0] else: # column named (e.g.) p1_p3 for an interaction between p1 and p3 - interaction_column = '_'.join(['p%s' % pnum for pnum in tup]) + interaction_column = "_".join(["p%s" % pnum for pnum in tup]) # build expression that evaluates True iff the interaction is between specified ptypes # (e.g.) p1_p3==13 for an interaction between p1 and p3 of ptypes 1 and 3 (or 3 and1 ) @@ -410,13 +428,16 @@ def build_cdap_spec(interaction_coefficients, hhsize, # e.g. ['MMM', 'MMN', 'MMH'] for an interaction between p1 and p3 with activity 'M' # alternative_columns = \ # filter(lambda alt: all([alt[p - 1] == row.activity for p in tup]), alternatives) - alternative_columns = \ - [alt for alt in alternatives if all([alt[p - 1] == row.activity for p in tup])] + alternative_columns = [ + alt + for alt in alternatives + if all([alt[p - 1] == row.activity for p in tup]) + ] # a row for this interaction may already exist, # e.g. if there are rules for both HH13 and MM13, we don't need to add rows for both # since they are triggered by the same expressions (e.g. p1_p2==13, p1_p3=13,...) - existing_row_index = (spec[expression_name] == expression) + existing_row_index = spec[expression_name] == expression if (existing_row_index).any(): # if the rows exist, simply update the appropriate alternative columns in spec spec.loc[existing_row_index, alternative_columns] = row.slug @@ -433,18 +454,25 @@ def build_cdap_spec(interaction_coefficients, hhsize, simulate.uniquify_spec_index(spec) if trace_spec: - tracing.trace_df(spec, '%s.hhsize%d_spec' % (trace_label, hhsize), - transpose=False, slicer='NONE') + tracing.trace_df( + spec, + "%s.hhsize%d_spec" % (trace_label, hhsize), + transpose=False, + slicer="NONE", + ) # replace slug with coefficient - d = interaction_coefficients.set_index('slug')['coefficient'].to_dict() + d = interaction_coefficients.set_index("slug")["coefficient"].to_dict() for c in spec.columns: - spec[c] =\ - spec[c].map(lambda x: d.get(x, x or 0.0)).fillna(0) + spec[c] = spec[c].map(lambda x: d.get(x, x or 0.0)).fillna(0) if trace_spec: - tracing.trace_df(spec, '%s.hhsize%d_spec_patched' % (trace_label, hhsize), - transpose=False, slicer='NONE') + tracing.trace_df( + spec, + "%s.hhsize%d_spec_patched" % (trace_label, hhsize), + transpose=False, + slicer="NONE", + ) if cache: cache_spec(hhsize, spec) @@ -497,15 +525,19 @@ def add_interaction_column(choosers, p_tup): # I couldn't figure out a good way to do this in pandas, but we want to do something like: # choosers['p1_p3'] = choosers['ptype_p1'].astype(str) + choosers['ptype_p3'].astype(str) - dest_col = '_'.join(['p%s' % pnum for pnum in p_tup]) + dest_col = "_".join(["p%s" % pnum for pnum in p_tup]) # build a string concatenating the ptypes of the persons in the order they appear in p_tup - choosers[dest_col] = choosers[add_pn('ptype', p_tup[0])].astype(str) + choosers[dest_col] = choosers[add_pn("ptype", p_tup[0])].astype(str) for pnum in p_tup[1:]: - choosers[dest_col] = choosers[dest_col] + choosers[add_pn('ptype', pnum)].astype(str) + choosers[dest_col] = choosers[dest_col] + choosers[ + add_pn("ptype", pnum) + ].astype(str) # sort the list of ptypes so it is in increasing ptype order, then convert to int - choosers[dest_col] = choosers[dest_col].apply(lambda x: ''.join(sorted(x))).astype(int) + choosers[dest_col] = ( + choosers[dest_col].apply(lambda x: "".join(sorted(x))).astype(int) + ) def hh_choosers(indiv_utils, hhsize): @@ -544,27 +576,31 @@ def hh_choosers(indiv_utils, hhsize): """ # we want to merge the ptype and M, N, and H utilities for each individual in the household - merge_cols = [_hh_id_, _ptype_, 'M', 'N', 'H'] + merge_cols = [_hh_id_, _ptype_, "M", "N", "H"] if hhsize > MAX_HHSIZE: raise RuntimeError("hh_choosers hhsize > MAX_HHSIZE") if hhsize < MAX_HHSIZE: - include_households = (indiv_utils[_hh_size_] == hhsize) + include_households = indiv_utils[_hh_size_] == hhsize else: # we want to include larger households along with MAX_HHSIZE households - include_households = (indiv_utils[_hh_size_] >= MAX_HHSIZE) + include_households = indiv_utils[_hh_size_] >= MAX_HHSIZE # start with all the individuals with cdap_rank of 1 (thus there will be one row per household) - choosers = indiv_utils.loc[include_households & (indiv_utils['cdap_rank'] == 1), merge_cols] + choosers = indiv_utils.loc[ + include_households & (indiv_utils["cdap_rank"] == 1), merge_cols + ] # rename columns, adding pn suffix (e.g. ptype_p1, M_p1) to all columns except hh_id choosers.columns = add_pn(merge_cols, 1) # for each of the higher cdap_ranks - for pnum in range(2, hhsize+1): + for pnum in range(2, hhsize + 1): # df with merge columns for indiv with cdap_rank of pnum - rhs = indiv_utils.loc[include_households & (indiv_utils['cdap_rank'] == pnum), merge_cols] + rhs = indiv_utils.loc[ + include_households & (indiv_utils["cdap_rank"] == pnum), merge_cols + ] # rename columns, adding pn suffix (e.g. ptype_p1, M_p1) to all columns except hh_id rhs.columns = add_pn(merge_cols, pnum) @@ -575,20 +611,21 @@ def hh_choosers(indiv_utils, hhsize): set_hh_index(choosers) # coerce utilities to float (merge apparently makes column type objects) - for pnum in range(1, hhsize+1): - pn_cols = add_pn(['M', 'N', 'H'], pnum) + for pnum in range(1, hhsize + 1): + pn_cols = add_pn(["M", "N", "H"], pnum) choosers[pn_cols] = choosers[pn_cols].astype(float) # add interaction columns for all 2 and 3 person interactions - for i in range(2, min(hhsize, MAX_INTERACTION_CARDINALITY)+1): - for tup in itertools.combinations(list(range(1, hhsize+1)), i): + for i in range(2, min(hhsize, MAX_INTERACTION_CARDINALITY) + 1): + for tup in itertools.combinations(list(range(1, hhsize + 1)), i): add_interaction_column(choosers, tup) return choosers -def household_activity_choices(indiv_utils, interaction_coefficients, hhsize, - trace_hh_id=None, trace_label=None): +def household_activity_choices( + indiv_utils, interaction_coefficients, hhsize, trace_hh_id=None, trace_label=None +): """ Calculate household utilities for each activity pattern alternative for households of hhsize The resulting activity pattern for each household will be coded as a string of activity codes. @@ -620,21 +657,24 @@ def household_activity_choices(indiv_utils, interaction_coefficients, hhsize, # and the household utils are the same as the individual utils choosers = vars = None # extract the individual utilities for individuals from hhsize 1 households - utils = indiv_utils.loc[indiv_utils[_hh_size_] == 1, [_hh_id_, 'M', 'N', 'H']] + utils = indiv_utils.loc[indiv_utils[_hh_size_] == 1, [_hh_id_, "M", "N", "H"]] # index on household_id, not person_id set_hh_index(utils) else: choosers = hh_choosers(indiv_utils, hhsize=hhsize) - spec = build_cdap_spec(interaction_coefficients, hhsize, - trace_spec=(trace_hh_id in choosers.index), - trace_label=trace_label) + spec = build_cdap_spec( + interaction_coefficients, + hhsize, + trace_spec=(trace_hh_id in choosers.index), + trace_label=trace_label, + ) utils = simulate.eval_utilities(spec, choosers, trace_label=trace_label) if len(utils.index) == 0: - return pd.Series(dtype='float64') + return pd.Series(dtype="float64") probs = logit.utils_to_probs(utils, trace_label=trace_label) @@ -648,23 +688,35 @@ def household_activity_choices(indiv_utils, interaction_coefficients, hhsize, if trace_hh_id: if hhsize > 1: - tracing.trace_df(choosers, '%s.hhsize%d_choosers' % (trace_label, hhsize), - column_labels=['expression', 'person']) - - tracing.trace_df(utils, '%s.hhsize%d_utils' % (trace_label, hhsize), - column_labels=['expression', 'household']) - tracing.trace_df(probs, '%s.hhsize%d_probs' % (trace_label, hhsize), - column_labels=['expression', 'household']) - tracing.trace_df(choices, '%s.hhsize%d_activity_choices' % (trace_label, hhsize), - column_labels=['expression', 'household']) - tracing.trace_df(rands, '%s.hhsize%d_rands' % (trace_label, hhsize), - columns=[None, 'rand']) + tracing.trace_df( + choosers, + "%s.hhsize%d_choosers" % (trace_label, hhsize), + column_labels=["expression", "person"], + ) + + tracing.trace_df( + utils, + "%s.hhsize%d_utils" % (trace_label, hhsize), + column_labels=["expression", "household"], + ) + tracing.trace_df( + probs, + "%s.hhsize%d_probs" % (trace_label, hhsize), + column_labels=["expression", "household"], + ) + tracing.trace_df( + choices, + "%s.hhsize%d_activity_choices" % (trace_label, hhsize), + column_labels=["expression", "household"], + ) + tracing.trace_df( + rands, "%s.hhsize%d_rands" % (trace_label, hhsize), columns=[None, "rand"] + ) return choices -def unpack_cdap_indiv_activity_choices(persons, hh_choices, - trace_hh_id, trace_label): +def unpack_cdap_indiv_activity_choices(persons, hh_choices, trace_hh_id, trace_label): """ Unpack the household activity choice list into choices for each (non-extra) household member @@ -683,25 +735,27 @@ def unpack_cdap_indiv_activity_choices(persons, hh_choices, series contains one activity per individual hh member, indexed on _persons_index_ """ - cdap_indivs = persons['cdap_rank'] <= MAX_HHSIZE + cdap_indivs = persons["cdap_rank"] <= MAX_HHSIZE indiv_activity = pd.merge( - left=persons.loc[cdap_indivs, [_hh_id_, 'cdap_rank']], - right=hh_choices.to_frame(name='hh_choices'), + left=persons.loc[cdap_indivs, [_hh_id_, "cdap_rank"]], + right=hh_choices.to_frame(name="hh_choices"), left_on=_hh_id_, - right_index=True + right_index=True, ) # resulting dataframe has columns _hh_id_,'cdap_rank', hh_choices indexed on _persons_index_ - indiv_activity['cdap_activity'] = '' + indiv_activity["cdap_activity"] = "" # for each cdap_rank (1..5) for i in range(MAX_HHSIZE): - pnum_i = (indiv_activity['cdap_rank'] == i+1) - indiv_activity.loc[pnum_i, ['cdap_activity']] = indiv_activity[pnum_i]['hh_choices'].str[i] + pnum_i = indiv_activity["cdap_rank"] == i + 1 + indiv_activity.loc[pnum_i, ["cdap_activity"]] = indiv_activity[pnum_i][ + "hh_choices" + ].str[i] - cdap_indiv_activity_choices = indiv_activity['cdap_activity'] + cdap_indiv_activity_choices = indiv_activity["cdap_activity"] # if DUMP: # tracing.trace_df(cdap_indiv_activity_choices, @@ -711,8 +765,9 @@ def unpack_cdap_indiv_activity_choices(persons, hh_choices, return cdap_indiv_activity_choices -def extra_hh_member_choices(persons, cdap_fixed_relative_proportions, locals_d, - trace_hh_id, trace_label): +def extra_hh_member_choices( + persons, cdap_fixed_relative_proportions, locals_d, trace_hh_id, trace_label +): """ Generate the activity choices for the 'extra' household members who weren't handled by cdap @@ -742,16 +797,18 @@ def extra_hh_member_choices(persons, cdap_fixed_relative_proportions, locals_d, list of alternatives chosen for all extra members, indexed by _persons_index_ """ - trace_label = tracing.extend_trace_label(trace_label, 'extra_hh_member_choices') + trace_label = tracing.extend_trace_label(trace_label, "extra_hh_member_choices") # extra household members have cdap_ran > MAX_HHSIZE - choosers = persons[persons['cdap_rank'] > MAX_HHSIZE] + choosers = persons[persons["cdap_rank"] > MAX_HHSIZE] if len(choosers.index) == 0: - return pd.Series(dtype='float64') + return pd.Series(dtype="float64") # eval the expression file - values = simulate.eval_variables(cdap_fixed_relative_proportions.index, choosers, locals_d) + values = simulate.eval_variables( + cdap_fixed_relative_proportions.index, choosers, locals_d + ) # cdap_fixed_relative_proportions computes relative proportions by ptype, not utilities proportions = values.dot(cdap_fixed_relative_proportions) @@ -777,26 +834,40 @@ def extra_hh_member_choices(persons, cdap_fixed_relative_proportions, locals_d, # slicer='NONE') if trace_hh_id: - tracing.trace_df(proportions, '%s.extra_hh_member_choices_proportions' % trace_label, - column_labels=['expression', 'person']) - tracing.trace_df(probs, '%s.extra_hh_member_choices_probs' % trace_label, - column_labels=['expression', 'person']) - tracing.trace_df(choices, '%s.extra_hh_member_choices_choices' % trace_label, - column_labels=['expression', 'person']) - tracing.trace_df(rands, '%s.extra_hh_member_choices_rands' % trace_label, - columns=[None, 'rand']) + tracing.trace_df( + proportions, + "%s.extra_hh_member_choices_proportions" % trace_label, + column_labels=["expression", "person"], + ) + tracing.trace_df( + probs, + "%s.extra_hh_member_choices_probs" % trace_label, + column_labels=["expression", "person"], + ) + tracing.trace_df( + choices, + "%s.extra_hh_member_choices_choices" % trace_label, + column_labels=["expression", "person"], + ) + tracing.trace_df( + rands, + "%s.extra_hh_member_choices_rands" % trace_label, + columns=[None, "rand"], + ) return choices def _run_cdap( - persons, - person_type_map, - cdap_indiv_spec, - interaction_coefficients, - cdap_fixed_relative_proportions, - locals_d, - trace_hh_id, trace_label): + persons, + person_type_map, + cdap_indiv_spec, + interaction_coefficients, + cdap_fixed_relative_proportions, + locals_d, + trace_hh_id, + trace_label, +): """ Implements core run_cdap functionality on persons df (or chunked subset thereof) Aside from chunking of persons df, params are passed through from run_cdap unchanged @@ -813,53 +884,61 @@ def _run_cdap( # persons with cdap_rank 1..MAX_HHSIZE will be have their activities chose by CDAP model # extra household members, will have activities assigned by in fixed proportions assign_cdap_rank(persons, person_type_map, trace_hh_id, trace_label) - chunk.log_df(trace_label, 'persons', persons) + chunk.log_df(trace_label, "persons", persons) # Calculate CDAP utilities for each individual, ignoring interactions # ind_utils has index of 'person_id' and a column for each alternative # i.e. three columns 'M' (Mandatory), 'N' (NonMandatory), 'H' (Home) - indiv_utils = individual_utilities(persons[persons.cdap_rank <= MAX_HHSIZE], - cdap_indiv_spec, locals_d, - trace_hh_id, trace_label) - chunk.log_df(trace_label, 'indiv_utils', indiv_utils) + indiv_utils = individual_utilities( + persons[persons.cdap_rank <= MAX_HHSIZE], + cdap_indiv_spec, + locals_d, + trace_hh_id, + trace_label, + ) + chunk.log_df(trace_label, "indiv_utils", indiv_utils) # compute interaction utilities, probabilities, and hh activity pattern choices # for each size household separately in turn up to MAX_HHSIZE hh_choices_list = [] - for hhsize in range(1, MAX_HHSIZE+1): + for hhsize in range(1, MAX_HHSIZE + 1): choices = household_activity_choices( - indiv_utils, interaction_coefficients, hhsize=hhsize, - trace_hh_id=trace_hh_id, trace_label=trace_label) + indiv_utils, + interaction_coefficients, + hhsize=hhsize, + trace_hh_id=trace_hh_id, + trace_label=trace_label, + ) hh_choices_list.append(choices) del indiv_utils - chunk.log_df(trace_label, 'indiv_utils', None) + chunk.log_df(trace_label, "indiv_utils", None) # concat all the household choices into a single series indexed on _hh_index_ hh_activity_choices = pd.concat(hh_choices_list) - chunk.log_df(trace_label, 'hh_activity_choices', hh_activity_choices) + chunk.log_df(trace_label, "hh_activity_choices", hh_activity_choices) # unpack the household activity choice list into choices for each (non-extra) household member # resulting series contains one activity per individual hh member, indexed on _persons_index_ - cdap_person_choices \ - = unpack_cdap_indiv_activity_choices(persons, hh_activity_choices, - trace_hh_id, trace_label) + cdap_person_choices = unpack_cdap_indiv_activity_choices( + persons, hh_activity_choices, trace_hh_id, trace_label + ) # assign activities to extra household members (with cdap_rank > MAX_HHSIZE) # resulting series contains one activity per individual hh member, indexed on _persons_index_ - extra_person_choices \ - = extra_hh_member_choices(persons, cdap_fixed_relative_proportions, locals_d, - trace_hh_id, trace_label) + extra_person_choices = extra_hh_member_choices( + persons, cdap_fixed_relative_proportions, locals_d, trace_hh_id, trace_label + ) # concat cdap and extra persoin choices into a single series # this series will be the same length as the persons dataframe and be indexed on _persons_index_ person_choices = pd.concat([cdap_person_choices, extra_person_choices]) - persons['cdap_activity'] = person_choices - chunk.log_df(trace_label, 'persons', persons) + persons["cdap_activity"] = person_choices + chunk.log_df(trace_label, "persons", persons) # if DUMP: # tracing.trace_df(hh_activity_choices, '%s.DUMP.hh_activity_choices' % trace_label, @@ -867,22 +946,25 @@ def _run_cdap( # tracing.trace_df(cdap_results, '%s.DUMP.cdap_results' % trace_label, # transpose=False, slicer='NONE') - result = persons[['cdap_rank', 'cdap_activity']] + result = persons[["cdap_rank", "cdap_activity"]] del persons - chunk.log_df(trace_label, 'persons', None) + chunk.log_df(trace_label, "persons", None) return result def run_cdap( - persons, - person_type_map, - cdap_indiv_spec, - cdap_interaction_coefficients, - cdap_fixed_relative_proportions, - locals_d, - chunk_size=0, trace_hh_id=None, trace_label=None): + persons, + person_type_map, + cdap_indiv_spec, + cdap_interaction_coefficients, + cdap_fixed_relative_proportions, + locals_d, + chunk_size=0, + trace_hh_id=None, + trace_label=None, +): """ Choose individual activity patterns for persons. @@ -919,25 +1001,30 @@ def run_cdap( activity for that person expressed as 'M', 'N', 'H' """ - trace_label = tracing.extend_trace_label(trace_label, 'cdap') + trace_label = tracing.extend_trace_label(trace_label, "cdap") result_list = [] # segment by person type and pick the right spec for each person type - for i, persons_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers_by_chunk_id(persons, chunk_size, trace_label): - - cdap_results = \ - _run_cdap(persons_chunk, - person_type_map, - cdap_indiv_spec, - cdap_interaction_coefficients, - cdap_fixed_relative_proportions, - locals_d, - trace_hh_id, chunk_trace_label) + for ( + i, + persons_chunk, + chunk_trace_label, + ) in chunk.adaptive_chunked_choosers_by_chunk_id(persons, chunk_size, trace_label): + + cdap_results = _run_cdap( + persons_chunk, + person_type_map, + cdap_indiv_spec, + cdap_interaction_coefficients, + cdap_fixed_relative_proportions, + locals_d, + trace_hh_id, + chunk_trace_label, + ) result_list.append(cdap_results) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: @@ -947,10 +1034,12 @@ def run_cdap( if trace_hh_id: - tracing.trace_df(cdap_results, - label="cdap", - columns=['cdap_rank', 'cdap_activity'], - warn_if_empty=True) + tracing.trace_df( + cdap_results, + label="cdap", + columns=["cdap_rank", "cdap_activity"], + warn_if_empty=True, + ) # return choices column as series - return cdap_results['cdap_activity'] + return cdap_results["cdap_activity"] diff --git a/activitysim/abm/models/util/estimation.py b/activitysim/abm/models/util/estimation.py index 7cd98372b6..6a5dbadf1f 100644 --- a/activitysim/abm/models/util/estimation.py +++ b/activitysim/abm/models/util/estimation.py @@ -1,27 +1,23 @@ # ActivitySim # See full license in LICENSE.txt. +import logging import os import shutil -import logging - -import yaml - import pandas as pd +import yaml -from activitysim.core import config -from activitysim.core import simulate - -from activitysim.core.util import reindex from activitysim.abm.models.util import canonical_ids as cid +from activitysim.core import config, simulate +from activitysim.core.util import reindex -logger = logging.getLogger('estimation') +logger = logging.getLogger("estimation") -ESTIMATION_SETTINGS_FILE_NAME = 'estimation.yaml' +ESTIMATION_SETTINGS_FILE_NAME = "estimation.yaml" -def unlink_files(directory_path, file_types=('csv', 'yaml')): +def unlink_files(directory_path, file_types=("csv", "yaml")): for file_name in os.listdir(directory_path): if file_name.endswith(file_types): file_path = os.path.join(directory_path, file_name) @@ -34,7 +30,6 @@ def unlink_files(directory_path, file_types=('csv', 'yaml')): class Estimator(object): - def __init__(self, bundle_name, model_name, estimation_table_recipes): logger.info("Initialize Estimator for'%s'" % (model_name,)) @@ -51,19 +46,27 @@ def __init__(self, bundle_name, model_name, estimation_table_recipes): os.makedirs(output_dir) # make directory if needed # delete estimation files - unlink_files(self.output_directory(), file_types=('csv', 'yaml')) + unlink_files(self.output_directory(), file_types=("csv", "yaml")) if self.bundle_name != self.model_name: # kind of inelegant to always delete these, but ok as they are redundantly recreated for each sub model - unlink_files(self.output_directory(bundle_directory=True), file_types=('csv', 'yaml')) + unlink_files( + self.output_directory(bundle_directory=True), file_types=("csv", "yaml") + ) # FIXME - not required? # assert 'override_choices' in self.model_settings, \ # "override_choices not found for %s in %s." % (model_name, ESTIMATION_SETTINGS_FILE_NAME) - self.omnibus_tables = self.estimation_table_recipes['omnibus_tables'] - self.omnibus_tables_append_columns = self.estimation_table_recipes['omnibus_tables_append_columns'] + self.omnibus_tables = self.estimation_table_recipes["omnibus_tables"] + self.omnibus_tables_append_columns = self.estimation_table_recipes[ + "omnibus_tables_append_columns" + ] self.tables = {} - self.tables_to_cache = [table_name for tables in self.omnibus_tables.values() for table_name in tables] + self.tables_to_cache = [ + table_name + for tables in self.omnibus_tables.values() + for table_name in tables + ] self.alt_id_column_name = None self.chooser_id_column_name = None @@ -121,7 +124,9 @@ def output_directory(self, bundle_directory=False): assert self.estimating assert self.model_name is not None - dir = os.path.join(config.output_file_path('estimation_data_bundle'), self.bundle_name) + dir = os.path.join( + config.output_file_path("estimation_data_bundle"), self.bundle_name + ) if bundle_directory: # shouldn't be asking - probably confused @@ -152,7 +157,9 @@ def output_file_path(self, table_name, file_type=None, bundle_directory=False): return os.path.join(output_dir, file_name) - def write_table(self, df, table_name, index=True, append=True, bundle_directory=False): + def write_table( + self, df, table_name, index=True, append=True, bundle_directory=False + ): """ Parameters @@ -168,22 +175,29 @@ def write_table(self, df, table_name, index=True, append=True, bundle_directory= def cache_table(df, table_name, append): if table_name in self.tables and not append: - raise RuntimeError("cache_table %s append=False and table exists" % (table_name,)) + raise RuntimeError( + "cache_table %s append=False and table exists" % (table_name,) + ) if table_name in self.tables: self.tables[table_name] = pd.concat([self.tables[table_name], df]) else: self.tables[table_name] = df.copy() def write_table(df, table_name, index, append, bundle_directory): - if table_name.endswith('.csv'): + if table_name.endswith(".csv"): # pass through filename without adding model or bundle name prefix - file_path = os.path.join(self.output_directory(bundle_directory), table_name) + file_path = os.path.join( + self.output_directory(bundle_directory), table_name + ) else: - file_path = self.output_file_path(table_name, 'csv', bundle_directory) + file_path = self.output_file_path(table_name, "csv", bundle_directory) file_exists = os.path.isfile(file_path) if file_exists and not append: - raise RuntimeError("write_table %s append=False and file exists: %s" % (table_name, file_path)) - df.to_csv(file_path, mode='a', index=index, header=(not file_exists)) + raise RuntimeError( + "write_table %s append=False and file exists: %s" + % (table_name, file_path) + ) + df.to_csv(file_path, mode="a", index=index, header=(not file_exists)) assert self.estimating @@ -193,11 +207,11 @@ def write_table(df, table_name, index, append, bundle_directory): if cache: cache_table(df, table_name, append) - self.debug('write_table cache: %s' % table_name) + self.debug("write_table cache: %s" % table_name) if write: write_table(df, table_name, index, append, bundle_directory) - self.debug('write_table write: %s' % table_name) + self.debug("write_table write: %s" % table_name) def write_omnibus_table(self): @@ -206,41 +220,50 @@ def write_omnibus_table(self): for omnibus_table, table_names in self.omnibus_tables.items(): - self.debug("write_omnibus_table: %s table_names: %s" % (omnibus_table, table_names)) + self.debug( + "write_omnibus_table: %s table_names: %s" % (omnibus_table, table_names) + ) for t in table_names: if t not in self.tables: - self.warning("write_omnibus_table: %s table '%s' not found" % (omnibus_table, t)) + self.warning( + "write_omnibus_table: %s table '%s' not found" + % (omnibus_table, t) + ) # ignore any tables not in cache table_names = [t for t in table_names if t in self.tables] - concat_axis = 1 if omnibus_table in self.omnibus_tables_append_columns else 0 + concat_axis = ( + 1 if omnibus_table in self.omnibus_tables_append_columns else 0 + ) df = pd.concat([self.tables[t] for t in table_names], axis=concat_axis) - df.sort_index(ascending=True, inplace=True, kind='mergesort') + df.sort_index(ascending=True, inplace=True, kind="mergesort") - file_path = self.output_file_path(omnibus_table, 'csv') + file_path = self.output_file_path(omnibus_table, "csv") assert not os.path.isfile(file_path) - df.to_csv(file_path, mode='a', index=True, header=True) + df.to_csv(file_path, mode="a", index=True, header=True) - self.debug('write_omnibus_choosers: %s' % file_path) + self.debug("write_omnibus_choosers: %s" % file_path) def write_dict(self, d, dict_name, bundle_directory): assert self.estimating - file_path = self.output_file_path(dict_name, 'yaml', bundle_directory) + file_path = self.output_file_path(dict_name, "yaml", bundle_directory) # we don't know how to concat, and afraid to overwrite assert not os.path.isfile(file_path) - with open(file_path, 'w') as f: + with open(file_path, "w") as f: # write ordered dict as array yaml.dump(d, f) self.debug("estimate.write_dict: %s" % file_path) - def write_coefficients(self, coefficients_df=None, model_settings=None, file_name=None): + def write_coefficients( + self, coefficients_df=None, model_settings=None, file_name=None + ): """ Because the whole point of estimation is to generate new coefficient values we want to make it easy to put the coefficients file back in configs @@ -249,7 +272,7 @@ def write_coefficients(self, coefficients_df=None, model_settings=None, file_nam if model_settings is not None: assert file_name is None - file_name = model_settings['COEFFICIENTS'] + file_name = model_settings["COEFFICIENTS"] assert file_name is not None @@ -266,60 +289,76 @@ def write_coefficients_template(self, model_settings): assert self.estimating coefficients_df = simulate.read_model_coefficient_template(model_settings) - tag = 'coefficients_template' + tag = "coefficients_template" self.write_table(coefficients_df, tag, append=False) def write_choosers(self, choosers_df): - self.write_table(choosers_df, 'choosers', append=True) + self.write_table(choosers_df, "choosers", append=True) def write_choices(self, choices): if isinstance(choices, pd.Series): - choices = choices.to_frame(name='model_choice') - assert(list(choices.columns) == ['model_choice']) - self.write_table(choices, 'choices', append=True) + choices = choices.to_frame(name="model_choice") + assert list(choices.columns) == ["model_choice"] + self.write_table(choices, "choices", append=True) def write_override_choices(self, choices): if isinstance(choices, pd.Series): - choices = choices.to_frame(name='override_choice') - assert(list(choices.columns) == ['override_choice']) - self.write_table(choices, 'override_choices', append=True) + choices = choices.to_frame(name="override_choice") + assert list(choices.columns) == ["override_choice"] + self.write_table(choices, "override_choices", append=True) def write_constants(self, constants): - self.write_dict(self, constants, 'model_constants') + self.write_dict(self, constants, "model_constants") def write_nest_spec(self, nest_spec): - self.write_dict(self, nest_spec, 'nest_spec') + self.write_dict(self, nest_spec, "nest_spec") - def copy_model_settings(self, settings_file_name, tag='model_settings', bundle_directory=False): + def copy_model_settings( + self, settings_file_name, tag="model_settings", bundle_directory=False + ): input_path = config.base_settings_file_path(settings_file_name) - output_path = self.output_file_path(tag, 'yaml', bundle_directory) + output_path = self.output_file_path(tag, "yaml", bundle_directory) shutil.copy(input_path, output_path) - def write_model_settings(self, model_settings, settings_file_name, bundle_directory=False): + def write_model_settings( + self, model_settings, settings_file_name, bundle_directory=False + ): - if 'include_settings' in model_settings: - file_path = self.output_file_path('model_settings', 'yaml', bundle_directory) + if "include_settings" in model_settings: + file_path = self.output_file_path( + "model_settings", "yaml", bundle_directory + ) assert not os.path.isfile(file_path) - with open(file_path, 'w') as f: + with open(file_path, "w") as f: yaml.dump(model_settings, f) else: - self.copy_model_settings(settings_file_name, bundle_directory=bundle_directory) - if 'inherit_settings' in model_settings: - self.write_dict(model_settings, 'inherited_model_settings', bundle_directory) + self.copy_model_settings( + settings_file_name, bundle_directory=bundle_directory + ) + if "inherit_settings" in model_settings: + self.write_dict( + model_settings, "inherited_model_settings", bundle_directory + ) def melt_alternatives(self, df): alt_id_name = self.alt_id_column_name - assert alt_id_name is not None, \ - "alt_id not set. Did you forget to call set_alt_id()? (%s)" % self.model_name - assert alt_id_name in df, \ - "alt_id_column_name '%s' not in alternatives table (%s)" % (alt_id_name, self.model_name) + assert alt_id_name is not None, ( + "alt_id not set. Did you forget to call set_alt_id()? (%s)" + % self.model_name + ) + assert ( + alt_id_name in df + ), "alt_id_column_name '%s' not in alternatives table (%s)" % ( + alt_id_name, + self.model_name, + ) - variable_column = 'variable' + variable_column = "variable" # alt_dest util_dist_0_1 util_dist_1_2 ... # person_id ... @@ -337,16 +376,20 @@ def melt_alternatives(self, df): assert chooser_name in df # mergesort is the only stable sort, and we want the expressions to appear in original df column order - melt_df = pd.melt(df, id_vars=[chooser_name, alt_id_name]) \ - .sort_values(by=chooser_name, kind='mergesort') \ - .rename(columns={'variable': variable_column}) + melt_df = ( + pd.melt(df, id_vars=[chooser_name, alt_id_name]) + .sort_values(by=chooser_name, kind="mergesort") + .rename(columns={"variable": variable_column}) + ) # person_id,alt_dest,expression,value # 31153,1,util_dist_0_1,1.0 # 31153,2,util_dist_0_1,1.0 # 31153,3,util_dist_0_1,1.0 - melt_df = melt_df.set_index([chooser_name, variable_column, alt_id_name]).unstack(2) + melt_df = melt_df.set_index( + [chooser_name, variable_column, alt_id_name] + ).unstack(2) melt_df.columns = melt_df.columns.droplevel(0) melt_df = melt_df.reset_index(1) @@ -359,21 +402,30 @@ def melt_alternatives(self, df): def write_interaction_expression_values(self, df): df = self.melt_alternatives(df) - self.write_table(df, 'interaction_expression_values', append=True) + self.write_table(df, "interaction_expression_values", append=True) def write_expression_values(self, df): - self.write_table(df, 'expression_values', append=True) + self.write_table(df, "expression_values", append=True) def write_alternatives(self, alternatives_df, bundle_directory=False): - self.write_table(alternatives_df, 'alternatives', append=True, bundle_directory=bundle_directory) + self.write_table( + alternatives_df, + "alternatives", + append=True, + bundle_directory=bundle_directory, + ) def write_interaction_sample_alternatives(self, alternatives_df): alternatives_df = self.melt_alternatives(alternatives_df) - self.write_table(alternatives_df, 'interaction_sample_alternatives', append=True) + self.write_table( + alternatives_df, "interaction_sample_alternatives", append=True + ) def write_interaction_simulate_alternatives(self, interaction_df): interaction_df = self.melt_alternatives(interaction_df) - self.write_table(interaction_df, 'interaction_simulate_alternatives', append=True) + self.write_table( + interaction_df, "interaction_simulate_alternatives", append=True + ) def get_survey_values(self, model_values, table_name, column_names): # convenience method so deep callers don't need to import estimation @@ -385,7 +437,9 @@ def get_survey_table(self, table_name): assert self.estimating return manager.get_survey_table(table_name) - def write_spec(self, model_settings=None, file_name=None, tag='SPEC', bundle_directory=False): + def write_spec( + self, model_settings=None, file_name=None, tag="SPEC", bundle_directory=False + ): if model_settings is not None: assert file_name is None @@ -394,13 +448,12 @@ def write_spec(self, model_settings=None, file_name=None, tag='SPEC', bundle_dir input_path = config.config_file_path(file_name) table_name = tag # more readable than full spec file_name - output_path = self.output_file_path(table_name, 'csv', bundle_directory) + output_path = self.output_file_path(table_name, "csv", bundle_directory) shutil.copy(input_path, output_path) self.debug("estimate.write_spec: %s" % output_path) class EstimationManager(object): - def __init__(self): self.settings_initialized = False @@ -417,30 +470,40 @@ def initialize_settings(self): assert not self.settings_initialized settings = config.read_model_settings(ESTIMATION_SETTINGS_FILE_NAME) - self.enabled = settings.get('enable', 'True') - self.bundles = settings.get('bundles', []) + self.enabled = settings.get("enable", "True") + self.bundles = settings.get("bundles", []) - self.model_estimation_table_types = settings.get('model_estimation_table_types', {}) - self.estimation_table_recipes = settings.get('estimation_table_recipes', {}) + self.model_estimation_table_types = settings.get( + "model_estimation_table_types", {} + ) + self.estimation_table_recipes = settings.get("estimation_table_recipes", {}) if self.enabled: - self.survey_tables = settings.get('survey_tables', {}) + self.survey_tables = settings.get("survey_tables", {}) for table_name, table_info in self.survey_tables.items(): - assert 'file_name' in table_info, \ - "No file name specified for survey_table '%s' in %s" % (table_name, ESTIMATION_SETTINGS_FILE_NAME) - file_path = config.data_file_path(table_info['file_name'], mandatory=True) - assert os.path.exists(file_path), \ - "File for survey table '%s' not found: %s" % (table_name, file_path) + assert ( + "file_name" in table_info + ), "No file name specified for survey_table '%s' in %s" % ( + table_name, + ESTIMATION_SETTINGS_FILE_NAME, + ) + file_path = config.data_file_path( + table_info["file_name"], mandatory=True + ) + assert os.path.exists( + file_path + ), "File for survey table '%s' not found: %s" % (table_name, file_path) df = pd.read_csv(file_path) - index_col = table_info.get('index_col') + index_col = table_info.get("index_col") if index_col is not None: - assert index_col in df.columns, \ - "Index col '%s' not in survey_table '%s' in file: %s % (index_col, table_name, file_path)" + assert ( + index_col in df.columns + ), "Index col '%s' not in survey_table '%s' in file: %s % (index_col, table_name, file_path)" df.set_index(index_col, inplace=True) # add the table df to survey_tables - table_info['df'] = df + table_info["df"] = df self.settings_initialized = True @@ -467,25 +530,40 @@ def begin_estimation(self, model_name, bundle_name=None): bundle_name = bundle_name or model_name if bundle_name not in self.bundles: - logger.warning(f"estimation bundle {bundle_name} not in settings file {ESTIMATION_SETTINGS_FILE_NAME}") + logger.warning( + f"estimation bundle {bundle_name} not in settings file {ESTIMATION_SETTINGS_FILE_NAME}" + ) return None # can't estimate the same model simultaneously - assert model_name not in self.estimating, \ - "Cant begin estimating %s - already estimating that model." % (model_name, ) + assert ( + model_name not in self.estimating + ), "Cant begin estimating %s - already estimating that model." % (model_name,) - assert bundle_name in self.model_estimation_table_types, \ - "No estimation_table_type for %s in %s." % (bundle_name, ESTIMATION_SETTINGS_FILE_NAME) + assert ( + bundle_name in self.model_estimation_table_types + ), "No estimation_table_type for %s in %s." % ( + bundle_name, + ESTIMATION_SETTINGS_FILE_NAME, + ) model_estimation_table_type = self.model_estimation_table_types[bundle_name] - assert model_estimation_table_type in self.estimation_table_recipes, \ - "model_estimation_table_type '%s' for model %s no in %s." % \ - (model_estimation_table_type, model_name, ESTIMATION_SETTINGS_FILE_NAME) - - self.estimating[model_name] = \ - Estimator(bundle_name, model_name, - estimation_table_recipes=self.estimation_table_recipes[model_estimation_table_type]) + assert ( + model_estimation_table_type in self.estimation_table_recipes + ), "model_estimation_table_type '%s' for model %s no in %s." % ( + model_estimation_table_type, + model_name, + ESTIMATION_SETTINGS_FILE_NAME, + ) + + self.estimating[model_name] = Estimator( + bundle_name, + model_name, + estimation_table_recipes=self.estimation_table_recipes[ + model_estimation_table_type + ], + ) return self.estimating[model_name] @@ -496,22 +574,31 @@ def release(self, estimator): def get_survey_table(self, table_name): assert self.enabled if table_name not in self.survey_tables: - logger.warning("EstimationManager. get_survey_table: survey table '%s' not in survey_tables" % table_name) - df = self.survey_tables[table_name].get('df') + logger.warning( + "EstimationManager. get_survey_table: survey table '%s' not in survey_tables" + % table_name + ) + df = self.survey_tables[table_name].get("df") return df def get_survey_values(self, model_values, table_name, column_names): - assert isinstance(model_values, (pd.Series, pd.DataFrame, pd.Index)), \ - "get_survey_values model_values has unrecognized type %s" % type(model_values) + assert isinstance( + model_values, (pd.Series, pd.DataFrame, pd.Index) + ), "get_survey_values model_values has unrecognized type %s" % type( + model_values + ) - dest_index = model_values if isinstance(model_values, (pd.Index)) else model_values.index + dest_index = ( + model_values if isinstance(model_values, (pd.Index)) else model_values.index + ) # read override_df table survey_df = manager.get_survey_table(table_name) - assert survey_df is not None, \ - "get_survey_values: table '%s' not found" % (table_name,) + assert survey_df is not None, "get_survey_values: table '%s' not found" % ( + table_name, + ) column_name = column_names if isinstance(column_names, str) else None if column_name: @@ -519,47 +606,67 @@ def get_survey_values(self, model_values, table_name, column_names): if not set(column_names).issubset(set(survey_df.columns)): missing_columns = list(set(column_names) - set(survey_df.columns)) - logger.error("missing columns (%s) in survey table %s" % (missing_columns, table_name)) - print("survey table columns: %s" % (survey_df.columns, )) - raise RuntimeError("missing columns (%s) in survey table %s" % (missing_columns, table_name)) - - assert set(column_names).issubset(set(survey_df.columns)), \ - f"missing columns ({list(set(column_names) - set(survey_df.columns))}) " \ + logger.error( + "missing columns (%s) in survey table %s" + % (missing_columns, table_name) + ) + print("survey table columns: %s" % (survey_df.columns,)) + raise RuntimeError( + "missing columns (%s) in survey table %s" + % (missing_columns, table_name) + ) + + assert set(column_names).issubset(set(survey_df.columns)), ( + f"missing columns ({list(set(column_names) - set(survey_df.columns))}) " f"in survey table {table_name} {list(survey_df.columns)}" + ) # for now tour_id is asim_tour_id in survey_df asim_df_index_name = dest_index.name if asim_df_index_name == survey_df.index.name: # survey table has same index as activitysim - survey_df_index_column = 'index' + survey_df_index_column = "index" elif asim_df_index_name in survey_df.columns: # survey table has activitysim index as column survey_df_index_column = asim_df_index_name - elif 'asim_%s' % asim_df_index_name in survey_df.columns: + elif "asim_%s" % asim_df_index_name in survey_df.columns: # survey table has activitysim index as column with asim_ prefix - survey_df_index_column = 'asim_%s' % asim_df_index_name + survey_df_index_column = "asim_%s" % asim_df_index_name else: - logger.error("get_survey_values:index '%s' not in survey table" % dest_index.name) + logger.error( + "get_survey_values:index '%s' not in survey table" % dest_index.name + ) # raise RuntimeError("index '%s' not in survey table %s" % (dest_index.name, table_name) survey_df_index_column = None - logger.debug("get_survey_values: reindexing using %s.%s" % (table_name, survey_df_index_column)) + logger.debug( + "get_survey_values: reindexing using %s.%s" + % (table_name, survey_df_index_column) + ) values = pd.DataFrame(index=dest_index) for c in column_names: - if survey_df_index_column == 'index': + if survey_df_index_column == "index": survey_values = survey_df[c] else: - survey_values = pd.Series(survey_df[c].values, index=survey_df[survey_df_index_column]) + survey_values = pd.Series( + survey_df[c].values, index=survey_df[survey_df_index_column] + ) survey_values = reindex(survey_values, dest_index) # shouldn't be any choices we can't override missing_values = survey_values.isna() if missing_values.any(): - logger.error("missing survey_values for %s\n%s" % (c, dest_index[missing_values])) - logger.error("couldn't get_survey_values for %s in %s\n" % (c, table_name)) - raise RuntimeError("couldn't get_survey_values for %s in %s\n" % (c, table_name)) + logger.error( + "missing survey_values for %s\n%s" % (c, dest_index[missing_values]) + ) + logger.error( + "couldn't get_survey_values for %s in %s\n" % (c, table_name) + ) + raise RuntimeError( + "couldn't get_survey_values for %s in %s\n" % (c, table_name) + ) values[c] = survey_values diff --git a/activitysim/abm/models/util/logsums.py b/activitysim/abm/models/util/logsums.py index 270b229449..f42c15c161 100644 --- a/activitysim/abm/models/util/logsums.py +++ b/activitysim/abm/models/util/logsums.py @@ -2,12 +2,7 @@ # See full license in LICENSE.txt. import logging -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import los -from activitysim.core import expressions - +from activitysim.core import config, expressions, los, simulate, tracing from activitysim.core.pathbuilder import TransitVirtualPathBuilder logger = logging.getLogger(__name__) @@ -15,14 +10,19 @@ def filter_chooser_columns(choosers, logsum_settings, model_settings): - chooser_columns = logsum_settings.get('LOGSUM_CHOOSER_COLUMNS', []) + chooser_columns = logsum_settings.get("LOGSUM_CHOOSER_COLUMNS", []) - if 'CHOOSER_ORIG_COL_NAME' in model_settings and model_settings['CHOOSER_ORIG_COL_NAME'] not in chooser_columns: - chooser_columns.append(model_settings['CHOOSER_ORIG_COL_NAME']) + if ( + "CHOOSER_ORIG_COL_NAME" in model_settings + and model_settings["CHOOSER_ORIG_COL_NAME"] not in chooser_columns + ): + chooser_columns.append(model_settings["CHOOSER_ORIG_COL_NAME"]) missing_columns = [c for c in chooser_columns if c not in choosers] if missing_columns: - logger.debug("logsum.filter_chooser_columns missing_columns %s" % missing_columns) + logger.debug( + "logsum.filter_chooser_columns missing_columns %s" % missing_columns + ) # ignore any columns not appearing in choosers df chooser_columns = [c for c in chooser_columns if c in choosers] @@ -31,12 +31,19 @@ def filter_chooser_columns(choosers, logsum_settings, model_settings): return choosers -def compute_logsums(choosers, - tour_purpose, - logsum_settings, model_settings, - network_los, - chunk_size, chunk_tag, trace_label, - in_period_col=None, out_period_col=None, duration_col=None): +def compute_logsums( + choosers, + tour_purpose, + logsum_settings, + model_settings, + network_los, + chunk_size, + chunk_tag, + trace_label, + in_period_col=None, + out_period_col=None, + duration_col=None, +): """ Parameters @@ -56,41 +63,71 @@ def compute_logsums(choosers, computed logsums with same index as choosers """ - trace_label = tracing.extend_trace_label(trace_label, 'compute_logsums') + trace_label = tracing.extend_trace_label(trace_label, "compute_logsums") logger.debug("Running compute_logsums with %d choosers" % choosers.shape[0]) # compute_logsums needs to know name of dest column in interaction_sample - orig_col_name = model_settings['CHOOSER_ORIG_COL_NAME'] - dest_col_name = model_settings['ALT_DEST_COL_NAME'] + orig_col_name = model_settings["CHOOSER_ORIG_COL_NAME"] + dest_col_name = model_settings["ALT_DEST_COL_NAME"] # FIXME - are we ok with altering choosers (so caller doesn't have to set these)? if (in_period_col is not None) and (out_period_col is not None): - choosers['in_period'] = network_los.skim_time_period_label(choosers[in_period_col]) - choosers['out_period'] = network_los.skim_time_period_label(choosers[out_period_col]) - elif ('in_period' not in choosers.columns) and ('out_period' not in choosers.columns): - if type(model_settings['IN_PERIOD']) is dict and type(model_settings['OUT_PERIOD']) is dict: - if tour_purpose in model_settings['IN_PERIOD'] and tour_purpose in model_settings['OUT_PERIOD']: - choosers['in_period'] = network_los.skim_time_period_label(model_settings['IN_PERIOD'][tour_purpose]) - choosers['out_period'] = network_los.skim_time_period_label(model_settings['OUT_PERIOD'][tour_purpose]) + choosers["in_period"] = network_los.skim_time_period_label( + choosers[in_period_col] + ) + choosers["out_period"] = network_los.skim_time_period_label( + choosers[out_period_col] + ) + elif ("in_period" not in choosers.columns) and ( + "out_period" not in choosers.columns + ): + if ( + type(model_settings["IN_PERIOD"]) is dict + and type(model_settings["OUT_PERIOD"]) is dict + ): + if ( + tour_purpose in model_settings["IN_PERIOD"] + and tour_purpose in model_settings["OUT_PERIOD"] + ): + choosers["in_period"] = network_los.skim_time_period_label( + model_settings["IN_PERIOD"][tour_purpose] + ) + choosers["out_period"] = network_los.skim_time_period_label( + model_settings["OUT_PERIOD"][tour_purpose] + ) else: - choosers['in_period'] = network_los.skim_time_period_label(model_settings['IN_PERIOD']) - choosers['out_period'] = network_los.skim_time_period_label(model_settings['OUT_PERIOD']) + choosers["in_period"] = network_los.skim_time_period_label( + model_settings["IN_PERIOD"] + ) + choosers["out_period"] = network_los.skim_time_period_label( + model_settings["OUT_PERIOD"] + ) else: logger.error("Choosers table already has columns 'in_period' and 'out_period'.") if duration_col is not None: - choosers['duration'] = choosers[duration_col] - elif 'duration' not in choosers.columns: - if type(model_settings['IN_PERIOD']) is dict and type(model_settings['OUT_PERIOD']) is dict: - if tour_purpose in model_settings['IN_PERIOD'] and tour_purpose in model_settings['OUT_PERIOD']: - choosers['duration'] = model_settings['IN_PERIOD'][tour_purpose] - \ - model_settings['OUT_PERIOD'][tour_purpose] + choosers["duration"] = choosers[duration_col] + elif "duration" not in choosers.columns: + if ( + type(model_settings["IN_PERIOD"]) is dict + and type(model_settings["OUT_PERIOD"]) is dict + ): + if ( + tour_purpose in model_settings["IN_PERIOD"] + and tour_purpose in model_settings["OUT_PERIOD"] + ): + choosers["duration"] = ( + model_settings["IN_PERIOD"][tour_purpose] + - model_settings["OUT_PERIOD"][tour_purpose] + ) else: - choosers['duration'] = model_settings['IN_PERIOD'] - model_settings['OUT_PERIOD'] + choosers["duration"] = ( + model_settings["IN_PERIOD"] - model_settings["OUT_PERIOD"] + ) else: logger.error("Choosers table already has column 'duration'.") - logsum_spec = simulate.read_model_spec(file_name=logsum_settings['SPEC']) + logsum_spec = simulate.read_model_spec(file_name=logsum_settings["SPEC"]) coefficients = simulate.get_segment_coefficients(logsum_settings, tour_purpose) logsum_spec = simulate.eval_coefficients(logsum_spec, coefficients, estimator=None) @@ -107,14 +144,18 @@ def compute_logsums(choosers, # setup skim keys skim_dict = network_los.get_default_skim_dict() - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='out_period') - dot_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='in_period') - odr_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='in_period') - dor_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='out_period') + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="out_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="in_period" + ) + odr_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="in_period" + ) + dor_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="out_period" + ) od_skim_stack_wrapper = skim_dict.wrap(orig_col_name, dest_col_name) skims = { @@ -123,35 +164,46 @@ def compute_logsums(choosers, "odr_skims": odr_skim_stack_wrapper, "dor_skims": dor_skim_stack_wrapper, "od_skims": od_skim_stack_wrapper, - 'orig_col_name': orig_col_name, - 'dest_col_name': dest_col_name + "orig_col_name": orig_col_name, + "dest_col_name": dest_col_name, } if network_los.zone_system == los.THREE_ZONE: # fixme - is this a lightweight object? tvpb = network_los.tvpb - tvpb_logsum_odt = tvpb.wrap_logsum(orig_key=orig_col_name, dest_key=dest_col_name, - tod_key='out_period', segment_key='demographic_segment', - trace_label=trace_label, tag='tvpb_logsum_odt') - tvpb_logsum_dot = tvpb.wrap_logsum(orig_key=dest_col_name, dest_key=orig_col_name, - tod_key='in_period', segment_key='demographic_segment', - trace_label=trace_label, tag='tvpb_logsum_dot') - - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - 'tvpb_logsum_dot': tvpb_logsum_dot - }) + tvpb_logsum_odt = tvpb.wrap_logsum( + orig_key=orig_col_name, + dest_key=dest_col_name, + tod_key="out_period", + segment_key="demographic_segment", + trace_label=trace_label, + tag="tvpb_logsum_odt", + ) + tvpb_logsum_dot = tvpb.wrap_logsum( + orig_key=dest_col_name, + dest_key=orig_col_name, + tod_key="in_period", + segment_key="demographic_segment", + trace_label=trace_label, + tag="tvpb_logsum_dot", + ) + + skims.update( + {"tvpb_logsum_odt": tvpb_logsum_odt, "tvpb_logsum_dot": tvpb_logsum_dot} + ) # TVPB constants can appear in expressions - if logsum_settings.get('use_TVPB_constants', True): - locals_dict.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + if logsum_settings.get("use_TVPB_constants", True): + locals_dict.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) locals_dict.update(skims) # - run preprocessor to annotate choosers # allow specification of alternate preprocessor for nontour choosers - preprocessor = model_settings.get('LOGSUM_PREPROCESSOR', 'preprocessor') + preprocessor = model_settings.get("LOGSUM_PREPROCESSOR", "preprocessor") preprocessor_settings = logsum_settings[preprocessor] if preprocessor_settings: @@ -162,7 +214,8 @@ def compute_logsums(choosers, df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) logsums = simulate.simple_simulate_logsums( choosers, @@ -172,6 +225,7 @@ def compute_logsums(choosers, locals_d=locals_dict, chunk_size=chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) return logsums diff --git a/activitysim/abm/models/util/mode.py b/activitysim/abm/models/util/mode.py index 37afe6d47d..f28713b2c1 100644 --- a/activitysim/abm/models/util/mode.py +++ b/activitysim/abm/models/util/mode.py @@ -1,12 +1,10 @@ # ActivitySim # See full license in LICENSE.txt. -import pandas as pd import logging -from activitysim.core import simulate -from activitysim.core import config -from activitysim.core import expressions -from activitysim.core import tracing +import pandas as pd + +from activitysim.core import config, expressions, simulate, tracing """ At this time, these utilities are mostly for transforming the mode choice @@ -18,14 +16,19 @@ def mode_choice_simulate( - choosers, spec, nest_spec, skims, locals_d, - chunk_size, - mode_column_name, - logsum_column_name, - trace_label, - trace_choice_name, - trace_column_names=None, - estimator=None): + choosers, + spec, + nest_spec, + skims, + locals_d, + chunk_size, + mode_column_name, + logsum_column_name, + trace_label, + trace_choice_name, + trace_column_names=None, + estimator=None, +): """ common method for both tour_mode_choice and trip_mode_choice @@ -60,34 +63,39 @@ def mode_choice_simulate( trace_label=trace_label, trace_choice_name=trace_choice_name, estimator=estimator, - trace_column_names=trace_column_names) + trace_column_names=trace_column_names, + ) # for consistency, always return dataframe, whether or not logsums were requested if isinstance(choices, pd.Series): - choices = choices.to_frame('choice') + choices = choices.to_frame("choice") - choices.rename(columns={'logsum': logsum_column_name, - 'choice': mode_column_name}, - inplace=True) + choices.rename( + columns={"logsum": logsum_column_name, "choice": mode_column_name}, inplace=True + ) alts = spec.columns - choices[mode_column_name] = \ - choices[mode_column_name].map(dict(list(zip(list(range(len(alts))), alts)))) + choices[mode_column_name] = choices[mode_column_name].map( + dict(list(zip(list(range(len(alts))), alts))) + ) return choices def run_tour_mode_choice_simulate( - choosers, - tour_purpose, model_settings, - mode_column_name, - logsum_column_name, - network_los, - skims, - constants, - estimator, - chunk_size, - trace_label=None, trace_choice_name=None): + choosers, + tour_purpose, + model_settings, + mode_column_name, + logsum_column_name, + network_los, + skims, + constants, + estimator, + chunk_size, + trace_label=None, + trace_choice_name=None, +): """ This is a utility to run a mode choice model for each segment (usually segments are tour/trip purposes). Pass in the tours/trip that need a mode, @@ -95,7 +103,7 @@ def run_tour_mode_choice_simulate( you want to use in the evaluation of variables. """ - spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients = simulate.get_segment_coefficients(model_settings, tour_purpose) spec = simulate.eval_coefficients(spec, coefficients, estimator) @@ -113,18 +121,18 @@ def run_tour_mode_choice_simulate( logger.warning("coefficients are obscuring locals_dict values") locals_dict.update(coefficients) - assert ('in_period' not in choosers) and ('out_period' not in choosers) - in_time = skims['in_time_col_name'] - out_time = skims['out_time_col_name'] - choosers['in_period'] = network_los.skim_time_period_label(choosers[in_time]) - choosers['out_period'] = network_los.skim_time_period_label(choosers[out_time]) + assert ("in_period" not in choosers) and ("out_period" not in choosers) + in_time = skims["in_time_col_name"] + out_time = skims["out_time_col_name"] + choosers["in_period"] = network_los.skim_time_period_label(choosers[in_time]) + choosers["out_period"] = network_los.skim_time_period_label(choosers[out_time]) expressions.annotate_preprocessors( - choosers, locals_dict, skims, - model_settings, trace_label) + choosers, locals_dict, skims, model_settings, trace_label + ) trace_column_names = choosers.index.name - assert trace_column_names == 'tour_id' + assert trace_column_names == "tour_id" if trace_column_names not in choosers: choosers[trace_column_names] = choosers.index @@ -144,6 +152,7 @@ def run_tour_mode_choice_simulate( trace_label=trace_label, trace_choice_name=trace_choice_name, trace_column_names=trace_column_names, - estimator=estimator) + estimator=estimator, + ) return choices diff --git a/activitysim/abm/models/util/overlap.py b/activitysim/abm/models/util/overlap.py index 433dc3a0bb..70fadfbd43 100644 --- a/activitysim/abm/models/util/overlap.py +++ b/activitysim/abm/models/util/overlap.py @@ -2,12 +2,10 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import tracing -from activitysim.core import inject - +from activitysim.core import inject, tracing logger = logging.getLogger(__name__) @@ -122,11 +120,11 @@ def p2p_time_window_overlap(p1_ids, p2_ids): row_ids = row_ids[target_rows] run_length = run_length[target_rows] - df = pd.DataFrame({'row_ids': row_ids, 'run_length': run_length}) + df = pd.DataFrame({"row_ids": row_ids, "run_length": run_length}) # groupby index of row_ids match the numpy row indexes of timetable.pairwise_available ndarray # but there may be missing values of any no-overlap persons pairs - max_overlap = df.groupby('row_ids').run_length.max() + max_overlap = df.groupby("row_ids").run_length.max() # fill in any missing values to align with input arrays input_row_ids = np.arange(len(p1_ids)) max_overlap = max_overlap.reindex(input_row_ids).fillna(0) @@ -139,23 +137,28 @@ def p2p_time_window_overlap(p1_ids, p2_ids): def person_pairs(persons): - p = persons[['household_id', 'adult']].reset_index() - p2p = pd.merge(p, p, left_on='household_id', right_on='household_id', how='outer') + p = persons[["household_id", "adult"]].reset_index() + p2p = pd.merge(p, p, left_on="household_id", right_on="household_id", how="outer") # we desire well known non-contingent column names - p2p.rename(columns={ - '%s_x' % persons.index.name: 'person1', - '%s_y' % persons.index.name: 'person2', - }, inplace=True) + p2p.rename( + columns={ + "%s_x" % persons.index.name: "person1", + "%s_y" % persons.index.name: "person2", + }, + inplace=True, + ) p2p = p2p[p2p.person1 < p2p.person2] # index is meaningless, but might as well be tidy p2p.reset_index(drop=True, inplace=True) - p2p['p2p_type'] = (p2p.adult_x * 1 + p2p.adult_y * 1).map({0: 'cc', 1: 'ac', 2: 'aa'}) + p2p["p2p_type"] = (p2p.adult_x * 1 + p2p.adult_y * 1).map( + {0: "cc", 1: "ac", 2: "aa"} + ) - p2p = p2p[['household_id', 'person1', 'person2', 'p2p_type']] + p2p = p2p[["household_id", "person1", "person2", "p2p_type"]] return p2p @@ -164,16 +167,19 @@ def hh_time_window_overlap(households, persons): p2p = person_pairs(persons) - p2p['max_overlap'] = p2p_time_window_overlap(p2p.person1, p2p.person2) + p2p["max_overlap"] = p2p_time_window_overlap(p2p.person1, p2p.person2) - hh_overlap = \ - p2p.groupby(['household_id', 'p2p_type']).max_overlap.max().unstack(level=-1, fill_value=0) + hh_overlap = ( + p2p.groupby(["household_id", "p2p_type"]) + .max_overlap.max() + .unstack(level=-1, fill_value=0) + ) # fill in missing households (in case there were no overlaps) hh_overlap = hh_overlap.reindex(households.index).fillna(0).astype(np.int8) # make sure we have all p2p_types (if there were none to unstack, then column will be missing) - for c in ['aa', 'cc', 'ac']: + for c in ["aa", "cc", "ac"]: if c not in hh_overlap.columns: hh_overlap[c] = 0 @@ -184,18 +190,28 @@ def person_time_window_overlap(persons): p2p = person_pairs(persons) - p2p['max_overlap'] = p2p_time_window_overlap(p2p.person1, p2p.person2) - - p_overlap = pd.concat([ - p2p[['person1', 'p2p_type', 'max_overlap']].rename(columns={'person1': 'person_id'}), - p2p[['person2', 'p2p_type', 'max_overlap']].rename(columns={'person2': 'person_id'}) - ]).groupby(['person_id', 'p2p_type']).max_overlap.max() + p2p["max_overlap"] = p2p_time_window_overlap(p2p.person1, p2p.person2) + + p_overlap = ( + pd.concat( + [ + p2p[["person1", "p2p_type", "max_overlap"]].rename( + columns={"person1": "person_id"} + ), + p2p[["person2", "p2p_type", "max_overlap"]].rename( + columns={"person2": "person_id"} + ), + ] + ) + .groupby(["person_id", "p2p_type"]) + .max_overlap.max() + ) # unstack to create columns for each p2p_type (aa, cc, and ac) p_overlap = p_overlap.unstack(level=-1, fill_value=0) # make sure we have columns for all p2p_types (in case there were none of a p2ptype to unstack) - for c in ['aa', 'cc', 'ac']: + for c in ["aa", "cc", "ac"]: if c not in p_overlap.columns: p_overlap[c] = 0 @@ -221,11 +237,11 @@ def person_max_window(persons): row_ids = row_ids[target_rows] run_length = run_length[target_rows] - df = pd.DataFrame({'row_ids': row_ids, 'run_length': run_length}) + df = pd.DataFrame({"row_ids": row_ids, "run_length": run_length}) # groupby index of row_ids match the numpy row indexes of timetable.pairwise_available ndarray # but there may be missing values of any no-overlap persons pairs - max_overlap = df.groupby('row_ids').run_length.max() + max_overlap = df.groupby("row_ids").run_length.max() # fill in any missing values to align with input arrays input_row_ids = np.arange(persons.shape[0]) max_window = max_overlap.reindex(input_row_ids).fillna(0) diff --git a/activitysim/abm/models/util/probabilistic_scheduling.py b/activitysim/abm/models/util/probabilistic_scheduling.py index 73500f58e8..aab2e8d708 100644 --- a/activitysim/abm/models/util/probabilistic_scheduling.py +++ b/activitysim/abm/models/util/probabilistic_scheduling.py @@ -2,16 +2,10 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import chunk -from activitysim.core import logit -from activitysim.core import inject +from activitysim.core import chunk, config, inject, logit, pipeline, simulate, tracing logger = logging.getLogger(__name__) @@ -44,18 +38,23 @@ def _clip_probs(choosers_df, probs, depart_alt_base): probs = probs.div(probs.sum(axis=1), axis=0) num_rows, num_cols = probs.shape - ix_map = np.tile(np.arange(0, num_cols), num_rows).reshape(num_rows, num_cols) + depart_alt_base + ix_map = ( + np.tile(np.arange(0, num_cols), num_rows).reshape(num_rows, num_cols) + + depart_alt_base + ) # 5 6 7 8 9 10... # 5 6 7 8 9 10... # 5 6 7 8 9 10... - clip_mask = ((ix_map >= choosers_df.earliest.values.reshape(num_rows, 1)) & - (ix_map <= choosers_df.latest.values.reshape(num_rows, 1))) * 1 + clip_mask = ( + (ix_map >= choosers_df.earliest.values.reshape(num_rows, 1)) + & (ix_map <= choosers_df.latest.values.reshape(num_rows, 1)) + ) * 1 # [0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0] # [0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0] # [0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0]... - probs = probs*clip_mask + probs = probs * clip_mask return probs @@ -80,7 +79,7 @@ def _report_bad_choices(bad_row_map, df, filename, trace_label, trace_choosers=N hh_ids = tracing.hh_id_for_chooser(df.index, df) else: hh_ids = tracing.hh_id_for_chooser(df.index, trace_choosers) - df['household_id'] = hh_ids + df["household_id"] = hh_ids filename = "%s.%s" % (trace_label, filename) @@ -91,15 +90,25 @@ def _report_bad_choices(bad_row_map, df, filename, trace_label, trace_choosers=N MAX_PRINT = 0 for idx in df.index[:MAX_PRINT].values: - row_msg = "%s : failed %s = %s (hh_id = %s)" % \ - (trace_label, df.index.name, idx, df.household_id.loc[idx]) + row_msg = "%s : failed %s = %s (hh_id = %s)" % ( + trace_label, + df.index.name, + idx, + df.household_id.loc[idx], + ) logger.warning(row_msg) def _preprocess_departure_probs( - choosers_df, choosers, probs_spec, probs_join_cols, - clip_earliest_latest, depart_alt_base, first_trip_in_leg): + choosers_df, + choosers, + probs_spec, + probs_join_cols, + clip_earliest_latest, + depart_alt_base, + first_trip_in_leg, +): # zero out probs outside earliest-latest window if one exists probs_cols = [c for c in probs_spec.columns if c not in probs_join_cols] @@ -120,10 +129,11 @@ def _preprocess_stop_duration_probs(choosers): # convert wide to long. duration probs are stored in long format so that # inbound/outbound duration probs, which both have a 0 alternative, can be # stored in a single config file. open to better suggestions here. - choosers['periods_left'] = choosers['latest'] - choosers['earliest'] - choosers = choosers.query('periods_left_min <= periods_left <= periods_left_max') + choosers["periods_left"] = choosers["latest"] - choosers["earliest"] + choosers = choosers.query("periods_left_min <= periods_left <= periods_left_max") chooser_probs = choosers.reset_index().pivot( - index='trip_id', columns='duration_offset', values='prob') + index="trip_id", columns="duration_offset", values="prob" + ) # re-order columns if using negative offsets bc pivot (above) will sort # columns in ascending order by default. but we need the zero-indexed @@ -136,32 +146,47 @@ def _preprocess_stop_duration_probs(choosers): def _preprocess_scheduling_probs( - scheduling_mode, choosers_df, choosers, probs_spec, - probs_join_cols, clip_earliest_latest, depart_alt_base, first_trip_in_leg): + scheduling_mode, + choosers_df, + choosers, + probs_spec, + probs_join_cols, + clip_earliest_latest, + depart_alt_base, + first_trip_in_leg, +): """ Preprocesses the choosers tables depending on the trip scheduling mode selected. """ - if scheduling_mode == 'departure': + if scheduling_mode == "departure": chooser_probs = _preprocess_departure_probs( - choosers_df, choosers, probs_spec, probs_join_cols, - clip_earliest_latest, depart_alt_base, first_trip_in_leg) - elif scheduling_mode == 'stop_duration': + choosers_df, + choosers, + probs_spec, + probs_join_cols, + clip_earliest_latest, + depart_alt_base, + first_trip_in_leg, + ) + elif scheduling_mode == "stop_duration": chooser_probs = _preprocess_stop_duration_probs(choosers) else: logger.error( "Invalid scheduling mode specified: {0}.".format(scheduling_mode), - "Please select one of ['departure', 'stop_duration'] and try again.") + "Please select one of ['departure', 'stop_duration'] and try again.", + ) # probs should sum to 1 with residual probs resulting in choice of 'fail' - chooser_probs['fail'] = 1 - chooser_probs.sum(axis=1).clip(0, 1) + chooser_probs["fail"] = 1 - chooser_probs.sum(axis=1).clip(0, 1) return chooser_probs def _postprocess_scheduling_choices( - scheduling_mode, depart_alt_base, choices, choice_cols, choosers): + scheduling_mode, depart_alt_base, choices, choice_cols, choosers +): """ This method just converts the choice column indexes returned by the @@ -169,26 +194,27 @@ def _postprocess_scheduling_choices( more useful for downstream models. """ # convert alt choice index to depart time (setting failed choices to -1) - failed = (choices == choice_cols.get_loc('fail')) + failed = choices == choice_cols.get_loc("fail") # For the stop duration-based probabilities, the alternatives are offsets that # get applied to trip-specific departure and arrival times, so depart_alt_base # is a column/series rather than a scalar. - if scheduling_mode == 'stop_duration': + if scheduling_mode == "stop_duration": # for outbound trips, offsets get added to the departure time constraint if choosers.outbound.all(): - depart_alt_base = choosers['earliest'] + depart_alt_base = choosers["earliest"] # for inbound trips, offsets get subtracted from tour end constraint elif not choosers.outbound.any(): - depart_alt_base = choosers['latest'] + depart_alt_base = choosers["latest"] choices *= -1 else: logger.error( - 'Outbound trips are being scheduled at the same ' - 'time as inbound trips. That should never happen.') + "Outbound trips are being scheduled at the same " + "time as inbound trips. That should never happen." + ) choices = (choices + depart_alt_base).where(~failed, -1) @@ -196,13 +222,18 @@ def _postprocess_scheduling_choices( def make_scheduling_choices( - choosers_df, scheduling_mode, - probs_spec, probs_join_cols, - depart_alt_base, - first_trip_in_leg, - report_failed_trips, trace_hh_id, trace_label, - trace_choice_col_name='depart', - clip_earliest_latest=True): + choosers_df, + scheduling_mode, + probs_spec, + probs_join_cols, + depart_alt_base, + first_trip_in_leg, + report_failed_trips, + trace_hh_id, + trace_label, + trace_choice_col_name="depart", + clip_earliest_latest=True, +): """ We join each trip with the appropriate row in probs_spec by joining on probs_join_cols, which should exist in both trips, probs_spec dataframe. @@ -231,35 +262,54 @@ def make_scheduling_choices( time periods depart choices, one per trip (except for trips with zero probs) """ - choosers = pd.merge(choosers_df.reset_index(), probs_spec, on=probs_join_cols, - how='left').set_index(choosers_df.index.name) + choosers = pd.merge( + choosers_df.reset_index(), probs_spec, on=probs_join_cols, how="left" + ).set_index(choosers_df.index.name) chunk.log_df(trace_label, "choosers", choosers) if trace_hh_id and tracing.has_trace_targets(choosers_df): - tracing.trace_df(choosers, '%s.choosers' % trace_label) + tracing.trace_df(choosers, "%s.choosers" % trace_label) # different pre-processing is required based on the scheduling mode chooser_probs = _preprocess_scheduling_probs( - scheduling_mode, choosers_df, choosers, probs_spec, - probs_join_cols, clip_earliest_latest, depart_alt_base, first_trip_in_leg) + scheduling_mode, + choosers_df, + choosers, + probs_spec, + probs_join_cols, + clip_earliest_latest, + depart_alt_base, + first_trip_in_leg, + ) chunk.log_df(trace_label, "chooser_probs", chooser_probs) if trace_hh_id and tracing.has_trace_targets(choosers_df): - tracing.trace_df(chooser_probs, '%s.chooser_probs' % trace_label) + tracing.trace_df(chooser_probs, "%s.chooser_probs" % trace_label) - raw_choices, rands = logit.make_choices(chooser_probs, trace_label=trace_label, trace_choosers=choosers) + raw_choices, rands = logit.make_choices( + chooser_probs, trace_label=trace_label, trace_choosers=choosers + ) chunk.log_df(trace_label, "choices", raw_choices) chunk.log_df(trace_label, "rands", rands) if trace_hh_id and tracing.has_trace_targets(choosers_df): - tracing.trace_df(raw_choices, '%s.choices' % trace_label, columns=[None, trace_choice_col_name]) - tracing.trace_df(rands, '%s.rands' % trace_label, columns=[None, 'rand']) + tracing.trace_df( + raw_choices, + "%s.choices" % trace_label, + columns=[None, trace_choice_col_name], + ) + tracing.trace_df(rands, "%s.rands" % trace_label, columns=[None, "rand"]) # different post-processing is required based on the scheduling mode choices, failed = _postprocess_scheduling_choices( - scheduling_mode, depart_alt_base, raw_choices, chooser_probs.columns, choosers_df) + scheduling_mode, + depart_alt_base, + raw_choices, + chooser_probs.columns, + choosers_df, + ) chunk.log_df(trace_label, "failed", failed) @@ -268,20 +318,23 @@ def make_scheduling_choices( _report_bad_choices( bad_row_map=failed, df=choosers, - filename='failed_choosers', + filename="failed_choosers", trace_label=trace_label, - trace_choosers=None) + trace_choosers=None, + ) # trace before removing failures if trace_hh_id and tracing.has_trace_targets(choosers_df): - tracing.trace_df(choices, '%s.choices' % trace_label, columns=[None, trace_choice_col_name]) - tracing.trace_df(rands, '%s.rands' % trace_label, columns=[None, 'rand']) + tracing.trace_df( + choices, "%s.choices" % trace_label, columns=[None, trace_choice_col_name] + ) + tracing.trace_df(rands, "%s.rands" % trace_label, columns=[None, "rand"]) # remove any failed choices if failed.any(): choices = choices[~failed] - if all([check_col in choosers_df.columns for check_col in ['earliest', 'latest']]): + if all([check_col in choosers_df.columns for check_col in ["earliest", "latest"]]): assert (choices >= choosers_df.earliest[~failed]).all() assert (choices <= choosers_df.latest[~failed]).all() diff --git a/activitysim/abm/models/util/school_escort_tours_trips.py b/activitysim/abm/models/util/school_escort_tours_trips.py new file mode 100644 index 0000000000..ec20cdc354 --- /dev/null +++ b/activitysim/abm/models/util/school_escort_tours_trips.py @@ -0,0 +1,596 @@ +import logging +import pandas as pd +import numpy as np +import warnings + +from activitysim.abm.models.util import canonical_ids +from activitysim.core import pipeline +from activitysim.core import inject + +from ..school_escorting import NUM_ESCORTEES + +logger = logging.getLogger(__name__) + + +def determine_chauf_outbound_flag(row, i): + if row["school_escort_direction"] == "outbound": + outbound = True + elif ( + (row["school_escort_direction"] == "inbound") + & (i == 0) + & (row["escort_type"] == "pure_escort") + ): + # chauf is going to pick up the first child + outbound = True + else: + # chauf is inbound and has already picked up a child or taken their mandatory tour + outbound = False + return outbound + + +def create_chauf_trip_table(row): + dropoff = True if row["school_escort_direction"] == "outbound" else False + + row["person_id"] = row["chauf_id"] + row["destination"] = row["school_destinations"].split("_") + + participants = [] + school_escort_trip_num = [] + outbound = [] + purposes = [] + + for i, child_id in enumerate(row["escortees"].split("_")): + if dropoff: + # have the remaining children in car + participants.append("_".join(row["escortees"].split("_")[i:])) + else: + # remaining children not yet in car + participants.append("_".join(row["escortees"].split("_")[: i + 1])) + school_escort_trip_num.append(i + 1) + outbound.append(determine_chauf_outbound_flag(row, i)) + purposes.append("escort") + + if not dropoff: + # adding trip home + outbound.append(False) + school_escort_trip_num.append(i + 2) + purposes.append("home") + row["destination"].append(row["home_zone_id"]) + # kids aren't in car until after they are picked up, inserting empty car for first trip + participants = [""] + participants + + if dropoff & (row["escort_type"] == "ride_share"): + # adding trip to work + outbound.append(True) + school_escort_trip_num.append(i + 2) + purposes.append(row["first_mand_tour_purpose"]) + row["destination"].append(row["first_mand_tour_dest"]) + # kids have already been dropped off + participants = participants + [""] + + row["escort_participants"] = participants + row["school_escort_trip_num"] = school_escort_trip_num + row["outbound"] = outbound + row["purpose"] = purposes + return row + + +def create_chauf_escort_trips(bundles): + + chauf_trip_bundles = bundles.apply(lambda row: create_chauf_trip_table(row), axis=1) + chauf_trip_bundles["tour_id"] = bundles["chauf_tour_id"].astype(int) + + # departure time is the first school start in the outbound school_escort_direction and the last school end in the inbound school_escort_direction + starts = ( + chauf_trip_bundles["school_starts"].str.split("_", expand=True).astype(float) + ) + ends = chauf_trip_bundles["school_ends"].str.split("_", expand=True).astype(float) + chauf_trip_bundles["depart"] = np.where( + chauf_trip_bundles["school_escort_direction"] == "outbound", + starts.min(axis=1), + ends.max(axis=1), + ) + + # create a new trip for each escortee destination + chauf_trips = chauf_trip_bundles.explode( + [ + "destination", + "escort_participants", + "school_escort_trip_num", + "outbound", + "purpose", + ] + ).reset_index() + + # numbering trips such that outbound escorting trips must come first and inbound trips must come last + outbound_trip_num = -1 * ( + chauf_trips.groupby(["tour_id", "outbound"]).cumcount(ascending=False) + 1 + ) + inbound_trip_num = 100 + chauf_trips.groupby(["tour_id", "outbound"]).cumcount( + ascending=True + ) + chauf_trips["trip_num"] = np.where( + chauf_trips.outbound == True, outbound_trip_num, inbound_trip_num + ) + + # --- determining trip origin + # origin is previous destination + chauf_trips["origin"] = chauf_trips.groupby("tour_id")["destination"].shift() + # outbound trips start at home + first_outbound_trips = (chauf_trips["outbound"] == True) & ( + chauf_trips["school_escort_trip_num"] == 1 + ) + chauf_trips.loc[first_outbound_trips, "origin"] = chauf_trips.loc[ + first_outbound_trips, "home_zone_id" + ] + # inbound school escort ride sharing trips start at work + first_rs_inb = ( + (chauf_trips["outbound"] == False) + & (chauf_trips["school_escort_trip_num"] == 1) + & (chauf_trips["escort_type"] == "ride_share") + ) + chauf_trips.loc[first_rs_inb, "origin"] = chauf_trips.loc[ + first_rs_inb, "first_mand_tour_dest" + ] + + assert all( + ~chauf_trips["origin"].isna() + ), f"Missing trip origins for {chauf_trips[chauf_trips['origin'].isna()]}" + + chauf_trips["primary_purpose"] = np.where( + chauf_trips["escort_type"] == "pure_escort", + "escort", + chauf_trips["first_mand_tour_purpose"], + ) + assert all( + ~chauf_trips["primary_purpose"].isna() + ), f"Missing tour purpose for {chauf_trips[chauf_trips['primary_purpose'].isna()]}" + + chauf_trips.loc[ + chauf_trips["purpose"] == "home", "trip_num" + ] = 999 # trips home are always last + chauf_trips.sort_values( + by=["household_id", "tour_id", "outbound", "trip_num"], + ascending=[True, True, False, True], + inplace=True, + ) + + return chauf_trips + + +def create_child_escorting_stops(row, escortee_num): + escortees = row["escortees"].split("_") + if escortee_num > (len(escortees) - 1): + # this bundle does not have this many escortees + return row + dropoff = True if row["school_escort_direction"] == "outbound" else False + + row["person_id"] = int(escortees[escortee_num]) + row["tour_id"] = row["school_tour_ids"].split("_")[escortee_num] + school_dests = row["school_destinations"].split("_") + + destinations = [] + purposes = [] + participants = [] + school_escort_trip_num = [] + + escortee_order = ( + escortees[: escortee_num + 1] if dropoff else escortees[escortee_num:] + ) + + # for i, child_id in enumerate(escortees[:escortee_num+1]): + for i, child_id in enumerate(escortee_order): + is_last_stop = i == len(escortee_order) - 1 + + if dropoff: + # dropping childen off + # children in car are the child and the children after + participants.append("_".join(escortees[i:])) + dest = school_dests[i] + purpose = "school" if row["person_id"] == int(child_id) else "escort" + + else: + # picking children up + # children in car are the child and those already picked up + participants.append("_".join(escortees[: escortee_num + i + 1])) + # going home if last stop, otherwise to next school destination + dest = ( + row["home_zone_id"] + if is_last_stop + else school_dests[escortee_num + i + 1] + ) + purpose = "home" if is_last_stop else "escort" + + # filling arrays + destinations.append(dest) + school_escort_trip_num.append(i + 1) + purposes.append(purpose) + + row["escort_participants"] = participants + row["school_escort_trip_num"] = school_escort_trip_num + row["purpose"] = purposes + row["destination"] = destinations + return row + + +def create_escortee_trips(bundles): + + escortee_trips = [] + for escortee_num in range(0, int(bundles.num_escortees.max()) + 1): + escortee_bundles = bundles.apply( + lambda row: create_child_escorting_stops(row, escortee_num), axis=1 + ) + escortee_trips.append(escortee_bundles) + + escortee_trips = pd.concat(escortee_trips) + escortee_trips = escortee_trips[~escortee_trips.person_id.isna()] + + # departure time is the first school start in the outbound direction and the last school end in the inbound direction + starts = escortee_trips["school_starts"].str.split("_", expand=True).astype(float) + ends = escortee_trips["school_ends"].str.split("_", expand=True).astype(float) + escortee_trips["outbound"] = np.where( + escortee_trips["school_escort_direction"] == "outbound", True, False + ) + escortee_trips["depart"] = np.where( + escortee_trips["school_escort_direction"] == "outbound", + starts.min(axis=1), + ends.max(axis=1), + ).astype(int) + escortee_trips["primary_purpose"] = "school" + + # create a new trip for each escortee destination + escortee_trips = escortee_trips.explode( + ["destination", "escort_participants", "school_escort_trip_num", "purpose"] + ).reset_index() + + # numbering trips such that outbound escorting trips must come first and inbound trips must come last + # this comes in handy when merging trips to others in the tour decided downstream + outbound_trip_num = -1 * ( + escortee_trips.groupby(["tour_id", "outbound"]).cumcount(ascending=False) + 1 + ) + inbound_trip_num = 100 + escortee_trips.groupby(["tour_id", "outbound"]).cumcount( + ascending=True + ) + escortee_trips["trip_num"] = np.where( + escortee_trips.outbound == True, outbound_trip_num, inbound_trip_num + ) + escortee_trips["trip_count"] = escortee_trips["trip_num"] + escortee_trips.groupby( + ["tour_id", "outbound"] + ).trip_num.transform("count") + + id_cols = ["household_id", "person_id", "tour_id"] + escortee_trips[id_cols] = escortee_trips[id_cols].astype("int64") + + escortee_trips.loc[ + escortee_trips["purpose"] == "home", "trip_num" + ] = 999 # trips home are always last + escortee_trips.sort_values( + by=["household_id", "tour_id", "outbound", "trip_num"], + ascending=[True, True, False, True], + inplace=True, + ) + escortee_trips["origin"] = escortee_trips.groupby("tour_id")["destination"].shift() + # first trips on tour start from home (except for atwork subtours, but school escorting doesn't happen on those tours) + escortee_trips["origin"] = np.where( + escortee_trips["origin"].isna(), + escortee_trips["home_zone_id"], + escortee_trips["origin"], + ) + + return escortee_trips + + +def create_school_escort_trips(escort_bundles): + chauf_trips = create_chauf_escort_trips(escort_bundles) + escortee_trips = create_escortee_trips(escort_bundles) + school_escort_trips = pd.concat([chauf_trips, escortee_trips], axis=0) + + # Can't assign a true trip id yet because they are numbered based on the number of stops in each direction. + # This isn't decided until after the stop frequency model runs. + # Creating this temporary school_escort_trip_id column to match them downstream + school_escort_trips["school_escort_trip_id"] = ( + school_escort_trips["tour_id"].astype("int64") * 10 + + school_escort_trips.groupby("tour_id")["trip_num"].cumcount() + ) + + return school_escort_trips + + +def add_pure_escort_tours(tours, school_escort_tours): + missing_cols = [ + col for col in tours.columns if col not in school_escort_tours.columns + ] + assert ( + len(missing_cols) == 0 + ), f"missing columns {missing_cols} in school_escort_tours" + if len(missing_cols) > 0: + logger.warning(f"Columns {missing_cols} are missing from school escort tours") + school_escort_tours[missing_cols] = pd.NA + + tours_to_add = school_escort_tours[~school_escort_tours.index.isin(tours.index)] + tours = pd.concat([tours, tours_to_add[tours.columns]]) + + return tours + + +def add_school_escorting_type_to_tours_table(escort_bundles, tours): + school_tour = (tours.tour_type == "school") & (tours.tour_num == 1) + + for school_escort_direction in ["outbound", "inbound"]: + for escort_type in ["ride_share", "pure_escort"]: + bundles = escort_bundles[ + (escort_bundles.school_escort_direction == school_escort_direction) + & (escort_bundles.escort_type == escort_type) + ] + # Setting for child school tours + for child_num in range(1, NUM_ESCORTEES + 1): + i = str(child_num) + filter = school_tour & tours["person_id"].isin( + bundles["bundle_child" + i] + ) + tours.loc[filter, "school_esc_" + school_escort_direction] = escort_type + + tours.loc[ + bundles.chauf_tour_id, "school_esc_" + school_escort_direction + ] = escort_type + + return tours + + +def process_tours_after_escorting_model(escort_bundles, tours): + # adding indicators to tours that include school escorting + tours = add_school_escorting_type_to_tours_table(escort_bundles, tours) + + # setting number of escortees on tour + num_escortees = escort_bundles.drop_duplicates("chauf_tour_id").set_index( + "chauf_tour_id" + )["num_escortees"] + tours.loc[num_escortees.index, "num_escortees"] = num_escortees + + # set same start / end time for tours if they are bundled together + tour_segment_id_cols = [ + "school_tour_id_child" + str(i) for i in range(1, NUM_ESCORTEES + 1) + ] + ["chauf_tour_id"] + + for id_col in tour_segment_id_cols: + out_segment_bundles = escort_bundles[ + (escort_bundles[id_col] > 1) + & (escort_bundles.school_escort_direction == "outbound") + ].set_index(id_col) + starts = ( + out_segment_bundles["school_starts"].str.split("_").str[0].astype(int) + ) # first start + tours.loc[starts.index, "start"] = starts + + inb_segment_bundles = escort_bundles[ + (escort_bundles[id_col] > 1) + & (escort_bundles.school_escort_direction == "inbound") + ].set_index(id_col) + ends = ( + inb_segment_bundles["school_ends"].str.split("_").str[-1].astype(int) + ) # last end + tours.loc[ends.index, "end"] = ends + + bad_end_times = tours["start"] > tours["end"] + tours.loc[bad_end_times, "end"] = tours.loc[bad_end_times, "start"] + + # updating tdd to match start and end times + tdd_alts = inject.get_injectable("tdd_alts") + tdd_alts["tdd"] = tdd_alts.index + tours.drop(columns="tdd", inplace=True) + + tours["tdd"] = pd.merge( + tours.reset_index(), tdd_alts, how="left", on=["start", "end"] + ).set_index("tour_id")["tdd"] + # since this is an injectable, we want to leave it how we found it + # not removing tdd created here will caues problems downstream + tdd_alts.drop(columns="tdd", inplace=True) + + assert all( + ~tours.tdd.isna() + ), f"Tours have missing tdd values: {tours[tours.tdd.isna()][['tour_type', 'start', 'end', 'tdd']]}" + + return tours + + +def merge_school_escort_trips_into_pipeline(): + school_escort_trips = pipeline.get_table("school_escort_trips") + tours = pipeline.get_table("tours") + trips = pipeline.get_table("trips") + + # want to remove stops if school escorting takes place on that half tour so we can replace them with the actual stops + out_se_tours = tours[ + tours["school_esc_outbound"].isin(["pure_escort", "ride_share"]) + ] + inb_se_tours = tours[ + tours["school_esc_inbound"].isin(["pure_escort", "ride_share"]) + ] + # removing outbound stops + trips = trips[ + ~(trips.tour_id.isin(out_se_tours.index) & (trips["outbound"] == True)) + ] + # removing inbound stops + trips = trips[ + ~(trips.tour_id.isin(inb_se_tours.index) & (trips["outbound"] == False)) + ] + + # don't want to double count the non-escort half-tour of chauffeurs doing pure escort + inb_chauf_pe_tours = tours[ + (tours["school_esc_inbound"] == "pure_escort") + & (tours.primary_purpose == "escort") + ] + out_chauf_pe_tours = tours[ + (tours["school_esc_outbound"] == "pure_escort") + & (tours.primary_purpose == "escort") + ] + school_escort_trips = school_escort_trips[ + ~( + school_escort_trips.tour_id.isin(inb_chauf_pe_tours.index) + & (school_escort_trips["outbound"] == True) + ) + ] + school_escort_trips = school_escort_trips[ + ~( + school_escort_trips.tour_id.isin(out_chauf_pe_tours.index) + & (school_escort_trips["outbound"] == False) + ) + ] + + # for better merge with trips created in stop frequency + school_escort_trips["failed"] = False + + trips = pd.concat( + [ + trips, + school_escort_trips[ + list(trips.columns) + + [ + "escort_participants", + "school_escort_direction", + "school_escort_trip_id", + ] + ], + ] + ) + # sorting by escorting order as determined when creating the school escort trips + trips.sort_values( + by=["household_id", "tour_id", "outbound", "trip_num"], + ascending=[True, True, False, True], + inplace=True, + ) + grouped = trips.groupby(["tour_id", "outbound"]) + trips["trip_num"] = trips.groupby(["tour_id", "outbound"]).cumcount() + 1 + trips["trip_count"] = trips["trip_num"] + grouped.cumcount(ascending=False) + + # ensuring data types + trips["outbound"] = trips["outbound"].astype(bool) + trips["origin"] = trips["origin"].astype(int) + trips["destination"] = trips["destination"].astype(int) + + # updating trip_id now that we have all trips + trips = canonical_ids.set_trip_index(trips) + school_escort_trip_id_map = { + v: k + for k, v in trips.loc[ + ~trips["school_escort_trip_id"].isna(), "school_escort_trip_id" + ] + .to_dict() + .items() + } + + school_escort_trips["trip_id"] = np.where( + school_escort_trips["school_escort_trip_id"].isin( + school_escort_trip_id_map.keys() + ), + school_escort_trips["school_escort_trip_id"].map(school_escort_trip_id_map), + school_escort_trips["school_escort_trip_id"], + ) + school_escort_trips.set_index("trip_id", inplace=True) + + # can drop school_escort_trip_id column now since it has been replaced + trips.drop(columns="school_escort_trip_id", inplace=True) + + # replace trip table and pipeline and register with the random number generator + pipeline.replace_table("trips", trips) + pipeline.get_rn_generator().drop_channel("trips") + pipeline.get_rn_generator().add_channel("trips", trips) + pipeline.replace_table("school_escort_trips", school_escort_trips) + + # updating stop frequency in tours tabel to be consistent + num_outbound_stops = ( + trips[trips.outbound == True].groupby("tour_id")["trip_num"].count() - 1 + ) + num_inbound_stops = ( + trips[trips.outbound == False].groupby("tour_id")["trip_num"].count() - 1 + ) + stop_freq = ( + num_outbound_stops.astype(str) + "out_" + num_inbound_stops.astype(str) + "in" + ) + tours.loc[stop_freq.index, "stop_frequency"] = stop_freq + + # no need to reset random number generator since no tours added + pipeline.replace_table("tours", tours) + + return trips + + +def recompute_tour_count_statistics(): + tours = pipeline.get_table("tours") + + grouped = tours.groupby(["person_id", "tour_type"]) + tours["tour_type_num"] = grouped.cumcount() + 1 + tours["tour_type_count"] = tours["tour_type_num"] + grouped.cumcount( + ascending=False + ) + + grouped = tours.groupby("person_id") + tours["tour_num"] = grouped.cumcount() + 1 + tours["tour_count"] = tours["tour_num"] + grouped.cumcount(ascending=False) + + pipeline.replace_table("tours", tours) + + +def create_pure_school_escort_tours(bundles): + # creating home to school tour for chauffers making pure escort tours + # ride share tours are already created since they go off the mandatory tour + pe_tours = bundles[bundles["escort_type"] == "pure_escort"] + + pe_tours["origin"] = pe_tours["home_zone_id"] + # desination is the last dropoff / pickup location + pe_tours["destination"] = ( + pe_tours["school_destinations"].str.split("_").str[-1].astype(int) + ) + # start is the first start time for outbound trips or the last school end time for inbound trips + starts = pe_tours["school_starts"].str.split("_").str[0].astype(int) + ends = pe_tours["school_ends"].str.split("_").str[-1].astype(int) + pe_tours["start"] = np.where( + pe_tours["school_escort_direction"] == "outbound", starts, ends + ) + + # just set end equal to start time -- non-escort half of tour is determined downstream + pe_tours["end"] = pe_tours["start"] + pe_tours["duration"] = pe_tours["end"] - pe_tours["start"] + pe_tours["tdd"] = pd.NA # updated with full tours table + + pe_tours["person_id"] = pe_tours["chauf_id"] + + pe_tours["tour_category"] = "non_mandatory" + pe_tours["number_of_participants"] = 1 + pe_tours["tour_type"] = "escort" + pe_tours["school_esc_outbound"] = np.where( + pe_tours["school_escort_direction"] == "outbound", "pure_escort", pd.NA + ) + pe_tours["school_esc_inbound"] = np.where( + pe_tours["school_escort_direction"] == "inbound", "pure_escort", pd.NA + ) + + pe_tours = pe_tours.sort_values(by=["household_id", "person_id", "start"]) + + # finding what the next start time for that person for scheduling + pe_tours["next_pure_escort_start"] = ( + pe_tours.groupby("person_id")["start"].shift(-1).fillna(0) + ) + + grouped = pe_tours.groupby(["person_id", "tour_type"]) + pe_tours["tour_type_num"] = grouped.cumcount() + 1 + pe_tours["tour_type_count"] = pe_tours["tour_type_num"] + grouped.cumcount( + ascending=False + ) + + grouped = pe_tours.groupby("person_id") + pe_tours["tour_num"] = grouped.cumcount() + 1 + pe_tours["tour_count"] = pe_tours["tour_num"] + grouped.cumcount(ascending=False) + + pe_tours = canonical_ids.set_tour_index(pe_tours, is_school_escorting=True) + + return pe_tours + + +def split_out_school_escorting_trips(trips, school_escort_trips): + # separate out school escorting trips to exclude them from the model + full_trips_index = trips.index + se_trips_mask = trips.index.isin(school_escort_trips.index) + se_trips = trips[se_trips_mask] + trips = trips[~se_trips_mask] + + return trips, se_trips, full_trips_index diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency_alternatives.csv b/activitysim/abm/models/util/test/configs/atwork_subtour_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_frequency_alternatives.csv rename to activitysim/abm/models/util/test/configs/atwork_subtour_frequency_alternatives.csv diff --git a/activitysim/examples/example_mtc/configs/joint_tour_frequency_alternatives.csv b/activitysim/abm/models/util/test/configs/joint_tour_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_frequency_alternatives.csv rename to activitysim/abm/models/util/test/configs/joint_tour_frequency_alternatives.csv diff --git a/activitysim/examples/example_mtc/configs/mandatory_tour_frequency.csv b/activitysim/abm/models/util/test/configs/mandatory_tour_frequency.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/mandatory_tour_frequency.csv rename to activitysim/abm/models/util/test/configs/mandatory_tour_frequency.csv diff --git a/activitysim/examples/example_mtc/configs/mandatory_tour_frequency.yaml b/activitysim/abm/models/util/test/configs/mandatory_tour_frequency.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/mandatory_tour_frequency.yaml rename to activitysim/abm/models/util/test/configs/mandatory_tour_frequency.yaml diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/abm/models/util/test/configs/non_mandatory_tour_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_alternatives.csv rename to activitysim/abm/models/util/test/configs/non_mandatory_tour_frequency_alternatives.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_extension_probs.csv b/activitysim/abm/models/util/test/configs/non_mandatory_tour_frequency_extension_probs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_extension_probs.csv rename to activitysim/abm/models/util/test/configs/non_mandatory_tour_frequency_extension_probs.csv diff --git a/activitysim/abm/models/util/test/test_cdap.py b/activitysim/abm/models/util/test/test_cdap.py index 9056264b14..0e4bd68392 100644 --- a/activitysim/abm/models/util/test/test_cdap.py +++ b/activitysim/abm/models/util/test/test_cdap.py @@ -2,30 +2,25 @@ # See full license in LICENSE.txt. import os.path -import yaml import pandas as pd import pandas.testing as pdt import pytest +import yaml -from .. import cdap +from activitysim.core import chunk, config, inject, simulate -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import config -from activitysim.core import chunk +from .. import cdap -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_dir(): - return os.path.join(os.path.dirname(__file__), 'data') + return os.path.join(os.path.dirname(__file__), "data") -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def people(data_dir): - return pd.read_csv( - os.path.join(data_dir, 'people.csv'), - index_col='id') + return pd.read_csv(os.path.join(data_dir, "people.csv"), index_col="id") def teardown_function(func): @@ -33,32 +28,34 @@ def teardown_function(func): inject.reinject_decorated_tables() -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def model_settings(configs_dir): - yml_file = os.path.join(configs_dir, 'cdap.yaml') + yml_file = os.path.join(configs_dir, "cdap.yaml") with open(yml_file) as f: model_settings = yaml.load(f, Loader=yaml.loader.SafeLoader) return model_settings -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def configs_dir(): - return os.path.join(os.path.dirname(__file__), 'configs') + return os.path.join(os.path.dirname(__file__), "configs") def setup_function(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) def test_bad_coefficients(): - coefficients = pd.read_csv(config.config_file_path('cdap_interaction_coefficients.csv'), comment='#') + coefficients = pd.read_csv( + config.config_file_path("cdap_interaction_coefficients.csv"), comment="#" + ) coefficients = cdap.preprocess_interaction_coefficients(coefficients) - coefficients.loc[2, 'activity'] = 'AA' + coefficients.loc[2, "activity"] = "AA" with pytest.raises(RuntimeError) as excinfo: coefficients = cdap.preprocess_interaction_coefficients(coefficients) @@ -67,75 +64,95 @@ def test_bad_coefficients(): def test_assign_cdap_rank(people, model_settings): - person_type_map = model_settings.get('PERSON_TYPE_MAP', {}) + person_type_map = model_settings.get("PERSON_TYPE_MAP", {}) - with chunk.chunk_log('test_assign_cdap_rank', base=True): + with chunk.chunk_log("test_assign_cdap_rank", base=True): cdap.assign_cdap_rank(people, person_type_map) expected = pd.Series( - [1, 1, 1, 2, 2, 1, 3, 1, 2, 1, 3, 2, 1, 3, 2, 4, 1, 3, 4, 2], - index=people.index + [1, 1, 1, 2, 2, 1, 3, 1, 2, 1, 3, 2, 1, 3, 2, 4, 1, 3, 4, 2], index=people.index ) - pdt.assert_series_equal(people['cdap_rank'], expected, check_dtype=False, check_names=False) + pdt.assert_series_equal( + people["cdap_rank"], expected, check_dtype=False, check_names=False + ) def test_individual_utilities(people, model_settings): - cdap_indiv_and_hhsize1 = simulate.read_model_spec(file_name='cdap_indiv_and_hhsize1.csv') + cdap_indiv_and_hhsize1 = simulate.read_model_spec( + file_name="cdap_indiv_and_hhsize1.csv" + ) - person_type_map = model_settings.get('PERSON_TYPE_MAP', {}) + person_type_map = model_settings.get("PERSON_TYPE_MAP", {}) - with chunk.chunk_log('test_individual_utilities', base=True): + with chunk.chunk_log("test_individual_utilities", base=True): cdap.assign_cdap_rank(people, person_type_map) - individual_utils = cdap.individual_utilities(people, cdap_indiv_and_hhsize1, locals_d=None) - - individual_utils = individual_utils[['M', 'N', 'H']] - - expected = pd.DataFrame([ - [2, 0, 0], # person 1 - [0, 0, 1], # person 2 - [3, 0, 0], # person 3 - [3, 0, 0], # person 4 - [0, 1, 0], # person 5 - [1, 0, 0], # person 6 - [1, 0, 0], # person 7 - [0, 2, 0], # person 8 - [0, 0, 1], # person 9 - [2, 0, 0], # person 10 - [0, 0, 3], # person 11 - [0, 0, 2], # person 12 - [3, 0, 0], # person 13 - [1, 0, 0], # person 14 - [0, 4, 0], # person 15 - [0, 4, 0], # person 16 - [0, 0, 4], # person 17 - [0, 0, 5], # person 18 - [50, 0, 4], # person 19 - [2, 0, 0] # person 20 - ], index=people.index, columns=cdap_indiv_and_hhsize1.columns) + individual_utils = cdap.individual_utilities( + people, cdap_indiv_and_hhsize1, locals_d=None + ) + + individual_utils = individual_utils[["M", "N", "H"]] + + expected = pd.DataFrame( + [ + [2, 0, 0], # person 1 + [0, 0, 1], # person 2 + [3, 0, 0], # person 3 + [3, 0, 0], # person 4 + [0, 1, 0], # person 5 + [1, 0, 0], # person 6 + [1, 0, 0], # person 7 + [0, 2, 0], # person 8 + [0, 0, 1], # person 9 + [2, 0, 0], # person 10 + [0, 0, 3], # person 11 + [0, 0, 2], # person 12 + [3, 0, 0], # person 13 + [1, 0, 0], # person 14 + [0, 4, 0], # person 15 + [0, 4, 0], # person 16 + [0, 0, 4], # person 17 + [0, 0, 5], # person 18 + [50, 0, 4], # person 19 + [2, 0, 0], # person 20 + ], + index=people.index, + columns=cdap_indiv_and_hhsize1.columns, + ) pdt.assert_frame_equal( - individual_utils, expected, check_dtype=False, check_names=False) + individual_utils, expected, check_dtype=False, check_names=False + ) def test_build_cdap_spec_hhsize2(people, model_settings): hhsize = 2 - cdap_indiv_and_hhsize1 = simulate.read_model_spec(file_name='cdap_indiv_and_hhsize1.csv') + cdap_indiv_and_hhsize1 = simulate.read_model_spec( + file_name="cdap_indiv_and_hhsize1.csv" + ) - interaction_coefficients = pd.read_csv(config.config_file_path('cdap_interaction_coefficients.csv'), comment='#') - interaction_coefficients = cdap.preprocess_interaction_coefficients(interaction_coefficients) + interaction_coefficients = pd.read_csv( + config.config_file_path("cdap_interaction_coefficients.csv"), comment="#" + ) + interaction_coefficients = cdap.preprocess_interaction_coefficients( + interaction_coefficients + ) - person_type_map = model_settings.get('PERSON_TYPE_MAP', {}) + person_type_map = model_settings.get("PERSON_TYPE_MAP", {}) - with chunk.chunk_log('test_build_cdap_spec_hhsize2', base=True): + with chunk.chunk_log("test_build_cdap_spec_hhsize2", base=True): cdap.assign_cdap_rank(people, person_type_map) - indiv_utils = cdap.individual_utilities(people, cdap_indiv_and_hhsize1, locals_d=None) + indiv_utils = cdap.individual_utilities( + people, cdap_indiv_and_hhsize1, locals_d=None + ) choosers = cdap.hh_choosers(indiv_utils, hhsize=hhsize) - spec = cdap.build_cdap_spec(interaction_coefficients, hhsize=hhsize, cache=False) + spec = cdap.build_cdap_spec( + interaction_coefficients, hhsize=hhsize, cache=False + ) # pandas.dot depends on column names of expression_values matching spec index values # expressions should have been uniquified when spec was read @@ -148,11 +165,13 @@ def test_build_cdap_spec_hhsize2(people, model_settings): utils = vars.dot(spec) - expected = pd.DataFrame([ - [0, 3, 0, 3, 7, 3, 0, 3, 0], # household 3 - [0, 0, 1, 1, 1, 2, 0, 0, 2], # household 4 + expected = pd.DataFrame( + [ + [0, 3, 0, 3, 7, 3, 0, 3, 0], # household 3 + [0, 0, 1, 1, 1, 2, 0, 0, 2], # household 4 ], index=[3, 4], - columns=['HH', 'HM', 'HN', 'MH', 'MM', 'MN', 'NH', 'NM', 'NN']).astype('float') + columns=["HH", "HM", "HN", "MH", "MM", "MN", "NH", "NM", "NN"], + ).astype("float") pdt.assert_frame_equal(utils, expected, check_names=False) diff --git a/activitysim/abm/models/util/test/test_flexible_tour_trip_ids.py b/activitysim/abm/models/util/test/test_flexible_tour_trip_ids.py new file mode 100644 index 0000000000..30084fc803 --- /dev/null +++ b/activitysim/abm/models/util/test/test_flexible_tour_trip_ids.py @@ -0,0 +1,110 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import os + +import pandas as pd +import pandas.testing as pdt +import pytest + +from ..canonical_ids import ( + determine_mandatory_tour_flavors, + determine_flavors_from_alts_file, +) + + +def test_mandatory_tour_flavors(): + mtf_settings = {} + default_mandatory_tour_flavors = {"work": 2, "school": 2} + + # first test using default + mandatory_tour_flavors = determine_mandatory_tour_flavors( + mtf_settings, + pd.DataFrame(columns={"random_name"}), + default_mandatory_tour_flavors, + ) + + assert mandatory_tour_flavors == default_mandatory_tour_flavors + + # creating dummy spec with different values + model_spec = pd.DataFrame( + data={ + "Label": ["dummy"], + "Description": ["dummy"], + "Expression": [""], + "work1": [1], + "work2": [1], + "work3": [1], + "school1": [1], + "school2": [1], + "school3": [1], + "work_and_school": [1], + } + ) + + # second test reading from spec + mandatory_tour_flavors = determine_mandatory_tour_flavors( + mtf_settings, model_spec, default_mandatory_tour_flavors + ) + assert mandatory_tour_flavors == {"work": 3, "school": 3} + + # third test is reading flavors from settings + mtf_settings["MANDATORY_TOUR_FLAVORS"] = {"work": 3, "school": 2} + mandatory_tour_flavors = determine_mandatory_tour_flavors( + mtf_settings, model_spec, default_mandatory_tour_flavors + ) + + assert mandatory_tour_flavors == {"work": 3, "school": 2} + + +def test_tour_flavors_from_alt_files(): + # alternative tour frequency files are used in joint, atwork, and non-mandatory tour frequency models + # this unit test checks the output from determining flavors from an alt file + + default_tour_flavors = { + "escort": 2, + "othmaint": 1, + "othdiscr": 1, + } + + # first test using default + tour_flavors = determine_flavors_from_alts_file( + pd.DataFrame(columns={"random_name"}), + provided_flavors=None, + default_flavors=default_tour_flavors, + ) + + assert tour_flavors == default_tour_flavors + + # second test is reading from alts file + alts = pd.DataFrame( + data={ + "Alts": ["alt1", "alt2", "alt3", "alt4"], + "escort": [0, 1, 2, 3], + "othmaint": [0, 0, 0, 0], + "othdiscr": [1, 2, 0, 0], + } + ) + + tour_flavors = determine_flavors_from_alts_file( + alts, provided_flavors=None, default_flavors=default_tour_flavors + ) + assert tour_flavors == {"escort": 3, "othmaint": 0, "othdiscr": 2} + + # now with max extension applied + tour_flavors = determine_flavors_from_alts_file( + alts, + provided_flavors=None, + default_flavors=default_tour_flavors, + max_extension=2, + ) + assert tour_flavors == {"escort": 5, "othmaint": 2, "othdiscr": 4} + + # now with provided tour flavors (which will ignore the max extension supplied too) + tour_flavors = determine_flavors_from_alts_file( + alts, + provided_flavors={"escort": 3, "othmaint": 3, "othdiscr": 3}, + default_flavors=default_tour_flavors, + max_extension=2, + ) + assert tour_flavors == {"escort": 3, "othmaint": 3, "othdiscr": 3} diff --git a/activitysim/abm/models/util/test/test_mandatory_tour_frequency.py b/activitysim/abm/models/util/test/test_mandatory_tour_frequency.py index 74aba531bc..699c9d2ca4 100644 --- a/activitysim/abm/models/util/test/test_mandatory_tour_frequency.py +++ b/activitysim/abm/models/util/test/test_mandatory_tour_frequency.py @@ -2,30 +2,49 @@ # See full license in LICENSE.txt. -import pytest import os + import pandas as pd import pandas.testing as pdt +import pytest + +from activitysim.core import inject + from ..tour_frequency import process_mandatory_tours +def setup_function(): + configs_dir = os.path.join(os.path.dirname(__file__), "configs") + inject.add_injectable("configs_dir", configs_dir) + output_dir = os.path.join(os.path.dirname(__file__), "output") + inject.add_injectable("output_dir", output_dir) + + def mandatory_tour_frequency_alternatives(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') - f = os.path.join(configs_dir, 'mandatory_tour_frequency_alternatives.csv') - df = pd.read_csv(f, comment='#') - df.set_index('alt', inplace=True) + configs_dir = os.path.join(os.path.dirname(__file__), "configs") + f = os.path.join(configs_dir, "mandatory_tour_frequency_alternatives.csv") + df = pd.read_csv(f, comment="#") + df.set_index("alt", inplace=True) return df def test_mtf(): - persons = pd.DataFrame({ - "is_worker": [True, True, False, False], - "mandatory_tour_frequency": ["work1", "work_and_school", "work_and_school", "school2"], - "school_zone_id": [1, 2, 3, 4], - "workplace_zone_id": [10, 20, 30, 40], - "home_zone_id": [100, 200, 300, 400], - "household_id": [1, 2, 2, 4] - }, index=[10, 20, 30, 40]) + persons = pd.DataFrame( + { + "is_worker": [True, True, False, False], + "mandatory_tour_frequency": [ + "work1", + "work_and_school", + "work_and_school", + "school2", + ], + "school_zone_id": [1, 2, 3, 4], + "workplace_zone_id": [10, 20, 30, 40], + "home_zone_id": [100, 200, 300, 400], + "household_id": [1, 2, 2, 4], + }, + index=[10, 20, 30, 40], + ) tour_frequency_alternatives = mandatory_tour_frequency_alternatives() @@ -35,22 +54,30 @@ def test_mtf(): pdt.assert_series_equal( mandatory_tours.person_id, - pd.Series([10, 20, 20, 30, 30, 40, 40], index=idx, name='person_id')) + pd.Series([10, 20, 20, 30, 30, 40, 40], index=idx, name="person_id"), + ) pdt.assert_series_equal( mandatory_tours.tour_type, - pd.Series(['work', 'work', 'school', 'work', 'school', 'school', 'school'], - index=idx, name='tour_type')) + pd.Series( + ["work", "work", "school", "work", "school", "school", "school"], + index=idx, + name="tour_type", + ), + ) # tour_nums for work_and_school non-worker should be flipped pdt.assert_series_equal( mandatory_tours.tour_num, - pd.Series([1, 1, 2, 2, 1, 1, 2], index=idx, name='tour_num')) + pd.Series([1, 1, 2, 2, 1, 1, 2], index=idx, name="tour_num"), + ) pdt.assert_series_equal( mandatory_tours.destination, - pd.Series([10, 20, 2, 30, 3, 4, 4], index=idx, name='destination')) + pd.Series([10, 20, 2, 30, 3, 4, 4], index=idx, name="destination"), + ) pdt.assert_series_equal( mandatory_tours.origin, - pd.Series([100, 200, 200, 300, 300, 400, 400], index=idx, name='origin')) + pd.Series([100, 200, 200, 300, 300, 400, 400], index=idx, name="origin"), + ) diff --git a/activitysim/abm/models/util/test/test_non_mandatory_tour_frequency.py b/activitysim/abm/models/util/test/test_non_mandatory_tour_frequency.py index a3574b6744..b7fac80442 100644 --- a/activitysim/abm/models/util/test/test_non_mandatory_tour_frequency.py +++ b/activitysim/abm/models/util/test/test_non_mandatory_tour_frequency.py @@ -2,34 +2,43 @@ # See full license in LICENSE.txt. -import pytest import os + import pandas as pd import pandas.testing as pdt +import pytest + +from activitysim.core import inject + from ..tour_frequency import process_non_mandatory_tours +def setup_function(): + configs_dir = os.path.join(os.path.dirname(__file__), "configs") + inject.add_injectable("configs_dir", configs_dir) + output_dir = os.path.join(os.path.dirname(__file__), "output") + inject.add_injectable("output_dir", output_dir) + + def test_nmtf(): persons = pd.DataFrame( { - 'non_mandatory_tour_frequency': [0, 3, 2, 1], - 'household_id': [1, 1, 2, 4], - 'home_zone_id': [100, 100, 200, 400] + "non_mandatory_tour_frequency": [0, 3, 2, 1], + "household_id": [1, 1, 2, 4], + "home_zone_id": [100, 100, 200, 400], }, - index=[0, 1, 2, 3] + index=[0, 1, 2, 3], ) non_mandatory_tour_frequency_alts = pd.DataFrame( - { - "escort": [0, 0, 2, 0], - "shopping": [1, 0, 0, 0], - "othmaint": [0, 1, 0, 0] - }, - index=[0, 1, 2, 3] + {"escort": [0, 0, 2, 0], "shopping": [1, 0, 0, 0], "othmaint": [0, 1, 0, 0]}, + index=[0, 1, 2, 3], ) - tour_counts = non_mandatory_tour_frequency_alts.loc[persons.non_mandatory_tour_frequency] + tour_counts = non_mandatory_tour_frequency_alts.loc[ + persons.non_mandatory_tour_frequency + ] tour_counts.index = persons.index # assign person ids to the index # - create the non_mandatory tours @@ -38,12 +47,12 @@ def test_nmtf(): idx = nmt.index pdt.assert_series_equal( - nmt.person_id, - pd.Series( - [0, 2, 2, 3], index=idx, name='person_id')) + nmt.person_id, pd.Series([0, 2, 2, 3], index=idx, name="person_id") + ) pdt.assert_series_equal( nmt.tour_type, pd.Series( - ["shopping", "escort", "escort", "othmaint"], - index=idx, name='tour_type')) + ["shopping", "escort", "escort", "othmaint"], index=idx, name="tour_type" + ), + ) diff --git a/activitysim/abm/models/util/test/test_vectorize_tour_scheduling.py b/activitysim/abm/models/util/test/test_vectorize_tour_scheduling.py index 3e9b61b89c..4e4325b056 100644 --- a/activitysim/abm/models/util/test/test_vectorize_tour_scheduling.py +++ b/activitysim/abm/models/util/test/test_vectorize_tour_scheduling.py @@ -2,16 +2,18 @@ # See full license in LICENSE.txt. import os -import pytest -import pandas as pd -import numpy as np +import numpy as np +import pandas as pd import pandas.testing as pdt +import pytest from activitysim.core import inject -from ..vectorize_tour_scheduling import get_previous_tour_by_tourid, \ - vectorize_tour_scheduling +from ..vectorize_tour_scheduling import ( + get_previous_tour_by_tourid, + vectorize_tour_scheduling, +) def teardown_function(func): @@ -20,7 +22,7 @@ def teardown_function(func): def setup_function(): - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) @@ -29,45 +31,41 @@ def test_vts(): inject.add_injectable("settings", {}) # note: need 0 duration tour on one end of day to guarantee at least one available tour - alts = pd.DataFrame({ - "start": [1, 1, 2, 3], - "end": [1, 4, 5, 6] - }) - alts['duration'] = alts.end - alts.start + alts = pd.DataFrame({"start": [1, 1, 2, 3], "end": [1, 4, 5, 6]}) + alts["duration"] = alts.end - alts.start inject.add_injectable("tdd_alts", alts) - current_tour_person_ids = pd.Series(['b', 'c'], - index=['d', 'e']) + current_tour_person_ids = pd.Series(["b", "c"], index=["d", "e"]) - previous_tour_by_personid = pd.Series([2, 2, 1], - index=['a', 'b', 'c']) + previous_tour_by_personid = pd.Series([2, 2, 1], index=["a", "b", "c"]) - prev_tour_attrs = get_previous_tour_by_tourid(current_tour_person_ids, - previous_tour_by_personid, - alts) + prev_tour_attrs = get_previous_tour_by_tourid( + current_tour_person_ids, previous_tour_by_personid, alts + ) pdt.assert_series_equal( prev_tour_attrs.start_previous, - pd.Series([2, 1], index=['d', 'e'], name='start_previous')) + pd.Series([2, 1], index=["d", "e"], name="start_previous"), + ) pdt.assert_series_equal( prev_tour_attrs.end_previous, - pd.Series([5, 4], index=['d', 'e'], name='end_previous')) + pd.Series([5, 4], index=["d", "e"], name="end_previous"), + ) - tours = pd.DataFrame({ - "person_id": [1, 1, 2, 3, 3], - "tour_num": [1, 2, 1, 1, 2], - "tour_type": ['x', 'x', 'x', 'x', 'x'] - }) + tours = pd.DataFrame( + { + "person_id": [1, 1, 2, 3, 3], + "tour_num": [1, 2, 1, 1, 2], + "tour_type": ["x", "x", "x", "x", "x"], + } + ) - persons = pd.DataFrame({ - "income": [20, 30, 25] - }, index=[1, 2, 3]) + persons = pd.DataFrame({"income": [20, 30, 25]}, index=[1, 2, 3]) - inject.add_table('persons', persons) + inject.add_table("persons", persons) - spec = pd.DataFrame({"Coefficient": [1.2]}, - index=["income"]) + spec = pd.DataFrame({"Coefficient": [1.2]}, index=["income"]) spec.index.name = "Expression" inject.add_injectable("check_for_variability", True) @@ -75,11 +73,16 @@ def test_vts(): timetable = inject.get_injectable("timetable") tdd_choices = vectorize_tour_scheduling( - tours, persons, alts, timetable, - tour_segments={'spec': spec}, + tours, + persons, + alts, + timetable, + tour_segments={"spec": spec}, tour_segment_col=None, model_settings={}, - chunk_size=0, trace_label='test_vts') + chunk_size=0, + trace_label="test_vts", + ) # FIXME - dead reckoning regression # there's no real logic here - this is just what came out of the monte carlo diff --git a/activitysim/abm/models/util/tour_destination.py b/activitysim/abm/models/util/tour_destination.py index 7482aeb6db..c068db2bc5 100644 --- a/activitysim/abm/models/util/tour_destination.py +++ b/activitysim/abm/models/util/tour_destination.py @@ -2,23 +2,16 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import los -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import pipeline - -from activitysim.core.util import reindex - -from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.abm.tables.size_terms import tour_destination_size_terms +from activitysim.core import config, inject, los, pipeline, simulate, tracing from activitysim.core.interaction_sample import interaction_sample +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.core.util import reindex from . import logsums as logsum -from activitysim.abm.tables.size_terms import tour_destination_size_terms logger = logging.getLogger(__name__) DUMP = False @@ -34,10 +27,11 @@ class SizeTermCalculator(object): def __init__(self, size_term_selector): # do this once so they can request size_terms for various segments (tour_type or purpose) - land_use = inject.get_table('land_use') - size_terms = inject.get_injectable('size_terms') - self.destination_size_terms = \ - tour_destination_size_terms(land_use, size_terms, size_term_selector) + land_use = inject.get_table("land_use") + size_terms = inject.get_injectable("size_terms") + self.destination_size_terms = tour_destination_size_terms( + land_use, size_terms, size_term_selector + ) assert not self.destination_size_terms.isna().any(axis=None) @@ -49,15 +43,19 @@ def dest_size_terms_df(self, segment_name, trace_label): # convenient if creating or merging with alts size_terms = self.destination_size_terms[[segment_name]].copy() - size_terms.columns = ['size_term'] + size_terms.columns = ["size_term"] # FIXME - no point in considering impossible alternatives (where dest size term is zero) - logger.debug(f"SizeTermCalculator dropping {(~(size_terms.size_term > 0)).sum()} " - f"of {len(size_terms)} rows where size_term is zero for {segment_name}") + logger.debug( + f"SizeTermCalculator dropping {(~(size_terms.size_term > 0)).sum()} " + f"of {len(size_terms)} rows where size_term is zero for {segment_name}" + ) size_terms = size_terms[size_terms.size_term > 0] if len(size_terms) == 0: - logger.warning(f"SizeTermCalculator: no zones with non-zero size terms for {segment_name} in {trace_label}") + logger.warning( + f"SizeTermCalculator: no zones with non-zero size terms for {segment_name} in {trace_label}" + ) return size_terms @@ -68,36 +66,44 @@ def dest_size_terms_df(self, segment_name, trace_label): def _destination_sample( - spec_segment_name, - choosers, - destination_size_terms, - skims, - estimator, + spec_segment_name, + choosers, + destination_size_terms, + skims, + estimator, + model_settings, + alt_dest_col_name, + chunk_size, + chunk_tag, + trace_label, +): + + model_spec = simulate.spec_for_segment( model_settings, - alt_dest_col_name, - chunk_size, - chunk_tag, - trace_label): - - model_spec = simulate.spec_for_segment(model_settings, spec_id='SAMPLE_SPEC', - segment_name=spec_segment_name, estimator=estimator) + spec_id="SAMPLE_SPEC", + segment_name=spec_segment_name, + estimator=estimator, + ) logger.info("running %s with %d tours", trace_label, len(choosers)) - sample_size = model_settings['SAMPLE_SIZE'] - if config.setting('disable_destination_sampling', False) or (estimator and estimator.want_unsampled_alternatives): + sample_size = model_settings["SAMPLE_SIZE"] + if config.setting("disable_destination_sampling", False) or ( + estimator and estimator.want_unsampled_alternatives + ): # FIXME interaction_sample will return unsampled complete alternatives with probs and pick_count - logger.info("Estimation mode for %s using unsampled alternatives short_circuit_choices" % (trace_label,)) + logger.info( + "Estimation mode for %s using unsampled alternatives short_circuit_choices" + % (trace_label,) + ) sample_size = 0 - locals_d = { - 'skims': skims - } + locals_d = {"skims": skims} constants = config.get_model_constants(model_settings) if constants is not None: locals_d.update(constants) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample( choosers, @@ -110,39 +116,45 @@ def _destination_sample( locals_d=locals_d, chunk_size=chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) + + # if special person id is passed + chooser_id_column = model_settings.get("CHOOSER_ID_COLUMN", "person_id") # remember person_id in chosen alts so we can merge with persons in subsequent steps # (broadcasts person_id onto all alternatives sharing the same tour_id index value) - choices['person_id'] = choosers.person_id + choices[chooser_id_column] = choosers[chooser_id_column] return choices def destination_sample( - spec_segment_name, - choosers, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, trace_label): - - chunk_tag = 'tour_destination.sample' + spec_segment_name, + choosers, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): + + chunk_tag = "tour_destination.sample" # create wrapper with keys for this lookup # the skims will be available under the name "skims" for any @ expressions - skim_origin_col_name = model_settings['CHOOSER_ORIG_COL_NAME'] + skim_origin_col_name = model_settings["CHOOSER_ORIG_COL_NAME"] skim_dest_col_name = destination_size_terms.index.name # (logit.interaction_dataset suffixes duplicate chooser column with '_chooser') - if (skim_origin_col_name == skim_dest_col_name): - skim_origin_col_name = f'{skim_origin_col_name}_chooser' + if skim_origin_col_name == skim_dest_col_name: + skim_origin_col_name = f"{skim_origin_col_name}_chooser" skim_dict = network_los.get_default_skim_dict() skims = skim_dict.wrap(skim_origin_col_name, skim_dest_col_name) # the name of the dest column to be returned in choices - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] choices = _destination_sample( spec_segment_name, @@ -152,20 +164,22 @@ def destination_sample( estimator, model_settings, alt_dest_col_name, - chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + chunk_size, + chunk_tag=chunk_tag, + trace_label=trace_label, + ) return choices # temp column names for presampling -DEST_MAZ = 'dest_MAZ' -DEST_TAZ = 'dest_TAZ' -ORIG_TAZ = 'TAZ' # likewise a temp, but if already in choosers, we assume we can use it opportunistically +DEST_MAZ = "dest_MAZ" +DEST_TAZ = "dest_TAZ" +ORIG_TAZ = "TAZ" # likewise a temp, but if already in choosers, we assume we can use it opportunistically def map_maz_to_taz(s, network_los): - maz_to_taz = network_los.maz_taz_df[['MAZ', 'TAZ']].set_index('MAZ').TAZ + maz_to_taz = network_los.maz_taz_df[["MAZ", "TAZ"]].set_index("MAZ").TAZ return s.map(maz_to_taz) @@ -180,9 +194,9 @@ def aggregate_size_terms(dest_size_terms, network_los): MAZ_size_terms[DEST_TAZ] = map_maz_to_taz(MAZ_size_terms.index, network_los) # aggregate to TAZ - TAZ_size_terms = MAZ_size_terms.groupby(DEST_TAZ).agg({'size_term': 'sum'}) + TAZ_size_terms = MAZ_size_terms.groupby(DEST_TAZ).agg({"size_term": "sum"}) TAZ_size_terms[DEST_TAZ] = TAZ_size_terms.index - assert not TAZ_size_terms['size_term'].isna().any() + assert not TAZ_size_terms["size_term"].isna().any() # size_term # dest_TAZ @@ -192,8 +206,10 @@ def aggregate_size_terms(dest_size_terms, network_los): # add crosswalk DEST_TAZ column to MAZ_size_terms # MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, 'size_term']) # maybe helpful for debugging - MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, 'size_term']].reset_index(drop=False) - MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, 'zone_id']).reset_index(drop=True) + MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, "size_term"]].reset_index(drop=False) + MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, "zone_id"]).reset_index( + drop=True + ) # zone_id dest_TAZ size_term # 0 6097 2 10.0 @@ -231,21 +247,27 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): trace_hh_id = inject.get_injectable("trace_hh_id", None) have_trace_targets = trace_hh_id and tracing.has_trace_targets(taz_sample) if have_trace_targets: - trace_label = tracing.extend_trace_label(trace_label, 'choose_MAZ_for_TAZ') + trace_label = tracing.extend_trace_label(trace_label, "choose_MAZ_for_TAZ") - CHOOSER_ID = taz_sample.index.name # zone_id for tours, but person_id for location choice + CHOOSER_ID = ( + taz_sample.index.name + ) # zone_id for tours, but person_id for location choice assert CHOOSER_ID is not None # write taz choices, pick_counts, probs trace_targets = tracing.trace_targets(taz_sample) - tracing.trace_df(taz_sample[trace_targets], - label=tracing.extend_trace_label(trace_label, 'taz_sample'), - transpose=False) + tracing.trace_df( + taz_sample[trace_targets], + label=tracing.extend_trace_label(trace_label, "taz_sample"), + transpose=False, + ) # redupe taz_sample[[DEST_TAZ, 'prob']] using pick_count to repeat rows - taz_choices = taz_sample[[DEST_TAZ, 'prob']].reset_index(drop=False) - taz_choices = taz_choices.reindex(taz_choices.index.repeat(taz_sample.pick_count)).reset_index(drop=True) - taz_choices = taz_choices.rename(columns={'prob': 'TAZ_prob'}) + taz_choices = taz_sample[[DEST_TAZ, "prob"]].reset_index(drop=False) + taz_choices = taz_choices.reindex( + taz_choices.index.repeat(taz_sample.pick_count) + ).reset_index(drop=True) + taz_choices = taz_choices.rename(columns={"prob": "TAZ_prob"}) # print(f"taz_choices\n{taz_choices}") # tour_id dest_TAZ TAZ_prob @@ -261,7 +283,9 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): # 2 24251 2 10.904 # just to make it clear we are siloing choices by chooser_id - chooser_id_col = taz_sample.index.name # should be canonical chooser index name (e.g. 'person_id') + chooser_id_col = ( + taz_sample.index.name + ) # should be canonical chooser index name (e.g. 'person_id') # for random_for_df, we need df with de-duplicated chooser canonical index chooser_df = pd.DataFrame(index=taz_sample.index[~taz_sample.index.duplicated()]) @@ -273,15 +297,21 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): taz_sample_size = taz_choices.groupby(chooser_id_col)[DEST_TAZ].count().max() # taz_choices index values should be contiguous - assert (taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size)).all() + assert ( + taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size) + ).all() # we need to choose a MAZ for each DEST_TAZ choice # probability of choosing MAZ based on MAZ size_term fraction of TAZ total # there will be a different set (and number) of candidate MAZs for each TAZ # (preserve index, which will have duplicates as result of join) # maz_sizes.index is the integer offset into taz_choices of the taz for which the maz_size row is a candidate) - maz_sizes = pd.merge(taz_choices[[chooser_id_col, DEST_TAZ]].reset_index(), - MAZ_size_terms, how='left', on=DEST_TAZ).set_index('index') + maz_sizes = pd.merge( + taz_choices[[chooser_id_col, DEST_TAZ]].reset_index(), + MAZ_size_terms, + how="left", + on=DEST_TAZ, + ).set_index("index") # tour_id dest_TAZ zone_id size_term # index @@ -296,9 +326,11 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): maz_sizes_trace_targets = tracing.trace_targets(maz_sizes, slicer=CHOOSER_ID) trace_maz_sizes = maz_sizes[maz_sizes_trace_targets] - tracing.trace_df(trace_maz_sizes, - label=tracing.extend_trace_label(trace_label, 'maz_sizes'), - transpose=False) + tracing.trace_df( + trace_maz_sizes, + label=tracing.extend_trace_label(trace_label, "maz_sizes"), + transpose=False, + ) # number of DEST_TAZ candidates per chooser maz_counts = maz_sizes.groupby(maz_sizes.index).size().values @@ -316,7 +348,9 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): inserts = np.repeat(last_row_offsets, max_maz_count - maz_counts) # insert zero filler to pad each alternative set to same size - padded_maz_sizes = np.insert(maz_sizes.size_term.values, inserts, 0.0).reshape(-1, max_maz_count) + padded_maz_sizes = np.insert(maz_sizes.size_term.values, inserts, 0.0).reshape( + -1, max_maz_count + ) # prob array with one row TAZ_choice, one column per alternative row_sums = padded_maz_sizes.sum(axis=1) @@ -336,50 +370,82 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): # shouldn't have chosen any of the dummy pad positions assert (positions < maz_counts).all() - taz_choices[DEST_MAZ] = maz_sizes['zone_id'].take(positions + first_row_offsets) - taz_choices['MAZ_prob'] = maz_probs[np.arange(maz_probs.shape[0]), positions] - taz_choices['prob'] = taz_choices['TAZ_prob'] * taz_choices['MAZ_prob'] + taz_choices[DEST_MAZ] = maz_sizes["zone_id"].take(positions + first_row_offsets) + taz_choices["MAZ_prob"] = maz_probs[np.arange(maz_probs.shape[0]), positions] + taz_choices["prob"] = taz_choices["TAZ_prob"] * taz_choices["MAZ_prob"] if have_trace_targets: - taz_choices_trace_targets = tracing.trace_targets(taz_choices, slicer=CHOOSER_ID) + taz_choices_trace_targets = tracing.trace_targets( + taz_choices, slicer=CHOOSER_ID + ) trace_taz_choices_df = taz_choices[taz_choices_trace_targets] - tracing.trace_df(trace_taz_choices_df, - label=tracing.extend_trace_label(trace_label, 'taz_choices'), - transpose=False) + tracing.trace_df( + trace_taz_choices_df, + label=tracing.extend_trace_label(trace_label, "taz_choices"), + transpose=False, + ) lhs_df = trace_taz_choices_df[[CHOOSER_ID, DEST_TAZ]] - alt_dest_columns = [f'dest_maz_{c}' for c in range(max_maz_count)] + alt_dest_columns = [f"dest_maz_{c}" for c in range(max_maz_count)] # following the same logic as the full code, but for trace cutout trace_maz_counts = maz_counts[taz_choices_trace_targets] trace_last_row_offsets = maz_counts[taz_choices_trace_targets].cumsum() - trace_inserts = np.repeat(trace_last_row_offsets, max_maz_count - trace_maz_counts) + trace_inserts = np.repeat( + trace_last_row_offsets, max_maz_count - trace_maz_counts + ) # trace dest_maz_alts - padded_maz_sizes = np.insert(trace_maz_sizes[CHOOSER_ID].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes[CHOOSER_ID].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_alts'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_alts"), + transpose=False, + ) # trace dest_maz_size_terms - padded_maz_sizes = np.insert(trace_maz_sizes['size_term'].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes["size_term"].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_size_terms'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_size_terms"), + transpose=False, + ) # trace dest_maz_probs - df = pd.DataFrame(data=maz_probs[taz_choices_trace_targets], - columns=alt_dest_columns, index=trace_taz_choices_df.index) + df = pd.DataFrame( + data=maz_probs[taz_choices_trace_targets], + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - df['rand'] = rands[taz_choices_trace_targets] - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_probs'), transpose=False) - - taz_choices = taz_choices.drop(columns=['TAZ_prob', 'MAZ_prob']) - taz_choices = taz_choices.groupby([chooser_id_col, DEST_MAZ]).agg(prob=('prob', 'max'), - pick_count=('prob', 'count')) + df["rand"] = rands[taz_choices_trace_targets] + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_probs"), + transpose=False, + ) + + taz_choices = taz_choices.drop(columns=["TAZ_prob", "MAZ_prob"]) + taz_choices = taz_choices.groupby([chooser_id_col, DEST_MAZ]).agg( + prob=("prob", "max"), pick_count=("prob", "count") + ) taz_choices.reset_index(level=DEST_MAZ, inplace=True) @@ -387,25 +453,29 @@ def choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label): def destination_presample( - spec_segment_name, - choosers, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, trace_label): - - trace_label = tracing.extend_trace_label(trace_label, 'presample') - chunk_tag = 'tour_destination.presample' + spec_segment_name, + choosers, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): + + trace_label = tracing.extend_trace_label(trace_label, "presample") + chunk_tag = "tour_destination.presample" logger.info(f"{trace_label} location_presample") - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] assert DEST_TAZ != alt_dest_col_name - MAZ_size_terms, TAZ_size_terms = aggregate_size_terms(destination_size_terms, network_los) + MAZ_size_terms, TAZ_size_terms = aggregate_size_terms( + destination_size_terms, network_los + ) - orig_maz = model_settings['CHOOSER_ORIG_COL_NAME'] + orig_maz = model_settings["CHOOSER_ORIG_COL_NAME"] assert orig_maz in choosers if ORIG_TAZ not in choosers: choosers[ORIG_TAZ] = map_maz_to_taz(choosers[orig_maz], network_los) @@ -413,7 +483,7 @@ def destination_presample( # create wrapper with keys for this lookup - in this case there is a HOME_TAZ in the choosers # and a DEST_TAZ in the alternatives which get merged during interaction # the skims will be available under the name "skims" for any @ expressions - skim_dict = network_los.get_skim_dict('taz') + skim_dict = network_los.get_skim_dict("taz") skims = skim_dict.wrap(ORIG_TAZ, DEST_TAZ) taz_sample = _destination_sample( @@ -424,8 +494,10 @@ def destination_presample( estimator, model_settings, DEST_TAZ, - chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + chunk_size, + chunk_tag=chunk_tag, + trace_label=trace_label, + ) # choose a MAZ for each DEST_TAZ choice, choice probability based on MAZ size_term fraction of TAZ total maz_choices = choose_MAZ_for_TAZ(taz_sample, MAZ_size_terms, trace_label) @@ -437,36 +509,54 @@ def destination_presample( def run_destination_sample( - spec_segment_name, - tours, - persons_merged, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, trace_label): + spec_segment_name, + tours, + persons_merged, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): # FIXME - MEMORY HACK - only include columns actually used in spec (omit them pre-merge) - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] - persons_merged = persons_merged[[c for c in persons_merged.columns if c in chooser_columns]] - tours = tours[[c for c in tours.columns if c in chooser_columns or c == 'person_id']] - choosers = pd.merge(tours, persons_merged, left_on='person_id', right_index=True, how='left') + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] + + # if special person id is passed + chooser_id_column = model_settings.get("CHOOSER_ID_COLUMN", "person_id") + + persons_merged = persons_merged[ + [c for c in persons_merged.columns if c in chooser_columns] + ] + tours = tours[ + [c for c in tours.columns if c in chooser_columns or c == chooser_id_column] + ] + choosers = pd.merge( + tours, persons_merged, left_on=chooser_id_column, right_index=True, how="left" + ) # interaction_sample requires that choosers.index.is_monotonic_increasing if not choosers.index.is_monotonic_increasing: - logger.debug(f"run_destination_sample {trace_label} sorting choosers because not monotonic_increasing") + logger.debug( + f"run_destination_sample {trace_label} sorting choosers because not monotonic_increasing" + ) choosers = choosers.sort_index() # by default, enable presampling for multizone systems, unless they disable it in settings file pre_sample_taz = not (network_los.zone_system == los.ONE_ZONE) - if pre_sample_taz and not config.setting('want_dest_choice_presampling', True): + if pre_sample_taz and not config.setting("want_dest_choice_presampling", True): pre_sample_taz = False - logger.info(f"Disabled destination zone presampling for {trace_label} " - f"because 'want_dest_choice_presampling' setting is False") + logger.info( + f"Disabled destination zone presampling for {trace_label} " + f"because 'want_dest_choice_presampling' setting is False" + ) if pre_sample_taz: - logger.info("Running %s destination_presample with %d tours" % (trace_label, len(tours))) + logger.info( + "Running %s destination_presample with %d tours" % (trace_label, len(tours)) + ) choices = destination_presample( spec_segment_name, @@ -475,7 +565,9 @@ def run_destination_sample( network_los, destination_size_terms, estimator, - chunk_size, trace_label) + chunk_size, + trace_label, + ) else: choices = destination_sample( @@ -485,23 +577,26 @@ def run_destination_sample( network_los, destination_size_terms, estimator, - chunk_size, trace_label) + chunk_size, + trace_label, + ) # remember person_id in chosen alts so we can merge with persons in subsequent steps # (broadcasts person_id onto all alternatives sharing the same tour_id index value) - choices['person_id'] = tours.person_id + choices[chooser_id_column] = tours[chooser_id_column] return choices def run_destination_logsums( - tour_purpose, - persons_merged, - destination_sample, - model_settings, - network_los, - chunk_size, - trace_label): + tour_purpose, + persons_merged, + destination_sample, + model_settings, + network_los, + chunk_size, + trace_label, +): """ add logsum column to existing tour_destination_sample table @@ -523,82 +618,110 @@ def run_destination_logsums( +-----------+--------------+----------------+------------+----------------+ """ - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) + # if special person id is passed + chooser_id_column = model_settings.get("CHOOSER_ID_COLUMN", "person_id") - chunk_tag = 'tour_destination.logsums' + chunk_tag = "tour_destination.logsums" # FIXME - MEMORY HACK - only include columns actually used in spec - persons_merged = logsum.filter_chooser_columns(persons_merged, logsum_settings, model_settings) + persons_merged = logsum.filter_chooser_columns( + persons_merged, logsum_settings, model_settings + ) # merge persons into tours - choosers = pd.merge(destination_sample, - persons_merged, - left_on='person_id', - right_index=True, - how="left") + choosers = pd.merge( + destination_sample, + persons_merged, + left_on=chooser_id_column, + right_index=True, + how="left", + ) logger.info("Running %s with %s rows", trace_label, len(choosers)) - tracing.dump_df(DUMP, persons_merged, trace_label, 'persons_merged') - tracing.dump_df(DUMP, choosers, trace_label, 'choosers') + tracing.dump_df(DUMP, persons_merged, trace_label, "persons_merged") + tracing.dump_df(DUMP, choosers, trace_label, "choosers") logsums = logsum.compute_logsums( choosers, tour_purpose, - logsum_settings, model_settings, + logsum_settings, + model_settings, network_los, chunk_size, chunk_tag, - trace_label) + trace_label, + ) - destination_sample['mode_choice_logsum'] = logsums + destination_sample["mode_choice_logsum"] = logsums return destination_sample def run_destination_simulate( - spec_segment_name, - tours, - persons_merged, - destination_sample, - want_logsums, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, trace_label): + spec_segment_name, + tours, + persons_merged, + destination_sample, + want_logsums, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, + skip_choice=False, +): """ run destination_simulate on tour_destination_sample annotated with mode_choice logsum to select a destination from sample alternatives """ - chunk_tag = 'tour_destination.simulate' + chunk_tag = "tour_destination.simulate" - model_spec = simulate.spec_for_segment(model_settings, spec_id='SPEC', - segment_name=spec_segment_name, estimator=estimator) + model_spec = simulate.spec_for_segment( + model_settings, + spec_id="SPEC", + segment_name=spec_segment_name, + estimator=estimator, + ) # FIXME - MEMORY HACK - only include columns actually used in spec (omit them pre-merge) - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] - persons_merged = persons_merged[[c for c in persons_merged.columns if c in chooser_columns]] - tours = tours[[c for c in tours.columns if c in chooser_columns or c == 'person_id']] - choosers = pd.merge(tours, persons_merged, left_on='person_id', right_index=True, how='left') + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] + + # if special person id is passed + chooser_id_column = model_settings.get("CHOOSER_ID_COLUMN", "person_id") + + persons_merged = persons_merged[ + [c for c in persons_merged.columns if c in chooser_columns] + ] + tours = tours[ + [c for c in tours.columns if c in chooser_columns or c == chooser_id_column] + ] + choosers = pd.merge( + tours, persons_merged, left_on=chooser_id_column, right_index=True, how="left" + ) # interaction_sample requires that choosers.index.is_monotonic_increasing if not choosers.index.is_monotonic_increasing: - logger.debug(f"run_destination_simulate {trace_label} sorting choosers because not monotonic_increasing") + logger.debug( + f"run_destination_simulate {trace_label} sorting choosers because not monotonic_increasing" + ) choosers = choosers.sort_index() if estimator: estimator.write_choosers(choosers) - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - origin_col_name = model_settings['CHOOSER_ORIG_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] + origin_col_name = model_settings["CHOOSER_ORIG_COL_NAME"] # alternatives are pre-sampled and annotated with logsums and pick_count # but we have to merge size_terms column into alt sample list - destination_sample['size_term'] = \ - reindex(destination_size_terms.size_term, destination_sample[alt_dest_col_name]) + destination_sample["size_term"] = reindex( + destination_size_terms.size_term, destination_sample[alt_dest_col_name] + ) - tracing.dump_df(DUMP, destination_sample, trace_label, 'alternatives') + tracing.dump_df(DUMP, destination_sample, trace_label, "alternatives") constants = config.get_model_constants(model_settings) @@ -611,14 +734,14 @@ def run_destination_simulate( skims = skim_dict.wrap(origin_col_name, alt_dest_col_name) locals_d = { - 'skims': skims, + "skims": skims, } if constants is not None: locals_d.update(constants) - tracing.dump_df(DUMP, choosers, trace_label, 'choosers') + tracing.dump_df(DUMP, choosers, trace_label, "choosers") - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample_simulate( choosers, @@ -629,38 +752,46 @@ def run_destination_simulate( want_logsums=want_logsums, skims=skims, locals_d=locals_d, - chunk_size=chunk_size, chunk_tag=chunk_tag, + chunk_size=chunk_size, + chunk_tag=chunk_tag, trace_label=trace_label, - trace_choice_name='destination', - estimator=estimator) + trace_choice_name="destination", + estimator=estimator, + skip_choice=skip_choice, + ) if not want_logsums: # for consistency, always return a dataframe with canonical column name assert isinstance(choices, pd.Series) - choices = choices.to_frame('choice') + choices = choices.to_frame("choice") return choices def run_tour_destination( - tours, - persons_merged, - want_logsums, - want_sample_table, - model_settings, - network_los, - estimator, - chunk_size, trace_hh_id, trace_label): - - size_term_calculator = SizeTermCalculator(model_settings['SIZE_TERM_SELECTOR']) + tours, + persons_merged, + want_logsums, + want_sample_table, + model_settings, + network_los, + estimator, + chunk_size, + trace_hh_id, + trace_label, + skip_choice=False, +): + + size_term_calculator = SizeTermCalculator(model_settings["SIZE_TERM_SELECTOR"]) # maps segment names to compact (integer) ids - segments = model_settings['SEGMENTS'] + segments = model_settings["SEGMENTS"] - chooser_segment_column = model_settings.get('CHOOSER_SEGMENT_COLUMN_NAME', None) + chooser_segment_column = model_settings.get("CHOOSER_SEGMENT_COLUMN_NAME", None) if chooser_segment_column is None: - assert len(segments) == 1, \ - f"CHOOSER_SEGMENT_COLUMN_NAME not specified in model_settings to slice SEGMENTS: {segments}" + assert ( + len(segments) == 1 + ), f"CHOOSER_SEGMENT_COLUMN_NAME not specified in model_settings to slice SEGMENTS: {segments}" choices_list = [] sample_list = [] @@ -674,59 +805,66 @@ def run_tour_destination( choosers = tours.copy() # Note: size_term_calculator omits zones with impossible alternatives (where dest size term is zero) - segment_destination_size_terms = size_term_calculator.dest_size_terms_df(segment_name, segment_trace_label) + segment_destination_size_terms = size_term_calculator.dest_size_terms_df( + segment_name, segment_trace_label + ) if choosers.shape[0] == 0: - logger.info("%s skipping segment %s: no choosers", trace_label, segment_name) + logger.info( + "%s skipping segment %s: no choosers", trace_label, segment_name + ) continue # - destination_sample spec_segment_name = segment_name # spec_segment_name is segment_name - location_sample_df = \ - run_destination_sample( - spec_segment_name, - choosers, - persons_merged, - model_settings, - network_los, - segment_destination_size_terms, - estimator, - chunk_size=chunk_size, - trace_label=tracing.extend_trace_label(segment_trace_label, 'sample')) + location_sample_df = run_destination_sample( + spec_segment_name, + choosers, + persons_merged, + model_settings, + network_los, + segment_destination_size_terms, + estimator, + chunk_size=chunk_size, + trace_label=tracing.extend_trace_label(segment_trace_label, "sample"), + ) # - destination_logsums tour_purpose = segment_name # tour_purpose is segment_name - location_sample_df = \ - run_destination_logsums( - tour_purpose, - persons_merged, - location_sample_df, - model_settings, - network_los, - chunk_size=chunk_size, - trace_label=tracing.extend_trace_label(segment_trace_label, 'logsums')) + location_sample_df = run_destination_logsums( + tour_purpose, + persons_merged, + location_sample_df, + model_settings, + network_los, + chunk_size=chunk_size, + trace_label=tracing.extend_trace_label(segment_trace_label, "logsums"), + ) # - destination_simulate spec_segment_name = segment_name # spec_segment_name is segment_name - choices = \ - run_destination_simulate( - spec_segment_name, - choosers, - persons_merged, - destination_sample=location_sample_df, - want_logsums=want_logsums, - model_settings=model_settings, - network_los=network_los, - destination_size_terms=segment_destination_size_terms, - estimator=estimator, - chunk_size=chunk_size, - trace_label=tracing.extend_trace_label(segment_trace_label, 'simulate')) + choices = run_destination_simulate( + spec_segment_name, + choosers, + persons_merged, + destination_sample=location_sample_df, + want_logsums=want_logsums, + model_settings=model_settings, + network_los=network_los, + destination_size_terms=segment_destination_size_terms, + estimator=estimator, + chunk_size=chunk_size, + trace_label=tracing.extend_trace_label(segment_trace_label, "simulate"), + skip_choice=skip_choice, + ) choices_list.append(choices) if want_sample_table: # FIXME - sample_table - location_sample_df.set_index(model_settings['ALT_DEST_COL_NAME'], append=True, inplace=True) + location_sample_df.set_index( + model_settings["ALT_DEST_COL_NAME"], append=True, inplace=True + ) sample_list.append(location_sample_df) else: # del this so we dont hold active reference to it while run_location_sample is creating its replacement @@ -737,7 +875,7 @@ def run_tour_destination( else: # this will only happen with small samples (e.g. singleton) with no (e.g.) school segs logger.warning("%s no choices", trace_label) - choices_df = pd.DataFrame(columns=['choice', 'logsum']) + choices_df = pd.DataFrame(columns=["choice", "logsum"]) if len(sample_list) > 0: save_sample_df = pd.concat(sample_list) diff --git a/activitysim/abm/models/util/tour_frequency.py b/activitysim/abm/models/util/tour_frequency.py index fe4ed03647..37108b564c 100644 --- a/activitysim/abm/models/util/tour_frequency.py +++ b/activitysim/abm/models/util/tour_frequency.py @@ -5,13 +5,13 @@ import numpy as np import pandas as pd -from activitysim.core.util import reindex from activitysim.abm.models.util.canonical_ids import set_tour_index +from activitysim.core.util import reindex logger = logging.getLogger(__name__) -def create_tours(tour_counts, tour_category, parent_col='person_id'): +def create_tours(tour_counts, tour_category, parent_col="person_id"): """ This method processes the tour_frequency column that comes out of the model of the same name and turns into a DataFrame that @@ -73,13 +73,15 @@ def create_tours(tour_counts, tour_category, parent_col='person_id'): # now have two rows, and zero trips yields zero rows tours = tours.take(np.repeat(tours.index.values, tours.tour_type_count.values)) - grouped = tours.groupby([parent_col, 'tour_type']) - tours['tour_type_num'] = grouped.cumcount() + 1 - tours['tour_type_count'] = tours['tour_type_num'] + grouped.cumcount(ascending=False) + grouped = tours.groupby([parent_col, "tour_type"]) + tours["tour_type_num"] = grouped.cumcount() + 1 + tours["tour_type_count"] = tours["tour_type_num"] + grouped.cumcount( + ascending=False + ) grouped = tours.groupby(parent_col) - tours['tour_num'] = grouped.cumcount() + 1 - tours['tour_count'] = tours['tour_num'] + grouped.cumcount(ascending=False) + tours["tour_num"] = grouped.cumcount() + 1 + tours["tour_count"] = tours["tour_num"] + grouped.cumcount(ascending=False) """ tour_type tour_type_num tour_type_count tour_num tour_count @@ -90,11 +92,11 @@ def create_tours(tour_counts, tour_category, parent_col='person_id'): """ # set these here to ensure consistency across different tour categories - assert tour_category in ['mandatory', 'non_mandatory', 'atwork', 'joint'] - tours['tour_category'] = tour_category + assert tour_category in ["mandatory", "non_mandatory", "atwork", "joint"] + tours["tour_category"] = tour_category # for joint tours, the correct number will be filled in after participation step - tours['number_of_participants'] = 1 + tours["number_of_participants"] = 1 # index is arbitrary but don't want any duplicates in index tours.reset_index(drop=True, inplace=True) @@ -102,7 +104,9 @@ def create_tours(tour_counts, tour_category, parent_col='person_id'): return tours -def process_tours(tour_frequency, tour_frequency_alts, tour_category, parent_col='person_id'): +def process_tours( + tour_frequency, tour_frequency_alts, tour_category, parent_col="person_id" +): """ This method processes the tour_frequency column that comes out of the model of the same name and turns into a DataFrame that @@ -191,32 +195,47 @@ def process_mandatory_tours(persons, mandatory_tour_frequency_alts): depends on the is_worker column: work tours first for workers, second for non-workers """ - person_columns = ['mandatory_tour_frequency', 'is_worker', - 'school_zone_id', 'workplace_zone_id', 'home_zone_id', 'household_id'] + person_columns = [ + "mandatory_tour_frequency", + "is_worker", + "school_zone_id", + "workplace_zone_id", + "home_zone_id", + "household_id", + ] assert not persons.mandatory_tour_frequency.isnull().any() - tours = process_tours(persons.mandatory_tour_frequency.dropna(), - mandatory_tour_frequency_alts, - tour_category='mandatory') + tours = process_tours( + persons.mandatory_tour_frequency.dropna(), + mandatory_tour_frequency_alts, + tour_category="mandatory", + ) - tours_merged = pd.merge(tours[['person_id', 'tour_type']], - persons[person_columns], - left_on='person_id', right_index=True) + tours_merged = pd.merge( + tours[["person_id", "tour_type"]], + persons[person_columns], + left_on="person_id", + right_index=True, + ) # by default work tours are first for work_and_school tours # swap tour_nums for non-workers so school tour is 1 and work is 2 - work_and_school_and_student = \ - (tours_merged.mandatory_tour_frequency == 'work_and_school') & ~tours_merged.is_worker + work_and_school_and_student = ( + tours_merged.mandatory_tour_frequency == "work_and_school" + ) & ~tours_merged.is_worker - tours.tour_num = tours.tour_num.where(~work_and_school_and_student, 3 - tours.tour_num) + tours.tour_num = tours.tour_num.where( + ~work_and_school_and_student, 3 - tours.tour_num + ) # work tours destination is workplace_zone_id, school tours destination is school_zone_id - tours['destination'] = \ - tours_merged.workplace_zone_id.where((tours_merged.tour_type == 'work'), tours_merged.school_zone_id) + tours["destination"] = tours_merged.workplace_zone_id.where( + (tours_merged.tour_type == "work"), tours_merged.school_zone_id + ) - tours['origin'] = tours_merged.home_zone_id + tours["origin"] = tours_merged.home_zone_id - tours['household_id'] = tours_merged.household_id + tours["household_id"] = tours_merged.household_id # assign stable (predictable) tour_id set_tour_index(tours) @@ -266,10 +285,10 @@ def process_non_mandatory_tours(persons, tour_counts): column names of the alternatives DataFrame supplied above. """ - tours = create_tours(tour_counts, tour_category='non_mandatory') + tours = create_tours(tour_counts, tour_category="non_mandatory") - tours['household_id'] = reindex(persons.household_id, tours.person_id) - tours['origin'] = reindex(persons.home_zone_id, tours.person_id) + tours["household_id"] = reindex(persons.household_id, tours.person_id) + tours["origin"] = reindex(persons.home_zone_id, tours.person_id) # assign stable (predictable) tour_id set_tour_index(tours) @@ -328,11 +347,13 @@ def process_atwork_subtours(work_tours, atwork_subtour_frequency_alts): eat_business 1 1 0 """ - parent_col = 'parent_tour_id' - tours = process_tours(work_tours.atwork_subtour_frequency.dropna(), - atwork_subtour_frequency_alts, - tour_category='atwork', - parent_col=parent_col) + parent_col = "parent_tour_id" + tours = process_tours( + work_tours.atwork_subtour_frequency.dropna(), + atwork_subtour_frequency_alts, + tour_category="atwork", + parent_col=parent_col, + ) # print tours """ @@ -349,13 +370,14 @@ def process_atwork_subtours(work_tours, atwork_subtour_frequency_alts): """ # merge fields from parent work_tours (note parent tour destination becomes subtour origin) - work_tours = work_tours[['person_id', 'household_id', 'tour_num', 'destination']] - work_tours.rename(columns={'tour_num': 'parent_tour_num', - 'destination': 'origin'}, inplace=True) + work_tours = work_tours[["person_id", "household_id", "tour_num", "destination"]] + work_tours.rename( + columns={"tour_num": "parent_tour_num", "destination": "origin"}, inplace=True + ) tours = pd.merge(tours, work_tours, left_on=parent_col, right_index=True) # assign stable (predictable) tour_id - set_tour_index(tours, parent_tour_num_col='parent_tour_num') + set_tour_index(tours, parent_tour_num_col="parent_tour_num") """ person_id tour_type tour_type_count tour_type_num tour_num tour_count @@ -371,7 +393,7 @@ def process_atwork_subtours(work_tours, atwork_subtour_frequency_alts): """ # don't need this once we have computed index - del tours['parent_tour_num'] + del tours["parent_tour_num"] return tours @@ -405,17 +427,19 @@ def process_joint_tours(joint_tour_frequency, joint_tour_frequency_alts, point_p assert not joint_tour_frequency.isnull().any() - tours = process_tours(joint_tour_frequency.dropna(), - joint_tour_frequency_alts, - tour_category='joint', - parent_col='household_id') + tours = process_tours( + joint_tour_frequency.dropna(), + joint_tour_frequency_alts, + tour_category="joint", + parent_col="household_id", + ) assert not tours.index.duplicated().any() - assert point_persons.index.name == 'household_id' + assert point_persons.index.name == "household_id" # - assign a temp point person to tour so we can create stable index - tours['person_id'] = reindex(point_persons.person_id, tours.household_id) - tours['origin'] = reindex(point_persons.home_zone_id, tours.household_id) + tours["person_id"] = reindex(point_persons.person_id, tours.household_id) + tours["origin"] = reindex(point_persons.home_zone_id, tours.household_id) # assign stable (predictable) tour_id set_tour_index(tours, is_joint=True) diff --git a/activitysim/abm/models/util/tour_od.py b/activitysim/abm/models/util/tour_od.py index 0db7e01d74..55cc9a4a00 100644 --- a/activitysim/abm/models/util/tour_od.py +++ b/activitysim/abm/models/util/tour_od.py @@ -2,65 +2,70 @@ # See full license in LICENSE.txt. import logging -import pandas as pd import numpy as np +import pandas as pd from orca import orca -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import logit -from activitysim.core import los -from activitysim.core import expressions - -from activitysim.core.util import reindex - -from activitysim.core.interaction_sample_simulate \ - import interaction_sample_simulate -from activitysim.core.interaction_sample import interaction_sample - -from . import trip, logsums as logsum - from activitysim.abm.tables.size_terms import tour_destination_size_terms +from activitysim.core import ( + config, + expressions, + inject, + logit, + los, + pipeline, + simulate, + tracing, +) +from activitysim.core.interaction_sample import interaction_sample +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate +from activitysim.core.util import reindex +from . import logsums as logsum +from . import trip logger = logging.getLogger(__name__) DUMP = False # temp column names for presampling -DEST_MAZ = 'dest_MAZ' -DEST_TAZ = 'dest_TAZ' +DEST_MAZ = "dest_MAZ" +DEST_TAZ = "dest_TAZ" # likewise a temp, but if already in choosers, # we assume we can use it opportunistically -ORIG_TAZ = 'orig_TAZ' -ORIG_MAZ = 'orig_MAZ' -ORIG_TAZ_EXT = 'orig_TAZ_ext' +ORIG_TAZ = "orig_TAZ" +ORIG_MAZ = "orig_MAZ" +ORIG_TAZ_EXT = "orig_TAZ_ext" def get_od_id_col(origin_col, destination_col): - colname = '{0}_{1}'.format(origin_col, destination_col) + colname = "{0}_{1}".format(origin_col, destination_col) return colname def create_od_id_col(df, origin_col, destination_col): - return df[origin_col].astype(str) + '_' + df[destination_col].astype(str) + return df[origin_col].astype(str) + "_" + df[destination_col].astype(str) -def _get_od_cols_from_od_id(df, orig_col_name=None, dest_col_name=None, od_id_col='choice'): +def _get_od_cols_from_od_id( + df, orig_col_name=None, dest_col_name=None, od_id_col="choice" +): - df[orig_col_name] = df[od_id_col].str.split('_').str[0].astype(int) - df[dest_col_name] = df[od_id_col].str.split('_').str[1].astype(int) + df[orig_col_name] = df[od_id_col].str.split("_").str[0].astype(int) + df[dest_col_name] = df[od_id_col].str.split("_").str[1].astype(int) return df def _create_od_alts_from_dest_size_terms( - size_terms_df, segment_name, od_id_col=None, - origin_id_col='origin', dest_id_col='destination', - origin_filter=None, origin_attr_cols=None): + size_terms_df, + segment_name, + od_id_col=None, + origin_id_col="origin", + dest_id_col="destination", + origin_filter=None, + origin_attr_cols=None, +): """ Extend destination size terms to create dataframe representing the cartesian product of tour origins and destinations. Actual "Size Terms" @@ -68,7 +73,7 @@ def _create_od_alts_from_dest_size_terms( attributes of the origins can be preserved. """ - land_use = inject.get_table('land_use').to_frame(columns=origin_attr_cols) + land_use = inject.get_table("land_use").to_frame(columns=origin_attr_cols) if origin_filter: origins = land_use.query(origin_filter) @@ -86,7 +91,9 @@ def _create_od_alts_from_dest_size_terms( new_index_name = get_od_id_col(origin_id_col, dest_id_col) else: new_index_name = od_id_col - od_alts[new_index_name] = od_alts[origin_id_col].astype(str) + '_' + od_alts[dest_id_col].astype(str) + od_alts[new_index_name] = ( + od_alts[origin_id_col].astype(str) + "_" + od_alts[dest_id_col].astype(str) + ) od_alts.set_index(new_index_name, inplace=True) # manually add origin attributes to output since these can't be generated by @@ -96,31 +103,37 @@ def _create_od_alts_from_dest_size_terms( land_use.reset_index(inplace=True) od_alts.reset_index(inplace=True) od_alts = pd.merge( - od_alts, land_use[origin_attr_cols + [origin_id_col]], - on=origin_id_col, how='left').set_index(new_index_name) + od_alts, + land_use[origin_attr_cols + [origin_id_col]], + on=origin_id_col, + how="left", + ).set_index(new_index_name) return od_alts def _od_sample( - spec_segment_name, - choosers, - network_los, - destination_size_terms, - origin_id_col, - dest_id_col, - skims, - estimator, + spec_segment_name, + choosers, + network_los, + destination_size_terms, + origin_id_col, + dest_id_col, + skims, + estimator, + model_settings, + alt_od_col_name, + chunk_size, + chunk_tag, + trace_label, +): + + model_spec = simulate.spec_for_segment( model_settings, - alt_od_col_name, - chunk_size, - chunk_tag, - trace_label): - - model_spec = simulate.spec_for_segment(model_settings, - spec_id='SAMPLE_SPEC', - segment_name=spec_segment_name, - estimator=estimator) + spec_id="SAMPLE_SPEC", + segment_name=spec_segment_name, + estimator=estimator, + ) if alt_od_col_name is None: alt_col_name = get_od_id_col(origin_id_col, dest_id_col) else: @@ -128,33 +141,38 @@ def _od_sample( logger.info("running %s with %d tours", trace_label, len(choosers)) - sample_size = model_settings['SAMPLE_SIZE'] - if config.setting('disable_destination_sampling', False) or ( - estimator and estimator.want_unsampled_alternatives): + sample_size = model_settings["SAMPLE_SIZE"] + if config.setting("disable_destination_sampling", False) or ( + estimator and estimator.want_unsampled_alternatives + ): # FIXME interaction_sample will return unsampled complete alternatives # with probs and pick_count - logger.info(( - "Estimation mode for %s using unsampled alternatives " - "short_circuit_choices") % trace_label) + logger.info( + ( + "Estimation mode for %s using unsampled alternatives " + "short_circuit_choices" + ) + % trace_label + ) sample_size = 0 - locals_d = { - 'skims': skims - } + locals_d = {"skims": skims} constants = config.get_model_constants(model_settings) if constants is not None: locals_d.update(constants) - origin_filter = model_settings.get('ORIG_FILTER', None) - origin_attr_cols = model_settings['ORIGIN_ATTR_COLS_TO_USE'] + origin_filter = model_settings.get("ORIG_FILTER", None) + origin_attr_cols = model_settings["ORIGIN_ATTR_COLS_TO_USE"] od_alts_df = _create_od_alts_from_dest_size_terms( - destination_size_terms, spec_segment_name, + destination_size_terms, + spec_segment_name, od_id_col=alt_col_name, origin_id_col=origin_id_col, dest_id_col=dest_id_col, origin_filter=origin_filter, - origin_attr_cols=origin_attr_cols) + origin_attr_cols=origin_attr_cols, + ) if skims.orig_key == ORIG_TAZ: od_alts_df[ORIG_TAZ] = map_maz_to_taz(od_alts_df[origin_id_col], network_los) @@ -172,25 +190,28 @@ def _od_sample( locals_d=locals_d, chunk_size=chunk_size, chunk_tag=chunk_tag, - trace_label=trace_label) + trace_label=trace_label, + ) return choices def od_sample( - spec_segment_name, - choosers, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, trace_label): - - chunk_tag = 'tour_od.sample' - - origin_col_name = model_settings['ORIG_COL_NAME'] - dest_col_name = model_settings['DEST_COL_NAME'] - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] + spec_segment_name, + choosers, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): + + chunk_tag = "tour_od.sample" + + origin_col_name = model_settings["ORIG_COL_NAME"] + dest_col_name = model_settings["DEST_COL_NAME"] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] skim_dict = network_los.get_default_skim_dict() skims = skim_dict.wrap(origin_col_name, dest_col_name) @@ -210,31 +231,40 @@ def od_sample( alt_od_col_name, chunk_size, chunk_tag, - trace_label) + trace_label, + ) - choices[origin_col_name] = choices[alt_od_col_name].str.split('_').str[0].astype(int) - choices[dest_col_name] = choices[alt_od_col_name].str.split('_').str[1].astype(int) + choices[origin_col_name] = ( + choices[alt_od_col_name].str.split("_").str[0].astype(int) + ) + choices[dest_col_name] = choices[alt_od_col_name].str.split("_").str[1].astype(int) return choices def map_maz_to_taz(s, network_los): - maz_to_taz = network_los.maz_taz_df[['MAZ', 'TAZ']].set_index('MAZ').TAZ + maz_to_taz = network_los.maz_taz_df[["MAZ", "TAZ"]].set_index("MAZ").TAZ return s.map(maz_to_taz) def map_maz_to_ext_taz(s): - land_use = inject.get_table('land_use').to_frame(columns=['external_TAZ']).external_TAZ + land_use = ( + inject.get_table("land_use").to_frame(columns=["external_TAZ"]).external_TAZ + ) return s.map(land_use).astype(int) def map_maz_to_ext_maz(s): - land_use = inject.get_table('land_use').to_frame(columns=['external_MAZ']).external_MAZ + land_use = ( + inject.get_table("land_use").to_frame(columns=["external_MAZ"]).external_MAZ + ) return s.map(land_use).astype(int) def map_ext_maz_to_maz(s): - land_use = inject.get_table('land_use').to_frame(columns=['original_MAZ']).original_MAZ + land_use = ( + inject.get_table("land_use").to_frame(columns=["original_MAZ"]).original_MAZ + ) return s.map(land_use).astype(int) @@ -247,8 +277,8 @@ def aggregate_size_terms(dest_size_terms, network_los): MAZ_size_terms[DEST_TAZ] = map_maz_to_taz(MAZ_size_terms.index, network_los) # aggregate to TAZ - TAZ_size_terms = MAZ_size_terms.groupby(DEST_TAZ).agg({'size_term': 'sum'}) - assert not TAZ_size_terms['size_term'].isna().any() + TAZ_size_terms = MAZ_size_terms.groupby(DEST_TAZ).agg({"size_term": "sum"}) + assert not TAZ_size_terms["size_term"].isna().any() # size_term # dest_TAZ @@ -258,8 +288,10 @@ def aggregate_size_terms(dest_size_terms, network_los): # add crosswalk DEST_TAZ column to MAZ_size_terms # MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, 'size_term']) # maybe helpful for debugging - MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, 'size_term']].reset_index(drop=False) - MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, 'zone_id']).reset_index(drop=True) + MAZ_size_terms = MAZ_size_terms[[DEST_TAZ, "size_term"]].reset_index(drop=False) + MAZ_size_terms = MAZ_size_terms.sort_values([DEST_TAZ, "zone_id"]).reset_index( + drop=True + ) # zone_id dest_TAZ size_term # 0 6097 2 10.0 @@ -273,10 +305,12 @@ def aggregate_size_terms(dest_size_terms, network_los): def choose_MAZ_for_TAZ( - taz_sample, MAZ_size_terms, trace_label, - addtl_col_for_unique_key=None, - dest_maz_id_col=DEST_MAZ, - ): + taz_sample, + MAZ_size_terms, + trace_label, + addtl_col_for_unique_key=None, + dest_maz_id_col=DEST_MAZ, +): """ Convert taz_sample table with TAZ zone sample choices to a table with a MAZ zone chosen for each TAZ choose MAZ probabilistically (proportionally by size_term) from set of MAZ zones in parent TAZ @@ -304,16 +338,20 @@ def choose_MAZ_for_TAZ( trace_hh_id = inject.get_injectable("trace_hh_id", None) have_trace_targets = trace_hh_id and tracing.has_trace_targets(taz_sample) if have_trace_targets: - trace_label = tracing.extend_trace_label(trace_label, 'choose_MAZ_for_TAZ') + trace_label = tracing.extend_trace_label(trace_label, "choose_MAZ_for_TAZ") - CHOOSER_ID = taz_sample.index.name # zone_id for tours, but person_id for location choice + CHOOSER_ID = ( + taz_sample.index.name + ) # zone_id for tours, but person_id for location choice assert CHOOSER_ID is not None # write taz choices, pick_counts, probs trace_targets = tracing.trace_targets(taz_sample) - tracing.trace_df(taz_sample[trace_targets], - label=tracing.extend_trace_label(trace_label, 'taz_sample'), - transpose=False) + tracing.trace_df( + taz_sample[trace_targets], + label=tracing.extend_trace_label(trace_label, "taz_sample"), + transpose=False, + ) if addtl_col_for_unique_key is None: addtl_col_for_unique_key = [] @@ -321,9 +359,13 @@ def choose_MAZ_for_TAZ( addtl_col_for_unique_key = [addtl_col_for_unique_key] # redupe taz_sample[[DEST_TAZ, 'prob']] using pick_count to repeat rows - taz_choices = taz_sample[[DEST_TAZ, 'prob'] + addtl_col_for_unique_key].reset_index(drop=False) - taz_choices = taz_choices.reindex(taz_choices.index.repeat(taz_sample.pick_count)).reset_index(drop=True) - taz_choices = taz_choices.rename(columns={'prob': 'TAZ_prob'}) + taz_choices = taz_sample[[DEST_TAZ, "prob"] + addtl_col_for_unique_key].reset_index( + drop=False + ) + taz_choices = taz_choices.reindex( + taz_choices.index.repeat(taz_sample.pick_count) + ).reset_index(drop=True) + taz_choices = taz_choices.rename(columns={"prob": "TAZ_prob"}) # print(f"taz_choices\n{taz_choices}") # tour_id dest_TAZ TAZ_prob @@ -340,7 +382,9 @@ def choose_MAZ_for_TAZ( # 2 24251 2 10.904 # just to make it clear we are siloing choices by chooser_id - chooser_id_col = taz_sample.index.name # should be canonical chooser index name (e.g. 'person_id') + chooser_id_col = ( + taz_sample.index.name + ) # should be canonical chooser index name (e.g. 'person_id') # for random_for_df, we need df with de-duplicated chooser canonical index chooser_df = pd.DataFrame(index=taz_sample.index[~taz_sample.index.duplicated()]) @@ -352,15 +396,23 @@ def choose_MAZ_for_TAZ( taz_sample_size = taz_choices.groupby(chooser_id_col)[DEST_TAZ].count().max() # taz_choices index values should be contiguous - assert (taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size)).all() + assert ( + taz_choices[chooser_id_col] == np.repeat(chooser_df.index, taz_sample_size) + ).all() # we need to choose a MAZ for each DEST_TAZ choice # probability of choosing MAZ based on MAZ size_term fraction of TAZ total # there will be a different set (and number) of candidate MAZs for each TAZ # (preserve index, which will have duplicates as result of join) # maz_sizes.index is the integer offset into taz_choices of the taz for which the maz_size row is a candidate) - maz_sizes = pd.merge(taz_choices[[chooser_id_col, DEST_TAZ] + addtl_col_for_unique_key].reset_index(), - MAZ_size_terms, how='left', on=DEST_TAZ).set_index('index') + maz_sizes = pd.merge( + taz_choices[ + [chooser_id_col, DEST_TAZ] + addtl_col_for_unique_key + ].reset_index(), + MAZ_size_terms, + how="left", + on=DEST_TAZ, + ).set_index("index") # tour_id dest_TAZ zone_id size_term # index @@ -375,9 +427,11 @@ def choose_MAZ_for_TAZ( maz_sizes_trace_targets = tracing.trace_targets(maz_sizes, slicer=CHOOSER_ID) trace_maz_sizes = maz_sizes[maz_sizes_trace_targets] - tracing.trace_df(trace_maz_sizes, - label=tracing.extend_trace_label(trace_label, 'maz_sizes'), - transpose=False) + tracing.trace_df( + trace_maz_sizes, + label=tracing.extend_trace_label(trace_label, "maz_sizes"), + transpose=False, + ) # number of DEST_TAZ candidates per chooser maz_counts = maz_sizes.groupby(maz_sizes.index).size().values @@ -395,7 +449,9 @@ def choose_MAZ_for_TAZ( inserts = np.repeat(last_row_offsets, max_maz_count - maz_counts) # insert zero filler to pad each alternative set to same size - padded_maz_sizes = np.insert(maz_sizes.size_term.values, inserts, 0.0).reshape(-1, max_maz_count) + padded_maz_sizes = np.insert(maz_sizes.size_term.values, inserts, 0.0).reshape( + -1, max_maz_count + ) # prob array with one row TAZ_choice, one column per alternative row_sums = padded_maz_sizes.sum(axis=1) @@ -417,51 +473,82 @@ def choose_MAZ_for_TAZ( # this take can choose same dest more than once (choice with replacement) # this is why you need the groupby later on, which is why the prob is a max - taz_choices[DEST_MAZ] = maz_sizes['zone_id'].take(positions + first_row_offsets) - taz_choices['MAZ_prob'] = maz_probs[np.arange(maz_probs.shape[0]), positions] - taz_choices['prob'] = taz_choices['TAZ_prob'] * taz_choices['MAZ_prob'] + taz_choices[DEST_MAZ] = maz_sizes["zone_id"].take(positions + first_row_offsets) + taz_choices["MAZ_prob"] = maz_probs[np.arange(maz_probs.shape[0]), positions] + taz_choices["prob"] = taz_choices["TAZ_prob"] * taz_choices["MAZ_prob"] if have_trace_targets: - taz_choices_trace_targets = tracing.trace_targets(taz_choices, slicer=CHOOSER_ID) + taz_choices_trace_targets = tracing.trace_targets( + taz_choices, slicer=CHOOSER_ID + ) trace_taz_choices_df = taz_choices[taz_choices_trace_targets] - tracing.trace_df(trace_taz_choices_df, - label=tracing.extend_trace_label(trace_label, 'taz_choices'), - transpose=False) + tracing.trace_df( + trace_taz_choices_df, + label=tracing.extend_trace_label(trace_label, "taz_choices"), + transpose=False, + ) lhs_df = trace_taz_choices_df[[CHOOSER_ID, DEST_TAZ] + addtl_col_for_unique_key] - alt_dest_columns = [f'dest_maz_{c}' for c in range(max_maz_count)] + alt_dest_columns = [f"dest_maz_{c}" for c in range(max_maz_count)] # following the same logic as the full code, but for trace cutout trace_maz_counts = maz_counts[taz_choices_trace_targets] trace_last_row_offsets = maz_counts[taz_choices_trace_targets].cumsum() - trace_inserts = np.repeat(trace_last_row_offsets, max_maz_count - trace_maz_counts) + trace_inserts = np.repeat( + trace_last_row_offsets, max_maz_count - trace_maz_counts + ) # trace dest_maz_alts - padded_maz_sizes = np.insert(trace_maz_sizes[CHOOSER_ID].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes[CHOOSER_ID].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_alts'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_alts"), + transpose=False, + ) # trace dest_maz_size_terms - padded_maz_sizes = np.insert(trace_maz_sizes['size_term'].values, trace_inserts, 0.0).reshape(-1, max_maz_count) - df = pd.DataFrame(data=padded_maz_sizes, - columns=alt_dest_columns, index=trace_taz_choices_df.index) + padded_maz_sizes = np.insert( + trace_maz_sizes["size_term"].values, trace_inserts, 0.0 + ).reshape(-1, max_maz_count) + df = pd.DataFrame( + data=padded_maz_sizes, + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_size_terms'), transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_size_terms"), + transpose=False, + ) # trace dest_maz_probs - df = pd.DataFrame(data=maz_probs[taz_choices_trace_targets], - columns=alt_dest_columns, index=trace_taz_choices_df.index) + df = pd.DataFrame( + data=maz_probs[taz_choices_trace_targets], + columns=alt_dest_columns, + index=trace_taz_choices_df.index, + ) df = pd.concat([lhs_df, df], axis=1) - df['rand'] = rands[taz_choices_trace_targets] - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, 'dest_maz_probs'), transpose=False) - - taz_choices = taz_choices.drop(columns=['TAZ_prob', 'MAZ_prob']) - taz_choices_w_maz = taz_choices.groupby([chooser_id_col, dest_maz_id_col] + addtl_col_for_unique_key).agg( - prob=('prob', 'first'), - pick_count=('prob', 'count')) + df["rand"] = rands[taz_choices_trace_targets] + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, "dest_maz_probs"), + transpose=False, + ) + + taz_choices = taz_choices.drop(columns=["TAZ_prob", "MAZ_prob"]) + taz_choices_w_maz = taz_choices.groupby( + [chooser_id_col, dest_maz_id_col] + addtl_col_for_unique_key + ).agg(prob=("prob", "first"), pick_count=("prob", "count")) taz_choices_w_maz.reset_index(inplace=True) taz_choices_w_maz.set_index(chooser_id_col, inplace=True) @@ -470,28 +557,31 @@ def choose_MAZ_for_TAZ( def od_presample( - spec_segment_name, - choosers, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, - trace_label): - - trace_label = tracing.extend_trace_label(trace_label, 'presample') - chunk_tag = 'tour_od.presample' + spec_segment_name, + choosers, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): + + trace_label = tracing.extend_trace_label(trace_label, "presample") + chunk_tag = "tour_od.presample" logger.info(f"{trace_label} od_presample") alt_od_col_name = get_od_id_col(ORIG_MAZ, DEST_TAZ) - MAZ_size_terms, TAZ_size_terms = aggregate_size_terms(destination_size_terms, network_los) + MAZ_size_terms, TAZ_size_terms = aggregate_size_terms( + destination_size_terms, network_los + ) # create wrapper with keys for this lookup - in this case there is a ORIG_TAZ # in the choosers and a DEST_TAZ in the alternatives which get merged during # interaction the skims will be available under the name "skims" for any @ expressions - skim_dict = network_los.get_skim_dict('taz') + skim_dict = network_los.get_skim_dict("taz") skims = skim_dict.wrap(ORIG_TAZ, DEST_TAZ) orig_MAZ_dest_TAZ_sample = _od_sample( @@ -507,25 +597,34 @@ def od_presample( alt_od_col_name, chunk_size, chunk_tag, - trace_label) + trace_label, + ) - orig_MAZ_dest_TAZ_sample[ORIG_MAZ] = orig_MAZ_dest_TAZ_sample[alt_od_col_name].str.split('_').str[0].astype(int) - orig_MAZ_dest_TAZ_sample[DEST_TAZ] = orig_MAZ_dest_TAZ_sample[alt_od_col_name].str.split('_').str[1].astype(int) + orig_MAZ_dest_TAZ_sample[ORIG_MAZ] = ( + orig_MAZ_dest_TAZ_sample[alt_od_col_name].str.split("_").str[0].astype(int) + ) + orig_MAZ_dest_TAZ_sample[DEST_TAZ] = ( + orig_MAZ_dest_TAZ_sample[alt_od_col_name].str.split("_").str[1].astype(int) + ) # choose a MAZ for each DEST_TAZ choice, choice probability based on # MAZ size_term fraction of TAZ total maz_choices = choose_MAZ_for_TAZ( - orig_MAZ_dest_TAZ_sample, MAZ_size_terms, trace_label, - addtl_col_for_unique_key=ORIG_MAZ) + orig_MAZ_dest_TAZ_sample, + MAZ_size_terms, + trace_label, + addtl_col_for_unique_key=ORIG_MAZ, + ) # outputs assert DEST_MAZ in maz_choices - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - chooser_orig_col_name = model_settings['CHOOSER_ORIG_COL_NAME'] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] + chooser_orig_col_name = model_settings["CHOOSER_ORIG_COL_NAME"] maz_choices = maz_choices.rename( - columns={DEST_MAZ: alt_dest_col_name, ORIG_MAZ: chooser_orig_col_name}) + columns={DEST_MAZ: alt_dest_col_name, ORIG_MAZ: chooser_orig_col_name} + ) return maz_choices @@ -540,11 +639,12 @@ class SizeTermCalculator(object): def __init__(self, size_term_selector): # do this once so they can request size_terms for various segments (tour_type or purpose) - land_use = inject.get_table('land_use') + land_use = inject.get_table("land_use") self.land_use = land_use - size_terms = inject.get_injectable('size_terms') - self.destination_size_terms = \ - tour_destination_size_terms(self.land_use, size_terms, size_term_selector) + size_terms = inject.get_injectable("size_terms") + self.destination_size_terms = tour_destination_size_terms( + self.land_use, size_terms, size_term_selector + ) assert not self.destination_size_terms.isna().any(axis=None) @@ -556,15 +656,19 @@ def dest_size_terms_df(self, segment_name, trace_label): # convenient if creating or merging with alts size_terms = self.destination_size_terms[[segment_name]].copy() - size_terms.columns = ['size_term'] + size_terms.columns = ["size_term"] # FIXME - no point in considering impossible alternatives (where dest size term is zero) - logger.debug(f"SizeTermCalculator dropping {(~(size_terms.size_term > 0)).sum()} " - f"of {len(size_terms)} rows where size_term is zero for {segment_name}") + logger.debug( + f"SizeTermCalculator dropping {(~(size_terms.size_term > 0)).sum()} " + f"of {len(size_terms)} rows where size_term is zero for {segment_name}" + ) size_terms = size_terms[size_terms.size_term > 0] if len(size_terms) == 0: - logger.warning(f"SizeTermCalculator: no zones with non-zero size terms for {segment_name} in {trace_label}") + logger.warning( + f"SizeTermCalculator: no zones with non-zero size terms for {segment_name} in {trace_label}" + ) return size_terms @@ -575,38 +679,49 @@ def dest_size_terms_series(self, segment_name): def run_od_sample( - spec_segment_name, - tours, + spec_segment_name, + tours, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): + + model_spec = simulate.spec_for_segment( model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, - trace_label): - - model_spec = simulate.spec_for_segment(model_settings, spec_id='SAMPLE_SPEC', - segment_name=spec_segment_name, estimator=estimator) + spec_id="SAMPLE_SPEC", + segment_name=spec_segment_name, + estimator=estimator, + ) choosers = tours # FIXME - MEMORY HACK - only include columns actually used in spec - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] choosers = choosers[chooser_columns] # interaction_sample requires that choosers.index.is_monotonic_increasing if not choosers.index.is_monotonic_increasing: - logger.debug(f"run_destination_sample {trace_label} sorting choosers because not monotonic_increasing") + logger.debug( + f"run_destination_sample {trace_label} sorting choosers because not monotonic_increasing" + ) choosers = choosers.sort_index() # by default, enable presampling for multizone systems, unless they disable it in settings file pre_sample_taz = not (network_los.zone_system == los.ONE_ZONE) - if pre_sample_taz and not config.setting('want_dest_choice_presampling', True): + if pre_sample_taz and not config.setting("want_dest_choice_presampling", True): pre_sample_taz = False - logger.info(f"Disabled destination zone presampling for {trace_label} " - f"because 'want_dest_choice_presampling' setting is False") + logger.info( + f"Disabled destination zone presampling for {trace_label} " + f"because 'want_dest_choice_presampling' setting is False" + ) if pre_sample_taz: - logger.info("Running %s destination_presample with %d tours" % (trace_label, len(tours))) + logger.info( + "Running %s destination_presample with %d tours" % (trace_label, len(tours)) + ) choices = od_presample( spec_segment_name, @@ -616,7 +731,8 @@ def run_od_sample( destination_size_terms, estimator, chunk_size, - trace_label) + trace_label, + ) else: choices = od_sample( @@ -626,89 +742,107 @@ def run_od_sample( network_los, destination_size_terms, estimator, - chunk_size, trace_label) + chunk_size, + trace_label, + ) return choices def run_od_logsums( - spec_segment_name, - tours_merged_df, - od_sample, - model_settings, - network_los, - estimator, - chunk_size, - trace_hh_id, - trace_label): + spec_segment_name, + tours_merged_df, + od_sample, + model_settings, + network_los, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): """ add logsum column to existing tour_destination_sample table logsum is calculated by running the mode_choice model for each sample (person, OD_id) pair in od_sample, and computing the logsum of all the utilities """ - chunk_tag = 'tour_od.logsums' - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) - origin_id_col = model_settings['ORIG_COL_NAME'] - dest_id_col = model_settings['DEST_COL_NAME'] + chunk_tag = "tour_od.logsums" + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) + origin_id_col = model_settings["ORIG_COL_NAME"] + dest_id_col = model_settings["DEST_COL_NAME"] tour_od_id_col = get_od_id_col(origin_id_col, dest_id_col) # FIXME - MEMORY HACK - only include columns actually used in spec - tours_merged_df = \ - logsum.filter_chooser_columns(tours_merged_df, logsum_settings, model_settings) + tours_merged_df = logsum.filter_chooser_columns( + tours_merged_df, logsum_settings, model_settings + ) # merge ods into choosers table - choosers = od_sample.join(tours_merged_df, how='left') - choosers[tour_od_id_col] = choosers[origin_id_col].astype(str) + '_' + choosers[dest_id_col].astype(str) + choosers = od_sample.join(tours_merged_df, how="left") + choosers[tour_od_id_col] = ( + choosers[origin_id_col].astype(str) + "_" + choosers[dest_id_col].astype(str) + ) logger.info("Running %s with %s rows", trace_label, len(choosers)) - tracing.dump_df(DUMP, choosers, trace_label, 'choosers') + tracing.dump_df(DUMP, choosers, trace_label, "choosers") # run trip mode choice to compute tour mode choice logsums - if logsum_settings.get('COMPUTE_TRIP_MODE_CHOICE_LOGSUMS', False): + if logsum_settings.get("COMPUTE_TRIP_MODE_CHOICE_LOGSUMS", False): pseudo_tours = choosers.copy() - trip_mode_choice_settings = config.read_model_settings('trip_mode_choice') + trip_mode_choice_settings = config.read_model_settings("trip_mode_choice") # tours_merged table doesn't yet have all the cols it needs to be called (e.g. # home_zone_id), so in order to compute tour mode choice/trip mode choice logsums # in this step we have to pass all tour-level attributes in with the main trips # table. see trip_mode_choice.py L56-61 for more details. - tour_cols_needed = trip_mode_choice_settings.get('TOURS_MERGED_CHOOSER_COLUMNS', []) + tour_cols_needed = trip_mode_choice_settings.get( + "TOURS_MERGED_CHOOSER_COLUMNS", [] + ) tour_cols_needed.append(tour_od_id_col) # from tour_mode_choice.py - not_university = (pseudo_tours.tour_type != 'school') | ~pseudo_tours.is_university - pseudo_tours['tour_purpose'] = \ - pseudo_tours.tour_type.where(not_university, 'univ') - - pseudo_tours['stop_frequency'] = '0out_0in' - pseudo_tours['primary_purpose'] = pseudo_tours['tour_purpose'] + not_university = ( + pseudo_tours.tour_type != "school" + ) | ~pseudo_tours.is_university + pseudo_tours["tour_purpose"] = pseudo_tours.tour_type.where( + not_university, "univ" + ) + + pseudo_tours["stop_frequency"] = "0out_0in" + pseudo_tours["primary_purpose"] = pseudo_tours["tour_purpose"] choosers_og_index = choosers.index.name pseudo_tours.reset_index(inplace=True) - pseudo_tours.index.name = 'unique_id' + pseudo_tours.index.name = "unique_id" # need dest_id_col to create dest col in trips, but need to preserve # tour dest as separate column in the trips table bc the trip mode choice # preprocessor isn't able to get the tour dest from the tours table bc the # tours don't yet have ODs. - stop_frequency_alts = inject.get_injectable('stop_frequency_alts') - pseudo_tours['tour_destination'] = pseudo_tours[dest_id_col] + stop_frequency_alts = inject.get_injectable("stop_frequency_alts") + pseudo_tours["tour_destination"] = pseudo_tours[dest_id_col] trips = trip.initialize_from_tours( - pseudo_tours, stop_frequency_alts, - [origin_id_col, dest_id_col, 'tour_destination', 'unique_id']) - outbound = trips['outbound'] - trips['depart'] = reindex(pseudo_tours.start, trips.unique_id) - trips.loc[~outbound, 'depart'] = reindex(pseudo_tours.end, trips.loc[~outbound, 'unique_id']) + pseudo_tours, + stop_frequency_alts, + [origin_id_col, dest_id_col, "tour_destination", "unique_id"], + ) + outbound = trips["outbound"] + trips["depart"] = reindex(pseudo_tours.start, trips.unique_id) + trips.loc[~outbound, "depart"] = reindex( + pseudo_tours.end, trips.loc[~outbound, "unique_id"] + ) logsum_trips = pd.DataFrame() nest_spec = config.get_logit_model_settings(logsum_settings) # actual coeffs dont matter here, just need them to load the nest structure coefficients = simulate.get_segment_coefficients( - logsum_settings, pseudo_tours.iloc[0]['tour_purpose']) - nest_spec = simulate.eval_nest_coefficients(nest_spec, coefficients, trace_label) + logsum_settings, pseudo_tours.iloc[0]["tour_purpose"] + ) + nest_spec = simulate.eval_nest_coefficients( + nest_spec, coefficients, trace_label + ) tour_mode_alts = [] for nest in logit.each_nest(nest_spec): if nest.is_leaf: @@ -716,41 +850,47 @@ def run_od_logsums( # repeat rows from the trips table iterating over tour mode for tour_mode in tour_mode_alts: - trips['tour_mode'] = tour_mode + trips["tour_mode"] = tour_mode logsum_trips = pd.concat((logsum_trips, trips), ignore_index=True) assert len(logsum_trips) == len(trips) * len(tour_mode_alts) - logsum_trips.index.name = 'trip_id' + logsum_trips.index.name = "trip_id" for col in tour_cols_needed: if col not in trips: logsum_trips[col] = reindex(pseudo_tours[col], logsum_trips.unique_id) - pipeline.replace_table('trips', logsum_trips) - tracing.register_traceable_table('trips', logsum_trips) - pipeline.get_rn_generator().add_channel('trips', logsum_trips) + pipeline.replace_table("trips", logsum_trips) + tracing.register_traceable_table("trips", logsum_trips) + pipeline.get_rn_generator().add_channel("trips", logsum_trips) # run trip mode choice on pseudo-trips. use orca instead of pipeline to # execute the step because pipeline can only handle one open step at a time - orca.run(['trip_mode_choice']) + orca.run(["trip_mode_choice"]) # grab trip mode choice logsums and pivot by tour mode and direction, index # on tour_id to enable merge back to choosers table - trips = inject.get_table('trips').to_frame() + trips = inject.get_table("trips").to_frame() trip_dir_mode_logsums = trips.pivot( - index=['tour_id', tour_od_id_col], columns=['tour_mode', 'outbound'], values='trip_mode_choice_logsum') + index=["tour_id", tour_od_id_col], + columns=["tour_mode", "outbound"], + values="trip_mode_choice_logsum", + ) new_cols = [ - '_'.join(['logsum', mode, 'outbound' if outbound else 'inbound']) - for mode, outbound in trip_dir_mode_logsums.columns] + "_".join(["logsum", mode, "outbound" if outbound else "inbound"]) + for mode, outbound in trip_dir_mode_logsums.columns + ] trip_dir_mode_logsums.columns = new_cols choosers.reset_index(inplace=True) - choosers.set_index(['tour_id', tour_od_id_col], inplace=True) - choosers = pd.merge(choosers, trip_dir_mode_logsums, left_index=True, right_index=True) + choosers.set_index(["tour_id", tour_od_id_col], inplace=True) + choosers = pd.merge( + choosers, trip_dir_mode_logsums, left_index=True, right_index=True + ) choosers.reset_index(inplace=True) choosers.set_index(choosers_og_index, inplace=True) - pipeline.get_rn_generator().drop_channel('trips') - tracing.deregister_traceable_table('trips') + pipeline.get_rn_generator().drop_channel("trips") + tracing.deregister_traceable_table("trips") assert (od_sample.index == choosers.index).all() for col in new_cols: @@ -764,66 +904,82 @@ def run_od_logsums( network_los, chunk_size, chunk_tag, - trace_label, 'end', 'start', 'duration') + trace_label, + "end", + "start", + "duration", + ) assert (od_sample.index == logsums.index).all() - od_sample['tour_mode_choice_logsum'] = logsums + od_sample["tour_mode_choice_logsum"] = logsums return od_sample def run_od_simulate( - spec_segment_name, - tours, - od_sample, - want_logsums, - model_settings, - network_los, - destination_size_terms, - estimator, - chunk_size, - trace_label): + spec_segment_name, + tours, + od_sample, + want_logsums, + model_settings, + network_los, + destination_size_terms, + estimator, + chunk_size, + trace_label, +): """ run simulate OD choices on tour_od_sample annotated with mode_choice logsum to select a tour OD from sample alternatives """ - model_spec = simulate.spec_for_segment(model_settings, spec_id='SPEC', - segment_name=spec_segment_name, estimator=estimator) + model_spec = simulate.spec_for_segment( + model_settings, + spec_id="SPEC", + segment_name=spec_segment_name, + estimator=estimator, + ) # merge persons into tours choosers = tours # FIXME - MEMORY HACK - only include columns actually used in spec - chooser_columns = model_settings['SIMULATE_CHOOSER_COLUMNS'] + chooser_columns = model_settings["SIMULATE_CHOOSER_COLUMNS"] choosers = choosers[chooser_columns] # interaction_sample requires that choosers.index.is_monotonic_increasing if not choosers.index.is_monotonic_increasing: - logger.debug(f"run_destination_simulate {trace_label} sorting choosers because not monotonic_increasing") + logger.debug( + f"run_destination_simulate {trace_label} sorting choosers because not monotonic_increasing" + ) choosers = choosers.sort_index() if estimator: estimator.write_choosers(choosers) - origin_col_name = model_settings['ORIG_COL_NAME'] - dest_col_name = model_settings['DEST_COL_NAME'] - alt_dest_col_name = model_settings['ALT_DEST_COL_NAME'] - origin_attr_cols = model_settings['ORIGIN_ATTR_COLS_TO_USE'] + origin_col_name = model_settings["ORIG_COL_NAME"] + dest_col_name = model_settings["DEST_COL_NAME"] + alt_dest_col_name = model_settings["ALT_DEST_COL_NAME"] + origin_attr_cols = model_settings["ORIGIN_ATTR_COLS_TO_USE"] alt_od_col_name = get_od_id_col(origin_col_name, dest_col_name) - od_sample[alt_od_col_name] = create_od_id_col(od_sample, origin_col_name, dest_col_name) + od_sample[alt_od_col_name] = create_od_id_col( + od_sample, origin_col_name, dest_col_name + ) # alternatives are pre-sampled and annotated with logsums and pick_count # but we have to merge size_terms column into alt sample list - od_sample['size_term'] = \ - reindex(destination_size_terms.size_term, od_sample[alt_dest_col_name]) + od_sample["size_term"] = reindex( + destination_size_terms.size_term, od_sample[alt_dest_col_name] + ) # also have to add origin attribute columns - lu = inject.get_table('land_use').to_frame(columns=origin_attr_cols) - od_sample = pd.merge(od_sample, lu, left_on=origin_col_name, right_index=True, how='left') + lu = inject.get_table("land_use").to_frame(columns=origin_attr_cols) + od_sample = pd.merge( + od_sample, lu, left_on=origin_col_name, right_index=True, how="left" + ) - tracing.dump_df(DUMP, od_sample, trace_label, 'alternatives') + tracing.dump_df(DUMP, od_sample, trace_label, "alternatives") constants = config.get_model_constants(model_settings) @@ -836,12 +992,12 @@ def run_od_simulate( skims = skim_dict.wrap(origin_col_name, dest_col_name) locals_d = { - 'skims': skims, + "skims": skims, } if constants is not None: locals_d.update(constants) - tracing.dump_df(DUMP, choosers, trace_label, 'choosers') + tracing.dump_df(DUMP, choosers, trace_label, "choosers") choices = interaction_sample_simulate( choosers, od_sample, @@ -852,11 +1008,12 @@ def run_od_simulate( locals_d=locals_d, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='origin_destination', - estimator=estimator) + trace_choice_name="origin_destination", + estimator=estimator, + ) if not want_logsums: - choices = choices.to_frame('choice') + choices = choices.to_frame("choice") choices = _get_od_cols_from_od_id(choices, origin_col_name, dest_col_name) @@ -864,23 +1021,26 @@ def run_od_simulate( def run_tour_od( - tours, - persons, - want_logsums, - want_sample_table, - model_settings, - network_los, - estimator, - chunk_size, trace_hh_id, trace_label): - - size_term_calculator = SizeTermCalculator(model_settings['SIZE_TERM_SELECTOR']) - preprocessor_settings = model_settings.get('preprocessor', None) - origin_col_name = model_settings['ORIG_COL_NAME'] - - chooser_segment_column = model_settings['CHOOSER_SEGMENT_COLUMN_NAME'] + tours, + persons, + want_logsums, + want_sample_table, + model_settings, + network_los, + estimator, + chunk_size, + trace_hh_id, + trace_label, +): + + size_term_calculator = SizeTermCalculator(model_settings["SIZE_TERM_SELECTOR"]) + preprocessor_settings = model_settings.get("preprocessor", None) + origin_col_name = model_settings["ORIG_COL_NAME"] + + chooser_segment_column = model_settings["CHOOSER_SEGMENT_COLUMN_NAME"] # maps segment names to compact (integer) ids - segments = model_settings['SEGMENTS'] + segments = model_settings["SEGMENTS"] # interaction_sample_simulate insists choosers appear in same order as alts tours = tours.sort_index() @@ -892,76 +1052,91 @@ def run_tour_od( choosers = tours[tours[chooser_segment_column] == segment_name] choosers = pd.merge( - choosers, persons.to_frame(columns=['is_university', 'demographic_segment']), - left_on='person_id', right_index=True) + choosers, + persons.to_frame(columns=["is_university", "demographic_segment"]), + left_on="person_id", + right_index=True, + ) # - annotate choosers if preprocessor_settings: expressions.assign_columns( df=choosers, model_settings=preprocessor_settings, - trace_label=trace_label) + trace_label=trace_label, + ) # size_term segment is segment_name - segment_destination_size_terms = size_term_calculator.dest_size_terms_df(segment_name, trace_label) + segment_destination_size_terms = size_term_calculator.dest_size_terms_df( + segment_name, trace_label + ) if choosers.shape[0] == 0: - logger.info("%s skipping segment %s: no choosers", trace_label, segment_name) + logger.info( + "%s skipping segment %s: no choosers", trace_label, segment_name + ) continue # - od_sample spec_segment_name = segment_name # spec_segment_name is segment_name - od_sample_df = \ - run_od_sample( - spec_segment_name, - choosers, - model_settings, - network_los, - segment_destination_size_terms, - estimator, - chunk_size=chunk_size, - trace_label=tracing.extend_trace_label( - trace_label, 'sample.%s' % segment_name)) - - if model_settings['ORIG_FILTER'] == 'original_MAZ > 0': + od_sample_df = run_od_sample( + spec_segment_name, + choosers, + model_settings, + network_los, + segment_destination_size_terms, + estimator, + chunk_size=chunk_size, + trace_label=tracing.extend_trace_label( + trace_label, "sample.%s" % segment_name + ), + ) + + if model_settings["ORIG_FILTER"] == "original_MAZ > 0": pass - elif model_settings['ORIG_FILTER'] == 'external_TAZ > 0': + elif model_settings["ORIG_FILTER"] == "external_TAZ > 0": # sampled alts using internal mazs, so now we # have to convert to using the external tazs od_sample_df[origin_col_name] = map_maz_to_ext_maz( - od_sample_df[origin_col_name]) + od_sample_df[origin_col_name] + ) else: raise ValueError( - 'Not sure how you identified tour origins but you probably need ' - 'to choose a different ORIG_FILTER setting') + "Not sure how you identified tour origins but you probably need " + "to choose a different ORIG_FILTER setting" + ) # - destination_logsums - od_sample_df = \ - run_od_logsums( - spec_segment_name, - choosers, - od_sample_df, - model_settings, - network_los, - estimator, - chunk_size=chunk_size, - trace_hh_id=trace_hh_id, - trace_label=tracing.extend_trace_label(trace_label, 'logsums.%s' % segment_name)) + od_sample_df = run_od_logsums( + spec_segment_name, + choosers, + od_sample_df, + model_settings, + network_los, + estimator, + chunk_size=chunk_size, + trace_hh_id=trace_hh_id, + trace_label=tracing.extend_trace_label( + trace_label, "logsums.%s" % segment_name + ), + ) # - od_simulate - choices = \ - run_od_simulate( - spec_segment_name, - choosers, - od_sample_df, - want_logsums=want_logsums, - model_settings=model_settings, - network_los=network_los, - destination_size_terms=segment_destination_size_terms, - estimator=estimator, - chunk_size=chunk_size, - trace_label=tracing.extend_trace_label(trace_label, 'simulate.%s' % segment_name)) + choices = run_od_simulate( + spec_segment_name, + choosers, + od_sample_df, + want_logsums=want_logsums, + model_settings=model_settings, + network_los=network_los, + destination_size_terms=segment_destination_size_terms, + estimator=estimator, + chunk_size=chunk_size, + trace_label=tracing.extend_trace_label( + trace_label, "simulate.%s" % segment_name + ), + ) choices_list.append(choices) if estimator: @@ -969,7 +1144,9 @@ def run_tour_od( if want_sample_table: # FIXME - sample_table - od_sample_df.set_index(model_settings['ALT_DEST_COL_NAME'], append=True, inplace=True) + od_sample_df.set_index( + model_settings["ALT_DEST_COL_NAME"], append=True, inplace=True + ) sample_list.append(od_sample_df) # FIXME - want to do this here? diff --git a/activitysim/abm/models/util/tour_scheduling.py b/activitysim/abm/models/util/tour_scheduling.py index d482410280..5936ae81e0 100644 --- a/activitysim/abm/models/util/tour_scheduling.py +++ b/activitysim/abm/models/util/tour_scheduling.py @@ -4,11 +4,7 @@ import pandas as pd -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import expressions +from activitysim.core import config, expressions, inject, simulate, tracing from . import estimation from . import vectorize_tour_scheduling as vts @@ -16,57 +12,70 @@ logger = logging.getLogger(__name__) -def run_tour_scheduling(model_name, chooser_tours, persons_merged, tdd_alts, tour_segment_col, chunk_size, trace_hh_id): +def run_tour_scheduling( + model_name, + chooser_tours, + persons_merged, + tdd_alts, + tour_segment_col, + chunk_size, + trace_hh_id, +): trace_label = model_name - model_settings_file_name = f'{model_name}.yaml' + model_settings_file_name = f"{model_name}.yaml" model_settings = config.read_model_settings(model_settings_file_name) - if 'LOGSUM_SETTINGS' in model_settings: - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) - logsum_columns = logsum_settings.get('LOGSUM_CHOOSER_COLUMNS', []) + if "LOGSUM_SETTINGS" in model_settings: + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) + logsum_columns = logsum_settings.get("LOGSUM_CHOOSER_COLUMNS", []) else: logsum_columns = [] # - filter chooser columns for both logsums and simulate - model_columns = model_settings.get('SIMULATE_CHOOSER_COLUMNS', []) - chooser_columns = logsum_columns + [c for c in model_columns if c not in logsum_columns] + model_columns = model_settings.get("SIMULATE_CHOOSER_COLUMNS", []) + chooser_columns = logsum_columns + [ + c for c in model_columns if c not in logsum_columns + ] persons_merged = expressions.filter_chooser_columns(persons_merged, chooser_columns) timetable = inject.get_injectable("timetable") # - run preprocessor to annotate choosers - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: - locals_d = { - 'tt': timetable - } + locals_d = {"tt": timetable} locals_d.update(config.get_model_constants(model_settings)) expressions.assign_columns( df=chooser_tours, model_settings=preprocessor_settings, locals_dict=locals_d, - trace_label=trace_label) + trace_label=trace_label, + ) estimators = {} - if 'TOUR_SPEC_SEGMENTS' in model_settings: + if "TOUR_SPEC_SEGMENTS" in model_settings: # load segmented specs - spec_segment_settings = model_settings.get('SPEC_SEGMENTS', {}) + spec_segment_settings = model_settings.get("SPEC_SEGMENTS", {}) specs = {} for spec_segment_name, spec_settings in spec_segment_settings.items(): - bundle_name = f'{model_name}_{spec_segment_name}' + bundle_name = f"{model_name}_{spec_segment_name}" # estimator for this tour_segment - estimator = estimation.manager.begin_estimation(model_name=bundle_name, bundle_name=bundle_name) + estimator = estimation.manager.begin_estimation( + model_name=bundle_name, bundle_name=bundle_name + ) - spec_file_name = spec_settings['SPEC'] + spec_file_name = spec_settings["SPEC"] model_spec = simulate.read_model_spec(file_name=spec_file_name) coefficients_df = simulate.read_model_coefficients(spec_settings) - specs[spec_segment_name] = simulate.eval_coefficients(model_spec, coefficients_df, estimator) + specs[spec_segment_name] = simulate.eval_coefficients( + model_spec, coefficients_df, estimator + ) if estimator: estimators[spec_segment_name] = estimator # add to local list @@ -75,27 +84,29 @@ def run_tour_scheduling(model_name, chooser_tours, persons_merged, tdd_alts, tou estimator.write_coefficients(coefficients_df, spec_settings) # - spec dict segmented by primary_purpose - tour_segment_settings = model_settings.get('TOUR_SPEC_SEGMENTS', {}) + tour_segment_settings = model_settings.get("TOUR_SPEC_SEGMENTS", {}) tour_segments = {} for tour_segment_name, spec_segment_name in tour_segment_settings.items(): tour_segments[tour_segment_name] = {} - tour_segments[tour_segment_name]['spec_segment_name'] = spec_segment_name - tour_segments[tour_segment_name]['spec'] = specs[spec_segment_name] - tour_segments[tour_segment_name]['estimator'] = estimators.get(spec_segment_name) + tour_segments[tour_segment_name]["spec_segment_name"] = spec_segment_name + tour_segments[tour_segment_name]["spec"] = specs[spec_segment_name] + tour_segments[tour_segment_name]["estimator"] = estimators.get( + spec_segment_name + ) # default tour_segment_col to 'tour_type' if segmented spec and tour_segment_col not specified if tour_segment_col is None and tour_segments: - tour_segment_col = 'tour_type' + tour_segment_col = "tour_type" else: # unsegmented spec - assert 'SPEC_SEGMENTS' not in model_settings - assert 'TOUR_SPEC_SEGMENTS' not in model_settings + assert "SPEC_SEGMENTS" not in model_settings + assert "TOUR_SPEC_SEGMENTS" not in model_settings assert tour_segment_col is None estimator = estimation.manager.begin_estimation(model_name) - spec_file_name = model_settings['SPEC'] + spec_file_name = model_settings["SPEC"] model_spec = simulate.read_model_spec(file_name=spec_file_name) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) @@ -107,22 +118,23 @@ def run_tour_scheduling(model_name, chooser_tours, persons_merged, tdd_alts, tou estimator.write_coefficients(coefficients_df, model_settings) # - non_mandatory tour scheduling is not segmented by tour type - tour_segments = { - 'spec': model_spec, - 'estimator': estimator - } + tour_segments = {"spec": model_spec, "estimator": estimator} if estimators: timetable.begin_transaction(list(estimators.values())) logger.info(f"Running {model_name} with %d tours", len(chooser_tours)) choices = vts.vectorize_tour_scheduling( - chooser_tours, persons_merged, - tdd_alts, timetable, - tour_segments=tour_segments, tour_segment_col=tour_segment_col, + chooser_tours, + persons_merged, + tdd_alts, + timetable, + tour_segments=tour_segments, + tour_segment_col=tour_segment_col, model_settings=model_settings, chunk_size=chunk_size, - trace_label=trace_label) + trace_label=trace_label, + ) if estimators: # overrride choices for all estimators @@ -134,7 +146,9 @@ def run_tour_scheduling(model_name, chooser_tours, persons_merged, tdd_alts, tou model_choices = choices estimator.write_choices(model_choices) - override_choices = estimator.get_survey_values(model_choices, 'tours', 'tdd') + override_choices = estimator.get_survey_values( + model_choices, "tours", "tdd" + ) estimator.write_override_choices(override_choices) choices_list.append(override_choices) @@ -143,13 +157,18 @@ def run_tour_scheduling(model_name, chooser_tours, persons_merged, tdd_alts, tou # update timetable to reflect the override choices (assign tours in tour_num order) timetable.rollback() - for tour_num, nth_tours in chooser_tours.groupby('tour_num', sort=True): - timetable.assign(window_row_ids=nth_tours['person_id'], tdds=choices.reindex(nth_tours.index)) + for tour_num, nth_tours in chooser_tours.groupby("tour_num", sort=True): + timetable.assign( + window_row_ids=nth_tours["person_id"], + tdds=choices.reindex(nth_tours.index), + ) timetable.replace_table() # choices are tdd alternative ids # we want to add start, end, and duration columns to tours, which we have in tdd_alts table - choices = pd.merge(choices.to_frame('tdd'), tdd_alts, left_on=['tdd'], right_index=True, how='left') + choices = pd.merge( + choices.to_frame("tdd"), tdd_alts, left_on=["tdd"], right_index=True, how="left" + ) return choices diff --git a/activitysim/abm/models/util/trip.py b/activitysim/abm/models/util/trip.py index 6c74b6cbcd..870801e276 100644 --- a/activitysim/abm/models/util/trip.py +++ b/activitysim/abm/models/util/trip.py @@ -1,13 +1,13 @@ # ActivitySim # See full license in LICENSE.txt. import logging -import pandas as pd + import numpy as np +import pandas as pd +from activitysim.abm.models.util.canonical_ids import set_trip_index from activitysim.core import config, inject from activitysim.core.util import assign_in_place, reindex -from activitysim.abm.models.util.canonical_ids import set_trip_index - logger = logging.getLogger(__name__) @@ -15,12 +15,14 @@ def failed_trip_cohorts(trips, failed): # outbound trips in a tour with a failed outbound trip - bad_outbound_trips = \ - trips.outbound & (trips.tour_id.isin(trips.tour_id[failed & trips.outbound])) + bad_outbound_trips = trips.outbound & ( + trips.tour_id.isin(trips.tour_id[failed & trips.outbound]) + ) # inbound trips in a tour with a failed inbound trip - bad_inbound_trips = \ - ~trips.outbound & (trips.tour_id.isin(trips.tour_id[failed & ~trips.outbound])) + bad_inbound_trips = ~trips.outbound & ( + trips.tour_id.isin(trips.tour_id[failed & ~trips.outbound]) + ) bad_trips = bad_outbound_trips | bad_inbound_trips @@ -32,7 +34,9 @@ def flag_failed_trip_leg_mates(trips_df, col_name): set boolean flag column of specified name to identify failed trip leg_mates in place """ - failed_trip_leg_mates = failed_trip_cohorts(trips_df, trips_df.failed) & ~trips_df.failed + failed_trip_leg_mates = ( + failed_trip_cohorts(trips_df, trips_df.failed) & ~trips_df.failed + ) trips_df.loc[failed_trip_leg_mates, col_name] = True # handle outbound and inbound legs independently @@ -57,10 +61,12 @@ def cleanup_failed_trips(trips): """ if trips.failed.any(): - logger.warning("cleanup_failed_trips dropping %s failed trips" % trips.failed.sum()) + logger.warning( + "cleanup_failed_trips dropping %s failed trips" % trips.failed.sum() + ) - trips['patch'] = False - flag_failed_trip_leg_mates(trips, 'patch') + trips["patch"] = False + flag_failed_trip_leg_mates(trips, "patch") # drop the original failures trips = trips[~trips.failed] @@ -69,16 +75,26 @@ def cleanup_failed_trips(trips): patch_trips = trips[trips.patch].sort_index() # recompute fields dependent on trip_num sequence - grouped = patch_trips.groupby(['tour_id', 'outbound']) - patch_trips['trip_num'] = grouped.cumcount() + 1 + grouped = patch_trips.groupby(["tour_id", "outbound"]) + patch_trips["trip_num"] = grouped.cumcount() + 1 # FIXME - 'clever' hack to avoid regroup - implementation dependent optimization that could change - patch_trips['trip_count'] = patch_trips['trip_num'] + grouped.cumcount(ascending=False) + patch_trips["trip_count"] = patch_trips["trip_num"] + grouped.cumcount( + ascending=False + ) - assign_in_place(trips, patch_trips[['trip_num', 'trip_count']]) + assign_in_place(trips, patch_trips[["trip_num", "trip_count"]]) - del trips['patch'] + # origin needs to match the previous destination + # (leaving first origin alone as it's already set correctly) + trips["origin"] = np.where( + (trips["trip_num"] == 1) & (trips["outbound"] == True), + trips["origin"], + trips.groupby("tour_id")["destination"].shift(), + ).astype(int) - del trips['failed'] + del trips["patch"] + + del trips["failed"] return trips @@ -92,20 +108,25 @@ def generate_alternative_sizes(max_duration, max_trips): :param max_trips: :return: """ + def np_shift(xs, n, fill_zero=True): if n >= 0: shift_array = np.concatenate((np.full(n, np.nan), xs[:-n])) else: shift_array = np.concatenate((xs[-n:], np.full(-n, np.nan))) - return np.nan_to_num(shift_array, np.nan).astype(int) if fill_zero else shift_array + return ( + np.nan_to_num(shift_array, np.nan).astype(int) if fill_zero else shift_array + ) levels = np.empty([max_trips, max_duration + max_trips]) levels[0] = np.arange(1, max_duration + max_trips + 1) for level in np.arange(1, max_trips): - levels[level] = np_shift(np.cumsum(np_shift(levels[level - 1], 1)), -1, fill_zero=False) + levels[level] = np_shift( + np.cumsum(np_shift(levels[level - 1], 1)), -1, fill_zero=False + ) - return levels[:, :max_duration+1].astype(int) + return levels[:, : max_duration + 1].astype(int) def get_time_windows(residual, level): @@ -130,9 +151,9 @@ def get_time_windows(residual, level): @inject.injectable() def stop_frequency_alts(): # alt file for building trips even though simulation is simple_simulate not interaction_simulate - file_path = config.config_file_path('stop_frequency_alternatives.csv') - df = pd.read_csv(file_path, comment='#') - df.set_index('alt', inplace=True) + file_path = config.config_file_path("stop_frequency_alternatives.csv") + df = pd.read_csv(file_path, comment="#") + df.set_index("alt", inplace=True) return df @@ -142,7 +163,7 @@ def initialize_from_tours(tours, stop_frequency_alts, addtl_tour_cols_to_preserv tour origin, tour destination. """ - OUTBOUND_ALT = 'out' + OUTBOUND_ALT = "out" assert OUTBOUND_ALT in stop_frequency_alts.columns # get the actual alternatives for each person - have to go back to the @@ -171,13 +192,13 @@ def initialize_from_tours(tours, stop_frequency_alts, addtl_tour_cols_to_preserv # reformat with the columns given below trips = trips.stack().reset_index() - trips.columns = ['tour_temp_index', 'direction', 'trip_count'] + trips.columns = ["tour_temp_index", "direction", "trip_count"] # tours legs have one more trip than stop trips.trip_count += 1 # prefer direction as boolean - trips['outbound'] = trips.direction == OUTBOUND_ALT + trips["outbound"] = trips.direction == OUTBOUND_ALT """ tour_temp_index direction trip_count outbound @@ -192,12 +213,14 @@ def initialize_from_tours(tours, stop_frequency_alts, addtl_tour_cols_to_preserv trips = trips.take(np.repeat(trips.index.values, trips.trip_count.values)) trips = trips.reset_index(drop=True) - grouped = trips.groupby(['tour_temp_index', 'outbound']) - trips['trip_num'] = grouped.cumcount() + 1 + grouped = trips.groupby(["tour_temp_index", "outbound"]) + trips["trip_num"] = grouped.cumcount() + 1 - trips['person_id'] = reindex(unique_tours.person_id, trips.tour_temp_index) - trips['household_id'] = reindex(unique_tours.household_id, trips.tour_temp_index) - trips['primary_purpose'] = reindex(unique_tours.primary_purpose, trips.tour_temp_index) + trips["person_id"] = reindex(unique_tours.person_id, trips.tour_temp_index) + trips["household_id"] = reindex(unique_tours.household_id, trips.tour_temp_index) + trips["primary_purpose"] = reindex( + unique_tours.primary_purpose, trips.tour_temp_index + ) if addtl_tour_cols_to_preserve is None: addtl_tour_cols_to_preserve = [] @@ -205,8 +228,18 @@ def initialize_from_tours(tours, stop_frequency_alts, addtl_tour_cols_to_preserv trips[col] = reindex(unique_tours[col], trips.tour_temp_index) # reorder columns and drop 'direction' - trips = trips[['person_id', 'household_id', 'tour_temp_index', 'primary_purpose', - 'trip_num', 'outbound', 'trip_count'] + addtl_tour_cols_to_preserve] + trips = trips[ + [ + "person_id", + "household_id", + "tour_temp_index", + "primary_purpose", + "trip_num", + "outbound", + "trip_count", + ] + + addtl_tour_cols_to_preserve + ] """ person_id household_id tour_temp_index primary_purpose trip_num outbound trip_count @@ -221,26 +254,31 @@ def initialize_from_tours(tours, stop_frequency_alts, addtl_tour_cols_to_preserv """ # previously in trip_destination.py - tour_destination = reindex(unique_tours.destination, trips.tour_temp_index).astype(np.int64) + tour_destination = reindex(unique_tours.destination, trips.tour_temp_index).astype( + np.int64 + ) tour_origin = reindex(unique_tours.origin, trips.tour_temp_index).astype(np.int64) - trips['destination'] = np.where(trips.outbound, tour_destination, tour_origin) - trips['origin'] = np.where(trips.outbound, tour_origin, tour_destination) - trips['failed'] = False + trips["destination"] = np.where(trips.outbound, tour_destination, tour_origin) + trips["origin"] = np.where(trips.outbound, tour_origin, tour_destination) + trips["failed"] = False # replace temp tour identifier with tour_id - trips['tour_id'] = reindex(unique_tours.tour_id, trips.tour_temp_index) + trips["tour_id"] = reindex(unique_tours.tour_id, trips.tour_temp_index) # trip ids are generated based on unique combination of `tour_id`, `outbound`, # and `trip_num`. When pseudo-trips are generated from pseudo-tours for the # purposes of computing logsums, `tour_id` won't be unique on `outbound` and # `trip_num`, so we use `tour_temp_index` instead. this will only be the case # when generating temporary pseudo-trips which won't get saved as outputs. - if trips.groupby(['tour_id', 'outbound', 'trip_num'])['person_id'].count().max() > 1: - trip_index_tour_id = 'tour_temp_index' + if ( + trips.groupby(["tour_id", "outbound", "trip_num"])["person_id"].count().max() + > 1 + ): + trip_index_tour_id = "tour_temp_index" else: - trip_index_tour_id = 'tour_id' + trip_index_tour_id = "tour_id" set_trip_index(trips, trip_index_tour_id) - del trips['tour_temp_index'] + del trips["tour_temp_index"] return trips diff --git a/activitysim/abm/models/util/vectorize_tour_scheduling.py b/activitysim/abm/models/util/vectorize_tour_scheduling.py index 199059e2af..b7698ae11d 100644 --- a/activitysim/abm/models/util/vectorize_tour_scheduling.py +++ b/activitysim/abm/models/util/vectorize_tour_scheduling.py @@ -5,28 +5,25 @@ import numpy as np import pandas as pd -from activitysim.core.interaction_sample_simulate import interaction_sample_simulate -from activitysim.core import config -from activitysim.core import tracing -from activitysim.core import inject -from activitysim.core import mem - -from activitysim.core import chunk -from activitysim.core import simulate -from activitysim.core import logit -from activitysim.core import los - +from activitysim.core import ( + chunk, + config, + expressions, + inject, + logit, + los, + mem, + simulate, +) from activitysim.core import timetable as tt - -from activitysim.core.util import reindex -from activitysim.core import expressions - +from activitysim.core import tracing +from activitysim.core.interaction_sample_simulate import interaction_sample_simulate from activitysim.core.pathbuilder import TransitVirtualPathBuilder - +from activitysim.core.util import reindex logger = logging.getLogger(__name__) -TDD_CHOICE_COLUMN = 'tdd' +TDD_CHOICE_COLUMN = "tdd" USE_BRUTE_FORCE_TO_COMPUTE_LOGSUMS = False RUN_ALTS_PREPROCESSOR_BEFORE_MERGE = True # see FIXME below before changing this @@ -34,30 +31,36 @@ def skims_for_logsums(tour_purpose, model_settings, trace_label): - assert 'LOGSUM_SETTINGS' in model_settings + assert "LOGSUM_SETTINGS" in model_settings - network_los = inject.get_injectable('network_los') + network_los = inject.get_injectable("network_los") skim_dict = network_los.get_default_skim_dict() - orig_col_name = 'home_zone_id' + orig_col_name = "home_zone_id" - destination_for_tour_purpose = model_settings.get('DESTINATION_FOR_TOUR_PURPOSE') + destination_for_tour_purpose = model_settings.get("DESTINATION_FOR_TOUR_PURPOSE") if isinstance(destination_for_tour_purpose, str): dest_col_name = destination_for_tour_purpose elif isinstance(destination_for_tour_purpose, dict): dest_col_name = destination_for_tour_purpose.get(tour_purpose) else: - raise RuntimeError(f"expected string or dict DESTINATION_FOR_TOUR_PURPOSE model_setting for {tour_purpose}") - - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='out_period') - dot_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='in_period') - odr_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='in_period') - dor_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='out_period') + raise RuntimeError( + f"expected string or dict DESTINATION_FOR_TOUR_PURPOSE model_setting for {tour_purpose}" + ) + + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="out_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="in_period" + ) + odr_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="in_period" + ) + dor_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="out_period" + ) od_skim_stack_wrapper = skim_dict.wrap(orig_col_name, dest_col_name) skims = { @@ -66,40 +69,53 @@ def skims_for_logsums(tour_purpose, model_settings, trace_label): "odr_skims": odr_skim_stack_wrapper, "dor_skims": dor_skim_stack_wrapper, "od_skims": od_skim_stack_wrapper, - 'orig_col_name': orig_col_name, - 'dest_col_name': dest_col_name, + "orig_col_name": orig_col_name, + "dest_col_name": dest_col_name, } if network_los.zone_system == los.THREE_ZONE: # fixme - is this a lightweight object? tvpb = network_los.tvpb - tvpb_logsum_odt = tvpb.wrap_logsum(orig_key=orig_col_name, dest_key=dest_col_name, - tod_key='out_period', segment_key='demographic_segment', - trace_label=trace_label, tag='tvpb_logsum_odt') - tvpb_logsum_dot = tvpb.wrap_logsum(orig_key=dest_col_name, dest_key=orig_col_name, - tod_key='in_period', segment_key='demographic_segment', - trace_label=trace_label, tag='tvpb_logsum_dot') - - skims.update({ - 'tvpb_logsum_odt': tvpb_logsum_odt, - 'tvpb_logsum_dot': tvpb_logsum_dot - }) + tvpb_logsum_odt = tvpb.wrap_logsum( + orig_key=orig_col_name, + dest_key=dest_col_name, + tod_key="out_period", + segment_key="demographic_segment", + trace_label=trace_label, + tag="tvpb_logsum_odt", + ) + tvpb_logsum_dot = tvpb.wrap_logsum( + orig_key=dest_col_name, + dest_key=orig_col_name, + tod_key="in_period", + segment_key="demographic_segment", + trace_label=trace_label, + tag="tvpb_logsum_dot", + ) + + skims.update( + {"tvpb_logsum_odt": tvpb_logsum_odt, "tvpb_logsum_dot": tvpb_logsum_dot} + ) return skims -def _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, network_los, skims, trace_label): +def _compute_logsums( + alt_tdd, tours_merged, tour_purpose, model_settings, network_los, skims, trace_label +): """ compute logsums for tours using skims for alt_tdd out_period and in_period """ - trace_label = tracing.extend_trace_label(trace_label, 'logsums') + trace_label = tracing.extend_trace_label(trace_label, "logsums") with chunk.chunk_log(trace_label): - logsum_settings = config.read_model_settings(model_settings['LOGSUM_SETTINGS']) - choosers = alt_tdd.join(tours_merged, how='left', rsuffix='_chooser') - logger.info(f"{trace_label} compute_logsums for {choosers.shape[0]} choosers {alt_tdd.shape[0]} alts") + logsum_settings = config.read_model_settings(model_settings["LOGSUM_SETTINGS"]) + choosers = alt_tdd.join(tours_merged, how="left", rsuffix="_chooser") + logger.info( + f"{trace_label} compute_logsums for {choosers.shape[0]} choosers {alt_tdd.shape[0]} alts" + ) # - locals_dict constants = config.get_model_constants(logsum_settings) @@ -108,7 +124,9 @@ def _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, networ if network_los.zone_system == los.THREE_ZONE: # TVPB constants can appear in expressions - locals_dict.update(network_los.setting('TVPB_SETTINGS.tour_mode_choice.CONSTANTS')) + locals_dict.update( + network_los.setting("TVPB_SETTINGS.tour_mode_choice.CONSTANTS") + ) locals_dict.update(skims) @@ -118,7 +136,7 @@ def _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, networ # - run preprocessor to annotate choosers # allow specification of alternate preprocessor for nontour choosers - preprocessor = model_settings.get('LOGSUM_PREPROCESSOR', 'preprocessor') + preprocessor = model_settings.get("LOGSUM_PREPROCESSOR", "preprocessor") preprocessor_settings = logsum_settings[preprocessor] if preprocessor_settings: @@ -129,14 +147,19 @@ def _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, networ df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) # - compute logsums - logsum_spec = simulate.read_model_spec(file_name=logsum_settings['SPEC']) - logsum_spec = simulate.eval_coefficients(logsum_spec, coefficients, estimator=None) + logsum_spec = simulate.read_model_spec(file_name=logsum_settings["SPEC"]) + logsum_spec = simulate.eval_coefficients( + logsum_spec, coefficients, estimator=None + ) nest_spec = config.get_logit_model_settings(logsum_settings) - nest_spec = simulate.eval_nest_coefficients(nest_spec, coefficients, trace_label) + nest_spec = simulate.eval_nest_coefficients( + nest_spec, coefficients, trace_label + ) logsums = simulate.simple_simulate_logsums( choosers, @@ -145,98 +168,137 @@ def _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, networ skims=skims, locals_d=locals_dict, chunk_size=0, - trace_label=trace_label) + trace_label=trace_label, + ) return logsums def dedupe_alt_tdd(alt_tdd, tour_purpose, trace_label): - tdd_segments = inject.get_injectable('tdd_alt_segments', None) + tdd_segments = inject.get_injectable("tdd_alt_segments", None) alt_tdd_periods = None logger.info(f"tdd_alt_segments specified for representative logsums") - with chunk.chunk_log(tracing.extend_trace_label(trace_label, 'dedupe_alt_tdd')): + with chunk.chunk_log(tracing.extend_trace_label(trace_label, "dedupe_alt_tdd")): if tdd_segments is not None: - dedupe_columns = ['out_period', 'in_period'] + dedupe_columns = ["out_period", "in_period"] # tdd_alt_segments is optionally segmented by tour purpose - if 'tour_purpose' in tdd_segments: + if "tour_purpose" in tdd_segments: - is_tdd_for_tour_purpose = (tdd_segments.tour_purpose == tour_purpose) + is_tdd_for_tour_purpose = tdd_segments.tour_purpose == tour_purpose if not is_tdd_for_tour_purpose.any(): is_tdd_for_tour_purpose = tdd_segments.tour_purpose.isnull() - assert is_tdd_for_tour_purpose.any(), \ - f"no segments found for tour purpose {tour_purpose} in tour_departure_and_duration_segments" + assert ( + is_tdd_for_tour_purpose.any() + ), f"no segments found for tour purpose {tour_purpose} in tour_departure_and_duration_segments" - tdd_segments = tdd_segments[is_tdd_for_tour_purpose].drop(columns=['tour_purpose']) - assert len(tdd_segments) > 0, f"tour_purpose '{tour_purpose}' not in tdd_alt_segments" + tdd_segments = tdd_segments[is_tdd_for_tour_purpose].drop( + columns=["tour_purpose"] + ) + assert ( + len(tdd_segments) > 0 + ), f"tour_purpose '{tour_purpose}' not in tdd_alt_segments" # left join representative start on out_period - alt_tdd_periods = \ - pd.merge(alt_tdd[['out_period', 'in_period']].reset_index(), - tdd_segments[['time_period', 'start']].rename(columns={'time_period': 'out_period'}), - how='left', on='out_period') + alt_tdd_periods = pd.merge( + alt_tdd[["out_period", "in_period"]].reset_index(), + tdd_segments[["time_period", "start"]].rename( + columns={"time_period": "out_period"} + ), + how="left", + on="out_period", + ) chunk.log_df(trace_label, "alt_tdd_periods", alt_tdd_periods) # left join representative end on in_period - alt_tdd_periods = \ - pd.merge(alt_tdd_periods, - tdd_segments[['time_period', 'end']].rename(columns={'time_period': 'in_period'}), - how='left', on=['in_period']) + alt_tdd_periods = pd.merge( + alt_tdd_periods, + tdd_segments[["time_period", "end"]].rename( + columns={"time_period": "in_period"} + ), + how="left", + on=["in_period"], + ) chunk.log_df(trace_label, "alt_tdd_periods", alt_tdd_periods) if tdd_segments.start.isnull().any(): - missing_periods = tdd_segments.out_period[tdd_segments.start.isnull()].unique() - logger.warning(f"missing out_periods in tdd_alt_segments: {missing_periods}") + missing_periods = tdd_segments.out_period[ + tdd_segments.start.isnull() + ].unique() + logger.warning( + f"missing out_periods in tdd_alt_segments: {missing_periods}" + ) if tdd_segments.end.isnull().any(): - missing_periods = tdd_segments.in_period[tdd_segments.end.isnull()].unique() - logger.warning(f"missing in_periods in tdd_alt_segments: {missing_periods}") + missing_periods = tdd_segments.in_period[ + tdd_segments.end.isnull() + ].unique() + logger.warning( + f"missing in_periods in tdd_alt_segments: {missing_periods}" + ) assert not tdd_segments.start.isnull().any() assert not tdd_segments.end.isnull().any() # drop duplicates - alt_tdd_periods = alt_tdd_periods.drop_duplicates().set_index(alt_tdd.index.name) + alt_tdd_periods = alt_tdd_periods.drop_duplicates().set_index( + alt_tdd.index.name + ) chunk.log_df(trace_label, "alt_tdd_periods", alt_tdd_periods) # representative duration - alt_tdd_periods['duration'] = alt_tdd_periods['end'] - alt_tdd_periods['start'] + alt_tdd_periods["duration"] = ( + alt_tdd_periods["end"] - alt_tdd_periods["start"] + ) chunk.log_df(trace_label, "alt_tdd_periods", alt_tdd_periods) - logger.debug(f"{trace_label} " - f"dedupe_alt_tdd.tdd_alt_segments reduced number of rows by " - f"{round(100 * (len(alt_tdd) - len(alt_tdd_periods)) / len(alt_tdd), 2)}% " - f"from {len(alt_tdd)} to {len(alt_tdd_periods)}") + logger.debug( + f"{trace_label} " + f"dedupe_alt_tdd.tdd_alt_segments reduced number of rows by " + f"{round(100 * (len(alt_tdd) - len(alt_tdd_periods)) / len(alt_tdd), 2)}% " + f"from {len(alt_tdd)} to {len(alt_tdd_periods)}" + ) # if there is no tdd_alt_segments file, we can at least dedupe on 'out_period', 'in_period', 'duration' if alt_tdd_periods is None: # FIXME This won't work if they reference start or end in logsum calculations # for MTC only duration is used (to calculate all_day parking cost) - dedupe_columns = ['out_period', 'in_period', 'duration'] + dedupe_columns = ["out_period", "in_period", "duration"] - logger.warning(f"No tdd_alt_segments for representative logsums so fallback to " - f"deduping tdd_alts by time_period and duration") + logger.warning( + f"No tdd_alt_segments for representative logsums so fallback to " + f"deduping tdd_alts by time_period and duration" + ) # - get list of unique (tour_id, out_period, in_period, duration) in alt_tdd_periods # we can cut the number of alts roughly in half (for mtctm1) by conflating duplicates - alt_tdd_periods = alt_tdd[dedupe_columns].reset_index().drop_duplicates().set_index(alt_tdd.index.name) + alt_tdd_periods = ( + alt_tdd[dedupe_columns] + .reset_index() + .drop_duplicates() + .set_index(alt_tdd.index.name) + ) chunk.log_df(trace_label, "alt_tdd_periods", alt_tdd_periods) - logger.debug(f"{trace_label} " - f"dedupe_alt_tdd.drop_duplicates reduced number of rows by " - f"{round(100 * (len(alt_tdd) - len(alt_tdd_periods)) / len(alt_tdd), 2)}% " - f"from {len(alt_tdd)} to {len(alt_tdd_periods)}") + logger.debug( + f"{trace_label} " + f"dedupe_alt_tdd.drop_duplicates reduced number of rows by " + f"{round(100 * (len(alt_tdd) - len(alt_tdd_periods)) / len(alt_tdd), 2)}% " + f"from {len(alt_tdd)} to {len(alt_tdd_periods)}" + ) return alt_tdd_periods, dedupe_columns -def compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, skims, trace_label): +def compute_logsums( + alt_tdd, tours_merged, tour_purpose, model_settings, skims, trace_label +): """ Compute logsums for the tour alt_tdds, which will differ based on their different start, stop times of day, which translate to different odt_skim out_period and in_periods. @@ -249,15 +311,15 @@ def compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, skims, (out-period, in-period) pairs and then join them back to the alt_tdds. """ - trace_label = tracing.extend_trace_label(trace_label, 'compute_logsums') - network_los = inject.get_injectable('network_los') + trace_label = tracing.extend_trace_label(trace_label, "compute_logsums") + network_los = inject.get_injectable("network_los") # - in_period and out_period - assert 'out_period' not in alt_tdd - assert 'in_period' not in alt_tdd - alt_tdd['out_period'] = network_los.skim_time_period_label(alt_tdd['start']) - alt_tdd['in_period'] = network_los.skim_time_period_label(alt_tdd['end']) - alt_tdd['duration'] = alt_tdd['end'] - alt_tdd['start'] + assert "out_period" not in alt_tdd + assert "in_period" not in alt_tdd + alt_tdd["out_period"] = network_los.skim_time_period_label(alt_tdd["start"]) + alt_tdd["in_period"] = network_los.skim_time_period_label(alt_tdd["end"]) + alt_tdd["duration"] = alt_tdd["end"] - alt_tdd["start"] # outside chunk_log context because we extend log_df call for alt_tdd made by our only caller _schedule_tours chunk.log_df(trace_label, "alt_tdd", alt_tdd) @@ -266,35 +328,56 @@ def compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, skims, if USE_BRUTE_FORCE_TO_COMPUTE_LOGSUMS: # compute logsums for all the tour alt_tdds (inefficient) - logsums = _compute_logsums(alt_tdd, tours_merged, tour_purpose, - model_settings, network_los, skims, trace_label) + logsums = _compute_logsums( + alt_tdd, + tours_merged, + tour_purpose, + model_settings, + network_los, + skims, + trace_label, + ) return logsums index_name = alt_tdd.index.name - deduped_alt_tdds, redupe_columns = dedupe_alt_tdd(alt_tdd, tour_purpose, trace_label) + deduped_alt_tdds, redupe_columns = dedupe_alt_tdd( + alt_tdd, tour_purpose, trace_label + ) chunk.log_df(trace_label, "deduped_alt_tdds", deduped_alt_tdds) - logger.info(f"{trace_label} compute_logsums " - f"deduped_alt_tdds reduced number of rows by " - f"{round(100 * (len(alt_tdd) - len(deduped_alt_tdds)) / len(alt_tdd), 2)}% " - f"from {len(alt_tdd)} to {len(deduped_alt_tdds)} compared to USE_BRUTE_FORCE_TO_COMPUTE_LOGSUMS") + logger.info( + f"{trace_label} compute_logsums " + f"deduped_alt_tdds reduced number of rows by " + f"{round(100 * (len(alt_tdd) - len(deduped_alt_tdds)) / len(alt_tdd), 2)}% " + f"from {len(alt_tdd)} to {len(deduped_alt_tdds)} compared to USE_BRUTE_FORCE_TO_COMPUTE_LOGSUMS" + ) t0 = tracing.print_elapsed_time() # - compute logsums for the alt_tdd_periods - deduped_alt_tdds['logsums'] = \ - _compute_logsums(deduped_alt_tdds, tours_merged, tour_purpose, - model_settings, network_los, skims, trace_label) + deduped_alt_tdds["logsums"] = _compute_logsums( + deduped_alt_tdds, + tours_merged, + tour_purpose, + model_settings, + network_los, + skims, + trace_label, + ) # tracing.log_runtime(model_name=trace_label, start_time=t0) # redupe - join the alt_tdd_period logsums to alt_tdd to get logsums for alt_tdd - logsums = pd.merge( - alt_tdd.reset_index(), - deduped_alt_tdds.reset_index(), - on=[index_name] + redupe_columns, - how='left' - ).set_index(index_name).logsums + logsums = ( + pd.merge( + alt_tdd.reset_index(), + deduped_alt_tdds.reset_index(), + on=[index_name] + redupe_columns, + how="left", + ) + .set_index(index_name) + .logsums + ) chunk.log_df(trace_label, "logsums", logsums) del deduped_alt_tdds @@ -303,20 +386,30 @@ def compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, skims, # this is really expensive TRACE = False if TRACE: - trace_logsums_df = logsums.to_frame('representative_logsum') - trace_logsums_df['brute_force_logsum'] = \ - _compute_logsums(alt_tdd, tours_merged, tour_purpose, model_settings, network_los, skims, trace_label) - tracing.trace_df(trace_logsums_df, - label=tracing.extend_trace_label(trace_label, 'representative_logsums'), - slicer='NONE', transpose=False) + trace_logsums_df = logsums.to_frame("representative_logsum") + trace_logsums_df["brute_force_logsum"] = _compute_logsums( + alt_tdd, + tours_merged, + tour_purpose, + model_settings, + network_los, + skims, + trace_label, + ) + tracing.trace_df( + trace_logsums_df, + label=tracing.extend_trace_label(trace_label, "representative_logsums"), + slicer="NONE", + transpose=False, + ) # leave it to our caller to pick up logsums with call to chunk.log_df return logsums -def get_previous_tour_by_tourid(current_tour_window_ids, - previous_tour_by_window_id, - alts): +def get_previous_tour_by_tourid( + current_tour_window_ids, previous_tour_by_window_id, alts +): """ Matches current tours with attributes of previous tours for the same person. See the return value below for more information. @@ -343,20 +436,21 @@ def get_previous_tour_by_tourid(current_tour_window_ids, interaction. """ - PREV_TOUR_COLUMNS = ['start', 'end'] + PREV_TOUR_COLUMNS = ["start", "end"] - previous_tour_by_tourid = \ - previous_tour_by_window_id.loc[current_tour_window_ids] + previous_tour_by_tourid = previous_tour_by_window_id.loc[current_tour_window_ids] previous_tour_by_tourid = alts.loc[previous_tour_by_tourid, PREV_TOUR_COLUMNS] previous_tour_by_tourid.index = current_tour_window_ids.index - previous_tour_by_tourid.columns = [x+'_previous' for x in PREV_TOUR_COLUMNS] + previous_tour_by_tourid.columns = [x + "_previous" for x in PREV_TOUR_COLUMNS] return previous_tour_by_tourid -def tdd_interaction_dataset(tours, alts, timetable, choice_column, window_id_col, trace_label): +def tdd_interaction_dataset( + tours, alts, timetable, choice_column, window_id_col, trace_label +): """ interaction_sample_simulate expects alts index same as choosers (e.g. tour_id) @@ -382,11 +476,11 @@ def tdd_interaction_dataset(tours, alts, timetable, choice_column, window_id_col """ - trace_label = tracing.extend_trace_label(trace_label, 'tdd_interaction_dataset') + trace_label = tracing.extend_trace_label(trace_label, "tdd_interaction_dataset") with chunk.chunk_log(trace_label): alts_ids = np.tile(alts.index, len(tours.index)) - chunk.log_df(trace_label, 'alts_ids', alts_ids) + chunk.log_df(trace_label, "alts_ids", alts_ids) tour_ids = np.repeat(tours.index, len(alts.index)) window_row_ids = np.repeat(tours[window_id_col], len(alts.index)) @@ -401,15 +495,21 @@ def tdd_interaction_dataset(tours, alts, timetable, choice_column, window_id_col alt_tdd.insert(loc=0, column=choice_column, value=alts_ids) # slice out all non-available tours - available = timetable.tour_available(alt_tdd[window_id_col], alt_tdd[choice_column]) - logger.debug(f"tdd_interaction_dataset keeping {available.sum()} of ({len(available)}) available alt_tdds") + available = timetable.tour_available( + alt_tdd[window_id_col], alt_tdd[choice_column] + ) + logger.debug( + f"tdd_interaction_dataset keeping {available.sum()} of ({len(available)}) available alt_tdds" + ) assert available.any() - chunk.log_df(trace_label, 'alt_tdd', alt_tdd) # catch this before we slice on available + chunk.log_df( + trace_label, "alt_tdd", alt_tdd + ) # catch this before we slice on available alt_tdd = alt_tdd[available] - chunk.log_df(trace_label, 'alt_tdd', alt_tdd) + chunk.log_df(trace_label, "alt_tdd", alt_tdd) # FIXME - don't need this any more after slicing del alt_tdd[window_id_col] @@ -441,41 +541,57 @@ def run_alts_preprocessor(model_settings, alts, segment, locals_dict, trace_labe annotated copy of alts """ - preprocessor_settings = model_settings.get('ALTS_PREPROCESSOR', {}) + preprocessor_settings = model_settings.get("ALTS_PREPROCESSOR", {}) if segment in preprocessor_settings: # segmented by logsum_tour_purpose preprocessor_settings = preprocessor_settings.get(segment) - logger.debug(f"running ALTS_PREPROCESSOR with spec for {segment}: {preprocessor_settings.get('SPEC')}") - elif 'SPEC' in preprocessor_settings: + logger.debug( + f"running ALTS_PREPROCESSOR with spec for {segment}: {preprocessor_settings.get('SPEC')}" + ) + elif "SPEC" in preprocessor_settings: # unsegmented (either because no segmentation, or fallback if settings has generic preprocessor) - logger.debug(f"running ALTS_PREPROCESSOR with unsegmented spec {preprocessor_settings.get('SPEC')}") + logger.debug( + f"running ALTS_PREPROCESSOR with unsegmented spec {preprocessor_settings.get('SPEC')}" + ) else: - logger.debug(f"skipping alts preprocesser because no ALTS_PREPROCESSOR segment for {segment}") + logger.debug( + f"skipping alts preprocesser because no ALTS_PREPROCESSOR segment for {segment}" + ) preprocessor_settings = None if preprocessor_settings: - logger.debug(f"run_alts_preprocessor calling assign_columns for {segment} preprocessor_settings") + logger.debug( + f"run_alts_preprocessor calling assign_columns for {segment} preprocessor_settings" + ) alts = alts.copy() expressions.assign_columns( df=alts, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) return alts def _schedule_tours( - tours, persons_merged, alts, - spec, logsum_tour_purpose, - model_settings, skims, - timetable, window_id_col, - previous_tour, tour_owner_id_col, - estimator, - tour_trace_label): + tours, + persons_merged, + alts, + spec, + logsum_tour_purpose, + model_settings, + skims, + timetable, + window_id_col, + previous_tour, + tour_owner_id_col, + estimator, + tour_trace_label, +): """ previous_tour stores values used to add columns that can be used in the spec which have to do with the previous tours per person. Every column in the @@ -520,12 +636,19 @@ def _schedule_tours( """ - logger.info("%s schedule_tours running %d tour choices" % (tour_trace_label, len(tours))) + logger.info( + "%s schedule_tours running %d tour choices" % (tour_trace_label, len(tours)) + ) # merge persons into tours # avoid dual suffix for redundant columns names (e.g. household_id) that appear in both - tours = pd.merge(tours, persons_merged, left_on='person_id', right_index=True, - suffixes=('', '_y')) + tours = pd.merge( + tours, + persons_merged, + left_on="person_id", + right_index=True, + suffixes=("", "_y"), + ) chunk.log_df(tour_trace_label, "tours", tours) # - add explicit window_id_col for timetable owner if it is index @@ -542,31 +665,34 @@ def _schedule_tours( # dataframe columns start, end , duration, person_id, tdd # indexed (not unique) on tour_id choice_column = TDD_CHOICE_COLUMN - alt_tdd = tdd_interaction_dataset(tours, alts, timetable, choice_column, window_id_col, - tour_trace_label) + alt_tdd = tdd_interaction_dataset( + tours, alts, timetable, choice_column, window_id_col, tour_trace_label + ) # print(f"tours {tours.shape} alts {alts.shape}") chunk.log_df(tour_trace_label, "alt_tdd", alt_tdd) # - add logsums if logsum_tour_purpose: - logsums = compute_logsums(alt_tdd, tours, logsum_tour_purpose, model_settings, skims, tour_trace_label) + logsums = compute_logsums( + alt_tdd, tours, logsum_tour_purpose, model_settings, skims, tour_trace_label + ) else: logsums = 0 - alt_tdd['mode_choice_logsum'] = logsums + alt_tdd["mode_choice_logsum"] = logsums del logsums chunk.log_df(tour_trace_label, "alt_tdd", alt_tdd) # - merge in previous tour columns # adds start_previous and end_previous, joins on index - tours = tours.join(get_previous_tour_by_tourid(tours[tour_owner_id_col], previous_tour, alts)) + tours = tours.join( + get_previous_tour_by_tourid(tours[tour_owner_id_col], previous_tour, alts) + ) chunk.log_df(tour_trace_label, "tours", tours) # - make choices - locals_d = { - 'tt': timetable - } + locals_d = {"tt": timetable} constants = config.get_model_constants(model_settings) if constants is not None: locals_d.update(constants) @@ -574,13 +700,17 @@ def _schedule_tours( if not RUN_ALTS_PREPROCESSOR_BEFORE_MERGE: # Note: Clint was running alts_preprocessor here on tdd_interaction_dataset instead of on raw (unmerged) alts # and he was using logsum_tour_purpose as selector, although logically it should be the spec_segment - # It just happened to work for example_arc.mandatory_tour_scheduling because, in that model, (unlike semcog) + # It just happened to work for prototype_arc.mandatory_tour_scheduling because, in that model, (unlike semcog) # logsum_tour_purpose and spec_segments are aligned (both logsums and spec are segmented on work, school, univ) # In any case, I don't see any benefit to doing this here - at least not for any existing implementations # but if we do, it will require passing spec_segment to schedule_tours and _schedule_tours # or redundently segmenting alts (yuck!) to conform to more granular tour_segmentation (e.g. univ do school) - spec_segment = logsum_tour_purpose # FIXME this is not always right - see note above - alt_tdd = run_alts_preprocessor(model_settings, alt_tdd, spec_segment, locals_d, tour_trace_label) + spec_segment = ( + logsum_tour_purpose # FIXME this is not always right - see note above + ) + alt_tdd = run_alts_preprocessor( + model_settings, alt_tdd, spec_segment, locals_d, tour_trace_label + ) chunk.log_df(tour_trace_label, "alt_tdd", alt_tdd) if estimator: @@ -589,7 +719,7 @@ def _schedule_tours( estimator.set_alt_id(choice_column) estimator.write_interaction_sample_alternatives(alt_tdd) - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) choices = interaction_sample_simulate( tours, @@ -600,9 +730,9 @@ def _schedule_tours( locals_d=locals_d, chunk_size=0, trace_label=tour_trace_label, - estimator=estimator + estimator=estimator, ) - chunk.log_df(tour_trace_label, 'choices', choices) + chunk.log_df(tour_trace_label, "choices", choices) # - update previous_tour and timetable parameters @@ -616,13 +746,21 @@ def _schedule_tours( def schedule_tours( - tours, persons_merged, alts, - spec, logsum_tour_purpose, - model_settings, - timetable, timetable_window_id_col, - previous_tour, tour_owner_id_col, - estimator, - chunk_size, tour_trace_label, tour_chunk_tag): + tours, + persons_merged, + alts, + spec, + logsum_tour_purpose, + model_settings, + timetable, + timetable_window_id_col, + previous_tour, + tour_owner_id_col, + estimator, + chunk_size, + tour_trace_label, + tour_chunk_tag, +): """ chunking wrapper for _schedule_tours @@ -637,7 +775,9 @@ def schedule_tours( logger.info("schedule_tours %s tours not monotonic_increasing - sorting df") tours = tours.sort_index() - logger.info("%s schedule_tours running %d tour choices" % (tour_trace_label, len(tours))) + logger.info( + "%s schedule_tours running %d tour choices" % (tour_trace_label, len(tours)) + ) # no more than one tour per timetable_window per call if timetable_window_id_col is None: @@ -645,27 +785,36 @@ def schedule_tours( else: assert not tours[timetable_window_id_col].duplicated().any() - if 'LOGSUM_SETTINGS' in model_settings: + if "LOGSUM_SETTINGS" in model_settings: # we need skims to calculate tvpb skim overhead in 3_ZONE systems for use by calc_rows_per_chunk skims = skims_for_logsums(logsum_tour_purpose, model_settings, tour_trace_label) else: skims = None result_list = [] - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(tours, chunk_size, tour_trace_label, tour_chunk_tag): - - choices = _schedule_tours(chooser_chunk, persons_merged, - alts, spec, logsum_tour_purpose, - model_settings, skims, - timetable, timetable_window_id_col, - previous_tour, tour_owner_id_col, - estimator, - tour_trace_label=chunk_trace_label) + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + tours, chunk_size, tour_trace_label, tour_chunk_tag + ): + + choices = _schedule_tours( + chooser_chunk, + persons_merged, + alts, + spec, + logsum_tour_purpose, + model_settings, + skims, + timetable, + timetable_window_id_col, + previous_tour, + tour_owner_id_col, + estimator, + tour_trace_label=chunk_trace_label, + ) result_list.append(choices) - chunk.log_df(tour_trace_label, f'result_list', result_list) + chunk.log_df(tour_trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: @@ -678,10 +827,17 @@ def schedule_tours( return choices -def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, - tour_segments, tour_segment_col, - model_settings, - chunk_size=0, trace_label=None): +def vectorize_tour_scheduling( + tours, + persons_merged, + alts, + timetable, + tour_segments, + tour_segment_col, + model_settings, + chunk_size=0, + trace_label=None, +): """ The purpose of this method is fairly straightforward - it takes tours and schedules them into time slots. Alternatives should be specified so @@ -722,11 +878,11 @@ def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, persons timetable updated with tours (caller should replace_table for it to persist) """ - trace_label = tracing.extend_trace_label(trace_label, 'vectorize_tour_scheduling') + trace_label = tracing.extend_trace_label(trace_label, "vectorize_tour_scheduling") assert len(tours.index) > 0 - assert 'tour_num' in tours.columns - assert 'tour_type' in tours.columns + assert "tour_num" in tours.columns + assert "tour_type" in tours.columns # tours must be scheduled in increasing trip_num order # second trip of type must be in group immediately following first @@ -737,9 +893,9 @@ def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, # initialize with first trip from alts previous_tour_by_personid = pd.Series(alts.index[0], index=tours.person_id.unique()) - timetable_window_id_col = 'person_id' - tour_owner_id_col = 'person_id' - compute_logsums = ('LOGSUM_SETTINGS' in model_settings) + timetable_window_id_col = "person_id" + tour_owner_id_col = "person_id" + compute_logsums = "LOGSUM_SETTINGS" in model_settings assert isinstance(tour_segments, dict) @@ -748,44 +904,62 @@ def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, # second trip of type must be in group immediately following first # segregate scheduling by tour_type if multiple specs passed in dict keyed by tour_type - for tour_num, nth_tours in tours.groupby('tour_num', sort=True): + for tour_num, nth_tours in tours.groupby("tour_num", sort=True): - tour_trace_label = tracing.extend_trace_label(trace_label, f'tour_{tour_num}') - tour_chunk_tag = tracing.extend_trace_label(trace_label, f"tour_{1 if tour_num == 1 else 'n'}") + tour_trace_label = tracing.extend_trace_label(trace_label, f"tour_{tour_num}") + tour_chunk_tag = tracing.extend_trace_label( + trace_label, f"tour_{1 if tour_num == 1 else 'n'}" + ) if tour_segment_col is not None: for tour_segment_name, tour_segment_info in tour_segments.items(): - segment_trace_label = tracing.extend_trace_label(tour_trace_label, tour_segment_name) - segment_chunk_tag = tracing.extend_trace_label(tour_chunk_tag, tour_segment_name) + segment_trace_label = tracing.extend_trace_label( + tour_trace_label, tour_segment_name + ) + segment_chunk_tag = tracing.extend_trace_label( + tour_chunk_tag, tour_segment_name + ) # assume segmentation of spec and coefficients are aligned - spec_segment_name = tour_segment_info.get('spec_segment_name') + spec_segment_name = tour_segment_info.get("spec_segment_name") # assume logsum segmentation is same as tours logsum_tour_purpose = tour_segment_name if compute_logsums else None - nth_tours_in_segment = nth_tours[nth_tours[tour_segment_col] == tour_segment_name] + nth_tours_in_segment = nth_tours[ + nth_tours[tour_segment_col] == tour_segment_name + ] if nth_tours_in_segment.empty: logger.info("skipping empty segment %s" % tour_segment_name) continue if RUN_ALTS_PREPROCESSOR_BEFORE_MERGE: locals_dict = {} - alts = run_alts_preprocessor(model_settings, alts, spec_segment_name, locals_dict, tour_trace_label) - - choices = \ - schedule_tours(nth_tours_in_segment, persons_merged, alts, - spec=tour_segment_info['spec'], - logsum_tour_purpose=logsum_tour_purpose, - model_settings=model_settings, - timetable=timetable, - timetable_window_id_col=timetable_window_id_col, - previous_tour=previous_tour_by_personid, - tour_owner_id_col=tour_owner_id_col, - estimator=tour_segment_info.get('estimator'), - chunk_size=chunk_size, - tour_trace_label=segment_trace_label, tour_chunk_tag=segment_chunk_tag) + alts = run_alts_preprocessor( + model_settings, + alts, + spec_segment_name, + locals_dict, + tour_trace_label, + ) + + choices = schedule_tours( + nth_tours_in_segment, + persons_merged, + alts, + spec=tour_segment_info["spec"], + logsum_tour_purpose=logsum_tour_purpose, + model_settings=model_settings, + timetable=timetable, + timetable_window_id_col=timetable_window_id_col, + previous_tour=previous_tour_by_personid, + tour_owner_id_col=tour_owner_id_col, + estimator=tour_segment_info.get("estimator"), + chunk_size=chunk_size, + tour_trace_label=segment_trace_label, + tour_chunk_tag=segment_chunk_tag, + ) choice_list.append(choices) @@ -794,21 +968,27 @@ def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, # MTC non_mandatory_tours are not segmented by tour_purpose and do not require logsums # FIXME should support logsums? - assert not compute_logsums, "logsums for unsegmented spec not implemented because not currently needed" - assert tour_segments.get('spec_segment_name') is None - - choices = \ - schedule_tours(nth_tours, persons_merged, alts, - spec=tour_segments['spec'], - logsum_tour_purpose=None, - model_settings=model_settings, - timetable=timetable, - timetable_window_id_col=timetable_window_id_col, - previous_tour=previous_tour_by_personid, - tour_owner_id_col=tour_owner_id_col, - estimator=tour_segments.get('estimator'), - chunk_size=chunk_size, - tour_trace_label=tour_trace_label, tour_chunk_tag=tour_chunk_tag) + assert ( + not compute_logsums + ), "logsums for unsegmented spec not implemented because not currently needed" + assert tour_segments.get("spec_segment_name") is None + + choices = schedule_tours( + nth_tours, + persons_merged, + alts, + spec=tour_segments["spec"], + logsum_tour_purpose=None, + model_settings=model_settings, + timetable=timetable, + timetable_window_id_col=timetable_window_id_col, + previous_tour=previous_tour_by_personid, + tour_owner_id_col=tour_owner_id_col, + estimator=tour_segments.get("estimator"), + chunk_size=chunk_size, + tour_trace_label=tour_trace_label, + tour_chunk_tag=tour_chunk_tag, + ) choice_list.append(choices) @@ -816,10 +996,17 @@ def vectorize_tour_scheduling(tours, persons_merged, alts, timetable, return choices -def vectorize_subtour_scheduling(parent_tours, subtours, persons_merged, alts, spec, - model_settings, - estimator, - chunk_size=0, trace_label=None): +def vectorize_subtour_scheduling( + parent_tours, + subtours, + persons_merged, + alts, + spec, + model_settings, + estimator, + chunk_size=0, + trace_label=None, +): """ Like vectorize_tour_scheduling but specifically for atwork subtours @@ -855,14 +1042,14 @@ def vectorize_subtour_scheduling(parent_tours, subtours, persons_merged, alts, s DataFrame and the values are the index of the alts DataFrame. """ if not trace_label: - trace_label = 'vectorize_non_mandatory_tour_scheduling' + trace_label = "vectorize_non_mandatory_tour_scheduling" assert len(subtours.index) > 0 - assert 'tour_num' in subtours.columns - assert 'tour_type' in subtours.columns + assert "tour_num" in subtours.columns + assert "tour_type" in subtours.columns - timetable_window_id_col = 'parent_tour_id' - tour_owner_id_col = 'parent_tour_id' + timetable_window_id_col = "parent_tour_id" + tour_owner_id_col = "parent_tour_id" logsum_tour_purpose = None # FIXME logsums not currently supported # timetable with a window for each parent tour @@ -884,30 +1071,40 @@ def vectorize_subtour_scheduling(parent_tours, subtours, persons_merged, alts, s # keep a series of the the most recent tours for each person # initialize with first trip from alts - previous_tour_by_parent_tour_id = \ - pd.Series(alts.index[0], index=subtours['parent_tour_id'].unique()) + previous_tour_by_parent_tour_id = pd.Series( + alts.index[0], index=subtours["parent_tour_id"].unique() + ) # tours must be scheduled in increasing trip_num order # second trip of type must be in group immediately following first # this ought to have been ensured when tours are created (tour_frequency.process_tours) - for tour_num, nth_tours in subtours.groupby('tour_num', sort=True): + for tour_num, nth_tours in subtours.groupby("tour_num", sort=True): - tour_trace_label = tracing.extend_trace_label(trace_label, f'tour_{tour_num}') - tour_chunk_tag = tracing.extend_trace_label(trace_label, f"tour_{1 if tour_num == 1 else 'n'}") + tour_trace_label = tracing.extend_trace_label(trace_label, f"tour_{tour_num}") + tour_chunk_tag = tracing.extend_trace_label( + trace_label, f"tour_{1 if tour_num == 1 else 'n'}" + ) # no more than one tour per timetable window per call to schedule_tours assert not nth_tours.parent_tour_id.duplicated().any() - choices = \ - schedule_tours(nth_tours, - persons_merged, alts, - spec, logsum_tour_purpose, - model_settings, - timetable, timetable_window_id_col, - previous_tour_by_parent_tour_id, tour_owner_id_col, - estimator, - chunk_size, tour_trace_label, tour_chunk_tag) + choices = schedule_tours( + nth_tours, + persons_merged, + alts, + spec, + logsum_tour_purpose, + model_settings, + timetable, + timetable_window_id_col, + previous_tour_by_parent_tour_id, + tour_owner_id_col, + estimator, + chunk_size, + tour_trace_label, + tour_chunk_tag, + ) choice_list.append(choices) @@ -926,30 +1123,43 @@ def vectorize_subtour_scheduling(parent_tours, subtours, persons_merged, alts, s return choices -def build_joint_tour_timetables(joint_tours, joint_tour_participants, persons_timetable, alts): +def build_joint_tour_timetables( + joint_tours, joint_tour_participants, persons_timetable, alts +): # timetable with a window for each joint tour joint_tour_windows_df = tt.create_timetable_windows(joint_tours, alts) joint_tour_timetable = tt.TimeTable(joint_tour_windows_df, alts) - for participant_num, nth_participants in \ - joint_tour_participants.groupby('participant_num', sort=True): + for participant_num, nth_participants in joint_tour_participants.groupby( + "participant_num", sort=True + ): # nth_participant windows from persons_timetable - participant_windows = persons_timetable.slice_windows_by_row_id(nth_participants.person_id) + participant_windows = persons_timetable.slice_windows_by_row_id( + nth_participants.person_id + ) # assign them joint_tour_timetable - joint_tour_timetable.assign_footprints(nth_participants.tour_id, participant_windows) + joint_tour_timetable.assign_footprints( + nth_participants.tour_id, participant_windows + ) return joint_tour_timetable def vectorize_joint_tour_scheduling( - joint_tours, joint_tour_participants, - persons_merged, alts, persons_timetable, - spec, model_settings, - estimator, - chunk_size=0, trace_label=None): + joint_tours, + joint_tour_participants, + persons_merged, + alts, + persons_timetable, + spec, + model_settings, + estimator, + chunk_size=0, + trace_label=None, +): """ Like vectorize_tour_scheduling but specifically for joint tours @@ -981,21 +1191,25 @@ def vectorize_joint_tour_scheduling( timetable updated with joint tours (caller should replace_table for it to persist) """ - trace_label = tracing.extend_trace_label(trace_label, 'vectorize_joint_tour_scheduling') + trace_label = tracing.extend_trace_label( + trace_label, "vectorize_joint_tour_scheduling" + ) assert len(joint_tours.index) > 0 - assert 'tour_num' in joint_tours.columns - assert 'tour_type' in joint_tours.columns + assert "tour_num" in joint_tours.columns + assert "tour_type" in joint_tours.columns timetable_window_id_col = None - tour_owner_id_col = 'household_id' + tour_owner_id_col = "household_id" logsum_tour_purpose = None # FIXME logsums not currently supported choice_list = [] # keep a series of the the most recent tours for each person # initialize with first trip from alts - previous_tour_by_householdid = pd.Series(alts.index[0], index=joint_tours.household_id.unique()) + previous_tour_by_householdid = pd.Series( + alts.index[0], index=joint_tours.household_id.unique() + ) # tours must be scheduled in increasing trip_num order # second trip of type must be in group immediately following first @@ -1004,36 +1218,45 @@ def vectorize_joint_tour_scheduling( # print "participant windows before scheduling\n%s" % \ # persons_timetable.slice_windows_by_row_id(joint_tour_participants.person_id) - for tour_num, nth_tours in joint_tours.groupby('tour_num', sort=True): + for tour_num, nth_tours in joint_tours.groupby("tour_num", sort=True): - tour_trace_label = tracing.extend_trace_label(trace_label, f'tour_{tour_num}') - tour_chunk_tag = tracing.extend_trace_label(trace_label, f"tour_{1 if tour_num == 1 else 'n'}") + tour_trace_label = tracing.extend_trace_label(trace_label, f"tour_{tour_num}") + tour_chunk_tag = tracing.extend_trace_label( + trace_label, f"tour_{1 if tour_num == 1 else 'n'}" + ) # no more than one tour per household per call to schedule_tours assert not nth_tours.household_id.duplicated().any() - nth_participants = \ - joint_tour_participants[joint_tour_participants.tour_id.isin(nth_tours.index)] + nth_participants = joint_tour_participants[ + joint_tour_participants.tour_id.isin(nth_tours.index) + ] timetable = build_joint_tour_timetables( - nth_tours, nth_participants, - persons_timetable, alts) - - choices = \ - schedule_tours(nth_tours, - persons_merged, alts, - spec, - logsum_tour_purpose, - model_settings, - timetable, timetable_window_id_col, - previous_tour_by_householdid, tour_owner_id_col, - estimator, - chunk_size, tour_trace_label, tour_chunk_tag) + nth_tours, nth_participants, persons_timetable, alts + ) + + choices = schedule_tours( + nth_tours, + persons_merged, + alts, + spec, + logsum_tour_purpose, + model_settings, + timetable, + timetable_window_id_col, + previous_tour_by_householdid, + tour_owner_id_col, + estimator, + chunk_size, + tour_trace_label, + tour_chunk_tag, + ) # - update timetables of all joint tour participants persons_timetable.assign( - nth_participants.person_id, - reindex(choices, nth_participants.tour_id)) + nth_participants.person_id, reindex(choices, nth_participants.tour_id) + ) choice_list.append(choices) diff --git a/activitysim/abm/models/vehicle_allocation.py b/activitysim/abm/models/vehicle_allocation.py index 6a8dcd9dd1..e68abc386d 100644 --- a/activitysim/abm/models/vehicle_allocation.py +++ b/activitysim/abm/models/vehicle_allocation.py @@ -1,28 +1,29 @@ # ActivitySim # See full license in LICENSE.txt. +import itertools import logging +import os -import pandas as pd import numpy as np -import itertools -import os +import pandas as pd +from activitysim.core import ( + assign, + config, + expressions, + inject, + logit, + los, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_simulate import interaction_simulate -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import expressions -from activitysim.core import logit -from activitysim.core import assign -from activitysim.core import los - from activitysim.core.util import assign_in_place -from .util.mode import mode_choice_simulate from .util import estimation +from .util.mode import mode_choice_simulate logger = logging.getLogger(__name__) @@ -36,11 +37,12 @@ def annotate_vehicle_allocation(model_settings, trace_label): model_settings : dict trace_label : str """ - tours = inject.get_table('tours').to_frame() + tours = inject.get_table("tours").to_frame() expressions.assign_columns( df=tours, - model_settings=model_settings.get('annotate_tours'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_tours')) + model_settings=model_settings.get("annotate_tours"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_tours"), + ) pipeline.replace_table("tours", tours) @@ -61,18 +63,24 @@ def get_skim_dict(network_los, choosers): index is skim wrapper name, value is the skim wrapper """ skim_dict = network_los.get_default_skim_dict() - orig_col_name = 'home_zone_id' - dest_col_name = 'destination' - - out_time_col_name = 'start' - in_time_col_name = 'end' - odt_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=orig_col_name, dest_key=dest_col_name, - dim3_key='out_period') - dot_skim_stack_wrapper = skim_dict.wrap_3d(orig_key=dest_col_name, dest_key=orig_col_name, - dim3_key='in_period') - - choosers['in_period'] = network_los.skim_time_period_label(choosers[in_time_col_name]) - choosers['out_period'] = network_los.skim_time_period_label(choosers[out_time_col_name]) + orig_col_name = "home_zone_id" + dest_col_name = "destination" + + out_time_col_name = "start" + in_time_col_name = "end" + odt_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=orig_col_name, dest_key=dest_col_name, dim3_key="out_period" + ) + dot_skim_stack_wrapper = skim_dict.wrap_3d( + orig_key=dest_col_name, dest_key=orig_col_name, dim3_key="in_period" + ) + + choosers["in_period"] = network_los.skim_time_period_label( + choosers[in_time_col_name] + ) + choosers["out_period"] = network_los.skim_time_period_label( + choosers[out_time_col_name] + ) skims = { "odt_skims": odt_skim_stack_wrapper.set_df(choosers), @@ -83,14 +91,15 @@ def get_skim_dict(network_los, choosers): @inject.step() def vehicle_allocation( - persons, - households, - vehicles, - tours, - tours_merged, - network_los, - chunk_size, - trace_hh_id): + persons, + households, + vehicles, + tours, + tours_merged, + network_los, + chunk_size, + trace_hh_id, +): """Selects a vehicle for each occupancy level for each tour. Alternatives consist of the up to the number of household vehicles plus one @@ -113,15 +122,15 @@ def vehicle_allocation( chunk_size : orca.injectable trace_hh_id : orca.injectable """ - trace_label = 'vehicle_allocation' - model_settings_file_name = 'vehicle_allocation.yaml' + trace_label = "vehicle_allocation" + model_settings_file_name = "vehicle_allocation.yaml" model_settings = config.read_model_settings(model_settings_file_name) - logsum_column_name = model_settings.get('MODE_CHOICE_LOGSUM_COLUMN_NAME') + logsum_column_name = model_settings.get("MODE_CHOICE_LOGSUM_COLUMN_NAME") - estimator = estimation.manager.begin_estimation('vehicle_allocation') + estimator = estimation.manager.begin_estimation("vehicle_allocation") - model_spec_raw = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec_raw = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec_raw, coefficients_df, estimator) @@ -134,14 +143,17 @@ def vehicle_allocation( # ------ constructing alternatives from model spec and joining to choosers vehicles_wide = vehicles.to_frame().pivot_table( - index='household_id', columns='vehicle_num', - values='vehicle_type', aggfunc=lambda x: ''.join(x)) + index="household_id", + columns="vehicle_num", + values="vehicle_type", + aggfunc=lambda x: "".join(x), + ) alts_from_spec = model_spec.columns # renaming vehicle numbers to alternative names in spec vehicle_alt_columns_dict = {} for veh_num in range(1, len(alts_from_spec)): - vehicle_alt_columns_dict[veh_num] = alts_from_spec[veh_num-1] + vehicle_alt_columns_dict[veh_num] = alts_from_spec[veh_num - 1] vehicles_wide.rename(columns=vehicle_alt_columns_dict, inplace=True) # if the number of vehicles is less than the alternatives, fill with NA @@ -149,29 +161,32 @@ def vehicle_allocation( # still need columns for alternatives 3 and 4 for veh_num, col_name in vehicle_alt_columns_dict.items(): if col_name not in vehicles_wide.columns: - vehicles_wide[col_name] = '' + vehicles_wide[col_name] = "" # last entry in spec is the non-hh-veh option - assert alts_from_spec[-1] == 'non_hh_veh', "Last option in spec needs to be non_hh_veh" - vehicles_wide[alts_from_spec[-1]] = '' + assert ( + alts_from_spec[-1] == "non_hh_veh" + ), "Last option in spec needs to be non_hh_veh" + vehicles_wide[alts_from_spec[-1]] = "" # merging vehicle alternatives to choosers choosers = tours_merged.to_frame().reset_index() - choosers = pd.merge(choosers, vehicles_wide, how='left', on='household_id') - choosers.set_index('tour_id', inplace=True) + choosers = pd.merge(choosers, vehicles_wide, how="left", on="household_id") + choosers.set_index("tour_id", inplace=True) # ----- setup skim keys skims = get_skim_dict(network_los, choosers) locals_dict.update(skims) # ------ preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: expressions.assign_columns( df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) logger.info("Running %s with %d tours", trace_label, len(choosers)) @@ -185,10 +200,10 @@ def vehicle_allocation( # ------ running for each occupancy level selected tours_veh_occup_cols = [] - for occup in model_settings.get('OCCUPANCY_LEVELS', [1]): + for occup in model_settings.get("OCCUPANCY_LEVELS", [1]): logger.info("Running for occupancy = %d", occup) # setting occup for access in spec expressions - locals_dict.update({'occup': occup}) + locals_dict.update({"occup": occup}) choices = simulate.simple_simulate( choosers=choosers, @@ -198,39 +213,45 @@ def vehicle_allocation( locals_d=locals_dict, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='vehicle_allocation', - estimator=estimator) + trace_choice_name="vehicle_allocation", + estimator=estimator, + ) # matching alt names to choices choices = choices.map(dict(enumerate(alts_from_spec))).to_frame() - choices.columns = ['alt_choice'] + choices.columns = ["alt_choice"] # last alternative is the non-household vehicle option for alt in alts_from_spec[:-1]: - choices.loc[choices['alt_choice'] == alt, 'choice'] = \ - choosers.loc[choices['alt_choice'] == alt, alt] - choices.loc[choices['alt_choice'] == alts_from_spec[-1], 'choice'] = alts_from_spec[-1] + choices.loc[choices["alt_choice"] == alt, "choice"] = choosers.loc[ + choices["alt_choice"] == alt, alt + ] + choices.loc[ + choices["alt_choice"] == alts_from_spec[-1], "choice" + ] = alts_from_spec[-1] # creating a column for choice of each occupancy level - tours_veh_occup_col = f'vehicle_occup_{occup}' - tours[tours_veh_occup_col] = choices['choice'] + tours_veh_occup_col = f"vehicle_occup_{occup}" + tours[tours_veh_occup_col] = choices["choice"] tours_veh_occup_cols.append(tours_veh_occup_col) if estimator: estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'households', 'vehicle_allocation') + choices = estimator.get_survey_values( + choices, "households", "vehicle_allocation" + ) estimator.write_override_choices(choices) estimator.end_estimation() pipeline.replace_table("tours", tours) - tracing.print_summary('vehicle_allocation', tours[tours_veh_occup_cols], value_counts=True) + tracing.print_summary( + "vehicle_allocation", tours[tours_veh_occup_cols], value_counts=True + ) - annotate_settings = model_settings.get('annotate_tours', None) + annotate_settings = model_settings.get("annotate_tours", None) if annotate_settings: annotate_vehicle_allocation(model_settings, trace_label) if trace_hh_id: - tracing.trace_df(tours, - label='vehicle_allocation', - warn_if_empty=True) + tracing.trace_df(tours, label="vehicle_allocation", warn_if_empty=True) diff --git a/activitysim/abm/models/vehicle_type_choice.py b/activitysim/abm/models/vehicle_type_choice.py index 2252700b31..95723eb9d3 100644 --- a/activitysim/abm/models/vehicle_type_choice.py +++ b/activitysim/abm/models/vehicle_type_choice.py @@ -1,32 +1,33 @@ # ActivitySim # See full license in LICENSE.txt. +import itertools import logging +import os -import pandas as pd import numpy as np -import itertools -import os +import pandas as pd +from activitysim.core import ( + assign, + config, + expressions, + inject, + logit, + los, + pipeline, + simulate, + tracing, +) from activitysim.core.interaction_simulate import interaction_simulate -from activitysim.core import simulate -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import expressions -from activitysim.core import logit -from activitysim.core import assign -from activitysim.core import los - from activitysim.core.util import assign_in_place + from .util import estimation logger = logging.getLogger(__name__) -def append_probabilistic_vehtype_type_choices( - choices, model_settings, trace_label): +def append_probabilistic_vehtype_type_choices(choices, model_settings, trace_label): """ Select a fuel type for the provided body type and age of the vehicle. @@ -45,44 +46,47 @@ def append_probabilistic_vehtype_type_choices( table of chosen vehicle types """ probs_spec_file = model_settings.get("PROBS_SPEC", None) - probs_spec = pd.read_csv( - config.config_file_path(probs_spec_file), comment='#') + probs_spec = pd.read_csv(config.config_file_path(probs_spec_file), comment="#") - fleet_year = model_settings.get('FLEET_YEAR') - probs_spec['age'] = (1 + fleet_year - probs_spec['vehicle_year']).astype(int) - probs_spec['vehicle_type'] = probs_spec[ - ['body_type', 'age']].astype(str).agg('_'.join, axis=1) + fleet_year = model_settings.get("FLEET_YEAR") + probs_spec["age"] = (1 + fleet_year - probs_spec["vehicle_year"]).astype(int) + probs_spec["vehicle_type"] = ( + probs_spec[["body_type", "age"]].astype(str).agg("_".join, axis=1) + ) # left join vehicles to probs choosers = pd.merge( - choices.reset_index(), probs_spec, - on='vehicle_type', - how='left', - indicator=True).set_index('vehicle_id') + choices.reset_index(), probs_spec, on="vehicle_type", how="left", indicator=True + ).set_index("vehicle_id") # checking to make sure all alternatives have probabilities - missing_alts = choosers.loc[choosers._merge == 'left_only', ['vehicle_type']] - assert len(missing_alts) == 0, \ - f"missing probabilities for alternatives:\n {missing_alts}" + missing_alts = choosers.loc[choosers._merge == "left_only", ["vehicle_type"]] + assert ( + len(missing_alts) == 0 + ), f"missing probabilities for alternatives:\n {missing_alts}" # chooser columns here should just be the fuel type probabilities - non_prob_cols = ['_merge', 'vehicle_type', 'body_type', 'age', 'vehicle_year'] + non_prob_cols = ["_merge", "vehicle_type", "body_type", "age", "vehicle_year"] choosers.drop(columns=non_prob_cols, inplace=True) # probs should sum to 1 with residual probs resulting in choice of 'fail' chooser_probs = choosers.div(choosers.sum(axis=1), axis=0).fillna(0) - chooser_probs['fail'] = 1 - chooser_probs.sum(axis=1).clip(0, 1) + chooser_probs["fail"] = 1 - chooser_probs.sum(axis=1).clip(0, 1) # make probabilistic choices - prob_choices, rands = logit.make_choices(chooser_probs, trace_label=trace_label, trace_choosers=choosers) + prob_choices, rands = logit.make_choices( + chooser_probs, trace_label=trace_label, trace_choosers=choosers + ) # convert alt choice index to vehicle type attribute - prob_choices = chooser_probs.columns[prob_choices.values].to_series(index=prob_choices.index) - failed = (prob_choices == chooser_probs.columns.get_loc('fail')) + prob_choices = chooser_probs.columns[prob_choices.values].to_series( + index=prob_choices.index + ) + failed = prob_choices == chooser_probs.columns.get_loc("fail") prob_choices = prob_choices.where(~failed, "NOT CHOSEN") # add new attribute to logit choice vehicle types - choices['vehicle_type'] = choices['vehicle_type'] + '_' + prob_choices + choices["vehicle_type"] = choices["vehicle_type"] + "_" + prob_choices return choices @@ -96,11 +100,12 @@ def annotate_vehicle_type_choice_households(model_settings, trace_label): model_settings : dict trace_label : str """ - households = inject.get_table('households').to_frame() + households = inject.get_table("households").to_frame() expressions.assign_columns( df=households, - model_settings=model_settings.get('annotate_households'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_households')) + model_settings=model_settings.get("annotate_households"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_households"), + ) pipeline.replace_table("households", households) @@ -113,11 +118,12 @@ def annotate_vehicle_type_choice_persons(model_settings, trace_label): model_settings : dict trace_label : str """ - persons = inject.get_table('persons').to_frame() + persons = inject.get_table("persons").to_frame() expressions.assign_columns( df=persons, - model_settings=model_settings.get('annotate_persons'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_persons')) + model_settings=model_settings.get("annotate_persons"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_persons"), + ) pipeline.replace_table("persons", households) @@ -130,11 +136,12 @@ def annotate_vehicle_type_choice_vehicles(model_settings, trace_label): model_settings : dict trace_label : str """ - vehicles = inject.get_table('vehicles').to_frame() + vehicles = inject.get_table("vehicles").to_frame() expressions.assign_columns( df=vehicles, - model_settings=model_settings.get('annotate_vehicles'), - trace_label=tracing.extend_trace_label(trace_label, 'annotate_vehicles')) + model_settings=model_settings.get("annotate_vehicles"), + trace_label=tracing.extend_trace_label(trace_label, "annotate_vehicles"), + ) pipeline.replace_table("vehicles", vehicles) @@ -157,8 +164,8 @@ def get_combinatorial_vehicle_alternatives(alts_cats_dict): """ cat_cols = list(alts_cats_dict.keys()) # e.g. fuel type, body type, age alts_long = pd.DataFrame( - list(itertools.product(*alts_cats_dict.values())), - columns=alts_cats_dict.keys()).astype(str) + list(itertools.product(*alts_cats_dict.values())), columns=alts_cats_dict.keys() + ).astype(str) alts_wide = pd.get_dummies(alts_long) # rows will sum to num_cats alts_wide = pd.concat([alts_wide, alts_long], axis=1) @@ -188,35 +195,41 @@ def construct_model_alternatives(model_settings, alts_cats_dict, vehicle_type_da probs_spec_file = model_settings.get("PROBS_SPEC", None) if probs_spec_file: # do not include alternatives from fuel_type if they are given probabilisticly - del alts_cats_dict['fuel_type'] + del alts_cats_dict["fuel_type"] alts_wide, alts_long = get_combinatorial_vehicle_alternatives(alts_cats_dict) # merge vehicle type data to alternatives if data is provided if (vehicle_type_data is not None) and (probs_spec_file is None): alts_wide = pd.merge( - alts_wide, vehicle_type_data, - how='left', - on=['body_type', 'fuel_type', 'age'], - indicator=True) + alts_wide, + vehicle_type_data, + how="left", + on=["body_type", "fuel_type", "age"], + indicator=True, + ) # checking to make sure all alternatives have data missing_alts = alts_wide.loc[ - alts_wide._merge == 'left_only', ['body_type', 'fuel_type', 'age']] + alts_wide._merge == "left_only", ["body_type", "fuel_type", "age"] + ] - assert len(missing_alts) == 0, \ - f"missing vehicle data for alternatives:\n {missing_alts}" - alts_wide.drop(columns='_merge', inplace=True) + assert ( + len(missing_alts) == 0 + ), f"missing vehicle data for alternatives:\n {missing_alts}" + alts_wide.drop(columns="_merge", inplace=True) # converting age to integer to allow interactions in utilities - alts_wide['age'] = alts_wide['age'].astype(int) + alts_wide["age"] = alts_wide["age"].astype(int) # store alts in primary configs dir for inspection configs_dirs = inject.get_injectable("configs_dir") configs_dirs = configs_dirs if isinstance(configs_dirs, list) else [configs_dirs] - if model_settings.get('WRITE_OUT_ALTS_FILE', False): - alts_wide.to_csv(os.path.join(configs_dirs[0]), 'vehicle_type_choice_aternatives.csv') + if model_settings.get("WRITE_OUT_ALTS_FILE", False): + alts_wide.to_csv( + os.path.join(configs_dirs[0]), "vehicle_type_choice_aternatives.csv" + ) return alts_wide, alts_long @@ -237,24 +250,31 @@ def get_vehicle_type_data(model_settings, vehicle_type_data_file): table of vehicle type data with required body_type, age, and fuel_type columns """ vehicle_type_data = pd.read_csv( - config.config_file_path(vehicle_type_data_file), comment='#') - fleet_year = model_settings.get('FLEET_YEAR') - - vehicle_type_data['age'] = (1 + fleet_year - vehicle_type_data['vehicle_year']).astype(str) - vehicle_type_data['vehicle_type'] = vehicle_type_data[ - ['body_type', 'age', 'fuel_type']].astype(str).agg('_'.join, axis=1) + config.config_file_path(vehicle_type_data_file), comment="#" + ) + fleet_year = model_settings.get("FLEET_YEAR") + + vehicle_type_data["age"] = ( + 1 + fleet_year - vehicle_type_data["vehicle_year"] + ).astype(str) + vehicle_type_data["vehicle_type"] = ( + vehicle_type_data[["body_type", "age", "fuel_type"]] + .astype(str) + .agg("_".join, axis=1) + ) return vehicle_type_data def iterate_vehicle_type_choice( - vehicles_merged, - model_settings, - model_spec, - locals_dict, - estimator, - chunk_size, - trace_label): + vehicles_merged, + model_settings, + model_spec, + locals_dict, + estimator, + chunk_size, + trace_label, +): """ Select vehicle type for each household vehicle sequentially. @@ -291,24 +311,28 @@ def iterate_vehicle_type_choice( """ # - model settings nest_spec = config.get_logit_model_settings(model_settings) - vehicle_type_data_file = model_settings.get('VEHICLE_TYPE_DATA_FILE', None) + vehicle_type_data_file = model_settings.get("VEHICLE_TYPE_DATA_FILE", None) probs_spec_file = model_settings.get("PROBS_SPEC", None) - alts_cats_dict = model_settings.get('combinatorial_alts', False) + alts_cats_dict = model_settings.get("combinatorial_alts", False) # adding vehicle type data to be available to locals_dict regardless of option if vehicle_type_data_file: - vehicle_type_data = get_vehicle_type_data(model_settings, vehicle_type_data_file) - locals_dict.update({'vehicle_type_data': vehicle_type_data}) + vehicle_type_data = get_vehicle_type_data( + model_settings, vehicle_type_data_file + ) + locals_dict.update({"vehicle_type_data": vehicle_type_data}) # - Preparing alternatives # create alts on-the-fly as cartesian product of categorical values if alts_cats_dict: # do not include fuel types as alternatives if probability file is supplied - alts_wide, alts_long = construct_model_alternatives(model_settings, alts_cats_dict, vehicle_type_data) + alts_wide, alts_long = construct_model_alternatives( + model_settings, alts_cats_dict, vehicle_type_data + ) # - preparing choosers for iterating vehicles_merged = vehicles_merged.to_frame() - vehicles_merged['already_owned_veh'] = '' + vehicles_merged["already_owned_veh"] = "" logger.info("Running %s with %d vehicles", trace_label, len(vehicles_merged)) all_choosers = [] all_choices = [] @@ -316,34 +340,43 @@ def iterate_vehicle_type_choice( # - Selecting each vehicle in the household sequentially # This is necessary to determine and use utility terms that include other # household vehicles - for veh_num in range(1, vehicles_merged.vehicle_num.max()+1): + for veh_num in range(1, vehicles_merged.vehicle_num.max() + 1): # - preprocessor # running preprocessor on entire vehicle table to enumerate vehicle types # already owned by the household choosers = vehicles_merged - preprocessor_settings = model_settings.get('preprocessor', None) + preprocessor_settings = model_settings.get("preprocessor", None) if preprocessor_settings: expressions.assign_columns( df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) # only make choices for vehicles that have not been selected yet - choosers = choosers[choosers['vehicle_num'] == veh_num] - logger.info("Running %s for vehicle number %s with %d vehicles", trace_label, veh_num, len(choosers)) + choosers = choosers[choosers["vehicle_num"] == veh_num] + logger.info( + "Running %s for vehicle number %s with %d vehicles", + trace_label, + veh_num, + len(choosers), + ) # if there were so many alts that they had to be created programmatically, # by combining categorical variables, then the utility expressions should make # use of interaction terms to accommodate alt-specific coefficients and constants - simulation_type = model_settings.get('SIMULATION_TYPE', 'interaction_simulate') - assert (simulation_type == 'interaction_simulate') or (simulation_type == 'simple_simulate'), \ - "SIMULATION_TYPE needs to be interaction_simulate or simple_simulate" + simulation_type = model_settings.get("SIMULATION_TYPE", "interaction_simulate") + assert (simulation_type == "interaction_simulate") or ( + simulation_type == "simple_simulate" + ), "SIMULATION_TYPE needs to be interaction_simulate or simple_simulate" - log_alt_losers = config.setting('log_alt_losers', False) + log_alt_losers = config.setting("log_alt_losers", False) - if simulation_type == 'interaction_simulate': - assert alts_cats_dict is not None, "Need to supply combinatorial_alts in yaml" + if simulation_type == "interaction_simulate": + assert ( + alts_cats_dict is not None + ), "Need to supply combinatorial_alts in yaml" choices = interaction_simulate( choosers=choosers, @@ -353,12 +386,13 @@ def iterate_vehicle_type_choice( locals_d=locals_dict, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='vehicle_type', - estimator=estimator) + trace_choice_name="vehicle_type", + estimator=estimator, + ) # otherwise, "simple simulation" should suffice, with a model spec that enumerates # each alternative as a distinct column in the .csv - elif simulation_type == 'simple_simulate': + elif simulation_type == "simple_simulate": choices = simulate.simple_simulate( choosers=choosers, spec=model_spec, @@ -367,27 +401,34 @@ def iterate_vehicle_type_choice( locals_d=locals_dict, chunk_size=chunk_size, trace_label=trace_label, - trace_choice_name='vehicle_type', - estimator=estimator) + trace_choice_name="vehicle_type", + estimator=estimator, + ) if isinstance(choices, pd.Series): - choices = choices.to_frame('choice') + choices = choices.to_frame("choice") - choices.rename(columns={'choice': 'vehicle_type'}, inplace=True) + choices.rename(columns={"choice": "vehicle_type"}, inplace=True) if alts_cats_dict: - alts = alts_long[alts_long.columns].apply( - lambda row: '_'.join(row.values.astype(str)), axis=1).values + alts = ( + alts_long[alts_long.columns] + .apply(lambda row: "_".join(row.values.astype(str)), axis=1) + .values + ) else: alts = model_spec.columns - choices['vehicle_type'] = choices['vehicle_type'].map(dict(enumerate(alts))) + choices["vehicle_type"] = choices["vehicle_type"].map(dict(enumerate(alts))) # STEP II: append probabilistic vehicle type attributes if probs_spec_file is not None: choices = append_probabilistic_vehtype_type_choices( - choices, model_settings, trace_label) + choices, model_settings, trace_label + ) - vehicles_merged.loc[choices.index, 'already_owned_veh'] = choices['vehicle_type'] + vehicles_merged.loc[choices.index, "already_owned_veh"] = choices[ + "vehicle_type" + ] all_choices.append(choices) all_choosers.append(choosers) @@ -396,24 +437,22 @@ def iterate_vehicle_type_choice( all_choosers = pd.concat(all_choosers) # appending vehicle type data to the vehicle table - additional_cols = model_settings.get('COLS_TO_INCLUDE_IN_VEHICLE_TABLE') + additional_cols = model_settings.get("COLS_TO_INCLUDE_IN_VEHICLE_TABLE") if additional_cols: - additional_cols.append('vehicle_type') - all_choices = all_choices.reset_index().merge( - vehicle_type_data[additional_cols], - how='left', on='vehicle_type').set_index('vehicle_id') + additional_cols.append("vehicle_type") + all_choices = ( + all_choices.reset_index() + .merge(vehicle_type_data[additional_cols], how="left", on="vehicle_type") + .set_index("vehicle_id") + ) return all_choices, all_choosers @inject.step() def vehicle_type_choice( - persons, - households, - vehicles, - vehicles_merged, - chunk_size, - trace_hh_id): + persons, households, vehicles, vehicles_merged, chunk_size, trace_hh_id +): """Assign a vehicle type to each vehicle in the `vehicles` table. If a "SIMULATION_TYPE" is set to simple_simulate in the @@ -456,13 +495,13 @@ def vehicle_type_choice( chunk_size : orca.injectable trace_hh_id : orca.injectable """ - trace_label = 'vehicle_type_choice' - model_settings_file_name = 'vehicle_type_choice.yaml' + trace_label = "vehicle_type_choice" + model_settings_file_name = "vehicle_type_choice.yaml" model_settings = config.read_model_settings(model_settings_file_name) - estimator = estimation.manager.begin_estimation('vehicle_type') + estimator = estimation.manager.begin_estimation("vehicle_type") - model_spec_raw = simulate.read_model_spec(file_name=model_settings['SPEC']) + model_spec_raw = simulate.read_model_spec(file_name=model_settings["SPEC"]) coefficients_df = simulate.read_model_coefficients(model_settings) model_spec = simulate.eval_coefficients(model_spec_raw, coefficients_df, estimator) @@ -479,7 +518,8 @@ def vehicle_type_choice( locals_dict, estimator, chunk_size, - trace_label) + trace_label, + ) if estimator: estimator.write_model_settings(model_settings, model_settings_file_name) @@ -492,16 +532,18 @@ def vehicle_type_choice( # chooser index must be duplicated in column or it will be omitted from interaction_dataset # estimation requires that chooser_id is either in index or a column of interaction_dataset # so it can be reformatted (melted) and indexed by chooser_id and alt_id - assert choosers.index.name == 'vehicle_id' - assert 'vehicle_id' not in choosers.columns - choosers['vehicle_id'] = choosers.index + assert choosers.index.name == "vehicle_id" + assert "vehicle_id" not in choosers.columns + choosers["vehicle_id"] = choosers.index # FIXME set_alt_id - do we need this for interaction_simulate estimation bundle tables? - estimator.set_alt_id('alt_id') + estimator.set_alt_id("alt_id") estimator.set_chooser_id(choosers.index.name) estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'vehicles', 'vehicle_type_choice') + choices = estimator.get_survey_values( + choices, "vehicles", "vehicle_type_choice" + ) estimator.write_override_choices(choices) estimator.end_estimation() @@ -511,16 +553,16 @@ def vehicle_type_choice( pipeline.replace_table("vehicles", vehicles) # - annotate tables - if model_settings.get('annotate_households'): + if model_settings.get("annotate_households"): annotate_vehicle_type_choice_households(model_settings, trace_label) - if model_settings.get('annotate_persons'): + if model_settings.get("annotate_persons"): annotate_vehicle_type_choice_persons(model_settings, trace_label) - if model_settings.get('annotate_vehicles'): + if model_settings.get("annotate_vehicles"): annotate_vehicle_type_choice_vehicles(model_settings, trace_label) - tracing.print_summary('vehicle_type_choice', vehicles.vehicle_type, value_counts=True) + tracing.print_summary( + "vehicle_type_choice", vehicles.vehicle_type, value_counts=True + ) if trace_hh_id: - tracing.trace_df(vehicles, - label='vehicle_type_choice', - warn_if_empty=True) + tracing.trace_df(vehicles, label="vehicle_type_choice", warn_if_empty=True) diff --git a/activitysim/abm/tables/__init__.py b/activitysim/abm/tables/__init__.py index f22114928b..a78e7ec57f 100644 --- a/activitysim/abm/tables/__init__.py +++ b/activitysim/abm/tables/__init__.py @@ -1,14 +1,17 @@ # ActivitySim # See full license in LICENSE.txt. -from . import households -from . import persons -from . import landuse -from . import accessibility -from . import skims -from . import tours -from . import size_terms -from . import trips -from . import time_windows -from . import shadow_pricing -from . import table_dict -from . import vehicles +from . import ( + accessibility, + disaggregate_accessibility, + households, + landuse, + persons, + shadow_pricing, + size_terms, + skims, + table_dict, + time_windows, + tours, + trips, + vehicles, +) diff --git a/activitysim/abm/tables/accessibility.py b/activitysim/abm/tables/accessibility.py index 5be410f1f1..3fd0544216 100644 --- a/activitysim/abm/tables/accessibility.py +++ b/activitysim/abm/tables/accessibility.py @@ -27,13 +27,16 @@ def accessibility(land_use): if accessibility_df is None: accessibility_df = pd.DataFrame(index=land_use.index) - logger.debug("created placeholder accessibility table %s" % (accessibility_df.shape,)) + logger.debug( + "created placeholder accessibility table %s" % (accessibility_df.shape,) + ) else: - assert accessibility_df.sort_index().index.equals(land_use.to_frame().sort_index().index), \ - f"loaded accessibility table index does not match index of land_use table" + assert accessibility_df.sort_index().index.equals( + land_use.to_frame().sort_index().index + ), f"loaded accessibility table index does not match index of land_use table" logger.info("loaded land_use %s" % (accessibility_df.shape,)) # replace table function with dataframe - inject.add_table('accessibility', accessibility_df) + inject.add_table("accessibility", accessibility_df) return accessibility_df diff --git a/activitysim/abm/tables/disaggregate_accessibility.py b/activitysim/abm/tables/disaggregate_accessibility.py new file mode 100644 index 0000000000..1a9c211462 --- /dev/null +++ b/activitysim/abm/tables/disaggregate_accessibility.py @@ -0,0 +1,267 @@ +# ActivitySim +# See full license in LICENSE.txt. +import logging +import os + +import numpy as np +import pandas as pd +import pandas.api.types as ptypes + +from sklearn.naive_bayes import CategoricalNB +from activitysim.core import inject, config, pipeline, util, input + +logger = logging.getLogger(__name__) + + +def find_nearest_accessibility_zone(choosers, accessibility_df, method="skims"): + """ + Matches choosers zone to the nearest accessibility zones. + Can be achieved by querying the skims or by nearest neighbor of centroids + """ + origin_col = "home_zone_id" + + def weighted_average(df, values, weights): + return df[values].T.dot(df[weights]) / df[weights].sum() + + def nearest_skim(oz, zones): + return ( + oz, + zones[np.argmin([skim_dict.lookup([oz], [az], "DIST") for az in zones])], + ) + + def nearest_node(oz, zones_df): + _idx = util.nearest_node_index(_centroids.loc[oz].XY, zones_df.to_list()) + return oz, zones_df.index[_idx] + + unique_origin_zones = choosers[origin_col].unique() + accessibility_zones = list(set(accessibility_df[origin_col])) + + # First find any choosers zones that are missing from accessibility zones + matched_zones = list(set(unique_origin_zones).intersection(accessibility_zones)) + unmatched_zones = list(set(unique_origin_zones).difference(accessibility_zones)) + + # Store choosers index to ensure consistency + _idx = choosers.index + + if method == "centroids": + # Extract and vectorize TAZ centroids + centroids = inject.get_table("maz_centroids").to_frame() + + # TODO.NF This is a bit hacky, needs some work for variable zone names + if "TAZ" in centroids.columns: + # Find the TAZ centroid as weighted average of MAZ centroids + _centroids = centroids[centroids.TAZ.isin(accessibility_zones)] + _centroids = _centroids[["TAZ", "X", "Y", "Area"]].set_index("TAZ") + _centroids = _centroids.groupby("TAZ").apply( + weighted_average, ["X", "Y"], "Area" + ) + else: + _centroids = centroids + + # create XY tuple columns to find the nearest node with + _centroids["XY"] = list(zip(_centroids.X, _centroids.Y)) + nearest = [nearest_node(Oz, _centroids.XY) for Oz in unmatched_zones] + + else: + skim_dict = inject.get_injectable("skim_dict") + nearest = [nearest_skim(Oz, accessibility_zones) for Oz in unmatched_zones] + + # Add the nearest zones to the matched zones + matched = [(x, x) for x in matched_zones] + matched += nearest + + # Create a DF and merge to choosers + matched_df = pd.DataFrame( + matched, columns=[origin_col, "nearest_accessibility_zone_id"] + ) + matched_df = choosers.reset_index().merge(matched_df, on=origin_col) + matched_df = matched_df.set_index(choosers.index.name) + + return matched_df.loc[_idx] + + +@inject.injectable() +def disaggregate_suffixes(): + return {"SUFFIX": None, "ROOTS": []} + + +@inject.table() +def maz_centroids(): + df = input.read_input_table("maz_centroids") + + if not df.index.is_monotonic_increasing: + df = df.sort_index() + + logger.info("loaded maz_centroids %s" % (df.shape,)) + + # replace table function with dataframe + inject.add_table("maz_centroids", df) + + return df + + +@inject.table() +def proto_disaggregate_accessibility(): + + # Read existing accessibilities, but is not required to enable model compatibility + df = input.read_input_table("proto_disaggregate_accessibility", required=False) + + # If no df, return empty dataframe to skip this model + if not df: + return pd.DataFrame() + + # Ensure canonical index order + if not df.index.is_monotonic_increasing: + df = df.sort_index() + + logger.info("loaded proto_disaggregate_accessibility %s" % (df.shape,)) + + # replace table function with dataframe + inject.add_table("proto_disaggregate_accessibility", df) + + return df + + +@inject.table() +def disaggregate_accessibility(persons, households, land_use, accessibility): + """ + This step initializes pre-computed disaggregate accessibility and merges it onto the full synthetic population. + Function adds merged all disaggregate accessibility tables to the pipeline but returns nothing. + + """ + + # If disaggregate_accessibilities do not exist in the pipeline, it will try loading csv of that name + proto_accessibility_df = pipeline.get_table("proto_disaggregate_accessibility") + + # If there is no table, skip. We do this first to skip as fast as possible + if proto_accessibility_df.empty: + return pd.DataFrame() + + # Get persons merged manually + persons_merged_df = inject.merge_tables( + persons.name, tables=[persons, households, land_use, accessibility] + ) + + # Extract model settings + model_settings = config.read_model_settings("disaggregate_accessibility.yaml") + merging_params = model_settings.get("MERGE_ON") + accessibility_cols = [ + x for x in proto_accessibility_df.columns if "accessibility" in x + ] + + # Parse the merging parameters + assert merging_params is not None + + # Check if already assigned! + if set(accessibility_cols).intersection(persons_merged_df.columns) == set( + accessibility_cols + ): + return + + # Find the nearest zone (spatially) with accessibilities calculated + # Note that from here on the 'home_zone_id' is the matched name + if "nearest_accessibility_zone_id" not in persons_merged_df.columns: + persons_merged_df = find_nearest_accessibility_zone( + persons_merged_df, proto_accessibility_df + ) + + # Copy home_zone_id in proto-table to match the temporary 'nearest_zone_id' + proto_accessibility_df[ + "nearest_accessibility_zone_id" + ] = proto_accessibility_df.home_zone_id + + # Set up the useful columns + exact_cols = merging_params.get("by", []) + if "home_zone_id" in exact_cols: + exact_cols.remove("home_zone_id") + exact_cols.insert(0, "nearest_accessibility_zone_id") + + nearest_cols = merging_params.get("asof", []) + merge_cols = exact_cols + nearest_cols + + assert len(nearest_cols) <= 1 + + # Setup and left and right tables. If asof join is used, it must be sorted. + # Drop duplicate accessibilities once filtered (may expect duplicates on households). + # Simply dropping duplicate households won't work if sampling is not 100% + # because it will get slightly different logsums for households in the same zone. + # This is because different destination zones were selected. To resolve, get mean by cols. + right_df = ( + proto_accessibility_df.groupby(merge_cols)[accessibility_cols] + .mean() + .sort_values(nearest_cols) + .reset_index() + ) + + left_df = persons_merged_df[merge_cols].sort_values(nearest_cols) + + if merging_params.get("method") == "soft": + # a 'soft' merge is possible by finding the nearest neighbor + x_pop, x_proto = left_df[exact_cols], right_df[exact_cols] + y = x_proto.index + + # Note: Naive Bayes is fast but discretely constrained. Some refinement may be necessary + # Index error here means data ranges don't match (e.g., age or hh veh is 0,1,2,3 but proto only has 0,1,2) + # The proto pop must at least be the same size or bigger. + clf = CategoricalNB() + clf.fit(x_proto, y) + + assert not any( + x_proto.duplicated() + ) # Ensure no duplicates, would mean we're missing a variable + # assert all(clf.predict(x_proto) == y) # Ensure it can at least predict on itself. If not there is a problem + # Also can just relax this constraint and report the accuracy to the user + accuracy = round(100 * sum(clf.predict(x_proto) == y) / len(y), 2) + print( + "Disaggregate accessibility merge training accuracy:" + " {}% (<100% typically means insufficient merge-on features.)".format( + accuracy + ) + ) + + # Predict the nearest person ID and pull the logsums + matched_logsums_df = right_df.loc[clf.predict(x_pop)][ + accessibility_cols + ].reset_index(drop=True) + merge_df = pd.concat( + [left_df.reset_index(drop=False), matched_logsums_df], axis=1 + ).set_index("person_id") + + else: + # merge_asof is sensitive to dataframe data types. Ensure consistency by 'upgrading' any int32 to int64 + for col in merge_cols: + if left_df[col].dtype is not right_df[col].dtype: + assert ptypes.is_integer_dtype( + left_df[col] + ) and ptypes.is_integer_dtype(right_df[col]) + datatype = np.max([left_df[col].dtype, right_df[col].dtype]) + left_df[col] = left_df[col].astype(datatype) + right_df[col] = right_df[col].astype(datatype) + + if nearest_cols: + merge_df = pd.merge_asof( + left=left_df, + right=right_df, + by=exact_cols, + on=nearest_cols, + direction="nearest", + ) + else: + merge_df = pd.merge( + left=left_df.reset_index(), right=right_df, on=exact_cols, how="left" + ) + merge_df = merge_df.set_index("person_id") + + # Check that it was correctly left-joined + assert all(persons_merged_df[merge_cols] == merge_df[merge_cols]) + assert any(merge_df[accessibility_cols].isnull()) + + # Inject merged accessibilities so that it can be included in persons_merged function + inject.add_table("disaggregate_accessibility", merge_df[accessibility_cols]) + + return merge_df[accessibility_cols] + + +inject.broadcast( + "disaggregate_accessibility", "persons", cast_index=True, onto_on="person_id" +) diff --git a/activitysim/abm/tables/households.py b/activitysim/abm/tables/households.py index 5d52ec004d..9c115f17ce 100644 --- a/activitysim/abm/tables/households.py +++ b/activitysim/abm/tables/households.py @@ -1,16 +1,11 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - import logging +from builtins import range import pandas as pd -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import mem - +from activitysim.core import inject, mem, pipeline, tracing from activitysim.core.input import read_input_table logger = logging.getLogger(__name__) @@ -30,17 +25,21 @@ def households(households_sample_size, override_hh_ids, trace_hh_id): if override_hh_ids is not None: # trace_hh_id will not used if it is not in list of override_hh_ids - logger.info("override household list containing %s households" % len(override_hh_ids)) + logger.info( + "override household list containing %s households" % len(override_hh_ids) + ) df = df_full[df_full.index.isin(override_hh_ids)] households_sliced = True if df.shape[0] < len(override_hh_ids): - logger.info("found %s of %s households in override household list" % - (df.shape[0], len(override_hh_ids))) + logger.info( + "found %s of %s households in override household list" + % (df.shape[0], len(override_hh_ids)) + ) if df.shape[0] == 0: - raise RuntimeError('No override households found in store') + raise RuntimeError("No override households found in store") # if we are tracing hh exclusively elif trace_hh_id and households_sample_size == 1: @@ -52,7 +51,9 @@ def households(households_sample_size, override_hh_ids, trace_hh_id): # if we need a subset of full store elif tot_households > households_sample_size > 0: - logger.info("sampling %s of %s households" % (households_sample_size, tot_households)) + logger.info( + "sampling %s of %s households" % (households_sample_size, tot_households) + ) """ Because random seed is set differently for each step, sampling of households using @@ -64,15 +65,19 @@ def households(households_sample_size, override_hh_ids, trace_hh_id): if the pipeline rng's base_seed is changed """ - prng = pipeline.get_rn_generator().get_external_rng('sample_households') - df = df_full.take(prng.choice(len(df_full), size=households_sample_size, replace=False)) + prng = pipeline.get_rn_generator().get_external_rng("sample_households") + df = df_full.take( + prng.choice(len(df_full), size=households_sample_size, replace=False) + ) households_sliced = True # if tracing and we missed trace_hh in sample, but it is in full store if trace_hh_id and trace_hh_id not in df.index and trace_hh_id in df_full.index: # replace first hh in sample with trace_hh - logger.debug("replacing household %s with %s in household sample" % - (df.index[0], trace_hh_id)) + logger.debug( + "replacing household %s with %s in household sample" + % (df.index[0], trace_hh_id) + ) df_hh = df_full.loc[[trace_hh_id]] df = pd.concat([df_hh, df[1:]]) @@ -80,24 +85,24 @@ def households(households_sample_size, override_hh_ids, trace_hh_id): df = df_full # persons table - inject.add_injectable('households_sliced', households_sliced) + inject.add_injectable("households_sliced", households_sliced) - if 'sample_rate' not in df.columns: + if "sample_rate" not in df.columns: if households_sample_size == 0: sample_rate = 1 else: sample_rate = round(households_sample_size / tot_households, 3) - df['sample_rate'] = sample_rate + df["sample_rate"] = sample_rate logger.info("loaded households %s" % (df.shape,)) # replace table function with dataframe - inject.add_table('households', df) + inject.add_table("households", df) - pipeline.get_rn_generator().add_channel('households', df) + pipeline.get_rn_generator().add_channel("households", df) - tracing.register_traceable_table('households', df) + tracing.register_traceable_table("households", df) if trace_hh_id: tracing.trace_df(df, "raw.households", warn_if_empty=True) @@ -107,11 +112,13 @@ def households(households_sample_size, override_hh_ids, trace_hh_id): # this is a common merge so might as well define it once here and use it @inject.table() def households_merged(households, land_use, accessibility): - return inject.merge_tables(households.name, tables=[households, land_use, accessibility]) + return inject.merge_tables( + households.name, tables=[households, land_use, accessibility] + ) -inject.broadcast('households', 'persons', cast_index=True, onto_on='household_id') +inject.broadcast("households", "persons", cast_index=True, onto_on="household_id") # this would be accessibility around the household location - be careful with # this one as accessibility at some other location can also matter -inject.broadcast('accessibility', 'households', cast_index=True, onto_on='home_zone_id') +inject.broadcast("accessibility", "households", cast_index=True, onto_on="home_zone_id") diff --git a/activitysim/abm/tables/landuse.py b/activitysim/abm/tables/landuse.py index da0a5f8637..cf4e72420e 100644 --- a/activitysim/abm/tables/landuse.py +++ b/activitysim/abm/tables/landuse.py @@ -24,9 +24,9 @@ def land_use(): logger.info("loaded land_use %s" % (df.shape,)) # replace table function with dataframe - inject.add_table('land_use', df) + inject.add_table("land_use", df) return df -inject.broadcast('land_use', 'households', cast_index=True, onto_on='home_zone_id') +inject.broadcast("land_use", "households", cast_index=True, onto_on="home_zone_id") diff --git a/activitysim/abm/tables/persons.py b/activitysim/abm/tables/persons.py index 6eb1683e76..8b756a9404 100644 --- a/activitysim/abm/tables/persons.py +++ b/activitysim/abm/tables/persons.py @@ -4,11 +4,7 @@ import pandas as pd -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import mem - +from activitysim.core import inject, mem, pipeline, tracing from activitysim.core.input import read_input_table logger = logging.getLogger(__name__) @@ -18,7 +14,7 @@ def read_raw_persons(households): df = read_input_table("persons") - if inject.get_injectable('households_sliced', False): + if inject.get_injectable("households_sliced", False): # keep only persons in the sampled households df = df[df.household_id.isin(households.index)] @@ -33,11 +29,11 @@ def persons(households, trace_hh_id): logger.info("loaded persons %s" % (df.shape,)) # replace table function with dataframe - inject.add_table('persons', df) + inject.add_table("persons", df) - pipeline.get_rn_generator().add_channel('persons', df) + pipeline.get_rn_generator().add_channel("persons", df) - tracing.register_traceable_table('persons', df) + tracing.register_traceable_table("persons", df) if trace_hh_id: tracing.trace_df(df, "raw.persons", warn_if_empty=True) @@ -48,21 +44,44 @@ def persons(households, trace_hh_id): persons_without_households = ~df.household_id.isin(households.index) if persons_without_households.any(): - logger.error(f"{persons_without_households.sum()} persons out of {len(persons)} without households\n" - f"{pd.Series({'person_id': persons_without_households.index.values})}") - raise RuntimeError(f"{persons_without_households.sum()} persons with bad household_id") - - households_without_persons = df.groupby('household_id').size().reindex(households.index).isnull() + logger.error( + f"{persons_without_households.sum()} persons out of {len(persons)} without households\n" + f"{pd.Series({'person_id': persons_without_households.index.values})}" + ) + raise RuntimeError( + f"{persons_without_households.sum()} persons with bad household_id" + ) + + households_without_persons = ( + df.groupby("household_id").size().reindex(households.index).isnull() + ) if households_without_persons.any(): - logger.error(f"{households_without_persons.sum()} households out of {len(households.index)} without persons\n" - f"{pd.Series({'household_id': households_without_persons.index.values})}") - raise RuntimeError(f"{households_without_persons.sum()} households with no persons") + logger.error( + f"{households_without_persons.sum()} households out of {len(households.index)} without persons\n" + f"{pd.Series({'household_id': households_without_persons.index.values})}" + ) + raise RuntimeError( + f"{households_without_persons.sum()} households with no persons" + ) return df # another common merge for persons @inject.table() -def persons_merged(persons, households, land_use, accessibility): - - return inject.merge_tables(persons.name, tables=[persons, households, land_use, accessibility]) +def persons_merged( + persons, households, land_use, accessibility, disaggregate_accessibility +): + + if not disaggregate_accessibility.to_frame().empty: + tables = [ + persons, + households, + land_use, + accessibility, + disaggregate_accessibility, + ] + else: + tables = [persons, households, land_use, accessibility] + + return inject.merge_tables(persons.name, tables=tables) diff --git a/activitysim/abm/tables/shadow_pricing.py b/activitysim/abm/tables/shadow_pricing.py index 823fd5515c..e5e9026c11 100644 --- a/activitysim/abm/tables/shadow_pricing.py +++ b/activitysim/abm/tables/shadow_pricing.py @@ -1,22 +1,17 @@ # ActivitySim # See full license in LICENSE.txt. +import ctypes import logging -import time import multiprocessing -import ctypes - +import time from collections import OrderedDict import numpy as np import pandas as pd -from activitysim.core import inject -from activitysim.core import util -from activitysim.core import config -from activitysim.core import tracing - from activitysim.abm.tables.size_terms import tour_destination_size_terms - +from activitysim.core import config, inject, tracing, util +from activitysim.core.input import read_input_table logger = logging.getLogger(__name__) @@ -25,9 +20,9 @@ See docstrings for documentation on: -update_shadow_prices how shadow_price coefficients are calculated -synchronize_choices interprocess communication to compute aggregate modeled_size -check_fit convergence criteria for shadow_pric iteration +update_shadow_prices how shadow_price coefficients are calculated +synchronize_modeled_size interprocess communication to compute aggregate modeled_size +check_fit convergence criteria for shadow_pric iteration Import concepts and variables: @@ -52,13 +47,19 @@ we use the first two rows of the final column in numpy-wrapped shared data as 'reverse semaphores' (they synchronize concurrent access to shared data resource rather than throttling access) -ShadowPriceCalculator.synchronize_choices coordinates access to the global aggregate zone counts +ShadowPriceCalculator.synchronize_modeled_size coordinates access to the global aggregate zone counts (local_modeled_size summed across all sub-processes) using these two semaphores (which are really only tuples of indexes of locations in the shared data array. """ TALLY_CHECKIN = (0, -1) TALLY_CHECKOUT = (1, -1) +default_segment_to_name_dict = { + # model_selector : persons_segment_name + "school": "school_segment", + "workplace": "income_segment", +} + def size_table_name(model_selector): """ @@ -77,10 +78,17 @@ def size_table_name(model_selector): class ShadowPriceCalculator(object): - - def __init__(self, model_settings, num_processes, shared_data=None, shared_data_lock=None): + def __init__( + self, + model_settings, + num_processes, + shared_data=None, + shared_data_lock=None, + shared_data_choice=None, + shared_data_choice_lock=None, + shared_sp_choice_df=None, + ): """ - Presence of shared_data is used as a flag for multiprocessing If we are multiprocessing, shared_data should be a multiprocessing.RawArray buffer to aggregate modeled_size across all sub-processes, and shared_data_lock should be @@ -97,75 +105,159 @@ def __init__(self, model_settings, num_processes, shared_data=None, shared_data_ """ self.num_processes = num_processes - self.use_shadow_pricing = bool(config.setting('use_shadow_pricing')) - self.saved_shadow_price_file_path = None # set by read_saved_shadow_prices if loaded + self.use_shadow_pricing = bool(config.setting("use_shadow_pricing")) + self.saved_shadow_price_file_path = ( + None # set by read_saved_shadow_prices if loaded + ) - self.model_selector = model_settings['MODEL_SELECTOR'] + self.model_selector = model_settings["MODEL_SELECTOR"] - full_model_run = config.setting('households_sample_size') == 0 + full_model_run = config.setting("households_sample_size") == 0 if self.use_shadow_pricing and not full_model_run: - logger.warning("deprecated combination of use_shadow_pricing and not full_model_run") + logger.warning( + "deprecated combination of use_shadow_pricing and not full_model_run" + ) - if (self.num_processes > 1) and not config.setting('fail_fast'): + if (self.num_processes > 1) and not config.setting("fail_fast"): # if we are multiprocessing, then fail_fast should be true or we will wait forever for failed processes - logger.warning("deprecated combination of multiprocessing and not fail_fast") - raise RuntimeError("Shadow pricing requires fail_fast setting in multiprocessing mode") + logger.warning( + "deprecated combination of multiprocessing and not fail_fast" + ) + raise RuntimeError( + "Shadow pricing requires fail_fast setting in multiprocessing mode" + ) - self.segment_ids = model_settings['SEGMENT_IDS'] + self.segment_ids = model_settings["SEGMENT_IDS"] - # - modeled_size (set by call to set_choices/synchronize_choices) + # - modeled_size (set by call to set_choices/synchronize_modeled_size) self.modeled_size = None if self.use_shadow_pricing: - self.shadow_settings = config.read_model_settings('shadow_pricing.yaml') + self.shadow_settings = config.read_model_settings("shadow_pricing.yaml") for k in self.shadow_settings: - logger.debug("shadow_settings %s: %s" % (k, self.shadow_settings.get(k))) + logger.debug( + "shadow_settings %s: %s" % (k, self.shadow_settings.get(k)) + ) + + if ( + self.model_selector not in ["workplace", "school"] + and self.shadow_settings["SHADOW_PRICE_METHOD"] == "simulation" + ): + logger.warning( + "Shadow price simulation method is only implemented for workplace and school." + ) + logger.warning(f"Not using shadow pricing for {self.model_selector}") + self.use_shadow_pricing = False # - destination_size_table (desired_size) - self.desired_size = inject.get_table(size_table_name(self.model_selector)).to_frame() + self.desired_size = inject.get_table( + size_table_name(self.model_selector) + ).to_frame() self.desired_size = self.desired_size.sort_index() - assert self.desired_size.index.is_monotonic_increasing, \ - f"{size_table_name(self.model_selector)} not is_monotonic_increasing" + assert ( + self.desired_size.index.is_monotonic_increasing + ), f"{size_table_name(self.model_selector)} not is_monotonic_increasing" # - shared_data if shared_data is not None: assert shared_data.shape[0] == self.desired_size.shape[0] - assert shared_data.shape[1] == self.desired_size.shape[1] + 1 # tally column + assert ( + shared_data.shape[1] == self.desired_size.shape[1] + 1 + ) # tally column assert shared_data_lock is not None self.shared_data = shared_data self.shared_data_lock = shared_data_lock + self.shared_data_choice = shared_data_choice + self.shared_data_choice_lock = shared_data_choice_lock + + self.shared_sp_choice_df = shared_sp_choice_df + if shared_sp_choice_df is not None: + self.shared_sp_choice_df = self.shared_sp_choice_df.astype("int") + self.shared_sp_choice_df = self.shared_sp_choice_df.set_index("person_id") + self.shared_sp_choice_df["choice"] = int(0) + # - load saved shadow_prices (if available) and set max_iterations accordingly if self.use_shadow_pricing: self.shadow_prices = None - self.shadow_price_method = self.shadow_settings['SHADOW_PRICE_METHOD'] - assert self.shadow_price_method in ['daysim', 'ctramp'] + self.shadow_price_method = self.shadow_settings["SHADOW_PRICE_METHOD"] + assert self.shadow_price_method in ["daysim", "ctramp", "simulation"] + # ignore convergence criteria for zones smaller than target_threshold + self.target_threshold = self.shadow_settings["TARGET_THRESHOLD"] - if self.shadow_settings['LOAD_SAVED_SHADOW_PRICES']: + if self.shadow_settings["LOAD_SAVED_SHADOW_PRICES"]: # read_saved_shadow_prices logs error and returns None if file not found self.shadow_prices = self.read_saved_shadow_prices(model_settings) if self.shadow_prices is None: - self.max_iterations = self.shadow_settings.get('MAX_ITERATIONS', 5) + self.max_iterations = self.shadow_settings.get("MAX_ITERATIONS", 5) else: - self.max_iterations = self.shadow_settings.get('MAX_ITERATIONS_SAVED', 1) + self.max_iterations = self.shadow_settings.get( + "MAX_ITERATIONS_SAVED", 1 + ) # initial_shadow_price if we did not load if self.shadow_prices is None: # initial value depends on method - initial_shadow_price = 1.0 if self.shadow_price_method == 'ctramp' else 0.0 - self.shadow_prices = \ - pd.DataFrame(data=initial_shadow_price, - columns=self.desired_size.columns, - index=self.desired_size.index) + initial_shadow_price = ( + 1.0 if self.shadow_price_method == "ctramp" else 0.0 + ) + self.shadow_prices = pd.DataFrame( + data=initial_shadow_price, + columns=self.desired_size.columns, + index=self.desired_size.index, + ) else: self.max_iterations = 1 self.num_fail = pd.DataFrame(index=self.desired_size.columns) self.max_abs_diff = pd.DataFrame(index=self.desired_size.columns) self.max_rel_diff = pd.DataFrame(index=self.desired_size.columns) + self.choices_by_iteration = pd.DataFrame() + + if ( + self.use_shadow_pricing + and self.shadow_settings["SHADOW_PRICE_METHOD"] == "simulation" + ): + + assert self.model_selector in ["workplace", "school"] + self.sampled_persons = pd.DataFrame() + self.target = {} + land_use = inject.get_table("land_use").to_frame() + + if self.model_selector == "workplace": + employment_targets = self.shadow_settings[ + "workplace_segmentation_targets" + ] + assert ( + employment_targets is not None + ), "Need to supply workplace_segmentation_targets in shadow_pricing.yaml" + + for segment, target in employment_targets.items(): + assert ( + segment in self.shadow_prices.columns + ), f"{segment} is not in {self.shadow_prices.columns}" + assert ( + target in land_use.columns + ), f"{target} is not in {land_use.columns}" + self.target[segment] = land_use[target] + + elif self.model_selector == "school": + school_targets = self.shadow_settings["school_segmentation_targets"] + assert ( + school_targets is not None + ), "Need to supply school_segmentation_targets in shadow_pricing.yaml" + + for segment, target in school_targets.items(): + assert ( + segment in self.shadow_prices.columns + ), f"{segment} is not in {self.shadow_prices.columns}" + assert ( + target in land_use.columns + ), f"{target} is not in landuse columns: {land_use.columns}" + self.target[segment] = land_use[target] def read_saved_shadow_prices(self, model_settings): """ @@ -184,10 +276,14 @@ def read_saved_shadow_prices(self, model_settings): shadow_prices = None # - load saved shadow_prices - saved_shadow_price_file_name = model_settings.get('SAVED_SHADOW_PRICE_TABLE_NAME') + saved_shadow_price_file_name = model_settings.get( + "SAVED_SHADOW_PRICE_TABLE_NAME" + ) if saved_shadow_price_file_name: # FIXME - where should we look for this file? - file_path = config.data_file_path(saved_shadow_price_file_name, mandatory=False) + file_path = config.data_file_path( + saved_shadow_price_file_name, mandatory=False + ) if file_path: shadow_prices = pd.read_csv(file_path, index_col=0) self.saved_shadow_price_file_path = file_path # informational @@ -197,35 +293,25 @@ def read_saved_shadow_prices(self, model_settings): return shadow_prices - def synchronize_choices(self, local_modeled_size): + def synchronize_modeled_size(self, local_modeled_size): """ We have to wait until all processes have computed choices and aggregated them by segment and zone before we can compute global aggregate zone counts (by segment). Since the global zone counts are in shared data, we have to coordinate access to the data structure across sub-processes. - Note that all access to self.shared_data has to be protected by acquiring shared_data_lock - - ShadowPriceCalculator.synchronize_choices coordinates access to the global aggregate + ShadowPriceCalculator.synchronize_modeled_size coordinates access to the global aggregate zone counts (local_modeled_size summed across all sub-processes). - * All processes wait (in case we are iterating) until any stragglers from the previous iteration have exited the building. (TALLY_CHECKOUT goes to zero) - * Processes then add their local counts into the shared_data and increment TALLY_CHECKIN - * All processes wait until everybody has checked in (TALLY_CHECKIN == num_processes) - * Processes make local copy of shared_data and check out (increment TALLY_CHECKOUT) - * first_in process waits until all processes have checked out, then zeros shared_data and clears semaphores - Parameters ---------- local_modeled_size : pandas DataFrame - - Returns ------- global_modeled_size_df : pandas DataFrame @@ -276,10 +362,82 @@ def wait(tally, target): logger.info("first_in clearing shared_data") # convert summed numpy array data to conform to original dataframe - global_modeled_size_df = \ - pd.DataFrame(data=global_modeled_size_array, - index=local_modeled_size.index, - columns=local_modeled_size.columns) + global_modeled_size_df = pd.DataFrame( + data=global_modeled_size_array, + index=local_modeled_size.index, + columns=local_modeled_size.columns, + ) + + return global_modeled_size_df + + def synchronize_choices(self, local_modeled_size): + """ + Same thing as the above synchronize_modeled_size method with the small + difference of keeping track of the individual choices instead of the + aggregate modeled choices between processes. + + Parameters + ---------- + local_modeled_size : pandas DataFrame + + + Returns + ------- + global_modeled_size_df : pandas DataFrame + local copy of shared global_modeled_size data as dataframe + with same shape and columns as local_modeled_size + """ + + # shouldn't be called if we are not multiprocessing + assert self.shared_data_choice is not None + assert self.num_processes > 1 + + def get_tally(t): + with self.shared_data_choice_lock: + return self.shared_data_choice[t] + + def wait(tally, target): + while get_tally(tally) != target: + time.sleep(1) + + # - nobody checks in until checkout clears + wait(TALLY_CHECKOUT, 0) + + # - add local_modeled_size data, increment TALLY_CHECKIN + with self.shared_data_choice_lock: + first_in = self.shared_data_choice[TALLY_CHECKIN] == 0 + # add local data from df to shared data buffer + # final column is used for tallys, hence the negative index + # Ellipsis expands : to fill available dims so [..., 0:-1] is the whole array except for the tallys + self.shared_data_choice[..., 0:-1] += local_modeled_size.values.astype( + np.int64 + ) + self.shared_data_choice[TALLY_CHECKIN] += 1 + + # - wait until everybody else has checked in + wait(TALLY_CHECKIN, self.num_processes) + + # - copy shared data, increment TALLY_CHECKIN + with self.shared_data_choice_lock: + logger.info("copy shared_data") + # numpy array with sum of local_modeled_size.values from all processes + global_modeled_size_array = self.shared_data_choice[..., 0:-1].copy() + self.shared_data_choice[TALLY_CHECKOUT] += 1 + + # - first in waits until all other processes have checked out, and cleans tub + if first_in: + wait(TALLY_CHECKOUT, self.num_processes) + with self.shared_data_choice_lock: + # zero shared_data, clear TALLY_CHECKIN, and TALLY_CHECKOUT semaphores + self.shared_data_choice[:] = 0 + logger.info("first_in clearing shared_data") + + # convert summed numpy array data to conform to original dataframe + global_modeled_size_df = pd.DataFrame( + data=global_modeled_size_array, + index=local_modeled_size.index, + columns=local_modeled_size.columns, + ) return global_modeled_size_df @@ -302,8 +460,7 @@ def set_choices(self, choices, segment_ids): modeled_size = pd.DataFrame(index=self.desired_size.index) for seg_name in self.desired_size: - segment_choices = \ - choices[(segment_ids == self.segment_ids[seg_name])] + segment_choices = choices[(segment_ids == self.segment_ids[seg_name])] modeled_size[seg_name] = segment_choices.value_counts() @@ -311,10 +468,29 @@ def set_choices(self, choices, segment_ids): if self.num_processes == 1: # - not multiprocessing + self.choices_synced = choices self.modeled_size = modeled_size else: # - if we are multiprocessing, we have to aggregate across sub-processes - self.modeled_size = self.synchronize_choices(modeled_size) + self.modeled_size = self.synchronize_modeled_size(modeled_size) + + # need to also store individual choices if simulation approach + choice_merged = pd.merge( + self.shared_sp_choice_df, + choices, + left_index=True, + right_index=True, + how="left", + suffixes=("_x", "_y"), + ) + + choice_merged["choice_y"] = choice_merged["choice_y"].fillna(0) + choice_merged["choice"] = ( + choice_merged["choice_x"] + choice_merged["choice_y"] + ) + choice_merged = choice_merged.drop(columns=["choice_x", "choice_y"]) + + self.choices_synced = self.synchronize_choices(choice_merged) def check_fit(self, iteration): """ @@ -343,45 +519,97 @@ def check_fit(self, iteration): # - convergence criteria for check_fit # ignore convergence criteria for zones smaller than size_threshold - size_threshold = self.shadow_settings['SIZE_THRESHOLD'] + size_threshold = self.shadow_settings["SIZE_THRESHOLD"] # zone passes if modeled is within percent_tolerance of desired_size - percent_tolerance = self.shadow_settings['PERCENT_TOLERANCE'] + percent_tolerance = self.shadow_settings["PERCENT_TOLERANCE"] # max percentage of zones allowed to fail - fail_threshold = self.shadow_settings['FAIL_THRESHOLD'] + fail_threshold = self.shadow_settings["FAIL_THRESHOLD"] + # option to write out choices by iteration for each person to trace folder + write_choices = self.shadow_settings.get("WRITE_ITERATION_CHOICES", False) + if write_choices: + self.choices_by_iteration[iteration] = self.choices_synced - modeled_size = self.modeled_size - desired_size = self.desired_size + if self.shadow_settings["SHADOW_PRICE_METHOD"] != "simulation": - abs_diff = (desired_size - modeled_size).abs() + modeled_size = self.modeled_size + desired_size = self.desired_size - rel_diff = abs_diff / modeled_size + abs_diff = (desired_size - modeled_size).abs() - # ignore zones where desired_size < threshold - rel_diff.where(desired_size >= size_threshold, 0, inplace=True) + self.rel_diff = abs_diff / modeled_size - # ignore zones where rel_diff < percent_tolerance - rel_diff.where(rel_diff > (percent_tolerance / 100.0), 0, inplace=True) + # ignore zones where desired_size < threshold + self.rel_diff.where(desired_size >= size_threshold, 0, inplace=True) - self.num_fail['iter%s' % iteration] = (rel_diff > 0).sum() - self.max_abs_diff['iter%s' % iteration] = abs_diff.max() - self.max_rel_diff['iter%s' % iteration] = rel_diff.max() + # ignore zones where rel_diff < percent_tolerance + self.rel_diff.where( + self.rel_diff > (percent_tolerance / 100.0), 0, inplace=True + ) - total_fails = (rel_diff > 0).values.sum() + self.num_fail["iter%s" % iteration] = (self.rel_diff > 0).sum() + self.max_abs_diff["iter%s" % iteration] = abs_diff.max() + self.max_rel_diff["iter%s" % iteration] = self.rel_diff.max() - # FIXME - should not count zones where desired_size < threshold? (could calc in init) - max_fail = (fail_threshold / 100.0) * util.iprod(desired_size.shape) + total_fails = (self.rel_diff > 0).values.sum() - converged = (total_fails <= max_fail) + # FIXME - should not count zones where desired_size < threshold? (could calc in init) + max_fail = (fail_threshold / 100.0) * util.iprod(desired_size.shape) - # for c in desired_size: - # print("check_fit %s segment %s" % (self.model_selector, c)) - # print(" modeled %s" % (modeled_size[c].sum())) - # print(" desired %s" % (desired_size[c].sum())) - # print(" max abs diff %s" % (abs_diff[c].max())) - # print(" max rel diff %s" % (rel_diff[c].max())) + converged = total_fails <= max_fail - logger.info("check_fit %s iteration: %s converged: %s max_fail: %s total_fails: %s" % - (self.model_selector, iteration, converged, max_fail, total_fails)) + else: + rel_diff_df = pd.DataFrame(index=self.shadow_prices.index) + abs_diff_df = pd.DataFrame(index=self.shadow_prices.index) + # checking each segment + for segment in self.segment_ids: + desired_size = self.target[segment] + modeled_size = self.modeled_size[segment] + + # loop over other segments and add to modeled share if they have the same target + for other_segment in self.segment_ids: + if (segment != other_segment) & ( + self.target[segment].equals(self.target[other_segment]) + ): + modeled_size = modeled_size + self.modeled_size[other_segment] + + # want to match distribution, not absolute numbers so share is computed + desired_share = desired_size / desired_size.sum() + modeled_share = modeled_size / modeled_size.sum() + + abs_diff_df[segment] = (desired_size - modeled_size).abs() + + rel_diff = desired_share / modeled_share + rel_diff = np.where( + # is the desired size below the threshold? + (desired_size <= self.target_threshold) + # is the difference within the tolerance? + | (np.abs(1 - rel_diff) < (percent_tolerance / 100.0)), + 0, + rel_diff, + ) + rel_diff_df[segment] = rel_diff + + # relative difference is set to max across segments + self.rel_diff = rel_diff_df.max(axis=1) + abs_diff = abs_diff_df.max(axis=1) + + self.num_fail["iter%s" % iteration] = (self.rel_diff > 0).sum() + self.max_abs_diff["iter%s" % iteration] = abs_diff.max() + self.max_rel_diff["iter%s" % iteration] = rel_diff.max() + + total_fails = (self.rel_diff > 0).values.sum() + + # FIXME - should not count zones where desired_size < threshold? (could calc in init) + max_fail = (fail_threshold / 100.0) * util.iprod(desired_size.shape) + + converged = (total_fails <= np.ceil(max_fail)) | ( + (iteration > 1) & (len(self.sampled_persons) == 0) + ) + + logger.info( + "check_fit %s iteration: %s converged: %s max_fail: %s total_fails: %s" + % (self.model_selector, iteration, converged, max_fail, total_fails) + ) # - convergence stats if converged or iteration == self.max_iterations: @@ -389,6 +617,13 @@ def check_fit(self, iteration): logger.info("\nshadow_pricing max_rel_diff\n%s" % self.max_rel_diff) logger.info("\nshadow_pricing num_fail\n%s" % self.num_fail) + if write_choices: + tracing.write_csv( + self.choices_by_iteration, + "%s_choices_by_shadow_price_iteration" % self.model_selector, + transpose=False, + ) + return converged def update_shadow_prices(self): @@ -422,7 +657,7 @@ def update_shadow_prices(self): assert self.use_shadow_pricing - shadow_price_method = self.shadow_settings['SHADOW_PRICE_METHOD'] + shadow_price_method = self.shadow_settings["SHADOW_PRICE_METHOD"] # can't update_shadow_prices until after first iteration # modeled_size should have been set by set_choices at end of previous iteration @@ -430,7 +665,7 @@ def update_shadow_prices(self): assert self.desired_size is not None assert self.shadow_prices is not None - if shadow_price_method == 'ctramp': + if shadow_price_method == "ctramp": # - CTRAMP """ if ( modeledDestinationLocationsByDestZone > 0 ) @@ -438,7 +673,7 @@ def update_shadow_prices(self): // else // shadowPrice *= scaledSize; """ - damping_factor = self.shadow_settings['DAMPING_FACTOR'] + damping_factor = self.shadow_settings["DAMPING_FACTOR"] assert 0 < damping_factor <= 1 new_scale_factor = self.desired_size / self.modeled_size @@ -447,9 +682,11 @@ def update_shadow_prices(self): # following CTRAMP (revised version - with 0 dest zone case lines commented out) # avoid zero-divide for 0 modeled_size, by leaving shadow_prices unchanged - new_shadow_prices.where(self.modeled_size > 0, self.shadow_prices, inplace=True) + new_shadow_prices.where( + self.modeled_size > 0, self.shadow_prices, inplace=True + ) - elif shadow_price_method == 'daysim': + elif shadow_price_method == "daysim": # - Daysim """ if modeled > desired: # if modeled is too high, increase shadow price @@ -467,33 +704,137 @@ def update_shadow_prices(self): shadow_price = shadow_price + log(np.maximum(target, 0.01) / np.maximum(modeled, 0.01)) """ # FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? - absolute_tolerance = self.shadow_settings['DAYSIM_ABSOLUTE_TOLERANCE'] - percent_tolerance = self.shadow_settings['DAYSIM_PERCENT_TOLERANCE'] / 100.0 + absolute_tolerance = self.shadow_settings["DAYSIM_ABSOLUTE_TOLERANCE"] + percent_tolerance = self.shadow_settings["DAYSIM_PERCENT_TOLERANCE"] / 100.0 assert 0 <= percent_tolerance <= 1 target = np.where( self.modeled_size > self.desired_size, - np.minimum(self.modeled_size, - np.minimum(self.desired_size * (1 + percent_tolerance), - self.desired_size + absolute_tolerance)), - np.maximum(self.modeled_size, - np.maximum(self.desired_size * (1 - percent_tolerance), - self.desired_size - absolute_tolerance))) + np.minimum( + self.modeled_size, + np.minimum( + self.desired_size * (1 + percent_tolerance), + self.desired_size + absolute_tolerance, + ), + ), + np.maximum( + self.modeled_size, + np.maximum( + self.desired_size * (1 - percent_tolerance), + self.desired_size - absolute_tolerance, + ), + ), + ) # adjustment = np.log(np.maximum(target, 0.01) / np.maximum(self.modeled_size, 0.01)) - adjustment = np.log(np.maximum(target, 0.01) / np.maximum(self.modeled_size, 1)) + adjustment = np.log( + np.maximum(target, 0.01) / np.maximum(self.modeled_size, 1) + ) new_shadow_prices = self.shadow_prices + adjustment + elif shadow_price_method == "simulation": + # - NewMethod + """ + C_j = (emp_j/sum(emp_j))/(workers_j/sum(workers_j)) + + if C_j > 1: #under-estimate workers in zone + + shadow_price_j = 0 + + elif C_j < 1: #over-estimate workers in zone + + shadow_price_j = -999 + resimulate n workers from zone j, with n = int(workers_j-emp_j/sum(emp_j*workers_j)) + """ + percent_tolerance = self.shadow_settings["PERCENT_TOLERANCE"] + sampled_persons = pd.DataFrame() + persons_merged = inject.get_table("persons_merged").to_frame() + + # need to join the segment to the choices to sample correct persons + segment_to_name_dict = self.shadow_settings.get( + "", default_segment_to_name_dict + ) + segment_name = segment_to_name_dict[self.model_selector] + + if type(self.choices_synced) != pd.DataFrame: + self.choices_synced = self.choices_synced.to_frame() + + choices_synced = self.choices_synced.merge( + persons_merged[segment_name], + how="left", + left_index=True, + right_index=True, + ).rename(columns={segment_name: "segment"}) + + for segment in self.segment_ids: + desired_size = self.target[segment] + modeled_size = self.modeled_size[segment] + + # loop over other segments and add to modeled share if they have the same target + for other_segment in self.segment_ids: + if (segment != other_segment) & ( + self.target[segment].equals(self.target[other_segment]) + ): + modeled_size = modeled_size + self.modeled_size[other_segment] + + # want to match distribution, not absolute numbers so share is computed + desired_share = desired_size / desired_size.sum() + modeled_share = modeled_size / modeled_size.sum() + + sprice = desired_share / modeled_share + sprice.fillna(0, inplace=True) + sprice.replace([np.inf, -np.inf], 0, inplace=True) + + # shadow prices are set to -999 if overassigned or 0 if the zone still has room for this segment + self.shadow_prices[segment] = np.where( + (sprice <= 1 + percent_tolerance / 100), -999, 0 + ) + + zonal_sample_rate = 1 - sprice + overpredicted_zones = self.shadow_prices[ + self.shadow_prices[segment] == -999 + ].index + zones_outside_tol = zonal_sample_rate[ + zonal_sample_rate > percent_tolerance / 100 + ].index + small_zones = desired_size[desired_size <= self.target_threshold].index + + choices = choices_synced[ + (choices_synced["choice"].isin(overpredicted_zones)) + & (choices_synced["choice"].isin(zones_outside_tol)) + & ~(choices_synced["choice"].isin(small_zones)) + # sampling only from people in this segment + & (choices_synced["segment"] == self.segment_ids[segment]) + ]["choice"] + + choices_index = choices.index.name + choices = choices.reset_index() + + # handling unlikely cases where there are no more overassigned zones, but a few underassigned zones remain + if len(choices) > 0: + current_sample = ( + choices.groupby("choice") + .apply( + # FIXME is this sample stable? + lambda x: x.sample( + frac=zonal_sample_rate.loc[x.name], random_state=1 + ) + ) + .reset_index(drop=True) + .set_index(choices_index) + ) + if len(sampled_persons) == 0: + sampled_persons = current_sample + else: + sampled_persons = pd.concat([sampled_persons, current_sample]) + + self.sampled_persons = sampled_persons + else: raise RuntimeError("unknown SHADOW_PRICE_METHOD %s" % shadow_price_method) - # print("\nself.desired_size\n%s" % self.desired_size.head()) - # print("\nself.modeled_size\n%s" % self.modeled_size.head()) - # print("\nprevious shadow_prices\n%s" % self.shadow_prices.head()) - # print("\nnew_shadow_prices\n%s" % new_shadow_prices.head()) - - self.shadow_prices = new_shadow_prices + # self.shadow_prices = new_shadow_prices def dest_size_terms(self, segment): @@ -504,20 +845,27 @@ def dest_size_terms(self, segment): if self.use_shadow_pricing: - shadow_price_method = self.shadow_settings['SHADOW_PRICE_METHOD'] + shadow_price_method = self.shadow_settings["SHADOW_PRICE_METHOD"] - if shadow_price_method == 'ctramp': + if shadow_price_method == "ctramp": size_term_adjustment = self.shadow_prices[segment] - elif shadow_price_method == 'daysim': + elif shadow_price_method == "daysim": + utility_adjustment = self.shadow_prices[segment] + elif shadow_price_method == "simulation": utility_adjustment = self.shadow_prices[segment] else: - raise RuntimeError("unknown SHADOW_PRICE_METHOD %s" % shadow_price_method) - - size_terms = pd.DataFrame({ - 'size_term': self.desired_size[segment], - 'shadow_price_size_term_adjustment': size_term_adjustment, - 'shadow_price_utility_adjustment': utility_adjustment}, - index=self.desired_size.index) + raise RuntimeError( + "unknown SHADOW_PRICE_METHOD %s" % shadow_price_method + ) + + size_terms = pd.DataFrame( + { + "size_term": self.desired_size[segment], + "shadow_price_size_term_adjustment": size_term_adjustment, + "shadow_price_utility_adjustment": utility_adjustment, + }, + index=self.desired_size.index, + ) assert size_terms.index.is_monotonic_increasing @@ -539,18 +887,24 @@ def write_trace_files(self, iteration): logger.info("write_trace_files iteration %s" % iteration) if iteration == 1: # write desired_size only on first iteration, as it doesn't change - tracing.write_csv(self.desired_size, - 'shadow_price_%s_desired_size' % self.model_selector, - transpose=False) - - tracing.write_csv(self.modeled_size, - 'shadow_price_%s_modeled_size_%s' % (self.model_selector, iteration), - transpose=False) + tracing.write_csv( + self.desired_size, + "shadow_price_%s_desired_size" % self.model_selector, + transpose=False, + ) + + tracing.write_csv( + self.modeled_size, + "shadow_price_%s_modeled_size_%s" % (self.model_selector, iteration), + transpose=False, + ) if self.use_shadow_pricing: - tracing.write_csv(self.shadow_prices, - 'shadow_price_%s_shadow_prices_%s' % (self.model_selector, iteration), - transpose=False) + tracing.write_csv( + self.shadow_prices, + "shadow_price_%s_shadow_prices_%s" % (self.model_selector, iteration), + transpose=False, + ) def block_name(model_selector): @@ -597,8 +951,8 @@ def buffers_for_shadow_pricing(shadow_pricing_info): dict of multiprocessing.Array keyed by model_selector """ - dtype = shadow_pricing_info['dtype'] - block_shapes = shadow_pricing_info['block_shapes'] + dtype = shadow_pricing_info["dtype"] + block_shapes = shadow_pricing_info["block_shapes"] data_buffers = {} for block_key, block_shape in block_shapes.items(): @@ -607,13 +961,17 @@ def buffers_for_shadow_pricing(shadow_pricing_info): buffer_size = util.iprod(block_shape) csz = buffer_size * np.dtype(dtype).itemsize - logger.info("allocating shared shadow pricing buffer %s %s buffer_size %s bytes %s (%s)" % - (block_key, buffer_size, block_shape, csz, util.GB(csz))) + logger.info( + "allocating shared shadow pricing buffer %s %s buffer_size %s bytes %s (%s)" + % (block_key, buffer_size, block_shape, csz, util.GB(csz)) + ) if np.issubdtype(dtype, np.int64): typecode = ctypes.c_int64 else: - raise RuntimeError("buffer_for_shadow_pricing unrecognized dtype %s" % dtype) + raise RuntimeError( + "buffer_for_shadow_pricing unrecognized dtype %s" % dtype + ) shared_data_buffer = multiprocessing.Array(typecode, buffer_size) @@ -624,6 +982,121 @@ def buffers_for_shadow_pricing(shadow_pricing_info): return data_buffers +def buffers_for_shadow_pricing_choice(shadow_pricing_choice_info): + """ + Same as above buffers_for_shadow_price function except now we need to store + the actual choices for the simulation based shadow pricing method + + This allocates a multiprocessing.Array that can store the choice for each person + and then wraps a dataframe around it. That means the dataframe can be shared + and accessed across all threads. + Parameters + ---------- + shadow_pricing_info : dict + Returns + ------- + data_buffers : dict { : } + dict of multiprocessing.Array keyed by model_selector + and wrapped in a pandas dataframe + """ + + dtype = shadow_pricing_choice_info["dtype"] + block_shapes = shadow_pricing_choice_info["block_shapes"] + + data_buffers = {} + + for block_key, block_shape in block_shapes.items(): + + # buffer_size must be int, not np.int64 + buffer_size = util.iprod(block_shape) + + csz = buffer_size * np.dtype(dtype).itemsize + logger.info( + "allocating shared shadow pricing buffer for choices %s %s buffer_size %s bytes %s (%s)" + % (block_key, buffer_size, block_shape, csz, util.GB(csz)) + ) + + if np.issubdtype(dtype, np.int64): + typecode = ctypes.c_int64 + else: + raise RuntimeError( + "buffer_for_shadow_pricing unrecognized dtype %s" % dtype + ) + + shared_data_buffer = multiprocessing.Array(typecode, buffer_size) + + logger.info("buffer_for_shadow_pricing_choice added block %s" % block_key) + + data_buffers[block_key + "_choice"] = shared_data_buffer + + persons = read_input_table("persons") + sp_choice_df = persons.reset_index()["person_id"].to_frame() + + # declare a shared Array with data from sp_choice_df + mparr = multiprocessing.Array(ctypes.c_double, sp_choice_df.values.reshape(-1)) + + # create a new df based on the shared array + shared_sp_choice_df = pd.DataFrame( + np.frombuffer(mparr.get_obj()).reshape(sp_choice_df.shape), + columns=sp_choice_df.columns, + ) + data_buffers["shadow_price_choice_df"] = shared_sp_choice_df + + return data_buffers + + +def shadow_price_data_from_buffers_choice( + data_buffers, shadow_pricing_info, model_selector +): + """ + + Parameters + ---------- + data_buffers : dict of { : } + multiprocessing.Array is simply a convenient way to bundle Array and Lock + we extract the lock and wrap the RawArray in a numpy array for convenience in indexing + The shared data buffer has shape ( + 1) + extra column is for reverse semaphores with TALLY_CHECKIN and TALLY_CHECKOUT + shadow_pricing_info : dict + dict of useful info + dtype: sp_dtype, + block_shapes : OrderedDict({: }) + dict mapping model_selector to block shape (including extra column for semaphores) + e.g. {'school': (num_zones, num_segments + 1) + model_selector : str + location type model_selector (e.g. school or workplace) + + Returns + ------- + shared_data, shared_data_lock + shared_data : multiprocessing.Array or None (if single process) + shared_data_lock : numpy array wrapping multiprocessing.RawArray or None (if single process) + """ + + assert type(data_buffers) == dict + + dtype = shadow_pricing_info["dtype"] + block_shapes = shadow_pricing_info["block_shapes"] + + if model_selector not in block_shapes: + raise RuntimeError( + "Model selector %s not in shadow_pricing_info" % model_selector + ) + + if block_name(model_selector + "_choice") not in data_buffers: + raise RuntimeError( + "Block %s not in data_buffers" % block_name(model_selector + "_choice") + ) + + data = data_buffers[block_name(model_selector + "_choice")] + shape = ( + int(len(data) / block_shapes[model_selector][1]), + int(block_shapes[model_selector][1]), + ) + + return np.frombuffer(data.get_obj(), dtype=dtype).reshape(shape), data.get_lock() + + def shadow_price_data_from_buffers(data_buffers, shadow_pricing_info, model_selector): """ @@ -652,11 +1125,13 @@ def shadow_price_data_from_buffers(data_buffers, shadow_pricing_info, model_sele assert type(data_buffers) == dict - dtype = shadow_pricing_info['dtype'] - block_shapes = shadow_pricing_info['block_shapes'] + dtype = shadow_pricing_info["dtype"] + block_shapes = shadow_pricing_info["block_shapes"] if model_selector not in block_shapes: - raise RuntimeError("Model selector %s not in shadow_pricing_info" % model_selector) + raise RuntimeError( + "Model selector %s not in shadow_pricing_info" % model_selector + ) if block_name(model_selector) not in data_buffers: raise RuntimeError("Block %s not in data_buffers" % block_name(model_selector)) @@ -683,37 +1158,60 @@ def load_shadow_price_calculator(model_settings): spc : ShadowPriceCalculator """ - num_processes = inject.get_injectable('num_processes', 1) + num_processes = inject.get_injectable("num_processes", 1) - model_selector = model_settings['MODEL_SELECTOR'] + model_selector = model_settings["MODEL_SELECTOR"] # - get shared_data from data_buffers (if multiprocessing) - data_buffers = inject.get_injectable('data_buffers', None) + data_buffers = inject.get_injectable("data_buffers", None) if data_buffers is not None: - logger.info('Using existing data_buffers for shadow_price') + logger.info("Using existing data_buffers for shadow_price") # - shadow_pricing_info - shadow_pricing_info = inject.get_injectable('shadow_pricing_info', None) + shadow_pricing_info = inject.get_injectable("shadow_pricing_info", None) assert shadow_pricing_info is not None + shadow_pricing_choice_info = inject.get_injectable( + "shadow_pricing_choice_info", None + ) + assert shadow_pricing_choice_info is not None + # - extract data buffer and reshape as numpy array - data, lock = \ - shadow_price_data_from_buffers(data_buffers, shadow_pricing_info, model_selector) + data, lock = shadow_price_data_from_buffers( + data_buffers, shadow_pricing_info, model_selector + ) + data_choice, lock_choice = shadow_price_data_from_buffers_choice( + data_buffers, shadow_pricing_choice_info, model_selector + ) + if "shadow_price_choice_df" in data_buffers: + shared_sp_choice_df = data_buffers["shadow_price_choice_df"] + else: + shared_sp_choice_df = None + else: assert num_processes == 1 data = None # ShadowPriceCalculator will allocate its own data lock = None + data_choice = None + lock_choice = None + shared_sp_choice_df = None # - ShadowPriceCalculator spc = ShadowPriceCalculator( model_settings, - num_processes, data, lock) + num_processes, + data, + lock, + data_choice, + lock_choice, + shared_sp_choice_df, + ) return spc @inject.step() -def add_size_tables(): +def add_size_tables(disaggregate_suffixes): """ inject tour_destination_size_terms tables for each model_selector (e.g. school, workplace) @@ -733,18 +1231,36 @@ def add_size_tables(): (size table) counts. """ - use_shadow_pricing = bool(config.setting('use_shadow_pricing')) + use_shadow_pricing = bool(config.setting("use_shadow_pricing")) - shadow_settings = config.read_model_settings('shadow_pricing.yaml') - shadow_pricing_models = shadow_settings.get('shadow_pricing_models') + shadow_settings = config.read_model_settings("shadow_pricing.yaml") + shadow_pricing_models = shadow_settings.get("shadow_pricing_models") if shadow_pricing_models is None: - logger.warning('shadow_pricing_models list not found in shadow_pricing settings') + logger.warning( + "shadow_pricing_models list not found in shadow_pricing settings" + ) return # probably ought not scale if not shadow_pricing (breaks partial sample replicability) # but this allows compatability with existing CTRAMP behavior... - scale_size_table = shadow_settings.get('SCALE_SIZE_TABLE', False) + scale_size_table = shadow_settings.get("SCALE_SIZE_TABLE", False) + + # Suffixes for disaggregate accessibilities + # Set default here incase None is explicitly passed + disaggregate_suffixes = ( + {"SUFFIX": None, "ROOTS": []} + if not disaggregate_suffixes + else disaggregate_suffixes + ) + suffix, roots = disaggregate_suffixes.get("SUFFIX"), disaggregate_suffixes.get( + "ROOTS", [] + ) + + assert isinstance(roots, list) + assert (suffix is not None and roots) or ( + suffix is None and not roots + ), "Expected to find both 'ROOTS' and 'SUFFIX', missing one" # shadow_pricing_models is dict of {: } # since these are scaled to model size, they have to be created while single-process @@ -753,21 +1269,29 @@ def add_size_tables(): model_settings = config.read_model_settings(model_name) - assert model_selector == model_settings['MODEL_SELECTOR'] + if suffix is not None and roots: + model_settings = util.suffix_tables_in_settings( + model_settings, suffix, roots + ) + + assert model_selector == model_settings["MODEL_SELECTOR"] - assert 'SEGMENT_IDS' in model_settings, f"missing SEGMENT_IDS setting in {model_name} model_settings" - segment_ids = model_settings['SEGMENT_IDS'] - chooser_table_name = model_settings['CHOOSER_TABLE_NAME'] - chooser_segment_column = model_settings['CHOOSER_SEGMENT_COLUMN_NAME'] + assert ( + "SEGMENT_IDS" in model_settings + ), f"missing SEGMENT_IDS setting in {model_name} model_settings" + segment_ids = model_settings["SEGMENT_IDS"] + chooser_table_name = model_settings["CHOOSER_TABLE_NAME"] + chooser_segment_column = model_settings["CHOOSER_SEGMENT_COLUMN_NAME"] choosers_df = inject.get_table(chooser_table_name).to_frame() - if 'CHOOSER_FILTER_COLUMN_NAME' in model_settings: - choosers_df = \ - choosers_df[choosers_df[model_settings['CHOOSER_FILTER_COLUMN_NAME']] != 0] + if "CHOOSER_FILTER_COLUMN_NAME" in model_settings: + choosers_df = choosers_df[ + choosers_df[model_settings["CHOOSER_FILTER_COLUMN_NAME"]] != 0 + ] # - raw_desired_size - land_use = inject.get_table('land_use') - size_terms = inject.get_injectable('size_terms') + land_use = inject.get_table("land_use") + size_terms = inject.get_injectable("size_terms") raw_size = tour_destination_size_terms(land_use, size_terms, model_selector) assert set(raw_size.columns) == set(segment_ids.keys()) @@ -783,28 +1307,38 @@ def add_size_tables(): segment_desired_size = raw_size[c].astype(np.float64).sum() # number of synthetic population choosers in segment - segment_chooser_count = \ - (choosers_df[chooser_segment_column] == segment_ids[c]).sum() - - segment_scale_factors[c] = \ - segment_chooser_count / np.maximum(segment_desired_size, 1) - - logger.info("add_desired_size_tables %s segment %s " - "desired %s modeled %s scale_factor %s" % - (chooser_table_name, c, - segment_desired_size, - segment_chooser_count, - segment_scale_factors[c])) + segment_chooser_count = ( + choosers_df[chooser_segment_column] == segment_ids[c] + ).sum() + + segment_scale_factors[c] = segment_chooser_count / np.maximum( + segment_desired_size, 1 + ) + + logger.info( + "add_desired_size_tables %s segment %s " + "desired %s modeled %s scale_factor %s" + % ( + chooser_table_name, + c, + segment_desired_size, + segment_chooser_count, + segment_scale_factors[c], + ) + ) # FIXME - should we be rounding? scaled_size = (raw_size * segment_scale_factors).round() else: scaled_size = raw_size - logger.debug(f"add_size_table {size_table_name(model_selector)} ({scaled_size.shape}) for {model_selector}") + logger.debug( + f"add_size_table {size_table_name(model_selector)} ({scaled_size.shape}) for {model_selector}" + ) - assert scaled_size.index.is_monotonic_increasing, \ - f"size table {size_table_name(model_selector)} not is_monotonic_increasing" + assert ( + scaled_size.index.is_monotonic_increasing + ), f"size table {size_table_name(model_selector)} not is_monotonic_increasing" inject.add_table(size_table_name(model_selector), scaled_size) @@ -823,13 +1357,13 @@ def get_shadow_pricing_info(): block_shapes: dict {: } """ - land_use = inject.get_table('land_use') - size_terms = inject.get_injectable('size_terms') + land_use = inject.get_table("land_use") + size_terms = inject.get_injectable("size_terms") - shadow_settings = config.read_model_settings('shadow_pricing.yaml') + shadow_settings = config.read_model_settings("shadow_pricing.yaml") # shadow_pricing_models is dict of {: } - shadow_pricing_models = shadow_settings.get('shadow_pricing_models', {}) + shadow_pricing_models = shadow_settings.get("shadow_pricing_models", {}) blocks = OrderedDict() for model_selector in shadow_pricing_models: @@ -843,8 +1377,8 @@ def get_shadow_pricing_info(): sp_dtype = np.int64 shadow_pricing_info = { - 'dtype': sp_dtype, - 'block_shapes': blocks, + "dtype": sp_dtype, + "block_shapes": blocks, } for k in shadow_pricing_info: @@ -853,6 +1387,52 @@ def get_shadow_pricing_info(): return shadow_pricing_info +def get_shadow_pricing_choice_info(): + """ + return dict with info about dtype and shapes of desired and modeled size tables + + block shape is (num_zones, num_segments + 1) + + + Returns + ------- + shadow_pricing_info: dict + dtype: , + block_shapes: dict {: } + """ + + persons = read_input_table("persons") + + shadow_settings = config.read_model_settings("shadow_pricing.yaml") + + # shadow_pricing_models is dict of {: } + shadow_pricing_models = shadow_settings.get("shadow_pricing_models", {}) + + blocks = OrderedDict() + for model_selector in shadow_pricing_models: + + # each person will have a work or school location choice + sp_rows = len(persons) + + # extra tally column for TALLY_CHECKIN and TALLY_CHECKOUT semaphores + blocks[block_name(model_selector)] = (sp_rows, 2) + + sp_dtype = np.int64 + # sp_dtype = np.str + + shadow_pricing_choice_info = { + "dtype": sp_dtype, + "block_shapes": blocks, + } + + for k in shadow_pricing_choice_info: + logger.debug( + "shadow_pricing_choice_info %s: %s" % (k, shadow_pricing_choice_info.get(k)) + ) + + return shadow_pricing_choice_info + + @inject.injectable(cache=True) def shadow_pricing_info(): @@ -861,3 +1441,13 @@ def shadow_pricing_info(): logger.debug("loading shadow_pricing_info injectable") return get_shadow_pricing_info() + + +@inject.injectable(cache=True) +def shadow_pricing_choice_info(): + + # when multiprocessing with shared data mp_tasks has to call network_los methods + # get_shadow_pricing_info() and buffers_for_shadow_pricing() + logger.debug("loading shadow_pricing_choice_info injectable") + + return get_shadow_pricing_choice_info() diff --git a/activitysim/abm/tables/size_terms.py b/activitysim/abm/tables/size_terms.py index cdf9a480b9..e31b004e5d 100644 --- a/activitysim/abm/tables/size_terms.py +++ b/activitysim/abm/tables/size_terms.py @@ -1,20 +1,19 @@ # ActivitySim # See full license in LICENSE.txt. import logging + import numpy as np import pandas as pd -from activitysim.core import inject -from activitysim.core import config - +from activitysim.core import config, inject logger = logging.getLogger(__name__) @inject.injectable(cache=True) def size_terms(): - f = config.config_file_path('destination_choice_size_terms.csv') - return pd.read_csv(f, comment='#', index_col='segment') + f = config.config_file_path("destination_choice_size_terms.csv") + return pd.read_csv(f, comment="#", index_col="segment") def size_term(land_use, destination_choice_coefficients): @@ -56,27 +55,27 @@ def size_term(land_use, destination_choice_coefficients): def tour_destination_size_terms(land_use, size_terms, model_selector): """ - Parameters - ---------- - land_use - pipeline table - size_terms - pipeline table - model_selector - str + Parameters + ---------- + land_use - pipeline table + size_terms - pipeline table + model_selector - str - Returns - ------- + Returns + ------- - :: + :: - pandas.dataframe - one column per model_selector segment with index of land_use - e.g. for model_selector 'workplace', columns will be work_low, work_med, ... - and for model_selector 'trip', columns will be eatout, escort, othdiscr, ... + pandas.dataframe + one column per model_selector segment with index of land_use + e.g. for model_selector 'workplace', columns will be work_low, work_med, ... + and for model_selector 'trip', columns will be eatout, escort, othdiscr, ... - work_low work_med work_high work_veryhigh - zone_id ... - 1 1267.00000 522.000 1108.000 1540.0000 ... - 2 1991.00000 824.500 1759.000 2420.0000 ... - ... + work_low work_med work_high work_veryhigh + zone_id ... + 1 1267.00000 522.000 1108.000 1540.0000 ... + 2 1991.00000 824.500 1759.000 2420.0000 ... + ... """ land_use = land_use.to_frame() @@ -86,19 +85,23 @@ def tour_destination_size_terms(land_use, size_terms, model_selector): land_use = land_use.sort_index() size_terms = size_terms[size_terms.model_selector == model_selector].copy() - del size_terms['model_selector'] + del size_terms["model_selector"] - df = pd.DataFrame({key: size_term(land_use, row) for key, row in size_terms.iterrows()}, - index=land_use.index) + df = pd.DataFrame( + {key: size_term(land_use, row) for key, row in size_terms.iterrows()}, + index=land_use.index, + ) - assert land_use.index.name == 'zone_id' + assert land_use.index.name == "zone_id" df.index.name = land_use.index.name - if not (df.dtypes == 'float64').all(): - logger.warning('Surprised to find that not all size_terms were float64!') + if not (df.dtypes == "float64").all(): + logger.warning("Surprised to find that not all size_terms were float64!") if df.isna().any(axis=None): - logger.warning(f"tour_destination_size_terms with NAN values\n{df[df.isna().any(axis=1)]}") + logger.warning( + f"tour_destination_size_terms with NAN values\n{df[df.isna().any(axis=1)]}" + ) assert not df.isna().any(axis=None) return df diff --git a/activitysim/abm/tables/skims.py b/activitysim/abm/tables/skims.py index bdcaf7f3d1..f7a841d9ad 100644 --- a/activitysim/abm/tables/skims.py +++ b/activitysim/abm/tables/skims.py @@ -3,13 +3,9 @@ import logging -from activitysim.core import los -from activitysim.core import inject -from activitysim.core import config - +from activitysim.core import config, inject, los from activitysim.core.pathbuilder import TransitVirtualPathBuilder - logger = logging.getLogger(__name__) """ @@ -46,12 +42,12 @@ def log_settings(): # abm settings to log on startup return [ - 'households_sample_size', - 'chunk_size', - 'chunk_method', - 'chunk_training_mode', - 'multiprocess', - 'num_processes', - 'resume_after', - 'trace_hh_id', + "households_sample_size", + "chunk_size", + "chunk_method", + "chunk_training_mode", + "multiprocess", + "num_processes", + "resume_after", + "trace_hh_id", ] diff --git a/activitysim/abm/tables/table_dict.py b/activitysim/abm/tables/table_dict.py index cb4367ca2f..2b1cb9086c 100644 --- a/activitysim/abm/tables/table_dict.py +++ b/activitysim/abm/tables/table_dict.py @@ -3,9 +3,8 @@ import logging from collections import OrderedDict -from activitysim.core import inject from activitysim.abm.models.util import canonical_ids as cid - +from activitysim.core import inject logger = logging.getLogger(__name__) diff --git a/activitysim/abm/tables/time_windows.py b/activitysim/abm/tables/time_windows.py index ca6cf0d027..1a6279173e 100644 --- a/activitysim/abm/tables/time_windows.py +++ b/activitysim/abm/tables/time_windows.py @@ -6,8 +6,7 @@ import numpy as np import pandas as pd -from activitysim.core import inject -from activitysim.core import config +from activitysim.core import config, inject from activitysim.core import timetable as tt logger = logging.getLogger(__name__) @@ -16,10 +15,10 @@ @inject.injectable(cache=True) def tdd_alts(): # right now this file just contains the start and end hour - file_path = config.config_file_path('tour_departure_and_duration_alternatives.csv') + file_path = config.config_file_path("tour_departure_and_duration_alternatives.csv") df = pd.read_csv(file_path) - df['duration'] = df.end - df.start + df["duration"] = df.end - df.start # - NARROW df = df.astype(np.int8) @@ -37,15 +36,17 @@ def tdd_alt_segments(): # school,PM,15,17 # school,EV,18,22 - file_path = config.config_file_path('tour_departure_and_duration_segments.csv', mandatory=False) + file_path = config.config_file_path( + "tour_departure_and_duration_segments.csv", mandatory=False + ) if file_path: - df = pd.read_csv(file_path, comment='#') + df = pd.read_csv(file_path, comment="#") # - NARROW - df['start'] = df['start'].astype(np.int8) - df['end'] = df['end'].astype(np.int8) + df["start"] = df["start"].astype(np.int8) + df["end"] = df["end"].astype(np.int8) else: df = None @@ -58,7 +59,7 @@ def person_windows(persons, tdd_alts): df = tt.create_timetable_windows(persons, tdd_alts) - inject.add_table('person_windows', df) + inject.add_table("person_windows", df) return df @@ -66,5 +67,5 @@ def person_windows(persons, tdd_alts): @inject.injectable() def timetable(person_windows, tdd_alts): - logging.debug('@inject timetable') + logging.debug("@inject timetable") return tt.TimeTable(person_windows.to_frame(), tdd_alts, person_windows.name) diff --git a/activitysim/abm/tables/tours.py b/activitysim/abm/tables/tours.py index 3982015885..a3bd8a8112 100644 --- a/activitysim/abm/tables/tours.py +++ b/activitysim/abm/tables/tours.py @@ -12,4 +12,4 @@ def tours_merged(tours, persons_merged): return inject.merge_tables(tours.name, tables=[tours, persons_merged]) -inject.broadcast('persons_merged', 'tours', cast_index=True, onto_on='person_id') +inject.broadcast("persons_merged", "tours", cast_index=True, onto_on="person_id") diff --git a/activitysim/abm/tables/trips.py b/activitysim/abm/tables/trips.py index bd9f0a89f0..890cbd6f57 100644 --- a/activitysim/abm/tables/trips.py +++ b/activitysim/abm/tables/trips.py @@ -4,7 +4,6 @@ from activitysim.core import inject - logger = logging.getLogger(__name__) @@ -13,4 +12,4 @@ def trips_merged(trips, tours): return inject.merge_tables(trips.name, tables=[trips, tours]) -inject.broadcast('tours', 'trips', cast_index=True, onto_on='tour_id') +inject.broadcast("tours", "trips", cast_index=True, onto_on="tour_id") diff --git a/activitysim/abm/tables/vehicles.py b/activitysim/abm/tables/vehicles.py index e9369e298e..fdc886a25b 100644 --- a/activitysim/abm/tables/vehicles.py +++ b/activitysim/abm/tables/vehicles.py @@ -9,7 +9,7 @@ @inject.table() def vehicles(households): - """ Creates the vehicles table and load it as an injectable + """Creates the vehicles table and load it as an injectable This method initializes the `vehicles` table, where the number of rows is equal to the sum of `households["auto_ownership"]`. @@ -25,26 +25,27 @@ def vehicles(households): # initialize vehicles table vehicles = households.to_frame().loc[ - households.index.repeat(households['auto_ownership'])] - vehicles = vehicles.reset_index()[['household_id']] + households.index.repeat(households["auto_ownership"]) + ] + vehicles = vehicles.reset_index()[["household_id"]] - vehicles['vehicle_num'] = vehicles.groupby('household_id').cumcount() + 1 + vehicles["vehicle_num"] = vehicles.groupby("household_id").cumcount() + 1 # tying the vehicle id to the household id in order to ensure reproducability - vehicles['vehicle_id'] = vehicles.household_id * 10 + vehicles.vehicle_num - vehicles.set_index('vehicle_id', inplace=True) + vehicles["vehicle_id"] = vehicles.household_id * 10 + vehicles.vehicle_num + vehicles.set_index("vehicle_id", inplace=True) # replace table function with dataframe - inject.add_table('vehicles', vehicles) + inject.add_table("vehicles", vehicles) - pipeline.get_rn_generator().add_channel('vehicles', vehicles) - tracing.register_traceable_table('households', vehicles) + pipeline.get_rn_generator().add_channel("vehicles", vehicles) + tracing.register_traceable_table("vehicles", vehicles) return vehicles @inject.table() def vehicles_merged(vehicles, households_merged): - """ Augments the vehicles table with household attributes + """Augments the vehicles table with household attributes Parameters ---------- @@ -57,8 +58,11 @@ def vehicles_merged(vehicles, households_merged): """ vehicles_merged = inject.merge_tables( - vehicles.name, tables=[vehicles, households_merged]) + vehicles.name, tables=[vehicles, households_merged] + ) return vehicles_merged -inject.broadcast('households_merged', 'vehicles', cast_index=True, onto_on='household_id') +inject.broadcast( + "households_merged", "vehicles", cast_index=True, onto_on="household_id" +) diff --git a/activitysim/abm/test/conftest.py b/activitysim/abm/test/conftest.py index b44bd0d59b..f14a69149d 100644 --- a/activitysim/abm/test/conftest.py +++ b/activitysim/abm/test/conftest.py @@ -3,46 +3,43 @@ import orca import pandas as pd import pytest + from activitysim.core import pipeline from activitysim.core.los import Network_LOS as los -@pytest.fixture(scope='module') -def initialize_pipeline(module: str, tables: dict[str, str], initialize_network_los: bool) -> pipeline.Pipeline: - test_dir = os.path.join('test', module) - configs_dir = os.path.join(test_dir, 'configs') - data_dir = os.path.join(test_dir, 'data') - output_dir = os.path.join(test_dir, 'output') +@pytest.fixture(scope="module") +def initialize_pipeline( + module: str, tables: dict[str, str], initialize_network_los: bool +) -> pipeline.Pipeline: + test_dir = os.path.join("test", module) + configs_dir = os.path.join(test_dir, "configs") + data_dir = os.path.join(test_dir, "data") + output_dir = os.path.join(test_dir, "output") if os.path.isdir(configs_dir): - orca.add_injectable('configs_dir', configs_dir) + orca.add_injectable("configs_dir", configs_dir) if os.path.isdir(data_dir): - orca.add_injectable('data_dir', data_dir) + orca.add_injectable("data_dir", data_dir) if os.path.isdir(test_dir): if not os.path.isdir(output_dir): os.mkdir(output_dir) - orca.add_injectable('output_dir', output_dir) + orca.add_injectable("output_dir", output_dir) # Read in the input test dataframes for dataframe_name, idx_name in tables.items(): df = pd.read_csv( - os.path.join('test', module, 'data', f'{dataframe_name}.csv'), index_col=idx_name + os.path.join("test", module, "data", f"{dataframe_name}.csv"), + index_col=idx_name, ) orca.add_table(dataframe_name, df) if initialize_network_los: net_los = los() net_los.load_data() - orca.add_injectable('network_los', net_los) - - # Add an output directory in current working directory if it's not already there - try: - os.makedirs('output') - except FileExistsError: - # directory already exists - pass + orca.add_injectable("network_los", net_los) # Add the dataframes to the pipeline pipeline.open_pipeline() @@ -54,5 +51,5 @@ def initialize_pipeline(module: str, tables: dict[str, str], initialize_network_ # pytest teardown code pipeline.close_pipeline() - pipeline_file_path = os.path.join(output_dir, 'pipeline.h5') + pipeline_file_path = os.path.join(output_dir, "pipeline.h5") os.unlink(pipeline_file_path) diff --git a/activitysim/abm/test/run_multi_zone_mp.py b/activitysim/abm/test/run_multi_zone_mp.py index 9b994f7ec2..dacd1b3103 100644 --- a/activitysim/abm/test/run_multi_zone_mp.py +++ b/activitysim/abm/test/run_multi_zone_mp.py @@ -4,14 +4,9 @@ import pandas as pd import pandas.testing as pdt +from test_multi_zone import example_path, regress_3_zone, setup_dirs -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import mp_tasks - -from test_multi_zone import example_path -from test_multi_zone import setup_dirs -from test_multi_zone import regress_3_zone +from activitysim.core import inject, mp_tasks, pipeline # set the max households for all tests (this is to limit memory use on travis) HOUSEHOLDS_SAMPLE_SIZE = 100 @@ -19,25 +14,25 @@ def test_mp_run(): - configs_dir = [example_path('configs_3_zone'), example_path('configs')] - data_dir = example_path('data_3') + configs_dir = [example_path("configs_3_zone"), example_path("configs")] + data_dir = example_path("data_3") setup_dirs(configs_dir, data_dir) - inject.add_injectable('settings_file_name', 'settings_mp.yaml') + inject.add_injectable("settings_file_name", "settings_mp.yaml") run_list = mp_tasks.get_run_list() mp_tasks.print_run_list(run_list) # do this after config.handle_standard_args, as command line args may override injectables - injectables = ['data_dir', 'configs_dir', 'output_dir', 'settings_file_name'] + injectables = ["data_dir", "configs_dir", "output_dir", "settings_file_name"] injectables = {k: inject.get_injectable(k) for k in injectables} mp_tasks.run_multiprocess(run_list, injectables) - pipeline.open_pipeline('_') + pipeline.open_pipeline("_") regress_3_zone() pipeline.close_pipeline() -if __name__ == '__main__': +if __name__ == "__main__": test_mp_run() diff --git a/activitysim/abm/test/test_misc/setup_utils.py b/activitysim/abm/test/test_misc/setup_utils.py index bfee82afc0..d844dcc5fd 100644 --- a/activitysim/abm/test/test_misc/setup_utils.py +++ b/activitysim/abm/test/test_misc/setup_utils.py @@ -1,23 +1,18 @@ # ActivitySim # See full license in LICENSE.txt. -import os import logging -import pkg_resources +import os -import openmatrix as omx import numpy as np import numpy.testing as npt - +import openmatrix as omx import pandas as pd import pandas.testing as pdt +import pkg_resources import pytest import yaml -from activitysim.core import random -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import config +from activitysim.core import config, inject, pipeline, random, tracing # set the max households for all tests (this is to limit memory use on travis) HOUSEHOLDS_SAMPLE_SIZE = 50 @@ -34,39 +29,39 @@ def example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) def setup_dirs(ancillary_configs_dir=None, data_dir=None): # ancillary_configs_dir is used by run_mp to test multiprocess - test_pipeline_configs_dir = os.path.join(os.path.dirname(__file__), 'configs') - example_configs_dir = example_path('configs') + test_pipeline_configs_dir = os.path.join(os.path.dirname(__file__), "configs") + example_configs_dir = example_path("configs") configs_dir = [test_pipeline_configs_dir, example_configs_dir] if ancillary_configs_dir is not None: configs_dir = [ancillary_configs_dir] + configs_dir - inject.add_injectable('configs_dir', configs_dir) + inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') - inject.add_injectable('output_dir', output_dir) + output_dir = os.path.join(os.path.dirname(__file__), "output") + inject.add_injectable("output_dir", output_dir) if not data_dir: - data_dir = example_path('data') + data_dir = example_path("data") - inject.add_injectable('data_dir', data_dir) + inject.add_injectable("data_dir", data_dir) inject.clear_cache() tracing.config_logger() - tracing.delete_output_files('csv') - tracing.delete_output_files('txt') - tracing.delete_output_files('yaml') - tracing.delete_output_files('omx') + tracing.delete_output_files("csv") + tracing.delete_output_files("txt") + tracing.delete_output_files("yaml") + tracing.delete_output_files("omx") def teardown_function(func): @@ -86,7 +81,7 @@ def close_handlers(): def inject_settings(**kwargs): - settings = config.read_settings_file('settings.yaml', mandatory=True) + settings = config.read_settings_file("settings.yaml", mandatory=True) for k in kwargs: settings[k] = kwargs[k] diff --git a/activitysim/abm/test/test_misc/test_load_cached_accessibility.py b/activitysim/abm/test/test_misc/test_load_cached_accessibility.py index 762fdd705c..505fef890a 100644 --- a/activitysim/abm/test/test_misc/test_load_cached_accessibility.py +++ b/activitysim/abm/test/test_misc/test_load_cached_accessibility.py @@ -1,26 +1,20 @@ # ActivitySim # See full license in LICENSE.txt. -import os import logging -import pkg_resources +import os -import openmatrix as omx import numpy as np import numpy.testing as npt - +import openmatrix as omx import pandas as pd import pandas.testing as pdt +import pkg_resources import pytest import yaml -from activitysim.core import random -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import config +from activitysim.core import config, inject, pipeline, random, tracing -from .setup_utils import setup_dirs -from .setup_utils import inject_settings +from .setup_utils import inject_settings, setup_dirs # set the max households for all tests (this is to limit memory use on travis) HOUSEHOLDS_SAMPLE_SIZE = 50 @@ -37,8 +31,8 @@ def example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) def teardown_function(func): @@ -60,7 +54,7 @@ def test_load_cached_accessibility(): inject.clear_cache() inject.reinject_decorated_tables() - data_dir = [os.path.join(os.path.dirname(__file__), 'data'), example_path('data')] + data_dir = [os.path.join(os.path.dirname(__file__), "data"), example_path("data")] setup_dirs(data_dir=data_dir) # @@ -68,28 +62,30 @@ def test_load_cached_accessibility(): # activitysim.abm.tables.land_use.accessibility() will load this table if listed here # presumably independently calculated outside activitysim or a cached copy created during a previous run # - settings = config.read_settings_file('settings.yaml', mandatory=True) - input_table_list = settings.get('input_table_list') - input_table_list.append({ - 'tablename': 'accessibility', - 'filename': 'cached_accessibility.csv', - 'index_col': 'zone_id' - }) - inject_settings(households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, - input_table_list=input_table_list - ) + settings = config.read_settings_file("settings.yaml", mandatory=True) + input_table_list = settings.get("input_table_list") + input_table_list.append( + { + "tablename": "accessibility", + "filename": "cached_accessibility.csv", + "index_col": "zone_id", + } + ) + inject_settings( + households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, input_table_list=input_table_list + ) _MODELS = [ - 'initialize_landuse', + "initialize_landuse", # 'compute_accessibility', # we load accessibility table ordinarily created by compute_accessibility - 'initialize_households', + "initialize_households", ] pipeline.run(models=_MODELS, resume_after=None) accessibility_df = pipeline.get_table("accessibility") - assert 'auPkRetail' in accessibility_df + assert "auPkRetail" in accessibility_df pipeline.close_pipeline() inject.clear_cache() diff --git a/activitysim/abm/test/test_misc/test_misc.py b/activitysim/abm/test/test_misc/test_misc.py index af349bc4d0..f4daf7250c 100644 --- a/activitysim/abm/test/test_misc/test_misc.py +++ b/activitysim/abm/test/test_misc/test_misc.py @@ -1,11 +1,11 @@ # ActivitySim # See full license in LICENSE.txt. import os + import pytest from activitysim.core import inject - # The following import statement has the side-effect of registering injectables: from .. import __init__ @@ -26,13 +26,13 @@ def test_misc(): inject.get_injectable("output_dir") assert "directory does not exist" in str(excinfo.value) - configs_dir = os.path.join(os.path.dirname(__file__), 'configs_test_misc') + configs_dir = os.path.join(os.path.dirname(__file__), "configs_test_misc") inject.add_injectable("configs_dir", configs_dir) settings = inject.get_injectable("settings") assert isinstance(settings, dict) - data_dir = os.path.join(os.path.dirname(__file__), 'data') + data_dir = os.path.join(os.path.dirname(__file__), "data") inject.add_injectable("data_dir", data_dir) # default values if not specified in settings diff --git a/activitysim/abm/test/test_misc/test_summarize.py b/activitysim/abm/test/test_misc/test_summarize.py index e6d038e561..6f76e1f2c1 100644 --- a/activitysim/abm/test/test_misc/test_summarize.py +++ b/activitysim/abm/test/test_misc/test_summarize.py @@ -1,25 +1,26 @@ import logging -import pytest import os + import pandas as pd +import pytest # import models is necessary to initalize the model steps with orca from activitysim.abm import models -from activitysim.core import pipeline, config +from activitysim.core import config, pipeline # Used by conftest.py initialize_pipeline method -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def module() -> str: """ A pytest fixture that returns the data folder location. :return: folder location for any necessary data to initialize the tests """ - return 'summarize' + return "summarize" # Used by conftest.py initialize_pipeline method -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def tables() -> dict[str, str]: """ A pytest fixture that returns the "mock" tables to build pipeline dataframes. The @@ -27,17 +28,17 @@ def tables() -> dict[str, str]: :return: dict """ return { - 'land_use': 'zone_id', - 'tours': 'tour_id', - 'trips': 'trip_id', - 'persons': 'person_id', - 'households': 'household_id', + "land_use": "zone_id", + "tours": "tour_id", + "trips": "trip_id", + "persons": "person_id", + "households": "household_id", } # Used by conftest.py initialize_pipeline method # Set to true if you need to read skims into the pipeline -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def initialize_network_los() -> bool: """ A pytest boolean fixture indicating whether network skims should be read from the @@ -50,20 +51,29 @@ def initialize_network_los() -> bool: def test_summarize(initialize_pipeline: pipeline.Pipeline, caplog): # Run summarize model caplog.set_level(logging.DEBUG) - pipeline.run(models=['summarize']) + pipeline.run(models=["summarize"]) # Retrieve output tables to check contents - model_settings = config.read_model_settings('summarize.yaml') - output_location = (model_settings['OUTPUT'] if 'OUTPUT' in model_settings else 'summaries') + model_settings = config.read_model_settings("summarize.yaml") + output_location = ( + model_settings["OUTPUT"] if "OUTPUT" in model_settings else "summaries" + ) output_dir = config.output_file_path(output_location) # Check that households are counted correctly - households_count = pd.read_csv(config.output_file_path(os.path.join(output_location, f'households_count.csv'))) + households_count = pd.read_csv( + config.output_file_path(os.path.join(output_location, f"households_count.csv")) + ) households = pd.read_csv(config.data_file_path("households.csv")) assert int(households_count.iloc[0]) == len(households) # Check that bike trips are counted correctly trips_by_mode_count = pd.read_csv( - config.output_file_path(os.path.join(output_location, f'trips_by_mode_count.csv'))) + config.output_file_path( + os.path.join(output_location, f"trips_by_mode_count.csv") + ) + ) trips = pd.read_csv(config.data_file_path("trips.csv")) - assert int(trips_by_mode_count.BIKE.iloc[0]) == len(trips[trips.trip_mode == 'BIKE']) + assert int(trips_by_mode_count.BIKE.iloc[0]) == len( + trips[trips.trip_mode == "BIKE"] + ) diff --git a/activitysim/abm/test/test_misc/test_trip_departure_choice.py b/activitysim/abm/test/test_misc/test_trip_departure_choice.py index 285655ac70..f36cf6df20 100644 --- a/activitysim/abm/test/test_misc/test_trip_departure_choice.py +++ b/activitysim/abm/test/test_misc/test_trip_departure_choice.py @@ -1,4 +1,3 @@ - import numpy as np import pandas as pd import pytest @@ -6,52 +5,93 @@ import activitysim.abm.models.trip_departure_choice as tdc from activitysim.abm.models.util.trip import get_time_windows from activitysim.core import los + from .setup_utils import setup_dirs -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def trips(): outbound_array = [True, True, False, False, False, True, True, False, False, True] - trips = pd.DataFrame(data={'tour_id': [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], - 'trip_duration': [2, 2, 7, 7, 7, 12, 12, 4, 4, 5], - 'inbound_duration': [0, 0, 7, 7, 7, 0, 0, 4, 4, 5], - 'main_leg_duration': [4, 4, 2, 2, 2, 2, 2, 1, 1, 2], - 'outbound_duration': [2, 2, 0, 0, 0, 12, 12, 0, 0, 5], - 'trip_count': [2, 2, 3, 3, 3, 2, 2, 2, 2, 1], - 'trip_num': [1, 2, 1, 2, 3, 1, 2, 1, 2, 1], - 'outbound': outbound_array, - 'chunk_id': [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], - 'is_work': [True, True, False, False, False, False, False, False, False, True], - 'is_school': [False, False, False, False, False, False, False, True, True, False], - 'is_eatout': [False, False, True, True, True, True, True, False, False, False], - 'start': [8, 8, 18, 18, 18, 18, 18, 24, 24, 19], - 'end': [14, 14, 39, 39, 39, 39, 39, 29, 29, 26], - 'origin': [3, 5, 15, 12, 24, 8, 17, 8, 9, 6], - 'destination': [5, 9, 12, 24, 20, 17, 18, 9, 11, 14], - }, index=range(10)) - - trips.index.name = 'trip_id' + trips = pd.DataFrame( + data={ + "tour_id": [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], + "trip_duration": [2, 2, 7, 7, 7, 12, 12, 4, 4, 5], + "inbound_duration": [0, 0, 7, 7, 7, 0, 0, 4, 4, 5], + "main_leg_duration": [4, 4, 2, 2, 2, 2, 2, 1, 1, 2], + "outbound_duration": [2, 2, 0, 0, 0, 12, 12, 0, 0, 5], + "trip_count": [2, 2, 3, 3, 3, 2, 2, 2, 2, 1], + "trip_num": [1, 2, 1, 2, 3, 1, 2, 1, 2, 1], + "outbound": outbound_array, + "chunk_id": [1, 1, 2, 2, 2, 2, 2, 3, 3, 4], + "is_work": [ + True, + True, + False, + False, + False, + False, + False, + False, + False, + True, + ], + "is_school": [ + False, + False, + False, + False, + False, + False, + False, + True, + True, + False, + ], + "is_eatout": [ + False, + False, + True, + True, + True, + True, + True, + False, + False, + False, + ], + "start": [8, 8, 18, 18, 18, 18, 18, 24, 24, 19], + "end": [14, 14, 39, 39, 39, 39, 39, 29, 29, 26], + "origin": [3, 5, 15, 12, 24, 8, 17, 8, 9, 6], + "destination": [5, 9, 12, 24, 20, 17, 18, 9, 11, 14], + }, + index=range(10), + ) + + trips.index.name = "trip_id" return trips -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def settings(): - return {"skims_file": "skims.omx", - "skim_time_periods": { - "labels": ['EA', 'AM', 'MD', 'PM', 'NT']} - } + return { + "skims_file": "skims.omx", + "skim_time_periods": {"labels": ["EA", "AM", "MD", "PM", "NT"]}, + } -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def model_spec(): - index = ["@(df['stop_time_duration'] * df['is_work'].astype(int)).astype(int)", - "@(df['stop_time_duration'] * df['is_school'].astype(int)).astype(int)", - "@(df['stop_time_duration'] * df['is_eatout'].astype(int)).astype(int)"] + index = [ + "@(df['stop_time_duration'] * df['is_work'].astype(int)).astype(int)", + "@(df['stop_time_duration'] * df['is_school'].astype(int)).astype(int)", + "@(df['stop_time_duration'] * df['is_eatout'].astype(int)).astype(int)", + ] - values = {'inbound': [0.933020, 0.370260, 0.994840], - 'outbound': [0.933020, 0.370260, 0.994840] - } + values = { + "inbound": [0.933020, 0.370260, 0.994840], + "outbound": [0.933020, 0.370260, 0.994840], + } return pd.DataFrame(index=index, data=values) @@ -59,14 +99,20 @@ def model_spec(): def test_build_patterns(trips): time_windows = get_time_windows(48, 3) patterns = tdc.build_patterns(trips, time_windows) - patterns = patterns.sort_values(['tour_id', 'outbound', 'trip_num']) + patterns = patterns.sort_values(["tour_id", "outbound", "trip_num"]) assert patterns.shape[0] == 34 assert patterns.shape[1] == 6 assert patterns.index.name == tdc.TOUR_LEG_ID - output_columns = [tdc.TOUR_ID, tdc.PATTERN_ID, tdc.TRIP_NUM, - tdc.STOP_TIME_DURATION, tdc.TOUR_ID, tdc.OUTBOUND] + output_columns = [ + tdc.TOUR_ID, + tdc.PATTERN_ID, + tdc.TRIP_NUM, + tdc.STOP_TIME_DURATION, + tdc.TOUR_ID, + tdc.OUTBOUND, + ] assert set(output_columns).issubset(patterns.columns) @@ -74,7 +120,10 @@ def test_build_patterns(trips): def test_get_tour_legs(trips): tour_legs = tdc.get_tour_legs(trips) assert tour_legs.index.name == tdc.TOUR_LEG_ID - assert np.unique(tour_legs[tdc.TOUR_ID].values).shape[0] == np.unique(trips[tdc.TOUR_ID].values).shape[0] + assert ( + np.unique(tour_legs[tdc.TOUR_ID].values).shape[0] + == np.unique(trips[tdc.TOUR_ID].values).shape[0] + ) def test_generate_alternative(trips): @@ -85,14 +134,16 @@ def test_generate_alternative(trips): assert alts.index.name == tdc.TRIP_ID assert alts.columns[0] == tdc.STOP_TIME_DURATION - pd.testing.assert_series_equal(trips.groupby(trips.index)['trip_duration'].max(), - alts.groupby(alts.index)[tdc.STOP_TIME_DURATION].max(), - check_names=False) + pd.testing.assert_series_equal( + trips.groupby(trips.index)["trip_duration"].max(), + alts.groupby(alts.index)[tdc.STOP_TIME_DURATION].max(), + check_names=False, + ) def test_apply_stage_two_model(model_spec, trips): setup_dirs() - departures = tdc.apply_stage_two_model(model_spec, trips, 0, 'TEST Trip Departure') + departures = tdc.apply_stage_two_model(model_spec, trips, 0, "TEST Trip Departure") assert len(departures) == len(trips) pd.testing.assert_index_equal(departures.index, trips.index) diff --git a/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py b/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py index e03c018967..a3f6ffdd95 100644 --- a/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py +++ b/activitysim/abm/test/test_misc/test_trip_scheduling_choice.py @@ -1,4 +1,3 @@ - import numpy as np import pandas as pd import pytest @@ -6,22 +5,27 @@ from activitysim.abm.models import trip_scheduling_choice as tsc from activitysim.abm.tables.skims import skim_dict from activitysim.core import los + from .setup_utils import setup_dirs -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def tours(): - tours = pd.DataFrame(data={'duration': [2, 44, 32, 12, 11, 16], - 'num_outbound_stops': [2, 4, 0, 0, 1, 3], - 'num_inbound_stops': [1, 0, 0, 2, 1, 2], - 'tour_type': ['othdisc'] * 2 + ['eatout'] * 4, - 'origin': [3, 10, 15, 23, 5, 8], - 'destination': [5, 9, 12, 24, 20, 17], - tsc.LAST_OB_STOP: [1, 3, 0, 0, 12, 14], - tsc.FIRST_IB_STOP: [2, 0, 0, 4, 6, 20], - }, index=range(6)) - - tours.index.name = 'tour_id' + tours = pd.DataFrame( + data={ + "duration": [2, 44, 32, 12, 11, 16], + "num_outbound_stops": [2, 4, 0, 0, 1, 3], + "num_inbound_stops": [1, 0, 0, 2, 1, 2], + "tour_type": ["othdisc"] * 2 + ["eatout"] * 4, + "origin": [3, 10, 15, 23, 5, 8], + "destination": [5, 9, 12, 24, 20, 17], + tsc.LAST_OB_STOP: [1, 3, 0, 0, 12, 14], + tsc.FIRST_IB_STOP: [2, 0, 0, 4, 6, 20], + }, + index=range(6), + ) + + tours.index.name = "tour_id" tours[tsc.HAS_OB_STOPS] = tours[tsc.NUM_OB_STOPS] >= 1 tours[tsc.HAS_IB_STOPS] = tours[tsc.NUM_IB_STOPS] >= 1 @@ -29,41 +33,49 @@ def tours(): return tours -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def settings(): - return {"skims_file": "skims.omx", - "skim_time_periods": { - "labels": ['MD']} - } + return {"skims_file": "skims.omx", "skim_time_periods": {"labels": ["MD"]}} -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def model_spec(): - index = ["@(df['main_leg_duration']>df['duration']).astype(int)", - "@(df['main_leg_duration'] == 0)&(df['tour_type']=='othdiscr')", - "@(df['main_leg_duration'] == 1)&(df['tour_type']=='othdiscr')", - "@(df['main_leg_duration'] == 2)&(df['tour_type']=='othdiscr')", - "@(df['main_leg_duration'] == 3)&(df['tour_type']=='othdiscr')", - "@(df['main_leg_duration'] == 4)&(df['tour_type']=='othdiscr')", - "@df['tour_type']=='othdiscr'", - "@df['tour_type']=='eatout'", - "@df['tour_type']=='eatout'" - ] - - values = [-999, -6.5884, -5.0326, -2.0526, -1.0313, -0.46489, 0.060382, -0.7508, 0.53247] - - return pd.DataFrame(index=index, data=values, columns=['stage_one']) - - -@pytest.fixture(scope='module') + index = [ + "@(df['main_leg_duration']>df['duration']).astype(int)", + "@(df['main_leg_duration'] == 0)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 1)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 2)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 3)&(df['tour_type']=='othdiscr')", + "@(df['main_leg_duration'] == 4)&(df['tour_type']=='othdiscr')", + "@df['tour_type']=='othdiscr'", + "@df['tour_type']=='eatout'", + "@df['tour_type']=='eatout'", + ] + + values = [ + -999, + -6.5884, + -5.0326, + -2.0526, + -1.0313, + -0.46489, + 0.060382, + -0.7508, + 0.53247, + ] + + return pd.DataFrame(index=index, data=values, columns=["stage_one"]) + + +@pytest.fixture(scope="module") def skims(settings): setup_dirs() nw_los = los.Network_LOS() nw_los.load_data() skim_d = skim_dict(nw_los) - od_skim_stack_wrapper = skim_d.wrap('origin', 'destination') - do_skim_stack_wrapper = skim_d.wrap('destination', 'origin') + od_skim_stack_wrapper = skim_d.wrap("origin", "destination") + do_skim_stack_wrapper = skim_d.wrap("destination", "origin") obib_skim_stack_wrapper = skim_d.wrap(tsc.LAST_OB_STOP, tsc.FIRST_IB_STOP) skims = [od_skim_stack_wrapper, do_skim_stack_wrapper, obib_skim_stack_wrapper] @@ -71,13 +83,9 @@ def skims(settings): return skims -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def locals_dict(skims): - return { - "od_skims": skims[0], - "do_skims": skims[1], - "obib_skims": skims[2] - } + return {"od_skims": skims[0], "do_skims": skims[1], "obib_skims": skims[2]} def test_generate_schedule_alternatives(tours): @@ -85,40 +93,53 @@ def test_generate_schedule_alternatives(tours): assert windows.shape[0] == 296 assert windows.shape[1] == 4 - output_columns = [tsc.SCHEDULE_ID, tsc.MAIN_LEG_DURATION, - tsc.OB_DURATION, tsc.IB_DURATION] + output_columns = [ + tsc.SCHEDULE_ID, + tsc.MAIN_LEG_DURATION, + tsc.OB_DURATION, + tsc.IB_DURATION, + ] assert set(output_columns).issubset(windows.columns) def test_no_stops_patterns(tours): - no_stops = tours[(tours['num_outbound_stops'] == 0) & (tours['num_inbound_stops'] == 0)].copy() + no_stops = tours[ + (tours["num_outbound_stops"] == 0) & (tours["num_inbound_stops"] == 0) + ].copy() windows = tsc.no_stops_patterns(no_stops) assert windows.shape[0] == 1 assert windows.shape[1] == 3 - output_columns = [tsc.MAIN_LEG_DURATION, - tsc.OB_DURATION, tsc.IB_DURATION] + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] assert set(output_columns).issubset(windows.columns) - pd.testing.assert_series_equal(windows[tsc.MAIN_LEG_DURATION], no_stops['duration'], - check_names=False, check_dtype=False) + pd.testing.assert_series_equal( + windows[tsc.MAIN_LEG_DURATION], + no_stops["duration"], + check_names=False, + check_dtype=False, + ) assert windows[windows[tsc.IB_DURATION] > 0].empty assert windows[windows[tsc.OB_DURATION] > 0].empty def test_one_way_stop_patterns(tours): - one_way_stops = tours[((tours['num_outbound_stops'] > 0).astype(int) + - (tours['num_inbound_stops'] > 0).astype(int)) == 1].copy() + one_way_stops = tours[ + ( + (tours["num_outbound_stops"] > 0).astype(int) + + (tours["num_inbound_stops"] > 0).astype(int) + ) + == 1 + ].copy() windows = tsc.stop_one_way_only_patterns(one_way_stops) assert windows.shape[0] == 58 assert windows.shape[1] == 3 - output_columns = [tsc.MAIN_LEG_DURATION, - tsc.OB_DURATION, tsc.IB_DURATION] + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] assert set(output_columns).issubset(windows.columns) @@ -129,15 +150,19 @@ def test_one_way_stop_patterns(tours): def test_two_way_stop_patterns(tours): - two_way_stops = tours[((tours['num_outbound_stops'] > 0).astype(int) + - (tours['num_inbound_stops'] > 0).astype(int)) == 2].copy() + two_way_stops = tours[ + ( + (tours["num_outbound_stops"] > 0).astype(int) + + (tours["num_inbound_stops"] > 0).astype(int) + ) + == 2 + ].copy() windows = tsc.stop_two_way_only_patterns(two_way_stops) assert windows.shape[0] == 237 assert windows.shape[1] == 3 - output_columns = [tsc.MAIN_LEG_DURATION, - tsc.OB_DURATION, tsc.IB_DURATION] + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] assert set(output_columns).issubset(windows.columns) @@ -147,15 +172,21 @@ def test_run_trip_scheduling_choice(model_spec, tours, skims, locals_dict): Test run the model. """ - out_tours = tsc.run_trip_scheduling_choice(model_spec, tours, skims, locals_dict, - 2, None, "PyTest Trip Scheduling") + out_tours = tsc.run_trip_scheduling_choice( + model_spec, tours, skims, locals_dict, 2, None, "PyTest Trip Scheduling" + ) assert len(tours) == len(out_tours) - pd.testing.assert_index_equal(tours.sort_index().index, out_tours.sort_index().index) + pd.testing.assert_index_equal( + tours.sort_index().index, out_tours.sort_index().index + ) - output_columns = [tsc.MAIN_LEG_DURATION, - tsc.OB_DURATION, tsc.IB_DURATION] + output_columns = [tsc.MAIN_LEG_DURATION, tsc.OB_DURATION, tsc.IB_DURATION] assert set(output_columns).issubset(out_tours.columns) - assert len(out_tours[out_tours[output_columns].sum(axis=1) == out_tours[tsc.TOUR_DURATION_COLUMN]]) == len(tours) + assert len( + out_tours[ + out_tours[output_columns].sum(axis=1) == out_tours[tsc.TOUR_DURATION_COLUMN] + ] + ) == len(tours) diff --git a/activitysim/abm/test/test_misc/test_trip_utils.py b/activitysim/abm/test/test_misc/test_trip_utils.py index bf908986ea..ef03b90360 100644 --- a/activitysim/abm/test/test_misc/test_trip_utils.py +++ b/activitysim/abm/test/test_misc/test_trip_utils.py @@ -5,9 +5,17 @@ from activitysim.abm.models.util.trip import get_time_windows -@pytest.mark.parametrize("duration, levels, expected", - [(24, 3, 2925), (24, 2, 325), (24, 1, 25), - (48, 3, 20825), (48, 2, 1225), (48, 1, 49)]) +@pytest.mark.parametrize( + "duration, levels, expected", + [ + (24, 3, 2925), + (24, 2, 325), + (24, 1, 25), + (48, 3, 20825), + (48, 2, 1225), + (48, 1, 49), + ], +) def test_get_time_windows(duration, levels, expected): time_windows = get_time_windows(duration, levels) diff --git a/activitysim/abm/test/test_misc/test_vehicle_type_alternatives.py b/activitysim/abm/test/test_misc/test_vehicle_type_alternatives.py index b77b1db9ff..8acdc5203e 100644 --- a/activitysim/abm/test/test_misc/test_vehicle_type_alternatives.py +++ b/activitysim/abm/test/test_misc/test_vehicle_type_alternatives.py @@ -2,33 +2,75 @@ import pandas as pd import pytest -from activitysim.abm.models.vehicle_type_choice import get_combinatorial_vehicle_alternatives +from activitysim.abm.models.vehicle_type_choice import ( + get_combinatorial_vehicle_alternatives, +) def test_get_combinatorial_vehicle_alternatives(): test_alts_cats_dict = { - 'body_type': ['Car', 'Van'], - 'age': [1, 2], - 'fuel_type': ['Gas', 'PEV'] + "body_type": ["Car", "Van"], + "age": [1, 2], + "fuel_type": ["Gas", "PEV"], } alts_wide, alts_long = get_combinatorial_vehicle_alternatives(test_alts_cats_dict) expected_wide = pd.DataFrame( - {'body_type_Car': {0: 1, 1: 1, 2: 1, 3: 1, 4: 0, 5: 0, 6: 0, 7: 0}, - 'body_type_Van': {0: 0, 1: 0, 2: 0, 3: 0, 4: 1, 5: 1, 6: 1, 7: 1}, - 'age_1': {0: 1, 1: 1, 2: 0, 3: 0, 4: 1, 5: 1, 6: 0, 7: 0}, - 'age_2': {0: 0, 1: 0, 2: 1, 3: 1, 4: 0, 5: 0, 6: 1, 7: 1}, - 'fuel_type_Gas': {0: 1, 1: 0, 2: 1, 3: 0, 4: 1, 5: 0, 6: 1, 7: 0}, - 'fuel_type_PEV': {0: 0, 1: 1, 2: 0, 3: 1, 4: 0, 5: 1, 6: 0, 7: 1}, - 'body_type': {0: 'Car', 1: 'Car', 2: 'Car', 3: 'Car', 4: 'Van', 5: 'Van', 6: 'Van', 7: 'Van'}, - 'age': {0: '1', 1: '1', 2: '2', 3: '2', 4: '1', 5: '1', 6: '2', 7: '2'}, - 'fuel_type': {0: 'Gas', 1: 'PEV', 2: 'Gas', 3: 'PEV', 4: 'Gas', 5: 'PEV', 6: 'Gas', 7: 'PEV'}} + { + "body_type_Car": {0: 1, 1: 1, 2: 1, 3: 1, 4: 0, 5: 0, 6: 0, 7: 0}, + "body_type_Van": {0: 0, 1: 0, 2: 0, 3: 0, 4: 1, 5: 1, 6: 1, 7: 1}, + "age_1": {0: 1, 1: 1, 2: 0, 3: 0, 4: 1, 5: 1, 6: 0, 7: 0}, + "age_2": {0: 0, 1: 0, 2: 1, 3: 1, 4: 0, 5: 0, 6: 1, 7: 1}, + "fuel_type_Gas": {0: 1, 1: 0, 2: 1, 3: 0, 4: 1, 5: 0, 6: 1, 7: 0}, + "fuel_type_PEV": {0: 0, 1: 1, 2: 0, 3: 1, 4: 0, 5: 1, 6: 0, 7: 1}, + "body_type": { + 0: "Car", + 1: "Car", + 2: "Car", + 3: "Car", + 4: "Van", + 5: "Van", + 6: "Van", + 7: "Van", + }, + "age": {0: "1", 1: "1", 2: "2", 3: "2", 4: "1", 5: "1", 6: "2", 7: "2"}, + "fuel_type": { + 0: "Gas", + 1: "PEV", + 2: "Gas", + 3: "PEV", + 4: "Gas", + 5: "PEV", + 6: "Gas", + 7: "PEV", + }, + } ) expected_long = pd.DataFrame( - {'body_type': {0: 'Car', 1: 'Car', 2: 'Car', 3: 'Car', 4: 'Van', 5: 'Van', 6: 'Van', 7: 'Van'}, - 'age': {0: '1', 1: '1', 2: '2', 3: '2', 4: '1', 5: '1', 6: '2', 7: '2'}, - 'fuel_type': {0: 'Gas', 1: 'PEV', 2: 'Gas', 3: 'PEV', 4: 'Gas', 5: 'PEV', 6: 'Gas', 7: 'PEV'}} + { + "body_type": { + 0: "Car", + 1: "Car", + 2: "Car", + 3: "Car", + 4: "Van", + 5: "Van", + 6: "Van", + 7: "Van", + }, + "age": {0: "1", 1: "1", 2: "2", 3: "2", 4: "1", 5: "1", 6: "2", 7: "2"}, + "fuel_type": { + 0: "Gas", + 1: "PEV", + 2: "Gas", + 3: "PEV", + 4: "Gas", + 5: "PEV", + 6: "Gas", + 7: "PEV", + }, + } ) pd.testing.assert_frame_equal(alts_wide, expected_wide, check_dtype=False) diff --git a/activitysim/abm/test/test_pipeline/test_pipeline.py b/activitysim/abm/test/test_pipeline/test_pipeline.py index 7f8986f8c5..0bb09a4cc1 100644 --- a/activitysim/abm/test/test_pipeline/test_pipeline.py +++ b/activitysim/abm/test/test_pipeline/test_pipeline.py @@ -1,23 +1,18 @@ # ActivitySim # See full license in LICENSE.txt. -import os import logging -import pkg_resources +import os -import openmatrix as omx import numpy as np import numpy.testing as npt - +import openmatrix as omx import pandas as pd import pandas.testing as pdt +import pkg_resources import pytest import yaml -from activitysim.core import random -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import config +from activitysim.core import config, inject, pipeline, random, tracing # set the max households for all tests (this is to limit memory use on travis) HOUSEHOLDS_SAMPLE_SIZE = 50 @@ -34,39 +29,39 @@ def example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) def setup_dirs(ancillary_configs_dir=None, data_dir=None): # ancillary_configs_dir is used by run_mp to test multiprocess - test_pipeline_configs_dir = os.path.join(os.path.dirname(__file__), 'configs') - example_configs_dir = example_path('configs') + test_pipeline_configs_dir = os.path.join(os.path.dirname(__file__), "configs") + example_configs_dir = example_path("configs") configs_dir = [test_pipeline_configs_dir, example_configs_dir] if ancillary_configs_dir is not None: configs_dir = [ancillary_configs_dir] + configs_dir - inject.add_injectable('configs_dir', configs_dir) + inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') - inject.add_injectable('output_dir', output_dir) + output_dir = os.path.join(os.path.dirname(__file__), "output") + inject.add_injectable("output_dir", output_dir) if not data_dir: - data_dir = example_path('data') + data_dir = example_path("data") - inject.add_injectable('data_dir', data_dir) + inject.add_injectable("data_dir", data_dir) inject.clear_cache() tracing.config_logger() - tracing.delete_output_files('csv') - tracing.delete_output_files('txt') - tracing.delete_output_files('yaml') - tracing.delete_output_files('omx') + tracing.delete_output_files("csv") + tracing.delete_output_files("txt") + tracing.delete_output_files("yaml") + tracing.delete_output_files("omx") def teardown_function(func): @@ -86,7 +81,7 @@ def close_handlers(): def inject_settings(**kwargs): - settings = config.read_settings_file('settings.yaml', mandatory=True) + settings = config.read_settings_file("settings.yaml", mandatory=True) for k in kwargs: settings[k] = kwargs[k] @@ -100,7 +95,7 @@ def test_rng_access(): setup_dirs() - inject.add_injectable('rng_base_seed', 0) + inject.add_injectable("rng_base_seed", 0) pipeline.open_pipeline() @@ -118,12 +113,15 @@ def regress_mini_auto(): # should be the same results as in run_mp (multiprocessing) test case hh_ids = [1099626, 1173905, 1196298, 1286259] choices = [1, 1, 0, 0] - expected_choice = pd.Series(choices, index=pd.Index(hh_ids, name="household_id"), - name='auto_ownership') + expected_choice = pd.Series( + choices, index=pd.Index(hh_ids, name="household_id"), name="auto_ownership" + ) auto_choice = pipeline.get_table("households").sort_index().auto_ownership - offset = HOUSEHOLDS_SAMPLE_SIZE // 2 # choose something midway as hh_id ordered by hh size + offset = ( + HOUSEHOLDS_SAMPLE_SIZE // 2 + ) # choose something midway as hh_id ordered by hh size print("auto_choice\n%s" % auto_choice.head(offset).tail(4)) auto_choice = auto_choice.reindex(hh_ids) @@ -146,11 +144,14 @@ def regress_mini_mtf(): # these choices are for pure regression - their appropriateness has not been checked per_ids = [2566701, 2566702, 3061895] - choices = ['school1', 'school1', 'work1'] - expected_choice = pd.Series(choices, index=pd.Index(per_ids, name='person_id'), - name='mandatory_tour_frequency') + choices = ["school1", "school1", "work1"] + expected_choice = pd.Series( + choices, + index=pd.Index(per_ids, name="person_id"), + name="mandatory_tour_frequency", + ) - mtf_choice = mtf_choice[mtf_choice != ''] # drop null (empty string) choices + mtf_choice = mtf_choice[mtf_choice != ""] # drop null (empty string) choices offset = len(mtf_choice) // 2 # choose something midway as hh_id ordered by hh size print("mtf_choice\n%s" % mtf_choice.head(offset).tail(3)) @@ -163,7 +164,9 @@ def regress_mini_mtf(): 3061895 work1 Name: mandatory_tour_frequency, dtype: object """ - pdt.assert_series_equal(mtf_choice.reindex(per_ids), expected_choice, check_dtype=False) + pdt.assert_series_equal( + mtf_choice.reindex(per_ids), expected_choice, check_dtype=False + ) def regress_mini_location_choice_logsums(): @@ -171,36 +174,36 @@ def regress_mini_location_choice_logsums(): persons = pipeline.get_table("persons") # DEST_CHOICE_LOGSUM_COLUMN_NAME is specified in school_location.yaml and should be assigned - assert 'school_location_logsum' in persons + assert "school_location_logsum" in persons assert not persons.school_location_logsum.isnull().all() # DEST_CHOICE_LOGSUM_COLUMN_NAME is NOT specified in workplace_location.yaml - assert 'workplace_location_logsum' not in persons + assert "workplace_location_logsum" not in persons def test_mini_pipeline_run(): setup_dirs() - inject_settings(households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, - write_skim_cache=True - ) + inject_settings( + households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, write_skim_cache=True + ) _MODELS = [ - 'initialize_landuse', - 'compute_accessibility', - 'initialize_households', - 'school_location', - 'workplace_location', - 'auto_ownership_simulate' + "initialize_landuse", + "compute_accessibility", + "initialize_households", + "school_location", + "workplace_location", + "auto_ownership_simulate", ] pipeline.run(models=_MODELS, resume_after=None) regress_mini_auto() - pipeline.run_model('cdap_simulate') - pipeline.run_model('mandatory_tour_frequency') + pipeline.run_model("cdap_simulate") + pipeline.run_model("mandatory_tour_frequency") regress_mini_mtf() regress_mini_location_choice_logsums() @@ -217,7 +220,7 @@ def test_mini_pipeline_run(): # should create optional workplace_location_sample table workplace_location_sample_df = pipeline.get_table("workplace_location_sample") - assert 'mode_choice_logsum' in workplace_location_sample_df + assert "mode_choice_logsum" in workplace_location_sample_df pipeline.close_pipeline() inject.clear_cache() @@ -232,8 +235,7 @@ def test_mini_pipeline_run2(): setup_dirs() - inject_settings(households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, - read_skim_cache=True) + inject_settings(households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, read_skim_cache=True) # should be able to get this BEFORE pipeline is opened checkpoints_df = pipeline.get_checkpoints() @@ -242,18 +244,18 @@ def test_mini_pipeline_run2(): # print "checkpoints_df\n%s" % checkpoints_df[['checkpoint_name']] assert prev_checkpoint_count == 9 - pipeline.open_pipeline('auto_ownership_simulate') + pipeline.open_pipeline("auto_ownership_simulate") regress_mini_auto() # try to run a model already in pipeline with pytest.raises(RuntimeError) as excinfo: - pipeline.run_model('auto_ownership_simulate') + pipeline.run_model("auto_ownership_simulate") assert "run model 'auto_ownership_simulate' more than once" in str(excinfo.value) # and these new ones - pipeline.run_model('cdap_simulate') - pipeline.run_model('mandatory_tour_frequency') + pipeline.run_model("cdap_simulate") + pipeline.run_model("mandatory_tour_frequency") regress_mini_mtf() @@ -264,9 +266,9 @@ def test_mini_pipeline_run2(): # - write list of override_hh_ids to override_hh_ids.csv in data for use in next test num_hh_ids = 10 hh_ids = pipeline.get_table("households").head(num_hh_ids).index.values - hh_ids = pd.DataFrame({'household_id': hh_ids}) + hh_ids = pd.DataFrame({"household_id": hh_ids}) - hh_ids_path = config.data_file_path('override_hh_ids.csv') + hh_ids_path = config.data_file_path("override_hh_ids.csv") hh_ids.to_csv(hh_ids_path, index=False, header=True) pipeline.close_pipeline() @@ -279,11 +281,11 @@ def test_mini_pipeline_run3(): # test that hh_ids setting overrides household sampling setup_dirs() - inject_settings(hh_ids='override_hh_ids.csv') + inject_settings(hh_ids="override_hh_ids.csv") - households = inject.get_table('households').to_frame() + households = inject.get_table("households").to_frame() - override_hh_ids = pd.read_csv(config.data_file_path('override_hh_ids.csv')) + override_hh_ids = pd.read_csv(config.data_file_path("override_hh_ids.csv")) print("\noverride_hh_ids\n%s" % override_hh_ids) @@ -296,9 +298,14 @@ def test_mini_pipeline_run3(): close_handlers() -def full_run(resume_after=None, chunk_size=0, - households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, - trace_hh_id=None, trace_od=None, check_for_variability=None): +def full_run( + resume_after=None, + chunk_size=0, + households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, + trace_hh_id=None, + trace_od=None, + check_for_variability=None, +): setup_dirs() @@ -310,15 +317,16 @@ def full_run(resume_after=None, chunk_size=0, testing_fail_trip_destination=False, check_for_variability=check_for_variability, want_dest_choice_sample_tables=False, - use_shadow_pricing=False) # shadow pricing breaks replicability when sample_size varies + use_shadow_pricing=False, + ) # shadow pricing breaks replicability when sample_size varies # FIXME should enable testing_fail_trip_destination? - MODELS = settings['models'] + MODELS = settings["models"] pipeline.run(models=MODELS, resume_after=resume_after) - tours = pipeline.get_table('tours') + tours = pipeline.get_table("tours") tour_count = len(tours.index) return tour_count @@ -349,11 +357,10 @@ def get_trace_csv(file_name): def regress_tour_modes(tours_df): - mode_cols = ['tour_mode', 'person_id', 'tour_type', - 'tour_num', 'tour_category'] + mode_cols = ["tour_mode", "person_id", "tour_type", "tour_num", "tour_category"] tours_df = tours_df[tours_df.household_id == HH_ID] - tours_df = tours_df.sort_values(by=['person_id', 'tour_category', 'tour_num']) + tours_df = tours_df.sort_values(by=["person_id", "tour_category", "tour_num"]) print("mode_df\n%s" % tours_df[mode_cols]) @@ -375,25 +382,18 @@ def regress_tour_modes(tours_df): 325052, 325052, 325052, - ] - - EXPECT_TOUR_TYPES = [ - 'othdiscr', - 'work', - 'work', - 'business', - 'work', - 'othmaint' ] + EXPECT_TOUR_TYPES = ["othdiscr", "work", "work", "business", "work", "othmaint"] + EXPECT_MODES = [ - 'WALK', - 'WALK', - 'SHARED3FREE', - 'WALK', - 'WALK_LOC', - 'WALK', - ] + "WALK", + "WALK", + "SHARED3FREE", + "WALK", + "WALK_LOC", + "WALK", + ] assert len(tours_df) == len(EXPECT_PERSON_IDS) assert (tours_df.person_id.values == EXPECT_PERSON_IDS).all() @@ -403,9 +403,9 @@ def regress_tour_modes(tours_df): def regress(): - persons_df = pipeline.get_table('persons') + persons_df = pipeline.get_table("persons") persons_df = persons_df[persons_df.household_id == HH_ID] - print("persons_df\n%s" % persons_df[['value_of_time', 'distance_to_work']]) + print("persons_df\n%s" % persons_df[["value_of_time", "distance_to_work"]]) """ persons_df @@ -415,7 +415,7 @@ def regress(): 3249923 23.349532 0.62 """ - tours_df = pipeline.get_table('tours') + tours_df = pipeline.get_table("tours") regress_tour_modes(tours_df) @@ -423,16 +423,27 @@ def regress(): assert not tours_df.tour_mode.isnull().any() # optional logsum column was added to all tours except mandatory - assert 'destination_logsum' in tours_df - if (tours_df.destination_logsum.isnull() != (tours_df.tour_category == 'mandatory')).any(): - print(tours_df[(tours_df.destination_logsum.isnull() != (tours_df.tour_category == 'mandatory'))]) - assert (tours_df.destination_logsum.isnull() == (tours_df.tour_category == 'mandatory')).all() + assert "destination_logsum" in tours_df + if ( + tours_df.destination_logsum.isnull() != (tours_df.tour_category == "mandatory") + ).any(): + print( + tours_df[ + ( + tours_df.destination_logsum.isnull() + != (tours_df.tour_category == "mandatory") + ) + ] + ) + assert ( + tours_df.destination_logsum.isnull() == (tours_df.tour_category == "mandatory") + ).all() # mode choice logsum calculated for all tours - assert 'mode_choice_logsum' in tours_df + assert "mode_choice_logsum" in tours_df assert not tours_df.mode_choice_logsum.isnull().any() - trips_df = pipeline.get_table('trips') + trips_df = pipeline.get_table("trips") assert trips_df.shape[0] > 0 assert not trips_df.purpose.isnull().any() assert not trips_df.depart.isnull().any() @@ -442,17 +453,17 @@ def regress(): assert not trips_df.mode_choice_logsum.isnull().any() # should be at least two tours per trip - assert trips_df.shape[0] >= 2*tours_df.shape[0] + assert trips_df.shape[0] >= 2 * tours_df.shape[0] # write_trip_matrices - trip_matrices_file = config.output_file_path('trips_md.omx') + trip_matrices_file = config.output_file_path("trips_md.omx") assert os.path.exists(trip_matrices_file) trip_matrices = omx.open_file(trip_matrices_file) assert trip_matrices.shape() == (25, 25) - assert 'WALK_MD' in trip_matrices.list_matrices() - walk_trips = np.array(trip_matrices['WALK_MD']) - assert walk_trips.dtype == np.dtype('float64') + assert "WALK_MD" in trip_matrices.list_matrices() + walk_trips = np.array(trip_matrices["WALK_MD"]) + assert walk_trips.dtype == np.dtype("float64") trip_matrices.close() @@ -462,13 +473,17 @@ def test_full_run1(): if SKIP_FULL_RUN: return - tour_count = full_run(trace_hh_id=HH_ID, check_for_variability=True, - households_sample_size=HOUSEHOLDS_SAMPLE_SIZE) + tour_count = full_run( + trace_hh_id=HH_ID, + check_for_variability=True, + households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, + ) print("tour_count", tour_count) - assert(tour_count == EXPECT_TOUR_COUNT), \ - "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) + assert ( + tour_count == EXPECT_TOUR_COUNT + ), "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) regress() @@ -482,10 +497,13 @@ def test_full_run2(): if SKIP_FULL_RUN: return - tour_count = full_run(resume_after='non_mandatory_tour_scheduling', trace_hh_id=HH_ID) + tour_count = full_run( + resume_after="non_mandatory_tour_scheduling", trace_hh_id=HH_ID + ) - assert(tour_count == EXPECT_TOUR_COUNT), \ - "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) + assert ( + tour_count == EXPECT_TOUR_COUNT + ), "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) regress() @@ -499,12 +517,15 @@ def test_full_run3_with_chunks(): if SKIP_FULL_RUN: return - tour_count = full_run(trace_hh_id=HH_ID, - households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, - chunk_size=500000) + tour_count = full_run( + trace_hh_id=HH_ID, + households_sample_size=HOUSEHOLDS_SAMPLE_SIZE, + chunk_size=500000, + ) - assert(tour_count == EXPECT_TOUR_COUNT), \ - "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) + assert ( + tour_count == EXPECT_TOUR_COUNT + ), "EXPECT_TOUR_COUNT %s but got tour_count %s" % (EXPECT_TOUR_COUNT, tour_count) regress() @@ -518,8 +539,9 @@ def test_full_run4_stability(): if SKIP_FULL_RUN: return - tour_count = full_run(trace_hh_id=HH_ID, - households_sample_size=HOUSEHOLDS_SAMPLE_SIZE-10) + tour_count = full_run( + trace_hh_id=HH_ID, households_sample_size=HOUSEHOLDS_SAMPLE_SIZE - 10 + ) regress() @@ -535,9 +557,7 @@ def test_full_run5_singleton(): if SKIP_FULL_RUN: return - tour_count = full_run(trace_hh_id=HH_ID, - households_sample_size=1, - chunk_size=1) + tour_count = full_run(trace_hh_id=HH_ID, households_sample_size=1, chunk_size=1) regress() @@ -547,6 +567,7 @@ def test_full_run5_singleton(): if __name__ == "__main__": from activitysim import abm # register injectables + print("running test_full_run1") test_full_run1() # teardown_function(None) diff --git a/activitysim/benchmarking/asv.conf.json b/activitysim/benchmarking/asv.conf.json index ca13605795..1b1148955f 100644 --- a/activitysim/benchmarking/asv.conf.json +++ b/activitysim/benchmarking/asv.conf.json @@ -30,7 +30,7 @@ // List of branches to benchmark. If not provided, defaults to "master" // (for git) or "default" (for mercurial). - // "branches": ["master"], // for git + // "branches": ["main"], // for git // "branches": ["default"], // for mercurial // The DVCS being used. If not set, it will be automatically diff --git a/activitysim/benchmarking/benchmarks/mtc1full.py b/activitysim/benchmarking/benchmarks/mtc1full.py index bad2dcb247..39115a9922 100644 --- a/activitysim/benchmarking/benchmarks/mtc1full.py +++ b/activitysim/benchmarking/benchmarks/mtc1full.py @@ -3,7 +3,7 @@ template_setup_cache, ) -EXAMPLE_NAME = "example_mtc_full" +EXAMPLE_NAME = "prototype_mtc_full" CONFIGS_DIRS = ("configs",) DYNAMIC_CONFIG_DIR = "bench_configs" DATA_DIR = "data" diff --git a/activitysim/benchmarking/benchmarks/mtc1mp4.py b/activitysim/benchmarking/benchmarks/mtc1mp4.py index 917f730495..8fe8dce187 100644 --- a/activitysim/benchmarking/benchmarks/mtc1mp4.py +++ b/activitysim/benchmarking/benchmarks/mtc1mp4.py @@ -1,13 +1,14 @@ +import multiprocessing + +import numpy as np + from activitysim.benchmarking.componentwise import ( - template_setup_cache, template_component_timings_mp, + template_setup_cache, ) -import multiprocessing -import numpy as np - PRETTY_NAME = "MTC1_MP4" -EXAMPLE_NAME = "example_mtc_full" +EXAMPLE_NAME = "prototype_mtc_full" NUM_PROCESSORS = int(np.clip(multiprocessing.cpu_count() - 2, 2, 4)) CONFIGS_DIRS = ("configs_mp", "configs") DYNAMIC_CONFIG_DIR = "bench_configs_mp" diff --git a/activitysim/benchmarking/benchmarks/sandag1example.py b/activitysim/benchmarking/benchmarks/sandag1example.py index fb5f45bf2c..66e296b38f 100644 --- a/activitysim/benchmarking/benchmarks/sandag1example.py +++ b/activitysim/benchmarking/benchmarks/sandag1example.py @@ -5,8 +5,8 @@ from .sandag_example import * -EXAMPLE_NAME = "example_sandag_1_zone" -CONFIGS_DIRS = ("configs_1_zone", "example_mtc/configs") +EXAMPLE_NAME = "placeholder_sandag_1_zone" +CONFIGS_DIRS = ("configs_1_zone", "prototype_mtc/configs") DYNAMIC_CONFIG_DIR = "bench_configs" DATA_DIR = "data_1" OUTPUT_DIR = "output_1" diff --git a/activitysim/benchmarking/benchmarks/sandag1full.py b/activitysim/benchmarking/benchmarks/sandag1full.py index b892d2771e..37e5372384 100644 --- a/activitysim/benchmarking/benchmarks/sandag1full.py +++ b/activitysim/benchmarking/benchmarks/sandag1full.py @@ -5,8 +5,8 @@ from .sandag_full import * -EXAMPLE_NAME = "example_sandag_1_zone_full" -CONFIGS_DIRS = ("configs_benchmarking", "configs_1_zone", "example_mtc/configs") +EXAMPLE_NAME = "placeholder_sandag_1_zone_full" +CONFIGS_DIRS = ("configs_benchmarking", "configs_1_zone", "prototype_mtc/configs") DYNAMIC_CONFIG_DIR = "bench_configs" DATA_DIR = "data_1" OUTPUT_DIR = "output_1" diff --git a/activitysim/benchmarking/benchmarks/sandag2example.py b/activitysim/benchmarking/benchmarks/sandag2example.py index 9903d0ec0e..bd4916c5a3 100644 --- a/activitysim/benchmarking/benchmarks/sandag2example.py +++ b/activitysim/benchmarking/benchmarks/sandag2example.py @@ -5,8 +5,8 @@ from .sandag_example import * -EXAMPLE_NAME = "example_sandag_2_zone" -CONFIGS_DIRS = ("configs_2_zone", "example_psrc/configs") +EXAMPLE_NAME = "placeholder_sandag_2_zone" +CONFIGS_DIRS = ("configs_2_zone", "placeholder_psrc/configs") DYNAMIC_CONFIG_DIR = "bench_configs" DATA_DIR = "data_2" OUTPUT_DIR = "output_2" diff --git a/activitysim/benchmarking/benchmarks/sandag2full.py b/activitysim/benchmarking/benchmarks/sandag2full.py index 974cb3f219..3e11f81232 100644 --- a/activitysim/benchmarking/benchmarks/sandag2full.py +++ b/activitysim/benchmarking/benchmarks/sandag2full.py @@ -5,8 +5,8 @@ from .sandag_full import * -EXAMPLE_NAME = "example_sandag_2_zone_full" -CONFIGS_DIRS = ("configs_benchmarking", "configs_2_zone", "example_psrc/configs") +EXAMPLE_NAME = "placeholder_sandag_2_zone_full" +CONFIGS_DIRS = ("configs_benchmarking", "configs_2_zone", "placeholder_psrc/configs") DYNAMIC_CONFIG_DIR = "bench_configs" DATA_DIR = "data_2" OUTPUT_DIR = "output_2" diff --git a/activitysim/benchmarking/benchmarks/sandag3example.py b/activitysim/benchmarking/benchmarks/sandag3example.py index aa040b1448..5bc22de7a0 100644 --- a/activitysim/benchmarking/benchmarks/sandag3example.py +++ b/activitysim/benchmarking/benchmarks/sandag3example.py @@ -5,8 +5,8 @@ from .sandag_example import * -EXAMPLE_NAME = "example_sandag_3_zone" -CONFIGS_DIRS = ("configs_3_zone", "example_mtc/configs") +EXAMPLE_NAME = "placeholder_sandag_3_zone" +CONFIGS_DIRS = ("configs_3_zone", "prototype_mtc/configs") DYNAMIC_CONFIG_DIR = "bench_configs" DATA_DIR = "data_3" OUTPUT_DIR = "output_3" diff --git a/activitysim/benchmarking/benchmarks/sandag3full.py b/activitysim/benchmarking/benchmarks/sandag3full.py index 727f66a32b..a2f9b67ee2 100644 --- a/activitysim/benchmarking/benchmarks/sandag3full.py +++ b/activitysim/benchmarking/benchmarks/sandag3full.py @@ -5,8 +5,8 @@ from .sandag_full import * -EXAMPLE_NAME = "example_sandag_3_zone_full" -CONFIGS_DIRS = ("configs_benchmarking", "configs_3_zone", "example_mtc/configs") +EXAMPLE_NAME = "placeholder_sandag_3_zone_full" +CONFIGS_DIRS = ("configs_benchmarking", "configs_3_zone", "prototype_mtc/configs") DYNAMIC_CONFIG_DIR = "bench_configs" DATA_DIR = "data_3" OUTPUT_DIR = "output_3" diff --git a/activitysim/benchmarking/componentwise.py b/activitysim/benchmarking/componentwise.py index 171a7369de..dda43c4548 100644 --- a/activitysim/benchmarking/componentwise.py +++ b/activitysim/benchmarking/componentwise.py @@ -1,16 +1,17 @@ import glob -import os import logging import logging.handlers +import os +import traceback + import numpy as np import pandas as pd import yaml -import traceback from ..cli.create import get_example -from ..core.pipeline import open_pipeline, run_model +from ..cli.run import INJECTABLES, config, pipeline from ..core import inject, tracing -from ..cli.run import config, pipeline, INJECTABLES +from ..core.pipeline import open_pipeline, run_model from . import workspace logger = logging.getLogger(__name__) @@ -240,9 +241,9 @@ def pre_run( # register abm steps and other abm-specific injectables if not inject.is_injectable("preload_injectables"): - from activitysim import ( + from activitysim import ( # register abm steps and other abm-specific injectables abm, - ) # register abm steps and other abm-specific injectables + ) if settings_file_name is not None: inject.add_injectable("settings_file_name", settings_file_name) diff --git a/activitysim/benchmarking/latest.py b/activitysim/benchmarking/latest.py index a8b02e8ca4..8a6579513d 100644 --- a/activitysim/benchmarking/latest.py +++ b/activitysim/benchmarking/latest.py @@ -3,13 +3,14 @@ from __future__ import absolute_import, division, print_function, unicode_literals import logging +import shlex import subprocess import traceback -import shlex -from asv.console import log + from asv import util -from asv.commands.run import Run from asv.commands import common_args +from asv.commands.run import Run +from asv.console import log def _do_build(args): diff --git a/activitysim/benchmarking/profile_inspector.py b/activitysim/benchmarking/profile_inspector.py index 84e9549846..1c8ab9e57a 100644 --- a/activitysim/benchmarking/profile_inspector.py +++ b/activitysim/benchmarking/profile_inspector.py @@ -4,11 +4,12 @@ import json import os import tempfile -import zlib import traceback -from asv.plugins.snakeviz import SnakevizGui +import zlib + from asv.commands import Command from asv.console import log +from asv.plugins.snakeviz import SnakevizGui def benchmark_snakeviz(json_record, benchmark=None): diff --git a/activitysim/cli/__init__.py b/activitysim/cli/__init__.py index 21c677dcc2..70203a8397 100644 --- a/activitysim/cli/__init__.py +++ b/activitysim/cli/__init__.py @@ -1,3 +1,2 @@ +from . import create, run from .cli import CLI -from . import create -from . import run diff --git a/activitysim/cli/benchmark.py b/activitysim/cli/benchmark.py index 69c5c6ce49..cbb1512d94 100644 --- a/activitysim/cli/benchmark.py +++ b/activitysim/cli/benchmark.py @@ -1,8 +1,8 @@ -import os -import sys import json +import os import shutil import subprocess +import sys ASV_CONFIG = { # The version of the config file format. Do not change, unless @@ -72,7 +72,7 @@ def make_asv_argparser(parser): Most of this work is handed off to the airspeed velocity library. """ try: - from asv.commands import common_args, Command, util, command_order + from asv.commands import Command, command_order, common_args, util except ImportError: return @@ -107,11 +107,11 @@ def help(args): default=".", ) subparser.add_argument( - '--branch', + "--branch", type=str, - action='append', - metavar='NAME', - help='git branch to include in benchmarking' + action="append", + metavar="NAME", + help="git branch to include in benchmarking", ) del commands[command] @@ -126,15 +126,15 @@ def help(args): default=".", ) subparser.add_argument( - '--branch', + "--branch", type=str, - action='append', - metavar='NAME', - help='git branch to include in benchmarking' + action="append", + metavar="NAME", + help="git branch to include in benchmarking", ) common_args.add_global_arguments(subparser) - from ..benchmarking.latest import Latest, Batch + from ..benchmarking.latest import Batch, Latest subparser = Latest.setup_arguments(subparsers) subparser.add_argument( @@ -144,11 +144,11 @@ def help(args): default=".", ) subparser.add_argument( - '--branch', + "--branch", type=str, - action='append', - metavar='NAME', - help='git branch to include in benchmarking' + action="append", + metavar="NAME", + help="git branch to include in benchmarking", ) common_args.add_global_arguments(subparser) @@ -181,8 +181,8 @@ def benchmark(args): print("airspeed velocity is not installed") print("try `conda install asv -c conda-forge` if you want to run benchmarks") sys.exit(1) - from asv.console import log from asv import util + from asv.console import log log.enable(args.verbose) @@ -227,13 +227,18 @@ def benchmark(args): asv_config["repo"] = repo_dir_rel if not branches: # add current branch to the branches to benchmark - current_branch = subprocess.check_output( - ['git', 'branch', '--show-current'], - env={'GIT_DIR': git_dir}, - stdin=None, stderr=None, - shell=False, - universal_newlines=False, - ).decode().strip() + current_branch = ( + subprocess.check_output( + ["git", "branch", "--show-current"], + env={"GIT_DIR": git_dir}, + stdin=None, + stderr=None, + shell=False, + universal_newlines=False, + ) + .decode() + .strip() + ) if current_branch: asv_config["branches"].append(current_branch) else: diff --git a/activitysim/cli/cli.py b/activitysim/cli/cli.py index 5756490db7..23d07812a1 100644 --- a/activitysim/cli/cli.py +++ b/activitysim/cli/cli.py @@ -7,15 +7,16 @@ def __init__(self, version, description): self.description = description self.parser = argparse.ArgumentParser(description=self.description) - self.parser.add_argument('--version', '-V', - action='version', - version=self.version) + self.parser.add_argument( + "--version", "-V", action="version", version=self.version + ) # print help if no subcommand is provided self.parser.set_defaults(afunc=lambda x: self.parser.print_help()) - self.subparsers = self.parser.add_subparsers(title='subcommands', - help='available subcommand options') + self.subparsers = self.parser.add_subparsers( + title="subcommands", help="available subcommand options" + ) def add_subcommand(self, name, args_func, exec_func, description): subparser = self.subparsers.add_parser(name, description=description) diff --git a/activitysim/cli/create.py b/activitysim/cli/create.py index b9c64b1719..85187c63e6 100644 --- a/activitysim/cli/create.py +++ b/activitysim/cli/create.py @@ -1,15 +1,16 @@ +import glob +import hashlib import os -import sys -import requests import shutil -import glob +import sys + import pkg_resources +import requests import yaml -import hashlib -PACKAGE = 'activitysim' -EXAMPLES_DIR = 'examples' -MANIFEST = 'example_manifest.yaml' +PACKAGE = "activitysim" +EXAMPLES_DIR = "examples" +MANIFEST = "example_manifest.yaml" def _example_path(resource): @@ -20,33 +21,37 @@ def _example_path(resource): def _load_manifest(): - with open(_example_path(MANIFEST), 'r') as f: + with open(_example_path(MANIFEST), "r") as f: manifest = yaml.safe_load(f.read()) - assert manifest, f'error: could not load {MANIFEST}' - return {example['name']: example for example in manifest} + assert manifest, f"error: could not load {MANIFEST}" + return {example["name"]: example for example in manifest} EXAMPLES = _load_manifest() def add_create_args(parser): - """Create command args - """ + """Create command args""" create_group = parser.add_mutually_exclusive_group(required=True) - create_group.add_argument('-l', '--list', - action='store_true', - help='list available example directories and exit') - create_group.add_argument('-e', '--example', - type=str, - metavar='PATH', - help='example directory to copy') - - parser.add_argument('-d', '--destination', - type=str, - metavar='PATH', - default=os.getcwd(), - help="path to new project directory (default: %(default)s)") + create_group.add_argument( + "-l", + "--list", + action="store_true", + help="list available example directories and exit", + ) + create_group.add_argument( + "-e", "--example", type=str, metavar="PATH", help="example directory to copy" + ) + + parser.add_argument( + "-d", + "--destination", + type=str, + metavar="PATH", + default=os.getcwd(), + help="path to new project directory (default: %(default)s)", + ) def create(args): @@ -70,11 +75,11 @@ def create(args): def list_examples(): - print('*** Available examples ***\n') + print("*** Available examples ***\n") ret = [] for example in list(EXAMPLES.values()): - del example['include'] + del example["include"] ret.append(example) print(yaml.dump(example)) @@ -112,9 +117,9 @@ def get_example(example_name, destination, benchmarking=False): dest_path = destination example = EXAMPLES[example_name] - itemlist = example.get('include', []) + itemlist = example.get("include", []) if benchmarking: - itemlist.extend(example.get('benchmarking', [])) + itemlist.extend(example.get("benchmarking", [])) for item in itemlist: @@ -131,23 +136,23 @@ def get_example(example_name, destination, benchmarking=False): target_path = dest_path sha256 = None - if assets.startswith('http'): + if assets.startswith("http"): download_asset(assets, target_path, sha256) else: for asset_path in glob.glob(_example_path(assets)): copy_asset(asset_path, target_path, dirs_exist_ok=True) - print(f'copied! new project files are in {os.path.abspath(dest_path)}') + print(f"copied! new project files are in {os.path.abspath(dest_path)}") - instructions = example.get('instructions') + instructions = example.get("instructions") if instructions: print(instructions) def copy_asset(asset_path, target_path, dirs_exist_ok=False): - print(f'copying {os.path.basename(asset_path)} ...') + print(f"copying {os.path.basename(asset_path)} ...") if os.path.isdir(asset_path): target_path = os.path.join(target_path, os.path.basename(asset_path)) shutil.copytree(asset_path, target_path, dirs_exist_ok=dirs_exist_ok) @@ -168,23 +173,24 @@ def download_asset(url, target_path, sha256=None): if sha256 and os.path.isfile(target_path): computed_sha256 = sha256_checksum(target_path) if sha256 == computed_sha256: - print(f'not re-downloading existing {os.path.basename(target_path)} ...') + print(f"not re-downloading existing {os.path.basename(target_path)} ...") return else: - print(f're-downloading existing {os.path.basename(target_path)} ...') - print(f' expected checksum {sha256}') - print(f' computed checksum {computed_sha256}') + print(f"re-downloading existing {os.path.basename(target_path)} ...") + print(f" expected checksum {sha256}") + print(f" computed checksum {computed_sha256}") else: - print(f'downloading {os.path.basename(target_path)} ...') + print(f"downloading {os.path.basename(target_path)} ...") with requests.get(url, stream=True) as r: r.raise_for_status() - with open(target_path_dl, 'wb') as f: + with open(target_path_dl, "wb") as f: for chunk in r.iter_content(chunk_size=None): f.write(chunk) if target_path_dl != target_path: import gzip - with gzip.open(target_path_dl, 'rb') as f_in: - with open(target_path, 'wb') as f_out: + + with gzip.open(target_path_dl, "rb") as f_in: + with open(target_path, "wb") as f_out: shutil.copyfileobj(f_in, f_out) os.remove(target_path_dl) computed_sha256 = sha256_checksum(target_path) @@ -194,11 +200,13 @@ def download_asset(url, target_path, sha256=None): f" expected checksum {sha256}\n" f" computed checksum {computed_sha256}" ) + elif not sha256: + print(f" computed checksum {computed_sha256}") def sha256_checksum(filename, block_size=65536): sha256 = hashlib.sha256() - with open(filename, 'rb') as f: - for block in iter(lambda: f.read(block_size), b''): + with open(filename, "rb") as f: + for block in iter(lambda: f.read(block_size), b""): sha256.update(block) return sha256.hexdigest() diff --git a/activitysim/cli/main.py b/activitysim/cli/main.py index 323122c003..92988e863a 100644 --- a/activitysim/cli/main.py +++ b/activitysim/cli/main.py @@ -1,37 +1,38 @@ -import sys import os +import sys def main(): # set all these before we import numpy or any other math library if len(sys.argv) > 1 and sys.argv[1] == "benchmark": - os.environ['MKL_NUM_THREADS'] = '1' - os.environ['OMP_NUM_THREADS'] = '1' - os.environ['OPENBLAS_NUM_THREADS'] = '1' - os.environ['NUMBA_NUM_THREADS'] = '1' - os.environ['VECLIB_MAXIMUM_THREADS'] = '1' - os.environ['NUMEXPR_NUM_THREADS'] = '1' - - from activitysim.cli import CLI - from activitysim.cli import run - from activitysim.cli import create - from activitysim.cli import benchmark + os.environ["MKL_NUM_THREADS"] = "1" + os.environ["OMP_NUM_THREADS"] = "1" + os.environ["OPENBLAS_NUM_THREADS"] = "1" + os.environ["NUMBA_NUM_THREADS"] = "1" + os.environ["VECLIB_MAXIMUM_THREADS"] = "1" + os.environ["NUMEXPR_NUM_THREADS"] = "1" - from activitysim import __version__, __doc__ + from activitysim import __doc__, __version__ + from activitysim.cli import CLI, benchmark, create, run - asim = CLI(version=__version__, - description=__doc__) - asim.add_subcommand(name='run', - args_func=run.add_run_args, - exec_func=run.run, - description=run.run.__doc__) - asim.add_subcommand(name='create', - args_func=create.add_create_args, - exec_func=create.create, - description=create.create.__doc__) - asim.add_subcommand(name='benchmark', - args_func=benchmark.make_asv_argparser, - exec_func=benchmark.benchmark, - description=benchmark.benchmark.__doc__) + asim = CLI(version=__version__, description=__doc__) + asim.add_subcommand( + name="run", + args_func=run.add_run_args, + exec_func=run.run, + description=run.run.__doc__, + ) + asim.add_subcommand( + name="create", + args_func=create.add_create_args, + exec_func=create.create, + description=create.create.__doc__, + ) + asim.add_subcommand( + name="benchmark", + args_func=benchmark.make_asv_argparser, + exec_func=benchmark.benchmark, + description=benchmark.benchmark.__doc__, + ) sys.exit(asim.execute()) diff --git a/activitysim/cli/run.py b/activitysim/cli/run.py index 87a7d3d929..d5c4649505 100644 --- a/activitysim/cli/run.py +++ b/activitysim/cli/run.py @@ -1,81 +1,83 @@ # ActivitySim # See full license in LICENSE.txt. -import sys -import os -import logging import argparse +import logging +import os +import sys import warnings import numpy as np -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import mem -from activitysim.core import chunk +from activitysim.core import chunk, config, inject, mem, pipeline, tracing logger = logging.getLogger(__name__) -INJECTABLES = ['data_dir', 'configs_dir', 'output_dir', 'settings_file_name'] +INJECTABLES = ["data_dir", "configs_dir", "output_dir", "settings_file_name"] def add_run_args(parser, multiprocess=True): - """Run command args - """ - parser.add_argument('-w', '--working_dir', - type=str, - metavar='PATH', - help='path to example/project directory (default: %s)' % os.getcwd()) - parser.add_argument('-c', '--config', - type=str, - action='append', - metavar='PATH', - help='path to config dir') - parser.add_argument('-o', '--output', - type=str, - metavar='PATH', - help='path to output dir') - parser.add_argument('-d', '--data', - type=str, - action='append', - metavar='PATH', - help='path to data dir') - parser.add_argument('-r', '--resume', - type=str, - metavar='STEPNAME', - help='resume after step') - parser.add_argument('-p', '--pipeline', - type=str, - metavar='FILE', - help='pipeline file name') - parser.add_argument('-s', '--settings_file', - type=str, - metavar='FILE', - help='settings file name') - parser.add_argument('-g', '--chunk_size', - type=int, - metavar='BYTES', - help='chunk size') - parser.add_argument('--chunk_training_mode', - type=str, - help='chunk training mode, one of [training, adaptive, production, disabled]') - parser.add_argument('--households_sample_size', - type=int, - metavar='N', - help='households sample size') + """Run command args""" + parser.add_argument( + "-w", + "--working_dir", + type=str, + metavar="PATH", + help="path to example/project directory (default: %s)" % os.getcwd(), + ) + parser.add_argument( + "-c", + "--config", + type=str, + action="append", + metavar="PATH", + help="path to config dir", + ) + parser.add_argument( + "-o", "--output", type=str, metavar="PATH", help="path to output dir" + ) + parser.add_argument( + "-d", + "--data", + type=str, + action="append", + metavar="PATH", + help="path to data dir", + ) + parser.add_argument( + "-r", "--resume", type=str, metavar="STEPNAME", help="resume after step" + ) + parser.add_argument( + "-p", "--pipeline", type=str, metavar="FILE", help="pipeline file name" + ) + parser.add_argument( + "-s", "--settings_file", type=str, metavar="FILE", help="settings file name" + ) + parser.add_argument( + "-g", "--chunk_size", type=int, metavar="BYTES", help="chunk size" + ) + parser.add_argument( + "--chunk_training_mode", + type=str, + help="chunk training mode, one of [training, adaptive, production, disabled]", + ) + parser.add_argument( + "--households_sample_size", type=int, metavar="N", help="households sample size" + ) if multiprocess: - parser.add_argument('-m', '--multiprocess', - default=False, - const=-1, - metavar='(N)', - nargs='?', - type=int, - help='run multiprocess. Adds configs_mp settings' - ' by default. Optionally give a number of processes,' - ' which will override the settings file.') + parser.add_argument( + "-m", + "--multiprocess", + default=False, + const=-1, + metavar="(N)", + nargs="?", + type=int, + help="run multiprocess. Adds configs_mp settings" + " by default. Optionally give a number of processes," + " which will override the settings file.", + ) def validate_injectable(name): @@ -84,9 +86,11 @@ def validate_injectable(name): except RuntimeError: # injectable is missing, meaning is hasn't been explicitly set # and defaults cannot be found. - sys.exit('Error: please specify either a --working_dir ' - "containing 'configs', 'data', and 'output' folders " - 'or all three of --config, --data, and --output') + sys.exit( + "Error: please specify either a --working_dir " + "containing 'configs', 'data', and 'output' folders " + "or all three of --config, --data, and --output" + ) dir_paths = [dir_paths] if isinstance(dir_paths, str) else dir_paths @@ -98,7 +102,6 @@ def validate_injectable(name): def handle_standard_args(args, multiprocess=True): - def inject_arg(name, value, cache=False): assert name in INJECTABLES inject.add_injectable(name, value, cache=cache) @@ -110,58 +113,58 @@ def inject_arg(name, value, cache=False): # settings_file_name should be cached or else it gets squashed by config.py if args.settings_file: - inject_arg('settings_file_name', args.settings_file, cache=True) + inject_arg("settings_file_name", args.settings_file, cache=True) if args.config: - inject_arg('configs_dir', args.config) + inject_arg("configs_dir", args.config) if args.data: - inject_arg('data_dir', args.data) + inject_arg("data_dir", args.data) if args.output: - inject_arg('output_dir', args.output) + inject_arg("output_dir", args.output) if multiprocess and args.multiprocess: - config_paths = validate_injectable('configs_dir') + config_paths = validate_injectable("configs_dir") - if not os.path.exists('configs_mp'): + if not os.path.exists("configs_mp"): logger.warning("could not find 'configs_mp'. skipping...") else: logger.info("adding 'configs_mp' to config_dir list...") - config_paths.insert(0, 'configs_mp') - inject_arg('configs_dir', config_paths) + config_paths.insert(0, "configs_mp") + inject_arg("configs_dir", config_paths) - config.override_setting('multiprocess', True) + config.override_setting("multiprocess", True) if args.multiprocess > 0: - config.override_setting('num_processes', args.multiprocess) + config.override_setting("num_processes", args.multiprocess) if args.chunk_size: - config.override_setting('chunk_size', int(args.chunk_size)) + config.override_setting("chunk_size", int(args.chunk_size)) if args.chunk_training_mode is not None: - config.override_setting('chunk_training_mode', args.chunk_training_mode) + config.override_setting("chunk_training_mode", args.chunk_training_mode) if args.households_sample_size is not None: - config.override_setting('households_sample_size', args.households_sample_size) + config.override_setting("households_sample_size", args.households_sample_size) - for injectable in ['configs_dir', 'data_dir', 'output_dir']: + for injectable in ["configs_dir", "data_dir", "output_dir"]: validate_injectable(injectable) if args.pipeline: - inject.add_injectable('pipeline_file_name', args.pipeline) + inject.add_injectable("pipeline_file_name", args.pipeline) if args.resume: - config.override_setting('resume_after', args.resume) + config.override_setting("resume_after", args.resume) def cleanup_output_files(): tracing.delete_trace_files() - tracing.delete_output_files('h5') - tracing.delete_output_files('csv') - tracing.delete_output_files('txt') - tracing.delete_output_files('yaml') - tracing.delete_output_files('prof') - tracing.delete_output_files('omx') + tracing.delete_output_files("h5") + tracing.delete_output_files("csv") + tracing.delete_output_files("txt") + tracing.delete_output_files("yaml") + tracing.delete_output_files("prof") + tracing.delete_output_files("omx") def run(args): @@ -179,38 +182,45 @@ def run(args): # by default, assume we are running activitysim.abm # other callers (e.g. populationsim) will have to arrange to register their own steps and injectables # (presumably) in a custom run_simulation.py instead of using the 'activitysim run' command - if not inject.is_injectable('preload_injectables'): - from activitysim import abm # register abm steps and other abm-specific injectables + if not inject.is_injectable("preload_injectables"): + from activitysim import ( # register abm steps and other abm-specific injectables + abm, + ) tracing.config_logger(basic=True) handle_standard_args(args) # possibly update injectables # legacy support for run_list setting nested 'models' and 'resume_after' settings - if config.setting('run_list'): - warnings.warn("Support for 'run_list' settings group will be removed.\n" - "The run_list.steps setting is renamed 'models'.\n" - "The run_list.resume_after setting is renamed 'resume_after'.\n" - "Specify both 'models' and 'resume_after' directly in settings config file.", FutureWarning) - run_list = config.setting('run_list') - if 'steps' in run_list: - assert not config.setting('models'), \ - f"Don't expect 'steps' in run_list and 'models' as stand-alone setting!" - config.override_setting('models', run_list['steps']) - - if 'resume_after' in run_list: - assert not config.setting('resume_after'), \ - f"Don't expect 'resume_after' both in run_list and as stand-alone setting!" - config.override_setting('resume_after', run_list['resume_after']) + if config.setting("run_list"): + warnings.warn( + "Support for 'run_list' settings group will be removed.\n" + "The run_list.steps setting is renamed 'models'.\n" + "The run_list.resume_after setting is renamed 'resume_after'.\n" + "Specify both 'models' and 'resume_after' directly in settings config file.", + FutureWarning, + ) + run_list = config.setting("run_list") + if "steps" in run_list: + assert not config.setting( + "models" + ), f"Don't expect 'steps' in run_list and 'models' as stand-alone setting!" + config.override_setting("models", run_list["steps"]) + + if "resume_after" in run_list: + assert not config.setting( + "resume_after" + ), f"Don't expect 'resume_after' both in run_list and as stand-alone setting!" + config.override_setting("resume_after", run_list["resume_after"]) # If you provide a resume_after argument to pipeline.run # the pipeline manager will attempt to load checkpointed tables from the checkpoint store # and resume pipeline processing on the next submodel step after the specified checkpoint - resume_after = config.setting('resume_after', None) + resume_after = config.setting("resume_after", None) # cleanup if not resuming if not resume_after: cleanup_output_files() - elif config.setting('cleanup_trace_files_on_resume', False): + elif config.setting("cleanup_trace_files_on_resume", False): tracing.delete_trace_files() tracing.config_logger(basic=False) # update using possibly new logging configs @@ -218,60 +228,62 @@ def run(args): logging.captureWarnings(capture=True) # directories - for k in ['configs_dir', 'settings_file_name', 'data_dir', 'output_dir']: - logger.info('SETTING %s: %s' % (k, inject.get_injectable(k, None))) + for k in ["configs_dir", "settings_file_name", "data_dir", "output_dir"]: + logger.info("SETTING %s: %s" % (k, inject.get_injectable(k, None))) - log_settings = inject.get_injectable('log_settings', {}) + log_settings = inject.get_injectable("log_settings", {}) for k in log_settings: - logger.info('SETTING %s: %s' % (k, config.setting(k))) + logger.info("SETTING %s: %s" % (k, config.setting(k))) # OMP_NUM_THREADS: openmp # OPENBLAS_NUM_THREADS: openblas # MKL_NUM_THREADS: mkl - for env in ['MKL_NUM_THREADS', 'OMP_NUM_THREADS', 'OPENBLAS_NUM_THREADS']: + for env in ["MKL_NUM_THREADS", "OMP_NUM_THREADS", "OPENBLAS_NUM_THREADS"]: logger.info(f"ENV {env}: {os.getenv(env)}") np_info_keys = [ - 'atlas_blas_info', - 'atlas_blas_threads_info', - 'atlas_info', - 'atlas_threads_info', - 'blas_info', - 'blas_mkl_info', - 'blas_opt_info', - 'lapack_info', - 'lapack_mkl_info', - 'lapack_opt_info', - 'mkl_info'] + "atlas_blas_info", + "atlas_blas_threads_info", + "atlas_info", + "atlas_threads_info", + "blas_info", + "blas_mkl_info", + "blas_opt_info", + "lapack_info", + "lapack_mkl_info", + "lapack_opt_info", + "mkl_info", + ] for cfg_key in np_info_keys: info = np.__config__.get_info(cfg_key) if info: - for info_key in ['libraries']: + for info_key in ["libraries"]: if info_key in info: logger.info(f"NUMPY {cfg_key} {info_key}: {info[info_key]}") t0 = tracing.print_elapsed_time() try: - if config.setting('multiprocess', False): - logger.info('run multiprocess simulation') + if config.setting("multiprocess", False): + logger.info("run multiprocess simulation") from activitysim.core import mp_tasks + injectables = {k: inject.get_injectable(k) for k in INJECTABLES} mp_tasks.run_multiprocess(injectables) assert not pipeline.is_open() - if config.setting('cleanup_pipeline_after_run', False): + if config.setting("cleanup_pipeline_after_run", False): pipeline.cleanup_pipeline() else: - logger.info('run single process simulation') + logger.info("run single process simulation") - pipeline.run(models=config.setting('models'), resume_after=resume_after) + pipeline.run(models=config.setting("models"), resume_after=resume_after) - if config.setting('cleanup_pipeline_after_run', False): + if config.setting("cleanup_pipeline_after_run", False): pipeline.cleanup_pipeline() # has side effect of closing open pipeline else: pipeline.close_pipeline() @@ -279,19 +291,19 @@ def run(args): mem.log_global_hwm() # main process except Exception: # log time until error and the error traceback - tracing.print_elapsed_time('all models until this error', t0) - logger.exception('activitysim run encountered an unrecoverable error') + tracing.print_elapsed_time("all models until this error", t0) + logger.exception("activitysim run encountered an unrecoverable error") raise chunk.consolidate_logs() mem.consolidate_logs() - tracing.print_elapsed_time('all models', t0) + tracing.print_elapsed_time("all models", t0) return 0 -if __name__ == '__main__': +if __name__ == "__main__": from activitysim import abm # register injectables @@ -299,5 +311,5 @@ def run(args): add_run_args(parser) args = parser.parse_args() - parser.parse_args(['--sum', '7', '-1', '42']) + parser.parse_args(["--sum", "7", "-1", "42"]) sys.exit(run(args)) diff --git a/activitysim/cli/test/test_cli.py b/activitysim/cli/test/test_cli.py index b96044a3a0..96c3575c0a 100644 --- a/activitysim/cli/test/test_cli.py +++ b/activitysim/cli/test/test_cli.py @@ -1,56 +1,64 @@ # ActivitySim # See full license in LICENSE.txt. import os -import subprocess import shutil +import subprocess import sys + import pytest if sys.version_info < (3, 7): - pytest.skip('capture_output introduced in Python 3.7', allow_module_level=True) + pytest.skip("capture_output introduced in Python 3.7", allow_module_level=True) def test_help(): # cp = completed process - cp = subprocess.run(['activitysim', '-h'], capture_output=True) + cp = subprocess.run(["activitysim", "-h"], capture_output=True) - assert 'usage: activitysim [-h] [--version]' in str(cp.stdout) + assert "usage: activitysim [-h] [--version]" in str(cp.stdout) def test_create_help(): - cp = subprocess.run(['activitysim', 'create', '-h'], capture_output=True) + cp = subprocess.run(["activitysim", "create", "-h"], capture_output=True) - assert 'usage: activitysim create [-h] (-l | -e PATH) [-d PATH]' in str(cp.stdout) + assert "usage: activitysim create [-h] (-l | -e PATH) [-d PATH]" in str(cp.stdout) def test_create_list(): - cp = subprocess.run(['activitysim', 'create', '--list'], capture_output=True) + cp = subprocess.run(["activitysim", "create", "--list"], capture_output=True) - assert 'Available examples' in str(cp.stdout) - assert "name: example_mtc" in str(cp.stdout) - assert "name: example_test" in str(cp.stdout) + assert "Available examples" in str(cp.stdout) + assert "name: prototype_mtc" in str(cp.stdout) def test_create_copy(): - target = os.path.join(os.path.dirname(__file__), 'test_example') - cp = subprocess.run(['activitysim', 'create', - '--example', 'example_test', - '--destination', target], capture_output=True) + target = os.path.join(os.path.dirname(__file__), "test_example") + cp = subprocess.run( + [ + "activitysim", + "create", + "--example", + "prototype_mtc", + "--destination", + target, + ], + capture_output=True, + ) - assert 'copying data ...' in str(cp.stdout) - assert 'copying configs ...' in str(cp.stdout) - assert 'copying configs_mp ...' in str(cp.stdout) - assert 'copying output ...' in str(cp.stdout) + assert "copying data ..." in str(cp.stdout) + assert "copying configs ..." in str(cp.stdout) + assert "copying configs_mp ..." in str(cp.stdout) + assert "copying output ..." in str(cp.stdout) # replace slashes on windows assert str(target).replace("\\\\", "\\") in str(cp.stdout).replace("\\\\", "\\") assert os.path.exists(target) - for folder in ['configs', 'configs_mp', 'data', 'output']: + for folder in ["configs", "configs_mp", "data", "output"]: assert os.path.isdir(os.path.join(target, folder)) # clean up @@ -60,19 +68,19 @@ def test_create_copy(): def test_run(): - cp = subprocess.run(['activitysim', 'run'], capture_output=True) + cp = subprocess.run(["activitysim", "run"], capture_output=True) msg = ( - 'Error: please specify either a --working_dir ' + "Error: please specify either a --working_dir " "containing 'configs', 'data', and 'output' " - 'folders or all three of --config, --data, and --output' + "folders or all three of --config, --data, and --output" ) # expect error assert msg in str(cp.stderr) -if __name__ == '__main__': +if __name__ == "__main__": test_help() test_create_help() diff --git a/activitysim/core/assign.py b/activitysim/core/assign.py index 37236327df..4eb55ddc32 100644 --- a/activitysim/core/assign.py +++ b/activitysim/core/assign.py @@ -1,19 +1,13 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import zip -from builtins import object - import logging +from builtins import object, zip from collections import OrderedDict import numpy as np import pandas as pd -from activitysim.core import util -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import chunk -from activitysim.core import inject +from activitysim.core import chunk, config, inject, pipeline, util logger = logging.getLogger(__name__) @@ -66,10 +60,12 @@ def evaluate_constants(expressions, constants): return d -def read_assignment_spec(file_name, - description_name="Description", - target_name="Target", - expression_name="Expression"): +def read_assignment_spec( + file_name, + description_name="Description", + target_name="Target", + expression_name="Expression", +): """ Read a CSV model specification into a Pandas DataFrame or Series. @@ -98,7 +94,7 @@ def read_assignment_spec(file_name, """ try: - cfg = pd.read_csv(file_name, comment='#') + cfg = pd.read_csv(file_name, comment="#") except Exception as e: logger.error(f"Error reading spec file: {file_name}") logger.error(str(e)) @@ -107,14 +103,18 @@ def read_assignment_spec(file_name, # drop null expressions # cfg = cfg.dropna(subset=[expression_name]) - cfg.rename(columns={target_name: 'target', - expression_name: 'expression', - description_name: 'description'}, - inplace=True) + cfg.rename( + columns={ + target_name: "target", + expression_name: "expression", + description_name: "description", + }, + inplace=True, + ) # backfill description - if 'description' not in cfg.columns: - cfg.description = '' + if "description" not in cfg.columns: + cfg.description = "" cfg.target = cfg.target.str.strip() cfg.expression = cfg.expression.str.strip() @@ -125,12 +125,14 @@ def read_assignment_spec(file_name, class NumpyLogger(object): def __init__(self, logger): self.logger = logger - self.target = '' - self.expression = '' + self.target = "" + self.expression = "" def write(self, msg): - self.logger.warning("numpy: %s expression: %s = %s" % - (msg.rstrip(), str(self.target), str(self.expression))) + self.logger.warning( + "numpy: %s expression: %s = %s" + % (msg.rstrip(), str(self.target), str(self.expression)) + ) def local_utilities(): @@ -144,13 +146,13 @@ def local_utilities(): """ utility_dict = { - 'pd': pd, - 'np': np, - 'reindex': util.reindex, - 'reindex_i': util.reindex_i, - 'setting': config.setting, - 'other_than': util.other_than, - 'rng': pipeline.get_rn_generator(), + "pd": pd, + "np": np, + "reindex": util.reindex, + "reindex_i": util.reindex_i, + "setting": config.setting, + "other_than": util.other_than, + "rng": pipeline.get_rn_generator(), } utility_dict.update(config.get_global_constants()) @@ -159,19 +161,26 @@ def local_utilities(): def is_throwaway(target): - return target == '_' + return target == "_" def is_temp_scalar(target): - return target.startswith('_') and target.isupper() + return target.startswith("_") and target.isupper() def is_temp(target): - return target.startswith('_') - - -def assign_variables(assignment_expressions, df, locals_dict, df_alias=None, - trace_rows=None, trace_label=None, chunk_log=None): + return target.startswith("_") + + +def assign_variables( + assignment_expressions, + df, + locals_dict, + df_alias=None, + trace_rows=None, + trace_label=None, + chunk_log=None, +): """ Evaluate a set of variable expressions from a spec in the context of a given data table. @@ -216,13 +225,13 @@ def assign_variables(assignment_expressions, df, locals_dict, df_alias=None, np_logger = NumpyLogger(logger) def is_throwaway(target): - return target == '_' + return target == "_" def is_temp_singular(target): - return target.startswith('_') and target.isupper() + return target.startswith("_") and target.isupper() def is_temp_series_val(target): - return target.startswith('_') + return target.startswith("_") def to_series(x): if x is None or np.isscalar(x): @@ -247,7 +256,7 @@ def to_series(x): if df_alias: _locals_dict[df_alias] = df else: - _locals_dict['df'] = df + _locals_dict["df"] = df local_keys = list(_locals_dict.keys()) # build a dataframe of eval results for non-temp targets @@ -261,12 +270,18 @@ def to_series(x): for e in zip(assignment_expressions.target, assignment_expressions.expression): target, expression = e - assert isinstance(target, str), \ - "expected target '%s' for expression '%s' to be string not %s" % \ - (target, expression, type(target)) + assert isinstance( + target, str + ), "expected target '%s' for expression '%s' to be string not %s" % ( + target, + expression, + type(target), + ) if target in local_keys: - logger.warning("assign_variables target obscures local_d name '%s'", str(target)) + logger.warning( + "assign_variables target obscures local_d name '%s'", str(target) + ) if trace_label: logger.info(f"{trace_label}.assign_variables {target} = {expression}") @@ -275,14 +290,20 @@ def to_series(x): try: x = eval(expression, globals(), _locals_dict) except Exception as err: - logger.error("assign_variables error: %s: %s", type(err).__name__, str(err)) - logger.error("assign_variables expression: %s = %s", str(target), str(expression)) + logger.error( + "assign_variables error: %s: %s", type(err).__name__, str(err) + ) + logger.error( + "assign_variables expression: %s = %s", str(target), str(expression) + ) raise err if not is_throwaway(target): _locals_dict[target] = x if trace_assigned_locals is not None: - trace_assigned_locals[uniquify_key(trace_assigned_locals, target)] = x + trace_assigned_locals[ + uniquify_key(trace_assigned_locals, target) + ] = x continue @@ -292,7 +313,7 @@ def to_series(x): np_logger.target = str(target) np_logger.expression = str(expression) saved_handler = np.seterrcall(np_logger) - save_err = np.seterr(all='log') + save_err = np.seterr(all="log") # FIXME should whitelist globals for security? globals_dict = {} @@ -307,7 +328,9 @@ def to_series(x): # raise err except Exception as err: - logger.exception(f"assign_variables - {type(err).__name__} ({str(err)}) evaluating: {str(expression)}") + logger.exception( + f"assign_variables - {type(err).__name__} ({str(err)}) evaluating: {str(expression)}" + ) raise err if not is_temp_series_val(target): @@ -337,11 +360,11 @@ def to_series(x): assert variables, "No non-temp variables were assigned." if chunk_log: - chunk.log_df(trace_label, 'temps', temps) - chunk.log_df(trace_label, 'variables', variables) + chunk.log_df(trace_label, "temps", temps) + chunk.log_df(trace_label, "variables", variables) # these are going away - let caller log result df - chunk.log_df(trace_label, 'temps', None) - chunk.log_df(trace_label, 'variables', None) + chunk.log_df(trace_label, "temps", None) + chunk.log_df(trace_label, "variables", None) # we stored result in dict - convert to df variables = util.df_from_dict(variables, index=df.index) diff --git a/activitysim/core/chunk.py b/activitysim/core/chunk.py index a209b34e8e..547c8f064d 100644 --- a/activitysim/core/chunk.py +++ b/activitysim/core/chunk.py @@ -13,10 +13,7 @@ import numpy as np import pandas as pd -from . import config -from . import mem -from . import tracing -from . import util +from . import config, mem, tracing, util from .util import GB logger = logging.getLogger(__name__) @@ -25,11 +22,11 @@ # CHUNK_METHODS and METRICS # -RSS = 'rss' -USS = 'uss' -BYTES = 'bytes' -HYBRID_RSS = 'hybrid_rss' -HYBRID_USS = 'hybrid_uss' +RSS = "rss" +USS = "uss" +BYTES = "bytes" +HYBRID_RSS = "hybrid_rss" +HYBRID_USS = "hybrid_uss" METRICS = [RSS, USS, BYTES] CHUNK_METHODS = [RSS, USS, BYTES, HYBRID_RSS, HYBRID_USS] @@ -75,10 +72,10 @@ assuming there is abundant RAM. """ -MODE_RETRAIN = 'training' -MODE_ADAPTIVE = 'adaptive' -MODE_PRODUCTION = 'production' -MODE_CHUNKLESS = 'disabled' +MODE_RETRAIN = "training" +MODE_ADAPTIVE = "adaptive" +MODE_PRODUCTION = "production" +MODE_CHUNKLESS = "disabled" TRAINING_MODES = [MODE_RETRAIN, MODE_ADAPTIVE, MODE_PRODUCTION, MODE_CHUNKLESS] # @@ -90,26 +87,31 @@ LOG_SUBCHUNK_HISTORY = False # only useful for debugging WRITE_SUBCHUNK_HISTORY = False # only useful for debugging -DEFAULT_INITIAL_ROWS_PER_CHUNK = 100 # fallback for default_initial_rows_per_chunk setting +DEFAULT_INITIAL_ROWS_PER_CHUNK = ( + 100 # fallback for default_initial_rows_per_chunk setting +) # # cache and history files # -CACHE_FILE_NAME = 'chunk_cache.csv' -LOG_FILE_NAME = 'chunk_history.csv' +CACHE_FILE_NAME = "chunk_cache.csv" +LOG_FILE_NAME = "chunk_history.csv" OMNIBUS_LOG_FILE_NAME = f"omnibus_{LOG_FILE_NAME}" -C_CHUNK_TAG = 'tag' -C_DEPTH = 'depth' -C_NUM_ROWS = 'num_rows' -C_TIME = 'time' +C_CHUNK_TAG = "tag" +C_DEPTH = "depth" +C_NUM_ROWS = "num_rows" +C_TIME = "time" # columns to write to LOG_FILE -CUM_OVERHEAD_COLUMNS = [f'cum_overhead_{m}' for m in METRICS] -CHUNK_HISTORY_COLUMNS = [C_TIME, C_CHUNK_TAG] + CUM_OVERHEAD_COLUMNS + \ - [C_NUM_ROWS, 'row_size', 'chunk_size', C_DEPTH, 'process', 'chunk'] +CUM_OVERHEAD_COLUMNS = [f"cum_overhead_{m}" for m in METRICS] +CHUNK_HISTORY_COLUMNS = ( + [C_TIME, C_CHUNK_TAG] + + CUM_OVERHEAD_COLUMNS + + [C_NUM_ROWS, "row_size", "chunk_size", C_DEPTH, "process", "chunk"] +) CHUNK_CACHE_COLUMNS = [C_CHUNK_TAG, C_NUM_ROWS] + METRICS @@ -125,24 +127,32 @@ def chunk_method(): - method = SETTINGS.get('chunk_method') + method = SETTINGS.get("chunk_method") if method is None: - method = SETTINGS.setdefault('chunk_method', config.setting('chunk_method', DEFAULT_CHUNK_METHOD)) - assert method in CHUNK_METHODS, \ - f"chunk_method setting '{method}' not recognized. Should be one of: {CHUNK_METHODS}" + method = SETTINGS.setdefault( + "chunk_method", config.setting("chunk_method", DEFAULT_CHUNK_METHOD) + ) + assert ( + method in CHUNK_METHODS + ), f"chunk_method setting '{method}' not recognized. Should be one of: {CHUNK_METHODS}" return method def chunk_metric(): - return SETTINGS.setdefault('chunk_metric', USS if chunk_method() in USS_CHUNK_METHODS else 'rss') + return SETTINGS.setdefault( + "chunk_metric", USS if chunk_method() in USS_CHUNK_METHODS else "rss" + ) def chunk_training_mode(): - training_mode = \ - SETTINGS.setdefault('chunk_training_mode', config.setting('chunk_training_mode', MODE_ADAPTIVE)) + training_mode = SETTINGS.setdefault( + "chunk_training_mode", config.setting("chunk_training_mode", MODE_ADAPTIVE) + ) if not training_mode: training_mode = MODE_CHUNKLESS - assert training_mode in TRAINING_MODES, f"chunk_training_mode '{training_mode}' not one of: {TRAINING_MODES}" + assert ( + training_mode in TRAINING_MODES + ), f"chunk_training_mode '{training_mode}' not one of: {TRAINING_MODES}" return training_mode @@ -151,20 +161,27 @@ def chunk_logging(): def default_initial_rows_per_chunk(): - return SETTINGS.setdefault('default_initial_rows_per_chunk', - config.setting('default_initial_rows_per_chunk', DEFAULT_INITIAL_ROWS_PER_CHUNK)) + return SETTINGS.setdefault( + "default_initial_rows_per_chunk", + config.setting( + "default_initial_rows_per_chunk", DEFAULT_INITIAL_ROWS_PER_CHUNK + ), + ) def min_available_chunk_ratio(): - return SETTINGS.setdefault('min_available_chunk_ratio', - config.setting('min_available_chunk_ratio', 0)) + return SETTINGS.setdefault( + "min_available_chunk_ratio", config.setting("min_available_chunk_ratio", 0) + ) def keep_chunk_logs(): # if we are overwriting MEM_LOG_FILE then presumably we want to delete any subprocess files - default = (LOG_FILE_NAME == OMNIBUS_LOG_FILE_NAME) + default = LOG_FILE_NAME == OMNIBUS_LOG_FILE_NAME - return SETTINGS.setdefault('keep_chunk_logs', config.setting('keep_chunk_logs', default)) + return SETTINGS.setdefault( + "keep_chunk_logs", config.setting("keep_chunk_logs", default) + ) def trace_label_for_chunk(trace_label, chunk_size, i): @@ -230,32 +247,38 @@ def consolidate_logs(): if not glob_files: return - assert chunk_training_mode() not in (MODE_PRODUCTION, MODE_CHUNKLESS), \ - f"shouldn't be any chunk log files when chunk_training_mode" \ + assert chunk_training_mode() not in (MODE_PRODUCTION, MODE_CHUNKLESS), ( + f"shouldn't be any chunk log files when chunk_training_mode" f" is {MODE_PRODUCTION} or {MODE_CHUNKLESS}" + ) # # OMNIBUS_LOG_FILE # logger.debug(f"chunk.consolidate_logs reading glob {glob_file_name}") - omnibus_df = pd.concat((pd.read_csv(f, comment='#') for f in glob_files)) + omnibus_df = pd.concat((pd.read_csv(f, comment="#") for f in glob_files)) omnibus_df = omnibus_df.sort_values(by=C_TIME) # shouldn't have different depths for the same chunk_tag multi_depth_chunk_tag = omnibus_df[[C_CHUNK_TAG, C_DEPTH]] - multi_depth_chunk_tag = multi_depth_chunk_tag[~multi_depth_chunk_tag.duplicated()][[C_CHUNK_TAG]] - multi_depth_chunk_tag = multi_depth_chunk_tag[multi_depth_chunk_tag[C_CHUNK_TAG].duplicated()] - assert len(multi_depth_chunk_tag) == 0,\ - f"consolidate_logs multi_depth_chunk_tags \n{multi_depth_chunk_tag.values}" + multi_depth_chunk_tag = multi_depth_chunk_tag[~multi_depth_chunk_tag.duplicated()][ + [C_CHUNK_TAG] + ] + multi_depth_chunk_tag = multi_depth_chunk_tag[ + multi_depth_chunk_tag[C_CHUNK_TAG].duplicated() + ] + assert ( + len(multi_depth_chunk_tag) == 0 + ), f"consolidate_logs multi_depth_chunk_tags \n{multi_depth_chunk_tag.values}" if not keep_chunk_logs(): - util.delete_files(glob_files, 'chunk.consolidate_logs') + util.delete_files(glob_files, "chunk.consolidate_logs") log_output_path = config.log_file_path(OMNIBUS_LOG_FILE_NAME, prefix=False) logger.debug(f"chunk.consolidate_logs writing omnibus log to {log_output_path}") - omnibus_df.to_csv(log_output_path, mode='w', index=False) + omnibus_df.to_csv(log_output_path, mode="w", index=False) # # CACHE_FILE @@ -269,7 +292,9 @@ def consolidate_logs(): if zero_rows.any(): # this should only happen when chunk_log() instantiates the base ChunkSizer. # Since chunk_log is not chunked (chunk_size is always 0) there is no need for its history record in the cache - logger.debug(f"consolidate_logs dropping {zero_rows.sum()} rows where {C_NUM_ROWS} == 0") + logger.debug( + f"consolidate_logs dropping {zero_rows.sum()} rows where {C_NUM_ROWS} == 0" + ) omnibus_df = omnibus_df[omnibus_df[C_NUM_ROWS] > 0] omnibus_df = omnibus_df[[C_CHUNK_TAG, C_NUM_ROWS] + CUM_OVERHEAD_COLUMNS] @@ -283,29 +308,40 @@ def consolidate_logs(): # compute row_size num_rows = omnibus_df[C_NUM_ROWS] for m in USS_CHUNK_METHODS: - omnibus_df[f'{m}_row_size'] = np.ceil(overhead_for_chunk_method(omnibus_df, m) / num_rows).astype(int) + omnibus_df[f"{m}_row_size"] = np.ceil( + overhead_for_chunk_method(omnibus_df, m) / num_rows + ).astype(int) omnibus_df = omnibus_df.sort_values(by=C_CHUNK_TAG) log_dir_output_path = config.log_file_path(CACHE_FILE_NAME, prefix=False) - logger.debug(f"chunk.consolidate_logs writing omnibus chunk cache to {log_dir_output_path}") - omnibus_df.to_csv(log_dir_output_path, mode='w', index=False) + logger.debug( + f"chunk.consolidate_logs writing omnibus chunk cache to {log_dir_output_path}" + ) + omnibus_df.to_csv(log_dir_output_path, mode="w", index=False) if (chunk_training_mode() == MODE_RETRAIN) or not _HISTORIAN.have_cached_history: - if config.setting('resume_after'): + if config.setting("resume_after"): # FIXME - logger.warning(f"Not updating chunk_log cache directory because resume_after") + logger.warning( + f"Not updating chunk_log cache directory because resume_after" + ) else: - cache_dir_output_path = os.path.join(config.get_cache_dir(), CACHE_FILE_NAME) - logger.debug(f"chunk.consolidate_logs writing chunk cache to {cache_dir_output_path}") - omnibus_df.to_csv(cache_dir_output_path, mode='w', index=False) + cache_dir_output_path = os.path.join( + config.get_cache_dir(), CACHE_FILE_NAME + ) + logger.debug( + f"chunk.consolidate_logs writing chunk cache to {cache_dir_output_path}" + ) + omnibus_df.to_csv(cache_dir_output_path, mode="w", index=False) class ChunkHistorian(object): """ Utility for estimating row_size """ + def __init__(self): self.chunk_log_path = None @@ -324,16 +360,22 @@ def load_cached_history(self): chunk_cache_path = os.path.join(config.get_cache_dir(), CACHE_FILE_NAME) - logger.debug(f"ChunkHistorian load_cached_history chunk_cache_path {chunk_cache_path}") + logger.debug( + f"ChunkHistorian load_cached_history chunk_cache_path {chunk_cache_path}" + ) if os.path.exists(chunk_cache_path): - logger.debug(f"ChunkHistorian load_cached_history reading cached chunk history from {CACHE_FILE_NAME}") - df = pd.read_csv(chunk_cache_path, comment='#') + logger.debug( + f"ChunkHistorian load_cached_history reading cached chunk history from {CACHE_FILE_NAME}" + ) + df = pd.read_csv(chunk_cache_path, comment="#") self.cached_history_df = df for c in CHUNK_CACHE_COLUMNS: - assert c in df, f"Expected column '{c}' not in chunk_cache: {chunk_cache_path}" + assert ( + c in df + ), f"Expected column '{c}' not in chunk_cache: {chunk_cache_path}" self.have_cached_history = True else: @@ -345,9 +387,13 @@ def load_cached_history(self): if chunk_training_mode() == MODE_PRODUCTION: # raise RuntimeError(f"chunk_training_mode is {MODE_PRODUCTION} but no chunk_cache: {chunk_cache_path}") - SETTINGS['chunk_training_mode'] = MODE_RETRAIN - logger.warning(f"chunk_training_mode is {MODE_PRODUCTION} but no chunk_cache: {chunk_cache_path}") - logger.warning(f"chunk_training_mode falling back to {chunk_training_mode()}") + SETTINGS["chunk_training_mode"] = MODE_RETRAIN + logger.warning( + f"chunk_training_mode is {MODE_PRODUCTION} but no chunk_cache: {chunk_cache_path}" + ) + logger.warning( + f"chunk_training_mode falling back to {chunk_training_mode()}" + ) def cached_history_for_chunk_tag(self, chunk_tag): @@ -357,19 +403,25 @@ def cached_history_for_chunk_tag(self, chunk_tag): if self.have_cached_history: try: - df = self.cached_history_df[self.cached_history_df[C_CHUNK_TAG] == chunk_tag] + df = self.cached_history_df[ + self.cached_history_df[C_CHUNK_TAG] == chunk_tag + ] if len(df) > 0: if len(df) > 1: # don't expect this, but not fatal - logger.warning(f"ChunkHistorian aggregating {len(df)} multiple rows for {chunk_tag}") + logger.warning( + f"ChunkHistorian aggregating {len(df)} multiple rows for {chunk_tag}" + ) # history for this chunk_tag as dict column sums ('num_rows' and cum_overhead for each metric) # {'num_rows: , 'rss': , 'uss': , 'bytes': } history = df.sum().to_dict() except Exception as e: - logger.warning(f"ChunkHistorian Error loading cached history for {chunk_tag}") + logger.warning( + f"ChunkHistorian Error loading cached history for {chunk_tag}" + ) raise e return history @@ -398,23 +450,29 @@ def write_history(self, history, chunk_tag): history_df = history_df.tail(1) history_df[C_CHUNK_TAG] = chunk_tag - history_df['process'] = multiprocessing.current_process().name + history_df["process"] = multiprocessing.current_process().name history_df = history_df[CHUNK_HISTORY_COLUMNS] if self.chunk_log_path is None: self.chunk_log_path = config.log_file_path(LOG_FILE_NAME) - tracing.write_df_csv(history_df, self.chunk_log_path, index_label=None, - columns=None, column_labels=None, transpose=False) + tracing.write_df_csv( + history_df, + self.chunk_log_path, + index_label=None, + columns=None, + column_labels=None, + transpose=False, + ) _HISTORIAN = ChunkHistorian() class ChunkLedger(object): - """ - """ + """ """ + def __init__(self, trace_label, chunk_size, baseline_rss, baseline_uss, headroom): self.trace_label = trace_label self.chunk_size = chunk_size @@ -422,9 +480,9 @@ def __init__(self, trace_label, chunk_size, baseline_rss, baseline_uss, headroom self.base_chunk_size = get_base_chunk_size() self.tables = {} - self.hwm_bytes = {'value': 0, 'info': f'{trace_label}.init'} - self.hwm_rss = {'value': baseline_rss, 'info': f'{trace_label}.init'} - self.hwm_uss = {'value': baseline_uss, 'info': f'{trace_label}.init'} + self.hwm_bytes = {"value": 0, "info": f"{trace_label}.init"} + self.hwm_rss = {"value": baseline_rss, "info": f"{trace_label}.init"} + self.hwm_uss = {"value": baseline_uss, "info": f"{trace_label}.init"} self.total_bytes = 0 def audit(self, msg, bytes=0, rss=0, uss=0, from_rss_monitor=False): @@ -440,29 +498,40 @@ def audit(self, msg, bytes=0, rss=0, uss=0, from_rss_monitor=False): bytes_panic_threshold = self.headroom + (self.base_chunk_size * MAX_OVERDRAFT) if bytes > bytes_panic_threshold: - logger.warning(f"out_of_chunk_memory: " - f"bytes: {bytes} headroom: {self.headroom} chunk_size: {self.base_chunk_size} {msg}") + logger.warning( + f"out_of_chunk_memory: " + f"bytes: {bytes} headroom: {self.headroom} chunk_size: {self.base_chunk_size} {msg}" + ) if chunk_metric() == RSS and rss > mem_panic_threshold: rss, _ = mem.get_rss(force_garbage_collect=True, uss=False) if rss > mem_panic_threshold: - logger.warning(f"out_of_chunk_memory: " - f"rss: {rss} chunk_size: {self.base_chunk_size} {msg}") + logger.warning( + f"out_of_chunk_memory: " + f"rss: {rss} chunk_size: {self.base_chunk_size} {msg}" + ) if chunk_metric() == USS and uss > mem_panic_threshold: _, uss = mem.get_rss(force_garbage_collect=True, uss=True) if uss > mem_panic_threshold: - logger.warning(f"out_of_chunk_memory: " - f"uss: {uss} chunk_size: {self.base_chunk_size} {msg}") + logger.warning( + f"out_of_chunk_memory: " + f"uss: {uss} chunk_size: {self.base_chunk_size} {msg}" + ) def close(self): logger.debug(f"ChunkLedger.close trace_label: {self.trace_label}") - logger.debug(f"ChunkLedger.close hwm_bytes: {self.hwm_bytes.get('value', 0)} {self.hwm_bytes['info']}") - logger.debug(f"ChunkLedger.close hwm_rss {self.hwm_rss['value']} {self.hwm_rss['info']}") - logger.debug(f"ChunkLedger.close hwm_uss {self.hwm_uss['value']} {self.hwm_uss['info']}") + logger.debug( + f"ChunkLedger.close hwm_bytes: {self.hwm_bytes.get('value', 0)} {self.hwm_bytes['info']}" + ) + logger.debug( + f"ChunkLedger.close hwm_rss {self.hwm_rss['value']} {self.hwm_rss['info']}" + ) + logger.debug( + f"ChunkLedger.close hwm_uss {self.hwm_uss['value']} {self.hwm_uss['info']}" + ) def log_df(self, table_name, df): - def size_it(df): if isinstance(df, pd.Series): elements = util.iprod(df.shape) @@ -515,7 +584,9 @@ def size_it(df): else: shape = df.shape - logger.debug(f"log_df delta_bytes: {util.INT(delta_bytes).rjust(12)} {table_name} {shape} {self.trace_label}") + logger.debug( + f"log_df delta_bytes: {util.INT(delta_bytes).rjust(12)} {table_name} {shape} {self.trace_label}" + ) # update current total_bytes count self.total_bytes = sum(self.tables.values()) @@ -526,30 +597,32 @@ def check_local_hwm(self, hwm_trace_label, rss, uss, total_bytes): from_rss_monitor = total_bytes is None - info = f"rss: {GB(rss)} " \ - f"uss: {GB(uss)} " \ - f"base_chunk_size: {GB(self.base_chunk_size)} " \ - f"op: {hwm_trace_label}" + info = ( + f"rss: {GB(rss)} " + f"uss: {GB(uss)} " + f"base_chunk_size: {GB(self.base_chunk_size)} " + f"op: {hwm_trace_label}" + ) if total_bytes: info = f"bytes: {GB(total_bytes)} " + info - if total_bytes > self.hwm_bytes['value']: + if total_bytes > self.hwm_bytes["value"]: # total_bytes high water mark - self.hwm_bytes['value'] = total_bytes - self.hwm_bytes['info'] = info + self.hwm_bytes["value"] = total_bytes + self.hwm_bytes["info"] = info self.audit(hwm_trace_label, bytes=total_bytes) - if rss > self.hwm_rss['value']: + if rss > self.hwm_rss["value"]: # rss high water mark - self.hwm_rss['value'] = rss - self.hwm_rss['info'] = info + self.hwm_rss["value"] = rss + self.hwm_rss["info"] = info self.audit(hwm_trace_label, rss=rss, from_rss_monitor=from_rss_monitor) - if uss > self.hwm_uss['value']: + if uss > self.hwm_uss["value"]: # uss high water mark - self.hwm_uss['value'] = uss - self.hwm_uss['info'] = info + self.hwm_uss["value"] = uss + self.hwm_uss["info"] = info self.audit(hwm_trace_label, uss=uss, from_rss_monitor=from_rss_monitor) # silently registers global high water mark @@ -560,16 +633,16 @@ def check_local_hwm(self, hwm_trace_label, rss, uss, total_bytes): def get_hwm_rss(self): with ledger_lock: - net_rss = self.hwm_rss['value'] + net_rss = self.hwm_rss["value"] return net_rss def get_hwm_uss(self): with ledger_lock: - net_uss = self.hwm_uss['value'] + net_uss = self.hwm_uss["value"] return net_uss def get_hwm_bytes(self): - return self.hwm_bytes['value'] + return self.hwm_bytes["value"] def log_rss(trace_label, force=False): @@ -603,7 +676,7 @@ def log_df(trace_label, table_name, df): assert len(CHUNK_LEDGERS) > 0, f"log_df called without current chunker." - op = 'del' if df is None else 'add' + op = "del" if df is None else "add" hwm_trace_label = f"{trace_label}.{op}.{table_name}" rss, uss = mem.trace_memory_info(hwm_trace_label) @@ -622,7 +695,6 @@ def log_df(trace_label, table_name, df): class MemMonitor(threading.Thread): - def __init__(self, trace_label, stop_snooping): self.trace_label = trace_label self.stop_snooping = stop_snooping @@ -635,8 +707,8 @@ def run(self): class ChunkSizer(object): - """ - """ + """ """ + def __init__(self, chunk_tag, trace_label, num_choosers=0, chunk_size=0): self.depth = len(CHUNK_SIZERS) + 1 @@ -658,11 +730,13 @@ def __init__(self, chunk_tag, trace_label, num_choosers=0, chunk_size=0): parent = CHUNK_SIZERS[-1] assert parent.chunk_ledger is not None - log_rss(trace_label) # give parent a complementary log_rss reading entering sub context + log_rss( + trace_label + ) # give parent a complementary log_rss reading entering sub context else: self.rss, self.uss = 0, 0 chunk_size = 0 - config.override_setting('chunk_size', 0) + config.override_setting("chunk_size", 0) self.chunk_tag = chunk_tag self.trace_label = trace_label @@ -672,8 +746,9 @@ def __init__(self, chunk_tag, trace_label, num_choosers=0, chunk_size=0): self.rows_processed = 0 min_chunk_ratio = min_available_chunk_ratio() - assert 0 <= min_chunk_ratio <= 1, \ - f"min_chunk_ratio setting {min_chunk_ratio} is not in range [0..1]" + assert ( + 0 <= min_chunk_ratio <= 1 + ), f"min_chunk_ratio setting {min_chunk_ratio} is not in range [0..1]" self.min_chunk_size = chunk_size * min_chunk_ratio self.initial_row_size = 0 @@ -691,9 +766,11 @@ def __init__(self, chunk_tag, trace_label, num_choosers=0, chunk_size=0): self.cum_overhead = {m: cached_history[m] for m in METRICS} self.cum_rows = cached_history[C_NUM_ROWS] - logger.debug(f"{self.trace_label}.ChunkSizer - cached history " - f"cum_rows: {self.cum_rows} " - f"cum_overhead: {self.cum_overhead} ") + logger.debug( + f"{self.trace_label}.ChunkSizer - cached history " + f"cum_rows: {self.cum_rows} " + f"cum_overhead: {self.cum_overhead} " + ) # add self to CHUNK_SIZERS list before setting base_chunk_size (since we might be base chunker) CHUNK_SIZERS.append(self) @@ -701,12 +778,15 @@ def __init__(self, chunk_tag, trace_label, num_choosers=0, chunk_size=0): self.base_chunk_size = CHUNK_SIZERS[0].chunk_size # need base_chunk_size to calc headroom - self.headroom = self.available_headroom(self.uss if chunk_metric() == USS else self.rss) + self.headroom = self.available_headroom( + self.uss if chunk_metric() == USS else self.rss + ) def close(self): - if ((self.depth == 1) or WRITE_SUBCHUNK_HISTORY) and \ - (chunk_training_mode() not in (MODE_PRODUCTION, MODE_CHUNKLESS)): + if ((self.depth == 1) or WRITE_SUBCHUNK_HISTORY) and ( + chunk_training_mode() not in (MODE_PRODUCTION, MODE_CHUNKLESS) + ): _HISTORIAN.write_history(self.history, self.chunk_tag) _chunk_sizer = CHUNK_SIZERS.pop() @@ -720,10 +800,12 @@ def available_headroom(self, xss): if headroom < self.min_chunk_size: if self.base_chunk_size > 0: - logger.warning(f"Not enough memory for minimum chunk_size without exceeding specified chunk_size. " - f"available_headroom: {util.INT(headroom)} " - f"min_chunk_size: {util.INT(self.min_chunk_size)} " - f"base_chunk_size: {util.INT(self.base_chunk_size)}") + logger.warning( + f"Not enough memory for minimum chunk_size without exceeding specified chunk_size. " + f"available_headroom: {util.INT(headroom)} " + f"min_chunk_size: {util.INT(self.min_chunk_size)} " + f"base_chunk_size: {util.INT(self.base_chunk_size)}" + ) headroom = self.min_chunk_size @@ -745,15 +827,23 @@ def initial_rows_per_chunk(self): assert len(CHUNK_LEDGERS) == 0, f"len(CHUNK_LEDGERS): {len(CHUNK_LEDGERS)}" if self.initial_row_size > 0: - max_rows_per_chunk = np.maximum(int(self.headroom / self.initial_row_size), 1) + max_rows_per_chunk = np.maximum( + int(self.headroom / self.initial_row_size), 1 + ) rows_per_chunk = np.clip(max_rows_per_chunk, 1, self.num_choosers) - estimated_number_of_chunks = math.ceil(self.num_choosers / rows_per_chunk) + estimated_number_of_chunks = math.ceil( + self.num_choosers / rows_per_chunk + ) - logger.debug(f"{self.trace_label}.initial_rows_per_chunk - initial_row_size: {self.initial_row_size}") + logger.debug( + f"{self.trace_label}.initial_rows_per_chunk - initial_row_size: {self.initial_row_size}" + ) else: # if no initial_row_size from cache, fall back to default_initial_rows_per_chunk self.initial_row_size = 0 - rows_per_chunk = min(self.num_choosers, default_initial_rows_per_chunk()) + rows_per_chunk = min( + self.num_choosers, default_initial_rows_per_chunk() + ) estimated_number_of_chunks = None assert chunk_training_mode() != MODE_PRODUCTION @@ -764,10 +854,12 @@ def initial_rows_per_chunk(self): self.rows_processed += rows_per_chunk self.cum_rows += rows_per_chunk - logger.debug(f"{self.trace_label}.initial_rows_per_chunk - " - f"rows_per_chunk: {self.rows_per_chunk} " - f"headroom: {self.headroom} " - f"initial_row_size: {self.initial_row_size} ") + logger.debug( + f"{self.trace_label}.initial_rows_per_chunk - " + f"rows_per_chunk: {self.rows_per_chunk} " + f"headroom: {self.headroom} " + f"initial_row_size: {self.initial_row_size} " + ) return rows_per_chunk, estimated_number_of_chunks @@ -791,7 +883,9 @@ def adaptive_rows_per_chunk(self, i): self.rss, _ = mem.get_rss(force_garbage_collect=True, uss=False) self.uss = 0 - self.headroom = self.available_headroom(self.uss if chunk_metric() == USS else self.rss) + self.headroom = self.available_headroom( + self.uss if chunk_metric() == USS else self.rss + ) rows_remaining = self.num_choosers - prev_rows_processed @@ -812,8 +906,9 @@ def adaptive_rows_per_chunk(self, i): for m in METRICS: self.cum_overhead[m] += overhead[m] - observed_row_size = \ - prev_cum_rows and math.ceil(overhead_for_chunk_method(self.cum_overhead) / prev_cum_rows) + observed_row_size = prev_cum_rows and math.ceil( + overhead_for_chunk_method(self.cum_overhead) / prev_cum_rows + ) # rows_per_chunk is closest number of chooser rows to achieve chunk_size without exceeding it if observed_row_size > 0: @@ -824,39 +919,49 @@ def adaptive_rows_per_chunk(self, i): self.rows_per_chunk = np.clip(self.rows_per_chunk, 1, rows_remaining) self.rows_processed += self.rows_per_chunk - estimated_number_of_chunks = i + math.ceil(rows_remaining / self.rows_per_chunk) if rows_remaining else i + estimated_number_of_chunks = ( + i + math.ceil(rows_remaining / self.rows_per_chunk) if rows_remaining else i + ) - self.history.setdefault(C_TIME, []).append(datetime.datetime.now().strftime("%d/%m/%Y %H:%M:%S.%f")) + self.history.setdefault(C_TIME, []).append( + datetime.datetime.now().strftime("%d/%m/%Y %H:%M:%S.%f") + ) self.history.setdefault(C_DEPTH, []).append(self.depth) for m in METRICS: - self.history.setdefault(f'cum_overhead_{m}', []).append(self.cum_overhead[m]) + self.history.setdefault(f"cum_overhead_{m}", []).append( + self.cum_overhead[m] + ) self.history.setdefault(C_NUM_ROWS, []).append(prev_cum_rows) - self.history.setdefault('chunk', []).append(i) - self.history.setdefault('chunk_size', []).append(self.chunk_size) - self.history.setdefault('row_size', []).append(observed_row_size) + self.history.setdefault("chunk", []).append(i) + self.history.setdefault("chunk_size", []).append(self.chunk_size) + self.history.setdefault("row_size", []).append(observed_row_size) # diagnostics not reported by ChunkHistorian if chunk_metric() == USS: - self.history.setdefault('prev_uss', []).append(prev_uss) - self.history.setdefault('cur_uss', []).append(self.uss) + self.history.setdefault("prev_uss", []).append(prev_uss) + self.history.setdefault("cur_uss", []).append(self.uss) else: - self.history.setdefault('prev_rss', []).append(prev_rss) - self.history.setdefault('cur_rss', []).append(self.rss) + self.history.setdefault("prev_rss", []).append(prev_rss) + self.history.setdefault("cur_rss", []).append(self.rss) - self.history.setdefault('prev_headroom', []).append(prev_headroom) - self.history.setdefault('cur_headroom', []).append(self.headroom) + self.history.setdefault("prev_headroom", []).append(prev_headroom) + self.history.setdefault("cur_headroom", []).append(self.headroom) for m in METRICS: - self.history.setdefault(f'overhead_{m}', []).append(overhead[m]) + self.history.setdefault(f"overhead_{m}", []).append(overhead[m]) - self.history.setdefault('new_rows_processed', []).append(self.rows_processed) - self.history.setdefault('new_rows_per_chunk', []).append(self.rows_per_chunk) - self.history.setdefault('estimated_num_chunks', []).append(estimated_number_of_chunks) + self.history.setdefault("new_rows_processed", []).append(self.rows_processed) + self.history.setdefault("new_rows_per_chunk", []).append(self.rows_per_chunk) + self.history.setdefault("estimated_num_chunks", []).append( + estimated_number_of_chunks + ) history_df = pd.DataFrame.from_dict(self.history) if LOG_SUBCHUNK_HISTORY: - logger.debug(f"ChunkSizer.adaptive_rows_per_chunk {self.chunk_tag}\n{history_df.transpose()}") + logger.debug( + f"ChunkSizer.adaptive_rows_per_chunk {self.chunk_tag}\n{history_df.transpose()}" + ) # input() @@ -880,7 +985,9 @@ def ledger(self): assert self.chunk_size == 0 with ledger_lock: - self.chunk_ledger = ChunkLedger(self.trace_label, self.chunk_size, self.rss, self.uss, self.headroom) + self.chunk_ledger = ChunkLedger( + self.trace_label, self.chunk_size, self.rss, self.uss, self.headroom + ) CHUNK_LEDGERS.append(self.chunk_ledger) # reality check - there should be one ledger per sizer @@ -896,9 +1003,13 @@ def ledger(self): mem_monitor = MemMonitor(self.trace_label, stop_snooping) mem_monitor.start() - log_rss(self.trace_label, force=True) # make sure we get at least one reading + log_rss( + self.trace_label, force=True + ) # make sure we get at least one reading yield - log_rss(self.trace_label, force=True) # make sure we get at least one reading + log_rss( + self.trace_label, force=True + ) # make sure we get at least one reading finally: @@ -910,7 +1021,9 @@ def ledger(self): stop_snooping.set() while mem_monitor.is_alive(): - logger.debug(f"{self.trace_label} waiting for mem_monitor thread to terminate") + logger.debug( + f"{self.trace_label} waiting for mem_monitor thread to terminate" + ) mem_monitor.join(timeout=MEM_MONITOR_TICK) with ledger_lock: @@ -966,7 +1079,9 @@ def adaptive_chunked_choosers(choosers, chunk_size, trace_label, chunk_tag=None) assert num_choosers > 0 assert chunk_size >= 0 - logger.info(f"{trace_label} Running adaptive_chunked_choosers with {num_choosers} choosers") + logger.info( + f"{trace_label} Running adaptive_chunked_choosers with {num_choosers} choosers" + ) chunk_sizer = ChunkSizer(chunk_tag, trace_label, num_choosers, chunk_size) @@ -983,22 +1098,29 @@ def adaptive_chunked_choosers(choosers, chunk_size, trace_label, chunk_tag=None) with chunk_sizer.ledger(): # grab the next chunk based on current rows_per_chunk - chooser_chunk = choosers[offset: offset + rows_per_chunk] + chooser_chunk = choosers[offset : offset + rows_per_chunk] - logger.info(f"Running chunk {i} of {estimated_number_of_chunks or '?'} " - f"with {len(chooser_chunk)} of {num_choosers} choosers") + logger.info( + f"Running chunk {i} of {estimated_number_of_chunks or '?'} " + f"with {len(chooser_chunk)} of {num_choosers} choosers" + ) yield i, chooser_chunk, chunk_trace_label offset += rows_per_chunk if chunk_training_mode() != MODE_CHUNKLESS: - rows_per_chunk, estimated_number_of_chunks = chunk_sizer.adaptive_rows_per_chunk(i) + ( + rows_per_chunk, + estimated_number_of_chunks, + ) = chunk_sizer.adaptive_rows_per_chunk(i) chunk_sizer.close() -def adaptive_chunked_choosers_and_alts(choosers, alternatives, chunk_size, trace_label, chunk_tag=None): +def adaptive_chunked_choosers_and_alts( + choosers, alternatives, chunk_size, trace_label, chunk_tag=None +): """ generator to iterate over choosers and alternatives in chunk_size chunks @@ -1021,7 +1143,7 @@ def adaptive_chunked_choosers_and_alts(choosers, alternatives, chunk_size, trace rows_per_chunk : int Yields - ------- + ------ i : int one-based index of current chunk num_chunks : int @@ -1039,16 +1161,23 @@ def adaptive_chunked_choosers_and_alts(choosers, alternatives, chunk_size, trace assert num_choosers > 0 # alternatives index should match choosers (except with duplicate repeating alt rows) - assert choosers.index.equals(alternatives.index[~alternatives.index.duplicated(keep='first')]) + assert choosers.index.equals( + alternatives.index[~alternatives.index.duplicated(keep="first")] + ) last_repeat = alternatives.index != np.roll(alternatives.index, -1) assert (num_choosers == 1) or choosers.index.equals(alternatives.index[last_repeat]) - assert 'pick_count' in alternatives.columns or choosers.index.name == alternatives.index.name + assert ( + "pick_count" in alternatives.columns + or choosers.index.name == alternatives.index.name + ) assert choosers.index.name == alternatives.index.name - logger.info(f"{trace_label} Running adaptive_chunked_choosers_and_alts " - f"with {num_choosers} choosers and {num_alternatives} alternatives") + logger.info( + f"{trace_label} Running adaptive_chunked_choosers_and_alts " + f"with {num_choosers} choosers and {num_alternatives} alternatives" + ) chunk_sizer = ChunkSizer(chunk_tag, trace_label, num_choosers, chunk_size) rows_per_chunk, estimated_number_of_chunks = chunk_sizer.initial_rows_per_chunk() @@ -1057,30 +1186,41 @@ def adaptive_chunked_choosers_and_alts(choosers, alternatives, chunk_size, trace # alt chunks boundaries are where index changes alt_ids = alternatives.index.values alt_chunk_ends = np.where(alt_ids[:-1] != alt_ids[1:])[0] + 1 - alt_chunk_ends = np.append([0], alt_chunk_ends) # including the first to simplify indexing - alt_chunk_ends = np.append(alt_chunk_ends, [len(alternatives.index)]) # end of final chunk + alt_chunk_ends = np.append( + [0], alt_chunk_ends + ) # including the first to simplify indexing + alt_chunk_ends = np.append( + alt_chunk_ends, [len(alternatives.index)] + ) # end of final chunk i = offset = alt_offset = 0 while offset < num_choosers: i += 1 - assert offset + rows_per_chunk <= num_choosers, \ - f"i {i} offset {offset} rows_per_chunk {rows_per_chunk} num_choosers {num_choosers}" + assert ( + offset + rows_per_chunk <= num_choosers + ), f"i {i} offset {offset} rows_per_chunk {rows_per_chunk} num_choosers {num_choosers}" chunk_trace_label = trace_label_for_chunk(trace_label, chunk_size, i) with chunk_sizer.ledger(): - chooser_chunk = choosers[offset: offset + rows_per_chunk] + chooser_chunk = choosers[offset : offset + rows_per_chunk] alt_end = alt_chunk_ends[offset + rows_per_chunk] - alternative_chunk = alternatives[alt_offset: alt_end] + alternative_chunk = alternatives[alt_offset:alt_end] - assert len(chooser_chunk.index) == len(np.unique(alternative_chunk.index.values)) - assert (chooser_chunk.index == np.unique(alternative_chunk.index.values)).all() + assert len(chooser_chunk.index) == len( + np.unique(alternative_chunk.index.values) + ) + assert ( + chooser_chunk.index == np.unique(alternative_chunk.index.values) + ).all() - logger.info(f"Running chunk {i} of {estimated_number_of_chunks or '?'} " - f"with {len(chooser_chunk)} of {num_choosers} choosers") + logger.info( + f"Running chunk {i} of {estimated_number_of_chunks or '?'} " + f"with {len(chooser_chunk)} of {num_choosers} choosers" + ) yield i, chooser_chunk, alternative_chunk, chunk_trace_label @@ -1088,12 +1228,17 @@ def adaptive_chunked_choosers_and_alts(choosers, alternatives, chunk_size, trace alt_offset = alt_end if chunk_training_mode() != MODE_CHUNKLESS: - rows_per_chunk, estimated_number_of_chunks = chunk_sizer.adaptive_rows_per_chunk(i) + ( + rows_per_chunk, + estimated_number_of_chunks, + ) = chunk_sizer.adaptive_rows_per_chunk(i) chunk_sizer.close() -def adaptive_chunked_choosers_by_chunk_id(choosers, chunk_size, trace_label, chunk_tag=None): +def adaptive_chunked_choosers_by_chunk_id( + choosers, chunk_size, trace_label, chunk_tag=None +): # generator to iterate over choosers in chunk_size chunks # like chunked_choosers but based on chunk_id field rather than dataframe length # (the presumption is that choosers has multiple rows with the same chunk_id that @@ -1102,7 +1247,7 @@ def adaptive_chunked_choosers_by_chunk_id(choosers, chunk_size, trace_label, chu chunk_tag = chunk_tag or trace_label - num_choosers = choosers['chunk_id'].max() + 1 + num_choosers = choosers["chunk_id"].max() + 1 assert num_choosers > 0 chunk_sizer = ChunkSizer(chunk_tag, trace_label, num_choosers, chunk_size) @@ -1119,16 +1264,23 @@ def adaptive_chunked_choosers_by_chunk_id(choosers, chunk_size, trace_label, chu with chunk_sizer.ledger(): - chooser_chunk = choosers[choosers['chunk_id'].between(offset, offset + rows_per_chunk - 1)] + chooser_chunk = choosers[ + choosers["chunk_id"].between(offset, offset + rows_per_chunk - 1) + ] - logger.info(f"{trace_label} Running chunk {i} of {estimated_number_of_chunks or '?'} " - f"with {rows_per_chunk} of {num_choosers} choosers") + logger.info( + f"{trace_label} Running chunk {i} of {estimated_number_of_chunks or '?'} " + f"with {rows_per_chunk} of {num_choosers} choosers" + ) yield i, chooser_chunk, chunk_trace_label offset += rows_per_chunk if chunk_training_mode() != MODE_CHUNKLESS: - rows_per_chunk, estimated_number_of_chunks = chunk_sizer.adaptive_rows_per_chunk(i) + ( + rows_per_chunk, + estimated_number_of_chunks, + ) = chunk_sizer.adaptive_rows_per_chunk(i) chunk_sizer.close() diff --git a/activitysim/core/config.py b/activitysim/core/config.py index 5d7960873c..0f00036736 100644 --- a/activitysim/core/config.py +++ b/activitysim/core/config.py @@ -1,14 +1,17 @@ # ActivitySim # See full license in LICENSE.txt. import argparse -import os import glob -import yaml -import sys +import logging +import os +import struct +import time import warnings -import logging +import yaml + from activitysim.core import inject +from activitysim.core import util logger = logging.getLogger(__name__) @@ -26,35 +29,37 @@ def locutor(): @inject.injectable(cache=True) def configs_dir(): - if not os.path.exists('configs'): + if not os.path.exists("configs"): raise RuntimeError("'configs' directory does not exist") - return 'configs' + return "configs" @inject.injectable(cache=True) def data_dir(): - if not os.path.exists('data'): + if not os.path.exists("data"): raise RuntimeError("'data' directory does not exist") - return 'data' + return "data" @inject.injectable(cache=True) def output_dir(): - if not os.path.exists('output'): - print(f"'output' directory does not exist - current working directory: {os.getcwd()}") + if not os.path.exists("output"): + print( + f"'output' directory does not exist - current working directory: {os.getcwd()}" + ) raise RuntimeError("'output' directory does not exist") - return 'output' + return "output" @inject.injectable() def output_file_prefix(): - return '' + return "" @inject.injectable(cache=True) def pipeline_file_name(settings): - pipeline_file_name = settings.get('pipeline_file_name', 'pipeline.h5') + pipeline_file_name = settings.get("pipeline_file_name", "pipeline.h5") return pipeline_file_name @@ -66,7 +71,7 @@ def rng_base_seed(): @inject.injectable(cache=True) def settings_file_name(): - return 'settings.yaml' + return "settings.yaml" @inject.injectable(cache=True) @@ -94,9 +99,11 @@ def get_cache_dir(): ------- str path """ - cache_dir = setting('cache_dir', default=None) + cache_dir = setting("cache_dir", default=None) if cache_dir is None: - cache_dir = setting('cache_dir', os.path.join(inject.get_injectable('output_dir'), 'cache')) + cache_dir = setting( + "cache_dir", os.path.join(inject.get_injectable("output_dir"), "cache") + ) if not os.path.isdir(cache_dir): os.mkdir(cache_dir) @@ -106,13 +113,13 @@ def get_cache_dir(): def setting(key, default=None): - return inject.get_injectable('settings').get(key, default) + return inject.get_injectable("settings").get(key, default) def override_setting(key, value): - new_settings = inject.get_injectable('settings') + new_settings = inject.get_injectable("settings") new_settings[key] = value - inject.add_injectable('settings', new_settings) + inject.add_injectable("settings", new_settings) def get_global_constants(): @@ -124,7 +131,7 @@ def get_global_constants(): constants : dict dictionary of constants to add to locals for use by expressions in model spec """ - return read_settings_file('constants.yaml', mandatory=False) + return read_settings_file("constants.yaml", mandatory=False) def read_model_settings(file_name, mandatory=False): @@ -168,9 +175,12 @@ def future_model_settings(model_name, model_settings, future_settings): model_settings = model_settings.copy() for key, setting in future_settings.items(): if key not in model_settings.keys(): - warnings.warn(f"Setting '{key}' not found in {model_name} model settings." - f"Replacing with default value: {setting}." - f"This setting will be required in future versions", FutureWarning) + warnings.warn( + f"Setting '{key}' not found in {model_name} model settings." + f"Replacing with default value: {setting}." + f"This setting will be required in future versions", + FutureWarning, + ) model_settings[key] = setting return model_settings @@ -185,7 +195,7 @@ def get_model_constants(model_settings): constants : dict dictionary of constants to add to locals for use by expressions in model spec """ - return model_settings.get('CONSTANTS', {}) + return model_settings.get("CONSTANTS", {}) def get_logit_model_settings(model_settings): @@ -205,14 +215,14 @@ def get_logit_model_settings(model_settings): if model_settings is not None: # default to MNL - logit_type = model_settings.get('LOGIT_TYPE', 'MNL') + logit_type = model_settings.get("LOGIT_TYPE", "MNL") - if logit_type not in ['NL', 'MNL']: + if logit_type not in ["NL", "MNL"]: logger.error("Unrecognized logit type '%s'" % logit_type) raise RuntimeError("Unrecognized logit type '%s'" % logit_type) - if logit_type == 'NL': - nests = model_settings.get('NESTS', None) + if logit_type == "NL": + nests = model_settings.get("NESTS", None) if nests is None: logger.error("No NEST found in model spec for NL model type") raise RuntimeError("No NEST found in model spec for NL model type") @@ -221,7 +231,7 @@ def get_logit_model_settings(model_settings): def build_output_file_path(file_name, use_prefix=None): - output_dir = inject.get_injectable('output_dir') + output_dir = inject.get_injectable("output_dir") if use_prefix: file_name = "%s-%s" % (use_prefix, file_name) @@ -231,7 +241,9 @@ def build_output_file_path(file_name, use_prefix=None): return file_path -def cascading_input_file_path(file_name, dir_list_injectable_name, mandatory=True, allow_glob=False): +def cascading_input_file_path( + file_name, dir_list_injectable_name, mandatory=True, allow_glob=False +): dir_paths = inject.get_injectable(dir_list_injectable_name) dir_paths = [dir_paths] if isinstance(dir_paths, str) else dir_paths @@ -248,15 +260,19 @@ def cascading_input_file_path(file_name, dir_list_injectable_name, mandatory=Tru break if mandatory and not file_path: - raise RuntimeError("file_path %s: file '%s' not in %s" % - (dir_list_injectable_name, file_name, dir_paths)) + raise RuntimeError( + "file_path %s: file '%s' not in %s" + % (dir_list_injectable_name, file_name, dir_paths) + ) return file_path def data_file_path(file_name, mandatory=True, allow_glob=False): - return cascading_input_file_path(file_name, 'data_dir', mandatory=mandatory, allow_glob=allow_glob) + return cascading_input_file_path( + file_name, "data_dir", mandatory=mandatory, allow_glob=allow_glob + ) def expand_input_file_list(input_files): @@ -280,8 +296,11 @@ def expand_input_file_list(input_files): continue if os.path.isdir(file_name): - logger.warning("WARNING: expand_input_file_list skipping directory: " - "(use glob instead): %s", file_name) + logger.warning( + "WARNING: expand_input_file_list skipping directory: " + "(use glob instead): %s", + file_name, + ) ungroked_files += 1 continue @@ -292,12 +311,16 @@ def expand_input_file_list(input_files): if os.path.isfile(globbed_file): expanded_files.append(globbed_file) else: - logger.warning("WARNING: expand_input_file_list skipping: " - "(does not grok) %s", file_name) + logger.warning( + "WARNING: expand_input_file_list skipping: " "(does not grok) %s", + file_name, + ) ungroked_files += 1 if len(globbed_files) == 0: - logger.warning("WARNING: expand_input_file_list file/glob not found: %s", file_name) + logger.warning( + "WARNING: expand_input_file_list file/glob not found: %s", file_name + ) assert ungroked_files == 0, f"{ungroked_files} ungroked file names" @@ -306,45 +329,51 @@ def expand_input_file_list(input_files): def config_file_path(file_name, mandatory=True): - return cascading_input_file_path(file_name, 'configs_dir', mandatory) + return cascading_input_file_path(file_name, "configs_dir", mandatory) def output_file_path(file_name): - prefix = inject.get_injectable('output_file_prefix', None) + prefix = inject.get_injectable("output_file_prefix", None) return build_output_file_path(file_name, use_prefix=prefix) def trace_file_path(file_name): - output_dir = inject.get_injectable('output_dir') + output_dir = inject.get_injectable("output_dir") - # - check for optional trace subfolder - if os.path.exists(os.path.join(output_dir, 'trace')): - output_dir = os.path.join(output_dir, 'trace') - else: - file_name = "trace.%s" % (file_name,) + # - check for trace subfolder, create it if missing + trace_dir = os.path.join(output_dir, "trace") + if not os.path.exists(trace_dir): + os.makedirs(trace_dir) - file_path = os.path.join(output_dir, file_name) + # construct a unique tail string from the time + # this is a convenience for opening multiple similarly named trace files + tail = hex(struct.unpack(" in directories in configs_dir list, @@ -417,14 +451,27 @@ def backfill_settings(settings, backfill): return new_settings if configs_dir_list is None: - configs_dir_list = inject.get_injectable('configs_dir') - configs_dir_list = [configs_dir_list] if isinstance(configs_dir_list, str) else configs_dir_list + configs_dir_list = inject.get_injectable("configs_dir") + configs_dir_list = ( + [configs_dir_list] + if isinstance(configs_dir_list, str) + else configs_dir_list + ) assert isinstance(configs_dir_list, list) - assert len(configs_dir_list) == len(set(configs_dir_list)), \ - f"repeating file names not allowed in config_dir list: {configs_dir_list}" + assert len(configs_dir_list) == len( + set(configs_dir_list) + ), f"repeating file names not allowed in config_dir list: {configs_dir_list}" + + args = util.parse_suffix_args(file_name) + file_name = args.filename - if not file_name.lower().endswith('.yaml'): - file_name = '%s.yaml' % (file_name,) + assert isinstance(args.ROOTS, list) + assert (args.SUFFIX is not None and args.ROOTS) or ( + args.SUFFIX is None and not args.ROOTS + ), ("Expected to find both 'ROOTS' and 'SUFFIX' in %s, missing one" % args.filename) + + if not file_name.lower().endswith(".yaml"): + file_name = "%s.yaml" % (file_name,) inheriting = False settings = {} @@ -437,11 +484,15 @@ def backfill_settings(settings, backfill): if os.path.exists(file_path): if inheriting: # we must be inheriting - logger.debug("inheriting additional settings for %s from %s" % (file_name, file_path)) + logger.debug( + "inheriting additional settings for %s from %s" + % (file_name, file_path) + ) inheriting = True - assert file_path not in source_file_paths, \ - f"read_settings_file - recursion in reading 'file_path' after loading: {source_file_paths}" + assert ( + file_path not in source_file_paths + ), f"read_settings_file - recursion in reading 'file_path' after loading: {source_file_paths}" with open(file_path) as f: @@ -454,23 +505,34 @@ def backfill_settings(settings, backfill): # maintain a list of files we read from to improve error message when an expected setting is not found source_file_paths += [file_path] - include_file_name = s.get('include_settings', False) + include_file_name = s.get("include_settings", False) if include_file_name: # FIXME - prevent users from creating borgesian garden of branching paths? # There is a lot of opportunity for confusion if this feature were over-used # Maybe we insist that a file with an include directive is the 'end of the road' # essentially the current settings firle is an alias for the included file if len(s) > 1: - logger.error(f"'include_settings' must appear alone in settings file.") - additional_settings = list(set(s.keys()).difference({'include_settings'})) - logger.error(f"Unexpected additional settings: {additional_settings}") - raise RuntimeError(f"'include_settings' must appear alone in settings file.") - - logger.debug("including settings for %s from %s" % (file_name, include_file_name)) + logger.error( + f"'include_settings' must appear alone in settings file." + ) + additional_settings = list( + set(s.keys()).difference({"include_settings"}) + ) + logger.error( + f"Unexpected additional settings: {additional_settings}" + ) + raise RuntimeError( + f"'include_settings' must appear alone in settings file." + ) + + logger.debug( + "including settings for %s from %s" % (file_name, include_file_name) + ) # recursive call to read included file INSTEAD of the file with include_settings sepcified - s, source_file_paths = \ - read_settings_file(include_file_name, mandatory=True, include_stack=source_file_paths) + s, source_file_paths = read_settings_file( + include_file_name, mandatory=True, include_stack=source_file_paths + ) # FIXME backfill with the included file settings = backfill_settings(settings, s) @@ -478,34 +540,44 @@ def backfill_settings(settings, backfill): # we are done as soon as we read one file successfully # unless if inherit_settings is set to true in this file - if not s.get('inherit_settings', False): + if not s.get("inherit_settings", False): break # if inheriting, continue and backfill settings from the next existing settings file configs_dir_list - inherit_settings = s.get('inherit_settings') + inherit_settings = s.get("inherit_settings") if isinstance(inherit_settings, str): inherit_file_name = inherit_settings - assert os.path.join(dir, inherit_file_name) not in source_file_paths, \ - f"circular inheritance of {inherit_file_name}: {source_file_paths}: " + assert ( + os.path.join(dir, inherit_file_name) not in source_file_paths + ), f"circular inheritance of {inherit_file_name}: {source_file_paths}: " # make a recursive call to switch inheritance chain to specified file - logger.debug("inheriting additional settings for %s from %s" % (file_name, inherit_file_name)) - s, source_file_paths = \ - read_settings_file(inherit_file_name, mandatory=True, - include_stack=source_file_paths, - configs_dir_list=configs_dir_list) + logger.debug( + "inheriting additional settings for %s from %s" + % (file_name, inherit_file_name) + ) + s, source_file_paths = read_settings_file( + inherit_file_name, + mandatory=True, + include_stack=source_file_paths, + configs_dir_list=configs_dir_list, + ) # backfill with the inherited file settings = backfill_settings(settings, s) break # break the current inheritance chain (not as bad luck as breaking a chain-letter chain?...) if len(source_file_paths) > 0: - settings['source_file_paths'] = source_file_paths + settings["source_file_paths"] = source_file_paths if mandatory and not settings: raise SettingsFileNotFound(file_name, configs_dir_list) + # Adds proto_ suffix for disaggregate accessibilities + if args.SUFFIX is not None and args.ROOTS: + settings = util.suffix_tables_in_settings(settings, args.SUFFIX, args.ROOTS) + if include_stack: # if we were called recursively, return an updated list of source_file_paths return settings, source_file_paths @@ -526,10 +598,10 @@ def base_settings_file_path(file_name): path to base settings file or None if not found """ - if not file_name.lower().endswith('.yaml'): - file_name = '%s.yaml' % (file_name, ) + if not file_name.lower().endswith(".yaml"): + file_name = "%s.yaml" % (file_name,) - configs_dir = inject.get_injectable('configs_dir') + configs_dir = inject.get_injectable("configs_dir") configs_dir = [configs_dir] if isinstance(configs_dir, str) else configs_dir for dir in configs_dir: @@ -545,36 +617,47 @@ def filter_warnings(): set warning filter to 'strict' if specified in settings """ - if setting('strict', False): # noqa: E402 - warnings.filterwarnings('error', category=Warning) - warnings.filterwarnings('default', category=PendingDeprecationWarning, module='future') - warnings.filterwarnings('default', category=FutureWarning, module='pandas') - warnings.filterwarnings('default', category=RuntimeWarning, module='numpy') + if setting("strict", False): # noqa: E402 + warnings.filterwarnings("error", category=Warning) + warnings.filterwarnings( + "default", category=PendingDeprecationWarning, module="future" + ) + warnings.filterwarnings("default", category=FutureWarning, module="pandas") + warnings.filterwarnings("default", category=RuntimeWarning, module="numpy") # pandas pytables.py __getitem__ (e.g. df = store['any_string']) # indirectly raises tables DeprecationWarning: tostring() is deprecated. Use tobytes() instead. - warnings.filterwarnings('ignore', category=DeprecationWarning, module='tables', message='tostring') + warnings.filterwarnings( + "ignore", category=DeprecationWarning, module="tables", message="tostring" + ) # File "tables/hdf5extension.pyx", line 1450, in tables.hdf5extension.Array._open_array # DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. # Deprecated in NumPy 1.20; - warnings.filterwarnings('ignore', category=DeprecationWarning, module='tables', - message='`np.object` is a deprecated alias') + warnings.filterwarnings( + "ignore", + category=DeprecationWarning, + module="tables", + message="`np.object` is a deprecated alias", + ) # beginning pandas version 1.3, various places emit a PerformanceWarning that is # caught in the "strict" filter above, but which are currently unavoidable for complex models. # These warning are left as warnings as an invitation for future enhancement. from pandas.errors import PerformanceWarning - warnings.filterwarnings('default', category=PerformanceWarning) + + warnings.filterwarnings("default", category=PerformanceWarning) def handle_standard_args(parser=None): from activitysim.cli import run - warnings.warn('config.handle_standard_args() has been moved to the command line ' - 'module and will be removed in future versions.', - FutureWarning) + warnings.warn( + "config.handle_standard_args() has been moved to the command line " + "module and will be removed in future versions.", + FutureWarning, + ) if parser is None: parser = argparse.ArgumentParser() diff --git a/activitysim/core/configuration.py b/activitysim/core/configuration.py new file mode 100644 index 0000000000..3174653b25 --- /dev/null +++ b/activitysim/core/configuration.py @@ -0,0 +1,291 @@ +from typing import Union + +try: + from pydantic import BaseModel as PydanticBase +except ModuleNotFoundError: + + class PydanticBase: + pass + + +class InputTable(PydanticBase): + """ + The features that define an input table to be read by ActivitySim. + """ + + tablename: str + """Name of the injected table""" + + filename: str = None + """ + Name of the CSV or HDF5 file to read. + + If not provided, defaults to `input_store` + """ + + index_col: str = None + """table column to use for the index""" + + rename_columns: dict[str, str] = None + """dictionary of column name mappings""" + + keep_columns: list[str] = None + """ + columns to keep once read in to memory. + + Save only the columns needed for modeling or analysis to save on memory + and file I/O + """ + + h5_tablename: str = None + """table name if reading from HDF5 and different from `tablename`""" + + +class Settings(PydanticBase): + """ + The overall settings for the ActivitySim model system. + + The input for these settings is typically stored in one main YAML file, + usually called ``settings.yaml``. + + Note that this implementation is presently used only for generating + documentation, but future work may migrate the settings implementation to + actually use this pydantic code to validate the settings before running + the model. + """ + + models: list[str] + """ + list of model steps to run - auto ownership, tour frequency, etc. + + See :ref:`model_steps` for more details about each step. + """ + + resume_after: str = None + """to resume running the data pipeline after the last successful checkpoint""" + + input_table_list: list[InputTable] + """list of table names, indices, and column re-maps for each table in `input_store`""" + + input_store: str = None + """HDF5 inputs file""" + + create_input_store: bool = False + """ + Write the inputs as read in back to an HDF5 store. + + If enabled, this writes the store to the outputs folder to use for subsequent + model runs, as reading HDF5 can be faster than reading CSV files.""" + + households_sample_size: int = None + """ + Number of households to sample and simulate + + If omitted or set to 0, ActivitySim will simulate all households. + """ + trace_hh_id: Union[int, list] = None + """ + Trace household id(s) + + If omitted, no tracing is written out + """ + + trace_od: list[int] = None + """ + Trace origin, destination pair in accessibility calculation + + If omitted, no tracing is written out. + """ + + chunk_training_mode: str = None + """ + The method to use for chunk training. + + Valid values include {disabled, training, production, adaptive}. + See :ref:`chunk_size` for more details. + """ + + chunk_size: int = None + """ + Approximate amount of RAM to allocate to ActivitySim for batch processing. + + See :ref:`chunk_size` for more details. + """ + + chunk_method: str = None + """ + Memory use measure to use for chunking. + + See :ref:`chunk_size`. + """ + + checkpoints: Union[bool, list] = True + """ + When to write checkpoint (intermediate table states) to disk. + + If True, checkpoints are written at each step. If False, no intermediate + checkpoints will be written before the end of run. Or, provide an explicit + list of models to checkpoint. + """ + + check_for_variability: bool = False + """ + Debugging feature to find broken model specifications. + + Enabling this check does not alter valid results but slows down model runs. + """ + + log_alt_losers: bool = False + """ + Write out expressions when all alternatives are unavailable. + + This can be useful for model development to catch errors in specifications. + Enabling this check does not alter valid results but slows down model runs. + """ + + use_shadow_pricing: bool = False + """turn shadow_pricing on and off for work and school location""" + + output_tables: list[str] = None + """list of output tables to write to CSV or HDF5""" + + want_dest_choice_sample_tables: bool = False + """turn writing of sample_tables on and off for all models""" + + cleanup_pipeline_after_run: bool = False + """ + Cleans up pipeline after successful run. + + This will clean up pipeline only after successful runs, by creating a + single-checkpoint pipeline file, and deleting any subprocess pipelines. + """ + + sharrow: Union[bool, str] = False + """ + Set the sharrow operating mode. + + .. versionadded:: 1.2 + + * `false` - Do not use sharrow. This is the default if no value is given. + * `true` - Use sharrow optimizations when possible, but fall back to + legacy `pandas.eval` systems when any error is encountered. This is the + preferred mode for running with sharrow if reliability is more important + than performance. + * `require` - Use sharrow optimizations, and raise an error if they fail + unexpectedly. This is the preferred mode for running with sharrow + if performance is a concern. + * `test` - Run every relevant calculation using both sharrow and legacy + systems, and compare them to ensure the results match. This is the slowest + mode of operation, but useful for development and debugging. + """ + + +class ZarrDigitalEncoding(PydanticBase): + """Digital encoding instructions for skim tables. + + .. versionadded:: 1.2 + """ + + regex: str + """A regular expression for matching skim matrix names. + + All skims with names that match under typical regular expression rules + for Python will be processed together. + """ + + joint_dict: str + """The name of the joint dictionary for this group. + + This must be a unique name for this set of skims, and a new array + will be added to the Dataset with this name. It will be an integer- + type array indicating the position of each element in the jointly + encoded dictionary.""" + + +class TAZ_Settings(PydanticBase): + """ + Complex settings for TAZ skims that are not just OMX file(s). + + .. versionadded:: 1.2 + """ + + omx: str = None + """The filename of the data stored in OMX format. + + This is treated as a fallback for the raw input data, if ZARR format data + is not available. + """ + + zarr: str = None + """The filename of the data stored in ZARR format. + + Reading ZARR data can be much faster than reading OMX format data, so if + this filename is given, the ZARR file format is preferred if it exists. If + it does not exist, then OMX data is read in and then ZARR data is written + out for future usage. + + .. versionadded:: 1.2 + """ + + zarr_digital_encoding: list[ZarrDigitalEncoding] = None + """ + A list of encodings to apply before saving skims in ZARR format. + + .. versionadded:: 1.2 + """ + + +class NetworkSettings(PydanticBase): + """ + Network level of service and skims settings + + The input for these settings is typically stored in one YAML file, + usually called ``network_los.yaml``. + """ + + zone_system: int + """Which zone system type is used. + + * 1 - TAZ only. + * 2 - MAZ and TAZ. + * 3 - MAZ, TAZ, and TAP + """ + + taz_skims: Union[str, TAZ_Settings] = None + """Instructions for how to load and pre-process skim matrices. + + If given as a string, it is interpreted as the location for OMX file(s), + either as a single file or as a glob-matching pattern for multiple files. + The time period for the matrix must be represented at the end of the matrix + name and be seperated by a double_underscore (e.g. `BUS_IVT__AM` indicates base + skim BUS_IVT with a time period of AM. + + Alternatively, this can be given as a nested dictionary defined via the + TAZ_Settings class, which allows for ZARR transformation and pre-processing. + """ + + skim_time_periods: dict + """time period upper bound values and labels + + * ``time_window`` - total duration (in minutes) of the modeled time span (Default: 1440 minutes (24 hours)) + * ``period_minutes`` - length of time (in minutes) each model time period represents. Must be whole factor of ``time_window``. (Default: 60 minutes) + * ``periods`` - Breakpoints that define the aggregate periods for skims and assignment + * ``labels`` - Labels to define names for aggregate periods for skims and assignment + """ + + read_skim_cache: bool = False + """Read cached skims (using numpy memmap) from output directory. + + Reading from memmap is much faster than omx, but the memmap is a huge + uncompressed file. + """ + + write_skim_cache: bool = False + """Write memmapped cached skims to output directory. + + This is needed if you want to use the cached skims to speed up subsequent + runs. + """ + + cache_dir: str = None + """alternate dir to read/write cache files (defaults to output_dir)""" diff --git a/activitysim/core/expressions.py b/activitysim/core/expressions.py index 05e0b8eb18..f090ef4ef9 100644 --- a/activitysim/core/expressions.py +++ b/activitysim/core/expressions.py @@ -2,17 +2,16 @@ # See full license in LICENSE.txt. import logging +import argparse import numpy as np import pandas as pd -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import assign -from activitysim.core import inject -from activitysim.core import simulate - -from activitysim.core.util import assign_in_place - +from activitysim.core import assign, config, inject, simulate, tracing +from activitysim.core.util import ( + assign_in_place, + suffix_expressions_df_str, + parse_suffix_args, +) logger = logging.getLogger(__name__) @@ -45,31 +44,55 @@ def compute_columns(df, model_settings, locals_dict={}, trace_label=None): if isinstance(model_settings, str): model_settings_name = model_settings - model_settings = config.read_model_settings('%s.yaml' % model_settings) + model_settings = config.read_model_settings("%s.yaml" % model_settings) assert model_settings, "Found no model settings for %s" % model_settings_name else: - model_settings_name = 'dict' + model_settings_name = "dict" assert isinstance(model_settings, dict) - assert 'DF' in model_settings, \ - "Expected to find 'DF' in %s" % model_settings_name + assert "DF" in model_settings, "Expected to find 'DF' in %s" % model_settings_name + + df_name = model_settings.get("DF") + helper_table_names = model_settings.get("TABLES", []) + expressions_spec_name = model_settings.get("SPEC", None) + + # Extract suffix for disaggregate accessibilities. + # The suffix args can either be passed in the model settings or as part of the config file string. + # Awkward, but avoids having to put positional arguments in every single asim function. + args = parse_suffix_args(expressions_spec_name) - df_name = model_settings.get('DF') - helper_table_names = model_settings.get('TABLES', []) - expressions_spec_name = model_settings.get('SPEC', None) + expressions_spec_name = args.filename + suffix = model_settings.get("SUFFIX", args.SUFFIX) + roots = model_settings.get("ROOTS", args.ROOTS) - assert expressions_spec_name is not None, \ + assert isinstance(roots, list) + assert (suffix is not None and roots) or (suffix is None and not roots), ( + "Expected to find both 'ROOTS' and 'SUFFIX' in %s, missing one" + % model_settings_name + ) + + assert expressions_spec_name is not None, ( "Expected to find 'SPEC' in %s" % model_settings_name + ) - trace_label = tracing.extend_trace_label(trace_label or '', expressions_spec_name) + trace_label = tracing.extend_trace_label(trace_label or "", expressions_spec_name) if not expressions_spec_name.endswith(".csv"): - expressions_spec_name = '%s.csv' % expressions_spec_name - logger.debug(f"{trace_label} compute_columns using expression spec file {expressions_spec_name}") - expressions_spec = assign.read_assignment_spec(config.config_file_path(expressions_spec_name)) + expressions_spec_name = "%s.csv" % expressions_spec_name + logger.debug( + f"{trace_label} compute_columns using expression spec file {expressions_spec_name}" + ) + + expressions_spec = assign.read_assignment_spec( + config.config_file_path(expressions_spec_name) + ) + + if suffix is not None and roots: + expressions_spec = suffix_expressions_df_str(expressions_spec, suffix, roots) - assert expressions_spec.shape[0] > 0, \ + assert expressions_spec.shape[0] > 0, ( "Expected to find some assignment expressions in %s" % expressions_spec_name + ) tables = {t: inject.get_table(t).to_frame() for t in helper_table_names} @@ -78,28 +101,26 @@ def compute_columns(df, model_settings, locals_dict={}, trace_label=None): tables[df_name] = df # be nice and also give it to them as df? - tables['df'] = df + tables["df"] = df _locals_dict = assign.local_utilities() _locals_dict.update(locals_dict) _locals_dict.update(tables) # FIXME a number of asim model preprocessors want skim_dict - should they request it in model_settings.TABLES? - _locals_dict.update({ - # 'los': inject.get_injectable('network_los', None), - 'skim_dict': inject.get_injectable('skim_dict', None), - }) + _locals_dict.update( + { + # 'los': inject.get_injectable('network_los', None), + "skim_dict": inject.get_injectable("skim_dict", None), + } + ) - results, trace_results, trace_assigned_locals \ - = assign.assign_variables(expressions_spec, - df, - _locals_dict, - trace_rows=tracing.trace_targets(df)) + results, trace_results, trace_assigned_locals = assign.assign_variables( + expressions_spec, df, _locals_dict, trace_rows=tracing.trace_targets(df) + ) if trace_results is not None: - tracing.trace_df(trace_results, - label=trace_label, - slicer='NONE') + tracing.trace_df(trace_results, label=trace_label, slicer="NONE") if trace_assigned_locals: tracing.write_csv(trace_assigned_locals, file_name="%s_locals" % trace_label) @@ -130,15 +151,13 @@ def assign_columns(df, model_settings, locals_dict={}, trace_label=None): # ################################################################################################## -def annotate_preprocessors( - df, locals_dict, skims, - model_settings, trace_label): +def annotate_preprocessors(df, locals_dict, skims, model_settings, trace_label): locals_d = {} locals_d.update(locals_dict) locals_d.update(skims) - preprocessor_settings = model_settings.get('preprocessor', []) + preprocessor_settings = model_settings.get("preprocessor", []) if not isinstance(preprocessor_settings, list): assert isinstance(preprocessor_settings, dict) preprocessor_settings = [preprocessor_settings] @@ -151,7 +170,8 @@ def annotate_preprocessors( df=df, model_settings=model_settings, locals_dict=locals_d, - trace_label=trace_label) + trace_label=trace_label, + ) assign_in_place(df, results) diff --git a/activitysim/core/inject.py b/activitysim/core/inject.py index da221b284b..6e2e9d5fa1 100644 --- a/activitysim/core/inject.py +++ b/activitysim/core/inject.py @@ -11,37 +11,38 @@ # we want to allow None (any anyting else) as a default value, so just choose an improbable string -_NO_DEFAULT = 'throw error if missing' +_NO_DEFAULT = "throw error if missing" logger = logging.getLogger(__name__) def step(): - def decorator(func): name = func.__name__ logger.debug("inject step %s" % name) - assert not _DECORATED_STEPS.get(name, False), \ + assert not _DECORATED_STEPS.get(name, False), ( "step '%s' already decorated." % name + ) _DECORATED_STEPS[name] = func orca.add_step(name, func) return func + return decorator def table(): - def decorator(func): name = func.__name__ logger.debug("inject table %s" % name) - assert not _DECORATED_TABLES.get(name, False), \ + assert not _DECORATED_TABLES.get(name, False), ( "table '%s' already decorated." % name + ) _DECORATED_TABLES[name] = func orca.add_table(name, func) @@ -58,14 +59,16 @@ def decorator(func): logger.debug("inject injectable %s" % name) # insist on explicit override to ensure multiple definitions occur in correct order - assert override or not _DECORATED_INJECTABLES.get(name, False), \ + assert override or not _DECORATED_INJECTABLES.get(name, False), ( "injectable '%s' already defined. not overridden" % name + ) - _DECORATED_INJECTABLES[name] = {'func': func, 'cache': cache} + _DECORATED_INJECTABLES[name] = {"func": func, "cache": cache} orca.add_injectable(name, func, cache=cache) return func + return decorator @@ -82,7 +85,11 @@ def add_table(table_name, table, replace=False): Add new table and raise assertion error if the table already exists. Silently replace if replace=True. """ - if not replace and orca.is_table(table_name) and orca.table_type(table_name) == 'dataframe': + if ( + not replace + and orca.is_table(table_name) + and orca.table_type(table_name) == "dataframe" + ): logger.warning("inject add_table replacing existing table %s" % table_name) assert False @@ -99,10 +106,17 @@ def add_injectable(name, injectable, cache=False): return orca.add_injectable(name, injectable, cache=cache) -def broadcast(cast, onto, cast_on=None, onto_on=None, cast_index=False, onto_index=False): - return orca.broadcast(cast, onto, - cast_on=cast_on, onto_on=onto_on, - cast_index=cast_index, onto_index=onto_index) +def broadcast( + cast, onto, cast_on=None, onto_on=None, cast_index=False, onto_index=False +): + return orca.broadcast( + cast, + onto, + cast_on=cast_on, + onto_on=onto_on, + cast_index=cast_index, + onto_index=onto_index, + ) def get_table(name, default=_NO_DEFAULT): @@ -151,11 +165,11 @@ def reinject_decorated_tables(): for column_key, args in _DECORATED_COLUMNS.items(): table_name, column_name = column_key logger.debug("reinject decorated column %s.%s" % (table_name, column_name)) - orca.add_column(table_name, column_name, args['func'], cache=args['cache']) + orca.add_column(table_name, column_name, args["func"], cache=args["cache"]) for name, args in _DECORATED_INJECTABLES.items(): logger.debug("reinject decorated injectable %s" % name) - orca.add_injectable(name, args['func'], cache=args['cache']) + orca.add_injectable(name, args["func"], cache=args["cache"]) def clear_cache(): @@ -165,12 +179,12 @@ def clear_cache(): def set_step_args(args=None): assert isinstance(args, dict) or args is None - orca.add_injectable('step_args', args) + orca.add_injectable("step_args", args) def get_step_arg(arg_name, default=_NO_DEFAULT): - args = orca.get_injectable('step_args') + args = orca.get_injectable("step_args") assert isinstance(args, dict) if arg_name not in args and default == _NO_DEFAULT: diff --git a/activitysim/core/input.py b/activitysim/core/input.py index 6a864eea8b..73183f3e91 100644 --- a/activitysim/core/input.py +++ b/activitysim/core/input.py @@ -2,23 +2,18 @@ # See full license in LICENSE.txt. import logging -import warnings import os +import warnings import pandas as pd -from activitysim.core import ( - inject, - config, - util, -) -from activitysim.core import mem +from activitysim.core import config, inject, mem, util logger = logging.getLogger(__name__) def canonical_table_index_name(table_name): - table_index_names = inject.get_injectable('canonical_table_index_names', None) + table_index_names = inject.get_injectable("canonical_table_index_names", None) return table_index_names and table_index_names.get(table_name, None) @@ -35,19 +30,21 @@ def read_input_table(tablename, required=True): ------- pandas DataFrame """ - table_list = config.setting('input_table_list') - assert table_list is not None, 'no input_table_list found in settings' + table_list = config.setting("input_table_list") + assert table_list is not None, "no input_table_list found in settings" table_info = None for info in table_list: - if info['tablename'] == tablename: + if info["tablename"] == tablename: table_info = info if table_info is not None: df = read_from_table_info(table_info) else: if required: - raise RuntimeError(f"could not find info for for tablename {tablename} in settings file") + raise RuntimeError( + f"could not find info for for tablename {tablename} in settings file" + ) df = None return df @@ -78,17 +75,17 @@ def read_from_table_info(table_info): +--------------+----------------------------------------------------------+ """ - input_store = config.setting('input_store', None) - create_input_store = config.setting('create_input_store', default=False) - - tablename = table_info.get('tablename') - data_filename = table_info.get('filename', input_store) - h5_tablename = table_info.get('h5_tablename') or tablename - drop_columns = table_info.get('drop_columns', None) - column_map = table_info.get('column_map', None) - keep_columns = table_info.get('keep_columns', None) - rename_columns = table_info.get('rename_columns', None) - csv_dtypes = table_info.get('dtypes', {}) + input_store = config.setting("input_store", None) + create_input_store = config.setting("create_input_store", default=False) + + tablename = table_info.get("tablename") + data_filename = table_info.get("filename", input_store) + h5_tablename = table_info.get("h5_tablename") or tablename + drop_columns = table_info.get("drop_columns", None) + column_map = table_info.get("column_map", None) + keep_columns = table_info.get("keep_columns", None) + rename_columns = table_info.get("rename_columns", None) + csv_dtypes = table_info.get("dtypes", {}) # don't require a redundant index_col directive for canonical tables # but allow explicit disabling of assignment of index col for canonical tables, in which case, presumably, @@ -96,19 +93,22 @@ def read_from_table_info(table_info): canonical_index_col = canonical_table_index_name(tablename) # if there is an explicit index_col entry in table_info - if 'index_col' in table_info: + if "index_col" in table_info: # honor explicit index_col unless it conflicts with canonical name - index_col = table_info['index_col'] + index_col = table_info["index_col"] if canonical_index_col: if index_col: # if there is a non-empty index_col directive, it should be for canonical_table_index_name - assert index_col == canonical_index_col, \ - f"{tablename} index_col {table_info.get('index_col')} should be {index_col}" + assert ( + index_col == canonical_index_col + ), f"{tablename} index_col {table_info.get('index_col')} should be {index_col}" else: - logger.info(f"Not assigning canonical index_col {tablename}.{canonical_index_col} " - f"because settings file index_col directive is explicitly None.") + logger.info( + f"Not assigning canonical index_col {tablename}.{canonical_index_col} " + f"because settings file index_col directive is explicitly None." + ) # if there is an index_col directive for a canonical table, it should be for canonical_table_index_name @@ -116,34 +116,38 @@ def read_from_table_info(table_info): # otherwise default is to use canonical index name for known tables, and no index for unknown tables index_col = canonical_index_col - assert tablename is not None, 'no tablename provided' - assert data_filename is not None, 'no input file provided' + assert tablename is not None, "no tablename provided" + assert data_filename is not None, "no input file provided" data_file_path = config.data_file_path(data_filename) - df = _read_input_file(data_file_path, h5_tablename=h5_tablename, csv_dtypes=csv_dtypes) + df = _read_input_file( + data_file_path, h5_tablename=h5_tablename, csv_dtypes=csv_dtypes + ) # logger.debug('raw %s table columns: %s' % (tablename, df.columns.values)) - logger.debug('raw %s table size: %s' % (tablename, util.df_size(df))) + logger.debug("raw %s table size: %s" % (tablename, util.df_size(df))) if create_input_store: - h5_filepath = config.output_file_path('input_data.h5') - logger.info('writing %s to %s' % (h5_tablename, h5_filepath)) - df.to_hdf(h5_filepath, key=h5_tablename, mode='a') + h5_filepath = config.output_file_path("input_data.h5") + logger.info("writing %s to %s" % (h5_tablename, h5_filepath)) + df.to_hdf(h5_filepath, key=h5_tablename, mode="a") - csv_dir = config.output_file_path('input_data') + csv_dir = config.output_file_path("input_data") if not os.path.exists(csv_dir): os.makedirs(csv_dir) # make directory if needed - df.to_csv(os.path.join(csv_dir, '%s.csv' % tablename), index=False) + df.to_csv(os.path.join(csv_dir, "%s.csv" % tablename), index=False) if drop_columns: logger.debug("dropping columns: %s" % drop_columns) - df.drop(columns=drop_columns, inplace=True, errors='ignore') + df.drop(columns=drop_columns, inplace=True, errors="ignore") if column_map: - warnings.warn("table_inf option 'column_map' renamed 'rename_columns'" - "Support for 'column_map' will be removed in future versions.", - FutureWarning) + warnings.warn( + "table_inf option 'column_map' renamed 'rename_columns'" + "Support for 'column_map' will be removed in future versions.", + FutureWarning, + ) logger.debug("renaming columns: %s" % column_map) df.rename(columns=column_map, inplace=True) @@ -158,52 +162,62 @@ def read_from_table_info(table_info): assert not df.duplicated(index_col).any() if canonical_index_col: # we expect canonical indexes to be integer-valued - assert (df[index_col] == df[index_col].astype(int)).all(), \ - f"Index col '{index_col}' has non-integer values" + assert ( + df[index_col] == df[index_col].astype(int) + ).all(), f"Index col '{index_col}' has non-integer values" df[index_col] = df[index_col].astype(int) df.set_index(index_col, inplace=True) else: # FIXME not sure we want to do this. More likely they omitted index col than that they want to name it? # df.index.names = [index_col] - logger.error(f"index_col '{index_col}' specified in configs but not in {tablename} table!") + logger.error( + f"index_col '{index_col}' specified in configs but not in {tablename} table!" + ) logger.error(f"{tablename} columns are: {list(df.columns)}") raise RuntimeError(f"index_col '{index_col}' not in {tablename} table!") if keep_columns: logger.debug("keeping columns: %s" % keep_columns) if not set(keep_columns).issubset(set(df.columns)): - logger.error(f"Required columns missing from {tablename} table: " - f"{list(set(keep_columns).difference(set(df.columns)))}") + logger.error( + f"Required columns missing from {tablename} table: " + f"{list(set(keep_columns).difference(set(df.columns)))}" + ) logger.error(f"{tablename} table has columns: {list(df.columns)}") raise RuntimeError(f"Required columns missing from {tablename} table") df = df[keep_columns] if df.columns.duplicated().any(): - duplicate_column_names = df.columns[df.columns.duplicated(keep=False)].unique().to_list() - assert not df.columns.duplicated().any(), f"duplicate columns names in {tablename}: {duplicate_column_names}" + duplicate_column_names = ( + df.columns[df.columns.duplicated(keep=False)].unique().to_list() + ) + assert ( + not df.columns.duplicated().any() + ), f"duplicate columns names in {tablename}: {duplicate_column_names}" - logger.debug('%s table columns: %s' % (tablename, df.columns.values)) - logger.debug('%s table size: %s' % (tablename, util.df_size(df))) - logger.debug('%s index name: %s' % (tablename, df.index.name)) + logger.debug("%s table columns: %s" % (tablename, df.columns.values)) + logger.debug("%s table size: %s" % (tablename, util.df_size(df))) + logger.debug("%s index name: %s" % (tablename, df.index.name)) return df def _read_input_file(filepath, h5_tablename=None, csv_dtypes=None): - assert os.path.exists(filepath), 'input file not found: %s' % filepath + assert os.path.exists(filepath), "input file not found: %s" % filepath - if filepath.endswith('.csv') or filepath.endswith('.csv.gz'): + if filepath.endswith(".csv") or filepath.endswith(".csv.gz"): return _read_csv_with_fallback_encoding(filepath, csv_dtypes) - if filepath.endswith('.h5'): - assert h5_tablename is not None, 'must provide a tablename to read HDF5 table' - logger.info('reading %s table from %s' % (h5_tablename, filepath)) + if filepath.endswith(".h5"): + assert h5_tablename is not None, "must provide a tablename to read HDF5 table" + logger.info("reading %s table from %s" % (h5_tablename, filepath)) return pd.read_hdf(filepath, h5_tablename) raise IOError( - 'Unsupported file type: %s. ' - 'ActivitySim supports CSV and HDF5 files only' % filepath) + "Unsupported file type: %s. " + "ActivitySim supports CSV and HDF5 files only" % filepath + ) def _read_csv_with_fallback_encoding(filepath, dtypes=None): @@ -213,12 +227,14 @@ def _read_csv_with_fallback_encoding(filepath, dtypes=None): """ try: - logger.info('Reading CSV file %s' % filepath) - df = pd.read_csv(filepath, comment='#', dtype=dtypes) + logger.info("Reading CSV file %s" % filepath) + df = pd.read_csv(filepath, comment="#", dtype=dtypes) except UnicodeDecodeError: logger.warning( - 'Reading %s with default utf-8 encoding failed, trying cp1252 instead', filepath) - df = pd.read_csv(filepath, comment='#', encoding='cp1252', dtype=dtypes) + "Reading %s with default utf-8 encoding failed, trying cp1252 instead", + filepath, + ) + df = pd.read_csv(filepath, comment="#", encoding="cp1252", dtype=dtypes) if dtypes: # although the dtype argument suppresses the DtypeWarning, it does not coerce recognized types (e.g. int) diff --git a/activitysim/core/interaction_sample.py b/activitysim/core/interaction_sample.py index d792401dc2..6d5d87edf3 100644 --- a/activitysim/core/interaction_sample.py +++ b/activitysim/core/interaction_sample.py @@ -1,33 +1,30 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - import logging - +from builtins import range from math import ceil + import numpy as np import pandas as pd -from . import logit -from . import tracing -from . import chunk +from . import chunk, interaction_simulate, logit, pipeline, tracing from .simulate import set_skim_wrapper_targets - -from . import interaction_simulate -from . import pipeline - logger = logging.getLogger(__name__) DUMP = False def make_sample_choices( - choosers, probs, - alternatives, - sample_size, alternative_count, alt_col_name, - allow_zero_probs, - trace_label): + choosers, + probs, + alternatives, + sample_size, + alternative_count, + alt_col_name, + allow_zero_probs, + trace_label, +): """ Parameters @@ -55,21 +52,23 @@ def make_sample_choices( assert len(alternatives) == alternative_count if allow_zero_probs: - zero_probs = (probs.sum(axis=1) == 0) + zero_probs = probs.sum(axis=1) == 0 if zero_probs.all(): - return pd.DataFrame(columns=[alt_col_name, 'rand', 'prob', choosers.index.name]) + return pd.DataFrame( + columns=[alt_col_name, "rand", "prob", choosers.index.name] + ) if zero_probs.any(): # remove from sample probs = probs[~zero_probs] choosers = choosers[~zero_probs] cum_probs_array = probs.values.cumsum(axis=1) - chunk.log_df(trace_label, 'cum_probs_array', cum_probs_array) + chunk.log_df(trace_label, "cum_probs_array", cum_probs_array) # alt probs in convenient layout to return prob of chose alternative # (same layout as cum_probs_arr) alt_probs_array = probs.values.flatten() - chunk.log_df(trace_label, 'alt_probs_array', alt_probs_array) + chunk.log_df(trace_label, "alt_probs_array", alt_probs_array) # get sample_size rands for each chooser rands = pipeline.get_rn_generator().random_for_df(probs, n=sample_size) @@ -78,12 +77,14 @@ def make_sample_choices( # reshape so rands[i] is in broadcastable (2-D) shape for cum_probs_arr # i.e rands[i] is a 2-D array of one alt choice rand for each chooser rands = rands.T.reshape(sample_size, -1, 1) - chunk.log_df(trace_label, 'rands', rands) + chunk.log_df(trace_label, "rands", rands) # the alternative value chosen # WHY SHOULD CHOICES COL HAVE TO BE TYPE INT??? # choices_array = np.empty([sample_size, len(choosers)]).astype(int) - choices_array = np.empty([sample_size, len(choosers)]).astype(alternatives.index.dtype) + choices_array = np.empty([sample_size, len(choosers)]).astype( + alternatives.index.dtype + ) # chunk log these later after we populate them... # the probability of the chosen alternative @@ -91,7 +92,7 @@ def make_sample_choices( # chunk log these later after we populate them... alts = np.tile(alternatives.index.values, len(choosers)) - chunk.log_df(trace_label, 'alts', alts) + chunk.log_df(trace_label, "alts", alts) # FIXME - do this all at once rather than iterate? for i in range(sample_size): @@ -123,47 +124,53 @@ def make_sample_choices( del positions del offsets - chunk.log_df(trace_label, 'choices_array', choices_array) - chunk.log_df(trace_label, 'choice_probs_array', choice_probs_array) + chunk.log_df(trace_label, "choices_array", choices_array) + chunk.log_df(trace_label, "choice_probs_array", choice_probs_array) del alts - chunk.log_df(trace_label, 'alts', None) + chunk.log_df(trace_label, "alts", None) del cum_probs_array - chunk.log_df(trace_label, 'cum_probs_array', None) + chunk.log_df(trace_label, "cum_probs_array", None) del alt_probs_array - chunk.log_df(trace_label, 'alt_probs_array', None) + chunk.log_df(trace_label, "alt_probs_array", None) # explode to one row per chooser.index, alt_zone_id choices_df = pd.DataFrame( - {alt_col_name: choices_array.flatten(order='F'), - 'rand': rands.flatten(order='F'), - 'prob': choice_probs_array.flatten(order='F'), - choosers.index.name: np.repeat(np.asanyarray(choosers.index), sample_size) - }) + { + alt_col_name: choices_array.flatten(order="F"), + "rand": rands.flatten(order="F"), + "prob": choice_probs_array.flatten(order="F"), + choosers.index.name: np.repeat(np.asanyarray(choosers.index), sample_size), + } + ) - chunk.log_df(trace_label, 'choices_df', choices_df) + chunk.log_df(trace_label, "choices_df", choices_df) del choices_array - chunk.log_df(trace_label, 'choices_array', None) + chunk.log_df(trace_label, "choices_array", None) del rands - chunk.log_df(trace_label, 'rands', None) + chunk.log_df(trace_label, "rands", None) del choice_probs_array - chunk.log_df(trace_label, 'choice_probs_array', None) + chunk.log_df(trace_label, "choice_probs_array", None) # handing this off to caller - chunk.log_df(trace_label, 'choices_df', None) + chunk.log_df(trace_label, "choices_df", None) return choices_df def _interaction_sample( - choosers, alternatives, - spec, sample_size, alt_col_name, - allow_zero_probs=False, - log_alt_losers=False, - skims=None, - locals_d=None, - trace_label=None): + choosers, + alternatives, + spec, + sample_size, + alt_col_name, + allow_zero_probs=False, + log_alt_losers=False, + skims=None, + locals_d=None, + trace_label=None, +): """ Run a MNL simulation in the situation in which alternatives must be merged with choosers because there are interaction terms or @@ -225,12 +232,16 @@ def _interaction_sample( assert num_choosers > 0 if have_trace_targets: - tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, 'choosers')) - tracing.trace_df(alternatives, tracing.extend_trace_label(trace_label, 'alternatives'), - slicer='NONE', transpose=False) + tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, "choosers")) + tracing.trace_df( + alternatives, + tracing.extend_trace_label(trace_label, "alternatives"), + slicer="NONE", + transpose=False, + ) if len(spec.columns) > 1: - raise RuntimeError('spec must have only one column') + raise RuntimeError("spec must have only one column") # if using skims, copy index into the dataframe, so it will be # available as the "destination" for set_skim_wrapper_targets @@ -244,11 +255,14 @@ def _interaction_sample( # for every chooser, there will be a row for each alternative # index values (non-unique) are from alternatives df alternative_count = alternatives.shape[0] - interaction_df = \ - logit.interaction_dataset(choosers, alternatives, sample_size=alternative_count, - chooser_index_id=chooser_index_id) + interaction_df = logit.interaction_dataset( + choosers, + alternatives, + sample_size=alternative_count, + chooser_index_id=chooser_index_id, + ) - chunk.log_df(trace_label, 'interaction_df', interaction_df) + chunk.log_df(trace_label, "interaction_df", interaction_df) assert alternative_count == len(interaction_df.index) / len(choosers.index) @@ -261,93 +275,132 @@ def _interaction_sample( # utilities has utility value for element in the cross product of choosers and alternatives # interaction_utilities is a df with one utility column and one row per row in interaction_df if have_trace_targets: - trace_rows, trace_ids \ - = tracing.interaction_trace_rows(interaction_df, choosers, alternative_count) - - tracing.trace_df(interaction_df[trace_rows], - tracing.extend_trace_label(trace_label, 'interaction_df'), - slicer='NONE', transpose=False) + trace_rows, trace_ids = tracing.interaction_trace_rows( + interaction_df, choosers, alternative_count + ) + + tracing.trace_df( + interaction_df[trace_rows], + tracing.extend_trace_label(trace_label, "interaction_df"), + slicer="NONE", + transpose=False, + ) else: trace_rows = trace_ids = None # interaction_utilities is a df with one utility column and one row per interaction_df row - interaction_utilities, trace_eval_results \ - = interaction_simulate.eval_interaction_utilities(spec, interaction_df, locals_d, trace_label, trace_rows, - estimator=None, - log_alt_losers=log_alt_losers) - chunk.log_df(trace_label, 'interaction_utilities', interaction_utilities) + ( + interaction_utilities, + trace_eval_results, + ) = interaction_simulate.eval_interaction_utilities( + spec, + interaction_df, + locals_d, + trace_label, + trace_rows, + estimator=None, + log_alt_losers=log_alt_losers, + ) + chunk.log_df(trace_label, "interaction_utilities", interaction_utilities) # ########### HWM - high water mark (point of max observed memory usage) del interaction_df - chunk.log_df(trace_label, 'interaction_df', None) + chunk.log_df(trace_label, "interaction_df", None) if have_trace_targets: - tracing.trace_interaction_eval_results(trace_eval_results, trace_ids, - tracing.extend_trace_label(trace_label, 'eval')) + tracing.trace_interaction_eval_results( + trace_eval_results, + trace_ids, + tracing.extend_trace_label(trace_label, "eval"), + ) - tracing.trace_df(interaction_utilities[trace_rows], - tracing.extend_trace_label(trace_label, 'interaction_utilities'), - slicer='NONE', transpose=False) + tracing.trace_df( + interaction_utilities[trace_rows], + tracing.extend_trace_label(trace_label, "interaction_utilities"), + slicer="NONE", + transpose=False, + ) - tracing.dump_df(DUMP, interaction_utilities, trace_label, 'interaction_utilities') + tracing.dump_df(DUMP, interaction_utilities, trace_label, "interaction_utilities") # reshape utilities (one utility column and one row per row in interaction_utilities) # to a dataframe with one row per chooser and one column per alternative utilities = pd.DataFrame( interaction_utilities.values.reshape(len(choosers), alternative_count), - index=choosers.index) - chunk.log_df(trace_label, 'utilities', utilities) + index=choosers.index, + ) + chunk.log_df(trace_label, "utilities", utilities) del interaction_utilities - chunk.log_df(trace_label, 'interaction_utilities', None) + chunk.log_df(trace_label, "interaction_utilities", None) if have_trace_targets: - tracing.trace_df(utilities, tracing.extend_trace_label(trace_label, 'utils'), - column_labels=['alternative', 'utility']) + tracing.trace_df( + utilities, + tracing.extend_trace_label(trace_label, "utils"), + column_labels=["alternative", "utility"], + ) - tracing.dump_df(DUMP, utilities, trace_label, 'utilities') + tracing.dump_df(DUMP, utilities, trace_label, "utilities") # convert to probabilities (utilities exponentiated and normalized to probs) # probs is same shape as utilities, one row per chooser and one column for alternative - probs = logit.utils_to_probs(utilities, allow_zero_probs=allow_zero_probs, - trace_label=trace_label, trace_choosers=choosers) - chunk.log_df(trace_label, 'probs', probs) + probs = logit.utils_to_probs( + utilities, + allow_zero_probs=allow_zero_probs, + trace_label=trace_label, + trace_choosers=choosers, + ) + chunk.log_df(trace_label, "probs", probs) del utilities - chunk.log_df(trace_label, 'utilities', None) + chunk.log_df(trace_label, "utilities", None) if have_trace_targets: - tracing.trace_df(probs, tracing.extend_trace_label(trace_label, 'probs'), - column_labels=['alternative', 'probability']) + tracing.trace_df( + probs, + tracing.extend_trace_label(trace_label, "probs"), + column_labels=["alternative", "probability"], + ) if sample_size == 0: # FIXME return full alternative set rather than sample - logger.info("Estimation mode for %s using unsampled alternatives" % (trace_label, )) + logger.info( + "Estimation mode for %s using unsampled alternatives" % (trace_label,) + ) index_name = probs.index.name - choices_df = \ - pd.melt(probs.reset_index(), id_vars=[index_name])\ - .sort_values(by=index_name, kind='mergesort')\ - .set_index(index_name)\ - .rename(columns={'value': 'prob'})\ - .drop(columns='variable') - - choices_df['pick_count'] = 1 - choices_df.insert(0, alt_col_name, np.tile(alternatives.index.values, len(choosers.index))) + choices_df = ( + pd.melt(probs.reset_index(), id_vars=[index_name]) + .sort_values(by=index_name, kind="mergesort") + .set_index(index_name) + .rename(columns={"value": "prob"}) + .drop(columns="variable") + ) + + choices_df["pick_count"] = 1 + choices_df.insert( + 0, alt_col_name, np.tile(alternatives.index.values, len(choosers.index)) + ) return choices_df else: choices_df = make_sample_choices( - choosers, probs, alternatives, - sample_size, alternative_count, alt_col_name, + choosers, + probs, + alternatives, + sample_size, + alternative_count, + alt_col_name, allow_zero_probs=allow_zero_probs, - trace_label=trace_label) + trace_label=trace_label, + ) - chunk.log_df(trace_label, 'choices_df', choices_df) + chunk.log_df(trace_label, "choices_df", choices_df) del probs - chunk.log_df(trace_label, 'probs', None) + chunk.log_df(trace_label, "probs", None) # pick_count and pick_dup # pick_count is number of duplicate picks @@ -355,47 +408,56 @@ def _interaction_sample( pick_group = choices_df.groupby([choosers.index.name, alt_col_name]) # number each item in each group from 0 to the length of that group - 1. - choices_df['pick_count'] = pick_group.cumcount(ascending=True) + choices_df["pick_count"] = pick_group.cumcount(ascending=True) # flag duplicate rows after first - choices_df['pick_dup'] = choices_df['pick_count'] > 0 + choices_df["pick_dup"] = choices_df["pick_count"] > 0 # add reverse cumcount to get total pick_count (conveniently faster than groupby.count + merge) - choices_df['pick_count'] += pick_group.cumcount(ascending=False) + 1 + choices_df["pick_count"] += pick_group.cumcount(ascending=False) + 1 # drop the duplicates - choices_df = choices_df[~choices_df['pick_dup']] - del choices_df['pick_dup'] - chunk.log_df(trace_label, 'choices_df', choices_df) + choices_df = choices_df[~choices_df["pick_dup"]] + del choices_df["pick_dup"] + chunk.log_df(trace_label, "choices_df", choices_df) # set index after groupby so we can trace on it choices_df.set_index(choosers.index.name, inplace=True) - tracing.dump_df(DUMP, choices_df, trace_label, 'choices_df') + tracing.dump_df(DUMP, choices_df, trace_label, "choices_df") if have_trace_targets: - tracing.trace_df(choices_df, - tracing.extend_trace_label(trace_label, 'sampled_alternatives'), - transpose=False, - column_labels=['sample_alt', 'alternative']) + tracing.trace_df( + choices_df, + tracing.extend_trace_label(trace_label, "sampled_alternatives"), + transpose=False, + column_labels=["sample_alt", "alternative"], + ) # don't need this after tracing - del choices_df['rand'] - chunk.log_df(trace_label, 'choices_df', choices_df) + del choices_df["rand"] + chunk.log_df(trace_label, "choices_df", choices_df) # - NARROW - choices_df['prob'] = choices_df['prob'].astype(np.float32) - assert (choices_df['pick_count'].max() < 4294967295) or (choices_df.empty) - choices_df['pick_count'] = choices_df['pick_count'].astype(np.uint32) + choices_df["prob"] = choices_df["prob"].astype(np.float32) + assert (choices_df["pick_count"].max() < 4294967295) or (choices_df.empty) + choices_df["pick_count"] = choices_df["pick_count"].astype(np.uint32) return choices_df def interaction_sample( - choosers, alternatives, spec, sample_size, - alt_col_name, - allow_zero_probs=False, - log_alt_losers=False, - skims=None, locals_d=None, chunk_size=0, chunk_tag=None, - trace_label=None): + choosers, + alternatives, + spec, + sample_size, + alt_col_name, + allow_zero_probs=False, + log_alt_losers=False, + skims=None, + locals_d=None, + chunk_size=0, + chunk_tag=None, + trace_label=None, +): """ Run a simulation in the situation in which alternatives must @@ -453,7 +515,7 @@ def interaction_sample( number of duplicate picks for chooser, alt """ - trace_label = tracing.extend_trace_label(trace_label, 'interaction_sample') + trace_label = tracing.extend_trace_label(trace_label, "interaction_sample") chunk_tag = chunk_tag or trace_label # we return alternatives ordered in (index, alt_col_name) @@ -465,24 +527,28 @@ def interaction_sample( sample_size = min(sample_size, len(alternatives.index)) result_list = [] - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(choosers, chunk_size, trace_label, chunk_tag): - - choices = _interaction_sample(chooser_chunk, alternatives, - spec=spec, - sample_size=sample_size, - alt_col_name=alt_col_name, - allow_zero_probs=allow_zero_probs, - log_alt_losers=log_alt_losers, - skims=skims, - locals_d=locals_d, - trace_label=chunk_trace_label) + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + choosers, chunk_size, trace_label, chunk_tag + ): + + choices = _interaction_sample( + chooser_chunk, + alternatives, + spec=spec, + sample_size=sample_size, + alt_col_name=alt_col_name, + allow_zero_probs=allow_zero_probs, + log_alt_losers=log_alt_losers, + skims=skims, + locals_d=locals_d, + trace_label=chunk_trace_label, + ) if choices.shape[0] > 0: # might not be any if allow_zero_probs result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: @@ -490,9 +556,11 @@ def interaction_sample( if len(result_list) > 1: choices = pd.concat(result_list) - assert allow_zero_probs or (len(choosers.index) == len(np.unique(choices.index.values))) + assert allow_zero_probs or ( + len(choosers.index) == len(np.unique(choices.index.values)) + ) # keep alts in canonical order so choices based on their probs are stable across runs - choices = choices.sort_values(by=alt_col_name).sort_index(kind='mergesort') + choices = choices.sort_values(by=alt_col_name).sort_index(kind="mergesort") return choices diff --git a/activitysim/core/interaction_sample_simulate.py b/activitysim/core/interaction_sample_simulate.py index 9f7a275ba5..881fcd5663 100644 --- a/activitysim/core/interaction_sample_simulate.py +++ b/activitysim/core/interaction_sample_simulate.py @@ -5,24 +5,28 @@ import numpy as np import pandas as pd -from . import logit -from . import tracing -from . import chunk +from . import chunk, interaction_simulate, logit, tracing from .simulate import set_skim_wrapper_targets -from . import interaction_simulate - logger = logging.getLogger(__name__) def _interaction_sample_simulate( - choosers, alternatives, spec, - choice_column, - allow_zero_probs, zero_prob_choice_val, log_alt_losers, - want_logsums, - skims, locals_d, - trace_label, trace_choice_name, - estimator): + choosers, + alternatives, + spec, + choice_column, + allow_zero_probs, + zero_prob_choice_val, + log_alt_losers, + want_logsums, + skims, + locals_d, + trace_label, + trace_choice_name, + estimator, + skip_choice=False, +): """ Run a MNL simulation in the situation in which alternatives must @@ -88,17 +92,22 @@ def _interaction_sample_simulate( # this is the more general check (not requiring is_monotonic_increasing) last_repeat = alternatives.index != np.roll(alternatives.index, -1) - assert (choosers.shape[0] == 1) or choosers.index.equals(alternatives.index[last_repeat]) + assert (choosers.shape[0] == 1) or choosers.index.equals( + alternatives.index[last_repeat] + ) have_trace_targets = tracing.has_trace_targets(choosers) if have_trace_targets: - tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, 'choosers')) - tracing.trace_df(alternatives, tracing.extend_trace_label(trace_label, 'alternatives'), - transpose=False) + tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, "choosers")) + tracing.trace_df( + alternatives, + tracing.extend_trace_label(trace_label, "alternatives"), + transpose=False, + ) if len(spec.columns) > 1: - raise RuntimeError('spec must have only one column') + raise RuntimeError("spec must have only one column") # if using skims, copy index into the dataframe, so it will be # available as the "destination" for the skims dereference below @@ -115,21 +124,25 @@ def _interaction_sample_simulate( # so we just need to left join alternatives with choosers assert alternatives.index.name == choosers.index.name - interaction_df = alternatives.join(choosers, how='left', rsuffix='_chooser') + interaction_df = alternatives.join(choosers, how="left", rsuffix="_chooser") if log_alt_losers: # logit.interaction_dataset adds ALT_CHOOSER_ID column if log_alt_losers is True # to enable detection of zero_prob-driving utils (e.g. -999 for all alts in a chooser) - interaction_df[interaction_simulate.ALT_CHOOSER_ID] = interaction_df.index.values + interaction_df[ + interaction_simulate.ALT_CHOOSER_ID + ] = interaction_df.index.values - chunk.log_df(trace_label, 'interaction_df', interaction_df) + chunk.log_df(trace_label, "interaction_df", interaction_df) if have_trace_targets: trace_rows, trace_ids = tracing.interaction_trace_rows(interaction_df, choosers) - tracing.trace_df(interaction_df, - tracing.extend_trace_label(trace_label, 'interaction_df'), - transpose=False) + tracing.trace_df( + interaction_df, + tracing.extend_trace_label(trace_label, "interaction_df"), + transpose=False, + ) else: trace_rows = trace_ids = None @@ -141,21 +154,35 @@ def _interaction_sample_simulate( # column names of choosers match spec index values # utilities has utility value for element in the cross product of choosers and alternatives # interaction_utilities is a df with one utility column and one row per row in alternative - interaction_utilities, trace_eval_results \ - = interaction_simulate.eval_interaction_utilities(spec, interaction_df, locals_d, trace_label, trace_rows, - estimator=estimator, log_alt_losers=log_alt_losers) - chunk.log_df(trace_label, 'interaction_utilities', interaction_utilities) + ( + interaction_utilities, + trace_eval_results, + ) = interaction_simulate.eval_interaction_utilities( + spec, + interaction_df, + locals_d, + trace_label, + trace_rows, + estimator=estimator, + log_alt_losers=log_alt_losers, + ) + chunk.log_df(trace_label, "interaction_utilities", interaction_utilities) del interaction_df - chunk.log_df(trace_label, 'interaction_df', None) + chunk.log_df(trace_label, "interaction_df", None) if have_trace_targets: - tracing.trace_interaction_eval_results(trace_eval_results, trace_ids, - tracing.extend_trace_label(trace_label, 'eval')) - - tracing.trace_df(interaction_utilities, - tracing.extend_trace_label(trace_label, 'interaction_utilities'), - transpose=False) + tracing.trace_interaction_eval_results( + trace_eval_results, + trace_ids, + tracing.extend_trace_label(trace_label, "eval"), + ) + + tracing.trace_df( + interaction_utilities, + tracing.extend_trace_label(trace_label, "interaction_utilities"), + transpose=False, + ) # reshape utilities (one utility column and one row per row in model_design) # to a dataframe with one row per chooser and one column per alternative @@ -163,8 +190,10 @@ def _interaction_sample_simulate( # so we need to pad with dummy utilities so low that they are never chosen # number of samples per chooser - sample_counts = interaction_utilities.groupby(interaction_utilities.index).size().values - chunk.log_df(trace_label, 'sample_counts', sample_counts) + sample_counts = ( + interaction_utilities.groupby(interaction_utilities.index).size().values + ) + chunk.log_df(trace_label, "sample_counts", sample_counts) # max number of alternatvies for any chooser max_sample_count = sample_counts.max() @@ -179,115 +208,149 @@ def _interaction_sample_simulate( inserts = np.repeat(last_row_offsets, max_sample_count - sample_counts) del sample_counts - chunk.log_df(trace_label, 'sample_counts', None) + chunk.log_df(trace_label, "sample_counts", None) # insert the zero-prob utilities to pad each alternative set to same size padded_utilities = np.insert(interaction_utilities.utility.values, inserts, -999) - chunk.log_df(trace_label, 'padded_utilities', padded_utilities) + chunk.log_df(trace_label, "padded_utilities", padded_utilities) del inserts del interaction_utilities - chunk.log_df(trace_label, 'interaction_utilities', None) + chunk.log_df(trace_label, "interaction_utilities", None) # reshape to array with one row per chooser, one column per alternative padded_utilities = padded_utilities.reshape(-1, max_sample_count) # convert to a dataframe with one row per chooser and one column per alternative - utilities_df = pd.DataFrame( - padded_utilities, - index=choosers.index) - chunk.log_df(trace_label, 'utilities_df', utilities_df) + utilities_df = pd.DataFrame(padded_utilities, index=choosers.index) + chunk.log_df(trace_label, "utilities_df", utilities_df) del padded_utilities - chunk.log_df(trace_label, 'padded_utilities', None) + chunk.log_df(trace_label, "padded_utilities", None) if have_trace_targets: - tracing.trace_df(utilities_df, tracing.extend_trace_label(trace_label, 'utilities'), - column_labels=['alternative', 'utility']) + tracing.trace_df( + utilities_df, + tracing.extend_trace_label(trace_label, "utilities"), + column_labels=["alternative", "utility"], + ) # convert to probabilities (utilities exponentiated and normalized to probs) # probs is same shape as utilities, one row per chooser and one column for alternative - probs = logit.utils_to_probs(utilities_df, allow_zero_probs=allow_zero_probs, - trace_label=trace_label, trace_choosers=choosers) - chunk.log_df(trace_label, 'probs', probs) + probs = logit.utils_to_probs( + utilities_df, + allow_zero_probs=allow_zero_probs, + trace_label=trace_label, + trace_choosers=choosers, + ) + chunk.log_df(trace_label, "probs", probs) if want_logsums: - logsums = logit.utils_to_logsums(utilities_df, allow_zero_probs=allow_zero_probs) - chunk.log_df(trace_label, 'logsums', logsums) + logsums = logit.utils_to_logsums( + utilities_df, allow_zero_probs=allow_zero_probs + ) + chunk.log_df(trace_label, "logsums", logsums) del utilities_df - chunk.log_df(trace_label, 'utilities_df', None) + chunk.log_df(trace_label, "utilities_df", None) if have_trace_targets: - tracing.trace_df(probs, tracing.extend_trace_label(trace_label, 'probs'), - column_labels=['alternative', 'probability']) + tracing.trace_df( + probs, + tracing.extend_trace_label(trace_label, "probs"), + column_labels=["alternative", "probability"], + ) if allow_zero_probs: - zero_probs = (probs.sum(axis=1) == 0) + zero_probs = probs.sum(axis=1) == 0 if zero_probs.any(): # FIXME this is kind of gnarly, but we force choice of first alt probs.loc[zero_probs, 0] = 1.0 - # make choices - # positions is series with the chosen alternative represented as a column index in probs - # which is an integer between zero and num alternatives in the alternative sample - positions, rands = \ - logit.make_choices(probs, trace_label=trace_label, trace_choosers=choosers) - - chunk.log_df(trace_label, 'positions', positions) - chunk.log_df(trace_label, 'rands', rands) - - del probs - chunk.log_df(trace_label, 'probs', None) - - # shouldn't have chosen any of the dummy pad utilities - assert positions.max() < max_sample_count - - # need to get from an integer offset into the alternative sample to the alternative index - # that is, we want the index value of the row that is offset by rows into the - # tranche of this choosers alternatives created by cross join of alternatives and choosers - - # resulting pandas Int64Index has one element per chooser row and is in same order as choosers - choices = alternatives[choice_column].take(positions + first_row_offsets) + if skip_choice: + return choosers.join(logsums.to_frame("logsums")) - # create a series with index from choosers and the index of the chosen alternative - choices = pd.Series(choices, index=choosers.index) - - chunk.log_df(trace_label, 'choices', choices) - - if allow_zero_probs and zero_probs.any(): - # FIXME this is kind of gnarly, patch choice for zero_probs - choices.loc[zero_probs] = zero_prob_choice_val + else: + # make choices + # positions is series with the chosen alternative represented as a column index in probs + # which is an integer between zero and num alternatives in the alternative sample + positions, rands = logit.make_choices( + probs, trace_label=trace_label, trace_choosers=choosers + ) + + chunk.log_df(trace_label, "positions", positions) + chunk.log_df(trace_label, "rands", rands) + + del probs + chunk.log_df(trace_label, "probs", None) + + # shouldn't have chosen any of the dummy pad utilities + assert positions.max() < max_sample_count + + # need to get from an integer offset into the alternative sample to the alternative index + # that is, we want the index value of the row that is offset by rows into the + # tranche of this choosers alternatives created by cross join of alternatives and choosers + + # resulting pandas Int64Index has one element per chooser row and is in same order as choosers + choices = alternatives[choice_column].take(positions + first_row_offsets) + + # create a series with index from choosers and the index of the chosen alternative + choices = pd.Series(choices, index=choosers.index) + + chunk.log_df(trace_label, "choices", choices) + + if allow_zero_probs and zero_probs.any(): + # FIXME this is kind of gnarly, patch choice for zero_probs + choices.loc[zero_probs] = zero_prob_choice_val + + if have_trace_targets: + tracing.trace_df( + choices, + tracing.extend_trace_label(trace_label, "choices"), + columns=[None, trace_choice_name], + ) + tracing.trace_df( + rands, + tracing.extend_trace_label(trace_label, "rands"), + columns=[None, "rand"], + ) + if want_logsums: + tracing.trace_df( + logsums, + tracing.extend_trace_label(trace_label, "logsum"), + columns=[None, "logsum"], + ) - if have_trace_targets: - tracing.trace_df(choices, tracing.extend_trace_label(trace_label, 'choices'), - columns=[None, trace_choice_name]) - tracing.trace_df(rands, tracing.extend_trace_label(trace_label, 'rands'), - columns=[None, 'rand']) if want_logsums: - tracing.trace_df(logsums, tracing.extend_trace_label(trace_label, 'logsum'), - columns=[None, 'logsum']) + choices = choices.to_frame("choice") + choices["logsum"] = logsums - if want_logsums: - choices = choices.to_frame('choice') - choices['logsum'] = logsums - - chunk.log_df(trace_label, 'choices', choices) + chunk.log_df(trace_label, "choices", choices) - # handing this off to our caller - chunk.log_df(trace_label, 'choices', None) + # handing this off to our caller + chunk.log_df(trace_label, "choices", None) - return choices + return choices def interaction_sample_simulate( - choosers, alternatives, spec, choice_column, - allow_zero_probs=False, zero_prob_choice_val=None, - log_alt_losers=False, - want_logsums=False, - skims=None, locals_d=None, chunk_size=0, chunk_tag=None, - trace_label=None, trace_choice_name=None, - estimator=None): + choosers, + alternatives, + spec, + choice_column, + allow_zero_probs=False, + zero_prob_choice_val=None, + log_alt_losers=False, + want_logsums=False, + skims=None, + locals_d=None, + chunk_size=0, + chunk_tag=None, + trace_label=None, + trace_choice_name=None, + estimator=None, + skip_choice=False, +): """ Run a simulation in the situation in which alternatives must @@ -326,6 +389,9 @@ def interaction_sample_simulate( when household tracing enabled. No tracing occurs if label is empty or None. trace_choice_name: str This is the column label to be used in trace file csv dump of choices + skip_choice: bool + This skips the logit choice step and simply returns the alternatives table with logsums + (used in disaggregate accessibility) Returns ------- @@ -344,24 +410,39 @@ def interaction_sample_simulate( """ - trace_label = tracing.extend_trace_label(trace_label, 'interaction_sample_simulate') + trace_label = tracing.extend_trace_label(trace_label, "interaction_sample_simulate") chunk_tag = chunk_tag or trace_label result_list = [] - for i, chooser_chunk, alternative_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers_and_alts(choosers, alternatives, chunk_size, trace_label, chunk_tag): + for ( + i, + chooser_chunk, + alternative_chunk, + chunk_trace_label, + ) in chunk.adaptive_chunked_choosers_and_alts( + choosers, alternatives, chunk_size, trace_label, chunk_tag + ): choices = _interaction_sample_simulate( - chooser_chunk, alternative_chunk, spec, choice_column, - allow_zero_probs, zero_prob_choice_val, log_alt_losers, + chooser_chunk, + alternative_chunk, + spec, + choice_column, + allow_zero_probs, + zero_prob_choice_val, + log_alt_losers, want_logsums, - skims, locals_d, - chunk_trace_label, trace_choice_name, - estimator) + skims, + locals_d, + chunk_trace_label, + trace_choice_name, + estimator, + skip_choice, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: diff --git a/activitysim/core/interaction_simulate.py b/activitysim/core/interaction_simulate.py index 56ae540312..836fc4a348 100644 --- a/activitysim/core/interaction_simulate.py +++ b/activitysim/core/interaction_simulate.py @@ -1,29 +1,24 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import zip - import logging +from builtins import zip +from collections import OrderedDict import numpy as np import pandas as pd -from collections import OrderedDict - -from . import logit -from . import tracing -from . import config -from . import simulate -from . import chunk -from . import simulate +from . import chunk, config, logit, simulate, tracing logger = logging.getLogger(__name__) DUMP = False -ALT_CHOOSER_ID = '_chooser_id' +ALT_CHOOSER_ID = "_chooser_id" -def eval_interaction_utilities(spec, df, locals_d, trace_label, trace_rows, estimator=None, log_alt_losers=False): +def eval_interaction_utilities( + spec, df, locals_d, trace_label, trace_rows, estimator=None, log_alt_losers=False +): """ Compute the utilities for a single-alternative spec evaluated in the context of df @@ -67,13 +62,13 @@ def eval_interaction_utilities(spec, df, locals_d, trace_label, trace_rows, esti with chunk.chunk_log(trace_label): - assert(len(spec.columns) == 1) + assert len(spec.columns) == 1 # avoid altering caller's passed-in locals_d parameter (they may be looping) locals_d = locals_d.copy() if locals_d is not None else {} # add df for startswith('@') eval expressions - locals_d['df'] = df + locals_d["df"] = df def to_series(x): if np.isscalar(x): @@ -90,14 +85,14 @@ def to_series(x): else: trace_eval_results = None - check_for_variability = config.setting('check_for_variability') + check_for_variability = config.setting("check_for_variability") # need to be able to identify which variables causes an error, which keeps # this from being expressed more parsimoniously - utilities = pd.DataFrame({'utility': 0.0}, index=df.index) + utilities = pd.DataFrame({"utility": 0.0}, index=df.index) - chunk.log_df(trace_label, 'eval.utilities', utilities) + chunk.log_df(trace_label, "eval.utilities", utilities) no_variability = has_missing_vals = 0 @@ -115,8 +110,11 @@ def to_series(x): # bug - location choice has df index_name zone_id but should be person_id???? if df.index.name is None: chooser_id = estimator.get_chooser_id() - assert chooser_id in df.columns, \ - "Expected to find choose_id column '%s' in interaction dataset" % (chooser_id, ) + assert ( + chooser_id in df.columns + ), "Expected to find choose_id column '%s' in interaction dataset" % ( + chooser_id, + ) assert df.index.name is None expression_values_df[chooser_id] = df[chooser_id] @@ -131,10 +129,10 @@ def to_series(x): try: # - allow temps of form _od_DIST@od_skim['DIST'] - if expr.startswith('_'): + if expr.startswith("_"): - target = expr[:expr.index('@')] - rhs = expr[expr.index('@') + 1:] + target = expr[: expr.index("@")] + rhs = expr[expr.index("@") + 1 :] v = to_series(eval(rhs, globals(), locals_d)) # update locals to allows us to ref previously assigned targets @@ -148,13 +146,16 @@ def to_series(x): # they have a non-zero dummy coefficient to avoid being removed from spec as NOPs continue - if expr.startswith('@'): + if expr.startswith("@"): v = to_series(eval(expr[1:], globals(), locals_d)) else: v = df.eval(expr) if check_for_variability and v.std() == 0: - logger.info("%s: no variability (%s) in: %s" % (trace_label, v.iloc[0], expr)) + logger.info( + "%s: no variability (%s) in: %s" + % (trace_label, v.iloc[0], expr) + ) no_variability += 1 # FIXME - how likely is this to happen? Not sure it is really a problem? @@ -164,10 +165,13 @@ def to_series(x): if estimator: # in case we modified expression_values_df index - expression_values_df.insert(loc=len(expression_values_df.columns), column=label, - value=v.values if isinstance(v, pd.Series) else v) + expression_values_df.insert( + loc=len(expression_values_df.columns), + column=label, + value=v.values if isinstance(v, pd.Series) else v, + ) - utility = (v * coefficient).astype('float') + utility = (v * coefficient).astype("float") if log_alt_losers: @@ -176,9 +180,13 @@ def to_series(x): if (max_utils_by_chooser < simulate.ALT_LOSER_UTIL).any(): - losers = max_utils_by_chooser[max_utils_by_chooser < simulate.ALT_LOSER_UTIL] - logger.warning(f"{trace_label} - {len(losers)} choosers of {len(max_utils_by_chooser)} " - f"with prohibitive utilities for all alternatives for expression: {expr}") + losers = max_utils_by_chooser[ + max_utils_by_chooser < simulate.ALT_LOSER_UTIL + ] + logger.warning( + f"{trace_label} - {len(losers)} choosers of {len(max_utils_by_chooser)} " + f"with prohibitive utilities for all alternatives for expression: {expr}" + ) # loser_df = df[df[ALT_CHOOSER_ID].isin(losers.index)] # print(f"\nloser_df\n{loser_df}\n") @@ -197,50 +205,68 @@ def to_series(x): assert expr not in trace_eval_results trace_eval_results[expr] = v[trace_rows] - k = 'partial utility (coefficient = %s) for %s' % (coefficient, expr) + k = "partial utility (coefficient = %s) for %s" % ( + coefficient, + expr, + ) trace_eval_results[k] = v[trace_rows] * coefficient del v # chunk.log_df(trace_label, 'v', None) except Exception as err: - logger.exception(f"{trace_label} - {type(err).__name__} ({str(err)}) evaluating: {str(expr)}") + logger.exception( + f"{trace_label} - {type(err).__name__} ({str(err)}) evaluating: {str(expr)}" + ) raise err if estimator: - estimator.log("eval_interaction_utilities write_interaction_expression_values %s" % trace_label) + estimator.log( + "eval_interaction_utilities write_interaction_expression_values %s" + % trace_label + ) estimator.write_interaction_expression_values(expression_values_df) del expression_values_df if no_variability > 0: - logger.warning("%s: %s columns have no variability" % (trace_label, no_variability)) + logger.warning( + "%s: %s columns have no variability" % (trace_label, no_variability) + ) if has_missing_vals > 0: - logger.warning("%s: %s columns have missing values" % (trace_label, has_missing_vals)) + logger.warning( + "%s: %s columns have missing values" % (trace_label, has_missing_vals) + ) if trace_eval_results is not None: - trace_eval_results['total utility'] = utilities.utility[trace_rows] + trace_eval_results["total utility"] = utilities.utility[trace_rows] trace_eval_results = pd.DataFrame.from_dict(trace_eval_results) trace_eval_results.index = df[trace_rows].index # add df columns to trace_results trace_eval_results = pd.concat([df[trace_rows], trace_eval_results], axis=1) - chunk.log_df(trace_label, 'eval.trace_eval_results', trace_eval_results) + chunk.log_df(trace_label, "eval.trace_eval_results", trace_eval_results) - chunk.log_df(trace_label, 'v', None) - chunk.log_df(trace_label, 'eval.utilities', None) # out of out hands... - chunk.log_df(trace_label, 'eval.trace_eval_results', None) + chunk.log_df(trace_label, "v", None) + chunk.log_df(trace_label, "eval.utilities", None) # out of out hands... + chunk.log_df(trace_label, "eval.trace_eval_results", None) return utilities, trace_eval_results def _interaction_simulate( - choosers, alternatives, spec, - skims=None, locals_d=None, sample_size=None, - trace_label=None, trace_choice_name=None, - log_alt_losers=False, - estimator=None): + choosers, + alternatives, + spec, + skims=None, + locals_d=None, + sample_size=None, + trace_label=None, + trace_choice_name=None, + log_alt_losers=False, + estimator=None, +): """ Run a MNL simulation in the situation in which alternatives must be merged with choosers because there are interaction terms or @@ -289,22 +315,28 @@ def _interaction_simulate( choices are simulated in the standard Monte Carlo fashion """ - trace_label = tracing.extend_trace_label(trace_label, 'interaction_simulate') + trace_label = tracing.extend_trace_label(trace_label, "interaction_simulate") have_trace_targets = tracing.has_trace_targets(choosers) if have_trace_targets: - tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, 'choosers')) - tracing.trace_df(alternatives, tracing.extend_trace_label(trace_label, 'alternatives'), - slicer='NONE', transpose=False) + tracing.trace_df(choosers, tracing.extend_trace_label(trace_label, "choosers")) + tracing.trace_df( + alternatives, + tracing.extend_trace_label(trace_label, "alternatives"), + slicer="NONE", + transpose=False, + ) if len(spec.columns) > 1: - raise RuntimeError('spec must have only one column') + raise RuntimeError("spec must have only one column") sample_size = sample_size or len(alternatives) if sample_size > len(alternatives): - logger.debug("clipping sample size %s to len(alternatives) %s" % - (sample_size, len(alternatives))) + logger.debug( + "clipping sample size %s to len(alternatives) %s" + % (sample_size, len(alternatives)) + ) sample_size = min(sample_size, len(alternatives)) # if using skims, copy index into the dataframe, so it will be @@ -319,9 +351,14 @@ def _interaction_simulate( alt_index_id = estimator.get_alt_id() if estimator else None chooser_index_id = ALT_CHOOSER_ID if log_alt_losers else None - interaction_df = logit.interaction_dataset(choosers, alternatives, sample_size, - alt_index_id=alt_index_id, chooser_index_id=chooser_index_id) - chunk.log_df(trace_label, 'interaction_df', interaction_df) + interaction_df = logit.interaction_dataset( + choosers, + alternatives, + sample_size, + alt_index_id=alt_index_id, + chooser_index_id=chooser_index_id, + ) + chunk.log_df(trace_label, "interaction_df", interaction_df) if skims is not None: simulate.set_skim_wrapper_targets(interaction_df, skims) @@ -332,66 +369,91 @@ def _interaction_simulate( # utilities has utility value for element in the cross product of choosers and alternatives # interaction_utilities is a df with one utility column and one row per row in model_design if have_trace_targets: - trace_rows, trace_ids \ - = tracing.interaction_trace_rows(interaction_df, choosers, sample_size) - - tracing.trace_df(interaction_df[trace_rows], - tracing.extend_trace_label(trace_label, 'interaction_df'), - slicer='NONE', transpose=False) + trace_rows, trace_ids = tracing.interaction_trace_rows( + interaction_df, choosers, sample_size + ) + + tracing.trace_df( + interaction_df[trace_rows], + tracing.extend_trace_label(trace_label, "interaction_df"), + slicer="NONE", + transpose=False, + ) else: trace_rows = trace_ids = None - interaction_utilities, trace_eval_results \ - = eval_interaction_utilities(spec, interaction_df, locals_d, trace_label, trace_rows, - estimator=estimator, - log_alt_losers=log_alt_losers) - chunk.log_df(trace_label, 'interaction_utilities', interaction_utilities) + interaction_utilities, trace_eval_results = eval_interaction_utilities( + spec, + interaction_df, + locals_d, + trace_label, + trace_rows, + estimator=estimator, + log_alt_losers=log_alt_losers, + ) + chunk.log_df(trace_label, "interaction_utilities", interaction_utilities) # print(f"interaction_df {interaction_df.shape}") # print(f"interaction_utilities {interaction_utilities.shape}") del interaction_df - chunk.log_df(trace_label, 'interaction_df', None) + chunk.log_df(trace_label, "interaction_df", None) if have_trace_targets: - tracing.trace_interaction_eval_results(trace_eval_results, trace_ids, - tracing.extend_trace_label(trace_label, 'eval')) - - tracing.trace_df(interaction_utilities[trace_rows], - tracing.extend_trace_label(trace_label, 'interaction_utils'), - slicer='NONE', transpose=False) + tracing.trace_interaction_eval_results( + trace_eval_results, + trace_ids, + tracing.extend_trace_label(trace_label, "eval"), + ) + + tracing.trace_df( + interaction_utilities[trace_rows], + tracing.extend_trace_label(trace_label, "interaction_utils"), + slicer="NONE", + transpose=False, + ) # reshape utilities (one utility column and one row per row in model_design) # to a dataframe with one row per chooser and one column per alternative utilities = pd.DataFrame( interaction_utilities.values.reshape(len(choosers), sample_size), - index=choosers.index) - chunk.log_df(trace_label, 'utilities', utilities) + index=choosers.index, + ) + chunk.log_df(trace_label, "utilities", utilities) if have_trace_targets: - tracing.trace_df(utilities, tracing.extend_trace_label(trace_label, 'utils'), - column_labels=['alternative', 'utility']) + tracing.trace_df( + utilities, + tracing.extend_trace_label(trace_label, "utils"), + column_labels=["alternative", "utility"], + ) - tracing.dump_df(DUMP, utilities, trace_label, 'utilities') + tracing.dump_df(DUMP, utilities, trace_label, "utilities") # convert to probabilities (utilities exponentiated and normalized to probs) # probs is same shape as utilities, one row per chooser and one column for alternative - probs = logit.utils_to_probs(utilities, trace_label=trace_label, trace_choosers=choosers) - chunk.log_df(trace_label, 'probs', probs) + probs = logit.utils_to_probs( + utilities, trace_label=trace_label, trace_choosers=choosers + ) + chunk.log_df(trace_label, "probs", probs) del utilities - chunk.log_df(trace_label, 'utilities', None) + chunk.log_df(trace_label, "utilities", None) if have_trace_targets: - tracing.trace_df(probs, tracing.extend_trace_label(trace_label, 'probs'), - column_labels=['alternative', 'probability']) + tracing.trace_df( + probs, + tracing.extend_trace_label(trace_label, "probs"), + column_labels=["alternative", "probability"], + ) # make choices # positions is series with the chosen alternative represented as a column index in probs # which is an integer between zero and num alternatives in the alternative sample - positions, rands = \ - logit.make_choices(probs, trace_label=trace_label, trace_choosers=choosers) - chunk.log_df(trace_label, 'positions', positions) - chunk.log_df(trace_label, 'rands', rands) + positions, rands = logit.make_choices( + probs, trace_label=trace_label, trace_choosers=choosers + ) + chunk.log_df(trace_label, "positions", positions) + chunk.log_df(trace_label, "rands", rands) # need to get from an integer offset into the alternative sample to the alternative index # that is, we want the index value of the row that is offset by rows into the @@ -403,23 +465,36 @@ def _interaction_simulate( # create a series with index from choosers and the index of the chosen alternative choices = pd.Series(choices, index=choosers.index) - chunk.log_df(trace_label, 'choices', choices) + chunk.log_df(trace_label, "choices", choices) if have_trace_targets: - tracing.trace_df(choices, tracing.extend_trace_label(trace_label, 'choices'), - columns=[None, trace_choice_name]) - tracing.trace_df(rands, tracing.extend_trace_label(trace_label, 'rands'), - columns=[None, 'rand']) + tracing.trace_df( + choices, + tracing.extend_trace_label(trace_label, "choices"), + columns=[None, trace_choice_name], + ) + tracing.trace_df( + rands, + tracing.extend_trace_label(trace_label, "rands"), + columns=[None, "rand"], + ) return choices def interaction_simulate( - choosers, alternatives, spec, - log_alt_losers=False, - skims=None, locals_d=None, sample_size=None, chunk_size=0, - trace_label=None, trace_choice_name=None, - estimator=None): + choosers, + alternatives, + spec, + log_alt_losers=False, + skims=None, + locals_d=None, + sample_size=None, + chunk_size=0, + trace_label=None, + trace_choice_name=None, + estimator=None, +): """ Run a simulation in the situation in which alternatives must @@ -470,26 +545,31 @@ def interaction_simulate( choices are simulated in the standard Monte Carlo fashion """ - trace_label = tracing.extend_trace_label(trace_label, 'interaction_simulate') + trace_label = tracing.extend_trace_label(trace_label, "interaction_simulate") assert len(choosers) > 0 result_list = [] - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(choosers, chunk_size, trace_label): - - choices = _interaction_simulate(chooser_chunk, alternatives, spec, - skims=skims, - locals_d=locals_d, - sample_size=sample_size, - trace_label=chunk_trace_label, - trace_choice_name=trace_choice_name, - log_alt_losers=log_alt_losers, - estimator=estimator) + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + choosers, chunk_size, trace_label + ): + + choices = _interaction_simulate( + chooser_chunk, + alternatives, + spec, + skims=skims, + locals_d=locals_d, + sample_size=sample_size, + trace_label=chunk_trace_label, + trace_choice_name=trace_choice_name, + log_alt_losers=log_alt_losers, + estimator=estimator, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) # FIXME: this will require 2X RAM # if necessary, could append to hdf5 store on disk: diff --git a/activitysim/core/logit.py b/activitysim/core/logit.py index b3dace2e0b..784e073f86 100644 --- a/activitysim/core/logit.py +++ b/activitysim/core/logit.py @@ -1,15 +1,12 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import object - import logging +from builtins import object import numpy as np import pandas as pd -from . import tracing -from . import pipeline -from . import config +from . import config, pipeline, tracing logger = logging.getLogger(__name__) @@ -20,7 +17,9 @@ PROB_MAX = 1.0 -def report_bad_choices(bad_row_map, df, trace_label, msg, trace_choosers=None, raise_error=True): +def report_bad_choices( + bad_row_map, df, trace_label, msg, trace_choosers=None, raise_error=True +): """ Parameters @@ -42,7 +41,12 @@ def report_bad_choices(bad_row_map, df, trace_label, msg, trace_choosers=None, r MAX_DUMP = 1000 MAX_PRINT = 10 - msg_with_count = "%s %s for %s of %s rows" % (trace_label, msg, bad_row_map.sum(), len(df)) + msg_with_count = "%s %s for %s of %s rows" % ( + trace_label, + msg, + bad_row_map.sum(), + len(df), + ) logger.warning(msg_with_count) df = df[bad_row_map] @@ -54,15 +58,18 @@ def report_bad_choices(bad_row_map, df, trace_label, msg, trace_choosers=None, r if trace_label: logger.info("dumping %s" % trace_label) - tracing.write_csv(df[:MAX_DUMP], - file_name=trace_label, - transpose=False) + tracing.write_csv(df[:MAX_DUMP], file_name=trace_label, transpose=False) # log the indexes of the first MAX_DUMP offending rows for idx in df.index[:MAX_PRINT].values: - row_msg = "%s : %s in: %s = %s (hh_id = %s)" % \ - (trace_label, msg, df.index.name, idx, df[trace_col].loc[idx]) + row_msg = "%s : %s in: %s = %s (hh_id = %s)" % ( + trace_label, + msg, + df.index.name, + idx, + df[trace_col].loc[idx], + ) logger.warning(row_msg) @@ -99,7 +106,7 @@ def utils_to_logsums(utils, exponentiated=False, allow_zero_probs=False): utils_arr = np.where(utils_arr == EXP_UTIL_MIN, 0.0, utils_arr) - with np.errstate(divide='ignore' if allow_zero_probs else 'warn'): + with np.errstate(divide="ignore" if allow_zero_probs else "warn"): logsums = np.log(utils_arr.sum(axis=1)) logsums = pd.Series(logsums, index=utils.index) @@ -107,8 +114,13 @@ def utils_to_logsums(utils, exponentiated=False, allow_zero_probs=False): return logsums -def utils_to_probs(utils, trace_label=None, exponentiated=False, allow_zero_probs=False, - trace_choosers=None): +def utils_to_probs( + utils, + trace_label=None, + exponentiated=False, + allow_zero_probs=False, + trace_choosers=None, +): """ Convert a table of utilities to probabilities. @@ -139,7 +151,7 @@ def utils_to_probs(utils, trace_label=None, exponentiated=False, allow_zero_prob Will have the same index and columns as `utils`. """ - trace_label = tracing.extend_trace_label(trace_label, 'utils_to_probs') + trace_label = tracing.extend_trace_label(trace_label, "utils_to_probs") # fixme - conversion to float not needed in either case? # utils_arr = utils.values.astype('float') @@ -154,24 +166,32 @@ def utils_to_probs(utils, trace_label=None, exponentiated=False, allow_zero_prob arr_sum = utils_arr.sum(axis=1) - zero_probs = (arr_sum == 0.0) + zero_probs = arr_sum == 0.0 if zero_probs.any() and not allow_zero_probs: - report_bad_choices(zero_probs, utils, - trace_label=tracing.extend_trace_label(trace_label, 'zero_prob_utils'), - msg="all probabilities are zero", - trace_choosers=trace_choosers) + report_bad_choices( + zero_probs, + utils, + trace_label=tracing.extend_trace_label(trace_label, "zero_prob_utils"), + msg="all probabilities are zero", + trace_choosers=trace_choosers, + ) inf_utils = np.isinf(arr_sum) if inf_utils.any(): - report_bad_choices(inf_utils, utils, - trace_label=tracing.extend_trace_label(trace_label, 'inf_exp_utils'), - msg="infinite exponentiated utilities", - trace_choosers=trace_choosers) + report_bad_choices( + inf_utils, + utils, + trace_label=tracing.extend_trace_label(trace_label, "inf_exp_utils"), + msg="infinite exponentiated utilities", + trace_choosers=trace_choosers, + ) # if allow_zero_probs, this may cause a RuntimeWarning: invalid value encountered in divide - with np.errstate(invalid='ignore' if allow_zero_probs else 'warn', - divide='ignore' if allow_zero_probs else 'warn'): + with np.errstate( + invalid="ignore" if allow_zero_probs else "warn", + divide="ignore" if allow_zero_probs else "warn", + ): np.divide(utils_arr, arr_sum.reshape(len(utils_arr), 1), out=utils_arr) # if allow_zero_probs, this will cause EXP_UTIL_MIN util rows to have all zero probabilities @@ -210,21 +230,24 @@ def make_choices(probs, trace_label=None, trace_choosers=None, allow_bad_probs=F The random numbers used to make the choices (for debugging, tracing) """ - trace_label = tracing.extend_trace_label(trace_label, 'make_choices') + trace_label = tracing.extend_trace_label(trace_label, "make_choices") # probs should sum to 1 across each row BAD_PROB_THRESHOLD = 0.001 - bad_probs = \ - probs.sum(axis=1).sub(np.ones(len(probs.index))).abs() \ - > BAD_PROB_THRESHOLD * np.ones(len(probs.index)) + bad_probs = probs.sum(axis=1).sub( + np.ones(len(probs.index)) + ).abs() > BAD_PROB_THRESHOLD * np.ones(len(probs.index)) if bad_probs.any() and not allow_bad_probs: - report_bad_choices(bad_probs, probs, - trace_label=tracing.extend_trace_label(trace_label, 'bad_probs'), - msg="probabilities do not add up to 1", - trace_choosers=trace_choosers) + report_bad_choices( + bad_probs, + probs, + trace_label=tracing.extend_trace_label(trace_label, "bad_probs"), + msg="probabilities do not add up to 1", + trace_choosers=trace_choosers, + ) rands = pipeline.get_rn_generator().random_for_df(probs) @@ -241,7 +264,9 @@ def make_choices(probs, trace_label=None, trace_choosers=None, allow_bad_probs=F return choices, rands -def interaction_dataset(choosers, alternatives, sample_size=None, alt_index_id=None, chooser_index_id=None): +def interaction_dataset( + choosers, alternatives, sample_size=None, alt_index_id=None, chooser_index_id=None +): """ Combine choosers and alternatives into one table for the purposes of creating interaction variables and/or sampling alternatives. @@ -265,12 +290,12 @@ def interaction_dataset(choosers, alternatives, sample_size=None, alt_index_id=N """ if not choosers.index.is_unique: raise RuntimeError( - "ERROR: choosers index is not unique, " - "sample will not work correctly") + "ERROR: choosers index is not unique, " "sample will not work correctly" + ) if not alternatives.index.is_unique: raise RuntimeError( - "ERROR: alternatives index is not unique, " - "sample will not work correctly") + "ERROR: alternatives index is not unique, " "sample will not work correctly" + ) numchoosers = len(choosers) numalts = len(alternatives) @@ -280,8 +305,9 @@ def interaction_dataset(choosers, alternatives, sample_size=None, alt_index_id=N alts_idx = np.arange(numalts) if sample_size < numalts: - sample = pipeline.get_rn_generator().choice_for_df(choosers, - alts_idx, sample_size, replace=False) + sample = pipeline.get_rn_generator().choice_for_df( + choosers, alts_idx, sample_size, replace=False + ) else: sample = np.tile(alts_idx, numchoosers) @@ -292,13 +318,15 @@ def interaction_dataset(choosers, alternatives, sample_size=None, alt_index_id=N # permits identification of alternative row in the joined dataset alts_sample[alt_index_id] = alts_sample.index - logger.debug("interaction_dataset pre-merge choosers %s alternatives %s alts_sample %s" % - (choosers.shape, alternatives.shape, alts_sample.shape)) + logger.debug( + "interaction_dataset pre-merge choosers %s alternatives %s alts_sample %s" + % (choosers.shape, alternatives.shape, alts_sample.shape) + ) # no need to do an expensive merge of alts and choosers # we can simply assign repeated chooser values for c in choosers.columns: - c_chooser = (c + '_chooser') if c in alts_sample.columns else c + c_chooser = (c + "_chooser") if c in alts_sample.columns else c alts_sample[c_chooser] = np.repeat(choosers[c].values, sample_size) # caller may want this to detect utils that make all alts for a chooser unavailable (e.g. -999) @@ -306,7 +334,7 @@ def interaction_dataset(choosers, alternatives, sample_size=None, alt_index_id=N assert chooser_index_id not in alts_sample alts_sample[chooser_index_id] = np.repeat(choosers.index.values, sample_size) - logger.debug("interaction_dataset merged alts_sample %s" % (alts_sample.shape, )) + logger.debug("interaction_dataset merged alts_sample %s" % (alts_sample.shape,)) return alts_sample @@ -332,20 +360,28 @@ def __init__(self, name=None, level=0): self.coefficient = 0 def print(self): - print("Nest name: %s level: %s coefficient: %s product_of_coefficients: %s ancestors: %s" % - (self.name, self.level, self.coefficient, self.product_of_coefficients, self.ancestors)) + print( + "Nest name: %s level: %s coefficient: %s product_of_coefficients: %s ancestors: %s" + % ( + self.name, + self.level, + self.coefficient, + self.product_of_coefficients, + self.ancestors, + ) + ) @property def is_leaf(self): - return (self.alternatives is None) + return self.alternatives is None @property def type(self): - return 'leaf' if self.is_leaf else 'node' + return "leaf" if self.is_leaf else "node" @classmethod def nest_types(cls): - return ['leaf', 'node'] + return ["leaf", "node"] def validate_nest_spec(nest_spec, trace_label): @@ -354,14 +390,20 @@ def validate_nest_spec(nest_spec, trace_label): duplicates = [] for nest in each_nest(nest_spec): if nest.name in keys: - logger.error("validate_nest_spec:duplicate nest key '%s' in nest spec - %s" % (nest.name, trace_label)) + logger.error( + "validate_nest_spec:duplicate nest key '%s' in nest spec - %s" + % (nest.name, trace_label) + ) duplicates.append(nest.name) keys.append(nest.name) # nest.print() if duplicates: - raise RuntimeError("validate_nest_spec:duplicate nest key/s '%s' in nest spec - %s" % (duplicates, trace_label)) + raise RuntimeError( + "validate_nest_spec:duplicate nest key/s '%s' in nest spec - %s" + % (duplicates, trace_label) + ) def _each_nest(spec, parent_nest, post_order): @@ -381,7 +423,7 @@ def _each_nest(spec, parent_nest, post_order): (post-order means we yield the alternatives sub-tree before current node.) Yields - ------- + ------ spec_node : dict Nest tree spec dict for this node subtree nest : Nest @@ -392,11 +434,17 @@ def _each_nest(spec, parent_nest, post_order): level = parent_nest.level + 1 if isinstance(spec, dict): - name = spec['name'] - coefficient = spec['coefficient'] - assert isinstance(coefficient, (int, float)), \ - "Coefficient '%s' (%s) not a number" % (name, coefficient) # forgot to eval coefficient? - alternatives = [a['name'] if isinstance(a, dict) else a for a in spec['alternatives']] + name = spec["name"] + coefficient = spec["coefficient"] + assert isinstance( + coefficient, (int, float) + ), "Coefficient '%s' (%s) not a number" % ( + name, + coefficient, + ) # forgot to eval coefficient? + alternatives = [ + a["name"] if isinstance(a, dict) else a for a in spec["alternatives"] + ] nest = Nest(name=name) nest.level = parent_nest.level + 1 @@ -409,7 +457,7 @@ def _each_nest(spec, parent_nest, post_order): yield spec, nest # recursively iterate the list of alternatives - for alternative in spec['alternatives']: + for alternative in spec["alternatives"]: for sub_node, sub_nest in _each_nest(alternative, nest, post_order): yield sub_node, sub_nest @@ -445,7 +493,7 @@ def each_nest(nest_spec, type=None, post_order=False): (post-order means we yield the alternatives sub-tree before current node.) Yields - ------- + ------ nest : Nest Nest object with info about the current node (nest or leaf) """ @@ -464,7 +512,11 @@ def count_nests(nest_spec): def count_each_nest(spec, count): if isinstance(spec, dict): - return count + 1 + sum([count_each_nest(alt, count) for alt in spec['alternatives']]) + return ( + count + + 1 + + sum([count_each_nest(alt, count) for alt in spec["alternatives"]]) + ) else: assert isinstance(spec, str) return 1 diff --git a/activitysim/core/los.py b/activitysim/core/los.py index a76dbe97d5..b274941f1d 100644 --- a/activitysim/core/los.py +++ b/activitysim/core/los.py @@ -1,42 +1,42 @@ # ActivitySim # See full license in LICENSE.txt. -import os import logging +import os import warnings import numpy as np import pandas as pd -from activitysim.core import skim_dictionary -from activitysim.core import inject -from activitysim.core import util -from activitysim.core import config -from activitysim.core import pathbuilder -from activitysim.core import mem -from activitysim.core import tracing - +from activitysim.core import ( + config, + inject, + mem, + pathbuilder, + skim_dictionary, + tracing, + util, +) +from activitysim.core.skim_dict_factory import MemMapSkimFactory, NumpyArraySkimFactory from activitysim.core.skim_dictionary import NOT_IN_SKIM_ZONE_ID -from activitysim.core.skim_dict_factory import NumpyArraySkimFactory -from activitysim.core.skim_dict_factory import MemMapSkimFactory skim_factories = { - 'NumpyArraySkimFactory': NumpyArraySkimFactory, - 'MemMapSkimFactory': MemMapSkimFactory, + "NumpyArraySkimFactory": NumpyArraySkimFactory, + "MemMapSkimFactory": MemMapSkimFactory, } logger = logging.getLogger(__name__) -LOS_SETTINGS_FILE_NAME = 'network_los.yaml' +LOS_SETTINGS_FILE_NAME = "network_los.yaml" ONE_ZONE = 1 TWO_ZONE = 2 THREE_ZONE = 3 DEFAULT_SETTINGS = { - 'rebuild_tvpb_cache': True, - 'zone_system': ONE_ZONE, - 'skim_dict_factory': 'NumpyArraySkimFactory' + "rebuild_tvpb_cache": True, + "zone_system": ONE_ZONE, + "skim_dict_factory": "NumpyArraySkimFactory", } TRACE_TRIMMED_MAZ_TO_TAP_TABLES = True @@ -80,7 +80,7 @@ def __init__(self, los_settings_file_name=LOS_SETTINGS_FILE_NAME): # Note: we require all skims to be of same dtype so they can share buffer - is that ok? # fixme is it ok to require skims be all the same type? if so, is this the right choice? - self.skim_dtype_name = 'float32' + self.skim_dtype_name = "float32" self.zone_system = None self.skim_time_periods = None self.skims_info = {} @@ -101,11 +101,16 @@ def __init__(self, los_settings_file_name=LOS_SETTINGS_FILE_NAME): self.load_settings() # dependency injection of skim factory (of type specified in skim_dict_factory setting) - skim_dict_factory_name = self.setting('skim_dict_factory') - assert skim_dict_factory_name in skim_factories, \ - f"Unrecognized skim_dict_factory setting '{skim_dict_factory_name}" - self.skim_dict_factory = skim_factories[skim_dict_factory_name](network_los=self) - logger.info(f"Network_LOS using skim_dict_factory: {type(self.skim_dict_factory).__name__}") + skim_dict_factory_name = self.setting("skim_dict_factory") + assert ( + skim_dict_factory_name in skim_factories + ), f"Unrecognized skim_dict_factory setting '{skim_dict_factory_name}" + self.skim_dict_factory = skim_factories[skim_dict_factory_name]( + network_los=self + ) + logger.info( + f"Network_LOS using skim_dict_factory: {type(self.skim_dict_factory).__name__}" + ) # load SkimInfo for all skims for this zone_system (TAZ for ONE_ZONE and TWO_ZONE, TAZ and MAZ for THREE_ZONE) self.load_skim_info() @@ -113,23 +118,33 @@ def __init__(self, los_settings_file_name=LOS_SETTINGS_FILE_NAME): @property def rebuild_tvpb_cache(self): # setting as property here so others don't need to know default - assert self.zone_system == THREE_ZONE, f"Should not even be asking about rebuild_tvpb_cache if not THREE_ZONE" - return self.setting('rebuild_tvpb_cache') + assert ( + self.zone_system == THREE_ZONE + ), f"Should not even be asking about rebuild_tvpb_cache if not THREE_ZONE" + return self.setting("rebuild_tvpb_cache") - def setting(self, keys, default=''): + def setting(self, keys, default=""): # if they dont specify a default, check the default defaults - default = DEFAULT_SETTINGS.get(keys, '') if default == '' else default + default = ( + DEFAULT_SETTINGS.get(keys, "") + if default == "" + else default + ) # get setting value for single key or dot-delimited key path (e.g. 'maz_to_maz.tables') - key_list = keys.split('.') + key_list = keys.split(".") s = self.los_settings for key in key_list[:-1]: s = s.get(key) - assert isinstance(s, dict), f"expected key '{key}' not found in '{keys}' in {self.los_settings_file_name}" + assert isinstance( + s, dict + ), f"expected key '{key}' not found in '{keys}' in {self.los_settings_file_name}" key = key_list[-1] # last key - if default == '': - assert key in s, f"Expected setting {keys} not found in in {LOS_SETTINGS_FILE_NAME}" + if default == "": + assert ( + key in s + ), f"Expected setting {keys} not found in in {LOS_SETTINGS_FILE_NAME}" return s.get(key, default) def load_settings(self): @@ -138,60 +153,87 @@ def load_settings(self): """ try: - self.los_settings = config.read_settings_file(self.los_settings_file_name, mandatory=True) + self.los_settings = config.read_settings_file( + self.los_settings_file_name, mandatory=True + ) except config.SettingsFileNotFound as e: - print(f"los_settings_file_name {self.los_settings_file_name} not found - trying global settings") + print( + f"los_settings_file_name {self.los_settings_file_name} not found - trying global settings" + ) print(f"skims_file: {config.setting('skims_file')}") print(f"skim_time_periods: {config.setting('skim_time_periods')}") print(f"source_file_paths: {config.setting('source_file_paths')}") - print(f"inject.get_injectable('configs_dir') {inject.get_injectable('configs_dir')}") + print( + f"inject.get_injectable('configs_dir') {inject.get_injectable('configs_dir')}" + ) # look for legacy 'skims_file' setting in global settings file - if config.setting('skims_file'): + if config.setting("skims_file"): - warnings.warn("Support for 'skims_file' setting in global settings file will be removed." - "Use 'taz_skims' in network_los.yaml config file instead.", FutureWarning) + warnings.warn( + "Support for 'skims_file' setting in global settings file will be removed." + "Use 'taz_skims' in network_los.yaml config file instead.", + FutureWarning, + ) # in which case, we also expect to find skim_time_periods in settings file - skim_time_periods = config.setting('skim_time_periods') - assert skim_time_periods is not None, "'skim_time_periods' setting not found." - warnings.warn("Support for 'skim_time_periods' setting in global settings file will be removed." - "Put 'skim_time_periods' in network_los.yaml config file instead.", FutureWarning) + skim_time_periods = config.setting("skim_time_periods") + assert ( + skim_time_periods is not None + ), "'skim_time_periods' setting not found." + warnings.warn( + "Support for 'skim_time_periods' setting in global settings file will be removed." + "Put 'skim_time_periods' in network_los.yaml config file instead.", + FutureWarning, + ) self.los_settings = { - 'taz_skims': config.setting('skims_file'), - 'zone_system': ONE_ZONE, - 'skim_time_periods': skim_time_periods + "taz_skims": config.setting("skims_file"), + "zone_system": ONE_ZONE, + "skim_time_periods": skim_time_periods, } else: raise e # validate skim_time_periods - self.skim_time_periods = self.setting('skim_time_periods') - if 'hours' in self.skim_time_periods: - self.skim_time_periods['periods'] = self.skim_time_periods.pop('hours') - warnings.warn('support for `skim_time_periods` key `hours` will be removed in ' - 'future verions. Use `periods` instead', - FutureWarning) - assert 'periods' in self.skim_time_periods, "'periods' key not found in network_los.skim_time_periods" - assert 'labels' in self.skim_time_periods, "'labels' key not found in network_los.skim_time_periods" - - self.zone_system = self.setting('zone_system') - assert self.zone_system in [ONE_ZONE, TWO_ZONE, THREE_ZONE], \ - f"Network_LOS: unrecognized zone_system: {self.zone_system}" + self.skim_time_periods = self.setting("skim_time_periods") + if "hours" in self.skim_time_periods: + self.skim_time_periods["periods"] = self.skim_time_periods.pop("hours") + warnings.warn( + "support for `skim_time_periods` key `hours` will be removed in " + "future verions. Use `periods` instead", + FutureWarning, + ) + assert ( + "periods" in self.skim_time_periods + ), "'periods' key not found in network_los.skim_time_periods" + assert ( + "labels" in self.skim_time_periods + ), "'labels' key not found in network_los.skim_time_periods" + + self.zone_system = self.setting("zone_system") + assert self.zone_system in [ + ONE_ZONE, + TWO_ZONE, + THREE_ZONE, + ], f"Network_LOS: unrecognized zone_system: {self.zone_system}" if self.zone_system in [TWO_ZONE, THREE_ZONE]: # maz_to_maz_settings - self.max_blend_distance = self.setting('maz_to_maz.max_blend_distance', default={}) + self.max_blend_distance = self.setting( + "maz_to_maz.max_blend_distance", default={} + ) if isinstance(self.max_blend_distance, int): - self.max_blend_distance = {'DEFAULT': self.max_blend_distance} - self.blend_distance_skim_name = self.setting('maz_to_maz.blend_distance_skim_name', default=None) + self.max_blend_distance = {"DEFAULT": self.max_blend_distance} + self.blend_distance_skim_name = self.setting( + "maz_to_maz.blend_distance_skim_name", default=None + ) # validate skim_time_periods - self.skim_time_periods = self.setting('skim_time_periods') - assert {'periods', 'labels'}.issubset(set(self.skim_time_periods.keys())) + self.skim_time_periods = self.setting("skim_time_periods") + assert {"periods", "labels"}.issubset(set(self.skim_time_periods.keys())) def load_skim_info(self): """ @@ -202,16 +244,20 @@ def load_skim_info(self): """ assert self.skim_dict_factory is not None # load taz skim_info - self.skims_info['taz'] = self.skim_dict_factory.load_skim_info('taz') + self.skims_info["taz"] = self.skim_dict_factory.load_skim_info("taz") if self.zone_system == THREE_ZONE: # load tap skim_info - self.skims_info['tap'] = self.skim_dict_factory.load_skim_info('tap') + self.skims_info["tap"] = self.skim_dict_factory.load_skim_info("tap") if self.zone_system == THREE_ZONE: # load this here rather than in load_data as it is required during multiprocessing to size TVPBCache - self.tap_df = pd.read_csv(config.data_file_path(self.setting('tap'), mandatory=True)).sort_values('TAP') - self.tvpb = pathbuilder.TransitVirtualPathBuilder(self) # dependent on self.tap_df + self.tap_df = pd.read_csv( + config.data_file_path(self.setting("tap"), mandatory=True) + ).sort_values("TAP") + self.tvpb = pathbuilder.TransitVirtualPathBuilder( + self + ) # dependent on self.tap_df def load_data(self): """ @@ -222,26 +268,36 @@ def load_data(self): if self.zone_system in [TWO_ZONE, THREE_ZONE]: # maz - file_name = self.setting('maz') - self.maz_taz_df = pd.read_csv(config.data_file_path(file_name, mandatory=True)) - self.maz_taz_df = self.maz_taz_df[['MAZ', 'TAZ']].sort_values(by='MAZ') # only fields we need + file_name = self.setting("maz") + self.maz_taz_df = pd.read_csv( + config.data_file_path(file_name, mandatory=True) + ) + self.maz_taz_df = self.maz_taz_df[["MAZ", "TAZ"]].sort_values( + by="MAZ" + ) # only fields we need self.maz_ceiling = self.maz_taz_df.MAZ.max() + 1 # maz_to_maz_df - maz_to_maz_tables = self.setting('maz_to_maz.tables') - maz_to_maz_tables = [maz_to_maz_tables] if isinstance(maz_to_maz_tables, str) else maz_to_maz_tables + maz_to_maz_tables = self.setting("maz_to_maz.tables") + maz_to_maz_tables = ( + [maz_to_maz_tables] + if isinstance(maz_to_maz_tables, str) + else maz_to_maz_tables + ) for file_name in maz_to_maz_tables: df = pd.read_csv(config.data_file_path(file_name, mandatory=True)) - df['i'] = df.OMAZ * self.maz_ceiling + df.DMAZ - df.set_index('i', drop=True, inplace=True, verify_integrity=True) - logger.debug(f"loading maz_to_maz table {file_name} with {len(df)} rows") + df["i"] = df.OMAZ * self.maz_ceiling + df.DMAZ + df.set_index("i", drop=True, inplace=True, verify_integrity=True) + logger.debug( + f"loading maz_to_maz table {file_name} with {len(df)} rows" + ) # FIXME - don't really need these columns, but if we do want them, # we would need to merge them in since files may have different numbers of rows - df.drop(columns=['OMAZ', 'DMAZ'], inplace=True) + df.drop(columns=["OMAZ", "DMAZ"], inplace=True) # besides, we only want data columns so we can coerce to same type as skims df = df.astype(np.dtype(self.skim_dtype_name)) @@ -260,24 +316,29 @@ def load_data(self): assert self.tap_df is not None # maz_to_tap_dfs - different sized sparse arrays with different columns, so we keep them seperate - for mode, maz_to_tap_settings in self.setting('maz_to_tap').items(): + for mode, maz_to_tap_settings in self.setting("maz_to_tap").items(): - assert 'table' in maz_to_tap_settings, \ - f"Expected setting maz_to_tap.{mode}.table not found in in {LOS_SETTINGS_FILE_NAME}" + assert ( + "table" in maz_to_tap_settings + ), f"Expected setting maz_to_tap.{mode}.table not found in in {LOS_SETTINGS_FILE_NAME}" - file_name = maz_to_tap_settings['table'] + file_name = maz_to_tap_settings["table"] df = pd.read_csv(config.data_file_path(file_name, mandatory=True)) # trim tap set # if provided, use tap_line_distance_col together with tap_lines table to trim the near tap set # to only include the nearest tap to origin when more than one tap serves the same line - distance_col = maz_to_tap_settings.get('tap_line_distance_col') + distance_col = maz_to_tap_settings.get("tap_line_distance_col") if distance_col: if self.tap_lines_df is None: # load tap_lines on demand (required if they specify tap_line_distance_col) - tap_lines_file_name = self.setting('tap_lines', ) - self.tap_lines_df = pd.read_csv(config.data_file_path(tap_lines_file_name, mandatory=True)) + tap_lines_file_name = self.setting( + "tap_lines", + ) + self.tap_lines_df = pd.read_csv( + config.data_file_path(tap_lines_file_name, mandatory=True) + ) # csv file has one row per TAP with space-delimited list of lines served by that TAP # TAP LINES @@ -287,48 +348,74 @@ def load_data(self): # 6020 GG_024b_SB # 6020 GG_068_RT # 6020 GG_228_WB - self.tap_lines_df = \ - self.tap_lines_df.set_index('TAP').LINES.str.split(expand=True)\ - .stack().droplevel(1).to_frame('line') + self.tap_lines_df = ( + self.tap_lines_df.set_index("TAP") + .LINES.str.split(expand=True) + .stack() + .droplevel(1) + .to_frame("line") + ) old_len = len(df) # NOTE - merge will remove unused taps (not appearing in tap_lines) - df = pd.merge(df, self.tap_lines_df, left_on='TAP', right_index=True) + df = pd.merge( + df, self.tap_lines_df, left_on="TAP", right_index=True + ) # find nearest TAP to MAz that serves line - df = df.sort_values(by=distance_col).drop_duplicates(subset=['MAZ', 'line']) + df = df.sort_values(by=distance_col).drop_duplicates( + subset=["MAZ", "line"] + ) # we don't need to remember which lines are served by which TAPs - df = df.drop(columns='line').drop_duplicates(subset=['MAZ', 'TAP']).sort_values(['MAZ', 'TAP']) - - logger.debug(f"trimmed maz_to_tap table {file_name} from {old_len} to {len(df)} rows " - f"based on tap_lines") - logger.debug(f"maz_to_tap table {file_name} max {distance_col} {df[distance_col].max()}") - - max_dist = maz_to_tap_settings.get('max_dist', None) + df = ( + df.drop(columns="line") + .drop_duplicates(subset=["MAZ", "TAP"]) + .sort_values(["MAZ", "TAP"]) + ) + + logger.debug( + f"trimmed maz_to_tap table {file_name} from {old_len} to {len(df)} rows " + f"based on tap_lines" + ) + logger.debug( + f"maz_to_tap table {file_name} max {distance_col} {df[distance_col].max()}" + ) + + max_dist = maz_to_tap_settings.get("max_dist", None) if max_dist: old_len = len(df) df = df[df[distance_col] <= max_dist] - logger.debug(f"trimmed maz_to_tap table {file_name} from {old_len} to {len(df)} rows " - f"based on max_dist {max_dist}") + logger.debug( + f"trimmed maz_to_tap table {file_name} from {old_len} to {len(df)} rows " + f"based on max_dist {max_dist}" + ) if TRACE_TRIMMED_MAZ_TO_TAP_TABLES: - tracing.write_csv(df, file_name=f"trimmed_{maz_to_tap_settings['table']}", transpose=False) + tracing.write_csv( + df, + file_name=f"trimmed_{maz_to_tap_settings['table']}", + transpose=False, + ) else: - logger.warning(f"tap_line_distance_col not provided in {LOS_SETTINGS_FILE_NAME} so maz_to_tap " - f"pairs will not be trimmed which may result in high memory use and long runtimes") - - df.set_index(['MAZ', 'TAP'], drop=True, inplace=True, verify_integrity=True) + logger.warning( + f"tap_line_distance_col not provided in {LOS_SETTINGS_FILE_NAME} so maz_to_tap " + f"pairs will not be trimmed which may result in high memory use and long runtimes" + ) + + df.set_index( + ["MAZ", "TAP"], drop=True, inplace=True, verify_integrity=True + ) logger.debug(f"loaded maz_to_tap table {file_name} with {len(df)} rows") assert mode not in self.maz_to_tap_dfs self.maz_to_tap_dfs[mode] = df # create taz skim dict - assert 'taz' not in self.skim_dicts - self.skim_dicts['taz'] = self.create_skim_dict('taz') + assert "taz" not in self.skim_dicts + self.skim_dicts["taz"] = self.create_skim_dict("taz") # make sure skim has all taz_ids # FIXME - weird that there is no list of tazs? @@ -337,20 +424,26 @@ def load_data(self): if self.zone_system in [TWO_ZONE, THREE_ZONE]: # create MazSkimDict facade skim_dict # (must have already loaded dependencies: taz skim_dict, maz_to_maz_df, and maz_taz_df) - assert 'maz' not in self.skim_dicts - maz_skim_dict = self.create_skim_dict('maz') - self.skim_dicts['maz'] = maz_skim_dict + assert "maz" not in self.skim_dicts + maz_skim_dict = self.create_skim_dict("maz") + self.skim_dicts["maz"] = maz_skim_dict # make sure skim has all maz_ids - assert not (maz_skim_dict.offset_mapper.map(self.maz_taz_df['MAZ'].values) == NOT_IN_SKIM_ZONE_ID).any() + assert not ( + maz_skim_dict.offset_mapper.map(self.maz_taz_df["MAZ"].values) + == NOT_IN_SKIM_ZONE_ID + ).any() # create tap skim dict if self.zone_system == THREE_ZONE: - assert 'tap' not in self.skim_dicts - tap_skim_dict = self.create_skim_dict('tap') - self.skim_dicts['tap'] = tap_skim_dict + assert "tap" not in self.skim_dicts + tap_skim_dict = self.create_skim_dict("tap") + self.skim_dicts["tap"] = tap_skim_dict # make sure skim has all tap_ids - assert not (tap_skim_dict.offset_mapper.map(self.tap_df['TAP'].values) == NOT_IN_SKIM_ZONE_ID).any() + assert not ( + tap_skim_dict.offset_mapper.map(self.tap_df["TAP"].values) + == NOT_IN_SKIM_ZONE_ID + ).any() def create_skim_dict(self, skim_tag): """ @@ -364,16 +457,19 @@ def create_skim_dict(self, skim_tag): ------- SkimDict or subclass (e.g. MazSkimDict) """ - assert skim_tag not in self.skim_dicts # avoid inadvertently creating multiple copies + assert ( + skim_tag not in self.skim_dicts + ) # avoid inadvertently creating multiple copies - if skim_tag == 'maz': + if skim_tag == "maz": # MazSkimDict gets a reference to self here, because it has dependencies on self.load_data # (e.g. maz_to_maz_df, maz_taz_df...) We pass in taz_skim_dict as a parameter # to hilight the fact that we do not want two copies of its (very large) data array in memory - assert 'taz' in self.skim_dicts, \ - f"create_skim_dict 'maz': backing taz skim_dict not in skim_dicts" - taz_skim_dict = self.skim_dicts['taz'] - skim_dict = skim_dictionary.MazSkimDict('maz', self, taz_skim_dict) + assert ( + "taz" in self.skim_dicts + ), f"create_skim_dict 'maz': backing taz skim_dict not in skim_dicts" + taz_skim_dict = self.skim_dicts["taz"] + skim_dict = skim_dictionary.MazSkimDict("maz", self, taz_skim_dict) else: skim_info = self.skims_info[skim_tag] skim_data = self.skim_dict_factory.get_skim_data(skim_tag, skim_info) @@ -395,7 +491,7 @@ def omx_file_names(self, skim_tag): ------- list of str """ - file_names = self.setting(f'{skim_tag}_skims') + file_names = self.setting(f"{skim_tag}_skims") file_names = [file_names] if isinstance(file_names, str) else file_names return file_names @@ -407,7 +503,7 @@ def multiprocess(self): ------- bool """ - is_multiprocess = config.setting('multiprocess', False) + is_multiprocess = config.setting("multiprocess", False) return is_multiprocess def load_shared_data(self, shared_data_buffers): @@ -425,18 +521,24 @@ def load_shared_data(self, shared_data_buffers): if self.skim_dict_factory.supports_shared_data_for_multiprocessing: for skim_tag in self.skims_info.keys(): - assert skim_tag in shared_data_buffers, f"load_shared_data expected allocated shared_data_buffers" - self.skim_dict_factory.load_skims_to_buffer(self.skims_info[skim_tag], shared_data_buffers[skim_tag]) + assert ( + skim_tag in shared_data_buffers + ), f"load_shared_data expected allocated shared_data_buffers" + self.skim_dict_factory.load_skims_to_buffer( + self.skims_info[skim_tag], shared_data_buffers[skim_tag] + ) if self.zone_system == THREE_ZONE: assert self.tvpb is not None - if self.rebuild_tvpb_cache and not config.setting('resume_after', None): + if self.rebuild_tvpb_cache and not config.setting("resume_after", None): # delete old cache at start of new run so that stale cache is not loaded by load_data_to_buffer # when singleprocess, this call is made (later in program flow) in the initialize_los step self.tvpb.tap_cache.cleanup() - self.tvpb.tap_cache.load_data_to_buffer(shared_data_buffers[self.tvpb.tap_cache.cache_tag]) + self.tvpb.tap_cache.load_data_to_buffer( + shared_data_buffers[self.tvpb.tap_cache.cache_tag] + ) def allocate_shared_skim_buffers(self): """ @@ -454,19 +556,23 @@ def allocate_shared_skim_buffers(self): """ assert self.multiprocess() - assert not self.skim_dicts, f"allocate_shared_skim_buffers must be called BEFORE, not after, load_data" + assert ( + not self.skim_dicts + ), f"allocate_shared_skim_buffers must be called BEFORE, not after, load_data" skim_buffers = {} if self.skim_dict_factory.supports_shared_data_for_multiprocessing: for skim_tag in self.skims_info.keys(): - skim_buffers[skim_tag] = \ - self.skim_dict_factory.allocate_skim_buffer(self.skims_info[skim_tag], shared=True) + skim_buffers[skim_tag] = self.skim_dict_factory.allocate_skim_buffer( + self.skims_info[skim_tag], shared=True + ) if self.zone_system == THREE_ZONE: assert self.tvpb is not None - skim_buffers[self.tvpb.tap_cache.cache_tag] = \ - self.tvpb.tap_cache.allocate_data_buffer(shared=True) + skim_buffers[ + self.tvpb.tap_cache.cache_tag + ] = self.tvpb.tap_cache.allocate_data_buffer(shared=True) return skim_buffers @@ -479,8 +585,9 @@ def get_skim_dict(self, skim_tag): SkimDict or subclass (e.g. MazSkimDict) """ - assert skim_tag in self.skim_dicts, \ - f"network_los.get_skim_dict: skim tag '{skim_tag}' not in skim_dicts" + assert ( + skim_tag in self.skim_dicts + ), f"network_los.get_skim_dict: skim tag '{skim_tag}' not in skim_dicts" return self.skim_dicts[skim_tag] def get_default_skim_dict(self): @@ -492,9 +599,9 @@ def get_default_skim_dict(self): TAZ SkimDict for ONE_ZONE, MazSkimDict for TWO_ZONE and THREE_ZONE """ if self.zone_system == ONE_ZONE: - return self.get_skim_dict('taz') + return self.get_skim_dict("taz") else: - return self.get_skim_dict('maz') + return self.get_skim_dict("maz") def get_mazpairs(self, omaz, dmaz, attribute): """ @@ -545,7 +652,7 @@ def get_tappairs3d(self, otap, dtap, dim3, key): Numpy.ndarray: list of tap skim values for odt tuples """ - s = self.get_skim_dict('tap').lookup_3d(otap, dtap, dim3, key) + s = self.get_skim_dict("tap").lookup_3d(otap, dtap, dim3, key) return s def skim_time_period_label(self, time_period): @@ -562,26 +669,34 @@ def skim_time_period_label(self, time_period): string time period labels """ - assert self.skim_time_periods is not None, "'skim_time_periods' setting not found." + assert ( + self.skim_time_periods is not None + ), "'skim_time_periods' setting not found." # Default to 60 minute time periods - period_minutes = self.skim_time_periods.get('period_minutes', 60) + period_minutes = self.skim_time_periods.get("period_minutes", 60) # Default to a day - model_time_window_min = self.skim_time_periods.get('time_window', 1440) + model_time_window_min = self.skim_time_periods.get("time_window", 1440) # Check to make sure the intervals result in no remainder time through 24 hour day assert 0 == model_time_window_min % period_minutes total_periods = model_time_window_min / period_minutes - bins = np.digitize( - [np.array(time_period) % total_periods], self.skim_time_periods['periods'], right=True)[0] - 1 - return np.array(self.skim_time_periods['labels'])[bins] + bins = ( + np.digitize( + [np.array(time_period) % total_periods], + self.skim_time_periods["periods"], + right=True, + )[0] + - 1 + ) + return np.array(self.skim_time_periods["labels"])[bins] def get_tazs(self): # FIXME - should compute on init? if self.zone_system == ONE_ZONE: - tazs = inject.get_table('land_use').index.values + tazs = inject.get_table("land_use").index.values else: tazs = self.maz_taz_df.TAZ.unique() assert isinstance(tazs, np.ndarray) diff --git a/activitysim/core/mem.py b/activitysim/core/mem.py index fd8c906b21..845ea35542 100644 --- a/activitysim/core/mem.py +++ b/activitysim/core/mem.py @@ -1,25 +1,21 @@ - # ActivitySim # See full license in LICENSE.txt. import datetime - import gc import glob import logging import multiprocessing import os import platform -import psutil import threading import time import numpy as np import pandas as pd +import psutil -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import util +from activitysim.core import config, inject, util logger = logging.getLogger(__name__) @@ -46,7 +42,7 @@ def time_bin(timestamps): seconds_since_epoch = (timestamps - epoch) // pd.Timedelta("1s") bin = seconds_since_epoch - (seconds_since_epoch % bins_size_in_seconds) - return pd.to_datetime(bin, unit='s', origin='unix') + return pd.to_datetime(bin, unit="s", origin="unix") def consolidate_logs(): @@ -54,80 +50,98 @@ def consolidate_logs(): Consolidate and aggregate subprocess mem logs """ - if not config.setting('multiprocess', False): + if not config.setting("multiprocess", False): return - delete_originals = not config.setting('keep_mem_logs', False) + delete_originals = not config.setting("keep_mem_logs", False) omnibus_df = [] # for each multiprocess step - multiprocess_steps = config.setting('multiprocess_steps', []) + multiprocess_steps = config.setting("multiprocess_steps", []) for step in multiprocess_steps: - step_name = step.get('name', None) + step_name = step.get("name", None) logger.debug(f"mem.consolidate_logs for step {step_name}") - glob_file_name = config.log_file_path(f"{step_name}*{MEM_LOG_FILE_NAME}", prefix=False) + glob_file_name = config.log_file_path( + f"{step_name}*{MEM_LOG_FILE_NAME}", prefix=False + ) glob_files = glob.glob(glob_file_name) if not glob_files: continue - logger.debug(f"mem.consolidate_logs consolidating {len(glob_files)} logs for {step_name}") + logger.debug( + f"mem.consolidate_logs consolidating {len(glob_files)} logs for {step_name}" + ) # for each individual log step_summary_df = [] for f in glob_files: - df = pd.read_csv(f, comment='#') + df = pd.read_csv(f, comment="#") - df = df[['rss', 'uss', 'event', 'time']] + df = df[["rss", "uss", "event", "time"]] df.rss = df.rss.astype(np.int64) df.uss = df.uss.astype(np.int64) - df['time'] = time_bin(pd.to_datetime(df.time, errors='coerce', format='%Y/%m/%d %H:%M:%S')) + df["time"] = time_bin( + pd.to_datetime(df.time, errors="coerce", format="%Y/%m/%d %H:%M:%S") + ) # consolidate events (duplicate rows should be idle steps (e.g. log_rss) - df = df.groupby('time')\ - .agg(rss=('rss', 'max'), uss=('uss', 'max'),)\ + df = ( + df.groupby("time") + .agg( + rss=("rss", "max"), + uss=("uss", "max"), + ) .reset_index(drop=False) + ) step_summary_df.append(df) # add step_df to step summary # aggregate the individual the logs into a single step log step_summary_df = pd.concat(step_summary_df) - step_summary_df = step_summary_df.groupby('time') \ - .agg(rss=('rss', 'sum'), uss=('uss', 'sum'), num_files=('rss', 'size')) \ + step_summary_df = ( + step_summary_df.groupby("time") + .agg(rss=("rss", "sum"), uss=("uss", "sum"), num_files=("rss", "size")) .reset_index(drop=False) - step_summary_df = step_summary_df.sort_values('time') + ) + step_summary_df = step_summary_df.sort_values("time") - step_summary_df['step'] = step_name + step_summary_df["step"] = step_name # scale missing values (might be missing idle steps for some chunk_tags) - scale = 1 + (len(glob_files) - step_summary_df.num_files) / step_summary_df.num_files - for c in ['rss', 'uss']: + scale = ( + 1 + + (len(glob_files) - step_summary_df.num_files) / step_summary_df.num_files + ) + for c in ["rss", "uss"]: step_summary_df[c] = (step_summary_df[c] * scale).astype(np.int64) - step_summary_df['scale'] = scale - del step_summary_df['num_files'] # do we want to keep track of scale factor? + step_summary_df["scale"] = scale + del step_summary_df["num_files"] # do we want to keep track of scale factor? if delete_originals: - util.delete_files(glob_files, f'mem.consolidate_logs.{step_name}') + util.delete_files(glob_files, f"mem.consolidate_logs.{step_name}") # write aggregate step log - output_path = config.log_file_path(f'mem_{step_name}.csv', prefix=False) - logger.debug(f"chunk.consolidate_logs writing step summary log for step {step_name} to {output_path}") - step_summary_df.to_csv(output_path, mode='w', index=False) + output_path = config.log_file_path(f"mem_{step_name}.csv", prefix=False) + logger.debug( + f"chunk.consolidate_logs writing step summary log for step {step_name} to {output_path}" + ) + step_summary_df.to_csv(output_path, mode="w", index=False) omnibus_df.append(step_summary_df) # add step summary to omnibus # aggregate the step logs into a single omnibus log ordered by timestamp omnibus_df = pd.concat(omnibus_df) - omnibus_df = omnibus_df.sort_values('time') + omnibus_df = omnibus_df.sort_values("time") output_path = config.log_file_path(OMNIBUS_LOG_FILE_NAME, prefix=False) logger.debug(f"chunk.consolidate_logs writing omnibus log to {output_path}") - omnibus_df.to_csv(output_path, mode='w', index=False) + omnibus_df.to_csv(output_path, mode="w", index=False) def check_global_hwm(tag, value, label): @@ -136,13 +150,13 @@ def check_global_hwm(tag, value, label): hwm = GLOBAL_HWM.setdefault(tag, {}) - is_new_hwm = value > hwm.get('mark', 0) or not hwm + is_new_hwm = value > hwm.get("mark", 0) or not hwm if is_new_hwm: timestamp = datetime.datetime.now().strftime("%d/%m/%Y %H:%M:%S") - hwm['mark'] = value - hwm['timestamp'] = timestamp - hwm['label'] = label + hwm["mark"] = value + hwm["timestamp"] = timestamp + hwm["label"] = label return is_new_hwm @@ -153,9 +167,11 @@ def log_global_hwm(): for tag in GLOBAL_HWM: hwm = GLOBAL_HWM[tag] - value = hwm.get('mark', 0) - logger.info(f"{process_name} high water mark {tag}: {util.INT(value)} ({util.GB(value)}) " - f"timestamp: {hwm.get('timestamp', '')} label:{hwm.get('label', '')}") + value = hwm.get("mark", 0) + logger.info( + f"{process_name} high water mark {tag}: {util.INT(value)} ({util.GB(value)}) " + f"timestamp: {hwm.get('timestamp', '')} label:{hwm.get('label', '')}" + ) def trace_memory_info(event, trace_ticks=0): @@ -190,11 +206,13 @@ def trace_memory_info(event, trace_ticks=0): except (psutil.NoSuchProcess, psutil.AccessDenied) as e: pass - noteworthy = True # any reason not to always log this if we are filtering idle ticks? + noteworthy = ( + True # any reason not to always log this if we are filtering idle ticks? + ) noteworthy = (num_children > 0) or noteworthy - noteworthy = check_global_hwm('rss', full_rss or rss, event) or noteworthy - noteworthy = check_global_hwm('uss', uss, event) or noteworthy + noteworthy = check_global_hwm("rss", full_rss or rss, event) or noteworthy + noteworthy = check_global_hwm("uss", uss, event) or noteworthy if noteworthy: @@ -206,16 +224,20 @@ def trace_memory_info(event, trace_ticks=0): with mem_log_lock: MEM_LOG_HEADER = "process,pid,rss,full_rss,uss,event,children,time" - with config.open_log_file(MEM_LOG_FILE_NAME, 'a', header=MEM_LOG_HEADER, prefix=True) as log_file: - print(f"{process_name}," - f"{pid}," - f"{util.INT(rss)}," # want these as ints so we can plot them... - f"{util.INT(full_rss)}," - f"{util.INT(uss)}," - f"{event}," - f"{num_children}," - f"{timestamp}", - file=log_file) + with config.open_log_file( + MEM_LOG_FILE_NAME, "a", header=MEM_LOG_HEADER, prefix=True + ) as log_file: + print( + f"{process_name}," + f"{pid}," + f"{util.INT(rss)}," # want these as ints so we can plot them... + f"{util.INT(full_rss)}," + f"{util.INT(uss)}," + f"{event}," + f"{num_children}," + f"{timestamp}", + file=log_file, + ) # return rss and uss for optional use by interested callers return full_rss or rss, uss @@ -251,7 +273,7 @@ def shared_memory_size(data_buffers=None): shared_size = 0 if data_buffers is None: - data_buffers = inject.get_injectable('data_buffers', {}) + data_buffers = inject.get_injectable("data_buffers", {}) for k, data_buffer in data_buffers.items(): try: diff --git a/activitysim/core/mp_tasks.py b/activitysim/core/mp_tasks.py index 6365a5b279..429ff2e869 100644 --- a/activitysim/core/mp_tasks.py +++ b/activitysim/core/mp_tasks.py @@ -1,31 +1,23 @@ # ActivitySim # See full license in LICENSE.txt. -import sys -import os -import time import logging import multiprocessing +import os +import sys +import time import traceback - from collections import OrderedDict -import yaml import numpy as np import pandas as pd +import yaml -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import mem -from activitysim.core import pipeline -from activitysim.core import tracing -from activitysim.core import util - - +from activitysim.core import config, inject, mem, pipeline, tracing, util from activitysim.core.config import setting logger = logging.getLogger(__name__) -LAST_CHECKPOINT = '_' +LAST_CHECKPOINT = "_" MEM_TRACE_TICKS = 5 @@ -211,7 +203,7 @@ def log(msg, level, write_to_log_file=True): print(f"############ mp_tasks - {process_name} - {msg}") if write_to_log_file: - with config.open_log_file('mp_tasks_log.txt', 'a') as log_file: + with config.open_log_file("mp_tasks_log.txt", "a") as log_file: print(f"mp_tasks - {process_name} - {msg}", file=log_file) if write_to_log_file: @@ -243,7 +235,7 @@ def exception(msg, write_to_log_file=True): print(f"mp_tasks - {process_name} - {msg}") print(f"---\n{traceback.format_exc()}---") - with config.open_log_file('mp_tasks_log.txt', 'a') as log_file: + with config.open_log_file("mp_tasks_log.txt", "a") as log_file: print(f"---\nmp_tasks - {process_name} - {msg}", file=log_file) traceback.print_exc(limit=10, file=log_file) print("---", file=log_file) @@ -297,11 +289,13 @@ def pipeline_table_keys(pipeline_store): checkpoint_tables = checkpoint[~checkpoint.index.isin(pipeline.NON_TABLE_COLUMNS)] # omit dropped tables with empty checkpoint name - checkpoint_tables = checkpoint_tables[checkpoint_tables != ''] + checkpoint_tables = checkpoint_tables[checkpoint_tables != ""] # hdf5 key is / - checkpoint_tables = {table_name: pipeline.pipeline_table_key(table_name, checkpoint_name) - for table_name, checkpoint_name in checkpoint_tables.items()} + checkpoint_tables = { + table_name: pipeline.pipeline_table_key(table_name, checkpoint_name) + for table_name, checkpoint_name in checkpoint_tables.items() + } # checkpoint name and series mapping table name to hdf5 key for tables in that checkpoint return checkpoint_name, checkpoint_tables @@ -386,8 +380,8 @@ def build_slice_rules(slice_info, pipeline_tables): slice_rules : dict """ - slicer_table_names = slice_info['tables'] - slicer_table_exceptions = slice_info.get('except', []) + slicer_table_names = slice_info["tables"] + slicer_table_exceptions = slice_info.get("except", []) primary_slicer = slicer_table_names[0] # - ensure that tables listed in slice_info appear in correct order and before any others @@ -404,14 +398,16 @@ def build_slice_rules(slice_info, pipeline_tables): # followed by a slice.coalesce directive to explicitly list the omnibus tables created by the subprocesses. # So don't change this behavior withoyt testing populationsim multiprocess! if slicer_table_exceptions is True: - debug(f"slice.except wildcard (True): excluding all tables not explicitly listed in slice.tables") + debug( + f"slice.except wildcard (True): excluding all tables not explicitly listed in slice.tables" + ) slicer_table_exceptions = [t for t in tables if t not in slicer_table_names] # dict mapping slicer table_name to index name # (also presumed to be name of ref col name in referencing table) slicer_ref_cols = OrderedDict() - if slicer_table_exceptions == '*': + if slicer_table_exceptions == "*": slicer_table_exceptions = [t for t in tables if t not in slicer_table_names] # build slice rules for loaded tables @@ -421,36 +417,44 @@ def build_slice_rules(slice_info, pipeline_tables): rule = {} if table_name == primary_slicer: # slice primary apportion table - rule = {'slice_by': 'primary'} + rule = {"slice_by": "primary"} elif table_name in slicer_table_exceptions: - rule['slice_by'] = None + rule["slice_by"] = None else: for slicer_table_name in slicer_ref_cols: - if df.index.name is not None and (df.index.name == tables[slicer_table_name].index.name): + if df.index.name is not None and ( + df.index.name == tables[slicer_table_name].index.name + ): # slice df with same index name as a known slicer - rule = {'slice_by': 'index', 'source': slicer_table_name} + rule = {"slice_by": "index", "source": slicer_table_name} else: # if df has a column with same name as the ref_col (index) of a slicer? try: - source, ref_col = next((t, c) - for t, c in slicer_ref_cols.items() - if c in df.columns) + source, ref_col = next( + (t, c) + for t, c in slicer_ref_cols.items() + if c in df.columns + ) # then we can use that table to slice this df - rule = {'slice_by': 'column', - 'column': ref_col, - 'source': source} + rule = { + "slice_by": "column", + "column": ref_col, + "source": source, + } except StopIteration: - rule['slice_by'] = None + rule["slice_by"] = None - if rule['slice_by']: + if rule["slice_by"]: # cascade sliceability slicer_ref_cols[table_name] = df.index.name slice_rules[table_name] = rule for table_name, rule in slice_rules.items(): - if rule['slice_by'] is not None: - debug(f"### table_name: {table_name} slice_rules: {slice_rules[table_name]}") + if rule["slice_by"] is not None: + debug( + f"### table_name: {table_name} slice_rules: {slice_rules[table_name]}" + ) debug(f"### slicer_ref_cols: {slicer_ref_cols}") return slice_rules @@ -477,19 +481,21 @@ def apportion_pipeline(sub_proc_names, step_info): creates apportioned pipeline files for each sub job """ - slice_info = step_info.get('slice', None) - multiprocess_step_name = step_info.get('name', None) + slice_info = step_info.get("slice", None) + multiprocess_step_name = step_info.get("name", None) - pipeline_file_name = inject.get_injectable('pipeline_file_name') + pipeline_file_name = inject.get_injectable("pipeline_file_name") # ensure that if we are resuming, we don't apportion any tables from future model steps - last_checkpoint_in_previous_multiprocess_step = step_info.get('last_checkpoint_in_previous_multiprocess_step', None) + last_checkpoint_in_previous_multiprocess_step = step_info.get( + "last_checkpoint_in_previous_multiprocess_step", None + ) assert last_checkpoint_in_previous_multiprocess_step is not None pipeline.open_pipeline(resume_after=last_checkpoint_in_previous_multiprocess_step) # ensure all tables are in the pipeline checkpointed_tables = pipeline.checkpointed_tables() - for table_name in slice_info['tables']: + for table_name in slice_info["tables"]: if table_name not in checkpointed_tables: raise RuntimeError(f"slicer table {table_name} not found in pipeline") @@ -523,7 +529,9 @@ def apportion_pipeline(sub_proc_names, step_info): # use well-known pipeline file name process_name = sub_proc_names[i] - pipeline_path = config.build_output_file_path(pipeline_file_name, use_prefix=process_name) + pipeline_path = config.build_output_file_path( + pipeline_file_name, use_prefix=process_name + ) # remove existing file try: @@ -531,7 +539,7 @@ def apportion_pipeline(sub_proc_names, step_info): except OSError: pass - with pd.HDFStore(pipeline_path, mode='a') as pipeline_store: + with pd.HDFStore(pipeline_path, mode="a") as pipeline_store: # remember sliced_tables so we can cascade slicing to other tables sliced_tables = {} @@ -541,14 +549,16 @@ def apportion_pipeline(sub_proc_names, step_info): df = tables[table_name] - if rule['slice_by'] is not None and num_sub_procs > len(df): + if rule["slice_by"] is not None and num_sub_procs > len(df): # almost certainly a configuration error - raise RuntimeError(f"apportion_pipeline: multiprocess step {multiprocess_step_name} " - f"slice table {table_name} has fewer rows {df.shape} " - f"than num_processes ({num_sub_procs}).") + raise RuntimeError( + f"apportion_pipeline: multiprocess step {multiprocess_step_name} " + f"slice table {table_name} has fewer rows {df.shape} " + f"than num_processes ({num_sub_procs})." + ) - if rule['slice_by'] == 'primary': + if rule["slice_by"] == "primary": # slice primary apportion table by num_sub_procs strides # this hopefully yields a more random distribution # (e.g.) households are ordered by size in input store @@ -557,29 +567,37 @@ def apportion_pipeline(sub_proc_names, step_info): # we could easily work around this, but it seems likely this was an error on the user's part assert not df.index.duplicated().any() - primary_df = df[np.asanyarray(list(range(df.shape[0]))) % num_sub_procs == i] + primary_df = df[ + np.asanyarray(list(range(df.shape[0]))) % num_sub_procs == i + ] sliced_tables[table_name] = primary_df - elif rule['slice_by'] == 'index': + elif rule["slice_by"] == "index": # slice a table with same index name as a known slicer - source_df = sliced_tables[rule['source']] + source_df = sliced_tables[rule["source"]] sliced_tables[table_name] = df.loc[source_df.index] - elif rule['slice_by'] == 'column': + elif rule["slice_by"] == "column": # slice a table with a recognized slicer_column - source_df = sliced_tables[rule['source']] - sliced_tables[table_name] = df[df[rule['column']].isin(source_df.index)] - elif rule['slice_by'] is None: + source_df = sliced_tables[rule["source"]] + sliced_tables[table_name] = df[ + df[rule["column"]].isin(source_df.index) + ] + elif rule["slice_by"] is None: # don't slice mirrored tables sliced_tables[table_name] = df else: - raise RuntimeError("Unrecognized slice rule '%s' for table %s" % - (rule['slice_by'], table_name)) + raise RuntimeError( + "Unrecognized slice rule '%s' for table %s" + % (rule["slice_by"], table_name) + ) # - write table to pipeline hdf5_key = pipeline.pipeline_table_key(table_name, checkpoint_name) pipeline_store[hdf5_key] = sliced_tables[table_name] - debug(f"writing checkpoints ({checkpoints_df.shape}) " - f"to {pipeline.CHECKPOINT_TABLE_NAME} in {pipeline_path}") + debug( + f"writing checkpoints ({checkpoints_df.shape}) " + f"to {pipeline.CHECKPOINT_TABLE_NAME} in {pipeline_path}" + ) pipeline_store[pipeline.CHECKPOINT_TABLE_NAME] = checkpoints_df @@ -603,16 +621,18 @@ def coalesce_pipelines(sub_proc_names, slice_info): creates an omnibus pipeline with coalesced data from individual sub_proc pipelines """ - pipeline_file_name = inject.get_injectable('pipeline_file_name') + pipeline_file_name = inject.get_injectable("pipeline_file_name") debug(f"coalesce_pipelines to: {pipeline_file_name}") # - read all tables from first process pipeline # FIXME - note: assumes any new tables will be present in ALL subprocess pipelines tables = {} - pipeline_path = config.build_output_file_path(pipeline_file_name, use_prefix=sub_proc_names[0]) + pipeline_path = config.build_output_file_path( + pipeline_file_name, use_prefix=sub_proc_names[0] + ) - with pd.HDFStore(pipeline_path, mode='r') as pipeline_store: + with pd.HDFStore(pipeline_path, mode="r") as pipeline_store: # hdf5_keys is a dict mapping table_name to pipeline hdf5_key checkpoint_name, hdf5_keys = pipeline_table_keys(pipeline_store) @@ -630,21 +650,26 @@ def coalesce_pipelines(sub_proc_names, slice_info): # which new tables to coalesce. Populationsim uses this wildcard except directives to avoid having to list # many slice exceptions, and just lists weigh tables to coalesce. So don't change this behavior without testing # populationsim multiprocessing! - coalesce_tables = slice_info.get('coalesce', []) + coalesce_tables = slice_info.get("coalesce", []) # report absence of any slice_info.coalesce tables not in pipeline # we don't require their presence in case there are tracing tables that will only be present if tracing is enabled for table_name in coalesce_tables: if table_name not in tables: - logger.warning("slicer coalesce.table %s not found in pipeline" % table_name) + logger.warning( + "slicer coalesce.table %s not found in pipeline" % table_name + ) # - use slice rules followed by apportion_pipeline to identify mirrored tables # (tables that are identical in every pipeline and so don't need to be concatenated) slice_rules = build_slice_rules(slice_info, tables) # table is mirrored if no slice rule or explicitly listed in slice_info.coalesce setting - mirrored_table_names = \ - [t for t, rule in slice_rules.items() if rule['slice_by'] is None and t not in coalesce_tables] + mirrored_table_names = [ + t + for t, rule in slice_rules.items() + if rule["slice_by"] is None and t not in coalesce_tables + ] mirrored_tables = {t: tables[t] for t in mirrored_table_names} omnibus_keys = {t: k for t, k in hdf5_keys.items() if t not in mirrored_table_names} @@ -655,15 +680,17 @@ def coalesce_pipelines(sub_proc_names, slice_info): # assemble lists of omnibus tables from all sub_processes omnibus_tables = {table_name: [] for table_name in omnibus_keys} for process_name in sub_proc_names: - pipeline_path = config.build_output_file_path(pipeline_file_name, use_prefix=process_name) + pipeline_path = config.build_output_file_path( + pipeline_file_name, use_prefix=process_name + ) logger.info(f"coalesce pipeline {pipeline_path}") - with pd.HDFStore(pipeline_path, mode='r') as pipeline_store: + with pd.HDFStore(pipeline_path, mode="r") as pipeline_store: for table_name, hdf5_key in omnibus_keys.items(): omnibus_tables[table_name].append(pipeline_store[hdf5_key]) # open pipeline, preserving existing checkpoints (so resume_after will work for prior steps) - pipeline.open_pipeline('_') + pipeline.open_pipeline("_") # - add mirrored tables to pipeline for table_name in mirrored_tables: @@ -705,16 +732,18 @@ def setup_injectables_and_logging(injectables, locutor=True): # by default, assume we are running activitysim.abm # other callers (e.g. piopulationsim) will have to arrange to register their own steps and injectables # (presumably) in a custom run_simulation.py instead of using the 'activitysim run' command - if not inject.is_injectable('preload_injectables'): - from activitysim import abm # register abm steps and other abm-specific injectables + if not inject.is_injectable("preload_injectables"): + from activitysim import ( # register abm steps and other abm-specific injectables + abm, + ) try: for k, v in injectables.items(): inject.add_injectable(k, v) - inject.add_injectable('is_sub_task', True) - inject.add_injectable('locutor', locutor) + inject.add_injectable("is_sub_task", True) + inject.add_injectable("locutor", locutor) config.filter_warnings() @@ -722,7 +751,10 @@ def setup_injectables_and_logging(injectables, locutor=True): inject.add_injectable("log_file_prefix", process_name) except Exception as e: - exception(f"{type(e).__name__} exception while setting up injectables: {str(e)}", write_to_log_file=False) + exception( + f"{type(e).__name__} exception while setting up injectables: {str(e)}", + write_to_log_file=False, + ) raise e try: @@ -750,16 +782,20 @@ def adjust_chunk_size_for_shared_memory(chunk_size, data_buffers, num_processes) adjusted_chunk_size = chunk_size - fair_share_of_shared_memory - logger.info(f"adjust_chunk_size_for_shared_memory " - f"adjusted_chunk_size {util.INT(adjusted_chunk_size)} " - f"chunk_size {util.INT(chunk_size)} " - f"shared_memory_size {util.INT(shared_memory_size)} " - f"num_processes {num_processes} " - f"fair_share_of_shared_memory {util.INT(fair_share_of_shared_memory)} ") + logger.info( + f"adjust_chunk_size_for_shared_memory " + f"adjusted_chunk_size {util.INT(adjusted_chunk_size)} " + f"chunk_size {util.INT(chunk_size)} " + f"shared_memory_size {util.INT(shared_memory_size)} " + f"num_processes {num_processes} " + f"fair_share_of_shared_memory {util.INT(fair_share_of_shared_memory)} " + ) if adjusted_chunk_size <= 0: - raise RuntimeError(f"adjust_chunk_size_for_shared_memory: chunk_size too small for shared memory. " - f"adjusted_chunk_size: {adjusted_chunk_size}") + raise RuntimeError( + f"adjust_chunk_size_for_shared_memory: chunk_size too small for shared memory. " + f"adjusted_chunk_size: {adjusted_chunk_size}" + ) return adjusted_chunk_size @@ -785,13 +821,15 @@ def run_simulation(queue, step_info, resume_after, shared_data_buffer): # step_label = step_info['name'] - models = step_info['models'] - chunk_size = step_info['chunk_size'] - num_processes = step_info['num_processes'] + models = step_info["models"] + chunk_size = step_info["chunk_size"] + num_processes = step_info["num_processes"] - chunk_size = adjust_chunk_size_for_shared_memory(chunk_size, shared_data_buffer, num_processes) + chunk_size = adjust_chunk_size_for_shared_memory( + chunk_size, shared_data_buffer, num_processes + ) - inject.add_injectable('data_buffers', shared_data_buffer) + inject.add_injectable("data_buffers", shared_data_buffer) inject.add_injectable("chunk_size", chunk_size) inject.add_injectable("num_processes", num_processes) @@ -799,8 +837,11 @@ def run_simulation(queue, step_info, resume_after, shared_data_buffer): info(f"resume_after {resume_after}") # if they specified a resume_after model, check to make sure it is checkpointed - if resume_after != LAST_CHECKPOINT and \ - resume_after not in pipeline.get_checkpoints()[pipeline.CHECKPOINT_NAME].values: + if ( + resume_after != LAST_CHECKPOINT + and resume_after + not in pipeline.get_checkpoints()[pipeline.CHECKPOINT_NAME].values + ): # if not checkpointed, then fall back to last checkpoint info(f"resume_after checkpoint '{resume_after}' not in pipeline.") resume_after = LAST_CHECKPOINT @@ -810,9 +851,9 @@ def run_simulation(queue, step_info, resume_after, shared_data_buffer): if last_checkpoint in models: info(f"Resuming model run list after {last_checkpoint}") - models = models[models.index(last_checkpoint) + 1:] + models = models[models.index(last_checkpoint) + 1 :] - assert inject.get_injectable('preload_injectables', None) + assert inject.get_injectable("preload_injectables", None) t0 = tracing.print_elapsed_time() for model in models: @@ -826,12 +867,12 @@ def run_simulation(queue, step_info, resume_after, shared_data_buffer): raise e tracing.log_runtime(model_name=model, start_time=t1) - queue.put({'model': model, 'time': time.time()-t1}) + queue.put({"model": model, "time": time.time() - t1}) tracing.print_elapsed_time("run (%s models)" % len(models), t0) # add checkpoint with final tables even if not intermediate checkpointing - checkpoint_name = step_info['name'] + checkpoint_name = step_info["name"] pipeline.add_checkpoint(checkpoint_name) pipeline.close_pipeline() @@ -859,11 +900,13 @@ def mp_run_simulation(locutor, queue, injectables, step_info, resume_after, **kw setup_injectables_and_logging(injectables, locutor=locutor) - debug(f"mp_run_simulation {step_info['name']} locutor={inject.get_injectable('locutor', False)} ") + debug( + f"mp_run_simulation {step_info['name']} locutor={inject.get_injectable('locutor', False)} " + ) try: - if step_info['num_processes'] > 1: + if step_info["num_processes"] > 1: pipeline_prefix = multiprocessing.current_process().name logger.debug(f"injecting pipeline_file_prefix '{pipeline_prefix}'") inject.add_injectable("pipeline_file_prefix", pipeline_prefix) @@ -897,7 +940,9 @@ def mp_apportion_pipeline(injectables, sub_proc_names, step_info): try: apportion_pipeline(sub_proc_names, step_info) except Exception as e: - exception(f"{type(e).__name__} exception caught in mp_apportion_pipeline: {str(e)}") + exception( + f"{type(e).__name__} exception caught in mp_apportion_pipeline: {str(e)}" + ) raise e @@ -923,7 +968,7 @@ def mp_setup_skims(injectables, **kwargs): try: shared_data_buffer = kwargs - network_los_preload = inject.get_injectable('network_los_preload', None) + network_los_preload = inject.get_injectable("network_los_preload", None) if network_los_preload is not None: network_los_preload.load_shared_data(shared_data_buffer) @@ -952,7 +997,9 @@ def mp_coalesce_pipelines(injectables, sub_proc_names, slice_info): try: coalesce_pipelines(sub_proc_names, slice_info) except Exception as e: - exception(f"{type(e).__name__} exception caught in coalesce_pipelines: {str(e)}") + exception( + f"{type(e).__name__} exception caught in coalesce_pipelines: {str(e)}" + ) raise e @@ -975,7 +1022,7 @@ def allocate_shared_skim_buffers(): info("allocate_shared_skim_buffer") - network_los = inject.get_injectable('network_los_preload', None) + network_los = inject.get_injectable("network_los_preload", None) if network_los is not None: skim_buffers = network_los.allocate_shared_skim_buffers() else: @@ -995,22 +1042,56 @@ def allocate_shared_shadow_pricing_buffers(): info("allocate_shared_shadow_pricing_buffers") - shadow_pricing_info = inject.get_injectable('shadow_pricing_info', None) + shadow_pricing_info = inject.get_injectable("shadow_pricing_info", None) if shadow_pricing_info is not None: from activitysim.abm.tables import shadow_pricing - shadow_pricing_buffers = shadow_pricing.buffers_for_shadow_pricing(shadow_pricing_info) + + shadow_pricing_buffers = shadow_pricing.buffers_for_shadow_pricing( + shadow_pricing_info + ) else: shadow_pricing_buffers = {} return shadow_pricing_buffers +def allocate_shared_shadow_pricing_buffers_choice(): + """ + This is called by the main process to allocate memory buffer to share with subprocs + + Returns + ------- + multiprocessing.RawArray + """ + + info("allocate_shared_shadow_pricing_buffers_choice") + + shadow_pricing_choice_info = inject.get_injectable( + "shadow_pricing_choice_info", None + ) + + if shadow_pricing_choice_info is not None: + from activitysim.abm.tables import shadow_pricing + + shadow_pricing_buffers_choice = ( + shadow_pricing.buffers_for_shadow_pricing_choice(shadow_pricing_choice_info) + ) + else: + shadow_pricing_buffers_choice = {} + + return shadow_pricing_buffers_choice + + def run_sub_simulations( - injectables, - shared_data_buffers, - step_info, process_names, - resume_after, previously_completed, fail_fast): + injectables, + shared_data_buffers, + step_info, + process_names, + resume_after, + previously_completed, + fail_fast, +): """ Launch sub processes to run models in step according to specification in step_info. @@ -1046,12 +1127,15 @@ def run_sub_simulations( names of sub_processes that completed successfully """ + def log_queued_messages(): for process, queue in zip(procs, queues): while not queue.empty(): msg = queue.get(block=False) - model_name = msg['model'] - info(f"{process.name} {model_name} : {tracing.format_elapsed_time(msg['time'])}") + model_name = msg["model"] + info( + f"{process.name} {model_name} : {tracing.format_elapsed_time(msg['time'])}" + ) mem.trace_memory_info(f"{process.name}.{model_name}.completed") def check_proc_status(): @@ -1065,7 +1149,7 @@ def check_proc_status(): if p.name not in completed: info(f"process {p.name} completed") completed.add(p.name) - drop_breadcrumb(step_name, 'completed', list(completed)) + drop_breadcrumb(step_name, "completed", list(completed)) mem.trace_memory_info(f"{p.name}.completed") else: # process failed @@ -1084,10 +1168,10 @@ def check_proc_status(): info(f"error terminating process {op.name}: {e}") raise RuntimeError("Process %s failed" % (p.name,)) - step_name = step_info['name'] + step_name = step_info["name"] t0 = tracing.print_elapsed_time() - info(f'run_sub_simulations step {step_name} models resume_after {resume_after}') + info(f"run_sub_simulations step {step_name} models resume_after {resume_after}") # if resuming and some processes completed successfully in previous run if previously_completed: @@ -1097,15 +1181,19 @@ def check_proc_status(): if resume_after == LAST_CHECKPOINT: # if we are resuming where previous run left off, then we can skip running # any subprocudures that successfully complete the previous run - process_names = [name for name in process_names if name not in previously_completed] - info(f'step {step_name}: skipping {len(previously_completed)} previously completed subprocedures') + process_names = [ + name for name in process_names if name not in previously_completed + ] + info( + f"step {step_name}: skipping {len(previously_completed)} previously completed subprocedures" + ) else: # if we are resuming after a specific model, then force all subprocesses to run # (assuming if they specified a model, they really want everything after that to run) previously_completed = [] # if not the first step, resume_after the last checkpoint from the previous step - if resume_after is None and step_info['step_num'] > 0: + if resume_after is None and step_info["step_num"] > 0: resume_after = LAST_CHECKPOINT num_simulations = len(process_names) @@ -1114,17 +1202,19 @@ def check_proc_status(): completed = set(previously_completed) failed = set([]) # so we can log process failure first time it happens - drop_breadcrumb(step_name, 'completed', list(completed)) + drop_breadcrumb(step_name, "completed", list(completed)) for i, process_name in enumerate(process_names): q = multiprocessing.Queue() - locutor = (i == 0) - - args = OrderedDict(locutor=locutor, - queue=q, - injectables=injectables, - step_info=step_info, - resume_after=resume_after) + locutor = i == 0 + + args = OrderedDict( + locutor=locutor, + queue=q, + injectables=injectables, + step_info=step_info, + resume_after=resume_after, + ) # debug(f"create_process {process_name} target={mp_run_simulation}") # for k in args: @@ -1132,9 +1222,18 @@ def check_proc_status(): # for k in shared_data_buffers: # debug(f"create_process {process_name} shared_data_buffers {k}={shared_data_buffers[k]}") - p = multiprocessing.Process(target=mp_run_simulation, name=process_name, - args=(locutor, q, injectables, step_info, resume_after,), - kwargs=shared_data_buffers) + p = multiprocessing.Process( + target=mp_run_simulation, + name=process_name, + args=( + locutor, + q, + injectables, + step_info, + resume_after, + ), + kwargs=shared_data_buffers, + ) procs.append(p) queues.append(q) @@ -1159,7 +1258,7 @@ def __setstate__(self, state): # XXX the correct long-term fix. See issue 23060 #assert _winapi.GetLastError() == _winapi.ERROR_ALREADY_EXISTS """ - if sys.platform == 'win32': + if sys.platform == "win32": time.sleep(1) mem.trace_memory_info(f"{p.name}.start") @@ -1170,7 +1269,9 @@ def __setstate__(self, state): # monitor sub process status and drop breadcrumbs or fail_fast as they terminate check_proc_status() # monitor memory usage - mem.trace_memory_info("run_sub_simulations.idle", trace_ticks=mem.MEM_PARENT_TRACE_TICK_LEN) + mem.trace_memory_info( + "run_sub_simulations.idle", trace_ticks=mem.MEM_PARENT_TRACE_TICK_LEN + ) time.sleep(1) # clean up any messages or breadcrumbs that occurred while we slept @@ -1188,7 +1289,7 @@ def __setstate__(self, state): info(f"Process {p.name} completed with exitcode {p.exitcode}") assert p.name in completed - t0 = tracing.print_elapsed_time('run_sub_simulations step %s' % step_name, t0) + t0 = tracing.print_elapsed_time("run_sub_simulations step %s" % step_name, t0) return list(completed) @@ -1211,13 +1312,15 @@ def run_sub_task(p): p.start() while multiprocessing.active_children(): - mem.trace_memory_info("run_sub_simulations.idle", trace_ticks=mem.MEM_PARENT_TRACE_TICK_LEN) + mem.trace_memory_info( + "run_sub_simulations.idle", trace_ticks=mem.MEM_PARENT_TRACE_TICK_LEN + ) time.sleep(1) # no need to join explicitly since multiprocessing.active_children joins completed procs # p.join() - t0 = tracing.print_elapsed_time('#run_model sub_process %s' % p.name, t0) + t0 = tracing.print_elapsed_time("#run_model sub_process %s" % p.name, t0) # info(f'{p.name}.exitcode = {p.exitcode}') mem.trace_memory_info(f"run_model {p.name} completed") @@ -1248,9 +1351,9 @@ def drop_breadcrumb(step_name, crumb, value=True): ------- """ - breadcrumbs = inject.get_injectable('breadcrumbs', OrderedDict()) - breadcrumbs.setdefault(step_name, {'name': step_name})[crumb] = value - inject.add_injectable('breadcrumbs', breadcrumbs) + breadcrumbs = inject.get_injectable("breadcrumbs", OrderedDict()) + breadcrumbs.setdefault(step_name, {"name": step_name})[crumb] = value + inject.add_injectable("breadcrumbs", breadcrumbs) write_breadcrumbs(breadcrumbs) @@ -1288,14 +1391,16 @@ def run_multiprocess(injectables): run_list = get_run_list() - if not run_list['multiprocess']: - raise RuntimeError("run_multiprocess called but multiprocess flag is %s" % - run_list['multiprocess']) + if not run_list["multiprocess"]: + raise RuntimeError( + "run_multiprocess called but multiprocess flag is %s" + % run_list["multiprocess"] + ) - old_breadcrumbs = run_list.get('breadcrumbs', {}) + old_breadcrumbs = run_list.get("breadcrumbs", {}) # raise error if any sub-process fails without waiting for others to complete - fail_fast = setting('fail_fast') + fail_fast = setting("fail_fast") info(f"run_multiprocess fail_fast: {fail_fast}") def skip_phase(phase): @@ -1314,32 +1419,41 @@ def find_breadcrumb(crumb, default=None): t0 = tracing.print_elapsed_time() shared_data_buffers.update(allocate_shared_skim_buffers()) - t0 = tracing.print_elapsed_time('allocate shared skim buffer', t0) + t0 = tracing.print_elapsed_time("allocate shared skim buffer", t0) mem.trace_memory_info("allocate_shared_skim_buffer.completed") # combine shared_skim_buffer and shared_shadow_pricing_buffer in shared_data_buffer t0 = tracing.print_elapsed_time() shared_data_buffers.update(allocate_shared_shadow_pricing_buffers()) - t0 = tracing.print_elapsed_time('allocate shared shadow_pricing buffer', t0) + t0 = tracing.print_elapsed_time("allocate shared shadow_pricing buffer", t0) mem.trace_memory_info("allocate_shared_shadow_pricing_buffers.completed") + # combine shared_shadow_pricing_buffers to pool choices across all processes + t0 = tracing.print_elapsed_time() + shared_data_buffers.update(allocate_shared_shadow_pricing_buffers_choice()) + t0 = tracing.print_elapsed_time("allocate shared shadow_pricing choice buffer", t0) + mem.trace_memory_info("allocate_shared_shadow_pricing_buffers_choice.completed") + # - mp_setup_skims if len(shared_data_buffers) > 0: run_sub_task( multiprocessing.Process( - target=mp_setup_skims, name='mp_setup_skims', args=(injectables,), - kwargs=shared_data_buffers) + target=mp_setup_skims, + name="mp_setup_skims", + args=(injectables,), + kwargs=shared_data_buffers, + ) ) - t0 = tracing.print_elapsed_time('setup shared_data_buffers', t0) + t0 = tracing.print_elapsed_time("setup shared_data_buffers", t0) mem.trace_memory_info("mp_setup_skims.completed") # - for each step in run list - for step_info in run_list['multiprocess_steps']: + for step_info in run_list["multiprocess_steps"]: - step_name = step_info['name'] + step_name = step_info["name"] - num_processes = step_info['num_processes'] - slice_info = step_info.get('slice', None) + num_processes = step_info["num_processes"] + slice_info = step_info.get("slice", None) if num_processes == 1: sub_proc_names = [step_name] @@ -1347,43 +1461,53 @@ def find_breadcrumb(crumb, default=None): sub_proc_names = ["%s_%s" % (step_name, i) for i in range(num_processes)] # - mp_apportion_pipeline - if not skip_phase('apportion') and num_processes > 1: + if not skip_phase("apportion") and num_processes > 1: run_sub_task( multiprocessing.Process( - target=mp_apportion_pipeline, name='%s_apportion' % step_name, - args=(injectables, sub_proc_names, step_info)) + target=mp_apportion_pipeline, + name="%s_apportion" % step_name, + args=(injectables, sub_proc_names, step_info), + ) ) - drop_breadcrumb(step_name, 'apportion') + drop_breadcrumb(step_name, "apportion") # - run_sub_simulations - if not skip_phase('simulate'): - resume_after = step_info.get('resume_after', None) - - previously_completed = find_breadcrumb('completed', default=[]) - - completed = run_sub_simulations(injectables, - shared_data_buffers, - step_info, - sub_proc_names, - resume_after, previously_completed, fail_fast) + if not skip_phase("simulate"): + resume_after = step_info.get("resume_after", None) + + previously_completed = find_breadcrumb("completed", default=[]) + + completed = run_sub_simulations( + injectables, + shared_data_buffers, + step_info, + sub_proc_names, + resume_after, + previously_completed, + fail_fast, + ) if len(completed) != num_processes: - raise RuntimeError("%s processes failed in step %s" % - (num_processes - len(completed), step_name)) - drop_breadcrumb(step_name, 'simulate') + raise RuntimeError( + "%s processes failed in step %s" + % (num_processes - len(completed), step_name) + ) + drop_breadcrumb(step_name, "simulate") # - mp_coalesce_pipelines - if not skip_phase('coalesce') and num_processes > 1: + if not skip_phase("coalesce") and num_processes > 1: run_sub_task( multiprocessing.Process( - target=mp_coalesce_pipelines, name='%s_coalesce' % step_name, - args=(injectables, sub_proc_names, slice_info)) + target=mp_coalesce_pipelines, + name="%s_coalesce" % step_name, + args=(injectables, sub_proc_names, slice_info), + ) ) - drop_breadcrumb(step_name, 'coalesce') + drop_breadcrumb(step_name, "coalesce") # add checkpoint with final tables even if not intermediate checkpointing if not pipeline.intermediate_checkpoint(): - pipeline.open_pipeline('_') + pipeline.open_pipeline("_") pipeline.add_checkpoint(pipeline.FINAL_CHECKPOINT_NAME) pipeline.close_pipeline() @@ -1418,7 +1542,7 @@ def get_breadcrumbs(run_list): validated and annotated breadcrumbs file from previous run """ - resume_after = run_list['resume_after'] + resume_after = run_list["resume_after"] assert resume_after is not None # - read breadcrumbs file from previous run @@ -1436,31 +1560,40 @@ def get_breadcrumbs(run_list): previous_steps = list(breadcrumbs.keys()) # find the run_list step resume_after is in - resume_step = next((step for step in run_list['multiprocess_steps'] - if resume_after in step['models']), None) + resume_step = next( + ( + step + for step in run_list["multiprocess_steps"] + if resume_after in step["models"] + ), + None, + ) - resume_step_name = resume_step['name'] + resume_step_name = resume_step["name"] if resume_step_name not in previous_steps: error(f"resume_after model '{resume_after}' not in breadcrumbs") - raise RuntimeError("resume_after model '%s' not in breadcrumbs" % resume_after) + raise RuntimeError( + "resume_after model '%s' not in breadcrumbs" % resume_after + ) # drop any previous_breadcrumbs steps after resume_step - for step in previous_steps[previous_steps.index(resume_step_name) + 1:]: + for step in previous_steps[previous_steps.index(resume_step_name) + 1 :]: del breadcrumbs[step] # if resume_after is not the last model in the step # then we need to rerun the simulations in that step, even if they succeeded - if resume_after in resume_step['models'][:-1]: - if 'simulate' in breadcrumbs[resume_step_name]: - breadcrumbs[resume_step_name]['simulate'] = None - if 'coalesce' in breadcrumbs[resume_step_name]: - breadcrumbs[resume_step_name]['coalesce'] = None - - multiprocess_step_names = [step['name'] for step in run_list['multiprocess_steps']] - if list(breadcrumbs.keys()) != multiprocess_step_names[:len(breadcrumbs)]: - raise RuntimeError("last run steps don't match run list: %s" % - list(breadcrumbs.keys())) + if resume_after in resume_step["models"][:-1]: + if "simulate" in breadcrumbs[resume_step_name]: + breadcrumbs[resume_step_name]["simulate"] = None + if "coalesce" in breadcrumbs[resume_step_name]: + breadcrumbs[resume_step_name]["coalesce"] = None + + multiprocess_step_names = [step["name"] for step in run_list["multiprocess_steps"]] + if list(breadcrumbs.keys()) != multiprocess_step_names[: len(breadcrumbs)]: + raise RuntimeError( + "last run steps don't match run list: %s" % list(breadcrumbs.keys()) + ) return breadcrumbs @@ -1514,36 +1647,46 @@ def get_run_list(): validated and annotated run_list """ - models = setting('models', []) - multiprocess_steps = setting('multiprocess_steps', []) + models = setting("models", []) + multiprocess_steps = setting("multiprocess_steps", []) - resume_after = inject.get_injectable('resume_after', None) or setting('resume_after', None) - multiprocess = inject.get_injectable('multiprocess', False) or setting('multiprocess', False) + resume_after = inject.get_injectable("resume_after", None) or setting( + "resume_after", None + ) + multiprocess = inject.get_injectable("multiprocess", False) or setting( + "multiprocess", False + ) # default settings that can be overridden by settings in individual steps - global_chunk_size = setting('chunk_size', 0) or 0 - default_mp_processes = setting('num_processes', 0) or int(1 + multiprocessing.cpu_count() / 2.0) + global_chunk_size = setting("chunk_size", 0) or 0 + default_mp_processes = setting("num_processes", 0) or int( + 1 + multiprocessing.cpu_count() / 2.0 + ) if multiprocess and multiprocessing.cpu_count() == 1: warning("Can't multiprocess because there is only 1 cpu") run_list = { - 'models': models, - 'resume_after': resume_after, - 'multiprocess': multiprocess, + "models": models, + "resume_after": resume_after, + "multiprocess": multiprocess, # 'multiprocess_steps': multiprocess_steps # add this later if multiprocess } if not models or not isinstance(models, list): - raise RuntimeError('No models list in settings file') + raise RuntimeError("No models list in settings file") if resume_after == models[-1]: - raise RuntimeError("resume_after '%s' is last model in models list" % resume_after) + raise RuntimeError( + "resume_after '%s' is last model in models list" % resume_after + ) if multiprocess: if not multiprocess_steps: - raise RuntimeError("multiprocess setting is %s but no multiprocess_steps setting" % - multiprocess) + raise RuntimeError( + "multiprocess setting is %s but no multiprocess_steps setting" + % multiprocess + ) # check step name, num_processes, chunk_size and presence of slice info num_steps = len(multiprocess_steps) @@ -1551,46 +1694,56 @@ def get_run_list(): for istep in range(num_steps): step = multiprocess_steps[istep] - step['step_num'] = istep + step["step_num"] = istep # - validate step name - name = step.get('name', None) + name = step.get("name", None) if not name: - raise RuntimeError("missing name for step %s" - " in multiprocess_steps" % istep) + raise RuntimeError( + "missing name for step %s" " in multiprocess_steps" % istep + ) if name in step_names: - raise RuntimeError("duplicate step name %s" - " in multiprocess_steps" % name) + raise RuntimeError( + "duplicate step name %s" " in multiprocess_steps" % name + ) if name in models: - raise RuntimeError(f"multiprocess_steps step name '{name}' cannot also be a model name") + raise RuntimeError( + f"multiprocess_steps step name '{name}' cannot also be a model name" + ) step_names.add(name) # - validate num_processes and assign default - num_processes = step.get('num_processes', 0) + num_processes = step.get("num_processes", 0) if not isinstance(num_processes, int) or num_processes < 0: - raise RuntimeError("bad value (%s) for num_processes for step %s" - " in multiprocess_steps" % (num_processes, name)) + raise RuntimeError( + "bad value (%s) for num_processes for step %s" + " in multiprocess_steps" % (num_processes, name) + ) - if 'slice' in step: + if "slice" in step: if num_processes == 0: info(f"Setting num_processes = {num_processes} for step {name}") num_processes = default_mp_processes if num_processes > multiprocessing.cpu_count(): - warning(f"num_processes setting ({num_processes}) " - f"greater than cpu count ({ multiprocessing.cpu_count()})") + warning( + f"num_processes setting ({num_processes}) " + f"greater than cpu count ({ multiprocessing.cpu_count()})" + ) else: if num_processes == 0: num_processes = 1 if num_processes > 1: - raise RuntimeError("num_processes > 1 but no slice info for step %s" - " in multiprocess_steps" % name) + raise RuntimeError( + "num_processes > 1 but no slice info for step %s" + " in multiprocess_steps" % name + ) - multiprocess_steps[istep]['num_processes'] = num_processes + multiprocess_steps[istep]["num_processes"] = num_processes # - validate chunk_size and assign default - chunk_size = step.get('chunk_size', None) + chunk_size = step.get("chunk_size", None) if chunk_size is None: if global_chunk_size > 0 and num_processes > 1: chunk_size = int(round(global_chunk_size / num_processes)) @@ -1598,77 +1751,91 @@ def get_run_list(): else: chunk_size = global_chunk_size - multiprocess_steps[istep]['chunk_size'] = chunk_size + multiprocess_steps[istep]["chunk_size"] = chunk_size # - determine index in models list of step starts - start_tag = 'begin' + start_tag = "begin" starts = [0] * len(multiprocess_steps) for istep in range(num_steps): step = multiprocess_steps[istep] - name = step['name'] + name = step["name"] - slice = step.get('slice', None) + slice = step.get("slice", None) if slice: - if 'tables' not in slice: - raise RuntimeError("missing tables list for step %s" - " in multiprocess_steps" % istep) + if "tables" not in slice: + raise RuntimeError( + "missing tables list for step %s" + " in multiprocess_steps" % istep + ) start = step.get(start_tag, None) if not name: - raise RuntimeError("missing %s tag for step '%s' (%s)" - " in multiprocess_steps" % - (start_tag, name, istep)) + raise RuntimeError( + "missing %s tag for step '%s' (%s)" + " in multiprocess_steps" % (start_tag, name, istep) + ) if start not in models: - raise RuntimeError("%s tag '%s' for step '%s' (%s) not in models list" % - (start_tag, start, name, istep)) + raise RuntimeError( + "%s tag '%s' for step '%s' (%s) not in models list" + % (start_tag, start, name, istep) + ) starts[istep] = models.index(start) if istep == 0 and starts[istep] != 0: - raise RuntimeError("%s tag '%s' for first step '%s' (%s)" - " is not first model in models list" % - (start_tag, start, name, istep)) + raise RuntimeError( + "%s tag '%s' for first step '%s' (%s)" + " is not first model in models list" + % (start_tag, start, name, istep) + ) if istep > 0 and starts[istep] <= starts[istep - 1]: - raise RuntimeError("%s tag '%s' for step '%s' (%s)" - " falls before that of prior step in models list" % - (start_tag, start, name, istep)) + raise RuntimeError( + "%s tag '%s' for step '%s' (%s)" + " falls before that of prior step in models list" + % (start_tag, start, name, istep) + ) # remember there should always be a final checkpoint with same name as multiprocess_step name - multiprocess_steps[istep]['last_checkpoint_in_previous_multiprocess_step'] = \ - multiprocess_steps[istep - 1].get('name') if istep > 0 else None + multiprocess_steps[istep][ + "last_checkpoint_in_previous_multiprocess_step" + ] = (multiprocess_steps[istep - 1].get("name") if istep > 0 else None) # - build individual step model lists based on starts starts.append(len(models)) # so last step gets remaining models in list for istep in range(num_steps): - step_models = models[starts[istep]: starts[istep + 1]] + step_models = models[starts[istep] : starts[istep + 1]] if step_models[-1][0] == LAST_CHECKPOINT: - raise RuntimeError("Final model '%s' in step %s models list not checkpointed" % - (step_models[-1], name)) + raise RuntimeError( + "Final model '%s' in step %s models list not checkpointed" + % (step_models[-1], name) + ) - multiprocess_steps[istep]['models'] = step_models + multiprocess_steps[istep]["models"] = step_models - run_list['multiprocess_steps'] = multiprocess_steps + run_list["multiprocess_steps"] = multiprocess_steps # - add resume breadcrumbs if resume_after: breadcrumbs = get_breadcrumbs(run_list) if breadcrumbs: - run_list['breadcrumbs'] = breadcrumbs + run_list["breadcrumbs"] = breadcrumbs # - add resume_after to last step if resume_after is not None: # get_breadcrumbs should have deleted breadcrumbs for any subsequent steps istep = len(breadcrumbs) - 1 - assert resume_after == LAST_CHECKPOINT or \ - resume_after in multiprocess_steps[istep]['models'] - multiprocess_steps[istep]['resume_after'] = resume_after + assert ( + resume_after == LAST_CHECKPOINT + or resume_after in multiprocess_steps[istep]["models"] + ) + multiprocess_steps[istep]["resume_after"] = resume_after # - write run list to output dir # use log_file_path so we use (optional) log subdir and prefix process name - with config.open_log_file('run_list.txt', 'w') as f: + with config.open_log_file("run_list.txt", "w") as f: print_run_list(run_list, f) return run_list @@ -1687,18 +1854,18 @@ def print_run_list(run_list, output_file=None): if output_file is None: output_file = sys.stdout - print("resume_after:", run_list['resume_after'], file=output_file) - print("multiprocess:", run_list['multiprocess'], file=output_file) + print("resume_after:", run_list["resume_after"], file=output_file) + print("multiprocess:", run_list["multiprocess"], file=output_file) print("models:", file=output_file) - for m in run_list['models']: + for m in run_list["models"]: print(" - ", m, file=output_file) # - print multiprocess_steps - if run_list['multiprocess']: + if run_list["multiprocess"]: print("\nmultiprocess_steps:", file=output_file) - for step in run_list['multiprocess_steps']: - print(" step:", step['name'], file=output_file) + for step in run_list["multiprocess_steps"]: + print(" step:", step["name"], file=output_file) for k in step: if isinstance(step[k], list): print(" %s:" % k, file=output_file) @@ -1708,7 +1875,7 @@ def print_run_list(run_list, output_file=None): print(" %s: %s" % (k, step[k]), file=output_file) # - print breadcrumbs - breadcrumbs = run_list.get('breadcrumbs') + breadcrumbs = run_list.get("breadcrumbs") if breadcrumbs: print("\nbreadcrumbs:", file=output_file) for step_name in breadcrumbs: @@ -1725,7 +1892,7 @@ def print_run_list(run_list, output_file=None): def breadcrumbs_file_path(): # return path to breadcrumbs file in output_dir - return config.build_output_file_path('breadcrumbs.yaml') + return config.build_output_file_path("breadcrumbs.yaml") def read_breadcrumbs(): @@ -1742,10 +1909,10 @@ def read_breadcrumbs(): file_path = breadcrumbs_file_path() if not os.path.exists(file_path): raise IOError("Could not find saved breadcrumbs file '%s'" % file_path) - with open(file_path, 'r') as f: + with open(file_path, "r") as f: breadcrumbs = yaml.load(f, Loader=yaml.SafeLoader) # convert array to ordered dict keyed by step name - breadcrumbs = OrderedDict([(step['name'], step) for step in breadcrumbs]) + breadcrumbs = OrderedDict([(step["name"], step) for step in breadcrumbs]) return breadcrumbs @@ -1768,7 +1935,7 @@ def write_breadcrumbs(breadcrumbs): ---------- breadcrumbs : OrderedDict """ - with open(breadcrumbs_file_path(), 'w') as f: + with open(breadcrumbs_file_path(), "w") as f: # write ordered dict as array breadcrumbs = [step for step in list(breadcrumbs.values())] yaml.dump(breadcrumbs, f) @@ -1796,4 +1963,4 @@ def if_sub_task(if_is, if_isnt): (any type) (one of parameters if_is or if_isnt) """ - return if_is if inject.get_injectable('is_sub_task', False) else if_isnt + return if_is if inject.get_injectable("is_sub_task", False) else if_isnt diff --git a/activitysim/core/pathbuilder.py b/activitysim/core/pathbuilder.py index d4cee77504..91107e08e7 100644 --- a/activitysim/core/pathbuilder.py +++ b/activitysim/core/pathbuilder.py @@ -1,27 +1,26 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - import logging import warnings +from builtins import range + import numpy as np import pandas as pd -from activitysim.core import tracing -from activitysim.core import inject -from activitysim.core import config -from activitysim.core import chunk -from activitysim.core import logit -from activitysim.core import simulate -from activitysim.core import los -from activitysim.core import pathbuilder_cache - -from activitysim.core.util import reindex - -from activitysim.core import expressions -from activitysim.core import assign - +from activitysim.core import ( + assign, + chunk, + config, + expressions, + inject, + logit, + los, + pathbuilder_cache, + simulate, + tracing, +) from activitysim.core.pathbuilder_cache import memo +from activitysim.core.util import reindex logger = logging.getLogger(__name__) @@ -33,31 +32,40 @@ UNAVAILABLE = -999 # used as base file name for cached files and as shared buffer tag -CACHE_TAG = 'tap_tap_utilities' - - -def compute_utilities(network_los, model_settings, choosers, model_constants, - trace_label, trace=False, trace_column_names=None): +CACHE_TAG = "tap_tap_utilities" + + +def compute_utilities( + network_los, + model_settings, + choosers, + model_constants, + trace_label, + trace=False, + trace_column_names=None, +): """ Compute utilities """ - trace_label = tracing.extend_trace_label(trace_label, 'compute_utils') + trace_label = tracing.extend_trace_label(trace_label, "compute_utils") with chunk.chunk_log(trace_label): - logger.debug(f"{trace_label} Running compute_utilities with {choosers.shape[0]} choosers") + logger.debug( + f"{trace_label} Running compute_utilities with {choosers.shape[0]} choosers" + ) - locals_dict = {'np': np, 'los': network_los} + locals_dict = {"np": np, "los": network_los} locals_dict.update(model_constants) # we don't grok coefficients, but allow them to use constants in spec alt columns - spec = simulate.read_model_spec(file_name=model_settings['SPEC']) + spec = simulate.read_model_spec(file_name=model_settings["SPEC"]) for c in spec.columns: if c != simulate.SPEC_LABEL_NAME: spec[c] = spec[c].map(lambda s: model_constants.get(s, s)).astype(float) # - run preprocessor to annotate choosers - preprocessor_settings = model_settings.get('PREPROCESSOR') + preprocessor_settings = model_settings.get("PREPROCESSOR") if preprocessor_settings: # don't want to alter caller's dataframe @@ -67,7 +75,8 @@ def compute_utilities(network_los, model_settings, choosers, model_constants, df=choosers, model_settings=preprocessor_settings, locals_dict=locals_dict, - trace_label=trace_label) + trace_label=trace_label, + ) utilities = simulate.eval_utilities( spec, @@ -75,7 +84,8 @@ def compute_utilities(network_los, model_settings, choosers, model_constants, locals_d=locals_dict, trace_all_rows=trace, trace_label=trace_label, - trace_column_names=trace_column_names) + trace_column_names=trace_column_names, + ) return utilities @@ -84,6 +94,7 @@ class TransitVirtualPathBuilder(object): """ Transit virtual path builder for three zone systems """ + def __init__(self, network_los): self.network_los = network_los @@ -91,130 +102,168 @@ def __init__(self, network_los): self.uid_calculator = pathbuilder_cache.TapTapUidCalculator(network_los) # note: pathbuilder_cache is lightweight until opened - self.tap_cache = pathbuilder_cache.TVPBCache(self.network_los, self.uid_calculator, CACHE_TAG) + self.tap_cache = pathbuilder_cache.TVPBCache( + self.network_los, self.uid_calculator, CACHE_TAG + ) - assert network_los.zone_system == los.THREE_ZONE, \ - f"TransitVirtualPathBuilder: network_los zone_system not THREE_ZONE" + assert ( + network_los.zone_system == los.THREE_ZONE + ), f"TransitVirtualPathBuilder: network_los zone_system not THREE_ZONE" def trace_df(self, df, trace_label, extension): assert len(df) > 0 - tracing.trace_df(df, label=tracing.extend_trace_label(trace_label, extension), slicer='NONE', transpose=False) + tracing.trace_df( + df, + label=tracing.extend_trace_label(trace_label, extension), + slicer="NONE", + transpose=False, + ) def trace_maz_tap(self, maz_od_df, access_mode, egress_mode): - def maz_tap_stats(mode, name): maz_tap_df = self.network_los.maz_to_tap_dfs[mode].reset_index() logger.debug(f"TVPB access_maz_tap {maz_tap_df.shape}") MAZ_count = len(maz_tap_df.MAZ.unique()) TAP_count = len(maz_tap_df.TAP.unique()) MAZ_PER_TAP = MAZ_count / TAP_count - logger.debug(f"TVPB maz_tap_stats {name} {mode} MAZ {MAZ_count} TAP {TAP_count} ratio {MAZ_PER_TAP}") + logger.debug( + f"TVPB maz_tap_stats {name} {mode} MAZ {MAZ_count} TAP {TAP_count} ratio {MAZ_PER_TAP}" + ) logger.debug(f"TVPB maz_od_df {maz_od_df.shape}") - maz_tap_stats(access_mode, 'access') - maz_tap_stats(egress_mode, 'egress') + maz_tap_stats(access_mode, "access") + maz_tap_stats(egress_mode, "egress") def units_for_recipe(self, recipe): - units = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.units') - assert units in ['utility', 'time'], \ - f"unrecognized units: {units} for {recipe}. Expected either 'time' or 'utility'." + units = self.network_los.setting(f"TVPB_SETTINGS.{recipe}.units") + assert units in [ + "utility", + "time", + ], f"unrecognized units: {units} for {recipe}. Expected either 'time' or 'utility'." return units - def compute_maz_tap_utilities(self, recipe, maz_od_df, chooser_attributes, leg, mode, trace_label, trace): + def compute_maz_tap_utilities( + self, recipe, maz_od_df, chooser_attributes, leg, mode, trace_label, trace + ): - trace_label = tracing.extend_trace_label(trace_label, f'maz_tap_utils.{leg}') + trace_label = tracing.extend_trace_label(trace_label, f"maz_tap_utils.{leg}") with chunk.chunk_log(trace_label): - maz_tap_settings = \ - self.network_los.setting(f'TVPB_SETTINGS.{recipe}.maz_tap_settings.{mode}') - chooser_columns = maz_tap_settings['CHOOSER_COLUMNS'] - attribute_columns = list(chooser_attributes.columns) if chooser_attributes is not None else [] - model_constants = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.CONSTANTS') - - if leg == 'access': - maz_col = 'omaz' - tap_col = 'btap' + maz_tap_settings = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.maz_tap_settings.{mode}" + ) + chooser_columns = maz_tap_settings["CHOOSER_COLUMNS"] + attribute_columns = ( + list(chooser_attributes.columns) + if chooser_attributes is not None + else [] + ) + model_constants = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.CONSTANTS" + ) + + if leg == "access": + maz_col = "omaz" + tap_col = "btap" else: - maz_col = 'dmaz' - tap_col = 'atap' + maz_col = "dmaz" + tap_col = "atap" # maz_to_tap access/egress utilities # deduped utilities_df - one row per chooser for each boarding tap (btap) accessible from omaz utilities_df = self.network_los.maz_to_tap_dfs[mode] - utilities_df = utilities_df[chooser_columns]. \ - reset_index(drop=False). \ - rename(columns={'MAZ': maz_col, 'TAP': tap_col}) + utilities_df = ( + utilities_df[chooser_columns] + .reset_index(drop=False) + .rename(columns={"MAZ": maz_col, "TAP": tap_col}) + ) utilities_df = pd.merge( - maz_od_df[['idx', maz_col]].drop_duplicates(), + maz_od_df[["idx", maz_col]].drop_duplicates(), utilities_df, - on=maz_col, how='inner') + on=maz_col, + how="inner", + ) if len(utilities_df) == 0: trace = False # add any supplemental chooser attributes (e.g. demographic_segment, tod) for c in attribute_columns: - utilities_df[c] = reindex(chooser_attributes[c], utilities_df['idx']) + utilities_df[c] = reindex(chooser_attributes[c], utilities_df["idx"]) chunk.log_df(trace_label, "utilities_df", utilities_df) - if self.units_for_recipe(recipe) == 'utility': + if self.units_for_recipe(recipe) == "utility": utilities_df[leg] = compute_utilities( self.network_los, maz_tap_settings, utilities_df, model_constants=model_constants, - trace_label=trace_label, trace=trace, - trace_column_names=['idx', maz_col, tap_col] if trace else None) + trace_label=trace_label, + trace=trace, + trace_column_names=["idx", maz_col, tap_col] if trace else None, + ) chunk.log_df(trace_label, "utilities_df", utilities_df) # annotated else: - assignment_spec = \ - assign.read_assignment_spec(file_name=config.config_file_path(maz_tap_settings['SPEC'])) + assignment_spec = assign.read_assignment_spec( + file_name=config.config_file_path(maz_tap_settings["SPEC"]) + ) - results, _, _ = assign.assign_variables(assignment_spec, utilities_df, model_constants) + results, _, _ = assign.assign_variables( + assignment_spec, utilities_df, model_constants + ) assert len(results.columns == 1) utilities_df[leg] = results chunk.log_df(trace_label, "utilities_df", utilities_df) if trace: - self.trace_df(utilities_df, trace_label, 'utilities_df') + self.trace_df(utilities_df, trace_label, "utilities_df") # drop utility computation columns ('tod', 'demographic_segment' and maz_to_tap_df time/distance columns) utilities_df.drop(columns=attribute_columns + chooser_columns, inplace=True) return utilities_df - def all_transit_paths(self, access_df, egress_df, chooser_attributes, trace_label, trace): + def all_transit_paths( + self, access_df, egress_df, chooser_attributes, trace_label, trace + ): - trace_label = tracing.extend_trace_label(trace_label, 'all_transit_paths') + trace_label = tracing.extend_trace_label(trace_label, "all_transit_paths") # deduped transit_df has one row per chooser for each boarding (btap) and alighting (atap) pair transit_df = pd.merge( - access_df[['idx', 'btap']], - egress_df[['idx', 'atap']], - on='idx').drop_duplicates() + access_df[["idx", "btap"]], egress_df[["idx", "atap"]], on="idx" + ).drop_duplicates() # don't want transit trips that start and stop in same tap transit_df = transit_df[transit_df.atap != transit_df.btap] for c in list(chooser_attributes.columns): - transit_df[c] = reindex(chooser_attributes[c], transit_df['idx']) + transit_df[c] = reindex(chooser_attributes[c], transit_df["idx"]) transit_df = transit_df.reset_index(drop=True) if trace: - self.trace_df(transit_df, trace_label, 'all_transit_df') + self.trace_df(transit_df, trace_label, "all_transit_df") return transit_df - def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attributes, path_info, - trace_label, trace): + def compute_tap_tap_utilities( + self, + recipe, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + trace, + ): """ create transit_df and compute utilities for all atap-btap pairs between omaz in access and dmaz in egress_df compute the utilities using the tap_tap utility expressions file specified in tap_tap_settings @@ -244,15 +293,21 @@ def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attrib assert trace - trace_label = tracing.extend_trace_label(trace_label, 'compute_tap_tap_utils') + trace_label = tracing.extend_trace_label(trace_label, "compute_tap_tap_utils") with chunk.chunk_log(trace_label): - model_constants = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.CONSTANTS') - tap_tap_settings = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.tap_tap_settings') + model_constants = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.CONSTANTS" + ) + tap_tap_settings = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.tap_tap_settings" + ) with memo("#TVPB CACHE compute_tap_tap_utilities all_transit_paths"): - transit_df = self.all_transit_paths(access_df, egress_df, chooser_attributes, trace_label, trace) + transit_df = self.all_transit_paths( + access_df, egress_df, chooser_attributes, trace_label, trace + ) # note: transit_df index is arbitrary chunk.log_df(trace_label, "transit_df", transit_df) @@ -261,31 +316,48 @@ def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attrib locals_dict.update(model_constants) # columns needed for compute_utilities - chooser_columns = ['btap', 'atap'] + list(chooser_attributes.columns) + chooser_columns = ["btap", "atap"] + list(chooser_attributes.columns) # deduplicate transit_df to unique_transit_df with memo("#TVPB compute_tap_tap_utilities deduplicate transit_df"): - attribute_segments = \ - self.network_los.setting('TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments') - scalar_attributes = {k: locals_dict[k] for k in attribute_segments.keys() if k not in transit_df} - - transit_df['uid'] = self.uid_calculator.get_unique_ids(transit_df, scalar_attributes) + attribute_segments = self.network_los.setting( + "TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments" + ) + scalar_attributes = { + k: locals_dict[k] + for k in attribute_segments.keys() + if k not in transit_df + } + + transit_df["uid"] = self.uid_calculator.get_unique_ids( + transit_df, scalar_attributes + ) - unique_transit_df = transit_df.loc[~transit_df.uid.duplicated(), chooser_columns + ['uid']] - logger.debug(f"#TVPB CACHE deduped transit_df from {len(transit_df)} to {len(unique_transit_df)}") + unique_transit_df = transit_df.loc[ + ~transit_df.uid.duplicated(), chooser_columns + ["uid"] + ] + logger.debug( + f"#TVPB CACHE deduped transit_df from {len(transit_df)} to {len(unique_transit_df)}" + ) - unique_transit_df.set_index('uid', inplace=True) + unique_transit_df.set_index("uid", inplace=True) chunk.log_df(trace_label, "unique_transit_df", unique_transit_df) - transit_df = transit_df[['idx', 'btap', 'atap', 'uid']] # don't need chooser columns + transit_df = transit_df[ + ["idx", "btap", "atap", "uid"] + ] # don't need chooser columns chunk.log_df(trace_label, "transit_df", transit_df) - logger.debug(f"#TVPB CACHE compute_tap_tap_utilities dedupe transit_df " - f"from {len(transit_df)} to {len(unique_transit_df)} rows") + logger.debug( + f"#TVPB CACHE compute_tap_tap_utilities dedupe transit_df " + f"from {len(transit_df)} to {len(unique_transit_df)} rows" + ) num_unique_transit_rows = len(unique_transit_df) # errcheck - logger.debug(f"#TVPB CACHE compute_tap_tap_utilities compute_utilities for {len(unique_transit_df)} rows") + logger.debug( + f"#TVPB CACHE compute_tap_tap_utilities compute_utilities for {len(unique_transit_df)} rows" + ) with memo("#TVPB compute_tap_tap_utilities compute_utilities"): unique_utilities_df = compute_utilities( @@ -295,16 +367,23 @@ def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attrib model_constants=locals_dict, trace_label=trace_label, trace=trace, - trace_column_names=chooser_columns if trace else None + trace_column_names=chooser_columns if trace else None, ) chunk.log_df(trace_label, "unique_utilities_df", unique_utilities_df) - chunk.log_df(trace_label, "unique_transit_df", unique_transit_df) # annotated + chunk.log_df( + trace_label, "unique_transit_df", unique_transit_df + ) # annotated if trace: # combine unique_transit_df with unique_utilities_df for legibility - omnibus_df = pd.merge(unique_transit_df, unique_utilities_df, - left_index=True, right_index=True, how='left') - self.trace_df(omnibus_df, trace_label, 'unique_utilities_df') + omnibus_df = pd.merge( + unique_transit_df, + unique_utilities_df, + left_index=True, + right_index=True, + how="left", + ) + self.trace_df(omnibus_df, trace_label, "unique_utilities_df") chunk.log_df(trace_label, "omnibus_df", omnibus_df) del omnibus_df chunk.log_df(trace_label, "omnibus_df", None) @@ -315,8 +394,10 @@ def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attrib with memo("#TVPB compute_tap_tap_utilities redupe transit_df"): # idx = transit_df.index - transit_df = pd.merge(transit_df, unique_utilities_df, left_on='uid', right_index=True) - del transit_df['uid'] + transit_df = pd.merge( + transit_df, unique_utilities_df, left_on="uid", right_index=True + ) + del transit_df["uid"] # transit_df.index = idx # note: left merge on columns does not preserve index, # but transit_df index is arbitrary so no need to restore @@ -334,12 +415,20 @@ def compute_tap_tap_utilities(self, recipe, access_df, egress_df, chooser_attrib chunk.log_df(trace_label, "transit_df", None) if trace: - self.trace_df(transit_df, trace_label, 'transit_df') + self.trace_df(transit_df, trace_label, "transit_df") return transit_df - def lookup_tap_tap_utilities(self, recipe, maz_od_df, access_df, egress_df, chooser_attributes, - path_info, trace_label): + def lookup_tap_tap_utilities( + self, + recipe, + maz_od_df, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + ): """ create transit_df and compute utilities for all atap-btap pairs between omaz in access and dmaz in egress_df look up the utilities in the precomputed tap_cache data (which is indexed by uid_calculator unique_ids) @@ -362,21 +451,29 @@ def lookup_tap_tap_utilities(self, recipe, maz_od_df, access_df, egress_df, choo """ - trace_label = tracing.extend_trace_label(trace_label, 'lookup_tap_tap_utils') + trace_label = tracing.extend_trace_label(trace_label, "lookup_tap_tap_utils") with chunk.chunk_log(trace_label): with memo("#TVPB CACHE lookup_tap_tap_utilities all_transit_paths"): - transit_df = self.all_transit_paths(access_df, egress_df, chooser_attributes, trace_label, trace=False) + transit_df = self.all_transit_paths( + access_df, egress_df, chooser_attributes, trace_label, trace=False + ) # note: transit_df index is arbitrary chunk.log_df(trace_label, "transit_df", transit_df) if TRACE_COMPLEXITY: # diagnostic: log the omaz,dmaz pairs with the greatest number of virtual tap-tap paths - num_paths = transit_df.groupby(['idx']).size().to_frame('n') - num_paths = pd.merge(maz_od_df, num_paths, left_on='idx', right_index=True) - num_paths = num_paths[['omaz', 'dmaz', 'n']].drop_duplicates(subset=['omaz', 'dmaz']) - num_paths = num_paths.sort_values('n', ascending=False).reset_index(drop=True) + num_paths = transit_df.groupby(["idx"]).size().to_frame("n") + num_paths = pd.merge( + maz_od_df, num_paths, left_on="idx", right_index=True + ) + num_paths = num_paths[["omaz", "dmaz", "n"]].drop_duplicates( + subset=["omaz", "dmaz"] + ) + num_paths = num_paths.sort_values("n", ascending=False).reset_index( + drop=True + ) logger.debug(f"num_paths\n{num_paths.head(10)}") # FIXME some expressions may want to know access mode - @@ -384,12 +481,21 @@ def lookup_tap_tap_utilities(self, recipe, maz_od_df, access_df, egress_df, choo # add uid column to transit_df with memo("#TVPB lookup_tap_tap_utilities assign uid"): - attribute_segments = \ - self.network_los.setting('TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments') - scalar_attributes = {k: locals_dict[k] for k in attribute_segments.keys() if k not in transit_df} - - transit_df.index = self.uid_calculator.get_unique_ids(transit_df, scalar_attributes) - transit_df = transit_df[['idx', 'btap', 'atap']] # just needed chooser_columns for uid calculation + attribute_segments = self.network_los.setting( + "TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments" + ) + scalar_attributes = { + k: locals_dict[k] + for k in attribute_segments.keys() + if k not in transit_df + } + + transit_df.index = self.uid_calculator.get_unique_ids( + transit_df, scalar_attributes + ) + transit_df = transit_df[ + ["idx", "btap", "atap"] + ] # just needed chooser_columns for uid calculation chunk.log_df(trace_label, "transit_df add uid index", transit_df) with memo("#TVPB lookup_tap_tap_utilities reindex transit_df"): @@ -406,64 +512,93 @@ def lookup_tap_tap_utilities(self, recipe, maz_od_df, access_df, egress_df, choo return transit_df - def compute_tap_tap_time(self, recipe, access_df, egress_df, chooser_attributes, path_info, trace_label, trace): + def compute_tap_tap_time( + self, + recipe, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + trace, + ): - trace_label = tracing.extend_trace_label(trace_label, 'compute_tap_tap_time') + trace_label = tracing.extend_trace_label(trace_label, "compute_tap_tap_time") with chunk.chunk_log(trace_label): - model_constants = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.CONSTANTS') - tap_tap_settings = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.tap_tap_settings') + model_constants = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.CONSTANTS" + ) + tap_tap_settings = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.tap_tap_settings" + ) with memo("#TVPB CACHE compute_tap_tap_utilities all_transit_paths"): - transit_df = self.all_transit_paths(access_df, egress_df, chooser_attributes, trace_label, trace) + transit_df = self.all_transit_paths( + access_df, egress_df, chooser_attributes, trace_label, trace + ) # note: transit_df index is arbitrary chunk.log_df(trace_label, "transit_df", transit_df) # some expressions may want to know access mode - locals_dict = path_info.copy() - locals_dict['los'] = self.network_los + locals_dict["los"] = self.network_los locals_dict.update(model_constants) - assignment_spec = assign.read_assignment_spec(file_name=config.config_file_path(tap_tap_settings['SPEC'])) + assignment_spec = assign.read_assignment_spec( + file_name=config.config_file_path(tap_tap_settings["SPEC"]) + ) DEDUPE = True if DEDUPE: # assign uid for reduping max_atap = transit_df.atap.max() + 1 - transit_df['uid'] = transit_df.btap * max_atap + transit_df.atap + transit_df["uid"] = transit_df.btap * max_atap + transit_df.atap # dedupe chooser_attribute_columns = list(chooser_attributes.columns) - unique_transit_df = \ - transit_df.loc[~transit_df.uid.duplicated(), ['btap', 'atap', 'uid'] + chooser_attribute_columns] - unique_transit_df.set_index('uid', inplace=True) + unique_transit_df = transit_df.loc[ + ~transit_df.uid.duplicated(), + ["btap", "atap", "uid"] + chooser_attribute_columns, + ] + unique_transit_df.set_index("uid", inplace=True) chunk.log_df(trace_label, "unique_transit_df", unique_transit_df) - logger.debug(f"#TVPB CACHE deduped transit_df from {len(transit_df)} to {len(unique_transit_df)}") + logger.debug( + f"#TVPB CACHE deduped transit_df from {len(transit_df)} to {len(unique_transit_df)}" + ) # assign_variables - results, _, _ = assign.assign_variables(assignment_spec, unique_transit_df, locals_dict) + results, _, _ = assign.assign_variables( + assignment_spec, unique_transit_df, locals_dict + ) assert len(results.columns == 1) - unique_transit_df['transit'] = results + unique_transit_df["transit"] = results # redupe results back into transit_df with memo("#TVPB compute_tap_tap_time redupe transit_df"): - transit_df['transit'] = reindex(unique_transit_df.transit, transit_df.uid) + transit_df["transit"] = reindex( + unique_transit_df.transit, transit_df.uid + ) - del transit_df['uid'] + del transit_df["uid"] del unique_transit_df chunk.log_df(trace_label, "transit_df", transit_df) chunk.log_df(trace_label, "unique_transit_df", None) else: - results, _, _ = assign.assign_variables(assignment_spec, transit_df, locals_dict) + results, _, _ = assign.assign_variables( + assignment_spec, transit_df, locals_dict + ) assert len(results.columns == 1) - transit_df['transit'] = results + transit_df["transit"] = results # filter out unavailable btap_atap pairs - logger.debug(f"{(transit_df['transit'] <= 0).sum()} unavailable tap_tap pairs out of {len(transit_df)}") + logger.debug( + f"{(transit_df['transit'] <= 0).sum()} unavailable tap_tap pairs out of {len(transit_df)}" + ) transit_df = transit_df[transit_df.transit > 0] transit_df.drop(columns=chooser_attributes.columns, inplace=True) @@ -471,104 +606,173 @@ def compute_tap_tap_time(self, recipe, access_df, egress_df, chooser_attributes, chunk.log_df(trace_label, "transit_df", None) if trace: - self.trace_df(transit_df, trace_label, 'transit_df') + self.trace_df(transit_df, trace_label, "transit_df") return transit_df - def compute_tap_tap(self, recipe, maz_od_df, access_df, egress_df, chooser_attributes, path_info, - trace_label, trace): + def compute_tap_tap( + self, + recipe, + maz_od_df, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + trace, + ): - if self.units_for_recipe(recipe) == 'utility': + if self.units_for_recipe(recipe) == "utility": if not self.tap_cache.is_open: with memo("#TVPB compute_tap_tap tap_cache.open"): self.tap_cache.open() if trace: - result = \ - self.compute_tap_tap_utilities(recipe, access_df, egress_df, chooser_attributes, - path_info, trace_label, trace) + result = self.compute_tap_tap_utilities( + recipe, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + trace, + ) else: - result = \ - self.lookup_tap_tap_utilities(recipe, maz_od_df, access_df, egress_df, chooser_attributes, - path_info, trace_label) + result = self.lookup_tap_tap_utilities( + recipe, + maz_od_df, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + ) return result else: - assert self.units_for_recipe(recipe) == 'time' + assert self.units_for_recipe(recipe) == "time" with memo("#TVPB compute_tap_tap_time"): - result = self.compute_tap_tap_time(recipe, access_df, egress_df, chooser_attributes, - path_info, trace_label, trace) + result = self.compute_tap_tap_time( + recipe, + access_df, + egress_df, + chooser_attributes, + path_info, + trace_label, + trace, + ) return result - def best_paths(self, recipe, path_type, maz_od_df, access_df, egress_df, transit_df, trace_label, trace=False): + def best_paths( + self, + recipe, + path_type, + maz_od_df, + access_df, + egress_df, + transit_df, + trace_label, + trace=False, + ): - trace_label = tracing.extend_trace_label(trace_label, 'best_paths') + trace_label = tracing.extend_trace_label(trace_label, "best_paths") with chunk.chunk_log(trace_label): - path_settings = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.path_types.{path_type}') - max_paths_per_tap_set = path_settings.get('max_paths_per_tap_set', 1) - max_paths_across_tap_sets = path_settings.get('max_paths_across_tap_sets', 1) + path_settings = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.path_types.{path_type}" + ) + max_paths_per_tap_set = path_settings.get("max_paths_per_tap_set", 1) + max_paths_across_tap_sets = path_settings.get( + "max_paths_across_tap_sets", 1 + ) units = self.units_for_recipe(recipe) - smaller_is_better = (units in ['time']) + smaller_is_better = units in ["time"] - maz_od_df['seq'] = maz_od_df.index + maz_od_df["seq"] = maz_od_df.index # maz_od_df has one row per chooser # inner join to add rows for each access, egress, and transit segment combination - path_df = maz_od_df. \ - merge(access_df, on=['idx', 'omaz'], how='inner'). \ - merge(egress_df, on=['idx', 'dmaz'], how='inner'). \ - merge(transit_df, on=['idx', 'atap', 'btap'], how='inner') + path_df = ( + maz_od_df.merge(access_df, on=["idx", "omaz"], how="inner") + .merge(egress_df, on=["idx", "dmaz"], how="inner") + .merge(transit_df, on=["idx", "atap", "btap"], how="inner") + ) chunk.log_df(trace_label, "path_df", path_df) # transit sets are the transit_df non-join columns - transit_sets = [c for c in transit_df.columns if c not in ['idx', 'atap', 'btap']] + transit_sets = [ + c for c in transit_df.columns if c not in ["idx", "atap", "btap"] + ] if trace: # be nice and show both tap_tap set utility and total_set = access + set + egress for c in transit_sets: - path_df[f'total_{c}'] = path_df[c] + path_df['access'] + path_df['egress'] - self.trace_df(path_df, trace_label, 'best_paths.full') + path_df[f"total_{c}"] = ( + path_df[c] + path_df["access"] + path_df["egress"] + ) + self.trace_df(path_df, trace_label, "best_paths.full") for c in transit_sets: - del path_df[f'total_{c}'] + del path_df[f"total_{c}"] for c in transit_sets: - path_df[c] = path_df[c] + path_df['access'] + path_df['egress'] - path_df.drop(columns=['access', 'egress'], inplace=True) + path_df[c] = path_df[c] + path_df["access"] + path_df["egress"] + path_df.drop(columns=["access", "egress"], inplace=True) # choose best paths by tap set best_paths_list = [] for c in transit_sets: keep = path_df.index.isin( - path_df[['seq', c]].sort_values(by=c, ascending=smaller_is_better). - groupby(['seq']).head(max_paths_per_tap_set).index + path_df[["seq", c]] + .sort_values(by=c, ascending=smaller_is_better) + .groupby(["seq"]) + .head(max_paths_per_tap_set) + .index ) best_paths_for_set = path_df[keep] - best_paths_for_set['path_set'] = c # remember the path set + best_paths_for_set["path_set"] = c # remember the path set best_paths_for_set[units] = path_df[keep][c] best_paths_for_set.drop(columns=transit_sets, inplace=True) best_paths_list.append(best_paths_for_set) - path_df = pd.concat(best_paths_list).sort_values(by=['seq', units], ascending=[True, smaller_is_better]) + path_df = pd.concat(best_paths_list).sort_values( + by=["seq", units], ascending=[True, smaller_is_better] + ) # choose best paths overall by seq - path_df = path_df.sort_values(by=['seq', units], ascending=[True, smaller_is_better]) - path_df = path_df[path_df.index.isin(path_df.groupby(['seq']).head(max_paths_across_tap_sets).index)] + path_df = path_df.sort_values( + by=["seq", units], ascending=[True, smaller_is_better] + ) + path_df = path_df[ + path_df.index.isin( + path_df.groupby(["seq"]).head(max_paths_across_tap_sets).index + ) + ] if trace: - self.trace_df(path_df, trace_label, 'best_paths') + self.trace_df(path_df, trace_label, "best_paths") return path_df - def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_segment, - want_choices, trace_label, - filter_targets=None, trace=False, override_choices=None): - - trace_label = tracing.extend_trace_label(trace_label, 'build_virtual_path') + def build_virtual_path( + self, + recipe, + path_type, + orig, + dest, + tod, + demographic_segment, + want_choices, + trace_label, + filter_targets=None, + trace=False, + override_choices=None, + ): + + trace_label = tracing.extend_trace_label(trace_label, "build_virtual_path") # Tracing is implemented as a seperate, second call that operates ONLY on filter_targets assert not (trace and filter_targets is None) @@ -595,49 +799,68 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg override_choices = override_choices[filter_targets] units = self.units_for_recipe(recipe) - assert units == 'utility' or not want_choices, "'want_choices' only supported supported if units is utility" - - access_mode = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.path_types.{path_type}.access') - egress_mode = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.path_types.{path_type}.egress') - path_types_settings = self.network_los.setting(f'TVPB_SETTINGS.{recipe}.path_types.{path_type}') - attributes_as_columns = \ - self.network_los.setting(f'TVPB_SETTINGS.{recipe}.tap_tap_settings.attributes_as_columns', []) - - path_info = {'path_type': path_type, 'access_mode': access_mode, 'egress_mode': egress_mode} + assert ( + units == "utility" or not want_choices + ), "'want_choices' only supported supported if units is utility" + + access_mode = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.path_types.{path_type}.access" + ) + egress_mode = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.path_types.{path_type}.egress" + ) + path_types_settings = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.path_types.{path_type}" + ) + attributes_as_columns = self.network_los.setting( + f"TVPB_SETTINGS.{recipe}.tap_tap_settings.attributes_as_columns", [] + ) + + path_info = { + "path_type": path_type, + "access_mode": access_mode, + "egress_mode": egress_mode, + } # maz od pairs requested with memo("#TVPB build_virtual_path maz_od_df"): - maz_od_df = pd.DataFrame({ - 'idx': orig.index.values, - 'omaz': orig.values, - 'dmaz': dest.values, - 'seq': range(len(orig)) - }) + maz_od_df = pd.DataFrame( + { + "idx": orig.index.values, + "omaz": orig.values, + "dmaz": dest.values, + "seq": range(len(orig)), + } + ) chunk.log_df(trace_label, "maz_od_df", maz_od_df) self.trace_maz_tap(maz_od_df, access_mode, egress_mode) # for location choice, there will be multiple alt dest rows per chooser and duplicate orig.index values # but tod and demographic_segment should be the same for all chooser rows (unique orig index values) # knowing this allows us to eliminate redundant computations (e.g. utilities of maz_tap pairs) - duplicated = orig.index.duplicated(keep='first') + duplicated = orig.index.duplicated(keep="first") chooser_attributes = pd.DataFrame(index=orig.index[~duplicated]) if not isinstance(tod, str): - chooser_attributes['tod'] = tod.loc[~duplicated] - elif 'tod' in attributes_as_columns: - chooser_attributes['tod'] = tod + chooser_attributes["tod"] = tod.loc[~duplicated] + elif "tod" in attributes_as_columns: + chooser_attributes["tod"] = tod else: - path_info['tod'] = tod + path_info["tod"] = tod if demographic_segment is not None: - chooser_attributes['demographic_segment'] = demographic_segment.loc[~duplicated] + chooser_attributes["demographic_segment"] = demographic_segment.loc[ + ~duplicated + ] with memo("#TVPB build_virtual_path access_df"): access_df = self.compute_maz_tap_utilities( recipe, maz_od_df, chooser_attributes, - leg='access', + leg="access", mode=access_mode, - trace_label=trace_label, trace=trace) + trace_label=trace_label, + trace=trace, + ) chunk.log_df(trace_label, "access_df", access_df) with memo("#TVPB build_virtual_path egress_df"): @@ -645,13 +868,15 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg recipe, maz_od_df, chooser_attributes, - leg='egress', + leg="egress", mode=egress_mode, - trace_label=trace_label, trace=trace) + trace_label=trace_label, + trace=trace, + ) chunk.log_df(trace_label, "egress_df", egress_df) # L200 will drop all rows if all trips are intra-tap. - if np.array_equal(access_df['btap'].values, egress_df['atap'].values): + if np.array_equal(access_df["btap"].values, egress_df["atap"].values): trace = False # path_info for use by expressions (e.g. penalty for drive access if no parking at access tap) @@ -665,7 +890,9 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg egress_df, chooser_attributes, path_info=path_info, - trace_label=trace_label, trace=trace) + trace_label=trace_label, + trace=trace, + ) chunk.log_df(trace_label, "transit_df", transit_df) # Cannot trace if df is empty. Prob happened at L200 @@ -674,9 +901,15 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg with memo("#TVPB build_virtual_path best_paths"): path_df = self.best_paths( - recipe, path_type, - maz_od_df, access_df, egress_df, transit_df, - trace_label, trace) + recipe, + path_type, + maz_od_df, + access_df, + egress_df, + transit_df, + trace_label, + trace, + ) chunk.log_df(trace_label, "path_df", path_df) # now that we have created path_df, we are done with the dataframes for the separate legs @@ -687,21 +920,31 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg del transit_df chunk.log_df(trace_label, "transit_df", None) - if units == 'utility': + if units == "utility": # logsums with memo("#TVPB build_virtual_path logsums"): # one row per seq with utilities in columns # path_num 0-based to aligh with logit.make_choices 0-based choice indexes - path_df['path_num'] = path_df.groupby('seq').cumcount() + path_df["path_num"] = path_df.groupby("seq").cumcount() chunk.log_df(trace_label, "path_df", path_df) - utilities_df = path_df[['seq', 'path_num', units]].set_index(['seq', 'path_num']).unstack() - utilities_df.columns = utilities_df.columns.droplevel() # for legibility + utilities_df = ( + path_df[["seq", "path_num", units]] + .set_index(["seq", "path_num"]) + .unstack() + ) + utilities_df.columns = ( + utilities_df.columns.droplevel() + ) # for legibility # add rows missing because no access or egress availability - utilities_df = pd.concat([pd.DataFrame(index=maz_od_df.seq), utilities_df], axis=1) - utilities_df = utilities_df.fillna(UNAVAILABLE) # set utilities for missing paths to UNAVAILABLE + utilities_df = pd.concat( + [pd.DataFrame(index=maz_od_df.seq), utilities_df], axis=1 + ) + utilities_df = utilities_df.fillna( + UNAVAILABLE + ) # set utilities for missing paths to UNAVAILABLE chunk.log_df(trace_label, "utilities_df", utilities_df) @@ -710,19 +953,31 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg # most likely "divide by zero encountered in log" caused by all transit sets non-viable warnings.simplefilter("always") - paths_nest_nesting_coefficient = path_types_settings.get('paths_nest_nesting_coefficient', 1) - exp_utilities = np.exp(utilities_df.values / paths_nest_nesting_coefficient) - logsums = np.maximum(np.log(np.nansum(exp_utilities, axis=1)), UNAVAILABLE) + paths_nest_nesting_coefficient = path_types_settings.get( + "paths_nest_nesting_coefficient", 1 + ) + exp_utilities = np.exp( + utilities_df.values / paths_nest_nesting_coefficient + ) + logsums = np.maximum( + np.log(np.nansum(exp_utilities, axis=1)), UNAVAILABLE + ) if len(w) > 0: for wrn in w: logger.warning( - f"{trace_label} - {type(wrn).__name__} ({wrn.message})") + f"{trace_label} - {type(wrn).__name__} ({wrn.message})" + ) DUMP = False if DUMP: - zero_utilities_df = utilities_df[np.nansum(np.exp(utilities_df.values), axis=1) == 0] - zero_utilities_df.to_csv(config.output_file_path('warning_utilities_df.csv'), index=True) + zero_utilities_df = utilities_df[ + np.nansum(np.exp(utilities_df.values), axis=1) == 0 + ] + zero_utilities_df.to_csv( + config.output_file_path("warning_utilities_df.csv"), + index=True, + ) if want_choices: @@ -731,20 +986,24 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg with memo("#TVPB build_virtual_path make_choices"): - probs = logit.utils_to_probs(utilities_df, allow_zero_probs=True, trace_label=trace_label) + probs = logit.utils_to_probs( + utilities_df, allow_zero_probs=True, trace_label=trace_label + ) chunk.log_df(trace_label, "probs", probs) if trace: choices = override_choices - utilities_df['choices'] = choices - self.trace_df(utilities_df, trace_label, 'utilities_df') + utilities_df["choices"] = choices + self.trace_df(utilities_df, trace_label, "utilities_df") - probs['choices'] = choices - self.trace_df(probs, trace_label, 'probs') + probs["choices"] = choices + self.trace_df(probs, trace_label, "probs") else: - choices, rands = logit.make_choices(probs, allow_bad_probs=True, trace_label=trace_label) + choices, rands = logit.make_choices( + probs, allow_bad_probs=True, trace_label=trace_label + ) chunk.log_df(trace_label, "rands", rands) del rands @@ -755,20 +1014,26 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg # we need to get path_set, btap, atap from path_df row with same seq and path_num # drop seq join column, but keep path_num of choice to override_choices when tracing - columns_to_cache = ['btap', 'atap', 'path_set', 'path_num'] - logsum_df = \ - pd.merge(pd.DataFrame({'seq': range(len(orig)), 'path_num': choices.values}), - path_df[['seq'] + columns_to_cache], - on=['seq', 'path_num'], how='left')\ - .drop(columns=['seq'])\ + columns_to_cache = ["btap", "atap", "path_set", "path_num"] + logsum_df = ( + pd.merge( + pd.DataFrame( + {"seq": range(len(orig)), "path_num": choices.values} + ), + path_df[["seq"] + columns_to_cache], + on=["seq", "path_num"], + how="left", + ) + .drop(columns=["seq"]) .set_index(orig.index) + ) - logsum_df['logsum'] = logsums + logsum_df["logsum"] = logsums else: assert len(logsums) == len(orig) - logsum_df = pd.DataFrame({'logsum': logsums}, index=orig.index) + logsum_df = pd.DataFrame({"logsum": logsums}, index=orig.index) chunk.log_df(trace_label, "logsum_df", logsum_df) @@ -776,16 +1041,16 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg chunk.log_df(trace_label, "utilities_df", None) if trace: - self.trace_df(logsum_df, trace_label, 'logsum_df') + self.trace_df(logsum_df, trace_label, "logsum_df") chunk.log_df(trace_label, "logsum_df", logsum_df) results = logsum_df else: - assert units == 'time' + assert units == "time" # return a series - results = pd.Series(path_df[units].values, index=path_df['idx']) + results = pd.Series(path_df[units].values, index=path_df["idx"]) # zero-fill rows for O-D pairs where no best path exists because there was no tap-tap transit availability results = reindex(results, maz_od_df.idx).fillna(0.0) @@ -805,31 +1070,56 @@ def build_virtual_path(self, recipe, path_type, orig, dest, tod, demographic_seg return results def get_tvpb_logsum( - self, path_type, orig, dest, tod, demographic_segment, want_choices, - recipe='tour_mode_choice', trace_label=None): + self, + path_type, + orig, + dest, + tod, + demographic_segment, + want_choices, + recipe="tour_mode_choice", + trace_label=None, + ): # assume they have given us a more specific name (since there may be more than one active wrapper) - trace_label = trace_label or 'get_tvpb_logsum' + trace_label = trace_label or "get_tvpb_logsum" trace_label = tracing.extend_trace_label(trace_label, path_type) with chunk.chunk_log(trace_label): - logsum_df = \ - self.build_virtual_path(recipe, path_type, orig, dest, tod, demographic_segment, - want_choices=want_choices, trace_label=trace_label) + logsum_df = self.build_virtual_path( + recipe, + path_type, + orig, + dest, + tod, + demographic_segment, + want_choices=want_choices, + trace_label=trace_label, + ) trace_hh_id = inject.get_injectable("trace_hh_id", None) - if (all(logsum_df['logsum'] == UNAVAILABLE)) or (len(logsum_df) == 0): + if (all(logsum_df["logsum"] == UNAVAILABLE)) or (len(logsum_df) == 0): trace_hh_id = False if trace_hh_id: filter_targets = tracing.trace_targets(orig) # choices from preceding run (because random numbers) - override_choices = logsum_df['path_num'] if want_choices else None + override_choices = logsum_df["path_num"] if want_choices else None if filter_targets.any(): - self.build_virtual_path(recipe, path_type, orig, dest, tod, demographic_segment, - want_choices=want_choices, override_choices=override_choices, - trace_label=trace_label, filter_targets=filter_targets, trace=True) + self.build_virtual_path( + recipe, + path_type, + orig, + dest, + tod, + demographic_segment, + want_choices=want_choices, + override_choices=override_choices, + trace_label=trace_label, + filter_targets=filter_targets, + trace=True, + ) return logsum_df @@ -837,44 +1127,86 @@ def get_tvpb_best_transit_time(self, orig, dest, tod): # FIXME lots of pathological knowledge here as we are only called by accessibility directly from expressions - trace_label = tracing.extend_trace_label('accessibility.tvpb_best_time', tod) - recipe = 'accessibility' - path_type = 'WTW' + trace_label = tracing.extend_trace_label("accessibility.tvpb_best_time", tod) + recipe = "accessibility" + path_type = "WTW" with chunk.chunk_log(trace_label): - result = \ - self.build_virtual_path(recipe, path_type, orig, dest, tod, - demographic_segment=None, want_choices=False, - trace_label=trace_label) + result = self.build_virtual_path( + recipe, + path_type, + orig, + dest, + tod, + demographic_segment=None, + want_choices=False, + trace_label=trace_label, + ) trace_od = inject.get_injectable("trace_od", None) if trace_od: filter_targets = (orig == trace_od[0]) & (dest == trace_od[1]) if filter_targets.any(): - self.build_virtual_path(recipe, path_type, orig, dest, tod, - demographic_segment=None, want_choices=False, - trace_label=trace_label, filter_targets=filter_targets, trace=True) + self.build_virtual_path( + recipe, + path_type, + orig, + dest, + tod, + demographic_segment=None, + want_choices=False, + trace_label=trace_label, + filter_targets=filter_targets, + trace=True, + ) return result - def wrap_logsum(self, orig_key, dest_key, tod_key, segment_key, - recipe='tour_mode_choice', - cache_choices=False, trace_label=None, tag=None): + def wrap_logsum( + self, + orig_key, + dest_key, + tod_key, + segment_key, + recipe="tour_mode_choice", + cache_choices=False, + trace_label=None, + tag=None, + ): return TransitVirtualPathLogsumWrapper( - self, orig_key, dest_key, tod_key, segment_key, - recipe, cache_choices, trace_label, tag) + self, + orig_key, + dest_key, + tod_key, + segment_key, + recipe, + cache_choices, + trace_label, + tag, + ) class TransitVirtualPathLogsumWrapper(object): """ Transit virtual path builder logsum wrapper for three zone systems """ - def __init__(self, pathbuilder, orig_key, dest_key, tod_key, segment_key, - recipe, cache_choices, trace_label, tag): + + def __init__( + self, + pathbuilder, + orig_key, + dest_key, + tod_key, + segment_key, + recipe, + cache_choices, + trace_label, + tag, + ): self.tvpb = pathbuilder - assert hasattr(pathbuilder, 'get_tvpb_logsum') + assert hasattr(pathbuilder, "get_tvpb_logsum") self.orig_key = orig_key self.dest_key = dest_key @@ -886,7 +1218,9 @@ def __init__(self, pathbuilder, orig_key, dest_key, tod_key, segment_key, self.cache_choices = cache_choices self.cache = {} if cache_choices else None - self.base_trace_label = tracing.extend_trace_label(trace_label, tag) or f'tvpb_logsum.{tag}' + self.base_trace_label = ( + tracing.extend_trace_label(trace_label, tag) or f"tvpb_logsum.{tag}" + ) self.trace_label = self.base_trace_label self.tag = tag @@ -913,7 +1247,9 @@ def set_df(self, df): def extend_trace_label(self, extension=None): if extension: - self.trace_label = tracing.extend_trace_label(self.base_trace_label, extension) + self.trace_label = tracing.extend_trace_label( + self.base_trace_label, extension + ) else: self.trace_label = self.base_trace_label @@ -933,37 +1269,49 @@ def __getitem__(self, path_type): """ assert self.df is not None, "Call set_df first" - assert(self.orig_key in self.df), \ - f"TransitVirtualPathLogsumWrapper: orig_key '{self.orig_key}' not in df" - assert(self.dest_key in self.df), \ - f"TransitVirtualPathLogsumWrapper: dest_key '{self.dest_key}' not in df" - assert(self.tod_key in self.df), \ - f"TransitVirtualPathLogsumWrapper: tod_key '{self.tod_key}' not in df" - assert(self.segment_key in self.df), \ - f"TransitVirtualPathLogsumWrapper: segment_key '{self.segment_key}' not in df" - - orig = self.df[self.orig_key].astype('int') - dest = self.df[self.dest_key].astype('int') + assert ( + self.orig_key in self.df + ), f"TransitVirtualPathLogsumWrapper: orig_key '{self.orig_key}' not in df" + assert ( + self.dest_key in self.df + ), f"TransitVirtualPathLogsumWrapper: dest_key '{self.dest_key}' not in df" + assert ( + self.tod_key in self.df + ), f"TransitVirtualPathLogsumWrapper: tod_key '{self.tod_key}' not in df" + assert ( + self.segment_key in self.df + ), f"TransitVirtualPathLogsumWrapper: segment_key '{self.segment_key}' not in df" + + orig = self.df[self.orig_key].astype("int") + dest = self.df[self.dest_key].astype("int") tod = self.df[self.tod_key] segment = self.df[self.segment_key] - logsum_df = \ - self.tvpb.get_tvpb_logsum(path_type, orig, dest, tod, segment, - want_choices=self.cache_choices, - recipe=self.recipe, - trace_label=self.trace_label) + logsum_df = self.tvpb.get_tvpb_logsum( + path_type, + orig, + dest, + tod, + segment, + want_choices=self.cache_choices, + recipe=self.recipe, + trace_label=self.trace_label, + ) - if (self.cache_choices) and (not all(logsum_df['logsum'] == UNAVAILABLE)): + if (self.cache_choices) and (not all(logsum_df["logsum"] == UNAVAILABLE)): # not tested on duplicate index because not currently needed # caching strategy does not require unique indexes but care would need to be taken to maintain alignment assert not orig.index.duplicated().any() # we only need to cache taps and path_set - choices_df = logsum_df[['atap', 'btap', 'path_set']] + choices_df = logsum_df[["atap", "btap", "path_set"]] if path_type in self.cache: - assert len(self.cache.get(path_type).index.intersection(logsum_df.index)) == 0 + assert ( + len(self.cache.get(path_type).index.intersection(logsum_df.index)) + == 0 + ) choices_df = pd.concat([self.cache.get(path_type), choices_df]) self.cache[path_type] = choices_df diff --git a/activitysim/core/pathbuilder_cache.py b/activitysim/core/pathbuilder_cache.py index a47b8ab357..b5f1089138 100644 --- a/activitysim/core/pathbuilder_cache.py +++ b/activitysim/core/pathbuilder_cache.py @@ -1,35 +1,29 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - -import logging -import os +import gc as _gc import itertools +import logging import multiprocessing -import gc as _gc -import psutil +import os import time - +from builtins import range from contextlib import contextmanager import numpy as np import pandas as pd +import psutil -from activitysim.core import util -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import simulate -from activitysim.core import tracing +from activitysim.core import config, inject, simulate, tracing, util logger = logging.getLogger(__name__) RAWARRAY = False -DTYPE_NAME = 'float32' +DTYPE_NAME = "float32" RESCALE = 1000 -DYNAMIC = 'dynamic' -STATIC = 'static' -TRACE = 'trace' +DYNAMIC = "dynamic" +STATIC = "static" +TRACE = "trace" MEMO_STACK = [] @@ -52,7 +46,7 @@ def memo(tag, console=False, disable_gc=True): finally: elapsed_time = time.time() - t0 - current_mem = (psutil.Process().memory_info().rss) + current_mem = psutil.Process().memory_info().rss marginal_mem = current_mem - previous_mem mem_str = f"net {util.GB(marginal_mem)} ({util.INT(marginal_mem)}) total {util.GB(current_mem)}" @@ -73,6 +67,7 @@ class TVPBCache(object): """ Transit virtual path builder cache for three zone systems """ + def __init__(self, network_los, uid_calculator, cache_tag): # lightweight until opened @@ -88,13 +83,13 @@ def __init__(self, network_los, uid_calculator, cache_tag): @property def cache_path(self): - file_type = 'mmap' - return os.path.join(config.get_cache_dir(), f'{self.cache_tag}.{file_type}') + file_type = "mmap" + return os.path.join(config.get_cache_dir(), f"{self.cache_tag}.{file_type}") @property def csv_trace_path(self): - file_type = 'csv' - return os.path.join(config.get_cache_dir(), f'{self.cache_tag}.{file_type}') + file_type = "csv" + return os.path.join(config.get_cache_dir(), f"{self.cache_tag}.{file_type}") def cleanup(self): """ @@ -116,16 +111,17 @@ def write_static_cache(self, data): logger.debug(f"#TVPB CACHE write_static_cache df {data.shape}") - mm_data = np.memmap(self.cache_path, - shape=data.shape, - dtype=DTYPE_NAME, - mode='w+') + mm_data = np.memmap( + self.cache_path, shape=data.shape, dtype=DTYPE_NAME, mode="w+" + ) np.copyto(mm_data, data) mm_data._mmap.close() del mm_data - logger.debug(f"#TVPB CACHE write_static_cache wrote static cache table " - f"({data.shape}) to {self.cache_path}") + logger.debug( + f"#TVPB CACHE write_static_cache wrote static cache table " + f"({data.shape}) to {self.cache_path}" + ) def open(self): """ @@ -144,10 +140,12 @@ def open(self): # multiprocessing usex preloaded fully_populated shared data buffer with memo("TVPBCache.open get_data_and_lock_from_buffers"): data, _ = self.get_data_and_lock_from_buffers() - logger.info(f"TVPBCache.open {self.cache_tag} STATIC cache using existing data_buffers") + logger.info( + f"TVPBCache.open {self.cache_tag} STATIC cache using existing data_buffers" + ) elif os.path.isfile(self.cache_path): # single process ought have created a precomputed fully_populated STATIC file - data = np.memmap(self.cache_path, dtype=DTYPE_NAME, mode='r') + data = np.memmap(self.cache_path, dtype=DTYPE_NAME, mode="r") # FIXME - why leave memmap open - maybe should copy since it will be read into memory when accessed anyway # mm_data = np.memmap(self.cache_path, dtype=DTYPE_NAME, mode='r') @@ -156,15 +154,21 @@ def open(self): # mm_data._mmap.close() # del mm_data - logger.info(f"TVPBCache.open {self.cache_tag} read fully_populated data array from mmap file") + logger.info( + f"TVPBCache.open {self.cache_tag} read fully_populated data array from mmap file" + ) else: - raise RuntimeError(f"Pathbuilder cache not found. Did you forget to run initialize tvpb?" - f"Expected cache file: {self.cache_path}") + raise RuntimeError( + f"Pathbuilder cache not found. Did you forget to run initialize tvpb?" + f"Expected cache file: {self.cache_path}" + ) # create no-copy pandas DataFrame from numpy wrapped RawArray or Memmap buffer column_names = self.uid_calculator.set_names with memo("TVPBCache.open data.reshape"): - data = data.reshape((-1, len(column_names))) # reshape so there is one column per set + data = data.reshape( + (-1, len(column_names)) + ) # reshape so there is one column per set # data should be fully_populated and in canonical order - so we can assign canonical uid index with memo("TVPBCache.open uid_calculator.fully_populated_uids"): @@ -219,31 +223,41 @@ def allocate_data_buffer(self, shared=False): buffer_size = util.iprod(self.uid_calculator.fully_populated_shape) csz = buffer_size * dtype.itemsize - logger.info(f"TVPBCache.allocate_data_buffer allocating data buffer " - f"shape {shape} buffer_size {util.INT(buffer_size)} total size: {util.INT(csz)} ({util.GB(csz)})") + logger.info( + f"TVPBCache.allocate_data_buffer allocating data buffer " + f"shape {shape} buffer_size {util.INT(buffer_size)} total size: {util.INT(csz)} ({util.GB(csz)})" + ) if shared: - if dtype_name == 'float64': - typecode = 'd' - elif dtype_name == 'float32': - typecode = 'f' + if dtype_name == "float64": + typecode = "d" + elif dtype_name == "float32": + typecode = "f" else: - raise RuntimeError("allocate_data_buffer unrecognized dtype %s" % dtype_name) + raise RuntimeError( + "allocate_data_buffer unrecognized dtype %s" % dtype_name + ) if RAWARRAY: with memo("TVPBCache.allocate_data_buffer allocate RawArray"): buffer = multiprocessing.RawArray(typecode, buffer_size) - logger.info(f"TVPBCache.allocate_data_buffer allocated shared multiprocessing.RawArray as buffer") + logger.info( + f"TVPBCache.allocate_data_buffer allocated shared multiprocessing.RawArray as buffer" + ) else: with memo("TVPBCache.allocate_data_buffer allocate Array"): buffer = multiprocessing.Array(typecode, buffer_size) - logger.info(f"TVPBCache.allocate_data_buffer allocated shared multiprocessing.Array as buffer") + logger.info( + f"TVPBCache.allocate_data_buffer allocated shared multiprocessing.Array as buffer" + ) else: buffer = np.empty(buffer_size, dtype=dtype) np.copyto(buffer, np.nan) # fill with np.nan - logger.info(f"TVPBCache.allocate_data_buffer allocating non-shared numpy array as buffer") + logger.info( + f"TVPBCache.allocate_data_buffer allocating non-shared numpy array as buffer" + ) return buffer @@ -263,11 +277,13 @@ def load_data_to_buffer(self, data_buffer): if os.path.isfile(self.cache_path): with memo("TVPBCache.load_data_to_buffer copy memmap"): - data = np.memmap(self.cache_path, dtype=DTYPE_NAME, mode='r') + data = np.memmap(self.cache_path, dtype=DTYPE_NAME, mode="r") np.copyto(np_wrapped_data_buffer, data) data._mmap.close() del data - logger.debug(f"TVPBCache.load_data_to_buffer loaded data from {self.cache_path}") + logger.debug( + f"TVPBCache.load_data_to_buffer loaded data from {self.cache_path}" + ) else: np.copyto(np_wrapped_data_buffer, np.nan) logger.debug(f"TVPBCache.load_data_to_buffer - saved cache file not found.") @@ -279,7 +295,7 @@ def get_data_and_lock_from_buffers(self): ------- either multiprocessing.Array and lock or multiprocessing.RawArray and None according to RAWARRAY """ - data_buffers = inject.get_injectable('data_buffers', None) + data_buffers = inject.get_injectable("data_buffers", None) assert self.cache_tag in data_buffers # internal error logger.debug(f"TVPBCache.get_data_and_lock_from_buffers") data_buffer = data_buffers[self.cache_tag] @@ -297,6 +313,7 @@ class TapTapUidCalculator(object): """ Transit virtual path builder TAP to TAP unique ID calculator for three zone systems """ + def __init__(self, network_los): self.network_los = network_los @@ -304,13 +321,16 @@ def __init__(self, network_los): # ensure that tap_df has been loaded # (during multiprocessing we are initialized before network_los.load_data is called) assert network_los.tap_df is not None - self.tap_ids = network_los.tap_df['TAP'].values + self.tap_ids = network_los.tap_df["TAP"].values - self.segmentation = \ - network_los.setting('TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments') + self.segmentation = network_los.setting( + "TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.attribute_segments" + ) # e.g. [(0, 'AM', 'walk'), (0, 'AM', 'walk')...]) for attributes demographic_segment, tod, and access_mode - self.attribute_combination_tuples = list(itertools.product(*list(self.segmentation.values()))) + self.attribute_combination_tuples = list( + itertools.product(*list(self.segmentation.values())) + ) # ordinalizers - for mapping attribute values to canonical ordinal values for uid computation # (pandas series of ordinal position with attribute value index (e.g. map tod value 'AM' to 0, 'MD' to 1,...) @@ -319,13 +339,17 @@ def __init__(self, network_los): for k, v in self.segmentation.items(): self.ordinalizers[k] = pd.Series(range(len(v)), index=v) # orig/dest go last so all rows in same 'skim' end up with adjacent uids - self.ordinalizers['btap'] = pd.Series(range(len(self.tap_ids)), index=self.tap_ids) - self.ordinalizers['atap'] = self.ordinalizers['btap'] + self.ordinalizers["btap"] = pd.Series( + range(len(self.tap_ids)), index=self.tap_ids + ) + self.ordinalizers["atap"] = self.ordinalizers["btap"] # for k,v in self.ordinalizers.items(): # print(f"\ordinalizer {k}\n{v}") - spec_name = self.network_los.setting(f'TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.SPEC') + spec_name = self.network_los.setting( + f"TVPB_SETTINGS.tour_mode_choice.tap_tap_settings.SPEC" + ) self.set_names = list(simulate.read_model_spec(file_name=spec_name).columns) @property @@ -379,7 +403,9 @@ def get_unique_ids(self, df, scalar_attributes): uid = uid * cardinality + np.asanyarray(df[name].map(ordinalizer)) else: # otherwise it should be in scalar_attributes - assert name in scalar_attributes, f"attribute '{name}' not found in df.columns or scalar_attributes." + assert ( + name in scalar_attributes + ), f"attribute '{name}' not found in df.columns or scalar_attributes." uid = uid * cardinality + ordinalizer.at[scalar_attributes[name]] return uid @@ -403,8 +429,8 @@ def get_od_dataframe(self, scalar_attributes): num_taps = len(self.tap_ids) od_choosers_df = pd.DataFrame( data={ - 'btap': np.repeat(self.tap_ids, num_taps), - 'atap': np.tile(self.tap_ids, num_taps) + "btap": np.repeat(self.tap_ids, num_taps), + "atap": np.tile(self.tap_ids, num_taps), } ) od_choosers_df.index = self.get_unique_ids(od_choosers_df, scalar_attributes) @@ -430,7 +456,10 @@ def each_scalar_attribute_combination(self): # attribute_value_tuple is an tuple of attribute values - e.g. (0, 'AM', 'walk') # build dict of attribute name:value pairs - e.g. {'demographic_segment': 0, 'tod': 'AM', }) - scalar_attributes = {name: value for name, value in zip(attribute_names, attribute_value_tuple)} + scalar_attributes = { + name: value + for name, value in zip(attribute_names, attribute_value_tuple) + } yield scalar_attributes @@ -439,5 +468,5 @@ def scalar_attribute_combinations(self): attribute_tuples = self.attribute_combination_tuples x = [list(t) for t in attribute_tuples] df = pd.DataFrame(data=x, columns=attribute_names) - df.index.name = 'offset' + df.index.name = "offset" return df diff --git a/activitysim/core/pipeline.py b/activitysim/core/pipeline.py index 89c5c161cc..ad39cdcfed 100644 --- a/activitysim/core/pipeline.py +++ b/activitysim/core/pipeline.py @@ -1,48 +1,36 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import next -from builtins import map -from builtins import object - -import os -import logging import datetime as dt +import logging +import os +from builtins import map, next, object import pandas as pd - from orca import orca -from . import inject -from . import config -from . import random -from . import tracing -from . import mem - - -from . import util +from . import config, inject, mem, random, tracing, util from .tracing import print_elapsed_time - logger = logging.getLogger(__name__) # name of the checkpoint dict keys # (which are also columns in the checkpoints dataframe stored in hte pipeline store) -TIMESTAMP = 'timestamp' -CHECKPOINT_NAME = 'checkpoint_name' +TIMESTAMP = "timestamp" +CHECKPOINT_NAME = "checkpoint_name" NON_TABLE_COLUMNS = [CHECKPOINT_NAME, TIMESTAMP] # name used for storing the checkpoints dataframe to the pipeline store -CHECKPOINT_TABLE_NAME = 'checkpoints' +CHECKPOINT_TABLE_NAME = "checkpoints" # name of the first step/checkpoint created when the pipeline is started -INITIAL_CHECKPOINT_NAME = 'init' -FINAL_CHECKPOINT_NAME = 'final' +INITIAL_CHECKPOINT_NAME = "init" +FINAL_CHECKPOINT_NAME = "final" # special value for resume_after meaning last checkpoint -LAST_CHECKPOINT = '_' +LAST_CHECKPOINT = "_" # single character prefix for run_list model name to indicate that no checkpoint should be saved -NO_CHECKPOINT_PREFIX = '_' +NO_CHECKPOINT_PREFIX = "_" class Pipeline(object): @@ -84,7 +72,7 @@ def is_open(): def is_readonly(): if is_open(): store = get_pipeline_store() - if store and store._mode == 'r': + if store and store._mode == "r": return True return False @@ -109,7 +97,7 @@ def close_open_files(): _PIPELINE.open_files.clear() -def open_pipeline_store(overwrite=False, mode='a'): +def open_pipeline_store(overwrite=False, mode="a"): """ Open the pipeline checkpoint store @@ -133,7 +121,9 @@ def open_pipeline_store(overwrite=False, mode='a'): if _PIPELINE.pipeline_store is not None: raise RuntimeError("Pipeline store is already open!") - pipeline_file_path = config.pipeline_file_path(inject.get_injectable('pipeline_file_name')) + pipeline_file_path = config.pipeline_file_path( + inject.get_injectable("pipeline_file_name") + ) if overwrite: try: @@ -301,13 +291,18 @@ def add_checkpoint(checkpoint_name): if len(orca.list_columns_for_table(table_name)): # rewrap the changed orca table as a unitary DataFrame-backed DataFrameWrapper table df = rewrap(table_name) - elif table_name not in _PIPELINE.last_checkpoint or table_name in _PIPELINE.replaced_tables: + elif ( + table_name not in _PIPELINE.last_checkpoint + or table_name in _PIPELINE.replaced_tables + ): df = orca.get_table(table_name).to_frame() else: continue - logger.debug("add_checkpoint '%s' table '%s' %s" % - (checkpoint_name, table_name, util.df_size(df))) + logger.debug( + "add_checkpoint '%s' table '%s' %s" + % (checkpoint_name, table_name, util.df_size(df)) + ) write_df(df, table_name, checkpoint_name) # remember which checkpoint it was last written @@ -326,7 +321,7 @@ def add_checkpoint(checkpoint_name): # convert empty values to str so PyTables doesn't pickle object types for c in checkpoints.columns: - checkpoints[c] = checkpoints[c].fillna('') + checkpoints[c] = checkpoints[c].fillna("") # write it to the store, overwriting any previous version (no way to simply extend) write_df(checkpoints, CHECKPOINT_TABLE_NAME) @@ -336,7 +331,7 @@ def registered_tables(): """ Return a list of the names of all currently registered dataframe tables """ - return [name for name in orca.list_tables() if orca.table_type(name) == 'dataframe'] + return [name for name in orca.list_tables() if orca.table_type(name) == "dataframe"] def checkpointed_tables(): @@ -344,8 +339,11 @@ def checkpointed_tables(): Return a list of the names of all checkpointed tables """ - return [name for name, checkpoint_name in _PIPELINE.last_checkpoint.items() - if checkpoint_name and name not in NON_TABLE_COLUMNS] + return [ + name + for name, checkpoint_name in _PIPELINE.last_checkpoint.items() + if checkpoint_name and name not in NON_TABLE_COLUMNS + ] def load_checkpoint(checkpoint_name): @@ -385,7 +383,7 @@ def load_checkpoint(checkpoint_name): raise RuntimeError(msg) # convert pandas dataframe back to array of checkpoint dicts - checkpoints = checkpoints.to_dict(orient='records') + checkpoints = checkpoints.to_dict(orient="records") # drop tables with empty names for checkpoint in checkpoints: @@ -400,8 +398,10 @@ def load_checkpoint(checkpoint_name): _PIPELINE.last_checkpoint.clear() _PIPELINE.last_checkpoint.update(_PIPELINE.checkpoints[-1]) - logger.info("load_checkpoint %s timestamp %s" - % (checkpoint_name, _PIPELINE.last_checkpoint['timestamp'])) + logger.info( + "load_checkpoint %s timestamp %s" + % (checkpoint_name, _PIPELINE.last_checkpoint["timestamp"]) + ) tables = checkpointed_tables() @@ -415,14 +415,14 @@ def load_checkpoint(checkpoint_name): loaded_tables[table_name] = df # register for tracing in order that tracing.register_traceable_table wants us to register them - traceable_tables = inject.get_injectable('traceable_tables', []) + traceable_tables = inject.get_injectable("traceable_tables", []) for table_name in traceable_tables: if table_name in loaded_tables: tracing.register_traceable_table(table_name, loaded_tables[table_name]) # add tables of known rng channels - rng_channels = inject.get_injectable('rng_channels', []) + rng_channels = inject.get_injectable("rng_channels", []) if rng_channels: logger.debug("loading random channels %s" % rng_channels) for table_name in rng_channels: @@ -431,7 +431,7 @@ def load_checkpoint(checkpoint_name): _PIPELINE.rng().add_channel(table_name, loaded_tables[table_name]) -def split_arg(s, sep, default=''): +def split_arg(s, sep, default=""): """ split str s in two at first sep, returning empty string as second result if no sep """ @@ -444,7 +444,7 @@ def split_arg(s, sep, default=''): val = default else: val = r[1] - val = {'true': True, 'false': False}.get(val.lower(), val) + val = {"true": True, "false": False}.get(val.lower(), val) return arg, val @@ -465,17 +465,22 @@ def run_model(model_name): raise RuntimeError("Pipeline not initialized! Did you call open_pipeline?") # can't run same model more than once - if model_name in [checkpoint[CHECKPOINT_NAME] for checkpoint in _PIPELINE.checkpoints]: + if model_name in [ + checkpoint[CHECKPOINT_NAME] for checkpoint in _PIPELINE.checkpoints + ]: raise RuntimeError("Cannot run model '%s' more than once" % model_name) _PIPELINE.rng().begin_step(model_name) # check for args - if '.' in model_name: - step_name, arg_string = model_name.split('.', 1) - args = dict((k, v) - for k, v in (split_arg(item, "=", default=True) - for item in arg_string.split(";"))) + if "." in model_name: + step_name, arg_string = model_name.split(".", 1) + args = dict( + (k, v) + for k, v in ( + split_arg(item, "=", default=True) for item in arg_string.split(";") + ) + ) else: step_name = model_name args = {} @@ -496,7 +501,9 @@ def run_model(model_name): orca.run([step_name]) - t0 = print_elapsed_time("#run_model completed step '%s'" % model_name, t0, debug=True) + t0 = print_elapsed_time( + "#run_model completed step '%s'" % model_name, t0, debug=True + ) mem.trace_memory_info(f"pipeline.run_model {model_name} finished") inject.set_step_args(None) @@ -508,7 +515,7 @@ def run_model(model_name): logger.info("##### skipping %s checkpoint for %s" % (step_name, model_name)) -def open_pipeline(resume_after=None, mode='a'): +def open_pipeline(resume_after=None, mode="a"): """ Start pipeline, either for a new run or, if resume_after, loading checkpoint from pipeline. @@ -530,7 +537,7 @@ def open_pipeline(resume_after=None, mode='a'): _PIPELINE.init_state() _PIPELINE.is_open = True - get_rn_generator().set_base_seed(inject.get_injectable('rng_base_seed', 0)) + get_rn_generator().set_base_seed(inject.get_injectable("rng_base_seed", 0)) if resume_after: # open existing pipeline @@ -582,12 +589,14 @@ def close_pipeline(): def intermediate_checkpoint(checkpoint_name=None): - checkpoints = config.setting('checkpoints', True) + checkpoints = config.setting("checkpoints", True) if checkpoints is True or checkpoints is False: return checkpoints - assert isinstance(checkpoints, list), f"setting 'checkpoints'' should be True or False or a list" + assert isinstance( + checkpoints, list + ), f"setting 'checkpoints'' should be True or False or a list" return checkpoint_name in checkpoints @@ -617,7 +626,7 @@ def run(models, resume_after=None): t0 = print_elapsed_time() open_pipeline(resume_after) - t0 = print_elapsed_time('open_pipeline', t0) + t0 = print_elapsed_time("open_pipeline", t0) if resume_after == LAST_CHECKPOINT: resume_after = _PIPELINE.last_checkpoint[CHECKPOINT_NAME] @@ -625,15 +634,15 @@ def run(models, resume_after=None): if resume_after: logger.info("resume_after %s" % resume_after) if resume_after in models: - models = models[models.index(resume_after) + 1:] + models = models[models.index(resume_after) + 1 :] - mem.trace_memory_info('pipeline.run before preload_injectables') + mem.trace_memory_info("pipeline.run before preload_injectables") # preload any bulky injectables (e.g. skims) not in pipeline - if inject.get_injectable('preload_injectables', None): - t0 = print_elapsed_time('preload_injectables', t0) + if inject.get_injectable("preload_injectables", None): + t0 = print_elapsed_time("preload_injectables", t0) - mem.trace_memory_info('pipeline.run after preload_injectables') + mem.trace_memory_info("pipeline.run after preload_injectables") t0 = print_elapsed_time() for model in models: @@ -647,7 +656,7 @@ def run(models, resume_after=None): if not intermediate_checkpoint(): add_checkpoint(FINAL_CHECKPOINT_NAME) - mem.trace_memory_info('pipeline.run after run_models') + mem.trace_memory_info("pipeline.run after run_models") t0 = print_elapsed_time("run_model (%s models)" % len(models), t0) @@ -679,8 +688,10 @@ def get_table(table_name, checkpoint_name=None): # orca table not in checkpoints (e.g. a merged table) if table_name not in _PIPELINE.last_checkpoint and orca.is_table(table_name): if checkpoint_name is not None: - raise RuntimeError("get_table: checkpoint_name ('%s') not supported" - "for non-checkpointed table '%s'" % (checkpoint_name, table_name)) + raise RuntimeError( + "get_table: checkpoint_name ('%s') not supported" + "for non-checkpointed table '%s'" % (checkpoint_name, table_name) + ) return orca.get_table(table_name).to_frame() @@ -697,8 +708,10 @@ def get_table(table_name, checkpoint_name=None): return orca.get_table(table_name).to_frame() # find the requested checkpoint - checkpoint = \ - next((x for x in _PIPELINE.checkpoints if x['checkpoint_name'] == checkpoint_name), None) + checkpoint = next( + (x for x in _PIPELINE.checkpoints if x["checkpoint_name"] == checkpoint_name), + None, + ) if checkpoint is None: raise RuntimeError("checkpoint '%s' not in checkpoints." % checkpoint_name) @@ -706,7 +719,9 @@ def get_table(table_name, checkpoint_name=None): last_checkpoint_name = checkpoint.get(table_name, None) if not last_checkpoint_name: - raise RuntimeError("table '%s' not in checkpoint '%s'." % (table_name, checkpoint_name)) + raise RuntimeError( + "table '%s' not in checkpoint '%s'." % (table_name, checkpoint_name) + ) # if this version of table is same as current if _PIPELINE.last_checkpoint.get(table_name, None) == last_checkpoint_name: @@ -732,7 +747,9 @@ def get_checkpoints(): if store is not None: df = store[CHECKPOINT_TABLE_NAME] else: - pipeline_file_path = config.pipeline_file_path(orca.get_injectable('pipeline_file_name')) + pipeline_file_path = config.pipeline_file_path( + orca.get_injectable("pipeline_file_name") + ) df = pd.read_hdf(pipeline_file_path, CHECKPOINT_TABLE_NAME) # non-table columns first (column order in df is random because created from a dict) @@ -766,11 +783,15 @@ def replace_table(table_name, df): assert is_open(), f"Pipeline is not open." if df.columns.duplicated().any(): - logger.error("replace_table: dataframe '%s' has duplicate columns: %s" % - (table_name, df.columns[df.columns.duplicated()])) + logger.error( + "replace_table: dataframe '%s' has duplicate columns: %s" + % (table_name, df.columns[df.columns.duplicated()]) + ) - raise RuntimeError("replace_table: dataframe '%s' has duplicate columns: %s" % - (table_name, df.columns[df.columns.duplicated()])) + raise RuntimeError( + "replace_table: dataframe '%s' has duplicate columns: %s" + % (table_name, df.columns[df.columns.duplicated()]) + ) rewrap(table_name, df) @@ -799,8 +820,11 @@ def extend_table(table_name, df, axis=0): if axis == 0: # don't expect indexes to overlap assert len(table_df.index.intersection(df.index)) == 0 - missing_df_str_columns = [c for c in table_df.columns - if c not in df.columns and table_df[c].dtype == 'O'] + missing_df_str_columns = [ + c + for c in table_df.columns + if c not in df.columns and table_df[c].dtype == "O" + ] else: # expect indexes be same assert table_df.index.equals(df.index) @@ -813,7 +837,7 @@ def extend_table(table_name, df, axis=0): # backfill missing df columns that were str (object) type in table_df if axis == 0: for c in missing_df_str_columns: - df[c] = df[c].fillna('') + df[c] = df[c].fillna("") replace_table(table_name, df) @@ -848,7 +872,7 @@ def drop_table(table_name): logger.debug("drop_table removing table %s from last_checkpoint" % table_name) - _PIPELINE.last_checkpoint[table_name] = '' + _PIPELINE.last_checkpoint[table_name] = "" def is_table(table_name): @@ -871,30 +895,34 @@ def cleanup_pipeline(): """ # we don't expect to be called unless cleanup_pipeline_after_run setting is True - assert config.setting('cleanup_pipeline_after_run', False) + assert config.setting("cleanup_pipeline_after_run", False) if not is_open(): - open_pipeline('_') + open_pipeline("_") assert is_open(), f"Pipeline is not open." - FINAL_PIPELINE_FILE_NAME = f"final_{inject.get_injectable('pipeline_file_name', 'pipeline')}" - FINAL_CHECKPOINT_NAME = 'final' + FINAL_PIPELINE_FILE_NAME = ( + f"final_{inject.get_injectable('pipeline_file_name', 'pipeline')}" + ) + FINAL_CHECKPOINT_NAME = "final" final_pipeline_file_path = config.build_output_file_path(FINAL_PIPELINE_FILE_NAME) # keep only the last row of checkpoints and patch the last checkpoint name checkpoints_df = get_checkpoints().tail(1).copy() - checkpoints_df['checkpoint_name'] = FINAL_CHECKPOINT_NAME + checkpoints_df["checkpoint_name"] = FINAL_CHECKPOINT_NAME - with pd.HDFStore(final_pipeline_file_path, mode='w') as final_pipeline_store: + with pd.HDFStore(final_pipeline_file_path, mode="w") as final_pipeline_store: for table_name in checkpointed_tables(): # patch last checkpoint name for all tables checkpoints_df[table_name] = FINAL_CHECKPOINT_NAME table_df = get_table(table_name) - logger.debug(f"cleanup_pipeline - adding table {table_name} {table_df.shape}") + logger.debug( + f"cleanup_pipeline - adding table {table_name} {table_df.shape}" + ) final_pipeline_store[table_name] = table_df @@ -903,4 +931,4 @@ def cleanup_pipeline(): close_pipeline() logger.debug(f"deleting all pipeline files except {final_pipeline_file_path}") - tracing.delete_output_files('h5', ignore=[final_pipeline_file_path]) + tracing.delete_output_files("h5", ignore=[final_pipeline_file_path]) diff --git a/activitysim/core/random.py b/activitysim/core/random.py index a9c9770340..12527840f4 100644 --- a/activitysim/core/random.py +++ b/activitysim/core/random.py @@ -1,24 +1,22 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range -from builtins import object - -import logging import hashlib +import logging +from builtins import object, range import numpy as np import pandas as pd + from activitysim.core.util import reindex from .tracing import print_elapsed_time - logger = logging.getLogger(__name__) # one more than 0xFFFFFFFF so we can wrap using: int64 % _MAX_SEED -_MAX_SEED = (1 << 32) -_SEED_MASK = 0xffffffff +_MAX_SEED = 1 << 32 +_SEED_MASK = 0xFFFFFFFF def hash32(s): @@ -32,7 +30,7 @@ def hash32(s): ------- 32 bit unsigned hash """ - s = s.encode('utf8') + s = s.encode("utf8") h = hashlib.md5(s).hexdigest() return int(h, base=16) & _SEED_MASK @@ -103,13 +101,12 @@ def init_row_states_for_step(self, row_states): if self.step_name and not row_states.empty: - row_states['row_seed'] = (self.base_seed + - self.channel_seed + - self.step_seed + - row_states.index) % _MAX_SEED + row_states["row_seed"] = ( + self.base_seed + self.channel_seed + self.step_seed + row_states.index + ) % _MAX_SEED # number of rands pulled this step - row_states['offset'] = 0 + row_states["offset"] = 0 return row_states @@ -128,10 +125,12 @@ def extend_domain(self, domain_df): """ if domain_df.empty: - logger.warning("extend_domain for channel %s for empty domain_df" % self.channel_name) + logger.warning( + "extend_domain for channel %s for empty domain_df" % self.channel_name + ) # dataframe to hold state for every df row - row_states = pd.DataFrame(columns=['row_seed', 'offset'], index=domain_df.index) + row_states = pd.DataFrame(columns=["row_seed", "offset"], index=domain_df.index) if self.step_name and not row_states.empty: self.init_row_states_for_step(row_states) @@ -170,8 +169,8 @@ def end_step(self, step_name): self.step_name = None self.step_seed = None - self.row_states['offset'] = 0 - self.row_states['row_seed'] = 0 + self.row_states["offset"] = 0 + self.row_states["row_seed"] = 0 def _generators_for_df(self, df): """ @@ -245,7 +244,7 @@ def random_for_df(self, df, step_name, n=1): rands = np.asanyarray([prng.rand(n) for prng in generators]) # update offset for rows we handled - self.row_states.loc[df.index, 'offset'] += n + self.row_states.loc[df.index, "offset"] += n return rands def normal_for_df(self, df, step_name, mu, sigma, lognormal=False): @@ -295,16 +294,22 @@ def to_series(x): sigma = to_series(sigma) if lognormal: - rands = \ - np.asanyarray([prng.lognormal(mean=mu[i], sigma=sigma[i]) - for i, prng in enumerate(generators)]) + rands = np.asanyarray( + [ + prng.lognormal(mean=mu[i], sigma=sigma[i]) + for i, prng in enumerate(generators) + ] + ) else: - rands = \ - np.asanyarray([prng.normal(loc=mu[i], scale=sigma[i]) - for i, prng in enumerate(generators)]) + rands = np.asanyarray( + [ + prng.normal(loc=mu[i], scale=sigma[i]) + for i, prng in enumerate(generators) + ] + ) # update offset for rows we handled - self.row_states.loc[df.index, 'offset'] += 1 + self.row_states.loc[df.index, "offset"] += 1 return rands @@ -350,20 +355,21 @@ def choice_for_df(self, df, step_name, a, size, replace): # initialize the generator iterator generators = self._generators_for_df(df) - sample = np.concatenate(tuple(prng.choice(a, size, replace) for prng in generators)) + sample = np.concatenate( + tuple(prng.choice(a, size, replace) for prng in generators) + ) if not self.multi_choice_offset: # FIXME - if replace, should we estimate rands_consumed? if replace: logger.warning("choice_for_df MULTI_CHOICE_FF with replace") # update offset for rows we handled - self.row_states.loc[df.index, 'offset'] += size + self.row_states.loc[df.index, "offset"] += size return sample class Random(object): - def __init__(self): self.channels = {} @@ -462,20 +468,22 @@ def add_channel(self, channel_name, domain_df): if channel_name in self.channels: assert channel_name == self.index_to_channel[domain_df.index.name] - logger.debug("Random: extending channel '%s' %s ids" % - (channel_name, len(domain_df.index))) + logger.debug( + "Random: extending channel '%s' %s ids" + % (channel_name, len(domain_df.index)) + ) channel = self.channels[channel_name] channel.extend_domain(domain_df) else: - logger.debug("Adding channel '%s' %s ids" % (channel_name, len(domain_df.index))) + logger.debug( + "Adding channel '%s' %s ids" % (channel_name, len(domain_df.index)) + ) - channel = SimpleChannel(channel_name, - self.base_seed, - domain_df, - self.step_name - ) + channel = SimpleChannel( + channel_name, self.base_seed, domain_df, self.step_name + ) self.channels[channel_name] = channel self.index_to_channel[domain_df.index.name] = channel_name @@ -490,10 +498,12 @@ def drop_channel(self, channel_name): """ if channel_name in self.channels: - logger.debug("Dropping channel '%s'" % (channel_name, )) + logger.debug("Dropping channel '%s'" % (channel_name,)) del self.channels[channel_name] else: - logger.error("drop_channel called with unknown channel '%s'" % (channel_name,)) + logger.error( + "drop_channel called with unknown channel '%s'" % (channel_name,) + ) def set_base_seed(self, seed=None): """ @@ -640,11 +650,15 @@ def normal_for_df(self, df, mu=0, sigma=1, broadcast=False): if broadcast: alts_df = df df = df.index.unique().to_series() - rands = channel.normal_for_df(df, self.step_name, mu=0, sigma=1, lognormal=False) + rands = channel.normal_for_df( + df, self.step_name, mu=0, sigma=1, lognormal=False + ) rands = reindex(pd.Series(rands, index=df.index), alts_df.index) - rands = rands*sigma + mu + rands = rands * sigma + mu else: - rands = channel.normal_for_df(df, self.step_name, mu, sigma, lognormal=False) + rands = channel.normal_for_df( + df, self.step_name, mu, sigma, lognormal=False + ) return rands @@ -703,7 +717,9 @@ def lognormal_for_df(self, df, mu, sigma, broadcast=False, scale=False): rands = np.exp(rands) else: channel = self.get_channel_for_df(df) - rands = channel.normal_for_df(df, self.step_name, mu=mu, sigma=sigma, lognormal=True) + rands = channel.normal_for_df( + df, self.step_name, mu=mu, sigma=sigma, lognormal=True + ) return rands @@ -746,11 +762,15 @@ def choice_for_df(self, df, a, size, replace): # FIXME - for tests if not self.channels: rng = np.random.RandomState(0) - choices = np.concatenate(tuple(rng.choice(a, size, replace) for _ in range(len(df)))) + choices = np.concatenate( + tuple(rng.choice(a, size, replace) for _ in range(len(df))) + ) return choices t0 = print_elapsed_time() channel = self.get_channel_for_df(df) choices = channel.choice_for_df(df, self.step_name, a, size, replace) - t0 = print_elapsed_time("choice_for_df for %s rows" % len(df.index), t0, debug=True) + t0 = print_elapsed_time( + "choice_for_df for %s rows" % len(df.index), t0, debug=True + ) return choices diff --git a/activitysim/core/simulate.py b/activitysim/core/simulate.py index c14939da95..01ff427090 100644 --- a/activitysim/core/simulate.py +++ b/activitysim/core/simulate.py @@ -1,30 +1,21 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range - -import warnings import logging +import warnings +from builtins import range from collections import OrderedDict import numpy as np import pandas as pd -from . import logit -from . import tracing -from . import pipeline -from . import config -from . import util -from . import assign -from . import chunk - -from . import pathbuilder +from . import assign, chunk, config, logit, pathbuilder, pipeline, tracing, util logger = logging.getLogger(__name__) -SPEC_DESCRIPTION_NAME = 'Description' -SPEC_EXPRESSION_NAME = 'Expression' -SPEC_LABEL_NAME = 'Label' +SPEC_DESCRIPTION_NAME = "Description" +SPEC_EXPRESSION_NAME = "Expression" +SPEC_LABEL_NAME = "Label" ALT_LOSER_UTIL = -900 @@ -58,7 +49,7 @@ def uniquify_spec_index(spec): def read_model_alts(file_name, set_index=None): file_path = config.config_file_path(file_name) - df = pd.read_csv(file_path, comment='#') + df = pd.read_csv(file_path, comment="#") if set_index: df.set_index(set_index, inplace=True) return df @@ -97,17 +88,17 @@ def read_model_spec(file_name): """ assert isinstance(file_name, str) - if not file_name.lower().endswith('.csv'): - file_name = '%s.csv' % (file_name,) + if not file_name.lower().endswith(".csv"): + file_name = "%s.csv" % (file_name,) file_path = config.config_file_path(file_name) try: - spec = pd.read_csv(file_path, comment='#') + spec = pd.read_csv(file_path, comment="#") except Exception as err: logger.error(f"read_model_spec error reading {file_path}") logger.error(f"read_model_spec error {type(err).__name__}: {str(err)}") - raise(err) + raise (err) spec = spec.dropna(subset=[SPEC_EXPRESSION_NAME]) @@ -137,26 +128,32 @@ def read_model_coefficients(model_settings=None, file_name=None): assert file_name is not None else: assert file_name is None - assert 'COEFFICIENTS' in model_settings, \ - "'COEFFICIENTS' tag not in model_settings in %s" % model_settings.get('source_file_paths') - file_name = model_settings['COEFFICIENTS'] + assert ( + "COEFFICIENTS" in model_settings + ), "'COEFFICIENTS' tag not in model_settings in %s" % model_settings.get( + "source_file_paths" + ) + file_name = model_settings["COEFFICIENTS"] logger.debug(f"read_model_coefficients file_name {file_name}") file_path = config.config_file_path(file_name) try: - coefficients = pd.read_csv(file_path, comment='#', index_col='coefficient_name') + coefficients = pd.read_csv(file_path, comment="#", index_col="coefficient_name") except ValueError: logger.exception("Coefficient File Invalid: %s" % str(file_path)) raise if coefficients.index.duplicated().any(): - logger.warning(f"duplicate coefficients in {file_path}\n" - f"{coefficients[coefficients.index.duplicated(keep=False)]}") + logger.warning( + f"duplicate coefficients in {file_path}\n" + f"{coefficients[coefficients.index.duplicated(keep=False)]}" + ) raise RuntimeError(f"duplicate coefficients in {file_path}") if coefficients.value.isnull().any(): logger.warning( - f"null coefficients in {file_path}\n{coefficients[coefficients.value.isnull()]}") + f"null coefficients in {file_path}\n{coefficients[coefficients.value.isnull()]}" + ) raise RuntimeError(f"null coefficients in {file_path}") return coefficients @@ -188,15 +185,19 @@ def spec_for_segment(model_settings, spec_id, segment_name, estimator): else: # otherwise we expect a single coefficient column # doesn't really matter what it is called, but this may catch errors - assert spec.columns[0] in ['coefficient', segment_name] + assert spec.columns[0] in ["coefficient", segment_name] - if 'COEFFICIENTS' not in model_settings: - logger.warning(f"no coefficient file specified in model_settings for {spec_file_name}") + if "COEFFICIENTS" not in model_settings: + logger.warning( + f"no coefficient file specified in model_settings for {spec_file_name}" + ) try: assert (spec.astype(float) == spec).all(axis=None) except (ValueError, AssertionError): - raise RuntimeError(f"No coefficient file specified for {spec_file_name} " - f"but not all spec column values are numeric") + raise RuntimeError( + f"No coefficient file specified for {spec_file_name} " + f"but not all spec column values are numeric" + ) return spec @@ -212,14 +213,17 @@ def read_model_coefficient_template(model_settings): Read the coefficient template specified by COEFFICIENT_TEMPLATE model setting """ - assert 'COEFFICIENT_TEMPLATE' in model_settings, \ - "'COEFFICIENT_TEMPLATE' not in model_settings in %s" % model_settings.get('source_file_paths') + assert ( + "COEFFICIENT_TEMPLATE" in model_settings + ), "'COEFFICIENT_TEMPLATE' not in model_settings in %s" % model_settings.get( + "source_file_paths" + ) - coefficients_file_name = model_settings['COEFFICIENT_TEMPLATE'] + coefficients_file_name = model_settings["COEFFICIENT_TEMPLATE"] file_path = config.config_file_path(coefficients_file_name) try: - template = pd.read_csv(file_path, comment='#', index_col='coefficient_name') + template = pd.read_csv(file_path, comment="#", index_col="coefficient_name") except ValueError: logger.exception("Coefficient Template File Invalid: %s" % str(file_path)) raise @@ -236,7 +240,9 @@ def read_model_coefficient_template(model_settings): if template.index.duplicated().any(): dupes = template[template.index.duplicated(keep=False)].sort_index() - logger.warning(f"duplicate coefficient names in {coefficients_file_name}:\n{dupes}") + logger.warning( + f"duplicate coefficient names in {coefficients_file_name}:\n{dupes}" + ) assert not template.index.duplicated().any() return template @@ -253,12 +259,12 @@ def dump_mapped_coefficients(model_settings): for c in template_df.columns: template_df[c] = template_df[c].map(coefficients_df.value) - coefficients_template_file_name = model_settings['COEFFICIENT_TEMPLATE'] + coefficients_template_file_name = model_settings["COEFFICIENT_TEMPLATE"] file_path = config.output_file_path(coefficients_template_file_name) template_df.to_csv(file_path, index=True) logger.info(f"wrote mapped coefficient template to {file_path}") - coefficients_file_name = model_settings['COEFFICIENTS'] + coefficients_file_name = model_settings["COEFFICIENTS"] file_path = config.output_file_path(coefficients_file_name) coefficients_df.to_csv(file_path, index=True) logger.info(f"wrote raw coefficients to {file_path}") @@ -296,33 +302,47 @@ def get_segment_coefficients(model_settings, segment_name): """ - if 'COEFFICIENTS' in model_settings and 'COEFFICIENT_TEMPLATE' in model_settings: + if "COEFFICIENTS" in model_settings and "COEFFICIENT_TEMPLATE" in model_settings: legacy = False - elif 'COEFFICIENTS' in model_settings: - legacy = 'COEFFICIENTS' - warnings.warn("Support for COEFFICIENTS without COEFFICIENT_TEMPLATE in model settings file will be removed." - "Use COEFFICIENT and COEFFICIENT_TEMPLATE to support estimation.", FutureWarning) - elif 'LEGACY_COEFFICIENTS' in model_settings: - legacy = 'LEGACY_COEFFICIENTS' - warnings.warn("Support for 'LEGACY_COEFFICIENTS' setting in model settings file will be removed." - "Use COEFFICIENT and COEFFICIENT_TEMPLATE to support estimation.", FutureWarning) + elif "COEFFICIENTS" in model_settings: + legacy = "COEFFICIENTS" + warnings.warn( + "Support for COEFFICIENTS without COEFFICIENT_TEMPLATE in model settings file will be removed." + "Use COEFFICIENT and COEFFICIENT_TEMPLATE to support estimation.", + FutureWarning, + ) + elif "LEGACY_COEFFICIENTS" in model_settings: + legacy = "LEGACY_COEFFICIENTS" + warnings.warn( + "Support for 'LEGACY_COEFFICIENTS' setting in model settings file will be removed." + "Use COEFFICIENT and COEFFICIENT_TEMPLATE to support estimation.", + FutureWarning, + ) else: raise RuntimeError(f"No COEFFICIENTS setting in model_settings") if legacy: constants = config.get_model_constants(model_settings) legacy_coeffs_file_path = config.config_file_path(model_settings[legacy]) - omnibus_coefficients = pd.read_csv(legacy_coeffs_file_path, comment='#', index_col='coefficient_name') - coefficients_dict = assign.evaluate_constants(omnibus_coefficients[segment_name], constants=constants) + omnibus_coefficients = pd.read_csv( + legacy_coeffs_file_path, comment="#", index_col="coefficient_name" + ) + coefficients_dict = assign.evaluate_constants( + omnibus_coefficients[segment_name], constants=constants + ) else: coefficients_df = read_model_coefficients(model_settings) template_df = read_model_coefficient_template(model_settings) - coefficients_col = template_df[segment_name].map(coefficients_df.value).astype(float) + coefficients_col = ( + template_df[segment_name].map(coefficients_df.value).astype(float) + ) if coefficients_col.isnull().any(): # show them the offending lines from interaction_coefficients_file - logger.warning(f"bad coefficients in COEFFICIENTS {model_settings['COEFFICIENTS']}\n" - f"{coefficients_col[coefficients_col.isnull()]}") + logger.warning( + f"bad coefficients in COEFFICIENTS {model_settings['COEFFICIENTS']}\n" + f"{coefficients_col[coefficients_col.isnull()]}" + ) assert not coefficients_col.isnull().any() coefficients_dict = coefficients_col.to_dict() @@ -331,24 +351,25 @@ def get_segment_coefficients(model_settings, segment_name): def eval_nest_coefficients(nest_spec, coefficients, trace_label): - def replace_coefficients(nest): if isinstance(nest, dict): - assert 'coefficient' in nest - coefficient_name = nest['coefficient'] + assert "coefficient" in nest + coefficient_name = nest["coefficient"] if isinstance(coefficient_name, str): - assert coefficient_name in coefficients, "%s not in nest coefficients" % (coefficient_name, ) - nest['coefficient'] = coefficients[coefficient_name] + assert ( + coefficient_name in coefficients + ), "%s not in nest coefficients" % (coefficient_name,) + nest["coefficient"] = coefficients[coefficient_name] - assert 'alternatives' in nest - for alternative in nest['alternatives']: + assert "alternatives" in nest + for alternative in nest["alternatives"]: if isinstance(alternative, dict): replace_coefficients(alternative) if isinstance(coefficients, pd.DataFrame): - assert ('value' in coefficients.columns) - coefficients = coefficients['value'].to_dict() + assert "value" in coefficients.columns + coefficients = coefficients["value"].to_dict() replace_coefficients(nest_spec) @@ -362,16 +383,19 @@ def eval_coefficients(spec, coefficients, estimator): spec = spec.copy() # don't clobber input spec if isinstance(coefficients, pd.DataFrame): - assert ('value' in coefficients.columns) - coefficients = coefficients['value'].to_dict() + assert "value" in coefficients.columns + coefficients = coefficients["value"].to_dict() - assert isinstance(coefficients, dict), \ - "eval_coefficients doesn't grok type of coefficients: %s" % (type(coefficients)) + assert isinstance( + coefficients, dict + ), "eval_coefficients doesn't grok type of coefficients: %s" % (type(coefficients)) for c in spec.columns: if c == SPEC_LABEL_NAME: continue - spec[c] = spec[c].apply(lambda x: eval(str(x), {}, coefficients)).astype(np.float32) + spec[c] = ( + spec[c].apply(lambda x: eval(str(x), {}, coefficients)).astype(np.float32) + ) # drop any rows with all zeros since they won't have any effect (0 marginal utility) # (do not drop rows in estimation mode as it may confuse the estimation package (e.g. larch) @@ -380,15 +404,23 @@ def eval_coefficients(spec, coefficients, estimator): if estimator: logger.debug("keeping %s all-zero rows in SPEC" % (zero_rows.sum(),)) else: - logger.debug("dropping %s all-zero rows from SPEC" % (zero_rows.sum(), )) + logger.debug("dropping %s all-zero rows from SPEC" % (zero_rows.sum(),)) spec = spec.loc[~zero_rows] return spec -def eval_utilities(spec, choosers, locals_d=None, trace_label=None, - have_trace_targets=False, trace_all_rows=False, - estimator=None, trace_column_names=None, log_alt_losers=False): +def eval_utilities( + spec, + choosers, + locals_d=None, + trace_label=None, + have_trace_targets=False, + trace_all_rows=False, + estimator=None, + trace_column_names=None, + log_alt_losers=False, +): """ Parameters @@ -416,7 +448,7 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, # fixme - restore tracing and _check_for_variability - trace_label = tracing.extend_trace_label(trace_label, 'eval_utils') + trace_label = tracing.extend_trace_label(trace_label, "eval_utils") # avoid altering caller's passed-in locals_d parameter (they may be looping) locals_dict = assign.local_utilities() @@ -425,7 +457,7 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, locals_dict.update(locals_d) globals_dict = {} - locals_dict['df'] = choosers + locals_dict["df"] = choosers # - eval spec expressions if isinstance(spec.index, pd.MultiIndex): @@ -444,7 +476,7 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, with warnings.catch_warnings(record=True) as w: # Cause all warnings to always be triggered. warnings.simplefilter("always") - if expr.startswith('@'): + if expr.startswith("@"): expression_value = eval(expr[1:], globals_dict, locals_dict) else: @@ -452,10 +484,14 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, if len(w) > 0: for wrn in w: - logger.warning(f"{trace_label} - {type(wrn).__name__} ({wrn.message}) evaluating: {str(expr)}") + logger.warning( + f"{trace_label} - {type(wrn).__name__} ({wrn.message}) evaluating: {str(expr)}" + ) except Exception as err: - logger.exception(f"{trace_label} - {type(err).__name__} ({str(err)}) evaluating: {str(expr)}") + logger.exception( + f"{trace_label} - {type(err).__name__} ({str(err)}) evaluating: {str(expr)}" + ) raise err if log_alt_losers: @@ -465,8 +501,10 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, losers = np.amax(utils, axis=1) < ALT_LOSER_UTIL if losers.any(): - logger.warning(f"{trace_label} - {sum(losers)} choosers of {len(losers)} " - f"with prohibitive utilities for all alternatives for expression: {expr}") + logger.warning( + f"{trace_label} - {sum(losers)} choosers of {len(losers)} " + f"with prohibitive utilities for all alternatives for expression: {expr}" + ) expression_values[i] = expression_value i += 1 @@ -477,7 +515,8 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, df = pd.DataFrame( data=expression_values.transpose(), index=choosers.index, - columns=spec.index.get_level_values(SPEC_LABEL_NAME)) + columns=spec.index.get_level_values(SPEC_LABEL_NAME), + ) df.index.name = choosers.index.name estimator.write_expression_values(df) @@ -511,19 +550,28 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, if trace_column_names is not None: if isinstance(trace_column_names, str): trace_column_names = [trace_column_names] - expression_values_df.columns = pd.MultiIndex.from_frame(choosers.loc[trace_targets, trace_column_names]) + expression_values_df.columns = pd.MultiIndex.from_frame( + choosers.loc[trace_targets, trace_column_names] + ) - tracing.trace_df(expression_values_df, tracing.extend_trace_label(trace_label, 'expression_values'), - slicer=None, transpose=False) + tracing.trace_df( + expression_values_df, + tracing.extend_trace_label(trace_label, "expression_values"), + slicer=None, + transpose=False, + ) if len(spec.columns) > 1: for c in spec.columns: - name = f'expression_value_{c}' + name = f"expression_value_{c}" - tracing.trace_df(expression_values_df.multiply(spec[c].values, axis=0), - tracing.extend_trace_label(trace_label, name), - slicer=None, transpose=False) + tracing.trace_df( + expression_values_df.multiply(spec[c].values, axis=0), + tracing.extend_trace_label(trace_label, name), + slicer=None, + transpose=False, + ) del expression_values chunk.log_df(trace_label, "expression_values", None) @@ -574,7 +622,7 @@ def eval_variables(exprs, df, locals_d=None): locals_dict.update(locals_d) globals_dict = {} - locals_dict['df'] = df + locals_dict["df"] = df def to_array(x): @@ -599,7 +647,7 @@ def to_array(x): values = OrderedDict() for expr in exprs: try: - if expr.startswith('@'): + if expr.startswith("@"): expr_values = to_array(eval(expr[1:], globals_dict, locals_dict)) else: expr_values = to_array(df.eval(expr)) @@ -608,7 +656,9 @@ def to_array(x): values[expr] = expr_values except Exception as err: - logger.exception(f"Variable evaluation failed {type(err).__name__} ({str(err)}) evaluating: {str(expr)}") + logger.exception( + f"Variable evaluation failed {type(err).__name__} ({str(err)}) evaluating: {str(expr)}" + ) raise err values = util.df_from_dict(values, index=df.index) @@ -661,9 +711,13 @@ def set_skim_wrapper_targets(df, skims): the skims object is intended to be used. """ - skims = skims if isinstance(skims, list) \ - else skims.values() if isinstance(skims, dict) \ + skims = ( + skims + if isinstance(skims, list) + else skims.values() + if isinstance(skims, dict) else [skims] + ) # assume any object in skims can be treated as a skim for skim in skims: @@ -685,7 +739,7 @@ def _check_for_variability(expression_values, trace_label): """ if trace_label is None: - trace_label = '_check_for_variability' + trace_label = "_check_for_variability" sample = random_rows(expression_values, min(1000, len(expression_values))) @@ -694,7 +748,9 @@ def _check_for_variability(expression_values, trace_label): v = sample.iloc[:, i] if v.min() == v.max(): col_name = sample.columns[i] - logger.info("%s: no variability (%s) in: %s" % (trace_label, v.iloc[0], col_name)) + logger.info( + "%s: no variability (%s) in: %s" % (trace_label, v.iloc[0], col_name) + ) no_variability += 1 # FIXME - how could this happen? Not sure it is really a problem? if np.count_nonzero(v.isnull().values) > 0: @@ -703,10 +759,14 @@ def _check_for_variability(expression_values, trace_label): has_missing_vals += 1 if no_variability > 0: - logger.warning("%s: %s columns have no variability" % (trace_label, no_variability)) + logger.warning( + "%s: %s columns have no variability" % (trace_label, no_variability) + ) if has_missing_vals > 0: - logger.warning("%s: %s columns have missing values" % (trace_label, has_missing_vals)) + logger.warning( + "%s: %s columns have missing values" % (trace_label, has_missing_vals) + ) def compute_nested_exp_utilities(raw_utilities, nest_spec): @@ -739,8 +799,9 @@ def compute_nested_exp_utilities(raw_utilities, nest_spec): if nest.is_leaf: # leaf_utility = raw_utility / nest.product_of_coefficients - nested_utilities[name] = \ + nested_utilities[name] = ( raw_utilities[name].astype(float) / nest.product_of_coefficients + ) else: # nest node @@ -748,9 +809,10 @@ def compute_nested_exp_utilities(raw_utilities, nest_spec): # this will RuntimeWarning: divide by zero encountered in log # if all nest alternative utilities are zero # but the resulting inf will become 0 when exp is applied below - with np.errstate(divide='ignore'): - nested_utilities[name] = \ - nest.coefficient * np.log(nested_utilities[nest.alternatives].sum(axis=1)) + with np.errstate(divide="ignore"): + nested_utilities[name] = nest.coefficient * np.log( + nested_utilities[nest.alternatives].sum(axis=1) + ) # exponentiate the utility nested_utilities[name] = np.exp(nested_utilities[name]) @@ -780,12 +842,14 @@ def compute_nested_probabilities(nested_exp_utilities, nest_spec, trace_label): nested_probabilities = pd.DataFrame(index=nested_exp_utilities.index) - for nest in logit.each_nest(nest_spec, type='node', post_order=False): + for nest in logit.each_nest(nest_spec, type="node", post_order=False): - probs = logit.utils_to_probs(nested_exp_utilities[nest.alternatives], - trace_label=trace_label, - exponentiated=True, - allow_zero_probs=True) + probs = logit.utils_to_probs( + nested_exp_utilities[nest.alternatives], + trace_label=trace_label, + exponentiated=True, + allow_zero_probs=True, + ) nested_probabilities = pd.concat([nested_probabilities, probs], axis=1) @@ -815,7 +879,7 @@ def compute_base_probabilities(nested_probabilities, nests, spec): base_probabilities = pd.DataFrame(index=nested_probabilities.index) - for nest in logit.each_nest(nests, type='leaf', post_order=False): + for nest in logit.each_nest(nests, type="leaf", post_order=False): # skip root: it has a prob of 1 but we didn't compute a nested probability column for it ancestors = nest.ancestors[1:] @@ -824,16 +888,24 @@ def compute_base_probabilities(nested_probabilities, nests, spec): # reorder alternative columns to match spec # since these are alternatives chosen by column index, order of columns matters - assert(set(base_probabilities.columns) == set(spec.columns)) + assert set(base_probabilities.columns) == set(spec.columns) base_probabilities = base_probabilities[spec.columns] return base_probabilities -def eval_mnl(choosers, spec, locals_d, custom_chooser, estimator, - log_alt_losers=False, - want_logsums=False, trace_label=None, - trace_choice_name=None, trace_column_names=None): +def eval_mnl( + choosers, + spec, + locals_d, + custom_chooser, + estimator, + log_alt_losers=False, + want_logsums=False, + trace_label=None, + trace_choice_name=None, + trace_column_names=None, +): """ Run a simulation for when the model spec does not involve alternative specific data, e.g. there are no interactions with alternative @@ -879,55 +951,79 @@ def eval_mnl(choosers, spec, locals_d, custom_chooser, estimator, # FIXME - not implemented because not currently needed assert not want_logsums - trace_label = tracing.extend_trace_label(trace_label, 'eval_mnl') + trace_label = tracing.extend_trace_label(trace_label, "eval_mnl") have_trace_targets = tracing.has_trace_targets(choosers) if have_trace_targets: - tracing.trace_df(choosers, '%s.choosers' % trace_label) - - utilities = eval_utilities(spec, choosers, locals_d, - log_alt_losers=log_alt_losers, - trace_label=trace_label, have_trace_targets=have_trace_targets, - estimator=estimator, trace_column_names=trace_column_names) + tracing.trace_df(choosers, "%s.choosers" % trace_label) + + utilities = eval_utilities( + spec, + choosers, + locals_d, + log_alt_losers=log_alt_losers, + trace_label=trace_label, + have_trace_targets=have_trace_targets, + estimator=estimator, + trace_column_names=trace_column_names, + ) chunk.log_df(trace_label, "utilities", utilities) if have_trace_targets: - tracing.trace_df(utilities, '%s.utilities' % trace_label, - column_labels=['alternative', 'utility']) - - probs = logit.utils_to_probs(utilities, trace_label=trace_label, trace_choosers=choosers) + tracing.trace_df( + utilities, + "%s.utilities" % trace_label, + column_labels=["alternative", "utility"], + ) + + probs = logit.utils_to_probs( + utilities, trace_label=trace_label, trace_choosers=choosers + ) chunk.log_df(trace_label, "probs", probs) del utilities - chunk.log_df(trace_label, 'utilities', None) + chunk.log_df(trace_label, "utilities", None) if have_trace_targets: # report these now in case make_choices throws error on bad_choices - tracing.trace_df(probs, '%s.probs' % trace_label, - column_labels=['alternative', 'probability']) + tracing.trace_df( + probs, + "%s.probs" % trace_label, + column_labels=["alternative", "probability"], + ) if custom_chooser: - choices, rands = custom_chooser(probs=probs, choosers=choosers, spec=spec, - trace_label=trace_label) + choices, rands = custom_chooser( + probs=probs, choosers=choosers, spec=spec, trace_label=trace_label + ) else: choices, rands = logit.make_choices(probs, trace_label=trace_label) del probs - chunk.log_df(trace_label, 'probs', None) + chunk.log_df(trace_label, "probs", None) if have_trace_targets: - tracing.trace_df(choices, '%s.choices' % trace_label, - columns=[None, trace_choice_name]) - tracing.trace_df(rands, '%s.rands' % trace_label, - columns=[None, 'rand']) + tracing.trace_df( + choices, "%s.choices" % trace_label, columns=[None, trace_choice_name] + ) + tracing.trace_df(rands, "%s.rands" % trace_label, columns=[None, "rand"]) return choices -def eval_nl(choosers, spec, nest_spec, locals_d, custom_chooser, estimator, - log_alt_losers=False, - want_logsums=False, trace_label=None, - trace_choice_name=None, trace_column_names=None): +def eval_nl( + choosers, + spec, + nest_spec, + locals_d, + custom_chooser, + estimator, + log_alt_losers=False, + want_logsums=False, + trace_label=None, + trace_choice_name=None, + trace_column_names=None, +): """ Run a nested-logit simulation for when the model spec does not involve alternative specific data, e.g. there are no interactions with alternative @@ -965,39 +1061,52 @@ def eval_nl(choosers, spec, nest_spec, locals_d, custom_chooser, estimator, of `spec`. """ - trace_label = tracing.extend_trace_label(trace_label, 'eval_nl') + trace_label = tracing.extend_trace_label(trace_label, "eval_nl") assert trace_label have_trace_targets = tracing.has_trace_targets(choosers) logit.validate_nest_spec(nest_spec, trace_label) if have_trace_targets: - tracing.trace_df(choosers, '%s.choosers' % trace_label) - - raw_utilities = eval_utilities(spec, choosers, locals_d, - log_alt_losers=log_alt_losers, - trace_label=trace_label, have_trace_targets=have_trace_targets, - estimator=estimator, trace_column_names=trace_column_names) + tracing.trace_df(choosers, "%s.choosers" % trace_label) + + raw_utilities = eval_utilities( + spec, + choosers, + locals_d, + log_alt_losers=log_alt_losers, + trace_label=trace_label, + have_trace_targets=have_trace_targets, + estimator=estimator, + trace_column_names=trace_column_names, + ) chunk.log_df(trace_label, "raw_utilities", raw_utilities) if have_trace_targets: - tracing.trace_df(raw_utilities, '%s.raw_utilities' % trace_label, - column_labels=['alternative', 'utility']) + tracing.trace_df( + raw_utilities, + "%s.raw_utilities" % trace_label, + column_labels=["alternative", "utility"], + ) # exponentiated utilities of leaves and nests nested_exp_utilities = compute_nested_exp_utilities(raw_utilities, nest_spec) chunk.log_df(trace_label, "nested_exp_utilities", nested_exp_utilities) del raw_utilities - chunk.log_df(trace_label, 'raw_utilities', None) + chunk.log_df(trace_label, "raw_utilities", None) if have_trace_targets: - tracing.trace_df(nested_exp_utilities, '%s.nested_exp_utilities' % trace_label, - column_labels=['alternative', 'utility']) + tracing.trace_df( + nested_exp_utilities, + "%s.nested_exp_utilities" % trace_label, + column_labels=["alternative", "utility"], + ) # probabilities of alternatives relative to siblings sharing the same nest - nested_probabilities = \ - compute_nested_probabilities(nested_exp_utilities, nest_spec, trace_label=trace_label) + nested_probabilities = compute_nested_probabilities( + nested_exp_utilities, nest_spec, trace_label=trace_label + ) chunk.log_df(trace_label, "nested_probabilities", nested_probabilities) if want_logsums: @@ -1006,22 +1115,30 @@ def eval_nl(choosers, spec, nest_spec, locals_d, custom_chooser, estimator, chunk.log_df(trace_label, "logsums", logsums) del nested_exp_utilities - chunk.log_df(trace_label, 'nested_exp_utilities', None) + chunk.log_df(trace_label, "nested_exp_utilities", None) if have_trace_targets: - tracing.trace_df(nested_probabilities, '%s.nested_probabilities' % trace_label, - column_labels=['alternative', 'probability']) + tracing.trace_df( + nested_probabilities, + "%s.nested_probabilities" % trace_label, + column_labels=["alternative", "probability"], + ) # global (flattened) leaf probabilities based on relative nest coefficients (in spec order) - base_probabilities = compute_base_probabilities(nested_probabilities, nest_spec, spec) + base_probabilities = compute_base_probabilities( + nested_probabilities, nest_spec, spec + ) chunk.log_df(trace_label, "base_probabilities", base_probabilities) del nested_probabilities - chunk.log_df(trace_label, 'nested_probabilities', None) + chunk.log_df(trace_label, "nested_probabilities", None) if have_trace_targets: - tracing.trace_df(base_probabilities, '%s.base_probabilities' % trace_label, - column_labels=['alternative', 'probability']) + tracing.trace_df( + base_probabilities, + "%s.base_probabilities" % trace_label, + column_labels=["alternative", "probability"], + ) # note base_probabilities could all be zero since we allowed all probs for nests to be zero # check here to print a clear message but make_choices will raise error if probs don't sum to 1 @@ -1031,43 +1148,57 @@ def eval_nl(choosers, spec, nest_spec, locals_d, custom_chooser, estimator, if no_choices.any(): logit.report_bad_choices( - no_choices, base_probabilities, - trace_label=tracing.extend_trace_label(trace_label, 'bad_probs'), + no_choices, + base_probabilities, + trace_label=tracing.extend_trace_label(trace_label, "bad_probs"), trace_choosers=choosers, - msg="base_probabilities do not sum to one") + msg="base_probabilities do not sum to one", + ) if custom_chooser: - choices, rands = custom_chooser(probs=base_probabilities, choosers=choosers, spec=spec, - trace_label=trace_label) + choices, rands = custom_chooser( + probs=base_probabilities, + choosers=choosers, + spec=spec, + trace_label=trace_label, + ) else: choices, rands = logit.make_choices(base_probabilities, trace_label=trace_label) del base_probabilities - chunk.log_df(trace_label, 'base_probabilities', None) + chunk.log_df(trace_label, "base_probabilities", None) if have_trace_targets: - tracing.trace_df(choices, '%s.choices' % trace_label, - columns=[None, trace_choice_name]) - tracing.trace_df(rands, '%s.rands' % trace_label, - columns=[None, 'rand']) + tracing.trace_df( + choices, "%s.choices" % trace_label, columns=[None, trace_choice_name] + ) + tracing.trace_df(rands, "%s.rands" % trace_label, columns=[None, "rand"]) if want_logsums: - tracing.trace_df(logsums, '%s.logsums' % trace_label, - columns=[None, 'logsum']) + tracing.trace_df( + logsums, "%s.logsums" % trace_label, columns=[None, "logsum"] + ) if want_logsums: - choices = choices.to_frame('choice') - choices['logsum'] = logsums + choices = choices.to_frame("choice") + choices["logsum"] = logsums return choices -def _simple_simulate(choosers, spec, nest_spec, skims=None, locals_d=None, - custom_chooser=None, - log_alt_losers=False, - want_logsums=False, - estimator=None, - trace_label=None, trace_choice_name=None, trace_column_names=None, - ): +def _simple_simulate( + choosers, + spec, + nest_spec, + skims=None, + locals_d=None, + custom_chooser=None, + log_alt_losers=False, + want_logsums=False, + estimator=None, + trace_label=None, + trace_choice_name=None, + trace_column_names=None, +): """ Run an MNL or NL simulation for when the model spec does not involve alternative specific data, e.g. there are no interactions with alternative @@ -1117,59 +1248,90 @@ def _simple_simulate(choosers, spec, nest_spec, skims=None, locals_d=None, set_skim_wrapper_targets(choosers, skims) if nest_spec is None: - choices = eval_mnl(choosers, spec, locals_d, custom_chooser, - log_alt_losers=log_alt_losers, - want_logsums=want_logsums, - estimator=estimator, - trace_label=trace_label, - trace_choice_name=trace_choice_name, trace_column_names=trace_column_names) + choices = eval_mnl( + choosers, + spec, + locals_d, + custom_chooser, + log_alt_losers=log_alt_losers, + want_logsums=want_logsums, + estimator=estimator, + trace_label=trace_label, + trace_choice_name=trace_choice_name, + trace_column_names=trace_column_names, + ) else: - choices = eval_nl(choosers, spec, nest_spec, locals_d, custom_chooser, - log_alt_losers=log_alt_losers, - want_logsums=want_logsums, - estimator=estimator, - trace_label=trace_label, - trace_choice_name=trace_choice_name, trace_column_names=trace_column_names) + choices = eval_nl( + choosers, + spec, + nest_spec, + locals_d, + custom_chooser, + log_alt_losers=log_alt_losers, + want_logsums=want_logsums, + estimator=estimator, + trace_label=trace_label, + trace_choice_name=trace_choice_name, + trace_column_names=trace_column_names, + ) return choices def tvpb_skims(skims): - def list_of_skims(skims): - return \ - skims if isinstance(skims, list) \ - else skims.values() if isinstance(skims, dict) \ - else [skims] if skims is not None \ + return ( + skims + if isinstance(skims, list) + else skims.values() + if isinstance(skims, dict) + else [skims] + if skims is not None else [] - - return [skim for skim in list_of_skims(skims) if isinstance(skim, pathbuilder.TransitVirtualPathLogsumWrapper)] - - -def simple_simulate(choosers, spec, nest_spec, - skims=None, locals_d=None, - chunk_size=0, custom_chooser=None, - log_alt_losers=False, - want_logsums=False, - estimator=None, - trace_label=None, trace_choice_name=None, trace_column_names=None): + ) + + return [ + skim + for skim in list_of_skims(skims) + if isinstance(skim, pathbuilder.TransitVirtualPathLogsumWrapper) + ] + + +def simple_simulate( + choosers, + spec, + nest_spec, + skims=None, + locals_d=None, + chunk_size=0, + custom_chooser=None, + log_alt_losers=False, + want_logsums=False, + estimator=None, + trace_label=None, + trace_choice_name=None, + trace_column_names=None, +): """ Run an MNL or NL simulation for when the model spec does not involve alternative specific data, e.g. there are no interactions with alternative properties and no need to sample from alternatives. """ - trace_label = tracing.extend_trace_label(trace_label, 'simple_simulate') + trace_label = tracing.extend_trace_label(trace_label, "simple_simulate") assert len(choosers) > 0 result_list = [] # segment by person type and pick the right spec for each person type - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(choosers, chunk_size, trace_label): + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + choosers, chunk_size, trace_label + ): choices = _simple_simulate( - chooser_chunk, spec, nest_spec, + chooser_chunk, + spec, + nest_spec, skims=skims, locals_d=locals_d, custom_chooser=custom_chooser, @@ -1178,11 +1340,12 @@ def simple_simulate(choosers, spec, nest_spec, estimator=estimator, trace_label=chunk_trace_label, trace_choice_name=trace_choice_name, - trace_column_names=trace_column_names) + trace_column_names=trace_column_names, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) if len(result_list) > 1: choices = pd.concat(result_list) @@ -1192,24 +1355,35 @@ def simple_simulate(choosers, spec, nest_spec, return choices -def simple_simulate_by_chunk_id(choosers, spec, nest_spec, - skims=None, locals_d=None, - chunk_size=0, custom_chooser=None, - log_alt_losers=False, - want_logsums=False, - estimator=None, - trace_label=None, - trace_choice_name=None): +def simple_simulate_by_chunk_id( + choosers, + spec, + nest_spec, + skims=None, + locals_d=None, + chunk_size=0, + custom_chooser=None, + log_alt_losers=False, + want_logsums=False, + estimator=None, + trace_label=None, + trace_choice_name=None, +): """ chunk_by_chunk_id wrapper for simple_simulate """ result_list = [] - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers_by_chunk_id(choosers, chunk_size, trace_label): + for ( + i, + chooser_chunk, + chunk_trace_label, + ) in chunk.adaptive_chunked_choosers_by_chunk_id(choosers, chunk_size, trace_label): choices = _simple_simulate( - chooser_chunk, spec, nest_spec, + chooser_chunk, + spec, + nest_spec, skims=skims, locals_d=locals_d, custom_chooser=custom_chooser, @@ -1217,11 +1391,12 @@ def simple_simulate_by_chunk_id(choosers, spec, nest_spec, want_logsums=want_logsums, estimator=estimator, trace_label=chunk_trace_label, - trace_choice_name=trace_choice_name) + trace_choice_name=trace_choice_name, + ) result_list.append(choices) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) if len(result_list) > 1: choices = pd.concat(result_list) @@ -1241,21 +1416,26 @@ def eval_mnl_logsums(choosers, spec, locals_d, trace_label=None): # FIXME - untested and not currently used by any models... - trace_label = tracing.extend_trace_label(trace_label, 'eval_mnl_logsums') + trace_label = tracing.extend_trace_label(trace_label, "eval_mnl_logsums") have_trace_targets = tracing.has_trace_targets(choosers) logger.debug("running eval_mnl_logsums") # trace choosers if have_trace_targets: - tracing.trace_df(choosers, '%s.choosers' % trace_label) + tracing.trace_df(choosers, "%s.choosers" % trace_label) - utilities = eval_utilities(spec, choosers, locals_d, trace_label, have_trace_targets) + utilities = eval_utilities( + spec, choosers, locals_d, trace_label, have_trace_targets + ) chunk.log_df(trace_label, "utilities", utilities) if have_trace_targets: - tracing.trace_df(utilities, '%s.raw_utilities' % trace_label, - column_labels=['alternative', 'utility']) + tracing.trace_df( + utilities, + "%s.raw_utilities" % trace_label, + column_labels=["alternative", "utility"], + ) # - logsums # logsum is log of exponentiated utilities summed across columns of each chooser row @@ -1265,8 +1445,9 @@ def eval_mnl_logsums(choosers, spec, locals_d, trace_label=None): # trace utilities if have_trace_targets: - tracing.trace_df(logsums, '%s.logsums' % trace_label, - column_labels=['alternative', 'logsum']) + tracing.trace_df( + logsums, "%s.logsums" % trace_label, column_labels=["alternative", "logsum"] + ) return logsums @@ -1281,29 +1462,37 @@ def eval_nl_logsums(choosers, spec, nest_spec, locals_d, trace_label=None): Index will be that of `choosers`, values will be nest logsum based on spec column values """ - trace_label = tracing.extend_trace_label(trace_label, 'eval_nl_logsums') + trace_label = tracing.extend_trace_label(trace_label, "eval_nl_logsums") have_trace_targets = tracing.has_trace_targets(choosers) logit.validate_nest_spec(nest_spec, trace_label) # trace choosers if have_trace_targets: - tracing.trace_df(choosers, '%s.choosers' % trace_label) - - raw_utilities = eval_utilities(spec, choosers, locals_d, - trace_label=trace_label, have_trace_targets=have_trace_targets) + tracing.trace_df(choosers, "%s.choosers" % trace_label) + + raw_utilities = eval_utilities( + spec, + choosers, + locals_d, + trace_label=trace_label, + have_trace_targets=have_trace_targets, + ) chunk.log_df(trace_label, "raw_utilities", raw_utilities) if have_trace_targets: - tracing.trace_df(raw_utilities, '%s.raw_utilities' % trace_label, - column_labels=['alternative', 'utility']) + tracing.trace_df( + raw_utilities, + "%s.raw_utilities" % trace_label, + column_labels=["alternative", "utility"], + ) # - exponentiated utilities of leaves and nests nested_exp_utilities = compute_nested_exp_utilities(raw_utilities, nest_spec) chunk.log_df(trace_label, "nested_exp_utilities", nested_exp_utilities) del raw_utilities # done with raw_utilities - chunk.log_df(trace_label, 'raw_utilities', None) + chunk.log_df(trace_label, "raw_utilities", None) # - logsums logsums = np.log(nested_exp_utilities.root) @@ -1312,20 +1501,25 @@ def eval_nl_logsums(choosers, spec, nest_spec, locals_d, trace_label=None): if have_trace_targets: # add logsum to nested_exp_utilities for tracing - nested_exp_utilities['logsum'] = logsums - tracing.trace_df(nested_exp_utilities, '%s.nested_exp_utilities' % trace_label, - column_labels=['alternative', 'utility']) - tracing.trace_df(logsums, '%s.logsums' % trace_label, - column_labels=['alternative', 'logsum']) + nested_exp_utilities["logsum"] = logsums + tracing.trace_df( + nested_exp_utilities, + "%s.nested_exp_utilities" % trace_label, + column_labels=["alternative", "utility"], + ) + tracing.trace_df( + logsums, "%s.logsums" % trace_label, column_labels=["alternative", "logsum"] + ) del nested_exp_utilities # done with nested_exp_utilities - chunk.log_df(trace_label, 'nested_exp_utilities', None) + chunk.log_df(trace_label, "nested_exp_utilities", None) return logsums -def _simple_simulate_logsums(choosers, spec, nest_spec, - skims=None, locals_d=None, trace_label=None): +def _simple_simulate_logsums( + choosers, spec, nest_spec, skims=None, locals_d=None, trace_label=None +): """ like simple_simulate except return logsums instead of making choices @@ -1339,18 +1533,25 @@ def _simple_simulate_logsums(choosers, spec, nest_spec, set_skim_wrapper_targets(choosers, skims) if nest_spec is None: - logsums = eval_mnl_logsums(choosers, spec, locals_d, - trace_label=trace_label) + logsums = eval_mnl_logsums(choosers, spec, locals_d, trace_label=trace_label) else: - logsums = eval_nl_logsums(choosers, spec, nest_spec, locals_d, - trace_label=trace_label) + logsums = eval_nl_logsums( + choosers, spec, nest_spec, locals_d, trace_label=trace_label + ) return logsums -def simple_simulate_logsums(choosers, spec, nest_spec, - skims=None, locals_d=None, chunk_size=0, - trace_label=None, chunk_tag=None): +def simple_simulate_logsums( + choosers, + spec, + nest_spec, + skims=None, + locals_d=None, + chunk_size=0, + trace_label=None, + chunk_tag=None, +): """ like simple_simulate except return logsums instead of making choices @@ -1365,17 +1566,17 @@ def simple_simulate_logsums(choosers, spec, nest_spec, result_list = [] # segment by person type and pick the right spec for each person type - for i, chooser_chunk, chunk_trace_label \ - in chunk.adaptive_chunked_choosers(choosers, chunk_size, trace_label, chunk_tag): + for i, chooser_chunk, chunk_trace_label in chunk.adaptive_chunked_choosers( + choosers, chunk_size, trace_label, chunk_tag + ): logsums = _simple_simulate_logsums( - chooser_chunk, spec, nest_spec, - skims, locals_d, - chunk_trace_label) + chooser_chunk, spec, nest_spec, skims, locals_d, chunk_trace_label + ) result_list.append(logsums) - chunk.log_df(trace_label, f'result_list', result_list) + chunk.log_df(trace_label, f"result_list", result_list) if len(result_list) > 1: logsums = pd.concat(result_list) diff --git a/activitysim/core/skim_dict_factory.py b/activitysim/core/skim_dict_factory.py index acba205c4c..6c1c8f2228 100644 --- a/activitysim/core/skim_dict_factory.py +++ b/activitysim/core/skim_dict_factory.py @@ -2,18 +2,15 @@ # See full license in LICENSE.txt. # from builtins import int -import os -import multiprocessing import logging +import multiprocessing +import os +from abc import ABC, abstractmethod + import numpy as np import openmatrix as omx -from abc import ABC, abstractmethod -from activitysim.core import util -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import tracing -from activitysim.core import skim_dictionary +from activitysim.core import config, inject, skim_dictionary, tracing, util logger = logging.getLogger(__name__) @@ -27,6 +24,7 @@ class SkimData(object): For instance, to open/close memmapped files just in time, or to access backing data via an alternate api """ + def __init__(self, skim_data): """ skim_data is an np.ndarray or anything that implements the methods/properties of this class @@ -39,7 +37,7 @@ def __init__(self, skim_data): def __getitem__(self, indexes): if len(indexes) != 3: - raise ValueError(f'number of indexes ({len(indexes)}) should be 3') + raise ValueError(f"number of indexes ({len(indexes)}) should be 3") return self._skim_data[indexes] @property @@ -108,7 +106,7 @@ def load_skim_info(self, skim_tag): # ignore any 3D skims not in skim_time_periods # specifically, load all skims except those with key2 not in dim3_tags_to_load skim_time_periods = self.network_los.skim_time_periods - dim3_tags_to_load = skim_time_periods and skim_time_periods['labels'] + dim3_tags_to_load = skim_time_periods and skim_time_periods["labels"] self.omx_manifest = {} # dict mapping { omx_key: skim_name } @@ -120,14 +118,18 @@ def load_skim_info(self, skim_tag): # fixme call to omx_file.shape() failing in windows p3.5 if self.omx_shape is None: - self.omx_shape = tuple(int(i) for i in omx_file.shape()) # sometimes omx shape are floats! + self.omx_shape = tuple( + int(i) for i in omx_file.shape() + ) # sometimes omx shape are floats! else: - assert (self.omx_shape == tuple(int(i) for i in omx_file.shape())), \ - f"Mismatch shape {self.omx_shape} != {omx_file.shape()}" + assert self.omx_shape == tuple( + int(i) for i in omx_file.shape() + ), f"Mismatch shape {self.omx_shape} != {omx_file.shape()}" for skim_name in omx_file.listMatrices(): - assert skim_name not in self.omx_manifest, \ - f"duplicate skim '{skim_name}' found in {self.omx_manifest[skim_name]} and {omx_file}" + assert ( + skim_name not in self.omx_manifest + ), f"duplicate skim '{skim_name}' found in {self.omx_manifest[skim_name]} and {omx_file}" self.omx_manifest[skim_name] = omx_file_path for m in omx_file.listMappings(): @@ -138,14 +140,16 @@ def load_skim_info(self, skim_tag): else: # don't really expect more than one, but ok if they are all the same if not (self.offset_map == omx_file.mapentries(m)): - raise RuntimeError(f"Multiple mappings in omx file: {self.offset_map_name} != {m}") + raise RuntimeError( + f"Multiple mappings in omx file: {self.offset_map_name} != {m}" + ) # - omx_keys dict maps skim key to omx_key # DISTWALK: DISTWALK # ('DRV_COM_WLK_BOARDS', 'AM'): DRV_COM_WLK_BOARDS__AM, ... self.omx_keys = dict() for skim_name in self.omx_manifest.keys(): - key1, sep, key2 = skim_name.partition('__') + key1, sep, key2 = skim_name.partition("__") # - ignore composite tags not in dim3_tags_to_load if dim3_tags_to_load and sep and key2 not in dim3_tags_to_load: @@ -193,7 +197,11 @@ def load_skim_info(self, skim_tag): self.block_offsets[skim_key] = key1_offset + key2_relative_offset if skim_dictionary.ROW_MAJOR_LAYOUT: - self.skim_data_shape = (self.num_skims, self.omx_shape[0], self.omx_shape[1]) + self.skim_data_shape = ( + self.num_skims, + self.omx_shape[0], + self.omx_shape[1], + ) else: self.skim_data_shape = self.omx_shape + (self.num_skims,) @@ -279,8 +287,10 @@ def _read_skims_from_omx(self, skim_info, skim_data): if omx_manifest[omx_key] == omx_file_path: offset = skim_info.block_offsets[skim_key] - logger.debug(f"_read_skims_from_omx file {omx_file_path} omx_key {omx_key} " - f"skim_key {skim_key} to offset {offset}") + logger.debug( + f"_read_skims_from_omx file {omx_file_path} omx_key {omx_key} " + f"skim_key {skim_key} to offset {offset}" + ) if skim_dictionary.ROW_MAJOR_LAYOUT: a = skim_data[offset, :, :] @@ -293,12 +303,14 @@ def _read_skims_from_omx(self, skim_info, skim_data): num_skims_loaded += 1 - logger.info(f"_read_skims_from_omx loaded {num_skims_loaded} skims from {omx_file_path}") + logger.info( + f"_read_skims_from_omx loaded {num_skims_loaded} skims from {omx_file_path}" + ) def _open_existing_readonly_memmap_skim_cache(self, skim_info): """ - read cached memmapped skim data from canonically named cache file(s) in output directory into skim_data - return True if it was there and we read it, return False if not found + read cached memmapped skim data from canonically named cache file(s) in output directory into skim_data + return True if it was there and we read it, return False if not found """ dtype = np.dtype(skim_info.dtype_name) @@ -309,29 +321,41 @@ def _open_existing_readonly_memmap_skim_cache(self, skim_info): logger.warning(f"read_skim_cache file not found: {skim_cache_path}") return None - logger.info(f"reading skim cache {skim_info.skim_tag} {skim_info.skim_data_shape} from {skim_cache_path}") + logger.info( + f"reading skim cache {skim_info.skim_tag} {skim_info.skim_data_shape} from {skim_cache_path}" + ) try: - data = np.memmap(skim_cache_path, shape=skim_info.skim_data_shape, dtype=dtype, mode='r') + data = np.memmap( + skim_cache_path, shape=skim_info.skim_data_shape, dtype=dtype, mode="r" + ) except Exception as e: - logger.warning(f"{type(e).__name__} reading {skim_info.skim_tag} skim_cache {skim_cache_path}: {str(e)}") - logger.warning(f"ignoring incompatible {skim_info.skim_tag} skim_cache {skim_cache_path}") + logger.warning( + f"{type(e).__name__} reading {skim_info.skim_tag} skim_cache {skim_cache_path}: {str(e)}" + ) + logger.warning( + f"ignoring incompatible {skim_info.skim_tag} skim_cache {skim_cache_path}" + ) return None return data def _create_empty_writable_memmap_skim_cache(self, skim_info): """ - write skim data from skim_data to canonically named cache file(s) in output directory + write skim data from skim_data to canonically named cache file(s) in output directory """ dtype = np.dtype(skim_info.dtype_name) skim_cache_path = self._memmap_skim_data_path(skim_info.skim_tag) - logger.info(f"writing skim cache {skim_info.skim_tag} {skim_info.skim_data_shape} to {skim_cache_path}") + logger.info( + f"writing skim cache {skim_info.skim_tag} {skim_info.skim_data_shape} to {skim_cache_path}" + ) - data = np.memmap(skim_cache_path, shape=skim_info.skim_data_shape, dtype=dtype, mode='w+') + data = np.memmap( + skim_cache_path, shape=skim_info.skim_data_shape, dtype=dtype, mode="w+" + ) return data @@ -344,7 +368,6 @@ def copy_omx_to_mmap_file(self, skim_info): class NumpyArraySkimFactory(AbstractSkimFactory): - def __init__(self, network_los): super().__init__(network_los) @@ -367,8 +390,9 @@ def allocate_skim_buffer(self, skim_info, shared=False): multiprocessing.RawArray or numpy.ndarray """ - assert shared == self.network_los.multiprocess(), \ - f"NumpyArraySkimFactory.allocate_skim_buffer shared {shared} multiprocess {not shared}" + assert ( + shared == self.network_los.multiprocess() + ), f"NumpyArraySkimFactory.allocate_skim_buffer shared {shared} multiprocess {not shared}" dtype_name = skim_info.dtype_name dtype = np.dtype(dtype_name) @@ -377,16 +401,20 @@ def allocate_skim_buffer(self, skim_info, shared=False): buffer_size = util.iprod(skim_info.skim_data_shape) csz = buffer_size * dtype.itemsize - logger.info(f"allocate_skim_buffer shared {shared} {skim_info.skim_tag} shape {skim_info.skim_data_shape} " - f"total size: {util.INT(csz)} ({util.GB(csz)})") + logger.info( + f"allocate_skim_buffer shared {shared} {skim_info.skim_tag} shape {skim_info.skim_data_shape} " + f"total size: {util.INT(csz)} ({util.GB(csz)})" + ) if shared: - if dtype_name == 'float64': - typecode = 'd' - elif dtype_name == 'float32': - typecode = 'f' + if dtype_name == "float64": + typecode = "d" + elif dtype_name == "float32": + typecode = "f" else: - raise RuntimeError("allocate_skim_buffer unrecognized dtype %s" % dtype_name) + raise RuntimeError( + "allocate_skim_buffer unrecognized dtype %s" % dtype_name + ) buffer = multiprocessing.RawArray(typecode, buffer_size) else: @@ -410,7 +438,9 @@ def _skim_data_from_buffer(self, skim_info, skim_buffer): dtype = np.dtype(skim_info.dtype_name) assert len(skim_buffer) == util.iprod(skim_info.skim_data_shape) - skim_data = np.frombuffer(skim_buffer, dtype=dtype).reshape(skim_info.skim_data_shape) + skim_data = np.frombuffer(skim_buffer, dtype=dtype).reshape( + skim_info.skim_data_shape + ) return skim_data def load_skims_to_buffer(self, skim_info, skim_buffer): @@ -423,8 +453,8 @@ def load_skims_to_buffer(self, skim_info, skim_buffer): skim_buffer: 1D buffer sized to hold all skims (multiprocessing.RawArray or numpy.ndarray) """ - read_cache = self.network_los.setting('read_skim_cache', False) - write_cache = self.network_los.setting('write_skim_cache', False) + read_cache = self.network_los.setting("read_skim_cache", False) + write_cache = self.network_los.setting("write_skim_cache", False) skim_data = self._skim_data_from_buffer(skim_info, skim_buffer) assert skim_data.shape == skim_info.skim_data_shape @@ -452,7 +482,9 @@ def load_skims_to_buffer(self, skim_info, skim_buffer): # bug - do we need to close it? - logger.info(f"load_skims_to_buffer {skim_info.skim_tag} shape {skim_data.shape}") + logger.info( + f"load_skims_to_buffer {skim_info.skim_tag} shape {skim_data.shape}" + ) def get_skim_data(self, skim_tag, skim_info): """ @@ -468,10 +500,12 @@ def get_skim_data(self, skim_tag, skim_info): SkimData """ - data_buffers = inject.get_injectable('data_buffers', None) + data_buffers = inject.get_injectable("data_buffers", None) if data_buffers: # we assume any existing skim buffers will already have skim data loaded into them - logger.info(f"get_skim_data {skim_tag} using existing shared skim_buffers for skims") + logger.info( + f"get_skim_data {skim_tag} using existing shared skim_buffers for skims" + ) skim_buffer = data_buffers[skim_tag] else: skim_buffer = self.allocate_skim_buffer(skim_info, shared=False) @@ -479,7 +513,9 @@ def get_skim_data(self, skim_tag, skim_info): skim_data = SkimData(self._skim_data_from_buffer(skim_info, skim_buffer)) - logger.info(f"get_skim_data {skim_tag} {type(skim_data).__name__} shape {skim_data.shape}") + logger.info( + f"get_skim_data {skim_tag} {type(skim_data).__name__} shape {skim_data.shape}" + ) return skim_data @@ -500,9 +536,11 @@ def __init__(self, skim_cache_path, skim_info): self._shape = skim_info.skim_data_shape def __getitem__(self, indexes): - assert len(indexes) == 3, f'number of indexes ({len(indexes)}) should be 3' + assert len(indexes) == 3, f"number of indexes ({len(indexes)}) should be 3" # open memmap - data = np.memmap(self.skim_cache_path, shape=self._shape, dtype=self.dtype, mode='r') + data = np.memmap( + self.skim_cache_path, shape=self._shape, dtype=self.dtype, mode="r" + ) # dereference skim values result = data[indexes] # closing memmap's underlying mmap frees data read into (not really needed as we are exiting scope) @@ -553,7 +591,7 @@ def get_skim_data(self, skim_tag, skim_info): """ # don't expect legacy shared memory buffers - assert not inject.get_injectable('data_buffers', {}).get(skim_tag) + assert not inject.get_injectable("data_buffers", {}).get(skim_tag) skim_cache_path = self._memmap_skim_data_path(skim_tag) if not os.path.isfile(skim_cache_path): @@ -567,6 +605,8 @@ def get_skim_data(self, skim_tag, skim_info): skim_data = self._open_existing_readonly_memmap_skim_cache(skim_info) skim_data = SkimData(skim_data) - logger.info(f"get_skim_data {skim_tag} {type(skim_data).__name__} shape {skim_data.shape}") + logger.info( + f"get_skim_data {skim_tag} {type(skim_data).__name__} shape {skim_data.shape}" + ) return skim_data diff --git a/activitysim/core/skim_dictionary.py b/activitysim/core/skim_dictionary.py index cdd32b5520..d707e560ee 100644 --- a/activitysim/core/skim_dictionary.py +++ b/activitysim/core/skim_dictionary.py @@ -1,10 +1,8 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range -from builtins import object - import logging +from builtins import object, range import numpy as np import pandas as pd @@ -40,7 +38,9 @@ def __init__(self, offset_int=None, offset_list=None, offset_series=None): self.offset_int = self.offset_series = None - assert (offset_int is not None) + (offset_list is not None) + (offset_series is not None) <= 1 + assert (offset_int is not None) + (offset_list is not None) + ( + offset_series is not None + ) <= 1 if offset_int is not None: self.set_offset_int(offset_int) @@ -49,7 +49,7 @@ def __init__(self, offset_int=None, offset_list=None, offset_series=None): elif offset_series is not None: self.set_offset_series(offset_series) - def print_offset(self, message=''): + def print_offset(self, message=""): assert (self.offset_int is not None) or (self.offset_series is not None) if self.offset_int is not None: @@ -86,11 +86,13 @@ def set_offset_list(self, offset_list): # - for performance, check if this is a simple range that can ber represented by an int offset first_offset = offset_list[0] - if (offset_list == list(range(first_offset, len(offset_list)+first_offset))): + if offset_list == list(range(first_offset, len(offset_list) + first_offset)): offset_int = -1 * first_offset self.set_offset_int(offset_int) else: - offset_series = pd.Series(data=list(range(len(offset_list))), index=offset_list) + offset_series = pd.Series( + data=list(range(len(offset_list))), index=offset_list + ) self.set_offset_series(offset_series) def set_offset_int(self, offset_int): @@ -121,7 +123,7 @@ def map(self, zone_ids): """ if self.offset_series is not None: - assert(self.offset_int is None) + assert self.offset_int is None assert isinstance(self.offset_series, pd.Series) # FIXME - turns out it is faster to use series.map if zone_ids is a series @@ -129,12 +131,20 @@ def map(self, zone_ids): if isinstance(zone_ids, np.ndarray): zone_ids = pd.Series(zone_ids) - offsets = zone_ids.map(self.offset_series, na_action='ignore').fillna(NOT_IN_SKIM_ZONE_ID).astype(int) + offsets = ( + zone_ids.map(self.offset_series, na_action="ignore") + .fillna(NOT_IN_SKIM_ZONE_ID) + .astype(int) + ) elif self.offset_int: - assert (self.offset_series is None) + assert self.offset_series is None # apply integer offset, but map NOT_IN_SKIM_ZONE_ID to self - offsets = np.where(zone_ids == NOT_IN_SKIM_ZONE_ID, NOT_IN_SKIM_ZONE_ID, zone_ids + self.offset_int) + offsets = np.where( + zone_ids == NOT_IN_SKIM_ZONE_ID, + NOT_IN_SKIM_ZONE_ID, + zone_ids + self.offset_int, + ) else: offsets = zone_ids @@ -157,11 +167,15 @@ def __init__(self, skim_tag, skim_info, skim_data): self.skim_info = skim_info self.usage = set() # track keys of skims looked up - self.offset_mapper = self._offset_mapper() # (in function so subclass can override) + self.offset_mapper = ( + self._offset_mapper() + ) # (in function so subclass can override) self.omx_shape = skim_info.omx_shape self.skim_data = skim_data - self.dtype = np.dtype(skim_info.dtype_name) # so we can coerce if we have missing values + self.dtype = np.dtype( + skim_info.dtype_name + ) # so we can coerce if we have missing values # - skim_dim3 dict maps key1 to dict of key2 absolute offsets into block # DRV_COM_WLK_BOARDS: {'MD': 4, 'AM': 3, 'PM': 5}, ... @@ -171,7 +185,9 @@ def __init__(self, skim_tag, skim_info, skim_data): if isinstance(skim_key, tuple): key1, key2 = skim_key self.skim_dim3.setdefault(key1, {})[key2] = offset - logger.info(f"SkimDict.build_3d_skim_block_offset_table registered {len(self.skim_dim3)} 3d keys") + logger.info( + f"SkimDict.build_3d_skim_block_offset_table registered {len(self.skim_dim3)} 3d keys" + ) def _offset_mapper(self): """ @@ -250,8 +266,12 @@ def _lookup(self, orig, dest, block_offsets): result = self.skim_data[mapped_orig, mapped_dest, block_offsets] # FIXME - should return nan if not in skim (negative indices wrap around) - in_skim = (mapped_orig >= 0) & (mapped_orig < self.omx_shape[0]) & \ - (mapped_dest >= 0) & (mapped_dest < self.omx_shape[1]) + in_skim = ( + (mapped_orig >= 0) + & (mapped_orig < self.omx_shape[0]) + & (mapped_dest >= 0) + & (mapped_dest < self.omx_shape[1]) + ) # if not ((in_skim | (orig == NOT_IN_SKIM_ZONE_ID) | (dest == NOT_IN_SKIM_ZONE_ID)).all()): # print(f"orig\n{orig}") @@ -259,8 +279,9 @@ def _lookup(self, orig, dest, block_offsets): # print(f"in_skim\n{in_skim}") # check for bad indexes (other than NOT_IN_SKIM_ZONE_ID) - assert (in_skim | (orig == NOT_IN_SKIM_ZONE_ID) | (dest == NOT_IN_SKIM_ZONE_ID)).all(), \ - f"{(~in_skim).sum()} od pairs not in skim" + assert ( + in_skim | (orig == NOT_IN_SKIM_ZONE_ID) | (dest == NOT_IN_SKIM_ZONE_ID) + ).all(), f"{(~in_skim).sum()} od pairs not in skim" if not in_skim.all(): result = np.where(in_skim, result, NOT_IN_SKIM_NAN).astype(self.dtype) @@ -331,10 +352,14 @@ def lookup_3d(self, orig, dest, dim3, key): # skim_indexes = dim3.map(skim_keys_to_indexes).astype('int') try: - block_offsets = np.vectorize(skim_keys_to_indexes.get)(dim3) # this should be faster than map + block_offsets = np.vectorize(skim_keys_to_indexes.get)( + dim3 + ) # this should be faster than map result = self._lookup(orig, dest, block_offsets) except Exception as err: - logger.error("SkimDict lookup_3d error: %s: %s", type(err).__name__, str(err)) + logger.error( + "SkimDict lookup_3d error: %s: %s", type(err).__name__, str(err) + ) logger.error(f"key {key}") logger.error(f"orig max {orig.max()} min {orig.min()}") logger.error(f"dest max {dest.max()} min {dest.min()}") @@ -411,8 +436,12 @@ def set_df(self, df): ------- self (to facilitiate chaining) """ - assert self.orig_key in df, f"orig_key '{self.orig_key}' not in df columns: {list(df.columns)}" - assert self.dest_key in df, f"dest_key '{self.dest_key}' not in df columns: {list(df.columns)}" + assert ( + self.orig_key in df + ), f"orig_key '{self.orig_key}' not in df columns: {list(df.columns)}" + assert ( + self.dest_key in df + ), f"dest_key '{self.dest_key}' not in df columns: {list(df.columns)}" self.df = df return self @@ -439,9 +468,13 @@ def lookup(self, key, reverse=False): assert self.df is not None, "Call set_df first" if reverse: - s = self.skim_dict.lookup(self.df[self.dest_key], self.df[self.orig_key], key) + s = self.skim_dict.lookup( + self.df[self.dest_key], self.df[self.orig_key], key + ) else: - s = self.skim_dict.lookup(self.df[self.orig_key], self.df[self.dest_key], key) + s = self.skim_dict.lookup( + self.df[self.orig_key], self.df[self.dest_key], key + ) return pd.Series(s, index=self.df.index) @@ -459,7 +492,7 @@ def max(self, key): s = np.maximum( self.skim_dict.lookup(self.df[self.dest_key], self.df[self.orig_key], key), - self.skim_dict.lookup(self.df[self.orig_key], self.df[self.dest_key], key) + self.skim_dict.lookup(self.df[self.orig_key], self.df[self.dest_key], key), ) return pd.Series(s, index=self.df.index) @@ -533,9 +566,15 @@ def set_df(self, df): ------- self (to facilitiate chaining) """ - assert self.orig_key in df, f"orig_key '{self.orig_key}' not in df columns: {list(df.columns)}" - assert self.dest_key in df, f"dest_key '{self.dest_key}' not in df columns: {list(df.columns)}" - assert self.dim3_key in df, f"dim3_key '{self.dim3_key}' not in df columns: {list(df.columns)}" + assert ( + self.orig_key in df + ), f"orig_key '{self.orig_key}' not in df columns: {list(df.columns)}" + assert ( + self.dest_key in df + ), f"dest_key '{self.dest_key}' not in df columns: {list(df.columns)}" + assert ( + self.dim3_key in df + ), f"dim3_key '{self.dim3_key}' not in df columns: {list(df.columns)}" self.df = df return self @@ -554,8 +593,8 @@ def __getitem__(self, key): A Series of impedances values from the set of skims with specified base key, indexed by orig/dest/dim3 """ assert self.df is not None, "Call set_df first" - orig = self.df[self.orig_key].astype('int') - dest = self.df[self.dest_key].astype('int') + orig = self.df[self.orig_key].astype("int") + dest = self.df[self.dest_key].astype("int") dim3 = self.df[self.dim3_key] skim_values = self.skim_dict.lookup_3d(orig, dest, dim3, key) @@ -596,11 +635,15 @@ def __init__(self, skim_tag, network_los, taz_skim_dict): self.network_los = network_los super().__init__(skim_tag, taz_skim_dict.skim_info, taz_skim_dict.skim_data) - assert self.offset_mapper is not None # should have been set with _init_offset_mapper + assert ( + self.offset_mapper is not None + ) # should have been set with _init_offset_mapper self.dtype = np.dtype(self.skim_info.dtype_name) self.base_keys = taz_skim_dict.skim_info.base_keys - self.sparse_keys = list(set(network_los.maz_to_maz_df.columns) - {'OMAZ', 'DMAZ'}) + self.sparse_keys = list( + set(network_los.maz_to_maz_df.columns) - {"OMAZ", "DMAZ"} + ) self.sparse_key_usage = set() def _offset_mapper(self): @@ -616,7 +659,12 @@ def _offset_mapper(self): """ # start with a series with MAZ zone_id index and TAZ zone id values - maz_to_taz = self.network_los.maz_taz_df[['MAZ', 'TAZ']].set_index('MAZ').sort_values(by='TAZ').TAZ + maz_to_taz = ( + self.network_los.maz_taz_df[["MAZ", "TAZ"]] + .set_index("MAZ") + .sort_values(by="TAZ") + .TAZ + ) # use taz offset_mapper to create series mapping directly from MAZ to TAZ skim index taz_offset_mapper = super()._offset_mapper() @@ -630,7 +678,9 @@ def _offset_mapper(self): # 8429 330 # 9859 331 - assert isinstance(maz_to_skim_offset, np.ndarray) or isinstance(maz_to_skim_offset, pd.Series) + assert isinstance(maz_to_skim_offset, np.ndarray) or isinstance( + maz_to_skim_offset, pd.Series + ) if isinstance(maz_to_skim_offset, pd.Series): offset_mapper = OffsetMapper(offset_series=maz_to_skim_offset) elif isinstance(maz_to_skim_offset, np.ndarray): @@ -682,8 +732,10 @@ def sparse_lookup(self, orig, dest, key): backstop_values = super().lookup(orig, dest, key) # get distance skim if a different key was specified by blend_distance_skim_name - if (blend_distance_skim_name != key): - distance = self.network_los.get_mazpairs(orig, dest, blend_distance_skim_name) + if blend_distance_skim_name != key: + distance = self.network_los.get_mazpairs( + orig, dest, blend_distance_skim_name + ) else: distance = values @@ -692,9 +744,12 @@ def sparse_lookup(self, orig, dest, key): # beyond max_blend_distance, just use the skim values backstop_fractions = np.minimum(distance / max_blend_distance, 1) - values = np.where(is_nan, - backstop_values, - backstop_fractions * backstop_values + (1 - backstop_fractions) * values) + values = np.where( + is_nan, + backstop_values, + backstop_fractions * backstop_values + + (1 - backstop_fractions) * values, + ) elif is_nan.any(): # print(f"{is_nan.sum()} nans out of {len(is_nan)} for key '{self.key}") @@ -708,7 +763,8 @@ def sparse_lookup(self, orig, dest, key): # FIXME - if no backstop skim, then return 0 (which conventionally means "not available") logger.warning( "No backstop skims found for {0}, so setting Nulls to 0. Make sure " - "mode availability flags are set to > 0") + "mode availability flags are set to > 0" + ) values = np.where(is_nan, 0, values) # want to return same type as backstop skim @@ -800,13 +856,17 @@ def get(self, row_ids, col_ids): row_indexes = self.offset_mapper.map(np.asanyarray(row_ids)) - not_in_skim = (row_indexes == NOT_IN_SKIM_ZONE_ID) + not_in_skim = row_indexes == NOT_IN_SKIM_ZONE_ID if not_in_skim.any(): - logger.warning(f"DataFrameMatrix: {not_in_skim.sum()} row_ids of {len(row_ids)} not in skim.") + logger.warning( + f"DataFrameMatrix: {not_in_skim.sum()} row_ids of {len(row_ids)} not in skim." + ) not_in_skim = not_in_skim.values logger.warning(f"row_ids: {row_ids[not_in_skim]}") logger.warning(f"col_ids: {col_ids[not_in_skim]}") - raise RuntimeError(f"DataFrameMatrix: {not_in_skim.sum()} row_ids of {len(row_ids)} not in skim.") + raise RuntimeError( + f"DataFrameMatrix: {not_in_skim.sum()} row_ids of {len(row_ids)} not in skim." + ) assert (row_indexes >= 0).all(), f"{row_indexes}" diff --git a/activitysim/core/steps/output.py b/activitysim/core/steps/output.py index bf0c439484..93397b914c 100644 --- a/activitysim/core/steps/output.py +++ b/activitysim/core/steps/output.py @@ -2,13 +2,11 @@ # See full license in LICENSE.txt. import logging import sys -import pandas as pd -import numpy as np -from activitysim.core import pipeline -from activitysim.core import inject -from activitysim.core import config +import numpy as np +import pandas as pd +from activitysim.core import config, inject, pipeline from activitysim.core.config import setting logger = logging.getLogger(__name__) @@ -30,16 +28,18 @@ def track_skim_usage(output_dir): pd.options.display.max_columns = 500 pd.options.display.max_rows = 100 - skim_dict = inject.get_injectable('skim_dict') + skim_dict = inject.get_injectable("skim_dict") - mode = 'wb' if sys.version_info < (3,) else 'w' - with open(config.output_file_path('skim_usage.txt'), mode) as output_file: + mode = "wb" if sys.version_info < (3,) else "w" + with open(config.output_file_path("skim_usage.txt"), mode) as output_file: print("\n### skim_dict usage", file=output_file) for key in skim_dict.get_skim_usage(): print(key, file=output_file) - unused = set(k for k in skim_dict.skim_info.base_keys) - set(k for k in skim_dict.get_skim_usage()) + unused = set(k for k in skim_dict.skim_info.base_keys) - set( + k for k in skim_dict.get_skim_usage() + ) for key in unused: print(key, file=output_file) @@ -55,9 +55,9 @@ def previous_write_data_dictionary(output_dir): """ - model_settings = config.read_model_settings('write_data_dictionary') - txt_format = model_settings.get('txt_format', 'data_dict.txt') - csv_format = model_settings.get('csv_format', 'data_dict.csv') + model_settings = config.read_model_settings("write_data_dictionary") + txt_format = model_settings.get("txt_format", "data_dict.txt") + csv_format = model_settings.get("csv_format", "data_dict.csv") if txt_format: @@ -70,12 +70,12 @@ def previous_write_data_dictionary(output_dir): # write data dictionary for all checkpointed_tables - with open(output_file_path, 'w') as output_file: + with open(output_file_path, "w") as output_file: for table_name in output_tables: df = inject.get_table(table_name, None).to_frame() print("\n### %s %s" % (table_name, df.shape), file=output_file) - print('index:', df.index.name, df.index.dtype, file=output_file) + print("index:", df.index.name, df.index.dtype, file=output_file) print(df.dtypes, file=output_file) @@ -100,18 +100,20 @@ def write_data_dictionary(output_dir): """ - model_settings = config.read_model_settings('write_data_dictionary') - txt_format = model_settings.get('txt_format', 'data_dict.txt') - csv_format = model_settings.get('csv_format', 'data_dict.csv') + model_settings = config.read_model_settings("write_data_dictionary") + txt_format = model_settings.get("txt_format", "data_dict.txt") + csv_format = model_settings.get("csv_format", "data_dict.csv") if not (csv_format or txt_format): - logger.warning(f"write_data_dictionary step invoked but neither 'txt_format' nor 'csv_format' specified") + logger.warning( + f"write_data_dictionary step invoked but neither 'txt_format' nor 'csv_format' specified" + ) return table_names = pipeline.registered_tables() # use table_names list from model_settings, if provided - schema_tables = model_settings.get('tables', None) + schema_tables = model_settings.get("tables", None) if schema_tables: table_names = [c for c in schema_tables if c in table_names] @@ -125,10 +127,15 @@ def write_data_dictionary(output_dir): if df.index.name and df.index.name not in df.columns: df = df.reset_index() - info = df.dtypes.astype(str).to_frame('dtype').reset_index().rename(columns={'index': 'column_name'}) - info['checkpoint'] = '' - - info.insert(loc=0, column='table_name', value=table_name) + info = ( + df.dtypes.astype(str) + .to_frame("dtype") + .reset_index() + .rename(columns={"index": "column_name"}) + ) + info["checkpoint"] = "" + + info.insert(loc=0, column="table_name", value=table_name) schema[table_name] = info # annotate schema.info with name of checkpoint columns were first seen @@ -151,10 +158,12 @@ def write_data_dictionary(output_dir): info = schema.get(table_name, None) # tag any new columns with checkpoint name - prev_columns = info[info.checkpoint != ''].column_name.values + prev_columns = info[info.checkpoint != ""].column_name.values new_cols = [c for c in df.columns.values if c not in prev_columns] is_new_column_this_checkpoont = info.column_name.isin(new_cols) - info.checkpoint = np.where(is_new_column_this_checkpoont, checkpoint_name, info.checkpoint) + info.checkpoint = np.where( + is_new_column_this_checkpoont, checkpoint_name, info.checkpoint + ) schema[table_name] = info @@ -164,7 +173,7 @@ def write_data_dictionary(output_dir): schema_df.to_csv(config.output_file_path(csv_format), header=True, index=False) if txt_format: - with open(config.output_file_path(txt_format), 'w') as output_file: + with open(config.output_file_path(txt_format), "w") as output_file: # get max schema column widths from omnibus table col_width = {c: schema_df[c].str.len().max() + 2 for c in schema_df} @@ -172,17 +181,20 @@ def write_data_dictionary(output_dir): for table_name in table_names: info = schema.get(table_name, None) - columns_to_print = ['column_name', 'dtype', 'checkpoint'] + columns_to_print = ["column_name", "dtype", "checkpoint"] info = info[columns_to_print].copy() # normalize schema columns widths across all table schemas for unified output formatting for c in info: - info[c] = info[c].str.pad(col_width[c], side='right') + info[c] = info[c].str.pad(col_width[c], side="right") info.columns = [c.ljust(col_width[c]) for c in info.columns] info = info.to_string(index=False) - print(f"###\n### {table_name} {final_shapes[table_name]}\n###\n", file=output_file) + print( + f"###\n### {table_name} {final_shapes[table_name]}\n###\n", + file=output_file, + ) print(f"{info}\n", file=output_file) @@ -229,7 +241,7 @@ def write_tables(output_dir): """ - output_tables_settings_name = 'output_tables' + output_tables_settings_name = "output_tables" output_tables_settings = setting(output_tables_settings_name) @@ -237,25 +249,27 @@ def write_tables(output_dir): logger.info("No output_tables specified in settings file. Nothing to write.") return - action = output_tables_settings.get('action') - tables = output_tables_settings.get('tables') - prefix = output_tables_settings.get('prefix', 'final_') - h5_store = output_tables_settings.get('h5_store', False) - sort = output_tables_settings.get('sort', False) + action = output_tables_settings.get("action") + tables = output_tables_settings.get("tables") + prefix = output_tables_settings.get("prefix", "final_") + h5_store = output_tables_settings.get("h5_store", False) + sort = output_tables_settings.get("sort", False) registered_tables = pipeline.registered_tables() - if action == 'include': + if action == "include": # interpret empty or missing tables setting to mean include all registered tables output_tables_list = tables if tables is not None else registered_tables - elif action == 'skip': + elif action == "skip": output_tables_list = [t for t in registered_tables if t not in tables] else: - raise "expected %s action '%s' to be either 'include' or 'skip'" % \ - (output_tables_settings_name, action) + raise "expected %s action '%s' to be either 'include' or 'skip'" % ( + output_tables_settings_name, + action, + ) for table_name in output_tables_list: - if table_name == 'checkpoints': + if table_name == "checkpoints": df = pipeline.get_checkpoints() else: if table_name not in registered_tables: @@ -264,30 +278,42 @@ def write_tables(output_dir): df = pipeline.get_table(table_name) if sort: - traceable_table_indexes = inject.get_injectable('traceable_table_indexes', {}) + traceable_table_indexes = inject.get_injectable( + "traceable_table_indexes", {} + ) if df.index.name in traceable_table_indexes: df = df.sort_index() - logger.debug(f"write_tables sorting {table_name} on index {df.index.name}") + logger.debug( + f"write_tables sorting {table_name} on index {df.index.name}" + ) else: # find all registered columns we can use to sort this table # (they are ordered appropriately in traceable_table_indexes) - sort_columns = [c for c in traceable_table_indexes if c in df.columns] + sort_columns = [ + c for c in traceable_table_indexes if c in df.columns + ] if len(sort_columns) > 0: df = df.sort_values(by=sort_columns) - logger.debug(f"write_tables sorting {table_name} on columns {sort_columns}") + logger.debug( + f"write_tables sorting {table_name} on columns {sort_columns}" + ) else: - logger.debug(f"write_tables sorting {table_name} on unrecognized index {df.index.name}") + logger.debug( + f"write_tables sorting {table_name} on unrecognized index {df.index.name}" + ) df = df.sort_index() if h5_store: - file_path = config.output_file_path('%soutput_tables.h5' % prefix) - df.to_hdf(file_path, key=table_name, mode='a', format='fixed') + file_path = config.output_file_path("%soutput_tables.h5" % prefix) + df.to_hdf(file_path, key=table_name, mode="a", format="fixed") else: file_name = "%s%s.csv" % (prefix, table_name) file_path = config.output_file_path(file_name) # include the index if it has a name or is a MultiIndex - write_index = df.index.name is not None or isinstance(df.index, pd.MultiIndex) + write_index = df.index.name is not None or isinstance( + df.index, pd.MultiIndex + ) df.to_csv(file_path, index=write_index) diff --git a/activitysim/core/test/extensions/__init__.py b/activitysim/core/test/extensions/__init__.py index 690edc137d..33c638303a 100644 --- a/activitysim/core/test/extensions/__init__.py +++ b/activitysim/core/test/extensions/__init__.py @@ -1,2 +1 @@ - from . import steps diff --git a/activitysim/core/test/extensions/steps.py b/activitysim/core/test/extensions/steps.py index b9e598b93c..baa894c692 100644 --- a/activitysim/core/test/extensions/steps.py +++ b/activitysim/core/test/extensions/steps.py @@ -1,37 +1,36 @@ import pandas as pd -from activitysim.core import inject -from activitysim.core import pipeline -from activitysim.core import tracing + +from activitysim.core import inject, pipeline, tracing @inject.step() def step1(): - table1 = pd.DataFrame({'c': [1, 2, 3]}) - inject.add_table('table1', table1) + table1 = pd.DataFrame({"c": [1, 2, 3]}) + inject.add_table("table1", table1) @inject.step() def step2(): - table1 = pd.DataFrame({'c': [2, 4, 6]}) - inject.add_table('table2', table1) + table1 = pd.DataFrame({"c": [2, 4, 6]}) + inject.add_table("table2", table1) @inject.step() def step3(): - table1 = pd.DataFrame({'c': [3, 6, 9]}) - inject.add_table('table3', table1) + table1 = pd.DataFrame({"c": [3, 6, 9]}) + inject.add_table("table3", table1) @inject.step() def step_add_col(): - table_name = inject.get_step_arg('table_name') + table_name = inject.get_step_arg("table_name") assert table_name is not None - col_name = inject.get_step_arg('column_name') + col_name = inject.get_step_arg("column_name") assert col_name is not None table = pipeline.get_table(table_name) @@ -46,7 +45,7 @@ def step_add_col(): @inject.step() def step_forget_tab(): - table_name = inject.get_step_arg('table_name') + table_name = inject.get_step_arg("table_name") assert table_name is not None table = pipeline.get_table(table_name) @@ -57,9 +56,9 @@ def step_forget_tab(): @inject.step() def create_households(trace_hh_id): - df = pd.DataFrame({'household_id': [1, 2, 3], 'home_zone_id': {100, 100, 101}}) - inject.add_table('households', df) + df = pd.DataFrame({"household_id": [1, 2, 3], "home_zone_id": {100, 100, 101}}) + inject.add_table("households", df) - pipeline.get_rn_generator().add_channel('households', df) + pipeline.get_rn_generator().add_channel("households", df) - tracing.register_traceable_table('households', df) + tracing.register_traceable_table("households", df) diff --git a/activitysim/core/test/test_assign.py b/activitysim/core/test/test_assign.py index 1efd4201f5..3818711067 100644 --- a/activitysim/core/test/test_assign.py +++ b/activitysim/core/test/test_assign.py @@ -1,21 +1,18 @@ # ActivitySim # See full license in LICENSE.txt. -import os.path import logging import logging.config +import os.path import numpy as np import pandas as pd import pytest -from .. import config -from .. import assign -from .. import tracing -from .. import inject +from .. import assign, config, inject, tracing def setup_function(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) @@ -34,46 +31,47 @@ def teardown_function(func): inject.reinject_decorated_tables() -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_dir(): - return os.path.join(os.path.dirname(__file__), 'data') + return os.path.join(os.path.dirname(__file__), "data") -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def spec_name(data_dir): - return os.path.join(data_dir, 'assignment_spec.csv') + return os.path.join(data_dir, "assignment_spec.csv") -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_name(data_dir): - return os.path.join(data_dir, 'data.csv') + return os.path.join(data_dir, "data.csv") -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data(data_name): return pd.read_csv(data_name) def test_read_model_spec(): - spec = assign.read_assignment_spec(config.config_file_path('assignment_spec.csv')) + spec = assign.read_assignment_spec(config.config_file_path("assignment_spec.csv")) assert len(spec) == 8 - assert list(spec.columns) == ['description', 'target', 'expression'] + assert list(spec.columns) == ["description", "target", "expression"] def test_assign_variables(capsys, data): - spec = assign.read_assignment_spec(config.config_file_path('assignment_spec.csv')) + spec = assign.read_assignment_spec(config.config_file_path("assignment_spec.csv")) - locals_d = {'CONSTANT': 7, '_shadow': 99} + locals_d = {"CONSTANT": 7, "_shadow": 99} - results, trace_results, trace_assigned_locals \ - = assign.assign_variables(spec, data, locals_d, trace_rows=None) + results, trace_results, trace_assigned_locals = assign.assign_variables( + spec, data, locals_d, trace_rows=None + ) print(results) - assert list(results.columns) == ['target1', 'target2', 'target3'] + assert list(results.columns) == ["target1", "target2", "target3"] assert list(results.target1) == [True, False, False] assert list(results.target2) == [53, 53, 55] assert list(results.target3) == [530, 530, 550] @@ -82,8 +80,9 @@ def test_assign_variables(capsys, data): trace_rows = [False, True, False] - results, trace_results, trace_assigned_locals \ - = assign.assign_variables(spec, data, locals_d, trace_rows=trace_rows) + results, trace_results, trace_assigned_locals = assign.assign_variables( + spec, data, locals_d, trace_rows=trace_rows + ) # should get same results as before assert list(results.target3) == [530, 530, 550] @@ -92,38 +91,40 @@ def test_assign_variables(capsys, data): print(trace_results) assert trace_results is not None - assert '_scalar' in trace_results.columns - assert list(trace_results['_scalar']) == [42] + assert "_scalar" in trace_results.columns + assert list(trace_results["_scalar"]) == [42] # shadow should have been assigned - assert list(trace_results['_shadow']) == [1] - assert list(trace_results['_temp']) == [9] - assert list(trace_results['target3']) == [530] + assert list(trace_results["_shadow"]) == [1] + assert list(trace_results["_temp"]) == [9] + assert list(trace_results["target3"]) == [530] print("trace_assigned_locals", trace_assigned_locals) - assert trace_assigned_locals['_DF_COL_NAME'] == 'thing2' + assert trace_assigned_locals["_DF_COL_NAME"] == "thing2" # shouldn't have been changed even though it was a target - assert locals_d['_shadow'] == 99 + assert locals_d["_shadow"] == 99 out, err = capsys.readouterr() def test_assign_variables_aliased(capsys, data): - spec = assign.read_assignment_spec(config.config_file_path('assignment_spec_alias_df.csv')) + spec = assign.read_assignment_spec( + config.config_file_path("assignment_spec_alias_df.csv") + ) - locals_d = {'CONSTANT': 7, '_shadow': 99} + locals_d = {"CONSTANT": 7, "_shadow": 99} trace_rows = [False, True, False] - results, trace_results, trace_assigned_locals \ - = assign.assign_variables(spec, data, locals_d, - df_alias='aliased_df', trace_rows=trace_rows) + results, trace_results, trace_assigned_locals = assign.assign_variables( + spec, data, locals_d, df_alias="aliased_df", trace_rows=trace_rows + ) print(results) - assert list(results.columns) == ['target1', 'target2', 'target3'] + assert list(results.columns) == ["target1", "target2", "target3"] assert list(results.target1) == [True, False, False] assert list(results.target2) == [53, 53, 55] assert list(results.target3) == [530, 530, 550] @@ -132,15 +133,15 @@ def test_assign_variables_aliased(capsys, data): print(trace_results) assert trace_results is not None - assert '_scalar' in trace_results.columns - assert list(trace_results['_scalar']) == [42] + assert "_scalar" in trace_results.columns + assert list(trace_results["_scalar"]) == [42] # shadow should have been assigned - assert list(trace_results['_shadow']) == [1] - assert list(trace_results['_temp']) == [9] - assert list(trace_results['target3']) == [530] + assert list(trace_results["_shadow"]) == [1] + assert list(trace_results["_temp"]) == [9] + assert list(trace_results["target3"]) == [530] - assert locals_d['_shadow'] == 99 + assert locals_d["_shadow"] == 99 out, err = capsys.readouterr() @@ -149,21 +150,25 @@ def test_assign_variables_failing(capsys, data): close_handlers() - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) tracing.config_logger(basic=True) - spec = assign.read_assignment_spec(config.config_file_path('assignment_spec_failing.csv')) + spec = assign.read_assignment_spec( + config.config_file_path("assignment_spec_failing.csv") + ) locals_d = { - 'CONSTANT': 7, - '_shadow': 99, - 'log': np.log, + "CONSTANT": 7, + "_shadow": 99, + "log": np.log, } with pytest.raises(NameError) as excinfo: - results, trace_results = assign.assign_variables(spec, data, locals_d, trace_rows=None) + results, trace_results = assign.assign_variables( + spec, data, locals_d, trace_rows=None + ) out, err = capsys.readouterr() # don't consume output diff --git a/activitysim/core/test/test_inject_defaults.py b/activitysim/core/test/test_inject_defaults.py index d0b869f1c9..82e106984d 100644 --- a/activitysim/core/test/test_inject_defaults.py +++ b/activitysim/core/test/test_inject_defaults.py @@ -4,10 +4,8 @@ import pytest -from .. import inject - # Note that the following import statement has the side-effect of registering injectables: -from .. import config +from .. import config, inject def teardown_function(func): @@ -32,11 +30,11 @@ def test_defaults(): print("output_dir", output_dir) assert "directory does not exist" in str(excinfo.value) - configs_dir = os.path.join(os.path.dirname(__file__), 'configs_test_defaults') + configs_dir = os.path.join(os.path.dirname(__file__), "configs_test_defaults") inject.add_injectable("configs_dir", configs_dir) settings = inject.get_injectable("settings") assert isinstance(settings, dict) - data_dir = os.path.join(os.path.dirname(__file__), 'data') + data_dir = os.path.join(os.path.dirname(__file__), "data") inject.add_injectable("data_dir", data_dir) diff --git a/activitysim/core/test/test_input.py b/activitysim/core/test/test_input.py index fa94590246..f695020b63 100644 --- a/activitysim/core/test/test_input.py +++ b/activitysim/core/test/test_input.py @@ -1,33 +1,34 @@ # ActivitySim # See full license in LICENSE.txt. import os -import yaml -import pytest + import pandas as pd +import pytest +import yaml -from activitysim.core import inject # Note that the following import statement has the side-effect of registering injectables: -from activitysim.core import config -from activitysim.core import input +from activitysim.core import config, inject, input -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def seed_households(): - return pd.DataFrame({ - 'HHID': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], - 'home_zone_id': [8, 8, 8, 8, 12, 12, 15, 16, 16, 18], - }) + return pd.DataFrame( + { + "HHID": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], + "home_zone_id": [8, 8, 8, 8, 12, 12, 15, 16, 16, 18], + } + ) -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_dir(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) - data_dir = os.path.join(os.path.dirname(__file__), 'temp_data') + data_dir = os.path.join(os.path.dirname(__file__), "temp_data") if not os.path.exists(data_dir): os.mkdir(data_dir) @@ -44,12 +45,12 @@ def data_dir(): def test_missing_table_list(data_dir): - settings = inject.get_injectable('settings') + settings = inject.get_injectable("settings") assert isinstance(settings, dict) with pytest.raises(AssertionError) as excinfo: - input.read_input_table('households') - assert 'no input_table_list found' in str(excinfo.value) + input.read_input_table("households") + assert "no input_table_list found" in str(excinfo.value) def test_csv_reader(seed_households, data_dir): @@ -64,16 +65,16 @@ def test_csv_reader(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) - hh_file = os.path.join(data_dir, 'households.csv') + hh_file = os.path.join(data_dir, "households.csv") seed_households.to_csv(hh_file, index=False) assert os.path.isfile(hh_file) - df = input.read_input_table('households') + df = input.read_input_table("households") - assert df.index.name == 'household_id' + assert df.index.name == "household_id" def test_hdf_reader1(seed_households, data_dir): @@ -88,16 +89,16 @@ def test_hdf_reader1(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) - hh_file = os.path.join(data_dir, 'households.h5') - seed_households.to_hdf(hh_file, key='households', mode='w') + hh_file = os.path.join(data_dir, "households.h5") + seed_households.to_hdf(hh_file, key="households", mode="w") assert os.path.isfile(hh_file) - df = input.read_input_table('households') + df = input.read_input_table("households") - assert df.index.name == 'household_id' + assert df.index.name == "household_id" def test_hdf_reader2(seed_households, data_dir): @@ -113,16 +114,16 @@ def test_hdf_reader2(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) - hh_file = os.path.join(data_dir, 'households.h5') - seed_households.to_hdf(hh_file, key='seed_households', mode='w') + hh_file = os.path.join(data_dir, "households.h5") + seed_households.to_hdf(hh_file, key="seed_households", mode="w") assert os.path.isfile(hh_file) - df = input.read_input_table('households') + df = input.read_input_table("households") - assert df.index.name == 'household_id' + assert df.index.name == "household_id" def test_hdf_reader3(seed_households, data_dir): @@ -137,16 +138,16 @@ def test_hdf_reader3(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) - hh_file = os.path.join(data_dir, 'input_data.h5') - seed_households.to_hdf(hh_file, key='households', mode='w') + hh_file = os.path.join(data_dir, "input_data.h5") + seed_households.to_hdf(hh_file, key="households", mode="w") assert os.path.isfile(hh_file) - df = input.read_input_table('households') + df = input.read_input_table("households") - assert df.index.name == 'household_id' + assert df.index.name == "household_id" def test_missing_filename(seed_households, data_dir): @@ -160,11 +161,11 @@ def test_missing_filename(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) with pytest.raises(AssertionError) as excinfo: - input.read_input_table('households') - assert 'no input file provided' in str(excinfo.value) + input.read_input_table("households") + assert "no input file provided" in str(excinfo.value) def test_create_input_store(seed_households, data_dir): @@ -181,19 +182,19 @@ def test_create_input_store(seed_households, data_dir): """ settings = yaml.load(settings_yaml, Loader=yaml.SafeLoader) - inject.add_injectable('settings', settings) + inject.add_injectable("settings", settings) - hh_file = os.path.join(data_dir, 'households.csv') + hh_file = os.path.join(data_dir, "households.csv") seed_households.to_csv(hh_file, index=False) assert os.path.isfile(hh_file) - df = input.read_input_table('households') + df = input.read_input_table("households") - assert df.index.name == 'household_id' + assert df.index.name == "household_id" - output_store = os.path.join(inject.get_injectable('output_dir'), 'input_data.h5') + output_store = os.path.join(inject.get_injectable("output_dir"), "input_data.h5") assert os.path.exists(output_store) - store_df = pd.read_hdf(output_store, 'seed_households') + store_df = pd.read_hdf(output_store, "seed_households") assert store_df.equals(seed_households) diff --git a/activitysim/core/test/test_logit.py b/activitysim/core/test/test_logit.py index 15db8a5ae0..225fdbb3c7 100644 --- a/activitysim/core/test/test_logit.py +++ b/activitysim/core/test/test_logit.py @@ -5,17 +5,15 @@ import numpy as np import pandas as pd - import pandas.testing as pdt import pytest +from .. import inject, logit from ..simulate import eval_variables -from .. import logit -from .. import inject def setup_function(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) @@ -24,121 +22,130 @@ def teardown_function(func): inject.reinject_decorated_tables() -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_dir(): - return os.path.join(os.path.dirname(__file__), 'data') + return os.path.join(os.path.dirname(__file__), "data") def add_canonical_dirs(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) # this is lifted straight from urbansim's test_mnl.py -@pytest.fixture(scope='module', params=[ - ('fish.csv', - 'fish_choosers.csv', - pd.DataFrame( - [[-0.02047652], [0.95309824]], index=['price', 'catch'], - columns=['Alt']), - pd.DataFrame([ - [0.2849598, 0.2742482, 0.1605457, 0.2802463], - [0.1498991, 0.4542377, 0.2600969, 0.1357664]], - columns=['beach', 'boat', 'charter', 'pier']))]) +@pytest.fixture( + scope="module", + params=[ + ( + "fish.csv", + "fish_choosers.csv", + pd.DataFrame( + [[-0.02047652], [0.95309824]], index=["price", "catch"], columns=["Alt"] + ), + pd.DataFrame( + [ + [0.2849598, 0.2742482, 0.1605457, 0.2802463], + [0.1498991, 0.4542377, 0.2600969, 0.1357664], + ], + columns=["beach", "boat", "charter", "pier"], + ), + ) + ], +) def test_data(request): data, choosers, spec, probabilities = request.param return { - 'data': data, - 'choosers': choosers, - 'spec': spec, - 'probabilities': probabilities + "data": data, + "choosers": choosers, + "spec": spec, + "probabilities": probabilities, } @pytest.fixture def choosers(test_data, data_dir): - filen = os.path.join(data_dir, test_data['choosers']) + filen = os.path.join(data_dir, test_data["choosers"]) return pd.read_csv(filen) @pytest.fixture def spec(test_data): - return test_data['spec'] + return test_data["spec"] @pytest.fixture def utilities(choosers, spec, test_data): vars = eval_variables(spec.index, choosers) - utils = vars.dot(spec).astype('float') + utils = vars.dot(spec).astype("float") return pd.DataFrame( - utils.values.reshape(test_data['probabilities'].shape), - columns=test_data['probabilities'].columns) + utils.values.reshape(test_data["probabilities"].shape), + columns=test_data["probabilities"].columns, + ) def test_utils_to_probs(utilities, test_data): probs = logit.utils_to_probs(utilities, trace_label=None) - pdt.assert_frame_equal(probs, test_data['probabilities']) + pdt.assert_frame_equal(probs, test_data["probabilities"]) def test_utils_to_probs_raises(): add_canonical_dirs() - idx = pd.Index(name='household_id', data=[1]) + idx = pd.Index(name="household_id", data=[1]) with pytest.raises(RuntimeError) as excinfo: - logit.utils_to_probs(pd.DataFrame([[1, 2, np.inf, 3]], index=idx), trace_label=None) + logit.utils_to_probs( + pd.DataFrame([[1, 2, np.inf, 3]], index=idx), trace_label=None + ) assert "infinite exponentiated utilities" in str(excinfo.value) with pytest.raises(RuntimeError) as excinfo: - logit.utils_to_probs(pd.DataFrame([[-999, -999, -999, -999]], index=idx), trace_label=None) + logit.utils_to_probs( + pd.DataFrame([[-999, -999, -999, -999]], index=idx), trace_label=None + ) assert "all probabilities are zero" in str(excinfo.value) def test_make_choices_only_one(): probs = pd.DataFrame( - [[1, 0, 0], [0, 1, 0]], columns=['a', 'b', 'c'], index=['x', 'y']) + [[1, 0, 0], [0, 1, 0]], columns=["a", "b", "c"], index=["x", "y"] + ) choices, rands = logit.make_choices(probs) - pdt.assert_series_equal( - choices, - pd.Series([0, 1], index=['x', 'y'])) + pdt.assert_series_equal(choices, pd.Series([0, 1], index=["x", "y"])) def test_make_choices_real_probs(utilities): probs = logit.utils_to_probs(utilities, trace_label=None) choices, rands = logit.make_choices(probs) - pdt.assert_series_equal( - choices, - pd.Series([1, 2], index=[0, 1])) + pdt.assert_series_equal(choices, pd.Series([1, 2], index=[0, 1])) -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def interaction_choosers(): - return pd.DataFrame({ - 'attr': ['a', 'b', 'c', 'b']}, - index=['w', 'x', 'y', 'z']) + return pd.DataFrame({"attr": ["a", "b", "c", "b"]}, index=["w", "x", "y", "z"]) -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def interaction_alts(): - return pd.DataFrame({ - 'prop': [10, 20, 30, 40]}, - index=[1, 2, 3, 4]) + return pd.DataFrame({"prop": [10, 20, 30, 40]}, index=[1, 2, 3, 4]) def test_interaction_dataset_no_sample(interaction_choosers, interaction_alts): - expected = pd.DataFrame({ - 'attr': ['a'] * 4 + ['b'] * 4 + ['c'] * 4 + ['b'] * 4, - 'prop': [10, 20, 30, 40] * 4}, - index=[1, 2, 3, 4] * 4) + expected = pd.DataFrame( + { + "attr": ["a"] * 4 + ["b"] * 4 + ["c"] * 4 + ["b"] * 4, + "prop": [10, 20, 30, 40] * 4, + }, + index=[1, 2, 3, 4] * 4, + ) - interacted = logit.interaction_dataset( - interaction_choosers, interaction_alts) + interacted = logit.interaction_dataset(interaction_choosers, interaction_alts) interacted, expected = interacted.align(expected, axis=1) @@ -147,15 +154,18 @@ def test_interaction_dataset_no_sample(interaction_choosers, interaction_alts): pdt.assert_frame_equal(interacted, expected) -def test_interaction_dataset_sampled( - interaction_choosers, interaction_alts): - expected = pd.DataFrame({ - 'attr': ['a'] * 2 + ['b'] * 2 + ['c'] * 2 + ['b'] * 2, - 'prop': [30, 40, 10, 30, 40, 10, 20, 10]}, - index=[3, 4, 1, 3, 4, 1, 2, 1]) +def test_interaction_dataset_sampled(interaction_choosers, interaction_alts): + expected = pd.DataFrame( + { + "attr": ["a"] * 2 + ["b"] * 2 + ["c"] * 2 + ["b"] * 2, + "prop": [30, 40, 10, 30, 40, 10, 20, 10], + }, + index=[3, 4, 1, 3, 4, 1, 2, 1], + ) interacted = logit.interaction_dataset( - interaction_choosers, interaction_alts, sample_size=2) + interaction_choosers, interaction_alts, sample_size=2 + ) interacted, expected = interacted.align(expected, axis=1) pdt.assert_frame_equal(interacted, expected) diff --git a/activitysim/core/test/test_los.py b/activitysim/core/test/test_los.py index 318bf92ec1..9a99e9b6b2 100644 --- a/activitysim/core/test/test_los.py +++ b/activitysim/core/test/test_los.py @@ -4,14 +4,12 @@ import os import numpy as np -import pandas as pd import numpy.testing as npt +import pandas as pd import pandas.testing as pdt import pytest - -from .. import inject -from .. import los +from .. import inject, los def teardown_function(func): @@ -21,37 +19,37 @@ def teardown_function(func): def add_canonical_dirs(configs_dir_name): - configs_dir = os.path.join(os.path.dirname(__file__), f'los/{configs_dir_name}') + configs_dir = os.path.join(os.path.dirname(__file__), f"los/{configs_dir_name}") inject.add_injectable("configs_dir", configs_dir) - data_dir = os.path.join(os.path.dirname(__file__), f'los/data') + data_dir = os.path.join(os.path.dirname(__file__), f"los/data") inject.add_injectable("data_dir", data_dir) - output_dir = os.path.join(os.path.dirname(__file__), f'output') + output_dir = os.path.join(os.path.dirname(__file__), f"output") inject.add_injectable("output_dir", output_dir) def test_legacy_configs(): - add_canonical_dirs('configs_legacy_settings') + add_canonical_dirs("configs_legacy_settings") with pytest.warns(FutureWarning): network_los = los.Network_LOS() - assert network_los.setting('zone_system') == los.ONE_ZONE + assert network_los.setting("zone_system") == los.ONE_ZONE - assert 'z1_taz_skims.omx' in network_los.omx_file_names('taz') + assert "z1_taz_skims.omx" in network_los.omx_file_names("taz") def test_one_zone(): - add_canonical_dirs('configs_1z') + add_canonical_dirs("configs_1z") network_los = los.Network_LOS() - assert network_los.setting('zone_system') == los.ONE_ZONE + assert network_los.setting("zone_system") == los.ONE_ZONE - assert 'z1_taz_skims.omx' in network_los.omx_file_names('taz') + assert "z1_taz_skims.omx" in network_los.omx_file_names("taz") network_los.load_data() @@ -60,10 +58,7 @@ def test_one_zone(): # 23000,22000,0.89,0.89 # 23000,23000,0.19,0.19 - od_df = pd.DataFrame({ - 'orig': [5, 23, 23, 23], - 'dest': [7, 20, 21, 22] - }) + od_df = pd.DataFrame({"orig": [5, 23, 23, 23], "dest": [7, 20, 21, 22]}) skim_dict = network_los.get_default_skim_dict() @@ -73,9 +68,11 @@ def test_one_zone(): # 23000,20000,2.55,2.55 # 23000,21000,1.9,1.9 # 23000,22000,0.62,0.62 - skims = skim_dict.wrap('orig', 'dest') + skims = skim_dict.wrap("orig", "dest") skims.set_df(od_df) - pdt.assert_series_equal(skims['DIST'], pd.Series([0.4, 2.55, 1.9, 0.62]).astype(np.float32)) + pdt.assert_series_equal( + skims["DIST"], pd.Series([0.4, 2.55, 1.9, 0.62]).astype(np.float32) + ) # OMAZ, DMAZ, DIST, DISTBIKE # 2000, 1000, 0.37, 0.37 @@ -83,43 +80,51 @@ def test_one_zone(): # 21000,23000,1.89,1.89 # 22000,23000,0.89,0.89 - skims = skim_dict.wrap('dest', 'orig') + skims = skim_dict.wrap("dest", "orig") skims.set_df(od_df) - pdt.assert_series_equal(skims['DIST'], pd.Series([0.46, 2.45, 1.89, 0.89]).astype(np.float32)) + pdt.assert_series_equal( + skims["DIST"], pd.Series([0.46, 2.45, 1.89, 0.89]).astype(np.float32) + ) def test_two_zone(): - add_canonical_dirs('configs_2z') + add_canonical_dirs("configs_2z") network_los = los.Network_LOS() - assert network_los.setting('zone_system') == los.TWO_ZONE + assert network_los.setting("zone_system") == los.TWO_ZONE - assert 'z2_taz_skims.omx' in network_los.omx_file_names('taz') + assert "z2_taz_skims.omx" in network_los.omx_file_names("taz") - assert network_los.blend_distance_skim_name == 'DIST' + assert network_los.blend_distance_skim_name == "DIST" network_los.load_data() skim_dict = network_los.get_default_skim_dict() # skims should be the same as maz_to_maz distances when no blending - od_df = pd.DataFrame({ - 'orig': [1000, 2000, 23000, 23000, 23000], - 'dest': [2000, 2000, 20000, 21000, 22000] - }) + od_df = pd.DataFrame( + { + "orig": [1000, 2000, 23000, 23000, 23000], + "dest": [2000, 2000, 20000, 21000, 22000], + } + ) # compare to distances from maz_to_maz table - dist = pd.Series(network_los.get_mazpairs(od_df.orig, od_df.dest, 'DIST')).astype(np.float32) + dist = pd.Series(network_los.get_mazpairs(od_df.orig, od_df.dest, "DIST")).astype( + np.float32 + ) # make sure we got the right values - pdt.assert_series_equal(dist, pd.Series([0.24, 0.14, 2.55, 1.9, 0.62]).astype(np.float32)) + pdt.assert_series_equal( + dist, pd.Series([0.24, 0.14, 2.55, 1.9, 0.62]).astype(np.float32) + ) - skims = skim_dict.wrap('orig', 'dest') + skims = skim_dict.wrap("orig", "dest") skims.set_df(od_df) # assert no blending for DISTBIKE - assert network_los.max_blend_distance.get('DISTBIKE', 0) == 0 + assert network_los.max_blend_distance.get("DISTBIKE", 0) == 0 - skim_dist = skims['DISTBIKE'] + skim_dist = skims["DISTBIKE"] print(type(skims), type(skim_dist.iloc[0])) print(type(dist.iloc[0])) @@ -127,88 +132,106 @@ def test_two_zone(): # but should be different where maz-maz distance differs from skim backstop and blending desired # blending enabled for DIST - assert network_los.max_blend_distance.get('DIST') > 0 + assert network_los.max_blend_distance.get("DIST") > 0 with pytest.raises(AssertionError) as excinfo: - pdt.assert_series_equal(skims['DIST'], dist) + pdt.assert_series_equal(skims["DIST"], dist) def test_three_zone(): - add_canonical_dirs('configs_3z') + add_canonical_dirs("configs_3z") network_los = los.Network_LOS() - assert network_los.setting('zone_system') == los.THREE_ZONE + assert network_los.setting("zone_system") == los.THREE_ZONE - assert 'z3_taz_skims.omx' in network_los.omx_file_names('taz') + assert "z3_taz_skims.omx" in network_los.omx_file_names("taz") - assert network_los.blend_distance_skim_name == 'DIST' + assert network_los.blend_distance_skim_name == "DIST" network_los.load_data() - od_df = pd.DataFrame({ - 'orig': [1000, 2000, 23000, 23000, 23000], - 'dest': [2000, 2000, 20000, 21000, 22000] - }) + od_df = pd.DataFrame( + { + "orig": [1000, 2000, 23000, 23000, 23000], + "dest": [2000, 2000, 20000, 21000, 22000], + } + ) - dist = network_los.get_mazpairs(od_df.orig, od_df.dest, 'DIST').astype(np.float32) + dist = network_los.get_mazpairs(od_df.orig, od_df.dest, "DIST").astype(np.float32) np.testing.assert_almost_equal(dist, [0.24, 0.14, 2.55, 1.9, 0.62]) def test_30_minute_windows(): - add_canonical_dirs('configs_test_misc') - network_los = los.Network_LOS(los_settings_file_name='settings_30_min.yaml') + add_canonical_dirs("configs_test_misc") + network_los = los.Network_LOS(los_settings_file_name="settings_30_min.yaml") - assert network_los.skim_time_period_label(1) == 'EA' - assert network_los.skim_time_period_label(16) == 'AM' - assert network_los.skim_time_period_label(24) == 'MD' - assert network_los.skim_time_period_label(36) == 'PM' - assert network_los.skim_time_period_label(46) == 'EV' + assert network_los.skim_time_period_label(1) == "EA" + assert network_los.skim_time_period_label(16) == "AM" + assert network_los.skim_time_period_label(24) == "MD" + assert network_los.skim_time_period_label(36) == "PM" + assert network_los.skim_time_period_label(46) == "EV" np.testing.assert_array_equal( network_los.skim_time_period_label(pd.Series([1, 16, 24, 36, 46])), - np.array(['EA', 'AM', 'MD', 'PM', 'EV'])) + np.array(["EA", "AM", "MD", "PM", "EV"]), + ) def test_60_minute_windows(): - add_canonical_dirs('configs_test_misc') - network_los = los.Network_LOS(los_settings_file_name='settings_60_min.yaml') + add_canonical_dirs("configs_test_misc") + network_los = los.Network_LOS(los_settings_file_name="settings_60_min.yaml") - assert network_los.skim_time_period_label(1) == 'EA' - assert network_los.skim_time_period_label(8) == 'AM' - assert network_los.skim_time_period_label(12) == 'MD' - assert network_los.skim_time_period_label(18) == 'PM' - assert network_los.skim_time_period_label(23) == 'EV' + assert network_los.skim_time_period_label(1) == "EA" + assert network_los.skim_time_period_label(8) == "AM" + assert network_los.skim_time_period_label(12) == "MD" + assert network_los.skim_time_period_label(18) == "PM" + assert network_los.skim_time_period_label(23) == "EV" np.testing.assert_array_equal( network_los.skim_time_period_label(pd.Series([1, 8, 12, 18, 23])), - np.array(['EA', 'AM', 'MD', 'PM', 'EV'])) + np.array(["EA", "AM", "MD", "PM", "EV"]), + ) def test_1_week_time_window(): - add_canonical_dirs('configs_test_misc') - network_los = los.Network_LOS(los_settings_file_name='settings_1_week.yaml') + add_canonical_dirs("configs_test_misc") + network_los = los.Network_LOS(los_settings_file_name="settings_1_week.yaml") - assert network_los.skim_time_period_label(1) == 'Sunday' - assert network_los.skim_time_period_label(2) == 'Monday' - assert network_los.skim_time_period_label(3) == 'Tuesday' - assert network_los.skim_time_period_label(4) == 'Wednesday' - assert network_los.skim_time_period_label(5) == 'Thursday' - assert network_los.skim_time_period_label(6) == 'Friday' - assert network_los.skim_time_period_label(7) == 'Saturday' + assert network_los.skim_time_period_label(1) == "Sunday" + assert network_los.skim_time_period_label(2) == "Monday" + assert network_los.skim_time_period_label(3) == "Tuesday" + assert network_los.skim_time_period_label(4) == "Wednesday" + assert network_los.skim_time_period_label(5) == "Thursday" + assert network_los.skim_time_period_label(6) == "Friday" + assert network_los.skim_time_period_label(7) == "Saturday" weekly_series = network_los.skim_time_period_label(pd.Series([1, 2, 3, 4, 5, 6, 7])) - np.testing.assert_array_equal(weekly_series, np.array([ - 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'])) + np.testing.assert_array_equal( + weekly_series, + np.array( + [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + ] + ), + ) def test_skim_time_periods_future_warning(): - add_canonical_dirs('configs_test_misc') + add_canonical_dirs("configs_test_misc") with pytest.warns(FutureWarning) as warning_test: - network_los = los.Network_LOS(los_settings_file_name='settings_legacy_hours_key.yaml') + network_los = los.Network_LOS( + los_settings_file_name="settings_legacy_hours_key.yaml" + ) diff --git a/activitysim/core/test/test_pipeline.py b/activitysim/core/test/test_pipeline.py index 24e8ec0b68..724aa18822 100644 --- a/activitysim/core/test/test_pipeline.py +++ b/activitysim/core/test/test_pipeline.py @@ -1,14 +1,12 @@ # ActivitySim # See full license in LICENSE.txt. -import os import logging -import pytest +import os +import pytest import tables -from activitysim.core import tracing -from activitysim.core import pipeline -from activitysim.core import inject +from activitysim.core import inject, pipeline, tracing from .extensions import steps @@ -21,16 +19,16 @@ def setup_function(): inject.reinject_decorated_tables() - inject.remove_injectable('skim_dict') - inject.remove_injectable('skim_stack') + inject.remove_injectable("skim_dict") + inject.remove_injectable("skim_stack") - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) - data_dir = os.path.join(os.path.dirname(__file__), 'data') + data_dir = os.path.join(os.path.dirname(__file__), "data") inject.add_injectable("data_dir", data_dir) inject.clear_cache() @@ -56,17 +54,17 @@ def close_handlers(): # @pytest.mark.filterwarnings('ignore::tables.NaturalNameWarning') def test_pipeline_run(): - inject.add_step('step1', steps.step1) - inject.add_step('step2', steps.step2) - inject.add_step('step3', steps.step3) - inject.add_step('step_add_col', steps.step_add_col) + inject.add_step("step1", steps.step1) + inject.add_step("step2", steps.step2) + inject.add_step("step3", steps.step3) + inject.add_step("step_add_col", steps.step_add_col) inject.dump_state() _MODELS = [ - 'step1', - 'step2', - 'step3', - 'step_add_col.table_name=table2;column_name=c2' + "step1", + "step2", + "step3", + "step_add_col.table_name=table2;column_name=c2", ] pipeline.run(models=_MODELS, resume_after=None) @@ -101,19 +99,19 @@ def test_pipeline_run(): def test_pipeline_checkpoint_drop(): - inject.add_step('step1', steps.step1) - inject.add_step('step2', steps.step2) - inject.add_step('step3', steps.step3) - inject.add_step('step_add_col', steps.step_add_col) - inject.add_step('step_forget_tab', steps.step_forget_tab) + inject.add_step("step1", steps.step1) + inject.add_step("step2", steps.step2) + inject.add_step("step3", steps.step3) + inject.add_step("step_add_col", steps.step_add_col) + inject.add_step("step_forget_tab", steps.step_forget_tab) _MODELS = [ - 'step1', - '_step2', - '_step_add_col.table_name=table2;column_name=c2', - '_step_forget_tab.table_name=table2', - 'step3', - 'step_forget_tab.table_name=table3', + "step1", + "_step2", + "_step_add_col.table_name=table2;column_name=c2", + "_step_forget_tab.table_name=table2", + "step3", + "step_forget_tab.table_name=table3", ] pipeline.run(models=_MODELS, resume_after=None) @@ -137,6 +135,7 @@ def test_pipeline_checkpoint_drop(): pipeline.close_pipeline() close_handlers() + # if __name__ == "__main__": # # print "\n\ntest_pipeline_run" diff --git a/activitysim/core/test/test_random.py b/activitysim/core/test/test_random.py index 85228f5941..50b4f0dc5a 100644 --- a/activitysim/core/test/test_random.py +++ b/activitysim/core/test/test_random.py @@ -1,8 +1,8 @@ # ActivitySim # See full license in LICENSE.txt. import numpy as np -import pandas as pd import numpy.testing as npt +import pandas as pd import pytest from activitysim.core import random @@ -14,7 +14,7 @@ def test_basic(): rng.set_base_seed(0) - rng.begin_step('test_step') + rng.begin_step("test_step") global_rng = rng.get_global_rng() @@ -34,25 +34,31 @@ def test_basic(): def test_channel(): channels = { - 'households': 'household_id', - 'persons': 'person_id', + "households": "household_id", + "persons": "person_id", } rng = random.Random() - persons = pd.DataFrame({ - "household_id": [1, 1, 2, 2, 2], - }, index=[1, 2, 3, 4, 5]) - persons.index.name = 'person_id' + persons = pd.DataFrame( + { + "household_id": [1, 1, 2, 2, 2], + }, + index=[1, 2, 3, 4, 5], + ) + persons.index.name = "person_id" - households = pd.DataFrame({ - "data": [1, 1, 2, 2, 2], - }, index=[1, 2, 3, 4, 5]) - households.index.name = 'household_id' + households = pd.DataFrame( + { + "data": [1, 1, 2, 2, 2], + }, + index=[1, 2, 3, 4, 5], + ) + households.index.name = "household_id" - rng.begin_step('test_step') + rng.begin_step("test_step") - rng.add_channel('persons', persons) - rng.add_channel('households', households) + rng.add_channel("persons", persons) + rng.add_channel("households", households) rands = rng.random_for_df(persons) @@ -67,9 +73,9 @@ def test_channel(): test1_expected_rands2 = [0.9105223, 0.5718418, 0.7222742, 0.9062284, 0.3929369] npt.assert_almost_equal(np.asanyarray(rands).flatten(), test1_expected_rands2) - rng.end_step('test_step') + rng.end_step("test_step") - rng.begin_step('test_step2') + rng.begin_step("test_step2") rands = rng.random_for_df(households) expected_rands = [0.417278, 0.2994774, 0.8653719, 0.4429748, 0.5101697] @@ -84,21 +90,31 @@ def test_channel(): expected_choices = [3, 1, 4, 3, 3, 2, 2, 1, 4, 2] npt.assert_almost_equal(choices, expected_choices) - rng.end_step('test_step2') + rng.end_step("test_step2") - rng.begin_step('test_step3') + rng.begin_step("test_step3") rands = rng.random_for_df(households, n=2) - expected_rands = [0.3157928, 0.3321823, 0.5194067, 0.9340083, 0.9002048, 0.8754209, - 0.3898816, 0.4101094, 0.7351484, 0.1741092] + expected_rands = [ + 0.3157928, + 0.3321823, + 0.5194067, + 0.9340083, + 0.9002048, + 0.8754209, + 0.3898816, + 0.4101094, + 0.7351484, + 0.1741092, + ] npt.assert_almost_equal(np.asanyarray(rands).flatten(), expected_rands) - rng.end_step('test_step3') + rng.end_step("test_step3") # if we use the same step name a second time, we should get the same results as before - rng.begin_step('test_step') + rng.begin_step("test_step") rands = rng.random_for_df(persons) @@ -108,4 +124,4 @@ def test_channel(): rands = rng.random_for_df(persons) npt.assert_almost_equal(np.asanyarray(rands).flatten(), test1_expected_rands2) - rng.end_step('test_step') + rng.end_step("test_step") diff --git a/activitysim/core/test/test_simulate.py b/activitysim/core/test/test_simulate.py index 3fbee00db1..9eaa66534a 100644 --- a/activitysim/core/test/test_simulate.py +++ b/activitysim/core/test/test_simulate.py @@ -3,42 +3,40 @@ import os.path -import numpy.testing as npt import numpy as np +import numpy.testing as npt import pandas as pd import pandas.testing as pdt import pytest -from .. import inject - -from .. import simulate +from .. import inject, simulate -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data_dir(): - return os.path.join(os.path.dirname(__file__), 'data') + return os.path.join(os.path.dirname(__file__), "data") -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def spec_name(data_dir): - return 'sample_spec.csv' + return "sample_spec.csv" -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def spec(data_dir, spec_name): return simulate.read_model_spec(file_name=spec_name) -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def data(data_dir): - return pd.read_csv(os.path.join(data_dir, 'data.csv')) + return pd.read_csv(os.path.join(data_dir, "data.csv")) def setup_function(): - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), f'output') + output_dir = os.path.join(os.path.dirname(__file__), f"output") inject.add_injectable("output_dir", output_dir) @@ -47,22 +45,18 @@ def test_read_model_spec(spec_name): spec = simulate.read_model_spec(file_name=spec_name) assert len(spec) == 4 - assert spec.index.name == 'Expression' - assert list(spec.columns) == ['alt0', 'alt1'] - npt.assert_array_equal( - spec.values, - [[1.1, 11], [2.2, 22], [3.3, 33], [4.4, 44]]) + assert spec.index.name == "Expression" + assert list(spec.columns) == ["alt0", "alt1"] + npt.assert_array_equal(spec.values, [[1.1, 11], [2.2, 22], [3.3, 33], [4.4, 44]]) def test_eval_variables(spec, data): result = simulate.eval_variables(spec.index, data) - expected = pd.DataFrame([ - [1, 0, 4, 1], - [0, 1, 4, 1], - [0, 1, 5, 1]], - index=data.index, columns=spec.index) + expected = pd.DataFrame( + [[1, 0, 4, 1], [0, 1, 4, 1], [0, 1, 5, 1]], index=data.index, columns=spec.index + ) expected[expected.columns[0]] = expected[expected.columns[0]].astype(np.int8) expected[expected.columns[1]] = expected[expected.columns[1]].astype(np.int8) @@ -77,7 +71,7 @@ def test_eval_variables(spec, data): def test_simple_simulate(data, spec): - inject.add_injectable("settings", {'check_for_variability': False}) + inject.add_injectable("settings", {"check_for_variability": False}) choices = simulate.simple_simulate(choosers=data, spec=spec, nest_spec=None) expected = pd.Series([1, 1, 1], index=data.index) @@ -86,8 +80,10 @@ def test_simple_simulate(data, spec): def test_simple_simulate_chunked(data, spec): - inject.add_injectable("settings", {'check_for_variability': False}) + inject.add_injectable("settings", {"check_for_variability": False}) - choices = simulate.simple_simulate(choosers=data, spec=spec, nest_spec=None, chunk_size=2) + choices = simulate.simple_simulate( + choosers=data, spec=spec, nest_spec=None, chunk_size=2 + ) expected = pd.Series([1, 1, 1], index=data.index) pdt.assert_series_equal(choices, expected) diff --git a/activitysim/core/test/test_skim.py b/activitysim/core/test/test_skim.py index 0605250378..a1e47779ae 100644 --- a/activitysim/core/test/test_skim.py +++ b/activitysim/core/test/test_skim.py @@ -2,8 +2,8 @@ # See full license in LICENSE.txt. import numpy as np -import pandas as pd import numpy.testing as npt +import pandas as pd import pandas.testing as pdt import pytest @@ -12,7 +12,7 @@ @pytest.fixture def data(): - return np.arange(100, dtype='int').reshape((10, 10)) + return np.arange(100, dtype="int").reshape((10, 10)) class FakeSkimInfo(object): @@ -25,41 +25,35 @@ def test_skims(data): # ROW_MAJOR_LAYOUT omx_shape = (10, 10) num_skims = 2 - skim_data_shape = (num_skims, ) + omx_shape + skim_data_shape = (num_skims,) + omx_shape skim_data = np.zeros(skim_data_shape, dtype=int) skim_data[0, :, :] = data - skim_data[1, :, :] = data*10 + skim_data[1, :, :] = data * 10 skim_info = FakeSkimInfo() - skim_info.block_offsets = {'AM': 0, 'PM': 1} + skim_info.block_offsets = {"AM": 0, "PM": 1} skim_info.omx_shape = omx_shape - skim_info.dtype_name = 'int' + skim_info.dtype_name = "int" - skim_dict = skim_dictionary.SkimDict('taz', skim_info, skim_data) + skim_dict = skim_dictionary.SkimDict("taz", skim_info, skim_data) skim_dict.offset_mapper.set_offset_int(0) # default is -1 skims = skim_dict.wrap("taz_l", "taz_r") - df = pd.DataFrame({ - "taz_l": [1, 9, 4], - "taz_r": [2, 3, 7], - }) + df = pd.DataFrame( + { + "taz_l": [1, 9, 4], + "taz_r": [2, 3, 7], + } + ) skims.set_df(df) pdt.assert_series_equal( - skims['AM'], - pd.Series( - [12, 93, 47], - index=[0, 1, 2] - ).astype(data.dtype) + skims["AM"], pd.Series([12, 93, 47], index=[0, 1, 2]).astype(data.dtype) ) pdt.assert_series_equal( - skims['PM'], - pd.Series( - [120, 930, 470], - index=[0, 1, 2] - ).astype(data.dtype) + skims["PM"], pd.Series([120, 930, 470], index=[0, 1, 2]).astype(data.dtype) ) @@ -68,34 +62,27 @@ def test_3dskims(data): # ROW_MAJOR_LAYOUT omx_shape = (10, 10) num_skims = 2 - skim_data_shape = (num_skims, ) + omx_shape + skim_data_shape = (num_skims,) + omx_shape skim_data = np.zeros(skim_data_shape, dtype=int) skim_data[0, :, :] = data - skim_data[1, :, :] = data*10 + skim_data[1, :, :] = data * 10 skim_info = FakeSkimInfo() - skim_info.block_offsets = {('SOV', 'AM'): 0, ('SOV', 'PM'): 1} + skim_info.block_offsets = {("SOV", "AM"): 0, ("SOV", "PM"): 1} skim_info.omx_shape = omx_shape - skim_info.dtype_name = 'int' - skim_info.key1_block_offsets = {'SOV': 0} + skim_info.dtype_name = "int" + skim_info.key1_block_offsets = {"SOV": 0} - skim_dict = skim_dictionary.SkimDict('taz', skim_info, skim_data) + skim_dict = skim_dictionary.SkimDict("taz", skim_info, skim_data) skim_dict.offset_mapper.set_offset_int(0) # default is -1 skims3d = skim_dict.wrap_3d(orig_key="taz_l", dest_key="taz_r", dim3_key="period") - df = pd.DataFrame({ - "taz_l": [1, 9, 4], - "taz_r": [2, 3, 7], - "period": ['AM', 'PM', 'AM'] - }) + df = pd.DataFrame( + {"taz_l": [1, 9, 4], "taz_r": [2, 3, 7], "period": ["AM", "PM", "AM"]} + ) skims3d.set_df(df) pdt.assert_series_equal( - skims3d["SOV"], - pd.Series( - [12, 930, 47], - index=[0, 1, 2] - ), - check_dtype=False + skims3d["SOV"], pd.Series([12, 930, 47], index=[0, 1, 2]), check_dtype=False ) diff --git a/activitysim/core/test/test_timetable.py b/activitysim/core/test/test_timetable.py index 9528cbfd77..17b871dcfc 100644 --- a/activitysim/core/test/test_timetable.py +++ b/activitysim/core/test/test_timetable.py @@ -2,21 +2,20 @@ # See full license in LICENSE.txt. from builtins import range + import numpy as np import pandas as pd import pandas.testing as pdt import pytest -from .. import timetable as tt from .. import chunk +from .. import timetable as tt @pytest.fixture def persons(): - df = pd.DataFrame( - index=list(range(6)) - ) + df = pd.DataFrame(index=list(range(6))) return df @@ -25,26 +24,42 @@ def persons(): def tdd_alts(): alts = pd.DataFrame( data=[ - [5, 5], [5, 6], [5, 7], [5, 8], [5, 9], [5, 10], - [6, 6], [6, 7], [6, 8], [6, 9], [6, 10], - [7, 7], [7, 8], [7, 9], [7, 10], - [8, 8], [8, 9], [8, 10], - [9, 9], [9, 10], + [5, 5], + [5, 6], + [5, 7], + [5, 8], + [5, 9], + [5, 10], + [6, 6], + [6, 7], + [6, 8], + [6, 9], + [6, 10], + [7, 7], + [7, 8], + [7, 9], + [7, 10], + [8, 8], + [8, 9], + [8, 10], + [9, 9], + [9, 10], [10, 10], ], - columns=['start', 'end']) - alts['duration'] = alts.end - alts.start + columns=["start", "end"], + ) + alts["duration"] = alts.end - alts.start return alts def test_basic(persons, tdd_alts): - with chunk.chunk_log('test_basic', base=True): + with chunk.chunk_log("test_basic", base=True): person_windows = tt.create_timetable_windows(persons, tdd_alts) - timetable = tt.TimeTable(person_windows, tdd_alts, 'person_windows') + timetable = tt.TimeTable(person_windows, tdd_alts, "person_windows") # print "\ntdd_footprints_df\n", timetable.tdd_footprints_df # 0 1 2 3 4 5 6 7 @@ -73,7 +88,7 @@ def test_basic(persons, tdd_alts): num_alts = len(tdd_alts.index) num_persons = len(persons.index) - person_ids = pd.Series(list(range(num_persons))*num_alts) + person_ids = pd.Series(list(range(num_persons)) * num_alts) tdds = pd.Series(np.repeat(list(range(num_alts)), num_persons)) assert timetable.tour_available(person_ids, tdds).all() @@ -92,15 +107,17 @@ def test_basic(persons, tdd_alts): # 5 0 0 0 0 2 7 4 0 person_ids = pd.Series([0, 1, 1, 0, 1, 3, 4]) - tdds = pd.Series([ - 0, # tdd START_END does not collide with START_END - 0, # tdd START_END does not collide with START - 6, # tdd START_END does not collide with END - 1, # tdd START does not collide with START_END - 7, # tdd START does not collide with END - 3, # tdd END does not collide with START_END - 3, # tdd END does not collide with START - ]) + tdds = pd.Series( + [ + 0, # tdd START_END does not collide with START_END + 0, # tdd START_END does not collide with START + 6, # tdd START_END does not collide with END + 1, # tdd START does not collide with START_END + 7, # tdd START does not collide with END + 3, # tdd END does not collide with START_END + 3, # tdd END does not collide with START + ] + ) assert timetable.tour_available(person_ids, tdds).all() # print "\nupdated_person_windows\n", timetable.get_person_windows_df() @@ -113,24 +130,30 @@ def test_basic(persons, tdd_alts): # 5 0 0 0 0 2 7 4 0 person_ids = pd.Series([1, 5, 2, 2]) - tdds = pd.Series([ - 1, # tdd START + END collides with START + END - 17, # START + MIDDLE + END collides with same - 6, # tdd START_END collides with MIDDLE - 1, # tdd START + END collides with START + MIDDLE - ]) + tdds = pd.Series( + [ + 1, # tdd START + END collides with START + END + 17, # START + MIDDLE + END collides with same + 6, # tdd START_END collides with MIDDLE + 1, # tdd START + END collides with START + MIDDLE + ] + ) assert not timetable.tour_available(person_ids, tdds).any() # ensure that tour_available handles heterogeneous results person_ids = pd.Series([0, 1, 1, 5]) - tdds = pd.Series([ - 0, # tdd START_END does not collide with START_END - 0, # tdd START_END does not collide with START - 1, # tdd START + END collides with START + END - 17, # START + MIDDLE + END collides with same - ]) - pdt.assert_series_equal(timetable.tour_available(person_ids, tdds), - pd.Series([True, True, False, False], index=person_ids.index)) + tdds = pd.Series( + [ + 0, # tdd START_END does not collide with START_END + 0, # tdd START_END does not collide with START + 1, # tdd START + END collides with START + END + 17, # START + MIDDLE + END collides with same + ] + ) + pdt.assert_series_equal( + timetable.tour_available(person_ids, tdds), + pd.Series([True, True, False, False], index=person_ids.index), + ) # assigning overlapping trip END,START should convert END to START_END person_ids = pd.Series([2]) @@ -185,5 +208,9 @@ def test_basic(persons, tdd_alts): person_ids = pd.Series([0, 1, 2, 3]) starts = pd.Series([9, 6, 9, 5]) ends = pd.Series([10, 10, 10, 9]) - periods_available = timetable.remaining_periods_available(person_ids, starts, ends) - pdt.assert_series_equal(periods_available, pd.Series([6, 3, 4, 3]), check_dtype=False) + periods_available = timetable.remaining_periods_available( + person_ids, starts, ends + ) + pdt.assert_series_equal( + periods_available, pd.Series([6, 3, 4, 3]), check_dtype=False + ) diff --git a/activitysim/core/test/test_tracing.py b/activitysim/core/test/test_tracing.py index 429b429ad8..df88e0d36c 100644 --- a/activitysim/core/test/test_tracing.py +++ b/activitysim/core/test/test_tracing.py @@ -1,13 +1,12 @@ # ActivitySim # See full license in LICENSE.txt. -import os.path import logging -import pytest +import os.path import pandas as pd +import pytest -from .. import tracing -from .. import inject +from .. import inject, tracing def close_handlers(): @@ -29,10 +28,10 @@ def add_canonical_dirs(): inject.clear_cache() - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) @@ -42,7 +41,7 @@ def test_config_logger(capsys): tracing.config_logger() - logger = logging.getLogger('activitysim') + logger = logging.getLogger("activitysim") file_handlers = [h for h in logger.handlers if type(h) is logging.FileHandler] assert len(file_handlers) == 1 @@ -50,9 +49,9 @@ def test_config_logger(capsys): print("handlers:", logger.handlers) - logger.info('test_config_logger') - logger.info('log_info') - logger.warning('log_warn1') + logger.info("test_config_logger") + logger.info("log_info") + logger.warning("log_warn1") out, err = capsys.readouterr() @@ -60,19 +59,19 @@ def test_config_logger(capsys): print(out) assert "could not find conf file" not in out - assert 'log_warn1' in out - assert 'log_info' not in out + assert "log_warn1" in out + assert "log_info" not in out close_handlers() logger = logging.getLogger(__name__) - logger.warning('log_warn2') + logger.warning("log_warn2") - with open(asim_logger_baseFilename, 'r') as content_file: + with open(asim_logger_baseFilename, "r") as content_file: content = content_file.read() print(content) - assert 'log_warn1' in content - assert 'log_warn2' not in content + assert "log_warn1" in content + assert "log_warn2" not in content def test_print_summary(capsys): @@ -81,14 +80,16 @@ def test_print_summary(capsys): tracing.config_logger() - tracing.print_summary('label', df=pd.DataFrame(), describe=False, value_counts=False) + tracing.print_summary( + "label", df=pd.DataFrame(), describe=False, value_counts=False + ) out, err = capsys.readouterr() # don't consume output print(out) - assert 'print_summary neither value_counts nor describe' in out + assert "print_summary neither value_counts nor describe" in out close_handlers() @@ -99,24 +100,24 @@ def test_register_households(capsys): tracing.config_logger() - df = pd.DataFrame({'zort': ['a', 'b', 'c']}, index=[1, 2, 3]) + df = pd.DataFrame({"zort": ["a", "b", "c"]}, index=[1, 2, 3]) - inject.add_injectable('traceable_tables', ['households']) + inject.add_injectable("traceable_tables", ["households"]) inject.add_injectable("trace_hh_id", 5) - tracing.register_traceable_table('households', df) + tracing.register_traceable_table("households", df) out, err = capsys.readouterr() # print out # don't consume output assert "Can't register table 'households' without index name" in out - df.index.name = 'household_id' - tracing.register_traceable_table('households', df) + df.index.name = "household_id" + tracing.register_traceable_table("households", df) out, err = capsys.readouterr() # print out # don't consume output # should warn that household id not in index - assert 'trace_hh_id 5 not in dataframe' in out + assert "trace_hh_id 5 not in dataframe" in out close_handlers() @@ -127,41 +128,46 @@ def test_register_tours(capsys): tracing.config_logger() - inject.add_injectable('traceable_tables', ['households', 'tours']) + inject.add_injectable("traceable_tables", ["households", "tours"]) # in case another test injected this inject.add_injectable("trace_tours", []) - inject.add_injectable("trace_hh_id", 3) # need this or register_traceable_table is a nop + inject.add_injectable( + "trace_hh_id", 3 + ) # need this or register_traceable_table is a nop - tours_df = pd.DataFrame({'zort': ['a', 'b', 'c']}, index=[10, 11, 12]) - tours_df.index.name = 'tour_id' + tours_df = pd.DataFrame({"zort": ["a", "b", "c"]}, index=[10, 11, 12]) + tours_df.index.name = "tour_id" - tracing.register_traceable_table('tours', tours_df) + tracing.register_traceable_table("tours", tours_df) out, err = capsys.readouterr() - assert "can't find a registered table to slice table 'tours' index name 'tour_id'" in out + assert ( + "can't find a registered table to slice table 'tours' index name 'tour_id'" + in out + ) inject.add_injectable("trace_hh_id", 3) - households_df = pd.DataFrame({'dzing': ['a', 'b', 'c']}, index=[1, 2, 3]) - households_df.index.name = 'household_id' - tracing.register_traceable_table('households', households_df) + households_df = pd.DataFrame({"dzing": ["a", "b", "c"]}, index=[1, 2, 3]) + households_df.index.name = "household_id" + tracing.register_traceable_table("households", households_df) - tracing.register_traceable_table('tours', tours_df) + tracing.register_traceable_table("tours", tours_df) out, err = capsys.readouterr() # print out # don't consume output assert "can't find a registered table to slice table 'tours'" in out - tours_df['household_id'] = [1, 5, 3] + tours_df["household_id"] = [1, 5, 3] - tracing.register_traceable_table('tours', tours_df) + tracing.register_traceable_table("tours", tours_df) out, err = capsys.readouterr() print(out) # don't consume output # should be tracing tour with tour_id 3 - traceable_table_ids = inject.get_injectable('traceable_table_ids') - assert traceable_table_ids['tours'] == [12] + traceable_table_ids = inject.get_injectable("traceable_table_ids") + assert traceable_table_ids["tours"] == [12] close_handlers() @@ -173,7 +179,7 @@ def test_write_csv(capsys): tracing.config_logger() # should complain if df not a DataFrame or Series - tracing.write_csv(df='not a df or series', file_name='baddie') + tracing.write_csv(df="not a df or series", file_name="baddie") out, err = capsys.readouterr() @@ -186,10 +192,10 @@ def test_write_csv(capsys): def test_slice_ids(): - df = pd.DataFrame({'household_id': [1, 2, 3]}, index=[11, 12, 13]) + df = pd.DataFrame({"household_id": [1, 2, 3]}, index=[11, 12, 13]) # slice by named column - sliced_df = tracing.slice_ids(df, [1, 3, 6], column='household_id') + sliced_df = tracing.slice_ids(df, [1, 3, 6], column="household_id") assert len(sliced_df.index) == 2 # slice by index @@ -198,7 +204,7 @@ def test_slice_ids(): # attempt to slice by non-existent column with pytest.raises(RuntimeError) as excinfo: - sliced_df = tracing.slice_ids(df, [5, 6], column='baddie') + sliced_df = tracing.slice_ids(df, [5, 6], column="baddie") assert "slice_ids slicer column 'baddie' not in dataframe" in str(excinfo.value) @@ -206,10 +212,10 @@ def test_basic(capsys): close_handlers() - configs_dir = os.path.join(os.path.dirname(__file__), 'configs') + configs_dir = os.path.join(os.path.dirname(__file__), "configs") inject.add_injectable("configs_dir", configs_dir) - output_dir = os.path.join(os.path.dirname(__file__), 'output') + output_dir = os.path.join(os.path.dirname(__file__), "output") inject.add_injectable("output_dir", output_dir) # remove existing handlers or basicConfig is a NOP @@ -221,20 +227,20 @@ def test_basic(capsys): file_handlers = [h for h in logger.handlers if type(h) is logging.FileHandler] assert len(file_handlers) == 0 - logger = logging.getLogger('activitysim') + logger = logging.getLogger("activitysim") - logger.info('test_basic') - logger.debug('log_debug') - logger.info('log_info') - logger.warning('log_warn') + logger.info("test_basic") + logger.debug("log_debug") + logger.info("log_info") + logger.warning("log_warn") out, err = capsys.readouterr() # don't consume output print(out) - assert 'log_warn' in out - assert 'log_info' in out - assert 'log_debug' not in out + assert "log_warn" in out + assert "log_info" in out + assert "log_debug" not in out close_handlers() diff --git a/activitysim/core/test/test_util.py b/activitysim/core/test/test_util.py index 3e7017dd66..086e8a0326 100644 --- a/activitysim/core/test/test_util.py +++ b/activitysim/core/test/test_util.py @@ -6,51 +6,55 @@ import pandas.testing as pdt import pytest -from ..util import reindex -from ..util import other_than -from ..util import quick_loc_series -from ..util import quick_loc_df +from ..util import other_than, quick_loc_df, quick_loc_series, reindex -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def people(): - return pd.DataFrame({ - 'household': [1, 2, 2, 3, 3, 3, 4, 4, 4, 4], - 'ptype': [1, 2, 1, 3, 1, 2, 3, 2, 2, 1]}, - index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']) + return pd.DataFrame( + { + "household": [1, 2, 2, 3, 3, 3, 4, 4, 4, 4], + "ptype": [1, 2, 1, 3, 1, 2, 3, 2, 2, 1], + }, + index=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"], + ) def test_other_than(people): expected = pd.Series( [False, False, True, True, True, False, True, True, True, True], - index=people.index, name='left') + index=people.index, + name="left", + ) - bools = people['ptype'] == 2 - others = other_than(people['household'], bools) + bools = people["ptype"] == 2 + others = other_than(people["household"], bools) pdt.assert_series_equal(others, expected) def test_reindex(): - s = pd.Series([.5, 1.0, 1.5], index=[2, 1, 3]) - s2 = pd.Series([1, 2, 3], index=['a', 'b', 'c']) - assert list(reindex(s, s2).values) == [1.0, .5, 1.5] + s = pd.Series([0.5, 1.0, 1.5], index=[2, 1, 3]) + s2 = pd.Series([1, 2, 3], index=["a", "b", "c"]) + assert list(reindex(s, s2).values) == [1.0, 0.5, 1.5] def test_quick_loc_df(): - df = pd.DataFrame({'attrib': ['1', '2', '3', '4', '5']}, index=[1, 2, 3, 4, 5]) + df = pd.DataFrame({"attrib": ["1", "2", "3", "4", "5"]}, index=[1, 2, 3, 4, 5]) loc_list = np.asanyarray([2, 1, 3, 4, 4, 5, 1]) attrib_list = [str(i) for i in loc_list] - assert list(quick_loc_df(loc_list, df, 'attrib')) == attrib_list - assert list(quick_loc_df(loc_list, df, 'attrib')) == list(df.loc[loc_list]['attrib']) + assert list(quick_loc_df(loc_list, df, "attrib")) == attrib_list + assert list(quick_loc_df(loc_list, df, "attrib")) == list( + df.loc[loc_list]["attrib"] + ) def test_quick_loc_series(): - series = pd.Series(['1', '2', '3', '4', '5'], index=[1, 2, 3, 4, 5]) + series = pd.Series(["1", "2", "3", "4", "5"], index=[1, 2, 3, 4, 5]) loc_list = np.asanyarray([2, 1, 3, 4, 4, 5, 1]) attrib_list = [str(i) for i in loc_list] diff --git a/activitysim/core/test/utils_testing.py b/activitysim/core/test/utils_testing.py index d95a848621..a8a74fd3b4 100644 --- a/activitysim/core/test/utils_testing.py +++ b/activitysim/core/test/utils_testing.py @@ -34,18 +34,17 @@ def assert_frames_equal(actual, expected, use_close=False): else: comp = npt.assert_equal - assert (isinstance(actual, pd.DataFrame) and - isinstance(expected, pd.DataFrame)), \ - 'Inputs must both be pandas DataFrames.' + assert isinstance(actual, pd.DataFrame) and isinstance( + expected, pd.DataFrame + ), "Inputs must both be pandas DataFrames." for i, exp_row in expected.iterrows(): - assert i in actual.index, 'Expected row {!r} not found.'.format(i) + assert i in actual.index, "Expected row {!r} not found.".format(i) act_row = actual.loc[i] for j, exp_item in exp_row.items(): - assert j in act_row.index, \ - 'Expected column {!r} not found.'.format(j) + assert j in act_row.index, "Expected column {!r} not found.".format(j) act_item = act_row[j] @@ -53,7 +52,8 @@ def assert_frames_equal(actual, expected, use_close=False): comp(act_item, exp_item) except AssertionError as e: raise AssertionError( - str(e) + '\n\nColumn: {!r}\nRow: {!r}'.format(j, i)) + str(e) + "\n\nColumn: {!r}\nRow: {!r}".format(j, i) + ) def assert_index_equal(left, right): @@ -70,5 +70,8 @@ def assert_index_equal(left, right): left_diff = left.difference(right) right_diff = right.difference(left) if len(left_diff) > 0 or len(right_diff) > 0: - raise AssertionError("keys not in left [{0}], keys not in right [{1}]".format( - left_diff, right_diff)) + raise AssertionError( + "keys not in left [{0}], keys not in right [{1}]".format( + left_diff, right_diff + ) + ) diff --git a/activitysim/core/timetable.py b/activitysim/core/timetable.py index a793738344..fe2aeee3cf 100644 --- a/activitysim/core/timetable.py +++ b/activitysim/core/timetable.py @@ -1,16 +1,13 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import range -from builtins import object - import logging +from builtins import object, range import numpy as np import pandas as pd -from activitysim.core import pipeline -from activitysim.core import chunk +from activitysim.core import chunk, pipeline logger = logging.getLogger(__name__) @@ -31,9 +28,12 @@ [I_START, I_START], [I_END, I_END], [I_MIDDLE, I_MIDDLE], - [I_START, I_MIDDLE], [I_MIDDLE, I_START], - [I_END, I_MIDDLE], [I_MIDDLE, I_END], - [I_START_END, I_MIDDLE], [I_MIDDLE, I_START_END], + [I_START, I_MIDDLE], + [I_MIDDLE, I_START], + [I_END, I_MIDDLE], + [I_MIDDLE, I_END], + [I_START_END, I_MIDDLE], + [I_MIDDLE, I_START_END], ] COLLISION_LIST = [a + (b << I_BIT_SHIFT) for a, b in COLLISIONS] @@ -47,25 +47,25 @@ C_START_END = str(I_START_END) -def tour_map(persons, tours, tdd_alts, persons_id_col='person_id'): +def tour_map(persons, tours, tdd_alts, persons_id_col="person_id"): sigil = { - 'empty': ' ', - 'overlap': '+++', - 'work': 'WWW', - 'school': 'SSS', - 'escort': 'esc', - 'shopping': 'shp', - 'othmaint': 'mnt', - 'othdiscr': 'dsc', - 'eatout': 'eat', - 'social': 'soc', - 'eat': 'eat', - 'business': 'bus', - 'maint': 'mnt' + "empty": " ", + "overlap": "+++", + "work": "WWW", + "school": "SSS", + "escort": "esc", + "shopping": "shp", + "othmaint": "mnt", + "othdiscr": "dsc", + "eatout": "eat", + "social": "soc", + "eat": "eat", + "business": "bus", + "maint": "mnt", } - sigil_type = 'S3' + sigil_type = "S3" # we can only map scheduled tours tours = tours[tours.tdd.notnull()] @@ -76,7 +76,7 @@ def tour_map(persons, tours, tdd_alts, persons_id_col='person_id'): n_periods = max_period - min_period + 1 n_persons = len(persons.index) - agenda = np.array([sigil['empty']]*(n_periods*n_persons), dtype=sigil_type) + agenda = np.array([sigil["empty"]] * (n_periods * n_persons), dtype=sigil_type) agenda = agenda.reshape(n_persons, n_periods) scheduled = np.zeros_like(agenda, dtype=int) @@ -84,15 +84,16 @@ def tour_map(persons, tours, tdd_alts, persons_id_col='person_id'): # construct with strings so we can create runs of strings using char * int w_strings = [ - '0' * (row.start - min_period) + - '1' * (row.duration + 1) + - '0' * (max_period - row.end) - for idx, row in tdd_alts.iterrows()] + "0" * (row.start - min_period) + + "1" * (row.duration + 1) + + "0" * (max_period - row.end) + for idx, row in tdd_alts.iterrows() + ] window_periods = np.asanyarray([list(r) for r in w_strings]).astype(int) window_periods_df = pd.DataFrame(data=window_periods, index=tdd_alts.index) - for keys, nth_tours in tours.groupby(['tour_type', 'tour_type_num'], sort=True): + for keys, nth_tours in tours.groupby(["tour_type", "tour_type_num"], sort=True): tour_type = keys[0] tour_sigil = sigil[tour_type] @@ -110,10 +111,12 @@ def tour_map(persons, tours, tdd_alts, persons_id_col='person_id'): agenda[row_ixs] = np.where(tour_windows, tour_sigil, agenda[row_ixs]) # show tour overlaps - agenda = np.where(scheduled > 1, sigil['overlap'], agenda) + agenda = np.where(scheduled > 1, sigil["overlap"], agenda) # a = pd.Series([' '.join(a) for a in agenda], index=persons.index) - a = pd.DataFrame(data=agenda, columns=[str(w) for w in range(min_period, max_period+1)]) + a = pd.DataFrame( + data=agenda, columns=[str(w) for w in range(min_period, max_period + 1)] + ) a.index = persons.index a.index.name = persons_id_col @@ -157,10 +160,9 @@ def create_timetable_windows(rows, tdd_alts): UNSCHEDULED = 0 - df = pd.DataFrame(data=UNSCHEDULED, - index=rows.index, - columns=window_cols, - dtype=np.int8) + df = pd.DataFrame( + data=UNSCHEDULED, index=rows.index, columns=window_cols, dtype=np.int8 + ) return df @@ -194,21 +196,26 @@ def __init__(self, windows_df, tdd_alts_df, table_name=None): self.checkpoint_df = None # series to map window row index value to window row's ordinal index - self.window_row_ix = pd.Series(list(range(len(windows_df.index))), index=windows_df.index) + self.window_row_ix = pd.Series( + list(range(len(windows_df.index))), index=windows_df.index + ) int_time_periods = [int(c) for c in windows_df.columns.values] - self.time_ix = pd.Series(list(range(len(windows_df.columns))), index=int_time_periods) + self.time_ix = pd.Series( + list(range(len(windows_df.columns))), index=int_time_periods + ) # - pre-compute window state footprints for every tdd_alt min_period = min(int_time_periods) max_period = max(int_time_periods) # construct with strings so we can create runs of strings using char * int w_strings = [ - C_EMPTY * (row.start - min_period) + - (C_START + C_MIDDLE * (row.duration - 1) if row.duration > 0 else '') + - (C_END if row.duration > 0 else C_START_END) + - (C_EMPTY * (max_period - row.end)) - for idx, row in tdd_alts_df.iterrows()] + C_EMPTY * (row.start - min_period) + + (C_START + C_MIDDLE * (row.duration - 1) if row.duration > 0 else "") + + (C_END if row.duration > 0 else C_START_END) + + (C_EMPTY * (max_period - row.end)) + for idx, row in tdd_alts_df.iterrows() + ] # we want range index so we can use raw numpy assert (tdd_alts_df.index == list(range(tdd_alts_df.shape[0]))).all() @@ -223,7 +230,9 @@ def begin_transaction(self, transaction_loggers): if not isinstance(transaction_loggers, list): transaction_loggers = [transaction_loggers] for transaction_logger in transaction_loggers: - transaction_logger.log("timetable.begin_transaction %s" % self.windows_table_name) + transaction_logger.log( + "timetable.begin_transaction %s" % self.windows_table_name + ) self.checkpoint_df = self.windows_df.copy() self.transaction_loggers = transaction_loggers pass @@ -281,8 +290,11 @@ def replace_table(self): assert self.windows_table_name is not None if self.checkpoint_df is not None: for logger in self.transaction_loggers.values(): - logger.log("Attempt to replace_table while in transaction: %s" % - self.windows_table_name, level=logging.ERROR) + logger.log( + "Attempt to replace_table while in transaction: %s" + % self.windows_table_name, + level=logging.ERROR, + ) raise RuntimeError("Attempt to replace_table while in transaction") # get windows_df from bottleneck function in case updates to self.person_window @@ -421,7 +433,7 @@ def pairwise_available(self, window1_row_ids, window2_row_ids): available1 = (self.slice_windows_by_row_id(window1_row_ids) != I_MIDDLE) * 1 available2 = (self.slice_windows_by_row_id(window2_row_ids) != I_MIDDLE) * 1 - return (available1 * available2) + return available1 * available2 def individually_available(self, window_row_ids): @@ -445,15 +457,15 @@ def adjacent_window_run_length(self, window_row_ids, periods, before): """ assert len(window_row_ids) == len(periods) - trace_label = 'tt.adjacent_window_run_length' + trace_label = "tt.adjacent_window_run_length" with chunk.chunk_log(trace_label): time_col_ixs = periods.map(self.time_ix).values - chunk.log_df(trace_label, 'time_col_ixs', time_col_ixs) + chunk.log_df(trace_label, "time_col_ixs", time_col_ixs) # sliced windows with 1s where windows state is I_MIDDLE and 0s elsewhere available = (self.slice_windows_by_row_id(window_row_ids) != I_MIDDLE) * 1 - chunk.log_df(trace_label, 'available', available) + chunk.log_df(trace_label, "available", available) # padding periods not available available[:, 0] = 0 @@ -461,28 +473,34 @@ def adjacent_window_run_length(self, window_row_ids, periods, before): # column idxs of windows num_rows, num_cols = available.shape - time_col_ix_map = np.tile(np.arange(0, num_cols), num_rows).reshape(num_rows, num_cols) + time_col_ix_map = np.tile(np.arange(0, num_cols), num_rows).reshape( + num_rows, num_cols + ) # 0 1 2 3 4 5... # 0 1 2 3 4 5... # 0 1 2 3 4 5... - chunk.log_df(trace_label, 'time_col_ix_map', time_col_ix_map) + chunk.log_df(trace_label, "time_col_ix_map", time_col_ix_map) if before: # ones after specified time, zeroes before mask = (time_col_ix_map < time_col_ixs.reshape(num_rows, 1)) * 1 # index of first unavailable window after time - first_unavailable = np.where((1-available)*mask, time_col_ix_map, 0).max(axis=1) + first_unavailable = np.where( + (1 - available) * mask, time_col_ix_map, 0 + ).max(axis=1) available_run_length = time_col_ixs - first_unavailable - 1 else: # ones after specified time, zeroes before mask = (time_col_ix_map > time_col_ixs.reshape(num_rows, 1)) * 1 # index of first unavailable window after time - first_unavailable = np.where((1 - available) * mask, time_col_ix_map, num_cols).min(axis=1) + first_unavailable = np.where( + (1 - available) * mask, time_col_ix_map, num_cols + ).min(axis=1) available_run_length = first_unavailable - time_col_ixs - 1 - chunk.log_df(trace_label, 'mask', mask) - chunk.log_df(trace_label, 'first_unavailable', first_unavailable) - chunk.log_df(trace_label, 'available_run_length', available_run_length) + chunk.log_df(trace_label, "mask", mask) + chunk.log_df(trace_label, "first_unavailable", first_unavailable) + chunk.log_df(trace_label, "available_run_length", available_run_length) return pd.Series(available_run_length, index=window_row_ids.index) @@ -575,7 +593,9 @@ def previous_tour_ends(self, window_row_ids, periods): pandas Series boolean indexed by window_row_ids.index """ - return self.window_periods_in_states(window_row_ids, periods, [I_END, I_START_END]) + return self.window_periods_in_states( + window_row_ids, periods, [I_END, I_START_END] + ) def previous_tour_begins(self, window_row_ids, periods): """ @@ -596,7 +616,9 @@ def previous_tour_begins(self, window_row_ids, periods): indexed by window_row_ids.index """ - return self.window_periods_in_states(window_row_ids, periods, [I_START, I_START_END]) + return self.window_periods_in_states( + window_row_ids, periods, [I_START, I_START_END] + ) def remaining_periods_available(self, window_row_ids, starts, ends): """ @@ -627,7 +649,9 @@ def remaining_periods_available(self, window_row_ids, starts, ends): assert len(window_row_ids) == len(starts) assert len(window_row_ids) == len(ends) - available = (self.slice_windows_by_row_id(window_row_ids) != I_MIDDLE).sum(axis=1) + available = (self.slice_windows_by_row_id(window_row_ids) != I_MIDDLE).sum( + axis=1 + ) # don't count time window padding at both ends of day available -= 2 @@ -663,15 +687,21 @@ def max_time_block_available(self, window_row_ids): available[:, 0] = 0 available[:, -1] = 0 - diffs = np.diff(available) # 1 at start of run of availables, -1 at end, 0 everywhere else - start_row_index, starts = np.asarray(diffs > 0).nonzero() # indices of run starts + diffs = np.diff( + available + ) # 1 at start of run of availables, -1 at end, 0 everywhere else + start_row_index, starts = np.asarray( + diffs > 0 + ).nonzero() # indices of run starts end_row_index, ends = np.asarray(diffs < 0).nonzero() # indices of run ends - assert (start_row_index == end_row_index).all() # because bounded, expect same number of starts and ends + assert ( + start_row_index == end_row_index + ).all() # because bounded, expect same number of starts and ends # run_lengths like availability but with run length at start of every run and zeros elsewhere # (row_indices of starts and ends are aligned, so end - start is run_length) run_lengths = np.zeros_like(available) - run_lengths[start_row_index, starts] = (ends - starts) + run_lengths[start_row_index, starts] = ends - starts # we just want to know the the longest one for each window_row_id max_run_lengths = run_lengths.max(axis=1) diff --git a/activitysim/core/tracing.py b/activitysim/core/tracing.py index 702cdd8522..c81e211790 100644 --- a/activitysim/core/tracing.py +++ b/activitysim/core/tracing.py @@ -1,30 +1,27 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import next -from builtins import range - -import multiprocessing # for process name -import os import logging import logging.config +import multiprocessing # for process name +import os import sys import time -import yaml +from builtins import next, range from collections import OrderedDict import numpy as np import pandas as pd +import yaml from activitysim.core import inject from . import config - # Configurations -ASIM_LOGGER = 'activitysim' -CSV_FILE_TYPE = 'csv' -LOGGING_CONF_FILE_NAME = 'logging.yaml' +ASIM_LOGGER = "activitysim" +CSV_FILE_TYPE = "csv" +LOGGING_CONF_FILE_NAME = "logging.yaml" logger = logging.getLogger(__name__) @@ -36,9 +33,11 @@ def format(self, record): hours, rem = divmod(duration_milliseconds / 1000, 3600) minutes, seconds = divmod(rem, 60) if hours: - record.elapsedTime = ("{:0>2}:{:0>2}:{:05.2f}".format(int(hours), int(minutes), seconds)) + record.elapsedTime = "{:0>2}:{:0>2}:{:05.2f}".format( + int(hours), int(minutes), seconds + ) else: - record.elapsedTime = ("{:0>2}:{:05.2f}".format(int(minutes), seconds)) + record.elapsedTime = "{:0>2}:{:05.2f}".format(int(minutes), seconds) return super(ElapsedTimeFormatter, self).format(record) @@ -75,18 +74,20 @@ def log_runtime(model_name, start_time=None, timing=None): process_name = multiprocessing.current_process().name - if config.setting('multiprocess', False): + if config.setting("multiprocess", False): # when benchmarking, log timing for each processes in its own log - if config.setting('benchmarking', False): + if config.setting("benchmarking", False): header = "component_name,duration" - with config.open_log_file(f'timing_log.{process_name}.csv', 'a', header) as log_file: + with config.open_log_file( + f"timing_log.{process_name}.csv", "a", header + ) as log_file: print(f"{model_name},{timing}", file=log_file) # only continue to log runtime in global timing log for locutor - if not inject.get_injectable('locutor', False): + if not inject.get_injectable("locutor", False): return header = "process_name,model_name,seconds,minutes" - with config.open_log_file('timing_log.csv', 'a', header) as log_file: + with config.open_log_file("timing_log.csv", "a", header) as log_file: print(f"{process_name},{model_name},{seconds},{minutes}", file=log_file) @@ -104,10 +105,10 @@ def delete_output_files(file_type, ignore=None, subdir=None): Nothing """ - output_dir = inject.get_injectable('output_dir') + output_dir = inject.get_injectable("output_dir") subdir = [subdir] if subdir else None - directories = subdir or ['', 'log', 'trace'] + directories = subdir or ["", "log", "trace"] for subdir in directories: @@ -144,12 +145,16 @@ def delete_trace_files(): ------- Nothing """ - delete_output_files(CSV_FILE_TYPE, subdir='trace') - delete_output_files(CSV_FILE_TYPE, subdir='log') + delete_output_files(CSV_FILE_TYPE, subdir="trace") + delete_output_files(CSV_FILE_TYPE, subdir="log") - active_log_files = [h.baseFilename for h in logger.root.handlers if isinstance(h, logging.FileHandler)] + active_log_files = [ + h.baseFilename + for h in logger.root.handlers + if isinstance(h, logging.FileHandler) + ] - delete_output_files('log', ignore=active_log_files) + delete_output_files("log", ignore=active_log_files) def config_logger(basic=False): @@ -167,7 +172,9 @@ def config_logger(basic=False): if basic: log_config_file = None else: - log_config_file = config.config_file_path(LOGGING_CONF_FILE_NAME, mandatory=False) + log_config_file = config.config_file_path( + LOGGING_CONF_FILE_NAME, mandatory=False + ) if log_config_file: try: @@ -178,8 +185,8 @@ def config_logger(basic=False): raise e try: - config_dict = config_dict['logging'] - config_dict.setdefault('version', 1) + config_dict = config_dict["logging"] + config_dict.setdefault("version", 1) logging.config.dictConfig(config_dict) except Exception as e: print(f"Unable to config logging as specified in {log_config_file}") @@ -222,7 +229,9 @@ def print_summary(label, df, describe=False, value_counts=False): if value_counts: n = 10 - logger.info("%s top %s value counts:\n%s" % (label, n, df.value_counts().nlargest(n))) + logger.info( + "%s top %s value counts:\n%s" % (label, n, df.value_counts().nlargest(n)) + ) if describe: logger.info("%s summary:\n%s" % (label, df.describe())) @@ -230,10 +239,12 @@ def print_summary(label, df, describe=False, value_counts=False): def initialize_traceable_tables(): - traceable_table_ids = inject.get_injectable('traceable_table_ids', {}) + traceable_table_ids = inject.get_injectable("traceable_table_ids", {}) if len(traceable_table_ids) > 0: - logger.debug(f"initialize_traceable_tables resetting table_ids for {list(traceable_table_ids.keys())}") - inject.add_injectable('traceable_table_ids', {}) + logger.debug( + f"initialize_traceable_tables resetting table_ids for {list(traceable_table_ids.keys())}" + ) + inject.add_injectable("traceable_table_ids", {}) def register_traceable_table(table_name, df): @@ -254,7 +265,7 @@ def register_traceable_table(table_name, df): logger.debug(f"register_traceable_table {table_name}") - traceable_tables = inject.get_injectable('traceable_tables', []) + traceable_tables = inject.get_injectable("traceable_tables", []) if table_name not in traceable_tables: logger.error("table '%s' not in traceable_tables" % table_name) return @@ -264,19 +275,26 @@ def register_traceable_table(table_name, df): logger.error("Can't register table '%s' without index name" % table_name) return - traceable_table_ids = inject.get_injectable('traceable_table_ids', {}) - traceable_table_indexes = inject.get_injectable('traceable_table_indexes', {}) - - if idx_name in traceable_table_indexes and traceable_table_indexes[idx_name] != table_name: - logger.error("table '%s' index name '%s' already registered for table '%s'" % - (table_name, idx_name, traceable_table_indexes[idx_name])) + traceable_table_ids = inject.get_injectable("traceable_table_ids", {}) + traceable_table_indexes = inject.get_injectable("traceable_table_indexes", {}) + + if ( + idx_name in traceable_table_indexes + and traceable_table_indexes[idx_name] != table_name + ): + logger.error( + "table '%s' index name '%s' already registered for table '%s'" + % (table_name, idx_name, traceable_table_indexes[idx_name]) + ) return # update traceable_table_indexes with this traceable_table's idx_name if idx_name not in traceable_table_indexes: traceable_table_indexes[idx_name] = table_name - logger.debug("adding table %s.%s to traceable_table_indexes" % (table_name, idx_name)) - inject.add_injectable('traceable_table_indexes', traceable_table_indexes) + logger.debug( + "adding table %s.%s to traceable_table_indexes" % (table_name, idx_name) + ) + inject.add_injectable("traceable_table_indexes", traceable_table_indexes) # add any new indexes associated with trace_hh_id to traceable_table_ids @@ -285,12 +303,16 @@ def register_traceable_table(table_name, df): return new_traced_ids = [] - if table_name == 'households': + # if table_name == "households": + if table_name in ["households", "proto_households"]: if trace_hh_id not in df.index: logger.warning("trace_hh_id %s not in dataframe" % trace_hh_id) new_traced_ids = [] else: - logger.info("tracing household id %s in %s households" % (trace_hh_id, len(df.index))) + logger.info( + "tracing household id %s in %s households" + % (trace_hh_id, len(df.index)) + ) new_traced_ids = [trace_hh_id] else: @@ -298,9 +320,11 @@ def register_traceable_table(table_name, df): ref_col = next((c for c in traceable_table_indexes if c in df.columns), None) if ref_col is None: - logger.error("can't find a registered table to slice table '%s' index name '%s'" - " in traceable_table_indexes: %s" % - (table_name, idx_name, traceable_table_indexes)) + logger.error( + "can't find a registered table to slice table '%s' index name '%s'" + " in traceable_table_indexes: %s" + % (table_name, idx_name, traceable_table_indexes) + ) return # get traceable_ids for ref_col table @@ -312,8 +336,10 @@ def register_traceable_table(table_name, df): traced_df = df[df[ref_col].isin(ref_col_traced_ids)] new_traced_ids = traced_df.index.tolist() if len(new_traced_ids) == 0: - logger.warning("register %s: no rows with %s in %s." % - (table_name, ref_col, ref_col_traced_ids)) + logger.warning( + "register %s: no rows with %s in %s." + % (table_name, ref_col, ref_col_traced_ids) + ) # update the list of trace_ids for this table prior_traced_ids = traceable_table_ids.get(table_name, []) @@ -321,15 +347,21 @@ def register_traceable_table(table_name, df): if new_traced_ids: assert not set(prior_traced_ids) & set(new_traced_ids) traceable_table_ids[table_name] = prior_traced_ids + new_traced_ids - inject.add_injectable('traceable_table_ids', traceable_table_ids) + inject.add_injectable("traceable_table_ids", traceable_table_ids) - logger.debug("register %s: added %s new ids to %s existing trace ids" % - (table_name, len(new_traced_ids), len(prior_traced_ids))) - logger.debug("register %s: tracing new ids %s in %s" % - (table_name, new_traced_ids, table_name)) + logger.debug( + "register %s: added %s new ids to %s existing trace ids" + % (table_name, len(new_traced_ids), len(prior_traced_ids)) + ) + logger.debug( + "register %s: tracing new ids %s in %s" + % (table_name, new_traced_ids, table_name) + ) -def write_df_csv(df, file_path, index_label=None, columns=None, column_labels=None, transpose=True): +def write_df_csv( + df, file_path, index_label=None, columns=None, column_labels=None, transpose=True +): need_header = not os.path.isfile(file_path) @@ -338,7 +370,7 @@ def write_df_csv(df, file_path, index_label=None, columns=None, column_labels=No if not transpose: want_index = isinstance(df.index, pd.MultiIndex) or df.index.name is not None - df.to_csv(file_path, mode='a', index=want_index, header=need_header) + df.to_csv(file_path, mode="a", index=want_index, header=need_header) return df_t = df.transpose() if df.index.name in df else df.reset_index().transpose() @@ -351,24 +383,33 @@ def write_df_csv(df, file_path, index_label=None, columns=None, column_labels=No if column_labels is None: column_labels = [None, None] if column_labels[0] is None: - column_labels[0] = 'label' + column_labels[0] = "label" if column_labels[1] is None: - column_labels[1] = 'value' + column_labels[1] = "value" if len(df_t.columns) == len(column_labels) - 1: - column_label_row = ','.join(column_labels) + column_label_row = ",".join(column_labels) else: - column_label_row = \ - column_labels[0] + ',' \ - + ','.join([column_labels[1] + '_' + str(i+1) for i in range(len(df_t.columns))]) + column_label_row = ( + column_labels[0] + + "," + + ",".join( + [ + column_labels[1] + "_" + str(i + 1) + for i in range(len(df_t.columns)) + ] + ) + ) - with open(file_path, mode='a') as f: - f.write(column_label_row + '\n') + with open(file_path, mode="a") as f: + f.write(column_label_row + "\n") - df_t.to_csv(file_path, mode='a', index=True, header=False) + df_t.to_csv(file_path, mode="a", index=True, header=False) -def write_series_csv(series, file_path, index_label=None, columns=None, column_labels=None): +def write_series_csv( + series, file_path, index_label=None, columns=None, column_labels=None +): if isinstance(columns, str): series = series.rename(columns) @@ -380,10 +421,12 @@ def write_series_csv(series, file_path, index_label=None, columns=None, column_l series.index.name = index_label need_header = not os.path.isfile(file_path) - series.to_csv(file_path, mode='a', index=True, header=need_header) + series.to_csv(file_path, mode="a", index=True, header=need_header) -def write_csv(df, file_name, index_label=None, columns=None, column_labels=None, transpose=True): +def write_csv( + df, file_name, index_label=None, columns=None, column_labels=None, transpose=True +): """ Print write_csv @@ -406,12 +449,12 @@ def write_csv(df, file_name, index_label=None, columns=None, column_labels=None, assert len(file_name) > 0 - if not file_name.endswith('.%s' % CSV_FILE_TYPE): - file_name = '%s.%s' % (file_name, CSV_FILE_TYPE) + if not file_name.endswith(".%s" % CSV_FILE_TYPE): + file_name = "%s.%s" % (file_name, CSV_FILE_TYPE) file_path = config.trace_file_path(file_name) - if os.name == 'nt': + if os.name == "nt": abs_path = os.path.abspath(file_path) if len(abs_path) > 255: msg = f"path length ({len(abs_path)}) may exceed Windows maximum length unless LongPathsEnabled: {abs_path}" @@ -422,7 +465,9 @@ def write_csv(df, file_name, index_label=None, columns=None, column_labels=None, if isinstance(df, pd.DataFrame): # logger.debug("dumping %s dataframe to %s" % (df.shape, file_name)) - write_df_csv(df, file_path, index_label, columns, column_labels, transpose=transpose) + write_df_csv( + df, file_path, index_label, columns, column_labels, transpose=transpose + ) elif isinstance(df, pd.Series): # logger.debug("dumping %s element series to %s" % (df.shape[0], file_name)) write_series_csv(df, file_path, index_label, columns, column_labels) @@ -431,8 +476,10 @@ def write_csv(df, file_name, index_label=None, columns=None, column_labels=None, # logger.debug("dumping %s element dict to %s" % (df.shape[0], file_name)) write_series_csv(df, file_path, index_label, columns, column_labels) else: - logger.error("write_csv object for file_name '%s' of unexpected type: %s" % - (file_name, type(df))) + logger.error( + "write_csv object for file_name '%s' of unexpected type: %s" + % (file_name, type(df)) + ) def slice_ids(df, ids, column=None): @@ -494,7 +541,7 @@ def get_trace_target(df, slicer, column=None): target_ids = None # id or ids to slice by (e.g. hh_id or person_ids or tour_ids) # special do-not-slice code for dumping entire df - if slicer == 'NONE': + if slicer == "NONE": return target_ids, column if slicer is None: @@ -502,16 +549,18 @@ def get_trace_target(df, slicer, column=None): if isinstance(df, pd.DataFrame): # always slice by household id if we can - if 'household_id' in df.columns: - slicer = 'household_id' + if "household_id" in df.columns: + slicer = "household_id" if slicer in df.columns: column = slicer if column is None and df.index.name != slicer: - raise RuntimeError("bad slicer '%s' for df with index '%s'" % (slicer, df.index.name)) + raise RuntimeError( + "bad slicer '%s' for df with index '%s'" % (slicer, df.index.name) + ) - traceable_table_indexes = inject.get_injectable('traceable_table_indexes', {}) - traceable_table_ids = inject.get_injectable('traceable_table_ids', {}) + traceable_table_indexes = inject.get_injectable("traceable_table_indexes", {}) + traceable_table_ids = inject.get_injectable("traceable_table_ids", {}) if df.empty: target_ids = None @@ -519,8 +568,8 @@ def get_trace_target(df, slicer, column=None): # maps 'person_id' to 'persons', etc table_name = traceable_table_indexes[slicer] target_ids = traceable_table_ids.get(table_name, []) - elif slicer == 'zone_id': - target_ids = inject.get_injectable('trace_od', []) + elif slicer == "zone_id": + target_ids = inject.get_injectable("trace_od", []) return target_ids, column @@ -571,10 +620,10 @@ def hh_id_for_chooser(id, choosers): scalar household_id or series of household_ids """ - if choosers.index.name == 'household_id': + if choosers.index.name == "household_id": hh_id = id - elif 'household_id' in choosers.columns: - hh_id = choosers.loc[id]['household_id'] + elif "household_id" in choosers.columns: + hh_id = choosers.loc[id]["household_id"] else: print(": hh_id_for_chooser: nada:\n%s" % choosers.columns) hh_id = None @@ -596,7 +645,7 @@ def trace_id_for_chooser(id, choosers): """ hh_id = None - for column_name in ['household_id', 'person_id']: + for column_name in ["household_id", "person_id"]: if choosers.index.name == column_name: hh_id = id break @@ -612,12 +661,22 @@ def trace_id_for_chooser(id, choosers): def dump_df(dump_switch, df, trace_label, fname): if dump_switch: - trace_label = extend_trace_label(trace_label, 'DUMP.%s' % fname) - trace_df(df, trace_label, index_label=df.index.name, slicer='NONE', transpose=False) - - -def trace_df(df, label, slicer=None, columns=None, - index_label=None, column_labels=None, transpose=True, warn_if_empty=False): + trace_label = extend_trace_label(trace_label, "DUMP.%s" % fname) + trace_df( + df, trace_label, index_label=df.index.name, slicer="NONE", transpose=False + ) + + +def trace_df( + df, + label, + slicer=None, + columns=None, + index_label=None, + column_labels=None, + transpose=True, + warn_if_empty=False, +): """ Slice dataframe by traced household or person id dataframe and write to CSV @@ -652,12 +711,20 @@ def trace_df(df, label, slicer=None, columns=None, if warn_if_empty and df.shape[0] == 0 and target_ids != []: column_name = column or slicer - logger.warning("slice_canonically: no rows in %s with %s == %s" - % (label, column_name, target_ids)) + logger.warning( + "slice_canonically: no rows in %s with %s == %s" + % (label, column_name, target_ids) + ) if df.shape[0] > 0: - write_csv(df, file_name=label, index_label=(index_label or slicer), columns=columns, - column_labels=column_labels, transpose=transpose) + write_csv( + df, + file_name=label, + index_label=(index_label or slicer), + columns=columns, + column_labels=column_labels, + transpose=transpose, + ) def interaction_trace_rows(interaction_df, choosers, sample_size=None): @@ -687,21 +754,40 @@ def interaction_trace_rows(interaction_df, choosers, sample_size=None): # slicer column name and id targets to use for chooser id added to model_design dataframe # currently we only ever slice by person_id, but that could change, so we check here... - traceable_table_ids = inject.get_injectable('traceable_table_ids', {}) + traceable_table_ids = inject.get_injectable("traceable_table_ids", {}) - if choosers.index.name == 'person_id' and 'persons' in traceable_table_ids: + # Determine whether actual tables or proto_ tables for disaggregate accessibilities + persons_table_name = set(traceable_table_ids).intersection( + ["persons", "proto_persons"] + ) + households_table_name = set(traceable_table_ids).intersection( + ["households", "proto_households"] + ) + + assert len(persons_table_name) == 1 and len(persons_table_name) == 1 + persons_table_name, households_table_name = ( + persons_table_name.pop(), + households_table_name.pop(), + ) + + if choosers.index.name == "person_id" and persons_table_name in traceable_table_ids: slicer_column_name = choosers.index.name - targets = traceable_table_ids['persons'] - elif 'household_id' in choosers.columns and 'households' in traceable_table_ids: - slicer_column_name = 'household_id' - targets = traceable_table_ids['households'] - elif 'person_id' in choosers.columns and 'persons' in traceable_table_ids: - slicer_column_name = 'person_id' - targets = traceable_table_ids['persons'] + targets = traceable_table_ids[persons_table_name] + elif ( + "household_id" in choosers.columns + and households_table_name in traceable_table_ids + ): + slicer_column_name = "household_id" + targets = traceable_table_ids[households_table_name] + elif "person_id" in choosers.columns and persons_table_name in traceable_table_ids: + slicer_column_name = "person_id" + targets = traceable_table_ids[persons_table_name] else: print(choosers.columns) - raise RuntimeError("interaction_trace_rows don't know how to slice index '%s'" - % choosers.index.name) + raise RuntimeError( + "interaction_trace_rows don't know how to slice index '%s'" + % choosers.index.name + ) if sample_size is None: # if sample size not constant, we count on either @@ -720,11 +806,11 @@ def interaction_trace_rows(interaction_df, choosers, sample_size=None): if slicer_column_name == choosers.index.name: trace_rows = np.in1d(choosers.index, targets) trace_ids = np.asanyarray(choosers[trace_rows].index) - elif slicer_column_name == 'person_id': - trace_rows = np.in1d(choosers['person_id'], targets) + elif slicer_column_name == "person_id": + trace_rows = np.in1d(choosers["person_id"], targets) trace_ids = np.asanyarray(choosers[trace_rows].person_id) - elif slicer_column_name == 'household_id': - trace_rows = np.in1d(choosers['household_id'], targets) + elif slicer_column_name == "household_id": + trace_rows = np.in1d(choosers["household_id"], targets) trace_ids = np.asanyarray(choosers[trace_rows].household_id) else: assert False @@ -773,7 +859,7 @@ def trace_interaction_eval_results(trace_results, trace_ids, label): return # write out the raw dataframe - file_path = config.trace_file_path('%s.raw.csv' % label) + file_path = config.trace_file_path("%s.raw.csv" % label) trace_results.to_csv(file_path, mode="a", index=True, header=True) # if there are multiple targets, we want them in separate tables for readability @@ -787,14 +873,16 @@ def trace_interaction_eval_results(trace_results, trace_ids, label): # # remove the slicer (person_id or hh_id) column? # del df_target[slicer_column_name] - target_label = '%s.%s.%s' % (label, slicer_column_name, target) + target_label = "%s.%s.%s" % (label, slicer_column_name, target) - trace_df(df_target, - label=target_label, - slicer="NONE", - transpose=True, - column_labels=['expression', None], - warn_if_empty=False) + trace_df( + df_target, + label=target_label, + slicer="NONE", + transpose=True, + column_labels=["expression", None], + warn_if_empty=False, + ) def no_results(trace_label): @@ -818,20 +906,22 @@ def deregister_traceable_table(table_name): ------- Nothing """ - traceable_tables = inject.get_injectable('traceable_tables', []) - traceable_table_ids = inject.get_injectable('traceable_table_ids', {}) - traceable_table_indexes = inject.get_injectable('traceable_table_indexes', {}) + traceable_tables = inject.get_injectable("traceable_tables", []) + traceable_table_ids = inject.get_injectable("traceable_table_ids", {}) + traceable_table_indexes = inject.get_injectable("traceable_table_indexes", {}) if table_name not in traceable_tables: logger.error("table '%s' not in traceable_tables" % table_name) else: traceable_table_ids = { - k: v for k, v in traceable_table_ids.items() if k != table_name} - traceable_table_indexes = OrderedDict({ - k: v for k, v in traceable_table_indexes.items() if v != table_name}) - - inject.add_injectable('traceable_table_ids', traceable_table_ids) - inject.add_injectable('traceable_table_indexes', traceable_table_indexes) + k: v for k, v in traceable_table_ids.items() if k != table_name + } + traceable_table_indexes = OrderedDict( + {k: v for k, v in traceable_table_indexes.items() if v != table_name} + ) + + inject.add_injectable("traceable_table_ids", traceable_table_ids) + inject.add_injectable("traceable_table_indexes", traceable_table_indexes) return diff --git a/activitysim/core/util.py b/activitysim/core/util.py index 1351023f37..c7030bc86f 100644 --- a/activitysim/core/util.py +++ b/activitysim/core/util.py @@ -1,28 +1,30 @@ # ActivitySim # See full license in LICENSE.txt. -from builtins import zip import logging import os - +import argparse +from builtins import zip from operator import itemgetter -import numpy as np -import pandas as pd - import cytoolz as tz import cytoolz.curried +import numpy as np +import pandas as pd +import itertools +import yaml +import collections logger = logging.getLogger(__name__) -def si_units(x, kind='B', digits=3, shift=1000): +def si_units(x, kind="B", digits=3, shift=1000): # nano micro milli kilo mega giga tera peta exa zeta yotta - tiers = ['n', 'µ', 'm', '', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'] + tiers = ["n", "µ", "m", "", "K", "M", "G", "T", "P", "E", "Z", "Y"] tier = 3 - sign = '-' if x < 0 else '' + sign = "-" if x < 0 else "" x = abs(x) if x > 0: while x > shift and tier < len(tiers): @@ -35,18 +37,18 @@ def si_units(x, kind='B', digits=3, shift=1000): def GB(bytes): - return si_units(bytes, kind='B', digits=1) + return si_units(bytes, kind="B", digits=1) def SEC(seconds): - return si_units(seconds, kind='s', digits=2) + return si_units(seconds, kind="s", digits=2) def INT(x): # format int as camel case (e.g. 1000000 vecomes '1_000_000') negative = x < 0 x = abs(int(x)) - result = '' + result = "" while x >= 1000: x, r = divmod(x, 1000) result = "_%03d%s" % (r, result) @@ -123,12 +125,12 @@ def left_merge_on_index_and_col(left_df, right_df, join_col, target_col): idx_col = right_df.index.name # SELECT target_col FROM full_sample LEFT JOIN unique_sample on idx_col, join_col - merged = \ - pd.merge( - left_df[[join_col]].reset_index(), - right_df[[join_col, target_col]].reset_index(), - on=[idx_col, join_col], - how="left") + merged = pd.merge( + left_df[[join_col]].reset_index(), + right_df[[join_col, target_col]].reset_index(), + on=[idx_col, join_col], + how="left", + ) merged.set_index(idx_col, inplace=True) @@ -171,11 +173,13 @@ def reindex(series1, series2): """ # turns out the merge is much faster than the .loc below - df = pd.merge(series2.to_frame(name='left'), - series1.to_frame(name='right'), - left_on="left", - right_index=True, - how="left") + df = pd.merge( + series2.to_frame(name="left"), + series1.to_frame(name="right"), + left_on="left", + right_index=True, + how="left", + ) return df.right # return pd.Series(series1.loc[series2.values].values, index=series2.index) @@ -213,14 +217,19 @@ def other_than(groups, bools): """ counts = groups[bools].value_counts() - merge_col = groups.to_frame(name='right') + merge_col = groups.to_frame(name="right") pipeline = tz.compose( tz.curry(pd.Series.fillna, value=False), - itemgetter('left'), + itemgetter("left"), tz.curry( - pd.DataFrame.merge, right=merge_col, how='right', left_index=True, - right_on='right'), - tz.curry(pd.Series.to_frame, name='left')) + pd.DataFrame.merge, + right=merge_col, + how="right", + left_index=True, + right_on="right", + ), + tz.curry(pd.Series.to_frame, name="left"), + ) gt0 = pipeline(counts > 0) gt1 = pipeline(counts > 1) @@ -283,13 +292,17 @@ def quick_loc_series(loc_list, target_series): elif isinstance(loc_list, np.ndarray) or isinstance(loc_list, list): left_df = pd.DataFrame({left_on: loc_list}) else: - raise RuntimeError("quick_loc_series loc_list of unexpected type %s" % type(loc_list)) - - df = pd.merge(left_df, - target_series.to_frame(name='right'), - left_on=left_on, - right_index=True, - how="left") + raise RuntimeError( + "quick_loc_series loc_list of unexpected type %s" % type(loc_list) + ) + + df = pd.merge( + left_df, + target_series.to_frame(name="right"), + left_on=left_on, + right_index=True, + how="left", + ) # regression test # assert list(df.right) == list(target_series.loc[loc_list]) @@ -313,7 +326,7 @@ def assign_in_place(df, df2): """ # expect no rows in df2 that are not in df - assert (len(df2.index.difference(df.index)) == 0) + assert len(df2.index.difference(df.index)) == 0 # update common columns in place common_columns = df2.columns.intersection(df.columns) @@ -331,18 +344,24 @@ def assign_in_place(df, df2): try: df[c] = df[c].astype(old_dtype) except ValueError: - logger.warning("assign_in_place changed dtype %s of column %s to %s" % - (old_dtype, c, df[c].dtype)) + logger.warning( + "assign_in_place changed dtype %s of column %s to %s" + % (old_dtype, c, df[c].dtype) + ) # if both df and df2 column were ints, but result is not - if np.issubdtype(old_dtype, np.integer) \ - and np.issubdtype(df2[c].dtype, np.integer) \ - and not np.issubdtype(df[c].dtype, np.integer): + if ( + np.issubdtype(old_dtype, np.integer) + and np.issubdtype(df2[c].dtype, np.integer) + and not np.issubdtype(df[c].dtype, np.integer) + ): try: df[c] = df[c].astype(old_dtype) except ValueError: - logger.warning("assign_in_place changed dtype %s of column %s to %s" % - (old_dtype, c, df[c].dtype)) + logger.warning( + "assign_in_place changed dtype %s of column %s to %s" + % (old_dtype, c, df[c].dtype) + ) # add new columns (in order they appear in df2) new_columns = [c for c in df2.columns if c not in df.columns] @@ -363,3 +382,92 @@ def df_from_dict(values, index=None): # del values[c] return df + + +# for disaggregate accessibilities + + +def ordered_load( + stream, Loader=yaml.SafeLoader, object_pairs_hook=collections.OrderedDict +): + class OrderedLoader(Loader): + pass + + def construct_mapping(loader, node): + loader.flatten_mapping(node) + return object_pairs_hook(loader.construct_pairs(node)) + + OrderedLoader.add_constructor( + yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, construct_mapping + ) + return yaml.load(stream, OrderedLoader) + + +def named_product(**d): + names = d.keys() + vals = d.values() + for res in itertools.product(*vals): + yield dict(zip(names, res)) + + +def recursive_replace(obj, search, replace): + if isinstance(obj, dict): + for k, v in obj.items(): + obj[k] = recursive_replace(v, search, replace) + if isinstance(obj, list): + obj = [replace if x == search else x for x in obj] + if search == obj: + obj = replace + return obj + + +def suffix_tables_in_settings( + model_settings, + suffix="proto_", + tables=["persons", "households", "tours", "persons_merged"], +): + for k in tables: + model_settings = recursive_replace(model_settings, k, suffix + k) + return model_settings + + +def suffix_expressions_df_str( + df, suffix="proto_", tables=["persons", "households", "tours", "persons_merged"] +): + for k in tables: + df["expression"] = df.expression.str.replace(k, suffix + k) + return df + + +def parse_suffix_args(args): + parser = argparse.ArgumentParser() + parser.add_argument("filename", help="file name") + parser.add_argument("-s", "--SUFFIX", "-s", help="suffix to replace root targets") + parser.add_argument( + "-r", "--ROOTS", nargs="*", help="roots be suffixed", default=[] + ) + return parser.parse_args(args.split()) + + +def concat_suffix_dict(args): + if isinstance(args, dict): + args = sum([["--" + k, v] for k, v in args.items()], []) + if isinstance(args, list): + args = list(flatten(args)) + return args + + +def flatten(lst): + for sublist in lst: + if isinstance(sublist, list): + for item in sublist: + yield item + else: + yield sublist + + +def nearest_node_index(node, nodes): + nodes = np.asarray(nodes) + deltas = nodes - node + dist_2 = np.einsum("ij,ij->i", deltas, deltas) + return np.argmin(dist_2) diff --git a/activitysim/estimation/larch/auto_ownership.py b/activitysim/estimation/larch/auto_ownership.py index cec449db4b..b008683bec 100644 --- a/activitysim/estimation/larch/auto_ownership.py +++ b/activitysim/estimation/larch/auto_ownership.py @@ -1,18 +1,18 @@ import os +from typing import Collection + import numpy as np import pandas as pd import yaml -from typing import Collection +from larch import DataFrames, Model, P, X from larch.util import Dict -from .simple_simulate import simple_simulate_data - from .general import ( - remove_apostrophes, apply_coefficients, dict_of_linear_utility_from_spec, + remove_apostrophes, ) -from larch import Model, DataFrames, P, X +from .simple_simulate import simple_simulate_data def auto_ownership_model( @@ -21,7 +21,9 @@ def auto_ownership_model( return_data=False, ): data = simple_simulate_data( - name=name, edb_directory=edb_directory, values_index_col="household_id", + name=name, + edb_directory=edb_directory, + values_index_col="household_id", ) coefficients = data.coefficients # coef_template = data.coef_template # not used @@ -45,12 +47,19 @@ def auto_ownership_model( m.initialize_graph(alternative_codes=altcodes, root_id=99) m.utility_co = dict_of_linear_utility_from_spec( - spec, "Label", dict(zip(altnames, altcodes)), + spec, + "Label", + dict(zip(altnames, altcodes)), ) apply_coefficients(coefficients, m) - d = DataFrames(co=chooser_data, av=True, alt_codes=altcodes, alt_names=altnames,) + d = DataFrames( + co=chooser_data, + av=True, + alt_codes=altcodes, + alt_names=altnames, + ) m.dataservice = d m.choice_co_code = "override_choice" diff --git a/activitysim/estimation/larch/cdap.py b/activitysim/estimation/larch/cdap.py index c3b4a22186..fdb801de03 100644 --- a/activitysim/estimation/larch/cdap.py +++ b/activitysim/estimation/larch/cdap.py @@ -1,22 +1,22 @@ -import numpy as np -import pandas as pd -import re +import importlib import itertools -from larch import P, X, DataFrames, Model -from larch.model.model_group import ModelGroup -from larch.util import Dict -import larch +import logging import os +import re +from pathlib import Path + +import larch +import numpy as np +import pandas as pd import yaml -import importlib -import logging +from larch import DataFrames, Model, P, X from larch.log import logger_name -from pathlib import Path +from larch.model.model_group import ModelGroup +from larch.util import Dict from ...abm.models.util import cdap from .general import apply_coefficients, explicit_value_parameters - _logger = logging.getLogger(logger_name) @@ -63,7 +63,7 @@ def apply_replacements(expression, prefix, tokens): The modified expression """ for i in tokens: - expression = re.sub(fr"\b{i}\b", f"{prefix}_{i}", expression) + expression = re.sub(rf"\b{i}\b", f"{prefix}_{i}", expression) return expression @@ -322,14 +322,16 @@ def read_yaml(filename, **kwargs): except FileNotFoundError: persons = pd.read_csv(persons_file) - person_type_map = settings.get('PERSON_TYPE_MAP') + person_type_map = settings.get("PERSON_TYPE_MAP") if person_type_map is None: raise KeyError("PERSON_TYPE_MAP missing from cdap_settings.yaml") person_rank = cdap.assign_cdap_rank(persons, person_type_map) coefficients = read_csv( - coefficients_file, index_col="coefficient_name", comment="#", + coefficients_file, + index_col="coefficient_name", + comment="#", ) interaction_coef = read_csv( diff --git a/activitysim/estimation/larch/general.py b/activitysim/estimation/larch/general.py index 8c0c294f82..1844d5964f 100644 --- a/activitysim/estimation/larch/general.py +++ b/activitysim/estimation/larch/general.py @@ -1,18 +1,18 @@ +import itertools +import logging +import os +import re +from pathlib import Path +from typing import Mapping + import numpy as np import pandas as pd -import re -import os import yaml -import itertools -from typing import Mapping -from larch import P, X, DataFrames, Model +from larch import DataFrames, Model, P, X +from larch.log import logger_name from larch.model.abstract_model import AbstractChoiceModel from larch.model.tree import NestingTree from larch.util import Dict -from pathlib import Path - -import logging -from larch.log import logger_name _logger = logging.getLogger(logger_name) @@ -48,7 +48,7 @@ def cv_to_ca(alt_values, dtype="float64", required_labels=None): x_ca_tall = alt_values.stack() # Set the last level index name to 'altid' - x_ca_tall.index.rename("altid", -1, inplace=True) + x_ca_tall.index.rename("altid", level=-1, inplace=True) c_, v_, a_ = x_ca_tall.index.names # case and alt id's should be integers. @@ -143,7 +143,10 @@ def linear_utility_from_spec(spec, x_col, p_col, ignore_x=(), segment_id=None): partial_utility = {} for seg_p_col, segval in p_col.items(): partial_utility[seg_p_col] = linear_utility_from_spec( - spec, x_col, seg_p_col, ignore_x, + spec, + x_col, + seg_p_col, + ignore_x, ) * X(f"{segment_id}=={str_repr(segval)}") return sum(partial_utility.values()) parts = [] @@ -263,7 +266,9 @@ def explicit_value_parameters_from_spec(spec, p_col, model): pass else: model.set_value( - getattr(i, p_col), value=j, holdfast=True, + getattr(i, p_col), + value=j, + holdfast=True, ) @@ -318,14 +323,17 @@ def apply_coefficients(coefficients, model, minimum=None, maximum=None): assert "value" in coefficients.columns if "constrain" not in coefficients.columns: import warnings - warnings.warn("coefficient dataframe missing 'constrain' column, setting all to 'F'") + + warnings.warn( + "coefficient dataframe missing 'constrain' column, setting all to 'F'" + ) coefficients["constrain"] = "F" assert coefficients.index.name == "coefficient_name" assert isinstance(model, AbstractChoiceModel) explicit_value_parameters(model) for i in coefficients.itertuples(): if i.Index in model: - holdfast = (i.constrain == "T") + holdfast = i.constrain == "T" if holdfast: minimum_ = i.value maximum_ = i.value @@ -482,7 +490,7 @@ def clean_values( return values -def update_coefficients(model, data, result_dir=Path('.'), output_file=None): +def update_coefficients(model, data, result_dir=Path("."), output_file=None): if isinstance(data, pd.DataFrame): coefficients = data.copy() else: @@ -492,7 +500,7 @@ def update_coefficients(model, data, result_dir=Path('.'), output_file=None): if output_file is not None: os.makedirs(result_dir, exist_ok=True) coefficients.reset_index().to_csv( - result_dir/output_file, + result_dir / output_file, index=False, ) return coefficients diff --git a/activitysim/estimation/larch/location_choice.py b/activitysim/estimation/larch/location_choice.py index e842105b41..74a426e714 100644 --- a/activitysim/estimation/larch/location_choice.py +++ b/activitysim/estimation/larch/location_choice.py @@ -1,21 +1,22 @@ import os +from pathlib import Path +from typing import Collection + import numpy as np import pandas as pd import yaml -from typing import Collection +from larch import DataFrames, Model, P, X from larch.util import Dict -from pathlib import Path from .general import ( - remove_apostrophes, - construct_nesting_tree, - linear_utility_from_spec, - explicit_value_parameters, apply_coefficients, + construct_nesting_tree, cv_to_ca, + explicit_value_parameters, + linear_utility_from_spec, + remove_apostrophes, str_repr, ) -from larch import Model, DataFrames, P, X def size_coefficients_from_spec(size_spec): @@ -48,15 +49,18 @@ def location_choice_model( model_selector = model_selector.replace("_destination", "") model_selector = model_selector.replace("_subtour", "") model_selector = model_selector.replace("_tour", "") - if model_selector == 'joint': - model_selector = 'non_mandatory' + if model_selector == "joint": + model_selector = "non_mandatory" edb_directory = edb_directory.format(name=name) def _read_csv(filename, **kwargs): filename = filename.format(name=name) return pd.read_csv(os.path.join(edb_directory, filename), **kwargs) - coefficients = _read_csv(coefficients_file, index_col="coefficient_name",) + coefficients = _read_csv( + coefficients_file, + index_col="coefficient_name", + ) spec = _read_csv(spec_file, comment="#") alt_values = _read_csv(alt_values_file) chooser_data = _read_csv(chooser_file) @@ -70,14 +74,20 @@ def _read_csv(filename, **kwargs): settings_file = settings_file.format(name=name) with open(os.path.join(edb_directory, settings_file), "r") as yf: - settings = yaml.load(yf, Loader=yaml.SafeLoader,) + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) include_settings = settings.get("include_settings") if include_settings: include_settings = os.path.join(edb_directory, include_settings) if include_settings and os.path.exists(include_settings): with open(include_settings, "r") as yf: - more_settings = yaml.load(yf, Loader=yaml.SafeLoader, ) + more_settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) settings.update(more_settings) CHOOSER_SEGMENT_COLUMN_NAME = settings.get("CHOOSER_SEGMENT_COLUMN_NAME") @@ -87,7 +97,7 @@ def _read_csv(filename, **kwargs): if SEGMENTS is not None: SEGMENT_IDS = {i: i for i in SEGMENTS} - SIZE_TERM_SELECTOR = settings.get('SIZE_TERM_SELECTOR', model_selector) + SIZE_TERM_SELECTOR = settings.get("SIZE_TERM_SELECTOR", model_selector) # filter size spec for this location choice only size_spec = ( @@ -100,41 +110,39 @@ def _read_csv(filename, **kwargs): size_coef = size_coefficients_from_spec(size_spec) indexes_to_drop = [ - "util_size_variable", # pre-computed size (will be re-estimated) - "util_size_variable_atwork", # pre-computed size (will be re-estimated) - "util_utility_adjustment", # shadow pricing (ignored in estimation) - "@df['size_term'].apply(np.log1p)", # pre-computed size (will be re-estimated) + "util_size_variable", # pre-computed size (will be re-estimated) + "util_size_variable_atwork", # pre-computed size (will be re-estimated) + "util_utility_adjustment", # shadow pricing (ignored in estimation) + "@df['size_term'].apply(np.log1p)", # pre-computed size (will be re-estimated) ] - if 'Label' in spec.columns: + if "Label" in spec.columns: indexes_to_drop = [i for i in indexes_to_drop if i in spec.Label.to_numpy()] - label_column_name = 'Label' - elif 'Expression' in spec.columns: - indexes_to_drop = [i for i in indexes_to_drop if i in spec.Expression.to_numpy()] - label_column_name = 'Expression' + label_column_name = "Label" + elif "Expression" in spec.columns: + indexes_to_drop = [ + i for i in indexes_to_drop if i in spec.Expression.to_numpy() + ] + label_column_name = "Expression" else: raise ValueError("cannot find Label or Expression in spec file") expression_labels = None - if label_column_name == 'Expression': + if label_column_name == "Expression": expression_labels = { expr: f"variable_label{n:04d}" for n, expr in enumerate(spec.Expression.to_numpy()) } # Remove shadow pricing and pre-existing size expression for re-estimation - spec = ( - spec.set_index(label_column_name) - .drop(index=indexes_to_drop) - .reset_index() - ) + spec = spec.set_index(label_column_name).drop(index=indexes_to_drop).reset_index() - if label_column_name == 'Expression': - spec.insert(0, "Label", spec['Expression'].map(expression_labels)) - alt_values['variable'] = alt_values['variable'].map(expression_labels) + if label_column_name == "Expression": + spec.insert(0, "Label", spec["Expression"].map(expression_labels)) + alt_values["variable"] = alt_values["variable"].map(expression_labels) label_column_name = "Label" - if name == 'trip_destination': - CHOOSER_SEGMENT_COLUMN_NAME = 'primary_purpose' + if name == "trip_destination": + CHOOSER_SEGMENT_COLUMN_NAME = "primary_purpose" primary_purposes = spec.columns[3:] SEGMENT_IDS = {pp: pp for pp in primary_purposes} @@ -181,30 +189,54 @@ def _read_csv(filename, **kwargs): except KeyError: # Missing the zone_id variable? # Use the alternative id's instead, which assumes no sampling of alternatives - x_ca_1 = pd.merge(x_ca, landuse, left_on=x_ca.index.get_level_values(1), right_index=True, how="left") + x_ca_1 = pd.merge( + x_ca, + landuse, + left_on=x_ca.index.get_level_values(1), + right_index=True, + how="left", + ) x_ca_1.index = x_ca.index # Availability of choice zones if "util_no_attractions" in x_ca_1: - av = x_ca_1["util_no_attractions"].apply(lambda x: False if x == 1 else True).astype(np.int8) + av = ( + x_ca_1["util_no_attractions"] + .apply(lambda x: False if x == 1 else True) + .astype(np.int8) + ) elif "@df['size_term']==0" in x_ca_1: - av = x_ca_1["@df['size_term']==0"].apply(lambda x: False if x == 1 else True).astype(np.int8) + av = ( + x_ca_1["@df['size_term']==0"] + .apply(lambda x: False if x == 1 else True) + .astype(np.int8) + ) else: av = 1 d = DataFrames(co=x_co, ca=x_ca_1, av=av) m = Model(dataservice=d) - if len(spec.columns) == 4 and all(spec.columns == ['Label', 'Description', 'Expression', 'coefficient']): + if len(spec.columns) == 4 and all( + spec.columns == ["Label", "Description", "Expression", "coefficient"] + ): m.utility_ca = linear_utility_from_spec( - spec, x_col="Label", p_col=spec.columns[-1], ignore_x=("local_dist",), + spec, + x_col="Label", + p_col=spec.columns[-1], + ignore_x=("local_dist",), ) - elif len(spec.columns) == 4 \ - and all(spec.columns[:3] == ['Label', 'Description', 'Expression']) \ - and len(SEGMENT_IDS) == 1 \ - and spec.columns[3] == list(SEGMENT_IDS.values())[0]: + elif ( + len(spec.columns) == 4 + and all(spec.columns[:3] == ["Label", "Description", "Expression"]) + and len(SEGMENT_IDS) == 1 + and spec.columns[3] == list(SEGMENT_IDS.values())[0] + ): m.utility_ca = linear_utility_from_spec( - spec, x_col="Label", p_col=spec.columns[-1], ignore_x=("local_dist",), + spec, + x_col="Label", + p_col=spec.columns[-1], + ignore_x=("local_dist",), ) else: m.utility_ca = linear_utility_from_spec( @@ -225,7 +257,9 @@ def _read_csv(filename, **kwargs): ) else: m.quantity_ca = sum( - P(f"{i}_{q}") * X(q) * X(f"{CHOOSER_SEGMENT_COLUMN_NAME}=={str_repr(SEGMENT_IDS[i])}") + P(f"{i}_{q}") + * X(q) + * X(f"{CHOOSER_SEGMENT_COLUMN_NAME}=={str_repr(SEGMENT_IDS[i])}") for i in size_spec.index for q in size_spec.columns if size_spec.loc[i, q] != 0 @@ -256,7 +290,7 @@ def _read_csv(filename, **kwargs): return m -def update_size_spec(model, data, result_dir=Path('.'), output_file=None): +def update_size_spec(model, data, result_dir=Path("."), output_file=None): master_size_spec = data.master_size_spec size_spec = data.size_spec model_selector = data.model_selector @@ -265,7 +299,9 @@ def update_size_spec(model, data, result_dir=Path('.'), output_file=None): for c in size_spec.columns: for i in size_spec.index: param_name = f"{i}_{c}" - j = (master_size_spec['segment'] == i) & (master_size_spec['model_selector'] == model_selector) + j = (master_size_spec["segment"] == i) & ( + master_size_spec["model_selector"] == model_selector + ) try: master_size_spec.loc[j, c] = np.exp(model.get_value(param_name)) except KeyError: @@ -273,14 +309,14 @@ def update_size_spec(model, data, result_dir=Path('.'), output_file=None): # Rescale each row to total 1, not mathematically needed # but to maintain a consistent approach from existing ASim - master_size_spec.iloc[:, 2:] = ( - master_size_spec.iloc[:, 2:].div(master_size_spec.iloc[:, 2:].sum(1), axis=0) + master_size_spec.iloc[:, 2:] = master_size_spec.iloc[:, 2:].div( + master_size_spec.iloc[:, 2:].sum(1), axis=0 ) if output_file is not None: os.makedirs(result_dir, exist_ok=True) master_size_spec.reset_index().to_csv( - result_dir/output_file, + result_dir / output_file, index=False, ) @@ -288,7 +324,7 @@ def update_size_spec(model, data, result_dir=Path('.'), output_file=None): def workplace_location_model(**kwargs): - unused = kwargs.pop('name', None) + unused = kwargs.pop("name", None) return location_choice_model( name="workplace_location", **kwargs, @@ -296,7 +332,7 @@ def workplace_location_model(**kwargs): def school_location_model(**kwargs): - unused = kwargs.pop('name', None) + unused = kwargs.pop("name", None) return location_choice_model( name="school_location", **kwargs, @@ -304,7 +340,7 @@ def school_location_model(**kwargs): def atwork_subtour_destination_model(**kwargs): - unused = kwargs.pop('name', None) + unused = kwargs.pop("name", None) return location_choice_model( name="atwork_subtour_destination", **kwargs, @@ -313,9 +349,9 @@ def atwork_subtour_destination_model(**kwargs): def joint_tour_destination_model(**kwargs): # goes with non_mandatory_tour_destination - unused = kwargs.pop('name', None) - if 'coefficients_file' not in kwargs: - kwargs['coefficients_file'] = "non_mandatory_tour_destination_coefficients.csv" + unused = kwargs.pop("name", None) + if "coefficients_file" not in kwargs: + kwargs["coefficients_file"] = "non_mandatory_tour_destination_coefficients.csv" return location_choice_model( name="joint_tour_destination", **kwargs, @@ -324,7 +360,7 @@ def joint_tour_destination_model(**kwargs): def non_mandatory_tour_destination_model(**kwargs): # goes with joint_tour_destination - unused = kwargs.pop('name', None) + unused = kwargs.pop("name", None) return location_choice_model( name="non_mandatory_tour_destination", **kwargs, @@ -332,7 +368,7 @@ def non_mandatory_tour_destination_model(**kwargs): def trip_destination_model(**kwargs): - unused = kwargs.pop('name', None) + unused = kwargs.pop("name", None) return location_choice_model( name="trip_destination", **kwargs, diff --git a/activitysim/estimation/larch/mode_choice.py b/activitysim/estimation/larch/mode_choice.py index 80761308c1..a790075e14 100644 --- a/activitysim/estimation/larch/mode_choice.py +++ b/activitysim/estimation/larch/mode_choice.py @@ -1,28 +1,29 @@ import os +from pathlib import Path +from typing import Collection + import numpy as np import pandas as pd import yaml -from typing import Collection +from larch import DataFrames, Model, P, X from larch.util import Dict -from pathlib import Path from .general import ( - remove_apostrophes, - construct_nesting_tree, - linear_utility_from_spec, - explicit_value_parameters, apply_coefficients, clean_values, + construct_nesting_tree, + explicit_value_parameters, + linear_utility_from_spec, + remove_apostrophes, ) -from .simple_simulate import simple_simulate_data, construct_availability -from larch import Model, DataFrames, P, X +from .simple_simulate import construct_availability, simple_simulate_data def mode_choice_model( - name, - edb_directory="output/estimation_data_bundle/{name}/", - return_data=False, - override_filenames=None, + name, + edb_directory="output/estimation_data_bundle/{name}/", + return_data=False, + override_filenames=None, ): if override_filenames is None: override_filenames = {} @@ -48,16 +49,19 @@ def mode_choice_model( purposes = list(coef_template.columns) if "atwork" in name: - purposes = ['atwork'] - elif 'atwork' in purposes: - purposes.remove('atwork') + purposes = ["atwork"] + elif "atwork" in purposes: + purposes.remove("atwork") # Setup purpose specific models m = {purpose: Model(graph=tree, title=purpose) for purpose in purposes} for alt_code, alt_name in tree.elemental_names().items(): # Read in base utility function for this alt_name u = linear_utility_from_spec( - spec, x_col="Label", p_col=alt_name, ignore_x=("#",), + spec, + x_col="Label", + p_col=alt_name, + ignore_x=("#",), ) for purpose in purposes: # Modify utility function based on template for purpose @@ -71,13 +75,18 @@ def mode_choice_model( explicit_value_parameters(model) apply_coefficients(coefficients, m) - avail = construct_availability(m[purposes[0]], chooser_data, data.alt_codes_to_names) + avail = construct_availability( + m[purposes[0]], chooser_data, data.alt_codes_to_names + ) d = DataFrames( - co=chooser_data, av=avail, alt_codes=data.alt_codes, alt_names=data.alt_names, + co=chooser_data, + av=avail, + alt_codes=data.alt_codes, + alt_names=data.alt_names, ) - if 'atwork' not in name: + if "atwork" not in name: for purpose, model in m.items(): model.dataservice = d.selector_co(f"tour_type=='{purpose}'") model.choice_co_code = "override_choice_code" @@ -142,5 +151,5 @@ def atwork_subtour_mode_choice_model( return_data=return_data, override_filenames=dict( coefficients_file="tour_mode_choice_coefficients.csv", - ) + ), ) diff --git a/activitysim/estimation/larch/nonmand_tour_freq.py b/activitysim/estimation/larch/nonmand_tour_freq.py index f042be9463..22f026d05d 100644 --- a/activitysim/estimation/larch/nonmand_tour_freq.py +++ b/activitysim/estimation/larch/nonmand_tour_freq.py @@ -1,21 +1,22 @@ +import itertools +import logging +import os +import re +from pathlib import Path +from typing import Mapping + import numpy as np import pandas as pd -import re -import os import yaml -import itertools -from typing import Mapping -from larch import P, X, DataFrames, Model +from larch import DataFrames, Model, P, X +from larch.log import logger_name from larch.util import Dict -from pathlib import Path -import logging -from larch.log import logger_name from .general import ( - remove_apostrophes, - linear_utility_from_spec, apply_coefficients, cv_to_ca, + linear_utility_from_spec, + remove_apostrophes, ) _logger = logging.getLogger(logger_name) @@ -39,7 +40,10 @@ def _read_csv(filename, **kwargs): settings_file = settings_file.format(name=name) with open(os.path.join(edb_directory, settings_file), "r") as yf: - settings = yaml.load(yf, Loader=yaml.SafeLoader,) + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) coefficients = {} chooser_data = {} @@ -59,7 +63,9 @@ def _read_csv(filename, **kwargs): alt_values_files.format(name=name, segment_name=segment_name), ) - spec = _read_csv(spec_file,) + spec = _read_csv( + spec_file, + ) spec = remove_apostrophes(spec, ["Label"]) # alt_names = list(spec.columns[3:]) # alt_codes = np.arange(1, len(alt_names) + 1) @@ -117,15 +123,19 @@ def unavail(model, x_ca): def nonmand_tour_freq_model( - edb_directory="output/estimation_data_bundle/{name}/", return_data=False, + edb_directory="output/estimation_data_bundle/{name}/", + return_data=False, ): data = interaction_simulate_data( - name="non_mandatory_tour_frequency", edb_directory=edb_directory, + name="non_mandatory_tour_frequency", + edb_directory=edb_directory, ) settings = data.settings segment_names = [s["NAME"] for s in settings["SPEC_SEGMENTS"]] - data.relabel_coef = link_same_value_coefficients(segment_names, data.coefficients, data.spec) + data.relabel_coef = link_same_value_coefficients( + segment_names, data.coefficients, data.spec + ) spec = data.spec coefficients = data.coefficients chooser_data = data.chooser_data @@ -142,7 +152,9 @@ def nonmand_tour_freq_model( # Utility specifications segment_model.utility_ca = linear_utility_from_spec( - spec, x_col="Label", p_col=segment_name, + spec, + x_col="Label", + p_col=segment_name, ) apply_coefficients(coefficients[segment_name], segment_model) segment_model.choice_co_code = "override_choice" @@ -154,7 +166,11 @@ def nonmand_tour_freq_model( .rename(columns={"TAZ": "HOMETAZ"}) ) x_ca = cv_to_ca(alt_values[segment_name].set_index(["person_id", "variable"])) - d = DataFrames(co=x_co, ca=x_ca, av=~unavail(segment_model, x_ca),) + d = DataFrames( + co=x_co, + ca=x_ca, + av=~unavail(segment_model, x_ca), + ) m[segment_name].dataservice = d if return_data: diff --git a/activitysim/estimation/larch/scheduling.py b/activitysim/estimation/larch/scheduling.py index 649df79115..ea2aef1b2b 100644 --- a/activitysim/estimation/larch/scheduling.py +++ b/activitysim/estimation/larch/scheduling.py @@ -1,21 +1,22 @@ import os +from pathlib import Path +from typing import Collection + import numpy as np import pandas as pd import yaml -from typing import Collection +from larch import DataFrames, Model, P, X from larch.util import Dict -from pathlib import Path from .general import ( - remove_apostrophes, - construct_nesting_tree, - linear_utility_from_spec, - explicit_value_parameters, apply_coefficients, + construct_nesting_tree, cv_to_ca, + explicit_value_parameters, + linear_utility_from_spec, + remove_apostrophes, str_repr, ) -from larch import Model, DataFrames, P, X def schedule_choice_model( @@ -46,16 +47,25 @@ def _read_csv(filename, optional=False, **kwargs): settings_file = settings_file.format(name=name) with open(os.path.join(edb_directory, settings_file), "r") as yf: - settings = yaml.load(yf, Loader=yaml.SafeLoader,) + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) try: - coefficients = _read_csv(coefficients_file, index_col="coefficient_name",) + coefficients = _read_csv( + coefficients_file, + index_col="coefficient_name", + ) except FileNotFoundError: # possibly mis-named file is shown in settings - coefficients_file = settings.get('COEFFICIENTS', coefficients_file) - coefficients = _read_csv(coefficients_file, index_col="coefficient_name",) + coefficients_file = settings.get("COEFFICIENTS", coefficients_file) + coefficients = _read_csv( + coefficients_file, + index_col="coefficient_name", + ) - spec = _read_csv(spec_file, comment='#') + spec = _read_csv(spec_file, comment="#") alt_values = _read_csv(alt_values_file) chooser_data = _read_csv(chooser_file) @@ -66,7 +76,10 @@ def _read_csv(filename, optional=False, **kwargs): include_settings = settings.get("include_settings") if include_settings: with open(os.path.join(edb_directory, include_settings), "r") as yf: - more_settings = yaml.load(yf, Loader=yaml.SafeLoader, ) + more_settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) settings.update(more_settings) CHOOSER_SEGMENT_COLUMN_NAME = settings.get("CHOOSER_SEGMENT_COLUMN_NAME") @@ -76,28 +89,35 @@ def _read_csv(filename, optional=False, **kwargs): if SEGMENTS is not None: SEGMENT_IDS = {i: i for i in SEGMENTS} - if 'Label' in spec.columns: - label_column_name = 'Label' - elif 'Expression' in spec.columns: - label_column_name = 'Expression' + if "Label" in spec.columns: + label_column_name = "Label" + elif "Expression" in spec.columns: + label_column_name = "Expression" else: raise ValueError("cannot find Label or Expression in spec file") m = Model() if len(spec.columns) == 4 and ( - [c.lower() for c in spec.columns] == [ - 'label', 'description', 'expression', 'coefficient' - ] + [c.lower() for c in spec.columns] + == ["label", "description", "expression", "coefficient"] ): m.utility_ca = linear_utility_from_spec( - spec, x_col="Label", p_col=spec.columns[-1], ignore_x=("local_dist",), + spec, + x_col="Label", + p_col=spec.columns[-1], + ignore_x=("local_dist",), ) - elif len(spec.columns) == 4 \ - and all(spec.columns[:3] == ['Label', 'Description', 'Expression']) \ - and len(SEGMENT_IDS) == 1 \ - and spec.columns[3] == list(SEGMENT_IDS.values())[0]: + elif ( + len(spec.columns) == 4 + and all(spec.columns[:3] == ["Label", "Description", "Expression"]) + and len(SEGMENT_IDS) == 1 + and spec.columns[3] == list(SEGMENT_IDS.values())[0] + ): m.utility_ca = linear_utility_from_spec( - spec, x_col="Label", p_col=spec.columns[-1], ignore_x=("local_dist",), + spec, + x_col="Label", + p_col=spec.columns[-1], + ignore_x=("local_dist",), ) else: m.utility_ca = linear_utility_from_spec( @@ -127,10 +147,10 @@ def _read_csv(filename, optional=False, **kwargs): # else: # x_co["_segment_label"] = size_spec.index[0] - alt_codes = np.arange(len(x_ca.index.levels[1]))+1 + alt_codes = np.arange(len(x_ca.index.levels[1])) + 1 x_ca.index = x_ca.index.set_levels(alt_codes, 1) - x_co["override_choice_plus1"] = x_co["override_choice"]+1 - x_co["model_choice_plus1"] = x_co["model_choice"]+1 + x_co["override_choice_plus1"] = x_co["override_choice"] + 1 + x_co["model_choice_plus1"] = x_co["model_choice"] + 1 unavail_coefs = coefficients.query("(constrain == 'T') & (value < -900)").index unavail_data = [i.data for i in m.utility_ca if i.param in unavail_coefs] diff --git a/activitysim/estimation/larch/simple_simulate.py b/activitysim/estimation/larch/simple_simulate.py index 7fc85d7dee..0ee055fe6c 100644 --- a/activitysim/estimation/larch/simple_simulate.py +++ b/activitysim/estimation/larch/simple_simulate.py @@ -1,16 +1,17 @@ import os from pathlib import Path + import numpy as np import pandas as pd import yaml +from larch import DataFrames, Model from larch.util import Dict -from larch import Model, DataFrames from .general import ( - remove_apostrophes, - dict_of_linear_utility_from_spec, apply_coefficients, construct_nesting_tree, + dict_of_linear_utility_from_spec, + remove_apostrophes, ) @@ -66,13 +67,22 @@ def _read_csv(filename, **kwargs): settings_file = settings_file.format(name=name) with open(os.path.join(edb_directory, settings_file), "r") as yf: - settings = yaml.load(yf, Loader=yaml.SafeLoader,) + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) try: - coefficients = _read_csv(coefficients_file, index_col="coefficient_name",) + coefficients = _read_csv( + coefficients_file, + index_col="coefficient_name", + ) try: - coef_template = _read_csv(coefficients_template, index_col="coefficient_name",) + coef_template = _read_csv( + coefficients_template, + index_col="coefficient_name", + ) except FileNotFoundError: coef_template = None @@ -89,11 +99,15 @@ def _read_csv(filename, **kwargs): alt_names_to_codes = dict(zip(alt_names, alt_codes)) alt_codes_to_names = dict(zip(alt_codes, alt_names)) - chooser_data = _read_csv(chooser_data_file, index_col=values_index_col,) + chooser_data = _read_csv( + chooser_data_file, + index_col=values_index_col, + ) except Exception: # when an error happens in reading anything other than settings, print settings from pprint import pprint + pprint(settings) raise @@ -112,15 +126,17 @@ def _read_csv(filename, **kwargs): def simple_simulate_model( - name, - edb_directory="output/estimation_data_bundle/{name}/", - return_data=False, - choices=None, - construct_avail=False, - values_index_col="household_id", + name, + edb_directory="output/estimation_data_bundle/{name}/", + return_data=False, + choices=None, + construct_avail=False, + values_index_col="household_id", ): data = simple_simulate_data( - name=name, edb_directory=edb_directory, values_index_col=values_index_col, + name=name, + edb_directory=edb_directory, + values_index_col=values_index_col, ) coefficients = data.coefficients # coef_template = data.coef_template # not used @@ -132,20 +148,23 @@ def simple_simulate_model( alt_codes = data.alt_codes from .general import clean_values + chooser_data = clean_values( chooser_data, alt_names_to_codes=choices or data.alt_names_to_codes, choice_code="override_choice_code", ) - if settings.get('LOGIT_TYPE') == 'NL': + if settings.get("LOGIT_TYPE") == "NL": tree = construct_nesting_tree(data.alt_names, settings["NESTS"]) m = Model(graph=tree) else: m = Model(alts=data.alt_codes_to_names) m.utility_co = dict_of_linear_utility_from_spec( - spec, "Label", dict(zip(alt_names, alt_codes)), + spec, + "Label", + dict(zip(alt_names, alt_codes)), ) apply_coefficients(coefficients, m) @@ -155,7 +174,12 @@ def simple_simulate_model( else: avail = True - d = DataFrames(co=chooser_data, av=avail, alt_codes=alt_codes, alt_names=alt_names, ) + d = DataFrames( + co=chooser_data, + av=avail, + alt_codes=alt_codes, + alt_names=alt_names, + ) m.dataservice = d m.choice_co_code = "override_choice_code" @@ -186,8 +210,8 @@ def auto_ownership_model( name=name, edb_directory=edb_directory, return_data=return_data, - choices={i: i+1 for i in range(5)}, # choices are coded in data as integers, - # not 'cars0' etc as appears in the spec + choices={i: i + 1 for i in range(5)}, # choices are coded in data as integers, + # not 'cars0' etc as appears in the spec ) @@ -200,7 +224,10 @@ def free_parking_model( name=name, edb_directory=edb_directory, return_data=return_data, - choices={True: 1, False: 2}, # True is free parking, False is paid parking, names match spec positions + choices={ + True: 1, + False: 2, + }, # True is free parking, False is paid parking, names match spec positions ) diff --git a/activitysim/estimation/larch/stop_frequency.py b/activitysim/estimation/larch/stop_frequency.py index c13cd0d5ec..c572af5e87 100644 --- a/activitysim/estimation/larch/stop_frequency.py +++ b/activitysim/estimation/larch/stop_frequency.py @@ -1,33 +1,37 @@ import os from pathlib import Path + import numpy as np import pandas as pd import yaml +from larch import DataFrames, Model from larch.util import Dict -from larch import Model, DataFrames from .general import ( - remove_apostrophes, - dict_of_linear_utility_from_spec, apply_coefficients, construct_nesting_tree, + dict_of_linear_utility_from_spec, + remove_apostrophes, ) def stop_frequency_data( - edb_directory="output/estimation_data_bundle/{name}/", - settings_file="{name}_model_settings.yaml", - chooser_data_file="{name}_values_combined.csv", - values_index_col="tour_id", + edb_directory="output/estimation_data_bundle/{name}/", + settings_file="{name}_model_settings.yaml", + chooser_data_file="{name}_values_combined.csv", + values_index_col="tour_id", ): - name = 'stop_frequency' + name = "stop_frequency" edb_directory = edb_directory.format(name=name) settings_file = settings_file.format(name=name) with open(os.path.join(edb_directory, settings_file), "r") as yf: - settings = yaml.load(yf, Loader=yaml.SafeLoader,) + settings = yaml.load( + yf, + Loader=yaml.SafeLoader, + ) - segments = [i['primary_purpose'] for i in settings['SPEC_SEGMENTS']] + segments = [i["primary_purpose"] for i in settings["SPEC_SEGMENTS"]] master_coef = {} prior_segs = [] @@ -35,10 +39,10 @@ def stop_frequency_data( segment_coef = {} for seg_ in settings["SPEC_SEGMENTS"]: - seg_purpose = seg_['primary_purpose'] + seg_purpose = seg_["primary_purpose"] seg_subdir = Path(os.path.join(edb_directory, seg_purpose)) - segment_coef[seg_['primary_purpose']] = pd.read_csv( - seg_subdir/seg_['COEFFICIENTS'], + segment_coef[seg_["primary_purpose"]] = pd.read_csv( + seg_subdir / seg_["COEFFICIENTS"], index_col="coefficient_name", ) @@ -63,14 +67,14 @@ def stop_frequency_data( # rewrite revised spec files with common segment_coef names for seg in segments: seg_subdir = Path(os.path.join(edb_directory, seg)) - with open(seg_subdir/f"stop_frequency_SPEC.csv", 'rt') as f: + with open(seg_subdir / f"stop_frequency_SPEC.csv", "rt") as f: spec = f.read() for kcoef, v in coef_map[seg].items(): spec = spec.replace(kcoef, v) - with open(seg_subdir/f"stop_frequency_SPEC_.csv", 'wt') as f: + with open(seg_subdir / f"stop_frequency_SPEC_.csv", "wt") as f: f.write(spec) - master_coef_df = pd.DataFrame(data=master_coef, index=['value']).T + master_coef_df = pd.DataFrame(data=master_coef, index=["value"]).T master_coef_df.index.name = "coefficient_name" seg_coefficients = [] @@ -82,12 +86,16 @@ def stop_frequency_data( seg_chooser_data = [] for seg in settings["SPEC_SEGMENTS"]: - seg_purpose = seg['primary_purpose'] + seg_purpose = seg["primary_purpose"] seg_subdir = Path(os.path.join(edb_directory, seg_purpose)) - coeffs_ = pd.read_csv(seg_subdir/seg['COEFFICIENTS'], index_col="coefficient_name") - coeffs_.index = pd.Index([f"{i}_{seg_purpose}" for i in coeffs_.index], name="coefficient_name") + coeffs_ = pd.read_csv( + seg_subdir / seg["COEFFICIENTS"], index_col="coefficient_name" + ) + coeffs_.index = pd.Index( + [f"{i}_{seg_purpose}" for i in coeffs_.index], name="coefficient_name" + ) seg_coefficients.append(coeffs_) - spec = pd.read_csv(seg_subdir/"stop_frequency_SPEC_.csv") + spec = pd.read_csv(seg_subdir / "stop_frequency_SPEC_.csv") spec = remove_apostrophes(spec, ["Label"]) # spec.iloc[:, 3:] = spec.iloc[:, 3:].applymap(lambda x: f"{x}_{seg_purpose}" if not pd.isna(x) else x) seg_spec.append(spec) @@ -103,7 +111,7 @@ def stop_frequency_data( seg_alt_codes_to_names.append(alt_codes_to_names) chooser_data = pd.read_csv( - seg_subdir/chooser_data_file.format(name=name), + seg_subdir / chooser_data_file.format(name=name), index_col=values_index_col, ) seg_chooser_data.append(chooser_data) @@ -129,7 +137,8 @@ def stop_frequency_model( return_data=False, ): data = stop_frequency_data( - edb_directory=edb_directory, values_index_col="tour_id", + edb_directory=edb_directory, + values_index_col="tour_id", ) models = [] @@ -146,33 +155,42 @@ def stop_frequency_model( alt_codes = data.alt_codes[n] from .general import clean_values + chooser_data = clean_values( chooser_data, alt_names_to_codes=data.alt_names_to_codes[n], choice_code="override_choice_code", ) - if settings.get('LOGIT_TYPE') == 'NL': + if settings.get("LOGIT_TYPE") == "NL": tree = construct_nesting_tree(data.alt_names[n], settings["NESTS"]) m = Model(graph=tree) else: m = Model() m.utility_co = dict_of_linear_utility_from_spec( - spec, "Label", dict(zip(alt_names, alt_codes)), + spec, + "Label", + dict(zip(alt_names, alt_codes)), ) apply_coefficients(coefficients, m) avail = True - d = DataFrames(co=chooser_data, av=avail, alt_codes=alt_codes, alt_names=alt_names, ) + d = DataFrames( + co=chooser_data, + av=avail, + alt_codes=alt_codes, + alt_names=alt_names, + ) m.dataservice = d m.choice_co_code = "override_choice_code" models.append(m) from larch.model.model_group import ModelGroup + models = ModelGroup(models) if return_data: @@ -184,7 +202,7 @@ def stop_frequency_model( return models -def update_segment_coefficients(model, data, result_dir=Path('.'), output_file=None): +def update_segment_coefficients(model, data, result_dir=Path("."), output_file=None): for m, segment_name in zip(model, data.segments): coefficient_map = data.coefficient_map[segment_name] segment_c = [] @@ -194,10 +212,12 @@ def update_segment_coefficients(model, data, result_dir=Path('.'), output_file=N segment_c.append(c_local) master_c.append(c_master) coefficients = data.segment_coefficients[segment_name].copy() - coefficients.loc[segment_c, "value"] = model.pf.loc[master_c, "value"].to_numpy() + coefficients.loc[segment_c, "value"] = model.pf.loc[ + master_c, "value" + ].to_numpy() if output_file is not None: os.makedirs(result_dir, exist_ok=True) coefficients.reset_index().to_csv( - result_dir/output_file.format(segment_name=segment_name), + result_dir / output_file.format(segment_name=segment_name), index=False, ) diff --git a/activitysim/estimation/test/test_larch_estimation.py b/activitysim/estimation/test/test_larch_estimation.py index 2cdc0a1a2f..b90a0ee70f 100644 --- a/activitysim/estimation/test/test_larch_estimation.py +++ b/activitysim/estimation/test/test_larch_estimation.py @@ -1,9 +1,10 @@ import os -import pandas as pd -import pytest import subprocess import tempfile +import pandas as pd +import pytest + from activitysim.cli.create import get_example @@ -41,37 +42,44 @@ def est_data(): os.chdir(cwd) -def _regression_check(dataframe_regression, df, basename=None): +def _regression_check(dataframe_regression, df, basename=None, rtol=None): + if rtol is None: + rtol = 0.1 dataframe_regression.check( - df.select_dtypes("number").drop(columns=["holdfast"], errors='ignore').clip(-9e9, 9e9), + df.select_dtypes("number") + .drop(columns=["holdfast"], errors="ignore") + .clip(-9e9, 9e9), # pandas 1.3 handles int8 dtypes as actual numbers, so holdfast needs to be dropped manually # we're dropping it not adding to the regression check so older pandas will also work. basename=basename, - default_tolerance=dict(atol=1e-6, rtol=0.1) - # set a little loose, as there is sometimes a little variance in these + default_tolerance=dict(atol=1e-6, rtol=rtol) + # can set a little loose, as there is sometimes a little variance in these # results when switching backend implementations. We're checking all # the parameters and the log likelihood, so modest variance in individual # parameters, especially those with high std errors, is not problematic. ) -@pytest.mark.parametrize("name,method", [ - ("free_parking", "BHHH"), - ("mandatory_tour_frequency", "SLSQP"), - ("joint_tour_frequency", "SLSQP"), - ("joint_tour_composition", "SLSQP"), - ("joint_tour_participation", "SLSQP"), - ("mandatory_tour_frequency", "BHHH"), - ("atwork_subtour_frequency", "SLSQP"), - ("auto_ownership", "BHHH"), - ("trip_mode_choice", "SLSQP"), -]) +@pytest.mark.parametrize( + "name,method", + [ + ("free_parking", "BHHH"), + ("mandatory_tour_frequency", "SLSQP"), + ("joint_tour_frequency", "SLSQP"), + ("joint_tour_composition", "SLSQP"), + ("joint_tour_participation", "SLSQP"), + ("mandatory_tour_frequency", "BHHH"), + ("atwork_subtour_frequency", "SLSQP"), + ("auto_ownership", "BHHH"), + ("trip_mode_choice", "SLSQP"), + ], +) def test_simple_simulate(est_data, num_regression, dataframe_regression, name, method): from activitysim.estimation.larch import component_model m = component_model(name) m.load_data() - m.doctor(repair_ch_av='-') + m.doctor(repair_ch_av="-") loglike_prior = m.loglike() r = m.maximize_loglike(method=method, options={"maxiter": 1000}) num_regression.check( @@ -82,27 +90,40 @@ def test_simple_simulate(est_data, num_regression, dataframe_regression, name, m _regression_check(dataframe_regression, m.pf) -@pytest.mark.parametrize("name,method", [ - ("workplace_location", "SLSQP"), - ("school_location", "SLSQP"), - ("non_mandatory_tour_destination", "SLSQP"), - ("atwork_subtour_destination", "BHHH"), - ("trip_destination", "SLSQP"), -]) -def test_location_model(est_data, num_regression, dataframe_regression, name, method): +@pytest.mark.parametrize( + "name,method,rtol", + [ + ("workplace_location", "SLSQP", None), + ("school_location", "SLSQP", None), + ("non_mandatory_tour_destination", "SLSQP", None), + ("atwork_subtour_destination", "BHHH", None), + ("trip_destination", "SLSQP", 0.12), + # trip_destination model has unusual parameter variance on a couple + # parameters when switching platforms, possibly related to default data + # types and high standard errors. Most parameters and the overall + # log likelihoods behave fine, suggesting it is just a numerical + # precision issue. + ], +) +def test_location_model( + est_data, num_regression, dataframe_regression, name, method, rtol +): from activitysim.estimation.larch import component_model, update_size_spec m, data = component_model(name, return_data=True) m.load_data() loglike_prior = m.loglike() - r = m.maximize_loglike(method=method, options={'maxiter': 1000}) + r = m.maximize_loglike(method=method, options={"maxiter": 1000}) num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, basename=f"test_loc_{name}_loglike", ) - _regression_check(dataframe_regression, m.pf) + _regression_check(dataframe_regression, m.pf, rtol=rtol) size_spec = update_size_spec( - m, data, result_dir=None, output_file=None, + m, + data, + result_dir=None, + output_file=None, ) dataframe_regression.check( size_spec, @@ -113,19 +134,22 @@ def test_location_model(est_data, num_regression, dataframe_regression, name, me ) -@pytest.mark.parametrize("name,method", [ - ("non_mandatory_tour_scheduling", "SLSQP"), - ("joint_tour_scheduling", "SLSQP"), - ("atwork_subtour_scheduling", "SLSQP"), - ("mandatory_tour_scheduling_work", "SLSQP"), - ("mandatory_tour_scheduling_school", "SLSQP"), -]) +@pytest.mark.parametrize( + "name,method", + [ + ("non_mandatory_tour_scheduling", "SLSQP"), + ("joint_tour_scheduling", "SLSQP"), + ("atwork_subtour_scheduling", "SLSQP"), + ("mandatory_tour_scheduling_work", "SLSQP"), + ("mandatory_tour_scheduling_school", "SLSQP"), + ], +) def test_scheduling_model(est_data, num_regression, dataframe_regression, name, method): - from activitysim.estimation.larch import component_model, update_size_spec + from activitysim.estimation.larch import component_model m, data = component_model(name, return_data=True) m.load_data() - m.doctor(repair_ch_av='-') + m.doctor(repair_ch_av="-") loglike_prior = m.loglike() r = m.maximize_loglike(method=method) num_regression.check( @@ -163,7 +187,10 @@ def test_workplace_location(est_data, num_regression, dataframe_regression): ) _regression_check(dataframe_regression, m.pf) size_spec = update_size_spec( - m, data, result_dir=None, output_file=None, + m, + data, + result_dir=None, + output_file=None, ) dataframe_regression.check( size_spec, @@ -185,7 +212,10 @@ def test_school_location(est_data, num_regression, dataframe_regression): ) _regression_check(dataframe_regression, m.pf) size_spec = update_size_spec( - m, data, result_dir=None, output_file=None, + m, + data, + result_dir=None, + output_file=None, ) dataframe_regression.check( size_spec, @@ -208,7 +238,9 @@ def test_cdap_model(est_data, num_regression, dataframe_regression): _regression_check(dataframe_regression, m.pf) -def test_nonmand_and_joint_tour_dest_choice(est_data, num_regression, dataframe_regression): +def test_nonmand_and_joint_tour_dest_choice( + est_data, num_regression, dataframe_regression +): from activitysim.estimation.larch import component_model modelname = ("non_mandatory_tour_destination", "joint_tour_destination") @@ -225,12 +257,14 @@ def test_nonmand_and_joint_tour_dest_choice(est_data, num_regression, dataframe_ def test_tour_and_subtour_mode_choice(est_data, num_regression, dataframe_regression): - from activitysim.estimation.larch.mode_choice import tour_mode_choice_model, \ - atwork_subtour_mode_choice_model + from activitysim.estimation.larch.mode_choice import ( + atwork_subtour_mode_choice_model, + tour_mode_choice_model, + ) m = tour_mode_choice_model() s = atwork_subtour_mode_choice_model() - m.extend(s) # join the atwork subtour model to the master group + m.extend(s) # join the atwork subtour model to the main group m.load_data() m.doctor(repair_ch_av="-") loglike_prior = m.loglike() diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_atwork_subtour_destination_BHHH_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_atwork_subtour_destination_BHHH_None_.csv similarity index 100% rename from activitysim/estimation/test/test_larch_estimation/test_location_model_atwork_subtour_destination_BHHH_.csv rename to activitysim/estimation/test/test_larch_estimation/test_location_model_atwork_subtour_destination_BHHH_None_.csv diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_non_mandatory_tour_destination_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_non_mandatory_tour_destination_SLSQP_None_.csv similarity index 100% rename from activitysim/estimation/test/test_larch_estimation/test_location_model_non_mandatory_tour_destination_SLSQP_.csv rename to activitysim/estimation/test/test_larch_estimation/test_location_model_non_mandatory_tour_destination_SLSQP_None_.csv diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_school_location_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_school_location_SLSQP_None_.csv similarity index 100% rename from activitysim/estimation/test/test_larch_estimation/test_location_model_school_location_SLSQP_.csv rename to activitysim/estimation/test/test_larch_estimation/test_location_model_school_location_SLSQP_None_.csv diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_SLSQP_0_12_.csv similarity index 100% rename from activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_SLSQP_.csv rename to activitysim/estimation/test/test_larch_estimation/test_location_model_trip_destination_SLSQP_0_12_.csv diff --git a/activitysim/estimation/test/test_larch_estimation/test_location_model_workplace_location_SLSQP_.csv b/activitysim/estimation/test/test_larch_estimation/test_location_model_workplace_location_SLSQP_None_.csv similarity index 100% rename from activitysim/estimation/test/test_larch_estimation/test_location_model_workplace_location_SLSQP_.csv rename to activitysim/estimation/test/test_larch_estimation/test_location_model_workplace_location_SLSQP_None_.csv diff --git a/activitysim/examples/create_run_all_examples.py b/activitysim/examples/create_run_all_examples.py index 40cec55ca9..aecc2e744b 100644 --- a/activitysim/examples/create_run_all_examples.py +++ b/activitysim/examples/create_run_all_examples.py @@ -6,7 +6,7 @@ runnable_line_signature = " # " # yes, hacky for now examples_file_name = "example_manifest.yaml" -example_file = open(examples_file_name, 'r') +example_file = open(examples_file_name, "r") lines = example_file.readlines() for line in lines: if runnable_line_signature in line: diff --git a/activitysim/examples/example_estimation/build_example_data/build_stop_coeffs.py b/activitysim/examples/example_estimation/build_example_data/build_stop_coeffs.py index 9594958648..69a3f38fbc 100644 --- a/activitysim/examples/example_estimation/build_example_data/build_stop_coeffs.py +++ b/activitysim/examples/example_estimation/build_example_data/build_stop_coeffs.py @@ -1,58 +1,72 @@ - # python ~/work/activitysim/activitysim/examples/example_estimation/build_example_data/build_stop_coeffs.py -import pandas as pd import numpy as np - +import pandas as pd FIRST_RUN = True # work, school, univ, social, shopping, eatout, escort,atwork,othmaint,othdiscr -for what in ['work', 'school', 'univ', 'social', 'shopping', 'eatout', 'escort', 'atwork', 'othmaint', 'othdiscr']: +for what in [ + "work", + "school", + "univ", + "social", + "shopping", + "eatout", + "escort", + "atwork", + "othmaint", + "othdiscr", +]: if FIRST_RUN: - df = pd.read_csv(f'stop_frequency_{what}.csv', comment='#') - df.to_csv(f'stop_frequency_backup_{what}.csv', index=False) + df = pd.read_csv(f"stop_frequency_{what}.csv", comment="#") + df.to_csv(f"stop_frequency_backup_{what}.csv", index=False) else: - df = pd.read_csv(f'stop_frequency_backup_{what}.csv', comment='#') + df = pd.read_csv(f"stop_frequency_backup_{what}.csv", comment="#") - del df['Expression'] + del df["Expression"] - df = df.set_index('Description').unstack() + df = df.set_index("Description").unstack() # drop empty coefficients df = df[~df.isnull()] # want index as columns - df = df.reset_index().rename(columns={'level_0': 'alt', 0: 'value'}) + df = df.reset_index().rename(columns={"level_0": "alt", 0: "value"}) # drop duplicate coefficients on same spec row - df = df[~df[['Description', 'value']].duplicated(keep='first')] + df = df[~df[["Description", "value"]].duplicated(keep="first")] - dupes = df[['Description']].duplicated(keep=False) - df['coefficient_name'] = \ - np.where(dupes, 'coef_' + df.Description + '_' + df['alt'], 'coef_' + df.Description) - df['coefficient_name'] = df['coefficient_name'].str.lower() - df['coefficient_name'] = df['coefficient_name'].str.replace('[^a-zZ-Z0-9]+', '_', regex=True) - del df['alt'] + dupes = df[["Description"]].duplicated(keep=False) + df["coefficient_name"] = np.where( + dupes, "coef_" + df.Description + "_" + df["alt"], "coef_" + df.Description + ) + df["coefficient_name"] = df["coefficient_name"].str.lower() + df["coefficient_name"] = df["coefficient_name"].str.replace( + "[^a-zZ-Z0-9]+", "_", regex=True + ) + del df["alt"] - df.to_csv(f'stop_frequency_coefficients_{what}.csv', index=False) + df.to_csv(f"stop_frequency_coefficients_{what}.csv", index=False) - spec = pd.read_csv(f'stop_frequency_backup_{what}.csv', comment='#') + spec = pd.read_csv(f"stop_frequency_backup_{what}.csv", comment="#") alt_cols = spec.columns[2:].values for index, row in df.iterrows(): - m = {row['value']: row['coefficient_name']} - alts = spec.loc[spec.Description == row['Description'], alt_cols].values[0] + m = {row["value"]: row["coefficient_name"]} + alts = spec.loc[spec.Description == row["Description"], alt_cols].values[0] alts = [m.get(a, a) for a in alts] - spec.loc[spec.Description == row['Description'], alt_cols] = [m.get(a, a) for a in alts] + spec.loc[spec.Description == row["Description"], alt_cols] = [ + m.get(a, a) for a in alts + ] - spec.insert(loc=0, column='Label', value='util_' + spec.Description) + spec.insert(loc=0, column="Label", value="util_" + spec.Description) - spec['Label'] = spec['Label'].str.lower() - spec['Label'] = spec['Label'].str.replace('[^a-zZ-Z0-9]+', '_', regex=True) + spec["Label"] = spec["Label"].str.lower() + spec["Label"] = spec["Label"].str.replace("[^a-zZ-Z0-9]+", "_", regex=True) - df.to_csv(f'stop_frequency_coefficients_{what}.csv', index=False) - spec.to_csv(f'stop_frequency_{what}.csv', index=False) + df.to_csv(f"stop_frequency_coefficients_{what}.csv", index=False) + spec.to_csv(f"stop_frequency_{what}.csv", index=False) diff --git a/activitysim/examples/example_estimation/build_example_data/build_test.txt b/activitysim/examples/example_estimation/build_example_data/build_test.txt index ed83e09337..6a45cbe1b1 100644 --- a/activitysim/examples/example_estimation/build_example_data/build_test.txt +++ b/activitysim/examples/example_estimation/build_example_data/build_test.txt @@ -4,24 +4,19 @@ MTC_SF_DATA_DIR=/Users/jeff.doyle/work/activitysim-data/mtc_tm1_sf/data MTC_FULL_DATA_DIR=/Users/jeff.doyle/work/activitysim-data/mtc_tm1/data EXAMPLES_DIR=$ACTIVITYSIM_BASE_DIR/activitysim/examples -MTC_EXAMPLE_DIR=$EXAMPLES_DIR/example_mtc +MTC_EXAMPLE_DIR=$EXAMPLES_DIR/prototype_mtc ESTIMATION_DIR=$EXAMPLES_DIR/example_estimation BUILD_DIR=$ESTIMATION_DIR/build_example_data -# build example using example_mtc test data set (25 zones) +# build example using prototype_mtc test data set (25 zones) # TAG=test # BUILD_DATA=$MTC_EXAMPLE_DIR/data -# build example using example_mtc sf data set (190 zones) +# build example using prototype_mtc_sf data set (190 zones) # data not in activitysim repo/distro TAG=sf BUILD_DATA=$MTC_SF_DATA_DIR -# build example using example_mtc sf data set (190 zones) -# data not in activitysim repo/distro -# TAG=full -# BUILD_DATA=$MTC_FULL_DATA_DIR - # output dirs for run to create fake survey data BUILD_OUTPUT=$BUILD_DIR/output_build_$TAG @@ -77,7 +72,7 @@ cp $BUILD_OUTPUT/trace/school_location*university*.csv $BUILD_DIR/scratch/$TAG/b cp $BUILD_OUTPUT/log/activitysim.log $BUILD_DIR/scratch/$TAG/build TAG=sf -python simulation.py -c override_configs -c configs -c ../example_mtc/configs -d data_$TAG -o output_$TAG +python simulation.py -c override_configs -c configs -c ../prototype_mtc/configs -d data_$TAG -o output_$TAG EST_OUTPUT=output_$TAG diff --git a/activitysim/examples/example_estimation/build_example_data/mode_choice_wrangle.py b/activitysim/examples/example_estimation/build_example_data/mode_choice_wrangle.py index 58e33b6d93..8cfe399940 100644 --- a/activitysim/examples/example_estimation/build_example_data/mode_choice_wrangle.py +++ b/activitysim/examples/example_estimation/build_example_data/mode_choice_wrangle.py @@ -1,34 +1,38 @@ -import pandas as pd import numpy as np +import pandas as pd -df = pd.read_csv(f'trip_mode_coefficients_p.csv', comment='#') +df = pd.read_csv(f"trip_mode_coefficients_p.csv", comment="#") -alts = list(df.drop(columns='Expression').columns.values.astype(str)) -alts_str = '_'.join(alts) +alts = list(df.drop(columns="Expression").columns.values.astype(str)) +alts_str = "_".join(alts) -df = df.set_index('Expression').unstack() +df = df.set_index("Expression").unstack() -df = df.reset_index().rename(columns={'level_0': 'alts', 0: 'value'}) +df = df.reset_index().rename(columns={"level_0": "alts", 0: "value"}) -df = df.groupby(['Expression', 'value']).agg(lambda col: '_'.join(col)).reset_index() +df = df.groupby(["Expression", "value"]).agg(lambda col: "_".join(col)).reset_index() -df['coefficient_name'] = 'coef_' + np.where(df.alts == alts_str, df['Expression'], df['Expression'] + '_' + df.alts) +df["coefficient_name"] = "coef_" + np.where( + df.alts == alts_str, df["Expression"], df["Expression"] + "_" + df.alts +) coefficients_df = df -df = pd.read_csv(f'trip_mode_coefficients_p.csv', comment='#') +df = pd.read_csv(f"trip_mode_coefficients_p.csv", comment="#") for alt in alts: - alt_df = pd.merge(df[['Expression', alt]].rename(columns={alt: 'value'}), - coefficients_df[['Expression', 'value', 'coefficient_name']], - left_on=['Expression', 'value'], - right_on=['Expression', 'value'], - how='left') - df[alt] = alt_df['coefficient_name'] + alt_df = pd.merge( + df[["Expression", alt]].rename(columns={alt: "value"}), + coefficients_df[["Expression", "value", "coefficient_name"]], + left_on=["Expression", "value"], + right_on=["Expression", "value"], + how="left", + ) + df[alt] = alt_df["coefficient_name"] -coefficients_df = coefficients_df[['coefficient_name', 'value']] -coefficients_df.to_csv(f'trip_mode_choice_coefficients.csv', index=False) +coefficients_df = coefficients_df[["coefficient_name", "value"]] +coefficients_df.to_csv(f"trip_mode_choice_coefficients.csv", index=False) -df.to_csv(f'trip_mode_choice_coefficients_template.csv', index=False) +df.to_csv(f"trip_mode_choice_coefficients_template.csv", index=False) diff --git a/activitysim/examples/example_estimation/scripts/extract_survey_data.py b/activitysim/examples/example_estimation/scripts/extract_survey_data.py index e82505e052..c4bc4a770f 100644 --- a/activitysim/examples/example_estimation/scripts/extract_survey_data.py +++ b/activitysim/examples/example_estimation/scripts/extract_survey_data.py @@ -1,9 +1,9 @@ # ActivitySim # See full license in LICENSE.txt. -import sys -import os import logging +import os +import sys import numpy as np import pandas as pd @@ -13,24 +13,24 @@ # create console handler with a higher log level ch = logging.StreamHandler() -ch.setFormatter(logging.Formatter('%(levelname)s - %(message)s')) +ch.setFormatter(logging.Formatter("%(levelname)s - %(message)s")) logger.addHandler(ch) inputs = { - 'households': 'final_households.csv', - 'persons': 'final_persons.csv', - 'tours': 'final_tours.csv', - 'joint_tour_participants': 'final_joint_tour_participants.csv', - 'trips': 'final_trips.csv', + "households": "final_households.csv", + "persons": "final_persons.csv", + "tours": "final_tours.csv", + "joint_tour_participants": "final_joint_tour_participants.csv", + "trips": "final_trips.csv", } surveys = { - 'households': 'survey_households.csv', - 'persons': 'survey_persons.csv', - 'tours': 'survey_tours.csv', - 'joint_tour_participants': 'survey_joint_tour_participants.csv', - 'trips': 'survey_trips.csv', + "households": "survey_households.csv", + "persons": "survey_persons.csv", + "tours": "survey_tours.csv", + "joint_tour_participants": "survey_joint_tour_participants.csv", + "trips": "survey_trips.csv", } @@ -39,30 +39,62 @@ data_dir = args[0] -input_dir = os.path.join(data_dir, 'survey_data/') -output_dir = os.path.join(data_dir, 'survey_data/') +input_dir = os.path.join(data_dir, "survey_data/") +output_dir = os.path.join(data_dir, "survey_data/") -configs_dir = os.path.dirname('../example/configs/') +configs_dir = os.path.dirname("../example/configs/") -households = pd.read_csv(os.path.join(input_dir, inputs['households'])) -persons = pd.read_csv(os.path.join(input_dir, inputs['persons'])) -tours = pd.read_csv(os.path.join(input_dir, inputs['tours'])) -joint_tour_participants = pd.read_csv(os.path.join(input_dir, inputs['joint_tour_participants'])) -trips = pd.read_csv(os.path.join(input_dir, inputs['trips'])) +households = pd.read_csv(os.path.join(input_dir, inputs["households"])) +persons = pd.read_csv(os.path.join(input_dir, inputs["persons"])) +tours = pd.read_csv(os.path.join(input_dir, inputs["tours"])) +joint_tour_participants = pd.read_csv( + os.path.join(input_dir, inputs["joint_tour_participants"]) +) +trips = pd.read_csv(os.path.join(input_dir, inputs["trips"])) households = households[ - ['household_id', 'home_zone_id', 'income', 'hhsize', 'HHT', 'auto_ownership', 'num_workers'] + [ + "household_id", + "home_zone_id", + "income", + "hhsize", + "HHT", + "auto_ownership", + "num_workers", + ] ] persons = persons[ - ['person_id', 'household_id', 'age', 'PNUM', 'sex', - 'pemploy', 'pstudent', 'ptype', 'school_zone_id', 'workplace_zone_id', 'free_parking_at_work'] + [ + "person_id", + "household_id", + "age", + "PNUM", + "sex", + "pemploy", + "pstudent", + "ptype", + "school_zone_id", + "workplace_zone_id", + "free_parking_at_work", + ] ] tours = tours[ - ['tour_id', 'person_id', 'household_id', 'tour_type', 'tour_category', - 'destination', 'origin', 'start', 'end', 'tour_mode', 'parent_tour_id'] + [ + "tour_id", + "person_id", + "household_id", + "tour_type", + "tour_category", + "destination", + "origin", + "start", + "end", + "tour_mode", + "parent_tour_id", + ] ] joint_tour_participants = joint_tour_participants[ - ['participant_id', 'tour_id', 'household_id', 'person_id', 'participant_num'] + ["participant_id", "tour_id", "household_id", "person_id", "participant_num"] ] OPTIONAL_TRIP_COLUMNS = [] @@ -70,12 +102,25 @@ # OPTIONAL_TRIP_COLUMNS = ['trip_num'] trips = trips[ - ['trip_id', 'person_id', 'household_id', 'tour_id', 'outbound', 'purpose', - 'destination', 'origin', 'depart', 'trip_mode'] + OPTIONAL_TRIP_COLUMNS + [ + "trip_id", + "person_id", + "household_id", + "tour_id", + "outbound", + "purpose", + "destination", + "origin", + "depart", + "trip_mode", + ] + + OPTIONAL_TRIP_COLUMNS ] -households.to_csv(os.path.join(output_dir, surveys['households']), index=False) -persons.to_csv(os.path.join(output_dir, surveys['persons']), index=False) -tours.to_csv(os.path.join(output_dir, surveys['tours']), index=False) -joint_tour_participants.to_csv(os.path.join(output_dir, surveys['joint_tour_participants']), index=False) -trips.to_csv(os.path.join(output_dir, surveys['trips']), index=False) +households.to_csv(os.path.join(output_dir, surveys["households"]), index=False) +persons.to_csv(os.path.join(output_dir, surveys["persons"]), index=False) +tours.to_csv(os.path.join(output_dir, surveys["tours"]), index=False) +joint_tour_participants.to_csv( + os.path.join(output_dir, surveys["joint_tour_participants"]), index=False +) +trips.to_csv(os.path.join(output_dir, surveys["trips"]), index=False) diff --git a/activitysim/examples/example_estimation/scripts/infer.py b/activitysim/examples/example_estimation/scripts/infer.py index 9bbf4ab275..f60b94900f 100644 --- a/activitysim/examples/example_estimation/scripts/infer.py +++ b/activitysim/examples/example_estimation/scripts/infer.py @@ -1,85 +1,60 @@ # ActivitySim # See full license in LICENSE.txt. -import sys -import os import logging -import yaml +import os +import sys import numpy as np import pandas as pd +import yaml +from activitysim.abm.models.util import canonical_ids as cid from activitysim.abm.models.util import tour_frequency as tf from activitysim.core.util import reindex -from activitysim.abm.models.util import canonical_ids as cid - logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) # create console handler with a higher log level ch = logging.StreamHandler() -ch.setFormatter(logging.Formatter('%(levelname)s - %(message)s')) +ch.setFormatter(logging.Formatter("%(levelname)s - %(message)s")) logger.addHandler(ch) CONSTANTS = {} -SURVEY_TOUR_ID = 'survey_tour_id' -SURVEY_PARENT_TOUR_ID = 'survey_parent_tour_id' -SURVEY_PARTICIPANT_ID = 'survey_participant_id' -SURVEY_TRIP_ID = 'survey_trip_id' -ASIM_TOUR_ID = 'tour_id' -ASIM_PARENT_TOUR_ID = 'parent_tour_id' -ASIM_TRIP_ID = 'trip_id' +SURVEY_TOUR_ID = "survey_tour_id" +SURVEY_PARENT_TOUR_ID = "survey_parent_tour_id" +SURVEY_PARTICIPANT_ID = "survey_participant_id" +SURVEY_TRIP_ID = "survey_trip_id" +ASIM_TOUR_ID = "tour_id" +ASIM_PARENT_TOUR_ID = "parent_tour_id" +ASIM_TRIP_ID = "trip_id" -ASIM_PARTICIPANT_ID = 'participant_id' +ASIM_PARTICIPANT_ID = "participant_id" survey_tables = { - 'households': { - 'file_name': 'survey_households.csv', - 'index': 'household_id' - }, - 'persons': { - 'file_name': 'survey_persons.csv', - 'index': 'person_id' - }, - 'tours': { - 'file_name': 'survey_tours.csv' - }, - 'joint_tour_participants': { - 'file_name': 'survey_joint_tour_participants.csv' - }, - 'trips': { - 'file_name': 'survey_trips.csv' - }, + "households": {"file_name": "survey_households.csv", "index": "household_id"}, + "persons": {"file_name": "survey_persons.csv", "index": "person_id"}, + "tours": {"file_name": "survey_tours.csv"}, + "joint_tour_participants": {"file_name": "survey_joint_tour_participants.csv"}, + "trips": {"file_name": "survey_trips.csv"}, } outputs = { - 'households': 'override_households.csv', - 'persons': 'override_persons.csv', - 'tours': 'override_tours.csv', - 'joint_tour_participants': 'override_joint_tour_participants.csv', - 'trips': 'override_trips.csv', + "households": "override_households.csv", + "persons": "override_persons.csv", + "tours": "override_tours.csv", + "joint_tour_participants": "override_joint_tour_participants.csv", + "trips": "override_trips.csv", } control_tables = { - 'households': { - 'file_name': 'final_households.csv', - 'index': 'household_id' - }, - 'persons': { - 'file_name': 'final_persons.csv', - 'index': 'person_id' - }, - 'tours': { - 'file_name': 'final_tours.csv' - }, - 'joint_tour_participants': { - 'file_name': 'final_joint_tour_participants.csv' - }, - 'trips': { - 'file_name': 'final_trips.csv' - }, + "households": {"file_name": "final_households.csv", "index": "household_id"}, + "persons": {"file_name": "final_persons.csv", "index": "person_id"}, + "tours": {"file_name": "final_tours.csv"}, + "joint_tour_participants": {"file_name": "final_joint_tour_participants.csv"}, + "trips": {"file_name": "final_trips.csv"}, } apply_controls = True skip_controls = not apply_controls @@ -95,83 +70,118 @@ def unmangle_ids(ids): def infer_cdap_activity(persons, tours, joint_tour_participants): - mandatory_tour_types = ['work', 'school'] - non_mandatory_tour_types = ['escort', 'shopping', 'othmaint', 'othdiscr', 'eatout', 'social'] - - num_mandatory_tours = \ - tours[tours.tour_type.isin(mandatory_tour_types)].\ - groupby('person_id').size().\ - reindex(persons.index).fillna(0).astype(np.int8) - - num_non_mandatory_tours = \ - tours[tours.tour_type.isin(non_mandatory_tour_types)].\ - groupby('person_id').size().\ - reindex(persons.index).fillna(0).astype(np.int8) - - num_joint_tours = \ - joint_tour_participants.\ - groupby('person_id').size().\ - reindex(persons.index).fillna(0).astype(np.int8) + mandatory_tour_types = ["work", "school"] + non_mandatory_tour_types = [ + "escort", + "shopping", + "othmaint", + "othdiscr", + "eatout", + "social", + ] + + num_mandatory_tours = ( + tours[tours.tour_type.isin(mandatory_tour_types)] + .groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) + + num_non_mandatory_tours = ( + tours[tours.tour_type.isin(non_mandatory_tour_types)] + .groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) + + num_joint_tours = ( + joint_tour_participants.groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) num_non_mandatory_tours += num_joint_tours - cdap_activity = pd.Series('H', index=persons.index) - cdap_activity = cdap_activity.where(num_mandatory_tours == 0, 'M') - cdap_activity = cdap_activity.where((cdap_activity == 'M') | (num_non_mandatory_tours == 0), 'N') + cdap_activity = pd.Series("H", index=persons.index) + cdap_activity = cdap_activity.where(num_mandatory_tours == 0, "M") + cdap_activity = cdap_activity.where( + (cdap_activity == "M") | (num_non_mandatory_tours == 0), "N" + ) return cdap_activity def infer_mandatory_tour_frequency(persons, tours): - num_work_tours = \ - tours[tours.tour_type == 'work'].\ - groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) - - num_school_tours = \ - tours[tours.tour_type == 'school'].\ - groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) + num_work_tours = ( + tours[tours.tour_type == "work"] + .groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) + + num_school_tours = ( + tours[tours.tour_type == "school"] + .groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) mtf = { - 0: '', - 1: 'work1', - 2: 'work2', - 10: 'school1', - 20: 'school2', - 11: 'work_and_school' + 0: "", + 1: "work1", + 2: "work2", + 10: "school1", + 20: "school2", + 11: "work_and_school", } - mandatory_tour_frequency = (num_work_tours + num_school_tours*10).map(mtf) + mandatory_tour_frequency = (num_work_tours + num_school_tours * 10).map(mtf) return mandatory_tour_frequency def infer_non_mandatory_tour_frequency(configs_dir, persons, tours): - def read_alts(): # escort,shopping,othmaint,othdiscr,eatout,social # 0,0,0,0,0,0 # 0,0,0,1,0,0, ... - alts = \ - pd.read_csv(os.path.join(configs_dir, 'non_mandatory_tour_frequency_alternatives.csv'), - comment='#') + alts = pd.read_csv( + os.path.join(configs_dir, "non_mandatory_tour_frequency_alternatives.csv"), + comment="#", + ) alts = alts.astype(np.int8) # - NARROW return alts - tours = tours[tours.tour_category == 'non_mandatory'] + tours = tours[tours.tour_category == "non_mandatory"] alts = read_alts() tour_types = list(alts.columns.values) # tour_frequency is index in alts table - alts['alt_id'] = alts.index + alts["alt_id"] = alts.index # actual tour counts (may exceed counts envisioned by alts) unconstrained_tour_counts = pd.DataFrame(index=persons.index) for tour_type in tour_types: - unconstrained_tour_counts[tour_type] = \ - tours[tours.tour_type == tour_type].\ - groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) + unconstrained_tour_counts[tour_type] = ( + tours[tours.tour_type == tour_type] + .groupby("person_id") + .size() + .reindex(persons.index) + .fillna(0) + .astype(np.int8) + ) # unextend tour counts # activitysim extend tours counts based on a probability table @@ -180,10 +190,14 @@ def read_alts(): max_tour_counts = alts[tour_types].max(axis=0) constrained_tour_counts = pd.DataFrame(index=persons.index) for tour_type in tour_types: - constrained_tour_counts[tour_type] = unconstrained_tour_counts[tour_type].clip(upper=max_tour_counts[tour_type]) + constrained_tour_counts[tour_type] = unconstrained_tour_counts[tour_type].clip( + upper=max_tour_counts[tour_type] + ) # persons whose tours were constrained who aren't eligible for extension becuase they have > 4 constrained tours - has_constrained_tours = (unconstrained_tour_counts != constrained_tour_counts).any(axis=1) + has_constrained_tours = (unconstrained_tour_counts != constrained_tour_counts).any( + axis=1 + ) print("%s persons with constrained tours" % (has_constrained_tours.sum())) too_many_tours = has_constrained_tours & constrained_tour_counts.sum(axis=1) > 4 if too_many_tours.any(): @@ -195,72 +209,107 @@ def read_alts(): # determine alt id corresponding to constrained_tour_counts # need to do index waltz because pd.merge doesn't preserve index in this case - alt_id = \ - pd.merge(constrained_tour_counts.reset_index(), alts, - left_on=tour_types, right_on=tour_types, how='left').set_index(persons.index.name).alt_id + alt_id = ( + pd.merge( + constrained_tour_counts.reset_index(), + alts, + left_on=tour_types, + right_on=tour_types, + how="left", + ) + .set_index(persons.index.name) + .alt_id + ) # did we end up with any tour frequencies not in alts? if alt_id.isna().any(): bad_tour_frequencies = alt_id.isna() logger.warning("WARNING Bad joint tour frequencies\n\n") - logger.warning("\nWARNING Bad non_mandatory tour frequencies: num_tours\n%s" % - constrained_tour_counts[bad_tour_frequencies]) - logger.warning("\nWARNING Bad non_mandatory tour frequencies: num_tours\n%s" % - tours[tours.person_id.isin(persons.index[bad_tour_frequencies])].sort_values('person_id')) + logger.warning( + "\nWARNING Bad non_mandatory tour frequencies: num_tours\n%s" + % constrained_tour_counts[bad_tour_frequencies] + ) + logger.warning( + "\nWARNING Bad non_mandatory tour frequencies: num_tours\n%s" + % tours[ + tours.person_id.isin(persons.index[bad_tour_frequencies]) + ].sort_values("person_id") + ) bug - tf = unconstrained_tour_counts.rename(columns={tour_type: '_%s' % tour_type for tour_type in tour_types}) - tf['non_mandatory_tour_frequency'] = alt_id + tf = unconstrained_tour_counts.rename( + columns={tour_type: "_%s" % tour_type for tour_type in tour_types} + ) + tf["non_mandatory_tour_frequency"] = alt_id return tf def infer_joint_tour_frequency(configs_dir, households, tours): - def read_alts(): # right now this file just contains the start and end hour - alts = \ - pd.read_csv(os.path.join(configs_dir, 'joint_tour_frequency_alternatives.csv'), - comment='#', index_col='alt') + alts = pd.read_csv( + os.path.join(configs_dir, "joint_tour_frequency_alternatives.csv"), + comment="#", + index_col="alt", + ) alts = alts.astype(np.int8) # - NARROW return alts alts = read_alts() tour_types = list(alts.columns.values) - assert(len(alts.index[(alts == 0).all(axis=1)]) == 1) # should be one zero_tours alt + assert len(alts.index[(alts == 0).all(axis=1)]) == 1 # should be one zero_tours alt zero_tours_alt = alts.index[(alts == 0).all(axis=1)].values[0] - alts['joint_tour_frequency'] = alts.index - joint_tours = tours[tours.tour_category == 'joint'] + alts["joint_tour_frequency"] = alts.index + joint_tours = tours[tours.tour_category == "joint"] num_tours = pd.DataFrame(index=households.index) for tour_type in tour_types: - joint_tour_is_tour_type = (joint_tours.tour_type == tour_type) + joint_tour_is_tour_type = joint_tours.tour_type == tour_type if joint_tour_is_tour_type.any(): - num_tours[tour_type] = \ - joint_tours[joint_tour_is_tour_type].\ - groupby('household_id').size().\ - reindex(households.index).fillna(0) + num_tours[tour_type] = ( + joint_tours[joint_tour_is_tour_type] + .groupby("household_id") + .size() + .reindex(households.index) + .fillna(0) + ) else: - logger.warning("WARNING infer_joint_tour_frequency - no tours of type '%s'" % tour_type) + logger.warning( + "WARNING infer_joint_tour_frequency - no tours of type '%s'" % tour_type + ) num_tours[tour_type] = 0 num_tours = num_tours.fillna(0).astype(np.int64) # need to do index waltz because pd.merge doesn't preserve index in this case - jtf = pd.merge(num_tours.reset_index(), alts, left_on=tour_types, right_on=tour_types, how='left').\ - set_index(households.index.name) + jtf = pd.merge( + num_tours.reset_index(), + alts, + left_on=tour_types, + right_on=tour_types, + how="left", + ).set_index(households.index.name) if jtf.joint_tour_frequency.isna().any(): bad_tour_frequencies = jtf.joint_tour_frequency.isna() logger.warning("WARNING Bad joint tour frequencies\n\n") - logger.warning("\nWARNING Bad joint tour frequencies: num_tours\n%s" % - num_tours[bad_tour_frequencies]) - logger.warning("\nWARNING Bad joint tour frequencies: num_tours\n%s" % - joint_tours[joint_tours.household_id.isin(households.index[bad_tour_frequencies])]) + logger.warning( + "\nWARNING Bad joint tour frequencies: num_tours\n%s" + % num_tours[bad_tour_frequencies] + ) + logger.warning( + "\nWARNING Bad joint tour frequencies: num_tours\n%s" + % joint_tours[ + joint_tours.household_id.isin(households.index[bad_tour_frequencies]) + ] + ) bug - logger.info("infer_joint_tour_frequency: %s households with joint tours", - (jtf.joint_tour_frequency != zero_tours_alt).sum()) + logger.info( + "infer_joint_tour_frequency: %s households with joint tours", + (jtf.joint_tour_frequency != zero_tours_alt).sum(), + ) return jtf.joint_tour_frequency @@ -270,31 +319,45 @@ def infer_joint_tour_composition(persons, tours, joint_tour_participants): assign joint_tours a 'composition' column ('adults', 'children', or 'mixed') depending on the composition of the joint_tour_participants """ - joint_tours = tours[tours.tour_category == 'joint'].copy() + joint_tours = tours[tours.tour_category == "joint"].copy() - joint_tour_participants = \ - pd.merge(joint_tour_participants, persons, - left_on='person_id', right_index=True, how='left') + joint_tour_participants = pd.merge( + joint_tour_participants, + persons, + left_on="person_id", + right_index=True, + how="left", + ) # FIXME - computed by asim annotate persons - not needed if embeded in asim and called just-in-time - if 'adult' not in joint_tour_participants: - joint_tour_participants['adult'] = (joint_tour_participants.age >= 18) - - tour_has_adults = \ - joint_tour_participants[joint_tour_participants.adult]\ - .groupby(SURVEY_TOUR_ID).size()\ - .reindex(joint_tours[SURVEY_TOUR_ID]).fillna(0) > 0 - - tour_has_children = \ - joint_tour_participants[~joint_tour_participants.adult]\ - .groupby([SURVEY_TOUR_ID]).size()\ - .reindex(joint_tours[SURVEY_TOUR_ID]).fillna(0) > 0 + if "adult" not in joint_tour_participants: + joint_tour_participants["adult"] = joint_tour_participants.age >= 18 + + tour_has_adults = ( + joint_tour_participants[joint_tour_participants.adult] + .groupby(SURVEY_TOUR_ID) + .size() + .reindex(joint_tours[SURVEY_TOUR_ID]) + .fillna(0) + > 0 + ) + + tour_has_children = ( + joint_tour_participants[~joint_tour_participants.adult] + .groupby([SURVEY_TOUR_ID]) + .size() + .reindex(joint_tours[SURVEY_TOUR_ID]) + .fillna(0) + > 0 + ) assert (tour_has_adults | tour_has_children).all() - joint_tours['composition'] = np.where(tour_has_adults, np.where(tour_has_children, 'mixed', 'adults'), 'children') + joint_tours["composition"] = np.where( + tour_has_adults, np.where(tour_has_children, "mixed", "adults"), "children" + ) - return joint_tours.composition.reindex(tours.index).fillna('').astype(str) + return joint_tours.composition.reindex(tours.index).fillna("").astype(str) def infer_tour_scheduling(configs_dir, tours): @@ -302,11 +365,13 @@ def infer_tour_scheduling(configs_dir, tours): def read_tdd_alts(): # right now this file just contains the start and end hour - tdd_alts = pd.read_csv(os.path.join(configs_dir, 'tour_departure_and_duration_alternatives.csv')) - tdd_alts['duration'] = tdd_alts.end - tdd_alts.start + tdd_alts = pd.read_csv( + os.path.join(configs_dir, "tour_departure_and_duration_alternatives.csv") + ) + tdd_alts["duration"] = tdd_alts.end - tdd_alts.start tdd_alts = tdd_alts.astype(np.int8) # - NARROW - tdd_alts['tdd'] = tdd_alts.index + tdd_alts["tdd"] = tdd_alts.index return tdd_alts tdd_alts = read_tdd_alts() @@ -317,7 +382,13 @@ def read_tdd_alts(): assert tours.end.isin(tdd_alts.end).all(), "not all tour starts in tdd_alts" - tdds = pd.merge(tours[['start', 'end']], tdd_alts, left_on=['start', 'end'], right_on=['start', 'end'], how='left') + tdds = pd.merge( + tours[["start", "end"]], + tdd_alts, + left_on=["start", "end"], + right_on=["start", "end"], + how="left", + ) if tdds.tdd.isna().any(): bad_tdds = tours[tdds.tdd.isna()] @@ -332,30 +403,35 @@ def read_tdd_alts(): def patch_tour_ids(persons, tours, joint_tour_participants): - def set_tour_index(tours, parent_tour_num_col, is_joint): - group_cols = ['person_id', 'tour_category', 'tour_type'] + group_cols = ["person_id", "tour_category", "tour_type"] - if 'parent_tour_num' in tours: - group_cols += ['parent_tour_num'] + if "parent_tour_num" in tours: + group_cols += ["parent_tour_num"] - tours['tour_type_num'] = \ + tours["tour_type_num"] = ( tours.sort_values(by=group_cols).groupby(group_cols).cumcount() + 1 + ) - return cid.set_tour_index(tours, parent_tour_num_col=parent_tour_num_col, is_joint=is_joint) + return cid.set_tour_index( + tours, parent_tour_num_col=parent_tour_num_col, is_joint=is_joint + ) - assert 'mandatory_tour_frequency' in persons + assert "mandatory_tour_frequency" in persons # replace survey_tour ids with asim standard tour_ids (which are based on person_id and tour_type) ##################### # mandatory tours ##################### - mandatory_tours = \ - set_tour_index(tours[tours.tour_category == 'mandatory'], parent_tour_num_col=None, is_joint=False) + mandatory_tours = set_tour_index( + tours[tours.tour_category == "mandatory"], + parent_tour_num_col=None, + is_joint=False, + ) - assert mandatory_tours.index.name == 'tour_id' + assert mandatory_tours.index.name == "tour_id" ##################### # joint tours @@ -363,43 +439,52 @@ def set_tour_index(tours, parent_tour_num_col, is_joint): # joint tours tour_id was assigned based on person_id of the first person in household (PNUM == 1) # because the actual point person forthe tour is only identified later in joint_tour_participants) - temp_point_persons = persons.loc[persons.PNUM == 1, ['household_id']] - temp_point_persons['person_id'] = temp_point_persons.index - temp_point_persons.set_index('household_id', inplace=True) + temp_point_persons = persons.loc[persons.PNUM == 1, ["household_id"]] + temp_point_persons["person_id"] = temp_point_persons.index + temp_point_persons.set_index("household_id", inplace=True) # patch person_id with value of temp_point_person_id and use it to set_tour_index - joint_tours = tours[tours.tour_category == 'joint'] - joint_tours['cache_point_person_id'] = joint_tours['person_id'] - joint_tours['person_id'] = reindex(temp_point_persons.person_id, joint_tours.household_id) + joint_tours = tours[tours.tour_category == "joint"] + joint_tours["cache_point_person_id"] = joint_tours["person_id"] + joint_tours["person_id"] = reindex( + temp_point_persons.person_id, joint_tours.household_id + ) joint_tours = set_tour_index(joint_tours, parent_tour_num_col=None, is_joint=True) - joint_tours['person_id'] = joint_tours['cache_point_person_id'] - del joint_tours['cache_point_person_id'] + joint_tours["person_id"] = joint_tours["cache_point_person_id"] + del joint_tours["cache_point_person_id"] # patch tour_id column in patched_joint_tour_participants patched_joint_tour_participants = joint_tour_participants.copy() asim_tour_id = pd.Series(joint_tours.index, index=joint_tours[SURVEY_TOUR_ID]) - patched_joint_tour_participants[ASIM_TOUR_ID] = \ - reindex(asim_tour_id, patched_joint_tour_participants[SURVEY_TOUR_ID]) + patched_joint_tour_participants[ASIM_TOUR_ID] = reindex( + asim_tour_id, patched_joint_tour_participants[SURVEY_TOUR_ID] + ) # participant_id is formed by combining tour_id and participant pern.PNUM # pathological knowledge, but awkward to conflate with joint_tour_participation.py logic - participant_pnum = reindex(persons.PNUM, patched_joint_tour_participants['person_id']) - patched_joint_tour_participants[ASIM_PARTICIPANT_ID] = \ - (patched_joint_tour_participants[ASIM_TOUR_ID] * cid.MAX_PARTICIPANT_PNUM) + participant_pnum + participant_pnum = reindex( + persons.PNUM, patched_joint_tour_participants["person_id"] + ) + patched_joint_tour_participants[ASIM_PARTICIPANT_ID] = ( + patched_joint_tour_participants[ASIM_TOUR_ID] * cid.MAX_PARTICIPANT_PNUM + ) + participant_pnum ##################### # non_mandatory tours ##################### - non_mandatory_tours = \ - set_tour_index(tours[tours.tour_category == 'non_mandatory'], parent_tour_num_col=None, is_joint=False) + non_mandatory_tours = set_tour_index( + tours[tours.tour_category == "non_mandatory"], + parent_tour_num_col=None, + is_joint=False, + ) ##################### # atwork tours ##################### - atwork_tours = tours[tours.tour_category == 'atwork'] + atwork_tours = tours[tours.tour_category == "atwork"] # patch atwork tours parent_tour_id before assigning their tour_id @@ -407,50 +492,71 @@ def set_tour_index(tours, parent_tour_num_col, is_joint): # tours for students with both work and school trips should have lower tour_num for school # tours are already sorted, but schools comes before work (which is alphabetical, not the alternative id order), # so work_and_school tour_nums are correct for students (school=1, work=2) but workers need to be flipped - mandatory_tour_frequency = \ - reindex(persons.mandatory_tour_frequency, mandatory_tours.person_id) - is_worker = \ - reindex(persons.pemploy, mandatory_tours.person_id).\ - isin([CONSTANTS['PEMPLOY_FULL'], CONSTANTS['PEMPLOY_PART']]) - work_and_school_and_worker = (mandatory_tour_frequency == 'work_and_school') & is_worker + mandatory_tour_frequency = reindex( + persons.mandatory_tour_frequency, mandatory_tours.person_id + ) + is_worker = reindex(persons.pemploy, mandatory_tours.person_id).isin( + [CONSTANTS["PEMPLOY_FULL"], CONSTANTS["PEMPLOY_PART"]] + ) + work_and_school_and_worker = ( + mandatory_tour_frequency == "work_and_school" + ) & is_worker # calculate tour_num for work tours (required to set_tour_index for atwork subtours) parent_tours = mandatory_tours[[SURVEY_TOUR_ID]] - parent_tours['tour_num'] = \ - mandatory_tours.\ - sort_values(by=['person_id', 'tour_category', 'tour_type']).\ - groupby(['person_id', 'tour_category']).cumcount() + 1 - - parent_tours.tour_num = parent_tours.tour_num.where(~work_and_school_and_worker, 3 - parent_tours.tour_num) + parent_tours["tour_num"] = ( + mandatory_tours.sort_values(by=["person_id", "tour_category", "tour_type"]) + .groupby(["person_id", "tour_category"]) + .cumcount() + + 1 + ) + + parent_tours.tour_num = parent_tours.tour_num.where( + ~work_and_school_and_worker, 3 - parent_tours.tour_num + ) parent_tours = parent_tours.set_index(SURVEY_TOUR_ID, drop=True) # temporarily add parent_tour_num column to atwork tours, call set_tour_index, and then delete it - atwork_tours['parent_tour_num'] = reindex(parent_tours.tour_num, atwork_tours[SURVEY_PARENT_TOUR_ID]) + atwork_tours["parent_tour_num"] = reindex( + parent_tours.tour_num, atwork_tours[SURVEY_PARENT_TOUR_ID] + ) - atwork_tours = set_tour_index(atwork_tours, parent_tour_num_col='parent_tour_num', is_joint=False) + atwork_tours = set_tour_index( + atwork_tours, parent_tour_num_col="parent_tour_num", is_joint=False + ) - del atwork_tours['parent_tour_num'] + del atwork_tours["parent_tour_num"] # tours['household_id'] = reindex(persons.household_id, tours.person_id) - asim_tour_id = pd.Series(mandatory_tours.index, index=mandatory_tours[SURVEY_TOUR_ID]) - atwork_tours[ASIM_PARENT_TOUR_ID] = reindex(asim_tour_id, atwork_tours[SURVEY_PARENT_TOUR_ID]) + asim_tour_id = pd.Series( + mandatory_tours.index, index=mandatory_tours[SURVEY_TOUR_ID] + ) + atwork_tours[ASIM_PARENT_TOUR_ID] = reindex( + asim_tour_id, atwork_tours[SURVEY_PARENT_TOUR_ID] + ) ##################### # concat tours ##################### # only true for fake data - assert (mandatory_tours.index == unmangle_ids(mandatory_tours[SURVEY_TOUR_ID])).all() + assert ( + mandatory_tours.index == unmangle_ids(mandatory_tours[SURVEY_TOUR_ID]) + ).all() assert (joint_tours.index == unmangle_ids(joint_tours[SURVEY_TOUR_ID])).all() - assert (non_mandatory_tours.index == unmangle_ids(non_mandatory_tours[SURVEY_TOUR_ID])).all() + assert ( + non_mandatory_tours.index == unmangle_ids(non_mandatory_tours[SURVEY_TOUR_ID]) + ).all() - patched_tours = pd.concat([mandatory_tours, joint_tours, non_mandatory_tours, atwork_tours]) + patched_tours = pd.concat( + [mandatory_tours, joint_tours, non_mandatory_tours, atwork_tours] + ) assert patched_tours.index.name == ASIM_TOUR_ID patched_tours = patched_tours.reset_index() - del patched_tours['tour_type_num'] + del patched_tours["tour_type_num"] assert ASIM_TOUR_ID in patched_tours assert ASIM_PARENT_TOUR_ID in patched_tours @@ -461,9 +567,14 @@ def set_tour_index(tours, parent_tour_num_col, is_joint): def infer_atwork_subtour_frequency(configs_dir, tours): # first column is 'atwork_subtour_frequency' nickname, remaining columns are trip type counts - alts = pd.read_csv(os.path.join(configs_dir, 'atwork_subtour_frequency_alternatives.csv'), comment='#') - tour_types = list(alts.drop(columns=alts.columns[0]).columns) # get trip_types, ignoring first column - alts['alt_id'] = alts.index + alts = pd.read_csv( + os.path.join(configs_dir, "atwork_subtour_frequency_alternatives.csv"), + comment="#", + ) + tour_types = list( + alts.drop(columns=alts.columns[0]).columns + ) # get trip_types, ignoring first column + alts["alt_id"] = alts.index # alt eat business maint alt_id # 0 no_subtours 0 0 0 0 @@ -473,40 +584,58 @@ def infer_atwork_subtour_frequency(configs_dir, tours): # 4 business2 0 2 0 4 # 5 eat_business 1 1 0 5 - work_tours = tours[tours.tour_type == 'work'] + work_tours = tours[tours.tour_type == "work"] work_tours = work_tours[[ASIM_TOUR_ID]] - subtours = tours[tours.tour_category == 'atwork'] - subtours = subtours[['tour_id', 'tour_type', 'parent_tour_id']] + subtours = tours[tours.tour_category == "atwork"] + subtours = subtours[["tour_id", "tour_type", "parent_tour_id"]] # actual tour counts (may exceed counts envisioned by alts) tour_counts = pd.DataFrame(index=work_tours[ASIM_TOUR_ID]) for tour_type in tour_types: # count subtours of this type by parent_tour_id - tour_type_count = subtours[subtours.tour_type == tour_type].groupby('parent_tour_id').size() + tour_type_count = ( + subtours[subtours.tour_type == tour_type].groupby("parent_tour_id").size() + ) # backfill with 0 count - tour_counts[tour_type] = tour_type_count.reindex(tour_counts.index).fillna(0).astype(np.int8) + tour_counts[tour_type] = ( + tour_type_count.reindex(tour_counts.index).fillna(0).astype(np.int8) + ) # determine alt id corresponding to constrained_tour_counts # need to do index waltz because pd.merge doesn't preserve index in this case - tour_counts = \ - pd.merge(tour_counts.reset_index(), alts, - left_on=tour_types, right_on=tour_types, how='left').set_index(tour_counts.index.name) + tour_counts = pd.merge( + tour_counts.reset_index(), + alts, + left_on=tour_types, + right_on=tour_types, + how="left", + ).set_index(tour_counts.index.name) atwork_subtour_frequency = tour_counts.alt # did we end up with any tour frequencies not in alts? if atwork_subtour_frequency.isna().any(): bad_tour_frequencies = atwork_subtour_frequency.isna() - logger.warning("WARNING Bad atwork subtour frequencies for %s work tours" % bad_tour_frequencies.sum()) - logger.warning("WARNING Bad atwork subtour frequencies: num_tours\n%s" % - tour_counts[bad_tour_frequencies]) - logger.warning("WARNING Bad atwork subtour frequencies: num_tours\n%s" % - subtours[subtours.parent_tour_id.isin(tour_counts[bad_tour_frequencies].index)]. - sort_values('parent_tour_id')) + logger.warning( + "WARNING Bad atwork subtour frequencies for %s work tours" + % bad_tour_frequencies.sum() + ) + logger.warning( + "WARNING Bad atwork subtour frequencies: num_tours\n%s" + % tour_counts[bad_tour_frequencies] + ) + logger.warning( + "WARNING Bad atwork subtour frequencies: num_tours\n%s" + % subtours[ + subtours.parent_tour_id.isin(tour_counts[bad_tour_frequencies].index) + ].sort_values("parent_tour_id") + ) bug - atwork_subtour_frequency = reindex(atwork_subtour_frequency, tours[ASIM_TOUR_ID]).fillna('') + atwork_subtour_frequency = reindex( + atwork_subtour_frequency, tours[ASIM_TOUR_ID] + ).fillna("") return atwork_subtour_frequency @@ -522,7 +651,9 @@ def patch_trip_ids(tours, trips): # patch tour_id foreign key # tours['household_id'] = reindex(persons.household_id, tours.person_id) - asim_tour_id = pd.Series(tours[ASIM_TOUR_ID].values, index=tours[SURVEY_TOUR_ID].values) + asim_tour_id = pd.Series( + tours[ASIM_TOUR_ID].values, index=tours[SURVEY_TOUR_ID].values + ) trips[ASIM_TOUR_ID] = reindex(asim_tour_id, trips[SURVEY_TOUR_ID]) # person_is_university = persons.pstudent == constants.PSTUDENT_UNIVERSITY @@ -533,16 +664,18 @@ def patch_trip_ids(tours, trips): # trips['primary_purpose'] = reindex(tour_primary_purpose, trips.tour_id) # if order is ambiguous if trips depart in same time slot - order by SURVEY_TRIP_ID hoping that increases with time - if 'trip_num' not in trips: - trips['trip_num'] = \ - trips.sort_values(by=['tour_id', 'outbound', 'depart', SURVEY_TRIP_ID]).\ - groupby(['tour_id', 'outbound']).\ - cumcount() + 1 + if "trip_num" not in trips: + trips["trip_num"] = ( + trips.sort_values(by=["tour_id", "outbound", "depart", SURVEY_TRIP_ID]) + .groupby(["tour_id", "outbound"]) + .cumcount() + + 1 + ) cid.set_trip_index(trips) assert trips.index.name == ASIM_TRIP_ID - trips = trips.reset_index().rename(columns={'trip_id': ASIM_TRIP_ID}) + trips = trips.reset_index().rename(columns={"trip_id": ASIM_TRIP_ID}) return trips @@ -553,18 +686,20 @@ def infer_stop_frequency(configs_dir, tours, trips): # 0out_0in,0,0 # 0out_1in,0,1 # ... - alts = pd.read_csv(os.path.join(configs_dir, 'stop_frequency_alternatives.csv'), comment='#') - assert 'alt' in alts - assert 'in' in alts - assert 'out' in alts + alts = pd.read_csv( + os.path.join(configs_dir, "stop_frequency_alternatives.csv"), comment="#" + ) + assert "alt" in alts + assert "in" in alts + assert "out" in alts freq = pd.DataFrame(index=tours[SURVEY_TOUR_ID]) # number of trips is one less than number of stops - freq['out'] = trips[trips.outbound].groupby(SURVEY_TOUR_ID).trip_num.max() - 1 - freq['in'] = trips[~trips.outbound].groupby(SURVEY_TOUR_ID).trip_num.max() - 1 + freq["out"] = trips[trips.outbound].groupby(SURVEY_TOUR_ID).trip_num.max() - 1 + freq["in"] = trips[~trips.outbound].groupby(SURVEY_TOUR_ID).trip_num.max() - 1 - freq = pd.merge(freq.reset_index(), alts, on=['out', 'in'], how='left') + freq = pd.merge(freq.reset_index(), alts, on=["out", "in"], how="left") assert (freq[SURVEY_TOUR_ID] == tours[SURVEY_TOUR_ID]).all() @@ -574,37 +709,41 @@ def infer_stop_frequency(configs_dir, tours, trips): def read_tables(input_dir, tables): for table, info in tables.items(): - table = pd.read_csv(os.path.join(input_dir, info['file_name']), index_col=info.get('index')) + table = pd.read_csv( + os.path.join(input_dir, info["file_name"]), index_col=info.get("index") + ) # coerce missing data in string columns to empty strings, not NaNs for c in table.columns: # read_csv converts empty string to NaN, even if all non-empty values are strings - if table[c].dtype == 'object': + if table[c].dtype == "object": print("##### converting", c, table[c].dtype) - table[c] = table[c].fillna('').astype(str) - info['table'] = table + table[c] = table[c].fillna("").astype(str) + info["table"] = table - households = tables['households'].get('table') - persons = tables['persons'].get('table') - tours = tables['tours'].get('table') - joint_tour_participants = tables['joint_tour_participants'].get('table') - trips = tables['trips'].get('table') + households = tables["households"].get("table") + persons = tables["persons"].get("table") + tours = tables["tours"].get("table") + joint_tour_participants = tables["joint_tour_participants"].get("table") + trips = tables["trips"].get("table") return households, persons, tours, joint_tour_participants, trips def check_controls(table_name, column_name): - table = survey_tables[table_name].get('table') - c_table = control_tables[table_name].get('table') + table = survey_tables[table_name].get("table") + c_table = control_tables[table_name].get("table") - if column_name == 'index': - dont_match = (table.index != c_table.index) + if column_name == "index": + dont_match = table.index != c_table.index else: - dont_match = (table[column_name] != c_table[column_name]) + dont_match = table[column_name] != c_table[column_name] if dont_match.any(): - print("check_controls %s.%s: %s out of %s do not match" % - (table_name, column_name, dont_match.sum(), len(table))) + print( + "check_controls %s.%s: %s out of %s do not match" + % (table_name, column_name, dont_match.sum(), len(table)) + ) print("control\n%s" % c_table[dont_match][[column_name]]) print("survey\n%s" % table[dont_match][[column_name]]) @@ -617,75 +756,96 @@ def check_controls(table_name, column_name): def infer(configs_dir, input_dir, output_dir): - households, persons, tours, joint_tour_participants, trips = read_tables(input_dir, survey_tables) + households, persons, tours, joint_tour_participants, trips = read_tables( + input_dir, survey_tables + ) # be explicit about all tour_ids to avoid confusion between asim and survey ids - tours = tours.rename(columns={'tour_id': SURVEY_TOUR_ID, 'parent_tour_id': SURVEY_PARENT_TOUR_ID}) - joint_tour_participants = \ - joint_tour_participants.rename(columns={'tour_id': SURVEY_TOUR_ID, 'participant_id': SURVEY_PARTICIPANT_ID}) - trips = trips.rename(columns={'trip_id': SURVEY_TRIP_ID, 'tour_id': SURVEY_TOUR_ID}) + tours = tours.rename( + columns={"tour_id": SURVEY_TOUR_ID, "parent_tour_id": SURVEY_PARENT_TOUR_ID} + ) + joint_tour_participants = joint_tour_participants.rename( + columns={"tour_id": SURVEY_TOUR_ID, "participant_id": SURVEY_PARTICIPANT_ID} + ) + trips = trips.rename(columns={"trip_id": SURVEY_TRIP_ID, "tour_id": SURVEY_TOUR_ID}) # mangle survey tour ids to keep us honest tours[SURVEY_TOUR_ID] = mangle_ids(tours[SURVEY_TOUR_ID]) tours[SURVEY_PARENT_TOUR_ID] = mangle_ids(tours[SURVEY_PARENT_TOUR_ID]) - joint_tour_participants[SURVEY_TOUR_ID] = mangle_ids(joint_tour_participants[SURVEY_TOUR_ID]) - joint_tour_participants[SURVEY_PARTICIPANT_ID] = mangle_ids(joint_tour_participants[SURVEY_PARTICIPANT_ID]) + joint_tour_participants[SURVEY_TOUR_ID] = mangle_ids( + joint_tour_participants[SURVEY_TOUR_ID] + ) + joint_tour_participants[SURVEY_PARTICIPANT_ID] = mangle_ids( + joint_tour_participants[SURVEY_PARTICIPANT_ID] + ) trips[SURVEY_TRIP_ID] = mangle_ids(trips[SURVEY_TRIP_ID]) trips[SURVEY_TOUR_ID] = mangle_ids(trips[SURVEY_TOUR_ID]) # persons.cdap_activity - persons['cdap_activity'] = infer_cdap_activity(persons, tours, joint_tour_participants) + persons["cdap_activity"] = infer_cdap_activity( + persons, tours, joint_tour_participants + ) # check but don't assert as this is not deterministic - skip_controls or check_controls('persons', 'cdap_activity') + skip_controls or check_controls("persons", "cdap_activity") # persons.mandatory_tour_frequency - persons['mandatory_tour_frequency'] = infer_mandatory_tour_frequency(persons, tours) - assert skip_controls or check_controls('persons', 'mandatory_tour_frequency') + persons["mandatory_tour_frequency"] = infer_mandatory_tour_frequency(persons, tours) + assert skip_controls or check_controls("persons", "mandatory_tour_frequency") # persons.non_mandatory_tour_frequency tour_frequency = infer_non_mandatory_tour_frequency(configs_dir, persons, tours) for c in tour_frequency.columns: print("assigning persons", c) persons[c] = tour_frequency[c] - assert skip_controls or check_controls('persons', 'non_mandatory_tour_frequency') + assert skip_controls or check_controls("persons", "non_mandatory_tour_frequency") # patch_tour_ids - tours, joint_tour_participants = patch_tour_ids(persons, tours, joint_tour_participants) - survey_tables['tours']['table'] = tours - survey_tables['joint_tour_participants']['table'] = joint_tour_participants + tours, joint_tour_participants = patch_tour_ids( + persons, tours, joint_tour_participants + ) + survey_tables["tours"]["table"] = tours + survey_tables["joint_tour_participants"]["table"] = joint_tour_participants - assert skip_controls or check_controls('tours', 'index') - assert skip_controls or check_controls('joint_tour_participants', 'index') + assert skip_controls or check_controls("tours", "index") + assert skip_controls or check_controls("joint_tour_participants", "index") # patch_tour_ids trips = patch_trip_ids(tours, trips) - survey_tables['trips']['table'] = trips # so we can check_controls - assert skip_controls or check_controls('trips', 'index') + survey_tables["trips"]["table"] = trips # so we can check_controls + assert skip_controls or check_controls("trips", "index") # households.joint_tour_frequency - households['joint_tour_frequency'] = infer_joint_tour_frequency(configs_dir, households, tours) - assert skip_controls or check_controls('households', 'joint_tour_frequency') + households["joint_tour_frequency"] = infer_joint_tour_frequency( + configs_dir, households, tours + ) + assert skip_controls or check_controls("households", "joint_tour_frequency") # tours.composition - tours['composition'] = infer_joint_tour_composition(persons, tours, joint_tour_participants) - assert skip_controls or check_controls('tours', 'composition') + tours["composition"] = infer_joint_tour_composition( + persons, tours, joint_tour_participants + ) + assert skip_controls or check_controls("tours", "composition") # tours.tdd - tours['tdd'] = infer_tour_scheduling(configs_dir, tours) - assert skip_controls or check_controls('tours', 'tdd') + tours["tdd"] = infer_tour_scheduling(configs_dir, tours) + assert skip_controls or check_controls("tours", "tdd") - tours['atwork_subtour_frequency'] = infer_atwork_subtour_frequency(configs_dir, tours) - assert skip_controls or check_controls('tours', 'atwork_subtour_frequency') + tours["atwork_subtour_frequency"] = infer_atwork_subtour_frequency( + configs_dir, tours + ) + assert skip_controls or check_controls("tours", "atwork_subtour_frequency") - tours['stop_frequency'] = infer_stop_frequency(configs_dir, tours, trips) - assert skip_controls or check_controls('tours', 'stop_frequency') + tours["stop_frequency"] = infer_stop_frequency(configs_dir, tours, trips) + assert skip_controls or check_controls("tours", "stop_frequency") # write output files - households.to_csv(os.path.join(output_dir, outputs['households']), index=True) - persons.to_csv(os.path.join(output_dir, outputs['persons']), index=True) - tours.to_csv(os.path.join(output_dir, outputs['tours']), index=False) - joint_tour_participants.to_csv(os.path.join(output_dir, outputs['joint_tour_participants']), index=False) - trips.to_csv(os.path.join(output_dir, outputs['trips']), index=False) + households.to_csv(os.path.join(output_dir, outputs["households"]), index=True) + persons.to_csv(os.path.join(output_dir, outputs["persons"]), index=True) + tours.to_csv(os.path.join(output_dir, outputs["tours"]), index=False) + joint_tour_participants.to_csv( + os.path.join(output_dir, outputs["joint_tour_participants"]), index=False + ) + trips.to_csv(os.path.join(output_dir, outputs["trips"]), index=False) # python infer.py data @@ -695,10 +855,10 @@ def infer(configs_dir, input_dir, output_dir): data_dir = args[0] configs_dir = args[1] -with open(os.path.join(configs_dir, 'constants.yaml')) as stream: +with open(os.path.join(configs_dir, "constants.yaml")) as stream: CONSTANTS = yaml.load(stream, Loader=yaml.SafeLoader) -input_dir = os.path.join(data_dir, 'survey_data/') +input_dir = os.path.join(data_dir, "survey_data/") output_dir = input_dir if apply_controls: diff --git a/activitysim/examples/example_manifest.yaml b/activitysim/examples/example_manifest.yaml index 7ea94cd49d..5c29a9924c 100644 --- a/activitysim/examples/example_manifest.yaml +++ b/activitysim/examples/example_manifest.yaml @@ -1,38 +1,26 @@ -- name: example_mtc - description: 25-zone example for the MTC region - # activitysim create -e example_mtc -d test_example_mtc - # cd test_example_mtc +- name: prototype_mtc + description: 25-zone example extracted from the prototype MTC model + # activitysim create -e prototype_mtc -d test_prototype_mtc + # cd test_prototype_mtc # activitysim run -c configs -o output -d data # cd .. include: - - example_mtc/data - - example_mtc/configs - - example_mtc/configs_mp - - example_mtc/output - - example_mtc/README.MD + - prototype_mtc/data + - prototype_mtc/configs + - prototype_mtc/configs_mp + - prototype_mtc/output + - prototype_mtc/README.MD -- name: example_test - description: data and configs for the ActivitySim test system - # activitysim create -e example_test -d test_example_test - # cd test_example_test - # activitysim run -c configs -o output -d data - # cd .. - include: - - example_mtc/data - - example_mtc/configs - - example_mtc/configs_mp - - example_mtc/output - -- name: example_mtc_full - description: Full 1475-zone dataset for the MTC region with 2.8M households and 7.5M persons - # activitysim create -e example_mtc_full -d test_example_mtc_full - # cd test_example_mtc_full +- name: prototype_mtc_full + description: Prototype MTC example model using data from the full 1475-zone MTC region with 2.8M households and 7.5M persons + # activitysim create -e prototype_mtc_full -d test_prototype_mtc_full + # cd test_prototype_mtc_full # activitysim run -c configs_mp -c configs -o output -d data # cd .. include: - - example_mtc/configs - - example_mtc/configs_mp - - example_mtc/output + - prototype_mtc/configs + - prototype_mtc/configs_mp + - prototype_mtc/output - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_full/skims.omx data/skims.omx 04bddb2dd6b829a2ce25a27369d3276143fa9a354989ebd30ed9bba92f8e9bfb @@ -46,35 +34,35 @@ data/land_use.csv fac71207925a34c32b956632fe375814e42860624a99f88401c42317af0fc203 -- name: example_mtc_extended - description: 25-zone example for the MTC region with extended models - # activitysim create -e example_mtc_extended -d test_example_mtc_extended - # cd test_example_mtc_extended +- name: prototype_mtc_extended + description: 25-zone prototype MTC example with extended models + # activitysim create -e prototype_mtc_extended -d test_prototype_mtc_extended + # cd test_prototype_mtc_extended # activitysim run -c configs_extended/configs -c configs -o output -d data # cd .. include: - - example_mtc/data - - example_mtc_extended/configs + - prototype_mtc/data + - prototype_mtc_extended/configs configs_extended - - example_mtc/configs - - example_mtc_extended/configs_mp - - example_mtc_extended/output - - example_mtc_extended/README.MD + - prototype_mtc/configs + - prototype_mtc_extended/configs_mp + - prototype_mtc_extended/output + - prototype_mtc_extended/README.MD -- name: example_mtc_full_extended - description: Full 1475-zone dataset for the MTC region with 2.8M households and 7.5M persons with extended models - # activitysim create -e example_mtc_full_extended -d test_example_mtc_full_extended - # cd test_example_mtc_full_extended +- name: prototype_mtc_extended_full + description: Prototype MTC example model using data from the full 1475-zone MTC region with 2.8M households and 7.5M persons + # activitysim create -e prototype_mtc_extended_full -d test_prototype_mtc_extended_full + # cd test_prototype_mtc_extended_full # activitysim run -c configs_mp -c configs_extended/configs -c configs -o output -d data # cd .. include: - - example_mtc/data - - example_mtc/configs - - example_mtc_extended/configs + - prototype_mtc/data + - prototype_mtc/configs + - prototype_mtc_extended/configs configs_extended - - example_mtc_extended/configs_mp - - example_mtc_extended/output - - example_mtc_extended/README.MD + - prototype_mtc_extended/configs_mp + - prototype_mtc_extended/output + - prototype_mtc_extended/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_full/skims.omx data/skims.omx - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_full/households.csv @@ -84,17 +72,17 @@ - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_full/land_use.csv data/land_use.csv -- name: example_mtc_sf +- name: prototype_mtc_sf description: San Francisco MTC dataset with 190 zones, 400k households and 900k persons - # activitysim create -e example_mtc_sf -d test_example_mtc_sf - # cd test_example_mtc_sf + # activitysim create -e prototype_mtc_sf -d test_prototype_mtc_sf + # cd test_prototype_mtc_sf # activitysim run -c configs -o output -d data # cd .. include: - - example_mtc/configs - - example_mtc/configs_mp - - example_mtc/data - - example_mtc/output + - prototype_mtc/configs + - prototype_mtc/configs_mp + - prototype_mtc/data + - prototype_mtc/output - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_sf/skims.omx data/skims.omx 579d6007266db3b055d0f9e4814004f4d5ccfae27a36e40f4881e3662bc3d3f1 @@ -115,13 +103,13 @@ # activitysim run -c configs_estimation/configs -c configs -o output -d data_test # cd .. include: - - example_mtc/configs + - prototype_mtc/configs - example_estimation/configs configs_estimation - example_estimation/data_test - - example_mtc/data/skims.omx + - prototype_mtc/data/skims.omx data_test/skims.omx - - example_mtc/output + - prototype_mtc/output - name: example_estimation_sf description: Estimation mode San Francisco MTC dataset with 190 zones, 2k households and 8k persons @@ -130,26 +118,26 @@ # activitysim run -c configs_estimation/configs -c configs -o output -d data_sf # cd .. include: - - example_mtc/configs + - prototype_mtc/configs - example_estimation/configs configs_estimation - example_estimation/data_sf - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/mtc_data_sf/skims.omx data_sf/skims.omx 579d6007266db3b055d0f9e4814004f4d5ccfae27a36e40f4881e3662bc3d3f1 - - example_mtc/output + - prototype_mtc/output -- name: example_2_zone - description: 2 zone system test example based on TM1 - # activitysim create -e example_2_zone -d test_example_2_zone - # cd test_example_2_zone +- name: placeholder_2_zone + description: 2 zone system test example based on prototype MTC + # activitysim create -e placeholder_2_zone -d test_placeholder_2_zone + # cd test_placeholder_2_zone # activitysim run -c configs_2_zone -c configs -d data_2 -o output_2 # cd .. include: - - example_mtc/configs - - example_multiple_zone/configs_2_zone - - example_multiple_zone/data_2 - - example_multiple_zone/output_2 + - prototype_mtc/configs + - placeholder_multiple_zone/configs_2_zone + - placeholder_multiple_zone/data_2 + - placeholder_multiple_zone/output_2 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/data_2/households.csv data_2/households.csv 0e247da9105b152730573e782e7b5f1d62040e3b381f683286fe1bb22f949529 @@ -175,22 +163,22 @@ data_2/taz_skims.omx 773c89369f748e26309786b42aa4c62b5dd329a931214dd63a11007001de3829 -- name: example_3_zone - description: 3 zone system test example based on TM1 - # activitysim create -e example_3_zone -d test_example_3_zone - # cd test_example_3_zone +- name: placeholder_3_zone + description: 3 zone system test example based on prototype MTC + # activitysim create -e placeholder_3_zone -d test_placeholder_3_zone + # cd test_placeholder_3_zone # activitysim run -c configs_3_zone -c configs -d data_3 -o output_3 -s settings_static.yaml # cd .. - # activitysim create -e example_3_zone -d test_example_3_zone_mp - # cd test_example_3_zone_mp + # activitysim create -e placeholder_3_zone -d test_placeholder_3_zone_mp + # cd test_placeholder_3_zone_mp # activitysim run -c configs_3_zone -c configs -d data_3 -o output_3 -s settings_mp.yaml # cd .. include: - - example_mtc/configs - - example_multiple_zone/configs_3_zone - - example_multiple_zone/configs_local - - example_multiple_zone/data_3 - - example_multiple_zone/output_3 + - prototype_mtc/configs + - placeholder_multiple_zone/configs_3_zone + - placeholder_multiple_zone/configs_local + - placeholder_multiple_zone/data_3 + - placeholder_multiple_zone/output_3 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/data_3/households.csv data_3/households.csv 0e247da9105b152730573e782e7b5f1d62040e3b381f683286fe1bb22f949529 @@ -231,37 +219,37 @@ data_3/taz_skims.omx d3f89e29878d3384318b15db26bfddb48d63c9a8d5187aa02797178cfead0394 -- name: example_marin +- name: prototype_marin description: Marin TM2 work tour mode choice cropped to Downtown SF for testing - # activitysim create -e example_marin -d test_example_marin - # cd test_example_marin + # activitysim create -e prototype_marin -d test_prototype_marin + # cd test_prototype_marin # activitysim run -c configs -d data -o output # cd .. - # activitysim create -e example_marin -d test_example_marin_mp - # cd test_example_marin_mp + # activitysim create -e prototype_marin -d test_prototype_marin_mp + # cd test_prototype_marin_mp # activitysim run -c configs -d data -o output -s settings_mp.yaml # cd .. include: - - example_marin/configs - - example_marin/data - - example_marin/output - - example_marin/README.MD + - prototype_marin/configs + - prototype_marin/data + - prototype_marin/output + - prototype_marin/README.MD -- name: example_marin_sf +- name: prototype_marin_sf description: Marin TM2 work tour mode choice cropped to marin and sf counties for testing (2054 MAZ - # activitysim create -e example_marin_sf -d test_example_marin_sf - # cd test_example_marin_sf + # activitysim create -e prototype_marin_sf -d test_prototype_marin_sf + # cd test_prototype_marin_sf # activitysim run -c configs -d data -o output # cd .. - # activitysim create -e example_marin_sf -d test_example_marin_sf_mp - # cd test_example_marin_sf_mp + # activitysim create -e prototype_marin_sf -d test_prototype_marin_sf_mp + # cd test_prototype_marin_sf_mp # activitysim run -c configs -d data -o output -s settings_mp.yaml # cd .. include: - - example_marin/configs - - example_marin/data - - example_marin/output - - example_marin/README.MD + - prototype_marin/configs + - prototype_marin/data + - prototype_marin/output + - prototype_marin/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/marin_data_marin_sf/highway_skims_AM.omx data/highway_skims_AM.omx 2d5d21266a0cd29f174858bc2c47a26067c7af35e12793a78a3dc673df9f13df @@ -323,17 +311,17 @@ data/work_tours.csv a88082ead7ace00f1b2d8ed3997aa3d27c0bc36c9deeee8b8e4c6cf85d6a7004 -- name: example_3_marin_full +- name: prototype_3_marin_full description: Marin TM2 work tour mode choice for the 9 county MTC region - # activitysim create -e example_3_marin_full -d test_example_3_marin_full - # cd test_example_3_marin_full + # activitysim create -e prototype_3_marin_full -d test_prototype_3_marin_full + # cd test_prototype_3_marin_full # activitysim run -c configs -d data -o output -s settings_mp.yaml # cd .. include: - - example_marin/configs - - example_marin/data - - example_marin/output - - example_marin/README.MD + - prototype_marin/configs + - prototype_marin/data + - prototype_marin/output + - prototype_marin/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/marin_data_full/highway_skims_AM.omx data/highway_skims_AM.omx e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 @@ -395,32 +383,32 @@ data/work_tours.csv 4d5accd2ed87faa70551cd0763b2a84a630f7dbdeeb09959c8300178cebedc8c -- name: example_psrc +- name: placeholder_psrc description: 27-TAZ 487-MAZ example for the PSRC region, with 14871 Households - # activitysim create -e example_psrc -d test_example_psrc - # cd test_example_psrc + # activitysim create -e placeholder_psrc -d test_placeholder_psrc + # cd test_placeholder_psrc # activitysim run -c configs -o output -d data # cd .. include: - - example_psrc/configs - - example_psrc/configs_skip_accessibility - - example_psrc/data - - example_psrc/output - - example_psrc/README.MD + - placeholder_psrc/configs + - placeholder_psrc/configs_skip_accessibility + - placeholder_psrc/data + - placeholder_psrc/output + - placeholder_psrc/README.MD -- name: example_psrc_seattle +- name: placeholder_psrc_seattle description: 781-TAZ 8400-MAZ example for the PSRC region, with 336,725 Households - # activitysim create -e example_psrc_seattle -d test_example_seattle - # cd test_example_seattle + # activitysim create -e placeholder_psrc_seattle -d test_placeholder_seattle + # cd test_placeholder_seattle # activitysim run -c configs -o output -d data # cd .. include: - - example_psrc/configs - - example_psrc/configs_skip_accessibility - - example_psrc/configs_accessibility - - example_psrc/data - - example_psrc/output - - example_psrc/README.MD + - placeholder_psrc/configs + - placeholder_psrc/configs_skip_accessibility + - placeholder_psrc/configs_accessibility + - placeholder_psrc/data + - placeholder_psrc/output + - placeholder_psrc/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/psrc_data_seattle/skims.omx data/skims.omx bbbdc70d4eceb71d3be0d025a21fb83d18a69a1806bad9cb85d66dba136b07df @@ -446,23 +434,23 @@ data/maz_to_maz_bike.csv 6c11e712abe91d6112f9bd85a7a5a01f4ce7642d44c86c3352c978ef1bb00b20 -- name: example_psrc_full +- name: placeholder_psrc_full description: 3444-TAZ 43589-MAZ example for the PSRC region - # activitysim create -e example_psrc_full -d test_example_psrc_full - # cd test_example_psrc_full + # activitysim create -e placeholder_psrc_full -d test_placeholder_psrc_full + # cd test_placeholder_psrc_full # activitysim run -c configs -o output -d data -s settings_mp.yaml # cd .. - # activitysim create -e example_psrc_full -d test_example_psrc_full_skip_access - # cd test_example_psrc_full_skip_access + # activitysim create -e placeholder_psrc_full -d test_placeholder_psrc_full_skip_access + # cd test_placeholder_psrc_full_skip_access # activitysim run -c configs_skip_accessibility -c configs -o output -d data -s settings_mp.yaml # cd .. include: - - example_psrc/configs - - example_psrc/configs_skip_accessibility - - example_psrc/configs_accessibility - - example_psrc/data - - example_psrc/output - - example_psrc/README.MD + - placeholder_psrc/configs + - placeholder_psrc/configs_skip_accessibility + - placeholder_psrc/configs_accessibility + - placeholder_psrc/data + - placeholder_psrc/output + - placeholder_psrc/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/psrc_data_full/skims.omx data/skims.omx 7e3746501632b1912ce4cc642f7401bf70141f121a71ba63d444e8d42197a4f7 @@ -500,35 +488,35 @@ data/final_accessibility.csv 949994345c9965054be260589fd64079e4032d2e4079e46b9eb9c758a40527c3 -- name: example_semcog +- name: prototype_semcog description: 67 zone test example for the SEMCOG region - # activitysim create -e example_semcog -d test_example_semcog - # cd test_example_semcog + # activitysim create -e prototype_semcog -d test_prototype_semcog + # cd test_prototype_semcog # python simulation.py -c configs -o output -d data # cd .. include: - - example_semcog/extensions - - example_semcog/data - - example_semcog/configs - - example_semcog/configs_mp - - example_semcog/output - - example_semcog/README.MD - - example_semcog/simulation.py + - prototype_semcog/extensions + - prototype_semcog/data + - prototype_semcog/configs + - prototype_semcog/configs_mp + - prototype_semcog/output + - prototype_semcog/README.MD + - prototype_semcog/simulation.py -- name: example_semcog_z500 +- name: prototype_semcog_z500 description: 500 zone intermediate size example for the SEMCOG region - # activitysim create -e example_semcog_z500 -d test_example_semcog_z500 - # cd test_example_semcog_z500 + # activitysim create -e prototype_semcog_z500 -d test_prototype_semcog_z500 + # cd test_prototype_semcog_z500 # python simulation.py -c configs -o output -d data # cd .. include: - - example_semcog/extensions - - example_semcog/data - - example_semcog/configs - - example_semcog/configs_mp - - example_semcog/output - - example_semcog/README.MD - - example_semcog/simulation.py + - prototype_semcog/extensions + - prototype_semcog/data + - prototype_semcog/configs + - prototype_semcog/configs_mp + - prototype_semcog/output + - prototype_semcog/README.MD + - prototype_semcog/simulation.py - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/semcog_data_z500/skims.omx data/skims.omx 7c824032940d1006e731d715bcee8771572e03558eef40ca1ca5f820bfc071ca @@ -542,20 +530,20 @@ data/land_use.csv d4ddb6f5fc7cd844e3e9149d03d32c841c5cb641a77aea9174045ddb85f27a3a -- name: example_semcog_full +- name: prototype_semcog_full description: 2899 zone full size example for the SEMCOG region - # activitysim create -e example_semcog_full -d test_example_semcog_full - # cd test_example_semcog_full + # activitysim create -e prototype_semcog_full -d test_prototype_semcog_full + # cd test_prototype_semcog_full # python simulation.py -c configs_mp -c configs -o output -d data # cd .. include: - - example_semcog/extensions - - example_semcog/data - - example_semcog/configs - - example_semcog/configs_mp - - example_semcog/output - - example_semcog/README.MD - - example_semcog/simulation.py + - prototype_semcog/extensions + # prototype_semcog/data # data loaded from activitysim_resources + - prototype_semcog/configs + - prototype_semcog/configs_mp + - prototype_semcog/output + - prototype_semcog/README.MD + - prototype_semcog/simulation.py - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/semcog_data_full/skims.omx data/skims.omx efa1f87395df354ccfad7cfe4e67ace96c7ac04fa0290e5e6f8e2593fc0ba6a3 @@ -572,29 +560,29 @@ data/land_use.csv 8f9146993bff315afc6ada52182cb3ea719a6a1ed07095b51535bc7c026285f6 -- name: example_arc +- name: prototype_arc description: 36 zone test example for the ARC region - # activitysim create -e example_arc -d test_example_arc - # cd test_example_arc + # activitysim create -e prototype_arc -d test_prototype_arc + # cd test_prototype_arc # activitysim run -c configs -o output -d data # cd .. include: - - example_arc/data - - example_arc/configs - - example_arc/output - - example_arc/README.MD + - prototype_arc/data + - prototype_arc/configs + - prototype_arc/output + - prototype_arc/README.MD -- name: example_arc_fulton +- name: prototype_arc_fulton description: 1296 zone fulton county example for the ARC region - # activitysim create -e example_arc_fulton -d test_example_arc_fulton - # cd test_example_arc_fulton + # activitysim create -e prototype_arc_fulton -d test_prototype_arc_fulton + # cd test_prototype_arc_fulton # activitysim run -c configs -o output -d data # cd .. include: - - example_arc/data - - example_arc/configs - - example_arc/output - - example_arc/README.MD + - prototype_arc/data + - prototype_arc/configs + - prototype_arc/output + - prototype_arc/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/arc_data_fulton/skims.omx data/skims.omx 335be57a0b89eac8b51874cc5d8a2c0a0b19472f7ac77c99fd8afd54f223712b @@ -608,17 +596,17 @@ data/land_use.csv 09a8c0cd0771c4ec3713940fc3d5b9e9443cc104668f7403c2caefb75c4fbb08 -- name: example_arc_full +- name: prototype_arc_full description: 5922 zone full example for the ARC region - # activitysim create -e example_arc_full -d test_example_arc_full - # cd test_example_arc_full + # activitysim create -e prototype_arc_full -d test_prototype_arc_full + # cd test_prototype_arc_full # activitysim run -c configs -o output -d data -s settings_mp.yaml # cd .. include: - - example_arc/data - - example_arc/configs - - example_arc/output - - example_arc/README.MD + # - prototype_arc/data # data is provided below + - prototype_arc/configs + - prototype_arc/output + - prototype_arc/README.MD - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/arc_data_full/skims.omx data/skims.omx 55af7b893f13b5275fd7d9721a07f3e09d98a2660fa5fa6f5ff99f8fa8ffbcdf @@ -641,31 +629,31 @@ data/land_use.csv 36383b4c9dacdd7dd10c84b4479aa9f53ced23e155b6d354c468decc6710c80e -- name: example_sandag_1_zone +- name: placeholder_sandag_1_zone description: 90-TAZ (includes univ) 1-zone test example for the SANDAG region - # activitysim create -e example_sandag_1_zone -d test_example_sandag_1_zone - # cd test_example_sandag_1_zone - # activitysim run -c configs_1_zone -c example_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_1_zone -d test_placeholder_sandag_1_zone + # cd test_placeholder_sandag_1_zone + # activitysim run -c configs_1_zone -c prototype_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml # cd .. include: - - example_sandag/../example_mtc/configs - example_mtc - - example_sandag/configs_1_zone - - example_sandag/data_1 - - example_sandag/output_1 + - placeholder_sandag/../prototype_mtc/configs + prototype_mtc + - placeholder_sandag/configs_1_zone + - placeholder_sandag/data_1 + - placeholder_sandag/output_1 -- name: example_sandag_1_zone_full +- name: placeholder_sandag_1_zone_full description: full 1-zone example for the SANDAG region - # activitysim create -e example_sandag_1_zone_full -d test_example_sandag_1_zone_full - # cd test_example_sandag_1_zone_full - # activitysim run -c configs_1_zone -c example_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_1_zone_full -d test_placeholder_sandag_1_zone_full + # cd test_placeholder_sandag_1_zone_full + # activitysim run -c configs_1_zone -c prototype_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml # cd .. include: - - example_sandag/../example_mtc/configs - example_mtc - - example_sandag/configs_1_zone - - example_sandag/data_1 - - example_sandag/output_1 + - placeholder_sandag/../prototype_mtc/configs + prototype_mtc + - placeholder_sandag/configs_1_zone + - placeholder_sandag/data_1 + - placeholder_sandag/output_1 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_1_zone_data_full/households.csv data_1/households.csv 2b0b19a1a0b00901e80a533fc6418a4dbeb3d0b017d9feadae71324f9145dcec @@ -694,31 +682,34 @@ data_1/skims6.omx e3f7fb1e0b334fc83dc69985dce8b925e3660149c5de5635c7d8464e306074b9 -- name: example_sandag_2_zone +- name: placeholder_sandag_2_zone description: 90-TAZ 609-MAZ (includes univ) 2-zone test example for the SANDAG region - # activitysim create -e example_sandag_2_zone -d test_example_sandag_2_zone - # cd test_example_sandag_2_zone - # activitysim run -c configs_2_zone -c example_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_2_zone -d test_placeholder_sandag_2_zone + # cd test_placeholder_sandag_2_zone + # activitysim run -c configs_2_zone -c placeholder_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml # cd .. include: - - example_sandag/../example_psrc/configs - example_psrc - - example_sandag/configs_2_zone - - example_sandag/data_2 - - example_sandag/output_2 + - placeholder_sandag/../placeholder_psrc/configs + placeholder_psrc + - placeholder_sandag/configs_2_zone + - placeholder_sandag/data_2 + - placeholder_sandag/data_3/maz_to_maz_bike.csv + data_2/maz_to_maz_bike.csv + # the original data for data_2 was corrupted, but there's no need to store this file twice in the repo + - placeholder_sandag/output_2 -- name: example_sandag_2_zone_full +- name: placeholder_sandag_2_zone_full description: full 2-zone example for the SANDAG region - # activitysim create -e example_sandag_2_zone_full -d test_example_sandag_2_zone_full - # cd test_example_sandag_2_zone_full - # activitysim run -c configs_2_zone -c example_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_2_zone_full -d test_placeholder_sandag_2_zone_full + # cd test_placeholder_sandag_2_zone_full + # activitysim run -c configs_2_zone -c placeholder_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml # cd .. include: - - example_sandag/../example_psrc/configs - example_psrc - - example_sandag/configs_2_zone - - example_sandag/data_2 - - example_sandag/output_2 + - placeholder_sandag/../placeholder_psrc/configs + placeholder_psrc + - placeholder_sandag/configs_2_zone + - placeholder_sandag/data_2 + - placeholder_sandag/output_2 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_2_zone_data_full/households.csv data_2/households.csv 4afe40dfbdb89f17cd150fd5b32245364d538cdebb91fd323e18c6f570d1a087 @@ -759,33 +750,33 @@ data_2/skims6.omx 77a82afa09ee1f4c48aa7928e96756525d170402ca99da04cdf676e45cb6fbcf -- name: example_sandag_3_zone +- name: placeholder_sandag_3_zone description: 90-TAZ 609-MAZ (includes univ) 3-zone test example for the SANDAG region - # activitysim create -e example_sandag_3_zone -d test_example_sandag_3_zone - # cd test_example_sandag_3_zone - # activitysim run -c configs_3_zone -c example_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_3_zone -d test_placeholder_sandag_3_zone + # cd test_placeholder_sandag_3_zone + # activitysim run -c configs_3_zone -c prototype_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml # cd .. include: - - example_sandag/data_3 - - example_sandag/../example_mtc/configs - example_mtc - - example_sandag/configs_3_zone - - example_sandag/configs_skip_accessibility - - example_sandag/output_3 + - placeholder_sandag/data_3 + - placeholder_sandag/../prototype_mtc/configs + prototype_mtc + - placeholder_sandag/configs_3_zone + - placeholder_sandag/configs_skip_accessibility + - placeholder_sandag/output_3 -- name: example_sandag_3_zone_full +- name: placeholder_sandag_3_zone_full description: full 3-zone example for the SANDAG region - # activitysim create -e example_sandag_3_zone_full -d test_example_sandag_3_zone_full - # cd test_example_sandag_3_zone_full - # activitysim run -c configs_3_zone -c example_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml + # activitysim create -e placeholder_sandag_3_zone_full -d test_placeholder_sandag_3_zone_full + # cd test_placeholder_sandag_3_zone_full + # activitysim run -c configs_3_zone -c prototype_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml # cd .. include: - - example_sandag/data_3 - - example_sandag/../example_mtc/configs - example_mtc - - example_sandag/configs_3_zone - - example_sandag/configs_skip_accessibility - - example_sandag/output_3 + - placeholder_sandag/data_3 + - placeholder_sandag/../prototype_mtc/configs + prototype_mtc + - placeholder_sandag/configs_3_zone + - placeholder_sandag/configs_skip_accessibility + - placeholder_sandag/output_3 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_3_zone_data_full/taz_skims1.omx data_3/taz_skims1.omx 5b56d0e79ec671e37f8c71f7fedd741d7bf32d2bced866ab1f03f3973fccce8c @@ -844,55 +835,81 @@ data_3/tap_lines.csv 0e1b2c532e5e85b48e2ac77b2836be7ec0cc7cba79907c6f5fb11d2ba171230a -- name: example_sandag_xborder +- name: prototype_sandag_xborder description: SANDAG cross border travel model - # activitysim create -e example_sandag_xborder -d test_example_sandag_xborder - # cd test_example_sandag_xborder + # activitysim create -e prototype_sandag_xborder -d test_prototype_sandag_xborder + # cd test_prototype_sandag_xborder # python simulation.py # cd .. include: - - example_sandag_xborder/configs - - example_sandag_xborder/data - - example_sandag_xborder/extensions - - example_sandag_xborder/output - - example_sandag_xborder/simulation.py + - prototype_sandag_xborder/configs + - prototype_sandag_xborder/data + - prototype_sandag_xborder/extensions + - prototype_sandag_xborder/output + - prototype_sandag_xborder/simulation.py -- name: example_sandag_xborder_full +- name: prototype_sandag_xborder_full description: full scale SANDAG cross border travel model - # activitysim create -e example_sandag_xborder_full -d test_example_sandag_xborder_full - # cd test_example_sandag_xborder_full + # activitysim create -e prototype_sandag_xborder_full -d test_prototype_sandag_xborder_full + # cd test_prototype_sandag_xborder_full # python simulation.py # cd .. include: - - example_sandag_xborder/configs - - example_sandag_xborder/extensions - - example_sandag_xborder/output - - example_sandag_xborder/simulation.py + - prototype_sandag_xborder/configs + - prototype_sandag_xborder/extensions + - prototype_sandag_xborder/output + - prototype_sandag_xborder/simulation.py - https://raw.githubusercontent.com/ActivitySim/activitysim_resources/master/sandag_xborder/households_xborder.csv data/households_xborder.csv + d5eacdab200955de06bd70761c648624734740a05738e9ab387502654283acdd - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/maz_maz_walk.csv - data/maz_maz_walk.csv + data/maz_maz_walk.csv + 027bb92325cd3d19a68c0608d8f909b075a857d4a2793dd6b75a183d371bc1e0 - https://raw.githubusercontent.com/activitysim/activitysim_resources/master/sandag_xborder/maz_tap_walk.csv - data/maz_tap_walk.csv + data/maz_tap_walk.csv + a5ba44307843ed3dd73448abe61b585d3c4f6a795414f4035cb14f2606a89c8b - https://raw.githubusercontent.com/activitysim/activitysim_resources/master/sandag_xborder/mazs_xborder.csv - data/mazs_xborder.csv - - https://raw.githubusercontent.com/activitysim/activitysim_resources/master/sandag_xborder/persons_xborder.csv - data/persons_xborder.csv + data/mazs_xborder.csv + 2d481ec20f69204fc02a259d2d7c4e3d955d6a83b13d7bae920c9c7f8e28c517 + - prototype_sandag_xborder/data/persons_xborder.csv # this matches the local tours_xborder, see below - https://raw.githubusercontent.com/activitysim/activitysim_resources/master/sandag_xborder/tap_lines.csv - data/tap_lines.csv + data/tap_lines.csv + 750745a33f39963f0c3e4efa6135ff89fb7dd49f58f17cdbd90d62e7057fea01 - https://raw.githubusercontent.com/activitysim/activitysim_resources/master/sandag_xborder/taps.csv - data/taps.csv - - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/tours_xborder.csv - data/tours_xborder.csv + data/taps.csv + 9a6a29eb17079583e0c235525a58d301ab93f2b3a3bce537b142c85a0ad46606 + - prototype_sandag_xborder/data/tours_xborder.csv # the file on activitysim_resources is not consistent with this model - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/transit_skims_xborder.omx data/transit_skims_xborder.omx + 8d5544cc6b543c6b45e77968efca8d62b7ec8b03bd30bdc5e46cd291b4e6b8d3 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/traffic_skims_xborder_AM.omx data/traffic_skims_xborder_AM.omx + b7f675e78d0d5f214b9ee4d5a4bb91a66692be1776f474381b8a024e3fcbf4a5 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/traffic_skims_xborder_EA.omx data/traffic_skims_xborder_EA.omx + 3d4978cba03c1fe5013bcc624b75e90456fe2ac723ca031ce0a1a50c758c3a92 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/traffic_skims_xborder_EV.omx data/traffic_skims_xborder_EV.omx + 3826807fbbf5a62b97a70022ea6979cd9d16129e326e5570159221db1cbc4584 - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/traffic_skims_xborder_MD.omx data/traffic_skims_xborder_MD.omx + 9a83cf893e459019328aab726c4bd0fdcd38a2b5ecb88e0aa4a880b6104bbd3a - https://media.githubusercontent.com/media/activitysim/activitysim_resources/master/sandag_xborder/traffic_skims_xborder_PM.omx - data/traffic_skims_xborder_PM.omx \ No newline at end of file + data/traffic_skims_xborder_PM.omx + 87544b59488c4ca654ae8d9756dfb3a8226b85faa21e631339d86fae5dc60feb + +- name: prototype_mwcog + description: 53 zone test example for the MWCOG region + # activitysim create -e prototype_mwcog -d test_prototype_mwcog + # cd test_prototype_mwcog + # python simulation.py -c configs -o output -d data + # cd .. + include: + - prototype_mwcog/extensions + - prototype_mwcog/data + - prototype_mwcog/configs + - prototype_mwcog/configs_mp + - prototype_mwcog/output + - prototype_mwcog/README.MD + - prototype_mwcog/simulation.py + \ No newline at end of file diff --git a/activitysim/examples/example_mtc/test/test_mtc.py b/activitysim/examples/example_mtc/test/test_mtc.py deleted file mode 100644 index a81c439cbd..0000000000 --- a/activitysim/examples/example_mtc/test/test_mtc.py +++ /dev/null @@ -1,69 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def run_test_mtc(multiprocess=False, chunkless=False): - - def example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_trips.csv')) - final_trips_df = pd.read_csv(test_path('output/final_trips.csv')) - - # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, - # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum - # compare_cols = [] - pdt.assert_frame_equal(final_trips_df, regress_trips_df) - - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - if multiprocess: - run_args = ['-c', test_path('configs_mp'), '-c', example_path('configs_mp'), '-c', example_path('configs'), - '-d', example_path('data'), '-o', test_path('output')] - elif chunkless: - run_args = ['-c', test_path('configs_chunkless'), '-c', example_path('configs'), - '-d', example_path('data'), '-o', test_path('output')] - else: - run_args = ['-c', test_path('configs'), '-c', example_path('configs'), - '-d', example_path('data'), '-o', test_path('output')] - - subprocess.run(['coverage', 'run', '-a', file_path] + run_args, check=True) - - regress() - - -def test_mtc(): - run_test_mtc(multiprocess=False) - - -def test_mtc_chunkless(): - run_test_mtc(multiprocess=False, chunkless=True) - - -def test_mtc_mp(): - run_test_mtc(multiprocess=True) - - -if __name__ == '__main__': - - run_test_mtc(multiprocess=False) - run_test_mtc(multiprocess=True) - run_test_mtc(multiprocess=False, chunkless=True) diff --git a/activitysim/examples/example_mtc_extended/README.MD b/activitysim/examples/example_mtc_extended/README.MD deleted file mode 100644 index 826cd33804..0000000000 --- a/activitysim/examples/example_mtc_extended/README.MD +++ /dev/null @@ -1,6 +0,0 @@ - -### MTC Extended Example - -The MTC example with the following additional models: -* vehicle type model -* vehicle allocation model diff --git a/activitysim/examples/example_mtc_extended/test/regress/final_trips.csv b/activitysim/examples/example_mtc_extended/test/regress/final_trips.csv deleted file mode 100644 index 2260ceead7..0000000000 --- a/activitysim/examples/example_mtc_extended/test/regress/final_trips.csv +++ /dev/null @@ -1,80 +0,0 @@ -trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,destination,origin,tour_id,purpose,destination_logsum,depart,trip_mode,mode_choice_logsum -211388201,644476,386761,escort,1,True,1,11,16,26423525,escort,,5,WALK_LOC,4.789158412380779 -211388205,644476,386761,escort,1,False,1,16,11,26423525,home,,6,WALK_LOC,5.050171287433508 -211388329,644476,386761,othdiscr,1,True,1,16,16,26423541,othdiscr,,18,WALK,7.330879513166791 -211388333,644476,386761,othdiscr,1,False,1,16,16,26423541,home,,18,WALK,7.330879513166791 -211388353,644476,386761,othmaint,1,True,1,13,16,26423544,othmaint,,18,WALK,-0.4192505336997586 -211388357,644476,386761,othmaint,1,False,1,16,13,26423544,home,,19,WALK,-0.41925030619506426 -211388441,644476,386761,work,1,True,1,4,16,26423555,work,,7,SHARED2FREE,0.6902839738239953 -211388445,644476,386761,work,1,False,1,16,4,26423555,home,,17,SHARED3FREE,-0.060176139897114116 -211388721,644477,386761,shopping,1,True,1,16,16,26423590,shopping,,14,WALK,5.857443647205806 -211388725,644477,386761,shopping,1,False,1,16,16,26423590,home,,14,WALK,5.857443647205806 -211389033,644478,386761,school,1,True,1,20,16,26423629,school,,11,WALK_LOC,1.5300445825829465 -211389037,644478,386761,school,1,False,1,16,20,26423629,home,,19,WALK_LRF,3.76602489416099 -515832417,1572659,763879,shopping,1,True,3,25,6,64479052,othmaint,40.895784325733594,7,WALK,12.896301701456215 -515832418,1572659,763879,shopping,2,True,3,25,25,64479052,escort,40.13139614585728,12,WALK,13.621701652814899 -515832419,1572659,763879,shopping,3,True,3,24,25,64479052,shopping,,17,WALK,3.0930067693134005 -515832421,1572659,763879,shopping,1,False,3,25,24,64479052,shopping,38.41713719577139,18,WALK,3.0706867412992 -515832422,1572659,763879,shopping,2,False,3,7,25,64479052,escort,59.6309483835455,20,WALK,12.807021629683366 -515832423,1572659,763879,shopping,3,False,3,6,7,64479052,home,,20,WALK,14.258626224164276 -535620049,1632987,824207,work,1,True,1,4,18,66952506,work,,15,WALK_LOC,0.2992185756062765 -535620053,1632987,824207,work,1,False,1,18,4,66952506,home,,21,WALK,0.5557332757868809 -615236801,1875721,982875,work,1,True,1,10,16,76904600,work,,8,WALK_LOC,7.627291076037502 -615236805,1875721,982875,work,1,False,1,16,10,76904600,home,,18,WALK_LOC,7.6193935739287255 -615236865,1875722,982875,eatout,1,True,2,7,16,76904608,escort,33.332775271121825,10,WALK,12.852466196970816 -615236866,1875722,982875,eatout,2,True,2,14,7,76904608,eatout,,13,WALK,0.0679239371174617 -615236869,1875722,982875,eatout,1,False,1,16,14,76904608,home,,17,WALK,0.9383092208675533 -708171009,2159057,1099626,work,1,True,1,2,20,88521376,work,,7,WALK,-0.35400338649017565 -708171013,2159057,1099626,work,1,False,2,8,2,88521376,shopping,28.059656557964445,18,WALK,0.34307389812569966 -708171014,2159057,1099626,work,2,False,2,20,8,88521376,home,,18,WALK_LOC,9.930931452887558 -708171273,2159058,1099626,univ,1,True,1,9,20,88521409,univ,,15,WALK_LOC,10.081589126967758 -708171277,2159058,1099626,univ,1,False,1,20,9,88521409,home,,18,WALK_LOC,9.700222902924416 -708171601,2159059,1099626,school,1,True,1,20,20,88521450,school,,8,WALK,2.001157626801728 -708171605,2159059,1099626,school,1,False,1,20,20,88521450,home,,13,WALK,2.001157626801728 -841877257,2566698,1196298,work,1,True,1,1,25,105234657,work,,6,WALK,0.5218384234138416 -841877261,2566698,1196298,work,1,False,1,25,1,105234657,home,,17,WALK_LOC,0.4855336440096438 -841877849,2566700,1196298,school,1,True,1,25,25,105234731,school,,7,WALK,12.824615869979219 -841877853,2566700,1196298,school,1,False,1,25,25,105234731,home,,15,WALK,12.824615869979219 -841878177,2566701,1196298,school,1,True,1,3,25,105234772,school,,8,WALK,8.979312480941104 -841878181,2566701,1196298,school,1,False,1,25,3,105234772,home,,13,WALK,8.979312481086987 -841878505,2566702,1196298,school,1,True,1,6,25,105234813,school,,12,WALK_LOC,11.709395865665709 -841878509,2566702,1196298,school,1,False,2,25,6,105234813,shopping,51.23589608925055,20,WALK_LOC,11.238325436501778 -841878510,2566702,1196298,school,2,False,2,25,25,105234813,home,,20,WALK,11.641815891720018 -1004301497,3061894,1363467,shopping,1,True,1,20,24,125537687,shopping,,12,TNC_SHARED,0.09686480459546322 -1004301501,3061894,1363467,shopping,1,False,1,24,20,125537687,home,,13,DRIVEALONEFREE,0.015792413826355586 -1004301761,3061895,1363467,othdiscr,1,True,1,9,24,125537720,othdiscr,,17,WALK_HVY,11.684658026322639 -1004301765,3061895,1363467,othdiscr,1,False,1,24,9,125537720,home,,19,WALK_LRF,11.49938905905555 -1004301785,3061895,1363467,othmaint,1,True,1,7,24,125537723,othmaint,,15,WALK,8.131583343724042 -1004301789,3061895,1363467,othmaint,1,False,1,24,7,125537723,home,,16,WALK,8.096583148991245 -1004301873,3061895,1363467,work,1,True,1,25,24,125537734,work,,6,WALK,10.08552703351978 -1004301877,3061895,1363467,work,1,False,1,24,25,125537734,home,,13,WALK,10.103127058632895 -1368289969,4171615,1810015,univ,1,True,1,12,16,171036246,univ,,13,WALK,4.061179288088942 -1368289973,4171615,1810015,univ,1,False,1,16,12,171036246,home,,13,WALK,4.06117926693834 -1368290273,4171616,1810015,othmaint,1,True,1,3,16,171036284,othmaint,,9,WALK,5.752949863933666 -1368290277,4171616,1810015,othmaint,1,False,1,16,3,171036284,home,,11,WALK,5.595449988691705 -1368290689,4171617,1810015,work,1,True,2,8,16,171036336,social,23.477345398553453,9,WALK,7.896576327414681 -1368290690,4171617,1810015,work,2,True,2,15,8,171036336,work,,12,WALK,-0.8211572450364255 -1368290693,4171617,1810015,work,1,False,1,16,15,171036336,home,,18,WALK,0.23912905823533456 -1368291297,4171619,1810015,shopping,1,True,1,1,16,171036412,shopping,,13,WALK,-1.0053143437541998 -1368291301,4171619,1810015,shopping,1,False,2,7,1,171036412,shopping,29.48393750646727,14,WALK,-1.5297238905680486 -1368291302,4171619,1810015,shopping,2,False,2,16,7,171036412,home,,15,WALK,12.573466151788852 -1368291609,4171620,1810015,school,1,True,1,8,16,171036451,school,,7,WALK_LOC,10.68060996983474 -1368291613,4171620,1810015,school,1,False,1,16,8,171036451,home,,15,WALK_LOC,10.665116381563836 -1368292281,4171622,1810015,shopping,1,True,1,19,16,171036535,shopping,,9,WALK,-2.394141994327624 -1368292285,4171622,1810015,shopping,1,False,1,16,19,171036535,home,,15,WALK,-2.4219133842589526 -1368292377,4171623,1810015,atwork,1,True,1,7,21,171036547,atwork,,10,WALK,13.897946303660285 -1368292381,4171623,1810015,atwork,1,False,2,6,7,171036547,othmaint,62.239483838845736,10,WALK,14.364186248721689 -1368292382,4171623,1810015,atwork,2,False,2,21,6,171036547,work,,10,WALK,12.200629295549986 -1368292657,4171623,1810015,work,1,True,2,25,16,171036582,escort,30.234430836012045,8,WALK,9.029527074456235 -1368292658,4171623,1810015,work,2,True,2,21,25,171036582,work,,8,WALK,2.0014416307382055 -1368292661,4171623,1810015,work,1,False,2,7,21,171036582,work,34.72578612209499,23,WALK,2.5646380272501808 -1368292662,4171623,1810015,work,2,False,2,16,7,171036582,home,,23,WALK,9.584561374619746 -2464104641,7512514,2821179,eatout,1,True,1,13,8,308013080,eatout,,8,WALK,-1.171759971785514 -2464104645,7512514,2821179,eatout,1,False,1,8,13,308013080,home,,16,WALK,-1.238718768693438 -2464104857,7512514,2821179,shopping,1,True,1,6,8,308013107,shopping,,17,WALK,12.612248978887928 -2464104861,7512514,2821179,shopping,1,False,1,8,6,308013107,home,,19,WALK,12.322088998148224 -2464104881,7512514,2821179,social,1,True,1,9,8,308013110,social,,16,WALK,6.292424410910544 -2464104885,7512514,2821179,social,1,False,1,8,9,308013110,home,,16,WALK_LOC,6.322192231184283 -2464449633,7513565,2822230,work,1,True,2,9,8,308056204,univ,40.040196758213916,9,WALK,7.9948426686587775 -2464449634,7513565,2822230,work,2,True,2,25,9,308056204,work,,9,WALK,8.34752700809022 -2464449637,7513565,2822230,work,1,False,1,8,25,308056204,home,,18,WALK,9.31552710851258 diff --git a/activitysim/examples/example_mtc_extended/test/test_mtc_extended.py b/activitysim/examples/example_mtc_extended/test/test_mtc_extended.py deleted file mode 100644 index acf60459f6..0000000000 --- a/activitysim/examples/example_mtc_extended/test/test_mtc_extended.py +++ /dev/null @@ -1,57 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def test_mtc_extended(): - - def example_path(dirname): - resource = os.path.join('examples', 'example_mtc_extended', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - def example_mtc_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_trips.csv')) - final_trips_df = pd.read_csv(test_path('output/final_trips.csv')) - - regress_vehicles_df = pd.read_csv(test_path('regress/final_vehicles.csv')) - final_vehicles_df = pd.read_csv(test_path('output/final_vehicles.csv')) - - # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, - # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum - # compare_cols = [] - pdt.assert_frame_equal(final_trips_df, regress_trips_df) - pdt.assert_frame_equal(final_vehicles_df, regress_vehicles_df) - - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - subprocess.run(['coverage', 'run', '-a', file_path, - '-c', test_path('configs'), '-c', example_path('configs'), - '-c', example_mtc_path('configs'), - '-d', example_mtc_path('data'), - '-o', test_path('output')], check=True) - - regress() - - -if __name__ == '__main__': - - test_mtc_extended() diff --git a/activitysim/examples/example_multiple_zone/test/simulation.py b/activitysim/examples/example_multiple_zone/test/simulation.py deleted file mode 100755 index ec6a1181b1..0000000000 --- a/activitysim/examples/example_multiple_zone/test/simulation.py +++ /dev/null @@ -1,15 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_multiple_zone/test/test_multiple_zone.py b/activitysim/examples/example_multiple_zone/test/test_multiple_zone.py deleted file mode 100644 index ec400c3fd9..0000000000 --- a/activitysim/examples/example_multiple_zone/test/test_multiple_zone.py +++ /dev/null @@ -1,105 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pytest -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def example_path(dirname): - resource = os.path.join('examples', 'example_multiple_zone', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - -def mtc_example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - -def build_data(): - # FIXME this irks travis - # subprocess.check_call(['coverage', 'run', example_path('scripts/two_zone_example_data.py')]) - # subprocess.check_call(['coverage', 'run', example_path('scripts/three_zone_example_data.py')]) - pass - - -@pytest.fixture(scope='module') -def data(): - build_data() - - -def run_test(zone, multiprocess=False): - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(zone): - - # regress tours - regress_tours_df = pd.read_csv(test_path(f'regress/final_tours_{zone}_zone.csv')) - tours_df = pd.read_csv(test_path('output/final_tours.csv')) - tours_df.to_csv(test_path(f'regress/final_tours_{zone}_zone_last_run.csv'), index=False) - print(f"regress tours") - pdt.assert_frame_equal(tours_df, regress_tours_df, rtol=1e-03) - - # regress trips - regress_trips_df = pd.read_csv(test_path(f'regress/final_trips_{zone}_zone.csv')) - trips_df = pd.read_csv(test_path('output/final_trips.csv')) - trips_df.to_csv(test_path(f'regress/final_trips_{zone}_zone_last_run.csv'), index=False) - print(f"regress trips") - pdt.assert_frame_equal(trips_df, regress_trips_df, rtol=1e-03) - - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - run_args = ['-c', test_path(f'configs_{zone}_zone'), - '-c', example_path(f'configs_{zone}_zone'), - '-c', mtc_example_path(f'configs'), - '-d', example_path(f'data_{zone}'), - '-o', test_path('output')] - - if multiprocess: - run_args = run_args + ['-s', 'settings_mp'] - elif zone == '3': - run_args = run_args + ['-s', 'settings_static'] - - subprocess.run(['coverage', 'run', '-a', file_path] + run_args, check=True) - - regress(zone) - - -def test_2_zone(data): - run_test(zone='2', multiprocess=False) - - -def test_2_zone_mp(data): - run_test(zone='2', multiprocess=True) - - -def test_3_zone(data): - # python simulation.py -c configs_3_zone -c ../configs_3_zone -c \ - # ../../example_mtc/configs -d ../data_3 -o output -s settings_mp - run_test(zone='3', multiprocess=False) - - -def test_3_zone_mp(data): - run_test(zone='3', multiprocess=True) - - -if __name__ == '__main__': - - build_data() - run_test(zone='2', multiprocess=False) - run_test(zone='2', multiprocess=True) - - run_test(zone='3', multiprocess=False) - run_test(zone='3', multiprocess=True) diff --git a/activitysim/examples/example_psrc/test/simulation.py b/activitysim/examples/example_psrc/test/simulation.py deleted file mode 100755 index ec6a1181b1..0000000000 --- a/activitysim/examples/example_psrc/test/simulation.py +++ /dev/null @@ -1,15 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_sandag/configs_3_zone/notes.txt b/activitysim/examples/example_sandag/configs_3_zone/notes.txt deleted file mode 100644 index a1add69b8e..0000000000 --- a/activitysim/examples/example_sandag/configs_3_zone/notes.txt +++ /dev/null @@ -1,10 +0,0 @@ - -# test -# activitysim run -c configs_local -c configs -c configs_3_zone -c ../example_mtc/configs -o output_test -d data_test -# activitysim run -c configs_local -c configs -c configs_3_zone -c ../example_mtc/configs -o output_test -d data_test -s settings_mp.yaml - -# full dataset single-process 100K HH skip_accessibility -# activitysim run -c configs_local -c configs_skip_accessibility -c configs -c configs_3_zone -c ../example_mtc/configs -o output_full -d data_full - -# full run multiprocess -# activitysim run -c configs -c configs_3_zone -c ../example_mtc/configs -o output_full -d data_full -s settings_mp.yaml diff --git a/activitysim/examples/example_sandag/data_2/maz_to_maz_bike.csv b/activitysim/examples/example_sandag/data_2/maz_to_maz_bike.csv deleted file mode 100644 index 56ab0e1171..0000000000 --- a/activitysim/examples/example_sandag/data_2/maz_to_maz_bike.csv +++ /dev/null @@ -1,2645 +0,0 @@ -OMAZ,DMAZ,DISTBIKE -15299,15299,0.088166667 -15299,15298,0.7705 -15291,15281,1.050333333 -15291,15280,0.971333333 -15291,15279,0.8495 -15291,15278,0.675666667 -15291,15284,0.508833333 -15291,15283,0.7275 -15297,14940,2.408333333 -15283,15284,0.335666667 -15283,15283,0.051666667 -15283,15293,0.859 -15283,15292,1.092333333 -15283,15291,0.727166667 -15283,15297,1.3485 -15283,15296,1.335333333 -15283,15295,1.642 -15283,15294,1.114 -15283,15299,0.631333333 -15283,15298,0.587833333 -15284,15278,0.253666667 -15284,15281,0.602 -15295,14940,2.135833333 -15284,15280,0.462833333 -15284,15279,0.279833333 -15284,15284,0.126833333 -15284,15283,0.3425 -15284,15294,0.8715 -15284,15293,0.649166667 -15284,15292,0.874 -15284,15291,0.508833333 -15284,15298,0.416 -15284,15297,1.142 -15284,15296,1.129 -15284,15295,1.380833333 -15284,15299,0.477666667 -15296,14940,2.499 -15297,15299,0.750666667 -15297,15298,1.195 -15297,15297,0.057833333 -15297,15296,0.115666667 -15298,15280,0.748666667 -15298,15279,0.616166667 -15298,15278,0.5205 -15298,15284,0.352666667 -15298,15283,0.562333333 -15298,15281,0.8595 -15298,15292,0.7575 -15298,15291,0.452833333 -15298,15296,0.9505 -15298,15295,1.235166667 -15298,15294,0.7405 -15298,15293,0.688833333 -15298,15299,0.7015 -15298,15298,0.176333333 -15298,15297,1.108166667 -15299,15281,0.228 -15299,15280,0.176333333 -15299,15279,0.476166667 -15299,15278,0.488333333 -15299,15284,0.508333333 -15299,15283,0.542666667 -15299,15293,0.2065 -15299,15292,1.224166667 -15299,15291,0.839 -15299,15297,0.914166667 -15299,15296,0.806666667 -15299,15295,1.5335 -15299,15294,0.733333333 -15295,15297,0.675333333 -15295,15296,0.6225 -15295,15295,0.0845 -15295,15294,0.4655 -15295,15299,1.250333333 -15295,15298,1.6385 -15296,15278,1.231166667 -15296,15281,0.896333333 -15296,15280,0.971666667 -15296,15279,1.108166667 -15296,15284,1.13 -15296,15283,1.352833333 -15296,15294,0.4045 -15296,15293,0.492166667 -15296,15292,1.2605 -15296,15291,0.784333333 -15296,15298,1.137666667 -15296,15297,0.115666667 -15296,15296,0.057833333 -15296,15295,0.604166667 -15296,15299,0.717666667 -15297,15279,1.113 -15297,15278,1.247666667 -15297,15283,1.4555 -15297,15281,0.945833333 -15297,15280,0.976666667 -15297,15284,1.285666667 -15297,15291,0.849833333 -15297,15295,0.657833333 -15297,15294,0.411833333 -15297,15293,0.4995 -15297,15292,1.272 -15293,15295,1.161666667 -15293,15294,0.374333333 -15293,15293,0.103166667 -15293,15292,0.957333333 -15293,15299,0.2065 -15293,15298,0.6805 -15293,15297,0.605833333 -15293,15296,0.495166667 -15294,15280,0.903833333 -15294,15279,1.037166667 -15294,15278,1.0205 -15294,15284,0.940333333 -15294,15283,1.074166667 -15294,15281,0.8645 -15294,15292,1.043 -15294,15291,0.582833333 -15294,15296,0.4045 -15294,15295,0.611 -15294,15294,0.129166667 -15294,15293,0.4495 -15294,15299,0.7745 -15294,15298,0.761333333 -15294,15297,0.474333333 -15295,15281,1.675166667 -15295,15280,1.5115 -15295,15279,1.601666667 -15295,15278,1.601166667 -15295,15284,1.5015 -15295,15283,1.715333333 -15295,15293,0.822166667 -15295,15292,0.769833333 -15295,15291,1.181666667 -15291,15293,0.544 -15291,15292,0.656333333 -15291,15291,0.1925 -15291,15297,0.900333333 -15291,15296,0.818 -15291,15295,1.134166667 -15291,15294,0.611 -15291,15299,0.852 -15291,15298,0.385166667 -15292,15278,1.039166667 -15292,15281,1.37 -15292,15280,1.264166667 -15292,15279,1.122166667 -15292,15284,0.874 -15292,15283,1.284 -15292,15294,1.045666667 -15292,15293,1.048166667 -15292,15292,0.1415 -15292,15291,0.656333333 -15292,15298,0.737666667 -15292,15297,1.318333333 -15292,15296,1.2215 -15292,15295,0.742666667 -15292,15299,1.209 -15293,15279,0.540333333 -15293,15278,0.75 -15293,15283,0.786333333 -15293,15281,0.508666667 -15293,15280,0.437333333 -15293,15284,0.658333333 -15293,15291,0.533333333 -15281,15283,0.672333333 -15281,15281,0.1195 -15281,15280,0.311833333 -15281,15284,0.600333333 -15281,15291,1.012 -15281,15295,1.409833333 -15281,15294,0.953333333 -15281,15293,0.744666667 -15281,15292,1.525666667 -15281,15299,0.28 -15281,15298,0.956666667 -15281,15297,0.874166667 -15281,15296,0.833 -15283,15281,0.625166667 -15294,14940,2.212666667 -15283,15280,0.515166667 -15283,15279,0.4235 -15283,15278,0.103333333 -15279,15281,0.404166667 -15279,15280,0.3045 -15279,15279,0.152166667 -15279,15278,0.314666667 -15279,15284,0.337666667 -15296,14756,2.063666667 -15279,15283,0.425166667 -15296,14755,2.312333333 -15279,15293,0.532333333 -15279,15292,1.148 -15279,15291,0.7985 -15279,15297,1.121333333 -15279,15296,1.155166667 -15279,15295,1.6375 -15279,15294,1.010333333 -15279,15299,0.385333333 -15279,15298,0.663833333 -15296,14776,2.020333333 -15280,15278,0.464333333 -15297,14755,2.257333333 -15280,15281,0.259833333 -15280,15280,0.088166667 -15280,15279,0.3325 -15280,15284,0.462833333 -15297,14756,2.065833333 -15280,15283,0.5185 -15280,15294,1.04 -15280,15293,0.387833333 -15280,15292,1.264 -15280,15291,0.911333333 -15280,15298,0.765666667 -15280,15297,1.015666667 -15280,15296,0.974333333 -15280,15295,1.337666667 -15280,15299,0.176333333 -15297,14776,2.021666667 -15281,15279,0.529 -15281,15278,0.618166667 -15294,14756,1.842 -15294,14755,2.113333333 -15294,14754,2.180166667 -15294,14776,1.826333333 -15294,14775,2.093166667 -15278,15280,0.466833333 -15278,15279,0.298666667 -15295,14751,2.462166667 -15278,15278,0.051666667 -15278,15284,0.2185 -15295,14756,1.923166667 -15278,15283,0.103333333 -15295,14755,2.1845 -15295,14754,2.195166667 -15278,15281,0.566166667 -15278,15292,1.031666667 -15278,15291,0.666666667 -15278,15296,1.2255 -15278,15295,1.493333333 -15278,15294,1.0145 -15278,15293,0.833 -15278,15299,0.5355 -15278,15298,0.598333333 -15278,15297,1.246833333 -15295,14776,1.8065 -15295,14775,2.102 -15295,14774,2.516166667 -15292,14756,2.409333333 -15292,14776,2.3715 -15293,14756,2.153666667 -15293,14776,2.1195 -15078,15067,0.848 -15078,15076,1.004666667 -15078,15073,1.0425 -15078,15078,0.424 -15076,15067,1.053 -15076,15073,0.830166667 -15076,15078,1.004666667 -15076,15076,0.0515 -15065,15065,0.090666667 -15073,15073,0.396833333 -15073,15078,1.0425 -15073,15076,0.830166667 -15073,15067,1.090833333 -15067,15067,0.424 -15067,15073,1.090833333 -15067,15076,1.053 -15067,15078,0.848 -14966,17048,1.652833333 -14966,17047,1.995166667 -14966,17068,2.009333333 -14966,17072,1.538833333 -14966,17070,2.189666667 -14966,17069,2.183166667 -14967,17048,0.936166667 -14967,17047,1.1275 -14967,17069,1.254 -14967,17068,1.249333333 -14967,17072,0.779333333 -14967,17070,1.352 -14964,17048,0.9985 -14964,17047,1.201166667 -14964,17070,1.4595 -14964,17069,1.227666667 -14964,17068,1.228333333 -14964,17072,0.807333333 -14965,17047,0.7105 -14965,17048,0.493833333 -14965,17070,0.82 -14965,17069,0.696666667 -14965,17068,0.880833333 -14965,17072,0.337 -14961,17072,1.135333333 -14962,17048,1.638166667 -14962,17047,1.7695 -14962,17068,1.243666667 -14962,17072,1.4795 -14962,17070,1.658333333 -14962,17069,1.472166667 -14963,17048,1.727333333 -14963,17047,1.969166667 -14963,17069,1.731333333 -14963,17068,1.775166667 -14963,17072,1.6435 -14963,17070,1.971166667 -14959,17072,1.591833333 -14959,17070,2.221166667 -14960,17048,1.0115 -14960,17047,1.038166667 -14960,17070,1.1095 -14960,17069,0.747166667 -14960,17068,0.556333333 -14960,17072,0.921 -14961,17047,1.319 -14961,17048,1.351833333 -14961,17070,1.638833333 -14961,17069,0.879666667 -14961,17068,0.9375 -14959,17048,1.944333333 -14959,17047,1.916166667 -14959,17069,1.586333333 -14959,17068,1.523166667 -14944,17048,1.9535 -14944,17047,2.043666667 -14944,17070,1.849 -14944,17069,1.92 -14944,17068,1.725666667 -14944,17072,1.337833333 -14941,17072,2.032833333 -14939,17069,1.9285 -14939,17068,1.819333333 -14939,17072,2.5015 -14939,17070,2.203666667 -14940,17068,2.536666667 -14941,17048,2.079166667 -14939,17048,2.356666667 -14939,17047,2.399833333 -14967,14967,0.044166667 -14967,14966,0.915833333 -14965,14967,0.744166667 -14965,14966,1.712833333 -14965,14965,0.142166667 -14965,14964,0.786666667 -14966,14940,1.415333333 -14966,14939,0.993166667 -14966,14944,0.7715 -14966,14941,0.657666667 -14966,14960,1.7735 -14966,14959,0.522166667 -14966,14964,1.021166667 -14966,14963,0.148166667 -14966,14962,1.1125 -14966,14961,1.186166667 -14966,14967,0.955833333 -14966,14966,0.074 -14966,14965,1.450666667 -14967,14941,1.3145 -14967,14940,2.004166667 -14967,14939,1.582166667 -14967,14944,0.816833333 -14967,14961,0.576166667 -14967,14960,0.968833333 -14967,14959,1.317333333 -14967,14965,0.695166667 -14967,14964,0.088333333 -14967,14963,1.1365 -14967,14962,1.1745 -14963,14965,1.6195 -14963,14964,1.254833333 -14963,14963,0.074 -14963,14962,0.9835 -14963,14967,1.460666667 -14963,14966,0.148166667 -14964,14941,1.363833333 -14964,14940,1.9695 -14964,14939,1.442666667 -14964,14944,0.844833333 -14964,14962,0.979333333 -14964,14961,0.487833333 -14964,14960,0.949166667 -14964,14959,1.229 -14964,14966,1.004666667 -14964,14965,0.791 -14964,14964,0.044166667 -14964,14963,1.102833333 -14965,14939,2.75 -14964,14967,0.088333333 -14965,14941,2.2515 -14965,14944,1.3085 -14965,14959,1.904 -14965,14963,1.7545 -14965,14962,1.461666667 -14965,14961,0.977833333 -14965,14960,0.775333333 -14959,14776,1.569 -14959,14775,1.7275 -14959,14774,1.905666667 -14960,14753,1.5565 -14960,14751,2.148 -14960,14756,2.092833333 -14960,14755,1.894666667 -14961,14751,1.880333333 -14961,14755,1.7525 -14961,14753,1.375 -14961,14756,1.917833333 -14940,15294,2.178166667 -14940,15297,2.3665 -14940,15296,2.264666667 -14940,15295,2.183333333 -14959,14753,0.913166667 -14959,14752,1.823833333 -14959,14751,1.487 -14959,14756,1.654666667 -14959,14755,1.453666667 -14959,14754,1.8065 -14961,14963,1.2385 -14967,14776,2.161833333 -14961,14962,0.497166667 -14961,14961,0.030166667 -14961,14960,0.314666667 -14961,14967,0.604166667 -14961,14966,1.311666667 -14961,14965,1.125166667 -14961,14964,0.508833333 -14962,14940,1.160666667 -14962,14939,0.724166667 -14962,14944,2.012166667 -14962,14941,1.521666667 -14962,14960,0.908833333 -14962,14959,0.4325 -14962,14964,1.044 -14962,14963,1.082 -14962,14962,0.122 -14962,14961,0.500166667 -14962,14967,1.436833333 -14962,14966,1.119666667 -14962,14965,1.455333333 -14963,14941,0.700666667 -14963,14940,1.301333333 -14963,14939,0.865166667 -14963,14944,0.798333333 -14963,14961,1.215833333 -14963,14960,1.344666667 -14963,14959,0.365666667 -14959,14961,0.662833333 -14959,14960,0.892166667 -14959,14959,0.087333333 -14959,14965,2.083666667 -14959,14964,1.294666667 -14959,14963,0.378166667 -14959,14962,0.603333333 -14966,14751,1.968333333 -14959,14967,1.477666667 -14959,14966,0.631666667 -14966,14756,1.9345 -14966,14755,1.614333333 -14960,14941,1.900666667 -14960,14940,1.548 -14966,14753,1.4475 -14960,14939,1.111666667 -14960,14944,1.693833333 -14966,14776,1.911666667 -14960,14962,0.678166667 -14960,14961,0.311 -14960,14960,0.068833333 -14960,14959,0.82 -14960,14966,1.434 -14960,14965,0.8395 -14960,14964,0.925 -14960,14963,1.299 -14967,14753,2.099166667 -14961,14939,0.9305 -14960,14967,0.999666667 -14967,14756,2.171666667 -14961,14941,1.7265 -14961,14940,1.367 -14961,14944,1.4975 -14961,14959,0.638833333 -14963,14776,1.840666667 -14963,14775,2.1655 -14963,14774,1.958333333 -14964,14753,1.7845 -14964,14756,2.086333333 -14964,14776,2.037833333 -14959,14941,1.160666667 -14959,14940,0.934666667 -14959,14939,0.499 -14959,14944,1.266666667 -14961,14774,2.061333333 -14961,14776,1.861 -14962,14752,1.9275 -14962,14751,1.603 -14962,14756,1.706 -14962,14755,1.447333333 -14962,14754,1.9515 -14962,14753,1.107 -14962,14776,1.657666667 -14962,14775,2.003166667 -14962,14774,1.794 -14963,14753,1.228666667 -14963,14751,1.744833333 -14963,14756,1.881333333 -14963,14755,1.612333333 -14944,14754,2.152833333 -14944,14753,1.919666667 -14944,14756,1.441833333 -14944,14755,1.801 -14944,14776,1.400333333 -14944,14775,2.106666667 -14941,14753,1.875666667 -14939,14753,0.402166667 -14939,14752,1.327166667 -14939,14751,1.040666667 -14939,14756,0.972666667 -14939,14755,0.684833333 -14939,14754,1.325666667 -14939,14776,0.997333333 -14939,14775,1.390666667 -14939,14774,1.386833333 -14940,14754,1.015166667 -14940,14753,0.601 -14940,14752,1.5105 -14940,14751,1.2235 -14940,14756,0.526666667 -14940,14755,0.332166667 -14940,14774,1.1515 -14940,14776,0.513333333 -14940,14775,0.944666667 -14944,14941,1.161 -14944,14940,1.6315 -14944,14939,1.6415 -14944,14944,0.181666667 -14944,14962,2.156666667 -14944,14961,1.550166667 -14944,14960,1.755166667 -14944,14959,1.345 -14944,14966,0.7625 -14944,14965,1.331 -14944,14964,1.016333333 -14944,14963,0.803666667 -14944,14967,0.982166667 -14941,14941,0.328833333 -14941,14940,1.823666667 -14941,14944,1.1735 -14941,14959,1.0725 -14941,14963,0.698833333 -14941,14962,1.569333333 -14941,14961,1.899833333 -14941,14960,2.157 -14941,14967,1.382666667 -14941,14966,0.657666667 -14941,14965,1.929833333 -14941,14964,1.389333333 -14939,14941,1.539166667 -14939,14940,0.436333333 -14939,14939,0.100666667 -14939,14944,1.831666667 -14939,14961,1.373 -14939,14960,1.6055 -14939,14959,0.515333333 -14939,14965,2.346833333 -14939,14964,1.923833333 -14939,14963,0.9005 -14939,14962,0.977833333 -14939,14967,1.647833333 -14939,14966,1.017666667 -14940,14941,1.966333333 -14940,14940,0.166 -14940,14939,0.436333333 -14940,14944,1.734666667 -14940,14962,1.5435 -14940,14961,1.717 -14940,14960,1.832 -14940,14959,0.953333333 -14940,14966,1.503666667 -14940,14964,2.250166667 -14940,14963,1.665833333 -14941,14939,1.403 -14940,14967,2.169333333 -14753,17069,2.445833333 -14753,17068,2.907833333 -14775,15295,1.964333333 -14775,15294,1.977833333 -14776,15294,1.750833333 -14776,15293,2.039666667 -14776,15292,2.2805 -14776,15297,1.909333333 -14776,15296,1.851166667 -14776,15295,1.732333333 -14774,15295,2.225166667 -14775,14776,0.442666667 -14775,14775,0.201333333 -14775,14774,0.402666667 -14776,14754,0.481666667 -14776,14753,1.333666667 -14776,14752,1.050833333 -14776,14751,0.727666667 -14776,14756,0.038 -14776,14755,0.288333333 -14776,14774,0.719666667 -14776,14776,0.019 -14776,14775,0.444 -14774,14752,0.811166667 -14774,14751,0.502833333 -14774,14756,0.662333333 -14774,14755,0.912666667 -14774,14754,0.607166667 -14774,14753,1.618666667 -14774,14776,0.6245 -14774,14775,0.388 -14774,14774,0.153 -14775,14753,1.763666667 -14775,14752,0.964166667 -14775,14751,0.6495 -14775,14756,0.4805 -14775,14755,0.730833333 -14775,14754,0.4295 -14755,15297,2.2525 -14755,15296,2.187666667 -14755,15295,2.017333333 -14755,15294,2.1395 -14756,15294,1.912166667 -14756,15293,2.26 -14756,15292,2.473333333 -14756,15297,2.129333333 -14756,15296,2.069 -14756,15295,1.851333333 -14776,14940,0.499666667 -14776,14939,0.974166667 -14776,14944,1.69 -14776,14962,1.765 -14776,14961,1.946833333 -14776,14959,1.902666667 -14776,14966,1.980666667 -14776,14964,2.7685 -14776,14963,1.9095 -14776,14967,2.307833333 -14774,14940,1.231 -14774,14939,1.359833333 -14774,14959,1.775666667 -14774,14963,2.0845 -14774,14962,1.946333333 -14774,14961,2.2115 -14775,14940,0.944 -14775,14939,1.263833333 -14775,14944,2.4535 -14775,14959,1.718333333 -14775,14963,2.108333333 -14775,14962,1.965166667 -14755,14961,2.263333333 -14755,14960,2.750833333 -14755,14959,1.6655 -14755,14963,2.284333333 -14755,14962,1.9805 -14755,14966,2.154 -14756,14940,0.541 -14756,14939,1.151666667 -14756,14944,2.154166667 -14756,14962,2.052666667 -14756,14961,2.285166667 -14756,14960,2.538666667 -14756,14959,1.536 -14756,14966,2.370833333 -14756,14964,3.0785 -14756,14963,2.2925 -14756,14967,2.522 -14753,14944,2.267 -14753,14959,0.971 -14753,14963,1.4785 -14753,14962,1.570666667 -14753,14961,1.680166667 -14753,14960,1.894166667 -14753,14967,2.367833333 -14753,14966,1.441 -14753,14964,2.485666667 -14754,14940,1.057166667 -14754,14939,1.5665 -14754,14944,2.253166667 -14754,14959,1.894333333 -14754,14962,2.203 -14755,14940,0.356666667 -14755,14939,0.964666667 -14755,14944,1.741166667 -14751,14961,2.097833333 -14751,14960,2.309166667 -14751,14959,1.4735 -14751,14963,1.883833333 -14751,14962,1.746 -14751,14966,1.9985 -14752,14940,1.711666667 -14752,14939,1.356833333 -14752,14962,2.4375 -14752,14959,1.806166667 -14753,14939,0.472333333 -14753,14941,1.838833333 -14753,14940,0.613166667 -14755,14756,0.250333333 -14755,14755,0.125166667 -14755,14754,0.769833333 -14755,14776,0.288333333 -14755,14775,0.729 -14755,14774,0.999833333 -14756,14754,0.5195 -14756,14753,1.4815 -14756,14752,1.0685 -14756,14751,0.7725 -14756,14756,0.019 -14756,14755,0.250333333 -14756,14774,0.747833333 -14756,14776,0.038 -14756,14775,0.478666667 -14751,14940,1.444833333 -14751,14939,1.056166667 -14754,15295,1.974833333 -14754,15294,2.032833333 -14751,15295,2.237 -14753,14755,0.914833333 -14753,14754,1.6155 -14753,14753,0.236166667 -14753,14752,2.1475 -14753,14756,1.155 -14753,14775,1.562166667 -14753,14774,1.760833333 -14753,14776,1.111666667 -14754,14752,1.003666667 -14754,14751,0.71 -14754,14756,0.5195 -14754,14755,0.769833333 -14754,14754,0.213833333 -14754,14753,1.859666667 -14754,14776,0.481666667 -14754,14775,0.427666667 -14754,14774,0.727166667 -14755,14753,1.357166667 -14755,14752,1.307166667 -14755,14751,1.014333333 -14751,14753,1.4465 -14751,14752,0.508333333 -14751,14751,0.175333333 -14751,14756,0.7615 -14751,14755,1.170333333 -14751,14754,0.7085 -14751,14776,0.723666667 -14751,14775,0.723166667 -14751,14774,0.501 -14752,14754,1.040333333 -14752,14753,1.808333333 -14752,14752,0.169166667 -14752,14751,0.504833333 -14752,14756,1.092666667 -14752,14755,1.359666667 -14752,14774,0.811833333 -14752,14776,1.054666667 -14752,14775,1.055333333 -14753,14751,1.7375 -17139,17139,0.165 -17139,16759,0.721166667 -17139,16760,0.721166667 -17139,16761,0.785166667 -17139,16766,1.1775 -17139,16769,2.320666667 -17139,16764,1.263 -17139,16765,0.7205 -17139,16774,0.596166667 -17139,16775,1.561166667 -17139,16770,1.636833333 -17139,16771,2.049333333 -17139,16772,1.544166667 -17139,16773,1.216166667 -17139,16783,0.785166667 -17139,16784,1.478833333 -17139,16785,1.646 -17139,16779,0.777833333 -17139,16780,0.647833333 -17139,16781,1.886333333 -17139,16791,1.779833333 -17139,16792,1.244166667 -17139,16786,1.8925 -17139,16787,1.890333333 -17139,16788,1.755833333 -17139,16789,2.394833333 -17125,17125,0.109333333 -17125,17139,0.815 -17125,17134,0.851333333 -17125,17135,1.026 -17134,16783,1.631166667 -17134,16784,2.0425 -17135,16765,2.486166667 -17135,16759,1.945166667 -17135,16760,1.6975 -17135,16761,2.096833333 -17135,16779,1.7365 -17135,16780,1.6445 -17135,16774,1.5345 -17135,16783,2.072666667 -17139,17125,0.815 -17139,17134,2.213833333 -17139,17135,2.104166667 -17135,17139,1.972166667 -17135,17134,0.412333333 -17135,17135,0.120833333 -17135,17070,2.2155 -17134,17125,0.811833333 -17134,17139,1.760333333 -17134,17134,0.235 -17134,17135,0.478666667 -17135,17125,1.080666667 -17135,17047,2.26 -17125,16760,0.532 -17125,16761,0.595833333 -17125,16759,0.532 -17125,16770,2.021 -17125,16771,2.337333333 -17125,16764,1.451333333 -17125,16765,0.824166667 -17125,16766,1.5975 -17125,16779,0.402166667 -17125,16772,1.876666667 -17125,16773,1.4245 -17125,16774,0.218833333 -17125,16775,1.1855 -17125,16784,1.1845 -17125,16785,1.5265 -17125,16786,2.157166667 -17125,16787,1.704333333 -17125,16780,0.274333333 -17125,16781,1.716333333 -17125,16782,2.055833333 -17125,16783,0.595833333 -17125,16792,1.692 -17125,16788,1.773333333 -17125,16791,1.872 -17134,16761,2.320833333 -17134,16759,1.5965 -17134,16760,1.6555 -17134,16765,2.520333333 -17134,16779,1.582 -17134,16780,1.371333333 -17134,16773,2.2435 -17134,16774,1.158166667 -17134,16775,2.0465 -16501,18639,0.887833333 -16502,18639,0.814666667 -16486,18639,0.707333333 -16485,18639,0.714 -16483,18639,1.775166667 -16481,18639,1.467 -16493,18639,1.6295 -16490,18639,0.741833333 -16470,18639,1.465 -16471,18639,1.119 -16468,18639,1.904166667 -16466,18639,2.065 -16479,18639,0.9705 -16476,18639,0.8685 -16472,18639,0.898833333 -16502,16476,1.162833333 -16501,16501,0.306833333 -16502,16470,1.240666667 -16501,16502,0.699833333 -16502,16471,0.933666667 -16502,16472,0.688 -16502,16481,1.925166667 -16502,16479,1.264833333 -16502,16490,1.034666667 -16502,16485,1.042333333 -16502,16486,1.001 -16502,16493,1.493833333 -16502,16501,0.688 -16502,16502,0.080333333 -16501,16466,1.984333333 -16501,16472,0.651666667 -16501,16468,1.6225 -16500,16500,0.263666667 -16501,16470,1.016333333 -16501,16471,0.737333333 -16501,16481,1.669666667 -16501,16483,2.2325 -16501,16476,1.208666667 -16501,16479,1.3325 -16501,16490,0.987166667 -16501,16485,0.923333333 -16501,16486,0.951 -16502,16468,2.006333333 -16501,16493,1.2975 -16490,16470,1.344166667 -16490,16471,1.074 -16490,16472,1.024166667 -16490,16466,1.9105 -16490,16468,1.674833333 -16490,16479,0.823 -16490,16476,0.721166667 -16490,16485,0.133666667 -16490,16486,0.034333333 -16490,16481,1.367666667 -16490,16483,1.6775 -16490,16484,2.057333333 -16490,16493,1.642166667 -16490,16490,0.017166667 -16490,16501,0.9905 -16490,16502,1.086333333 -16485,16490,0.133666667 -16485,16485,0.049666667 -16485,16486,0.099333333 -16486,16466,2.020166667 -16486,16468,1.703 -16485,16493,1.637166667 -16486,16476,0.7105 -16485,16501,0.9725 -16486,16470,1.346833333 -16485,16502,1.0505 -16486,16471,1.058 -16486,16472,0.9795 -16486,16481,1.349666667 -16486,16482,2.145666667 -16486,16483,1.6185 -16486,16484,2.0695 -16486,16479,0.826666667 -16486,16490,0.034333333 -16486,16485,0.099333333 -16486,16486,0.017166667 -16486,16493,1.643166667 -16486,16501,0.970833333 -16486,16502,1.435166667 -16483,16486,1.6765 -16483,16482,0.767833333 -16483,16483,0.182666667 -16483,16484,0.722333333 -16483,16485,1.720666667 -16484,16466,1.289333333 -16483,16490,1.627833333 -16484,16471,1.815166667 -16484,16473,0.813 -16484,16468,1.063166667 -16483,16501,2.059 -16484,16470,1.271166667 -16484,16479,1.71 -16484,16481,0.662 -16484,16482,0.0455 -16484,16476,2.031 -16484,16490,2.133333333 -16484,16483,0.723833333 -16484,16484,0.022833333 -16484,16486,2.202 -16485,16466,2.123333333 -16485,16472,0.957166667 -16485,16468,1.800833333 -16485,16470,1.409333333 -16485,16471,1.082166667 -16485,16481,1.455833333 -16485,16483,1.662166667 -16485,16476,0.787833333 -16485,16479,0.929 -16500,16462,0.5275 -16493,16493,0.370666667 -16493,16501,1.156 -16493,16502,1.547833333 -16493,16466,1.858166667 -16493,16472,1.156 -16493,16468,1.631166667 -16493,16470,0.881666667 -16493,16471,0.741166667 -16493,16481,1.539 -16493,16476,1.9065 -16493,16479,2.055333333 -16493,16490,1.658166667 -16493,16485,1.579833333 -16493,16486,1.615333333 -16473,16479,1.936166667 -16473,16473,0.222166667 -16473,16484,0.686 -16473,16481,1.2015 -16473,16482,0.7315 -16473,16483,1.117166667 -16471,16476,1.329333333 -16471,16470,0.477833333 -16470,16501,0.895 -16471,16471,0.239 -16470,16502,1.457166667 -16471,16472,0.584166667 -16471,16473,2.004666667 -16471,16482,1.851166667 -16471,16484,1.805666667 -16471,16485,1.131666667 -16471,16479,1.467666667 -16471,16481,1.136166667 -16471,16490,1.163 -16471,16493,0.741166667 -16471,16486,1.11 -16472,16468,1.759166667 -16471,16501,0.584166667 -16472,16470,1.016333333 -16472,16466,2.005333333 -16472,16476,1.189666667 -16471,16502,1.054666667 -16472,16471,0.742333333 -16472,16472,0.296833333 -16472,16483,2.380833333 -16472,16485,1.020333333 -16472,16486,1.027333333 -16472,16479,1.327833333 -16472,16481,1.6955 -16472,16493,1.3025 -16472,16490,1.059166667 -16473,16468,1.133166667 -16472,16501,0.651666667 -16473,16470,1.471833333 -16472,16502,0.688666667 -16473,16471,2.025833333 -16473,16466,1.174 -16468,16501,1.487333333 -16468,16502,1.959 -16470,16466,0.992333333 -16470,16468,0.760833333 -16470,16473,1.622166667 -16470,16476,1.077 -16470,16470,0.239 -16470,16471,0.477833333 -16470,16472,0.895 -16470,16481,0.657166667 -16470,16482,1.368833333 -16470,16483,1.617333333 -16470,16484,1.323333333 -16470,16479,1.388333333 -16470,16490,1.331333333 -16470,16485,1.388833333 -16470,16486,1.2935 -16471,16466,1.457666667 -16471,16468,1.225666667 -16470,16493,0.881666667 -16466,16501,1.745166667 -16468,16466,0.229 -16468,16471,1.0665 -16468,16472,1.487333333 -16468,16473,1.105 -16468,16468,0.1145 -16468,16470,0.566333333 -16468,16479,1.844666667 -16468,16481,1.081166667 -16468,16482,1.2685 -16468,16476,1.535166667 -16468,16490,1.785166667 -16468,16483,1.683833333 -16468,16484,1.222666667 -16468,16485,1.9005 -16468,16486,1.819666667 -16468,16493,1.470333333 -16481,16484,0.664666667 -16481,16485,1.371666667 -16481,16486,1.288 -16481,16481,0.332333333 -16481,16482,0.710333333 -16481,16483,0.989166667 -16481,16493,1.669666667 -16481,16490,1.405666667 -16481,16501,1.672166667 -16482,16470,1.358333333 -16481,16502,2.308666667 -16482,16471,1.975666667 -16482,16466,1.266666667 -16482,16468,1.2155 -16482,16479,1.709166667 -16482,16473,0.7465 -16482,16476,1.889166667 -16482,16486,2.053 -16482,16481,0.7075 -16482,16482,0.022833333 -16482,16483,0.869666667 -16482,16484,0.0455 -16483,16470,1.630333333 -16483,16472,2.031166667 -16483,16473,1.0895 -16483,16466,1.6135 -16483,16468,1.424666667 -16483,16479,1.046666667 -16483,16481,0.882 -16483,16476,1.610666667 -16479,16482,1.519833333 -16479,16483,0.924333333 -16479,16484,1.474333333 -16479,16485,0.89 -16479,16479,0.3465 -16479,16481,1.635 -16479,16490,0.832833333 -16479,16493,2.2165 -16479,16486,0.800833333 -16479,16501,1.200333333 -16479,16502,1.299833333 -16481,16468,0.981666667 -16481,16470,0.7585 -16481,16471,1.292666667 -16481,16466,1.242 -16481,16476,1.057 -16481,16479,1.478 -16481,16472,1.672666667 -16481,16473,1.257333333 -16479,16466,2.089 -16479,16468,1.945 -16479,16476,0.693166667 -16479,16470,1.5645 -16479,16471,1.450833333 -16479,16472,1.200333333 -16479,16473,1.8515 -16476,16466,1.622666667 -16476,16471,1.341833333 -16476,16472,1.098333333 -16476,16468,1.401 -16476,16470,1.121666667 -16476,16479,0.773166667 -16476,16481,1.296833333 -16476,16482,2.023166667 -16476,16476,0.343333333 -16476,16490,0.721166667 -16476,16483,1.453 -16476,16484,1.977666667 -16476,16485,0.786166667 -16476,16486,0.686666667 -16476,16493,1.901833333 -16476,16501,1.098333333 -16476,16502,1.145166667 -16466,16470,0.868 -16466,16471,1.340833333 -16466,16472,1.745166667 -16466,16466,0.1145 -16466,16468,0.229 -16466,16479,2.198666667 -16466,16473,1.172833333 -16466,16476,1.927166667 -16466,16485,2.22 -16466,16486,2.077666667 -16466,16481,1.275 -16466,16482,1.2245 -16466,16483,1.551333333 -16466,16484,1.192333333 -16466,16493,1.744666667 -16466,16490,2.100666667 -16462,16500,0.5275 -16461,16461,0.263666667 -16461,16462,0.5275 -16462,16461,0.5275 -16462,16462,0.263666667 -16441,16440,0.702333333 -16441,16441,0.193666667 -16439,16438,0.474 -16439,16439,0.078833333 -16439,16440,0.836166667 -16439,16441,0.836166667 -16440,16437,0.619166667 -16440,16438,0.5305 -16440,16439,0.914666667 -16440,16440,0.265333333 -16440,16441,0.614666667 -16441,16437,0.597333333 -16441,16438,0.387333333 -16441,16439,0.897 -16437,16440,0.616166667 -16437,16441,0.616166667 -16437,16437,0.184666667 -16437,16438,0.597666667 -16437,16439,1.367333333 -16438,16441,0.362666667 -16438,16437,0.666 -16438,16438,0.181333333 -16438,16439,0.474 -16438,16440,0.362666667 -16439,16437,1.38 -16436,16436,0.179833333 -16441,16698,1.265666667 -16441,16704,1.966 -16441,16707,1.438333333 -16439,16698,0.183833333 -16439,16699,1.614 -16439,16701,1.371833333 -16439,16707,0.501166667 -16439,16704,1.056 -16440,16698,1.265666667 -16440,16707,1.415666667 -16440,16704,1.970666667 -16437,16698,1.576333333 -16437,16707,1.883666667 -16438,16698,0.657833333 -16438,16707,0.975 -16438,16701,1.845833333 -16438,16704,1.53 -17072,17047,0.5605 -17072,17048,0.157 -17072,17068,0.931333333 -17072,17069,0.389333333 -17072,17070,0.5665 -17072,17072,0.0785 -17070,17135,2.022 -17069,17072,0.383166667 -17069,17068,0.575833333 -17069,17069,0.1385 -17069,17070,0.2875 -17070,17047,0.1835 -17070,17048,0.452166667 -17070,17068,0.859833333 -17070,17069,0.2655 -17070,17070,0.091833333 -17070,17072,0.558166667 -17068,17047,1.0975 -17068,17048,0.951666667 -17068,17072,0.963833333 -17068,17068,0.142333333 -17068,17069,0.8345 -17068,17070,1.074166667 -17069,17048,0.277166667 -17069,17047,0.333333333 -17047,17135,2.278833333 -17047,17047,0.119333333 -17047,17048,0.275166667 -17047,17068,0.889666667 -17047,17069,0.328166667 -17047,17070,0.238833333 -17047,17072,0.381166667 -17048,17047,0.321 -17048,17048,0.0785 -17048,17068,0.847833333 -17048,17069,0.277166667 -17048,17070,0.417833333 -17048,17072,0.157 -17068,14944,1.868666667 -17068,14939,1.9355 -17068,14940,2.371666667 -17068,14959,1.716833333 -17068,14960,0.577 -17068,14961,0.9095 -17068,14962,1.396 -17068,14967,1.211333333 -17069,14939,2.130666667 -17068,14963,2.009666667 -17068,14964,1.414333333 -17068,14965,0.831833333 -17068,14966,1.9665 -17069,14944,1.873833333 -17068,14753,2.4295 -17069,14753,2.4585 -17072,14939,2.293833333 -17072,14941,2.141333333 -17072,14944,1.409333333 -17072,14963,2.833666667 -17072,14964,0.926333333 -17072,14965,0.337 -17072,14966,1.588333333 -17072,14959,1.890333333 -17072,14960,0.891166667 -17072,14961,1.023 -17072,14962,1.574 -17072,14967,0.862833333 -17069,14960,0.681 -17069,14961,0.8815 -17069,14962,1.3315 -17069,14963,2.041 -17069,14959,1.614666667 -17070,14939,2.303 -17069,14964,1.4 -17069,14965,0.714333333 -17069,14966,1.996833333 -17069,14967,1.434666667 -17070,14944,1.966 -17070,14961,1.098333333 -17070,14962,1.6535 -17070,14963,2.669333333 -17070,14964,1.425333333 -17070,14959,2.101333333 -17070,14960,0.989166667 -17070,14965,0.882166667 -17070,14966,2.008833333 -17070,14967,1.519333333 -17048,14967,1.055333333 -17047,14939,2.425666667 -17047,14944,1.9645 -17047,14962,1.719166667 -17047,14963,1.955 -17047,14964,1.545333333 -17047,14965,0.694833333 -17047,14959,1.9575 -17047,14960,1.086166667 -17047,14961,1.343333333 -17048,14939,2.209833333 -17048,14941,2.070666667 -17047,14966,1.953 -17047,14967,1.361833333 -17048,14944,1.5505 -17048,14963,1.685333333 -17048,14964,1.047833333 -17048,14965,0.507166667 -17048,14966,1.676833333 -17048,14959,1.9865 -17048,14960,0.978333333 -17048,14961,1.286666667 -17048,14962,1.5405 -16931,16930,0.4845 -16931,16931,0.197833333 -16926,16769,0.94 -16926,16770,1.164166667 -16926,16771,1.013666667 -16926,16772,1.373166667 -16926,16766,2.097666667 -16926,16768,1.170666667 -16926,16775,2.168 -16926,16785,1.878666667 -16926,16786,1.789 -16926,16787,1.7 -16926,16788,1.6245 -16926,16781,1.6745 -16926,16782,1.248833333 -16926,16784,2.034166667 -16927,16762,0.963333333 -16927,16763,0.8375 -16927,16764,2.087666667 -16926,16789,0.952666667 -16926,16790,1.1435 -16926,16791,1.583166667 -16926,16792,1.877166667 -16927,16770,1.136333333 -16927,16771,0.976333333 -16927,16772,1.3685 -16927,16766,2.093166667 -16927,16768,1.133166667 -16927,16769,0.902666667 -16927,16781,1.637166667 -16927,16775,2.130833333 -16927,16786,1.736833333 -16927,16787,1.683666667 -16927,16788,1.619833333 -16927,16789,0.915333333 -16927,16782,1.2115 -16927,16784,1.891166667 -16927,16785,2.162666667 -16927,16790,1.106 -16927,16791,1.578666667 -16927,16792,1.872666667 -16926,16762,1.000666667 -16926,16763,0.8685 -16923,16856,0.839666667 -16923,16857,0.985666667 -16923,16768,1.291666667 -16923,16769,1.061166667 -16923,16762,1.121666667 -16923,16763,0.991666667 -16923,16770,1.2815 -16923,16771,1.134666667 -16923,16772,1.397166667 -16923,16782,1.3865 -16923,16784,1.997166667 -16923,16785,2.041666667 -16923,16781,1.776666667 -16923,16790,1.2645 -16923,16791,1.607333333 -16923,16792,1.901166667 -16923,16786,1.741666667 -16923,16787,1.724 -16923,16788,1.6485 -16923,16789,1.073666667 -16930,16926,0.739333333 -16930,16927,0.653833333 -16930,16923,0.5645 -16930,16930,0.0445 -16930,16931,0.4845 -16931,16926,1.026166667 -16931,16927,1.088166667 -16931,16923,0.615333333 -16927,16930,0.682 -16927,16931,1.076 -16927,16926,0.239666667 -16927,16927,0.119833333 -16930,16856,0.8775 -16930,16857,1.0235 -16931,16856,1.2965 -16931,16857,1.4425 -16930,16769,1.1005 -16930,16770,1.3235 -16930,16771,1.174166667 -16930,16772,1.480833333 -16930,16781,1.781333333 -16930,16782,1.386833333 -16930,16784,2.120666667 -16930,16789,1.113166667 -16930,16790,1.303833333 -16930,16791,1.690833333 -16930,16792,1.984833333 -16930,16785,2.0945 -16930,16786,1.770166667 -16930,16787,1.799333333 -16930,16788,1.732166667 -16931,16768,1.749333333 -16926,16923,0.628666667 -16931,16769,1.518833333 -16931,16762,1.5795 -16931,16763,1.448333333 -16926,16930,0.723833333 -16926,16931,1.060166667 -16931,16770,1.854166667 -16931,16771,1.734 -16926,16926,0.119833333 -16931,16772,2.021166667 -16926,16927,0.239666667 -16931,16782,1.796833333 -16931,16790,1.722166667 -16931,16789,1.5315 -16927,16923,0.591166667 -16923,16926,0.628666667 -16923,16927,0.591166667 -16923,16923,0.196166667 -16923,16930,0.563166667 -16923,16931,0.615333333 -16926,16857,0.863 -16926,16856,0.717 -16930,16768,1.331166667 -16930,16762,1.161166667 -16930,16763,1.029666667 -16927,16856,0.679666667 -16927,16857,0.825666667 -16857,16856,0.146 -16857,16857,0.073 -16856,16923,0.858333333 -16856,16926,0.717 -16856,16931,1.409666667 -16856,16927,0.679666667 -16856,16930,1.039166667 -16857,16792,1.450833333 -16856,16856,0.073 -16856,16857,0.146 -16856,16763,0.326333333 -16856,16764,1.6815 -16856,16765,2.095166667 -16856,16766,1.4825 -16856,16762,0.454833333 -16856,16771,0.467833333 -16856,16772,0.758166667 -16856,16773,1.821666667 -16856,16768,0.624833333 -16856,16769,0.394166667 -16856,16770,0.614666667 -16856,16779,1.893333333 -16856,16780,2.159333333 -16856,16781,1.161166667 -16856,16782,0.734333333 -16856,16775,1.606166667 -16856,16787,1.085 -16856,16788,1.0095 -16856,16789,0.406833333 -16856,16790,0.597666667 -16856,16784,1.429333333 -16856,16785,1.4495 -16856,16786,1.0515 -16857,16764,1.915 -16857,16765,2.113666667 -16857,16766,1.671333333 -16856,16791,0.968166667 -16856,16792,1.262166667 -16857,16762,0.600833333 -16857,16763,0.4765 -16857,16772,0.946833333 -16857,16773,1.998166667 -16857,16775,1.863333333 -16857,16768,0.770833333 -16857,16769,0.540166667 -16857,16770,0.760666667 -16857,16771,0.613833333 -16857,16781,1.411666667 -16857,16782,0.877833333 -16857,16788,1.198166667 -16857,16789,0.552833333 -16857,16790,0.743666667 -16857,16791,1.156833333 -16857,16784,1.650666667 -16857,16785,1.7685 -16857,16786,1.310666667 -16857,16787,1.256833333 -16857,16926,0.868833333 -16857,16927,0.831333333 -16857,16923,1.003 -16857,16930,1.086 -16857,16931,1.453333333 -16789,16923,1.231666667 -16791,16856,1.087833333 -16791,16857,1.140666667 -16789,16930,1.175166667 -16789,16931,1.753666667 -16789,16926,1.139833333 -16789,16927,1.026666667 -16783,17125,0.595833333 -16783,17139,0.785166667 -16790,16923,1.406 -16783,17134,1.537833333 -16792,16856,1.3685 -16783,17135,1.541 -16792,16857,1.5145 -16790,16930,1.460166667 -16790,16931,1.915333333 -16790,16926,1.298 -16790,16927,1.229833333 -16784,17125,1.1415 -16784,17134,2.052833333 -16792,16763,1.200333333 -16789,16856,0.452333333 -16780,17135,1.297833333 -16792,16764,0.769666667 -16789,16857,0.598333333 -16792,16765,0.849 -16792,16766,0.439 -16791,16790,1.008333333 -16792,16759,1.287333333 -16791,16791,0.089 -16792,16760,1.287333333 -16791,16792,0.5285 -16792,16761,1.351166667 -16792,16762,1.426166667 -16780,17134,1.092833333 -16792,16771,0.826 -16787,16926,1.952166667 -16792,16772,0.504 -16787,16927,1.7275 -16792,16773,0.625 -16792,16774,1.294 -16780,17139,0.647833333 -16792,16768,1.354833333 -16787,16923,1.807333333 -16792,16769,1.045666667 -16792,16770,0.6095 -16792,16779,1.461333333 -16792,16780,1.392 -16792,16781,0.947 -16792,16782,1.262166667 -16792,16775,1.199166667 -16787,16930,2.013666667 -16792,16787,0.645333333 -16792,16788,0.569833333 -16792,16789,1.069 -16792,16790,1.325833333 -16792,16783,1.351166667 -16792,16784,0.9815 -16781,17125,1.6255 -16792,16785,1.207666667 -16792,16786,0.76 -16790,16857,0.784166667 -16781,17139,1.991666667 -16792,16791,0.5285 -16792,16792,0.140666667 -16790,16856,0.638333333 -16788,16927,1.659 -16788,16930,1.824166667 -16788,16923,1.723666667 -16788,16926,1.592 -16782,17125,1.898333333 -16789,16792,1.040333333 -16790,16762,0.469666667 -16790,16763,0.455333333 -16787,16856,1.0875 -16790,16764,1.278833333 -16787,16857,1.237666667 -16789,16788,0.807 -16789,16789,0.006333333 -16789,16790,0.190833333 -16789,16791,0.810666667 -16790,16769,0.203333333 -16790,16770,0.520166667 -16790,16771,0.373333333 -16785,16926,1.9695 -16790,16772,0.655833333 -16785,16927,1.859333333 -16790,16765,1.849833333 -16790,16766,1.392 -16790,16768,0.162833333 -16785,16923,2.510166667 -16790,16779,1.741333333 -16790,16780,1.871166667 -16790,16773,1.549 -16790,16774,1.924 -16790,16775,1.218 -16785,16930,2.335333333 -16790,16785,1.017 -16790,16786,0.745333333 -16790,16787,0.8615 -16790,16788,0.906166667 -16790,16781,0.793833333 -16790,16782,0.454 -16790,16784,1.000166667 -16779,17125,0.400333333 -16791,16762,1.020666667 -16779,17134,1.228 -16791,16763,0.911166667 -16788,16856,1.082166667 -16779,17135,1.409 -16791,16764,1.080833333 -16788,16857,1.1465 -16791,16765,1.156 -16790,16789,0.190833333 -16791,16759,1.6305 -16790,16790,0.0815 -16791,16760,1.6305 -16790,16791,0.9675 -16791,16761,1.694333333 -16790,16792,1.171666667 -16791,16770,0.3155 -16791,16771,0.519333333 -16786,16926,1.659333333 -16791,16772,0.21 -16786,16927,1.571666667 -16791,16773,0.935 -16791,16766,0.749 -16779,17139,0.777833333 -16791,16768,1.033666667 -16786,16923,1.684166667 -16791,16769,0.768 -16791,16779,1.562 -16791,16780,1.591333333 -16791,16781,0.555 -16791,16774,1.68 -16791,16775,1.0215 -16786,16930,1.8735 -16791,16786,0.368 -16791,16787,0.253333333 -16791,16788,0.177833333 -16791,16789,0.8655 -16791,16782,0.870666667 -16791,16783,1.694333333 -16791,16784,0.803666667 -16780,17125,0.2705 -16791,16785,0.8205 -16787,16790,0.910166667 -16788,16759,1.844333333 -16787,16791,0.253333333 -16788,16760,1.844333333 -16787,16792,0.645333333 -16788,16761,1.908166667 -16788,16762,0.918833333 -16787,16786,0.114666667 -16787,16787,0.037833333 -16787,16788,0.0755 -16787,16789,0.9215 -16788,16768,0.956333333 -16788,16769,0.9465 -16788,16770,0.359 -16788,16763,0.937666667 -16785,16856,1.523666667 -16788,16764,0.9045 -16785,16857,1.6265 -16788,16765,1.393166667 -16788,16766,0.790333333 -16788,16775,0.843666667 -16788,16771,0.506 -16788,16772,0.251333333 -16788,16773,1.139 -16788,16774,1.546666667 -16788,16783,1.908166667 -16788,16784,0.625833333 -16788,16785,0.642666667 -16788,16786,0.190166667 -16788,16779,1.367 -16788,16780,1.496833333 -16788,16781,0.377166667 -16788,16782,0.692333333 -16788,16791,0.177833333 -16788,16792,0.569833333 -16789,16762,0.522666667 -16789,16763,0.229166667 -16786,16856,1.127333333 -16788,16787,0.0755 -16788,16788,0.037833333 -16788,16789,0.849 -16788,16790,0.932333333 -16789,16768,0.218 -16784,16923,2.023666667 -16789,16769,0.012666667 -16789,16770,0.329333333 -16789,16771,0.1825 -16784,16926,1.921166667 -16789,16764,1.460166667 -16786,16857,1.219666667 -16789,16765,1.597833333 -16789,16766,1.2 -16789,16779,1.808 -16789,16772,0.468 -16784,16927,1.874833333 -16789,16773,1.499166667 -16789,16774,1.982166667 -16789,16775,1.284666667 -16784,16930,2.0735 -16789,16784,1.067 -16789,16785,1.083833333 -16789,16786,0.8365 -16789,16787,0.835333333 -16789,16780,1.937833333 -16789,16781,0.8635 -16789,16782,0.509166667 -16791,17125,1.884833333 -16791,17139,1.533333333 -16792,17125,1.480833333 -16792,17139,1.223333333 -16788,17139,1.7875 -16789,17139,2.154333333 -16786,17139,1.8355 -16787,17125,1.692666667 -16787,17139,1.802333333 -16788,17125,1.767 -16784,17139,1.482666667 -16791,16923,1.706833333 -16791,16930,1.7815 -16791,16926,1.638333333 -16791,16927,1.736666667 -16785,17125,1.3685 -16792,16923,2.146166667 -16792,16926,2.075333333 -16785,17139,1.664666667 -16792,16927,2.0955 -16792,16930,2.163333333 -16786,17125,1.577166667 -16772,16931,2.2445 -16766,17125,1.418166667 -16766,17139,1.128833333 -16775,16856,1.4085 -16775,16857,1.5545 -16779,16759,0.494666667 -16779,16760,0.494666667 -16779,16761,0.5585 -16779,16766,1.627 -16779,16768,1.878 -16779,16769,1.874166667 -16779,16762,1.781 -16779,16763,1.827166667 -16779,16764,1.019833333 -16779,16765,0.763166667 -16779,16774,0.1815 -16779,16775,0.7835 -16779,16770,1.907166667 -16779,16771,1.947666667 -16779,16772,1.688 -16779,16773,1.2735 -16775,16779,0.7835 -16775,16780,0.913333333 -16775,16781,0.701833333 -16775,16774,0.965 -16775,16775,0.108833333 -16770,16930,1.502166667 -16770,16931,1.9695 -16775,16786,0.6535 -16775,16787,0.768 -16775,16788,0.843666667 -16775,16789,1.3355 -16775,16782,0.974666667 -16775,16783,1.342 -16775,16784,0.217833333 -16764,17125,1.434333333 -16775,16785,0.444833333 -16773,16856,1.817333333 -16773,16857,1.914166667 -16775,16790,1.2455 -16775,16791,1.0215 -16775,16792,1.198166667 -16771,16926,1.027833333 -16771,16927,0.990333333 -16764,17139,1.101166667 -16771,16923,1.163166667 -16771,16930,1.206333333 -16771,16931,1.712833333 -16765,17125,0.736833333 -16765,17139,0.723833333 -16765,17134,1.926166667 -16765,17135,1.9945 -16772,16927,1.432666667 -16772,16930,1.705833333 -16772,16923,1.683666667 -16772,16926,1.4025 -16768,16931,2.010666667 -16773,16779,1.255333333 -16773,16772,1.067666667 -16768,16927,1.263833333 -16773,16773,0.160833333 -16773,16774,1.139166667 -16773,16775,0.750166667 -16768,16930,1.513333333 -16773,16784,0.532333333 -16773,16785,0.7595 -16773,16786,0.968 -16773,16787,1.080166667 -16773,16780,1.194833333 -16773,16781,1.0165 -16773,16782,1.289333333 -16773,16783,1.095833333 -16773,16792,0.625 -16774,16761,0.377 -16774,16762,1.8565 -16774,16763,2.070166667 -16771,16856,0.467833333 -16774,16764,1.170833333 -16771,16857,0.613833333 -16773,16788,1.133 -16773,16789,1.555166667 -16773,16790,1.574666667 -16774,16759,0.313166667 -16773,16791,1.089666667 -16774,16760,0.313166667 -16774,16769,2.047 -16774,16770,1.7625 -16774,16771,1.963833333 -16769,16926,0.955666667 -16774,16772,1.639833333 -16769,16927,0.939833333 -16774,16765,0.714833333 -16774,16766,1.107 -16774,16768,2.2835 -16769,16923,1.100666667 -16774,16779,0.1815 -16774,16780,0.051666667 -16774,16773,1.0195 -16774,16774,0.025833333 -16774,16775,0.965 -16769,16930,1.227333333 -16769,16931,2.031 -16774,16785,1.150833333 -16774,16786,1.3595 -16774,16787,1.4975 -16774,16788,1.573 -16774,16781,1.407833333 -16774,16782,1.680666667 -16774,16783,0.377 -16774,16784,0.976666667 -16775,16762,1.130166667 -16775,16763,1.3585 -16772,16856,0.914833333 -16775,16764,0.4965 -16772,16857,1.062166667 -16775,16765,1.262666667 -16774,16789,2.05 -16775,16759,1.278166667 -16774,16790,1.981666667 -16775,16760,1.278166667 -16774,16791,1.675166667 -16775,16761,1.342 -16774,16792,1.372 -16775,16770,1.339833333 -16775,16771,1.494 -16770,16926,1.409666667 -16775,16772,1.125 -16770,16927,1.195333333 -16775,16773,0.750166667 -16775,16766,1.103666667 -16775,16768,1.265333333 -16770,16923,1.458833333 -16775,16769,1.346166667 -16771,16774,1.8545 -16771,16775,1.560333333 -16771,16770,0.146833333 -16771,16771,0.0735 -16766,16926,2.2305 -16771,16772,0.253166667 -16766,16927,2.2805 -16771,16773,1.166333333 -16771,16782,0.817166667 -16771,16783,1.888166667 -16771,16784,1.3405 -16760,17125,0.532 -16771,16785,1.294333333 -16771,16779,1.888833333 -16771,16780,1.853166667 -16771,16781,0.8825 -16771,16790,0.373333333 -16772,16759,1.569666667 -16771,16791,0.463166667 -16772,16760,1.569666667 -16771,16792,0.757166667 -16772,16761,1.6335 -16772,16762,0.95 -16760,17134,1.350833333 -16771,16786,0.694666667 -16771,16787,0.58 -16771,16788,0.5045 -16771,16789,0.1825 -16760,17139,0.721166667 -16772,16768,0.8755 -16772,16769,0.676833333 -16772,16770,0.107 -16772,16763,0.7455 -16769,16856,0.4105 -16760,17135,1.483666667 -16772,16764,1.090166667 -16769,16857,0.5565 -16772,16765,1.1485 -16772,16766,0.7245 -16772,16775,1.128 -16772,16771,0.261833333 -16772,16772,0.0535 -16772,16773,0.913166667 -16772,16774,1.469333333 -16772,16783,1.6335 -16772,16784,0.910333333 -16761,17125,0.595833333 -16772,16785,0.915 -16772,16786,0.4415 -16772,16779,1.727666667 -16772,16780,1.529833333 -16772,16781,0.628333333 -16772,16782,0.947 -16773,16760,1.032 -16772,16791,0.21 -16773,16761,1.095833333 -16772,16792,0.504 -16773,16762,1.444833333 -16761,17134,1.498 -16773,16763,1.653 -16770,16856,0.716166667 -16761,17135,1.607166667 -16772,16787,0.326833333 -16772,16788,0.251333333 -16772,16789,0.626666667 -16773,16759,1.032 -16772,16790,0.8985 -16773,16768,1.596833333 -16768,16923,1.429 -16773,16769,1.564 -16773,16770,1.185166667 -16773,16771,1.345333333 -16768,16926,1.301166667 -16773,16764,0.321666667 -16770,16857,0.912166667 -16773,16765,0.585666667 -16773,16766,0.5305 -16761,17139,0.785166667 -16785,16788,0.642666667 -16785,16789,1.217 -16785,16790,1.02 -16786,16759,1.675 -16785,16791,0.824 -16786,16760,1.675 -16785,16784,0.227 -16774,17125,0.218833333 -16785,16785,0.1135 -16785,16786,0.4525 -16785,16787,0.567166667 -16786,16765,1.4245 -16786,16766,1.072666667 -16774,17139,0.596166667 -16786,16768,0.819833333 -16781,16923,3.186833333 -16785,16792,1.243333333 -16786,16761,1.738833333 -16786,16762,0.659833333 -16774,17134,1.115166667 -16786,16763,1.022833333 -16774,17135,1.312166667 -16786,16764,0.714333333 -16786,16773,0.976833333 -16786,16774,1.358333333 -16786,16775,0.6535 -16781,16930,1.7925 -16786,16769,0.859166667 -16786,16770,0.547 -16786,16771,0.923333333 -16781,16926,2.103166667 -16786,16772,0.4415 -16781,16927,3.0055 -16786,16781,0.187 -16786,16782,0.502166667 -16786,16783,1.738833333 -16786,16784,0.435666667 -16775,17125,1.183833333 -16786,16779,1.176833333 -16786,16780,1.306666667 -16786,16789,0.848 -16787,16759,1.781333333 -16786,16790,0.823833333 -16787,16760,1.781333333 -16786,16791,0.368 -16787,16761,1.845166667 -16786,16792,0.76 -16786,16785,0.4525 -16786,16786,0.057333333 -16786,16787,0.114666667 -16786,16788,0.190166667 -16787,16766,0.869666667 -16775,17139,1.561166667 -16787,16768,0.903 -16782,16923,1.332666667 -16787,16769,0.925666667 -16787,16762,0.867833333 -16775,17134,2.175166667 -16787,16763,1.0055 -16784,16856,1.2765 -16787,16764,0.829 -16784,16857,1.542333333 -16787,16765,1.581166667 -16787,16774,1.474666667 -16787,16775,0.768 -16782,16930,1.352 -16782,16931,1.801166667 -16787,16770,0.433333333 -16787,16771,0.595666667 -16782,16926,1.1915 -16787,16772,0.326833333 -16782,16927,1.154166667 -16787,16773,1.080166667 -16787,16782,0.616666667 -16787,16783,1.845166667 -16787,16784,0.550333333 -16787,16785,0.567166667 -16787,16779,1.2915 -16787,16780,1.421333333 -16787,16781,0.3015 -16783,16786,1.7375 -16783,16787,1.842333333 -16783,16788,1.901833333 -16783,16783,0.032 -16772,17125,1.691166667 -16783,16784,1.299666667 -16783,16785,1.526666667 -16784,16763,1.333 -16781,16856,1.134333333 -16784,16764,0.278666667 -16781,16857,1.204666667 -16784,16765,1.110166667 -16784,16766,0.910166667 -16784,16759,1.235833333 -16783,16791,1.938333333 -16784,16760,1.235833333 -16783,16792,1.460666667 -16784,16761,1.299666667 -16784,16762,1.147333333 -16784,16771,1.284 -16784,16772,0.950666667 -16784,16773,0.532333333 -16784,16774,0.922666667 -16772,17139,1.508833333 -16784,16768,1.0985 -16784,16769,1.419166667 -16784,16770,1.056166667 -16784,16779,0.741166667 -16784,16780,0.871 -16784,16781,0.484 -16784,16782,0.756833333 -16784,16775,0.217833333 -16784,16787,0.550333333 -16784,16788,0.638666667 -16784,16789,1.128166667 -16785,16759,1.462833333 -16784,16790,1.126833333 -16784,16783,1.299666667 -16773,17125,1.2605 -16784,16784,0.108833333 -16784,16785,0.227 -16784,16786,0.435666667 -16785,16764,0.505833333 -16782,16857,0.791833333 -16785,16765,1.234833333 -16785,16766,1.16 -16773,17139,0.9565 -16785,16760,1.462833333 -16784,16791,0.849666667 -16785,16761,1.526666667 -16784,16792,1.107833333 -16785,16762,1.051333333 -16773,17134,2.432666667 -16785,16763,1.262166667 -16782,16856,0.645833333 -16785,16772,0.926833333 -16785,16773,0.7595 -16785,16774,1.149666667 -16785,16775,0.444833333 -16785,16768,1.041166667 -16785,16769,1.234166667 -16785,16770,1.0345 -16785,16771,1.250333333 -16785,16780,1.098166667 -16785,16781,0.500833333 -16785,16782,0.773666667 -16785,16783,1.526666667 -16785,16779,0.968166667 -16770,17125,1.856333333 -16781,16784,0.484 -16781,16785,0.500833333 -16781,16786,0.187 -16781,16787,0.3015 -16781,16780,1.355166667 -16781,16781,0.0935 -16781,16782,0.5505 -16781,16783,1.783666667 -16781,16792,1.032833333 -16782,16762,0.366166667 -16782,16763,0.573833333 -16779,16856,1.901666667 -16782,16764,1.035666667 -16781,16788,0.377166667 -16781,16789,0.933 -16781,16790,0.799 -16782,16759,1.992666667 -16781,16791,0.555 -16782,16760,1.992666667 -16782,16769,0.532166667 -16782,16770,0.937333333 -16782,16771,0.768166667 -16782,16772,0.971333333 -16782,16765,1.759833333 -16782,16766,1.601833333 -16770,17139,1.615166667 -16782,16768,0.475333333 -16782,16779,1.498 -16782,16780,1.628 -16782,16773,1.289333333 -16782,16774,1.6795 -16782,16775,0.974666667 -16782,16785,0.773666667 -16782,16786,0.502166667 -16782,16787,0.616666667 -16782,16788,0.692333333 -16782,16781,0.5505 -16782,16782,0.1645 -16771,17125,2.014166667 -16782,16784,0.756833333 -16780,16856,2.031666667 -16783,16764,1.485166667 -16783,16765,0.901833333 -16782,16789,0.517833333 -16783,16759,0.063833333 -16782,16790,0.454 -16783,16760,0.063833333 -16782,16791,0.873166667 -16783,16761,1.162 -16782,16792,1.455166667 -16783,16770,2.016666667 -16783,16771,2.125166667 -16783,16772,1.829666667 -16783,16773,1.3945 -16783,16766,1.366166667 -16771,17139,1.762 -16783,16779,0.5585 -16783,16780,0.428666667 -16783,16781,1.784333333 -16783,16774,0.377 -16783,16775,1.342 -16779,16782,1.498 -16779,16783,0.5585 -16779,16784,0.741166667 -16779,16785,0.968166667 -16779,16779,0.065 -16779,16780,0.13 -16779,16781,1.225166667 -16779,16790,1.866333333 -16780,16759,0.364666667 -16779,16791,1.615 -16780,16760,0.364666667 -16779,16792,1.729 -16780,16761,0.428666667 -16780,16762,1.9265 -16779,16786,1.176833333 -16779,16787,1.2915 -16779,16788,1.367 -16779,16789,1.880666667 -16780,16768,2.080833333 -16780,16769,2.0095 -16780,16770,1.968833333 -16780,16763,1.958333333 -16780,16764,1.149833333 -16780,16765,0.625666667 -16780,16766,1.34 -16780,16775,0.913333333 -16775,16926,1.955166667 -16780,16771,2.061 -16775,16927,1.917666667 -16780,16772,1.9155 -16780,16773,1.3605 -16780,16774,0.051666667 -16780,16783,0.428666667 -16780,16784,0.871 -16780,16785,1.098166667 -16780,16786,1.306666667 -16780,16779,0.13 -16780,16780,0.025833333 -16780,16781,1.355166667 -16780,16782,1.645333333 -16781,16760,1.719833333 -16780,16791,1.874833333 -16781,16761,1.783666667 -16780,16792,1.638666667 -16781,16762,0.791666667 -16781,16763,1.022 -16780,16787,1.421333333 -16780,16788,1.496833333 -16780,16789,2.0195 -16781,16759,1.719833333 -16780,16790,2.063166667 -16781,16768,0.820333333 -16781,16769,0.881 -16781,16770,0.736166667 -16781,16771,0.942833333 -16781,16764,0.762833333 -16781,16765,1.648666667 -16781,16766,1.289833333 -16769,17139,1.9845 -16781,16779,1.225166667 -16781,16772,0.628333333 -16781,16773,1.0165 -16781,16774,1.406666667 -16781,16775,0.701833333 -16761,16764,1.418833333 -16761,16765,0.8335 -16761,16766,1.259333333 -16760,16791,1.864666667 -16761,16760,0.063833333 -16760,16792,1.2915 -16761,16761,0.032 -16761,16772,1.639333333 -16761,16773,1.451833333 -16761,16774,0.377 -16761,16775,1.342 -16761,16770,1.747833333 -16761,16771,1.894833333 -16761,16780,0.428666667 -16761,16781,1.839833333 -16761,16783,1.162 -16761,16779,0.5585 -16761,16788,1.881666667 -16761,16791,1.920833333 -16761,16784,1.3005 -16761,16785,1.528 -16761,16786,1.765833333 -16761,16787,1.856 -16762,16765,1.979666667 -16762,16766,1.635166667 -16762,16768,0.491 -16761,16792,1.353833333 -16762,16762,0.174166667 -16762,16763,0.401166667 -16762,16764,1.191166667 -16762,16773,1.444833333 -16762,16774,1.936833333 -16762,16775,1.130166667 -16762,16769,0.502333333 -16762,16770,0.756666667 -16762,16771,0.522333333 -16762,16772,0.919166667 -16762,16781,0.706 -16762,16782,0.366166667 -16762,16784,0.912333333 -16762,16779,1.656 -16762,16780,1.785833333 -16762,16789,0.5145 -16762,16790,0.469666667 -16762,16791,1.040333333 -16762,16792,1.457 -16762,16785,0.929166667 -16762,16786,0.657666667 -16762,16787,0.772333333 -16762,16788,0.847833333 -16759,16764,1.297833333 -16759,16765,0.7065 -16759,16759,0.032 -16759,16760,1.034333333 -16759,16761,0.063833333 -16759,16770,1.689666667 -16759,16771,2.0515 -16759,16772,1.584 -16759,16773,1.376 -16759,16766,1.231 -16759,16769,2.301666667 -16759,16779,0.494666667 -16759,16780,0.364666667 -16759,16781,1.741333333 -16759,16774,0.313166667 -16759,16775,1.278166667 -16759,16786,1.7035 -16759,16787,1.784666667 -16759,16788,1.829333333 -16759,16782,2.061166667 -16759,16783,0.063833333 -16759,16784,1.237 -16759,16785,1.4645 -16760,16764,1.355 -16760,16765,0.741333333 -16760,16766,1.197 -16760,16759,1.034333333 -16759,16791,1.8515 -16760,16760,0.032 -16759,16792,1.2985 -16760,16761,0.063833333 -16760,16771,1.836833333 -16760,16772,1.577 -16760,16773,1.2435 -16760,16774,0.313166667 -16760,16769,2.224666667 -16760,16770,1.685666667 -16760,16779,0.494666667 -16760,16780,0.364666667 -16760,16781,1.740666667 -16760,16782,2.016333333 -16760,16775,1.278166667 -16760,16787,1.762666667 -16760,16788,1.814666667 -16761,16759,0.063833333 -16760,16783,0.063833333 -16760,16784,1.237333333 -16760,16785,1.465333333 -16760,16786,1.706166667 -16769,16772,0.4285 -16764,16927,2.2895 -16769,16773,1.392666667 -16769,16774,1.930166667 -16769,16775,1.299833333 -16769,16768,0.2305 -16769,16769,0.006333333 -16769,16770,0.316666667 -16769,16771,0.169833333 -16769,16780,1.9435 -16769,16781,0.863166667 -16769,16782,0.521666667 -16769,16779,1.818166667 -16769,16788,0.749 -16769,16789,0.012666667 -16769,16790,0.203333333 -16770,16759,1.6775 -16769,16791,0.6385 -16770,16760,1.6775 -16769,16784,1.067833333 -16769,16785,1.084666667 -16769,16786,0.841166667 -16769,16787,0.824 -16770,16765,1.254833333 -16770,16766,0.830833333 -16770,16768,0.64 -16769,16792,0.932333333 -16770,16761,1.741333333 -16770,16762,0.828666667 -16770,16763,0.650666667 -16770,16764,1.182333333 -16770,16773,1.016833333 -16770,16774,1.696166667 -16770,16775,1.225666667 -16770,16769,0.721 -16770,16770,0.053166667 -16770,16771,0.173333333 -16770,16772,0.106333333 -16770,16781,0.734833333 -16770,16782,1.047166667 -16770,16783,1.741333333 -16770,16784,1.008 -16759,17125,0.532 -16770,16779,1.833333333 -16770,16780,1.637666667 -16770,16789,0.470666667 -16771,16759,1.824333333 -16770,16790,0.635166667 -16771,16760,1.824333333 -16770,16791,0.3165 -16771,16761,1.888166667 -16770,16792,0.610333333 -16770,16785,1.0215 -16770,16786,0.547833333 -16770,16787,0.433166667 -16770,16788,0.357666667 -16771,16766,0.977666667 -16759,17139,0.721166667 -16771,16768,0.4005 -16771,16769,0.169833333 -16771,16762,0.683 -16759,17134,1.3465 -16771,16763,0.333833333 -16759,17135,1.612333333 -16768,16856,0.755166667 -16771,16764,1.3595 -16768,16857,0.901166667 -16771,16765,1.395666667 -16762,16926,1.005 -16762,16927,0.967666667 -16762,16923,1.16 -16762,16930,1.2205 -16762,16931,1.896666667 -16768,16763,0.6245 -16765,16856,2.027 -16768,16764,1.300166667 -16765,16857,2.153166667 -16768,16765,1.872333333 -16768,16766,1.482166667 -16768,16762,0.491 -16768,16771,0.4005 -16763,16926,0.904 -16768,16772,0.659 -16763,16927,0.866666667 -16768,16773,1.554666667 -16768,16774,1.945166667 -16768,16768,0.0815 -16763,16923,1.060666667 -16768,16769,0.2305 -16768,16770,0.547333333 -16768,16779,1.7635 -16768,16780,1.8935 -16768,16781,0.815166667 -16768,16782,0.475333333 -16768,16775,1.239333333 -16763,16930,1.110833333 -16763,16931,1.597333333 -16768,16787,0.881333333 -16768,16788,0.953 -16768,16789,0.218 -16769,16759,2.140333333 -16768,16790,0.162833333 -16768,16784,1.0215 -16768,16785,1.038333333 -16768,16786,0.766833333 -16769,16764,1.432833333 -16766,16857,1.887 -16769,16765,1.571 -16769,16766,1.152666667 -16769,16760,2.129666667 -16768,16791,0.929166667 -16768,16792,1.166333333 -16769,16762,0.5365 -16769,16763,0.265833333 -16766,16856,1.7795 -16765,16768,2.002666667 -16765,16769,1.838333333 -16765,16770,1.2515 -16765,16771,1.494666667 -16765,16764,0.731666667 -16762,16857,0.600833333 -16765,16765,0.1415 -16765,16766,0.759333333 -16765,16779,0.6995 -16765,16772,1.146833333 -16765,16773,0.587 -16765,16774,0.518 -16765,16775,1.346666667 -16765,16784,0.942333333 -16765,16785,1.1695 -16765,16786,1.379666667 -16765,16787,1.382333333 -16765,16780,0.5695 -16765,16781,1.430166667 -16765,16782,1.700333333 -16765,16783,0.706833333 -16765,16792,0.853833333 -16766,16761,1.256166667 -16766,16762,1.749333333 -16766,16763,1.8175 -16763,16856,0.350166667 -16766,16764,0.675166667 -16763,16857,0.496 -16765,16788,1.346666667 -16765,16789,1.774 -16765,16790,2.0035 -16766,16759,1.192333333 -16765,16791,1.200166667 -16766,16760,1.192333333 -16766,16769,1.521333333 -16766,16770,0.83 -16766,16771,1.0855 -16766,16772,0.7245 -16766,16765,0.7525 -16766,16766,0.171666667 -16766,16768,1.695 -16766,16779,1.491166667 -16766,16780,1.285 -16766,16773,0.5305 -16766,16774,1.411333333 -16766,16775,1.103666667 -16766,16785,1.113 -16766,16786,1.155 -16766,16787,0.996166667 -16766,16788,0.888333333 -16766,16781,1.3585 -16766,16782,1.619333333 -16766,16783,1.256166667 -16766,16784,0.885833333 -16764,16856,1.587666667 -16764,16857,1.631 -16766,16789,1.659 -16766,16790,1.747333333 -16766,16791,0.753333333 -16766,16792,0.439 -16763,16766,1.325 -16763,16768,0.478833333 -16763,16769,0.2465 -16763,16762,0.402166667 -16763,16763,0.077333333 -16763,16764,1.697 -16763,16765,1.757833333 -16763,16774,1.993333333 -16763,16775,1.5265 -16763,16770,0.466833333 -16763,16771,0.32 -16763,16772,0.6005 -16763,16773,1.621833333 -16763,16782,0.6585 -16763,16784,1.2705 -16763,16785,1.333666667 -16763,16779,1.9215 -16763,16780,1.968166667 -16763,16781,1.049666667 -16763,16790,0.451666667 -16764,16759,1.199166667 -16763,16791,0.8105 -16764,16760,1.199166667 -16763,16792,1.1045 -16764,16761,1.263 -16764,16762,1.191166667 -16763,16786,1.016 -16763,16787,1.001 -16763,16788,0.957166667 -16763,16789,0.259 -16764,16768,1.300166667 -16764,16769,1.3995 -16764,16770,1.254166667 -16764,16763,1.472166667 -16764,16764,0.139333333 -16764,16765,0.747666667 -16764,16766,0.679666667 -16764,16775,0.4965 -16764,16771,1.326833333 -16764,16772,1.138166667 -16764,16773,0.321666667 -16764,16774,1.259833333 -16764,16783,1.263 -16764,16784,0.278666667 -16764,16785,0.505833333 -16764,16786,0.714333333 -16764,16779,1.019833333 -16764,16780,1.195833333 -16764,16781,0.762833333 -16764,16782,1.035666667 -16765,16760,0.643 -16764,16791,1.0995 -16765,16761,0.706833333 -16764,16792,0.774 -16765,16762,1.9955 -16765,16763,1.861333333 -16762,16856,0.454833333 -16764,16787,0.829 -16764,16788,0.906666667 -16764,16789,1.396333333 -16765,16759,0.643 -16764,16790,1.278833333 -16707,16707,0.2505 -16698,16701,1.555833333 -16698,16704,1.24 -16698,16698,0.091166667 -16698,16699,1.794666667 -16698,16707,0.685 -16707,16438,0.975 -16707,16439,0.501166667 -16707,16440,1.371666667 -16707,16441,1.371666667 -16707,16437,1.983333333 -16704,16438,1.53 -16704,16439,1.056 -16704,16440,1.900666667 -16704,16441,1.900666667 -16701,16438,1.845833333 -16701,16439,1.371833333 -16705,16704,1.421666667 -16705,16705,0.2555 -16705,16706,0.6485 -16706,16702,1.416 -16706,16699,1.762333333 -16706,16700,1.592166667 -16706,16705,0.6485 -16706,16706,0.2155 -16707,16704,1.235833333 -16707,16698,0.685666667 -16707,16699,1.109666667 -16707,16700,1.6285 -16707,16701,0.870833333 -16704,16698,1.241 -16704,16707,1.131 -16704,16704,0.353 -16704,16705,1.421666667 -16705,16700,0.964166667 -16705,16701,1.529333333 -16705,16702,1.309 -16705,16699,1.091166667 -16701,16705,1.621333333 -16701,16707,0.870833333 -16701,16700,1.157166667 -16701,16701,0.319166667 -16701,16702,1.53 -16702,16699,1.091666667 -16702,16700,0.814166667 -16702,16705,0.9905 -16702,16706,1.065166667 -16702,16701,1.53 -16702,16702,0.3485 -16699,16702,1.091666667 -16699,16705,1.274333333 -16699,16698,1.831166667 -16699,16699,0.319166667 -16699,16700,0.718833333 -16699,16701,0.638166667 -16699,16706,1.858833333 -16699,16707,1.109666667 -16700,16705,1.099666667 -16700,16706,1.606166667 -16700,16699,0.718833333 -16700,16700,0.3595 -16700,16701,1.157166667 -16700,16702,0.814166667 -16700,16707,1.6285 -16701,16698,1.555833333 -16701,16699,0.638166667 -16698,16437,1.48 -16698,16438,0.657833333 -16698,16439,0.183833333 -16698,16440,1.028166667 -16698,16441,1.028166667 -16699,16439,1.610666667 -18639,16466,2.089 -18639,16468,1.914 -18639,16476,0.8685 -18639,16471,1.079833333 -18639,16470,1.392166667 -18639,16472,0.7925 -18639,16483,1.796666667 -18639,16485,0.724833333 -18639,16479,0.976666667 -18639,16481,1.592166667 -18639,16490,0.7425 -18639,16493,1.600333333 -18639,16486,0.708 -18639,16501,0.7925 -18639,16502,0.818333333 -18639,18639,0.169666667 -21785,21785,0.282 -21785,21792,1.299166667 -21785,21793,1.720333333 -21786,21773,1.739 -21786,21774,0.728666667 -21786,21792,1.777333333 -21786,21786,0.314666667 -21786,21793,1.083833333 -21793,21792,1.121666667 -21793,21793,0.227166667 -21792,21785,1.299166667 -21792,21786,1.777333333 -21792,21793,1.121666667 -21792,21792,0.175166667 -21793,21774,1.8125 -21793,21786,1.083833333 -21793,21785,1.720333333 -21773,21774,1.010333333 -21773,21773,0.097833333 -21773,21786,1.739 -21774,21773,1.010333333 -21774,21774,0.364333333 -21774,21786,0.728666667 -21774,21793,1.8125 diff --git a/activitysim/examples/example_sandag/run_sandag.txt b/activitysim/examples/example_sandag/run_sandag.txt deleted file mode 100644 index 2c277d96b3..0000000000 --- a/activitysim/examples/example_sandag/run_sandag.txt +++ /dev/null @@ -1,14 +0,0 @@ -### -### 1 Zone -### -activitysim run -c configs_1_zone -c example_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml - -### -### 2 Zone -### -activitysim run -c configs_2_zone -c example_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml - -### -### 3 Zone -### -activitysim run -c configs_3_zone -c example_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml \ No newline at end of file diff --git a/activitysim/examples/example_sandag/test/regress/final_2_zone_tours.csv b/activitysim/examples/example_sandag/test/regress/final_2_zone_tours.csv deleted file mode 100644 index c58aab9334..0000000000 --- a/activitysim/examples/example_sandag/test/regress/final_2_zone_tours.csv +++ /dev/null @@ -1,79 +0,0 @@ -tour_id,person_id,tour_type,tour_type_count,tour_type_num,tour_num,tour_count,tour_category,number_of_participants,destination,origin,household_id,tdd,start,end,duration,composition,destination_logsum,tour_mode,mode_choice_logsum,atwork_subtour_frequency,parent_tour_id,stop_frequency,primary_purpose -1359025,33146,work,1,1,1,1,mandatory,1,1100.0,560.0,12593,13.0,5.0,18.0,13.0,,,SHARED2FREE,0.3653801991721616,no_subtours,,2out_0in,work -1359066,33147,work,1,1,1,1,mandatory,1,1070.0,560.0,12593,59.0,8.0,13.0,5.0,,,SHARED3FREE,0.0994117679786244,no_subtours,,0out_3in,work -1494647,36454,shopping,2,1,1,2,non_mandatory,1,723.0,580.0,13797,135.0,14.0,14.0,0.0,,11.54675919468374,DRIVEALONEFREE,0.1529407042214395,,,0out_1in,shopping -1494648,36454,shopping,2,2,2,2,non_mandatory,1,729.0,580.0,13797,151.0,15.0,21.0,6.0,,11.568558678347042,WALK,-0.1460596676048219,,,0out_2in,shopping -1494680,36455,othdiscr,1,1,1,1,non_mandatory,1,587.0,580.0,13797,159.0,16.0,21.0,5.0,,12.81165575629481,SHARED2FREE,0.9330192771890068,,,0out_2in,othdiscr -1494694,36455,work,1,1,1,1,mandatory,1,555.0,580.0,13797,58.0,8.0,12.0,4.0,,,WALK,0.438267562530625,no_subtours,,0out_0in,work -1709911,41705,eatout,1,1,1,1,non_mandatory,1,1070.0,645.0,15777,76.0,9.0,15.0,6.0,,11.958812988658847,SHARED2FREE,-0.7287326640119223,,,0out_0in,eatout -1709946,41706,business,1,1,1,1,atwork,1,1070.0,712.0,15777,116.0,12.0,16.0,4.0,,18.56981131689576,SHARED2FREE,-1.1732310040119578,,1709985.0,0out_0in,atwork -1709985,41706,work,1,1,1,1,mandatory,1,712.0,645.0,15777,65.0,8.0,19.0,11.0,,,DRIVEALONEFREE,0.4605169952714734,business1,,0out_1in,work -2051448,50035,eatout,1,1,1,1,joint,3,986.0,757.0,18261,156.0,16.0,18.0,2.0,mixed,11.523078896520504,BIKE,-4.315590233974143,,,0out_1in,eatout -2051466,50035,school,1,1,1,1,mandatory,1,919.0,757.0,18261,43.0,7.0,13.0,6.0,,,SHARED3FREE,-1.4990945285645794,,,0out_0in,school -2051468,50035,shopping,1,1,1,1,non_mandatory,1,991.0,757.0,18261,175.0,19.0,19.0,0.0,,11.42312659118132,DRIVEALONEFREE,-0.497433560680673,,,0out_0in,shopping -2051504,50036,othmaint,1,1,1,1,non_mandatory,1,874.0,757.0,18261,44.0,7.0,14.0,7.0,,12.121531465064445,DRIVEALONEFREE,-0.2081441870570267,,,0out_0in,othmaint -2051556,50037,work,1,1,1,1,mandatory,1,1070.0,757.0,18261,46.0,7.0,16.0,9.0,,,DRIVEALONEFREE,-1.2594160646317012,no_subtours,,0out_0in,work -2268889,55338,school,1,1,1,1,mandatory,1,699.0,794.0,19758,40.0,7.0,10.0,3.0,,,BIKE,-0.8648143979597476,,,0out_0in,school -2268938,55339,work,1,1,1,1,mandatory,1,699.0,794.0,19758,11.0,5.0,16.0,11.0,,,WALK,0.1715796183741264,no_subtours,,0out_0in,work -2373816,57897,work,1,1,1,1,mandatory,1,1070.0,829.0,20552,50.0,7.0,20.0,13.0,,,DRIVEALONEFREE,-0.3033814075242954,no_subtours,,0out_0in,work -2373857,57898,work,1,1,1,1,mandatory,1,913.0,829.0,20552,102.0,11.0,14.0,3.0,,,DRIVEALONEFREE,0.5102304832959351,no_subtours,,0out_0in,work -2373898,57899,work,1,1,1,1,mandatory,1,687.0,829.0,20552,47.0,7.0,17.0,10.0,,,WALK,1.2941088699931569,no_subtours,,0out_0in,work -2373980,57901,work,2,1,1,2,mandatory,1,706.0,829.0,20552,24.0,6.0,11.0,5.0,,,SHARED2FREE,0.5267612467815088,no_subtours,,0out_0in,work -2373981,57901,work,2,2,2,2,mandatory,1,706.0,829.0,20552,148.0,15.0,18.0,3.0,,,DRIVEALONEFREE,0.5171713294052263,no_subtours,,1out_0in,work -2563802,62531,school,1,1,1,1,mandatory,1,938.0,900.0,21869,180.0,20.0,20.0,0.0,,,SHARED3FREE,-0.5831759151226724,,,0out_0in,school -2563821,62532,escort,1,1,1,1,non_mandatory,1,647.0,900.0,21869,20.0,6.0,7.0,1.0,,12.514093908053251,SHARED2FREE,-1.2864424308629347,,,0out_0in,escort -2563862,62533,escort,3,1,1,4,non_mandatory,1,695.0,900.0,21869,1.0,5.0,6.0,1.0,,12.556775320374928,SHARED3FREE,-1.2677737648720784,,,0out_3in,escort -2563863,62533,escort,3,2,2,4,non_mandatory,1,518.0,900.0,21869,99.0,11.0,11.0,0.0,,12.489879701235449,SHARED2FREE,-1.680637950443967,,,0out_0in,escort -2563864,62533,escort,3,3,3,4,non_mandatory,1,844.0,900.0,21869,135.0,14.0,14.0,0.0,,12.522412736170066,SHARED3FREE,-1.4300972456209138,,,0out_0in,escort -2563878,62533,othdiscr,1,1,4,4,non_mandatory,1,1070.0,900.0,21869,100.0,11.0,12.0,1.0,,12.911650593748837,DRIVEALONEFREE,-0.1200993715843141,,,0out_0in,othdiscr -2563925,62534,school,1,1,1,1,mandatory,1,916.0,900.0,21869,55.0,8.0,9.0,1.0,,,SHARED2FREE,-0.0396876581661438,,,0out_1in,school -2787968,67999,escort,1,1,1,2,non_mandatory,1,767.0,973.0,23619,124.0,13.0,13.0,0.0,,12.987514805613186,TNC_SINGLE,-0.7501380977388656,,,0out_2in,escort -2787995,67999,social,1,1,2,2,non_mandatory,1,909.0,973.0,23619,165.0,17.0,20.0,3.0,,12.08477180044538,WALK,0.8061070912771485,,,0out_0in,social -2788039,68000,work,1,1,1,1,mandatory,1,1044.0,973.0,23619,49.0,7.0,19.0,12.0,,,SHARED2FREE,-0.00710718228818,no_subtours,,1out_1in,work -3238088,78977,school,1,1,1,1,mandatory,1,984.0,1081.0,26897,44.0,7.0,14.0,7.0,,,WALK,0.1211514950748291,,,0out_0in,school -3238143,78979,eat,1,1,1,1,atwork,1,881.0,854.0,26897,72.0,9.0,11.0,2.0,,18.47738334324841,WALK,0.3813516754240743,,3238178.0,0out_0in,atwork -3238178,78979,work,1,1,1,1,mandatory,1,854.0,1081.0,26897,48.0,7.0,18.0,11.0,,,DRIVEALONEFREE,0.2432316978223525,eat,,0out_0in,work -52627721,1283602,work,1,1,1,1,mandatory,1,1078.0,521.0,435012,64.0,8.0,18.0,10.0,,,DRIVEALONEFREE,-1.1965658496185003,no_subtours,,0out_1in,work -52638594,1283868,eatout,1,1,1,1,non_mandatory,1,1070.0,537.0,435278,172.0,18.0,21.0,3.0,,11.521727382377154,SHARED2FREE,-1.151913509733255,,,1out_0in,eatout -52638611,1283868,maint,1,1,1,1,atwork,1,713.0,923.0,435278,154.0,16.0,16.0,0.0,,18.33610036731193,DRIVEALONEFREE,-0.2710302783470972,,52638627.0,0out_0in,atwork -52638627,1283868,work,1,1,1,1,mandatory,1,923.0,537.0,435278,79.0,9.0,18.0,9.0,,,DRIVEALONEFREE,-0.4354536642674751,maint,,0out_1in,work -52641825,1283946,work,1,1,1,1,mandatory,1,1005.0,523.0,435356,48.0,7.0,18.0,11.0,,,TNC_SINGLE,-0.1532451917905631,no_subtours,,0out_0in,work -52668557,1284598,work,1,1,1,1,mandatory,1,551.0,562.0,436008,80.0,9.0,19.0,10.0,,,DRIVEALONEFREE,0.5965069673099715,no_subtours,,0out_0in,work -52734819,1286215,eat,1,1,1,1,atwork,1,1077.0,606.0,437625,88.0,10.0,13.0,3.0,,17.962217038040098,DRIVEALONEFREE,-1.0786066119567437,,52734854.0,0out_0in,atwork -52734854,1286215,work,1,1,1,1,mandatory,1,606.0,656.0,437625,65.0,8.0,19.0,11.0,,,DRIVEALONEFREE,0.3408891965486361,eat,,0out_2in,work -52897544,1290184,business,1,1,1,1,atwork,1,763.0,952.0,441594,99.0,11.0,11.0,0.0,,17.592814487706022,DRIVEALONEFREE,-0.2638632561642185,,52897583.0,0out_0in,atwork -52897550,1290184,eatout,1,1,4,4,non_mandatory,1,911.0,1096.0,441594,181.0,20.0,21.0,1.0,,11.700287720091795,SHARED2FREE,0.6485235550944931,,,0out_1in,eatout -52897569,1290184,othdiscr,3,1,1,4,non_mandatory,1,684.0,1096.0,441594,19.0,6.0,6.0,0.0,,12.836219984957616,DRIVEALONEFREE,0.0093805386459194,,,0out_0in,othdiscr -52897570,1290184,othdiscr,3,2,2,4,non_mandatory,1,762.0,1096.0,441594,185.0,21.0,22.0,1.0,,12.85871370026547,DRIVEALONEFREE,-0.1004630916429411,,,0out_0in,othdiscr -52897571,1290184,othdiscr,3,3,3,4,non_mandatory,1,739.0,1096.0,441594,189.0,23.0,23.0,0.0,,12.825359631493514,DRIVEALONEFREE,0.0359701615660217,,,1out_0in,othdiscr -52897583,1290184,work,1,1,1,1,mandatory,1,952.0,1096.0,441594,81.0,9.0,20.0,11.0,,,DRIVEALONEFREE,-0.2792777788795509,business1,,0out_1in,work -52915670,1290626,eat,1,1,1,1,atwork,1,1070.0,1070.0,442036,86.0,10.0,11.0,1.0,,19.40513898570057,WALK,0.547115313877139,,52915705.0,0out_1in,atwork -52915705,1290626,work,1,1,1,1,mandatory,1,1070.0,1100.0,442036,64.0,8.0,18.0,10.0,,,WALK_LRF,-0.4685879450126991,eat,,1out_0in,work -76379130,1862905,othdiscr,1,1,1,1,non_mandatory,1,975.0,960.0,721960,151.0,15.0,21.0,6.0,,12.829462211744756,SHARED3FREE,0.2299060311424891,,,0out_0in,othdiscr -76379171,1862906,othdiscr,1,1,1,1,non_mandatory,1,980.0,960.0,721960,104.0,11.0,16.0,5.0,,12.895497944116078,SHARED2FREE,0.2443961854625458,,,0out_1in,othdiscr -80946571,1974306,othdiscr,1,1,1,1,non_mandatory,1,564.0,509.0,760593,62.0,8.0,16.0,8.0,,13.397578524110267,SHARED3FREE,1.1642500220088072,,,0out_0in,othdiscr -80946591,1974307,eat,1,1,1,1,atwork,1,816.0,689.0,760593,113.0,12.0,13.0,1.0,,18.70693256093076,TNC_SINGLE,-1.432827192540037,,80946626.0,0out_0in,atwork -80946626,1974307,work,1,1,1,1,mandatory,1,689.0,509.0,760593,79.0,9.0,18.0,9.0,,,WALK,0.3673413126495182,eat,,1out_0in,work -80946637,1974308,escort,1,1,1,1,non_mandatory,1,675.0,509.0,760593,0.0,5.0,5.0,0.0,,12.6651030847365,WALK,-0.417143996582791,,,0out_0in,escort -81048440,1976791,escort,1,1,1,1,non_mandatory,1,908.0,613.0,761445,124.0,13.0,13.0,0.0,,12.72832397470647,SHARED2FREE,-0.9702678003678288,,,0out_0in,escort -81048476,1976792,eat,1,1,1,1,atwork,1,540.0,517.0,761445,70.0,9.0,9.0,0.0,,18.0619307578632,DRIVEALONEFREE,0.3349711049350423,,81048511.0,0out_0in,atwork -81048508,1976792,social,1,1,1,1,non_mandatory,1,919.0,613.0,761445,140.0,14.0,19.0,5.0,,11.82639731675964,SHARED3FREE,0.063951375172509,,,0out_0in,social -81048511,1976792,work,1,1,1,1,mandatory,1,517.0,613.0,761445,7.0,5.0,12.0,7.0,,,DRIVEALONEFREE,0.0241590723636635,eat,,0out_0in,work -81130344,1978788,social,1,1,1,1,non_mandatory,1,739.0,961.0,762159,66.0,8.0,20.0,12.0,,11.9479963819628,SHARED3FREE,0.6703246497228009,,,0out_0in,social -81130399,1978790,escort,1,1,1,1,non_mandatory,1,992.0,961.0,762159,54.0,8.0,8.0,0.0,,12.598954383934002,SHARED2FREE,-0.8826226647160393,,,0out_0in,escort -81130429,1978790,work,1,1,1,1,mandatory,1,681.0,961.0,762159,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,-0.0169777251226961,no_subtours,,0out_0in,work -81130470,1978791,work,1,1,1,1,mandatory,1,1070.0,961.0,762159,47.0,7.0,17.0,10.0,,,SHARED2FREE,-0.928003496988582,no_subtours,,0out_0in,work -102419958,2498047,school,1,1,1,1,mandatory,1,851.0,730.0,922602,77.0,9.0,16.0,7.0,,,WALK,2.0017504625659783,,,0out_0in,school -102420007,2498048,work,1,1,1,1,mandatory,1,722.0,730.0,922602,46.0,7.0,16.0,9.0,,,WALK,2.055671714033067,no_subtours,,0out_0in,work -102420048,2498049,work,1,1,1,1,mandatory,1,755.0,730.0,922602,29.0,6.0,16.0,10.0,,,WALK,1.157766391073298,no_subtours,,0out_0in,work -107509903,2622192,school,1,1,1,1,mandatory,1,997.0,1025.0,952720,44.0,7.0,14.0,7.0,,,SHARED3FREE,-0.1774843622416207,,,0out_0in,school -107509922,2622193,escort,1,1,1,2,non_mandatory,1,773.0,1025.0,952720,19.0,6.0,6.0,0.0,,12.864427008033694,SHARED2FREE,-0.7023079893536955,,,0out_0in,escort -107509941,2622193,othmaint,1,1,2,2,non_mandatory,1,550.0,1025.0,952720,61.0,8.0,15.0,7.0,,12.464179851550291,DRIVEALONEFREE,-0.0718658205254766,,,0out_0in,othmaint -107509987,2622194,shopping,1,1,1,1,non_mandatory,1,989.0,1025.0,952720,72.0,9.0,11.0,2.0,,11.89419969827446,WALK,0.5420719730248779,,,0out_0in,shopping -107510034,2622195,work,1,1,1,1,mandatory,1,1021.0,1025.0,952720,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,0.5725252120237364,no_subtours,,0out_0in,work -116640406,2844887,work,1,1,1,1,mandatory,1,821.0,846.0,1028031,109.0,11.0,21.0,10.0,,,DRIVEALONEFREE,0.35881282856704,no_subtours,,0out_1in,work -120287676,2933845,school,1,1,1,1,mandatory,1,563.0,574.0,1048898,121.0,12.0,21.0,9.0,,,WALK,0.0674642264245942,,,0out_0in,school -120287717,2933846,school,1,1,1,1,mandatory,1,515.0,574.0,1048898,62.0,8.0,16.0,8.0,,,SHARED2FREE,-1.10324431187674,,,0out_0in,school -120287752,2933847,othdiscr,1,1,1,1,non_mandatory,1,623.0,574.0,1048898,42.0,7.0,12.0,5.0,,12.842166431288351,DRIVEALONEFREE,0.1313944840147255,,,0out_1in,othdiscr -120287807,2933848,work,1,1,1,1,mandatory,1,502.0,574.0,1048898,31.0,6.0,18.0,12.0,,,DRIVEALONEFREE,0.2481327510805355,no_subtours,,0out_1in,work -131881533,3216622,school,1,1,1,1,mandatory,1,1074.0,1076.0,1148260,136.0,14.0,15.0,1.0,,,WALK,-0.5000951875907141,,,0out_2in,univ diff --git a/activitysim/examples/example_sandag/test/simulation.py b/activitysim/examples/example_sandag/test/simulation.py deleted file mode 100755 index ec6a1181b1..0000000000 --- a/activitysim/examples/example_sandag/test/simulation.py +++ /dev/null @@ -1,15 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) diff --git a/activitysim/examples/example_sandag/test/test_sandag.py b/activitysim/examples/example_sandag/test/test_sandag.py deleted file mode 100644 index 75e75aa976..0000000000 --- a/activitysim/examples/example_sandag/test/test_sandag.py +++ /dev/null @@ -1,121 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pytest -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def example_path(dirname): - resource = os.path.join('examples', 'example_sandag', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - -def mtc_example_path(dirname): - resource = os.path.join('examples', 'example_mtc', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - -def psrc_example_path(dirname): - resource = os.path.join('examples', 'example_psrc', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - -def build_data(): - pass - - -@pytest.fixture(scope='module') -def data(): - build_data() - - -def run_test(zone, multiprocess=False): - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(zone): - - # ## regress tours - regress_tours_df = pd.read_csv(test_path(f'regress/final_{zone}_zone_tours.csv')) - tours_df = pd.read_csv(test_path(f'output/final_{zone}_zone_tours.csv')) - tours_df.to_csv(test_path(f'regress/final_{zone}_zone_tours_last_run.csv'), index=False) - print(f"regress tours") - pdt.assert_frame_equal(tours_df, regress_tours_df, rtol=1e-03) - - # ## regress trips - regress_trips_df = pd.read_csv(test_path(f'regress/final_{zone}_zone_trips.csv')) - trips_df = pd.read_csv(test_path(f'output/final_{zone}_zone_trips.csv')) - trips_df.to_csv(test_path(f'regress/final_{zone}_zone_trips_last_run.csv'), index=False) - print(f"regress trips") - pdt.assert_frame_equal(trips_df, regress_trips_df, rtol=1e-03) - - # run test - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - if zone == '2': - base_configs = psrc_example_path(f'configs') - else: - base_configs = mtc_example_path(f'configs') - - run_args = ['-c', test_path(f'configs_{zone}_zone'), - '-c', example_path(f'configs_{zone}_zone'), - '-c', base_configs, - '-d', example_path(f'data_{zone}'), - '-o', test_path('output')] - - if multiprocess: - run_args = run_args + ['-s', 'settings_mp.yaml'] - - subprocess.run(['coverage', 'run', '-a', file_path] + run_args, check=True) - - regress(zone) - - -def test_1_zone(data): - run_test(zone='1', multiprocess=False) - - -def test_1_zone_mp(data): - run_test(zone='1', multiprocess=True) - - -def test_2_zone(data): - run_test(zone='2', multiprocess=False) - - -def test_2_zone_mp(data): - run_test(zone='2', multiprocess=True) - - -def test_3_zone(data): - run_test(zone='3', multiprocess=False) - - -def test_3_zone_mp(data): - run_test(zone='3', multiprocess=True) - - -if __name__ == '__main__': - - # call each test explicitly so we get a pass/fail for each - build_data() - run_test(zone='1', multiprocess=False) - run_test(zone='1', multiprocess=True) - - run_test(zone='2', multiprocess=False) - run_test(zone='2', multiprocess=True) - - run_test(zone='3', multiprocess=False) - run_test(zone='3', multiprocess=True) diff --git a/activitysim/examples/example_sandag_xborder/extensions/reassign_tour_purpose.py b/activitysim/examples/example_sandag_xborder/extensions/reassign_tour_purpose.py deleted file mode 100644 index 8fb6339450..0000000000 --- a/activitysim/examples/example_sandag_xborder/extensions/reassign_tour_purpose.py +++ /dev/null @@ -1,53 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import logging - -import pandas as pd -import numpy as np - -from activitysim.core import config -from activitysim.core import inject -from activitysim.core import pipeline - -logger = logging.getLogger(__name__) - - -@inject.step() -def reassign_tour_purpose_by_poe( - tours, - chunk_size, - trace_hh_id): - - """ - Simulates tour purpose choices after tour origin has been assigned. This - is useful when the original tour purposes are assigned randomly - from an aggregate distribution that was not segmented by tour origin. - """ - - trace_label = 'reassign_tour_purpose_by_poe' - probs_df = pd.read_csv(config.config_file_path('tour_purpose_probs_by_poe.csv')) - probs_df.columns = [col if col in ['Purpose', 'Description'] else int(col) for col in probs_df.columns] - - tours_df = tours.to_frame(columns=['tour_type', 'poe_id']) - tour_types = probs_df[['Purpose', 'Description']].set_index('Purpose')['Description'] - - tours_df['purpose_id'] = None - for poe, group in tours_df.groupby('poe_id'): - num_tours = len(group) - purpose_probs = probs_df[poe] - purpose_cum_probs = purpose_probs.values.cumsum() - rands = pipeline.get_rn_generator().random_for_df(group) - purpose_scaled_probs = np.subtract(purpose_cum_probs, rands) - purpose = np.argmax((purpose_scaled_probs + 1.0).astype('i4'), axis=1) - tours_df.loc[group.index, 'purpose_id'] = purpose - tours_df['new_tour_type'] = tours_df['purpose_id'].map(tour_types) - - tours = tours.to_frame() - tours['tour_type'] = tours_df['new_tour_type'].reindex(tours.index) - tours['purpose_id'] = tours_df['purpose_id'].reindex(tours.index) - tours['tour_category'] = 'non_mandatory' - tours.loc[tours['tour_type'].isin(['home', 'work']), 'tour_category'] = 'mandatory' - - pipeline.replace_table("tours", tours) - - return diff --git a/activitysim/examples/example_sandag_xborder/scripts/reduce_sandag_cb_skims_for_github.py b/activitysim/examples/example_sandag_xborder/scripts/reduce_sandag_cb_skims_for_github.py deleted file mode 100644 index a829b89dab..0000000000 --- a/activitysim/examples/example_sandag_xborder/scripts/reduce_sandag_cb_skims_for_github.py +++ /dev/null @@ -1,36 +0,0 @@ - -# remove unused skims from full scale sandag cross border skim files to -# reduce file size for upload to GitHub since there's a 2GB file size limit -# run this script and then run these repack commands to reduce file size - -# Ben.Stabler@rsginc.com, 10/18/21 - -# h5repack -i traffic_skims_xborder_EA.omx -o traffic_skims_xborder_EA_repacked.omx -# h5repack -i traffic_skims_xborder_AM.omx -o traffic_skims_xborder_AM_repacked.omx -# h5repack -i traffic_skims_xborder_MD.omx -o traffic_skims_xborder_MD_repacked.omx -# h5repack -i traffic_skims_xborder_PM.omx -o traffic_skims_xborder_PM_repacked.omx -# h5repack -i traffic_skims_xborder_EV.omx -o traffic_skims_xborder_EV_repacked.omx - -import tables - -time_periods = ["EA", "AM", "MD", "PM", "EV"] - -skims_to_remove = ["/data/HOV2_H_HOVDIST", "/data/HOV2_H_REL", "/data/HOV2_H_TOLLDIST", "/data/HOV2_L_HOVDIST", - "/data/HOV2_L_REL", "/data/HOV2_L_TOLLDIST", "/data/HOV2_M_HOVDIST", "/data/HOV2_M_REL", - "/data/HOV2_M_TOLLDIST", "/data/HOV3_H_HOVDIST", "/data/HOV3_H_REL", "/data/HOV3_H_TOLLDIST", - "/data/HOV3_L_HOVDIST", "/data/HOV3_L_REL", "/data/HOV3_L_TOLLDIST", "/data/HOV3_M_HOVDIST", - "/data/HOV3_M_REL", "/data/HOV3_M_TOLLDIST", "/data/SOV_NT_H_REL", "/data/SOV_NT_H_TOLLDIST", - "/data/SOV_NT_L_REL", "/data/SOV_NT_L_TOLLDIST", "/data/SOV_NT_M_REL", "/data/SOV_NT_M_TOLLDIST", - "/data/SOV_TR_H_DIST", "/data/SOV_TR_H_REL", "/data/SOV_TR_H_TIME", "/data/SOV_TR_H_TOLLCOST", - "/data/SOV_TR_H_TOLLDIST", "/data/SOV_TR_L_DIST", "/data/SOV_TR_L_REL", "/data/SOV_TR_L_TIME", - "/data/SOV_TR_L_TOLLCOST", "/data/SOV_TR_L_TOLLDIST", "/data/SOV_TR_M_DIST", "/data/SOV_TR_M_REL", - "/data/SOV_TR_M_TIME", "/data/SOV_TR_M_TOLLCOST", "/data/SOV_TR_M_TOLLDIST", "/data/TRK_H_DIST", - "/data/TRK_H_TIME", "/data/TRK_H_TOLLCOST", "/data/TRK_L_DIST", "/data/TRK_L_TIME", - "/data/TRK_L_TOLLCOST", "/data/TRK_M_DIST", "/data/TRK_M_TIME", "/data/TRK_M_TOLLCOST"] - -for time_period in time_periods: - f = tables.open_file('traffic_skims_xborder_' + time_period + '.omx', 'a') - for skim in skims_to_remove: - print(skim + "__" + time_period) - f.remove_node(skim + "__" + time_period) - f.close() diff --git a/activitysim/examples/example_sandag_xborder/test/test_sandag_xborder.py b/activitysim/examples/example_sandag_xborder/test/test_sandag_xborder.py deleted file mode 100644 index 3d5b86fd3f..0000000000 --- a/activitysim/examples/example_sandag_xborder/test/test_sandag_xborder.py +++ /dev/null @@ -1,44 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import os -import subprocess -import pkg_resources - -import pandas as pd -import pandas.testing as pdt - -from activitysim.core import inject - - -def teardown_function(func): - inject.clear_cache() - inject.reinject_decorated_tables() - - -def test_sandag_xborder(): - - def example_path(dirname): - resource = os.path.join('examples', 'example_sandag_xborder', dirname) - return pkg_resources.resource_filename('activitysim', resource) - - def test_path(dirname): - return os.path.join(os.path.dirname(__file__), dirname) - - def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_trips.csv')) - final_trips_df = pd.read_csv(test_path('output/final_trips.csv')) - pdt.assert_frame_equal(final_trips_df, regress_trips_df) - - file_path = os.path.join(os.path.dirname(__file__), '../simulation.py') - - subprocess.run(['coverage', 'run', '-a', file_path, - '-c', test_path('configs'), '-c', example_path('configs'), - '-d', example_path('data'), - '-o', test_path('output')], check=True) - - regress() - - -if __name__ == '__main__': - - test_sandag_xborder() diff --git a/activitysim/examples/example_semcog/extensions/work_from_home.py b/activitysim/examples/example_semcog/extensions/work_from_home.py deleted file mode 100755 index f6e2728b23..0000000000 --- a/activitysim/examples/example_semcog/extensions/work_from_home.py +++ /dev/null @@ -1,135 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. -import logging - -import numpy as np - -from activitysim.core import tracing -from activitysim.core import config -from activitysim.core import pipeline -from activitysim.core import simulate -from activitysim.core import inject -from activitysim.core import expressions - -from activitysim.abm.models.util import estimation - -logger = logging.getLogger("activitysim") - - -@inject.step() -def work_from_home( - persons_merged, persons, - chunk_size, trace_hh_id): - """ - This model predicts whether a person (worker) works from home. The output - from this model is TRUE (if works from home) or FALSE (works away from home). - """ - - trace_label = 'work_from_home' - model_settings_file_name = 'work_from_home.yaml' - - choosers = persons_merged.to_frame() - model_settings = config.read_model_settings(model_settings_file_name) - chooser_filter_column_name = model_settings.get('CHOOSER_FILTER_COLUMN_NAME') - choosers = choosers[choosers[chooser_filter_column_name]] - logger.info("Running %s with %d persons", trace_label, len(choosers)) - - estimator = estimation.manager.begin_estimation('work_from_home') - - constants = config.get_model_constants(model_settings) - work_from_home_alt = model_settings['WORK_FROM_HOME_ALT'] - - # - preprocessor - preprocessor_settings = model_settings.get('preprocessor', None) - if preprocessor_settings: - - locals_d = {} - if constants is not None: - locals_d.update(constants) - - expressions.assign_columns( - df=choosers, - model_settings=preprocessor_settings, - locals_dict=locals_d, - trace_label=trace_label) - - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) - coefficients_df = simulate.read_model_coefficients(model_settings) - - nest_spec = config.get_logit_model_settings(model_settings) - - if estimator: - estimator.write_model_settings(model_settings, model_settings_file_name) - estimator.write_spec(model_settings) - estimator.write_coefficients(coefficients_df) - estimator.write_choosers(choosers) - - # - iterative single process what-if adjustment if specified - iterations = model_settings.get('WORK_FROM_HOME_ITERATIONS', 1) - iterations_chooser_filter = model_settings.get('WORK_FROM_HOME_CHOOSER_FILTER', None) - iterations_coefficient_constant = model_settings.get('WORK_FROM_HOME_COEFFICIENT_CONSTANT', None) - iterations_target_percent = model_settings.get('WORK_FROM_HOME_TARGET_PERCENT', None) - iterations_target_percent_tolerance = model_settings.get('WORK_FROM_HOME_TARGET_PERCENT_TOLERANCE', None) - - for iteration in range(iterations): - - logger.info("Running %s with %d persons iteration %d", trace_label, len(choosers), iteration) - - # re-read spec to reset substitution - model_spec = simulate.read_model_spec(file_name=model_settings['SPEC']) - model_spec = simulate.eval_coefficients(model_spec, coefficients_df, estimator) - - choices = simulate.simple_simulate( - choosers=choosers, - spec=model_spec, - nest_spec=nest_spec, - locals_d=constants, - chunk_size=chunk_size, - trace_label=trace_label, - trace_choice_name='work_from_home', - estimator=estimator) - - if iterations_target_percent is not None: - choices_for_filter = choices[choosers[iterations_chooser_filter]] - - current_percent = ((choices_for_filter == work_from_home_alt).sum() / len(choices_for_filter)) - logger.info("Running %s iteration %i choosers %i current percent %f target percent %f", - trace_label, iteration, len(choices_for_filter), current_percent, iterations_target_percent) - - if current_percent <= (iterations_target_percent + - iterations_target_percent_tolerance - ) and current_percent >= (iterations_target_percent - - iterations_target_percent_tolerance): - logger.info("Running %s iteration %i converged with coefficient %f", trace_label, iteration, - coefficients_df.value[iterations_coefficient_constant]) - break - - else: - new_value = np.log(iterations_target_percent / - np.maximum(current_percent, 0.0001) - ) + coefficients_df.value[iterations_coefficient_constant] - coefficients_df.value[iterations_coefficient_constant] = new_value - logger.info("Running %s iteration %i new coefficient for next iteration %f", - trace_label, iteration, new_value) - iteration = iteration + 1 - - choices = (choices == work_from_home_alt) - - if estimator: - estimator.write_choices(choices) - choices = estimator.get_survey_values(choices, 'persons', 'work_from_home') - estimator.write_override_choices(choices) - estimator.end_estimation() - - persons = persons.to_frame() - persons['work_from_home'] = choices.reindex(persons.index).fillna(0).astype(bool) - persons['is_out_of_home_worker'] = persons[chooser_filter_column_name] & ~persons['work_from_home'] - - pipeline.replace_table("persons", persons) - - tracing.print_summary('work_from_home', persons.work_from_home, value_counts=True) - - if trace_hh_id: - tracing.trace_df(persons, - label=trace_label, - warn_if_empty=True) diff --git a/activitysim/examples/example_semcog/scripts/reindex_household_ids.py b/activitysim/examples/example_semcog/scripts/reindex_household_ids.py deleted file mode 100644 index 65731e1e3a..0000000000 --- a/activitysim/examples/example_semcog/scripts/reindex_household_ids.py +++ /dev/null @@ -1,156 +0,0 @@ -# ActivitySim -# See full license in LICENSE.txt. - -""" -reindex household_id in households and persons tables -legacy tables have household_ids starting at 930000000 -which causes headaches for activitysim's automatic generation of trip and tour ids based on hosuehold_id -(predictable trip and tour ids are used for repeatable random number stream generation) -""" - -import os - -import numpy as np -import pandas as pd - -import sys - -if sys.version_info[0] < 3: - raise Exception("Must be using Python 3") - -file_names = { - 'households': 'households.csv', - 'persons': 'persons.csv', - 'land_use': 'land_use.csv', -} - -land_use_zone_col = 'ZONE' -hh_zone_col = 'zone_id' - - -def drop_and_dump(df, drop, msg, tag, output_dir): - - print("Checking for %s" % msg) - if drop.any(): - print("WARNING: dropping %s out of %s %s (%s)" % (drop.sum(), len(df), msg, tag)) - df[drop].to_csv(os.path.join(output_dir, '%s.csv' % tag), index=False) - df = df[~drop] - - return df - - -def create_subset(input_dir, output_dir, drop_dir): - - ### - # land_use - ### - land_use_df = pd.read_csv(os.path.join(input_dir, file_names['land_use'])) - land_use_df = land_use_df.sort_values(by=land_use_zone_col) - land_use_df.to_csv(os.path.join(output_dir, file_names['land_use']), index=False) - - print('zones: %s' % len(land_use_df)) - - ### - # households - ### - - households = \ - pd.read_csv(os.path.join(input_dir, file_names['households']), - dtype={'household_id': np.int64}) - households = households.sort_values(by='household_id') - households.rename(columns={'household_id': 'legacy_household_id'}, inplace=True) - - raw_household_count = len(households) - - # all households must have a zone_id - null_zones = households[hh_zone_col].isnull() - households = \ - drop_and_dump(households, null_zones, - msg="households with null zones", - tag='households_with_null_zones', - output_dir=drop_dir) - households[hh_zone_col] = households[hh_zone_col].astype(np.int64) - - # all households zone_ids must be in land_use - orphan_zones = ~households[hh_zone_col].isin(land_use_df[land_use_zone_col]) - households = \ - drop_and_dump(households, orphan_zones, - msg="households with unknown zones", - tag='households_with_unknown_zones', - output_dir=drop_dir) - - # reindexed household_id as both index and column - households.index = np.arange(1, len(households) + 1) - households['household_id'] = households.index - - ### - # persons - ### - persons = \ - pd.read_csv(os.path.join(input_dir, file_names['persons']), - dtype={'household_id': np.int64, 'person_id': np.int64}) - persons = persons.sort_values(by=['household_id', 'member_id']) - persons.rename(columns={'person_id': 'legacy_person_id', 'household_id': 'legacy_household_id'}, inplace=True) - persons.legacy_household_id = persons.legacy_household_id.astype(np.int64) - - raw_person_count = len(persons) - - assert not persons.legacy_household_id.isnull().any() - - orphan_persons = ~persons.legacy_household_id.isin(households.legacy_household_id) - persons = \ - drop_and_dump(persons, orphan_persons, - msg="persons without households", - tag='persons_without_households', - output_dir=drop_dir) - - persons = \ - pd.merge(persons, - households[['legacy_household_id', 'household_id']], - left_on="legacy_household_id", - right_on="legacy_household_id", - how="left") - assert not persons.household_id.isnull().any() - persons.household_id = persons.household_id.astype(np.int64) - - # reindexed person_id as both index and column - persons.index = np.arange(1, len(persons) + 1) - persons['person_id'] = persons.index - - # check that we have the right number of persons in every household" - assert (persons.groupby('household_id').size() == households.persons).all() - - # check that all persons in household have different member_id" - persons_with_dupe_member_id = persons.duplicated(['household_id', 'member_id'], keep='first') - household_ids_with_dupe_member_id = persons.household_id[persons_with_dupe_member_id].unique() - households_with_dupe_members = households.household_id.isin(household_ids_with_dupe_member_id) - persons_in_households_with_dupe_members = persons.household_id.isin(household_ids_with_dupe_member_id) - - print("%s of %s persons_with_dupe_member_id" % (persons_with_dupe_member_id.sum(), len(persons))) - persons = \ - drop_and_dump(persons, persons_in_households_with_dupe_members, - msg="persons in households with duplicate (household_id, member_id)", - tag='persons_in_households_with_dupe_member_id', - output_dir=drop_dir) - - households = \ - drop_and_dump(households, households_with_dupe_members, - msg="households with duplicate persons.member_id", - tag='households_with_dupe_member_id', - output_dir=drop_dir) - - missing_member1 = ~households.household_id.isin(persons.household_id[persons.member_id == 1]) - # print("%s of %s households missing member_id 1" % (missing_member1.sum(), len(households))) - assert not missing_member1.any() - - print('Writing %s households. Dropped %s' % (len(households), raw_household_count-len(households))) - households.to_csv(os.path.join(output_dir, file_names['households']), index=False) - - print('Writing %s persons. Dropped %s' % (len(persons), raw_person_count-len(persons))) - persons.to_csv(os.path.join(output_dir, file_names['persons']), index=False) - - -create_subset(input_dir="data_raw/", - output_dir="data/", - drop_dir="data_raw/dropped" - ) diff --git a/activitysim/examples/example_multiple_zone/.gitignore b/activitysim/examples/placeholder_multiple_zone/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/.gitignore rename to activitysim/examples/placeholder_multiple_zone/.gitignore diff --git a/activitysim/examples/example_marin/README.MD b/activitysim/examples/placeholder_multiple_zone/README.MD similarity index 55% rename from activitysim/examples/example_marin/README.MD rename to activitysim/examples/placeholder_multiple_zone/README.MD index e0b6c252fa..b1fc79f2f4 100644 --- a/activitysim/examples/example_marin/README.MD +++ b/activitysim/examples/placeholder_multiple_zone/README.MD @@ -1,4 +1,4 @@ ### Multiple zone system setup examples -See the [examples manifest](https://github.com/ActivitySim/activitysim/blob/master/activitysim/examples/example_manifest.yaml) for more information. +See the [examples manifest](https://github.com/ActivitySim/activitysim/blob/main/activitysim/examples/example_manifest.yaml) for more information. diff --git a/activitysim/examples/example_multiple_zone/configs_1_zone/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/configs_1_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_1_zone/network_los.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_1_zone/network_los.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_1_zone/non_mandatory_tour_destination.yaml b/activitysim/examples/placeholder_multiple_zone/configs_1_zone/non_mandatory_tour_destination.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_1_zone/non_mandatory_tour_destination.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_1_zone/non_mandatory_tour_destination.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_1_zone/settings.yaml b/activitysim/examples/placeholder_multiple_zone/configs_1_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_1_zone/settings.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_1_zone/settings.yaml diff --git a/activitysim/examples/example_mtc/configs/accessibility.csv b/activitysim/examples/placeholder_multiple_zone/configs_2_zone/accessibility.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/accessibility.csv rename to activitysim/examples/placeholder_multiple_zone/configs_2_zone/accessibility.csv diff --git a/activitysim/examples/example_multiple_zone/configs_2_zone/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/configs_2_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_2_zone/network_los.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_2_zone/network_los.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_2_zone/settings.yaml b/activitysim/examples/placeholder_multiple_zone/configs_2_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_2_zone/settings.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_2_zone/settings.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/_bugs.txt b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/_bugs.txt similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/_bugs.txt rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/_bugs.txt diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/accessibility.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/accessibility.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/accessibility.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/accessibility.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/annotate_households_workplace.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/annotate_households_workplace.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/annotate_households_workplace.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/annotate_households_workplace.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/annotate_persons_workplace.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/annotate_persons_workplace.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/annotate_persons_workplace.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/annotate_persons_workplace.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/auto_ownership.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/auto_ownership.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/auto_ownership.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/auto_ownership.csv diff --git a/activitysim/examples/example_marin/configs/destination_choice_size_terms.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/destination_choice_size_terms.csv similarity index 100% rename from activitysim/examples/example_marin/configs/destination_choice_size_terms.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/destination_choice_size_terms.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/network_los.yaml similarity index 96% rename from activitysim/examples/example_multiple_zone/configs_3_zone/network_los.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/network_los.yaml index a4a250a53a..76a7aadb36 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/network_los.yaml +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/network_los.yaml @@ -1,157 +1,157 @@ -inherit_settings: True - -zone_system: 3 - -skim_dict_factory: NumpyArraySkimFactory -#skim_dict_factory: MemMapSkimFactory - -# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) -read_skim_cache: True -# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs -write_skim_cache: True - -# rebuild and overwrite existing tap_tap_utilities cache -rebuild_tvpb_cache: True - -# write a csv version of tvpb cache for tracing when checkpointing cache. -# (writes csv file when writing/checkpointing cache i.e. when cached changed) -# (n.b. csv file could be quite large if cache is STATIC!) -trace_tvpb_cache_as_csv: False - -taz_skims: taz_skims.omx - -# we require that skims for all tap_tap sets have unique names -# and can therefor share a single skim_dict without name collision -# e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM -tap_skims: tap_skims.omx - -maz: maz.csv - -tap: tap.csv - -maz_to_maz: - tables: - - maz_to_maz_walk.csv - - maz_to_maz_bike.csv - - # maz_to_maz blending distance (missing or 0 means no blending) - max_blend_distance: - DIST: 5 - # blend distance of 0 means no blending - DISTBIKE: 0 - DISTWALK: 1 - - # missing means use the skim value itself rather than DIST skim (e.g. DISTBIKE) - blend_distance_skim_name: DIST - -maz_to_tap: - walk: - table: maz_to_tap_walk.csv - drive: - table: maz_to_tap_drive.csv - - -skim_time_periods: - time_window: 1440 - period_minutes: 60 - periods: [0, 6, 11, 16, 20, 24] - labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] - -demographic_segments: &demographic_segments - - &low_income_segment_id 0 - - &high_income_segment_id 1 - -# transit virtual path builder settings -TVPB_SETTINGS: - - tour_mode_choice: - units: utility - path_types: - WTW: - access: walk - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - DTW: - access: drive - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - WTD: - access: walk - egress: drive - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - tap_tap_settings: - SPEC: tvpb_utility_tap_tap.csv - PREPROCESSOR: - SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv - DF: df - # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files - attribute_segments: - demographic_segment: *demographic_segments - tod: *skim_time_period_labels - access_mode: ['drive', 'walk'] - attributes_as_columns: - - demographic_segment - - tod - maz_tap_settings: - walk: - SPEC: tvpb_utility_walk_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - walk_time - drive: - SPEC: tvpb_utility_drive_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - drive_time - - DIST - CONSTANTS: - C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id - C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id - TVPB_demographic_segments_by_income_segment: - 1: *low_income_segment_id - 2: *low_income_segment_id - 3: *high_income_segment_id - 4: *high_income_segment_id - c_ivt_high_income: -0.028 - c_ivt_low_income: -0.0175 - c_cost_high_income: -0.00112 - c_cost_low_income: -0.00112 - c_wait: 1.5 - c_walk: 1.7 - c_drive: 1.5 - c_auto_operating_cost_per_mile: 18.29 - C_UNAVAILABLE: -999 - C_FASTEST_IVT_MULTIPLIER: 2 - C_FASTEST_COST_MULTIPLIER: 1 - C_CHEAPEST_IVT_MULTIPLIER: 1 - C_CHEAPEST_COST_MULTIPLIER: 500 - C_SHORTEST_IVT_MULTIPLIER: 1 - C_SHORTEST_COST_MULTIPLIER: 1 - C_SHORTEST_DIST_MULTIPLIER: 1 - # illustrate using access mode in tat-tap expressions files - C_DRIVE_TRANSFER_PENALTY: -1 - - accessibility: - units: time - path_types: - WTW: - access: walk - egress: walk - max_paths_across_tap_sets: 1 - max_paths_per_tap_set: 1 - tap_tap_settings: - SPEC: tvpb_accessibility_tap_tap_.csv - attributes_as_columns: - - tod - maz_tap_settings: - walk: - SPEC: tvpb_accessibility_walk_maz_tap.csv - CHOOSER_COLUMNS: - - walk_time - CONSTANTS: - out_of_vehicle_walk_time_weight: 1.5 - out_of_vehicle_wait_time_weight: 2.0 - +inherit_settings: True + +zone_system: 3 + +skim_dict_factory: NumpyArraySkimFactory +#skim_dict_factory: MemMapSkimFactory + +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +# rebuild and overwrite existing tap_tap_utilities cache +rebuild_tvpb_cache: True + +# write a csv version of tvpb cache for tracing when checkpointing cache. +# (writes csv file when writing/checkpointing cache i.e. when cached changed) +# (n.b. csv file could be quite large if cache is STATIC!) +trace_tvpb_cache_as_csv: False + +taz_skims: taz_skims.omx + +# we require that skims for all tap_tap sets have unique names +# and can therefor share a single skim_dict without name collision +# e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM +tap_skims: tap_skims.omx + +maz: maz.csv + +tap: tap.csv + +maz_to_maz: + tables: + - maz_to_maz_walk.csv + - maz_to_maz_bike.csv + + # maz_to_maz blending distance (missing or 0 means no blending) + max_blend_distance: + DIST: 5 + # blend distance of 0 means no blending + DISTBIKE: 0 + DISTWALK: 1 + + # missing means use the skim value itself rather than DIST skim (e.g. DISTBIKE) + blend_distance_skim_name: DIST + +maz_to_tap: + walk: + table: maz_to_tap_walk.csv + drive: + table: maz_to_tap_drive.csv + + +skim_time_periods: + time_window: 1440 + period_minutes: 60 + periods: [0, 6, 11, 16, 20, 24] + labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] + +demographic_segments: &demographic_segments + - &low_income_segment_id 0 + - &high_income_segment_id 1 + +# transit virtual path builder settings +TVPB_SETTINGS: + + tour_mode_choice: + units: utility + path_types: + WTW: + access: walk + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + DTW: + access: drive + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + WTD: + access: walk + egress: drive + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + tap_tap_settings: + SPEC: tvpb_utility_tap_tap.csv + PREPROCESSOR: + SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv + DF: df + # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files + attribute_segments: + demographic_segment: *demographic_segments + tod: *skim_time_period_labels + access_mode: ['drive', 'walk'] + attributes_as_columns: + - demographic_segment + - tod + maz_tap_settings: + walk: + SPEC: tvpb_utility_walk_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - walk_time + drive: + SPEC: tvpb_utility_drive_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - drive_time + - DIST + CONSTANTS: + C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id + C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id + TVPB_demographic_segments_by_income_segment: + 1: *low_income_segment_id + 2: *low_income_segment_id + 3: *high_income_segment_id + 4: *high_income_segment_id + c_ivt_high_income: -0.028 + c_ivt_low_income: -0.0175 + c_cost_high_income: -0.00112 + c_cost_low_income: -0.00112 + c_wait: 1.5 + c_walk: 1.7 + c_drive: 1.5 + c_auto_operating_cost_per_mile: 18.29 + C_UNAVAILABLE: -999 + C_FASTEST_IVT_MULTIPLIER: 2 + C_FASTEST_COST_MULTIPLIER: 1 + C_CHEAPEST_IVT_MULTIPLIER: 1 + C_CHEAPEST_COST_MULTIPLIER: 500 + C_SHORTEST_IVT_MULTIPLIER: 1 + C_SHORTEST_COST_MULTIPLIER: 1 + C_SHORTEST_DIST_MULTIPLIER: 1 + # illustrate using access mode in tat-tap expressions files + C_DRIVE_TRANSFER_PENALTY: -1 + + accessibility: + units: time + path_types: + WTW: + access: walk + egress: walk + max_paths_across_tap_sets: 1 + max_paths_per_tap_set: 1 + tap_tap_settings: + SPEC: tvpb_accessibility_tap_tap_.csv + attributes_as_columns: + - tod + maz_tap_settings: + walk: + SPEC: tvpb_accessibility_walk_maz_tap.csv + CHOOSER_COLUMNS: + - walk_time + CONSTANTS: + out_of_vehicle_walk_time_weight: 1.5 + out_of_vehicle_wait_time_weight: 2.0 + diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/settings.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/settings.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/settings_mp.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/settings_mp.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings_mp.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/settings_static.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings_static.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/settings_static.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/settings_static.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/stop_frequency.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/stop_frequency.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/stop_frequency.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/stop_frequency.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice.csv similarity index 99% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice.csv index 623001ea5b..5aeba76ced 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.csv +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice.csv @@ -1,189 +1,189 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,, -#,Walk,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,, -util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,, -#,Bike,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,, -util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,, -#,Walk to Local,,,,,,,,,,,,,, -#util_WALK_TRANSIT_Unavailable,WALK_TRANSIT - Unavailable,walk_transit_available == False,,,,,,,,,-999,,,, -util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,"@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW']",,,,,,,,,coef_one,,,, -util_WALK_TRANSIT_Destination_zone_densityIndex,WALK_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,, -util_WALK_TRANSIT_Topology,WALK_TRANSIT - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,, -util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,, -#,Drive to Local,,,,,,,,,,,,,, -#util_DRIVE_TRANSIT_Unavailable,DRIVE_TRANSIT - Unavailable,drive_transit_available == False,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,"@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD']",,,,,,,,,,coef_one,,, -util_DRIVE_TRANSIT_Destination_zone_densityIndex,DRIVE_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,, -util_DRIVE_TRANSIT_Topology,DRIVE_TRANSIT - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,, -util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,coef_age010_trn_multiplier,,, -#,Taxi,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,coef_ivt,, -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, -#,TNC Shared,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt -#,indiv tour ASCs,,,,,,,,,,,,,, -util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,, -util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,, -util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,walk_ASC_auto_sufficient,,,,,, -util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,, -util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,, -util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,bike_ASC_auto_sufficient,,,,, -util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,, -util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,, -util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,, -util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,, -util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,, -util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,, -util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,,,, -util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,,,, -util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,walk_transit_ASC_auto_sufficient,,,, -util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,drive_transit_ASC_no_auto,,, -util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,drive_transit_ASC_auto_deficient,,, -util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,drive_transit_ASC_auto_sufficient,,, -util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,taxi_ASC_no_auto,, -util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,taxi_ASC_auto_deficient,, -util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,taxi_ASC_auto_sufficient,, -util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,tnc_single_ASC_no_auto, -util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,tnc_single_ASC_auto_deficient, -util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,tnc_single_ASC_auto_sufficient, -util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,tnc_shared_ASC_no_auto -util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,tnc_shared_ASC_auto_deficient -util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient -#,joint tour ASCs,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,, -util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,, -util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,, -util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,, -util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,, -util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,, -util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,, -util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,, -util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,, -util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,, -util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,,,, -util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,,,, -util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,,,, -util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,joint_drive_transit_ASC_no_auto,,, -util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,joint_drive_transit_ASC_auto_deficient,,, -util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,,, -util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,joint_taxi_ASC_no_auto,, -util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,joint_taxi_ASC_auto_deficient,, -util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, -util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,joint_tnc_single_ASC_no_auto, -util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, -util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, -util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto -util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient -util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient -util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,local_bus_ASC,,, -#util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, -#util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, -#util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, -#util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, -#util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, -#util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, -#util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, -util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,,,, -util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,drive_transit_CBD_ASC,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,coef_ivt,,, -#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,, -util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,, -#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,,, +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,, +#,Walk,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,, +util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,, +#,Bike,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,, +util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,, +#,Walk to Local,,,,,,,,,,,,,, +#util_WALK_TRANSIT_Unavailable,WALK_TRANSIT - Unavailable,walk_transit_available == False,,,,,,,,,-999,,,, +util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,"@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW']",,,,,,,,,coef_one,,,, +util_WALK_TRANSIT_Destination_zone_densityIndex,WALK_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,, +util_WALK_TRANSIT_Topology,WALK_TRANSIT - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,, +util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,, +#,Drive to Local,,,,,,,,,,,,,, +#util_DRIVE_TRANSIT_Unavailable,DRIVE_TRANSIT - Unavailable,drive_transit_available == False,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,"@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD']",,,,,,,,,,coef_one,,, +util_DRIVE_TRANSIT_Destination_zone_densityIndex,DRIVE_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,, +util_DRIVE_TRANSIT_Topology,DRIVE_TRANSIT - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,, +util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,coef_age010_trn_multiplier,,, +#,Taxi,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,coef_ivt,, +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt +#,indiv tour ASCs,,,,,,,,,,,,,, +util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,, +util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,, +util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,walk_ASC_auto_sufficient,,,,,, +util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,, +util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,, +util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,bike_ASC_auto_sufficient,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,, +util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,, +util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,, +util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,, +util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,,,, +util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,,,, +util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,walk_transit_ASC_auto_sufficient,,,, +util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,drive_transit_ASC_no_auto,,, +util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,drive_transit_ASC_auto_deficient,,, +util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,drive_transit_ASC_auto_sufficient,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,taxi_ASC_no_auto,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,taxi_ASC_auto_deficient,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,taxi_ASC_auto_sufficient,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,tnc_single_ASC_no_auto, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,tnc_single_ASC_auto_deficient, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,tnc_single_ASC_auto_sufficient, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,tnc_shared_ASC_no_auto +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,tnc_shared_ASC_auto_deficient +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient +#,joint tour ASCs,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,, +util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,, +util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,, +util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,, +util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,, +util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,, +util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,, +util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,, +util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,, +util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,,,, +util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,,,, +util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,,,, +util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,joint_drive_transit_ASC_no_auto,,, +util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,joint_drive_transit_ASC_auto_deficient,,, +util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,joint_taxi_ASC_no_auto,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,joint_taxi_ASC_auto_deficient,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,joint_tnc_single_ASC_no_auto, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient +util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,local_bus_ASC,,, +#util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, +#util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, +#util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, +#util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, +#util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, +#util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, +#util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, +util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,,,, +util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,drive_transit_CBD_ASC,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,coef_ivt,,, +#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,, +util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,, +#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,,, diff --git a/activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice.csv similarity index 99% rename from activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice.csv index 390b966d90..454846f78b 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice.csv +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice.csv @@ -1,195 +1,195 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,, -#,Walk,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,, -util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,, -#,Bike,,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,, -util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,, -#,Walk to Transit,,,,,,,,,,,,,, -#util_WALK_TRANSIT_Unavailable,WALK_TRANSIT - Unavailable,walk_transit_available == False,,,,,,,,,-999,,,, -util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'],,,,,,,,,coef_one,,,, -util_WALK_TRANSIT_Destination_zone_densityIndex,WALK_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,, -util_WALK_TRANSIT_Topology,WALK_TRANSIT - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,, -util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,, -#,Drive to Transit,,,,,,,,,,,,,, -#util_DRIVE_TRANSIT_Unavailable,DRIVE_TRANSIT - Unavailable,drive_transit_available == False,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'],,,,,,,,,,coef_one,,, -util_DRIVE_TRANSIT_Destination_zone_densityIndex,DRIVE_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,, -util_DRIVE_TRANSIT_Topology,DRIVE_TRANSIT - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,, -util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,coef_age010_trn,,, -#,Taxi,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,coef_ivt,, -util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,, -util_TNC_Single_In_vehipasim -cle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, -#,#TNC Shared,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt -#,,,,,,,,,,,,,,, -util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,,, -util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,,, -util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,,, -util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,, -util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,, -,#indiv tour ASCs,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,, -util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,, -util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh -util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,, -util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh -util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,, -util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh -util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh -util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,, -util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh -#util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,, -#util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,, -#util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,, -#util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh -#util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,, -#util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,, -#util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -#util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -#util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -#util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh -util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,, -util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,, -util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,, -util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,ride_hail_ASC_taxi,, -util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,ride_hail_ASC_tnc_single, -util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,ride_hail_ASC_tnc_shared -#,joint tour ASCs,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,, -util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,, -util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh -util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,, -util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,, -util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh -# util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,, -# util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh -# util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,, -# util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,, -# util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -# util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -# util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,joint_ride_hail_ASC_taxi,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared -#,#,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,, -util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,coef_ivt,coef_ivt -util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,,, -util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,coef_ivt +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,, +#,Walk,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,, +util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,, +#,Bike,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,, +util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,, +#,Walk to Transit,,,,,,,,,,,,,, +#util_WALK_TRANSIT_Unavailable,WALK_TRANSIT - Unavailable,walk_transit_available == False,,,,,,,,,-999,,,, +util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'],,,,,,,,,coef_one,,,, +util_WALK_TRANSIT_Destination_zone_densityIndex,WALK_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,, +util_WALK_TRANSIT_Topology,WALK_TRANSIT - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,, +util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,, +#,Drive to Transit,,,,,,,,,,,,,, +#util_DRIVE_TRANSIT_Unavailable,DRIVE_TRANSIT - Unavailable,drive_transit_available == False,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'],,,,,,,,,,coef_one,,, +util_DRIVE_TRANSIT_Destination_zone_densityIndex,DRIVE_TRANSIT - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,, +util_DRIVE_TRANSIT_Topology,DRIVE_TRANSIT - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,, +util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,coef_age010_trn,,, +#,Taxi,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,coef_ivt,, +util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,, +util_TNC_Single_In_vehipasim +cle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, +#,#TNC Shared,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt +#,,,,,,,,,,,,,,, +util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,,, +util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,,, +util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,,, +util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,, +util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,, +,#indiv tour ASCs,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,, +util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,, +util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh +util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,, +util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh +util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,, +util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh +util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh +util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,, +util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh +#util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,, +#util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,, +#util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,, +#util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh +#util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,, +#util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,, +#util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +#util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +#util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +#util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh +util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,, +util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,, +util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,ride_hail_ASC_taxi,, +util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,ride_hail_ASC_tnc_single, +util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,ride_hail_ASC_tnc_shared +#,joint tour ASCs,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,, +util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,, +util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh +util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,, +util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,, +util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh +# util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,, +# util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh +# util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,, +# util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,, +# util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +# util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +# util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,joint_ride_hail_ASC_taxi,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared +#,#,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,, +util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,coef_ivt,coef_ivt +util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,,, +util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_drive_maz_tap.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_drive_maz_tap.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_drive_maz_tap.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_tap_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_tap_tap.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_tap_tap.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_tap_tap.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_walk_maz_tap.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_utility_walk_maz_tap.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/tvpb_utility_walk_maz_tap.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/write_trip_matrices.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/write_trip_matrices.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/write_trip_matrices.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/write_trip_matrices.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_marin/configs/annotate_households.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_households.csv similarity index 100% rename from activitysim/examples/example_marin/configs/annotate_households.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_households.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_persons.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_persons.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_persons.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_persons.csv diff --git a/activitysim/examples/example_marin/configs/annotate_tours.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_tours.csv similarity index 100% rename from activitysim/examples/example_marin/configs/annotate_tours.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/annotate_tours.csv diff --git a/activitysim/examples/example_marin/configs/constants.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/constants.yaml similarity index 95% rename from activitysim/examples/example_marin/configs/constants.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/constants.yaml index 626a0c415e..6199378b42 100755 --- a/activitysim/examples/example_marin/configs/constants.yaml +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/constants.yaml @@ -1,64 +1,64 @@ -## ActivitySim -## See full license in LICENSE.txt. - -walk_speed: 3.00 - -#HHT_NONE: 0 -#HHT_FAMILY_MARRIED: 1 -#HHT_FAMILY_MALE: 2 -#HHT_FAMILY_FEMALE: 3 -#HHT_NONFAMILY_MALE_ALONE: 4 -#HHT_NONFAMILY_MALE_NOTALONE: 5 -#HHT_NONFAMILY_FEMALE_ALONE: 6 -#HHT_NONFAMILY_FEMALE_NOTALONE: 7 - -# convenience for expression files -HHT_NONFAMILY: [4, 5, 6, 7] -HHT_FAMILY: [1, 2, 3] - -PSTUDENT_GRADE_OR_HIGH: 1 -PSTUDENT_UNIVERSITY: 2 -PSTUDENT_NOT: 3 - -GRADE_SCHOOL_MAX_AGE: 14 -GRADE_SCHOOL_MIN_AGE: 5 - -SCHOOL_SEGMENT_NONE: 0 -SCHOOL_SEGMENT_GRADE: 1 -SCHOOL_SEGMENT_HIGH: 2 -SCHOOL_SEGMENT_UNIV: 3 - -#INCOME_SEGMENT_LOW: 1 -#INCOME_SEGMENT_MED: 2 -#INCOME_SEGMENT_HIGH: 3 -#INCOME_SEGMENT_VERYHIGH: 4 - -PEMPLOY_FULL: 1 -PEMPLOY_PART: 2 -PEMPLOY_NOT: 3 -PEMPLOY_CHILD: 4 - -PTYPE_FULL: &ptype_full 1 -PTYPE_PART: &ptype_part 2 -PTYPE_UNIVERSITY: &ptype_university 3 -PTYPE_NONWORK: &ptype_nonwork 4 -PTYPE_RETIRED: &ptype_retired 5 -PTYPE_DRIVING: &ptype_driving 6 -PTYPE_SCHOOL: &ptype_school 7 -PTYPE_PRESCHOOL: &ptype_preschool 8 - -# these appear as column headers in non_mandatory_tour_frequency.csv -PTYPE_NAME: - *ptype_full: PTYPE_FULL - *ptype_part: PTYPE_PART - *ptype_university: PTYPE_UNIVERSITY - *ptype_nonwork: PTYPE_NONWORK - *ptype_retired: PTYPE_RETIRED - *ptype_driving: PTYPE_DRIVING - *ptype_school: PTYPE_SCHOOL - *ptype_preschool: PTYPE_PRESCHOOL - - -CDAP_ACTIVITY_MANDATORY: M -CDAP_ACTIVITY_NONMANDATORY: N -CDAP_ACTIVITY_HOME: H +## ActivitySim +## See full license in LICENSE.txt. + +walk_speed: 3.00 + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +#INCOME_SEGMENT_LOW: 1 +#INCOME_SEGMENT_MED: 2 +#INCOME_SEGMENT_HIGH: 3 +#INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H diff --git a/activitysim/examples/example_marin/configs/initialize_households.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_households.yaml similarity index 100% rename from activitysim/examples/example_marin/configs/initialize_households.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_households.yaml diff --git a/activitysim/examples/example_marin/configs/initialize_landuse.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_landuse.yaml similarity index 100% rename from activitysim/examples/example_marin/configs/initialize_landuse.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_landuse.yaml diff --git a/activitysim/examples/example_marin/configs/initialize_tours.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_tours.yaml similarity index 100% rename from activitysim/examples/example_marin/configs/initialize_tours.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/initialize_tours.yaml diff --git a/activitysim/examples/example_marin/configs/logging.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/logging.yaml similarity index 100% rename from activitysim/examples/example_marin/configs/logging.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/logging.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/network_los.yaml similarity index 96% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/network_los.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/network_los.yaml index acb56f6791..1346dce913 100755 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/network_los.yaml +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/network_los.yaml @@ -1,181 +1,181 @@ -inherit_settings: True - -zone_system: 3 - -skim_dict_factory: NumpyArraySkimFactory -#skim_dict_factory: MemMapSkimFactory - -# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) -read_skim_cache: True -# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs -write_skim_cache: True - -# rebuild and overwrite existing tap_tap_utilities cache -rebuild_tvpb_cache: True - - -# when checkpointing cache. also write a csv version of tvpb cache for tracing -# (writes csv file when writing/checkpointing cache (i.e. when cached changed) even if rebuild_tvpb_cache is False) -# (n.b. csv file could be quite large if cache is STATIC!) -trace_tvpb_cache_as_csv: False - -taz_skims: - - HWYSKMAM_taz_rename.omx - - HWYSKMEA_taz_rename.omx - - HWYSKMEV_taz_rename.omx - - HWYSKMMD_taz_rename.omx - - HWYSKMPM_taz_rename.omx - -tap_skims: - # we require that skims for all tap_tap sets have unique names - # and can therefor share a single skim_dict without name collision - # e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM - - transit_skims_AM_SET1_rename.omx - - transit_skims_AM_SET2_rename.omx - - transit_skims_AM_SET3_rename.omx - - transit_skims_EA_SET1_rename.omx - - transit_skims_EA_SET2_rename.omx - - transit_skims_EA_SET3_rename.omx - - transit_skims_EV_SET1_rename.omx - - transit_skims_EV_SET2_rename.omx - - transit_skims_EV_SET3_rename.omx - - transit_skims_MD_SET1_rename.omx - - transit_skims_MD_SET2_rename.omx - - transit_skims_MD_SET3_rename.omx - - transit_skims_PM_SET1_rename.omx - - transit_skims_PM_SET2_rename.omx - - transit_skims_PM_SET3_rename.omx - - -# FIXME why no taz.csv? -# tas: taz.csv - -maz: maz_taz.csv - -tap: tap_data.csv - -tap_lines: tap_lines.csv - -maz_to_maz: - tables: - - maz_maz_walk.csv - - maz_maz_bike.csv - - # maz_to_maz blending distance (missing or 0 means no blending) - max_blend_distance: - # blend distance of 0 means no blending - WALK_DIST: 0 - BIKE_DIST: 0 - - -maz_to_tap: - walk: - table: maz_tap_walk.csv - # if provided, this column will be used (together with tap_lines table) to trim the near tap set - # to only include the nearest tap to origin when more than one tap serves the same line - tap_line_distance_col: WALK_TRANSIT_DIST - #max_dist: 3 - drive: - table: maz_taz_tap_drive.csv - # not trimming because drive_maz_tap utility calculations take into account both drive and walk time and cost - # though some sort of trimming appears to have been done as there are not so many of these in marin data - #tap_line_distance_col: DDIST - - -skim_time_periods: - time_window: 1440 - period_minutes: 30 - periods: [0, 12, 20, 30, 38, 48] - labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] - -demographic_segments: &demographic_segments - - &low_income_segment_id 0 - - &high_income_segment_id 1 - - -# transit virtual path builder settings -TVPB_SETTINGS: - - tour_mode_choice: - units: utility - path_types: - WTW: - access: walk - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - DTW: - access: drive - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - WTD: - access: walk - egress: drive - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - tap_tap_settings: - SPEC: tvpb_utility_tap_tap.csv - PREPROCESSOR: - SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv - DF: df - # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files - attribute_segments: - demographic_segment: *demographic_segments - tod: *skim_time_period_labels - access_mode: ['drive', 'walk'] - attributes_as_columns: - - demographic_segment - - tod - - maz_tap_settings: - walk: - SPEC: tvpb_utility_walk_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - WALK_TRANSIT_DIST - drive: - SPEC: tvpb_utility_drive_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - DDIST - - DTIME - - WDIST - - CONSTANTS: - C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id - C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id - TVPB_demographic_segments_by_income_segment: - 1: *low_income_segment_id - 2: *low_income_segment_id - 3: *high_income_segment_id - 4: *high_income_segment_id - c_ivt_high_income: -0.028 - c_ivt_low_income: -0.0175 - c_cost_high_income: -0.00112 - c_cost_low_income: -0.00112 - c_auto_operating_cost_per_mile: 18.29 - # constants used in maz_tap and tap_tap utility expressions - c_drive: 1.5 - c_walk: 1.7 - c_fwt: 1.5 - c_waux: 3.677 - c_xwt: 2 - c_xfers1: 30 - c_xfers2: 45 - c_xfers3: 47.026 - # no Express bus alternative-specific constant - c_lrt_asc: -17 # LRT alternative-specific constant - c_fr_asc: -35 # FR alternative-specific constant - c_hr_asc: -22 # Heavy Rail alternative-specific constant - c_cr_asc: -15 # Commuter Rail alternative-specific constant - c_cr20_40: -20 # Commuter Rail distance 20-40 miles - c_cr40plus: -30 # Commuter Rail distance >40 miles - c_drvExpress: -26 # drive to EB constant - c_drvLRT: 2 # FIXME drive to LRT constant COULD THIS POSSIBLY BE RIGHT? - c_drvFR: -52 # drive to FR constant - c_drvHeavy: -41 # drive to HR constant - c_drvCR: -52 # drive to CR constant - #"max(IVT/Drive time - 0.3,0)",drvRatio,c_ivt* 6 - C_UNAVAILABLE: -999 - +inherit_settings: True + +zone_system: 3 + +skim_dict_factory: NumpyArraySkimFactory +#skim_dict_factory: MemMapSkimFactory + +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +# rebuild and overwrite existing tap_tap_utilities cache +rebuild_tvpb_cache: True + + +# when checkpointing cache. also write a csv version of tvpb cache for tracing +# (writes csv file when writing/checkpointing cache (i.e. when cached changed) even if rebuild_tvpb_cache is False) +# (n.b. csv file could be quite large if cache is STATIC!) +trace_tvpb_cache_as_csv: False + +taz_skims: + - HWYSKMAM_taz_rename.omx + - HWYSKMEA_taz_rename.omx + - HWYSKMEV_taz_rename.omx + - HWYSKMMD_taz_rename.omx + - HWYSKMPM_taz_rename.omx + +tap_skims: + # we require that skims for all tap_tap sets have unique names + # and can therefor share a single skim_dict without name collision + # e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM + - transit_skims_AM_SET1_rename.omx + - transit_skims_AM_SET2_rename.omx + - transit_skims_AM_SET3_rename.omx + - transit_skims_EA_SET1_rename.omx + - transit_skims_EA_SET2_rename.omx + - transit_skims_EA_SET3_rename.omx + - transit_skims_EV_SET1_rename.omx + - transit_skims_EV_SET2_rename.omx + - transit_skims_EV_SET3_rename.omx + - transit_skims_MD_SET1_rename.omx + - transit_skims_MD_SET2_rename.omx + - transit_skims_MD_SET3_rename.omx + - transit_skims_PM_SET1_rename.omx + - transit_skims_PM_SET2_rename.omx + - transit_skims_PM_SET3_rename.omx + + +# FIXME why no taz.csv? +# tas: taz.csv + +maz: maz_taz.csv + +tap: tap_data.csv + +tap_lines: tap_lines.csv + +maz_to_maz: + tables: + - maz_maz_walk.csv + - maz_maz_bike.csv + + # maz_to_maz blending distance (missing or 0 means no blending) + max_blend_distance: + # blend distance of 0 means no blending + WALK_DIST: 0 + BIKE_DIST: 0 + + +maz_to_tap: + walk: + table: maz_tap_walk.csv + # if provided, this column will be used (together with tap_lines table) to trim the near tap set + # to only include the nearest tap to origin when more than one tap serves the same line + tap_line_distance_col: WALK_TRANSIT_DIST + #max_dist: 3 + drive: + table: maz_taz_tap_drive.csv + # not trimming because drive_maz_tap utility calculations take into account both drive and walk time and cost + # though some sort of trimming appears to have been done as there are not so many of these in marin data + #tap_line_distance_col: DDIST + + +skim_time_periods: + time_window: 1440 + period_minutes: 30 + periods: [0, 12, 20, 30, 38, 48] + labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] + +demographic_segments: &demographic_segments + - &low_income_segment_id 0 + - &high_income_segment_id 1 + + +# transit virtual path builder settings +TVPB_SETTINGS: + + tour_mode_choice: + units: utility + path_types: + WTW: + access: walk + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + DTW: + access: drive + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + WTD: + access: walk + egress: drive + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + tap_tap_settings: + SPEC: tvpb_utility_tap_tap.csv + PREPROCESSOR: + SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv + DF: df + # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files + attribute_segments: + demographic_segment: *demographic_segments + tod: *skim_time_period_labels + access_mode: ['drive', 'walk'] + attributes_as_columns: + - demographic_segment + - tod + + maz_tap_settings: + walk: + SPEC: tvpb_utility_walk_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - WALK_TRANSIT_DIST + drive: + SPEC: tvpb_utility_drive_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - DDIST + - DTIME + - WDIST + + CONSTANTS: + C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id + C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id + TVPB_demographic_segments_by_income_segment: + 1: *low_income_segment_id + 2: *low_income_segment_id + 3: *high_income_segment_id + 4: *high_income_segment_id + c_ivt_high_income: -0.028 + c_ivt_low_income: -0.0175 + c_cost_high_income: -0.00112 + c_cost_low_income: -0.00112 + c_auto_operating_cost_per_mile: 18.29 + # constants used in maz_tap and tap_tap utility expressions + c_drive: 1.5 + c_walk: 1.7 + c_fwt: 1.5 + c_waux: 3.677 + c_xwt: 2 + c_xfers1: 30 + c_xfers2: 45 + c_xfers3: 47.026 + # no Express bus alternative-specific constant + c_lrt_asc: -17 # LRT alternative-specific constant + c_fr_asc: -35 # FR alternative-specific constant + c_hr_asc: -22 # Heavy Rail alternative-specific constant + c_cr_asc: -15 # Commuter Rail alternative-specific constant + c_cr20_40: -20 # Commuter Rail distance 20-40 miles + c_cr40plus: -30 # Commuter Rail distance >40 miles + c_drvExpress: -26 # drive to EB constant + c_drvLRT: 2 # FIXME drive to LRT constant COULD THIS POSSIBLY BE RIGHT? + c_drvFR: -52 # drive to FR constant + c_drvHeavy: -41 # drive to HR constant + c_drvCR: -52 # drive to CR constant + #"max(IVT/Drive time - 0.3,0)",drvRatio,c_ivt* 6 + C_UNAVAILABLE: -999 + diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/settings.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/settings.yaml similarity index 95% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/settings.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/settings.yaml index 753b5dfbca..c6f3ee2f3e 100755 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/settings.yaml +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/settings.yaml @@ -1,237 +1,237 @@ -inherit_settings: True - -# number of households to simulate -#households_sample_size: 200000 -households_sample_size: 500 - -#chunk_size: 4000000000 -chunk_size: 0 - -#trace_hh_id: 662398 -trace_hh_id: - -# input tables -input_table_list: - - tablename: households - filename: households_asim.csv - index_col: household_id - rename_columns: - HHID: household_id - MAZ: home_zone_id - keep_columns: - - home_zone_id - - HHINCADJ - - NWRKRS_ESR - - VEH - - NP - #- MTCCountyID - #- HHT - #- BLD - #- TYPE - - - tablename: persons - filename: persons_asim.csv - index_col: person_id - rename_columns: - HHID: household_id - PERID: person_id - keep_columns: - - AGEP - - household_id - - type - - value_of_time - - fp_choice - #- SEX - #- SCHL - #- OCCP - #- WKHP - #- WKW - #- EMPLOYED - #- ESR - #- SCHG - - - tablename: land_use - filename: maz_data_asim.csv - index_col: zone_id - rename_columns: - MAZ: zone_id - CountyID: county_id - keep_columns: - - TAZ - - DistID - - ACRES - - POP - - emp_total - - hparkcost - - TERMINALTIME - - county_id -# - level_0 -# - index -# - MAZ_ORIGINAL -# - TAZ_ORIGINAL -# - DistName -# - CountyID -# - CountyName -# - HH -# - ag -# - art_rec -# - constr -# - eat -# - ed_high -# - ed_k12 -# - ed_oth -# - fire -# - gov -# - health -# - hotel -# - info -# - lease -# - logis -# - man_bio -# - man_lgt -# - man_hvy -# - man_tech -# - natres -# - prof -# - ret_loc -# - ret_reg -# - serv_bus -# - serv_pers -# - serv_soc -# - transp -# - util -# - publicEnrollGradeKto8 -# - privateEnrollGradeKto8 -# - publicEnrollGrade9to12 -# - privateEnrollGrade9to12 -# - comm_coll_enroll -# - EnrollGradeKto8 -# - EnrollGrade9to12 -# - collegeEnroll -# - otherCollegeEnroll -# - AdultSchEnrl -# - hstallsoth -# - hstallssam -# - dstallsoth -# - dstallssam -# - mstallsoth -# - mstallssam -# - park_area -# - numfreehrs -# - dparkcost -# - mparkcost -# - ech_dist -# - hch_dist -# - parkarea -# - MAZ_X -# - MAZ_Y -# - TotInt -# - EmpDen -# - RetEmpDen -# - DUDen -# - PopDen -# - IntDenBin -# - EmpDenBin -# - DuDenBin -# - PopEmpDenPerMi -# - mgra -# - mgraParkArea -# - lsWgtAvgCostM -# - lsWgtAvgCostD -# - lsWgtAvgCostH - - - tablename: tours - filename: work_tours.csv - # index_col: - rename_columns: - hh_id: household_id - start_period: start - end_period: end - tour_id: tm2_tour_id - tour_mode: tm2_tour_mode - out_btap: tm2_out_btap - out_atap: tm2_out_atap - in_btap: tm2_in_btap - in_atap: tm2_in_atap - out_set: tm2_out_set - in_set: tm2_in_set - keep_columns: - - person_id - - household_id - - tour_category - - tour_purpose - - orig_mgra - - dest_mgra - - start - - end - # ctramp tm2 fields for validation - - tm2_tour_id # really just ordinal position in ctramp tour file, put probably will be useful for validation - - tm2_tour_mode - - tm2_out_btap - - tm2_out_atap - - tm2_in_btap - - tm2_in_atap - - tm2_out_set - - tm2_in_set -# - person_num -# - person_type -# - tour_distance -# - tour_time -# - atWork_freq -# - num_ob_stops -# - num_ib_stops - - -# set false to disable variability check in simple_simulate and interaction_simulate -check_for_variability: False - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - -# turn writing of sample_tables on and off for all models -# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) -want_dest_choice_sample_tables: False - -#resume_after: initialize_tvpb - -models: - - initialize_landuse - - initialize_households - - initialize_tours - # --- STATIC cache prebuild steps - # single-process step to create attribute_combination list - - initialize_los - # multi-processable step to build STATIC cache - # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) - - initialize_tvpb - # --- - - tour_mode_choice_simulate - - write_data_dictionary - - track_skim_usage - - write_tables - - write_summaries - -output_tables: - h5_store: False - action: include - prefix: final_ - # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes - sort: True - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - attribute_combinations - -output_summaries: - tours: - - tour_mode - - od_path_set - - do_path_set +inherit_settings: True + +# number of households to simulate +#households_sample_size: 200000 +households_sample_size: 500 + +#chunk_size: 4000000000 +chunk_size: 0 + +#trace_hh_id: 662398 +trace_hh_id: + +# input tables +input_table_list: + - tablename: households + filename: households_asim.csv + index_col: household_id + rename_columns: + HHID: household_id + MAZ: home_zone_id + keep_columns: + - home_zone_id + - HHINCADJ + - NWRKRS_ESR + - VEH + - NP + #- MTCCountyID + #- HHT + #- BLD + #- TYPE + + - tablename: persons + filename: persons_asim.csv + index_col: person_id + rename_columns: + HHID: household_id + PERID: person_id + keep_columns: + - AGEP + - household_id + - type + - value_of_time + - fp_choice + #- SEX + #- SCHL + #- OCCP + #- WKHP + #- WKW + #- EMPLOYED + #- ESR + #- SCHG + + - tablename: land_use + filename: maz_data_asim.csv + index_col: zone_id + rename_columns: + MAZ: zone_id + CountyID: county_id + keep_columns: + - TAZ + - DistID + - ACRES + - POP + - emp_total + - hparkcost + - TERMINALTIME + - county_id +# - level_0 +# - index +# - MAZ_ORIGINAL +# - TAZ_ORIGINAL +# - DistName +# - CountyID +# - CountyName +# - HH +# - ag +# - art_rec +# - constr +# - eat +# - ed_high +# - ed_k12 +# - ed_oth +# - fire +# - gov +# - health +# - hotel +# - info +# - lease +# - logis +# - man_bio +# - man_lgt +# - man_hvy +# - man_tech +# - natres +# - prof +# - ret_loc +# - ret_reg +# - serv_bus +# - serv_pers +# - serv_soc +# - transp +# - util +# - publicEnrollGradeKto8 +# - privateEnrollGradeKto8 +# - publicEnrollGrade9to12 +# - privateEnrollGrade9to12 +# - comm_coll_enroll +# - EnrollGradeKto8 +# - EnrollGrade9to12 +# - collegeEnroll +# - otherCollegeEnroll +# - AdultSchEnrl +# - hstallsoth +# - hstallssam +# - dstallsoth +# - dstallssam +# - mstallsoth +# - mstallssam +# - park_area +# - numfreehrs +# - dparkcost +# - mparkcost +# - ech_dist +# - hch_dist +# - parkarea +# - MAZ_X +# - MAZ_Y +# - TotInt +# - EmpDen +# - RetEmpDen +# - DUDen +# - PopDen +# - IntDenBin +# - EmpDenBin +# - DuDenBin +# - PopEmpDenPerMi +# - mgra +# - mgraParkArea +# - lsWgtAvgCostM +# - lsWgtAvgCostD +# - lsWgtAvgCostH + + - tablename: tours + filename: work_tours.csv + # index_col: + rename_columns: + hh_id: household_id + start_period: start + end_period: end + tour_id: tm2_tour_id + tour_mode: tm2_tour_mode + out_btap: tm2_out_btap + out_atap: tm2_out_atap + in_btap: tm2_in_btap + in_atap: tm2_in_atap + out_set: tm2_out_set + in_set: tm2_in_set + keep_columns: + - person_id + - household_id + - tour_category + - tour_purpose + - orig_mgra + - dest_mgra + - start + - end + # ctramp tm2 fields for validation + - tm2_tour_id # really just ordinal position in ctramp tour file, put probably will be useful for validation + - tm2_tour_mode + - tm2_out_btap + - tm2_out_atap + - tm2_in_btap + - tm2_in_atap + - tm2_out_set + - tm2_in_set +# - person_num +# - person_type +# - tour_distance +# - tour_time +# - atWork_freq +# - num_ob_stops +# - num_ib_stops + + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +#resume_after: initialize_tvpb + +models: + - initialize_landuse + - initialize_households + - initialize_tours + # --- STATIC cache prebuild steps + # single-process step to create attribute_combination list + - initialize_los + # multi-processable step to build STATIC cache + # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) + - initialize_tvpb + # --- + - tour_mode_choice_simulate + - write_data_dictionary + - track_skim_usage + - write_tables + - write_summaries + +output_tables: + h5_store: False + action: include + prefix: final_ + # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes + sort: True + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - attribute_combinations + +output_summaries: + tours: + - tour_mode + - od_path_set + - do_path_set diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/settings_mp.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/settings_mp.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/settings_mp.yaml diff --git a/activitysim/examples/example_marin/configs/shadow_pricing.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/shadow_pricing.yaml similarity index 100% rename from activitysim/examples/example_marin/configs/shadow_pricing.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/shadow_pricing.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv similarity index 99% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv index 46ba4c72fe..5ac2850bcd 100755 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.csv @@ -1,165 +1,165 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,, -#util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,VEH == 0,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,AGEP < 16,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['TIMEDA'] + dot_skims['TIMEDA'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTDA'] + dot_skims['DISTDA']),coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLDA'] + dot_skims['BTOLLDA']),coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.AGEP >= 16) & (df.AGEP <= 19),coef_age1619_da_multiplier,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,VEH == 0,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,AGEP < 16,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['TOLLTIMEDA'] + dot_skims['TOLLTIMEDA'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTDA'] + dot_skims['TOLLDISTDA']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLDA'] + dot_skims['TOLLBTOLLDA']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLDA'] + dot_skims['TOLLVTOLLDA']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.AGEP >= 16) & (df.AGEP <= 19),,coef_age1619_da_multiplier,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['TIMES2'] + dot_skims['TIMES2']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS2'] + dot_skims['DISTS2']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS2'] + dot_skims['BTOLLS2']) / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.NP == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.NP == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.AGEP >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.NP == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.NP == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.AGEP >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['TIMES3'] + dot_skims['TIMES3']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS3'] + dot_skims['DISTS3']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS3'] + dot_skims['BTOLLS3']) / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.NP == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.NP == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.AGEP >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['TOLLTIMES3'] + dot_skims['TOLLTIMES3']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS3'] + dot_skims['TOLLDISTS3']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS3'] + dot_skims['TOLLBTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.NP == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.NP == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.AGEP >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,, -#,Walk,,,,,,,,,,,,,, -util_WALK_Unavailable,WALK - Unavailable,walk_available == False,,,,,,,-999,,,,,, -util_WALK_Time,WALK - walk time,@(od_skims.lookup('WALK_DIST') + od_skims.reverse('WALK_DIST'))*60/walkSpeed,,,,,,,coef_ivt,,,,,, -#,Bike,,,,,,,,,,,,,, -util_BIKE_Unavailable,BIKE - Unavailable,bike_available == False,,,,,,,,-999,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, -util_BIKE_Time,BIKE - bike time,@(od_skims.lookup('BIKE_DIST') + od_skims.reverse('BIKE_DIST'))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, -#,Walk to Local,,,,,,,,,,,,,, -util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW'],,,,,,,,,coef_one,,,, -util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.AGEP <= 10),,,,,,,,,coef_age010_trn_multiplier,,,, -#,Drive to Local,,,,,,,,,,,,,, -util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,VEH == 0,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,AGEP < 16,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD'],,,,,,,,,,coef_one,,, -util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.AGEP < 10),,,,,,,,,,coef_age010_trn_multiplier,,, -#,Taxi,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,coef_ivt,, -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']),,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * Taxi_costPerMile +(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_single_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, -#,TNC Shared,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_shared_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt -#,indiv tour ASCs,,,,,,,,,,,,,, -util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,walk_ASC_no_auto,,,,,, -util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,walk_ASC_auto_deficient,,,,,, -util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,walk_ASC_auto_sufficient,,,,,, -util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,bike_ASC_no_auto,,,,, -util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,bike_ASC_auto_deficient,,,,, -util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,bike_ASC_auto_sufficient,,,,, -util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,, -util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,, -util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,, -util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,, -util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,, -util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,, -util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,walk_transit_ASC_no_auto,,,, -util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,,,, -util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,walk_transit_ASC_auto_sufficient,,,, -util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,drive_transit_ASC_no_auto,,, -util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,drive_transit_ASC_auto_deficient,,, -util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,drive_transit_ASC_auto_sufficient,,, -util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,taxi_ASC_no_auto,, -util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,taxi_ASC_auto_deficient,, -util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,taxi_ASC_auto_sufficient,, -util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,tnc_single_ASC_no_auto, -util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,tnc_single_ASC_auto_deficient, -util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,tnc_single_ASC_auto_sufficient, -util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,,tnc_shared_ASC_no_auto -util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,tnc_shared_ASC_auto_deficient -util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient -#,joint tour ASCs,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,, -util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,, -util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,, -util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,, -util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,, -util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,, -util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,, -util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,, -util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,, -util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,, -util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,,,, -util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,,,, -util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,,,, -util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,joint_drive_transit_ASC_no_auto,,, -util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,joint_drive_transit_ASC_auto_deficient,,, -util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,,, -util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,joint_taxi_ASC_no_auto,, -util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,joint_taxi_ASC_auto_deficient,, -util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, -util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,joint_tnc_single_ASC_no_auto, -util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, -util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, -util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto -util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient -util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient -#,calibration,,,,,,,,,,,,,, -util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,,,, -util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,drive_transit_CBD_ASC,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-odt_skims['DISTDA']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,coef_ivt,,, +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,, +#util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,VEH == 0,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,AGEP < 16,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['TIMEDA'] + dot_skims['TIMEDA'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTDA'] + dot_skims['DISTDA']),coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLDA'] + dot_skims['BTOLLDA']),coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.AGEP >= 16) & (df.AGEP <= 19),coef_age1619_da_multiplier,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,VEH == 0,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,AGEP < 16,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['TOLLTIMEDA'] + dot_skims['TOLLTIMEDA'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTDA'] + dot_skims['TOLLDISTDA']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLDA'] + dot_skims['TOLLBTOLLDA']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLDA'] + dot_skims['TOLLVTOLLDA']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.AGEP >= 16) & (df.AGEP <= 19),,coef_age1619_da_multiplier,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['TIMES2'] + dot_skims['TIMES2']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS2'] + dot_skims['DISTS2']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS2'] + dot_skims['BTOLLS2']) / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.NP == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.NP == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.AGEP >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.NP == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.NP == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.AGEP >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['TIMES3'] + dot_skims['TIMES3']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS3'] + dot_skims['DISTS3']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS3'] + dot_skims['BTOLLS3']) / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.NP == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.NP == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.AGEP >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['TOLLTIMES3'] + dot_skims['TOLLTIMES3']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.TERMINALTIME,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS3'] + dot_skims['TOLLDISTS3']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS3'] + dot_skims['TOLLBTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.NP == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.NP == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.AGEP >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,, +#,Walk,,,,,,,,,,,,,, +util_WALK_Unavailable,WALK - Unavailable,walk_available == False,,,,,,,-999,,,,,, +util_WALK_Time,WALK - walk time,@(od_skims.lookup('WALK_DIST') + od_skims.reverse('WALK_DIST'))*60/walkSpeed,,,,,,,coef_ivt,,,,,, +#,Bike,,,,,,,,,,,,,, +util_BIKE_Unavailable,BIKE - Unavailable,bike_available == False,,,,,,,,-999,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, +util_BIKE_Time,BIKE - bike time,@(od_skims.lookup('BIKE_DIST') + od_skims.reverse('BIKE_DIST'))*60/bikeSpeed,,,,,,,,coef_ivt,,,,, +#,Walk to Local,,,,,,,,,,,,,, +util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW'],,,,,,,,,coef_one,,,, +util_WALK_TRANSIT_Person_is_less_than_10_years_old,WALK_TRANSIT - Person is less than 10 years old,@(df.AGEP <= 10),,,,,,,,,coef_age010_trn_multiplier,,,, +#,Drive to Local,,,,,,,,,,,,,, +util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,VEH == 0,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,AGEP < 16,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD'],,,,,,,,,,coef_one,,, +util_DRIVE_TRANSIT_Person_is_less_than_10_years_old,DRIVE_TRANSIT - Person is less than 10 years old,@(df.AGEP < 10),,,,,,,,,,coef_age010_trn_multiplier,,, +#,Taxi,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,coef_ivt,, +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']),,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * Taxi_costPerMile +(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_single_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_shared_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt +#,indiv tour ASCs,,,,,,,,,,,,,, +util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,walk_ASC_no_auto,,,,,, +util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,walk_ASC_auto_deficient,,,,,, +util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,walk_ASC_auto_sufficient,,,,,, +util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,bike_ASC_no_auto,,,,, +util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,bike_ASC_auto_deficient,,,,, +util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,bike_ASC_auto_sufficient,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,, +util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,, +util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,, +util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,, +util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,walk_transit_ASC_no_auto,,,, +util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,,,, +util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,walk_transit_ASC_auto_sufficient,,,, +util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,drive_transit_ASC_no_auto,,, +util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,drive_transit_ASC_auto_deficient,,, +util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,drive_transit_ASC_auto_sufficient,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,taxi_ASC_no_auto,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,taxi_ASC_auto_deficient,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,taxi_ASC_auto_sufficient,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,tnc_single_ASC_no_auto, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,tnc_single_ASC_auto_deficient, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,tnc_single_ASC_auto_sufficient, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,,tnc_shared_ASC_no_auto +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,tnc_shared_ASC_auto_deficient +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient +#,joint tour ASCs,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,, +util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,, +util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,, +util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,, +util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,, +util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,, +util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,, +util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,, +util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,, +util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,,,, +util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,,,, +util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,,,, +util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,joint_drive_transit_ASC_no_auto,,, +util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,joint_drive_transit_ASC_auto_deficient,,, +util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,joint_taxi_ASC_no_auto,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,joint_taxi_ASC_auto_deficient,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,joint_tnc_single_ASC_no_auto, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient +#,calibration,,,,,,,,,,,,,, +util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,,,, +util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,drive_transit_CBD_ASC,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-odt_skims['DISTDA']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,coef_ivt,,, diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml similarity index 95% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml index 3e95030d6d..a88096a112 100755 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice.yaml @@ -1,188 +1,188 @@ -LOGIT_TYPE: NL -#LOGIT_TYPE: MNL - -tvpb_mode_path_types: - DRIVE_TRANSIT: - od: DTW - do: WTD - WALK_TRANSIT: - od: WTW - do: WTW - -NESTS: - name: root - coefficient: coef_nest_root - alternatives: - - name: AUTO - coefficient: coef_nest_AUTO - alternatives: - - name: DRIVEALONE - coefficient: coef_nest_AUTO_DRIVEALONE - alternatives: - - DRIVEALONEFREE - - DRIVEALONEPAY - - name: SHAREDRIDE2 - coefficient: coef_nest_AUTO_SHAREDRIDE2 - alternatives: - - SHARED2FREE - - SHARED2PAY - - name: SHAREDRIDE3 - coefficient: coef_nest_AUTO_SHAREDRIDE3 - alternatives: - - SHARED3FREE - - SHARED3PAY - - name: NONMOTORIZED - coefficient: coef_nest_NONMOTORIZED - alternatives: - - WALK - - BIKE - - name: TRANSIT - coefficient: coef_nest_TRANSIT - alternatives: - - WALK_TRANSIT - - DRIVE_TRANSIT - - name: RIDEHAIL - coefficient: coef_nest_RIDEHAIL - alternatives: - - TAXI - - TNC_SINGLE - - TNC_SHARED - -SPEC: tour_mode_choice.csv -COEFFICIENTS: tour_mode_choice_coeffs.csv -COEFFICIENT_TEMPLATE: tour_mode_choice_coeffs_template.csv - -CONSTANTS: - #valueOfTime: 8.00 - costPerMile: 18.29 - costShareSr2: 1.75 - costShareSr3: 2.50 -# waitThresh: 10.00 - walkThresh: 3.0 -# shortWalk: 0.333 -# longWalk: 0.667 - walkSpeed: 3.00 - bikeThresh: 12.00 - bikeSpeed: 12.00 -# maxCbdAreaTypeThresh: 2 -# indivTour: 1.00000 -# upperEA: 5 -# upperAM: 10 -# upperMD: 15 -# upperPM: 19 - # RIDEHAIL Settings - Taxi_baseFare: 2.20 - Taxi_costPerMile: 2.30 - Taxi_costPerMinute: 0.10 - Taxi_waitTime_mean: - 1: 5.5 - 2: 9.5 - 3: 13.3 - 4: 17.3 - 5: 26.5 - Taxi_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_single_baseFare: 2.20 - TNC_single_costPerMile: 1.33 - TNC_single_costPerMinute: 0.24 - TNC_single_costMinimum: 7.20 - TNC_single_waitTime_mean: - 1: 3.0 - 2: 6.3 - 3: 8.4 - 4: 8.5 - 5: 10.3 - TNC_single_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_shared_baseFare: 2.20 - TNC_shared_costPerMile: 0.53 - TNC_shared_costPerMinute: 0.10 - TNC_shared_costMinimum: 3.00 - TNC_shared_IVTFactor: 1.5 - TNC_shared_waitTime_mean: - 1: 5.0 - 2: 8.0 - 3: 11.0 - 4: 15.0 - 5: 15.0 - TNC_shared_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - min_waitTime: 0 - max_waitTime: 50 -# - ivt_cost_multiplier: 0.6 -# ivt_lrt_multiplier: 0.9 -# ivt_ferry_multiplier: 0.8 -# ivt_exp_multiplier: 1 -# ivt_hvy_multiplier: 0.8 -# ivt_com_multiplier: 0.7 - walktimeshort_multiplier: 2 -# walktimelong_multiplier: 10 -# biketimeshort_multiplier: 4 -# biketimelong_multiplier: 20 -# short_i_wait_multiplier: 2 -# long_i_wait_multiplier: 1 -# wacc_multiplier: 2 -# wegr_multiplier: 2 -# waux_multiplier: 2 -# dtim_multiplier: 2 -# xwait_multiplier: 2 -# dacc_ratio: 0 -# xfers_wlk_multiplier: 10 -# xfers_drv_multiplier: 20 - drvtrn_distpen_0_multiplier: 270 - drvtrn_distpen_max: 15 -# density_index_multiplier: -0.2 - joint_sr2_ASC_no_auto: 0 - joint_sr2_ASC_auto_deficient: 0 - joint_sr2_ASC_auto_sufficient: 0 - joint_drive_transit_ASC_no_auto: 0 - c_auto_operating_cost_per_mile: 18.29 - - -# so far, we can use the same spec as for non-joint tours -preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - - tours - -nontour_preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - -# to reduce memory needs filter chooser table to these fields -LOGSUM_CHOOSER_COLUMNS: - - tour_type - - hhsize - - density_index - - age - - age_16_p - - age_16_to_19 - - auto_ownership - - number_of_participants - - tour_category - - num_workers - - value_of_time - - free_parking_at_work - - income_segment - - demographic_segment - - c_ivt_for_segment - - c_cost_for_segment - -MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum +LOGIT_TYPE: NL +#LOGIT_TYPE: MNL + +tvpb_mode_path_types: + DRIVE_TRANSIT: + od: DTW + do: WTD + WALK_TRANSIT: + od: WTW + do: WTW + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - name: DRIVEALONE + coefficient: coef_nest_AUTO_DRIVEALONE + alternatives: + - DRIVEALONEFREE + - DRIVEALONEPAY + - name: SHAREDRIDE2 + coefficient: coef_nest_AUTO_SHAREDRIDE2 + alternatives: + - SHARED2FREE + - SHARED2PAY + - name: SHAREDRIDE3 + coefficient: coef_nest_AUTO_SHAREDRIDE3 + alternatives: + - SHARED3FREE + - SHARED3PAY + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - WALK_TRANSIT + - DRIVE_TRANSIT + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coeffs.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coeffs_template.csv + +CONSTANTS: + #valueOfTime: 8.00 + costPerMile: 18.29 + costShareSr2: 1.75 + costShareSr3: 2.50 +# waitThresh: 10.00 + walkThresh: 3.0 +# shortWalk: 0.333 +# longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 12.00 + bikeSpeed: 12.00 +# maxCbdAreaTypeThresh: 2 +# indivTour: 1.00000 +# upperEA: 5 +# upperAM: 10 +# upperMD: 15 +# upperPM: 19 + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 +# + ivt_cost_multiplier: 0.6 +# ivt_lrt_multiplier: 0.9 +# ivt_ferry_multiplier: 0.8 +# ivt_exp_multiplier: 1 +# ivt_hvy_multiplier: 0.8 +# ivt_com_multiplier: 0.7 + walktimeshort_multiplier: 2 +# walktimelong_multiplier: 10 +# biketimeshort_multiplier: 4 +# biketimelong_multiplier: 20 +# short_i_wait_multiplier: 2 +# long_i_wait_multiplier: 1 +# wacc_multiplier: 2 +# wegr_multiplier: 2 +# waux_multiplier: 2 +# dtim_multiplier: 2 +# xwait_multiplier: 2 +# dacc_ratio: 0 +# xfers_wlk_multiplier: 10 +# xfers_drv_multiplier: 20 + drvtrn_distpen_0_multiplier: 270 + drvtrn_distpen_max: 15 +# density_index_multiplier: -0.2 + joint_sr2_ASC_no_auto: 0 + joint_sr2_ASC_auto_deficient: 0 + joint_sr2_ASC_auto_sufficient: 0 + joint_drive_transit_ASC_no_auto: 0 + c_auto_operating_cost_per_mile: 18.29 + + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - tours + +nontour_preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + - income_segment + - demographic_segment + - c_ivt_for_segment + - c_cost_for_segment + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 98% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv index 5aca337e40..bac931bf4b 100755 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -1,75 +1,75 @@ -Description,Target,Expression, -#,,, -,number_of_participants,1, -,is_joint,False, -#,,, -,_HAVE_PARENT_TOURS,False, -,_parent_tour_mode,False, -,work_tour_is_drive,False, -,work_tour_is_bike,False, -,work_tour_is_SOV,False, -#,,, -,is_mandatory,True, -,is_joint,False, -,is_indiv,~is_joint, -,is_atwork_subtour,False, -,is_escort,False, -#,,, -income_in_thousands,income_in_thousands,(df.HHINCADJ / 1000).clip(lower=0), -income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)", -,demographic_segment,income_segment.map(TVPB_demographic_segments_by_income_segment), -#,c_ivt_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)", -#,c_cost_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)", -#,,, -#,c_cost,(0.60 * c_ivt) / df.value_of_time, -# ivot * (c_ivt_cost_multiplier * c_ivt),,, -,ivot,1.0 / df.value_of_time, -# RIDEHAIL,,, -,origin_density_measure,"(reindex(land_use.POP, df[orig_col_name]) + reindex(land_use.emp_total, df[orig_col_name])) / (reindex(land_use.ACRES, df[orig_col_name]) / 640)", -,dest_density_measure,"(reindex(land_use.POP, df[dest_col_name]) + reindex(land_use.emp_total, df[dest_col_name])) / (reindex(land_use.ACRES, df[dest_col_name]) / 640)", -,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", -,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", -,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", -,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", -,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", -,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", -# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from -,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", -,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", -,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", -,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", -,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", -,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", -,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", -,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", -,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime, -,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime, -,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime, -#,,, -,_free_parking_available,(df.tour_type == 'work') & (df.fp_choice == 1), -,_dest_hourly_peak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", -,_dest_hourly_offpeak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", -,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)", -,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)", -just hourly instead of times duration for now,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost, _hourly_offpeak_parking_cost)", -#,,, -,distance,(odt_skims['DISTDA']), -,sov_available,(odt_skims['TIMEDA']>0) & (dot_skims['TIMEDA']>0), -,sovtoll_available,(odt_skims['TOLLVTOLLDA']>0) | (dot_skims['TOLLVTOLLDA']>0), -,hov2_available,(odt_skims['TIMES2'] + dot_skims['TIMES2'])>0, -,hov2toll_available,(odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2'])>0, -,hov3_available,(odt_skims['TIMES3']>0) & (dot_skims['TIMES3']>0), -,hov3toll_available,(odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3'])>0, -,walk_available,"od_skims.lookup('WALK_DIST').between(0, walkThresh) & od_skims.reverse('WALK_DIST').between(0, walkThresh)", -,bike_available,"od_skims.lookup('BIKE_DIST').between(0, bikeThresh) & od_skims.reverse('BIKE_DIST').between(0, bikeThresh)", -#,,, -#,,,FIXME - this is probably wrong - that is all of Marin -destination district,destination_in_cbd,"reindex(land_use.DistID, df[dest_col_name])==22", -# diagnostic,,, -#,sov_dist_roundtrip,(odt_skims['DISTDA'] + dot_skims['DISTDA']), +Description,Target,Expression, +#,,, +,number_of_participants,1, +,is_joint,False, +#,,, +,_HAVE_PARENT_TOURS,False, +,_parent_tour_mode,False, +,work_tour_is_drive,False, +,work_tour_is_bike,False, +,work_tour_is_SOV,False, +#,,, +,is_mandatory,True, +,is_joint,False, +,is_indiv,~is_joint, +,is_atwork_subtour,False, +,is_escort,False, +#,,, +income_in_thousands,income_in_thousands,(df.HHINCADJ / 1000).clip(lower=0), +income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)", +,demographic_segment,income_segment.map(TVPB_demographic_segments_by_income_segment), +#,c_ivt_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)", +#,c_cost_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)", +#,,, +#,c_cost,(0.60 * c_ivt) / df.value_of_time, +# ivot * (c_ivt_cost_multiplier * c_ivt),,, +,ivot,1.0 / df.value_of_time, +# RIDEHAIL,,, +,origin_density_measure,"(reindex(land_use.POP, df[orig_col_name]) + reindex(land_use.emp_total, df[orig_col_name])) / (reindex(land_use.ACRES, df[orig_col_name]) / 640)", +,dest_density_measure,"(reindex(land_use.POP, df[dest_col_name]) + reindex(land_use.emp_total, df[dest_col_name])) / (reindex(land_use.ACRES, df[dest_col_name]) / 640)", +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", +,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", +,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", +,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", +# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", +,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", +,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", +,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", +,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime, +,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime, +,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime, +#,,, +,_free_parking_available,(df.tour_type == 'work') & (df.fp_choice == 1), +,_dest_hourly_peak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", +,_dest_hourly_offpeak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", +,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)", +,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)", +just hourly instead of times duration for now,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost, _hourly_offpeak_parking_cost)", +#,,, +,distance,(odt_skims['DISTDA']), +,sov_available,(odt_skims['TIMEDA']>0) & (dot_skims['TIMEDA']>0), +,sovtoll_available,(odt_skims['TOLLVTOLLDA']>0) | (dot_skims['TOLLVTOLLDA']>0), +,hov2_available,(odt_skims['TIMES2'] + dot_skims['TIMES2'])>0, +,hov2toll_available,(odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2'])>0, +,hov3_available,(odt_skims['TIMES3']>0) & (dot_skims['TIMES3']>0), +,hov3toll_available,(odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3'])>0, +,walk_available,"od_skims.lookup('WALK_DIST').between(0, walkThresh) & od_skims.reverse('WALK_DIST').between(0, walkThresh)", +,bike_available,"od_skims.lookup('BIKE_DIST').between(0, bikeThresh) & od_skims.reverse('BIKE_DIST').between(0, bikeThresh)", +#,,, +#,,,FIXME - this is probably wrong - that is all of Marin +destination district,destination_in_cbd,"reindex(land_use.DistID, df[dest_col_name])==22", +# diagnostic,,, +#,sov_dist_roundtrip,(odt_skims['DISTDA'] + dot_skims['DISTDA']), diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv similarity index 97% rename from activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv index c5d9a264a2..9693953808 100755 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs.csv +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv @@ -1,308 +1,308 @@ -coefficient_name,value,constrain -coef_one,1,T -coef_nest_root,1.00,T -coef_nest_AUTO,0.72,T -coef_nest_AUTO_DRIVEALONE,0.35,T -coef_nest_AUTO_SHAREDRIDE2,0.35,T -coef_nest_AUTO_SHAREDRIDE3,0.35,T -coef_nest_NONMOTORIZED,0.72,T -coef_nest_TRANSIT,0.72,T -coef_nest_TRANSIT_WALKACCESS,0.5,T -coef_nest_TRANSIT_DRIVEACCESS,0.5,T -coef_nest_RIDEHAIL,0.36,T -coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F -coef_ivt_school_univ,-0.0224,F -coef_ivt_work,-0.0134,F -coef_ivt_atwork,-0.0188,F -coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F -coef_topology_walk_multiplier_atwork,7.5,F -coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F -coef_topology_bike_multiplier_atwork,10,F -coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F -coef_topology_trn_multiplier_atwork,2,F -coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age1619_da_multiplier_school_univ,-1.3813,F -coef_age1619_da_multiplier_atwork,0.0032336,F -coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age010_trn_multiplier_school_univ,-1.5548,F -coef_age010_trn_multiplier_atwork,0.000722,F -coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F -coef_age16p_sr_multiplier_school_univ_work_atwork,0,F -coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F -coef_hhsize1_sr_multiplier_work,-0.734588,F -coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F -coef_hhsize2_sr_multiplier_school_univ,-0.6359,F -walk_ASC_no_auto_eatout,5.1251173,F -walk_ASC_no_auto_escort,2.8012068,F -walk_ASC_no_auto_othdiscr,3.2665946,F -walk_ASC_no_auto_othmaint,1.287299,F -walk_ASC_no_auto_school,18.414557,F -walk_ASC_no_auto_shopping,2.3768773,F -walk_ASC_no_auto_social,1.8680915,F -walk_ASC_no_auto_univ,6.408967,F -walk_ASC_no_auto_work,5.7672157,F -walk_ASC_no_auto_atwork,6.669213,F -walk_ASC_auto_deficient_eatout,3.274605,F -walk_ASC_auto_deficient_escort,-0.90204656,F -walk_ASC_auto_deficient_othdiscr,2.2494075,F -walk_ASC_auto_deficient_othmaint,1.3690404,F -walk_ASC_auto_deficient_school,3.2573624,F -walk_ASC_auto_deficient_shopping,2.2701733,F -walk_ASC_auto_deficient_social,2.870184,F -walk_ASC_auto_deficient_univ,4.50591,F -walk_ASC_auto_deficient_work,2.4010417,F -walk_ASC_auto_deficient_atwork,0.92546093,F -walk_ASC_auto_sufficient_eatout,1.5516903,F -walk_ASC_auto_sufficient_escort,-0.8116066,F -walk_ASC_auto_sufficient_othdiscr,1.2633476,F -walk_ASC_auto_sufficient_othmaint,0.7999634,F -walk_ASC_auto_sufficient_school,0.6476856,F -walk_ASC_auto_sufficient_shopping,0.7312663,F -walk_ASC_auto_sufficient_social,1.7072186,F -walk_ASC_auto_sufficient_univ,1.0607665,F -walk_ASC_auto_sufficient_work,0.053265337,F -walk_ASC_auto_sufficient_atwork,0.677216,F -bike_ASC_no_auto_eatout,0.86807096,F -bike_ASC_no_auto_escort,-0.716212,F -bike_ASC_no_auto_othdiscr,-0.3764232,F -bike_ASC_no_auto_othmaint,1.5394334,F -bike_ASC_no_auto_school,12.098735,F -bike_ASC_no_auto_shopping,0.8341555,F -bike_ASC_no_auto_social,0.02058321,F -bike_ASC_no_auto_univ,4.2945156,F -bike_ASC_no_auto_work,3.1940088,F -bike_ASC_no_auto_atwork,-0.90725845,F -bike_ASC_auto_deficient_eatout,-1.5691106,F -bike_ASC_auto_deficient_escort,-4.527928,F -bike_ASC_auto_deficient_othdiscr,-0.09246834,F -bike_ASC_auto_deficient_othmaint,-1.5184649,F -bike_ASC_auto_deficient_school,-0.5280678,F -bike_ASC_auto_deficient_shopping,-0.87584466,F -bike_ASC_auto_deficient_social,0.6345214,F -bike_ASC_auto_deficient_univ,-0.669235,F -bike_ASC_auto_deficient_work,0.25318968,F -bike_ASC_auto_deficient_atwork,-0.8074083,F -bike_ASC_auto_sufficient_eatout,-1.2003471,F -bike_ASC_auto_sufficient_escort,-5.0631084,F -bike_ASC_auto_sufficient_othdiscr,-1.0714597,F -bike_ASC_auto_sufficient_othmaint,-2.8083024,F -bike_ASC_auto_sufficient_school,-2.1134686,F -bike_ASC_auto_sufficient_shopping,-2.5662103,F -bike_ASC_auto_sufficient_social,-1.368071,F -bike_ASC_auto_sufficient_univ,-1.9397832,F -bike_ASC_auto_sufficient_work,-1.5800232,F -bike_ASC_auto_sufficient_atwork,15.72017,F -sr2_ASC_no_auto_all,0,F -sr2_ASC_auto_deficient_eatout,0.5882345,F -sr2_ASC_auto_deficient_escort,0,F -sr2_ASC_auto_deficient_othdiscr,0.6601513,F -sr2_ASC_auto_deficient_othmaint,0.2621527,F -sr2_ASC_auto_deficient_school,0.12474365,F -sr2_ASC_auto_deficient_shopping,0.24409756,F -sr2_ASC_auto_deficient_social,1.8558528,F -sr2_ASC_auto_deficient_univ,-1.6922346,F -sr2_ASC_auto_deficient_work,-0.33803123,F -sr2_ASC_auto_deficient_atwork,-2.1102421,F -sr2_ASC_auto_sufficient_eatout,0.86280555,F -sr2_ASC_auto_sufficient_escort,0,F -sr2_ASC_auto_sufficient_othdiscr,0.49684617,F -sr2_ASC_auto_sufficient_othmaint,0.25817883,F -sr2_ASC_auto_sufficient_school,-1.6062657,F -sr2_ASC_auto_sufficient_shopping,0.19770707,F -sr2_ASC_auto_sufficient_social,0.5236025,F -sr2_ASC_auto_sufficient_univ,-1.859427,F -sr2_ASC_auto_sufficient_work,-1.0857458,F -sr2_ASC_auto_sufficient_atwork,-1.4450618,F -sr3p_ASC_no_auto_eatout,0.3219998,F -sr3p_ASC_no_auto_escort,-1.8129267,F -sr3p_ASC_no_auto_othdiscr,0.27216902,F -sr3p_ASC_no_auto_othmaint,-0.8031854,F -sr3p_ASC_no_auto_school,-6.0240827,F -sr3p_ASC_no_auto_shopping,-0.27978948,F -sr3p_ASC_no_auto_social,-1.4036902,F -sr3p_ASC_no_auto_univ,-6.056001,F -sr3p_ASC_no_auto_work,-0.5831269,F -sr3p_ASC_no_auto_atwork,0.5826626,F -sr3p_ASC_auto_deficient_eatout,0.04605236,F -sr3p_ASC_auto_deficient_escort,-0.40818766,F -sr3p_ASC_auto_deficient_othdiscr,1.0470966,F -sr3p_ASC_auto_deficient_othmaint,-1.3493925,F -sr3p_ASC_auto_deficient_school,0.7149571,F -sr3p_ASC_auto_deficient_shopping,-0.073370166,F -sr3p_ASC_auto_deficient_social,1.5007243,F -sr3p_ASC_auto_deficient_univ,-1.7277422,F -sr3p_ASC_auto_deficient_work,-0.8527042,F -sr3p_ASC_auto_deficient_atwork,-2.514658,F -sr3p_ASC_auto_sufficient_eatout,0.8468596,F -sr3p_ASC_auto_sufficient_escort,-0.05741253,F -sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F -sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F -sr3p_ASC_auto_sufficient_school,-1.0201935,F -sr3p_ASC_auto_sufficient_shopping,-0.077571295,F -sr3p_ASC_auto_sufficient_social,0.50617886,F -sr3p_ASC_auto_sufficient_univ,-1.9047098,F -sr3p_ASC_auto_sufficient_work,-1.4699702,F -sr3p_ASC_auto_sufficient_atwork,-1.652174,F -walk_transit_ASC_no_auto_eatout,2.5936368,F -walk_transit_ASC_no_auto_escort,-2.2172081,F -walk_transit_ASC_no_auto_othdiscr,2.2437785,F -walk_transit_ASC_no_auto_othmaint,2.5643456,F -walk_transit_ASC_no_auto_school,21.383749,F -walk_transit_ASC_no_auto_shopping,2.1067476,F -walk_transit_ASC_no_auto_social,1.3814651,F -walk_transit_ASC_no_auto_univ,8.786037,F -walk_transit_ASC_no_auto_work,5.0354166,F -walk_transit_ASC_no_auto_atwork,2.7041876,F -walk_transit_ASC_auto_deficient_eatout,-0.03896324,F -walk_transit_ASC_auto_deficient_escort,-4.960704,F -walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F -walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F -walk_transit_ASC_auto_deficient_school,4.120708,F -walk_transit_ASC_auto_deficient_shopping,-0.8476569,F -walk_transit_ASC_auto_deficient_social,0.97444487,F -walk_transit_ASC_auto_deficient_univ,3.1362555,F -walk_transit_ASC_auto_deficient_work,0.65302855,F -walk_transit_ASC_auto_deficient_atwork,-2.9988291,F -walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F -walk_transit_ASC_auto_sufficient_escort,-4.934847,F -walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F -walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F -walk_transit_ASC_auto_sufficient_school,0.74590874,F -walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F -walk_transit_ASC_auto_sufficient_social,-0.3453759,F -walk_transit_ASC_auto_sufficient_univ,0.4731163,F -walk_transit_ASC_auto_sufficient_work,-0.8916507,F -walk_transit_ASC_auto_sufficient_atwork,-3.401027,F -drive_transit_ASC_no_auto_all,0,F -drive_transit_ASC_auto_deficient_eatout,0.5998061,F -drive_transit_ASC_auto_deficient_escort,-1.1537067,F -drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F -drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F -drive_transit_ASC_auto_deficient_school,5.3252654,F -drive_transit_ASC_auto_deficient_shopping,-0.41849178,F -drive_transit_ASC_auto_deficient_social,1.5627195,F -drive_transit_ASC_auto_deficient_univ,1.8501176,F -drive_transit_ASC_auto_deficient_work,0.10081567,F -drive_transit_ASC_auto_deficient_atwork,-998.8196,F -drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F -drive_transit_ASC_auto_sufficient_escort,-4.6014247,F -drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F -drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F -drive_transit_ASC_auto_sufficient_school,1.40135,F -drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F -drive_transit_ASC_auto_sufficient_social,-0.61585575,F -drive_transit_ASC_auto_sufficient_univ,1.3587753,F -drive_transit_ASC_auto_sufficient_work,-1.0045459,F -drive_transit_ASC_auto_sufficient_atwork,-999.21466,F -taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F -taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F -taxi_ASC_no_auto_school_univ,-7,T -taxi_ASC_no_auto_work,4.7291,F -taxi_ASC_no_auto_atwork,4.1021,F -taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F -taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F -taxi_ASC_auto_deficient_school,-0.3338,F -taxi_ASC_auto_deficient_univ,4.2492,F -taxi_ASC_auto_deficient_work,-1.4766,F -taxi_ASC_auto_deficient_atwork,-4.4046,F -taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F -taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F -taxi_ASC_auto_sufficient_school,-2.4294,F -taxi_ASC_auto_sufficient_univ,-0.3131,F -taxi_ASC_auto_sufficient_work,-4.8509,F -taxi_ASC_auto_sufficient_atwork,-2.8804,F -tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F -tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F -tnc_single_ASC_no_auto_school,-7,T -tnc_single_ASC_no_auto_univ,-2.519,F -tnc_single_ASC_no_auto_work,5.7855,F -tnc_single_ASC_no_auto_atwork,4.4982,F -tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F -tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F -tnc_single_ASC_auto_deficient_school,-0.5524,F -tnc_single_ASC_auto_deficient_univ,1.0221,F -tnc_single_ASC_auto_deficient_work,-0.8013,F -tnc_single_ASC_auto_deficient_atwork,-3.7626,F -tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F -tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F -tnc_single_ASC_auto_sufficient_school,-2.8375,F -tnc_single_ASC_auto_sufficient_univ,0.2088,F -tnc_single_ASC_auto_sufficient_work,-4.1946,F -tnc_single_ASC_auto_sufficient_atwork,-2.7988,F -tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F -tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F -tnc_shared_ASC_no_auto_school,-7,T -tnc_shared_ASC_no_auto_univ,-5.8116,F -tnc_shared_ASC_no_auto_work,3.2429,F -tnc_shared_ASC_no_auto_atwork,3.3672,F -tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F -tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F -tnc_shared_ASC_auto_deficient_school,-1.4746,F -tnc_shared_ASC_auto_deficient_univ,3.25,F -tnc_shared_ASC_auto_deficient_work,-2.1435,F -tnc_shared_ASC_auto_deficient_atwork,-4.5089,F -tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F -tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F -tnc_shared_ASC_auto_sufficient_school,-3.7219,F -tnc_shared_ASC_auto_sufficient_univ,-0.9068,F -tnc_shared_ASC_auto_sufficient_work,-5.3575,F -tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F -joint_walk_ASC_no_auto_all,-0.21274701,F -joint_walk_ASC_auto_deficient_all,-1.9607706,F -joint_walk_ASC_auto_sufficient_all,-3.2352157,F -joint_bike_ASC_no_auto_all,-2.8671598,F -joint_bike_ASC_auto_deficient_all,-6.076415,F -joint_bike_ASC_auto_sufficient_all,-6.3760657,F -joint_sr2_ASC_no_auto_all,0,T -joint_sr2_ASC_auto_deficient_all,0,T -joint_sr2_ASC_auto_sufficient_all,0,T -joint_sr3p_ASC_no_auto_all,0.5630671,F -joint_sr3p_ASC_auto_deficient_all,-1.8841692,F -joint_sr3p_ASC_auto_sufficient_all,-2.234826,F -joint_walk_transit_ASC_no_auto_all,0.62292415,F -joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F -joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F -joint_drive_transit_ASC_no_auto_all,0,T -joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F -joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F -joint_taxi_ASC_no_auto_all,-4.5792,F -joint_taxi_ASC_auto_deficient_all,-9.8157,F -joint_taxi_ASC_auto_sufficient_all,-11.7099,T -joint_tnc_single_ASC_no_auto_all,-4.4917,F -joint_tnc_single_ASC_auto_deficient_all,-9.8961,F -joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T -joint_tnc_shared_ASC_no_auto_all,-4.3002,F -joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F -joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T -local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F -local_bus_ASC_school_univ,-0.06508621,F -local_bus_ASC_work,0.06689507,F -walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -walk_light_rail_ASC_school_univ,1.6814003,F -walk_light_rail_ASC_work,0.8255567,F -drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -drive_light_rail_ASC_school_univ,1.6814003,F -drive_light_rail_ASC_work,0.8255567,F -walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -walk_ferry_ASC_school_univ,2.0202317,F -walk_ferry_ASC_work,0.93322605,F -drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -drive_ferry_ASC_school_univ,2.0202317,F -drive_ferry_ASC_work,0.93322605,F -express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F -express_bus_ASC_school_univ,0.32496938,F -express_bus_ASC_work,-0.5165474,F -heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F -heavy_rail_ASC_school_univ,0.96200377,F -heavy_rail_ASC_work,0.64772975,F -commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F -commuter_rail_ASC_school_univ,1.0336206,F -commuter_rail_ASC_work,0.725503,F -walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -walk_transit_CBD_ASC_school_univ,0.672,F -walk_transit_CBD_ASC_work,0.804,F -walk_transit_CBD_ASC_atwork,0.564,F -drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -drive_transit_CBD_ASC_school_univ,0.672,F -drive_transit_CBD_ASC_work,1.1,F -drive_transit_CBD_ASC_atwork,0.564,F +coefficient_name,value,constrain +coef_one,1,T +coef_nest_root,1.00,T +coef_nest_AUTO,0.72,T +coef_nest_AUTO_DRIVEALONE,0.35,T +coef_nest_AUTO_SHAREDRIDE2,0.35,T +coef_nest_AUTO_SHAREDRIDE3,0.35,T +coef_nest_NONMOTORIZED,0.72,T +coef_nest_TRANSIT,0.72,T +coef_nest_TRANSIT_WALKACCESS,0.5,T +coef_nest_TRANSIT_DRIVEACCESS,0.5,T +coef_nest_RIDEHAIL,0.36,T +coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F +coef_ivt_school_univ,-0.0224,F +coef_ivt_work,-0.0134,F +coef_ivt_atwork,-0.0188,F +coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F +coef_topology_walk_multiplier_atwork,7.5,F +coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F +coef_topology_bike_multiplier_atwork,10,F +coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F +coef_topology_trn_multiplier_atwork,2,F +coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age1619_da_multiplier_school_univ,-1.3813,F +coef_age1619_da_multiplier_atwork,0.0032336,F +coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age010_trn_multiplier_school_univ,-1.5548,F +coef_age010_trn_multiplier_atwork,0.000722,F +coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F +coef_age16p_sr_multiplier_school_univ_work_atwork,0,F +coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F +coef_hhsize1_sr_multiplier_work,-0.734588,F +coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F +coef_hhsize2_sr_multiplier_school_univ,-0.6359,F +walk_ASC_no_auto_eatout,5.1251173,F +walk_ASC_no_auto_escort,2.8012068,F +walk_ASC_no_auto_othdiscr,3.2665946,F +walk_ASC_no_auto_othmaint,1.287299,F +walk_ASC_no_auto_school,18.414557,F +walk_ASC_no_auto_shopping,2.3768773,F +walk_ASC_no_auto_social,1.8680915,F +walk_ASC_no_auto_univ,6.408967,F +walk_ASC_no_auto_work,5.7672157,F +walk_ASC_no_auto_atwork,6.669213,F +walk_ASC_auto_deficient_eatout,3.274605,F +walk_ASC_auto_deficient_escort,-0.90204656,F +walk_ASC_auto_deficient_othdiscr,2.2494075,F +walk_ASC_auto_deficient_othmaint,1.3690404,F +walk_ASC_auto_deficient_school,3.2573624,F +walk_ASC_auto_deficient_shopping,2.2701733,F +walk_ASC_auto_deficient_social,2.870184,F +walk_ASC_auto_deficient_univ,4.50591,F +walk_ASC_auto_deficient_work,2.4010417,F +walk_ASC_auto_deficient_atwork,0.92546093,F +walk_ASC_auto_sufficient_eatout,1.5516903,F +walk_ASC_auto_sufficient_escort,-0.8116066,F +walk_ASC_auto_sufficient_othdiscr,1.2633476,F +walk_ASC_auto_sufficient_othmaint,0.7999634,F +walk_ASC_auto_sufficient_school,0.6476856,F +walk_ASC_auto_sufficient_shopping,0.7312663,F +walk_ASC_auto_sufficient_social,1.7072186,F +walk_ASC_auto_sufficient_univ,1.0607665,F +walk_ASC_auto_sufficient_work,0.053265337,F +walk_ASC_auto_sufficient_atwork,0.677216,F +bike_ASC_no_auto_eatout,0.86807096,F +bike_ASC_no_auto_escort,-0.716212,F +bike_ASC_no_auto_othdiscr,-0.3764232,F +bike_ASC_no_auto_othmaint,1.5394334,F +bike_ASC_no_auto_school,12.098735,F +bike_ASC_no_auto_shopping,0.8341555,F +bike_ASC_no_auto_social,0.02058321,F +bike_ASC_no_auto_univ,4.2945156,F +bike_ASC_no_auto_work,3.1940088,F +bike_ASC_no_auto_atwork,-0.90725845,F +bike_ASC_auto_deficient_eatout,-1.5691106,F +bike_ASC_auto_deficient_escort,-4.527928,F +bike_ASC_auto_deficient_othdiscr,-0.09246834,F +bike_ASC_auto_deficient_othmaint,-1.5184649,F +bike_ASC_auto_deficient_school,-0.5280678,F +bike_ASC_auto_deficient_shopping,-0.87584466,F +bike_ASC_auto_deficient_social,0.6345214,F +bike_ASC_auto_deficient_univ,-0.669235,F +bike_ASC_auto_deficient_work,0.25318968,F +bike_ASC_auto_deficient_atwork,-0.8074083,F +bike_ASC_auto_sufficient_eatout,-1.2003471,F +bike_ASC_auto_sufficient_escort,-5.0631084,F +bike_ASC_auto_sufficient_othdiscr,-1.0714597,F +bike_ASC_auto_sufficient_othmaint,-2.8083024,F +bike_ASC_auto_sufficient_school,-2.1134686,F +bike_ASC_auto_sufficient_shopping,-2.5662103,F +bike_ASC_auto_sufficient_social,-1.368071,F +bike_ASC_auto_sufficient_univ,-1.9397832,F +bike_ASC_auto_sufficient_work,-1.5800232,F +bike_ASC_auto_sufficient_atwork,15.72017,F +sr2_ASC_no_auto_all,0,F +sr2_ASC_auto_deficient_eatout,0.5882345,F +sr2_ASC_auto_deficient_escort,0,F +sr2_ASC_auto_deficient_othdiscr,0.6601513,F +sr2_ASC_auto_deficient_othmaint,0.2621527,F +sr2_ASC_auto_deficient_school,0.12474365,F +sr2_ASC_auto_deficient_shopping,0.24409756,F +sr2_ASC_auto_deficient_social,1.8558528,F +sr2_ASC_auto_deficient_univ,-1.6922346,F +sr2_ASC_auto_deficient_work,-0.33803123,F +sr2_ASC_auto_deficient_atwork,-2.1102421,F +sr2_ASC_auto_sufficient_eatout,0.86280555,F +sr2_ASC_auto_sufficient_escort,0,F +sr2_ASC_auto_sufficient_othdiscr,0.49684617,F +sr2_ASC_auto_sufficient_othmaint,0.25817883,F +sr2_ASC_auto_sufficient_school,-1.6062657,F +sr2_ASC_auto_sufficient_shopping,0.19770707,F +sr2_ASC_auto_sufficient_social,0.5236025,F +sr2_ASC_auto_sufficient_univ,-1.859427,F +sr2_ASC_auto_sufficient_work,-1.0857458,F +sr2_ASC_auto_sufficient_atwork,-1.4450618,F +sr3p_ASC_no_auto_eatout,0.3219998,F +sr3p_ASC_no_auto_escort,-1.8129267,F +sr3p_ASC_no_auto_othdiscr,0.27216902,F +sr3p_ASC_no_auto_othmaint,-0.8031854,F +sr3p_ASC_no_auto_school,-6.0240827,F +sr3p_ASC_no_auto_shopping,-0.27978948,F +sr3p_ASC_no_auto_social,-1.4036902,F +sr3p_ASC_no_auto_univ,-6.056001,F +sr3p_ASC_no_auto_work,-0.5831269,F +sr3p_ASC_no_auto_atwork,0.5826626,F +sr3p_ASC_auto_deficient_eatout,0.04605236,F +sr3p_ASC_auto_deficient_escort,-0.40818766,F +sr3p_ASC_auto_deficient_othdiscr,1.0470966,F +sr3p_ASC_auto_deficient_othmaint,-1.3493925,F +sr3p_ASC_auto_deficient_school,0.7149571,F +sr3p_ASC_auto_deficient_shopping,-0.073370166,F +sr3p_ASC_auto_deficient_social,1.5007243,F +sr3p_ASC_auto_deficient_univ,-1.7277422,F +sr3p_ASC_auto_deficient_work,-0.8527042,F +sr3p_ASC_auto_deficient_atwork,-2.514658,F +sr3p_ASC_auto_sufficient_eatout,0.8468596,F +sr3p_ASC_auto_sufficient_escort,-0.05741253,F +sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F +sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F +sr3p_ASC_auto_sufficient_school,-1.0201935,F +sr3p_ASC_auto_sufficient_shopping,-0.077571295,F +sr3p_ASC_auto_sufficient_social,0.50617886,F +sr3p_ASC_auto_sufficient_univ,-1.9047098,F +sr3p_ASC_auto_sufficient_work,-1.4699702,F +sr3p_ASC_auto_sufficient_atwork,-1.652174,F +walk_transit_ASC_no_auto_eatout,2.5936368,F +walk_transit_ASC_no_auto_escort,-2.2172081,F +walk_transit_ASC_no_auto_othdiscr,2.2437785,F +walk_transit_ASC_no_auto_othmaint,2.5643456,F +walk_transit_ASC_no_auto_school,21.383749,F +walk_transit_ASC_no_auto_shopping,2.1067476,F +walk_transit_ASC_no_auto_social,1.3814651,F +walk_transit_ASC_no_auto_univ,8.786037,F +walk_transit_ASC_no_auto_work,5.0354166,F +walk_transit_ASC_no_auto_atwork,2.7041876,F +walk_transit_ASC_auto_deficient_eatout,-0.03896324,F +walk_transit_ASC_auto_deficient_escort,-4.960704,F +walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F +walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F +walk_transit_ASC_auto_deficient_school,4.120708,F +walk_transit_ASC_auto_deficient_shopping,-0.8476569,F +walk_transit_ASC_auto_deficient_social,0.97444487,F +walk_transit_ASC_auto_deficient_univ,3.1362555,F +walk_transit_ASC_auto_deficient_work,0.65302855,F +walk_transit_ASC_auto_deficient_atwork,-2.9988291,F +walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F +walk_transit_ASC_auto_sufficient_escort,-4.934847,F +walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F +walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F +walk_transit_ASC_auto_sufficient_school,0.74590874,F +walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F +walk_transit_ASC_auto_sufficient_social,-0.3453759,F +walk_transit_ASC_auto_sufficient_univ,0.4731163,F +walk_transit_ASC_auto_sufficient_work,-0.8916507,F +walk_transit_ASC_auto_sufficient_atwork,-3.401027,F +drive_transit_ASC_no_auto_all,0,F +drive_transit_ASC_auto_deficient_eatout,0.5998061,F +drive_transit_ASC_auto_deficient_escort,-1.1537067,F +drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F +drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F +drive_transit_ASC_auto_deficient_school,5.3252654,F +drive_transit_ASC_auto_deficient_shopping,-0.41849178,F +drive_transit_ASC_auto_deficient_social,1.5627195,F +drive_transit_ASC_auto_deficient_univ,1.8501176,F +drive_transit_ASC_auto_deficient_work,0.10081567,F +drive_transit_ASC_auto_deficient_atwork,-998.8196,F +drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F +drive_transit_ASC_auto_sufficient_escort,-4.6014247,F +drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F +drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F +drive_transit_ASC_auto_sufficient_school,1.40135,F +drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F +drive_transit_ASC_auto_sufficient_social,-0.61585575,F +drive_transit_ASC_auto_sufficient_univ,1.3587753,F +drive_transit_ASC_auto_sufficient_work,-1.0045459,F +drive_transit_ASC_auto_sufficient_atwork,-999.21466,F +taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F +taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F +taxi_ASC_no_auto_school_univ,-7,T +taxi_ASC_no_auto_work,4.7291,F +taxi_ASC_no_auto_atwork,4.1021,F +taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F +taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F +taxi_ASC_auto_deficient_school,-0.3338,F +taxi_ASC_auto_deficient_univ,4.2492,F +taxi_ASC_auto_deficient_work,-1.4766,F +taxi_ASC_auto_deficient_atwork,-4.4046,F +taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F +taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F +taxi_ASC_auto_sufficient_school,-2.4294,F +taxi_ASC_auto_sufficient_univ,-0.3131,F +taxi_ASC_auto_sufficient_work,-4.8509,F +taxi_ASC_auto_sufficient_atwork,-2.8804,F +tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F +tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F +tnc_single_ASC_no_auto_school,-7,T +tnc_single_ASC_no_auto_univ,-2.519,F +tnc_single_ASC_no_auto_work,5.7855,F +tnc_single_ASC_no_auto_atwork,4.4982,F +tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F +tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F +tnc_single_ASC_auto_deficient_school,-0.5524,F +tnc_single_ASC_auto_deficient_univ,1.0221,F +tnc_single_ASC_auto_deficient_work,-0.8013,F +tnc_single_ASC_auto_deficient_atwork,-3.7626,F +tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F +tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F +tnc_single_ASC_auto_sufficient_school,-2.8375,F +tnc_single_ASC_auto_sufficient_univ,0.2088,F +tnc_single_ASC_auto_sufficient_work,-4.1946,F +tnc_single_ASC_auto_sufficient_atwork,-2.7988,F +tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F +tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F +tnc_shared_ASC_no_auto_school,-7,T +tnc_shared_ASC_no_auto_univ,-5.8116,F +tnc_shared_ASC_no_auto_work,3.2429,F +tnc_shared_ASC_no_auto_atwork,3.3672,F +tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F +tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F +tnc_shared_ASC_auto_deficient_school,-1.4746,F +tnc_shared_ASC_auto_deficient_univ,3.25,F +tnc_shared_ASC_auto_deficient_work,-2.1435,F +tnc_shared_ASC_auto_deficient_atwork,-4.5089,F +tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F +tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F +tnc_shared_ASC_auto_sufficient_school,-3.7219,F +tnc_shared_ASC_auto_sufficient_univ,-0.9068,F +tnc_shared_ASC_auto_sufficient_work,-5.3575,F +tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F +joint_walk_ASC_no_auto_all,-0.21274701,F +joint_walk_ASC_auto_deficient_all,-1.9607706,F +joint_walk_ASC_auto_sufficient_all,-3.2352157,F +joint_bike_ASC_no_auto_all,-2.8671598,F +joint_bike_ASC_auto_deficient_all,-6.076415,F +joint_bike_ASC_auto_sufficient_all,-6.3760657,F +joint_sr2_ASC_no_auto_all,0,T +joint_sr2_ASC_auto_deficient_all,0,T +joint_sr2_ASC_auto_sufficient_all,0,T +joint_sr3p_ASC_no_auto_all,0.5630671,F +joint_sr3p_ASC_auto_deficient_all,-1.8841692,F +joint_sr3p_ASC_auto_sufficient_all,-2.234826,F +joint_walk_transit_ASC_no_auto_all,0.62292415,F +joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F +joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F +joint_drive_transit_ASC_no_auto_all,0,T +joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F +joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F +joint_taxi_ASC_no_auto_all,-4.5792,F +joint_taxi_ASC_auto_deficient_all,-9.8157,F +joint_taxi_ASC_auto_sufficient_all,-11.7099,T +joint_tnc_single_ASC_no_auto_all,-4.4917,F +joint_tnc_single_ASC_auto_deficient_all,-9.8961,F +joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T +joint_tnc_shared_ASC_no_auto_all,-4.3002,F +joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F +joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T +local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F +local_bus_ASC_school_univ,-0.06508621,F +local_bus_ASC_work,0.06689507,F +walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +walk_light_rail_ASC_school_univ,1.6814003,F +walk_light_rail_ASC_work,0.8255567,F +drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +drive_light_rail_ASC_school_univ,1.6814003,F +drive_light_rail_ASC_work,0.8255567,F +walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +walk_ferry_ASC_school_univ,2.0202317,F +walk_ferry_ASC_work,0.93322605,F +drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +drive_ferry_ASC_school_univ,2.0202317,F +drive_ferry_ASC_work,0.93322605,F +express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F +express_bus_ASC_school_univ,0.32496938,F +express_bus_ASC_work,-0.5165474,F +heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F +heavy_rail_ASC_school_univ,0.96200377,F +heavy_rail_ASC_work,0.64772975,F +commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F +commuter_rail_ASC_school_univ,1.0336206,F +commuter_rail_ASC_work,0.725503,F +walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +walk_transit_CBD_ASC_school_univ,0.672,F +walk_transit_CBD_ASC_work,0.804,F +walk_transit_CBD_ASC_atwork,0.564,F +drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +drive_transit_CBD_ASC_school_univ,0.672,F +drive_transit_CBD_ASC_work,1.1,F +drive_transit_CBD_ASC_atwork,0.564,F diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice_coefficients_template.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_mode_choice_coefficients_template.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv similarity index 99% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv index a5dadfaeb3..9cf267a4ba 100755 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_drive_maz_tap.csv @@ -1,3 +1,3 @@ -Label,Description,Expression,utility -util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_drive * (df.DTIME + (df.WDIST / 5280 / walk_speed * 60))",1 -util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * (df.DDIST + (df.WDIST / 5280)) * c_auto_operating_cost_per_mile",1 +Label,Description,Expression,utility +util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_drive * (df.DTIME + (df.WDIST / 5280 / walk_speed * 60))",1 +util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * (df.DDIST + (df.WDIST / 5280)) * c_auto_operating_cost_per_mile",1 diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv similarity index 99% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv index 68bd560e60..61c03b72b1 100755 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap.csv @@ -1,85 +1,85 @@ -Label,Description,Expression,set1,set2,set3 -# Set 1,,,,, -set1_unavailable,Shut off set if unavailable,@df.not_transit_available_set1,C_UNAVAILABLE,, -set1_ivt,set In-Vehicle Time,"@~df.not_transit_available_set1 * df.c_ivt_for_segment * df.totalIVT_set1",1,, -set1_first_wait_time,First wait time,"@~df.not_transit_available_set1 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET1')",1,, -set1_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set1 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET1')",1,, -set1_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set1 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET1')",1,, -set1_fare,set Fare,"@~df.not_transit_available_set1 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET1') * 100",1,, -set1_xfers1,0-1 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers1_set1 * c_xfers1 * df.c_ivt_for_segment",1,, -set1_xfers2,1-2 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers2_set1 * c_xfers2 * df.c_ivt_for_segment",1,, -set1_sfers3,>2 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers3_set1 * c_xfers3 * df.c_ivt_for_segment",1,, -set1_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers1_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, -set1_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers2_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, -set1_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers3_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, -set1_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers1_set1 * (df.c_ivt_for_segment * 5)",1,, -set1_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers2_set1 * (df.c_ivt_for_segment * 5)",1,, -set1_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers3_set1 * (df.c_ivt_for_segment * 5)",1,, -set1_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set1 & (df.crDistance_set1>20) & (df.crDistance_set1<=40) * c_cr20_40 * df.c_ivt_for_segment",1,, -set1_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set1 & (df.crDistance_set1>40) * c_cr40plus * df.c_ivt_for_segment",1,, -set1_CR_drive,drive access to CR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvCR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, -set1_HR_drive,drive access to HR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvHeavy * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, -set1_FR_drive,drive access to FR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvFR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, -set1_LRT_drive,drive access to LRT,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvLRT * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, -set1_EB_drive,drive access to EB,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvExpress * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0)",1,, -set1_ASC_CR,ASC CR,"@~df.not_transit_available_set1 * c_cr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, -set1_ASC_HR,ASC HR,"@~df.not_transit_available_set1 * c_hr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, -set1_ASC_FR,ASC FR,"@~df.not_transit_available_set1 * c_fr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, -set1_ASC_LRT,ASC LRT,"@~df.not_transit_available_set1 * c_lrt_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, -#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set1 * premWithXfer_set1 * asc/3.0",1,, -# Set 2,,,,, -set2_unavailable,Shut off set if unavailable,"@df.not_transit_available_set2",,C_UNAVAILABLE, -set2_ivt,set In-Vehicle Time,"@~df.not_transit_available_set2 * df.c_ivt_for_segment * df.totalIVT_set2",,1, -set2_first_wait_time,First wait time,"@~df.not_transit_available_set2 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET2')",,1, -set2_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set2 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET2')",,1, -set2_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set2 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET2')",,1, -set2_fare,set Fare,"@~df.not_transit_available_set2 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET2') * 100",,1, -set2_xfers1,0-1 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers1_set2 * c_xfers1 * df.c_ivt_for_segment",,1, -set2_xfers2,1-2 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers2_set2 * c_xfers2 * df.c_ivt_for_segment",,1, -set2_sfers3,>2 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers3_set2 * c_xfers3 * df.c_ivt_for_segment",,1, -set2_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers1_set2 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",,1, -set2_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers2_set2 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",,1, -set2_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & (access_mode=='drive') & df.xfers3_set2 * (df.c_ivt_for_segment * 15)",,1, -set2_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers1_set2 * (df.c_ivt_for_segment * 5)",,1, -set2_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers2_set2 * (df.c_ivt_for_segment * 5)",,1, -set2_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers3_set2 * (df.c_ivt_for_segment * 5)",,1, -set2_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set2 & (df.crDistance_set2>20) & (df.crDistance_set2<=40) * c_cr20_40 * df.c_ivt_for_segment",,1, -set2_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set2 & (df.crDistance_set2>40) * c_cr40plus * df.c_ivt_for_segment",,1, -set2_CR_drive,drive access to CR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_drvCR * df.c_ivt_for_segment",,1, -set2_HR_drive,drive access to HR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_drvHeavy * df.c_ivt_for_segment",,1, -set2_FR_drive,drive access to FR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_drvFR * df.c_ivt_for_segment",,1, -set2_LRT_drive,drive access to LRT,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_drvLRT * df.c_ivt_for_segment",,1, -set2_EB_drive,drive access to EB,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) * c_drvExpress * df.c_ivt_for_segment",,1, -set2_ASC_CR,ASC CR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_cr_asc * df.c_ivt_for_segment",,1, -set2_ASC_HR,ASC HR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_hr_asc * df.c_ivt_for_segment",,1, -set2_ASC_FR,ASC FR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_fr_asc * df.c_ivt_for_segment",,1, -set2_ASC_LRT,ASC LRT,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_lrt_asc * df.c_ivt_for_segment",,1, -#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set2 * premWithXfer_set2 * asc/3.0",,1, -# Set 3,,,,, -set3_unavailable,Shut off set if unavailable,"@df.not_transit_available_set3",,,C_UNAVAILABLE -set3_ivt,set In-Vehicle Time,"@~df.not_transit_available_set3 * df.c_ivt_for_segment * df.totalIVT_set3",,,1 -set3_first_wait_time,First wait time,"@~df.not_transit_available_set3 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET3')",,,1 -set3_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set3 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET3')",,,1 -set3_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set3 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET3')",,,1 -set3_fare,set Fare,"@~df.not_transit_available_set3 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET3') * 100",,,1 -set3_xfers1,0-1 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers1_set3 * c_xfers1 * df.c_ivt_for_segment",,,1 -set3_xfers2,1-2 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers2_set3 * c_xfers2 * df.c_ivt_for_segment",,,1 -set3_sfers3,>2 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers3_set3 * c_xfers3 * df.c_ivt_for_segment",,,1 -set3_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers1_set3 * (df.c_ivt_for_segment * 15)",,,1 -set3_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers2_set3 * (df.c_ivt_for_segment * 15)",,,1 -set3_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers3_set3 * (df.c_ivt_for_segment * 15)",,,1 -set3_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers1_set3 * (df.c_ivt_for_segment * 5)",,,1 -set3_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers2_set3 * (df.c_ivt_for_segment * 5)",,,1 -set3_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers3_set3 * (df.c_ivt_for_segment * 5)",,,1 -set3_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set3 & (df.crDistance_set3>20) & (df.crDistance_set3<=40) * c_cr20_40 * df.c_ivt_for_segment",,,1 -set3_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set3 & (df.crDistance_set3>40) * c_cr40plus * df.c_ivt_for_segment",,,1 -set3_CR_drive,drive access to CR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_drvCR * df.c_ivt_for_segment",,,1 -set3_HR_drive,drive access to HR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_drvHeavy * df.c_ivt_for_segment",,,1 -set3_FR_drive,drive access to FR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_drvFR * df.c_ivt_for_segment",,,1 -set3_LRT_drive,drive access to LRT,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_drvLRT * df.c_ivt_for_segment",,,1 -set3_EB_drive,drive access to EB,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) * c_drvExpress* df.c_ivt_for_segment",,,1 -set3_ASC_CR,ASC CR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_cr_asc * df.c_ivt_for_segment",,,1 -set3_ASC_HR,ASC HR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_hr_asc * df.c_ivt_for_segment",,,1 -set3_ASC_FR,ASC FR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_fr_asc * df.c_ivt_for_segment",,,1 -set3_ASC_LRT,ASC LRT,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_lrt_asc * df.c_ivt_for_segment",,,1 -#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set3 * premWithXfer_set3 * asc/3.0",,,1 +Label,Description,Expression,set1,set2,set3 +# Set 1,,,,, +set1_unavailable,Shut off set if unavailable,@df.not_transit_available_set1,C_UNAVAILABLE,, +set1_ivt,set In-Vehicle Time,"@~df.not_transit_available_set1 * df.c_ivt_for_segment * df.totalIVT_set1",1,, +set1_first_wait_time,First wait time,"@~df.not_transit_available_set1 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET1')",1,, +set1_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set1 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET1')",1,, +set1_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set1 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET1')",1,, +set1_fare,set Fare,"@~df.not_transit_available_set1 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET1') * 100",1,, +set1_xfers1,0-1 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers1_set1 * c_xfers1 * df.c_ivt_for_segment",1,, +set1_xfers2,1-2 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers2_set1 * c_xfers2 * df.c_ivt_for_segment",1,, +set1_sfers3,>2 transfers constant,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers3_set1 * c_xfers3 * df.c_ivt_for_segment",1,, +set1_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers1_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, +set1_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers2_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, +set1_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set1 & ~df.bartOnly_set1 & df.xfers3_set1 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",1,, +set1_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers1_set1 * (df.c_ivt_for_segment * 5)",1,, +set1_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers2_set1 * (df.c_ivt_for_segment * 5)",1,, +set1_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set1 & df.bartOnly_set1 & df.xfers3_set1 * (df.c_ivt_for_segment * 5)",1,, +set1_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set1 & (df.crDistance_set1>20) & (df.crDistance_set1<=40) * c_cr20_40 * df.c_ivt_for_segment",1,, +set1_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set1 & (df.crDistance_set1>40) * c_cr40plus * df.c_ivt_for_segment",1,, +set1_CR_drive,drive access to CR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvCR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, +set1_HR_drive,drive access to HR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvHeavy * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, +set1_FR_drive,drive access to FR,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvFR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, +set1_LRT_drive,drive access to LRT,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvLRT * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, +set1_EB_drive,drive access to EB,"@~df.not_transit_available_set1 & (access_mode=='drive') * c_drvExpress * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0)",1,, +set1_ASC_CR,ASC CR,"@~df.not_transit_available_set1 * c_cr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, +set1_ASC_HR,ASC HR,"@~df.not_transit_available_set1 * c_hr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, +set1_ASC_FR,ASC FR,"@~df.not_transit_available_set1 * c_fr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, +set1_ASC_LRT,ASC LRT,"@~df.not_transit_available_set1 * c_lrt_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, +#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set1 * premWithXfer_set1 * asc/3.0",1,, +# Set 2,,,,, +set2_unavailable,Shut off set if unavailable,"@df.not_transit_available_set2",,C_UNAVAILABLE, +set2_ivt,set In-Vehicle Time,"@~df.not_transit_available_set2 * df.c_ivt_for_segment * df.totalIVT_set2",,1, +set2_first_wait_time,First wait time,"@~df.not_transit_available_set2 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET2')",,1, +set2_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set2 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET2')",,1, +set2_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set2 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET2')",,1, +set2_fare,set Fare,"@~df.not_transit_available_set2 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET2') * 100",,1, +set2_xfers1,0-1 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers1_set2 * c_xfers1 * df.c_ivt_for_segment",,1, +set2_xfers2,1-2 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers2_set2 * c_xfers2 * df.c_ivt_for_segment",,1, +set2_sfers3,>2 transfers constant,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers3_set2 * c_xfers3 * df.c_ivt_for_segment",,1, +set2_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers1_set2 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",,1, +set2_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & df.xfers2_set2 & (access_mode=='drive') * (df.c_ivt_for_segment * 15)",,1, +set2_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set2 & ~df.bartOnly_set2 & (access_mode=='drive') & df.xfers3_set2 * (df.c_ivt_for_segment * 15)",,1, +set2_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers1_set2 * (df.c_ivt_for_segment * 5)",,1, +set2_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers2_set2 * (df.c_ivt_for_segment * 5)",,1, +set2_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set2 & df.bartOnly_set2 & df.xfers3_set2 * (df.c_ivt_for_segment * 5)",,1, +set2_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set2 & (df.crDistance_set2>20) & (df.crDistance_set2<=40) * c_cr20_40 * df.c_ivt_for_segment",,1, +set2_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set2 & (df.crDistance_set2>40) * c_cr40plus * df.c_ivt_for_segment",,1, +set2_CR_drive,drive access to CR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_drvCR * df.c_ivt_for_segment",,1, +set2_HR_drive,drive access to HR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_drvHeavy * df.c_ivt_for_segment",,1, +set2_FR_drive,drive access to FR,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_drvFR * df.c_ivt_for_segment",,1, +set2_LRT_drive,drive access to LRT,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_drvLRT * df.c_ivt_for_segment",,1, +set2_EB_drive,drive access to EB,"@~df.not_transit_available_set2 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) * c_drvExpress * df.c_ivt_for_segment",,1, +set2_ASC_CR,ASC CR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_cr_asc * df.c_ivt_for_segment",,1, +set2_ASC_HR,ASC HR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_hr_asc * df.c_ivt_for_segment",,1, +set2_ASC_FR,ASC FR,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_fr_asc * df.c_ivt_for_segment",,1, +set2_ASC_LRT,ASC LRT,"@~df.not_transit_available_set2 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_lrt_asc * df.c_ivt_for_segment",,1, +#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set2 * premWithXfer_set2 * asc/3.0",,1, +# Set 3,,,,, +set3_unavailable,Shut off set if unavailable,"@df.not_transit_available_set3",,,C_UNAVAILABLE +set3_ivt,set In-Vehicle Time,"@~df.not_transit_available_set3 * df.c_ivt_for_segment * df.totalIVT_set3",,,1 +set3_first_wait_time,First wait time,"@~df.not_transit_available_set3 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET3')",,,1 +set3_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set3 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET3')",,,1 +set3_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set3 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET3')",,,1 +set3_fare,set Fare,"@~df.not_transit_available_set3 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET3') * 100",,,1 +set3_xfers1,0-1 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers1_set3 * c_xfers1 * df.c_ivt_for_segment",,,1 +set3_xfers2,1-2 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers2_set3 * c_xfers2 * df.c_ivt_for_segment",,,1 +set3_sfers3,>2 transfers constant,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & df.xfers3_set3 * c_xfers3 * df.c_ivt_for_segment",,,1 +set3_xfers1_drive,0-1 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers1_set3 * (df.c_ivt_for_segment * 15)",,,1 +set3_xfers2_drive,1-2 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers2_set3 * (df.c_ivt_for_segment * 15)",,,1 +set3_sfers3_drive,>2 transfers penalty for drive access,"@~df.not_transit_available_set3 & ~df.bartOnly_set3 & (access_mode=='drive') & df.xfers3_set3 * (df.c_ivt_for_segment * 15)",,,1 +set3_xfers1_bart,0-1 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers1_set3 * (df.c_ivt_for_segment * 5)",,,1 +set3_xfers2_bart,1-2 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers2_set3 * (df.c_ivt_for_segment * 5)",,,1 +set3_sfers3_bart,>2 transfers constant when using only BART,"@~df.not_transit_available_set3 & df.bartOnly_set3 & df.xfers3_set3 * (df.c_ivt_for_segment * 5)",,,1 +set3_cr_20_40,CR distance 20-40 miles,"@~df.not_transit_available_set3 & (df.crDistance_set3>20) & (df.crDistance_set3<=40) * c_cr20_40 * df.c_ivt_for_segment",,,1 +set3_cr_40_plus,CR distance > 40 miles,"@~df.not_transit_available_set3 & (df.crDistance_set3>40) * c_cr40plus * df.c_ivt_for_segment",,,1 +set3_CR_drive,drive access to CR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_drvCR * df.c_ivt_for_segment",,,1 +set3_HR_drive,drive access to HR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_drvHeavy * df.c_ivt_for_segment",,,1 +set3_FR_drive,drive access to FR,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_drvFR * df.c_ivt_for_segment",,,1 +set3_LRT_drive,drive access to LRT,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_drvLRT * df.c_ivt_for_segment",,,1 +set3_EB_drive,drive access to EB,"@~df.not_transit_available_set3 & (access_mode=='drive') & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) * c_drvExpress* df.c_ivt_for_segment",,,1 +set3_ASC_CR,ASC CR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_cr_asc * df.c_ivt_for_segment",,,1 +set3_ASC_HR,ASC HR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_hr_asc * df.c_ivt_for_segment",,,1 +set3_ASC_FR,ASC FR,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_fr_asc * df.c_ivt_for_segment",,,1 +set3_ASC_LRT,ASC LRT,"@~df.not_transit_available_set3 & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_lrt_asc * df.c_ivt_for_segment",,,1 +#,1/3 ASC for premium with Xfers,"@~df.not_transit_available_set3 * premWithXfer_set3 * asc/3.0",,,1 diff --git a/activitysim/examples/example_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv similarity index 99% rename from activitysim/examples/example_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv index ba5cbe1d30..f2661a897b 100755 --- a/activitysim/examples/example_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv @@ -1,44 +1,44 @@ -Description,Target,Expression -# time of day,,SHOULD BE PASSED IN -# demographic segment,, -,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" -,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" -# set1,, -,not_transit_available_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET1')==0" -Total IVT,totalIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') " -IVT on BART,bartIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')" -premium modes used,premiumMode_set1,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)" -only travel by BART,bartOnly_set1,bartIVT_set1 == totalIVT_set1 -Set contains only BART with Xfers,bartWithXfer_set1,"(bartIVT_set1 == totalIVT_set1) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set1,"(premiumMode_set1>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1')>0)" -Number transfers,transfers_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')" -0-1 transfers,xfers1_set1,(transfers_set1>0) & (transfers_set1 <=1) -1-2 transfers,xfers2_set1,(transfers_set1>1) & (transfers_set1 <=2) ->2 transfers,xfers3_set1,(transfers_set1>2) -Commuter Rail Distance in miles [35 mph],crDistance_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') * (35/60)" -# set2,, -,not_transit_available_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET2')==0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')==0)" -Total IVT,totalIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') " -IVT on BART,bartIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')" -premium modes used,premiumMode_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0)" -only travel by BART,bartOnly_set2,bartIVT_set2 == totalIVT_set2 -Set contains only BART with Xfers,bartWithXfer_set2,"(bartIVT_set2 == totalIVT_set2) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set2,"(premiumMode_set2>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2')>0)" -Number transfers,transfers_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')" -0-1 transfers,xfers1_set2,(transfers_set2>0) & (transfers_set2 <=1) -1-2 transfers,xfers2_set2,(transfers_set2>1) & (transfers_set2 <=2) ->2 transfers,xfers3_set2,(transfers_set2>2) -Commuter Rail Distance in miles [35 mph],crDistance_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') * (35/60)" -# set3,, -,not_transit_available_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET3')==0" -Total IVT,totalIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') " -IVT on BART,bartIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')" -premium modes used,premiumMode_set3,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0)" -only travel by BART,bartOnly_set3,bartIVT_set3 == totalIVT_set3 -Set contains only BART with Xfers,bartWithXfer_set3,"(bartIVT_set3 == totalIVT_set3) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set3,"(premiumMode_set3>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3')>0)" -Number transfers,transfers_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')" -0-1 transfers,xfers1_set3,(transfers_set3>0) & (transfers_set3 <=1) -1-2 transfers,xfers2_set3,(transfers_set3>1) & (transfers_set3 <=2) ->2 transfers,xfers3_set3,(transfers_set3>2) -Commuter Rail Distance in miles [35 mph],crDistance_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') * (35/60)" +Description,Target,Expression +# time of day,,SHOULD BE PASSED IN +# demographic segment,, +,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" +,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" +# set1,, +,not_transit_available_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET1')==0" +Total IVT,totalIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') " +IVT on BART,bartIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')" +premium modes used,premiumMode_set1,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)" +only travel by BART,bartOnly_set1,bartIVT_set1 == totalIVT_set1 +Set contains only BART with Xfers,bartWithXfer_set1,"(bartIVT_set1 == totalIVT_set1) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set1,"(premiumMode_set1>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1')>0)" +Number transfers,transfers_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')" +0-1 transfers,xfers1_set1,(transfers_set1>0) & (transfers_set1 <=1) +1-2 transfers,xfers2_set1,(transfers_set1>1) & (transfers_set1 <=2) +>2 transfers,xfers3_set1,(transfers_set1>2) +Commuter Rail Distance in miles [35 mph],crDistance_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') * (35/60)" +# set2,, +,not_transit_available_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET2')==0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')==0)" +Total IVT,totalIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') " +IVT on BART,bartIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')" +premium modes used,premiumMode_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0)" +only travel by BART,bartOnly_set2,bartIVT_set2 == totalIVT_set2 +Set contains only BART with Xfers,bartWithXfer_set2,"(bartIVT_set2 == totalIVT_set2) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set2,"(premiumMode_set2>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2')>0)" +Number transfers,transfers_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')" +0-1 transfers,xfers1_set2,(transfers_set2>0) & (transfers_set2 <=1) +1-2 transfers,xfers2_set2,(transfers_set2>1) & (transfers_set2 <=2) +>2 transfers,xfers3_set2,(transfers_set2>2) +Commuter Rail Distance in miles [35 mph],crDistance_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') * (35/60)" +# set3,, +,not_transit_available_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET3')==0" +Total IVT,totalIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') " +IVT on BART,bartIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')" +premium modes used,premiumMode_set3,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0)" +only travel by BART,bartOnly_set3,bartIVT_set3 == totalIVT_set3 +Set contains only BART with Xfers,bartWithXfer_set3,"(bartIVT_set3 == totalIVT_set3) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set3,"(premiumMode_set3>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3')>0)" +Number transfers,transfers_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')" +0-1 transfers,xfers1_set3,(transfers_set3>0) & (transfers_set3 <=1) +1-2 transfers,xfers2_set3,(transfers_set3>1) & (transfers_set3 <=2) +>2 transfers,xfers3_set3,(transfers_set3>2) +Commuter Rail Distance in miles [35 mph],crDistance_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') * (35/60)" diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv similarity index 98% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv rename to activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv index 64a0a71559..294cb95ede 100755 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv +++ b/activitysim/examples/placeholder_multiple_zone/configs_3_zone_marin/tvpb_utility_walk_maz_tap.csv @@ -1,4 +1,4 @@ -Label,Description,Expression,utility -#,,,FIXME column values shouldn't ever be na if different moides have different tables? -#util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 -util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walk * df.WALK_TRANSIT_DIST*(60/walk_speed)",1 +Label,Description,Expression,utility +#,,,FIXME column values shouldn't ever be na if different moides have different tables? +#util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 +util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walk * df.WALK_TRANSIT_DIST*(60/walk_speed)",1 diff --git a/activitysim/examples/example_mtc/data/households.csv b/activitysim/examples/placeholder_multiple_zone/data/households.csv similarity index 100% rename from activitysim/examples/example_mtc/data/households.csv rename to activitysim/examples/placeholder_multiple_zone/data/households.csv diff --git a/activitysim/examples/example_multiple_zone/data/land_use.csv b/activitysim/examples/placeholder_multiple_zone/data/land_use.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data/land_use.csv rename to activitysim/examples/placeholder_multiple_zone/data/land_use.csv diff --git a/activitysim/examples/example_mtc/data/mtc_asim.h5 b/activitysim/examples/placeholder_multiple_zone/data/mtc_asim.h5 similarity index 100% rename from activitysim/examples/example_mtc/data/mtc_asim.h5 rename to activitysim/examples/placeholder_multiple_zone/data/mtc_asim.h5 diff --git a/activitysim/examples/example_mtc/data/override_hh_ids.csv b/activitysim/examples/placeholder_multiple_zone/data/override_hh_ids.csv similarity index 100% rename from activitysim/examples/example_mtc/data/override_hh_ids.csv rename to activitysim/examples/placeholder_multiple_zone/data/override_hh_ids.csv diff --git a/activitysim/examples/example_mtc/data/persons.csv b/activitysim/examples/placeholder_multiple_zone/data/persons.csv similarity index 100% rename from activitysim/examples/example_mtc/data/persons.csv rename to activitysim/examples/placeholder_multiple_zone/data/persons.csv diff --git a/activitysim/examples/example_mtc/data/skims.omx b/activitysim/examples/placeholder_multiple_zone/data/skims.omx similarity index 100% rename from activitysim/examples/example_mtc/data/skims.omx rename to activitysim/examples/placeholder_multiple_zone/data/skims.omx diff --git a/activitysim/examples/example_multiple_zone/data/households.csv b/activitysim/examples/placeholder_multiple_zone/data_1/households.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data/households.csv rename to activitysim/examples/placeholder_multiple_zone/data_1/households.csv diff --git a/activitysim/examples/example_mtc/data/land_use.csv b/activitysim/examples/placeholder_multiple_zone/data_1/land_use.csv similarity index 100% rename from activitysim/examples/example_mtc/data/land_use.csv rename to activitysim/examples/placeholder_multiple_zone/data_1/land_use.csv diff --git a/activitysim/examples/example_multiple_zone/data/persons.csv b/activitysim/examples/placeholder_multiple_zone/data_1/persons.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data/persons.csv rename to activitysim/examples/placeholder_multiple_zone/data_1/persons.csv diff --git a/activitysim/examples/example_multiple_zone/data/skims.omx b/activitysim/examples/placeholder_multiple_zone/data_1/skims.omx similarity index 100% rename from activitysim/examples/example_multiple_zone/data/skims.omx rename to activitysim/examples/placeholder_multiple_zone/data_1/skims.omx diff --git a/activitysim/examples/example_multiple_zone/data_2/.gitignore b/activitysim/examples/placeholder_multiple_zone/data_2/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/data_2/.gitignore rename to activitysim/examples/placeholder_multiple_zone/data_2/.gitignore diff --git a/activitysim/examples/example_multiple_zone/data_3/.gitignore b/activitysim/examples/placeholder_multiple_zone/data_3/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/data_3/.gitignore rename to activitysim/examples/placeholder_multiple_zone/data_3/.gitignore diff --git a/activitysim/examples/example_multiple_zone/marin_crop.py b/activitysim/examples/placeholder_multiple_zone/marin_crop.py similarity index 73% rename from activitysim/examples/example_multiple_zone/marin_crop.py rename to activitysim/examples/placeholder_multiple_zone/marin_crop.py index 26d9a53a73..bcf7b8ca10 100644 --- a/activitysim/examples/example_multiple_zone/marin_crop.py +++ b/activitysim/examples/placeholder_multiple_zone/marin_crop.py @@ -1,160 +1,173 @@ - -# crop marin tvpb example data processing to one county -# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 -# jeff doyle added code to introduce MAZ_OFFSET to avoid confusion (and detect associated errors) between zone types - -import os -import pandas as pd -import openmatrix as omx - -# counties = ["Marin" -# counties = ["San Francisco" -counties = ["Marin", "San Francisco"] - -input_dir = './data_3_marin' -output_dir = './data_3_marin/crop' -MAZ_OFFSET = 100000 - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def patch_maz(df, maz_offset): - for c in df.columns: - if c in ['MAZ', 'OMAZ', 'DMAZ', 'mgra', 'orig_mgra', 'dest_mgra']: - df[c] += maz_offset - return df - - -def read_csv(file_name): - df = pd.read_csv(input_path(file_name)) - if MAZ_OFFSET: - df = patch_maz(df, MAZ_OFFSET) - print(f"\n\n{file_name}\n{df}") - return df - - -def to_csv(df, file_name): - df.to_csv(output_path(file_name), index=False) - - -######### -# mazs = read_csv("maz_data_asim.csv") -# taps = read_csv("tap_data.csv") -# -# print(f"max maz {mazs.MAZ.max()}") -# print(f"num maz {len(mazs.MAZ.unique())}") -# print(f"num taz {len(mazs.TAZ.unique())}") -# print(f"num tap {len(taps.TAP.unique())}") -# -# num maz 5952 -# num taz 4735 -# num tap 6216 -######### - - -# 0 - get county zones - -mazs = read_csv("maz_data_asim.csv") - -mazs = mazs[mazs["CountyName"].isin(counties)] -to_csv(mazs, "maz_data_asim.csv") - -maz_taz = mazs[['MAZ', 'TAZ']] -to_csv(mazs, "maz_taz.csv") - -tazs = mazs["TAZ"].unique() -tazs.sort() -tazs_indexes = (tazs - 1).tolist() - -taps = read_csv("tap_data.csv") -taps = taps[['TAP', 'TAZ']].sort_values(by='TAP') -taps = taps[taps["TAZ"].isin(tazs)] -to_csv(taps, "tap_data.csv") - -# 1-based tap_ids -taps_indexes = (taps["TAP"] - 1).tolist() - - -# 2 - maz to tap walk, bike - -maz_tap_walk = read_csv("maz_tap_walk.csv") -maz_maz_walk = read_csv("maz_maz_walk.csv") -maz_maz_bike = read_csv("maz_maz_bike.csv") - -maz_tap_walk = maz_tap_walk[maz_tap_walk["MAZ"].isin(mazs["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"])] -maz_maz_walk = maz_maz_walk[maz_maz_walk["OMAZ"].isin(mazs["MAZ"]) & maz_maz_walk["DMAZ"].isin(mazs["MAZ"])] -maz_maz_bike = maz_maz_bike[maz_maz_bike["OMAZ"].isin(mazs["MAZ"]) & maz_maz_bike["DMAZ"].isin(mazs["MAZ"])] - -to_csv(maz_tap_walk, "maz_tap_walk.csv") -to_csv(maz_maz_walk, "maz_maz_walk.csv") -to_csv(maz_maz_bike, "maz_maz_bike.csv") - - -tap_lines = read_csv("tap_lines.csv") -tap_lines = tap_lines[tap_lines['TAP'].isin(taps["TAP"])] -to_csv(tap_lines, "tap_lines.csv") - -# taz to tap drive data - -taz_tap_drive = read_csv("maz_taz_tap_drive.csv") -taz_tap_drive = taz_tap_drive[taz_tap_drive["MAZ"].isin(mazs["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"])] -to_csv(taz_tap_drive, "maz_taz_tap_drive.csv") - - -# 3 - accessibility data - -access = read_csv("access.csv") -access = access[access["mgra"].isin(mazs["MAZ"])] -to_csv(access, "access.csv") - - -# households - -households = read_csv("households_asim.csv") -households = households[households["MAZ"].isin(mazs["MAZ"])] -to_csv(households, "households_asim.csv") - -# persons - -persons = read_csv("persons_asim.csv") -persons = persons[persons["HHID"].isin(households["HHID"])] -to_csv(persons, "persons_asim.csv") - -# tours file - -work_tours = read_csv("work_tours.csv") -work_tours = work_tours[work_tours["hh_id"].isin(households["HHID"])] -work_tours = work_tours[work_tours["orig_mgra"].isin(mazs["MAZ"]) & work_tours["dest_mgra"].isin(mazs["MAZ"])] -to_csv(work_tours, "work_tours.csv") - -# skims - -time_periods = ["AM", "EA", "EV", "MD", "PM"] -for tp in time_periods: - omx_file_name = 'HWYSKM' + tp + '_taz_rename.omx' - taz_file = omx.open_file(input_path(omx_file_name)) - taz_file_rename = omx.open_file(output_path(omx_file_name), 'w') - taz_file_rename.create_mapping('ZONE', tazs.tolist()) - for mat_name in taz_file.list_matrices(): - taz_file_rename[mat_name] = taz_file[mat_name][tazs_indexes, :][:, tazs_indexes] - print(mat_name) - taz_file.close() - taz_file_rename.close() - -for tp in time_periods: - for skim_set in ["SET1", "SET2", "SET3"]: - omx_file_name = 'transit_skims_' + tp + '_' + skim_set + '_rename.omx' - tap_file = omx.open_file(input_path(omx_file_name)) - tap_file_rename = omx.open_file(output_path(omx_file_name), 'w') - tap_file_rename.create_mapping('ZONE', taps["TAP"].tolist()) - for mat_name in tap_file.list_matrices(): - tap_file_rename[mat_name] = tap_file[mat_name][taps_indexes, :][:, taps_indexes] - print(mat_name) - tap_file.close() - tap_file_rename.close() +# crop marin tvpb example data processing to one county +# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 +# jeff doyle added code to introduce MAZ_OFFSET to avoid confusion (and detect associated errors) between zone types + +import os + +import openmatrix as omx +import pandas as pd + +# counties = ["Marin" +# counties = ["San Francisco" +counties = ["Marin", "San Francisco"] + +input_dir = "./data_3_marin" +output_dir = "./data_3_marin/crop" +MAZ_OFFSET = 100000 + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def patch_maz(df, maz_offset): + for c in df.columns: + if c in ["MAZ", "OMAZ", "DMAZ", "mgra", "orig_mgra", "dest_mgra"]: + df[c] += maz_offset + return df + + +def read_csv(file_name): + df = pd.read_csv(input_path(file_name)) + if MAZ_OFFSET: + df = patch_maz(df, MAZ_OFFSET) + print(f"\n\n{file_name}\n{df}") + return df + + +def to_csv(df, file_name): + df.to_csv(output_path(file_name), index=False) + + +######### +# mazs = read_csv("maz_data_asim.csv") +# taps = read_csv("tap_data.csv") +# +# print(f"max maz {mazs.MAZ.max()}") +# print(f"num maz {len(mazs.MAZ.unique())}") +# print(f"num taz {len(mazs.TAZ.unique())}") +# print(f"num tap {len(taps.TAP.unique())}") +# +# num maz 5952 +# num taz 4735 +# num tap 6216 +######### + + +# 0 - get county zones + +mazs = read_csv("maz_data_asim.csv") + +mazs = mazs[mazs["CountyName"].isin(counties)] +to_csv(mazs, "maz_data_asim.csv") + +maz_taz = mazs[["MAZ", "TAZ"]] +to_csv(mazs, "maz_taz.csv") + +tazs = mazs["TAZ"].unique() +tazs.sort() +tazs_indexes = (tazs - 1).tolist() + +taps = read_csv("tap_data.csv") +taps = taps[["TAP", "TAZ"]].sort_values(by="TAP") +taps = taps[taps["TAZ"].isin(tazs)] +to_csv(taps, "tap_data.csv") + +# 1-based tap_ids +taps_indexes = (taps["TAP"] - 1).tolist() + + +# 2 - maz to tap walk, bike + +maz_tap_walk = read_csv("maz_tap_walk.csv") +maz_maz_walk = read_csv("maz_maz_walk.csv") +maz_maz_bike = read_csv("maz_maz_bike.csv") + +maz_tap_walk = maz_tap_walk[ + maz_tap_walk["MAZ"].isin(mazs["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"]) +] +maz_maz_walk = maz_maz_walk[ + maz_maz_walk["OMAZ"].isin(mazs["MAZ"]) & maz_maz_walk["DMAZ"].isin(mazs["MAZ"]) +] +maz_maz_bike = maz_maz_bike[ + maz_maz_bike["OMAZ"].isin(mazs["MAZ"]) & maz_maz_bike["DMAZ"].isin(mazs["MAZ"]) +] + +to_csv(maz_tap_walk, "maz_tap_walk.csv") +to_csv(maz_maz_walk, "maz_maz_walk.csv") +to_csv(maz_maz_bike, "maz_maz_bike.csv") + + +tap_lines = read_csv("tap_lines.csv") +tap_lines = tap_lines[tap_lines["TAP"].isin(taps["TAP"])] +to_csv(tap_lines, "tap_lines.csv") + +# taz to tap drive data + +taz_tap_drive = read_csv("maz_taz_tap_drive.csv") +taz_tap_drive = taz_tap_drive[ + taz_tap_drive["MAZ"].isin(mazs["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"]) +] +to_csv(taz_tap_drive, "maz_taz_tap_drive.csv") + + +# 3 - accessibility data + +access = read_csv("access.csv") +access = access[access["mgra"].isin(mazs["MAZ"])] +to_csv(access, "access.csv") + + +# households + +households = read_csv("households_asim.csv") +households = households[households["MAZ"].isin(mazs["MAZ"])] +to_csv(households, "households_asim.csv") + +# persons + +persons = read_csv("persons_asim.csv") +persons = persons[persons["HHID"].isin(households["HHID"])] +to_csv(persons, "persons_asim.csv") + +# tours file + +work_tours = read_csv("work_tours.csv") +work_tours = work_tours[work_tours["hh_id"].isin(households["HHID"])] +work_tours = work_tours[ + work_tours["orig_mgra"].isin(mazs["MAZ"]) + & work_tours["dest_mgra"].isin(mazs["MAZ"]) +] +to_csv(work_tours, "work_tours.csv") + +# skims + +time_periods = ["AM", "EA", "EV", "MD", "PM"] +for tp in time_periods: + omx_file_name = "HWYSKM" + tp + "_taz_rename.omx" + taz_file = omx.open_file(input_path(omx_file_name)) + taz_file_rename = omx.open_file(output_path(omx_file_name), "w") + taz_file_rename.create_mapping("ZONE", tazs.tolist()) + for mat_name in taz_file.list_matrices(): + taz_file_rename[mat_name] = taz_file[mat_name][tazs_indexes, :][:, tazs_indexes] + print(mat_name) + taz_file.close() + taz_file_rename.close() + +for tp in time_periods: + for skim_set in ["SET1", "SET2", "SET3"]: + omx_file_name = "transit_skims_" + tp + "_" + skim_set + "_rename.omx" + tap_file = omx.open_file(input_path(omx_file_name)) + tap_file_rename = omx.open_file(output_path(omx_file_name), "w") + tap_file_rename.create_mapping("ZONE", taps["TAP"].tolist()) + for mat_name in tap_file.list_matrices(): + tap_file_rename[mat_name] = tap_file[mat_name][taps_indexes, :][ + :, taps_indexes + ] + print(mat_name) + tap_file.close() + tap_file_rename.close() diff --git a/activitysim/examples/example_multiple_zone/marin_fix.py b/activitysim/examples/placeholder_multiple_zone/marin_fix.py similarity index 83% rename from activitysim/examples/example_multiple_zone/marin_fix.py rename to activitysim/examples/placeholder_multiple_zone/marin_fix.py index 6cc1b08d9e..55ad498a72 100644 --- a/activitysim/examples/example_multiple_zone/marin_fix.py +++ b/activitysim/examples/placeholder_multiple_zone/marin_fix.py @@ -2,11 +2,14 @@ # so data input files look 'realistic' - and that work is done instaed by 'import_tours' annotation expression files import os -import pandas as pd + import openmatrix as omx +import pandas as pd -input_dir = './data_3_marin' -output_dir = './data_3_marin/fix' # don't overwrite - but these files shold replace 'oritinals' +input_dir = "./data_3_marin" +output_dir = ( + "./data_3_marin/fix" # don't overwrite - but these files shold replace 'oritinals' +) def input_path(filenane): @@ -20,8 +23,8 @@ def output_path(filenane): # 0 - get county zones mazs = pd.read_csv(input_path("maz_data_asim.csv")) -del mazs['zone_id'] -del mazs['county_id'] +del mazs["zone_id"] +del mazs["county_id"] mazs.to_csv(output_path("maz_data_asim.csv"), index=False) tazs = mazs["TAZ"].unique() @@ -44,9 +47,9 @@ def output_path(filenane): maz_maz_walk = pd.read_csv(input_path("maz_maz_walk.csv")) maz_maz_bike = pd.read_csv(input_path("maz_maz_bike.csv")) -del maz_tap_walk['TAP.1'] -del maz_maz_walk['DMAZ.1'] -del maz_maz_bike['DMAZ.1'] +del maz_tap_walk["TAP.1"] +del maz_maz_walk["DMAZ.1"] +del maz_maz_bike["DMAZ.1"] maz_tap_walk.to_csv(output_path("maz_tap_walk.csv"), index=False) maz_maz_walk.to_csv(output_path("maz_maz_walk.csv"), index=False) @@ -55,7 +58,7 @@ def output_path(filenane): # 3 - accessibility data access = pd.read_csv(input_path("access.csv")) -del access['zone_id'] +del access["zone_id"] access.to_csv(output_path("access.csv"), index=False) # 4 - maz to tap drive data @@ -67,17 +70,17 @@ def output_path(filenane): # 5 - households households = pd.read_csv(input_path("households_asim.csv")) -del households['home_zone_id'] -del households['household_id'] +del households["home_zone_id"] +del households["household_id"] households.to_csv(output_path("households_asim.csv"), index=False) # 6 - persons persons = pd.read_csv(input_path("persons_asim.csv")) -del persons['person_id'] -del persons['household_id'] -del persons['is_university'] +del persons["person_id"] +del persons["household_id"] +del persons["is_university"] persons.to_csv(output_path("persons_asim.csv"), index=False) # 7 - tours file diff --git a/activitysim/examples/example_multiple_zone/marin_work_tour_mode_choice_data.py b/activitysim/examples/placeholder_multiple_zone/marin_work_tour_mode_choice_data.py similarity index 72% rename from activitysim/examples/example_multiple_zone/marin_work_tour_mode_choice_data.py rename to activitysim/examples/placeholder_multiple_zone/marin_work_tour_mode_choice_data.py index f79e35d88e..e31212549c 100644 --- a/activitysim/examples/example_multiple_zone/marin_work_tour_mode_choice_data.py +++ b/activitysim/examples/placeholder_multiple_zone/marin_work_tour_mode_choice_data.py @@ -1,9 +1,8 @@ - # marin tvpb example data processing # Ben Stabler, ben.stabler@rsginc.com, 09/17/20 -import pandas as pd import openmatrix as omx +import pandas as pd # command to run the underdevelopment example # python simulation.py -c configs_3_zone_marin -d data_3_marin -o output_3_marin @@ -14,8 +13,8 @@ time_periods = ["AM", "EA", "EV", "MD", "PM"] for tp in time_periods: - taz_file = omx.open_file('HWYSKM' + tp + '_taz.omx') - taz_file_rename = omx.open_file('HWYSKM' + tp + '_taz_rename.omx', 'w') + taz_file = omx.open_file("HWYSKM" + tp + "_taz.omx") + taz_file_rename = omx.open_file("HWYSKM" + tp + "_taz_rename.omx", "w") for mat_name in taz_file.list_matrices(): taz_file_rename[mat_name + "__" + tp] = taz_file[mat_name][:] print(mat_name + "__" + tp) @@ -24,21 +23,37 @@ for tp in time_periods: for skim_set in ["SET1", "SET2", "SET3"]: - tap_file = omx.open_file('transit_skims_' + tp + '_' + skim_set + '.omx') - tap_file_rename = omx.open_file('transit_skims_' + tp + '_' + skim_set + '_rename.omx', 'w') + tap_file = omx.open_file("transit_skims_" + tp + "_" + skim_set + ".omx") + tap_file_rename = omx.open_file( + "transit_skims_" + tp + "_" + skim_set + "_rename.omx", "w" + ) for mat_name in tap_file.list_matrices(): - tap_file_rename[mat_name + "_" + skim_set + "__" + tp] = tap_file[mat_name][:] - print(mat_name + '_' + skim_set + "__" + tp) + tap_file_rename[mat_name + "_" + skim_set + "__" + tp] = tap_file[mat_name][ + : + ] + print(mat_name + "_" + skim_set + "__" + tp) tap_file.close() tap_file_rename.close() # 2 - nearby skims need headers -maz_tap_walk = pd.read_csv("2015_test_2019_02_13_Part3/skims/ped_distance_maz_tap.txt", header=None) -maz_maz_walk = pd.read_csv("2015_test_2019_02_13_Part3/skims/ped_distance_maz_maz.txt", header=None) -maz_maz_bike = pd.read_csv("2015_test_2019_02_13_Part3/skims/bike_distance_maz_maz.txt", header=None) - -maz_tap_walk.columns = ["MAZ", "TAP", "TAP", "WALK_TRANSIT_GEN_COST", "WALK_TRANSIT_DIST"] +maz_tap_walk = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/ped_distance_maz_tap.txt", header=None +) +maz_maz_walk = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/ped_distance_maz_maz.txt", header=None +) +maz_maz_bike = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/bike_distance_maz_maz.txt", header=None +) + +maz_tap_walk.columns = [ + "MAZ", + "TAP", + "TAP", + "WALK_TRANSIT_GEN_COST", + "WALK_TRANSIT_DIST", +] maz_maz_walk.columns = ["OMAZ", "DMAZ", "DMAZ", "WALK_GEN_COST", "WALK_DIST"] maz_maz_bike.columns = ["OMAZ", "DMAZ", "DMAZ", "BIKE_GEN_COST", "BIKE_DIST"] @@ -46,7 +61,9 @@ maz_maz_walk["WALK_DIST"] = maz_maz_walk["WALK_DIST"] / 5280 # miles maz_maz_bike["BIKE_DIST"] = maz_maz_bike["BIKE_DIST"] / 5280 # miles -maz_tap_walk[["MAZ", "TAP", "WALK_TRANSIT_DIST"]].to_csv("maz_tap_walk.csv", index=False) +maz_tap_walk[["MAZ", "TAP", "WALK_TRANSIT_DIST"]].to_csv( + "maz_tap_walk.csv", index=False +) maz_maz_walk[["OMAZ", "DMAZ", "WALK_DIST"]].to_csv("maz_maz_walk.csv", index=False) maz_maz_bike[["OMAZ", "DMAZ", "BIKE_DIST"]].to_csv("maz_maz_bike.csv", index=False) @@ -81,22 +98,28 @@ taz_tap_drive = pd.read_csv("2015_test_2019_02_13_Part3/skims/drive_maz_taz_tap.csv") -taz_tap_drive = taz_tap_drive.pivot_table(index=["FTAZ", "TTAP"], values=['DTIME', 'DDIST', "WDIST"], fill_value=0) +taz_tap_drive = taz_tap_drive.pivot_table( + index=["FTAZ", "TTAP"], values=["DTIME", "DDIST", "WDIST"], fill_value=0 +) taz_tap_drive.columns = list(map("".join, taz_tap_drive.columns)) taz_tap_drive = taz_tap_drive.reset_index() taz_tap_drive = taz_tap_drive.set_index("FTAZ") taz_tap_drive["TAP"] = taz_tap_drive["TTAP"] -taz_tap_drive = pd.merge(mazs[["MAZ", "TAZ"]], taz_tap_drive, left_on=['TAZ'], right_on=['FTAZ']) -taz_tap_drive[["MAZ", "TAP", "DDIST", "DTIME", "WDIST"]].to_csv("maz_taz_tap_drive.csv", index=False) +taz_tap_drive = pd.merge( + mazs[["MAZ", "TAZ"]], taz_tap_drive, left_on=["TAZ"], right_on=["FTAZ"] +) +taz_tap_drive[["MAZ", "TAP", "DDIST", "DTIME", "WDIST"]].to_csv( + "maz_taz_tap_drive.csv", index=False +) # 6 - tours file, we just need work tours itour = pd.read_csv("2015_test_2019_02_13/ctramp_output/indivTourData_3.csv") work_tours = itour[itour["tour_purpose"] == "Work"] -work_tours["tour_id"] = range(1, len(work_tours)+1) +work_tours["tour_id"] = range(1, len(work_tours) + 1) work_tours["household_id"] = work_tours["hh_id"] work_tours = work_tours.set_index("tour_id", drop=False) @@ -136,13 +159,13 @@ # 9 - replace existing pipeline tables for restart for now # run simple three zone example and get output pipeline and then replace tables before tour mode choice -pipeline = pd.io.pytables.HDFStore('pipeline.h5') +pipeline = pd.io.pytables.HDFStore("pipeline.h5") pipeline.keys() -pipeline['/accessibility/compute_accessibility'] = access # index zone_id -pipeline['/households/joint_tour_frequency'] = households # index household_id -pipeline['/persons/non_mandatory_tour_frequency'] = persons # index person_id -pipeline['/land_use/initialize_landuse'] = mazs # index zone_id -pipeline['/tours/non_mandatory_tour_scheduling'] = work_tours # index tour_id +pipeline["/accessibility/compute_accessibility"] = access # index zone_id +pipeline["/households/joint_tour_frequency"] = households # index household_id +pipeline["/persons/non_mandatory_tour_frequency"] = persons # index person_id +pipeline["/land_use/initialize_landuse"] = mazs # index zone_id +pipeline["/tours/non_mandatory_tour_scheduling"] = work_tours # index tour_id pipeline.close() diff --git a/activitysim/examples/example_multiple_zone/notes.txt b/activitysim/examples/placeholder_multiple_zone/notes.txt similarity index 89% rename from activitysim/examples/example_multiple_zone/notes.txt rename to activitysim/examples/placeholder_multiple_zone/notes.txt index 1f119fd213..d1d0277463 100644 --- a/activitysim/examples/example_multiple_zone/notes.txt +++ b/activitysim/examples/placeholder_multiple_zone/notes.txt @@ -1,8 +1,8 @@ # for the mtctm1 fudged examples, depending on where you are, run: # from top level activitysim repo: -python activitysim/examples/example_multiple_zone/two_zone_example_data.py -python activitysim/examples/example_multiple_zone/three_zone_example_data.py +python activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py +python activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py # or from this directory: python two_zone_example_data.py @@ -12,7 +12,7 @@ python simulation.py -c configs_local -c configs_1_zone -c configs -o output_1 python simulation.py -c configs_local -c configs_2_zone -c configs -d data_2 -o output_2 python simulation.py -c configs_local -c configs_3_zone -c configs -d data_3 -o output_3 -pytest -x activitysim/examples/example_multiple_zone/test/ +pytest -x activitysim/examples/placeholder_multiple_zone/test/ # for the marin data diff --git a/activitysim/examples/example_multiple_zone/output/mem.csv b/activitysim/examples/placeholder_multiple_zone/output/mem.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/output/mem.csv rename to activitysim/examples/placeholder_multiple_zone/output/mem.csv diff --git a/activitysim/examples/example_multiple_zone/output/pipeline.h5 b/activitysim/examples/placeholder_multiple_zone/output/pipeline.h5 similarity index 100% rename from activitysim/examples/example_multiple_zone/output/pipeline.h5 rename to activitysim/examples/placeholder_multiple_zone/output/pipeline.h5 diff --git a/activitysim/examples/example_arc/test/output/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_1/.gitignore similarity index 100% rename from activitysim/examples/example_arc/test/output/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_1/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_1/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_1/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_1/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_1/cache/.gitignore diff --git a/activitysim/examples/example_arc/output/log/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_1/trace/.gitignore similarity index 100% rename from activitysim/examples/example_arc/output/log/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_1/trace/.gitignore diff --git a/activitysim/examples/example_marin/output/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_2/.gitignore similarity index 100% rename from activitysim/examples/example_marin/output/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_2/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_2/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_2/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_2/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_2/cache/.gitignore diff --git a/activitysim/examples/example_arc/output/trace/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_2/trace/.gitignore similarity index 100% rename from activitysim/examples/example_arc/output/trace/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_2/trace/.gitignore diff --git a/activitysim/examples/example_marin/test/output/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3/.gitignore similarity index 100% rename from activitysim/examples/example_marin/test/output/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3/.gitignore diff --git a/activitysim/examples/example_arc/output/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3/cache/.gitignore similarity index 100% rename from activitysim/examples/example_arc/output/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3/cache/.gitignore diff --git a/activitysim/examples/example_arc/test/output/trace/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3/trace/.gitignore similarity index 100% rename from activitysim/examples/example_arc/test/output/trace/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3/trace/.gitignore diff --git a/activitysim/examples/example_mtc/test/output/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/test/output/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/.gitignore diff --git a/activitysim/examples/example_arc/test/output/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/cache/.gitignore similarity index 100% rename from activitysim/examples/example_arc/test/output/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/cache/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_example_marin_mp/log/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/log/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_example_marin_mp/log/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/log/.gitignore diff --git a/activitysim/examples/example_marin/output/log/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/trace/.gitignore similarity index 100% rename from activitysim/examples/example_marin/output/log/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_example_marin_mp/trace/.gitignore diff --git a/activitysim/examples/example_mtc_extended/output/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_mp/.gitignore similarity index 100% rename from activitysim/examples/example_mtc_extended/output/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_mp/.gitignore diff --git a/activitysim/examples/example_marin/output/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_mp/cache/.gitignore similarity index 100% rename from activitysim/examples/example_marin/output/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_mp/cache/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_mp/log/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_mp/log/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_mp/log/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_mp/log/.gitignore diff --git a/activitysim/examples/example_marin/output/trace/.gitignore b/activitysim/examples/placeholder_multiple_zone/output_3_mp/trace/.gitignore similarity index 100% rename from activitysim/examples/example_marin/output/trace/.gitignore rename to activitysim/examples/placeholder_multiple_zone/output_3_mp/trace/.gitignore diff --git a/activitysim/examples/example_multiple_zone/scripts/notes.txt b/activitysim/examples/placeholder_multiple_zone/scripts/notes.txt similarity index 72% rename from activitysim/examples/example_multiple_zone/scripts/notes.txt rename to activitysim/examples/placeholder_multiple_zone/scripts/notes.txt index 3a487586e4..f6eb111363 100644 --- a/activitysim/examples/example_multiple_zone/scripts/notes.txt +++ b/activitysim/examples/placeholder_multiple_zone/scripts/notes.txt @@ -2,8 +2,8 @@ # for the mtctm1 fudged examples, depending on where you are, run: # from top level activitysim repo: -python activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py -python activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py +python activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py +python activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py # or from this directory: python two_zone_example_data.py diff --git a/activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py similarity index 58% rename from activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py rename to activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py index bc49a2a0ef..248f9e2f45 100644 --- a/activitysim/examples/example_multiple_zone/scripts/three_zone_example_data.py +++ b/activitysim/examples/placeholder_multiple_zone/scripts/three_zone_example_data.py @@ -12,16 +12,15 @@ import os import sys -import pandas as pd import numpy as np import openmatrix as omx - +import pandas as pd # Create example directory -input_data = os.path.join(os.path.dirname(__file__), '../data_1') -output_data = os.path.join(os.path.dirname(__file__), '../data_3') +input_data = os.path.join(os.path.dirname(__file__), "../data_1") +output_data = os.path.join(os.path.dirname(__file__), "../data_3") MAZ_MULTIPLIER = 1000 TAP_OFFSET = 90000 @@ -31,7 +30,7 @@ if os.path.exists(output_data): # shutil.rmtree(output_data) # os.makedirs(output_data) - file_type = ('csv', 'omx') + file_type = ("csv", "omx") for file_name in os.listdir(output_data): if file_name.endswith(file_type): os.unlink(os.path.join(output_data, file_name)) @@ -40,14 +39,14 @@ # ### Convert tazs to mazs and add transit access distance by mode -land_use = pd.read_csv(os.path.join(input_data, 'land_use.csv')) +land_use = pd.read_csv(os.path.join(input_data, "land_use.csv")) -if 'ZONE' in land_use.columns: - land_use.insert(loc=0, column='MAZ', value=land_use.ZONE) - land_use.insert(loc=1, column='TAZ', value=land_use.ZONE) - land_use.drop(columns=['ZONE'], inplace=True) +if "ZONE" in land_use.columns: + land_use.insert(loc=0, column="MAZ", value=land_use.ZONE) + land_use.insert(loc=1, column="TAZ", value=land_use.ZONE) + land_use.drop(columns=["ZONE"], inplace=True) else: - land_use.insert(loc=0, column='MAZ', value=land_use.TAZ) + land_use.insert(loc=0, column="MAZ", value=land_use.TAZ) land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) @@ -57,32 +56,32 @@ shortWalk = 0.333 # the tm1 example assumes this distance for transit access longWalk = 0.667 -land_use['access_dist_transit'] = shortWalk +land_use["access_dist_transit"] = shortWalk # FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone # land_use['access_dist_transit'] =\ # np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) -land_use.to_csv(os.path.join(output_data, 'land_use.csv'), index=False) +land_use.to_csv(os.path.join(output_data, "land_use.csv"), index=False) # ### Put households in mazs instead of tazs -households = pd.read_csv(os.path.join(input_data, 'households.csv')) -households.rename(columns={'TAZ': 'MAZ'}, inplace=True) +households = pd.read_csv(os.path.join(input_data, "households.csv")) +households.rename(columns={"TAZ": "MAZ"}, inplace=True) households.MAZ *= MAZ_MULTIPLIER -households.to_csv(os.path.join(output_data, 'households.csv'), index=False) +households.to_csv(os.path.join(output_data, "households.csv"), index=False) -persons = pd.read_csv(os.path.join(input_data, 'persons.csv')) -persons.to_csv(os.path.join(output_data, 'persons.csv'), index=False) +persons = pd.read_csv(os.path.join(input_data, "persons.csv")) +persons.to_csv(os.path.join(output_data, "persons.csv"), index=False) # ### Create maz file # one row per maz, currentlyt he only attribute it its containing TAZ # FIXME - not clear we need this -maz_df = land_use[['MAZ', 'TAZ']] -maz_df.to_csv(os.path.join(output_data, 'maz.csv'), index=False) -print("maz.csv\n%s" % (maz_df.head(6), )) +maz_df = land_use[["MAZ", "TAZ"]] +maz_df.to_csv(os.path.join(output_data, "maz.csv"), index=False) +print("maz.csv\n%s" % (maz_df.head(6),)) # ### Create taz file @@ -93,10 +92,10 @@ # 7 taz_zone_ids = np.unique(land_use.TAZ) -taz_zone_indexes = (taz_zone_ids-1) -taz_df = pd.DataFrame({'TAZ': taz_zone_ids}, index=taz_zone_indexes) -taz_df.to_csv(os.path.join(output_data, 'taz.csv'), index=False) -print("taz.csv\n%s" % (taz_df.head(6), )) +taz_zone_indexes = taz_zone_ids - 1 +taz_df = pd.DataFrame({"TAZ": taz_zone_ids}, index=taz_zone_indexes) +taz_df.to_csv(os.path.join(output_data, "taz.csv"), index=False) +print("taz.csv\n%s" % (taz_df.head(6),)) # currently this has only the one TAZ column, but the legacy table had: # index TAZ @@ -111,23 +110,26 @@ max_distance_for_bike = 5.0 -with omx.open_file(os.path.join(input_data, 'skims.omx')) as ur_skims: +with omx.open_file(os.path.join(input_data, "skims.omx")) as ur_skims: # create df with DIST column - maz_to_maz = pd.DataFrame(ur_skims['DIST']).unstack().reset_index() - maz_to_maz.columns = ['OMAZ', 'DMAZ', 'DIST'] - maz_to_maz['OMAZ'] = (maz_to_maz['OMAZ'] + 1) * MAZ_MULTIPLIER - maz_to_maz['DMAZ'] = (maz_to_maz['DMAZ'] + 1) * MAZ_MULTIPLIER + maz_to_maz = pd.DataFrame(ur_skims["DIST"]).unstack().reset_index() + maz_to_maz.columns = ["OMAZ", "DMAZ", "DIST"] + maz_to_maz["OMAZ"] = (maz_to_maz["OMAZ"] + 1) * MAZ_MULTIPLIER + maz_to_maz["DMAZ"] = (maz_to_maz["DMAZ"] + 1) * MAZ_MULTIPLIER # additional columns - for c in ['DISTBIKE', 'DISTWALK']: + for c in ["DISTBIKE", "DISTWALK"]: maz_to_maz[c] = pd.DataFrame(ur_skims[c]).unstack().values - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_walk, ['OMAZ', 'DMAZ', 'DISTWALK']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_walk.csv'), index=False) + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_walk, ["OMAZ", "DMAZ", "DISTWALK"] + ].to_csv(os.path.join(output_data, "maz_to_maz_walk.csv"), index=False) - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_bike, ['OMAZ', 'DMAZ', 'DIST', 'DISTBIKE']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_bike.csv'), index=False) + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_bike, + ["OMAZ", "DMAZ", "DIST", "DISTBIKE"], + ].to_csv(os.path.join(output_data, "maz_to_maz_bike.csv"), index=False) ######## @@ -143,13 +145,16 @@ tap_zone_labels = taz_zone_labels + TAP_OFFSET maz_zone_labels = taz_zone_labels * MAZ_MULTIPLIER tap_df = pd.DataFrame({"TAP": tap_zone_labels, "MAZ": maz_zone_labels}) -tap_df.to_csv(os.path.join(output_data, 'tap.csv'), index=False) +tap_df.to_csv(os.path.join(output_data, "tap.csv"), index=False) # create taz_z3 and tap skims -with \ - omx.open_file(os.path.join(input_data, 'skims.omx'), "r") as ur_skims, \ - omx.open_file(os.path.join(output_data, 'taz_skims.omx'), "w") as output_taz_skims_file, \ - omx.open_file(os.path.join(output_data, 'tap_skims.omx'), "w") as output_tap_skims_file: +with omx.open_file( + os.path.join(input_data, "skims.omx"), "r" +) as ur_skims, omx.open_file( + os.path.join(output_data, "taz_skims.omx"), "w" +) as output_taz_skims_file, omx.open_file( + os.path.join(output_data, "tap_skims.omx"), "w" +) as output_tap_skims_file: for skim_name in ur_skims.list_matrices(): @@ -158,7 +163,7 @@ # print("skim:", skim_name, ": shape", str(new_skim.shape)) mode_code = skim_name[0:3] - is_tap_mode = (mode_code == "DRV" or mode_code == "WLK") + is_tap_mode = mode_code == "DRV" or mode_code == "WLK" is_taz_mode = not is_tap_mode if is_tap_mode: @@ -170,16 +175,16 @@ egress_mode = skim_name[8:11] datum_name = skim_name[12:-4] tod = skim_name[-2:] - if access_mode == 'WLK' and egress_mode == 'WLK': - for suffix in ['FAST', 'SHORT', 'CHEAP']: - if (suffix == 'FAST') and (datum_name == 'TOTIVT'): - random_variation = np.random.rand(*new_skim.shape)*-0.1 + 1.0 - elif (suffix == 'CHEAP') and (datum_name == 'FAR'): + if access_mode == "WLK" and egress_mode == "WLK": + for suffix in ["FAST", "SHORT", "CHEAP"]: + if (suffix == "FAST") and (datum_name == "TOTIVT"): + random_variation = np.random.rand(*new_skim.shape) * -0.1 + 1.0 + elif (suffix == "CHEAP") and (datum_name == "FAR"): random_variation = np.random.rand(*new_skim.shape) * -0.5 + 1.0 else: random_variation = np.ones_like(new_skim) - tap_skim_name = f'{transit_mode}_{datum_name}_{suffix}__{tod}' + tap_skim_name = f"{transit_mode}_{datum_name}_{suffix}__{tod}" output_tap_skims_file[tap_skim_name] = new_skim * random_variation # print(f"tap skim: {skim_name} tap_skim_name: {tap_skim_name}, " # f"shape: {str(output_tap_skims_file.shape())}") @@ -191,19 +196,21 @@ output_taz_skims_file.create_mapping("taz", taz_zone_labels) output_tap_skims_file.create_mapping("tap", tap_zone_labels) -print("taz skims created: " + os.path.join(output_data, 'taz_skims.omx')) -print("tap skims created: " + os.path.join(output_data, 'tap_skims.omx')) +print("taz skims created: " + os.path.join(output_data, "taz_skims.omx")) +print("tap skims created: " + os.path.join(output_data, "tap_skims.omx")) # Create maz to tap distance file by mode -with omx.open_file(os.path.join(input_data, 'skims.omx')) as ur_skims: - distance_table = pd.DataFrame(np.transpose(ur_skims['DIST'])).unstack() +with omx.open_file(os.path.join(input_data, "skims.omx")) as ur_skims: + distance_table = pd.DataFrame(np.transpose(ur_skims["DIST"])).unstack() distance_table = distance_table.reset_index() distance_table.columns = ["MAZ", "TAP", "DIST"] - distance_table['drive_time'] = pd.DataFrame(np.transpose(ur_skims['SOV_TIME__MD'])).unstack().values + distance_table["drive_time"] = ( + pd.DataFrame(np.transpose(ur_skims["SOV_TIME__MD"])).unstack().values + ) - for c in ['DISTBIKE', 'DISTWALK']: + for c in ["DISTBIKE", "DISTWALK"]: distance_table[c] = pd.DataFrame(np.transpose(ur_skims[c])).unstack().values walk_speed = 3 @@ -225,16 +232,19 @@ distance_table = distance_table[distance_table["TAP"].isin(tap_zone_labels)] -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_walk, - ['MAZ', 'TAP', 'DISTWALK', 'walk_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_walk.csv'), index=False) +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_walk, + ["MAZ", "TAP", "DISTWALK", "walk_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_walk.csv"), index=False) -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_bike, - ['MAZ', 'TAP', 'DISTBIKE', 'bike_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_bike.csv'), index=False) +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_bike, + ["MAZ", "TAP", "DISTBIKE", "bike_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_bike.csv"), index=False) -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_drive, - ['MAZ', 'TAP', 'DIST', 'drive_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_drive.csv'), index=False) +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_drive, + ["MAZ", "TAP", "DIST", "drive_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_drive.csv"), index=False) sys.exit(0) diff --git a/activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py similarity index 57% rename from activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py rename to activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py index 3cd7b51a40..0b247905f5 100644 --- a/activitysim/examples/example_multiple_zone/scripts/two_zone_example_data.py +++ b/activitysim/examples/placeholder_multiple_zone/scripts/two_zone_example_data.py @@ -12,15 +12,14 @@ import os import sys -import pandas as pd import numpy as np import openmatrix as omx - +import pandas as pd # Create example directory -input_data = os.path.join(os.path.dirname(__file__), '../data_1') -output_data = os.path.join(os.path.dirname(__file__), '../data_2') +input_data = os.path.join(os.path.dirname(__file__), "../data_1") +output_data = os.path.join(os.path.dirname(__file__), "../data_2") MAZ_MULTIPLIER = 1000 # ### initialize output data directory @@ -29,7 +28,7 @@ if os.path.exists(output_data): # shutil.rmtree(output_data) # os.makedirs(output_data) - file_type = ('csv', 'omx') + file_type = ("csv", "omx") for file_name in os.listdir(output_data): if file_name.endswith(file_type): os.unlink(os.path.join(output_data, file_name)) @@ -38,14 +37,14 @@ # ### Convert tazs to mazs and add transit access distance by mode -land_use = pd.read_csv(os.path.join(input_data, 'land_use.csv')) +land_use = pd.read_csv(os.path.join(input_data, "land_use.csv")) -if 'ZONE' in land_use.columns: - land_use.insert(loc=0, column='MAZ', value=land_use.ZONE) - land_use.insert(loc=1, column='TAZ', value=land_use.ZONE) - land_use.drop(columns=['ZONE'], inplace=True) +if "ZONE" in land_use.columns: + land_use.insert(loc=0, column="MAZ", value=land_use.ZONE) + land_use.insert(loc=1, column="TAZ", value=land_use.ZONE) + land_use.drop(columns=["ZONE"], inplace=True) else: - land_use.insert(loc=0, column='MAZ', value=land_use.TAZ) + land_use.insert(loc=0, column="MAZ", value=land_use.TAZ) land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) @@ -55,31 +54,31 @@ shortWalk = 0.333 # the tm1 example assumes this distance for transit access longWalk = 0.667 -land_use['access_dist_transit'] = shortWalk +land_use["access_dist_transit"] = shortWalk # FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone # land_use['access_dist_transit'] =\ # np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) -land_use.to_csv(os.path.join(output_data, 'land_use.csv'), index=False) +land_use.to_csv(os.path.join(output_data, "land_use.csv"), index=False) # ### Put households in mazs instead of tazs -households = pd.read_csv(os.path.join(input_data, 'households.csv')) -households.rename(columns={'TAZ': 'MAZ'}, inplace=True) +households = pd.read_csv(os.path.join(input_data, "households.csv")) +households.rename(columns={"TAZ": "MAZ"}, inplace=True) households.MAZ *= MAZ_MULTIPLIER -households.to_csv(os.path.join(output_data, 'households.csv'), index=False) +households.to_csv(os.path.join(output_data, "households.csv"), index=False) -persons = pd.read_csv(os.path.join(input_data, 'persons.csv')) -persons.to_csv(os.path.join(output_data, 'persons.csv'), index=False) +persons = pd.read_csv(os.path.join(input_data, "persons.csv")) +persons.to_csv(os.path.join(output_data, "persons.csv"), index=False) # ### Create maz correspondence file # FIXME - not clear we need this -maz_df = land_use[['MAZ', 'TAZ']] -maz_df.to_csv(os.path.join(output_data, 'maz.csv'), index=False) -print("maz.csv\n%s" % (maz_df.head(6), )) +maz_df = land_use[["MAZ", "TAZ"]] +maz_df.to_csv(os.path.join(output_data, "maz.csv"), index=False) +print("maz.csv\n%s" % (maz_df.head(6),)) # ### Create taz file @@ -90,10 +89,10 @@ # 7 new_zone_labels = np.unique(land_use.TAZ) -new_zone_indexes = (new_zone_labels-1) -taz_df = pd.DataFrame({'TAZ': new_zone_labels}, index=new_zone_indexes) -taz_df.to_csv(os.path.join(output_data, 'taz.csv'), index=False) -print("taz.csv\n%s" % (taz_df.head(6), )) +new_zone_indexes = new_zone_labels - 1 +taz_df = pd.DataFrame({"TAZ": new_zone_labels}, index=new_zone_indexes) +taz_df.to_csv(os.path.join(output_data, "taz.csv"), index=False) +print("taz.csv\n%s" % (taz_df.head(6),)) # currently this has only the one TAZ column, but the legacy table had: # index TAZ @@ -103,8 +102,11 @@ # ### Create taz skims -with omx.open_file(os.path.join(input_data, 'skims.omx'), 'r') as skims_file, \ - omx.open_file(os.path.join(output_data, 'taz_skims.omx'), "w") as output_skims_file: +with omx.open_file( + os.path.join(input_data, "skims.omx"), "r" +) as skims_file, omx.open_file( + os.path.join(output_data, "taz_skims.omx"), "w" +) as output_skims_file: skims = skims_file.list_matrices() num_zones = skims_file.shape()[0] @@ -122,7 +124,7 @@ output_skims_file.create_mapping("taz", new_zone_labels) -print("taz skims created: " + os.path.join(output_data, 'taz_skims.omx')) +print("taz skims created: " + os.path.join(output_data, "taz_skims.omx")) # ### Create maz to maz time/distance @@ -130,22 +132,25 @@ max_distance_for_bike = 5.0 -with omx.open_file(os.path.join(input_data, 'skims.omx')) as skims_file: +with omx.open_file(os.path.join(input_data, "skims.omx")) as skims_file: # create df with DIST column - maz_to_maz = pd.DataFrame(np.transpose(skims_file['DIST'])).unstack().reset_index() - maz_to_maz.columns = ['OMAZ', 'DMAZ', 'DIST'] - maz_to_maz['OMAZ'] = (maz_to_maz['OMAZ'] + 1) * MAZ_MULTIPLIER - maz_to_maz['DMAZ'] = (maz_to_maz['DMAZ'] + 1) * MAZ_MULTIPLIER + maz_to_maz = pd.DataFrame(np.transpose(skims_file["DIST"])).unstack().reset_index() + maz_to_maz.columns = ["OMAZ", "DMAZ", "DIST"] + maz_to_maz["OMAZ"] = (maz_to_maz["OMAZ"] + 1) * MAZ_MULTIPLIER + maz_to_maz["DMAZ"] = (maz_to_maz["DMAZ"] + 1) * MAZ_MULTIPLIER # additional columns - for c in ['DISTBIKE', 'DISTWALK']: + for c in ["DISTBIKE", "DISTWALK"]: maz_to_maz[c] = pd.DataFrame(np.transpose(skims_file[c])).unstack().values - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_walk, ['OMAZ', 'DMAZ', 'DISTWALK']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_walk.csv'), index=False) + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_walk, ["OMAZ", "DMAZ", "DISTWALK"] + ].to_csv(os.path.join(output_data, "maz_to_maz_walk.csv"), index=False) - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_bike, ['OMAZ', 'DMAZ', 'DIST', 'DISTBIKE']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_bike.csv'), index=False) + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_bike, + ["OMAZ", "DMAZ", "DIST", "DISTBIKE"], + ].to_csv(os.path.join(output_data, "maz_to_maz_bike.csv"), index=False) sys.exit(0) diff --git a/activitysim/examples/example_mtc_extended/test/simulation.py b/activitysim/examples/placeholder_multiple_zone/simulation.py similarity index 90% rename from activitysim/examples/example_mtc_extended/test/simulation.py rename to activitysim/examples/placeholder_multiple_zone/simulation.py index 97ca6b6483..8313dd45e7 100644 --- a/activitysim/examples/example_mtc_extended/test/simulation.py +++ b/activitysim/examples/placeholder_multiple_zone/simulation.py @@ -1,12 +1,12 @@ # ActivitySim # See full license in LICENSE.txt. -import sys import argparse +import sys from activitysim.cli.run import add_run_args, run -if __name__ == '__main__': +if __name__ == "__main__": parser = argparse.ArgumentParser() add_run_args(parser) diff --git a/activitysim/examples/example_mtc/test/configs/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs/network_los.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/network_los.yaml diff --git a/activitysim/examples/example_multiple_zone/test/configs_2_zone/settings.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_2_zone/settings.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/settings.yaml diff --git a/activitysim/examples/example_multiple_zone/test/configs_2_zone/settings_mp.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_2_zone/settings_mp.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_2_zone/settings_mp.yaml diff --git a/activitysim/examples/example_multiple_zone/test/configs_3_zone/network_los.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_3_zone/network_los.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/network_los.yaml diff --git a/activitysim/examples/example_multiple_zone/test/configs_3_zone/settings.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_3_zone/settings.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/settings.yaml diff --git a/activitysim/examples/example_multiple_zone/test/configs_3_zone/settings_mp.yaml b/activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_3_zone/settings_mp.yaml rename to activitysim/examples/placeholder_multiple_zone/test/configs_3_zone/settings_mp.yaml diff --git a/activitysim/examples/example_mtc_extended/test/output/.gitignore b/activitysim/examples/placeholder_multiple_zone/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_mtc_extended/test/output/.gitignore rename to activitysim/examples/placeholder_multiple_zone/test/output/.gitignore diff --git a/activitysim/examples/example_marin/test/output/cache/.gitignore b/activitysim/examples/placeholder_multiple_zone/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_marin/test/output/cache/.gitignore rename to activitysim/examples/placeholder_multiple_zone/test/output/cache/.gitignore diff --git a/activitysim/examples/example_marin/test/output/trace/.gitignore b/activitysim/examples/placeholder_multiple_zone/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_marin/test/output/trace/.gitignore rename to activitysim/examples/placeholder_multiple_zone/test/output/trace/.gitignore diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_tours_2_zone.csv b/activitysim/examples/placeholder_multiple_zone/test/regress/final_tours_2_zone.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/test/regress/final_tours_2_zone.csv rename to activitysim/examples/placeholder_multiple_zone/test/regress/final_tours_2_zone.csv diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_tours_3_zone.csv b/activitysim/examples/placeholder_multiple_zone/test/regress/final_tours_3_zone.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/test/regress/final_tours_3_zone.csv rename to activitysim/examples/placeholder_multiple_zone/test/regress/final_tours_3_zone.csv diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_trips_2_zone.csv b/activitysim/examples/placeholder_multiple_zone/test/regress/final_trips_2_zone.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/test/regress/final_trips_2_zone.csv rename to activitysim/examples/placeholder_multiple_zone/test/regress/final_trips_2_zone.csv diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_trips_3_zone.csv b/activitysim/examples/placeholder_multiple_zone/test/regress/final_trips_3_zone.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/test/regress/final_trips_3_zone.csv rename to activitysim/examples/placeholder_multiple_zone/test/regress/final_trips_3_zone.csv diff --git a/activitysim/examples/example_multiple_zone/simulation.py b/activitysim/examples/placeholder_multiple_zone/test/simulation.py old mode 100644 new mode 100755 similarity index 90% rename from activitysim/examples/example_multiple_zone/simulation.py rename to activitysim/examples/placeholder_multiple_zone/test/simulation.py index 97ca6b6483..8313dd45e7 --- a/activitysim/examples/example_multiple_zone/simulation.py +++ b/activitysim/examples/placeholder_multiple_zone/test/simulation.py @@ -1,12 +1,12 @@ # ActivitySim # See full license in LICENSE.txt. -import sys import argparse +import sys from activitysim.cli.run import add_run_args, run -if __name__ == '__main__': +if __name__ == "__main__": parser = argparse.ArgumentParser() add_run_args(parser) diff --git a/activitysim/examples/placeholder_multiple_zone/test/test_multiple_zone.py b/activitysim/examples/placeholder_multiple_zone/test/test_multiple_zone.py new file mode 100644 index 0000000000..c0f19d3b6f --- /dev/null +++ b/activitysim/examples/placeholder_multiple_zone/test/test_multiple_zone.py @@ -0,0 +1,122 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources +import pytest + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def example_path(dirname): + resource = os.path.join("examples", "placeholder_multiple_zone", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def mtc_example_path(dirname): + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def build_data(): + if os.environ.get("TRAVIS") != "true": + subprocess.check_call( + ["coverage", "run", example_path("scripts/two_zone_example_data.py")] + ) + subprocess.check_call( + ["coverage", "run", example_path("scripts/three_zone_example_data.py")] + ) + + +@pytest.fixture(scope="module") +def data(): + build_data() + + +def run_test(zone, multiprocess=False): + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(zone): + + # regress tours + regress_tours_df = pd.read_csv( + test_path(f"regress/final_tours_{zone}_zone.csv") + ) + tours_df = pd.read_csv(test_path("output/final_tours.csv")) + tours_df.to_csv( + test_path(f"regress/final_tours_{zone}_zone_last_run.csv"), index=False + ) + print("regress tours") + pdt.assert_frame_equal(tours_df, regress_tours_df, rtol=1e-03) + + # regress trips + regress_trips_df = pd.read_csv( + test_path(f"regress/final_trips_{zone}_zone.csv") + ) + trips_df = pd.read_csv(test_path("output/final_trips.csv")) + trips_df.to_csv( + test_path(f"regress/final_trips_{zone}_zone_last_run.csv"), index=False + ) + print("regress trips") + pdt.assert_frame_equal(trips_df, regress_trips_df, rtol=1e-03) + + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + run_args = [ + "-c", + test_path(f"configs_{zone}_zone"), + "-c", + example_path(f"configs_{zone}_zone"), + "-c", + mtc_example_path("configs"), + "-d", + example_path(f"data_{zone}"), + "-o", + test_path("output"), + ] + + if multiprocess: + run_args = run_args + ["-s", "settings_mp"] + elif zone == "3": + run_args = run_args + ["-s", "settings_static"] + + subprocess.run(["coverage", "run", "-a", file_path] + run_args, check=True) + + regress(zone) + + +def test_2_zone(data): + run_test(zone="2", multiprocess=False) + + +def test_2_zone_mp(data): + run_test(zone="2", multiprocess=True) + + +def test_3_zone(data): + # python simulation.py -c configs_3_zone -c ../configs_3_zone -c \ + # ../../prototype_mtc/configs -d ../data_3 -o output -s settings_mp + run_test(zone="3", multiprocess=False) + + +def test_3_zone_mp(data): + run_test(zone="3", multiprocess=True) + + +if __name__ == "__main__": + + build_data() + run_test(zone="2", multiprocess=False) + run_test(zone="2", multiprocess=True) + + run_test(zone="3", multiprocess=False) + run_test(zone="3", multiprocess=True) diff --git a/activitysim/examples/example_multiple_zone/three_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py similarity index 57% rename from activitysim/examples/example_multiple_zone/three_zone_example_data.py rename to activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py index 396a695ba1..9f0dae1ad7 100644 --- a/activitysim/examples/example_multiple_zone/three_zone_example_data.py +++ b/activitysim/examples/placeholder_multiple_zone/three_zone_example_data.py @@ -12,16 +12,15 @@ import os import shutil -import pandas as pd import numpy as np import openmatrix as omx - +import pandas as pd # Create example directory -input_data = os.path.join(os.path.dirname(__file__), 'data') -output_data = os.path.join(os.path.dirname(__file__), 'data_3') +input_data = os.path.join(os.path.dirname(__file__), "data") +output_data = os.path.join(os.path.dirname(__file__), "data_3") MAZ_MULTIPLIER = 1000 TAP_OFFSET = 90000 @@ -31,7 +30,7 @@ if os.path.exists(output_data): # shutil.rmtree(output_data) # os.makedirs(output_data) - file_type = ('csv', 'omx') + file_type = ("csv", "omx") for file_name in os.listdir(output_data): if file_name.endswith(file_type): os.unlink(os.path.join(output_data, file_name)) @@ -40,11 +39,11 @@ # ### Convert tazs to mazs and add transit access distance by mode -land_use = pd.read_csv(os.path.join(input_data, 'land_use.csv')) +land_use = pd.read_csv(os.path.join(input_data, "land_use.csv")) -land_use.insert(loc=0, column='MAZ', value=land_use.ZONE) -land_use.insert(loc=1, column='TAZ', value=land_use.ZONE) -land_use.drop(columns=['ZONE'], inplace=True) +land_use.insert(loc=0, column="MAZ", value=land_use.ZONE) +land_use.insert(loc=1, column="TAZ", value=land_use.ZONE) +land_use.drop(columns=["ZONE"], inplace=True) land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) @@ -54,32 +53,32 @@ shortWalk = 0.333 # the tm1 example assumes this distance for transit access longWalk = 0.667 -land_use['access_dist_transit'] = shortWalk +land_use["access_dist_transit"] = shortWalk # FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone # land_use['access_dist_transit'] =\ # np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) -land_use.to_csv(os.path.join(output_data, 'land_use.csv'), index=False) +land_use.to_csv(os.path.join(output_data, "land_use.csv"), index=False) # ### Put households in mazs instead of tazs -households = pd.read_csv(os.path.join(input_data, 'households.csv')) -households.rename(columns={'TAZ': 'MAZ'}, inplace=True) +households = pd.read_csv(os.path.join(input_data, "households.csv")) +households.rename(columns={"TAZ": "MAZ"}, inplace=True) households.MAZ *= MAZ_MULTIPLIER -households.to_csv(os.path.join(output_data, 'households.csv'), index=False) +households.to_csv(os.path.join(output_data, "households.csv"), index=False) -persons = pd.read_csv(os.path.join(input_data, 'persons.csv')) -persons.to_csv(os.path.join(output_data, 'persons.csv'), index=False) +persons = pd.read_csv(os.path.join(input_data, "persons.csv")) +persons.to_csv(os.path.join(output_data, "persons.csv"), index=False) # ### Create maz file # one row per maz, currentlyt he only attribute it its containing TAZ # FIXME - not clear we need this -maz_df = land_use[['MAZ', 'TAZ']] -maz_df.to_csv(os.path.join(output_data, 'maz.csv'), index=False) -print("maz.csv\n%s" % (maz_df.head(6), )) +maz_df = land_use[["MAZ", "TAZ"]] +maz_df.to_csv(os.path.join(output_data, "maz.csv"), index=False) +print("maz.csv\n%s" % (maz_df.head(6),)) # ### Create taz file @@ -90,10 +89,10 @@ # 7 taz_zone_ids = np.unique(land_use.TAZ) -taz_zone_indexes = (taz_zone_ids-1) -taz_df = pd.DataFrame({'TAZ': taz_zone_ids}, index=taz_zone_indexes) -taz_df.to_csv(os.path.join(output_data, 'taz.csv'), index=False) -print("taz.csv\n%s" % (taz_df.head(6), )) +taz_zone_indexes = taz_zone_ids - 1 +taz_df = pd.DataFrame({"TAZ": taz_zone_ids}, index=taz_zone_indexes) +taz_df.to_csv(os.path.join(output_data, "taz.csv"), index=False) +print("taz.csv\n%s" % (taz_df.head(6),)) # currently this has only the one TAZ column, but the legacy table had: # index TAZ @@ -108,23 +107,26 @@ max_distance_for_bike = 5.0 -with omx.open_file(os.path.join(input_data, 'skims.omx')) as ur_skims: +with omx.open_file(os.path.join(input_data, "skims.omx")) as ur_skims: # create df with DIST column - maz_to_maz = pd.DataFrame(ur_skims['DIST']).unstack().reset_index() - maz_to_maz.columns = ['OMAZ', 'DMAZ', 'DIST'] - maz_to_maz['OMAZ'] = (maz_to_maz['OMAZ'] + 1) * MAZ_MULTIPLIER - maz_to_maz['DMAZ'] = (maz_to_maz['DMAZ'] + 1) * MAZ_MULTIPLIER + maz_to_maz = pd.DataFrame(ur_skims["DIST"]).unstack().reset_index() + maz_to_maz.columns = ["OMAZ", "DMAZ", "DIST"] + maz_to_maz["OMAZ"] = (maz_to_maz["OMAZ"] + 1) * MAZ_MULTIPLIER + maz_to_maz["DMAZ"] = (maz_to_maz["DMAZ"] + 1) * MAZ_MULTIPLIER # additional columns - for c in ['DISTBIKE', 'DISTWALK']: + for c in ["DISTBIKE", "DISTWALK"]: maz_to_maz[c] = pd.DataFrame(ur_skims[c]).unstack().values - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_walk, ['OMAZ', 'DMAZ', 'DISTWALK']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_walk.csv'), index=False) + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_walk, ["OMAZ", "DMAZ", "DISTWALK"] + ].to_csv(os.path.join(output_data, "maz_to_maz_walk.csv"), index=False) - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_bike, ['OMAZ', 'DMAZ', 'DIST', 'DISTBIKE']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_bike.csv'), index=False) + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_bike, + ["OMAZ", "DMAZ", "DIST", "DISTBIKE"], + ].to_csv(os.path.join(output_data, "maz_to_maz_bike.csv"), index=False) ######## @@ -137,13 +139,16 @@ tap_zone_labels = taz_zone_labels + TAP_OFFSET maz_zone_labels = taz_zone_labels * MAZ_MULTIPLIER tap_df = pd.DataFrame({"TAP": tap_zone_labels, "MAZ": maz_zone_labels}) -tap_df.to_csv(os.path.join(output_data, 'tap.csv'), index=False) +tap_df.to_csv(os.path.join(output_data, "tap.csv"), index=False) # create taz_z3 and tap skims -with \ - omx.open_file(os.path.join(input_data, 'skims.omx'), "r") as ur_skims, \ - omx.open_file(os.path.join(output_data, 'taz_skims.omx'), "w") as output_taz_skims_file, \ - omx.open_file(os.path.join(output_data, 'tap_skims.omx'), "w") as output_tap_skims_file: +with omx.open_file( + os.path.join(input_data, "skims.omx"), "r" +) as ur_skims, omx.open_file( + os.path.join(output_data, "taz_skims.omx"), "w" +) as output_taz_skims_file, omx.open_file( + os.path.join(output_data, "tap_skims.omx"), "w" +) as output_tap_skims_file: for skim_name in ur_skims.list_matrices(): @@ -152,7 +157,7 @@ # print("skim:", skim_name, ": shape", str(new_skim.shape)) mode_code = skim_name[0:3] - is_tap_mode = (mode_code == "DRV" or mode_code == "WLK") + is_tap_mode = mode_code == "DRV" or mode_code == "WLK" is_taz_mode = not is_tap_mode if is_tap_mode: @@ -164,19 +169,21 @@ egress_mode = skim_name[8:11] datum_name = skim_name[12:-4] tod = skim_name[-2:] - if access_mode == 'WLK' and egress_mode == 'WLK': - for suffix in ['FAST', 'SHORT', 'CHEAP']: - if (suffix == 'FAST') and (datum_name == 'TOTIVT'): - random_variation = np.random.rand(*new_skim.shape)*-0.1 + 1.0 - elif (suffix == 'CHEAP') and (datum_name == 'FAR'): + if access_mode == "WLK" and egress_mode == "WLK": + for suffix in ["FAST", "SHORT", "CHEAP"]: + if (suffix == "FAST") and (datum_name == "TOTIVT"): + random_variation = np.random.rand(*new_skim.shape) * -0.1 + 1.0 + elif (suffix == "CHEAP") and (datum_name == "FAR"): random_variation = np.random.rand(*new_skim.shape) * -0.5 + 1.0 else: random_variation = np.ones_like(new_skim) - tap_skim_name = f'{transit_mode}_{datum_name}_{suffix}__{tod}' + tap_skim_name = f"{transit_mode}_{datum_name}_{suffix}__{tod}" output_tap_skims_file[tap_skim_name] = new_skim * random_variation - print(f"tap skim: {skim_name} tap_skim_name: {tap_skim_name}, " - f"shape: {str(output_tap_skims_file.shape())}") + print( + f"tap skim: {skim_name} tap_skim_name: {tap_skim_name}, " + f"shape: {str(output_tap_skims_file.shape())}" + ) if is_taz_mode: output_taz_skims_file[skim_name] = new_skim @@ -187,14 +194,16 @@ # Create maz to tap distance file by mode -with omx.open_file(os.path.join(input_data, 'skims.omx')) as ur_skims: - distance_table = pd.DataFrame(np.transpose(ur_skims['DIST'])).unstack() +with omx.open_file(os.path.join(input_data, "skims.omx")) as ur_skims: + distance_table = pd.DataFrame(np.transpose(ur_skims["DIST"])).unstack() distance_table = distance_table.reset_index() distance_table.columns = ["MAZ", "TAP", "DIST"] - distance_table['drive_time'] = pd.DataFrame(np.transpose(ur_skims['SOV_TIME__MD'])).unstack().values + distance_table["drive_time"] = ( + pd.DataFrame(np.transpose(ur_skims["SOV_TIME__MD"])).unstack().values + ) - for c in ['DISTBIKE', 'DISTWALK']: + for c in ["DISTBIKE", "DISTWALK"]: distance_table[c] = pd.DataFrame(np.transpose(ur_skims[c])).unstack().values walk_speed = 3 @@ -216,14 +225,17 @@ distance_table = distance_table[distance_table["TAP"].isin(tap_zone_labels)] -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_walk, - ['MAZ', 'TAP', 'DISTWALK', 'walk_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_walk.csv'), index=False) +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_walk, + ["MAZ", "TAP", "DISTWALK", "walk_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_walk.csv"), index=False) -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_bike, - ['MAZ', 'TAP', 'DISTBIKE', 'bike_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_bike.csv'), index=False) +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_bike, + ["MAZ", "TAP", "DISTBIKE", "bike_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_bike.csv"), index=False) -distance_table.loc[distance_table['DIST'] <= max_distance_for_nearby_taps_drive, - ['MAZ', 'TAP', 'DIST', 'drive_time']]. \ - to_csv(os.path.join(output_data, 'maz_to_tap_drive.csv'), index=False) +distance_table.loc[ + distance_table["DIST"] <= max_distance_for_nearby_taps_drive, + ["MAZ", "TAP", "DIST", "drive_time"], +].to_csv(os.path.join(output_data, "maz_to_tap_drive.csv"), index=False) diff --git a/activitysim/examples/example_multiple_zone/two_zone_example_data.py b/activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py similarity index 59% rename from activitysim/examples/example_multiple_zone/two_zone_example_data.py rename to activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py index f6085d90d0..90ab0ca1a7 100644 --- a/activitysim/examples/example_multiple_zone/two_zone_example_data.py +++ b/activitysim/examples/placeholder_multiple_zone/two_zone_example_data.py @@ -12,15 +12,14 @@ import os import shutil -import pandas as pd import numpy as np import openmatrix as omx - +import pandas as pd # Create example directory -input_data = os.path.join(os.path.dirname(__file__), 'data') -output_data = os.path.join(os.path.dirname(__file__), 'data_2') +input_data = os.path.join(os.path.dirname(__file__), "data") +output_data = os.path.join(os.path.dirname(__file__), "data_2") MAZ_MULTIPLIER = 1000 # ### initialize output data directory @@ -29,7 +28,7 @@ if os.path.exists(output_data): # shutil.rmtree(output_data) # os.makedirs(output_data) - file_type = ('csv', 'omx') + file_type = ("csv", "omx") for file_name in os.listdir(output_data): if file_name.endswith(file_type): os.unlink(os.path.join(output_data, file_name)) @@ -38,11 +37,11 @@ # ### Convert tazs to mazs and add transit access distance by mode -land_use = pd.read_csv(os.path.join(input_data, 'land_use.csv')) +land_use = pd.read_csv(os.path.join(input_data, "land_use.csv")) -land_use.insert(loc=0, column='MAZ', value=land_use.ZONE) -land_use.insert(loc=1, column='TAZ', value=land_use.ZONE) -land_use.drop(columns=['ZONE'], inplace=True) +land_use.insert(loc=0, column="MAZ", value=land_use.ZONE) +land_use.insert(loc=1, column="TAZ", value=land_use.ZONE) +land_use.drop(columns=["ZONE"], inplace=True) land_use.TAZ = land_use.TAZ.replace([1, 2, 3, 4], 2) land_use.TAZ = land_use.TAZ.replace([13, 14, 15], 14) @@ -52,31 +51,31 @@ shortWalk = 0.333 # the tm1 example assumes this distance for transit access longWalk = 0.667 -land_use['access_dist_transit'] = shortWalk +land_use["access_dist_transit"] = shortWalk # FIXME - could assign longWalk where maz != taz, but then results wodl differe from one-zone # land_use['access_dist_transit'] =\ # np.where(land_use.TAZ*MAZ_MULTIPLIER==land_use.MAZ, shortWalk, longWalk) -land_use.to_csv(os.path.join(output_data, 'land_use.csv'), index=False) +land_use.to_csv(os.path.join(output_data, "land_use.csv"), index=False) # ### Put households in mazs instead of tazs -households = pd.read_csv(os.path.join(input_data, 'households.csv')) -households.rename(columns={'TAZ': 'MAZ'}, inplace=True) +households = pd.read_csv(os.path.join(input_data, "households.csv")) +households.rename(columns={"TAZ": "MAZ"}, inplace=True) households.MAZ *= MAZ_MULTIPLIER -households.to_csv(os.path.join(output_data, 'households.csv'), index=False) +households.to_csv(os.path.join(output_data, "households.csv"), index=False) -persons = pd.read_csv(os.path.join(input_data, 'persons.csv')) -persons.to_csv(os.path.join(output_data, 'persons.csv'), index=False) +persons = pd.read_csv(os.path.join(input_data, "persons.csv")) +persons.to_csv(os.path.join(output_data, "persons.csv"), index=False) # ### Create maz correspondence file # FIXME - not clear we need this -maz_df = land_use[['MAZ', 'TAZ']] -maz_df.to_csv(os.path.join(output_data, 'maz.csv'), index=False) -print("maz.csv\n%s" % (maz_df.head(6), )) +maz_df = land_use[["MAZ", "TAZ"]] +maz_df.to_csv(os.path.join(output_data, "maz.csv"), index=False) +print("maz.csv\n%s" % (maz_df.head(6),)) # ### Create taz file @@ -87,10 +86,10 @@ # 7 new_zone_labels = np.unique(land_use.TAZ) -new_zone_indexes = (new_zone_labels-1) -taz_df = pd.DataFrame({'TAZ': new_zone_labels}, index=new_zone_indexes) -taz_df.to_csv(os.path.join(output_data, 'taz.csv'), index=False) -print("taz.csv\n%s" % (taz_df.head(6), )) +new_zone_indexes = new_zone_labels - 1 +taz_df = pd.DataFrame({"TAZ": new_zone_labels}, index=new_zone_indexes) +taz_df.to_csv(os.path.join(output_data, "taz.csv"), index=False) +print("taz.csv\n%s" % (taz_df.head(6),)) # currently this has only the one TAZ column, but the legacy table had: # index TAZ @@ -100,8 +99,11 @@ # ### Create taz skims -with omx.open_file(os.path.join(input_data, 'skims.omx'), 'r') as skims_file, \ - omx.open_file(os.path.join(output_data, 'taz_skims.omx'), "w") as output_skims_file: +with omx.open_file( + os.path.join(input_data, "skims.omx"), "r" +) as skims_file, omx.open_file( + os.path.join(output_data, "taz_skims.omx"), "w" +) as output_skims_file: skims = skims_file.list_matrices() num_zones = skims_file.shape()[0] @@ -126,20 +128,23 @@ max_distance_for_bike = 5.0 -with omx.open_file(os.path.join(input_data, 'skims.omx')) as skims_file: +with omx.open_file(os.path.join(input_data, "skims.omx")) as skims_file: # create df with DIST column - maz_to_maz = pd.DataFrame(np.transpose(skims_file['DIST'])).unstack().reset_index() - maz_to_maz.columns = ['OMAZ', 'DMAZ', 'DIST'] - maz_to_maz['OMAZ'] = (maz_to_maz['OMAZ'] + 1) * MAZ_MULTIPLIER - maz_to_maz['DMAZ'] = (maz_to_maz['DMAZ'] + 1) * MAZ_MULTIPLIER + maz_to_maz = pd.DataFrame(np.transpose(skims_file["DIST"])).unstack().reset_index() + maz_to_maz.columns = ["OMAZ", "DMAZ", "DIST"] + maz_to_maz["OMAZ"] = (maz_to_maz["OMAZ"] + 1) * MAZ_MULTIPLIER + maz_to_maz["DMAZ"] = (maz_to_maz["DMAZ"] + 1) * MAZ_MULTIPLIER # additional columns - for c in ['DISTBIKE', 'DISTWALK']: + for c in ["DISTBIKE", "DISTWALK"]: maz_to_maz[c] = pd.DataFrame(np.transpose(skims_file[c])).unstack().values - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_walk, ['OMAZ', 'DMAZ', 'DISTWALK']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_walk.csv'), index=False) + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_walk, ["OMAZ", "DMAZ", "DISTWALK"] + ].to_csv(os.path.join(output_data, "maz_to_maz_walk.csv"), index=False) - maz_to_maz.loc[maz_to_maz['DIST'] <= max_distance_for_bike, ['OMAZ', 'DMAZ', 'DIST', 'DISTBIKE']].\ - to_csv(os.path.join(output_data, 'maz_to_maz_bike.csv'), index=False) + maz_to_maz.loc[ + maz_to_maz["DIST"] <= max_distance_for_bike, + ["OMAZ", "DMAZ", "DIST", "DISTBIKE"], + ].to_csv(os.path.join(output_data, "maz_to_maz_bike.csv"), index=False) diff --git a/activitysim/examples/example_arc/.gitignore b/activitysim/examples/placeholder_psrc/.gitignore similarity index 100% rename from activitysim/examples/example_arc/.gitignore rename to activitysim/examples/placeholder_psrc/.gitignore diff --git a/activitysim/examples/example_psrc/README.MD b/activitysim/examples/placeholder_psrc/README.MD similarity index 100% rename from activitysim/examples/example_psrc/README.MD rename to activitysim/examples/placeholder_psrc/README.MD diff --git a/activitysim/examples/example_psrc/change_log.txt b/activitysim/examples/placeholder_psrc/change_log.txt similarity index 99% rename from activitysim/examples/example_psrc/change_log.txt rename to activitysim/examples/placeholder_psrc/change_log.txt index 413c65880a..f8f3324f78 100644 --- a/activitysim/examples/example_psrc/change_log.txt +++ b/activitysim/examples/placeholder_psrc/change_log.txt @@ -266,7 +266,7 @@ BLDGSZ,HHID,HHT,MAZ,NOC,PERSONS,PUMA5,SERIALNO,TENURE,UNITTYPE,VEHICL,bucketBin, ##### data/maz_to_maz_walk.csv ### -# these files are wrong - they were simply copied from the example_multiple_zone 2-zone example data for MTC +# these files are wrong - they were simply copied from the placeholder_multiple_zone 2-zone example data for MTC ### ### tour_scheduling_work.csv diff --git a/activitysim/examples/example_arc/configs/_dummy_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/_dummy_coefficients.csv similarity index 100% rename from activitysim/examples/example_arc/configs/_dummy_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/_dummy_coefficients.csv diff --git a/activitysim/examples/example_multiple_zone/configs_2_zone/accessibility.csv b/activitysim/examples/placeholder_psrc/configs/accessibility.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_2_zone/accessibility.csv rename to activitysim/examples/placeholder_psrc/configs/accessibility.csv diff --git a/activitysim/examples/example_mtc/configs/accessibility.yaml b/activitysim/examples/placeholder_psrc/configs/accessibility.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/accessibility.yaml rename to activitysim/examples/placeholder_psrc/configs/accessibility.yaml diff --git a/activitysim/examples/example_psrc/configs/annotate_households.csv b/activitysim/examples/placeholder_psrc/configs/annotate_households.csv similarity index 98% rename from activitysim/examples/example_psrc/configs/annotate_households.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_households.csv index ed6f257847..ac2fd94b3d 100755 --- a/activitysim/examples/example_psrc/configs/annotate_households.csv +++ b/activitysim/examples/placeholder_psrc/configs/annotate_households.csv @@ -1,35 +1,35 @@ -Description,Target,Expression -#,, annotate households table after import -,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" -#,,FIXME households.income can be negative - so we clip? -income_in_thousands,income_in_thousands,(households.income / 1000).clip(lower=0) -income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[INCOME_SEGMENT_LOW, INCOME_SEGMENT_MED, INCOME_SEGMENT_HIGH, INCOME_SEGMENT_VERYHIGH]).astype(int)" -#,, -,_MIN_VOT,setting('min_value_of_time') -,_MAX_VOT,setting('max_value_of_time') -,_MU,setting('distributed_vot_mu') -,_SIGMA,setting('distributed_vot_sigma') -median_value_of_time,median_value_of_time,"income_segment.map({k: v for k, v in setting('household_median_value_of_time').items()})" -hh_value_of_time,hh_value_of_time,"rng.lognormal_for_df(df, mu=np.log(median_value_of_time * _MU), sigma=_SIGMA).clip(_MIN_VOT, _MAX_VOT)" -#,, -#num_workers was renamed in import,, -#,num_workers,households.workers -number of non_workers,num_non_workers,households.hhsize - households.num_workers -#,, -#,,we assume that everyone 16 and older is a potential driver -number of drivers,num_drivers,"_PERSON_COUNT('16 <= age', persons, households)" -num_adults,num_adults,"_PERSON_COUNT('adult', persons, households)" -num_children,num_children,"_PERSON_COUNT('~adult', persons, households)" -num_young_children,num_young_children,"_PERSON_COUNT('age <= 5', persons, households)" -num_children_5_to_15,num_children_5_to_15,"_PERSON_COUNT('5 <= age <= 15', persons, households)" -num_children_16_to_17,num_children_16_to_17,"_PERSON_COUNT('16 <= age <= 17', persons, households)" -num_college_age,num_college_age,"_PERSON_COUNT('18 <= age <= 24', persons, households)" -num_young_adults,num_young_adults,"_PERSON_COUNT('25 <= age <= 34', persons, households)" -non_family,non_family,households.HHT.isin(HHT_NONFAMILY) -family,family,households.HHT.isin(HHT_FAMILY) -home_is_urban,home_is_urban,"reindex(land_use.area_type, households.home_zone_id) < setting('urban_threshold')" -home_is_rural,home_is_rural,"reindex(land_use.area_type, households.home_zone_id) > setting('rural_threshold')" - - - - +Description,Target,Expression +#,, annotate households table after import +,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" +#,,FIXME households.income can be negative - so we clip? +income_in_thousands,income_in_thousands,(households.income / 1000).clip(lower=0) +income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[INCOME_SEGMENT_LOW, INCOME_SEGMENT_MED, INCOME_SEGMENT_HIGH, INCOME_SEGMENT_VERYHIGH]).astype(int)" +#,, +,_MIN_VOT,setting('min_value_of_time') +,_MAX_VOT,setting('max_value_of_time') +,_MU,setting('distributed_vot_mu') +,_SIGMA,setting('distributed_vot_sigma') +median_value_of_time,median_value_of_time,"income_segment.map({k: v for k, v in setting('household_median_value_of_time').items()})" +hh_value_of_time,hh_value_of_time,"rng.lognormal_for_df(df, mu=np.log(median_value_of_time * _MU), sigma=_SIGMA).clip(_MIN_VOT, _MAX_VOT)" +#,, +#num_workers was renamed in import,, +#,num_workers,households.workers +number of non_workers,num_non_workers,households.hhsize - households.num_workers +#,, +#,,we assume that everyone 16 and older is a potential driver +number of drivers,num_drivers,"_PERSON_COUNT('16 <= age', persons, households)" +num_adults,num_adults,"_PERSON_COUNT('adult', persons, households)" +num_children,num_children,"_PERSON_COUNT('~adult', persons, households)" +num_young_children,num_young_children,"_PERSON_COUNT('age <= 5', persons, households)" +num_children_5_to_15,num_children_5_to_15,"_PERSON_COUNT('5 <= age <= 15', persons, households)" +num_children_16_to_17,num_children_16_to_17,"_PERSON_COUNT('16 <= age <= 17', persons, households)" +num_college_age,num_college_age,"_PERSON_COUNT('18 <= age <= 24', persons, households)" +num_young_adults,num_young_adults,"_PERSON_COUNT('25 <= age <= 34', persons, households)" +non_family,non_family,households.HHT.isin(HHT_NONFAMILY) +family,family,households.HHT.isin(HHT_FAMILY) +home_is_urban,home_is_urban,"reindex(land_use.area_type, households.home_zone_id) < setting('urban_threshold')" +home_is_rural,home_is_rural,"reindex(land_use.area_type, households.home_zone_id) > setting('rural_threshold')" + + + + diff --git a/activitysim/examples/example_semcog/configs/annotate_households_cdap.csv b/activitysim/examples/placeholder_psrc/configs/annotate_households_cdap.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/annotate_households_cdap.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_households_cdap.csv index a11620f76b..44b4fdcbfd 100755 --- a/activitysim/examples/example_semcog/configs/annotate_households_cdap.csv +++ b/activitysim/examples/placeholder_psrc/configs/annotate_households_cdap.csv @@ -1,9 +1,9 @@ -Description,Target,Expression -#,, annotate households table after cdap model has run -num_under16_not_at_school,num_under16_not_at_school,persons.under16_not_at_school.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active,num_travel_active,persons.travel_active.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_adults,num_travel_active_adults,(persons.adult & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_preschoolers,num_travel_active_preschoolers,((persons.ptype == PTYPE_PRESCHOOL) & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_children,num_travel_active_children,num_travel_active - num_travel_active_adults -num_travel_active_non_preschoolers,num_travel_active_non_preschoolers,num_travel_active - num_travel_active_preschoolers -participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) +Description,Target,Expression +#,, annotate households table after cdap model has run +num_under16_not_at_school,num_under16_not_at_school,persons.under16_not_at_school.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active,num_travel_active,persons.travel_active.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_adults,num_travel_active_adults,(persons.adult & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_preschoolers,num_travel_active_preschoolers,((persons.ptype == PTYPE_PRESCHOOL) & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_children,num_travel_active_children,num_travel_active - num_travel_active_adults +num_travel_active_non_preschoolers,num_travel_active_non_preschoolers,num_travel_active - num_travel_active_preschoolers +participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) diff --git a/activitysim/examples/example_mtc/configs/annotate_households_workplace.csv b/activitysim/examples/placeholder_psrc/configs/annotate_households_workplace.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_households_workplace.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_households_workplace.csv diff --git a/activitysim/examples/example_psrc/configs/annotate_landuse.csv b/activitysim/examples/placeholder_psrc/configs/annotate_landuse.csv similarity index 98% rename from activitysim/examples/example_psrc/configs/annotate_landuse.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_landuse.csv index 1ff6c27843..229833a503 100755 --- a/activitysim/examples/example_psrc/configs/annotate_landuse.csv +++ b/activitysim/examples/placeholder_psrc/configs/annotate_landuse.csv @@ -1,5 +1,5 @@ -Description,Target,Expression -#,, annotate landuse table after import -household_density,household_density,land_use.TOTHH / (land_use.RESACRE + land_use.CIACRE) -employment_density,employment_density,land_use.TOTEMP / (land_use.RESACRE + land_use.CIACRE) -density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1) +Description,Target,Expression +#,, annotate landuse table after import +household_density,household_density,land_use.TOTHH / (land_use.RESACRE + land_use.CIACRE) +employment_density,employment_density,land_use.TOTEMP / (land_use.RESACRE + land_use.CIACRE) +density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1) diff --git a/activitysim/examples/example_mtc/configs/annotate_persons.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_after_hh.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_after_hh.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_after_hh.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_after_hh.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_cdap.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_cdap.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_cdap.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_cdap.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_jtp.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_jtp.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_jtp.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_jtp.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_mtf.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_mtf.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_mtf.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_mtf.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_nmtf.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_nmtf.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_nmtf.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_nmtf.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_school.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_school.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_school.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_school.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_workplace.csv b/activitysim/examples/placeholder_psrc/configs/annotate_persons_workplace.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_persons_workplace.csv rename to activitysim/examples/placeholder_psrc/configs/annotate_persons_workplace.csv diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_destination.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/atwork_subtour_destination.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination.csv diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_destination.yaml b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs/atwork_subtour_destination.yaml rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination.yaml diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_destination_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_destination_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination_coeffs.csv diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_destination_sample.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination_sample.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/atwork_subtour_destination_sample.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_destination_sample.csv diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/atwork_subtour_frequency.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency.csv index 5e7ba625c8..06e9f8878f 100755 --- a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency.csv +++ b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency.csv @@ -1,23 +1,23 @@ -Label,Expression,no_subtours,eat,business1,maint,business2,eat_business -util_dummy_for_full_time_worker,pemploy==1,coefficient_dummy_for_full_time_worker_no_subtours,coefficient_dummy_for_full_time_worker_eat,coefficient_dummy_for_full_time_worker_business1,coefficient_dummy_for_full_time_worker_maint,coefficient_dummy_for_full_time_worker_business2,coefficient_dummy_for_full_time_worker_eat_business -util_dummy_for_non_full_time_worker,pemploy!=1,coefficient_dummy_for_non_full_time_worker_no_subtours,coefficient_dummy_for_non_full_time_worker_eat,coefficient_dummy_for_non_full_time_worker_business1,coefficient_dummy_for_non_full_time_worker_maint,coefficient_dummy_for_non_full_time_worker_business2,coefficient_dummy_for_non_full_time_worker_eat_business -util_dummy_for_non_workers,"ptype in [4, 5]",coefficient_dummy_for_non_workers_no_subtours,coefficient_dummy_for_non_workers_eat,coefficient_dummy_for_non_workers_business1,coefficient_dummy_for_non_workers_maint,coefficient_dummy_for_non_workers_business2,coefficient_dummy_for_non_workers_eat_business -util_medium_hh_income_dummy,income_segment == 2,coefficient_medium_hh_income_dummy_no_subtours,coefficient_medium_hh_income_dummy_eat,coefficient_medium_hh_income_dummy_business1,coefficient_medium_hh_income_dummy_maint,coefficient_medium_hh_income_dummy_business2,coefficient_medium_hh_income_dummy_eat_business -util_high_hh_income_dummy,(income_segment > 2) & (income_segment < 5),coefficient_high_hh_income_dummy_no_subtours,coefficient_high_hh_income_dummy_eat,coefficient_high_hh_income_dummy_business1,coefficient_high_hh_income_dummy_maint,coefficient_high_hh_income_dummy_business2,coefficient_high_hh_income_dummy_eat_business -util_zero_cars_owned_by_hh_dummy, auto_ownership == 0,coefficient_zero_cars_owned_by_hh_dummy_no_subtours,coefficient_zero_cars_owned_by_hh_dummy_eat,coefficient_zero_cars_owned_by_hh_dummy_business1,coefficient_zero_cars_owned_by_hh_dummy_maint,coefficient_zero_cars_owned_by_hh_dummy_business2,coefficient_zero_cars_owned_by_hh_dummy_eat_business -util_individual_discretionary_tours_made_by_full_time_worker,@(df.pemploy==1)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business -util_individual_discretionary_tours_made_by_part_time_worker,@(df.pemploy==2)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business -util_individual_eating_out_tours_made_by_person,num_eatout_tours,coefficient_individual_eating_out_tours_made_by_person_no_subtours,coefficient_individual_eating_out_tours_made_by_person_eat,coefficient_individual_eating_out_tours_made_by_person_business1,coefficient_individual_eating_out_tours_made_by_person_maint,coefficient_individual_eating_out_tours_made_by_person_business2,coefficient_individual_eating_out_tours_made_by_person_eat_business -util_main_shop_escort_tours_allocated_to_full_time_worker,@(df.pemploy==1)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business -util_main_shop_escort_tours_allocated_to_part_time_worker,@(df.pemploy==2)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business -util_participation_in_joint_shop_main_eat_tours,num_joint_maint_shop_eat,coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,coefficient_participation_in_joint_shop_main_eat_tours_eat,coefficient_participation_in_joint_shop_main_eat_tours_business1,coefficient_participation_in_joint_shop_main_eat_tours_maint,coefficient_participation_in_joint_shop_main_eat_tours_business2,coefficient_participation_in_joint_shop_main_eat_tours_eat_business -util_participation_in_joint_discretionary_tours,num_joint_discr,coefficient_participation_in_joint_discretionary_tours_no_subtours,coefficient_participation_in_joint_discretionary_tours_eat,coefficient_participation_in_joint_discretionary_tours_business1,coefficient_participation_in_joint_discretionary_tours_maint,coefficient_participation_in_joint_discretionary_tours_business2,coefficient_participation_in_joint_discretionary_tours_eat_business -util_log_of_the_work_tour_duration,@np.log(df.duration+0.5),coefficient_log_of_the_work_tour_duration_no_subtours,coefficient_log_of_the_work_tour_duration_eat,coefficient_log_of_the_work_tour_duration_business1,coefficient_log_of_the_work_tour_duration_maint,coefficient_log_of_the_work_tour_duration_business2,coefficient_log_of_the_work_tour_duration_eat_business -util_dummy_for_drive_alone_mode_for_work_tour,work_tour_is_SOV,coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business -util_two_work_tours_by_person,num_work_tours==2,coefficient_two_work_tours_by_person_no_subtours,coefficient_two_work_tours_by_person_eat,coefficient_two_work_tours_by_person_business1,coefficient_two_work_tours_by_person_maint,coefficient_two_work_tours_by_person_business2,coefficient_two_work_tours_by_person_eat_business -util_workplace_urban_area_dummy,work_zone_area_type<4,coefficient_workplace_urban_area_dummy_no_subtours,coefficient_workplace_urban_area_dummy_eat,coefficient_workplace_urban_area_dummy_business1,coefficient_workplace_urban_area_dummy_maint,coefficient_workplace_urban_area_dummy_business2,coefficient_workplace_urban_area_dummy_eat_business -util_workplace_suburban_area_dummy,(work_zone_area_type>3) & (work_zone_area_type<6),coefficient_workplace_suburban_area_dummy_no_subtours,coefficient_workplace_suburban_area_dummy_eat,coefficient_workplace_suburban_area_dummy_business1,coefficient_workplace_suburban_area_dummy_maint,coefficient_workplace_suburban_area_dummy_business2,coefficient_workplace_suburban_area_dummy_eat_business -util_auto_accessibility_to_retail_for_work_taz,auOpRetail,coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,coefficient_auto_accessibility_to_retail_for_work_taz_eat,coefficient_auto_accessibility_to_retail_for_work_taz_business1,coefficient_auto_accessibility_to_retail_for_work_taz_maint,coefficient_auto_accessibility_to_retail_for_work_taz_business2,coefficient_auto_accessibility_to_retail_for_work_taz_eat_business -util_walk_accessibility_to_retail_for_work_taz,nmRetail,coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,coefficient_walk_accessibility_to_retail_for_work_taz_eat,coefficient_walk_accessibility_to_retail_for_work_taz_business1,coefficient_walk_accessibility_to_retail_for_work_taz_maint,coefficient_walk_accessibility_to_retail_for_work_taz_business2,coefficient_walk_accessibility_to_retail_for_work_taz_eat_business -util_dummy_for_worker_or_student_with_non_mandatory_tour,(is_worker | is_student) * num_non_mand,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business -util_at_work_sub_tour_alternative_specific_constant,1,coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,coefficient_at_work_sub_tour_alternative_specific_constant_eat,coefficient_at_work_sub_tour_alternative_specific_constant_business1,coefficient_at_work_sub_tour_alternative_specific_constant_maint,coefficient_at_work_sub_tour_alternative_specific_constant_business2,coefficient_at_work_sub_tour_alternative_specific_constant_eat_business +Label,Expression,no_subtours,eat,business1,maint,business2,eat_business +util_dummy_for_full_time_worker,pemploy==1,coefficient_dummy_for_full_time_worker_no_subtours,coefficient_dummy_for_full_time_worker_eat,coefficient_dummy_for_full_time_worker_business1,coefficient_dummy_for_full_time_worker_maint,coefficient_dummy_for_full_time_worker_business2,coefficient_dummy_for_full_time_worker_eat_business +util_dummy_for_non_full_time_worker,pemploy!=1,coefficient_dummy_for_non_full_time_worker_no_subtours,coefficient_dummy_for_non_full_time_worker_eat,coefficient_dummy_for_non_full_time_worker_business1,coefficient_dummy_for_non_full_time_worker_maint,coefficient_dummy_for_non_full_time_worker_business2,coefficient_dummy_for_non_full_time_worker_eat_business +util_dummy_for_non_workers,"ptype in [4, 5]",coefficient_dummy_for_non_workers_no_subtours,coefficient_dummy_for_non_workers_eat,coefficient_dummy_for_non_workers_business1,coefficient_dummy_for_non_workers_maint,coefficient_dummy_for_non_workers_business2,coefficient_dummy_for_non_workers_eat_business +util_medium_hh_income_dummy,income_segment == 2,coefficient_medium_hh_income_dummy_no_subtours,coefficient_medium_hh_income_dummy_eat,coefficient_medium_hh_income_dummy_business1,coefficient_medium_hh_income_dummy_maint,coefficient_medium_hh_income_dummy_business2,coefficient_medium_hh_income_dummy_eat_business +util_high_hh_income_dummy,(income_segment > 2) & (income_segment < 5),coefficient_high_hh_income_dummy_no_subtours,coefficient_high_hh_income_dummy_eat,coefficient_high_hh_income_dummy_business1,coefficient_high_hh_income_dummy_maint,coefficient_high_hh_income_dummy_business2,coefficient_high_hh_income_dummy_eat_business +util_zero_cars_owned_by_hh_dummy, auto_ownership == 0,coefficient_zero_cars_owned_by_hh_dummy_no_subtours,coefficient_zero_cars_owned_by_hh_dummy_eat,coefficient_zero_cars_owned_by_hh_dummy_business1,coefficient_zero_cars_owned_by_hh_dummy_maint,coefficient_zero_cars_owned_by_hh_dummy_business2,coefficient_zero_cars_owned_by_hh_dummy_eat_business +util_individual_discretionary_tours_made_by_full_time_worker,@(df.pemploy==1)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business +util_individual_discretionary_tours_made_by_part_time_worker,@(df.pemploy==2)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business +util_individual_eating_out_tours_made_by_person,num_eatout_tours,coefficient_individual_eating_out_tours_made_by_person_no_subtours,coefficient_individual_eating_out_tours_made_by_person_eat,coefficient_individual_eating_out_tours_made_by_person_business1,coefficient_individual_eating_out_tours_made_by_person_maint,coefficient_individual_eating_out_tours_made_by_person_business2,coefficient_individual_eating_out_tours_made_by_person_eat_business +util_main_shop_escort_tours_allocated_to_full_time_worker,@(df.pemploy==1)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business +util_main_shop_escort_tours_allocated_to_part_time_worker,@(df.pemploy==2)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business +util_participation_in_joint_shop_main_eat_tours,num_joint_maint_shop_eat,coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,coefficient_participation_in_joint_shop_main_eat_tours_eat,coefficient_participation_in_joint_shop_main_eat_tours_business1,coefficient_participation_in_joint_shop_main_eat_tours_maint,coefficient_participation_in_joint_shop_main_eat_tours_business2,coefficient_participation_in_joint_shop_main_eat_tours_eat_business +util_participation_in_joint_discretionary_tours,num_joint_discr,coefficient_participation_in_joint_discretionary_tours_no_subtours,coefficient_participation_in_joint_discretionary_tours_eat,coefficient_participation_in_joint_discretionary_tours_business1,coefficient_participation_in_joint_discretionary_tours_maint,coefficient_participation_in_joint_discretionary_tours_business2,coefficient_participation_in_joint_discretionary_tours_eat_business +util_log_of_the_work_tour_duration,@np.log(df.duration+0.5),coefficient_log_of_the_work_tour_duration_no_subtours,coefficient_log_of_the_work_tour_duration_eat,coefficient_log_of_the_work_tour_duration_business1,coefficient_log_of_the_work_tour_duration_maint,coefficient_log_of_the_work_tour_duration_business2,coefficient_log_of_the_work_tour_duration_eat_business +util_dummy_for_drive_alone_mode_for_work_tour,work_tour_is_SOV,coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business +util_two_work_tours_by_person,num_work_tours==2,coefficient_two_work_tours_by_person_no_subtours,coefficient_two_work_tours_by_person_eat,coefficient_two_work_tours_by_person_business1,coefficient_two_work_tours_by_person_maint,coefficient_two_work_tours_by_person_business2,coefficient_two_work_tours_by_person_eat_business +util_workplace_urban_area_dummy,work_zone_area_type<4,coefficient_workplace_urban_area_dummy_no_subtours,coefficient_workplace_urban_area_dummy_eat,coefficient_workplace_urban_area_dummy_business1,coefficient_workplace_urban_area_dummy_maint,coefficient_workplace_urban_area_dummy_business2,coefficient_workplace_urban_area_dummy_eat_business +util_workplace_suburban_area_dummy,(work_zone_area_type>3) & (work_zone_area_type<6),coefficient_workplace_suburban_area_dummy_no_subtours,coefficient_workplace_suburban_area_dummy_eat,coefficient_workplace_suburban_area_dummy_business1,coefficient_workplace_suburban_area_dummy_maint,coefficient_workplace_suburban_area_dummy_business2,coefficient_workplace_suburban_area_dummy_eat_business +util_auto_accessibility_to_retail_for_work_taz,auOpRetail,coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,coefficient_auto_accessibility_to_retail_for_work_taz_eat,coefficient_auto_accessibility_to_retail_for_work_taz_business1,coefficient_auto_accessibility_to_retail_for_work_taz_maint,coefficient_auto_accessibility_to_retail_for_work_taz_business2,coefficient_auto_accessibility_to_retail_for_work_taz_eat_business +util_walk_accessibility_to_retail_for_work_taz,nmRetail,coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,coefficient_walk_accessibility_to_retail_for_work_taz_eat,coefficient_walk_accessibility_to_retail_for_work_taz_business1,coefficient_walk_accessibility_to_retail_for_work_taz_maint,coefficient_walk_accessibility_to_retail_for_work_taz_business2,coefficient_walk_accessibility_to_retail_for_work_taz_eat_business +util_dummy_for_worker_or_student_with_non_mandatory_tour,(is_worker | is_student) * num_non_mand,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business +util_at_work_sub_tour_alternative_specific_constant,1,coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,coefficient_at_work_sub_tour_alternative_specific_constant_eat,coefficient_at_work_sub_tour_alternative_specific_constant_business1,coefficient_at_work_sub_tour_alternative_specific_constant_maint,coefficient_at_work_sub_tour_alternative_specific_constant_business2,coefficient_at_work_sub_tour_alternative_specific_constant_eat_business diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_frequency.yaml b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_frequency.yaml rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency.yaml diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_alternatives.csv similarity index 96% rename from activitysim/examples/example_psrc/configs/atwork_subtour_frequency_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_alternatives.csv index ed7c13c58d..ba9941919d 100755 --- a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_alternatives.csv +++ b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_alternatives.csv @@ -1,8 +1,8 @@ -#,,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,eat,business,maint -no_subtours,0,0,0 -eat,1,0,0 -business1,0,1,0 -maint,0,0,1 -business2,0,2,0 -eat_business,1,1,0 +#,,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,eat,business,maint +no_subtours,0,0,0 +eat,1,0,0 +business1,0,1,0 +maint,0,0,1 +business2,0,2,0 +eat_business,1,1,0 diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_coeffs.csv similarity index 98% rename from activitysim/examples/example_psrc/configs/atwork_subtour_frequency_coeffs.csv rename to activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_coeffs.csv index 79640c1d29..c59a4e2ee3 100755 --- a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_coeffs.csv +++ b/activitysim/examples/placeholder_psrc/configs/atwork_subtour_frequency_coeffs.csv @@ -1,133 +1,133 @@ -coefficient_name,value,constrain -coefficient_dummy_for_full_time_worker_business1,-7.375,F -coefficient_dummy_for_full_time_worker_business2,-14.28,F -coefficient_dummy_for_full_time_worker_eat,-7.28,F -coefficient_dummy_for_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_full_time_worker_maint,-8.093,F -coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_full_time_worker_business1,-8.319,F -coefficient_dummy_for_non_full_time_worker_business2,-14.28,F -coefficient_dummy_for_non_full_time_worker_eat,-8.604,F -coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_non_full_time_worker_maint,-8.214,F -coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_workers_business1,-5,T -coefficient_dummy_for_non_workers_business2,-5,T -coefficient_dummy_for_non_workers_eat,0,T -coefficient_dummy_for_non_workers_eat_business,-5,T -coefficient_dummy_for_non_workers_maint,-5,T -coefficient_dummy_for_non_workers_no_subtours,0,T -coefficient_medium_hh_income_dummy_business1,0.5555,F -coefficient_medium_hh_income_dummy_business2,1.111,F -coefficient_medium_hh_income_dummy_eat,0.61,F -coefficient_medium_hh_income_dummy_eat_business,1.1655,F -coefficient_medium_hh_income_dummy_maint,0.1527,F -coefficient_medium_hh_income_dummy_no_subtours,0,T -coefficient_high_hh_income_dummy_business1,1.066,F -coefficient_high_hh_income_dummy_business2,2.132,F -coefficient_high_hh_income_dummy_eat,0.8693,F -coefficient_high_hh_income_dummy_eat_business,1.9353,F -coefficient_high_hh_income_dummy_maint,0.1651,F -coefficient_high_hh_income_dummy_no_subtours,0,T -coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_business2,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F -coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T -coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F -coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F -coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F -coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F -coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F -coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T -coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F -coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F -coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F -coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F -coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F -coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T -coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F -coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F -coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F -coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F -coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F -coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T -coefficient_log_of_the_work_tour_duration_business1,1.142,F -coefficient_log_of_the_work_tour_duration_business2,2.284,F -coefficient_log_of_the_work_tour_duration_eat,1.55,F -coefficient_log_of_the_work_tour_duration_eat_business,2.692,F -coefficient_log_of_the_work_tour_duration_maint,1.659,F -coefficient_log_of_the_work_tour_duration_no_subtours,0,T -coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T -coefficient_two_work_tours_by_person_business1,0.3753,F -coefficient_two_work_tours_by_person_business2,0.7506,F -coefficient_two_work_tours_by_person_eat,-0.9862,F -coefficient_two_work_tours_by_person_eat_business,-0.6109,F -coefficient_two_work_tours_by_person_maint,-0.2312,F -coefficient_two_work_tours_by_person_no_subtours,0,T -coefficient_workplace_urban_area_dummy_business1,-0.2235,F -coefficient_workplace_urban_area_dummy_business2,-0.447,F -coefficient_workplace_urban_area_dummy_eat,-0.4182,F -coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F -coefficient_workplace_urban_area_dummy_maint,-0.1479,F -coefficient_workplace_urban_area_dummy_no_subtours,0,T -coefficient_workplace_suburban_area_dummy_business1,-0.1102,F -coefficient_workplace_suburban_area_dummy_business2,-0.2204,F -coefficient_workplace_suburban_area_dummy_eat,-0.2916,F -coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F -coefficient_workplace_suburban_area_dummy_maint,0,T -coefficient_workplace_suburban_area_dummy_no_subtours,0,T -coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F -coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F -coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F -coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F -coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T -coefficient_at_work_sub_tour_alternative_specific_constant_business1,-0.5372,F -coefficient_at_work_sub_tour_alternative_specific_constant_business2,-2.1337,F -coefficient_at_work_sub_tour_alternative_specific_constant_eat,0.8576,F -coefficient_at_work_sub_tour_alternative_specific_constant_eat_business,-0.9721,F -coefficient_at_work_sub_tour_alternative_specific_constant_maint,-0.6198,F +coefficient_name,value,constrain +coefficient_dummy_for_full_time_worker_business1,-7.375,F +coefficient_dummy_for_full_time_worker_business2,-14.28,F +coefficient_dummy_for_full_time_worker_eat,-7.28,F +coefficient_dummy_for_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_full_time_worker_maint,-8.093,F +coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_full_time_worker_business1,-8.319,F +coefficient_dummy_for_non_full_time_worker_business2,-14.28,F +coefficient_dummy_for_non_full_time_worker_eat,-8.604,F +coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_non_full_time_worker_maint,-8.214,F +coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_workers_business1,-5,T +coefficient_dummy_for_non_workers_business2,-5,T +coefficient_dummy_for_non_workers_eat,0,T +coefficient_dummy_for_non_workers_eat_business,-5,T +coefficient_dummy_for_non_workers_maint,-5,T +coefficient_dummy_for_non_workers_no_subtours,0,T +coefficient_medium_hh_income_dummy_business1,0.5555,F +coefficient_medium_hh_income_dummy_business2,1.111,F +coefficient_medium_hh_income_dummy_eat,0.61,F +coefficient_medium_hh_income_dummy_eat_business,1.1655,F +coefficient_medium_hh_income_dummy_maint,0.1527,F +coefficient_medium_hh_income_dummy_no_subtours,0,T +coefficient_high_hh_income_dummy_business1,1.066,F +coefficient_high_hh_income_dummy_business2,2.132,F +coefficient_high_hh_income_dummy_eat,0.8693,F +coefficient_high_hh_income_dummy_eat_business,1.9353,F +coefficient_high_hh_income_dummy_maint,0.1651,F +coefficient_high_hh_income_dummy_no_subtours,0,T +coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_business2,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F +coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T +coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F +coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F +coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F +coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F +coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F +coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T +coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F +coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F +coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F +coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F +coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F +coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T +coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F +coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F +coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F +coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F +coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F +coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T +coefficient_log_of_the_work_tour_duration_business1,1.142,F +coefficient_log_of_the_work_tour_duration_business2,2.284,F +coefficient_log_of_the_work_tour_duration_eat,1.55,F +coefficient_log_of_the_work_tour_duration_eat_business,2.692,F +coefficient_log_of_the_work_tour_duration_maint,1.659,F +coefficient_log_of_the_work_tour_duration_no_subtours,0,T +coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T +coefficient_two_work_tours_by_person_business1,0.3753,F +coefficient_two_work_tours_by_person_business2,0.7506,F +coefficient_two_work_tours_by_person_eat,-0.9862,F +coefficient_two_work_tours_by_person_eat_business,-0.6109,F +coefficient_two_work_tours_by_person_maint,-0.2312,F +coefficient_two_work_tours_by_person_no_subtours,0,T +coefficient_workplace_urban_area_dummy_business1,-0.2235,F +coefficient_workplace_urban_area_dummy_business2,-0.447,F +coefficient_workplace_urban_area_dummy_eat,-0.4182,F +coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F +coefficient_workplace_urban_area_dummy_maint,-0.1479,F +coefficient_workplace_urban_area_dummy_no_subtours,0,T +coefficient_workplace_suburban_area_dummy_business1,-0.1102,F +coefficient_workplace_suburban_area_dummy_business2,-0.2204,F +coefficient_workplace_suburban_area_dummy_eat,-0.2916,F +coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F +coefficient_workplace_suburban_area_dummy_maint,0,T +coefficient_workplace_suburban_area_dummy_no_subtours,0,T +coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F +coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F +coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F +coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F +coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T +coefficient_at_work_sub_tour_alternative_specific_constant_business1,-0.5372,F +coefficient_at_work_sub_tour_alternative_specific_constant_business2,-2.1337,F +coefficient_at_work_sub_tour_alternative_specific_constant_eat,0.8576,F +coefficient_at_work_sub_tour_alternative_specific_constant_eat_business,-0.9721,F +coefficient_at_work_sub_tour_alternative_specific_constant_maint,-0.6198,F coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,0,T \ No newline at end of file diff --git a/activitysim/examples/example_sandag/configs_3_zone/auto_ownership.csv b/activitysim/examples/placeholder_psrc/configs/auto_ownership.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/auto_ownership.csv rename to activitysim/examples/placeholder_psrc/configs/auto_ownership.csv diff --git a/activitysim/examples/example_psrc/configs/auto_ownership.yaml b/activitysim/examples/placeholder_psrc/configs/auto_ownership.yaml similarity index 93% rename from activitysim/examples/example_psrc/configs/auto_ownership.yaml rename to activitysim/examples/placeholder_psrc/configs/auto_ownership.yaml index 90bff70125..c1af8adb68 100755 --- a/activitysim/examples/example_psrc/configs/auto_ownership.yaml +++ b/activitysim/examples/placeholder_psrc/configs/auto_ownership.yaml @@ -1,17 +1,17 @@ - -SPEC: auto_ownership.csv -COEFFICIENTS: auto_ownership_coeffs.csv - -#LOGIT_TYPE: NL -LOGIT_TYPE: MNL - -CONSTANTS: - ID_SAN_FRANCISCO: 1 - ID_SAN_MATEO: 2 - ID_SANTA_CLARA: 3 - ID_ALAMEDA: 4 - ID_CONTRA_COSTA: 5 - ID_SOLANO: 6 - ID_NAPA: 7 - ID_SONOMA: 8 - ID_MARIN: 9 + +SPEC: auto_ownership.csv +COEFFICIENTS: auto_ownership_coeffs.csv + +#LOGIT_TYPE: NL +LOGIT_TYPE: MNL + +CONSTANTS: + ID_SAN_FRANCISCO: 1 + ID_SAN_MATEO: 2 + ID_SANTA_CLARA: 3 + ID_ALAMEDA: 4 + ID_CONTRA_COSTA: 5 + ID_SOLANO: 6 + ID_NAPA: 7 + ID_SONOMA: 8 + ID_MARIN: 9 diff --git a/activitysim/examples/example_psrc/configs/auto_ownership_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/auto_ownership_coeffs.csv similarity index 97% rename from activitysim/examples/example_psrc/configs/auto_ownership_coeffs.csv rename to activitysim/examples/placeholder_psrc/configs/auto_ownership_coeffs.csv index 9c1470b690..b9d7fd07b0 100755 --- a/activitysim/examples/example_psrc/configs/auto_ownership_coeffs.csv +++ b/activitysim/examples/placeholder_psrc/configs/auto_ownership_coeffs.csv @@ -1,68 +1,68 @@ -coefficient_name,value,constrain -coef_cars1_drivers_2,0,T -coef_cars1_drivers_3,0,T -coef_cars1_persons_16_17,0,T -coef_cars234_asc_marin,0,T -coef_cars1_persons_25_34,0,T -coef_cars1_num_workers_clip_3,0,T -coef_cars1_hh_income_30_up,0,T -coef_cars1_density_0_10_no_workers,0,T -coef_cars1_density_10_up_workers,-0.0152,F -coef_retail_non_motor,-0.03,T -coef_cars4_asc,-5.313,F -coef_cars3_asc,-3.2502,F -coef_cars34_persons_16_17,-1.7313,F -coef_cars2_asc,-1.0846,F -coef_cars34_persons_18_24,-1.0107,F -coef_cars2_persons_18_24,-1.0095,F -coef_cars2_persons_16_17,-0.881,F -coef_cars34_persons_25_34,-0.8596,F -coef_cars1_asc_county,-0.566,F -coef_retail_transit_workers,-0.5117,F -coef_cars2_persons_25_34,-0.4849,F -coef_cars2_asc_county,-0.4429,F -coef_cars1_persons_18_24,-0.4087,F -coef_cars34_density_0_10_no_workers,-0.3654,F -coef_retail_transit_no_workers,-0.3053,F -coef_cars1_asc_marin,-0.2434,F -coef_cars34_asc_county,-0.2372,F -coef_cars2_density_0_10_no_workers,-0.2028,F -coef_cars34_density_10_up_no_workers,-0.1766,F -coef_cars2_density_10_up_no_workers,-0.1106,F -coef_cars2_density_10_up_workers,-0.1106,F -coef_cars1_density_10_up_no_workers,-0.0152,F -coef_cars2_hh_income_30_up,0.0083,F -coef_cars3_hh_income_30_up,0.011,F -coef_cars4_hh_income_30_up,0.0147,F -coef_cars1_presence_children_5_17,0.0158,F -coef_cars1_hh_income_0_30k,0.0383,F -coef_cars2_hh_income_0_30k,0.054,F -coef_cars3_hh_income_0_30k,0.0559,F -coef_cars4_hh_income_0_30k,0.0619,F -coef_retail_auto_no_workers,0.0626,F -coef_cars34_asc_san_francisco,0.1458,F -coef_retail_auto_workers,0.1646,F -coef_cars2_presence_children_5_17,0.2936,F -coef_cars2_num_workers_clip_3,0.2936,F -coef_cars1_presence_children_0_4,0.3669,F -coef_cars1_asc_san_francisco,0.4259,F -coef_cars2_asc_san_francisco,0.4683,F -coef_cars1_auto_time_saving_per_worker,0.4707,F -coef_cars34_presence_children_5_17,0.4769,F -coef_cars3_auto_time_saving_per_worker,0.5705,F -coef_cars2_auto_time_saving_per_worker,0.6142,F -coef_cars3_num_workers_clip_3,0.6389,F -coef_cars234_presence_children_0_4,0.7627,F -coef_cars4_auto_time_saving_per_worker,0.7693,F -coef_cars4_num_workers_clip_3,0.8797,F -coef_cars1_asc,1.1865,F -coef_cars1_drivers_4_up,2.0107,F -coef_cars4_drivers_2,2.6616,F -coef_cars2_drivers_2,3.0773,F -coef_cars3_drivers_2,3.1962,F -coef_cars2_drivers_3,3.5401,F -coef_cars4_drivers_3,5.208,F -coef_cars3_drivers_3,5.5131,F -coef_cars2_drivers_4_up,6.3662,F -coef_cars3_drivers_4_up,8.5148,F -coef_cars4_drivers_4_up,9.5807,F +coefficient_name,value,constrain +coef_cars1_drivers_2,0,T +coef_cars1_drivers_3,0,T +coef_cars1_persons_16_17,0,T +coef_cars234_asc_marin,0,T +coef_cars1_persons_25_34,0,T +coef_cars1_num_workers_clip_3,0,T +coef_cars1_hh_income_30_up,0,T +coef_cars1_density_0_10_no_workers,0,T +coef_cars1_density_10_up_workers,-0.0152,F +coef_retail_non_motor,-0.03,T +coef_cars4_asc,-5.313,F +coef_cars3_asc,-3.2502,F +coef_cars34_persons_16_17,-1.7313,F +coef_cars2_asc,-1.0846,F +coef_cars34_persons_18_24,-1.0107,F +coef_cars2_persons_18_24,-1.0095,F +coef_cars2_persons_16_17,-0.881,F +coef_cars34_persons_25_34,-0.8596,F +coef_cars1_asc_county,-0.566,F +coef_retail_transit_workers,-0.5117,F +coef_cars2_persons_25_34,-0.4849,F +coef_cars2_asc_county,-0.4429,F +coef_cars1_persons_18_24,-0.4087,F +coef_cars34_density_0_10_no_workers,-0.3654,F +coef_retail_transit_no_workers,-0.3053,F +coef_cars1_asc_marin,-0.2434,F +coef_cars34_asc_county,-0.2372,F +coef_cars2_density_0_10_no_workers,-0.2028,F +coef_cars34_density_10_up_no_workers,-0.1766,F +coef_cars2_density_10_up_no_workers,-0.1106,F +coef_cars2_density_10_up_workers,-0.1106,F +coef_cars1_density_10_up_no_workers,-0.0152,F +coef_cars2_hh_income_30_up,0.0083,F +coef_cars3_hh_income_30_up,0.011,F +coef_cars4_hh_income_30_up,0.0147,F +coef_cars1_presence_children_5_17,0.0158,F +coef_cars1_hh_income_0_30k,0.0383,F +coef_cars2_hh_income_0_30k,0.054,F +coef_cars3_hh_income_0_30k,0.0559,F +coef_cars4_hh_income_0_30k,0.0619,F +coef_retail_auto_no_workers,0.0626,F +coef_cars34_asc_san_francisco,0.1458,F +coef_retail_auto_workers,0.1646,F +coef_cars2_presence_children_5_17,0.2936,F +coef_cars2_num_workers_clip_3,0.2936,F +coef_cars1_presence_children_0_4,0.3669,F +coef_cars1_asc_san_francisco,0.4259,F +coef_cars2_asc_san_francisco,0.4683,F +coef_cars1_auto_time_saving_per_worker,0.4707,F +coef_cars34_presence_children_5_17,0.4769,F +coef_cars3_auto_time_saving_per_worker,0.5705,F +coef_cars2_auto_time_saving_per_worker,0.6142,F +coef_cars3_num_workers_clip_3,0.6389,F +coef_cars234_presence_children_0_4,0.7627,F +coef_cars4_auto_time_saving_per_worker,0.7693,F +coef_cars4_num_workers_clip_3,0.8797,F +coef_cars1_asc,1.1865,F +coef_cars1_drivers_4_up,2.0107,F +coef_cars4_drivers_2,2.6616,F +coef_cars2_drivers_2,3.0773,F +coef_cars3_drivers_2,3.1962,F +coef_cars2_drivers_3,3.5401,F +coef_cars4_drivers_3,5.208,F +coef_cars3_drivers_3,5.5131,F +coef_cars2_drivers_4_up,6.3662,F +coef_cars3_drivers_4_up,8.5148,F +coef_cars4_drivers_4_up,9.5807,F diff --git a/activitysim/examples/example_psrc/configs/cdap.yaml b/activitysim/examples/placeholder_psrc/configs/cdap.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs/cdap.yaml rename to activitysim/examples/placeholder_psrc/configs/cdap.yaml diff --git a/activitysim/examples/example_mtc/configs/cdap_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/cdap_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/cdap_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/cdap_coefficients.csv diff --git a/activitysim/examples/example_arc/configs/cdap_fixed_relative_proportions.csv b/activitysim/examples/placeholder_psrc/configs/cdap_fixed_relative_proportions.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/cdap_fixed_relative_proportions.csv rename to activitysim/examples/placeholder_psrc/configs/cdap_fixed_relative_proportions.csv diff --git a/activitysim/examples/example_psrc/configs/cdap_indiv_and_hhsize1.csv b/activitysim/examples/placeholder_psrc/configs/cdap_indiv_and_hhsize1.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/cdap_indiv_and_hhsize1.csv rename to activitysim/examples/placeholder_psrc/configs/cdap_indiv_and_hhsize1.csv index aafe57bf62..0a666e6e73 100755 --- a/activitysim/examples/example_psrc/configs/cdap_indiv_and_hhsize1.csv +++ b/activitysim/examples/placeholder_psrc/configs/cdap_indiv_and_hhsize1.csv @@ -1,51 +1,51 @@ -Description,Expression,M,N,H -Full-time worker alternative-specific constants,ptype == 1,coef_full_time_worker_asc_M,coef_full_time_worker_asc_N, -Part-time worker alternative-specific constants,ptype == 2,coef_part_time_worker_asc_M,coef_part_time_worker_asc_N, -University student alternative-specific constants,ptype == 3,coef_university_student_asc_M,coef_university_student_asc_N, -Non-working adult alternative-specific constants,ptype == 4,coef_UNAVAILABLE,coef_non_working_adult_asc_N, -Retired alternative-specific constants,ptype == 5,coef_UNAVAILABLE,coef_retired_asc_N, -Driving-age child who is in school alternative-specific constants,ptype == 6,coef_driving_age_child_who_is_in_school_asc_M,coef_driving_age_child_who_is_in_school_asc_N, -Pre-driving-age child who is in school alternative-specific constants,ptype == 7,coef_pre_driving_age_child_who_is_in_school_asc_M,coef_pre_driving_age_child_who_is_in_school_asc_N, -Pre-driving-age child who is in school interaction with age 6 to 9,(ptype == 7) & (age >= 6) & (age <= 9),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M,, -Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N, -Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,coef_pre_driving_age_child_who_is_too_young_for_school_asc_N, -# corrected tm1 age bug,,,, -Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,, -Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,, -#,,,, -Full-time worker interaction with age less than 40,(ptype == 1) & (age < 40),coef_full_time_worker_interaction_with_age_less_than_40_M,, -Retired interaction with age more than 80,(ptype == 5) & (age > 80),,,coef_retired_interaction_with_age_more_than_80_H -Full-time worker interaction with female gender,(ptype == 1) & (sex == 2),coef_full_time_worker_interaction_with_female_gender_M,, -Non-working adult interaction with female gender,(ptype == 4) & (sex == 2),coef_non_working_adult_interaction_with_female_gender_M,, -Retired interaction with female,(ptype == 5) & (sex == 2),coef_retired_interaction_with_female_M,, -Non-working adult interaction with more cars than workers,(ptype == 4) & (auto_ownership > num_workers),coef_non_working_adult_interaction_with_more_cars_than_workers_M,coef_non_working_adult_interaction_with_more_cars_than_workers_N, -Retired interaction with more cars than workers,(ptype == 5) & (auto_ownership > num_workers),coef_retired_interaction_with_more_cars_than_workers_M,coef_retired_interaction_with_more_cars_than_workers_N, -Pre-driving-age child who is too young for school interaction with more cars than workers,(ptype == 8) & (auto_ownership > num_workers),,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N, -Full-time worker interaction with fewer cars than workers,(ptype == 1) & (auto_ownership < num_workers),,,coef_full_time_worker_interaction_with_fewer_cars_than_workers_H -Non-working adult interaction with fewer cars than workers,(ptype == 4) & (auto_ownership < num_workers),,,coef_non_working_adult_interaction_with_fewer_cars_than_workers_H -Retired interaction with fewer cars than workers,(ptype == 5) & (auto_ownership < num_workers),,,coef_retired_interaction_with_fewer_cars_than_workers_H -Driving-age child who is in school interaction with fewer cars than workers,(ptype == 6) & (auto_ownership < num_workers),,,coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H -Pre-driving-age child who is in school interaction with fewer cars than workers,(ptype == 7) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H -Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H -Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,coef_full_time_worker_interaction_with_income_less_than_20k_H -Retired interaction with income less than $20k,(ptype == 5) & (income_in_thousands < 20),,,coef_retired_interaction_with_income_less_than_20k_H -Part-time worker interaction with income less than $20k,(ptype == 2) & (income_in_thousands < 20),,,coef_part_time_worker_interaction_with_income_less_than_20k_H -Part-time worker interaction with income between $50k and $100k,(ptype == 2) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_part_time_worker_interaction_with_income_between_50k_and_100k_H -Part-time worker interaction with income more than $100k,(ptype == 2) & (income_in_thousands >= 100),,coef_part_time_worker_interaction_with_income_more_than_100k_N,coef_part_time_worker_interaction_with_income_more_than_100k_H -Non-working adult interaction with income between $50k and $100k,(ptype == 4) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_non_working_adult_interaction_with_income_between_50k_and_100k_H -Non-working adult interaction with income more than $100k,(ptype == 4) & (income_in_thousands >= 100),,,coef_non_working_adult_interaction_with_income_more_than_100k_H -Driving-age child who is in school interaction with less than $20k,(ptype == 6) & (income_in_thousands < 20),,,coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H -Driving-age child who is in school interaction income between $50k and $100k,(ptype == 6) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H -Driving-age child who is in school interaction with income more than $100k,(ptype == 6) & (income_in_thousands >= 100),,,coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H -Pre-driving-age child who is too young for school interaction with income between $50k and $100k,(ptype == 8) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H -Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income_in_thousands >= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H -Full-time worker intraction with peak accessibility to all employment,(ptype == 1) * auPkTotal,coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M,, -Part-time worker interaction with peak accessibility to all employment,(ptype == 2) * auPkTotal,coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M,, -Non-working adult interaction with peak accessibility to all employment,(ptype == 4) * auPkTotal,coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M,, -Retired interaction with peak accessibility to all employment,(ptype == 5) * auPkTotal,coef_retired_interaction_with_peak_accessibility_to_all_employment_M,, -Non-working adult interaction with off-peak accessibility to retail,(ptype == 4) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -Retired interaction with off-peak accessibility to retail,(ptype == 5) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -University student interaction with off-peak accessibility to retail,(ptype == 3) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -Driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 6) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, -Pre-driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 7) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, -Pre-driving-age child who is too young for school interaction with off-peak accessibility to retail,(ptype == 8) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, +Description,Expression,M,N,H +Full-time worker alternative-specific constants,ptype == 1,coef_full_time_worker_asc_M,coef_full_time_worker_asc_N, +Part-time worker alternative-specific constants,ptype == 2,coef_part_time_worker_asc_M,coef_part_time_worker_asc_N, +University student alternative-specific constants,ptype == 3,coef_university_student_asc_M,coef_university_student_asc_N, +Non-working adult alternative-specific constants,ptype == 4,coef_UNAVAILABLE,coef_non_working_adult_asc_N, +Retired alternative-specific constants,ptype == 5,coef_UNAVAILABLE,coef_retired_asc_N, +Driving-age child who is in school alternative-specific constants,ptype == 6,coef_driving_age_child_who_is_in_school_asc_M,coef_driving_age_child_who_is_in_school_asc_N, +Pre-driving-age child who is in school alternative-specific constants,ptype == 7,coef_pre_driving_age_child_who_is_in_school_asc_M,coef_pre_driving_age_child_who_is_in_school_asc_N, +Pre-driving-age child who is in school interaction with age 6 to 9,(ptype == 7) & (age >= 6) & (age <= 9),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M,, +Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N, +Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,coef_pre_driving_age_child_who_is_too_young_for_school_asc_N, +# corrected tm1 age bug,,,, +Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,, +Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,, +#,,,, +Full-time worker interaction with age less than 40,(ptype == 1) & (age < 40),coef_full_time_worker_interaction_with_age_less_than_40_M,, +Retired interaction with age more than 80,(ptype == 5) & (age > 80),,,coef_retired_interaction_with_age_more_than_80_H +Full-time worker interaction with female gender,(ptype == 1) & (sex == 2),coef_full_time_worker_interaction_with_female_gender_M,, +Non-working adult interaction with female gender,(ptype == 4) & (sex == 2),coef_non_working_adult_interaction_with_female_gender_M,, +Retired interaction with female,(ptype == 5) & (sex == 2),coef_retired_interaction_with_female_M,, +Non-working adult interaction with more cars than workers,(ptype == 4) & (auto_ownership > num_workers),coef_non_working_adult_interaction_with_more_cars_than_workers_M,coef_non_working_adult_interaction_with_more_cars_than_workers_N, +Retired interaction with more cars than workers,(ptype == 5) & (auto_ownership > num_workers),coef_retired_interaction_with_more_cars_than_workers_M,coef_retired_interaction_with_more_cars_than_workers_N, +Pre-driving-age child who is too young for school interaction with more cars than workers,(ptype == 8) & (auto_ownership > num_workers),,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N, +Full-time worker interaction with fewer cars than workers,(ptype == 1) & (auto_ownership < num_workers),,,coef_full_time_worker_interaction_with_fewer_cars_than_workers_H +Non-working adult interaction with fewer cars than workers,(ptype == 4) & (auto_ownership < num_workers),,,coef_non_working_adult_interaction_with_fewer_cars_than_workers_H +Retired interaction with fewer cars than workers,(ptype == 5) & (auto_ownership < num_workers),,,coef_retired_interaction_with_fewer_cars_than_workers_H +Driving-age child who is in school interaction with fewer cars than workers,(ptype == 6) & (auto_ownership < num_workers),,,coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H +Pre-driving-age child who is in school interaction with fewer cars than workers,(ptype == 7) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H +Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H +Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,coef_full_time_worker_interaction_with_income_less_than_20k_H +Retired interaction with income less than $20k,(ptype == 5) & (income_in_thousands < 20),,,coef_retired_interaction_with_income_less_than_20k_H +Part-time worker interaction with income less than $20k,(ptype == 2) & (income_in_thousands < 20),,,coef_part_time_worker_interaction_with_income_less_than_20k_H +Part-time worker interaction with income between $50k and $100k,(ptype == 2) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_part_time_worker_interaction_with_income_between_50k_and_100k_H +Part-time worker interaction with income more than $100k,(ptype == 2) & (income_in_thousands >= 100),,coef_part_time_worker_interaction_with_income_more_than_100k_N,coef_part_time_worker_interaction_with_income_more_than_100k_H +Non-working adult interaction with income between $50k and $100k,(ptype == 4) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_non_working_adult_interaction_with_income_between_50k_and_100k_H +Non-working adult interaction with income more than $100k,(ptype == 4) & (income_in_thousands >= 100),,,coef_non_working_adult_interaction_with_income_more_than_100k_H +Driving-age child who is in school interaction with less than $20k,(ptype == 6) & (income_in_thousands < 20),,,coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H +Driving-age child who is in school interaction income between $50k and $100k,(ptype == 6) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H +Driving-age child who is in school interaction with income more than $100k,(ptype == 6) & (income_in_thousands >= 100),,,coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H +Pre-driving-age child who is too young for school interaction with income between $50k and $100k,(ptype == 8) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H +Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income_in_thousands >= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H +Full-time worker intraction with peak accessibility to all employment,(ptype == 1) * auPkTotal,coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M,, +Part-time worker interaction with peak accessibility to all employment,(ptype == 2) * auPkTotal,coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M,, +Non-working adult interaction with peak accessibility to all employment,(ptype == 4) * auPkTotal,coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M,, +Retired interaction with peak accessibility to all employment,(ptype == 5) * auPkTotal,coef_retired_interaction_with_peak_accessibility_to_all_employment_M,, +Non-working adult interaction with off-peak accessibility to retail,(ptype == 4) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +Retired interaction with off-peak accessibility to retail,(ptype == 5) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +University student interaction with off-peak accessibility to retail,(ptype == 3) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +Driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 6) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, +Pre-driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 7) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, +Pre-driving-age child who is too young for school interaction with off-peak accessibility to retail,(ptype == 8) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, diff --git a/activitysim/examples/example_mtc/configs/cdap_interaction_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/cdap_interaction_coefficients.csv old mode 100644 new mode 100755 similarity index 94% rename from activitysim/examples/example_mtc/configs/cdap_interaction_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/cdap_interaction_coefficients.csv index 854d48ef58..c9d415fe13 --- a/activitysim/examples/example_mtc/configs/cdap_interaction_coefficients.csv +++ b/activitysim/examples/placeholder_psrc/configs/cdap_interaction_coefficients.csv @@ -1,138 +1,138 @@ -activity,interaction_ptypes,coefficient -# 2-way interactions,, -H,11,coef_H_11 -H,12,coef_H_12 -H,13,coef_H_13 -H,14,coef_H_14 -H,15,coef_H_15 -H,16,coef_H_16 -H,17,coef_H_17 -H,18,coef_H_18 -H,22,coef_H_22 -H,23,coef_H_23 -H,24,coef_H_24 -H,25,coef_H_25 -H,26,coef_H_26 -H,27,coef_H_27 -H,28,coef_H_28 -H,33,coef_H_33 -H,34,coef_H_34 -H,35,coef_H_35 -H,36,coef_H_36 -H,37,coef_H_37 -H,38,coef_H_38 -H,44,coef_H_44 -H,45,coef_H_45 -H,46,coef_H_46 -H,47,coef_H_47 -H,48,coef_H_48 -H,55,coef_H_55 -H,56,coef_H_56_57_58 -H,57,coef_H_56_57_58 -H,58,coef_H_56_57_58 -H,66,coef_H_66 -H,67,coef_H_67 -H,68,coef_H_68 -H,77,coef_H_77 -H,78,coef_H_78 -H,88,coef_H_88 -M,11,coef_M_11 -M,12,coef_M_12 -M,13,coef_M_13 -M,16,coef_M_16 -M,17,coef_M_17 -M,18,coef_M_18 -M,22,coef_M_22 -M,23,coef_M_23 -M,26,coef_M_26 -M,27,coef_M_27 -M,28,coef_M_28 -M,33,coef_M_33 -M,36,coef_M_36 -M,37,coef_M_37 -M,38,coef_M_38 -M,66,coef_M_66 -M,67,coef_M_67 -M,68,coef_M_68 -M,77,coef_M_77 -M,78,coef_M_78 -M,88,coef_M_88 -N,11,coef_N_11 -N,12,coef_N_12 -N,13,coef_N_13 -N,14,coef_N_14 -N,15,coef_N_15 -N,16,coef_N_16 -N,17,coef_N_17 -N,18,coef_N_18 -N,22,coef_N_22 -N,23,coef_N_23 -N,24,coef_N_24 -N,25,coef_N_25 -N,26,coef_N_26 -N,27,coef_N_27 -N,28,coef_N_28 -N,33,coef_N_33 -N,34,coef_N_34 -N,35,coef_N_35 -N,36,coef_N_36 -N,37,coef_N_37 -N,38,coef_N_38 -N,44,coef_N_44 -N,45,coef_N_45 -N,46,coef_N_46 -N,47,coef_N_47 -N,48,coef_N_48 -N,55,coef_N_55 -N,56,coef_N_56_57_58 -N,57,coef_N_56_57_58 -N,58,coef_N_56_57_58 -N,66,coef_N_66 -N,67,coef_N_67 -N,68,coef_N_68 -N,77,coef_N_77 -N,78,coef_N_78 -N,88,coef_N_88 -# 3-way interactions,, -H,124,coef_H_124_122_144 -H,122,coef_H_124_122_144 -H,144,coef_H_124_122_144 -H,126,coef_H_126_146 -H,146,coef_H_126_146 -H,222,coef_H_222_224_244 -H,224,coef_H_222_224_244 -H,244,coef_H_222_224_244 -H,226,coef_H_226_246_446 -H,246,coef_H_226_246_446 -H,446,coef_H_226_246_446 -H,266,coef_H_266_466 -H,466,coef_H_266_466 -M,111,coef_M_111 -M,112,coef_M_112_114 -M,114,coef_M_112_114 -M,666,coef_M_666 -N,112,coef_N_112_114 -N,114,coef_N_112_114 -N,124,coef_N_124_122_144 -N,122,coef_N_124_122_144 -N,144,coef_N_124_122_144 -N,166,coef_N_166 -N,222,coef_N_222_224_444 -N,224,coef_N_222_224_444 -N,444,coef_N_222_224_444 -N,246,coef_N_246_226_446 -N,226,coef_N_246_226_446 -N,446,coef_N_246_226_446 -# cdap_final_rules,, -M,5,coef_UNAVAILABLE -M,4,coef_UNAVAILABLE -# cdap_all_people,, -M,***,coef_M_xxx -N,***,coef_N_xxx -H,***,coef_H_xxx -M,****,coef_M_xxxx -N,****,coef_N_xxxx -H,****,coef_H_xxxx -M,*****,coef_M_xxxxx -N,*****,coef_N_xxxxx -H,*****,coef_H_xxxxx +activity,interaction_ptypes,coefficient +# 2-way interactions,, +H,11,coef_H_11 +H,12,coef_H_12 +H,13,coef_H_13 +H,14,coef_H_14 +H,15,coef_H_15 +H,16,coef_H_16 +H,17,coef_H_17 +H,18,coef_H_18 +H,22,coef_H_22 +H,23,coef_H_23 +H,24,coef_H_24 +H,25,coef_H_25 +H,26,coef_H_26 +H,27,coef_H_27 +H,28,coef_H_28 +H,33,coef_H_33 +H,34,coef_H_34 +H,35,coef_H_35 +H,36,coef_H_36 +H,37,coef_H_37 +H,38,coef_H_38 +H,44,coef_H_44 +H,45,coef_H_45 +H,46,coef_H_46 +H,47,coef_H_47 +H,48,coef_H_48 +H,55,coef_H_55 +H,56,coef_H_56_57_58 +H,57,coef_H_56_57_58 +H,58,coef_H_56_57_58 +H,66,coef_H_66 +H,67,coef_H_67 +H,68,coef_H_68 +H,77,coef_H_77 +H,78,coef_H_78 +H,88,coef_H_88 +M,11,coef_M_11 +M,12,coef_M_12 +M,13,coef_M_13 +M,16,coef_M_16 +M,17,coef_M_17 +M,18,coef_M_18 +M,22,coef_M_22 +M,23,coef_M_23 +M,26,coef_M_26 +M,27,coef_M_27 +M,28,coef_M_28 +M,33,coef_M_33 +M,36,coef_M_36 +M,37,coef_M_37 +M,38,coef_M_38 +M,66,coef_M_66 +M,67,coef_M_67 +M,68,coef_M_68 +M,77,coef_M_77 +M,78,coef_M_78 +M,88,coef_M_88 +N,11,coef_N_11 +N,12,coef_N_12 +N,13,coef_N_13 +N,14,coef_N_14 +N,15,coef_N_15 +N,16,coef_N_16 +N,17,coef_N_17 +N,18,coef_N_18 +N,22,coef_N_22 +N,23,coef_N_23 +N,24,coef_N_24 +N,25,coef_N_25 +N,26,coef_N_26 +N,27,coef_N_27 +N,28,coef_N_28 +N,33,coef_N_33 +N,34,coef_N_34 +N,35,coef_N_35 +N,36,coef_N_36 +N,37,coef_N_37 +N,38,coef_N_38 +N,44,coef_N_44 +N,45,coef_N_45 +N,46,coef_N_46 +N,47,coef_N_47 +N,48,coef_N_48 +N,55,coef_N_55 +N,56,coef_N_56_57_58 +N,57,coef_N_56_57_58 +N,58,coef_N_56_57_58 +N,66,coef_N_66 +N,67,coef_N_67 +N,68,coef_N_68 +N,77,coef_N_77 +N,78,coef_N_78 +N,88,coef_N_88 +# 3-way interactions,, +H,124,coef_H_124_122_144 +H,122,coef_H_124_122_144 +H,144,coef_H_124_122_144 +H,126,coef_H_126_146 +H,146,coef_H_126_146 +H,222,coef_H_222_224_244 +H,224,coef_H_222_224_244 +H,244,coef_H_222_224_244 +H,226,coef_H_226_246_446 +H,246,coef_H_226_246_446 +H,446,coef_H_226_246_446 +H,266,coef_H_266_466 +H,466,coef_H_266_466 +M,111,coef_M_111 +M,112,coef_M_112_114 +M,114,coef_M_112_114 +M,666,coef_M_666 +N,112,coef_N_112_114 +N,114,coef_N_112_114 +N,124,coef_N_124_122_144 +N,122,coef_N_124_122_144 +N,144,coef_N_124_122_144 +N,166,coef_N_166 +N,222,coef_N_222_224_444 +N,224,coef_N_222_224_444 +N,444,coef_N_222_224_444 +N,246,coef_N_246_226_446 +N,226,coef_N_246_226_446 +N,446,coef_N_246_226_446 +# cdap_final_rules,, +M,5,coef_UNAVAILABLE +M,4,coef_UNAVAILABLE +# cdap_all_people,, +M,***,coef_M_xxx +N,***,coef_N_xxx +H,***,coef_H_xxx +M,****,coef_M_xxxx +N,****,coef_N_xxxx +H,****,coef_H_xxxx +M,*****,coef_M_xxxxx +N,*****,coef_N_xxxxx +H,*****,coef_H_xxxxx diff --git a/activitysim/examples/example_mtc/configs/constants.yaml b/activitysim/examples/placeholder_psrc/configs/constants.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/constants.yaml rename to activitysim/examples/placeholder_psrc/configs/constants.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/destination_choice_size_terms.csv b/activitysim/examples/placeholder_psrc/configs/destination_choice_size_terms.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone/destination_choice_size_terms.csv rename to activitysim/examples/placeholder_psrc/configs/destination_choice_size_terms.csv diff --git a/activitysim/examples/example_mtc/configs/free_parking.csv b/activitysim/examples/placeholder_psrc/configs/free_parking.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/free_parking.csv rename to activitysim/examples/placeholder_psrc/configs/free_parking.csv diff --git a/activitysim/examples/example_psrc/configs/free_parking.yaml b/activitysim/examples/placeholder_psrc/configs/free_parking.yaml similarity index 93% rename from activitysim/examples/example_psrc/configs/free_parking.yaml rename to activitysim/examples/placeholder_psrc/configs/free_parking.yaml index 4cfd080400..322e6ddc80 100755 --- a/activitysim/examples/example_psrc/configs/free_parking.yaml +++ b/activitysim/examples/placeholder_psrc/configs/free_parking.yaml @@ -1,25 +1,25 @@ - -SPEC: free_parking.csv -COEFFICIENTS: free_parking_coeffs.csv - -#LOGIT_TYPE: NL -LOGIT_TYPE: MNL - -FREE_PARKING_ALT: 0 - -CONSTANTS: - ID_SAN_FRANCISCO: 1 - ID_SAN_MATEO: 2 - ID_SANTA_CLARA: 3 - ID_ALAMEDA: 4 - ID_CONTRA_COSTA: 5 - ID_SOLANO: 6 - ID_NAPA: 7 - ID_SONOMA: 8 - ID_MARIN: 9 - -preprocessor: - SPEC: free_parking_annotate_persons_preprocessor - DF: persons - TABLES: - - land_use + +SPEC: free_parking.csv +COEFFICIENTS: free_parking_coeffs.csv + +#LOGIT_TYPE: NL +LOGIT_TYPE: MNL + +FREE_PARKING_ALT: 0 + +CONSTANTS: + ID_SAN_FRANCISCO: 1 + ID_SAN_MATEO: 2 + ID_SANTA_CLARA: 3 + ID_ALAMEDA: 4 + ID_CONTRA_COSTA: 5 + ID_SOLANO: 6 + ID_NAPA: 7 + ID_SONOMA: 8 + ID_MARIN: 9 + +preprocessor: + SPEC: free_parking_annotate_persons_preprocessor + DF: persons + TABLES: + - land_use diff --git a/activitysim/examples/example_mtc/configs/free_parking_annotate_persons_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/free_parking_annotate_persons_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/free_parking_annotate_persons_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/free_parking_annotate_persons_preprocessor.csv diff --git a/activitysim/examples/example_semcog/configs/free_parking_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/free_parking_coeffs.csv similarity index 96% rename from activitysim/examples/example_semcog/configs/free_parking_coeffs.csv rename to activitysim/examples/placeholder_psrc/configs/free_parking_coeffs.csv index fab036dfbc..dc15f7d038 100755 --- a/activitysim/examples/example_semcog/configs/free_parking_coeffs.csv +++ b/activitysim/examples/placeholder_psrc/configs/free_parking_coeffs.csv @@ -1,9 +1,9 @@ -coefficient_name,value,constrain -coef_asc_san_francisco,-2.6403,F -coef_asc_santa_clara,0.2118,F -coef_asc_alameda,-0.1092,F -coef_income_very_high,0.23,F -coef_income_high,0.23,F -coef_hh_size_4_up,0.253,F -coef_more_autos_than_workers,0.231,F -coef_fewer_autos_than_workers,-1.479,F +coefficient_name,value,constrain +coef_asc_san_francisco,-2.6403,F +coef_asc_santa_clara,0.2118,F +coef_asc_alameda,-0.1092,F +coef_income_very_high,0.23,F +coef_income_high,0.23,F +coef_hh_size_4_up,0.253,F +coef_more_autos_than_workers,0.231,F +coef_fewer_autos_than_workers,-1.479,F diff --git a/activitysim/examples/example_mtc/configs/initialize_households.yaml b/activitysim/examples/placeholder_psrc/configs/initialize_households.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/initialize_households.yaml rename to activitysim/examples/placeholder_psrc/configs/initialize_households.yaml diff --git a/activitysim/examples/example_mtc/configs/initialize_landuse.yaml b/activitysim/examples/placeholder_psrc/configs/initialize_landuse.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/initialize_landuse.yaml rename to activitysim/examples/placeholder_psrc/configs/initialize_landuse.yaml diff --git a/activitysim/examples/example_psrc/configs/joint_tour_composition.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_composition.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/joint_tour_composition.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_composition.csv index f258ea1aa7..de03e3dcc1 100755 --- a/activitysim/examples/example_psrc/configs/joint_tour_composition.csv +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_composition.csv @@ -1,22 +1,22 @@ -Label,Description,Expression,adults,children,mixed -util_asc,Alternative-specific constant,1,,coef_asc_children,coef_asc_mixed -util_tour_purpose_is_eating_out,Joint tour purpose is eating out (dummy),tour_type=='eat',,coef_tour_purpose_is_eating_out_children,coef_tour_purpose_is_eating_out_mixed -util_tour_purpose_is_discretionary,Joint tour purpose is discretionary (dummy),tour_type=='disc',coef_tour_purpose_is_discretionary_adults,coef_tour_purpose_is_discretionary_children, -util_number_of_full_time_workers,Number of Full-Time Workers in the household,num_full_max3,coef_number_of_full_time_workers_adults,,coef_number_of_full_time_workers_mixed -util_number_of_part_time_workers,Number of Part-Time Workers in the household,num_part_max3,coef_number_of_part_time_workers_adults,,coef_number_of_part_time_workers_mixed -util_number_of_university_students,Number of University students in the household,num_univ_max3,coef_number_of_university_students,, -util_number_of_non_workers,Number of Non-Workers in the household,num_nonwork_max3,coef_number_of_non_workers_adults,,coef_number_of_non_workers_mixed -util_number_of_children_too_young_for_school,Number of Children too Young for School in the household,num_preschool_max3,,coef_number_of_children_too_young_for_school_children,coef_number_of_children_too_young_for_school_mixed -util_number_of_pre_driving_age_children,Number of Pre-driving Age Children in the household,num_school_max3,,coef_number_of_pre_driving_age_children_children,coef_number_of_pre_driving_age_children_mixed -util_number_of_driving_age_children,Number of Driving-age Children in the household,num_driving_max3,,coef_number_of_driving_age_children_children,coef_number_of_driving_age_children_mixed -util_low_income_households,Low income households (dummy),income_in_thousands<30,coef_low_income_households_adults,,coef_low_income_households_mixed -util_medium_income_households,Medium income households (dummy),(income_in_thousands>=30) & (income_in_thousands<60),coef_medium_income_households,, -util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed -util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, -util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed -util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, -util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, -util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows -util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, -util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, +Label,Description,Expression,adults,children,mixed +util_asc,Alternative-specific constant,1,,coef_asc_children,coef_asc_mixed +util_tour_purpose_is_eating_out,Joint tour purpose is eating out (dummy),tour_type=='eat',,coef_tour_purpose_is_eating_out_children,coef_tour_purpose_is_eating_out_mixed +util_tour_purpose_is_discretionary,Joint tour purpose is discretionary (dummy),tour_type=='disc',coef_tour_purpose_is_discretionary_adults,coef_tour_purpose_is_discretionary_children, +util_number_of_full_time_workers,Number of Full-Time Workers in the household,num_full_max3,coef_number_of_full_time_workers_adults,,coef_number_of_full_time_workers_mixed +util_number_of_part_time_workers,Number of Part-Time Workers in the household,num_part_max3,coef_number_of_part_time_workers_adults,,coef_number_of_part_time_workers_mixed +util_number_of_university_students,Number of University students in the household,num_univ_max3,coef_number_of_university_students,, +util_number_of_non_workers,Number of Non-Workers in the household,num_nonwork_max3,coef_number_of_non_workers_adults,,coef_number_of_non_workers_mixed +util_number_of_children_too_young_for_school,Number of Children too Young for School in the household,num_preschool_max3,,coef_number_of_children_too_young_for_school_children,coef_number_of_children_too_young_for_school_mixed +util_number_of_pre_driving_age_children,Number of Pre-driving Age Children in the household,num_school_max3,,coef_number_of_pre_driving_age_children_children,coef_number_of_pre_driving_age_children_mixed +util_number_of_driving_age_children,Number of Driving-age Children in the household,num_driving_max3,,coef_number_of_driving_age_children_children,coef_number_of_driving_age_children_mixed +util_low_income_households,Low income households (dummy),income_in_thousands<30,coef_low_income_households_adults,,coef_low_income_households_mixed +util_medium_income_households,Medium income households (dummy),(income_in_thousands>=30) & (income_in_thousands<60),coef_medium_income_households,, +util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed +util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, +util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed +util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, +util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, +util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows +util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, +util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, util_travel_active_adult,At least one adult and at least one child must have Mand or Non Mand activity patterns to have adult/child joint travel,(num_travel_active_adults == 0) | (num_travel_active_children == 0),,,coef_unavailable \ No newline at end of file diff --git a/activitysim/examples/example_arc/configs/joint_tour_composition.yaml b/activitysim/examples/placeholder_psrc/configs/joint_tour_composition.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_composition.yaml rename to activitysim/examples/placeholder_psrc/configs/joint_tour_composition.yaml diff --git a/activitysim/examples/example_mtc/configs/joint_tour_composition_annotate_households_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_composition_annotate_households_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_composition_annotate_households_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_composition_annotate_households_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/joint_tour_composition_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_composition_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_composition_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_composition_coeffs.csv diff --git a/activitysim/examples/example_psrc/configs/joint_tour_destination.yaml b/activitysim/examples/placeholder_psrc/configs/joint_tour_destination.yaml similarity index 96% rename from activitysim/examples/example_psrc/configs/joint_tour_destination.yaml rename to activitysim/examples/placeholder_psrc/configs/joint_tour_destination.yaml index 62ea09b7e1..8d142cb78f 100755 --- a/activitysim/examples/example_psrc/configs/joint_tour_destination.yaml +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_destination.yaml @@ -1,40 +1,40 @@ -include_settings: non_mandatory_tour_destination.yaml - -#SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv -#SPEC: non_mandatory_tour_destination.csv -#COEFFICIENTS: non_mandatory_tour_destination_coeffs.csv -# -#SAMPLE_SIZE: 30 -# -#SIZE_TERM_SELECTOR: non_mandatory -# -## we can't use use household income_segment as this will also be set for non-workers -#CHOOSER_SEGMENT_COLUMN_NAME: tour_type -# -## optional (comment out if not desired) -#DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum -# -## comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table -#DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample -# -# -#SEGMENTS: -# - shopping -# - othmaint -# - othdiscr -# - eatout -# - social -# - escort -# -#SIMULATE_CHOOSER_COLUMNS: -# - tour_type -# - home_zone_id -# - person_id -# -#LOGSUM_SETTINGS: tour_mode_choice.yaml -# -## model-specific logsum-related settings -#CHOOSER_ORIG_COL_NAME: home_zone_id -#ALT_DEST_COL_NAME: alt_dest -#IN_PERIOD: 14 -#OUT_PERIOD: 14 +include_settings: non_mandatory_tour_destination.yaml + +#SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv +#SPEC: non_mandatory_tour_destination.csv +#COEFFICIENTS: non_mandatory_tour_destination_coeffs.csv +# +#SAMPLE_SIZE: 30 +# +#SIZE_TERM_SELECTOR: non_mandatory +# +## we can't use use household income_segment as this will also be set for non-workers +#CHOOSER_SEGMENT_COLUMN_NAME: tour_type +# +## optional (comment out if not desired) +#DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum +# +## comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +#DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample +# +# +#SEGMENTS: +# - shopping +# - othmaint +# - othdiscr +# - eatout +# - social +# - escort +# +#SIMULATE_CHOOSER_COLUMNS: +# - tour_type +# - home_zone_id +# - person_id +# +#LOGSUM_SETTINGS: tour_mode_choice.yaml +# +## model-specific logsum-related settings +#CHOOSER_ORIG_COL_NAME: home_zone_id +#ALT_DEST_COL_NAME: alt_dest +#IN_PERIOD: 14 +#OUT_PERIOD: 14 diff --git a/activitysim/examples/example_mtc/configs/joint_tour_frequency.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency.csv old mode 100644 new mode 100755 similarity index 99% rename from activitysim/examples/example_mtc/configs/joint_tour_frequency.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_frequency.csv index 8405d30649..ed2da406ee --- a/activitysim/examples/example_mtc/configs/joint_tour_frequency.csv +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency.csv @@ -1,77 +1,77 @@ -Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD -util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours -#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, -util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, -#_shopping,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, -util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, -util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, -util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, -util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, -util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, -util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, -util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, -util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, -util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, -#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, -util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, -util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, -util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, -util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, -util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, -util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, -util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, -util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, -util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, -util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, -util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, -util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, -#_eatout,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, -util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, -util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, -util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, -util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, -util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, -util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, -util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, -util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, -util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, -util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, -util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, -util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, -#_visiting,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, -util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, -util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, -util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, -util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, -util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, -util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, -util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, -util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, -util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, -#_discretionary,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc -util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc -util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc -util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc -util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc -util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc -util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc -util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc -util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc -util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc -util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc -util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc -util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc -util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc +Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD +util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours +#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, +util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, +#_shopping,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, +util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, +util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, +util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, +util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, +util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, +util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, +util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, +util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, +util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, +#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, +util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, +util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, +util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, +util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, +util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, +util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, +util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, +util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, +util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, +util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, +util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, +util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, +#_eatout,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, +util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, +util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, +util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, +util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, +util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, +util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, +util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, +util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, +util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, +util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, +util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, +util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, +#_visiting,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, +util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, +util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, +util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, +util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, +util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, +util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, +util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, +util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, +util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, +#_discretionary,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc +util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc +util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc +util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc +util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc +util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc +util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc +util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc +util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc +util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc +util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc +util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc +util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc +util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc util_zeroAutomobiles_dis,zeroAutomobiles_disc,auto_ownership == 0,,,,,,coef_zeroAutomobiles_disc,,,,,coef_zeroAutomobiles_disc,,,,coef_zeroAutomobiles_disc,,,coef_zeroAutomobiles_disc,,coef_zeroAutomobiles_disc,2 * coef_zeroAutomobiles_disc \ No newline at end of file diff --git a/activitysim/examples/example_arc/configs/joint_tour_frequency.yaml b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_frequency.yaml rename to activitysim/examples/placeholder_psrc/configs/joint_tour_frequency.yaml diff --git a/activitysim/examples/example_psrc/configs/joint_tour_frequency_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_alternatives.csv similarity index 94% rename from activitysim/examples/example_psrc/configs/joint_tour_frequency_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_alternatives.csv index fefa93432c..7bf93731f9 100755 --- a/activitysim/examples/example_psrc/configs/joint_tour_frequency_alternatives.csv +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_alternatives.csv @@ -1,23 +1,23 @@ -#,,,,,alt file for building joint tours -alt,shopping,othmaint,eatout,social,othdiscr -0_tours,0,0,0,0,0 -1_Shop,1,0,0,0,0 -1_Main,0,1,0,0,0 -1_Eat,0,0,1,0,0 -1_Visit,0,0,0,1,0 -1_Disc,0,0,0,0,1 -2_SS,2,0,0,0,0 -2_SM,1,1,0,0,0 -2_SE,1,0,1,0,0 -2_SV,1,0,0,1,0 -2_SD,1,0,0,0,1 -2_MM,0,2,0,0,0 -2_ME,0,1,1,0,0 -2_MV,0,1,0,1,0 -2_MD,0,1,0,0,1 -2_EE,0,0,2,0,0 -2_EV,0,0,1,1,0 -2_ED,0,0,1,0,1 -2_VV,0,0,0,2,0 -2_VD,0,0,0,1,1 -2_DD,0,0,0,0,2 +#,,,,,alt file for building joint tours +alt,shopping,othmaint,eatout,social,othdiscr +0_tours,0,0,0,0,0 +1_Shop,1,0,0,0,0 +1_Main,0,1,0,0,0 +1_Eat,0,0,1,0,0 +1_Visit,0,0,0,1,0 +1_Disc,0,0,0,0,1 +2_SS,2,0,0,0,0 +2_SM,1,1,0,0,0 +2_SE,1,0,1,0,0 +2_SV,1,0,0,1,0 +2_SD,1,0,0,0,1 +2_MM,0,2,0,0,0 +2_ME,0,1,1,0,0 +2_MV,0,1,0,1,0 +2_MD,0,1,0,0,1 +2_EE,0,0,2,0,0 +2_EV,0,0,1,1,0 +2_ED,0,0,1,0,1 +2_VV,0,0,0,2,0 +2_VD,0,0,0,1,1 +2_DD,0,0,0,0,2 diff --git a/activitysim/examples/example_mtc/configs/joint_tour_frequency_annotate_households_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_annotate_households_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_frequency_annotate_households_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_annotate_households_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/joint_tour_frequency_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_frequency_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_frequency_coeffs.csv diff --git a/activitysim/examples/example_psrc/configs/joint_tour_participation.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/joint_tour_participation.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_participation.csv index da2e65d1ea..cd692d8d27 100755 --- a/activitysim/examples/example_psrc/configs/joint_tour_participation.csv +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation.csv @@ -1,67 +1,67 @@ -Label,Description,Expression,participate,not_participate -util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not -util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not -util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, -util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, -util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, -util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, -util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, -util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, -util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, -util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, -util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, -util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, -#,,,, -util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not -util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not -util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, -util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, -util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, -util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, -util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, -util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, -util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, -util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, -util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, -util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, -util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, -util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, -#,,,, -util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, -util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, -util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, -util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, -util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, -util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, -util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, -util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, -util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, -util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, -util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, -util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, -#,,,, -util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, -util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, -util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, -util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, -util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, -util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, -util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, -util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, -util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, -util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, -util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, -util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, -#,,,, -util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, -util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, -util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, -util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, -#,,,, -util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, -util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, -util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, -util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable -util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable -util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable -util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable +Label,Description,Expression,participate,not_participate +util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not +util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not +util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, +util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, +util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, +util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, +util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, +util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, +util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, +util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, +util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, +util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, +#,,,, +util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not +util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not +util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, +util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, +util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, +util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, +util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, +util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, +util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, +util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, +util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, +util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, +util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, +util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, +#,,,, +util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, +util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, +util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, +util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, +util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, +util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, +util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, +util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, +util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, +util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, +util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, +util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, +#,,,, +util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, +util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, +util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, +util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, +util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, +util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, +util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, +util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, +util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, +util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, +util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, +util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, +#,,,, +util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, +util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, +util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, +util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, +#,,,, +util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, +util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, +util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, +util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable +util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable +util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable +util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable diff --git a/activitysim/examples/example_semcog/configs/joint_tour_participation.yaml b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation.yaml similarity index 95% rename from activitysim/examples/example_semcog/configs/joint_tour_participation.yaml rename to activitysim/examples/placeholder_psrc/configs/joint_tour_participation.yaml index aee45349f9..59941e8324 100755 --- a/activitysim/examples/example_semcog/configs/joint_tour_participation.yaml +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation.yaml @@ -1,20 +1,20 @@ - -SPEC: joint_tour_participation.csv -COEFFICIENTS: joint_tour_participation_coeffs.csv - -LOGIT_TYPE: MNL - -#max_participation_choice_iterations: 5000 - -preprocessor: - SPEC: joint_tour_participation_annotate_participants_preprocessor - DF: participants -# TABLES: -# - persons -# - accessibility - -annotate_persons: - SPEC: annotate_persons_jtp - DF: persons - TABLES: - - joint_tour_participants + +SPEC: joint_tour_participation.csv +COEFFICIENTS: joint_tour_participation_coeffs.csv + +LOGIT_TYPE: MNL + +#max_participation_choice_iterations: 5000 + +preprocessor: + SPEC: joint_tour_participation_annotate_participants_preprocessor + DF: participants +# TABLES: +# - persons +# - accessibility + +annotate_persons: + SPEC: annotate_persons_jtp + DF: persons + TABLES: + - joint_tour_participants diff --git a/activitysim/examples/example_mtc/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation_annotate_participants_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_participation_annotate_participants_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_participation_annotate_participants_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/joint_tour_participation_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_participation_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_participation_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_participation_coeffs.csv diff --git a/activitysim/examples/example_semcog/configs/joint_tour_scheduling.yaml b/activitysim/examples/placeholder_psrc/configs/joint_tour_scheduling.yaml similarity index 95% rename from activitysim/examples/example_semcog/configs/joint_tour_scheduling.yaml rename to activitysim/examples/placeholder_psrc/configs/joint_tour_scheduling.yaml index 0eebc991b9..1eba33e752 100755 --- a/activitysim/examples/example_semcog/configs/joint_tour_scheduling.yaml +++ b/activitysim/examples/placeholder_psrc/configs/joint_tour_scheduling.yaml @@ -1,12 +1,13 @@ -LOGIT_TYPE: MNL - -SPEC: tour_scheduling_joint.csv -COEFFICIENTS: tour_scheduling_joint_coeffs.csv - -preprocessor: - SPEC: joint_tour_scheduling_annotate_tours_preprocessor - DF: joint_tours - TABLES: - - land_use - - households - - joint_tour_participants + +SPEC: tour_scheduling_joint.csv +COEFFICIENTS: tour_scheduling_joint_coeffs.csv + +LOGIT_TYPE: MNL + +preprocessor: + SPEC: joint_tour_scheduling_annotate_tours_preprocessor + DF: joint_tours + TABLES: + - land_use + - households + - joint_tour_participants diff --git a/activitysim/examples/example_mtc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_psrc/configs/logging.yaml b/activitysim/examples/placeholder_psrc/configs/logging.yaml similarity index 95% rename from activitysim/examples/example_psrc/configs/logging.yaml rename to activitysim/examples/placeholder_psrc/configs/logging.yaml index 815f31f44d..71ac15cc1f 100755 --- a/activitysim/examples/example_psrc/configs/logging.yaml +++ b/activitysim/examples/placeholder_psrc/configs/logging.yaml @@ -1,54 +1,54 @@ -# Config for logging -# ------------------ -# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema - -logging: - version: 1 - disable_existing_loggers: true - - - # Configuring the default (root) logger is highly recommended - root: - level: NOTSET - handlers: [console, logfile] - - loggers: - - activitysim: - level: INFO - handlers: [console, logfile] - propagate: false - - orca: - level: WARN - handlers: [console, logfile] - propagate: false - - handlers: - - logfile: - class: logging.FileHandler - filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] - mode: w - formatter: fileFormatter - level: NOTSET - - console: - class: logging.StreamHandler - stream: ext://sys.stdout - formatter: simpleFormatter - level: NOTSET - - formatters: - - simpleFormatter: - class: logging.Formatter - # format: '%(levelname)s - %(name)s - %(message)s' - format: '%(levelname)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - - fileFormatter: - class: logging.Formatter - format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: NOTSET + handlers: [console, logfile] + + loggers: + + activitysim: + level: INFO + handlers: [console, logfile] + propagate: false + + orca: + level: WARN + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + level: NOTSET + + formatters: + + simpleFormatter: + class: logging.Formatter + # format: '%(levelname)s - %(name)s - %(message)s' + format: '%(levelname)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency.csv b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency.csv similarity index 99% rename from activitysim/examples/example_semcog/configs/mandatory_tour_frequency.csv rename to activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency.csv index 17f68125ab..848bbf77aa 100755 --- a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency.csv +++ b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency.csv @@ -1,101 +1,101 @@ -Label,Description,Expression,work1,work2,school1,school2,work_and_school -util_ft_worker,Full-time worker alternative-specific constants,ptype == 1,0,coef_ft_worker_work2_asc,,, -util_pt_worker,Part-time worker alternative-specific constants,ptype == 2,0,coef_pt_worker_work2_asc,,, -util_univ,University student alternative-specific constants,ptype == 3,coef_univ_work1_asc,coef_univ_work2_asc,0,coef_univ_school2_asc,coef_univ_work_and_school_asc -util_non_working_adult,Non-working adult alternative-specific constants,ptype == 4,,,,, -util_retired,Retired alternative-specific constants,ptype == 5,,,,, -util_driving_age_child,Driving-age child alternative-specific constants,ptype == 6,,,0,coef_driving_age_child_school2_asc,coef_driving_age_child_work_and_school_asc -util_pre_driving_age_child,Pre-driving age child who is in school alternative-specific constants,ptype == 7,,,0,coef_pre_driving_age_child_school2_asc, -util_female_ft_worker,Female - Full-time worker interaction,(ptype == 1) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school -util_female_pt_worker,Female - Part-time worker interaction,(ptype == 2) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school -util_female_univ,Female - University student interaction,(ptype == 3) & female,coef_female_work1,coef_female_work2,coef_female_school1,coef_female_school2,coef_female_work_and_school -util_female_non_working_adult,Female - Non-working adult interaction,(ptype == 4) & female,0,coef_female_work2,coef_female_school1,, -util_female_retired,Female - Retired interaction,(ptype == 5) & female,0,coef_female_work2,coef_female_school1,, -util_female_driving_age_child,Female - Driving-age child interaction,(ptype == 6) & female,coef_female_work1,,0,coef_female_school2,coef_female_work_and_school -util_female_pre_driving,Female - Pre-driving age child who is in school interaction,(ptype == 7) & female,coef_female_work1,,0,coef_female_school2, -util_under_35_ft,Under 35 - Full-time worker interaction,(ptype == 1) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school -util_under_35_pt,Under 35 - Part-time worker interaction,(ptype == 2) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school -util_under_35_univ,Under 35 - University student interaction,(ptype == 3) & (age <= 35),coef_under_35_work1,coef_under_35_work2,0,coef_under_35_school2,coef_under_35_work_and_school -util_under_35_non_working,Under 35 - Non-working adult interaction,(ptype == 4) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,, -util_can_walk_to_work_ft,Can walk to work - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_pt,Can walk to work - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_univ,Can walk to work - University student interaction,(ptype == 3) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_non_working_adult,Can walk to work - Non-working adult interaction,(ptype == 4) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_retired,Can walk to work - Retired interaction,(ptype == 5) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_school_univ,Can walk to school - University student interaction,(ptype == 3) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_school_driving_age_child,Can walk to school - Driving-age child interaction,(ptype == 6) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_school_pre_driving_age_child,Can walk to school - Pre-driving age child who is in school interaction,(ptype == 7) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_work_or_school_ft,Can walk to work or school - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_pt,Can walk to work or school - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_univ,Can walk to work or school - University student interaction,(ptype == 3) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_driving_age_child,Can walk to work or school - Driving-age child interaction,(ptype == 6) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_round_trip_auto_time_to_work_ft,Round trip auto time to work - Full-time worker interaction,(ptype == 1) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_pt,Round trip auto time to work - Part-time worker interaction,(ptype == 2) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_univ,Round trip auto time to work - University student interaction,(ptype == 3) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_non_working_adult,Round trip auto time to work - Non-working adult interaction,(ptype == 4) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, -util_round_trip_auto_time_to_work_retired,Round trip auto time to work - Retired,(ptype == 5) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, -util_round_trip_auto_time_to_school_univ,Round trip auto time to school - University student interaction,(ptype == 3) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school -util_round_trip_auto_time_to_school_driving_age_child,Round trip auto time to school - Driving-age child interaction,(ptype == 6) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school -util_round_trip_auto_time_to_school_pre_driving_age_child,Round trip auto time to school - Pre-driving age child who is in school interaction,(ptype == 7) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2, -util_student_employted_univ,Student is employed - University student interaction,(ptype == 3) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed -util_student_employted_driving_age_child,Student is employed - Driving-age child interaction,(ptype == 6) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed -util_non_student_goes_to_school_ft,Non-student goes to school - Full-time worker interaction,(ptype == 1) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school -util_non_student_goes_to_school_pt,Non-student goes to school - Part-time worker interaction,(ptype == 2) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school -util_non_student_goes_to_school_non_working_adult,Non-student goes to school - Non-working adult interaction,(ptype == 4) & nonstudent_to_school,,,coef_non_student_goes_to_school,, -util_non_student_goes_to_school_retired,Non-student goes to school - Retired interaction,(ptype == 5) & nonstudent_to_school,,,coef_non_student_goes_to_school,, -util_no_cars_in_hh_ft,No cars in household - Full-time worker interaction,(ptype == 1) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_pt,No cars in household - Part-time worker interaction,(ptype == 2) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_unif,No cars in household - University student interaction,(ptype == 3) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_non_working_adult,No cars in household - Non-working adult interaction,(ptype == 4) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, -util_no_cars_in_hh_retired,No cars in household - Retired interaction,(ptype == 5) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, -util_no_cars_in_hh_driving_age_student,No cars in household - Driving-age student interaction,(ptype == 6) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_pre_driving_age,No cars in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2, -util_fewer_cars_than_drivers_univ,Fewer cars than drivers in household - University student interaction,(ptype == 3) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_fewer_cars_than_drivers_driving_age_student,Fewer cars than drivers in household - Driving-age student interaction,(ptype == 6) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_fewer_cars_than_drivers_pre_driving_age,Fewer cars than drivers in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_num_preschool_in_hh_ft,Number of preschool children in household - Full-time worker interaction,(ptype == 1) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_pt,Number of preschool children in household - Part-time worker interaction,(ptype == 2) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_univ,Number of preschool children in household - University student interaction,(ptype == 3) * (num_young_children),coef_num_preschool_in_hh_work1,coef_num_preschool_in_hh_work2,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_non_working_adult,Number of preschool children in household - Non-working adult interaction,(ptype == 4) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, -util_num_preschool_in_hh_retired,Number of preschool children in household - Retired interaction,(ptype == 5) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, -util_num_preschool_in_hh_driving_age_student,Number of preschool children in household - Driving-age student interaction,(ptype == 6) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_pre_driving_age_in_school,Number of preschool children in household - Pre-driving age child who is in school interaction,(ptype == 7) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2, -util_num_nonworkers_in_hh_ft,Number of non-workers in the household - Full-time worker interaction,(ptype == 1) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, -util_num_nonworkers_in_hh_pt,Number of non-workers in the household - Part-time worker interaction,(ptype == 2) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, -util_hh_income_gt_50k_ft,Household income higher than $50k - Full-time worker interaction,(ptype == 1) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school -util_hh_income_gt_50k_pt,Household income higher than $50k - Part-time worker interaction,(ptype == 2) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school -util_hh_income_gt_50k_univ,Household income higher than $50k - University student interaction,(ptype == 3) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,coef_hh_income_gt_50k_work,0,,coef_hh_income_gt_50k_student_work_and_school -util_hh_income_gt_50k_non_working_adult,Household income higher than $50k - Non-working adult interaction,(ptype == 4) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, -util_hh_income_gt_50k_retired,Household income higher than $50k - Retired interaction,(ptype == 5) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, -util_hh_income_gt_50k_driving_age_student,Household income higher than $50k - Driving-age student interaction,(ptype == 6) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,,coef_hh_income_gt_50k_student_work_and_school -util_hh_income_gt_50k_pre_driving_age_student,Household income higher than $50k - Pre-driving age child who is in school interaction,(ptype == 7) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,, -util_non_family_hh_ft,Non-family household - Full-time worker interaction,(ptype == 1) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 -util_non_family_hh_pt,Non-family household - Part-time worker interaction,(ptype == 2) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 -util_non_family_hh_univ,Non-family household - University student interaction,(ptype == 3) & non_family,coef_non_family_hh_category2,coef_non_family_hh_category2,0,,coef_non_family_hh_category2 -util_non_family_hh_non_working_adult,Non-family household - Non-working adult interaction,(ptype == 4) & non_family,0,,coef_non_family_hh_category1,, -util_non_family_hh_retired,Non-family household - Retired interaction,(ptype == 5) & non_family,0,,coef_non_family_hh_category1,, -util_non_family_hh_driving_age_student,Non-family household - Driving-age student interaction,(ptype == 6) & non_family,coef_non_family_hh_category2,,0,,coef_non_family_hh_category2 -util_non_family_hh_pre_driving_age_student,Non-family household - Pre-driving age child who is in school interaction,(ptype == 7) & non_family,coef_non_family_hh_category2,,0,, -util_num_under_16_not_at_school_ft,Number of children under 16 not at school - Full-time worker interaction,(ptype == 1) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_pt,Number of children under 16 not at school - Part-time worker interaction,(ptype == 2) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_univ,Number of children under 16 not at school - University student interaction,(ptype == 3) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_non_working_adult,Number of children under 16 not at school - Non-working adult interaction,(ptype == 4) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, -util_num_under_16_not_at_school_retired,Number of children under 16 not at school - Retired,(ptype == 5) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, -util_num_under_16_not_at_school_driving_age_student,Number of children under 16 not at school - Driving-age student interaction,(ptype == 6) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_pre_driving_age,Number of children under 16 not at school - Pre-driving age child who is in school interaction,(ptype == 7) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2, -util_nome_urban_ft,Home is in urban area - Full-time worker interaction,(ptype == 1) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school -util_nome_urban_pt,Home is in urban area - Part-time worker interaction,(ptype == 2) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school -util_nome_urban_univ,Home is in urban area - University student interaction,(ptype == 3) & home_is_urban,coef_home_urban_work1,coef_home_urban_work2,0,coef_home_urban_school2,coef_home_urban_work_and_school -util_nome_urban_non_working_adult,Home is in urban area - Non-working adult interaction,(ptype == 4) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, -util_nome_urban_retired,Home is in urban area - Retired interaction,(ptype == 5) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, -util_nome_urban_driving_age_student,Home is in urban area - Driving-age student interaction,(ptype == 6) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2,coef_home_urban_work_and_school -util_nome_urban_pre_driving_age_student,Home is in urban area - Pre-driving age child who is in school interaction,(ptype == 7) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2, -util_availability_ft,Unavailable: Full-time worker,ptype == 1,,,,coef_unavailable, -util_availability_pt,Unavailable: Part-time worker,ptype == 2,,,,coef_unavailable, -util_availability_non_working_adult,Unavailable: Non-working adult,ptype == 4,,,,coef_unavailable,coef_unavailable -util_availability_retired,Unavailable: Retired,ptype == 5,,,,coef_unavailable,coef_unavailable -util_availability_driving_age_child,Unavailable: Driving-age child,ptype == 6,coef_unavailable,coef_unavailable,,, -util_availability_pre_driving_age_student,Unavailable: Pre-driving age child who is in school,ptype == 7,,coef_unavailable,,,coef_unavailable -util_availability_pre_driving_age_not_in_school,Unavailable: Pre-driving age child who is not in school,ptype == 8,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable -util_availability_work_tours_no_usual_work_location,Unavailable: Work tours for those with no usual work location,~(workplace_zone_id > -1),coef_unavailable,coef_unavailable,,,coef_unavailable -util_availability_school_tours_no_usual_school_location,Unavailable: School tours for those with no usual school location,~(school_zone_id > -1),,,coef_unavailable,coef_unavailable,coef_unavailable +Label,Description,Expression,work1,work2,school1,school2,work_and_school +util_ft_worker,Full-time worker alternative-specific constants,ptype == 1,0,coef_ft_worker_work2_asc,,, +util_pt_worker,Part-time worker alternative-specific constants,ptype == 2,0,coef_pt_worker_work2_asc,,, +util_univ,University student alternative-specific constants,ptype == 3,coef_univ_work1_asc,coef_univ_work2_asc,0,coef_univ_school2_asc,coef_univ_work_and_school_asc +util_non_working_adult,Non-working adult alternative-specific constants,ptype == 4,,,,, +util_retired,Retired alternative-specific constants,ptype == 5,,,,, +util_driving_age_child,Driving-age child alternative-specific constants,ptype == 6,,,0,coef_driving_age_child_school2_asc,coef_driving_age_child_work_and_school_asc +util_pre_driving_age_child,Pre-driving age child who is in school alternative-specific constants,ptype == 7,,,0,coef_pre_driving_age_child_school2_asc, +util_female_ft_worker,Female - Full-time worker interaction,(ptype == 1) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school +util_female_pt_worker,Female - Part-time worker interaction,(ptype == 2) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school +util_female_univ,Female - University student interaction,(ptype == 3) & female,coef_female_work1,coef_female_work2,coef_female_school1,coef_female_school2,coef_female_work_and_school +util_female_non_working_adult,Female - Non-working adult interaction,(ptype == 4) & female,0,coef_female_work2,coef_female_school1,, +util_female_retired,Female - Retired interaction,(ptype == 5) & female,0,coef_female_work2,coef_female_school1,, +util_female_driving_age_child,Female - Driving-age child interaction,(ptype == 6) & female,coef_female_work1,,0,coef_female_school2,coef_female_work_and_school +util_female_pre_driving,Female - Pre-driving age child who is in school interaction,(ptype == 7) & female,coef_female_work1,,0,coef_female_school2, +util_under_35_ft,Under 35 - Full-time worker interaction,(ptype == 1) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school +util_under_35_pt,Under 35 - Part-time worker interaction,(ptype == 2) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school +util_under_35_univ,Under 35 - University student interaction,(ptype == 3) & (age <= 35),coef_under_35_work1,coef_under_35_work2,0,coef_under_35_school2,coef_under_35_work_and_school +util_under_35_non_working,Under 35 - Non-working adult interaction,(ptype == 4) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,, +util_can_walk_to_work_ft,Can walk to work - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_pt,Can walk to work - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_univ,Can walk to work - University student interaction,(ptype == 3) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_non_working_adult,Can walk to work - Non-working adult interaction,(ptype == 4) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_retired,Can walk to work - Retired interaction,(ptype == 5) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_school_univ,Can walk to school - University student interaction,(ptype == 3) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_school_driving_age_child,Can walk to school - Driving-age child interaction,(ptype == 6) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_school_pre_driving_age_child,Can walk to school - Pre-driving age child who is in school interaction,(ptype == 7) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_work_or_school_ft,Can walk to work or school - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_pt,Can walk to work or school - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_univ,Can walk to work or school - University student interaction,(ptype == 3) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_driving_age_child,Can walk to work or school - Driving-age child interaction,(ptype == 6) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_round_trip_auto_time_to_work_ft,Round trip auto time to work - Full-time worker interaction,(ptype == 1) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_pt,Round trip auto time to work - Part-time worker interaction,(ptype == 2) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_univ,Round trip auto time to work - University student interaction,(ptype == 3) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_non_working_adult,Round trip auto time to work - Non-working adult interaction,(ptype == 4) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, +util_round_trip_auto_time_to_work_retired,Round trip auto time to work - Retired,(ptype == 5) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, +util_round_trip_auto_time_to_school_univ,Round trip auto time to school - University student interaction,(ptype == 3) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school +util_round_trip_auto_time_to_school_driving_age_child,Round trip auto time to school - Driving-age child interaction,(ptype == 6) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school +util_round_trip_auto_time_to_school_pre_driving_age_child,Round trip auto time to school - Pre-driving age child who is in school interaction,(ptype == 7) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2, +util_student_employted_univ,Student is employed - University student interaction,(ptype == 3) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed +util_student_employted_driving_age_child,Student is employed - Driving-age child interaction,(ptype == 6) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed +util_non_student_goes_to_school_ft,Non-student goes to school - Full-time worker interaction,(ptype == 1) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school +util_non_student_goes_to_school_pt,Non-student goes to school - Part-time worker interaction,(ptype == 2) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school +util_non_student_goes_to_school_non_working_adult,Non-student goes to school - Non-working adult interaction,(ptype == 4) & nonstudent_to_school,,,coef_non_student_goes_to_school,, +util_non_student_goes_to_school_retired,Non-student goes to school - Retired interaction,(ptype == 5) & nonstudent_to_school,,,coef_non_student_goes_to_school,, +util_no_cars_in_hh_ft,No cars in household - Full-time worker interaction,(ptype == 1) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_pt,No cars in household - Part-time worker interaction,(ptype == 2) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_unif,No cars in household - University student interaction,(ptype == 3) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_non_working_adult,No cars in household - Non-working adult interaction,(ptype == 4) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, +util_no_cars_in_hh_retired,No cars in household - Retired interaction,(ptype == 5) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, +util_no_cars_in_hh_driving_age_student,No cars in household - Driving-age student interaction,(ptype == 6) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_pre_driving_age,No cars in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2, +util_fewer_cars_than_drivers_univ,Fewer cars than drivers in household - University student interaction,(ptype == 3) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_fewer_cars_than_drivers_driving_age_student,Fewer cars than drivers in household - Driving-age student interaction,(ptype == 6) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_fewer_cars_than_drivers_pre_driving_age,Fewer cars than drivers in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_num_preschool_in_hh_ft,Number of preschool children in household - Full-time worker interaction,(ptype == 1) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_pt,Number of preschool children in household - Part-time worker interaction,(ptype == 2) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_univ,Number of preschool children in household - University student interaction,(ptype == 3) * (num_young_children),coef_num_preschool_in_hh_work1,coef_num_preschool_in_hh_work2,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_non_working_adult,Number of preschool children in household - Non-working adult interaction,(ptype == 4) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, +util_num_preschool_in_hh_retired,Number of preschool children in household - Retired interaction,(ptype == 5) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, +util_num_preschool_in_hh_driving_age_student,Number of preschool children in household - Driving-age student interaction,(ptype == 6) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_pre_driving_age_in_school,Number of preschool children in household - Pre-driving age child who is in school interaction,(ptype == 7) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2, +util_num_nonworkers_in_hh_ft,Number of non-workers in the household - Full-time worker interaction,(ptype == 1) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, +util_num_nonworkers_in_hh_pt,Number of non-workers in the household - Part-time worker interaction,(ptype == 2) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, +util_hh_income_gt_50k_ft,Household income higher than $50k - Full-time worker interaction,(ptype == 1) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school +util_hh_income_gt_50k_pt,Household income higher than $50k - Part-time worker interaction,(ptype == 2) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school +util_hh_income_gt_50k_univ,Household income higher than $50k - University student interaction,(ptype == 3) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,coef_hh_income_gt_50k_work,0,,coef_hh_income_gt_50k_student_work_and_school +util_hh_income_gt_50k_non_working_adult,Household income higher than $50k - Non-working adult interaction,(ptype == 4) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, +util_hh_income_gt_50k_retired,Household income higher than $50k - Retired interaction,(ptype == 5) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, +util_hh_income_gt_50k_driving_age_student,Household income higher than $50k - Driving-age student interaction,(ptype == 6) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,,coef_hh_income_gt_50k_student_work_and_school +util_hh_income_gt_50k_pre_driving_age_student,Household income higher than $50k - Pre-driving age child who is in school interaction,(ptype == 7) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,, +util_non_family_hh_ft,Non-family household - Full-time worker interaction,(ptype == 1) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 +util_non_family_hh_pt,Non-family household - Part-time worker interaction,(ptype == 2) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 +util_non_family_hh_univ,Non-family household - University student interaction,(ptype == 3) & non_family,coef_non_family_hh_category2,coef_non_family_hh_category2,0,,coef_non_family_hh_category2 +util_non_family_hh_non_working_adult,Non-family household - Non-working adult interaction,(ptype == 4) & non_family,0,,coef_non_family_hh_category1,, +util_non_family_hh_retired,Non-family household - Retired interaction,(ptype == 5) & non_family,0,,coef_non_family_hh_category1,, +util_non_family_hh_driving_age_student,Non-family household - Driving-age student interaction,(ptype == 6) & non_family,coef_non_family_hh_category2,,0,,coef_non_family_hh_category2 +util_non_family_hh_pre_driving_age_student,Non-family household - Pre-driving age child who is in school interaction,(ptype == 7) & non_family,coef_non_family_hh_category2,,0,, +util_num_under_16_not_at_school_ft,Number of children under 16 not at school - Full-time worker interaction,(ptype == 1) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_pt,Number of children under 16 not at school - Part-time worker interaction,(ptype == 2) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_univ,Number of children under 16 not at school - University student interaction,(ptype == 3) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_non_working_adult,Number of children under 16 not at school - Non-working adult interaction,(ptype == 4) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, +util_num_under_16_not_at_school_retired,Number of children under 16 not at school - Retired,(ptype == 5) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, +util_num_under_16_not_at_school_driving_age_student,Number of children under 16 not at school - Driving-age student interaction,(ptype == 6) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_pre_driving_age,Number of children under 16 not at school - Pre-driving age child who is in school interaction,(ptype == 7) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2, +util_nome_urban_ft,Home is in urban area - Full-time worker interaction,(ptype == 1) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school +util_nome_urban_pt,Home is in urban area - Part-time worker interaction,(ptype == 2) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school +util_nome_urban_univ,Home is in urban area - University student interaction,(ptype == 3) & home_is_urban,coef_home_urban_work1,coef_home_urban_work2,0,coef_home_urban_school2,coef_home_urban_work_and_school +util_nome_urban_non_working_adult,Home is in urban area - Non-working adult interaction,(ptype == 4) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, +util_nome_urban_retired,Home is in urban area - Retired interaction,(ptype == 5) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, +util_nome_urban_driving_age_student,Home is in urban area - Driving-age student interaction,(ptype == 6) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2,coef_home_urban_work_and_school +util_nome_urban_pre_driving_age_student,Home is in urban area - Pre-driving age child who is in school interaction,(ptype == 7) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2, +util_availability_ft,Unavailable: Full-time worker,ptype == 1,,,,coef_unavailable, +util_availability_pt,Unavailable: Part-time worker,ptype == 2,,,,coef_unavailable, +util_availability_non_working_adult,Unavailable: Non-working adult,ptype == 4,,,,coef_unavailable,coef_unavailable +util_availability_retired,Unavailable: Retired,ptype == 5,,,,coef_unavailable,coef_unavailable +util_availability_driving_age_child,Unavailable: Driving-age child,ptype == 6,coef_unavailable,coef_unavailable,,, +util_availability_pre_driving_age_student,Unavailable: Pre-driving age child who is in school,ptype == 7,,coef_unavailable,,,coef_unavailable +util_availability_pre_driving_age_not_in_school,Unavailable: Pre-driving age child who is not in school,ptype == 8,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable +util_availability_work_tours_no_usual_work_location,Unavailable: Work tours for those with no usual work location,~(workplace_zone_id > -1),coef_unavailable,coef_unavailable,,,coef_unavailable +util_availability_school_tours_no_usual_school_location,Unavailable: School tours for those with no usual school location,~(school_zone_id > -1),,,coef_unavailable,coef_unavailable,coef_unavailable diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency.yaml b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency.yaml similarity index 94% rename from activitysim/examples/example_semcog/configs/mandatory_tour_frequency.yaml rename to activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency.yaml index ce768bbaa7..de8e115fd5 100755 --- a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency.yaml +++ b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency.yaml @@ -1,10 +1,10 @@ - -SPEC: mandatory_tour_frequency.csv -COEFFICIENTS: mandatory_tour_frequency_coeffs.csv - -annotate_persons: - SPEC: annotate_persons_mtf - DF: persons - TABLES: - - tours - + +SPEC: mandatory_tour_frequency.csv +COEFFICIENTS: mandatory_tour_frequency_coeffs.csv + +annotate_persons: + SPEC: annotate_persons_mtf + DF: persons + TABLES: + - tours + diff --git a/activitysim/examples/example_mtc/configs/mandatory_tour_frequency_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency_alternatives.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/mandatory_tour_frequency_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency_alternatives.csv diff --git a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency_coeffs.csv similarity index 97% rename from activitysim/examples/example_psrc/configs/mandatory_tour_frequency_coeffs.csv rename to activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency_coeffs.csv index 8a4137324f..9bf04b2878 100755 --- a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency_coeffs.csv +++ b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_frequency_coeffs.csv @@ -1,54 +1,54 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_ft_worker_work2_asc,-3.3781,F -coef_pt_worker_work2_asc,-3.0476,F -coef_univ_work1_asc,2.166,F -coef_univ_work2_asc,-1.3965,F -coef_univ_school2_asc,-3.7429,F -coef_univ_work_and_school_asc,0.1073,F -coef_driving_age_child_school2_asc,-3.136,F -coef_driving_age_child_work_and_school_asc,-4.4362,F -coef_pre_driving_age_child_school2_asc,-3.9703,F -coef_female_work1,0.1737,F -coef_female_work2,-0.2255,F -coef_female_school1,0.1592,F -coef_female_school2,0.114,F -coef_female_work_and_school,-0.3442,F -coef_female_univ_work1,0.1737,F -coef_under_35_work1,-0.4629,F -coef_under_35_work2,-0.1375,F -coef_under_35_school1,0.7218,F -coef_under_35_school2,1.275,F -coef_under_35_work_and_school,0.9761,F -coef_can_walk_to_work_work2,0.5268,F -coef_can_walk_to_work_school2,0.7114,F -coef_can_walk_to_work_and_school,0.1391,F -coef_round_trip_auto_time_to_work_work2,-0.0035,F -coef_round_trip_auto_time_to_work_school2,-0.0034,F -coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F -coef_student_employed,3.014,F -coef_non_student_goes_to_school,3.883,F -coef_no_cars_in_hh_work2,-1.306,F -coef_no_cars_in_hh_school2,-1.413,F -coef_no_cars_in_hh_work_and_school,-1.302,F -coef_few_cars_than_drivers_school2,-0.5759,F -coef_num_preschool_in_hh_work1,0.2191,F -coef_num_preschool_in_hh_work2,-0.1478,F -coef_num_preschool_in_hh_school1,-0.1335,F -coef_num_preschool_in_hh_school2,-0.5577,F -coef_num_preschool_in_hh_work_and_school,-0.1251,F -coef_num_non_workers_in_hh_school1,0.2574,F -coef_hh_income_gt_50k_work,-0.0528,F -coef_hh_income_gt_50k_school1,0.0347,F -coef_hh_income_gt_50k_worker_work_and_school,0.0347,F -coef_hh_income_gt_50k_student_work_and_school,-0.0528,F -coef_non_family_hh_category1,-0.25,F -coef_non_family_hh_category2,-0.1792,F -coef_num_under_16_not_at_school_work2,0.1804 -coef_num_under_16_not_at_school_school2,0.0866 -coef_num_under_16_not_at_school_work_and_school,-0.1955 -coef_home_urban_work1,-0.2831 -coef_home_urban_work2,0.2308 -coef_home_urban_school1,-0.1361 -coef_home_urban_school2,0.317 -coef_home_urban_work_and_school,-0.3509 +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_ft_worker_work2_asc,-3.3781,F +coef_pt_worker_work2_asc,-3.0476,F +coef_univ_work1_asc,2.166,F +coef_univ_work2_asc,-1.3965,F +coef_univ_school2_asc,-3.7429,F +coef_univ_work_and_school_asc,0.1073,F +coef_driving_age_child_school2_asc,-3.136,F +coef_driving_age_child_work_and_school_asc,-4.4362,F +coef_pre_driving_age_child_school2_asc,-3.9703,F +coef_female_work1,0.1737,F +coef_female_work2,-0.2255,F +coef_female_school1,0.1592,F +coef_female_school2,0.114,F +coef_female_work_and_school,-0.3442,F +coef_female_univ_work1,0.1737,F +coef_under_35_work1,-0.4629,F +coef_under_35_work2,-0.1375,F +coef_under_35_school1,0.7218,F +coef_under_35_school2,1.275,F +coef_under_35_work_and_school,0.9761,F +coef_can_walk_to_work_work2,0.5268,F +coef_can_walk_to_work_school2,0.7114,F +coef_can_walk_to_work_and_school,0.1391,F +coef_round_trip_auto_time_to_work_work2,-0.0035,F +coef_round_trip_auto_time_to_work_school2,-0.0034,F +coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F +coef_student_employed,3.014,F +coef_non_student_goes_to_school,3.883,F +coef_no_cars_in_hh_work2,-1.306,F +coef_no_cars_in_hh_school2,-1.413,F +coef_no_cars_in_hh_work_and_school,-1.302,F +coef_few_cars_than_drivers_school2,-0.5759,F +coef_num_preschool_in_hh_work1,0.2191,F +coef_num_preschool_in_hh_work2,-0.1478,F +coef_num_preschool_in_hh_school1,-0.1335,F +coef_num_preschool_in_hh_school2,-0.5577,F +coef_num_preschool_in_hh_work_and_school,-0.1251,F +coef_num_non_workers_in_hh_school1,0.2574,F +coef_hh_income_gt_50k_work,-0.0528,F +coef_hh_income_gt_50k_school1,0.0347,F +coef_hh_income_gt_50k_worker_work_and_school,0.0347,F +coef_hh_income_gt_50k_student_work_and_school,-0.0528,F +coef_non_family_hh_category1,-0.25,F +coef_non_family_hh_category2,-0.1792,F +coef_num_under_16_not_at_school_work2,0.1804 +coef_num_under_16_not_at_school_school2,0.0866 +coef_num_under_16_not_at_school_work_and_school,-0.1955 +coef_home_urban_work1,-0.2831 +coef_home_urban_work2,0.2308 +coef_home_urban_school1,-0.1361 +coef_home_urban_school2,0.317 +coef_home_urban_work_and_school,-0.3509 diff --git a/activitysim/examples/example_psrc/configs/mandatory_tour_scheduling.yaml b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_scheduling.yaml similarity index 95% rename from activitysim/examples/example_psrc/configs/mandatory_tour_scheduling.yaml rename to activitysim/examples/placeholder_psrc/configs/mandatory_tour_scheduling.yaml index 511e708b13..871f159ca7 100755 --- a/activitysim/examples/example_psrc/configs/mandatory_tour_scheduling.yaml +++ b/activitysim/examples/placeholder_psrc/configs/mandatory_tour_scheduling.yaml @@ -1,42 +1,42 @@ - -SIMULATE_CHOOSER_COLUMNS: - - ptype - - hhsize - - roundtrip_auto_time_to_work - - num_workers - - income_in_thousands - - work_and_school_and_worker - - work_and_school_and_student - - workplace_in_cbd - - home_is_rural - - mandatory_tour_frequency - - is_worker - - is_student - - is_university - - workplace_zone_id - - school_zone_id - - home_zone_id - -LOGSUM_SETTINGS: tour_mode_choice.yaml - -# school and univ have the same spec file and coefficients but are handled seperately -# because mode_choice_logsums has distinct specs and ceofficients for univ and school -TOUR_SPEC_SEGMENTS: - work: work - school: school - univ: school - -SPEC_SEGMENTS: - work: - 'SPEC': tour_scheduling_work.csv - 'COEFFICIENTS': tour_scheduling_work_coeffs.csv - school: - 'SPEC': tour_scheduling_school.csv - 'COEFFICIENTS': tour_scheduling_school_coeffs.csv - -#CHOOSER_ORIG_COL_NAME: home_zone_id - -DESTINATION_FOR_TOUR_PURPOSE: - work: workplace_zone_id - school: school_zone_id - univ: school_zone_id + +SIMULATE_CHOOSER_COLUMNS: + - ptype + - hhsize + - roundtrip_auto_time_to_work + - num_workers + - income_in_thousands + - work_and_school_and_worker + - work_and_school_and_student + - workplace_in_cbd + - home_is_rural + - mandatory_tour_frequency + - is_worker + - is_student + - is_university + - workplace_zone_id + - school_zone_id + - home_zone_id + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +# school and univ have the same spec file and coefficients but are handled seperately +# because mode_choice_logsums has distinct specs and ceofficients for univ and school +TOUR_SPEC_SEGMENTS: + work: work + school: school + univ: school + +SPEC_SEGMENTS: + work: + 'SPEC': tour_scheduling_work.csv + 'COEFFICIENTS': tour_scheduling_work_coeffs.csv + school: + 'SPEC': tour_scheduling_school.csv + 'COEFFICIENTS': tour_scheduling_school_coeffs.csv + +#CHOOSER_ORIG_COL_NAME: home_zone_id + +DESTINATION_FOR_TOUR_PURPOSE: + work: workplace_zone_id + school: school_zone_id + univ: school_zone_id diff --git a/activitysim/examples/example_psrc/configs/network_los.yaml b/activitysim/examples/placeholder_psrc/configs/network_los.yaml similarity index 96% rename from activitysim/examples/example_psrc/configs/network_los.yaml rename to activitysim/examples/placeholder_psrc/configs/network_los.yaml index afe6a260e0..0debd458b6 100755 --- a/activitysim/examples/example_psrc/configs/network_los.yaml +++ b/activitysim/examples/placeholder_psrc/configs/network_los.yaml @@ -1,35 +1,35 @@ -#inherit_settings: True - -# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) -read_skim_cache: True -# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs -write_skim_cache: True - -zone_system: 2 - -# glob 'skims*.omx' will match one or more files: skims.omx, skims1.omx, skims2.omx... -taz_skims: skims*.omx - - -maz: maz.csv - -maz_to_maz: - tables: - - maz_to_maz_walk.csv - - maz_to_maz_bike.csv - - # maz_to_maz blending distance (missing or 0 means no blending) - max_blend_distance: - DIST: 0 - # blend distance of 0 means no blending - DISTBIKE: 0 - DISTWALK: 0 - - # missing means use the skim value itself rather than DIST skim (e.g. DISTBIKE) - #blend_distance_skim_name: DIST - -skim_time_periods: - time_window: 1440 - period_minutes: 60 - periods: [0, 6, 11, 16, 20, 24] - labels: ['EA', 'AM', 'MD', 'PM', 'EV'] +#inherit_settings: True + +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +zone_system: 2 + +# glob 'skims*.omx' will match one or more files: skims.omx, skims1.omx, skims2.omx... +taz_skims: skims*.omx + + +maz: maz.csv + +maz_to_maz: + tables: + - maz_to_maz_walk.csv + - maz_to_maz_bike.csv + + # maz_to_maz blending distance (missing or 0 means no blending) + max_blend_distance: + DIST: 0 + # blend distance of 0 means no blending + DISTBIKE: 0 + DISTWALK: 0 + + # missing means use the skim value itself rather than DIST skim (e.g. DISTBIKE) + #blend_distance_skim_name: DIST + +skim_time_periods: + time_window: 1440 + period_minutes: 60 + periods: [0, 6, 11, 16, 20, 24] + labels: ['EA', 'AM', 'MD', 'PM', 'EV'] diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.csv index 169becf1e3..18c6234ac4 100755 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.csv +++ b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.csv @@ -1,10 +1,10 @@ -Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr -"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 -"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 -Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum -Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1,1,1 +Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr +"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 +"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 +Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum +Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1,1,1 diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.yaml b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.yaml similarity index 95% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.yaml rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.yaml index d790aea2f7..3bc2483c88 100755 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination.yaml +++ b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination.yaml @@ -1,38 +1,38 @@ -SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv -SPEC: non_mandatory_tour_destination.csv -COEFFICIENTS: non_mandatory_tour_destination_coeffs.csv - -SAMPLE_SIZE: 30 - -SIZE_TERM_SELECTOR: non_mandatory - -# we can't use use household income_segment as this will also be set for non-workers -CHOOSER_SEGMENT_COLUMN_NAME: tour_type - -# optional (comment out if not desired) -DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum - -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if no saved alt logsum table -DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample - - -SEGMENTS: - - shopping - - othmaint - - othdiscr - - eatout - - social - - escort - -SIMULATE_CHOOSER_COLUMNS: - - tour_type - - home_zone_id - - person_id - -LOGSUM_SETTINGS: tour_mode_choice.yaml - -# model-specific logsum-related settings -CHOOSER_ORIG_COL_NAME: home_zone_id -ALT_DEST_COL_NAME: alt_dest -IN_PERIOD: 14 -OUT_PERIOD: 14 +SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv +SPEC: non_mandatory_tour_destination.csv +COEFFICIENTS: non_mandatory_tour_destination_coeffs.csv + +SAMPLE_SIZE: 30 + +SIZE_TERM_SELECTOR: non_mandatory + +# we can't use use household income_segment as this will also be set for non-workers +CHOOSER_SEGMENT_COLUMN_NAME: tour_type + +# optional (comment out if not desired) +DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if no saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample + + +SEGMENTS: + - shopping + - othmaint + - othdiscr + - eatout + - social + - escort + +SIMULATE_CHOOSER_COLUMNS: + - tour_type + - home_zone_id + - person_id + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: home_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 14 +OUT_PERIOD: 14 diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination_coeffs.csv similarity index 96% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_coeffs.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination_coeffs.csv index 50fd905b41..6e3d75d717 100755 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_coeffs.csv +++ b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination_coeffs.csv @@ -1,21 +1,21 @@ -coefficient_name,value,constrain -coef_mode_logsum,0.6755,F -coef_escort_dist_0_2,-0.1499,F -coef_eatout_dist_0_2,-0.5609,F -coef_eatout_social_0_2,-0.5609,F -# coef_eatout_dist_0_2,-0.7841,F -coef_othdiscr_dist_0_2,-0.1677,F -coef_escort_dist_2_5,-0.8671,F -coef_shopping_dist_2_5,-0.5655,F -coef_eatout_dist_2_5,-0.3192,F -coef_othmaint_dist_2_5,-0.6055,F -coef_social_dist_2_5,-0.3485,F -coef_othdiscr_dist_2_5,-0.4955,F -coef_escort_dist_5_plus,-0.2137,F -coef_shopping_dist_5_plus,-0.1832,F -coef_eatout_dist_5_plus,-0.1238,F -coef_othmaint_dist_5_plus,-0.1093,F -coef_social_dist_5_plus,-0.1306,F -coef_othdiscr_dist_5_plus,-0.1193,F - - +coefficient_name,value,constrain +coef_mode_logsum,0.6755,F +coef_escort_dist_0_2,-0.1499,F +coef_eatout_dist_0_2,-0.5609,F +coef_eatout_social_0_2,-0.5609,F +# coef_eatout_dist_0_2,-0.7841,F +coef_othdiscr_dist_0_2,-0.1677,F +coef_escort_dist_2_5,-0.8671,F +coef_shopping_dist_2_5,-0.5655,F +coef_eatout_dist_2_5,-0.3192,F +coef_othmaint_dist_2_5,-0.6055,F +coef_social_dist_2_5,-0.3485,F +coef_othdiscr_dist_2_5,-0.4955,F +coef_escort_dist_5_plus,-0.2137,F +coef_shopping_dist_5_plus,-0.1832,F +coef_eatout_dist_5_plus,-0.1238,F +coef_othmaint_dist_5_plus,-0.1093,F +coef_social_dist_5_plus,-0.1306,F +coef_othdiscr_dist_5_plus,-0.1193,F + + diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_destination_sample.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination_sample.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_destination_sample.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_destination_sample.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency.csv old mode 100644 new mode 100755 similarity index 99% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency.csv index c295ea5b07..76c60822e2 --- a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency.csv +++ b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency.csv @@ -1,211 +1,211 @@ -Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL -util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour -util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour -util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour -util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour -util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour -util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour -util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mand == 0) & (num_hh_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours -util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mand > 0) | (num_hh_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours -util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1 -util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 -util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 -util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4 -util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5 -util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus -util_number_of_mandatory_tours_and_tour_frequency_is_0,Number of Mandatory tours & tour frequency =0,num_mand*(tot_tours == 0),coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0 -util_number_of_mandatory_tours_and_tour_frequency_is_1,Number of Mandatory tours & tour frequency =1,num_mand*(tot_tours == 1),coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1 -util_number_of_mandatory_tours_and_tour_frequency_is_2,Number of Mandatory tours & tour frequency =2,num_mand*(tot_tours == 2),coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2 -util_number_of_mandatory_tours_and_tour_frequency_is_3,Number of Mandatory tours & tour frequency =3,num_mand*(tot_tours == 3),coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3 -util_number_of_mandatory_tours_and_tour_frequency_is_4,Number of Mandatory tours & tour frequency =4,num_mand*(tot_tours == 4),coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4 -util_number_of_mandatory_tours_and_tour_frequency_is_5_plus,Number of Mandatory tours & tour frequency = 5+,num_mand*(tot_tours > 4),coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus -util_number_of_joint_tours_and_tour_frequency_is_0,Number of Joint tours & tour frequency =0,num_hh_joint_tours*(tot_tours == 0),coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0 -util_number_of_joint_tours_and_tour_frequency_is_1,Number of Joint tours & tour frequency =1,num_hh_joint_tours*(tot_tours == 1),coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1 -util_number_of_joint_tours_and_tour_frequency_is_2,Number of Joint tours & tour frequency =2,num_hh_joint_tours*(tot_tours == 2),coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2 -util_number_of_joint_tours_and_tour_frequency_is_3,Number of Joint tours & tour frequency =3,num_hh_joint_tours*(tot_tours == 3),coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3 -util_number_of_joint_tours_and_tour_frequency_is_4,Number of Joint tours & tour frequency =4,num_hh_joint_tours*(tot_tours == 4),coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4 -util_number_of_joint_tours_and_tour_frequency_is_5_plus,Number of Joint tours & tour frequency = 5+,num_hh_joint_tours*(tot_tours > 4),coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus -util_number_of_joint_shopping_tours,Number of Joint Shopping tours,shopping * num_hh_joint_shop_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours -util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,othmaint * num_hh_joint_maint_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours -util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,eatout * num_hh_joint_eatout_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours -util_number_of_joint_visit_tours,Number of Joint Visit tours,social * num_hh_joint_social_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours -util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,othdiscr * num_hh_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours -util_logged_maximum_residual_window_tour_frequency_is_0,"Logged Maximum Residual Window, tour frequency =0",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 0),coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0 -util_logged_maximum_residual_window_tour_frequency_is_1,"Logged Maximum Residual Window, tour frequency =1",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 1),coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1 -util_logged_maximum_residual_window_tour_frequency_is_2,"Logged Maximum Residual Window, tour frequency =2",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 2),coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2 -util_logged_maximum_residual_window_tour_frequency_is_3,"Logged Maximum Residual Window, tour frequency =3",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 3),coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3 -util_logged_maximum_residual_window_tour_frequency_is_4,"Logged Maximum Residual Window, tour frequency =4",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 4),coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4 -util_logged_maximum_residual_window_tour_frequency_is_5_plus,"Logged Maximum Residual Window, tour frequency =5+",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours > 4),coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus -util_mediumlow_income_group_and_tour_frequency_is_1,Dummy for Mediumlow Income group (20K-50K) & tour frequency=1,medium_low_income & (tot_tours == 1),coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1 -util_mediumlow_income_group_and_tour_frequency_is_2,Dummy for Mediumlow Income group (20K-50K) & tour frequency=2,medium_low_income & (tot_tours == 2),coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2 -util_mediumlow_income_group_and_tour_frequency_is_3,Dummy for Mediumlow Income group (20K-50K) & tour frequency=3,medium_low_income & (tot_tours == 3),coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3 -util_mediumlow_income_group_and_tour_frequency_is_4,Dummy for Mediumlow Income group (20K-50K) & tour frequency=4,medium_low_income & (tot_tours == 4),coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4 -util_mediumlow_income_group_and_tour_frequency_is_5_plus,Dummy for Mediumlow Income group (20K-50K) & tour frequency=5+,medium_low_income & (tot_tours > 4),coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus -util_mediumhigh_income_group_and_tour_frequency_is_1,Dummy for MediumHigh Income group (50K-100K) & tour frequency=1,medium_high_income & (tot_tours == 1),coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1 -util_mediumhigh_income_group_and_tour_frequency_is_2,Dummy for MediumHigh Income group (50K-100K) & tour frequency=2,medium_high_income & (tot_tours == 2),coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2 -util_mediumhigh_income_group_and_tour_frequency_is_3,Dummy for MediumHigh Income group (50K-100K) & tour frequency=3,medium_high_income & (tot_tours == 3),coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3 -util_mediumhigh_income_group_and_tour_frequency_is_4,Dummy for MediumHigh Income group (50K-100K) & tour frequency=4,medium_high_income & (tot_tours == 4),coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4 -util_mediumhigh_income_group_and_tour_frequency_is_5_plus,Dummy for MediumHigh Income group (50K-100K) & tour frequency=5+,medium_high_income & (tot_tours > 4),coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus -util_high_income_group_and_tour_frequency_is_1,Dummy for High Income group (>100K) & tour frequency=1,high_income & (tot_tours == 1),coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1 -util_high_income_group_and_tour_frequency_is_2,Dummy for High Income group (>100K) & tour frequency=2,high_income & (tot_tours == 2),coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2 -util_high_income_group_and_tour_frequency_is_3,Dummy for High Income group (>100K) & tour frequency=3,high_income & (tot_tours == 3),coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3 -util_high_income_group_and_tour_frequency_is_4,Dummy for High Income group (>100K) & tour frequency=4,high_income & (tot_tours == 4),coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4 -util_high_income_group_and_tour_frequency_is_5_plus,Dummy for High Income group (>100K) & tour frequency=5+,high_income & (tot_tours > 4),coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus -util_mediumlow_income_group_and_shopping_tour,Dummy for Mediumlow Income group (20K-50K) & shopping tour,medium_low_income * shopping,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour -util_mediumhigh_income_group_and_shopping_tour,Dummy for Mediumhigh Income group (50K-100K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour -util_high_income_group_and_shopping_tour,Dummy for High Income group (>100K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour -util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (20K-50K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour -util_mediumhigh_income_group_and_maintenance_tour,Dummy for Mediumhigh Income group (50K-100K) & maintenance tour,medium_high_income * othmaint,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour -util_high_income_group_and_maintenance_tour,Dummy for High Income group (>100K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour -util_mediumlow_income_group_and_eating_out_tour,Dummy for Mediumlow Income group (20K-50K) & Eating out tour,medium_low_income * eatout,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour -util_mediumhigh_income_group_and_eating_out_tour,Dummy for Mediumhigh Income group (50K-100K) & Eating out tour,medium_high_income * eatout,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour -util_high_income_group_and_eating_out_tour,Dummy for High Income group (>100K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour -util_mediumlow_income_group_and_discretionary_tour,Dummy for Mediumlow Income group (20K-50K) & Discretionary tour,medium_low_income * othdiscr,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour -util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (50K-100K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour -util_high_income_group_and_discretionary_tour,Dummy for High Income group (>100K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour -util_mediumlow_income_group_and_visiting_tour,Dummy for Mediumlow Income group (20K-50K) & Visiting tour,medium_low_income * social,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour -util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour -util_high_income_group_and_visiting_tour,Dummy for High Income group (>100K) & Visiting tour,high_income * social,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour -util_female_and_tour_frequency_is_1,Dummy for Female & tour frequency =1,female & (tot_tours == 1),coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1 -util_female_and_tour_frequency_is_2,Dummy for Female & tour frequency =2,female & (tot_tours == 2),coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2 -util_female_and_tour_frequency_is_3,Dummy for Female & tour frequency =3,female & (tot_tours == 3),coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3 -util_female_and_tour_frequency_is_4,Dummy for Female & tour frequency =4,female & (tot_tours == 4),coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4 -util_female_and_tour_frequency_is_5,Dummy for Female & tour frequency =5,female & (tot_tours == 5),coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5 -util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour -util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour -util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour -util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour -util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour -util_zero_car_ownership_and_tour_frequency_is_1,Dummy for zero car ownership & tour frequency =1,no_cars & (tot_tours == 1),coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1 -util_zero_car_ownership_and_tour_frequency_is_2,Dummy for zero car ownership & tour frequency =2,no_cars & (tot_tours == 2),coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2 -util_zero_car_ownership_and_tour_frequency_is_3,Dummy for zero car ownership & tour frequency =3,no_cars & (tot_tours == 3),coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3 -util_zero_car_ownership_and_tour_frequency_is_4,Dummy for zero car ownership & tour frequency =4,no_cars & (tot_tours == 4),coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4 -util_zero_car_ownership_and_tour_frequency_is_5_plus,Dummy for zero car ownership & tour frequency =5+,no_cars & (tot_tours > 4),coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus -util_car_shortage_vs_workers_and_tour_frequency_is_1,Dummy for Car Shortage vs Workers & tour frequency =1,~no_cars & (car_sufficiency < 0) & (tot_tours == 1),coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1 -util_car_shortage_vs_workers_and_tour_frequency_is_2,Dummy for Car Shortage vs Workers & tour frequency =2,~no_cars & (car_sufficiency < 0) & (tot_tours == 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2 -util_car_shortage_vs_workers_and_tour_frequency_is_3,Dummy for Car Shortage vs Workers & tour frequency =3,~no_cars & (car_sufficiency < 0) & (tot_tours == 3),coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3 -util_car_shortage_vs_workers_and_tour_frequency_is_4,Dummy for Car Shortage vs Workers & tour frequency =4,~no_cars & (car_sufficiency < 0) & (tot_tours == 4),coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4 -util_car_shortage_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Shortage vs Workers & tour frequency =5+,~no_cars & (car_sufficiency < 0) & (tot_tours > 4),coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus -util_car_surplus_vs_workers_and_tour_frequency_is_1,Dummy for Car Surplus vs Workers & tour frequency =1,~no_cars & (car_sufficiency > 0) & (tot_tours == 1),coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1 -util_car_surplus_vs_workers_and_tour_frequency_is_2,Dummy for Car Surplus vs Workers & tour frequency =2,~no_cars & (car_sufficiency > 0) & (tot_tours == 2),coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2 -util_car_surplus_vs_workers_and_tour_frequency_is_3,Dummy for Car Surplus vs Workers & tour frequency =3,~no_cars & (car_sufficiency > 0) & (tot_tours == 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3 -util_car_surplus_vs_workers_and_tour_frequency_is_4,Dummy for Car Surplus vs Workers & tour frequency =4,~no_cars & (car_sufficiency > 0) & (tot_tours == 4),coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4 -util_car_surplus_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Surplus vs Workers & tour frequency =5+,~no_cars & (car_sufficiency > 0) & (tot_tours > 4),coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus -util_presence_of_non_worker_and_tour_frequency_is_1,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =1,has_non_worker & (tot_tours == 1),coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1 -util_presence_of_non_worker_and_tour_frequency_is_2,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =2,has_non_worker & (tot_tours == 2),coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2 -util_presence_of_non_worker_and_tour_frequency_is_3,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =3,has_non_worker & (tot_tours == 3),coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3 -util_presence_of_non_worker_and_tour_frequency_is_4,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =4,has_non_worker & (tot_tours == 4),coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4 -util_presence_of_non_worker_and_tour_frequency_is_5,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =5,has_non_worker & (tot_tours == 5),coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5 -util_presence_of_retiree_and_tour_frequency_is_1,Dummy for Presence of Retiree(other than modeled person) & tour frequency =1,has_retiree & (tot_tours == 1),coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1 -util_presence_of_retiree_and_tour_frequency_is_2,Dummy for Presence of Retiree(other than modeled person) & tour frequency =2,has_retiree & (tot_tours == 2),coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2 -util_presence_of_retiree_and_tour_frequency_is_3,Dummy for Presence of Retiree(other than modeled person) & tour frequency =3,has_retiree & (tot_tours == 3),coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3 -util_presence_of_retiree_and_tour_frequency_is_4,Dummy for Presence of Retiree(other than modeled person) & tour frequency =4,has_retiree & (tot_tours == 4),coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4 -util_presence_of_retiree_and_tour_frequency_is_5,Dummy for Presence of Retiree(other than modeled person) & tour frequency =5,has_retiree & (tot_tours == 5),coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =1,has_preschool_kid & (tot_tours == 1),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =2,has_preschool_kid & (tot_tours == 2),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =3,has_preschool_kid & (tot_tours == 3),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =4,has_preschool_kid & (tot_tours == 4),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =5,has_preschool_kid & (tot_tours == 5),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =1,has_school_kid & (tot_tours == 1),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =2,has_school_kid & (tot_tours == 2),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =3,has_school_kid & (tot_tours == 3),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =4,has_school_kid & (tot_tours == 4),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =5,has_school_kid & (tot_tours == 5),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 -util_presence_of_full_time_worker_and_escorting_tour,Dummy for Presence of Full time Worker (other than modeled person) & Escorting tour ,has_full_time * escort,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour -util_presence_of_part_time_worker_and_escorting_tour,Dummy for Presence of Part time Worker (other than modeled person) & Escorting tour ,has_part_time * escort,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour -util_presence_of_non_worker_and_escorting_tour,Dummy for Presence of Non-Worker (other than modeled person) & Escorting tour ,has_non_worker * escort,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour -util_presence_of_retiree_and_escorting_tour,Dummy for Presence of Retiree (other than modeled person) & Escorting tour ,has_retiree * escort,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour -util_presence_of_university_student_and_escorting_tour,Dummy for Presence of University Student (other than modeled person) & Escorting tour ,has_university * escort,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour -util_presence_of_driving_school_kid_and_escorting_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Escorting tour ,has_driving_kid * escort,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour -util_presence_of_pre_driving_school_kid_and_escorting_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Escorting tour ,has_school_kid * escort,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour -util_presence_of_pre_school_kid_and_escorting_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Escorting tour ,has_preschool_kid * escort,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour -util_at_home_pre_driving_school_kid_and_escorting_tour,Dummy for At home Pre-Driving School Kid & Escorting tour ,has_school_kid_at_home * escort,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour -util_at_home_pre_school_kid_and_escorting_tour,Dummy for At homef Pre-School Kid & Escorting tour ,has_preschool_kid_at_home * escort,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour -util_presence_of_full_time_worker_and_shopping_tour,Dummy for Presence of Full time Worker (other than modeled person) & Shopping tour ,has_full_time * shopping,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour -util_presence_of_part_time_worker_and_shopping_tour,Dummy for Presence of Part time Worker (other than modeled person) & Shopping tour ,has_part_time * shopping,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour -util_presence_of_non_worker_and_shopping_tour,Dummy for Presence of Non-Worker (other than modeled person) & Shopping tour ,has_non_worker * shopping,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour -util_presence_of_retiree_and_shopping_tour,Dummy for Presence of Retiree (other than modeled person) & Shopping tour ,has_retiree * shopping,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour -util_presence_of_university_student_and_shopping_tour,Dummy for Presence of University Student (other than modeled person) & Shopping tour ,has_university * shopping,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour -util_presence_of_driving_school_kid_and_shopping_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Shopping tour ,has_driving_kid * shopping,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour -util_presence_of_pre_driving_school_kid_and_shopping_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Shopping tour ,has_school_kid * shopping,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour -util_presence_of_pre_school_kid_and_shopping_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Shopping tour ,has_preschool_kid * shopping,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour -util_at_home_pre_driving_school_kid_and_shopping_tour,Dummy for At home Pre-Driving School Kid & Shopping tour ,has_school_kid_at_home * shopping,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour -util_at_home_pre_school_kid_and_shopping_tour,Dummy for At homef Pre-School Kid & Shopping tour ,has_preschool_kid_at_home * shopping,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour -util_presence_of_full_time_worker_and_maintenance_tour,Dummy for Presence of Full time Worker (other than modeled person) & Maintenance tour ,has_full_time * othmaint,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour -util_presence_of_part_time_worker_and_maintenance_tour,Dummy for Presence of Part time Worker (other than modeled person) & Maintenance tour ,has_part_time * othmaint,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour -util_presence_of_non_worker_and_maintenance_tour,Dummy for Presence of Non-Worker(other than modeled person) & Maintenance tour ,has_non_worker * othmaint,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour -util_presence_of_retiree_and_maintenance_tour,Dummy for Presence of Retiree (other than modeled person) & Maintenance tour ,has_retiree * othmaint,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour -util_presence_of_university_student_and_maintenance_tour,Dummy for Presence of University Student (other than modeled person) & Maintenance tour ,has_university * othmaint,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour -util_presence_of_driving_school_kid_and_maintenance_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Maintenance tour ,has_driving_kid * othmaint,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour -util_presence_of_pre_driving_school_kid_and_maintenance_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Maintenance tour ,has_school_kid * othmaint,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour -util_presence_of_pre_school_kid_and_maintenance_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Maintenance tour ,has_preschool_kid * othmaint,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour -util_at_home_pre_driving_school_kid_and_maintenance_tour,Dummy for At home Pre-Driving School Kid & Maintenance tour ,has_school_kid_at_home * othmaint,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour -util_at_home_pre_school_kid_and_maintenance_tour,Dummy for At homef Pre-School Kid & Maintenance tour ,has_preschool_kid_at_home * othmaint,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour -util_presence_of_full_time_worker_and_eating_out_tour,Dummy for Presence of Full time Worker (other than modeled person) & Eating Out tour ,has_full_time * eatout,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour -util_presence_of_part_time_worker_and_eating_out_tour,Dummy for Presence of Part time Worker (other than modeled person) & Eating Out tour ,has_part_time * eatout,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour -util_presence_of_non_worker_and_eating_out_tour,Dummy for Presence of Non-Worker (other than modeled person) & Eating Out tour ,has_non_worker * eatout,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour -util_presence_of_retiree_and_eating_out_tour,Dummy for Presence of Retiree (other than modeled person) & Eating Out tour ,has_retiree * eatout,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour -util_presence_of_university_student_and_eating_out_tour,Dummy for Presence of University Student (other than modeled person) & Eating Out tour ,has_university * eatout,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour -util_presence_of_driving_school_kid_and_eating_out_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Eating Out tour ,has_driving_kid * eatout,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour -util_presence_of_pre_driving_school_kid_and_eating_out_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,has_school_kid * eatout,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour -util_presence_of_pre_school_kid_and_eating_out_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Eating Out tour ,has_preschool_kid * eatout,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour -util_at_home_pre_driving_school_kid_and_eating_out_tour,Dummy for At home Pre-Driving School Kid & Eating Out tour ,has_school_kid_at_home * eatout,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour -util_at_home_pre_school_kid_and_eating_out_tour,Dummy for At homef Pre-School Kid & Eating Out tour ,has_preschool_kid_at_home * eatout,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour -util_presence_of_full_time_worker_and_discretionary_tour,Dummy for Presence of Full time Worker (other than modeled person) & Discretionary tour ,has_full_time * othdiscr,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour -util_presence_of_part_time_worker_and_discretionary_tour,Dummy for Presence of Part time Worker (other than modeled person) & Discretionary tour ,has_part_time * othdiscr,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour -util_presence_of_non_worker_and_discretionary_tour,Dummy for Presence of Non-Worker (other than modeled person) & Discretionary tour ,has_non_worker * othdiscr,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour -util_presence_of_retiree_and_discretionary_tour,Dummy for Presence of Retiree (other than modeled person) & Discretionary tour ,has_retiree * othdiscr,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour -util_presence_of_university_student_and_discretionary_tour,Dummy for Presence of University Student (other than modeled person) & Discretionary tour ,has_university * othdiscr,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour -util_presence_of_driving_school_kid_and_discretionary_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Discretionary tour ,has_driving_kid * othdiscr,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour -util_presence_of_pre_driving_school_kid_and_discretionary_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,has_school_kid * othdiscr,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour -util_presence_of_pre_school_kid_and_discretionary_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Discretionary tour ,has_preschool_kid * othdiscr,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour -util_at_home_pre_driving_school_kid_and_discretionary_tour,Dummy for At home Pre-Driving School Kid & Discretionary tour ,has_school_kid_at_home * othdiscr,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour -util_at_home_pre_school_kid_and_discretionary_tour,Dummy for At homef Pre-School Kid & Discretionary tour ,has_preschool_kid_at_home * othdiscr,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour -util_walk_access_to_retail_and_tour_frequency_is_1,Walk Access to Retail & Tour Frequency =1,nmRetail * (tot_tours == 1),coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1 -util_walk_access_to_retail_and_tour_frequency_is_2,Walk Access to Retail & Tour Frequency =2,nmRetail * (tot_tours == 2),coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2 -util_walk_access_to_retail_and_tour_frequency_is_3,Walk Access to Retail & Tour Frequency =3,nmRetail * (tot_tours == 3),coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3 -util_walk_access_to_retail_and_tour_frequency_is_4,Walk Access to Retail & Tour Frequency =4,nmRetail * (tot_tours == 4),coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4 -util_walk_access_to_retail_and_tour_frequency_is_5_plus,Walk Access to Retail & Tour Frequency =5+,nmRetail * (tot_tours > 4),coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus -util_transit_access_to_retail_and_tour_frequency_is_1,Transit Access to Retail & Tour Frequency =1,trOpRetail * (tot_tours == 1),coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1 -util_transit_access_to_retail_and_tour_frequency_is_2,Transit Access to Retail & Tour Frequency =2,trOpRetail * (tot_tours == 2),coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2 -util_transit_access_to_retail_and_tour_frequency_is_3,Transit Access to Retail & Tour Frequency =3,trOpRetail * (tot_tours == 3),coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3 -util_transit_access_to_retail_and_tour_frequency_is_4,Transit Access to Retail & Tour Frequency =4,trOpRetail * (tot_tours == 4),coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4 -util_transit_access_to_retail_and_tour_frequency_is_5_plus,Transit Access to Retail & Tour Frequency =5+,trOpRetail * (tot_tours > 4),coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus -util_auto_access_to_retail_and_tour_frequency_is_1,Auto Access to Retail & Tour Frequency =1,auOpRetail * (tot_tours == 1),coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1 -util_auto_access_to_retail_and_tour_frequency_is_2,Auto Access to Retail & Tour Frequency =2,auOpRetail * (tot_tours == 2),coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2 -util_auto_access_to_retail_and_tour_frequency_is_3,Auto Access to Retail & Tour Frequency =3,auOpRetail * (tot_tours == 3),coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3 -util_auto_access_to_retail_and_tour_frequency_is_4,Auto Access to Retail & Tour Frequency =4,auOpRetail * (tot_tours == 4),coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4 -util_auto_access_to_retail_and_tour_frequency_is_5_plus,Auto Access to Retail & Tour Frequency =5+,auOpRetail * (tot_tours > 4),coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus -util_walk_access_to_retail_and_escorting,Walk Access to Retail & Escorting ,nmRetail * escort,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting -util_transit_access_to_retail_and_escorting,Transit Access to Retail & Escorting ,trOpRetail * escort,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting -util_auto_access_to_retail_and_escorting,Auto Access to Retail & Escorting ,auOpRetail * escort,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting -util_walk_access_to_retail_and_shopping,Walk Access to Retail & Shopping ,nmRetail * shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping -util_transit_access_to_retail_and_shopping,Transit Access to Retail & Shopping ,trOpRetail * shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping -util_auto_access_to_retail_and_shopping,Auto Access to Retail & Shopping ,auOpRetail * shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping -util_walk_access_to_retail_and_maintenance,Walk Access to Retail & Maintenance ,nmRetail * othmaint,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance -util_transit_access_to_retail_and_maintenance,Transit Access to Retail & Maintenance ,trOpRetail * othmaint,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance -util_auto_access_to_retail_and_maintenance,Auto Access to Retail & Maintenance ,auOpRetail * othmaint,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance -util_walk_access_to_retail_and_eating_out,Walk Access to Retail & Eating Out ,nmRetail * eatout,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out -util_transit_access_to_retail_and_eating_out,Transit Access to Retail & Eating Out ,trOpRetail * eatout,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out -util_auto_access_to_retail_and_eating_out,Auto Access to Retail & Eating Out ,auOpRetail * eatout,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out -util_walk_access_to_retail_and_discretionary,Walk Access to Retail & Discretionary ,nmRetail * othdiscr,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary -util_transit_access_to_retail_and_discretionary,Transit Access to Retail & Discretionary ,trOpRetail * othdiscr,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary -util_auto_access_to_retail_and_discretionary,Auto Access to Retail & Discretionary ,auOpRetail * othdiscr,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary -util_urban_and_tour_frequency_is_1,Urban Areatype & Tour Frequency =1,home_is_urban & (tot_tours == 1),coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1 -util_urban_and_tour_frequency_is_2,Urban Areatype & Tour Frequency =2,home_is_urban & (tot_tours == 2),coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2 -util_urban_and_tour_frequency_is_3,Urban Areatype & Tour Frequency =3,home_is_urban & (tot_tours == 3),coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3 -util_urban_and_tour_frequency_is_4,Urban Areatype & Tour Frequency =4,home_is_urban & (tot_tours == 4),coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4 -util_urban_and_tour_frequency_is_5_plus,Urban Areatype & Tour Frequency =5+,home_is_urban & (tot_tours > 4),coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus -util_urban_and_escorting_tour,Urban Areatype & Escorting tour,home_is_urban * escort,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour -util_urban_and_shopping_tour,Urban Areatype &Shopping tour,home_is_urban * shopping,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour -util_urban_and_maintenance_tour,Urban Areatype & Maintenance tour,home_is_urban * othmaint,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour -util_urban_and_eatingout_tour,Urban Areatype & EatingOut tour,home_is_urban * eatout,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour -util_urban_and_discretionary_tour,Urban Areatype & Discretionary tour,home_is_urban * othdiscr,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour -util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant -util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant -util_1_plus_shopping_tours_constant,1+ Shopping Tours Constant,shopping >= 1,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant -util_1_plus_maintenance_tours_constant,1+ Maintenance Tours Constant,othmaint >= 1,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant -util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,eatout >= 1,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant -util_1_plus_visting_tours_constant,1+ Visting Tours Constant,social >= 1,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant -util_1_plus_other_discretionary_tours_constant,1+ Other Discretionary Tours Constant,othdiscr >= 1,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant +Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL +util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour +util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour +util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour +util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour +util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour +util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour +util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mand == 0) & (num_hh_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours +util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mand > 0) | (num_hh_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours +util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1 +util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 +util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 +util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4 +util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5 +util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus +util_number_of_mandatory_tours_and_tour_frequency_is_0,Number of Mandatory tours & tour frequency =0,num_mand*(tot_tours == 0),coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0 +util_number_of_mandatory_tours_and_tour_frequency_is_1,Number of Mandatory tours & tour frequency =1,num_mand*(tot_tours == 1),coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1 +util_number_of_mandatory_tours_and_tour_frequency_is_2,Number of Mandatory tours & tour frequency =2,num_mand*(tot_tours == 2),coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2 +util_number_of_mandatory_tours_and_tour_frequency_is_3,Number of Mandatory tours & tour frequency =3,num_mand*(tot_tours == 3),coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3 +util_number_of_mandatory_tours_and_tour_frequency_is_4,Number of Mandatory tours & tour frequency =4,num_mand*(tot_tours == 4),coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4 +util_number_of_mandatory_tours_and_tour_frequency_is_5_plus,Number of Mandatory tours & tour frequency = 5+,num_mand*(tot_tours > 4),coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus +util_number_of_joint_tours_and_tour_frequency_is_0,Number of Joint tours & tour frequency =0,num_hh_joint_tours*(tot_tours == 0),coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0 +util_number_of_joint_tours_and_tour_frequency_is_1,Number of Joint tours & tour frequency =1,num_hh_joint_tours*(tot_tours == 1),coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1 +util_number_of_joint_tours_and_tour_frequency_is_2,Number of Joint tours & tour frequency =2,num_hh_joint_tours*(tot_tours == 2),coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2 +util_number_of_joint_tours_and_tour_frequency_is_3,Number of Joint tours & tour frequency =3,num_hh_joint_tours*(tot_tours == 3),coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3 +util_number_of_joint_tours_and_tour_frequency_is_4,Number of Joint tours & tour frequency =4,num_hh_joint_tours*(tot_tours == 4),coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4 +util_number_of_joint_tours_and_tour_frequency_is_5_plus,Number of Joint tours & tour frequency = 5+,num_hh_joint_tours*(tot_tours > 4),coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus +util_number_of_joint_shopping_tours,Number of Joint Shopping tours,shopping * num_hh_joint_shop_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours +util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,othmaint * num_hh_joint_maint_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours +util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,eatout * num_hh_joint_eatout_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours +util_number_of_joint_visit_tours,Number of Joint Visit tours,social * num_hh_joint_social_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours +util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,othdiscr * num_hh_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours +util_logged_maximum_residual_window_tour_frequency_is_0,"Logged Maximum Residual Window, tour frequency =0",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 0),coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0 +util_logged_maximum_residual_window_tour_frequency_is_1,"Logged Maximum Residual Window, tour frequency =1",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 1),coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1 +util_logged_maximum_residual_window_tour_frequency_is_2,"Logged Maximum Residual Window, tour frequency =2",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 2),coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2 +util_logged_maximum_residual_window_tour_frequency_is_3,"Logged Maximum Residual Window, tour frequency =3",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 3),coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3 +util_logged_maximum_residual_window_tour_frequency_is_4,"Logged Maximum Residual Window, tour frequency =4",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 4),coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4 +util_logged_maximum_residual_window_tour_frequency_is_5_plus,"Logged Maximum Residual Window, tour frequency =5+",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours > 4),coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus +util_mediumlow_income_group_and_tour_frequency_is_1,Dummy for Mediumlow Income group (20K-50K) & tour frequency=1,medium_low_income & (tot_tours == 1),coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1 +util_mediumlow_income_group_and_tour_frequency_is_2,Dummy for Mediumlow Income group (20K-50K) & tour frequency=2,medium_low_income & (tot_tours == 2),coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2 +util_mediumlow_income_group_and_tour_frequency_is_3,Dummy for Mediumlow Income group (20K-50K) & tour frequency=3,medium_low_income & (tot_tours == 3),coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3 +util_mediumlow_income_group_and_tour_frequency_is_4,Dummy for Mediumlow Income group (20K-50K) & tour frequency=4,medium_low_income & (tot_tours == 4),coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4 +util_mediumlow_income_group_and_tour_frequency_is_5_plus,Dummy for Mediumlow Income group (20K-50K) & tour frequency=5+,medium_low_income & (tot_tours > 4),coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus +util_mediumhigh_income_group_and_tour_frequency_is_1,Dummy for MediumHigh Income group (50K-100K) & tour frequency=1,medium_high_income & (tot_tours == 1),coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1 +util_mediumhigh_income_group_and_tour_frequency_is_2,Dummy for MediumHigh Income group (50K-100K) & tour frequency=2,medium_high_income & (tot_tours == 2),coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2 +util_mediumhigh_income_group_and_tour_frequency_is_3,Dummy for MediumHigh Income group (50K-100K) & tour frequency=3,medium_high_income & (tot_tours == 3),coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3 +util_mediumhigh_income_group_and_tour_frequency_is_4,Dummy for MediumHigh Income group (50K-100K) & tour frequency=4,medium_high_income & (tot_tours == 4),coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4 +util_mediumhigh_income_group_and_tour_frequency_is_5_plus,Dummy for MediumHigh Income group (50K-100K) & tour frequency=5+,medium_high_income & (tot_tours > 4),coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus +util_high_income_group_and_tour_frequency_is_1,Dummy for High Income group (>100K) & tour frequency=1,high_income & (tot_tours == 1),coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1 +util_high_income_group_and_tour_frequency_is_2,Dummy for High Income group (>100K) & tour frequency=2,high_income & (tot_tours == 2),coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2 +util_high_income_group_and_tour_frequency_is_3,Dummy for High Income group (>100K) & tour frequency=3,high_income & (tot_tours == 3),coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3 +util_high_income_group_and_tour_frequency_is_4,Dummy for High Income group (>100K) & tour frequency=4,high_income & (tot_tours == 4),coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4 +util_high_income_group_and_tour_frequency_is_5_plus,Dummy for High Income group (>100K) & tour frequency=5+,high_income & (tot_tours > 4),coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus +util_mediumlow_income_group_and_shopping_tour,Dummy for Mediumlow Income group (20K-50K) & shopping tour,medium_low_income * shopping,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour +util_mediumhigh_income_group_and_shopping_tour,Dummy for Mediumhigh Income group (50K-100K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour +util_high_income_group_and_shopping_tour,Dummy for High Income group (>100K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour +util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (20K-50K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour +util_mediumhigh_income_group_and_maintenance_tour,Dummy for Mediumhigh Income group (50K-100K) & maintenance tour,medium_high_income * othmaint,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour +util_high_income_group_and_maintenance_tour,Dummy for High Income group (>100K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour +util_mediumlow_income_group_and_eating_out_tour,Dummy for Mediumlow Income group (20K-50K) & Eating out tour,medium_low_income * eatout,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour +util_mediumhigh_income_group_and_eating_out_tour,Dummy for Mediumhigh Income group (50K-100K) & Eating out tour,medium_high_income * eatout,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour +util_high_income_group_and_eating_out_tour,Dummy for High Income group (>100K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour +util_mediumlow_income_group_and_discretionary_tour,Dummy for Mediumlow Income group (20K-50K) & Discretionary tour,medium_low_income * othdiscr,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour +util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (50K-100K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour +util_high_income_group_and_discretionary_tour,Dummy for High Income group (>100K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour +util_mediumlow_income_group_and_visiting_tour,Dummy for Mediumlow Income group (20K-50K) & Visiting tour,medium_low_income * social,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour +util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour +util_high_income_group_and_visiting_tour,Dummy for High Income group (>100K) & Visiting tour,high_income * social,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour +util_female_and_tour_frequency_is_1,Dummy for Female & tour frequency =1,female & (tot_tours == 1),coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1 +util_female_and_tour_frequency_is_2,Dummy for Female & tour frequency =2,female & (tot_tours == 2),coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2 +util_female_and_tour_frequency_is_3,Dummy for Female & tour frequency =3,female & (tot_tours == 3),coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3 +util_female_and_tour_frequency_is_4,Dummy for Female & tour frequency =4,female & (tot_tours == 4),coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4 +util_female_and_tour_frequency_is_5,Dummy for Female & tour frequency =5,female & (tot_tours == 5),coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5 +util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour +util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour +util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour +util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour +util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour +util_zero_car_ownership_and_tour_frequency_is_1,Dummy for zero car ownership & tour frequency =1,no_cars & (tot_tours == 1),coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1 +util_zero_car_ownership_and_tour_frequency_is_2,Dummy for zero car ownership & tour frequency =2,no_cars & (tot_tours == 2),coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2 +util_zero_car_ownership_and_tour_frequency_is_3,Dummy for zero car ownership & tour frequency =3,no_cars & (tot_tours == 3),coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3 +util_zero_car_ownership_and_tour_frequency_is_4,Dummy for zero car ownership & tour frequency =4,no_cars & (tot_tours == 4),coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4 +util_zero_car_ownership_and_tour_frequency_is_5_plus,Dummy for zero car ownership & tour frequency =5+,no_cars & (tot_tours > 4),coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus +util_car_shortage_vs_workers_and_tour_frequency_is_1,Dummy for Car Shortage vs Workers & tour frequency =1,~no_cars & (car_sufficiency < 0) & (tot_tours == 1),coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1 +util_car_shortage_vs_workers_and_tour_frequency_is_2,Dummy for Car Shortage vs Workers & tour frequency =2,~no_cars & (car_sufficiency < 0) & (tot_tours == 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2 +util_car_shortage_vs_workers_and_tour_frequency_is_3,Dummy for Car Shortage vs Workers & tour frequency =3,~no_cars & (car_sufficiency < 0) & (tot_tours == 3),coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3 +util_car_shortage_vs_workers_and_tour_frequency_is_4,Dummy for Car Shortage vs Workers & tour frequency =4,~no_cars & (car_sufficiency < 0) & (tot_tours == 4),coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4 +util_car_shortage_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Shortage vs Workers & tour frequency =5+,~no_cars & (car_sufficiency < 0) & (tot_tours > 4),coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus +util_car_surplus_vs_workers_and_tour_frequency_is_1,Dummy for Car Surplus vs Workers & tour frequency =1,~no_cars & (car_sufficiency > 0) & (tot_tours == 1),coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1 +util_car_surplus_vs_workers_and_tour_frequency_is_2,Dummy for Car Surplus vs Workers & tour frequency =2,~no_cars & (car_sufficiency > 0) & (tot_tours == 2),coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2 +util_car_surplus_vs_workers_and_tour_frequency_is_3,Dummy for Car Surplus vs Workers & tour frequency =3,~no_cars & (car_sufficiency > 0) & (tot_tours == 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3 +util_car_surplus_vs_workers_and_tour_frequency_is_4,Dummy for Car Surplus vs Workers & tour frequency =4,~no_cars & (car_sufficiency > 0) & (tot_tours == 4),coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4 +util_car_surplus_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Surplus vs Workers & tour frequency =5+,~no_cars & (car_sufficiency > 0) & (tot_tours > 4),coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus +util_presence_of_non_worker_and_tour_frequency_is_1,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =1,has_non_worker & (tot_tours == 1),coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1 +util_presence_of_non_worker_and_tour_frequency_is_2,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =2,has_non_worker & (tot_tours == 2),coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2 +util_presence_of_non_worker_and_tour_frequency_is_3,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =3,has_non_worker & (tot_tours == 3),coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3 +util_presence_of_non_worker_and_tour_frequency_is_4,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =4,has_non_worker & (tot_tours == 4),coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4 +util_presence_of_non_worker_and_tour_frequency_is_5,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =5,has_non_worker & (tot_tours == 5),coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5 +util_presence_of_retiree_and_tour_frequency_is_1,Dummy for Presence of Retiree(other than modeled person) & tour frequency =1,has_retiree & (tot_tours == 1),coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1 +util_presence_of_retiree_and_tour_frequency_is_2,Dummy for Presence of Retiree(other than modeled person) & tour frequency =2,has_retiree & (tot_tours == 2),coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2 +util_presence_of_retiree_and_tour_frequency_is_3,Dummy for Presence of Retiree(other than modeled person) & tour frequency =3,has_retiree & (tot_tours == 3),coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3 +util_presence_of_retiree_and_tour_frequency_is_4,Dummy for Presence of Retiree(other than modeled person) & tour frequency =4,has_retiree & (tot_tours == 4),coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4 +util_presence_of_retiree_and_tour_frequency_is_5,Dummy for Presence of Retiree(other than modeled person) & tour frequency =5,has_retiree & (tot_tours == 5),coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =1,has_preschool_kid & (tot_tours == 1),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =2,has_preschool_kid & (tot_tours == 2),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =3,has_preschool_kid & (tot_tours == 3),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =4,has_preschool_kid & (tot_tours == 4),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =5,has_preschool_kid & (tot_tours == 5),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =1,has_school_kid & (tot_tours == 1),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =2,has_school_kid & (tot_tours == 2),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =3,has_school_kid & (tot_tours == 3),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =4,has_school_kid & (tot_tours == 4),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =5,has_school_kid & (tot_tours == 5),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 +util_presence_of_full_time_worker_and_escorting_tour,Dummy for Presence of Full time Worker (other than modeled person) & Escorting tour ,has_full_time * escort,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour +util_presence_of_part_time_worker_and_escorting_tour,Dummy for Presence of Part time Worker (other than modeled person) & Escorting tour ,has_part_time * escort,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour +util_presence_of_non_worker_and_escorting_tour,Dummy for Presence of Non-Worker (other than modeled person) & Escorting tour ,has_non_worker * escort,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour +util_presence_of_retiree_and_escorting_tour,Dummy for Presence of Retiree (other than modeled person) & Escorting tour ,has_retiree * escort,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour +util_presence_of_university_student_and_escorting_tour,Dummy for Presence of University Student (other than modeled person) & Escorting tour ,has_university * escort,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour +util_presence_of_driving_school_kid_and_escorting_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Escorting tour ,has_driving_kid * escort,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour +util_presence_of_pre_driving_school_kid_and_escorting_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Escorting tour ,has_school_kid * escort,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour +util_presence_of_pre_school_kid_and_escorting_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Escorting tour ,has_preschool_kid * escort,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour +util_at_home_pre_driving_school_kid_and_escorting_tour,Dummy for At home Pre-Driving School Kid & Escorting tour ,has_school_kid_at_home * escort,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour +util_at_home_pre_school_kid_and_escorting_tour,Dummy for At homef Pre-School Kid & Escorting tour ,has_preschool_kid_at_home * escort,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour +util_presence_of_full_time_worker_and_shopping_tour,Dummy for Presence of Full time Worker (other than modeled person) & Shopping tour ,has_full_time * shopping,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour +util_presence_of_part_time_worker_and_shopping_tour,Dummy for Presence of Part time Worker (other than modeled person) & Shopping tour ,has_part_time * shopping,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour +util_presence_of_non_worker_and_shopping_tour,Dummy for Presence of Non-Worker (other than modeled person) & Shopping tour ,has_non_worker * shopping,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour +util_presence_of_retiree_and_shopping_tour,Dummy for Presence of Retiree (other than modeled person) & Shopping tour ,has_retiree * shopping,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour +util_presence_of_university_student_and_shopping_tour,Dummy for Presence of University Student (other than modeled person) & Shopping tour ,has_university * shopping,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour +util_presence_of_driving_school_kid_and_shopping_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Shopping tour ,has_driving_kid * shopping,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour +util_presence_of_pre_driving_school_kid_and_shopping_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Shopping tour ,has_school_kid * shopping,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour +util_presence_of_pre_school_kid_and_shopping_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Shopping tour ,has_preschool_kid * shopping,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour +util_at_home_pre_driving_school_kid_and_shopping_tour,Dummy for At home Pre-Driving School Kid & Shopping tour ,has_school_kid_at_home * shopping,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour +util_at_home_pre_school_kid_and_shopping_tour,Dummy for At homef Pre-School Kid & Shopping tour ,has_preschool_kid_at_home * shopping,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour +util_presence_of_full_time_worker_and_maintenance_tour,Dummy for Presence of Full time Worker (other than modeled person) & Maintenance tour ,has_full_time * othmaint,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour +util_presence_of_part_time_worker_and_maintenance_tour,Dummy for Presence of Part time Worker (other than modeled person) & Maintenance tour ,has_part_time * othmaint,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour +util_presence_of_non_worker_and_maintenance_tour,Dummy for Presence of Non-Worker(other than modeled person) & Maintenance tour ,has_non_worker * othmaint,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour +util_presence_of_retiree_and_maintenance_tour,Dummy for Presence of Retiree (other than modeled person) & Maintenance tour ,has_retiree * othmaint,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour +util_presence_of_university_student_and_maintenance_tour,Dummy for Presence of University Student (other than modeled person) & Maintenance tour ,has_university * othmaint,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour +util_presence_of_driving_school_kid_and_maintenance_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Maintenance tour ,has_driving_kid * othmaint,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour +util_presence_of_pre_driving_school_kid_and_maintenance_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Maintenance tour ,has_school_kid * othmaint,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour +util_presence_of_pre_school_kid_and_maintenance_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Maintenance tour ,has_preschool_kid * othmaint,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour +util_at_home_pre_driving_school_kid_and_maintenance_tour,Dummy for At home Pre-Driving School Kid & Maintenance tour ,has_school_kid_at_home * othmaint,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour +util_at_home_pre_school_kid_and_maintenance_tour,Dummy for At homef Pre-School Kid & Maintenance tour ,has_preschool_kid_at_home * othmaint,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour +util_presence_of_full_time_worker_and_eating_out_tour,Dummy for Presence of Full time Worker (other than modeled person) & Eating Out tour ,has_full_time * eatout,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour +util_presence_of_part_time_worker_and_eating_out_tour,Dummy for Presence of Part time Worker (other than modeled person) & Eating Out tour ,has_part_time * eatout,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour +util_presence_of_non_worker_and_eating_out_tour,Dummy for Presence of Non-Worker (other than modeled person) & Eating Out tour ,has_non_worker * eatout,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour +util_presence_of_retiree_and_eating_out_tour,Dummy for Presence of Retiree (other than modeled person) & Eating Out tour ,has_retiree * eatout,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour +util_presence_of_university_student_and_eating_out_tour,Dummy for Presence of University Student (other than modeled person) & Eating Out tour ,has_university * eatout,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour +util_presence_of_driving_school_kid_and_eating_out_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Eating Out tour ,has_driving_kid * eatout,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour +util_presence_of_pre_driving_school_kid_and_eating_out_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,has_school_kid * eatout,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour +util_presence_of_pre_school_kid_and_eating_out_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Eating Out tour ,has_preschool_kid * eatout,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour +util_at_home_pre_driving_school_kid_and_eating_out_tour,Dummy for At home Pre-Driving School Kid & Eating Out tour ,has_school_kid_at_home * eatout,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour +util_at_home_pre_school_kid_and_eating_out_tour,Dummy for At homef Pre-School Kid & Eating Out tour ,has_preschool_kid_at_home * eatout,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour +util_presence_of_full_time_worker_and_discretionary_tour,Dummy for Presence of Full time Worker (other than modeled person) & Discretionary tour ,has_full_time * othdiscr,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour +util_presence_of_part_time_worker_and_discretionary_tour,Dummy for Presence of Part time Worker (other than modeled person) & Discretionary tour ,has_part_time * othdiscr,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour +util_presence_of_non_worker_and_discretionary_tour,Dummy for Presence of Non-Worker (other than modeled person) & Discretionary tour ,has_non_worker * othdiscr,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour +util_presence_of_retiree_and_discretionary_tour,Dummy for Presence of Retiree (other than modeled person) & Discretionary tour ,has_retiree * othdiscr,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour +util_presence_of_university_student_and_discretionary_tour,Dummy for Presence of University Student (other than modeled person) & Discretionary tour ,has_university * othdiscr,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour +util_presence_of_driving_school_kid_and_discretionary_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Discretionary tour ,has_driving_kid * othdiscr,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour +util_presence_of_pre_driving_school_kid_and_discretionary_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,has_school_kid * othdiscr,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour +util_presence_of_pre_school_kid_and_discretionary_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Discretionary tour ,has_preschool_kid * othdiscr,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour +util_at_home_pre_driving_school_kid_and_discretionary_tour,Dummy for At home Pre-Driving School Kid & Discretionary tour ,has_school_kid_at_home * othdiscr,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour +util_at_home_pre_school_kid_and_discretionary_tour,Dummy for At homef Pre-School Kid & Discretionary tour ,has_preschool_kid_at_home * othdiscr,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour +util_walk_access_to_retail_and_tour_frequency_is_1,Walk Access to Retail & Tour Frequency =1,nmRetail * (tot_tours == 1),coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1 +util_walk_access_to_retail_and_tour_frequency_is_2,Walk Access to Retail & Tour Frequency =2,nmRetail * (tot_tours == 2),coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2 +util_walk_access_to_retail_and_tour_frequency_is_3,Walk Access to Retail & Tour Frequency =3,nmRetail * (tot_tours == 3),coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3 +util_walk_access_to_retail_and_tour_frequency_is_4,Walk Access to Retail & Tour Frequency =4,nmRetail * (tot_tours == 4),coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4 +util_walk_access_to_retail_and_tour_frequency_is_5_plus,Walk Access to Retail & Tour Frequency =5+,nmRetail * (tot_tours > 4),coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus +util_transit_access_to_retail_and_tour_frequency_is_1,Transit Access to Retail & Tour Frequency =1,trOpRetail * (tot_tours == 1),coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1 +util_transit_access_to_retail_and_tour_frequency_is_2,Transit Access to Retail & Tour Frequency =2,trOpRetail * (tot_tours == 2),coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2 +util_transit_access_to_retail_and_tour_frequency_is_3,Transit Access to Retail & Tour Frequency =3,trOpRetail * (tot_tours == 3),coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3 +util_transit_access_to_retail_and_tour_frequency_is_4,Transit Access to Retail & Tour Frequency =4,trOpRetail * (tot_tours == 4),coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4 +util_transit_access_to_retail_and_tour_frequency_is_5_plus,Transit Access to Retail & Tour Frequency =5+,trOpRetail * (tot_tours > 4),coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus +util_auto_access_to_retail_and_tour_frequency_is_1,Auto Access to Retail & Tour Frequency =1,auOpRetail * (tot_tours == 1),coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1 +util_auto_access_to_retail_and_tour_frequency_is_2,Auto Access to Retail & Tour Frequency =2,auOpRetail * (tot_tours == 2),coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2 +util_auto_access_to_retail_and_tour_frequency_is_3,Auto Access to Retail & Tour Frequency =3,auOpRetail * (tot_tours == 3),coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3 +util_auto_access_to_retail_and_tour_frequency_is_4,Auto Access to Retail & Tour Frequency =4,auOpRetail * (tot_tours == 4),coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4 +util_auto_access_to_retail_and_tour_frequency_is_5_plus,Auto Access to Retail & Tour Frequency =5+,auOpRetail * (tot_tours > 4),coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus +util_walk_access_to_retail_and_escorting,Walk Access to Retail & Escorting ,nmRetail * escort,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting +util_transit_access_to_retail_and_escorting,Transit Access to Retail & Escorting ,trOpRetail * escort,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting +util_auto_access_to_retail_and_escorting,Auto Access to Retail & Escorting ,auOpRetail * escort,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting +util_walk_access_to_retail_and_shopping,Walk Access to Retail & Shopping ,nmRetail * shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping +util_transit_access_to_retail_and_shopping,Transit Access to Retail & Shopping ,trOpRetail * shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping +util_auto_access_to_retail_and_shopping,Auto Access to Retail & Shopping ,auOpRetail * shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping +util_walk_access_to_retail_and_maintenance,Walk Access to Retail & Maintenance ,nmRetail * othmaint,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance +util_transit_access_to_retail_and_maintenance,Transit Access to Retail & Maintenance ,trOpRetail * othmaint,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance +util_auto_access_to_retail_and_maintenance,Auto Access to Retail & Maintenance ,auOpRetail * othmaint,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance +util_walk_access_to_retail_and_eating_out,Walk Access to Retail & Eating Out ,nmRetail * eatout,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out +util_transit_access_to_retail_and_eating_out,Transit Access to Retail & Eating Out ,trOpRetail * eatout,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out +util_auto_access_to_retail_and_eating_out,Auto Access to Retail & Eating Out ,auOpRetail * eatout,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out +util_walk_access_to_retail_and_discretionary,Walk Access to Retail & Discretionary ,nmRetail * othdiscr,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary +util_transit_access_to_retail_and_discretionary,Transit Access to Retail & Discretionary ,trOpRetail * othdiscr,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary +util_auto_access_to_retail_and_discretionary,Auto Access to Retail & Discretionary ,auOpRetail * othdiscr,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary +util_urban_and_tour_frequency_is_1,Urban Areatype & Tour Frequency =1,home_is_urban & (tot_tours == 1),coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1 +util_urban_and_tour_frequency_is_2,Urban Areatype & Tour Frequency =2,home_is_urban & (tot_tours == 2),coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2 +util_urban_and_tour_frequency_is_3,Urban Areatype & Tour Frequency =3,home_is_urban & (tot_tours == 3),coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3 +util_urban_and_tour_frequency_is_4,Urban Areatype & Tour Frequency =4,home_is_urban & (tot_tours == 4),coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4 +util_urban_and_tour_frequency_is_5_plus,Urban Areatype & Tour Frequency =5+,home_is_urban & (tot_tours > 4),coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus +util_urban_and_escorting_tour,Urban Areatype & Escorting tour,home_is_urban * escort,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour +util_urban_and_shopping_tour,Urban Areatype &Shopping tour,home_is_urban * shopping,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour +util_urban_and_maintenance_tour,Urban Areatype & Maintenance tour,home_is_urban * othmaint,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour +util_urban_and_eatingout_tour,Urban Areatype & EatingOut tour,home_is_urban * eatout,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour +util_urban_and_discretionary_tour,Urban Areatype & Discretionary tour,home_is_urban * othdiscr,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour +util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant +util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant +util_1_plus_shopping_tours_constant,1+ Shopping Tours Constant,shopping >= 1,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant +util_1_plus_maintenance_tours_constant,1+ Maintenance Tours Constant,othmaint >= 1,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant +util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,eatout >= 1,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant +util_1_plus_visting_tours_constant,1+ Visting Tours Constant,social >= 1,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant +util_1_plus_other_discretionary_tours_constant,1+ Other Discretionary Tours Constant,othdiscr >= 1,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant util_0_auto_household_and_escorting_tour,Dummy for 0-auto household & Escorting Tour,escort * no_cars,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour \ No newline at end of file diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency.yaml b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency.yaml rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency.yaml diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_alternatives.csv old mode 100644 new mode 100755 similarity index 92% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_alternatives.csv index 1c0052f963..b9765aa75a --- a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_alternatives.csv +++ b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_alternatives.csv @@ -1,97 +1,97 @@ -escort,shopping,othmaint,othdiscr,eatout,social -0,0,0,0,0,0 -0,0,0,1,0,0 -0,0,0,0,0,1 -0,0,0,1,0,1 -0,0,0,0,1,0 -0,0,0,1,1,0 -0,0,0,0,1,1 -0,0,0,1,1,1 -0,0,1,0,0,0 -0,0,1,1,0,0 -0,0,1,0,0,1 -0,0,1,1,0,1 -0,0,1,0,1,0 -0,0,1,1,1,0 -0,0,1,0,1,1 -0,0,1,1,1,1 -0,1,0,0,0,0 -0,1,0,1,0,0 -0,1,0,0,0,1 -0,1,0,1,0,1 -0,1,0,0,1,0 -0,1,0,1,1,0 -0,1,0,0,1,1 -0,1,0,1,1,1 -0,1,1,0,0,0 -0,1,1,1,0,0 -0,1,1,0,0,1 -0,1,1,1,0,1 -0,1,1,0,1,0 -0,1,1,1,1,0 -0,1,1,0,1,1 -0,1,1,1,1,1 -1,0,0,0,0,0 -1,0,0,1,0,0 -1,0,0,0,0,1 -1,0,0,1,0,1 -1,0,0,0,1,0 -1,0,0,1,1,0 -1,0,0,0,1,1 -1,0,0,1,1,1 -1,0,1,0,0,0 -1,0,1,1,0,0 -1,0,1,0,0,1 -1,0,1,1,0,1 -1,0,1,0,1,0 -1,0,1,1,1,0 -1,0,1,0,1,1 -1,0,1,1,1,1 -1,1,0,0,0,0 -1,1,0,1,0,0 -1,1,0,0,0,1 -1,1,0,1,0,1 -1,1,0,0,1,0 -1,1,0,1,1,0 -1,1,0,0,1,1 -1,1,0,1,1,1 -1,1,1,0,0,0 -1,1,1,1,0,0 -1,1,1,0,0,1 -1,1,1,1,0,1 -1,1,1,0,1,0 -1,1,1,1,1,0 -1,1,1,0,1,1 -1,1,1,1,1,1 -2,0,0,0,0,0 -2,0,0,1,0,0 -2,0,0,0,0,1 -2,0,0,1,0,1 -2,0,0,0,1,0 -2,0,0,1,1,0 -2,0,0,0,1,1 -2,0,0,1,1,1 -2,0,1,0,0,0 -2,0,1,1,0,0 -2,0,1,0,0,1 -2,0,1,1,0,1 -2,0,1,0,1,0 -2,0,1,1,1,0 -2,0,1,0,1,1 -2,0,1,1,1,1 -2,1,0,0,0,0 -2,1,0,1,0,0 -2,1,0,0,0,1 -2,1,0,1,0,1 -2,1,0,0,1,0 -2,1,0,1,1,0 -2,1,0,0,1,1 -2,1,0,1,1,1 -2,1,1,0,0,0 -2,1,1,1,0,0 -2,1,1,0,0,1 -2,1,1,1,0,1 -2,1,1,0,1,0 -2,1,1,1,1,0 -2,1,1,0,1,1 -2,1,1,1,1,1 +escort,shopping,othmaint,othdiscr,eatout,social +0,0,0,0,0,0 +0,0,0,1,0,0 +0,0,0,0,0,1 +0,0,0,1,0,1 +0,0,0,0,1,0 +0,0,0,1,1,0 +0,0,0,0,1,1 +0,0,0,1,1,1 +0,0,1,0,0,0 +0,0,1,1,0,0 +0,0,1,0,0,1 +0,0,1,1,0,1 +0,0,1,0,1,0 +0,0,1,1,1,0 +0,0,1,0,1,1 +0,0,1,1,1,1 +0,1,0,0,0,0 +0,1,0,1,0,0 +0,1,0,0,0,1 +0,1,0,1,0,1 +0,1,0,0,1,0 +0,1,0,1,1,0 +0,1,0,0,1,1 +0,1,0,1,1,1 +0,1,1,0,0,0 +0,1,1,1,0,0 +0,1,1,0,0,1 +0,1,1,1,0,1 +0,1,1,0,1,0 +0,1,1,1,1,0 +0,1,1,0,1,1 +0,1,1,1,1,1 +1,0,0,0,0,0 +1,0,0,1,0,0 +1,0,0,0,0,1 +1,0,0,1,0,1 +1,0,0,0,1,0 +1,0,0,1,1,0 +1,0,0,0,1,1 +1,0,0,1,1,1 +1,0,1,0,0,0 +1,0,1,1,0,0 +1,0,1,0,0,1 +1,0,1,1,0,1 +1,0,1,0,1,0 +1,0,1,1,1,0 +1,0,1,0,1,1 +1,0,1,1,1,1 +1,1,0,0,0,0 +1,1,0,1,0,0 +1,1,0,0,0,1 +1,1,0,1,0,1 +1,1,0,0,1,0 +1,1,0,1,1,0 +1,1,0,0,1,1 +1,1,0,1,1,1 +1,1,1,0,0,0 +1,1,1,1,0,0 +1,1,1,0,0,1 +1,1,1,1,0,1 +1,1,1,0,1,0 +1,1,1,1,1,0 +1,1,1,0,1,1 +1,1,1,1,1,1 +2,0,0,0,0,0 +2,0,0,1,0,0 +2,0,0,0,0,1 +2,0,0,1,0,1 +2,0,0,0,1,0 +2,0,0,1,1,0 +2,0,0,0,1,1 +2,0,0,1,1,1 +2,0,1,0,0,0 +2,0,1,1,0,0 +2,0,1,0,0,1 +2,0,1,1,0,1 +2,0,1,0,1,0 +2,0,1,1,1,0 +2,0,1,0,1,1 +2,0,1,1,1,1 +2,1,0,0,0,0 +2,1,0,1,0,0 +2,1,0,0,0,1 +2,1,0,1,0,1 +2,1,0,0,1,0 +2,1,0,1,1,0 +2,1,0,0,1,1 +2,1,0,1,1,1 +2,1,1,0,0,0 +2,1,1,1,0,0 +2,1,1,0,0,1 +2,1,1,1,0,1 +2,1,1,0,1,0 +2,1,1,1,1,0 +2,1,1,0,1,1 +2,1,1,1,1,1 diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_extension_probs.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_extension_probs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency_extension_probs.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_frequency_extension_probs.csv diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling.yaml b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_scheduling.yaml similarity index 95% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling.yaml rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_scheduling.yaml index 33177e41a2..d02c60c0ec 100755 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling.yaml +++ b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_scheduling.yaml @@ -1,21 +1,21 @@ - -SPEC: tour_scheduling_nonmandatory.csv -COEFFICIENTS: tour_scheduling_nonmandatory_coeffs.csv - -LOGIT_TYPE: MNL - -preprocessor: - SPEC: non_mandatory_tour_scheduling_annotate_tours_preprocessor - DF: non_mandatory_tours - TABLES: - - land_use - - joint_tour_participants - -SIMULATE_CHOOSER_COLUMNS: - - ptype - - num_children - - roundtrip_auto_time_to_work - - num_mand - - num_escort_tours - - num_non_escort_tours - - adult + +SPEC: tour_scheduling_nonmandatory.csv +COEFFICIENTS: tour_scheduling_nonmandatory_coeffs.csv + +LOGIT_TYPE: MNL + +preprocessor: + SPEC: non_mandatory_tour_scheduling_annotate_tours_preprocessor + DF: non_mandatory_tours + TABLES: + - land_use + - joint_tour_participants + +SIMULATE_CHOOSER_COLUMNS: + - ptype + - num_children + - roundtrip_auto_time_to_work + - num_mand + - num_escort_tours + - num_non_escort_tours + - adult diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/school_location.csv b/activitysim/examples/placeholder_psrc/configs/school_location.csv old mode 100644 new mode 100755 similarity index 99% rename from activitysim/examples/example_mtc/configs/school_location.csv rename to activitysim/examples/placeholder_psrc/configs/school_location.csv index 04d4647262..9448d12af2 --- a/activitysim/examples/example_mtc/configs/school_location.csv +++ b/activitysim/examples/placeholder_psrc/configs/school_location.csv @@ -1,12 +1,12 @@ -Label,Description,Expression,university,highschool,gradeschool -local_dist,,_DIST@skims['DIST'],1,1,1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 -util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 -util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum -util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1 +Label,Description,Expression,university,highschool,gradeschool +local_dist,,_DIST@skims['DIST'],1,1,1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 +util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 +util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum +util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1 diff --git a/activitysim/examples/example_psrc/configs/school_location.yaml b/activitysim/examples/placeholder_psrc/configs/school_location.yaml similarity index 96% rename from activitysim/examples/example_psrc/configs/school_location.yaml rename to activitysim/examples/placeholder_psrc/configs/school_location.yaml index 16f2378507..07114fd0ea 100755 --- a/activitysim/examples/example_psrc/configs/school_location.yaml +++ b/activitysim/examples/placeholder_psrc/configs/school_location.yaml @@ -1,65 +1,65 @@ -SAMPLE_SIZE: 30 - -SIMULATE_CHOOSER_COLUMNS: - - home_zone_id - - school_segment - - household_id - -# model-specific logsum-related settings -CHOOSER_ORIG_COL_NAME: home_zone_id -ALT_DEST_COL_NAME: alt_dest -IN_PERIOD: 14 -OUT_PERIOD: 8 - -DEST_CHOICE_COLUMN_NAME: school_zone_id -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if not desired in persons table -DEST_CHOICE_LOGSUM_COLUMN_NAME: school_location_logsum - -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table -DEST_CHOICE_SAMPLE_TABLE_NAME: school_location_sample - - -SAMPLE_SPEC: school_location_sample.csv -SPEC: school_location.csv -COEFFICIENTS: school_location_coeffs.csv - -LOGSUM_SETTINGS: tour_mode_choice.yaml -LOGSUM_PREPROCESSOR: nontour_preprocessor - -LOGSUM_TOUR_PURPOSE: - university: univ - highschool: school - gradeschool: school - -annotate_persons: - SPEC: annotate_persons_school - DF: persons - -# - shadow pricing - -# required by initialize_households when creating school_destination_size table -CHOOSER_TABLE_NAME: persons - -# size_terms model_selector -MODEL_SELECTOR: school - -# chooser column with segment_id for this segment type -CHOOSER_SEGMENT_COLUMN_NAME: school_segment - -# boolean column to filter choosers (True means keep) -CHOOSER_FILTER_COLUMN_NAME: is_student - - -# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this -SEGMENT_IDS: - university: 3 - highschool: 2 - gradeschool: 1 - - -# model adds these tables (informational - not added if commented out) -SHADOW_PRICE_TABLE: school_shadow_prices -MODELED_SIZE_TABLE: school_modeled_size - -# not loaded if commented out -SAVED_SHADOW_PRICE_TABLE_NAME: school_shadow_prices.csv +SAMPLE_SIZE: 30 + +SIMULATE_CHOOSER_COLUMNS: + - home_zone_id + - school_segment + - household_id + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: home_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 14 +OUT_PERIOD: 8 + +DEST_CHOICE_COLUMN_NAME: school_zone_id +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if not desired in persons table +DEST_CHOICE_LOGSUM_COLUMN_NAME: school_location_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: school_location_sample + + +SAMPLE_SPEC: school_location_sample.csv +SPEC: school_location.csv +COEFFICIENTS: school_location_coeffs.csv + +LOGSUM_SETTINGS: tour_mode_choice.yaml +LOGSUM_PREPROCESSOR: nontour_preprocessor + +LOGSUM_TOUR_PURPOSE: + university: univ + highschool: school + gradeschool: school + +annotate_persons: + SPEC: annotate_persons_school + DF: persons + +# - shadow pricing + +# required by initialize_households when creating school_destination_size table +CHOOSER_TABLE_NAME: persons + +# size_terms model_selector +MODEL_SELECTOR: school + +# chooser column with segment_id for this segment type +CHOOSER_SEGMENT_COLUMN_NAME: school_segment + +# boolean column to filter choosers (True means keep) +CHOOSER_FILTER_COLUMN_NAME: is_student + + +# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this +SEGMENT_IDS: + university: 3 + highschool: 2 + gradeschool: 1 + + +# model adds these tables (informational - not added if commented out) +SHADOW_PRICE_TABLE: school_shadow_prices +MODELED_SIZE_TABLE: school_modeled_size + +# not loaded if commented out +SAVED_SHADOW_PRICE_TABLE_NAME: school_shadow_prices.csv diff --git a/activitysim/examples/example_psrc/configs/school_location_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/school_location_coeffs.csv similarity index 96% rename from activitysim/examples/example_psrc/configs/school_location_coeffs.csv rename to activitysim/examples/placeholder_psrc/configs/school_location_coeffs.csv index 4e4d638772..b9ef59c83f 100755 --- a/activitysim/examples/example_psrc/configs/school_location_coeffs.csv +++ b/activitysim/examples/placeholder_psrc/configs/school_location_coeffs.csv @@ -1,17 +1,17 @@ -coefficient_name,value,constrain -coef_univ_dist_0_1,-3.2451,F -coef_univ_dist_1_2,-2.7011,F -coef_univ_dist_2_5,-0.5707,F -coef_univ_dist_5_15,-0.5002,F -coef_univ_dist_15_up,-0.073,F -coef_high_dist_0_1,-0.9523,F -coef_high_grade_dist_1_2,-0.57,F -coef_high_grade_dist_2_5,-0.57,F -coef_high_dist_5_15,-0.193,F -coef_high_dist_15_up,-0.1882,F -coef_grade_dist_0_1,-1.6419,F -#coef_high_grade_dist_1_2,-0.57,F -#coef_high_grade_dist_2_5,-0.57,F -coef_grade_dist_5_15,-0.2031,F -coef_grade_dist_15_up,-0.046,F -coef_mode_logsum,0.5358,F +coefficient_name,value,constrain +coef_univ_dist_0_1,-3.2451,F +coef_univ_dist_1_2,-2.7011,F +coef_univ_dist_2_5,-0.5707,F +coef_univ_dist_5_15,-0.5002,F +coef_univ_dist_15_up,-0.073,F +coef_high_dist_0_1,-0.9523,F +coef_high_grade_dist_1_2,-0.57,F +coef_high_grade_dist_2_5,-0.57,F +coef_high_dist_5_15,-0.193,F +coef_high_dist_15_up,-0.1882,F +coef_grade_dist_0_1,-1.6419,F +#coef_high_grade_dist_1_2,-0.57,F +#coef_high_grade_dist_2_5,-0.57,F +coef_grade_dist_5_15,-0.2031,F +coef_grade_dist_15_up,-0.046,F +coef_mode_logsum,0.5358,F diff --git a/activitysim/examples/example_mtc/configs/school_location_sample.csv b/activitysim/examples/placeholder_psrc/configs/school_location_sample.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/school_location_sample.csv rename to activitysim/examples/placeholder_psrc/configs/school_location_sample.csv diff --git a/activitysim/examples/example_psrc/configs/settings.yaml b/activitysim/examples/placeholder_psrc/configs/settings.yaml similarity index 95% rename from activitysim/examples/example_psrc/configs/settings.yaml rename to activitysim/examples/placeholder_psrc/configs/settings.yaml index 3760af7049..779d6a1822 100755 --- a/activitysim/examples/example_psrc/configs/settings.yaml +++ b/activitysim/examples/placeholder_psrc/configs/settings.yaml @@ -1,176 +1,176 @@ -#inherit_settings: True - -# activitysim run -c configs -d data -o output - - -# number of households to simulate -households_sample_size: 100 -# simulate all households -# households_sample_size: 0 - -chunk_size: 0 - -# assume enough RAM to not chunk -chunk_training_mode: disabled - -# set false to disable variability check in simple_simulate and interaction_simulate -check_for_variability: False - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - -# turn writing of sample_tables on and off for all models -# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) -want_dest_choice_sample_tables: False - -# - tracing - -# trace household id; comment out or leave empty for no trace -# households with all tour types -trace_hh_id: - -# trace origin, destination in accessibility calculation; comment out or leave empty for no trace -trace_od: - - -# input tables -input_table_list: - - tablename: households - filename: households.csv - index_col: household_id - rename_columns: - HHID: household_id - PERSONS: hhsize - workers: num_workers - VEHICL: auto_ownership - MAZ: home_zone_id - keep_columns: - - home_zone_id - - income - - hhsize - - HHT - - auto_ownership - - num_workers - - tablename: persons - filename: persons.csv - index_col: person_id - rename_columns: - PERID: person_id - keep_columns: - - household_id - - age - - PNUM - - sex - - pemploy - - pstudent - - ptype - - tablename: land_use - filename: land_use.csv - index_col: zone_id - rename_columns: - MAZ: zone_id - COUNTY: county_id - keep_columns: - - TAZ - - DISTRICT - - SD - - county_id - - TOTHH - - TOTPOP - - TOTACRE - - RESACRE - - CIACRE - - TOTEMP - - AGE0519 - - RETEMPN - - FPSEMPN - - HEREMPN - - OTHEMPN - - AGREMPN - - MWTEMPN - - PRKCST - - OPRKCST - - area_type - - HSENROLL - - COLLFTE - - COLLPTE - - TOPOLOGY - - TERMINAL -# - access_dist_transit - -# to resume after last successful checkpoint, specify resume_after: _ -#resume_after: trip_scheduling - -models: - - initialize_landuse - - initialize_households - - compute_accessibility - - school_location - - workplace_location - - auto_ownership_simulate - - free_parking - - cdap_simulate - - mandatory_tour_frequency - - mandatory_tour_scheduling - - joint_tour_frequency - - joint_tour_composition - - joint_tour_participation - - joint_tour_destination - - joint_tour_scheduling - - non_mandatory_tour_frequency - - non_mandatory_tour_destination - - non_mandatory_tour_scheduling - - tour_mode_choice_simulate - - atwork_subtour_frequency - - atwork_subtour_destination - - atwork_subtour_scheduling - - atwork_subtour_mode_choice - - stop_frequency - - trip_purpose - - trip_destination - - trip_purpose_and_destination - - trip_scheduling - - trip_mode_choice - - write_data_dictionary - - track_skim_usage - - write_trip_matrices - - write_tables - - -output_tables: - h5_store: False - action: include - prefix: final_ - sort: True - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - trips - - joint_tour_participants - -# area_types less than this are considered urban -urban_threshold: 4 -cbd_threshold: 2 -rural_threshold: 6 - - -# value_of_time = lognormal(np.log(median_value_of_time * mu), sigma).clip(min_vot, max_vot) - -min_value_of_time: 1 -max_value_of_time: 50 -distributed_vot_mu: 0.684 -distributed_vot_sigma: 0.85 - -household_median_value_of_time: - 1: 6.01 - 2: 8.81 - 3: 10.44 - 4: 12.86 +#inherit_settings: True + +# activitysim run -c configs -d data -o output + + +# number of households to simulate +households_sample_size: 100 +# simulate all households +# households_sample_size: 0 + +chunk_size: 0 + +# assume enough RAM to not chunk +chunk_training_mode: disabled + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +# - tracing + +# trace household id; comment out or leave empty for no trace +# households with all tour types +trace_hh_id: + +# trace origin, destination in accessibility calculation; comment out or leave empty for no trace +trace_od: + + +# input tables +input_table_list: + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + HHID: household_id + PERSONS: hhsize + workers: num_workers + VEHICL: auto_ownership + MAZ: home_zone_id + keep_columns: + - home_zone_id + - income + - hhsize + - HHT + - auto_ownership + - num_workers + - tablename: persons + filename: persons.csv + index_col: person_id + rename_columns: + PERID: person_id + keep_columns: + - household_id + - age + - PNUM + - sex + - pemploy + - pstudent + - ptype + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + MAZ: zone_id + COUNTY: county_id + keep_columns: + - TAZ + - DISTRICT + - SD + - county_id + - TOTHH + - TOTPOP + - TOTACRE + - RESACRE + - CIACRE + - TOTEMP + - AGE0519 + - RETEMPN + - FPSEMPN + - HEREMPN + - OTHEMPN + - AGREMPN + - MWTEMPN + - PRKCST + - OPRKCST + - area_type + - HSENROLL + - COLLFTE + - COLLPTE + - TOPOLOGY + - TERMINAL +# - access_dist_transit + +# to resume after last successful checkpoint, specify resume_after: _ +#resume_after: trip_scheduling + +models: + - initialize_landuse + - initialize_households + - compute_accessibility + - school_location + - workplace_location + - auto_ownership_simulate + - free_parking + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + - write_data_dictionary + - track_skim_usage + - write_trip_matrices + - write_tables + + +output_tables: + h5_store: False + action: include + prefix: final_ + sort: True + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - joint_tour_participants + +# area_types less than this are considered urban +urban_threshold: 4 +cbd_threshold: 2 +rural_threshold: 6 + + +# value_of_time = lognormal(np.log(median_value_of_time * mu), sigma).clip(min_vot, max_vot) + +min_value_of_time: 1 +max_value_of_time: 50 +distributed_vot_mu: 0.684 +distributed_vot_sigma: 0.85 + +household_median_value_of_time: + 1: 6.01 + 2: 8.81 + 3: 10.44 + 4: 12.86 diff --git a/activitysim/examples/example_psrc/configs/settings_mp.yaml b/activitysim/examples/placeholder_psrc/configs/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs/settings_mp.yaml rename to activitysim/examples/placeholder_psrc/configs/settings_mp.yaml diff --git a/activitysim/examples/example_mtc/configs/shadow_pricing.yaml b/activitysim/examples/placeholder_psrc/configs/shadow_pricing.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/shadow_pricing.yaml rename to activitysim/examples/placeholder_psrc/configs/shadow_pricing.yaml diff --git a/activitysim/examples/example_mtc/configs/stop_frequency.yaml b/activitysim/examples/placeholder_psrc/configs/stop_frequency.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency.yaml rename to activitysim/examples/placeholder_psrc/configs/stop_frequency.yaml diff --git a/activitysim/examples/example_arc/configs/stop_frequency_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_alternatives.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_alternatives.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_annotate_tours_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_atwork.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_atwork.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_atwork.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_atwork.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_atwork.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_atwork.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_atwork.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_atwork.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_eatout.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_eatout.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_eatout.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_eatout.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_escort.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_escort.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_escort.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_escort.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_othdiscr.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_othdiscr.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_othdiscr.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_othdiscr.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_othmaint.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_othmaint.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_othmaint.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_othmaint.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_school.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_school.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_school.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_school.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_shopping.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_shopping.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_shopping.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_shopping.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_social.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_social.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_social.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_social.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_univ.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_univ.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_univ.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_univ.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_coefficients_work.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_work.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_coefficients_work.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_coefficients_work.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_eatout.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_eatout.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_eatout.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_eatout.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_escort.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_escort.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_escort.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_escort.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_othdiscr.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_othdiscr.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_othdiscr.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_othdiscr.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_othmaint.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_othmaint.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_othmaint.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_othmaint.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_school.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_school.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_school.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_school.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_shopping.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_shopping.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_shopping.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_shopping.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_social.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_social.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_social.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_social.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_univ.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_univ.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_univ.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_univ.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_work.csv b/activitysim/examples/placeholder_psrc/configs/stop_frequency_work.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_work.csv rename to activitysim/examples/placeholder_psrc/configs/stop_frequency_work.csv diff --git a/activitysim/examples/example_marin/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/placeholder_psrc/configs/tour_departure_and_duration_alternatives.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_marin/configs/tour_departure_and_duration_alternatives.csv rename to activitysim/examples/placeholder_psrc/configs/tour_departure_and_duration_alternatives.csv diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice.csv b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/tour_mode_choice.csv rename to activitysim/examples/placeholder_psrc/configs/tour_mode_choice.csv index e1b04fbcd9..798b6ded20 100755 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice.csv @@ -1,346 +1,346 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, -#,Walk,,,,,,,,,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, -#,Bike,,,,,,,,,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, -#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_WLK_BOARDS']-1).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_WLK_FAR'] + dot_skims['WLK_LOC_WLK_FAR']),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, -#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -#, FIXME coefficients below are wrong or needlessly complex? could be re-expressed to avoid subtract?,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_WLK_BOARDS']-1).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_WLK_FAR'] + dot_skims['WLK_LRF_WLK_FAR']),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Topology,WALK_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, -#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_WLK_FAR'] + dot_skims['WLK_EXP_WLK_FAR']),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Topology,WALK_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, -#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@wegr_multiplier * 2 *df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_WLK_FAR'] + dot_skims['WLK_HVY_WLK_FAR']),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Topology,WALK_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, -#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_WLK_FAR'] + dot_skims['WLK_COM_WLK_FAR']),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Topology,WALK_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,, -#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LOC_Unavailable,DRIVE_LOC - Unavailable,drive_local_available == False,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_number_of_transfers,DRIVE_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_access_time,DRIVE_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_egress_time,DRIVE_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,1,,,,,,, -util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, -#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LRF_Unavailable,DRIVE_LRF - Unavailable,drive_lrf_available == False,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_number_of_transfers,DRIVE_LRF - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_access_time,DRIVE_LRF - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_egress_time,DRIVE_LRF - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,1,,,,,, -util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, -#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_EXP_Unavailable,DRIVE_EXP - Unavailable,drive_express_available == False,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_number_of_transfers,DRIVE_EXP - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_access_time,DRIVE_EXP - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_egress_ime,DRIVE_EXP - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,1,,,,, -util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, -#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_HVY_Unavailable,DRIVE_HVY - Unavailable,drive_heavyrail_available == False,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_number_of_transfers,DRIVE_HVY - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_access_time,DRIVE_HVY - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_egress_time,DRIVE_HVY - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, -util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, -#,Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_COM_Unavailable,DRIVE_COM - Unavailable,drive_commuter_available == False,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_number_of_transfers,DRIVE_COM - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_access_time,DRIVE_COM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_egress_time,DRIVE_COM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,,1,,, -util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Topology,DRIVE_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,, -#,Taxi,,,,,,,,,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,coef_ivt,, -#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,,,,, -util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, -#,TNC Shared,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt -#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt -#,indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,,,,,,,,,, -util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,,,,,,,,,, -util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,, -util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,,,,,,,,,, -util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,,,,,,,,,, -util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, -util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,,,,,,,,,, -util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, -util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, -util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,, -util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,, -util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,, -util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,,, -util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,,, -util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,,, -util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_no_auto,, -util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, -util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, -util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, -util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, -util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, -util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto -util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient -util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient -#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,, -util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,, -util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,, -util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, -util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,, -util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,, -util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,, -util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,,, -util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,,, -util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,,, -util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, -util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, -util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, -util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, -util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, -util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, -util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto -util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient -util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient -util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,,,,,local_bus_ASC,,,,,,, -util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, -util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, -util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, -util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, -util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, -util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, -util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, -util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,, -util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, -#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, -util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, -#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, +#,Walk,,,,,,,,,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, +#,Bike,,,,,,,,,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, +#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_WLK_BOARDS']-1).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_WLK_FAR'] + dot_skims['WLK_LOC_WLK_FAR']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, +#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +#, FIXME coefficients below are wrong or needlessly complex? could be re-expressed to avoid subtract?,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_WLK_BOARDS']-1).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_WLK_FAR'] + dot_skims['WLK_LRF_WLK_FAR']),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Topology,WALK_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, +#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_WLK_FAR'] + dot_skims['WLK_EXP_WLK_FAR']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Topology,WALK_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, +#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@wegr_multiplier * 2 *df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_WLK_FAR'] + dot_skims['WLK_HVY_WLK_FAR']),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Topology,WALK_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, +#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_WLK_FAR'] + dot_skims['WLK_COM_WLK_FAR']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Topology,WALK_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,, +#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LOC_Unavailable,DRIVE_LOC - Unavailable,drive_local_available == False,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_number_of_transfers,DRIVE_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_access_time,DRIVE_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_egress_time,DRIVE_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, +#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LRF_Unavailable,DRIVE_LRF - Unavailable,drive_lrf_available == False,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_number_of_transfers,DRIVE_LRF - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_access_time,DRIVE_LRF - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_egress_time,DRIVE_LRF - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, +#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_EXP_Unavailable,DRIVE_EXP - Unavailable,drive_express_available == False,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_number_of_transfers,DRIVE_EXP - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_access_time,DRIVE_EXP - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_egress_ime,DRIVE_EXP - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,1,,,,, +util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, +#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_HVY_Unavailable,DRIVE_HVY - Unavailable,drive_heavyrail_available == False,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_number_of_transfers,DRIVE_HVY - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_access_time,DRIVE_HVY - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_egress_time,DRIVE_HVY - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, +util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, +#,Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_COM_Unavailable,DRIVE_COM - Unavailable,drive_commuter_available == False,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_number_of_transfers,DRIVE_COM - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_access_time,DRIVE_COM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_egress_time,DRIVE_COM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Topology,DRIVE_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,, +#,Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,coef_ivt,, +#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +#, FIXME magic constant 1.5,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt +#,indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,,,,,,,,,, +util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,,,,,,,,,, +util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,,,,,,,,,, +util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,, +util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,, +util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,, +util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,,, +util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,,, +util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_no_auto,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient +#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,, +util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,, +util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,, +util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,, +util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,, +util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,,, +util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,,, +util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient +util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,,,,,local_bus_ASC,,,,,,, +util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, +util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, +util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, +util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, +util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, +util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, +util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, +util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,, +util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, +#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, +util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, +#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice.yaml b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice.yaml similarity index 95% rename from activitysim/examples/example_psrc/configs/tour_mode_choice.yaml rename to activitysim/examples/placeholder_psrc/configs/tour_mode_choice.yaml index 2ce70b9cae..5caa0d586d 100755 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice.yaml +++ b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice.yaml @@ -1,189 +1,189 @@ -LOGIT_TYPE: NL -#LOGIT_TYPE: MNL - -NESTS: - name: root - coefficient: coef_nest_root - alternatives: - - name: AUTO - coefficient: coef_nest_AUTO - alternatives: - - name: DRIVEALONE - coefficient: coef_nest_AUTO_DRIVEALONE - alternatives: - - DRIVEALONEFREE - - DRIVEALONEPAY - - name: SHAREDRIDE2 - coefficient: coef_nest_AUTO_SHAREDRIDE2 - alternatives: - - SHARED2FREE - - SHARED2PAY - - name: SHAREDRIDE3 - coefficient: coef_nest_AUTO_SHAREDRIDE3 - alternatives: - - SHARED3FREE - - SHARED3PAY - - name: NONMOTORIZED - coefficient: coef_nest_NONMOTORIZED - alternatives: - - WALK - - BIKE - - name: TRANSIT - coefficient: coef_nest_TRANSIT - alternatives: - - name: WALKACCESS - coefficient: coef_nest_TRANSIT_WALKACCESS - alternatives: - - WALK_LOC - - WALK_LRF - - WALK_EXP - - WALK_HVY - - WALK_COM - - name: DRIVEACCESS - coefficient: coef_nest_TRANSIT_DRIVEACCESS - alternatives: - - DRIVE_LOC - - DRIVE_LRF - - DRIVE_EXP - - DRIVE_HVY - - DRIVE_COM - - name: RIDEHAIL - coefficient: coef_nest_RIDEHAIL - alternatives: - - TAXI - - TNC_SINGLE - - TNC_SHARED - -SPEC: tour_mode_choice.csv -COEFFICIENTS: tour_mode_choice_coeffs.csv -COEFFICIENT_TEMPLATE: tour_mode_choice_coeffs_template.csv - -CONSTANTS: - #valueOfTime: 8.00 - costPerMile: 18.29 - costShareSr2: 1.75 - costShareSr3: 2.50 - waitThresh: 10.00 - walkThresh: 1.50 - shortWalk: 0.333 - longWalk: 0.667 - walkSpeed: 3.00 - bikeThresh: 6.00 - bikeSpeed: 12.00 - maxCbdAreaTypeThresh: 2 - indivTour: 1.00000 - upperEA: 5 - upperAM: 10 - upperMD: 15 - upperPM: 19 - # RIDEHAIL Settings - Taxi_baseFare: 2.20 - Taxi_costPerMile: 2.30 - Taxi_costPerMinute: 0.10 - Taxi_waitTime_mean: - 1: 5.5 - 2: 9.5 - 3: 13.3 - 4: 17.3 - 5: 26.5 - Taxi_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_single_baseFare: 2.20 - TNC_single_costPerMile: 1.33 - TNC_single_costPerMinute: 0.24 - TNC_single_costMinimum: 7.20 - TNC_single_waitTime_mean: - 1: 3.0 - 2: 6.3 - 3: 8.4 - 4: 8.5 - 5: 10.3 - TNC_single_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_shared_baseFare: 2.20 - TNC_shared_costPerMile: 0.53 - TNC_shared_costPerMinute: 0.10 - TNC_shared_costMinimum: 3.00 - TNC_shared_IVTFactor: 1.5 - TNC_shared_waitTime_mean: - 1: 5.0 - 2: 8.0 - 3: 11.0 - 4: 15.0 - 5: 15.0 - TNC_shared_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - min_waitTime: 0 - max_waitTime: 50 - - ivt_cost_multiplier: 0.6 - ivt_lrt_multiplier: 0.9 - ivt_ferry_multiplier: 0.8 - ivt_exp_multiplier: 1 - ivt_hvy_multiplier: 0.8 - ivt_com_multiplier: 0.7 - walktimeshort_multiplier: 2 - walktimelong_multiplier: 10 - biketimeshort_multiplier: 4 - biketimelong_multiplier: 20 - short_i_wait_multiplier: 2 - long_i_wait_multiplier: 1 - wacc_multiplier: 2 - wegr_multiplier: 2 - waux_multiplier: 2 - dtim_multiplier: 2 - xwait_multiplier: 2 - dacc_ratio: 0 - xfers_wlk_multiplier: 10 - xfers_drv_multiplier: 20 - drvtrn_distpen_0_multiplier: 270 - drvtrn_distpen_max: 15 - density_index_multiplier: -0.2 -# joint_sr2_ASC_no_auto: 0 -# joint_sr2_ASC_auto_deficient: 0 -# joint_sr2_ASC_auto_sufficient: 0 -# joint_drive_transit_ASC_no_auto: 0 - -# so far, we can use the same spec as for non-joint tours -preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - - tours - -nontour_preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - -# to reduce memory needs filter chooser table to these fields -LOGSUM_CHOOSER_COLUMNS: - - tour_type - - hhsize - - density_index - - age - - age_16_p - - age_16_to_19 - - auto_ownership - - number_of_participants - - tour_category - - num_workers - - value_of_time - - free_parking_at_work - - -MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum +LOGIT_TYPE: NL +#LOGIT_TYPE: MNL + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - name: DRIVEALONE + coefficient: coef_nest_AUTO_DRIVEALONE + alternatives: + - DRIVEALONEFREE + - DRIVEALONEPAY + - name: SHAREDRIDE2 + coefficient: coef_nest_AUTO_SHAREDRIDE2 + alternatives: + - SHARED2FREE + - SHARED2PAY + - name: SHAREDRIDE3 + coefficient: coef_nest_AUTO_SHAREDRIDE3 + alternatives: + - SHARED3FREE + - SHARED3PAY + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - name: WALKACCESS + coefficient: coef_nest_TRANSIT_WALKACCESS + alternatives: + - WALK_LOC + - WALK_LRF + - WALK_EXP + - WALK_HVY + - WALK_COM + - name: DRIVEACCESS + coefficient: coef_nest_TRANSIT_DRIVEACCESS + alternatives: + - DRIVE_LOC + - DRIVE_LRF + - DRIVE_EXP + - DRIVE_HVY + - DRIVE_COM + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coeffs.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coeffs_template.csv + +CONSTANTS: + #valueOfTime: 8.00 + costPerMile: 18.29 + costShareSr2: 1.75 + costShareSr3: 2.50 + waitThresh: 10.00 + walkThresh: 1.50 + shortWalk: 0.333 + longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 6.00 + bikeSpeed: 12.00 + maxCbdAreaTypeThresh: 2 + indivTour: 1.00000 + upperEA: 5 + upperAM: 10 + upperMD: 15 + upperPM: 19 + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 + + ivt_cost_multiplier: 0.6 + ivt_lrt_multiplier: 0.9 + ivt_ferry_multiplier: 0.8 + ivt_exp_multiplier: 1 + ivt_hvy_multiplier: 0.8 + ivt_com_multiplier: 0.7 + walktimeshort_multiplier: 2 + walktimelong_multiplier: 10 + biketimeshort_multiplier: 4 + biketimelong_multiplier: 20 + short_i_wait_multiplier: 2 + long_i_wait_multiplier: 1 + wacc_multiplier: 2 + wegr_multiplier: 2 + waux_multiplier: 2 + dtim_multiplier: 2 + xwait_multiplier: 2 + dacc_ratio: 0 + xfers_wlk_multiplier: 10 + xfers_drv_multiplier: 20 + drvtrn_distpen_0_multiplier: 270 + drvtrn_distpen_max: 15 + density_index_multiplier: -0.2 +# joint_sr2_ASC_no_auto: 0 +# joint_sr2_ASC_auto_deficient: 0 +# joint_sr2_ASC_auto_sufficient: 0 +# joint_drive_transit_ASC_no_auto: 0 + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - tours + +nontour_preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv index 121a908882..d35d2d1de1 100755 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -1,93 +1,93 @@ -Description,Target,Expression -#,, -local,_DF_IS_TOUR,'tour_type' in df.columns -,number_of_participants,df.number_of_participants if _DF_IS_TOUR else 1 -,is_joint,(df.tour_category=='joint') if _DF_IS_TOUR else False -#,, - local,_HAVE_PARENT_TOURS,'parent_tour_id' in df.columns -,_parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id) if _HAVE_PARENT_TOURS else ''" -,work_tour_is_drive,"_parent_tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" -,work_tour_is_bike,_parent_tour_mode=='BIKE' -,work_tour_is_SOV,"_parent_tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" -#,, -,is_mandatory,(df.tour_category=='mandatory') if 'tour_category' in df.columns else False -,is_joint,(df.tour_category=='joint') if 'tour_category' in df.columns else False -,is_indiv,~is_joint -,is_atwork_subtour,(df.tour_category=='atwork') if 'tour_category' in df.columns else False -,is_escort,(df.tour_type == 'escort') if _DF_IS_TOUR else False -# FIXME why inverse of value of time? need better name?,, -#,c_cost,(0.60 * c_ivt) / df.value_of_time -# ivot * (c_ivt_cost_multiplier * c_ivt) -,ivot,1.0 / df.value_of_time -#,, -,dest_topology,"reindex(land_use.TOPOLOGY, df[dest_col_name])" -,terminal_time,"reindex(land_use.TERMINAL, df[dest_col_name])" -,dest_density_index,"reindex(land_use.density_index, df[dest_col_name])" -# FIXME no transit subzones for ONE_ZONE version, so all zones short walk to transit,, -,_origin_distance_to_transit,"reindex(land_use.access_dist_transit, df[orig_col_name]) if 'access_dist_transit' in land_use else shortWalk" -,_destination_distance_to_transit,"reindex(land_use.access_dist_transit, df[dest_col_name]) if 'access_dist_transit' in land_use else shortWalk" -,walk_transit_available,(_origin_distance_to_transit > 0) & (_destination_distance_to_transit > 0) -,drive_transit_available,(_destination_distance_to_transit > 0) & (df.auto_ownership > 0) -,origin_walk_time,_origin_distance_to_transit*60/walkSpeed -,destination_walk_time,_destination_distance_to_transit*60/walkSpeed -# RIDEHAIL,, -,origin_density_measure,"(reindex(land_use.TOTPOP, df[orig_col_name]) + reindex(land_use.TOTEMP, df[orig_col_name])) / (reindex(land_use.TOTACRE, df[orig_col_name]) / 640)" -,dest_density_measure,"(reindex(land_use.TOTPOP, df[dest_col_name]) + reindex(land_use.TOTEMP, df[dest_col_name])) / (reindex(land_use.TOTACRE, df[dest_col_name]) / 640)" -,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" -,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" -,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" -,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" -,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" -,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" -# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from -,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" -,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" -,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" -,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" -,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" -,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" -,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" -,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" -,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" -,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime -,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime -,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime -#,, -,_free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work if _DF_IS_TOUR else False -,_dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[dest_col_name])" -,_dest_hourly_offpeak_parking_cost,"reindex(land_use.OPRKCST, df[dest_col_name])" -,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)" -,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)" -,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost * df.duration, _hourly_offpeak_parking_cost * df.duration)" -#,, -,distance,od_skims['DIST'] -,distance_walk_od,od_skims['DISTWALK'] -,distance_bike_od,od_skims['DISTBIKE'] -#,, -,sov_available,(odt_skims['SOV_TIME']>0) & (dot_skims['SOV_TIME']>0) -,sovtoll_available,(odt_skims['SOVTOLL_VTOLL']>0) | (dot_skims['SOVTOLL_VTOLL']>0) -,hov2_available,(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME'])>0 -,hov2toll_available,(odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL'])>0 -,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) -,hov3toll_available,(odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL'])>0 -,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) -,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) -,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) -,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) -,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) -#,, -destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, df[dest_col_name]) < setting('cbd_threshold')) * 1" -#,,FIXME diagnostic -#,sov_dist_rt,(odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']) +Description,Target,Expression +#,, +local,_DF_IS_TOUR,'tour_type' in df.columns +,number_of_participants,df.number_of_participants if _DF_IS_TOUR else 1 +,is_joint,(df.tour_category=='joint') if _DF_IS_TOUR else False +#,, + local,_HAVE_PARENT_TOURS,'parent_tour_id' in df.columns +,_parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id) if _HAVE_PARENT_TOURS else ''" +,work_tour_is_drive,"_parent_tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" +,work_tour_is_bike,_parent_tour_mode=='BIKE' +,work_tour_is_SOV,"_parent_tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" +#,, +,is_mandatory,(df.tour_category=='mandatory') if 'tour_category' in df.columns else False +,is_joint,(df.tour_category=='joint') if 'tour_category' in df.columns else False +,is_indiv,~is_joint +,is_atwork_subtour,(df.tour_category=='atwork') if 'tour_category' in df.columns else False +,is_escort,(df.tour_type == 'escort') if _DF_IS_TOUR else False +# FIXME why inverse of value of time? need better name?,, +#,c_cost,(0.60 * c_ivt) / df.value_of_time +# ivot * (c_ivt_cost_multiplier * c_ivt) +,ivot,1.0 / df.value_of_time +#,, +,dest_topology,"reindex(land_use.TOPOLOGY, df[dest_col_name])" +,terminal_time,"reindex(land_use.TERMINAL, df[dest_col_name])" +,dest_density_index,"reindex(land_use.density_index, df[dest_col_name])" +# FIXME no transit subzones for ONE_ZONE version, so all zones short walk to transit,, +,_origin_distance_to_transit,"reindex(land_use.access_dist_transit, df[orig_col_name]) if 'access_dist_transit' in land_use else shortWalk" +,_destination_distance_to_transit,"reindex(land_use.access_dist_transit, df[dest_col_name]) if 'access_dist_transit' in land_use else shortWalk" +,walk_transit_available,(_origin_distance_to_transit > 0) & (_destination_distance_to_transit > 0) +,drive_transit_available,(_destination_distance_to_transit > 0) & (df.auto_ownership > 0) +,origin_walk_time,_origin_distance_to_transit*60/walkSpeed +,destination_walk_time,_destination_distance_to_transit*60/walkSpeed +# RIDEHAIL,, +,origin_density_measure,"(reindex(land_use.TOTPOP, df[orig_col_name]) + reindex(land_use.TOTEMP, df[orig_col_name])) / (reindex(land_use.TOTACRE, df[orig_col_name]) / 640)" +,dest_density_measure,"(reindex(land_use.TOTPOP, df[dest_col_name]) + reindex(land_use.TOTEMP, df[dest_col_name])) / (reindex(land_use.TOTACRE, df[dest_col_name]) / 640)" +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" +,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" +,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" +# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" +,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" +,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" +,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" +,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime +,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime +,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime +#,, +,_free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work if _DF_IS_TOUR else False +,_dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[dest_col_name])" +,_dest_hourly_offpeak_parking_cost,"reindex(land_use.OPRKCST, df[dest_col_name])" +,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)" +,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)" +,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost * df.duration, _hourly_offpeak_parking_cost * df.duration)" +#,, +,distance,od_skims['DIST'] +,distance_walk_od,od_skims['DISTWALK'] +,distance_bike_od,od_skims['DISTBIKE'] +#,, +,sov_available,(odt_skims['SOV_TIME']>0) & (dot_skims['SOV_TIME']>0) +,sovtoll_available,(odt_skims['SOVTOLL_VTOLL']>0) | (dot_skims['SOVTOLL_VTOLL']>0) +,hov2_available,(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME'])>0 +,hov2toll_available,(odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL'])>0 +,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) +,hov3toll_available,(odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL'])>0 +,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,, +destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, df[dest_col_name]) < setting('cbd_threshold')) * 1" +#,,FIXME diagnostic +#,sov_dist_rt,(odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']) diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs.csv similarity index 97% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv rename to activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs.csv index c5d9a264a2..9693953808 100755 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs.csv @@ -1,308 +1,308 @@ -coefficient_name,value,constrain -coef_one,1,T -coef_nest_root,1.00,T -coef_nest_AUTO,0.72,T -coef_nest_AUTO_DRIVEALONE,0.35,T -coef_nest_AUTO_SHAREDRIDE2,0.35,T -coef_nest_AUTO_SHAREDRIDE3,0.35,T -coef_nest_NONMOTORIZED,0.72,T -coef_nest_TRANSIT,0.72,T -coef_nest_TRANSIT_WALKACCESS,0.5,T -coef_nest_TRANSIT_DRIVEACCESS,0.5,T -coef_nest_RIDEHAIL,0.36,T -coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F -coef_ivt_school_univ,-0.0224,F -coef_ivt_work,-0.0134,F -coef_ivt_atwork,-0.0188,F -coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F -coef_topology_walk_multiplier_atwork,7.5,F -coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F -coef_topology_bike_multiplier_atwork,10,F -coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F -coef_topology_trn_multiplier_atwork,2,F -coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age1619_da_multiplier_school_univ,-1.3813,F -coef_age1619_da_multiplier_atwork,0.0032336,F -coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age010_trn_multiplier_school_univ,-1.5548,F -coef_age010_trn_multiplier_atwork,0.000722,F -coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F -coef_age16p_sr_multiplier_school_univ_work_atwork,0,F -coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F -coef_hhsize1_sr_multiplier_work,-0.734588,F -coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F -coef_hhsize2_sr_multiplier_school_univ,-0.6359,F -walk_ASC_no_auto_eatout,5.1251173,F -walk_ASC_no_auto_escort,2.8012068,F -walk_ASC_no_auto_othdiscr,3.2665946,F -walk_ASC_no_auto_othmaint,1.287299,F -walk_ASC_no_auto_school,18.414557,F -walk_ASC_no_auto_shopping,2.3768773,F -walk_ASC_no_auto_social,1.8680915,F -walk_ASC_no_auto_univ,6.408967,F -walk_ASC_no_auto_work,5.7672157,F -walk_ASC_no_auto_atwork,6.669213,F -walk_ASC_auto_deficient_eatout,3.274605,F -walk_ASC_auto_deficient_escort,-0.90204656,F -walk_ASC_auto_deficient_othdiscr,2.2494075,F -walk_ASC_auto_deficient_othmaint,1.3690404,F -walk_ASC_auto_deficient_school,3.2573624,F -walk_ASC_auto_deficient_shopping,2.2701733,F -walk_ASC_auto_deficient_social,2.870184,F -walk_ASC_auto_deficient_univ,4.50591,F -walk_ASC_auto_deficient_work,2.4010417,F -walk_ASC_auto_deficient_atwork,0.92546093,F -walk_ASC_auto_sufficient_eatout,1.5516903,F -walk_ASC_auto_sufficient_escort,-0.8116066,F -walk_ASC_auto_sufficient_othdiscr,1.2633476,F -walk_ASC_auto_sufficient_othmaint,0.7999634,F -walk_ASC_auto_sufficient_school,0.6476856,F -walk_ASC_auto_sufficient_shopping,0.7312663,F -walk_ASC_auto_sufficient_social,1.7072186,F -walk_ASC_auto_sufficient_univ,1.0607665,F -walk_ASC_auto_sufficient_work,0.053265337,F -walk_ASC_auto_sufficient_atwork,0.677216,F -bike_ASC_no_auto_eatout,0.86807096,F -bike_ASC_no_auto_escort,-0.716212,F -bike_ASC_no_auto_othdiscr,-0.3764232,F -bike_ASC_no_auto_othmaint,1.5394334,F -bike_ASC_no_auto_school,12.098735,F -bike_ASC_no_auto_shopping,0.8341555,F -bike_ASC_no_auto_social,0.02058321,F -bike_ASC_no_auto_univ,4.2945156,F -bike_ASC_no_auto_work,3.1940088,F -bike_ASC_no_auto_atwork,-0.90725845,F -bike_ASC_auto_deficient_eatout,-1.5691106,F -bike_ASC_auto_deficient_escort,-4.527928,F -bike_ASC_auto_deficient_othdiscr,-0.09246834,F -bike_ASC_auto_deficient_othmaint,-1.5184649,F -bike_ASC_auto_deficient_school,-0.5280678,F -bike_ASC_auto_deficient_shopping,-0.87584466,F -bike_ASC_auto_deficient_social,0.6345214,F -bike_ASC_auto_deficient_univ,-0.669235,F -bike_ASC_auto_deficient_work,0.25318968,F -bike_ASC_auto_deficient_atwork,-0.8074083,F -bike_ASC_auto_sufficient_eatout,-1.2003471,F -bike_ASC_auto_sufficient_escort,-5.0631084,F -bike_ASC_auto_sufficient_othdiscr,-1.0714597,F -bike_ASC_auto_sufficient_othmaint,-2.8083024,F -bike_ASC_auto_sufficient_school,-2.1134686,F -bike_ASC_auto_sufficient_shopping,-2.5662103,F -bike_ASC_auto_sufficient_social,-1.368071,F -bike_ASC_auto_sufficient_univ,-1.9397832,F -bike_ASC_auto_sufficient_work,-1.5800232,F -bike_ASC_auto_sufficient_atwork,15.72017,F -sr2_ASC_no_auto_all,0,F -sr2_ASC_auto_deficient_eatout,0.5882345,F -sr2_ASC_auto_deficient_escort,0,F -sr2_ASC_auto_deficient_othdiscr,0.6601513,F -sr2_ASC_auto_deficient_othmaint,0.2621527,F -sr2_ASC_auto_deficient_school,0.12474365,F -sr2_ASC_auto_deficient_shopping,0.24409756,F -sr2_ASC_auto_deficient_social,1.8558528,F -sr2_ASC_auto_deficient_univ,-1.6922346,F -sr2_ASC_auto_deficient_work,-0.33803123,F -sr2_ASC_auto_deficient_atwork,-2.1102421,F -sr2_ASC_auto_sufficient_eatout,0.86280555,F -sr2_ASC_auto_sufficient_escort,0,F -sr2_ASC_auto_sufficient_othdiscr,0.49684617,F -sr2_ASC_auto_sufficient_othmaint,0.25817883,F -sr2_ASC_auto_sufficient_school,-1.6062657,F -sr2_ASC_auto_sufficient_shopping,0.19770707,F -sr2_ASC_auto_sufficient_social,0.5236025,F -sr2_ASC_auto_sufficient_univ,-1.859427,F -sr2_ASC_auto_sufficient_work,-1.0857458,F -sr2_ASC_auto_sufficient_atwork,-1.4450618,F -sr3p_ASC_no_auto_eatout,0.3219998,F -sr3p_ASC_no_auto_escort,-1.8129267,F -sr3p_ASC_no_auto_othdiscr,0.27216902,F -sr3p_ASC_no_auto_othmaint,-0.8031854,F -sr3p_ASC_no_auto_school,-6.0240827,F -sr3p_ASC_no_auto_shopping,-0.27978948,F -sr3p_ASC_no_auto_social,-1.4036902,F -sr3p_ASC_no_auto_univ,-6.056001,F -sr3p_ASC_no_auto_work,-0.5831269,F -sr3p_ASC_no_auto_atwork,0.5826626,F -sr3p_ASC_auto_deficient_eatout,0.04605236,F -sr3p_ASC_auto_deficient_escort,-0.40818766,F -sr3p_ASC_auto_deficient_othdiscr,1.0470966,F -sr3p_ASC_auto_deficient_othmaint,-1.3493925,F -sr3p_ASC_auto_deficient_school,0.7149571,F -sr3p_ASC_auto_deficient_shopping,-0.073370166,F -sr3p_ASC_auto_deficient_social,1.5007243,F -sr3p_ASC_auto_deficient_univ,-1.7277422,F -sr3p_ASC_auto_deficient_work,-0.8527042,F -sr3p_ASC_auto_deficient_atwork,-2.514658,F -sr3p_ASC_auto_sufficient_eatout,0.8468596,F -sr3p_ASC_auto_sufficient_escort,-0.05741253,F -sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F -sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F -sr3p_ASC_auto_sufficient_school,-1.0201935,F -sr3p_ASC_auto_sufficient_shopping,-0.077571295,F -sr3p_ASC_auto_sufficient_social,0.50617886,F -sr3p_ASC_auto_sufficient_univ,-1.9047098,F -sr3p_ASC_auto_sufficient_work,-1.4699702,F -sr3p_ASC_auto_sufficient_atwork,-1.652174,F -walk_transit_ASC_no_auto_eatout,2.5936368,F -walk_transit_ASC_no_auto_escort,-2.2172081,F -walk_transit_ASC_no_auto_othdiscr,2.2437785,F -walk_transit_ASC_no_auto_othmaint,2.5643456,F -walk_transit_ASC_no_auto_school,21.383749,F -walk_transit_ASC_no_auto_shopping,2.1067476,F -walk_transit_ASC_no_auto_social,1.3814651,F -walk_transit_ASC_no_auto_univ,8.786037,F -walk_transit_ASC_no_auto_work,5.0354166,F -walk_transit_ASC_no_auto_atwork,2.7041876,F -walk_transit_ASC_auto_deficient_eatout,-0.03896324,F -walk_transit_ASC_auto_deficient_escort,-4.960704,F -walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F -walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F -walk_transit_ASC_auto_deficient_school,4.120708,F -walk_transit_ASC_auto_deficient_shopping,-0.8476569,F -walk_transit_ASC_auto_deficient_social,0.97444487,F -walk_transit_ASC_auto_deficient_univ,3.1362555,F -walk_transit_ASC_auto_deficient_work,0.65302855,F -walk_transit_ASC_auto_deficient_atwork,-2.9988291,F -walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F -walk_transit_ASC_auto_sufficient_escort,-4.934847,F -walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F -walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F -walk_transit_ASC_auto_sufficient_school,0.74590874,F -walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F -walk_transit_ASC_auto_sufficient_social,-0.3453759,F -walk_transit_ASC_auto_sufficient_univ,0.4731163,F -walk_transit_ASC_auto_sufficient_work,-0.8916507,F -walk_transit_ASC_auto_sufficient_atwork,-3.401027,F -drive_transit_ASC_no_auto_all,0,F -drive_transit_ASC_auto_deficient_eatout,0.5998061,F -drive_transit_ASC_auto_deficient_escort,-1.1537067,F -drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F -drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F -drive_transit_ASC_auto_deficient_school,5.3252654,F -drive_transit_ASC_auto_deficient_shopping,-0.41849178,F -drive_transit_ASC_auto_deficient_social,1.5627195,F -drive_transit_ASC_auto_deficient_univ,1.8501176,F -drive_transit_ASC_auto_deficient_work,0.10081567,F -drive_transit_ASC_auto_deficient_atwork,-998.8196,F -drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F -drive_transit_ASC_auto_sufficient_escort,-4.6014247,F -drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F -drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F -drive_transit_ASC_auto_sufficient_school,1.40135,F -drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F -drive_transit_ASC_auto_sufficient_social,-0.61585575,F -drive_transit_ASC_auto_sufficient_univ,1.3587753,F -drive_transit_ASC_auto_sufficient_work,-1.0045459,F -drive_transit_ASC_auto_sufficient_atwork,-999.21466,F -taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F -taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F -taxi_ASC_no_auto_school_univ,-7,T -taxi_ASC_no_auto_work,4.7291,F -taxi_ASC_no_auto_atwork,4.1021,F -taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F -taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F -taxi_ASC_auto_deficient_school,-0.3338,F -taxi_ASC_auto_deficient_univ,4.2492,F -taxi_ASC_auto_deficient_work,-1.4766,F -taxi_ASC_auto_deficient_atwork,-4.4046,F -taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F -taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F -taxi_ASC_auto_sufficient_school,-2.4294,F -taxi_ASC_auto_sufficient_univ,-0.3131,F -taxi_ASC_auto_sufficient_work,-4.8509,F -taxi_ASC_auto_sufficient_atwork,-2.8804,F -tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F -tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F -tnc_single_ASC_no_auto_school,-7,T -tnc_single_ASC_no_auto_univ,-2.519,F -tnc_single_ASC_no_auto_work,5.7855,F -tnc_single_ASC_no_auto_atwork,4.4982,F -tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F -tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F -tnc_single_ASC_auto_deficient_school,-0.5524,F -tnc_single_ASC_auto_deficient_univ,1.0221,F -tnc_single_ASC_auto_deficient_work,-0.8013,F -tnc_single_ASC_auto_deficient_atwork,-3.7626,F -tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F -tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F -tnc_single_ASC_auto_sufficient_school,-2.8375,F -tnc_single_ASC_auto_sufficient_univ,0.2088,F -tnc_single_ASC_auto_sufficient_work,-4.1946,F -tnc_single_ASC_auto_sufficient_atwork,-2.7988,F -tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F -tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F -tnc_shared_ASC_no_auto_school,-7,T -tnc_shared_ASC_no_auto_univ,-5.8116,F -tnc_shared_ASC_no_auto_work,3.2429,F -tnc_shared_ASC_no_auto_atwork,3.3672,F -tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F -tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F -tnc_shared_ASC_auto_deficient_school,-1.4746,F -tnc_shared_ASC_auto_deficient_univ,3.25,F -tnc_shared_ASC_auto_deficient_work,-2.1435,F -tnc_shared_ASC_auto_deficient_atwork,-4.5089,F -tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F -tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F -tnc_shared_ASC_auto_sufficient_school,-3.7219,F -tnc_shared_ASC_auto_sufficient_univ,-0.9068,F -tnc_shared_ASC_auto_sufficient_work,-5.3575,F -tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F -joint_walk_ASC_no_auto_all,-0.21274701,F -joint_walk_ASC_auto_deficient_all,-1.9607706,F -joint_walk_ASC_auto_sufficient_all,-3.2352157,F -joint_bike_ASC_no_auto_all,-2.8671598,F -joint_bike_ASC_auto_deficient_all,-6.076415,F -joint_bike_ASC_auto_sufficient_all,-6.3760657,F -joint_sr2_ASC_no_auto_all,0,T -joint_sr2_ASC_auto_deficient_all,0,T -joint_sr2_ASC_auto_sufficient_all,0,T -joint_sr3p_ASC_no_auto_all,0.5630671,F -joint_sr3p_ASC_auto_deficient_all,-1.8841692,F -joint_sr3p_ASC_auto_sufficient_all,-2.234826,F -joint_walk_transit_ASC_no_auto_all,0.62292415,F -joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F -joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F -joint_drive_transit_ASC_no_auto_all,0,T -joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F -joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F -joint_taxi_ASC_no_auto_all,-4.5792,F -joint_taxi_ASC_auto_deficient_all,-9.8157,F -joint_taxi_ASC_auto_sufficient_all,-11.7099,T -joint_tnc_single_ASC_no_auto_all,-4.4917,F -joint_tnc_single_ASC_auto_deficient_all,-9.8961,F -joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T -joint_tnc_shared_ASC_no_auto_all,-4.3002,F -joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F -joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T -local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F -local_bus_ASC_school_univ,-0.06508621,F -local_bus_ASC_work,0.06689507,F -walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -walk_light_rail_ASC_school_univ,1.6814003,F -walk_light_rail_ASC_work,0.8255567,F -drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -drive_light_rail_ASC_school_univ,1.6814003,F -drive_light_rail_ASC_work,0.8255567,F -walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -walk_ferry_ASC_school_univ,2.0202317,F -walk_ferry_ASC_work,0.93322605,F -drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -drive_ferry_ASC_school_univ,2.0202317,F -drive_ferry_ASC_work,0.93322605,F -express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F -express_bus_ASC_school_univ,0.32496938,F -express_bus_ASC_work,-0.5165474,F -heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F -heavy_rail_ASC_school_univ,0.96200377,F -heavy_rail_ASC_work,0.64772975,F -commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F -commuter_rail_ASC_school_univ,1.0336206,F -commuter_rail_ASC_work,0.725503,F -walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -walk_transit_CBD_ASC_school_univ,0.672,F -walk_transit_CBD_ASC_work,0.804,F -walk_transit_CBD_ASC_atwork,0.564,F -drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -drive_transit_CBD_ASC_school_univ,0.672,F -drive_transit_CBD_ASC_work,1.1,F -drive_transit_CBD_ASC_atwork,0.564,F +coefficient_name,value,constrain +coef_one,1,T +coef_nest_root,1.00,T +coef_nest_AUTO,0.72,T +coef_nest_AUTO_DRIVEALONE,0.35,T +coef_nest_AUTO_SHAREDRIDE2,0.35,T +coef_nest_AUTO_SHAREDRIDE3,0.35,T +coef_nest_NONMOTORIZED,0.72,T +coef_nest_TRANSIT,0.72,T +coef_nest_TRANSIT_WALKACCESS,0.5,T +coef_nest_TRANSIT_DRIVEACCESS,0.5,T +coef_nest_RIDEHAIL,0.36,T +coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F +coef_ivt_school_univ,-0.0224,F +coef_ivt_work,-0.0134,F +coef_ivt_atwork,-0.0188,F +coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F +coef_topology_walk_multiplier_atwork,7.5,F +coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F +coef_topology_bike_multiplier_atwork,10,F +coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F +coef_topology_trn_multiplier_atwork,2,F +coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age1619_da_multiplier_school_univ,-1.3813,F +coef_age1619_da_multiplier_atwork,0.0032336,F +coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age010_trn_multiplier_school_univ,-1.5548,F +coef_age010_trn_multiplier_atwork,0.000722,F +coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F +coef_age16p_sr_multiplier_school_univ_work_atwork,0,F +coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F +coef_hhsize1_sr_multiplier_work,-0.734588,F +coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F +coef_hhsize2_sr_multiplier_school_univ,-0.6359,F +walk_ASC_no_auto_eatout,5.1251173,F +walk_ASC_no_auto_escort,2.8012068,F +walk_ASC_no_auto_othdiscr,3.2665946,F +walk_ASC_no_auto_othmaint,1.287299,F +walk_ASC_no_auto_school,18.414557,F +walk_ASC_no_auto_shopping,2.3768773,F +walk_ASC_no_auto_social,1.8680915,F +walk_ASC_no_auto_univ,6.408967,F +walk_ASC_no_auto_work,5.7672157,F +walk_ASC_no_auto_atwork,6.669213,F +walk_ASC_auto_deficient_eatout,3.274605,F +walk_ASC_auto_deficient_escort,-0.90204656,F +walk_ASC_auto_deficient_othdiscr,2.2494075,F +walk_ASC_auto_deficient_othmaint,1.3690404,F +walk_ASC_auto_deficient_school,3.2573624,F +walk_ASC_auto_deficient_shopping,2.2701733,F +walk_ASC_auto_deficient_social,2.870184,F +walk_ASC_auto_deficient_univ,4.50591,F +walk_ASC_auto_deficient_work,2.4010417,F +walk_ASC_auto_deficient_atwork,0.92546093,F +walk_ASC_auto_sufficient_eatout,1.5516903,F +walk_ASC_auto_sufficient_escort,-0.8116066,F +walk_ASC_auto_sufficient_othdiscr,1.2633476,F +walk_ASC_auto_sufficient_othmaint,0.7999634,F +walk_ASC_auto_sufficient_school,0.6476856,F +walk_ASC_auto_sufficient_shopping,0.7312663,F +walk_ASC_auto_sufficient_social,1.7072186,F +walk_ASC_auto_sufficient_univ,1.0607665,F +walk_ASC_auto_sufficient_work,0.053265337,F +walk_ASC_auto_sufficient_atwork,0.677216,F +bike_ASC_no_auto_eatout,0.86807096,F +bike_ASC_no_auto_escort,-0.716212,F +bike_ASC_no_auto_othdiscr,-0.3764232,F +bike_ASC_no_auto_othmaint,1.5394334,F +bike_ASC_no_auto_school,12.098735,F +bike_ASC_no_auto_shopping,0.8341555,F +bike_ASC_no_auto_social,0.02058321,F +bike_ASC_no_auto_univ,4.2945156,F +bike_ASC_no_auto_work,3.1940088,F +bike_ASC_no_auto_atwork,-0.90725845,F +bike_ASC_auto_deficient_eatout,-1.5691106,F +bike_ASC_auto_deficient_escort,-4.527928,F +bike_ASC_auto_deficient_othdiscr,-0.09246834,F +bike_ASC_auto_deficient_othmaint,-1.5184649,F +bike_ASC_auto_deficient_school,-0.5280678,F +bike_ASC_auto_deficient_shopping,-0.87584466,F +bike_ASC_auto_deficient_social,0.6345214,F +bike_ASC_auto_deficient_univ,-0.669235,F +bike_ASC_auto_deficient_work,0.25318968,F +bike_ASC_auto_deficient_atwork,-0.8074083,F +bike_ASC_auto_sufficient_eatout,-1.2003471,F +bike_ASC_auto_sufficient_escort,-5.0631084,F +bike_ASC_auto_sufficient_othdiscr,-1.0714597,F +bike_ASC_auto_sufficient_othmaint,-2.8083024,F +bike_ASC_auto_sufficient_school,-2.1134686,F +bike_ASC_auto_sufficient_shopping,-2.5662103,F +bike_ASC_auto_sufficient_social,-1.368071,F +bike_ASC_auto_sufficient_univ,-1.9397832,F +bike_ASC_auto_sufficient_work,-1.5800232,F +bike_ASC_auto_sufficient_atwork,15.72017,F +sr2_ASC_no_auto_all,0,F +sr2_ASC_auto_deficient_eatout,0.5882345,F +sr2_ASC_auto_deficient_escort,0,F +sr2_ASC_auto_deficient_othdiscr,0.6601513,F +sr2_ASC_auto_deficient_othmaint,0.2621527,F +sr2_ASC_auto_deficient_school,0.12474365,F +sr2_ASC_auto_deficient_shopping,0.24409756,F +sr2_ASC_auto_deficient_social,1.8558528,F +sr2_ASC_auto_deficient_univ,-1.6922346,F +sr2_ASC_auto_deficient_work,-0.33803123,F +sr2_ASC_auto_deficient_atwork,-2.1102421,F +sr2_ASC_auto_sufficient_eatout,0.86280555,F +sr2_ASC_auto_sufficient_escort,0,F +sr2_ASC_auto_sufficient_othdiscr,0.49684617,F +sr2_ASC_auto_sufficient_othmaint,0.25817883,F +sr2_ASC_auto_sufficient_school,-1.6062657,F +sr2_ASC_auto_sufficient_shopping,0.19770707,F +sr2_ASC_auto_sufficient_social,0.5236025,F +sr2_ASC_auto_sufficient_univ,-1.859427,F +sr2_ASC_auto_sufficient_work,-1.0857458,F +sr2_ASC_auto_sufficient_atwork,-1.4450618,F +sr3p_ASC_no_auto_eatout,0.3219998,F +sr3p_ASC_no_auto_escort,-1.8129267,F +sr3p_ASC_no_auto_othdiscr,0.27216902,F +sr3p_ASC_no_auto_othmaint,-0.8031854,F +sr3p_ASC_no_auto_school,-6.0240827,F +sr3p_ASC_no_auto_shopping,-0.27978948,F +sr3p_ASC_no_auto_social,-1.4036902,F +sr3p_ASC_no_auto_univ,-6.056001,F +sr3p_ASC_no_auto_work,-0.5831269,F +sr3p_ASC_no_auto_atwork,0.5826626,F +sr3p_ASC_auto_deficient_eatout,0.04605236,F +sr3p_ASC_auto_deficient_escort,-0.40818766,F +sr3p_ASC_auto_deficient_othdiscr,1.0470966,F +sr3p_ASC_auto_deficient_othmaint,-1.3493925,F +sr3p_ASC_auto_deficient_school,0.7149571,F +sr3p_ASC_auto_deficient_shopping,-0.073370166,F +sr3p_ASC_auto_deficient_social,1.5007243,F +sr3p_ASC_auto_deficient_univ,-1.7277422,F +sr3p_ASC_auto_deficient_work,-0.8527042,F +sr3p_ASC_auto_deficient_atwork,-2.514658,F +sr3p_ASC_auto_sufficient_eatout,0.8468596,F +sr3p_ASC_auto_sufficient_escort,-0.05741253,F +sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F +sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F +sr3p_ASC_auto_sufficient_school,-1.0201935,F +sr3p_ASC_auto_sufficient_shopping,-0.077571295,F +sr3p_ASC_auto_sufficient_social,0.50617886,F +sr3p_ASC_auto_sufficient_univ,-1.9047098,F +sr3p_ASC_auto_sufficient_work,-1.4699702,F +sr3p_ASC_auto_sufficient_atwork,-1.652174,F +walk_transit_ASC_no_auto_eatout,2.5936368,F +walk_transit_ASC_no_auto_escort,-2.2172081,F +walk_transit_ASC_no_auto_othdiscr,2.2437785,F +walk_transit_ASC_no_auto_othmaint,2.5643456,F +walk_transit_ASC_no_auto_school,21.383749,F +walk_transit_ASC_no_auto_shopping,2.1067476,F +walk_transit_ASC_no_auto_social,1.3814651,F +walk_transit_ASC_no_auto_univ,8.786037,F +walk_transit_ASC_no_auto_work,5.0354166,F +walk_transit_ASC_no_auto_atwork,2.7041876,F +walk_transit_ASC_auto_deficient_eatout,-0.03896324,F +walk_transit_ASC_auto_deficient_escort,-4.960704,F +walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F +walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F +walk_transit_ASC_auto_deficient_school,4.120708,F +walk_transit_ASC_auto_deficient_shopping,-0.8476569,F +walk_transit_ASC_auto_deficient_social,0.97444487,F +walk_transit_ASC_auto_deficient_univ,3.1362555,F +walk_transit_ASC_auto_deficient_work,0.65302855,F +walk_transit_ASC_auto_deficient_atwork,-2.9988291,F +walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F +walk_transit_ASC_auto_sufficient_escort,-4.934847,F +walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F +walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F +walk_transit_ASC_auto_sufficient_school,0.74590874,F +walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F +walk_transit_ASC_auto_sufficient_social,-0.3453759,F +walk_transit_ASC_auto_sufficient_univ,0.4731163,F +walk_transit_ASC_auto_sufficient_work,-0.8916507,F +walk_transit_ASC_auto_sufficient_atwork,-3.401027,F +drive_transit_ASC_no_auto_all,0,F +drive_transit_ASC_auto_deficient_eatout,0.5998061,F +drive_transit_ASC_auto_deficient_escort,-1.1537067,F +drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F +drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F +drive_transit_ASC_auto_deficient_school,5.3252654,F +drive_transit_ASC_auto_deficient_shopping,-0.41849178,F +drive_transit_ASC_auto_deficient_social,1.5627195,F +drive_transit_ASC_auto_deficient_univ,1.8501176,F +drive_transit_ASC_auto_deficient_work,0.10081567,F +drive_transit_ASC_auto_deficient_atwork,-998.8196,F +drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F +drive_transit_ASC_auto_sufficient_escort,-4.6014247,F +drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F +drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F +drive_transit_ASC_auto_sufficient_school,1.40135,F +drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F +drive_transit_ASC_auto_sufficient_social,-0.61585575,F +drive_transit_ASC_auto_sufficient_univ,1.3587753,F +drive_transit_ASC_auto_sufficient_work,-1.0045459,F +drive_transit_ASC_auto_sufficient_atwork,-999.21466,F +taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F +taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F +taxi_ASC_no_auto_school_univ,-7,T +taxi_ASC_no_auto_work,4.7291,F +taxi_ASC_no_auto_atwork,4.1021,F +taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F +taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F +taxi_ASC_auto_deficient_school,-0.3338,F +taxi_ASC_auto_deficient_univ,4.2492,F +taxi_ASC_auto_deficient_work,-1.4766,F +taxi_ASC_auto_deficient_atwork,-4.4046,F +taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F +taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F +taxi_ASC_auto_sufficient_school,-2.4294,F +taxi_ASC_auto_sufficient_univ,-0.3131,F +taxi_ASC_auto_sufficient_work,-4.8509,F +taxi_ASC_auto_sufficient_atwork,-2.8804,F +tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F +tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F +tnc_single_ASC_no_auto_school,-7,T +tnc_single_ASC_no_auto_univ,-2.519,F +tnc_single_ASC_no_auto_work,5.7855,F +tnc_single_ASC_no_auto_atwork,4.4982,F +tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F +tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F +tnc_single_ASC_auto_deficient_school,-0.5524,F +tnc_single_ASC_auto_deficient_univ,1.0221,F +tnc_single_ASC_auto_deficient_work,-0.8013,F +tnc_single_ASC_auto_deficient_atwork,-3.7626,F +tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F +tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F +tnc_single_ASC_auto_sufficient_school,-2.8375,F +tnc_single_ASC_auto_sufficient_univ,0.2088,F +tnc_single_ASC_auto_sufficient_work,-4.1946,F +tnc_single_ASC_auto_sufficient_atwork,-2.7988,F +tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F +tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F +tnc_shared_ASC_no_auto_school,-7,T +tnc_shared_ASC_no_auto_univ,-5.8116,F +tnc_shared_ASC_no_auto_work,3.2429,F +tnc_shared_ASC_no_auto_atwork,3.3672,F +tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F +tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F +tnc_shared_ASC_auto_deficient_school,-1.4746,F +tnc_shared_ASC_auto_deficient_univ,3.25,F +tnc_shared_ASC_auto_deficient_work,-2.1435,F +tnc_shared_ASC_auto_deficient_atwork,-4.5089,F +tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F +tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F +tnc_shared_ASC_auto_sufficient_school,-3.7219,F +tnc_shared_ASC_auto_sufficient_univ,-0.9068,F +tnc_shared_ASC_auto_sufficient_work,-5.3575,F +tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F +joint_walk_ASC_no_auto_all,-0.21274701,F +joint_walk_ASC_auto_deficient_all,-1.9607706,F +joint_walk_ASC_auto_sufficient_all,-3.2352157,F +joint_bike_ASC_no_auto_all,-2.8671598,F +joint_bike_ASC_auto_deficient_all,-6.076415,F +joint_bike_ASC_auto_sufficient_all,-6.3760657,F +joint_sr2_ASC_no_auto_all,0,T +joint_sr2_ASC_auto_deficient_all,0,T +joint_sr2_ASC_auto_sufficient_all,0,T +joint_sr3p_ASC_no_auto_all,0.5630671,F +joint_sr3p_ASC_auto_deficient_all,-1.8841692,F +joint_sr3p_ASC_auto_sufficient_all,-2.234826,F +joint_walk_transit_ASC_no_auto_all,0.62292415,F +joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F +joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F +joint_drive_transit_ASC_no_auto_all,0,T +joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F +joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F +joint_taxi_ASC_no_auto_all,-4.5792,F +joint_taxi_ASC_auto_deficient_all,-9.8157,F +joint_taxi_ASC_auto_sufficient_all,-11.7099,T +joint_tnc_single_ASC_no_auto_all,-4.4917,F +joint_tnc_single_ASC_auto_deficient_all,-9.8961,F +joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T +joint_tnc_shared_ASC_no_auto_all,-4.3002,F +joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F +joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T +local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F +local_bus_ASC_school_univ,-0.06508621,F +local_bus_ASC_work,0.06689507,F +walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +walk_light_rail_ASC_school_univ,1.6814003,F +walk_light_rail_ASC_work,0.8255567,F +drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +drive_light_rail_ASC_school_univ,1.6814003,F +drive_light_rail_ASC_work,0.8255567,F +walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +walk_ferry_ASC_school_univ,2.0202317,F +walk_ferry_ASC_work,0.93322605,F +drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +drive_ferry_ASC_school_univ,2.0202317,F +drive_ferry_ASC_work,0.93322605,F +express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F +express_bus_ASC_school_univ,0.32496938,F +express_bus_ASC_work,-0.5165474,F +heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F +heavy_rail_ASC_school_univ,0.96200377,F +heavy_rail_ASC_work,0.64772975,F +commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F +commuter_rail_ASC_school_univ,1.0336206,F +commuter_rail_ASC_work,0.725503,F +walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +walk_transit_CBD_ASC_school_univ,0.672,F +walk_transit_CBD_ASC_work,0.804,F +walk_transit_CBD_ASC_atwork,0.564,F +drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +drive_transit_CBD_ASC_school_univ,0.672,F +drive_transit_CBD_ASC_work,1.1,F +drive_transit_CBD_ASC_atwork,0.564,F diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs_template.csv b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs_template.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs_template.csv rename to activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs_template.csv index 2e97238f2c..b1b009a3f0 100755 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice_coeffs_template.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_mode_choice_coeffs_template.csv @@ -1,87 +1,87 @@ -coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork -#same for all segments,,,,,,,,,, -coef_one,,,,,,,,,, -coef_nest_root,,,,,,,,,, -coef_nest_AUTO,,,,,,,,,, -coef_nest_AUTO_DRIVEALONE,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, -coef_nest_NONMOTORIZED,,,,,,,,,, -coef_nest_TRANSIT,,,,,,,,,, -coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, -coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, -coef_nest_RIDEHAIL,,,,,,,,,, -#,,,,,,,,,, -coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork -coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork -coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork -coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork -coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork -coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork -coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork -coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork -coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork -walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork -walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork -walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork -bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork -bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork -bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork -sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all -sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork -sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork -sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork -sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork -sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork -walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork -walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork -walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork -drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all -drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork -drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork -taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork -taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork -taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork -tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork -tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork -tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork -tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork -tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork -tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork -joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all -joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all -joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all -joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all -joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all -joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all -joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all -joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all -joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all -joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all -joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all -joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all -joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all -joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all -joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all -joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all -joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all -joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all -joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all -joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all -joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all -joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all -joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all -joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all -joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all -joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all -joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all -local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork -drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork +coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork +#same for all segments,,,,,,,,,, +coef_one,,,,,,,,,, +coef_nest_root,,,,,,,,,, +coef_nest_AUTO,,,,,,,,,, +coef_nest_AUTO_DRIVEALONE,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, +coef_nest_NONMOTORIZED,,,,,,,,,, +coef_nest_TRANSIT,,,,,,,,,, +coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, +coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, +coef_nest_RIDEHAIL,,,,,,,,,, +#,,,,,,,,,, +coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork +coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork +coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork +coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork +coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork +coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork +coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork +coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork +coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork +walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork +walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork +walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork +bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork +bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork +bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork +sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all +sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork +sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork +sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork +sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork +sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork +walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork +walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork +walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork +drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all +drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork +drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork +taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork +taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork +taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork +tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork +tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork +tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork +tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork +tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork +tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork +joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all +joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all +joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all +joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all +joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all +joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all +joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all +joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all +joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all +joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all +joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all +joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all +joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all +joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all +joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all +joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all +joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all +joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all +joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all +joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all +joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all +joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all +joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all +joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all +joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all +joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all +joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all +local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork +drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/tour_scheduling_atwork.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.csv index c99dc7d3c4..9e64b6e016 100755 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.csv @@ -1,59 +1,59 @@ -Label,Description,Expression,Coefficient -#,Departure Constants,, -util_early_start_at_5,Early start at 5,start < 6,coef_early_start_at_5 -util_am_peak_start_at_6,AM peak start at 6,start == 6,coef_am_peak_start_at_6 -util_am_peak_start_at_7,AM peak start at 7,start == 7,coef_am_peak_start_at_7 -util_am_peak_start_at_8,AM peak start at 8,start == 8,coef_am_peak_start_at_8 -util_am_peak_start_at_9,AM peak start at 9,start == 9,coef_am_peak_start_at_9 -util_midday_start_at_10_11_12,Midday start at 10/11/12,(start > 9) & (start < 13),coef_midday_start_at_10_11_12 -util_midday_start_at_13_14_15,Midday start at 13/14/15,(start > 12) & (start < 16),coef_midday_start_at_13_14_15 -util_pm_peak_start_at_16_17_18,PM peak start at 16/17/18,(start > 15) & (start < 19),coef_pm_peak_start_at_16_17_18 -util_evening_start_at_19_20_21,Evening start at 19/20/21,(start > 18) & (start < 22),coef_evening_start_at_19_20_21 -util_late_start_at_22_23,Late start at 22/23,start > 21,coef_late_start_at_22_23 -#,Arrival Constants,, -util_early_end_at_5_6,Early end at 5/6 ,end < 7,coef_early_end_at_5_6 -util_am_peak_end,AM peak end,(end > 6) & (end < 10),coef_am_peak_end -util_midday_end_at_10_11_12,Midday end at 10/11/12,(end > 9) & (end < 13),coef_midday_end_at_10_11_12 -util_midday_end_at_13_14,Midday end at 13/14,(end > 12) & (end < 15),coef_midday_end_at_13_14 -util_pm_peak_end_at_15,PM peak end at 15,end == 15,coef_pm_peak_end_at_15 -util_pm_peak_end_at_16,PM peak end at 16,end == 16,coef_pm_peak_end_at_16 -util_pm_peak_end_at_17,PM peak end at 17,end == 17,coef_pm_peak_end_at_17 -util_pm_peak_end_at_18,PM peak end at 18,end == 18,coef_pm_peak_end_at_18 -util_evening_end_at_19_20_21,Evening end at 19/20/21,(end > 18) & (end < 22),coef_evening_end_at_19_20_21 -util_late_end_at_22_23,Late end at 22/23,end > 21,coef_late_end_at_22_23 -#,,, -util_duration_of_0_hours,Duration of 0 hours,duration==0,coef_duration_of_0_hours -util_duration_of_1_hour,Duration of 1 hour,duration==1,coef_duration_of_1_hour -util_duration_of_2_to_3_hours,Duration of 2 to 3 hours,(duration >=1) and (duration <= 4),coef_duration_of_2_to_3_hours -util_duration_of_4_to_5_hours,Duration of 4 to 5 hours,(duration >=4) and (duration <=5),coef_duration_of_4_to_5_hours -util_duration_of_6_to_7_hours,Duration of 6 to 7 hours,(duration >=6) and (duration <=7),coef_duration_of_6_to_7_hours -util_duration_of_8_to_10_hours,Duration of 8 to 10 hours,(duration >=8) and (duration <=10),coef_duration_of_8_to_10_hours -util_duration_of_11_to_13_hours,Duration of 11 to 13 hours,(duration >=11) and (duration <=13),coef_duration_of_11_to_13_hours -util_duration_of_14_to_18_hours,Duration of 14 to 18 hours,(duration >=14) and (duration <=18),coef_duration_of_14_to_18_hours -util_#,,, -util_start_shift_for_outbound_auto_travel_time_off_peak,Start shift for outbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd, time_cap)",coef_start_shift_for_outbound_auto_travel_time_off_peak -util_start_shift_for_inbound_auto_travel_time_off_peak,Start shift for inbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd_t, time_cap)",coef_start_shift_for_inbound_auto_travel_time_off_peak -util_duration_shift_for_outbound_auto_travel_time_off_peak,Duration shift for outbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd, time_cap)",coef_duration_shift_for_outbound_auto_travel_time_off_peak -util_duration_shift_for_inbound_auto_travel_time_off_peak,Duration shift for inbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd_t, time_cap)",coef_duration_shift_for_inbound_auto_travel_time_off_peak -#,,, -util_start_shift_for_business_related_,Start shift for business-related sub-tour purpose,(tour_type == 'business') * start,coef_start_shift_for_business_related_ -util_duration_shift_for_business_related_,Duration shift for business-related sub-tour purpose,(tour_type == 'business') * duration,coef_duration_shift_for_business_related_ -util_start_shift_for_first_sub_tour_of_same_work_tour,Start shift for first sub-tour of the same work tour,(tour_type_num == 1) * start,coef_start_shift_for_first_sub_tour_of_same_work_tour -util_duration_shift_for_first_sub_tour_of_same_work_tour,Duration shift for first sub-tour of the same work tour,(tour_type_num == 1) * duration,coef_duration_shift_for_first_sub_tour_of_same_work_tour -util_start_shift_for_subsequent_sub_tour_of_same_work_tour,Start shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * start,coef_start_shift_for_subsequent_sub_tour_of_same_work_tour -util_duration_shift_for_subsequent_sub_tour_of_same_work_tour,Duration shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * duration,coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour -util_start_shift_for_number_of_mandatory_tours,Start shift for number of mandatory tours made by the person,start * num_mand,coef_start_shift_for_number_of_mandatory_tours -util_duration_shift_for_number_of_mandatory_tours,Duration shift for number of mandatory tours made by the person,duration * num_mand,coef_duration_shift_for_number_of_mandatory_tours -util_start_shift_for_number_of_joint_tours,Start shift for number of joint tours in which the person participated,start * num_joint_tours,coef_start_shift_for_number_of_joint_tours -util_duration_shift_for_number_of_joint_tours,Duration shift for number of joint tours in which the person participated,duration * num_joint_tours,coef_duration_shift_for_number_of_joint_tours -util_start_shift_for_number_of_individual_nonmandatory_tours,Start shift for number of individual nonm tours (including escort) made by the person,start * num_non_mand,coef_start_shift_for_number_of_individual_nonmandatory_tours -util_duration_shift_for_number_of_individual_nonmandatory_tours,Duration shift for number of individual nonm tours (including escort) made by the person,duration * num_non_mand,coef_duration_shift_for_number_of_individual_nonmandatory_tours -#,,, -util_dummy_for_business_related_purpose_and_duration_from_0_to_1,Dummy for business-related purpose and duration from 0 to 1,(tour_type == 'business') & (duration <=1),coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 -util_dummy_for_eating_out_purpose_and_duration_of_1_hour,Dummy for eating-out purpose and duration of 1 hour,(tour_type == 'business') & (duration ==1),coef_dummy_for_eating_out_purpose_and_duration_of_1_hour -util_dummy_for_eating_out_purpose_and_departure_at_11,Dummy for eating-out purpose and departure at 11,(tour_type == 'business') & (start == 11),coef_dummy_for_eating_out_purpose_and_departure_at_11 -util_dummy_for_eating_out_purpose_and_departure_at_12,Dummy for eating-out purpose and departure at 12,(tour_type == 'business') & (start == 12),coef_dummy_for_eating_out_purpose_and_departure_at_12 -util_dummy_for_eating_out_purpose_and_departure_at_13,Dummy for eating-out purpose and departure at 13,(tour_type == 'business') & (start == 13),coef_dummy_for_eating_out_purpose_and_departure_at_13 -#,,, -#,Mode Choice Logsum,mode_choice_logsum, +Label,Description,Expression,Coefficient +#,Departure Constants,, +util_early_start_at_5,Early start at 5,start < 6,coef_early_start_at_5 +util_am_peak_start_at_6,AM peak start at 6,start == 6,coef_am_peak_start_at_6 +util_am_peak_start_at_7,AM peak start at 7,start == 7,coef_am_peak_start_at_7 +util_am_peak_start_at_8,AM peak start at 8,start == 8,coef_am_peak_start_at_8 +util_am_peak_start_at_9,AM peak start at 9,start == 9,coef_am_peak_start_at_9 +util_midday_start_at_10_11_12,Midday start at 10/11/12,(start > 9) & (start < 13),coef_midday_start_at_10_11_12 +util_midday_start_at_13_14_15,Midday start at 13/14/15,(start > 12) & (start < 16),coef_midday_start_at_13_14_15 +util_pm_peak_start_at_16_17_18,PM peak start at 16/17/18,(start > 15) & (start < 19),coef_pm_peak_start_at_16_17_18 +util_evening_start_at_19_20_21,Evening start at 19/20/21,(start > 18) & (start < 22),coef_evening_start_at_19_20_21 +util_late_start_at_22_23,Late start at 22/23,start > 21,coef_late_start_at_22_23 +#,Arrival Constants,, +util_early_end_at_5_6,Early end at 5/6 ,end < 7,coef_early_end_at_5_6 +util_am_peak_end,AM peak end,(end > 6) & (end < 10),coef_am_peak_end +util_midday_end_at_10_11_12,Midday end at 10/11/12,(end > 9) & (end < 13),coef_midday_end_at_10_11_12 +util_midday_end_at_13_14,Midday end at 13/14,(end > 12) & (end < 15),coef_midday_end_at_13_14 +util_pm_peak_end_at_15,PM peak end at 15,end == 15,coef_pm_peak_end_at_15 +util_pm_peak_end_at_16,PM peak end at 16,end == 16,coef_pm_peak_end_at_16 +util_pm_peak_end_at_17,PM peak end at 17,end == 17,coef_pm_peak_end_at_17 +util_pm_peak_end_at_18,PM peak end at 18,end == 18,coef_pm_peak_end_at_18 +util_evening_end_at_19_20_21,Evening end at 19/20/21,(end > 18) & (end < 22),coef_evening_end_at_19_20_21 +util_late_end_at_22_23,Late end at 22/23,end > 21,coef_late_end_at_22_23 +#,,, +util_duration_of_0_hours,Duration of 0 hours,duration==0,coef_duration_of_0_hours +util_duration_of_1_hour,Duration of 1 hour,duration==1,coef_duration_of_1_hour +util_duration_of_2_to_3_hours,Duration of 2 to 3 hours,(duration >=1) and (duration <= 4),coef_duration_of_2_to_3_hours +util_duration_of_4_to_5_hours,Duration of 4 to 5 hours,(duration >=4) and (duration <=5),coef_duration_of_4_to_5_hours +util_duration_of_6_to_7_hours,Duration of 6 to 7 hours,(duration >=6) and (duration <=7),coef_duration_of_6_to_7_hours +util_duration_of_8_to_10_hours,Duration of 8 to 10 hours,(duration >=8) and (duration <=10),coef_duration_of_8_to_10_hours +util_duration_of_11_to_13_hours,Duration of 11 to 13 hours,(duration >=11) and (duration <=13),coef_duration_of_11_to_13_hours +util_duration_of_14_to_18_hours,Duration of 14 to 18 hours,(duration >=14) and (duration <=18),coef_duration_of_14_to_18_hours +util_#,,, +util_start_shift_for_outbound_auto_travel_time_off_peak,Start shift for outbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd, time_cap)",coef_start_shift_for_outbound_auto_travel_time_off_peak +util_start_shift_for_inbound_auto_travel_time_off_peak,Start shift for inbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd_t, time_cap)",coef_start_shift_for_inbound_auto_travel_time_off_peak +util_duration_shift_for_outbound_auto_travel_time_off_peak,Duration shift for outbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd, time_cap)",coef_duration_shift_for_outbound_auto_travel_time_off_peak +util_duration_shift_for_inbound_auto_travel_time_off_peak,Duration shift for inbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd_t, time_cap)",coef_duration_shift_for_inbound_auto_travel_time_off_peak +#,,, +util_start_shift_for_business_related_,Start shift for business-related sub-tour purpose,(tour_type == 'business') * start,coef_start_shift_for_business_related_ +util_duration_shift_for_business_related_,Duration shift for business-related sub-tour purpose,(tour_type == 'business') * duration,coef_duration_shift_for_business_related_ +util_start_shift_for_first_sub_tour_of_same_work_tour,Start shift for first sub-tour of the same work tour,(tour_type_num == 1) * start,coef_start_shift_for_first_sub_tour_of_same_work_tour +util_duration_shift_for_first_sub_tour_of_same_work_tour,Duration shift for first sub-tour of the same work tour,(tour_type_num == 1) * duration,coef_duration_shift_for_first_sub_tour_of_same_work_tour +util_start_shift_for_subsequent_sub_tour_of_same_work_tour,Start shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * start,coef_start_shift_for_subsequent_sub_tour_of_same_work_tour +util_duration_shift_for_subsequent_sub_tour_of_same_work_tour,Duration shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * duration,coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour +util_start_shift_for_number_of_mandatory_tours,Start shift for number of mandatory tours made by the person,start * num_mand,coef_start_shift_for_number_of_mandatory_tours +util_duration_shift_for_number_of_mandatory_tours,Duration shift for number of mandatory tours made by the person,duration * num_mand,coef_duration_shift_for_number_of_mandatory_tours +util_start_shift_for_number_of_joint_tours,Start shift for number of joint tours in which the person participated,start * num_joint_tours,coef_start_shift_for_number_of_joint_tours +util_duration_shift_for_number_of_joint_tours,Duration shift for number of joint tours in which the person participated,duration * num_joint_tours,coef_duration_shift_for_number_of_joint_tours +util_start_shift_for_number_of_individual_nonmandatory_tours,Start shift for number of individual nonm tours (including escort) made by the person,start * num_non_mand,coef_start_shift_for_number_of_individual_nonmandatory_tours +util_duration_shift_for_number_of_individual_nonmandatory_tours,Duration shift for number of individual nonm tours (including escort) made by the person,duration * num_non_mand,coef_duration_shift_for_number_of_individual_nonmandatory_tours +#,,, +util_dummy_for_business_related_purpose_and_duration_from_0_to_1,Dummy for business-related purpose and duration from 0 to 1,(tour_type == 'business') & (duration <=1),coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 +util_dummy_for_eating_out_purpose_and_duration_of_1_hour,Dummy for eating-out purpose and duration of 1 hour,(tour_type == 'business') & (duration ==1),coef_dummy_for_eating_out_purpose_and_duration_of_1_hour +util_dummy_for_eating_out_purpose_and_departure_at_11,Dummy for eating-out purpose and departure at 11,(tour_type == 'business') & (start == 11),coef_dummy_for_eating_out_purpose_and_departure_at_11 +util_dummy_for_eating_out_purpose_and_departure_at_12,Dummy for eating-out purpose and departure at 12,(tour_type == 'business') & (start == 12),coef_dummy_for_eating_out_purpose_and_departure_at_12 +util_dummy_for_eating_out_purpose_and_departure_at_13,Dummy for eating-out purpose and departure at 13,(tour_type == 'business') & (start == 13),coef_dummy_for_eating_out_purpose_and_departure_at_13 +#,,, +#,Mode Choice Logsum,mode_choice_logsum, #,,, \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork.yaml b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.yaml similarity index 94% rename from activitysim/examples/example_psrc/configs/tour_scheduling_atwork.yaml rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.yaml index 9209ada983..a4509ce984 100755 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork.yaml +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork.yaml @@ -1,13 +1,13 @@ - -SPEC: tour_scheduling_atwork.csv -COEFFICIENTS: tour_scheduling_atwork_coeffs.csv - -preprocessor: - SPEC: tour_scheduling_atwork_preprocessor - DF: df -# TABLES: -# - land_use -# - tours - -CONSTANTS: - time_cap: 30 + +SPEC: tour_scheduling_atwork.csv +COEFFICIENTS: tour_scheduling_atwork_coeffs.csv + +preprocessor: + SPEC: tour_scheduling_atwork_preprocessor + DF: df +# TABLES: +# - land_use +# - tours + +CONSTANTS: + time_cap: 30 diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_atwork_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_atwork_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork_coeffs.csv diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_atwork_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_atwork_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_atwork_preprocessor.csv diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_joint.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/tour_scheduling_joint.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint.csv index e0266f3171..36fa7940ee 100755 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_joint.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint.csv @@ -1,66 +1,66 @@ -Label,Description,Expression,Coefficient -util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_unavailable -util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration -util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,"(tour_type == 'shopping') * start",coef_shopping_tour_departure_shift_effects -util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,"(tour_type == 'shopping') * duration",coef_shopping_tour_duration_shift_effects -util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,"(tour_type == 'othmaint') * start",coef_maintenance_tour_departure_shift_effects -util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,"(tour_type == 'othmaint') * duration",coef_maintenance_tour_duration_shift_effects -util_visit_tour_departure_shift_effects,Visit tour - departure shift effects,"(tour_type == 'social') * start",coef_visit_tour_departure_shift_effects -util_visit_tour_duration_shift_effects,Visit tour - departure shift effects,"(tour_type == 'social') * duration",coef_visit_tour_duration_shift_effects -util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,"(tour_type == 'eatout') * start",coef_eat_out_tour_departure_shift_effects -util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects -util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects -util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects -util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects -util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects -util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects -util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects -util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect -util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect -util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,"(tour_type == 'othmaint') & (start < 7)",coef_maintenance_tour_depart_before_7 -util_shopping_tour_depart_before_8,Shopping tour - depart before 8,"(tour_type == 'shopping') & (start < 8)",coef_shopping_tour_depart_before_8 -util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,"(tour_type == 'shopping') & (end > 22)",coef_shopping_tour_arrive_after_22 -util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 -util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 -util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,"(tour_type == 'shopping') & (duration < 2)",coef_shopping_tour_duration_lt_2_hours -util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,"(tour_type == 'othdiscr') & (duration < 2)",coef_discretionary_tour_duration_lt_2_hours -util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 -#,, -#,Mode Choice Logsum,mode_choice_logsum, -#,, -#,, -util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.tour_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour -util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.tour_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour -util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_before(df.tour_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_after(df.tour_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_before(df.tour_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_after(df.tour_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction -#,, -#,, -util_departure_constants_early,Departure Constants -- Early (up to 5),"(tour_type != 'escort') & (start < 6)",coef_departure_constants_early -util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),"(tour_type != 'escort') & (start == 6)",coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),"(tour_type != 'escort') & (start == 7)",coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),"(tour_type != 'escort') & (start == 8)",coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),"(tour_type != 'escort') & (start == 9)",coef_departure_constants_am_peak_4 -util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),"(tour_type != 'escort') & (start > 9) & (start < 13)",coef_departure_constants_midday_1 -util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),"(tour_type != 'escort') & (start > 12) & (start < 16)",coef_departure_constants_midday_2 -util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),"(tour_type != 'escort') & (start > 15) & (start < 19)",coef_departure_constants_pm_peak -util_departure_constants_evening,Departure Constants -- Evening (19 to 21),"(tour_type != 'escort') & (start > 18) & (start < 22)",coef_departure_constants_evening -util_departure_constants_late,Departure Constants -- Late (22 and later),"(tour_type != 'escort') & (start > 21)",coef_departure_constants_late -util_arrival_constants_early,Arrival Constants -- Early (up to 6),"(tour_type != 'escort') & (end < 7)",coef_arrival_constants_early -util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),"(tour_type != 'escort') & (end > 6) & (end < 10)",coef_arrival_constants_am_peak -util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),"(tour_type != 'escort') & (end > 9) & (end < 13)",coef_arrival_constants_midday_1 -util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),"(tour_type != 'escort') & (end > 12) & (end < 15)",coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),"(tour_type != 'escort') & (end == 15)",coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),"(tour_type != 'escort') & (end == 16)",coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),"(tour_type != 'escort') & (end == 17)",coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),"(tour_type != 'escort') & (end == 18)",coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),"(tour_type != 'escort') & (end > 18) & (end < 22)",coef_arrival_constants_evening -util_arrival_constants_late,Arrival Constants -- Late (22 and later),"(tour_type != 'escort') & (end > 21)",coef_arrival_constants_late -util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,"(tour_type != 'escort') & (duration < 2)",coef_duration_constants_0_to_1_hours -util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,"(tour_type != 'escort') & (duration > 1) & (duration < 4)",coef_duration_constants_2_to_3_hours -util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,"(tour_type != 'escort') & (duration > 3) & (duration < 6)",coef_duration_constants_4_to_5_hours -util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,"(tour_type != 'escort') & (duration > 5) & (duration < 8)",coef_duration_constants_6_to_7_hours -util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,"(tour_type != 'escort') & (duration > 7) & (duration < 11)",coef_duration_constants_8_to_10_hours -util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,"(tour_type != 'escort') & (duration > 10) & (duration < 14)",coef_duration_constants_11_to_13_hours +Label,Description,Expression,Coefficient +util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_unavailable +util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration +util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,"(tour_type == 'shopping') * start",coef_shopping_tour_departure_shift_effects +util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,"(tour_type == 'shopping') * duration",coef_shopping_tour_duration_shift_effects +util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,"(tour_type == 'othmaint') * start",coef_maintenance_tour_departure_shift_effects +util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,"(tour_type == 'othmaint') * duration",coef_maintenance_tour_duration_shift_effects +util_visit_tour_departure_shift_effects,Visit tour - departure shift effects,"(tour_type == 'social') * start",coef_visit_tour_departure_shift_effects +util_visit_tour_duration_shift_effects,Visit tour - departure shift effects,"(tour_type == 'social') * duration",coef_visit_tour_duration_shift_effects +util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,"(tour_type == 'eatout') * start",coef_eat_out_tour_departure_shift_effects +util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects +util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects +util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects +util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects +util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects +util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects +util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects +util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect +util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect +util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,"(tour_type == 'othmaint') & (start < 7)",coef_maintenance_tour_depart_before_7 +util_shopping_tour_depart_before_8,Shopping tour - depart before 8,"(tour_type == 'shopping') & (start < 8)",coef_shopping_tour_depart_before_8 +util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,"(tour_type == 'shopping') & (end > 22)",coef_shopping_tour_arrive_after_22 +util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 +util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 +util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,"(tour_type == 'shopping') & (duration < 2)",coef_shopping_tour_duration_lt_2_hours +util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,"(tour_type == 'othdiscr') & (duration < 2)",coef_discretionary_tour_duration_lt_2_hours +util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 +#,, +#,Mode Choice Logsum,mode_choice_logsum, +#,, +#,, +util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.tour_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour +util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.tour_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour +util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_before(df.tour_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_after(df.tour_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_before(df.tour_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_after(df.tour_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction +#,, +#,, +util_departure_constants_early,Departure Constants -- Early (up to 5),"(tour_type != 'escort') & (start < 6)",coef_departure_constants_early +util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),"(tour_type != 'escort') & (start == 6)",coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),"(tour_type != 'escort') & (start == 7)",coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),"(tour_type != 'escort') & (start == 8)",coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),"(tour_type != 'escort') & (start == 9)",coef_departure_constants_am_peak_4 +util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),"(tour_type != 'escort') & (start > 9) & (start < 13)",coef_departure_constants_midday_1 +util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),"(tour_type != 'escort') & (start > 12) & (start < 16)",coef_departure_constants_midday_2 +util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),"(tour_type != 'escort') & (start > 15) & (start < 19)",coef_departure_constants_pm_peak +util_departure_constants_evening,Departure Constants -- Evening (19 to 21),"(tour_type != 'escort') & (start > 18) & (start < 22)",coef_departure_constants_evening +util_departure_constants_late,Departure Constants -- Late (22 and later),"(tour_type != 'escort') & (start > 21)",coef_departure_constants_late +util_arrival_constants_early,Arrival Constants -- Early (up to 6),"(tour_type != 'escort') & (end < 7)",coef_arrival_constants_early +util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),"(tour_type != 'escort') & (end > 6) & (end < 10)",coef_arrival_constants_am_peak +util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),"(tour_type != 'escort') & (end > 9) & (end < 13)",coef_arrival_constants_midday_1 +util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),"(tour_type != 'escort') & (end > 12) & (end < 15)",coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),"(tour_type != 'escort') & (end == 15)",coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),"(tour_type != 'escort') & (end == 16)",coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),"(tour_type != 'escort') & (end == 17)",coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),"(tour_type != 'escort') & (end == 18)",coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),"(tour_type != 'escort') & (end > 18) & (end < 22)",coef_arrival_constants_evening +util_arrival_constants_late,Arrival Constants -- Late (22 and later),"(tour_type != 'escort') & (end > 21)",coef_arrival_constants_late +util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,"(tour_type != 'escort') & (duration < 2)",coef_duration_constants_0_to_1_hours +util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,"(tour_type != 'escort') & (duration > 1) & (duration < 4)",coef_duration_constants_2_to_3_hours +util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,"(tour_type != 'escort') & (duration > 3) & (duration < 6)",coef_duration_constants_4_to_5_hours +util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,"(tour_type != 'escort') & (duration > 5) & (duration < 8)",coef_duration_constants_6_to_7_hours +util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,"(tour_type != 'escort') & (duration > 7) & (duration < 11)",coef_duration_constants_8_to_10_hours +util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,"(tour_type != 'escort') & (duration > 10) & (duration < 14)",coef_duration_constants_11_to_13_hours util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,"(tour_type != 'escort') & (duration > 13) & (duration < 19)",coef_duration_constants_14_to_18_hours \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_joint_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint_coeffs.csv similarity index 98% rename from activitysim/examples/example_psrc/configs/tour_scheduling_joint_coeffs.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint_coeffs.csv index 8d0a940eac..6d382b52de 100755 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_joint_coeffs.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_joint_coeffs.csv @@ -1,60 +1,60 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_free_flow_round_trip_auto_time_shift_effects_duration,0.003195,F -coef_shopping_tour_departure_shift_effects,-0.06015,F -coef_shopping_tour_duration_shift_effects,-0.1208,F -coef_maintenance_tour_departure_shift_effects,-0.1489,F -coef_maintenance_tour_duration_shift_effects,-0.08372,F -coef_visit_tour_departure_shift_effects,0.09688,F -coef_visit_tour_duration_shift_effects,0.1638,F -coef_eat_out_tour_departure_shift_effects,0.07549,F -coef_school_child_age_16_plus_departure_shift_effects,0.07266,F -coef_school_child_age_16_plus_duration_shift_effects,0.2095,F -coef_school_child_age_under_16_departure_shift_effects,0.04657,F -coef_school_child_age_under_16_duration_shift_effects,0.3272,F -coef_destination_in_cbd_duration_shift_effects,0.1067,F -coef_number_of_mandatory_tours_departure_shift_effects,0.04673,F -coef_number_of_joint_tours_departure_shift_effects,0.05208,F -coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.2364,F -coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.1731,F -coef_maintenance_tour_depart_before_7,-0.8826,F -coef_shopping_tour_depart_before_8,-1.037,F -coef_shopping_tour_arrive_after_22,-0.6027,F -coef_school_child_under_16_arrive_after_22,-1.18,F -coef_university_student_arrive_after_22,0.5466,F -coef_shopping_tour_duration_lt_2_hours,0.5168,F -coef_discretionary_tour_duration_lt_2_hours,-0.6974,F -coef_adult_with_children_in_hh_arrive_19_21,0.336,F -coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.4562,F -coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.3992,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.008442,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.0257,F -coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction,-0.0593,F -coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction,-0.02734,F -coef_departure_constants_early,-14.47708,F -coef_departure_constants_am_peak_1,-11.59505,F -coef_departure_constants_am_peak_2,-9.00519,F -coef_departure_constants_am_peak_3,-2.73315,F -coef_departure_constants_am_peak_4,0.26654,F -coef_departure_constants_midday_1,0,T -coef_departure_constants_midday_2,-1.6026,F -coef_departure_constants_pm_peak,-17.69598,F -coef_departure_constants_evening,-18.98737,F -coef_departure_constants_late,-20.27807,F -coef_arrival_constants_early,-8.72888,F -coef_arrival_constants_am_peak,-8.72888,F -coef_arrival_constants_midday_1,0,T -coef_arrival_constants_midday_2,1.40804,F -coef_arrival_constants_pm_peak_1,1.02036,F -coef_arrival_constants_pm_peak_2,1.06863,F -coef_arrival_constants_pm_peak_3,0,T -coef_arrival_constants_pm_peak_4,-0.59626,F -coef_arrival_constants_evening,-2.74894,F -coef_arrival_constants_late,-4.24253,F -coef_duration_constants_0_to_1_hours,-2.22826,F -coef_duration_constants_2_to_3_hours,0,T -coef_duration_constants_4_to_5_hours,-0.56174,F -coef_duration_constants_6_to_7_hours,-0.65547,F -coef_duration_constants_8_to_10_hours,-0.74062,F -coef_duration_constants_11_to_13_hours,-0.81519,F +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.003195,F +coef_shopping_tour_departure_shift_effects,-0.06015,F +coef_shopping_tour_duration_shift_effects,-0.1208,F +coef_maintenance_tour_departure_shift_effects,-0.1489,F +coef_maintenance_tour_duration_shift_effects,-0.08372,F +coef_visit_tour_departure_shift_effects,0.09688,F +coef_visit_tour_duration_shift_effects,0.1638,F +coef_eat_out_tour_departure_shift_effects,0.07549,F +coef_school_child_age_16_plus_departure_shift_effects,0.07266,F +coef_school_child_age_16_plus_duration_shift_effects,0.2095,F +coef_school_child_age_under_16_departure_shift_effects,0.04657,F +coef_school_child_age_under_16_duration_shift_effects,0.3272,F +coef_destination_in_cbd_duration_shift_effects,0.1067,F +coef_number_of_mandatory_tours_departure_shift_effects,0.04673,F +coef_number_of_joint_tours_departure_shift_effects,0.05208,F +coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.2364,F +coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.1731,F +coef_maintenance_tour_depart_before_7,-0.8826,F +coef_shopping_tour_depart_before_8,-1.037,F +coef_shopping_tour_arrive_after_22,-0.6027,F +coef_school_child_under_16_arrive_after_22,-1.18,F +coef_university_student_arrive_after_22,0.5466,F +coef_shopping_tour_duration_lt_2_hours,0.5168,F +coef_discretionary_tour_duration_lt_2_hours,-0.6974,F +coef_adult_with_children_in_hh_arrive_19_21,0.336,F +coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.4562,F +coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.3992,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.008442,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.0257,F +coef_adjacent_window_exists_before_this_departure_hour_second_tour_interaction,-0.0593,F +coef_adjacent_window_exists_after_this_arrival_hour_second_tour_interaction,-0.02734,F +coef_departure_constants_early,-14.47708,F +coef_departure_constants_am_peak_1,-11.59505,F +coef_departure_constants_am_peak_2,-9.00519,F +coef_departure_constants_am_peak_3,-2.73315,F +coef_departure_constants_am_peak_4,0.26654,F +coef_departure_constants_midday_1,0,T +coef_departure_constants_midday_2,-1.6026,F +coef_departure_constants_pm_peak,-17.69598,F +coef_departure_constants_evening,-18.98737,F +coef_departure_constants_late,-20.27807,F +coef_arrival_constants_early,-8.72888,F +coef_arrival_constants_am_peak,-8.72888,F +coef_arrival_constants_midday_1,0,T +coef_arrival_constants_midday_2,1.40804,F +coef_arrival_constants_pm_peak_1,1.02036,F +coef_arrival_constants_pm_peak_2,1.06863,F +coef_arrival_constants_pm_peak_3,0,T +coef_arrival_constants_pm_peak_4,-0.59626,F +coef_arrival_constants_evening,-2.74894,F +coef_arrival_constants_late,-4.24253,F +coef_duration_constants_0_to_1_hours,-2.22826,F +coef_duration_constants_2_to_3_hours,0,T +coef_duration_constants_4_to_5_hours,-0.56174,F +coef_duration_constants_6_to_7_hours,-0.65547,F +coef_duration_constants_8_to_10_hours,-0.74062,F +coef_duration_constants_11_to_13_hours,-0.81519,F coef_duration_constants_14_to_18_hours,-2.73844,F \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory.csv index 048aafd3cf..0c5c1fab7b 100755 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory.csv @@ -1,94 +1,94 @@ -Label,Description,Expression,Coefficient -util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends -util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration -util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,(tour_type == 'shopping') * start,coef_shopping_tour_departure_shift_effects -util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,(tour_type == 'shopping') * duration,coef_shopping_tour_duration_shift_effects -util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * start,coef_maintenance_tour_departure_shift_effects -util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * duration,coef_maintenance_tour_duration_shift_effects -util_visit_tour_departure_shift_effects_start,Visit tour - departure shift effects,(tour_type == 'social') * start,coef_visit_tour_departure_shift_effects -util_visit_tour_duration_shift_effects_duration,Visit tour - departure shift effects,(tour_type == 'social') * duration,coef_visit_tour_duration_shift_effects -util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,(tour_type == 'eatout') * start,coef_eat_out_tour_departure_shift_effects -util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects -util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects -util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects -util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects -util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects -util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects -util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects -util_number_of_escort_tours_departure_shift_effects,Number of escort tours - departure shift effects,num_escort_tours * start,coef_number_of_escort_tours_departure_shift_effects -util_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,Number of idividual non-mandatory tours (excluding escort) - departure shift effects,num_non_escort_tours * start,coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects -util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect -util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect -util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,(tour_type == 'othmaint') & (start < 7),coef_maintenance_tour_depart_before_7 -util_shopping_tour_depart_before_8,Shopping tour - depart before 8,(tour_type == 'shopping') & (start < 8),coef_shopping_tour_depart_before_8 -util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,(tour_type == 'shopping') & (end > 22),coef_shopping_tour_arrive_after_22 -util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 -util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 -util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,(tour_type == 'shopping') & (duration < 2),coef_shopping_tour_duration_lt_2_hours -util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,(tour_type == 'othdiscr') & (duration < 2),coef_discretionary_tour_duration_lt_2_hours -util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 -#,,, -#,Mode Choice Logsum,mode_choice_logsum,#mode_choice_logsum -#,,,# -util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour -util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour -util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_before(df.person_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_after(df.person_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_before(df.person_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_after(df.person_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,Remaining individual non-mandatory tours to be scheduled / number of unscheduled hours,"@((1.0 + df.tour_count - df.tour_num)) / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours -#,#,,# -util_departure_constants_early,Departure Constants -- Early (up to 5),(tour_type != 'escort') & (start < 6),coef_departure_constants_early -util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),(tour_type != 'escort') & (start == 6),coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),(tour_type != 'escort') & (start == 7),coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),(tour_type != 'escort') & (start == 8),coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),(tour_type != 'escort') & (start == 9),coef_departure_constants_am_peak_4 -util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(tour_type != 'escort') & (start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(tour_type != 'escort') & (start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(tour_type != 'escort') & (start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late,Departure Constants -- Late (22 and later),(tour_type != 'escort') & (start > 21),coef_departure_constants_late -util_arrival_constants_early,Arrival Constants -- Early (up to 6),(tour_type != 'escort') & (end < 7),coef_arrival_constants_early -util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(tour_type != 'escort') & (end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(tour_type != 'escort') & (end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),(tour_type != 'escort') & (end == 15),coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),(tour_type != 'escort') & (end == 16),coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),(tour_type != 'escort') & (end == 17),coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),(tour_type != 'escort') & (end == 18),coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(tour_type != 'escort') & (end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late,Arrival Constants -- Late (22 and later),(tour_type != 'escort') & (end > 21),coef_arrival_constants_late -util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,(tour_type != 'escort') & (duration < 2),coef_duration_constants_0_to_1_hours -util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,(tour_type != 'escort') & (duration > 1) & (duration < 4),coef_duration_constants_2_to_3_hours -util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,(tour_type != 'escort') & (duration > 3) & (duration < 6),coef_duration_constants_4_to_5_hours -util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,(tour_type != 'escort') & (duration > 5) & (duration < 8),coef_duration_constants_6_to_7_hours -util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,(tour_type != 'escort') & (duration > 7) & (duration < 11),coef_duration_constants_8_to_10_hours -util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,(tour_type != 'escort') & (duration > 10) & (duration < 14),coef_duration_constants_11_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(tour_type != 'escort') & (duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours -util_escort_tour_departure_constants_early,Escort Tour Departure Constants -- Early (up to 5),(tour_type == 'escort') & (start < 6),coef_escort_tour_departure_constants_early -util_escort_tour_departure_constants_am_peak_1,Escort Tour Departure Constants -- AM peak 1 (6),(tour_type == 'escort') & (start == 6),coef_escort_tour_departure_constants_am_peak_1 -util_escort_tour_departure_constants_am_peak_2,Escort Tour Departure Constants -- AM peak 2 (7),(tour_type == 'escort') & (start == 7),coef_escort_tour_departure_constants_am_peak_2 -util_escort_tour_departure_constants_am_peak_3,Escort Tour Departure Constants -- AM peak 3 (8),(tour_type == 'escort') & (start == 8),coef_escort_tour_departure_constants_am_peak_3 -util_escort_tour_departure_constants_am_peak_4,Escort Tour Departure Constants -- AM peak 4 (9),(tour_type == 'escort') & (start == 9),coef_escort_tour_departure_constants_am_peak_4 -util_escort_tour_departure_constants_midday_1,Escort Tour Departure Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (start > 9) & (start < 13),coef_escort_tour_departure_constants_midday_1 -util_escort_tour_departure_constants_midday_2,Escort Tour Departure Constants -- Midday 2 (13 to 15),(tour_type == 'escort') & (start > 12) & (start < 16),coef_escort_tour_departure_constants_midday_2 -util_escort_tour_departure_constants_pm_peak,Escort Tour Departure Constants -- PM peak (16 to 18),(tour_type == 'escort') & (start > 15) & (start < 19),coef_escort_tour_departure_constants_pm_peak -util_escort_tour_departure_constants_evening,Escort Tour Departure Constants -- Evening (19 to 21),(tour_type == 'escort') & (start > 18) & (start < 22),coef_escort_tour_departure_constants_evening -util_escort_tour_departure_constants_late,Escort Tour Departure Constants -- Late (22 and later),(tour_type == 'escort') & (start > 21),coef_escort_tour_departure_constants_late -util_escort_tour_arrival_constants_early,Escort Tour Arrival Constants -- Early (up to 6),(tour_type == 'escort') & (end < 7),coef_escort_tour_arrival_constants_early -util_escort_tour_arrival_constants_am_peak,Escort Tour Arrival Constants -- AM peak (7 to 9),(tour_type == 'escort') & (end > 6) & (end < 10),coef_escort_tour_arrival_constants_am_peak -util_escort_tour_arrival_constants_midday_1,Escort Tour Arrival Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (end > 9) & (end < 13),coef_escort_tour_arrival_constants_midday_1 -util_escort_tour_arrival_constants_midday_2,Escort Tour Arrival Constants -- Midday 2 (13 to 14),(tour_type == 'escort') & (end > 12) & (end < 15),coef_escort_tour_arrival_constants_midday_2 -util_escort_tour_arrival_constants_pm_peak_1,Escort Tour Arrival Constants -- PM peak 1 (15),(tour_type == 'escort') & (end == 15),coef_escort_tour_arrival_constants_pm_peak_1 -util_escort_tour_arrival_constants_pm_peak_2,Escort Tour Arrival Constants -- PM peak 2 (16),(tour_type == 'escort') & (end == 16),coef_escort_tour_arrival_constants_pm_peak_2 -util_escort_tour_arrival_constants_pm_peak_3,Escort Tour Arrival Constants -- PM peak 3 (17),(tour_type == 'escort') & (end == 17),coef_escort_tour_arrival_constants_pm_peak_3 -util_escort_tour_arrival_constants_pm_peak_4,Escort Tour Arrival Constants -- PM peak 4 (18),(tour_type == 'escort') & (end == 18),coef_escort_tour_arrival_constants_pm_peak_4 -util_escort_tour_arrival_constants_evening,Escort Tour Arrival Constants -- Evening (19 to 21),(tour_type == 'escort') & (end > 18) & (end < 22),coef_escort_tour_arrival_constants_evening -util_escort_tour_arrival_constants_late,Escort Tour Arrival Constants -- Late (22 and later),(tour_type == 'escort') & (end > 21),coef_escort_tour_arrival_constants_late -util_escort_tour_duration_constants_0_to_1_hours,Escort Tour Duration Constants -- 0 to 1 hours,(tour_type == 'escort') & (duration < 2),coef_escort_tour_duration_constants_0_to_1_hours -util_escort_tour_duration_constants_2_to_3_hours,Escort Tour Duration Constants -- 2 to 3 hours,(tour_type == 'escort') & (duration > 1) & (duration < 4),coef_escort_tour_duration_constants_2_to_3_hours -util_escort_tour_duration_constants_4_to_5_hours,Escort Tour Duration Constants -- 4 to 5 hours,(tour_type == 'escort') & (duration > 3) & (duration < 6),coef_escort_tour_duration_constants_4_to_5_hours -util_escort_tour_duration_constants_6_to_7_hours,Escort Tour Duration Constants -- 6 to 7 hours,(tour_type == 'escort') & (duration > 5) & (duration < 8),coef_escort_tour_duration_constants_6_to_7_hours -util_escort_tour_duration_constants_8_to_10_hours,Escort Tour Duration Constants -- 8 to 10 hours,(tour_type == 'escort') & (duration > 7) & (duration < 11),coef_escort_tour_duration_constants_8_to_10_hours -util_escort_tour_duration_constants_11_to_13_hours,Escort Tour Duration Constants -- 11 to 13 hours,(tour_type == 'escort') & (duration > 10) & (duration < 14),coef_escort_tour_duration_constants_11_to_13_hours +Label,Description,Expression,Coefficient +util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends +util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration +util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,(tour_type == 'shopping') * start,coef_shopping_tour_departure_shift_effects +util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,(tour_type == 'shopping') * duration,coef_shopping_tour_duration_shift_effects +util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * start,coef_maintenance_tour_departure_shift_effects +util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * duration,coef_maintenance_tour_duration_shift_effects +util_visit_tour_departure_shift_effects_start,Visit tour - departure shift effects,(tour_type == 'social') * start,coef_visit_tour_departure_shift_effects +util_visit_tour_duration_shift_effects_duration,Visit tour - departure shift effects,(tour_type == 'social') * duration,coef_visit_tour_duration_shift_effects +util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,(tour_type == 'eatout') * start,coef_eat_out_tour_departure_shift_effects +util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects +util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects +util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects +util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects +util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects +util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects +util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects +util_number_of_escort_tours_departure_shift_effects,Number of escort tours - departure shift effects,num_escort_tours * start,coef_number_of_escort_tours_departure_shift_effects +util_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,Number of idividual non-mandatory tours (excluding escort) - departure shift effects,num_non_escort_tours * start,coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects +util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect +util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect +util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,(tour_type == 'othmaint') & (start < 7),coef_maintenance_tour_depart_before_7 +util_shopping_tour_depart_before_8,Shopping tour - depart before 8,(tour_type == 'shopping') & (start < 8),coef_shopping_tour_depart_before_8 +util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,(tour_type == 'shopping') & (end > 22),coef_shopping_tour_arrive_after_22 +util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 +util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 +util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,(tour_type == 'shopping') & (duration < 2),coef_shopping_tour_duration_lt_2_hours +util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,(tour_type == 'othdiscr') & (duration < 2),coef_discretionary_tour_duration_lt_2_hours +util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 +#,,, +#,Mode Choice Logsum,mode_choice_logsum,#mode_choice_logsum +#,,,# +util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour +util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour +util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_before(df.person_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & tt.adjacent_window_after(df.person_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_before(df.person_id, df.start)",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & tt.adjacent_window_after(df.person_id, df.end)",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,Remaining individual non-mandatory tours to be scheduled / number of unscheduled hours,"@((1.0 + df.tour_count - df.tour_num)) / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours +#,#,,# +util_departure_constants_early,Departure Constants -- Early (up to 5),(tour_type != 'escort') & (start < 6),coef_departure_constants_early +util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),(tour_type != 'escort') & (start == 6),coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),(tour_type != 'escort') & (start == 7),coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),(tour_type != 'escort') & (start == 8),coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),(tour_type != 'escort') & (start == 9),coef_departure_constants_am_peak_4 +util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(tour_type != 'escort') & (start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(tour_type != 'escort') & (start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(tour_type != 'escort') & (start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late,Departure Constants -- Late (22 and later),(tour_type != 'escort') & (start > 21),coef_departure_constants_late +util_arrival_constants_early,Arrival Constants -- Early (up to 6),(tour_type != 'escort') & (end < 7),coef_arrival_constants_early +util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(tour_type != 'escort') & (end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(tour_type != 'escort') & (end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),(tour_type != 'escort') & (end == 15),coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),(tour_type != 'escort') & (end == 16),coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),(tour_type != 'escort') & (end == 17),coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),(tour_type != 'escort') & (end == 18),coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(tour_type != 'escort') & (end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late,Arrival Constants -- Late (22 and later),(tour_type != 'escort') & (end > 21),coef_arrival_constants_late +util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,(tour_type != 'escort') & (duration < 2),coef_duration_constants_0_to_1_hours +util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,(tour_type != 'escort') & (duration > 1) & (duration < 4),coef_duration_constants_2_to_3_hours +util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,(tour_type != 'escort') & (duration > 3) & (duration < 6),coef_duration_constants_4_to_5_hours +util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,(tour_type != 'escort') & (duration > 5) & (duration < 8),coef_duration_constants_6_to_7_hours +util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,(tour_type != 'escort') & (duration > 7) & (duration < 11),coef_duration_constants_8_to_10_hours +util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,(tour_type != 'escort') & (duration > 10) & (duration < 14),coef_duration_constants_11_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(tour_type != 'escort') & (duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours +util_escort_tour_departure_constants_early,Escort Tour Departure Constants -- Early (up to 5),(tour_type == 'escort') & (start < 6),coef_escort_tour_departure_constants_early +util_escort_tour_departure_constants_am_peak_1,Escort Tour Departure Constants -- AM peak 1 (6),(tour_type == 'escort') & (start == 6),coef_escort_tour_departure_constants_am_peak_1 +util_escort_tour_departure_constants_am_peak_2,Escort Tour Departure Constants -- AM peak 2 (7),(tour_type == 'escort') & (start == 7),coef_escort_tour_departure_constants_am_peak_2 +util_escort_tour_departure_constants_am_peak_3,Escort Tour Departure Constants -- AM peak 3 (8),(tour_type == 'escort') & (start == 8),coef_escort_tour_departure_constants_am_peak_3 +util_escort_tour_departure_constants_am_peak_4,Escort Tour Departure Constants -- AM peak 4 (9),(tour_type == 'escort') & (start == 9),coef_escort_tour_departure_constants_am_peak_4 +util_escort_tour_departure_constants_midday_1,Escort Tour Departure Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (start > 9) & (start < 13),coef_escort_tour_departure_constants_midday_1 +util_escort_tour_departure_constants_midday_2,Escort Tour Departure Constants -- Midday 2 (13 to 15),(tour_type == 'escort') & (start > 12) & (start < 16),coef_escort_tour_departure_constants_midday_2 +util_escort_tour_departure_constants_pm_peak,Escort Tour Departure Constants -- PM peak (16 to 18),(tour_type == 'escort') & (start > 15) & (start < 19),coef_escort_tour_departure_constants_pm_peak +util_escort_tour_departure_constants_evening,Escort Tour Departure Constants -- Evening (19 to 21),(tour_type == 'escort') & (start > 18) & (start < 22),coef_escort_tour_departure_constants_evening +util_escort_tour_departure_constants_late,Escort Tour Departure Constants -- Late (22 and later),(tour_type == 'escort') & (start > 21),coef_escort_tour_departure_constants_late +util_escort_tour_arrival_constants_early,Escort Tour Arrival Constants -- Early (up to 6),(tour_type == 'escort') & (end < 7),coef_escort_tour_arrival_constants_early +util_escort_tour_arrival_constants_am_peak,Escort Tour Arrival Constants -- AM peak (7 to 9),(tour_type == 'escort') & (end > 6) & (end < 10),coef_escort_tour_arrival_constants_am_peak +util_escort_tour_arrival_constants_midday_1,Escort Tour Arrival Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (end > 9) & (end < 13),coef_escort_tour_arrival_constants_midday_1 +util_escort_tour_arrival_constants_midday_2,Escort Tour Arrival Constants -- Midday 2 (13 to 14),(tour_type == 'escort') & (end > 12) & (end < 15),coef_escort_tour_arrival_constants_midday_2 +util_escort_tour_arrival_constants_pm_peak_1,Escort Tour Arrival Constants -- PM peak 1 (15),(tour_type == 'escort') & (end == 15),coef_escort_tour_arrival_constants_pm_peak_1 +util_escort_tour_arrival_constants_pm_peak_2,Escort Tour Arrival Constants -- PM peak 2 (16),(tour_type == 'escort') & (end == 16),coef_escort_tour_arrival_constants_pm_peak_2 +util_escort_tour_arrival_constants_pm_peak_3,Escort Tour Arrival Constants -- PM peak 3 (17),(tour_type == 'escort') & (end == 17),coef_escort_tour_arrival_constants_pm_peak_3 +util_escort_tour_arrival_constants_pm_peak_4,Escort Tour Arrival Constants -- PM peak 4 (18),(tour_type == 'escort') & (end == 18),coef_escort_tour_arrival_constants_pm_peak_4 +util_escort_tour_arrival_constants_evening,Escort Tour Arrival Constants -- Evening (19 to 21),(tour_type == 'escort') & (end > 18) & (end < 22),coef_escort_tour_arrival_constants_evening +util_escort_tour_arrival_constants_late,Escort Tour Arrival Constants -- Late (22 and later),(tour_type == 'escort') & (end > 21),coef_escort_tour_arrival_constants_late +util_escort_tour_duration_constants_0_to_1_hours,Escort Tour Duration Constants -- 0 to 1 hours,(tour_type == 'escort') & (duration < 2),coef_escort_tour_duration_constants_0_to_1_hours +util_escort_tour_duration_constants_2_to_3_hours,Escort Tour Duration Constants -- 2 to 3 hours,(tour_type == 'escort') & (duration > 1) & (duration < 4),coef_escort_tour_duration_constants_2_to_3_hours +util_escort_tour_duration_constants_4_to_5_hours,Escort Tour Duration Constants -- 4 to 5 hours,(tour_type == 'escort') & (duration > 3) & (duration < 6),coef_escort_tour_duration_constants_4_to_5_hours +util_escort_tour_duration_constants_6_to_7_hours,Escort Tour Duration Constants -- 6 to 7 hours,(tour_type == 'escort') & (duration > 5) & (duration < 8),coef_escort_tour_duration_constants_6_to_7_hours +util_escort_tour_duration_constants_8_to_10_hours,Escort Tour Duration Constants -- 8 to 10 hours,(tour_type == 'escort') & (duration > 7) & (duration < 11),coef_escort_tour_duration_constants_8_to_10_hours +util_escort_tour_duration_constants_11_to_13_hours,Escort Tour Duration Constants -- 11 to 13 hours,(tour_type == 'escort') & (duration > 10) & (duration < 14),coef_escort_tour_duration_constants_11_to_13_hours util_escort_tour_duration_constants_14_to_18_hours,Escort Tour Duration Constants -- 14 to 18 hours,(tour_type == 'escort') & (duration > 13) & (duration < 19),coef_escort_tour_duration_constants_14_to_18_hours \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv similarity index 98% rename from activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv index 5cc43331ad..11120c6592 100755 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_nonmandatory_coeffs.csv @@ -1,94 +1,94 @@ -coefficient_name,value,constrain -coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,-999,T -coef_free_flow_round_trip_auto_time_shift_effects_duration,0.004741,F -coef_shopping_tour_departure_shift_effects,-0.06015,F -coef_shopping_tour_duration_shift_effects,-0.1208,F -coef_maintenance_tour_departure_shift_effects,-0.1489,F -coef_maintenance_tour_duration_shift_effects,-0.08372,F -coef_visit_tour_departure_shift_effects,0.09688,F -coef_visit_tour_duration_shift_effects,0.1638,F -coef_eat_out_tour_departure_shift_effects,0.07549,F -coef_school_child_age_16_plus_departure_shift_effects,0.07266,F -coef_school_child_age_16_plus_duration_shift_effects,0.2095,F -coef_school_child_age_under_16_departure_shift_effects,0.04657,F -coef_school_child_age_under_16_duration_shift_effects,0.3272,F -coef_destination_in_cbd_duration_shift_effects,0.1067,F -coef_number_of_mandatory_tours_departure_shift_effects,0.04673,F -coef_number_of_joint_tours_departure_shift_effects,0.05208,F -coef_number_of_escort_tours_departure_shift_effects,0.02013,F -coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,0.03896,F -coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.2364,F -coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.1731,F -coef_maintenance_tour_depart_before_7,-0.8826,F -coef_shopping_tour_depart_before_8,-1.037,F -coef_shopping_tour_arrive_after_22,-0.6027,F -coef_school_child_under_16_arrive_after_22,-1.18,F -coef_university_student_arrive_after_22,0.5466,F -coef_shopping_tour_duration_lt_2_hours,0.5168,F -coef_discretionary_tour_duration_lt_2_hours,-0.6974,F -coef_adult_with_children_in_hh_arrive_19_21,0.336,F -#,, -#mode_choice_logsum,, -#,, -coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.4562,F -coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.3992,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.008442,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.0257,F -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.0593,F -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.02734,F -coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,-13.63,F -#,,F -coef_departure_constants_early,-1.740135661,F -coef_departure_constants_am_peak_1,-0.654163573,F -coef_departure_constants_am_peak_2,0.554282571,F -coef_departure_constants_am_peak_3,1.050561087,F -coef_departure_constants_am_peak_4,0.971568228,F -coef_departure_constants_midday_1,0.881991986,F -coef_departure_constants_midday_2,0.411103634,F -coef_departure_constants_pm_peak,0,T -coef_departure_constants_evening,-1.856475096,F -coef_departure_constants_late,-8.228880141,F -coef_arrival_constants_early,-0.051990748,F -coef_arrival_constants_am_peak,-1.814822602,F -coef_arrival_constants_midday_1,0.000371501,F -coef_arrival_constants_midday_2,0.532116031,F -coef_arrival_constants_pm_peak_1,0.628481567,F -coef_arrival_constants_pm_peak_2,0.650521416,F -coef_arrival_constants_pm_peak_3,0.402894406,F -coef_arrival_constants_pm_peak_4,0.154213293,F -coef_arrival_constants_evening,0,T -coef_arrival_constants_late,-0.866671315,F -coef_duration_constants_0_to_1_hours,0,T -coef_duration_constants_2_to_3_hours,0.051385565,F -coef_duration_constants_4_to_5_hours,-0.593951321,F -coef_duration_constants_6_to_7_hours,-0.951155328,F -coef_duration_constants_8_to_10_hours,-0.828108399,F -coef_duration_constants_11_to_13_hours,-0.955635554,F -coef_duration_constants_14_to_18_hours,-1.042580879,F -coef_escort_tour_departure_constants_early,-1.740135661,F -coef_escort_tour_departure_constants_am_peak_1,-1.112357753,F -coef_escort_tour_departure_constants_am_peak_2,0.698788185,F -coef_escort_tour_departure_constants_am_peak_3,1.196268813,F -coef_escort_tour_departure_constants_am_peak_4,-0.225258221,F -coef_escort_tour_departure_constants_midday_1,0.028662017,F -coef_escort_tour_departure_constants_midday_2,0,T -coef_escort_tour_departure_constants_pm_peak,-1.180140161,F -coef_escort_tour_departure_constants_evening,-3.948732811,F -coef_escort_tour_departure_constants_late,-8.228880141,F -coef_escort_tour_arrival_constants_early,0,T -coef_escort_tour_arrival_constants_am_peak,0,T -coef_escort_tour_arrival_constants_midday_1,0,T -coef_escort_tour_arrival_constants_midday_2,0,T -coef_escort_tour_arrival_constants_pm_peak_1,0,T -coef_escort_tour_arrival_constants_pm_peak_2,0,T -coef_escort_tour_arrival_constants_pm_peak_3,0,T -coef_escort_tour_arrival_constants_pm_peak_4,0,T -coef_escort_tour_arrival_constants_evening,-0.536918728,F -coef_escort_tour_arrival_constants_late,-1.008290213,F -coef_escort_tour_duration_constants_0_to_1_hours,0,T -coef_escort_tour_duration_constants_2_to_3_hours,-2.042013897,F -coef_escort_tour_duration_constants_4_to_5_hours,-2.880293896,F -coef_escort_tour_duration_constants_6_to_7_hours,-2.973533731,F -coef_escort_tour_duration_constants_8_to_10_hours,-3.020213758,F -coef_escort_tour_duration_constants_11_to_13_hours,-2.974364976,F +coefficient_name,value,constrain +coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,-999,T +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.004741,F +coef_shopping_tour_departure_shift_effects,-0.06015,F +coef_shopping_tour_duration_shift_effects,-0.1208,F +coef_maintenance_tour_departure_shift_effects,-0.1489,F +coef_maintenance_tour_duration_shift_effects,-0.08372,F +coef_visit_tour_departure_shift_effects,0.09688,F +coef_visit_tour_duration_shift_effects,0.1638,F +coef_eat_out_tour_departure_shift_effects,0.07549,F +coef_school_child_age_16_plus_departure_shift_effects,0.07266,F +coef_school_child_age_16_plus_duration_shift_effects,0.2095,F +coef_school_child_age_under_16_departure_shift_effects,0.04657,F +coef_school_child_age_under_16_duration_shift_effects,0.3272,F +coef_destination_in_cbd_duration_shift_effects,0.1067,F +coef_number_of_mandatory_tours_departure_shift_effects,0.04673,F +coef_number_of_joint_tours_departure_shift_effects,0.05208,F +coef_number_of_escort_tours_departure_shift_effects,0.02013,F +coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,0.03896,F +coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.2364,F +coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.1731,F +coef_maintenance_tour_depart_before_7,-0.8826,F +coef_shopping_tour_depart_before_8,-1.037,F +coef_shopping_tour_arrive_after_22,-0.6027,F +coef_school_child_under_16_arrive_after_22,-1.18,F +coef_university_student_arrive_after_22,0.5466,F +coef_shopping_tour_duration_lt_2_hours,0.5168,F +coef_discretionary_tour_duration_lt_2_hours,-0.6974,F +coef_adult_with_children_in_hh_arrive_19_21,0.336,F +#,, +#mode_choice_logsum,, +#,, +coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.4562,F +coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.3992,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.008442,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.0257,F +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.0593,F +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.02734,F +coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,-13.63,F +#,,F +coef_departure_constants_early,-1.740135661,F +coef_departure_constants_am_peak_1,-0.654163573,F +coef_departure_constants_am_peak_2,0.554282571,F +coef_departure_constants_am_peak_3,1.050561087,F +coef_departure_constants_am_peak_4,0.971568228,F +coef_departure_constants_midday_1,0.881991986,F +coef_departure_constants_midday_2,0.411103634,F +coef_departure_constants_pm_peak,0,T +coef_departure_constants_evening,-1.856475096,F +coef_departure_constants_late,-8.228880141,F +coef_arrival_constants_early,-0.051990748,F +coef_arrival_constants_am_peak,-1.814822602,F +coef_arrival_constants_midday_1,0.000371501,F +coef_arrival_constants_midday_2,0.532116031,F +coef_arrival_constants_pm_peak_1,0.628481567,F +coef_arrival_constants_pm_peak_2,0.650521416,F +coef_arrival_constants_pm_peak_3,0.402894406,F +coef_arrival_constants_pm_peak_4,0.154213293,F +coef_arrival_constants_evening,0,T +coef_arrival_constants_late,-0.866671315,F +coef_duration_constants_0_to_1_hours,0,T +coef_duration_constants_2_to_3_hours,0.051385565,F +coef_duration_constants_4_to_5_hours,-0.593951321,F +coef_duration_constants_6_to_7_hours,-0.951155328,F +coef_duration_constants_8_to_10_hours,-0.828108399,F +coef_duration_constants_11_to_13_hours,-0.955635554,F +coef_duration_constants_14_to_18_hours,-1.042580879,F +coef_escort_tour_departure_constants_early,-1.740135661,F +coef_escort_tour_departure_constants_am_peak_1,-1.112357753,F +coef_escort_tour_departure_constants_am_peak_2,0.698788185,F +coef_escort_tour_departure_constants_am_peak_3,1.196268813,F +coef_escort_tour_departure_constants_am_peak_4,-0.225258221,F +coef_escort_tour_departure_constants_midday_1,0.028662017,F +coef_escort_tour_departure_constants_midday_2,0,T +coef_escort_tour_departure_constants_pm_peak,-1.180140161,F +coef_escort_tour_departure_constants_evening,-3.948732811,F +coef_escort_tour_departure_constants_late,-8.228880141,F +coef_escort_tour_arrival_constants_early,0,T +coef_escort_tour_arrival_constants_am_peak,0,T +coef_escort_tour_arrival_constants_midday_1,0,T +coef_escort_tour_arrival_constants_midday_2,0,T +coef_escort_tour_arrival_constants_pm_peak_1,0,T +coef_escort_tour_arrival_constants_pm_peak_2,0,T +coef_escort_tour_arrival_constants_pm_peak_3,0,T +coef_escort_tour_arrival_constants_pm_peak_4,0,T +coef_escort_tour_arrival_constants_evening,-0.536918728,F +coef_escort_tour_arrival_constants_late,-1.008290213,F +coef_escort_tour_duration_constants_0_to_1_hours,0,T +coef_escort_tour_duration_constants_2_to_3_hours,-2.042013897,F +coef_escort_tour_duration_constants_4_to_5_hours,-2.880293896,F +coef_escort_tour_duration_constants_6_to_7_hours,-2.973533731,F +coef_escort_tour_duration_constants_8_to_10_hours,-3.020213758,F +coef_escort_tour_duration_constants_11_to_13_hours,-2.974364976,F coef_escort_tour_duration_constants_14_to_18_hours,-2.507447146,F \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_school.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/tour_scheduling_school.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_school.csv index 8ade903066..845e55a0b1 100755 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_school.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school.csv @@ -1,63 +1,63 @@ -Label,Description,Expression,Coefficient -util_roundtrip_auto_time_to_work,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_roundtrip_auto_time_to_work -util_ft_worker_departure,Full-time worker departure shift effects,(ptype == 1) * start,coef_ft_worker_departure -util_ft_worker_duration,Full-time worker duration shift effects,(ptype == 1) * duration,coef_ft_worker_duration -util_non_worker_departure,Non-working adult departure shift effects,(ptype == 4) * start,coef_non_worker_departure -util_univ_departure,University student departure shift effects,(ptype == 3) * start,coef_univ_departure -util_univ_duration,University student duration shift effects,(ptype == 3) * duration,coef_univ_duration -util_student_driver_duration,Student driving age duration shift effects,(ptype == 7) * duration,coef_student_driver_duration -util_all_adults_ft_worker_duration,All adults work full time- duration,(num_workers == hhsize) * duration,coef_all_adults_ft_worker_duration -util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends -util_first_of_2plus_school_tours_departure,First of 2+ school/univ. tours- departure,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_school_tours_departure -util_first_of_2plus_school_tours_duration,First of 2+ school/univ. tours- duration,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_school_tours_duration -util_subsequent_2plus_school_tours_duration,Subsequent of 2+ school/univ. tours- duration,(tour_num > 1) * duration,coef_subsequent_2plus_school_tours_duration -util_hh_income_early_departure,Household income -- Early departure interaction,(income_in_thousands >= 100) & (start < 6),coef_hh_income_early_departure -util_hh_income_late_arrival,Household income -- Late arrival interaction,(income_in_thousands >= 100) & (end > 22),coef_hh_income_late_arrival -util_first_of_2plus_school_lt_6_hours,First of 2+ school/univ tours- duration<6 hrs,(tour_count>1) & (tour_num == 1) & (duration < 6),coef_first_of_2plus_school_lt_6_hours -util_subsequent_of_2plus_school_lt_6_hours,Subsequent of 2+ school/univ tours- duration<6 hrs,(tour_num > 1) & (duration < 6),coef_subsequent_of_2plus_school_lt_6_hours -util_school_plus_work_tours_by_student_lt_6_hours,School+work tours by student- duration<6 hrs,work_and_school_and_worker & (duration < 6),coef_school_plus_work_tours_by_student_lt_6_hours -util_school_plus_work_tours_by_worker_lt_6_hours,School+work tours by worker- duration<6 hrs,work_and_school_and_student & (duration < 6),coef_school_plus_work_tours_by_worker_lt_6_hours -util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum -util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previous_tour_ends_this_departure_hour -util_previous_tour_begins_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previous_tour_begins_this_arrival_hour -#,,, FIXME - use temps as timetable ops can be very time-consuming -#,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & tt.adjacent_window_before(df.person_id, df.start)",0.08975 -#,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & tt.adjacent_window_after(df.person_id, df.end)",-0.003049 -#,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & tt.adjacent_window_before(df.person_id, df.start)",-0.44 -#,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & tt.adjacent_window_after(df.person_id, df.end)",-0.5271 -util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy -util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours -util_departure_constants_early_up_to_5,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early -util_departure_constants_am_peak_1 _6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2_7,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3_8,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4_9,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 -util_departure_constants_midday_1_10_to_12,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2_13_to_15,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak_16_to_18,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening_19_to_21,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late_22_and_later,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late -util_arrival_constants_early_up_to_6,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early -util_arrival_constants_am_peak_7_to_9,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1_10_to_12,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2_13_to_14,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1_15,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2_16,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3_17,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4_18,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening_19_to_21,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late_22_and_later,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late -util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours -util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours -util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours -util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours -util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours -util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours -util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours -util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours +Label,Description,Expression,Coefficient +util_roundtrip_auto_time_to_work,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_roundtrip_auto_time_to_work +util_ft_worker_departure,Full-time worker departure shift effects,(ptype == 1) * start,coef_ft_worker_departure +util_ft_worker_duration,Full-time worker duration shift effects,(ptype == 1) * duration,coef_ft_worker_duration +util_non_worker_departure,Non-working adult departure shift effects,(ptype == 4) * start,coef_non_worker_departure +util_univ_departure,University student departure shift effects,(ptype == 3) * start,coef_univ_departure +util_univ_duration,University student duration shift effects,(ptype == 3) * duration,coef_univ_duration +util_student_driver_duration,Student driving age duration shift effects,(ptype == 7) * duration,coef_student_driver_duration +util_all_adults_ft_worker_duration,All adults work full time- duration,(num_workers == hhsize) * duration,coef_all_adults_ft_worker_duration +util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends +util_first_of_2plus_school_tours_departure,First of 2+ school/univ. tours- departure,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_school_tours_departure +util_first_of_2plus_school_tours_duration,First of 2+ school/univ. tours- duration,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_school_tours_duration +util_subsequent_2plus_school_tours_duration,Subsequent of 2+ school/univ. tours- duration,(tour_num > 1) * duration,coef_subsequent_2plus_school_tours_duration +util_hh_income_early_departure,Household income -- Early departure interaction,(income_in_thousands >= 100) & (start < 6),coef_hh_income_early_departure +util_hh_income_late_arrival,Household income -- Late arrival interaction,(income_in_thousands >= 100) & (end > 22),coef_hh_income_late_arrival +util_first_of_2plus_school_lt_6_hours,First of 2+ school/univ tours- duration<6 hrs,(tour_count>1) & (tour_num == 1) & (duration < 6),coef_first_of_2plus_school_lt_6_hours +util_subsequent_of_2plus_school_lt_6_hours,Subsequent of 2+ school/univ tours- duration<6 hrs,(tour_num > 1) & (duration < 6),coef_subsequent_of_2plus_school_lt_6_hours +util_school_plus_work_tours_by_student_lt_6_hours,School+work tours by student- duration<6 hrs,work_and_school_and_worker & (duration < 6),coef_school_plus_work_tours_by_student_lt_6_hours +util_school_plus_work_tours_by_worker_lt_6_hours,School+work tours by worker- duration<6 hrs,work_and_school_and_student & (duration < 6),coef_school_plus_work_tours_by_worker_lt_6_hours +util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum +util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previous_tour_ends_this_departure_hour +util_previous_tour_begins_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previous_tour_begins_this_arrival_hour +#,,, FIXME - use temps as timetable ops can be very time-consuming +#,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & tt.adjacent_window_before(df.person_id, df.start)",0.08975 +#,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & tt.adjacent_window_after(df.person_id, df.end)",-0.003049 +#,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & tt.adjacent_window_before(df.person_id, df.start)",-0.44 +#,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & tt.adjacent_window_after(df.person_id, df.end)",-0.5271 +util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy +util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours +util_departure_constants_early_up_to_5,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early +util_departure_constants_am_peak_1 _6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2_7,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3_8,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4_9,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 +util_departure_constants_midday_1_10_to_12,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2_13_to_15,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak_16_to_18,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening_19_to_21,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late_22_and_later,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late +util_arrival_constants_early_up_to_6,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early +util_arrival_constants_am_peak_7_to_9,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1_10_to_12,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2_13_to_14,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1_15,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2_16,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3_17,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4_18,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening_19_to_21,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late_22_and_later,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late +util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours +util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours +util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours +util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours +util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours +util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours +util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours +util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_school_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school_coeffs.csv similarity index 98% rename from activitysim/examples/example_psrc/configs/tour_scheduling_school_coeffs.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_school_coeffs.csv index b5d8c8050b..6fd040134d 100755 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_school_coeffs.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_school_coeffs.csv @@ -1,57 +1,57 @@ -coefficient_name,value,constrain -coef_dummy,1,T -coef_roundtrip_auto_time_to_work,0.003195,F -coef_ft_worker_departure,0.3971,F -coef_ft_worker_duration,-0.1908,F -coef_non_worker_departure,0.5539,F -coef_univ_departure,0.28,F -coef_univ_duration,-0.2907,F -coef_student_driver_duration,0.03464,F -coef_all_adults_ft_worker_duration,0.1093,F -coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T -coef_first_of_2plus_school_tours_departure,-0.3002,F -coef_first_of_2plus_school_tours_duration,-0.1593,F -coef_subsequent_2plus_school_tours_duration,-0.2338,F -coef_hh_income_early_departure,-0.8837,F -coef_hh_income_late_arrival,-0.3533,F -coef_first_of_2plus_school_lt_6_hours,1.487,F -coef_subsequent_of_2plus_school_lt_6_hours,2.142,F -coef_school_plus_work_tours_by_student_lt_6_hours,1.73,F -coef_school_plus_work_tours_by_worker_lt_6_hours,2.142,F -coef_mode_choice_logsum,2.127,F -coef_previous_tour_ends_this_departure_hour,-0.5995,F -coef_previous_tour_begins_this_arrival_hour,-1.102,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.08975,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.003049,F -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.44,F -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.5271,F -coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,-16.67,F -coef_departure_constants_early,-3.820662404,F -coef_departure_constants_am_peak_1,-1.617644056,F -coef_departure_constants_am_peak_2,0,T -coef_departure_constants_am_peak_3,-0.073826841,F -coef_departure_constants_am_peak_4,-2.080570769,F -coef_departure_constants_midday_1,-2.985739457,F -coef_departure_constants_midday_2,-3.628434646,F -coef_departure_constants_pm_peak,-3.10250515,F -coef_departure_constants_evening,-5.230287836,F -coef_departure_constants_late,-11.88604728,F -coef_arrival_constants_early,-2.428718399,F -coef_arrival_constants_am_peak,-2.428718399,F -coef_arrival_constants_midday_1,-1.237908768,F -coef_arrival_constants_midday_2,-0.539768931,F -coef_arrival_constants_pm_peak_1,0,T -coef_arrival_constants_pm_peak_2,-0.389169248,F -coef_arrival_constants_pm_peak_3,-0.198120349,F -coef_arrival_constants_pm_peak_4,-0.253624684,F -coef_arrival_constants_evening,-0.870146904,F -coef_arrival_constants_late,-1.75200049,F -coef_duration_constants_0_to_2_hours,-1.409955689,F -coef_duration_constants_3_to_4_hours,-0.745893252,F -coef_duration_constants_5_to_6_hours,-0.567636622,F -coef_duration_constants_7_to_8_hours,0,T -coef_duration_constants_9_hours,-0.650806684,F -coef_duration_constants_10_hours,-0.904788983,F -coef_duration_constants_11_hours,-1.521162604,F -coef_duration_constants_12_to_13_hours,-2.418488917,F +coefficient_name,value,constrain +coef_dummy,1,T +coef_roundtrip_auto_time_to_work,0.003195,F +coef_ft_worker_departure,0.3971,F +coef_ft_worker_duration,-0.1908,F +coef_non_worker_departure,0.5539,F +coef_univ_departure,0.28,F +coef_univ_duration,-0.2907,F +coef_student_driver_duration,0.03464,F +coef_all_adults_ft_worker_duration,0.1093,F +coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T +coef_first_of_2plus_school_tours_departure,-0.3002,F +coef_first_of_2plus_school_tours_duration,-0.1593,F +coef_subsequent_2plus_school_tours_duration,-0.2338,F +coef_hh_income_early_departure,-0.8837,F +coef_hh_income_late_arrival,-0.3533,F +coef_first_of_2plus_school_lt_6_hours,1.487,F +coef_subsequent_of_2plus_school_lt_6_hours,2.142,F +coef_school_plus_work_tours_by_student_lt_6_hours,1.73,F +coef_school_plus_work_tours_by_worker_lt_6_hours,2.142,F +coef_mode_choice_logsum,2.127,F +coef_previous_tour_ends_this_departure_hour,-0.5995,F +coef_previous_tour_begins_this_arrival_hour,-1.102,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.08975,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.003049,F +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.44,F +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.5271,F +coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,-16.67,F +coef_departure_constants_early,-3.820662404,F +coef_departure_constants_am_peak_1,-1.617644056,F +coef_departure_constants_am_peak_2,0,T +coef_departure_constants_am_peak_3,-0.073826841,F +coef_departure_constants_am_peak_4,-2.080570769,F +coef_departure_constants_midday_1,-2.985739457,F +coef_departure_constants_midday_2,-3.628434646,F +coef_departure_constants_pm_peak,-3.10250515,F +coef_departure_constants_evening,-5.230287836,F +coef_departure_constants_late,-11.88604728,F +coef_arrival_constants_early,-2.428718399,F +coef_arrival_constants_am_peak,-2.428718399,F +coef_arrival_constants_midday_1,-1.237908768,F +coef_arrival_constants_midday_2,-0.539768931,F +coef_arrival_constants_pm_peak_1,0,T +coef_arrival_constants_pm_peak_2,-0.389169248,F +coef_arrival_constants_pm_peak_3,-0.198120349,F +coef_arrival_constants_pm_peak_4,-0.253624684,F +coef_arrival_constants_evening,-0.870146904,F +coef_arrival_constants_late,-1.75200049,F +coef_duration_constants_0_to_2_hours,-1.409955689,F +coef_duration_constants_3_to_4_hours,-0.745893252,F +coef_duration_constants_5_to_6_hours,-0.567636622,F +coef_duration_constants_7_to_8_hours,0,T +coef_duration_constants_9_hours,-0.650806684,F +coef_duration_constants_10_hours,-0.904788983,F +coef_duration_constants_11_hours,-1.521162604,F +coef_duration_constants_12_to_13_hours,-2.418488917,F coef_duration_constants_14_to_18_hours,-2.503137295,F \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_work.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_work.csv similarity index 98% rename from activitysim/examples/example_psrc/configs/tour_scheduling_work.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_work.csv index 9c6474f9c3..0d8b8aeff2 100755 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_work.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_work.csv @@ -1,136 +1,136 @@ -Label,Description,Expression,Coefficient -util_free_flow_round_trip_auto_time_shift_effects_departure,Free-flow round trip auto time shift effects - departure,roundtrip_auto_time_to_work * start,coef_free_flow_round_trip_auto_time_shift_effects_departure -util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration -util_part_time_worker_departure_shift_effects,Part-time worker departure shift effects,(ptype == 2) * start,coef_part_time_worker_departure_shift_effects -util_non_working_adult_duration_shift_effects,Non-working adult duration shift effects,(ptype == 4) * duration,coef_non_working_adult_duration_shift_effects -util_university_student_departure_shift_effects,University student departure shift effects,(ptype == 3) * start,coef_university_student_departure_shift_effects -util_household_income_departure_shift_effects,Household income departure shift effects,income_in_thousands * start,coef_household_income_departure_shift_effects -util_destination_in_cbd_departure_shift_effects,Destination in CBD departure shift effects,workplace_in_cbd * start,coef_destination_in_cbd_departure_shift_effects -util_destination_in_cbd_duration_shift_effects,Destination in CBD duration shift effects,workplace_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects -util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends -util_first_of_2plus_work_tours_departure_shift_effects,First of 2+ work tours departure shift effects,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_work_tours_departure_shift_effects -util_first_of_2plus_work_tours_duration_shift_effects,First of 2+ work tours duration shift effects,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_work_tours_duration_shift_effects -util_subsequent_2plus_work_departure_tours_shift_effects,Subsequent 2+ work departure tours shift effects,(tour_num == 2) * start,coef_subsequent_2plus_work_departure_tours_shift_effects -util_subsequent_2plus_work_duration_tours_shift_effects,Subsequent 2+ work duration tours shift effects,(tour_num == 2) * duration,coef_subsequent_2plus_work_duration_tours_shift_effects -util_household_income_early_departure_interaction,Household income -- Early departure interaction,(income_in_thousands > 100) & (start < 6),coef_household_income_early_departure_interaction -util_household_income_late_arrival_interaction,Household income -- Late arrival interaction,(income_in_thousands > 100) & (end > 22),coef_household_income_late_arrival_interaction -util_destination_in_cbd_early_departure_interaction,Destination in CBD -- Early departure interaction,workplace_in_cbd & (start < 6),coef_destination_in_cbd_early_departure_interaction -util_destination_in_cbd_late_arrival_interaction,Destination in CBD -- Late arrival interaction,workplace_in_cbd & (end > 22),coef_destination_in_cbd_late_arrival_interaction -util_rural_household_early_departure_interaction,Rural household -- Early departure interaction,home_is_rural & (start < 6),coef_rural_household_early_departure_interaction -util_rural_household_late_arrival_interaction,Rural household -- Late arrival interaction,home_is_rural & (end > 22),coef_rural_household_late_arrival_interaction -util_full_time_worker_duration_lt_9_hours_interaction,Full-time worker -- duration < 9 hours interaction,(ptype == 1) & (duration < 9),coef_full_time_worker_duration_lt_9_hours_interaction -util_full_time_worker_10_to_12_departure_interaction,Full-time worker -- 10 to 12 departure interaction,(ptype == 1) & (start > 9) & (start < 13),coef_full_time_worker_10_to_12_departure_interaction -util_worker_13_to_15_arrival_interaction,Part-time worker -- 13 to 15 arrival interaction,(ptype == 2) & (end > 12) & (end < 16),coef_part_time_worker_13_to_15_arrival_interaction -util_first_of_2plus_work_tours_duration_lt_8_hrs,First of 2+ work tours- duration<8 hrs,((tour_count>1) & (tour_num == 1)) & (duration < 8),coef_first_of_2plus_work_tours_duration_lt_8_hrs -util_subsequent_of_2plus_work_tours_duration_lt_8_hrs,Subsequent of 2+ work tours- duration<8 hrs,(tour_num == 2) & (duration < 8),coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs -util_tours_by_worker_duration_lt_8_hrs,Work+school tours by worker- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_worker & (duration < 8),coef_tours_by_worker_duration_lt_8_hrs -util_tours_by_student_duration_lt_8_hrs,School+work tours by student- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_student & (duration < 8),coef_tours_by_student_duration_lt_8_hrs -util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum -util_uled_tour_ends_in_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previously_scheduled_tour_ends_in_this_departure_hour -util_previously_scheduled_tour_begins_in_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previously_scheduled_tour_begins_in_this_arrival_hour -#,FIXME - use temps as timetable ops can be very time-consuming,, -util_dummy_adjacent_before,local temp variable,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy -util_dummy_adjacent_after,local temp variable,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy -util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours -util_departure_constants_early,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early -util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 -util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late -util_arrival_constants_early,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early -util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late -util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours -util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours -util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours -util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours -util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours -util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours -util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours -util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Label,Description,Expression,Coefficient +util_free_flow_round_trip_auto_time_shift_effects_departure,Free-flow round trip auto time shift effects - departure,roundtrip_auto_time_to_work * start,coef_free_flow_round_trip_auto_time_shift_effects_departure +util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration +util_part_time_worker_departure_shift_effects,Part-time worker departure shift effects,(ptype == 2) * start,coef_part_time_worker_departure_shift_effects +util_non_working_adult_duration_shift_effects,Non-working adult duration shift effects,(ptype == 4) * duration,coef_non_working_adult_duration_shift_effects +util_university_student_departure_shift_effects,University student departure shift effects,(ptype == 3) * start,coef_university_student_departure_shift_effects +util_household_income_departure_shift_effects,Household income departure shift effects,income_in_thousands * start,coef_household_income_departure_shift_effects +util_destination_in_cbd_departure_shift_effects,Destination in CBD departure shift effects,workplace_in_cbd * start,coef_destination_in_cbd_departure_shift_effects +util_destination_in_cbd_duration_shift_effects,Destination in CBD duration shift effects,workplace_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects +util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends +util_first_of_2plus_work_tours_departure_shift_effects,First of 2+ work tours departure shift effects,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_work_tours_departure_shift_effects +util_first_of_2plus_work_tours_duration_shift_effects,First of 2+ work tours duration shift effects,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_work_tours_duration_shift_effects +util_subsequent_2plus_work_departure_tours_shift_effects,Subsequent 2+ work departure tours shift effects,(tour_num == 2) * start,coef_subsequent_2plus_work_departure_tours_shift_effects +util_subsequent_2plus_work_duration_tours_shift_effects,Subsequent 2+ work duration tours shift effects,(tour_num == 2) * duration,coef_subsequent_2plus_work_duration_tours_shift_effects +util_household_income_early_departure_interaction,Household income -- Early departure interaction,(income_in_thousands > 100) & (start < 6),coef_household_income_early_departure_interaction +util_household_income_late_arrival_interaction,Household income -- Late arrival interaction,(income_in_thousands > 100) & (end > 22),coef_household_income_late_arrival_interaction +util_destination_in_cbd_early_departure_interaction,Destination in CBD -- Early departure interaction,workplace_in_cbd & (start < 6),coef_destination_in_cbd_early_departure_interaction +util_destination_in_cbd_late_arrival_interaction,Destination in CBD -- Late arrival interaction,workplace_in_cbd & (end > 22),coef_destination_in_cbd_late_arrival_interaction +util_rural_household_early_departure_interaction,Rural household -- Early departure interaction,home_is_rural & (start < 6),coef_rural_household_early_departure_interaction +util_rural_household_late_arrival_interaction,Rural household -- Late arrival interaction,home_is_rural & (end > 22),coef_rural_household_late_arrival_interaction +util_full_time_worker_duration_lt_9_hours_interaction,Full-time worker -- duration < 9 hours interaction,(ptype == 1) & (duration < 9),coef_full_time_worker_duration_lt_9_hours_interaction +util_full_time_worker_10_to_12_departure_interaction,Full-time worker -- 10 to 12 departure interaction,(ptype == 1) & (start > 9) & (start < 13),coef_full_time_worker_10_to_12_departure_interaction +util_worker_13_to_15_arrival_interaction,Part-time worker -- 13 to 15 arrival interaction,(ptype == 2) & (end > 12) & (end < 16),coef_part_time_worker_13_to_15_arrival_interaction +util_first_of_2plus_work_tours_duration_lt_8_hrs,First of 2+ work tours- duration<8 hrs,((tour_count>1) & (tour_num == 1)) & (duration < 8),coef_first_of_2plus_work_tours_duration_lt_8_hrs +util_subsequent_of_2plus_work_tours_duration_lt_8_hrs,Subsequent of 2+ work tours- duration<8 hrs,(tour_num == 2) & (duration < 8),coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs +util_tours_by_worker_duration_lt_8_hrs,Work+school tours by worker- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_worker & (duration < 8),coef_tours_by_worker_duration_lt_8_hrs +util_tours_by_student_duration_lt_8_hrs,School+work tours by student- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_student & (duration < 8),coef_tours_by_student_duration_lt_8_hrs +util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum +util_uled_tour_ends_in_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previously_scheduled_tour_ends_in_this_departure_hour +util_previously_scheduled_tour_begins_in_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previously_scheduled_tour_begins_in_this_arrival_hour +#,FIXME - use temps as timetable ops can be very time-consuming,, +util_dummy_adjacent_before,local temp variable,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy +util_dummy_adjacent_after,local temp variable,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy +util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours +util_departure_constants_early,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early +util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 +util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late +util_arrival_constants_early,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early +util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late +util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours +util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours +util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours +util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours +util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours +util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours +util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours +util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_work_coeffs.csv b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_work_coeffs.csv similarity index 98% rename from activitysim/examples/example_psrc/configs/tour_scheduling_work_coeffs.csv rename to activitysim/examples/placeholder_psrc/configs/tour_scheduling_work_coeffs.csv index 7404512d1f..3b842e5351 100755 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_work_coeffs.csv +++ b/activitysim/examples/placeholder_psrc/configs/tour_scheduling_work_coeffs.csv @@ -1,65 +1,65 @@ -coefficient_name,value,constrain -coef_dummy,1,T -coef_free_flow_round_trip_auto_time_shift_effects_departure,-0.00114,F -coef_free_flow_round_trip_auto_time_shift_effects_duration,0.00221,F -coef_part_time_worker_departure_shift_effects,0.06736,F -coef_non_working_adult_duration_shift_effects,-0.1207,F -coef_university_student_departure_shift_effects,0.05747,F -coef_household_income_departure_shift_effects,0.000208,F -coef_destination_in_cbd_departure_shift_effects,0.04717,F -coef_destination_in_cbd_duration_shift_effects,0.08679,F -coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T -coef_first_of_2plus_work_tours_departure_shift_effects,-0.3033,F -coef_first_of_2plus_work_tours_duration_shift_effects,-0.1861,F -coef_subsequent_2plus_work_departure_tours_shift_effects,-0.5381,F -coef_subsequent_2plus_work_duration_tours_shift_effects,-0.3174,F -coef_household_income_early_departure_interaction,-0.4854,F -coef_household_income_late_arrival_interaction,-0.3839,F -coef_destination_in_cbd_early_departure_interaction,-0.4566,F -coef_destination_in_cbd_late_arrival_interaction,-0.2334,F -coef_rural_household_early_departure_interaction,0.4039,F -coef_rural_household_late_arrival_interaction,-0.3451,F -coef_full_time_worker_duration_lt_9_hours_interaction,-1.257,F -coef_full_time_worker_10_to_12_departure_interaction,-0.5182,F -coef_part_time_worker_13_to_15_arrival_interaction,0.5433,F -coef_first_of_2plus_work_tours_duration_lt_8_hrs,1.98,F -coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs,2.582,F -coef_tours_by_worker_duration_lt_8_hrs,0.9126,F -coef_tours_by_student_duration_lt_8_hrs,2.582,F -coef_mode_choice_logsum,1.027,F -coef_previously_scheduled_tour_ends_in_this_departure_hour,-0.8935,F -coef_previously_scheduled_tour_begins_in_this_arrival_hour,-1.334,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.1771,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,0.3627,F -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.2123,F -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.1012,F -coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,-18.68,F -coef_departure_constants_early,-0.95272527,F -coef_departure_constants_am_peak_1,-0.616180906,F -coef_departure_constants_am_peak_2,0,T -coef_departure_constants_am_peak_3,-0.254714726, -coef_departure_constants_am_peak_4,-1.251346024,F -coef_departure_constants_midday_1,-1.705868992,F -coef_departure_constants_midday_2,-1.693570583,F -coef_departure_constants_pm_peak,-1.439991962,F -coef_departure_constants_evening,-1.610513243,F -coef_departure_constants_late,-2.883415223,F -coef_arrival_constants_early,0,T -coef_arrival_constants_am_peak,-1.854520626,F -coef_arrival_constants_midday_1,-0.495972037,F -coef_arrival_constants_midday_2,-0.378554081,F -coef_arrival_constants_pm_peak_1,0,T -coef_arrival_constants_pm_peak_2,0.2760839,F -coef_arrival_constants_pm_peak_3,0.699587132,F -coef_arrival_constants_pm_peak_4,0.799289377,F -coef_arrival_constants_evening,0.103566251,F -coef_arrival_constants_late,-0.965957339,F -coef_duration_constants_0_to_2_hours,-2.52826639,F -coef_duration_constants_3_to_4_hours,-0.918974457,F -coef_duration_constants_5_to_6_hours,-0.718550288,F -coef_duration_constants_7_to_8_hours,-0.139623566,F -coef_duration_constants_9_hours,0.055706243,F -coef_duration_constants_10_hours,0,T -coef_duration_constants_11_hours,-0.347795391,F -coef_duration_constants_12_to_13_hours,-1.008222346,F +coefficient_name,value,constrain +coef_dummy,1,T +coef_free_flow_round_trip_auto_time_shift_effects_departure,-0.00114,F +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.00221,F +coef_part_time_worker_departure_shift_effects,0.06736,F +coef_non_working_adult_duration_shift_effects,-0.1207,F +coef_university_student_departure_shift_effects,0.05747,F +coef_household_income_departure_shift_effects,0.000208,F +coef_destination_in_cbd_departure_shift_effects,0.04717,F +coef_destination_in_cbd_duration_shift_effects,0.08679,F +coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T +coef_first_of_2plus_work_tours_departure_shift_effects,-0.3033,F +coef_first_of_2plus_work_tours_duration_shift_effects,-0.1861,F +coef_subsequent_2plus_work_departure_tours_shift_effects,-0.5381,F +coef_subsequent_2plus_work_duration_tours_shift_effects,-0.3174,F +coef_household_income_early_departure_interaction,-0.4854,F +coef_household_income_late_arrival_interaction,-0.3839,F +coef_destination_in_cbd_early_departure_interaction,-0.4566,F +coef_destination_in_cbd_late_arrival_interaction,-0.2334,F +coef_rural_household_early_departure_interaction,0.4039,F +coef_rural_household_late_arrival_interaction,-0.3451,F +coef_full_time_worker_duration_lt_9_hours_interaction,-1.257,F +coef_full_time_worker_10_to_12_departure_interaction,-0.5182,F +coef_part_time_worker_13_to_15_arrival_interaction,0.5433,F +coef_first_of_2plus_work_tours_duration_lt_8_hrs,1.98,F +coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs,2.582,F +coef_tours_by_worker_duration_lt_8_hrs,0.9126,F +coef_tours_by_student_duration_lt_8_hrs,2.582,F +coef_mode_choice_logsum,1.027,F +coef_previously_scheduled_tour_ends_in_this_departure_hour,-0.8935,F +coef_previously_scheduled_tour_begins_in_this_arrival_hour,-1.334,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.1771,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,0.3627,F +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.2123,F +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.1012,F +coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,-18.68,F +coef_departure_constants_early,-0.95272527,F +coef_departure_constants_am_peak_1,-0.616180906,F +coef_departure_constants_am_peak_2,0,T +coef_departure_constants_am_peak_3,-0.254714726, +coef_departure_constants_am_peak_4,-1.251346024,F +coef_departure_constants_midday_1,-1.705868992,F +coef_departure_constants_midday_2,-1.693570583,F +coef_departure_constants_pm_peak,-1.439991962,F +coef_departure_constants_evening,-1.610513243,F +coef_departure_constants_late,-2.883415223,F +coef_arrival_constants_early,0,T +coef_arrival_constants_am_peak,-1.854520626,F +coef_arrival_constants_midday_1,-0.495972037,F +coef_arrival_constants_midday_2,-0.378554081,F +coef_arrival_constants_pm_peak_1,0,T +coef_arrival_constants_pm_peak_2,0.2760839,F +coef_arrival_constants_pm_peak_3,0.699587132,F +coef_arrival_constants_pm_peak_4,0.799289377,F +coef_arrival_constants_evening,0.103566251,F +coef_arrival_constants_late,-0.965957339,F +coef_duration_constants_0_to_2_hours,-2.52826639,F +coef_duration_constants_3_to_4_hours,-0.918974457,F +coef_duration_constants_5_to_6_hours,-0.718550288,F +coef_duration_constants_7_to_8_hours,-0.139623566,F +coef_duration_constants_9_hours,0.055706243,F +coef_duration_constants_10_hours,0,T +coef_duration_constants_11_hours,-0.347795391,F +coef_duration_constants_12_to_13_hours,-1.008222346,F coef_duration_constants_14_to_18_hours,-1.701858847,F \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/trip_destination.csv b/activitysim/examples/placeholder_psrc/configs/trip_destination.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_destination.csv rename to activitysim/examples/placeholder_psrc/configs/trip_destination.csv diff --git a/activitysim/examples/example_psrc/configs/trip_destination.yaml b/activitysim/examples/placeholder_psrc/configs/trip_destination.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_destination.yaml rename to activitysim/examples/placeholder_psrc/configs/trip_destination.yaml diff --git a/activitysim/examples/example_mtc/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/trip_destination_annotate_trips_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_destination_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/trip_destination_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_psrc/configs/trip_destination_sample.csv b/activitysim/examples/placeholder_psrc/configs/trip_destination_sample.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_destination_sample.csv rename to activitysim/examples/placeholder_psrc/configs/trip_destination_sample.csv diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice.csv b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice.csv similarity index 99% rename from activitysim/examples/example_psrc/configs/trip_mode_choice.csv rename to activitysim/examples/placeholder_psrc/configs/trip_mode_choice.csv index 2da242e956..3ac15254ba 100644 --- a/activitysim/examples/example_psrc/configs/trip_mode_choice.csv +++ b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice.csv @@ -1,405 +1,405 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,,,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,,,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,,,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,,,,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,,,,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,,,,,,,,,, -#,Walk,,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, -#,Bike,,,,,,,,,,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, -#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LOC_WLK_FAR'],,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Topology,WALK_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, -#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LRF_WLK_FAR'],,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Topology,WALK_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn,,,,,,,,,,, -#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_EXP_WLK_FAR'],,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Topology,WALK_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn,,,,,,,,,, -#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_HVY_WLK_FAR'],,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Topology,WALK_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn,,,,,,,,, -#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_COM_WLK_FAR'],,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Topology,WALK_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn,,,,,,,, -#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn,,,,,,, -util_DRIVE_LOC_outbound_Unavailable,DRIVE_LOC outbound - Unavailable,outbound & ~drive_local_available_outbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_number_of_transfers,DRIVE_LOC outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Walk_egress_time,DRIVE_LOC outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, -util_DRIVE_LOC_inbound_Unavailable,DRIVE_LOC inbound - Unavailable,inbound & ~drive_local_available_inbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_number_of_transfers,DRIVE_LOC inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WLK_LOC_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Walk_access_time,DRIVE_LOC inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, -#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn,,,,,, -util_DRIVE_LRF_outbound_Unavailable,DRIVE_LRF outbound - Unavailable,outbound & ~drive_lrf_available_outbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_number_of_transfers,DRIVE_LRF outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Walk_egress_time,DRIVE_LRF outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, -util_DRIVE_LRF_inbound_Unavailable,DRIVE_LRF inbound - Unavailable,inbound & ~drive_lrf_available_inbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_number_of_transfers,DRIVE_LRF inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_LRF_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Walk_access_time,DRIVE_LRF inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, -#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn,,,,, -util_DRIVE_EXP_outbound_Unavailable,DRIVE_EXP outbound - Unavailable,outbound & ~drive_express_available_outbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_number_of_transfers,DRIVE_EXP outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Walk_egress_time,DRIVE_EXP outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Unavailable,DRIVE_EXP inbound - Unavailable,inbound & ~drive_express_available_inbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_number_of_transfers,DRIVE_EXP inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_EXP_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Walk_access_time,DRIVE_EXP inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,1,,,,, -#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn,,,, -util_DRIVE_HVY_outbound_Unavailable,DRIVE_HVY outbound - Unavailable,outbound & ~drive_heavyrail_available_outbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_number_of_transfers,DRIVE_HVY outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Walk_egress_time,DRIVE_HVY outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Unavailable,DRIVE_HVY inbound - Unavailable,inbound & ~drive_heavyrail_available_inbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_number_of_transfers,DRIVE_HVY inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_HVY_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Walk_access_time,DRIVE_HVY inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, -#,#Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Topology,DRIVE_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn,,, -util_DRIVE_COM_outbound_Unavailable,DRIVE_COM outbound - Unavailable,outbound & ~drive_commuter_available_outbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_number_of_transfers,DRIVE_COM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Walk_egress_time,DRIVE_COM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, -util_DRIVE_COM_inbound_Unavailable,DRIVE_COM inbound - Unavailable,inbound & ~drive_commuter_available_inbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_number_of_transfers,DRIVE_COM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_COM_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Walk_access_time,DRIVE_COM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, -#,Taxi,,,,,,,,,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, -#,#TNC Shared,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt -#,,,,,,,,,,,,,,,,,,,,,,, -util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, -util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,,,,,,, -util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, -,#indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh -util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh -util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh -util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh -util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,,,,,,,,,, -util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh -util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_express,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,walk_transit_ASC_heavyrail,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,walk_transit_ASC_commuter,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh -util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_lightrail,,,,,, -util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_ferry,,,,,, -util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,drive_transit_ASC_express,,,,, -util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,drive_transit_ASC_heavyrail,,,, -util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,drive_transit_ASC_commuter,,, -util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh -util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,,,,,,, -util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,ride_hail_ASC_taxi,, -util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_single, -util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_shared -#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh -util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,,,,,,,,,, -util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,,,,,,,,,, -util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh -util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_express,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,joint_walk_transit_ASC_heavyrail,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,joint_walk_transit_ASC_commuter,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh -util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_lightrail,,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_ferry,,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,joint_drive_transit_ASC_express,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,joint_drive_transit_ASC_heavyrail,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_commuter,,, -util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_taxi,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared -#,#,,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,,,,,,,,,, -util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt -util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,,,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,,,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,,,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,,,,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,,,,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,,,,,,,,,, +#,Walk,,,,,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, +#,Bike,,,,,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, +#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LOC_WLK_FAR'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Topology,WALK_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, +#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LRF_WLK_FAR'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Topology,WALK_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn,,,,,,,,,,, +#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_EXP_WLK_FAR'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Topology,WALK_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn,,,,,,,,,, +#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_HVY_WLK_FAR'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Topology,WALK_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn,,,,,,,,, +#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_COM_WLK_FAR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Topology,WALK_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn,,,,,,,, +#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn,,,,,,, +util_DRIVE_LOC_outbound_Unavailable,DRIVE_LOC outbound - Unavailable,outbound & ~drive_local_available_outbound,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_number_of_transfers,DRIVE_LOC outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Walk_egress_time,DRIVE_LOC outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_inbound_Unavailable,DRIVE_LOC inbound - Unavailable,inbound & ~drive_local_available_inbound,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_number_of_transfers,DRIVE_LOC inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WLK_LOC_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Walk_access_time,DRIVE_LOC inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, +#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn,,,,,, +util_DRIVE_LRF_outbound_Unavailable,DRIVE_LRF outbound - Unavailable,outbound & ~drive_lrf_available_outbound,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_number_of_transfers,DRIVE_LRF outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Walk_egress_time,DRIVE_LRF outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_inbound_Unavailable,DRIVE_LRF inbound - Unavailable,inbound & ~drive_lrf_available_inbound,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_number_of_transfers,DRIVE_LRF inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_LRF_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Walk_access_time,DRIVE_LRF inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, +#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn,,,,, +util_DRIVE_EXP_outbound_Unavailable,DRIVE_EXP outbound - Unavailable,outbound & ~drive_express_available_outbound,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_number_of_transfers,DRIVE_EXP outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_egress_time,DRIVE_EXP outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Unavailable,DRIVE_EXP inbound - Unavailable,inbound & ~drive_express_available_inbound,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_number_of_transfers,DRIVE_EXP inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_EXP_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Walk_access_time,DRIVE_EXP inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,1,,,,, +#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn,,,, +util_DRIVE_HVY_outbound_Unavailable,DRIVE_HVY outbound - Unavailable,outbound & ~drive_heavyrail_available_outbound,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_number_of_transfers,DRIVE_HVY outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_egress_time,DRIVE_HVY outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Unavailable,DRIVE_HVY inbound - Unavailable,inbound & ~drive_heavyrail_available_inbound,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_number_of_transfers,DRIVE_HVY inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_HVY_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Walk_access_time,DRIVE_HVY inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, +#,#Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Topology,DRIVE_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn,,, +util_DRIVE_COM_outbound_Unavailable,DRIVE_COM outbound - Unavailable,outbound & ~drive_commuter_available_outbound,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_number_of_transfers,DRIVE_COM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Walk_egress_time,DRIVE_COM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_inbound_Unavailable,DRIVE_COM inbound - Unavailable,inbound & ~drive_commuter_available_inbound,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_number_of_transfers,DRIVE_COM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_COM_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Walk_access_time,DRIVE_COM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, +#,Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, +#,#TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt +#,,,,,,,,,,,,,,,,,,,,,,, +util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, +util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,,,,,,, +util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, +,#indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh +util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh +util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh +util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh +util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,,,,,,,,,, +util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh +util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_express,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,walk_transit_ASC_heavyrail,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,walk_transit_ASC_commuter,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh +util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_lightrail,,,,,, +util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_ferry,,,,,, +util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,drive_transit_ASC_express,,,,, +util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,drive_transit_ASC_heavyrail,,,, +util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,drive_transit_ASC_commuter,,, +util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh +util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,,,,,,, +util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,ride_hail_ASC_taxi,, +util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_single, +util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_shared +#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh +util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,,,,,,,,,, +util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,,,,,,,,,, +util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh +util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_express,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,joint_walk_transit_ASC_heavyrail,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,joint_walk_transit_ASC_commuter,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh +util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_lightrail,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_ferry,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,joint_drive_transit_ASC_express,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,joint_drive_transit_ASC_heavyrail,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_commuter,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_taxi,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared +#,#,,,,,,,,,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,,,,,,,,,, +util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt +util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice.yaml b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_mode_choice.yaml rename to activitysim/examples/placeholder_psrc/configs/trip_mode_choice.yaml diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_mode_choice_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/trip_mode_choice_coefficients.csv diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice_coefficients_template.csv b/activitysim/examples/placeholder_psrc/configs/trip_mode_choice_coefficients_template.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_mode_choice_coefficients_template.csv rename to activitysim/examples/placeholder_psrc/configs/trip_mode_choice_coefficients_template.csv diff --git a/activitysim/examples/example_psrc/configs/trip_purpose.yaml b/activitysim/examples/placeholder_psrc/configs/trip_purpose.yaml similarity index 94% rename from activitysim/examples/example_psrc/configs/trip_purpose.yaml rename to activitysim/examples/placeholder_psrc/configs/trip_purpose.yaml index 47faf0d7c8..7f9d48b93d 100755 --- a/activitysim/examples/example_psrc/configs/trip_purpose.yaml +++ b/activitysim/examples/placeholder_psrc/configs/trip_purpose.yaml @@ -1,9 +1,9 @@ - -PROBS_SPEC: trip_purpose_probs.csv - -preprocessor: - SPEC: trip_purpose_annotate_trips_preprocessor - DF: trips - TABLES: - - persons - - tours + +PROBS_SPEC: trip_purpose_probs.csv + +preprocessor: + SPEC: trip_purpose_annotate_trips_preprocessor + DF: trips + TABLES: + - persons + - tours diff --git a/activitysim/examples/example_arc/configs/trip_purpose_and_destination.yaml b/activitysim/examples/placeholder_psrc/configs/trip_purpose_and_destination.yaml old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/trip_purpose_and_destination.yaml rename to activitysim/examples/placeholder_psrc/configs/trip_purpose_and_destination.yaml diff --git a/activitysim/examples/example_arc/configs/trip_purpose_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/trip_purpose_annotate_trips_preprocessor.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_arc/configs/trip_purpose_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/trip_purpose_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/trip_purpose_probs.csv b/activitysim/examples/placeholder_psrc/configs/trip_purpose_probs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_purpose_probs.csv rename to activitysim/examples/placeholder_psrc/configs/trip_purpose_probs.csv diff --git a/activitysim/examples/example_psrc/configs/trip_scheduling.yaml b/activitysim/examples/placeholder_psrc/configs/trip_scheduling.yaml similarity index 96% rename from activitysim/examples/example_psrc/configs/trip_scheduling.yaml rename to activitysim/examples/placeholder_psrc/configs/trip_scheduling.yaml index 5526a04cc2..a64326c78b 100755 --- a/activitysim/examples/example_psrc/configs/trip_scheduling.yaml +++ b/activitysim/examples/placeholder_psrc/configs/trip_scheduling.yaml @@ -1,10 +1,10 @@ - -# int to add to probs column index to get time period it represents. -# e.g. depart_alt_base = 5 means first column (column 0) represents 5 am -DEPART_ALT_BASE: 5 - -MAX_ITERATIONS: 100 - -#FAILFIX: drop_and_cleanup -FAILFIX: choose_most_initial - + +# int to add to probs column index to get time period it represents. +# e.g. depart_alt_base = 5 means first column (column 0) represents 5 am +DEPART_ALT_BASE: 5 + +MAX_ITERATIONS: 100 + +#FAILFIX: drop_and_cleanup +FAILFIX: choose_most_initial + diff --git a/activitysim/examples/example_psrc/configs/trip_scheduling_probs.csv b/activitysim/examples/placeholder_psrc/configs/trip_scheduling_probs.csv similarity index 98% rename from activitysim/examples/example_psrc/configs/trip_scheduling_probs.csv rename to activitysim/examples/placeholder_psrc/configs/trip_scheduling_probs.csv index e9244bd9c4..6a0deffede 100755 --- a/activitysim/examples/example_psrc/configs/trip_scheduling_probs.csv +++ b/activitysim/examples/placeholder_psrc/configs/trip_scheduling_probs.csv @@ -1,1369 +1,1369 @@ -primary_purpose,outbound,tour_hour,trip_num,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23 -work,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,5,2,0.249730906,0.477180111,0.215788882,0.02257625,0.009653299,0.001272067,0.002559828,0.005345297,0.012868196,0.000858457,0,0.00130551,0,0.000861198,0,0,0,0,0 -work,TRUE,5,3,0.269166724,0.331378773,0.290398422,0.047428828,0.032211326,0.003681738,0,0.00648104,0.007547054,0.006178507,0,0.005527589,0,0,0,0,0,0,0 -work,TRUE,5,4,0.087782501,0.257488508,0.384088251,0.077346978,0.060562922,0,0,0.049138541,0,0.014538525,0,0,0,0.041701151,0.018235082,0,0.009117541,0,0 -work,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,6,2,0,0.218769369,0.568056029,0.16549898,0.028654735,0.007305391,0.002067083,0.003148838,0.000503641,0.003688829,0.002307106,0,0,0,0,0,0,0,0 -work,TRUE,6,3,0,0.130626273,0.577093506,0.214895882,0.051730954,0.003240613,0,0.004631429,0.00858571,0.005631893,0.001259632,0,0.002304109,0,0,0,0,0,0 -work,TRUE,6,4,0,0.003746877,0.546827469,0.29119719,0.043440135,0.021108582,0,0.041279538,0.022438337,0.019313618,0.003776433,0.006871821,0,0,0,0,0,0,0 -work,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,7,2,0,0,0.265300367,0.613559084,0.096014364,0.014396896,0.003048705,0.004403151,0,0.001139887,0.001411868,0.000725679,0,0,0,0,0,0,0 -work,TRUE,7,3,0,0,0.166352156,0.62367014,0.155705334,0.026659137,0.007295847,0.013673999,0.003582828,0.001111918,0.000525728,0.001422911,0,0,0,0,0,0,0 -work,TRUE,7,4,0,0,0.105022925,0.545651324,0.19699608,0.086647479,0.013272884,0.007863943,0.037841595,0.002284229,0.001876743,0,0.002542798,0,0,0,0,0,0 -work,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,8,2,0,0,0,0.456491659,0.443858962,0.071483886,0.007227768,0.011205848,0.004971546,0.003779089,0,0.000629094,0.000352148,0,0,0,0,0,0 -work,TRUE,8,3,0,0,0,0.297357445,0.518087382,0.132861058,0.006370619,0.007614307,0.009010749,0.012385163,0.002114995,0.01254835,0.001649933,0,0,0,0,0,0 -work,TRUE,8,4,0,0,0,0.219050051,0.313898882,0.316701629,0.097894922,0.024670968,0.007826425,0.014063117,0,0,0.001659846,0,0,0,0.00423416,0,0 -work,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,9,2,0,0,0,0,0.381802065,0.463610086,0.07833074,0.053350819,0.012379425,0.006984996,0.002188786,0.001353083,0,0,0,0,0,0,0 -work,TRUE,9,3,0,0,0,0,0.244359192,0.505051786,0.124730319,0.070740285,0.04380103,0.00393502,0.002381853,0,0.005000514,0,0,0,0,0,0 -work,TRUE,9,4,0,0,0,0,0.048177162,0.281924251,0.128648284,0.140849287,0.097452942,0.149279798,0.129250851,0.024417425,0,0,0,0,0,0,0 -work,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,10,2,0,0,0,0,0,0.287462748,0.478190637,0.154315841,0.0141405,0.047319629,0,0.005707897,0,0.004618797,0.008243951,0,0,0,0 -work,TRUE,10,3,0,0,0,0,0,0.224513864,0.313870996,0.279113796,0.089398426,0.044754472,0.034345645,0.014002803,0,0,0,0,0,0,0 -work,TRUE,10,4,0,0,0,0,0,0,0.181896949,0.267783358,0.317739276,0.088027455,0.086885637,0,0,0,0.057667324,0,0,0,0 -work,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,11,2,0,0,0,0,0,0,0.349521518,0.402347786,0.191514732,0.044397707,0.009105065,0,0.003113192,0,0,0,0,0,0 -work,TRUE,11,3,0,0,0,0,0,0,0.207587883,0.30769214,0.335712206,0.084378351,0.047431249,0.017198171,0,0,0,0,0,0,0 -work,TRUE,11,4,0,0,0,0,0,0,0,0.482525146,0.331491287,0.154741395,0,0,0.031242172,0,0,0,0,0,0 -work,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,12,2,0,0,0,0,0,0,0,0.228781907,0.52986365,0.185949096,0.016952622,0.0225574,0,0.015895326,0,0,0,0,0 -work,TRUE,12,3,0,0,0,0,0,0,0,0.048290452,0.527617032,0.260449945,0.038087283,0.125555288,0,0,0,0,0,0,0 -work,TRUE,12,4,0,0,0,0,0,0,0,0.055268088,0.55183696,0.308090511,0.022112333,0.026969361,0.035722748,0,0,0,0,0,0 -work,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -work,TRUE,13,2,0,0,0,0,0,0,0,0,0.618115652,0.284403475,0.097480873,0,0,0,0,0,0,0,0 -work,TRUE,13,3,0,0,0,0,0,0,0,0,0.496549493,0.232797723,0.159946019,0,0.015308798,0.038007565,0.057390402,0,0,0,0 -work,TRUE,13,4,0,0,0,0,0,0,0,0,0.176762619,0,0,0,0.823237381,0,0,0,0,0,0 -work,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -work,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.574348416,0.354554927,0.071096656,0,0,0,0,0,0,0 -work,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.502109794,0.21816867,0.279721536,0,0,0,0,0,0,0 -work,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.133121347,0.633379229,0.134648916,0.049425254,0.049425254,0,0,0,0,0 -work,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -work,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.552840921,0.403380234,0.043778845,0,0,0,0,0,0 -work,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.134176676,0.725445222,0.140378102,0,0,0,0,0,0 -work,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -work,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -work,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.470117389,0.401307167,0.110787768,0.017787675,0,0,0,0 -work,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.648121232,0.228392401,0.123486367,0,0,0,0,0 -work,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -work,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.406105035,0.414979307,0.178915658,0,0,0,0 -work,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.212373176,0.787626824,0,0,0,0,0 -work,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.5,0,0,0 -work,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21625036,0.437860534,0.113269906,0.232619199,0,0 -work,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -work,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81925165,0.07204277,0,0.10870558,0 -work,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492020395,0.507979605,0,0,0 -work,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -work,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -work,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.388129509,0.611870491,0,0 -work,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -work,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171581948,0.828418052,0 -work,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258374236,0.741625764,0 -work,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,1,0,0.220793114,0.779206886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,2,0,0.425176732,0.574823268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,1,0,0,0.107759005,0.892240995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,2,0,0,0.690008913,0.309991087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,3,0,0.337495318,0.662504682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,4,0,0,0.569894206,0.430105794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,1,0,0,0,0.314951457,0.685048543,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,2,0,0,0,0.079070075,0.920929925,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,3,0,0,0,0.226319471,0.773680529,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,1,0,0.046066203,0.007425743,0.028045042,0.233624929,0.684838083,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,2,0,0.126398434,0,0.0549729,0.096449389,0.722179277,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,3,0,0,0,0,0.36604282,0.63395718,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,1,0,0,0.017580881,0.034113366,0.04162677,0.286326641,0.620352342,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,2,0,0,0.02642438,0,0.033819936,0.199217971,0.740537713,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,3,0,0,0,0,0.005130668,0.277227788,0.717641544,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,4,0,0,0,0,0,0.036304716,0.963695284,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,1,0,0.002492115,0.001670698,0.012159512,0.014698251,0.029407418,0.152563565,0.787008442,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,2,0,0,0.006100837,0.011620455,0.013952709,0.036974376,0.310894404,0.620457219,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,3,0,0,0,0.009383356,0.042387756,0.006845546,0.29720543,0.644177912,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,4,0,0,0,0.008143494,0,0.049968848,0.124165248,0.81772241,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,1,0,0,0.004406789,0.016516638,0.008423145,0.030672879,0.043679722,0.31728407,0.579016757,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,2,0,0,0.003526988,0.003893522,0.007279925,0.014935643,0.080084093,0.245195123,0.645084705,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,3,0,0,0,0,0.01495651,0,0.040446175,0.214618414,0.729978901,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,4,0,0,0,0,0.01397645,0.006836511,0.025113874,0.15362871,0.800444454,0,0,0,0,0,0,0,0,0,0 -work,FALSE,14,1,0.002365799,0,0.003370061,0,0.004899447,0.008850097,0.035188808,0.07267661,0.207306035,0.665343143,0,0,0,0,0,0,0,0,0 -work,FALSE,14,2,0.007728364,0.003287077,0,0.006520962,0,0.032254466,0.052851387,0.133223369,0.229023292,0.535111082,0,0,0,0,0,0,0,0,0 -work,FALSE,14,3,0,0,0,0.003971419,0,0,0.008873008,0.119445331,0.269752545,0.597957698,0,0,0,0,0,0,0,0,0 -work,FALSE,14,4,0,0,0,0,0.056793918,0,0.011546821,0.042023265,0.23002226,0.659613737,0,0,0,0,0,0,0,0,0 -work,FALSE,15,1,0,0.005222802,0.000561863,0.003055031,0.006434507,0.007479814,0.009995919,0.013087333,0.058426024,0.310076404,0.585660301,0,0,0,0,0,0,0,0 -work,FALSE,15,2,0,0,0,0.001993619,0.008787212,0.008189747,0.015159942,0.009310176,0.054885948,0.253934613,0.647738743,0,0,0,0,0,0,0,0 -work,FALSE,15,3,0,0,0,0.001732532,0,0.00508097,0.029352724,0.030967014,0.039664292,0.202228781,0.690973688,0,0,0,0,0,0,0,0 -work,FALSE,15,4,0,0,0,0,0,0.004125776,0.011923745,0.030960101,0.061425266,0.239676364,0.651888748,0,0,0,0,0,0,0,0 -work,FALSE,16,1,0,0,0.001326173,0.005965432,0.005180374,0.004138931,0.011262579,0.01661091,0.012073334,0.03679347,0.347396478,0.559252319,0,0,0,0,0,0,0 -work,FALSE,16,2,0,0,0.001822625,0.003909533,0.002974064,0.004461131,0.032696294,0.017905122,0.043805267,0.040055335,0.31441461,0.537956019,0,0,0,0,0,0,0 -work,FALSE,16,3,0,0,0,0,0.006964674,0,0.007663971,0.011249685,0.051874804,0.083383231,0.266186632,0.572677003,0,0,0,0,0,0,0 -work,FALSE,16,4,0.002037834,0,0,0,0,0.005964919,0.002996052,0.010623137,0.018245507,0.068094063,0.195919724,0.696118764,0,0,0,0,0,0,0 -work,FALSE,17,1,0,0,0.001405366,0.004415995,0.00337412,0.003812259,0.014084324,0.008465853,0.012498337,0.015584379,0.06625893,0.34857546,0.521524978,0,0,0,0,0,0 -work,FALSE,17,2,0,0.000261415,0.003193506,0.003224601,0.01031862,0.003695936,0.005727058,0.024107723,0.01290257,0.024008033,0.090851226,0.28964028,0.532069032,0,0,0,0,0,0 -work,FALSE,17,3,0,0,0.000765903,0.001471397,0.008789257,0.002465017,0.005279632,0.009138832,0.01433563,0.026053515,0.045996258,0.222930968,0.662773591,0,0,0,0,0,0 -work,FALSE,17,4,0,0,0,0.000418211,0.002396043,0.007974979,0.014040235,0.00763931,0.007998749,0.020421036,0.047793315,0.160067858,0.731250266,0,0,0,0,0,0 -work,FALSE,18,1,0,0.001141884,0.000347251,0.005493278,0.0034212,0.004108535,0.018739263,0.013709509,0.003846669,0.010612585,0.030088047,0.076311695,0.459430143,0.372749941,0,0,0,0,0 -work,FALSE,18,2,0,0.000397247,0.000707705,0.005535515,0.005281963,0.006814578,0.015049985,0.03759067,0.008201571,0.014941596,0.020264402,0.096049656,0.37187676,0.417288351,0,0,0,0,0 -work,FALSE,18,3,0,0,0.000752403,0.001471647,0,0.003652225,0.011264642,0.015334427,0.024656138,0.012088375,0.011628494,0.081091511,0.38372424,0.454335898,0,0,0,0,0 -work,FALSE,18,4,0,0,0.00040169,0.000306609,0.0002567,0.000726244,0.002720367,0.010037344,0.005670103,0.015810978,0.039979813,0.053350178,0.223343181,0.647396793,0,0,0,0,0 -work,FALSE,19,1,0,0.001186239,0,0.002728595,0.007883348,0.008718809,0.009638123,0.011693247,0.012706395,0.005992436,0.024678769,0.039878395,0.101249301,0.453611585,0.320034756,0,0,0,0 -work,FALSE,19,2,0,0,0,0.004170607,0.002769083,0.008212126,0.01044298,0.034645644,0.024223099,0.015502992,0.044371325,0.03839639,0.101706769,0.292181702,0.423377281,0,0,0,0 -work,FALSE,19,3,0,0,0,0.003546437,0.001427168,0.004005704,0.004647363,0.014456394,0.026101366,0.008168106,0.016583656,0.063080785,0.175251264,0.316168107,0.366563651,0,0,0,0 -work,FALSE,19,4,0,0,0,0,0.002545816,0.001448115,0.001519341,0.006183074,0.015479082,0.010887569,0.013355331,0.023014309,0.098855008,0.198551692,0.628160662,0,0,0,0 -work,FALSE,20,1,0,0,0.002357347,0.003515438,0.003650989,0.004956981,0.005821696,0.03028673,0.010683018,0.006121216,0.039610208,0.067356772,0.074052002,0.107849619,0.362764994,0.280972989,0,0,0 -work,FALSE,20,2,0,0,0,0.003020632,0.000872671,0.009819915,0.004032092,0.033547265,0.012437164,0.023084614,0.029601855,0.030696598,0.08880218,0.150240348,0.244376765,0.3694679,0,0,0 -work,FALSE,20,3,0,0,0,0,0.004490786,0.000948296,0.00496082,0.008797541,0.038290701,0.03100745,0.01309721,0.070674268,0.104392115,0.094315975,0.284308763,0.344716076,0,0,0 -work,FALSE,20,4,0,0,0,0,0,0,0.003217512,0.008519707,0.01832166,0.021264988,0.034310024,0.032173455,0.100093463,0.115029817,0.197663659,0.469405714,0,0,0 -work,FALSE,21,1,0,0,0.00486935,0.004088274,0.009577732,0.013580516,0.019408543,0.027638575,0.028964986,0.013373832,0.01367219,0.088681299,0.105198543,0.066199405,0.05396423,0.186005224,0.3647773,0,0 -work,FALSE,21,2,0,0,0.005064281,0,0.005604807,0.001600494,0.02231608,0.036560998,0.023155074,0.011113847,0.021297782,0.024032721,0.15164875,0.095555611,0.130774865,0.152199827,0.319074864,0,0 -work,FALSE,21,3,0,0,0,0,0,0,0.008088371,0.016902755,0.023330301,0.010037114,0.04837863,0.047736466,0.100832492,0.115955331,0.150651228,0.252610972,0.225476339,0,0 -work,FALSE,21,4,0,0,0,0,0,0,0,0.009975719,0.00458937,0.004215296,0.014833666,0.013407482,0.096553857,0.131723579,0.099990132,0.155500861,0.469210038,0,0 -work,FALSE,22,1,0,0,0,0,0.002354463,0.001321627,0.001526638,0.003547564,0.007889584,0.00247877,0.061446315,0.077612309,0.104848995,0.087316793,0.063921354,0.040342969,0.155380603,0.390012018,0 -work,FALSE,22,2,0,0,0,0.001982423,0,0.007743127,0.011968403,0.008685093,0.003973347,0.012345869,0.016587124,0.040020235,0.072010749,0.098243002,0.073472113,0.096470733,0.242366696,0.314131085,0 -work,FALSE,22,3,0,0,0,0,0,0.00900164,0.001675422,0.021019519,0.008241362,0.012933333,0.01478469,0.047949921,0.119423115,0.119522763,0.080598154,0.04905538,0.20209014,0.313704562,0 -work,FALSE,22,4,0,0,0,0,0,0.00241091,0.006967046,0.024621244,0.004358134,0.006887033,0.008276343,0.047494465,0.086031065,0.153176335,0.061142075,0.031195643,0.205080104,0.362359603,0 -work,FALSE,23,1,0,0.001238847,0,0.002154573,0.003964601,0.001493218,0.012410725,0.019401965,0.016898905,0.02730294,0.011556986,0.034875148,0.041105748,0.083174793,0.018419684,0.005370325,0.063729247,0.109449086,0.54745321 -work,FALSE,23,2,0,0,0.001396549,0,0.003319033,0.005204887,0.025094008,0.033735384,0.008488109,0.01528189,0.022728985,0.031350219,0.058537975,0.074214158,0.022929206,0.042918793,0.007770177,0.170962188,0.476068439 -work,FALSE,23,3,0,0,0.001748893,0.001566752,0,0.007196939,0.011228416,0.021359669,0.028165721,0.008967715,0.028693265,0.056683172,0.078656022,0.063158735,0.099308392,0.039560138,0.024986978,0.098009336,0.43070986 -work,FALSE,23,4,0,0,0.000766782,0.004388369,0.002881109,0.004980974,0.024053963,0.026342685,0.029143148,0.024074445,0.020534932,0.036286202,0.115377511,0.062463348,0.051866458,0.057077696,0.052763369,0.108781076,0.378217933 -univ,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,5,2,0,0.141462921,0.39086301,0,0.071786124,0.025897511,0,0,0,0.097305573,0,0.030851335,0.102890339,0.138943185,0,0,0,0,0 -univ,TRUE,5,3,0,0,0.873218626,0,0,0.057857072,0,0,0,0,0,0,0,0.068924303,0,0,0,0,0 -univ,TRUE,5,4,0,0,0,0,0,0,0.32303468,0,0.32303468,0.16151734,0,0,0,0.192413299,0,0,0,0,0 -univ,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,6,2,0,0.134677838,0.456787632,0.153282563,0.059662856,0.118242123,0.03689652,0.007431799,0.019186549,0,0,0.01383212,0,0,0,0,0,0,0 -univ,TRUE,6,3,0,0.09504007,0.597276077,0.241947175,0,0,0,0.065736678,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,6,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,7,2,0,0,0.16008737,0.671458416,0.049774779,0.017812393,0.020633361,0.033501607,0,0.039093289,0.007638784,0,0,0,0,0,0,0,0 -univ,TRUE,7,3,0,0,0.052281409,0.806320518,0.030314369,0,0,0.012683969,0,0.051228214,0,0.047171521,0,0,0,0,0,0,0 -univ,TRUE,7,4,0,0,0,0.384291795,0.37997151,0.017486076,0.017486076,0,0.052458229,0.020717499,0.020717499,0.106871315,0,0,0,0,0,0,0 -univ,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,2,0,0,0,0.508028202,0.405046381,0.075475558,0.005588065,0,0.005861793,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,3,0,0,0,0.353221848,0.426314578,0.180255321,0.025900769,0.014307484,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,4,0,0,0,0.244322976,0.391323801,0.023592159,0.14547362,0.023592159,0,0.117960797,0,0.026867244,0.026867244,0,0,0,0,0,0 -univ,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,9,2,0,0,0,0,0.363140456,0.541860336,0.068377772,0.008522123,0,0,0.018099314,0,0,0,0,0,0,0,0 -univ,TRUE,9,3,0,0,0,0,0.088505041,0.64872571,0.084998604,0.177770645,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,9,4,0,0,0,0,0.139725614,0.449854868,0.134189894,0,0.276229624,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,2,0,0,0,0,0,0.346861762,0.509611346,0.026290472,0.013109947,0.104126473,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,3,0,0,0,0,0,0.302069617,0.428966039,0.192628694,0,0.07633565,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,4,0,0,0,0,0,0,0.414612817,0,0.115720886,0.347162659,0.122503637,0,0,0,0,0,0,0,0 -univ,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,11,2,0,0,0,0,0,0,0.237240285,0.707936221,0.02446143,0.00979796,0.020564104,0,0,0,0,0,0,0,0 -univ,TRUE,11,3,0,0,0,0,0,0,0.042322313,0.335051522,0.231238246,0.268514141,0.122873778,0,0,0,0,0,0,0,0 -univ,TRUE,11,4,0,0,0,0,0,0,0,0.563593836,0.248920946,0,0.058524887,0.128960331,0,0,0,0,0,0,0 -univ,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,12,2,0,0,0,0,0,0,0,0,0.437771877,0.210261779,0,0,0.297139297,0.054827047,0,0,0,0,0 -univ,TRUE,12,3,0,0,0,0,0,0,0,0,0.43873352,0.141096056,0.130019758,0,0.219455556,0.070695109,0,0,0,0,0 -univ,TRUE,12,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,13,2,0,0,0,0,0,0,0,0,0.134867601,0.583447862,0.08911022,0.053636459,0.138937858,0,0,0,0,0,0 -univ,TRUE,13,3,0,0,0,0,0,0,0,0,0.150944969,0.333823157,0.107766156,0.168152845,0,0.239312872,0,0,0,0,0 -univ,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.090285103,0.404418717,0.50529618,0,0,0,0,0,0,0 -univ,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.309699276,0.690300724,0,0,0,0,0,0,0 -univ,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -univ,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.357567593,0.542130931,0.100301476,0,0,0,0,0,0 -univ,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.628916949,0.371083051,0,0,0,0,0,0 -univ,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -univ,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -univ,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.300048836,0.63299685,0.066954314,0,0,0,0,0 -univ,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -univ,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -univ,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.14414362,0.85585638,0,0,0,0,0 -univ,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.696191337,0.303808663,0,0,0,0 -univ,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403432532,0.596567468,0,0,0,0 -univ,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.450038651,0.549961349,0,0,0,0 -univ,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,1,0,0,0.016025515,0.983974485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,2,0,0,0.262404641,0.737595359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,1,0,0,0,0.163327352,0.836672648,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,1,0,0,0,0.226661626,0.168940428,0.604397946,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,2,0,0,0,0,0.222726098,0.777273902,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,3,0,0,0,0,0.611879485,0.388120515,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,1,0,0,0,0.015316515,0.046862442,0.097177177,0.840643866,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,2,0,0,0,0.070258469,0,0.268634856,0.661106675,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,3,0,0,0,0.037689621,0,0.130353154,0.831957225,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,4,0,0,0,0,0,0.077208841,0.922791159,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,1,0,0,0.014945608,0,0.028129025,0.020638305,0.519341237,0.416945825,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,2,0,0,0.031201085,0.03237983,0.013231327,0.110325379,0.181858105,0.631004274,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,3,0,0,0,0.03549716,0.015053148,0,0.290392671,0.65905702,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,4,0,0,0,0,0.099318641,0.052098847,0.151713122,0.69686939,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,1,0,0,0,0,0,0,0.181017187,0.292661018,0.526321795,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,2,0,0,0,0,0,0,0.048301785,0.296950961,0.654747254,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,3,0,0,0,0,0,0,0,0.056113137,0.943886863,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,4,0,0,0,0,0,0.024635167,0,0,0.975364833,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,1,0,0,0,0.022000764,0.008154518,0.013638554,0.034791419,0.065882427,0.246258385,0.609273932,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,2,0,0,0,0,0,0,0.016168393,0.097081997,0.229754942,0.656994667,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,3,0,0,0,0,0,0,0.043234918,0.20601367,0.431619379,0.319132034,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,4,0,0,0,0,0,0,0.024961198,0.010062765,0.104416222,0.860559815,0,0,0,0,0,0,0,0,0 -univ,FALSE,15,1,0,0,0,0.016983489,0,0.013422718,0.023570396,0.004582712,0.053800861,0.202721356,0.684918469,0,0,0,0,0,0,0,0 -univ,FALSE,15,2,0,0,0,0,0.045151752,0,0.099380208,0.018712363,0.046279979,0.313502235,0.476973464,0,0,0,0,0,0,0,0 -univ,FALSE,15,3,0,0,0,0,0,0,0.025154904,0.093517604,0.102200685,0.131224361,0.647902447,0,0,0,0,0,0,0,0 -univ,FALSE,15,4,0,0,0,0,0,0,0.04795036,0.04795036,0.065158411,0.21500352,0.623937348,0,0,0,0,0,0,0,0 -univ,FALSE,16,1,0,0,0,0,0,0.003411195,0,0.013129003,0,0.154717961,0.529208805,0.299533037,0,0,0,0,0,0,0 -univ,FALSE,16,2,0,0,0,0.015451903,0.014978609,0,0.006115529,0.008472156,0,0.091244276,0.417492241,0.446245285,0,0,0,0,0,0,0 -univ,FALSE,16,3,0,0,0,0,0,0.016342188,0.018885054,0,0.036490672,0.062457119,0.082466854,0.783358113,0,0,0,0,0,0,0 -univ,FALSE,16,4,0,0,0,0,0,0,0,0.102624898,0.020338459,0.028320918,0.182111674,0.666604051,0,0,0,0,0,0,0 -univ,FALSE,17,1,0,0,0,0,0,0,0,0.060607217,0.015960535,0.027738146,0.138834813,0.177730039,0.579129249,0,0,0,0,0,0 -univ,FALSE,17,2,0,0,0,0,0,0,0.026878378,0,0.045587412,0.056703613,0.067767612,0.211772198,0.591290787,0,0,0,0,0,0 -univ,FALSE,17,3,0,0,0,0,0,0,0.035711491,0,0,0.030318877,0.065253534,0.105686003,0.763030094,0,0,0,0,0,0 -univ,FALSE,17,4,0,0,0,0,0,0,0.010287884,0.023408308,0.036977492,0.010287884,0.081294488,0.144862027,0.692881918,0,0,0,0,0,0 -univ,FALSE,18,1,0,0,0,0.003945375,0,0,0,0.017778798,0,0.094239059,0.126537664,0.04524658,0.521630843,0.190621681,0,0,0,0,0 -univ,FALSE,18,2,0,0,0,0.00721016,0,0,0.021117111,0.009952491,0.040163794,0.181306282,0.011084411,0,0.37585875,0.353307001,0,0,0,0,0 -univ,FALSE,18,3,0,0,0,0.006589215,0,0,0,0.019298488,0,0.057611182,0.140317157,0.028818423,0.227948944,0.51941659,0,0,0,0,0 -univ,FALSE,18,4,0,0,0,0,0,0,0.008076984,0,0.019904917,0.065674412,0.055168626,0.094050391,0.164547688,0.592576982,0,0,0,0,0 -univ,FALSE,19,1,0,0,0,0,0.009454567,0,0,0,0.04102499,0,0.023746099,0,0.135591003,0.220827281,0.56935606,0,0,0,0 -univ,FALSE,19,2,0,0,0,0,0,0,0,0,0,0.078006772,0,0.060317466,0.259929547,0.359118303,0.242627912,0,0,0,0 -univ,FALSE,19,3,0,0,0,0,0,0,0,0,0,0.021382414,0,0.021188936,0.081686174,0.348421579,0.527320897,0,0,0,0 -univ,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189756837,0.810243163,0,0,0,0 -univ,FALSE,20,1,0,0,0,0,0,0,0,0.010016964,0,0,0,0.004718289,0.003266795,0,0.085231627,0.896766325,0,0,0 -univ,FALSE,20,2,0,0,0,0,0,0,0.11773307,0.039948419,0,0.039518498,0.05632597,0,0.267130581,0.046726624,0.026652785,0.405964054,0,0,0 -univ,FALSE,20,3,0,0,0,0,0,0,0,0.120183428,0,0.019425265,0,0.12981914,0.113130998,0,0.023452919,0.59398825,0,0,0 -univ,FALSE,20,4,0,0,0,0,0,0,0,0.120271055,0,0.038712543,0.069855242,0.27999729,0.089459377,0.067799861,0.14272972,0.191174912,0,0,0 -univ,FALSE,21,1,0,0,0,0,0,0,0,0,0.007338913,0.023203309,0.007350649,0.00472513,0.002978934,0,0.033142982,0.176639731,0.744620353,0,0 -univ,FALSE,21,2,0,0,0,0,0,0,0,0,0,0.057152164,0.184622922,0.047820405,0.014739649,0.00986257,0.02270102,0.078261413,0.584839857,0,0 -univ,FALSE,21,3,0,0,0,0,0,0,0,0.023488975,0,0.025096056,0,0,0.038339259,0,0.022191995,0.28095544,0.609928273,0,0 -univ,FALSE,21,4,0,0,0,0,0,0,0,0,0.029235831,0,0.09370831,0.034296673,0,0,0,0.045049879,0.797709307,0,0 -univ,FALSE,22,1,0,0,0,0,0,0,0,0,0,0.026178201,0.014643033,0,0.007467541,0,0.019259981,0,0.427134845,0.5053164,0 -univ,FALSE,22,2,0,0,0,0,0,0,0.034835821,0,0,0,0.140548783,0,0,0,0,0,0.1300249,0.694590496,0 -univ,FALSE,22,3,0,0,0,0,0,0,0,0.046323184,0,0,0,0.186895757,0,0,0,0,0.329771262,0.437009796,0 -univ,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0.156732984,0.024747713,0.166206674,0.137729625,0.24721205,0.267370954,0 -univ,FALSE,23,1,0,0,0,0,0,0,0,0,0,0.035836574,0,0.042066438,0.075012425,0.063439215,0,0,0.301680107,0.16901224,0.312953001 -univ,FALSE,23,2,0,0,0,0,0,0,0,0.022191189,0.04703489,0.224157456,0.038381448,0.045053715,0,0.164838447,0,0,0.125234584,0.144560801,0.188547469 -univ,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0.050535751,0,0.237653614,0.043051618,0,0.251962365,0.07621155,0.340585102 -univ,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.012541125,0,0.020367286,0.065349217,0.103326665,0.070453894,0.108396964,0.135051697,0.484513153 -school,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,2,0,0.040189605,0.959810395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,3,0,0.14676025,0.559777558,0.293462192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,2,0,0.090715709,0.600480587,0.301778371,0,0,0,0,0.007025333,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,3,0,0.189913473,0.435678549,0.345471524,0.028936455,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,4,0,0.276044088,0.461879351,0.26207656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,7,2,0,0,0.358595289,0.543340426,0.080407454,0.00494145,0,0.003218472,0.001252217,0.00163666,0.005875668,0,0.000732365,0,0,0,0,0,0 -school,TRUE,7,3,0,0,0.305390104,0.552122437,0.119495284,0,0.012287658,0,0,0,0.010704517,0,0,0,0,0,0,0,0 -school,TRUE,7,4,0,0,0.244790257,0.688367336,0,0.043560183,0,0.023282223,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,8,2,0,0,0,0.750052982,0.197397697,0.003009328,0.015758235,0.00583123,0,0.002418098,0.003851683,0.011638797,0.01004195,0,0,0,0,0,0 -school,TRUE,8,3,0,0,0,0.372624607,0.42987891,0.03924466,0,0.102467106,0,0,0.055784717,0,0,0,0,0,0,0,0 -school,TRUE,8,4,0,0,0,0,0.141654355,0.129241521,0.273939898,0,0,0,0,0.31350987,0.141654355,0,0,0,0,0,0 -school,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,2,0,0,0,0,0.090691548,0.482888016,0.426420437,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,3,0,0,0,0,0.091229458,0.353634961,0.555135582,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,4,0,0,0,0,0,0.30179716,0.69820284,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,2,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,3,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,11,2,0,0,0,0,0,0,0.02770017,0.902627425,0.038595346,0.031077059,0,0,0,0,0,0,0,0,0 -school,TRUE,11,3,0,0,0,0,0,0,0,0.797232896,0.076506636,0,0.126260468,0,0,0,0,0,0,0,0 -school,TRUE,11,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,2,0,0,0,0,0,0,0,0,0.899748743,0,0,0.100251257,0,0,0,0,0,0,0 -school,TRUE,12,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,13,2,0,0,0,0,0,0,0,0,0,0.451262789,0.191174572,0.357562639,0,0,0,0,0,0,0 -school,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.068700765,0.443666092,0.487633143,0,0,0,0,0,0,0 -school,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.11838799,0.88161201,0,0,0,0,0,0,0 -school,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.534557731,0.079614802,0,0,0.385827467,0,0,0,0,0 -school,TRUE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -school,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0,0.868324906,0,0.131675094,0,0,0,0,0 -school,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.900878137,0.099121863,0,0,0,0,0,0 -school,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -school,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -school,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.173995865,0.826004135,0,0,0,0,0,0 -school,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0.637190616,0.362809384,0,0,0,0,0 -school,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.74484742,0.25515258,0,0,0,0,0 -school,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -school,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173208977,0.826791023,0,0,0,0 -school,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -school,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,1,0,0,0,0.09946831,0.90053169,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,1,0,0,0,0,0.051889499,0.948110501,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,1,0,0,0,0,0.00854797,0.143038003,0.848414027,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,2,0,0,0,0,0,0.07758327,0.92241673,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,3,0,0,0,0,0,0.05138849,0.94861151,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,1,0,0,0,0,0.019446017,0.011496295,0.285657861,0.683399827,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,2,0,0,0,0,0.019954492,0,0.331728142,0.648317366,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,3,0,0,0,0,0.033967027,0,0.201586112,0.764446861,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,4,0,0,0,0,0.113939675,0,0.018400111,0.867660214,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,1,0,0,0,0.019248269,0,0.002680163,0.030761477,0.259256669,0.688053423,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,2,0,0,0,0,0,0,0,0.189323178,0.810676822,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,3,0,0,0,0,0,0,0,0.258031986,0.741968014,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,4,0,0,0,0,0,0,0,0.279494058,0.720505942,0,0,0,0,0,0,0,0,0,0 -school,FALSE,14,1,0,0.000831908,0.000979746,0,0.001601486,0.002226531,0.002192251,0.02470079,0.091632585,0.875834703,0,0,0,0,0,0,0,0,0 -school,FALSE,14,2,0,0,0,0,0,0,0.041609561,0.016064041,0.222703138,0.71962326,0,0,0,0,0,0,0,0,0 -school,FALSE,14,3,0,0,0,0,0,0,0,0.023937672,0.13413328,0.841929047,0,0,0,0,0,0,0,0,0 -school,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,FALSE,15,1,0,0,0.006672723,0.001920517,0.000881135,0.000470656,0.007178881,0.003373865,0.007046025,0.435289669,0.537166529,0,0,0,0,0,0,0,0 -school,FALSE,15,2,0,0,0,0.003559393,0.005420446,0,0.01895427,0.006031842,0.009564559,0.299701581,0.656767909,0,0,0,0,0,0,0,0 -school,FALSE,15,3,0,0,0,0,0.014210731,0,0,0.009915361,0.013300231,0.238413075,0.724160602,0,0,0,0,0,0,0,0 -school,FALSE,15,4,0,0,0,0,0.013547957,0,0,0.003834839,0,0.141585883,0.841031322,0,0,0,0,0,0,0,0 -school,FALSE,16,1,0,0,0.003957494,0.007442128,0.002894311,0,0.018097734,0.013714786,0.017413316,0.113052385,0.49048648,0.332941366,0,0,0,0,0,0,0 -school,FALSE,16,2,0,0,0,0.001567759,0.006348016,0.004559163,0.009399428,0.015889281,0.021832495,0.089535591,0.363878359,0.486989907,0,0,0,0,0,0,0 -school,FALSE,16,3,0,0,0,0,0,0.008315162,0.022193918,0.007486006,0.004771945,0.02862127,0.176424988,0.75218671,0,0,0,0,0,0,0 -school,FALSE,16,4,0,0,0,0,0,0,0,0.028022669,0.01919336,0.027628588,0.156778381,0.768377001,0,0,0,0,0,0,0 -school,FALSE,17,1,0,0,0,0.00408238,0.006057147,0.001368873,0.003781947,0.013443846,0.020930042,0.105685888,0.191206812,0.133610245,0.51983282,0,0,0,0,0,0 -school,FALSE,17,2,0,0,0,0.004151198,0,0.00388225,0.00967742,0.013025325,0.027213825,0.07090836,0.082650841,0.202645832,0.585844949,0,0,0,0,0,0 -school,FALSE,17,3,0,0,0,0,0,0.003335544,0,0.003254012,0,0.075557182,0.182853928,0.23363666,0.501362673,0,0,0,0,0,0 -school,FALSE,17,4,0,0,0,0,0,0.006781644,0.00413291,0,0,0.007828685,0.092863122,0.424308729,0.46408491,0,0,0,0,0,0 -school,FALSE,18,1,0,0,0,0.004555021,0,0,0.006805278,0.040238758,0.025752449,0.139579581,0.145174267,0.082159935,0.330134952,0.225599759,0,0,0,0,0 -school,FALSE,18,2,0,0,0,0,0,0,0.002018633,0.017639777,0.011559497,0.035110168,0.084872767,0.077914013,0.273264514,0.497620631,0,0,0,0,0 -school,FALSE,18,3,0,0,0,0,0,0,0.002017331,0.006931595,0.009423374,0.041198595,0.078999404,0.039268257,0.366809487,0.455351956,0,0,0,0,0 -school,FALSE,18,4,0,0,0,0,0,0,0,0,0.018561399,0.043258965,0,0.032292792,0.225093524,0.680793321,0,0,0,0,0 -school,FALSE,19,1,0,0,0.012570056,0,0,0,0.016011468,0.016057604,0.07668851,0.134954753,0.226805131,0.045185104,0.119737059,0.1042095,0.247780814,0,0,0,0 -school,FALSE,19,2,0,0,0,0,0,0,0,0,0.035149661,0.079025772,0.252249169,0.074284557,0.168495532,0.132896247,0.257899061,0,0,0,0 -school,FALSE,19,3,0,0,0,0,0,0,0.005256704,0.005256704,0,0.009878056,0.069178911,0.139359082,0.209998751,0.300301838,0.260769954,0,0,0,0 -school,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.022433763,0.009746389,0.043021361,0.243536894,0.681261593,0,0,0,0 -school,FALSE,20,1,0,0,0,0,0,0,0.036381208,0,0.005800614,0.031932891,0.149632504,0.044906251,0.163413396,0.076354612,0.020580741,0.470997783,0,0,0 -school,FALSE,20,2,0,0,0,0.036384497,0,0,0,0.015532617,0.011426107,0.027703676,0.076335086,0.040493411,0.142356662,0.132693585,0.187215615,0.329858743,0,0,0 -school,FALSE,20,3,0,0,0,0,0,0,0,0.03877589,0.045812113,0.065392635,0.101494701,0.055752291,0.061584445,0.034149257,0.28928825,0.307750418,0,0,0 -school,FALSE,20,4,0,0,0,0,0,0,0,0,0.036041044,0,0.141425909,0.042527443,0.019058777,0.102734314,0.237735178,0.420477334,0,0,0 -school,FALSE,21,1,0,0,0,0,0,0,0.029175445,0.047201664,0,0.059213923,0.186189825,0,0.015107113,0,0.014924261,0.246756883,0.401430887,0,0 -school,FALSE,21,2,0,0,0,0,0,0,0.018242295,0,0.051393732,0.017166791,0.159810093,0.01466897,0.065248355,0.019698184,0.082686594,0.128131407,0.442953578,0,0 -school,FALSE,21,3,0,0,0,0,0,0,0,0,0,0.044964736,0,0.026693251,0.075177802,0.03517993,0.025975511,0.337402271,0.4546065,0,0 -school,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0.058839649,0.052164792,0.030967554,0.061935107,0.029419825,0.145827525,0.620845548,0,0 -school,FALSE,22,1,0.023037375,0,0,0,0,0,0,0,0,0.080648327,0.361587215,0.039998637,0.119661147,0.145124395,0.025588201,0,0.115793964,0.088560738,0 -school,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.066321013,0.205698394,0.043934105,0.180253452,0.112019427,0.014897164,0.028012145,0.055418593,0.293445707,0 -school,FALSE,22,3,0,0,0,0.017205445,0,0,0,0,0,0,0,0.072013982,0.171335382,0.018627394,0.235525324,0.014627752,0.218669111,0.25199561,0 -school,FALSE,22,4,0,0,0,0,0,0,0.014630535,0,0,0,0,0,0,0.021783187,0.041931895,0.020148708,0.336082731,0.565422944,0 -school,FALSE,23,1,0,0,0,0,0,0,0,0,0.111780051,0.21697306,0.207813189,0,0.029486875,0.065930991,0.028259313,0.025083791,0.027543321,0.043512885,0.243616523 -school,FALSE,23,2,0,0,0,0,0,0,0,0,0,0.125873532,0.191933649,0.013156926,0.035810782,0.023201345,0,0.03046339,0.176154142,0.116307048,0.287099186 -school,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.39711845,0.032800383,0,0,0.246473294,0,0,0.167995519,0.155612354 -school,FALSE,23,4,0,0,0,0,0,0,0,0,0.313300531,0,0,0,0,0.002398637,0.195897513,0,0.195897513,0.004797275,0.28770853 -escort,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,5,2,0.056858007,0.134308757,0.177188158,0,0,0.13142305,0,0.060572569,0,0.148645889,0.139773895,0.099108225,0,0.048544465,0.003576985,0,0,0,0 -escort,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0.744635807,0,0,0.255364193,0,0,0,0,0 -escort,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0.812216804,0.046945799,0,0.140837397,0,0,0,0,0 -escort,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,6,2,0,0.317902833,0.447578121,0.020114912,0,0,0.053725104,0,0,0.040669001,0.069308805,0.050701225,0,0,0,0,0,0,0 -escort,TRUE,6,3,0,0,0.573662861,0,0,0,0.426337139,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,6,4,0,0,0,0,0,0,0.42115826,0.15768348,0.42115826,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,7,2,0,0,0.142617064,0.38383586,0.072492592,0.032249474,0.032292989,0.061737992,0.014418217,0,0.117686396,0.044994655,0.097674761,0,0,0,0,0,0 -escort,TRUE,7,3,0,0,0,0,0,0.045211707,0,0,0.126121874,0,0.277934232,0.221864174,0,0.328868013,0,0,0,0,0 -escort,TRUE,7,4,0,0,0,0,0,0.046374243,0,0,0.072684124,0,0,0.059438015,0.270430055,0.098354465,0,0.157068569,0,0.295650529,0 -escort,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,8,2,0,0,0,0.321006938,0.473310236,0.008304761,0.028639249,0.02199492,0.016407044,0,0.05343627,0.024107423,0.052793161,0,0,0,0,0,0 -escort,TRUE,8,3,0,0,0,0.32761399,0.648736988,0.023649023,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,8,4,0,0,0,0,0.203285069,0.087659544,0.087659544,0,0.005822781,0,0,0,0.101642534,0.005717855,0.508212672,0,0,0,0 -escort,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,9,2,0,0,0,0,0.320224882,0.267747579,0.099295479,0,0.061354638,0.200251803,0,0,0,0.020258001,0.030867619,0,0,0,0 -escort,TRUE,9,3,0,0,0,0,0,0.432761501,0.214593419,0,0.146040986,0.206604093,0,0,0,0,0,0,0,0,0 -escort,TRUE,9,4,0,0,0,0,0,0,0.1657582,0.096920036,0.259807729,0,0.159171345,0.159171345,0.159171345,0,0,0,0,0,0 -escort,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,10,2,0,0,0,0,0,0.196501921,0.373640136,0.138599097,0.094607199,0.196651647,0,0,0,0,0,0,0,0,0 -escort,TRUE,10,3,0,0,0,0,0,0.116175548,0.44952369,0.143154558,0.097571597,0.14871659,0.044858016,0,0,0,0,0,0,0,0 -escort,TRUE,10,4,0,0,0,0,0,0,0.152413275,0.360078185,0.346132466,0.141376074,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,2,0,0,0,0,0,0,0.236755791,0.714983274,0.028256555,0.02000438,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,3,0,0,0,0,0,0,0,0.379678398,0.448220444,0.172101157,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,12,2,0,0,0,0,0,0,0,0.146819614,0.555791511,0.044450314,0.058009028,0.153878569,0.041050964,0,0,0,0,0,0 -escort,TRUE,12,3,0,0,0,0,0,0,0,0,0.743230427,0.054234351,0.202535221,0,0,0,0,0,0,0,0 -escort,TRUE,12,4,0,0,0,0,0,0,0,0,0,0.132670832,0.867329168,0,0,0,0,0,0,0,0 -escort,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,13,2,0,0,0,0,0,0,0,0,0.092255068,0.585233838,0.30962564,0.012885454,0,0,0,0,0,0,0 -escort,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.671206778,0.328793222,0,0,0,0,0,0,0,0 -escort,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.228972422,0.771027578,0,0,0,0,0,0,0,0 -escort,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -escort,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.562794406,0.331440849,0.082858701,0,0.022906044,0,0,0,0,0 -escort,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.645172877,0.181000922,0.173826201,0,0,0,0,0,0 -escort,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0,0.753171928,0.246828072,0,0,0,0,0,0 -escort,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -escort,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.201660218,0.766732321,0.031607461,0,0,0,0,0,0 -escort,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.299056486,0.074996412,0.41897627,0.206970833,0,0,0,0,0 -escort,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.150453054,0.849546946,0,0,0,0,0 -escort,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -escort,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.579038356,0.255758044,0.165203599,0,0,0,0,0 -escort,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.035336994,0.238269535,0.726393471,0,0,0,0,0 -escort,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -escort,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -escort,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.197118737,0.703970119,0.036315607,0.026383772,0.036211766,0,0 -escort,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.427169666,0.572830334,0,0,0,0 -escort,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -escort,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -escort,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185479472,0.434361919,0.338714329,0.041444281,0,0 -escort,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78249237,0.21750763,0,0,0 -escort,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.823014212,0.176985788,0 -escort,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -escort,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.285555275,0.649528389,0.064916336,0,0 -escort,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -escort,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199542785,0.800457215,0,0 -escort,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,1,0.040029892,0.959970108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,1,0,0.020969803,0.979030197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,1,0,0,0.118338551,0.881661449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,2,0,0,0.034411699,0.965588301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,1,0,0,0.004282148,0.282836493,0.71288136,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,2,0,0,0,0.171647398,0.828352602,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,3,0,0,0,0.21068634,0.78931366,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,4,0,0,0,0.019911517,0.980088483,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,1,0,0,0.018159729,0.078956734,0.236267706,0.66661583,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,2,0,0,0,0.138185723,0.240772266,0.621042011,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,3,0,0,0.040625092,0.114436303,0.44797514,0.396963465,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,4,0,0,0,0,0.181720167,0.818279833,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,1,0,0,0,0.031917445,0.047683392,0.099924869,0.820474293,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,2,0,0,0,0,0.020814603,0.392076313,0.587109083,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,3,0,0,0,0,0.032514248,0.315393925,0.652091828,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,4,0,0,0,0,0,0.249548162,0.750451838,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,1,0,0,0,0.018963707,0.021920487,0.031520436,0.140654387,0.786940984,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,2,0,0,0,0.03235256,0.042149511,0.05052472,0.131440073,0.743533136,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,3,0,0,0,0.050468014,0,0.017084057,0.229496221,0.702951708,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,4,0,0,0,0,0.048745163,0,0.147271645,0.803983192,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,1,0,0,0.002941942,0.022003062,0.00551188,0.013544069,0.038590922,0.171545199,0.745862927,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,2,0,0,0,0.015043096,0.006073583,0.009841677,0.054297211,0.176600055,0.738144378,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,3,0,0,0,0.021105735,0,0,0.046096397,0.122921811,0.809876056,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,4,0,0,0,0,0,0,0,0.099840566,0.900159434,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,1,0,0,0,0.048520661,0,0,0.016138911,0.044713809,0.085550978,0.805075641,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,2,0,0,0,0.009564053,0.153251843,0,0,0.114426845,0.102407993,0.620349267,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,3,0,0,0,0,0,0,0.013997667,0.033806812,0.25169859,0.700496931,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,4,0,0,0,0,0,0,0,0.031515821,0.082969823,0.885514356,0,0,0,0,0,0,0,0,0 -escort,FALSE,15,1,0.001473284,0.001275418,0.003819369,0.008997,0.006335419,0.008570073,0.003284399,0.001014618,0.005676659,0.244506482,0.715047279,0,0,0,0,0,0,0,0 -escort,FALSE,15,2,0.004847658,0.004196604,0.007080083,0.006185119,0.01421088,0,0.026061603,0.014229404,0.009049421,0.195982731,0.718156496,0,0,0,0,0,0,0,0 -escort,FALSE,15,3,0,0.012564661,0,0,0,0.021197818,0.014513923,0.011367283,0.031969048,0.126086289,0.782300976,0,0,0,0,0,0,0,0 -escort,FALSE,15,4,0,0,0,0,0,0.027149505,0.045738486,0.027149505,0.029117725,0.13954129,0.731303489,0,0,0,0,0,0,0,0 -escort,FALSE,16,1,0.00200405,0.001051772,0.006771555,0.00180834,0.015487237,0.019320069,0.003963644,0.003467036,0,0.014608191,0.140235591,0.791282514,0,0,0,0,0,0,0 -escort,FALSE,16,2,0,0,0,0.006365421,0.007122206,0.007817846,0.005072611,0.002561853,0.010562285,0.011331327,0.163631956,0.785534495,0,0,0,0,0,0,0 -escort,FALSE,16,3,0,0,0,0,0,0,0.013949693,0.015608287,0.031607957,0.045248859,0.086738092,0.806847112,0,0,0,0,0,0,0 -escort,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.176949473,0.823050527,0,0,0,0,0,0,0 -escort,FALSE,17,1,0,0.001885858,0.014135456,0.015985525,0.002552119,0,0,0.002305352,0,0.019788158,0.05304134,0.114790493,0.775515701,0,0,0,0,0,0 -escort,FALSE,17,2,0,0,0.01612501,0.004912147,0,0,0,0,0.006052735,0,0.066169183,0.192117368,0.714623557,0,0,0,0,0,0 -escort,FALSE,17,3,0,0,0,0,0,0,0,0,0,0.020217729,0.029305934,0.331354145,0.619122192,0,0,0,0,0,0 -escort,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0.06461582,0.084856782,0.850527398,0,0,0,0,0,0 -escort,FALSE,18,1,0,0.005432163,0.038940224,0.026689744,0.058158769,0,0.034797386,0,0,0.003175997,0.015025769,0.011190666,0.133413828,0.673175452,0,0,0,0,0 -escort,FALSE,18,2,0.006475372,0,0.028703811,0,0.057765487,0,0.00513516,0.012023268,0,0.005808733,0.027224281,0.023941956,0.217891148,0.615030786,0,0,0,0,0 -escort,FALSE,18,3,0,0,0,0,0,0,0,0.023354896,0,0,0.010873824,0.043494105,0.216938965,0.70533821,0,0,0,0,0 -escort,FALSE,18,4,0,0,0,0,0,0,0,0,0,0.030910531,0.015455265,0.036197751,0.134169828,0.783266626,0,0,0,0,0 -escort,FALSE,19,1,0,0,0.015759767,0.084811588,0,0.002872924,0,0.006556512,0.028956925,0.008237531,0,0.012966642,0.041318552,0.134584946,0.663934612,0,0,0,0 -escort,FALSE,19,2,0,0,0,0.041554494,0,0,0,0.005100141,0.012765195,0.005414707,0,0.027095562,0.040399,0.160510182,0.707160719,0,0,0,0 -escort,FALSE,19,3,0,0,0,0.042762147,0,0,0,0,0,0,0,0.118635541,0.138902724,0.131182018,0.568517571,0,0,0,0 -escort,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0.033575497,0.22070458,0.745719923,0,0,0,0 -escort,FALSE,20,1,0,0,0,0,0.076554131,0,0.004387939,0,0.005379578,0,0,0.005770825,0.013203816,0.052748034,0.038731746,0.80322393,0,0,0 -escort,FALSE,20,2,0,0,0,0,0,0,0.012675397,0,0,0,0.015539935,0,0.0372498,0.038141734,0.263200874,0.63319226,0,0,0 -escort,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0.142988825,0.070710819,0.050794946,0.73550541,0,0,0 -escort,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054259213,0.205166313,0.740574475,0,0,0 -escort,FALSE,21,1,0,0,0,0.009094963,0.016533621,0,0,0,0,0.037489891,0.01972214,0.048167746,0,0.021841243,0.064693921,0.167744598,0.614711876,0,0 -escort,FALSE,21,2,0,0,0.010099315,0,0,0.041511619,0,0,0.014099016,0.047958493,0,0,0.074669665,0,0.04646442,0.263279058,0.501918415,0,0 -escort,FALSE,21,3,0,0,0.017776541,0,0,0,0,0,0,0,0.024816708,0,0.07306763,0.131431527,0.035447508,0.193292186,0.5241679,0,0 -escort,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.022628167,0,0.052756196,0.032321457,0.080116339,0.812177841,0,0 -escort,FALSE,22,1,0,0,0,0.113172185,0,0,0,0,0,0.026397261,0.044886063,0,0,0.019218468,0.004386306,0.028722261,0.247924763,0.515292694,0 -escort,FALSE,22,2,0,0,0,0,0,0,0.18017321,0,0,0,0,0.074732757,0,0.107022619,0.042577452,0.038743506,0.038743506,0.518006951,0 -escort,FALSE,22,3,0,0,0,0,0,0,0.267409489,0,0,0,0,0,0,0,0.015267396,0.143659747,0.183067852,0.390595517,0 -escort,FALSE,22,4,0,0,0,0,0,0,0,0.234024187,0.234024187,0,0,0,0,0,0,0,0.303429308,0.228522318,0 -escort,FALSE,23,1,0,0,0,0,0,0,0,0.008127027,0.007835463,0.151355656,0,0.052450125,0.03651837,0.092153785,0.022741195,0,0.087045131,0.09410699,0.447666258 -escort,FALSE,23,2,0,0,0,0,0,0,0,0.038717113,0,0.014072799,0.013520577,0.321560091,0.117135518,0.10301486,0.065001842,0,0.046587075,0.02971575,0.250674374 -escort,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.026894061,0.13703111,0,0.082687611,0.04923207,0,0.121213706,0.200076012,0.38286543 -escort,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.049644185,0,0,0,0,0,0.09087828,0.241408525,0.61806901 -shopping,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,5,2,0,0.18855969,0.026231205,0,0.018666624,0.036855114,0.01579057,0.02877734,0,0.008686294,0.03735935,0.062874703,0.02993166,0.13469908,0.360321567,0.051246804,0,0,0 -shopping,TRUE,5,3,0,0,0,0,0.061551337,0,0.071672554,0.060629628,0,0,0.091646938,0.65884087,0,0,0,0.055658673,0,0,0 -shopping,TRUE,5,4,0,0,0,0,0,0,0.063047092,0,0,0.063047092,0,0.063047092,0.096265448,0.600570816,0,0.05701123,0,0,0.05701123 -shopping,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,6,2,0,0.236185322,0.189345656,0.027307243,0,0.09795574,0.025679731,0.06524777,0,0.065782608,0.146681657,0.061307682,0.084506592,0,0,0,0,0,0 -shopping,TRUE,6,3,0,0.122362042,0,0.056125397,0,0.3786476,0,0,0.104941475,0,0,0.337923485,0,0,0,0,0,0,0 -shopping,TRUE,6,4,0,0,0,0,0,0.333126,0,0.333126,0,0,0,0.215517962,0.061611625,0.056618413,0,0,0,0,0 -shopping,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,7,2,0,0,0.137784762,0.347610842,0.133435005,0.027404455,0.039144758,0.071879163,0.050738746,0,0.035619826,0.112566834,0,0.017941118,0.01764776,0.008226732,0,0,0 -shopping,TRUE,7,3,0,0,0.118039813,0.173078319,0.187104935,0.14629093,0.052634804,0.10898427,0,0,0,0.168712159,0.045154769,0,0,0,0,0,0 -shopping,TRUE,7,4,0,0,0,0.044071544,0,0.113245235,0,0,0,0,0.055926536,0.110694997,0.261835563,0.414226125,0,0,0,0,0 -shopping,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,8,2,0,0,0,0.216420344,0.444754798,0.146005729,0.070193472,0.027780288,0.022919028,0,0.028031874,0,0.017321534,0.012974919,0,0,0,0.013598014,0 -shopping,TRUE,8,3,0,0,0,0.11915052,0.47354413,0.131084867,0.131912474,0.029942334,0.092204361,0.012421891,0,0,0,0.009739424,0,0,0,0,0 -shopping,TRUE,8,4,0,0,0,0.091488151,0.546318896,0.031542872,0.035173262,0.043158455,0.069562754,0.074293154,0.014133102,0.01007907,0.063090109,0.011081104,0,0.01007907,0,0,0 -shopping,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,9,2,0,0,0,0,0.25829748,0.338424677,0.195615866,0.063977369,0.037499937,0.014738329,0.047325307,0,0.015434424,0.020988402,0.007698208,0,0,0,0 -shopping,TRUE,9,3,0,0,0,0,0.092189784,0.255069356,0.282966449,0.075774276,0.085242805,0.057005967,0.019307332,0.104848677,0,0.027595353,0,0,0,0,0 -shopping,TRUE,9,4,0,0,0,0,0,0.086253583,0.235736082,0.217929307,0.026367245,0.066851523,0.150316009,0.167128809,0,0.049417443,0,0,0,0,0 -shopping,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,10,2,0,0,0,0,0,0.447429351,0.377114876,0.1219042,0.01784823,0.022881298,0.007112195,0.00570985,0,0,0,0,0,0,0 -shopping,TRUE,10,3,0,0,0,0,0,0.203895878,0.380391288,0.125413278,0.121084198,0.097085986,0.03993943,0.032189942,0,0,0,0,0,0,0 -shopping,TRUE,10,4,0,0,0,0,0,0.026436932,0.286895016,0.076810524,0.38619219,0.152227751,0.048029261,0,0.023408325,0,0,0,0,0,0 -shopping,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,11,2,0,0,0,0,0,0,0.321289054,0.351540642,0.130487047,0.150332918,0.014224049,0.004332814,0.027793477,0,0,0,0,0,0 -shopping,TRUE,11,3,0,0,0,0,0,0,0.22652124,0.229119163,0.279822494,0.140263855,0.09076511,0.017983211,0,0.015524928,0,0,0,0,0 -shopping,TRUE,11,4,0,0,0,0,0,0,0.060435728,0,0.337860558,0.382359867,0.089042433,0.089042433,0,0,0,0.041258981,0,0,0 -shopping,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,12,2,0,0,0,0,0,0,0,0.327958916,0.465492803,0.141109297,0.020542537,0.022498994,0.01140431,0.010993144,0,0,0,0,0 -shopping,TRUE,12,3,0,0,0,0,0,0,0,0.178317517,0.451517182,0.27737762,0.065198536,0,0.009801894,0.017787251,0,0,0,0,0 -shopping,TRUE,12,4,0,0,0,0,0,0,0,0,0.213180964,0.240910483,0.152246297,0.393662256,0,0,0,0,0,0,0 -shopping,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,13,2,0,0,0,0,0,0,0,0,0.508107696,0.321685937,0.081799219,0.061327596,0.027079551,0,0,0,0,0,0 -shopping,TRUE,13,3,0,0,0,0,0,0,0,0,0.177195753,0.267607099,0.084531289,0.424560684,0.014787439,0.031317737,0,0,0,0,0 -shopping,TRUE,13,4,0,0,0,0,0,0,0,0,0.263218395,0.402482495,0.061208389,0.185818041,0,0,0,0.087272681,0,0,0 -shopping,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -shopping,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.438870825,0.372372041,0.160848114,0.021826983,0,0,0.006082036,0,0,0 -shopping,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.017173884,0.628449853,0.104128183,0.031161272,0,0,0.10714611,0.111940698,0,0 -shopping,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.490831445,0,0,0,0,0.254584278,0.254584278,0,0 -shopping,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -shopping,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.261294755,0.632140733,0.068294747,0.038269765,0,0,0,0,0 -shopping,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.150837677,0.364045291,0.292150535,0.06771696,0,0.125249537,0,0,0 -shopping,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.36746411,0,0.075770875,0,0.278382507,0.278382507,0,0 -shopping,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -shopping,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.554781367,0.360878736,0.067834102,0.016505795,0,0,0,0 -shopping,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.327593582,0.637795928,0.034610489,0,0,0,0,0 -shopping,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0.076274354,0.757840172,0.055295158,0.110590316,0,0,0,0 -shopping,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -shopping,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.281133857,0.595643382,0.100047971,0,0.023174789,0,0 -shopping,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.517896269,0.345741974,0.070632988,0,0,0.065728769,0 -shopping,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.783800606,0,0.072066465,0.144132929,0,0 -shopping,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -shopping,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.299407159,0.536590408,0.150080831,0.013921602,0,0 -shopping,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192023096,0.807976904,0,0,0,0 -shopping,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.221357455,0.693718463,0.084924082,0,0 -shopping,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.905321875,0.094678125,0,0 -shopping,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.768749763,0.231250237,0 -shopping,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,2,0,0,0.057856159,0.942143841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,1,0,0,0,0.063004812,0.936995188,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,2,0,0,0,0.215154916,0.784845084,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,1,0,0,0,0.034621691,0.199730362,0.765647947,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,2,0,0,0,0.013947823,0.249445429,0.736606748,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,3,0,0,0,0,0.263792407,0.736207593,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,4,0,0,0,0,0.190842252,0.809157748,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,1,0,0,0,0,0.017620786,0.158923567,0.823455647,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,2,0,0,0,0,0.004541602,0.230049175,0.765409223,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,3,0,0,0,0,0,0.338910752,0.661089248,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,4,0,0,0,0,0,0.150257604,0.849742396,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,1,0,0,0.002514383,0,0.039915577,0.051276757,0.273727641,0.632565641,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,2,0,0,0,0,0.039730806,0.073816678,0.261462334,0.624990182,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,3,0,0,0,0,0.004430216,0.044433351,0.292333728,0.658802706,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,4,0,0,0,0,0,0.035609316,0.240024471,0.724366213,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,1,0,0,0,0,0.002652468,0.017076075,0.03891727,0.241051111,0.700303076,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,2,0,0,0,0,0.008356207,0.019728013,0.123359666,0.171778982,0.676777133,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,3,0,0,0,0,0.019588158,0,0.046245315,0.40772273,0.526443797,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,4,0,0,0,0,0.025743876,0.051487752,0.032165405,0.12492976,0.765673208,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,1,0,0,0,0.014322812,0.008308251,0.005594512,0.016143904,0.130012933,0.19330349,0.632314098,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,2,0,0,0,0.005506763,0.021606723,0.003403522,0.013852092,0.106618856,0.339860692,0.509151352,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,3,0,0,0,0.011027918,0,0.003096348,0.058586882,0.104167817,0.217735941,0.605385093,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,4,0,0,0,0.01227549,0,0.019168758,0.003446634,0.105336725,0.267971535,0.591800858,0,0,0,0,0,0,0,0,0 -shopping,FALSE,15,1,0,0,0,0,0.004254425,0.009138,0.019091237,0.013981558,0.039120881,0.34948947,0.564924428,0,0,0,0,0,0,0,0 -shopping,FALSE,15,2,0,0,0,0,0.001627899,0.009215496,0.004903293,0.002308669,0.07302082,0.221873866,0.687049956,0,0,0,0,0,0,0,0 -shopping,FALSE,15,3,0,0,0,0,0.003142874,0,0.025204014,0,0.04008905,0.235602582,0.69596148,0,0,0,0,0,0,0,0 -shopping,FALSE,15,4,0,0,0,0,0,0,0.004328876,0.008657753,0,0.285614869,0.701398502,0,0,0,0,0,0,0,0 -shopping,FALSE,16,1,0,0,0,0.000878576,0.003497576,0.021588157,0.009216937,0.008217315,0.002448233,0.048046219,0.232893086,0.673213901,0,0,0,0,0,0,0 -shopping,FALSE,16,2,0,0,0,0,0,0.035847568,0.011510797,0.014922592,0.020904683,0.052635454,0.243160325,0.62101858,0,0,0,0,0,0,0 -shopping,FALSE,16,3,0,0,0,0,0,0.051361483,0.00311995,0,0.051491012,0.042960512,0.192617192,0.658449851,0,0,0,0,0,0,0 -shopping,FALSE,16,4,0,0,0,0,0,0.046465728,0.002556214,0.025713434,0.038861358,0.073644993,0.248297436,0.564460837,0,0,0,0,0,0,0 -shopping,FALSE,17,1,0,0.002208578,0.009311633,0.01738702,0.001331755,0.005016926,0.003171846,0.006879148,0.001436793,0.027480637,0.058941124,0.29462051,0.572214029,0,0,0,0,0,0 -shopping,FALSE,17,2,0,0,0,0,0,0,0.010344283,0.037939171,0.039422982,0.026045212,0.06114443,0.190229666,0.634874255,0,0,0,0,0,0 -shopping,FALSE,17,3,0,0,0,0,0.007721229,0,0.011554543,0.070232976,0.032812162,0.025350429,0.070540072,0.236685334,0.545103256,0,0,0,0,0,0 -shopping,FALSE,17,4,0,0,0,0,0,0.006990598,0.033455447,0.006990598,0,0.064675896,0.055525232,0.171396816,0.660965415,0,0,0,0,0,0 -shopping,FALSE,18,1,0,0.033355807,0,0.001892316,0.00090772,0.004904866,0.001167821,0.016722263,0.003141548,0.002779365,0.024569171,0.061842541,0.271632599,0.577083981,0,0,0,0,0 -shopping,FALSE,18,2,0,0.075251856,0,0.017407741,0,0,0.005067103,0.012905849,0.043130871,0.028315061,0.006542046,0.109303095,0.166027278,0.536049102,0,0,0,0,0 -shopping,FALSE,18,3,0,0,0,0,0,0,0,0,0,0.066490049,0.057249304,0.237270804,0.359314757,0.279675086,0,0,0,0,0 -shopping,FALSE,18,4,0,0,0,0,0,0,0.007859239,0,0.011296648,0.003929619,0.099720544,0.061193285,0.240312145,0.575688521,0,0,0,0,0 -shopping,FALSE,19,1,0,0.002312931,0.007027556,0.00055146,0,0.020661977,0,0,0.011821234,0.002688782,0.004292928,0.007532001,0.051155819,0.156901174,0.735054139,0,0,0,0 -shopping,FALSE,19,2,0,0,0,0,0,0,0,0.003320994,0.005290597,0.01358355,0.003788453,0.020449742,0.075630163,0.221134543,0.656801959,0,0,0,0 -shopping,FALSE,19,3,0,0,0,0,0,0,0.014614817,0,0,0.020347906,0.008733406,0,0.047735668,0.374113208,0.534454996,0,0,0,0 -shopping,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.020864671,0.058211406,0.120273738,0.204544879,0.596105306,0,0,0,0 -shopping,FALSE,20,1,0,0,0,0,0,0.001536146,0,0.001675312,0,0,0,0,0,0.047561031,0.181509603,0.767717908,0,0,0 -shopping,FALSE,20,2,0,0,0,0,0,0.00331683,0,0.004518272,0.00566615,0,0.002748233,0,0.008286949,0.051482817,0.259536082,0.664444667,0,0,0 -shopping,FALSE,20,3,0,0,0,0,0,0,0,0.011858233,0.008705041,0,0.022083602,0.018110733,0,0.035127515,0.143310213,0.760804664,0,0,0 -shopping,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.03498938,0.040641133,0.145381408,0.371268099,0.407719981,0,0,0 -shopping,FALSE,21,1,0,0,0,0,0,0,0,0.004266615,0.002430883,0,0.007940168,0.009395117,0.021163822,0.046202149,0.053837474,0.173465177,0.681298593,0,0 -shopping,FALSE,21,2,0,0,0,0,0,0,0.007985058,0.003444064,0.007416145,0,0.004827496,0.003843961,0.059108441,0.050308287,0.078478176,0.182109604,0.602478768,0,0 -shopping,FALSE,21,3,0,0,0,0,0,0,0,0,0.037797058,0.007828278,0.02376667,0.011687609,0,0.020240379,0.189418946,0.098165754,0.611095305,0,0 -shopping,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.019033172,0,0.01121107,0.036432132,0.018720166,0.031263843,0.186160383,0.697179234,0,0 -shopping,FALSE,22,1,0,0,0,0,0,0.018041153,0,0,0,0,0,0,0.009811009,0.008718506,0.044707222,0.097289219,0.453480605,0.367952287,0 -shopping,FALSE,22,2,0,0,0,0,0,0.014478651,0,0,0.00946373,0,0,0.015817118,0.022169677,0.014478651,0,0.0282764,0.258592224,0.63672355,0 -shopping,FALSE,22,3,0,0,0,0,0,0,0,0,0.017617342,0.054918813,0,0,0,0.029444584,0.095176163,0,0,0.802843098,0 -shopping,FALSE,22,4,0,0,0,0,0,0,0,0,0.020680151,0,0,0.158687133,0,0.087459292,0.073575862,0.034563581,0.293241585,0.331792395,0 -shopping,FALSE,23,1,0,0,0,0.023821741,0,0,0,0.039038004,0.026879421,0,0.010904146,0.018269598,0.019509677,0.079126477,0.035829398,0.029321261,0,0.084296742,0.633003535 -shopping,FALSE,23,2,0,0.103799266,0,0,0.011152724,0,0,0.015806724,0.046340267,0.023976697,0.037355147,0,0.054819521,0.059060036,0.061565304,0.051303212,0.00884805,0.147229688,0.378743364 -shopping,FALSE,23,3,0,0,0,0,0.155683525,0,0,0,0.034179578,0,0,0.080880151,0,0.080591686,0.03920938,0.158345959,0.053129458,0.120909369,0.277070893 -shopping,FALSE,23,4,0,0,0,0,0,0.157154735,0.078577368,0.196443419,0.047914328,0.039288684,0.12397869,0.009075333,0,0.026776309,0.014018049,0.026776309,0.008914443,0.067449234,0.2036331 -othmaint,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,5,2,0,0.040658727,0.120399874,0.213344233,0.111017831,0.079889013,0.042291218,0,0.204453217,0,0,0.104955464,0.082990423,0,0,0,0,0,0 -othmaint,TRUE,5,3,0,0,0,0,0,0,0,0.287213384,0,0,0,0,0.712786616,0,0,0,0,0,0 -othmaint,TRUE,5,4,0,0,0,0,0,0,0,0,0.124355516,0.248711031,0,0,0.105129078,0,0.521804375,0,0,0,0 -othmaint,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,6,2,0,0,0.235488214,0.357403945,0.125753019,0,0,0.078259791,0,0.046555016,0.11357777,0.042962245,0,0,0,0,0,0,0 -othmaint,TRUE,6,3,0,0,0.326226519,0,0,0,0,0.174974691,0,0.373408666,0.125390124,0,0,0,0,0,0,0,0 -othmaint,TRUE,6,4,0,0,0,0,0,0,0.051430893,0.051430893,0,0.213968684,0.153518801,0.186667766,0.102982298,0.145655522,0,0.042793737,0.051551405,0,0 -othmaint,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,7,2,0,0,0.161965305,0.560535311,0.143218808,0.033324008,0.013918476,0.026127179,0.005375436,0,0.011132734,0.01156894,0.02310162,0,0.009732183,0,0,0,0 -othmaint,TRUE,7,3,0,0,0.113525478,0.598967516,0.089069194,0.080738894,0,0.030379017,0,0,0.0168487,0.017349938,0.019216267,0.018737763,0,0,0.015167234,0,0 -othmaint,TRUE,7,4,0,0,0.067302976,0.204351658,0.170979792,0.399761316,0.008551266,0.113238461,0,0,0,0,0,0.035814532,0,0,0,0,0 -othmaint,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,8,2,0,0,0,0.275563345,0.484065773,0.083338937,0.065284531,0.034854754,0.014700638,0.02595601,0.016236011,0,0,0,0,0,0,0,0 -othmaint,TRUE,8,3,0,0,0,0.256465635,0.196396681,0.177854408,0.122055686,0.028927661,0.08283666,0.079901924,0.043539857,0.012021488,0,0,0,0,0,0,0 -othmaint,TRUE,8,4,0,0,0,0,0.028047731,0,0.350951603,0,0.149252856,0.30289175,0,0.04635913,0.122496929,0,0,0,0,0,0 -othmaint,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,9,2,0,0,0,0,0.230097736,0.368638076,0.127385774,0.016744897,0.150776775,0,0,0.007474052,0.098882689,0,0,0,0,0,0 -othmaint,TRUE,9,3,0,0,0,0,0,0.231740286,0.127213569,0.112305301,0.189734694,0.10677054,0.198766593,0.033469018,0,0,0,0,0,0,0 -othmaint,TRUE,9,4,0,0,0,0,0,0,0.34116944,0,0.583836564,0.074993995,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,2,0,0,0,0,0,0.286259076,0.537234442,0.142887206,0.033619275,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,3,0,0,0,0,0,0.164777982,0.52409087,0.14628494,0.049989666,0,0.114856542,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,2,0,0,0,0,0,0,0.473598812,0.258143996,0.104686693,0.141192999,0.022377501,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,3,0,0,0,0,0,0,0.72551892,0.190277137,0.084203943,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,4,0,0,0,0,0,0,0,0,0,0.305927706,0.347036147,0,0,0,0,0,0.347036147,0,0 -othmaint,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,12,2,0,0,0,0,0,0,0,0.545682141,0.314476787,0.053501749,0.03851823,0.047821093,0,0,0,0,0,0,0 -othmaint,TRUE,12,3,0,0,0,0,0,0,0,0.214651848,0.46388943,0.061966411,0.132775585,0.126716726,0,0,0,0,0,0,0 -othmaint,TRUE,12,4,0,0,0,0,0,0,0,0,0.127956328,0,0,0.576495171,0,0.295548501,0,0,0,0,0 -othmaint,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,2,0,0,0,0,0,0,0,0,0.323941314,0.585102169,0.090956518,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,3,0,0,0,0,0,0,0,0,0.072453359,0.780993759,0.146552882,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.222472025,0.777527975,0,0,0,0,0,0,0,0 -othmaint,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.256222437,0.654201082,0.071103851,0.01847263,0,0,0,0,0,0 -othmaint,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.11860694,0.44971127,0.431681789,0,0,0,0,0,0,0 -othmaint,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.436444767,0.563555233,0,0,0,0,0,0,0 -othmaint,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.593763081,0.406236919,0,0,0,0,0,0,0 -othmaint,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othmaint,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.854510215,0.145489785,0,0,0,0,0,0 -othmaint,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.724085091,0,0.275914909,0,0,0,0,0 -othmaint,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othmaint,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.172124075,0.213012548,0.614863377,0,0,0,0 -othmaint,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098642817,0.901357183,0,0,0,0 -othmaint,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.270651613,0.600738159,0.128610228,0,0 -othmaint,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.771681706,0,0.228318294,0 -othmaint,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,1,0.09071969,0.90928031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,1,0,0.075063017,0.924936983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,1,0,0,0.072655068,0.927344932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,1,0,0,0.013631489,0.161967148,0.824401363,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,1,0,0,0,0.037502157,0.312567208,0.649930634,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,2,0,0,0,0,0.275988767,0.724011233,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,3,0,0,0,0,0.15552038,0.84447962,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,4,0,0,0,0,0.144245586,0.855754414,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,1,0,0,0,0,0.03338987,0.26489836,0.70171177,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,2,0,0,0,0,0.010989916,0.227634382,0.761375703,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,3,0,0,0,0,0,0.026011355,0.973988645,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,4,0,0,0,0,0,0.107851024,0.892148976,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,1,0,0,0,0.010158031,0.022913155,0.102307429,0.377078058,0.487543327,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,2,0,0,0,0,0,0.108745958,0.2159873,0.675266742,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,3,0,0,0,0,0,0.06065237,0.336243242,0.603104388,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,4,0,0,0,0,0,0.013311396,0.19774252,0.788946084,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,1,0,0,0,0,0.031249299,0.047260258,0.081354892,0.353123741,0.48701181,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,2,0,0,0,0,0.036088554,0.047323035,0.099280114,0.282440914,0.534867384,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,3,0,0,0,0.022092503,0,0.023342697,0.218332277,0.130650891,0.605581632,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,4,0,0,0,0,0,0,0.007598622,0.247081366,0.745320012,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,1,0,0,0,0,0.008432907,0.019241437,0.053781383,0.07753638,0.180423206,0.660584686,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,2,0,0,0,0,0,0.014889748,0.058818026,0.03592279,0.279517106,0.610852331,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,3,0,0,0,0,0,0.025148147,0.044798265,0.019855411,0.184100242,0.726097934,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,4,0,0,0,0,0,0.025559931,0.089028487,0.037908626,0.118966776,0.72853618,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,1,0,0,0.014080554,0,0.010260757,0.018416064,0.003200712,0.030725966,0.060405447,0.322996101,0.5399144,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,2,0,0,0,0.007837984,0.007663278,0.013198261,0,0.009670767,0.043030366,0.15942745,0.759171894,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,3,0,0,0,0,0.009630972,0,0.006337143,0.101481335,0.066736017,0.096321205,0.719493328,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,4,0,0,0,0,0,0,0,0.013528329,0.062228479,0.089319428,0.834923764,0,0,0,0,0,0,0,0 -othmaint,FALSE,16,1,0,0,0.006200413,0.004986933,0,0.010337749,0.015781258,0.022349724,0.011320009,0.0610877,0.263854949,0.604081265,0,0,0,0,0,0,0 -othmaint,FALSE,16,2,0,0,0.006875165,0,0,0.004755274,0.004846065,0.041322108,0.062817829,0.084403941,0.210011072,0.584968544,0,0,0,0,0,0,0 -othmaint,FALSE,16,3,0,0,0,0,0,0.003750011,0,0.038367203,0,0.081124439,0.173167838,0.703590508,0,0,0,0,0,0,0 -othmaint,FALSE,16,4,0,0,0,0,0,0,0,0.012408147,0.035652064,0.083467534,0.198538722,0.669933533,0,0,0,0,0,0,0 -othmaint,FALSE,17,1,0,0,0,0.020552867,0,0.005813725,0.002732148,0.008782581,0.005357107,0.029100301,0.080364833,0.302512654,0.544783785,0,0,0,0,0,0 -othmaint,FALSE,17,2,0,0,0,0,0.026548466,0.003679274,0.009319631,0,0.042518808,0.029889235,0.080550404,0.277668263,0.52982592,0,0,0,0,0,0 -othmaint,FALSE,17,3,0,0,0,0,0.009271174,0,0.054663157,0,0.016257561,0.01488333,0.09396777,0.266410029,0.544546979,0,0,0,0,0,0 -othmaint,FALSE,17,4,0,0,0,0,0,0.007066116,0.007066116,0.06151997,0.066639666,0.049844639,0.033402711,0.146764167,0.627696614,0,0,0,0,0,0 -othmaint,FALSE,18,1,0,0,0.00220337,0.003892833,0.007889226,0.016688123,0.035048075,0.024546837,0,0.00815882,0.035392235,0.148091146,0.276111609,0.441977726,0,0,0,0,0 -othmaint,FALSE,18,2,0,0,0,0,0,0.065300384,0.006485915,0.052781714,0.048191377,0.040820218,0,0.162432484,0.05438396,0.569603948,0,0,0,0,0 -othmaint,FALSE,18,3,0,0,0,0,0.017320219,0.031548823,0.022330672,0.091457847,0,0.019713885,0.042008327,0.218018162,0.200579611,0.357022454,0,0,0,0,0 -othmaint,FALSE,18,4,0,0,0,0,0.016419136,0,0.00528573,0.020252478,0,0.100415264,0.03805733,0.105531305,0.176732756,0.537306,0,0,0,0,0 -othmaint,FALSE,19,1,0,0,0,0,0.010727452,0,0.008098901,0.019233131,0.013852404,0.004645853,0.013295603,0.080270768,0.078632583,0.187569198,0.583674107,0,0,0,0 -othmaint,FALSE,19,2,0,0,0,0,0.049239842,0.011428143,0,0,0.026241801,0.041108511,0.013964285,0.025063837,0,0.310631722,0.522321858,0,0,0,0 -othmaint,FALSE,19,3,0,0,0,0,0,0.086744587,0,0,0,0.016477125,0.041531547,0.015283398,0.017093713,0.105309634,0.717559996,0,0,0,0 -othmaint,FALSE,19,4,0,0,0,0,0,0.069764219,0.069764219,0,0,0.104847005,0,0.033271814,0.058783522,0.247218312,0.416350909,0,0,0,0 -othmaint,FALSE,20,1,0,0,0,0,0,0,0.01242339,0.005336417,0.044409284,0.029249865,0.011600679,0.028809843,0.016252507,0.030331787,0.287705325,0.533880904,0,0,0 -othmaint,FALSE,20,2,0,0,0,0,0,0,0,0,0.032990066,0.012593317,0,0.052304607,0.150427735,0.026510728,0.302582814,0.422590733,0,0,0 -othmaint,FALSE,20,3,0,0,0,0,0,0,0,0.023039668,0.024925805,0.022055308,0.053273572,0.028755337,0.017687898,0.157803915,0.245882825,0.426575672,0,0,0 -othmaint,FALSE,20,4,0,0,0,0,0,0,0,0.009174883,0.009174883,0.039703931,0.032564469,0.051766512,0.025425007,0.0614869,0.641240832,0.129462584,0,0,0 -othmaint,FALSE,21,1,0,0.025380051,0.006505038,0,0,0,0,0,0,0.034497668,0.005372141,0.00750697,0.322054018,0.02041747,0.056367039,0.277982219,0.243917386,0,0 -othmaint,FALSE,21,2,0,0,0,0,0.006399766,0.007749372,0,0,0,0.006917002,0,0.046305978,0.04149865,0,0.351103334,0.214319682,0.325706214,0,0 -othmaint,FALSE,21,3,0,0,0,0,0,0,0.011775898,0.022192712,0.017562682,0,0,0.024503537,0,0.080192747,0.349550204,0.39894732,0.095274901,0,0 -othmaint,FALSE,21,4,0,0,0,0,0,0,0.012259416,0,0.035363359,0.018283805,0.073556494,0.018283805,0.057647363,0.014844726,0.042237266,0.375692888,0.351830879,0,0 -othmaint,FALSE,22,1,0,0,0,0,0,0,0,0.056847728,0,0.047979687,0,0,0.057283827,0,0.024129278,0.031974532,0.16735598,0.614428968,0 -othmaint,FALSE,22,2,0,0,0,0,0,0,0,0,0.161289071,0.04650851,0,0,0.16212443,0.112102538,0,0,0.142577705,0.375397745,0 -othmaint,FALSE,22,3,0,0,0,0,0,0,0,0.110415007,0.068559987,0.152422919,0,0.063721526,0.10278041,0,0,0.094851272,0.058740936,0.348507943,0 -othmaint,FALSE,22,4,0,0,0,0,0,0,0,0.050912705,0.082525929,0,0.031613224,0.050912705,0.094839672,0.029382195,0.129047073,0.050912705,0.220800245,0.259053549,0 -othmaint,FALSE,23,1,0,0,0,0,0,0.010515377,0.025008268,0.032644118,0,0.085888154,0.049317135,0.011196407,0.007715287,0.054305418,0,0.074906459,0.182663286,0.082719875,0.383120217 -othmaint,FALSE,23,2,0,0,0,0,0,0,0,0.045673386,0.020160892,0.021413699,0,0.082142047,0.014090672,0.018059971,0,0.045974294,0.048093764,0.355409136,0.348982138 -othmaint,FALSE,23,3,0,0,0,0,0,0,0,0.080258013,0,0.073055546,0,0.075004948,0.081094174,0.069336389,0,0,0,0.041154495,0.580096435 -othmaint,FALSE,23,4,0,0,0,0,0,0,0,0.037448064,0,0.04959035,0.016530117,0.025234243,0.062464477,0.114901182,0,0.107371648,0.062464477,0.148912902,0.37508254 -eatout,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,5,2,0.032538851,0.221324643,0,0.037815017,0,0,0,0.272525282,0,0,0.037088163,0.337745523,0.034547537,0,0.026414986,0,0,0,0 -eatout,TRUE,5,3,0,0,0,0.091639733,0,0,0,0,0,0,0,0.089878297,0,0.81848197,0,0,0,0,0 -eatout,TRUE,5,4,0,0,0,0,0,0,0,0,0.091478599,0,0,0,0,0.817042802,0.091478599,0,0,0,0 -eatout,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,6,2,0,0.10870266,0.506895447,0.175689689,0,0.026096466,0.034864499,0.082091899,0,0,0,0.025468279,0.040191062,0,0,0,0,0,0 -eatout,TRUE,6,3,0,0.035560115,0.306736608,0.286592598,0.030199993,0.042569681,0.056872474,0,0.028493363,0,0,0.212975168,0,0,0,0,0,0,0 -eatout,TRUE,6,4,0,0,0.211737696,0.322316501,0,0,0.220793367,0,0.051433567,0.096859434,0,0,0,0.096859434,0,0,0,0,0 -eatout,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,7,2,0,0,0.144455214,0.345929433,0,0,0.086477099,0.023160754,0,0.016780688,0,0.202260676,0.052439775,0.128496361,0,0,0,0,0 -eatout,TRUE,7,3,0,0,0.090126203,0.306912678,0,0.037918354,0.033462594,0.029845783,0,0,0,0,0.104315493,0,0,0.397418896,0,0,0 -eatout,TRUE,7,4,0,0,0,0.502373694,0,0,0,0.134316948,0,0,0.070995242,0,0.070995242,0,0.221318875,0,0,0,0 -eatout,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,8,2,0,0,0,0.287649201,0.258570068,0.118932282,0.154019597,0.040748722,0.016734567,0.048015509,0.013439765,0.016546263,0.014029864,0.031314162,0,0,0,0,0 -eatout,TRUE,8,3,0,0,0,0,0.251109552,0,0.113694476,0.124444727,0,0,0.229845517,0.061431783,0.219473946,0,0,0,0,0,0 -eatout,TRUE,8,4,0,0,0,0,0.493293189,0,0,0,0,0,0.506706811,0,0,0,0,0,0,0,0 -eatout,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,9,2,0,0,0,0,0.366854738,0.25501335,0.107900842,0.2287524,0,0,0,0,0,0.041478671,0,0,0,0,0 -eatout,TRUE,9,3,0,0,0,0,0.468297002,0.238514298,0.2931887,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,9,4,0,0,0,0,0.109486993,0.574078888,0.280149843,0,0.036284276,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,10,2,0,0,0,0,0,0.254832017,0.469238325,0.127193733,0.065540094,0.051245746,0,0,0,0,0.031950083,0,0,0,0 -eatout,TRUE,10,3,0,0,0,0,0,0.064871933,0.163184264,0.345964678,0.111369168,0.141300007,0,0.17330995,0,0,0,0,0,0,0 -eatout,TRUE,10,4,0,0,0,0,0,0,0.150728895,0,0.209592187,0.423337891,0,0,0,0.216341028,0,0,0,0,0 -eatout,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,11,2,0,0,0,0,0,0,0.370585753,0.485622052,0.060239142,0.042221954,0,0,0,0.020865964,0.020465134,0,0,0,0 -eatout,TRUE,11,3,0,0,0,0,0,0,0.269205736,0.405557054,0.185720764,0,0.076480268,0,0.063036179,0,0,0,0,0,0 -eatout,TRUE,11,4,0,0,0,0,0,0,0,0.351458157,0.487871427,0,0,0,0,0.160670416,0,0,0,0,0 -eatout,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,12,2,0,0,0,0,0,0,0,0.437792419,0.301451181,0.150311105,0.034236693,0.076208603,0,0,0,0,0,0,0 -eatout,TRUE,12,3,0,0,0,0,0,0,0,0.225370702,0.381329664,0.174766696,0,0,0,0.218532938,0,0,0,0,0 -eatout,TRUE,12,4,0,0,0,0,0,0,0,0,0.221247262,0.778752738,0,0,0,0,0,0,0,0,0 -eatout,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,13,2,0,0,0,0,0,0,0,0,0.139433765,0.241394197,0.366145988,0,0,0.25302605,0,0,0,0,0 -eatout,TRUE,13,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -eatout,TRUE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -eatout,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.141560108,0.455484612,0.063533559,0.080474833,0.258946888,0,0,0,0,0 -eatout,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -eatout,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -eatout,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -eatout,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.175719201,0.491767111,0.304614961,0.027898728,0,0,0,0,0 -eatout,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.115184007,0.113089502,0.771726491,0,0,0,0,0,0 -eatout,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -eatout,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -eatout,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.081443842,0.569785792,0.258691473,0.048438646,0,0.041640248,0,0 -eatout,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.14088832,0.169273542,0.138693404,0.551144734,0,0,0,0 -eatout,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.522722044,0,0,0.477277956,0,0,0 -eatout,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -eatout,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.360098415,0.452873013,0.139516873,0.047511698,0,0,0 -eatout,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.107576639,0.186526017,0.560987927,0.144909417,0,0,0 -eatout,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -eatout,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27451797,0.572984268,0.072163445,0,0.080334317,0 -eatout,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.497007208,0.502992792,0,0,0,0 -eatout,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537636417,0.462363583,0,0,0 -eatout,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.328311347,0.671688653,0,0,0 -eatout,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -eatout,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.916716515,0.083283485,0,0 -eatout,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.726342035,0.273657965,0,0 -eatout,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -eatout,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,1,0.034815481,0.965184519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,1,0,0.199908855,0.800091145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,2,0,0.833877769,0.166122231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,1,0,0,0.215838535,0.784161465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,1,0,0,0,0.157266378,0.842733622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,2,0,0,0,0.335277961,0.664722039,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,1,0,0,0.033536748,0.02770012,0.155369348,0.783393784,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,2,0,0,0,0,0.173469452,0.826530548,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,1,0,0,0,0,0.091878183,0.12493006,0.783191757,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,2,0,0,0,0,0,0.096132235,0.903867765,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,1,0,0,0,0.037969228,0,0.031107149,0.035414324,0.895509299,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,2,0,0,0,0,0.02753672,0,0.149847323,0.822615958,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,3,0,0,0,0,0,0,0.258442104,0.741557896,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,4,0,0,0,0,0,0,0.333333333,0.666666667,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,1,0,0.01200688,0,0,0,0.039950927,0.008513584,0.137590949,0.80193766,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,2,0,0,0,0,0,0,0,0.394497458,0.605502542,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,4,0,0,0,0,0,0,0,0.367803297,0.632196703,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,1,0,0,0,0,0,0.006675471,0,0.049503213,0.303745574,0.640075741,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,2,0,0,0,0,0,0,0,0,0.279565462,0.720434538,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,3,0,0,0,0,0,0,0,0,0.289280673,0.710719327,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,4,0,0,0,0,0,0,0,0,0.17018646,0.82981354,0,0,0,0,0,0,0,0,0 -eatout,FALSE,15,1,0,0,0.012317448,0.011793684,0,0.032471192,0.017402541,0.031610182,0.061546974,0.401654713,0.431203266,0,0,0,0,0,0,0,0 -eatout,FALSE,15,2,0,0,0,0.020848495,0,0,0.031697312,0.022993537,0.09062564,0.216001966,0.617833051,0,0,0,0,0,0,0,0 -eatout,FALSE,15,3,0,0,0,0,0,0,0,0.046096862,0.044136725,0.455929483,0.45383693,0,0,0,0,0,0,0,0 -eatout,FALSE,15,4,0,0,0,0,0,0,0,0.053925006,0,0.080548958,0.865526035,0,0,0,0,0,0,0,0 -eatout,FALSE,16,1,0,0.029358275,0.006634587,0,0.008384768,0,0.022595474,0.011554952,0,0.018323185,0.344468391,0.558680369,0,0,0,0,0,0,0 -eatout,FALSE,16,2,0,0,0,0,0,0,0.023120402,0.115646001,0.052131074,0.053950104,0.19213634,0.563016078,0,0,0,0,0,0,0 -eatout,FALSE,16,3,0,0,0,0,0,0,0,0.058624219,0.059135643,0.033481644,0.029621972,0.819136522,0,0,0,0,0,0,0 -eatout,FALSE,16,4,0,0,0,0,0,0,0,0,0.079941236,0.063875591,0.228664833,0.62751834,0,0,0,0,0,0,0 -eatout,FALSE,17,1,0.008270503,0,0.011204931,0,0.012161696,0.009083295,0,0,0.008915709,0.010949503,0.019220416,0.424059428,0.496134519,0,0,0,0,0,0 -eatout,FALSE,17,2,0,0,0,0,0.009447942,0,0.059827266,0.109282601,0.010850987,0.012969818,0.170046907,0.153233152,0.474341327,0,0,0,0,0,0 -eatout,FALSE,17,3,0,0,0,0,0,0,0.020113077,0.088749328,0.011185398,0,0.071370427,0.323187311,0.485394459,0,0,0,0,0,0 -eatout,FALSE,17,4,0,0,0.038633648,0,0,0,0,0.019522201,0.039044403,0.062661272,0.092635226,0.060867571,0.68663568,0,0,0,0,0,0 -eatout,FALSE,18,1,0,0.00402747,0,0.002699769,0,0,0.003458022,0.004776748,0,0,0.007128847,0.022821634,0.560262038,0.394825471,0,0,0,0,0 -eatout,FALSE,18,2,0,0,0,0,0,0,0.025269691,0.053659728,0.018624541,0,0.015410135,0.096858434,0.303814033,0.486363437,0,0,0,0,0 -eatout,FALSE,18,3,0,0,0,0.027139705,0,0,0,0,0.025309856,0,0.041317372,0,0.193332635,0.712900432,0,0,0,0,0 -eatout,FALSE,18,4,0,0,0,0.062266496,0,0,0,0.124532992,0,0,0,0.02844882,0.160985,0.623766691,0,0,0,0,0 -eatout,FALSE,19,1,0,0,0,0.035093846,0,0,0,0.002763787,0,0,0.007972126,0,0.006835141,0.182451712,0.76488339,0,0,0,0 -eatout,FALSE,19,2,0,0,0,0,0,0,0,0.009338966,0.0084296,0.012320862,0,0.007858119,0.07102686,0.181093919,0.709931674,0,0,0,0 -eatout,FALSE,19,3,0,0,0.034695617,0,0,0,0,0,0,0,0,0,0,0.325056792,0.640247591,0,0,0,0 -eatout,FALSE,19,4,0,0,0,0.101411526,0,0,0,0,0,0,0,0,0,0.101411526,0.797176947,0,0,0,0 -eatout,FALSE,20,1,0,0,0,0,0.006246293,0,0,0.011507943,0,0,0.013654973,0,0.007223887,0.028421478,0.204476714,0.728468712,0,0,0 -eatout,FALSE,20,2,0,0,0,0,0,0,0,0.029002329,0.008684063,0.040035705,0,0,0.033841105,0.026844626,0.219230553,0.64236162,0,0,0 -eatout,FALSE,20,3,0,0,0,0,0.017457545,0,0,0,0,0,0,0.022170954,0.111461135,0.026492142,0.144444394,0.677973828,0,0,0 -eatout,FALSE,20,4,0,0,0,0,0,0,0,0,0.027884869,0,0,0.019560862,0.053861802,0.185282652,0.14594305,0.567466765,0,0,0 -eatout,FALSE,21,1,0,0,0,0,0,0,0.001992088,0,0,0,0,0,0.004171801,0.008609329,0.045440515,0.297500935,0.642285332,0,0 -eatout,FALSE,21,2,0,0,0,0,0,0,0,0.008825951,0,0,0,0,0,0,0.022560857,0.064662954,0.903950239,0,0 -eatout,FALSE,21,3,0,0,0,0,0,0,0,0,0.01925505,0,0,0,0,0,0.141712181,0.063571817,0.775460952,0,0 -eatout,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.059643388,0.029821694,0.029821694,0.054589294,0.218357176,0,0.338629065,0.269137688,0,0 -eatout,FALSE,22,1,0,0.003832232,0.014433483,0.029367654,0,0,0,0,0,0,0,0,0,0.037886729,0.013545706,0.01688148,0.286440472,0.597612243,0 -eatout,FALSE,22,2,0,0,0,0.058773031,0.007875566,0,0.038790615,0,0,0,0,0,0,0.124436861,0.030453108,0.011388959,0.304645476,0.423636384,0 -eatout,FALSE,22,3,0,0.023843907,0,0,0.012800003,0,0,0,0.063045627,0,0,0,0,0.016739233,0.04949484,0.078783423,0.338585891,0.416707076,0 -eatout,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0.012407461,0.122224371,0.035520139,0.109039785,0,0.076367345,0.347441239,0.296999659,0 -eatout,FALSE,23,1,0,0,0,0,0,0,0,0.012371175,0,0.025704524,0,0.023327151,0,0.007669333,0.042011178,0.019479582,0.006261906,0.163786764,0.699388388 -eatout,FALSE,23,2,0,0,0,0,0,0,0,0,0.033721119,0.101287181,0,0.014308982,0,0,0.023495989,0.043546799,0.169610935,0.119773048,0.494255948 -eatout,FALSE,23,3,0,0,0,0,0,0,0,0,0,0.098543037,0,0,0,0,0,0.027420729,0.019663025,0.062014245,0.792358964 -eatout,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.015339182,0.166441975,0.108428683,0.70979016 -social,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163488477,0.72896704,0.107544483,0,0,0 -social,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,2,0,0.429301212,0.220838883,0,0,0.349859905,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,7,2,0,0,0.238446471,0.18847097,0.451233232,0.061171813,0,0,0,0,0,0.060677514,0,0,0,0,0,0,0 -social,TRUE,7,3,0,0,0.263472951,0,0.345559204,0.045763272,0.194319778,0,0,0,0.076482272,0.074402522,0,0,0,0,0,0,0 -social,TRUE,7,4,0,0,0,0,0.720034483,0,0,0,0,0,0,0,0,0.279965517,0,0,0,0,0 -social,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,8,2,0,0,0,0.254275275,0.460062202,0.285662524,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,8,3,0,0,0,0,0.319310909,0,0.196475338,0,0.334528108,0,0,0.149685645,0,0,0,0,0,0,0 -social,TRUE,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0.654606666,0.345393334,0,0,0,0,0 -social,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,2,0,0,0,0,0.545721423,0.112625256,0.326444169,0.015209152,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,3,0,0,0,0,0.023262324,0.080080665,0.730468634,0.143870653,0.022317724,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,4,0,0,0,0,0,0.026826474,0.852263327,0,0,0,0,0.014490394,0,0,0.053209903,0.053209903,0,0,0 -social,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,10,2,0,0,0,0,0,0.151977255,0.519637411,0.191906468,0.085778382,0.050700484,0,0,0,0,0,0,0,0,0 -social,TRUE,10,3,0,0,0,0,0,0.046500192,0.658940192,0.178956942,0,0.115602674,0,0,0,0,0,0,0,0,0 -social,TRUE,10,4,0,0,0,0,0,0,0.204837475,0.204837475,0.204837475,0,0,0.128495859,0.256991717,0,0,0,0,0,0 -social,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,11,2,0,0,0,0,0,0,0.252313913,0.608752771,0.060673874,0.078259442,0,0,0,0,0,0,0,0,0 -social,TRUE,11,3,0,0,0,0,0,0,0,0.893087119,0,0,0.106912881,0,0,0,0,0,0,0,0 -social,TRUE,11,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,12,2,0,0,0,0,0,0,0,0.01555306,0.804005354,0.113032269,0.042952725,0.024456591,0,0,0,0,0,0,0 -social,TRUE,12,3,0,0,0,0,0,0,0,0,0.762673603,0.196684366,0,0.040642031,0,0,0,0,0,0,0 -social,TRUE,12,4,0,0,0,0,0,0,0,0,0.974582243,0.025417757,0,0,0,0,0,0,0,0,0 -social,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,TRUE,13,2,0,0,0,0,0,0,0,0,0.666277769,0.215739994,0.117982237,0,0,0,0,0,0,0,0 -social,TRUE,13,3,0,0,0,0,0,0,0,0,0.20985109,0.290892068,0,0.499256842,0,0,0,0,0,0,0 -social,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.27976381,0.48015746,0,0.24007873,0,0,0,0,0 -social,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -social,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.474250224,0.479544424,0.046205352,0,0,0,0,0,0,0 -social,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.415915716,0.304081655,0.122383721,0.157618908,0,0,0,0,0 -social,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.149219919,0.262392987,0.163198885,0.364386422,0.060801787,0,0,0,0 -social,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.382256993,0.20034388,0.20034388,0.217055247,0,0,0 -social,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.084972892,0.631896416,0.184989951,0.098140741,0,0,0,0 -social,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.566972184,0,0.433027816,0,0,0 -social,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -social,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.153985008,0.442019825,0.287546211,0.116448956,0,0,0 -social,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.805041829,0.194958171,0,0,0,0 -social,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.386035694,0.613964306,0,0,0,0 -social,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -social,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.415464544,0.466670617,0.11786484,0,0,0 -social,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480898747,0.519101253,0,0,0 -social,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492816592,0.382668005,0.124515403,0,0 -social,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.296845882,0.703154118,0,0 -social,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.180542587,0.819457413,0,0 -social,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186441429,0.813558571 -social,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,1,0,0.175358533,0.824641467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,1,0,0,0.02236387,0.97763613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,1,0,0,0,0.461831955,0.538168045,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,1,0,0,0,0,0.168748059,0.831251941,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,2,0,0,0,0,0.100405941,0.899594059,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,1,0,0,0,0,0.02167612,0.606898663,0.371425217,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,2,0,0,0,0.025894331,0,0.076173851,0.897931818,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,3,0,0,0,0,0,0.0362574,0.9637426,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,4,0,0,0,0,0,0.666666667,0.333333333,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,1,0,0,0,0,0,0.040943046,0.339881423,0.619175531,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,2,0,0,0,0,0,0.055306785,0,0.944693215,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,3,0,0,0,0,0,0,0.113705951,0.886294049,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,4,0,0,0,0,0,0,0.020620903,0.979379097,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,1,0,0.110729344,0,0,0,0,0.028982164,0.160850288,0.699438204,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,2,0,0,0,0,0,0,0,0.434109617,0.565890383,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,FALSE,14,1,0,0,0,0,0,0,0.012646359,0.049957288,0.064957981,0.872438372,0,0,0,0,0,0,0,0,0 -social,FALSE,14,2,0,0,0,0,0,0,0,0.092000521,0.207125543,0.700873936,0,0,0,0,0,0,0,0,0 -social,FALSE,14,3,0,0,0,0,0,0,0,0,0.123105709,0.876894291,0,0,0,0,0,0,0,0,0 -social,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -social,FALSE,15,1,0,0,0,0,0,0,0,0.025915129,0.021414108,0.301296274,0.651374488,0,0,0,0,0,0,0,0 -social,FALSE,15,2,0,0,0,0,0,0,0,0.038851326,0.060308128,0.040085863,0.860754683,0,0,0,0,0,0,0,0 -social,FALSE,15,3,0,0,0,0,0,0,0,0,0,0.337125075,0.662874925,0,0,0,0,0,0,0,0 -social,FALSE,15,4,0,0,0,0,0,0,0,0,0,0.240804556,0.759195444,0,0,0,0,0,0,0,0 -social,FALSE,16,1,0,0,0,0,0,0,0.010850109,0.028630302,0.034941364,0.027356994,0.399487153,0.498734077,0,0,0,0,0,0,0 -social,FALSE,16,2,0,0,0,0,0,0,0,0.085290601,0.096379465,0.140055991,0.14515731,0.533116633,0,0,0,0,0,0,0 -social,FALSE,16,3,0,0,0,0,0,0,0,0.039789367,0,0,0.207791274,0.752419359,0,0,0,0,0,0,0 -social,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.444162303,0.555837697,0,0,0,0,0,0,0 -social,FALSE,17,1,0,0,0,0,0,0.004235542,0.004235542,0.010773772,0.036037056,0.011244257,0.008654904,0.185030812,0.739788115,0,0,0,0,0,0 -social,FALSE,17,2,0,0,0,0,0,0,0.011747117,0.030318289,0,0.026130418,0.124118238,0.265470463,0.542215475,0,0,0,0,0,0 -social,FALSE,17,3,0,0,0,0,0,0,0,0.035991711,0.05581904,0,0.118744644,0.174641807,0.614802798,0,0,0,0,0,0 -social,FALSE,17,4,0,0,0,0,0,0,0,0,0,0.133377911,0.156860689,0.067276975,0.642484425,0,0,0,0,0,0 -social,FALSE,18,1,0,0,0,0,0,0,0,0,0.021116578,0,0.023935246,0.014708731,0.292437045,0.6478024,0,0,0,0,0 -social,FALSE,18,2,0,0,0,0,0,0,0,0,0.050647706,0.018469336,0.057408229,0.034520986,0.245483705,0.593470039,0,0,0,0,0 -social,FALSE,18,3,0,0,0,0,0,0,0,0,0.215338024,0,0,0.143481023,0.32589869,0.315282263,0,0,0,0,0 -social,FALSE,18,4,0,0,0,0,0,0,0.012374723,0.012374723,0.037124169,0,0.012374723,0.11617789,0.120134128,0.689439644,0,0,0,0,0 -social,FALSE,19,1,0,0,0,0,0,0,0.007898288,0,0,0,0,0,0.121563834,0.284121966,0.586415912,0,0,0,0 -social,FALSE,19,2,0,0,0,0,0,0,0.039741889,0,0,0,0.02465859,0.116870248,0.036063489,0.320456158,0.462209626,0,0,0,0 -social,FALSE,19,3,0,0,0,0,0,0,0,0.054643855,0,0,0,0.060605496,0.025192236,0.702933269,0.156625145,0,0,0,0 -social,FALSE,19,4,0,0,0,0,0,0,0,0,0.175116816,0,0.022349377,0.130418062,0.054376362,0.036216461,0.581522921,0,0,0,0 -social,FALSE,20,1,0,0,0,0,0,0,0,0.006741002,0,0,0.01216091,0,0,0,0.185101107,0.795996982,0,0,0 -social,FALSE,20,2,0,0,0,0,0,0,0,0,0,0.04641167,0,0.083727631,0.098296373,0,0.202274397,0.569289928,0,0,0 -social,FALSE,20,3,0,0,0,0,0,0,0,0,0,0.139066538,0,0,0,0.294532307,0.250878966,0.315522189,0,0,0 -social,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.139014445,0,0,0.258582347,0.602403208,0,0,0 -social,FALSE,21,1,0,0,0,0,0,0,0,0.006536044,0,0,0.004122227,0,0.009592478,0,0.025254876,0.168812361,0.785682015,0,0 -social,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0.009947847,0,0,0.015489709,0.091770901,0.882791543,0,0 -social,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0.035778147,0,0,0.059543199,0.096410036,0.808268618,0,0 -social,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.039227837,0,0,0,0.272007988,0.688764175,0,0 -social,FALSE,22,1,0,0,0,0,0,0,0.008693912,0,0,0.023590293,0,0,0.014992001,0.012884951,0.01979978,0.017778233,0.266462768,0.635798061,0 -social,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.054229245,0.01998552,0,0,0.183589112,0.020695417,0.01231348,0.164392793,0.544794434,0 -social,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0.03472135,0,0,0.015619534,0,0.035954672,0.531548096,0.382156347,0 -social,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0.05888279,0.05888279,0,0.176648369,0.09089481,0.189410385,0.425280856,0 -social,FALSE,23,1,0,0,0,0,0,0,0,0.028390618,0,0,0.004916978,0,0,0,0.014598183,0.07621256,0.027119644,0.125695917,0.7230661 -social,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0.01089797,0,0,0.031808043,0,0.091217964,0.172140515,0.693935509 -social,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052410677,0.231068411,0.716520911 -social,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061760943,0.229019025,0.709220031 -othdiscr,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,5,2,0.261967145,0.409228643,0,0,0,0,0.034160738,0.0288967,0,0.105662564,0,0.028934007,0.099906136,0.031244066,0,0,0,0,0 -othdiscr,TRUE,5,3,0.05651263,0.078010805,0,0,0,0,0,0,0,0,0.105067549,0.353285463,0.190245768,0,0.216877785,0,0,0,0 -othdiscr,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,6,2,0,0.098860067,0.663141032,0.044723228,0.012153718,0.015393409,0,0.016907036,0,0.010826104,0.098262057,0.016422181,0.023311168,0,0,0,0,0,0 -othdiscr,TRUE,6,3,0,0.024215249,0.736578596,0.018671746,0.050466724,0,0.046817344,0.010678175,0.023238019,0,0.032556217,0,0.035620327,0.021157602,0,0,0,0,0 -othdiscr,TRUE,6,4,0,0,0.081847071,0,0.338763551,0,0.240085302,0,0.114633558,0,0.146128192,0,0,0.078542326,0,0,0,0,0 -othdiscr,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,7,2,0,0,0.352097404,0.309242997,0.08178386,0.093069138,0.009864271,0.017742267,0,0.050016669,0.019229555,0.024087308,0.042866531,0,0,0,0,0,0 -othdiscr,TRUE,7,3,0,0,0.212218699,0.104250306,0.22359596,0.028585094,0,0.022759931,0.040936909,0.272511733,0,0,0,0.095141367,0,0,0,0,0 -othdiscr,TRUE,7,4,0,0,0,0.429994902,0.250073782,0.067515708,0.179786534,0,0,0,0,0,0,0,0.072629074,0,0,0,0 -othdiscr,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,8,2,0,0,0,0.27373664,0.651618467,0.038952541,0.006393093,0,0,0.010887769,0.010198326,0,0.008213164,0,0,0,0,0,0 -othdiscr,TRUE,8,3,0,0,0,0.256077087,0.567372083,0.111208754,0.044947659,0,0,0,0,0.020394418,0,0,0,0,0,0,0 -othdiscr,TRUE,8,4,0,0,0,0,0.419368759,0.043993527,0.123598787,0,0,0,0,0.092242747,0.32079618,0,0,0,0,0,0 -othdiscr,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,9,2,0,0,0,0,0.325654332,0.331629325,0.251597773,0.036069214,0,0,0.007507425,0,0.005333887,0,0.042208044,0,0,0,0 -othdiscr,TRUE,9,3,0,0,0,0,0.296114826,0.283133229,0.171133878,0.024057098,0.039684124,0,0.104372804,0,0,0,0.081504041,0,0,0,0 -othdiscr,TRUE,9,4,0,0,0,0,0,0.026872303,0.087815216,0.185433391,0.459158688,0.037962963,0.202757439,0,0,0,0,0,0,0,0 -othdiscr,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,10,2,0,0,0,0,0,0.284975884,0.535943751,0.094599159,0.060212546,0,0,0,0.014932613,0,0.009336047,0,0,0,0 -othdiscr,TRUE,10,3,0,0,0,0,0,0.03549155,0.582807345,0.127174633,0.224739775,0,0,0,0,0.029786697,0,0,0,0,0 -othdiscr,TRUE,10,4,0,0,0,0,0,0,0.354929378,0.145446894,0.499623728,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,11,2,0,0,0,0,0,0,0.373878462,0.422332476,0.042754045,0.138634672,0.012364309,0.010036036,0,0,0,0,0,0,0 -othdiscr,TRUE,11,3,0,0,0,0,0,0,0.120480473,0.332302699,0.091421072,0.287256805,0.161854878,0.006684074,0,0,0,0,0,0,0 -othdiscr,TRUE,11,4,0,0,0,0,0,0,0.227930951,0,0.335102136,0.044198628,0.207476437,0,0.185291847,0,0,0,0,0,0 -othdiscr,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,12,2,0,0,0,0,0,0,0,0.383615621,0.305559088,0.131113594,0.103542737,0.07616896,0,0,0,0,0,0,0 -othdiscr,TRUE,12,3,0,0,0,0,0,0,0,0.128632011,0.247877929,0.37071038,0.084899625,0.167880054,0,0,0,0,0,0,0 -othdiscr,TRUE,12,4,0,0,0,0,0,0,0,0,0.205547015,0.162425226,0.239993719,0,0.392034039,0,0,0,0,0,0 -othdiscr,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,13,2,0,0,0,0,0,0,0,0,0.353861476,0.371100297,0.168208236,0.052680009,0.054149982,0,0,0,0,0,0 -othdiscr,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.679754381,0.320245619,0,0,0,0,0,0,0,0 -othdiscr,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.043643993,0.545880167,0.094829055,0.241931264,0,0.073715521,0,0,0,0 -othdiscr,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.288892103,0.603164379,0.048532082,0.059411436,0,0,0,0,0,0 -othdiscr,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.021579093,0.46445134,0.316987948,0.142583522,0.054398096,0,0,0,0,0 -othdiscr,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.09464155,0.567572891,0.33778556,0,0,0,0,0,0,0 -othdiscr,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.373801479,0.542977323,0.070343764,0.01078053,0.002096902,0,0,0,0 -othdiscr,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.122689199,0.717331575,0.030530698,0.123760049,0.005688479,0,0,0,0 -othdiscr,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.635796163,0,0,0.364203837,0,0,0,0 -othdiscr,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.712603233,0.193798154,0.048982419,0.039696774,0.00491942,0,0,0 -othdiscr,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.841745433,0.101833145,0.027409468,0,0.029011955,0,0,0 -othdiscr,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.17218743,0.195323109,0.429118156,0,0.203371304,0,0 -othdiscr,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.185120326,0.587302234,0.220258146,0,0.007319293,0,0 -othdiscr,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.183125342,0.285960671,0.48842584,0.013192652,0.029295494,0,0 -othdiscr,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102125632,0.746583804,0.151290564,0,0,0 -othdiscr,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542729526,0.35986304,0.097407435,0,0,0 -othdiscr,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480620595,0.242765324,0.062025461,0.187335855,0.027252764,0 -othdiscr,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098853758,0.563447888,0.242412271,0,0.095286083,0 -othdiscr,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.341735737,0.560576797,0.050581281,0.047106185,0 -othdiscr,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.213928771,0.439416592,0,0.346654637,0 -othdiscr,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.849356959,0.101132981,0.025617338,0.023892721 -othdiscr,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +primary_purpose,outbound,tour_hour,trip_num,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23 +work,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,5,2,0.249730906,0.477180111,0.215788882,0.02257625,0.009653299,0.001272067,0.002559828,0.005345297,0.012868196,0.000858457,0,0.00130551,0,0.000861198,0,0,0,0,0 +work,TRUE,5,3,0.269166724,0.331378773,0.290398422,0.047428828,0.032211326,0.003681738,0,0.00648104,0.007547054,0.006178507,0,0.005527589,0,0,0,0,0,0,0 +work,TRUE,5,4,0.087782501,0.257488508,0.384088251,0.077346978,0.060562922,0,0,0.049138541,0,0.014538525,0,0,0,0.041701151,0.018235082,0,0.009117541,0,0 +work,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,6,2,0,0.218769369,0.568056029,0.16549898,0.028654735,0.007305391,0.002067083,0.003148838,0.000503641,0.003688829,0.002307106,0,0,0,0,0,0,0,0 +work,TRUE,6,3,0,0.130626273,0.577093506,0.214895882,0.051730954,0.003240613,0,0.004631429,0.00858571,0.005631893,0.001259632,0,0.002304109,0,0,0,0,0,0 +work,TRUE,6,4,0,0.003746877,0.546827469,0.29119719,0.043440135,0.021108582,0,0.041279538,0.022438337,0.019313618,0.003776433,0.006871821,0,0,0,0,0,0,0 +work,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,7,2,0,0,0.265300367,0.613559084,0.096014364,0.014396896,0.003048705,0.004403151,0,0.001139887,0.001411868,0.000725679,0,0,0,0,0,0,0 +work,TRUE,7,3,0,0,0.166352156,0.62367014,0.155705334,0.026659137,0.007295847,0.013673999,0.003582828,0.001111918,0.000525728,0.001422911,0,0,0,0,0,0,0 +work,TRUE,7,4,0,0,0.105022925,0.545651324,0.19699608,0.086647479,0.013272884,0.007863943,0.037841595,0.002284229,0.001876743,0,0.002542798,0,0,0,0,0,0 +work,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,8,2,0,0,0,0.456491659,0.443858962,0.071483886,0.007227768,0.011205848,0.004971546,0.003779089,0,0.000629094,0.000352148,0,0,0,0,0,0 +work,TRUE,8,3,0,0,0,0.297357445,0.518087382,0.132861058,0.006370619,0.007614307,0.009010749,0.012385163,0.002114995,0.01254835,0.001649933,0,0,0,0,0,0 +work,TRUE,8,4,0,0,0,0.219050051,0.313898882,0.316701629,0.097894922,0.024670968,0.007826425,0.014063117,0,0,0.001659846,0,0,0,0.00423416,0,0 +work,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,9,2,0,0,0,0,0.381802065,0.463610086,0.07833074,0.053350819,0.012379425,0.006984996,0.002188786,0.001353083,0,0,0,0,0,0,0 +work,TRUE,9,3,0,0,0,0,0.244359192,0.505051786,0.124730319,0.070740285,0.04380103,0.00393502,0.002381853,0,0.005000514,0,0,0,0,0,0 +work,TRUE,9,4,0,0,0,0,0.048177162,0.281924251,0.128648284,0.140849287,0.097452942,0.149279798,0.129250851,0.024417425,0,0,0,0,0,0,0 +work,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,10,2,0,0,0,0,0,0.287462748,0.478190637,0.154315841,0.0141405,0.047319629,0,0.005707897,0,0.004618797,0.008243951,0,0,0,0 +work,TRUE,10,3,0,0,0,0,0,0.224513864,0.313870996,0.279113796,0.089398426,0.044754472,0.034345645,0.014002803,0,0,0,0,0,0,0 +work,TRUE,10,4,0,0,0,0,0,0,0.181896949,0.267783358,0.317739276,0.088027455,0.086885637,0,0,0,0.057667324,0,0,0,0 +work,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,11,2,0,0,0,0,0,0,0.349521518,0.402347786,0.191514732,0.044397707,0.009105065,0,0.003113192,0,0,0,0,0,0 +work,TRUE,11,3,0,0,0,0,0,0,0.207587883,0.30769214,0.335712206,0.084378351,0.047431249,0.017198171,0,0,0,0,0,0,0 +work,TRUE,11,4,0,0,0,0,0,0,0,0.482525146,0.331491287,0.154741395,0,0,0.031242172,0,0,0,0,0,0 +work,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,12,2,0,0,0,0,0,0,0,0.228781907,0.52986365,0.185949096,0.016952622,0.0225574,0,0.015895326,0,0,0,0,0 +work,TRUE,12,3,0,0,0,0,0,0,0,0.048290452,0.527617032,0.260449945,0.038087283,0.125555288,0,0,0,0,0,0,0 +work,TRUE,12,4,0,0,0,0,0,0,0,0.055268088,0.55183696,0.308090511,0.022112333,0.026969361,0.035722748,0,0,0,0,0,0 +work,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +work,TRUE,13,2,0,0,0,0,0,0,0,0,0.618115652,0.284403475,0.097480873,0,0,0,0,0,0,0,0 +work,TRUE,13,3,0,0,0,0,0,0,0,0,0.496549493,0.232797723,0.159946019,0,0.015308798,0.038007565,0.057390402,0,0,0,0 +work,TRUE,13,4,0,0,0,0,0,0,0,0,0.176762619,0,0,0,0.823237381,0,0,0,0,0,0 +work,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +work,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.574348416,0.354554927,0.071096656,0,0,0,0,0,0,0 +work,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.502109794,0.21816867,0.279721536,0,0,0,0,0,0,0 +work,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.133121347,0.633379229,0.134648916,0.049425254,0.049425254,0,0,0,0,0 +work,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +work,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.552840921,0.403380234,0.043778845,0,0,0,0,0,0 +work,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.134176676,0.725445222,0.140378102,0,0,0,0,0,0 +work,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +work,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +work,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.470117389,0.401307167,0.110787768,0.017787675,0,0,0,0 +work,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.648121232,0.228392401,0.123486367,0,0,0,0,0 +work,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +work,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.406105035,0.414979307,0.178915658,0,0,0,0 +work,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.212373176,0.787626824,0,0,0,0,0 +work,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.5,0,0,0 +work,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21625036,0.437860534,0.113269906,0.232619199,0,0 +work,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +work,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81925165,0.07204277,0,0.10870558,0 +work,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492020395,0.507979605,0,0,0 +work,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +work,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +work,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.388129509,0.611870491,0,0 +work,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +work,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171581948,0.828418052,0 +work,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258374236,0.741625764,0 +work,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,1,0,0.220793114,0.779206886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,2,0,0.425176732,0.574823268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,1,0,0,0.107759005,0.892240995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,2,0,0,0.690008913,0.309991087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,3,0,0.337495318,0.662504682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,4,0,0,0.569894206,0.430105794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,1,0,0,0,0.314951457,0.685048543,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,2,0,0,0,0.079070075,0.920929925,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,3,0,0,0,0.226319471,0.773680529,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,1,0,0.046066203,0.007425743,0.028045042,0.233624929,0.684838083,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,2,0,0.126398434,0,0.0549729,0.096449389,0.722179277,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,3,0,0,0,0,0.36604282,0.63395718,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,1,0,0,0.017580881,0.034113366,0.04162677,0.286326641,0.620352342,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,2,0,0,0.02642438,0,0.033819936,0.199217971,0.740537713,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,3,0,0,0,0,0.005130668,0.277227788,0.717641544,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,4,0,0,0,0,0,0.036304716,0.963695284,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,1,0,0.002492115,0.001670698,0.012159512,0.014698251,0.029407418,0.152563565,0.787008442,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,2,0,0,0.006100837,0.011620455,0.013952709,0.036974376,0.310894404,0.620457219,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,3,0,0,0,0.009383356,0.042387756,0.006845546,0.29720543,0.644177912,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,4,0,0,0,0.008143494,0,0.049968848,0.124165248,0.81772241,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,1,0,0,0.004406789,0.016516638,0.008423145,0.030672879,0.043679722,0.31728407,0.579016757,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,2,0,0,0.003526988,0.003893522,0.007279925,0.014935643,0.080084093,0.245195123,0.645084705,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,3,0,0,0,0,0.01495651,0,0.040446175,0.214618414,0.729978901,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,4,0,0,0,0,0.01397645,0.006836511,0.025113874,0.15362871,0.800444454,0,0,0,0,0,0,0,0,0,0 +work,FALSE,14,1,0.002365799,0,0.003370061,0,0.004899447,0.008850097,0.035188808,0.07267661,0.207306035,0.665343143,0,0,0,0,0,0,0,0,0 +work,FALSE,14,2,0.007728364,0.003287077,0,0.006520962,0,0.032254466,0.052851387,0.133223369,0.229023292,0.535111082,0,0,0,0,0,0,0,0,0 +work,FALSE,14,3,0,0,0,0.003971419,0,0,0.008873008,0.119445331,0.269752545,0.597957698,0,0,0,0,0,0,0,0,0 +work,FALSE,14,4,0,0,0,0,0.056793918,0,0.011546821,0.042023265,0.23002226,0.659613737,0,0,0,0,0,0,0,0,0 +work,FALSE,15,1,0,0.005222802,0.000561863,0.003055031,0.006434507,0.007479814,0.009995919,0.013087333,0.058426024,0.310076404,0.585660301,0,0,0,0,0,0,0,0 +work,FALSE,15,2,0,0,0,0.001993619,0.008787212,0.008189747,0.015159942,0.009310176,0.054885948,0.253934613,0.647738743,0,0,0,0,0,0,0,0 +work,FALSE,15,3,0,0,0,0.001732532,0,0.00508097,0.029352724,0.030967014,0.039664292,0.202228781,0.690973688,0,0,0,0,0,0,0,0 +work,FALSE,15,4,0,0,0,0,0,0.004125776,0.011923745,0.030960101,0.061425266,0.239676364,0.651888748,0,0,0,0,0,0,0,0 +work,FALSE,16,1,0,0,0.001326173,0.005965432,0.005180374,0.004138931,0.011262579,0.01661091,0.012073334,0.03679347,0.347396478,0.559252319,0,0,0,0,0,0,0 +work,FALSE,16,2,0,0,0.001822625,0.003909533,0.002974064,0.004461131,0.032696294,0.017905122,0.043805267,0.040055335,0.31441461,0.537956019,0,0,0,0,0,0,0 +work,FALSE,16,3,0,0,0,0,0.006964674,0,0.007663971,0.011249685,0.051874804,0.083383231,0.266186632,0.572677003,0,0,0,0,0,0,0 +work,FALSE,16,4,0.002037834,0,0,0,0,0.005964919,0.002996052,0.010623137,0.018245507,0.068094063,0.195919724,0.696118764,0,0,0,0,0,0,0 +work,FALSE,17,1,0,0,0.001405366,0.004415995,0.00337412,0.003812259,0.014084324,0.008465853,0.012498337,0.015584379,0.06625893,0.34857546,0.521524978,0,0,0,0,0,0 +work,FALSE,17,2,0,0.000261415,0.003193506,0.003224601,0.01031862,0.003695936,0.005727058,0.024107723,0.01290257,0.024008033,0.090851226,0.28964028,0.532069032,0,0,0,0,0,0 +work,FALSE,17,3,0,0,0.000765903,0.001471397,0.008789257,0.002465017,0.005279632,0.009138832,0.01433563,0.026053515,0.045996258,0.222930968,0.662773591,0,0,0,0,0,0 +work,FALSE,17,4,0,0,0,0.000418211,0.002396043,0.007974979,0.014040235,0.00763931,0.007998749,0.020421036,0.047793315,0.160067858,0.731250266,0,0,0,0,0,0 +work,FALSE,18,1,0,0.001141884,0.000347251,0.005493278,0.0034212,0.004108535,0.018739263,0.013709509,0.003846669,0.010612585,0.030088047,0.076311695,0.459430143,0.372749941,0,0,0,0,0 +work,FALSE,18,2,0,0.000397247,0.000707705,0.005535515,0.005281963,0.006814578,0.015049985,0.03759067,0.008201571,0.014941596,0.020264402,0.096049656,0.37187676,0.417288351,0,0,0,0,0 +work,FALSE,18,3,0,0,0.000752403,0.001471647,0,0.003652225,0.011264642,0.015334427,0.024656138,0.012088375,0.011628494,0.081091511,0.38372424,0.454335898,0,0,0,0,0 +work,FALSE,18,4,0,0,0.00040169,0.000306609,0.0002567,0.000726244,0.002720367,0.010037344,0.005670103,0.015810978,0.039979813,0.053350178,0.223343181,0.647396793,0,0,0,0,0 +work,FALSE,19,1,0,0.001186239,0,0.002728595,0.007883348,0.008718809,0.009638123,0.011693247,0.012706395,0.005992436,0.024678769,0.039878395,0.101249301,0.453611585,0.320034756,0,0,0,0 +work,FALSE,19,2,0,0,0,0.004170607,0.002769083,0.008212126,0.01044298,0.034645644,0.024223099,0.015502992,0.044371325,0.03839639,0.101706769,0.292181702,0.423377281,0,0,0,0 +work,FALSE,19,3,0,0,0,0.003546437,0.001427168,0.004005704,0.004647363,0.014456394,0.026101366,0.008168106,0.016583656,0.063080785,0.175251264,0.316168107,0.366563651,0,0,0,0 +work,FALSE,19,4,0,0,0,0,0.002545816,0.001448115,0.001519341,0.006183074,0.015479082,0.010887569,0.013355331,0.023014309,0.098855008,0.198551692,0.628160662,0,0,0,0 +work,FALSE,20,1,0,0,0.002357347,0.003515438,0.003650989,0.004956981,0.005821696,0.03028673,0.010683018,0.006121216,0.039610208,0.067356772,0.074052002,0.107849619,0.362764994,0.280972989,0,0,0 +work,FALSE,20,2,0,0,0,0.003020632,0.000872671,0.009819915,0.004032092,0.033547265,0.012437164,0.023084614,0.029601855,0.030696598,0.08880218,0.150240348,0.244376765,0.3694679,0,0,0 +work,FALSE,20,3,0,0,0,0,0.004490786,0.000948296,0.00496082,0.008797541,0.038290701,0.03100745,0.01309721,0.070674268,0.104392115,0.094315975,0.284308763,0.344716076,0,0,0 +work,FALSE,20,4,0,0,0,0,0,0,0.003217512,0.008519707,0.01832166,0.021264988,0.034310024,0.032173455,0.100093463,0.115029817,0.197663659,0.469405714,0,0,0 +work,FALSE,21,1,0,0,0.00486935,0.004088274,0.009577732,0.013580516,0.019408543,0.027638575,0.028964986,0.013373832,0.01367219,0.088681299,0.105198543,0.066199405,0.05396423,0.186005224,0.3647773,0,0 +work,FALSE,21,2,0,0,0.005064281,0,0.005604807,0.001600494,0.02231608,0.036560998,0.023155074,0.011113847,0.021297782,0.024032721,0.15164875,0.095555611,0.130774865,0.152199827,0.319074864,0,0 +work,FALSE,21,3,0,0,0,0,0,0,0.008088371,0.016902755,0.023330301,0.010037114,0.04837863,0.047736466,0.100832492,0.115955331,0.150651228,0.252610972,0.225476339,0,0 +work,FALSE,21,4,0,0,0,0,0,0,0,0.009975719,0.00458937,0.004215296,0.014833666,0.013407482,0.096553857,0.131723579,0.099990132,0.155500861,0.469210038,0,0 +work,FALSE,22,1,0,0,0,0,0.002354463,0.001321627,0.001526638,0.003547564,0.007889584,0.00247877,0.061446315,0.077612309,0.104848995,0.087316793,0.063921354,0.040342969,0.155380603,0.390012018,0 +work,FALSE,22,2,0,0,0,0.001982423,0,0.007743127,0.011968403,0.008685093,0.003973347,0.012345869,0.016587124,0.040020235,0.072010749,0.098243002,0.073472113,0.096470733,0.242366696,0.314131085,0 +work,FALSE,22,3,0,0,0,0,0,0.00900164,0.001675422,0.021019519,0.008241362,0.012933333,0.01478469,0.047949921,0.119423115,0.119522763,0.080598154,0.04905538,0.20209014,0.313704562,0 +work,FALSE,22,4,0,0,0,0,0,0.00241091,0.006967046,0.024621244,0.004358134,0.006887033,0.008276343,0.047494465,0.086031065,0.153176335,0.061142075,0.031195643,0.205080104,0.362359603,0 +work,FALSE,23,1,0,0.001238847,0,0.002154573,0.003964601,0.001493218,0.012410725,0.019401965,0.016898905,0.02730294,0.011556986,0.034875148,0.041105748,0.083174793,0.018419684,0.005370325,0.063729247,0.109449086,0.54745321 +work,FALSE,23,2,0,0,0.001396549,0,0.003319033,0.005204887,0.025094008,0.033735384,0.008488109,0.01528189,0.022728985,0.031350219,0.058537975,0.074214158,0.022929206,0.042918793,0.007770177,0.170962188,0.476068439 +work,FALSE,23,3,0,0,0.001748893,0.001566752,0,0.007196939,0.011228416,0.021359669,0.028165721,0.008967715,0.028693265,0.056683172,0.078656022,0.063158735,0.099308392,0.039560138,0.024986978,0.098009336,0.43070986 +work,FALSE,23,4,0,0,0.000766782,0.004388369,0.002881109,0.004980974,0.024053963,0.026342685,0.029143148,0.024074445,0.020534932,0.036286202,0.115377511,0.062463348,0.051866458,0.057077696,0.052763369,0.108781076,0.378217933 +univ,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,5,2,0,0.141462921,0.39086301,0,0.071786124,0.025897511,0,0,0,0.097305573,0,0.030851335,0.102890339,0.138943185,0,0,0,0,0 +univ,TRUE,5,3,0,0,0.873218626,0,0,0.057857072,0,0,0,0,0,0,0,0.068924303,0,0,0,0,0 +univ,TRUE,5,4,0,0,0,0,0,0,0.32303468,0,0.32303468,0.16151734,0,0,0,0.192413299,0,0,0,0,0 +univ,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,6,2,0,0.134677838,0.456787632,0.153282563,0.059662856,0.118242123,0.03689652,0.007431799,0.019186549,0,0,0.01383212,0,0,0,0,0,0,0 +univ,TRUE,6,3,0,0.09504007,0.597276077,0.241947175,0,0,0,0.065736678,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,6,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,7,2,0,0,0.16008737,0.671458416,0.049774779,0.017812393,0.020633361,0.033501607,0,0.039093289,0.007638784,0,0,0,0,0,0,0,0 +univ,TRUE,7,3,0,0,0.052281409,0.806320518,0.030314369,0,0,0.012683969,0,0.051228214,0,0.047171521,0,0,0,0,0,0,0 +univ,TRUE,7,4,0,0,0,0.384291795,0.37997151,0.017486076,0.017486076,0,0.052458229,0.020717499,0.020717499,0.106871315,0,0,0,0,0,0,0 +univ,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,2,0,0,0,0.508028202,0.405046381,0.075475558,0.005588065,0,0.005861793,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,3,0,0,0,0.353221848,0.426314578,0.180255321,0.025900769,0.014307484,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,4,0,0,0,0.244322976,0.391323801,0.023592159,0.14547362,0.023592159,0,0.117960797,0,0.026867244,0.026867244,0,0,0,0,0,0 +univ,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,9,2,0,0,0,0,0.363140456,0.541860336,0.068377772,0.008522123,0,0,0.018099314,0,0,0,0,0,0,0,0 +univ,TRUE,9,3,0,0,0,0,0.088505041,0.64872571,0.084998604,0.177770645,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,9,4,0,0,0,0,0.139725614,0.449854868,0.134189894,0,0.276229624,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,2,0,0,0,0,0,0.346861762,0.509611346,0.026290472,0.013109947,0.104126473,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,3,0,0,0,0,0,0.302069617,0.428966039,0.192628694,0,0.07633565,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,4,0,0,0,0,0,0,0.414612817,0,0.115720886,0.347162659,0.122503637,0,0,0,0,0,0,0,0 +univ,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,11,2,0,0,0,0,0,0,0.237240285,0.707936221,0.02446143,0.00979796,0.020564104,0,0,0,0,0,0,0,0 +univ,TRUE,11,3,0,0,0,0,0,0,0.042322313,0.335051522,0.231238246,0.268514141,0.122873778,0,0,0,0,0,0,0,0 +univ,TRUE,11,4,0,0,0,0,0,0,0,0.563593836,0.248920946,0,0.058524887,0.128960331,0,0,0,0,0,0,0 +univ,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,12,2,0,0,0,0,0,0,0,0,0.437771877,0.210261779,0,0,0.297139297,0.054827047,0,0,0,0,0 +univ,TRUE,12,3,0,0,0,0,0,0,0,0,0.43873352,0.141096056,0.130019758,0,0.219455556,0.070695109,0,0,0,0,0 +univ,TRUE,12,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,13,2,0,0,0,0,0,0,0,0,0.134867601,0.583447862,0.08911022,0.053636459,0.138937858,0,0,0,0,0,0 +univ,TRUE,13,3,0,0,0,0,0,0,0,0,0.150944969,0.333823157,0.107766156,0.168152845,0,0.239312872,0,0,0,0,0 +univ,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.090285103,0.404418717,0.50529618,0,0,0,0,0,0,0 +univ,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.309699276,0.690300724,0,0,0,0,0,0,0 +univ,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +univ,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.357567593,0.542130931,0.100301476,0,0,0,0,0,0 +univ,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.628916949,0.371083051,0,0,0,0,0,0 +univ,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +univ,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +univ,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.300048836,0.63299685,0.066954314,0,0,0,0,0 +univ,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +univ,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +univ,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.14414362,0.85585638,0,0,0,0,0 +univ,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.696191337,0.303808663,0,0,0,0 +univ,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403432532,0.596567468,0,0,0,0 +univ,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.450038651,0.549961349,0,0,0,0 +univ,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,1,0,0,0.016025515,0.983974485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,2,0,0,0.262404641,0.737595359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,1,0,0,0,0.163327352,0.836672648,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,1,0,0,0,0.226661626,0.168940428,0.604397946,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,2,0,0,0,0,0.222726098,0.777273902,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,3,0,0,0,0,0.611879485,0.388120515,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,1,0,0,0,0.015316515,0.046862442,0.097177177,0.840643866,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,2,0,0,0,0.070258469,0,0.268634856,0.661106675,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,3,0,0,0,0.037689621,0,0.130353154,0.831957225,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,4,0,0,0,0,0,0.077208841,0.922791159,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,1,0,0,0.014945608,0,0.028129025,0.020638305,0.519341237,0.416945825,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,2,0,0,0.031201085,0.03237983,0.013231327,0.110325379,0.181858105,0.631004274,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,3,0,0,0,0.03549716,0.015053148,0,0.290392671,0.65905702,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,4,0,0,0,0,0.099318641,0.052098847,0.151713122,0.69686939,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,1,0,0,0,0,0,0,0.181017187,0.292661018,0.526321795,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,2,0,0,0,0,0,0,0.048301785,0.296950961,0.654747254,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,3,0,0,0,0,0,0,0,0.056113137,0.943886863,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,4,0,0,0,0,0,0.024635167,0,0,0.975364833,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,1,0,0,0,0.022000764,0.008154518,0.013638554,0.034791419,0.065882427,0.246258385,0.609273932,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,2,0,0,0,0,0,0,0.016168393,0.097081997,0.229754942,0.656994667,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,3,0,0,0,0,0,0,0.043234918,0.20601367,0.431619379,0.319132034,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,4,0,0,0,0,0,0,0.024961198,0.010062765,0.104416222,0.860559815,0,0,0,0,0,0,0,0,0 +univ,FALSE,15,1,0,0,0,0.016983489,0,0.013422718,0.023570396,0.004582712,0.053800861,0.202721356,0.684918469,0,0,0,0,0,0,0,0 +univ,FALSE,15,2,0,0,0,0,0.045151752,0,0.099380208,0.018712363,0.046279979,0.313502235,0.476973464,0,0,0,0,0,0,0,0 +univ,FALSE,15,3,0,0,0,0,0,0,0.025154904,0.093517604,0.102200685,0.131224361,0.647902447,0,0,0,0,0,0,0,0 +univ,FALSE,15,4,0,0,0,0,0,0,0.04795036,0.04795036,0.065158411,0.21500352,0.623937348,0,0,0,0,0,0,0,0 +univ,FALSE,16,1,0,0,0,0,0,0.003411195,0,0.013129003,0,0.154717961,0.529208805,0.299533037,0,0,0,0,0,0,0 +univ,FALSE,16,2,0,0,0,0.015451903,0.014978609,0,0.006115529,0.008472156,0,0.091244276,0.417492241,0.446245285,0,0,0,0,0,0,0 +univ,FALSE,16,3,0,0,0,0,0,0.016342188,0.018885054,0,0.036490672,0.062457119,0.082466854,0.783358113,0,0,0,0,0,0,0 +univ,FALSE,16,4,0,0,0,0,0,0,0,0.102624898,0.020338459,0.028320918,0.182111674,0.666604051,0,0,0,0,0,0,0 +univ,FALSE,17,1,0,0,0,0,0,0,0,0.060607217,0.015960535,0.027738146,0.138834813,0.177730039,0.579129249,0,0,0,0,0,0 +univ,FALSE,17,2,0,0,0,0,0,0,0.026878378,0,0.045587412,0.056703613,0.067767612,0.211772198,0.591290787,0,0,0,0,0,0 +univ,FALSE,17,3,0,0,0,0,0,0,0.035711491,0,0,0.030318877,0.065253534,0.105686003,0.763030094,0,0,0,0,0,0 +univ,FALSE,17,4,0,0,0,0,0,0,0.010287884,0.023408308,0.036977492,0.010287884,0.081294488,0.144862027,0.692881918,0,0,0,0,0,0 +univ,FALSE,18,1,0,0,0,0.003945375,0,0,0,0.017778798,0,0.094239059,0.126537664,0.04524658,0.521630843,0.190621681,0,0,0,0,0 +univ,FALSE,18,2,0,0,0,0.00721016,0,0,0.021117111,0.009952491,0.040163794,0.181306282,0.011084411,0,0.37585875,0.353307001,0,0,0,0,0 +univ,FALSE,18,3,0,0,0,0.006589215,0,0,0,0.019298488,0,0.057611182,0.140317157,0.028818423,0.227948944,0.51941659,0,0,0,0,0 +univ,FALSE,18,4,0,0,0,0,0,0,0.008076984,0,0.019904917,0.065674412,0.055168626,0.094050391,0.164547688,0.592576982,0,0,0,0,0 +univ,FALSE,19,1,0,0,0,0,0.009454567,0,0,0,0.04102499,0,0.023746099,0,0.135591003,0.220827281,0.56935606,0,0,0,0 +univ,FALSE,19,2,0,0,0,0,0,0,0,0,0,0.078006772,0,0.060317466,0.259929547,0.359118303,0.242627912,0,0,0,0 +univ,FALSE,19,3,0,0,0,0,0,0,0,0,0,0.021382414,0,0.021188936,0.081686174,0.348421579,0.527320897,0,0,0,0 +univ,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189756837,0.810243163,0,0,0,0 +univ,FALSE,20,1,0,0,0,0,0,0,0,0.010016964,0,0,0,0.004718289,0.003266795,0,0.085231627,0.896766325,0,0,0 +univ,FALSE,20,2,0,0,0,0,0,0,0.11773307,0.039948419,0,0.039518498,0.05632597,0,0.267130581,0.046726624,0.026652785,0.405964054,0,0,0 +univ,FALSE,20,3,0,0,0,0,0,0,0,0.120183428,0,0.019425265,0,0.12981914,0.113130998,0,0.023452919,0.59398825,0,0,0 +univ,FALSE,20,4,0,0,0,0,0,0,0,0.120271055,0,0.038712543,0.069855242,0.27999729,0.089459377,0.067799861,0.14272972,0.191174912,0,0,0 +univ,FALSE,21,1,0,0,0,0,0,0,0,0,0.007338913,0.023203309,0.007350649,0.00472513,0.002978934,0,0.033142982,0.176639731,0.744620353,0,0 +univ,FALSE,21,2,0,0,0,0,0,0,0,0,0,0.057152164,0.184622922,0.047820405,0.014739649,0.00986257,0.02270102,0.078261413,0.584839857,0,0 +univ,FALSE,21,3,0,0,0,0,0,0,0,0.023488975,0,0.025096056,0,0,0.038339259,0,0.022191995,0.28095544,0.609928273,0,0 +univ,FALSE,21,4,0,0,0,0,0,0,0,0,0.029235831,0,0.09370831,0.034296673,0,0,0,0.045049879,0.797709307,0,0 +univ,FALSE,22,1,0,0,0,0,0,0,0,0,0,0.026178201,0.014643033,0,0.007467541,0,0.019259981,0,0.427134845,0.5053164,0 +univ,FALSE,22,2,0,0,0,0,0,0,0.034835821,0,0,0,0.140548783,0,0,0,0,0,0.1300249,0.694590496,0 +univ,FALSE,22,3,0,0,0,0,0,0,0,0.046323184,0,0,0,0.186895757,0,0,0,0,0.329771262,0.437009796,0 +univ,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0.156732984,0.024747713,0.166206674,0.137729625,0.24721205,0.267370954,0 +univ,FALSE,23,1,0,0,0,0,0,0,0,0,0,0.035836574,0,0.042066438,0.075012425,0.063439215,0,0,0.301680107,0.16901224,0.312953001 +univ,FALSE,23,2,0,0,0,0,0,0,0,0.022191189,0.04703489,0.224157456,0.038381448,0.045053715,0,0.164838447,0,0,0.125234584,0.144560801,0.188547469 +univ,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0.050535751,0,0.237653614,0.043051618,0,0.251962365,0.07621155,0.340585102 +univ,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.012541125,0,0.020367286,0.065349217,0.103326665,0.070453894,0.108396964,0.135051697,0.484513153 +school,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,2,0,0.040189605,0.959810395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,3,0,0.14676025,0.559777558,0.293462192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,2,0,0.090715709,0.600480587,0.301778371,0,0,0,0,0.007025333,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,3,0,0.189913473,0.435678549,0.345471524,0.028936455,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,4,0,0.276044088,0.461879351,0.26207656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,7,2,0,0,0.358595289,0.543340426,0.080407454,0.00494145,0,0.003218472,0.001252217,0.00163666,0.005875668,0,0.000732365,0,0,0,0,0,0 +school,TRUE,7,3,0,0,0.305390104,0.552122437,0.119495284,0,0.012287658,0,0,0,0.010704517,0,0,0,0,0,0,0,0 +school,TRUE,7,4,0,0,0.244790257,0.688367336,0,0.043560183,0,0.023282223,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,8,2,0,0,0,0.750052982,0.197397697,0.003009328,0.015758235,0.00583123,0,0.002418098,0.003851683,0.011638797,0.01004195,0,0,0,0,0,0 +school,TRUE,8,3,0,0,0,0.372624607,0.42987891,0.03924466,0,0.102467106,0,0,0.055784717,0,0,0,0,0,0,0,0 +school,TRUE,8,4,0,0,0,0,0.141654355,0.129241521,0.273939898,0,0,0,0,0.31350987,0.141654355,0,0,0,0,0,0 +school,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,2,0,0,0,0,0.090691548,0.482888016,0.426420437,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,3,0,0,0,0,0.091229458,0.353634961,0.555135582,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,4,0,0,0,0,0,0.30179716,0.69820284,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,2,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,3,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,11,2,0,0,0,0,0,0,0.02770017,0.902627425,0.038595346,0.031077059,0,0,0,0,0,0,0,0,0 +school,TRUE,11,3,0,0,0,0,0,0,0,0.797232896,0.076506636,0,0.126260468,0,0,0,0,0,0,0,0 +school,TRUE,11,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,2,0,0,0,0,0,0,0,0,0.899748743,0,0,0.100251257,0,0,0,0,0,0,0 +school,TRUE,12,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,13,2,0,0,0,0,0,0,0,0,0,0.451262789,0.191174572,0.357562639,0,0,0,0,0,0,0 +school,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.068700765,0.443666092,0.487633143,0,0,0,0,0,0,0 +school,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.11838799,0.88161201,0,0,0,0,0,0,0 +school,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.534557731,0.079614802,0,0,0.385827467,0,0,0,0,0 +school,TRUE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +school,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0,0.868324906,0,0.131675094,0,0,0,0,0 +school,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.900878137,0.099121863,0,0,0,0,0,0 +school,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +school,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +school,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.173995865,0.826004135,0,0,0,0,0,0 +school,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0.637190616,0.362809384,0,0,0,0,0 +school,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.74484742,0.25515258,0,0,0,0,0 +school,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +school,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173208977,0.826791023,0,0,0,0 +school,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +school,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,1,0,0,0,0.09946831,0.90053169,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,1,0,0,0,0,0.051889499,0.948110501,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,1,0,0,0,0,0.00854797,0.143038003,0.848414027,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,2,0,0,0,0,0,0.07758327,0.92241673,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,3,0,0,0,0,0,0.05138849,0.94861151,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,1,0,0,0,0,0.019446017,0.011496295,0.285657861,0.683399827,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,2,0,0,0,0,0.019954492,0,0.331728142,0.648317366,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,3,0,0,0,0,0.033967027,0,0.201586112,0.764446861,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,4,0,0,0,0,0.113939675,0,0.018400111,0.867660214,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,1,0,0,0,0.019248269,0,0.002680163,0.030761477,0.259256669,0.688053423,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,2,0,0,0,0,0,0,0,0.189323178,0.810676822,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,3,0,0,0,0,0,0,0,0.258031986,0.741968014,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,4,0,0,0,0,0,0,0,0.279494058,0.720505942,0,0,0,0,0,0,0,0,0,0 +school,FALSE,14,1,0,0.000831908,0.000979746,0,0.001601486,0.002226531,0.002192251,0.02470079,0.091632585,0.875834703,0,0,0,0,0,0,0,0,0 +school,FALSE,14,2,0,0,0,0,0,0,0.041609561,0.016064041,0.222703138,0.71962326,0,0,0,0,0,0,0,0,0 +school,FALSE,14,3,0,0,0,0,0,0,0,0.023937672,0.13413328,0.841929047,0,0,0,0,0,0,0,0,0 +school,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,FALSE,15,1,0,0,0.006672723,0.001920517,0.000881135,0.000470656,0.007178881,0.003373865,0.007046025,0.435289669,0.537166529,0,0,0,0,0,0,0,0 +school,FALSE,15,2,0,0,0,0.003559393,0.005420446,0,0.01895427,0.006031842,0.009564559,0.299701581,0.656767909,0,0,0,0,0,0,0,0 +school,FALSE,15,3,0,0,0,0,0.014210731,0,0,0.009915361,0.013300231,0.238413075,0.724160602,0,0,0,0,0,0,0,0 +school,FALSE,15,4,0,0,0,0,0.013547957,0,0,0.003834839,0,0.141585883,0.841031322,0,0,0,0,0,0,0,0 +school,FALSE,16,1,0,0,0.003957494,0.007442128,0.002894311,0,0.018097734,0.013714786,0.017413316,0.113052385,0.49048648,0.332941366,0,0,0,0,0,0,0 +school,FALSE,16,2,0,0,0,0.001567759,0.006348016,0.004559163,0.009399428,0.015889281,0.021832495,0.089535591,0.363878359,0.486989907,0,0,0,0,0,0,0 +school,FALSE,16,3,0,0,0,0,0,0.008315162,0.022193918,0.007486006,0.004771945,0.02862127,0.176424988,0.75218671,0,0,0,0,0,0,0 +school,FALSE,16,4,0,0,0,0,0,0,0,0.028022669,0.01919336,0.027628588,0.156778381,0.768377001,0,0,0,0,0,0,0 +school,FALSE,17,1,0,0,0,0.00408238,0.006057147,0.001368873,0.003781947,0.013443846,0.020930042,0.105685888,0.191206812,0.133610245,0.51983282,0,0,0,0,0,0 +school,FALSE,17,2,0,0,0,0.004151198,0,0.00388225,0.00967742,0.013025325,0.027213825,0.07090836,0.082650841,0.202645832,0.585844949,0,0,0,0,0,0 +school,FALSE,17,3,0,0,0,0,0,0.003335544,0,0.003254012,0,0.075557182,0.182853928,0.23363666,0.501362673,0,0,0,0,0,0 +school,FALSE,17,4,0,0,0,0,0,0.006781644,0.00413291,0,0,0.007828685,0.092863122,0.424308729,0.46408491,0,0,0,0,0,0 +school,FALSE,18,1,0,0,0,0.004555021,0,0,0.006805278,0.040238758,0.025752449,0.139579581,0.145174267,0.082159935,0.330134952,0.225599759,0,0,0,0,0 +school,FALSE,18,2,0,0,0,0,0,0,0.002018633,0.017639777,0.011559497,0.035110168,0.084872767,0.077914013,0.273264514,0.497620631,0,0,0,0,0 +school,FALSE,18,3,0,0,0,0,0,0,0.002017331,0.006931595,0.009423374,0.041198595,0.078999404,0.039268257,0.366809487,0.455351956,0,0,0,0,0 +school,FALSE,18,4,0,0,0,0,0,0,0,0,0.018561399,0.043258965,0,0.032292792,0.225093524,0.680793321,0,0,0,0,0 +school,FALSE,19,1,0,0,0.012570056,0,0,0,0.016011468,0.016057604,0.07668851,0.134954753,0.226805131,0.045185104,0.119737059,0.1042095,0.247780814,0,0,0,0 +school,FALSE,19,2,0,0,0,0,0,0,0,0,0.035149661,0.079025772,0.252249169,0.074284557,0.168495532,0.132896247,0.257899061,0,0,0,0 +school,FALSE,19,3,0,0,0,0,0,0,0.005256704,0.005256704,0,0.009878056,0.069178911,0.139359082,0.209998751,0.300301838,0.260769954,0,0,0,0 +school,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.022433763,0.009746389,0.043021361,0.243536894,0.681261593,0,0,0,0 +school,FALSE,20,1,0,0,0,0,0,0,0.036381208,0,0.005800614,0.031932891,0.149632504,0.044906251,0.163413396,0.076354612,0.020580741,0.470997783,0,0,0 +school,FALSE,20,2,0,0,0,0.036384497,0,0,0,0.015532617,0.011426107,0.027703676,0.076335086,0.040493411,0.142356662,0.132693585,0.187215615,0.329858743,0,0,0 +school,FALSE,20,3,0,0,0,0,0,0,0,0.03877589,0.045812113,0.065392635,0.101494701,0.055752291,0.061584445,0.034149257,0.28928825,0.307750418,0,0,0 +school,FALSE,20,4,0,0,0,0,0,0,0,0,0.036041044,0,0.141425909,0.042527443,0.019058777,0.102734314,0.237735178,0.420477334,0,0,0 +school,FALSE,21,1,0,0,0,0,0,0,0.029175445,0.047201664,0,0.059213923,0.186189825,0,0.015107113,0,0.014924261,0.246756883,0.401430887,0,0 +school,FALSE,21,2,0,0,0,0,0,0,0.018242295,0,0.051393732,0.017166791,0.159810093,0.01466897,0.065248355,0.019698184,0.082686594,0.128131407,0.442953578,0,0 +school,FALSE,21,3,0,0,0,0,0,0,0,0,0,0.044964736,0,0.026693251,0.075177802,0.03517993,0.025975511,0.337402271,0.4546065,0,0 +school,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0.058839649,0.052164792,0.030967554,0.061935107,0.029419825,0.145827525,0.620845548,0,0 +school,FALSE,22,1,0.023037375,0,0,0,0,0,0,0,0,0.080648327,0.361587215,0.039998637,0.119661147,0.145124395,0.025588201,0,0.115793964,0.088560738,0 +school,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.066321013,0.205698394,0.043934105,0.180253452,0.112019427,0.014897164,0.028012145,0.055418593,0.293445707,0 +school,FALSE,22,3,0,0,0,0.017205445,0,0,0,0,0,0,0,0.072013982,0.171335382,0.018627394,0.235525324,0.014627752,0.218669111,0.25199561,0 +school,FALSE,22,4,0,0,0,0,0,0,0.014630535,0,0,0,0,0,0,0.021783187,0.041931895,0.020148708,0.336082731,0.565422944,0 +school,FALSE,23,1,0,0,0,0,0,0,0,0,0.111780051,0.21697306,0.207813189,0,0.029486875,0.065930991,0.028259313,0.025083791,0.027543321,0.043512885,0.243616523 +school,FALSE,23,2,0,0,0,0,0,0,0,0,0,0.125873532,0.191933649,0.013156926,0.035810782,0.023201345,0,0.03046339,0.176154142,0.116307048,0.287099186 +school,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.39711845,0.032800383,0,0,0.246473294,0,0,0.167995519,0.155612354 +school,FALSE,23,4,0,0,0,0,0,0,0,0,0.313300531,0,0,0,0,0.002398637,0.195897513,0,0.195897513,0.004797275,0.28770853 +escort,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,5,2,0.056858007,0.134308757,0.177188158,0,0,0.13142305,0,0.060572569,0,0.148645889,0.139773895,0.099108225,0,0.048544465,0.003576985,0,0,0,0 +escort,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0.744635807,0,0,0.255364193,0,0,0,0,0 +escort,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0.812216804,0.046945799,0,0.140837397,0,0,0,0,0 +escort,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,6,2,0,0.317902833,0.447578121,0.020114912,0,0,0.053725104,0,0,0.040669001,0.069308805,0.050701225,0,0,0,0,0,0,0 +escort,TRUE,6,3,0,0,0.573662861,0,0,0,0.426337139,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,6,4,0,0,0,0,0,0,0.42115826,0.15768348,0.42115826,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,7,2,0,0,0.142617064,0.38383586,0.072492592,0.032249474,0.032292989,0.061737992,0.014418217,0,0.117686396,0.044994655,0.097674761,0,0,0,0,0,0 +escort,TRUE,7,3,0,0,0,0,0,0.045211707,0,0,0.126121874,0,0.277934232,0.221864174,0,0.328868013,0,0,0,0,0 +escort,TRUE,7,4,0,0,0,0,0,0.046374243,0,0,0.072684124,0,0,0.059438015,0.270430055,0.098354465,0,0.157068569,0,0.295650529,0 +escort,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,8,2,0,0,0,0.321006938,0.473310236,0.008304761,0.028639249,0.02199492,0.016407044,0,0.05343627,0.024107423,0.052793161,0,0,0,0,0,0 +escort,TRUE,8,3,0,0,0,0.32761399,0.648736988,0.023649023,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,8,4,0,0,0,0,0.203285069,0.087659544,0.087659544,0,0.005822781,0,0,0,0.101642534,0.005717855,0.508212672,0,0,0,0 +escort,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,9,2,0,0,0,0,0.320224882,0.267747579,0.099295479,0,0.061354638,0.200251803,0,0,0,0.020258001,0.030867619,0,0,0,0 +escort,TRUE,9,3,0,0,0,0,0,0.432761501,0.214593419,0,0.146040986,0.206604093,0,0,0,0,0,0,0,0,0 +escort,TRUE,9,4,0,0,0,0,0,0,0.1657582,0.096920036,0.259807729,0,0.159171345,0.159171345,0.159171345,0,0,0,0,0,0 +escort,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,10,2,0,0,0,0,0,0.196501921,0.373640136,0.138599097,0.094607199,0.196651647,0,0,0,0,0,0,0,0,0 +escort,TRUE,10,3,0,0,0,0,0,0.116175548,0.44952369,0.143154558,0.097571597,0.14871659,0.044858016,0,0,0,0,0,0,0,0 +escort,TRUE,10,4,0,0,0,0,0,0,0.152413275,0.360078185,0.346132466,0.141376074,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,2,0,0,0,0,0,0,0.236755791,0.714983274,0.028256555,0.02000438,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,3,0,0,0,0,0,0,0,0.379678398,0.448220444,0.172101157,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,12,2,0,0,0,0,0,0,0,0.146819614,0.555791511,0.044450314,0.058009028,0.153878569,0.041050964,0,0,0,0,0,0 +escort,TRUE,12,3,0,0,0,0,0,0,0,0,0.743230427,0.054234351,0.202535221,0,0,0,0,0,0,0,0 +escort,TRUE,12,4,0,0,0,0,0,0,0,0,0,0.132670832,0.867329168,0,0,0,0,0,0,0,0 +escort,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,13,2,0,0,0,0,0,0,0,0,0.092255068,0.585233838,0.30962564,0.012885454,0,0,0,0,0,0,0 +escort,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.671206778,0.328793222,0,0,0,0,0,0,0,0 +escort,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.228972422,0.771027578,0,0,0,0,0,0,0,0 +escort,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +escort,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.562794406,0.331440849,0.082858701,0,0.022906044,0,0,0,0,0 +escort,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.645172877,0.181000922,0.173826201,0,0,0,0,0,0 +escort,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0,0.753171928,0.246828072,0,0,0,0,0,0 +escort,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +escort,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.201660218,0.766732321,0.031607461,0,0,0,0,0,0 +escort,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.299056486,0.074996412,0.41897627,0.206970833,0,0,0,0,0 +escort,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.150453054,0.849546946,0,0,0,0,0 +escort,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +escort,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.579038356,0.255758044,0.165203599,0,0,0,0,0 +escort,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.035336994,0.238269535,0.726393471,0,0,0,0,0 +escort,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +escort,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +escort,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.197118737,0.703970119,0.036315607,0.026383772,0.036211766,0,0 +escort,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.427169666,0.572830334,0,0,0,0 +escort,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +escort,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +escort,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185479472,0.434361919,0.338714329,0.041444281,0,0 +escort,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78249237,0.21750763,0,0,0 +escort,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.823014212,0.176985788,0 +escort,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +escort,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.285555275,0.649528389,0.064916336,0,0 +escort,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +escort,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199542785,0.800457215,0,0 +escort,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,1,0.040029892,0.959970108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,1,0,0.020969803,0.979030197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,1,0,0,0.118338551,0.881661449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,2,0,0,0.034411699,0.965588301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,1,0,0,0.004282148,0.282836493,0.71288136,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,2,0,0,0,0.171647398,0.828352602,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,3,0,0,0,0.21068634,0.78931366,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,4,0,0,0,0.019911517,0.980088483,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,1,0,0,0.018159729,0.078956734,0.236267706,0.66661583,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,2,0,0,0,0.138185723,0.240772266,0.621042011,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,3,0,0,0.040625092,0.114436303,0.44797514,0.396963465,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,4,0,0,0,0,0.181720167,0.818279833,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,1,0,0,0,0.031917445,0.047683392,0.099924869,0.820474293,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,2,0,0,0,0,0.020814603,0.392076313,0.587109083,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,3,0,0,0,0,0.032514248,0.315393925,0.652091828,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,4,0,0,0,0,0,0.249548162,0.750451838,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,1,0,0,0,0.018963707,0.021920487,0.031520436,0.140654387,0.786940984,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,2,0,0,0,0.03235256,0.042149511,0.05052472,0.131440073,0.743533136,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,3,0,0,0,0.050468014,0,0.017084057,0.229496221,0.702951708,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,4,0,0,0,0,0.048745163,0,0.147271645,0.803983192,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,1,0,0,0.002941942,0.022003062,0.00551188,0.013544069,0.038590922,0.171545199,0.745862927,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,2,0,0,0,0.015043096,0.006073583,0.009841677,0.054297211,0.176600055,0.738144378,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,3,0,0,0,0.021105735,0,0,0.046096397,0.122921811,0.809876056,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,4,0,0,0,0,0,0,0,0.099840566,0.900159434,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,1,0,0,0,0.048520661,0,0,0.016138911,0.044713809,0.085550978,0.805075641,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,2,0,0,0,0.009564053,0.153251843,0,0,0.114426845,0.102407993,0.620349267,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,3,0,0,0,0,0,0,0.013997667,0.033806812,0.25169859,0.700496931,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,4,0,0,0,0,0,0,0,0.031515821,0.082969823,0.885514356,0,0,0,0,0,0,0,0,0 +escort,FALSE,15,1,0.001473284,0.001275418,0.003819369,0.008997,0.006335419,0.008570073,0.003284399,0.001014618,0.005676659,0.244506482,0.715047279,0,0,0,0,0,0,0,0 +escort,FALSE,15,2,0.004847658,0.004196604,0.007080083,0.006185119,0.01421088,0,0.026061603,0.014229404,0.009049421,0.195982731,0.718156496,0,0,0,0,0,0,0,0 +escort,FALSE,15,3,0,0.012564661,0,0,0,0.021197818,0.014513923,0.011367283,0.031969048,0.126086289,0.782300976,0,0,0,0,0,0,0,0 +escort,FALSE,15,4,0,0,0,0,0,0.027149505,0.045738486,0.027149505,0.029117725,0.13954129,0.731303489,0,0,0,0,0,0,0,0 +escort,FALSE,16,1,0.00200405,0.001051772,0.006771555,0.00180834,0.015487237,0.019320069,0.003963644,0.003467036,0,0.014608191,0.140235591,0.791282514,0,0,0,0,0,0,0 +escort,FALSE,16,2,0,0,0,0.006365421,0.007122206,0.007817846,0.005072611,0.002561853,0.010562285,0.011331327,0.163631956,0.785534495,0,0,0,0,0,0,0 +escort,FALSE,16,3,0,0,0,0,0,0,0.013949693,0.015608287,0.031607957,0.045248859,0.086738092,0.806847112,0,0,0,0,0,0,0 +escort,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.176949473,0.823050527,0,0,0,0,0,0,0 +escort,FALSE,17,1,0,0.001885858,0.014135456,0.015985525,0.002552119,0,0,0.002305352,0,0.019788158,0.05304134,0.114790493,0.775515701,0,0,0,0,0,0 +escort,FALSE,17,2,0,0,0.01612501,0.004912147,0,0,0,0,0.006052735,0,0.066169183,0.192117368,0.714623557,0,0,0,0,0,0 +escort,FALSE,17,3,0,0,0,0,0,0,0,0,0,0.020217729,0.029305934,0.331354145,0.619122192,0,0,0,0,0,0 +escort,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0.06461582,0.084856782,0.850527398,0,0,0,0,0,0 +escort,FALSE,18,1,0,0.005432163,0.038940224,0.026689744,0.058158769,0,0.034797386,0,0,0.003175997,0.015025769,0.011190666,0.133413828,0.673175452,0,0,0,0,0 +escort,FALSE,18,2,0.006475372,0,0.028703811,0,0.057765487,0,0.00513516,0.012023268,0,0.005808733,0.027224281,0.023941956,0.217891148,0.615030786,0,0,0,0,0 +escort,FALSE,18,3,0,0,0,0,0,0,0,0.023354896,0,0,0.010873824,0.043494105,0.216938965,0.70533821,0,0,0,0,0 +escort,FALSE,18,4,0,0,0,0,0,0,0,0,0,0.030910531,0.015455265,0.036197751,0.134169828,0.783266626,0,0,0,0,0 +escort,FALSE,19,1,0,0,0.015759767,0.084811588,0,0.002872924,0,0.006556512,0.028956925,0.008237531,0,0.012966642,0.041318552,0.134584946,0.663934612,0,0,0,0 +escort,FALSE,19,2,0,0,0,0.041554494,0,0,0,0.005100141,0.012765195,0.005414707,0,0.027095562,0.040399,0.160510182,0.707160719,0,0,0,0 +escort,FALSE,19,3,0,0,0,0.042762147,0,0,0,0,0,0,0,0.118635541,0.138902724,0.131182018,0.568517571,0,0,0,0 +escort,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0.033575497,0.22070458,0.745719923,0,0,0,0 +escort,FALSE,20,1,0,0,0,0,0.076554131,0,0.004387939,0,0.005379578,0,0,0.005770825,0.013203816,0.052748034,0.038731746,0.80322393,0,0,0 +escort,FALSE,20,2,0,0,0,0,0,0,0.012675397,0,0,0,0.015539935,0,0.0372498,0.038141734,0.263200874,0.63319226,0,0,0 +escort,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0.142988825,0.070710819,0.050794946,0.73550541,0,0,0 +escort,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054259213,0.205166313,0.740574475,0,0,0 +escort,FALSE,21,1,0,0,0,0.009094963,0.016533621,0,0,0,0,0.037489891,0.01972214,0.048167746,0,0.021841243,0.064693921,0.167744598,0.614711876,0,0 +escort,FALSE,21,2,0,0,0.010099315,0,0,0.041511619,0,0,0.014099016,0.047958493,0,0,0.074669665,0,0.04646442,0.263279058,0.501918415,0,0 +escort,FALSE,21,3,0,0,0.017776541,0,0,0,0,0,0,0,0.024816708,0,0.07306763,0.131431527,0.035447508,0.193292186,0.5241679,0,0 +escort,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.022628167,0,0.052756196,0.032321457,0.080116339,0.812177841,0,0 +escort,FALSE,22,1,0,0,0,0.113172185,0,0,0,0,0,0.026397261,0.044886063,0,0,0.019218468,0.004386306,0.028722261,0.247924763,0.515292694,0 +escort,FALSE,22,2,0,0,0,0,0,0,0.18017321,0,0,0,0,0.074732757,0,0.107022619,0.042577452,0.038743506,0.038743506,0.518006951,0 +escort,FALSE,22,3,0,0,0,0,0,0,0.267409489,0,0,0,0,0,0,0,0.015267396,0.143659747,0.183067852,0.390595517,0 +escort,FALSE,22,4,0,0,0,0,0,0,0,0.234024187,0.234024187,0,0,0,0,0,0,0,0.303429308,0.228522318,0 +escort,FALSE,23,1,0,0,0,0,0,0,0,0.008127027,0.007835463,0.151355656,0,0.052450125,0.03651837,0.092153785,0.022741195,0,0.087045131,0.09410699,0.447666258 +escort,FALSE,23,2,0,0,0,0,0,0,0,0.038717113,0,0.014072799,0.013520577,0.321560091,0.117135518,0.10301486,0.065001842,0,0.046587075,0.02971575,0.250674374 +escort,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.026894061,0.13703111,0,0.082687611,0.04923207,0,0.121213706,0.200076012,0.38286543 +escort,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.049644185,0,0,0,0,0,0.09087828,0.241408525,0.61806901 +shopping,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,5,2,0,0.18855969,0.026231205,0,0.018666624,0.036855114,0.01579057,0.02877734,0,0.008686294,0.03735935,0.062874703,0.02993166,0.13469908,0.360321567,0.051246804,0,0,0 +shopping,TRUE,5,3,0,0,0,0,0.061551337,0,0.071672554,0.060629628,0,0,0.091646938,0.65884087,0,0,0,0.055658673,0,0,0 +shopping,TRUE,5,4,0,0,0,0,0,0,0.063047092,0,0,0.063047092,0,0.063047092,0.096265448,0.600570816,0,0.05701123,0,0,0.05701123 +shopping,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,6,2,0,0.236185322,0.189345656,0.027307243,0,0.09795574,0.025679731,0.06524777,0,0.065782608,0.146681657,0.061307682,0.084506592,0,0,0,0,0,0 +shopping,TRUE,6,3,0,0.122362042,0,0.056125397,0,0.3786476,0,0,0.104941475,0,0,0.337923485,0,0,0,0,0,0,0 +shopping,TRUE,6,4,0,0,0,0,0,0.333126,0,0.333126,0,0,0,0.215517962,0.061611625,0.056618413,0,0,0,0,0 +shopping,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,7,2,0,0,0.137784762,0.347610842,0.133435005,0.027404455,0.039144758,0.071879163,0.050738746,0,0.035619826,0.112566834,0,0.017941118,0.01764776,0.008226732,0,0,0 +shopping,TRUE,7,3,0,0,0.118039813,0.173078319,0.187104935,0.14629093,0.052634804,0.10898427,0,0,0,0.168712159,0.045154769,0,0,0,0,0,0 +shopping,TRUE,7,4,0,0,0,0.044071544,0,0.113245235,0,0,0,0,0.055926536,0.110694997,0.261835563,0.414226125,0,0,0,0,0 +shopping,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,8,2,0,0,0,0.216420344,0.444754798,0.146005729,0.070193472,0.027780288,0.022919028,0,0.028031874,0,0.017321534,0.012974919,0,0,0,0.013598014,0 +shopping,TRUE,8,3,0,0,0,0.11915052,0.47354413,0.131084867,0.131912474,0.029942334,0.092204361,0.012421891,0,0,0,0.009739424,0,0,0,0,0 +shopping,TRUE,8,4,0,0,0,0.091488151,0.546318896,0.031542872,0.035173262,0.043158455,0.069562754,0.074293154,0.014133102,0.01007907,0.063090109,0.011081104,0,0.01007907,0,0,0 +shopping,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,9,2,0,0,0,0,0.25829748,0.338424677,0.195615866,0.063977369,0.037499937,0.014738329,0.047325307,0,0.015434424,0.020988402,0.007698208,0,0,0,0 +shopping,TRUE,9,3,0,0,0,0,0.092189784,0.255069356,0.282966449,0.075774276,0.085242805,0.057005967,0.019307332,0.104848677,0,0.027595353,0,0,0,0,0 +shopping,TRUE,9,4,0,0,0,0,0,0.086253583,0.235736082,0.217929307,0.026367245,0.066851523,0.150316009,0.167128809,0,0.049417443,0,0,0,0,0 +shopping,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,10,2,0,0,0,0,0,0.447429351,0.377114876,0.1219042,0.01784823,0.022881298,0.007112195,0.00570985,0,0,0,0,0,0,0 +shopping,TRUE,10,3,0,0,0,0,0,0.203895878,0.380391288,0.125413278,0.121084198,0.097085986,0.03993943,0.032189942,0,0,0,0,0,0,0 +shopping,TRUE,10,4,0,0,0,0,0,0.026436932,0.286895016,0.076810524,0.38619219,0.152227751,0.048029261,0,0.023408325,0,0,0,0,0,0 +shopping,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,11,2,0,0,0,0,0,0,0.321289054,0.351540642,0.130487047,0.150332918,0.014224049,0.004332814,0.027793477,0,0,0,0,0,0 +shopping,TRUE,11,3,0,0,0,0,0,0,0.22652124,0.229119163,0.279822494,0.140263855,0.09076511,0.017983211,0,0.015524928,0,0,0,0,0 +shopping,TRUE,11,4,0,0,0,0,0,0,0.060435728,0,0.337860558,0.382359867,0.089042433,0.089042433,0,0,0,0.041258981,0,0,0 +shopping,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,12,2,0,0,0,0,0,0,0,0.327958916,0.465492803,0.141109297,0.020542537,0.022498994,0.01140431,0.010993144,0,0,0,0,0 +shopping,TRUE,12,3,0,0,0,0,0,0,0,0.178317517,0.451517182,0.27737762,0.065198536,0,0.009801894,0.017787251,0,0,0,0,0 +shopping,TRUE,12,4,0,0,0,0,0,0,0,0,0.213180964,0.240910483,0.152246297,0.393662256,0,0,0,0,0,0,0 +shopping,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,13,2,0,0,0,0,0,0,0,0,0.508107696,0.321685937,0.081799219,0.061327596,0.027079551,0,0,0,0,0,0 +shopping,TRUE,13,3,0,0,0,0,0,0,0,0,0.177195753,0.267607099,0.084531289,0.424560684,0.014787439,0.031317737,0,0,0,0,0 +shopping,TRUE,13,4,0,0,0,0,0,0,0,0,0.263218395,0.402482495,0.061208389,0.185818041,0,0,0,0.087272681,0,0,0 +shopping,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +shopping,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.438870825,0.372372041,0.160848114,0.021826983,0,0,0.006082036,0,0,0 +shopping,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.017173884,0.628449853,0.104128183,0.031161272,0,0,0.10714611,0.111940698,0,0 +shopping,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.490831445,0,0,0,0,0.254584278,0.254584278,0,0 +shopping,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +shopping,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.261294755,0.632140733,0.068294747,0.038269765,0,0,0,0,0 +shopping,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.150837677,0.364045291,0.292150535,0.06771696,0,0.125249537,0,0,0 +shopping,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.36746411,0,0.075770875,0,0.278382507,0.278382507,0,0 +shopping,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +shopping,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.554781367,0.360878736,0.067834102,0.016505795,0,0,0,0 +shopping,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.327593582,0.637795928,0.034610489,0,0,0,0,0 +shopping,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0.076274354,0.757840172,0.055295158,0.110590316,0,0,0,0 +shopping,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +shopping,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.281133857,0.595643382,0.100047971,0,0.023174789,0,0 +shopping,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.517896269,0.345741974,0.070632988,0,0,0.065728769,0 +shopping,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.783800606,0,0.072066465,0.144132929,0,0 +shopping,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +shopping,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.299407159,0.536590408,0.150080831,0.013921602,0,0 +shopping,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192023096,0.807976904,0,0,0,0 +shopping,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.221357455,0.693718463,0.084924082,0,0 +shopping,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.905321875,0.094678125,0,0 +shopping,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.768749763,0.231250237,0 +shopping,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,2,0,0,0.057856159,0.942143841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,1,0,0,0,0.063004812,0.936995188,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,2,0,0,0,0.215154916,0.784845084,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,1,0,0,0,0.034621691,0.199730362,0.765647947,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,2,0,0,0,0.013947823,0.249445429,0.736606748,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,3,0,0,0,0,0.263792407,0.736207593,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,4,0,0,0,0,0.190842252,0.809157748,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,1,0,0,0,0,0.017620786,0.158923567,0.823455647,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,2,0,0,0,0,0.004541602,0.230049175,0.765409223,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,3,0,0,0,0,0,0.338910752,0.661089248,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,4,0,0,0,0,0,0.150257604,0.849742396,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,1,0,0,0.002514383,0,0.039915577,0.051276757,0.273727641,0.632565641,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,2,0,0,0,0,0.039730806,0.073816678,0.261462334,0.624990182,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,3,0,0,0,0,0.004430216,0.044433351,0.292333728,0.658802706,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,4,0,0,0,0,0,0.035609316,0.240024471,0.724366213,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,1,0,0,0,0,0.002652468,0.017076075,0.03891727,0.241051111,0.700303076,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,2,0,0,0,0,0.008356207,0.019728013,0.123359666,0.171778982,0.676777133,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,3,0,0,0,0,0.019588158,0,0.046245315,0.40772273,0.526443797,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,4,0,0,0,0,0.025743876,0.051487752,0.032165405,0.12492976,0.765673208,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,1,0,0,0,0.014322812,0.008308251,0.005594512,0.016143904,0.130012933,0.19330349,0.632314098,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,2,0,0,0,0.005506763,0.021606723,0.003403522,0.013852092,0.106618856,0.339860692,0.509151352,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,3,0,0,0,0.011027918,0,0.003096348,0.058586882,0.104167817,0.217735941,0.605385093,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,4,0,0,0,0.01227549,0,0.019168758,0.003446634,0.105336725,0.267971535,0.591800858,0,0,0,0,0,0,0,0,0 +shopping,FALSE,15,1,0,0,0,0,0.004254425,0.009138,0.019091237,0.013981558,0.039120881,0.34948947,0.564924428,0,0,0,0,0,0,0,0 +shopping,FALSE,15,2,0,0,0,0,0.001627899,0.009215496,0.004903293,0.002308669,0.07302082,0.221873866,0.687049956,0,0,0,0,0,0,0,0 +shopping,FALSE,15,3,0,0,0,0,0.003142874,0,0.025204014,0,0.04008905,0.235602582,0.69596148,0,0,0,0,0,0,0,0 +shopping,FALSE,15,4,0,0,0,0,0,0,0.004328876,0.008657753,0,0.285614869,0.701398502,0,0,0,0,0,0,0,0 +shopping,FALSE,16,1,0,0,0,0.000878576,0.003497576,0.021588157,0.009216937,0.008217315,0.002448233,0.048046219,0.232893086,0.673213901,0,0,0,0,0,0,0 +shopping,FALSE,16,2,0,0,0,0,0,0.035847568,0.011510797,0.014922592,0.020904683,0.052635454,0.243160325,0.62101858,0,0,0,0,0,0,0 +shopping,FALSE,16,3,0,0,0,0,0,0.051361483,0.00311995,0,0.051491012,0.042960512,0.192617192,0.658449851,0,0,0,0,0,0,0 +shopping,FALSE,16,4,0,0,0,0,0,0.046465728,0.002556214,0.025713434,0.038861358,0.073644993,0.248297436,0.564460837,0,0,0,0,0,0,0 +shopping,FALSE,17,1,0,0.002208578,0.009311633,0.01738702,0.001331755,0.005016926,0.003171846,0.006879148,0.001436793,0.027480637,0.058941124,0.29462051,0.572214029,0,0,0,0,0,0 +shopping,FALSE,17,2,0,0,0,0,0,0,0.010344283,0.037939171,0.039422982,0.026045212,0.06114443,0.190229666,0.634874255,0,0,0,0,0,0 +shopping,FALSE,17,3,0,0,0,0,0.007721229,0,0.011554543,0.070232976,0.032812162,0.025350429,0.070540072,0.236685334,0.545103256,0,0,0,0,0,0 +shopping,FALSE,17,4,0,0,0,0,0,0.006990598,0.033455447,0.006990598,0,0.064675896,0.055525232,0.171396816,0.660965415,0,0,0,0,0,0 +shopping,FALSE,18,1,0,0.033355807,0,0.001892316,0.00090772,0.004904866,0.001167821,0.016722263,0.003141548,0.002779365,0.024569171,0.061842541,0.271632599,0.577083981,0,0,0,0,0 +shopping,FALSE,18,2,0,0.075251856,0,0.017407741,0,0,0.005067103,0.012905849,0.043130871,0.028315061,0.006542046,0.109303095,0.166027278,0.536049102,0,0,0,0,0 +shopping,FALSE,18,3,0,0,0,0,0,0,0,0,0,0.066490049,0.057249304,0.237270804,0.359314757,0.279675086,0,0,0,0,0 +shopping,FALSE,18,4,0,0,0,0,0,0,0.007859239,0,0.011296648,0.003929619,0.099720544,0.061193285,0.240312145,0.575688521,0,0,0,0,0 +shopping,FALSE,19,1,0,0.002312931,0.007027556,0.00055146,0,0.020661977,0,0,0.011821234,0.002688782,0.004292928,0.007532001,0.051155819,0.156901174,0.735054139,0,0,0,0 +shopping,FALSE,19,2,0,0,0,0,0,0,0,0.003320994,0.005290597,0.01358355,0.003788453,0.020449742,0.075630163,0.221134543,0.656801959,0,0,0,0 +shopping,FALSE,19,3,0,0,0,0,0,0,0.014614817,0,0,0.020347906,0.008733406,0,0.047735668,0.374113208,0.534454996,0,0,0,0 +shopping,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.020864671,0.058211406,0.120273738,0.204544879,0.596105306,0,0,0,0 +shopping,FALSE,20,1,0,0,0,0,0,0.001536146,0,0.001675312,0,0,0,0,0,0.047561031,0.181509603,0.767717908,0,0,0 +shopping,FALSE,20,2,0,0,0,0,0,0.00331683,0,0.004518272,0.00566615,0,0.002748233,0,0.008286949,0.051482817,0.259536082,0.664444667,0,0,0 +shopping,FALSE,20,3,0,0,0,0,0,0,0,0.011858233,0.008705041,0,0.022083602,0.018110733,0,0.035127515,0.143310213,0.760804664,0,0,0 +shopping,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.03498938,0.040641133,0.145381408,0.371268099,0.407719981,0,0,0 +shopping,FALSE,21,1,0,0,0,0,0,0,0,0.004266615,0.002430883,0,0.007940168,0.009395117,0.021163822,0.046202149,0.053837474,0.173465177,0.681298593,0,0 +shopping,FALSE,21,2,0,0,0,0,0,0,0.007985058,0.003444064,0.007416145,0,0.004827496,0.003843961,0.059108441,0.050308287,0.078478176,0.182109604,0.602478768,0,0 +shopping,FALSE,21,3,0,0,0,0,0,0,0,0,0.037797058,0.007828278,0.02376667,0.011687609,0,0.020240379,0.189418946,0.098165754,0.611095305,0,0 +shopping,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.019033172,0,0.01121107,0.036432132,0.018720166,0.031263843,0.186160383,0.697179234,0,0 +shopping,FALSE,22,1,0,0,0,0,0,0.018041153,0,0,0,0,0,0,0.009811009,0.008718506,0.044707222,0.097289219,0.453480605,0.367952287,0 +shopping,FALSE,22,2,0,0,0,0,0,0.014478651,0,0,0.00946373,0,0,0.015817118,0.022169677,0.014478651,0,0.0282764,0.258592224,0.63672355,0 +shopping,FALSE,22,3,0,0,0,0,0,0,0,0,0.017617342,0.054918813,0,0,0,0.029444584,0.095176163,0,0,0.802843098,0 +shopping,FALSE,22,4,0,0,0,0,0,0,0,0,0.020680151,0,0,0.158687133,0,0.087459292,0.073575862,0.034563581,0.293241585,0.331792395,0 +shopping,FALSE,23,1,0,0,0,0.023821741,0,0,0,0.039038004,0.026879421,0,0.010904146,0.018269598,0.019509677,0.079126477,0.035829398,0.029321261,0,0.084296742,0.633003535 +shopping,FALSE,23,2,0,0.103799266,0,0,0.011152724,0,0,0.015806724,0.046340267,0.023976697,0.037355147,0,0.054819521,0.059060036,0.061565304,0.051303212,0.00884805,0.147229688,0.378743364 +shopping,FALSE,23,3,0,0,0,0,0.155683525,0,0,0,0.034179578,0,0,0.080880151,0,0.080591686,0.03920938,0.158345959,0.053129458,0.120909369,0.277070893 +shopping,FALSE,23,4,0,0,0,0,0,0.157154735,0.078577368,0.196443419,0.047914328,0.039288684,0.12397869,0.009075333,0,0.026776309,0.014018049,0.026776309,0.008914443,0.067449234,0.2036331 +othmaint,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,5,2,0,0.040658727,0.120399874,0.213344233,0.111017831,0.079889013,0.042291218,0,0.204453217,0,0,0.104955464,0.082990423,0,0,0,0,0,0 +othmaint,TRUE,5,3,0,0,0,0,0,0,0,0.287213384,0,0,0,0,0.712786616,0,0,0,0,0,0 +othmaint,TRUE,5,4,0,0,0,0,0,0,0,0,0.124355516,0.248711031,0,0,0.105129078,0,0.521804375,0,0,0,0 +othmaint,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,6,2,0,0,0.235488214,0.357403945,0.125753019,0,0,0.078259791,0,0.046555016,0.11357777,0.042962245,0,0,0,0,0,0,0 +othmaint,TRUE,6,3,0,0,0.326226519,0,0,0,0,0.174974691,0,0.373408666,0.125390124,0,0,0,0,0,0,0,0 +othmaint,TRUE,6,4,0,0,0,0,0,0,0.051430893,0.051430893,0,0.213968684,0.153518801,0.186667766,0.102982298,0.145655522,0,0.042793737,0.051551405,0,0 +othmaint,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,7,2,0,0,0.161965305,0.560535311,0.143218808,0.033324008,0.013918476,0.026127179,0.005375436,0,0.011132734,0.01156894,0.02310162,0,0.009732183,0,0,0,0 +othmaint,TRUE,7,3,0,0,0.113525478,0.598967516,0.089069194,0.080738894,0,0.030379017,0,0,0.0168487,0.017349938,0.019216267,0.018737763,0,0,0.015167234,0,0 +othmaint,TRUE,7,4,0,0,0.067302976,0.204351658,0.170979792,0.399761316,0.008551266,0.113238461,0,0,0,0,0,0.035814532,0,0,0,0,0 +othmaint,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,8,2,0,0,0,0.275563345,0.484065773,0.083338937,0.065284531,0.034854754,0.014700638,0.02595601,0.016236011,0,0,0,0,0,0,0,0 +othmaint,TRUE,8,3,0,0,0,0.256465635,0.196396681,0.177854408,0.122055686,0.028927661,0.08283666,0.079901924,0.043539857,0.012021488,0,0,0,0,0,0,0 +othmaint,TRUE,8,4,0,0,0,0,0.028047731,0,0.350951603,0,0.149252856,0.30289175,0,0.04635913,0.122496929,0,0,0,0,0,0 +othmaint,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,9,2,0,0,0,0,0.230097736,0.368638076,0.127385774,0.016744897,0.150776775,0,0,0.007474052,0.098882689,0,0,0,0,0,0 +othmaint,TRUE,9,3,0,0,0,0,0,0.231740286,0.127213569,0.112305301,0.189734694,0.10677054,0.198766593,0.033469018,0,0,0,0,0,0,0 +othmaint,TRUE,9,4,0,0,0,0,0,0,0.34116944,0,0.583836564,0.074993995,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,2,0,0,0,0,0,0.286259076,0.537234442,0.142887206,0.033619275,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,3,0,0,0,0,0,0.164777982,0.52409087,0.14628494,0.049989666,0,0.114856542,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,2,0,0,0,0,0,0,0.473598812,0.258143996,0.104686693,0.141192999,0.022377501,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,3,0,0,0,0,0,0,0.72551892,0.190277137,0.084203943,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,4,0,0,0,0,0,0,0,0,0,0.305927706,0.347036147,0,0,0,0,0,0.347036147,0,0 +othmaint,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,12,2,0,0,0,0,0,0,0,0.545682141,0.314476787,0.053501749,0.03851823,0.047821093,0,0,0,0,0,0,0 +othmaint,TRUE,12,3,0,0,0,0,0,0,0,0.214651848,0.46388943,0.061966411,0.132775585,0.126716726,0,0,0,0,0,0,0 +othmaint,TRUE,12,4,0,0,0,0,0,0,0,0,0.127956328,0,0,0.576495171,0,0.295548501,0,0,0,0,0 +othmaint,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,2,0,0,0,0,0,0,0,0,0.323941314,0.585102169,0.090956518,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,3,0,0,0,0,0,0,0,0,0.072453359,0.780993759,0.146552882,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.222472025,0.777527975,0,0,0,0,0,0,0,0 +othmaint,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.256222437,0.654201082,0.071103851,0.01847263,0,0,0,0,0,0 +othmaint,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.11860694,0.44971127,0.431681789,0,0,0,0,0,0,0 +othmaint,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.436444767,0.563555233,0,0,0,0,0,0,0 +othmaint,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.593763081,0.406236919,0,0,0,0,0,0,0 +othmaint,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othmaint,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.854510215,0.145489785,0,0,0,0,0,0 +othmaint,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.724085091,0,0.275914909,0,0,0,0,0 +othmaint,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othmaint,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.172124075,0.213012548,0.614863377,0,0,0,0 +othmaint,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098642817,0.901357183,0,0,0,0 +othmaint,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.270651613,0.600738159,0.128610228,0,0 +othmaint,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.771681706,0,0.228318294,0 +othmaint,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,1,0.09071969,0.90928031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,1,0,0.075063017,0.924936983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,1,0,0,0.072655068,0.927344932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,1,0,0,0.013631489,0.161967148,0.824401363,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,1,0,0,0,0.037502157,0.312567208,0.649930634,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,2,0,0,0,0,0.275988767,0.724011233,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,3,0,0,0,0,0.15552038,0.84447962,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,4,0,0,0,0,0.144245586,0.855754414,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,1,0,0,0,0,0.03338987,0.26489836,0.70171177,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,2,0,0,0,0,0.010989916,0.227634382,0.761375703,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,3,0,0,0,0,0,0.026011355,0.973988645,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,4,0,0,0,0,0,0.107851024,0.892148976,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,1,0,0,0,0.010158031,0.022913155,0.102307429,0.377078058,0.487543327,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,2,0,0,0,0,0,0.108745958,0.2159873,0.675266742,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,3,0,0,0,0,0,0.06065237,0.336243242,0.603104388,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,4,0,0,0,0,0,0.013311396,0.19774252,0.788946084,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,1,0,0,0,0,0.031249299,0.047260258,0.081354892,0.353123741,0.48701181,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,2,0,0,0,0,0.036088554,0.047323035,0.099280114,0.282440914,0.534867384,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,3,0,0,0,0.022092503,0,0.023342697,0.218332277,0.130650891,0.605581632,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,4,0,0,0,0,0,0,0.007598622,0.247081366,0.745320012,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,1,0,0,0,0,0.008432907,0.019241437,0.053781383,0.07753638,0.180423206,0.660584686,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,2,0,0,0,0,0,0.014889748,0.058818026,0.03592279,0.279517106,0.610852331,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,3,0,0,0,0,0,0.025148147,0.044798265,0.019855411,0.184100242,0.726097934,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,4,0,0,0,0,0,0.025559931,0.089028487,0.037908626,0.118966776,0.72853618,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,1,0,0,0.014080554,0,0.010260757,0.018416064,0.003200712,0.030725966,0.060405447,0.322996101,0.5399144,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,2,0,0,0,0.007837984,0.007663278,0.013198261,0,0.009670767,0.043030366,0.15942745,0.759171894,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,3,0,0,0,0,0.009630972,0,0.006337143,0.101481335,0.066736017,0.096321205,0.719493328,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,4,0,0,0,0,0,0,0,0.013528329,0.062228479,0.089319428,0.834923764,0,0,0,0,0,0,0,0 +othmaint,FALSE,16,1,0,0,0.006200413,0.004986933,0,0.010337749,0.015781258,0.022349724,0.011320009,0.0610877,0.263854949,0.604081265,0,0,0,0,0,0,0 +othmaint,FALSE,16,2,0,0,0.006875165,0,0,0.004755274,0.004846065,0.041322108,0.062817829,0.084403941,0.210011072,0.584968544,0,0,0,0,0,0,0 +othmaint,FALSE,16,3,0,0,0,0,0,0.003750011,0,0.038367203,0,0.081124439,0.173167838,0.703590508,0,0,0,0,0,0,0 +othmaint,FALSE,16,4,0,0,0,0,0,0,0,0.012408147,0.035652064,0.083467534,0.198538722,0.669933533,0,0,0,0,0,0,0 +othmaint,FALSE,17,1,0,0,0,0.020552867,0,0.005813725,0.002732148,0.008782581,0.005357107,0.029100301,0.080364833,0.302512654,0.544783785,0,0,0,0,0,0 +othmaint,FALSE,17,2,0,0,0,0,0.026548466,0.003679274,0.009319631,0,0.042518808,0.029889235,0.080550404,0.277668263,0.52982592,0,0,0,0,0,0 +othmaint,FALSE,17,3,0,0,0,0,0.009271174,0,0.054663157,0,0.016257561,0.01488333,0.09396777,0.266410029,0.544546979,0,0,0,0,0,0 +othmaint,FALSE,17,4,0,0,0,0,0,0.007066116,0.007066116,0.06151997,0.066639666,0.049844639,0.033402711,0.146764167,0.627696614,0,0,0,0,0,0 +othmaint,FALSE,18,1,0,0,0.00220337,0.003892833,0.007889226,0.016688123,0.035048075,0.024546837,0,0.00815882,0.035392235,0.148091146,0.276111609,0.441977726,0,0,0,0,0 +othmaint,FALSE,18,2,0,0,0,0,0,0.065300384,0.006485915,0.052781714,0.048191377,0.040820218,0,0.162432484,0.05438396,0.569603948,0,0,0,0,0 +othmaint,FALSE,18,3,0,0,0,0,0.017320219,0.031548823,0.022330672,0.091457847,0,0.019713885,0.042008327,0.218018162,0.200579611,0.357022454,0,0,0,0,0 +othmaint,FALSE,18,4,0,0,0,0,0.016419136,0,0.00528573,0.020252478,0,0.100415264,0.03805733,0.105531305,0.176732756,0.537306,0,0,0,0,0 +othmaint,FALSE,19,1,0,0,0,0,0.010727452,0,0.008098901,0.019233131,0.013852404,0.004645853,0.013295603,0.080270768,0.078632583,0.187569198,0.583674107,0,0,0,0 +othmaint,FALSE,19,2,0,0,0,0,0.049239842,0.011428143,0,0,0.026241801,0.041108511,0.013964285,0.025063837,0,0.310631722,0.522321858,0,0,0,0 +othmaint,FALSE,19,3,0,0,0,0,0,0.086744587,0,0,0,0.016477125,0.041531547,0.015283398,0.017093713,0.105309634,0.717559996,0,0,0,0 +othmaint,FALSE,19,4,0,0,0,0,0,0.069764219,0.069764219,0,0,0.104847005,0,0.033271814,0.058783522,0.247218312,0.416350909,0,0,0,0 +othmaint,FALSE,20,1,0,0,0,0,0,0,0.01242339,0.005336417,0.044409284,0.029249865,0.011600679,0.028809843,0.016252507,0.030331787,0.287705325,0.533880904,0,0,0 +othmaint,FALSE,20,2,0,0,0,0,0,0,0,0,0.032990066,0.012593317,0,0.052304607,0.150427735,0.026510728,0.302582814,0.422590733,0,0,0 +othmaint,FALSE,20,3,0,0,0,0,0,0,0,0.023039668,0.024925805,0.022055308,0.053273572,0.028755337,0.017687898,0.157803915,0.245882825,0.426575672,0,0,0 +othmaint,FALSE,20,4,0,0,0,0,0,0,0,0.009174883,0.009174883,0.039703931,0.032564469,0.051766512,0.025425007,0.0614869,0.641240832,0.129462584,0,0,0 +othmaint,FALSE,21,1,0,0.025380051,0.006505038,0,0,0,0,0,0,0.034497668,0.005372141,0.00750697,0.322054018,0.02041747,0.056367039,0.277982219,0.243917386,0,0 +othmaint,FALSE,21,2,0,0,0,0,0.006399766,0.007749372,0,0,0,0.006917002,0,0.046305978,0.04149865,0,0.351103334,0.214319682,0.325706214,0,0 +othmaint,FALSE,21,3,0,0,0,0,0,0,0.011775898,0.022192712,0.017562682,0,0,0.024503537,0,0.080192747,0.349550204,0.39894732,0.095274901,0,0 +othmaint,FALSE,21,4,0,0,0,0,0,0,0.012259416,0,0.035363359,0.018283805,0.073556494,0.018283805,0.057647363,0.014844726,0.042237266,0.375692888,0.351830879,0,0 +othmaint,FALSE,22,1,0,0,0,0,0,0,0,0.056847728,0,0.047979687,0,0,0.057283827,0,0.024129278,0.031974532,0.16735598,0.614428968,0 +othmaint,FALSE,22,2,0,0,0,0,0,0,0,0,0.161289071,0.04650851,0,0,0.16212443,0.112102538,0,0,0.142577705,0.375397745,0 +othmaint,FALSE,22,3,0,0,0,0,0,0,0,0.110415007,0.068559987,0.152422919,0,0.063721526,0.10278041,0,0,0.094851272,0.058740936,0.348507943,0 +othmaint,FALSE,22,4,0,0,0,0,0,0,0,0.050912705,0.082525929,0,0.031613224,0.050912705,0.094839672,0.029382195,0.129047073,0.050912705,0.220800245,0.259053549,0 +othmaint,FALSE,23,1,0,0,0,0,0,0.010515377,0.025008268,0.032644118,0,0.085888154,0.049317135,0.011196407,0.007715287,0.054305418,0,0.074906459,0.182663286,0.082719875,0.383120217 +othmaint,FALSE,23,2,0,0,0,0,0,0,0,0.045673386,0.020160892,0.021413699,0,0.082142047,0.014090672,0.018059971,0,0.045974294,0.048093764,0.355409136,0.348982138 +othmaint,FALSE,23,3,0,0,0,0,0,0,0,0.080258013,0,0.073055546,0,0.075004948,0.081094174,0.069336389,0,0,0,0.041154495,0.580096435 +othmaint,FALSE,23,4,0,0,0,0,0,0,0,0.037448064,0,0.04959035,0.016530117,0.025234243,0.062464477,0.114901182,0,0.107371648,0.062464477,0.148912902,0.37508254 +eatout,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,5,2,0.032538851,0.221324643,0,0.037815017,0,0,0,0.272525282,0,0,0.037088163,0.337745523,0.034547537,0,0.026414986,0,0,0,0 +eatout,TRUE,5,3,0,0,0,0.091639733,0,0,0,0,0,0,0,0.089878297,0,0.81848197,0,0,0,0,0 +eatout,TRUE,5,4,0,0,0,0,0,0,0,0,0.091478599,0,0,0,0,0.817042802,0.091478599,0,0,0,0 +eatout,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,6,2,0,0.10870266,0.506895447,0.175689689,0,0.026096466,0.034864499,0.082091899,0,0,0,0.025468279,0.040191062,0,0,0,0,0,0 +eatout,TRUE,6,3,0,0.035560115,0.306736608,0.286592598,0.030199993,0.042569681,0.056872474,0,0.028493363,0,0,0.212975168,0,0,0,0,0,0,0 +eatout,TRUE,6,4,0,0,0.211737696,0.322316501,0,0,0.220793367,0,0.051433567,0.096859434,0,0,0,0.096859434,0,0,0,0,0 +eatout,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,7,2,0,0,0.144455214,0.345929433,0,0,0.086477099,0.023160754,0,0.016780688,0,0.202260676,0.052439775,0.128496361,0,0,0,0,0 +eatout,TRUE,7,3,0,0,0.090126203,0.306912678,0,0.037918354,0.033462594,0.029845783,0,0,0,0,0.104315493,0,0,0.397418896,0,0,0 +eatout,TRUE,7,4,0,0,0,0.502373694,0,0,0,0.134316948,0,0,0.070995242,0,0.070995242,0,0.221318875,0,0,0,0 +eatout,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,8,2,0,0,0,0.287649201,0.258570068,0.118932282,0.154019597,0.040748722,0.016734567,0.048015509,0.013439765,0.016546263,0.014029864,0.031314162,0,0,0,0,0 +eatout,TRUE,8,3,0,0,0,0,0.251109552,0,0.113694476,0.124444727,0,0,0.229845517,0.061431783,0.219473946,0,0,0,0,0,0 +eatout,TRUE,8,4,0,0,0,0,0.493293189,0,0,0,0,0,0.506706811,0,0,0,0,0,0,0,0 +eatout,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,9,2,0,0,0,0,0.366854738,0.25501335,0.107900842,0.2287524,0,0,0,0,0,0.041478671,0,0,0,0,0 +eatout,TRUE,9,3,0,0,0,0,0.468297002,0.238514298,0.2931887,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,9,4,0,0,0,0,0.109486993,0.574078888,0.280149843,0,0.036284276,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,10,2,0,0,0,0,0,0.254832017,0.469238325,0.127193733,0.065540094,0.051245746,0,0,0,0,0.031950083,0,0,0,0 +eatout,TRUE,10,3,0,0,0,0,0,0.064871933,0.163184264,0.345964678,0.111369168,0.141300007,0,0.17330995,0,0,0,0,0,0,0 +eatout,TRUE,10,4,0,0,0,0,0,0,0.150728895,0,0.209592187,0.423337891,0,0,0,0.216341028,0,0,0,0,0 +eatout,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,11,2,0,0,0,0,0,0,0.370585753,0.485622052,0.060239142,0.042221954,0,0,0,0.020865964,0.020465134,0,0,0,0 +eatout,TRUE,11,3,0,0,0,0,0,0,0.269205736,0.405557054,0.185720764,0,0.076480268,0,0.063036179,0,0,0,0,0,0 +eatout,TRUE,11,4,0,0,0,0,0,0,0,0.351458157,0.487871427,0,0,0,0,0.160670416,0,0,0,0,0 +eatout,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,12,2,0,0,0,0,0,0,0,0.437792419,0.301451181,0.150311105,0.034236693,0.076208603,0,0,0,0,0,0,0 +eatout,TRUE,12,3,0,0,0,0,0,0,0,0.225370702,0.381329664,0.174766696,0,0,0,0.218532938,0,0,0,0,0 +eatout,TRUE,12,4,0,0,0,0,0,0,0,0,0.221247262,0.778752738,0,0,0,0,0,0,0,0,0 +eatout,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,13,2,0,0,0,0,0,0,0,0,0.139433765,0.241394197,0.366145988,0,0,0.25302605,0,0,0,0,0 +eatout,TRUE,13,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +eatout,TRUE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +eatout,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.141560108,0.455484612,0.063533559,0.080474833,0.258946888,0,0,0,0,0 +eatout,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +eatout,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +eatout,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +eatout,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.175719201,0.491767111,0.304614961,0.027898728,0,0,0,0,0 +eatout,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.115184007,0.113089502,0.771726491,0,0,0,0,0,0 +eatout,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +eatout,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +eatout,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.081443842,0.569785792,0.258691473,0.048438646,0,0.041640248,0,0 +eatout,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.14088832,0.169273542,0.138693404,0.551144734,0,0,0,0 +eatout,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.522722044,0,0,0.477277956,0,0,0 +eatout,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +eatout,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.360098415,0.452873013,0.139516873,0.047511698,0,0,0 +eatout,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.107576639,0.186526017,0.560987927,0.144909417,0,0,0 +eatout,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +eatout,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27451797,0.572984268,0.072163445,0,0.080334317,0 +eatout,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.497007208,0.502992792,0,0,0,0 +eatout,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537636417,0.462363583,0,0,0 +eatout,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.328311347,0.671688653,0,0,0 +eatout,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +eatout,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.916716515,0.083283485,0,0 +eatout,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.726342035,0.273657965,0,0 +eatout,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +eatout,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,1,0.034815481,0.965184519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,1,0,0.199908855,0.800091145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,2,0,0.833877769,0.166122231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,1,0,0,0.215838535,0.784161465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,1,0,0,0,0.157266378,0.842733622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,2,0,0,0,0.335277961,0.664722039,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,1,0,0,0.033536748,0.02770012,0.155369348,0.783393784,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,2,0,0,0,0,0.173469452,0.826530548,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,1,0,0,0,0,0.091878183,0.12493006,0.783191757,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,2,0,0,0,0,0,0.096132235,0.903867765,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,1,0,0,0,0.037969228,0,0.031107149,0.035414324,0.895509299,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,2,0,0,0,0,0.02753672,0,0.149847323,0.822615958,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,3,0,0,0,0,0,0,0.258442104,0.741557896,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,4,0,0,0,0,0,0,0.333333333,0.666666667,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,1,0,0.01200688,0,0,0,0.039950927,0.008513584,0.137590949,0.80193766,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,2,0,0,0,0,0,0,0,0.394497458,0.605502542,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,4,0,0,0,0,0,0,0,0.367803297,0.632196703,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,1,0,0,0,0,0,0.006675471,0,0.049503213,0.303745574,0.640075741,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,2,0,0,0,0,0,0,0,0,0.279565462,0.720434538,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,3,0,0,0,0,0,0,0,0,0.289280673,0.710719327,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,4,0,0,0,0,0,0,0,0,0.17018646,0.82981354,0,0,0,0,0,0,0,0,0 +eatout,FALSE,15,1,0,0,0.012317448,0.011793684,0,0.032471192,0.017402541,0.031610182,0.061546974,0.401654713,0.431203266,0,0,0,0,0,0,0,0 +eatout,FALSE,15,2,0,0,0,0.020848495,0,0,0.031697312,0.022993537,0.09062564,0.216001966,0.617833051,0,0,0,0,0,0,0,0 +eatout,FALSE,15,3,0,0,0,0,0,0,0,0.046096862,0.044136725,0.455929483,0.45383693,0,0,0,0,0,0,0,0 +eatout,FALSE,15,4,0,0,0,0,0,0,0,0.053925006,0,0.080548958,0.865526035,0,0,0,0,0,0,0,0 +eatout,FALSE,16,1,0,0.029358275,0.006634587,0,0.008384768,0,0.022595474,0.011554952,0,0.018323185,0.344468391,0.558680369,0,0,0,0,0,0,0 +eatout,FALSE,16,2,0,0,0,0,0,0,0.023120402,0.115646001,0.052131074,0.053950104,0.19213634,0.563016078,0,0,0,0,0,0,0 +eatout,FALSE,16,3,0,0,0,0,0,0,0,0.058624219,0.059135643,0.033481644,0.029621972,0.819136522,0,0,0,0,0,0,0 +eatout,FALSE,16,4,0,0,0,0,0,0,0,0,0.079941236,0.063875591,0.228664833,0.62751834,0,0,0,0,0,0,0 +eatout,FALSE,17,1,0.008270503,0,0.011204931,0,0.012161696,0.009083295,0,0,0.008915709,0.010949503,0.019220416,0.424059428,0.496134519,0,0,0,0,0,0 +eatout,FALSE,17,2,0,0,0,0,0.009447942,0,0.059827266,0.109282601,0.010850987,0.012969818,0.170046907,0.153233152,0.474341327,0,0,0,0,0,0 +eatout,FALSE,17,3,0,0,0,0,0,0,0.020113077,0.088749328,0.011185398,0,0.071370427,0.323187311,0.485394459,0,0,0,0,0,0 +eatout,FALSE,17,4,0,0,0.038633648,0,0,0,0,0.019522201,0.039044403,0.062661272,0.092635226,0.060867571,0.68663568,0,0,0,0,0,0 +eatout,FALSE,18,1,0,0.00402747,0,0.002699769,0,0,0.003458022,0.004776748,0,0,0.007128847,0.022821634,0.560262038,0.394825471,0,0,0,0,0 +eatout,FALSE,18,2,0,0,0,0,0,0,0.025269691,0.053659728,0.018624541,0,0.015410135,0.096858434,0.303814033,0.486363437,0,0,0,0,0 +eatout,FALSE,18,3,0,0,0,0.027139705,0,0,0,0,0.025309856,0,0.041317372,0,0.193332635,0.712900432,0,0,0,0,0 +eatout,FALSE,18,4,0,0,0,0.062266496,0,0,0,0.124532992,0,0,0,0.02844882,0.160985,0.623766691,0,0,0,0,0 +eatout,FALSE,19,1,0,0,0,0.035093846,0,0,0,0.002763787,0,0,0.007972126,0,0.006835141,0.182451712,0.76488339,0,0,0,0 +eatout,FALSE,19,2,0,0,0,0,0,0,0,0.009338966,0.0084296,0.012320862,0,0.007858119,0.07102686,0.181093919,0.709931674,0,0,0,0 +eatout,FALSE,19,3,0,0,0.034695617,0,0,0,0,0,0,0,0,0,0,0.325056792,0.640247591,0,0,0,0 +eatout,FALSE,19,4,0,0,0,0.101411526,0,0,0,0,0,0,0,0,0,0.101411526,0.797176947,0,0,0,0 +eatout,FALSE,20,1,0,0,0,0,0.006246293,0,0,0.011507943,0,0,0.013654973,0,0.007223887,0.028421478,0.204476714,0.728468712,0,0,0 +eatout,FALSE,20,2,0,0,0,0,0,0,0,0.029002329,0.008684063,0.040035705,0,0,0.033841105,0.026844626,0.219230553,0.64236162,0,0,0 +eatout,FALSE,20,3,0,0,0,0,0.017457545,0,0,0,0,0,0,0.022170954,0.111461135,0.026492142,0.144444394,0.677973828,0,0,0 +eatout,FALSE,20,4,0,0,0,0,0,0,0,0,0.027884869,0,0,0.019560862,0.053861802,0.185282652,0.14594305,0.567466765,0,0,0 +eatout,FALSE,21,1,0,0,0,0,0,0,0.001992088,0,0,0,0,0,0.004171801,0.008609329,0.045440515,0.297500935,0.642285332,0,0 +eatout,FALSE,21,2,0,0,0,0,0,0,0,0.008825951,0,0,0,0,0,0,0.022560857,0.064662954,0.903950239,0,0 +eatout,FALSE,21,3,0,0,0,0,0,0,0,0,0.01925505,0,0,0,0,0,0.141712181,0.063571817,0.775460952,0,0 +eatout,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.059643388,0.029821694,0.029821694,0.054589294,0.218357176,0,0.338629065,0.269137688,0,0 +eatout,FALSE,22,1,0,0.003832232,0.014433483,0.029367654,0,0,0,0,0,0,0,0,0,0.037886729,0.013545706,0.01688148,0.286440472,0.597612243,0 +eatout,FALSE,22,2,0,0,0,0.058773031,0.007875566,0,0.038790615,0,0,0,0,0,0,0.124436861,0.030453108,0.011388959,0.304645476,0.423636384,0 +eatout,FALSE,22,3,0,0.023843907,0,0,0.012800003,0,0,0,0.063045627,0,0,0,0,0.016739233,0.04949484,0.078783423,0.338585891,0.416707076,0 +eatout,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0.012407461,0.122224371,0.035520139,0.109039785,0,0.076367345,0.347441239,0.296999659,0 +eatout,FALSE,23,1,0,0,0,0,0,0,0,0.012371175,0,0.025704524,0,0.023327151,0,0.007669333,0.042011178,0.019479582,0.006261906,0.163786764,0.699388388 +eatout,FALSE,23,2,0,0,0,0,0,0,0,0,0.033721119,0.101287181,0,0.014308982,0,0,0.023495989,0.043546799,0.169610935,0.119773048,0.494255948 +eatout,FALSE,23,3,0,0,0,0,0,0,0,0,0,0.098543037,0,0,0,0,0,0.027420729,0.019663025,0.062014245,0.792358964 +eatout,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.015339182,0.166441975,0.108428683,0.70979016 +social,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163488477,0.72896704,0.107544483,0,0,0 +social,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,2,0,0.429301212,0.220838883,0,0,0.349859905,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,7,2,0,0,0.238446471,0.18847097,0.451233232,0.061171813,0,0,0,0,0,0.060677514,0,0,0,0,0,0,0 +social,TRUE,7,3,0,0,0.263472951,0,0.345559204,0.045763272,0.194319778,0,0,0,0.076482272,0.074402522,0,0,0,0,0,0,0 +social,TRUE,7,4,0,0,0,0,0.720034483,0,0,0,0,0,0,0,0,0.279965517,0,0,0,0,0 +social,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,8,2,0,0,0,0.254275275,0.460062202,0.285662524,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,8,3,0,0,0,0,0.319310909,0,0.196475338,0,0.334528108,0,0,0.149685645,0,0,0,0,0,0,0 +social,TRUE,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0.654606666,0.345393334,0,0,0,0,0 +social,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,2,0,0,0,0,0.545721423,0.112625256,0.326444169,0.015209152,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,3,0,0,0,0,0.023262324,0.080080665,0.730468634,0.143870653,0.022317724,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,4,0,0,0,0,0,0.026826474,0.852263327,0,0,0,0,0.014490394,0,0,0.053209903,0.053209903,0,0,0 +social,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,10,2,0,0,0,0,0,0.151977255,0.519637411,0.191906468,0.085778382,0.050700484,0,0,0,0,0,0,0,0,0 +social,TRUE,10,3,0,0,0,0,0,0.046500192,0.658940192,0.178956942,0,0.115602674,0,0,0,0,0,0,0,0,0 +social,TRUE,10,4,0,0,0,0,0,0,0.204837475,0.204837475,0.204837475,0,0,0.128495859,0.256991717,0,0,0,0,0,0 +social,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,11,2,0,0,0,0,0,0,0.252313913,0.608752771,0.060673874,0.078259442,0,0,0,0,0,0,0,0,0 +social,TRUE,11,3,0,0,0,0,0,0,0,0.893087119,0,0,0.106912881,0,0,0,0,0,0,0,0 +social,TRUE,11,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,12,2,0,0,0,0,0,0,0,0.01555306,0.804005354,0.113032269,0.042952725,0.024456591,0,0,0,0,0,0,0 +social,TRUE,12,3,0,0,0,0,0,0,0,0,0.762673603,0.196684366,0,0.040642031,0,0,0,0,0,0,0 +social,TRUE,12,4,0,0,0,0,0,0,0,0,0.974582243,0.025417757,0,0,0,0,0,0,0,0,0 +social,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,TRUE,13,2,0,0,0,0,0,0,0,0,0.666277769,0.215739994,0.117982237,0,0,0,0,0,0,0,0 +social,TRUE,13,3,0,0,0,0,0,0,0,0,0.20985109,0.290892068,0,0.499256842,0,0,0,0,0,0,0 +social,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.27976381,0.48015746,0,0.24007873,0,0,0,0,0 +social,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +social,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.474250224,0.479544424,0.046205352,0,0,0,0,0,0,0 +social,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.415915716,0.304081655,0.122383721,0.157618908,0,0,0,0,0 +social,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.149219919,0.262392987,0.163198885,0.364386422,0.060801787,0,0,0,0 +social,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.382256993,0.20034388,0.20034388,0.217055247,0,0,0 +social,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.084972892,0.631896416,0.184989951,0.098140741,0,0,0,0 +social,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.566972184,0,0.433027816,0,0,0 +social,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +social,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.153985008,0.442019825,0.287546211,0.116448956,0,0,0 +social,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.805041829,0.194958171,0,0,0,0 +social,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.386035694,0.613964306,0,0,0,0 +social,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +social,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.415464544,0.466670617,0.11786484,0,0,0 +social,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480898747,0.519101253,0,0,0 +social,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492816592,0.382668005,0.124515403,0,0 +social,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.296845882,0.703154118,0,0 +social,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.180542587,0.819457413,0,0 +social,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186441429,0.813558571 +social,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,1,0,0.175358533,0.824641467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,1,0,0,0.02236387,0.97763613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,1,0,0,0,0.461831955,0.538168045,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,1,0,0,0,0,0.168748059,0.831251941,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,2,0,0,0,0,0.100405941,0.899594059,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,1,0,0,0,0,0.02167612,0.606898663,0.371425217,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,2,0,0,0,0.025894331,0,0.076173851,0.897931818,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,3,0,0,0,0,0,0.0362574,0.9637426,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,4,0,0,0,0,0,0.666666667,0.333333333,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,1,0,0,0,0,0,0.040943046,0.339881423,0.619175531,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,2,0,0,0,0,0,0.055306785,0,0.944693215,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,3,0,0,0,0,0,0,0.113705951,0.886294049,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,4,0,0,0,0,0,0,0.020620903,0.979379097,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,1,0,0.110729344,0,0,0,0,0.028982164,0.160850288,0.699438204,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,2,0,0,0,0,0,0,0,0.434109617,0.565890383,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,FALSE,14,1,0,0,0,0,0,0,0.012646359,0.049957288,0.064957981,0.872438372,0,0,0,0,0,0,0,0,0 +social,FALSE,14,2,0,0,0,0,0,0,0,0.092000521,0.207125543,0.700873936,0,0,0,0,0,0,0,0,0 +social,FALSE,14,3,0,0,0,0,0,0,0,0,0.123105709,0.876894291,0,0,0,0,0,0,0,0,0 +social,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +social,FALSE,15,1,0,0,0,0,0,0,0,0.025915129,0.021414108,0.301296274,0.651374488,0,0,0,0,0,0,0,0 +social,FALSE,15,2,0,0,0,0,0,0,0,0.038851326,0.060308128,0.040085863,0.860754683,0,0,0,0,0,0,0,0 +social,FALSE,15,3,0,0,0,0,0,0,0,0,0,0.337125075,0.662874925,0,0,0,0,0,0,0,0 +social,FALSE,15,4,0,0,0,0,0,0,0,0,0,0.240804556,0.759195444,0,0,0,0,0,0,0,0 +social,FALSE,16,1,0,0,0,0,0,0,0.010850109,0.028630302,0.034941364,0.027356994,0.399487153,0.498734077,0,0,0,0,0,0,0 +social,FALSE,16,2,0,0,0,0,0,0,0,0.085290601,0.096379465,0.140055991,0.14515731,0.533116633,0,0,0,0,0,0,0 +social,FALSE,16,3,0,0,0,0,0,0,0,0.039789367,0,0,0.207791274,0.752419359,0,0,0,0,0,0,0 +social,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.444162303,0.555837697,0,0,0,0,0,0,0 +social,FALSE,17,1,0,0,0,0,0,0.004235542,0.004235542,0.010773772,0.036037056,0.011244257,0.008654904,0.185030812,0.739788115,0,0,0,0,0,0 +social,FALSE,17,2,0,0,0,0,0,0,0.011747117,0.030318289,0,0.026130418,0.124118238,0.265470463,0.542215475,0,0,0,0,0,0 +social,FALSE,17,3,0,0,0,0,0,0,0,0.035991711,0.05581904,0,0.118744644,0.174641807,0.614802798,0,0,0,0,0,0 +social,FALSE,17,4,0,0,0,0,0,0,0,0,0,0.133377911,0.156860689,0.067276975,0.642484425,0,0,0,0,0,0 +social,FALSE,18,1,0,0,0,0,0,0,0,0,0.021116578,0,0.023935246,0.014708731,0.292437045,0.6478024,0,0,0,0,0 +social,FALSE,18,2,0,0,0,0,0,0,0,0,0.050647706,0.018469336,0.057408229,0.034520986,0.245483705,0.593470039,0,0,0,0,0 +social,FALSE,18,3,0,0,0,0,0,0,0,0,0.215338024,0,0,0.143481023,0.32589869,0.315282263,0,0,0,0,0 +social,FALSE,18,4,0,0,0,0,0,0,0.012374723,0.012374723,0.037124169,0,0.012374723,0.11617789,0.120134128,0.689439644,0,0,0,0,0 +social,FALSE,19,1,0,0,0,0,0,0,0.007898288,0,0,0,0,0,0.121563834,0.284121966,0.586415912,0,0,0,0 +social,FALSE,19,2,0,0,0,0,0,0,0.039741889,0,0,0,0.02465859,0.116870248,0.036063489,0.320456158,0.462209626,0,0,0,0 +social,FALSE,19,3,0,0,0,0,0,0,0,0.054643855,0,0,0,0.060605496,0.025192236,0.702933269,0.156625145,0,0,0,0 +social,FALSE,19,4,0,0,0,0,0,0,0,0,0.175116816,0,0.022349377,0.130418062,0.054376362,0.036216461,0.581522921,0,0,0,0 +social,FALSE,20,1,0,0,0,0,0,0,0,0.006741002,0,0,0.01216091,0,0,0,0.185101107,0.795996982,0,0,0 +social,FALSE,20,2,0,0,0,0,0,0,0,0,0,0.04641167,0,0.083727631,0.098296373,0,0.202274397,0.569289928,0,0,0 +social,FALSE,20,3,0,0,0,0,0,0,0,0,0,0.139066538,0,0,0,0.294532307,0.250878966,0.315522189,0,0,0 +social,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.139014445,0,0,0.258582347,0.602403208,0,0,0 +social,FALSE,21,1,0,0,0,0,0,0,0,0.006536044,0,0,0.004122227,0,0.009592478,0,0.025254876,0.168812361,0.785682015,0,0 +social,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0.009947847,0,0,0.015489709,0.091770901,0.882791543,0,0 +social,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0.035778147,0,0,0.059543199,0.096410036,0.808268618,0,0 +social,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.039227837,0,0,0,0.272007988,0.688764175,0,0 +social,FALSE,22,1,0,0,0,0,0,0,0.008693912,0,0,0.023590293,0,0,0.014992001,0.012884951,0.01979978,0.017778233,0.266462768,0.635798061,0 +social,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.054229245,0.01998552,0,0,0.183589112,0.020695417,0.01231348,0.164392793,0.544794434,0 +social,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0.03472135,0,0,0.015619534,0,0.035954672,0.531548096,0.382156347,0 +social,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0.05888279,0.05888279,0,0.176648369,0.09089481,0.189410385,0.425280856,0 +social,FALSE,23,1,0,0,0,0,0,0,0,0.028390618,0,0,0.004916978,0,0,0,0.014598183,0.07621256,0.027119644,0.125695917,0.7230661 +social,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0.01089797,0,0,0.031808043,0,0.091217964,0.172140515,0.693935509 +social,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052410677,0.231068411,0.716520911 +social,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061760943,0.229019025,0.709220031 +othdiscr,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,5,2,0.261967145,0.409228643,0,0,0,0,0.034160738,0.0288967,0,0.105662564,0,0.028934007,0.099906136,0.031244066,0,0,0,0,0 +othdiscr,TRUE,5,3,0.05651263,0.078010805,0,0,0,0,0,0,0,0,0.105067549,0.353285463,0.190245768,0,0.216877785,0,0,0,0 +othdiscr,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,6,2,0,0.098860067,0.663141032,0.044723228,0.012153718,0.015393409,0,0.016907036,0,0.010826104,0.098262057,0.016422181,0.023311168,0,0,0,0,0,0 +othdiscr,TRUE,6,3,0,0.024215249,0.736578596,0.018671746,0.050466724,0,0.046817344,0.010678175,0.023238019,0,0.032556217,0,0.035620327,0.021157602,0,0,0,0,0 +othdiscr,TRUE,6,4,0,0,0.081847071,0,0.338763551,0,0.240085302,0,0.114633558,0,0.146128192,0,0,0.078542326,0,0,0,0,0 +othdiscr,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,7,2,0,0,0.352097404,0.309242997,0.08178386,0.093069138,0.009864271,0.017742267,0,0.050016669,0.019229555,0.024087308,0.042866531,0,0,0,0,0,0 +othdiscr,TRUE,7,3,0,0,0.212218699,0.104250306,0.22359596,0.028585094,0,0.022759931,0.040936909,0.272511733,0,0,0,0.095141367,0,0,0,0,0 +othdiscr,TRUE,7,4,0,0,0,0.429994902,0.250073782,0.067515708,0.179786534,0,0,0,0,0,0,0,0.072629074,0,0,0,0 +othdiscr,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,8,2,0,0,0,0.27373664,0.651618467,0.038952541,0.006393093,0,0,0.010887769,0.010198326,0,0.008213164,0,0,0,0,0,0 +othdiscr,TRUE,8,3,0,0,0,0.256077087,0.567372083,0.111208754,0.044947659,0,0,0,0,0.020394418,0,0,0,0,0,0,0 +othdiscr,TRUE,8,4,0,0,0,0,0.419368759,0.043993527,0.123598787,0,0,0,0,0.092242747,0.32079618,0,0,0,0,0,0 +othdiscr,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,9,2,0,0,0,0,0.325654332,0.331629325,0.251597773,0.036069214,0,0,0.007507425,0,0.005333887,0,0.042208044,0,0,0,0 +othdiscr,TRUE,9,3,0,0,0,0,0.296114826,0.283133229,0.171133878,0.024057098,0.039684124,0,0.104372804,0,0,0,0.081504041,0,0,0,0 +othdiscr,TRUE,9,4,0,0,0,0,0,0.026872303,0.087815216,0.185433391,0.459158688,0.037962963,0.202757439,0,0,0,0,0,0,0,0 +othdiscr,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,10,2,0,0,0,0,0,0.284975884,0.535943751,0.094599159,0.060212546,0,0,0,0.014932613,0,0.009336047,0,0,0,0 +othdiscr,TRUE,10,3,0,0,0,0,0,0.03549155,0.582807345,0.127174633,0.224739775,0,0,0,0,0.029786697,0,0,0,0,0 +othdiscr,TRUE,10,4,0,0,0,0,0,0,0.354929378,0.145446894,0.499623728,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,11,2,0,0,0,0,0,0,0.373878462,0.422332476,0.042754045,0.138634672,0.012364309,0.010036036,0,0,0,0,0,0,0 +othdiscr,TRUE,11,3,0,0,0,0,0,0,0.120480473,0.332302699,0.091421072,0.287256805,0.161854878,0.006684074,0,0,0,0,0,0,0 +othdiscr,TRUE,11,4,0,0,0,0,0,0,0.227930951,0,0.335102136,0.044198628,0.207476437,0,0.185291847,0,0,0,0,0,0 +othdiscr,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,12,2,0,0,0,0,0,0,0,0.383615621,0.305559088,0.131113594,0.103542737,0.07616896,0,0,0,0,0,0,0 +othdiscr,TRUE,12,3,0,0,0,0,0,0,0,0.128632011,0.247877929,0.37071038,0.084899625,0.167880054,0,0,0,0,0,0,0 +othdiscr,TRUE,12,4,0,0,0,0,0,0,0,0,0.205547015,0.162425226,0.239993719,0,0.392034039,0,0,0,0,0,0 +othdiscr,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,13,2,0,0,0,0,0,0,0,0,0.353861476,0.371100297,0.168208236,0.052680009,0.054149982,0,0,0,0,0,0 +othdiscr,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.679754381,0.320245619,0,0,0,0,0,0,0,0 +othdiscr,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.043643993,0.545880167,0.094829055,0.241931264,0,0.073715521,0,0,0,0 +othdiscr,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.288892103,0.603164379,0.048532082,0.059411436,0,0,0,0,0,0 +othdiscr,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.021579093,0.46445134,0.316987948,0.142583522,0.054398096,0,0,0,0,0 +othdiscr,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.09464155,0.567572891,0.33778556,0,0,0,0,0,0,0 +othdiscr,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.373801479,0.542977323,0.070343764,0.01078053,0.002096902,0,0,0,0 +othdiscr,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.122689199,0.717331575,0.030530698,0.123760049,0.005688479,0,0,0,0 +othdiscr,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.635796163,0,0,0.364203837,0,0,0,0 +othdiscr,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.712603233,0.193798154,0.048982419,0.039696774,0.00491942,0,0,0 +othdiscr,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.841745433,0.101833145,0.027409468,0,0.029011955,0,0,0 +othdiscr,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.17218743,0.195323109,0.429118156,0,0.203371304,0,0 +othdiscr,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.185120326,0.587302234,0.220258146,0,0.007319293,0,0 +othdiscr,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.183125342,0.285960671,0.48842584,0.013192652,0.029295494,0,0 +othdiscr,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102125632,0.746583804,0.151290564,0,0,0 +othdiscr,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542729526,0.35986304,0.097407435,0,0,0 +othdiscr,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480620595,0.242765324,0.062025461,0.187335855,0.027252764,0 +othdiscr,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098853758,0.563447888,0.242412271,0,0.095286083,0 +othdiscr,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.341735737,0.560576797,0.050581281,0.047106185,0 +othdiscr,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.213928771,0.439416592,0,0.346654637,0 +othdiscr,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.849356959,0.101132981,0.025617338,0.023892721 +othdiscr,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 othdiscr,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/workplace_location.csv b/activitysim/examples/placeholder_psrc/configs/workplace_location.csv old mode 100644 new mode 100755 similarity index 99% rename from activitysim/examples/example_mtc/configs/workplace_location.csv rename to activitysim/examples/placeholder_psrc/configs/workplace_location.csv index ea56a39c9f..3ac8b59e96 --- a/activitysim/examples/example_mtc/configs/workplace_location.csv +++ b/activitysim/examples/placeholder_psrc/configs/workplace_location.csv @@ -1,14 +1,14 @@ -Label,Description,Expression,coefficient -local_dist,,_DIST@skims['DIST'],1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up -util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high -util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 -util_no_attractions,No attractions,@df['size_term']==0,-999 -util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum +Label,Description,Expression,coefficient +local_dist,,_DIST@skims['DIST'],1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up +util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high +util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 +util_no_attractions,No attractions,@df['size_term']==0,-999 +util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1 \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/workplace_location.yaml b/activitysim/examples/placeholder_psrc/configs/workplace_location.yaml similarity index 96% rename from activitysim/examples/example_psrc/configs/workplace_location.yaml rename to activitysim/examples/placeholder_psrc/configs/workplace_location.yaml index 0f2073520c..71c1b74d5f 100755 --- a/activitysim/examples/example_psrc/configs/workplace_location.yaml +++ b/activitysim/examples/placeholder_psrc/configs/workplace_location.yaml @@ -1,73 +1,73 @@ -SAMPLE_SIZE: 30 - -SIMULATE_CHOOSER_COLUMNS: - - income_segment - - home_zone_id - -SAMPLE_SPEC: workplace_location_sample.csv -SPEC: workplace_location.csv -COEFFICIENTS: workplace_location_coeffs.csv - -LOGSUM_SETTINGS: tour_mode_choice.yaml -LOGSUM_PREPROCESSOR: nontour_preprocessor -LOGSUM_TOUR_PURPOSE: work - -# model-specific logsum-related settings -CHOOSER_ORIG_COL_NAME: home_zone_id -ALT_DEST_COL_NAME: alt_dest -IN_PERIOD: 17 -OUT_PERIOD: 8 - -DEST_CHOICE_COLUMN_NAME: workplace_zone_id -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if not desired in persons table -DEST_CHOICE_LOGSUM_COLUMN_NAME: workplace_location_logsum - -# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table -DEST_CHOICE_SAMPLE_TABLE_NAME: workplace_location_sample - - -annotate_persons: - SPEC: annotate_persons_workplace - DF: persons - TABLES: - - land_use - -annotate_households: - SPEC: annotate_households_workplace - DF: households - TABLES: - - persons - -# - shadow pricing - - -# income_segment is in households, but we want to count persons -CHOOSER_TABLE_NAME: persons_merged - -# size_terms model_selector -MODEL_SELECTOR: workplace - -# we can't use use household income_segment as this will also be set for non-workers -CHOOSER_SEGMENT_COLUMN_NAME: income_segment - -# boolean column to filter choosers (True means keep) -CHOOSER_FILTER_COLUMN_NAME: is_worker - -# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this -# FIXME - these are not needed for this model and should be re/factored out -SEGMENT_IDS: - work_low: 1 - work_med: 2 - work_high: 3 - work_veryhigh: 4 - -CONSTANTS: - WORK_HIGH_SEGMENT_ID: 3 - - -# model adds these tables (informational - not added if commented out) -SHADOW_PRICE_TABLE: workplace_shadow_prices -MODELED_SIZE_TABLE: workplace_modeled_size - -# not loaded if commented out -SAVED_SHADOW_PRICE_TABLE_NAME: workplace_shadow_prices.csv +SAMPLE_SIZE: 30 + +SIMULATE_CHOOSER_COLUMNS: + - income_segment + - home_zone_id + +SAMPLE_SPEC: workplace_location_sample.csv +SPEC: workplace_location.csv +COEFFICIENTS: workplace_location_coeffs.csv + +LOGSUM_SETTINGS: tour_mode_choice.yaml +LOGSUM_PREPROCESSOR: nontour_preprocessor +LOGSUM_TOUR_PURPOSE: work + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: home_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 17 +OUT_PERIOD: 8 + +DEST_CHOICE_COLUMN_NAME: workplace_zone_id +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if not desired in persons table +DEST_CHOICE_LOGSUM_COLUMN_NAME: workplace_location_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: workplace_location_sample + + +annotate_persons: + SPEC: annotate_persons_workplace + DF: persons + TABLES: + - land_use + +annotate_households: + SPEC: annotate_households_workplace + DF: households + TABLES: + - persons + +# - shadow pricing + + +# income_segment is in households, but we want to count persons +CHOOSER_TABLE_NAME: persons_merged + +# size_terms model_selector +MODEL_SELECTOR: workplace + +# we can't use use household income_segment as this will also be set for non-workers +CHOOSER_SEGMENT_COLUMN_NAME: income_segment + +# boolean column to filter choosers (True means keep) +CHOOSER_FILTER_COLUMN_NAME: is_worker + +# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this +# FIXME - these are not needed for this model and should be re/factored out +SEGMENT_IDS: + work_low: 1 + work_med: 2 + work_high: 3 + work_veryhigh: 4 + +CONSTANTS: + WORK_HIGH_SEGMENT_ID: 3 + + +# model adds these tables (informational - not added if commented out) +SHADOW_PRICE_TABLE: workplace_shadow_prices +MODELED_SIZE_TABLE: workplace_modeled_size + +# not loaded if commented out +SAVED_SHADOW_PRICE_TABLE_NAME: workplace_shadow_prices.csv diff --git a/activitysim/examples/example_mtc/configs/workplace_location_coefficients.csv b/activitysim/examples/placeholder_psrc/configs/workplace_location_coeffs.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/workplace_location_coefficients.csv rename to activitysim/examples/placeholder_psrc/configs/workplace_location_coeffs.csv diff --git a/activitysim/examples/example_mtc/configs/workplace_location_sample.csv b/activitysim/examples/placeholder_psrc/configs/workplace_location_sample.csv old mode 100644 new mode 100755 similarity index 100% rename from activitysim/examples/example_mtc/configs/workplace_location_sample.csv rename to activitysim/examples/placeholder_psrc/configs/workplace_location_sample.csv diff --git a/activitysim/examples/example_psrc/configs/write_trip_matrices.yaml b/activitysim/examples/placeholder_psrc/configs/write_trip_matrices.yaml similarity index 96% rename from activitysim/examples/example_psrc/configs/write_trip_matrices.yaml rename to activitysim/examples/placeholder_psrc/configs/write_trip_matrices.yaml index 6059d750e9..56828439ef 100755 --- a/activitysim/examples/example_psrc/configs/write_trip_matrices.yaml +++ b/activitysim/examples/placeholder_psrc/configs/write_trip_matrices.yaml @@ -1,274 +1,274 @@ -# read trips table post preprocessor and run expressions to code -# additional data fields, with one data fields for each matrix specified below - -preprocessor: - SPEC: write_trip_matrices_annotate_trips_preprocessor - DF: trips - TABLES: - - tours - -# divide trip counts by household expansion factor -HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in - -# save preprocessed trips table to pipeline if desired -SAVE_TRIPS_TABLE: False - -MATRICES: - - file_name: trips_ea.omx - tables: - - name: DRIVEALONEFREE_EA - data_field: DRIVEALONEFREE_EA - - name: DRIVEALONEPAY_EA - data_field: DRIVEALONEPAY_EA - - name: SHARED2FREE_EA - data_field: SHARED2FREE_EA - - name: SHARED2PAY_EA - data_field: SHARED2PAY_EA - - name: SHARED3FREE_EA - data_field: SHARED3FREE_EA - - name: SHARED3PAY_EA - data_field: SHARED3PAY_EA - - name: WALK_EA - data_field: WALK_EA - - name: BIKE_EA - data_field: BIKE_EA - - name: WALK_LOC_WALK_EA - data_field: WALK_LOC_WALK_EA - - name: WALK_LRF_WALK_EA - data_field: WALK_LRF_WALK_EA - - name: WALK_EXP_WALK_EA - data_field: WALK_EXP_WALK_EA - - name: WALK_HVY_WALK_EA - data_field: WALK_HVY_WALK_EA - - name: WALK_COM_WALK_EA - data_field: WALK_COM_WALK_EA - - name: DRIVE_LOC_WALK_EA - data_field: DRIVE_LOC_WALK_EA - - name: DRIVE_LRF_WALK_EA - data_field: DRIVE_LRF_WALK_EA - - name: DRIVE_EXP_WALK_EA - data_field: DRIVE_EXP_WALK_EA - - name: DRIVE_HVY_WALK_EA - data_field: DRIVE_HVY_WALK_EA - - name: DRIVE_COM_WALK_EA - data_field: DRIVE_COM_WALK_EA - - name: WALK_LOC_DRIVE_EA - data_field: WALK_LOC_DRIVE_EA - - name: WALK_LRF_DRIVE_EA - data_field: WALK_LRF_DRIVE_EA - - name: WALK_EXP_DRIVE_EA - data_field: WALK_EXP_DRIVE_EA - - name: WALK_DRIVE_HVY_EA - data_field: WALK_DRIVE_HVY_EA - - name: WALK_COM_DRIVE_EA - data_field: WALK_COM_DRIVE_EA - - file_name: trips_am.omx - tables: - - name: DRIVEALONEFREE_AM - data_field: DRIVEALONEFREE_AM - - name: DRIVEALONEPAY_AM - data_field: DRIVEALONEPAY_AM - - name: SHARED2FREE_AM - data_field: SHARED2FREE_AM - - name: SHARED2PAY_AM - data_field: SHARED2PAY_AM - - name: SHARED3FREE_AM - data_field: SHARED3FREE_AM - - name: SHARED3PAY_AM - data_field: SHARED3PAY_AM - - name: WALK_AM - data_field: WALK_AM - - name: BIKE_AM - data_field: BIKE_AM - - name: WALK_LOC_WALK_AM - data_field: WALK_LOC_WALK_AM - - name: WALK_LRF_WALK_AM - data_field: WALK_LRF_WALK_AM - - name: WALK_EXP_WALK_AM - data_field: WALK_EXP_WALK_AM - - name: WALK_HVY_WALK_AM - data_field: WALK_HVY_WALK_AM - - name: WALK_COM_WALK_AM - data_field: WALK_COM_WALK_AM - - name: DRIVE_LOC_WALK_AM - data_field: DRIVE_LOC_WALK_AM - - name: DRIVE_LRF_WALK_AM - data_field: DRIVE_LRF_WALK_AM - - name: DRIVE_EXP_WALK_AM - data_field: DRIVE_EXP_WALK_AM - - name: DRIVE_HVY_WALK_AM - data_field: DRIVE_HVY_WALK_AM - - name: DRIVE_COM_WALK_AM - data_field: DRIVE_COM_WALK_AM - - name: WALK_LOC_DRIVE_AM - data_field: WALK_LOC_DRIVE_AM - - name: WALK_LRF_DRIVE_AM - data_field: WALK_LRF_DRIVE_AM - - name: WALK_EXP_DRIVE_AM - data_field: WALK_EXP_DRIVE_AM - - name: WALK_DRIVE_HVY_AM - data_field: WALK_DRIVE_HVY_AM - - name: WALK_COM_DRIVE_AM - data_field: WALK_COM_DRIVE_AM - - file_name: trips_md.omx - tables: - - name: DRIVEALONEFREE_MD - data_field: DRIVEALONEFREE_MD - - name: DRIVEALONEPAY_MD - data_field: DRIVEALONEPAY_MD - - name: SHARED2FREE_MD - data_field: SHARED2FREE_MD - - name: SHARED2PAY_MD - data_field: SHARED2PAY_MD - - name: SHARED3FREE_MD - data_field: SHARED3FREE_MD - - name: SHARED3PAY_MD - data_field: SHARED3PAY_MD - - name: WALK_MD - data_field: WALK_MD - - name: BIKE_MD - data_field: BIKE_MD - - name: WALK_LOC_WALK_MD - data_field: WALK_LOC_WALK_MD - - name: WALK_LRF_WALK_MD - data_field: WALK_LRF_WALK_MD - - name: WALK_EXP_WALK_MD - data_field: WALK_EXP_WALK_MD - - name: WALK_HVY_WALK_MD - data_field: WALK_HVY_WALK_MD - - name: WALK_COM_WALK_MD - data_field: WALK_COM_WALK_MD - - name: DRIVE_LOC_WALK_MD - data_field: DRIVE_LOC_WALK_MD - - name: DRIVE_LRF_WALK_MD - data_field: DRIVE_LRF_WALK_MD - - name: DRIVE_EXP_WALK_MD - data_field: DRIVE_EXP_WALK_MD - - name: DRIVE_HVY_WALK_MD - data_field: DRIVE_HVY_WALK_MD - - name: DRIVE_COM_WALK_MD - data_field: DRIVE_COM_WALK_MD - - name: WALK_LOC_DRIVE_MD - data_field: WALK_LOC_DRIVE_MD - - name: WALK_LRF_DRIVE_MD - data_field: WALK_LRF_DRIVE_MD - - name: WALK_EXP_DRIVE_MD - data_field: WALK_EXP_DRIVE_MD - - name: WALK_DRIVE_HVY_MD - data_field: WALK_DRIVE_HVY_MD - - name: WALK_COM_DRIVE_MD - data_field: WALK_COM_DRIVE_MD - - file_name: trips_pm.omx - tables: - - name: DRIVEALONEFREE_PM - data_field: DRIVEALONEFREE_PM - - name: DRIVEALONEPAY_PM - data_field: DRIVEALONEPAY_PM - - name: SHARED2FREE_PM - data_field: SHARED2FREE_PM - - name: SHARED2PAY_PM - data_field: SHARED2PAY_PM - - name: SHARED3FREE_PM - data_field: SHARED3FREE_PM - - name: SHARED3PAY_PM - data_field: SHARED3PAY_PM - - name: WALK_PM - data_field: WALK_PM - - name: BIKE_PM - data_field: BIKE_PM - - name: WALK_LOC_WALK_PM - data_field: WALK_LOC_WALK_PM - - name: WALK_LRF_WALK_PM - data_field: WALK_LRF_WALK_PM - - name: WALK_EXP_WALK_PM - data_field: WALK_EXP_WALK_PM - - name: WALK_HVY_WALK_PM - data_field: WALK_HVY_WALK_PM - - name: WALK_COM_WALK_PM - data_field: WALK_COM_WALK_PM - - name: DRIVE_LOC_WALK_PM - data_field: DRIVE_LOC_WALK_PM - - name: DRIVE_LRF_WALK_PM - data_field: DRIVE_LRF_WALK_PM - - name: DRIVE_EXP_WALK_PM - data_field: DRIVE_EXP_WALK_PM - - name: DRIVE_HVY_WALK_PM - data_field: DRIVE_HVY_WALK_PM - - name: DRIVE_COM_WALK_PM - data_field: DRIVE_COM_WALK_PM - - name: WALK_LOC_DRIVE_PM - data_field: WALK_LOC_DRIVE_PM - - name: WALK_LRF_DRIVE_PM - data_field: WALK_LRF_DRIVE_PM - - name: WALK_EXP_DRIVE_PM - data_field: WALK_EXP_DRIVE_PM - - name: WALK_DRIVE_HVY_PM - data_field: WALK_DRIVE_HVY_PM - - name: WALK_COM_DRIVE_PM - data_field: WALK_COM_DRIVE_PM - - file_name: trips_ev.omx - tables: - - name: DRIVEALONEFREE_EV - data_field: DRIVEALONEFREE_EV - - name: DRIVEALONEPAY_EV - data_field: DRIVEALONEPAY_EV - - name: SHARED2FREE_EV - data_field: SHARED2FREE_EV - - name: SHARED2PAY_EV - data_field: SHARED2PAY_EV - - name: SHARED3FREE_EV - data_field: SHARED3FREE_EV - - name: SHARED3PAY_EV - data_field: SHARED3PAY_EV - - name: WALK_EV - data_field: WALK_EV - - name: BIKE_EV - data_field: BIKE_EV - - name: WALK_LOC_WALK_EV - data_field: WALK_LOC_WALK_EV - - name: WALK_LRF_WALK_EV - data_field: WALK_LRF_WALK_EV - - name: WALK_EXP_WALK_EV - data_field: WALK_EXP_WALK_EV - - name: WALK_HVY_WALK_EV - data_field: WALK_HVY_WALK_EV - - name: WALK_COM_WALK_EV - data_field: WALK_COM_WALK_EV - - name: DRIVE_LOC_WALK_EV - data_field: DRIVE_LOC_WALK_EV - - name: DRIVE_LRF_WALK_EV - data_field: DRIVE_LRF_WALK_EV - - name: DRIVE_EXP_WALK_EV - data_field: DRIVE_EXP_WALK_EV - - name: DRIVE_HVY_WALK_EV - data_field: DRIVE_HVY_WALK_EV - - name: DRIVE_COM_WALK_EV - data_field: DRIVE_COM_WALK_EV - - name: WALK_LOC_DRIVE_EV - data_field: WALK_LOC_DRIVE_EV - - name: WALK_LRF_DRIVE_EV - data_field: WALK_LRF_DRIVE_EV - - name: WALK_EXP_DRIVE_EV - data_field: WALK_EXP_DRIVE_EV - - name: WALK_DRIVE_HVY_EV - data_field: WALK_DRIVE_HVY_EV - - name: WALK_COM_DRIVE_EV - data_field: WALK_COM_DRIVE_EV - -CONSTANTS: - time_periods: - EA: - first_hour: 3 - last_hour: 5 - AM: - first_hour: 6 - last_hour: 9 - MD: - first_hour: 10 - last_hour: 14 - PM: - first_hour: 15 - last_hour: 18 - EV: - first_hour: 19 - last_hour: 2 +# read trips table post preprocessor and run expressions to code +# additional data fields, with one data fields for each matrix specified below + +preprocessor: + SPEC: write_trip_matrices_annotate_trips_preprocessor + DF: trips + TABLES: + - tours + +# divide trip counts by household expansion factor +HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in + +# save preprocessed trips table to pipeline if desired +SAVE_TRIPS_TABLE: False + +MATRICES: + - file_name: trips_ea.omx + tables: + - name: DRIVEALONEFREE_EA + data_field: DRIVEALONEFREE_EA + - name: DRIVEALONEPAY_EA + data_field: DRIVEALONEPAY_EA + - name: SHARED2FREE_EA + data_field: SHARED2FREE_EA + - name: SHARED2PAY_EA + data_field: SHARED2PAY_EA + - name: SHARED3FREE_EA + data_field: SHARED3FREE_EA + - name: SHARED3PAY_EA + data_field: SHARED3PAY_EA + - name: WALK_EA + data_field: WALK_EA + - name: BIKE_EA + data_field: BIKE_EA + - name: WALK_LOC_WALK_EA + data_field: WALK_LOC_WALK_EA + - name: WALK_LRF_WALK_EA + data_field: WALK_LRF_WALK_EA + - name: WALK_EXP_WALK_EA + data_field: WALK_EXP_WALK_EA + - name: WALK_HVY_WALK_EA + data_field: WALK_HVY_WALK_EA + - name: WALK_COM_WALK_EA + data_field: WALK_COM_WALK_EA + - name: DRIVE_LOC_WALK_EA + data_field: DRIVE_LOC_WALK_EA + - name: DRIVE_LRF_WALK_EA + data_field: DRIVE_LRF_WALK_EA + - name: DRIVE_EXP_WALK_EA + data_field: DRIVE_EXP_WALK_EA + - name: DRIVE_HVY_WALK_EA + data_field: DRIVE_HVY_WALK_EA + - name: DRIVE_COM_WALK_EA + data_field: DRIVE_COM_WALK_EA + - name: WALK_LOC_DRIVE_EA + data_field: WALK_LOC_DRIVE_EA + - name: WALK_LRF_DRIVE_EA + data_field: WALK_LRF_DRIVE_EA + - name: WALK_EXP_DRIVE_EA + data_field: WALK_EXP_DRIVE_EA + - name: WALK_DRIVE_HVY_EA + data_field: WALK_DRIVE_HVY_EA + - name: WALK_COM_DRIVE_EA + data_field: WALK_COM_DRIVE_EA + - file_name: trips_am.omx + tables: + - name: DRIVEALONEFREE_AM + data_field: DRIVEALONEFREE_AM + - name: DRIVEALONEPAY_AM + data_field: DRIVEALONEPAY_AM + - name: SHARED2FREE_AM + data_field: SHARED2FREE_AM + - name: SHARED2PAY_AM + data_field: SHARED2PAY_AM + - name: SHARED3FREE_AM + data_field: SHARED3FREE_AM + - name: SHARED3PAY_AM + data_field: SHARED3PAY_AM + - name: WALK_AM + data_field: WALK_AM + - name: BIKE_AM + data_field: BIKE_AM + - name: WALK_LOC_WALK_AM + data_field: WALK_LOC_WALK_AM + - name: WALK_LRF_WALK_AM + data_field: WALK_LRF_WALK_AM + - name: WALK_EXP_WALK_AM + data_field: WALK_EXP_WALK_AM + - name: WALK_HVY_WALK_AM + data_field: WALK_HVY_WALK_AM + - name: WALK_COM_WALK_AM + data_field: WALK_COM_WALK_AM + - name: DRIVE_LOC_WALK_AM + data_field: DRIVE_LOC_WALK_AM + - name: DRIVE_LRF_WALK_AM + data_field: DRIVE_LRF_WALK_AM + - name: DRIVE_EXP_WALK_AM + data_field: DRIVE_EXP_WALK_AM + - name: DRIVE_HVY_WALK_AM + data_field: DRIVE_HVY_WALK_AM + - name: DRIVE_COM_WALK_AM + data_field: DRIVE_COM_WALK_AM + - name: WALK_LOC_DRIVE_AM + data_field: WALK_LOC_DRIVE_AM + - name: WALK_LRF_DRIVE_AM + data_field: WALK_LRF_DRIVE_AM + - name: WALK_EXP_DRIVE_AM + data_field: WALK_EXP_DRIVE_AM + - name: WALK_DRIVE_HVY_AM + data_field: WALK_DRIVE_HVY_AM + - name: WALK_COM_DRIVE_AM + data_field: WALK_COM_DRIVE_AM + - file_name: trips_md.omx + tables: + - name: DRIVEALONEFREE_MD + data_field: DRIVEALONEFREE_MD + - name: DRIVEALONEPAY_MD + data_field: DRIVEALONEPAY_MD + - name: SHARED2FREE_MD + data_field: SHARED2FREE_MD + - name: SHARED2PAY_MD + data_field: SHARED2PAY_MD + - name: SHARED3FREE_MD + data_field: SHARED3FREE_MD + - name: SHARED3PAY_MD + data_field: SHARED3PAY_MD + - name: WALK_MD + data_field: WALK_MD + - name: BIKE_MD + data_field: BIKE_MD + - name: WALK_LOC_WALK_MD + data_field: WALK_LOC_WALK_MD + - name: WALK_LRF_WALK_MD + data_field: WALK_LRF_WALK_MD + - name: WALK_EXP_WALK_MD + data_field: WALK_EXP_WALK_MD + - name: WALK_HVY_WALK_MD + data_field: WALK_HVY_WALK_MD + - name: WALK_COM_WALK_MD + data_field: WALK_COM_WALK_MD + - name: DRIVE_LOC_WALK_MD + data_field: DRIVE_LOC_WALK_MD + - name: DRIVE_LRF_WALK_MD + data_field: DRIVE_LRF_WALK_MD + - name: DRIVE_EXP_WALK_MD + data_field: DRIVE_EXP_WALK_MD + - name: DRIVE_HVY_WALK_MD + data_field: DRIVE_HVY_WALK_MD + - name: DRIVE_COM_WALK_MD + data_field: DRIVE_COM_WALK_MD + - name: WALK_LOC_DRIVE_MD + data_field: WALK_LOC_DRIVE_MD + - name: WALK_LRF_DRIVE_MD + data_field: WALK_LRF_DRIVE_MD + - name: WALK_EXP_DRIVE_MD + data_field: WALK_EXP_DRIVE_MD + - name: WALK_DRIVE_HVY_MD + data_field: WALK_DRIVE_HVY_MD + - name: WALK_COM_DRIVE_MD + data_field: WALK_COM_DRIVE_MD + - file_name: trips_pm.omx + tables: + - name: DRIVEALONEFREE_PM + data_field: DRIVEALONEFREE_PM + - name: DRIVEALONEPAY_PM + data_field: DRIVEALONEPAY_PM + - name: SHARED2FREE_PM + data_field: SHARED2FREE_PM + - name: SHARED2PAY_PM + data_field: SHARED2PAY_PM + - name: SHARED3FREE_PM + data_field: SHARED3FREE_PM + - name: SHARED3PAY_PM + data_field: SHARED3PAY_PM + - name: WALK_PM + data_field: WALK_PM + - name: BIKE_PM + data_field: BIKE_PM + - name: WALK_LOC_WALK_PM + data_field: WALK_LOC_WALK_PM + - name: WALK_LRF_WALK_PM + data_field: WALK_LRF_WALK_PM + - name: WALK_EXP_WALK_PM + data_field: WALK_EXP_WALK_PM + - name: WALK_HVY_WALK_PM + data_field: WALK_HVY_WALK_PM + - name: WALK_COM_WALK_PM + data_field: WALK_COM_WALK_PM + - name: DRIVE_LOC_WALK_PM + data_field: DRIVE_LOC_WALK_PM + - name: DRIVE_LRF_WALK_PM + data_field: DRIVE_LRF_WALK_PM + - name: DRIVE_EXP_WALK_PM + data_field: DRIVE_EXP_WALK_PM + - name: DRIVE_HVY_WALK_PM + data_field: DRIVE_HVY_WALK_PM + - name: DRIVE_COM_WALK_PM + data_field: DRIVE_COM_WALK_PM + - name: WALK_LOC_DRIVE_PM + data_field: WALK_LOC_DRIVE_PM + - name: WALK_LRF_DRIVE_PM + data_field: WALK_LRF_DRIVE_PM + - name: WALK_EXP_DRIVE_PM + data_field: WALK_EXP_DRIVE_PM + - name: WALK_DRIVE_HVY_PM + data_field: WALK_DRIVE_HVY_PM + - name: WALK_COM_DRIVE_PM + data_field: WALK_COM_DRIVE_PM + - file_name: trips_ev.omx + tables: + - name: DRIVEALONEFREE_EV + data_field: DRIVEALONEFREE_EV + - name: DRIVEALONEPAY_EV + data_field: DRIVEALONEPAY_EV + - name: SHARED2FREE_EV + data_field: SHARED2FREE_EV + - name: SHARED2PAY_EV + data_field: SHARED2PAY_EV + - name: SHARED3FREE_EV + data_field: SHARED3FREE_EV + - name: SHARED3PAY_EV + data_field: SHARED3PAY_EV + - name: WALK_EV + data_field: WALK_EV + - name: BIKE_EV + data_field: BIKE_EV + - name: WALK_LOC_WALK_EV + data_field: WALK_LOC_WALK_EV + - name: WALK_LRF_WALK_EV + data_field: WALK_LRF_WALK_EV + - name: WALK_EXP_WALK_EV + data_field: WALK_EXP_WALK_EV + - name: WALK_HVY_WALK_EV + data_field: WALK_HVY_WALK_EV + - name: WALK_COM_WALK_EV + data_field: WALK_COM_WALK_EV + - name: DRIVE_LOC_WALK_EV + data_field: DRIVE_LOC_WALK_EV + - name: DRIVE_LRF_WALK_EV + data_field: DRIVE_LRF_WALK_EV + - name: DRIVE_EXP_WALK_EV + data_field: DRIVE_EXP_WALK_EV + - name: DRIVE_HVY_WALK_EV + data_field: DRIVE_HVY_WALK_EV + - name: DRIVE_COM_WALK_EV + data_field: DRIVE_COM_WALK_EV + - name: WALK_LOC_DRIVE_EV + data_field: WALK_LOC_DRIVE_EV + - name: WALK_LRF_DRIVE_EV + data_field: WALK_LRF_DRIVE_EV + - name: WALK_EXP_DRIVE_EV + data_field: WALK_EXP_DRIVE_EV + - name: WALK_DRIVE_HVY_EV + data_field: WALK_DRIVE_HVY_EV + - name: WALK_COM_DRIVE_EV + data_field: WALK_COM_DRIVE_EV + +CONSTANTS: + time_periods: + EA: + first_hour: 3 + last_hour: 5 + AM: + first_hour: 6 + last_hour: 9 + MD: + first_hour: 10 + last_hour: 14 + PM: + first_hour: 15 + last_hour: 18 + EV: + first_hour: 19 + last_hour: 2 diff --git a/activitysim/examples/example_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv similarity index 98% rename from activitysim/examples/example_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv index 8f3e386e60..9dc036679f 100755 --- a/activitysim/examples/example_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv +++ b/activitysim/examples/placeholder_psrc/configs/write_trip_matrices_annotate_trips_preprocessor.csv @@ -1,130 +1,130 @@ -Description,Target,Expression -# add additional fields,, -,tour_participants,trips.tour_id.map(tours.number_of_participants) -,distance,od_skims['DIST'] -# code time periods,, -,is_ea,"trips.depart.between(time_periods['EA']['first_hour'], time_periods['EA']['last_hour'])" -,is_am,"trips.depart.between(time_periods['AM']['first_hour'], time_periods['AM']['last_hour'])" -,is_md,"trips.depart.between(time_periods['MD']['first_hour'], time_periods['MD']['last_hour'])" -,is_pm,"trips.depart.between(time_periods['PM']['first_hour'], time_periods['PM']['last_hour'])" -,is_ev,(trips.depart >= time_periods['EV']['first_hour']) | (trips.depart <= time_periods['EV']['last_hour']) -# ea trips,, -,DRIVEALONEFREE_EA,((trips.trip_mode == 'DRIVEALONEFREE') & is_ea) * tour_participants -,DRIVEALONEPAY_EA,((trips.trip_mode == 'DRIVEALONEPAY') & is_ea) * tour_participants -,SHARED2FREE_EA,((trips.trip_mode == 'SHARED2FREE') & is_ea) * tour_participants -,SHARED2PAY_EA,((trips.trip_mode == 'SHARED2PAY') & is_ea) * tour_participants -,SHARED3FREE_EA,((trips.trip_mode == 'SHARED3FREE') & is_ea) * tour_participants -,SHARED3PAY_EA,((trips.trip_mode == 'SHARED3PAY') & is_ea) * tour_participants -,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants -,BIKE_EA,((trips.trip_mode == 'BIKE') & is_ea) * tour_participants -,WALK_LOC_WALK_EA,((trips.trip_mode == 'WALK_LOC') & is_ea) * tour_participants -,WALK_LRF_WALK_EA,((trips.trip_mode == 'WALK_LRF') & is_ea) * tour_participants -,WALK_EXP_WALK_EA,((trips.trip_mode == 'WALK_EXP') & is_ea) * tour_participants -,WALK_HVY_WALK_EA,((trips.trip_mode == 'WALK_HVY') & is_ea) * tour_participants -,WALK_COM_WALK_EA,((trips.trip_mode == 'WALK_COM') & is_ea) * tour_participants -,DRIVE_LOC_WALK_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & trips.outbound) * tour_participants -,DRIVE_COM_WALK_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & ~trips.outbound) * tour_participants -# am trips,, -,DRIVEALONEFREE_AM,((trips.trip_mode == 'DRIVEALONEFREE') & is_am) * tour_participants -,DRIVEALONEPAY_AM,((trips.trip_mode == 'DRIVEALONEPAY') & is_am) * tour_participants -,SHARED2FREE_AM,((trips.trip_mode == 'SHARED2FREE') & is_am) * tour_participants -,SHARED2PAY_AM,((trips.trip_mode == 'SHARED2PAY') & is_am) * tour_participants -,SHARED3FREE_AM,((trips.trip_mode == 'SHARED3FREE') & is_am) * tour_participants -,SHARED3PAY_AM,((trips.trip_mode == 'SHARED3PAY') & is_am) * tour_participants -,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants -,BIKE_AM,((trips.trip_mode == 'BIKE') & is_am) * tour_participants -,WALK_LOC_WALK_AM,((trips.trip_mode == 'WALK_LOC') & is_am) * tour_participants -,WALK_LRF_WALK_AM,((trips.trip_mode == 'WALK_LRF') & is_am) * tour_participants -,WALK_EXP_WALK_AM,((trips.trip_mode == 'WALK_EXP') & is_am) * tour_participants -,WALK_HVY_WALK_AM,((trips.trip_mode == 'WALK_HVY') & is_am) * tour_participants -,WALK_COM_WALK_AM,((trips.trip_mode == 'WALK_COM') & is_am) * tour_participants -,DRIVE_LOC_WALK_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & trips.outbound) * tour_participants -,DRIVE_COM_WALK_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & ~trips.outbound) * tour_participants -# md trips,, -,DRIVEALONEFREE_MD,((trips.trip_mode == 'DRIVEALONEFREE') & is_md) * tour_participants -,DRIVEALONEPAY_MD,((trips.trip_mode == 'DRIVEALONEPAY') & is_md) * tour_participants -,SHARED2FREE_MD,((trips.trip_mode == 'SHARED2FREE') & is_md) * tour_participants -,SHARED2PAY_MD,((trips.trip_mode == 'SHARED2PAY') & is_md) * tour_participants -,SHARED3FREE_MD,((trips.trip_mode == 'SHARED3FREE') & is_md) * tour_participants -,SHARED3PAY_MD,((trips.trip_mode == 'SHARED3PAY') & is_md) * tour_participants -,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants -,BIKE_MD,((trips.trip_mode == 'BIKE') & is_md) * tour_participants -,WALK_LOC_WALK_MD,((trips.trip_mode == 'WALK_LOC') & is_md) * tour_participants -,WALK_LRF_WALK_MD,((trips.trip_mode == 'WALK_LRF') & is_md) * tour_participants -,WALK_EXP_WALK_MD,((trips.trip_mode == 'WALK_EXP') & is_md) * tour_participants -,WALK_HVY_WALK_MD,((trips.trip_mode == 'WALK_HVY') & is_md) * tour_participants -,WALK_COM_WALK_MD,((trips.trip_mode == 'WALK_COM') & is_md) * tour_participants -,DRIVE_LOC_WALK_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & trips.outbound) * tour_participants -,DRIVE_COM_WALK_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & ~trips.outbound) * tour_participants -# pm trips,, -,DRIVEALONEFREE_PM,((trips.trip_mode == 'DRIVEALONEFREE') & is_pm) * tour_participants -,DRIVEALONEPAY_PM,((trips.trip_mode == 'DRIVEALONEPAY') & is_pm) * tour_participants -,SHARED2FREE_PM,((trips.trip_mode == 'SHARED2FREE') & is_pm) * tour_participants -,SHARED2PAY_PM,((trips.trip_mode == 'SHARED2PAY') & is_pm) * tour_participants -,SHARED3FREE_PM,((trips.trip_mode == 'SHARED3FREE') & is_pm) * tour_participants -,SHARED3PAY_PM,((trips.trip_mode == 'SHARED3PAY') & is_pm) * tour_participants -,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants -,BIKE_PM,((trips.trip_mode == 'BIKE') & is_pm) * tour_participants -,WALK_LOC_WALK_PM,((trips.trip_mode == 'WALK_LOC') & is_pm) * tour_participants -,WALK_LRF_WALK_PM,((trips.trip_mode == 'WALK_LRF') & is_pm) * tour_participants -,WALK_EXP_WALK_PM,((trips.trip_mode == 'WALK_EXP') & is_pm) * tour_participants -,WALK_HVY_WALK_PM,((trips.trip_mode == 'WALK_HVY') & is_pm) * tour_participants -,WALK_COM_WALK_PM,((trips.trip_mode == 'WALK_COM') & is_pm) * tour_participants -,DRIVE_LOC_WALK_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & trips.outbound) * tour_participants -,DRIVE_COM_WALK_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & ~trips.outbound) * tour_participants -# ev trips,, -,DRIVEALONEFREE_EV,((trips.trip_mode == 'DRIVEALONEFREE') & is_ev) * tour_participants -,DRIVEALONEPAY_EV,((trips.trip_mode == 'DRIVEALONEPAY') & is_ev) * tour_participants -,SHARED2FREE_EV,((trips.trip_mode == 'SHARED2FREE') & is_ev) * tour_participants -,SHARED2PAY_EV,((trips.trip_mode == 'SHARED2PAY') & is_ev) * tour_participants -,SHARED3FREE_EV,((trips.trip_mode == 'SHARED3FREE') & is_ev) * tour_participants -,SHARED3PAY_EV,((trips.trip_mode == 'SHARED3PAY') & is_ev) * tour_participants -,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants -,BIKE_EV,((trips.trip_mode == 'BIKE') & is_ev) * tour_participants -,WALK_LOC_WALK_EV,((trips.trip_mode == 'WALK_LOC') & is_ev) * tour_participants -,WALK_LRF_WALK_EV,((trips.trip_mode == 'WALK_LRF') & is_ev) * tour_participants -,WALK_EXP_WALK_EV,((trips.trip_mode == 'WALK_EXP') & is_ev) * tour_participants -,WALK_HVY_WALK_EV,((trips.trip_mode == 'WALK_HVY') & is_ev) * tour_participants -,WALK_COM_WALK_EV,((trips.trip_mode == 'WALK_COM') & is_ev) * tour_participants -,DRIVE_LOC_WALK_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & trips.outbound) * tour_participants -,DRIVE_COM_WALK_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & ~trips.outbound) * tour_participants +Description,Target,Expression +# add additional fields,, +,tour_participants,trips.tour_id.map(tours.number_of_participants) +,distance,od_skims['DIST'] +# code time periods,, +,is_ea,"trips.depart.between(time_periods['EA']['first_hour'], time_periods['EA']['last_hour'])" +,is_am,"trips.depart.between(time_periods['AM']['first_hour'], time_periods['AM']['last_hour'])" +,is_md,"trips.depart.between(time_periods['MD']['first_hour'], time_periods['MD']['last_hour'])" +,is_pm,"trips.depart.between(time_periods['PM']['first_hour'], time_periods['PM']['last_hour'])" +,is_ev,(trips.depart >= time_periods['EV']['first_hour']) | (trips.depart <= time_periods['EV']['last_hour']) +# ea trips,, +,DRIVEALONEFREE_EA,((trips.trip_mode == 'DRIVEALONEFREE') & is_ea) * tour_participants +,DRIVEALONEPAY_EA,((trips.trip_mode == 'DRIVEALONEPAY') & is_ea) * tour_participants +,SHARED2FREE_EA,((trips.trip_mode == 'SHARED2FREE') & is_ea) * tour_participants +,SHARED2PAY_EA,((trips.trip_mode == 'SHARED2PAY') & is_ea) * tour_participants +,SHARED3FREE_EA,((trips.trip_mode == 'SHARED3FREE') & is_ea) * tour_participants +,SHARED3PAY_EA,((trips.trip_mode == 'SHARED3PAY') & is_ea) * tour_participants +,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants +,BIKE_EA,((trips.trip_mode == 'BIKE') & is_ea) * tour_participants +,WALK_LOC_WALK_EA,((trips.trip_mode == 'WALK_LOC') & is_ea) * tour_participants +,WALK_LRF_WALK_EA,((trips.trip_mode == 'WALK_LRF') & is_ea) * tour_participants +,WALK_EXP_WALK_EA,((trips.trip_mode == 'WALK_EXP') & is_ea) * tour_participants +,WALK_HVY_WALK_EA,((trips.trip_mode == 'WALK_HVY') & is_ea) * tour_participants +,WALK_COM_WALK_EA,((trips.trip_mode == 'WALK_COM') & is_ea) * tour_participants +,DRIVE_LOC_WALK_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & trips.outbound) * tour_participants +,DRIVE_COM_WALK_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & ~trips.outbound) * tour_participants +# am trips,, +,DRIVEALONEFREE_AM,((trips.trip_mode == 'DRIVEALONEFREE') & is_am) * tour_participants +,DRIVEALONEPAY_AM,((trips.trip_mode == 'DRIVEALONEPAY') & is_am) * tour_participants +,SHARED2FREE_AM,((trips.trip_mode == 'SHARED2FREE') & is_am) * tour_participants +,SHARED2PAY_AM,((trips.trip_mode == 'SHARED2PAY') & is_am) * tour_participants +,SHARED3FREE_AM,((trips.trip_mode == 'SHARED3FREE') & is_am) * tour_participants +,SHARED3PAY_AM,((trips.trip_mode == 'SHARED3PAY') & is_am) * tour_participants +,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants +,BIKE_AM,((trips.trip_mode == 'BIKE') & is_am) * tour_participants +,WALK_LOC_WALK_AM,((trips.trip_mode == 'WALK_LOC') & is_am) * tour_participants +,WALK_LRF_WALK_AM,((trips.trip_mode == 'WALK_LRF') & is_am) * tour_participants +,WALK_EXP_WALK_AM,((trips.trip_mode == 'WALK_EXP') & is_am) * tour_participants +,WALK_HVY_WALK_AM,((trips.trip_mode == 'WALK_HVY') & is_am) * tour_participants +,WALK_COM_WALK_AM,((trips.trip_mode == 'WALK_COM') & is_am) * tour_participants +,DRIVE_LOC_WALK_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & trips.outbound) * tour_participants +,DRIVE_COM_WALK_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & ~trips.outbound) * tour_participants +# md trips,, +,DRIVEALONEFREE_MD,((trips.trip_mode == 'DRIVEALONEFREE') & is_md) * tour_participants +,DRIVEALONEPAY_MD,((trips.trip_mode == 'DRIVEALONEPAY') & is_md) * tour_participants +,SHARED2FREE_MD,((trips.trip_mode == 'SHARED2FREE') & is_md) * tour_participants +,SHARED2PAY_MD,((trips.trip_mode == 'SHARED2PAY') & is_md) * tour_participants +,SHARED3FREE_MD,((trips.trip_mode == 'SHARED3FREE') & is_md) * tour_participants +,SHARED3PAY_MD,((trips.trip_mode == 'SHARED3PAY') & is_md) * tour_participants +,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants +,BIKE_MD,((trips.trip_mode == 'BIKE') & is_md) * tour_participants +,WALK_LOC_WALK_MD,((trips.trip_mode == 'WALK_LOC') & is_md) * tour_participants +,WALK_LRF_WALK_MD,((trips.trip_mode == 'WALK_LRF') & is_md) * tour_participants +,WALK_EXP_WALK_MD,((trips.trip_mode == 'WALK_EXP') & is_md) * tour_participants +,WALK_HVY_WALK_MD,((trips.trip_mode == 'WALK_HVY') & is_md) * tour_participants +,WALK_COM_WALK_MD,((trips.trip_mode == 'WALK_COM') & is_md) * tour_participants +,DRIVE_LOC_WALK_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & trips.outbound) * tour_participants +,DRIVE_COM_WALK_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & ~trips.outbound) * tour_participants +# pm trips,, +,DRIVEALONEFREE_PM,((trips.trip_mode == 'DRIVEALONEFREE') & is_pm) * tour_participants +,DRIVEALONEPAY_PM,((trips.trip_mode == 'DRIVEALONEPAY') & is_pm) * tour_participants +,SHARED2FREE_PM,((trips.trip_mode == 'SHARED2FREE') & is_pm) * tour_participants +,SHARED2PAY_PM,((trips.trip_mode == 'SHARED2PAY') & is_pm) * tour_participants +,SHARED3FREE_PM,((trips.trip_mode == 'SHARED3FREE') & is_pm) * tour_participants +,SHARED3PAY_PM,((trips.trip_mode == 'SHARED3PAY') & is_pm) * tour_participants +,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants +,BIKE_PM,((trips.trip_mode == 'BIKE') & is_pm) * tour_participants +,WALK_LOC_WALK_PM,((trips.trip_mode == 'WALK_LOC') & is_pm) * tour_participants +,WALK_LRF_WALK_PM,((trips.trip_mode == 'WALK_LRF') & is_pm) * tour_participants +,WALK_EXP_WALK_PM,((trips.trip_mode == 'WALK_EXP') & is_pm) * tour_participants +,WALK_HVY_WALK_PM,((trips.trip_mode == 'WALK_HVY') & is_pm) * tour_participants +,WALK_COM_WALK_PM,((trips.trip_mode == 'WALK_COM') & is_pm) * tour_participants +,DRIVE_LOC_WALK_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & trips.outbound) * tour_participants +,DRIVE_COM_WALK_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & ~trips.outbound) * tour_participants +# ev trips,, +,DRIVEALONEFREE_EV,((trips.trip_mode == 'DRIVEALONEFREE') & is_ev) * tour_participants +,DRIVEALONEPAY_EV,((trips.trip_mode == 'DRIVEALONEPAY') & is_ev) * tour_participants +,SHARED2FREE_EV,((trips.trip_mode == 'SHARED2FREE') & is_ev) * tour_participants +,SHARED2PAY_EV,((trips.trip_mode == 'SHARED2PAY') & is_ev) * tour_participants +,SHARED3FREE_EV,((trips.trip_mode == 'SHARED3FREE') & is_ev) * tour_participants +,SHARED3PAY_EV,((trips.trip_mode == 'SHARED3PAY') & is_ev) * tour_participants +,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants +,BIKE_EV,((trips.trip_mode == 'BIKE') & is_ev) * tour_participants +,WALK_LOC_WALK_EV,((trips.trip_mode == 'WALK_LOC') & is_ev) * tour_participants +,WALK_LRF_WALK_EV,((trips.trip_mode == 'WALK_LRF') & is_ev) * tour_participants +,WALK_EXP_WALK_EV,((trips.trip_mode == 'WALK_EXP') & is_ev) * tour_participants +,WALK_HVY_WALK_EV,((trips.trip_mode == 'WALK_HVY') & is_ev) * tour_participants +,WALK_COM_WALK_EV,((trips.trip_mode == 'WALK_COM') & is_ev) * tour_participants +,DRIVE_LOC_WALK_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & trips.outbound) * tour_participants +,DRIVE_COM_WALK_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & ~trips.outbound) * tour_participants diff --git a/activitysim/examples/example_psrc/configs_accessibility/settings.yaml b/activitysim/examples/placeholder_psrc/configs_accessibility/settings.yaml similarity index 96% rename from activitysim/examples/example_psrc/configs_accessibility/settings.yaml rename to activitysim/examples/placeholder_psrc/configs_accessibility/settings.yaml index 68b0fb5a66..499c8e055a 100755 --- a/activitysim/examples/example_psrc/configs_accessibility/settings.yaml +++ b/activitysim/examples/placeholder_psrc/configs_accessibility/settings.yaml @@ -1,42 +1,42 @@ -inherit_settings: True - -# number of households to simulate -households_sample_size: 10 -# simulate all households -# households_sample_size: 0 - -chunk_size: 0 - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - -# turn writing of sample_tables on and off for all models -# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) -want_dest_choice_sample_tables: False - -# global switch to turn on or off presampling of destination alternatives at TAZ level (multizone models only) -#want_dest_choice_presampling: True - -# - tracing -# trace household id; comment out or leave empty for no trace -trace_hh_id: 594396 - -# trace origin, destination in accessibility calculation; comment out or leave empty for no trace -# trace_od: [5, 11] -trace_od: - -# to resume after last successful checkpoint, specify resume_after: _ -#resume_after: tour_mode_choice_simulate -#resume_after: - -output_tables: - h5_store: False - action: include - prefix: final_ - tables: - - accessibility - +inherit_settings: True + +# number of households to simulate +households_sample_size: 10 +# simulate all households +# households_sample_size: 0 + +chunk_size: 0 + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +# global switch to turn on or off presampling of destination alternatives at TAZ level (multizone models only) +#want_dest_choice_presampling: True + +# - tracing +# trace household id; comment out or leave empty for no trace +trace_hh_id: 594396 + +# trace origin, destination in accessibility calculation; comment out or leave empty for no trace +# trace_od: [5, 11] +trace_od: + +# to resume after last successful checkpoint, specify resume_after: _ +#resume_after: tour_mode_choice_simulate +#resume_after: + +output_tables: + h5_store: False + action: include + prefix: final_ + tables: + - accessibility + diff --git a/activitysim/examples/example_psrc/configs_accessibility/settings_mp.yaml b/activitysim/examples/placeholder_psrc/configs_accessibility/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs_accessibility/settings_mp.yaml rename to activitysim/examples/placeholder_psrc/configs_accessibility/settings_mp.yaml diff --git a/activitysim/examples/example_psrc/configs_skip_accessibility/settings.yaml b/activitysim/examples/placeholder_psrc/configs_skip_accessibility/settings.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs_skip_accessibility/settings.yaml rename to activitysim/examples/placeholder_psrc/configs_skip_accessibility/settings.yaml diff --git a/activitysim/examples/example_psrc/configs_skip_accessibility/settings_mp.yaml b/activitysim/examples/placeholder_psrc/configs_skip_accessibility/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs_skip_accessibility/settings_mp.yaml rename to activitysim/examples/placeholder_psrc/configs_skip_accessibility/settings_mp.yaml diff --git a/activitysim/examples/example_psrc/data/.gitignore b/activitysim/examples/placeholder_psrc/data/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/data/.gitignore rename to activitysim/examples/placeholder_psrc/data/.gitignore diff --git a/activitysim/examples/example_psrc/data/households.csv b/activitysim/examples/placeholder_psrc/data/households.csv similarity index 100% rename from activitysim/examples/example_psrc/data/households.csv rename to activitysim/examples/placeholder_psrc/data/households.csv diff --git a/activitysim/examples/example_psrc/data/land_use.csv b/activitysim/examples/placeholder_psrc/data/land_use.csv similarity index 100% rename from activitysim/examples/example_psrc/data/land_use.csv rename to activitysim/examples/placeholder_psrc/data/land_use.csv diff --git a/activitysim/examples/example_psrc/data/maz.csv b/activitysim/examples/placeholder_psrc/data/maz.csv similarity index 100% rename from activitysim/examples/example_psrc/data/maz.csv rename to activitysim/examples/placeholder_psrc/data/maz.csv diff --git a/activitysim/examples/example_psrc/data/maz_to_maz_bike.csv b/activitysim/examples/placeholder_psrc/data/maz_to_maz_bike.csv similarity index 100% rename from activitysim/examples/example_psrc/data/maz_to_maz_bike.csv rename to activitysim/examples/placeholder_psrc/data/maz_to_maz_bike.csv diff --git a/activitysim/examples/example_psrc/data/maz_to_maz_walk.csv b/activitysim/examples/placeholder_psrc/data/maz_to_maz_walk.csv similarity index 100% rename from activitysim/examples/example_psrc/data/maz_to_maz_walk.csv rename to activitysim/examples/placeholder_psrc/data/maz_to_maz_walk.csv diff --git a/activitysim/examples/example_psrc/data/persons.csv b/activitysim/examples/placeholder_psrc/data/persons.csv similarity index 100% rename from activitysim/examples/example_psrc/data/persons.csv rename to activitysim/examples/placeholder_psrc/data/persons.csv diff --git a/activitysim/examples/example_psrc/data/skims.omx b/activitysim/examples/placeholder_psrc/data/skims.omx similarity index 100% rename from activitysim/examples/example_psrc/data/skims.omx rename to activitysim/examples/placeholder_psrc/data/skims.omx diff --git a/activitysim/examples/example_psrc/data/taz.csv b/activitysim/examples/placeholder_psrc/data/taz.csv similarity index 100% rename from activitysim/examples/example_psrc/data/taz.csv rename to activitysim/examples/placeholder_psrc/data/taz.csv diff --git a/activitysim/examples/example_multiple_zone/output_1/.gitignore b/activitysim/examples/placeholder_psrc/output/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_1/.gitignore rename to activitysim/examples/placeholder_psrc/output/.gitignore diff --git a/activitysim/examples/example_mtc/output/cache/.gitignore b/activitysim/examples/placeholder_psrc/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/output/cache/.gitignore rename to activitysim/examples/placeholder_psrc/output/cache/.gitignore diff --git a/activitysim/examples/example_mtc/output/log/.gitignore b/activitysim/examples/placeholder_psrc/output/log/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/output/log/.gitignore rename to activitysim/examples/placeholder_psrc/output/log/.gitignore diff --git a/activitysim/examples/example_mtc/output/trace/.gitignore b/activitysim/examples/placeholder_psrc/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/output/trace/.gitignore rename to activitysim/examples/placeholder_psrc/output/trace/.gitignore diff --git a/activitysim/examples/example_psrc/scripts/integrity.py b/activitysim/examples/placeholder_psrc/scripts/integrity.py similarity index 64% rename from activitysim/examples/example_psrc/scripts/integrity.py rename to activitysim/examples/placeholder_psrc/scripts/integrity.py index ae2c5fbb0f..b2e81656d8 100644 --- a/activitysim/examples/example_psrc/scripts/integrity.py +++ b/activitysim/examples/placeholder_psrc/scripts/integrity.py @@ -1,19 +1,22 @@ -import os -import pandas as pd -import openmatrix as omx -import numpy as np - import argparse +import os +import numpy as np +import openmatrix as omx +import pandas as pd -parser = argparse.ArgumentParser(description='check activitysim raw_data') -parser.add_argument('raw_data_directory', metavar='raw_data_directory', type=str, nargs=1, - help=f"path to raw data directory") +parser = argparse.ArgumentParser(description="check activitysim raw_data") +parser.add_argument( + "raw_data_directory", + metavar="raw_data_directory", + type=str, + nargs=1, + help=f"path to raw data directory", +) -parser.add_argument('-o', '--output', - type=str, - metavar='PATH', - help='path to output dir') +parser.add_argument( + "-o", "--output", type=str, metavar="PATH", help="path to output dir" +) args = parser.parse_args() @@ -34,7 +37,7 @@ def output_path(file_name): def integerize_id_columns(df, table_name): - columns = ['MAZ', 'OMAZ', 'DMAZ', 'TAZ', 'zone_id', 'household_id', 'HHID'] + columns = ["MAZ", "OMAZ", "DMAZ", "TAZ", "zone_id", "household_id", "HHID"] for c in df.columns: if c in columns: bad = ~(df[c] == df[c].astype(int)) @@ -85,59 +88,59 @@ def report_baddies(df, tag, fatal=False): # ### check maz.csv against land_use -land_use = land_use.sort_values('MAZ') -maz = read_csv("maz.csv").sort_values('MAZ') +land_use = land_use.sort_values("MAZ") +maz = read_csv("maz.csv").sort_values("MAZ") # fatal missing = land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)] -report_baddies(missing, 'land_use_MAZ_not_in_maz_MAZ', fatal=True) +report_baddies(missing, "land_use_MAZ_not_in_maz_MAZ", fatal=True) missing = maz.MAZ[~maz.MAZ.isin(land_use.MAZ)] -report_baddies(missing, 'maz_MAZ_not_in_land_use_MAZ') +report_baddies(missing, "maz_MAZ_not_in_land_use_MAZ") # fatal missing = land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)] -report_baddies(missing, 'land_use_TAZ_not_in_maz_TAZ', fatal=True) +report_baddies(missing, "land_use_TAZ_not_in_maz_TAZ", fatal=True) missing = maz.TAZ[~maz.TAZ.isin(land_use.TAZ)] -report_baddies(missing, 'maz_TAZ_not_in_land_use_TAZ') +report_baddies(missing, "maz_TAZ_not_in_land_use_TAZ") # ### check taz.csv against land_use -land_use = land_use.sort_values('TAZ') -taz = read_csv("taz.csv").sort_values('TAZ') +land_use = land_use.sort_values("TAZ") +taz = read_csv("taz.csv").sort_values("TAZ") if output_dir: - taz.to_csv(output_path('taz.csv'), index=False) + taz.to_csv(output_path("taz.csv"), index=False) # fatal missing = land_use.TAZ[~land_use.TAZ.isin(taz.TAZ)] -report_baddies(missing, 'land_use_TAZ_not_in_taz_TAZ', fatal=True) +report_baddies(missing, "land_use_TAZ_not_in_taz_TAZ", fatal=True) missing = taz.TAZ[~taz.TAZ.isin(land_use.TAZ)] -report_baddies(missing, 'taz_TAZ_not_in_land_use_TAZ') +report_baddies(missing, "taz_TAZ_not_in_land_use_TAZ") # #########s # # maz # -maz = read_csv("maz.csv").sort_values(['MAZ', 'TAZ']) +maz = read_csv("maz.csv").sort_values(["MAZ", "TAZ"]) maz = maz[maz["MAZ"].isin(land_use.MAZ)] -integerize_id_columns(maz, 'maz') +integerize_id_columns(maz, "maz") -assert (land_use.MAZ.isin(maz.MAZ).all()) -assert (land_use.TAZ.isin(maz.TAZ).all()) -assert (maz.TAZ.isin(land_use.TAZ).all()) +assert land_use.MAZ.isin(maz.MAZ).all() +assert land_use.TAZ.isin(maz.TAZ).all() +assert maz.TAZ.isin(land_use.TAZ).all() # # taz # -taz = read_csv("taz.csv").sort_values(['TAZ']) +taz = read_csv("taz.csv").sort_values(["TAZ"]) taz = taz[taz["TAZ"].isin(land_use.TAZ)] -integerize_id_columns(taz, 'taz') +integerize_id_columns(taz, "taz") -assert (land_use.TAZ.isin(taz.TAZ).all()) +assert land_use.TAZ.isin(taz.TAZ).all() # print(maz.shape) # print(f"MAZ {len(maz.MAZ.unique())}") @@ -148,22 +151,22 @@ def report_baddies(df, tag, fatal=False): # households = read_csv("households.csv") missing = households[~households["MAZ"].isin(maz.MAZ)] -report_baddies(missing, 'household_MAZ_not_in_maz_MAZ') +report_baddies(missing, "household_MAZ_not_in_maz_MAZ") -integerize_id_columns(households, 'households') +integerize_id_columns(households, "households") # # persons # persons = read_csv("persons.csv") orphans = persons[~persons["household_id"].isin(households.HHID)] -report_baddies(orphans, 'persons_not_in_households') +report_baddies(orphans, "persons_not_in_households") households = households[households["MAZ"].isin(maz.MAZ)] orphans = persons[~persons["household_id"].isin(households.HHID)] -report_baddies(orphans, 'persons_not_in_households_in_maz_MAZ') +report_baddies(orphans, "persons_not_in_households_in_maz_MAZ") -integerize_id_columns(persons, 'persons') +integerize_id_columns(persons, "persons") # # maz_to_maz_walk and maz_to_maz_bike @@ -171,22 +174,22 @@ def report_baddies(df, tag, fatal=False): m2m = read_csv("maz_to_maz_walk.csv") missing = m2m[~(m2m.OMAZ.isin(maz.MAZ) & m2m.DMAZ.isin(maz.MAZ))] -report_baddies(missing, 'maz_to_maz_walk_OMAZ_or_DMAZ_not_in_maz_MAZ') +report_baddies(missing, "maz_to_maz_walk_OMAZ_or_DMAZ_not_in_maz_MAZ") integerize_id_columns(m2m, "maz_to_maz_walk") m2m = read_csv("maz_to_maz_bike.csv") missing = m2m[~(m2m.OMAZ.isin(maz.MAZ) & m2m.DMAZ.isin(maz.MAZ))] -report_baddies(missing, 'maz_to_maz_bike_OMAZ_or_DMAZ_not_in_maz_MAZ') +report_baddies(missing, "maz_to_maz_bike_OMAZ_or_DMAZ_not_in_maz_MAZ") integerize_id_columns(m2m, "maz_to_maz_bike") # # skims # -omx_infile_name = 'skims.omx' +omx_infile_name = "skims.omx" skim_data_type = np.float32 -omx_in = omx.open_file(input_path(omx_infile_name), 'r') +omx_in = omx.open_file(input_path(omx_infile_name), "r") print(f"omx_in shape {omx_in.shape()}") print(f"{len(omx_in.listMappings())} mappings in skims") diff --git a/activitysim/examples/example_psrc/scripts/psrc_crop.py b/activitysim/examples/placeholder_psrc/scripts/psrc_crop.py similarity index 65% rename from activitysim/examples/example_psrc/scripts/psrc_crop.py rename to activitysim/examples/placeholder_psrc/scripts/psrc_crop.py index 50850fa3da..304963b580 100644 --- a/activitysim/examples/example_psrc/scripts/psrc_crop.py +++ b/activitysim/examples/placeholder_psrc/scripts/psrc_crop.py @@ -1,27 +1,41 @@ +import argparse import os -import pandas as pd -import openmatrix as omx -import numpy as np -import argparse +import numpy as np +import openmatrix as omx +import pandas as pd MAZ_OFFSET = 0 segments = { - 'test': (331, 358), # north part of peninsul a including university (no HSENROLL but nice MAZ-TAZ distrib) - 'downtown': (339, 630), # downtown seattle tazs (339 instead of 400 because need university) - 'seattle': (0, 857), # seattle tazs - 'full': (0, 100000), + "test": ( + 331, + 358, + ), # north part of peninsul a including university (no HSENROLL but nice MAZ-TAZ distrib) + "downtown": ( + 339, + 630, + ), # downtown seattle tazs (339 instead of 400 because need university) + "seattle": (0, 857), # seattle tazs + "full": (0, 100000), } -parser = argparse.ArgumentParser(description='crop PSRC raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file') +parser = argparse.ArgumentParser(description="crop PSRC raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file", +) args = parser.parse_args() @@ -32,8 +46,8 @@ assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" taz_min, taz_max = segments[segment_name] -input_dir = './data_raw' -output_dir = f'./data_{segment_name}' +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}" print(f"segment_name {segment_name}") @@ -59,7 +73,7 @@ def output_path(file_name): def integerize_id_columns(df, table_name): - columns = ['MAZ', 'OMAZ', 'DMAZ', 'TAZ', 'zone_id', 'household_id', 'HHID'] + columns = ["MAZ", "OMAZ", "DMAZ", "TAZ", "zone_id", "household_id", "HHID"] for c in df.columns: if c in columns: print(f"converting {table_name}.{c} to int") @@ -88,8 +102,8 @@ def to_csv(df, file_name): # ######## check for orphan_households not in any maz in land_use land_use = read_csv("land_use.csv") - land_use = land_use[['MAZ', 'TAZ']] # King County - land_use = land_use.sort_values(['TAZ', 'MAZ']) + land_use = land_use[["MAZ", "TAZ"]] # King County + land_use = land_use.sort_values(["TAZ", "MAZ"]) households = read_csv("households.csv") orphan_households = households[~households.MAZ.isin(land_use.MAZ)] @@ -105,12 +119,14 @@ def to_csv(df, file_name): # could just build maz and taz files, but want to make sure PSRC data is right land_use = read_csv("land_use.csv") - land_use = land_use.sort_values('MAZ') - maz = read_csv("maz.csv").sort_values('MAZ') + land_use = land_use.sort_values("MAZ") + maz = read_csv("maz.csv").sort_values("MAZ") # ### FATAL ### if not land_use.MAZ.isin(maz.MAZ).all(): - print(f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}") + print( + f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}" + ) raise RuntimeError(f"land_use.MAZ not in maz.MAZ") if not maz.MAZ.isin(land_use.MAZ).all(): @@ -118,18 +134,22 @@ def to_csv(df, file_name): # ### FATAL ### if not land_use.TAZ.isin(maz.TAZ).all(): - print(f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}") + print( + f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}" + ) raise RuntimeError(f"land_use.TAZ not in maz.TAZ") if not maz.TAZ.isin(land_use.TAZ).all(): print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") - land_use = land_use.sort_values('TAZ') - taz = read_csv("taz.csv").sort_values('TAZ') + land_use = land_use.sort_values("TAZ") + taz = read_csv("taz.csv").sort_values("TAZ") # ### FATAL ### if not land_use.TAZ.isin(taz.TAZ).all(): - print(f"land_use.TAZ not in taz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(taz.MAZ)]}") + print( + f"land_use.TAZ not in taz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(taz.MAZ)]}" + ) raise RuntimeError(f"land_use.TAZ not in taz.TAZ") if not taz.TAZ.isin(land_use.TAZ).all(): @@ -142,44 +162,46 @@ def to_csv(df, file_name): # land_use = read_csv("land_use.csv") land_use = land_use[(land_use["TAZ"] >= taz_min) & (land_use["TAZ"] <= taz_max)] -integerize_id_columns(land_use, 'land_use') -land_use = land_use.sort_values('MAZ') +integerize_id_columns(land_use, "land_use") +land_use = land_use.sort_values("MAZ") # make sure we have some HSENROLL and COLLFTE, even for very for small samples -if land_use['HSENROLL'].sum() == 0: - assert segment_name != 'full', f"land_use['HSENROLL'] is 0 for full sample!" - land_use['HSENROLL'] = land_use['AGE0519'] +if land_use["HSENROLL"].sum() == 0: + assert segment_name != "full", f"land_use['HSENROLL'] is 0 for full sample!" + land_use["HSENROLL"] = land_use["AGE0519"] print(f"\nWARNING: land_use.HSENROLL is 0, so backfilled with AGE0519\n") -if land_use['COLLFTE'].sum() == 0: - assert segment_name != 'full', f"land_use['COLLFTE'] is 0 for full sample!" - land_use['COLLFTE'] = land_use['HSENROLL'] +if land_use["COLLFTE"].sum() == 0: + assert segment_name != "full", f"land_use['COLLFTE'] is 0 for full sample!" + land_use["COLLFTE"] = land_use["HSENROLL"] print(f"\nWARNING: land_use.COLLFTE is 0, so backfilled with HSENROLL\n") # move MAZ and TAZ columns to front -land_use = land_use[['MAZ', 'TAZ'] + [c for c in land_use.columns if c not in ['MAZ', 'TAZ']]] +land_use = land_use[ + ["MAZ", "TAZ"] + [c for c in land_use.columns if c not in ["MAZ", "TAZ"]] +] to_csv(land_use, "land_use.csv") # # maz # -maz = read_csv("maz.csv").sort_values(['MAZ', 'TAZ']) +maz = read_csv("maz.csv").sort_values(["MAZ", "TAZ"]) maz = maz[maz["MAZ"].isin(land_use.MAZ)] -integerize_id_columns(maz, 'maz') +integerize_id_columns(maz, "maz") -assert (land_use.MAZ.isin(maz.MAZ).all()) -assert (land_use.TAZ.isin(maz.TAZ).all()) -assert (maz.TAZ.isin(land_use.TAZ).all()) +assert land_use.MAZ.isin(maz.MAZ).all() +assert land_use.TAZ.isin(maz.TAZ).all() +assert maz.TAZ.isin(land_use.TAZ).all() to_csv(maz, "maz.csv") # # taz # -taz = read_csv("taz.csv").sort_values(['TAZ']) +taz = read_csv("taz.csv").sort_values(["TAZ"]) taz = taz[taz["TAZ"].isin(land_use.TAZ)] -integerize_id_columns(taz, 'taz') +integerize_id_columns(taz, "taz") -assert (land_use.TAZ.isin(taz.TAZ).all()) +assert land_use.TAZ.isin(taz.TAZ).all() to_csv(taz, "taz.csv") # print(maz.shape) @@ -191,7 +213,7 @@ def to_csv(df, file_name): # households = read_csv("households.csv") households = households[households["MAZ"].isin(maz.MAZ)] -integerize_id_columns(households, 'households') +integerize_id_columns(households, "households") to_csv(households, "households.csv") @@ -200,7 +222,7 @@ def to_csv(df, file_name): # persons = read_csv("persons.csv") persons = persons[persons["household_id"].isin(households.HHID)] -integerize_id_columns(persons, 'persons') +integerize_id_columns(persons, "persons") to_csv(persons, "persons.csv") @@ -216,27 +238,29 @@ def to_csv(df, file_name): # # skims # -omx_infile_name = 'skims.omx' +omx_infile_name = "skims.omx" skim_data_type = np.float32 omx_in = omx.open_file(input_path(omx_infile_name)) print(f"omx_in shape {omx_in.shape()}") assert not omx_in.listMappings() -taz = taz.sort_values('TAZ') +taz = taz.sort_values("TAZ") taz.index = taz.TAZ - 1 tazs_indexes = taz.index.tolist() # index of TAZ in skim (zero-based, no mapping) taz_labels = taz.TAZ.tolist() # TAZ zone_ids in omx index order # create -num_outfiles = 4 if segment_name == 'full' else 1 +num_outfiles = 4 if segment_name == "full" else 1 if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"skims.omx"), 'w')] + omx_out = [omx.open_file(output_path(f"skims.omx"), "w")] else: - omx_out = [omx.open_file(output_path(f"skims{i+1}.omx"), 'w') for i in range(num_outfiles)] + omx_out = [ + omx.open_file(output_path(f"skims{i+1}.omx"), "w") for i in range(num_outfiles) + ] for omx_file in omx_out: - omx_file.create_mapping('ZONE', taz_labels) + omx_file.create_mapping("ZONE", taz_labels) iskim = 0 for mat_name in omx_in.list_matrices(): diff --git a/activitysim/examples/example_psrc/test/configs/settings.yaml b/activitysim/examples/placeholder_psrc/test/configs/settings.yaml similarity index 100% rename from activitysim/examples/example_psrc/test/configs/settings.yaml rename to activitysim/examples/placeholder_psrc/test/configs/settings.yaml diff --git a/activitysim/examples/example_multiple_zone/output_2/.gitignore b/activitysim/examples/placeholder_psrc/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_2/.gitignore rename to activitysim/examples/placeholder_psrc/test/output/.gitignore diff --git a/activitysim/examples/example_mtc/test/output/cache/.gitignore b/activitysim/examples/placeholder_psrc/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/test/output/cache/.gitignore rename to activitysim/examples/placeholder_psrc/test/output/cache/.gitignore diff --git a/activitysim/examples/example_mtc/test/output/trace/.gitignore b/activitysim/examples/placeholder_psrc/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/test/output/trace/.gitignore rename to activitysim/examples/placeholder_psrc/test/output/trace/.gitignore diff --git a/activitysim/examples/example_psrc/test/regress/final_trips.csv b/activitysim/examples/placeholder_psrc/test/regress/final_trips.csv similarity index 100% rename from activitysim/examples/example_psrc/test/regress/final_trips.csv rename to activitysim/examples/placeholder_psrc/test/regress/final_trips.csv diff --git a/activitysim/examples/example_mtc/test/simulation.py b/activitysim/examples/placeholder_psrc/test/simulation.py similarity index 85% rename from activitysim/examples/example_mtc/test/simulation.py rename to activitysim/examples/placeholder_psrc/test/simulation.py index ec6a1181b1..8313dd45e7 100755 --- a/activitysim/examples/example_mtc/test/simulation.py +++ b/activitysim/examples/placeholder_psrc/test/simulation.py @@ -1,15 +1,15 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/example_psrc/test/test_psrc.py b/activitysim/examples/placeholder_psrc/test/test_psrc.py similarity index 50% rename from activitysim/examples/example_psrc/test/test_psrc.py rename to activitysim/examples/placeholder_psrc/test/test_psrc.py index 1aa9a2c7dd..10863cc1d5 100644 --- a/activitysim/examples/example_psrc/test/test_psrc.py +++ b/activitysim/examples/placeholder_psrc/test/test_psrc.py @@ -2,10 +2,10 @@ # See full license in LICENSE.txt. import os import subprocess -import pkg_resources import pandas as pd import pandas.testing as pdt +import pkg_resources from activitysim.core import inject @@ -16,33 +16,45 @@ def teardown_function(func): def test_psrc(): - def example_path(dirname): - resource = os.path.join('examples', 'example_psrc', dirname) - return pkg_resources.resource_filename('activitysim', resource) + resource = os.path.join("examples", "placeholder_psrc", dirname) + return pkg_resources.resource_filename("activitysim", resource) def test_path(dirname): return os.path.join(os.path.dirname(__file__), dirname) def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_trips.csv')) - final_trips_df = pd.read_csv(test_path('output/final_trips.csv')) + regress_trips_df = pd.read_csv(test_path("regress/final_trips.csv")) + final_trips_df = pd.read_csv(test_path("output/final_trips.csv")) # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum # compare_cols = [] pdt.assert_frame_equal(final_trips_df, regress_trips_df) - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - subprocess.run(['coverage', 'run', '-a', file_path, - '-c', test_path('configs'), '-c', example_path('configs'), - '-d', example_path('data'), - '-o', test_path('output')], check=True) + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + subprocess.run( + [ + "coverage", + "run", + "-a", + file_path, + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ], + check=True, + ) regress() -if __name__ == '__main__': +if __name__ == "__main__": test_psrc() diff --git a/activitysim/examples/example_sandag/3_zone_change_log.txt b/activitysim/examples/placeholder_sandag/3_zone_change_log.txt similarity index 100% rename from activitysim/examples/example_sandag/3_zone_change_log.txt rename to activitysim/examples/placeholder_sandag/3_zone_change_log.txt diff --git a/activitysim/examples/example_sandag/configs_1_zone/constants.yaml b/activitysim/examples/placeholder_sandag/configs_1_zone/constants.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_1_zone/constants.yaml rename to activitysim/examples/placeholder_sandag/configs_1_zone/constants.yaml diff --git a/activitysim/examples/example_sandag/configs_1_zone/network_los.yaml b/activitysim/examples/placeholder_sandag/configs_1_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_1_zone/network_los.yaml rename to activitysim/examples/placeholder_sandag/configs_1_zone/network_los.yaml diff --git a/activitysim/examples/example_sandag/configs_1_zone/settings.yaml b/activitysim/examples/placeholder_sandag/configs_1_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_1_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/configs_1_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/configs_1_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/configs_1_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_1_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/configs_1_zone/settings_mp.yaml diff --git a/activitysim/examples/example_sandag/configs_2_zone/constants.yaml b/activitysim/examples/placeholder_sandag/configs_2_zone/constants.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_2_zone/constants.yaml rename to activitysim/examples/placeholder_sandag/configs_2_zone/constants.yaml diff --git a/activitysim/examples/example_sandag/configs_2_zone/network_los.yaml b/activitysim/examples/placeholder_sandag/configs_2_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_2_zone/network_los.yaml rename to activitysim/examples/placeholder_sandag/configs_2_zone/network_los.yaml diff --git a/activitysim/examples/example_sandag/configs_2_zone/settings.yaml b/activitysim/examples/placeholder_sandag/configs_2_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_2_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/configs_2_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/configs_2_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/configs_2_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_2_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/configs_2_zone/settings_mp.yaml diff --git a/activitysim/examples/example_mtc/configs/tour_departure_and_duration_segments.csv b/activitysim/examples/placeholder_sandag/configs_2_zone/tour_departure_and_duration_segments.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_departure_and_duration_segments.csv rename to activitysim/examples/placeholder_sandag/configs_2_zone/tour_departure_and_duration_segments.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/_bugs.txt b/activitysim/examples/placeholder_sandag/configs_3_zone/_bugs.txt similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/_bugs.txt rename to activitysim/examples/placeholder_sandag/configs_3_zone/_bugs.txt diff --git a/activitysim/examples/example_sandag/configs_3_zone/accessibility.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/accessibility.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/accessibility.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/accessibility.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/annotate_households_workplace.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/annotate_households_workplace.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/annotate_households_workplace.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/annotate_households_workplace.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/annotate_persons_workplace.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/annotate_persons_workplace.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/annotate_persons_workplace.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/annotate_persons_workplace.csv diff --git a/activitysim/examples/example_mtc/configs/auto_ownership.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/auto_ownership.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/auto_ownership.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/auto_ownership.csv index a2f5a32910..aa30bdb4db 100644 --- a/activitysim/examples/example_mtc/configs/auto_ownership.csv +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/auto_ownership.csv @@ -1,30 +1,30 @@ -Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 -util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 -util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 -util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up -util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 -util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 -util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 -util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 -util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 -util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 -util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k -util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc -util_asc_san_francisco,San Francisco county,@df.county_id == ID_SAN_FRANCISCO,,coef_cars1_asc_san_francisco,coef_cars2_asc_san_francisco,coef_cars34_asc_san_francisco,coef_cars34_asc_san_francisco -util_asc_solano,Solano county,@df.county_id == ID_SOLANO,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_napa,Napa county,@df.county_id == ID_NAPA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_sonoma,Sonoma county,@df.county_id == ID_SONOMA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_marin,Marin county,@df.county_id == ID_MARIN,,coef_cars1_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin -util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers -util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers -util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers -util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers -util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker +Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 +util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 +util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 +util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up +util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 +util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 +util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 +util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 +util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 +util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 +util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k +util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc +util_asc_san_francisco,San Francisco county,@df.county_id == ID_SAN_FRANCISCO,,coef_cars1_asc_san_francisco,coef_cars2_asc_san_francisco,coef_cars34_asc_san_francisco,coef_cars34_asc_san_francisco +util_asc_solano,Solano county,@df.county_id == ID_SOLANO,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_napa,Napa county,@df.county_id == ID_NAPA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_sonoma,Sonoma county,@df.county_id == ID_SONOMA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_marin,Marin county,@df.county_id == ID_MARIN,,coef_cars1_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin +util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers +util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers +util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers +util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers +util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker diff --git a/activitysim/examples/example_sandag/configs_3_zone/constants.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/constants.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/constants.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/constants.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/destination_choice_size_terms.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/destination_choice_size_terms.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/destination_choice_size_terms.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/destination_choice_size_terms.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/logging.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/logging.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/logging.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/logging.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/network_los.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/network_los.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/network_los.yaml diff --git a/activitysim/examples/placeholder_sandag/configs_3_zone/notes.txt b/activitysim/examples/placeholder_sandag/configs_3_zone/notes.txt new file mode 100644 index 0000000000..97da329c1b --- /dev/null +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/notes.txt @@ -0,0 +1,10 @@ + +# test +# activitysim run -c configs_local -c configs -c configs_3_zone -c ../prototype_mtc/configs -o output_test -d data_test +# activitysim run -c configs_local -c configs -c configs_3_zone -c ../prototype_mtc/configs -o output_test -d data_test -s settings_mp.yaml + +# full dataset single-process 100K HH skip_accessibility +# activitysim run -c configs_local -c configs_skip_accessibility -c configs -c configs_3_zone -c ../prototype_mtc/configs -o output_full -d data_full + +# full run multiprocess +# activitysim run -c configs -c configs_3_zone -c ../prototype_mtc/configs -o output_full -d data_full -s settings_mp.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/settings.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/settings_mp.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/stop_frequency.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/stop_frequency.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/stop_frequency.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/stop_frequency.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice.csv similarity index 98% rename from activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice.csv index 609454d2ec..920c21625a 100644 --- a/activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice.csv +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice.csv @@ -187,3 +187,6 @@ util_Walk_not_available_for_long_distances,Walk not available for long distances util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.distance_bike_od > 8,,,,,,,,-999,,,,, util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,, #, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,,, +#, School Escorting eligibility,,,,,,,,,,,,,,,,,,,,,, +util_one_or_more_school_escort,No SOV if on school escort tour,"@(df.get('num_escortees', 0) >= 1)",-999,-999,,,,,,,,,,, +util_two_or_more_school_escort,Can't take HOV2 if taking two children and yourself,"@(df.get('num_escortees', 0) >= 2)",,,-999,-999,,,,,,,,, \ No newline at end of file diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice.yaml similarity index 95% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice.yaml index 09c7469555..7e2f915bfa 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice.yaml +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice.yaml @@ -1,186 +1,186 @@ -LOGIT_TYPE: NL -#LOGIT_TYPE: MNL - -tvpb_mode_path_types: - DRIVE_TRANSIT: - od: DTW - do: WTD - WALK_TRANSIT: - od: WTW - do: WTW - -NESTS: - name: root - coefficient: coef_nest_root - alternatives: - - name: AUTO - coefficient: coef_nest_AUTO - alternatives: - - name: DRIVEALONE - coefficient: coef_nest_AUTO_DRIVEALONE - alternatives: - - DRIVEALONEFREE - - DRIVEALONEPAY - - name: SHAREDRIDE2 - coefficient: coef_nest_AUTO_SHAREDRIDE2 - alternatives: - - SHARED2FREE - - SHARED2PAY - - name: SHAREDRIDE3 - coefficient: coef_nest_AUTO_SHAREDRIDE3 - alternatives: - - SHARED3FREE - - SHARED3PAY - - name: NONMOTORIZED - coefficient: coef_nest_NONMOTORIZED - alternatives: - - WALK - - BIKE - - name: TRANSIT - coefficient: coef_nest_TRANSIT - alternatives: - - WALK_TRANSIT - - DRIVE_TRANSIT - - name: RIDEHAIL - coefficient: coef_nest_RIDEHAIL - alternatives: - - TAXI - - TNC_SINGLE - - TNC_SHARED - -SPEC: tour_mode_choice.csv -COEFFICIENTS: tour_mode_choice_coefficients.csv -COEFFICIENT_TEMPLATE: tour_mode_choice_coefficients_template.csv - -CONSTANTS: - #valueOfTime: 8.00 - costPerMile: 18.29 - costShareSr2: 1.75 - costShareSr3: 2.50 - waitThresh: 10.00 - walkThresh: 1.50 - shortWalk: 0.333 - longWalk: 0.667 - walkSpeed: 3.00 - bikeThresh: 6.00 - bikeSpeed: 12.00 - maxCbdAreaTypeThresh: 2 - indivTour: 1.00000 - upperEA: 5 - upperAM: 10 - upperMD: 15 - upperPM: 19 - # RIDEHAIL Settings - Taxi_baseFare: 2.20 - Taxi_costPerMile: 2.30 - Taxi_costPerMinute: 0.10 - Taxi_waitTime_mean: - 1: 5.5 - 2: 9.5 - 3: 13.3 - 4: 17.3 - 5: 26.5 - Taxi_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_single_baseFare: 2.20 - TNC_single_costPerMile: 1.33 - TNC_single_costPerMinute: 0.24 - TNC_single_costMinimum: 7.20 - TNC_single_waitTime_mean: - 1: 3.0 - 2: 6.3 - 3: 8.4 - 4: 8.5 - 5: 10.3 - TNC_single_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_shared_baseFare: 2.20 - TNC_shared_costPerMile: 0.53 - TNC_shared_costPerMinute: 0.10 - TNC_shared_costMinimum: 3.00 - TNC_shared_IVTFactor: 1.5 - TNC_shared_waitTime_mean: - 1: 5.0 - 2: 8.0 - 3: 11.0 - 4: 15.0 - 5: 15.0 - TNC_shared_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - min_waitTime: 0 - max_waitTime: 50 - - ivt_cost_multiplier: 0.6 - ivt_lrt_multiplier: 0.9 - ivt_ferry_multiplier: 0.8 - ivt_exp_multiplier: 1 - ivt_hvy_multiplier: 0.8 - ivt_com_multiplier: 0.7 - walktimeshort_multiplier: 2 - walktimelong_multiplier: 10 - biketimeshort_multiplier: 4 - biketimelong_multiplier: 20 - short_i_wait_multiplier: 2 - long_i_wait_multiplier: 1 - wacc_multiplier: 2 - wegr_multiplier: 2 - waux_multiplier: 2 - dtim_multiplier: 2 - xwait_multiplier: 2 - dacc_ratio: 0 - xfers_wlk_multiplier: 10 - xfers_drv_multiplier: 20 - drvtrn_distpen_0_multiplier: 270 - drvtrn_distpen_max: 15 - density_index_multiplier: -0.2 -# joint_sr2_ASC_no_auto: 0 -# joint_sr2_ASC_auto_deficient: 0 -# joint_sr2_ASC_auto_sufficient: 0 -# joint_drive_transit_ASC_no_auto: 0 - -# so far, we can use the same spec as for non-joint tours -preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - - tours - -nontour_preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - -# to reduce memory needs filter chooser table to these fields -LOGSUM_CHOOSER_COLUMNS: - - tour_type - - hhsize - - density_index - - age - - age_16_p - - age_16_to_19 - - auto_ownership - - number_of_participants - - tour_category - - num_workers - - value_of_time - - free_parking_at_work - - income_segment - - demographic_segment - - c_ivt_for_segment - - c_cost_for_segment - -MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum +LOGIT_TYPE: NL +#LOGIT_TYPE: MNL + +tvpb_mode_path_types: + DRIVE_TRANSIT: + od: DTW + do: WTD + WALK_TRANSIT: + od: WTW + do: WTW + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - name: DRIVEALONE + coefficient: coef_nest_AUTO_DRIVEALONE + alternatives: + - DRIVEALONEFREE + - DRIVEALONEPAY + - name: SHAREDRIDE2 + coefficient: coef_nest_AUTO_SHAREDRIDE2 + alternatives: + - SHARED2FREE + - SHARED2PAY + - name: SHAREDRIDE3 + coefficient: coef_nest_AUTO_SHAREDRIDE3 + alternatives: + - SHARED3FREE + - SHARED3PAY + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - WALK_TRANSIT + - DRIVE_TRANSIT + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coefficients.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coefficients_template.csv + +CONSTANTS: + #valueOfTime: 8.00 + costPerMile: 18.29 + costShareSr2: 1.75 + costShareSr3: 2.50 + waitThresh: 10.00 + walkThresh: 1.50 + shortWalk: 0.333 + longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 6.00 + bikeSpeed: 12.00 + maxCbdAreaTypeThresh: 2 + indivTour: 1.00000 + upperEA: 5 + upperAM: 10 + upperMD: 15 + upperPM: 19 + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 + + ivt_cost_multiplier: 0.6 + ivt_lrt_multiplier: 0.9 + ivt_ferry_multiplier: 0.8 + ivt_exp_multiplier: 1 + ivt_hvy_multiplier: 0.8 + ivt_com_multiplier: 0.7 + walktimeshort_multiplier: 2 + walktimelong_multiplier: 10 + biketimeshort_multiplier: 4 + biketimelong_multiplier: 20 + short_i_wait_multiplier: 2 + long_i_wait_multiplier: 1 + wacc_multiplier: 2 + wegr_multiplier: 2 + waux_multiplier: 2 + dtim_multiplier: 2 + xwait_multiplier: 2 + dacc_ratio: 0 + xfers_wlk_multiplier: 10 + xfers_drv_multiplier: 20 + drvtrn_distpen_0_multiplier: 270 + drvtrn_distpen_max: 15 + density_index_multiplier: -0.2 +# joint_sr2_ASC_no_auto: 0 +# joint_sr2_ASC_auto_deficient: 0 +# joint_sr2_ASC_auto_sufficient: 0 +# joint_drive_transit_ASC_no_auto: 0 + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - tours + +nontour_preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + - income_segment + - demographic_segment + - c_ivt_for_segment + - c_cost_for_segment + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice.csv similarity index 98% rename from activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice.csv index 30952ec5d3..e6bb38fddc 100644 --- a/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice.csv +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice.csv @@ -193,3 +193,6 @@ util_Bike_not_available_for_long_distances,Bike not available for long distances util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,coef_ivt,coef_ivt util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,,, util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,coef_ivt +#, School Escorting eligibility,,,,,,,,,,,,,,,,,,,,,, +util_one_or_more_school_escort,No SOV if on school escort tour,(num_escortees >= 1),-999,-999,,,,,,,,,,, +util_two_or_more_school_escort,Can't take HOV2 if taking two children and yourself,(num_escortees >= 2),,,-999,-999,,,,,,,,, \ No newline at end of file diff --git a/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 95% rename from activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv index e07c28f0bb..ea84ab8c81 100644 --- a/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv @@ -63,7 +63,7 @@ dest terminal time not counted at home,_dest_terminal_time,"np.where(inbound & l ,destination_walk_time,shortWalk*60/walkSpeed # RIDEHAIL,, ,origin_density_measure,"(reindex(land_use.TOTPOP, df[orig_col_name]) + reindex(land_use.TOTEMP, df[orig_col_name])) / (reindex(land_use.TOTACRE, df[orig_col_name]) / 640)" -,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,origin_density,"pd.cut(origin_density_measure.fillna(0), bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" ,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" ,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" # ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from @@ -108,3 +108,5 @@ dest terminal time not counted at home,_dest_terminal_time,"np.where(inbound & l ,distance,od_skims['DIST'] ,distance_walk_od,od_skims['DIST'] ,distance_bike_od,od_skims['DISTBIKE'] +# added for school escorting model,, +Number of school children in vehicle on trip,num_escortees,"0 if 'escort_participants' not in df.columns else df.escort_participants.fillna('').apply(lambda x: len(x.split('_')))" \ No newline at end of file diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_accessibility_walk_maz_tap.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_drive_maz_tap.csv similarity index 99% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_drive_maz_tap.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_drive_maz_tap.csv index 9d402a2976..b601a743f8 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_drive_maz_tap.csv +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_drive_maz_tap.csv @@ -1,4 +1,4 @@ -Label,Description,Expression,utility -util_drive_available,walk available,@df.drive_time.isna() * C_UNAVAILABLE,1 -util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_drive * df.drive_time",1 -util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * df.DIST * c_auto_operating_cost_per_mile",1 +Label,Description,Expression,utility +util_drive_available,walk available,@df.drive_time.isna() * C_UNAVAILABLE,1 +util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_drive * df.drive_time",1 +util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * df.DIST * c_auto_operating_cost_per_mile",1 diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap.csv similarity index 99% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap.csv index afd50f1642..0d2d6ebaf5 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap.csv +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap.csv @@ -1,69 +1,69 @@ -Label,Description,Expression,fastest,cheapest,shortest -# fastest,,,,, -util_transit_available_fastest,transit_available,@~df.transit_available_fastest * C_UNAVAILABLE,1,, -#,,, FIXME demonstrate that we can use path inor (access and egress modes here),, -util_bus_xfer_fastest,number of transfers,"@C_DRIVE_TRANSFER_PENALTY * (access_mode == 'drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_BOARDS_FAST')-1).clip(0)",1,, -#,,, local bus,, -util_bus_ivt_fastest,local bus in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_FAST')",1,, -util_bus_wait_fastest,local bus wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_FAST')",1,, -util_bus_xwait_fastest,local bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_FAST')",1,, -util_bus_fare_fastest,local bus fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_FAST')",1,, -##,,, commuter bus,, -#util_com_ivt_fastest,commuter bus in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_FAST')",1,, -#util_com_wait_fastest,commuter bus wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_FAST')",1,, -#util_com_xwait_fastest,commuter bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_FAST')",1,, -#util_com_fare_fastest,commuter bus fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_FAST')",1,, -##,,, express,, -#util_exp_ivt_fastest,express in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_FAST')",1,, -#util_exp_wait_fastest,express wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_FAST')",1,, -#util_exp_xwait_fastest,express bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_FAST')",1,, -#util_exp_fare_fastest,express fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_FAST')",1,, -##,,, heavy,, -#util_hvy_ivt_fastest,heavy in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_FAST')",1,, -#util_hvy_wait_fastest,heavy wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_FAST')",1,, -#util_hvy_xwait_fastest,heavy bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_FAST')",1,, -#util_hvy_fare_fastest,heavy fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_FAST')",1,, -## cheapest,,,,, -#util_transit_available_cheapest,transit_available,@~df.transit_available_cheapest * C_UNAVAILABLE,,1, -#,,,, local bus, -util_bus_ivt_cheapest,local bus in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_CHEAP')",,1 -util_bus_wait_cheapest,local bus wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_CHEAP')",,1 -util_bus_xwait_cheapest,local bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_CHEAP')",,1 -util_bus_fare_cheapest,local bus fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_CHEAP')",,1 -##,,,, commuter bus, -#util_com_ivt_cheapest,commuter bus in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_CHEAP')",,1, -#util_com_wait_cheapest,commuter bus wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_CHEAP')",,1, -#util_com_xwait_cheapest,commuter bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_CHEAP')",,1, -#util_com_fare_cheapest,commuter bus fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_CHEAP')",,1, -##,,,, express, -#util_exp_ivt_cheapest,express in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_CHEAP')",,1, -#util_exp_wait_cheapest,express wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_CHEAP')",,1, -#util_exp_xwait_cheapest,express bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_CHEAP')",,1, -#util_exp_fare_cheapest,express fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_CHEAP')",,1, -##,,,, heavy, -#util_hvy_ivt_cheapest,heavy in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_CHEAP')",,1, -#util_hvy_wait_cheapest,heavy wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_CHEAP')",,1, -#util_hvy_xwait_cheapest,heavy bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_CHEAP')",,1, -#util_hvy_fare_cheapest,heavy fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_CHEAP')",,1, -## shortest,,,,, -#util_transit_available_shortest,transit_available,@~df.transit_available_shortest * C_UNAVAILABLE,,,1 -#,,,,, local bus -util_bus_ivt_shortest,local bus in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_SHORT')",,,1 -util_bus_wait_shortest,local bus wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_SHORT')",,,1 -util_bus_xwait_shortest,local bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_SHORT')",,,1 -util_bus_fare_shortest,local bus fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_SHORT')",,,1 -##,,,,, commuter bus -#util_com_ivt_shortest,commuter bus in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_SHORT')",,,1 -#util_com_wait_shortest,commuter bus wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_SHORT')",,,1 -#util_com_xwait_shortest,commuter bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_SHORT')",,,1 -#util_com_fare_shortest,commuter bus fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_SHORT')",,,1 -##,,,,, express -#util_exp_ivt_shortest,express in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_SHORT')",,,1 -#util_exp_wait_shortest,express wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_SHORT')",,,1 -#util_exp_xwait_shortest,express bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_SHORT')",,,1 -#util_exp_fare_shortest,express fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_SHORT')",,,1 -##,,,,, heav -#util_hvy_ivt_shortest,heavy in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_SHORT')",,,1 -#util_hvy_wait_shortest,heavy wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_SHORT')",,,1 -#util_hvy_xwait_shortest,heavy bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_SHORT')",,,1 -#util_hvy_fare_shortest,heavy fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_SHORT')",,,1 +Label,Description,Expression,fastest,cheapest,shortest +# fastest,,,,, +util_transit_available_fastest,transit_available,@~df.transit_available_fastest * C_UNAVAILABLE,1,, +#,,, FIXME demonstrate that we can use path inor (access and egress modes here),, +util_bus_xfer_fastest,number of transfers,"@C_DRIVE_TRANSFER_PENALTY * (access_mode == 'drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_BOARDS_FAST')-1).clip(0)",1,, +#,,, local bus,, +util_bus_ivt_fastest,local bus in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_FAST')",1,, +util_bus_wait_fastest,local bus wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_FAST')",1,, +util_bus_xwait_fastest,local bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_FAST')",1,, +util_bus_fare_fastest,local bus fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_FAST')",1,, +##,,, commuter bus,, +#util_com_ivt_fastest,commuter bus in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_FAST')",1,, +#util_com_wait_fastest,commuter bus wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_FAST')",1,, +#util_com_xwait_fastest,commuter bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_FAST')",1,, +#util_com_fare_fastest,commuter bus fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_FAST')",1,, +##,,, express,, +#util_exp_ivt_fastest,express in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_FAST')",1,, +#util_exp_wait_fastest,express wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_FAST')",1,, +#util_exp_xwait_fastest,express bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_FAST')",1,, +#util_exp_fare_fastest,express fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_FAST')",1,, +##,,, heavy,, +#util_hvy_ivt_fastest,heavy in vehicle time,"@C_FASTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_FAST')",1,, +#util_hvy_wait_fastest,heavy wait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_FAST')",1,, +#util_hvy_xwait_fastest,heavy bus xwait time,"@C_FASTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_FAST')",1,, +#util_hvy_fare_fastest,heavy fare,"@C_FASTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_FAST')",1,, +## cheapest,,,,, +#util_transit_available_cheapest,transit_available,@~df.transit_available_cheapest * C_UNAVAILABLE,,1, +#,,,, local bus, +util_bus_ivt_cheapest,local bus in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_CHEAP')",,1 +util_bus_wait_cheapest,local bus wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_CHEAP')",,1 +util_bus_xwait_cheapest,local bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_CHEAP')",,1 +util_bus_fare_cheapest,local bus fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_CHEAP')",,1 +##,,,, commuter bus, +#util_com_ivt_cheapest,commuter bus in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_CHEAP')",,1, +#util_com_wait_cheapest,commuter bus wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_CHEAP')",,1, +#util_com_xwait_cheapest,commuter bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_CHEAP')",,1, +#util_com_fare_cheapest,commuter bus fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_CHEAP')",,1, +##,,,, express, +#util_exp_ivt_cheapest,express in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_CHEAP')",,1, +#util_exp_wait_cheapest,express wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_CHEAP')",,1, +#util_exp_xwait_cheapest,express bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_CHEAP')",,1, +#util_exp_fare_cheapest,express fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_CHEAP')",,1, +##,,,, heavy, +#util_hvy_ivt_cheapest,heavy in vehicle time,"@C_CHEAPEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_CHEAP')",,1, +#util_hvy_wait_cheapest,heavy wait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_CHEAP')",,1, +#util_hvy_xwait_cheapest,heavy bus xwait time,"@C_CHEAPEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_CHEAP')",,1, +#util_hvy_fare_cheapest,heavy fare,"@C_CHEAPEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_CHEAP')",,1, +## shortest,,,,, +#util_transit_available_shortest,transit_available,@~df.transit_available_shortest * C_UNAVAILABLE,,,1 +#,,,,, local bus +util_bus_ivt_shortest,local bus in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_SHORT')",,,1 +util_bus_wait_shortest,local bus wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_IWAIT_SHORT')",,,1 +util_bus_xwait_shortest,local bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_XWAIT_SHORT')",,,1 +util_bus_fare_shortest,local bus fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_FAR_SHORT')",,,1 +##,,,,, commuter bus +#util_com_ivt_shortest,commuter bus in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_SHORT')",,,1 +#util_com_wait_shortest,commuter bus wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_IWAIT_SHORT')",,,1 +#util_com_xwait_shortest,commuter bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_XWAIT_SHORT')",,,1 +#util_com_fare_shortest,commuter bus fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_FAR_SHORT')",,,1 +##,,,,, express +#util_exp_ivt_shortest,express in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_SHORT')",,,1 +#util_exp_wait_shortest,express wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_IWAIT_SHORT')",,,1 +#util_exp_xwait_shortest,express bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_XWAIT_SHORT')",,,1 +#util_exp_fare_shortest,express fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_FAR_SHORT')",,,1 +##,,,,, heav +#util_hvy_ivt_shortest,heavy in vehicle time,"@C_SHORTEST_IVT_MULTIPLIER * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_SHORT')",,,1 +#util_hvy_wait_shortest,heavy wait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_IWAIT_SHORT')",,,1 +#util_hvy_xwait_shortest,heavy bus xwait time,"@C_SHORTEST_IVT_MULTIPLIER * c_wait * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_XWAIT_SHORT')",,,1 +#util_hvy_fare_shortest,heavy fare,"@C_SHORTEST_COST_MULTIPLIER * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_FAR_SHORT')",,,1 diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv similarity index 98% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv index cbac046cf0..0ff843ec8e 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv @@ -1,26 +1,26 @@ -Description,Target,Expression -# demographic segment,, -,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" -,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" -# fastest,, -,_bus_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_FAST')>0" -,_com_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_FAST')>0" -,_exp_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_FAST')>0" -,_hvy_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_FAST')>0" -,_lrf_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_FAST')>0" -,transit_available_fastest,_bus_available_fastest | _com_available_fastest | _exp_available_fastest | _hvy_available_fastest | _lrf_available_fastest -,not_transit_available_fastest,~transit_available_fastest -# cheapest,, -,_bus_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_CHEAP')>0" -,_com_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_CHEAP')>0" -,_exp_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_CHEAP')>0" -,_hvy_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_CHEAP')>0" -,_lrf_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_CHEAP')>0" -,transit_available_cheapest,_bus_available_cheapest | _com_available_cheapest | _exp_available_cheapest | _hvy_available_cheapest | _lrf_available_cheapest -# shortest,, -,_bus_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_SHORT')>0" -,_com_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_SHORT')>0" -,_exp_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_SHORT')>0" -,_hvy_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_SHORT')>0" -,_lrf_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_SHORT')>0" -,transit_available_shortest,_bus_available_shortest | _com_available_shortest | _exp_available_shortest | _hvy_available_shortest | _lrf_available_shortest +Description,Target,Expression +# demographic segment,, +,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" +,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" +# fastest,, +,_bus_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_FAST')>0" +,_com_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_FAST')>0" +,_exp_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_FAST')>0" +,_hvy_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_FAST')>0" +,_lrf_available_fastest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_FAST')>0" +,transit_available_fastest,_bus_available_fastest | _com_available_fastest | _exp_available_fastest | _hvy_available_fastest | _lrf_available_fastest +,not_transit_available_fastest,~transit_available_fastest +# cheapest,, +,_bus_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_CHEAP')>0" +,_com_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_CHEAP')>0" +,_exp_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_CHEAP')>0" +,_hvy_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_CHEAP')>0" +,_lrf_available_cheapest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_CHEAP')>0" +,transit_available_cheapest,_bus_available_cheapest | _com_available_cheapest | _exp_available_cheapest | _hvy_available_cheapest | _lrf_available_cheapest +# shortest,, +,_bus_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LOC_TOTIVT_SHORT')>0" +,_com_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'COM_TOTIVT_SHORT')>0" +,_exp_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'EXP_TOTIVT_SHORT')>0" +,_hvy_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HVY_TOTIVT_SHORT')>0" +,_lrf_available_shortest,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LRF_TOTIVT_SHORT')>0" +,transit_available_shortest,_bus_available_shortest | _com_available_shortest | _exp_available_shortest | _hvy_available_shortest | _lrf_available_shortest diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_walk_maz_tap.csv similarity index 98% rename from activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_walk_maz_tap.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_walk_maz_tap.csv index 69ff955b0f..bb9e26b98b 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_utility_walk_maz_tap.csv +++ b/activitysim/examples/placeholder_sandag/configs_3_zone/tvpb_utility_walk_maz_tap.csv @@ -1,3 +1,3 @@ -Label,Description,Expression,utility -util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 -util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walk * df.walk_time",1 +Label,Description,Expression,utility +util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 +util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walk * df.walk_time",1 diff --git a/activitysim/examples/example_sandag/configs_3_zone/write_trip_matrices.yaml b/activitysim/examples/placeholder_sandag/configs_3_zone/write_trip_matrices.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/write_trip_matrices.yaml rename to activitysim/examples/placeholder_sandag/configs_3_zone/write_trip_matrices.yaml diff --git a/activitysim/examples/example_sandag/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/placeholder_sandag/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv rename to activitysim/examples/placeholder_sandag/configs_3_zone/write_trip_matrices_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_sandag/configs_benchmarking/settings.yaml b/activitysim/examples/placeholder_sandag/configs_benchmarking/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/configs_benchmarking/settings.yaml rename to activitysim/examples/placeholder_sandag/configs_benchmarking/settings.yaml diff --git a/activitysim/examples/example_sandag/configs_skip_accessibility/settings.yaml b/activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings.yaml similarity index 98% rename from activitysim/examples/example_sandag/configs_skip_accessibility/settings.yaml rename to activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings.yaml index 08ab8d1dcd..50cc909e17 100755 --- a/activitysim/examples/example_sandag/configs_skip_accessibility/settings.yaml +++ b/activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings.yaml @@ -1,6 +1,6 @@ inherit_settings: True -# activitysim run -c configs_skip_accessibility -c configs_3_zone -c ../example_mtc/configs -o output_3 -d data_3 +# activitysim run -c configs_skip_accessibility -c configs_3_zone -c ../prototype_mtc/configs -o output_3 -d data_3 # input tables input_table_list: diff --git a/activitysim/examples/example_sandag/configs_skip_accessibility/settings_mp.yaml b/activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings_mp.yaml similarity index 86% rename from activitysim/examples/example_sandag/configs_skip_accessibility/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings_mp.yaml index 1246a0d8ec..d2264c3923 100755 --- a/activitysim/examples/example_sandag/configs_skip_accessibility/settings_mp.yaml +++ b/activitysim/examples/placeholder_sandag/configs_skip_accessibility/settings_mp.yaml @@ -1,6 +1,6 @@ inherit_settings: True -# activitysim run -c configs_skip_accessibility -c configs_3_zone -c ../example_mtc/configs -o output_3 -d data_3 -s settings_mp.yaml +# activitysim run -c configs_skip_accessibility -c configs_3_zone -c ../prototype_mtc/configs -o output_3 -d data_3 -s settings_mp.yaml multiprocess: True diff --git a/activitysim/examples/example_sandag/data_1/households.csv b/activitysim/examples/placeholder_sandag/data_1/households.csv similarity index 100% rename from activitysim/examples/example_sandag/data_1/households.csv rename to activitysim/examples/placeholder_sandag/data_1/households.csv diff --git a/activitysim/examples/example_sandag/data_1/land_use.csv b/activitysim/examples/placeholder_sandag/data_1/land_use.csv similarity index 100% rename from activitysim/examples/example_sandag/data_1/land_use.csv rename to activitysim/examples/placeholder_sandag/data_1/land_use.csv diff --git a/activitysim/examples/example_sandag/data_1/persons.csv b/activitysim/examples/placeholder_sandag/data_1/persons.csv similarity index 100% rename from activitysim/examples/example_sandag/data_1/persons.csv rename to activitysim/examples/placeholder_sandag/data_1/persons.csv diff --git a/activitysim/examples/example_sandag/data_1/skims1.omx b/activitysim/examples/placeholder_sandag/data_1/skims1.omx similarity index 100% rename from activitysim/examples/example_sandag/data_1/skims1.omx rename to activitysim/examples/placeholder_sandag/data_1/skims1.omx diff --git a/activitysim/examples/example_sandag/data_2/households.csv b/activitysim/examples/placeholder_sandag/data_2/households.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/households.csv rename to activitysim/examples/placeholder_sandag/data_2/households.csv diff --git a/activitysim/examples/example_sandag/data_2/land_use.csv b/activitysim/examples/placeholder_sandag/data_2/land_use.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/land_use.csv rename to activitysim/examples/placeholder_sandag/data_2/land_use.csv diff --git a/activitysim/examples/example_sandag/data_2/maz.csv b/activitysim/examples/placeholder_sandag/data_2/maz.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/maz.csv rename to activitysim/examples/placeholder_sandag/data_2/maz.csv diff --git a/activitysim/examples/example_sandag/data_2/maz_to_maz_walk.csv b/activitysim/examples/placeholder_sandag/data_2/maz_to_maz_walk.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/maz_to_maz_walk.csv rename to activitysim/examples/placeholder_sandag/data_2/maz_to_maz_walk.csv diff --git a/activitysim/examples/example_sandag/data_2/persons.csv b/activitysim/examples/placeholder_sandag/data_2/persons.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/persons.csv rename to activitysim/examples/placeholder_sandag/data_2/persons.csv diff --git a/activitysim/examples/example_sandag/data_2/skims1.omx b/activitysim/examples/placeholder_sandag/data_2/skims1.omx similarity index 100% rename from activitysim/examples/example_sandag/data_2/skims1.omx rename to activitysim/examples/placeholder_sandag/data_2/skims1.omx diff --git a/activitysim/examples/example_sandag/data_2/taz.csv b/activitysim/examples/placeholder_sandag/data_2/taz.csv similarity index 100% rename from activitysim/examples/example_sandag/data_2/taz.csv rename to activitysim/examples/placeholder_sandag/data_2/taz.csv diff --git a/activitysim/examples/example_sandag/data_3/cached_accessibility.csv.gz b/activitysim/examples/placeholder_sandag/data_3/cached_accessibility.csv.gz similarity index 100% rename from activitysim/examples/example_sandag/data_3/cached_accessibility.csv.gz rename to activitysim/examples/placeholder_sandag/data_3/cached_accessibility.csv.gz diff --git a/activitysim/examples/example_sandag/data_3/households.csv b/activitysim/examples/placeholder_sandag/data_3/households.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/households.csv rename to activitysim/examples/placeholder_sandag/data_3/households.csv diff --git a/activitysim/examples/example_sandag/data_3/land_use.csv b/activitysim/examples/placeholder_sandag/data_3/land_use.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/land_use.csv rename to activitysim/examples/placeholder_sandag/data_3/land_use.csv diff --git a/activitysim/examples/example_sandag/data_3/maz.csv b/activitysim/examples/placeholder_sandag/data_3/maz.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/maz.csv rename to activitysim/examples/placeholder_sandag/data_3/maz.csv diff --git a/activitysim/examples/example_sandag/data_3/maz_to_maz_bike.csv b/activitysim/examples/placeholder_sandag/data_3/maz_to_maz_bike.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/maz_to_maz_bike.csv rename to activitysim/examples/placeholder_sandag/data_3/maz_to_maz_bike.csv diff --git a/activitysim/examples/example_sandag/data_3/maz_to_maz_walk.csv b/activitysim/examples/placeholder_sandag/data_3/maz_to_maz_walk.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/maz_to_maz_walk.csv rename to activitysim/examples/placeholder_sandag/data_3/maz_to_maz_walk.csv diff --git a/activitysim/examples/example_sandag/data_3/maz_to_tap_drive.csv b/activitysim/examples/placeholder_sandag/data_3/maz_to_tap_drive.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/maz_to_tap_drive.csv rename to activitysim/examples/placeholder_sandag/data_3/maz_to_tap_drive.csv diff --git a/activitysim/examples/example_sandag/data_3/maz_to_tap_walk.csv b/activitysim/examples/placeholder_sandag/data_3/maz_to_tap_walk.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/maz_to_tap_walk.csv rename to activitysim/examples/placeholder_sandag/data_3/maz_to_tap_walk.csv diff --git a/activitysim/examples/example_sandag/data_3/persons.csv b/activitysim/examples/placeholder_sandag/data_3/persons.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/persons.csv rename to activitysim/examples/placeholder_sandag/data_3/persons.csv diff --git a/activitysim/examples/example_sandag/data_3/tap.csv b/activitysim/examples/placeholder_sandag/data_3/tap.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/tap.csv rename to activitysim/examples/placeholder_sandag/data_3/tap.csv diff --git a/activitysim/examples/example_sandag/data_3/tap_lines.csv b/activitysim/examples/placeholder_sandag/data_3/tap_lines.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/tap_lines.csv rename to activitysim/examples/placeholder_sandag/data_3/tap_lines.csv diff --git a/activitysim/examples/example_sandag/data_3/tap_skims1.omx b/activitysim/examples/placeholder_sandag/data_3/tap_skims1.omx similarity index 100% rename from activitysim/examples/example_sandag/data_3/tap_skims1.omx rename to activitysim/examples/placeholder_sandag/data_3/tap_skims1.omx diff --git a/activitysim/examples/example_sandag/data_3/taz.csv b/activitysim/examples/placeholder_sandag/data_3/taz.csv similarity index 100% rename from activitysim/examples/example_sandag/data_3/taz.csv rename to activitysim/examples/placeholder_sandag/data_3/taz.csv diff --git a/activitysim/examples/example_sandag/data_3/taz_skims1.omx b/activitysim/examples/placeholder_sandag/data_3/taz_skims1.omx similarity index 100% rename from activitysim/examples/example_sandag/data_3/taz_skims1.omx rename to activitysim/examples/placeholder_sandag/data_3/taz_skims1.omx diff --git a/activitysim/examples/example_multiple_zone/output_3/.gitignore b/activitysim/examples/placeholder_sandag/output_1/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3/.gitignore rename to activitysim/examples/placeholder_sandag/output_1/.gitignore diff --git a/activitysim/examples/example_mtc_extended/output/cache/.gitignore b/activitysim/examples/placeholder_sandag/output_1/cache/.gitignore similarity index 100% rename from activitysim/examples/example_mtc_extended/output/cache/.gitignore rename to activitysim/examples/placeholder_sandag/output_1/cache/.gitignore diff --git a/activitysim/examples/example_mtc_extended/output/log/.gitignore b/activitysim/examples/placeholder_sandag/output_1/log/.gitignore similarity index 100% rename from activitysim/examples/example_mtc_extended/output/log/.gitignore rename to activitysim/examples/placeholder_sandag/output_1/log/.gitignore diff --git a/activitysim/examples/example_mtc_extended/output/trace/.gitignore b/activitysim/examples/placeholder_sandag/output_1/trace/.gitignore similarity index 100% rename from activitysim/examples/example_mtc_extended/output/trace/.gitignore rename to activitysim/examples/placeholder_sandag/output_1/trace/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_example_marin_mp/.gitignore b/activitysim/examples/placeholder_sandag/output_2/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_example_marin_mp/.gitignore rename to activitysim/examples/placeholder_sandag/output_2/.gitignore diff --git a/activitysim/examples/example_mtc_extended/test/output/cache/.gitignore b/activitysim/examples/placeholder_sandag/output_2/cache/.gitignore similarity index 100% rename from activitysim/examples/example_mtc_extended/test/output/cache/.gitignore rename to activitysim/examples/placeholder_sandag/output_2/cache/.gitignore diff --git a/activitysim/examples/example_mtc_extended/test/output/trace/.gitignore b/activitysim/examples/placeholder_sandag/output_2/log/.gitignore similarity index 100% rename from activitysim/examples/example_mtc_extended/test/output/trace/.gitignore rename to activitysim/examples/placeholder_sandag/output_2/log/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_1/trace/.gitignore b/activitysim/examples/placeholder_sandag/output_2/trace/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_1/trace/.gitignore rename to activitysim/examples/placeholder_sandag/output_2/trace/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_mp/.gitignore b/activitysim/examples/placeholder_sandag/output_3/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_mp/.gitignore rename to activitysim/examples/placeholder_sandag/output_3/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3/cache/.gitignore b/activitysim/examples/placeholder_sandag/output_3/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3/cache/.gitignore rename to activitysim/examples/placeholder_sandag/output_3/cache/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_2/trace/.gitignore b/activitysim/examples/placeholder_sandag/output_3/log/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_2/trace/.gitignore rename to activitysim/examples/placeholder_sandag/output_3/log/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3/trace/.gitignore b/activitysim/examples/placeholder_sandag/output_3/trace/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3/trace/.gitignore rename to activitysim/examples/placeholder_sandag/output_3/trace/.gitignore diff --git a/activitysim/examples/placeholder_sandag/run_sandag.txt b/activitysim/examples/placeholder_sandag/run_sandag.txt new file mode 100644 index 0000000000..a1c70a3b0f --- /dev/null +++ b/activitysim/examples/placeholder_sandag/run_sandag.txt @@ -0,0 +1,14 @@ +### +### 1 Zone +### +activitysim run -c configs_1_zone -c prototype_mtc/configs -d data_1 -o output_1 -s settings_mp.yaml + +### +### 2 Zone +### +activitysim run -c configs_2_zone -c placeholder_psrc/configs -d data_2 -o output_2 -s settings_mp.yaml + +### +### 3 Zone +### +activitysim run -c configs_3_zone -c prototype_mtc/configs -d data_3 -o output_3 -s settings_mp.yaml \ No newline at end of file diff --git a/activitysim/examples/example_sandag/scripts/sandag_crop_1_zone.py b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_1_zone.py similarity index 73% rename from activitysim/examples/example_sandag/scripts/sandag_crop_1_zone.py rename to activitysim/examples/placeholder_sandag/scripts/sandag_crop_1_zone.py index fef6744891..0c84e53794 100644 --- a/activitysim/examples/example_sandag/scripts/sandag_crop_1_zone.py +++ b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_1_zone.py @@ -1,23 +1,31 @@ +import argparse import os -import pandas as pd -import openmatrix as omx -import numpy as np -import argparse +import numpy as np +import openmatrix as omx +import pandas as pd segments = { - 'test': '../data_2/taz.csv', # crop to match 2 zone TAZs, includes univ - 'full': (0, 100000), + "test": "../data_2/taz.csv", # crop to match 2 zone TAZs, includes univ + "full": (0, 100000), } -parser = argparse.ArgumentParser(description='crop SANDAG 1 zone raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of TAZ zone_ids and foreign keys & write orphan_households file') +parser = argparse.ArgumentParser(description="crop SANDAG 1 zone raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of TAZ zone_ids and foreign keys & write orphan_households file", +) args = parser.parse_args() @@ -28,13 +36,13 @@ assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" if isinstance(segments[segment_name], str): zone_df = pd.read_csv(segments[segment_name]) - zones = zone_df['TAZ'].values + zones = zone_df["TAZ"].values else: zone_min, zone_max = segments[segment_name] zones = range(zone_min, zone_max + 1) -input_dir = './data_raw' -output_dir = f'./data_{segment_name}_1' +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}_1" print(f"check_geography {check_geography}") @@ -53,7 +61,7 @@ def output_path(file_name): def integerize_id_columns(df, table_name): - columns = ['TAZ', 'household_id', 'HHID', 'taz'] + columns = ["TAZ", "household_id", "HHID", "taz"] for c in df.columns: if c in columns: print(f"converting {table_name}.{c} to int") @@ -95,8 +103,8 @@ def to_csv(df, file_name): # land_use = read_csv("land_use.csv") land_use = land_use[land_use["TAZ"].isin(zones)] -integerize_id_columns(land_use, 'land_use') -land_use = land_use.sort_values('TAZ') +integerize_id_columns(land_use, "land_use") +land_use = land_use.sort_values("TAZ") # move index col to front land_use.insert(0, "TAZ", land_use.pop("TAZ")) @@ -108,7 +116,7 @@ def to_csv(df, file_name): # households = read_csv("households.csv") households = households[households["TAZ"].isin(land_use.TAZ)] -integerize_id_columns(households, 'households') +integerize_id_columns(households, "households") to_csv(households, "households.csv") @@ -117,35 +125,37 @@ def to_csv(df, file_name): # persons = read_csv("persons.csv") persons = persons[persons["household_id"].isin(households.HHID)] -integerize_id_columns(persons, 'persons') +integerize_id_columns(persons, "persons") to_csv(persons, "persons.csv") # # skims # -omx_infile_name = 'skims.omx' +omx_infile_name = "skims.omx" skim_data_type = np.float32 omx_in = omx.open_file(input_path(omx_infile_name)) print(f"omx_in shape {omx_in.shape()}") -zone = land_use.sort_values('TAZ')[['TAZ']] +zone = land_use.sort_values("TAZ")[["TAZ"]] zone.index = zone.TAZ - 1 zone_indexes = zone.index.tolist() # index of TAZ in skim (zero-based, no mapping) zone_labels = zone.TAZ.tolist() # TAZ in omx index order # create -num_outfiles = 6 if segment_name == 'full' else 1 +num_outfiles = 6 if segment_name == "full" else 1 if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"skims1.omx"), 'w')] + omx_out = [omx.open_file(output_path(f"skims1.omx"), "w")] else: - omx_out = [omx.open_file(output_path(f"skims{i+1}.omx"), 'w') for i in range(num_outfiles)] + omx_out = [ + omx.open_file(output_path(f"skims{i+1}.omx"), "w") for i in range(num_outfiles) + ] for omx_file in omx_out: - omx_file.create_mapping('ZONE', zone_labels) + omx_file.create_mapping("ZONE", zone_labels) iskim = 0 for mat_name in omx_in.list_matrices(): diff --git a/activitysim/examples/example_sandag/scripts/sandag_crop_2_zone.py b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_2_zone.py similarity index 67% rename from activitysim/examples/example_sandag/scripts/sandag_crop_2_zone.py rename to activitysim/examples/placeholder_sandag/scripts/sandag_crop_2_zone.py index 864eb31f44..bfcf9c84d6 100644 --- a/activitysim/examples/example_sandag/scripts/sandag_crop_2_zone.py +++ b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_2_zone.py @@ -1,25 +1,33 @@ +import argparse import os -import pandas as pd -import openmatrix as omx -import numpy as np -import argparse +import numpy as np +import openmatrix as omx +import pandas as pd MAZ_OFFSET = 0 segments = { - 'test': (492, 1100), # includes univ - 'full': (0, 100000), + "test": (492, 1100), # includes univ + "full": (0, 100000), } -parser = argparse.ArgumentParser(description='crop SANDAG 2 zone raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file') +parser = argparse.ArgumentParser(description="crop SANDAG 2 zone raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file", +) args = parser.parse_args() @@ -30,8 +38,8 @@ assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" maz_min, maz_max = segments[segment_name] -input_dir = './data_raw' -output_dir = f'./data_{segment_name}_2' +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}_2" print(f"segment_name {segment_name}") @@ -57,7 +65,7 @@ def output_path(file_name): def integerize_id_columns(df, table_name): - columns = ['MAZ', 'OMAZ', 'DMAZ', 'TAZ', 'zone_id', 'household_id', 'HHID'] + columns = ["MAZ", "OMAZ", "DMAZ", "TAZ", "zone_id", "household_id", "HHID"] for c in df.columns: if c in columns: print(f"converting {table_name}.{c} to int") @@ -86,8 +94,8 @@ def to_csv(df, file_name): # ######## check for orphan_households not in any maz in land_use land_use = read_csv("land_use.csv") - land_use = land_use[['MAZ', 'TAZ']] # King County - land_use = land_use.sort_values(['TAZ', 'MAZ']) + land_use = land_use[["MAZ", "TAZ"]] # King County + land_use = land_use.sort_values(["TAZ", "MAZ"]) households = read_csv("households.csv") orphan_households = households[~households.MAZ.isin(land_use.MAZ)] @@ -103,12 +111,14 @@ def to_csv(df, file_name): # could just build maz and taz files, but want to make sure PSRC data is right land_use = read_csv("land_use.csv") - land_use = land_use.sort_values('MAZ') - maz = read_csv("maz.csv").sort_values('MAZ') + land_use = land_use.sort_values("MAZ") + maz = read_csv("maz.csv").sort_values("MAZ") # ### FATAL ### if not land_use.MAZ.isin(maz.MAZ).all(): - print(f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}") + print( + f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}" + ) raise RuntimeError(f"land_use.MAZ not in maz.MAZ") if not maz.MAZ.isin(land_use.MAZ).all(): @@ -116,18 +126,22 @@ def to_csv(df, file_name): # ### FATAL ### if not land_use.TAZ.isin(maz.TAZ).all(): - print(f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}") + print( + f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}" + ) raise RuntimeError(f"land_use.TAZ not in maz.TAZ") if not maz.TAZ.isin(land_use.TAZ).all(): print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") - land_use = land_use.sort_values('TAZ') - taz = read_csv("taz.csv").sort_values('TAZ') + land_use = land_use.sort_values("TAZ") + taz = read_csv("taz.csv").sort_values("TAZ") # ### FATAL ### if not land_use.TAZ.isin(taz.TAZ).all(): - print(f"land_use.TAZ not in taz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(taz.MAZ)]}") + print( + f"land_use.TAZ not in taz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(taz.MAZ)]}" + ) raise RuntimeError(f"land_use.TAZ not in taz.TAZ") if not taz.TAZ.isin(land_use.TAZ).all(): @@ -140,44 +154,46 @@ def to_csv(df, file_name): # land_use = read_csv("land_use.csv") land_use = land_use[(land_use["MAZ"] >= maz_min) & (land_use["MAZ"] <= maz_max)] -integerize_id_columns(land_use, 'land_use') -land_use = land_use.sort_values('MAZ') +integerize_id_columns(land_use, "land_use") +land_use = land_use.sort_values("MAZ") # make sure we have some HSENROLL and COLLFTE, even for very for small samples -if land_use['HSENROLL'].sum() == 0: - assert segment_name != 'full', f"land_use['HSENROLL'] is 0 for full sample!" - land_use['HSENROLL'] = land_use['AGE0519'] +if land_use["HSENROLL"].sum() == 0: + assert segment_name != "full", f"land_use['HSENROLL'] is 0 for full sample!" + land_use["HSENROLL"] = land_use["AGE0519"] print(f"\nWARNING: land_use.HSENROLL is 0, so backfilled with AGE0519\n") -if land_use['COLLFTE'].sum() == 0: - assert segment_name != 'full', f"land_use['COLLFTE'] is 0 for full sample!" - land_use['COLLFTE'] = land_use['HSENROLL'] +if land_use["COLLFTE"].sum() == 0: + assert segment_name != "full", f"land_use['COLLFTE'] is 0 for full sample!" + land_use["COLLFTE"] = land_use["HSENROLL"] print(f"\nWARNING: land_use.COLLFTE is 0, so backfilled with HSENROLL\n") # move MAZ and TAZ columns to front -land_use = land_use[['MAZ', 'TAZ'] + [c for c in land_use.columns if c not in ['MAZ', 'TAZ']]] +land_use = land_use[ + ["MAZ", "TAZ"] + [c for c in land_use.columns if c not in ["MAZ", "TAZ"]] +] to_csv(land_use, "land_use.csv") # # maz # -maz = read_csv("maz.csv").sort_values(['MAZ', 'TAZ']) +maz = read_csv("maz.csv").sort_values(["MAZ", "TAZ"]) maz = maz[maz["MAZ"].isin(land_use.MAZ)] -integerize_id_columns(maz, 'maz') +integerize_id_columns(maz, "maz") -assert (land_use.MAZ.isin(maz.MAZ).all()) -assert (land_use.TAZ.isin(maz.TAZ).all()) -assert (maz.TAZ.isin(land_use.TAZ).all()) +assert land_use.MAZ.isin(maz.MAZ).all() +assert land_use.TAZ.isin(maz.TAZ).all() +assert maz.TAZ.isin(land_use.TAZ).all() to_csv(maz, "maz.csv") # # taz # -taz = read_csv("taz.csv").sort_values(['TAZ']) +taz = read_csv("taz.csv").sort_values(["TAZ"]) taz = taz[taz["TAZ"].isin(land_use.TAZ)] -integerize_id_columns(taz, 'taz') +integerize_id_columns(taz, "taz") -assert (land_use.TAZ.isin(taz.TAZ).all()) +assert land_use.TAZ.isin(taz.TAZ).all() to_csv(taz, "taz.csv") # print(maz.shape) @@ -189,7 +205,7 @@ def to_csv(df, file_name): # households = read_csv("households.csv") households = households[households["MAZ"].isin(maz.MAZ)] -integerize_id_columns(households, 'households') +integerize_id_columns(households, "households") to_csv(households, "households.csv") @@ -198,7 +214,7 @@ def to_csv(df, file_name): # persons = read_csv("persons.csv") persons = persons[persons["household_id"].isin(households.HHID)] -integerize_id_columns(persons, 'persons') +integerize_id_columns(persons, "persons") to_csv(persons, "persons.csv") @@ -214,26 +230,28 @@ def to_csv(df, file_name): # # skims # -omx_infile_name = 'skims.omx' +omx_infile_name = "skims.omx" skim_data_type = np.float32 omx_in = omx.open_file(input_path(omx_infile_name)) print(f"omx_in shape {omx_in.shape()}") -taz = taz.sort_values('TAZ') +taz = taz.sort_values("TAZ") taz.index = taz.TAZ - 1 tazs_indexes = taz.index.tolist() # index of TAZ in skim (zero-based, no mapping) taz_labels = taz.TAZ.tolist() # TAZ zone_ids in omx index order # create -num_outfiles = 6 if segment_name == 'full' else 1 +num_outfiles = 6 if segment_name == "full" else 1 if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"skims1.omx"), 'w')] + omx_out = [omx.open_file(output_path(f"skims1.omx"), "w")] else: - omx_out = [omx.open_file(output_path(f"skims{i+1}.omx"), 'w') for i in range(num_outfiles)] + omx_out = [ + omx.open_file(output_path(f"skims{i+1}.omx"), "w") for i in range(num_outfiles) + ] for omx_file in omx_out: - omx_file.create_mapping('ZONE', taz_labels) + omx_file.create_mapping("ZONE", taz_labels) iskim = 0 for mat_name in omx_in.list_matrices(): diff --git a/activitysim/examples/example_sandag/scripts/sandag_crop_3_zone.py b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_3_zone.py similarity index 65% rename from activitysim/examples/example_sandag/scripts/sandag_crop_3_zone.py rename to activitysim/examples/placeholder_sandag/scripts/sandag_crop_3_zone.py index 349e11cdfb..908692d3d4 100644 --- a/activitysim/examples/example_sandag/scripts/sandag_crop_3_zone.py +++ b/activitysim/examples/placeholder_sandag/scripts/sandag_crop_3_zone.py @@ -1,25 +1,34 @@ -import os -import pandas as pd -import openmatrix as omx import argparse +import os + import numpy as np +import openmatrix as omx +import pandas as pd MAZ_OFFSET = 0 segments = { - 'test': {'MAZ': np.arange(MAZ_OFFSET + 492, MAZ_OFFSET + 1101)}, # includes univ - 'univ_east': {'MAZ': np.arange(MAZ_OFFSET, MAZ_OFFSET + 1080)}, - 'full': {}, + "test": {"MAZ": np.arange(MAZ_OFFSET + 492, MAZ_OFFSET + 1101)}, # includes univ + "univ_east": {"MAZ": np.arange(MAZ_OFFSET, MAZ_OFFSET + 1080)}, + "full": {}, } -parser = argparse.ArgumentParser(description='crop SANDAG 3 zone raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ, TAP zone_ids and foreign keys & write orphan_households file') +parser = argparse.ArgumentParser(description="crop SANDAG 3 zone raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ, TAP zone_ids and foreign keys & write orphan_households file", +) args = parser.parse_args() @@ -29,8 +38,8 @@ assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" -input_dir = './data_raw' -output_dir = f'./data_{segment_name}_3' +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}_3" print(f"segment_name {segment_name}") @@ -55,7 +64,7 @@ def output_path(file_name): def patch_maz(df, maz_offset): for c in df.columns: - if c in ['MAZ', 'OMAZ', 'DMAZ', 'mgra', 'orig_mgra', 'dest_mgra']: + if c in ["MAZ", "OMAZ", "DMAZ", "mgra", "orig_mgra", "dest_mgra"]: df[c] += maz_offset return df @@ -93,12 +102,15 @@ def crop_omx(omx_file_name, zones, num_outfiles=1): # create if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"{omx_file_name}.omx"), 'w')] + omx_out = [omx.open_file(output_path(f"{omx_file_name}.omx"), "w")] else: - omx_out = [omx.open_file(output_path(f"{omx_file_name}{i + 1}.omx"), 'w') for i in range(num_outfiles)] + omx_out = [ + omx.open_file(output_path(f"{omx_file_name}{i + 1}.omx"), "w") + for i in range(num_outfiles) + ] for omx_file in omx_out: - omx_file.create_mapping('ZONE', labels) + omx_file.create_mapping("ZONE", labels) iskim = 0 for mat_name in omx_in.list_matrices(): @@ -130,8 +142,8 @@ def crop_omx(omx_file_name, zones, num_outfiles=1): # ######## check for orphan_households not in any maz in land_use land_use = read_csv(LAND_USE) - land_use = land_use[['MAZ', 'TAZ']] - land_use = land_use.sort_values(['TAZ', 'MAZ']) + land_use = land_use[["MAZ", "TAZ"]] + land_use = land_use.sort_values(["TAZ", "MAZ"]) households = read_csv(HOUSEHOLDS) orphan_households = households[~households.MAZ.isin(land_use.MAZ)] @@ -140,7 +152,9 @@ def crop_omx(omx_file_name, zones, num_outfiles=1): # write orphan_households to INPUT directory (since it doesn't belong in output) if len(orphan_households) > 0: file_name = "orphan_households.csv" - print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") + print( + f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}" + ) orphan_households.to_csv(input_path(file_name), index=False) # ######## check that land_use and maz and taz tables have same MAZs and TAZs @@ -150,12 +164,14 @@ def crop_omx(omx_file_name, zones, num_outfiles=1): land_use = read_csv(LAND_USE) # assert land_use.set_index('MAZ').index.is_monotonic_increasing - land_use = land_use.sort_values('MAZ') - maz = read_csv(MAZ_TAZ).sort_values('MAZ') + land_use = land_use.sort_values("MAZ") + maz = read_csv(MAZ_TAZ).sort_values("MAZ") # ### FATAL ### if not land_use.MAZ.isin(maz.MAZ).all(): - print(f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}") + print( + f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}" + ) raise RuntimeError(f"land_use.MAZ not in maz.MAZ") if not maz.MAZ.isin(land_use.MAZ).all(): @@ -163,7 +179,9 @@ def crop_omx(omx_file_name, zones, num_outfiles=1): # ### FATAL ### if not land_use.TAZ.isin(maz.TAZ).all(): - print(f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}") + print( + f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}" + ) raise RuntimeError(f"land_use.TAZ not in maz.TAZ") if not maz.TAZ.isin(land_use.TAZ).all(): @@ -184,12 +202,12 @@ def crop_omx(omx_file_name, zones, num_outfiles=1): land_use = land_use[land_use[slice_col].isin(slice_values)] print(f"land_use shape after slicing {land_use.shape}") -to_csv(land_use, 'land_use.csv') +to_csv(land_use, "land_use.csv") # TAZ -taz = pd.DataFrame({'TAZ': sorted(ur_land_use.TAZ.unique())}) +taz = pd.DataFrame({"TAZ": sorted(ur_land_use.TAZ.unique())}) taz = taz[taz.TAZ.isin(land_use["TAZ"])] to_csv(taz, TAZ) @@ -197,35 +215,45 @@ def crop_omx(omx_file_name, zones, num_outfiles=1): # maz_taz -maz_taz = read_csv(MAZ_TAZ).sort_values('MAZ') +maz_taz = read_csv(MAZ_TAZ).sort_values("MAZ") maz_taz = maz_taz[maz_taz.MAZ.isin(land_use.MAZ)] to_csv(maz_taz, MAZ_TAZ) # tap taps = read_csv(TAP_MAZ) -taps = taps[['TAP', 'MAZ']].sort_values(by='TAP').reset_index(drop=True) +taps = taps[["TAP", "MAZ"]].sort_values(by="TAP").reset_index(drop=True) taps = taps[taps["MAZ"].isin(land_use["MAZ"])] to_csv(taps, "tap.csv") # maz to tap -maz_tap_walk = read_csv("maz_to_tap_walk.csv").sort_values(['MAZ', 'TAP']) -taz_tap_drive = read_csv("maz_to_tap_drive.csv").sort_values(['MAZ', 'TAP']) +maz_tap_walk = read_csv("maz_to_tap_walk.csv").sort_values(["MAZ", "TAP"]) +taz_tap_drive = read_csv("maz_to_tap_drive.csv").sort_values(["MAZ", "TAP"]) -maz_tap_walk = maz_tap_walk[maz_tap_walk["MAZ"].isin(land_use["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"])] -taz_tap_drive = taz_tap_drive[taz_tap_drive["MAZ"].isin(land_use["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"])] +maz_tap_walk = maz_tap_walk[ + maz_tap_walk["MAZ"].isin(land_use["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"]) +] +taz_tap_drive = taz_tap_drive[ + taz_tap_drive["MAZ"].isin(land_use["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"]) +] to_csv(maz_tap_walk, "maz_to_tap_walk.csv") to_csv(taz_tap_drive, "maz_to_tap_drive.csv") # maz to mz -maz_maz_walk = read_csv("maz_to_maz_walk.csv").sort_values(['OMAZ', 'DMAZ']) -maz_maz_bike = read_csv("maz_to_maz_bike.csv").sort_values(['OMAZ', 'DMAZ']) +maz_maz_walk = read_csv("maz_to_maz_walk.csv").sort_values(["OMAZ", "DMAZ"]) +maz_maz_bike = read_csv("maz_to_maz_bike.csv").sort_values(["OMAZ", "DMAZ"]) -maz_maz_walk = maz_maz_walk[maz_maz_walk["OMAZ"].isin(land_use["MAZ"]) & maz_maz_walk["DMAZ"].isin(land_use["MAZ"])] -maz_maz_bike = maz_maz_bike[maz_maz_bike["OMAZ"].isin(land_use["MAZ"]) & maz_maz_bike["DMAZ"].isin(land_use["MAZ"])] +maz_maz_walk = maz_maz_walk[ + maz_maz_walk["OMAZ"].isin(land_use["MAZ"]) + & maz_maz_walk["DMAZ"].isin(land_use["MAZ"]) +] +maz_maz_bike = maz_maz_bike[ + maz_maz_bike["OMAZ"].isin(land_use["MAZ"]) + & maz_maz_bike["DMAZ"].isin(land_use["MAZ"]) +] to_csv(maz_maz_walk, "maz_to_maz_walk.csv") to_csv(maz_maz_bike, "maz_to_maz_bike.csv") @@ -233,7 +261,7 @@ def crop_omx(omx_file_name, zones, num_outfiles=1): # tap_lines tap_lines = read_csv("tap_lines.csv") -tap_lines = tap_lines[tap_lines['TAP'].isin(taps["TAP"])] +tap_lines = tap_lines[tap_lines["TAP"].isin(taps["TAP"])] to_csv(tap_lines, "tap_lines.csv") # households @@ -250,5 +278,5 @@ def crop_omx(omx_file_name, zones, num_outfiles=1): # skims -crop_omx('taz_skims1', taz.TAZ, num_outfiles=(4 if segment_name == 'full' else 1)) -crop_omx('tap_skims1', taps.TAP, num_outfiles=(4 if segment_name == 'full' else 1)) +crop_omx("taz_skims1", taz.TAZ, num_outfiles=(4 if segment_name == "full" else 1)) +crop_omx("tap_skims1", taps.TAP, num_outfiles=(4 if segment_name == "full" else 1)) diff --git a/activitysim/examples/example_mtc/test/configs_chunkless/network_los.yaml b/activitysim/examples/placeholder_sandag/test/configs_1_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs_chunkless/network_los.yaml rename to activitysim/examples/placeholder_sandag/test/configs_1_zone/network_los.yaml diff --git a/activitysim/examples/example_sandag/test/configs_1_zone/settings.yaml b/activitysim/examples/placeholder_sandag/test/configs_1_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_1_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/test/configs_1_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/test/configs_1_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/test/configs_1_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_1_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/test/configs_1_zone/settings_mp.yaml diff --git a/activitysim/examples/example_mtc/test/configs_mp/network_los.yaml b/activitysim/examples/placeholder_sandag/test/configs_2_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs_mp/network_los.yaml rename to activitysim/examples/placeholder_sandag/test/configs_2_zone/network_los.yaml diff --git a/activitysim/examples/example_sandag/test/configs_2_zone/settings.yaml b/activitysim/examples/placeholder_sandag/test/configs_2_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_2_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/test/configs_2_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/test/configs_2_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/test/configs_2_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_2_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/test/configs_2_zone/settings_mp.yaml diff --git a/activitysim/examples/example_sandag/test/configs_3_zone/network_los.yaml b/activitysim/examples/placeholder_sandag/test/configs_3_zone/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_3_zone/network_los.yaml rename to activitysim/examples/placeholder_sandag/test/configs_3_zone/network_los.yaml diff --git a/activitysim/examples/example_sandag/test/configs_3_zone/settings.yaml b/activitysim/examples/placeholder_sandag/test/configs_3_zone/settings.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_3_zone/settings.yaml rename to activitysim/examples/placeholder_sandag/test/configs_3_zone/settings.yaml diff --git a/activitysim/examples/example_sandag/test/configs_3_zone/settings_mp.yaml b/activitysim/examples/placeholder_sandag/test/configs_3_zone/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_3_zone/settings_mp.yaml rename to activitysim/examples/placeholder_sandag/test/configs_3_zone/settings_mp.yaml diff --git a/activitysim/examples/example_multiple_zone/test/output/.gitignore b/activitysim/examples/placeholder_sandag/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/test/output/.gitignore rename to activitysim/examples/placeholder_sandag/test/output/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_example_marin_mp/cache/.gitignore b/activitysim/examples/placeholder_sandag/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_example_marin_mp/cache/.gitignore rename to activitysim/examples/placeholder_sandag/test/output/cache/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_example_marin_mp/trace/.gitignore b/activitysim/examples/placeholder_sandag/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_example_marin_mp/trace/.gitignore rename to activitysim/examples/placeholder_sandag/test/output/trace/.gitignore diff --git a/activitysim/examples/example_sandag/test/regress/final_1_zone_tours.csv b/activitysim/examples/placeholder_sandag/test/regress/final_1_zone_tours.csv similarity index 100% rename from activitysim/examples/example_sandag/test/regress/final_1_zone_tours.csv rename to activitysim/examples/placeholder_sandag/test/regress/final_1_zone_tours.csv diff --git a/activitysim/examples/example_sandag/test/regress/final_1_zone_trips.csv b/activitysim/examples/placeholder_sandag/test/regress/final_1_zone_trips.csv similarity index 100% rename from activitysim/examples/example_sandag/test/regress/final_1_zone_trips.csv rename to activitysim/examples/placeholder_sandag/test/regress/final_1_zone_trips.csv diff --git a/activitysim/examples/placeholder_sandag/test/regress/final_2_zone_tours.csv b/activitysim/examples/placeholder_sandag/test/regress/final_2_zone_tours.csv new file mode 100644 index 0000000000..4b0273f678 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/test/regress/final_2_zone_tours.csv @@ -0,0 +1,80 @@ +tour_id,person_id,tour_type,tour_type_count,tour_type_num,tour_num,tour_count,tour_category,number_of_participants,destination,origin,household_id,tdd,start,end,duration,composition,destination_logsum,tour_mode,mode_choice_logsum,atwork_subtour_frequency,parent_tour_id,stop_frequency,primary_purpose +1359025,33146,work,1,1,1,1,mandatory,1,1100.0,560.0,12593,13.0,5.0,18.0,13.0,,,SHARED2FREE,0.3653801991721616,no_subtours,,2out_0in,work +1359066,33147,work,1,1,1,1,mandatory,1,1070.0,560.0,12593,59.0,8.0,13.0,5.0,,,SHARED3FREE,0.09941176797862442,no_subtours,,0out_3in,work +1494647,36454,shopping,2,1,1,2,non_mandatory,1,725.0,580.0,13797,128.0,13.0,17.0,4.0,,11.588883076021359,SHARED2FREE,-0.09928271806700736,,,0out_1in,shopping +1494648,36454,shopping,2,2,2,2,non_mandatory,1,729.0,580.0,13797,169.0,18.0,18.0,0.0,,11.58927778029986,WALK,0.2221517362502957,,,0out_2in,shopping +1494680,36455,othdiscr,1,1,1,1,non_mandatory,1,621.0,580.0,13797,159.0,16.0,21.0,5.0,,12.871272074762548,DRIVEALONEFREE,0.31816923261096336,,,0out_2in,othdiscr +1494694,36455,work,1,1,1,1,mandatory,1,555.0,580.0,13797,58.0,8.0,12.0,4.0,,,WALK,0.43708199466445435,no_subtours,,0out_0in,work +1709911,41705,eatout,1,1,1,1,non_mandatory,1,1070.0,645.0,15777,76.0,9.0,15.0,6.0,,11.872930452364761,SHARED2FREE,-0.7287326640119223,,,0out_0in,eatout +1709946,41706,business,1,1,1,1,atwork,1,988.0,763.0,15777,116.0,12.0,16.0,4.0,,18.667770523875376,WALK,0.13711935875685838,,1709985.0,0out_0in,atwork +1709985,41706,work,1,1,1,1,mandatory,1,763.0,645.0,15777,65.0,8.0,19.0,11.0,,,DRIVEALONEFREE,0.44141141810663903,business1,,0out_1in,work +2051448,50035,eatout,1,1,1,1,joint,3,986.0,757.0,18261,156.0,16.0,18.0,2.0,mixed,11.548074343194111,BIKE,-4.3155902339741425,,,0out_1in,eatout +2051466,50035,school,1,1,1,1,mandatory,1,919.0,757.0,18261,43.0,7.0,13.0,6.0,,,SHARED3FREE,-1.4990945285645794,,,0out_0in,school +2051468,50035,shopping,1,1,1,1,non_mandatory,1,991.0,757.0,18261,175.0,19.0,19.0,0.0,,11.432128738227847,DRIVEALONEFREE,-0.49743356068067307,,,0out_0in,shopping +2051504,50036,othmaint,1,1,1,1,non_mandatory,1,874.0,757.0,18261,44.0,7.0,14.0,7.0,,12.126691943110169,DRIVEALONEFREE,-0.20958676408726432,,,0out_0in,othmaint +2051556,50037,work,1,1,1,1,mandatory,1,1070.0,757.0,18261,46.0,7.0,16.0,9.0,,,DRIVEALONEFREE,-1.2594160646317012,no_subtours,,0out_0in,work +2268889,55338,school,1,1,1,1,mandatory,1,684.0,794.0,19758,40.0,7.0,10.0,3.0,,,WALK,-1.2561720200722315,,,0out_0in,school +2268938,55339,work,1,1,1,1,mandatory,1,699.0,794.0,19758,11.0,5.0,16.0,11.0,,,WALK,0.16257791027435428,no_subtours,,0out_0in,work +2373816,57897,work,1,1,1,1,mandatory,1,1070.0,829.0,20552,50.0,7.0,20.0,13.0,,,DRIVEALONEFREE,-0.30338140752429543,no_subtours,,0out_0in,work +2373822,57898,eat,1,1,1,1,atwork,1,1070.0,904.0,20552,125.0,13.0,14.0,1.0,,11.039771243389376,DRIVEALONEFREE,-0.5383115099180752,,2373857.0,0out_0in,atwork +2373857,57898,work,1,1,1,1,mandatory,1,904.0,829.0,20552,103.0,11.0,15.0,4.0,,,DRIVEALONEFREE,0.41082360290734365,eat,,0out_1in,work +2373898,57899,work,1,1,1,1,mandatory,1,687.0,829.0,20552,47.0,7.0,17.0,10.0,,,WALK,1.295796465229812,no_subtours,,0out_0in,work +2373980,57901,work,2,1,1,2,mandatory,1,706.0,829.0,20552,24.0,6.0,11.0,5.0,,,SHARED2FREE,0.5267612467815088,no_subtours,,0out_0in,work +2373981,57901,work,2,2,2,2,mandatory,1,706.0,829.0,20552,148.0,15.0,18.0,3.0,,,DRIVEALONEFREE,0.5171713294052263,no_subtours,,1out_0in,work +2563802,62531,school,1,1,1,1,mandatory,1,943.0,900.0,21869,181.0,20.0,21.0,1.0,,,SHARED3FREE,-1.2267647178249026,,,0out_0in,school +2563821,62532,escort,1,1,1,1,non_mandatory,1,647.0,900.0,21869,20.0,6.0,7.0,1.0,,12.495263261084341,SHARED2FREE,-1.2864424308629347,,,0out_0in,escort +2563862,62533,escort,3,1,1,4,non_mandatory,1,695.0,900.0,21869,1.0,5.0,6.0,1.0,,12.556993224775415,SHARED3FREE,-1.2677737648720784,,,0out_3in,escort +2563863,62533,escort,3,2,2,4,non_mandatory,1,518.0,900.0,21869,99.0,11.0,11.0,0.0,,12.49786946399712,SHARED2FREE,-1.680637950443967,,,0out_0in,escort +2563864,62533,escort,3,3,3,4,non_mandatory,1,844.0,900.0,21869,135.0,14.0,14.0,0.0,,12.52910560343657,SHARED3FREE,-1.4300972456209138,,,0out_0in,escort +2563878,62533,othdiscr,1,1,4,4,non_mandatory,1,1070.0,900.0,21869,100.0,11.0,12.0,1.0,,12.891526626287162,DRIVEALONEFREE,-0.12776683420423304,,,0out_0in,othdiscr +2563925,62534,school,1,1,1,1,mandatory,1,916.0,900.0,21869,55.0,8.0,9.0,1.0,,,SHARED2FREE,-0.03628400323998652,,,0out_1in,school +2787968,67999,escort,1,1,1,2,non_mandatory,1,767.0,973.0,23619,124.0,13.0,13.0,0.0,,12.967597939506,TNC_SINGLE,-0.7500926847800172,,,0out_2in,escort +2787995,67999,social,1,1,2,2,non_mandatory,1,913.0,973.0,23619,165.0,17.0,20.0,3.0,,12.10724792700728,WALK,1.0240294221445299,,,0out_0in,social +2788039,68000,work,1,1,1,1,mandatory,1,1044.0,973.0,23619,49.0,7.0,19.0,12.0,,,SHARED2FREE,-0.007107182288180065,no_subtours,,1out_1in,work +3238088,78977,school,1,1,1,1,mandatory,1,984.0,1081.0,26897,44.0,7.0,14.0,7.0,,,WALK,0.12444782851563792,,,0out_0in,school +3238143,78979,eat,1,1,1,1,atwork,1,877.0,871.0,26897,72.0,9.0,11.0,2.0,,18.130341484786854,WALK,0.5663422306679219,,3238178.0,0out_0in,atwork +3238178,78979,work,1,1,1,1,mandatory,1,871.0,1081.0,26897,48.0,7.0,18.0,11.0,,,DRIVEALONEFREE,-0.014910578270667735,eat,,0out_0in,work +52627721,1283602,work,1,1,1,1,mandatory,1,1078.0,521.0,435012,64.0,8.0,18.0,10.0,,,DRIVEALONEFREE,-1.1965658496185005,no_subtours,,0out_1in,work +52638594,1283868,eatout,1,1,1,1,non_mandatory,1,1070.0,537.0,435278,172.0,18.0,21.0,3.0,,11.528166753011531,SHARED2FREE,-1.151913509733255,,,1out_0in,eatout +52638611,1283868,maint,1,1,1,1,atwork,1,713.0,923.0,435278,154.0,16.0,16.0,0.0,,18.360719272260976,DRIVEALONEFREE,-0.2710302783470972,,52638627.0,0out_0in,atwork +52638627,1283868,work,1,1,1,1,mandatory,1,923.0,537.0,435278,79.0,9.0,18.0,9.0,,,DRIVEALONEFREE,-0.43545366426747517,maint,,0out_1in,work +52641825,1283946,work,1,1,1,1,mandatory,1,1005.0,523.0,435356,48.0,7.0,18.0,11.0,,,TNC_SINGLE,-0.15324519179056317,no_subtours,,0out_0in,work +52668557,1284598,work,1,1,1,1,mandatory,1,551.0,562.0,436008,80.0,9.0,19.0,10.0,,,DRIVEALONEFREE,0.5908314098573031,no_subtours,,0out_0in,work +52734819,1286215,eat,1,1,1,1,atwork,1,1077.0,606.0,437625,88.0,10.0,13.0,3.0,,18.129659652290968,DRIVEALONEFREE,-1.0786066119567435,,52734854.0,0out_0in,atwork +52734854,1286215,work,1,1,1,1,mandatory,1,606.0,656.0,437625,65.0,8.0,19.0,11.0,,,DRIVEALONEFREE,0.34770108350806966,eat,,0out_2in,work +52897544,1290184,business,1,1,1,1,atwork,1,763.0,952.0,441594,99.0,11.0,11.0,0.0,,17.608830334830582,DRIVEALONEFREE,-0.2638632561642185,,52897583.0,0out_0in,atwork +52897550,1290184,eatout,1,1,4,4,non_mandatory,1,946.0,1096.0,441594,181.0,20.0,21.0,1.0,,11.792316582973942,DRIVEALONEFREE,-0.27383050892956645,,,0out_1in,eatout +52897569,1290184,othdiscr,3,1,1,4,non_mandatory,1,684.0,1096.0,441594,19.0,6.0,6.0,0.0,,12.786690476320405,DRIVEALONEFREE,0.009380538645919477,,,0out_0in,othdiscr +52897570,1290184,othdiscr,3,2,2,4,non_mandatory,1,762.0,1096.0,441594,185.0,21.0,22.0,1.0,,12.837735379300371,DRIVEALONEFREE,-0.10046309164294116,,,0out_0in,othdiscr +52897571,1290184,othdiscr,3,3,3,4,non_mandatory,1,725.0,1096.0,441594,189.0,23.0,23.0,0.0,,12.816550040191554,DRIVEALONEFREE,0.10969889039862483,,,1out_0in,othdiscr +52897583,1290184,work,1,1,1,1,mandatory,1,952.0,1096.0,441594,81.0,9.0,20.0,11.0,,,DRIVEALONEFREE,-0.27927777887955096,business1,,0out_1in,work +52915670,1290626,eat,1,1,1,1,atwork,1,1070.0,1070.0,442036,86.0,10.0,11.0,1.0,,19.46157380226947,WALK,0.547115313877139,,52915705.0,0out_1in,atwork +52915705,1290626,work,1,1,1,1,mandatory,1,1070.0,1100.0,442036,64.0,8.0,18.0,10.0,,,WALK_LRF,-0.47850756825328533,eat,,1out_0in,work +76379130,1862905,othdiscr,1,1,1,1,non_mandatory,1,975.0,960.0,721960,151.0,15.0,21.0,6.0,,12.772851804931955,SHARED3FREE,0.21983705793331118,,,0out_0in,othdiscr +76379171,1862906,othdiscr,1,1,1,1,non_mandatory,1,980.0,960.0,721960,104.0,11.0,16.0,5.0,,12.8503916377897,SHARED2FREE,0.22336856671451474,,,0out_1in,othdiscr +80946571,1974306,othdiscr,1,1,1,1,non_mandatory,1,564.0,509.0,760593,62.0,8.0,16.0,8.0,,13.379667308006209,SHARED3FREE,1.164517752717716,,,0out_0in,othdiscr +80946591,1974307,eat,1,1,1,1,atwork,1,853.0,696.0,760593,113.0,12.0,13.0,1.0,,18.752242924634118,TNC_SINGLE,0.2835771146749119,,80946626.0,0out_0in,atwork +80946626,1974307,work,1,1,1,1,mandatory,1,696.0,509.0,760593,79.0,9.0,18.0,9.0,,,WALK,0.32952252919909103,eat,,1out_0in,work +80946637,1974308,escort,1,1,1,1,non_mandatory,1,716.0,509.0,760593,0.0,5.0,5.0,0.0,,12.669005002293558,SHARED3FREE,-0.8421136445916944,,,0out_0in,escort +81048440,1976791,escort,1,1,1,1,non_mandatory,1,908.0,613.0,761445,124.0,13.0,13.0,0.0,,12.820903024777094,SHARED2FREE,-0.9700895599836439,,,0out_0in,escort +81048476,1976792,eat,1,1,1,1,atwork,1,517.0,517.0,761445,70.0,9.0,9.0,0.0,,17.917187712862642,DRIVEALONEFREE,1.0395075013303896,,81048511.0,0out_0in,atwork +81048508,1976792,social,1,1,1,1,non_mandatory,1,831.0,613.0,761445,140.0,14.0,19.0,5.0,,12.06743909439602,WALK,0.46364302229357707,,,0out_0in,social +81048511,1976792,work,1,1,1,1,mandatory,1,517.0,613.0,761445,7.0,5.0,12.0,7.0,,,DRIVEALONEFREE,0.03163142089216641,eat,,0out_0in,work +81130344,1978788,social,1,1,1,1,non_mandatory,1,739.0,961.0,762159,66.0,8.0,20.0,12.0,,11.906202943037743,SHARED3FREE,0.6662525964318254,,,0out_0in,social +81130399,1978790,escort,1,1,1,1,non_mandatory,1,992.0,961.0,762159,54.0,8.0,8.0,0.0,,12.577144975000508,SHARED2FREE,-0.8831308547168382,,,0out_0in,escort +81130429,1978790,work,1,1,1,1,mandatory,1,681.0,961.0,762159,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,-0.01697772512269618,no_subtours,,0out_0in,work +81130470,1978791,work,1,1,1,1,mandatory,1,1070.0,961.0,762159,47.0,7.0,17.0,10.0,,,SHARED2FREE,-0.928003496988582,no_subtours,,0out_0in,work +102419958,2498047,school,1,1,1,1,mandatory,1,737.0,730.0,922602,77.0,9.0,16.0,7.0,,,WALK,2.674742093358264,,,0out_0in,school +102420007,2498048,work,1,1,1,1,mandatory,1,722.0,730.0,922602,46.0,7.0,16.0,9.0,,,WALK,2.04119139378735,no_subtours,,0out_0in,work +102420048,2498049,work,1,1,1,1,mandatory,1,755.0,730.0,922602,29.0,6.0,16.0,10.0,,,WALK,1.1684000946902757,no_subtours,,0out_0in,work +107509903,2622192,school,1,1,1,1,mandatory,1,1004.0,1025.0,952720,44.0,7.0,14.0,7.0,,,WALK,0.2818642371778841,,,0out_0in,school +107509922,2622193,escort,1,1,1,2,non_mandatory,1,773.0,1025.0,952720,19.0,6.0,6.0,0.0,,12.838724343519536,SHARED2FREE,-0.7024293828826976,,,0out_0in,escort +107509941,2622193,othmaint,1,1,2,2,non_mandatory,1,550.0,1025.0,952720,61.0,8.0,15.0,7.0,,12.457187924154038,DRIVEALONEFREE,-0.07186582052547667,,,0out_0in,othmaint +107509987,2622194,shopping,1,1,1,1,non_mandatory,1,989.0,1025.0,952720,72.0,9.0,11.0,2.0,,11.894071981116028,WALK,0.5415545535543075,,,0out_0in,shopping +107510034,2622195,work,1,1,1,1,mandatory,1,1021.0,1025.0,952720,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,0.5761659299416622,no_subtours,,0out_0in,work +116640406,2844887,work,1,1,1,1,mandatory,1,796.0,846.0,1028031,109.0,11.0,21.0,10.0,,,DRIVEALONEFREE,0.4117327764905702,no_subtours,,0out_1in,work +120287676,2933845,school,1,1,1,1,mandatory,1,563.0,574.0,1048898,121.0,12.0,21.0,9.0,,,WALK,0.07010835444210718,,,0out_0in,school +120287717,2933846,school,1,1,1,1,mandatory,1,515.0,574.0,1048898,62.0,8.0,16.0,8.0,,,SHARED2FREE,-1.0988307662510817,,,0out_0in,school +120287752,2933847,othdiscr,1,1,1,1,non_mandatory,1,623.0,574.0,1048898,42.0,7.0,12.0,5.0,,12.852488990704565,DRIVEALONEFREE,0.12407659114596234,,,0out_1in,othdiscr +120287807,2933848,work,1,1,1,1,mandatory,1,502.0,574.0,1048898,31.0,6.0,18.0,12.0,,,DRIVEALONEFREE,0.2516333086253729,no_subtours,,0out_1in,work +131881533,3216622,school,1,1,1,1,mandatory,1,1074.0,1076.0,1148260,136.0,14.0,15.0,1.0,,,WALK,-0.4986891348518952,,,0out_2in,univ diff --git a/activitysim/examples/example_sandag/test/regress/final_2_zone_trips.csv b/activitysim/examples/placeholder_sandag/test/regress/final_2_zone_trips.csv similarity index 58% rename from activitysim/examples/example_sandag/test/regress/final_2_zone_trips.csv rename to activitysim/examples/placeholder_sandag/test/regress/final_2_zone_trips.csv index f22f1c7872..466427db84 100644 --- a/activitysim/examples/example_sandag/test/regress/final_2_zone_trips.csv +++ b/activitysim/examples/placeholder_sandag/test/regress/final_2_zone_trips.csv @@ -1,173 +1,176 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,destination,origin,tour_id,purpose,destination_logsum,depart,trip_mode,mode_choice_logsum -10872201,33146,12593,work,1,True,3,919,560,1359025,escort,13.785227555497102,5,SHARED2FREE,0.1010691700000322 -10872202,33146,12593,work,2,True,3,997,919,1359025,escort,14.800826647980395,7,WALK,0.9197060691621816 +10872201,33146,12593,work,1,True,3,919,560,1359025,escort,13.797406374403845,5,SHARED2FREE,0.10106917000003225 +10872202,33146,12593,work,2,True,3,997,919,1359025,escort,14.823334388201712,7,WALK,0.9197060691621817 10872203,33146,12593,work,3,True,3,1100,997,1359025,work,,7,WALK,0.82889632223554 -10872205,33146,12593,work,1,False,1,560,1100,1359025,home,,18,SHARED2FREE,0.1467435629678679 -10872529,33147,12593,work,1,True,1,1070,560,1359066,work,,8,SHARED3FREE,-0.4079095023060143 -10872533,33147,12593,work,1,False,4,1070,1070,1359066,escort,13.64047730651845,12,WALK,1.909059896050356 -10872534,33147,12593,work,2,False,4,1070,1070,1359066,social,14.024445122110302,13,WALK,1.9166764346188128 -10872535,33147,12593,work,3,False,4,1070,1070,1359066,escort,13.382025653482817,13,WALK,1.9166764346188128 -10872536,33147,12593,work,4,False,4,560,1070,1359066,home,,13,DRIVEALONEFREE,-0.3973368955091486 -11957177,36454,13797,shopping,1,True,1,723,580,1494647,shopping,,14,DRIVEALONEFREE,0.179596286394362 -11957181,36454,13797,shopping,1,False,2,803,723,1494647,shopping,12.311513280490422,14,DRIVEALONEFREE,0.2409830104958434 -11957182,36454,13797,shopping,2,False,2,580,803,1494647,home,,14,TNC_SINGLE,0.0928838246517932 -11957185,36454,13797,shopping,1,True,1,729,580,1494648,shopping,,15,WALK,-1.7031016034742517 -11957189,36454,13797,shopping,1,False,3,553,729,1494648,shopping,7.163338517484656,20,WALK,-2.305136215683256 -11957190,36454,13797,shopping,2,False,3,627,553,1494648,shopping,12.132294962728002,21,WALK,0.058274110853962 -11957191,36454,13797,shopping,3,False,3,580,627,1494648,home,,21,WALK,0.2535949467857011 -11957441,36455,13797,othdiscr,1,True,1,587,580,1494680,othdiscr,,16,SHARED2FREE,1.0398658929316622 -11957445,36455,13797,othdiscr,1,False,3,756,587,1494680,othmaint,15.249247256839514,21,SHARED2FREE,0.7096157747159312 -11957446,36455,13797,othdiscr,2,False,3,648,756,1494680,social,15.113132471205256,21,SHARED2FREE,0.9397952540243504 -11957447,36455,13797,othdiscr,3,False,3,580,648,1494680,home,,21,SHARED2FREE,0.9782981839701124 +10872205,33146,12593,work,1,False,1,560,1100,1359025,home,,18,SHARED2FREE,0.14674356296786795 +10872529,33147,12593,work,1,True,1,1070,560,1359066,work,,8,SHARED3FREE,-0.40790950230601436 +10872533,33147,12593,work,1,False,4,1070,1070,1359066,escort,13.642079871849612,12,WALK,1.9090598960503562 +10872534,33147,12593,work,2,False,4,1070,1070,1359066,social,14.027127795427717,13,WALK,1.9166764346188128 +10872535,33147,12593,work,3,False,4,1070,1070,1359066,escort,13.381200357328245,13,WALK,1.9166764346188128 +10872536,33147,12593,work,4,False,4,560,1070,1359066,home,,13,DRIVEALONEFREE,-0.39733689550914864 +11957177,36454,13797,shopping,1,True,1,725,580,1494647,shopping,,13,SHARED2FREE,1.2453258408734116 +11957181,36454,13797,shopping,1,False,2,761,725,1494647,shopping,15.764611995142664,17,SHARED2FREE,1.1709751969914468 +11957182,36454,13797,shopping,2,False,2,580,761,1494647,home,,17,WALK,1.3392441607126495 +11957185,36454,13797,shopping,1,True,1,729,580,1494648,shopping,,18,WALK,-1.7031209563587821 +11957189,36454,13797,shopping,1,False,3,553,729,1494648,shopping,7.264665283489851,18,WALK,-2.3051362156832558 +11957190,36454,13797,shopping,2,False,3,627,553,1494648,shopping,12.179490253590181,18,WALK,0.058269234389169706 +11957191,36454,13797,shopping,3,False,3,580,627,1494648,home,,18,WALK,0.2535934392499022 +11957441,36455,13797,othdiscr,1,True,1,621,580,1494680,othdiscr,,16,DRIVEALONEFREE,0.18231279579933599 +11957445,36455,13797,othdiscr,1,False,3,988,621,1494680,othmaint,12.894038982208713,21,DRIVEALONEFREE,0.2197183118455912 +11957446,36455,13797,othdiscr,2,False,3,715,988,1494680,social,12.71003546323969,21,DRIVEALONEFREE,0.34189784527709266 +11957447,36455,13797,othdiscr,3,False,3,580,715,1494680,home,,21,DRIVEALONEFREE,0.30871306064437815 11957553,36455,13797,work,1,True,1,555,580,1494694,work,,8,WALK,0.3634416376281795 11957557,36455,13797,work,1,False,1,580,555,1494694,home,,12,WALK,0.3634848237755095 -13679289,41705,15777,eatout,1,True,1,1070,645,1709911,eatout,,9,DRIVEALONEFREE,0.3322582945146777 +13679289,41705,15777,eatout,1,True,1,1070,645,1709911,eatout,,9,DRIVEALONEFREE,0.33225829451467775 13679293,41705,15777,eatout,1,False,1,645,1070,1709911,home,,15,SHARED2FREE,0.2798579035187319 -13679569,41706,15777,atwork,1,True,1,1070,712,1709946,atwork,,12,WALK,1.7140165672695504 -13679573,41706,15777,atwork,1,False,1,712,1070,1709946,work,,16,SHARED2FREE,1.656392941325861 -13679881,41706,15777,work,1,True,1,712,645,1709985,work,,8,DRIVEALONEFREE,0.1746524100077627 -13679885,41706,15777,work,1,False,2,1058,712,1709985,escort,12.880657454713988,18,DRIVEALONEFREE,-0.266796751882562 +13679569,41706,15777,atwork,1,True,1,988,763,1709946,atwork,,12,WALK,-1.7814320077964532 +13679573,41706,15777,atwork,1,False,1,763,988,1709946,work,,16,WALK,-1.781485908054844 +13679881,41706,15777,work,1,True,1,763,645,1709985,work,,8,DRIVEALONEFREE,0.07885919089299016 +13679885,41706,15777,work,1,False,2,1058,763,1709985,escort,12.95511617078327,18,DRIVEALONEFREE,-0.2304178431510166 13679886,41706,15777,work,2,False,2,645,1058,1709985,home,,19,DRIVEALONEFREE,-0.2819678461804502 16411585,50035,18261,eatout,1,True,1,986,757,2051448,eatout,,16,BIKE,-0.7708542602773313 -16411589,50035,18261,eatout,1,False,2,676,986,2051448,escort,11.34839696405484,17,BIKE,-0.3634178122038118 -16411590,50035,18261,eatout,2,False,2,757,676,2051448,home,,18,BIKE,0.4283597212315027 +16411589,50035,18261,eatout,1,False,2,676,986,2051448,escort,11.368855031767414,17,BIKE,-0.5723144319848409 +16411590,50035,18261,eatout,2,False,2,757,676,2051448,home,,18,BIKE,0.6522763557669851 16411729,50035,18261,school,1,True,1,919,757,2051466,school,,7,SHARED3FREE,-0.6140707131031844 16411733,50035,18261,school,1,False,1,757,919,2051466,home,,13,DRIVEALONEFREE,-0.609643926614725 16411745,50035,18261,shopping,1,True,1,991,757,2051468,shopping,,19,DRIVEALONEFREE,-0.4638089980043311 16411749,50035,18261,shopping,1,False,1,757,991,2051468,home,,19,DRIVEALONEFREE,-0.4562758366247869 -16412033,50036,18261,othmaint,1,True,1,874,757,2051504,othmaint,,7,TAXI,0.188953061283284 -16412037,50036,18261,othmaint,1,False,1,757,874,2051504,home,,14,TAXI,0.1657532098786489 +16412033,50036,18261,othmaint,1,True,1,874,757,2051504,othmaint,,7,TAXI,0.18895306128328407 +16412037,50036,18261,othmaint,1,False,1,757,874,2051504,home,,14,TAXI,0.16575320987864894 16412449,50037,18261,work,1,True,1,1070,757,2051556,work,,7,DRIVEALONEFREE,-1.0310939939934904 16412453,50037,18261,work,1,False,1,757,1070,2051556,home,,16,DRIVEALONEFREE,-1.44707562881012 -18151113,55338,19758,school,1,True,1,699,794,2268889,school,,7,BIKE,-0.4634581318660159 -18151117,55338,19758,school,1,False,1,794,699,2268889,home,,10,BIKE,-0.4634578978044055 -18151505,55339,19758,work,1,True,1,699,794,2268938,work,,5,WALK,-0.9284068498238056 -18151509,55339,19758,work,1,False,1,794,699,2268938,home,,16,WALK,-0.9284024967078645 +18151113,55338,19758,school,1,True,1,684,794,2268889,school,,7,WALK,-2.0063021566418677 +18151117,55338,19758,school,1,False,1,794,684,2268889,home,,10,WALK,-2.006301101390977 +18151505,55339,19758,work,1,True,1,699,794,2268938,work,,5,WALK,-0.9284068498238057 +18151509,55339,19758,work,1,False,1,794,699,2268938,home,,16,WALK,-0.9284024967078643 18990529,57897,20552,work,1,True,1,1070,829,2373816,work,,7,DRIVEALONEFREE,-0.8344257716032069 18990533,57897,20552,work,1,False,1,829,1070,2373816,home,,20,DRIVEALONEFREE,-1.0366342786903855 -18990857,57898,20552,work,1,True,1,913,829,2373857,work,,11,DRIVEALONEFREE,-0.3043864225079318 -18990861,57898,20552,work,1,False,1,829,913,2373857,home,,14,DRIVEALONEFREE,-0.3011488783796026 +18990577,57898,20552,atwork,1,True,1,1070,904,2373822,atwork,,13,DRIVEALONEFREE,-0.27336927141083645 +18990581,57898,20552,atwork,1,False,1,904,1070,2373822,work,,14,DRIVEALONEFREE,-0.3117567251967612 +18990857,57898,20552,work,1,True,1,904,829,2373857,work,,11,DRIVEALONEFREE,-0.2905930414014394 +18990861,57898,20552,work,1,False,2,733,904,2373857,escort,11.759230673423039,15,DRIVEALONEFREE,-0.17145226269391842 +18990862,57898,20552,work,2,False,2,829,733,2373857,home,,15,DRIVEALONEFREE,-0.13240927771932942 18991185,57899,20552,work,1,True,1,687,829,2373898,work,,7,WALK,0.7784185661273756 18991189,57899,20552,work,1,False,1,829,687,2373898,home,,17,WALK,0.7784242205760281 18991841,57901,20552,work,1,True,1,706,829,2373980,work,,6,DRIVEALONEFREE,0.3008027159078227 -18991845,57901,20552,work,1,False,1,829,706,2373980,home,,11,DRIVEALONEFREE,0.2650680682818128 -18991849,57901,20552,work,1,True,2,712,829,2373981,othmaint,11.485349739091903,15,DRIVEALONEFREE,-0.1906824612365547 -18991850,57901,20552,work,2,True,2,706,712,2373981,work,,16,DRIVEALONEFREE,0.2908894836264618 -18991853,57901,20552,work,1,False,1,829,706,2373981,home,,18,DRIVEALONEFREE,-0.2358241315666989 -20510417,62531,21869,school,1,True,1,938,900,2563802,school,,20,SHARED3FREE,-1.4613285433094236 -20510421,62531,21869,school,1,False,1,900,938,2563802,home,,20,WALK,-1.459500628974267 -20510569,62532,21869,escort,1,True,1,647,900,2563821,escort,,6,SHARED2FREE,0.334625529153649 +18991845,57901,20552,work,1,False,1,829,706,2373980,home,,11,DRIVEALONEFREE,0.26506806828181284 +18991849,57901,20552,work,1,True,2,712,829,2373981,othmaint,11.4872953609327,15,DRIVEALONEFREE,-0.19068246123655475 +18991850,57901,20552,work,2,True,2,706,712,2373981,work,,16,DRIVEALONEFREE,0.29088948362646183 +18991853,57901,20552,work,1,False,1,829,706,2373981,home,,18,DRIVEALONEFREE,-0.23582413156669893 +20510417,62531,21869,school,1,True,1,943,900,2563802,school,,20,SHARED3FREE,-1.9772115284881657 +20510421,62531,21869,school,1,False,1,900,943,2563802,home,,21,SHARED3FREE,-1.9596696603848989 +20510569,62532,21869,escort,1,True,1,647,900,2563821,escort,,6,SHARED2FREE,0.33462552915364907 20510573,62532,21869,escort,1,False,1,900,647,2563821,home,,7,DRIVEALONEFREE,0.3206435595305147 20510897,62533,21869,escort,1,True,1,695,900,2563862,escort,,5,SHARED3FREE,0.7144255977546087 -20510901,62533,21869,escort,1,False,4,996,695,2563862,shopping,13.914276145872222,6,SHARED3FREE,0.8532067175585919 -20510902,62533,21869,escort,2,False,4,565,996,2563862,eatout,14.470208679441688,6,SHARED3FREE,0.5414028775934869 -20510903,62533,21869,escort,3,False,4,1099,565,2563862,escort,14.893415760278993,6,SHARED2FREE,0.5359149885298558 +20510901,62533,21869,escort,1,False,4,996,695,2563862,shopping,13.912360841921144,6,SHARED3FREE,0.8532067175585919 +20510902,62533,21869,escort,2,False,4,565,996,2563862,eatout,14.433975851061222,6,SHARED3FREE,0.5414028775934869 +20510903,62533,21869,escort,3,False,4,1099,565,2563862,escort,14.882903756321102,6,SHARED2FREE,0.5359149885298558 20510904,62533,21869,escort,4,False,4,900,1099,2563862,home,,6,SHARED3FREE,0.8790959798947626 -20510905,62533,21869,escort,1,True,1,518,900,2563863,escort,,11,SHARED2FREE,0.0228939920687411 -20510909,62533,21869,escort,1,False,1,900,518,2563863,home,,11,SHARED2FREE,0.0286380876678563 +20510905,62533,21869,escort,1,True,1,518,900,2563863,escort,,11,SHARED2FREE,0.02289399206874116 +20510909,62533,21869,escort,1,False,1,900,518,2563863,home,,11,SHARED2FREE,0.028638087667856384 20510913,62533,21869,escort,1,True,1,844,900,2563864,escort,,14,SHARED2FREE,0.5953832095412978 20510917,62533,21869,escort,1,False,1,900,844,2563864,home,,14,DRIVEALONEFREE,0.5982622294593943 20511025,62533,21869,othdiscr,1,True,1,1070,900,2563878,othdiscr,,11,DRIVEALONEFREE,-0.1485066877504566 20511029,62533,21869,othdiscr,1,False,1,900,1070,2563878,home,,12,DRIVEALONEFREE,-0.1534836148666948 20511401,62534,21869,school,1,True,1,916,900,2563925,school,,8,WALK,-1.2930940704581566 -20511405,62534,21869,school,1,False,2,1082,916,2563925,shopping,7.788875642915948,9,SHARED2FREE,-1.5272294838127598 +20511405,62534,21869,school,1,False,2,1082,916,2563925,shopping,7.845318248721952,9,SHARED2FREE,-1.5272294838127598 20511406,62534,21869,school,2,False,2,900,1082,2563925,home,,9,WALK,1.1927964486618703 22303745,67999,23619,escort,1,True,1,767,973,2787968,escort,,13,TNC_SHARED,0.1443338083297466 -22303749,67999,23619,escort,1,False,3,1070,767,2787968,eatout,12.714694664502176,13,TNC_SINGLE,0.0798892320493438 -22303750,67999,23619,escort,2,False,3,1078,1070,2787968,escort,13.462119447120632,13,TNC_SINGLE,0.7932468294267513 -22303751,67999,23619,escort,3,False,3,973,1078,2787968,home,,13,TNC_SINGLE,0.2276571554989117 -22303961,67999,23619,social,1,True,1,909,973,2787995,social,,17,WALK,-0.6421177387226744 -22303965,67999,23619,social,1,False,1,973,909,2787995,home,,20,WALK,-0.6421162135547684 -22304313,68000,23619,work,1,True,2,713,973,2788039,social,13.33042668148613,7,SHARED2FREE,1.1998888948411992 +22303749,67999,23619,escort,1,False,3,1070,767,2787968,eatout,12.697641790480269,13,TNC_SINGLE,0.07988923204934381 +22303750,67999,23619,escort,2,False,3,1078,1070,2787968,escort,13.449805856854407,13,TNC_SINGLE,0.7932468294267513 +22303751,67999,23619,escort,3,False,3,973,1078,2787968,home,,13,TNC_SINGLE,0.22765715549891172 +22303961,67999,23619,social,1,True,1,913,973,2787995,social,,17,WALK,-0.5148523644112458 +22303965,67999,23619,social,1,False,1,973,913,2787995,home,,20,WALK,-0.5150737325237639 +22304313,68000,23619,work,1,True,2,713,973,2788039,social,13.328311109378275,7,SHARED2FREE,1.1998888948411992 22304314,68000,23619,work,2,True,2,1044,713,2788039,work,,8,DRIVEALONEFREE,0.2088491091561209 -22304317,68000,23619,work,1,False,2,506,1044,2788039,escort,14.343867619014624,16,DRIVEALONEFREE,0.2145237083183757 +22304317,68000,23619,work,1,False,2,506,1044,2788039,escort,14.330656004792663,16,DRIVEALONEFREE,0.21452370831837575 22304318,68000,23619,work,2,False,2,973,506,2788039,home,,19,SHARED2FREE,0.3530682055924327 25904705,78977,26897,school,1,True,1,984,1081,3238088,school,,7,WALK,-0.4851985470348858 -25904709,78977,26897,school,1,False,1,1081,984,3238088,home,,14,WALK,-0.4852015025119471 -25905145,78979,26897,atwork,1,True,1,881,854,3238143,atwork,,9,WALK,-1.025833697317035 -25905149,78979,26897,atwork,1,False,1,854,881,3238143,work,,11,WALK,-1.025845206038372 -25905425,78979,26897,work,1,True,1,854,1081,3238178,work,,7,DRIVEALONEFREE,-0.0865850131224699 -25905429,78979,26897,work,1,False,1,1081,854,3238178,home,,18,DRIVEALONEFREE,-0.08738081970255 +25904709,78977,26897,school,1,False,1,1081,984,3238088,home,,14,WALK,-0.48520150251194716 +25905145,78979,26897,atwork,1,True,1,877,871,3238143,atwork,,9,WALK,-0.43405429839613724 +25905149,78979,26897,atwork,1,False,1,871,877,3238143,work,,11,WALK,-0.43425331856771227 +25905425,78979,26897,work,1,True,1,871,1081,3238178,work,,7,DRIVEALONEFREE,-0.21969700388437743 +25905429,78979,26897,work,1,False,1,1081,871,3238178,home,,18,DRIVEALONEFREE,-0.22317404600003896 421021769,1283602,435012,work,1,True,1,1078,521,52627721,work,,8,DRIVEALONEFREE,-0.6750290087916829 -421021773,1283602,435012,work,1,False,2,560,1078,52627721,social,10.55210640919425,14,DRIVEALONEFREE,-1.1907987969099594 +421021773,1283602,435012,work,1,False,2,560,1078,52627721,social,10.565217359540531,14,DRIVEALONEFREE,-1.1907987969099594 421021774,1283602,435012,work,2,False,2,521,560,52627721,home,,18,DRIVEALONEFREE,0.3055101717954503 -421108753,1283868,435278,eatout,1,True,2,1077,537,52638594,escort,14.313365876496317,18,SHARED2FREE,-0.4350484117498945 -421108754,1283868,435278,eatout,2,True,2,1070,1077,52638594,eatout,,19,WALK,1.800699785453694 -421108757,1283868,435278,eatout,1,False,1,537,1070,52638594,home,,21,SHARED2FREE,-0.492845351191958 +421108753,1283868,435278,eatout,1,True,2,1077,537,52638594,escort,14.320986232374429,18,SHARED2FREE,-0.4350484117498945 +421108754,1283868,435278,eatout,2,True,2,1070,1077,52638594,eatout,,19,WALK,1.8006997854536941 +421108757,1283868,435278,eatout,1,False,1,537,1070,52638594,home,,21,SHARED2FREE,-0.4928453511919577 421108889,1283868,435278,atwork,1,True,1,713,923,52638611,atwork,,16,DRIVEALONEFREE,-0.3206205769695649 -421108893,1283868,435278,atwork,1,False,1,923,713,52638611,work,,16,DRIVEALONEFREE,-0.3082554297021413 -421109017,1283868,435278,work,1,True,1,923,537,52638627,work,,9,DRIVEALONEFREE,-0.4470365708414189 -421109021,1283868,435278,work,1,False,2,579,923,52638627,work,11.97945829667066,18,DRIVEALONEFREE,-0.4575684693918972 -421109022,1283868,435278,work,2,False,2,537,579,52638627,home,,18,DRIVEALONEFREE,0.0224545211545702 +421108893,1283868,435278,atwork,1,False,1,923,713,52638611,work,,16,DRIVEALONEFREE,-0.30825542970214137 +421109017,1283868,435278,work,1,True,1,923,537,52638627,work,,9,DRIVEALONEFREE,-0.44703657084141896 +421109021,1283868,435278,work,1,False,2,579,923,52638627,work,11.98549796971038,18,DRIVEALONEFREE,-0.4575684693918972 +421109022,1283868,435278,work,2,False,2,537,579,52638627,home,,18,DRIVEALONEFREE,0.02245452115457023 421134601,1283946,435356,work,1,True,1,1005,523,52641825,work,,7,TNC_SINGLE,0.2366349513440255 -421134605,1283946,435356,work,1,False,1,523,1005,52641825,home,,18,TNC_SINGLE,0.1339624448933047 -421348457,1284598,436008,work,1,True,1,551,562,52668557,work,,9,DRIVEALONEFREE,0.4148259097051139 -421348461,1284598,436008,work,1,False,1,562,551,52668557,home,,19,WALK,0.4148259097051139 +421134605,1283946,435356,work,1,False,1,523,1005,52641825,home,,18,TNC_SINGLE,0.13396244489330475 +421348457,1284598,436008,work,1,True,1,551,562,52668557,work,,9,DRIVEALONEFREE,0.41482590970511396 +421348461,1284598,436008,work,1,False,1,562,551,52668557,home,,19,WALK,0.41482590970511396 421878553,1286215,437625,atwork,1,True,1,1077,606,52734819,atwork,,10,DRIVEALONEFREE,-0.7443646546844188 421878557,1286215,437625,atwork,1,False,1,606,1077,52734819,work,,13,DRIVEALONEFREE,-0.7600790313114658 -421878833,1286215,437625,work,1,True,1,606,656,52734854,work,,8,DRIVEALONEFREE,0.1585528963892502 -421878837,1286215,437625,work,1,False,3,934,606,52734854,othmaint,11.773813663999537,17,DRIVEALONEFREE,-0.3271213666792046 -421878838,1286215,437625,work,2,False,3,730,934,52734854,othmaint,11.312123465060631,19,DRIVEALONEFREE,-0.1603647654052425 -421878839,1286215,437625,work,3,False,3,656,730,52734854,home,,19,WALK,0.1675423034473086 -423180353,1290184,441594,atwork,1,True,1,763,952,52897544,atwork,,11,DRIVEALONEFREE,-0.320977155087209 +421878833,1286215,437625,work,1,True,1,606,656,52734854,work,,8,DRIVEALONEFREE,0.15855289638925027 +421878837,1286215,437625,work,1,False,3,934,606,52734854,othmaint,11.777501072314317,17,DRIVEALONEFREE,-0.32712136667920466 +421878838,1286215,437625,work,2,False,3,730,934,52734854,othmaint,11.314074684633244,19,DRIVEALONEFREE,-0.1603647654052424 +421878839,1286215,437625,work,3,False,3,656,730,52734854,home,,19,WALK,0.16754230344730864 +423180353,1290184,441594,atwork,1,True,1,763,952,52897544,atwork,,11,DRIVEALONEFREE,-0.32097715508720903 423180357,1290184,441594,atwork,1,False,1,952,763,52897544,work,,11,DRIVEALONEFREE,-0.3082313192247495 -423180401,1290184,441594,eatout,1,True,1,911,1096,52897550,eatout,,20,DRIVEALONEFREE,0.5626236686527499 -423180405,1290184,441594,eatout,1,False,2,1070,911,52897550,othmaint,14.80244249662474,21,DRIVEALONEFREE,0.0209580256969509 -423180406,1290184,441594,eatout,2,False,2,1096,1070,52897550,home,,21,SHARED2FREE,1.4882303633812834 -423180553,1290184,441594,othdiscr,1,True,1,684,1096,52897569,othdiscr,,6,DRIVEALONEFREE,-0.054686073624138 -423180557,1290184,441594,othdiscr,1,False,1,1096,684,52897569,home,,6,DRIVEALONEFREE,0.0254636468259537 +423180401,1290184,441594,eatout,1,True,1,946,1096,52897550,eatout,,20,DRIVEALONEFREE,-0.3549315977740098 +423180405,1290184,441594,eatout,1,False,2,1070,946,52897550,othmaint,11.98171181287322,21,DRIVEALONEFREE,-0.641641315087032 +423180406,1290184,441594,eatout,2,False,2,1096,1070,52897550,home,,21,DRIVEALONEFREE,0.5643805008933509 +423180553,1290184,441594,othdiscr,1,True,1,684,1096,52897569,othdiscr,,6,DRIVEALONEFREE,-0.05468607362413808 +423180557,1290184,441594,othdiscr,1,False,1,1096,684,52897569,home,,6,DRIVEALONEFREE,0.025463646825953753 423180561,1290184,441594,othdiscr,1,True,1,762,1096,52897570,othdiscr,,21,DRIVEALONEFREE,-0.1282694315616728 -423180565,1290184,441594,othdiscr,1,False,1,1096,762,52897570,home,,22,DRIVEALONEFREE,-0.0638521915108437 -423180569,1290184,441594,othdiscr,1,True,2,1070,1096,52897571,eatout,12.23824400304096,23,WALK,0.4138668817738548 -423180570,1290184,441594,othdiscr,2,True,2,739,1070,52897571,othdiscr,,23,DRIVEALONEFREE,-0.5176704028503946 -423180573,1290184,441594,othdiscr,1,False,1,1096,739,52897571,home,,23,DRIVEALONEFREE,-0.007676144053072 +423180565,1290184,441594,othdiscr,1,False,1,1096,762,52897570,home,,22,DRIVEALONEFREE,-0.06385219151084379 +423180569,1290184,441594,othdiscr,1,True,2,1100,1096,52897571,eatout,11.933645223801465,23,DRIVEALONEFREE,0.25460049003822655 +423180570,1290184,441594,othdiscr,2,True,2,725,1100,52897571,othdiscr,,23,DRIVEALONEFREE,0.1594756444767792 +423180573,1290184,441594,othdiscr,1,False,1,1096,725,52897571,home,,23,DRIVEALONEFREE,0.03984575470731467 423180665,1290184,441594,work,1,True,1,952,1096,52897583,work,,9,DRIVEALONEFREE,-0.3390675778065629 -423180669,1290184,441594,work,1,False,2,1039,952,52897583,shopping,10.224441814199269,19,DRIVEALONEFREE,0.04659304472699 +423180669,1290184,441594,work,1,False,2,1039,952,52897583,shopping,10.19768838070717,19,DRIVEALONEFREE,0.04659304472699005 423180670,1290184,441594,work,2,False,2,1096,1039,52897583,home,,20,DRIVEALONEFREE,-0.2200680365507812 -423325361,1290626,442036,atwork,1,True,1,1070,1070,52915670,atwork,,10,WALK,2.4753445374668197 -423325365,1290626,442036,atwork,1,False,2,1070,1070,52915670,othmaint,20.92962262907073,11,WALK,2.4753445374668197 -423325366,1290626,442036,atwork,2,False,2,1070,1070,52915670,work,,11,WALK,2.4753445374668197 -423325641,1290626,442036,work,1,True,2,1070,1100,52915705,work,16.50472145927198,8,TAXI,0.5701726780376876 -423325642,1290626,442036,work,2,True,2,1070,1070,52915705,work,,8,WALK,2.046751691305416 +423325361,1290626,442036,atwork,1,True,1,1070,1070,52915670,atwork,,10,WALK,2.4753445374668193 +423325365,1290626,442036,atwork,1,False,2,1070,1070,52915670,othmaint,20.944610351955987,11,WALK,2.4753445374668193 +423325366,1290626,442036,atwork,2,False,2,1070,1070,52915670,work,,11,WALK,2.4753445374668193 +423325641,1290626,442036,work,1,True,2,1070,1100,52915705,work,16.47115805590024,8,TAXI,0.5701726780376876 +423325642,1290626,442036,work,2,True,2,1070,1070,52915705,work,,8,WALK,2.0467516913054156 423325645,1290626,442036,work,1,False,1,1100,1070,52915705,home,,18,WALK_LRF,0.7984494986703449 611033041,1862905,721960,othdiscr,1,True,1,975,960,76379130,othdiscr,,15,SHARED2FREE,0.8489306664543732 611033045,1862905,721960,othdiscr,1,False,1,960,975,76379130,home,,21,DRIVEALONEFREE,0.8562669493898725 611033369,1862906,721960,othdiscr,1,True,1,980,960,76379171,othdiscr,,11,SHARED2FREE,0.8131565075329917 -611033373,1862906,721960,othdiscr,1,False,2,729,980,76379171,eatout,14.573532245492812,16,WALK,1.0254063738425103 -611033374,1862906,721960,othdiscr,2,False,2,960,729,76379171,home,,16,SHARED2FREE,0.6321079002211393 +611033373,1862906,721960,othdiscr,1,False,2,596,980,76379171,eatout,14.574260845997873,16,SHARED2FREE,0.639685068664294 +611033374,1862906,721960,othdiscr,2,False,2,960,596,76379171,home,,16,SHARED2FREE,0.4568392042450183 647572569,1974306,760593,othdiscr,1,True,1,564,509,80946571,othdiscr,,8,SHARED3FREE,0.98448231998496 647572573,1974306,760593,othdiscr,1,False,1,509,564,80946571,home,,16,SHARED3FREE,0.9905529532027648 -647572729,1974307,760593,atwork,1,True,1,816,689,80946591,atwork,,12,TNC_SINGLE,0.3686945306810549 -647572733,1974307,760593,atwork,1,False,1,689,816,80946591,work,,13,TNC_SINGLE,0.2338223544682137 -647573009,1974307,760593,work,1,True,2,670,509,80946626,shopping,8.037541298132712,9,WALK,-0.2893554768721311 -647573010,1974307,760593,work,2,True,2,689,670,80946626,work,,10,WALK,-0.3526375212278674 -647573013,1974307,760593,work,1,False,1,509,689,80946626,home,,18,WALK,-0.9788387148256712 -647573097,1974308,760593,escort,1,True,1,675,509,80946637,escort,,5,WALK,-0.4351332095612595 -647573101,1974308,760593,escort,1,False,1,509,675,80946637,home,,5,WALK,-0.4349887497764858 +647572729,1974307,760593,atwork,1,True,1,853,696,80946591,atwork,,12,TNC_SINGLE,0.5588801307317725 +647572733,1974307,760593,atwork,1,False,1,696,853,80946591,work,,13,TNC_SINGLE,0.4374827076991478 +647573009,1974307,760593,work,1,True,2,670,509,80946626,shopping,7.846782621068262,9,WALK,-0.2893554768721311 +647573010,1974307,760593,work,2,True,2,696,670,80946626,work,,10,WALK,-0.5062069503521934 +647573013,1974307,760593,work,1,False,1,509,696,80946626,home,,18,WALK,-1.3939945233876567 +647573097,1974308,760593,escort,1,True,1,716,509,80946637,escort,,5,SHARED3FREE,0.8932804372174962 +647573101,1974308,760593,escort,1,False,1,509,716,80946637,home,,5,DRIVEALONEFREE,0.8953863338640417 648387521,1976791,761445,escort,1,True,1,908,613,81048440,escort,,13,DRIVEALONEFREE,0.4328362297251925 -648387525,1976791,761445,escort,1,False,1,613,908,81048440,home,,13,SHARED2FREE,0.4285280536748749 -648387809,1976792,761445,atwork,1,True,1,540,517,81048476,atwork,,9,DRIVEALONEFREE,-0.0203662912199864 -648387813,1976792,761445,atwork,1,False,1,517,540,81048476,work,,9,DRIVEALONEFREE,-0.0130514311108918 -648388065,1976792,761445,social,1,True,1,919,613,81048508,social,,14,SHARED2FREE,1.0075161151372274 -648388069,1976792,761445,social,1,False,1,613,919,81048508,home,,19,SHARED3FREE,1.0047231263030936 -648388089,1976792,761445,work,1,True,1,517,613,81048511,work,,5,DRIVEALONEFREE,-0.1431437335780867 +648387525,1976791,761445,escort,1,False,1,613,908,81048440,home,,13,SHARED2FREE,0.42852805367487495 +648387809,1976792,761445,atwork,1,True,1,517,517,81048476,atwork,,9,DRIVEALONEFREE,0.424692549576798 +648387813,1976792,761445,atwork,1,False,1,517,517,81048476,work,,9,DRIVEALONEFREE,0.424692549576798 +648388065,1976792,761445,social,1,True,1,831,613,81048508,social,,14,WALK,-1.2078033165324606 +648388069,1976792,761445,social,1,False,1,613,831,81048508,home,,19,WALK,-1.207728371470949 +648388089,1976792,761445,work,1,True,1,517,613,81048511,work,,5,DRIVEALONEFREE,-0.14314373357808677 648388093,1976792,761445,work,1,False,1,613,517,81048511,home,,12,DRIVEALONEFREE,-0.1608731955485122 649042753,1978788,762159,social,1,True,1,739,961,81130344,social,,8,SHARED3FREE,0.873733496035867 649042757,1978788,762159,social,1,False,1,961,739,81130344,home,,20,SHARED3FREE,0.8702085615611009 649043193,1978790,762159,escort,1,True,1,992,961,81130399,escort,,8,SHARED2FREE,0.5349665222974443 649043197,1978790,762159,escort,1,False,1,961,992,81130399,home,,8,SHARED2FREE,0.5205938591259834 -649043433,1978790,762159,work,1,True,1,681,961,81130429,work,,8,DRIVEALONEFREE,-0.237249322548973 +649043433,1978790,762159,work,1,True,1,681,961,81130429,work,,8,DRIVEALONEFREE,-0.23724932254897305 649043437,1978790,762159,work,1,False,1,961,681,81130429,home,,17,DRIVEALONEFREE,-0.2292289864885827 649043761,1978791,762159,work,1,True,1,1070,961,81130470,work,,7,DRIVEALONEFREE,-0.2212113455808548 -649043765,1978791,762159,work,1,False,1,961,1070,81130470,home,,17,SHARED2FREE,-0.4493643936269187 -819359665,2498047,922602,school,1,True,1,851,730,102419958,school,,9,WALK,-0.7129519836886864 -819359669,2498047,922602,school,1,False,1,730,851,102419958,home,,16,WALK,-0.7125079143265478 +649043765,1978791,762159,work,1,False,1,961,1070,81130470,home,,17,SHARED2FREE,-0.44936439362691877 +819359665,2498047,922602,school,1,True,1,737,730,102419958,school,,9,WALK,-0.03448765862389232 +819359669,2498047,922602,school,1,False,1,730,737,102419958,home,,16,WALK,-0.034053789427079574 819360057,2498048,922602,work,1,True,1,722,730,102420007,work,,7,WALK,-0.5757010163806285 819360061,2498048,922602,work,1,False,1,730,722,102420007,home,,16,WALK,-0.5758022637976002 -819360385,2498049,922602,work,1,True,1,755,730,102420048,work,,6,WALK,-2.133440153293813 +819360385,2498049,922602,work,1,True,1,755,730,102420048,work,,6,WALK,-2.1334401532938134 819360389,2498049,922602,work,1,False,1,730,755,102420048,home,,16,WALK,-2.146424135711287 -860079225,2622192,952720,school,1,True,1,997,1025,107509903,school,,7,WALK,-0.8381416189260318 -860079229,2622192,952720,school,1,False,1,1025,997,107509903,home,,14,SHARED3FREE,-0.8387619711156924 +860079225,2622192,952720,school,1,True,1,1004,1025,107509903,school,,7,WALK,-0.2623158965920474 +860079229,2622192,952720,school,1,False,1,1025,1004,107509903,home,,14,WALK,-0.2623158965920474 860079377,2622193,952720,escort,1,True,1,773,1025,107509922,escort,,6,DRIVEALONEFREE,0.5629145959926543 860079381,2622193,952720,escort,1,False,1,1025,773,107509922,home,,6,SHARED2FREE,0.5769090131439206 860079529,2622193,952720,othmaint,1,True,1,550,1025,107509941,othmaint,,8,DRIVEALONEFREE,0.4954921391516582 @@ -176,20 +179,20 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 860079901,2622194,952720,shopping,1,False,1,1025,989,107509987,home,,11,WALK,0.7145047811622831 860080273,2622195,952720,work,1,True,1,1021,1025,107510034,work,,8,DRIVEALONEFREE,0.1571601323326824 860080277,2622195,952720,work,1,False,1,1025,1021,107510034,home,,17,DRIVEALONEFREE,0.1570916696297328 -933123249,2844887,1028031,work,1,True,1,821,846,116640406,work,,11,DRIVEALONEFREE,0.0804499098545225 -933123253,2844887,1028031,work,1,False,2,781,821,116640406,eatout,11.902872231959044,20,DRIVEALONEFREE,0.075942323791996 -933123254,2844887,1028031,work,2,False,2,846,781,116640406,home,,21,DRIVEALONEFREE,0.1665747787316702 +933123249,2844887,1028031,work,1,True,1,796,846,116640406,work,,11,DRIVEALONEFREE,0.12762065173808665 +933123253,2844887,1028031,work,1,False,2,756,796,116640406,eatout,12.25646044961711,20,DRIVEALONEFREE,-0.03647710212827898 +933123254,2844887,1028031,work,2,False,2,846,756,116640406,home,,21,DRIVEALONEFREE,-0.04899108523921566 962301409,2933845,1048898,school,1,True,1,563,574,120287676,school,,12,WALK,0.6010774898562959 962301413,2933845,1048898,school,1,False,1,574,563,120287676,home,,21,WALK,0.601110793064989 962301737,2933846,1048898,school,1,True,1,515,574,120287717,school,,8,WALK,-2.077872684673323 962301741,2933846,1048898,school,1,False,1,574,515,120287717,home,,16,SHARED2FREE,-2.083095264404366 -962302017,2933847,1048898,othdiscr,1,True,1,623,574,120287752,othdiscr,,7,TNC_SINGLE,0.1653638612245029 -962302021,2933847,1048898,othdiscr,1,False,2,877,623,120287752,eatout,12.31342776941142,12,TAXI,0.1003485001238348 +962302017,2933847,1048898,othdiscr,1,True,1,623,574,120287752,othdiscr,,7,TNC_SINGLE,0.16536386122450294 +962302021,2933847,1048898,othdiscr,1,False,2,877,623,120287752,eatout,12.331068629649982,12,TAXI,0.10034850012383481 962302022,2933847,1048898,othdiscr,2,False,2,574,877,120287752,home,,12,DRIVEALONEFREE,0.0157047931957291 -962302457,2933848,1048898,work,1,True,1,502,574,120287807,work,,6,DRIVEALONEFREE,-0.0543257315127324 -962302461,2933848,1048898,work,1,False,2,728,502,120287807,escort,12.15178506355624,17,DRIVEALONEFREE,-0.0901887950029015 -962302462,2933848,1048898,work,2,False,2,574,728,120287807,home,,18,DRIVEALONEFREE,-0.1967678489672951 +962302457,2933848,1048898,work,1,True,1,502,574,120287807,work,,6,DRIVEALONEFREE,-0.05432573151273244 +962302461,2933848,1048898,work,1,False,2,728,502,120287807,escort,12.16357348271453,17,DRIVEALONEFREE,-0.0901887950029015 +962302462,2933848,1048898,work,2,False,2,574,728,120287807,home,,18,DRIVEALONEFREE,-0.19676784896729518 1055052265,3216622,1148260,univ,1,True,1,1074,1076,131881533,univ,,14,WALK,-1.3446315964343616 -1055052269,3216622,1148260,univ,1,False,3,1074,1074,131881533,univ,9.853996342181825,15,WALK,-0.5067482781368078 -1055052270,3216622,1148260,univ,2,False,3,1070,1074,131881533,escort,12.166528210851974,15,WALK,-0.7310853193957327 +1055052269,3216622,1148260,univ,1,False,3,1074,1074,131881533,univ,9.853683224081658,15,WALK,-0.5067482781368078 +1055052270,3216622,1148260,univ,2,False,3,1070,1074,131881533,escort,12.185525189473289,15,WALK,-0.7310853193957327 1055052271,3216622,1148260,univ,3,False,3,1076,1070,131881533,home,,15,WALK,1.4364023617430983 diff --git a/activitysim/examples/example_sandag/test/regress/final_3_zone_tours.csv b/activitysim/examples/placeholder_sandag/test/regress/final_3_zone_tours.csv similarity index 100% rename from activitysim/examples/example_sandag/test/regress/final_3_zone_tours.csv rename to activitysim/examples/placeholder_sandag/test/regress/final_3_zone_tours.csv diff --git a/activitysim/examples/example_sandag/test/regress/final_3_zone_trips.csv b/activitysim/examples/placeholder_sandag/test/regress/final_3_zone_trips.csv similarity index 100% rename from activitysim/examples/example_sandag/test/regress/final_3_zone_trips.csv rename to activitysim/examples/placeholder_sandag/test/regress/final_3_zone_trips.csv diff --git a/activitysim/examples/example_marin/test/simulation.py b/activitysim/examples/placeholder_sandag/test/simulation.py similarity index 85% rename from activitysim/examples/example_marin/test/simulation.py rename to activitysim/examples/placeholder_sandag/test/simulation.py index ec6a1181b1..8313dd45e7 100755 --- a/activitysim/examples/example_marin/test/simulation.py +++ b/activitysim/examples/placeholder_sandag/test/simulation.py @@ -1,15 +1,15 @@ -# ActivitySim -# See full license in LICENSE.txt. - -import sys -import argparse - -from activitysim.cli.run import add_run_args, run - -if __name__ == '__main__': - - parser = argparse.ArgumentParser() - add_run_args(parser) - args = parser.parse_args() - - sys.exit(run(args)) +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/placeholder_sandag/test/test_sandag.py b/activitysim/examples/placeholder_sandag/test/test_sandag.py new file mode 100644 index 0000000000..58db5d2d31 --- /dev/null +++ b/activitysim/examples/placeholder_sandag/test/test_sandag.py @@ -0,0 +1,139 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import shutil +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources +import pytest + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def example_path(dirname): + resource = os.path.join("examples", "placeholder_sandag", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def mtc_example_path(dirname): + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def psrc_example_path(dirname): + resource = os.path.join("examples", "placeholder_psrc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def build_data(): + shutil.copy( + example_path(os.path.join("data_3", "maz_to_maz_bike.csv")), + example_path(os.path.join("data_2", "maz_to_maz_bike.csv")), + ) + + +@pytest.fixture(scope="module") +def data(): + build_data() + + +def run_test(zone, multiprocess=False): + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(zone): + + # ## regress tours + regress_tours_df = pd.read_csv( + test_path(f"regress/final_{zone}_zone_tours.csv") + ) + tours_df = pd.read_csv(test_path(f"output/final_{zone}_zone_tours.csv")) + tours_df.to_csv( + test_path(f"regress/final_{zone}_zone_tours_last_run.csv"), index=False + ) + print(f"regress tours") + pdt.assert_frame_equal(tours_df, regress_tours_df, rtol=1e-03) + + # ## regress trips + regress_trips_df = pd.read_csv( + test_path(f"regress/final_{zone}_zone_trips.csv") + ) + trips_df = pd.read_csv(test_path(f"output/final_{zone}_zone_trips.csv")) + trips_df.to_csv( + test_path(f"regress/final_{zone}_zone_trips_last_run.csv"), index=False + ) + print(f"regress trips") + pdt.assert_frame_equal(trips_df, regress_trips_df, rtol=1e-03) + + # run test + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + if zone == "2": + base_configs = psrc_example_path(f"configs") + else: + base_configs = mtc_example_path(f"configs") + + run_args = [ + "-c", + test_path(f"configs_{zone}_zone"), + "-c", + example_path(f"configs_{zone}_zone"), + "-c", + base_configs, + "-d", + example_path(f"data_{zone}"), + "-o", + test_path("output"), + ] + + if multiprocess: + run_args = run_args + ["-s", "settings_mp.yaml"] + + subprocess.run(["coverage", "run", "-a", file_path] + run_args, check=True) + + regress(zone) + + +def test_1_zone(data): + run_test(zone="1", multiprocess=False) + + +def test_1_zone_mp(data): + run_test(zone="1", multiprocess=True) + + +def test_2_zone(data): + run_test(zone="2", multiprocess=False) + + +def test_2_zone_mp(data): + run_test(zone="2", multiprocess=True) + + +def test_3_zone(data): + run_test(zone="3", multiprocess=False) + + +def test_3_zone_mp(data): + run_test(zone="3", multiprocess=True) + + +if __name__ == "__main__": + + # call each test explicitly so we get a pass/fail for each + build_data() + run_test(zone="1", multiprocess=False) + run_test(zone="1", multiprocess=True) + + run_test(zone="2", multiprocess=False) + run_test(zone="2", multiprocess=True) + + run_test(zone="3", multiprocess=False) + run_test(zone="3", multiprocess=True) diff --git a/activitysim/examples/example_psrc/.gitignore b/activitysim/examples/prototype_arc/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/.gitignore rename to activitysim/examples/prototype_arc/.gitignore diff --git a/activitysim/examples/example_arc/README.MD b/activitysim/examples/prototype_arc/README.MD similarity index 100% rename from activitysim/examples/example_arc/README.MD rename to activitysim/examples/prototype_arc/README.MD diff --git a/activitysim/examples/example_arc/change_log.txt b/activitysim/examples/prototype_arc/change_log.txt similarity index 100% rename from activitysim/examples/example_arc/change_log.txt rename to activitysim/examples/prototype_arc/change_log.txt diff --git a/activitysim/examples/example_psrc/configs/_dummy_coefficients.csv b/activitysim/examples/prototype_arc/configs/_dummy_coefficients.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/_dummy_coefficients.csv rename to activitysim/examples/prototype_arc/configs/_dummy_coefficients.csv diff --git a/activitysim/examples/example_arc/configs/accessibility.csv b/activitysim/examples/prototype_arc/configs/accessibility.csv similarity index 98% rename from activitysim/examples/example_arc/configs/accessibility.csv rename to activitysim/examples/prototype_arc/configs/accessibility.csv index 1171554c10..cef9a0ae5d 100644 --- a/activitysim/examples/example_arc/configs/accessibility.csv +++ b/activitysim/examples/prototype_arc/configs/accessibility.csv @@ -1,77 +1,77 @@ -Description,Target,Expression -#,, -#,, auto peak -#,, -#AM - ALL TRANSIT,, -AM OVT (MW[31]),_amOvt,"skim_od[('WLK_ALLTRN_WLK_WALK', 'AM')] + skim_od[('WLK_ALLTRN_WLK_IWAIT','AM')]+ skim_od[('WLK_ALLTRN_WLK_XWAIT', 'AM')]" -AM OVT (Transposed) (MW[32]),_amOvt_T,"skim_do[('WLK_ALLTRN_WLK_WALK', 'AM')] + skim_do[('WLK_ALLTRN_WLK_IWAIT','AM')]+ skim_do[('WLK_ALLTRN_WLK_XWAIT', 'AM')]" -AM IVT (MW[33]),_amIvt,"skim_od[('WLK_ALLTRN_WLK_LOCAL', 'AM')]+skim_od[('WLK_ALLTRN_WLK_XBUS', 'AM')]+skim_od[('WLK_ALLTRN_WLK_BRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_HRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_LRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'AM')]" -AM IVT (Transposed) (MW[34]),_amIvt_T,"skim_do[('WLK_ALLTRN_WLK_LOCAL', 'AM')]+skim_do[('WLK_ALLTRN_WLK_XBUS', 'AM')]+skim_do[('WLK_ALLTRN_WLK_BRT', 'AM')]+skim_do[('WLK_ALLTRN_WLK_HRT', 'AM')]+skim_do[('WLK_ALLTRN_WLK_LRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'AM')]" -#,, -#MD - ALL TRANSIT,, -MD OVT (MW[41]),_mdOvt,"skim_od[('WLK_ALLTRN_WLK_WALK', 'MD')] + skim_od[('WLK_ALLTRN_WLK_IWAIT','MD')]+ skim_od[('WLK_ALLTRN_WLK_XWAIT', 'MD')]" -MD OVT (Transposed) (MW[42]),_mdOvt_T,"skim_do[('WLK_ALLTRN_WLK_WALK', 'MD')] + skim_do[('WLK_ALLTRN_WLK_IWAIT','MD')]+ skim_do[('WLK_ALLTRN_WLK_XWAIT', 'MD')]" -MD IVT (MW[43]),_mdIvt,"skim_od[('WLK_ALLTRN_WLK_LOCAL', 'MD')]+skim_od[('WLK_ALLTRN_WLK_XBUS', 'MD')]+skim_od[('WLK_ALLTRN_WLK_BRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_HRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_LRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'MD')]" -MD IVT (Transposed) (MW[44]),_mdIvt_T,"skim_do[('WLK_ALLTRN_WLK_LOCAL', 'MD')]+skim_do[('WLK_ALLTRN_WLK_XBUS', 'MD')]+skim_do[('WLK_ALLTRN_WLK_BRT', 'MD')]+skim_do[('WLK_ALLTRN_WLK_HRT', 'MD')]+skim_do[('WLK_ALLTRN_WLK_LRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'MD')]" -#,, -#AM - PREMIUM TRANSIT,, -AM OVT (MW[51]),_amOvtPrem,"skim_od[('WLK_PRMTRN_WLK_WALK', 'AM')] + skim_od[('WLK_PRMTRN_WLK_IWAIT','AM')]+ skim_od[('WLK_PRMTRN_WLK_XWAIT', 'AM')]" -AM OVT (Transposed) (MW[52]),_amOvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_WALK', 'AM')] + skim_do[('WLK_PRMTRN_WLK_IWAIT','AM')]+ skim_do[('WLK_PRMTRN_WLK_XWAIT', 'AM')]" -AM IVT (MW[53]),_amIvtPrem,"skim_od[('WLK_PRMTRN_WLK_LOCAL', 'AM')]+skim_od[('WLK_PRMTRN_WLK_XBUS', 'AM')]+skim_od[('WLK_PRMTRN_WLK_BRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_HRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_LRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'AM')]" -AM IVT (Transposed) (MW[54]),_amIvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_LOCAL', 'AM')]+skim_do[('WLK_PRMTRN_WLK_XBUS', 'AM')]+skim_do[('WLK_PRMTRN_WLK_BRT', 'AM')]+skim_do[('WLK_PRMTRN_WLK_HRT', 'AM')]+skim_do[('WLK_PRMTRN_WLK_LRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'AM')]" -#,, -#MD - PREMIUM TRANSIT,, -MD OVT (MW[61]),_mdOvtPrem,"skim_od[('WLK_PRMTRN_WLK_WALK', 'MD')] + skim_od[('WLK_PRMTRN_WLK_IWAIT','MD')]+ skim_od[('WLK_PRMTRN_WLK_XWAIT', 'MD')]" -MD OVT (Transposed) (MW[62]),_mdOvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_WALK', 'MD')] + skim_do[('WLK_PRMTRN_WLK_IWAIT','MD')]+ skim_do[('WLK_PRMTRN_WLK_XWAIT', 'MD')]" -MD IVT (MW[63]),_mdIvtPrem,"skim_od[('WLK_PRMTRN_WLK_LOCAL', 'MD')]+skim_od[('WLK_PRMTRN_WLK_XBUS', 'MD')]+skim_od[('WLK_PRMTRN_WLK_BRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_HRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_LRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'MD')]" -MD IVT (Transposed) (MW[64]),_mdIvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_LOCAL', 'MD')]+skim_do[('WLK_PRMTRN_WLK_XBUS', 'MD')]+skim_do[('WLK_PRMTRN_WLK_BRT', 'MD')]+skim_do[('WLK_PRMTRN_WLK_HRT', 'MD')]+skim_do[('WLK_PRMTRN_WLK_LRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'MD')]" -#,, -# get the destination zone retail employment from dbf file,, -Retail Employment,_retailEmp,df.retail + df.service -Total Employment,_totEmp,df.emp -#,, -#,,auto peak -# assume peak occurs in AM for outbound and PM for inbound,, -peak round trip distance,_auPkTime,"skim_od[('SOV_FREE_TIME', 'AM')] + skim_do[('SOV_FREE_TIME', 'AM')]" -decay function,_decay,exp(_auPkTime * dispersion_parameter_automobile) -auto peak retail,auPkRetail,_retailEmp * _decay -auto peak total,auPkTotal,_totEmp * _decay -#,, -#,, auto off-peak -#,, -#,, assume midday occurs entirely in the midday period -off-peak round trip distance,_auOpTime,"skim_od[('SOV_FREE_TIME', 'MD')] + skim_do[('SOV_FREE_TIME', 'MD')]" -decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile) -auto off-peak retail,auOpRetail,_retailEmp * _decay -auto off-peak total,auOpTotal,_totEmp * _decay -#,, -#,, -#,, -# am peak transit,, -local travel time,_ltt,2 * (_amOvt+_amOvt_T) + (_amIvt+_amIvt_T) -premium travel time,_ptt,2 * (_amOvtPrem+_amOvtPrem_T) + (_amIvtPrem+_amIvtPrem_T) -local travel time 2,_ltt2,_amOvt + _amOvt_T + _amIvt + _amIvt_T -premium travel time 2,_ptt2,_amOvtPrem + _amOvtPrem_T + _amIvtPrem + _amIvtPrem_T -#,, -Transit Decay ,_tr_decay,"np.where((_ltt > 0), np.where((_ltt < _ptt), exp(_ltt2 * dispersion_parameter_transit), 0), np.where((_ptt > 0), exp(_ptt2 * dispersion_parameter_transit), 0))" -transit peak retail,trPkRetail,_retailEmp * _tr_decay -transit peak total,trPkTotal,_totEmp * _tr_decay -#,, -#,, -# midday transit,, -local travel time off-peak,_lttop,2 * (_mdOvt+_mdOvt_T) + (_mdIvt+_mdIvt_T) -premium travel time off-peak,_pttop,2 * (_mdOvtPrem+_mdOvtPrem_T) + (_mdIvtPrem+_mdIvtPrem_T) -local travel time off-peak 2,_ltt2op,_mdOvt + _mdOvt_T + _mdIvt + _mdIvt_T -premium travel time off-peak 2,_ptt2op,_mdOvtPrem + _mdOvtPrem_T + _mdIvtPrem + _mdIvtPrem_T -#,, -Transit Decay ,_tr_op_decay,"np.where((_lttop > 0), np.where((_lttop < _pttop), exp(_ltt2op * dispersion_parameter_transit), 0), np.where((_pttop > 0), exp(_ptt2op * dispersion_parameter_transit), 0))" -transit off-peak retail,trOpRetail,_retailEmp * _tr_op_decay -transit off-peak total,trOpTotal,_totEmp * _tr_op_decay -#,, -#,, -# walk,, -non-motorized round trip distance,_nmDist,"skim_od[('SOV_FREE_DISTANCE', 'MD')] + skim_do[('SOV_FREE_DISTANCE', 'MD')]" -round trip path is available,_rt_available,_nmDist <= (maximum_walk_distance * 2) -decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk) -non-motorized retail accessibility,nmRetail,_retailEmp * _decay -non-motorized total accessibility,nmTotal,_totEmp * _decay +Description,Target,Expression +#,, +#,, auto peak +#,, +#AM - ALL TRANSIT,, +AM OVT (MW[31]),_amOvt,"skim_od[('WLK_ALLTRN_WLK_WALK', 'AM')] + skim_od[('WLK_ALLTRN_WLK_IWAIT','AM')]+ skim_od[('WLK_ALLTRN_WLK_XWAIT', 'AM')]" +AM OVT (Transposed) (MW[32]),_amOvt_T,"skim_do[('WLK_ALLTRN_WLK_WALK', 'AM')] + skim_do[('WLK_ALLTRN_WLK_IWAIT','AM')]+ skim_do[('WLK_ALLTRN_WLK_XWAIT', 'AM')]" +AM IVT (MW[33]),_amIvt,"skim_od[('WLK_ALLTRN_WLK_LOCAL', 'AM')]+skim_od[('WLK_ALLTRN_WLK_XBUS', 'AM')]+skim_od[('WLK_ALLTRN_WLK_BRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_HRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_LRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'AM')]" +AM IVT (Transposed) (MW[34]),_amIvt_T,"skim_do[('WLK_ALLTRN_WLK_LOCAL', 'AM')]+skim_do[('WLK_ALLTRN_WLK_XBUS', 'AM')]+skim_do[('WLK_ALLTRN_WLK_BRT', 'AM')]+skim_do[('WLK_ALLTRN_WLK_HRT', 'AM')]+skim_do[('WLK_ALLTRN_WLK_LRT', 'AM')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'AM')]" +#,, +#MD - ALL TRANSIT,, +MD OVT (MW[41]),_mdOvt,"skim_od[('WLK_ALLTRN_WLK_WALK', 'MD')] + skim_od[('WLK_ALLTRN_WLK_IWAIT','MD')]+ skim_od[('WLK_ALLTRN_WLK_XWAIT', 'MD')]" +MD OVT (Transposed) (MW[42]),_mdOvt_T,"skim_do[('WLK_ALLTRN_WLK_WALK', 'MD')] + skim_do[('WLK_ALLTRN_WLK_IWAIT','MD')]+ skim_do[('WLK_ALLTRN_WLK_XWAIT', 'MD')]" +MD IVT (MW[43]),_mdIvt,"skim_od[('WLK_ALLTRN_WLK_LOCAL', 'MD')]+skim_od[('WLK_ALLTRN_WLK_XBUS', 'MD')]+skim_od[('WLK_ALLTRN_WLK_BRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_HRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_LRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'MD')]" +MD IVT (Transposed) (MW[44]),_mdIvt_T,"skim_do[('WLK_ALLTRN_WLK_LOCAL', 'MD')]+skim_do[('WLK_ALLTRN_WLK_XBUS', 'MD')]+skim_do[('WLK_ALLTRN_WLK_BRT', 'MD')]+skim_do[('WLK_ALLTRN_WLK_HRT', 'MD')]+skim_do[('WLK_ALLTRN_WLK_LRT', 'MD')]+skim_od[('WLK_ALLTRN_WLK_COMRAIL', 'MD')]" +#,, +#AM - PREMIUM TRANSIT,, +AM OVT (MW[51]),_amOvtPrem,"skim_od[('WLK_PRMTRN_WLK_WALK', 'AM')] + skim_od[('WLK_PRMTRN_WLK_IWAIT','AM')]+ skim_od[('WLK_PRMTRN_WLK_XWAIT', 'AM')]" +AM OVT (Transposed) (MW[52]),_amOvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_WALK', 'AM')] + skim_do[('WLK_PRMTRN_WLK_IWAIT','AM')]+ skim_do[('WLK_PRMTRN_WLK_XWAIT', 'AM')]" +AM IVT (MW[53]),_amIvtPrem,"skim_od[('WLK_PRMTRN_WLK_LOCAL', 'AM')]+skim_od[('WLK_PRMTRN_WLK_XBUS', 'AM')]+skim_od[('WLK_PRMTRN_WLK_BRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_HRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_LRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'AM')]" +AM IVT (Transposed) (MW[54]),_amIvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_LOCAL', 'AM')]+skim_do[('WLK_PRMTRN_WLK_XBUS', 'AM')]+skim_do[('WLK_PRMTRN_WLK_BRT', 'AM')]+skim_do[('WLK_PRMTRN_WLK_HRT', 'AM')]+skim_do[('WLK_PRMTRN_WLK_LRT', 'AM')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'AM')]" +#,, +#MD - PREMIUM TRANSIT,, +MD OVT (MW[61]),_mdOvtPrem,"skim_od[('WLK_PRMTRN_WLK_WALK', 'MD')] + skim_od[('WLK_PRMTRN_WLK_IWAIT','MD')]+ skim_od[('WLK_PRMTRN_WLK_XWAIT', 'MD')]" +MD OVT (Transposed) (MW[62]),_mdOvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_WALK', 'MD')] + skim_do[('WLK_PRMTRN_WLK_IWAIT','MD')]+ skim_do[('WLK_PRMTRN_WLK_XWAIT', 'MD')]" +MD IVT (MW[63]),_mdIvtPrem,"skim_od[('WLK_PRMTRN_WLK_LOCAL', 'MD')]+skim_od[('WLK_PRMTRN_WLK_XBUS', 'MD')]+skim_od[('WLK_PRMTRN_WLK_BRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_HRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_LRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'MD')]" +MD IVT (Transposed) (MW[64]),_mdIvtPrem_T,"skim_do[('WLK_PRMTRN_WLK_LOCAL', 'MD')]+skim_do[('WLK_PRMTRN_WLK_XBUS', 'MD')]+skim_do[('WLK_PRMTRN_WLK_BRT', 'MD')]+skim_do[('WLK_PRMTRN_WLK_HRT', 'MD')]+skim_do[('WLK_PRMTRN_WLK_LRT', 'MD')]+skim_od[('WLK_PRMTRN_WLK_COMRAIL', 'MD')]" +#,, +# get the destination zone retail employment from dbf file,, +Retail Employment,_retailEmp,df.retail + df.service +Total Employment,_totEmp,df.emp +#,, +#,,auto peak +# assume peak occurs in AM for outbound and PM for inbound,, +peak round trip distance,_auPkTime,"skim_od[('SOV_FREE_TIME', 'AM')] + skim_do[('SOV_FREE_TIME', 'AM')]" +decay function,_decay,exp(_auPkTime * dispersion_parameter_automobile) +auto peak retail,auPkRetail,_retailEmp * _decay +auto peak total,auPkTotal,_totEmp * _decay +#,, +#,, auto off-peak +#,, +#,, assume midday occurs entirely in the midday period +off-peak round trip distance,_auOpTime,"skim_od[('SOV_FREE_TIME', 'MD')] + skim_do[('SOV_FREE_TIME', 'MD')]" +decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile) +auto off-peak retail,auOpRetail,_retailEmp * _decay +auto off-peak total,auOpTotal,_totEmp * _decay +#,, +#,, +#,, +# am peak transit,, +local travel time,_ltt,2 * (_amOvt+_amOvt_T) + (_amIvt+_amIvt_T) +premium travel time,_ptt,2 * (_amOvtPrem+_amOvtPrem_T) + (_amIvtPrem+_amIvtPrem_T) +local travel time 2,_ltt2,_amOvt + _amOvt_T + _amIvt + _amIvt_T +premium travel time 2,_ptt2,_amOvtPrem + _amOvtPrem_T + _amIvtPrem + _amIvtPrem_T +#,, +Transit Decay ,_tr_decay,"np.where((_ltt > 0), np.where((_ltt < _ptt), exp(_ltt2 * dispersion_parameter_transit), 0), np.where((_ptt > 0), exp(_ptt2 * dispersion_parameter_transit), 0))" +transit peak retail,trPkRetail,_retailEmp * _tr_decay +transit peak total,trPkTotal,_totEmp * _tr_decay +#,, +#,, +# midday transit,, +local travel time off-peak,_lttop,2 * (_mdOvt+_mdOvt_T) + (_mdIvt+_mdIvt_T) +premium travel time off-peak,_pttop,2 * (_mdOvtPrem+_mdOvtPrem_T) + (_mdIvtPrem+_mdIvtPrem_T) +local travel time off-peak 2,_ltt2op,_mdOvt + _mdOvt_T + _mdIvt + _mdIvt_T +premium travel time off-peak 2,_ptt2op,_mdOvtPrem + _mdOvtPrem_T + _mdIvtPrem + _mdIvtPrem_T +#,, +Transit Decay ,_tr_op_decay,"np.where((_lttop > 0), np.where((_lttop < _pttop), exp(_ltt2op * dispersion_parameter_transit), 0), np.where((_pttop > 0), exp(_ptt2op * dispersion_parameter_transit), 0))" +transit off-peak retail,trOpRetail,_retailEmp * _tr_op_decay +transit off-peak total,trOpTotal,_totEmp * _tr_op_decay +#,, +#,, +# walk,, +non-motorized round trip distance,_nmDist,"skim_od[('SOV_FREE_DISTANCE', 'MD')] + skim_do[('SOV_FREE_DISTANCE', 'MD')]" +round trip path is available,_rt_available,_nmDist <= (maximum_walk_distance * 2) +decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk) +non-motorized retail accessibility,nmRetail,_retailEmp * _decay +non-motorized total accessibility,nmTotal,_totEmp * _decay diff --git a/activitysim/examples/example_arc/configs/accessibility.yaml b/activitysim/examples/prototype_arc/configs/accessibility.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/accessibility.yaml rename to activitysim/examples/prototype_arc/configs/accessibility.yaml diff --git a/activitysim/examples/example_arc/configs/annotate_households.csv b/activitysim/examples/prototype_arc/configs/annotate_households.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_households.csv rename to activitysim/examples/prototype_arc/configs/annotate_households.csv diff --git a/activitysim/examples/example_arc/configs/annotate_households_cdap.csv b/activitysim/examples/prototype_arc/configs/annotate_households_cdap.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_households_cdap.csv rename to activitysim/examples/prototype_arc/configs/annotate_households_cdap.csv diff --git a/activitysim/examples/example_arc/configs/annotate_households_workplace.csv b/activitysim/examples/prototype_arc/configs/annotate_households_workplace.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_households_workplace.csv rename to activitysim/examples/prototype_arc/configs/annotate_households_workplace.csv diff --git a/activitysim/examples/example_arc/configs/annotate_landuse.csv b/activitysim/examples/prototype_arc/configs/annotate_landuse.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_landuse.csv rename to activitysim/examples/prototype_arc/configs/annotate_landuse.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons.csv b/activitysim/examples/prototype_arc/configs/annotate_persons.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_after_hh.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_after_hh.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_after_hh.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_after_hh.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_cdap.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_cdap.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_cdap.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_cdap.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_jtp.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_jtp.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_jtp.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_jtp.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_mtf.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_mtf.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_mtf.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_mtf.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_nmtf.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_nmtf.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_nmtf.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_nmtf.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_school.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_school.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_school.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_school.csv diff --git a/activitysim/examples/example_arc/configs/annotate_persons_workplace.csv b/activitysim/examples/prototype_arc/configs/annotate_persons_workplace.csv similarity index 100% rename from activitysim/examples/example_arc/configs/annotate_persons_workplace.csv rename to activitysim/examples/prototype_arc/configs/annotate_persons_workplace.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_destination.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_destination.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_destination.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_destination.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_destination.yaml b/activitysim/examples/prototype_arc/configs/atwork_subtour_destination.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_destination.yaml rename to activitysim/examples/prototype_arc/configs/atwork_subtour_destination.yaml diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_destination_coeffs.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_destination_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_destination_coeffs.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_destination_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_destination_sample.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_destination_sample.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_destination_sample.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_destination_sample.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_frequency.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_frequency.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_frequency.csv diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency.yaml b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency.yaml old mode 100755 new mode 100644 similarity index 95% rename from activitysim/examples/example_psrc/configs/atwork_subtour_frequency.yaml rename to activitysim/examples/prototype_arc/configs/atwork_subtour_frequency.yaml index 125bf2c1fd..1b5d27101d --- a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency.yaml +++ b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency.yaml @@ -1,11 +1,11 @@ - -SPEC: atwork_subtour_frequency.csv -COEFFICIENTS: atwork_subtour_frequency_coeffs.csv - -preprocessor: - SPEC: atwork_subtour_frequency_annotate_tours_preprocessor - DF: df - TABLES: - - land_use - - tours - - joint_tour_participants + +SPEC: atwork_subtour_frequency.csv +COEFFICIENTS: atwork_subtour_frequency_coeffs.csv + +preprocessor: + SPEC: atwork_subtour_frequency_annotate_tours_preprocessor + DF: df + TABLES: + - land_use + - tours + - joint_tour_participants diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_frequency_alternatives.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_frequency_alternatives.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_alternatives.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/atwork_subtour_frequency_coeffs.csv b/activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/atwork_subtour_frequency_coeffs.csv rename to activitysim/examples/prototype_arc/configs/atwork_subtour_frequency_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/auto_ownership.csv b/activitysim/examples/prototype_arc/configs/auto_ownership.csv similarity index 100% rename from activitysim/examples/example_arc/configs/auto_ownership.csv rename to activitysim/examples/prototype_arc/configs/auto_ownership.csv diff --git a/activitysim/examples/example_arc/configs/auto_ownership.yaml b/activitysim/examples/prototype_arc/configs/auto_ownership.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/auto_ownership.yaml rename to activitysim/examples/prototype_arc/configs/auto_ownership.yaml diff --git a/activitysim/examples/example_arc/configs/auto_ownership_coeffs.csv b/activitysim/examples/prototype_arc/configs/auto_ownership_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/auto_ownership_coeffs.csv rename to activitysim/examples/prototype_arc/configs/auto_ownership_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/cdap.yaml b/activitysim/examples/prototype_arc/configs/cdap.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/cdap.yaml rename to activitysim/examples/prototype_arc/configs/cdap.yaml diff --git a/activitysim/examples/example_mtc/configs/cdap_fixed_relative_proportions.csv b/activitysim/examples/prototype_arc/configs/cdap_fixed_relative_proportions.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/cdap_fixed_relative_proportions.csv rename to activitysim/examples/prototype_arc/configs/cdap_fixed_relative_proportions.csv diff --git a/activitysim/examples/example_arc/configs/cdap_indiv_and_hhsize1.csv b/activitysim/examples/prototype_arc/configs/cdap_indiv_and_hhsize1.csv similarity index 100% rename from activitysim/examples/example_arc/configs/cdap_indiv_and_hhsize1.csv rename to activitysim/examples/prototype_arc/configs/cdap_indiv_and_hhsize1.csv diff --git a/activitysim/examples/example_arc/configs/cdap_interaction_coefficients.csv b/activitysim/examples/prototype_arc/configs/cdap_interaction_coefficients.csv similarity index 100% rename from activitysim/examples/example_arc/configs/cdap_interaction_coefficients.csv rename to activitysim/examples/prototype_arc/configs/cdap_interaction_coefficients.csv diff --git a/activitysim/examples/example_arc/configs/constants.yaml b/activitysim/examples/prototype_arc/configs/constants.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/constants.yaml rename to activitysim/examples/prototype_arc/configs/constants.yaml diff --git a/activitysim/examples/example_arc/configs/destination_choice_size_terms.csv b/activitysim/examples/prototype_arc/configs/destination_choice_size_terms.csv similarity index 100% rename from activitysim/examples/example_arc/configs/destination_choice_size_terms.csv rename to activitysim/examples/prototype_arc/configs/destination_choice_size_terms.csv diff --git a/activitysim/examples/example_arc/configs/free_parking.csv b/activitysim/examples/prototype_arc/configs/free_parking.csv similarity index 100% rename from activitysim/examples/example_arc/configs/free_parking.csv rename to activitysim/examples/prototype_arc/configs/free_parking.csv diff --git a/activitysim/examples/example_arc/configs/free_parking.yaml b/activitysim/examples/prototype_arc/configs/free_parking.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/free_parking.yaml rename to activitysim/examples/prototype_arc/configs/free_parking.yaml diff --git a/activitysim/examples/example_arc/configs/free_parking_coeffs.csv b/activitysim/examples/prototype_arc/configs/free_parking_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/free_parking_coeffs.csv rename to activitysim/examples/prototype_arc/configs/free_parking_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/initialize_households.yaml b/activitysim/examples/prototype_arc/configs/initialize_households.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/initialize_households.yaml rename to activitysim/examples/prototype_arc/configs/initialize_households.yaml diff --git a/activitysim/examples/example_arc/configs/initialize_landuse.yaml b/activitysim/examples/prototype_arc/configs/initialize_landuse.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/initialize_landuse.yaml rename to activitysim/examples/prototype_arc/configs/initialize_landuse.yaml diff --git a/activitysim/examples/example_arc/configs/joint_tour_composition.csv b/activitysim/examples/prototype_arc/configs/joint_tour_composition.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_composition.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_composition.csv diff --git a/activitysim/examples/example_semcog/configs/joint_tour_composition.yaml b/activitysim/examples/prototype_arc/configs/joint_tour_composition.yaml old mode 100755 new mode 100644 similarity index 95% rename from activitysim/examples/example_semcog/configs/joint_tour_composition.yaml rename to activitysim/examples/prototype_arc/configs/joint_tour_composition.yaml index 55ee2015ec..a699bb337d --- a/activitysim/examples/example_semcog/configs/joint_tour_composition.yaml +++ b/activitysim/examples/prototype_arc/configs/joint_tour_composition.yaml @@ -1,11 +1,11 @@ -LOGIT_TYPE: MNL - -SPEC: joint_tour_composition.csv -COEFFICIENTS: joint_tour_composition_coeffs.csv - -preprocessor: - SPEC: joint_tour_composition_annotate_households_preprocessor - DF: households -# TABLES: -# - persons -# - accessibility +LOGIT_TYPE: MNL + +SPEC: joint_tour_composition.csv +COEFFICIENTS: joint_tour_composition_coeffs.csv + +preprocessor: + SPEC: joint_tour_composition_annotate_households_preprocessor + DF: households +# TABLES: +# - persons +# - accessibility diff --git a/activitysim/examples/example_arc/configs/joint_tour_composition_annotate_households_preprocessor.csv b/activitysim/examples/prototype_arc/configs/joint_tour_composition_annotate_households_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_composition_annotate_households_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_composition_annotate_households_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_composition_coeffs.csv b/activitysim/examples/prototype_arc/configs/joint_tour_composition_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_composition_coeffs.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_composition_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_destination.yaml b/activitysim/examples/prototype_arc/configs/joint_tour_destination.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_destination.yaml rename to activitysim/examples/prototype_arc/configs/joint_tour_destination.yaml diff --git a/activitysim/examples/example_arc/configs/joint_tour_destination_coeffs.csv b/activitysim/examples/prototype_arc/configs/joint_tour_destination_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_destination_coeffs.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_destination_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_frequency.csv b/activitysim/examples/prototype_arc/configs/joint_tour_frequency.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_frequency.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_frequency.csv diff --git a/activitysim/examples/example_semcog/configs/joint_tour_frequency.yaml b/activitysim/examples/prototype_arc/configs/joint_tour_frequency.yaml old mode 100755 new mode 100644 similarity index 95% rename from activitysim/examples/example_semcog/configs/joint_tour_frequency.yaml rename to activitysim/examples/prototype_arc/configs/joint_tour_frequency.yaml index d5a70b1dfc..61e1f1bdcf --- a/activitysim/examples/example_semcog/configs/joint_tour_frequency.yaml +++ b/activitysim/examples/prototype_arc/configs/joint_tour_frequency.yaml @@ -1,11 +1,11 @@ -LOGIT_TYPE: MNL - -SPEC: joint_tour_frequency.csv -COEFFICIENTS: joint_tour_frequency_coeffs.csv - -preprocessor: - SPEC: joint_tour_frequency_annotate_households_preprocessor - DF: households - TABLES: - #- persons - - accessibility +LOGIT_TYPE: MNL + +SPEC: joint_tour_frequency.csv +COEFFICIENTS: joint_tour_frequency_coeffs.csv + +preprocessor: + SPEC: joint_tour_frequency_annotate_households_preprocessor + DF: households + TABLES: + #- persons + - accessibility diff --git a/activitysim/examples/example_arc/configs/joint_tour_frequency_alternatives.csv b/activitysim/examples/prototype_arc/configs/joint_tour_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_frequency_alternatives.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_frequency_alternatives.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_frequency_annotate_households_preprocessor.csv b/activitysim/examples/prototype_arc/configs/joint_tour_frequency_annotate_households_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_frequency_annotate_households_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_frequency_annotate_households_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_frequency_coeffs.csv b/activitysim/examples/prototype_arc/configs/joint_tour_frequency_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_frequency_coeffs.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_frequency_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_participation.csv b/activitysim/examples/prototype_arc/configs/joint_tour_participation.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_participation.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_participation.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_participation.yaml b/activitysim/examples/prototype_arc/configs/joint_tour_participation.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_participation.yaml rename to activitysim/examples/prototype_arc/configs/joint_tour_participation.yaml diff --git a/activitysim/examples/example_arc/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/activitysim/examples/prototype_arc/configs/joint_tour_participation_annotate_participants_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_participation_annotate_participants_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_participation_annotate_participants_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_participation_coeffs.csv b/activitysim/examples/prototype_arc/configs/joint_tour_participation_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_participation_coeffs.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_participation_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_scheduling.yaml b/activitysim/examples/prototype_arc/configs/joint_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_scheduling.yaml rename to activitysim/examples/prototype_arc/configs/joint_tour_scheduling.yaml diff --git a/activitysim/examples/example_arc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_arc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/joint_tour_scheduling_coeffs.csv b/activitysim/examples/prototype_arc/configs/joint_tour_scheduling_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/joint_tour_scheduling_coeffs.csv rename to activitysim/examples/prototype_arc/configs/joint_tour_scheduling_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/logging.yaml b/activitysim/examples/prototype_arc/configs/logging.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/logging.yaml rename to activitysim/examples/prototype_arc/configs/logging.yaml diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_frequency.csv b/activitysim/examples/prototype_arc/configs/mandatory_tour_frequency.csv similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_frequency.csv rename to activitysim/examples/prototype_arc/configs/mandatory_tour_frequency.csv diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_frequency.yaml b/activitysim/examples/prototype_arc/configs/mandatory_tour_frequency.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_frequency.yaml rename to activitysim/examples/prototype_arc/configs/mandatory_tour_frequency.yaml diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_arc/configs/mandatory_tour_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_frequency_alternatives.csv rename to activitysim/examples/prototype_arc/configs/mandatory_tour_frequency_alternatives.csv diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_frequency_coeffs.csv b/activitysim/examples/prototype_arc/configs/mandatory_tour_frequency_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_frequency_coeffs.csv rename to activitysim/examples/prototype_arc/configs/mandatory_tour_frequency_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_arc/configs/mandatory_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_scheduling.yaml rename to activitysim/examples/prototype_arc/configs/mandatory_tour_scheduling.yaml diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv b/activitysim/examples/prototype_arc/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/mandatory_tour_scheduling_annotate_alts_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/mandatory_tour_schedulings_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_arc/configs/mandatory_tour_schedulings_annotate_tours_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/mandatory_tour_schedulings_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/mandatory_tour_schedulings_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/network_los.yaml b/activitysim/examples/prototype_arc/configs/network_los.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/network_los.yaml rename to activitysim/examples/prototype_arc/configs/network_los.yaml diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_destination.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_destination.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_destination.yaml b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_destination.yaml rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination.yaml diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_destination_coeffs.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_destination_coeffs.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_destination_sample.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination_sample.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_destination_sample.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_destination_sample.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency.csv diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.yaml b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency.yaml old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.yaml rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency.yaml index bd1c6f12d3..239b5a38a6 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.yaml +++ b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency.yaml @@ -1,42 +1,42 @@ - -SEGMENT_COL: ptype -SPEC: non_mandatory_tour_frequency.csv - -SPEC_SEGMENTS: - - NAME: PTYPE_FULL - PTYPE: 1 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv - - NAME: PTYPE_PART - PTYPE: 2 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv - - NAME: PTYPE_UNIVERSITY - PTYPE: 3 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv - - NAME: PTYPE_NONWORK - PTYPE: 4 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv - - NAME: PTYPE_RETIRED - PTYPE: 5 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv - - NAME: PTYPE_DRIVING - PTYPE: 6 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv - - NAME: PTYPE_SCHOOL - PTYPE: 7 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv - - NAME: PTYPE_PRESCHOOL - PTYPE: 8 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv - -annotate_persons: - SPEC: annotate_persons_nmtf - DF: persons - TABLES: - - tours - -preprocessor: - SPEC: non_mandatory_tour_frequency_annotate_persons_preprocessor - DF: persons - TABLES: - - tours -# - accessibility + +SEGMENT_COL: ptype +SPEC: non_mandatory_tour_frequency.csv + +SPEC_SEGMENTS: + - NAME: PTYPE_FULL + PTYPE: 1 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv + - NAME: PTYPE_PART + PTYPE: 2 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv + - NAME: PTYPE_UNIVERSITY + PTYPE: 3 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv + - NAME: PTYPE_NONWORK + PTYPE: 4 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv + - NAME: PTYPE_RETIRED + PTYPE: 5 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv + - NAME: PTYPE_DRIVING + PTYPE: 6 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv + - NAME: PTYPE_SCHOOL + PTYPE: 7 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv + - NAME: PTYPE_PRESCHOOL + PTYPE: 8 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv + +annotate_persons: + SPEC: annotate_persons_nmtf + DF: persons + TABLES: + - tours + +preprocessor: + SPEC: non_mandatory_tour_frequency_annotate_persons_preprocessor + DF: persons + TABLES: + - tours +# - accessibility diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_alternatives.csv old mode 100755 new mode 100644 similarity index 92% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_alternatives.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_alternatives.csv index 1c0052f963..b9765aa75a --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_alternatives.csv +++ b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_alternatives.csv @@ -1,97 +1,97 @@ -escort,shopping,othmaint,othdiscr,eatout,social -0,0,0,0,0,0 -0,0,0,1,0,0 -0,0,0,0,0,1 -0,0,0,1,0,1 -0,0,0,0,1,0 -0,0,0,1,1,0 -0,0,0,0,1,1 -0,0,0,1,1,1 -0,0,1,0,0,0 -0,0,1,1,0,0 -0,0,1,0,0,1 -0,0,1,1,0,1 -0,0,1,0,1,0 -0,0,1,1,1,0 -0,0,1,0,1,1 -0,0,1,1,1,1 -0,1,0,0,0,0 -0,1,0,1,0,0 -0,1,0,0,0,1 -0,1,0,1,0,1 -0,1,0,0,1,0 -0,1,0,1,1,0 -0,1,0,0,1,1 -0,1,0,1,1,1 -0,1,1,0,0,0 -0,1,1,1,0,0 -0,1,1,0,0,1 -0,1,1,1,0,1 -0,1,1,0,1,0 -0,1,1,1,1,0 -0,1,1,0,1,1 -0,1,1,1,1,1 -1,0,0,0,0,0 -1,0,0,1,0,0 -1,0,0,0,0,1 -1,0,0,1,0,1 -1,0,0,0,1,0 -1,0,0,1,1,0 -1,0,0,0,1,1 -1,0,0,1,1,1 -1,0,1,0,0,0 -1,0,1,1,0,0 -1,0,1,0,0,1 -1,0,1,1,0,1 -1,0,1,0,1,0 -1,0,1,1,1,0 -1,0,1,0,1,1 -1,0,1,1,1,1 -1,1,0,0,0,0 -1,1,0,1,0,0 -1,1,0,0,0,1 -1,1,0,1,0,1 -1,1,0,0,1,0 -1,1,0,1,1,0 -1,1,0,0,1,1 -1,1,0,1,1,1 -1,1,1,0,0,0 -1,1,1,1,0,0 -1,1,1,0,0,1 -1,1,1,1,0,1 -1,1,1,0,1,0 -1,1,1,1,1,0 -1,1,1,0,1,1 -1,1,1,1,1,1 -2,0,0,0,0,0 -2,0,0,1,0,0 -2,0,0,0,0,1 -2,0,0,1,0,1 -2,0,0,0,1,0 -2,0,0,1,1,0 -2,0,0,0,1,1 -2,0,0,1,1,1 -2,0,1,0,0,0 -2,0,1,1,0,0 -2,0,1,0,0,1 -2,0,1,1,0,1 -2,0,1,0,1,0 -2,0,1,1,1,0 -2,0,1,0,1,1 -2,0,1,1,1,1 -2,1,0,0,0,0 -2,1,0,1,0,0 -2,1,0,0,0,1 -2,1,0,1,0,1 -2,1,0,0,1,0 -2,1,0,1,1,0 -2,1,0,0,1,1 -2,1,0,1,1,1 -2,1,1,0,0,0 -2,1,1,1,0,0 -2,1,1,0,0,1 -2,1,1,1,0,1 -2,1,1,0,1,0 -2,1,1,1,1,0 -2,1,1,0,1,1 -2,1,1,1,1,1 +escort,shopping,othmaint,othdiscr,eatout,social +0,0,0,0,0,0 +0,0,0,1,0,0 +0,0,0,0,0,1 +0,0,0,1,0,1 +0,0,0,0,1,0 +0,0,0,1,1,0 +0,0,0,0,1,1 +0,0,0,1,1,1 +0,0,1,0,0,0 +0,0,1,1,0,0 +0,0,1,0,0,1 +0,0,1,1,0,1 +0,0,1,0,1,0 +0,0,1,1,1,0 +0,0,1,0,1,1 +0,0,1,1,1,1 +0,1,0,0,0,0 +0,1,0,1,0,0 +0,1,0,0,0,1 +0,1,0,1,0,1 +0,1,0,0,1,0 +0,1,0,1,1,0 +0,1,0,0,1,1 +0,1,0,1,1,1 +0,1,1,0,0,0 +0,1,1,1,0,0 +0,1,1,0,0,1 +0,1,1,1,0,1 +0,1,1,0,1,0 +0,1,1,1,1,0 +0,1,1,0,1,1 +0,1,1,1,1,1 +1,0,0,0,0,0 +1,0,0,1,0,0 +1,0,0,0,0,1 +1,0,0,1,0,1 +1,0,0,0,1,0 +1,0,0,1,1,0 +1,0,0,0,1,1 +1,0,0,1,1,1 +1,0,1,0,0,0 +1,0,1,1,0,0 +1,0,1,0,0,1 +1,0,1,1,0,1 +1,0,1,0,1,0 +1,0,1,1,1,0 +1,0,1,0,1,1 +1,0,1,1,1,1 +1,1,0,0,0,0 +1,1,0,1,0,0 +1,1,0,0,0,1 +1,1,0,1,0,1 +1,1,0,0,1,0 +1,1,0,1,1,0 +1,1,0,0,1,1 +1,1,0,1,1,1 +1,1,1,0,0,0 +1,1,1,1,0,0 +1,1,1,0,0,1 +1,1,1,1,0,1 +1,1,1,0,1,0 +1,1,1,1,1,0 +1,1,1,0,1,1 +1,1,1,1,1,1 +2,0,0,0,0,0 +2,0,0,1,0,0 +2,0,0,0,0,1 +2,0,0,1,0,1 +2,0,0,0,1,0 +2,0,0,1,1,0 +2,0,0,0,1,1 +2,0,0,1,1,1 +2,0,1,0,0,0 +2,0,1,1,0,0 +2,0,1,0,0,1 +2,0,1,1,0,1 +2,0,1,0,1,0 +2,0,1,1,1,0 +2,0,1,0,1,1 +2,0,1,1,1,1 +2,1,0,0,0,0 +2,1,0,1,0,0 +2,1,0,0,0,1 +2,1,0,1,0,1 +2,1,0,0,1,0 +2,1,0,1,1,0 +2,1,0,0,1,1 +2,1,0,1,1,1 +2,1,1,0,0,0 +2,1,1,1,0,0 +2,1,1,0,0,1 +2,1,1,1,0,1 +2,1,1,0,1,0 +2,1,1,1,1,0 +2,1,1,0,1,1 +2,1,1,1,1,1 diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_extension_probs.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_extension_probs.csv old mode 100755 new mode 100644 similarity index 95% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_extension_probs.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_extension_probs.csv index 632f453ce0..ec78c4c8e7 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_extension_probs.csv +++ b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_frequency_extension_probs.csv @@ -1,193 +1,193 @@ -ptype,has_mandatory_tour,has_joint_tour,nonmandatory_tour_type,0_tours,1_tours,2_tours -1,0,0,1,0.829545455,1,1 -2,0,0,1,0.769230769,1,1 -3,0,0,1,0.893939394,1,1 -4,0,0,1,0.75,1,1 -5,0,0,1,0.842105263,1,1 -6,0,0,1,0.714285714,1,1 -7,0,0,1,0.814814815,1,1 -8,0,0,1,0.75,1,1 -1,1,0,1,0.789473684,1,1 -2,1,0,1,0.6,1,1 -3,1,0,1,1,1,1 -4,1,0,1,1,1,1 -5,1,0,1,0.825910931,1,1 -6,1,0,1,0.837209302,1,1 -7,1,0,1,0.6,1,1 -8,1,0,1,1,1,1 -1,0,1,1,0.842105263,1,1 -2,0,1,1,1,1,1 -3,0,1,1,1,1,1 -4,0,1,1,1,1,1 -5,0,1,1,1,1,1 -6,0,1,1,1,1,1 -7,0,1,1,1,1,1 -8,0,1,1,1,1,1 -1,1,1,1,1,1,1 -2,1,1,1,1,1,1 -3,1,1,1,1,1,1 -4,1,1,1,1,1,1 -5,1,1,1,0.777777778,1,1 -6,1,1,1,1,1,1 -7,1,1,1,1,1,1 -8,1,1,1,1,1,1 -1,0,0,2,0.892694064,0.99086758,1 -2,0,0,2,0.84057971,0.992753623,1 -3,0,0,2,0.971014493,1,1 -4,0,0,2,0.96969697,1,1 -5,0,0,2,0.870056497,0.994350282,1 -6,0,0,2,0.866666667,1,1 -7,0,0,2,0.971014493,1,1 -8,0,0,2,0.931034483,1,1 -1,1,0,2,0.885057471,1,1 -2,1,0,2,0.727272727,1,1 -3,1,0,2,0.971428571,1,1 -4,1,0,2,1,1,1 -5,1,0,2,0.895977809,0.993065187,1 -6,1,0,2,0.885185185,1,1 -7,1,0,2,1,1,1 -8,1,0,2,1,1,1 -1,0,1,2,0.910087719,0.993421053,1 -2,0,1,2,0.88,1,1 -3,0,1,2,0.8,1,1 -4,0,1,2,1,1,1 -5,0,1,2,1,1,1 -6,0,1,2,1,1,1 -7,0,1,2,1,1,1 -8,0,1,2,1,1,1 -1,1,1,2,1,1,1 -2,1,1,2,1,1,1 -3,1,1,2,1,1,1 -4,1,1,2,1,1,1 -5,1,1,2,1,1,1 -6,1,1,2,0.964912281,1,1 -7,1,1,2,1,1,1 -8,1,1,2,0.888888889,1,1 -1,0,0,3,0.935643564,0.997524752,1 -2,0,0,3,0.905660377,1,1 -3,0,0,3,0.978813559,1,1 -4,0,0,3,0.928571429,1,1 -5,0,0,3,0.901515152,0.992424242,1 -6,0,0,3,0.863636364,1,1 -7,0,0,3,0.947368421,1,1 -8,0,0,3,0.913043478,1,1 -1,1,0,3,0.893333333,0.986666667,1 -2,1,0,3,1,1,1 -3,1,0,3,1,1,1 -4,1,0,3,0.857142857,1,1 -5,1,0,3,0.916071429,0.996428571,1 -6,1,0,3,0.856382979,0.984042553,1 -7,1,0,3,1,1,1 -8,1,0,3,1,1,1 -1,0,1,3,0.916201117,0.991620112,1 -2,0,1,3,0.912280702,0.98245614,1 -3,0,1,3,1,1,1 -4,0,1,3,1,1,1 -5,0,1,3,1,1,1 -6,0,1,3,0.833333333,1,1 -7,0,1,3,0.961538462,1,1 -8,0,1,3,1,1,1 -1,1,1,3,0.97826087,0.989130435,1 -2,1,1,3,0.97260274,1,1 -3,1,1,3,1,1,1 -4,1,1,3,1,1,1 -5,1,1,3,0.995762712,1,1 -6,1,1,3,0.921568627,0.980392157,1 -7,1,1,3,1,1,1 -8,1,1,3,1,1,1 -1,0,0,4,0.9218107,0.995884774,1 -2,0,0,4,0.900900901,1,1 -3,0,0,4,0.997354497,1,1 -4,0,0,4,0.991176471,1,1 -5,0,0,4,0.921568627,0.980392157,1 -6,0,0,4,0.954545455,1,1 -7,0,0,4,1,1,1 -8,0,0,4,0.954545455,1,1 -1,1,0,4,0.941176471,0.970588235,1 -2,1,0,4,0.925925926,1,1 -3,1,0,4,1,1,1 -4,1,0,4,0.875,1,1 -5,1,0,4,0.915322581,1,1 -6,1,0,4,0.947674419,0.994186047,1 -7,1,0,4,0.666666667,1,1 -8,1,0,4,1,1,1 -1,0,1,4,0.925925926,0.987654321,1 -2,0,1,4,0.903703704,1,1 -3,0,1,4,1,1,1 -4,0,1,4,1,1,1 -5,0,1,4,1,1,1 -6,0,1,4,1,1,1 -7,0,1,4,1,1,1 -8,0,1,4,1,1,1 -1,1,1,4,1,1,1 -2,1,1,4,0.911111111,1,1 -3,1,1,4,1,1,1 -4,1,1,4,1,1,1 -5,1,1,4,1,1,1 -6,1,1,4,0.962962963,1,1 -7,1,1,4,1,1,1 -8,1,1,4,1,1,1 -1,0,0,5,0.976744186,1,1 -2,0,0,5,0.981818182,1,1 -3,0,0,5,0.985915493,1,1 -4,0,0,5,1,1,1 -5,0,0,5,1,1,1 -6,0,0,5,1,1,1 -7,0,0,5,1,1,1 -8,0,0,5,0.875,1,1 -1,1,0,5,1,1,1 -2,1,0,5,1,1,1 -3,1,0,5,0.964285714,1,1 -4,1,0,5,1,1,1 -5,1,0,5,0.985714286,1,1 -6,1,0,5,0.951807229,1,1 -7,1,0,5,1,1,1 -8,1,0,5,1,1,1 -1,0,1,5,0.926605505,1,1 -2,0,1,5,0.941176471,1,1 -3,0,1,5,1,1,1 -4,0,1,5,1,1,1 -5,0,1,5,1,1,1 -6,0,1,5,1,1,1 -7,0,1,5,1,1,1 -8,0,1,5,1,1,1 -1,1,1,5,1,1,1 -2,1,1,5,1,1,1 -3,1,1,5,0.972972973,1,1 -4,1,1,5,1,1,1 -5,1,1,5,1,1,1 -6,1,1,5,0.933333333,1,1 -7,1,1,5,1,1,1 -8,1,1,5,1,1,1 -1,0,0,6,0.93837535,0.988795518,1 -2,0,0,6,0.888888889,1,1 -3,0,0,6,0.966832504,0.998341625,1 -4,0,0,6,0.942028986,1,1 -5,0,0,6,0.88034188,1,1 -6,0,0,6,0.925925926,1,1 -7,0,0,6,0.967741935,1,1 -8,0,0,6,0.90625,1,1 -1,1,0,6,0.85915493,1,1 -2,1,0,6,0.818181818,0.96969697,1 -3,1,0,6,1,1,1 -4,1,0,6,0.952380952,1,1 -5,1,0,6,0.879237288,0.997881356,1 -6,1,0,6,0.862944162,0.984771574,1 -7,1,0,6,0.9,1,1 -8,1,0,6,1,1,1 -1,0,1,6,0.927835052,0.996563574,1 -2,0,1,6,0.859375,0.9921875,1 -3,0,1,6,1,1,1 -4,0,1,6,1,1,1 -5,0,1,6,0.92,1,1 -6,0,1,6,1,1,1 -7,0,1,6,0.904761905,1,1 -8,0,1,6,1,1,1 -1,1,1,6,0.982758621,1,1 -2,1,1,6,0.927710843,0.987951807,1 -3,1,1,6,0.982954545,1,1 -4,1,1,6,0.938679245,1,1 -5,1,1,6,1,1,1 -6,1,1,6,0.9375,1,1 -7,1,1,6,1,1,1 -8,1,1,6,1,1,1 +ptype,has_mandatory_tour,has_joint_tour,nonmandatory_tour_type,0_tours,1_tours,2_tours +1,0,0,1,0.829545455,1,1 +2,0,0,1,0.769230769,1,1 +3,0,0,1,0.893939394,1,1 +4,0,0,1,0.75,1,1 +5,0,0,1,0.842105263,1,1 +6,0,0,1,0.714285714,1,1 +7,0,0,1,0.814814815,1,1 +8,0,0,1,0.75,1,1 +1,1,0,1,0.789473684,1,1 +2,1,0,1,0.6,1,1 +3,1,0,1,1,1,1 +4,1,0,1,1,1,1 +5,1,0,1,0.825910931,1,1 +6,1,0,1,0.837209302,1,1 +7,1,0,1,0.6,1,1 +8,1,0,1,1,1,1 +1,0,1,1,0.842105263,1,1 +2,0,1,1,1,1,1 +3,0,1,1,1,1,1 +4,0,1,1,1,1,1 +5,0,1,1,1,1,1 +6,0,1,1,1,1,1 +7,0,1,1,1,1,1 +8,0,1,1,1,1,1 +1,1,1,1,1,1,1 +2,1,1,1,1,1,1 +3,1,1,1,1,1,1 +4,1,1,1,1,1,1 +5,1,1,1,0.777777778,1,1 +6,1,1,1,1,1,1 +7,1,1,1,1,1,1 +8,1,1,1,1,1,1 +1,0,0,2,0.892694064,0.99086758,1 +2,0,0,2,0.84057971,0.992753623,1 +3,0,0,2,0.971014493,1,1 +4,0,0,2,0.96969697,1,1 +5,0,0,2,0.870056497,0.994350282,1 +6,0,0,2,0.866666667,1,1 +7,0,0,2,0.971014493,1,1 +8,0,0,2,0.931034483,1,1 +1,1,0,2,0.885057471,1,1 +2,1,0,2,0.727272727,1,1 +3,1,0,2,0.971428571,1,1 +4,1,0,2,1,1,1 +5,1,0,2,0.895977809,0.993065187,1 +6,1,0,2,0.885185185,1,1 +7,1,0,2,1,1,1 +8,1,0,2,1,1,1 +1,0,1,2,0.910087719,0.993421053,1 +2,0,1,2,0.88,1,1 +3,0,1,2,0.8,1,1 +4,0,1,2,1,1,1 +5,0,1,2,1,1,1 +6,0,1,2,1,1,1 +7,0,1,2,1,1,1 +8,0,1,2,1,1,1 +1,1,1,2,1,1,1 +2,1,1,2,1,1,1 +3,1,1,2,1,1,1 +4,1,1,2,1,1,1 +5,1,1,2,1,1,1 +6,1,1,2,0.964912281,1,1 +7,1,1,2,1,1,1 +8,1,1,2,0.888888889,1,1 +1,0,0,3,0.935643564,0.997524752,1 +2,0,0,3,0.905660377,1,1 +3,0,0,3,0.978813559,1,1 +4,0,0,3,0.928571429,1,1 +5,0,0,3,0.901515152,0.992424242,1 +6,0,0,3,0.863636364,1,1 +7,0,0,3,0.947368421,1,1 +8,0,0,3,0.913043478,1,1 +1,1,0,3,0.893333333,0.986666667,1 +2,1,0,3,1,1,1 +3,1,0,3,1,1,1 +4,1,0,3,0.857142857,1,1 +5,1,0,3,0.916071429,0.996428571,1 +6,1,0,3,0.856382979,0.984042553,1 +7,1,0,3,1,1,1 +8,1,0,3,1,1,1 +1,0,1,3,0.916201117,0.991620112,1 +2,0,1,3,0.912280702,0.98245614,1 +3,0,1,3,1,1,1 +4,0,1,3,1,1,1 +5,0,1,3,1,1,1 +6,0,1,3,0.833333333,1,1 +7,0,1,3,0.961538462,1,1 +8,0,1,3,1,1,1 +1,1,1,3,0.97826087,0.989130435,1 +2,1,1,3,0.97260274,1,1 +3,1,1,3,1,1,1 +4,1,1,3,1,1,1 +5,1,1,3,0.995762712,1,1 +6,1,1,3,0.921568627,0.980392157,1 +7,1,1,3,1,1,1 +8,1,1,3,1,1,1 +1,0,0,4,0.9218107,0.995884774,1 +2,0,0,4,0.900900901,1,1 +3,0,0,4,0.997354497,1,1 +4,0,0,4,0.991176471,1,1 +5,0,0,4,0.921568627,0.980392157,1 +6,0,0,4,0.954545455,1,1 +7,0,0,4,1,1,1 +8,0,0,4,0.954545455,1,1 +1,1,0,4,0.941176471,0.970588235,1 +2,1,0,4,0.925925926,1,1 +3,1,0,4,1,1,1 +4,1,0,4,0.875,1,1 +5,1,0,4,0.915322581,1,1 +6,1,0,4,0.947674419,0.994186047,1 +7,1,0,4,0.666666667,1,1 +8,1,0,4,1,1,1 +1,0,1,4,0.925925926,0.987654321,1 +2,0,1,4,0.903703704,1,1 +3,0,1,4,1,1,1 +4,0,1,4,1,1,1 +5,0,1,4,1,1,1 +6,0,1,4,1,1,1 +7,0,1,4,1,1,1 +8,0,1,4,1,1,1 +1,1,1,4,1,1,1 +2,1,1,4,0.911111111,1,1 +3,1,1,4,1,1,1 +4,1,1,4,1,1,1 +5,1,1,4,1,1,1 +6,1,1,4,0.962962963,1,1 +7,1,1,4,1,1,1 +8,1,1,4,1,1,1 +1,0,0,5,0.976744186,1,1 +2,0,0,5,0.981818182,1,1 +3,0,0,5,0.985915493,1,1 +4,0,0,5,1,1,1 +5,0,0,5,1,1,1 +6,0,0,5,1,1,1 +7,0,0,5,1,1,1 +8,0,0,5,0.875,1,1 +1,1,0,5,1,1,1 +2,1,0,5,1,1,1 +3,1,0,5,0.964285714,1,1 +4,1,0,5,1,1,1 +5,1,0,5,0.985714286,1,1 +6,1,0,5,0.951807229,1,1 +7,1,0,5,1,1,1 +8,1,0,5,1,1,1 +1,0,1,5,0.926605505,1,1 +2,0,1,5,0.941176471,1,1 +3,0,1,5,1,1,1 +4,0,1,5,1,1,1 +5,0,1,5,1,1,1 +6,0,1,5,1,1,1 +7,0,1,5,1,1,1 +8,0,1,5,1,1,1 +1,1,1,5,1,1,1 +2,1,1,5,1,1,1 +3,1,1,5,0.972972973,1,1 +4,1,1,5,1,1,1 +5,1,1,5,1,1,1 +6,1,1,5,0.933333333,1,1 +7,1,1,5,1,1,1 +8,1,1,5,1,1,1 +1,0,0,6,0.93837535,0.988795518,1 +2,0,0,6,0.888888889,1,1 +3,0,0,6,0.966832504,0.998341625,1 +4,0,0,6,0.942028986,1,1 +5,0,0,6,0.88034188,1,1 +6,0,0,6,0.925925926,1,1 +7,0,0,6,0.967741935,1,1 +8,0,0,6,0.90625,1,1 +1,1,0,6,0.85915493,1,1 +2,1,0,6,0.818181818,0.96969697,1 +3,1,0,6,1,1,1 +4,1,0,6,0.952380952,1,1 +5,1,0,6,0.879237288,0.997881356,1 +6,1,0,6,0.862944162,0.984771574,1 +7,1,0,6,0.9,1,1 +8,1,0,6,1,1,1 +1,0,1,6,0.927835052,0.996563574,1 +2,0,1,6,0.859375,0.9921875,1 +3,0,1,6,1,1,1 +4,0,1,6,1,1,1 +5,0,1,6,0.92,1,1 +6,0,1,6,1,1,1 +7,0,1,6,0.904761905,1,1 +8,0,1,6,1,1,1 +1,1,1,6,0.982758621,1,1 +2,1,1,6,0.927710843,0.987951807,1 +3,1,1,6,0.982954545,1,1 +4,1,1,6,0.938679245,1,1 +5,1,1,6,1,1,1 +6,1,1,6,0.9375,1,1 +7,1,1,6,1,1,1 +8,1,1,6,1,1,1 diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_scheduling.yaml rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_scheduling.yaml diff --git a/activitysim/examples/example_arc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_arc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/parking_location_choice.csv b/activitysim/examples/prototype_arc/configs/parking_location_choice.csv similarity index 100% rename from activitysim/examples/example_arc/configs/parking_location_choice.csv rename to activitysim/examples/prototype_arc/configs/parking_location_choice.csv diff --git a/activitysim/examples/example_arc/configs/parking_location_choice.yaml b/activitysim/examples/prototype_arc/configs/parking_location_choice.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/parking_location_choice.yaml rename to activitysim/examples/prototype_arc/configs/parking_location_choice.yaml diff --git a/activitysim/examples/example_arc/configs/parking_location_choice_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_arc/configs/parking_location_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/parking_location_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/parking_location_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/parking_location_choice_coeffs.csv b/activitysim/examples/prototype_arc/configs/parking_location_choice_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/parking_location_choice_coeffs.csv rename to activitysim/examples/prototype_arc/configs/parking_location_choice_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/school_location.csv b/activitysim/examples/prototype_arc/configs/school_location.csv similarity index 100% rename from activitysim/examples/example_arc/configs/school_location.csv rename to activitysim/examples/prototype_arc/configs/school_location.csv diff --git a/activitysim/examples/example_arc/configs/school_location.yaml b/activitysim/examples/prototype_arc/configs/school_location.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/school_location.yaml rename to activitysim/examples/prototype_arc/configs/school_location.yaml diff --git a/activitysim/examples/example_arc/configs/school_location_coeffs.csv b/activitysim/examples/prototype_arc/configs/school_location_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/school_location_coeffs.csv rename to activitysim/examples/prototype_arc/configs/school_location_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/school_location_sample.csv b/activitysim/examples/prototype_arc/configs/school_location_sample.csv similarity index 98% rename from activitysim/examples/example_arc/configs/school_location_sample.csv rename to activitysim/examples/prototype_arc/configs/school_location_sample.csv index 8527304458..601d61bae1 100644 --- a/activitysim/examples/example_arc/configs/school_location_sample.csv +++ b/activitysim/examples/prototype_arc/configs/school_location_sample.csv @@ -1,4 +1,4 @@ -Description,Expression,univ,k12_predrive,k12_drive -Distance,"@skims[('SOV_FREE_DISTANCE', 'MD')]",-0.2,-0.2,-0.2 -Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999 +Description,Expression,univ,k12_predrive,k12_drive +Distance,"@skims[('SOV_FREE_DISTANCE', 'MD')]",-0.2,-0.2,-0.2 +Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999 diff --git a/activitysim/examples/example_arc/configs/settings.yaml b/activitysim/examples/prototype_arc/configs/settings.yaml similarity index 89% rename from activitysim/examples/example_arc/configs/settings.yaml rename to activitysim/examples/prototype_arc/configs/settings.yaml index 50baa7fb14..5dea2f6337 100644 --- a/activitysim/examples/example_arc/configs/settings.yaml +++ b/activitysim/examples/prototype_arc/configs/settings.yaml @@ -10,17 +10,11 @@ input_table_list: np: hhsize nwrkrs_esr: num_workers keep_columns: - #- household_id - home_zone_id - hhsize - num_workers - hincp - #- hhincAdj - #- adjinc - #- veh - hht - #- bld - #- type - tablename: persons filename: persons.csv # The index column is set before keep_columns, @@ -30,56 +24,35 @@ input_table_list: maz: home_zone_id sporder: PNUM keep_columns: - #- person_id - household_id - home_zone_id - PNUM - agep - #- employed - pecasOcc - sex - esr - wkw - wkhp - #-mil - schg - #-schl - #-indp02 - #-indp07 - #-occp02 - #-occp10 - #-n - tablename: land_use filename: land_use.csv # The index column is set before keep_columns, # so don't put index in keep columns index_col: zone_id -# rename_columns: -# keep_columns: - #- TAZ -# - construc -# - manufac -# - TCU -# - wholesl - retail -# - FIRE - service -# - private -# - govt - emp - pop - hshld - univ - acres -# - otherEmp -# - district - PARKTOT - PARKLNG - PROPFREE - PARKRATE - areatype -# - county + - county - CBDFlag - N11 - N21 diff --git a/activitysim/examples/example_arc/configs/settings_mp.yaml b/activitysim/examples/prototype_arc/configs/settings_mp.yaml similarity index 82% rename from activitysim/examples/example_arc/configs/settings_mp.yaml rename to activitysim/examples/prototype_arc/configs/settings_mp.yaml index f5e658a103..103c07bbb6 100644 --- a/activitysim/examples/example_arc/configs/settings_mp.yaml +++ b/activitysim/examples/prototype_arc/configs/settings_mp.yaml @@ -6,80 +6,53 @@ input_table_list: # so don't put index in keep columns index_col: household_id rename_columns: - maz: zone_id + maz: home_zone_id np: hhsize nwrkrs_esr: num_workers keep_columns: - #- household_id - - zone_id + - home_zone_id - hhsize - num_workers - hincp - #- hhincAdj - #- adjinc - #- veh - hht - #- bld - #- type - tablename: persons filename: persons.csv # The index column is set before keep_columns, # so don't put index in keep columns index_col: person_id rename_columns: - maz: zone_id + maz: home_zone_id sporder: PNUM keep_columns: - #- person_id - household_id - - zone_id + - home_zone_id - PNUM - agep - #- employed - pecasOcc - sex - esr - wkw - wkhp - #-mil - schg - #-schl - #-indp02 - #-indp07 - #-occp02 - #-occp10 - #-n - tablename: land_use filename: land_use.csv # The index column is set before keep_columns, # so don't put index in keep columns index_col: zone_id -# rename_columns: -# keep_columns: - #- TAZ -# - construc -# - manufac -# - TCU -# - wholesl - retail -# - FIRE - service -# - private -# - govt - emp - pop - hshld - univ - acres -# - otherEmp -# - district - PARKTOT - PARKLNG - PROPFREE - PARKRATE - areatype -# - county + - county - CBDFlag - N11 - N21 @@ -108,10 +81,11 @@ input_table_list: - I_PCT20TO40 - I_PCTGT40 - RetailEmp30 + - PARKING_ZONE #input data store and skims #input_store: arc_asim.h5 -skims_file: skims.omx +#skims_file: skims.omx # - shadow pricing global switches @@ -164,7 +138,7 @@ models: # - track_skim_usage # - write_trip_matrices - write_tables - + #resume_after: trip_mode_choice multiprocess: True @@ -188,7 +162,7 @@ multiprocess_steps: - persons - name: mp_summarize begin: write_tables - + output_tables: h5_store: False action: include @@ -202,25 +176,25 @@ output_tables: - tours - trips - joint_tour_participants - -skim_time_periods: - period_minutes: 30 - periods: - - 0 - - 6 - - 12 - - 20 - - 30 - - 38 - - 48 - labels: - - EV - - EA - - AM - - MD - - PM - - EV + +#skim_time_periods: +# period_minutes: 30 +# periods: +# - 0 +# - 6 +# - 12 +# - 20 +# - 30 +# - 38 +# - 48 +# labels: +# - EV +# - EA +# - AM +# - MD +# - PM +# - EV min_value_of_time: 1 max_value_of_time: 50 diff --git a/activitysim/examples/example_arc/configs/shadow_pricing.yaml b/activitysim/examples/prototype_arc/configs/shadow_pricing.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/shadow_pricing.yaml rename to activitysim/examples/prototype_arc/configs/shadow_pricing.yaml diff --git a/activitysim/examples/example_arc/configs/stop_frequency.yaml b/activitysim/examples/prototype_arc/configs/stop_frequency.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency.yaml rename to activitysim/examples/prototype_arc/configs/stop_frequency.yaml diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_alternatives.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_alternatives.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_alternatives.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_alternatives.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_annotate_tours_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_annotate_tours_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_atwork.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_atwork.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_atwork.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_atwork.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_eatout.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_eatout.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_eatout.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_eatout.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_escort.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_escort.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_escort.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_escort.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_othdiscr.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_othdiscr.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_othdiscr.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_othdiscr.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_othmaint.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_othmaint.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_othmaint.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_othmaint.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_school.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_school.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_school.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_school.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_shopping.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_shopping.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_shopping.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_shopping.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_social.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_social.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_social.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_social.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_univ.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_univ.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_univ.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_univ.csv diff --git a/activitysim/examples/example_arc/configs/stop_frequency_work.csv b/activitysim/examples/prototype_arc/configs/stop_frequency_work.csv similarity index 100% rename from activitysim/examples/example_arc/configs/stop_frequency_work.csv rename to activitysim/examples/prototype_arc/configs/stop_frequency_work.csv diff --git a/activitysim/examples/example_arc/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/prototype_arc/configs/tour_departure_and_duration_alternatives.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_departure_and_duration_alternatives.csv rename to activitysim/examples/prototype_arc/configs/tour_departure_and_duration_alternatives.csv diff --git a/activitysim/examples/example_arc/configs/tour_mode_choice.csv b/activitysim/examples/prototype_arc/configs/tour_mode_choice.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_mode_choice.csv rename to activitysim/examples/prototype_arc/configs/tour_mode_choice.csv diff --git a/activitysim/examples/example_arc/configs/tour_mode_choice.yaml b/activitysim/examples/prototype_arc/configs/tour_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/tour_mode_choice.yaml rename to activitysim/examples/prototype_arc/configs/tour_mode_choice.yaml diff --git a/activitysim/examples/example_arc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_arc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/tour_mode_choice_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_mode_choice_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_mode_choice_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_mode_choice_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_mode_choice_coeffs_template.csv b/activitysim/examples/prototype_arc/configs/tour_mode_choice_coeffs_template.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_mode_choice_coeffs_template.csv rename to activitysim/examples/prototype_arc/configs/tour_mode_choice_coeffs_template.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_atwork.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_atwork.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_atwork.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_atwork.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_atwork.yaml b/activitysim/examples/prototype_arc/configs/tour_scheduling_atwork.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_atwork.yaml rename to activitysim/examples/prototype_arc/configs/tour_scheduling_atwork.yaml diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_atwork_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_atwork_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_atwork_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_atwork_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_atwork_preprocessor.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_atwork_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_atwork_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_atwork_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_joint.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_joint.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_joint.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_joint.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_joint_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_joint_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_joint_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_joint_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_nonmandatory.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_nonmandatory.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_nonmandatory.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_nonmandatory.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_nonmandatory_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_nonmandatory_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_nonmandatory_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_nonmandatory_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_school.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_school.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_school.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_school.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_school_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_school_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_school_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_school_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_university.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_university.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_university.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_university.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_university_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_university_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_university_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_university_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_work.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_work.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_work.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_work.csv diff --git a/activitysim/examples/example_arc/configs/tour_scheduling_work_coeffs.csv b/activitysim/examples/prototype_arc/configs/tour_scheduling_work_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/tour_scheduling_work_coeffs.csv rename to activitysim/examples/prototype_arc/configs/tour_scheduling_work_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/trip_departure_choice.csv b/activitysim/examples/prototype_arc/configs/trip_departure_choice.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_departure_choice.csv rename to activitysim/examples/prototype_arc/configs/trip_departure_choice.csv diff --git a/activitysim/examples/example_arc/configs/trip_departure_choice.yaml b/activitysim/examples/prototype_arc/configs/trip_departure_choice.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/trip_departure_choice.yaml rename to activitysim/examples/prototype_arc/configs/trip_departure_choice.yaml diff --git a/activitysim/examples/example_arc/configs/trip_departure_choice_preprocessor.csv b/activitysim/examples/prototype_arc/configs/trip_departure_choice_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_departure_choice_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/trip_departure_choice_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/trip_departure_sample_patterns.csv b/activitysim/examples/prototype_arc/configs/trip_departure_sample_patterns.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_departure_sample_patterns.csv rename to activitysim/examples/prototype_arc/configs/trip_departure_sample_patterns.csv diff --git a/activitysim/examples/example_arc/configs/trip_destination.csv b/activitysim/examples/prototype_arc/configs/trip_destination.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_destination.csv rename to activitysim/examples/prototype_arc/configs/trip_destination.csv diff --git a/activitysim/examples/example_arc/configs/trip_destination.yaml b/activitysim/examples/prototype_arc/configs/trip_destination.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/trip_destination.yaml rename to activitysim/examples/prototype_arc/configs/trip_destination.yaml diff --git a/activitysim/examples/example_arc/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_arc/configs/trip_destination_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_destination_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/trip_destination_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/trip_destination_sample.csv b/activitysim/examples/prototype_arc/configs/trip_destination_sample.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_destination_sample.csv rename to activitysim/examples/prototype_arc/configs/trip_destination_sample.csv diff --git a/activitysim/examples/example_arc/configs/trip_mode_choice.csv b/activitysim/examples/prototype_arc/configs/trip_mode_choice.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_mode_choice.csv rename to activitysim/examples/prototype_arc/configs/trip_mode_choice.csv diff --git a/activitysim/examples/example_arc/configs/trip_mode_choice.yaml b/activitysim/examples/prototype_arc/configs/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/trip_mode_choice.yaml rename to activitysim/examples/prototype_arc/configs/trip_mode_choice.yaml diff --git a/activitysim/examples/example_arc/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_arc/configs/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/trip_mode_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/trip_mode_choice_coeffs.csv b/activitysim/examples/prototype_arc/configs/trip_mode_choice_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_mode_choice_coeffs.csv rename to activitysim/examples/prototype_arc/configs/trip_mode_choice_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/trip_purpose.yaml b/activitysim/examples/prototype_arc/configs/trip_purpose.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/trip_purpose.yaml rename to activitysim/examples/prototype_arc/configs/trip_purpose.yaml diff --git a/activitysim/examples/example_mtc/configs/trip_purpose_and_destination.yaml b/activitysim/examples/prototype_arc/configs/trip_purpose_and_destination.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_purpose_and_destination.yaml rename to activitysim/examples/prototype_arc/configs/trip_purpose_and_destination.yaml diff --git a/activitysim/examples/example_mtc/configs/trip_purpose_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_arc/configs/trip_purpose_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_purpose_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/trip_purpose_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/trip_purpose_probs.csv b/activitysim/examples/prototype_arc/configs/trip_purpose_probs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_purpose_probs.csv rename to activitysim/examples/prototype_arc/configs/trip_purpose_probs.csv diff --git a/activitysim/examples/example_arc/configs/trip_scheduling_choice.csv b/activitysim/examples/prototype_arc/configs/trip_scheduling_choice.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_scheduling_choice.csv rename to activitysim/examples/prototype_arc/configs/trip_scheduling_choice.csv diff --git a/activitysim/examples/example_arc/configs/trip_scheduling_choice.yaml b/activitysim/examples/prototype_arc/configs/trip_scheduling_choice.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/trip_scheduling_choice.yaml rename to activitysim/examples/prototype_arc/configs/trip_scheduling_choice.yaml diff --git a/activitysim/examples/example_arc/configs/trip_scheduling_choice_preprocessor.csv b/activitysim/examples/prototype_arc/configs/trip_scheduling_choice_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/trip_scheduling_choice_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/trip_scheduling_choice_preprocessor.csv diff --git a/activitysim/examples/example_arc/configs/workplace_location.csv b/activitysim/examples/prototype_arc/configs/workplace_location.csv similarity index 100% rename from activitysim/examples/example_arc/configs/workplace_location.csv rename to activitysim/examples/prototype_arc/configs/workplace_location.csv diff --git a/activitysim/examples/example_arc/configs/workplace_location.yaml b/activitysim/examples/prototype_arc/configs/workplace_location.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/workplace_location.yaml rename to activitysim/examples/prototype_arc/configs/workplace_location.yaml diff --git a/activitysim/examples/example_arc/configs/workplace_location_coeffs.csv b/activitysim/examples/prototype_arc/configs/workplace_location_coeffs.csv similarity index 100% rename from activitysim/examples/example_arc/configs/workplace_location_coeffs.csv rename to activitysim/examples/prototype_arc/configs/workplace_location_coeffs.csv diff --git a/activitysim/examples/example_arc/configs/workplace_location_sample.csv b/activitysim/examples/prototype_arc/configs/workplace_location_sample.csv similarity index 100% rename from activitysim/examples/example_arc/configs/workplace_location_sample.csv rename to activitysim/examples/prototype_arc/configs/workplace_location_sample.csv diff --git a/activitysim/examples/example_arc/configs/write_trip_matrices.yaml b/activitysim/examples/prototype_arc/configs/write_trip_matrices.yaml similarity index 100% rename from activitysim/examples/example_arc/configs/write_trip_matrices.yaml rename to activitysim/examples/prototype_arc/configs/write_trip_matrices.yaml diff --git a/activitysim/examples/example_arc/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_arc/configs/write_trip_matrices_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_arc/configs/write_trip_matrices_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_arc/configs/write_trip_matrices_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_arc/data/households.csv b/activitysim/examples/prototype_arc/data/households.csv similarity index 100% rename from activitysim/examples/example_arc/data/households.csv rename to activitysim/examples/prototype_arc/data/households.csv diff --git a/activitysim/examples/example_arc/data/land_use.csv b/activitysim/examples/prototype_arc/data/land_use.csv similarity index 100% rename from activitysim/examples/example_arc/data/land_use.csv rename to activitysim/examples/prototype_arc/data/land_use.csv diff --git a/activitysim/examples/example_arc/data/persons.csv b/activitysim/examples/prototype_arc/data/persons.csv similarity index 100% rename from activitysim/examples/example_arc/data/persons.csv rename to activitysim/examples/prototype_arc/data/persons.csv diff --git a/activitysim/examples/example_arc/data/skims.omx b/activitysim/examples/prototype_arc/data/skims.omx similarity index 100% rename from activitysim/examples/example_arc/data/skims.omx rename to activitysim/examples/prototype_arc/data/skims.omx diff --git a/activitysim/examples/example_arc/output/.gitignore b/activitysim/examples/prototype_arc/output/.gitignore similarity index 100% rename from activitysim/examples/example_arc/output/.gitignore rename to activitysim/examples/prototype_arc/output/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_mp/cache/.gitignore b/activitysim/examples/prototype_arc/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_mp/cache/.gitignore rename to activitysim/examples/prototype_arc/output/cache/.gitignore diff --git a/activitysim/examples/example_multiple_zone/output_3_mp/trace/.gitignore b/activitysim/examples/prototype_arc/output/log/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/output_3_mp/trace/.gitignore rename to activitysim/examples/prototype_arc/output/log/.gitignore diff --git a/activitysim/examples/example_multiple_zone/test/output/trace/.gitignore b/activitysim/examples/prototype_arc/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/test/output/trace/.gitignore rename to activitysim/examples/prototype_arc/output/trace/.gitignore diff --git a/activitysim/examples/example_arc/scripts/arc_crop.py b/activitysim/examples/prototype_arc/scripts/arc_crop.py similarity index 69% rename from activitysim/examples/example_arc/scripts/arc_crop.py rename to activitysim/examples/prototype_arc/scripts/arc_crop.py index 25bda2edcc..32cfc092da 100644 --- a/activitysim/examples/example_arc/scripts/arc_crop.py +++ b/activitysim/examples/prototype_arc/scripts/arc_crop.py @@ -1,26 +1,34 @@ +import argparse import os -import pandas as pd -import openmatrix as omx -import numpy as np -import argparse +import numpy as np +import openmatrix as omx +import pandas as pd MAZ_OFFSET = 0 segments = { - 'test': (100, 135), # arbitrary but has univ - 'fulton': (0, 1296), - 'full': (0, 5922), + "test": (100, 135), # arbitrary but has univ + "fulton": (0, 1296), + "full": (0, 5922), } -parser = argparse.ArgumentParser(description='crop PSRC raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file') +parser = argparse.ArgumentParser(description="crop PSRC raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ zone_ids and foreign keys & write orphan_households file", +) args = parser.parse_args() @@ -31,8 +39,8 @@ assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" zone_min, zone_max = segments[segment_name] -input_dir = './data_raw' -output_dir = f'./data_{segment_name}' +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}" print(f"check_geography {check_geography}") @@ -51,7 +59,17 @@ def output_path(file_name): def integerize_id_columns(df, table_name): - columns = ['MAZ', 'OMAZ', 'DMAZ', 'TAZ', 'zone_id', 'household_id', 'HHID', 'maz', 'taz'] + columns = [ + "MAZ", + "OMAZ", + "DMAZ", + "TAZ", + "zone_id", + "household_id", + "HHID", + "maz", + "taz", + ] for c in df.columns: if c in columns: print(f"converting {table_name}.{c} to int") @@ -92,9 +110,11 @@ def to_csv(df, file_name): # land_use # land_use = read_csv("land_use.csv") -land_use = land_use[(land_use["zone_id"] >= zone_min) & (land_use["zone_id"] <= zone_max)] -integerize_id_columns(land_use, 'land_use') -land_use = land_use.sort_values('zone_id') +land_use = land_use[ + (land_use["zone_id"] >= zone_min) & (land_use["zone_id"] <= zone_max) +] +integerize_id_columns(land_use, "land_use") +land_use = land_use.sort_values("zone_id") # move index col to front land_use.insert(0, "zone_id", land_use.pop("zone_id")) @@ -106,7 +126,7 @@ def to_csv(df, file_name): # households = read_csv("households.csv") households = households[households["maz"].isin(land_use.zone_id)] -integerize_id_columns(households, 'households') +integerize_id_columns(households, "households") to_csv(households, "households.csv") @@ -115,14 +135,14 @@ def to_csv(df, file_name): # persons = read_csv("persons.csv") persons = persons[persons["household_id"].isin(households.household_id)] -integerize_id_columns(persons, 'persons') +integerize_id_columns(persons, "persons") to_csv(persons, "persons.csv") # # skims # -omx_infile_name = 'skims.omx' +omx_infile_name = "skims.omx" skim_data_type = np.float32 omx_in = omx.open_file(input_path(omx_infile_name)) @@ -130,21 +150,23 @@ def to_csv(df, file_name): assert not omx_in.listMappings() -zone = land_use.sort_values('zone_id')[['zone_id']] +zone = land_use.sort_values("zone_id")[["zone_id"]] zone.index = zone.zone_id - 1 zone_indexes = zone.index.tolist() # index of TAZ in skim (zero-based, no mapping) zone_labels = zone.zone_id.tolist() # TAZ zone_ids in omx index order # create -num_outfiles = 4 if segment_name == 'full' else 1 +num_outfiles = 4 if segment_name == "full" else 1 if num_outfiles == 1: - omx_out = [omx.open_file(output_path(f"skims.omx"), 'w')] + omx_out = [omx.open_file(output_path(f"skims.omx"), "w")] else: - omx_out = [omx.open_file(output_path(f"skims{i+1}.omx"), 'w') for i in range(num_outfiles)] + omx_out = [ + omx.open_file(output_path(f"skims{i+1}.omx"), "w") for i in range(num_outfiles) + ] for omx_file in omx_out: - omx_file.create_mapping('ZONE', zone_labels) + omx_file.create_mapping("ZONE", zone_labels) iskim = 0 for mat_name in omx_in.list_matrices(): diff --git a/activitysim/examples/example_arc/simulation.py b/activitysim/examples/prototype_arc/simulation.py similarity index 91% rename from activitysim/examples/example_arc/simulation.py rename to activitysim/examples/prototype_arc/simulation.py index 93b430001a..e328406328 100644 --- a/activitysim/examples/example_arc/simulation.py +++ b/activitysim/examples/prototype_arc/simulation.py @@ -4,12 +4,12 @@ # ActivitySim # See full license in LICENSE.txt. -import sys import argparse +import sys from activitysim.cli.run import add_run_args, run -if __name__ == '__main__': +if __name__ == "__main__": parser = argparse.ArgumentParser() add_run_args(parser) diff --git a/activitysim/examples/example_arc/test/configs/settings.yaml b/activitysim/examples/prototype_arc/test/configs/settings.yaml similarity index 100% rename from activitysim/examples/example_arc/test/configs/settings.yaml rename to activitysim/examples/prototype_arc/test/configs/settings.yaml diff --git a/activitysim/examples/example_psrc/output/.gitignore b/activitysim/examples/prototype_arc/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/output/.gitignore rename to activitysim/examples/prototype_arc/test/output/.gitignore diff --git a/activitysim/examples/example_multiple_zone/test/output/cache/.gitignore b/activitysim/examples/prototype_arc/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_multiple_zone/test/output/cache/.gitignore rename to activitysim/examples/prototype_arc/test/output/cache/.gitignore diff --git a/activitysim/examples/example_psrc/output/log/.gitignore b/activitysim/examples/prototype_arc/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/output/log/.gitignore rename to activitysim/examples/prototype_arc/test/output/trace/.gitignore diff --git a/activitysim/examples/example_arc/test/regress/final_trips.csv b/activitysim/examples/prototype_arc/test/regress/final_trips.csv similarity index 100% rename from activitysim/examples/example_arc/test/regress/final_trips.csv rename to activitysim/examples/prototype_arc/test/regress/final_trips.csv diff --git a/activitysim/examples/prototype_arc/test/simulation.py b/activitysim/examples/prototype_arc/test/simulation.py new file mode 100755 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/prototype_arc/test/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/example_arc/test/test_arc.py b/activitysim/examples/prototype_arc/test/test_arc.py similarity index 50% rename from activitysim/examples/example_arc/test/test_arc.py rename to activitysim/examples/prototype_arc/test/test_arc.py index e747f632a1..5f0c9baafd 100644 --- a/activitysim/examples/example_arc/test/test_arc.py +++ b/activitysim/examples/prototype_arc/test/test_arc.py @@ -2,10 +2,10 @@ # See full license in LICENSE.txt. import os import subprocess -import pkg_resources import pandas as pd import pandas.testing as pdt +import pkg_resources from activitysim.core import inject @@ -16,33 +16,45 @@ def teardown_function(func): def test_arc(): - def example_path(dirname): - resource = os.path.join('examples', 'example_arc', dirname) - return pkg_resources.resource_filename('activitysim', resource) + resource = os.path.join("examples", "prototype_arc", dirname) + return pkg_resources.resource_filename("activitysim", resource) def test_path(dirname): return os.path.join(os.path.dirname(__file__), dirname) def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_trips.csv')) - final_trips_df = pd.read_csv(test_path('output/final_trips.csv')) + regress_trips_df = pd.read_csv(test_path("regress/final_trips.csv")) + final_trips_df = pd.read_csv(test_path("output/final_trips.csv")) # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum # compare_cols = [] pdt.assert_frame_equal(final_trips_df, regress_trips_df) - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - subprocess.run(['coverage', 'run', '-a', file_path, - '-c', test_path('configs'), '-c', example_path('configs'), - '-d', example_path('data'), - '-o', test_path('output')], check=True) + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + subprocess.run( + [ + "coverage", + "run", + "-a", + file_path, + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ], + check=True, + ) regress() -if __name__ == '__main__': +if __name__ == "__main__": test_arc() diff --git a/activitysim/examples/example_marin/.gitignore b/activitysim/examples/prototype_marin/.gitignore similarity index 100% rename from activitysim/examples/example_marin/.gitignore rename to activitysim/examples/prototype_marin/.gitignore diff --git a/activitysim/examples/example_multiple_zone/README.MD b/activitysim/examples/prototype_marin/README.MD similarity index 55% rename from activitysim/examples/example_multiple_zone/README.MD rename to activitysim/examples/prototype_marin/README.MD index e0b6c252fa..b1fc79f2f4 100644 --- a/activitysim/examples/example_multiple_zone/README.MD +++ b/activitysim/examples/prototype_marin/README.MD @@ -1,4 +1,4 @@ ### Multiple zone system setup examples -See the [examples manifest](https://github.com/ActivitySim/activitysim/blob/master/activitysim/examples/example_manifest.yaml) for more information. +See the [examples manifest](https://github.com/ActivitySim/activitysim/blob/main/activitysim/examples/example_manifest.yaml) for more information. diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_households.csv b/activitysim/examples/prototype_marin/configs/annotate_households.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_households.csv rename to activitysim/examples/prototype_marin/configs/annotate_households.csv diff --git a/activitysim/examples/example_marin/configs/annotate_persons.csv b/activitysim/examples/prototype_marin/configs/annotate_persons.csv similarity index 100% rename from activitysim/examples/example_marin/configs/annotate_persons.csv rename to activitysim/examples/prototype_marin/configs/annotate_persons.csv diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_tours.csv b/activitysim/examples/prototype_marin/configs/annotate_tours.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/annotate_tours.csv rename to activitysim/examples/prototype_marin/configs/annotate_tours.csv diff --git a/activitysim/examples/example_sandag_xborder/configs/constants.yaml b/activitysim/examples/prototype_marin/configs/constants.yaml similarity index 95% rename from activitysim/examples/example_sandag_xborder/configs/constants.yaml rename to activitysim/examples/prototype_marin/configs/constants.yaml index 626a0c415e..6199378b42 100755 --- a/activitysim/examples/example_sandag_xborder/configs/constants.yaml +++ b/activitysim/examples/prototype_marin/configs/constants.yaml @@ -1,64 +1,64 @@ -## ActivitySim -## See full license in LICENSE.txt. - -walk_speed: 3.00 - -#HHT_NONE: 0 -#HHT_FAMILY_MARRIED: 1 -#HHT_FAMILY_MALE: 2 -#HHT_FAMILY_FEMALE: 3 -#HHT_NONFAMILY_MALE_ALONE: 4 -#HHT_NONFAMILY_MALE_NOTALONE: 5 -#HHT_NONFAMILY_FEMALE_ALONE: 6 -#HHT_NONFAMILY_FEMALE_NOTALONE: 7 - -# convenience for expression files -HHT_NONFAMILY: [4, 5, 6, 7] -HHT_FAMILY: [1, 2, 3] - -PSTUDENT_GRADE_OR_HIGH: 1 -PSTUDENT_UNIVERSITY: 2 -PSTUDENT_NOT: 3 - -GRADE_SCHOOL_MAX_AGE: 14 -GRADE_SCHOOL_MIN_AGE: 5 - -SCHOOL_SEGMENT_NONE: 0 -SCHOOL_SEGMENT_GRADE: 1 -SCHOOL_SEGMENT_HIGH: 2 -SCHOOL_SEGMENT_UNIV: 3 - -#INCOME_SEGMENT_LOW: 1 -#INCOME_SEGMENT_MED: 2 -#INCOME_SEGMENT_HIGH: 3 -#INCOME_SEGMENT_VERYHIGH: 4 - -PEMPLOY_FULL: 1 -PEMPLOY_PART: 2 -PEMPLOY_NOT: 3 -PEMPLOY_CHILD: 4 - -PTYPE_FULL: &ptype_full 1 -PTYPE_PART: &ptype_part 2 -PTYPE_UNIVERSITY: &ptype_university 3 -PTYPE_NONWORK: &ptype_nonwork 4 -PTYPE_RETIRED: &ptype_retired 5 -PTYPE_DRIVING: &ptype_driving 6 -PTYPE_SCHOOL: &ptype_school 7 -PTYPE_PRESCHOOL: &ptype_preschool 8 - -# these appear as column headers in non_mandatory_tour_frequency.csv -PTYPE_NAME: - *ptype_full: PTYPE_FULL - *ptype_part: PTYPE_PART - *ptype_university: PTYPE_UNIVERSITY - *ptype_nonwork: PTYPE_NONWORK - *ptype_retired: PTYPE_RETIRED - *ptype_driving: PTYPE_DRIVING - *ptype_school: PTYPE_SCHOOL - *ptype_preschool: PTYPE_PRESCHOOL - - -CDAP_ACTIVITY_MANDATORY: M -CDAP_ACTIVITY_NONMANDATORY: N -CDAP_ACTIVITY_HOME: H +## ActivitySim +## See full license in LICENSE.txt. + +walk_speed: 3.00 + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +#INCOME_SEGMENT_LOW: 1 +#INCOME_SEGMENT_MED: 2 +#INCOME_SEGMENT_HIGH: 3 +#INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H diff --git a/activitysim/examples/example_psrc/configs/destination_choice_size_terms.csv b/activitysim/examples/prototype_marin/configs/destination_choice_size_terms.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/destination_choice_size_terms.csv rename to activitysim/examples/prototype_marin/configs/destination_choice_size_terms.csv index 8c72d2a78f..7f70421e85 --- a/activitysim/examples/example_psrc/configs/destination_choice_size_terms.csv +++ b/activitysim/examples/prototype_marin/configs/destination_choice_size_terms.csv @@ -1,28 +1,28 @@ -model_selector,segment,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE -workplace,work_low,0,0.129,0.193,0.383,0.12,0.01,0.164,0,0,0,0 -workplace,work_med,0,0.12,0.197,0.325,0.139,0.008,0.21,0,0,0,0 -workplace,work_high,0,0.11,0.207,0.284,0.154,0.006,0.239,0,0,0,0 -workplace,work_veryhigh,0,0.093,0.27,0.241,0.146,0.004,0.246,0,0,0,0 -school,university,0,0,0,0,0,0,0,0,0,0.592,0.408 -school,gradeschool,0,0,0,0,0,0,0,1,0,0,0 -school,highschool,0,0,0,0,0,0,0,0,1,0,0 -non_mandatory,escort,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -#non_mandatory,escort_kids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -#non_mandatory,escort_nokids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -non_mandatory,shopping,0,1,0,0,0,0,0,0,0,0,0 -non_mandatory,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 -non_mandatory,othmaint,0,0.482,0,0.518,0,0,0,0,0,0,0 -non_mandatory,social,0,0.522,0,0.478,0,0,0,0,0,0,0 -non_mandatory,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 -atwork,atwork,0,0.742,0,0.258,0,0,0,0,0,0,0 -trip,work,0,1,1,1,1,1,1,0,0,0,0 -trip,escort,0.001,0.225,0,0.144,0,0,0,0.464,0.166,0,0 -trip,shopping,0.001,0.999,0,0,0,0,0,0,0,0,0 -trip,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 -trip,othmaint,0.001,0.481,0,0.518,0,0,0,0,0,0,0 -trip,social,0.001,0.521,0,0.478,0,0,0,0,0,0,0 -trip,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 -trip,univ,0.001,0,0,0,0,0,0,0,0,0.592,0.408 -# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,,, -#trip,gradeschool,0,0,0,0,0,0,0,1,0,0,0 -#trip,highschool,0,0,0,0,0,0,0,0,1,0,0 +model_selector,segment,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE +workplace,work_low,0,0.129,0.193,0.383,0.12,0.01,0.164,0,0,0,0 +workplace,work_med,0,0.12,0.197,0.325,0.139,0.008,0.21,0,0,0,0 +workplace,work_high,0,0.11,0.207,0.284,0.154,0.006,0.239,0,0,0,0 +workplace,work_veryhigh,0,0.093,0.27,0.241,0.146,0.004,0.246,0,0,0,0 +school,university,0,0,0,0,0,0,0,0,0,0.592,0.408 +school,gradeschool,0,0,0,0,0,0,0,1,0,0,0 +school,highschool,0,0,0,0,0,0,0,0,1,0,0 +non_mandatory,escort,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +#non_mandatory,escort_kids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +#non_mandatory,escort_nokids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +non_mandatory,shopping,0,1,0,0,0,0,0,0,0,0,0 +non_mandatory,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 +non_mandatory,othmaint,0,0.482,0,0.518,0,0,0,0,0,0,0 +non_mandatory,social,0,0.522,0,0.478,0,0,0,0,0,0,0 +non_mandatory,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 +atwork,atwork,0,0.742,0,0.258,0,0,0,0,0,0,0 +trip,work,0,1,1,1,1,1,1,0,0,0,0 +trip,escort,0.001,0.225,0,0.144,0,0,0,0.464,0.166,0,0 +trip,shopping,0.001,0.999,0,0,0,0,0,0,0,0,0 +trip,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 +trip,othmaint,0.001,0.481,0,0.518,0,0,0,0,0,0,0 +trip,social,0.001,0.521,0,0.478,0,0,0,0,0,0,0 +trip,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 +trip,univ,0.001,0,0,0,0,0,0,0,0,0.592,0.408 +# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,,, +#trip,gradeschool,0,0,0,0,0,0,0,1,0,0,0 +#trip,highschool,0,0,0,0,0,0,0,0,1,0,0 diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_households.yaml b/activitysim/examples/prototype_marin/configs/initialize_households.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_households.yaml rename to activitysim/examples/prototype_marin/configs/initialize_households.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_landuse.yaml b/activitysim/examples/prototype_marin/configs/initialize_landuse.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_landuse.yaml rename to activitysim/examples/prototype_marin/configs/initialize_landuse.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_tours.yaml b/activitysim/examples/prototype_marin/configs/initialize_tours.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/initialize_tours.yaml rename to activitysim/examples/prototype_marin/configs/initialize_tours.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/logging.yaml b/activitysim/examples/prototype_marin/configs/logging.yaml similarity index 95% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/logging.yaml rename to activitysim/examples/prototype_marin/configs/logging.yaml index 33b6a4b1cc..df20cf0c7e 100755 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/logging.yaml +++ b/activitysim/examples/prototype_marin/configs/logging.yaml @@ -1,54 +1,54 @@ -# Config for logging -# ------------------ -# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema - -logging: - version: 1 - disable_existing_loggers: true - - - # Configuring the default (root) logger is highly recommended - root: - level: NOTSET - handlers: [console, logfile] - - loggers: - - activitysim: - level: DEBUG - handlers: [console, logfile] - propagate: false - - orca: - level: WARN - handlers: [console, logfile] - propagate: false - - handlers: - - logfile: - class: logging.FileHandler - filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] - mode: w - formatter: fileFormatter - level: NOTSET - - console: - class: logging.StreamHandler - stream: ext://sys.stdout - formatter: simpleFormatter - level: NOTSET - - formatters: - - simpleFormatter: - class: logging.Formatter - # format: '%(levelname)s - %(name)s - %(message)s' - format: '%(levelname)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - - fileFormatter: - class: logging.Formatter - format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: NOTSET + handlers: [console, logfile] + + loggers: + + activitysim: + level: DEBUG + handlers: [console, logfile] + propagate: false + + orca: + level: WARN + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + level: NOTSET + + formatters: + + simpleFormatter: + class: logging.Formatter + # format: '%(levelname)s - %(name)s - %(message)s' + format: '%(levelname)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + diff --git a/activitysim/examples/example_marin/configs/network_los.yaml b/activitysim/examples/prototype_marin/configs/network_los.yaml similarity index 96% rename from activitysim/examples/example_marin/configs/network_los.yaml rename to activitysim/examples/prototype_marin/configs/network_los.yaml index 7c99f84eca..bee302b941 100755 --- a/activitysim/examples/example_marin/configs/network_los.yaml +++ b/activitysim/examples/prototype_marin/configs/network_los.yaml @@ -1,170 +1,170 @@ -inherit_settings: True - -zone_system: 3 - -skim_dict_factory: NumpyArraySkimFactory -#skim_dict_factory: MemMapSkimFactory - -# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) -read_skim_cache: True -# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs -write_skim_cache: True - -# rebuild and overwrite existing tap_tap_utilities cache -rebuild_tvpb_cache: True - - -# when checkpointing cache. also write a csv version of tvpb cache for tracing -# (writes csv file when writing/checkpointing cache (i.e. when cached changed) even if rebuild_tvpb_cache is False) -# (n.b. csv file could be quite large if cache is STATIC!) -trace_tvpb_cache_as_csv: False - -taz_skims: - - highway_skims_AM.omx - - highway_skims_EA.omx - - highway_skims_EV.omx - - highway_skims_MD.omx - - highway_skims_PM.omx - -tap_skims: - # we require that skims for all tap_tap sets have unique names - # and cso an share a single skim_dict without name collision - # e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM - - transit_skims_SET1.omx - - transit_skims_SET2.omx - - transit_skims_SET3.omx - -maz: maz_taz.csv - -tap: tap.csv - -tap_lines: tap_lines.csv - -maz_to_maz: - tables: - - maz_maz_walk.csv - - maz_maz_bike.csv - - # maz_to_maz blending distance (missing or 0 means no blending) - max_blend_distance: - # blend distance of 0 means no blending - WALK_DIST: 0 - BIKE_DIST: 0 - - -maz_to_tap: - walk: - table: maz_tap_walk.csv - # if provided, this column will be used (together with tap_lines table) to trim the near tap set - # to only include the nearest tap to origin when more than one tap serves the same line - tap_line_distance_col: WALK_TRANSIT_DIST - max_dist: 1.2 - drive: - table: maz_taz_tap_drive.csv - # not trimming because drive_maz_tap utility calculations take into account both drive and walk time and cost - # though some sort of trimming appears to have been done as there are not so many of these in marin data - #tap_line_distance_col: DDIST - - -skim_time_periods: - time_window: 1440 - period_minutes: 30 - periods: [0, 12, 20, 30, 38, 48] - labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] - -demographic_segments: &demographic_segments - - &low_income_segment_id 0 - - &high_income_segment_id 1 - - -# transit virtual path builder settings -TVPB_SETTINGS: - - tour_mode_choice: - units: utility - path_types: - WTW: - access: walk - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - paths_nest_nesting_coefficient: 1 - DTW: - access: drive - egress: walk - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - paths_nest_nesting_coefficient: 1 - WTD: - access: walk - egress: drive - max_paths_across_tap_sets: 3 - max_paths_per_tap_set: 1 - paths_nest_nesting_coefficient: 1 - tap_tap_settings: - SPEC: tvpb_utility_tap_tap.csv - PREPROCESSOR: - SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv - DF: df - # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files - attribute_segments: - demographic_segment: *demographic_segments - tod: *skim_time_period_labels - access_mode: ['drive', 'walk'] - attributes_as_columns: - - demographic_segment - - tod - - maz_tap_settings: - walk: - SPEC: tvpb_utility_walk_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - WALK_TRANSIT_DIST - drive: - SPEC: tvpb_utility_drive_maz_tap.csv - CHOOSER_COLUMNS: - #- demographic_segment - - DDIST - - DTIME - - WDIST - - CONSTANTS: - C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id - C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id - TVPB_demographic_segments_by_income_segment: - 1: *low_income_segment_id - 2: *low_income_segment_id - 3: *high_income_segment_id - 4: *high_income_segment_id - c_ivt_high_income: -0.016 # use tour constant from TM2 - c_ivt_low_income: -0.016 # use tour constant from TM2 - c_cost_high_income: -0.00112 - c_cost_low_income: -0.00112 - c_auto_operating_cost_per_mile: 18.29 - # constants used in maz_tap and tap_tap utility expressions - c_drive: 1.5 - c_walk: 1.7 - c_fwt: 1.5 - c_waux: 3.677 - c_xwt: 2 - c_xfers1: 30 - c_xfers2: 45 - c_xfers3: 47.026 - # no Express bus alternative-specific constant - c_lrt_asc: -17 # LRT alternative-specific constant - c_fr_asc: -35 # FR alternative-specific constant - c_hr_asc: -22 # Heavy Rail alternative-specific constant - c_cr_asc: -15 # Commuter Rail alternative-specific constant - c_cr20_40: -20 # Commuter Rail distance 20-40 miles - c_cr40plus: -30 # Commuter Rail distance >40 miles - c_drvExpress: -26 # drive to EB constant - c_drvLRT: 2 # drive to LRT constant - c_drvFR: -52 # drive to FR constant - c_drvHeavy: -41 # drive to HR constant - c_drvCR: -52 # drive to CR constant - #"max(IVT/Drive time - 0.3,0)",drvRatio,c_ivt* 6 - C_UNAVAILABLE: -999 - c_walkAcc: 3.0783 # walk to tap time - c_dtim: 2.5724 # drive to tap time - +inherit_settings: True + +zone_system: 3 + +skim_dict_factory: NumpyArraySkimFactory +#skim_dict_factory: MemMapSkimFactory + +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: True + +# rebuild and overwrite existing tap_tap_utilities cache +rebuild_tvpb_cache: True + + +# when checkpointing cache. also write a csv version of tvpb cache for tracing +# (writes csv file when writing/checkpointing cache (i.e. when cached changed) even if rebuild_tvpb_cache is False) +# (n.b. csv file could be quite large if cache is STATIC!) +trace_tvpb_cache_as_csv: False + +taz_skims: + - highway_skims_AM.omx + - highway_skims_EA.omx + - highway_skims_EV.omx + - highway_skims_MD.omx + - highway_skims_PM.omx + +tap_skims: + # we require that skims for all tap_tap sets have unique names + # and cso an share a single skim_dict without name collision + # e.g. TRN_XWAIT_FAST__AM, TRN_XWAIT_SHORT__AM, TRN_XWAIT_CHEAP__AM + - transit_skims_SET1.omx + - transit_skims_SET2.omx + - transit_skims_SET3.omx + +maz: maz_taz.csv + +tap: tap.csv + +tap_lines: tap_lines.csv + +maz_to_maz: + tables: + - maz_maz_walk.csv + - maz_maz_bike.csv + + # maz_to_maz blending distance (missing or 0 means no blending) + max_blend_distance: + # blend distance of 0 means no blending + WALK_DIST: 0 + BIKE_DIST: 0 + + +maz_to_tap: + walk: + table: maz_tap_walk.csv + # if provided, this column will be used (together with tap_lines table) to trim the near tap set + # to only include the nearest tap to origin when more than one tap serves the same line + tap_line_distance_col: WALK_TRANSIT_DIST + max_dist: 1.2 + drive: + table: maz_taz_tap_drive.csv + # not trimming because drive_maz_tap utility calculations take into account both drive and walk time and cost + # though some sort of trimming appears to have been done as there are not so many of these in marin data + #tap_line_distance_col: DDIST + + +skim_time_periods: + time_window: 1440 + period_minutes: 30 + periods: [0, 12, 20, 30, 38, 48] + labels: &skim_time_period_labels ['EA', 'AM', 'MD', 'PM', 'EV'] + +demographic_segments: &demographic_segments + - &low_income_segment_id 0 + - &high_income_segment_id 1 + + +# transit virtual path builder settings +TVPB_SETTINGS: + + tour_mode_choice: + units: utility + path_types: + WTW: + access: walk + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + paths_nest_nesting_coefficient: 1 + DTW: + access: drive + egress: walk + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + paths_nest_nesting_coefficient: 1 + WTD: + access: walk + egress: drive + max_paths_across_tap_sets: 3 + max_paths_per_tap_set: 1 + paths_nest_nesting_coefficient: 1 + tap_tap_settings: + SPEC: tvpb_utility_tap_tap.csv + PREPROCESSOR: + SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv + DF: df + # FIXME this has to be explicitly specified, since e.g. attribute columns are assigned in expression files + attribute_segments: + demographic_segment: *demographic_segments + tod: *skim_time_period_labels + access_mode: ['drive', 'walk'] + attributes_as_columns: + - demographic_segment + - tod + + maz_tap_settings: + walk: + SPEC: tvpb_utility_walk_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - WALK_TRANSIT_DIST + drive: + SPEC: tvpb_utility_drive_maz_tap.csv + CHOOSER_COLUMNS: + #- demographic_segment + - DDIST + - DTIME + - WDIST + + CONSTANTS: + C_LOW_INCOME_SEGMENT_ID: *low_income_segment_id + C_HIGH_INCOME_SEGMENT_ID: *high_income_segment_id + TVPB_demographic_segments_by_income_segment: + 1: *low_income_segment_id + 2: *low_income_segment_id + 3: *high_income_segment_id + 4: *high_income_segment_id + c_ivt_high_income: -0.016 # use tour constant from TM2 + c_ivt_low_income: -0.016 # use tour constant from TM2 + c_cost_high_income: -0.00112 + c_cost_low_income: -0.00112 + c_auto_operating_cost_per_mile: 18.29 + # constants used in maz_tap and tap_tap utility expressions + c_drive: 1.5 + c_walk: 1.7 + c_fwt: 1.5 + c_waux: 3.677 + c_xwt: 2 + c_xfers1: 30 + c_xfers2: 45 + c_xfers3: 47.026 + # no Express bus alternative-specific constant + c_lrt_asc: -17 # LRT alternative-specific constant + c_fr_asc: -35 # FR alternative-specific constant + c_hr_asc: -22 # Heavy Rail alternative-specific constant + c_cr_asc: -15 # Commuter Rail alternative-specific constant + c_cr20_40: -20 # Commuter Rail distance 20-40 miles + c_cr40plus: -30 # Commuter Rail distance >40 miles + c_drvExpress: -26 # drive to EB constant + c_drvLRT: 2 # drive to LRT constant + c_drvFR: -52 # drive to FR constant + c_drvHeavy: -41 # drive to HR constant + c_drvCR: -52 # drive to CR constant + #"max(IVT/Drive time - 0.3,0)",drvRatio,c_ivt* 6 + C_UNAVAILABLE: -999 + c_walkAcc: 3.0783 # walk to tap time + c_dtim: 2.5724 # drive to tap time + diff --git a/activitysim/examples/example_marin/configs/settings.yaml b/activitysim/examples/prototype_marin/configs/settings.yaml similarity index 95% rename from activitysim/examples/example_marin/configs/settings.yaml rename to activitysim/examples/prototype_marin/configs/settings.yaml index 2d2eae9d31..5624cd0c97 100755 --- a/activitysim/examples/example_marin/configs/settings.yaml +++ b/activitysim/examples/prototype_marin/configs/settings.yaml @@ -1,240 +1,240 @@ -inherit_settings: True - -# number of households to simulate -#households_sample_size: 200000 -households_sample_size: 500 - -chunk_size: 0 - -# assume enough RAM to not chunk -chunk_training_mode: disabled - -#trace_hh_id: 662398 -trace_hh_id: - -# input tables -input_table_list: - - tablename: households - filename: households.csv - index_col: household_id - rename_columns: - HHID: household_id - MAZ: home_zone_id - keep_columns: - - home_zone_id - - HHINCADJ - - NWRKRS_ESR - - VEH - - NP - #- MTCCountyID - #- HHT - #- BLD - #- TYPE - - - tablename: persons - filename: persons.csv - index_col: person_id - rename_columns: - HHID: household_id - PERID: person_id - keep_columns: - - AGEP - - household_id - - type - - value_of_time - - fp_choice - - SEX - #- SCHL - #- OCCP - #- WKHP - #- WKW - #- EMPLOYED - #- ESR - #- SCHG - - - tablename: land_use - filename: land_use.csv - index_col: zone_id - rename_columns: - MAZ: zone_id - CountyID: county_id - keep_columns: - - TAZ - - DistID - - ACRES - - POP - - emp_total - - hparkcost - - TERMINALTIME - - county_id - - TotInt - - EmpDen - - RetEmpDen - - DUDen -# - level_0 -# - index -# - MAZ_ORIGINAL -# - TAZ_ORIGINAL -# - DistName -# - CountyID -# - CountyName -# - HH -# - ag -# - art_rec -# - constr -# - eat -# - ed_high -# - ed_k12 -# - ed_oth -# - fire -# - gov -# - health -# - hotel -# - info -# - lease -# - logis -# - man_bio -# - man_lgt -# - man_hvy -# - man_tech -# - natres -# - prof -# - ret_loc -# - ret_reg -# - serv_bus -# - serv_pers -# - serv_soc -# - transp -# - util -# - publicEnrollGradeKto8 -# - privateEnrollGradeKto8 -# - publicEnrollGrade9to12 -# - privateEnrollGrade9to12 -# - comm_coll_enroll -# - EnrollGradeKto8 -# - EnrollGrade9to12 -# - collegeEnroll -# - otherCollegeEnroll -# - AdultSchEnrl -# - hstallsoth -# - hstallssam -# - dstallsoth -# - dstallssam -# - mstallsoth -# - mstallssam -# - park_area -# - numfreehrs -# - dparkcost -# - mparkcost -# - ech_dist -# - hch_dist -# - parkarea -# - MAZ_X -# - MAZ_Y -# - PopDen -# - IntDenBin -# - EmpDenBin -# - DuDenBin -# - PopEmpDenPerMi -# - mgra -# - mgraParkArea -# - lsWgtAvgCostM -# - lsWgtAvgCostD -# - lsWgtAvgCostH - - - tablename: tours - filename: work_tours.csv - # since tours has a canonical index name 'tour_id', we must explicitly indicate that no index should be assigned - # canonical index_col 'tour_id' will be assigned by initialize_tours - index_col: - rename_columns: - hh_id: household_id - start_period: start - end_period: end - tour_id: tm2_tour_id - tour_mode: tm2_tour_mode - out_btap: tm2_out_btap - out_atap: tm2_out_atap - in_btap: tm2_in_btap - in_atap: tm2_in_atap - out_set: tm2_out_set - in_set: tm2_in_set - keep_columns: - - person_id - - household_id - - tour_category - - tour_purpose - - orig_mgra - - dest_mgra - - start - - end - # ctramp tm2 fields for validation - - tm2_tour_id # really just ordinal position in ctramp tour file, put probably will be useful for validation - - tm2_tour_mode - - tm2_out_btap - - tm2_out_atap - - tm2_in_btap - - tm2_in_atap - - tm2_out_set - - tm2_in_set -# - person_num -# - person_type -# - tour_distance -# - tour_time -# - atWork_freq -# - num_ob_stops -# - num_ib_stops - - -# set false to disable variability check in simple_simulate and interaction_simulate -check_for_variability: False - -# - shadow pricing global switches - -# turn shadow_pricing on and off for all models (e.g. school and work) -# shadow pricing is deprecated for less than full samples -# see shadow_pricing.yaml for additional settings -use_shadow_pricing: False - -# turn writing of sample_tables on and off for all models -# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) -want_dest_choice_sample_tables: False - -#resume_after: initialize_tvpb - -models: - - initialize_landuse - - initialize_households - - initialize_tours - # --- STATIC cache prebuild steps - # single-process step to create attribute_combination list - - initialize_los - # multi-processable step to build STATIC cache - # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) - - initialize_tvpb - # --- - - tour_mode_choice_simulate - - write_data_dictionary - - track_skim_usage - - write_tables - -output_tables: - h5_store: False - action: include - prefix: final_ - # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes - sort: True - tables: - - checkpoints - - accessibility - - land_use - - households - - persons - - tours - - attribute_combinations - -output_summaries: - tours: - - tour_mode - - od_path_set - - do_path_set +inherit_settings: True + +# number of households to simulate +#households_sample_size: 200000 +households_sample_size: 500 + +chunk_size: 0 + +# assume enough RAM to not chunk +chunk_training_mode: disabled + +#trace_hh_id: 662398 +trace_hh_id: + +# input tables +input_table_list: + - tablename: households + filename: households.csv + index_col: household_id + rename_columns: + HHID: household_id + MAZ: home_zone_id + keep_columns: + - home_zone_id + - HHINCADJ + - NWRKRS_ESR + - VEH + - NP + #- MTCCountyID + #- HHT + #- BLD + #- TYPE + + - tablename: persons + filename: persons.csv + index_col: person_id + rename_columns: + HHID: household_id + PERID: person_id + keep_columns: + - AGEP + - household_id + - type + - value_of_time + - fp_choice + - SEX + #- SCHL + #- OCCP + #- WKHP + #- WKW + #- EMPLOYED + #- ESR + #- SCHG + + - tablename: land_use + filename: land_use.csv + index_col: zone_id + rename_columns: + MAZ: zone_id + CountyID: county_id + keep_columns: + - TAZ + - DistID + - ACRES + - POP + - emp_total + - hparkcost + - TERMINALTIME + - county_id + - TotInt + - EmpDen + - RetEmpDen + - DUDen +# - level_0 +# - index +# - MAZ_ORIGINAL +# - TAZ_ORIGINAL +# - DistName +# - CountyID +# - CountyName +# - HH +# - ag +# - art_rec +# - constr +# - eat +# - ed_high +# - ed_k12 +# - ed_oth +# - fire +# - gov +# - health +# - hotel +# - info +# - lease +# - logis +# - man_bio +# - man_lgt +# - man_hvy +# - man_tech +# - natres +# - prof +# - ret_loc +# - ret_reg +# - serv_bus +# - serv_pers +# - serv_soc +# - transp +# - util +# - publicEnrollGradeKto8 +# - privateEnrollGradeKto8 +# - publicEnrollGrade9to12 +# - privateEnrollGrade9to12 +# - comm_coll_enroll +# - EnrollGradeKto8 +# - EnrollGrade9to12 +# - collegeEnroll +# - otherCollegeEnroll +# - AdultSchEnrl +# - hstallsoth +# - hstallssam +# - dstallsoth +# - dstallssam +# - mstallsoth +# - mstallssam +# - park_area +# - numfreehrs +# - dparkcost +# - mparkcost +# - ech_dist +# - hch_dist +# - parkarea +# - MAZ_X +# - MAZ_Y +# - PopDen +# - IntDenBin +# - EmpDenBin +# - DuDenBin +# - PopEmpDenPerMi +# - mgra +# - mgraParkArea +# - lsWgtAvgCostM +# - lsWgtAvgCostD +# - lsWgtAvgCostH + + - tablename: tours + filename: work_tours.csv + # since tours has a canonical index name 'tour_id', we must explicitly indicate that no index should be assigned + # canonical index_col 'tour_id' will be assigned by initialize_tours + index_col: + rename_columns: + hh_id: household_id + start_period: start + end_period: end + tour_id: tm2_tour_id + tour_mode: tm2_tour_mode + out_btap: tm2_out_btap + out_atap: tm2_out_atap + in_btap: tm2_in_btap + in_atap: tm2_in_atap + out_set: tm2_out_set + in_set: tm2_in_set + keep_columns: + - person_id + - household_id + - tour_category + - tour_purpose + - orig_mgra + - dest_mgra + - start + - end + # ctramp tm2 fields for validation + - tm2_tour_id # really just ordinal position in ctramp tour file, put probably will be useful for validation + - tm2_tour_mode + - tm2_out_btap + - tm2_out_atap + - tm2_in_btap + - tm2_in_atap + - tm2_out_set + - tm2_in_set +# - person_num +# - person_type +# - tour_distance +# - tour_time +# - atWork_freq +# - num_ob_stops +# - num_ib_stops + + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +#resume_after: initialize_tvpb + +models: + - initialize_landuse + - initialize_households + - initialize_tours + # --- STATIC cache prebuild steps + # single-process step to create attribute_combination list + - initialize_los + # multi-processable step to build STATIC cache + # (this step is a NOP if cache already exists and network_los.rebuild_tvpb_cache setting is False) + - initialize_tvpb + # --- + - tour_mode_choice_simulate + - write_data_dictionary + - track_skim_usage + - write_tables + +output_tables: + h5_store: False + action: include + prefix: final_ + # FIXME sort is an undocumented feature - sorts table by best index or ref_col according to traceable_table_indexes + sort: True + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - attribute_combinations + +output_summaries: + tours: + - tour_mode + - od_path_set + - do_path_set diff --git a/activitysim/examples/example_marin/configs/settings_mp.yaml b/activitysim/examples/prototype_marin/configs/settings_mp.yaml similarity index 100% rename from activitysim/examples/example_marin/configs/settings_mp.yaml rename to activitysim/examples/prototype_marin/configs/settings_mp.yaml diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/shadow_pricing.yaml b/activitysim/examples/prototype_marin/configs/shadow_pricing.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/shadow_pricing.yaml rename to activitysim/examples/prototype_marin/configs/shadow_pricing.yaml diff --git a/activitysim/examples/example_mtc/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/prototype_marin/configs/tour_departure_and_duration_alternatives.csv similarity index 84% rename from activitysim/examples/example_mtc/configs/tour_departure_and_duration_alternatives.csv rename to activitysim/examples/prototype_marin/configs/tour_departure_and_duration_alternatives.csv index 05f02b7964..bddab06b9d 100644 --- a/activitysim/examples/example_mtc/configs/tour_departure_and_duration_alternatives.csv +++ b/activitysim/examples/prototype_marin/configs/tour_departure_and_duration_alternatives.csv @@ -1,191 +1,191 @@ -start,end -5,5 -5,6 -5,7 -5,8 -5,9 -5,10 -5,11 -5,12 -5,13 -5,14 -5,15 -5,16 -5,17 -5,18 -5,19 -5,20 -5,21 -5,22 -5,23 -6,6 -6,7 -6,8 -6,9 -6,10 -6,11 -6,12 -6,13 -6,14 -6,15 -6,16 -6,17 -6,18 -6,19 -6,20 -6,21 -6,22 -6,23 -7,7 -7,8 -7,9 -7,10 -7,11 -7,12 -7,13 -7,14 -7,15 -7,16 -7,17 -7,18 -7,19 -7,20 -7,21 -7,22 -7,23 -8,8 -8,9 -8,10 -8,11 -8,12 -8,13 -8,14 -8,15 -8,16 -8,17 -8,18 -8,19 -8,20 -8,21 -8,22 -8,23 -9,9 -9,10 -9,11 -9,12 -9,13 -9,14 -9,15 -9,16 -9,17 -9,18 -9,19 -9,20 -9,21 -9,22 -9,23 -10,10 -10,11 -10,12 -10,13 -10,14 -10,15 -10,16 -10,17 -10,18 -10,19 -10,20 -10,21 -10,22 -10,23 -11,11 -11,12 -11,13 -11,14 -11,15 -11,16 -11,17 -11,18 -11,19 -11,20 -11,21 -11,22 -11,23 -12,12 -12,13 -12,14 -12,15 -12,16 -12,17 -12,18 -12,19 -12,20 -12,21 -12,22 -12,23 -13,13 -13,14 -13,15 -13,16 -13,17 -13,18 -13,19 -13,20 -13,21 -13,22 -13,23 -14,14 -14,15 -14,16 -14,17 -14,18 -14,19 -14,20 -14,21 -14,22 -14,23 -15,15 -15,16 -15,17 -15,18 -15,19 -15,20 -15,21 -15,22 -15,23 -16,16 -16,17 -16,18 -16,19 -16,20 -16,21 -16,22 -16,23 -17,17 -17,18 -17,19 -17,20 -17,21 -17,22 -17,23 -18,18 -18,19 -18,20 -18,21 -18,22 -18,23 -19,19 -19,20 -19,21 -19,22 -19,23 -20,20 -20,21 -20,22 -20,23 -21,21 -21,22 -21,23 -22,22 -22,23 +start,end +5,5 +5,6 +5,7 +5,8 +5,9 +5,10 +5,11 +5,12 +5,13 +5,14 +5,15 +5,16 +5,17 +5,18 +5,19 +5,20 +5,21 +5,22 +5,23 +6,6 +6,7 +6,8 +6,9 +6,10 +6,11 +6,12 +6,13 +6,14 +6,15 +6,16 +6,17 +6,18 +6,19 +6,20 +6,21 +6,22 +6,23 +7,7 +7,8 +7,9 +7,10 +7,11 +7,12 +7,13 +7,14 +7,15 +7,16 +7,17 +7,18 +7,19 +7,20 +7,21 +7,22 +7,23 +8,8 +8,9 +8,10 +8,11 +8,12 +8,13 +8,14 +8,15 +8,16 +8,17 +8,18 +8,19 +8,20 +8,21 +8,22 +8,23 +9,9 +9,10 +9,11 +9,12 +9,13 +9,14 +9,15 +9,16 +9,17 +9,18 +9,19 +9,20 +9,21 +9,22 +9,23 +10,10 +10,11 +10,12 +10,13 +10,14 +10,15 +10,16 +10,17 +10,18 +10,19 +10,20 +10,21 +10,22 +10,23 +11,11 +11,12 +11,13 +11,14 +11,15 +11,16 +11,17 +11,18 +11,19 +11,20 +11,21 +11,22 +11,23 +12,12 +12,13 +12,14 +12,15 +12,16 +12,17 +12,18 +12,19 +12,20 +12,21 +12,22 +12,23 +13,13 +13,14 +13,15 +13,16 +13,17 +13,18 +13,19 +13,20 +13,21 +13,22 +13,23 +14,14 +14,15 +14,16 +14,17 +14,18 +14,19 +14,20 +14,21 +14,22 +14,23 +15,15 +15,16 +15,17 +15,18 +15,19 +15,20 +15,21 +15,22 +15,23 +16,16 +16,17 +16,18 +16,19 +16,20 +16,21 +16,22 +16,23 +17,17 +17,18 +17,19 +17,20 +17,21 +17,22 +17,23 +18,18 +18,19 +18,20 +18,21 +18,22 +18,23 +19,19 +19,20 +19,21 +19,22 +19,23 +20,20 +20,21 +20,22 +20,23 +21,21 +21,22 +21,23 +22,22 +22,23 23,23 \ No newline at end of file diff --git a/activitysim/examples/example_marin/configs/tour_mode_choice.csv b/activitysim/examples/prototype_marin/configs/tour_mode_choice.csv similarity index 99% rename from activitysim/examples/example_marin/configs/tour_mode_choice.csv rename to activitysim/examples/prototype_marin/configs/tour_mode_choice.csv index 386e2e37c1..364648ceaa 100755 --- a/activitysim/examples/example_marin/configs/tour_mode_choice.csv +++ b/activitysim/examples/prototype_marin/configs/tour_mode_choice.csv @@ -1,226 +1,226 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,, -#util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,VEH == 0,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,AGEP < 16,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['TIMEDA'] + dot_skims['TIMEDA'],coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@df.origin_terminal_time,coef_walk_access_time,,,,,,,,,,,, -util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@df.dest_terminal_time,coef_walk_egress_time,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTDA'] + dot_skims['DISTDA']),coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLDA'] + dot_skims['BTOLLDA']),coef_ivt,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,VEH == 0,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,AGEP < 16,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['TOLLTIMEDA'] + dot_skims['TOLLTIMEDA'],,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@df.origin_terminal_time,,coef_walk_access_time,,,,,,,,,,, -util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@df.dest_terminal_time,,coef_walk_egress_time,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTDA'] + dot_skims['TOLLDISTDA']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLDA'] + dot_skims['TOLLBTOLLDA']),,coef_ivt,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLDA'] + dot_skims['TOLLVTOLLDA']),,coef_ivt,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['TIMES2'] + dot_skims['TIMES2']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@df.origin_terminal_time,,,coef_walk_access_time,,,,,,,,,, -util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@df.dest_terminal_time,,,coef_walk_egress_time,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS2'] + dot_skims['DISTS2']),,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS2'] + dot_skims['BTOLLS2']) / costShareSr2,,,coef_ivt,,,,,,,,,, -util_SHARED2FREE_Person_is_between_16_and_24_years_old,SHARED2FREE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,c_age1624_sr2,,,,,,,,,, -util_SHARED2FREE_Person_is_between_41_and_55_years_old,SHARED2FREE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,c_age4155_sr2,,,,,,,,,, -util_SHARED2FREE_Person_is_between_56_and_64_years_old,SHARED2FREE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,c_age5664_sr2,,,,,,,,,, -util_SHARED2FREE_Person_is_between_65plus_years_old,SHARED2FREE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,c_age65pl_sr2,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.NP == 2),,,c_size2_sr2,,,,,,,,,, -util_SHARED2FREE_Three_person_household,SHARED2FREE - Three person household,@(df.NP == 3),,,c_size3_sr2,,,,,,,,,, -util_SHARED2FREE_Four_person_household,SHARED2FREE - Four person household,@(df.NP >= 4),,,c_size4p_sr2,,,,,,,,,, -util_SHARED2FREE_Female,SHARED2FREE - Female,@~df.is_male,,,c_female_sr2,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@df.origin_terminal_time,,,,coef_walk_access_time,,,,,,,,, -util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@df.dest_terminal_time,,,,coef_walk_egress_time,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']),,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, -util_SHARED2PAY_Person_is_between_16_and_24_years_old,SHARED2PAY_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,c_age1624_sr2,,,,,,,,, -util_SHARED2PAY_Person_is_between_41_and_55_years_old,SHARED2PAY_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,c_age4155_sr2,,,,,,,,, -util_SHARED2PAY_Person_is_between_56_and_64_years_old,SHARED2PAY_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,c_age5664_sr2,,,,,,,,, -util_SHARED2PAY_Person_is_between_65plus_years_old,SHARED2PAY_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,c_age65pl_sr2,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.NP == 2),,,,c_size2_sr2,,,,,,,,, -util_SHARED2PAY_Three_person_household,SHARED2PAY - Three person household,@(df.NP == 3),,,,c_size3_sr2,,,,,,,,, -util_SHARED2PAY_Four_person_household,SHARED2PAY - Four person household,@(df.NP >= 4),,,,c_size4p_sr2,,,,,,,,, -util_SHARED2PAY_Female,SHARED2PAY - Female,@~df.is_male,,,,c_female_sr2,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['TIMES3'] + dot_skims['TIMES3']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@df.origin_terminal_time,,,,,coef_walk_access_time,,,,,,,, -util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@df.dest_terminal_time,,,,,coef_walk_egress_time,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS3'] + dot_skims['DISTS3']),,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS3'] + dot_skims['BTOLLS3']) / costShareSr3,,,,,coef_ivt,,,,,,,, -util_SHARED3FREE_Person_is_between_16_and_24_years_old,SHARED3FREE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,c_age1624_sr3,,,,,,,, -util_SHARED3FREE_Person_is_between_41_and_55_years_old,SHARED3FREE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,c_age4155_sr3,,,,,,,, -util_SHARED3FREE_Person_is_between_56_and_64_years_old,SHARED3FREE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,c_age5664_sr3,,,,,,,, -util_SHARED3FREE_Person_is_between_65plus_years_old,SHARED3FREE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,c_age65pl_sr3,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.NP == 2),,,,,c_size2_sr3,,,,,,,, -util_SHARED3FREE_Three_person_household,SHARED3FREE - Three person household,@(df.NP == 3),,,,,c_size3_sr3,,,,,,,, -util_SHARED3FREE_Four_person_household,SHARED3FREE - Four person household,@(df.NP >= 4),,,,,c_size4p_sr3,,,,,,,, -util_SHARED3FREE_Female,SHARED3FREE - Female,@~df.is_male,,,,,c_female_sr3,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['TOLLTIMES3'] + dot_skims['TOLLTIMES3']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@df.origin_terminal_time,,,,,,coef_walk_access_time,,,,,,, -util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@df.dest_terminal_time,,,,,,coef_walk_egress_time,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS3'] + dot_skims['TOLLDISTS3']),,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS3'] + dot_skims['TOLLBTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, -util_SHARED3PAY_Person_is_between_16_and_24_years_old,SHARED3PAY_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,c_age1624_sr3,,,,,,, -util_SHARED3PAY_Person_is_between_41_and_55_years_old,SHARED3PAY_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,c_age4155_sr3,,,,,,, -util_SHARED3PAY_Person_is_between_56_and_64_years_old,SHARED3PAY_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,c_age5664_sr3,,,,,,, -util_SHARED3PAY_Person_is_between_65plus_years_old,SHARED3PAY_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,c_age65pl_sr3,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.NP == 2),,,,,,c_size2_sr3,,,,,,, -util_SHARED3PAY_Three_person_household,SHARED3PAY - Three person household,@(df.NP == 3),,,,,,c_size3_sr3,,,,,,, -util_SHARED3PAY_Four_person_household,SHARED3PAY - Four person household,@(df.NP >= 4),,,,,,c_size4p_sr3,,,,,,, -util_SHARED3PAY_Female,SHARED3PAY - Female,@~df.is_male,,,,,,c_female_sr3,,,,,,, -#,Walk,,,,,,,,,,,,,, -util_WALK_Unavailable,WALK - Unavailable,walk_available == False,,,,,,,-999,,,,,, -util_WALK_Time,WALK - walk time,@(od_skims.lookup('WALK_DIST') + od_skims.reverse('WALK_DIST'))*60/walkSpeed,,,,,,,c_walkTime,,,,,, -util_WALK_Person_is_between_16_and_24_years_old,WALK_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,c_age1624_nmot,,,,,, -util_WALK_Person_is_between_41_and_55_years_old,WALK_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,c_age4155_nmot,,,,,, -util_WALK_Person_is_between_56_and_64_years_old,WALK_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,c_age5664_nmot,,,,,, -util_WALK_Person_is_between_65plus_years_old,WALK_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,c_age65pl_nmot,,,,,, -util_WALK_Female,WALK - Female,@~df.is_male,,,,,,,c_female_nmot,,,,,, -util_WALK_Origin_Mix,WALK_Origin_Mix,@df.origin_Mix,,,,,,,c_oMix_nmot,,,,,, -util_WALK_Origin_Intersection_Density,WALK_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,c_oIntDen_nmot,,,,,, -util_WALK_Destination_Employment_Density,WALK_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,c_dEmpDen_nmot,,,,,, -#,Bike,,,,,,,,,,,,,, -util_BIKE_Unavailable,BIKE - Unavailable,bike_available == False,,,,,,,,-999,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, -util_BIKE_Time,BIKE - bike time,@(od_skims.lookup('BIKE_DIST') + od_skims.reverse('BIKE_DIST'))*60/bikeSpeed,,,,,,,,c_bikeTime,,,,, -util_BIKE_Person_is_between_16_and_24_years_old,BIKE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,c_age1624_nmot,,,,, -util_BIKE_Person_is_between_41_and_55_years_old,BIKE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,c_age4155_nmot,,,,, -util_BIKE_Person_is_between_56_and_64_years_old,BIKE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,c_age5664_nmot,,,,, -util_BIKE_Person_is_between_65plus_years_old,BIKE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,c_age65pl_nmot,,,,, -util_BIKE_Female,BIKE - Female,@~df.is_male,,,,,,,,c_female_nmot,,,,, -util_BIKE_Origin_Mix,BIKE_Origin_Mix,@df.origin_Mix,,,,,,,,c_oMix_nmot,,,,, -util_BIKE_Origin_Intersection_Density,BIKE_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,,c_oIntDen_nmot,,,,, -util_BIKE_Destination_Employment_Density,BIKE_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,c_dEmpDen_nmot,,,,, -#,Walk to Local,,,,,,,,,,,,,, -util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW'],,,,,,,,,coef_one,,,, -util_WALK_TRANSIT_Person_is_between_16_and_24_years_old,WALK_TRANSIT_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,,c_age1624_tran,,,, -util_WALK_TRANSIT_Person_is_between_41_and_55_years_old,WALK_TRANSIT_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,,c_age4155_tran,,,, -util_WALK_TRANSIT_Person_is_between_56_and_64_years_old,WALK_TRANSIT_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,,c_age5664_tran,,,, -util_WALK_TRANSIT_Person_is_between_65plus_years_old,WALK_TRANSIT_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,,c_age65pl_tran,,,, -util_WALK_TRANSIT_Female,BIKE - Female,@~df.is_male,,,,,,,,,c_female_tran,,,, -util_WALK_TRANSIT_Origin_Mix,WALK_TRANSIT_Origin_Mix,@df.origin_Mix,,,,,,,,,c_oMix_wtran,,,, -util_WALK_TRANSIT_Origin_Intersection_Density,WALK_TRANSIT_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,,,c_oIntDen_wtran,,,, -util_WALK_TRANSIT_Destination_Employment_Density,WALK_TRANSIT_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,,c_dEmpDen_wtran,,,, -#,Drive to Local,,,,,,,,,,,,,, -util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,VEH == 0,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,AGEP < 16,,,,,,,,,,-999,,, -util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD'],,,,,,,,,,coef_one,,, -util_DRIVE_TRANSIT_Person_is_between_16_and_24_years_old,DRIVE_TRANSIT_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,,,c_age1624_tran,,, -util_DRIVE_TRANSIT_Person_is_between_41_and_55_years_old,DRIVE_TRANSIT_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,,,c_age4155_tran,,, -util_DRIVE_TRANSIT_Person_is_between_56_and_64_years_old,DRIVE_TRANSIT_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,,,c_age5664_tran,,, -util_DRIVE_TRANSIT_Person_is_between_65plus_years_old,DRIVE_TRANSIT_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,,,c_age65pl_tran,,, -util_DRIVE_TRANSIT_Female,BIKE - Female,@~df.is_male,,,,,,,,,,c_female_tran,,, -util_DRIVE_TRANSIT_Destination_Employment_Density,DRIVE_TRANSIT_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,,,c_dEmpDen_dtran,,, -#,Taxi,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,coef_ivt,, -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']),,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * Taxi_costPerMile +(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_single_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, -#,TNC Shared,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt -#, FIXME magic constant 1.5,,,,,,,,,,,,,, -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_shared_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt -#,indiv tour ASCs,,,,,,,,,,,,,, -util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,zeroAutoHH_walk,,,,,, -util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,autoDeficientHH_walk,,,,,, -util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,autoSufficientHH_walk,,,,,, -util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,zeroAutoHH_bike,,,,, -util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,0,,,,, -util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,autoSufficientHH_bike,,,,, -util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,0,0,,,,,,,,, -util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,autoDeficientHH_sr2,autoDeficientHH_sr2,,,,,,,,, -util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,autoSufficientHH_sr2,autoSufficientHH_sr2,,,,,,,,, -util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,zeroAutoHH_sr3,zeroAutoHH_sr3,,,,,,, -util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,autoDeficientHH_sr3,autoDeficientHH_sr3,,,,,,, -util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,autoSufficientHH_sr3,autoSufficientHH_sr3,,,,,,, -util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,zeroAutoHH_wt,,,, -util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,autoDeficientHH_wt,,,, -util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,autoSufficientHH_wt,,,, -util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,zeroAutoHH_kt,,, -util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,autoDeficientHH_dt,,, -util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,autoSufficientHH_dt,,, -util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,0,, -util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,0,, -util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,0,, -util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,0, -util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,0, -util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,0, -util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,,0 -util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,0 -util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,0 -#,joint tour ASCs,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,0,,,,,, -util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,0,,,,,, -util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,0,,,,,, -util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,0,,,,, -util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,0,,,,, -util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,0,,,,, -util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,0,0,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,0,0,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,0,0,,,,,,,,, -util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,0,0,,,,,,, -util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,0,0,,,,,,, -util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,0,0,,,,,,, -util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,0,,,, -util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,0,,,, -util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,0,,,, -util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,0,,, -util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,0,,, -util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,0,,, -util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,0,, -util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,0,, -util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,0,, -util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,0, -util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,0, -util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,0, -util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,,0 -util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,0 -util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,0 -#,calibration,,,,,,,,,,,,,, -util_Walk_to_Transit_dest_CBD_SF,Walk to Transit dest CBD SF,@df.destination_in_cbd_sf,,,,,,,,,asc_wtransit_cbd_sf,,,, -util_Walk_to_Transit_dest_NW_SF,walk to Transit dest NW SF,@df.destination_in_nw_sf,,,,,,,,,asc_wtransit_nw_sf,,,, -util_Walk_to_Transit_dest_SE_SF,Walk to Transit dest SE SF,@df.destination_in_se_sf,,,,,,,,,asc_wtransit_se_sf,,,, -util_Drive_to_Transit_dest_CBD_SF,Drive to Transit dest CBD SF,@df.destination_in_cbd_sf,,,,,,,,,,asc_dtransit_cbd_sf,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@(50-2.5*odt_skims['DISTDA']).clip(lower=0),,,,,,,,,,coef_ivt,,, -util_Walk_to_Transit_distance_penalty,Walk to Transit - distance penalty,@(200-133*odt_skims['DISTDA']).clip(lower=0),,,,,,,,,coef_ivt,,,, -util_Transit_Pseudo_area_type_constant,Transit - Pseudo area type constant,@asc_Transit_Pseudo_area_type_constant * (df.daily_parking_cost>0),,,,,,,,,coef_ivt,coef_ivt,,, -util_TM2_Round_2_ASC_adjustment_for_0_Autos_HHs,TM2_Round_2_ASC_adjustment_for_0_Autos_HHs,@(df.is_indiv & (df.VEH == 0)),,,zeroAutoHH_SHARED2HOV,zeroAutoHH_SHARED2PAY,zeroAutoHH_SHARED3HOV,zeroAutoHH_SHARED3PAY,zeroAutoHH_WALK,zeroAutoHH_BIKE,zeroAutoHH_WALK_SET,zeroAutoHH_PNR_SET,,, -util_TM2_Round_2_ASC_adjustment_for_Auto_Defecient_HHs,TM2_Round_2_ASC_adjustment_for_Auto_Defecient_HHs,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,autoDeficientHH_SHARED2HOV,autoDeficientHH_SHARED2PAY,autoDeficientHH_SHARED3HOV,autoDeficientHH_SHARED3PAY,autoDeficientHH_WALK,autoDeficientHH_BIKE,autoDeficientHH_WALK_SET,autoDeficientHH_PNR_SET,,, -util_TM2_Round_2_ASC_adjustment_for_Auto_Sufficient_HHs,TM2_Round_2_ASC_adjustment_for_Auto_Sufficient_HHs,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,autoSufficientHH_SHARED2HOV,autoSufficientHH_SHARED2PAY,autoSufficientHH_SHARED3HOV,autoSufficientHH_SHARED3PAY,autoSufficientHH_WALK,autoSufficientHH_BIKE,autoSufficientHH_WALK_SET,autoSufficientHH_PNR_SET,,, -util_taxi_penalty,taxi penalty,@asc_taxi_penalty,,,,,,,,,,,coef_one,, -util_no_tnc,turn off tnc,1,,,,,,,,,,,,-999,-999 +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_TRANSIT,DRIVE_TRANSIT,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,, +#util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,VEH == 0,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,AGEP < 16,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['TIMEDA'] + dot_skims['TIMEDA'],coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@df.origin_terminal_time,coef_walk_access_time,,,,,,,,,,,, +util_DRIVEALONEFREE_TERMINALTIME,DRIVEALONEFREE - Terminal time,@df.dest_terminal_time,coef_walk_egress_time,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTDA'] + dot_skims['DISTDA']),coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLDA'] + dot_skims['BTOLLDA']),coef_ivt,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,VEH == 0,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,AGEP < 16,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['TOLLTIMEDA'] + dot_skims['TOLLTIMEDA'],,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@df.origin_terminal_time,,coef_walk_access_time,,,,,,,,,,, +util_DRIVEALONEPAY_TERMINALTIME,DRIVEALONEPAY - Terminal time,@df.dest_terminal_time,,coef_walk_egress_time,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTDA'] + dot_skims['TOLLDISTDA']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLDA'] + dot_skims['TOLLBTOLLDA']),,coef_ivt,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLDA'] + dot_skims['TOLLVTOLLDA']),,coef_ivt,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['TIMES2'] + dot_skims['TIMES2']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@df.origin_terminal_time,,,coef_walk_access_time,,,,,,,,,, +util_SHARED2FREE_TERMINALTIME,SHARED2FREE - Terminal time,@df.dest_terminal_time,,,coef_walk_egress_time,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS2'] + dot_skims['DISTS2']),,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS2'] + dot_skims['BTOLLS2']) / costShareSr2,,,coef_ivt,,,,,,,,,, +util_SHARED2FREE_Person_is_between_16_and_24_years_old,SHARED2FREE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,c_age1624_sr2,,,,,,,,,, +util_SHARED2FREE_Person_is_between_41_and_55_years_old,SHARED2FREE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,c_age4155_sr2,,,,,,,,,, +util_SHARED2FREE_Person_is_between_56_and_64_years_old,SHARED2FREE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,c_age5664_sr2,,,,,,,,,, +util_SHARED2FREE_Person_is_between_65plus_years_old,SHARED2FREE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,c_age65pl_sr2,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.NP == 2),,,c_size2_sr2,,,,,,,,,, +util_SHARED2FREE_Three_person_household,SHARED2FREE - Three person household,@(df.NP == 3),,,c_size3_sr2,,,,,,,,,, +util_SHARED2FREE_Four_person_household,SHARED2FREE - Four person household,@(df.NP >= 4),,,c_size4p_sr2,,,,,,,,,, +util_SHARED2FREE_Female,SHARED2FREE - Female,@~df.is_male,,,c_female_sr2,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@df.origin_terminal_time,,,,coef_walk_access_time,,,,,,,,, +util_SHARED2PAY_TERMINALTIME,SHARED2PAY - Terminal time,@df.dest_terminal_time,,,,coef_walk_egress_time,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']),,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']) / costShareSr2,,,,coef_ivt,,,,,,,,, +util_SHARED2PAY_Person_is_between_16_and_24_years_old,SHARED2PAY_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,c_age1624_sr2,,,,,,,,, +util_SHARED2PAY_Person_is_between_41_and_55_years_old,SHARED2PAY_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,c_age4155_sr2,,,,,,,,, +util_SHARED2PAY_Person_is_between_56_and_64_years_old,SHARED2PAY_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,c_age5664_sr2,,,,,,,,, +util_SHARED2PAY_Person_is_between_65plus_years_old,SHARED2PAY_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,c_age65pl_sr2,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.NP == 2),,,,c_size2_sr2,,,,,,,,, +util_SHARED2PAY_Three_person_household,SHARED2PAY - Three person household,@(df.NP == 3),,,,c_size3_sr2,,,,,,,,, +util_SHARED2PAY_Four_person_household,SHARED2PAY - Four person household,@(df.NP >= 4),,,,c_size4p_sr2,,,,,,,,, +util_SHARED2PAY_Female,SHARED2PAY - Female,@~df.is_male,,,,c_female_sr2,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['TIMES3'] + dot_skims['TIMES3']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@df.origin_terminal_time,,,,,coef_walk_access_time,,,,,,,, +util_SHARED3FREE_TERMINALTIME,SHARED3FREE - Terminal time,@df.dest_terminal_time,,,,,coef_walk_egress_time,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['DISTS3'] + dot_skims['DISTS3']),,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['BTOLLS3'] + dot_skims['BTOLLS3']) / costShareSr3,,,,,coef_ivt,,,,,,,, +util_SHARED3FREE_Person_is_between_16_and_24_years_old,SHARED3FREE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,c_age1624_sr3,,,,,,,, +util_SHARED3FREE_Person_is_between_41_and_55_years_old,SHARED3FREE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,c_age4155_sr3,,,,,,,, +util_SHARED3FREE_Person_is_between_56_and_64_years_old,SHARED3FREE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,c_age5664_sr3,,,,,,,, +util_SHARED3FREE_Person_is_between_65plus_years_old,SHARED3FREE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,c_age65pl_sr3,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.NP == 2),,,,,c_size2_sr3,,,,,,,, +util_SHARED3FREE_Three_person_household,SHARED3FREE - Three person household,@(df.NP == 3),,,,,c_size3_sr3,,,,,,,, +util_SHARED3FREE_Four_person_household,SHARED3FREE - Four person household,@(df.NP >= 4),,,,,c_size4p_sr3,,,,,,,, +util_SHARED3FREE_Female,SHARED3FREE - Female,@~df.is_male,,,,,c_female_sr3,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['TOLLTIMES3'] + dot_skims['TOLLTIMES3']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@df.origin_terminal_time,,,,,,coef_walk_access_time,,,,,,, +util_SHARED3PAY_TERMINALTIME,SHARED3PAY - Terminal time,@df.dest_terminal_time,,,,,,coef_walk_egress_time,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['TOLLDISTS3'] + dot_skims['TOLLDISTS3']),,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS3'] + dot_skims['TOLLBTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3']) / costShareSr3,,,,,,coef_ivt,,,,,,, +util_SHARED3PAY_Person_is_between_16_and_24_years_old,SHARED3PAY_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,c_age1624_sr3,,,,,,, +util_SHARED3PAY_Person_is_between_41_and_55_years_old,SHARED3PAY_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,c_age4155_sr3,,,,,,, +util_SHARED3PAY_Person_is_between_56_and_64_years_old,SHARED3PAY_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,c_age5664_sr3,,,,,,, +util_SHARED3PAY_Person_is_between_65plus_years_old,SHARED3PAY_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,c_age65pl_sr3,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.NP == 2),,,,,,c_size2_sr3,,,,,,, +util_SHARED3PAY_Three_person_household,SHARED3PAY - Three person household,@(df.NP == 3),,,,,,c_size3_sr3,,,,,,, +util_SHARED3PAY_Four_person_household,SHARED3PAY - Four person household,@(df.NP >= 4),,,,,,c_size4p_sr3,,,,,,, +util_SHARED3PAY_Female,SHARED3PAY - Female,@~df.is_male,,,,,,c_female_sr3,,,,,,, +#,Walk,,,,,,,,,,,,,, +util_WALK_Unavailable,WALK - Unavailable,walk_available == False,,,,,,,-999,,,,,, +util_WALK_Time,WALK - walk time,@(od_skims.lookup('WALK_DIST') + od_skims.reverse('WALK_DIST'))*60/walkSpeed,,,,,,,c_walkTime,,,,,, +util_WALK_Person_is_between_16_and_24_years_old,WALK_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,c_age1624_nmot,,,,,, +util_WALK_Person_is_between_41_and_55_years_old,WALK_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,c_age4155_nmot,,,,,, +util_WALK_Person_is_between_56_and_64_years_old,WALK_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,c_age5664_nmot,,,,,, +util_WALK_Person_is_between_65plus_years_old,WALK_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,c_age65pl_nmot,,,,,, +util_WALK_Female,WALK - Female,@~df.is_male,,,,,,,c_female_nmot,,,,,, +util_WALK_Origin_Mix,WALK_Origin_Mix,@df.origin_Mix,,,,,,,c_oMix_nmot,,,,,, +util_WALK_Origin_Intersection_Density,WALK_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,c_oIntDen_nmot,,,,,, +util_WALK_Destination_Employment_Density,WALK_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,c_dEmpDen_nmot,,,,,, +#,Bike,,,,,,,,,,,,,, +util_BIKE_Unavailable,BIKE - Unavailable,bike_available == False,,,,,,,,-999,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,, +util_BIKE_Time,BIKE - bike time,@(od_skims.lookup('BIKE_DIST') + od_skims.reverse('BIKE_DIST'))*60/bikeSpeed,,,,,,,,c_bikeTime,,,,, +util_BIKE_Person_is_between_16_and_24_years_old,BIKE_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,c_age1624_nmot,,,,, +util_BIKE_Person_is_between_41_and_55_years_old,BIKE_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,c_age4155_nmot,,,,, +util_BIKE_Person_is_between_56_and_64_years_old,BIKE_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,c_age5664_nmot,,,,, +util_BIKE_Person_is_between_65plus_years_old,BIKE_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,c_age65pl_nmot,,,,, +util_BIKE_Female,BIKE - Female,@~df.is_male,,,,,,,,c_female_nmot,,,,, +util_BIKE_Origin_Mix,BIKE_Origin_Mix,@df.origin_Mix,,,,,,,,c_oMix_nmot,,,,, +util_BIKE_Origin_Intersection_Density,BIKE_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,,c_oIntDen_nmot,,,,, +util_BIKE_Destination_Employment_Density,BIKE_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,c_dEmpDen_nmot,,,,, +#,Walk to Local,,,,,,,,,,,,,, +util_WALK_TRANSIT_Paths_logsums,WALK_TRANSIT - Path logsums,@tvpb_logsum_odt['WTW'] + tvpb_logsum_dot['WTW'],,,,,,,,,coef_one,,,, +util_WALK_TRANSIT_Person_is_between_16_and_24_years_old,WALK_TRANSIT_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,,c_age1624_tran,,,, +util_WALK_TRANSIT_Person_is_between_41_and_55_years_old,WALK_TRANSIT_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,,c_age4155_tran,,,, +util_WALK_TRANSIT_Person_is_between_56_and_64_years_old,WALK_TRANSIT_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,,c_age5664_tran,,,, +util_WALK_TRANSIT_Person_is_between_65plus_years_old,WALK_TRANSIT_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,,c_age65pl_tran,,,, +util_WALK_TRANSIT_Female,BIKE - Female,@~df.is_male,,,,,,,,,c_female_tran,,,, +util_WALK_TRANSIT_Origin_Mix,WALK_TRANSIT_Origin_Mix,@df.origin_Mix,,,,,,,,,c_oMix_wtran,,,, +util_WALK_TRANSIT_Origin_Intersection_Density,WALK_TRANSIT_Origin_Intersection_Density,@df.origin_TotInt,,,,,,,,,c_oIntDen_wtran,,,, +util_WALK_TRANSIT_Destination_Employment_Density,WALK_TRANSIT_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,,c_dEmpDen_wtran,,,, +#,Drive to Local,,,,,,,,,,,,,, +util_DRIVE_TRANSIT_Unavailable_for_zero_auto_households,DRIVE_TRANSIT - Unavailable for zero auto households,VEH == 0,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Unavailable_for_persons_less_than_16,DRIVE_TRANSIT - Unavailable for persons less than 16,AGEP < 16,,,,,,,,,,-999,,, +util_DRIVE_TRANSIT_Paths_logsums,DRIVE_TRANSIT - Path logsums,@tvpb_logsum_odt['DTW'] + tvpb_logsum_dot['WTD'],,,,,,,,,,coef_one,,, +util_DRIVE_TRANSIT_Person_is_between_16_and_24_years_old,DRIVE_TRANSIT_Person_is_between_16_and_24_years_old,@(df.AGEP >= 16) & (df.AGEP <= 24),,,,,,,,,,c_age1624_tran,,, +util_DRIVE_TRANSIT_Person_is_between_41_and_55_years_old,DRIVE_TRANSIT_Person_is_between_41_and_55_years_old,@(df.AGEP >= 41) & (df.AGEP <= 55),,,,,,,,,,c_age4155_tran,,, +util_DRIVE_TRANSIT_Person_is_between_56_and_64_years_old,DRIVE_TRANSIT_Person_is_between_56_and_64_years_old,@(df.AGEP >= 56) & (df.AGEP <= 64),,,,,,,,,,c_age5664_tran,,, +util_DRIVE_TRANSIT_Person_is_between_65plus_years_old,DRIVE_TRANSIT_Person_is_between_65plus_years_old,@(df.AGEP >= 65),,,,,,,,,,c_age65pl_tran,,, +util_DRIVE_TRANSIT_Female,BIKE - Female,@~df.is_male,,,,,,,,,,c_female_tran,,, +util_DRIVE_TRANSIT_Destination_Employment_Density,DRIVE_TRANSIT_Destination_Employment_Density,@df.dest_EmpDen,,,,,,,,,,c_dEmpDen_dtran,,, +#,Taxi,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,coef_ivt,, +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.totalWaitTaxi,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2']),,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * Taxi_costPerMile +(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * Taxi_costPerMinute)*100,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.totalWaitSingleTNC,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_single_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_IVTFactor,,,,,,,,,,,,,coef_ivt +#, FIXME magic constant 1.5,,,,,,,,,,,,,, +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.totalWaitSharedTNC,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['TOLLBTOLLS2'] + odr_skims['TOLLBTOLLS2'] + dot_skims['TOLLBTOLLS2'] + dor_skims['TOLLBTOLLS2']),,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['TOLLDISTS2'] + dot_skims['TOLLDISTS2']) * TNC_shared_costPerMile + (odt_skims['TOLLTIMES2'] + dot_skims['TOLLTIMES2']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,coef_ivt +#,indiv tour ASCs,,,,,,,,,,,,,, +util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,zeroAutoHH_walk,,,,,, +util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,autoDeficientHH_walk,,,,,, +util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,autoSufficientHH_walk,,,,,, +util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,zeroAutoHH_bike,,,,, +util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,0,,,,, +util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,autoSufficientHH_bike,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,0,0,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,autoDeficientHH_sr2,autoDeficientHH_sr2,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,autoSufficientHH_sr2,autoSufficientHH_sr2,,,,,,,,, +util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,zeroAutoHH_sr3,zeroAutoHH_sr3,,,,,,, +util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,autoDeficientHH_sr3,autoDeficientHH_sr3,,,,,,, +util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,autoSufficientHH_sr3,autoSufficientHH_sr3,,,,,,, +util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,zeroAutoHH_wt,,,, +util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,autoDeficientHH_wt,,,, +util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,autoSufficientHH_wt,,,, +util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,zeroAutoHH_kt,,, +util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,autoDeficientHH_dt,,, +util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,autoSufficientHH_dt,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,0,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,0,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,0,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,0, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,0, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,0, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.VEH == 0)),,,,,,,,,,,,,0 +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,0 +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,0 +#,joint tour ASCs,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,0,,,,,, +util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,0,,,,,, +util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,0,,,,,, +util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,0,,,,, +util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,0,,,,, +util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,0,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.VEH == 0)),,,0,0,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,0,0,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,0,0,,,,,,,,, +util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,0,0,,,,,,, +util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,0,0,,,,,,, +util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,0,0,,,,,,, +util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,0,,,, +util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,0,,,, +util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,0,,,, +util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,0,,, +util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,0,,, +util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,0,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,0,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,0,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,0,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,0, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,0, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,0, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.VEH == 0)),,,,,,,,,,,,,0 +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,,,,,,,,,,,0 +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.VEH >= df.NWRKRS_ESR)),,,,,,,,,,,,,0 +#,calibration,,,,,,,,,,,,,, +util_Walk_to_Transit_dest_CBD_SF,Walk to Transit dest CBD SF,@df.destination_in_cbd_sf,,,,,,,,,asc_wtransit_cbd_sf,,,, +util_Walk_to_Transit_dest_NW_SF,walk to Transit dest NW SF,@df.destination_in_nw_sf,,,,,,,,,asc_wtransit_nw_sf,,,, +util_Walk_to_Transit_dest_SE_SF,Walk to Transit dest SE SF,@df.destination_in_se_sf,,,,,,,,,asc_wtransit_se_sf,,,, +util_Drive_to_Transit_dest_CBD_SF,Drive to Transit dest CBD SF,@df.destination_in_cbd_sf,,,,,,,,,,asc_dtransit_cbd_sf,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@(50-2.5*odt_skims['DISTDA']).clip(lower=0),,,,,,,,,,coef_ivt,,, +util_Walk_to_Transit_distance_penalty,Walk to Transit - distance penalty,@(200-133*odt_skims['DISTDA']).clip(lower=0),,,,,,,,,coef_ivt,,,, +util_Transit_Pseudo_area_type_constant,Transit - Pseudo area type constant,@asc_Transit_Pseudo_area_type_constant * (df.daily_parking_cost>0),,,,,,,,,coef_ivt,coef_ivt,,, +util_TM2_Round_2_ASC_adjustment_for_0_Autos_HHs,TM2_Round_2_ASC_adjustment_for_0_Autos_HHs,@(df.is_indiv & (df.VEH == 0)),,,zeroAutoHH_SHARED2HOV,zeroAutoHH_SHARED2PAY,zeroAutoHH_SHARED3HOV,zeroAutoHH_SHARED3PAY,zeroAutoHH_WALK,zeroAutoHH_BIKE,zeroAutoHH_WALK_SET,zeroAutoHH_PNR_SET,,, +util_TM2_Round_2_ASC_adjustment_for_Auto_Defecient_HHs,TM2_Round_2_ASC_adjustment_for_Auto_Defecient_HHs,@(df.is_indiv & (df.VEH < df.NWRKRS_ESR) & (df.VEH > 0)),,,autoDeficientHH_SHARED2HOV,autoDeficientHH_SHARED2PAY,autoDeficientHH_SHARED3HOV,autoDeficientHH_SHARED3PAY,autoDeficientHH_WALK,autoDeficientHH_BIKE,autoDeficientHH_WALK_SET,autoDeficientHH_PNR_SET,,, +util_TM2_Round_2_ASC_adjustment_for_Auto_Sufficient_HHs,TM2_Round_2_ASC_adjustment_for_Auto_Sufficient_HHs,@(df.is_indiv & (df.VEH >= df.NWRKRS_ESR)),,,autoSufficientHH_SHARED2HOV,autoSufficientHH_SHARED2PAY,autoSufficientHH_SHARED3HOV,autoSufficientHH_SHARED3PAY,autoSufficientHH_WALK,autoSufficientHH_BIKE,autoSufficientHH_WALK_SET,autoSufficientHH_PNR_SET,,, +util_taxi_penalty,taxi penalty,@asc_taxi_penalty,,,,,,,,,,,coef_one,, +util_no_tnc,turn off tnc,1,,,,,,,,,,,,-999,-999 diff --git a/activitysim/examples/example_marin/configs/tour_mode_choice.yaml b/activitysim/examples/prototype_marin/configs/tour_mode_choice.yaml similarity index 95% rename from activitysim/examples/example_marin/configs/tour_mode_choice.yaml rename to activitysim/examples/prototype_marin/configs/tour_mode_choice.yaml index 5aadac97d7..61e0ab6772 100755 --- a/activitysim/examples/example_marin/configs/tour_mode_choice.yaml +++ b/activitysim/examples/prototype_marin/configs/tour_mode_choice.yaml @@ -1,188 +1,188 @@ -LOGIT_TYPE: NL -#LOGIT_TYPE: MNL - -tvpb_mode_path_types: - DRIVE_TRANSIT: - od: DTW - do: WTD - WALK_TRANSIT: - od: WTW - do: WTW - -NESTS: - name: root - coefficient: coef_nest_root - alternatives: - - name: AUTO - coefficient: coef_nest_AUTO - alternatives: - - name: DRIVEALONE - coefficient: coef_nest_AUTO_DRIVEALONE - alternatives: - - DRIVEALONEFREE - - DRIVEALONEPAY - - name: SHAREDRIDE2 - coefficient: coef_nest_AUTO_SHAREDRIDE2 - alternatives: - - SHARED2FREE - - SHARED2PAY - - name: SHAREDRIDE3 - coefficient: coef_nest_AUTO_SHAREDRIDE3 - alternatives: - - SHARED3FREE - - SHARED3PAY - - name: NONMOTORIZED - coefficient: coef_nest_NONMOTORIZED - alternatives: - - WALK - - BIKE - - name: TRANSIT - coefficient: coef_nest_TRANSIT - alternatives: - - WALK_TRANSIT - - DRIVE_TRANSIT - - name: RIDEHAIL - coefficient: coef_nest_RIDEHAIL - alternatives: - - TAXI - - TNC_SINGLE - - TNC_SHARED - -SPEC: tour_mode_choice.csv -COEFFICIENTS: tour_mode_choice_coefficients.csv -COEFFICIENT_TEMPLATE: tour_mode_choice_coefficients_template.csv - -CONSTANTS: - #valueOfTime: 8.00 - costPerMile: 17.23 - costShareSr2: 1.11 - costShareSr3: 1.25 -# waitThresh: 10.00 - walkThresh: 3.0 -# shortWalk: 0.333 -# longWalk: 0.667 - walkSpeed: 3.00 - bikeThresh: 12.00 - bikeSpeed: 12.00 -# maxCbdAreaTypeThresh: 2 -# indivTour: 1.00000 -# upperEA: 5 -# upperAM: 10 -# upperMD: 15 -# upperPM: 19 - # RIDEHAIL Settings - Taxi_baseFare: 2.20 - Taxi_costPerMile: 2.30 - Taxi_costPerMinute: 0.10 - Taxi_waitTime_mean: - 1: 5.5 - 2: 9.5 - 3: 13.3 - 4: 17.3 - 5: 26.5 - Taxi_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_single_baseFare: 2.20 - TNC_single_costPerMile: 1.33 - TNC_single_costPerMinute: 0.24 - TNC_single_costMinimum: 7.20 - TNC_single_waitTime_mean: - 1: 3.0 - 2: 6.3 - 3: 8.4 - 4: 8.5 - 5: 10.3 - TNC_single_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - TNC_shared_baseFare: 2.20 - TNC_shared_costPerMile: 0.53 - TNC_shared_costPerMinute: 0.10 - TNC_shared_costMinimum: 3.00 - TNC_shared_IVTFactor: 1.5 - TNC_shared_waitTime_mean: - 1: 5.0 - 2: 8.0 - 3: 11.0 - 4: 15.0 - 5: 15.0 - TNC_shared_waitTime_sd: - 1: 0 - 2: 0 - 3: 0 - 4: 0 - 5: 0 - min_waitTime: 0 - max_waitTime: 50 -# - ivt_cost_multiplier: 0.6 -# ivt_lrt_multiplier: 0.9 -# ivt_ferry_multiplier: 0.8 -# ivt_exp_multiplier: 1 -# ivt_hvy_multiplier: 0.8 -# ivt_com_multiplier: 0.7 - walktimeshort_multiplier: 2 -# walktimelong_multiplier: 10 -# biketimeshort_multiplier: 4 -# biketimelong_multiplier: 20 -# short_i_wait_multiplier: 2 -# long_i_wait_multiplier: 1 -# wacc_multiplier: 2 -# wegr_multiplier: 2 -# waux_multiplier: 2 -# dtim_multiplier: 2 -# xwait_multiplier: 2 -# dacc_ratio: 0 -# xfers_wlk_multiplier: 10 -# xfers_drv_multiplier: 20 - drvtrn_distpen_0_multiplier: 270 - drvtrn_distpen_max: 15 -# density_index_multiplier: -0.2 - joint_sr2_ASC_no_auto: 0 - joint_sr2_ASC_auto_deficient: 0 - joint_sr2_ASC_auto_sufficient: 0 - joint_drive_transit_ASC_no_auto: 0 - c_auto_operating_cost_per_mile: 17.23 - - -# so far, we can use the same spec as for non-joint tours -preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - - tours - -nontour_preprocessor: - SPEC: tour_mode_choice_annotate_choosers_preprocessor - DF: choosers - TABLES: - - land_use - -# to reduce memory needs filter chooser table to these fields -LOGSUM_CHOOSER_COLUMNS: - - tour_type - - hhsize - - density_index - - age - - age_16_p - - age_16_to_19 - - auto_ownership - - number_of_participants - - tour_category - - num_workers - - value_of_time - - free_parking_at_work - - income_segment - - demographic_segment - - c_ivt_for_segment - - c_cost_for_segment - -MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum +LOGIT_TYPE: NL +#LOGIT_TYPE: MNL + +tvpb_mode_path_types: + DRIVE_TRANSIT: + od: DTW + do: WTD + WALK_TRANSIT: + od: WTW + do: WTW + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - name: DRIVEALONE + coefficient: coef_nest_AUTO_DRIVEALONE + alternatives: + - DRIVEALONEFREE + - DRIVEALONEPAY + - name: SHAREDRIDE2 + coefficient: coef_nest_AUTO_SHAREDRIDE2 + alternatives: + - SHARED2FREE + - SHARED2PAY + - name: SHAREDRIDE3 + coefficient: coef_nest_AUTO_SHAREDRIDE3 + alternatives: + - SHARED3FREE + - SHARED3PAY + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - WALK_TRANSIT + - DRIVE_TRANSIT + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coefficients.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coefficients_template.csv + +CONSTANTS: + #valueOfTime: 8.00 + costPerMile: 17.23 + costShareSr2: 1.11 + costShareSr3: 1.25 +# waitThresh: 10.00 + walkThresh: 3.0 +# shortWalk: 0.333 +# longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 12.00 + bikeSpeed: 12.00 +# maxCbdAreaTypeThresh: 2 +# indivTour: 1.00000 +# upperEA: 5 +# upperAM: 10 +# upperMD: 15 +# upperPM: 19 + # RIDEHAIL Settings + Taxi_baseFare: 2.20 + Taxi_costPerMile: 2.30 + Taxi_costPerMinute: 0.10 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_single_baseFare: 2.20 + TNC_single_costPerMile: 1.33 + TNC_single_costPerMinute: 0.24 + TNC_single_costMinimum: 7.20 + TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 + TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + TNC_shared_baseFare: 2.20 + TNC_shared_costPerMile: 0.53 + TNC_shared_costPerMinute: 0.10 + TNC_shared_costMinimum: 3.00 + TNC_shared_IVTFactor: 1.5 + TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 + TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + min_waitTime: 0 + max_waitTime: 50 +# + ivt_cost_multiplier: 0.6 +# ivt_lrt_multiplier: 0.9 +# ivt_ferry_multiplier: 0.8 +# ivt_exp_multiplier: 1 +# ivt_hvy_multiplier: 0.8 +# ivt_com_multiplier: 0.7 + walktimeshort_multiplier: 2 +# walktimelong_multiplier: 10 +# biketimeshort_multiplier: 4 +# biketimelong_multiplier: 20 +# short_i_wait_multiplier: 2 +# long_i_wait_multiplier: 1 +# wacc_multiplier: 2 +# wegr_multiplier: 2 +# waux_multiplier: 2 +# dtim_multiplier: 2 +# xwait_multiplier: 2 +# dacc_ratio: 0 +# xfers_wlk_multiplier: 10 +# xfers_drv_multiplier: 20 + drvtrn_distpen_0_multiplier: 270 + drvtrn_distpen_max: 15 +# density_index_multiplier: -0.2 + joint_sr2_ASC_no_auto: 0 + joint_sr2_ASC_auto_deficient: 0 + joint_sr2_ASC_auto_sufficient: 0 + joint_drive_transit_ASC_no_auto: 0 + c_auto_operating_cost_per_mile: 17.23 + + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - tours + +nontour_preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + - income_segment + - demographic_segment + - c_ivt_for_segment + - c_cost_for_segment + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/example_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 98% rename from activitysim/examples/example_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/prototype_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv index 1e9f1978a6..0f87f09e16 100755 --- a/activitysim/examples/example_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv +++ b/activitysim/examples/prototype_marin/configs/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -1,87 +1,87 @@ -Description,Target,Expression, -#,,, -,number_of_participants,1, -,is_joint,False, -#,,, -,_HAVE_PARENT_TOURS,False, -,_parent_tour_mode,False, -,work_tour_is_drive,False, -,work_tour_is_bike,False, -,work_tour_is_SOV,False, -#,,, -,is_mandatory,True, -,is_joint,False, -,is_indiv,~is_joint, -,is_atwork_subtour,False, -,is_escort,False, -#,,, -income_in_thousands,income_in_thousands,(df.HHINCADJ / 1000).clip(lower=0), -income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)", -,demographic_segment,income_segment.map(TVPB_demographic_segments_by_income_segment), -#,c_ivt_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)", -#,c_cost_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)", -#,,, -#,c_cost,(0.60 * c_ivt) / df.value_of_time, -# ivot * (c_ivt_cost_multiplier * c_ivt),,, -,ivot,1.0 / df.value_of_time, -# RIDEHAIL,,, -,origin_density_measure,"(reindex(land_use.POP, df[orig_col_name]) + reindex(land_use.emp_total, df[orig_col_name])) / (reindex(land_use.ACRES, df[orig_col_name]) / 640)", -,dest_density_measure,"(reindex(land_use.POP, df[dest_col_name]) + reindex(land_use.emp_total, df[dest_col_name])) / (reindex(land_use.ACRES, df[dest_col_name]) / 640)", -,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", -,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", -,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", -,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", -,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", -,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", -# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from -,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", -,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", -,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", -,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", -,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", -,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", -,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", -,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", -,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", -,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime, -,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime, -,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime, -#,,, -,_free_parking_available,(df.tour_type == 'work') & (df.fp_choice == 1), -,_dest_hourly_peak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", -,_dest_hourly_offpeak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", -,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)", -,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)", -just hourly instead of times duration for now,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost, _hourly_offpeak_parking_cost)", -#,,, -,distance,(odt_skims['DISTDA']), -,sov_available,(odt_skims['TIMEDA']>0) & (dot_skims['TIMEDA']>0), -,sovtoll_available,(odt_skims['TOLLVTOLLDA']>0) | (dot_skims['TOLLVTOLLDA']>0), -,hov2_available,(odt_skims['TIMES2'] + dot_skims['TIMES2'])>0, -,hov2toll_available,(odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2'])>0, -,hov3_available,(odt_skims['TIMES3']>0) & (dot_skims['TIMES3']>0), -,hov3toll_available,(odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3'])>0, -,walk_available,"od_skims.lookup('WALK_DIST').between(0.01, walkThresh) & od_skims.reverse('WALK_DIST').between(0.01, walkThresh)", -,bike_available,"od_skims.lookup('BIKE_DIST').between(0.01, bikeThresh) & od_skims.reverse('BIKE_DIST').between(0.01, bikeThresh)", -#,,, -destination district,destination_in_cbd_sf,"reindex(land_use.DistID, df[dest_col_name])==1", -destination district,destination_in_nw_sf,"reindex(land_use.DistID, df[dest_col_name])==2", -destination district,destination_in_se_sf,"reindex(land_use.DistID, df[dest_col_name])==3", -#,,, -,origin_terminal_time,"reindex(land_use.TERMINALTIME, df[orig_col_name])", -,dest_terminal_time,"reindex(land_use.TERMINALTIME, df[dest_col_name])", -,origin_DUDen,"reindex(land_use.DUDen, df[orig_col_name])", -,dest_DUDen,"reindex(land_use.DUDen, df[dest_col_name])", -,origin_EmpDen,"reindex(land_use.EmpDen, df[orig_col_name])", -,dest_EmpDen,"reindex(land_use.EmpDen, df[dest_col_name])", -,origin_TotInt,"reindex(land_use.TotInt, df[orig_col_name])", -,dest_TotInt,"reindex(land_use.TotInt, df[dest_col_name])", -,origin_Mix,"(origin_DUDen * origin_EmpDen) / np.where((origin_DUDen + origin_EmpDen) > 0, (origin_DUDen + origin_EmpDen), 0.001)", -,dest_Mix,"(dest_DUDen * dest_EmpDen) / np.where((dest_DUDen + dest_EmpDen) > 0, (dest_DUDen + dest_EmpDen), 0.001)", -# diagnostic,,, -#,sov_dist_roundtrip,(odt_skims['DISTDA'] + dot_skims['DISTDA']), +Description,Target,Expression, +#,,, +,number_of_participants,1, +,is_joint,False, +#,,, +,_HAVE_PARENT_TOURS,False, +,_parent_tour_mode,False, +,work_tour_is_drive,False, +,work_tour_is_bike,False, +,work_tour_is_SOV,False, +#,,, +,is_mandatory,True, +,is_joint,False, +,is_indiv,~is_joint, +,is_atwork_subtour,False, +,is_escort,False, +#,,, +income_in_thousands,income_in_thousands,(df.HHINCADJ / 1000).clip(lower=0), +income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 30, 60, 100, np.inf], labels=[1, 2, 3, 4]).astype(int)", +,demographic_segment,income_segment.map(TVPB_demographic_segments_by_income_segment), +#,c_ivt_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)", +#,c_cost_for_segment,"np.where(demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)", +#,,, +#,c_cost,(0.60 * c_ivt) / df.value_of_time, +# ivot * (c_ivt_cost_multiplier * c_ivt),,, +,ivot,1.0 / df.value_of_time, +# RIDEHAIL,,, +,origin_density_measure,"(reindex(land_use.POP, df[orig_col_name]) + reindex(land_use.emp_total, df[orig_col_name])) / (reindex(land_use.ACRES, df[orig_col_name]) / 640)", +,dest_density_measure,"(reindex(land_use.POP, df[dest_col_name]) + reindex(land_use.emp_total, df[dest_col_name])) / (reindex(land_use.ACRES, df[dest_col_name]) / 640)", +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", +,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", +,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", +,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", +# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", +,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", +,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", +,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", +,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime, +,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime, +,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime, +#,,, +,_free_parking_available,(df.tour_type == 'work') & (df.fp_choice == 1), +,_dest_hourly_peak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", +,_dest_hourly_offpeak_parking_cost,"reindex(land_use.hparkcost, df[dest_col_name])", +,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)", +,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)", +just hourly instead of times duration for now,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost, _hourly_offpeak_parking_cost)", +#,,, +,distance,(odt_skims['DISTDA']), +,sov_available,(odt_skims['TIMEDA']>0) & (dot_skims['TIMEDA']>0), +,sovtoll_available,(odt_skims['TOLLVTOLLDA']>0) | (dot_skims['TOLLVTOLLDA']>0), +,hov2_available,(odt_skims['TIMES2'] + dot_skims['TIMES2'])>0, +,hov2toll_available,(odt_skims['TOLLVTOLLS2'] + dot_skims['TOLLVTOLLS2'])>0, +,hov3_available,(odt_skims['TIMES3']>0) & (dot_skims['TIMES3']>0), +,hov3toll_available,(odt_skims['TOLLVTOLLS3'] + dot_skims['TOLLVTOLLS3'])>0, +,walk_available,"od_skims.lookup('WALK_DIST').between(0.01, walkThresh) & od_skims.reverse('WALK_DIST').between(0.01, walkThresh)", +,bike_available,"od_skims.lookup('BIKE_DIST').between(0.01, bikeThresh) & od_skims.reverse('BIKE_DIST').between(0.01, bikeThresh)", +#,,, +destination district,destination_in_cbd_sf,"reindex(land_use.DistID, df[dest_col_name])==1", +destination district,destination_in_nw_sf,"reindex(land_use.DistID, df[dest_col_name])==2", +destination district,destination_in_se_sf,"reindex(land_use.DistID, df[dest_col_name])==3", +#,,, +,origin_terminal_time,"reindex(land_use.TERMINALTIME, df[orig_col_name])", +,dest_terminal_time,"reindex(land_use.TERMINALTIME, df[dest_col_name])", +,origin_DUDen,"reindex(land_use.DUDen, df[orig_col_name])", +,dest_DUDen,"reindex(land_use.DUDen, df[dest_col_name])", +,origin_EmpDen,"reindex(land_use.EmpDen, df[orig_col_name])", +,dest_EmpDen,"reindex(land_use.EmpDen, df[dest_col_name])", +,origin_TotInt,"reindex(land_use.TotInt, df[orig_col_name])", +,dest_TotInt,"reindex(land_use.TotInt, df[dest_col_name])", +,origin_Mix,"(origin_DUDen * origin_EmpDen) / np.where((origin_DUDen + origin_EmpDen) > 0, (origin_DUDen + origin_EmpDen), 0.001)", +,dest_Mix,"(dest_DUDen * dest_EmpDen) / np.where((dest_DUDen + dest_EmpDen) > 0, (dest_DUDen + dest_EmpDen), 0.001)", +# diagnostic,,, +#,sov_dist_roundtrip,(odt_skims['DISTDA'] + dot_skims['DISTDA']), diff --git a/activitysim/examples/example_marin/configs/tour_mode_choice_coefficients.csv b/activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients.csv similarity index 97% rename from activitysim/examples/example_marin/configs/tour_mode_choice_coefficients.csv rename to activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients.csv index 22e88732da..ed7ee8e220 100755 --- a/activitysim/examples/example_marin/configs/tour_mode_choice_coefficients.csv +++ b/activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients.csv @@ -1,394 +1,394 @@ -coefficient_name,value,constrain -coef_one,1,T -coef_nest_root,1,T -coef_nest_AUTO,0.72,T -coef_nest_AUTO_DRIVEALONE,0.35,T -coef_nest_AUTO_SHAREDRIDE2,0.35,T -coef_nest_AUTO_SHAREDRIDE3,0.35,T -coef_nest_NONMOTORIZED,0.72,T -coef_nest_TRANSIT,0.72,T -coef_nest_TRANSIT_WALKACCESS,0.5,T -coef_nest_TRANSIT_DRIVEACCESS,0.5,T -coef_nest_RIDEHAIL,0.36,T -coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F -coef_ivt_school_univ,-0.0224,F -coef_ivt_work,-0.016,F -coef_ivt_atwork,-0.0188,F -coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F -coef_topology_walk_multiplier_atwork,7.5,F -coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F -coef_topology_bike_multiplier_atwork,10,F -coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F -coef_topology_trn_multiplier_atwork,2,F -coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age1619_da_multiplier_school_univ,-1.3813,F -coef_age1619_da_multiplier_atwork,0.0032336,F -coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age010_trn_multiplier_school_univ,-1.5548,F -coef_age010_trn_multiplier_atwork,0.000722,F -coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F -coef_age16p_sr_multiplier_school_univ_work_atwork,0,F -coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F -coef_hhsize1_sr_multiplier_work,-0.734588,F -coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F -coef_hhsize2_sr_multiplier_school_univ,-0.6359,F -coef_walk_access_time,-0.03,T -coef_walk_egress_time,-0.03,T -c_age1624_sr2,-0.21388,T -c_age1624_sr3,-1.79023,T -c_age1624_nmot,0.30322,T -c_age1624_tran,0.79472,T -c_age4155_sr2,-0.30638,T -c_age4155_sr3,-0.41025,T -c_age4155_nmot,-0.17752,T -c_age4155_tran,-0.42301,T -c_age5664_sr2,-1.02962,T -c_age5664_sr3,-0.85641,T -c_age5664_nmot,-0.64534,T -c_age5664_tran,-0.44991,T -c_age65pl_sr2,-0.67111,T -c_age65pl_sr3,-1.43462,T -c_age65pl_nmot,-1.45334,T -c_age65pl_tran,-1.1231,T -c_female_sr2,0.59473,T -c_female_sr3,0.84806,T -c_female_tran,0.15779,T -c_female_nmot,0,T -c_size2_sr2,1.06964,T -c_size2_sr3,-0.46736,T -c_size3_sr2,1.58018,T -c_size3_sr3,0.65463,T -c_size4p_sr2,1.68839,T -c_size4p_sr3,1.4987,T -c_walkTime,-0.059,T -c_bikeTime,-0.0492,T -c_oMix_nmot,0.21014,T -c_oMix_wtran,0,T -c_oIntDen_nmot,0.003,T -c_oIntDen_wtran,0,T -c_dEmpDen_nmot,0.02071,T -c_dEmpDen_wtran,0,T -c_dEmpDen_dtran,0,T -walk_ASC_no_auto_eatout,5.1251173,F -walk_ASC_no_auto_escort,2.8012068,F -walk_ASC_no_auto_othdiscr,3.2665946,F -walk_ASC_no_auto_othmaint,1.287299,F -walk_ASC_no_auto_school,18.414557,F -walk_ASC_no_auto_shopping,2.3768773,F -walk_ASC_no_auto_social,1.8680915,F -walk_ASC_no_auto_univ,6.408967,F -walk_ASC_no_auto_work,5.7672157,F -walk_ASC_no_auto_atwork,6.669213,F -walk_ASC_auto_deficient_eatout,3.274605,F -walk_ASC_auto_deficient_escort,-0.90204656,F -walk_ASC_auto_deficient_othdiscr,2.2494075,F -walk_ASC_auto_deficient_othmaint,1.3690404,F -walk_ASC_auto_deficient_school,3.2573624,F -walk_ASC_auto_deficient_shopping,2.2701733,F -walk_ASC_auto_deficient_social,2.870184,F -walk_ASC_auto_deficient_univ,4.50591,F -walk_ASC_auto_deficient_work,2.4010417,F -walk_ASC_auto_deficient_atwork,0.92546093,F -walk_ASC_auto_sufficient_eatout,1.5516903,F -walk_ASC_auto_sufficient_escort,-0.8116066,F -walk_ASC_auto_sufficient_othdiscr,1.2633476,F -walk_ASC_auto_sufficient_othmaint,0.7999634,F -walk_ASC_auto_sufficient_school,0.6476856,F -walk_ASC_auto_sufficient_shopping,0.7312663,F -walk_ASC_auto_sufficient_social,1.7072186,F -walk_ASC_auto_sufficient_univ,1.0607665,F -walk_ASC_auto_sufficient_work,0.053265337,F -walk_ASC_auto_sufficient_atwork,0.677216,F -bike_ASC_no_auto_eatout,0.86807096,F -bike_ASC_no_auto_escort,-0.716212,F -bike_ASC_no_auto_othdiscr,-0.3764232,F -bike_ASC_no_auto_othmaint,1.5394334,F -bike_ASC_no_auto_school,12.098735,F -bike_ASC_no_auto_shopping,0.8341555,F -bike_ASC_no_auto_social,0.02058321,F -bike_ASC_no_auto_univ,4.2945156,F -bike_ASC_no_auto_work,3.1940088,F -bike_ASC_no_auto_atwork,-0.90725845,F -bike_ASC_auto_deficient_eatout,-1.5691106,F -bike_ASC_auto_deficient_escort,-4.527928,F -bike_ASC_auto_deficient_othdiscr,-0.09246834,F -bike_ASC_auto_deficient_othmaint,-1.5184649,F -bike_ASC_auto_deficient_school,-0.5280678,F -bike_ASC_auto_deficient_shopping,-0.87584466,F -bike_ASC_auto_deficient_social,0.6345214,F -bike_ASC_auto_deficient_univ,-0.669235,F -bike_ASC_auto_deficient_work,0.25318968,F -bike_ASC_auto_deficient_atwork,-0.8074083,F -bike_ASC_auto_sufficient_eatout,-1.2003471,F -bike_ASC_auto_sufficient_escort,-5.0631084,F -bike_ASC_auto_sufficient_othdiscr,-1.0714597,F -bike_ASC_auto_sufficient_othmaint,-2.8083024,F -bike_ASC_auto_sufficient_school,-2.1134686,F -bike_ASC_auto_sufficient_shopping,-2.5662103,F -bike_ASC_auto_sufficient_social,-1.368071,F -bike_ASC_auto_sufficient_univ,-1.9397832,F -bike_ASC_auto_sufficient_work,-1.5800232,F -bike_ASC_auto_sufficient_atwork,15.72017,F -sr2_ASC_no_auto_all,0,F -sr2_ASC_auto_deficient_eatout,0.5882345,F -sr2_ASC_auto_deficient_escort,0,F -sr2_ASC_auto_deficient_othdiscr,0.6601513,F -sr2_ASC_auto_deficient_othmaint,0.2621527,F -sr2_ASC_auto_deficient_school,0.12474365,F -sr2_ASC_auto_deficient_shopping,0.24409756,F -sr2_ASC_auto_deficient_social,1.8558528,F -sr2_ASC_auto_deficient_univ,-1.6922346,F -sr2_ASC_auto_deficient_work,-0.33803123,F -sr2_ASC_auto_deficient_atwork,-2.1102421,F -sr2_ASC_auto_sufficient_eatout,0.86280555,F -sr2_ASC_auto_sufficient_escort,0,F -sr2_ASC_auto_sufficient_othdiscr,0.49684617,F -sr2_ASC_auto_sufficient_othmaint,0.25817883,F -sr2_ASC_auto_sufficient_school,-1.6062657,F -sr2_ASC_auto_sufficient_shopping,0.19770707,F -sr2_ASC_auto_sufficient_social,0.5236025,F -sr2_ASC_auto_sufficient_univ,-1.859427,F -sr2_ASC_auto_sufficient_work,-1.0857458,F -sr2_ASC_auto_sufficient_atwork,-1.4450618,F -sr3p_ASC_no_auto_eatout,0.3219998,F -sr3p_ASC_no_auto_escort,-1.8129267,F -sr3p_ASC_no_auto_othdiscr,0.27216902,F -sr3p_ASC_no_auto_othmaint,-0.8031854,F -sr3p_ASC_no_auto_school,-6.0240827,F -sr3p_ASC_no_auto_shopping,-0.27978948,F -sr3p_ASC_no_auto_social,-1.4036902,F -sr3p_ASC_no_auto_univ,-6.056001,F -sr3p_ASC_no_auto_work,-0.5831269,F -sr3p_ASC_no_auto_atwork,0.5826626,F -sr3p_ASC_auto_deficient_eatout,0.04605236,F -sr3p_ASC_auto_deficient_escort,-0.40818766,F -sr3p_ASC_auto_deficient_othdiscr,1.0470966,F -sr3p_ASC_auto_deficient_othmaint,-1.3493925,F -sr3p_ASC_auto_deficient_school,0.7149571,F -sr3p_ASC_auto_deficient_shopping,-0.073370166,F -sr3p_ASC_auto_deficient_social,1.5007243,F -sr3p_ASC_auto_deficient_univ,-1.7277422,F -sr3p_ASC_auto_deficient_work,-0.8527042,F -sr3p_ASC_auto_deficient_atwork,-2.514658,F -sr3p_ASC_auto_sufficient_eatout,0.8468596,F -sr3p_ASC_auto_sufficient_escort,-0.05741253,F -sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F -sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F -sr3p_ASC_auto_sufficient_school,-1.0201935,F -sr3p_ASC_auto_sufficient_shopping,-0.077571295,F -sr3p_ASC_auto_sufficient_social,0.50617886,F -sr3p_ASC_auto_sufficient_univ,-1.9047098,F -sr3p_ASC_auto_sufficient_work,-1.4699702,F -sr3p_ASC_auto_sufficient_atwork,-1.652174,F -walk_transit_ASC_no_auto_eatout,2.5936368,F -walk_transit_ASC_no_auto_escort,-2.2172081,F -walk_transit_ASC_no_auto_othdiscr,2.2437785,F -walk_transit_ASC_no_auto_othmaint,2.5643456,F -walk_transit_ASC_no_auto_school,21.383749,F -walk_transit_ASC_no_auto_shopping,2.1067476,F -walk_transit_ASC_no_auto_social,1.3814651,F -walk_transit_ASC_no_auto_univ,8.786037,F -walk_transit_ASC_no_auto_work,5.0354166,F -walk_transit_ASC_no_auto_atwork,2.7041876,F -walk_transit_ASC_auto_deficient_eatout,-0.03896324,F -walk_transit_ASC_auto_deficient_escort,-4.960704,F -walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F -walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F -walk_transit_ASC_auto_deficient_school,4.120708,F -walk_transit_ASC_auto_deficient_shopping,-0.8476569,F -walk_transit_ASC_auto_deficient_social,0.97444487,F -walk_transit_ASC_auto_deficient_univ,3.1362555,F -walk_transit_ASC_auto_deficient_work,0.65302855,F -walk_transit_ASC_auto_deficient_atwork,-2.9988291,F -walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F -walk_transit_ASC_auto_sufficient_escort,-4.934847,F -walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F -walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F -walk_transit_ASC_auto_sufficient_school,0.74590874,F -walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F -walk_transit_ASC_auto_sufficient_social,-0.3453759,F -walk_transit_ASC_auto_sufficient_univ,0.4731163,F -walk_transit_ASC_auto_sufficient_work,-0.8916507,F -walk_transit_ASC_auto_sufficient_atwork,-3.401027,F -drive_transit_ASC_no_auto_all,0,F -drive_transit_ASC_auto_deficient_eatout,0.5998061,F -drive_transit_ASC_auto_deficient_escort,-1.1537067,F -drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F -drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F -drive_transit_ASC_auto_deficient_school,5.3252654,F -drive_transit_ASC_auto_deficient_shopping,-0.41849178,F -drive_transit_ASC_auto_deficient_social,1.5627195,F -drive_transit_ASC_auto_deficient_univ,1.8501176,F -drive_transit_ASC_auto_deficient_work,0.10081567,F -drive_transit_ASC_auto_deficient_atwork,-998.8196,F -drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F -drive_transit_ASC_auto_sufficient_escort,-4.6014247,F -drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F -drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F -drive_transit_ASC_auto_sufficient_school,1.40135,F -drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F -drive_transit_ASC_auto_sufficient_social,-0.61585575,F -drive_transit_ASC_auto_sufficient_univ,1.3587753,F -drive_transit_ASC_auto_sufficient_work,-1.0045459,F -drive_transit_ASC_auto_sufficient_atwork,-999.21466,F -taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F -taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F -taxi_ASC_no_auto_school_univ,-7,T -taxi_ASC_no_auto_work,4.7291,F -taxi_ASC_no_auto_atwork,4.1021,F -taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F -taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F -taxi_ASC_auto_deficient_school,-0.3338,F -taxi_ASC_auto_deficient_univ,4.2492,F -taxi_ASC_auto_deficient_work,-1.4766,F -taxi_ASC_auto_deficient_atwork,-4.4046,F -taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F -taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F -taxi_ASC_auto_sufficient_school,-2.4294,F -taxi_ASC_auto_sufficient_univ,-0.3131,F -taxi_ASC_auto_sufficient_work,-4.8509,F -taxi_ASC_auto_sufficient_atwork,-2.8804,F -tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F -tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F -tnc_single_ASC_no_auto_school,-7,T -tnc_single_ASC_no_auto_univ,-2.519,F -tnc_single_ASC_no_auto_work,5.7855,F -tnc_single_ASC_no_auto_atwork,4.4982,F -tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F -tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F -tnc_single_ASC_auto_deficient_school,-0.5524,F -tnc_single_ASC_auto_deficient_univ,1.0221,F -tnc_single_ASC_auto_deficient_work,-0.8013,F -tnc_single_ASC_auto_deficient_atwork,-3.7626,F -tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F -tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F -tnc_single_ASC_auto_sufficient_school,-2.8375,F -tnc_single_ASC_auto_sufficient_univ,0.2088,F -tnc_single_ASC_auto_sufficient_work,-4.1946,F -tnc_single_ASC_auto_sufficient_atwork,-2.7988,F -tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F -tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F -tnc_shared_ASC_no_auto_school,-7,T -tnc_shared_ASC_no_auto_univ,-5.8116,F -tnc_shared_ASC_no_auto_work,3.2429,F -tnc_shared_ASC_no_auto_atwork,3.3672,F -tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F -tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F -tnc_shared_ASC_auto_deficient_school,-1.4746,F -tnc_shared_ASC_auto_deficient_univ,3.25,F -tnc_shared_ASC_auto_deficient_work,-2.1435,F -tnc_shared_ASC_auto_deficient_atwork,-4.5089,F -tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F -tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F -tnc_shared_ASC_auto_sufficient_school,-3.7219,F -tnc_shared_ASC_auto_sufficient_univ,-0.9068,F -tnc_shared_ASC_auto_sufficient_work,-5.3575,F -tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F -joint_walk_ASC_no_auto_all,-0.21274701,F -joint_walk_ASC_auto_deficient_all,-1.9607706,F -joint_walk_ASC_auto_sufficient_all,-3.2352157,F -joint_bike_ASC_no_auto_all,-2.8671598,F -joint_bike_ASC_auto_deficient_all,-6.076415,F -joint_bike_ASC_auto_sufficient_all,-6.3760657,F -joint_sr2_ASC_no_auto_all,0,T -joint_sr2_ASC_auto_deficient_all,0,T -joint_sr2_ASC_auto_sufficient_all,0,T -joint_sr3p_ASC_no_auto_all,0.5630671,F -joint_sr3p_ASC_auto_deficient_all,-1.8841692,F -joint_sr3p_ASC_auto_sufficient_all,-2.234826,F -joint_walk_transit_ASC_no_auto_all,0.62292415,F -joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F -joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F -joint_drive_transit_ASC_no_auto_all,0,T -joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F -joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F -joint_taxi_ASC_no_auto_all,-4.5792,F -joint_taxi_ASC_auto_deficient_all,-9.8157,F -joint_taxi_ASC_auto_sufficient_all,-11.7099,T -joint_tnc_single_ASC_no_auto_all,-4.4917,F -joint_tnc_single_ASC_auto_deficient_all,-9.8961,F -joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T -joint_tnc_shared_ASC_no_auto_all,-4.3002,F -joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F -joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T -local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F -local_bus_ASC_school_univ,-0.06508621,F -local_bus_ASC_work,0.06689507,F -walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -walk_light_rail_ASC_school_univ,1.6814003,F -walk_light_rail_ASC_work,0.8255567,F -drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -drive_light_rail_ASC_school_univ,1.6814003,F -drive_light_rail_ASC_work,0.8255567,F -walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -walk_ferry_ASC_school_univ,2.0202317,F -walk_ferry_ASC_work,0.93322605,F -drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -drive_ferry_ASC_school_univ,2.0202317,F -drive_ferry_ASC_work,0.93322605,F -express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F -express_bus_ASC_school_univ,0.32496938,F -express_bus_ASC_work,-0.5165474,F -heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F -heavy_rail_ASC_school_univ,0.96200377,F -heavy_rail_ASC_work,0.64772975,F -commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F -commuter_rail_ASC_school_univ,1.0336206,F -commuter_rail_ASC_work,0.725503,F -walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -walk_transit_CBD_ASC_school_univ,0.672,F -walk_transit_CBD_ASC_work,0.804,F -walk_transit_CBD_ASC_atwork,0.564,F -drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -drive_transit_CBD_ASC_school_univ,0.672,F -drive_transit_CBD_ASC_work,1.1,F -drive_transit_CBD_ASC_atwork,0.564,F -zeroAutoHH_sr3,-0.466,F -zeroAutoHH_walk,6.823,F -zeroAutoHH_bike,3.536,F -zeroAutoHH_wt,10.326,F -zeroAutoHH_kt,8.281,F -autoDeficientHH_sr2,-2.166,F -autoDeficientHH_sr3,-2.580,F -autoDeficientHH_walk,2.794,F -autoDeficientHH_bike,-0.015,F -autoDeficientHH_wt,-0.940,F -autoDeficientHH_dt,-1.706,F -autoDeficientHH_kt,-2.229,F -autoSufficientHH_sr2,-2.582,F -autoSufficientHH_sr3,-2.580,F -autoSufficientHH_walk,0.729,F -autoSufficientHH_bike,-1.434,F -autoSufficientHH_wt,-2.582,F -autoSufficientHH_dt,-2.923,F -autoSufficientHH_kt,-3.493,F -asc_wtransit_cbd_sf,2.0000,F -asc_wtransit_nw_sf,1.2500,F -asc_wtransit_se_sf,1.2500,F -asc_dtransit_cbd_sf,1.2000,F -asc_Transit_Pseudo_area_type_constant,-55.0000,F -asc_taxi_penalty,-10.0000,F -zeroAutoHH_SHARED2HOV,0,F -autoDeficientHH_SHARED2HOV,0.2369,F -autoSufficientHH_SHARED2HOV,0.1127,F -zeroAutoHH_SHARED2PAY,0,F -autoDeficientHH_SHARED2PAY,0.2369,F -autoSufficientHH_SHARED2PAY,0.1127,F -zeroAutoHH_SHARED3HOV,-2.3789,F -autoDeficientHH_SHARED3HOV,0.2982,F -autoSufficientHH_SHARED3HOV,0.1494,F -zeroAutoHH_SHARED3PAY,-2.3789,F -autoDeficientHH_SHARED3PAY,0.2982,F -autoSufficientHH_SHARED3PAY,0.1494,F -zeroAutoHH_WALK,-9.6191,F -autoDeficientHH_WALK,-1.5999,F -autoSufficientHH_WALK,-2.6212,F -zeroAutoHH_BIKE,-8.1503,F -autoDeficientHH_BIKE,-2.1993,F -autoSufficientHH_BIKE,-3.3049,F -zeroAutoHH_WALK_SET,-0.4471,F -autoDeficientHH_WALK_SET,3.6328,F -autoSufficientHH_WALK_SET,1.4325,F -zeroAutoHH_PNR_SET,0,F -autoDeficientHH_PNR_SET,3.0458,F -autoSufficientHH_PNR_SET,1.6645,F +coefficient_name,value,constrain +coef_one,1,T +coef_nest_root,1,T +coef_nest_AUTO,0.72,T +coef_nest_AUTO_DRIVEALONE,0.35,T +coef_nest_AUTO_SHAREDRIDE2,0.35,T +coef_nest_AUTO_SHAREDRIDE3,0.35,T +coef_nest_NONMOTORIZED,0.72,T +coef_nest_TRANSIT,0.72,T +coef_nest_TRANSIT_WALKACCESS,0.5,T +coef_nest_TRANSIT_DRIVEACCESS,0.5,T +coef_nest_RIDEHAIL,0.36,T +coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F +coef_ivt_school_univ,-0.0224,F +coef_ivt_work,-0.016,F +coef_ivt_atwork,-0.0188,F +coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F +coef_topology_walk_multiplier_atwork,7.5,F +coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F +coef_topology_bike_multiplier_atwork,10,F +coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F +coef_topology_trn_multiplier_atwork,2,F +coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age1619_da_multiplier_school_univ,-1.3813,F +coef_age1619_da_multiplier_atwork,0.0032336,F +coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age010_trn_multiplier_school_univ,-1.5548,F +coef_age010_trn_multiplier_atwork,0.000722,F +coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F +coef_age16p_sr_multiplier_school_univ_work_atwork,0,F +coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F +coef_hhsize1_sr_multiplier_work,-0.734588,F +coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F +coef_hhsize2_sr_multiplier_school_univ,-0.6359,F +coef_walk_access_time,-0.03,T +coef_walk_egress_time,-0.03,T +c_age1624_sr2,-0.21388,T +c_age1624_sr3,-1.79023,T +c_age1624_nmot,0.30322,T +c_age1624_tran,0.79472,T +c_age4155_sr2,-0.30638,T +c_age4155_sr3,-0.41025,T +c_age4155_nmot,-0.17752,T +c_age4155_tran,-0.42301,T +c_age5664_sr2,-1.02962,T +c_age5664_sr3,-0.85641,T +c_age5664_nmot,-0.64534,T +c_age5664_tran,-0.44991,T +c_age65pl_sr2,-0.67111,T +c_age65pl_sr3,-1.43462,T +c_age65pl_nmot,-1.45334,T +c_age65pl_tran,-1.1231,T +c_female_sr2,0.59473,T +c_female_sr3,0.84806,T +c_female_tran,0.15779,T +c_female_nmot,0,T +c_size2_sr2,1.06964,T +c_size2_sr3,-0.46736,T +c_size3_sr2,1.58018,T +c_size3_sr3,0.65463,T +c_size4p_sr2,1.68839,T +c_size4p_sr3,1.4987,T +c_walkTime,-0.059,T +c_bikeTime,-0.0492,T +c_oMix_nmot,0.21014,T +c_oMix_wtran,0,T +c_oIntDen_nmot,0.003,T +c_oIntDen_wtran,0,T +c_dEmpDen_nmot,0.02071,T +c_dEmpDen_wtran,0,T +c_dEmpDen_dtran,0,T +walk_ASC_no_auto_eatout,5.1251173,F +walk_ASC_no_auto_escort,2.8012068,F +walk_ASC_no_auto_othdiscr,3.2665946,F +walk_ASC_no_auto_othmaint,1.287299,F +walk_ASC_no_auto_school,18.414557,F +walk_ASC_no_auto_shopping,2.3768773,F +walk_ASC_no_auto_social,1.8680915,F +walk_ASC_no_auto_univ,6.408967,F +walk_ASC_no_auto_work,5.7672157,F +walk_ASC_no_auto_atwork,6.669213,F +walk_ASC_auto_deficient_eatout,3.274605,F +walk_ASC_auto_deficient_escort,-0.90204656,F +walk_ASC_auto_deficient_othdiscr,2.2494075,F +walk_ASC_auto_deficient_othmaint,1.3690404,F +walk_ASC_auto_deficient_school,3.2573624,F +walk_ASC_auto_deficient_shopping,2.2701733,F +walk_ASC_auto_deficient_social,2.870184,F +walk_ASC_auto_deficient_univ,4.50591,F +walk_ASC_auto_deficient_work,2.4010417,F +walk_ASC_auto_deficient_atwork,0.92546093,F +walk_ASC_auto_sufficient_eatout,1.5516903,F +walk_ASC_auto_sufficient_escort,-0.8116066,F +walk_ASC_auto_sufficient_othdiscr,1.2633476,F +walk_ASC_auto_sufficient_othmaint,0.7999634,F +walk_ASC_auto_sufficient_school,0.6476856,F +walk_ASC_auto_sufficient_shopping,0.7312663,F +walk_ASC_auto_sufficient_social,1.7072186,F +walk_ASC_auto_sufficient_univ,1.0607665,F +walk_ASC_auto_sufficient_work,0.053265337,F +walk_ASC_auto_sufficient_atwork,0.677216,F +bike_ASC_no_auto_eatout,0.86807096,F +bike_ASC_no_auto_escort,-0.716212,F +bike_ASC_no_auto_othdiscr,-0.3764232,F +bike_ASC_no_auto_othmaint,1.5394334,F +bike_ASC_no_auto_school,12.098735,F +bike_ASC_no_auto_shopping,0.8341555,F +bike_ASC_no_auto_social,0.02058321,F +bike_ASC_no_auto_univ,4.2945156,F +bike_ASC_no_auto_work,3.1940088,F +bike_ASC_no_auto_atwork,-0.90725845,F +bike_ASC_auto_deficient_eatout,-1.5691106,F +bike_ASC_auto_deficient_escort,-4.527928,F +bike_ASC_auto_deficient_othdiscr,-0.09246834,F +bike_ASC_auto_deficient_othmaint,-1.5184649,F +bike_ASC_auto_deficient_school,-0.5280678,F +bike_ASC_auto_deficient_shopping,-0.87584466,F +bike_ASC_auto_deficient_social,0.6345214,F +bike_ASC_auto_deficient_univ,-0.669235,F +bike_ASC_auto_deficient_work,0.25318968,F +bike_ASC_auto_deficient_atwork,-0.8074083,F +bike_ASC_auto_sufficient_eatout,-1.2003471,F +bike_ASC_auto_sufficient_escort,-5.0631084,F +bike_ASC_auto_sufficient_othdiscr,-1.0714597,F +bike_ASC_auto_sufficient_othmaint,-2.8083024,F +bike_ASC_auto_sufficient_school,-2.1134686,F +bike_ASC_auto_sufficient_shopping,-2.5662103,F +bike_ASC_auto_sufficient_social,-1.368071,F +bike_ASC_auto_sufficient_univ,-1.9397832,F +bike_ASC_auto_sufficient_work,-1.5800232,F +bike_ASC_auto_sufficient_atwork,15.72017,F +sr2_ASC_no_auto_all,0,F +sr2_ASC_auto_deficient_eatout,0.5882345,F +sr2_ASC_auto_deficient_escort,0,F +sr2_ASC_auto_deficient_othdiscr,0.6601513,F +sr2_ASC_auto_deficient_othmaint,0.2621527,F +sr2_ASC_auto_deficient_school,0.12474365,F +sr2_ASC_auto_deficient_shopping,0.24409756,F +sr2_ASC_auto_deficient_social,1.8558528,F +sr2_ASC_auto_deficient_univ,-1.6922346,F +sr2_ASC_auto_deficient_work,-0.33803123,F +sr2_ASC_auto_deficient_atwork,-2.1102421,F +sr2_ASC_auto_sufficient_eatout,0.86280555,F +sr2_ASC_auto_sufficient_escort,0,F +sr2_ASC_auto_sufficient_othdiscr,0.49684617,F +sr2_ASC_auto_sufficient_othmaint,0.25817883,F +sr2_ASC_auto_sufficient_school,-1.6062657,F +sr2_ASC_auto_sufficient_shopping,0.19770707,F +sr2_ASC_auto_sufficient_social,0.5236025,F +sr2_ASC_auto_sufficient_univ,-1.859427,F +sr2_ASC_auto_sufficient_work,-1.0857458,F +sr2_ASC_auto_sufficient_atwork,-1.4450618,F +sr3p_ASC_no_auto_eatout,0.3219998,F +sr3p_ASC_no_auto_escort,-1.8129267,F +sr3p_ASC_no_auto_othdiscr,0.27216902,F +sr3p_ASC_no_auto_othmaint,-0.8031854,F +sr3p_ASC_no_auto_school,-6.0240827,F +sr3p_ASC_no_auto_shopping,-0.27978948,F +sr3p_ASC_no_auto_social,-1.4036902,F +sr3p_ASC_no_auto_univ,-6.056001,F +sr3p_ASC_no_auto_work,-0.5831269,F +sr3p_ASC_no_auto_atwork,0.5826626,F +sr3p_ASC_auto_deficient_eatout,0.04605236,F +sr3p_ASC_auto_deficient_escort,-0.40818766,F +sr3p_ASC_auto_deficient_othdiscr,1.0470966,F +sr3p_ASC_auto_deficient_othmaint,-1.3493925,F +sr3p_ASC_auto_deficient_school,0.7149571,F +sr3p_ASC_auto_deficient_shopping,-0.073370166,F +sr3p_ASC_auto_deficient_social,1.5007243,F +sr3p_ASC_auto_deficient_univ,-1.7277422,F +sr3p_ASC_auto_deficient_work,-0.8527042,F +sr3p_ASC_auto_deficient_atwork,-2.514658,F +sr3p_ASC_auto_sufficient_eatout,0.8468596,F +sr3p_ASC_auto_sufficient_escort,-0.05741253,F +sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F +sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F +sr3p_ASC_auto_sufficient_school,-1.0201935,F +sr3p_ASC_auto_sufficient_shopping,-0.077571295,F +sr3p_ASC_auto_sufficient_social,0.50617886,F +sr3p_ASC_auto_sufficient_univ,-1.9047098,F +sr3p_ASC_auto_sufficient_work,-1.4699702,F +sr3p_ASC_auto_sufficient_atwork,-1.652174,F +walk_transit_ASC_no_auto_eatout,2.5936368,F +walk_transit_ASC_no_auto_escort,-2.2172081,F +walk_transit_ASC_no_auto_othdiscr,2.2437785,F +walk_transit_ASC_no_auto_othmaint,2.5643456,F +walk_transit_ASC_no_auto_school,21.383749,F +walk_transit_ASC_no_auto_shopping,2.1067476,F +walk_transit_ASC_no_auto_social,1.3814651,F +walk_transit_ASC_no_auto_univ,8.786037,F +walk_transit_ASC_no_auto_work,5.0354166,F +walk_transit_ASC_no_auto_atwork,2.7041876,F +walk_transit_ASC_auto_deficient_eatout,-0.03896324,F +walk_transit_ASC_auto_deficient_escort,-4.960704,F +walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F +walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F +walk_transit_ASC_auto_deficient_school,4.120708,F +walk_transit_ASC_auto_deficient_shopping,-0.8476569,F +walk_transit_ASC_auto_deficient_social,0.97444487,F +walk_transit_ASC_auto_deficient_univ,3.1362555,F +walk_transit_ASC_auto_deficient_work,0.65302855,F +walk_transit_ASC_auto_deficient_atwork,-2.9988291,F +walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F +walk_transit_ASC_auto_sufficient_escort,-4.934847,F +walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F +walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F +walk_transit_ASC_auto_sufficient_school,0.74590874,F +walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F +walk_transit_ASC_auto_sufficient_social,-0.3453759,F +walk_transit_ASC_auto_sufficient_univ,0.4731163,F +walk_transit_ASC_auto_sufficient_work,-0.8916507,F +walk_transit_ASC_auto_sufficient_atwork,-3.401027,F +drive_transit_ASC_no_auto_all,0,F +drive_transit_ASC_auto_deficient_eatout,0.5998061,F +drive_transit_ASC_auto_deficient_escort,-1.1537067,F +drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F +drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F +drive_transit_ASC_auto_deficient_school,5.3252654,F +drive_transit_ASC_auto_deficient_shopping,-0.41849178,F +drive_transit_ASC_auto_deficient_social,1.5627195,F +drive_transit_ASC_auto_deficient_univ,1.8501176,F +drive_transit_ASC_auto_deficient_work,0.10081567,F +drive_transit_ASC_auto_deficient_atwork,-998.8196,F +drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F +drive_transit_ASC_auto_sufficient_escort,-4.6014247,F +drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F +drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F +drive_transit_ASC_auto_sufficient_school,1.40135,F +drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F +drive_transit_ASC_auto_sufficient_social,-0.61585575,F +drive_transit_ASC_auto_sufficient_univ,1.3587753,F +drive_transit_ASC_auto_sufficient_work,-1.0045459,F +drive_transit_ASC_auto_sufficient_atwork,-999.21466,F +taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F +taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F +taxi_ASC_no_auto_school_univ,-7,T +taxi_ASC_no_auto_work,4.7291,F +taxi_ASC_no_auto_atwork,4.1021,F +taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F +taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F +taxi_ASC_auto_deficient_school,-0.3338,F +taxi_ASC_auto_deficient_univ,4.2492,F +taxi_ASC_auto_deficient_work,-1.4766,F +taxi_ASC_auto_deficient_atwork,-4.4046,F +taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F +taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F +taxi_ASC_auto_sufficient_school,-2.4294,F +taxi_ASC_auto_sufficient_univ,-0.3131,F +taxi_ASC_auto_sufficient_work,-4.8509,F +taxi_ASC_auto_sufficient_atwork,-2.8804,F +tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F +tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F +tnc_single_ASC_no_auto_school,-7,T +tnc_single_ASC_no_auto_univ,-2.519,F +tnc_single_ASC_no_auto_work,5.7855,F +tnc_single_ASC_no_auto_atwork,4.4982,F +tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F +tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F +tnc_single_ASC_auto_deficient_school,-0.5524,F +tnc_single_ASC_auto_deficient_univ,1.0221,F +tnc_single_ASC_auto_deficient_work,-0.8013,F +tnc_single_ASC_auto_deficient_atwork,-3.7626,F +tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F +tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F +tnc_single_ASC_auto_sufficient_school,-2.8375,F +tnc_single_ASC_auto_sufficient_univ,0.2088,F +tnc_single_ASC_auto_sufficient_work,-4.1946,F +tnc_single_ASC_auto_sufficient_atwork,-2.7988,F +tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F +tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F +tnc_shared_ASC_no_auto_school,-7,T +tnc_shared_ASC_no_auto_univ,-5.8116,F +tnc_shared_ASC_no_auto_work,3.2429,F +tnc_shared_ASC_no_auto_atwork,3.3672,F +tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F +tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F +tnc_shared_ASC_auto_deficient_school,-1.4746,F +tnc_shared_ASC_auto_deficient_univ,3.25,F +tnc_shared_ASC_auto_deficient_work,-2.1435,F +tnc_shared_ASC_auto_deficient_atwork,-4.5089,F +tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F +tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F +tnc_shared_ASC_auto_sufficient_school,-3.7219,F +tnc_shared_ASC_auto_sufficient_univ,-0.9068,F +tnc_shared_ASC_auto_sufficient_work,-5.3575,F +tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F +joint_walk_ASC_no_auto_all,-0.21274701,F +joint_walk_ASC_auto_deficient_all,-1.9607706,F +joint_walk_ASC_auto_sufficient_all,-3.2352157,F +joint_bike_ASC_no_auto_all,-2.8671598,F +joint_bike_ASC_auto_deficient_all,-6.076415,F +joint_bike_ASC_auto_sufficient_all,-6.3760657,F +joint_sr2_ASC_no_auto_all,0,T +joint_sr2_ASC_auto_deficient_all,0,T +joint_sr2_ASC_auto_sufficient_all,0,T +joint_sr3p_ASC_no_auto_all,0.5630671,F +joint_sr3p_ASC_auto_deficient_all,-1.8841692,F +joint_sr3p_ASC_auto_sufficient_all,-2.234826,F +joint_walk_transit_ASC_no_auto_all,0.62292415,F +joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F +joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F +joint_drive_transit_ASC_no_auto_all,0,T +joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F +joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F +joint_taxi_ASC_no_auto_all,-4.5792,F +joint_taxi_ASC_auto_deficient_all,-9.8157,F +joint_taxi_ASC_auto_sufficient_all,-11.7099,T +joint_tnc_single_ASC_no_auto_all,-4.4917,F +joint_tnc_single_ASC_auto_deficient_all,-9.8961,F +joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T +joint_tnc_shared_ASC_no_auto_all,-4.3002,F +joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F +joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T +local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F +local_bus_ASC_school_univ,-0.06508621,F +local_bus_ASC_work,0.06689507,F +walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +walk_light_rail_ASC_school_univ,1.6814003,F +walk_light_rail_ASC_work,0.8255567,F +drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +drive_light_rail_ASC_school_univ,1.6814003,F +drive_light_rail_ASC_work,0.8255567,F +walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +walk_ferry_ASC_school_univ,2.0202317,F +walk_ferry_ASC_work,0.93322605,F +drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +drive_ferry_ASC_school_univ,2.0202317,F +drive_ferry_ASC_work,0.93322605,F +express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F +express_bus_ASC_school_univ,0.32496938,F +express_bus_ASC_work,-0.5165474,F +heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F +heavy_rail_ASC_school_univ,0.96200377,F +heavy_rail_ASC_work,0.64772975,F +commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F +commuter_rail_ASC_school_univ,1.0336206,F +commuter_rail_ASC_work,0.725503,F +walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +walk_transit_CBD_ASC_school_univ,0.672,F +walk_transit_CBD_ASC_work,0.804,F +walk_transit_CBD_ASC_atwork,0.564,F +drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +drive_transit_CBD_ASC_school_univ,0.672,F +drive_transit_CBD_ASC_work,1.1,F +drive_transit_CBD_ASC_atwork,0.564,F +zeroAutoHH_sr3,-0.466,F +zeroAutoHH_walk,6.823,F +zeroAutoHH_bike,3.536,F +zeroAutoHH_wt,10.326,F +zeroAutoHH_kt,8.281,F +autoDeficientHH_sr2,-2.166,F +autoDeficientHH_sr3,-2.580,F +autoDeficientHH_walk,2.794,F +autoDeficientHH_bike,-0.015,F +autoDeficientHH_wt,-0.940,F +autoDeficientHH_dt,-1.706,F +autoDeficientHH_kt,-2.229,F +autoSufficientHH_sr2,-2.582,F +autoSufficientHH_sr3,-2.580,F +autoSufficientHH_walk,0.729,F +autoSufficientHH_bike,-1.434,F +autoSufficientHH_wt,-2.582,F +autoSufficientHH_dt,-2.923,F +autoSufficientHH_kt,-3.493,F +asc_wtransit_cbd_sf,2.0000,F +asc_wtransit_nw_sf,1.2500,F +asc_wtransit_se_sf,1.2500,F +asc_dtransit_cbd_sf,1.2000,F +asc_Transit_Pseudo_area_type_constant,-55.0000,F +asc_taxi_penalty,-10.0000,F +zeroAutoHH_SHARED2HOV,0,F +autoDeficientHH_SHARED2HOV,0.2369,F +autoSufficientHH_SHARED2HOV,0.1127,F +zeroAutoHH_SHARED2PAY,0,F +autoDeficientHH_SHARED2PAY,0.2369,F +autoSufficientHH_SHARED2PAY,0.1127,F +zeroAutoHH_SHARED3HOV,-2.3789,F +autoDeficientHH_SHARED3HOV,0.2982,F +autoSufficientHH_SHARED3HOV,0.1494,F +zeroAutoHH_SHARED3PAY,-2.3789,F +autoDeficientHH_SHARED3PAY,0.2982,F +autoSufficientHH_SHARED3PAY,0.1494,F +zeroAutoHH_WALK,-9.6191,F +autoDeficientHH_WALK,-1.5999,F +autoSufficientHH_WALK,-2.6212,F +zeroAutoHH_BIKE,-8.1503,F +autoDeficientHH_BIKE,-2.1993,F +autoSufficientHH_BIKE,-3.3049,F +zeroAutoHH_WALK_SET,-0.4471,F +autoDeficientHH_WALK_SET,3.6328,F +autoSufficientHH_WALK_SET,1.4325,F +zeroAutoHH_PNR_SET,0,F +autoDeficientHH_PNR_SET,3.0458,F +autoSufficientHH_PNR_SET,1.6645,F diff --git a/activitysim/examples/example_marin/configs/tour_mode_choice_coefficients_template.csv b/activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients_template.csv similarity index 99% rename from activitysim/examples/example_marin/configs/tour_mode_choice_coefficients_template.csv rename to activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients_template.csv index f73dd5fd77..07808b2837 100755 --- a/activitysim/examples/example_marin/configs/tour_mode_choice_coefficients_template.csv +++ b/activitysim/examples/prototype_marin/configs/tour_mode_choice_coefficients_template.csv @@ -1,174 +1,174 @@ -coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork -#same for all segments,,,,,,,,,, -coef_one,,,,,,,,,, -coef_nest_root,,,,,,,,,, -coef_nest_AUTO,,,,,,,,,, -coef_nest_AUTO_DRIVEALONE,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, -coef_nest_NONMOTORIZED,,,,,,,,,, -coef_nest_TRANSIT,,,,,,,,,, -coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, -coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, -coef_nest_RIDEHAIL,,,,,,,,,, -#,,,,,,,,,, -coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork -coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork -coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork -coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork -coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork -coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork -coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork -coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork -coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork -walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork -walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork -walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork -bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork -bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork -bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork -sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all -sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork -sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork -sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork -sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork -sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork -walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork -walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork -walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork -drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all -drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork -drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork -taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork -taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork -taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork -tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork -tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork -tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork -tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork -tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork -tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork -joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all -joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all -joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all -joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all -joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all -joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all -joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all -joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all -joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all -joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all -joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all -joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all -joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all -joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all -joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all -joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all -joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all -joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all -joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all -joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all -joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all -joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all -joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all -joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all -joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all -joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all -joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all -local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork -drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork -#same for all segments,,,,,,,,,, -coef_walk_access_time,,,,,,,,,, -coef_walk_egress_time,,,,,,,,,, -c_age1624_sr2,,,,,,,,,, -c_age1624_sr3,,,,,,,,,, -c_age1624_nmot,,,,,,,,,, -c_age1624_tran,,,,,,,,,, -c_age4155_sr2,,,,,,,,,, -c_age4155_sr3,,,,,,,,,, -c_age4155_nmot,,,,,,,,,, -c_age4155_tran,,,,,,,,,, -c_age5664_sr2,,,,,,,,,, -c_age5664_sr3,,,,,,,,,, -c_age5664_nmot,,,,,,,,,, -c_age5664_tran,,,,,,,,,, -c_age65pl_sr2,,,,,,,,,, -c_age65pl_sr3,,,,,,,,,, -c_age65pl_nmot,,,,,,,,,, -c_age65pl_tran,,,,,,,,,, -c_female_sr2,,,,,,,,,, -c_female_sr3,,,,,,,,,, -c_female_tran,,,,,,,,,, -c_female_nmot,,,,,,,,,, -c_size2_sr2,,,,,,,,,, -c_size2_sr3,,,,,,,,,, -c_size3_sr2,,,,,,,,,, -c_size3_sr3,,,,,,,,,, -c_size4p_sr2,,,,,,,,,, -c_size4p_sr3,,,,,,,,,, -c_walkTime,,,,,,,,,, -c_bikeTime,,,,,,,,,, -c_oMix_nmot,,,,,,,,,, -c_oMix_wtran,,,,,,,,,, -c_oIntDen_nmot,,,,,,,,,, -c_oIntDen_wtran,,,,,,,,,, -c_dEmpDen_nmot,,,,,,,,,, -c_dEmpDen_wtran,,,,,,,,,, -c_dEmpDen_dtran,,,,,,,,,, -zeroAutoHH_sr3,,,,,,,,,, -zeroAutoHH_walk,,,,,,,,,, -zeroAutoHH_bike,,,,,,,,,, -zeroAutoHH_wt,,,,,,,,,, -zeroAutoHH_kt,,,,,,,,,, -autoDeficientHH_sr2,,,,,,,,,, -autoDeficientHH_sr3,,,,,,,,,, -autoDeficientHH_walk,,,,,,,,,, -autoDeficientHH_bike,,,,,,,,,, -autoDeficientHH_wt,,,,,,,,,, -autoDeficientHH_dt,,,,,,,,,, -autoDeficientHH_kt,,,,,,,,,, -autoSufficientHH_sr2,,,,,,,,,, -autoSufficientHH_sr3,,,,,,,,,, -autoSufficientHH_walk,,,,,,,,,, -autoSufficientHH_bike,,,,,,,,,, -autoSufficientHH_wt,,,,,,,,,, -autoSufficientHH_dt,,,,,,,,,, -autoSufficientHH_kt,,,,,,,,,, -asc_wtransit_cbd_sf,,,,,,,,,, -asc_wtransit_nw_sf,,,,,,,,,, -asc_wtransit_se_sf,,,,,,,,,, -asc_dtransit_cbd_sf,,,,,,,,,, -asc_Transit_Pseudo_area_type_constant,,,,,,,,,, -asc_taxi_penalty,,,,,,,,,, -zeroAutoHH_SHARED2HOV,,,,,,,,,, -autoDeficientHH_SHARED2HOV,,,,,,,,,, -autoSufficientHH_SHARED2HOV,,,,,,,,,, -zeroAutoHH_SHARED2PAY,,,,,,,,,, -autoDeficientHH_SHARED2PAY,,,,,,,,,, -autoSufficientHH_SHARED2PAY,,,,,,,,,, -zeroAutoHH_SHARED3HOV,,,,,,,,,, -autoDeficientHH_SHARED3HOV,,,,,,,,,, -autoSufficientHH_SHARED3HOV,,,,,,,,,, -zeroAutoHH_SHARED3PAY,,,,,,,,,, -autoDeficientHH_SHARED3PAY,,,,,,,,,, -autoSufficientHH_SHARED3PAY,,,,,,,,,, -zeroAutoHH_WALK,,,,,,,,,, -autoDeficientHH_WALK,,,,,,,,,, -autoSufficientHH_WALK,,,,,,,,,, -zeroAutoHH_BIKE,,,,,,,,,, -autoDeficientHH_BIKE,,,,,,,,,, -autoSufficientHH_BIKE,,,,,,,,,, -zeroAutoHH_WALK_SET,,,,,,,,,, -autoDeficientHH_WALK_SET,,,,,,,,,, -autoSufficientHH_WALK_SET,,,,,,,,,, -zeroAutoHH_PNR_SET,,,,,,,,,, -autoDeficientHH_PNR_SET,,,,,,,,,, +coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork +#same for all segments,,,,,,,,,, +coef_one,,,,,,,,,, +coef_nest_root,,,,,,,,,, +coef_nest_AUTO,,,,,,,,,, +coef_nest_AUTO_DRIVEALONE,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, +coef_nest_NONMOTORIZED,,,,,,,,,, +coef_nest_TRANSIT,,,,,,,,,, +coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, +coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, +coef_nest_RIDEHAIL,,,,,,,,,, +#,,,,,,,,,, +coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork +coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork +coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork +coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork +coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork +coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork +coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork +coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork +coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork +walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork +walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork +walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork +bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork +bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork +bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork +sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all +sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork +sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork +sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork +sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork +sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork +walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork +walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork +walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork +drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all +drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork +drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork +taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork +taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork +taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork +tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork +tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork +tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork +tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork +tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork +tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork +joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all +joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all +joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all +joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all +joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all +joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all +joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all +joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all +joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all +joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all +joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all +joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all +joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all +joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all +joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all +joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all +joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all +joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all +joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all +joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all +joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all +joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all +joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all +joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all +joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all +joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all +joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all +local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork +drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork +#same for all segments,,,,,,,,,, +coef_walk_access_time,,,,,,,,,, +coef_walk_egress_time,,,,,,,,,, +c_age1624_sr2,,,,,,,,,, +c_age1624_sr3,,,,,,,,,, +c_age1624_nmot,,,,,,,,,, +c_age1624_tran,,,,,,,,,, +c_age4155_sr2,,,,,,,,,, +c_age4155_sr3,,,,,,,,,, +c_age4155_nmot,,,,,,,,,, +c_age4155_tran,,,,,,,,,, +c_age5664_sr2,,,,,,,,,, +c_age5664_sr3,,,,,,,,,, +c_age5664_nmot,,,,,,,,,, +c_age5664_tran,,,,,,,,,, +c_age65pl_sr2,,,,,,,,,, +c_age65pl_sr3,,,,,,,,,, +c_age65pl_nmot,,,,,,,,,, +c_age65pl_tran,,,,,,,,,, +c_female_sr2,,,,,,,,,, +c_female_sr3,,,,,,,,,, +c_female_tran,,,,,,,,,, +c_female_nmot,,,,,,,,,, +c_size2_sr2,,,,,,,,,, +c_size2_sr3,,,,,,,,,, +c_size3_sr2,,,,,,,,,, +c_size3_sr3,,,,,,,,,, +c_size4p_sr2,,,,,,,,,, +c_size4p_sr3,,,,,,,,,, +c_walkTime,,,,,,,,,, +c_bikeTime,,,,,,,,,, +c_oMix_nmot,,,,,,,,,, +c_oMix_wtran,,,,,,,,,, +c_oIntDen_nmot,,,,,,,,,, +c_oIntDen_wtran,,,,,,,,,, +c_dEmpDen_nmot,,,,,,,,,, +c_dEmpDen_wtran,,,,,,,,,, +c_dEmpDen_dtran,,,,,,,,,, +zeroAutoHH_sr3,,,,,,,,,, +zeroAutoHH_walk,,,,,,,,,, +zeroAutoHH_bike,,,,,,,,,, +zeroAutoHH_wt,,,,,,,,,, +zeroAutoHH_kt,,,,,,,,,, +autoDeficientHH_sr2,,,,,,,,,, +autoDeficientHH_sr3,,,,,,,,,, +autoDeficientHH_walk,,,,,,,,,, +autoDeficientHH_bike,,,,,,,,,, +autoDeficientHH_wt,,,,,,,,,, +autoDeficientHH_dt,,,,,,,,,, +autoDeficientHH_kt,,,,,,,,,, +autoSufficientHH_sr2,,,,,,,,,, +autoSufficientHH_sr3,,,,,,,,,, +autoSufficientHH_walk,,,,,,,,,, +autoSufficientHH_bike,,,,,,,,,, +autoSufficientHH_wt,,,,,,,,,, +autoSufficientHH_dt,,,,,,,,,, +autoSufficientHH_kt,,,,,,,,,, +asc_wtransit_cbd_sf,,,,,,,,,, +asc_wtransit_nw_sf,,,,,,,,,, +asc_wtransit_se_sf,,,,,,,,,, +asc_dtransit_cbd_sf,,,,,,,,,, +asc_Transit_Pseudo_area_type_constant,,,,,,,,,, +asc_taxi_penalty,,,,,,,,,, +zeroAutoHH_SHARED2HOV,,,,,,,,,, +autoDeficientHH_SHARED2HOV,,,,,,,,,, +autoSufficientHH_SHARED2HOV,,,,,,,,,, +zeroAutoHH_SHARED2PAY,,,,,,,,,, +autoDeficientHH_SHARED2PAY,,,,,,,,,, +autoSufficientHH_SHARED2PAY,,,,,,,,,, +zeroAutoHH_SHARED3HOV,,,,,,,,,, +autoDeficientHH_SHARED3HOV,,,,,,,,,, +autoSufficientHH_SHARED3HOV,,,,,,,,,, +zeroAutoHH_SHARED3PAY,,,,,,,,,, +autoDeficientHH_SHARED3PAY,,,,,,,,,, +autoSufficientHH_SHARED3PAY,,,,,,,,,, +zeroAutoHH_WALK,,,,,,,,,, +autoDeficientHH_WALK,,,,,,,,,, +autoSufficientHH_WALK,,,,,,,,,, +zeroAutoHH_BIKE,,,,,,,,,, +autoDeficientHH_BIKE,,,,,,,,,, +autoSufficientHH_BIKE,,,,,,,,,, +zeroAutoHH_WALK_SET,,,,,,,,,, +autoDeficientHH_WALK_SET,,,,,,,,,, +autoSufficientHH_WALK_SET,,,,,,,,,, +zeroAutoHH_PNR_SET,,,,,,,,,, +autoDeficientHH_PNR_SET,,,,,,,,,, autoSufficientHH_PNR_SET,,,,,,,,,, \ No newline at end of file diff --git a/activitysim/examples/example_marin/configs/tvpb_utility_drive_maz_tap.csv b/activitysim/examples/prototype_marin/configs/tvpb_utility_drive_maz_tap.csv similarity index 99% rename from activitysim/examples/example_marin/configs/tvpb_utility_drive_maz_tap.csv rename to activitysim/examples/prototype_marin/configs/tvpb_utility_drive_maz_tap.csv index 04ba9016a7..c4abf674f7 100755 --- a/activitysim/examples/example_marin/configs/tvpb_utility_drive_maz_tap.csv +++ b/activitysim/examples/prototype_marin/configs/tvpb_utility_drive_maz_tap.csv @@ -1,3 +1,3 @@ -Label,Description,Expression,utility -util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_dtim * (df.DTIME + (df.WDIST / 5280 / walk_speed * 60))",1 -util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * (df.DDIST + (df.WDIST / 5280)) * c_auto_operating_cost_per_mile",1 +Label,Description,Expression,utility +util_drive_time,drive time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_dtim * (df.DTIME + (df.WDIST / 5280 / walk_speed * 60))",1 +util_drive_cost,drive cost,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_cost_high_income, c_cost_low_income) * (df.DDIST + (df.WDIST / 5280)) * c_auto_operating_cost_per_mile",1 diff --git a/activitysim/examples/example_marin/configs/tvpb_utility_tap_tap.csv b/activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap.csv similarity index 99% rename from activitysim/examples/example_marin/configs/tvpb_utility_tap_tap.csv rename to activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap.csv index b7456c856b..495cad7f01 100755 --- a/activitysim/examples/example_marin/configs/tvpb_utility_tap_tap.csv +++ b/activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap.csv @@ -1,82 +1,82 @@ -Label,Description,Expression,set1,set2,set3 -# Set 1,,,,, -set1_unavailable,Shut off set if unavailable,@df.not_transit_available_set1,C_UNAVAILABLE,, -set1_ivt,set In-Vehicle Time,@~df.not_transit_available_set1 * df.c_ivt_for_segment * df.totalIVT_set1,1,, -set1_first_wait_time,First wait time,"@~df.not_transit_available_set1 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET1')",1,, -set1_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set1 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET1')",1,, -set1_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set1 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET1')",1,, -set1_fare,set Fare,"@~df.not_transit_available_set1 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET1') * 100",1,, -set1_xfers1,0-1 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers1_set1 * c_xfers1 * df.c_ivt_for_segment,1,, -set1_xfers2,1-2 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers2_set1 * c_xfers2 * df.c_ivt_for_segment,1,, -set1_sfers3,>2 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers3_set1 * c_xfers3 * df.c_ivt_for_segment,1,, -set1_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers1_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, -set1_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers2_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, -set1_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers3_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, -set1_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers1_set1 * (df.c_ivt_for_segment * 5),1,, -set1_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers2_set1 * (df.c_ivt_for_segment * 5),1,, -set1_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers3_set1 * (df.c_ivt_for_segment * 5),1,, -set1_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set1 * (df.crDistance_set1>20) * (df.crDistance_set1<=40) * c_cr20_40 * df.c_ivt_for_segment,1,, -set1_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set1 * (df.crDistance_set1>40) * c_cr40plus * df.c_ivt_for_segment,1,, -set1_CR_drive,drive access to CR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvCR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, -set1_HR_drive,drive access to HR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvHeavy * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, -set1_FR_drive,drive access to FR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvFR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, -set1_LRT_drive,drive access to LRT,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvLRT * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, -set1_EB_drive,drive access to EB,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvExpress * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0)",1,, -set1_ASC_CR,ASC CR,"@~df.not_transit_available_set1 * c_cr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, -set1_ASC_HR,ASC HR,"@~df.not_transit_available_set1 * c_hr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, -set1_ASC_FR,ASC FR,"@~df.not_transit_available_set1 * c_fr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, -set1_ASC_LRT,ASC LRT,"@~df.not_transit_available_set1 * c_lrt_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, -# Set 2,,,,, -set2_unavailable,Shut off set if unavailable,@df.not_transit_available_set2,,C_UNAVAILABLE, -set2_ivt,set In-Vehicle Time,@~df.not_transit_available_set2 * df.c_ivt_for_segment * df.totalIVT_set2,,1, -set2_first_wait_time,First wait time,"@~df.not_transit_available_set2 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET2')",,1, -set2_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set2 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET2')",,1, -set2_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set2 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET2')",,1, -set2_fare,set Fare,"@~df.not_transit_available_set2 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET2') * 100",,1, -set2_xfers1,0-1 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers1_set2 * c_xfers1 * df.c_ivt_for_segment,,1, -set2_xfers2,1-2 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers2_set2 * c_xfers2 * df.c_ivt_for_segment,,1, -set2_sfers3,>2 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers3_set2 * c_xfers3 * df.c_ivt_for_segment,,1, -set2_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers1_set2 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),,1, -set2_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers2_set2 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),,1, -set2_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * (access_mode=='drive') * df.xfers3_set2 * (df.c_ivt_for_segment * 15),,1, -set2_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers1_set2 * (df.c_ivt_for_segment * 5),,1, -set2_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers2_set2 * (df.c_ivt_for_segment * 5),,1, -set2_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers3_set2 * (df.c_ivt_for_segment * 5),,1, -set2_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set2 * (df.crDistance_set2>20) * (df.crDistance_set2<=40) * c_cr20_40 * df.c_ivt_for_segment,,1, -set2_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set2 * (df.crDistance_set2>40) * c_cr40plus * df.c_ivt_for_segment,,1, -set2_CR_drive,drive access to CR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_drvCR * df.c_ivt_for_segment",,1, -set2_HR_drive,drive access to HR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_drvHeavy * df.c_ivt_for_segment",,1, -set2_FR_drive,drive access to FR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_drvFR * df.c_ivt_for_segment",,1, -set2_LRT_drive,drive access to LRT,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_drvLRT * df.c_ivt_for_segment",,1, -set2_EB_drive,drive access to EB,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) * c_drvExpress * df.c_ivt_for_segment",,1, -set2_ASC_CR,ASC CR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_cr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, -set2_ASC_HR,ASC HR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_hr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, -set2_ASC_FR,ASC FR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_fr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, -set2_ASC_LRT,ASC LRT,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_lrt_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, -# Set 3,,,,, -set3_unavailable,Shut off set if unavailable,@df.not_transit_available_set3,,,C_UNAVAILABLE -set3_ivt,set In-Vehicle Time,@~df.not_transit_available_set3 * df.c_ivt_for_segment * df.totalIVT_set3,,,1 -set3_first_wait_time,First wait time,"@~df.not_transit_available_set3 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET3')",,,1 -set3_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set3 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET3')",,,1 -set3_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set3 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET3')",,,1 -set3_fare,set Fare,"@~df.not_transit_available_set3 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET3') * 100",,,1 -set3_xfers1,0-1 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers1_set3 * c_xfers1 * df.c_ivt_for_segment,,,1 -set3_xfers2,1-2 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers2_set3 * c_xfers2 * df.c_ivt_for_segment,,,1 -set3_sfers3,>2 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers3_set3 * c_xfers3 * df.c_ivt_for_segment,,,1 -set3_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers1_set3 * (df.c_ivt_for_segment * 15),,,1 -set3_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers2_set3 * (df.c_ivt_for_segment * 15),,,1 -set3_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers3_set3 * (df.c_ivt_for_segment * 15),,,1 -set3_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers1_set3 * (df.c_ivt_for_segment * 5),,,1 -set3_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers2_set3 * (df.c_ivt_for_segment * 5),,,1 -set3_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers3_set3 * (df.c_ivt_for_segment * 5),,,1 -set3_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set3 * (df.crDistance_set3>20) * (df.crDistance_set3<=40) * c_cr20_40 * df.c_ivt_for_segment,,,1 -set3_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set3 * (df.crDistance_set3>40) * c_cr40plus * df.c_ivt_for_segment,,,1 -set3_CR_drive,drive access to CR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_drvCR * df.c_ivt_for_segment",,,1 -set3_HR_drive,drive access to HR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_drvHeavy * df.c_ivt_for_segment",,,1 -set3_FR_drive,drive access to FR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_drvFR * df.c_ivt_for_segment",,,1 -set3_LRT_drive,drive access to LRT,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_drvLRT * df.c_ivt_for_segment",,,1 -set3_EB_drive,drive access to EB,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) * c_drvExpress* df.c_ivt_for_segment",,,1 -set3_ASC_CR,ASC CR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_cr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 -set3_ASC_HR,ASC HR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_hr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 -set3_ASC_FR,ASC FR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_fr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 -set3_ASC_LRT,ASC LRT,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_lrt_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 +Label,Description,Expression,set1,set2,set3 +# Set 1,,,,, +set1_unavailable,Shut off set if unavailable,@df.not_transit_available_set1,C_UNAVAILABLE,, +set1_ivt,set In-Vehicle Time,@~df.not_transit_available_set1 * df.c_ivt_for_segment * df.totalIVT_set1,1,, +set1_first_wait_time,First wait time,"@~df.not_transit_available_set1 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET1')",1,, +set1_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set1 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET1')",1,, +set1_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set1 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET1')",1,, +set1_fare,set Fare,"@~df.not_transit_available_set1 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET1') * 100",1,, +set1_xfers1,0-1 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers1_set1 * c_xfers1 * df.c_ivt_for_segment,1,, +set1_xfers2,1-2 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers2_set1 * c_xfers2 * df.c_ivt_for_segment,1,, +set1_sfers3,>2 transfers constant,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers3_set1 * c_xfers3 * df.c_ivt_for_segment,1,, +set1_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers1_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, +set1_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers2_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, +set1_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set1 * ~df.bartOnly_set1 * df.xfers3_set1 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),1,, +set1_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers1_set1 * (df.c_ivt_for_segment * 5),1,, +set1_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers2_set1 * (df.c_ivt_for_segment * 5),1,, +set1_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set1 * df.bartOnly_set1 * df.xfers3_set1 * (df.c_ivt_for_segment * 5),1,, +set1_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set1 * (df.crDistance_set1>20) * (df.crDistance_set1<=40) * c_cr20_40 * df.c_ivt_for_segment,1,, +set1_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set1 * (df.crDistance_set1>40) * c_cr40plus * df.c_ivt_for_segment,1,, +set1_CR_drive,drive access to CR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvCR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)",1,, +set1_HR_drive,drive access to HR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvHeavy * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0)",1,, +set1_FR_drive,drive access to FR,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvFR * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0)",1,, +set1_LRT_drive,drive access to LRT,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvLRT * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0)",1,, +set1_EB_drive,drive access to EB,"@~df.not_transit_available_set1 * (access_mode=='drive') * c_drvExpress * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0)",1,, +set1_ASC_CR,ASC CR,"@~df.not_transit_available_set1 * c_cr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, +set1_ASC_HR,ASC HR,"@~df.not_transit_available_set1 * c_hr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, +set1_ASC_FR,ASC FR,"@~df.not_transit_available_set1 * c_fr_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, +set1_ASC_LRT,ASC LRT,"@~df.not_transit_available_set1 * c_lrt_asc * df.c_ivt_for_segment * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) * (np.where(df.premWithXfer_set1, 0.333, 1.0))",1,, +# Set 2,,,,, +set2_unavailable,Shut off set if unavailable,@df.not_transit_available_set2,,C_UNAVAILABLE, +set2_ivt,set In-Vehicle Time,@~df.not_transit_available_set2 * df.c_ivt_for_segment * df.totalIVT_set2,,1, +set2_first_wait_time,First wait time,"@~df.not_transit_available_set2 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET2')",,1, +set2_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set2 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET2')",,1, +set2_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set2 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET2')",,1, +set2_fare,set Fare,"@~df.not_transit_available_set2 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET2') * 100",,1, +set2_xfers1,0-1 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers1_set2 * c_xfers1 * df.c_ivt_for_segment,,1, +set2_xfers2,1-2 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers2_set2 * c_xfers2 * df.c_ivt_for_segment,,1, +set2_sfers3,>2 transfers constant,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers3_set2 * c_xfers3 * df.c_ivt_for_segment,,1, +set2_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers1_set2 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),,1, +set2_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * df.xfers2_set2 * (access_mode=='drive') * (df.c_ivt_for_segment * 15),,1, +set2_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set2 * ~df.bartOnly_set2 * (access_mode=='drive') * df.xfers3_set2 * (df.c_ivt_for_segment * 15),,1, +set2_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers1_set2 * (df.c_ivt_for_segment * 5),,1, +set2_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers2_set2 * (df.c_ivt_for_segment * 5),,1, +set2_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set2 * df.bartOnly_set2 * df.xfers3_set2 * (df.c_ivt_for_segment * 5),,1, +set2_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set2 * (df.crDistance_set2>20) * (df.crDistance_set2<=40) * c_cr20_40 * df.c_ivt_for_segment,,1, +set2_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set2 * (df.crDistance_set2>40) * c_cr40plus * df.c_ivt_for_segment,,1, +set2_CR_drive,drive access to CR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_drvCR * df.c_ivt_for_segment",,1, +set2_HR_drive,drive access to HR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_drvHeavy * df.c_ivt_for_segment",,1, +set2_FR_drive,drive access to FR,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_drvFR * df.c_ivt_for_segment",,1, +set2_LRT_drive,drive access to LRT,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_drvLRT * df.c_ivt_for_segment",,1, +set2_EB_drive,drive access to EB,"@~df.not_transit_available_set2 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) * c_drvExpress * df.c_ivt_for_segment",,1, +set2_ASC_CR,ASC CR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0) * c_cr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, +set2_ASC_HR,ASC HR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) * c_hr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, +set2_ASC_FR,ASC FR,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2')>0) * c_fr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, +set2_ASC_LRT,ASC LRT,"@~df.not_transit_available_set2 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) * c_lrt_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set2, 0.333, 1.0))",,1, +# Set 3,,,,, +set3_unavailable,Shut off set if unavailable,@df.not_transit_available_set3,,,C_UNAVAILABLE +set3_ivt,set In-Vehicle Time,@~df.not_transit_available_set3 * df.c_ivt_for_segment * df.totalIVT_set3,,,1 +set3_first_wait_time,First wait time,"@~df.not_transit_available_set3 * c_fwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'IWAIT_SET3')",,,1 +set3_xfer_wait_time,set Transfer Wait Time,"@~df.not_transit_available_set3 * c_xwt * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWAIT_SET3')",,,1 +set3_xfer_walk_time,set Walk transfer time,"@~df.not_transit_available_set3 * c_waux * df.c_ivt_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'XWTIME_SET3')",,,1 +set3_fare,set Fare,"@~df.not_transit_available_set3 * df.c_cost_for_segment * los.get_tappairs3d(df.btap, df.atap, df.tod, 'FARE_SET3') * 100",,,1 +set3_xfers1,0-1 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers1_set3 * c_xfers1 * df.c_ivt_for_segment,,,1 +set3_xfers2,1-2 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers2_set3 * c_xfers2 * df.c_ivt_for_segment,,,1 +set3_sfers3,>2 transfers constant,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * df.xfers3_set3 * c_xfers3 * df.c_ivt_for_segment,,,1 +set3_xfers1_drive,0-1 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers1_set3 * (df.c_ivt_for_segment * 15),,,1 +set3_xfers2_drive,1-2 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers2_set3 * (df.c_ivt_for_segment * 15),,,1 +set3_sfers3_drive,>2 transfers penalty for drive access,@~df.not_transit_available_set3 * ~df.bartOnly_set3 * (access_mode=='drive') * df.xfers3_set3 * (df.c_ivt_for_segment * 15),,,1 +set3_xfers1_bart,0-1 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers1_set3 * (df.c_ivt_for_segment * 5),,,1 +set3_xfers2_bart,1-2 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers2_set3 * (df.c_ivt_for_segment * 5),,,1 +set3_sfers3_bart,>2 transfers constant when using only BART,@~df.not_transit_available_set3 * df.bartOnly_set3 * df.xfers3_set3 * (df.c_ivt_for_segment * 5),,,1 +set3_cr_20_40,CR distance 20-40 miles,@~df.not_transit_available_set3 * (df.crDistance_set3>20) * (df.crDistance_set3<=40) * c_cr20_40 * df.c_ivt_for_segment,,,1 +set3_cr_40_plus,CR distance > 40 miles,@~df.not_transit_available_set3 * (df.crDistance_set3>40) * c_cr40plus * df.c_ivt_for_segment,,,1 +set3_CR_drive,drive access to CR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_drvCR * df.c_ivt_for_segment",,,1 +set3_HR_drive,drive access to HR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_drvHeavy * df.c_ivt_for_segment",,,1 +set3_FR_drive,drive access to FR,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_drvFR * df.c_ivt_for_segment",,,1 +set3_LRT_drive,drive access to LRT,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_drvLRT * df.c_ivt_for_segment",,,1 +set3_EB_drive,drive access to EB,"@~df.not_transit_available_set3 * (access_mode=='drive') * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) * c_drvExpress* df.c_ivt_for_segment",,,1 +set3_ASC_CR,ASC CR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0) * c_cr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 +set3_ASC_HR,ASC HR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) * c_hr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 +set3_ASC_FR,ASC FR,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3')>0) * c_fr_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 +set3_ASC_LRT,ASC LRT,"@~df.not_transit_available_set3 * (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) * c_lrt_asc * df.c_ivt_for_segment * (np.where(df.premWithXfer_set3, 0.333, 1.0))",,,1 diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv similarity index 99% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv rename to activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv index ba5cbe1d30..f2661a897b 100755 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv +++ b/activitysim/examples/prototype_marin/configs/tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv @@ -1,44 +1,44 @@ -Description,Target,Expression -# time of day,,SHOULD BE PASSED IN -# demographic segment,, -,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" -,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" -# set1,, -,not_transit_available_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET1')==0" -Total IVT,totalIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') " -IVT on BART,bartIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')" -premium modes used,premiumMode_set1,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)" -only travel by BART,bartOnly_set1,bartIVT_set1 == totalIVT_set1 -Set contains only BART with Xfers,bartWithXfer_set1,"(bartIVT_set1 == totalIVT_set1) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set1,"(premiumMode_set1>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1')>0)" -Number transfers,transfers_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')" -0-1 transfers,xfers1_set1,(transfers_set1>0) & (transfers_set1 <=1) -1-2 transfers,xfers2_set1,(transfers_set1>1) & (transfers_set1 <=2) ->2 transfers,xfers3_set1,(transfers_set1>2) -Commuter Rail Distance in miles [35 mph],crDistance_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') * (35/60)" -# set2,, -,not_transit_available_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET2')==0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')==0)" -Total IVT,totalIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') " -IVT on BART,bartIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')" -premium modes used,premiumMode_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0)" -only travel by BART,bartOnly_set2,bartIVT_set2 == totalIVT_set2 -Set contains only BART with Xfers,bartWithXfer_set2,"(bartIVT_set2 == totalIVT_set2) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set2,"(premiumMode_set2>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2')>0)" -Number transfers,transfers_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')" -0-1 transfers,xfers1_set2,(transfers_set2>0) & (transfers_set2 <=1) -1-2 transfers,xfers2_set2,(transfers_set2>1) & (transfers_set2 <=2) ->2 transfers,xfers3_set2,(transfers_set2>2) -Commuter Rail Distance in miles [35 mph],crDistance_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') * (35/60)" -# set3,, -,not_transit_available_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET3')==0" -Total IVT,totalIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') " -IVT on BART,bartIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')" -premium modes used,premiumMode_set3,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0)" -only travel by BART,bartOnly_set3,bartIVT_set3 == totalIVT_set3 -Set contains only BART with Xfers,bartWithXfer_set3,"(bartIVT_set3 == totalIVT_set3) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')>0)" -Set contains premium mode with transfers to LB,premWithXfer_set3,"(premiumMode_set3>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3')>0)" -Number transfers,transfers_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')" -0-1 transfers,xfers1_set3,(transfers_set3>0) & (transfers_set3 <=1) -1-2 transfers,xfers2_set3,(transfers_set3>1) & (transfers_set3 <=2) ->2 transfers,xfers3_set3,(transfers_set3>2) -Commuter Rail Distance in miles [35 mph],crDistance_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') * (35/60)" +Description,Target,Expression +# time of day,,SHOULD BE PASSED IN +# demographic segment,, +,c_ivt_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_ivt_low_income, c_ivt_high_income)" +,c_cost_for_segment,"np.where(df.demographic_segment==C_LOW_INCOME_SEGMENT_ID,c_cost_low_income, c_cost_high_income)" +# set1,, +,not_transit_available_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET1')==0" +Total IVT,totalIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') " +IVT on BART,bartIVT_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')" +premium modes used,premiumMode_set1,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET1')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1')>0)" +only travel by BART,bartOnly_set1,bartIVT_set1 == totalIVT_set1 +Set contains only BART with Xfers,bartWithXfer_set1,"(bartIVT_set1 == totalIVT_set1) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set1,"(premiumMode_set1>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET1')>0)" +Number transfers,transfers_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET1')" +0-1 transfers,xfers1_set1,(transfers_set1>0) & (transfers_set1 <=1) +1-2 transfers,xfers2_set1,(transfers_set1>1) & (transfers_set1 <=2) +>2 transfers,xfers3_set1,(transfers_set1>2) +Commuter Rail Distance in miles [35 mph],crDistance_set1,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET1') * (35/60)" +# set2,, +,not_transit_available_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET2')==0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')==0)" +Total IVT,totalIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') " +IVT on BART,bartIVT_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')" +premium modes used,premiumMode_set2,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET2')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2')>0)" +only travel by BART,bartOnly_set2,bartIVT_set2 == totalIVT_set2 +Set contains only BART with Xfers,bartWithXfer_set2,"(bartIVT_set2 == totalIVT_set2) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set2,"(premiumMode_set2>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET2')>0)" +Number transfers,transfers_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET2')" +0-1 transfers,xfers1_set2,(transfers_set2>0) & (transfers_set2 <=1) +1-2 transfers,xfers2_set2,(transfers_set2>1) & (transfers_set2 <=2) +>2 transfers,xfers3_set2,(transfers_set2>2) +Commuter Rail Distance in miles [35 mph],crDistance_set2,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET2') * (35/60)" +# set3,, +,not_transit_available_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'BEST_MODE_SET3')==0" +Total IVT,totalIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'FR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3') + los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') " +IVT on BART,bartIVT_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')" +premium modes used,premiumMode_set3,"(los.get_tappairs3d(df.btap, df.atap, df.tod, 'EB_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'HR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LR_TIME_SET3')>0) | (los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3')>0)" +only travel by BART,bartOnly_set3,bartIVT_set3 == totalIVT_set3 +Set contains only BART with Xfers,bartWithXfer_set3,"(bartIVT_set3 == totalIVT_set3) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')>0)" +Set contains premium mode with transfers to LB,premWithXfer_set3,"(premiumMode_set3>0) & (los.get_tappairs3d(df.btap, df.atap, df.tod, 'LB_TIME_SET3')>0)" +Number transfers,transfers_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'XFERS_SET3')" +0-1 transfers,xfers1_set3,(transfers_set3>0) & (transfers_set3 <=1) +1-2 transfers,xfers2_set3,(transfers_set3>1) & (transfers_set3 <=2) +>2 transfers,xfers3_set3,(transfers_set3>2) +Commuter Rail Distance in miles [35 mph],crDistance_set3,"los.get_tappairs3d(df.btap, df.atap, df.tod, 'CR_TIME_SET3') * (35/60)" diff --git a/activitysim/examples/example_marin/configs/tvpb_utility_walk_maz_tap.csv b/activitysim/examples/prototype_marin/configs/tvpb_utility_walk_maz_tap.csv similarity index 98% rename from activitysim/examples/example_marin/configs/tvpb_utility_walk_maz_tap.csv rename to activitysim/examples/prototype_marin/configs/tvpb_utility_walk_maz_tap.csv index fdb64bd1e9..7bc72761c8 100755 --- a/activitysim/examples/example_marin/configs/tvpb_utility_walk_maz_tap.csv +++ b/activitysim/examples/prototype_marin/configs/tvpb_utility_walk_maz_tap.csv @@ -1,4 +1,4 @@ -Label,Description,Expression,utility -#,,,FIXME column values shouldn't ever be na if different moides have different tables? -#util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 -util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walkAcc * df.WALK_TRANSIT_DIST*(60/walk_speed)",1 +Label,Description,Expression,utility +#,,,FIXME column values shouldn't ever be na if different moides have different tables? +#util_walk_available,walk available,@df.walk_time.isna() * C_UNAVAILABLE,1 +util_walk_time,walk time,"@np.where(df.demographic_segment==C_HIGH_INCOME_SEGMENT_ID, c_ivt_high_income, c_ivt_low_income) * c_walkAcc * df.WALK_TRANSIT_DIST*(60/walk_speed)",1 diff --git a/activitysim/examples/example_marin/data/accessibility.csv b/activitysim/examples/prototype_marin/data/accessibility.csv similarity index 100% rename from activitysim/examples/example_marin/data/accessibility.csv rename to activitysim/examples/prototype_marin/data/accessibility.csv diff --git a/activitysim/examples/example_marin/data/highway_skims_AM.omx b/activitysim/examples/prototype_marin/data/highway_skims_AM.omx similarity index 100% rename from activitysim/examples/example_marin/data/highway_skims_AM.omx rename to activitysim/examples/prototype_marin/data/highway_skims_AM.omx diff --git a/activitysim/examples/example_marin/data/highway_skims_EA.omx b/activitysim/examples/prototype_marin/data/highway_skims_EA.omx similarity index 100% rename from activitysim/examples/example_marin/data/highway_skims_EA.omx rename to activitysim/examples/prototype_marin/data/highway_skims_EA.omx diff --git a/activitysim/examples/example_marin/data/highway_skims_EV.omx b/activitysim/examples/prototype_marin/data/highway_skims_EV.omx similarity index 100% rename from activitysim/examples/example_marin/data/highway_skims_EV.omx rename to activitysim/examples/prototype_marin/data/highway_skims_EV.omx diff --git a/activitysim/examples/example_marin/data/highway_skims_MD.omx b/activitysim/examples/prototype_marin/data/highway_skims_MD.omx similarity index 100% rename from activitysim/examples/example_marin/data/highway_skims_MD.omx rename to activitysim/examples/prototype_marin/data/highway_skims_MD.omx diff --git a/activitysim/examples/example_marin/data/highway_skims_PM.omx b/activitysim/examples/prototype_marin/data/highway_skims_PM.omx similarity index 100% rename from activitysim/examples/example_marin/data/highway_skims_PM.omx rename to activitysim/examples/prototype_marin/data/highway_skims_PM.omx diff --git a/activitysim/examples/example_marin/data/households.csv b/activitysim/examples/prototype_marin/data/households.csv similarity index 100% rename from activitysim/examples/example_marin/data/households.csv rename to activitysim/examples/prototype_marin/data/households.csv diff --git a/activitysim/examples/example_marin/data/land_use.csv b/activitysim/examples/prototype_marin/data/land_use.csv similarity index 100% rename from activitysim/examples/example_marin/data/land_use.csv rename to activitysim/examples/prototype_marin/data/land_use.csv diff --git a/activitysim/examples/example_marin/data/maz_maz_bike.csv b/activitysim/examples/prototype_marin/data/maz_maz_bike.csv similarity index 100% rename from activitysim/examples/example_marin/data/maz_maz_bike.csv rename to activitysim/examples/prototype_marin/data/maz_maz_bike.csv diff --git a/activitysim/examples/example_marin/data/maz_maz_walk.csv b/activitysim/examples/prototype_marin/data/maz_maz_walk.csv similarity index 100% rename from activitysim/examples/example_marin/data/maz_maz_walk.csv rename to activitysim/examples/prototype_marin/data/maz_maz_walk.csv diff --git a/activitysim/examples/example_marin/data/maz_tap_walk.csv b/activitysim/examples/prototype_marin/data/maz_tap_walk.csv similarity index 100% rename from activitysim/examples/example_marin/data/maz_tap_walk.csv rename to activitysim/examples/prototype_marin/data/maz_tap_walk.csv diff --git a/activitysim/examples/example_marin/data/maz_taz.csv b/activitysim/examples/prototype_marin/data/maz_taz.csv similarity index 100% rename from activitysim/examples/example_marin/data/maz_taz.csv rename to activitysim/examples/prototype_marin/data/maz_taz.csv diff --git a/activitysim/examples/example_marin/data/maz_taz_tap_drive.csv b/activitysim/examples/prototype_marin/data/maz_taz_tap_drive.csv similarity index 100% rename from activitysim/examples/example_marin/data/maz_taz_tap_drive.csv rename to activitysim/examples/prototype_marin/data/maz_taz_tap_drive.csv diff --git a/activitysim/examples/example_marin/data/persons.csv b/activitysim/examples/prototype_marin/data/persons.csv similarity index 100% rename from activitysim/examples/example_marin/data/persons.csv rename to activitysim/examples/prototype_marin/data/persons.csv diff --git a/activitysim/examples/example_marin/data/tap.csv b/activitysim/examples/prototype_marin/data/tap.csv similarity index 100% rename from activitysim/examples/example_marin/data/tap.csv rename to activitysim/examples/prototype_marin/data/tap.csv diff --git a/activitysim/examples/example_marin/data/tap_lines.csv b/activitysim/examples/prototype_marin/data/tap_lines.csv similarity index 100% rename from activitysim/examples/example_marin/data/tap_lines.csv rename to activitysim/examples/prototype_marin/data/tap_lines.csv diff --git a/activitysim/examples/example_marin/data/taz_skims.omx b/activitysim/examples/prototype_marin/data/taz_skims.omx similarity index 100% rename from activitysim/examples/example_marin/data/taz_skims.omx rename to activitysim/examples/prototype_marin/data/taz_skims.omx diff --git a/activitysim/examples/example_marin/data/transit_skims_SET1.omx b/activitysim/examples/prototype_marin/data/transit_skims_SET1.omx similarity index 100% rename from activitysim/examples/example_marin/data/transit_skims_SET1.omx rename to activitysim/examples/prototype_marin/data/transit_skims_SET1.omx diff --git a/activitysim/examples/example_marin/data/transit_skims_SET2.omx b/activitysim/examples/prototype_marin/data/transit_skims_SET2.omx similarity index 100% rename from activitysim/examples/example_marin/data/transit_skims_SET2.omx rename to activitysim/examples/prototype_marin/data/transit_skims_SET2.omx diff --git a/activitysim/examples/example_marin/data/transit_skims_SET3.omx b/activitysim/examples/prototype_marin/data/transit_skims_SET3.omx similarity index 100% rename from activitysim/examples/example_marin/data/transit_skims_SET3.omx rename to activitysim/examples/prototype_marin/data/transit_skims_SET3.omx diff --git a/activitysim/examples/example_marin/data/work_tours.csv b/activitysim/examples/prototype_marin/data/work_tours.csv similarity index 100% rename from activitysim/examples/example_marin/data/work_tours.csv rename to activitysim/examples/prototype_marin/data/work_tours.csv diff --git a/activitysim/examples/example_psrc/test/output/.gitignore b/activitysim/examples/prototype_marin/output/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/test/output/.gitignore rename to activitysim/examples/prototype_marin/output/.gitignore diff --git a/activitysim/examples/example_psrc/output/cache/.gitignore b/activitysim/examples/prototype_marin/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/output/cache/.gitignore rename to activitysim/examples/prototype_marin/output/cache/.gitignore diff --git a/activitysim/examples/example_psrc/output/trace/.gitignore b/activitysim/examples/prototype_marin/output/log/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/output/trace/.gitignore rename to activitysim/examples/prototype_marin/output/log/.gitignore diff --git a/activitysim/examples/example_psrc/test/output/trace/.gitignore b/activitysim/examples/prototype_marin/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/test/output/trace/.gitignore rename to activitysim/examples/prototype_marin/output/trace/.gitignore diff --git a/activitysim/examples/example_marin/scripts/marin_crop.py b/activitysim/examples/prototype_marin/scripts/marin_crop.py similarity index 68% rename from activitysim/examples/example_marin/scripts/marin_crop.py rename to activitysim/examples/prototype_marin/scripts/marin_crop.py index f3a92cc0eb..b82f596c08 100644 --- a/activitysim/examples/example_marin/scripts/marin_crop.py +++ b/activitysim/examples/prototype_marin/scripts/marin_crop.py @@ -1,244 +1,270 @@ -# crop marin tvpb example data processing to one county -# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 - -import os -import pandas as pd -import openmatrix as omx -import argparse -import numpy as np - -MAZ_OFFSET = 100000 - -segments = { - 'test': {'DistName': ["Downtown SF"]}, - 'marin_sf': {'CountyName': ["Marin", "San Francisco"]}, - 'full': {}, -} - -parser = argparse.ArgumentParser(description='crop Marin raw_data') -parser.add_argument('segment_name', metavar='segment_name', type=str, nargs=1, - help=f"geography segmentation (e.g. full)") - -parser.add_argument('-c', '--check_geography', - default=False, - action='store_true', - help='check consistency of MAZ, TAZ, TAP zone_ids and foreign keys & write orphan_households file') - -args = parser.parse_args() - - -segment_name = args.segment_name[0] -check_geography = args.check_geography - -assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" - -input_dir = './data_raw' -output_dir = f'./data_{segment_name}' - - -print(f"segment_name {segment_name}") - -print(f"input_dir {input_dir}") -print(f"output_dir {output_dir}") - -print(f"check_geography {check_geography}") - -if not os.path.isdir(output_dir): - print(f"creating output directory {output_dir}") - os.mkdir(output_dir) - - -def input_path(file_name): - return os.path.join(input_dir, file_name) - - -def output_path(file_name): - return os.path.join(output_dir, file_name) - - -def patch_maz(df, maz_offset): - for c in df.columns: - if c in ['MAZ', 'OMAZ', 'DMAZ', 'mgra', 'orig_mgra', 'dest_mgra']: - df[c] += maz_offset - return df - - -def read_csv(file_name): - df = pd.read_csv(input_path(file_name)) - if MAZ_OFFSET: - df = patch_maz(df, MAZ_OFFSET) - print(f"read {file_name} {df.shape}") - return df - - -def to_csv(df, file_name): - df.to_csv(output_path(file_name), index=False) - print(f"write {file_name} {df.shape}") - - -# non-standard input file names -LAND_USE = "maz_data_asim.csv" -HOUSEHOLDS = "households_asim.csv" -PERSONS = "persons_asim.csv" -MAZ_TAZ = "maz_taz.csv" -TAP_MAZ = "tap_data.csv" -ACCESSIBILITY = "access.csv" -WORK_TOURS = "work_tours.csv" - -if check_geography: - - # ######## check for orphan_households not in any maz in land_use - land_use = read_csv(LAND_USE) - land_use = land_use[['MAZ', 'TAZ']] - land_use = land_use.sort_values(['TAZ', 'MAZ']) - - households = read_csv(HOUSEHOLDS) - orphan_households = households[~households.MAZ.isin(land_use.MAZ)] - print(f"{len(orphan_households)} orphan_households") - - # write orphan_households to INPUT directory (since it doesn't belong in output) - file_name = "orphan_households.csv" - print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") - orphan_households.to_csv(input_path(file_name), index=False) - - # ######## check that land_use and maz and taz tables have same MAZs and TAZs - - # could just build maz and taz files, but want to make sure PSRC data is right - - land_use = read_csv(LAND_USE) - land_use = land_use.sort_values('MAZ') - maz = read_csv(MAZ_TAZ).sort_values('MAZ') - - # ### FATAL ### - if not land_use.MAZ.isin(maz.MAZ).all(): - print(f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}") - raise RuntimeError(f"land_use.MAZ not in maz.MAZ") - - if not maz.MAZ.isin(land_use.MAZ).all(): - print(f"maz.MAZ not in land_use.MAZ\n{maz.MAZ[~maz.MAZ.isin(land_use.MAZ)]}") - - # ### FATAL ### - if not land_use.TAZ.isin(maz.TAZ).all(): - print(f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}") - raise RuntimeError(f"land_use.TAZ not in maz.TAZ") - - if not maz.TAZ.isin(land_use.TAZ).all(): - print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") - - -# land_use - -land_use = read_csv(LAND_USE) - -slicer = segments[segment_name] -for slice_col, slice_values in slicer.items(): - print(f"slice {slice_col}: {slice_values}") - - land_use = land_use[land_use[slice_col].isin(slice_values)] - -print(f"land_use shape after slicing {land_use.shape}") -to_csv(land_use, 'land_use.csv') - -# maz_taz, tazs, taps - -maz_taz = land_use[['MAZ', 'TAZ']] -to_csv(maz_taz, "maz_taz.csv") - -tazs = land_use["TAZ"].unique() -tazs.sort() - -taps = read_csv(TAP_MAZ) -taps = taps[['TAP', 'TAZ']].sort_values(by='TAP') -taps = taps[taps["TAZ"].isin(tazs)] -to_csv(taps, "tap.csv") - -# maz to tap walk, bike - -maz_tap_walk = read_csv("maz_tap_walk.csv") -maz_maz_walk = read_csv("maz_maz_walk.csv") -maz_maz_bike = read_csv("maz_maz_bike.csv") - -maz_tap_walk = maz_tap_walk[maz_tap_walk["MAZ"].isin(land_use["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"])] -maz_maz_walk = maz_maz_walk[maz_maz_walk["OMAZ"].isin(land_use["MAZ"]) & maz_maz_walk["DMAZ"].isin(land_use["MAZ"])] -maz_maz_bike = maz_maz_bike[maz_maz_bike["OMAZ"].isin(land_use["MAZ"]) & maz_maz_bike["DMAZ"].isin(land_use["MAZ"])] - -to_csv(maz_tap_walk, "maz_tap_walk.csv") -to_csv(maz_maz_walk, "maz_maz_walk.csv") -to_csv(maz_maz_bike, "maz_maz_bike.csv") - -tap_lines = read_csv("tap_lines.csv") -tap_lines = tap_lines[tap_lines['TAP'].isin(taps["TAP"])] -to_csv(tap_lines, "tap_lines.csv") - -# taz to tap drive data - -taz_tap_drive = read_csv("maz_taz_tap_drive.csv") -taz_tap_drive = taz_tap_drive[taz_tap_drive["MAZ"].isin(land_use["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"])] -to_csv(taz_tap_drive, "maz_taz_tap_drive.csv") - - -# accessibility data - -access = read_csv(ACCESSIBILITY) -access = access[access["mgra"].isin(land_use["MAZ"])] -to_csv(access, "accessibility.csv") - - -# households - -households = read_csv(HOUSEHOLDS) -households = households[households["MAZ"].isin(land_use["MAZ"])] -to_csv(households, "households.csv") - -# persons - -persons = read_csv(PERSONS) -persons = persons[persons["HHID"].isin(households["HHID"])] -to_csv(persons, "persons.csv") - -# tours file - -work_tours = read_csv(WORK_TOURS) -work_tours = work_tours[work_tours["hh_id"].isin(households["HHID"])] -work_tours = work_tours[work_tours["orig_mgra"].isin(land_use["MAZ"]) & work_tours["dest_mgra"].isin(land_use["MAZ"])] -to_csv(work_tours, "work_tours.csv") - -# skims - -taz_indexes = (tazs - 1).tolist() # offset_map -tap_indexes = (taps["TAP"] - 1).tolist() # offset_map -time_periods = ["AM", "EA", "EV", "MD", "PM"] -skim_data_type = np.float32 - -# taz skims with skim_data_type np.float32 are under 2GB - otherwise we would need to further segment them - -for tp in time_periods: - in_file_name = f'HWYSKM{tp}_taz_rename.omx' - taz_file_in = omx.open_file(input_path(in_file_name)) - out_file_name = f'highway_skims_{tp}.omx' - taz_file_out = omx.open_file(output_path(out_file_name), 'w') - taz_file_out.create_mapping('ZONE', tazs.tolist()) - for mat_name in taz_file_in.list_matrices(): - # make sure we have a vanilla numpy array, not a CArray - m = np.asanyarray(taz_file_in[mat_name]).astype(skim_data_type) - m = m[taz_indexes, :][:, taz_indexes] - taz_file_out[mat_name] = m - print(f"taz {mat_name} {m.shape}") - taz_file_in.close() - taz_file_out.close() - -for skim_set in ["SET1", "SET2", "SET3"]: - out_file_name = f'transit_skims_{skim_set}.omx' - tap_file_out = omx.open_file(output_path(out_file_name), 'w') - tap_file_out.create_mapping('TAP', taps["TAP"].tolist()) - for tp in time_periods: - in_file_name = f'transit_skims_{tp}_{skim_set}_rename.omx' - tap_file_in = omx.open_file(input_path(in_file_name)) - for mat_name in tap_file_in.list_matrices(): - # make sure we have a vanilla numpy array, not a CArray - m = np.asanyarray(tap_file_in[mat_name]).astype(skim_data_type) - m = m[tap_indexes, :][:, tap_indexes] - tap_file_out[mat_name] = m - print(f"tap {skim_set} {mat_name} {m.shape}") - tap_file_in.close() - tap_file_out.close() +# crop marin tvpb example data processing to one county +# Ben Stabler, ben.stabler@rsginc.com, 09/17/20 + +import argparse +import os + +import numpy as np +import openmatrix as omx +import pandas as pd + +MAZ_OFFSET = 100000 + +segments = { + "test": {"DistName": ["Downtown SF"]}, + "marin_sf": {"CountyName": ["Marin", "San Francisco"]}, + "full": {}, +} + +parser = argparse.ArgumentParser(description="crop Marin raw_data") +parser.add_argument( + "segment_name", + metavar="segment_name", + type=str, + nargs=1, + help=f"geography segmentation (e.g. full)", +) + +parser.add_argument( + "-c", + "--check_geography", + default=False, + action="store_true", + help="check consistency of MAZ, TAZ, TAP zone_ids and foreign keys & write orphan_households file", +) + +args = parser.parse_args() + + +segment_name = args.segment_name[0] +check_geography = args.check_geography + +assert segment_name in segments.keys(), f"Unknown seg: {segment_name}" + +input_dir = "./data_raw" +output_dir = f"./data_{segment_name}" + + +print(f"segment_name {segment_name}") + +print(f"input_dir {input_dir}") +print(f"output_dir {output_dir}") + +print(f"check_geography {check_geography}") + +if not os.path.isdir(output_dir): + print(f"creating output directory {output_dir}") + os.mkdir(output_dir) + + +def input_path(file_name): + return os.path.join(input_dir, file_name) + + +def output_path(file_name): + return os.path.join(output_dir, file_name) + + +def patch_maz(df, maz_offset): + for c in df.columns: + if c in ["MAZ", "OMAZ", "DMAZ", "mgra", "orig_mgra", "dest_mgra"]: + df[c] += maz_offset + return df + + +def read_csv(file_name): + df = pd.read_csv(input_path(file_name)) + if MAZ_OFFSET: + df = patch_maz(df, MAZ_OFFSET) + print(f"read {file_name} {df.shape}") + return df + + +def to_csv(df, file_name): + df.to_csv(output_path(file_name), index=False) + print(f"write {file_name} {df.shape}") + + +# non-standard input file names +LAND_USE = "maz_data_asim.csv" +HOUSEHOLDS = "households_asim.csv" +PERSONS = "persons_asim.csv" +MAZ_TAZ = "maz_taz.csv" +TAP_MAZ = "tap_data.csv" +ACCESSIBILITY = "access.csv" +WORK_TOURS = "work_tours.csv" + +if check_geography: + + # ######## check for orphan_households not in any maz in land_use + land_use = read_csv(LAND_USE) + land_use = land_use[["MAZ", "TAZ"]] + land_use = land_use.sort_values(["TAZ", "MAZ"]) + + households = read_csv(HOUSEHOLDS) + orphan_households = households[~households.MAZ.isin(land_use.MAZ)] + print(f"{len(orphan_households)} orphan_households") + + # write orphan_households to INPUT directory (since it doesn't belong in output) + file_name = "orphan_households.csv" + print(f"writing {file_name} {orphan_households.shape} to {input_path(file_name)}") + orphan_households.to_csv(input_path(file_name), index=False) + + # ######## check that land_use and maz and taz tables have same MAZs and TAZs + + # could just build maz and taz files, but want to make sure PSRC data is right + + land_use = read_csv(LAND_USE) + land_use = land_use.sort_values("MAZ") + maz = read_csv(MAZ_TAZ).sort_values("MAZ") + + # ### FATAL ### + if not land_use.MAZ.isin(maz.MAZ).all(): + print( + f"land_use.MAZ not in maz.MAZ\n{land_use.MAZ[~land_use.MAZ.isin(maz.MAZ)]}" + ) + raise RuntimeError(f"land_use.MAZ not in maz.MAZ") + + if not maz.MAZ.isin(land_use.MAZ).all(): + print(f"maz.MAZ not in land_use.MAZ\n{maz.MAZ[~maz.MAZ.isin(land_use.MAZ)]}") + + # ### FATAL ### + if not land_use.TAZ.isin(maz.TAZ).all(): + print( + f"land_use.TAZ not in maz.TAZ\n{land_use.TAZ[~land_use.TAZ.isin(maz.TAZ)]}" + ) + raise RuntimeError(f"land_use.TAZ not in maz.TAZ") + + if not maz.TAZ.isin(land_use.TAZ).all(): + print(f"maz.TAZ not in land_use.TAZ\n{maz.TAZ[~maz.TAZ.isin(land_use.TAZ)]}") + + +# land_use + +land_use = read_csv(LAND_USE) + +slicer = segments[segment_name] +for slice_col, slice_values in slicer.items(): + print(f"slice {slice_col}: {slice_values}") + + land_use = land_use[land_use[slice_col].isin(slice_values)] + +print(f"land_use shape after slicing {land_use.shape}") +to_csv(land_use, "land_use.csv") + +# maz_taz, tazs, taps + +maz_taz = land_use[["MAZ", "TAZ"]] +to_csv(maz_taz, "maz_taz.csv") + +tazs = land_use["TAZ"].unique() +tazs.sort() + +taps = read_csv(TAP_MAZ) +taps = taps[["TAP", "TAZ"]].sort_values(by="TAP") +taps = taps[taps["TAZ"].isin(tazs)] +to_csv(taps, "tap.csv") + +# maz to tap walk, bike + +maz_tap_walk = read_csv("maz_tap_walk.csv") +maz_maz_walk = read_csv("maz_maz_walk.csv") +maz_maz_bike = read_csv("maz_maz_bike.csv") + +maz_tap_walk = maz_tap_walk[ + maz_tap_walk["MAZ"].isin(land_use["MAZ"]) & maz_tap_walk["TAP"].isin(taps["TAP"]) +] +maz_maz_walk = maz_maz_walk[ + maz_maz_walk["OMAZ"].isin(land_use["MAZ"]) + & maz_maz_walk["DMAZ"].isin(land_use["MAZ"]) +] +maz_maz_bike = maz_maz_bike[ + maz_maz_bike["OMAZ"].isin(land_use["MAZ"]) + & maz_maz_bike["DMAZ"].isin(land_use["MAZ"]) +] + +to_csv(maz_tap_walk, "maz_tap_walk.csv") +to_csv(maz_maz_walk, "maz_maz_walk.csv") +to_csv(maz_maz_bike, "maz_maz_bike.csv") + +tap_lines = read_csv("tap_lines.csv") +tap_lines = tap_lines[tap_lines["TAP"].isin(taps["TAP"])] +to_csv(tap_lines, "tap_lines.csv") + +# taz to tap drive data + +taz_tap_drive = read_csv("maz_taz_tap_drive.csv") +taz_tap_drive = taz_tap_drive[ + taz_tap_drive["MAZ"].isin(land_use["MAZ"]) & taz_tap_drive["TAP"].isin(taps["TAP"]) +] +to_csv(taz_tap_drive, "maz_taz_tap_drive.csv") + + +# accessibility data + +access = read_csv(ACCESSIBILITY) +access = access[access["mgra"].isin(land_use["MAZ"])] +to_csv(access, "accessibility.csv") + + +# households + +households = read_csv(HOUSEHOLDS) +households = households[households["MAZ"].isin(land_use["MAZ"])] +to_csv(households, "households.csv") + +# persons + +persons = read_csv(PERSONS) +persons = persons[persons["HHID"].isin(households["HHID"])] +to_csv(persons, "persons.csv") + +# tours file + +work_tours = read_csv(WORK_TOURS) +work_tours = work_tours[work_tours["hh_id"].isin(households["HHID"])] +work_tours = work_tours[ + work_tours["orig_mgra"].isin(land_use["MAZ"]) + & work_tours["dest_mgra"].isin(land_use["MAZ"]) +] +to_csv(work_tours, "work_tours.csv") + +# skims + +taz_indexes = (tazs - 1).tolist() # offset_map +tap_indexes = (taps["TAP"] - 1).tolist() # offset_map +time_periods = ["AM", "EA", "EV", "MD", "PM"] +skim_data_type = np.float32 + +# taz skims with skim_data_type np.float32 are under 2GB - otherwise we would need to further segment them + +for tp in time_periods: + in_file_name = f"HWYSKM{tp}_taz_rename.omx" + taz_file_in = omx.open_file(input_path(in_file_name)) + out_file_name = f"highway_skims_{tp}.omx" + taz_file_out = omx.open_file(output_path(out_file_name), "w") + taz_file_out.create_mapping("ZONE", tazs.tolist()) + for mat_name in taz_file_in.list_matrices(): + # make sure we have a vanilla numpy array, not a CArray + m = np.asanyarray(taz_file_in[mat_name]).astype(skim_data_type) + m = m[taz_indexes, :][:, taz_indexes] + taz_file_out[mat_name] = m + print(f"taz {mat_name} {m.shape}") + taz_file_in.close() + taz_file_out.close() + +for skim_set in ["SET1", "SET2", "SET3"]: + out_file_name = f"transit_skims_{skim_set}.omx" + tap_file_out = omx.open_file(output_path(out_file_name), "w") + tap_file_out.create_mapping("TAP", taps["TAP"].tolist()) + for tp in time_periods: + in_file_name = f"transit_skims_{tp}_{skim_set}_rename.omx" + tap_file_in = omx.open_file(input_path(in_file_name)) + for mat_name in tap_file_in.list_matrices(): + # make sure we have a vanilla numpy array, not a CArray + m = np.asanyarray(tap_file_in[mat_name]).astype(skim_data_type) + m = m[tap_indexes, :][:, tap_indexes] + tap_file_out[mat_name] = m + print(f"tap {skim_set} {mat_name} {m.shape}") + tap_file_in.close() + tap_file_out.close() diff --git a/activitysim/examples/example_marin/scripts/marin_fix.py b/activitysim/examples/prototype_marin/scripts/marin_fix.py similarity index 83% rename from activitysim/examples/example_marin/scripts/marin_fix.py rename to activitysim/examples/prototype_marin/scripts/marin_fix.py index 6cc1b08d9e..55ad498a72 100644 --- a/activitysim/examples/example_marin/scripts/marin_fix.py +++ b/activitysim/examples/prototype_marin/scripts/marin_fix.py @@ -2,11 +2,14 @@ # so data input files look 'realistic' - and that work is done instaed by 'import_tours' annotation expression files import os -import pandas as pd + import openmatrix as omx +import pandas as pd -input_dir = './data_3_marin' -output_dir = './data_3_marin/fix' # don't overwrite - but these files shold replace 'oritinals' +input_dir = "./data_3_marin" +output_dir = ( + "./data_3_marin/fix" # don't overwrite - but these files shold replace 'oritinals' +) def input_path(filenane): @@ -20,8 +23,8 @@ def output_path(filenane): # 0 - get county zones mazs = pd.read_csv(input_path("maz_data_asim.csv")) -del mazs['zone_id'] -del mazs['county_id'] +del mazs["zone_id"] +del mazs["county_id"] mazs.to_csv(output_path("maz_data_asim.csv"), index=False) tazs = mazs["TAZ"].unique() @@ -44,9 +47,9 @@ def output_path(filenane): maz_maz_walk = pd.read_csv(input_path("maz_maz_walk.csv")) maz_maz_bike = pd.read_csv(input_path("maz_maz_bike.csv")) -del maz_tap_walk['TAP.1'] -del maz_maz_walk['DMAZ.1'] -del maz_maz_bike['DMAZ.1'] +del maz_tap_walk["TAP.1"] +del maz_maz_walk["DMAZ.1"] +del maz_maz_bike["DMAZ.1"] maz_tap_walk.to_csv(output_path("maz_tap_walk.csv"), index=False) maz_maz_walk.to_csv(output_path("maz_maz_walk.csv"), index=False) @@ -55,7 +58,7 @@ def output_path(filenane): # 3 - accessibility data access = pd.read_csv(input_path("access.csv")) -del access['zone_id'] +del access["zone_id"] access.to_csv(output_path("access.csv"), index=False) # 4 - maz to tap drive data @@ -67,17 +70,17 @@ def output_path(filenane): # 5 - households households = pd.read_csv(input_path("households_asim.csv")) -del households['home_zone_id'] -del households['household_id'] +del households["home_zone_id"] +del households["household_id"] households.to_csv(output_path("households_asim.csv"), index=False) # 6 - persons persons = pd.read_csv(input_path("persons_asim.csv")) -del persons['person_id'] -del persons['household_id'] -del persons['is_university'] +del persons["person_id"] +del persons["household_id"] +del persons["is_university"] persons.to_csv(output_path("persons_asim.csv"), index=False) # 7 - tours file diff --git a/activitysim/examples/example_marin/scripts/marin_work_tour_mode_choice_data.py b/activitysim/examples/prototype_marin/scripts/marin_work_tour_mode_choice_data.py similarity index 71% rename from activitysim/examples/example_marin/scripts/marin_work_tour_mode_choice_data.py rename to activitysim/examples/prototype_marin/scripts/marin_work_tour_mode_choice_data.py index 955b99a9aa..e31212549c 100644 --- a/activitysim/examples/example_marin/scripts/marin_work_tour_mode_choice_data.py +++ b/activitysim/examples/prototype_marin/scripts/marin_work_tour_mode_choice_data.py @@ -1,9 +1,8 @@ - # marin tvpb example data processing # Ben Stabler, ben.stabler@rsginc.com, 09/17/20 -import pandas as pd import openmatrix as omx +import pandas as pd # command to run the underdevelopment example # python simulation.py -c configs_3_zone_marin -d data_3_marin -o output_3_marin @@ -14,8 +13,8 @@ time_periods = ["AM", "EA", "EV", "MD", "PM"] for tp in time_periods: - taz_file = omx.open_file('HWYSKM' + tp + '_taz.omx') - taz_file_rename = omx.open_file('HWYSKM' + tp + '_taz_rename.omx', 'w') + taz_file = omx.open_file("HWYSKM" + tp + "_taz.omx") + taz_file_rename = omx.open_file("HWYSKM" + tp + "_taz_rename.omx", "w") for mat_name in taz_file.list_matrices(): taz_file_rename[mat_name + "__" + tp] = taz_file[mat_name][:] print(mat_name + "__" + tp) @@ -24,21 +23,37 @@ for tp in time_periods: for skim_set in ["SET1", "SET2", "SET3"]: - tap_file = omx.open_file('transit_skims_' + tp + '_' + skim_set + '.omx') - tap_file_rename = omx.open_file('transit_skims_' + tp + '_' + skim_set + '_rename.omx', 'w') + tap_file = omx.open_file("transit_skims_" + tp + "_" + skim_set + ".omx") + tap_file_rename = omx.open_file( + "transit_skims_" + tp + "_" + skim_set + "_rename.omx", "w" + ) for mat_name in tap_file.list_matrices(): - tap_file_rename[mat_name + "_" + skim_set + "__" + tp] = tap_file[mat_name][:] - print(mat_name + '_' + skim_set + "__" + tp) + tap_file_rename[mat_name + "_" + skim_set + "__" + tp] = tap_file[mat_name][ + : + ] + print(mat_name + "_" + skim_set + "__" + tp) tap_file.close() tap_file_rename.close() # 2 - nearby skims need headers -maz_tap_walk = pd.read_csv("2015_test_2019_02_13_Part3/skims/ped_distance_maz_tap.txt", header=None) -maz_maz_walk = pd.read_csv("2015_test_2019_02_13_Part3/skims/ped_distance_maz_maz.txt", header=None) -maz_maz_bike = pd.read_csv("2015_test_2019_02_13_Part3/skims/bike_distance_maz_maz.txt", header=None) - -maz_tap_walk.columns = ["MAZ", "TAP", "TAP", "WALK_TRANSIT_GEN_COST", "WALK_TRANSIT_DIST"] +maz_tap_walk = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/ped_distance_maz_tap.txt", header=None +) +maz_maz_walk = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/ped_distance_maz_maz.txt", header=None +) +maz_maz_bike = pd.read_csv( + "2015_test_2019_02_13_Part3/skims/bike_distance_maz_maz.txt", header=None +) + +maz_tap_walk.columns = [ + "MAZ", + "TAP", + "TAP", + "WALK_TRANSIT_GEN_COST", + "WALK_TRANSIT_DIST", +] maz_maz_walk.columns = ["OMAZ", "DMAZ", "DMAZ", "WALK_GEN_COST", "WALK_DIST"] maz_maz_bike.columns = ["OMAZ", "DMAZ", "DMAZ", "BIKE_GEN_COST", "BIKE_DIST"] @@ -46,7 +61,9 @@ maz_maz_walk["WALK_DIST"] = maz_maz_walk["WALK_DIST"] / 5280 # miles maz_maz_bike["BIKE_DIST"] = maz_maz_bike["BIKE_DIST"] / 5280 # miles -maz_tap_walk[["MAZ", "TAP", "WALK_TRANSIT_DIST"]].to_csv("maz_tap_walk.csv", index=False) +maz_tap_walk[["MAZ", "TAP", "WALK_TRANSIT_DIST"]].to_csv( + "maz_tap_walk.csv", index=False +) maz_maz_walk[["OMAZ", "DMAZ", "WALK_DIST"]].to_csv("maz_maz_walk.csv", index=False) maz_maz_bike[["OMAZ", "DMAZ", "BIKE_DIST"]].to_csv("maz_maz_bike.csv", index=False) @@ -55,7 +72,7 @@ mazs = pd.read_csv("2015_test_2019_02_13_Part2/landuse/maz_data_withDensity.csv") pcost = pd.read_csv("2015_test_2019_02_13/ctramp_output/mgraParkingCost.csv") -mazs = pd.concat([mazs, pcost], axis=1) +mazs = pd.concat([mazs, pcost], axis=1) mazs = mazs.fillna(0) tazs = pd.read_csv("2015_test_2019_02_13_Part2/landuse/taz_data.csv") @@ -81,22 +98,28 @@ taz_tap_drive = pd.read_csv("2015_test_2019_02_13_Part3/skims/drive_maz_taz_tap.csv") -taz_tap_drive = taz_tap_drive.pivot_table(index=["FTAZ", "TTAP"], values=['DTIME', 'DDIST', "WDIST"], fill_value=0) +taz_tap_drive = taz_tap_drive.pivot_table( + index=["FTAZ", "TTAP"], values=["DTIME", "DDIST", "WDIST"], fill_value=0 +) taz_tap_drive.columns = list(map("".join, taz_tap_drive.columns)) taz_tap_drive = taz_tap_drive.reset_index() taz_tap_drive = taz_tap_drive.set_index("FTAZ") taz_tap_drive["TAP"] = taz_tap_drive["TTAP"] -taz_tap_drive = pd.merge(mazs[["MAZ", "TAZ"]], taz_tap_drive, left_on=['TAZ'], right_on=['FTAZ']) -taz_tap_drive[["MAZ", "TAP", "DDIST", "DTIME", "WDIST"]].to_csv("maz_taz_tap_drive.csv", index=False) +taz_tap_drive = pd.merge( + mazs[["MAZ", "TAZ"]], taz_tap_drive, left_on=["TAZ"], right_on=["FTAZ"] +) +taz_tap_drive[["MAZ", "TAP", "DDIST", "DTIME", "WDIST"]].to_csv( + "maz_taz_tap_drive.csv", index=False +) # 6 - tours file, we just need work tours itour = pd.read_csv("2015_test_2019_02_13/ctramp_output/indivTourData_3.csv") work_tours = itour[itour["tour_purpose"] == "Work"] -work_tours["tour_id"] = range(1, len(work_tours)+1) +work_tours["tour_id"] = range(1, len(work_tours) + 1) work_tours["household_id"] = work_tours["hh_id"] work_tours = work_tours.set_index("tour_id", drop=False) @@ -136,13 +159,13 @@ # 9 - replace existing pipeline tables for restart for now # run simple three zone example and get output pipeline and then replace tables before tour mode choice -pipeline = pd.io.pytables.HDFStore('pipeline.h5') +pipeline = pd.io.pytables.HDFStore("pipeline.h5") pipeline.keys() -pipeline['/accessibility/compute_accessibility'] = access # index zone_id -pipeline['/households/joint_tour_frequency'] = households # index household_id -pipeline['/persons/non_mandatory_tour_frequency'] = persons # index person_id -pipeline['/land_use/initialize_landuse'] = mazs # index zone_id -pipeline['/tours/non_mandatory_tour_scheduling'] = work_tours # index tour_id +pipeline["/accessibility/compute_accessibility"] = access # index zone_id +pipeline["/households/joint_tour_frequency"] = households # index household_id +pipeline["/persons/non_mandatory_tour_frequency"] = persons # index person_id +pipeline["/land_use/initialize_landuse"] = mazs # index zone_id +pipeline["/tours/non_mandatory_tour_scheduling"] = work_tours # index tour_id pipeline.close() diff --git a/activitysim/examples/example_marin/scripts/notes.txt b/activitysim/examples/prototype_marin/scripts/notes.txt similarity index 100% rename from activitysim/examples/example_marin/scripts/notes.txt rename to activitysim/examples/prototype_marin/scripts/notes.txt diff --git a/activitysim/examples/example_marin/scripts/tvpb_validation.R b/activitysim/examples/prototype_marin/scripts/tvpb_validation.R similarity index 80% rename from activitysim/examples/example_marin/scripts/tvpb_validation.R rename to activitysim/examples/prototype_marin/scripts/tvpb_validation.R index de8eb01356..5ca979797e 100644 --- a/activitysim/examples/example_marin/scripts/tvpb_validation.R +++ b/activitysim/examples/prototype_marin/scripts/tvpb_validation.R @@ -1,6 +1,6 @@ #mode share -x=read.csv("C:/projects/activitysim/activitysim/examples/example_multiple_zone/output_3_marin_full/final_tours.csv") +x=read.csv("C:/projects/activitysim/activitysim/examples/placeholder_multiple_zone/output_3_marin_full/final_tours.csv") tm2_mode_codes = c("DRIVEALONEFREE","SHARED2FREE","SHARED2FREE","SHARED3FREE","SHARED3FREE","WALK","BIKE","WALK_TRANSIT","DRIVE_TRANSIT","DRIVE_TRANSIT","TAXI") names(tm2_mode_codes) = c(1,3,4,6,7,9,10,11,12,13,15) @@ -14,7 +14,7 @@ write.csv(asim_ms, "c:/projects/asim_ms.csv", row.names=F) #taps -taps=read.csv("C:/projects/activitysim/activitysim/examples/example_multiple_zone/data_3_marin_full/tap_data.csv") +taps=read.csv("C:/projects/activitysim/activitysim/examples/placeholder_multiple_zone/data_3_marin_full/tap_data.csv") tm2_out_btap = sort(table(x$tm2_out_btap)) asim_out_btap = sort(table(x$od_btap)) diff --git a/activitysim/examples/example_marin/test/configs/network_los.yaml b/activitysim/examples/prototype_marin/test/configs/network_los.yaml similarity index 100% rename from activitysim/examples/example_marin/test/configs/network_los.yaml rename to activitysim/examples/prototype_marin/test/configs/network_los.yaml diff --git a/activitysim/examples/example_marin/test/configs/settings.yaml b/activitysim/examples/prototype_marin/test/configs/settings.yaml similarity index 100% rename from activitysim/examples/example_marin/test/configs/settings.yaml rename to activitysim/examples/prototype_marin/test/configs/settings.yaml diff --git a/activitysim/examples/example_sandag/output_1/.gitignore b/activitysim/examples/prototype_marin/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_1/.gitignore rename to activitysim/examples/prototype_marin/test/output/.gitignore diff --git a/activitysim/examples/example_psrc/test/output/cache/.gitignore b/activitysim/examples/prototype_marin/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_psrc/test/output/cache/.gitignore rename to activitysim/examples/prototype_marin/test/output/cache/.gitignore diff --git a/activitysim/examples/example_sandag/output_1/log/.gitignore b/activitysim/examples/prototype_marin/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_1/log/.gitignore rename to activitysim/examples/prototype_marin/test/output/trace/.gitignore diff --git a/activitysim/examples/example_marin/test/regress/final_tours.csv b/activitysim/examples/prototype_marin/test/regress/final_tours.csv similarity index 100% rename from activitysim/examples/example_marin/test/regress/final_tours.csv rename to activitysim/examples/prototype_marin/test/regress/final_tours.csv diff --git a/activitysim/examples/prototype_marin/test/simulation.py b/activitysim/examples/prototype_marin/test/simulation.py new file mode 100755 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/prototype_marin/test/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/example_marin/test/test_marin.py b/activitysim/examples/prototype_marin/test/test_marin.py similarity index 50% rename from activitysim/examples/example_marin/test/test_marin.py rename to activitysim/examples/prototype_marin/test/test_marin.py index 6217e8b690..2f78de8868 100644 --- a/activitysim/examples/example_marin/test/test_marin.py +++ b/activitysim/examples/prototype_marin/test/test_marin.py @@ -2,10 +2,10 @@ # See full license in LICENSE.txt. import os import subprocess -import pkg_resources import pandas as pd import pandas.testing as pdt +import pkg_resources from activitysim.core import inject @@ -16,33 +16,45 @@ def teardown_function(func): def test_marin(): - def example_path(dirname): - resource = os.path.join('examples', 'example_marin', dirname) - return pkg_resources.resource_filename('activitysim', resource) + resource = os.path.join("examples", "prototype_marin", dirname) + return pkg_resources.resource_filename("activitysim", resource) def test_path(dirname): return os.path.join(os.path.dirname(__file__), dirname) def regress(): - regress_trips_df = pd.read_csv(test_path('regress/final_tours.csv')) - final_trips_df = pd.read_csv(test_path('output/final_tours.csv')) + regress_trips_df = pd.read_csv(test_path("regress/final_tours.csv")) + final_trips_df = pd.read_csv(test_path("output/final_tours.csv")) # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum # compare_cols = [] pdt.assert_frame_equal(final_trips_df, regress_trips_df) - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') - - subprocess.run(['coverage', 'run', '-a', file_path, - '-c', test_path('configs'), '-c', example_path('configs'), - '-d', example_path('data'), - '-o', test_path('output')], check=True) + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + subprocess.run( + [ + "coverage", + "run", + "-a", + file_path, + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ], + check=True, + ) regress() -if __name__ == '__main__': +if __name__ == "__main__": test_marin() diff --git a/activitysim/examples/example_mtc/.gitignore b/activitysim/examples/prototype_mtc/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/.gitignore rename to activitysim/examples/prototype_mtc/.gitignore diff --git a/activitysim/examples/example_mtc/README.MD b/activitysim/examples/prototype_mtc/README.MD similarity index 80% rename from activitysim/examples/example_mtc/README.MD rename to activitysim/examples/prototype_mtc/README.MD index 486dc9cd37..b9110fe219 100644 --- a/activitysim/examples/example_mtc/README.MD +++ b/activitysim/examples/prototype_mtc/README.MD @@ -1,4 +1,4 @@ -### MTC Example +### Prototype MTC Example The primary ActivitySim example model. See https://activitysim.github.io/activitysim for more information. diff --git a/activitysim/examples/example_psrc/configs/accessibility.csv b/activitysim/examples/prototype_mtc/configs/accessibility.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/accessibility.csv rename to activitysim/examples/prototype_mtc/configs/accessibility.csv index c40a672b18..db2275546a --- a/activitysim/examples/example_psrc/configs/accessibility.csv +++ b/activitysim/examples/prototype_mtc/configs/accessibility.csv @@ -1,59 +1,59 @@ -Description,Target,Expression -#,, -#,, auto peak -#,, -#,, assume peak occurs in AM for outbound and PM for inbound -peak round trip distance,_auPkTime,"skim_od[('SOVTOLL_TIME', 'AM')] + skim_do[('SOVTOLL_TIME', 'PM')]" -decay function,_decay, exp(_auPkTime * dispersion_parameter_automobile) -auto peak retail,auPkRetail,df.RETEMPN * _decay -auto peak total,auPkTotal,df.TOTEMP * _decay -#,, -#,, auto off-peak -#,, -#,, assume midday occurs entirely in the midday period -off-peak round trip distance,_auOpTime,"skim_od[('SOVTOLL_TIME', 'MD')] + skim_do[('SOVTOLL_TIME', 'MD')]" -decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile) -auto off-peak retail,auOpRetail,df.RETEMPN * _decay -auto off-peak total,auOpTotal,df.TOTEMP * _decay -#,, -#,, transit peak -#,, -#,, assume peak outbound transit occurs in AM -o-d peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'AM')]" -o-d peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_XWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_WACC', 'AM')] + skim_od[('WLK_TRN_WLK_WAUX', 'AM')] + skim_od[('WLK_TRN_WLK_WEGR', 'AM')]" -o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR -#,, assume peak inbound transit occurs in PM -d-o peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'PM')]" -d-o peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_XWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_WACC', 'PM')] + skim_do[('WLK_TRN_WLK_WAUX', 'PM')] + skim_do[('WLK_TRN_WLK_WEGR', 'PM')]" -d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR -peak transit time,_trPkTime,(_trPkTime_od + _trPkTime_do).clip(0) -round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) -decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) -transit peak retail,trPkRetail,df.RETEMPN * _decay -transit peak total,trPkTotal,df.TOTEMP * _decay -#,, -#,, transit off-peak -#,, -#,, assume off-peak outbound transit occurs in the MD time period -o-d off-peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'MD')]" -o-d off-peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_WACC', 'MD')] + skim_od[('WLK_TRN_WLK_WAUX', 'MD')] + skim_od[('WLK_TRN_WLK_WEGR', 'MD')]" -o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR -#,, assume off-peak inbound transit occurs in the MD time period -d-o off-peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'MD')]" -d-o off-peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_WACC', 'MD')] + skim_do[('WLK_TRN_WLK_WAUX', 'MD')] + skim_do[('WLK_TRN_WLK_WEGR', 'MD')]" -d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR -peak transit time,_trOpTime,(_trOpTime_od + _trOpTime_do).clip(0) -#,,FIXME - _rt_available calculation appears to be wrong in mtctm1 accessibility.job -#round trip path is available,_rt_available,(_trOpTime > 0) -round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) -decay function,_decay,_rt_available * exp(_trOpTime * dispersion_parameter_transit) -transit off-peak retail,trOpRetail,df.RETEMPN * _decay -transit off-peak total,trOpTotal,df.TOTEMP * _decay -#,, -#,, non motorized -#,, -non-motorized round trip distance,_nmDist,skim_od['DISTWALK'] + skim_do['DISTWALK'] -round trip path is available,_rt_available,_nmDist <= maximum_walk_distance -decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk) -retail accessibility,nmRetail,df.RETEMPN * _decay -total accessibility,nmTotal,df.TOTEMP * _decay +Description,Target,Expression +#,, +#,, auto peak +#,, +#,, assume peak occurs in AM for outbound and PM for inbound +peak round trip distance,_auPkTime,"skim_od[('SOVTOLL_TIME', 'AM')] + skim_do[('SOVTOLL_TIME', 'PM')]" +decay function,_decay, exp(_auPkTime * dispersion_parameter_automobile) +auto peak retail,auPkRetail,df.RETEMPN * _decay +auto peak total,auPkTotal,df.TOTEMP * _decay +#,, +#,, auto off-peak +#,, +#,, assume midday occurs entirely in the midday period +off-peak round trip distance,_auOpTime,"skim_od[('SOVTOLL_TIME', 'MD')] + skim_do[('SOVTOLL_TIME', 'MD')]" +decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile) +auto off-peak retail,auOpRetail,df.RETEMPN * _decay +auto off-peak total,auOpTotal,df.TOTEMP * _decay +#,, +#,, transit peak +#,, +#,, assume peak outbound transit occurs in AM +o-d peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'AM')]" +o-d peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_XWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_WACC', 'AM')] + skim_od[('WLK_TRN_WLK_WAUX', 'AM')] + skim_od[('WLK_TRN_WLK_WEGR', 'AM')]" +o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +#,, assume peak inbound transit occurs in PM +d-o peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'PM')]" +d-o peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_XWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_WACC', 'PM')] + skim_do[('WLK_TRN_WLK_WAUX', 'PM')] + skim_do[('WLK_TRN_WLK_WEGR', 'PM')]" +d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +peak transit time,_trPkTime,(_trPkTime_od + _trPkTime_do).clip(0) +round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) +decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) +transit peak retail,trPkRetail,df.RETEMPN * _decay +transit peak total,trPkTotal,df.TOTEMP * _decay +#,, +#,, transit off-peak +#,, +#,, assume off-peak outbound transit occurs in the MD time period +o-d off-peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'MD')]" +o-d off-peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_WACC', 'MD')] + skim_od[('WLK_TRN_WLK_WAUX', 'MD')] + skim_od[('WLK_TRN_WLK_WEGR', 'MD')]" +o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +#,, assume off-peak inbound transit occurs in the MD time period +d-o off-peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'MD')]" +d-o off-peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_WACC', 'MD')] + skim_do[('WLK_TRN_WLK_WAUX', 'MD')] + skim_do[('WLK_TRN_WLK_WEGR', 'MD')]" +d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +peak transit time,_trOpTime,(_trOpTime_od + _trOpTime_do).clip(0) +#,,FIXME - _rt_available calculation appears to be wrong in mtctm1 accessibility.job +#round trip path is available,_rt_available,(_trOpTime > 0) +round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) +decay function,_decay,_rt_available * exp(_trOpTime * dispersion_parameter_transit) +transit off-peak retail,trOpRetail,df.RETEMPN * _decay +transit off-peak total,trOpTotal,df.TOTEMP * _decay +#,, +#,, non motorized +#,, +non-motorized round trip distance,_nmDist,skim_od['DISTWALK'] + skim_do['DISTWALK'] +round trip path is available,_rt_available,_nmDist <= maximum_walk_distance +decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk) +retail accessibility,nmRetail,df.RETEMPN * _decay +total accessibility,nmTotal,df.TOTEMP * _decay diff --git a/activitysim/examples/example_psrc/configs/accessibility.yaml b/activitysim/examples/prototype_mtc/configs/accessibility.yaml old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_psrc/configs/accessibility.yaml rename to activitysim/examples/prototype_mtc/configs/accessibility.yaml index 0ba32fd50a..d8c1e038c5 --- a/activitysim/examples/example_psrc/configs/accessibility.yaml +++ b/activitysim/examples/prototype_mtc/configs/accessibility.yaml @@ -1,13 +1,13 @@ - -# columns from land_use table to add to df -land_use_columns: ['RETEMPN', 'TOTEMP'] - -CONSTANTS: - # dispersion parameters - dispersion_parameter_automobile: -0.05 - dispersion_parameter_transit: -0.05 - dispersion_parameter_walk: -1.00 - # maximum walk distance in miles - maximum_walk_distance: 3.0 - # perceived minute of in-vehicle time for every minute of out-of-vehicle time - out_of_vehicle_time_weight: 2.0 + +# columns from land_use table to add to df +land_use_columns: ['RETEMPN', 'TOTEMP'] + +CONSTANTS: + # dispersion parameters + dispersion_parameter_automobile: -0.05 + dispersion_parameter_transit: -0.05 + dispersion_parameter_walk: -1.00 + # maximum walk distance in miles + maximum_walk_distance: 3.0 + # perceived minute of in-vehicle time for every minute of out-of-vehicle time + out_of_vehicle_time_weight: 2.0 diff --git a/activitysim/examples/example_mtc/configs/annotate_households.csv b/activitysim/examples/prototype_mtc/configs/annotate_households.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_households.csv rename to activitysim/examples/prototype_mtc/configs/annotate_households.csv diff --git a/activitysim/examples/example_mtc/configs/annotate_households_cdap.csv b/activitysim/examples/prototype_mtc/configs/annotate_households_cdap.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_households_cdap.csv rename to activitysim/examples/prototype_mtc/configs/annotate_households_cdap.csv diff --git a/activitysim/examples/example_psrc/configs/annotate_households_workplace.csv b/activitysim/examples/prototype_mtc/configs/annotate_households_workplace.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/annotate_households_workplace.csv rename to activitysim/examples/prototype_mtc/configs/annotate_households_workplace.csv index 29ff416845..a28f92732b --- a/activitysim/examples/example_psrc/configs/annotate_households_workplace.csv +++ b/activitysim/examples/prototype_mtc/configs/annotate_households_workplace.csv @@ -1,5 +1,5 @@ -Description,Target,Expression -#,, annotate households table after workplace_location model has run -#,, hh_work_auto_savings_ratio is sum of persons work_auto_savings_ratio -,hh_work_auto_savings_ratio,persons.work_auto_savings_ratio.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0) -#,,handle persons with no location +Description,Target,Expression +#,, annotate households table after workplace_location model has run +#,, hh_work_auto_savings_ratio is sum of persons work_auto_savings_ratio +,hh_work_auto_savings_ratio,persons.work_auto_savings_ratio.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0) +#,,handle persons with no location diff --git a/activitysim/examples/example_mtc/configs/annotate_landuse.csv b/activitysim/examples/prototype_mtc/configs/annotate_landuse.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/annotate_landuse.csv rename to activitysim/examples/prototype_mtc/configs/annotate_landuse.csv diff --git a/activitysim/examples/example_psrc/configs/annotate_persons.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/annotate_persons.csv rename to activitysim/examples/prototype_mtc/configs/annotate_persons.csv index 037dc3fe5d..6162b53a82 --- a/activitysim/examples/example_psrc/configs/annotate_persons.csv +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons.csv @@ -1,38 +1,38 @@ -Description,Target,Expression -#,, annotate persons table after import -age_16_to_19,age_16_to_19,"persons.age.between(16, 19)" -age_16_p,age_16_p,persons.age >= 16 -adult,adult,persons.age >= 18 -male,male,persons.sex == 1 -female,female,persons.sex == 2 -presence of non_worker other than self in household,has_non_worker,"other_than(persons.household_id, persons.ptype == PTYPE_NONWORK)" -presence of retiree other than self in household,has_retiree,"other_than(persons.household_id, persons.ptype == PTYPE_RETIRED)" -presence of preschooler other than self in household,has_preschool_kid,"other_than(persons.household_id, persons.ptype == PTYPE_PRESCHOOL)" -presence of driving_kid other than self in household,has_driving_kid,"other_than(persons.household_id, persons.ptype == PTYPE_DRIVING)" -presence of school_kid other than self in household,has_school_kid,"other_than(persons.household_id, persons.ptype == PTYPE_SCHOOL)" -presence of full_time worker other than self in household (independent of person type),has_full_time,"other_than(persons.household_id, persons.pemploy==PEMPLOY_FULL)" -presence of part_time worker other than self in household (independent of person type),has_part_time,"other_than(persons.household_id, persons.pemploy==PEMPLOY_PART)" -presence of university student other than self in household,has_university,"other_than(persons.household_id, persons.ptype == PTYPE_UNIVERSITY)" -student_is_employed,student_is_employed,"(persons.ptype.isin([PTYPE_UNIVERSITY, PTYPE_DRIVING]) & persons.pemploy.isin([PEMPLOY_FULL, PEMPLOY_PART]))" -nonstudent_to_school,nonstudent_to_school,"(persons.ptype.isin([PTYPE_FULL, PTYPE_PART, PTYPE_NONWORK, PTYPE_RETIRED]) & persons.pstudent.isin([PSTUDENT_GRADE_OR_HIGH, PSTUDENT_UNIVERSITY]))" -#,, -#,, FIXME - if person is a university student but has school age student category value then reset student category value -,pstudent,"persons.pstudent.where(persons.ptype!=PTYPE_UNIVERSITY, PSTUDENT_UNIVERSITY)" -#,, FIXME if person is a student of any kind but has full-time employment status then reset student category value to non-student -,pstudent,"pstudent.where(persons.ptype!=PTYPE_FULL, PSTUDENT_NOT)" -#,, FIXME if student category is non-student and employment is student then reset student category value to student -,pstudent,"pstudent.where((persons.ptype!=PTYPE_DRIVING) & (persons.ptype!=PTYPE_SCHOOL), PSTUDENT_GRADE_OR_HIGH)" -#,, -is_student,is_student,"pstudent.isin([PSTUDENT_GRADE_OR_HIGH, PSTUDENT_UNIVERSITY])" -preschool age can go to preschool,is_student,"is_student.where(persons.age > GRADE_SCHOOL_MIN_AGE, True)" -preschool age can go to preschool,pstudent,"pstudent.where(persons.age > GRADE_SCHOOL_MIN_AGE, PSTUDENT_GRADE_OR_HIGH)" -is_gradeschool,is_gradeschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age <= GRADE_SCHOOL_MAX_AGE) -is_highschool,is_highschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age > GRADE_SCHOOL_MAX_AGE) -is_university,is_university,pstudent == PSTUDENT_UNIVERSITY -school_segment gradeschool,school_segment,"np.where(is_gradeschool, SCHOOL_SEGMENT_GRADE, SCHOOL_SEGMENT_NONE)" -school_segment highschool,school_segment,"np.where(is_highschool, SCHOOL_SEGMENT_HIGH, school_segment)" -school_segment university,school_segment,"np.where(is_university, SCHOOL_SEGMENT_UNIV, school_segment).astype(np.int8)" -#,, -is_worker,is_worker,"persons.pemploy.isin([PEMPLOY_FULL, PEMPLOY_PART])" -#,, -home_zone_id,home_zone_id,"reindex(households.home_zone_id, persons.household_id)" +Description,Target,Expression +#,, annotate persons table after import +age_16_to_19,age_16_to_19,"persons.age.between(16, 19)" +age_16_p,age_16_p,persons.age >= 16 +adult,adult,persons.age >= 18 +male,male,persons.sex == 1 +female,female,persons.sex == 2 +presence of non_worker other than self in household,has_non_worker,"other_than(persons.household_id, persons.ptype == PTYPE_NONWORK)" +presence of retiree other than self in household,has_retiree,"other_than(persons.household_id, persons.ptype == PTYPE_RETIRED)" +presence of preschooler other than self in household,has_preschool_kid,"other_than(persons.household_id, persons.ptype == PTYPE_PRESCHOOL)" +presence of driving_kid other than self in household,has_driving_kid,"other_than(persons.household_id, persons.ptype == PTYPE_DRIVING)" +presence of school_kid other than self in household,has_school_kid,"other_than(persons.household_id, persons.ptype == PTYPE_SCHOOL)" +presence of full_time worker other than self in household (independent of person type),has_full_time,"other_than(persons.household_id, persons.pemploy==PEMPLOY_FULL)" +presence of part_time worker other than self in household (independent of person type),has_part_time,"other_than(persons.household_id, persons.pemploy==PEMPLOY_PART)" +presence of university student other than self in household,has_university,"other_than(persons.household_id, persons.ptype == PTYPE_UNIVERSITY)" +student_is_employed,student_is_employed,"(persons.ptype.isin([PTYPE_UNIVERSITY, PTYPE_DRIVING]) & persons.pemploy.isin([PEMPLOY_FULL, PEMPLOY_PART]))" +nonstudent_to_school,nonstudent_to_school,"(persons.ptype.isin([PTYPE_FULL, PTYPE_PART, PTYPE_NONWORK, PTYPE_RETIRED]) & persons.pstudent.isin([PSTUDENT_GRADE_OR_HIGH, PSTUDENT_UNIVERSITY]))" +#,, +#,, FIXME - if person is a university student but has school age student category value then reset student category value +,pstudent,"persons.pstudent.where(persons.ptype!=PTYPE_UNIVERSITY, PSTUDENT_UNIVERSITY)" +#,, FIXME if person is a student of any kind but has full-time employment status then reset student category value to non-student +,pstudent,"pstudent.where(persons.ptype!=PTYPE_FULL, PSTUDENT_NOT)" +#,, FIXME if student category is non-student and employment is student then reset student category value to student +,pstudent,"pstudent.where((persons.ptype!=PTYPE_DRIVING) & (persons.ptype!=PTYPE_SCHOOL), PSTUDENT_GRADE_OR_HIGH)" +#,, +is_student,is_student,"pstudent.isin([PSTUDENT_GRADE_OR_HIGH, PSTUDENT_UNIVERSITY])" +preschool age can go to preschool,is_student,"is_student.where(persons.age > GRADE_SCHOOL_MIN_AGE, True)" +preschool age can go to preschool,pstudent,"pstudent.where(persons.age > GRADE_SCHOOL_MIN_AGE, PSTUDENT_GRADE_OR_HIGH)" +is_gradeschool,is_gradeschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age <= GRADE_SCHOOL_MAX_AGE) +is_highschool,is_highschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age > GRADE_SCHOOL_MAX_AGE) +is_university,is_university,pstudent == PSTUDENT_UNIVERSITY +school_segment gradeschool,school_segment,"np.where(is_gradeschool, SCHOOL_SEGMENT_GRADE, SCHOOL_SEGMENT_NONE)" +school_segment highschool,school_segment,"np.where(is_highschool, SCHOOL_SEGMENT_HIGH, school_segment)" +school_segment university,school_segment,"np.where(is_university, SCHOOL_SEGMENT_UNIV, school_segment).astype(np.int8)" +#,, +is_worker,is_worker,"persons.pemploy.isin([PEMPLOY_FULL, PEMPLOY_PART])" +#,, +home_zone_id,home_zone_id,"reindex(households.home_zone_id, persons.household_id)" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_after_hh.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_after_hh.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/annotate_persons_after_hh.csv rename to activitysim/examples/prototype_mtc/configs/annotate_persons_after_hh.csv index 905aca7531..59374d5bf2 --- a/activitysim/examples/example_psrc/configs/annotate_persons_after_hh.csv +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_after_hh.csv @@ -1,5 +1,5 @@ -Description,Target,Expression -#,, annotate persons table after annotate_households -#,, adults get full hh_value_of_time and children get 60% -,_hh_vot,"reindex(households.hh_value_of_time, persons.household_id)" -,value_of_time,"_hh_vot.where(persons.age>=18, _hh_vot * 0.667)" +Description,Target,Expression +#,, annotate persons table after annotate_households +#,, adults get full hh_value_of_time and children get 60% +,_hh_vot,"reindex(households.hh_value_of_time, persons.household_id)" +,value_of_time,"_hh_vot.where(persons.age>=18, _hh_vot * 0.667)" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_cdap.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_cdap.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/annotate_persons_cdap.csv rename to activitysim/examples/prototype_mtc/configs/annotate_persons_cdap.csv index 10ebafbc73..2ad5e56a6b --- a/activitysim/examples/example_psrc/configs/annotate_persons_cdap.csv +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_cdap.csv @@ -1,6 +1,6 @@ -Description,Target,Expression -#,, annotate persons table after cdap model has run -travel_active,travel_active,persons.cdap_activity != CDAP_ACTIVITY_HOME -under16_not_at_school,under16_not_at_school,"persons.ptype.isin([PTYPE_SCHOOL, PTYPE_PRESCHOOL]) & persons.cdap_activity.isin(['N', 'H'])" -has_preschool_kid_at_home,has_preschool_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_PRESCHOOL) & (persons.cdap_activity == 'H'))" -has_school_kid_at_home,has_school_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_SCHOOL) & (persons.cdap_activity == 'H'))" +Description,Target,Expression +#,, annotate persons table after cdap model has run +travel_active,travel_active,persons.cdap_activity != CDAP_ACTIVITY_HOME +under16_not_at_school,under16_not_at_school,"persons.ptype.isin([PTYPE_SCHOOL, PTYPE_PRESCHOOL]) & persons.cdap_activity.isin(['N', 'H'])" +has_preschool_kid_at_home,has_preschool_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_PRESCHOOL) & (persons.cdap_activity == 'H'))" +has_school_kid_at_home,has_school_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_SCHOOL) & (persons.cdap_activity == 'H'))" diff --git a/activitysim/examples/example_semcog/configs/annotate_persons_jtp.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_jtp.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/annotate_persons_jtp.csv rename to activitysim/examples/prototype_mtc/configs/annotate_persons_jtp.csv index 3d5e08db0c..a72c866057 --- a/activitysim/examples/example_semcog/configs/annotate_persons_jtp.csv +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_jtp.csv @@ -1,3 +1,3 @@ -Description,Target,Expression -#,, annotate persons table after joint_tour_participation model has run -num_joint_tours,num_joint_tours,"joint_tour_participants.groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" +Description,Target,Expression +#,, annotate persons table after joint_tour_participation model has run +num_joint_tours,num_joint_tours,"joint_tour_participants.groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_mtf.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_mtf.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/annotate_persons_mtf.csv rename to activitysim/examples/prototype_mtc/configs/annotate_persons_mtf.csv index e94a8776ca..00e0de1014 --- a/activitysim/examples/example_psrc/configs/annotate_persons_mtf.csv +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_mtf.csv @@ -1,8 +1,8 @@ -Description,Target,Expression -#,, annotate persons table after mandatory_tour_frequency model has run -,_PERSON_TOUR_COUNT,"lambda exp, persons, tours: tours.query(exp).groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" -,_Q,lambda s: "'{}'".format(s) -work_and_school_and_worker,work_and_school_and_worker,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_worker -work_and_school_and_student,work_and_school_and_student,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_student -number of mandatory tours for each person,num_mand,"_PERSON_TOUR_COUNT('tour_category==%s' % _Q('mandatory'), persons, tours).fillna(0)" -number of work tours for each person,num_work_tours,"_PERSON_TOUR_COUNT('tour_type==%s' % _Q('work'), persons, tours).fillna(0)" +Description,Target,Expression +#,, annotate persons table after mandatory_tour_frequency model has run +,_PERSON_TOUR_COUNT,"lambda exp, persons, tours: tours.query(exp).groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" +,_Q,lambda s: "'{}'".format(s) +work_and_school_and_worker,work_and_school_and_worker,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_worker +work_and_school_and_student,work_and_school_and_student,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_student +number of mandatory tours for each person,num_mand,"_PERSON_TOUR_COUNT('tour_category==%s' % _Q('mandatory'), persons, tours).fillna(0)" +number of work tours for each person,num_work_tours,"_PERSON_TOUR_COUNT('tour_type==%s' % _Q('work'), persons, tours).fillna(0)" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_nmtf.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_nmtf.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/annotate_persons_nmtf.csv rename to activitysim/examples/prototype_mtc/configs/annotate_persons_nmtf.csv index 3305b4ecb6..07890f2379 --- a/activitysim/examples/example_psrc/configs/annotate_persons_nmtf.csv +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_nmtf.csv @@ -1,10 +1,10 @@ -Description,Target,Expression -#,, annotate persons table after non_mandatory_tour_frequency model has run -num_non_mand,num_non_mand,tours[tours.tour_category=='non_mandatory'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_escort_tours,num_escort_tours,tours[tours.tour_type == 'escort'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_eatout_tours,num_eatout_tours,tours[tours.tour_type == 'eatout'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_shop_tours,num_shop_tours,tours[tours.tour_type == 'shopping'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_maint_tours,num_maint_tours,tours[tours.tour_type == 'othmaint'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_discr_tours,num_discr_tours,tours[tours.tour_type == 'othdiscr'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_social_tours,num_social_tours,tours[tours.tour_type == 'social'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_non_escort_tours,num_non_escort_tours,num_non_mand-num_escort_tours +Description,Target,Expression +#,, annotate persons table after non_mandatory_tour_frequency model has run +num_non_mand,num_non_mand,tours[tours.tour_category=='non_mandatory'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_escort_tours,num_escort_tours,tours[tours.tour_type == 'escort'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_eatout_tours,num_eatout_tours,tours[tours.tour_type == 'eatout'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_shop_tours,num_shop_tours,tours[tours.tour_type == 'shopping'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_maint_tours,num_maint_tours,tours[tours.tour_type == 'othmaint'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_discr_tours,num_discr_tours,tours[tours.tour_type == 'othdiscr'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_social_tours,num_social_tours,tours[tours.tour_type == 'social'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_non_escort_tours,num_non_escort_tours,num_non_mand-num_escort_tours diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_school.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_school.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/annotate_persons_school.csv rename to activitysim/examples/prototype_mtc/configs/annotate_persons_school.csv index 43625623f8..553b124c3b --- a/activitysim/examples/example_psrc/configs/annotate_persons_school.csv +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_school.csv @@ -1,7 +1,7 @@ -Description,Target,Expression -#,, annotate persons table after school_location model has run -,distance_to_school,"np.where(persons.school_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, 'DIST'),np.nan)" -#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD -temp auto_time_to_school,_auto_time_to_school,"skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, ('SOV_TIME', 'MD'))" -temp auto_time_return,_auto_time_return,"skim_dict.lookup(persons.school_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" -free flow roundtrip_auto_time_to_school,roundtrip_auto_time_to_school,"np.where(persons.school_zone_id>=0,_auto_time_to_school + _auto_time_return,0)" +Description,Target,Expression +#,, annotate persons table after school_location model has run +,distance_to_school,"np.where(persons.school_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, 'DIST'),np.nan)" +#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD +temp auto_time_to_school,_auto_time_to_school,"skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, ('SOV_TIME', 'MD'))" +temp auto_time_return,_auto_time_return,"skim_dict.lookup(persons.school_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" +free flow roundtrip_auto_time_to_school,roundtrip_auto_time_to_school,"np.where(persons.school_zone_id>=0,_auto_time_to_school + _auto_time_return,0)" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_workplace.csv b/activitysim/examples/prototype_mtc/configs/annotate_persons_workplace.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/annotate_persons_workplace.csv rename to activitysim/examples/prototype_mtc/configs/annotate_persons_workplace.csv index f215886a5e..87a5853d63 --- a/activitysim/examples/example_psrc/configs/annotate_persons_workplace.csv +++ b/activitysim/examples/prototype_mtc/configs/annotate_persons_workplace.csv @@ -1,32 +1,32 @@ -Description,Target,Expression -#,, annotate persons table after workplace_location model has run -,distance_to_work,"np.where(persons.workplace_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DIST'),np.nan)" -workplace_in_cbd,workplace_in_cbd,"reindex(land_use.area_type, persons.workplace_zone_id) < setting('cbd_threshold')" -work_zone_area_type,work_zone_area_type,"reindex(land_use.area_type, persons.workplace_zone_id)" -#,, auto time to work - free flow travel time in both directions. MTC TM1 was MD and MD -#,,roundtrip_auto_time_to_work -,_auto_time_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('SOV_TIME', 'MD'))" -,_auto_time_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" -,roundtrip_auto_time_to_work,"np.where(persons.workplace_zone_id>=0,_auto_time_home_to_work + _auto_time_work_to_home,0)" -#,,_roundtrip_walk_time_to_work -,_MAX_TIME_TO_WORK,999 -,_WALK_SPEED_MPH,3 -,_walk_time_home_to_work,"60 * skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" -,_walk_time_work_to_home,"60 * skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" -,_work_walk_available,(_walk_time_home_to_work > 0) & (_walk_time_work_to_home > 0) -,_roundtrip_walk_time_to_work,"np.where(_work_walk_available, _walk_time_home_to_work + _walk_time_work_to_home, _MAX_TIME_TO_WORK)" -#,,_roundtrip_transit_time_to_work -,_transit_ivt_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" -,_transit_ivt_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" -,_work_transit_available,(_transit_ivt_home_to_work > 0) & (_transit_ivt_work_to_home > 0) -,_transit_iwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" -,_transit_xwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" -,_transit_waux,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR" -,_transit_wacc,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR" -,_transit_wegr,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR" -,_roundtrip_transit_time_to_work,_transit_ivt_home_to_work + _transit_ivt_work_to_home + _transit_iwait + _transit_xwait + _transit_waux + _transit_wacc + _transit_wegr -#,,work_auto_savings_ratio -,_min_work_walk_transit,"np.where(_work_transit_available, np.minimum(_roundtrip_transit_time_to_work, _roundtrip_walk_time_to_work), _roundtrip_walk_time_to_work)" -,work_auto_savings,"np.where(persons.is_worker, _min_work_walk_transit - roundtrip_auto_time_to_work, 0)" -#,,auto savings over walk or transit capped at 120 and normalized to unity -,work_auto_savings_ratio,"(work_auto_savings / 120.0).clip(-1.0, 1.0)" +Description,Target,Expression +#,, annotate persons table after workplace_location model has run +,distance_to_work,"np.where(persons.workplace_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DIST'),np.nan)" +workplace_in_cbd,workplace_in_cbd,"reindex(land_use.area_type, persons.workplace_zone_id) < setting('cbd_threshold')" +work_zone_area_type,work_zone_area_type,"reindex(land_use.area_type, persons.workplace_zone_id)" +#,, auto time to work - free flow travel time in both directions. MTC TM1 was MD and MD +#,,roundtrip_auto_time_to_work +,_auto_time_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('SOV_TIME', 'MD'))" +,_auto_time_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" +,roundtrip_auto_time_to_work,"np.where(persons.workplace_zone_id>=0,_auto_time_home_to_work + _auto_time_work_to_home,0)" +#,,_roundtrip_walk_time_to_work +,_MAX_TIME_TO_WORK,999 +,_WALK_SPEED_MPH,3 +,_walk_time_home_to_work,"60 * skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" +,_walk_time_work_to_home,"60 * skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" +,_work_walk_available,(_walk_time_home_to_work > 0) & (_walk_time_work_to_home > 0) +,_roundtrip_walk_time_to_work,"np.where(_work_walk_available, _walk_time_home_to_work + _walk_time_work_to_home, _MAX_TIME_TO_WORK)" +#,,_roundtrip_transit_time_to_work +,_transit_ivt_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_ivt_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_work_transit_available,(_transit_ivt_home_to_work > 0) & (_transit_ivt_work_to_home > 0) +,_transit_iwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_xwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_waux,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_wacc,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_wegr,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR" +,_roundtrip_transit_time_to_work,_transit_ivt_home_to_work + _transit_ivt_work_to_home + _transit_iwait + _transit_xwait + _transit_waux + _transit_wacc + _transit_wegr +#,,work_auto_savings_ratio +,_min_work_walk_transit,"np.where(_work_transit_available, np.minimum(_roundtrip_transit_time_to_work, _roundtrip_walk_time_to_work), _roundtrip_walk_time_to_work)" +,work_auto_savings,"np.where(persons.is_worker, _min_work_walk_transit - roundtrip_auto_time_to_work, 0)" +#,,auto savings over walk or transit capped at 120 and normalized to unity +,work_auto_savings_ratio,"(work_auto_savings / 120.0).clip(-1.0, 1.0)" diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_destination.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_destination.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_destination.csv rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_destination.csv diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_destination.yaml b/activitysim/examples/prototype_mtc/configs/atwork_subtour_destination.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_destination.yaml rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_destination.yaml diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_destination_coeffs.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_destination_coefficients.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/atwork_subtour_destination_coeffs.csv rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_destination_coefficients.csv index 83e9368c63..689fff660f --- a/activitysim/examples/example_psrc/configs/atwork_subtour_destination_coeffs.csv +++ b/activitysim/examples/prototype_mtc/configs/atwork_subtour_destination_coefficients.csv @@ -1,10 +1,10 @@ -coefficient_name,value,constrain -coef_distance_piecewise_linear_from_0_to_1_miles,-0.7926,F -coef_distance_piecewise_linear_from_1_to_2_miles,-0.7926,F -coef_distance_piecewise_linear_from_2_to_5_miles,-0.5197,F -coef_distance_piecewise_linear_from_5_to_15_miles,-0.2045,F -coef_distance_piecewise_linear_for_15_plus_miles,-0.2045,F -coef_size_variable_atwork,1,T -coef_no_attractions_atwork_size_variable_is_0,-999,T -coef_mode_choice_logsum,0.5136,F +coefficient_name,value,constrain +coef_distance_piecewise_linear_from_0_to_1_miles,-0.7926,F +coef_distance_piecewise_linear_from_1_to_2_miles,-0.7926,F +coef_distance_piecewise_linear_from_2_to_5_miles,-0.5197,F +coef_distance_piecewise_linear_from_5_to_15_miles,-0.2045,F +coef_distance_piecewise_linear_for_15_plus_miles,-0.2045,F +coef_size_variable_atwork,1,T +coef_no_attractions_atwork_size_variable_is_0,-999,T +coef_mode_choice_logsum,0.5136,F coef_sample_of_alternatives_correction_factor,1,T \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_destination_sample.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_destination_sample.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_destination_sample.csv rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_destination_sample.csv diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_frequency.csv rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency.csv diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency.yaml b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/atwork_subtour_frequency.yaml rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency.yaml diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_alternatives.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_alternatives.csv old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_semcog/configs/atwork_subtour_frequency_alternatives.csv rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_alternatives.csv index ed7c13c58d..ba9941919d --- a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_alternatives.csv +++ b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_alternatives.csv @@ -1,8 +1,8 @@ -#,,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,eat,business,maint -no_subtours,0,0,0 -eat,1,0,0 -business1,0,1,0 -maint,0,0,1 -business2,0,2,0 -eat_business,1,1,0 +#,,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,eat,business,maint +no_subtours,0,0,0 +eat,1,0,0 +business1,0,1,0 +maint,0,0,1 +business2,0,2,0 +eat_business,1,1,0 diff --git a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv index bf51e5bd78..3e4f151877 --- a/activitysim/examples/example_psrc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv @@ -1,9 +1,9 @@ -Description,Target,Expression -,num_maint_shop_escort,df.num_maint_tours+df.num_shop_tours+df.num_escort_tours -#,num_joint_maint_shop_eat,"reindex_i(tours[(tours.tour_category=='joint') & tours.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" -#,num_eatout_tours,"reindex_i(tours[~tours.is_joint & (tours.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" -joint tour participants annotated with tour type,_PARTICIPANTS,"pd.merge(joint_tour_participants[['tour_id', 'person_id']], tours[['tour_type']], left_on='tour_id', right_index=True, how='left')" -,num_joint_discr,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type=='othdiscr'].groupby('person_id').size(), df.person_id)" -,num_joint_maint_shop_eat,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" -#,, -,work_tour_is_SOV,"df.tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" +Description,Target,Expression +,num_maint_shop_escort,df.num_maint_tours+df.num_shop_tours+df.num_escort_tours +#,num_joint_maint_shop_eat,"reindex_i(tours[(tours.tour_category=='joint') & tours.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" +#,num_eatout_tours,"reindex_i(tours[~tours.is_joint & (tours.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" +joint tour participants annotated with tour type,_PARTICIPANTS,"pd.merge(joint_tour_participants[['tour_id', 'person_id']], tours[['tour_type']], left_on='tour_id', right_index=True, how='left')" +,num_joint_discr,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type=='othdiscr'].groupby('person_id').size(), df.person_id)" +,num_joint_maint_shop_eat,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" +#,, +,work_tour_is_SOV,"df.tour_mode.isin(['DRIVEALONEFREE','DRIVEALONEPAY'])" diff --git a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency_coefficients.csv b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_coefficients.csv similarity index 98% rename from activitysim/examples/example_mtc/configs/atwork_subtour_frequency_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_coefficients.csv index 0e5de6ba7a..f719a691c7 100644 --- a/activitysim/examples/example_mtc/configs/atwork_subtour_frequency_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/atwork_subtour_frequency_coefficients.csv @@ -1,133 +1,133 @@ -coefficient_name,value,constrain -coefficient_dummy_for_full_time_worker_business1,-7.375,F -coefficient_dummy_for_full_time_worker_business2,-14.28,F -coefficient_dummy_for_full_time_worker_eat,-7.28,F -coefficient_dummy_for_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_full_time_worker_maint,-8.093,F -coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_full_time_worker_business1,-8.319,F -coefficient_dummy_for_non_full_time_worker_business2,-14.28,F -coefficient_dummy_for_non_full_time_worker_eat,-8.604,F -coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_non_full_time_worker_maint,-8.214,F -coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_workers_business1,-5,T -coefficient_dummy_for_non_workers_business2,-5,T -coefficient_dummy_for_non_workers_eat,0,T -coefficient_dummy_for_non_workers_eat_business,-5,T -coefficient_dummy_for_non_workers_maint,-5,T -coefficient_dummy_for_non_workers_no_subtours,0,T -coefficient_medium_hh_income_dummy_business1,0.5555,F -coefficient_medium_hh_income_dummy_business2,1.111,F -coefficient_medium_hh_income_dummy_eat,0.61,F -coefficient_medium_hh_income_dummy_eat_business,1.1655,F -coefficient_medium_hh_income_dummy_maint,0.1527,F -coefficient_medium_hh_income_dummy_no_subtours,0,T -coefficient_high_hh_income_dummy_business1,1.066,F -coefficient_high_hh_income_dummy_business2,2.132,F -coefficient_high_hh_income_dummy_eat,0.8693,F -coefficient_high_hh_income_dummy_eat_business,1.9353,F -coefficient_high_hh_income_dummy_maint,0.1651,F -coefficient_high_hh_income_dummy_no_subtours,0,T -coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_business2,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F -coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T -coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F -coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F -coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F -coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F -coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F -coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T -coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F -coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F -coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F -coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F -coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F -coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T -coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F -coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F -coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F -coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F -coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F -coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T -coefficient_log_of_the_work_tour_duration_business1,1.142,F -coefficient_log_of_the_work_tour_duration_business2,2.284,F -coefficient_log_of_the_work_tour_duration_eat,1.55,F -coefficient_log_of_the_work_tour_duration_eat_business,2.692,F -coefficient_log_of_the_work_tour_duration_maint,1.659,F -coefficient_log_of_the_work_tour_duration_no_subtours,0,T -coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T -coefficient_two_work_tours_by_person_business1,0.3753,F -coefficient_two_work_tours_by_person_business2,0.7506,F -coefficient_two_work_tours_by_person_eat,-0.9862,F -coefficient_two_work_tours_by_person_eat_business,-0.6109,F -coefficient_two_work_tours_by_person_maint,-0.2312,F -coefficient_two_work_tours_by_person_no_subtours,0,T -coefficient_workplace_urban_area_dummy_business1,-0.2235,F -coefficient_workplace_urban_area_dummy_business2,-0.447,F -coefficient_workplace_urban_area_dummy_eat,-0.4182,F -coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F -coefficient_workplace_urban_area_dummy_maint,-0.1479,F -coefficient_workplace_urban_area_dummy_no_subtours,0,T -coefficient_workplace_suburban_area_dummy_business1,-0.1102,F -coefficient_workplace_suburban_area_dummy_business2,-0.2204,F -coefficient_workplace_suburban_area_dummy_eat,-0.2916,F -coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F -coefficient_workplace_suburban_area_dummy_maint,0,T -coefficient_workplace_suburban_area_dummy_no_subtours,0,T -coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F -coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F -coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F -coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F -coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T -coefficient_at_work_sub_tour_asc_business1,-0.5372,F -coefficient_at_work_sub_tour_asc_business2,-2.1337,F -coefficient_at_work_sub_tour_asc_eat,0.8576,F -coefficient_at_work_sub_tour_asc_eat_business,-0.9721,F -coefficient_at_work_sub_tour_asc_maint,-0.6198,F -coefficient_at_work_sub_tour_asc_no_subtours,0,T +coefficient_name,value,constrain +coefficient_dummy_for_full_time_worker_business1,-7.375,F +coefficient_dummy_for_full_time_worker_business2,-14.28,F +coefficient_dummy_for_full_time_worker_eat,-7.28,F +coefficient_dummy_for_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_full_time_worker_maint,-8.093,F +coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_full_time_worker_business1,-8.319,F +coefficient_dummy_for_non_full_time_worker_business2,-14.28,F +coefficient_dummy_for_non_full_time_worker_eat,-8.604,F +coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_non_full_time_worker_maint,-8.214,F +coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_workers_business1,-5,T +coefficient_dummy_for_non_workers_business2,-5,T +coefficient_dummy_for_non_workers_eat,0,T +coefficient_dummy_for_non_workers_eat_business,-5,T +coefficient_dummy_for_non_workers_maint,-5,T +coefficient_dummy_for_non_workers_no_subtours,0,T +coefficient_medium_hh_income_dummy_business1,0.5555,F +coefficient_medium_hh_income_dummy_business2,1.111,F +coefficient_medium_hh_income_dummy_eat,0.61,F +coefficient_medium_hh_income_dummy_eat_business,1.1655,F +coefficient_medium_hh_income_dummy_maint,0.1527,F +coefficient_medium_hh_income_dummy_no_subtours,0,T +coefficient_high_hh_income_dummy_business1,1.066,F +coefficient_high_hh_income_dummy_business2,2.132,F +coefficient_high_hh_income_dummy_eat,0.8693,F +coefficient_high_hh_income_dummy_eat_business,1.9353,F +coefficient_high_hh_income_dummy_maint,0.1651,F +coefficient_high_hh_income_dummy_no_subtours,0,T +coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_business2,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F +coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T +coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F +coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F +coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F +coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F +coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F +coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T +coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F +coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F +coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F +coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F +coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F +coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T +coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F +coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F +coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F +coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F +coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F +coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T +coefficient_log_of_the_work_tour_duration_business1,1.142,F +coefficient_log_of_the_work_tour_duration_business2,2.284,F +coefficient_log_of_the_work_tour_duration_eat,1.55,F +coefficient_log_of_the_work_tour_duration_eat_business,2.692,F +coefficient_log_of_the_work_tour_duration_maint,1.659,F +coefficient_log_of_the_work_tour_duration_no_subtours,0,T +coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T +coefficient_two_work_tours_by_person_business1,0.3753,F +coefficient_two_work_tours_by_person_business2,0.7506,F +coefficient_two_work_tours_by_person_eat,-0.9862,F +coefficient_two_work_tours_by_person_eat_business,-0.6109,F +coefficient_two_work_tours_by_person_maint,-0.2312,F +coefficient_two_work_tours_by_person_no_subtours,0,T +coefficient_workplace_urban_area_dummy_business1,-0.2235,F +coefficient_workplace_urban_area_dummy_business2,-0.447,F +coefficient_workplace_urban_area_dummy_eat,-0.4182,F +coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F +coefficient_workplace_urban_area_dummy_maint,-0.1479,F +coefficient_workplace_urban_area_dummy_no_subtours,0,T +coefficient_workplace_suburban_area_dummy_business1,-0.1102,F +coefficient_workplace_suburban_area_dummy_business2,-0.2204,F +coefficient_workplace_suburban_area_dummy_eat,-0.2916,F +coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F +coefficient_workplace_suburban_area_dummy_maint,0,T +coefficient_workplace_suburban_area_dummy_no_subtours,0,T +coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F +coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F +coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F +coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F +coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T +coefficient_at_work_sub_tour_asc_business1,-0.5372,F +coefficient_at_work_sub_tour_asc_business2,-2.1337,F +coefficient_at_work_sub_tour_asc_eat,0.8576,F +coefficient_at_work_sub_tour_asc_eat_business,-0.9721,F +coefficient_at_work_sub_tour_asc_maint,-0.6198,F +coefficient_at_work_sub_tour_asc_no_subtours,0,T diff --git a/activitysim/examples/example_psrc/configs/auto_ownership.csv b/activitysim/examples/prototype_mtc/configs/auto_ownership.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/auto_ownership.csv rename to activitysim/examples/prototype_mtc/configs/auto_ownership.csv index a2f5a32910..aa30bdb4db --- a/activitysim/examples/example_psrc/configs/auto_ownership.csv +++ b/activitysim/examples/prototype_mtc/configs/auto_ownership.csv @@ -1,30 +1,30 @@ -Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 -util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 -util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 -util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up -util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 -util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 -util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 -util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 -util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 -util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 -util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k -util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc -util_asc_san_francisco,San Francisco county,@df.county_id == ID_SAN_FRANCISCO,,coef_cars1_asc_san_francisco,coef_cars2_asc_san_francisco,coef_cars34_asc_san_francisco,coef_cars34_asc_san_francisco -util_asc_solano,Solano county,@df.county_id == ID_SOLANO,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_napa,Napa county,@df.county_id == ID_NAPA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_sonoma,Sonoma county,@df.county_id == ID_SONOMA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county -util_asc_marin,Marin county,@df.county_id == ID_MARIN,,coef_cars1_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin -util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers -util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers -util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers -util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers -util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker +Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 +util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 +util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 +util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up +util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 +util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 +util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 +util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 +util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 +util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 +util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k +util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc +util_asc_san_francisco,San Francisco county,@df.county_id == ID_SAN_FRANCISCO,,coef_cars1_asc_san_francisco,coef_cars2_asc_san_francisco,coef_cars34_asc_san_francisco,coef_cars34_asc_san_francisco +util_asc_solano,Solano county,@df.county_id == ID_SOLANO,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_napa,Napa county,@df.county_id == ID_NAPA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_sonoma,Sonoma county,@df.county_id == ID_SONOMA,,coef_cars1_asc_county,coef_cars2_asc_county,coef_cars34_asc_county,coef_cars34_asc_county +util_asc_marin,Marin county,@df.county_id == ID_MARIN,,coef_cars1_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin,coef_cars234_asc_marin +util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers +util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers +util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers +util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers +util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker diff --git a/activitysim/examples/example_mtc/configs/auto_ownership.yaml b/activitysim/examples/prototype_mtc/configs/auto_ownership.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/auto_ownership.yaml rename to activitysim/examples/prototype_mtc/configs/auto_ownership.yaml diff --git a/activitysim/examples/example_mtc/configs/auto_ownership_coefficients.csv b/activitysim/examples/prototype_mtc/configs/auto_ownership_coefficients.csv similarity index 97% rename from activitysim/examples/example_mtc/configs/auto_ownership_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/auto_ownership_coefficients.csv index 9c1470b690..b9d7fd07b0 100644 --- a/activitysim/examples/example_mtc/configs/auto_ownership_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/auto_ownership_coefficients.csv @@ -1,68 +1,68 @@ -coefficient_name,value,constrain -coef_cars1_drivers_2,0,T -coef_cars1_drivers_3,0,T -coef_cars1_persons_16_17,0,T -coef_cars234_asc_marin,0,T -coef_cars1_persons_25_34,0,T -coef_cars1_num_workers_clip_3,0,T -coef_cars1_hh_income_30_up,0,T -coef_cars1_density_0_10_no_workers,0,T -coef_cars1_density_10_up_workers,-0.0152,F -coef_retail_non_motor,-0.03,T -coef_cars4_asc,-5.313,F -coef_cars3_asc,-3.2502,F -coef_cars34_persons_16_17,-1.7313,F -coef_cars2_asc,-1.0846,F -coef_cars34_persons_18_24,-1.0107,F -coef_cars2_persons_18_24,-1.0095,F -coef_cars2_persons_16_17,-0.881,F -coef_cars34_persons_25_34,-0.8596,F -coef_cars1_asc_county,-0.566,F -coef_retail_transit_workers,-0.5117,F -coef_cars2_persons_25_34,-0.4849,F -coef_cars2_asc_county,-0.4429,F -coef_cars1_persons_18_24,-0.4087,F -coef_cars34_density_0_10_no_workers,-0.3654,F -coef_retail_transit_no_workers,-0.3053,F -coef_cars1_asc_marin,-0.2434,F -coef_cars34_asc_county,-0.2372,F -coef_cars2_density_0_10_no_workers,-0.2028,F -coef_cars34_density_10_up_no_workers,-0.1766,F -coef_cars2_density_10_up_no_workers,-0.1106,F -coef_cars2_density_10_up_workers,-0.1106,F -coef_cars1_density_10_up_no_workers,-0.0152,F -coef_cars2_hh_income_30_up,0.0083,F -coef_cars3_hh_income_30_up,0.011,F -coef_cars4_hh_income_30_up,0.0147,F -coef_cars1_presence_children_5_17,0.0158,F -coef_cars1_hh_income_0_30k,0.0383,F -coef_cars2_hh_income_0_30k,0.054,F -coef_cars3_hh_income_0_30k,0.0559,F -coef_cars4_hh_income_0_30k,0.0619,F -coef_retail_auto_no_workers,0.0626,F -coef_cars34_asc_san_francisco,0.1458,F -coef_retail_auto_workers,0.1646,F -coef_cars2_presence_children_5_17,0.2936,F -coef_cars2_num_workers_clip_3,0.2936,F -coef_cars1_presence_children_0_4,0.3669,F -coef_cars1_asc_san_francisco,0.4259,F -coef_cars2_asc_san_francisco,0.4683,F -coef_cars1_auto_time_saving_per_worker,0.4707,F -coef_cars34_presence_children_5_17,0.4769,F -coef_cars3_auto_time_saving_per_worker,0.5705,F -coef_cars2_auto_time_saving_per_worker,0.6142,F -coef_cars3_num_workers_clip_3,0.6389,F -coef_cars234_presence_children_0_4,0.7627,F -coef_cars4_auto_time_saving_per_worker,0.7693,F -coef_cars4_num_workers_clip_3,0.8797,F -coef_cars1_asc,1.1865,F -coef_cars1_drivers_4_up,2.0107,F -coef_cars4_drivers_2,2.6616,F -coef_cars2_drivers_2,3.0773,F -coef_cars3_drivers_2,3.1962,F -coef_cars2_drivers_3,3.5401,F -coef_cars4_drivers_3,5.208,F -coef_cars3_drivers_3,5.5131,F -coef_cars2_drivers_4_up,6.3662,F -coef_cars3_drivers_4_up,8.5148,F -coef_cars4_drivers_4_up,9.5807,F +coefficient_name,value,constrain +coef_cars1_drivers_2,0,T +coef_cars1_drivers_3,0,T +coef_cars1_persons_16_17,0,T +coef_cars234_asc_marin,0,T +coef_cars1_persons_25_34,0,T +coef_cars1_num_workers_clip_3,0,T +coef_cars1_hh_income_30_up,0,T +coef_cars1_density_0_10_no_workers,0,T +coef_cars1_density_10_up_workers,-0.0152,F +coef_retail_non_motor,-0.03,T +coef_cars4_asc,-5.313,F +coef_cars3_asc,-3.2502,F +coef_cars34_persons_16_17,-1.7313,F +coef_cars2_asc,-1.0846,F +coef_cars34_persons_18_24,-1.0107,F +coef_cars2_persons_18_24,-1.0095,F +coef_cars2_persons_16_17,-0.881,F +coef_cars34_persons_25_34,-0.8596,F +coef_cars1_asc_county,-0.566,F +coef_retail_transit_workers,-0.5117,F +coef_cars2_persons_25_34,-0.4849,F +coef_cars2_asc_county,-0.4429,F +coef_cars1_persons_18_24,-0.4087,F +coef_cars34_density_0_10_no_workers,-0.3654,F +coef_retail_transit_no_workers,-0.3053,F +coef_cars1_asc_marin,-0.2434,F +coef_cars34_asc_county,-0.2372,F +coef_cars2_density_0_10_no_workers,-0.2028,F +coef_cars34_density_10_up_no_workers,-0.1766,F +coef_cars2_density_10_up_no_workers,-0.1106,F +coef_cars2_density_10_up_workers,-0.1106,F +coef_cars1_density_10_up_no_workers,-0.0152,F +coef_cars2_hh_income_30_up,0.0083,F +coef_cars3_hh_income_30_up,0.011,F +coef_cars4_hh_income_30_up,0.0147,F +coef_cars1_presence_children_5_17,0.0158,F +coef_cars1_hh_income_0_30k,0.0383,F +coef_cars2_hh_income_0_30k,0.054,F +coef_cars3_hh_income_0_30k,0.0559,F +coef_cars4_hh_income_0_30k,0.0619,F +coef_retail_auto_no_workers,0.0626,F +coef_cars34_asc_san_francisco,0.1458,F +coef_retail_auto_workers,0.1646,F +coef_cars2_presence_children_5_17,0.2936,F +coef_cars2_num_workers_clip_3,0.2936,F +coef_cars1_presence_children_0_4,0.3669,F +coef_cars1_asc_san_francisco,0.4259,F +coef_cars2_asc_san_francisco,0.4683,F +coef_cars1_auto_time_saving_per_worker,0.4707,F +coef_cars34_presence_children_5_17,0.4769,F +coef_cars3_auto_time_saving_per_worker,0.5705,F +coef_cars2_auto_time_saving_per_worker,0.6142,F +coef_cars3_num_workers_clip_3,0.6389,F +coef_cars234_presence_children_0_4,0.7627,F +coef_cars4_auto_time_saving_per_worker,0.7693,F +coef_cars4_num_workers_clip_3,0.8797,F +coef_cars1_asc,1.1865,F +coef_cars1_drivers_4_up,2.0107,F +coef_cars4_drivers_2,2.6616,F +coef_cars2_drivers_2,3.0773,F +coef_cars3_drivers_2,3.1962,F +coef_cars2_drivers_3,3.5401,F +coef_cars4_drivers_3,5.208,F +coef_cars3_drivers_3,5.5131,F +coef_cars2_drivers_4_up,6.3662,F +coef_cars3_drivers_4_up,8.5148,F +coef_cars4_drivers_4_up,9.5807,F diff --git a/activitysim/examples/example_mtc/configs/cdap.yaml b/activitysim/examples/prototype_mtc/configs/cdap.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/cdap.yaml rename to activitysim/examples/prototype_mtc/configs/cdap.yaml diff --git a/activitysim/examples/example_psrc/configs/cdap_coefficients.csv b/activitysim/examples/prototype_mtc/configs/cdap_coefficients.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/cdap_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/cdap_coefficients.csv diff --git a/activitysim/examples/example_psrc/configs/cdap_fixed_relative_proportions.csv b/activitysim/examples/prototype_mtc/configs/cdap_fixed_relative_proportions.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/cdap_fixed_relative_proportions.csv rename to activitysim/examples/prototype_mtc/configs/cdap_fixed_relative_proportions.csv index c011a597c5..788f398b64 --- a/activitysim/examples/example_psrc/configs/cdap_fixed_relative_proportions.csv +++ b/activitysim/examples/prototype_mtc/configs/cdap_fixed_relative_proportions.csv @@ -1,9 +1,9 @@ -Description,Expression,M,N,H -Full-time worker,ptype == 1,0.79647,0.09368,0.10985 -Part-time worker,ptype == 2,0.61678,0.25757,0.12565 -University student,ptype == 3,0.69229,0.15641,0.1513 -Non-working adult,ptype == 4,0,0.67169,0.32831 -Retired,ptype == 5,0,0.54295,0.45705 -Driving-age child who is in school,ptype == 6,0.77609,0.06004,0.16387 -Pre-driving-age child who is in school,ptype == 7,0.68514,0.09144,0.22342 -Child who is too young for school,ptype == 8,0.14056,0.06512,0.79432 +Description,Expression,M,N,H +Full-time worker,ptype == 1,0.79647,0.09368,0.10985 +Part-time worker,ptype == 2,0.61678,0.25757,0.12565 +University student,ptype == 3,0.69229,0.15641,0.1513 +Non-working adult,ptype == 4,0,0.67169,0.32831 +Retired,ptype == 5,0,0.54295,0.45705 +Driving-age child who is in school,ptype == 6,0.77609,0.06004,0.16387 +Pre-driving-age child who is in school,ptype == 7,0.68514,0.09144,0.22342 +Child who is too young for school,ptype == 8,0.14056,0.06512,0.79432 diff --git a/activitysim/examples/example_mtc/configs/cdap_indiv_and_hhsize1.csv b/activitysim/examples/prototype_mtc/configs/cdap_indiv_and_hhsize1.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/cdap_indiv_and_hhsize1.csv rename to activitysim/examples/prototype_mtc/configs/cdap_indiv_and_hhsize1.csv index 36ff4e67b8..2eeb9fde8e 100644 --- a/activitysim/examples/example_mtc/configs/cdap_indiv_and_hhsize1.csv +++ b/activitysim/examples/prototype_mtc/configs/cdap_indiv_and_hhsize1.csv @@ -1,52 +1,52 @@ -Description,Expression,M,N,H -Full-time worker alternative-specific constants,ptype == 1,coef_full_time_worker_asc_M,coef_full_time_worker_asc_N, -Part-time worker alternative-specific constants,ptype == 2,coef_part_time_worker_asc_M,coef_part_time_worker_asc_N, -University student alternative-specific constants,ptype == 3,coef_university_student_asc_M,coef_university_student_asc_N, -Non-working adult alternative-specific constants,ptype == 4,coef_UNAVAILABLE,coef_non_working_adult_asc_N, -Retired alternative-specific constants,ptype == 5,coef_UNAVAILABLE,coef_retired_asc_N, -Driving-age child who is in school alternative-specific constants,ptype == 6,coef_driving_age_child_who_is_in_school_asc_M,coef_driving_age_child_who_is_in_school_asc_N, -Pre-driving-age child who is in school alternative-specific constants,ptype == 7,coef_pre_driving_age_child_who_is_in_school_asc_M,coef_pre_driving_age_child_who_is_in_school_asc_N, -Pre-driving-age child who is in school interaction with age 6 to 9,(ptype == 7) & (age >= 6) & (age <= 9),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M,, -Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N, -Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,coef_pre_driving_age_child_who_is_too_young_for_school_asc_N, -# corrected tm1 age bug,,,, -Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,, -Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,, -#,,,, -Full-time worker interaction with age less than 40,(ptype == 1) & (age < 40),coef_full_time_worker_interaction_with_age_less_than_40_M,, -Retired interaction with age more than 80,(ptype == 5) & (age > 80),,,coef_retired_interaction_with_age_more_than_80_H -Full-time worker interaction with female gender,(ptype == 1) & (sex == 2),coef_full_time_worker_interaction_with_female_gender_M,, -Non-working adult interaction with female gender,(ptype == 4) & (sex == 2),coef_non_working_adult_interaction_with_female_gender_M,, -Retired interaction with female,(ptype == 5) & (sex == 2),coef_retired_interaction_with_female_M,, -Non-working adult interaction with more cars than workers,(ptype == 4) & (auto_ownership > num_workers),coef_non_working_adult_interaction_with_more_cars_than_workers_M,coef_non_working_adult_interaction_with_more_cars_than_workers_N, -Retired interaction with more cars than workers,(ptype == 5) & (auto_ownership > num_workers),coef_retired_interaction_with_more_cars_than_workers_M,coef_retired_interaction_with_more_cars_than_workers_N, -Pre-driving-age child who is too young for school interaction with more cars than workers,(ptype == 8) & (auto_ownership > num_workers),,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N, -Full-time worker interaction with fewer cars than workers,(ptype == 1) & (auto_ownership < num_workers),,,coef_full_time_worker_interaction_with_fewer_cars_than_workers_H -Non-working adult interaction with fewer cars than workers,(ptype == 4) & (auto_ownership < num_workers),,,coef_non_working_adult_interaction_with_fewer_cars_than_workers_H -Retired interaction with fewer cars than workers,(ptype == 5) & (auto_ownership < num_workers),,,coef_retired_interaction_with_fewer_cars_than_workers_H -Driving-age child who is in school interaction with fewer cars than workers,(ptype == 6) & (auto_ownership < num_workers),,,coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H -Pre-driving-age child who is in school interaction with fewer cars than workers,(ptype == 7) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H -Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H -Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,coef_full_time_worker_interaction_with_income_less_than_20k_H -Retired interaction with income less than $20k,(ptype == 5) & (income_in_thousands < 20),,,coef_retired_interaction_with_income_less_than_20k_H -Part-time worker interaction with income less than $20k,(ptype == 2) & (income_in_thousands < 20),,,coef_part_time_worker_interaction_with_income_less_than_20k_H -Part-time worker interaction with income between $50k and $100k,(ptype == 2) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_part_time_worker_interaction_with_income_between_50k_and_100k_H -Part-time worker interaction with income more than $100k,(ptype == 2) & (income_in_thousands >= 100),,coef_part_time_worker_interaction_with_income_more_than_100k_N,coef_part_time_worker_interaction_with_income_more_than_100k_H -Non-working adult interaction with income between $50k and $100k,(ptype == 4) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_non_working_adult_interaction_with_income_between_50k_and_100k_H -Non-working adult interaction with income more than $100k,(ptype == 4) & (income_in_thousands >= 100),,,coef_non_working_adult_interaction_with_income_more_than_100k_H -Driving-age child who is in school interaction with less than $20k,(ptype == 6) & (income_in_thousands < 20),,,coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H -Driving-age child who is in school interaction income between $50k and $100k,(ptype == 6) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H -Driving-age child who is in school interaction with income more than $100k,(ptype == 6) & (income_in_thousands >= 100),,,coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H -Pre-driving-age child who is too young for school interaction with income between $50k and $100k,(ptype == 8) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H -Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income_in_thousands >= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H -Full-time worker intraction with peak accessibility to all employment,(ptype == 1) * auPkTotal,coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M,, -Part-time worker interaction with peak accessibility to all employment,(ptype == 2) * auPkTotal,coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M,, -Non-working adult interaction with peak accessibility to all employment,(ptype == 4) * auPkTotal,coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M,, -Retired interaction with peak accessibility to all employment,(ptype == 5) * auPkTotal,coef_retired_interaction_with_peak_accessibility_to_all_employment_M,, -Non-working adult interaction with off-peak accessibility to retail,(ptype == 4) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -Retired interaction with off-peak accessibility to retail,(ptype == 5) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -University student interaction with off-peak accessibility to retail,(ptype == 3) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, -Driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 6) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, -Pre-driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 7) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, -Pre-driving-age child who is too young for school interaction with off-peak accessibility to retail,(ptype == 8) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, - +Description,Expression,M,N,H +Full-time worker alternative-specific constants,ptype == 1,coef_full_time_worker_asc_M,coef_full_time_worker_asc_N, +Part-time worker alternative-specific constants,ptype == 2,coef_part_time_worker_asc_M,coef_part_time_worker_asc_N, +University student alternative-specific constants,ptype == 3,coef_university_student_asc_M,coef_university_student_asc_N, +Non-working adult alternative-specific constants,ptype == 4,coef_UNAVAILABLE,coef_non_working_adult_asc_N, +Retired alternative-specific constants,ptype == 5,coef_UNAVAILABLE,coef_retired_asc_N, +Driving-age child who is in school alternative-specific constants,ptype == 6,coef_driving_age_child_who_is_in_school_asc_M,coef_driving_age_child_who_is_in_school_asc_N, +Pre-driving-age child who is in school alternative-specific constants,ptype == 7,coef_pre_driving_age_child_who_is_in_school_asc_M,coef_pre_driving_age_child_who_is_in_school_asc_N, +Pre-driving-age child who is in school interaction with age 6 to 9,(ptype == 7) & (age >= 6) & (age <= 9),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_6_to_9_M,, +Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_M,coef_pre_driving_age_child_who_is_in_school_interaction_with_age_13_to_15_N, +Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,coef_pre_driving_age_child_who_is_too_young_for_school_asc_M,coef_pre_driving_age_child_who_is_too_young_for_school_asc_N, +# corrected tm1 age bug,,,, +Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_0_to_1_M,, +Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_age_4_to_5_M,, +#,,,, +Full-time worker interaction with age less than 40,(ptype == 1) & (age < 40),coef_full_time_worker_interaction_with_age_less_than_40_M,, +Retired interaction with age more than 80,(ptype == 5) & (age > 80),,,coef_retired_interaction_with_age_more_than_80_H +Full-time worker interaction with female gender,(ptype == 1) & (sex == 2),coef_full_time_worker_interaction_with_female_gender_M,, +Non-working adult interaction with female gender,(ptype == 4) & (sex == 2),coef_non_working_adult_interaction_with_female_gender_M,, +Retired interaction with female,(ptype == 5) & (sex == 2),coef_retired_interaction_with_female_M,, +Non-working adult interaction with more cars than workers,(ptype == 4) & (auto_ownership > num_workers),coef_non_working_adult_interaction_with_more_cars_than_workers_M,coef_non_working_adult_interaction_with_more_cars_than_workers_N, +Retired interaction with more cars than workers,(ptype == 5) & (auto_ownership > num_workers),coef_retired_interaction_with_more_cars_than_workers_M,coef_retired_interaction_with_more_cars_than_workers_N, +Pre-driving-age child who is too young for school interaction with more cars than workers,(ptype == 8) & (auto_ownership > num_workers),,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_more_cars_than_workers_N, +Full-time worker interaction with fewer cars than workers,(ptype == 1) & (auto_ownership < num_workers),,,coef_full_time_worker_interaction_with_fewer_cars_than_workers_H +Non-working adult interaction with fewer cars than workers,(ptype == 4) & (auto_ownership < num_workers),,,coef_non_working_adult_interaction_with_fewer_cars_than_workers_H +Retired interaction with fewer cars than workers,(ptype == 5) & (auto_ownership < num_workers),,,coef_retired_interaction_with_fewer_cars_than_workers_H +Driving-age child who is in school interaction with fewer cars than workers,(ptype == 6) & (auto_ownership < num_workers),,,coef_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H +Pre-driving-age child who is in school interaction with fewer cars than workers,(ptype == 7) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_in_school_interaction_with_fewer_cars_than_workers_H +Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (auto_ownership < num_workers),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_fewer_cars_than_workers_H +Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,coef_full_time_worker_interaction_with_income_less_than_20k_H +Retired interaction with income less than $20k,(ptype == 5) & (income_in_thousands < 20),,,coef_retired_interaction_with_income_less_than_20k_H +Part-time worker interaction with income less than $20k,(ptype == 2) & (income_in_thousands < 20),,,coef_part_time_worker_interaction_with_income_less_than_20k_H +Part-time worker interaction with income between $50k and $100k,(ptype == 2) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_part_time_worker_interaction_with_income_between_50k_and_100k_H +Part-time worker interaction with income more than $100k,(ptype == 2) & (income_in_thousands >= 100),,coef_part_time_worker_interaction_with_income_more_than_100k_N,coef_part_time_worker_interaction_with_income_more_than_100k_H +Non-working adult interaction with income between $50k and $100k,(ptype == 4) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_non_working_adult_interaction_with_income_between_50k_and_100k_H +Non-working adult interaction with income more than $100k,(ptype == 4) & (income_in_thousands >= 100),,,coef_non_working_adult_interaction_with_income_more_than_100k_H +Driving-age child who is in school interaction with less than $20k,(ptype == 6) & (income_in_thousands < 20),,,coef_driving_age_child_who_is_in_school_interaction_with_less_than_20k_H +Driving-age child who is in school interaction income between $50k and $100k,(ptype == 6) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_driving_age_child_who_is_in_school_interaction_income_between_50k_and_100k_H +Driving-age child who is in school interaction with income more than $100k,(ptype == 6) & (income_in_thousands >= 100),,,coef_driving_age_child_who_is_in_school_interaction_with_income_more_than_100k_H +Pre-driving-age child who is too young for school interaction with income between $50k and $100k,(ptype == 8) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_between_50k_and_100k_H +Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income_in_thousands >= 100),,,coef_pre_driving_age_child_who_is_too_young_for_school_interaction_with_income_more_than_100k_H +Full-time worker intraction with peak accessibility to all employment,(ptype == 1) * auPkTotal,coef_full_time_worker_intraction_with_peak_accessibility_to_all_employment_M,, +Part-time worker interaction with peak accessibility to all employment,(ptype == 2) * auPkTotal,coef_part_time_worker_interaction_with_peak_accessibility_to_all_employment_M,, +Non-working adult interaction with peak accessibility to all employment,(ptype == 4) * auPkTotal,coef_non_working_adult_interaction_with_peak_accessibility_to_all_employment_M,, +Retired interaction with peak accessibility to all employment,(ptype == 5) * auPkTotal,coef_retired_interaction_with_peak_accessibility_to_all_employment_M,, +Non-working adult interaction with off-peak accessibility to retail,(ptype == 4) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +Retired interaction with off-peak accessibility to retail,(ptype == 5) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +University student interaction with off-peak accessibility to retail,(ptype == 3) * auOpRetail,,coef_non_working_adult_retired_or_univ_student_interaction_with_off_peak_accessibility_to_all_employment_N, +Driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 6) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, +Pre-driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 7) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, +Pre-driving-age child who is too young for school interaction with off-peak accessibility to retail,(ptype == 8) * auOpRetail,,coef_child_who_is_in_school_or_too_young_for_school_interaction_with_off_peak_accessibility_to_retail_N, + diff --git a/activitysim/examples/example_psrc/configs/cdap_interaction_coefficients.csv b/activitysim/examples/prototype_mtc/configs/cdap_interaction_coefficients.csv old mode 100755 new mode 100644 similarity index 94% rename from activitysim/examples/example_psrc/configs/cdap_interaction_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/cdap_interaction_coefficients.csv index 854d48ef58..c9d415fe13 --- a/activitysim/examples/example_psrc/configs/cdap_interaction_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/cdap_interaction_coefficients.csv @@ -1,138 +1,138 @@ -activity,interaction_ptypes,coefficient -# 2-way interactions,, -H,11,coef_H_11 -H,12,coef_H_12 -H,13,coef_H_13 -H,14,coef_H_14 -H,15,coef_H_15 -H,16,coef_H_16 -H,17,coef_H_17 -H,18,coef_H_18 -H,22,coef_H_22 -H,23,coef_H_23 -H,24,coef_H_24 -H,25,coef_H_25 -H,26,coef_H_26 -H,27,coef_H_27 -H,28,coef_H_28 -H,33,coef_H_33 -H,34,coef_H_34 -H,35,coef_H_35 -H,36,coef_H_36 -H,37,coef_H_37 -H,38,coef_H_38 -H,44,coef_H_44 -H,45,coef_H_45 -H,46,coef_H_46 -H,47,coef_H_47 -H,48,coef_H_48 -H,55,coef_H_55 -H,56,coef_H_56_57_58 -H,57,coef_H_56_57_58 -H,58,coef_H_56_57_58 -H,66,coef_H_66 -H,67,coef_H_67 -H,68,coef_H_68 -H,77,coef_H_77 -H,78,coef_H_78 -H,88,coef_H_88 -M,11,coef_M_11 -M,12,coef_M_12 -M,13,coef_M_13 -M,16,coef_M_16 -M,17,coef_M_17 -M,18,coef_M_18 -M,22,coef_M_22 -M,23,coef_M_23 -M,26,coef_M_26 -M,27,coef_M_27 -M,28,coef_M_28 -M,33,coef_M_33 -M,36,coef_M_36 -M,37,coef_M_37 -M,38,coef_M_38 -M,66,coef_M_66 -M,67,coef_M_67 -M,68,coef_M_68 -M,77,coef_M_77 -M,78,coef_M_78 -M,88,coef_M_88 -N,11,coef_N_11 -N,12,coef_N_12 -N,13,coef_N_13 -N,14,coef_N_14 -N,15,coef_N_15 -N,16,coef_N_16 -N,17,coef_N_17 -N,18,coef_N_18 -N,22,coef_N_22 -N,23,coef_N_23 -N,24,coef_N_24 -N,25,coef_N_25 -N,26,coef_N_26 -N,27,coef_N_27 -N,28,coef_N_28 -N,33,coef_N_33 -N,34,coef_N_34 -N,35,coef_N_35 -N,36,coef_N_36 -N,37,coef_N_37 -N,38,coef_N_38 -N,44,coef_N_44 -N,45,coef_N_45 -N,46,coef_N_46 -N,47,coef_N_47 -N,48,coef_N_48 -N,55,coef_N_55 -N,56,coef_N_56_57_58 -N,57,coef_N_56_57_58 -N,58,coef_N_56_57_58 -N,66,coef_N_66 -N,67,coef_N_67 -N,68,coef_N_68 -N,77,coef_N_77 -N,78,coef_N_78 -N,88,coef_N_88 -# 3-way interactions,, -H,124,coef_H_124_122_144 -H,122,coef_H_124_122_144 -H,144,coef_H_124_122_144 -H,126,coef_H_126_146 -H,146,coef_H_126_146 -H,222,coef_H_222_224_244 -H,224,coef_H_222_224_244 -H,244,coef_H_222_224_244 -H,226,coef_H_226_246_446 -H,246,coef_H_226_246_446 -H,446,coef_H_226_246_446 -H,266,coef_H_266_466 -H,466,coef_H_266_466 -M,111,coef_M_111 -M,112,coef_M_112_114 -M,114,coef_M_112_114 -M,666,coef_M_666 -N,112,coef_N_112_114 -N,114,coef_N_112_114 -N,124,coef_N_124_122_144 -N,122,coef_N_124_122_144 -N,144,coef_N_124_122_144 -N,166,coef_N_166 -N,222,coef_N_222_224_444 -N,224,coef_N_222_224_444 -N,444,coef_N_222_224_444 -N,246,coef_N_246_226_446 -N,226,coef_N_246_226_446 -N,446,coef_N_246_226_446 -# cdap_final_rules,, -M,5,coef_UNAVAILABLE -M,4,coef_UNAVAILABLE -# cdap_all_people,, -M,***,coef_M_xxx -N,***,coef_N_xxx -H,***,coef_H_xxx -M,****,coef_M_xxxx -N,****,coef_N_xxxx -H,****,coef_H_xxxx -M,*****,coef_M_xxxxx -N,*****,coef_N_xxxxx -H,*****,coef_H_xxxxx +activity,interaction_ptypes,coefficient +# 2-way interactions,, +H,11,coef_H_11 +H,12,coef_H_12 +H,13,coef_H_13 +H,14,coef_H_14 +H,15,coef_H_15 +H,16,coef_H_16 +H,17,coef_H_17 +H,18,coef_H_18 +H,22,coef_H_22 +H,23,coef_H_23 +H,24,coef_H_24 +H,25,coef_H_25 +H,26,coef_H_26 +H,27,coef_H_27 +H,28,coef_H_28 +H,33,coef_H_33 +H,34,coef_H_34 +H,35,coef_H_35 +H,36,coef_H_36 +H,37,coef_H_37 +H,38,coef_H_38 +H,44,coef_H_44 +H,45,coef_H_45 +H,46,coef_H_46 +H,47,coef_H_47 +H,48,coef_H_48 +H,55,coef_H_55 +H,56,coef_H_56_57_58 +H,57,coef_H_56_57_58 +H,58,coef_H_56_57_58 +H,66,coef_H_66 +H,67,coef_H_67 +H,68,coef_H_68 +H,77,coef_H_77 +H,78,coef_H_78 +H,88,coef_H_88 +M,11,coef_M_11 +M,12,coef_M_12 +M,13,coef_M_13 +M,16,coef_M_16 +M,17,coef_M_17 +M,18,coef_M_18 +M,22,coef_M_22 +M,23,coef_M_23 +M,26,coef_M_26 +M,27,coef_M_27 +M,28,coef_M_28 +M,33,coef_M_33 +M,36,coef_M_36 +M,37,coef_M_37 +M,38,coef_M_38 +M,66,coef_M_66 +M,67,coef_M_67 +M,68,coef_M_68 +M,77,coef_M_77 +M,78,coef_M_78 +M,88,coef_M_88 +N,11,coef_N_11 +N,12,coef_N_12 +N,13,coef_N_13 +N,14,coef_N_14 +N,15,coef_N_15 +N,16,coef_N_16 +N,17,coef_N_17 +N,18,coef_N_18 +N,22,coef_N_22 +N,23,coef_N_23 +N,24,coef_N_24 +N,25,coef_N_25 +N,26,coef_N_26 +N,27,coef_N_27 +N,28,coef_N_28 +N,33,coef_N_33 +N,34,coef_N_34 +N,35,coef_N_35 +N,36,coef_N_36 +N,37,coef_N_37 +N,38,coef_N_38 +N,44,coef_N_44 +N,45,coef_N_45 +N,46,coef_N_46 +N,47,coef_N_47 +N,48,coef_N_48 +N,55,coef_N_55 +N,56,coef_N_56_57_58 +N,57,coef_N_56_57_58 +N,58,coef_N_56_57_58 +N,66,coef_N_66 +N,67,coef_N_67 +N,68,coef_N_68 +N,77,coef_N_77 +N,78,coef_N_78 +N,88,coef_N_88 +# 3-way interactions,, +H,124,coef_H_124_122_144 +H,122,coef_H_124_122_144 +H,144,coef_H_124_122_144 +H,126,coef_H_126_146 +H,146,coef_H_126_146 +H,222,coef_H_222_224_244 +H,224,coef_H_222_224_244 +H,244,coef_H_222_224_244 +H,226,coef_H_226_246_446 +H,246,coef_H_226_246_446 +H,446,coef_H_226_246_446 +H,266,coef_H_266_466 +H,466,coef_H_266_466 +M,111,coef_M_111 +M,112,coef_M_112_114 +M,114,coef_M_112_114 +M,666,coef_M_666 +N,112,coef_N_112_114 +N,114,coef_N_112_114 +N,124,coef_N_124_122_144 +N,122,coef_N_124_122_144 +N,144,coef_N_124_122_144 +N,166,coef_N_166 +N,222,coef_N_222_224_444 +N,224,coef_N_222_224_444 +N,444,coef_N_222_224_444 +N,246,coef_N_246_226_446 +N,226,coef_N_246_226_446 +N,446,coef_N_246_226_446 +# cdap_final_rules,, +M,5,coef_UNAVAILABLE +M,4,coef_UNAVAILABLE +# cdap_all_people,, +M,***,coef_M_xxx +N,***,coef_N_xxx +H,***,coef_H_xxx +M,****,coef_M_xxxx +N,****,coef_N_xxxx +H,****,coef_H_xxxx +M,*****,coef_M_xxxxx +N,*****,coef_N_xxxxx +H,*****,coef_H_xxxxx diff --git a/activitysim/examples/example_psrc/configs/constants.yaml b/activitysim/examples/prototype_mtc/configs/constants.yaml old mode 100755 new mode 100644 similarity index 95% rename from activitysim/examples/example_psrc/configs/constants.yaml rename to activitysim/examples/prototype_mtc/configs/constants.yaml index b2896e4645..b0bd5a1f37 --- a/activitysim/examples/example_psrc/configs/constants.yaml +++ b/activitysim/examples/prototype_mtc/configs/constants.yaml @@ -1,68 +1,68 @@ -## ActivitySim -## See full license in LICENSE.txt. - - -#HHT_NONE: 0 -#HHT_FAMILY_MARRIED: 1 -#HHT_FAMILY_MALE: 2 -#HHT_FAMILY_FEMALE: 3 -#HHT_NONFAMILY_MALE_ALONE: 4 -#HHT_NONFAMILY_MALE_NOTALONE: 5 -#HHT_NONFAMILY_FEMALE_ALONE: 6 -#HHT_NONFAMILY_FEMALE_NOTALONE: 7 - -# convenience for expression files -HHT_NONFAMILY: [4, 5, 6, 7] -HHT_FAMILY: [1, 2, 3] - -PSTUDENT_GRADE_OR_HIGH: 1 -PSTUDENT_UNIVERSITY: 2 -PSTUDENT_NOT: 3 - -GRADE_SCHOOL_MAX_AGE: 14 -GRADE_SCHOOL_MIN_AGE: 5 - -SCHOOL_SEGMENT_NONE: 0 -SCHOOL_SEGMENT_GRADE: 1 -SCHOOL_SEGMENT_HIGH: 2 -SCHOOL_SEGMENT_UNIV: 3 - -INCOME_SEGMENT_LOW: 1 -INCOME_SEGMENT_MED: 2 -INCOME_SEGMENT_HIGH: 3 -INCOME_SEGMENT_VERYHIGH: 4 - -PEMPLOY_FULL: 1 -PEMPLOY_PART: 2 -PEMPLOY_NOT: 3 -PEMPLOY_CHILD: 4 - -PTYPE_FULL: &ptype_full 1 -PTYPE_PART: &ptype_part 2 -PTYPE_UNIVERSITY: &ptype_university 3 -PTYPE_NONWORK: &ptype_nonwork 4 -PTYPE_RETIRED: &ptype_retired 5 -PTYPE_DRIVING: &ptype_driving 6 -PTYPE_SCHOOL: &ptype_school 7 -PTYPE_PRESCHOOL: &ptype_preschool 8 - -# these appear as column headers in non_mandatory_tour_frequency.csv -PTYPE_NAME: - *ptype_full: PTYPE_FULL - *ptype_part: PTYPE_PART - *ptype_university: PTYPE_UNIVERSITY - *ptype_nonwork: PTYPE_NONWORK - *ptype_retired: PTYPE_RETIRED - *ptype_driving: PTYPE_DRIVING - *ptype_school: PTYPE_SCHOOL - *ptype_preschool: PTYPE_PRESCHOOL - - -CDAP_ACTIVITY_MANDATORY: M -CDAP_ACTIVITY_NONMANDATORY: N -CDAP_ACTIVITY_HOME: H - -# Correction for transit skim expressions -# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and -# therefore need to be divided by the scale factor if used in expressions -TRANSIT_SCALE_FACTOR: 100 +## ActivitySim +## See full license in LICENSE.txt. + + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +INCOME_SEGMENT_LOW: 1 +INCOME_SEGMENT_MED: 2 +INCOME_SEGMENT_HIGH: 3 +INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H + +# Correction for transit skim expressions +# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and +# therefore need to be divided by the scale factor if used in expressions +TRANSIT_SCALE_FACTOR: 100 diff --git a/activitysim/examples/example_mtc/configs/destination_choice_size_terms.csv b/activitysim/examples/prototype_mtc/configs/destination_choice_size_terms.csv similarity index 98% rename from activitysim/examples/example_mtc/configs/destination_choice_size_terms.csv rename to activitysim/examples/prototype_mtc/configs/destination_choice_size_terms.csv index 8c72d2a78f..7f70421e85 100644 --- a/activitysim/examples/example_mtc/configs/destination_choice_size_terms.csv +++ b/activitysim/examples/prototype_mtc/configs/destination_choice_size_terms.csv @@ -1,28 +1,28 @@ -model_selector,segment,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE -workplace,work_low,0,0.129,0.193,0.383,0.12,0.01,0.164,0,0,0,0 -workplace,work_med,0,0.12,0.197,0.325,0.139,0.008,0.21,0,0,0,0 -workplace,work_high,0,0.11,0.207,0.284,0.154,0.006,0.239,0,0,0,0 -workplace,work_veryhigh,0,0.093,0.27,0.241,0.146,0.004,0.246,0,0,0,0 -school,university,0,0,0,0,0,0,0,0,0,0.592,0.408 -school,gradeschool,0,0,0,0,0,0,0,1,0,0,0 -school,highschool,0,0,0,0,0,0,0,0,1,0,0 -non_mandatory,escort,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -#non_mandatory,escort_kids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -#non_mandatory,escort_nokids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 -non_mandatory,shopping,0,1,0,0,0,0,0,0,0,0,0 -non_mandatory,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 -non_mandatory,othmaint,0,0.482,0,0.518,0,0,0,0,0,0,0 -non_mandatory,social,0,0.522,0,0.478,0,0,0,0,0,0,0 -non_mandatory,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 -atwork,atwork,0,0.742,0,0.258,0,0,0,0,0,0,0 -trip,work,0,1,1,1,1,1,1,0,0,0,0 -trip,escort,0.001,0.225,0,0.144,0,0,0,0.464,0.166,0,0 -trip,shopping,0.001,0.999,0,0,0,0,0,0,0,0,0 -trip,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 -trip,othmaint,0.001,0.481,0,0.518,0,0,0,0,0,0,0 -trip,social,0.001,0.521,0,0.478,0,0,0,0,0,0,0 -trip,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 -trip,univ,0.001,0,0,0,0,0,0,0,0,0.592,0.408 -# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,,, -#trip,gradeschool,0,0,0,0,0,0,0,1,0,0,0 -#trip,highschool,0,0,0,0,0,0,0,0,1,0,0 +model_selector,segment,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE +workplace,work_low,0,0.129,0.193,0.383,0.12,0.01,0.164,0,0,0,0 +workplace,work_med,0,0.12,0.197,0.325,0.139,0.008,0.21,0,0,0,0 +workplace,work_high,0,0.11,0.207,0.284,0.154,0.006,0.239,0,0,0,0 +workplace,work_veryhigh,0,0.093,0.27,0.241,0.146,0.004,0.246,0,0,0,0 +school,university,0,0,0,0,0,0,0,0,0,0.592,0.408 +school,gradeschool,0,0,0,0,0,0,0,1,0,0,0 +school,highschool,0,0,0,0,0,0,0,0,1,0,0 +non_mandatory,escort,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +#non_mandatory,escort_kids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +#non_mandatory,escort_nokids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0 +non_mandatory,shopping,0,1,0,0,0,0,0,0,0,0,0 +non_mandatory,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 +non_mandatory,othmaint,0,0.482,0,0.518,0,0,0,0,0,0,0 +non_mandatory,social,0,0.522,0,0.478,0,0,0,0,0,0,0 +non_mandatory,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 +atwork,atwork,0,0.742,0,0.258,0,0,0,0,0,0,0 +trip,work,0,1,1,1,1,1,1,0,0,0,0 +trip,escort,0.001,0.225,0,0.144,0,0,0,0.464,0.166,0,0 +trip,shopping,0.001,0.999,0,0,0,0,0,0,0,0,0 +trip,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0 +trip,othmaint,0.001,0.481,0,0.518,0,0,0,0,0,0,0 +trip,social,0.001,0.521,0,0.478,0,0,0,0,0,0,0 +trip,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0 +trip,univ,0.001,0,0,0,0,0,0,0,0,0.592,0.408 +# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,,, +#trip,gradeschool,0,0,0,0,0,0,0,1,0,0,0 +#trip,highschool,0,0,0,0,0,0,0,0,1,0,0 diff --git a/activitysim/examples/example_psrc/configs/free_parking.csv b/activitysim/examples/prototype_mtc/configs/free_parking.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/free_parking.csv rename to activitysim/examples/prototype_mtc/configs/free_parking.csv index 5a1212b5be..588bbbf2c6 --- a/activitysim/examples/example_psrc/configs/free_parking.csv +++ b/activitysim/examples/prototype_mtc/configs/free_parking.csv @@ -1,9 +1,9 @@ -Label,Description,Expression,free,pay -util_asc_san_francisco,,@df.workplace_county_id == ID_SAN_FRANCISCO,coef_asc_san_francisco,0.0 -util_asc_santa_clara,,@df.workplace_county_id == ID_SANTA_CLARA,coef_asc_santa_clara,0.0 -util_asc_alameda,,@df.workplace_county_id == ID_ALAMEDA,coef_asc_alameda,0.0 -util_income_very_high,Very high income household dummy,@df.income>=100000,coef_income_very_high,0.0 -util_income_high,High income housheold dummy,@(df.income>=60000) & (df.income<100000),coef_income_high,0.0 -util_hh_size_4_up,Household size is greater than 3 dummy,@df.hhsize>3,coef_hh_size_4_up,0.0 -util_more_autos_than_workers,More automobiles than workers dummy,@df.auto_ownership>df.num_workers,coef_more_autos_than_workers,0.0 -util_fewer_autos_than_workers,Fewer automobiles than workers dummy,@df.auto_ownership=100000,coef_income_very_high,0.0 +util_income_high,High income housheold dummy,@(df.income>=60000) & (df.income<100000),coef_income_high,0.0 +util_hh_size_4_up,Household size is greater than 3 dummy,@df.hhsize>3,coef_hh_size_4_up,0.0 +util_more_autos_than_workers,More automobiles than workers dummy,@df.auto_ownership>df.num_workers,coef_more_autos_than_workers,0.0 +util_fewer_autos_than_workers,Fewer automobiles than workers dummy,@df.auto_ownership=30) & (income_in_thousands<60),coef_medium_income_households,, -util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed -util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, -util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed -util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, -util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, -util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows -util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, -util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, +Label,Description,Expression,adults,children,mixed +util_asc,Alternative-specific constant,1,,coef_asc_children,coef_asc_mixed +util_tour_purpose_is_eating_out,Joint tour purpose is eating out (dummy),tour_type=='eat',,coef_tour_purpose_is_eating_out_children,coef_tour_purpose_is_eating_out_mixed +util_tour_purpose_is_discretionary,Joint tour purpose is discretionary (dummy),tour_type=='disc',coef_tour_purpose_is_discretionary_adults,coef_tour_purpose_is_discretionary_children, +util_number_of_full_time_workers,Number of Full-Time Workers in the household,num_full_max3,coef_number_of_full_time_workers_adults,,coef_number_of_full_time_workers_mixed +util_number_of_part_time_workers,Number of Part-Time Workers in the household,num_part_max3,coef_number_of_part_time_workers_adults,,coef_number_of_part_time_workers_mixed +util_number_of_university_students,Number of University students in the household,num_univ_max3,coef_number_of_university_students,, +util_number_of_non_workers,Number of Non-Workers in the household,num_nonwork_max3,coef_number_of_non_workers_adults,,coef_number_of_non_workers_mixed +util_number_of_children_too_young_for_school,Number of Children too Young for School in the household,num_preschool_max3,,coef_number_of_children_too_young_for_school_children,coef_number_of_children_too_young_for_school_mixed +util_number_of_pre_driving_age_children,Number of Pre-driving Age Children in the household,num_school_max3,,coef_number_of_pre_driving_age_children_children,coef_number_of_pre_driving_age_children_mixed +util_number_of_driving_age_children,Number of Driving-age Children in the household,num_driving_max3,,coef_number_of_driving_age_children_children,coef_number_of_driving_age_children_mixed +util_low_income_households,Low income households (dummy),income_in_thousands<30,coef_low_income_households_adults,,coef_low_income_households_mixed +util_medium_income_households,Medium income households (dummy),(income_in_thousands>=30) & (income_in_thousands<60),coef_medium_income_households,, +util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed +util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, +util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed +util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, +util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, +util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows +util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, +util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, util_travel_active_adult,At least one adult and at least one child must have Mand or Non Mand activity patterns to have adult/child joint travel,(num_travel_active_adults == 0) | (num_travel_active_children == 0),,,coef_unavailable \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/joint_tour_composition.yaml b/activitysim/examples/prototype_mtc/configs/joint_tour_composition.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_composition.yaml rename to activitysim/examples/prototype_mtc/configs/joint_tour_composition.yaml diff --git a/activitysim/examples/example_psrc/configs/joint_tour_composition_annotate_households_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_composition_annotate_households_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/joint_tour_composition_annotate_households_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/joint_tour_composition_annotate_households_preprocessor.csv index 80d442ba51..0dd67e97a9 --- a/activitysim/examples/example_psrc/configs/joint_tour_composition_annotate_households_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_composition_annotate_households_preprocessor.csv @@ -1,22 +1,22 @@ -Description,Target,Expression -#,, -,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" -,time_window_overlap_adult,_HH_OVERLAPS['aa'] -,time_window_overlap_child,_HH_OVERLAPS['cc'] -,time_window_overlap_adult_child,_HH_OVERLAPS['ac'] -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -#,, -,_HH_PERSON_COUNT,"lambda exp, households, persons: persons.query(exp).groupby('household_id').size().reindex(households.index).fillna(0)" -,_num_full,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_FULL, households, persons)" -,_num_part,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PART, households, persons)" -,num_full_max3,"_num_full.clip(0,3)" -,num_part_max3,"_num_part.clip(0,3)" -,num_univ_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_UNIVERSITY, households, persons).clip(0,3)" -,num_nonwork_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_NONWORK, households, persons).clip(0,3)" -,num_preschool_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PRESCHOOL, households, persons).clip(0,3)" -,num_school_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_SCHOOL, households, persons).clip(0,3)" -,num_driving_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_DRIVING, households, persons).clip(0,3)" -#,, -,more_cars_than_workers,households.auto_ownership > (_num_full + _num_part) +Description,Target,Expression +#,, +,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" +,time_window_overlap_adult,_HH_OVERLAPS['aa'] +,time_window_overlap_child,_HH_OVERLAPS['cc'] +,time_window_overlap_adult_child,_HH_OVERLAPS['ac'] +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +#,, +,_HH_PERSON_COUNT,"lambda exp, households, persons: persons.query(exp).groupby('household_id').size().reindex(households.index).fillna(0)" +,_num_full,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_FULL, households, persons)" +,_num_part,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PART, households, persons)" +,num_full_max3,"_num_full.clip(0,3)" +,num_part_max3,"_num_part.clip(0,3)" +,num_univ_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_UNIVERSITY, households, persons).clip(0,3)" +,num_nonwork_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_NONWORK, households, persons).clip(0,3)" +,num_preschool_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PRESCHOOL, households, persons).clip(0,3)" +,num_school_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_SCHOOL, households, persons).clip(0,3)" +,num_driving_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_DRIVING, households, persons).clip(0,3)" +#,, +,more_cars_than_workers,households.auto_ownership > (_num_full + _num_part) diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_composition_coefficients.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_composition_coefficients.csv new file mode 100644 index 0000000000..4d929c2b5f --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_composition_coefficients.csv @@ -0,0 +1,32 @@ +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_asc_children,5.3517,F +coef_asc_mixed,5.6290,fF +coef_tour_purpose_is_eating_out_children,-0.9678,F +coef_tour_purpose_is_eating_out_mixed,-0.8027,F +coef_tour_purpose_is_discretionary_adults,0.7648,F +coef_tour_purpose_is_discretionary_children,0.5101,F +coef_number_of_full_time_workers_adults,1.024,F +coef_number_of_full_time_workers_mixed,0.3624,F +coef_number_of_part_time_workers_adults,0.5412,F +coef_number_of_part_time_workers_mixed,0.3164,F +coef_number_of_university_students,0.8245,F +coef_number_of_non_workers_adults,0.6263,F +coef_number_of_non_workers_mixed,-0.3724,F +coef_number_of_children_too_young_for_school_children,0.7306,F +coef_number_of_children_too_young_for_school_mixed,0.7906,F +coef_number_of_pre_driving_age_children_children,0.7306,F +coef_number_of_pre_driving_age_children_mixed,0.3532,F +coef_number_of_driving_age_children_children,-0.2667,F +coef_number_of_driving_age_children_mixed,-0.9399,F +coef_low_income_households_adults,1.248,F +coef_low_income_households_mixed,0.5755,F +coef_medium_income_households,0.8369,F +coef_household_has_more_cars_than_workers_adults,1.386,F +coef_household_has_more_cars_than_workers_mixed,0.751,F +coef_household_in_urban_area,0.5741,F +coef_household_in_suburban_area_adults,0.5105,F +coef_household_in_suburban_area_mixed,0.1283,F +coef_log_max_overlap_of_adults_time_windows,1.192,F +coef_log_max_overlap_of_childrens_time_windows,1.841,F +coef_log_max_overlap_of_time_windows,1.958,F diff --git a/activitysim/examples/example_mtc/configs/joint_tour_destination.yaml b/activitysim/examples/prototype_mtc/configs/joint_tour_destination.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_destination.yaml rename to activitysim/examples/prototype_mtc/configs/joint_tour_destination.yaml diff --git a/activitysim/examples/example_psrc/configs/joint_tour_frequency.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/joint_tour_frequency.csv rename to activitysim/examples/prototype_mtc/configs/joint_tour_frequency.csv index 8405d30649..ed2da406ee --- a/activitysim/examples/example_psrc/configs/joint_tour_frequency.csv +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency.csv @@ -1,77 +1,77 @@ -Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD -util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours -#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, -util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, -#_shopping,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, -util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, -util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, -util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, -util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, -util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, -util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, -util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, -util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, -util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, -#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, -util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, -util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, -util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, -util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, -util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, -util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, -util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, -util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, -util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, -util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, -util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, -util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, -#_eatout,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, -util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, -util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, -util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, -util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, -util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, -util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, -util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, -util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, -util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, -util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, -util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, -util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, -#_visiting,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, -util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, -util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, -util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, -util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, -util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, -util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, -util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, -util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, -util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, -#_discretionary,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc -util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc -util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc -util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc -util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc -util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc -util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc -util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc -util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc -util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc -util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc -util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc -util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc -util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc +Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD +util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours +#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, +util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, +#_shopping,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, +util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, +util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, +util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, +util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, +util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, +util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, +util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, +util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, +util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, +#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, +util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, +util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, +util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, +util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, +util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, +util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, +util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, +util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, +util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, +util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, +util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, +util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, +#_eatout,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, +util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, +util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, +util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, +util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, +util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, +util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, +util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, +util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, +util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, +util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, +util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, +util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, +#_visiting,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, +util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, +util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, +util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, +util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, +util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, +util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, +util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, +util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, +util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, +#_discretionary,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc +util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc +util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc +util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc +util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc +util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc +util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc +util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc +util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc +util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc +util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc +util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc +util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc +util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc util_zeroAutomobiles_dis,zeroAutomobiles_disc,auto_ownership == 0,,,,,,coef_zeroAutomobiles_disc,,,,,coef_zeroAutomobiles_disc,,,,coef_zeroAutomobiles_disc,,,coef_zeroAutomobiles_disc,,coef_zeroAutomobiles_disc,2 * coef_zeroAutomobiles_disc \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/joint_tour_frequency.yaml b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_frequency.yaml rename to activitysim/examples/prototype_mtc/configs/joint_tour_frequency.yaml diff --git a/activitysim/examples/example_semcog/configs/joint_tour_frequency_alternatives.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_alternatives.csv old mode 100755 new mode 100644 similarity index 94% rename from activitysim/examples/example_semcog/configs/joint_tour_frequency_alternatives.csv rename to activitysim/examples/prototype_mtc/configs/joint_tour_frequency_alternatives.csv index fefa93432c..7bf93731f9 --- a/activitysim/examples/example_semcog/configs/joint_tour_frequency_alternatives.csv +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_alternatives.csv @@ -1,23 +1,23 @@ -#,,,,,alt file for building joint tours -alt,shopping,othmaint,eatout,social,othdiscr -0_tours,0,0,0,0,0 -1_Shop,1,0,0,0,0 -1_Main,0,1,0,0,0 -1_Eat,0,0,1,0,0 -1_Visit,0,0,0,1,0 -1_Disc,0,0,0,0,1 -2_SS,2,0,0,0,0 -2_SM,1,1,0,0,0 -2_SE,1,0,1,0,0 -2_SV,1,0,0,1,0 -2_SD,1,0,0,0,1 -2_MM,0,2,0,0,0 -2_ME,0,1,1,0,0 -2_MV,0,1,0,1,0 -2_MD,0,1,0,0,1 -2_EE,0,0,2,0,0 -2_EV,0,0,1,1,0 -2_ED,0,0,1,0,1 -2_VV,0,0,0,2,0 -2_VD,0,0,0,1,1 -2_DD,0,0,0,0,2 +#,,,,,alt file for building joint tours +alt,shopping,othmaint,eatout,social,othdiscr +0_tours,0,0,0,0,0 +1_Shop,1,0,0,0,0 +1_Main,0,1,0,0,0 +1_Eat,0,0,1,0,0 +1_Visit,0,0,0,1,0 +1_Disc,0,0,0,0,1 +2_SS,2,0,0,0,0 +2_SM,1,1,0,0,0 +2_SE,1,0,1,0,0 +2_SV,1,0,0,1,0 +2_SD,1,0,0,0,1 +2_MM,0,2,0,0,0 +2_ME,0,1,1,0,0 +2_MV,0,1,0,1,0 +2_MD,0,1,0,0,1 +2_EE,0,0,2,0,0 +2_EV,0,0,1,1,0 +2_ED,0,0,1,0,1 +2_VV,0,0,0,2,0 +2_VD,0,0,0,1,1 +2_DD,0,0,0,0,2 diff --git a/activitysim/examples/example_psrc/configs/joint_tour_frequency_annotate_households_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_annotate_households_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/joint_tour_frequency_annotate_households_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/joint_tour_frequency_annotate_households_preprocessor.csv index a466c43f65..af42d07490 --- a/activitysim/examples/example_psrc/configs/joint_tour_frequency_annotate_households_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_annotate_households_preprocessor.csv @@ -1,32 +1,32 @@ -Description,Target,Expression -,_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype, activity, households, persons: persons.query('ptype == %s and cdap_activity==\'%s\'' % (ptype, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -,_PEMPLOY_CDAP_PATTERN_COUNT,"lambda pemploy, activity, households, persons: persons.query('pemploy == %s and cdap_activity==\'%s\'' % (pemploy, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -,_2_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype1, ptype2, activity, households, persons: persons.query('(ptype == %s or ptype == %s) and cdap_activity==\'%s\'' % (ptype1, ptype2, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -#,, -,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" -,time_window_overlap_adult,_HH_OVERLAPS['aa'] -,time_window_overlap_child,_HH_OVERLAPS['cc'] -,time_window_overlap_adult_child,_HH_OVERLAPS['ac'] -#,, -,cdap_home_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'H', households, persons).clip(0,3)" -,cdap_home_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'H', households, persons).clip(0,3)" -,cdap_home_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'H', households, persons).clip(0,3)" -,cdap_home_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'H', households, persons).clip(0,3)" -,cdap_home_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'H', households, persons).clip(0,3)" -,cdap_home_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'H', households, persons).clip(0,3)" -,cdap_nonmand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'N', households, persons).clip(0,3)" -,cdap_nonmand_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'N', households, persons).clip(0,3)" -,cdap_nonmand_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'N', households, persons).clip(0,3)" -,cdap_nonmand_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'N', households, persons).clip(0,3)" -,cdap_nonmand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'N', households, persons).clip(0,3)" -,cdap_nonmand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'N', households, persons).clip(0,3)" -,cdap_mand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'M', households, persons).clip(0,3)" -,cdap_mand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'M', households, persons).clip(0,3)" -,cdap_mand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'M', households, persons).clip(0,3)" -,income_between_50_and_100,(households.income > 50000) & (households.income <= 100000) -,income_greater_than_100,households.income > 100000 -,income_missing,0 -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -nmRetail,non_motorized_retail_accessibility,"reindex(accessibility.nmRetail, households.home_zone_id)" +Description,Target,Expression +,_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype, activity, households, persons: persons.query('ptype == %s and cdap_activity==\'%s\'' % (ptype, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +,_PEMPLOY_CDAP_PATTERN_COUNT,"lambda pemploy, activity, households, persons: persons.query('pemploy == %s and cdap_activity==\'%s\'' % (pemploy, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +,_2_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype1, ptype2, activity, households, persons: persons.query('(ptype == %s or ptype == %s) and cdap_activity==\'%s\'' % (ptype1, ptype2, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +#,, +,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" +,time_window_overlap_adult,_HH_OVERLAPS['aa'] +,time_window_overlap_child,_HH_OVERLAPS['cc'] +,time_window_overlap_adult_child,_HH_OVERLAPS['ac'] +#,, +,cdap_home_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'H', households, persons).clip(0,3)" +,cdap_home_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'H', households, persons).clip(0,3)" +,cdap_home_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'H', households, persons).clip(0,3)" +,cdap_home_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'H', households, persons).clip(0,3)" +,cdap_home_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'H', households, persons).clip(0,3)" +,cdap_home_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'H', households, persons).clip(0,3)" +,cdap_nonmand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'N', households, persons).clip(0,3)" +,cdap_nonmand_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'N', households, persons).clip(0,3)" +,cdap_nonmand_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'N', households, persons).clip(0,3)" +,cdap_nonmand_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'N', households, persons).clip(0,3)" +,cdap_nonmand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'N', households, persons).clip(0,3)" +,cdap_nonmand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'N', households, persons).clip(0,3)" +,cdap_mand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'M', households, persons).clip(0,3)" +,cdap_mand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'M', households, persons).clip(0,3)" +,cdap_mand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'M', households, persons).clip(0,3)" +,income_between_50_and_100,(households.income > 50000) & (households.income <= 100000) +,income_greater_than_100,households.income > 100000 +,income_missing,0 +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +nmRetail,non_motorized_retail_accessibility,"reindex(accessibility.nmRetail, households.home_zone_id)" diff --git a/activitysim/examples/example_psrc/configs/joint_tour_frequency_coeffs.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_coefficients.csv old mode 100755 new mode 100644 similarity index 97% rename from activitysim/examples/example_psrc/configs/joint_tour_frequency_coeffs.csv rename to activitysim/examples/prototype_mtc/configs/joint_tour_frequency_coefficients.csv index b716326ee5..ae244d3df6 --- a/activitysim/examples/example_psrc/configs/joint_tour_frequency_coeffs.csv +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_frequency_coefficients.csv @@ -1,84 +1,84 @@ -coefficient_name,value,constrain -# asc,, -coef_asc_0_tours,0,T -coef_asc_1_Shop,-6.0149,F -coef_asc_1_Main,-5.7389,F -coef_asc_1_Eat,-6.3757,F -coef_asc_1_Visit,-5.8818,F -coef_asc_1_Disc,-5.4806,F -coef_asc_2_tours,-14.4576,F -# zero_tours,, -coef_fullTimeHomeMaxThree_zero_tours,1.175,F -coef_partTimeHomeMaxThree_zero_tours,1.447,F -coef_nonWorkerHomeMaxThree_zero_tours,1.514,F -coef_retireeHomeMaxThree_zero_tours,0.6053,F -coef_universityHomeMaxThree_univ_and_driving_zero_tours,0.5685,F -coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,0.530,F -# shopping,, -coef_fullTimeNonMandMaxThree_shopping,0.2052,F -coef_partTimeNonMandMaxThree_shopping,0.1866,F -coef_nonWorkerNonMandMaxThree_shopping,0.7078,F -coef_retireeNonMandMaxThree_shopping,0.941,F -coef_universityNonMandMaxThree_shopping,0.7648,F -coef_preDrivingNonMandMaxThree_shopping,0.5474,F -coef_fullTimeMandMaxThree_shopping,-0.2424,F -coef_logTimeWindowOverlapAdult_shopping,0.5945,F -coef_logTimeWindowOverlapChild_shopping,0.1416,F -coef_logTimeWindowOverlapAdultChild_shopping,0.1086,F -coef_fewerCarsThanDrivers_shopping,0.2523,F -coef_moreCarsThanWorkers_shopping,-0.3027,F -# maintenance,, -coef_fullTimeNonMandMaxThree_maint,0.3173,F -coef_partTimeNonMandMaxThree_maint,0.2452,F -coef_nonWorkerNonMandMaxThree_maint,0.4643,F -coef_retireeNonMandMaxThree_maint,0.905,F -coef_universityNonMandMaxThree_maint,0.2643,F -coef_preDrivingNonMandMaxThree_maint,0.6482,F -coef_fullTimeMandMaxThree_maint,-0.3009,F -coef_drivingAgeStuMandMaxThree_maint,-0.3237,F -coef_preDrivingAgeMandMaxThree_maint,0.2299,F -coef_logTimeWindowOverlapAdult_maint,0.3714,F -coef_logTimeWindowOverlapChild_maint,0.176,F -coef_logTimeWindowOverlapAdultChild_maint,0.2443,F -coef_fewerCarsThanDrivers_maint,0.461,F -# eatout,, -coef_fullTimeNonMandMaxThree_eatout,0.2275,F -coef_partTimeNonMandMaxThree_eatout,0.3765,F -coef_nonWorkerNonMandMaxThree_eatout,0.182,F -coef_retireeNonMandMaxThree_eatout,0.4264,F -coef_universityNonMandMaxThree_eatout,0.4097,F -coef_preDrivingNonMandMaxThree_eatout,0.3851,F -coef_logTimeWindowOverlapAdult_eatout,0.4856,F -coef_logTimeWindowOverlapAdultChild_eatout,0.0921,F -coef_incomeBetween50And100_eatout,0.2977,F -coef_incomeGreaterThan100_eatout,0.4492,F -coef_incomeMissing_dummy_always_zero_eatout,0.278,F -coef_moreCarsThanWorkers_eatout,0.3825,F -coef_walkRetailAccessibility_eatout,0.062,F -# visiting,, -coef_fullTimeNonMandMaxThree_visiting,0.6445,F -coef_partTimeNonMandMaxThree_visiting,0.1332,F -coef_nonWorkerNonMandMaxThree_visiting,0.5475,F -coef_retireeNonMandMaxThree_visiting,0.5579,F -coef_universityNonMandMaxThree_visiting,0.2809,F -coef_preDrivingNonMandMaxThree_visiting,0.6008,F -coef_timeWindowOverlapAdult_visiting,0.0596,F -coef_timeWindowOverlapChild_visiting,0.0092,F -coef_timeWindowOverlapAdultChild_visiting,0.0256,F -coef_zeroAutomobiles_visiting,-0.980,F -# discretionary,, -coef_fullTimeNonMandMaxThree_disc,0.1275,F -coef_partTimeNonMandMaxThree_disc,0.4979,F -coef_nonWorkerNonMandMaxThree_disc,0.2871,F -coef_retireeNonMandMaxThree_disc,0.6136,F -coef_universityNonMandMaxThree_disc,0.7546,F -coef_preDrivingNonMandMaxThree_disc,0.5331,F -coef_drivingAgeStuMandMaxThree_disc,0.1932,F -coef_preDrivingAgeMandMaxThree_disc,0.3862,F -coef_logTimeWindowOverlapAdult_disc,0.3428,F -coef_logTimeWindowOverlapChild_disc,0.1162,F -coef_logTimeWindowOverlapAdultChild_disc,0.2212,F -coef_incomeBetween50And100_disc,0.3167,F -coef_incomeGreaterThan100_disc,0.486,F -coef_incomeMissing_dummy_always_zero_disc,0.3723,F +coefficient_name,value,constrain +# asc,, +coef_asc_0_tours,0,T +coef_asc_1_Shop,-6.0149,F +coef_asc_1_Main,-5.7389,F +coef_asc_1_Eat,-6.3757,F +coef_asc_1_Visit,-5.8818,F +coef_asc_1_Disc,-5.4806,F +coef_asc_2_tours,-14.4576,F +# zero_tours,, +coef_fullTimeHomeMaxThree_zero_tours,1.175,F +coef_partTimeHomeMaxThree_zero_tours,1.447,F +coef_nonWorkerHomeMaxThree_zero_tours,1.514,F +coef_retireeHomeMaxThree_zero_tours,0.6053,F +coef_universityHomeMaxThree_univ_and_driving_zero_tours,0.5685,F +coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,0.530,F +# shopping,, +coef_fullTimeNonMandMaxThree_shopping,0.2052,F +coef_partTimeNonMandMaxThree_shopping,0.1866,F +coef_nonWorkerNonMandMaxThree_shopping,0.7078,F +coef_retireeNonMandMaxThree_shopping,0.941,F +coef_universityNonMandMaxThree_shopping,0.7648,F +coef_preDrivingNonMandMaxThree_shopping,0.5474,F +coef_fullTimeMandMaxThree_shopping,-0.2424,F +coef_logTimeWindowOverlapAdult_shopping,0.5945,F +coef_logTimeWindowOverlapChild_shopping,0.1416,F +coef_logTimeWindowOverlapAdultChild_shopping,0.1086,F +coef_fewerCarsThanDrivers_shopping,0.2523,F +coef_moreCarsThanWorkers_shopping,-0.3027,F +# maintenance,, +coef_fullTimeNonMandMaxThree_maint,0.3173,F +coef_partTimeNonMandMaxThree_maint,0.2452,F +coef_nonWorkerNonMandMaxThree_maint,0.4643,F +coef_retireeNonMandMaxThree_maint,0.905,F +coef_universityNonMandMaxThree_maint,0.2643,F +coef_preDrivingNonMandMaxThree_maint,0.6482,F +coef_fullTimeMandMaxThree_maint,-0.3009,F +coef_drivingAgeStuMandMaxThree_maint,-0.3237,F +coef_preDrivingAgeMandMaxThree_maint,0.2299,F +coef_logTimeWindowOverlapAdult_maint,0.3714,F +coef_logTimeWindowOverlapChild_maint,0.176,F +coef_logTimeWindowOverlapAdultChild_maint,0.2443,F +coef_fewerCarsThanDrivers_maint,0.461,F +# eatout,, +coef_fullTimeNonMandMaxThree_eatout,0.2275,F +coef_partTimeNonMandMaxThree_eatout,0.3765,F +coef_nonWorkerNonMandMaxThree_eatout,0.182,F +coef_retireeNonMandMaxThree_eatout,0.4264,F +coef_universityNonMandMaxThree_eatout,0.4097,F +coef_preDrivingNonMandMaxThree_eatout,0.3851,F +coef_logTimeWindowOverlapAdult_eatout,0.4856,F +coef_logTimeWindowOverlapAdultChild_eatout,0.0921,F +coef_incomeBetween50And100_eatout,0.2977,F +coef_incomeGreaterThan100_eatout,0.4492,F +coef_incomeMissing_dummy_always_zero_eatout,0.278,F +coef_moreCarsThanWorkers_eatout,0.3825,F +coef_walkRetailAccessibility_eatout,0.062,F +# visiting,, +coef_fullTimeNonMandMaxThree_visiting,0.6445,F +coef_partTimeNonMandMaxThree_visiting,0.1332,F +coef_nonWorkerNonMandMaxThree_visiting,0.5475,F +coef_retireeNonMandMaxThree_visiting,0.5579,F +coef_universityNonMandMaxThree_visiting,0.2809,F +coef_preDrivingNonMandMaxThree_visiting,0.6008,F +coef_timeWindowOverlapAdult_visiting,0.0596,F +coef_timeWindowOverlapChild_visiting,0.0092,F +coef_timeWindowOverlapAdultChild_visiting,0.0256,F +coef_zeroAutomobiles_visiting,-0.980,F +# discretionary,, +coef_fullTimeNonMandMaxThree_disc,0.1275,F +coef_partTimeNonMandMaxThree_disc,0.4979,F +coef_nonWorkerNonMandMaxThree_disc,0.2871,F +coef_retireeNonMandMaxThree_disc,0.6136,F +coef_universityNonMandMaxThree_disc,0.7546,F +coef_preDrivingNonMandMaxThree_disc,0.5331,F +coef_drivingAgeStuMandMaxThree_disc,0.1932,F +coef_preDrivingAgeMandMaxThree_disc,0.3862,F +coef_logTimeWindowOverlapAdult_disc,0.3428,F +coef_logTimeWindowOverlapChild_disc,0.1162,F +coef_logTimeWindowOverlapAdultChild_disc,0.2212,F +coef_incomeBetween50And100_disc,0.3167,F +coef_incomeGreaterThan100_disc,0.486,F +coef_incomeMissing_dummy_always_zero_disc,0.3723,F coef_zeroAutomobiles_disc,-0.909,F \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/joint_tour_participation.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_participation.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/joint_tour_participation.csv rename to activitysim/examples/prototype_mtc/configs/joint_tour_participation.csv index da2e65d1ea..cd692d8d27 --- a/activitysim/examples/example_semcog/configs/joint_tour_participation.csv +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_participation.csv @@ -1,67 +1,67 @@ -Label,Description,Expression,participate,not_participate -util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not -util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not -util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, -util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, -util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, -util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, -util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, -util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, -util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, -util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, -util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, -util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, -#,,,, -util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not -util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not -util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, -util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, -util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, -util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, -util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, -util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, -util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, -util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, -util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, -util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, -util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, -util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, -#,,,, -util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, -util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, -util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, -util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, -util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, -util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, -util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, -util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, -util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, -util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, -util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, -util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, -#,,,, -util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, -util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, -util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, -util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, -util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, -util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, -util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, -util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, -util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, -util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, -util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, -util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, -#,,,, -util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, -util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, -util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, -util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, -#,,,, -util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, -util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, -util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, -util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable -util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable -util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable -util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable +Label,Description,Expression,participate,not_participate +util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not +util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not +util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, +util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, +util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, +util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, +util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, +util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, +util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, +util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, +util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, +util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, +#,,,, +util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not +util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not +util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, +util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, +util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, +util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, +util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, +util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, +util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, +util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, +util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, +util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, +util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, +util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, +#,,,, +util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, +util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, +util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, +util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, +util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, +util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, +util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, +util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, +util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, +util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, +util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, +util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, +#,,,, +util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, +util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, +util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, +util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, +util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, +util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, +util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, +util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, +util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, +util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, +util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, +util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, +#,,,, +util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, +util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, +util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, +util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, +#,,,, +util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, +util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, +util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, +util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable +util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable +util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable +util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable diff --git a/activitysim/examples/example_mtc/configs/joint_tour_participation.yaml b/activitysim/examples/prototype_mtc/configs/joint_tour_participation.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_participation.yaml rename to activitysim/examples/prototype_mtc/configs/joint_tour_participation.yaml diff --git a/activitysim/examples/example_psrc/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_participation_annotate_participants_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/joint_tour_participation_annotate_participants_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/joint_tour_participation_annotate_participants_preprocessor.csv index 5d08da36e7..be9b64a944 --- a/activitysim/examples/example_psrc/configs/joint_tour_participation_annotate_participants_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_participation_annotate_participants_preprocessor.csv @@ -1,24 +1,24 @@ -Description,Target,Expression -,_P_OVERLAPS,person_time_window_overlap(persons) -,time_window_overlap_adult,"reindex(_P_OVERLAPS.aa, participants.person_id)" -,time_window_overlap_child,"reindex(_P_OVERLAPS.cc, participants.person_id)" -,time_window_overlap_adult_child,"reindex(_P_OVERLAPS.ac, participants.person_id)" -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -#,, -,person_is_full,participants.ptype == PTYPE_FULL -,person_is_part,participants.ptype == PTYPE_PART -,person_is_univ,participants.ptype == PTYPE_UNIVERSITY -,person_is_nonwork,participants.ptype == PTYPE_NONWORK -,person_is_driving,participants.ptype == PTYPE_DRIVING -,person_is_school,participants.ptype == PTYPE_SCHOOL -,person_is_preschool,participants.ptype == PTYPE_PRESCHOOL -,tour_type_is_eat,participants.tour_type=='eat' -,tour_type_is_disc,participants.tour_type=='disc' -,tour_composition_is_adults,participants.composition=='adults' -,tour_composition_is_children,participants.composition=='children' -,tour_composition_is_mixed,participants.composition=='mixed' -,home_is_suburban,~(participants.home_is_urban | participants.home_is_rural) -,high_income,participants.income_in_thousands > 60 -,more_cars_than_workers,participants.auto_ownership > participants.num_workers +Description,Target,Expression +,_P_OVERLAPS,person_time_window_overlap(persons) +,time_window_overlap_adult,"reindex(_P_OVERLAPS.aa, participants.person_id)" +,time_window_overlap_child,"reindex(_P_OVERLAPS.cc, participants.person_id)" +,time_window_overlap_adult_child,"reindex(_P_OVERLAPS.ac, participants.person_id)" +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +#,, +,person_is_full,participants.ptype == PTYPE_FULL +,person_is_part,participants.ptype == PTYPE_PART +,person_is_univ,participants.ptype == PTYPE_UNIVERSITY +,person_is_nonwork,participants.ptype == PTYPE_NONWORK +,person_is_driving,participants.ptype == PTYPE_DRIVING +,person_is_school,participants.ptype == PTYPE_SCHOOL +,person_is_preschool,participants.ptype == PTYPE_PRESCHOOL +,tour_type_is_eat,participants.tour_type=='eat' +,tour_type_is_disc,participants.tour_type=='disc' +,tour_composition_is_adults,participants.composition=='adults' +,tour_composition_is_children,participants.composition=='children' +,tour_composition_is_mixed,participants.composition=='mixed' +,home_is_suburban,~(participants.home_is_urban | participants.home_is_rural) +,high_income,participants.income_in_thousands > 60 +,more_cars_than_workers,participants.auto_ownership > participants.num_workers diff --git a/activitysim/examples/prototype_mtc/configs/joint_tour_participation_coefficients.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_participation_coefficients.csv new file mode 100644 index 0000000000..455f08be9e --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_participation_coefficients.csv @@ -0,0 +1,68 @@ +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_full_time_worker_mixed_party,-3.566,F +coef_full_time_worker_mixed_party_not,0.5,T +coef_part_time_worker_adults_only_party,-3.566,F +coef_part_time_worker_adults_only_party_not,0.5,T +coef_part_time_worker_mixed_party,-0.3655,F +coef_university_student_mixed_party,-3.041,F +coef_non_worker_adults_only_party,-3.164,F +coef_non_worker_mixed_party,0.7152,F +coef_child_too_young_for_school_children_only_party,-2.786,F +coef_child_too_young_for_school_mixed_party,-1.893,F +coef_pre_driving_age_student_children_only_party,-0.7217,F +coef_pre_driving_age_student_mixed_party,-1.752,F +coef_driving_age_student_children_only_party,-1.822,F +coef_driving_age_student_mixed_party,-1.353,F +#,, +coef_full_time_worker_specific_to_eating_out_joint_tours,0.7157,F +coef_full_time_worker_specific_to_eating_out_joint_tours_not,0.5,T +coef_full_time_worker_specific_to_discretionary_joint_tours,0.4392,F +coef_full_time_worker_specific_to_discretionary_joint_tours_not,0.5,T +coef_part_time_worker_specific_to_eating_out_joint_tours,2.188,F +coef_part_time_worker_specific_to_discretionary_joint_tours,0.285,F +coef_university_student_specific_to_eating_out_joint_tours,-0.82,F +coef_university_student_specific_to_discretionary_joint_tours,0,T +coef_non_worker_specific_to_eating_out_joint_tours,0.1617,F +coef_non_worker_specific_to_discretionary_joint_tours,-0.1835,F +coef_child_too_young_for_school_specific_to_eating_out_joint_tours,0.6589,F +coef_child_too_young_for_school_specific_to_discretionary_joint_tours,0.1284,F +coef_pre_driving_age_student_specific_to_eating_out_joint_tours,1.391,F +coef_pre_driving_age_student_specific_to_discretionary_joint_tours,0.6626,F +coef_driving_age_student_specific_to_eating_out_joint_tours,2.344,F +coef_driving_age_student_specific_to_discretionary_joint_tours,-0.6675,F +#,, +coef_household_in_urban_area_adult_adult_only_party,0,T +coef_household_in_urban_area_adult_mixed_party,-0.137,F +coef_household_in_urban_area_child_child_only_party,1.21,F +coef_household_in_urban_area_child_mixed_party,0.6265,F +coef_household_in_suburban_area_adult_adult_only_party,0,T +coef_household_in_suburban_area_adult_mixed_party,-0.06007,F +coef_household_in_suburban_area_child_child_only_party,0,T +coef_household_in_suburban_area_child_mixed_party,0,T +coef_adult_more_automobiles_than_workers_adult_only_party,-0.2133,F +coef_adult_more_automobiles_than_workers_mixed_party,-0.6031,F +coef_child_more_automobiles_than_workers_child_only_party,-0.4214,F +coef_child_more_automobiles_than_workers_mixed_party,-0.3776,F +#,, +coef_dummy_for_high_income_for_adult_in_adult_party,-0.1682,F +coef_dummy_for_high_income_for_adult_in_mixed_party,-0.02613,F +coef_dummy_for_high_income_for_child_in_children_party,-0.5619,F +coef_dummy_for_high_income_for_child_in_mixed_party,-0.1528,F +coef_adult_number_of_joint_tours_adult_only,-0.3242,F +coef_adult_number_of_joint_tours_mixed,-0.3584,F +coef_child_number_of_joint_tours_child_only,0.1047,F +coef_child_number_of_joint_tours_mixed,-0.5089,F +coef_adult_number_of_other_adults_in_the_household_adults_only_party,0,T +coef_adult_number_of_other_adults_in_the_household_mixed_party,0,T +coef_child_number_of_other_children_in_the_household_child_only_party,0,T +coef_child_number_of_other_children_in_the_household_mixed,0,T +#,, +coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,0.8436,F +coef_adult_log_of_max_window_overlap_with_a_child_mixed,2.189,F +coef_child_log_of_max_window_overlap_with_an_adult_mixed,1.538,F +coef_child_log_of_max_window_overlap_with_a_child_child,1.296,F + + + + diff --git a/activitysim/examples/example_mtc/configs/joint_tour_scheduling.yaml b/activitysim/examples/prototype_mtc/configs/joint_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/joint_tour_scheduling.yaml rename to activitysim/examples/prototype_mtc/configs/joint_tour_scheduling.yaml diff --git a/activitysim/examples/example_psrc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv index 2256d317d6..d239c39ca6 --- a/activitysim/examples/example_psrc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv @@ -1,8 +1,8 @@ -Description,Target,Expression -destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, joint_tours.destination) < setting('cbd_threshold')) * 1" -#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD -temp auto_time_to_destination,_auto_time_to_destination,"skim_dict.lookup(joint_tours.origin, joint_tours.destination, ('SOV_TIME', 'MD'))" -temp auto_time_return,_auto_time_return,"skim_dict.lookup(joint_tours.destination, joint_tours.origin, ('SOV_TIME', 'MD'))" -free flow roundtrip_auto_time,roundtrip_auto_time,"_auto_time_to_destination + _auto_time_return" -#"number of joint tours that this joint tours point_person participates in",, -,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), joint_tours.person_id)" +Description,Target,Expression +destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, joint_tours.destination) < setting('cbd_threshold')) * 1" +#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD +temp auto_time_to_destination,_auto_time_to_destination,"skim_dict.lookup(joint_tours.origin, joint_tours.destination, ('SOV_TIME', 'MD'))" +temp auto_time_return,_auto_time_return,"skim_dict.lookup(joint_tours.destination, joint_tours.origin, ('SOV_TIME', 'MD'))" +free flow roundtrip_auto_time,roundtrip_auto_time,"_auto_time_to_destination + _auto_time_return" +#"number of joint tours that this joint tours point_person participates in",, +,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), joint_tours.person_id)" diff --git a/activitysim/examples/example_mtc/configs/logging.yaml b/activitysim/examples/prototype_mtc/configs/logging.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/logging.yaml rename to activitysim/examples/prototype_mtc/configs/logging.yaml diff --git a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency.csv b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/mandatory_tour_frequency.csv rename to activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.csv index 17f68125ab..848bbf77aa --- a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency.csv +++ b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.csv @@ -1,101 +1,101 @@ -Label,Description,Expression,work1,work2,school1,school2,work_and_school -util_ft_worker,Full-time worker alternative-specific constants,ptype == 1,0,coef_ft_worker_work2_asc,,, -util_pt_worker,Part-time worker alternative-specific constants,ptype == 2,0,coef_pt_worker_work2_asc,,, -util_univ,University student alternative-specific constants,ptype == 3,coef_univ_work1_asc,coef_univ_work2_asc,0,coef_univ_school2_asc,coef_univ_work_and_school_asc -util_non_working_adult,Non-working adult alternative-specific constants,ptype == 4,,,,, -util_retired,Retired alternative-specific constants,ptype == 5,,,,, -util_driving_age_child,Driving-age child alternative-specific constants,ptype == 6,,,0,coef_driving_age_child_school2_asc,coef_driving_age_child_work_and_school_asc -util_pre_driving_age_child,Pre-driving age child who is in school alternative-specific constants,ptype == 7,,,0,coef_pre_driving_age_child_school2_asc, -util_female_ft_worker,Female - Full-time worker interaction,(ptype == 1) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school -util_female_pt_worker,Female - Part-time worker interaction,(ptype == 2) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school -util_female_univ,Female - University student interaction,(ptype == 3) & female,coef_female_work1,coef_female_work2,coef_female_school1,coef_female_school2,coef_female_work_and_school -util_female_non_working_adult,Female - Non-working adult interaction,(ptype == 4) & female,0,coef_female_work2,coef_female_school1,, -util_female_retired,Female - Retired interaction,(ptype == 5) & female,0,coef_female_work2,coef_female_school1,, -util_female_driving_age_child,Female - Driving-age child interaction,(ptype == 6) & female,coef_female_work1,,0,coef_female_school2,coef_female_work_and_school -util_female_pre_driving,Female - Pre-driving age child who is in school interaction,(ptype == 7) & female,coef_female_work1,,0,coef_female_school2, -util_under_35_ft,Under 35 - Full-time worker interaction,(ptype == 1) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school -util_under_35_pt,Under 35 - Part-time worker interaction,(ptype == 2) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school -util_under_35_univ,Under 35 - University student interaction,(ptype == 3) & (age <= 35),coef_under_35_work1,coef_under_35_work2,0,coef_under_35_school2,coef_under_35_work_and_school -util_under_35_non_working,Under 35 - Non-working adult interaction,(ptype == 4) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,, -util_can_walk_to_work_ft,Can walk to work - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_pt,Can walk to work - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_univ,Can walk to work - University student interaction,(ptype == 3) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_non_working_adult,Can walk to work - Non-working adult interaction,(ptype == 4) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_work_retired,Can walk to work - Retired interaction,(ptype == 5) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, -util_can_walk_to_school_univ,Can walk to school - University student interaction,(ptype == 3) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_school_driving_age_child,Can walk to school - Driving-age child interaction,(ptype == 6) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_school_pre_driving_age_child,Can walk to school - Pre-driving age child who is in school interaction,(ptype == 7) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, -util_can_walk_to_work_or_school_ft,Can walk to work or school - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_pt,Can walk to work or school - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_univ,Can walk to work or school - University student interaction,(ptype == 3) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_can_walk_to_work_or_school_driving_age_child,Can walk to work or school - Driving-age child interaction,(ptype == 6) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school -util_round_trip_auto_time_to_work_ft,Round trip auto time to work - Full-time worker interaction,(ptype == 1) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_pt,Round trip auto time to work - Part-time worker interaction,(ptype == 2) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_univ,Round trip auto time to work - University student interaction,(ptype == 3) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 -util_round_trip_auto_time_to_work_non_working_adult,Round trip auto time to work - Non-working adult interaction,(ptype == 4) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, -util_round_trip_auto_time_to_work_retired,Round trip auto time to work - Retired,(ptype == 5) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, -util_round_trip_auto_time_to_school_univ,Round trip auto time to school - University student interaction,(ptype == 3) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school -util_round_trip_auto_time_to_school_driving_age_child,Round trip auto time to school - Driving-age child interaction,(ptype == 6) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school -util_round_trip_auto_time_to_school_pre_driving_age_child,Round trip auto time to school - Pre-driving age child who is in school interaction,(ptype == 7) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2, -util_student_employted_univ,Student is employed - University student interaction,(ptype == 3) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed -util_student_employted_driving_age_child,Student is employed - Driving-age child interaction,(ptype == 6) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed -util_non_student_goes_to_school_ft,Non-student goes to school - Full-time worker interaction,(ptype == 1) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school -util_non_student_goes_to_school_pt,Non-student goes to school - Part-time worker interaction,(ptype == 2) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school -util_non_student_goes_to_school_non_working_adult,Non-student goes to school - Non-working adult interaction,(ptype == 4) & nonstudent_to_school,,,coef_non_student_goes_to_school,, -util_non_student_goes_to_school_retired,Non-student goes to school - Retired interaction,(ptype == 5) & nonstudent_to_school,,,coef_non_student_goes_to_school,, -util_no_cars_in_hh_ft,No cars in household - Full-time worker interaction,(ptype == 1) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_pt,No cars in household - Part-time worker interaction,(ptype == 2) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_unif,No cars in household - University student interaction,(ptype == 3) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_non_working_adult,No cars in household - Non-working adult interaction,(ptype == 4) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, -util_no_cars_in_hh_retired,No cars in household - Retired interaction,(ptype == 5) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, -util_no_cars_in_hh_driving_age_student,No cars in household - Driving-age student interaction,(ptype == 6) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school -util_no_cars_in_hh_pre_driving_age,No cars in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2, -util_fewer_cars_than_drivers_univ,Fewer cars than drivers in household - University student interaction,(ptype == 3) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_fewer_cars_than_drivers_driving_age_student,Fewer cars than drivers in household - Driving-age student interaction,(ptype == 6) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_fewer_cars_than_drivers_pre_driving_age,Fewer cars than drivers in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, -util_num_preschool_in_hh_ft,Number of preschool children in household - Full-time worker interaction,(ptype == 1) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_pt,Number of preschool children in household - Part-time worker interaction,(ptype == 2) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_univ,Number of preschool children in household - University student interaction,(ptype == 3) * (num_young_children),coef_num_preschool_in_hh_work1,coef_num_preschool_in_hh_work2,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_non_working_adult,Number of preschool children in household - Non-working adult interaction,(ptype == 4) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, -util_num_preschool_in_hh_retired,Number of preschool children in household - Retired interaction,(ptype == 5) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, -util_num_preschool_in_hh_driving_age_student,Number of preschool children in household - Driving-age student interaction,(ptype == 6) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school -util_num_preschool_in_hh_pre_driving_age_in_school,Number of preschool children in household - Pre-driving age child who is in school interaction,(ptype == 7) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2, -util_num_nonworkers_in_hh_ft,Number of non-workers in the household - Full-time worker interaction,(ptype == 1) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, -util_num_nonworkers_in_hh_pt,Number of non-workers in the household - Part-time worker interaction,(ptype == 2) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, -util_hh_income_gt_50k_ft,Household income higher than $50k - Full-time worker interaction,(ptype == 1) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school -util_hh_income_gt_50k_pt,Household income higher than $50k - Part-time worker interaction,(ptype == 2) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school -util_hh_income_gt_50k_univ,Household income higher than $50k - University student interaction,(ptype == 3) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,coef_hh_income_gt_50k_work,0,,coef_hh_income_gt_50k_student_work_and_school -util_hh_income_gt_50k_non_working_adult,Household income higher than $50k - Non-working adult interaction,(ptype == 4) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, -util_hh_income_gt_50k_retired,Household income higher than $50k - Retired interaction,(ptype == 5) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, -util_hh_income_gt_50k_driving_age_student,Household income higher than $50k - Driving-age student interaction,(ptype == 6) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,,coef_hh_income_gt_50k_student_work_and_school -util_hh_income_gt_50k_pre_driving_age_student,Household income higher than $50k - Pre-driving age child who is in school interaction,(ptype == 7) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,, -util_non_family_hh_ft,Non-family household - Full-time worker interaction,(ptype == 1) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 -util_non_family_hh_pt,Non-family household - Part-time worker interaction,(ptype == 2) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 -util_non_family_hh_univ,Non-family household - University student interaction,(ptype == 3) & non_family,coef_non_family_hh_category2,coef_non_family_hh_category2,0,,coef_non_family_hh_category2 -util_non_family_hh_non_working_adult,Non-family household - Non-working adult interaction,(ptype == 4) & non_family,0,,coef_non_family_hh_category1,, -util_non_family_hh_retired,Non-family household - Retired interaction,(ptype == 5) & non_family,0,,coef_non_family_hh_category1,, -util_non_family_hh_driving_age_student,Non-family household - Driving-age student interaction,(ptype == 6) & non_family,coef_non_family_hh_category2,,0,,coef_non_family_hh_category2 -util_non_family_hh_pre_driving_age_student,Non-family household - Pre-driving age child who is in school interaction,(ptype == 7) & non_family,coef_non_family_hh_category2,,0,, -util_num_under_16_not_at_school_ft,Number of children under 16 not at school - Full-time worker interaction,(ptype == 1) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_pt,Number of children under 16 not at school - Part-time worker interaction,(ptype == 2) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_univ,Number of children under 16 not at school - University student interaction,(ptype == 3) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_non_working_adult,Number of children under 16 not at school - Non-working adult interaction,(ptype == 4) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, -util_num_under_16_not_at_school_retired,Number of children under 16 not at school - Retired,(ptype == 5) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, -util_num_under_16_not_at_school_driving_age_student,Number of children under 16 not at school - Driving-age student interaction,(ptype == 6) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school -util_num_under_16_not_at_school_pre_driving_age,Number of children under 16 not at school - Pre-driving age child who is in school interaction,(ptype == 7) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2, -util_nome_urban_ft,Home is in urban area - Full-time worker interaction,(ptype == 1) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school -util_nome_urban_pt,Home is in urban area - Part-time worker interaction,(ptype == 2) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school -util_nome_urban_univ,Home is in urban area - University student interaction,(ptype == 3) & home_is_urban,coef_home_urban_work1,coef_home_urban_work2,0,coef_home_urban_school2,coef_home_urban_work_and_school -util_nome_urban_non_working_adult,Home is in urban area - Non-working adult interaction,(ptype == 4) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, -util_nome_urban_retired,Home is in urban area - Retired interaction,(ptype == 5) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, -util_nome_urban_driving_age_student,Home is in urban area - Driving-age student interaction,(ptype == 6) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2,coef_home_urban_work_and_school -util_nome_urban_pre_driving_age_student,Home is in urban area - Pre-driving age child who is in school interaction,(ptype == 7) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2, -util_availability_ft,Unavailable: Full-time worker,ptype == 1,,,,coef_unavailable, -util_availability_pt,Unavailable: Part-time worker,ptype == 2,,,,coef_unavailable, -util_availability_non_working_adult,Unavailable: Non-working adult,ptype == 4,,,,coef_unavailable,coef_unavailable -util_availability_retired,Unavailable: Retired,ptype == 5,,,,coef_unavailable,coef_unavailable -util_availability_driving_age_child,Unavailable: Driving-age child,ptype == 6,coef_unavailable,coef_unavailable,,, -util_availability_pre_driving_age_student,Unavailable: Pre-driving age child who is in school,ptype == 7,,coef_unavailable,,,coef_unavailable -util_availability_pre_driving_age_not_in_school,Unavailable: Pre-driving age child who is not in school,ptype == 8,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable -util_availability_work_tours_no_usual_work_location,Unavailable: Work tours for those with no usual work location,~(workplace_zone_id > -1),coef_unavailable,coef_unavailable,,,coef_unavailable -util_availability_school_tours_no_usual_school_location,Unavailable: School tours for those with no usual school location,~(school_zone_id > -1),,,coef_unavailable,coef_unavailable,coef_unavailable +Label,Description,Expression,work1,work2,school1,school2,work_and_school +util_ft_worker,Full-time worker alternative-specific constants,ptype == 1,0,coef_ft_worker_work2_asc,,, +util_pt_worker,Part-time worker alternative-specific constants,ptype == 2,0,coef_pt_worker_work2_asc,,, +util_univ,University student alternative-specific constants,ptype == 3,coef_univ_work1_asc,coef_univ_work2_asc,0,coef_univ_school2_asc,coef_univ_work_and_school_asc +util_non_working_adult,Non-working adult alternative-specific constants,ptype == 4,,,,, +util_retired,Retired alternative-specific constants,ptype == 5,,,,, +util_driving_age_child,Driving-age child alternative-specific constants,ptype == 6,,,0,coef_driving_age_child_school2_asc,coef_driving_age_child_work_and_school_asc +util_pre_driving_age_child,Pre-driving age child who is in school alternative-specific constants,ptype == 7,,,0,coef_pre_driving_age_child_school2_asc, +util_female_ft_worker,Female - Full-time worker interaction,(ptype == 1) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school +util_female_pt_worker,Female - Part-time worker interaction,(ptype == 2) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school +util_female_univ,Female - University student interaction,(ptype == 3) & female,coef_female_work1,coef_female_work2,coef_female_school1,coef_female_school2,coef_female_work_and_school +util_female_non_working_adult,Female - Non-working adult interaction,(ptype == 4) & female,0,coef_female_work2,coef_female_school1,, +util_female_retired,Female - Retired interaction,(ptype == 5) & female,0,coef_female_work2,coef_female_school1,, +util_female_driving_age_child,Female - Driving-age child interaction,(ptype == 6) & female,coef_female_work1,,0,coef_female_school2,coef_female_work_and_school +util_female_pre_driving,Female - Pre-driving age child who is in school interaction,(ptype == 7) & female,coef_female_work1,,0,coef_female_school2, +util_under_35_ft,Under 35 - Full-time worker interaction,(ptype == 1) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school +util_under_35_pt,Under 35 - Part-time worker interaction,(ptype == 2) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school +util_under_35_univ,Under 35 - University student interaction,(ptype == 3) & (age <= 35),coef_under_35_work1,coef_under_35_work2,0,coef_under_35_school2,coef_under_35_work_and_school +util_under_35_non_working,Under 35 - Non-working adult interaction,(ptype == 4) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,, +util_can_walk_to_work_ft,Can walk to work - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_pt,Can walk to work - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_univ,Can walk to work - University student interaction,(ptype == 3) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_non_working_adult,Can walk to work - Non-working adult interaction,(ptype == 4) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_retired,Can walk to work - Retired interaction,(ptype == 5) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_school_univ,Can walk to school - University student interaction,(ptype == 3) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_school_driving_age_child,Can walk to school - Driving-age child interaction,(ptype == 6) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_school_pre_driving_age_child,Can walk to school - Pre-driving age child who is in school interaction,(ptype == 7) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_work_or_school_ft,Can walk to work or school - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_pt,Can walk to work or school - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_univ,Can walk to work or school - University student interaction,(ptype == 3) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_driving_age_child,Can walk to work or school - Driving-age child interaction,(ptype == 6) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_round_trip_auto_time_to_work_ft,Round trip auto time to work - Full-time worker interaction,(ptype == 1) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_pt,Round trip auto time to work - Part-time worker interaction,(ptype == 2) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_univ,Round trip auto time to work - University student interaction,(ptype == 3) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_non_working_adult,Round trip auto time to work - Non-working adult interaction,(ptype == 4) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, +util_round_trip_auto_time_to_work_retired,Round trip auto time to work - Retired,(ptype == 5) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, +util_round_trip_auto_time_to_school_univ,Round trip auto time to school - University student interaction,(ptype == 3) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school +util_round_trip_auto_time_to_school_driving_age_child,Round trip auto time to school - Driving-age child interaction,(ptype == 6) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school +util_round_trip_auto_time_to_school_pre_driving_age_child,Round trip auto time to school - Pre-driving age child who is in school interaction,(ptype == 7) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2, +util_student_employted_univ,Student is employed - University student interaction,(ptype == 3) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed +util_student_employted_driving_age_child,Student is employed - Driving-age child interaction,(ptype == 6) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed +util_non_student_goes_to_school_ft,Non-student goes to school - Full-time worker interaction,(ptype == 1) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school +util_non_student_goes_to_school_pt,Non-student goes to school - Part-time worker interaction,(ptype == 2) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school +util_non_student_goes_to_school_non_working_adult,Non-student goes to school - Non-working adult interaction,(ptype == 4) & nonstudent_to_school,,,coef_non_student_goes_to_school,, +util_non_student_goes_to_school_retired,Non-student goes to school - Retired interaction,(ptype == 5) & nonstudent_to_school,,,coef_non_student_goes_to_school,, +util_no_cars_in_hh_ft,No cars in household - Full-time worker interaction,(ptype == 1) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_pt,No cars in household - Part-time worker interaction,(ptype == 2) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_unif,No cars in household - University student interaction,(ptype == 3) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_non_working_adult,No cars in household - Non-working adult interaction,(ptype == 4) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, +util_no_cars_in_hh_retired,No cars in household - Retired interaction,(ptype == 5) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, +util_no_cars_in_hh_driving_age_student,No cars in household - Driving-age student interaction,(ptype == 6) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_pre_driving_age,No cars in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2, +util_fewer_cars_than_drivers_univ,Fewer cars than drivers in household - University student interaction,(ptype == 3) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_fewer_cars_than_drivers_driving_age_student,Fewer cars than drivers in household - Driving-age student interaction,(ptype == 6) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_fewer_cars_than_drivers_pre_driving_age,Fewer cars than drivers in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_num_preschool_in_hh_ft,Number of preschool children in household - Full-time worker interaction,(ptype == 1) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_pt,Number of preschool children in household - Part-time worker interaction,(ptype == 2) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_univ,Number of preschool children in household - University student interaction,(ptype == 3) * (num_young_children),coef_num_preschool_in_hh_work1,coef_num_preschool_in_hh_work2,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_non_working_adult,Number of preschool children in household - Non-working adult interaction,(ptype == 4) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, +util_num_preschool_in_hh_retired,Number of preschool children in household - Retired interaction,(ptype == 5) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, +util_num_preschool_in_hh_driving_age_student,Number of preschool children in household - Driving-age student interaction,(ptype == 6) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_pre_driving_age_in_school,Number of preschool children in household - Pre-driving age child who is in school interaction,(ptype == 7) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2, +util_num_nonworkers_in_hh_ft,Number of non-workers in the household - Full-time worker interaction,(ptype == 1) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, +util_num_nonworkers_in_hh_pt,Number of non-workers in the household - Part-time worker interaction,(ptype == 2) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, +util_hh_income_gt_50k_ft,Household income higher than $50k - Full-time worker interaction,(ptype == 1) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school +util_hh_income_gt_50k_pt,Household income higher than $50k - Part-time worker interaction,(ptype == 2) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school +util_hh_income_gt_50k_univ,Household income higher than $50k - University student interaction,(ptype == 3) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,coef_hh_income_gt_50k_work,0,,coef_hh_income_gt_50k_student_work_and_school +util_hh_income_gt_50k_non_working_adult,Household income higher than $50k - Non-working adult interaction,(ptype == 4) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, +util_hh_income_gt_50k_retired,Household income higher than $50k - Retired interaction,(ptype == 5) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, +util_hh_income_gt_50k_driving_age_student,Household income higher than $50k - Driving-age student interaction,(ptype == 6) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,,coef_hh_income_gt_50k_student_work_and_school +util_hh_income_gt_50k_pre_driving_age_student,Household income higher than $50k - Pre-driving age child who is in school interaction,(ptype == 7) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,, +util_non_family_hh_ft,Non-family household - Full-time worker interaction,(ptype == 1) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 +util_non_family_hh_pt,Non-family household - Part-time worker interaction,(ptype == 2) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 +util_non_family_hh_univ,Non-family household - University student interaction,(ptype == 3) & non_family,coef_non_family_hh_category2,coef_non_family_hh_category2,0,,coef_non_family_hh_category2 +util_non_family_hh_non_working_adult,Non-family household - Non-working adult interaction,(ptype == 4) & non_family,0,,coef_non_family_hh_category1,, +util_non_family_hh_retired,Non-family household - Retired interaction,(ptype == 5) & non_family,0,,coef_non_family_hh_category1,, +util_non_family_hh_driving_age_student,Non-family household - Driving-age student interaction,(ptype == 6) & non_family,coef_non_family_hh_category2,,0,,coef_non_family_hh_category2 +util_non_family_hh_pre_driving_age_student,Non-family household - Pre-driving age child who is in school interaction,(ptype == 7) & non_family,coef_non_family_hh_category2,,0,, +util_num_under_16_not_at_school_ft,Number of children under 16 not at school - Full-time worker interaction,(ptype == 1) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_pt,Number of children under 16 not at school - Part-time worker interaction,(ptype == 2) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_univ,Number of children under 16 not at school - University student interaction,(ptype == 3) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_non_working_adult,Number of children under 16 not at school - Non-working adult interaction,(ptype == 4) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, +util_num_under_16_not_at_school_retired,Number of children under 16 not at school - Retired,(ptype == 5) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, +util_num_under_16_not_at_school_driving_age_student,Number of children under 16 not at school - Driving-age student interaction,(ptype == 6) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_pre_driving_age,Number of children under 16 not at school - Pre-driving age child who is in school interaction,(ptype == 7) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2, +util_nome_urban_ft,Home is in urban area - Full-time worker interaction,(ptype == 1) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school +util_nome_urban_pt,Home is in urban area - Part-time worker interaction,(ptype == 2) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school +util_nome_urban_univ,Home is in urban area - University student interaction,(ptype == 3) & home_is_urban,coef_home_urban_work1,coef_home_urban_work2,0,coef_home_urban_school2,coef_home_urban_work_and_school +util_nome_urban_non_working_adult,Home is in urban area - Non-working adult interaction,(ptype == 4) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, +util_nome_urban_retired,Home is in urban area - Retired interaction,(ptype == 5) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, +util_nome_urban_driving_age_student,Home is in urban area - Driving-age student interaction,(ptype == 6) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2,coef_home_urban_work_and_school +util_nome_urban_pre_driving_age_student,Home is in urban area - Pre-driving age child who is in school interaction,(ptype == 7) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2, +util_availability_ft,Unavailable: Full-time worker,ptype == 1,,,,coef_unavailable, +util_availability_pt,Unavailable: Part-time worker,ptype == 2,,,,coef_unavailable, +util_availability_non_working_adult,Unavailable: Non-working adult,ptype == 4,,,,coef_unavailable,coef_unavailable +util_availability_retired,Unavailable: Retired,ptype == 5,,,,coef_unavailable,coef_unavailable +util_availability_driving_age_child,Unavailable: Driving-age child,ptype == 6,coef_unavailable,coef_unavailable,,, +util_availability_pre_driving_age_student,Unavailable: Pre-driving age child who is in school,ptype == 7,,coef_unavailable,,,coef_unavailable +util_availability_pre_driving_age_not_in_school,Unavailable: Pre-driving age child who is not in school,ptype == 8,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable +util_availability_work_tours_no_usual_work_location,Unavailable: Work tours for those with no usual work location,~(workplace_zone_id > -1),coef_unavailable,coef_unavailable,,,coef_unavailable +util_availability_school_tours_no_usual_school_location,Unavailable: School tours for those with no usual school location,~(school_zone_id > -1),,,coef_unavailable,coef_unavailable,coef_unavailable diff --git a/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.yaml b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.yaml new file mode 100644 index 0000000000..ae7c323c02 --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency.yaml @@ -0,0 +1,10 @@ + +SPEC: mandatory_tour_frequency.csv +COEFFICIENTS: mandatory_tour_frequency_coefficients.csv + +annotate_persons: + SPEC: annotate_persons_mtf + DF: persons + TABLES: + - tours + diff --git a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_alternatives.csv old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_psrc/configs/mandatory_tour_frequency_alternatives.csv rename to activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_alternatives.csv index e4e04d48ef..025decbb1c --- a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency_alternatives.csv +++ b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_alternatives.csv @@ -1,7 +1,7 @@ -#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,work,school -work1,1,0 -work2,2,0 -school1,0,1 -school2,0,2 -work_and_school,1,1 +#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,work,school +work1,1,0 +work2,2,0 +school1,0,1 +school2,0,2 +work_and_school,1,1 diff --git a/activitysim/examples/example_mtc/configs/mandatory_tour_frequency_coefficients.csv b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_coefficients.csv similarity index 97% rename from activitysim/examples/example_mtc/configs/mandatory_tour_frequency_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_coefficients.csv index 8a4137324f..9bf04b2878 100644 --- a/activitysim/examples/example_mtc/configs/mandatory_tour_frequency_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/mandatory_tour_frequency_coefficients.csv @@ -1,54 +1,54 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_ft_worker_work2_asc,-3.3781,F -coef_pt_worker_work2_asc,-3.0476,F -coef_univ_work1_asc,2.166,F -coef_univ_work2_asc,-1.3965,F -coef_univ_school2_asc,-3.7429,F -coef_univ_work_and_school_asc,0.1073,F -coef_driving_age_child_school2_asc,-3.136,F -coef_driving_age_child_work_and_school_asc,-4.4362,F -coef_pre_driving_age_child_school2_asc,-3.9703,F -coef_female_work1,0.1737,F -coef_female_work2,-0.2255,F -coef_female_school1,0.1592,F -coef_female_school2,0.114,F -coef_female_work_and_school,-0.3442,F -coef_female_univ_work1,0.1737,F -coef_under_35_work1,-0.4629,F -coef_under_35_work2,-0.1375,F -coef_under_35_school1,0.7218,F -coef_under_35_school2,1.275,F -coef_under_35_work_and_school,0.9761,F -coef_can_walk_to_work_work2,0.5268,F -coef_can_walk_to_work_school2,0.7114,F -coef_can_walk_to_work_and_school,0.1391,F -coef_round_trip_auto_time_to_work_work2,-0.0035,F -coef_round_trip_auto_time_to_work_school2,-0.0034,F -coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F -coef_student_employed,3.014,F -coef_non_student_goes_to_school,3.883,F -coef_no_cars_in_hh_work2,-1.306,F -coef_no_cars_in_hh_school2,-1.413,F -coef_no_cars_in_hh_work_and_school,-1.302,F -coef_few_cars_than_drivers_school2,-0.5759,F -coef_num_preschool_in_hh_work1,0.2191,F -coef_num_preschool_in_hh_work2,-0.1478,F -coef_num_preschool_in_hh_school1,-0.1335,F -coef_num_preschool_in_hh_school2,-0.5577,F -coef_num_preschool_in_hh_work_and_school,-0.1251,F -coef_num_non_workers_in_hh_school1,0.2574,F -coef_hh_income_gt_50k_work,-0.0528,F -coef_hh_income_gt_50k_school1,0.0347,F -coef_hh_income_gt_50k_worker_work_and_school,0.0347,F -coef_hh_income_gt_50k_student_work_and_school,-0.0528,F -coef_non_family_hh_category1,-0.25,F -coef_non_family_hh_category2,-0.1792,F -coef_num_under_16_not_at_school_work2,0.1804 -coef_num_under_16_not_at_school_school2,0.0866 -coef_num_under_16_not_at_school_work_and_school,-0.1955 -coef_home_urban_work1,-0.2831 -coef_home_urban_work2,0.2308 -coef_home_urban_school1,-0.1361 -coef_home_urban_school2,0.317 -coef_home_urban_work_and_school,-0.3509 +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_ft_worker_work2_asc,-3.3781,F +coef_pt_worker_work2_asc,-3.0476,F +coef_univ_work1_asc,2.166,F +coef_univ_work2_asc,-1.3965,F +coef_univ_school2_asc,-3.7429,F +coef_univ_work_and_school_asc,0.1073,F +coef_driving_age_child_school2_asc,-3.136,F +coef_driving_age_child_work_and_school_asc,-4.4362,F +coef_pre_driving_age_child_school2_asc,-3.9703,F +coef_female_work1,0.1737,F +coef_female_work2,-0.2255,F +coef_female_school1,0.1592,F +coef_female_school2,0.114,F +coef_female_work_and_school,-0.3442,F +coef_female_univ_work1,0.1737,F +coef_under_35_work1,-0.4629,F +coef_under_35_work2,-0.1375,F +coef_under_35_school1,0.7218,F +coef_under_35_school2,1.275,F +coef_under_35_work_and_school,0.9761,F +coef_can_walk_to_work_work2,0.5268,F +coef_can_walk_to_work_school2,0.7114,F +coef_can_walk_to_work_and_school,0.1391,F +coef_round_trip_auto_time_to_work_work2,-0.0035,F +coef_round_trip_auto_time_to_work_school2,-0.0034,F +coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F +coef_student_employed,3.014,F +coef_non_student_goes_to_school,3.883,F +coef_no_cars_in_hh_work2,-1.306,F +coef_no_cars_in_hh_school2,-1.413,F +coef_no_cars_in_hh_work_and_school,-1.302,F +coef_few_cars_than_drivers_school2,-0.5759,F +coef_num_preschool_in_hh_work1,0.2191,F +coef_num_preschool_in_hh_work2,-0.1478,F +coef_num_preschool_in_hh_school1,-0.1335,F +coef_num_preschool_in_hh_school2,-0.5577,F +coef_num_preschool_in_hh_work_and_school,-0.1251,F +coef_num_non_workers_in_hh_school1,0.2574,F +coef_hh_income_gt_50k_work,-0.0528,F +coef_hh_income_gt_50k_school1,0.0347,F +coef_hh_income_gt_50k_worker_work_and_school,0.0347,F +coef_hh_income_gt_50k_student_work_and_school,-0.0528,F +coef_non_family_hh_category1,-0.25,F +coef_non_family_hh_category2,-0.1792,F +coef_num_under_16_not_at_school_work2,0.1804 +coef_num_under_16_not_at_school_school2,0.0866 +coef_num_under_16_not_at_school_work_and_school,-0.1955 +coef_home_urban_work1,-0.2831 +coef_home_urban_work2,0.2308 +coef_home_urban_school1,-0.1361 +coef_home_urban_school2,0.317 +coef_home_urban_work_and_school,-0.3509 diff --git a/activitysim/examples/example_mtc/configs/mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_mtc/configs/mandatory_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/mandatory_tour_scheduling.yaml rename to activitysim/examples/prototype_mtc/configs/mandatory_tour_scheduling.yaml diff --git a/activitysim/examples/example_mtc/configs/network_los.yaml b/activitysim/examples/prototype_mtc/configs/network_los.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/network_los.yaml rename to activitysim/examples/prototype_mtc/configs/network_los.yaml diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_destination.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_destination.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination.csv index 169becf1e3..18c6234ac4 100644 --- a/activitysim/examples/example_mtc/configs/non_mandatory_tour_destination.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination.csv @@ -1,10 +1,10 @@ -Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr -"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 -"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 -Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum -Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1,1,1 +Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr +"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 +"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 +Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum +Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1,1,1 diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_destination.yaml b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_destination.yaml rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination.yaml diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_destination_coefficients.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_destination_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination_coefficients.csv diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_sample.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination_sample.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_sample.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination_sample.csv index e4bd1a116b..6d1cab933e --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_destination_sample.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_destination_sample.csv @@ -1,8 +1,8 @@ -Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr -"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 -"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 -"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus -Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 -No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 +Description,Expression,escort,escortkids,escortnokids,shopping,eatout,othmaint,social,othdiscr +"Distance, piecewise linear from 0 to 1 miles","@skims['DIST'].clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 1 to 2 miles","@(skims['DIST']-1).clip(0,1)",coef_escort_dist_0_2,coef_escort_dist_0_2,coef_escort_dist_0_2,0,coef_eatout_dist_0_2,0,coef_eatout_dist_0_2,coef_othdiscr_dist_0_2 +"Distance, piecewise linear from 2 to 5 miles","@(skims['DIST']-2).clip(0,3)",coef_escort_dist_2_5,coef_escort_dist_2_5,coef_escort_dist_2_5,coef_shopping_dist_2_5,coef_eatout_dist_2_5,coef_othmaint_dist_2_5,coef_social_dist_2_5,coef_othdiscr_dist_2_5 +"Distance, piecewise linear from 5 to 15 miles","@(skims['DIST']-5).clip(0,10)",coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +"Distance, piecewise linear for 15+ miles",@(skims['DIST']-15.0).clip(0),coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_escort_dist_5_plus,coef_shopping_dist_5_plus,coef_eatout_dist_5_plus,coef_othmaint_dist_5_plus,coef_social_dist_5_plus,coef_othdiscr_dist_5_plus +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999,-999,-999 diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency.csv index c295ea5b07..76c60822e2 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency.csv @@ -1,211 +1,211 @@ -Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL -util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour -util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour -util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour -util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour -util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour -util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour -util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mand == 0) & (num_hh_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours -util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mand > 0) | (num_hh_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours -util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1 -util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 -util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 -util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4 -util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5 -util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus -util_number_of_mandatory_tours_and_tour_frequency_is_0,Number of Mandatory tours & tour frequency =0,num_mand*(tot_tours == 0),coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0 -util_number_of_mandatory_tours_and_tour_frequency_is_1,Number of Mandatory tours & tour frequency =1,num_mand*(tot_tours == 1),coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1 -util_number_of_mandatory_tours_and_tour_frequency_is_2,Number of Mandatory tours & tour frequency =2,num_mand*(tot_tours == 2),coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2 -util_number_of_mandatory_tours_and_tour_frequency_is_3,Number of Mandatory tours & tour frequency =3,num_mand*(tot_tours == 3),coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3 -util_number_of_mandatory_tours_and_tour_frequency_is_4,Number of Mandatory tours & tour frequency =4,num_mand*(tot_tours == 4),coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4 -util_number_of_mandatory_tours_and_tour_frequency_is_5_plus,Number of Mandatory tours & tour frequency = 5+,num_mand*(tot_tours > 4),coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus -util_number_of_joint_tours_and_tour_frequency_is_0,Number of Joint tours & tour frequency =0,num_hh_joint_tours*(tot_tours == 0),coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0 -util_number_of_joint_tours_and_tour_frequency_is_1,Number of Joint tours & tour frequency =1,num_hh_joint_tours*(tot_tours == 1),coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1 -util_number_of_joint_tours_and_tour_frequency_is_2,Number of Joint tours & tour frequency =2,num_hh_joint_tours*(tot_tours == 2),coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2 -util_number_of_joint_tours_and_tour_frequency_is_3,Number of Joint tours & tour frequency =3,num_hh_joint_tours*(tot_tours == 3),coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3 -util_number_of_joint_tours_and_tour_frequency_is_4,Number of Joint tours & tour frequency =4,num_hh_joint_tours*(tot_tours == 4),coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4 -util_number_of_joint_tours_and_tour_frequency_is_5_plus,Number of Joint tours & tour frequency = 5+,num_hh_joint_tours*(tot_tours > 4),coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus -util_number_of_joint_shopping_tours,Number of Joint Shopping tours,shopping * num_hh_joint_shop_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours -util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,othmaint * num_hh_joint_maint_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours -util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,eatout * num_hh_joint_eatout_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours -util_number_of_joint_visit_tours,Number of Joint Visit tours,social * num_hh_joint_social_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours -util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,othdiscr * num_hh_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours -util_logged_maximum_residual_window_tour_frequency_is_0,"Logged Maximum Residual Window, tour frequency =0",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 0),coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0 -util_logged_maximum_residual_window_tour_frequency_is_1,"Logged Maximum Residual Window, tour frequency =1",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 1),coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1 -util_logged_maximum_residual_window_tour_frequency_is_2,"Logged Maximum Residual Window, tour frequency =2",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 2),coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2 -util_logged_maximum_residual_window_tour_frequency_is_3,"Logged Maximum Residual Window, tour frequency =3",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 3),coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3 -util_logged_maximum_residual_window_tour_frequency_is_4,"Logged Maximum Residual Window, tour frequency =4",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 4),coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4 -util_logged_maximum_residual_window_tour_frequency_is_5_plus,"Logged Maximum Residual Window, tour frequency =5+",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours > 4),coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus -util_mediumlow_income_group_and_tour_frequency_is_1,Dummy for Mediumlow Income group (20K-50K) & tour frequency=1,medium_low_income & (tot_tours == 1),coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1 -util_mediumlow_income_group_and_tour_frequency_is_2,Dummy for Mediumlow Income group (20K-50K) & tour frequency=2,medium_low_income & (tot_tours == 2),coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2 -util_mediumlow_income_group_and_tour_frequency_is_3,Dummy for Mediumlow Income group (20K-50K) & tour frequency=3,medium_low_income & (tot_tours == 3),coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3 -util_mediumlow_income_group_and_tour_frequency_is_4,Dummy for Mediumlow Income group (20K-50K) & tour frequency=4,medium_low_income & (tot_tours == 4),coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4 -util_mediumlow_income_group_and_tour_frequency_is_5_plus,Dummy for Mediumlow Income group (20K-50K) & tour frequency=5+,medium_low_income & (tot_tours > 4),coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus -util_mediumhigh_income_group_and_tour_frequency_is_1,Dummy for MediumHigh Income group (50K-100K) & tour frequency=1,medium_high_income & (tot_tours == 1),coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1 -util_mediumhigh_income_group_and_tour_frequency_is_2,Dummy for MediumHigh Income group (50K-100K) & tour frequency=2,medium_high_income & (tot_tours == 2),coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2 -util_mediumhigh_income_group_and_tour_frequency_is_3,Dummy for MediumHigh Income group (50K-100K) & tour frequency=3,medium_high_income & (tot_tours == 3),coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3 -util_mediumhigh_income_group_and_tour_frequency_is_4,Dummy for MediumHigh Income group (50K-100K) & tour frequency=4,medium_high_income & (tot_tours == 4),coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4 -util_mediumhigh_income_group_and_tour_frequency_is_5_plus,Dummy for MediumHigh Income group (50K-100K) & tour frequency=5+,medium_high_income & (tot_tours > 4),coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus -util_high_income_group_and_tour_frequency_is_1,Dummy for High Income group (>100K) & tour frequency=1,high_income & (tot_tours == 1),coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1 -util_high_income_group_and_tour_frequency_is_2,Dummy for High Income group (>100K) & tour frequency=2,high_income & (tot_tours == 2),coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2 -util_high_income_group_and_tour_frequency_is_3,Dummy for High Income group (>100K) & tour frequency=3,high_income & (tot_tours == 3),coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3 -util_high_income_group_and_tour_frequency_is_4,Dummy for High Income group (>100K) & tour frequency=4,high_income & (tot_tours == 4),coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4 -util_high_income_group_and_tour_frequency_is_5_plus,Dummy for High Income group (>100K) & tour frequency=5+,high_income & (tot_tours > 4),coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus -util_mediumlow_income_group_and_shopping_tour,Dummy for Mediumlow Income group (20K-50K) & shopping tour,medium_low_income * shopping,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour -util_mediumhigh_income_group_and_shopping_tour,Dummy for Mediumhigh Income group (50K-100K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour -util_high_income_group_and_shopping_tour,Dummy for High Income group (>100K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour -util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (20K-50K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour -util_mediumhigh_income_group_and_maintenance_tour,Dummy for Mediumhigh Income group (50K-100K) & maintenance tour,medium_high_income * othmaint,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour -util_high_income_group_and_maintenance_tour,Dummy for High Income group (>100K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour -util_mediumlow_income_group_and_eating_out_tour,Dummy for Mediumlow Income group (20K-50K) & Eating out tour,medium_low_income * eatout,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour -util_mediumhigh_income_group_and_eating_out_tour,Dummy for Mediumhigh Income group (50K-100K) & Eating out tour,medium_high_income * eatout,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour -util_high_income_group_and_eating_out_tour,Dummy for High Income group (>100K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour -util_mediumlow_income_group_and_discretionary_tour,Dummy for Mediumlow Income group (20K-50K) & Discretionary tour,medium_low_income * othdiscr,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour -util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (50K-100K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour -util_high_income_group_and_discretionary_tour,Dummy for High Income group (>100K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour -util_mediumlow_income_group_and_visiting_tour,Dummy for Mediumlow Income group (20K-50K) & Visiting tour,medium_low_income * social,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour -util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour -util_high_income_group_and_visiting_tour,Dummy for High Income group (>100K) & Visiting tour,high_income * social,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour -util_female_and_tour_frequency_is_1,Dummy for Female & tour frequency =1,female & (tot_tours == 1),coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1 -util_female_and_tour_frequency_is_2,Dummy for Female & tour frequency =2,female & (tot_tours == 2),coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2 -util_female_and_tour_frequency_is_3,Dummy for Female & tour frequency =3,female & (tot_tours == 3),coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3 -util_female_and_tour_frequency_is_4,Dummy for Female & tour frequency =4,female & (tot_tours == 4),coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4 -util_female_and_tour_frequency_is_5,Dummy for Female & tour frequency =5,female & (tot_tours == 5),coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5 -util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour -util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour -util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour -util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour -util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour -util_zero_car_ownership_and_tour_frequency_is_1,Dummy for zero car ownership & tour frequency =1,no_cars & (tot_tours == 1),coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1 -util_zero_car_ownership_and_tour_frequency_is_2,Dummy for zero car ownership & tour frequency =2,no_cars & (tot_tours == 2),coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2 -util_zero_car_ownership_and_tour_frequency_is_3,Dummy for zero car ownership & tour frequency =3,no_cars & (tot_tours == 3),coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3 -util_zero_car_ownership_and_tour_frequency_is_4,Dummy for zero car ownership & tour frequency =4,no_cars & (tot_tours == 4),coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4 -util_zero_car_ownership_and_tour_frequency_is_5_plus,Dummy for zero car ownership & tour frequency =5+,no_cars & (tot_tours > 4),coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus -util_car_shortage_vs_workers_and_tour_frequency_is_1,Dummy for Car Shortage vs Workers & tour frequency =1,~no_cars & (car_sufficiency < 0) & (tot_tours == 1),coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1 -util_car_shortage_vs_workers_and_tour_frequency_is_2,Dummy for Car Shortage vs Workers & tour frequency =2,~no_cars & (car_sufficiency < 0) & (tot_tours == 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2 -util_car_shortage_vs_workers_and_tour_frequency_is_3,Dummy for Car Shortage vs Workers & tour frequency =3,~no_cars & (car_sufficiency < 0) & (tot_tours == 3),coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3 -util_car_shortage_vs_workers_and_tour_frequency_is_4,Dummy for Car Shortage vs Workers & tour frequency =4,~no_cars & (car_sufficiency < 0) & (tot_tours == 4),coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4 -util_car_shortage_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Shortage vs Workers & tour frequency =5+,~no_cars & (car_sufficiency < 0) & (tot_tours > 4),coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus -util_car_surplus_vs_workers_and_tour_frequency_is_1,Dummy for Car Surplus vs Workers & tour frequency =1,~no_cars & (car_sufficiency > 0) & (tot_tours == 1),coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1 -util_car_surplus_vs_workers_and_tour_frequency_is_2,Dummy for Car Surplus vs Workers & tour frequency =2,~no_cars & (car_sufficiency > 0) & (tot_tours == 2),coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2 -util_car_surplus_vs_workers_and_tour_frequency_is_3,Dummy for Car Surplus vs Workers & tour frequency =3,~no_cars & (car_sufficiency > 0) & (tot_tours == 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3 -util_car_surplus_vs_workers_and_tour_frequency_is_4,Dummy for Car Surplus vs Workers & tour frequency =4,~no_cars & (car_sufficiency > 0) & (tot_tours == 4),coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4 -util_car_surplus_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Surplus vs Workers & tour frequency =5+,~no_cars & (car_sufficiency > 0) & (tot_tours > 4),coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus -util_presence_of_non_worker_and_tour_frequency_is_1,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =1,has_non_worker & (tot_tours == 1),coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1 -util_presence_of_non_worker_and_tour_frequency_is_2,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =2,has_non_worker & (tot_tours == 2),coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2 -util_presence_of_non_worker_and_tour_frequency_is_3,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =3,has_non_worker & (tot_tours == 3),coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3 -util_presence_of_non_worker_and_tour_frequency_is_4,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =4,has_non_worker & (tot_tours == 4),coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4 -util_presence_of_non_worker_and_tour_frequency_is_5,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =5,has_non_worker & (tot_tours == 5),coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5 -util_presence_of_retiree_and_tour_frequency_is_1,Dummy for Presence of Retiree(other than modeled person) & tour frequency =1,has_retiree & (tot_tours == 1),coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1 -util_presence_of_retiree_and_tour_frequency_is_2,Dummy for Presence of Retiree(other than modeled person) & tour frequency =2,has_retiree & (tot_tours == 2),coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2 -util_presence_of_retiree_and_tour_frequency_is_3,Dummy for Presence of Retiree(other than modeled person) & tour frequency =3,has_retiree & (tot_tours == 3),coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3 -util_presence_of_retiree_and_tour_frequency_is_4,Dummy for Presence of Retiree(other than modeled person) & tour frequency =4,has_retiree & (tot_tours == 4),coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4 -util_presence_of_retiree_and_tour_frequency_is_5,Dummy for Presence of Retiree(other than modeled person) & tour frequency =5,has_retiree & (tot_tours == 5),coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =1,has_preschool_kid & (tot_tours == 1),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =2,has_preschool_kid & (tot_tours == 2),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =3,has_preschool_kid & (tot_tours == 3),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =4,has_preschool_kid & (tot_tours == 4),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4 -util_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =5,has_preschool_kid & (tot_tours == 5),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =1,has_school_kid & (tot_tours == 1),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =2,has_school_kid & (tot_tours == 2),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =3,has_school_kid & (tot_tours == 3),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =4,has_school_kid & (tot_tours == 4),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4 -util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =5,has_school_kid & (tot_tours == 5),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 -util_presence_of_full_time_worker_and_escorting_tour,Dummy for Presence of Full time Worker (other than modeled person) & Escorting tour ,has_full_time * escort,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour -util_presence_of_part_time_worker_and_escorting_tour,Dummy for Presence of Part time Worker (other than modeled person) & Escorting tour ,has_part_time * escort,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour -util_presence_of_non_worker_and_escorting_tour,Dummy for Presence of Non-Worker (other than modeled person) & Escorting tour ,has_non_worker * escort,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour -util_presence_of_retiree_and_escorting_tour,Dummy for Presence of Retiree (other than modeled person) & Escorting tour ,has_retiree * escort,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour -util_presence_of_university_student_and_escorting_tour,Dummy for Presence of University Student (other than modeled person) & Escorting tour ,has_university * escort,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour -util_presence_of_driving_school_kid_and_escorting_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Escorting tour ,has_driving_kid * escort,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour -util_presence_of_pre_driving_school_kid_and_escorting_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Escorting tour ,has_school_kid * escort,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour -util_presence_of_pre_school_kid_and_escorting_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Escorting tour ,has_preschool_kid * escort,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour -util_at_home_pre_driving_school_kid_and_escorting_tour,Dummy for At home Pre-Driving School Kid & Escorting tour ,has_school_kid_at_home * escort,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour -util_at_home_pre_school_kid_and_escorting_tour,Dummy for At homef Pre-School Kid & Escorting tour ,has_preschool_kid_at_home * escort,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour -util_presence_of_full_time_worker_and_shopping_tour,Dummy for Presence of Full time Worker (other than modeled person) & Shopping tour ,has_full_time * shopping,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour -util_presence_of_part_time_worker_and_shopping_tour,Dummy for Presence of Part time Worker (other than modeled person) & Shopping tour ,has_part_time * shopping,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour -util_presence_of_non_worker_and_shopping_tour,Dummy for Presence of Non-Worker (other than modeled person) & Shopping tour ,has_non_worker * shopping,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour -util_presence_of_retiree_and_shopping_tour,Dummy for Presence of Retiree (other than modeled person) & Shopping tour ,has_retiree * shopping,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour -util_presence_of_university_student_and_shopping_tour,Dummy for Presence of University Student (other than modeled person) & Shopping tour ,has_university * shopping,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour -util_presence_of_driving_school_kid_and_shopping_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Shopping tour ,has_driving_kid * shopping,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour -util_presence_of_pre_driving_school_kid_and_shopping_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Shopping tour ,has_school_kid * shopping,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour -util_presence_of_pre_school_kid_and_shopping_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Shopping tour ,has_preschool_kid * shopping,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour -util_at_home_pre_driving_school_kid_and_shopping_tour,Dummy for At home Pre-Driving School Kid & Shopping tour ,has_school_kid_at_home * shopping,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour -util_at_home_pre_school_kid_and_shopping_tour,Dummy for At homef Pre-School Kid & Shopping tour ,has_preschool_kid_at_home * shopping,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour -util_presence_of_full_time_worker_and_maintenance_tour,Dummy for Presence of Full time Worker (other than modeled person) & Maintenance tour ,has_full_time * othmaint,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour -util_presence_of_part_time_worker_and_maintenance_tour,Dummy for Presence of Part time Worker (other than modeled person) & Maintenance tour ,has_part_time * othmaint,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour -util_presence_of_non_worker_and_maintenance_tour,Dummy for Presence of Non-Worker(other than modeled person) & Maintenance tour ,has_non_worker * othmaint,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour -util_presence_of_retiree_and_maintenance_tour,Dummy for Presence of Retiree (other than modeled person) & Maintenance tour ,has_retiree * othmaint,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour -util_presence_of_university_student_and_maintenance_tour,Dummy for Presence of University Student (other than modeled person) & Maintenance tour ,has_university * othmaint,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour -util_presence_of_driving_school_kid_and_maintenance_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Maintenance tour ,has_driving_kid * othmaint,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour -util_presence_of_pre_driving_school_kid_and_maintenance_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Maintenance tour ,has_school_kid * othmaint,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour -util_presence_of_pre_school_kid_and_maintenance_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Maintenance tour ,has_preschool_kid * othmaint,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour -util_at_home_pre_driving_school_kid_and_maintenance_tour,Dummy for At home Pre-Driving School Kid & Maintenance tour ,has_school_kid_at_home * othmaint,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour -util_at_home_pre_school_kid_and_maintenance_tour,Dummy for At homef Pre-School Kid & Maintenance tour ,has_preschool_kid_at_home * othmaint,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour -util_presence_of_full_time_worker_and_eating_out_tour,Dummy for Presence of Full time Worker (other than modeled person) & Eating Out tour ,has_full_time * eatout,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour -util_presence_of_part_time_worker_and_eating_out_tour,Dummy for Presence of Part time Worker (other than modeled person) & Eating Out tour ,has_part_time * eatout,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour -util_presence_of_non_worker_and_eating_out_tour,Dummy for Presence of Non-Worker (other than modeled person) & Eating Out tour ,has_non_worker * eatout,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour -util_presence_of_retiree_and_eating_out_tour,Dummy for Presence of Retiree (other than modeled person) & Eating Out tour ,has_retiree * eatout,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour -util_presence_of_university_student_and_eating_out_tour,Dummy for Presence of University Student (other than modeled person) & Eating Out tour ,has_university * eatout,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour -util_presence_of_driving_school_kid_and_eating_out_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Eating Out tour ,has_driving_kid * eatout,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour -util_presence_of_pre_driving_school_kid_and_eating_out_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,has_school_kid * eatout,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour -util_presence_of_pre_school_kid_and_eating_out_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Eating Out tour ,has_preschool_kid * eatout,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour -util_at_home_pre_driving_school_kid_and_eating_out_tour,Dummy for At home Pre-Driving School Kid & Eating Out tour ,has_school_kid_at_home * eatout,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour -util_at_home_pre_school_kid_and_eating_out_tour,Dummy for At homef Pre-School Kid & Eating Out tour ,has_preschool_kid_at_home * eatout,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour -util_presence_of_full_time_worker_and_discretionary_tour,Dummy for Presence of Full time Worker (other than modeled person) & Discretionary tour ,has_full_time * othdiscr,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour -util_presence_of_part_time_worker_and_discretionary_tour,Dummy for Presence of Part time Worker (other than modeled person) & Discretionary tour ,has_part_time * othdiscr,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour -util_presence_of_non_worker_and_discretionary_tour,Dummy for Presence of Non-Worker (other than modeled person) & Discretionary tour ,has_non_worker * othdiscr,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour -util_presence_of_retiree_and_discretionary_tour,Dummy for Presence of Retiree (other than modeled person) & Discretionary tour ,has_retiree * othdiscr,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour -util_presence_of_university_student_and_discretionary_tour,Dummy for Presence of University Student (other than modeled person) & Discretionary tour ,has_university * othdiscr,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour -util_presence_of_driving_school_kid_and_discretionary_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Discretionary tour ,has_driving_kid * othdiscr,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour -util_presence_of_pre_driving_school_kid_and_discretionary_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,has_school_kid * othdiscr,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour -util_presence_of_pre_school_kid_and_discretionary_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Discretionary tour ,has_preschool_kid * othdiscr,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour -util_at_home_pre_driving_school_kid_and_discretionary_tour,Dummy for At home Pre-Driving School Kid & Discretionary tour ,has_school_kid_at_home * othdiscr,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour -util_at_home_pre_school_kid_and_discretionary_tour,Dummy for At homef Pre-School Kid & Discretionary tour ,has_preschool_kid_at_home * othdiscr,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour -util_walk_access_to_retail_and_tour_frequency_is_1,Walk Access to Retail & Tour Frequency =1,nmRetail * (tot_tours == 1),coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1 -util_walk_access_to_retail_and_tour_frequency_is_2,Walk Access to Retail & Tour Frequency =2,nmRetail * (tot_tours == 2),coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2 -util_walk_access_to_retail_and_tour_frequency_is_3,Walk Access to Retail & Tour Frequency =3,nmRetail * (tot_tours == 3),coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3 -util_walk_access_to_retail_and_tour_frequency_is_4,Walk Access to Retail & Tour Frequency =4,nmRetail * (tot_tours == 4),coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4 -util_walk_access_to_retail_and_tour_frequency_is_5_plus,Walk Access to Retail & Tour Frequency =5+,nmRetail * (tot_tours > 4),coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus -util_transit_access_to_retail_and_tour_frequency_is_1,Transit Access to Retail & Tour Frequency =1,trOpRetail * (tot_tours == 1),coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1 -util_transit_access_to_retail_and_tour_frequency_is_2,Transit Access to Retail & Tour Frequency =2,trOpRetail * (tot_tours == 2),coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2 -util_transit_access_to_retail_and_tour_frequency_is_3,Transit Access to Retail & Tour Frequency =3,trOpRetail * (tot_tours == 3),coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3 -util_transit_access_to_retail_and_tour_frequency_is_4,Transit Access to Retail & Tour Frequency =4,trOpRetail * (tot_tours == 4),coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4 -util_transit_access_to_retail_and_tour_frequency_is_5_plus,Transit Access to Retail & Tour Frequency =5+,trOpRetail * (tot_tours > 4),coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus -util_auto_access_to_retail_and_tour_frequency_is_1,Auto Access to Retail & Tour Frequency =1,auOpRetail * (tot_tours == 1),coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1 -util_auto_access_to_retail_and_tour_frequency_is_2,Auto Access to Retail & Tour Frequency =2,auOpRetail * (tot_tours == 2),coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2 -util_auto_access_to_retail_and_tour_frequency_is_3,Auto Access to Retail & Tour Frequency =3,auOpRetail * (tot_tours == 3),coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3 -util_auto_access_to_retail_and_tour_frequency_is_4,Auto Access to Retail & Tour Frequency =4,auOpRetail * (tot_tours == 4),coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4 -util_auto_access_to_retail_and_tour_frequency_is_5_plus,Auto Access to Retail & Tour Frequency =5+,auOpRetail * (tot_tours > 4),coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus -util_walk_access_to_retail_and_escorting,Walk Access to Retail & Escorting ,nmRetail * escort,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting -util_transit_access_to_retail_and_escorting,Transit Access to Retail & Escorting ,trOpRetail * escort,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting -util_auto_access_to_retail_and_escorting,Auto Access to Retail & Escorting ,auOpRetail * escort,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting -util_walk_access_to_retail_and_shopping,Walk Access to Retail & Shopping ,nmRetail * shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping -util_transit_access_to_retail_and_shopping,Transit Access to Retail & Shopping ,trOpRetail * shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping -util_auto_access_to_retail_and_shopping,Auto Access to Retail & Shopping ,auOpRetail * shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping -util_walk_access_to_retail_and_maintenance,Walk Access to Retail & Maintenance ,nmRetail * othmaint,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance -util_transit_access_to_retail_and_maintenance,Transit Access to Retail & Maintenance ,trOpRetail * othmaint,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance -util_auto_access_to_retail_and_maintenance,Auto Access to Retail & Maintenance ,auOpRetail * othmaint,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance -util_walk_access_to_retail_and_eating_out,Walk Access to Retail & Eating Out ,nmRetail * eatout,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out -util_transit_access_to_retail_and_eating_out,Transit Access to Retail & Eating Out ,trOpRetail * eatout,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out -util_auto_access_to_retail_and_eating_out,Auto Access to Retail & Eating Out ,auOpRetail * eatout,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out -util_walk_access_to_retail_and_discretionary,Walk Access to Retail & Discretionary ,nmRetail * othdiscr,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary -util_transit_access_to_retail_and_discretionary,Transit Access to Retail & Discretionary ,trOpRetail * othdiscr,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary -util_auto_access_to_retail_and_discretionary,Auto Access to Retail & Discretionary ,auOpRetail * othdiscr,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary -util_urban_and_tour_frequency_is_1,Urban Areatype & Tour Frequency =1,home_is_urban & (tot_tours == 1),coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1 -util_urban_and_tour_frequency_is_2,Urban Areatype & Tour Frequency =2,home_is_urban & (tot_tours == 2),coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2 -util_urban_and_tour_frequency_is_3,Urban Areatype & Tour Frequency =3,home_is_urban & (tot_tours == 3),coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3 -util_urban_and_tour_frequency_is_4,Urban Areatype & Tour Frequency =4,home_is_urban & (tot_tours == 4),coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4 -util_urban_and_tour_frequency_is_5_plus,Urban Areatype & Tour Frequency =5+,home_is_urban & (tot_tours > 4),coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus -util_urban_and_escorting_tour,Urban Areatype & Escorting tour,home_is_urban * escort,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour -util_urban_and_shopping_tour,Urban Areatype &Shopping tour,home_is_urban * shopping,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour -util_urban_and_maintenance_tour,Urban Areatype & Maintenance tour,home_is_urban * othmaint,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour -util_urban_and_eatingout_tour,Urban Areatype & EatingOut tour,home_is_urban * eatout,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour -util_urban_and_discretionary_tour,Urban Areatype & Discretionary tour,home_is_urban * othdiscr,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour -util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant -util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant -util_1_plus_shopping_tours_constant,1+ Shopping Tours Constant,shopping >= 1,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant -util_1_plus_maintenance_tours_constant,1+ Maintenance Tours Constant,othmaint >= 1,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant -util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,eatout >= 1,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant -util_1_plus_visting_tours_constant,1+ Visting Tours Constant,social >= 1,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant -util_1_plus_other_discretionary_tours_constant,1+ Other Discretionary Tours Constant,othdiscr >= 1,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant +Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL +util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour +util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour +util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour +util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour +util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour +util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour +util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mand == 0) & (num_hh_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours +util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mand > 0) | (num_hh_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours +util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1 +util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 +util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 +util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4 +util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5 +util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus +util_number_of_mandatory_tours_and_tour_frequency_is_0,Number of Mandatory tours & tour frequency =0,num_mand*(tot_tours == 0),coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0 +util_number_of_mandatory_tours_and_tour_frequency_is_1,Number of Mandatory tours & tour frequency =1,num_mand*(tot_tours == 1),coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1 +util_number_of_mandatory_tours_and_tour_frequency_is_2,Number of Mandatory tours & tour frequency =2,num_mand*(tot_tours == 2),coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2 +util_number_of_mandatory_tours_and_tour_frequency_is_3,Number of Mandatory tours & tour frequency =3,num_mand*(tot_tours == 3),coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3 +util_number_of_mandatory_tours_and_tour_frequency_is_4,Number of Mandatory tours & tour frequency =4,num_mand*(tot_tours == 4),coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4 +util_number_of_mandatory_tours_and_tour_frequency_is_5_plus,Number of Mandatory tours & tour frequency = 5+,num_mand*(tot_tours > 4),coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus +util_number_of_joint_tours_and_tour_frequency_is_0,Number of Joint tours & tour frequency =0,num_hh_joint_tours*(tot_tours == 0),coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0 +util_number_of_joint_tours_and_tour_frequency_is_1,Number of Joint tours & tour frequency =1,num_hh_joint_tours*(tot_tours == 1),coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1 +util_number_of_joint_tours_and_tour_frequency_is_2,Number of Joint tours & tour frequency =2,num_hh_joint_tours*(tot_tours == 2),coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2 +util_number_of_joint_tours_and_tour_frequency_is_3,Number of Joint tours & tour frequency =3,num_hh_joint_tours*(tot_tours == 3),coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3 +util_number_of_joint_tours_and_tour_frequency_is_4,Number of Joint tours & tour frequency =4,num_hh_joint_tours*(tot_tours == 4),coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4 +util_number_of_joint_tours_and_tour_frequency_is_5_plus,Number of Joint tours & tour frequency = 5+,num_hh_joint_tours*(tot_tours > 4),coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus +util_number_of_joint_shopping_tours,Number of Joint Shopping tours,shopping * num_hh_joint_shop_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours +util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,othmaint * num_hh_joint_maint_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours +util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,eatout * num_hh_joint_eatout_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours +util_number_of_joint_visit_tours,Number of Joint Visit tours,social * num_hh_joint_social_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours +util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,othdiscr * num_hh_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours +util_logged_maximum_residual_window_tour_frequency_is_0,"Logged Maximum Residual Window, tour frequency =0",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 0),coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0 +util_logged_maximum_residual_window_tour_frequency_is_1,"Logged Maximum Residual Window, tour frequency =1",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 1),coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1 +util_logged_maximum_residual_window_tour_frequency_is_2,"Logged Maximum Residual Window, tour frequency =2",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 2),coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2 +util_logged_maximum_residual_window_tour_frequency_is_3,"Logged Maximum Residual Window, tour frequency =3",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 3),coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3 +util_logged_maximum_residual_window_tour_frequency_is_4,"Logged Maximum Residual Window, tour frequency =4",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 4),coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4 +util_logged_maximum_residual_window_tour_frequency_is_5_plus,"Logged Maximum Residual Window, tour frequency =5+",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours > 4),coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus +util_mediumlow_income_group_and_tour_frequency_is_1,Dummy for Mediumlow Income group (20K-50K) & tour frequency=1,medium_low_income & (tot_tours == 1),coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1 +util_mediumlow_income_group_and_tour_frequency_is_2,Dummy for Mediumlow Income group (20K-50K) & tour frequency=2,medium_low_income & (tot_tours == 2),coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2 +util_mediumlow_income_group_and_tour_frequency_is_3,Dummy for Mediumlow Income group (20K-50K) & tour frequency=3,medium_low_income & (tot_tours == 3),coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3 +util_mediumlow_income_group_and_tour_frequency_is_4,Dummy for Mediumlow Income group (20K-50K) & tour frequency=4,medium_low_income & (tot_tours == 4),coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4 +util_mediumlow_income_group_and_tour_frequency_is_5_plus,Dummy for Mediumlow Income group (20K-50K) & tour frequency=5+,medium_low_income & (tot_tours > 4),coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus +util_mediumhigh_income_group_and_tour_frequency_is_1,Dummy for MediumHigh Income group (50K-100K) & tour frequency=1,medium_high_income & (tot_tours == 1),coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1 +util_mediumhigh_income_group_and_tour_frequency_is_2,Dummy for MediumHigh Income group (50K-100K) & tour frequency=2,medium_high_income & (tot_tours == 2),coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2 +util_mediumhigh_income_group_and_tour_frequency_is_3,Dummy for MediumHigh Income group (50K-100K) & tour frequency=3,medium_high_income & (tot_tours == 3),coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3 +util_mediumhigh_income_group_and_tour_frequency_is_4,Dummy for MediumHigh Income group (50K-100K) & tour frequency=4,medium_high_income & (tot_tours == 4),coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4 +util_mediumhigh_income_group_and_tour_frequency_is_5_plus,Dummy for MediumHigh Income group (50K-100K) & tour frequency=5+,medium_high_income & (tot_tours > 4),coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus +util_high_income_group_and_tour_frequency_is_1,Dummy for High Income group (>100K) & tour frequency=1,high_income & (tot_tours == 1),coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1 +util_high_income_group_and_tour_frequency_is_2,Dummy for High Income group (>100K) & tour frequency=2,high_income & (tot_tours == 2),coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2 +util_high_income_group_and_tour_frequency_is_3,Dummy for High Income group (>100K) & tour frequency=3,high_income & (tot_tours == 3),coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3 +util_high_income_group_and_tour_frequency_is_4,Dummy for High Income group (>100K) & tour frequency=4,high_income & (tot_tours == 4),coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4 +util_high_income_group_and_tour_frequency_is_5_plus,Dummy for High Income group (>100K) & tour frequency=5+,high_income & (tot_tours > 4),coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus +util_mediumlow_income_group_and_shopping_tour,Dummy for Mediumlow Income group (20K-50K) & shopping tour,medium_low_income * shopping,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour +util_mediumhigh_income_group_and_shopping_tour,Dummy for Mediumhigh Income group (50K-100K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour +util_high_income_group_and_shopping_tour,Dummy for High Income group (>100K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour +util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (20K-50K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour +util_mediumhigh_income_group_and_maintenance_tour,Dummy for Mediumhigh Income group (50K-100K) & maintenance tour,medium_high_income * othmaint,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour +util_high_income_group_and_maintenance_tour,Dummy for High Income group (>100K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour +util_mediumlow_income_group_and_eating_out_tour,Dummy for Mediumlow Income group (20K-50K) & Eating out tour,medium_low_income * eatout,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour +util_mediumhigh_income_group_and_eating_out_tour,Dummy for Mediumhigh Income group (50K-100K) & Eating out tour,medium_high_income * eatout,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour +util_high_income_group_and_eating_out_tour,Dummy for High Income group (>100K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour +util_mediumlow_income_group_and_discretionary_tour,Dummy for Mediumlow Income group (20K-50K) & Discretionary tour,medium_low_income * othdiscr,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour +util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (50K-100K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour +util_high_income_group_and_discretionary_tour,Dummy for High Income group (>100K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour +util_mediumlow_income_group_and_visiting_tour,Dummy for Mediumlow Income group (20K-50K) & Visiting tour,medium_low_income * social,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour +util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour +util_high_income_group_and_visiting_tour,Dummy for High Income group (>100K) & Visiting tour,high_income * social,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour +util_female_and_tour_frequency_is_1,Dummy for Female & tour frequency =1,female & (tot_tours == 1),coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1 +util_female_and_tour_frequency_is_2,Dummy for Female & tour frequency =2,female & (tot_tours == 2),coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2 +util_female_and_tour_frequency_is_3,Dummy for Female & tour frequency =3,female & (tot_tours == 3),coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3 +util_female_and_tour_frequency_is_4,Dummy for Female & tour frequency =4,female & (tot_tours == 4),coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4 +util_female_and_tour_frequency_is_5,Dummy for Female & tour frequency =5,female & (tot_tours == 5),coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5 +util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour +util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour +util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour +util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour +util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour +util_zero_car_ownership_and_tour_frequency_is_1,Dummy for zero car ownership & tour frequency =1,no_cars & (tot_tours == 1),coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1 +util_zero_car_ownership_and_tour_frequency_is_2,Dummy for zero car ownership & tour frequency =2,no_cars & (tot_tours == 2),coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2 +util_zero_car_ownership_and_tour_frequency_is_3,Dummy for zero car ownership & tour frequency =3,no_cars & (tot_tours == 3),coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3 +util_zero_car_ownership_and_tour_frequency_is_4,Dummy for zero car ownership & tour frequency =4,no_cars & (tot_tours == 4),coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4 +util_zero_car_ownership_and_tour_frequency_is_5_plus,Dummy for zero car ownership & tour frequency =5+,no_cars & (tot_tours > 4),coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus +util_car_shortage_vs_workers_and_tour_frequency_is_1,Dummy for Car Shortage vs Workers & tour frequency =1,~no_cars & (car_sufficiency < 0) & (tot_tours == 1),coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1 +util_car_shortage_vs_workers_and_tour_frequency_is_2,Dummy for Car Shortage vs Workers & tour frequency =2,~no_cars & (car_sufficiency < 0) & (tot_tours == 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2 +util_car_shortage_vs_workers_and_tour_frequency_is_3,Dummy for Car Shortage vs Workers & tour frequency =3,~no_cars & (car_sufficiency < 0) & (tot_tours == 3),coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3 +util_car_shortage_vs_workers_and_tour_frequency_is_4,Dummy for Car Shortage vs Workers & tour frequency =4,~no_cars & (car_sufficiency < 0) & (tot_tours == 4),coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4 +util_car_shortage_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Shortage vs Workers & tour frequency =5+,~no_cars & (car_sufficiency < 0) & (tot_tours > 4),coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus +util_car_surplus_vs_workers_and_tour_frequency_is_1,Dummy for Car Surplus vs Workers & tour frequency =1,~no_cars & (car_sufficiency > 0) & (tot_tours == 1),coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1 +util_car_surplus_vs_workers_and_tour_frequency_is_2,Dummy for Car Surplus vs Workers & tour frequency =2,~no_cars & (car_sufficiency > 0) & (tot_tours == 2),coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2 +util_car_surplus_vs_workers_and_tour_frequency_is_3,Dummy for Car Surplus vs Workers & tour frequency =3,~no_cars & (car_sufficiency > 0) & (tot_tours == 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3 +util_car_surplus_vs_workers_and_tour_frequency_is_4,Dummy for Car Surplus vs Workers & tour frequency =4,~no_cars & (car_sufficiency > 0) & (tot_tours == 4),coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4 +util_car_surplus_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Surplus vs Workers & tour frequency =5+,~no_cars & (car_sufficiency > 0) & (tot_tours > 4),coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus +util_presence_of_non_worker_and_tour_frequency_is_1,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =1,has_non_worker & (tot_tours == 1),coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1 +util_presence_of_non_worker_and_tour_frequency_is_2,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =2,has_non_worker & (tot_tours == 2),coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2 +util_presence_of_non_worker_and_tour_frequency_is_3,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =3,has_non_worker & (tot_tours == 3),coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3 +util_presence_of_non_worker_and_tour_frequency_is_4,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =4,has_non_worker & (tot_tours == 4),coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4 +util_presence_of_non_worker_and_tour_frequency_is_5,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =5,has_non_worker & (tot_tours == 5),coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5 +util_presence_of_retiree_and_tour_frequency_is_1,Dummy for Presence of Retiree(other than modeled person) & tour frequency =1,has_retiree & (tot_tours == 1),coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1 +util_presence_of_retiree_and_tour_frequency_is_2,Dummy for Presence of Retiree(other than modeled person) & tour frequency =2,has_retiree & (tot_tours == 2),coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2 +util_presence_of_retiree_and_tour_frequency_is_3,Dummy for Presence of Retiree(other than modeled person) & tour frequency =3,has_retiree & (tot_tours == 3),coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3 +util_presence_of_retiree_and_tour_frequency_is_4,Dummy for Presence of Retiree(other than modeled person) & tour frequency =4,has_retiree & (tot_tours == 4),coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4 +util_presence_of_retiree_and_tour_frequency_is_5,Dummy for Presence of Retiree(other than modeled person) & tour frequency =5,has_retiree & (tot_tours == 5),coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =1,has_preschool_kid & (tot_tours == 1),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =2,has_preschool_kid & (tot_tours == 2),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =3,has_preschool_kid & (tot_tours == 3),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =4,has_preschool_kid & (tot_tours == 4),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =5,has_preschool_kid & (tot_tours == 5),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =1,has_school_kid & (tot_tours == 1),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =2,has_school_kid & (tot_tours == 2),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =3,has_school_kid & (tot_tours == 3),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =4,has_school_kid & (tot_tours == 4),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =5,has_school_kid & (tot_tours == 5),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 +util_presence_of_full_time_worker_and_escorting_tour,Dummy for Presence of Full time Worker (other than modeled person) & Escorting tour ,has_full_time * escort,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour +util_presence_of_part_time_worker_and_escorting_tour,Dummy for Presence of Part time Worker (other than modeled person) & Escorting tour ,has_part_time * escort,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour +util_presence_of_non_worker_and_escorting_tour,Dummy for Presence of Non-Worker (other than modeled person) & Escorting tour ,has_non_worker * escort,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour +util_presence_of_retiree_and_escorting_tour,Dummy for Presence of Retiree (other than modeled person) & Escorting tour ,has_retiree * escort,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour +util_presence_of_university_student_and_escorting_tour,Dummy for Presence of University Student (other than modeled person) & Escorting tour ,has_university * escort,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour +util_presence_of_driving_school_kid_and_escorting_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Escorting tour ,has_driving_kid * escort,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour +util_presence_of_pre_driving_school_kid_and_escorting_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Escorting tour ,has_school_kid * escort,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour +util_presence_of_pre_school_kid_and_escorting_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Escorting tour ,has_preschool_kid * escort,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour +util_at_home_pre_driving_school_kid_and_escorting_tour,Dummy for At home Pre-Driving School Kid & Escorting tour ,has_school_kid_at_home * escort,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour +util_at_home_pre_school_kid_and_escorting_tour,Dummy for At homef Pre-School Kid & Escorting tour ,has_preschool_kid_at_home * escort,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour +util_presence_of_full_time_worker_and_shopping_tour,Dummy for Presence of Full time Worker (other than modeled person) & Shopping tour ,has_full_time * shopping,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour +util_presence_of_part_time_worker_and_shopping_tour,Dummy for Presence of Part time Worker (other than modeled person) & Shopping tour ,has_part_time * shopping,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour +util_presence_of_non_worker_and_shopping_tour,Dummy for Presence of Non-Worker (other than modeled person) & Shopping tour ,has_non_worker * shopping,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour +util_presence_of_retiree_and_shopping_tour,Dummy for Presence of Retiree (other than modeled person) & Shopping tour ,has_retiree * shopping,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour +util_presence_of_university_student_and_shopping_tour,Dummy for Presence of University Student (other than modeled person) & Shopping tour ,has_university * shopping,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour +util_presence_of_driving_school_kid_and_shopping_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Shopping tour ,has_driving_kid * shopping,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour +util_presence_of_pre_driving_school_kid_and_shopping_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Shopping tour ,has_school_kid * shopping,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour +util_presence_of_pre_school_kid_and_shopping_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Shopping tour ,has_preschool_kid * shopping,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour +util_at_home_pre_driving_school_kid_and_shopping_tour,Dummy for At home Pre-Driving School Kid & Shopping tour ,has_school_kid_at_home * shopping,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour +util_at_home_pre_school_kid_and_shopping_tour,Dummy for At homef Pre-School Kid & Shopping tour ,has_preschool_kid_at_home * shopping,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour +util_presence_of_full_time_worker_and_maintenance_tour,Dummy for Presence of Full time Worker (other than modeled person) & Maintenance tour ,has_full_time * othmaint,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour +util_presence_of_part_time_worker_and_maintenance_tour,Dummy for Presence of Part time Worker (other than modeled person) & Maintenance tour ,has_part_time * othmaint,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour +util_presence_of_non_worker_and_maintenance_tour,Dummy for Presence of Non-Worker(other than modeled person) & Maintenance tour ,has_non_worker * othmaint,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour +util_presence_of_retiree_and_maintenance_tour,Dummy for Presence of Retiree (other than modeled person) & Maintenance tour ,has_retiree * othmaint,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour +util_presence_of_university_student_and_maintenance_tour,Dummy for Presence of University Student (other than modeled person) & Maintenance tour ,has_university * othmaint,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour +util_presence_of_driving_school_kid_and_maintenance_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Maintenance tour ,has_driving_kid * othmaint,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour +util_presence_of_pre_driving_school_kid_and_maintenance_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Maintenance tour ,has_school_kid * othmaint,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour +util_presence_of_pre_school_kid_and_maintenance_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Maintenance tour ,has_preschool_kid * othmaint,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour +util_at_home_pre_driving_school_kid_and_maintenance_tour,Dummy for At home Pre-Driving School Kid & Maintenance tour ,has_school_kid_at_home * othmaint,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour +util_at_home_pre_school_kid_and_maintenance_tour,Dummy for At homef Pre-School Kid & Maintenance tour ,has_preschool_kid_at_home * othmaint,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour +util_presence_of_full_time_worker_and_eating_out_tour,Dummy for Presence of Full time Worker (other than modeled person) & Eating Out tour ,has_full_time * eatout,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour +util_presence_of_part_time_worker_and_eating_out_tour,Dummy for Presence of Part time Worker (other than modeled person) & Eating Out tour ,has_part_time * eatout,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour +util_presence_of_non_worker_and_eating_out_tour,Dummy for Presence of Non-Worker (other than modeled person) & Eating Out tour ,has_non_worker * eatout,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour +util_presence_of_retiree_and_eating_out_tour,Dummy for Presence of Retiree (other than modeled person) & Eating Out tour ,has_retiree * eatout,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour +util_presence_of_university_student_and_eating_out_tour,Dummy for Presence of University Student (other than modeled person) & Eating Out tour ,has_university * eatout,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour +util_presence_of_driving_school_kid_and_eating_out_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Eating Out tour ,has_driving_kid * eatout,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour +util_presence_of_pre_driving_school_kid_and_eating_out_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,has_school_kid * eatout,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour +util_presence_of_pre_school_kid_and_eating_out_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Eating Out tour ,has_preschool_kid * eatout,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour +util_at_home_pre_driving_school_kid_and_eating_out_tour,Dummy for At home Pre-Driving School Kid & Eating Out tour ,has_school_kid_at_home * eatout,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour +util_at_home_pre_school_kid_and_eating_out_tour,Dummy for At homef Pre-School Kid & Eating Out tour ,has_preschool_kid_at_home * eatout,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour +util_presence_of_full_time_worker_and_discretionary_tour,Dummy for Presence of Full time Worker (other than modeled person) & Discretionary tour ,has_full_time * othdiscr,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour +util_presence_of_part_time_worker_and_discretionary_tour,Dummy for Presence of Part time Worker (other than modeled person) & Discretionary tour ,has_part_time * othdiscr,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour +util_presence_of_non_worker_and_discretionary_tour,Dummy for Presence of Non-Worker (other than modeled person) & Discretionary tour ,has_non_worker * othdiscr,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour +util_presence_of_retiree_and_discretionary_tour,Dummy for Presence of Retiree (other than modeled person) & Discretionary tour ,has_retiree * othdiscr,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour +util_presence_of_university_student_and_discretionary_tour,Dummy for Presence of University Student (other than modeled person) & Discretionary tour ,has_university * othdiscr,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour +util_presence_of_driving_school_kid_and_discretionary_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Discretionary tour ,has_driving_kid * othdiscr,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour +util_presence_of_pre_driving_school_kid_and_discretionary_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,has_school_kid * othdiscr,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour +util_presence_of_pre_school_kid_and_discretionary_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Discretionary tour ,has_preschool_kid * othdiscr,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour +util_at_home_pre_driving_school_kid_and_discretionary_tour,Dummy for At home Pre-Driving School Kid & Discretionary tour ,has_school_kid_at_home * othdiscr,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour +util_at_home_pre_school_kid_and_discretionary_tour,Dummy for At homef Pre-School Kid & Discretionary tour ,has_preschool_kid_at_home * othdiscr,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour +util_walk_access_to_retail_and_tour_frequency_is_1,Walk Access to Retail & Tour Frequency =1,nmRetail * (tot_tours == 1),coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1 +util_walk_access_to_retail_and_tour_frequency_is_2,Walk Access to Retail & Tour Frequency =2,nmRetail * (tot_tours == 2),coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2 +util_walk_access_to_retail_and_tour_frequency_is_3,Walk Access to Retail & Tour Frequency =3,nmRetail * (tot_tours == 3),coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3 +util_walk_access_to_retail_and_tour_frequency_is_4,Walk Access to Retail & Tour Frequency =4,nmRetail * (tot_tours == 4),coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4 +util_walk_access_to_retail_and_tour_frequency_is_5_plus,Walk Access to Retail & Tour Frequency =5+,nmRetail * (tot_tours > 4),coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus +util_transit_access_to_retail_and_tour_frequency_is_1,Transit Access to Retail & Tour Frequency =1,trOpRetail * (tot_tours == 1),coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1 +util_transit_access_to_retail_and_tour_frequency_is_2,Transit Access to Retail & Tour Frequency =2,trOpRetail * (tot_tours == 2),coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2 +util_transit_access_to_retail_and_tour_frequency_is_3,Transit Access to Retail & Tour Frequency =3,trOpRetail * (tot_tours == 3),coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3 +util_transit_access_to_retail_and_tour_frequency_is_4,Transit Access to Retail & Tour Frequency =4,trOpRetail * (tot_tours == 4),coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4 +util_transit_access_to_retail_and_tour_frequency_is_5_plus,Transit Access to Retail & Tour Frequency =5+,trOpRetail * (tot_tours > 4),coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus +util_auto_access_to_retail_and_tour_frequency_is_1,Auto Access to Retail & Tour Frequency =1,auOpRetail * (tot_tours == 1),coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1 +util_auto_access_to_retail_and_tour_frequency_is_2,Auto Access to Retail & Tour Frequency =2,auOpRetail * (tot_tours == 2),coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2 +util_auto_access_to_retail_and_tour_frequency_is_3,Auto Access to Retail & Tour Frequency =3,auOpRetail * (tot_tours == 3),coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3 +util_auto_access_to_retail_and_tour_frequency_is_4,Auto Access to Retail & Tour Frequency =4,auOpRetail * (tot_tours == 4),coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4 +util_auto_access_to_retail_and_tour_frequency_is_5_plus,Auto Access to Retail & Tour Frequency =5+,auOpRetail * (tot_tours > 4),coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus +util_walk_access_to_retail_and_escorting,Walk Access to Retail & Escorting ,nmRetail * escort,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting +util_transit_access_to_retail_and_escorting,Transit Access to Retail & Escorting ,trOpRetail * escort,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting +util_auto_access_to_retail_and_escorting,Auto Access to Retail & Escorting ,auOpRetail * escort,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting +util_walk_access_to_retail_and_shopping,Walk Access to Retail & Shopping ,nmRetail * shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping +util_transit_access_to_retail_and_shopping,Transit Access to Retail & Shopping ,trOpRetail * shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping +util_auto_access_to_retail_and_shopping,Auto Access to Retail & Shopping ,auOpRetail * shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping +util_walk_access_to_retail_and_maintenance,Walk Access to Retail & Maintenance ,nmRetail * othmaint,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance +util_transit_access_to_retail_and_maintenance,Transit Access to Retail & Maintenance ,trOpRetail * othmaint,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance +util_auto_access_to_retail_and_maintenance,Auto Access to Retail & Maintenance ,auOpRetail * othmaint,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance +util_walk_access_to_retail_and_eating_out,Walk Access to Retail & Eating Out ,nmRetail * eatout,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out +util_transit_access_to_retail_and_eating_out,Transit Access to Retail & Eating Out ,trOpRetail * eatout,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out +util_auto_access_to_retail_and_eating_out,Auto Access to Retail & Eating Out ,auOpRetail * eatout,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out +util_walk_access_to_retail_and_discretionary,Walk Access to Retail & Discretionary ,nmRetail * othdiscr,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary +util_transit_access_to_retail_and_discretionary,Transit Access to Retail & Discretionary ,trOpRetail * othdiscr,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary +util_auto_access_to_retail_and_discretionary,Auto Access to Retail & Discretionary ,auOpRetail * othdiscr,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary +util_urban_and_tour_frequency_is_1,Urban Areatype & Tour Frequency =1,home_is_urban & (tot_tours == 1),coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1 +util_urban_and_tour_frequency_is_2,Urban Areatype & Tour Frequency =2,home_is_urban & (tot_tours == 2),coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2 +util_urban_and_tour_frequency_is_3,Urban Areatype & Tour Frequency =3,home_is_urban & (tot_tours == 3),coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3 +util_urban_and_tour_frequency_is_4,Urban Areatype & Tour Frequency =4,home_is_urban & (tot_tours == 4),coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4 +util_urban_and_tour_frequency_is_5_plus,Urban Areatype & Tour Frequency =5+,home_is_urban & (tot_tours > 4),coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus +util_urban_and_escorting_tour,Urban Areatype & Escorting tour,home_is_urban * escort,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour +util_urban_and_shopping_tour,Urban Areatype &Shopping tour,home_is_urban * shopping,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour +util_urban_and_maintenance_tour,Urban Areatype & Maintenance tour,home_is_urban * othmaint,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour +util_urban_and_eatingout_tour,Urban Areatype & EatingOut tour,home_is_urban * eatout,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour +util_urban_and_discretionary_tour,Urban Areatype & Discretionary tour,home_is_urban * othdiscr,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour +util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant +util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant +util_1_plus_shopping_tours_constant,1+ Shopping Tours Constant,shopping >= 1,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant +util_1_plus_maintenance_tours_constant,1+ Maintenance Tours Constant,othmaint >= 1,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant +util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,eatout >= 1,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant +util_1_plus_visting_tours_constant,1+ Visting Tours Constant,social >= 1,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant +util_1_plus_other_discretionary_tours_constant,1+ Other Discretionary Tours Constant,othdiscr >= 1,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant util_0_auto_household_and_escorting_tour,Dummy for 0-auto household & Escorting Tour,escort * no_cars,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency.yaml b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_frequency.yaml rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency.yaml diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_alternatives.csv old mode 100755 new mode 100644 similarity index 92% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_alternatives.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_alternatives.csv index 1c0052f963..b9765aa75a --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_alternatives.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_alternatives.csv @@ -1,97 +1,97 @@ -escort,shopping,othmaint,othdiscr,eatout,social -0,0,0,0,0,0 -0,0,0,1,0,0 -0,0,0,0,0,1 -0,0,0,1,0,1 -0,0,0,0,1,0 -0,0,0,1,1,0 -0,0,0,0,1,1 -0,0,0,1,1,1 -0,0,1,0,0,0 -0,0,1,1,0,0 -0,0,1,0,0,1 -0,0,1,1,0,1 -0,0,1,0,1,0 -0,0,1,1,1,0 -0,0,1,0,1,1 -0,0,1,1,1,1 -0,1,0,0,0,0 -0,1,0,1,0,0 -0,1,0,0,0,1 -0,1,0,1,0,1 -0,1,0,0,1,0 -0,1,0,1,1,0 -0,1,0,0,1,1 -0,1,0,1,1,1 -0,1,1,0,0,0 -0,1,1,1,0,0 -0,1,1,0,0,1 -0,1,1,1,0,1 -0,1,1,0,1,0 -0,1,1,1,1,0 -0,1,1,0,1,1 -0,1,1,1,1,1 -1,0,0,0,0,0 -1,0,0,1,0,0 -1,0,0,0,0,1 -1,0,0,1,0,1 -1,0,0,0,1,0 -1,0,0,1,1,0 -1,0,0,0,1,1 -1,0,0,1,1,1 -1,0,1,0,0,0 -1,0,1,1,0,0 -1,0,1,0,0,1 -1,0,1,1,0,1 -1,0,1,0,1,0 -1,0,1,1,1,0 -1,0,1,0,1,1 -1,0,1,1,1,1 -1,1,0,0,0,0 -1,1,0,1,0,0 -1,1,0,0,0,1 -1,1,0,1,0,1 -1,1,0,0,1,0 -1,1,0,1,1,0 -1,1,0,0,1,1 -1,1,0,1,1,1 -1,1,1,0,0,0 -1,1,1,1,0,0 -1,1,1,0,0,1 -1,1,1,1,0,1 -1,1,1,0,1,0 -1,1,1,1,1,0 -1,1,1,0,1,1 -1,1,1,1,1,1 -2,0,0,0,0,0 -2,0,0,1,0,0 -2,0,0,0,0,1 -2,0,0,1,0,1 -2,0,0,0,1,0 -2,0,0,1,1,0 -2,0,0,0,1,1 -2,0,0,1,1,1 -2,0,1,0,0,0 -2,0,1,1,0,0 -2,0,1,0,0,1 -2,0,1,1,0,1 -2,0,1,0,1,0 -2,0,1,1,1,0 -2,0,1,0,1,1 -2,0,1,1,1,1 -2,1,0,0,0,0 -2,1,0,1,0,0 -2,1,0,0,0,1 -2,1,0,1,0,1 -2,1,0,0,1,0 -2,1,0,1,1,0 -2,1,0,0,1,1 -2,1,0,1,1,1 -2,1,1,0,0,0 -2,1,1,1,0,0 -2,1,1,0,0,1 -2,1,1,1,0,1 -2,1,1,0,1,0 -2,1,1,1,1,0 -2,1,1,0,1,1 -2,1,1,1,1,1 +escort,shopping,othmaint,othdiscr,eatout,social +0,0,0,0,0,0 +0,0,0,1,0,0 +0,0,0,0,0,1 +0,0,0,1,0,1 +0,0,0,0,1,0 +0,0,0,1,1,0 +0,0,0,0,1,1 +0,0,0,1,1,1 +0,0,1,0,0,0 +0,0,1,1,0,0 +0,0,1,0,0,1 +0,0,1,1,0,1 +0,0,1,0,1,0 +0,0,1,1,1,0 +0,0,1,0,1,1 +0,0,1,1,1,1 +0,1,0,0,0,0 +0,1,0,1,0,0 +0,1,0,0,0,1 +0,1,0,1,0,1 +0,1,0,0,1,0 +0,1,0,1,1,0 +0,1,0,0,1,1 +0,1,0,1,1,1 +0,1,1,0,0,0 +0,1,1,1,0,0 +0,1,1,0,0,1 +0,1,1,1,0,1 +0,1,1,0,1,0 +0,1,1,1,1,0 +0,1,1,0,1,1 +0,1,1,1,1,1 +1,0,0,0,0,0 +1,0,0,1,0,0 +1,0,0,0,0,1 +1,0,0,1,0,1 +1,0,0,0,1,0 +1,0,0,1,1,0 +1,0,0,0,1,1 +1,0,0,1,1,1 +1,0,1,0,0,0 +1,0,1,1,0,0 +1,0,1,0,0,1 +1,0,1,1,0,1 +1,0,1,0,1,0 +1,0,1,1,1,0 +1,0,1,0,1,1 +1,0,1,1,1,1 +1,1,0,0,0,0 +1,1,0,1,0,0 +1,1,0,0,0,1 +1,1,0,1,0,1 +1,1,0,0,1,0 +1,1,0,1,1,0 +1,1,0,0,1,1 +1,1,0,1,1,1 +1,1,1,0,0,0 +1,1,1,1,0,0 +1,1,1,0,0,1 +1,1,1,1,0,1 +1,1,1,0,1,0 +1,1,1,1,1,0 +1,1,1,0,1,1 +1,1,1,1,1,1 +2,0,0,0,0,0 +2,0,0,1,0,0 +2,0,0,0,0,1 +2,0,0,1,0,1 +2,0,0,0,1,0 +2,0,0,1,1,0 +2,0,0,0,1,1 +2,0,0,1,1,1 +2,0,1,0,0,0 +2,0,1,1,0,0 +2,0,1,0,0,1 +2,0,1,1,0,1 +2,0,1,0,1,0 +2,0,1,1,1,0 +2,0,1,0,1,1 +2,0,1,1,1,1 +2,1,0,0,0,0 +2,1,0,1,0,0 +2,1,0,0,0,1 +2,1,0,1,0,1 +2,1,0,0,1,0 +2,1,0,1,1,0 +2,1,0,0,1,1 +2,1,0,1,1,1 +2,1,1,0,0,0 +2,1,1,1,0,0 +2,1,1,0,0,1 +2,1,1,1,0,1 +2,1,1,0,1,0 +2,1,1,1,1,0 +2,1,1,0,1,1 +2,1,1,1,1,1 diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv index af29a842b4..3b4cfe7326 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv @@ -1,21 +1,21 @@ -Description,Target,Expression -#,, -,max_window,person_max_window(persons) -,log_max_window,np.log1p(max_window) -,medium_low_income,(persons.income_in_thousands > 20) & (persons.income_in_thousands <= 50) -,medium_high_income,(persons.income_in_thousands > 50) & (persons.income_in_thousands <= 100) -,high_income,(persons.income_in_thousands > 100) -,no_cars,(persons.auto_ownership == 0) -,car_sufficiency,persons.auto_ownership-persons.num_workers -#,, -# UEC file comments says these are joint tour counts per persons but code is for household counts,, -,_JOINT_TOURS,tours[tours.tour_category=='joint'] -,num_hh_joint_tours,"reindex_i(_JOINT_TOURS.groupby('household_id').size(), persons.household_id)" -,num_hh_joint_shop_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='shopping'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_eatout_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='eatout'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_maint_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='maint'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_social_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='social'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_othdiscr_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='othdiscr'].groupby('household_id').size(), persons.household_id)" -# non_mandatory tour frequency extension,, -,has_mandatory_tour,(persons.num_mand > 0) * 1 -,has_joint_tour,(persons.num_joint_tours > 0) * 1 +Description,Target,Expression +#,, +,max_window,person_max_window(persons) +,log_max_window,np.log1p(max_window) +,medium_low_income,(persons.income_in_thousands > 20) & (persons.income_in_thousands <= 50) +,medium_high_income,(persons.income_in_thousands > 50) & (persons.income_in_thousands <= 100) +,high_income,(persons.income_in_thousands > 100) +,no_cars,(persons.auto_ownership == 0) +,car_sufficiency,persons.auto_ownership-persons.num_workers +#,, +# UEC file comments says these are joint tour counts per persons but code is for household counts,, +,_JOINT_TOURS,tours[tours.tour_category=='joint'] +,num_hh_joint_tours,"reindex_i(_JOINT_TOURS.groupby('household_id').size(), persons.household_id)" +,num_hh_joint_shop_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='shopping'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_eatout_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='eatout'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_maint_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='maint'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_social_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='social'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_othdiscr_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='othdiscr'].groupby('household_id').size(), persons.household_id)" +# non_mandatory tour frequency extension,, +,has_mandatory_tour,(persons.num_mand > 0) * 1 +,has_joint_tour,(persons.num_joint_tours > 0) * 1 diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv index 68b0882011..d24ffa777e --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_DRIVING.csv @@ -1,211 +1,211 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.1506,F -coef_total_number_of_tours_is_2,-11.1214,F -coef_total_number_of_tours_is_3,-13.175,F -coef_total_number_of_tours_is_4,-999,T -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.234,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.9231,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-6.5835,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,-0.2162,F -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3587,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-4.2701,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.3298,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.3759,F -coef_logged_maximum_residual_window_tour_frequency_is_3,3.2808,F -coef_logged_maximum_residual_window_tour_frequency_is_4,3.2808,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,3.2808,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T -coef_high_income_group_and_tour_frequency_is_1,0,T -coef_high_income_group_and_tour_frequency_is_2,0,T -coef_high_income_group_and_tour_frequency_is_3,0,T -coef_high_income_group_and_tour_frequency_is_4,0,T -coef_high_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_shopping_tour,0,T -coef_mediumhigh_income_group_and_shopping_tour,0.2443,F -coef_high_income_group_and_shopping_tour,0.2443,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0.3982,F -coef_high_income_group_and_maintenance_tour,0.3982,F -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0.4916,F -coef_high_income_group_and_eating_out_tour,0.4916,F -coef_mediumlow_income_group_and_discretionary_tour,0.9169,F -coef_mediumhigh_income_group_and_discretionary_tour,1.405,F -coef_high_income_group_and_discretionary_tour,2.327,F -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,0.2858,F -coef_high_income_group_and_visiting_tour,0.2858,F -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.6369,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.6369,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.6369,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.2902,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.0352,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.0352,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.0352,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.0352,F -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,-0.6571,F -coef_presence_of_non_worker_and_tour_frequency_is_3,-1.4044,F -coef_presence_of_non_worker_and_tour_frequency_is_4,-1.4044,F -coef_presence_of_non_worker_and_tour_frequency_is_5,-1.4044,F -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.3219,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-1.0874,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-1.0874,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-1.0874,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-1.0874,F -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_school_kid_and_escorting_tour,0,T -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,0,T -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,-0.6377,F -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,-1.5698,F -coef_presence_of_pre_school_kid_and_eating_out_tour,-0.2987,F -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0,T -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,0,T -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,-1.2834,F -coef_presence_of_driving_school_kid_and_discretionary_tour,-0.9202,F -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_2,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_3,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_4,0.1004,F -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0.1004,F -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,1.0394,F -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.4934,F -coef_2_plus_escort_tours_constant,1.4155,F -coef_1_plus_shopping_tours_constant,0.532,F -coef_1_plus_maintenance_tours_constant,-0.4344,F -coef_1_plus_eating_out_tours_constant,-0.0242,F -coef_1_plus_visting_tours_constant,0.2367,F -coef_1_plus_other_discretionary_tours_constant,-0.2602,F +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.1506,F +coef_total_number_of_tours_is_2,-11.1214,F +coef_total_number_of_tours_is_3,-13.175,F +coef_total_number_of_tours_is_4,-999,T +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.234,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.9231,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-6.5835,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.2162,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3587,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-4.2701,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.3298,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.3759,F +coef_logged_maximum_residual_window_tour_frequency_is_3,3.2808,F +coef_logged_maximum_residual_window_tour_frequency_is_4,3.2808,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,3.2808,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0.2443,F +coef_high_income_group_and_shopping_tour,0.2443,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0.3982,F +coef_high_income_group_and_maintenance_tour,0.3982,F +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0.4916,F +coef_high_income_group_and_eating_out_tour,0.4916,F +coef_mediumlow_income_group_and_discretionary_tour,0.9169,F +coef_mediumhigh_income_group_and_discretionary_tour,1.405,F +coef_high_income_group_and_discretionary_tour,2.327,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0.2858,F +coef_high_income_group_and_visiting_tour,0.2858,F +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.6369,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.2902,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.0352,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,-0.6571,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.4044,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.4044,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.4044,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.3219,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-1.0874,F +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,0,T +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,-0.6377,F +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,-1.5698,F +coef_presence_of_pre_school_kid_and_eating_out_tour,-0.2987,F +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,-1.2834,F +coef_presence_of_driving_school_kid_and_discretionary_tour,-0.9202,F +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_2,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_3,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_4,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0.1004,F +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,1.0394,F +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.4934,F +coef_2_plus_escort_tours_constant,1.4155,F +coef_1_plus_shopping_tours_constant,0.532,F +coef_1_plus_maintenance_tours_constant,-0.4344,F +coef_1_plus_eating_out_tours_constant,-0.0242,F +coef_1_plus_visting_tours_constant,0.2367,F +coef_1_plus_other_discretionary_tours_constant,-0.2602,F coef_0_auto_household_and_escorting_tour,-2, \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv index 6b9d8d7622..1c1d5221bd --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_FULL.csv @@ -1,211 +1,211 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.3572,F -coef_total_number_of_tours_is_2,-10.647,F -coef_total_number_of_tours_is_3,-13.5005,F -coef_total_number_of_tours_is_4,-16.3965,F -coef_total_number_of_tours_is_5,-19.6843,F -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8887,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.3343,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.3343,F -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.3343,F -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,0,T -coef_number_of_joint_tours_and_tour_frequency_is_3,0,T -coef_number_of_joint_tours_and_tour_frequency_is_4,0,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,-0.5866,F -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.2562,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.2868,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.3993,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.3993,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.3993,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0.4981,F -coef_mediumlow_income_group_and_tour_frequency_is_2,0.8345,F -coef_mediumlow_income_group_and_tour_frequency_is_3,1.0213,F -coef_mediumlow_income_group_and_tour_frequency_is_4,1.0213,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0213,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.4981,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8345,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0213,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0213,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0213,F -coef_high_income_group_and_tour_frequency_is_1,0.5189,F -coef_high_income_group_and_tour_frequency_is_2,1.1336,F -coef_high_income_group_and_tour_frequency_is_3,1.3899,F -coef_high_income_group_and_tour_frequency_is_4,1.3899,F -coef_high_income_group_and_tour_frequency_is_5_plus,1.3899,F -coef_mediumlow_income_group_and_shopping_tour,0,T -coef_mediumhigh_income_group_and_shopping_tour,0,T -coef_high_income_group_and_shopping_tour,0,T -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0.5581,F -coef_high_income_group_and_eating_out_tour,0.5581,F -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0.2565,F -coef_high_income_group_and_discretionary_tour,0.2565,F -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,-0.2423,F -coef_high_income_group_and_visiting_tour,-0.2423,F -coef_female_and_tour_frequency_is_1,-0.0766,F -coef_female_and_tour_frequency_is_2,-0.1062,F -coef_female_and_tour_frequency_is_3,-0.3274,F -coef_female_and_tour_frequency_is_4,-0.3274,F -coef_female_and_tour_frequency_is_5,-0.3274,F -coef_female_and_escorting_tour,0.1824,F -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.3486,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.3486,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.1304,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.1304,F -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,0,T -coef_presence_of_non_worker_and_tour_frequency_is_3,0,T -coef_presence_of_non_worker_and_tour_frequency_is_4,0,T -coef_presence_of_non_worker_and_tour_frequency_is_5,0,T -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,-0.4815,F -coef_presence_of_retiree_and_escorting_tour,-0.808,F -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0.3601,F -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3974,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.6842,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,-0.2746,F -coef_at_home_pre_school_kid_and_escorting_tour,-1.5675,F -coef_presence_of_full_time_worker_and_shopping_tour,-0.3059,F -coef_presence_of_part_time_worker_and_shopping_tour,-0.1541,F -coef_presence_of_non_worker_and_shopping_tour,-0.416,F -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,-0.208,F -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,-0.1685,F -coef_presence_of_part_time_worker_and_maintenance_tour,-0.1584,F -coef_presence_of_non_worker_and_maintenance_tour,-0.3237,F -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.3571,F -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-0.2014,F -coef_presence_of_retiree_and_eating_out_tour,-0.5708,F -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,-0.4225,F -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,-0.667,F -coef_presence_of_part_time_worker_and_discretionary_tour,-0.2102,F -coef_presence_of_non_worker_and_discretionary_tour,-0.4281,F -coef_presence_of_retiree_and_discretionary_tour,-0.9104,F -coef_presence_of_university_student_and_discretionary_tour,-0.8551,F -coef_presence_of_driving_school_kid_and_discretionary_tour,-0.3963,F -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,-0.3959,F -coef_presence_of_pre_school_kid_and_discretionary_tour,-0.5081,F -coef_at_home_pre_driving_school_kid_and_discretionary_tour,-0.4703,F -coef_at_home_pre_school_kid_and_discretionary_tour,-0.4703,F -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_2,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_3,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_4,0.0226,F -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0226,F -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0.0451,F -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0.033,F -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0.1067,F -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0.0749,F -coef_walk_access_to_retail_and_eating_out,0.145,F -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0.0567,F -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0.0844,F -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,-0.4316,F -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,0.0298,F -coef_2_plus_escort_tours_constant,0.7402,F -coef_1_plus_shopping_tours_constant,0.4774,F -coef_1_plus_maintenance_tours_constant,0.1202,F -coef_1_plus_eating_out_tours_constant,0.0097,F -coef_1_plus_visting_tours_constant,0.0522,F -coef_1_plus_other_discretionary_tours_constant,0.7412,F +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.3572,F +coef_total_number_of_tours_is_2,-10.647,F +coef_total_number_of_tours_is_3,-13.5005,F +coef_total_number_of_tours_is_4,-16.3965,F +coef_total_number_of_tours_is_5,-19.6843,F +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8887,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.3343,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.3343,F +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.3343,F +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,0,T +coef_number_of_joint_tours_and_tour_frequency_is_3,0,T +coef_number_of_joint_tours_and_tour_frequency_is_4,0,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,-0.5866,F +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.2562,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.2868,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.3993,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.3993,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.3993,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.4981,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.8345,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.0213,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.0213,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.4981,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8345,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0213,F +coef_high_income_group_and_tour_frequency_is_1,0.5189,F +coef_high_income_group_and_tour_frequency_is_2,1.1336,F +coef_high_income_group_and_tour_frequency_is_3,1.3899,F +coef_high_income_group_and_tour_frequency_is_4,1.3899,F +coef_high_income_group_and_tour_frequency_is_5_plus,1.3899,F +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0,T +coef_high_income_group_and_shopping_tour,0,T +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0.5581,F +coef_high_income_group_and_eating_out_tour,0.5581,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0.2565,F +coef_high_income_group_and_discretionary_tour,0.2565,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.2423,F +coef_high_income_group_and_visiting_tour,-0.2423,F +coef_female_and_tour_frequency_is_1,-0.0766,F +coef_female_and_tour_frequency_is_2,-0.1062,F +coef_female_and_tour_frequency_is_3,-0.3274,F +coef_female_and_tour_frequency_is_4,-0.3274,F +coef_female_and_tour_frequency_is_5,-0.3274,F +coef_female_and_escorting_tour,0.1824,F +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.3486,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.1304,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,-0.4815,F +coef_presence_of_retiree_and_escorting_tour,-0.808,F +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0.3601,F +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3974,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.6842,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,-0.2746,F +coef_at_home_pre_school_kid_and_escorting_tour,-1.5675,F +coef_presence_of_full_time_worker_and_shopping_tour,-0.3059,F +coef_presence_of_part_time_worker_and_shopping_tour,-0.1541,F +coef_presence_of_non_worker_and_shopping_tour,-0.416,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,-0.208,F +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,-0.1685,F +coef_presence_of_part_time_worker_and_maintenance_tour,-0.1584,F +coef_presence_of_non_worker_and_maintenance_tour,-0.3237,F +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.3571,F +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.2014,F +coef_presence_of_retiree_and_eating_out_tour,-0.5708,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,-0.4225,F +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.667,F +coef_presence_of_part_time_worker_and_discretionary_tour,-0.2102,F +coef_presence_of_non_worker_and_discretionary_tour,-0.4281,F +coef_presence_of_retiree_and_discretionary_tour,-0.9104,F +coef_presence_of_university_student_and_discretionary_tour,-0.8551,F +coef_presence_of_driving_school_kid_and_discretionary_tour,-0.3963,F +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,-0.3959,F +coef_presence_of_pre_school_kid_and_discretionary_tour,-0.5081,F +coef_at_home_pre_driving_school_kid_and_discretionary_tour,-0.4703,F +coef_at_home_pre_school_kid_and_discretionary_tour,-0.4703,F +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_2,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_3,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_4,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0226,F +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0.0451,F +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.033,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0.1067,F +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0.0749,F +coef_walk_access_to_retail_and_eating_out,0.145,F +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0.0567,F +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0.0844,F +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,-0.4316,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.0298,F +coef_2_plus_escort_tours_constant,0.7402,F +coef_1_plus_shopping_tours_constant,0.4774,F +coef_1_plus_maintenance_tours_constant,0.1202,F +coef_1_plus_eating_out_tours_constant,0.0097,F +coef_1_plus_visting_tours_constant,0.0522,F +coef_1_plus_other_discretionary_tours_constant,0.7412,F coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv index 86b81420d1..3fe9f45ae5 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_NONWORK.csv @@ -1,211 +1,211 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-8.9791,F -coef_total_number_of_tours_is_2,-12.0248,F -coef_total_number_of_tours_is_3,-14.8516,F -coef_total_number_of_tours_is_4,-17.7037,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.6766,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.0518,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.0518,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,-0.1699,F -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.4285,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-0.6551,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-1.0411,F -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-1.0411,F -coef_number_of_joint_shopping_tours,-0.2391,F -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,-0.7727,F -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.7637,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.7928,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.7928,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.7928,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.7928,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0.5709,F -coef_mediumlow_income_group_and_tour_frequency_is_2,0.8315,F -coef_mediumlow_income_group_and_tour_frequency_is_3,0.8315,F -coef_mediumlow_income_group_and_tour_frequency_is_4,0.8315,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0.8315,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.7426,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8546,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0792,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0792,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0792,F -coef_high_income_group_and_tour_frequency_is_1,1.0633,F -coef_high_income_group_and_tour_frequency_is_2,1.0633,F -coef_high_income_group_and_tour_frequency_is_3,1.7742,F -coef_high_income_group_and_tour_frequency_is_4,2.3941,F -coef_high_income_group_and_tour_frequency_is_5_plus,2.3941,F -coef_mediumlow_income_group_and_shopping_tour,0.7734,F -coef_mediumhigh_income_group_and_shopping_tour,0.8906,F -coef_high_income_group_and_shopping_tour,0.9776,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0.2766,F -coef_mediumhigh_income_group_and_eating_out_tour,0.4631,F -coef_high_income_group_and_eating_out_tour,0.7086,F -coef_mediumlow_income_group_and_discretionary_tour,0.1707,F -coef_mediumhigh_income_group_and_discretionary_tour,0.5009,F -coef_high_income_group_and_discretionary_tour,0.8846,F -coef_mediumlow_income_group_and_visiting_tour,-0.267,F -coef_mediumhigh_income_group_and_visiting_tour,-0.267,F -coef_high_income_group_and_visiting_tour,-0.9449,F -coef_female_and_tour_frequency_is_1,0.3902,F -coef_female_and_tour_frequency_is_2,0.5323,F -coef_female_and_tour_frequency_is_3,0.7452,F -coef_female_and_tour_frequency_is_4,1.1294,F -coef_female_and_tour_frequency_is_5,1.1294,F -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,-0.2464,F -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,-0.3623,F -coef_zero_car_ownership_and_tour_frequency_is_2,-1.272,F -coef_zero_car_ownership_and_tour_frequency_is_3,-1.9307,F -coef_zero_car_ownership_and_tour_frequency_is_4,-1.9307,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-1.9307,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.3623,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-1.272,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-1.9307,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-1.9307,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-1.9307,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.7738,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.7738,F -coef_presence_of_non_worker_and_tour_frequency_is_1,-0.3763,F -coef_presence_of_non_worker_and_tour_frequency_is_2,-0.719,F -coef_presence_of_non_worker_and_tour_frequency_is_3,-1.0229,F -coef_presence_of_non_worker_and_tour_frequency_is_4,-1.0229,F -coef_presence_of_non_worker_and_tour_frequency_is_5,-1.0229,F -coef_presence_of_retiree_and_tour_frequency_is_1,-0.464,F -coef_presence_of_retiree_and_tour_frequency_is_2,-0.4795,F -coef_presence_of_retiree_and_tour_frequency_is_3,-0.4795,F -coef_presence_of_retiree_and_tour_frequency_is_4,-0.4795,F -coef_presence_of_retiree_and_tour_frequency_is_5,-0.4795,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.7161,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.7161,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0.1486,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0.484,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0.484,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0.484,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0.484,F -coef_presence_of_full_time_worker_and_escorting_tour,0.3947,F -coef_presence_of_part_time_worker_and_escorting_tour,-0.5861,F -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3773,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.7194,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,-1.148,F -coef_at_home_pre_school_kid_and_escorting_tour,-0.1373,F -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.4667,F -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-0.4976,F -coef_presence_of_retiree_and_eating_out_tour,-0.6911,F -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,-0.3926,F -coef_at_home_pre_school_kid_and_eating_out_tour,-0.3926,F -coef_presence_of_full_time_worker_and_discretionary_tour,-0.3545,F -coef_presence_of_part_time_worker_and_discretionary_tour,-0.3545,F -coef_presence_of_non_worker_and_discretionary_tour,0,T -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0.0713,F -coef_walk_access_to_retail_and_tour_frequency_is_2,0.1256,F -coef_walk_access_to_retail_and_tour_frequency_is_3,0.1508,F -coef_walk_access_to_retail_and_tour_frequency_is_4,0.1508,F -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.1508,F -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0.0598,F -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0.0956,F -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0.0772,F -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.0629,F -coef_2_plus_escort_tours_constant,0.9273,F -coef_1_plus_shopping_tours_constant,0.4683,F -coef_1_plus_maintenance_tours_constant,-0.0653,F -coef_1_plus_eating_out_tours_constant,-0.1429,F -coef_1_plus_visting_tours_constant,-0.1272,F -coef_1_plus_other_discretionary_tours_constant,0.3334,F +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-8.9791,F +coef_total_number_of_tours_is_2,-12.0248,F +coef_total_number_of_tours_is_3,-14.8516,F +coef_total_number_of_tours_is_4,-17.7037,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.6766,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.0518,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.0518,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.1699,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.4285,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-0.6551,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-1.0411,F +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-1.0411,F +coef_number_of_joint_shopping_tours,-0.2391,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,-0.7727,F +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.7637,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.7928,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.5709,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_3,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_4,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0.8315,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.7426,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8546,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0792,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0792,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0792,F +coef_high_income_group_and_tour_frequency_is_1,1.0633,F +coef_high_income_group_and_tour_frequency_is_2,1.0633,F +coef_high_income_group_and_tour_frequency_is_3,1.7742,F +coef_high_income_group_and_tour_frequency_is_4,2.3941,F +coef_high_income_group_and_tour_frequency_is_5_plus,2.3941,F +coef_mediumlow_income_group_and_shopping_tour,0.7734,F +coef_mediumhigh_income_group_and_shopping_tour,0.8906,F +coef_high_income_group_and_shopping_tour,0.9776,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0.2766,F +coef_mediumhigh_income_group_and_eating_out_tour,0.4631,F +coef_high_income_group_and_eating_out_tour,0.7086,F +coef_mediumlow_income_group_and_discretionary_tour,0.1707,F +coef_mediumhigh_income_group_and_discretionary_tour,0.5009,F +coef_high_income_group_and_discretionary_tour,0.8846,F +coef_mediumlow_income_group_and_visiting_tour,-0.267,F +coef_mediumhigh_income_group_and_visiting_tour,-0.267,F +coef_high_income_group_and_visiting_tour,-0.9449,F +coef_female_and_tour_frequency_is_1,0.3902,F +coef_female_and_tour_frequency_is_2,0.5323,F +coef_female_and_tour_frequency_is_3,0.7452,F +coef_female_and_tour_frequency_is_4,1.1294,F +coef_female_and_tour_frequency_is_5,1.1294,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,-0.2464,F +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.3623,F +coef_zero_car_ownership_and_tour_frequency_is_2,-1.272,F +coef_zero_car_ownership_and_tour_frequency_is_3,-1.9307,F +coef_zero_car_ownership_and_tour_frequency_is_4,-1.9307,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.3623,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-1.272,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-1.9307,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.7738,F +coef_presence_of_non_worker_and_tour_frequency_is_1,-0.3763,F +coef_presence_of_non_worker_and_tour_frequency_is_2,-0.719,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.0229,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.0229,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.0229,F +coef_presence_of_retiree_and_tour_frequency_is_1,-0.464,F +coef_presence_of_retiree_and_tour_frequency_is_2,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_3,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_4,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_5,-0.4795,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.7161,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0.1486,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0.484,F +coef_presence_of_full_time_worker_and_escorting_tour,0.3947,F +coef_presence_of_part_time_worker_and_escorting_tour,-0.5861,F +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3773,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.7194,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,-1.148,F +coef_at_home_pre_school_kid_and_escorting_tour,-0.1373,F +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.4667,F +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.4976,F +coef_presence_of_retiree_and_eating_out_tour,-0.6911,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,-0.3926,F +coef_at_home_pre_school_kid_and_eating_out_tour,-0.3926,F +coef_presence_of_full_time_worker_and_discretionary_tour,-0.3545,F +coef_presence_of_part_time_worker_and_discretionary_tour,-0.3545,F +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0713,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.1256,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.1508,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.1508,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.1508,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.0598,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0.0956,F +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0.0772,F +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.0629,F +coef_2_plus_escort_tours_constant,0.9273,F +coef_1_plus_shopping_tours_constant,0.4683,F +coef_1_plus_maintenance_tours_constant,-0.0653,F +coef_1_plus_eating_out_tours_constant,-0.1429,F +coef_1_plus_visting_tours_constant,-0.1272,F +coef_1_plus_other_discretionary_tours_constant,0.3334,F coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv index c015b2108f..18f2e3b888 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PART.csv @@ -1,211 +1,211 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.6391,F -coef_total_number_of_tours_is_2,-10.4557,F -coef_total_number_of_tours_is_3,-14.0176,F -coef_total_number_of_tours_is_4,-16.9717,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.239,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.8208,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.5923,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.5923,F -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.5923,F -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,-1.1986,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-1.1986,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-1.1986,F -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.5748,F -coef_logged_maximum_residual_window_tour_frequency_is_2,2.0026,F -coef_logged_maximum_residual_window_tour_frequency_is_3,2.0026,F -coef_logged_maximum_residual_window_tour_frequency_is_4,2.0026,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,2.0026,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0.5981,F -coef_mediumlow_income_group_and_tour_frequency_is_2,0.9178,F -coef_mediumlow_income_group_and_tour_frequency_is_3,1.7539,F -coef_mediumlow_income_group_and_tour_frequency_is_4,1.7539,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.7539,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.8682,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5362,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.9331,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.9331,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.9331,F -coef_high_income_group_and_tour_frequency_is_1,0.8682,F -coef_high_income_group_and_tour_frequency_is_2,1.5362,F -coef_high_income_group_and_tour_frequency_is_3,1.9331,F -coef_high_income_group_and_tour_frequency_is_4,1.9331,F -coef_high_income_group_and_tour_frequency_is_5_plus,1.9331,F -coef_mediumlow_income_group_and_shopping_tour,0.4421,F -coef_mediumhigh_income_group_and_shopping_tour,0.4421,F -coef_high_income_group_and_shopping_tour,0.7066,F -coef_mediumlow_income_group_and_maintenance_tour,0.6763,F -coef_mediumhigh_income_group_and_maintenance_tour,0.6763,F -coef_high_income_group_and_maintenance_tour,0.6763,F -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0,T -coef_high_income_group_and_eating_out_tour,0,T -coef_mediumlow_income_group_and_discretionary_tour,0.296,F -coef_mediumhigh_income_group_and_discretionary_tour,0.296,F -coef_high_income_group_and_discretionary_tour,0.296,F -coef_mediumlow_income_group_and_visiting_tour,-0.6868,F -coef_mediumhigh_income_group_and_visiting_tour,-0.6868,F -coef_high_income_group_and_visiting_tour,-0.6868,F -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0.4524,F -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0.3072,F -coef_zero_car_ownership_and_tour_frequency_is_1,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.5498,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.5498,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.5498,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,0,T -coef_presence_of_non_worker_and_tour_frequency_is_3,0,T -coef_presence_of_non_worker_and_tour_frequency_is_4,0,T -coef_presence_of_non_worker_and_tour_frequency_is_5,0,T -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.1559,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.5681,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.5681,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.5681,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.5681,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,-0.5263,F -coef_presence_of_retiree_and_escorting_tour,-0.7516,F -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0.4164,F -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.5795,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.5414,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,-0.3131,F -coef_presence_of_part_time_worker_and_maintenance_tour,-0.5621,F -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-0.6545,F -coef_presence_of_retiree_and_eating_out_tour,-1.389,F -coef_presence_of_university_student_and_eating_out_tour,-1.4318,F -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0,T -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,-1.0371,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0.0899,F -coef_walk_access_to_retail_and_tour_frequency_is_2,0.1447,F -coef_walk_access_to_retail_and_tour_frequency_is_3,0.3479,F -coef_walk_access_to_retail_and_tour_frequency_is_4,0.3479,F -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.3479,F -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,-0.3929,F -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,0.5272,F -coef_2_plus_escort_tours_constant,1.5987,F -coef_1_plus_shopping_tours_constant,0.7569,F -coef_1_plus_maintenance_tours_constant,0.5533,F -coef_1_plus_eating_out_tours_constant,0.6914,F -coef_1_plus_visting_tours_constant,0.1405,F -coef_1_plus_other_discretionary_tours_constant,0.7989,F +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.6391,F +coef_total_number_of_tours_is_2,-10.4557,F +coef_total_number_of_tours_is_3,-14.0176,F +coef_total_number_of_tours_is_4,-16.9717,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.239,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.8208,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.5923,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.5923,F +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.5923,F +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.5748,F +coef_logged_maximum_residual_window_tour_frequency_is_2,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_3,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_4,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,2.0026,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.5981,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.9178,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.7539,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.7539,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.7539,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.8682,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5362,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.9331,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.9331,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.9331,F +coef_high_income_group_and_tour_frequency_is_1,0.8682,F +coef_high_income_group_and_tour_frequency_is_2,1.5362,F +coef_high_income_group_and_tour_frequency_is_3,1.9331,F +coef_high_income_group_and_tour_frequency_is_4,1.9331,F +coef_high_income_group_and_tour_frequency_is_5_plus,1.9331,F +coef_mediumlow_income_group_and_shopping_tour,0.4421,F +coef_mediumhigh_income_group_and_shopping_tour,0.4421,F +coef_high_income_group_and_shopping_tour,0.7066,F +coef_mediumlow_income_group_and_maintenance_tour,0.6763,F +coef_mediumhigh_income_group_and_maintenance_tour,0.6763,F +coef_high_income_group_and_maintenance_tour,0.6763,F +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0,T +coef_high_income_group_and_eating_out_tour,0,T +coef_mediumlow_income_group_and_discretionary_tour,0.296,F +coef_mediumhigh_income_group_and_discretionary_tour,0.296,F +coef_high_income_group_and_discretionary_tour,0.296,F +coef_mediumlow_income_group_and_visiting_tour,-0.6868,F +coef_mediumhigh_income_group_and_visiting_tour,-0.6868,F +coef_high_income_group_and_visiting_tour,-0.6868,F +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0.4524,F +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0.3072,F +coef_zero_car_ownership_and_tour_frequency_is_1,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.5498,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.1559,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.5681,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,-0.5263,F +coef_presence_of_retiree_and_escorting_tour,-0.7516,F +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0.4164,F +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.5795,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.5414,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,-0.3131,F +coef_presence_of_part_time_worker_and_maintenance_tour,-0.5621,F +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.6545,F +coef_presence_of_retiree_and_eating_out_tour,-1.389,F +coef_presence_of_university_student_and_eating_out_tour,-1.4318,F +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,-1.0371,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0899,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.1447,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.3479,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.3479,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.3479,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,-0.3929,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.5272,F +coef_2_plus_escort_tours_constant,1.5987,F +coef_1_plus_shopping_tours_constant,0.7569,F +coef_1_plus_maintenance_tours_constant,0.5533,F +coef_1_plus_eating_out_tours_constant,0.6914,F +coef_1_plus_visting_tours_constant,0.1405,F +coef_1_plus_other_discretionary_tours_constant,0.7989,F coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv index 3085ba2cb0..7514ed50a1 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_PRESCHOOL.csv @@ -1,211 +1,211 @@ -coefficient_name,value,constrain -coef_escorting_tour,2.491,F -coef_discretionary_tour,0.903,F -coef_shopping_tour,0,T -coef_maintenance_tour,1.022,F -coef_visiting_or_social_tour,0.769,F -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-5.759,F -coef_total_number_of_tours_is_2,-11.517,F -coef_total_number_of_tours_is_3,-17.276,F -coef_total_number_of_tours_is_4,-23.035,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_2,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_3,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_4,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,0,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,0,T -coef_number_of_joint_tours_and_tour_frequency_is_3,0,T -coef_number_of_joint_tours_and_tour_frequency_is_4,0,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,0,T -coef_logged_maximum_residual_window_tour_frequency_is_2,0,T -coef_logged_maximum_residual_window_tour_frequency_is_3,0,T -coef_logged_maximum_residual_window_tour_frequency_is_4,0,T -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T -coef_high_income_group_and_tour_frequency_is_1,0,T -coef_high_income_group_and_tour_frequency_is_2,0,T -coef_high_income_group_and_tour_frequency_is_3,0,T -coef_high_income_group_and_tour_frequency_is_4,0,T -coef_high_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_shopping_tour,0,T -coef_mediumhigh_income_group_and_shopping_tour,0,T -coef_high_income_group_and_shopping_tour,0,T -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,0,T -coef_high_income_group_and_eating_out_tour,0,T -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0,T -coef_high_income_group_and_discretionary_tour,0,T -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,0,T -coef_high_income_group_and_visiting_tour,0,T -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,0,T -coef_zero_car_ownership_and_tour_frequency_is_2,0,T -coef_zero_car_ownership_and_tour_frequency_is_3,0,T -coef_zero_car_ownership_and_tour_frequency_is_4,0,T -coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,0,T -coef_presence_of_non_worker_and_tour_frequency_is_2,0,T -coef_presence_of_non_worker_and_tour_frequency_is_3,0,T -coef_presence_of_non_worker_and_tour_frequency_is_4,0,T -coef_presence_of_non_worker_and_tour_frequency_is_5,0,T -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,-0.893,F -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0.89,F -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_school_kid_and_escorting_tour,0,T -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,1.155,F -coef_presence_of_non_worker_and_shopping_tour,0.808,F -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,1.037,F -coef_presence_of_non_worker_and_eating_out_tour,1.157,F -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0,T -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,0.791,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,0.3622,F -coef_2_plus_escort_tours_constant,2.2219,F -coef_1_plus_shopping_tours_constant,1.6919,F -coef_1_plus_maintenance_tours_constant,0.6788,F -coef_1_plus_eating_out_tours_constant,0.9612,F -coef_1_plus_visting_tours_constant,0.4424,F -coef_1_plus_other_discretionary_tours_constant,1.4935,F +coefficient_name,value,constrain +coef_escorting_tour,2.491,F +coef_discretionary_tour,0.903,F +coef_shopping_tour,0,T +coef_maintenance_tour,1.022,F +coef_visiting_or_social_tour,0.769,F +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-5.759,F +coef_total_number_of_tours_is_2,-11.517,F +coef_total_number_of_tours_is_3,-17.276,F +coef_total_number_of_tours_is_4,-23.035,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_3,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_4,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,0,T +coef_number_of_joint_tours_and_tour_frequency_is_3,0,T +coef_number_of_joint_tours_and_tour_frequency_is_4,0,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,0,T +coef_logged_maximum_residual_window_tour_frequency_is_2,0,T +coef_logged_maximum_residual_window_tour_frequency_is_3,0,T +coef_logged_maximum_residual_window_tour_frequency_is_4,0,T +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0,T +coef_high_income_group_and_shopping_tour,0,T +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0,T +coef_high_income_group_and_eating_out_tour,0,T +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0,T +coef_high_income_group_and_visiting_tour,0,T +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,-0.893,F +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0.89,F +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,1.155,F +coef_presence_of_non_worker_and_shopping_tour,0.808,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,1.037,F +coef_presence_of_non_worker_and_eating_out_tour,1.157,F +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0.791,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.3622,F +coef_2_plus_escort_tours_constant,2.2219,F +coef_1_plus_shopping_tours_constant,1.6919,F +coef_1_plus_maintenance_tours_constant,0.6788,F +coef_1_plus_eating_out_tours_constant,0.9612,F +coef_1_plus_visting_tours_constant,0.4424,F +coef_1_plus_other_discretionary_tours_constant,1.4935,F coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv index ea64f3ca34..dc76652a0b --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_RETIRED.csv @@ -1,211 +1,211 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-8.5684,F -coef_total_number_of_tours_is_2,-12.7416,F -coef_total_number_of_tours_is_3,-15.0978,F -coef_total_number_of_tours_is_4,-19.5439,F -coef_total_number_of_tours_is_5,-20.7897,F -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-5.0196,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-5.0196,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.95,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-7.143,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,-0.8072,F -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.8357,F -coef_logged_maximum_residual_window_tour_frequency_is_2,2.2707,F -coef_logged_maximum_residual_window_tour_frequency_is_3,4.4023,F -coef_logged_maximum_residual_window_tour_frequency_is_4,4.4023,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,4.4023,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T -coef_high_income_group_and_tour_frequency_is_1,0,T -coef_high_income_group_and_tour_frequency_is_2,0,T -coef_high_income_group_and_tour_frequency_is_3,0,T -coef_high_income_group_and_tour_frequency_is_4,0,T -coef_high_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumlow_income_group_and_shopping_tour,1.0949,F -coef_mediumhigh_income_group_and_shopping_tour,1.0949,F -coef_high_income_group_and_shopping_tour,1.0949,F -coef_mediumlow_income_group_and_maintenance_tour,0.7648,F -coef_mediumhigh_income_group_and_maintenance_tour,0.7648,F -coef_high_income_group_and_maintenance_tour,1.3795,F -coef_mediumlow_income_group_and_eating_out_tour,0.9769,F -coef_mediumhigh_income_group_and_eating_out_tour,1.181,F -coef_high_income_group_and_eating_out_tour,1.4842,F -coef_mediumlow_income_group_and_discretionary_tour,1.0095,F -coef_mediumhigh_income_group_and_discretionary_tour,1.0095,F -coef_high_income_group_and_discretionary_tour,1.0095,F -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,-0.4368,F -coef_high_income_group_and_visiting_tour,-0.5137,F -coef_female_and_tour_frequency_is_1,-0.9348,F -coef_female_and_tour_frequency_is_2,-1.3028,F -coef_female_and_tour_frequency_is_3,-2.266,F -coef_female_and_tour_frequency_is_4,-2.266,F -coef_female_and_tour_frequency_is_5,-2.266,F -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0.9688,F -coef_female_and_maintenance_tour,0.7424,F -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0.4954,F -coef_zero_car_ownership_and_tour_frequency_is_1,0,T -coef_zero_car_ownership_and_tour_frequency_is_2,0,T -coef_zero_car_ownership_and_tour_frequency_is_3,0,T -coef_zero_car_ownership_and_tour_frequency_is_4,0,T -coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7965,F -coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.1302,F -coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.1302,F -coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.1302,F -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.1302,F -coef_presence_of_non_worker_and_tour_frequency_is_1,0.224,F -coef_presence_of_non_worker_and_tour_frequency_is_2,0.2436,F -coef_presence_of_non_worker_and_tour_frequency_is_3,0.62,F -coef_presence_of_non_worker_and_tour_frequency_is_4,3.3742,F -coef_presence_of_non_worker_and_tour_frequency_is_5,3.3742,F -coef_presence_of_retiree_and_tour_frequency_is_1,-0.4458,F -coef_presence_of_retiree_and_tour_frequency_is_2,-0.5315,F -coef_presence_of_retiree_and_tour_frequency_is_3,-0.5315,F -coef_presence_of_retiree_and_tour_frequency_is_4,-0.5315,F -coef_presence_of_retiree_and_tour_frequency_is_5,-0.5315,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.4903,F -coef_presence_of_pre_school_kid_and_escorting_tour,0.5027,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,-0.3609,F -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.788,F -coef_presence_of_part_time_worker_and_eating_out_tour,-0.788,F -coef_presence_of_non_worker_and_eating_out_tour,-0.788,F -coef_presence_of_retiree_and_eating_out_tour,-0.9282,F -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,-0.4835,F -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,-0.5603,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_2,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_3,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_4,0.0616,F -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.0616,F -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0,T -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.3992,F -coef_2_plus_escort_tours_constant,0.5175,F -coef_1_plus_shopping_tours_constant,0.5947,F -coef_1_plus_maintenance_tours_constant,0.1046,F -coef_1_plus_eating_out_tours_constant,0.0245,F -coef_1_plus_visting_tours_constant,0.2789,F -coef_1_plus_other_discretionary_tours_constant,0.4282,F +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-8.5684,F +coef_total_number_of_tours_is_2,-12.7416,F +coef_total_number_of_tours_is_3,-15.0978,F +coef_total_number_of_tours_is_4,-19.5439,F +coef_total_number_of_tours_is_5,-20.7897,F +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-5.0196,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-5.0196,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.95,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-7.143,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,-0.8072,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.8357,F +coef_logged_maximum_residual_window_tour_frequency_is_2,2.2707,F +coef_logged_maximum_residual_window_tour_frequency_is_3,4.4023,F +coef_logged_maximum_residual_window_tour_frequency_is_4,4.4023,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,4.4023,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,1.0949,F +coef_mediumhigh_income_group_and_shopping_tour,1.0949,F +coef_high_income_group_and_shopping_tour,1.0949,F +coef_mediumlow_income_group_and_maintenance_tour,0.7648,F +coef_mediumhigh_income_group_and_maintenance_tour,0.7648,F +coef_high_income_group_and_maintenance_tour,1.3795,F +coef_mediumlow_income_group_and_eating_out_tour,0.9769,F +coef_mediumhigh_income_group_and_eating_out_tour,1.181,F +coef_high_income_group_and_eating_out_tour,1.4842,F +coef_mediumlow_income_group_and_discretionary_tour,1.0095,F +coef_mediumhigh_income_group_and_discretionary_tour,1.0095,F +coef_high_income_group_and_discretionary_tour,1.0095,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.4368,F +coef_high_income_group_and_visiting_tour,-0.5137,F +coef_female_and_tour_frequency_is_1,-0.9348,F +coef_female_and_tour_frequency_is_2,-1.3028,F +coef_female_and_tour_frequency_is_3,-2.266,F +coef_female_and_tour_frequency_is_4,-2.266,F +coef_female_and_tour_frequency_is_5,-2.266,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0.9688,F +coef_female_and_maintenance_tour,0.7424,F +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0.4954,F +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7965,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.1302,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0.224,F +coef_presence_of_non_worker_and_tour_frequency_is_2,0.2436,F +coef_presence_of_non_worker_and_tour_frequency_is_3,0.62,F +coef_presence_of_non_worker_and_tour_frequency_is_4,3.3742,F +coef_presence_of_non_worker_and_tour_frequency_is_5,3.3742,F +coef_presence_of_retiree_and_tour_frequency_is_1,-0.4458,F +coef_presence_of_retiree_and_tour_frequency_is_2,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_3,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_4,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_5,-0.5315,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.4903,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.5027,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,-0.3609,F +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.788,F +coef_presence_of_part_time_worker_and_eating_out_tour,-0.788,F +coef_presence_of_non_worker_and_eating_out_tour,-0.788,F +coef_presence_of_retiree_and_eating_out_tour,-0.9282,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.4835,F +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,-0.5603,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.0616,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.3992,F +coef_2_plus_escort_tours_constant,0.5175,F +coef_1_plus_shopping_tours_constant,0.5947,F +coef_1_plus_maintenance_tours_constant,0.1046,F +coef_1_plus_eating_out_tours_constant,0.0245,F +coef_1_plus_visting_tours_constant,0.2789,F +coef_1_plus_other_discretionary_tours_constant,0.4282,F coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv index 8f392d20ea..fae10e51ff --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_SCHOOL.csv @@ -1,211 +1,211 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-7.4863,F -coef_total_number_of_tours_is_2,-10.718,F -coef_total_number_of_tours_is_3,-13.7884,F -coef_total_number_of_tours_is_4,-999,T -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-1.0331,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-2.7445,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.7445,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,-0.6149,F -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.6149,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,0,T -coef_number_of_joint_maintenance_tours,-1.3476,F -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0,T -coef_logged_maximum_residual_window_tour_frequency_is_0,0,T -coef_logged_maximum_residual_window_tour_frequency_is_1,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.5603,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.5603,F -coef_mediumlow_income_group_and_tour_frequency_is_1,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_2,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_3,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_4,1.0873,F -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0873,F -coef_mediumhigh_income_group_and_tour_frequency_is_1,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,1.5197,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.5197,F -coef_high_income_group_and_tour_frequency_is_1,2.0175,F -coef_high_income_group_and_tour_frequency_is_2,2.0175,F -coef_high_income_group_and_tour_frequency_is_3,2.0175,F -coef_high_income_group_and_tour_frequency_is_4,2.0175,F -coef_high_income_group_and_tour_frequency_is_5_plus,2.0175,F -coef_mediumlow_income_group_and_shopping_tour,-0.6506,F -coef_mediumhigh_income_group_and_shopping_tour,-0.6506,F -coef_high_income_group_and_shopping_tour,-0.6506,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,-0.701,F -coef_mediumhigh_income_group_and_eating_out_tour,-0.701,F -coef_high_income_group_and_eating_out_tour,-0.701,F -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0,T -coef_high_income_group_and_discretionary_tour,0,T -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,0,T -coef_high_income_group_and_visiting_tour,0,T -coef_female_and_tour_frequency_is_1,0,T -coef_female_and_tour_frequency_is_2,0,T -coef_female_and_tour_frequency_is_3,0,T -coef_female_and_tour_frequency_is_4,0,T -coef_female_and_tour_frequency_is_5,0,T -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,0,T -coef_female_and_discretionary_tour,0,T -coef_zero_car_ownership_and_tour_frequency_is_1,0,T -coef_zero_car_ownership_and_tour_frequency_is_2,0,T -coef_zero_car_ownership_and_tour_frequency_is_3,0,T -coef_zero_car_ownership_and_tour_frequency_is_4,0,T -coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_2,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_3,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_4,0.2177,F -coef_presence_of_non_worker_and_tour_frequency_is_5,0.2177,F -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.4439,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.4439,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-0.2264,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-0.2264,F -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,0,T -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_school_kid_and_escorting_tour,0,T -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,0,T -coef_presence_of_part_time_worker_and_shopping_tour,0,T -coef_presence_of_non_worker_and_shopping_tour,-0.645,F -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0.9365,F -coef_presence_of_pre_school_kid_and_shopping_tour,0,T -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,0,T -coef_presence_of_part_time_worker_and_eating_out_tour,0,T -coef_presence_of_non_worker_and_eating_out_tour,-1.3074,F -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,0,T -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,0.7526,F -coef_presence_of_part_time_worker_and_discretionary_tour,0.3721,F -coef_presence_of_non_worker_and_discretionary_tour,0,T -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,0,T -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0,T -coef_transit_access_to_retail_and_tour_frequency_is_2,0,T -coef_transit_access_to_retail_and_tour_frequency_is_3,0,T -coef_transit_access_to_retail_and_tour_frequency_is_4,0,T -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0.0629,F -coef_walk_access_to_retail_and_shopping,0,T -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0,T -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0.0738,F -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0,T -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0,T -coef_urban_and_tour_frequency_is_1,0,T -coef_urban_and_tour_frequency_is_2,0,T -coef_urban_and_tour_frequency_is_3,0,T -coef_urban_and_tour_frequency_is_4,0,T -coef_urban_and_tour_frequency_is_5_plus,0,T -coef_urban_and_escorting_tour,0.4352,F -coef_urban_and_shopping_tour,0,T -coef_urban_and_maintenance_tour,0,T -coef_urban_and_eatingout_tour,0,T -coef_urban_and_discretionary_tour,0,T -coef_1_escort_tour_constant,-0.7551,F -coef_2_plus_escort_tours_constant,-0.0086,F -coef_1_plus_shopping_tours_constant,0.4783,F -coef_1_plus_maintenance_tours_constant,-0.506,F -coef_1_plus_eating_out_tours_constant,1.1145,F -coef_1_plus_visting_tours_constant,-0.4006,F -coef_1_plus_other_discretionary_tours_constant,0.4634,F +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.4863,F +coef_total_number_of_tours_is_2,-10.718,F +coef_total_number_of_tours_is_3,-13.7884,F +coef_total_number_of_tours_is_4,-999,T +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-1.0331,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-2.7445,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.7445,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.6149,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.6149,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,-1.3476,F +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.5603,F +coef_mediumlow_income_group_and_tour_frequency_is_1,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_2,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0873,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.5197,F +coef_high_income_group_and_tour_frequency_is_1,2.0175,F +coef_high_income_group_and_tour_frequency_is_2,2.0175,F +coef_high_income_group_and_tour_frequency_is_3,2.0175,F +coef_high_income_group_and_tour_frequency_is_4,2.0175,F +coef_high_income_group_and_tour_frequency_is_5_plus,2.0175,F +coef_mediumlow_income_group_and_shopping_tour,-0.6506,F +coef_mediumhigh_income_group_and_shopping_tour,-0.6506,F +coef_high_income_group_and_shopping_tour,-0.6506,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,-0.701,F +coef_mediumhigh_income_group_and_eating_out_tour,-0.701,F +coef_high_income_group_and_eating_out_tour,-0.701,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0,T +coef_high_income_group_and_visiting_tour,0,T +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_2,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_3,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_4,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_5,0.2177,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.4439,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-0.2264,F +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,-0.645,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0.9365,F +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-1.3074,F +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0.7526,F +coef_presence_of_part_time_worker_and_discretionary_tour,0.3721,F +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0.0629,F +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0.0738,F +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0.4352,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.7551,F +coef_2_plus_escort_tours_constant,-0.0086,F +coef_1_plus_shopping_tours_constant,0.4783,F +coef_1_plus_maintenance_tours_constant,-0.506,F +coef_1_plus_eating_out_tours_constant,1.1145,F +coef_1_plus_visting_tours_constant,-0.4006,F +coef_1_plus_other_discretionary_tours_constant,0.4634,F coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv index 1080f36b4d..7799e3e5d2 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_coefficients_PTYPE_UNIVERSITY.csv @@ -1,211 +1,211 @@ -coefficient_name,value,constrain -coef_escorting_tour,0,T -coef_discretionary_tour,0,T -coef_shopping_tour,0,T -coef_maintenance_tour,0,T -coef_visiting_or_social_tour,0,T -coef_eating_out_tour,0,T -coef_total_number_of_tours_is_0_no_prior_tours,-999,T -coef_total_number_of_tours_is_0_prior_tours,0,T -coef_total_number_of_tours_is_1,-6.2138,F -coef_total_number_of_tours_is_2,-8.908,F -coef_total_number_of_tours_is_3,-12.3261,F -coef_total_number_of_tours_is_4,-15.8114,F -coef_total_number_of_tours_is_5,-999,T -coef_total_number_of_tours_is_6_plus,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T -coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.1852,F -coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8753,F -coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.6158,F -coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T -coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_0,0,T -coef_number_of_joint_tours_and_tour_frequency_is_1,0,T -coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3153,F -coef_number_of_joint_tours_and_tour_frequency_is_3,-0.7351,F -coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T -coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T -coef_number_of_joint_shopping_tours,-0.713,F -coef_number_of_joint_maintenance_tours,0,T -coef_number_of_joint_eating_out_tours,0,T -coef_number_of_joint_visit_tours,0,T -coef_number_of_joint_discretionary_tours,0.6713,F -coef_logged_maximum_residual_window_tour_frequency_is_0,1.1858,F -coef_logged_maximum_residual_window_tour_frequency_is_1,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_2,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_3,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_4,1.4842,F -coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.4842,F -coef_mediumlow_income_group_and_tour_frequency_is_1,0,T -coef_mediumlow_income_group_and_tour_frequency_is_2,0,T -coef_mediumlow_income_group_and_tour_frequency_is_3,0,T -coef_mediumlow_income_group_and_tour_frequency_is_4,0,T -coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T -coef_mediumhigh_income_group_and_tour_frequency_is_1,0.1109,F -coef_mediumhigh_income_group_and_tour_frequency_is_2,0.3914,F -coef_mediumhigh_income_group_and_tour_frequency_is_3,0.6137,F -coef_mediumhigh_income_group_and_tour_frequency_is_4,0.6137,F -coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0.6137,F -coef_high_income_group_and_tour_frequency_is_1,0.3986,F -coef_high_income_group_and_tour_frequency_is_2,0.8009,F -coef_high_income_group_and_tour_frequency_is_3,0.8254,F -coef_high_income_group_and_tour_frequency_is_4,0.8254,F -coef_high_income_group_and_tour_frequency_is_5_plus,0.8254,F -coef_mediumlow_income_group_and_shopping_tour,0.5693,F -coef_mediumhigh_income_group_and_shopping_tour,0.5693,F -coef_high_income_group_and_shopping_tour,0.5693,F -coef_mediumlow_income_group_and_maintenance_tour,0,T -coef_mediumhigh_income_group_and_maintenance_tour,0,T -coef_high_income_group_and_maintenance_tour,0,T -coef_mediumlow_income_group_and_eating_out_tour,0,T -coef_mediumhigh_income_group_and_eating_out_tour,-0.7207,F -coef_high_income_group_and_eating_out_tour,-0.7207,F -coef_mediumlow_income_group_and_discretionary_tour,0,T -coef_mediumhigh_income_group_and_discretionary_tour,0,T -coef_high_income_group_and_discretionary_tour,0,T -coef_mediumlow_income_group_and_visiting_tour,0,T -coef_mediumhigh_income_group_and_visiting_tour,-0.3694,F -coef_high_income_group_and_visiting_tour,-0.3694,F -coef_female_and_tour_frequency_is_1,0.0973,F -coef_female_and_tour_frequency_is_2,0.2361,F -coef_female_and_tour_frequency_is_3,1.9002,F -coef_female_and_tour_frequency_is_4,1.9002,F -coef_female_and_tour_frequency_is_5,1.9002,F -coef_female_and_escorting_tour,0,T -coef_female_and_shopping_tour,0,T -coef_female_and_maintenance_tour,0,T -coef_female_and_eatingout_tour,-0.6568,F -coef_female_and_discretionary_tour,-0.3266,F -coef_zero_car_ownership_and_tour_frequency_is_1,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_2,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_3,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_4,-0.581,F -coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.581,F -coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.581,F -coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T -coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T -coef_presence_of_non_worker_and_tour_frequency_is_1,-0.8506,F -coef_presence_of_non_worker_and_tour_frequency_is_2,-1.1804,F -coef_presence_of_non_worker_and_tour_frequency_is_3,-1.1804,F -coef_presence_of_non_worker_and_tour_frequency_is_4,-1.1804,F -coef_presence_of_non_worker_and_tour_frequency_is_5,-1.1804,F -coef_presence_of_retiree_and_tour_frequency_is_1,0,T -coef_presence_of_retiree_and_tour_frequency_is_2,0,T -coef_presence_of_retiree_and_tour_frequency_is_3,0,T -coef_presence_of_retiree_and_tour_frequency_is_4,0,T -coef_presence_of_retiree_and_tour_frequency_is_5,0,T -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.9961,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-1.9096,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-2.8469,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-2.8469,F -coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-2.8469,F -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T -coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T -coef_presence_of_full_time_worker_and_escorting_tour,0,T -coef_presence_of_part_time_worker_and_escorting_tour,-1.8213,F -coef_presence_of_non_worker_and_escorting_tour,0,T -coef_presence_of_retiree_and_escorting_tour,0,T -coef_presence_of_university_student_and_escorting_tour,0,T -coef_presence_of_driving_school_kid_and_escorting_tour,0,T -coef_presence_of_pre_driving_school_kid_and_escorting_tour,0.9489,F -coef_presence_of_pre_school_kid_and_escorting_tour,2.1465,F -coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T -coef_at_home_pre_school_kid_and_escorting_tour,0,T -coef_presence_of_full_time_worker_and_shopping_tour,-0.7728,F -coef_presence_of_part_time_worker_and_shopping_tour,-0.5199,F -coef_presence_of_non_worker_and_shopping_tour,0,T -coef_presence_of_retiree_and_shopping_tour,0,T -coef_presence_of_university_student_and_shopping_tour,0,T -coef_presence_of_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T -coef_presence_of_pre_school_kid_and_shopping_tour,1.3135,F -coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T -coef_at_home_pre_school_kid_and_shopping_tour,0,T -coef_presence_of_full_time_worker_and_maintenance_tour,0,T -coef_presence_of_part_time_worker_and_maintenance_tour,0,T -coef_presence_of_non_worker_and_maintenance_tour,0,T -coef_presence_of_retiree_and_maintenance_tour,0,T -coef_presence_of_university_student_and_maintenance_tour,0,T -coef_presence_of_driving_school_kid_and_maintenance_tour,0,T -coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0.3863,F -coef_presence_of_pre_school_kid_and_maintenance_tour,0.9694,F -coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T -coef_at_home_pre_school_kid_and_maintenance_tour,0,T -coef_presence_of_full_time_worker_and_eating_out_tour,-0.5251,F -coef_presence_of_part_time_worker_and_eating_out_tour,-1.9795,F -coef_presence_of_non_worker_and_eating_out_tour,0,T -coef_presence_of_retiree_and_eating_out_tour,0,T -coef_presence_of_university_student_and_eating_out_tour,-0.6529,F -coef_presence_of_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T -coef_presence_of_pre_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T -coef_at_home_pre_school_kid_and_eating_out_tour,0,T -coef_presence_of_full_time_worker_and_discretionary_tour,-0.4833,F -coef_presence_of_part_time_worker_and_discretionary_tour,0,T -coef_presence_of_non_worker_and_discretionary_tour,0.9781,F -coef_presence_of_retiree_and_discretionary_tour,0,T -coef_presence_of_university_student_and_discretionary_tour,-0.6542,F -coef_presence_of_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T -coef_presence_of_pre_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T -coef_at_home_pre_school_kid_and_discretionary_tour,0,T -coef_walk_access_to_retail_and_tour_frequency_is_1,0,T -coef_walk_access_to_retail_and_tour_frequency_is_2,0,T -coef_walk_access_to_retail_and_tour_frequency_is_3,0,T -coef_walk_access_to_retail_and_tour_frequency_is_4,0,T -coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_transit_access_to_retail_and_tour_frequency_is_1,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_2,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_3,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_4,0.0664,F -coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0664,F -coef_auto_access_to_retail_and_tour_frequency_is_1,0,T -coef_auto_access_to_retail_and_tour_frequency_is_2,0,T -coef_auto_access_to_retail_and_tour_frequency_is_3,0,T -coef_auto_access_to_retail_and_tour_frequency_is_4,0,T -coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T -coef_walk_access_to_retail_and_escorting,0,T -coef_transit_access_to_retail_and_escorting,0,T -coef_auto_access_to_retail_and_escorting,0,T -coef_walk_access_to_retail_and_shopping,0.0972,F -coef_transit_access_to_retail_and_shopping,0,T -coef_auto_access_to_retail_and_shopping,0,T -coef_walk_access_to_retail_and_maintenance,0,T -coef_transit_access_to_retail_and_maintenance,0.0314,F -coef_auto_access_to_retail_and_maintenance,0,T -coef_walk_access_to_retail_and_eating_out,0,T -coef_transit_access_to_retail_and_eating_out,0,T -coef_auto_access_to_retail_and_eating_out,0.1018,F -coef_walk_access_to_retail_and_discretionary,0,T -coef_transit_access_to_retail_and_discretionary,0,T -coef_auto_access_to_retail_and_discretionary,0.094,F -coef_urban_and_tour_frequency_is_1,-1.1648,F -coef_urban_and_tour_frequency_is_2,-2.3177,F -coef_urban_and_tour_frequency_is_3,-2.5027,F -coef_urban_and_tour_frequency_is_4,-2.5027,F -coef_urban_and_tour_frequency_is_5_plus,-2.5027,F -coef_urban_and_escorting_tour,0.8516,F -coef_urban_and_shopping_tour,0.533,F -coef_urban_and_maintenance_tour,1.0316,F -coef_urban_and_eatingout_tour,0.68,F -coef_urban_and_discretionary_tour,0.9563,F -coef_1_escort_tour_constant,1.7028,F -coef_2_plus_escort_tours_constant,2.8379,F -coef_1_plus_shopping_tours_constant,1.8403,F -coef_1_plus_maintenance_tours_constant,0.3348,F -coef_1_plus_eating_out_tours_constant,2.0723,F -coef_1_plus_visting_tours_constant,1.2172,F -coef_1_plus_other_discretionary_tours_constant,1.3389,F +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-6.2138,F +coef_total_number_of_tours_is_2,-8.908,F +coef_total_number_of_tours_is_3,-12.3261,F +coef_total_number_of_tours_is_4,-15.8114,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.1852,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8753,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.6158,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3153,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-0.7351,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,-0.713,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0.6713,F +coef_logged_maximum_residual_window_tour_frequency_is_0,1.1858,F +coef_logged_maximum_residual_window_tour_frequency_is_1,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.4842,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.1109,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.3914,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,0.6137,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,0.6137,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0.6137,F +coef_high_income_group_and_tour_frequency_is_1,0.3986,F +coef_high_income_group_and_tour_frequency_is_2,0.8009,F +coef_high_income_group_and_tour_frequency_is_3,0.8254,F +coef_high_income_group_and_tour_frequency_is_4,0.8254,F +coef_high_income_group_and_tour_frequency_is_5_plus,0.8254,F +coef_mediumlow_income_group_and_shopping_tour,0.5693,F +coef_mediumhigh_income_group_and_shopping_tour,0.5693,F +coef_high_income_group_and_shopping_tour,0.5693,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,-0.7207,F +coef_high_income_group_and_eating_out_tour,-0.7207,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.3694,F +coef_high_income_group_and_visiting_tour,-0.3694,F +coef_female_and_tour_frequency_is_1,0.0973,F +coef_female_and_tour_frequency_is_2,0.2361,F +coef_female_and_tour_frequency_is_3,1.9002,F +coef_female_and_tour_frequency_is_4,1.9002,F +coef_female_and_tour_frequency_is_5,1.9002,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,-0.6568,F +coef_female_and_discretionary_tour,-0.3266,F +coef_zero_car_ownership_and_tour_frequency_is_1,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.581,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,-0.8506,F +coef_presence_of_non_worker_and_tour_frequency_is_2,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.1804,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.9961,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-1.9096,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-2.8469,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-2.8469,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-2.8469,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,-1.8213,F +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0.9489,F +coef_presence_of_pre_school_kid_and_escorting_tour,2.1465,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,-0.7728,F +coef_presence_of_part_time_worker_and_shopping_tour,-0.5199,F +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,1.3135,F +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0.3863,F +coef_presence_of_pre_school_kid_and_maintenance_tour,0.9694,F +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.5251,F +coef_presence_of_part_time_worker_and_eating_out_tour,-1.9795,F +coef_presence_of_non_worker_and_eating_out_tour,0,T +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,-0.6529,F +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.4833,F +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0.9781,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,-0.6542,F +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_2,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_3,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_4,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0664,F +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.0972,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0.0314,F +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0.1018,F +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0.094,F +coef_urban_and_tour_frequency_is_1,-1.1648,F +coef_urban_and_tour_frequency_is_2,-2.3177,F +coef_urban_and_tour_frequency_is_3,-2.5027,F +coef_urban_and_tour_frequency_is_4,-2.5027,F +coef_urban_and_tour_frequency_is_5_plus,-2.5027,F +coef_urban_and_escorting_tour,0.8516,F +coef_urban_and_shopping_tour,0.533,F +coef_urban_and_maintenance_tour,1.0316,F +coef_urban_and_eatingout_tour,0.68,F +coef_urban_and_discretionary_tour,0.9563,F +coef_1_escort_tour_constant,1.7028,F +coef_2_plus_escort_tours_constant,2.8379,F +coef_1_plus_shopping_tours_constant,1.8403,F +coef_1_plus_maintenance_tours_constant,0.3348,F +coef_1_plus_eating_out_tours_constant,2.0723,F +coef_1_plus_visting_tours_constant,1.2172,F +coef_1_plus_other_discretionary_tours_constant,1.3389,F coef_0_auto_household_and_escorting_tour,-2,T \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_extension_probs.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_extension_probs.csv old mode 100755 new mode 100644 similarity index 95% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_extension_probs.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_extension_probs.csv index 632f453ce0..ec78c4c8e7 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_frequency_extension_probs.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_frequency_extension_probs.csv @@ -1,193 +1,193 @@ -ptype,has_mandatory_tour,has_joint_tour,nonmandatory_tour_type,0_tours,1_tours,2_tours -1,0,0,1,0.829545455,1,1 -2,0,0,1,0.769230769,1,1 -3,0,0,1,0.893939394,1,1 -4,0,0,1,0.75,1,1 -5,0,0,1,0.842105263,1,1 -6,0,0,1,0.714285714,1,1 -7,0,0,1,0.814814815,1,1 -8,0,0,1,0.75,1,1 -1,1,0,1,0.789473684,1,1 -2,1,0,1,0.6,1,1 -3,1,0,1,1,1,1 -4,1,0,1,1,1,1 -5,1,0,1,0.825910931,1,1 -6,1,0,1,0.837209302,1,1 -7,1,0,1,0.6,1,1 -8,1,0,1,1,1,1 -1,0,1,1,0.842105263,1,1 -2,0,1,1,1,1,1 -3,0,1,1,1,1,1 -4,0,1,1,1,1,1 -5,0,1,1,1,1,1 -6,0,1,1,1,1,1 -7,0,1,1,1,1,1 -8,0,1,1,1,1,1 -1,1,1,1,1,1,1 -2,1,1,1,1,1,1 -3,1,1,1,1,1,1 -4,1,1,1,1,1,1 -5,1,1,1,0.777777778,1,1 -6,1,1,1,1,1,1 -7,1,1,1,1,1,1 -8,1,1,1,1,1,1 -1,0,0,2,0.892694064,0.99086758,1 -2,0,0,2,0.84057971,0.992753623,1 -3,0,0,2,0.971014493,1,1 -4,0,0,2,0.96969697,1,1 -5,0,0,2,0.870056497,0.994350282,1 -6,0,0,2,0.866666667,1,1 -7,0,0,2,0.971014493,1,1 -8,0,0,2,0.931034483,1,1 -1,1,0,2,0.885057471,1,1 -2,1,0,2,0.727272727,1,1 -3,1,0,2,0.971428571,1,1 -4,1,0,2,1,1,1 -5,1,0,2,0.895977809,0.993065187,1 -6,1,0,2,0.885185185,1,1 -7,1,0,2,1,1,1 -8,1,0,2,1,1,1 -1,0,1,2,0.910087719,0.993421053,1 -2,0,1,2,0.88,1,1 -3,0,1,2,0.8,1,1 -4,0,1,2,1,1,1 -5,0,1,2,1,1,1 -6,0,1,2,1,1,1 -7,0,1,2,1,1,1 -8,0,1,2,1,1,1 -1,1,1,2,1,1,1 -2,1,1,2,1,1,1 -3,1,1,2,1,1,1 -4,1,1,2,1,1,1 -5,1,1,2,1,1,1 -6,1,1,2,0.964912281,1,1 -7,1,1,2,1,1,1 -8,1,1,2,0.888888889,1,1 -1,0,0,3,0.935643564,0.997524752,1 -2,0,0,3,0.905660377,1,1 -3,0,0,3,0.978813559,1,1 -4,0,0,3,0.928571429,1,1 -5,0,0,3,0.901515152,0.992424242,1 -6,0,0,3,0.863636364,1,1 -7,0,0,3,0.947368421,1,1 -8,0,0,3,0.913043478,1,1 -1,1,0,3,0.893333333,0.986666667,1 -2,1,0,3,1,1,1 -3,1,0,3,1,1,1 -4,1,0,3,0.857142857,1,1 -5,1,0,3,0.916071429,0.996428571,1 -6,1,0,3,0.856382979,0.984042553,1 -7,1,0,3,1,1,1 -8,1,0,3,1,1,1 -1,0,1,3,0.916201117,0.991620112,1 -2,0,1,3,0.912280702,0.98245614,1 -3,0,1,3,1,1,1 -4,0,1,3,1,1,1 -5,0,1,3,1,1,1 -6,0,1,3,0.833333333,1,1 -7,0,1,3,0.961538462,1,1 -8,0,1,3,1,1,1 -1,1,1,3,0.97826087,0.989130435,1 -2,1,1,3,0.97260274,1,1 -3,1,1,3,1,1,1 -4,1,1,3,1,1,1 -5,1,1,3,0.995762712,1,1 -6,1,1,3,0.921568627,0.980392157,1 -7,1,1,3,1,1,1 -8,1,1,3,1,1,1 -1,0,0,4,0.9218107,0.995884774,1 -2,0,0,4,0.900900901,1,1 -3,0,0,4,0.997354497,1,1 -4,0,0,4,0.991176471,1,1 -5,0,0,4,0.921568627,0.980392157,1 -6,0,0,4,0.954545455,1,1 -7,0,0,4,1,1,1 -8,0,0,4,0.954545455,1,1 -1,1,0,4,0.941176471,0.970588235,1 -2,1,0,4,0.925925926,1,1 -3,1,0,4,1,1,1 -4,1,0,4,0.875,1,1 -5,1,0,4,0.915322581,1,1 -6,1,0,4,0.947674419,0.994186047,1 -7,1,0,4,0.666666667,1,1 -8,1,0,4,1,1,1 -1,0,1,4,0.925925926,0.987654321,1 -2,0,1,4,0.903703704,1,1 -3,0,1,4,1,1,1 -4,0,1,4,1,1,1 -5,0,1,4,1,1,1 -6,0,1,4,1,1,1 -7,0,1,4,1,1,1 -8,0,1,4,1,1,1 -1,1,1,4,1,1,1 -2,1,1,4,0.911111111,1,1 -3,1,1,4,1,1,1 -4,1,1,4,1,1,1 -5,1,1,4,1,1,1 -6,1,1,4,0.962962963,1,1 -7,1,1,4,1,1,1 -8,1,1,4,1,1,1 -1,0,0,5,0.976744186,1,1 -2,0,0,5,0.981818182,1,1 -3,0,0,5,0.985915493,1,1 -4,0,0,5,1,1,1 -5,0,0,5,1,1,1 -6,0,0,5,1,1,1 -7,0,0,5,1,1,1 -8,0,0,5,0.875,1,1 -1,1,0,5,1,1,1 -2,1,0,5,1,1,1 -3,1,0,5,0.964285714,1,1 -4,1,0,5,1,1,1 -5,1,0,5,0.985714286,1,1 -6,1,0,5,0.951807229,1,1 -7,1,0,5,1,1,1 -8,1,0,5,1,1,1 -1,0,1,5,0.926605505,1,1 -2,0,1,5,0.941176471,1,1 -3,0,1,5,1,1,1 -4,0,1,5,1,1,1 -5,0,1,5,1,1,1 -6,0,1,5,1,1,1 -7,0,1,5,1,1,1 -8,0,1,5,1,1,1 -1,1,1,5,1,1,1 -2,1,1,5,1,1,1 -3,1,1,5,0.972972973,1,1 -4,1,1,5,1,1,1 -5,1,1,5,1,1,1 -6,1,1,5,0.933333333,1,1 -7,1,1,5,1,1,1 -8,1,1,5,1,1,1 -1,0,0,6,0.93837535,0.988795518,1 -2,0,0,6,0.888888889,1,1 -3,0,0,6,0.966832504,0.998341625,1 -4,0,0,6,0.942028986,1,1 -5,0,0,6,0.88034188,1,1 -6,0,0,6,0.925925926,1,1 -7,0,0,6,0.967741935,1,1 -8,0,0,6,0.90625,1,1 -1,1,0,6,0.85915493,1,1 -2,1,0,6,0.818181818,0.96969697,1 -3,1,0,6,1,1,1 -4,1,0,6,0.952380952,1,1 -5,1,0,6,0.879237288,0.997881356,1 -6,1,0,6,0.862944162,0.984771574,1 -7,1,0,6,0.9,1,1 -8,1,0,6,1,1,1 -1,0,1,6,0.927835052,0.996563574,1 -2,0,1,6,0.859375,0.9921875,1 -3,0,1,6,1,1,1 -4,0,1,6,1,1,1 -5,0,1,6,0.92,1,1 -6,0,1,6,1,1,1 -7,0,1,6,0.904761905,1,1 -8,0,1,6,1,1,1 -1,1,1,6,0.982758621,1,1 -2,1,1,6,0.927710843,0.987951807,1 -3,1,1,6,0.982954545,1,1 -4,1,1,6,0.938679245,1,1 -5,1,1,6,1,1,1 -6,1,1,6,0.9375,1,1 -7,1,1,6,1,1,1 -8,1,1,6,1,1,1 +ptype,has_mandatory_tour,has_joint_tour,nonmandatory_tour_type,0_tours,1_tours,2_tours +1,0,0,1,0.829545455,1,1 +2,0,0,1,0.769230769,1,1 +3,0,0,1,0.893939394,1,1 +4,0,0,1,0.75,1,1 +5,0,0,1,0.842105263,1,1 +6,0,0,1,0.714285714,1,1 +7,0,0,1,0.814814815,1,1 +8,0,0,1,0.75,1,1 +1,1,0,1,0.789473684,1,1 +2,1,0,1,0.6,1,1 +3,1,0,1,1,1,1 +4,1,0,1,1,1,1 +5,1,0,1,0.825910931,1,1 +6,1,0,1,0.837209302,1,1 +7,1,0,1,0.6,1,1 +8,1,0,1,1,1,1 +1,0,1,1,0.842105263,1,1 +2,0,1,1,1,1,1 +3,0,1,1,1,1,1 +4,0,1,1,1,1,1 +5,0,1,1,1,1,1 +6,0,1,1,1,1,1 +7,0,1,1,1,1,1 +8,0,1,1,1,1,1 +1,1,1,1,1,1,1 +2,1,1,1,1,1,1 +3,1,1,1,1,1,1 +4,1,1,1,1,1,1 +5,1,1,1,0.777777778,1,1 +6,1,1,1,1,1,1 +7,1,1,1,1,1,1 +8,1,1,1,1,1,1 +1,0,0,2,0.892694064,0.99086758,1 +2,0,0,2,0.84057971,0.992753623,1 +3,0,0,2,0.971014493,1,1 +4,0,0,2,0.96969697,1,1 +5,0,0,2,0.870056497,0.994350282,1 +6,0,0,2,0.866666667,1,1 +7,0,0,2,0.971014493,1,1 +8,0,0,2,0.931034483,1,1 +1,1,0,2,0.885057471,1,1 +2,1,0,2,0.727272727,1,1 +3,1,0,2,0.971428571,1,1 +4,1,0,2,1,1,1 +5,1,0,2,0.895977809,0.993065187,1 +6,1,0,2,0.885185185,1,1 +7,1,0,2,1,1,1 +8,1,0,2,1,1,1 +1,0,1,2,0.910087719,0.993421053,1 +2,0,1,2,0.88,1,1 +3,0,1,2,0.8,1,1 +4,0,1,2,1,1,1 +5,0,1,2,1,1,1 +6,0,1,2,1,1,1 +7,0,1,2,1,1,1 +8,0,1,2,1,1,1 +1,1,1,2,1,1,1 +2,1,1,2,1,1,1 +3,1,1,2,1,1,1 +4,1,1,2,1,1,1 +5,1,1,2,1,1,1 +6,1,1,2,0.964912281,1,1 +7,1,1,2,1,1,1 +8,1,1,2,0.888888889,1,1 +1,0,0,3,0.935643564,0.997524752,1 +2,0,0,3,0.905660377,1,1 +3,0,0,3,0.978813559,1,1 +4,0,0,3,0.928571429,1,1 +5,0,0,3,0.901515152,0.992424242,1 +6,0,0,3,0.863636364,1,1 +7,0,0,3,0.947368421,1,1 +8,0,0,3,0.913043478,1,1 +1,1,0,3,0.893333333,0.986666667,1 +2,1,0,3,1,1,1 +3,1,0,3,1,1,1 +4,1,0,3,0.857142857,1,1 +5,1,0,3,0.916071429,0.996428571,1 +6,1,0,3,0.856382979,0.984042553,1 +7,1,0,3,1,1,1 +8,1,0,3,1,1,1 +1,0,1,3,0.916201117,0.991620112,1 +2,0,1,3,0.912280702,0.98245614,1 +3,0,1,3,1,1,1 +4,0,1,3,1,1,1 +5,0,1,3,1,1,1 +6,0,1,3,0.833333333,1,1 +7,0,1,3,0.961538462,1,1 +8,0,1,3,1,1,1 +1,1,1,3,0.97826087,0.989130435,1 +2,1,1,3,0.97260274,1,1 +3,1,1,3,1,1,1 +4,1,1,3,1,1,1 +5,1,1,3,0.995762712,1,1 +6,1,1,3,0.921568627,0.980392157,1 +7,1,1,3,1,1,1 +8,1,1,3,1,1,1 +1,0,0,4,0.9218107,0.995884774,1 +2,0,0,4,0.900900901,1,1 +3,0,0,4,0.997354497,1,1 +4,0,0,4,0.991176471,1,1 +5,0,0,4,0.921568627,0.980392157,1 +6,0,0,4,0.954545455,1,1 +7,0,0,4,1,1,1 +8,0,0,4,0.954545455,1,1 +1,1,0,4,0.941176471,0.970588235,1 +2,1,0,4,0.925925926,1,1 +3,1,0,4,1,1,1 +4,1,0,4,0.875,1,1 +5,1,0,4,0.915322581,1,1 +6,1,0,4,0.947674419,0.994186047,1 +7,1,0,4,0.666666667,1,1 +8,1,0,4,1,1,1 +1,0,1,4,0.925925926,0.987654321,1 +2,0,1,4,0.903703704,1,1 +3,0,1,4,1,1,1 +4,0,1,4,1,1,1 +5,0,1,4,1,1,1 +6,0,1,4,1,1,1 +7,0,1,4,1,1,1 +8,0,1,4,1,1,1 +1,1,1,4,1,1,1 +2,1,1,4,0.911111111,1,1 +3,1,1,4,1,1,1 +4,1,1,4,1,1,1 +5,1,1,4,1,1,1 +6,1,1,4,0.962962963,1,1 +7,1,1,4,1,1,1 +8,1,1,4,1,1,1 +1,0,0,5,0.976744186,1,1 +2,0,0,5,0.981818182,1,1 +3,0,0,5,0.985915493,1,1 +4,0,0,5,1,1,1 +5,0,0,5,1,1,1 +6,0,0,5,1,1,1 +7,0,0,5,1,1,1 +8,0,0,5,0.875,1,1 +1,1,0,5,1,1,1 +2,1,0,5,1,1,1 +3,1,0,5,0.964285714,1,1 +4,1,0,5,1,1,1 +5,1,0,5,0.985714286,1,1 +6,1,0,5,0.951807229,1,1 +7,1,0,5,1,1,1 +8,1,0,5,1,1,1 +1,0,1,5,0.926605505,1,1 +2,0,1,5,0.941176471,1,1 +3,0,1,5,1,1,1 +4,0,1,5,1,1,1 +5,0,1,5,1,1,1 +6,0,1,5,1,1,1 +7,0,1,5,1,1,1 +8,0,1,5,1,1,1 +1,1,1,5,1,1,1 +2,1,1,5,1,1,1 +3,1,1,5,0.972972973,1,1 +4,1,1,5,1,1,1 +5,1,1,5,1,1,1 +6,1,1,5,0.933333333,1,1 +7,1,1,5,1,1,1 +8,1,1,5,1,1,1 +1,0,0,6,0.93837535,0.988795518,1 +2,0,0,6,0.888888889,1,1 +3,0,0,6,0.966832504,0.998341625,1 +4,0,0,6,0.942028986,1,1 +5,0,0,6,0.88034188,1,1 +6,0,0,6,0.925925926,1,1 +7,0,0,6,0.967741935,1,1 +8,0,0,6,0.90625,1,1 +1,1,0,6,0.85915493,1,1 +2,1,0,6,0.818181818,0.96969697,1 +3,1,0,6,1,1,1 +4,1,0,6,0.952380952,1,1 +5,1,0,6,0.879237288,0.997881356,1 +6,1,0,6,0.862944162,0.984771574,1 +7,1,0,6,0.9,1,1 +8,1,0,6,1,1,1 +1,0,1,6,0.927835052,0.996563574,1 +2,0,1,6,0.859375,0.9921875,1 +3,0,1,6,1,1,1 +4,0,1,6,1,1,1 +5,0,1,6,0.92,1,1 +6,0,1,6,1,1,1 +7,0,1,6,0.904761905,1,1 +8,0,1,6,1,1,1 +1,1,1,6,0.982758621,1,1 +2,1,1,6,0.927710843,0.987951807,1 +3,1,1,6,0.982954545,1,1 +4,1,1,6,0.938679245,1,1 +5,1,1,6,1,1,1 +6,1,1,6,0.9375,1,1 +7,1,1,6,1,1,1 +8,1,1,6,1,1,1 diff --git a/activitysim/examples/example_mtc/configs/non_mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/non_mandatory_tour_scheduling.yaml rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_scheduling.yaml diff --git a/activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv index e9f9f2f38e..7a2b90d1c9 --- a/activitysim/examples/example_psrc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv @@ -1,4 +1,4 @@ -Description,Target,Expression -destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, non_mandatory_tours.destination) < setting('cbd_threshold')) * 1" -#,, -,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), non_mandatory_tours.person_id)" +Description,Target,Expression +destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, non_mandatory_tours.destination) < setting('cbd_threshold')) * 1" +#,, +,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), non_mandatory_tours.person_id)" diff --git a/activitysim/examples/example_psrc/configs/school_location.csv b/activitysim/examples/prototype_mtc/configs/school_location.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/school_location.csv rename to activitysim/examples/prototype_mtc/configs/school_location.csv index 04d4647262..9448d12af2 --- a/activitysim/examples/example_psrc/configs/school_location.csv +++ b/activitysim/examples/prototype_mtc/configs/school_location.csv @@ -1,12 +1,12 @@ -Label,Description,Expression,university,highschool,gradeschool -local_dist,,_DIST@skims['DIST'],1,1,1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 -util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 -util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum -util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1 +Label,Description,Expression,university,highschool,gradeschool +local_dist,,_DIST@skims['DIST'],1,1,1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 +util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 +util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum,coef_mode_logsum,coef_mode_logsum +util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1 diff --git a/activitysim/examples/example_mtc/configs/school_location.yaml b/activitysim/examples/prototype_mtc/configs/school_location.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/school_location.yaml rename to activitysim/examples/prototype_mtc/configs/school_location.yaml diff --git a/activitysim/examples/example_mtc/configs/school_location_coefficients.csv b/activitysim/examples/prototype_mtc/configs/school_location_coefficients.csv similarity index 96% rename from activitysim/examples/example_mtc/configs/school_location_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/school_location_coefficients.csv index 4e4d638772..b9ef59c83f 100644 --- a/activitysim/examples/example_mtc/configs/school_location_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/school_location_coefficients.csv @@ -1,17 +1,17 @@ -coefficient_name,value,constrain -coef_univ_dist_0_1,-3.2451,F -coef_univ_dist_1_2,-2.7011,F -coef_univ_dist_2_5,-0.5707,F -coef_univ_dist_5_15,-0.5002,F -coef_univ_dist_15_up,-0.073,F -coef_high_dist_0_1,-0.9523,F -coef_high_grade_dist_1_2,-0.57,F -coef_high_grade_dist_2_5,-0.57,F -coef_high_dist_5_15,-0.193,F -coef_high_dist_15_up,-0.1882,F -coef_grade_dist_0_1,-1.6419,F -#coef_high_grade_dist_1_2,-0.57,F -#coef_high_grade_dist_2_5,-0.57,F -coef_grade_dist_5_15,-0.2031,F -coef_grade_dist_15_up,-0.046,F -coef_mode_logsum,0.5358,F +coefficient_name,value,constrain +coef_univ_dist_0_1,-3.2451,F +coef_univ_dist_1_2,-2.7011,F +coef_univ_dist_2_5,-0.5707,F +coef_univ_dist_5_15,-0.5002,F +coef_univ_dist_15_up,-0.073,F +coef_high_dist_0_1,-0.9523,F +coef_high_grade_dist_1_2,-0.57,F +coef_high_grade_dist_2_5,-0.57,F +coef_high_dist_5_15,-0.193,F +coef_high_dist_15_up,-0.1882,F +coef_grade_dist_0_1,-1.6419,F +#coef_high_grade_dist_1_2,-0.57,F +#coef_high_grade_dist_2_5,-0.57,F +coef_grade_dist_5_15,-0.2031,F +coef_grade_dist_15_up,-0.046,F +coef_mode_logsum,0.5358,F diff --git a/activitysim/examples/example_psrc/configs/school_location_sample.csv b/activitysim/examples/prototype_mtc/configs/school_location_sample.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/school_location_sample.csv rename to activitysim/examples/prototype_mtc/configs/school_location_sample.csv index f785f26749..d4f980e909 --- a/activitysim/examples/example_psrc/configs/school_location_sample.csv +++ b/activitysim/examples/prototype_mtc/configs/school_location_sample.csv @@ -1,10 +1,10 @@ -Label,Description,Expression,university,highschool,gradeschool -local_dist,,_DIST@skims['DIST'],1,1,1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 -util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 +Label,Description,Expression,university,highschool,gradeschool +local_dist,,_DIST@skims['DIST'],1,1,1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,coef_high_dist_0_1,coef_grade_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,coef_high_grade_dist_1_2,coef_high_grade_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,coef_high_grade_dist_2_5,coef_high_grade_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,coef_high_dist_5_15,coef_grade_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,coef_high_dist_15_up,coef_grade_dist_15_up +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 +util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 diff --git a/activitysim/examples/example_mtc/configs/settings.yaml b/activitysim/examples/prototype_mtc/configs/settings.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/settings.yaml rename to activitysim/examples/prototype_mtc/configs/settings.yaml diff --git a/activitysim/examples/prototype_mtc/configs/shadow_pricing.yaml b/activitysim/examples/prototype_mtc/configs/shadow_pricing.yaml new file mode 100644 index 0000000000..89816475ad --- /dev/null +++ b/activitysim/examples/prototype_mtc/configs/shadow_pricing.yaml @@ -0,0 +1,35 @@ +shadow_pricing_models: + school: school_location + workplace: workplace_location + +# global switch to enable/disable loading of saved shadow prices +# (ignored if global use_shadow_pricing switch is False) +LOAD_SAVED_SHADOW_PRICES: True + +# number of shadow price iterations for cold start +MAX_ITERATIONS: 10 + +# number of shadow price iterations for warm start (after loading saved shadow_prices) +MAX_ITERATIONS_SAVED: 1 + +# ignore criteria for zones smaller than size_threshold +SIZE_THRESHOLD: 10 + +# zone passes if modeled is within percent_tolerance of predicted_size +PERCENT_TOLERANCE: 5 + +# max percentage of zones allowed to fail +FAIL_THRESHOLD: 10 + +# CTRAMP or daysim +SHADOW_PRICE_METHOD: ctramp +#SHADOW_PRICE_METHOD: daysim + +# ctramp-style shadow_pricing_method parameters +DAMPING_FACTOR: 1 + +# daysim-style shadow_pricing_method parameters +# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? +DAYSIM_ABSOLUTE_TOLERANCE: 50 +DAYSIM_PERCENT_TOLERANCE: 10 + \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/stop_frequency.yaml b/activitysim/examples/prototype_mtc/configs/stop_frequency.yaml old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_psrc/configs/stop_frequency.yaml rename to activitysim/examples/prototype_mtc/configs/stop_frequency.yaml index 66fcdd78f5..b12ff8f4b5 --- a/activitysim/examples/example_psrc/configs/stop_frequency.yaml +++ b/activitysim/examples/prototype_mtc/configs/stop_frequency.yaml @@ -1,77 +1,77 @@ -LOGIT_TYPE: MNL - -preprocessor: - SPEC: stop_frequency_annotate_tours_preprocessor - DF: tours_merged - TABLES: - - persons - - land_use - - accessibility - -SEGMENT_COL: primary_purpose - -SPEC_SEGMENTS: - - primary_purpose: work - SPEC: stop_frequency_work.csv - COEFFICIENTS: stop_frequency_coefficients_work.csv - - primary_purpose: school - SPEC: stop_frequency_school.csv - COEFFICIENTS: stop_frequency_coefficients_school.csv - - primary_purpose: univ - SPEC: stop_frequency_univ.csv - COEFFICIENTS: stop_frequency_coefficients_univ.csv - - primary_purpose: social - SPEC: stop_frequency_social.csv - COEFFICIENTS: stop_frequency_coefficients_social.csv - - primary_purpose: shopping - SPEC: stop_frequency_shopping.csv - COEFFICIENTS: stop_frequency_coefficients_shopping.csv - - primary_purpose: eatout - SPEC: stop_frequency_eatout.csv - COEFFICIENTS: stop_frequency_coefficients_eatout.csv - - primary_purpose: escort - SPEC: stop_frequency_escort.csv - COEFFICIENTS: stop_frequency_coefficients_escort.csv - - primary_purpose: othmaint - SPEC: stop_frequency_othmaint.csv - COEFFICIENTS: stop_frequency_coefficients_othmaint.csv - - primary_purpose: othdiscr - SPEC: stop_frequency_othdiscr.csv - COEFFICIENTS: stop_frequency_coefficients_othdiscr.csv - - primary_purpose: atwork - SPEC: stop_frequency_atwork.csv - COEFFICIENTS: stop_frequency_coefficients_atwork.csv - -CONSTANTS: - TRANSIT_MODES: - - WALK_LOC - - WALK_LRF - - WALK_EXP - - WALK_HVY - - WALK_COM - - DRIVE_LOC - - DRIVE_LRF - - DRIVE_EXP - - DRIVE_HVY - - DRIVE_COM - DRIVE_TO_TRANSIT_MODES: - - DRIVE_LOC - - DRIVE_LRF - - DRIVE_EXP - - DRIVE_HVY - - DRIVE_COM - NONMOTORIZED_MODES: - - WALK - - BIKE - SHOP_TOUR: shopping - MAINT_TOUR: othmaint - SCHOOL_TOUR: school - EATOUT_TOUR: eatout - SOCIAL_TOUR: social - num_atwork_subtours_map: - no_subtours: 0 - eat: 1 - business1: 1 - maint: 1 - business2: 2 - eat_business: 2 +LOGIT_TYPE: MNL + +preprocessor: + SPEC: stop_frequency_annotate_tours_preprocessor + DF: tours_merged + TABLES: + - persons + - land_use + - accessibility + +SEGMENT_COL: primary_purpose + +SPEC_SEGMENTS: + - primary_purpose: work + SPEC: stop_frequency_work.csv + COEFFICIENTS: stop_frequency_coefficients_work.csv + - primary_purpose: school + SPEC: stop_frequency_school.csv + COEFFICIENTS: stop_frequency_coefficients_school.csv + - primary_purpose: univ + SPEC: stop_frequency_univ.csv + COEFFICIENTS: stop_frequency_coefficients_univ.csv + - primary_purpose: social + SPEC: stop_frequency_social.csv + COEFFICIENTS: stop_frequency_coefficients_social.csv + - primary_purpose: shopping + SPEC: stop_frequency_shopping.csv + COEFFICIENTS: stop_frequency_coefficients_shopping.csv + - primary_purpose: eatout + SPEC: stop_frequency_eatout.csv + COEFFICIENTS: stop_frequency_coefficients_eatout.csv + - primary_purpose: escort + SPEC: stop_frequency_escort.csv + COEFFICIENTS: stop_frequency_coefficients_escort.csv + - primary_purpose: othmaint + SPEC: stop_frequency_othmaint.csv + COEFFICIENTS: stop_frequency_coefficients_othmaint.csv + - primary_purpose: othdiscr + SPEC: stop_frequency_othdiscr.csv + COEFFICIENTS: stop_frequency_coefficients_othdiscr.csv + - primary_purpose: atwork + SPEC: stop_frequency_atwork.csv + COEFFICIENTS: stop_frequency_coefficients_atwork.csv + +CONSTANTS: + TRANSIT_MODES: + - WALK_LOC + - WALK_LRF + - WALK_EXP + - WALK_HVY + - WALK_COM + - DRIVE_LOC + - DRIVE_LRF + - DRIVE_EXP + - DRIVE_HVY + - DRIVE_COM + DRIVE_TO_TRANSIT_MODES: + - DRIVE_LOC + - DRIVE_LRF + - DRIVE_EXP + - DRIVE_HVY + - DRIVE_COM + NONMOTORIZED_MODES: + - WALK + - BIKE + SHOP_TOUR: shopping + MAINT_TOUR: othmaint + SCHOOL_TOUR: school + EATOUT_TOUR: eatout + SOCIAL_TOUR: social + num_atwork_subtours_map: + no_subtours: 0 + eat: 1 + business1: 1 + maint: 1 + business2: 2 + eat_business: 2 diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_alternatives.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_alternatives.csv old mode 100755 new mode 100644 similarity index 94% rename from activitysim/examples/example_psrc/configs/stop_frequency_alternatives.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_alternatives.csv index 0153cb399b..72f49a7c77 --- a/activitysim/examples/example_psrc/configs/stop_frequency_alternatives.csv +++ b/activitysim/examples/prototype_mtc/configs/stop_frequency_alternatives.csv @@ -1,18 +1,18 @@ -#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,out,in -0out_0in,0,0 -0out_1in,0,1 -0out_2in,0,2 -0out_3in,0,3 -1out_0in,1,0 -1out_1in,1,1 -1out_2in,1,2 -1out_3in,1,3 -2out_0in,2,0 -2out_1in,2,1 -2out_2in,2,2 -2out_3in,2,3 -3out_0in,3,0 -3out_1in,3,1 -3out_2in,3,2 -3out_3in,3,3 +#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,out,in +0out_0in,0,0 +0out_1in,0,1 +0out_2in,0,2 +0out_3in,0,3 +1out_0in,1,0 +1out_1in,1,1 +1out_2in,1,2 +1out_3in,1,3 +2out_0in,2,0 +2out_1in,2,1 +2out_2in,2,2 +2out_3in,2,3 +3out_0in,3,0 +3out_1in,3,1 +3out_2in,3,2 +3out_3in,3,3 diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_annotate_tours_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/stop_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_annotate_tours_preprocessor.csv index 982eeabb97..d7b2f1d61f --- a/activitysim/examples/example_psrc/configs/stop_frequency_annotate_tours_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/stop_frequency_annotate_tours_preprocessor.csv @@ -1,47 +1,47 @@ -Description,Target,Expression -#,, -# define primary_purpose to use for slicing choosers with a value that identifies the spec to be used ,, -# e.g. univ segment means there will be a spec called stop_frequency_univ.csv,, -# so the 'school' tour_type can treat univ and non-univ school tours differently,, -,primary_purpose,"df.tour_type.where((df.tour_type != 'school') | ~df.is_university, 'univ')" -,primary_purpose,"primary_purpose.where(df.tour_category!='atwork', 'atwork')" -#,, -,distance_in_miles,od_skims['DIST'] -#,, -,is_joint,df.tour_category=='joint' -,_HH_PERSON_COUNT,"lambda exp, persons: persons.query(exp).groupby('household_id').size()" -,num_full,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_FULL, persons), df.household_id)" -,num_part,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_PART, persons), df.household_id)" -,num_student,"reindex_i(_HH_PERSON_COUNT('pstudent != %s' % PSTUDENT_NOT, persons), df.household_id)" -Num Kids between 0 and 4 (including) years old,num_age_0_4,"reindex_i(_HH_PERSON_COUNT('age < 5', persons), df.household_id)" -Num kids between 4 and 15 (including) years old,num_age_5_15,"reindex_i(_HH_PERSON_COUNT('(age >= 5) & (age <16)', persons), df.household_id)" -Number of Adults (>= 16 years old),num_adult,"reindex_i(_HH_PERSON_COUNT('age >= 16', persons), df.household_id)" -,more_cars_than_workers,df.auto_ownership >= (num_full + num_part) -,tour_mode_is_transit,df.tour_mode.isin(TRANSIT_MODES) -,tour_mode_is_drive_transit,df.tour_mode.isin(DRIVE_TO_TRANSIT_MODES) -,tour_mode_is_non_motorized,df.tour_mode.isin(NONMOTORIZED_MODES) -#,, -#num_work_tours already defined,, -school but not university,num_school_tours,"reindex_i(df[primary_purpose==SCHOOL_TOUR].groupby('person_id').size(), df.person_id)" -,num_univ_tours,(df.is_university) * num_school_tours -#num_escort_tours already defined,, -# indiv tour counts should not include joint tours by point_person,, -,num_shop_tours,"reindex_i(df[~is_joint & (df.tour_type==SHOP_TOUR)].groupby('person_id').size(), df.person_id)" -,num_maint_tours,"reindex_i(df[~is_joint & (df.tour_type==MAINT_TOUR)].groupby('person_id').size(), df.person_id)" -,num_eatout_tours,"reindex_i(df[~is_joint & (df.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" -,num_social_tours,"reindex_i(df[~is_joint & (df.tour_type==SOCIAL_TOUR)].groupby('person_id').size(), df.person_id)" -#,, -Number of subtours in the tour,num_atwork_subtours,"df.atwork_subtour_frequency.map(num_atwork_subtours_map, na_action='ignore').fillna(0).astype(np.int8)" -#,, -Number of hh shop tours including joint,num_hh_shop_tours,"reindex_i(df[df.tour_type==SHOP_TOUR].groupby('household_id').size(), df.person_id)" -Number of hh maint tours including joint,num_hh_maint_tours,"reindex_i(df[df.tour_type==MAINT_TOUR].groupby('household_id').size(), df.person_id)" -tourStartsInPeakPeriod,_tour_starts_in_peak,(network_los.skim_time_period_label(df.start) == 'AM') | (network_los.skim_time_period_label(df.start) == 'PM') -AccesibilityAtOrigin fallback,hhacc,0 -AccesibilityAtOrigin if transit,hhacc,"hhacc.where(~tour_mode_is_transit, df.trPkRetail.where(_tour_starts_in_peak, df.trOpRetail))" -AccesibilityAtOrigin if non_motorized,hhacc,"hhacc.where(~tour_mode_is_non_motorized, df.nmRetail)" -AccesibilityADestination fallback,pracc,0 -AccesibilityADestination peak transit,_dest_trPkRetail,"reindex(accessibility.trPkRetail, df.destination)" -AccesibilityADestination off-peak transit,_dest_trOpRetail,"reindex(accessibility.trOpRetail, df.destination)" -AccesibilityAtDestination if transit,pracc,"pracc.where(~tour_mode_is_transit, _dest_trPkRetail.where(_tour_starts_in_peak, _dest_trOpRetail))" -AccesibilityAtDestination if non_motorized,pracc,"pracc.where(~tour_mode_is_non_motorized, reindex(accessibility.nmRetail, df.destination))" -,destination_area_type,"reindex(land_use.area_type, df.destination)" +Description,Target,Expression +#,, +# define primary_purpose to use for slicing choosers with a value that identifies the spec to be used ,, +# e.g. univ segment means there will be a spec called stop_frequency_univ.csv,, +# so the 'school' tour_type can treat univ and non-univ school tours differently,, +,primary_purpose,"df.tour_type.where((df.tour_type != 'school') | ~df.is_university, 'univ')" +,primary_purpose,"primary_purpose.where(df.tour_category!='atwork', 'atwork')" +#,, +,distance_in_miles,od_skims['DIST'] +#,, +,is_joint,df.tour_category=='joint' +,_HH_PERSON_COUNT,"lambda exp, persons: persons.query(exp).groupby('household_id').size()" +,num_full,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_FULL, persons), df.household_id)" +,num_part,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_PART, persons), df.household_id)" +,num_student,"reindex_i(_HH_PERSON_COUNT('pstudent != %s' % PSTUDENT_NOT, persons), df.household_id)" +Num Kids between 0 and 4 (including) years old,num_age_0_4,"reindex_i(_HH_PERSON_COUNT('age < 5', persons), df.household_id)" +Num kids between 4 and 15 (including) years old,num_age_5_15,"reindex_i(_HH_PERSON_COUNT('(age >= 5) & (age <16)', persons), df.household_id)" +Number of Adults (>= 16 years old),num_adult,"reindex_i(_HH_PERSON_COUNT('age >= 16', persons), df.household_id)" +,more_cars_than_workers,df.auto_ownership >= (num_full + num_part) +,tour_mode_is_transit,df.tour_mode.isin(TRANSIT_MODES) +,tour_mode_is_drive_transit,df.tour_mode.isin(DRIVE_TO_TRANSIT_MODES) +,tour_mode_is_non_motorized,df.tour_mode.isin(NONMOTORIZED_MODES) +#,, +#num_work_tours already defined,, +school but not university,num_school_tours,"reindex_i(df[primary_purpose==SCHOOL_TOUR].groupby('person_id').size(), df.person_id)" +,num_univ_tours,(df.is_university) * num_school_tours +#num_escort_tours already defined,, +# indiv tour counts should not include joint tours by point_person,, +,num_shop_tours,"reindex_i(df[~is_joint & (df.tour_type==SHOP_TOUR)].groupby('person_id').size(), df.person_id)" +,num_maint_tours,"reindex_i(df[~is_joint & (df.tour_type==MAINT_TOUR)].groupby('person_id').size(), df.person_id)" +,num_eatout_tours,"reindex_i(df[~is_joint & (df.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" +,num_social_tours,"reindex_i(df[~is_joint & (df.tour_type==SOCIAL_TOUR)].groupby('person_id').size(), df.person_id)" +#,, +Number of subtours in the tour,num_atwork_subtours,"df.atwork_subtour_frequency.map(num_atwork_subtours_map, na_action='ignore').fillna(0).astype(np.int8)" +#,, +Number of hh shop tours including joint,num_hh_shop_tours,"reindex_i(df[df.tour_type==SHOP_TOUR].groupby('household_id').size(), df.person_id)" +Number of hh maint tours including joint,num_hh_maint_tours,"reindex_i(df[df.tour_type==MAINT_TOUR].groupby('household_id').size(), df.person_id)" +tourStartsInPeakPeriod,_tour_starts_in_peak,(network_los.skim_time_period_label(df.start) == 'AM') | (network_los.skim_time_period_label(df.start) == 'PM') +AccesibilityAtOrigin fallback,hhacc,0 +AccesibilityAtOrigin if transit,hhacc,"hhacc.where(~tour_mode_is_transit, df.trPkRetail.where(_tour_starts_in_peak, df.trOpRetail))" +AccesibilityAtOrigin if non_motorized,hhacc,"hhacc.where(~tour_mode_is_non_motorized, df.nmRetail)" +AccesibilityADestination fallback,pracc,0 +AccesibilityADestination peak transit,_dest_trPkRetail,"reindex(accessibility.trPkRetail, df.destination)" +AccesibilityADestination off-peak transit,_dest_trOpRetail,"reindex(accessibility.trOpRetail, df.destination)" +AccesibilityAtDestination if transit,pracc,"pracc.where(~tour_mode_is_transit, _dest_trPkRetail.where(_tour_starts_in_peak, _dest_trOpRetail))" +AccesibilityAtDestination if non_motorized,pracc,"pracc.where(~tour_mode_is_non_motorized, reindex(accessibility.nmRetail, df.destination))" +,destination_area_type,"reindex(land_use.area_type, df.destination)" diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_atwork.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_atwork.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_atwork.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_atwork.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_atwork.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_atwork.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_atwork.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_atwork.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_eatout.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_eatout.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_eatout.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_eatout.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_escort.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_escort.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_escort.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_escort.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_othdiscr.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_othdiscr.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_othdiscr.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_othdiscr.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_othmaint.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_othmaint.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_othmaint.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_othmaint.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_school.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_school.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_school.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_school.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_shopping.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_shopping.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_shopping.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_shopping.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_social.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_social.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_social.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_social.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_univ.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_univ.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_univ.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_univ.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_coefficients_work.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_work.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_coefficients_work.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_coefficients_work.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_eatout.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_eatout.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_eatout.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_eatout.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_escort.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_escort.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_escort.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_escort.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_othdiscr.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_othdiscr.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_othdiscr.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_othdiscr.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_othmaint.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_othmaint.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_othmaint.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_othmaint.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_school.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_school.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_school.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_school.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_shopping.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_shopping.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_shopping.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_shopping.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_social.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_social.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_social.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_social.csv diff --git a/activitysim/examples/example_psrc/configs/stop_frequency_univ.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_univ.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/stop_frequency_univ.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_univ.csv diff --git a/activitysim/examples/example_mtc/configs/stop_frequency_work.csv b/activitysim/examples/prototype_mtc/configs/stop_frequency_work.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/stop_frequency_work.csv rename to activitysim/examples/prototype_mtc/configs/stop_frequency_work.csv diff --git a/activitysim/examples/example_mtc/configs/summarize.csv b/activitysim/examples/prototype_mtc/configs/summarize.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/summarize.csv rename to activitysim/examples/prototype_mtc/configs/summarize.csv diff --git a/activitysim/examples/example_mtc/configs/summarize.yaml b/activitysim/examples/prototype_mtc/configs/summarize.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/summarize.yaml rename to activitysim/examples/prototype_mtc/configs/summarize.yaml diff --git a/activitysim/examples/example_mtc/configs/summarize_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/summarize_preprocessor.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/summarize_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/summarize_preprocessor.csv diff --git a/activitysim/examples/example_psrc/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/prototype_mtc/configs/tour_departure_and_duration_alternatives.csv old mode 100755 new mode 100644 similarity index 84% rename from activitysim/examples/example_psrc/configs/tour_departure_and_duration_alternatives.csv rename to activitysim/examples/prototype_mtc/configs/tour_departure_and_duration_alternatives.csv index 05f02b7964..bddab06b9d --- a/activitysim/examples/example_psrc/configs/tour_departure_and_duration_alternatives.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_departure_and_duration_alternatives.csv @@ -1,191 +1,191 @@ -start,end -5,5 -5,6 -5,7 -5,8 -5,9 -5,10 -5,11 -5,12 -5,13 -5,14 -5,15 -5,16 -5,17 -5,18 -5,19 -5,20 -5,21 -5,22 -5,23 -6,6 -6,7 -6,8 -6,9 -6,10 -6,11 -6,12 -6,13 -6,14 -6,15 -6,16 -6,17 -6,18 -6,19 -6,20 -6,21 -6,22 -6,23 -7,7 -7,8 -7,9 -7,10 -7,11 -7,12 -7,13 -7,14 -7,15 -7,16 -7,17 -7,18 -7,19 -7,20 -7,21 -7,22 -7,23 -8,8 -8,9 -8,10 -8,11 -8,12 -8,13 -8,14 -8,15 -8,16 -8,17 -8,18 -8,19 -8,20 -8,21 -8,22 -8,23 -9,9 -9,10 -9,11 -9,12 -9,13 -9,14 -9,15 -9,16 -9,17 -9,18 -9,19 -9,20 -9,21 -9,22 -9,23 -10,10 -10,11 -10,12 -10,13 -10,14 -10,15 -10,16 -10,17 -10,18 -10,19 -10,20 -10,21 -10,22 -10,23 -11,11 -11,12 -11,13 -11,14 -11,15 -11,16 -11,17 -11,18 -11,19 -11,20 -11,21 -11,22 -11,23 -12,12 -12,13 -12,14 -12,15 -12,16 -12,17 -12,18 -12,19 -12,20 -12,21 -12,22 -12,23 -13,13 -13,14 -13,15 -13,16 -13,17 -13,18 -13,19 -13,20 -13,21 -13,22 -13,23 -14,14 -14,15 -14,16 -14,17 -14,18 -14,19 -14,20 -14,21 -14,22 -14,23 -15,15 -15,16 -15,17 -15,18 -15,19 -15,20 -15,21 -15,22 -15,23 -16,16 -16,17 -16,18 -16,19 -16,20 -16,21 -16,22 -16,23 -17,17 -17,18 -17,19 -17,20 -17,21 -17,22 -17,23 -18,18 -18,19 -18,20 -18,21 -18,22 -18,23 -19,19 -19,20 -19,21 -19,22 -19,23 -20,20 -20,21 -20,22 -20,23 -21,21 -21,22 -21,23 -22,22 -22,23 +start,end +5,5 +5,6 +5,7 +5,8 +5,9 +5,10 +5,11 +5,12 +5,13 +5,14 +5,15 +5,16 +5,17 +5,18 +5,19 +5,20 +5,21 +5,22 +5,23 +6,6 +6,7 +6,8 +6,9 +6,10 +6,11 +6,12 +6,13 +6,14 +6,15 +6,16 +6,17 +6,18 +6,19 +6,20 +6,21 +6,22 +6,23 +7,7 +7,8 +7,9 +7,10 +7,11 +7,12 +7,13 +7,14 +7,15 +7,16 +7,17 +7,18 +7,19 +7,20 +7,21 +7,22 +7,23 +8,8 +8,9 +8,10 +8,11 +8,12 +8,13 +8,14 +8,15 +8,16 +8,17 +8,18 +8,19 +8,20 +8,21 +8,22 +8,23 +9,9 +9,10 +9,11 +9,12 +9,13 +9,14 +9,15 +9,16 +9,17 +9,18 +9,19 +9,20 +9,21 +9,22 +9,23 +10,10 +10,11 +10,12 +10,13 +10,14 +10,15 +10,16 +10,17 +10,18 +10,19 +10,20 +10,21 +10,22 +10,23 +11,11 +11,12 +11,13 +11,14 +11,15 +11,16 +11,17 +11,18 +11,19 +11,20 +11,21 +11,22 +11,23 +12,12 +12,13 +12,14 +12,15 +12,16 +12,17 +12,18 +12,19 +12,20 +12,21 +12,22 +12,23 +13,13 +13,14 +13,15 +13,16 +13,17 +13,18 +13,19 +13,20 +13,21 +13,22 +13,23 +14,14 +14,15 +14,16 +14,17 +14,18 +14,19 +14,20 +14,21 +14,22 +14,23 +15,15 +15,16 +15,17 +15,18 +15,19 +15,20 +15,21 +15,22 +15,23 +16,16 +16,17 +16,18 +16,19 +16,20 +16,21 +16,22 +16,23 +17,17 +17,18 +17,19 +17,20 +17,21 +17,22 +17,23 +18,18 +18,19 +18,20 +18,21 +18,22 +18,23 +19,19 +19,20 +19,21 +19,22 +19,23 +20,20 +20,21 +20,22 +20,23 +21,21 +21,22 +21,23 +22,22 +22,23 23,23 \ No newline at end of file diff --git a/activitysim/examples/example_sandag/configs_2_zone/tour_departure_and_duration_segments.csv b/activitysim/examples/prototype_mtc/configs/tour_departure_and_duration_segments.csv similarity index 100% rename from activitysim/examples/example_sandag/configs_2_zone/tour_departure_and_duration_segments.csv rename to activitysim/examples/prototype_mtc/configs/tour_departure_and_duration_segments.csv diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice.csv b/activitysim/examples/prototype_mtc/configs/tour_mode_choice.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/tour_mode_choice.csv rename to activitysim/examples/prototype_mtc/configs/tour_mode_choice.csv index 8f6e7aadb9..5bd4898e03 100644 --- a/activitysim/examples/example_mtc/configs/tour_mode_choice.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_mode_choice.csv @@ -1,344 +1,344 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, -#,Walk,,,,,,,,,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, -#,Bike,,,,,,,,,,,,,,,,,,,,,, -#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, -#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_WLK_BOARDS']-1).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_WLK_FAR'] + dot_skims['WLK_LOC_WLK_FAR']),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, -#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -#, FIXME coefficients below are wrong or needlessly complex? could be re-expressed to avoid subtract?,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_WLK_BOARDS']-1).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_WLK_FAR'] + dot_skims['WLK_LRF_WLK_FAR']),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Topology,WALK_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, -#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_WLK_FAR'] + dot_skims['WLK_EXP_WLK_FAR']),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Topology,WALK_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, -#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@wegr_multiplier * 2 *df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_WLK_FAR'] + dot_skims['WLK_HVY_WLK_FAR']),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Topology,WALK_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, -#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_WLK_FAR'] + dot_skims['WLK_COM_WLK_FAR']),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Topology,WALK_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,, -#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LOC_Unavailable,DRIVE_LOC - Unavailable,drive_local_available == False,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_number_of_transfers,DRIVE_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_access_time,DRIVE_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_egress_time,DRIVE_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,1,,,,,,, -util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, -#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LRF_Unavailable,DRIVE_LRF - Unavailable,drive_lrf_available == False,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_number_of_transfers,DRIVE_LRF - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_access_time,DRIVE_LRF - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_egress_time,DRIVE_LRF - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,1,,,,,, -util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, -#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_EXP_Unavailable,DRIVE_EXP - Unavailable,drive_express_available == False,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_number_of_transfers,DRIVE_EXP - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_access_time,DRIVE_EXP - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_egress_ime,DRIVE_EXP - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,1,,,,, -util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, -#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_HVY_Unavailable,DRIVE_HVY - Unavailable,drive_heavyrail_available == False,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_number_of_transfers,DRIVE_HVY - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_access_time,DRIVE_HVY - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_egress_time,DRIVE_HVY - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, -util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, -#,Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_COM_Unavailable,DRIVE_COM - Unavailable,drive_commuter_available == False,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_number_of_transfers,DRIVE_COM - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_access_time,DRIVE_COM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_egress_time,DRIVE_COM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,,1,,, -util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Topology,DRIVE_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,, -#,Taxi,,,,,,,,,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,coef_ivt,, - util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.totalWaitTaxi,,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, -#,TNC Shared,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt -#,indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,,,,,,,,,, -util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,,,,,,,,,, -util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,, -util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,,,,,,,,,, -util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,,,,,,,,,, -util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, -util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, -util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,,,,,,,,,, -util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, -util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, -util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,, -util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,, -util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,, -util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,,, -util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,,, -util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,,, -util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_no_auto,, -util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, -util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, -util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, -util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, -util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, -util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto -util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient -util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient -#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,, -util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,, -util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,, -util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,, -util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, -util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, -util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,, -util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,, -util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,, -util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,,, -util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,,, -util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,,, -util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, -util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, -util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, -util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, -util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, -util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, -util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto -util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient -util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient -util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,,,,,local_bus_ASC,,,,,,, -util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, -util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, -util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, -util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, -util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, -util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, -util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, -util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,, -util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, -#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, -util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, -#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOV_BTOLL'] + dot_skims['SOV_BTOLL']),coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'] + dot_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['SOVTOLL_DIST'] + dot_skims['SOVTOLL_DIST']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_BTOLL'] + dot_skims['SOVTOLL_BTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['SOVTOLL_VTOLL'] + dot_skims['SOVTOLL_VTOLL']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da_multiplier,,,,,,,,,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']) / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']),,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']) / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3_BTOLL'] + dot_skims['HOV3_BTOLL']) / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@(odt_skims['HOV3TOLL_TIME'] + dot_skims['HOV3TOLL_TIME']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@2 * walktimeshort_multiplier * df.terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * (odt_skims['HOV3TOLL_DIST'] + dot_skims['HOV3TOLL_DIST']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.daily_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_BTOLL'] + dot_skims['HOV3TOLL_BTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL']) / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr_multiplier,,,,,,,,,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, +#,Walk,,,,,,,,,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, +#,Bike,,,,,,,,,,,,,,,,,,,,,, +#,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, +#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_WLK_BOARDS']-1).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_WLK_FAR'] + dot_skims['WLK_LOC_WLK_FAR']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, +#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +#, FIXME coefficients below are wrong or needlessly complex? could be re-expressed to avoid subtract?,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_WLK_BOARDS']-1).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_WLK_FAR'] + dot_skims['WLK_LRF_WLK_FAR']),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Topology,WALK_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, +#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_WLK_FAR'] + dot_skims['WLK_EXP_WLK_FAR']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Topology,WALK_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, +#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@wegr_multiplier * 2 *df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_WLK_FAR'] + dot_skims['WLK_HVY_WLK_FAR']),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Topology,WALK_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, +#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_WLK_FAR'] + dot_skims['WLK_COM_WLK_FAR']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Topology,WALK_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,, +#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LOC_Unavailable,DRIVE_LOC - Unavailable,drive_local_available == False,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_number_of_transfers,DRIVE_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_access_time,DRIVE_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_egress_time,DRIVE_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, +#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LRF_Unavailable,DRIVE_LRF - Unavailable,drive_lrf_available == False,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_number_of_transfers,DRIVE_LRF - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_access_time,DRIVE_LRF - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_egress_time,DRIVE_LRF - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, +#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_EXP_Unavailable,DRIVE_EXP - Unavailable,drive_express_available == False,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_number_of_transfers,DRIVE_EXP - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_access_time,DRIVE_EXP - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_egress_ime,DRIVE_EXP - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,1,,,,, +util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, +#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_HVY_Unavailable,DRIVE_HVY - Unavailable,drive_heavyrail_available == False,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_number_of_transfers,DRIVE_HVY - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_access_time,DRIVE_HVY - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_egress_time,DRIVE_HVY - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, +util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, +#,Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_COM_Unavailable,DRIVE_COM - Unavailable,drive_commuter_available == False,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_number_of_transfers,DRIVE_COM - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_access_time,DRIVE_COM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_egress_time,DRIVE_COM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Topology,DRIVE_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,, +#,Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,coef_ivt,, + util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.totalWaitTaxi,,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * Taxi_costPerMile +(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, +#,TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + odr_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL'] + dor_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2TOLL_DIST'] + dot_skims['HOV2TOLL_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2TOLL_TIME'] + dot_skims['HOV2TOLL_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt +#,indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Walk_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,walk_ASC_no_auto,,,,,,,,,,,,,, +util_Walk_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_Walk_ASC_Auto_sufficient,Walk ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_Bike_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,bike_ASC_no_auto,,,,,,,,,,,,, +util_Bike_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_deficient,,,,,,,,,,,,, +util_Bike_ASC_Auto_sufficient,Bike ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr2_ASC_no_auto,sr2_ASC_no_auto,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_deficient,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_Shared_ride_3p_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,sr3p_ASC_no_auto,sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Shared_ride_3p_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Shared_ride_3p_Auto_sufficient,Shared ride 3+ - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_Walk_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,, +util_Walk_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,, +util_Walk_to_Transit_Auto_sufficient,Walk to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,, +util_Drive_to_Transit_Zero_auto,Drive to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,drive_transit_ASC_no_auto,,, +util_Drive_to_Transit_Auto_deficient,Drive to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient,,, +util_Drive_to_Transit_Auto_sufficient,Drive to Transit - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_no_auto,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient +#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,, +util_Joint_Walk_ASC_Auto_sufficient,Joint - Walk ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,, +util_Joint_Bike_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,, +util_Joint_Bike_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,, +util_Joint_Bike_ASC_Auto_sufficient,Joint - Bike ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3p_Auto_sufficient,Joint - Shared ride 3+ - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,, +util_Joint_Walk_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,, +util_Joint_Walk_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,, +util_Joint_Walk_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,, +util_Joint_Drive_to_Transit_Zero_auto,Joint - Drive to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto,,, +util_Joint_Drive_to_Transit_Auto_deficient,Joint - Drive to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient,,, +util_Joint_Drive_to_Transit_Auto_sufficient,Joint - Drive to Transit - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient +util_Local_bus_ASC,Local bus ASC,1,,,,,,,,,local_bus_ASC,,,,,local_bus_ASC,,,,,,, +util_Walk_to_Light_Rail_ASC,Walk to Light Rail ASC,@(df.walk_ferry_available == False),,,,,,,,,,walk_light_rail_ASC,,,,,,,,,,, +util_Drive_to_Light_Rail_ASC,Drive to Light Rail ASC,@(df.drive_ferry_available == False),,,,,,,,,,,,,,,drive_light_rail_ASC,,,,,, +util_Walk_to_Ferry_ASC,Walk to Ferry ASC,@df.walk_ferry_available,,,,,,,,,,walk_ferry_ASC,,,,,,,,,,, +util_Drive_to_Ferry_ASC,Drive to Ferry ASC,@df.drive_ferry_available,,,,,,,,,,,,,,,drive_ferry_ASC,,,,,, +util_Express_Bus_ASC,Express Bus ASC,1,,,,,,,,,,,express_bus_ASC,,,,,express_bus_ASC,,,,, +util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_ASC,,,, +util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, +util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,, +util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, +#, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, +util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, +#, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice.yaml b/activitysim/examples/prototype_mtc/configs/tour_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_mode_choice.yaml rename to activitysim/examples/prototype_mtc/configs/tour_mode_choice.yaml diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice_coefficients.csv b/activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients.csv similarity index 97% rename from activitysim/examples/example_mtc/configs/tour_mode_choice_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients.csv index c5d9a264a2..9693953808 100644 --- a/activitysim/examples/example_mtc/configs/tour_mode_choice_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients.csv @@ -1,308 +1,308 @@ -coefficient_name,value,constrain -coef_one,1,T -coef_nest_root,1.00,T -coef_nest_AUTO,0.72,T -coef_nest_AUTO_DRIVEALONE,0.35,T -coef_nest_AUTO_SHAREDRIDE2,0.35,T -coef_nest_AUTO_SHAREDRIDE3,0.35,T -coef_nest_NONMOTORIZED,0.72,T -coef_nest_TRANSIT,0.72,T -coef_nest_TRANSIT_WALKACCESS,0.5,T -coef_nest_TRANSIT_DRIVEACCESS,0.5,T -coef_nest_RIDEHAIL,0.36,T -coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F -coef_ivt_school_univ,-0.0224,F -coef_ivt_work,-0.0134,F -coef_ivt_atwork,-0.0188,F -coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F -coef_topology_walk_multiplier_atwork,7.5,F -coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F -coef_topology_bike_multiplier_atwork,10,F -coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F -coef_topology_trn_multiplier_atwork,2,F -coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age1619_da_multiplier_school_univ,-1.3813,F -coef_age1619_da_multiplier_atwork,0.0032336,F -coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F -coef_age010_trn_multiplier_school_univ,-1.5548,F -coef_age010_trn_multiplier_atwork,0.000722,F -coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F -coef_age16p_sr_multiplier_school_univ_work_atwork,0,F -coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F -coef_hhsize1_sr_multiplier_work,-0.734588,F -coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F -coef_hhsize2_sr_multiplier_school_univ,-0.6359,F -walk_ASC_no_auto_eatout,5.1251173,F -walk_ASC_no_auto_escort,2.8012068,F -walk_ASC_no_auto_othdiscr,3.2665946,F -walk_ASC_no_auto_othmaint,1.287299,F -walk_ASC_no_auto_school,18.414557,F -walk_ASC_no_auto_shopping,2.3768773,F -walk_ASC_no_auto_social,1.8680915,F -walk_ASC_no_auto_univ,6.408967,F -walk_ASC_no_auto_work,5.7672157,F -walk_ASC_no_auto_atwork,6.669213,F -walk_ASC_auto_deficient_eatout,3.274605,F -walk_ASC_auto_deficient_escort,-0.90204656,F -walk_ASC_auto_deficient_othdiscr,2.2494075,F -walk_ASC_auto_deficient_othmaint,1.3690404,F -walk_ASC_auto_deficient_school,3.2573624,F -walk_ASC_auto_deficient_shopping,2.2701733,F -walk_ASC_auto_deficient_social,2.870184,F -walk_ASC_auto_deficient_univ,4.50591,F -walk_ASC_auto_deficient_work,2.4010417,F -walk_ASC_auto_deficient_atwork,0.92546093,F -walk_ASC_auto_sufficient_eatout,1.5516903,F -walk_ASC_auto_sufficient_escort,-0.8116066,F -walk_ASC_auto_sufficient_othdiscr,1.2633476,F -walk_ASC_auto_sufficient_othmaint,0.7999634,F -walk_ASC_auto_sufficient_school,0.6476856,F -walk_ASC_auto_sufficient_shopping,0.7312663,F -walk_ASC_auto_sufficient_social,1.7072186,F -walk_ASC_auto_sufficient_univ,1.0607665,F -walk_ASC_auto_sufficient_work,0.053265337,F -walk_ASC_auto_sufficient_atwork,0.677216,F -bike_ASC_no_auto_eatout,0.86807096,F -bike_ASC_no_auto_escort,-0.716212,F -bike_ASC_no_auto_othdiscr,-0.3764232,F -bike_ASC_no_auto_othmaint,1.5394334,F -bike_ASC_no_auto_school,12.098735,F -bike_ASC_no_auto_shopping,0.8341555,F -bike_ASC_no_auto_social,0.02058321,F -bike_ASC_no_auto_univ,4.2945156,F -bike_ASC_no_auto_work,3.1940088,F -bike_ASC_no_auto_atwork,-0.90725845,F -bike_ASC_auto_deficient_eatout,-1.5691106,F -bike_ASC_auto_deficient_escort,-4.527928,F -bike_ASC_auto_deficient_othdiscr,-0.09246834,F -bike_ASC_auto_deficient_othmaint,-1.5184649,F -bike_ASC_auto_deficient_school,-0.5280678,F -bike_ASC_auto_deficient_shopping,-0.87584466,F -bike_ASC_auto_deficient_social,0.6345214,F -bike_ASC_auto_deficient_univ,-0.669235,F -bike_ASC_auto_deficient_work,0.25318968,F -bike_ASC_auto_deficient_atwork,-0.8074083,F -bike_ASC_auto_sufficient_eatout,-1.2003471,F -bike_ASC_auto_sufficient_escort,-5.0631084,F -bike_ASC_auto_sufficient_othdiscr,-1.0714597,F -bike_ASC_auto_sufficient_othmaint,-2.8083024,F -bike_ASC_auto_sufficient_school,-2.1134686,F -bike_ASC_auto_sufficient_shopping,-2.5662103,F -bike_ASC_auto_sufficient_social,-1.368071,F -bike_ASC_auto_sufficient_univ,-1.9397832,F -bike_ASC_auto_sufficient_work,-1.5800232,F -bike_ASC_auto_sufficient_atwork,15.72017,F -sr2_ASC_no_auto_all,0,F -sr2_ASC_auto_deficient_eatout,0.5882345,F -sr2_ASC_auto_deficient_escort,0,F -sr2_ASC_auto_deficient_othdiscr,0.6601513,F -sr2_ASC_auto_deficient_othmaint,0.2621527,F -sr2_ASC_auto_deficient_school,0.12474365,F -sr2_ASC_auto_deficient_shopping,0.24409756,F -sr2_ASC_auto_deficient_social,1.8558528,F -sr2_ASC_auto_deficient_univ,-1.6922346,F -sr2_ASC_auto_deficient_work,-0.33803123,F -sr2_ASC_auto_deficient_atwork,-2.1102421,F -sr2_ASC_auto_sufficient_eatout,0.86280555,F -sr2_ASC_auto_sufficient_escort,0,F -sr2_ASC_auto_sufficient_othdiscr,0.49684617,F -sr2_ASC_auto_sufficient_othmaint,0.25817883,F -sr2_ASC_auto_sufficient_school,-1.6062657,F -sr2_ASC_auto_sufficient_shopping,0.19770707,F -sr2_ASC_auto_sufficient_social,0.5236025,F -sr2_ASC_auto_sufficient_univ,-1.859427,F -sr2_ASC_auto_sufficient_work,-1.0857458,F -sr2_ASC_auto_sufficient_atwork,-1.4450618,F -sr3p_ASC_no_auto_eatout,0.3219998,F -sr3p_ASC_no_auto_escort,-1.8129267,F -sr3p_ASC_no_auto_othdiscr,0.27216902,F -sr3p_ASC_no_auto_othmaint,-0.8031854,F -sr3p_ASC_no_auto_school,-6.0240827,F -sr3p_ASC_no_auto_shopping,-0.27978948,F -sr3p_ASC_no_auto_social,-1.4036902,F -sr3p_ASC_no_auto_univ,-6.056001,F -sr3p_ASC_no_auto_work,-0.5831269,F -sr3p_ASC_no_auto_atwork,0.5826626,F -sr3p_ASC_auto_deficient_eatout,0.04605236,F -sr3p_ASC_auto_deficient_escort,-0.40818766,F -sr3p_ASC_auto_deficient_othdiscr,1.0470966,F -sr3p_ASC_auto_deficient_othmaint,-1.3493925,F -sr3p_ASC_auto_deficient_school,0.7149571,F -sr3p_ASC_auto_deficient_shopping,-0.073370166,F -sr3p_ASC_auto_deficient_social,1.5007243,F -sr3p_ASC_auto_deficient_univ,-1.7277422,F -sr3p_ASC_auto_deficient_work,-0.8527042,F -sr3p_ASC_auto_deficient_atwork,-2.514658,F -sr3p_ASC_auto_sufficient_eatout,0.8468596,F -sr3p_ASC_auto_sufficient_escort,-0.05741253,F -sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F -sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F -sr3p_ASC_auto_sufficient_school,-1.0201935,F -sr3p_ASC_auto_sufficient_shopping,-0.077571295,F -sr3p_ASC_auto_sufficient_social,0.50617886,F -sr3p_ASC_auto_sufficient_univ,-1.9047098,F -sr3p_ASC_auto_sufficient_work,-1.4699702,F -sr3p_ASC_auto_sufficient_atwork,-1.652174,F -walk_transit_ASC_no_auto_eatout,2.5936368,F -walk_transit_ASC_no_auto_escort,-2.2172081,F -walk_transit_ASC_no_auto_othdiscr,2.2437785,F -walk_transit_ASC_no_auto_othmaint,2.5643456,F -walk_transit_ASC_no_auto_school,21.383749,F -walk_transit_ASC_no_auto_shopping,2.1067476,F -walk_transit_ASC_no_auto_social,1.3814651,F -walk_transit_ASC_no_auto_univ,8.786037,F -walk_transit_ASC_no_auto_work,5.0354166,F -walk_transit_ASC_no_auto_atwork,2.7041876,F -walk_transit_ASC_auto_deficient_eatout,-0.03896324,F -walk_transit_ASC_auto_deficient_escort,-4.960704,F -walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F -walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F -walk_transit_ASC_auto_deficient_school,4.120708,F -walk_transit_ASC_auto_deficient_shopping,-0.8476569,F -walk_transit_ASC_auto_deficient_social,0.97444487,F -walk_transit_ASC_auto_deficient_univ,3.1362555,F -walk_transit_ASC_auto_deficient_work,0.65302855,F -walk_transit_ASC_auto_deficient_atwork,-2.9988291,F -walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F -walk_transit_ASC_auto_sufficient_escort,-4.934847,F -walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F -walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F -walk_transit_ASC_auto_sufficient_school,0.74590874,F -walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F -walk_transit_ASC_auto_sufficient_social,-0.3453759,F -walk_transit_ASC_auto_sufficient_univ,0.4731163,F -walk_transit_ASC_auto_sufficient_work,-0.8916507,F -walk_transit_ASC_auto_sufficient_atwork,-3.401027,F -drive_transit_ASC_no_auto_all,0,F -drive_transit_ASC_auto_deficient_eatout,0.5998061,F -drive_transit_ASC_auto_deficient_escort,-1.1537067,F -drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F -drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F -drive_transit_ASC_auto_deficient_school,5.3252654,F -drive_transit_ASC_auto_deficient_shopping,-0.41849178,F -drive_transit_ASC_auto_deficient_social,1.5627195,F -drive_transit_ASC_auto_deficient_univ,1.8501176,F -drive_transit_ASC_auto_deficient_work,0.10081567,F -drive_transit_ASC_auto_deficient_atwork,-998.8196,F -drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F -drive_transit_ASC_auto_sufficient_escort,-4.6014247,F -drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F -drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F -drive_transit_ASC_auto_sufficient_school,1.40135,F -drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F -drive_transit_ASC_auto_sufficient_social,-0.61585575,F -drive_transit_ASC_auto_sufficient_univ,1.3587753,F -drive_transit_ASC_auto_sufficient_work,-1.0045459,F -drive_transit_ASC_auto_sufficient_atwork,-999.21466,F -taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F -taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F -taxi_ASC_no_auto_school_univ,-7,T -taxi_ASC_no_auto_work,4.7291,F -taxi_ASC_no_auto_atwork,4.1021,F -taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F -taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F -taxi_ASC_auto_deficient_school,-0.3338,F -taxi_ASC_auto_deficient_univ,4.2492,F -taxi_ASC_auto_deficient_work,-1.4766,F -taxi_ASC_auto_deficient_atwork,-4.4046,F -taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F -taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F -taxi_ASC_auto_sufficient_school,-2.4294,F -taxi_ASC_auto_sufficient_univ,-0.3131,F -taxi_ASC_auto_sufficient_work,-4.8509,F -taxi_ASC_auto_sufficient_atwork,-2.8804,F -tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F -tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F -tnc_single_ASC_no_auto_school,-7,T -tnc_single_ASC_no_auto_univ,-2.519,F -tnc_single_ASC_no_auto_work,5.7855,F -tnc_single_ASC_no_auto_atwork,4.4982,F -tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F -tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F -tnc_single_ASC_auto_deficient_school,-0.5524,F -tnc_single_ASC_auto_deficient_univ,1.0221,F -tnc_single_ASC_auto_deficient_work,-0.8013,F -tnc_single_ASC_auto_deficient_atwork,-3.7626,F -tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F -tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F -tnc_single_ASC_auto_sufficient_school,-2.8375,F -tnc_single_ASC_auto_sufficient_univ,0.2088,F -tnc_single_ASC_auto_sufficient_work,-4.1946,F -tnc_single_ASC_auto_sufficient_atwork,-2.7988,F -tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F -tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F -tnc_shared_ASC_no_auto_school,-7,T -tnc_shared_ASC_no_auto_univ,-5.8116,F -tnc_shared_ASC_no_auto_work,3.2429,F -tnc_shared_ASC_no_auto_atwork,3.3672,F -tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F -tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F -tnc_shared_ASC_auto_deficient_school,-1.4746,F -tnc_shared_ASC_auto_deficient_univ,3.25,F -tnc_shared_ASC_auto_deficient_work,-2.1435,F -tnc_shared_ASC_auto_deficient_atwork,-4.5089,F -tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F -tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F -tnc_shared_ASC_auto_sufficient_school,-3.7219,F -tnc_shared_ASC_auto_sufficient_univ,-0.9068,F -tnc_shared_ASC_auto_sufficient_work,-5.3575,F -tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F -joint_walk_ASC_no_auto_all,-0.21274701,F -joint_walk_ASC_auto_deficient_all,-1.9607706,F -joint_walk_ASC_auto_sufficient_all,-3.2352157,F -joint_bike_ASC_no_auto_all,-2.8671598,F -joint_bike_ASC_auto_deficient_all,-6.076415,F -joint_bike_ASC_auto_sufficient_all,-6.3760657,F -joint_sr2_ASC_no_auto_all,0,T -joint_sr2_ASC_auto_deficient_all,0,T -joint_sr2_ASC_auto_sufficient_all,0,T -joint_sr3p_ASC_no_auto_all,0.5630671,F -joint_sr3p_ASC_auto_deficient_all,-1.8841692,F -joint_sr3p_ASC_auto_sufficient_all,-2.234826,F -joint_walk_transit_ASC_no_auto_all,0.62292415,F -joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F -joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F -joint_drive_transit_ASC_no_auto_all,0,T -joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F -joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F -joint_taxi_ASC_no_auto_all,-4.5792,F -joint_taxi_ASC_auto_deficient_all,-9.8157,F -joint_taxi_ASC_auto_sufficient_all,-11.7099,T -joint_tnc_single_ASC_no_auto_all,-4.4917,F -joint_tnc_single_ASC_auto_deficient_all,-9.8961,F -joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T -joint_tnc_shared_ASC_no_auto_all,-4.3002,F -joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F -joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T -local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F -local_bus_ASC_school_univ,-0.06508621,F -local_bus_ASC_work,0.06689507,F -walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -walk_light_rail_ASC_school_univ,1.6814003,F -walk_light_rail_ASC_work,0.8255567,F -drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F -drive_light_rail_ASC_school_univ,1.6814003,F -drive_light_rail_ASC_work,0.8255567,F -walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -walk_ferry_ASC_school_univ,2.0202317,F -walk_ferry_ASC_work,0.93322605,F -drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F -drive_ferry_ASC_school_univ,2.0202317,F -drive_ferry_ASC_work,0.93322605,F -express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F -express_bus_ASC_school_univ,0.32496938,F -express_bus_ASC_work,-0.5165474,F -heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F -heavy_rail_ASC_school_univ,0.96200377,F -heavy_rail_ASC_work,0.64772975,F -commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F -commuter_rail_ASC_school_univ,1.0336206,F -commuter_rail_ASC_work,0.725503,F -walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -walk_transit_CBD_ASC_school_univ,0.672,F -walk_transit_CBD_ASC_work,0.804,F -walk_transit_CBD_ASC_atwork,0.564,F -drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F -drive_transit_CBD_ASC_school_univ,0.672,F -drive_transit_CBD_ASC_work,1.1,F -drive_transit_CBD_ASC_atwork,0.564,F +coefficient_name,value,constrain +coef_one,1,T +coef_nest_root,1.00,T +coef_nest_AUTO,0.72,T +coef_nest_AUTO_DRIVEALONE,0.35,T +coef_nest_AUTO_SHAREDRIDE2,0.35,T +coef_nest_AUTO_SHAREDRIDE3,0.35,T +coef_nest_NONMOTORIZED,0.72,T +coef_nest_TRANSIT,0.72,T +coef_nest_TRANSIT_WALKACCESS,0.5,T +coef_nest_TRANSIT_DRIVEACCESS,0.5,T +coef_nest_RIDEHAIL,0.36,T +coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,-0.0175,F +coef_ivt_school_univ,-0.0224,F +coef_ivt_work,-0.0134,F +coef_ivt_atwork,-0.0188,F +coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,15,F +coef_topology_walk_multiplier_atwork,7.5,F +coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,20,F +coef_topology_bike_multiplier_atwork,10,F +coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,2.2,F +coef_topology_trn_multiplier_atwork,2,F +coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age1619_da_multiplier_school_univ,-1.3813,F +coef_age1619_da_multiplier_atwork,0.0032336,F +coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,0,F +coef_age010_trn_multiplier_school_univ,-1.5548,F +coef_age010_trn_multiplier_atwork,0.000722,F +coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,-1.366,F +coef_age16p_sr_multiplier_school_univ_work_atwork,0,F +coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,0,F +coef_hhsize1_sr_multiplier_work,-0.734588,F +coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,0,F +coef_hhsize2_sr_multiplier_school_univ,-0.6359,F +walk_ASC_no_auto_eatout,5.1251173,F +walk_ASC_no_auto_escort,2.8012068,F +walk_ASC_no_auto_othdiscr,3.2665946,F +walk_ASC_no_auto_othmaint,1.287299,F +walk_ASC_no_auto_school,18.414557,F +walk_ASC_no_auto_shopping,2.3768773,F +walk_ASC_no_auto_social,1.8680915,F +walk_ASC_no_auto_univ,6.408967,F +walk_ASC_no_auto_work,5.7672157,F +walk_ASC_no_auto_atwork,6.669213,F +walk_ASC_auto_deficient_eatout,3.274605,F +walk_ASC_auto_deficient_escort,-0.90204656,F +walk_ASC_auto_deficient_othdiscr,2.2494075,F +walk_ASC_auto_deficient_othmaint,1.3690404,F +walk_ASC_auto_deficient_school,3.2573624,F +walk_ASC_auto_deficient_shopping,2.2701733,F +walk_ASC_auto_deficient_social,2.870184,F +walk_ASC_auto_deficient_univ,4.50591,F +walk_ASC_auto_deficient_work,2.4010417,F +walk_ASC_auto_deficient_atwork,0.92546093,F +walk_ASC_auto_sufficient_eatout,1.5516903,F +walk_ASC_auto_sufficient_escort,-0.8116066,F +walk_ASC_auto_sufficient_othdiscr,1.2633476,F +walk_ASC_auto_sufficient_othmaint,0.7999634,F +walk_ASC_auto_sufficient_school,0.6476856,F +walk_ASC_auto_sufficient_shopping,0.7312663,F +walk_ASC_auto_sufficient_social,1.7072186,F +walk_ASC_auto_sufficient_univ,1.0607665,F +walk_ASC_auto_sufficient_work,0.053265337,F +walk_ASC_auto_sufficient_atwork,0.677216,F +bike_ASC_no_auto_eatout,0.86807096,F +bike_ASC_no_auto_escort,-0.716212,F +bike_ASC_no_auto_othdiscr,-0.3764232,F +bike_ASC_no_auto_othmaint,1.5394334,F +bike_ASC_no_auto_school,12.098735,F +bike_ASC_no_auto_shopping,0.8341555,F +bike_ASC_no_auto_social,0.02058321,F +bike_ASC_no_auto_univ,4.2945156,F +bike_ASC_no_auto_work,3.1940088,F +bike_ASC_no_auto_atwork,-0.90725845,F +bike_ASC_auto_deficient_eatout,-1.5691106,F +bike_ASC_auto_deficient_escort,-4.527928,F +bike_ASC_auto_deficient_othdiscr,-0.09246834,F +bike_ASC_auto_deficient_othmaint,-1.5184649,F +bike_ASC_auto_deficient_school,-0.5280678,F +bike_ASC_auto_deficient_shopping,-0.87584466,F +bike_ASC_auto_deficient_social,0.6345214,F +bike_ASC_auto_deficient_univ,-0.669235,F +bike_ASC_auto_deficient_work,0.25318968,F +bike_ASC_auto_deficient_atwork,-0.8074083,F +bike_ASC_auto_sufficient_eatout,-1.2003471,F +bike_ASC_auto_sufficient_escort,-5.0631084,F +bike_ASC_auto_sufficient_othdiscr,-1.0714597,F +bike_ASC_auto_sufficient_othmaint,-2.8083024,F +bike_ASC_auto_sufficient_school,-2.1134686,F +bike_ASC_auto_sufficient_shopping,-2.5662103,F +bike_ASC_auto_sufficient_social,-1.368071,F +bike_ASC_auto_sufficient_univ,-1.9397832,F +bike_ASC_auto_sufficient_work,-1.5800232,F +bike_ASC_auto_sufficient_atwork,15.72017,F +sr2_ASC_no_auto_all,0,F +sr2_ASC_auto_deficient_eatout,0.5882345,F +sr2_ASC_auto_deficient_escort,0,F +sr2_ASC_auto_deficient_othdiscr,0.6601513,F +sr2_ASC_auto_deficient_othmaint,0.2621527,F +sr2_ASC_auto_deficient_school,0.12474365,F +sr2_ASC_auto_deficient_shopping,0.24409756,F +sr2_ASC_auto_deficient_social,1.8558528,F +sr2_ASC_auto_deficient_univ,-1.6922346,F +sr2_ASC_auto_deficient_work,-0.33803123,F +sr2_ASC_auto_deficient_atwork,-2.1102421,F +sr2_ASC_auto_sufficient_eatout,0.86280555,F +sr2_ASC_auto_sufficient_escort,0,F +sr2_ASC_auto_sufficient_othdiscr,0.49684617,F +sr2_ASC_auto_sufficient_othmaint,0.25817883,F +sr2_ASC_auto_sufficient_school,-1.6062657,F +sr2_ASC_auto_sufficient_shopping,0.19770707,F +sr2_ASC_auto_sufficient_social,0.5236025,F +sr2_ASC_auto_sufficient_univ,-1.859427,F +sr2_ASC_auto_sufficient_work,-1.0857458,F +sr2_ASC_auto_sufficient_atwork,-1.4450618,F +sr3p_ASC_no_auto_eatout,0.3219998,F +sr3p_ASC_no_auto_escort,-1.8129267,F +sr3p_ASC_no_auto_othdiscr,0.27216902,F +sr3p_ASC_no_auto_othmaint,-0.8031854,F +sr3p_ASC_no_auto_school,-6.0240827,F +sr3p_ASC_no_auto_shopping,-0.27978948,F +sr3p_ASC_no_auto_social,-1.4036902,F +sr3p_ASC_no_auto_univ,-6.056001,F +sr3p_ASC_no_auto_work,-0.5831269,F +sr3p_ASC_no_auto_atwork,0.5826626,F +sr3p_ASC_auto_deficient_eatout,0.04605236,F +sr3p_ASC_auto_deficient_escort,-0.40818766,F +sr3p_ASC_auto_deficient_othdiscr,1.0470966,F +sr3p_ASC_auto_deficient_othmaint,-1.3493925,F +sr3p_ASC_auto_deficient_school,0.7149571,F +sr3p_ASC_auto_deficient_shopping,-0.073370166,F +sr3p_ASC_auto_deficient_social,1.5007243,F +sr3p_ASC_auto_deficient_univ,-1.7277422,F +sr3p_ASC_auto_deficient_work,-0.8527042,F +sr3p_ASC_auto_deficient_atwork,-2.514658,F +sr3p_ASC_auto_sufficient_eatout,0.8468596,F +sr3p_ASC_auto_sufficient_escort,-0.05741253,F +sr3p_ASC_auto_sufficient_othdiscr,0.58850205,F +sr3p_ASC_auto_sufficient_othmaint,-0.07549867,F +sr3p_ASC_auto_sufficient_school,-1.0201935,F +sr3p_ASC_auto_sufficient_shopping,-0.077571295,F +sr3p_ASC_auto_sufficient_social,0.50617886,F +sr3p_ASC_auto_sufficient_univ,-1.9047098,F +sr3p_ASC_auto_sufficient_work,-1.4699702,F +sr3p_ASC_auto_sufficient_atwork,-1.652174,F +walk_transit_ASC_no_auto_eatout,2.5936368,F +walk_transit_ASC_no_auto_escort,-2.2172081,F +walk_transit_ASC_no_auto_othdiscr,2.2437785,F +walk_transit_ASC_no_auto_othmaint,2.5643456,F +walk_transit_ASC_no_auto_school,21.383749,F +walk_transit_ASC_no_auto_shopping,2.1067476,F +walk_transit_ASC_no_auto_social,1.3814651,F +walk_transit_ASC_no_auto_univ,8.786037,F +walk_transit_ASC_no_auto_work,5.0354166,F +walk_transit_ASC_no_auto_atwork,2.7041876,F +walk_transit_ASC_auto_deficient_eatout,-0.03896324,F +walk_transit_ASC_auto_deficient_escort,-4.960704,F +walk_transit_ASC_auto_deficient_othdiscr,0.9530884,F +walk_transit_ASC_auto_deficient_othmaint,-3.0597258,F +walk_transit_ASC_auto_deficient_school,4.120708,F +walk_transit_ASC_auto_deficient_shopping,-0.8476569,F +walk_transit_ASC_auto_deficient_social,0.97444487,F +walk_transit_ASC_auto_deficient_univ,3.1362555,F +walk_transit_ASC_auto_deficient_work,0.65302855,F +walk_transit_ASC_auto_deficient_atwork,-2.9988291,F +walk_transit_ASC_auto_sufficient_eatout,-1.1126906,F +walk_transit_ASC_auto_sufficient_escort,-4.934847,F +walk_transit_ASC_auto_sufficient_othdiscr,-0.80636793,F +walk_transit_ASC_auto_sufficient_othmaint,-1.5471172,F +walk_transit_ASC_auto_sufficient_school,0.74590874,F +walk_transit_ASC_auto_sufficient_shopping,-2.2036798,F +walk_transit_ASC_auto_sufficient_social,-0.3453759,F +walk_transit_ASC_auto_sufficient_univ,0.4731163,F +walk_transit_ASC_auto_sufficient_work,-0.8916507,F +walk_transit_ASC_auto_sufficient_atwork,-3.401027,F +drive_transit_ASC_no_auto_all,0,F +drive_transit_ASC_auto_deficient_eatout,0.5998061,F +drive_transit_ASC_auto_deficient_escort,-1.1537067,F +drive_transit_ASC_auto_deficient_othdiscr,0.3199308,F +drive_transit_ASC_auto_deficient_othmaint,-0.29943228,F +drive_transit_ASC_auto_deficient_school,5.3252654,F +drive_transit_ASC_auto_deficient_shopping,-0.41849178,F +drive_transit_ASC_auto_deficient_social,1.5627195,F +drive_transit_ASC_auto_deficient_univ,1.8501176,F +drive_transit_ASC_auto_deficient_work,0.10081567,F +drive_transit_ASC_auto_deficient_atwork,-998.8196,F +drive_transit_ASC_auto_sufficient_eatout,-0.96951586,F +drive_transit_ASC_auto_sufficient_escort,-4.6014247,F +drive_transit_ASC_auto_sufficient_othdiscr,-0.3785917,F +drive_transit_ASC_auto_sufficient_othmaint,-2.6249478,F +drive_transit_ASC_auto_sufficient_school,1.40135,F +drive_transit_ASC_auto_sufficient_shopping,-2.1718938,F +drive_transit_ASC_auto_sufficient_social,-0.61585575,F +drive_transit_ASC_auto_sufficient_univ,1.3587753,F +drive_transit_ASC_auto_sufficient_work,-1.0045459,F +drive_transit_ASC_auto_sufficient_atwork,-999.21466,F +taxi_ASC_no_auto_eatout_othdiscr_social,0.9923,F +taxi_ASC_no_auto_escort_othmaint_shopping,1.8939,F +taxi_ASC_no_auto_school_univ,-7,T +taxi_ASC_no_auto_work,4.7291,F +taxi_ASC_no_auto_atwork,4.1021,F +taxi_ASC_auto_deficient_eatout_othdiscr_social,-3.1317,F +taxi_ASC_auto_deficient_escort_othmaint_shopping,0.1766,F +taxi_ASC_auto_deficient_school,-0.3338,F +taxi_ASC_auto_deficient_univ,4.2492,F +taxi_ASC_auto_deficient_work,-1.4766,F +taxi_ASC_auto_deficient_atwork,-4.4046,F +taxi_ASC_auto_sufficient_eatout_othdiscr_social,-3.0374,F +taxi_ASC_auto_sufficient_escort_othmaint_shopping,-1.8055,F +taxi_ASC_auto_sufficient_school,-2.4294,F +taxi_ASC_auto_sufficient_univ,-0.3131,F +taxi_ASC_auto_sufficient_work,-4.8509,F +taxi_ASC_auto_sufficient_atwork,-2.8804,F +tnc_single_ASC_no_auto_eatout_othdiscr_social,1.6852,F +tnc_single_ASC_no_auto_escort_othmaint_shopping,1.8605,F +tnc_single_ASC_no_auto_school,-7,T +tnc_single_ASC_no_auto_univ,-2.519,F +tnc_single_ASC_no_auto_work,5.7855,F +tnc_single_ASC_no_auto_atwork,4.4982,F +tnc_single_ASC_auto_deficient_eatout_othdiscr_social,-2.9623,F +tnc_single_ASC_auto_deficient_escort_othmaint_shopping,0.6748,F +tnc_single_ASC_auto_deficient_school,-0.5524,F +tnc_single_ASC_auto_deficient_univ,1.0221,F +tnc_single_ASC_auto_deficient_work,-0.8013,F +tnc_single_ASC_auto_deficient_atwork,-3.7626,F +tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,-2.3239,F +tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,-1.45,F +tnc_single_ASC_auto_sufficient_school,-2.8375,F +tnc_single_ASC_auto_sufficient_univ,0.2088,F +tnc_single_ASC_auto_sufficient_work,-4.1946,F +tnc_single_ASC_auto_sufficient_atwork,-2.7988,F +tnc_shared_ASC_no_auto_eatout_othdiscr_social,0.6464,F +tnc_shared_ASC_no_auto_escort_othmaint_shopping,0.9361,F +tnc_shared_ASC_no_auto_school,-7,T +tnc_shared_ASC_no_auto_univ,-5.8116,F +tnc_shared_ASC_no_auto_work,3.2429,F +tnc_shared_ASC_no_auto_atwork,3.3672,F +tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,-4.3576,F +tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,-0.3863,F +tnc_shared_ASC_auto_deficient_school,-1.4746,F +tnc_shared_ASC_auto_deficient_univ,3.25,F +tnc_shared_ASC_auto_deficient_work,-2.1435,F +tnc_shared_ASC_auto_deficient_atwork,-4.5089,F +tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,-3.6638,F +tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,-2.4365,F +tnc_shared_ASC_auto_sufficient_school,-3.7219,F +tnc_shared_ASC_auto_sufficient_univ,-0.9068,F +tnc_shared_ASC_auto_sufficient_work,-5.3575,F +tnc_shared_ASC_auto_sufficient_atwork,-3.5397,F +joint_walk_ASC_no_auto_all,-0.21274701,F +joint_walk_ASC_auto_deficient_all,-1.9607706,F +joint_walk_ASC_auto_sufficient_all,-3.2352157,F +joint_bike_ASC_no_auto_all,-2.8671598,F +joint_bike_ASC_auto_deficient_all,-6.076415,F +joint_bike_ASC_auto_sufficient_all,-6.3760657,F +joint_sr2_ASC_no_auto_all,0,T +joint_sr2_ASC_auto_deficient_all,0,T +joint_sr2_ASC_auto_sufficient_all,0,T +joint_sr3p_ASC_no_auto_all,0.5630671,F +joint_sr3p_ASC_auto_deficient_all,-1.8841692,F +joint_sr3p_ASC_auto_sufficient_all,-2.234826,F +joint_walk_transit_ASC_no_auto_all,0.62292415,F +joint_walk_transit_ASC_auto_deficient_all,-5.1634483,F +joint_walk_transit_ASC_auto_sufficient_all,-18.264534,F +joint_drive_transit_ASC_no_auto_all,0,T +joint_drive_transit_ASC_auto_deficient_all,-5.9632215,F +joint_drive_transit_ASC_auto_sufficient_all,-8.045285,F +joint_taxi_ASC_no_auto_all,-4.5792,F +joint_taxi_ASC_auto_deficient_all,-9.8157,F +joint_taxi_ASC_auto_sufficient_all,-11.7099,T +joint_tnc_single_ASC_no_auto_all,-4.4917,F +joint_tnc_single_ASC_auto_deficient_all,-9.8961,F +joint_tnc_single_ASC_auto_sufficient_all,-14.0159,T +joint_tnc_shared_ASC_no_auto_all,-4.3002,F +joint_tnc_shared_ASC_auto_deficient_all,-11.1572,F +joint_tnc_shared_ASC_auto_sufficient_all,-13.205,T +local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,-0.090703264,F +local_bus_ASC_school_univ,-0.06508621,F +local_bus_ASC_work,0.06689507,F +walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +walk_light_rail_ASC_school_univ,1.6814003,F +walk_light_rail_ASC_work,0.8255567,F +drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.76895475,F +drive_light_rail_ASC_school_univ,1.6814003,F +drive_light_rail_ASC_work,0.8255567,F +walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +walk_ferry_ASC_school_univ,2.0202317,F +walk_ferry_ASC_work,0.93322605,F +drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9401238,F +drive_ferry_ASC_school_univ,2.0202317,F +drive_ferry_ASC_work,0.93322605,F +express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.9692316,F +express_bus_ASC_school_univ,0.32496938,F +express_bus_ASC_work,-0.5165474,F +heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7706121,F +heavy_rail_ASC_school_univ,0.96200377,F +heavy_rail_ASC_work,0.64772975,F +commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,0.7270185,F +commuter_rail_ASC_school_univ,1.0336206,F +commuter_rail_ASC_work,0.725503,F +walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +walk_transit_CBD_ASC_school_univ,0.672,F +walk_transit_CBD_ASC_work,0.804,F +walk_transit_CBD_ASC_atwork,0.564,F +drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,0.525,F +drive_transit_CBD_ASC_school_univ,0.672,F +drive_transit_CBD_ASC_work,1.1,F +drive_transit_CBD_ASC_atwork,0.564,F diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv b/activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients_template.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv rename to activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients_template.csv index 2e97238f2c..b1b009a3f0 --- a/activitysim/examples/example_multiple_zone/configs_3_zone_marin/tour_mode_choice_coeffs_template.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_mode_choice_coefficients_template.csv @@ -1,87 +1,87 @@ -coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork -#same for all segments,,,,,,,,,, -coef_one,,,,,,,,,, -coef_nest_root,,,,,,,,,, -coef_nest_AUTO,,,,,,,,,, -coef_nest_AUTO_DRIVEALONE,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, -coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, -coef_nest_NONMOTORIZED,,,,,,,,,, -coef_nest_TRANSIT,,,,,,,,,, -coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, -coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, -coef_nest_RIDEHAIL,,,,,,,,,, -#,,,,,,,,,, -coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork -coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork -coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork -coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork -coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork -coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork -coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork -coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork -coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork -walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork -walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork -walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork -bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork -bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork -bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork -sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all -sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork -sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork -sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork -sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork -sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork -walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork -walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork -walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork -drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all -drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork -drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork -taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork -taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork -taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork -tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork -tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork -tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork -tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork -tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork -tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork -joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all -joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all -joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all -joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all -joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all -joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all -joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all -joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all -joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all -joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all -joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all -joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all -joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all -joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all -joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all -joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all -joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all -joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all -joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all -joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all -joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all -joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all -joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all -joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all -joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all -joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all -joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all -local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork -walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork -drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork +coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork +#same for all segments,,,,,,,,,, +coef_one,,,,,,,,,, +coef_nest_root,,,,,,,,,, +coef_nest_AUTO,,,,,,,,,, +coef_nest_AUTO_DRIVEALONE,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE2,,,,,,,,,, +coef_nest_AUTO_SHAREDRIDE3,,,,,,,,,, +coef_nest_NONMOTORIZED,,,,,,,,,, +coef_nest_TRANSIT,,,,,,,,,, +coef_nest_TRANSIT_WALKACCESS,,,,,,,,,, +coef_nest_TRANSIT_DRIVEACCESS,,,,,,,,,, +coef_nest_RIDEHAIL,,,,,,,,,, +#,,,,,,,,,, +coef_ivt,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_eatout_escort_othdiscr_othmaint_shopping_social,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork +coef_topology_walk_multiplier,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_walk_multiplier_atwork +coef_topology_bike_multiplier,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_bike_multiplier_atwork +coef_topology_trn_multiplier,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_work,coef_topology_trn_multiplier_atwork +coef_age1619_da_multiplier,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_school_univ,coef_age1619_da_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age1619_da_multiplier_atwork +coef_age010_trn_multiplier,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_school_univ,coef_age010_trn_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work,coef_age010_trn_multiplier_atwork +coef_age16p_sr_multiplier,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork,coef_age16p_sr_multiplier_school_univ_work_atwork +coef_hhsize1_sr_multiplier,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork,coef_hhsize1_sr_multiplier_work,coef_hhsize1_sr_multiplier_eatout_escort_othdiscr_othmaint_school_shopping_social_univ_atwork +coef_hhsize2_sr_multiplier,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_school_univ,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork,coef_hhsize2_sr_multiplier_eatout_escort_othdiscr_othmaint_shopping_social_work_atwork +walk_ASC_no_auto,walk_ASC_no_auto_eatout,walk_ASC_no_auto_escort,walk_ASC_no_auto_othdiscr,walk_ASC_no_auto_othmaint,walk_ASC_no_auto_school,walk_ASC_no_auto_shopping,walk_ASC_no_auto_social,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork +walk_ASC_auto_deficient,walk_ASC_auto_deficient_eatout,walk_ASC_auto_deficient_escort,walk_ASC_auto_deficient_othdiscr,walk_ASC_auto_deficient_othmaint,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_shopping,walk_ASC_auto_deficient_social,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork +walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_eatout,walk_ASC_auto_sufficient_escort,walk_ASC_auto_sufficient_othdiscr,walk_ASC_auto_sufficient_othmaint,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_shopping,walk_ASC_auto_sufficient_social,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork +bike_ASC_no_auto,bike_ASC_no_auto_eatout,bike_ASC_no_auto_escort,bike_ASC_no_auto_othdiscr,bike_ASC_no_auto_othmaint,bike_ASC_no_auto_school,bike_ASC_no_auto_shopping,bike_ASC_no_auto_social,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork +bike_ASC_auto_deficient,bike_ASC_auto_deficient_eatout,bike_ASC_auto_deficient_escort,bike_ASC_auto_deficient_othdiscr,bike_ASC_auto_deficient_othmaint,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_shopping,bike_ASC_auto_deficient_social,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork +bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_eatout,bike_ASC_auto_sufficient_escort,bike_ASC_auto_sufficient_othdiscr,bike_ASC_auto_sufficient_othmaint,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_shopping,bike_ASC_auto_sufficient_social,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork +sr2_ASC_no_auto,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all,sr2_ASC_no_auto_all +sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_eatout,sr2_ASC_auto_deficient_escort,sr2_ASC_auto_deficient_othdiscr,sr2_ASC_auto_deficient_othmaint,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_shopping,sr2_ASC_auto_deficient_social,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork +sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_eatout,sr2_ASC_auto_sufficient_escort,sr2_ASC_auto_sufficient_othdiscr,sr2_ASC_auto_sufficient_othmaint,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_shopping,sr2_ASC_auto_sufficient_social,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork +sr3p_ASC_no_auto,sr3p_ASC_no_auto_eatout,sr3p_ASC_no_auto_escort,sr3p_ASC_no_auto_othdiscr,sr3p_ASC_no_auto_othmaint,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_shopping,sr3p_ASC_no_auto_social,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork +sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_eatout,sr3p_ASC_auto_deficient_escort,sr3p_ASC_auto_deficient_othdiscr,sr3p_ASC_auto_deficient_othmaint,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_shopping,sr3p_ASC_auto_deficient_social,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork +sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_eatout,sr3p_ASC_auto_sufficient_escort,sr3p_ASC_auto_sufficient_othdiscr,sr3p_ASC_auto_sufficient_othmaint,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_shopping,sr3p_ASC_auto_sufficient_social,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork +walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_eatout,walk_transit_ASC_no_auto_escort,walk_transit_ASC_no_auto_othdiscr,walk_transit_ASC_no_auto_othmaint,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_shopping,walk_transit_ASC_no_auto_social,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork +walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_eatout,walk_transit_ASC_auto_deficient_escort,walk_transit_ASC_auto_deficient_othdiscr,walk_transit_ASC_auto_deficient_othmaint,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_shopping,walk_transit_ASC_auto_deficient_social,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork +walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_eatout,walk_transit_ASC_auto_sufficient_escort,walk_transit_ASC_auto_sufficient_othdiscr,walk_transit_ASC_auto_sufficient_othmaint,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_shopping,walk_transit_ASC_auto_sufficient_social,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork +drive_transit_ASC_no_auto,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all,drive_transit_ASC_no_auto_all +drive_transit_ASC_auto_deficient,drive_transit_ASC_auto_deficient_eatout,drive_transit_ASC_auto_deficient_escort,drive_transit_ASC_auto_deficient_othdiscr,drive_transit_ASC_auto_deficient_othmaint,drive_transit_ASC_auto_deficient_school,drive_transit_ASC_auto_deficient_shopping,drive_transit_ASC_auto_deficient_social,drive_transit_ASC_auto_deficient_univ,drive_transit_ASC_auto_deficient_work,drive_transit_ASC_auto_deficient_atwork +drive_transit_ASC_auto_sufficient,drive_transit_ASC_auto_sufficient_eatout,drive_transit_ASC_auto_sufficient_escort,drive_transit_ASC_auto_sufficient_othdiscr,drive_transit_ASC_auto_sufficient_othmaint,drive_transit_ASC_auto_sufficient_school,drive_transit_ASC_auto_sufficient_shopping,drive_transit_ASC_auto_sufficient_social,drive_transit_ASC_auto_sufficient_univ,drive_transit_ASC_auto_sufficient_work,drive_transit_ASC_auto_sufficient_atwork +taxi_ASC_no_auto,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_escort_othmaint_shopping,taxi_ASC_no_auto_eatout_othdiscr_social,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork +taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_escort_othmaint_shopping,taxi_ASC_auto_deficient_eatout_othdiscr_social,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork +taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_escort_othmaint_shopping,taxi_ASC_auto_sufficient_eatout_othdiscr_social,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork +tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_escort_othmaint_shopping,tnc_single_ASC_no_auto_eatout_othdiscr_social,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork +tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_escort_othmaint_shopping,tnc_single_ASC_auto_deficient_eatout_othdiscr_social,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork +tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_escort_othmaint_shopping,tnc_single_ASC_auto_sufficient_eatout_othdiscr_social,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork +tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_escort_othmaint_shopping,tnc_shared_ASC_no_auto_eatout_othdiscr_social,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork +tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_escort_othmaint_shopping,tnc_shared_ASC_auto_deficient_eatout_othdiscr_social,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork +tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_escort_othmaint_shopping,tnc_shared_ASC_auto_sufficient_eatout_othdiscr_social,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork +joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all +joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all +joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all +joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all +joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all +joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all +joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all +joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all +joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all +joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all +joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all +joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all +joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all +joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all +joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all +joint_drive_transit_ASC_no_auto,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all,joint_drive_transit_ASC_no_auto_all +joint_drive_transit_ASC_auto_deficient,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all,joint_drive_transit_ASC_auto_deficient_all +joint_drive_transit_ASC_auto_sufficient,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all,joint_drive_transit_ASC_auto_sufficient_all +joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all +joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all +joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all +joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all +joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all +joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all +joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all +joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all +joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all +local_bus_ASC,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,local_bus_ASC_school_univ,local_bus_ASC_work,local_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_light_rail_ASC,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_light_rail_ASC_school_univ,walk_light_rail_ASC_work,walk_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_light_rail_ASC,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_light_rail_ASC_school_univ,drive_light_rail_ASC_work,drive_light_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_ferry_ASC,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,walk_ferry_ASC_school_univ,walk_ferry_ASC_work,walk_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +drive_ferry_ASC,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,drive_ferry_ASC_school_univ,drive_ferry_ASC_work,drive_ferry_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +express_bus_ASC,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,express_bus_ASC_school_univ,express_bus_ASC_work,express_bus_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +heavy_rail_ASC,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,heavy_rail_ASC_school_univ,heavy_rail_ASC_work,heavy_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +commuter_rail_ASC,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork,commuter_rail_ASC_school_univ,commuter_rail_ASC_work,commuter_rail_ASC_eatout_escort_othdiscr_othmaint_shopping_social_atwork +walk_transit_CBD_ASC,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork +drive_transit_CBD_ASC,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_eatout_escort_othdiscr_othmaint_shopping_social,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_atwork.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/tour_scheduling_atwork.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork.csv index 93846ae3a2..22abaf2fd3 100644 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_atwork.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork.csv @@ -1,59 +1,59 @@ -Label,Description,Expression,Coefficient -#,Departure Constants,, -util_early_start_at_5,Early start at 5,start < 6,coef_early_start_at_5 -util_am_peak_start_at_6,AM peak start at 6,start == 6,coef_am_peak_start_at_6 -util_am_peak_start_at_7,AM peak start at 7,start == 7,coef_am_peak_start_at_7 -util_am_peak_start_at_8,AM peak start at 8,start == 8,coef_am_peak_start_at_8 -util_am_peak_start_at_9,AM peak start at 9,start == 9,coef_am_peak_start_at_9 -util_midday_start_at_10_11_12,Midday start at 10/11/12,(start > 9) & (start < 13),coef_midday_start_at_10_11_12 -util_midday_start_at_13_14_15,Midday start at 13/14/15,(start > 12) & (start < 16),coef_midday_start_at_13_14_15 -util_pm_peak_start_at_16_17_18,PM peak start at 16/17/18,(start > 15) & (start < 19),coef_pm_peak_start_at_16_17_18 -util_evening_start_at_19_20_21,Evening start at 19/20/21,(start > 18) & (start < 22),coef_evening_start_at_19_20_21 -util_late_start_at_22_23,Late start at 22/23,start > 21,coef_late_start_at_22_23 -#,Arrival Constants,, -util_early_end_at_5_6,Early end at 5/6 ,end < 7,coef_early_end_at_5_6 -util_am_peak_end,AM peak end,(end > 6) & (end < 10),coef_am_peak_end -util_midday_end_at_10_11_12,Midday end at 10/11/12,(end > 9) & (end < 13),coef_midday_end_at_10_11_12 -util_midday_end_at_13_14,Midday end at 13/14,(end > 12) & (end < 15),coef_midday_end_at_13_14 -util_pm_peak_end_at_15,PM peak end at 15,end == 15,coef_pm_peak_end_at_15 -util_pm_peak_end_at_16,PM peak end at 16,end == 16,coef_pm_peak_end_at_16 -util_pm_peak_end_at_17,PM peak end at 17,end == 17,coef_pm_peak_end_at_17 -util_pm_peak_end_at_18,PM peak end at 18,end == 18,coef_pm_peak_end_at_18 -util_evening_end_at_19_20_21,Evening end at 19/20/21,(end > 18) & (end < 22),coef_evening_end_at_19_20_21 -util_late_end_at_22_23,Late end at 22/23,end > 21,coef_late_end_at_22_23 -#,,, -util_duration_of_0_hours,Duration of 0 hours,duration==0,coef_duration_of_0_hours -util_duration_of_1_hour,Duration of 1 hour,duration==1,coef_duration_of_1_hour -util_duration_of_2_to_3_hours,Duration of 2 to 3 hours,(duration >=1) and (duration <= 4),coef_duration_of_2_to_3_hours -util_duration_of_4_to_5_hours,Duration of 4 to 5 hours,(duration >=4) and (duration <=5),coef_duration_of_4_to_5_hours -util_duration_of_6_to_7_hours,Duration of 6 to 7 hours,(duration >=6) and (duration <=7),coef_duration_of_6_to_7_hours -util_duration_of_8_to_10_hours,Duration of 8 to 10 hours,(duration >=8) and (duration <=10),coef_duration_of_8_to_10_hours -util_duration_of_11_to_13_hours,Duration of 11 to 13 hours,(duration >=11) and (duration <=13),coef_duration_of_11_to_13_hours -util_duration_of_14_to_18_hours,Duration of 14 to 18 hours,(duration >=14) and (duration <=18),coef_duration_of_14_to_18_hours -#,,, -util_start_shift_for_outbound_auto_travel_time_off_peak,Start shift for outbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd, time_cap)",coef_start_shift_for_outbound_auto_travel_time_off_peak -util_start_shift_for_inbound_auto_travel_time_off_peak,Start shift for inbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd_t, time_cap)",coef_start_shift_for_inbound_auto_travel_time_off_peak -util_duration_shift_for_outbound_auto_travel_time_off_peak,Duration shift for outbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd, time_cap)",coef_duration_shift_for_outbound_auto_travel_time_off_peak -util_duration_shift_for_inbound_auto_travel_time_off_peak,Duration shift for inbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd_t, time_cap)",coef_duration_shift_for_inbound_auto_travel_time_off_peak -#,,, -util_start_shift_for_business_related_,Start shift for business-related sub-tour purpose,(tour_type == 'business') * start,coef_start_shift_for_business_related_ -util_duration_shift_for_business_related_,Duration shift for business-related sub-tour purpose,(tour_type == 'business') * duration,coef_duration_shift_for_business_related_ -util_start_shift_for_first_sub_tour_of_same_work_tour,Start shift for first sub-tour of the same work tour,(tour_type_num == 1) * start,coef_start_shift_for_first_sub_tour_of_same_work_tour -util_duration_shift_for_first_sub_tour_of_same_work_tour,Duration shift for first sub-tour of the same work tour,(tour_type_num == 1) * duration,coef_duration_shift_for_first_sub_tour_of_same_work_tour -util_start_shift_for_subsequent_sub_tour_of_same_work_tour,Start shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * start,coef_start_shift_for_subsequent_sub_tour_of_same_work_tour -util_duration_shift_for_subsequent_sub_tour_of_same_work_tour,Duration shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * duration,coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour -util_start_shift_for_number_of_mandatory_tours,Start shift for number of mandatory tours made by the person,start * num_mand,coef_start_shift_for_number_of_mandatory_tours -util_duration_shift_for_number_of_mandatory_tours,Duration shift for number of mandatory tours made by the person,duration * num_mand,coef_duration_shift_for_number_of_mandatory_tours -util_start_shift_for_number_of_joint_tours,Start shift for number of joint tours in which the person participated,start * num_joint_tours,coef_start_shift_for_number_of_joint_tours -util_duration_shift_for_number_of_joint_tours,Duration shift for number of joint tours in which the person participated,duration * num_joint_tours,coef_duration_shift_for_number_of_joint_tours -util_start_shift_for_number_of_individual_nonmandatory_tours,Start shift for number of individual nonm tours (including escort) made by the person,start * num_non_mand,coef_start_shift_for_number_of_individual_nonmandatory_tours -util_duration_shift_for_number_of_individual_nonmandatory_tours,Duration shift for number of individual nonm tours (including escort) made by the person,duration * num_non_mand,coef_duration_shift_for_number_of_individual_nonmandatory_tours -#,,, -util_dummy_for_business_related_purpose_and_duration_from_0_to_1,Dummy for business-related purpose and duration from 0 to 1,(tour_type == 'business') & (duration <=1),coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 -util_dummy_for_eating_out_purpose_and_duration_of_1_hour,Dummy for eating-out purpose and duration of 1 hour,(tour_type == 'business') & (duration ==1),coef_dummy_for_eating_out_purpose_and_duration_of_1_hour -util_dummy_for_eating_out_purpose_and_departure_at_11,Dummy for eating-out purpose and departure at 11,(tour_type == 'business') & (start == 11),coef_dummy_for_eating_out_purpose_and_departure_at_11 -util_dummy_for_eating_out_purpose_and_departure_at_12,Dummy for eating-out purpose and departure at 12,(tour_type == 'business') & (start == 12),coef_dummy_for_eating_out_purpose_and_departure_at_12 -util_dummy_for_eating_out_purpose_and_departure_at_13,Dummy for eating-out purpose and departure at 13,(tour_type == 'business') & (start == 13),coef_dummy_for_eating_out_purpose_and_departure_at_13 -#,,, -#,Mode Choice Logsum,mode_choice_logsum, +Label,Description,Expression,Coefficient +#,Departure Constants,, +util_early_start_at_5,Early start at 5,start < 6,coef_early_start_at_5 +util_am_peak_start_at_6,AM peak start at 6,start == 6,coef_am_peak_start_at_6 +util_am_peak_start_at_7,AM peak start at 7,start == 7,coef_am_peak_start_at_7 +util_am_peak_start_at_8,AM peak start at 8,start == 8,coef_am_peak_start_at_8 +util_am_peak_start_at_9,AM peak start at 9,start == 9,coef_am_peak_start_at_9 +util_midday_start_at_10_11_12,Midday start at 10/11/12,(start > 9) & (start < 13),coef_midday_start_at_10_11_12 +util_midday_start_at_13_14_15,Midday start at 13/14/15,(start > 12) & (start < 16),coef_midday_start_at_13_14_15 +util_pm_peak_start_at_16_17_18,PM peak start at 16/17/18,(start > 15) & (start < 19),coef_pm_peak_start_at_16_17_18 +util_evening_start_at_19_20_21,Evening start at 19/20/21,(start > 18) & (start < 22),coef_evening_start_at_19_20_21 +util_late_start_at_22_23,Late start at 22/23,start > 21,coef_late_start_at_22_23 +#,Arrival Constants,, +util_early_end_at_5_6,Early end at 5/6 ,end < 7,coef_early_end_at_5_6 +util_am_peak_end,AM peak end,(end > 6) & (end < 10),coef_am_peak_end +util_midday_end_at_10_11_12,Midday end at 10/11/12,(end > 9) & (end < 13),coef_midday_end_at_10_11_12 +util_midday_end_at_13_14,Midday end at 13/14,(end > 12) & (end < 15),coef_midday_end_at_13_14 +util_pm_peak_end_at_15,PM peak end at 15,end == 15,coef_pm_peak_end_at_15 +util_pm_peak_end_at_16,PM peak end at 16,end == 16,coef_pm_peak_end_at_16 +util_pm_peak_end_at_17,PM peak end at 17,end == 17,coef_pm_peak_end_at_17 +util_pm_peak_end_at_18,PM peak end at 18,end == 18,coef_pm_peak_end_at_18 +util_evening_end_at_19_20_21,Evening end at 19/20/21,(end > 18) & (end < 22),coef_evening_end_at_19_20_21 +util_late_end_at_22_23,Late end at 22/23,end > 21,coef_late_end_at_22_23 +#,,, +util_duration_of_0_hours,Duration of 0 hours,duration==0,coef_duration_of_0_hours +util_duration_of_1_hour,Duration of 1 hour,duration==1,coef_duration_of_1_hour +util_duration_of_2_to_3_hours,Duration of 2 to 3 hours,(duration >=1) and (duration <= 4),coef_duration_of_2_to_3_hours +util_duration_of_4_to_5_hours,Duration of 4 to 5 hours,(duration >=4) and (duration <=5),coef_duration_of_4_to_5_hours +util_duration_of_6_to_7_hours,Duration of 6 to 7 hours,(duration >=6) and (duration <=7),coef_duration_of_6_to_7_hours +util_duration_of_8_to_10_hours,Duration of 8 to 10 hours,(duration >=8) and (duration <=10),coef_duration_of_8_to_10_hours +util_duration_of_11_to_13_hours,Duration of 11 to 13 hours,(duration >=11) and (duration <=13),coef_duration_of_11_to_13_hours +util_duration_of_14_to_18_hours,Duration of 14 to 18 hours,(duration >=14) and (duration <=18),coef_duration_of_14_to_18_hours +#,,, +util_start_shift_for_outbound_auto_travel_time_off_peak,Start shift for outbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd, time_cap)",coef_start_shift_for_outbound_auto_travel_time_off_peak +util_start_shift_for_inbound_auto_travel_time_off_peak,Start shift for inbound auto travel time for off-peak,"@df.start * np.minimum(df.sovtimemd_t, time_cap)",coef_start_shift_for_inbound_auto_travel_time_off_peak +util_duration_shift_for_outbound_auto_travel_time_off_peak,Duration shift for outbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd, time_cap)",coef_duration_shift_for_outbound_auto_travel_time_off_peak +util_duration_shift_for_inbound_auto_travel_time_off_peak,Duration shift for inbound auto travel time for off-peak,"@df.duration * np.minimum(df.sovtimemd_t, time_cap)",coef_duration_shift_for_inbound_auto_travel_time_off_peak +#,,, +util_start_shift_for_business_related_,Start shift for business-related sub-tour purpose,(tour_type == 'business') * start,coef_start_shift_for_business_related_ +util_duration_shift_for_business_related_,Duration shift for business-related sub-tour purpose,(tour_type == 'business') * duration,coef_duration_shift_for_business_related_ +util_start_shift_for_first_sub_tour_of_same_work_tour,Start shift for first sub-tour of the same work tour,(tour_type_num == 1) * start,coef_start_shift_for_first_sub_tour_of_same_work_tour +util_duration_shift_for_first_sub_tour_of_same_work_tour,Duration shift for first sub-tour of the same work tour,(tour_type_num == 1) * duration,coef_duration_shift_for_first_sub_tour_of_same_work_tour +util_start_shift_for_subsequent_sub_tour_of_same_work_tour,Start shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * start,coef_start_shift_for_subsequent_sub_tour_of_same_work_tour +util_duration_shift_for_subsequent_sub_tour_of_same_work_tour,Duration shift for subsequent sub-tour of the same work tour,(tour_type_num == 2) * duration,coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour +util_start_shift_for_number_of_mandatory_tours,Start shift for number of mandatory tours made by the person,start * num_mand,coef_start_shift_for_number_of_mandatory_tours +util_duration_shift_for_number_of_mandatory_tours,Duration shift for number of mandatory tours made by the person,duration * num_mand,coef_duration_shift_for_number_of_mandatory_tours +util_start_shift_for_number_of_joint_tours,Start shift for number of joint tours in which the person participated,start * num_joint_tours,coef_start_shift_for_number_of_joint_tours +util_duration_shift_for_number_of_joint_tours,Duration shift for number of joint tours in which the person participated,duration * num_joint_tours,coef_duration_shift_for_number_of_joint_tours +util_start_shift_for_number_of_individual_nonmandatory_tours,Start shift for number of individual nonm tours (including escort) made by the person,start * num_non_mand,coef_start_shift_for_number_of_individual_nonmandatory_tours +util_duration_shift_for_number_of_individual_nonmandatory_tours,Duration shift for number of individual nonm tours (including escort) made by the person,duration * num_non_mand,coef_duration_shift_for_number_of_individual_nonmandatory_tours +#,,, +util_dummy_for_business_related_purpose_and_duration_from_0_to_1,Dummy for business-related purpose and duration from 0 to 1,(tour_type == 'business') & (duration <=1),coef_dummy_for_business_related_purpose_and_duration_from_0_to_1 +util_dummy_for_eating_out_purpose_and_duration_of_1_hour,Dummy for eating-out purpose and duration of 1 hour,(tour_type == 'business') & (duration ==1),coef_dummy_for_eating_out_purpose_and_duration_of_1_hour +util_dummy_for_eating_out_purpose_and_departure_at_11,Dummy for eating-out purpose and departure at 11,(tour_type == 'business') & (start == 11),coef_dummy_for_eating_out_purpose_and_departure_at_11 +util_dummy_for_eating_out_purpose_and_departure_at_12,Dummy for eating-out purpose and departure at 12,(tour_type == 'business') & (start == 12),coef_dummy_for_eating_out_purpose_and_departure_at_12 +util_dummy_for_eating_out_purpose_and_departure_at_13,Dummy for eating-out purpose and departure at 13,(tour_type == 'business') & (start == 13),coef_dummy_for_eating_out_purpose_and_departure_at_13 +#,,, +#,Mode Choice Logsum,mode_choice_logsum, #,,, \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_atwork.yaml b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_atwork.yaml rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork.yaml diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork_coeffs.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_coefficients.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/tour_scheduling_atwork_coeffs.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_coefficients.csv index cdbd1457d3..dd09d225d4 --- a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork_coeffs.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_coefficients.csv @@ -1,50 +1,50 @@ -coefficient_name,value,constrain -coef_early_start_at_5,-7.765548476,F -coef_am_peak_start_at_6,-6.156717827,F -coef_am_peak_start_at_7,-4.061708142,F -coef_am_peak_start_at_8,-2.330535201,F -coef_am_peak_start_at_9,-1.881593386,F -coef_midday_start_at_10_11_12,0,T -coef_midday_start_at_13_14_15,-0.77502158,F -coef_pm_peak_start_at_16_17_18,-0.227528489,F -coef_evening_start_at_19_20_21,-1.015090023,F -coef_late_start_at_22_23,-0.737570054,F -coef_early_end_at_5_6,-2.928312295,F -coef_am_peak_end,-2.928312295,F -coef_midday_end_at_10_11_12,-2.297264374,F -coef_midday_end_at_13_14,0,T -coef_pm_peak_end_at_15,-0.578344457,F -coef_pm_peak_end_at_16,-1.09408722,F -coef_pm_peak_end_at_17,-1.1658466,F -coef_pm_peak_end_at_18,-1.496131081,F -coef_evening_end_at_19_20_21,-2.31998226,F -coef_late_end_at_22_23,-2.31998226,F -coef_duration_of_0_hours,-0.906681512,F -coef_duration_of_1_hour,0,T -coef_duration_of_2_to_3_hours,-1.362175802,F -coef_duration_of_4_to_5_hours,-0.819617616,F -coef_duration_of_6_to_7_hours,1.088111072,F -coef_duration_of_8_to_10_hours,1.734038505,F -coef_duration_of_11_to_13_hours,0.3,F -coef_duration_of_14_to_18_hours,0,T -coef_start_shift_for_outbound_auto_travel_time_off_peak,0.00065,F -coef_start_shift_for_inbound_auto_travel_time_off_peak,0.00065,F -coef_duration_shift_for_outbound_auto_travel_time_off_peak,0.00981,F -coef_duration_shift_for_inbound_auto_travel_time_off_peak,0.00981,F -coef_start_shift_for_business_related_,-0.1113,F -coef_duration_shift_for_business_related_,0.2646,F -coef_start_shift_for_first_sub_tour_of_same_work_tour,-0.5433,F -coef_duration_shift_for_first_sub_tour_of_same_work_tour,-0.3992,F -coef_start_shift_for_subsequent_sub_tour_of_same_work_tour,-0.1844,F -coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour,-0.1844,F -coef_start_shift_for_number_of_mandatory_tours,-0.0193,F -coef_duration_shift_for_number_of_mandatory_tours,-0.7702,F -coef_start_shift_for_number_of_joint_tours,-0.0206,F -coef_duration_shift_for_number_of_joint_tours,-0.2497,F -coef_start_shift_for_number_of_individual_nonmandatory_tours,-0.0128,F -coef_duration_shift_for_number_of_individual_nonmandatory_tours,-0.0422,F -coef_dummy_for_business_related_purpose_and_duration_from_0_to_1,-1.543,F -coef_dummy_for_eating_out_purpose_and_duration_of_1_hour,0.3999,F -coef_dummy_for_eating_out_purpose_and_departure_at_11,1.511,F -coef_dummy_for_eating_out_purpose_and_departure_at_12,2.721,F -coef_dummy_for_eating_out_purpose_and_departure_at_13,2.122,F +coefficient_name,value,constrain +coef_early_start_at_5,-7.765548476,F +coef_am_peak_start_at_6,-6.156717827,F +coef_am_peak_start_at_7,-4.061708142,F +coef_am_peak_start_at_8,-2.330535201,F +coef_am_peak_start_at_9,-1.881593386,F +coef_midday_start_at_10_11_12,0,T +coef_midday_start_at_13_14_15,-0.77502158,F +coef_pm_peak_start_at_16_17_18,-0.227528489,F +coef_evening_start_at_19_20_21,-1.015090023,F +coef_late_start_at_22_23,-0.737570054,F +coef_early_end_at_5_6,-2.928312295,F +coef_am_peak_end,-2.928312295,F +coef_midday_end_at_10_11_12,-2.297264374,F +coef_midday_end_at_13_14,0,T +coef_pm_peak_end_at_15,-0.578344457,F +coef_pm_peak_end_at_16,-1.09408722,F +coef_pm_peak_end_at_17,-1.1658466,F +coef_pm_peak_end_at_18,-1.496131081,F +coef_evening_end_at_19_20_21,-2.31998226,F +coef_late_end_at_22_23,-2.31998226,F +coef_duration_of_0_hours,-0.906681512,F +coef_duration_of_1_hour,0,T +coef_duration_of_2_to_3_hours,-1.362175802,F +coef_duration_of_4_to_5_hours,-0.819617616,F +coef_duration_of_6_to_7_hours,1.088111072,F +coef_duration_of_8_to_10_hours,1.734038505,F +coef_duration_of_11_to_13_hours,0.3,F +coef_duration_of_14_to_18_hours,0,T +coef_start_shift_for_outbound_auto_travel_time_off_peak,0.00065,F +coef_start_shift_for_inbound_auto_travel_time_off_peak,0.00065,F +coef_duration_shift_for_outbound_auto_travel_time_off_peak,0.00981,F +coef_duration_shift_for_inbound_auto_travel_time_off_peak,0.00981,F +coef_start_shift_for_business_related_,-0.1113,F +coef_duration_shift_for_business_related_,0.2646,F +coef_start_shift_for_first_sub_tour_of_same_work_tour,-0.5433,F +coef_duration_shift_for_first_sub_tour_of_same_work_tour,-0.3992,F +coef_start_shift_for_subsequent_sub_tour_of_same_work_tour,-0.1844,F +coef_duration_shift_for_subsequent_sub_tour_of_same_work_tour,-0.1844,F +coef_start_shift_for_number_of_mandatory_tours,-0.0193,F +coef_duration_shift_for_number_of_mandatory_tours,-0.7702,F +coef_start_shift_for_number_of_joint_tours,-0.0206,F +coef_duration_shift_for_number_of_joint_tours,-0.2497,F +coef_start_shift_for_number_of_individual_nonmandatory_tours,-0.0128,F +coef_duration_shift_for_number_of_individual_nonmandatory_tours,-0.0422,F +coef_dummy_for_business_related_purpose_and_duration_from_0_to_1,-1.543,F +coef_dummy_for_eating_out_purpose_and_duration_of_1_hour,0.3999,F +coef_dummy_for_eating_out_purpose_and_departure_at_11,1.511,F +coef_dummy_for_eating_out_purpose_and_departure_at_12,2.721,F +coef_dummy_for_eating_out_purpose_and_departure_at_13,2.122,F diff --git a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_preprocessor.csv old mode 100755 new mode 100644 similarity index 97% rename from activitysim/examples/example_psrc/configs/tour_scheduling_atwork_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_preprocessor.csv index 8409f2ed17..5c9c77403c --- a/activitysim/examples/example_psrc/configs/tour_scheduling_atwork_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_atwork_preprocessor.csv @@ -1,3 +1,3 @@ -Description,Target,Expression -,sovtimemd,"od_skims[('SOV_TIME', 'MD')]" -,sovtimemd_t,"od_skims.reverse(('SOV_TIME', 'MD'))" +Description,Target,Expression +,sovtimemd,"od_skims[('SOV_TIME', 'MD')]" +,sovtimemd_t,"od_skims.reverse(('SOV_TIME', 'MD'))" diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_joint.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_joint.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_joint.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_joint.csv diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_joint_coefficients.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_joint_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_joint_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_joint_coefficients.csv diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_nonmandatory.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_nonmandatory.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/tour_scheduling_nonmandatory.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_nonmandatory.csv index d8bf36b455..e81bddda6e 100644 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_nonmandatory.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_nonmandatory.csv @@ -1,96 +1,96 @@ -Label,Description,Expression,Coefficient -util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends -util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration -util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,(tour_type == 'shopping') * start,coef_shopping_tour_departure_shift_effects -util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,(tour_type == 'shopping') * duration,coef_shopping_tour_duration_shift_effects -util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * start,coef_maintenance_tour_departure_shift_effects -util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * duration,coef_maintenance_tour_duration_shift_effects -util_visit_tour_departure_shift_effects_start,Visit tour - departure shift effects,(tour_type == 'social') * start,coef_visit_tour_departure_shift_effects -util_visit_tour_duration_shift_effects_duration,Visit tour - departure shift effects,(tour_type == 'social') * duration,coef_visit_tour_duration_shift_effects -util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,(tour_type == 'eatout') * start,coef_eat_out_tour_departure_shift_effects -util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects -util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects -util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects -util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects -util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects -util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects -util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects -util_number_of_escort_tours_departure_shift_effects,Number of escort tours - departure shift effects,num_escort_tours * start,coef_number_of_escort_tours_departure_shift_effects -util_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,Number of idividual non-mandatory tours (excluding escort) - departure shift effects,num_non_escort_tours * start,coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects -util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect -util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect -util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,(tour_type == 'othmaint') & (start < 7),coef_maintenance_tour_depart_before_7 -util_shopping_tour_depart_before_8,Shopping tour - depart before 8,(tour_type == 'shopping') & (start < 8),coef_shopping_tour_depart_before_8 -util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,(tour_type == 'shopping') & (end > 22),coef_shopping_tour_arrive_after_22 -util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 -util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 -util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,(tour_type == 'shopping') & (duration < 2),coef_shopping_tour_duration_lt_2_hours -util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,(tour_type == 'othdiscr') & (duration < 2),coef_discretionary_tour_duration_lt_2_hours -util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 -#,,, -#,Mode Choice Logsum,mode_choice_logsum,#mode_choice_logsum -#,,,# -util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy -util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy -util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour -util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour -util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,Remaining individual non-mandatory tours to be scheduled / number of unscheduled hours,"@((1.0 + df.tour_count - df.tour_num)) / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours -#,#,,# -util_departure_constants_early,Departure Constants -- Early (up to 5),(tour_type != 'escort') & (start < 6),coef_departure_constants_early -util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),(tour_type != 'escort') & (start == 6),coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),(tour_type != 'escort') & (start == 7),coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),(tour_type != 'escort') & (start == 8),coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),(tour_type != 'escort') & (start == 9),coef_departure_constants_am_peak_4 -util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(tour_type != 'escort') & (start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(tour_type != 'escort') & (start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(tour_type != 'escort') & (start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late,Departure Constants -- Late (22 and later),(tour_type != 'escort') & (start > 21),coef_departure_constants_late -util_arrival_constants_early,Arrival Constants -- Early (up to 6),(tour_type != 'escort') & (end < 7),coef_arrival_constants_early -util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(tour_type != 'escort') & (end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(tour_type != 'escort') & (end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),(tour_type != 'escort') & (end == 15),coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),(tour_type != 'escort') & (end == 16),coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),(tour_type != 'escort') & (end == 17),coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),(tour_type != 'escort') & (end == 18),coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(tour_type != 'escort') & (end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late,Arrival Constants -- Late (22 and later),(tour_type != 'escort') & (end > 21),coef_arrival_constants_late -util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,(tour_type != 'escort') & (duration < 2),coef_duration_constants_0_to_1_hours -util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,(tour_type != 'escort') & (duration > 1) & (duration < 4),coef_duration_constants_2_to_3_hours -util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,(tour_type != 'escort') & (duration > 3) & (duration < 6),coef_duration_constants_4_to_5_hours -util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,(tour_type != 'escort') & (duration > 5) & (duration < 8),coef_duration_constants_6_to_7_hours -util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,(tour_type != 'escort') & (duration > 7) & (duration < 11),coef_duration_constants_8_to_10_hours -util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,(tour_type != 'escort') & (duration > 10) & (duration < 14),coef_duration_constants_11_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(tour_type != 'escort') & (duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours -util_escort_tour_departure_constants_early,Escort Tour Departure Constants -- Early (up to 5),(tour_type == 'escort') & (start < 6),coef_escort_tour_departure_constants_early -util_escort_tour_departure_constants_am_peak_1,Escort Tour Departure Constants -- AM peak 1 (6),(tour_type == 'escort') & (start == 6),coef_escort_tour_departure_constants_am_peak_1 -util_escort_tour_departure_constants_am_peak_2,Escort Tour Departure Constants -- AM peak 2 (7),(tour_type == 'escort') & (start == 7),coef_escort_tour_departure_constants_am_peak_2 -util_escort_tour_departure_constants_am_peak_3,Escort Tour Departure Constants -- AM peak 3 (8),(tour_type == 'escort') & (start == 8),coef_escort_tour_departure_constants_am_peak_3 -util_escort_tour_departure_constants_am_peak_4,Escort Tour Departure Constants -- AM peak 4 (9),(tour_type == 'escort') & (start == 9),coef_escort_tour_departure_constants_am_peak_4 -util_escort_tour_departure_constants_midday_1,Escort Tour Departure Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (start > 9) & (start < 13),coef_escort_tour_departure_constants_midday_1 -util_escort_tour_departure_constants_midday_2,Escort Tour Departure Constants -- Midday 2 (13 to 15),(tour_type == 'escort') & (start > 12) & (start < 16),coef_escort_tour_departure_constants_midday_2 -util_escort_tour_departure_constants_pm_peak,Escort Tour Departure Constants -- PM peak (16 to 18),(tour_type == 'escort') & (start > 15) & (start < 19),coef_escort_tour_departure_constants_pm_peak -util_escort_tour_departure_constants_evening,Escort Tour Departure Constants -- Evening (19 to 21),(tour_type == 'escort') & (start > 18) & (start < 22),coef_escort_tour_departure_constants_evening -util_escort_tour_departure_constants_late,Escort Tour Departure Constants -- Late (22 and later),(tour_type == 'escort') & (start > 21),coef_escort_tour_departure_constants_late -util_escort_tour_arrival_constants_early,Escort Tour Arrival Constants -- Early (up to 6),(tour_type == 'escort') & (end < 7),coef_escort_tour_arrival_constants_early -util_escort_tour_arrival_constants_am_peak,Escort Tour Arrival Constants -- AM peak (7 to 9),(tour_type == 'escort') & (end > 6) & (end < 10),coef_escort_tour_arrival_constants_am_peak -util_escort_tour_arrival_constants_midday_1,Escort Tour Arrival Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (end > 9) & (end < 13),coef_escort_tour_arrival_constants_midday_1 -util_escort_tour_arrival_constants_midday_2,Escort Tour Arrival Constants -- Midday 2 (13 to 14),(tour_type == 'escort') & (end > 12) & (end < 15),coef_escort_tour_arrival_constants_midday_2 -util_escort_tour_arrival_constants_pm_peak_1,Escort Tour Arrival Constants -- PM peak 1 (15),(tour_type == 'escort') & (end == 15),coef_escort_tour_arrival_constants_pm_peak_1 -util_escort_tour_arrival_constants_pm_peak_2,Escort Tour Arrival Constants -- PM peak 2 (16),(tour_type == 'escort') & (end == 16),coef_escort_tour_arrival_constants_pm_peak_2 -util_escort_tour_arrival_constants_pm_peak_3,Escort Tour Arrival Constants -- PM peak 3 (17),(tour_type == 'escort') & (end == 17),coef_escort_tour_arrival_constants_pm_peak_3 -util_escort_tour_arrival_constants_pm_peak_4,Escort Tour Arrival Constants -- PM peak 4 (18),(tour_type == 'escort') & (end == 18),coef_escort_tour_arrival_constants_pm_peak_4 -util_escort_tour_arrival_constants_evening,Escort Tour Arrival Constants -- Evening (19 to 21),(tour_type == 'escort') & (end > 18) & (end < 22),coef_escort_tour_arrival_constants_evening -util_escort_tour_arrival_constants_late,Escort Tour Arrival Constants -- Late (22 and later),(tour_type == 'escort') & (end > 21),coef_escort_tour_arrival_constants_late -util_escort_tour_duration_constants_0_to_1_hours,Escort Tour Duration Constants -- 0 to 1 hours,(tour_type == 'escort') & (duration < 2),coef_escort_tour_duration_constants_0_to_1_hours -util_escort_tour_duration_constants_2_to_3_hours,Escort Tour Duration Constants -- 2 to 3 hours,(tour_type == 'escort') & (duration > 1) & (duration < 4),coef_escort_tour_duration_constants_2_to_3_hours -util_escort_tour_duration_constants_4_to_5_hours,Escort Tour Duration Constants -- 4 to 5 hours,(tour_type == 'escort') & (duration > 3) & (duration < 6),coef_escort_tour_duration_constants_4_to_5_hours -util_escort_tour_duration_constants_6_to_7_hours,Escort Tour Duration Constants -- 6 to 7 hours,(tour_type == 'escort') & (duration > 5) & (duration < 8),coef_escort_tour_duration_constants_6_to_7_hours -util_escort_tour_duration_constants_8_to_10_hours,Escort Tour Duration Constants -- 8 to 10 hours,(tour_type == 'escort') & (duration > 7) & (duration < 11),coef_escort_tour_duration_constants_8_to_10_hours -util_escort_tour_duration_constants_11_to_13_hours,Escort Tour Duration Constants -- 11 to 13 hours,(tour_type == 'escort') & (duration > 10) & (duration < 14),coef_escort_tour_duration_constants_11_to_13_hours -util_escort_tour_duration_constants_14_to_18_hours,Escort Tour Duration Constants -- 14 to 18 hours,(tour_type == 'escort') & (duration > 13) & (duration < 19),coef_escort_tour_duration_constants_14_to_18_hours +Label,Description,Expression,Coefficient +util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends +util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration +util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,(tour_type == 'shopping') * start,coef_shopping_tour_departure_shift_effects +util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,(tour_type == 'shopping') * duration,coef_shopping_tour_duration_shift_effects +util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * start,coef_maintenance_tour_departure_shift_effects +util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * duration,coef_maintenance_tour_duration_shift_effects +util_visit_tour_departure_shift_effects_start,Visit tour - departure shift effects,(tour_type == 'social') * start,coef_visit_tour_departure_shift_effects +util_visit_tour_duration_shift_effects_duration,Visit tour - departure shift effects,(tour_type == 'social') * duration,coef_visit_tour_duration_shift_effects +util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,(tour_type == 'eatout') * start,coef_eat_out_tour_departure_shift_effects +util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects +util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects +util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects +util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects +util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects +util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects +util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects +util_number_of_escort_tours_departure_shift_effects,Number of escort tours - departure shift effects,num_escort_tours * start,coef_number_of_escort_tours_departure_shift_effects +util_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,Number of idividual non-mandatory tours (excluding escort) - departure shift effects,num_non_escort_tours * start,coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects +util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect +util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect +util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,(tour_type == 'othmaint') & (start < 7),coef_maintenance_tour_depart_before_7 +util_shopping_tour_depart_before_8,Shopping tour - depart before 8,(tour_type == 'shopping') & (start < 8),coef_shopping_tour_depart_before_8 +util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,(tour_type == 'shopping') & (end > 22),coef_shopping_tour_arrive_after_22 +util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 +util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 +util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,(tour_type == 'shopping') & (duration < 2),coef_shopping_tour_duration_lt_2_hours +util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,(tour_type == 'othdiscr') & (duration < 2),coef_discretionary_tour_duration_lt_2_hours +util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 +#,,, +#,Mode Choice Logsum,mode_choice_logsum,#mode_choice_logsum +#,,,# +util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy +util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy +util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour +util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour +util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,Remaining individual non-mandatory tours to be scheduled / number of unscheduled hours,"@((1.0 + df.tour_count - df.tour_num)) / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours +#,#,,# +util_departure_constants_early,Departure Constants -- Early (up to 5),(tour_type != 'escort') & (start < 6),coef_departure_constants_early +util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),(tour_type != 'escort') & (start == 6),coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),(tour_type != 'escort') & (start == 7),coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),(tour_type != 'escort') & (start == 8),coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),(tour_type != 'escort') & (start == 9),coef_departure_constants_am_peak_4 +util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(tour_type != 'escort') & (start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(tour_type != 'escort') & (start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(tour_type != 'escort') & (start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late,Departure Constants -- Late (22 and later),(tour_type != 'escort') & (start > 21),coef_departure_constants_late +util_arrival_constants_early,Arrival Constants -- Early (up to 6),(tour_type != 'escort') & (end < 7),coef_arrival_constants_early +util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(tour_type != 'escort') & (end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(tour_type != 'escort') & (end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),(tour_type != 'escort') & (end == 15),coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),(tour_type != 'escort') & (end == 16),coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),(tour_type != 'escort') & (end == 17),coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),(tour_type != 'escort') & (end == 18),coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(tour_type != 'escort') & (end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late,Arrival Constants -- Late (22 and later),(tour_type != 'escort') & (end > 21),coef_arrival_constants_late +util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,(tour_type != 'escort') & (duration < 2),coef_duration_constants_0_to_1_hours +util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,(tour_type != 'escort') & (duration > 1) & (duration < 4),coef_duration_constants_2_to_3_hours +util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,(tour_type != 'escort') & (duration > 3) & (duration < 6),coef_duration_constants_4_to_5_hours +util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,(tour_type != 'escort') & (duration > 5) & (duration < 8),coef_duration_constants_6_to_7_hours +util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,(tour_type != 'escort') & (duration > 7) & (duration < 11),coef_duration_constants_8_to_10_hours +util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,(tour_type != 'escort') & (duration > 10) & (duration < 14),coef_duration_constants_11_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(tour_type != 'escort') & (duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours +util_escort_tour_departure_constants_early,Escort Tour Departure Constants -- Early (up to 5),(tour_type == 'escort') & (start < 6),coef_escort_tour_departure_constants_early +util_escort_tour_departure_constants_am_peak_1,Escort Tour Departure Constants -- AM peak 1 (6),(tour_type == 'escort') & (start == 6),coef_escort_tour_departure_constants_am_peak_1 +util_escort_tour_departure_constants_am_peak_2,Escort Tour Departure Constants -- AM peak 2 (7),(tour_type == 'escort') & (start == 7),coef_escort_tour_departure_constants_am_peak_2 +util_escort_tour_departure_constants_am_peak_3,Escort Tour Departure Constants -- AM peak 3 (8),(tour_type == 'escort') & (start == 8),coef_escort_tour_departure_constants_am_peak_3 +util_escort_tour_departure_constants_am_peak_4,Escort Tour Departure Constants -- AM peak 4 (9),(tour_type == 'escort') & (start == 9),coef_escort_tour_departure_constants_am_peak_4 +util_escort_tour_departure_constants_midday_1,Escort Tour Departure Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (start > 9) & (start < 13),coef_escort_tour_departure_constants_midday_1 +util_escort_tour_departure_constants_midday_2,Escort Tour Departure Constants -- Midday 2 (13 to 15),(tour_type == 'escort') & (start > 12) & (start < 16),coef_escort_tour_departure_constants_midday_2 +util_escort_tour_departure_constants_pm_peak,Escort Tour Departure Constants -- PM peak (16 to 18),(tour_type == 'escort') & (start > 15) & (start < 19),coef_escort_tour_departure_constants_pm_peak +util_escort_tour_departure_constants_evening,Escort Tour Departure Constants -- Evening (19 to 21),(tour_type == 'escort') & (start > 18) & (start < 22),coef_escort_tour_departure_constants_evening +util_escort_tour_departure_constants_late,Escort Tour Departure Constants -- Late (22 and later),(tour_type == 'escort') & (start > 21),coef_escort_tour_departure_constants_late +util_escort_tour_arrival_constants_early,Escort Tour Arrival Constants -- Early (up to 6),(tour_type == 'escort') & (end < 7),coef_escort_tour_arrival_constants_early +util_escort_tour_arrival_constants_am_peak,Escort Tour Arrival Constants -- AM peak (7 to 9),(tour_type == 'escort') & (end > 6) & (end < 10),coef_escort_tour_arrival_constants_am_peak +util_escort_tour_arrival_constants_midday_1,Escort Tour Arrival Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (end > 9) & (end < 13),coef_escort_tour_arrival_constants_midday_1 +util_escort_tour_arrival_constants_midday_2,Escort Tour Arrival Constants -- Midday 2 (13 to 14),(tour_type == 'escort') & (end > 12) & (end < 15),coef_escort_tour_arrival_constants_midday_2 +util_escort_tour_arrival_constants_pm_peak_1,Escort Tour Arrival Constants -- PM peak 1 (15),(tour_type == 'escort') & (end == 15),coef_escort_tour_arrival_constants_pm_peak_1 +util_escort_tour_arrival_constants_pm_peak_2,Escort Tour Arrival Constants -- PM peak 2 (16),(tour_type == 'escort') & (end == 16),coef_escort_tour_arrival_constants_pm_peak_2 +util_escort_tour_arrival_constants_pm_peak_3,Escort Tour Arrival Constants -- PM peak 3 (17),(tour_type == 'escort') & (end == 17),coef_escort_tour_arrival_constants_pm_peak_3 +util_escort_tour_arrival_constants_pm_peak_4,Escort Tour Arrival Constants -- PM peak 4 (18),(tour_type == 'escort') & (end == 18),coef_escort_tour_arrival_constants_pm_peak_4 +util_escort_tour_arrival_constants_evening,Escort Tour Arrival Constants -- Evening (19 to 21),(tour_type == 'escort') & (end > 18) & (end < 22),coef_escort_tour_arrival_constants_evening +util_escort_tour_arrival_constants_late,Escort Tour Arrival Constants -- Late (22 and later),(tour_type == 'escort') & (end > 21),coef_escort_tour_arrival_constants_late +util_escort_tour_duration_constants_0_to_1_hours,Escort Tour Duration Constants -- 0 to 1 hours,(tour_type == 'escort') & (duration < 2),coef_escort_tour_duration_constants_0_to_1_hours +util_escort_tour_duration_constants_2_to_3_hours,Escort Tour Duration Constants -- 2 to 3 hours,(tour_type == 'escort') & (duration > 1) & (duration < 4),coef_escort_tour_duration_constants_2_to_3_hours +util_escort_tour_duration_constants_4_to_5_hours,Escort Tour Duration Constants -- 4 to 5 hours,(tour_type == 'escort') & (duration > 3) & (duration < 6),coef_escort_tour_duration_constants_4_to_5_hours +util_escort_tour_duration_constants_6_to_7_hours,Escort Tour Duration Constants -- 6 to 7 hours,(tour_type == 'escort') & (duration > 5) & (duration < 8),coef_escort_tour_duration_constants_6_to_7_hours +util_escort_tour_duration_constants_8_to_10_hours,Escort Tour Duration Constants -- 8 to 10 hours,(tour_type == 'escort') & (duration > 7) & (duration < 11),coef_escort_tour_duration_constants_8_to_10_hours +util_escort_tour_duration_constants_11_to_13_hours,Escort Tour Duration Constants -- 11 to 13 hours,(tour_type == 'escort') & (duration > 10) & (duration < 14),coef_escort_tour_duration_constants_11_to_13_hours +util_escort_tour_duration_constants_14_to_18_hours,Escort Tour Duration Constants -- 14 to 18 hours,(tour_type == 'escort') & (duration > 13) & (duration < 19),coef_escort_tour_duration_constants_14_to_18_hours diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_nonmandatory_coefficients.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_nonmandatory_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/tour_scheduling_nonmandatory_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_nonmandatory_coefficients.csv diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_school.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_school.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/tour_scheduling_school.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_school.csv index a5f8bcbe56..4c34c1edce 100644 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_school.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_school.csv @@ -1,62 +1,62 @@ -Label,Description,Expression,Coefficient -util_roundtrip_auto_time_to_work,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_roundtrip_auto_time_to_work -util_ft_worker_departure,Full-time worker departure shift effects,(ptype == 1) * start,coef_ft_worker_departure -util_ft_worker_duration,Full-time worker duration shift effects,(ptype == 1) * duration,coef_ft_worker_duration -util_non_worker_departure,Non-working adult departure shift effects,(ptype == 4) * start,coef_non_worker_departure -util_univ_departure,University student departure shift effects,(ptype == 3) * start,coef_univ_departure -util_univ_duration,University student duration shift effects,(ptype == 3) * duration,coef_univ_duration -util_student_driver_duration,Student driving age duration shift effects,(ptype == 7) * duration,coef_student_driver_duration -util_all_adults_ft_worker_duration,All adults work full time- duration,(num_workers == hhsize) * duration,coef_all_adults_ft_worker_duration -util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends -util_first_of_2plus_school_tours_departure,First of 2+ school/univ. tours- departure,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_school_tours_departure -util_first_of_2plus_school_tours_duration,First of 2+ school/univ. tours- duration,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_school_tours_duration -util_subsequent_2plus_school_tours_duration,Subsequent of 2+ school/univ. tours- duration,(tour_num > 1) * duration,coef_subsequent_2plus_school_tours_duration -util_hh_income_early_departure,Household income -- Early departure interaction,(income_in_thousands >= 100) & (start < 6),coef_hh_income_early_departure -util_hh_income_late_arrival,Household income -- Late arrival interaction,(income_in_thousands >= 100) & (end > 22),coef_hh_income_late_arrival -util_first_of_2plus_school_lt_6_hours,First of 2+ school/univ tours- duration<6 hrs,(tour_count>1) & (tour_num == 1) & (duration < 6),coef_first_of_2plus_school_lt_6_hours -util_subsequent_of_2plus_school_lt_6_hours,Subsequent of 2+ school/univ tours- duration<6 hrs,(tour_num > 1) & (duration < 6),coef_subsequent_of_2plus_school_lt_6_hours -util_school_plus_work_tours_by_student_lt_6_hours,School+work tours by student- duration<6 hrs,work_and_school_and_worker & (duration < 6),coef_school_plus_work_tours_by_student_lt_6_hours -util_school_plus_work_tours_by_worker_lt_6_hours,School+work tours by worker- duration<6 hrs,work_and_school_and_student & (duration < 6),coef_school_plus_work_tours_by_worker_lt_6_hours -#,,, -util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum -#,,, -#,,, FIXME - use temps as timetable ops can be very time-consuming -util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy -util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy -util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previous_tour_ends_this_departure_hour -util_previous_tour_begins_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previous_tour_begins_this_arrival_hour -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours -#,,, -util_departure_constants_early_up_to_5,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early -util_departure_constants_am_peak_1 _6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2_7,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3_8,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4_9,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 -util_departure_constants_midday_1_10_to_12,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2_13_to_15,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak_16_to_18,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening_19_to_21,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late_22_and_later,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late -util_arrival_constants_early_up_to_6,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early -util_arrival_constants_am_peak_7_to_9,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1_10_to_12,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2_13_to_14,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1_15,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2_16,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3_17,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4_18,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening_19_to_21,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late_22_and_later,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late -util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours -util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours -util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours -util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours -util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours -util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours -util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours -util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours +Label,Description,Expression,Coefficient +util_roundtrip_auto_time_to_work,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_roundtrip_auto_time_to_work +util_ft_worker_departure,Full-time worker departure shift effects,(ptype == 1) * start,coef_ft_worker_departure +util_ft_worker_duration,Full-time worker duration shift effects,(ptype == 1) * duration,coef_ft_worker_duration +util_non_worker_departure,Non-working adult departure shift effects,(ptype == 4) * start,coef_non_worker_departure +util_univ_departure,University student departure shift effects,(ptype == 3) * start,coef_univ_departure +util_univ_duration,University student duration shift effects,(ptype == 3) * duration,coef_univ_duration +util_student_driver_duration,Student driving age duration shift effects,(ptype == 7) * duration,coef_student_driver_duration +util_all_adults_ft_worker_duration,All adults work full time- duration,(num_workers == hhsize) * duration,coef_all_adults_ft_worker_duration +util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends +util_first_of_2plus_school_tours_departure,First of 2+ school/univ. tours- departure,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_school_tours_departure +util_first_of_2plus_school_tours_duration,First of 2+ school/univ. tours- duration,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_school_tours_duration +util_subsequent_2plus_school_tours_duration,Subsequent of 2+ school/univ. tours- duration,(tour_num > 1) * duration,coef_subsequent_2plus_school_tours_duration +util_hh_income_early_departure,Household income -- Early departure interaction,(income_in_thousands >= 100) & (start < 6),coef_hh_income_early_departure +util_hh_income_late_arrival,Household income -- Late arrival interaction,(income_in_thousands >= 100) & (end > 22),coef_hh_income_late_arrival +util_first_of_2plus_school_lt_6_hours,First of 2+ school/univ tours- duration<6 hrs,(tour_count>1) & (tour_num == 1) & (duration < 6),coef_first_of_2plus_school_lt_6_hours +util_subsequent_of_2plus_school_lt_6_hours,Subsequent of 2+ school/univ tours- duration<6 hrs,(tour_num > 1) & (duration < 6),coef_subsequent_of_2plus_school_lt_6_hours +util_school_plus_work_tours_by_student_lt_6_hours,School+work tours by student- duration<6 hrs,work_and_school_and_worker & (duration < 6),coef_school_plus_work_tours_by_student_lt_6_hours +util_school_plus_work_tours_by_worker_lt_6_hours,School+work tours by worker- duration<6 hrs,work_and_school_and_student & (duration < 6),coef_school_plus_work_tours_by_worker_lt_6_hours +#,,, +util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum +#,,, +#,,, FIXME - use temps as timetable ops can be very time-consuming +util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy +util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy +util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previous_tour_ends_this_departure_hour +util_previous_tour_begins_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previous_tour_begins_this_arrival_hour +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours +#,,, +util_departure_constants_early_up_to_5,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early +util_departure_constants_am_peak_1 _6,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2_7,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3_8,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4_9,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 +util_departure_constants_midday_1_10_to_12,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2_13_to_15,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak_16_to_18,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening_19_to_21,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late_22_and_later,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late +util_arrival_constants_early_up_to_6,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early +util_arrival_constants_am_peak_7_to_9,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1_10_to_12,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2_13_to_14,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1_15,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2_16,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3_17,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4_18,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening_19_to_21,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late_22_and_later,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late +util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours +util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours +util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours +util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours +util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours +util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours +util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours +util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_school_coefficients.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_school_coefficients.csv similarity index 98% rename from activitysim/examples/example_mtc/configs/tour_scheduling_school_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_school_coefficients.csv index b5d8c8050b..6fd040134d 100644 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_school_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_school_coefficients.csv @@ -1,57 +1,57 @@ -coefficient_name,value,constrain -coef_dummy,1,T -coef_roundtrip_auto_time_to_work,0.003195,F -coef_ft_worker_departure,0.3971,F -coef_ft_worker_duration,-0.1908,F -coef_non_worker_departure,0.5539,F -coef_univ_departure,0.28,F -coef_univ_duration,-0.2907,F -coef_student_driver_duration,0.03464,F -coef_all_adults_ft_worker_duration,0.1093,F -coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T -coef_first_of_2plus_school_tours_departure,-0.3002,F -coef_first_of_2plus_school_tours_duration,-0.1593,F -coef_subsequent_2plus_school_tours_duration,-0.2338,F -coef_hh_income_early_departure,-0.8837,F -coef_hh_income_late_arrival,-0.3533,F -coef_first_of_2plus_school_lt_6_hours,1.487,F -coef_subsequent_of_2plus_school_lt_6_hours,2.142,F -coef_school_plus_work_tours_by_student_lt_6_hours,1.73,F -coef_school_plus_work_tours_by_worker_lt_6_hours,2.142,F -coef_mode_choice_logsum,2.127,F -coef_previous_tour_ends_this_departure_hour,-0.5995,F -coef_previous_tour_begins_this_arrival_hour,-1.102,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.08975,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.003049,F -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.44,F -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.5271,F -coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,-16.67,F -coef_departure_constants_early,-3.820662404,F -coef_departure_constants_am_peak_1,-1.617644056,F -coef_departure_constants_am_peak_2,0,T -coef_departure_constants_am_peak_3,-0.073826841,F -coef_departure_constants_am_peak_4,-2.080570769,F -coef_departure_constants_midday_1,-2.985739457,F -coef_departure_constants_midday_2,-3.628434646,F -coef_departure_constants_pm_peak,-3.10250515,F -coef_departure_constants_evening,-5.230287836,F -coef_departure_constants_late,-11.88604728,F -coef_arrival_constants_early,-2.428718399,F -coef_arrival_constants_am_peak,-2.428718399,F -coef_arrival_constants_midday_1,-1.237908768,F -coef_arrival_constants_midday_2,-0.539768931,F -coef_arrival_constants_pm_peak_1,0,T -coef_arrival_constants_pm_peak_2,-0.389169248,F -coef_arrival_constants_pm_peak_3,-0.198120349,F -coef_arrival_constants_pm_peak_4,-0.253624684,F -coef_arrival_constants_evening,-0.870146904,F -coef_arrival_constants_late,-1.75200049,F -coef_duration_constants_0_to_2_hours,-1.409955689,F -coef_duration_constants_3_to_4_hours,-0.745893252,F -coef_duration_constants_5_to_6_hours,-0.567636622,F -coef_duration_constants_7_to_8_hours,0,T -coef_duration_constants_9_hours,-0.650806684,F -coef_duration_constants_10_hours,-0.904788983,F -coef_duration_constants_11_hours,-1.521162604,F -coef_duration_constants_12_to_13_hours,-2.418488917,F +coefficient_name,value,constrain +coef_dummy,1,T +coef_roundtrip_auto_time_to_work,0.003195,F +coef_ft_worker_departure,0.3971,F +coef_ft_worker_duration,-0.1908,F +coef_non_worker_departure,0.5539,F +coef_univ_departure,0.28,F +coef_univ_duration,-0.2907,F +coef_student_driver_duration,0.03464,F +coef_all_adults_ft_worker_duration,0.1093,F +coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T +coef_first_of_2plus_school_tours_departure,-0.3002,F +coef_first_of_2plus_school_tours_duration,-0.1593,F +coef_subsequent_2plus_school_tours_duration,-0.2338,F +coef_hh_income_early_departure,-0.8837,F +coef_hh_income_late_arrival,-0.3533,F +coef_first_of_2plus_school_lt_6_hours,1.487,F +coef_subsequent_of_2plus_school_lt_6_hours,2.142,F +coef_school_plus_work_tours_by_student_lt_6_hours,1.73,F +coef_school_plus_work_tours_by_worker_lt_6_hours,2.142,F +coef_mode_choice_logsum,2.127,F +coef_previous_tour_ends_this_departure_hour,-0.5995,F +coef_previous_tour_begins_this_arrival_hour,-1.102,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.08975,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.003049,F +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.44,F +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.5271,F +coef_remaining_work_school_tours_to_be_scheduled_div_number_of_unscheduled_hours,-16.67,F +coef_departure_constants_early,-3.820662404,F +coef_departure_constants_am_peak_1,-1.617644056,F +coef_departure_constants_am_peak_2,0,T +coef_departure_constants_am_peak_3,-0.073826841,F +coef_departure_constants_am_peak_4,-2.080570769,F +coef_departure_constants_midday_1,-2.985739457,F +coef_departure_constants_midday_2,-3.628434646,F +coef_departure_constants_pm_peak,-3.10250515,F +coef_departure_constants_evening,-5.230287836,F +coef_departure_constants_late,-11.88604728,F +coef_arrival_constants_early,-2.428718399,F +coef_arrival_constants_am_peak,-2.428718399,F +coef_arrival_constants_midday_1,-1.237908768,F +coef_arrival_constants_midday_2,-0.539768931,F +coef_arrival_constants_pm_peak_1,0,T +coef_arrival_constants_pm_peak_2,-0.389169248,F +coef_arrival_constants_pm_peak_3,-0.198120349,F +coef_arrival_constants_pm_peak_4,-0.253624684,F +coef_arrival_constants_evening,-0.870146904,F +coef_arrival_constants_late,-1.75200049,F +coef_duration_constants_0_to_2_hours,-1.409955689,F +coef_duration_constants_3_to_4_hours,-0.745893252,F +coef_duration_constants_5_to_6_hours,-0.567636622,F +coef_duration_constants_7_to_8_hours,0,T +coef_duration_constants_9_hours,-0.650806684,F +coef_duration_constants_10_hours,-0.904788983,F +coef_duration_constants_11_hours,-1.521162604,F +coef_duration_constants_12_to_13_hours,-2.418488917,F coef_duration_constants_14_to_18_hours,-2.503137295,F \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_work.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_work.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/tour_scheduling_work.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_work.csv index d80fc39b35..7aa6a363a9 100644 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_work.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_work.csv @@ -1,70 +1,70 @@ -Label,Description,Expression,Coefficient -util_free_flow_round_trip_auto_time_shift_effects_departure,Free-flow round trip auto time shift effects - departure,roundtrip_auto_time_to_work * start,coef_free_flow_round_trip_auto_time_shift_effects_departure -util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration -util_part_time_worker_departure_shift_effects,Part-time worker departure shift effects,(ptype == 2) * start,coef_part_time_worker_departure_shift_effects -util_non_working_adult_duration_shift_effects,Non-working adult duration shift effects,(ptype == 4) * duration,coef_non_working_adult_duration_shift_effects -util_university_student_departure_shift_effects,University student departure shift effects,(ptype == 3) * start,coef_university_student_departure_shift_effects -util_household_income_departure_shift_effects,Household income departure shift effects,income_in_thousands * start,coef_household_income_departure_shift_effects -util_destination_in_cbd_departure_shift_effects,Destination in CBD departure shift effects,workplace_in_cbd * start,coef_destination_in_cbd_departure_shift_effects -util_destination_in_cbd_duration_shift_effects,Destination in CBD duration shift effects,workplace_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects -util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends -util_first_of_2plus_work_tours_departure_shift_effects,First of 2+ work tours departure shift effects,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_work_tours_departure_shift_effects -util_first_of_2plus_work_tours_duration_shift_effects,First of 2+ work tours duration shift effects,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_work_tours_duration_shift_effects -util_subsequent_2plus_work_departure_tours_shift_effects,Subsequent 2+ work departure tours shift effects,(tour_num == 2) * start,coef_subsequent_2plus_work_departure_tours_shift_effects -util_subsequent_2plus_work_duration_tours_shift_effects,Subsequent 2+ work duration tours shift effects,(tour_num == 2) * duration,coef_subsequent_2plus_work_duration_tours_shift_effects -util_household_income_early_departure_interaction,Household income -- Early departure interaction,(income_in_thousands > 100) & (start < 6),coef_household_income_early_departure_interaction -util_household_income_late_arrival_interaction,Household income -- Late arrival interaction,(income_in_thousands > 100) & (end > 22),coef_household_income_late_arrival_interaction -util_destination_in_cbd_early_departure_interaction,Destination in CBD -- Early departure interaction,workplace_in_cbd & (start < 6),coef_destination_in_cbd_early_departure_interaction -util_destination_in_cbd_late_arrival_interaction,Destination in CBD -- Late arrival interaction,workplace_in_cbd & (end > 22),coef_destination_in_cbd_late_arrival_interaction -util_rural_household_early_departure_interaction,Rural household -- Early departure interaction,home_is_rural & (start < 6),coef_rural_household_early_departure_interaction -util_rural_household_late_arrival_interaction,Rural household -- Late arrival interaction,home_is_rural & (end > 22),coef_rural_household_late_arrival_interaction -util_full_time_worker_duration_lt_9_hours_interaction,Full-time worker -- duration < 9 hours interaction,(ptype == 1) & (duration < 9),coef_full_time_worker_duration_lt_9_hours_interaction -util_full_time_worker_10_to_12_departure_interaction,Full-time worker -- 10 to 12 departure interaction,(ptype == 1) & (start > 9) & (start < 13),coef_full_time_worker_10_to_12_departure_interaction -util_worker_13_to_15_arrival_interaction,Part-time worker -- 13 to 15 arrival interaction,(ptype == 2) & (end > 12) & (end < 16),coef_part_time_worker_13_to_15_arrival_interaction -util_first_of_2plus_work_tours_duration_lt_8_hrs,First of 2+ work tours- duration<8 hrs,((tour_count>1) & (tour_num == 1)) & (duration < 8),coef_first_of_2plus_work_tours_duration_lt_8_hrs -util_subsequent_of_2plus_work_tours_duration_lt_8_hrs,Subsequent of 2+ work tours- duration<8 hrs,(tour_num == 2) & (duration < 8),coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs -util_tours_by_worker_duration_lt_8_hrs,Work+school tours by worker- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_worker & (duration < 8),coef_tours_by_worker_duration_lt_8_hrs -util_tours_by_student_duration_lt_8_hrs,School+work tours by student- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_student & (duration < 8),coef_tours_by_student_duration_lt_8_hrs -#,,, -util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum -#,,, -#,FIXME - use temps _adjacent_window_before and _adjacent_window_after because timetable ops can be very time-consuming,, -util_dummy_adjacent_before,local temp variable,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy -util_dummy_adjacent_after,local temp variable,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy -util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previously_scheduled_tour_ends_in_this_departure_hour -util_previously_scheduled_tour_begins_in_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previously_scheduled_tour_begins_in_this_arrival_hour -util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction -util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction -util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction -util_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours -#,,, -util_departure_constants_early,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early -util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 -util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 -util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 -util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 -util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 -util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 -util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak -util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening -util_departure_constants_late,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late -util_arrival_constants_early,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early -util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak -util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 -util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 -util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 -util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 -util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 -util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 -util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening -util_arrival_constants_late,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late -util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours -util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours -util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours -util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours -util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours -util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours -util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours -util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours -util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours +Label,Description,Expression,Coefficient +util_free_flow_round_trip_auto_time_shift_effects_departure,Free-flow round trip auto time shift effects - departure,roundtrip_auto_time_to_work * start,coef_free_flow_round_trip_auto_time_shift_effects_departure +util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration +util_part_time_worker_departure_shift_effects,Part-time worker departure shift effects,(ptype == 2) * start,coef_part_time_worker_departure_shift_effects +util_non_working_adult_duration_shift_effects,Non-working adult duration shift effects,(ptype == 4) * duration,coef_non_working_adult_duration_shift_effects +util_university_student_departure_shift_effects,University student departure shift effects,(ptype == 3) * start,coef_university_student_departure_shift_effects +util_household_income_departure_shift_effects,Household income departure shift effects,income_in_thousands * start,coef_household_income_departure_shift_effects +util_destination_in_cbd_departure_shift_effects,Destination in CBD departure shift effects,workplace_in_cbd * start,coef_destination_in_cbd_departure_shift_effects +util_destination_in_cbd_duration_shift_effects,Destination in CBD duration shift effects,workplace_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects +util_subsequent_tour_must_start_after_previous_tour_ends,Subsequent tour must start after previous tour ends,(tour_num > 1) & (start < end_previous),coef_subsequent_tour_must_start_after_previous_tour_ends +util_first_of_2plus_work_tours_departure_shift_effects,First of 2+ work tours departure shift effects,((tour_count>1) & (tour_num == 1)) * start,coef_first_of_2plus_work_tours_departure_shift_effects +util_first_of_2plus_work_tours_duration_shift_effects,First of 2+ work tours duration shift effects,((tour_count>1) & (tour_num == 1)) * duration,coef_first_of_2plus_work_tours_duration_shift_effects +util_subsequent_2plus_work_departure_tours_shift_effects,Subsequent 2+ work departure tours shift effects,(tour_num == 2) * start,coef_subsequent_2plus_work_departure_tours_shift_effects +util_subsequent_2plus_work_duration_tours_shift_effects,Subsequent 2+ work duration tours shift effects,(tour_num == 2) * duration,coef_subsequent_2plus_work_duration_tours_shift_effects +util_household_income_early_departure_interaction,Household income -- Early departure interaction,(income_in_thousands > 100) & (start < 6),coef_household_income_early_departure_interaction +util_household_income_late_arrival_interaction,Household income -- Late arrival interaction,(income_in_thousands > 100) & (end > 22),coef_household_income_late_arrival_interaction +util_destination_in_cbd_early_departure_interaction,Destination in CBD -- Early departure interaction,workplace_in_cbd & (start < 6),coef_destination_in_cbd_early_departure_interaction +util_destination_in_cbd_late_arrival_interaction,Destination in CBD -- Late arrival interaction,workplace_in_cbd & (end > 22),coef_destination_in_cbd_late_arrival_interaction +util_rural_household_early_departure_interaction,Rural household -- Early departure interaction,home_is_rural & (start < 6),coef_rural_household_early_departure_interaction +util_rural_household_late_arrival_interaction,Rural household -- Late arrival interaction,home_is_rural & (end > 22),coef_rural_household_late_arrival_interaction +util_full_time_worker_duration_lt_9_hours_interaction,Full-time worker -- duration < 9 hours interaction,(ptype == 1) & (duration < 9),coef_full_time_worker_duration_lt_9_hours_interaction +util_full_time_worker_10_to_12_departure_interaction,Full-time worker -- 10 to 12 departure interaction,(ptype == 1) & (start > 9) & (start < 13),coef_full_time_worker_10_to_12_departure_interaction +util_worker_13_to_15_arrival_interaction,Part-time worker -- 13 to 15 arrival interaction,(ptype == 2) & (end > 12) & (end < 16),coef_part_time_worker_13_to_15_arrival_interaction +util_first_of_2plus_work_tours_duration_lt_8_hrs,First of 2+ work tours- duration<8 hrs,((tour_count>1) & (tour_num == 1)) & (duration < 8),coef_first_of_2plus_work_tours_duration_lt_8_hrs +util_subsequent_of_2plus_work_tours_duration_lt_8_hrs,Subsequent of 2+ work tours- duration<8 hrs,(tour_num == 2) & (duration < 8),coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs +util_tours_by_worker_duration_lt_8_hrs,Work+school tours by worker- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_worker & (duration < 8),coef_tours_by_worker_duration_lt_8_hrs +util_tours_by_student_duration_lt_8_hrs,School+work tours by student- duration<8 hrs,(mandatory_tour_frequency == 'work_and_school') & is_student & (duration < 8),coef_tours_by_student_duration_lt_8_hrs +#,,, +util_mode_choice_logsum,Mode Choice Logsum,mode_choice_logsum,coef_mode_choice_logsum +#,,, +#,FIXME - use temps _adjacent_window_before and _adjacent_window_after because timetable ops can be very time-consuming,, +util_dummy_adjacent_before,local temp variable,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy +util_dummy_adjacent_after,local temp variable,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy +util_previous_tour_ends_this_departure_hour,Previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_previously_scheduled_tour_ends_in_this_departure_hour +util_previously_scheduled_tour_begins_in_this_arrival_hour,Previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_previously_scheduled_tour_begins_in_this_arrival_hour +util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_count>1) & (df.tour_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,Remaining work/school tours to be scheduled / number of unscheduled hours,"@((df.tour_count>1) & (df.tour_num == 1)) * 1.0 / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours +#,,, +util_departure_constants_early,Departure Constants -- Early (up to 5),start < 6,coef_departure_constants_early +util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),start == 6,coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),start == 7,coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),start == 8,coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),start == 9,coef_departure_constants_am_peak_4 +util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late,Departure Constants -- Late (22 and later),start > 21,coef_departure_constants_late +util_arrival_constants_early,Arrival Constants -- Early (up to 6),end < 7,coef_arrival_constants_early +util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),end == 15,coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),end == 16,coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),end == 17,coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),end == 18,coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late,Arrival Constants -- Late (22 and later),end > 21,coef_arrival_constants_late +util_duration_constants_0_to_2_hours,Duration Constants -- 0 to 2 hours,duration < 3,coef_duration_constants_0_to_2_hours +util_duration_constants_3_to_4_hours,Duration Constants -- 3 to 4 hours,(duration > 2) & (duration < 5),coef_duration_constants_3_to_4_hours +util_duration_constants_5_to_6_hours,Duration Constants -- 5 to 6 hours,(duration > 4) & (duration < 7),coef_duration_constants_5_to_6_hours +util_duration_constants_7_to_8_hours,Duration Constants -- 7 to 8 hours,(duration > 6) & (duration < 9),coef_duration_constants_7_to_8_hours +util_duration_constants_9_hours,Duration Constants -- 9 hours,duration == 9,coef_duration_constants_9_hours +util_duration_constants_10_hours,Duration Constants -- 10 hours,duration == 10,coef_duration_constants_10_hours +util_duration_constants_11_hours,Duration Constants -- 11 hours,duration == 11,coef_duration_constants_11_hours +util_duration_constants_12_to_13_hours,Duration Constants -- 12 to 13 hours,(duration > 11) & (duration < 14),coef_duration_constants_12_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours diff --git a/activitysim/examples/example_mtc/configs/tour_scheduling_work_coefficients.csv b/activitysim/examples/prototype_mtc/configs/tour_scheduling_work_coefficients.csv similarity index 98% rename from activitysim/examples/example_mtc/configs/tour_scheduling_work_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/tour_scheduling_work_coefficients.csv index 7404512d1f..3b842e5351 100644 --- a/activitysim/examples/example_mtc/configs/tour_scheduling_work_coefficients.csv +++ b/activitysim/examples/prototype_mtc/configs/tour_scheduling_work_coefficients.csv @@ -1,65 +1,65 @@ -coefficient_name,value,constrain -coef_dummy,1,T -coef_free_flow_round_trip_auto_time_shift_effects_departure,-0.00114,F -coef_free_flow_round_trip_auto_time_shift_effects_duration,0.00221,F -coef_part_time_worker_departure_shift_effects,0.06736,F -coef_non_working_adult_duration_shift_effects,-0.1207,F -coef_university_student_departure_shift_effects,0.05747,F -coef_household_income_departure_shift_effects,0.000208,F -coef_destination_in_cbd_departure_shift_effects,0.04717,F -coef_destination_in_cbd_duration_shift_effects,0.08679,F -coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T -coef_first_of_2plus_work_tours_departure_shift_effects,-0.3033,F -coef_first_of_2plus_work_tours_duration_shift_effects,-0.1861,F -coef_subsequent_2plus_work_departure_tours_shift_effects,-0.5381,F -coef_subsequent_2plus_work_duration_tours_shift_effects,-0.3174,F -coef_household_income_early_departure_interaction,-0.4854,F -coef_household_income_late_arrival_interaction,-0.3839,F -coef_destination_in_cbd_early_departure_interaction,-0.4566,F -coef_destination_in_cbd_late_arrival_interaction,-0.2334,F -coef_rural_household_early_departure_interaction,0.4039,F -coef_rural_household_late_arrival_interaction,-0.3451,F -coef_full_time_worker_duration_lt_9_hours_interaction,-1.257,F -coef_full_time_worker_10_to_12_departure_interaction,-0.5182,F -coef_part_time_worker_13_to_15_arrival_interaction,0.5433,F -coef_first_of_2plus_work_tours_duration_lt_8_hrs,1.98,F -coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs,2.582,F -coef_tours_by_worker_duration_lt_8_hrs,0.9126,F -coef_tours_by_student_duration_lt_8_hrs,2.582,F -coef_mode_choice_logsum,1.027,F -coef_previously_scheduled_tour_ends_in_this_departure_hour,-0.8935,F -coef_previously_scheduled_tour_begins_in_this_arrival_hour,-1.334,F -coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.1771,F -coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,0.3627,F -coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.2123,F -coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.1012,F -coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,-18.68,F -coef_departure_constants_early,-0.95272527,F -coef_departure_constants_am_peak_1,-0.616180906,F -coef_departure_constants_am_peak_2,0,T -coef_departure_constants_am_peak_3,-0.254714726, -coef_departure_constants_am_peak_4,-1.251346024,F -coef_departure_constants_midday_1,-1.705868992,F -coef_departure_constants_midday_2,-1.693570583,F -coef_departure_constants_pm_peak,-1.439991962,F -coef_departure_constants_evening,-1.610513243,F -coef_departure_constants_late,-2.883415223,F -coef_arrival_constants_early,0,T -coef_arrival_constants_am_peak,-1.854520626,F -coef_arrival_constants_midday_1,-0.495972037,F -coef_arrival_constants_midday_2,-0.378554081,F -coef_arrival_constants_pm_peak_1,0,T -coef_arrival_constants_pm_peak_2,0.2760839,F -coef_arrival_constants_pm_peak_3,0.699587132,F -coef_arrival_constants_pm_peak_4,0.799289377,F -coef_arrival_constants_evening,0.103566251,F -coef_arrival_constants_late,-0.965957339,F -coef_duration_constants_0_to_2_hours,-2.52826639,F -coef_duration_constants_3_to_4_hours,-0.918974457,F -coef_duration_constants_5_to_6_hours,-0.718550288,F -coef_duration_constants_7_to_8_hours,-0.139623566,F -coef_duration_constants_9_hours,0.055706243,F -coef_duration_constants_10_hours,0,T -coef_duration_constants_11_hours,-0.347795391,F -coef_duration_constants_12_to_13_hours,-1.008222346,F +coefficient_name,value,constrain +coef_dummy,1,T +coef_free_flow_round_trip_auto_time_shift_effects_departure,-0.00114,F +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.00221,F +coef_part_time_worker_departure_shift_effects,0.06736,F +coef_non_working_adult_duration_shift_effects,-0.1207,F +coef_university_student_departure_shift_effects,0.05747,F +coef_household_income_departure_shift_effects,0.000208,F +coef_destination_in_cbd_departure_shift_effects,0.04717,F +coef_destination_in_cbd_duration_shift_effects,0.08679,F +coef_subsequent_tour_must_start_after_previous_tour_ends,-100,T +coef_first_of_2plus_work_tours_departure_shift_effects,-0.3033,F +coef_first_of_2plus_work_tours_duration_shift_effects,-0.1861,F +coef_subsequent_2plus_work_departure_tours_shift_effects,-0.5381,F +coef_subsequent_2plus_work_duration_tours_shift_effects,-0.3174,F +coef_household_income_early_departure_interaction,-0.4854,F +coef_household_income_late_arrival_interaction,-0.3839,F +coef_destination_in_cbd_early_departure_interaction,-0.4566,F +coef_destination_in_cbd_late_arrival_interaction,-0.2334,F +coef_rural_household_early_departure_interaction,0.4039,F +coef_rural_household_late_arrival_interaction,-0.3451,F +coef_full_time_worker_duration_lt_9_hours_interaction,-1.257,F +coef_full_time_worker_10_to_12_departure_interaction,-0.5182,F +coef_part_time_worker_13_to_15_arrival_interaction,0.5433,F +coef_first_of_2plus_work_tours_duration_lt_8_hrs,1.98,F +coef_subsequent_of_2plus_work_tours_duration_lt_8_hrs,2.582,F +coef_tours_by_worker_duration_lt_8_hrs,0.9126,F +coef_tours_by_student_duration_lt_8_hrs,2.582,F +coef_mode_choice_logsum,1.027,F +coef_previously_scheduled_tour_ends_in_this_departure_hour,-0.8935,F +coef_previously_scheduled_tour_begins_in_this_arrival_hour,-1.334,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.1771,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,0.3627,F +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.2123,F +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.1012,F +coef_remaining_tours_to_be_scheduled_div_number_of_unscheduled_hours,-18.68,F +coef_departure_constants_early,-0.95272527,F +coef_departure_constants_am_peak_1,-0.616180906,F +coef_departure_constants_am_peak_2,0,T +coef_departure_constants_am_peak_3,-0.254714726, +coef_departure_constants_am_peak_4,-1.251346024,F +coef_departure_constants_midday_1,-1.705868992,F +coef_departure_constants_midday_2,-1.693570583,F +coef_departure_constants_pm_peak,-1.439991962,F +coef_departure_constants_evening,-1.610513243,F +coef_departure_constants_late,-2.883415223,F +coef_arrival_constants_early,0,T +coef_arrival_constants_am_peak,-1.854520626,F +coef_arrival_constants_midday_1,-0.495972037,F +coef_arrival_constants_midday_2,-0.378554081,F +coef_arrival_constants_pm_peak_1,0,T +coef_arrival_constants_pm_peak_2,0.2760839,F +coef_arrival_constants_pm_peak_3,0.699587132,F +coef_arrival_constants_pm_peak_4,0.799289377,F +coef_arrival_constants_evening,0.103566251,F +coef_arrival_constants_late,-0.965957339,F +coef_duration_constants_0_to_2_hours,-2.52826639,F +coef_duration_constants_3_to_4_hours,-0.918974457,F +coef_duration_constants_5_to_6_hours,-0.718550288,F +coef_duration_constants_7_to_8_hours,-0.139623566,F +coef_duration_constants_9_hours,0.055706243,F +coef_duration_constants_10_hours,0,T +coef_duration_constants_11_hours,-0.347795391,F +coef_duration_constants_12_to_13_hours,-1.008222346,F coef_duration_constants_14_to_18_hours,-1.701858847,F \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/trip_destination.csv b/activitysim/examples/prototype_mtc/configs/trip_destination.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/trip_destination.csv rename to activitysim/examples/prototype_mtc/configs/trip_destination.csv index f1cbdf0948..b12246c13f 100644 --- a/activitysim/examples/example_mtc/configs/trip_destination.csv +++ b/activitysim/examples/prototype_mtc/configs/trip_destination.csv @@ -1,19 +1,19 @@ -Label,Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork -local_dist_od,,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -local_dist_dp,,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -util_size_term,size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one -util_no_attractions,no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE -util_stop_zone_CDB_are_type,#stop zone CBD area type,"@reindex(land_use.area_type, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, -util_distance_inbound,distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),coef_util_distance_work_outbound,coef_util_distance_univ,coef_util_distance_school,coef_util_distance_escort,coef_util_distance_shopping,coef_util_distance_eatout,coef_util_distance_othmaint,coef_util_distance_social,coef_util_distance_othdiscr,coef_util_distance_atwork -util_distance_outbound,distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),coef_util_distance_work_inbound,coef_util_distance_univ,coef_util_distance_school,coef_util_distance_escort,coef_util_distance_shopping,coef_util_distance_eatout,coef_util_distance_othmaint,coef_util_distance_social,coef_util_distance_othdiscr,coef_util_distance_atwork -util_distance_joint,distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),,,,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint, -util_prox_home_outbound,stop proximity to home (outbound),@df.outbound * _od_DIST,coef_prox_home_outbound_work,,,,,,,,, -util_prox_home_inbound,stop proximity to home (inbound),@~df.outbound * _dp_DIST,coef_prox_home_inbound_work,,,,,,,,, -util_prox_dest_outbound,stop proximity to main destination (outbound),@df.outbound * _dp_DIST,coef_prox_dest_outbound_work,,,,,,,,, -util_prox_dest_inbound,stop proximity to main destination (inbound),@~df.outbound * _od_DIST,,,,,,,,,, -#,,,,,,,,,,,, -util_sample_of_alternatives_correction_factor,"Sample of alternatives correction factor","@np.minimum(np.log(df.pick_count/df.prob), 60)",coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one -util_mode_choice_logsum_os,Mode choice logsum from origin to stop,od_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum -util_stop_not_accessible_by_this_tour_mode,Can't access stop zone by this tour mode,(od_logsum < -100),coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE -util_mode_choice_logsum_sd,Mode choice logsum from stop to destination,dp_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum -util_dest_not_accessible_by_this_tour_mode,Can't access destination zone by this tour mode,(dp_logsum < -100),coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE +Label,Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork +local_dist_od,,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +local_dist_dp,,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +util_size_term,size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one +util_no_attractions,no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE +util_stop_zone_CDB_are_type,#stop zone CBD area type,"@reindex(land_use.area_type, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, +util_distance_inbound,distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),coef_util_distance_work_outbound,coef_util_distance_univ,coef_util_distance_school,coef_util_distance_escort,coef_util_distance_shopping,coef_util_distance_eatout,coef_util_distance_othmaint,coef_util_distance_social,coef_util_distance_othdiscr,coef_util_distance_atwork +util_distance_outbound,distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),coef_util_distance_work_inbound,coef_util_distance_univ,coef_util_distance_school,coef_util_distance_escort,coef_util_distance_shopping,coef_util_distance_eatout,coef_util_distance_othmaint,coef_util_distance_social,coef_util_distance_othdiscr,coef_util_distance_atwork +util_distance_joint,distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),,,,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint, +util_prox_home_outbound,stop proximity to home (outbound),@df.outbound * _od_DIST,coef_prox_home_outbound_work,,,,,,,,, +util_prox_home_inbound,stop proximity to home (inbound),@~df.outbound * _dp_DIST,coef_prox_home_inbound_work,,,,,,,,, +util_prox_dest_outbound,stop proximity to main destination (outbound),@df.outbound * _dp_DIST,coef_prox_dest_outbound_work,,,,,,,,, +util_prox_dest_inbound,stop proximity to main destination (inbound),@~df.outbound * _od_DIST,,,,,,,,,, +#,,,,,,,,,,,, +util_sample_of_alternatives_correction_factor,"Sample of alternatives correction factor","@np.minimum(np.log(df.pick_count/df.prob), 60)",coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one +util_mode_choice_logsum_os,Mode choice logsum from origin to stop,od_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum +util_stop_not_accessible_by_this_tour_mode,Can't access stop zone by this tour mode,(od_logsum < -100),coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE +util_mode_choice_logsum_sd,Mode choice logsum from stop to destination,dp_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum +util_dest_not_accessible_by_this_tour_mode,Can't access destination zone by this tour mode,(dp_logsum < -100),coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE,coef_UNAVAILABLE diff --git a/activitysim/examples/example_mtc/configs/trip_destination.yaml b/activitysim/examples/prototype_mtc/configs/trip_destination.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_destination.yaml rename to activitysim/examples/prototype_mtc/configs/trip_destination.yaml diff --git a/activitysim/examples/example_semcog/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/trip_destination_annotate_trips_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/trip_destination_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/trip_destination_annotate_trips_preprocessor.csv index e4317d8e82..1a1afb0748 --- a/activitysim/examples/example_semcog/configs/trip_destination_annotate_trips_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/trip_destination_annotate_trips_preprocessor.csv @@ -1,10 +1,10 @@ -Description,Target,Expression -#,, -,tour_mode,"reindex(tours.tour_mode, df.tour_id)" -,_tod,"np.where(df.outbound,reindex_i(tours.start, df.tour_id),reindex_i(tours.end, df.tour_id))" -,trip_period,network_los.skim_time_period_label(_tod) -,is_joint,"reindex(tours.tour_category, df.tour_id)=='joint'" -#,,not needed as school is not chosen as an intermediate trip destination -#,_grade_school,"(df.primary_purpose == 'school') & reindex(persons.is_gradeschool, df.person_id)" -#,size_segment,"df.primary_purpose.where(df.primary_purpose != 'school', np.where(_grade_school,'gradeschool', 'highschool'))" +Description,Target,Expression +#,, +,tour_mode,"reindex(tours.tour_mode, df.tour_id)" +,_tod,"np.where(df.outbound,reindex_i(tours.start, df.tour_id),reindex_i(tours.end, df.tour_id))" +,trip_period,network_los.skim_time_period_label(_tod) +,is_joint,"reindex(tours.tour_category, df.tour_id)=='joint'" +#,,not needed as school is not chosen as an intermediate trip destination +#,_grade_school,"(df.primary_purpose == 'school') & reindex(persons.is_gradeschool, df.person_id)" +#,size_segment,"df.primary_purpose.where(df.primary_purpose != 'school', np.where(_grade_school,'gradeschool', 'highschool'))" ,tour_leg_dest,"np.where(df.outbound,reindex(tours.destination, df.tour_id), reindex(tours.origin, df.tour_id))" \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/trip_destination_coefficients.csv b/activitysim/examples/prototype_mtc/configs/trip_destination_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_destination_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/trip_destination_coefficients.csv diff --git a/activitysim/examples/example_mtc/configs/trip_destination_sample.csv b/activitysim/examples/prototype_mtc/configs/trip_destination_sample.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/trip_destination_sample.csv rename to activitysim/examples/prototype_mtc/configs/trip_destination_sample.csv index 7a350c3d9c..857fb44c03 100644 --- a/activitysim/examples/example_mtc/configs/trip_destination_sample.csv +++ b/activitysim/examples/prototype_mtc/configs/trip_destination_sample.csv @@ -1,18 +1,18 @@ -Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork -,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (od_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (dp_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (od_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (dp_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -#If transit tour is not in walk sub-zone it must be walkable,,,,,,,,,,, -size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",1,1,1,1,1,1,1,1,1,1 -no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -#stop zone CBD area type,"@reindex(land_use.area_type, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, -distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),-0.04972591574229,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 -distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),0.147813278663948,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 -distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),0,0,0,-0.1238,-0.1238,-0.1238,-0.1238,-0.1238,-0.123801985,0 -stop proximity to home (outbound),@df.outbound * _od_DIST,-0.3800,0,0,0,0,0,0,0,0,0 -stop proximity to home (inbound),@~df.outbound * _od_DIST,-0.1500,0,0,0,0,0,0,0,0,0 -stop proximity to main destination (outbound),@df.outbound * _dp_DIST,-0.26,,,,,,,,, -stop proximity to main destination (inbound),@~df.outbound * _od_DIST,0,,,,,,,,, +Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork +,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (od_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (dp_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (od_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (dp_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +#If transit tour is not in walk sub-zone it must be walkable,,,,,,,,,,, +size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",1,1,1,1,1,1,1,1,1,1 +no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +#stop zone CBD area type,"@reindex(land_use.area_type, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, +distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),-0.04972591574229,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 +distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),0.147813278663948,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 +distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),0,0,0,-0.1238,-0.1238,-0.1238,-0.1238,-0.1238,-0.123801985,0 +stop proximity to home (outbound),@df.outbound * _od_DIST,-0.3800,0,0,0,0,0,0,0,0,0 +stop proximity to home (inbound),@~df.outbound * _od_DIST,-0.1500,0,0,0,0,0,0,0,0,0 +stop proximity to main destination (outbound),@df.outbound * _dp_DIST,-0.26,,,,,,,,, +stop proximity to main destination (inbound),@~df.outbound * _od_DIST,0,,,,,,,,, diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice.csv b/activitysim/examples/prototype_mtc/configs/trip_mode_choice.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/trip_mode_choice.csv rename to activitysim/examples/prototype_mtc/configs/trip_mode_choice.csv index 2da242e956..3ac15254ba 100644 --- a/activitysim/examples/example_mtc/configs/trip_mode_choice.csv +++ b/activitysim/examples/prototype_mtc/configs/trip_mode_choice.csv @@ -1,405 +1,405 @@ -Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED -#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,,,,,,,,,, -#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, -util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,,,,,,,,,, -#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,,,,,,,,,, -util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,,,,,,,,,, -#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, -util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, -util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,,,,,,,,,, -util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,,,,,,,,,, -#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, -util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, -util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,,,,,,,,,, -util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,,,,,,,,,, -util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,,,,,,,,,, -#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, -util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, -util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, -util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,,,,,,,,,, -util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,,,,,,,,,, -util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,,,,,,,,,, -#,Walk,,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, -#,Bike,,,,,,,,,,,,,,,,,,,,,, -util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, -#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LOC_WLK_FAR'],,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Topology,WALK_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, -#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LRF_WLK_FAR'],,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Topology,WALK_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn,,,,,,,,,,, -#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_EXP_WLK_FAR'],,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Topology,WALK_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn,,,,,,,,,, -#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_HVY_WLK_FAR'],,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Topology,WALK_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn,,,,,,,,, -#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, -util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_COM_WLK_FAR'],,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Topology,WALK_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn,,,,,,,, -#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn,,,,,,, -util_DRIVE_LOC_outbound_Unavailable,DRIVE_LOC outbound - Unavailable,outbound & ~drive_local_available_outbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_number_of_transfers,DRIVE_LOC outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Walk_egress_time,DRIVE_LOC outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, -util_DRIVE_LOC_inbound_Unavailable,DRIVE_LOC inbound - Unavailable,inbound & ~drive_local_available_inbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_number_of_transfers,DRIVE_LOC inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WLK_LOC_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Walk_access_time,DRIVE_LOC inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, -#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn,,,,,, -util_DRIVE_LRF_outbound_Unavailable,DRIVE_LRF outbound - Unavailable,outbound & ~drive_lrf_available_outbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_number_of_transfers,DRIVE_LRF outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Walk_egress_time,DRIVE_LRF outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, -util_DRIVE_LRF_inbound_Unavailable,DRIVE_LRF inbound - Unavailable,inbound & ~drive_lrf_available_inbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_number_of_transfers,DRIVE_LRF inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_LRF_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Walk_access_time,DRIVE_LRF inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, -#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn,,,,, -util_DRIVE_EXP_outbound_Unavailable,DRIVE_EXP outbound - Unavailable,outbound & ~drive_express_available_outbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_number_of_transfers,DRIVE_EXP outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Walk_egress_time,DRIVE_EXP outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Unavailable,DRIVE_EXP inbound - Unavailable,inbound & ~drive_express_available_inbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_number_of_transfers,DRIVE_EXP inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_EXP_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Walk_access_time,DRIVE_EXP inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,1,,,,, -#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn,,,, -util_DRIVE_HVY_outbound_Unavailable,DRIVE_HVY outbound - Unavailable,outbound & ~drive_heavyrail_available_outbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_number_of_transfers,DRIVE_HVY outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Walk_egress_time,DRIVE_HVY outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Unavailable,DRIVE_HVY inbound - Unavailable,inbound & ~drive_heavyrail_available_inbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_number_of_transfers,DRIVE_HVY inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_HVY_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Walk_access_time,DRIVE_HVY inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, -#,#Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, -util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Topology,DRIVE_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn,,, -util_DRIVE_COM_outbound_Unavailable,DRIVE_COM outbound - Unavailable,outbound & ~drive_commuter_available_outbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_number_of_transfers,DRIVE_COM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Walk_egress_time,DRIVE_COM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, -util_DRIVE_COM_inbound_Unavailable,DRIVE_COM inbound - Unavailable,inbound & ~drive_commuter_available_inbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_number_of_transfers,DRIVE_COM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_COM_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Walk_access_time,DRIVE_COM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, -#,Taxi,,,,,,,,,,,,,,,,,,,,,, -util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, -util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, -#,TNC Single,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, -util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, -#,#TNC Shared,,,,,,,,,,,,,,,,,,,,,, -util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt -util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt -#,,,,,,,,,,,,,,,,,,,,,,, -util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, -util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, -util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,,,,,,, -util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, -,#indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,,,,,,,,,, -util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh -util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,,,,,,,,,, -util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh -util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,,,,,,,,,, -util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh -util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh -util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,,,,,,,,,, -util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh -util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_express,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,walk_transit_ASC_heavyrail,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,walk_transit_ASC_commuter,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,,,,,,,,,, -util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh -util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_lightrail,,,,,, -util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_ferry,,,,,, -util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,drive_transit_ASC_express,,,,, -util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,drive_transit_ASC_heavyrail,,,, -util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,drive_transit_ASC_commuter,,, -util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh -util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,,,,,,,,,, -util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,,,,,,, -util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,ride_hail_ASC_taxi,, -util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_single, -util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_shared -#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,,,,,,,,,, -util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh -util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,,,,,,,,,, -util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,,,,,,,,,, -util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh -util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_express,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,joint_walk_transit_ASC_heavyrail,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,joint_walk_transit_ASC_commuter,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,,,,,,,,,, -util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh -util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_lightrail,,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_ferry,,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,joint_drive_transit_ASC_express,,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,joint_drive_transit_ASC_heavyrail,,,, -util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_commuter,,, -util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,,,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,,,,,,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_taxi,, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, -util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared -#,#,,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,,,,,,,,,, -util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt -util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt +Label,Description,Expression,DRIVEALONEFREE,DRIVEALONEPAY,SHARED2FREE,SHARED2PAY,SHARED3FREE,SHARED3PAY,WALK,BIKE,WALK_LOC,WALK_LRF,WALK_EXP,WALK_HVY,WALK_COM,DRIVE_LOC,DRIVE_LRF,DRIVE_EXP,DRIVE_HVY,DRIVE_COM,TAXI,TNC_SINGLE,TNC_SHARED +#,Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable,DRIVEALONEFREE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_zero_auto_households,DRIVEALONEFREE - Unavailable for zero auto households,auto_ownership == 0,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_persons_less_than_16,DRIVEALONEFREE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_for_joint_tours,DRIVEALONEFREE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Unavailable_if_didn't_drive_to_work,DRIVEALONEFREE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_In_vehicle_time,DRIVEALONEFREE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Terminal_time,DRIVEALONEFREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Operating_cost,DRIVEALONEFREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Parking_cost,DRIVEALONEFREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Bridge_toll,DRIVEALONEFREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOV_BTOLL'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEFREE_Person_is_between_16_and_19_years_old,DRIVEALONEFREE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,,,,,,,,,, +#,Drive alone toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable,DRIVEALONEPAY - Unavailable,sovtoll_available == False,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_zero_auto_households,DRIVEALONEPAY - Unavailable for zero auto households,auto_ownership == 0,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_persons_less_than_16,DRIVEALONEPAY - Unavailable for persons less than 16,age < 16,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_for_joint_tours,DRIVEALONEPAY - Unavailable for joint tours,is_joint == True,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Unavailable_if_didn't_drive_to_work,DRIVEALONEPAY - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,,-999,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_In_vehicle_time,DRIVEALONEPAY - In-vehicle time,@odt_skims['SOVTOLL_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Terminal_time,DRIVEALONEPAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Operating_cost,DRIVEALONEPAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOVTOLL_DIST'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Parking_cost,DRIVEALONEPAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Bridge_toll,DRIVEALONEPAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_BTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Value_toll,DRIVEALONEPAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['SOVTOLL_VTOLL'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_DRIVEALONEPAY_Person_is_between_16_and_19_years_old,DRIVEALONEPAY - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),,coef_age1619_da,,,,,,,,,,,,,,,,,,, +#,Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable,SHARED2FREE - Unavailable,hov2_available == False,,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Unavailable_based_on_party_size,SHARED2FREE - Unavailable based on party size,is_joint & (number_of_participants > 2),,,-999,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_In_vehicle_time,SHARED2FREE - In-vehicle time,@odt_skims['HOV2_TIME'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Terminal_time,SHARED2FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Operating_cost,SHARED2FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Parking_cost,SHARED2FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Bridge_toll,SHARED2FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'] / costShareSr2,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_One_person_household,SHARED2FREE - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Two_person_household,SHARED2FREE - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,,,,,,,,,, +util_SHARED2FREE_Person_is_16_years_old_or_older,SHARED2FREE - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,,,,,,,,,, +#,Shared ride 2 toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable,SHARED2PAY - Unavailable,hov2toll_available == False,,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Unavailable_based_on_party_size,SHARED2PAY - Unavailable based on party size,is_joint & (number_of_participants > 2),,,,-999,,,,,,,,,,,,,,,,, +util_SHARED2PAY_In_vehicle_time,SHARED2PAY - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Terminal_time,SHARED2PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Operating_cost,SHARED2PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2TOLL_DIST'],,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Parking_cost,SHARED2PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Bridge_toll,SHARED2PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Value_toll,SHARED2PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'] / costShareSr2,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_SHARED2PAY_One_person_household,SHARED2PAY - One person household,@(df.hhsize == 1),,,,coef_hhsize1_sr,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Two_person_household,SHARED2PAY - Two person household,@(df.hhsize == 2),,,,coef_hhsize2_sr,,,,,,,,,,,,,,,,, +util_SHARED2PAY_Person_is_16_years_old_or_older,SHARED2PAY - Person is 16 years old or older,@(df.age >= 16),,,,coef_age16p_sr,,,,,,,,,,,,,,,,, +#,Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3FREE_Unavailable,SHARED3FREE - Unavailable,hov3_available == False,,,,,-999,,,,,,,,,,,,,,,, +util_SHARED3FREE_In_vehicle_time,SHARED3FREE - In-vehicle time,@odt_skims['HOV3_TIME'],,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Terminal_time,SHARED3FREE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Operating_cost,SHARED3FREE - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Parking_cost,SHARED3FREE - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_Bridge_toll,SHARED3FREE - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3_BTOLL'] / costShareSr3,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_SHARED3FREE_One_person_household,SHARED3FREE - One person household,@(df.hhsize == 1),,,,,coef_hhsize1_sr,,,,,,,,,,,,,,,, +util_SHARED3FREE_Two_person_household,SHARED3FREE - Two person household,@(df.hhsize == 2),,,,,coef_hhsize2_sr,,,,,,,,,,,,,,,, +util_SHARED3FREE_Person_is_16_years_old_or_older,SHARED3FREE - Person is 16 years old or older,@(df.age >= 16),,,,,coef_age16p_sr,,,,,,,,,,,,,,,, +#,Shared ride 3+ toll,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3PAY_Unavailable,SHARED3PAY - Unavailable,hov3toll_available == False,,,,,,-999,,,,,,,,,,,,,,, +util_SHARED3PAY_In_vehicle_time,SHARED3PAY - In-vehicle time,@odt_skims['HOV3TOLL_TIME'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Terminal_time,SHARED3PAY - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Operating_cost,SHARED3PAY - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3TOLL_DIST'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Parking_cost,SHARED3PAY - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Bridge_toll,SHARED3PAY - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_BTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_Value_toll,SHARED3PAY - Value toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV3TOLL_VTOLL'] / costShareSr3,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsize == 1),,,,,,coef_hhsize1_sr,,,,,,,,,,,,,,, +util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,,,,,,,,,, +util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,,,,,,,,,, +#,Walk,,,,,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, +#,Bike,,,,,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, +#,Walk to Local,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LOC_WLK_FAR'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Topology,WALK_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, +#,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LRF_WLK_FAR'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Topology,WALK_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn,,,,,,,,,,, +#,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_EXP_WLK_FAR'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Topology,WALK_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn,,,,,,,,,, +#,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_HVY_WLK_FAR'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Topology,WALK_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn,,,,,,,,, +#,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, +util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_COM_WLK_FAR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Topology,WALK_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_age010_trn,,,,,,,, +#,Drive to Local,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn,,,,,,, +util_DRIVE_LOC_outbound_Unavailable,DRIVE_LOC outbound - Unavailable,outbound & ~drive_local_available_outbound,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_number_of_transfers,DRIVE_LOC outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Walk_egress_time,DRIVE_LOC outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_inbound_Unavailable,DRIVE_LOC inbound - Unavailable,inbound & ~drive_local_available_inbound,,,,,,,,,,,,,,-999,,,,,,, +util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_number_of_transfers,DRIVE_LOC inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WLK_LOC_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Walk_access_time,DRIVE_LOC inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, +#,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn,,,,,, +util_DRIVE_LRF_outbound_Unavailable,DRIVE_LRF outbound - Unavailable,outbound & ~drive_lrf_available_outbound,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_number_of_transfers,DRIVE_LRF outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Walk_egress_time,DRIVE_LRF outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_inbound_Unavailable,DRIVE_LRF inbound - Unavailable,inbound & ~drive_lrf_available_inbound,,,,,,,,,,,,,,,-999,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_number_of_transfers,DRIVE_LRF inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_LRF_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Walk_access_time,DRIVE_LRF inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, +#,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn,,,,, +util_DRIVE_EXP_outbound_Unavailable,DRIVE_EXP outbound - Unavailable,outbound & ~drive_express_available_outbound,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_number_of_transfers,DRIVE_EXP outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_egress_time,DRIVE_EXP outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Unavailable,DRIVE_EXP inbound - Unavailable,inbound & ~drive_express_available_inbound,,,,,,,,,,,,,,,,-999,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_number_of_transfers,DRIVE_EXP inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_EXP_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Walk_access_time,DRIVE_EXP inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,1,,,,, +#,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn,,,, +util_DRIVE_HVY_outbound_Unavailable,DRIVE_HVY outbound - Unavailable,outbound & ~drive_heavyrail_available_outbound,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_number_of_transfers,DRIVE_HVY outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_egress_time,DRIVE_HVY outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Unavailable,DRIVE_HVY inbound - Unavailable,inbound & ~drive_heavyrail_available_inbound,,,,,,,,,,,,,,,,,-999,,,, +util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_number_of_transfers,DRIVE_HVY inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_HVY_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Walk_access_time,DRIVE_HVY inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, +#,#Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, +util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Topology,DRIVE_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn,,, +util_DRIVE_COM_outbound_Unavailable,DRIVE_COM outbound - Unavailable,outbound & ~drive_commuter_available_outbound,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_number_of_transfers,DRIVE_COM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Walk_egress_time,DRIVE_COM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_inbound_Unavailable,DRIVE_COM inbound - Unavailable,inbound & ~drive_commuter_available_inbound,,,,,,,,,,,,,,,,,,-999,,, +util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_number_of_transfers,DRIVE_COM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_COM_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Walk_access_time,DRIVE_COM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, +#,Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Tolls,Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Bridge_toll,Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_BTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2TOLL_DIST'] * Taxi_costPerMile + odt_skims['HOV2TOLL_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, +#,TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] ,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@ridehail_wait_time_multiplier * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Tolls,TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Bridge_toll,TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_single_costPerMile + odt_skims['HOV2TOLL_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, +#,#TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2TOLL_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@ridehail_wait_time_multiplier * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Tolls,TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2TOLL_VTOLL'],,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Bridge_toll,TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2TOLL_BTOLL'] + dot_skims['HOV2TOLL_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2TOLL_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2TOLL_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt +#,,,,,,,,,,,,,,,,,,,,,,, +util_tour_mode_is_auto,Auto tour mode availability,tour_mode_is_auto,,,,,,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_walk,Walk tour mode availability,tour_mode_is_walk,-999,-999,-999,-999,-999,-999,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_bike,Bike tour mode availability,tour_mode_is_bike,-999,-999,-999,-999,-999,-999,,,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,, +util_tour_mode_is_walk_transit,Walk to Transit tour mode availability,tour_mode_is_walk_transit,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, +util_tour_mode_is_drive_transit,Drive to Transit tour modes availability,tour_mode_is_drive_transit,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,,,,,,,, +util_tour_mode_is_ride_hail,Ride hail tour modes availability,tour_mode_is_ride_hail,-999,-999,,,,,,-999,,,,,,-999,-999,-999,-999,-999,,, +,#indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_2_df_is_indiv,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr2,sov_ASC_sr2,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_3_plus,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,sov_ASC_sr3p,sov_ASC_sr3p,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,sov_ASC_walk,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh +util_Shared_Ride_2_tour_mode_ASC_shared_ride_2,Shared Ride 2 tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,sr2_ASC_sr2,sr2_ASC_sr2,,,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_shared_ride_3_plus,Shared Ride 2 tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,sr2_ASC_sr3p,sr2_ASC_sr3p,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,sr2_ASC_walk,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh +util_Shared_Ride_3_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,sr3p_ASC_sr2,sr3p_ASC_sr2,,,,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_shared_ride_3_plus,Shared Ride 3+ tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,sr3p_ASC_sr3p,sr3p_ASC_sr3p,,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,sr3p_ASC_walk,,,,,,,,,,,,,, +util_Shared_Ride_3_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh +util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh +util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,bike_ASC_walk,,,,,,,,,,,,,, +util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh +util_Walk_to_Transit_tour_mode_ASC_light_rail,Walk to Transit tour mode ASC -- light rail,@(df.is_indiv & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_lightrail,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_ferry,Walk to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,walk_transit_ASC_ferry,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_express_bus,Walk to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,walk_transit_ASC_express,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_heavy_rail,Walk to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,walk_transit_ASC_heavyrail,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_commuter_rail,Walk to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,walk_transit_ASC_commuter,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_shared_ride_2,Walk to Transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_walk_transit),,,walk_transit_ASC_sr2,walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,walk_transit_ASC_sr3p,walk_transit_ASC_sr3p,,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_walk,Walk to Transit tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,walk_transit_ASC_walk,,,,,,,,,,,,,, +util_Walk_to_Transit_tour_mode_ASC_ride_hail,Walk to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh +util_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_indiv & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_lightrail,,,,,, +util_Drive_to_Transit_tour_mode_ASC_ferry,Drive to Transit tour mode ASC -- ferry,@(df.is_indiv & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,drive_transit_ASC_ferry,,,,,, +util_Drive_to_Transit_tour_mode_ASC_express_bus,Drive to Transit tour mode ASC -- express bus,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,drive_transit_ASC_express,,,,, +util_Drive_to_Transit_tour_mode_ASC_heavy_rail,Drive to Transit tour mode ASC -- heavy rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,drive_transit_ASC_heavyrail,,,, +util_Drive_to_Transit_tour_mode_ASC_commuter_rail,Drive to Transit tour mode ASC -- commuter rail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,drive_transit_ASC_commuter,,, +util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh +util_Ride_Hail_tour_mode_ASC_shared_ride_2,Ride Hail tour mode ASC -- shared ride 2,@(df.is_indiv & df.tour_mode_is_ride_hail),,,ride_hail_ASC_sr2,ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,Ride Hail tour mode ASC -- shared ride 3+,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,ride_hail_ASC_sr3p,ride_hail_ASC_sr3p,,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk,Ride Hail tour mode ASC -- walk,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,ride_hail_ASC_walk,,,,,,,,,,,,,, +util_Ride_Hail_tour_mode_ASC_walk_to_transit,Ride Hail tour mode ASC -- walk to transit,@(df.is_indiv & df.tour_mode_is_ride_hail),,,,,,,,,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,ride_hail_ASC_walk_transit,,,,,,,, +util_Ride_Hail_tour_mode_ASC_ride_hail_taxi,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,ride_hail_ASC_taxi,, +util_Ride_Hail_tour_mode_ASC_ride_hail_single,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_single, +util_Ride_Hail_tour_mode_ASC_ride_hail_shared,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_shared +#,joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr2,joint_auto_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_3_,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,joint_auto_ASC_sr3p,joint_auto_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,joint_auto_ASC_walk,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh +util_joint_Walk_tour_mode_ASC_ride_hail,joint - Walk tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,joint_walk_ASC_rh,,,,,,,,,,,,,, +util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,joint_bike_ASC_walk,,,,,,,,,,,,,, +util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh +util_joint_Walk_to_Transit_tour_mode_ASC_light_rail,joint - Walk to Transit tour mode ASC -- light rail,@(df.is_joint & df.tour_mode_is_walk_transit & ~df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_lightrail,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ferry,joint - Walk to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_walk_transit & df.walk_ferry_available),,,,,,,,,,joint_walk_transit_ASC_ferry,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_express_bus,joint - Walk to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,joint_walk_transit_ASC_express,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_heavy_rail,joint - Walk to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,joint_walk_transit_ASC_heavyrail,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_commuter_rail,joint - Walk to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,joint_walk_transit_ASC_commuter,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_2,joint - Walk to Transit tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_walk_transit),,,joint_walk_transit_ASC_sr2,joint_walk_transit_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_shared_ride_3_plus,joint - Walk to Transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,joint_walk_transit_ASC_sr3p,joint_walk_transit_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_walk,joint - Walk to Transit tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,joint_walk_transit_ASC_walk,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh +util_joint_Drive_to_Transit_tour_mode_ASC_light_rail_skims_differ,joint - Drive to Transit tour mode ASC -- light rail (higher b/c loc d-trn skims differ),@(df.is_joint & df.tour_mode_is_drive_transit & ~df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_lightrail,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ferry,joint - Drive to Transit tour mode ASC -- ferry,@(df.is_joint & df.tour_mode_is_drive_transit & df.drive_ferry_available),,,,,,,,,,,,,,,joint_drive_transit_ASC_ferry,,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_express_bus,joint - Drive to Transit tour mode ASC -- express bus,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,joint_drive_transit_ASC_express,,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_heavy_rail,joint - Drive to Transit tour mode ASC -- heavy rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,joint_drive_transit_ASC_heavyrail,,,, +util_joint_Drive_to_Transit_tour_mode_ASC_commuter_rail,joint - Drive to Transit tour mode ASC -- commuter rail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_commuter,,, +util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_2,joint - Ride Hail tour mode ASC -- shared ride 2,@(df.is_joint & df.tour_mode_is_ride_hail),,,joint_ride_hail_ASC_sr2,joint_ride_hail_ASC_sr2,,,,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_shared_ride_3_plus,joint - Ride Hail tour mode ASC -- shared ride 3+,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,joint_ride_hail_ASC_sr3p,joint_ride_hail_ASC_sr3p,,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk,joint - Ride Hail tour mode ASC -- walk,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,joint_ride_hail_ASC_walk,,,,,,,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_walk_to_transit,joint - Ride Hail tour mode ASC -- walk to transit,@(df.is_joint & df.tour_mode_is_ride_hail),,,,,,,,,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,joint_ride_hail_ASC_walk_transit,,,,,,,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_taxi,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared +#,#,,,,,,,,,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,,,,,,,,,, +util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt +util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice.yaml b/activitysim/examples/prototype_mtc/configs/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_mode_choice.yaml rename to activitysim/examples/prototype_mtc/configs/trip_mode_choice.yaml diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice_coefficients.csv b/activitysim/examples/prototype_mtc/configs/trip_mode_choice_coefficients.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_mode_choice_coefficients.csv rename to activitysim/examples/prototype_mtc/configs/trip_mode_choice_coefficients.csv diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice_coefficients_template.csv b/activitysim/examples/prototype_mtc/configs/trip_mode_choice_coefficients_template.csv similarity index 100% rename from activitysim/examples/example_psrc/configs/trip_mode_choice_coefficients_template.csv rename to activitysim/examples/prototype_mtc/configs/trip_mode_choice_coefficients_template.csv diff --git a/activitysim/examples/example_mtc/configs/trip_purpose.yaml b/activitysim/examples/prototype_mtc/configs/trip_purpose.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_purpose.yaml rename to activitysim/examples/prototype_mtc/configs/trip_purpose.yaml diff --git a/activitysim/examples/example_psrc/configs/trip_purpose_and_destination.yaml b/activitysim/examples/prototype_mtc/configs/trip_purpose_and_destination.yaml old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_psrc/configs/trip_purpose_and_destination.yaml rename to activitysim/examples/prototype_mtc/configs/trip_purpose_and_destination.yaml index 4895aa5268..76f5923489 --- a/activitysim/examples/example_psrc/configs/trip_purpose_and_destination.yaml +++ b/activitysim/examples/prototype_mtc/configs/trip_purpose_and_destination.yaml @@ -1,6 +1,6 @@ - -MAX_ITERATIONS: 5 - -# drop failed trips and cleanup failed trip leg_mates for consistency -# (i.e. adjust trip_count, trip_num, first for missing failed trips) -CLEANUP: True + +MAX_ITERATIONS: 5 + +# drop failed trips and cleanup failed trip leg_mates for consistency +# (i.e. adjust trip_count, trip_num, first for missing failed trips) +CLEANUP: True diff --git a/activitysim/examples/example_semcog/configs/trip_purpose_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/trip_purpose_annotate_trips_preprocessor.csv old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_semcog/configs/trip_purpose_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/trip_purpose_annotate_trips_preprocessor.csv index 0e20453303..782116aa99 --- a/activitysim/examples/example_semcog/configs/trip_purpose_annotate_trips_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/trip_purpose_annotate_trips_preprocessor.csv @@ -1,5 +1,5 @@ -Description,Target,Expression -#,, -,ptype,"reindex(persons.ptype, df.person_id)" -,person_type,ptype.map(PTYPE_NAME) -,start,"reindex_i(tours.start, df.tour_id)" +Description,Target,Expression +#,, +,ptype,"reindex(persons.ptype, df.person_id)" +,person_type,ptype.map(PTYPE_NAME) +,start,"reindex_i(tours.start, df.tour_id)" diff --git a/activitysim/examples/example_psrc/configs/trip_purpose_probs.csv b/activitysim/examples/prototype_mtc/configs/trip_purpose_probs.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/trip_purpose_probs.csv rename to activitysim/examples/prototype_mtc/configs/trip_purpose_probs.csv index 342581d0eb..6827f511e2 --- a/activitysim/examples/example_psrc/configs/trip_purpose_probs.csv +++ b/activitysim/examples/prototype_mtc/configs/trip_purpose_probs.csv @@ -1,132 +1,132 @@ -primary_purpose,outbound,depart_range_start,depart_range_end,person_type,work,univ,school,escort,shopping,othmaint,eatout,social,othdiscr -work,True,5,8,PTYPE_FULL,0.198,0.004,0,0.466,0.083,0.086,0.093,0.004,0.066 -work,True,5,8,PTYPE_PART,0.094,0,0,0.657,0.076,0.07,0.067,0.009,0.027 -work,True,5,8,PTYPE_UNIVERSITY,0.067,0.081,0,0.433,0.005,0.038,0.153,0.108,0.115 -work,True,9,23,PTYPE_FULL,0.278,0.008,0,0.172,0.18,0.193,0.107,0.016,0.046 -work,True,9,23,PTYPE_PART,0.442,0,0,0.089,0.105,0.175,0.102,0.03,0.057 -work,True,9,23,PTYPE_UNIVERSITY,0.049,0.086,0,0.392,0.159,0.157,0.069,0.073,0.015 -work,True,5,23,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 -univ,True,5,23,PTYPE_FULL,0.526,0.178,0,0.016,0.16,0.035,0.028,0.057,0 -univ,True,5,23,PTYPE_PART,0.059,0.941,0,0,0,0,0,0,0 -univ,True,5,23,PTYPE_UNIVERSITY,0.109,0.034,0,0.382,0.136,0.147,0.094,0.048,0.05 -school,True,5,23,PTYPE_DRIVING,0,0,0,0.548,0.015,0.1,0.206,0.073,0.058 -school,True,5,23,PTYPE_SCHOOL,0,0,0,0.53,0.025,0.084,0.112,0.048,0.201 -school,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.772,0.007,0.086,0.023,0.071,0.041 -escort,True,5,23,PTYPE_FULL,0,0,0,0.55,0.153,0.084,0.104,0.049,0.06 -escort,True,5,23,PTYPE_PART,0,0,0,0.449,0.194,0.07,0.167,0.059,0.061 -escort,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.509,0.193,0.158,0.048,0.058,0.034 -escort,True,5,23,PTYPE_NONWORK,0,0,0,0.444,0.216,0.084,0.108,0.118,0.03 -escort,True,5,23,PTYPE_RETIRED,0,0,0,0.37,0.204,0.192,0.03,0.068,0.136 -escort,True,5,23,PTYPE_DRIVING,0,0,0,0.586,0.227,0,0.072,0.115,0 -escort,True,5,23,PTYPE_SCHOOL,0,0,0,0.37,0.183,0.29,0.064,0.013,0.08 -escort,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.531,0.064,0,0.131,0.196,0.078 -shopping,True,5,23,PTYPE_FULL,0,0,0,0.102,0.456,0.226,0.11,0.06,0.046 -shopping,True,5,23,PTYPE_PART,0,0,0,0.182,0.291,0.311,0.108,0.031,0.077 -shopping,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.13,0.262,0.36,0.124,0.06,0.064 -shopping,True,5,23,PTYPE_NONWORK,0,0,0,0.144,0.336,0.274,0.122,0.068,0.056 -shopping,True,5,23,PTYPE_RETIRED,0,0,0,0.058,0.357,0.418,0.05,0.047,0.07 -shopping,True,5,23,PTYPE_DRIVING,0,0,0,0.076,0.193,0.298,0.047,0.13,0.256 -shopping,True,5,23,PTYPE_SCHOOL,0,0,0,0.121,0.142,0.232,0.291,0.03,0.184 -shopping,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.138,0.292,0.301,0.187,0.064,0.018 -othmaint,True,5,23,PTYPE_FULL,0,0,0,0.201,0.252,0.366,0.117,0.032,0.032 -othmaint,True,5,23,PTYPE_PART,0,0,0,0.27,0.259,0.325,0.109,0,0.037 -othmaint,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.489,0.13,0.167,0.025,0.15,0.039 -othmaint,True,5,23,PTYPE_NONWORK,0,0,0,0.279,0.229,0.344,0.078,0.039,0.031 -othmaint,True,5,23,PTYPE_RETIRED,0,0,0,0.224,0.139,0.321,0.098,0.064,0.154 -othmaint,True,5,23,PTYPE_DRIVING,0,0,0,0.135,0,0.259,0.083,0.523,0 -othmaint,True,5,23,PTYPE_SCHOOL,0,0,0,0.191,0.408,0.344,0.041,0.008,0.008 -othmaint,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.143,0.301,0.464,0.017,0.029,0.046 -eatout,True,5,23,PTYPE_FULL,0,0,0,0.144,0.283,0.202,0.036,0.129,0.206 -eatout,True,5,23,PTYPE_PART,0,0,0,0.169,0.374,0.179,0.013,0.135,0.13 -eatout,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.32,0.085,0.111,0,0.153,0.331 -eatout,True,5,23,PTYPE_NONWORK,0,0,0,0.201,0.224,0.269,0.063,0.082,0.161 -eatout,True,5,23,PTYPE_RETIRED,0,0,0,0.142,0.237,0.237,0.034,0.123,0.227 -eatout,True,5,23,PTYPE_DRIVING,0,0,0,0.175,0.289,0.346,0,0.105,0.085 -eatout,True,5,23,PTYPE_SCHOOL,0,0,0,0.124,0.135,0.135,0.04,0.048,0.518 -eatout,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.055,0.329,0.165,0.061,0,0.39 -social,True,5,23,PTYPE_FULL,0,0,0,0.186,0.382,0.144,0.122,0.126,0.04 -social,True,5,23,PTYPE_PART,0,0,0,0.175,0.153,0.167,0.147,0.183,0.175 -social,True,5,23,PTYPE_UNIVERSITY,0,0,0,0,0.212,0.091,0.432,0.234,0.031 -social,True,5,23,PTYPE_NONWORK,0,0,0,0.311,0.392,0.149,0.071,0.058,0.019 -social,True,5,23,PTYPE_RETIRED,0,0,0,0.12,0.407,0.203,0.151,0.102,0.017 -social,True,5,23,PTYPE_DRIVING,0,0,0,0,0,0,0,0.415,0.585 -social,True,5,23,PTYPE_SCHOOL,0,0,0,0.322,0.11,0.05,0,0.378,0.14 -social,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.294,0,0.159,0,0.547,0 -othdiscr,True,5,23,PTYPE_FULL,0,0,0,0.236,0.169,0.143,0.19,0.093,0.169 -othdiscr,True,5,23,PTYPE_PART,0,0,0,0.223,0.208,0.181,0.193,0.129,0.066 -othdiscr,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.135,0.123,0.061,0.342,0.123,0.216 -othdiscr,True,5,23,PTYPE_NONWORK,0,0,0,0.263,0.295,0.148,0.088,0.082,0.124 -othdiscr,True,5,23,PTYPE_RETIRED,0,0,0,0.225,0.056,0.389,0.16,0.091,0.079 -othdiscr,True,5,23,PTYPE_DRIVING,0,0,0,0.311,0.126,0.051,0.018,0.142,0.352 -othdiscr,True,5,23,PTYPE_SCHOOL,0,0,0,0.222,0.112,0.172,0.173,0.141,0.18 -othdiscr,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.271,0.108,0.393,0.146,0.043,0.039 -atwork,True,5,23,PTYPE_FULL,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,True,5,23,PTYPE_PART,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,True,5,23,PTYPE_UNIVERSITY,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,True,5,23,PTYPE_DRIVING,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -#,,,,,,,,,,,,, -work,False,5,14,PTYPE_FULL,0.175,0,0,0.14,0.27,0.162,0.134,0.05,0.069 -work,False,5,14,PTYPE_PART,0.097,0,0,0.252,0.211,0.192,0.159,0.089,0 -work,False,5,14,PTYPE_UNIVERSITY,0.134,0,0,0.329,0.114,0.212,0.169,0.042,0 -work,False,15,23,PTYPE_FULL,0.151,0.011,0,0.201,0.28,0.127,0.103,0.035,0.092 -work,False,15,23,PTYPE_PART,0.11,0,0,0.243,0.281,0.13,0.119,0.036,0.081 -work,False,15,23,PTYPE_UNIVERSITY,0.058,0.127,0,0.224,0.269,0.079,0.072,0.108,0.063 -work,False,5,23,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 -univ,False,5,23,PTYPE_FULL,0.352,0.032,0,0.032,0.146,0.114,0.177,0.028,0.119 -univ,False,5,23,PTYPE_PART,0,0,0,0.822,0.178,0,0,0,0 -univ,False,5,23,PTYPE_UNIVERSITY,0.054,0.025,0,0.194,0.209,0.179,0.159,0.067,0.113 -school,False,5,23,PTYPE_DRIVING,0,0,0,0.301,0.117,0.098,0.169,0.186,0.129 -school,False,5,23,PTYPE_SCHOOL,0,0,0,0.166,0.158,0.147,0.122,0.133,0.274 -school,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.38,0.148,0.089,0.146,0.102,0.135 -escort,False,5,23,PTYPE_FULL,0,0,0,0.343,0.235,0.114,0.222,0.039,0.047 -escort,False,5,23,PTYPE_PART,0,0,0,0.24,0.298,0.128,0.157,0.045,0.132 -escort,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.195,0.319,0.287,0.02,0.027,0.152 -escort,False,5,23,PTYPE_NONWORK,0,0,0,0.28,0.325,0.169,0.103,0.05,0.073 -escort,False,5,23,PTYPE_RETIRED,0,0,0,0.31,0.317,0.073,0.111,0.112,0.077 -escort,False,5,23,PTYPE_DRIVING,0,0,0,0,0.489,0,0.148,0.363,0 -escort,False,5,23,PTYPE_SCHOOL,0,0,0,0.188,0.259,0.129,0.202,0.06,0.162 -escort,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.413,0.215,0.118,0.211,0.019,0.024 -shopping,False,5,23,PTYPE_FULL,0,0,0,0.091,0.526,0.159,0.152,0.047,0.025 -shopping,False,5,23,PTYPE_PART,0,0,0,0.104,0.553,0.156,0.105,0.037,0.045 -shopping,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.1,0.43,0.064,0.344,0.003,0.059 -shopping,False,5,23,PTYPE_NONWORK,0,0,0,0.11,0.528,0.158,0.122,0.059,0.023 -shopping,False,5,23,PTYPE_RETIRED,0,0,0,0.052,0.549,0.159,0.123,0.06,0.057 -shopping,False,5,23,PTYPE_DRIVING,0,0,0,0.118,0.707,0,0.041,0.134,0 -shopping,False,5,23,PTYPE_SCHOOL,0,0,0,0.015,0.19,0.256,0.157,0.179,0.203 -shopping,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.206,0.172,0.22,0.202,0.158,0.042 -othmaint,False,5,23,PTYPE_FULL,0,0,0,0.171,0.364,0.215,0.159,0.029,0.062 -othmaint,False,5,23,PTYPE_PART,0,0,0,0.228,0.365,0.17,0.13,0.041,0.066 -othmaint,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.046,0.345,0.192,0.298,0.06,0.059 -othmaint,False,5,23,PTYPE_NONWORK,0,0,0,0.17,0.423,0.158,0.171,0.064,0.014 -othmaint,False,5,23,PTYPE_RETIRED,0,0,0,0.099,0.391,0.213,0.241,0.036,0.02 -othmaint,False,5,23,PTYPE_DRIVING,0,0,0,0.031,0.356,0.075,0.458,0.031,0.049 -othmaint,False,5,23,PTYPE_SCHOOL,0,0,0,0.181,0.255,0.142,0.313,0,0.109 -othmaint,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.164,0.249,0.338,0.053,0.006,0.19 -eatout,False,5,23,PTYPE_FULL,0,0,0,0.106,0.44,0.112,0.041,0.128,0.173 -eatout,False,5,23,PTYPE_PART,0,0,0,0.168,0.331,0.225,0.023,0.063,0.19 -eatout,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.165,0.334,0.104,0.088,0.135,0.174 -eatout,False,5,23,PTYPE_NONWORK,0,0,0,0.148,0.547,0.092,0.056,0.055,0.102 -eatout,False,5,23,PTYPE_RETIRED,0,0,0,0.166,0.414,0.169,0.02,0.166,0.065 -eatout,False,5,23,PTYPE_DRIVING,0,0,0,0.195,0.332,0.114,0.114,0,0.245 -eatout,False,5,23,PTYPE_SCHOOL,0,0,0,0.072,0.356,0.053,0.019,0.169,0.331 -eatout,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.01,0.286,0.045,0.117,0.064,0.478 -social,False,5,23,PTYPE_FULL,0,0,0,0.12,0.286,0.123,0.19,0.255,0.026 -social,False,5,23,PTYPE_PART,0,0,0,0.106,0.122,0.039,0.553,0.047,0.133 -social,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.105,0.274,0.176,0,0.206,0.239 -social,False,5,23,PTYPE_NONWORK,0,0,0,0.313,0.326,0.13,0.062,0.075,0.094 -social,False,5,23,PTYPE_RETIRED,0,0,0,0.097,0.338,0.067,0.156,0.328,0.014 -social,False,5,23,PTYPE_DRIVING,0,0,0,0,0,0.368,0.15,0.482,0 -social,False,5,23,PTYPE_SCHOOL,0,0,0,0.058,0.162,0.085,0.281,0.125,0.289 -social,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.23,0.028,0.072,0.23,0.44,0 -othdiscr,False,5,23,PTYPE_FULL,0,0,0,0.108,0.319,0.132,0.27,0.112,0.059 -othdiscr,False,5,23,PTYPE_PART,0,0,0,0.102,0.346,0.154,0.181,0.087,0.13 -othdiscr,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.116,0.374,0.124,0.162,0.033,0.191 -othdiscr,False,5,23,PTYPE_NONWORK,0,0,0,0.11,0.389,0.19,0.19,0.067,0.054 -othdiscr,False,5,23,PTYPE_RETIRED,0,0,0,0.111,0.284,0.186,0.197,0.111,0.111 -othdiscr,False,5,23,PTYPE_DRIVING,0,0,0,0.277,0.304,0.057,0.205,0.157,0 -othdiscr,False,5,23,PTYPE_SCHOOL,0,0,0,0.114,0.204,0.148,0.291,0.089,0.154 -othdiscr,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.335,0.133,0.111,0.282,0.052,0.087 -atwork,False,5,23,PTYPE_FULL,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,False,5,23,PTYPE_PART,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,False,5,23,PTYPE_UNIVERSITY,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,False,5,23,PTYPE_DRIVING,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +primary_purpose,outbound,depart_range_start,depart_range_end,person_type,work,univ,school,escort,shopping,othmaint,eatout,social,othdiscr +work,True,5,8,PTYPE_FULL,0.198,0.004,0,0.466,0.083,0.086,0.093,0.004,0.066 +work,True,5,8,PTYPE_PART,0.094,0,0,0.657,0.076,0.07,0.067,0.009,0.027 +work,True,5,8,PTYPE_UNIVERSITY,0.067,0.081,0,0.433,0.005,0.038,0.153,0.108,0.115 +work,True,9,23,PTYPE_FULL,0.278,0.008,0,0.172,0.18,0.193,0.107,0.016,0.046 +work,True,9,23,PTYPE_PART,0.442,0,0,0.089,0.105,0.175,0.102,0.03,0.057 +work,True,9,23,PTYPE_UNIVERSITY,0.049,0.086,0,0.392,0.159,0.157,0.069,0.073,0.015 +work,True,5,23,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 +univ,True,5,23,PTYPE_FULL,0.526,0.178,0,0.016,0.16,0.035,0.028,0.057,0 +univ,True,5,23,PTYPE_PART,0.059,0.941,0,0,0,0,0,0,0 +univ,True,5,23,PTYPE_UNIVERSITY,0.109,0.034,0,0.382,0.136,0.147,0.094,0.048,0.05 +school,True,5,23,PTYPE_DRIVING,0,0,0,0.548,0.015,0.1,0.206,0.073,0.058 +school,True,5,23,PTYPE_SCHOOL,0,0,0,0.53,0.025,0.084,0.112,0.048,0.201 +school,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.772,0.007,0.086,0.023,0.071,0.041 +escort,True,5,23,PTYPE_FULL,0,0,0,0.55,0.153,0.084,0.104,0.049,0.06 +escort,True,5,23,PTYPE_PART,0,0,0,0.449,0.194,0.07,0.167,0.059,0.061 +escort,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.509,0.193,0.158,0.048,0.058,0.034 +escort,True,5,23,PTYPE_NONWORK,0,0,0,0.444,0.216,0.084,0.108,0.118,0.03 +escort,True,5,23,PTYPE_RETIRED,0,0,0,0.37,0.204,0.192,0.03,0.068,0.136 +escort,True,5,23,PTYPE_DRIVING,0,0,0,0.586,0.227,0,0.072,0.115,0 +escort,True,5,23,PTYPE_SCHOOL,0,0,0,0.37,0.183,0.29,0.064,0.013,0.08 +escort,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.531,0.064,0,0.131,0.196,0.078 +shopping,True,5,23,PTYPE_FULL,0,0,0,0.102,0.456,0.226,0.11,0.06,0.046 +shopping,True,5,23,PTYPE_PART,0,0,0,0.182,0.291,0.311,0.108,0.031,0.077 +shopping,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.13,0.262,0.36,0.124,0.06,0.064 +shopping,True,5,23,PTYPE_NONWORK,0,0,0,0.144,0.336,0.274,0.122,0.068,0.056 +shopping,True,5,23,PTYPE_RETIRED,0,0,0,0.058,0.357,0.418,0.05,0.047,0.07 +shopping,True,5,23,PTYPE_DRIVING,0,0,0,0.076,0.193,0.298,0.047,0.13,0.256 +shopping,True,5,23,PTYPE_SCHOOL,0,0,0,0.121,0.142,0.232,0.291,0.03,0.184 +shopping,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.138,0.292,0.301,0.187,0.064,0.018 +othmaint,True,5,23,PTYPE_FULL,0,0,0,0.201,0.252,0.366,0.117,0.032,0.032 +othmaint,True,5,23,PTYPE_PART,0,0,0,0.27,0.259,0.325,0.109,0,0.037 +othmaint,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.489,0.13,0.167,0.025,0.15,0.039 +othmaint,True,5,23,PTYPE_NONWORK,0,0,0,0.279,0.229,0.344,0.078,0.039,0.031 +othmaint,True,5,23,PTYPE_RETIRED,0,0,0,0.224,0.139,0.321,0.098,0.064,0.154 +othmaint,True,5,23,PTYPE_DRIVING,0,0,0,0.135,0,0.259,0.083,0.523,0 +othmaint,True,5,23,PTYPE_SCHOOL,0,0,0,0.191,0.408,0.344,0.041,0.008,0.008 +othmaint,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.143,0.301,0.464,0.017,0.029,0.046 +eatout,True,5,23,PTYPE_FULL,0,0,0,0.144,0.283,0.202,0.036,0.129,0.206 +eatout,True,5,23,PTYPE_PART,0,0,0,0.169,0.374,0.179,0.013,0.135,0.13 +eatout,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.32,0.085,0.111,0,0.153,0.331 +eatout,True,5,23,PTYPE_NONWORK,0,0,0,0.201,0.224,0.269,0.063,0.082,0.161 +eatout,True,5,23,PTYPE_RETIRED,0,0,0,0.142,0.237,0.237,0.034,0.123,0.227 +eatout,True,5,23,PTYPE_DRIVING,0,0,0,0.175,0.289,0.346,0,0.105,0.085 +eatout,True,5,23,PTYPE_SCHOOL,0,0,0,0.124,0.135,0.135,0.04,0.048,0.518 +eatout,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.055,0.329,0.165,0.061,0,0.39 +social,True,5,23,PTYPE_FULL,0,0,0,0.186,0.382,0.144,0.122,0.126,0.04 +social,True,5,23,PTYPE_PART,0,0,0,0.175,0.153,0.167,0.147,0.183,0.175 +social,True,5,23,PTYPE_UNIVERSITY,0,0,0,0,0.212,0.091,0.432,0.234,0.031 +social,True,5,23,PTYPE_NONWORK,0,0,0,0.311,0.392,0.149,0.071,0.058,0.019 +social,True,5,23,PTYPE_RETIRED,0,0,0,0.12,0.407,0.203,0.151,0.102,0.017 +social,True,5,23,PTYPE_DRIVING,0,0,0,0,0,0,0,0.415,0.585 +social,True,5,23,PTYPE_SCHOOL,0,0,0,0.322,0.11,0.05,0,0.378,0.14 +social,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.294,0,0.159,0,0.547,0 +othdiscr,True,5,23,PTYPE_FULL,0,0,0,0.236,0.169,0.143,0.19,0.093,0.169 +othdiscr,True,5,23,PTYPE_PART,0,0,0,0.223,0.208,0.181,0.193,0.129,0.066 +othdiscr,True,5,23,PTYPE_UNIVERSITY,0,0,0,0.135,0.123,0.061,0.342,0.123,0.216 +othdiscr,True,5,23,PTYPE_NONWORK,0,0,0,0.263,0.295,0.148,0.088,0.082,0.124 +othdiscr,True,5,23,PTYPE_RETIRED,0,0,0,0.225,0.056,0.389,0.16,0.091,0.079 +othdiscr,True,5,23,PTYPE_DRIVING,0,0,0,0.311,0.126,0.051,0.018,0.142,0.352 +othdiscr,True,5,23,PTYPE_SCHOOL,0,0,0,0.222,0.112,0.172,0.173,0.141,0.18 +othdiscr,True,5,23,PTYPE_PRESCHOOL,0,0,0,0.271,0.108,0.393,0.146,0.043,0.039 +atwork,True,5,23,PTYPE_FULL,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,True,5,23,PTYPE_PART,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,True,5,23,PTYPE_UNIVERSITY,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,True,5,23,PTYPE_DRIVING,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +#,,,,,,,,,,,,, +work,False,5,14,PTYPE_FULL,0.175,0,0,0.14,0.27,0.162,0.134,0.05,0.069 +work,False,5,14,PTYPE_PART,0.097,0,0,0.252,0.211,0.192,0.159,0.089,0 +work,False,5,14,PTYPE_UNIVERSITY,0.134,0,0,0.329,0.114,0.212,0.169,0.042,0 +work,False,15,23,PTYPE_FULL,0.151,0.011,0,0.201,0.28,0.127,0.103,0.035,0.092 +work,False,15,23,PTYPE_PART,0.11,0,0,0.243,0.281,0.13,0.119,0.036,0.081 +work,False,15,23,PTYPE_UNIVERSITY,0.058,0.127,0,0.224,0.269,0.079,0.072,0.108,0.063 +work,False,5,23,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 +univ,False,5,23,PTYPE_FULL,0.352,0.032,0,0.032,0.146,0.114,0.177,0.028,0.119 +univ,False,5,23,PTYPE_PART,0,0,0,0.822,0.178,0,0,0,0 +univ,False,5,23,PTYPE_UNIVERSITY,0.054,0.025,0,0.194,0.209,0.179,0.159,0.067,0.113 +school,False,5,23,PTYPE_DRIVING,0,0,0,0.301,0.117,0.098,0.169,0.186,0.129 +school,False,5,23,PTYPE_SCHOOL,0,0,0,0.166,0.158,0.147,0.122,0.133,0.274 +school,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.38,0.148,0.089,0.146,0.102,0.135 +escort,False,5,23,PTYPE_FULL,0,0,0,0.343,0.235,0.114,0.222,0.039,0.047 +escort,False,5,23,PTYPE_PART,0,0,0,0.24,0.298,0.128,0.157,0.045,0.132 +escort,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.195,0.319,0.287,0.02,0.027,0.152 +escort,False,5,23,PTYPE_NONWORK,0,0,0,0.28,0.325,0.169,0.103,0.05,0.073 +escort,False,5,23,PTYPE_RETIRED,0,0,0,0.31,0.317,0.073,0.111,0.112,0.077 +escort,False,5,23,PTYPE_DRIVING,0,0,0,0,0.489,0,0.148,0.363,0 +escort,False,5,23,PTYPE_SCHOOL,0,0,0,0.188,0.259,0.129,0.202,0.06,0.162 +escort,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.413,0.215,0.118,0.211,0.019,0.024 +shopping,False,5,23,PTYPE_FULL,0,0,0,0.091,0.526,0.159,0.152,0.047,0.025 +shopping,False,5,23,PTYPE_PART,0,0,0,0.104,0.553,0.156,0.105,0.037,0.045 +shopping,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.1,0.43,0.064,0.344,0.003,0.059 +shopping,False,5,23,PTYPE_NONWORK,0,0,0,0.11,0.528,0.158,0.122,0.059,0.023 +shopping,False,5,23,PTYPE_RETIRED,0,0,0,0.052,0.549,0.159,0.123,0.06,0.057 +shopping,False,5,23,PTYPE_DRIVING,0,0,0,0.118,0.707,0,0.041,0.134,0 +shopping,False,5,23,PTYPE_SCHOOL,0,0,0,0.015,0.19,0.256,0.157,0.179,0.203 +shopping,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.206,0.172,0.22,0.202,0.158,0.042 +othmaint,False,5,23,PTYPE_FULL,0,0,0,0.171,0.364,0.215,0.159,0.029,0.062 +othmaint,False,5,23,PTYPE_PART,0,0,0,0.228,0.365,0.17,0.13,0.041,0.066 +othmaint,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.046,0.345,0.192,0.298,0.06,0.059 +othmaint,False,5,23,PTYPE_NONWORK,0,0,0,0.17,0.423,0.158,0.171,0.064,0.014 +othmaint,False,5,23,PTYPE_RETIRED,0,0,0,0.099,0.391,0.213,0.241,0.036,0.02 +othmaint,False,5,23,PTYPE_DRIVING,0,0,0,0.031,0.356,0.075,0.458,0.031,0.049 +othmaint,False,5,23,PTYPE_SCHOOL,0,0,0,0.181,0.255,0.142,0.313,0,0.109 +othmaint,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.164,0.249,0.338,0.053,0.006,0.19 +eatout,False,5,23,PTYPE_FULL,0,0,0,0.106,0.44,0.112,0.041,0.128,0.173 +eatout,False,5,23,PTYPE_PART,0,0,0,0.168,0.331,0.225,0.023,0.063,0.19 +eatout,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.165,0.334,0.104,0.088,0.135,0.174 +eatout,False,5,23,PTYPE_NONWORK,0,0,0,0.148,0.547,0.092,0.056,0.055,0.102 +eatout,False,5,23,PTYPE_RETIRED,0,0,0,0.166,0.414,0.169,0.02,0.166,0.065 +eatout,False,5,23,PTYPE_DRIVING,0,0,0,0.195,0.332,0.114,0.114,0,0.245 +eatout,False,5,23,PTYPE_SCHOOL,0,0,0,0.072,0.356,0.053,0.019,0.169,0.331 +eatout,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.01,0.286,0.045,0.117,0.064,0.478 +social,False,5,23,PTYPE_FULL,0,0,0,0.12,0.286,0.123,0.19,0.255,0.026 +social,False,5,23,PTYPE_PART,0,0,0,0.106,0.122,0.039,0.553,0.047,0.133 +social,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.105,0.274,0.176,0,0.206,0.239 +social,False,5,23,PTYPE_NONWORK,0,0,0,0.313,0.326,0.13,0.062,0.075,0.094 +social,False,5,23,PTYPE_RETIRED,0,0,0,0.097,0.338,0.067,0.156,0.328,0.014 +social,False,5,23,PTYPE_DRIVING,0,0,0,0,0,0.368,0.15,0.482,0 +social,False,5,23,PTYPE_SCHOOL,0,0,0,0.058,0.162,0.085,0.281,0.125,0.289 +social,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.23,0.028,0.072,0.23,0.44,0 +othdiscr,False,5,23,PTYPE_FULL,0,0,0,0.108,0.319,0.132,0.27,0.112,0.059 +othdiscr,False,5,23,PTYPE_PART,0,0,0,0.102,0.346,0.154,0.181,0.087,0.13 +othdiscr,False,5,23,PTYPE_UNIVERSITY,0,0,0,0.116,0.374,0.124,0.162,0.033,0.191 +othdiscr,False,5,23,PTYPE_NONWORK,0,0,0,0.11,0.389,0.19,0.19,0.067,0.054 +othdiscr,False,5,23,PTYPE_RETIRED,0,0,0,0.111,0.284,0.186,0.197,0.111,0.111 +othdiscr,False,5,23,PTYPE_DRIVING,0,0,0,0.277,0.304,0.057,0.205,0.157,0 +othdiscr,False,5,23,PTYPE_SCHOOL,0,0,0,0.114,0.204,0.148,0.291,0.089,0.154 +othdiscr,False,5,23,PTYPE_PRESCHOOL,0,0,0,0.335,0.133,0.111,0.282,0.052,0.087 +atwork,False,5,23,PTYPE_FULL,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,False,5,23,PTYPE_PART,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,False,5,23,PTYPE_UNIVERSITY,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,False,5,23,PTYPE_DRIVING,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 diff --git a/activitysim/examples/example_mtc/configs/trip_scheduling.yaml b/activitysim/examples/prototype_mtc/configs/trip_scheduling.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/trip_scheduling.yaml rename to activitysim/examples/prototype_mtc/configs/trip_scheduling.yaml diff --git a/activitysim/examples/example_mtc/configs/trip_scheduling_probs.csv b/activitysim/examples/prototype_mtc/configs/trip_scheduling_probs.csv similarity index 98% rename from activitysim/examples/example_mtc/configs/trip_scheduling_probs.csv rename to activitysim/examples/prototype_mtc/configs/trip_scheduling_probs.csv index e9244bd9c4..6a0deffede 100644 --- a/activitysim/examples/example_mtc/configs/trip_scheduling_probs.csv +++ b/activitysim/examples/prototype_mtc/configs/trip_scheduling_probs.csv @@ -1,1369 +1,1369 @@ -primary_purpose,outbound,tour_hour,trip_num,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23 -work,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,5,2,0.249730906,0.477180111,0.215788882,0.02257625,0.009653299,0.001272067,0.002559828,0.005345297,0.012868196,0.000858457,0,0.00130551,0,0.000861198,0,0,0,0,0 -work,TRUE,5,3,0.269166724,0.331378773,0.290398422,0.047428828,0.032211326,0.003681738,0,0.00648104,0.007547054,0.006178507,0,0.005527589,0,0,0,0,0,0,0 -work,TRUE,5,4,0.087782501,0.257488508,0.384088251,0.077346978,0.060562922,0,0,0.049138541,0,0.014538525,0,0,0,0.041701151,0.018235082,0,0.009117541,0,0 -work,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,6,2,0,0.218769369,0.568056029,0.16549898,0.028654735,0.007305391,0.002067083,0.003148838,0.000503641,0.003688829,0.002307106,0,0,0,0,0,0,0,0 -work,TRUE,6,3,0,0.130626273,0.577093506,0.214895882,0.051730954,0.003240613,0,0.004631429,0.00858571,0.005631893,0.001259632,0,0.002304109,0,0,0,0,0,0 -work,TRUE,6,4,0,0.003746877,0.546827469,0.29119719,0.043440135,0.021108582,0,0.041279538,0.022438337,0.019313618,0.003776433,0.006871821,0,0,0,0,0,0,0 -work,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,7,2,0,0,0.265300367,0.613559084,0.096014364,0.014396896,0.003048705,0.004403151,0,0.001139887,0.001411868,0.000725679,0,0,0,0,0,0,0 -work,TRUE,7,3,0,0,0.166352156,0.62367014,0.155705334,0.026659137,0.007295847,0.013673999,0.003582828,0.001111918,0.000525728,0.001422911,0,0,0,0,0,0,0 -work,TRUE,7,4,0,0,0.105022925,0.545651324,0.19699608,0.086647479,0.013272884,0.007863943,0.037841595,0.002284229,0.001876743,0,0.002542798,0,0,0,0,0,0 -work,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,8,2,0,0,0,0.456491659,0.443858962,0.071483886,0.007227768,0.011205848,0.004971546,0.003779089,0,0.000629094,0.000352148,0,0,0,0,0,0 -work,TRUE,8,3,0,0,0,0.297357445,0.518087382,0.132861058,0.006370619,0.007614307,0.009010749,0.012385163,0.002114995,0.01254835,0.001649933,0,0,0,0,0,0 -work,TRUE,8,4,0,0,0,0.219050051,0.313898882,0.316701629,0.097894922,0.024670968,0.007826425,0.014063117,0,0,0.001659846,0,0,0,0.00423416,0,0 -work,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,9,2,0,0,0,0,0.381802065,0.463610086,0.07833074,0.053350819,0.012379425,0.006984996,0.002188786,0.001353083,0,0,0,0,0,0,0 -work,TRUE,9,3,0,0,0,0,0.244359192,0.505051786,0.124730319,0.070740285,0.04380103,0.00393502,0.002381853,0,0.005000514,0,0,0,0,0,0 -work,TRUE,9,4,0,0,0,0,0.048177162,0.281924251,0.128648284,0.140849287,0.097452942,0.149279798,0.129250851,0.024417425,0,0,0,0,0,0,0 -work,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,10,2,0,0,0,0,0,0.287462748,0.478190637,0.154315841,0.0141405,0.047319629,0,0.005707897,0,0.004618797,0.008243951,0,0,0,0 -work,TRUE,10,3,0,0,0,0,0,0.224513864,0.313870996,0.279113796,0.089398426,0.044754472,0.034345645,0.014002803,0,0,0,0,0,0,0 -work,TRUE,10,4,0,0,0,0,0,0,0.181896949,0.267783358,0.317739276,0.088027455,0.086885637,0,0,0,0.057667324,0,0,0,0 -work,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,11,2,0,0,0,0,0,0,0.349521518,0.402347786,0.191514732,0.044397707,0.009105065,0,0.003113192,0,0,0,0,0,0 -work,TRUE,11,3,0,0,0,0,0,0,0.207587883,0.30769214,0.335712206,0.084378351,0.047431249,0.017198171,0,0,0,0,0,0,0 -work,TRUE,11,4,0,0,0,0,0,0,0,0.482525146,0.331491287,0.154741395,0,0,0.031242172,0,0,0,0,0,0 -work,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -work,TRUE,12,2,0,0,0,0,0,0,0,0.228781907,0.52986365,0.185949096,0.016952622,0.0225574,0,0.015895326,0,0,0,0,0 -work,TRUE,12,3,0,0,0,0,0,0,0,0.048290452,0.527617032,0.260449945,0.038087283,0.125555288,0,0,0,0,0,0,0 -work,TRUE,12,4,0,0,0,0,0,0,0,0.055268088,0.55183696,0.308090511,0.022112333,0.026969361,0.035722748,0,0,0,0,0,0 -work,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -work,TRUE,13,2,0,0,0,0,0,0,0,0,0.618115652,0.284403475,0.097480873,0,0,0,0,0,0,0,0 -work,TRUE,13,3,0,0,0,0,0,0,0,0,0.496549493,0.232797723,0.159946019,0,0.015308798,0.038007565,0.057390402,0,0,0,0 -work,TRUE,13,4,0,0,0,0,0,0,0,0,0.176762619,0,0,0,0.823237381,0,0,0,0,0,0 -work,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -work,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.574348416,0.354554927,0.071096656,0,0,0,0,0,0,0 -work,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.502109794,0.21816867,0.279721536,0,0,0,0,0,0,0 -work,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.133121347,0.633379229,0.134648916,0.049425254,0.049425254,0,0,0,0,0 -work,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -work,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.552840921,0.403380234,0.043778845,0,0,0,0,0,0 -work,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.134176676,0.725445222,0.140378102,0,0,0,0,0,0 -work,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -work,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -work,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.470117389,0.401307167,0.110787768,0.017787675,0,0,0,0 -work,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.648121232,0.228392401,0.123486367,0,0,0,0,0 -work,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -work,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.406105035,0.414979307,0.178915658,0,0,0,0 -work,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.212373176,0.787626824,0,0,0,0,0 -work,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.5,0,0,0 -work,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21625036,0.437860534,0.113269906,0.232619199,0,0 -work,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -work,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -work,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81925165,0.07204277,0,0.10870558,0 -work,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492020395,0.507979605,0,0,0 -work,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -work,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -work,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.388129509,0.611870491,0,0 -work,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -work,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -work,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171581948,0.828418052,0 -work,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258374236,0.741625764,0 -work,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -work,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -work,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,1,0,0.220793114,0.779206886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,2,0,0.425176732,0.574823268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,1,0,0,0.107759005,0.892240995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,2,0,0,0.690008913,0.309991087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,3,0,0.337495318,0.662504682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,8,4,0,0,0.569894206,0.430105794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,1,0,0,0,0.314951457,0.685048543,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,2,0,0,0,0.079070075,0.920929925,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,3,0,0,0,0.226319471,0.773680529,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,1,0,0.046066203,0.007425743,0.028045042,0.233624929,0.684838083,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,2,0,0.126398434,0,0.0549729,0.096449389,0.722179277,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,3,0,0,0,0,0.36604282,0.63395718,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,1,0,0,0.017580881,0.034113366,0.04162677,0.286326641,0.620352342,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,2,0,0,0.02642438,0,0.033819936,0.199217971,0.740537713,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,3,0,0,0,0,0.005130668,0.277227788,0.717641544,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,11,4,0,0,0,0,0,0.036304716,0.963695284,0,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,1,0,0.002492115,0.001670698,0.012159512,0.014698251,0.029407418,0.152563565,0.787008442,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,2,0,0,0.006100837,0.011620455,0.013952709,0.036974376,0.310894404,0.620457219,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,3,0,0,0,0.009383356,0.042387756,0.006845546,0.29720543,0.644177912,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,12,4,0,0,0,0.008143494,0,0.049968848,0.124165248,0.81772241,0,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,1,0,0,0.004406789,0.016516638,0.008423145,0.030672879,0.043679722,0.31728407,0.579016757,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,2,0,0,0.003526988,0.003893522,0.007279925,0.014935643,0.080084093,0.245195123,0.645084705,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,3,0,0,0,0,0.01495651,0,0.040446175,0.214618414,0.729978901,0,0,0,0,0,0,0,0,0,0 -work,FALSE,13,4,0,0,0,0,0.01397645,0.006836511,0.025113874,0.15362871,0.800444454,0,0,0,0,0,0,0,0,0,0 -work,FALSE,14,1,0.002365799,0,0.003370061,0,0.004899447,0.008850097,0.035188808,0.07267661,0.207306035,0.665343143,0,0,0,0,0,0,0,0,0 -work,FALSE,14,2,0.007728364,0.003287077,0,0.006520962,0,0.032254466,0.052851387,0.133223369,0.229023292,0.535111082,0,0,0,0,0,0,0,0,0 -work,FALSE,14,3,0,0,0,0.003971419,0,0,0.008873008,0.119445331,0.269752545,0.597957698,0,0,0,0,0,0,0,0,0 -work,FALSE,14,4,0,0,0,0,0.056793918,0,0.011546821,0.042023265,0.23002226,0.659613737,0,0,0,0,0,0,0,0,0 -work,FALSE,15,1,0,0.005222802,0.000561863,0.003055031,0.006434507,0.007479814,0.009995919,0.013087333,0.058426024,0.310076404,0.585660301,0,0,0,0,0,0,0,0 -work,FALSE,15,2,0,0,0,0.001993619,0.008787212,0.008189747,0.015159942,0.009310176,0.054885948,0.253934613,0.647738743,0,0,0,0,0,0,0,0 -work,FALSE,15,3,0,0,0,0.001732532,0,0.00508097,0.029352724,0.030967014,0.039664292,0.202228781,0.690973688,0,0,0,0,0,0,0,0 -work,FALSE,15,4,0,0,0,0,0,0.004125776,0.011923745,0.030960101,0.061425266,0.239676364,0.651888748,0,0,0,0,0,0,0,0 -work,FALSE,16,1,0,0,0.001326173,0.005965432,0.005180374,0.004138931,0.011262579,0.01661091,0.012073334,0.03679347,0.347396478,0.559252319,0,0,0,0,0,0,0 -work,FALSE,16,2,0,0,0.001822625,0.003909533,0.002974064,0.004461131,0.032696294,0.017905122,0.043805267,0.040055335,0.31441461,0.537956019,0,0,0,0,0,0,0 -work,FALSE,16,3,0,0,0,0,0.006964674,0,0.007663971,0.011249685,0.051874804,0.083383231,0.266186632,0.572677003,0,0,0,0,0,0,0 -work,FALSE,16,4,0.002037834,0,0,0,0,0.005964919,0.002996052,0.010623137,0.018245507,0.068094063,0.195919724,0.696118764,0,0,0,0,0,0,0 -work,FALSE,17,1,0,0,0.001405366,0.004415995,0.00337412,0.003812259,0.014084324,0.008465853,0.012498337,0.015584379,0.06625893,0.34857546,0.521524978,0,0,0,0,0,0 -work,FALSE,17,2,0,0.000261415,0.003193506,0.003224601,0.01031862,0.003695936,0.005727058,0.024107723,0.01290257,0.024008033,0.090851226,0.28964028,0.532069032,0,0,0,0,0,0 -work,FALSE,17,3,0,0,0.000765903,0.001471397,0.008789257,0.002465017,0.005279632,0.009138832,0.01433563,0.026053515,0.045996258,0.222930968,0.662773591,0,0,0,0,0,0 -work,FALSE,17,4,0,0,0,0.000418211,0.002396043,0.007974979,0.014040235,0.00763931,0.007998749,0.020421036,0.047793315,0.160067858,0.731250266,0,0,0,0,0,0 -work,FALSE,18,1,0,0.001141884,0.000347251,0.005493278,0.0034212,0.004108535,0.018739263,0.013709509,0.003846669,0.010612585,0.030088047,0.076311695,0.459430143,0.372749941,0,0,0,0,0 -work,FALSE,18,2,0,0.000397247,0.000707705,0.005535515,0.005281963,0.006814578,0.015049985,0.03759067,0.008201571,0.014941596,0.020264402,0.096049656,0.37187676,0.417288351,0,0,0,0,0 -work,FALSE,18,3,0,0,0.000752403,0.001471647,0,0.003652225,0.011264642,0.015334427,0.024656138,0.012088375,0.011628494,0.081091511,0.38372424,0.454335898,0,0,0,0,0 -work,FALSE,18,4,0,0,0.00040169,0.000306609,0.0002567,0.000726244,0.002720367,0.010037344,0.005670103,0.015810978,0.039979813,0.053350178,0.223343181,0.647396793,0,0,0,0,0 -work,FALSE,19,1,0,0.001186239,0,0.002728595,0.007883348,0.008718809,0.009638123,0.011693247,0.012706395,0.005992436,0.024678769,0.039878395,0.101249301,0.453611585,0.320034756,0,0,0,0 -work,FALSE,19,2,0,0,0,0.004170607,0.002769083,0.008212126,0.01044298,0.034645644,0.024223099,0.015502992,0.044371325,0.03839639,0.101706769,0.292181702,0.423377281,0,0,0,0 -work,FALSE,19,3,0,0,0,0.003546437,0.001427168,0.004005704,0.004647363,0.014456394,0.026101366,0.008168106,0.016583656,0.063080785,0.175251264,0.316168107,0.366563651,0,0,0,0 -work,FALSE,19,4,0,0,0,0,0.002545816,0.001448115,0.001519341,0.006183074,0.015479082,0.010887569,0.013355331,0.023014309,0.098855008,0.198551692,0.628160662,0,0,0,0 -work,FALSE,20,1,0,0,0.002357347,0.003515438,0.003650989,0.004956981,0.005821696,0.03028673,0.010683018,0.006121216,0.039610208,0.067356772,0.074052002,0.107849619,0.362764994,0.280972989,0,0,0 -work,FALSE,20,2,0,0,0,0.003020632,0.000872671,0.009819915,0.004032092,0.033547265,0.012437164,0.023084614,0.029601855,0.030696598,0.08880218,0.150240348,0.244376765,0.3694679,0,0,0 -work,FALSE,20,3,0,0,0,0,0.004490786,0.000948296,0.00496082,0.008797541,0.038290701,0.03100745,0.01309721,0.070674268,0.104392115,0.094315975,0.284308763,0.344716076,0,0,0 -work,FALSE,20,4,0,0,0,0,0,0,0.003217512,0.008519707,0.01832166,0.021264988,0.034310024,0.032173455,0.100093463,0.115029817,0.197663659,0.469405714,0,0,0 -work,FALSE,21,1,0,0,0.00486935,0.004088274,0.009577732,0.013580516,0.019408543,0.027638575,0.028964986,0.013373832,0.01367219,0.088681299,0.105198543,0.066199405,0.05396423,0.186005224,0.3647773,0,0 -work,FALSE,21,2,0,0,0.005064281,0,0.005604807,0.001600494,0.02231608,0.036560998,0.023155074,0.011113847,0.021297782,0.024032721,0.15164875,0.095555611,0.130774865,0.152199827,0.319074864,0,0 -work,FALSE,21,3,0,0,0,0,0,0,0.008088371,0.016902755,0.023330301,0.010037114,0.04837863,0.047736466,0.100832492,0.115955331,0.150651228,0.252610972,0.225476339,0,0 -work,FALSE,21,4,0,0,0,0,0,0,0,0.009975719,0.00458937,0.004215296,0.014833666,0.013407482,0.096553857,0.131723579,0.099990132,0.155500861,0.469210038,0,0 -work,FALSE,22,1,0,0,0,0,0.002354463,0.001321627,0.001526638,0.003547564,0.007889584,0.00247877,0.061446315,0.077612309,0.104848995,0.087316793,0.063921354,0.040342969,0.155380603,0.390012018,0 -work,FALSE,22,2,0,0,0,0.001982423,0,0.007743127,0.011968403,0.008685093,0.003973347,0.012345869,0.016587124,0.040020235,0.072010749,0.098243002,0.073472113,0.096470733,0.242366696,0.314131085,0 -work,FALSE,22,3,0,0,0,0,0,0.00900164,0.001675422,0.021019519,0.008241362,0.012933333,0.01478469,0.047949921,0.119423115,0.119522763,0.080598154,0.04905538,0.20209014,0.313704562,0 -work,FALSE,22,4,0,0,0,0,0,0.00241091,0.006967046,0.024621244,0.004358134,0.006887033,0.008276343,0.047494465,0.086031065,0.153176335,0.061142075,0.031195643,0.205080104,0.362359603,0 -work,FALSE,23,1,0,0.001238847,0,0.002154573,0.003964601,0.001493218,0.012410725,0.019401965,0.016898905,0.02730294,0.011556986,0.034875148,0.041105748,0.083174793,0.018419684,0.005370325,0.063729247,0.109449086,0.54745321 -work,FALSE,23,2,0,0,0.001396549,0,0.003319033,0.005204887,0.025094008,0.033735384,0.008488109,0.01528189,0.022728985,0.031350219,0.058537975,0.074214158,0.022929206,0.042918793,0.007770177,0.170962188,0.476068439 -work,FALSE,23,3,0,0,0.001748893,0.001566752,0,0.007196939,0.011228416,0.021359669,0.028165721,0.008967715,0.028693265,0.056683172,0.078656022,0.063158735,0.099308392,0.039560138,0.024986978,0.098009336,0.43070986 -work,FALSE,23,4,0,0,0.000766782,0.004388369,0.002881109,0.004980974,0.024053963,0.026342685,0.029143148,0.024074445,0.020534932,0.036286202,0.115377511,0.062463348,0.051866458,0.057077696,0.052763369,0.108781076,0.378217933 -univ,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,5,2,0,0.141462921,0.39086301,0,0.071786124,0.025897511,0,0,0,0.097305573,0,0.030851335,0.102890339,0.138943185,0,0,0,0,0 -univ,TRUE,5,3,0,0,0.873218626,0,0,0.057857072,0,0,0,0,0,0,0,0.068924303,0,0,0,0,0 -univ,TRUE,5,4,0,0,0,0,0,0,0.32303468,0,0.32303468,0.16151734,0,0,0,0.192413299,0,0,0,0,0 -univ,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,6,2,0,0.134677838,0.456787632,0.153282563,0.059662856,0.118242123,0.03689652,0.007431799,0.019186549,0,0,0.01383212,0,0,0,0,0,0,0 -univ,TRUE,6,3,0,0.09504007,0.597276077,0.241947175,0,0,0,0.065736678,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,6,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,7,2,0,0,0.16008737,0.671458416,0.049774779,0.017812393,0.020633361,0.033501607,0,0.039093289,0.007638784,0,0,0,0,0,0,0,0 -univ,TRUE,7,3,0,0,0.052281409,0.806320518,0.030314369,0,0,0.012683969,0,0.051228214,0,0.047171521,0,0,0,0,0,0,0 -univ,TRUE,7,4,0,0,0,0.384291795,0.37997151,0.017486076,0.017486076,0,0.052458229,0.020717499,0.020717499,0.106871315,0,0,0,0,0,0,0 -univ,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,2,0,0,0,0.508028202,0.405046381,0.075475558,0.005588065,0,0.005861793,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,3,0,0,0,0.353221848,0.426314578,0.180255321,0.025900769,0.014307484,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,8,4,0,0,0,0.244322976,0.391323801,0.023592159,0.14547362,0.023592159,0,0.117960797,0,0.026867244,0.026867244,0,0,0,0,0,0 -univ,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,9,2,0,0,0,0,0.363140456,0.541860336,0.068377772,0.008522123,0,0,0.018099314,0,0,0,0,0,0,0,0 -univ,TRUE,9,3,0,0,0,0,0.088505041,0.64872571,0.084998604,0.177770645,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,9,4,0,0,0,0,0.139725614,0.449854868,0.134189894,0,0.276229624,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,2,0,0,0,0,0,0.346861762,0.509611346,0.026290472,0.013109947,0.104126473,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,3,0,0,0,0,0,0.302069617,0.428966039,0.192628694,0,0.07633565,0,0,0,0,0,0,0,0,0 -univ,TRUE,10,4,0,0,0,0,0,0,0.414612817,0,0.115720886,0.347162659,0.122503637,0,0,0,0,0,0,0,0 -univ,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,11,2,0,0,0,0,0,0,0.237240285,0.707936221,0.02446143,0.00979796,0.020564104,0,0,0,0,0,0,0,0 -univ,TRUE,11,3,0,0,0,0,0,0,0.042322313,0.335051522,0.231238246,0.268514141,0.122873778,0,0,0,0,0,0,0,0 -univ,TRUE,11,4,0,0,0,0,0,0,0,0.563593836,0.248920946,0,0.058524887,0.128960331,0,0,0,0,0,0,0 -univ,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,12,2,0,0,0,0,0,0,0,0,0.437771877,0.210261779,0,0,0.297139297,0.054827047,0,0,0,0,0 -univ,TRUE,12,3,0,0,0,0,0,0,0,0,0.43873352,0.141096056,0.130019758,0,0.219455556,0.070695109,0,0,0,0,0 -univ,TRUE,12,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -univ,TRUE,13,2,0,0,0,0,0,0,0,0,0.134867601,0.583447862,0.08911022,0.053636459,0.138937858,0,0,0,0,0,0 -univ,TRUE,13,3,0,0,0,0,0,0,0,0,0.150944969,0.333823157,0.107766156,0.168152845,0,0.239312872,0,0,0,0,0 -univ,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.090285103,0.404418717,0.50529618,0,0,0,0,0,0,0 -univ,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.309699276,0.690300724,0,0,0,0,0,0,0 -univ,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -univ,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -univ,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.357567593,0.542130931,0.100301476,0,0,0,0,0,0 -univ,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.628916949,0.371083051,0,0,0,0,0,0 -univ,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -univ,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -univ,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.300048836,0.63299685,0.066954314,0,0,0,0,0 -univ,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -univ,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -univ,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.14414362,0.85585638,0,0,0,0,0 -univ,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.696191337,0.303808663,0,0,0,0 -univ,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -univ,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403432532,0.596567468,0,0,0,0 -univ,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.450038651,0.549961349,0,0,0,0 -univ,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -univ,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -univ,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -univ,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -univ,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -univ,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,1,0,0,0.016025515,0.983974485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,2,0,0,0.262404641,0.737595359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,1,0,0,0,0.163327352,0.836672648,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,1,0,0,0,0.226661626,0.168940428,0.604397946,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,2,0,0,0,0,0.222726098,0.777273902,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,3,0,0,0,0,0.611879485,0.388120515,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,10,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,1,0,0,0,0.015316515,0.046862442,0.097177177,0.840643866,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,2,0,0,0,0.070258469,0,0.268634856,0.661106675,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,3,0,0,0,0.037689621,0,0.130353154,0.831957225,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,11,4,0,0,0,0,0,0.077208841,0.922791159,0,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,1,0,0,0.014945608,0,0.028129025,0.020638305,0.519341237,0.416945825,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,2,0,0,0.031201085,0.03237983,0.013231327,0.110325379,0.181858105,0.631004274,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,3,0,0,0,0.03549716,0.015053148,0,0.290392671,0.65905702,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,12,4,0,0,0,0,0.099318641,0.052098847,0.151713122,0.69686939,0,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,1,0,0,0,0,0,0,0.181017187,0.292661018,0.526321795,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,2,0,0,0,0,0,0,0.048301785,0.296950961,0.654747254,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,3,0,0,0,0,0,0,0,0.056113137,0.943886863,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,13,4,0,0,0,0,0,0.024635167,0,0,0.975364833,0,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,1,0,0,0,0.022000764,0.008154518,0.013638554,0.034791419,0.065882427,0.246258385,0.609273932,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,2,0,0,0,0,0,0,0.016168393,0.097081997,0.229754942,0.656994667,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,3,0,0,0,0,0,0,0.043234918,0.20601367,0.431619379,0.319132034,0,0,0,0,0,0,0,0,0 -univ,FALSE,14,4,0,0,0,0,0,0,0.024961198,0.010062765,0.104416222,0.860559815,0,0,0,0,0,0,0,0,0 -univ,FALSE,15,1,0,0,0,0.016983489,0,0.013422718,0.023570396,0.004582712,0.053800861,0.202721356,0.684918469,0,0,0,0,0,0,0,0 -univ,FALSE,15,2,0,0,0,0,0.045151752,0,0.099380208,0.018712363,0.046279979,0.313502235,0.476973464,0,0,0,0,0,0,0,0 -univ,FALSE,15,3,0,0,0,0,0,0,0.025154904,0.093517604,0.102200685,0.131224361,0.647902447,0,0,0,0,0,0,0,0 -univ,FALSE,15,4,0,0,0,0,0,0,0.04795036,0.04795036,0.065158411,0.21500352,0.623937348,0,0,0,0,0,0,0,0 -univ,FALSE,16,1,0,0,0,0,0,0.003411195,0,0.013129003,0,0.154717961,0.529208805,0.299533037,0,0,0,0,0,0,0 -univ,FALSE,16,2,0,0,0,0.015451903,0.014978609,0,0.006115529,0.008472156,0,0.091244276,0.417492241,0.446245285,0,0,0,0,0,0,0 -univ,FALSE,16,3,0,0,0,0,0,0.016342188,0.018885054,0,0.036490672,0.062457119,0.082466854,0.783358113,0,0,0,0,0,0,0 -univ,FALSE,16,4,0,0,0,0,0,0,0,0.102624898,0.020338459,0.028320918,0.182111674,0.666604051,0,0,0,0,0,0,0 -univ,FALSE,17,1,0,0,0,0,0,0,0,0.060607217,0.015960535,0.027738146,0.138834813,0.177730039,0.579129249,0,0,0,0,0,0 -univ,FALSE,17,2,0,0,0,0,0,0,0.026878378,0,0.045587412,0.056703613,0.067767612,0.211772198,0.591290787,0,0,0,0,0,0 -univ,FALSE,17,3,0,0,0,0,0,0,0.035711491,0,0,0.030318877,0.065253534,0.105686003,0.763030094,0,0,0,0,0,0 -univ,FALSE,17,4,0,0,0,0,0,0,0.010287884,0.023408308,0.036977492,0.010287884,0.081294488,0.144862027,0.692881918,0,0,0,0,0,0 -univ,FALSE,18,1,0,0,0,0.003945375,0,0,0,0.017778798,0,0.094239059,0.126537664,0.04524658,0.521630843,0.190621681,0,0,0,0,0 -univ,FALSE,18,2,0,0,0,0.00721016,0,0,0.021117111,0.009952491,0.040163794,0.181306282,0.011084411,0,0.37585875,0.353307001,0,0,0,0,0 -univ,FALSE,18,3,0,0,0,0.006589215,0,0,0,0.019298488,0,0.057611182,0.140317157,0.028818423,0.227948944,0.51941659,0,0,0,0,0 -univ,FALSE,18,4,0,0,0,0,0,0,0.008076984,0,0.019904917,0.065674412,0.055168626,0.094050391,0.164547688,0.592576982,0,0,0,0,0 -univ,FALSE,19,1,0,0,0,0,0.009454567,0,0,0,0.04102499,0,0.023746099,0,0.135591003,0.220827281,0.56935606,0,0,0,0 -univ,FALSE,19,2,0,0,0,0,0,0,0,0,0,0.078006772,0,0.060317466,0.259929547,0.359118303,0.242627912,0,0,0,0 -univ,FALSE,19,3,0,0,0,0,0,0,0,0,0,0.021382414,0,0.021188936,0.081686174,0.348421579,0.527320897,0,0,0,0 -univ,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189756837,0.810243163,0,0,0,0 -univ,FALSE,20,1,0,0,0,0,0,0,0,0.010016964,0,0,0,0.004718289,0.003266795,0,0.085231627,0.896766325,0,0,0 -univ,FALSE,20,2,0,0,0,0,0,0,0.11773307,0.039948419,0,0.039518498,0.05632597,0,0.267130581,0.046726624,0.026652785,0.405964054,0,0,0 -univ,FALSE,20,3,0,0,0,0,0,0,0,0.120183428,0,0.019425265,0,0.12981914,0.113130998,0,0.023452919,0.59398825,0,0,0 -univ,FALSE,20,4,0,0,0,0,0,0,0,0.120271055,0,0.038712543,0.069855242,0.27999729,0.089459377,0.067799861,0.14272972,0.191174912,0,0,0 -univ,FALSE,21,1,0,0,0,0,0,0,0,0,0.007338913,0.023203309,0.007350649,0.00472513,0.002978934,0,0.033142982,0.176639731,0.744620353,0,0 -univ,FALSE,21,2,0,0,0,0,0,0,0,0,0,0.057152164,0.184622922,0.047820405,0.014739649,0.00986257,0.02270102,0.078261413,0.584839857,0,0 -univ,FALSE,21,3,0,0,0,0,0,0,0,0.023488975,0,0.025096056,0,0,0.038339259,0,0.022191995,0.28095544,0.609928273,0,0 -univ,FALSE,21,4,0,0,0,0,0,0,0,0,0.029235831,0,0.09370831,0.034296673,0,0,0,0.045049879,0.797709307,0,0 -univ,FALSE,22,1,0,0,0,0,0,0,0,0,0,0.026178201,0.014643033,0,0.007467541,0,0.019259981,0,0.427134845,0.5053164,0 -univ,FALSE,22,2,0,0,0,0,0,0,0.034835821,0,0,0,0.140548783,0,0,0,0,0,0.1300249,0.694590496,0 -univ,FALSE,22,3,0,0,0,0,0,0,0,0.046323184,0,0,0,0.186895757,0,0,0,0,0.329771262,0.437009796,0 -univ,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0.156732984,0.024747713,0.166206674,0.137729625,0.24721205,0.267370954,0 -univ,FALSE,23,1,0,0,0,0,0,0,0,0,0,0.035836574,0,0.042066438,0.075012425,0.063439215,0,0,0.301680107,0.16901224,0.312953001 -univ,FALSE,23,2,0,0,0,0,0,0,0,0.022191189,0.04703489,0.224157456,0.038381448,0.045053715,0,0.164838447,0,0,0.125234584,0.144560801,0.188547469 -univ,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0.050535751,0,0.237653614,0.043051618,0,0.251962365,0.07621155,0.340585102 -univ,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.012541125,0,0.020367286,0.065349217,0.103326665,0.070453894,0.108396964,0.135051697,0.484513153 -school,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,2,0,0.040189605,0.959810395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,3,0,0.14676025,0.559777558,0.293462192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,5,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,2,0,0.090715709,0.600480587,0.301778371,0,0,0,0,0.007025333,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,3,0,0.189913473,0.435678549,0.345471524,0.028936455,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,6,4,0,0.276044088,0.461879351,0.26207656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,7,2,0,0,0.358595289,0.543340426,0.080407454,0.00494145,0,0.003218472,0.001252217,0.00163666,0.005875668,0,0.000732365,0,0,0,0,0,0 -school,TRUE,7,3,0,0,0.305390104,0.552122437,0.119495284,0,0.012287658,0,0,0,0.010704517,0,0,0,0,0,0,0,0 -school,TRUE,7,4,0,0,0.244790257,0.688367336,0,0.043560183,0,0.023282223,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,8,2,0,0,0,0.750052982,0.197397697,0.003009328,0.015758235,0.00583123,0,0.002418098,0.003851683,0.011638797,0.01004195,0,0,0,0,0,0 -school,TRUE,8,3,0,0,0,0.372624607,0.42987891,0.03924466,0,0.102467106,0,0,0.055784717,0,0,0,0,0,0,0,0 -school,TRUE,8,4,0,0,0,0,0.141654355,0.129241521,0.273939898,0,0,0,0,0.31350987,0.141654355,0,0,0,0,0,0 -school,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,2,0,0,0,0,0.090691548,0.482888016,0.426420437,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,3,0,0,0,0,0.091229458,0.353634961,0.555135582,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,9,4,0,0,0,0,0,0.30179716,0.69820284,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,2,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,3,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,11,2,0,0,0,0,0,0,0.02770017,0.902627425,0.038595346,0.031077059,0,0,0,0,0,0,0,0,0 -school,TRUE,11,3,0,0,0,0,0,0,0,0.797232896,0.076506636,0,0.126260468,0,0,0,0,0,0,0,0 -school,TRUE,11,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,2,0,0,0,0,0,0,0,0,0.899748743,0,0,0.100251257,0,0,0,0,0,0,0 -school,TRUE,12,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -school,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -school,TRUE,13,2,0,0,0,0,0,0,0,0,0,0.451262789,0.191174572,0.357562639,0,0,0,0,0,0,0 -school,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.068700765,0.443666092,0.487633143,0,0,0,0,0,0,0 -school,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.11838799,0.88161201,0,0,0,0,0,0,0 -school,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.534557731,0.079614802,0,0,0.385827467,0,0,0,0,0 -school,TRUE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -school,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0,0.868324906,0,0.131675094,0,0,0,0,0 -school,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.900878137,0.099121863,0,0,0,0,0,0 -school,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -school,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -school,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.173995865,0.826004135,0,0,0,0,0,0 -school,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0.637190616,0.362809384,0,0,0,0,0 -school,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.74484742,0.25515258,0,0,0,0,0 -school,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -school,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -school,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173208977,0.826791023,0,0,0,0 -school,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -school,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -school,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -school,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -school,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -school,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -school,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,1,0,0,0,0.09946831,0.90053169,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,1,0,0,0,0,0.051889499,0.948110501,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,1,0,0,0,0,0.00854797,0.143038003,0.848414027,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,2,0,0,0,0,0,0.07758327,0.92241673,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,3,0,0,0,0,0,0.05138849,0.94861151,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,1,0,0,0,0,0.019446017,0.011496295,0.285657861,0.683399827,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,2,0,0,0,0,0.019954492,0,0.331728142,0.648317366,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,3,0,0,0,0,0.033967027,0,0.201586112,0.764446861,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,12,4,0,0,0,0,0.113939675,0,0.018400111,0.867660214,0,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,1,0,0,0,0.019248269,0,0.002680163,0.030761477,0.259256669,0.688053423,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,2,0,0,0,0,0,0,0,0.189323178,0.810676822,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,3,0,0,0,0,0,0,0,0.258031986,0.741968014,0,0,0,0,0,0,0,0,0,0 -school,FALSE,13,4,0,0,0,0,0,0,0,0.279494058,0.720505942,0,0,0,0,0,0,0,0,0,0 -school,FALSE,14,1,0,0.000831908,0.000979746,0,0.001601486,0.002226531,0.002192251,0.02470079,0.091632585,0.875834703,0,0,0,0,0,0,0,0,0 -school,FALSE,14,2,0,0,0,0,0,0,0.041609561,0.016064041,0.222703138,0.71962326,0,0,0,0,0,0,0,0,0 -school,FALSE,14,3,0,0,0,0,0,0,0,0.023937672,0.13413328,0.841929047,0,0,0,0,0,0,0,0,0 -school,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -school,FALSE,15,1,0,0,0.006672723,0.001920517,0.000881135,0.000470656,0.007178881,0.003373865,0.007046025,0.435289669,0.537166529,0,0,0,0,0,0,0,0 -school,FALSE,15,2,0,0,0,0.003559393,0.005420446,0,0.01895427,0.006031842,0.009564559,0.299701581,0.656767909,0,0,0,0,0,0,0,0 -school,FALSE,15,3,0,0,0,0,0.014210731,0,0,0.009915361,0.013300231,0.238413075,0.724160602,0,0,0,0,0,0,0,0 -school,FALSE,15,4,0,0,0,0,0.013547957,0,0,0.003834839,0,0.141585883,0.841031322,0,0,0,0,0,0,0,0 -school,FALSE,16,1,0,0,0.003957494,0.007442128,0.002894311,0,0.018097734,0.013714786,0.017413316,0.113052385,0.49048648,0.332941366,0,0,0,0,0,0,0 -school,FALSE,16,2,0,0,0,0.001567759,0.006348016,0.004559163,0.009399428,0.015889281,0.021832495,0.089535591,0.363878359,0.486989907,0,0,0,0,0,0,0 -school,FALSE,16,3,0,0,0,0,0,0.008315162,0.022193918,0.007486006,0.004771945,0.02862127,0.176424988,0.75218671,0,0,0,0,0,0,0 -school,FALSE,16,4,0,0,0,0,0,0,0,0.028022669,0.01919336,0.027628588,0.156778381,0.768377001,0,0,0,0,0,0,0 -school,FALSE,17,1,0,0,0,0.00408238,0.006057147,0.001368873,0.003781947,0.013443846,0.020930042,0.105685888,0.191206812,0.133610245,0.51983282,0,0,0,0,0,0 -school,FALSE,17,2,0,0,0,0.004151198,0,0.00388225,0.00967742,0.013025325,0.027213825,0.07090836,0.082650841,0.202645832,0.585844949,0,0,0,0,0,0 -school,FALSE,17,3,0,0,0,0,0,0.003335544,0,0.003254012,0,0.075557182,0.182853928,0.23363666,0.501362673,0,0,0,0,0,0 -school,FALSE,17,4,0,0,0,0,0,0.006781644,0.00413291,0,0,0.007828685,0.092863122,0.424308729,0.46408491,0,0,0,0,0,0 -school,FALSE,18,1,0,0,0,0.004555021,0,0,0.006805278,0.040238758,0.025752449,0.139579581,0.145174267,0.082159935,0.330134952,0.225599759,0,0,0,0,0 -school,FALSE,18,2,0,0,0,0,0,0,0.002018633,0.017639777,0.011559497,0.035110168,0.084872767,0.077914013,0.273264514,0.497620631,0,0,0,0,0 -school,FALSE,18,3,0,0,0,0,0,0,0.002017331,0.006931595,0.009423374,0.041198595,0.078999404,0.039268257,0.366809487,0.455351956,0,0,0,0,0 -school,FALSE,18,4,0,0,0,0,0,0,0,0,0.018561399,0.043258965,0,0.032292792,0.225093524,0.680793321,0,0,0,0,0 -school,FALSE,19,1,0,0,0.012570056,0,0,0,0.016011468,0.016057604,0.07668851,0.134954753,0.226805131,0.045185104,0.119737059,0.1042095,0.247780814,0,0,0,0 -school,FALSE,19,2,0,0,0,0,0,0,0,0,0.035149661,0.079025772,0.252249169,0.074284557,0.168495532,0.132896247,0.257899061,0,0,0,0 -school,FALSE,19,3,0,0,0,0,0,0,0.005256704,0.005256704,0,0.009878056,0.069178911,0.139359082,0.209998751,0.300301838,0.260769954,0,0,0,0 -school,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.022433763,0.009746389,0.043021361,0.243536894,0.681261593,0,0,0,0 -school,FALSE,20,1,0,0,0,0,0,0,0.036381208,0,0.005800614,0.031932891,0.149632504,0.044906251,0.163413396,0.076354612,0.020580741,0.470997783,0,0,0 -school,FALSE,20,2,0,0,0,0.036384497,0,0,0,0.015532617,0.011426107,0.027703676,0.076335086,0.040493411,0.142356662,0.132693585,0.187215615,0.329858743,0,0,0 -school,FALSE,20,3,0,0,0,0,0,0,0,0.03877589,0.045812113,0.065392635,0.101494701,0.055752291,0.061584445,0.034149257,0.28928825,0.307750418,0,0,0 -school,FALSE,20,4,0,0,0,0,0,0,0,0,0.036041044,0,0.141425909,0.042527443,0.019058777,0.102734314,0.237735178,0.420477334,0,0,0 -school,FALSE,21,1,0,0,0,0,0,0,0.029175445,0.047201664,0,0.059213923,0.186189825,0,0.015107113,0,0.014924261,0.246756883,0.401430887,0,0 -school,FALSE,21,2,0,0,0,0,0,0,0.018242295,0,0.051393732,0.017166791,0.159810093,0.01466897,0.065248355,0.019698184,0.082686594,0.128131407,0.442953578,0,0 -school,FALSE,21,3,0,0,0,0,0,0,0,0,0,0.044964736,0,0.026693251,0.075177802,0.03517993,0.025975511,0.337402271,0.4546065,0,0 -school,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0.058839649,0.052164792,0.030967554,0.061935107,0.029419825,0.145827525,0.620845548,0,0 -school,FALSE,22,1,0.023037375,0,0,0,0,0,0,0,0,0.080648327,0.361587215,0.039998637,0.119661147,0.145124395,0.025588201,0,0.115793964,0.088560738,0 -school,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.066321013,0.205698394,0.043934105,0.180253452,0.112019427,0.014897164,0.028012145,0.055418593,0.293445707,0 -school,FALSE,22,3,0,0,0,0.017205445,0,0,0,0,0,0,0,0.072013982,0.171335382,0.018627394,0.235525324,0.014627752,0.218669111,0.25199561,0 -school,FALSE,22,4,0,0,0,0,0,0,0.014630535,0,0,0,0,0,0,0.021783187,0.041931895,0.020148708,0.336082731,0.565422944,0 -school,FALSE,23,1,0,0,0,0,0,0,0,0,0.111780051,0.21697306,0.207813189,0,0.029486875,0.065930991,0.028259313,0.025083791,0.027543321,0.043512885,0.243616523 -school,FALSE,23,2,0,0,0,0,0,0,0,0,0,0.125873532,0.191933649,0.013156926,0.035810782,0.023201345,0,0.03046339,0.176154142,0.116307048,0.287099186 -school,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.39711845,0.032800383,0,0,0.246473294,0,0,0.167995519,0.155612354 -school,FALSE,23,4,0,0,0,0,0,0,0,0,0.313300531,0,0,0,0,0.002398637,0.195897513,0,0.195897513,0.004797275,0.28770853 -escort,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,5,2,0.056858007,0.134308757,0.177188158,0,0,0.13142305,0,0.060572569,0,0.148645889,0.139773895,0.099108225,0,0.048544465,0.003576985,0,0,0,0 -escort,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0.744635807,0,0,0.255364193,0,0,0,0,0 -escort,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0.812216804,0.046945799,0,0.140837397,0,0,0,0,0 -escort,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,6,2,0,0.317902833,0.447578121,0.020114912,0,0,0.053725104,0,0,0.040669001,0.069308805,0.050701225,0,0,0,0,0,0,0 -escort,TRUE,6,3,0,0,0.573662861,0,0,0,0.426337139,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,6,4,0,0,0,0,0,0,0.42115826,0.15768348,0.42115826,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,7,2,0,0,0.142617064,0.38383586,0.072492592,0.032249474,0.032292989,0.061737992,0.014418217,0,0.117686396,0.044994655,0.097674761,0,0,0,0,0,0 -escort,TRUE,7,3,0,0,0,0,0,0.045211707,0,0,0.126121874,0,0.277934232,0.221864174,0,0.328868013,0,0,0,0,0 -escort,TRUE,7,4,0,0,0,0,0,0.046374243,0,0,0.072684124,0,0,0.059438015,0.270430055,0.098354465,0,0.157068569,0,0.295650529,0 -escort,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,8,2,0,0,0,0.321006938,0.473310236,0.008304761,0.028639249,0.02199492,0.016407044,0,0.05343627,0.024107423,0.052793161,0,0,0,0,0,0 -escort,TRUE,8,3,0,0,0,0.32761399,0.648736988,0.023649023,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,8,4,0,0,0,0,0.203285069,0.087659544,0.087659544,0,0.005822781,0,0,0,0.101642534,0.005717855,0.508212672,0,0,0,0 -escort,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,9,2,0,0,0,0,0.320224882,0.267747579,0.099295479,0,0.061354638,0.200251803,0,0,0,0.020258001,0.030867619,0,0,0,0 -escort,TRUE,9,3,0,0,0,0,0,0.432761501,0.214593419,0,0.146040986,0.206604093,0,0,0,0,0,0,0,0,0 -escort,TRUE,9,4,0,0,0,0,0,0,0.1657582,0.096920036,0.259807729,0,0.159171345,0.159171345,0.159171345,0,0,0,0,0,0 -escort,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,10,2,0,0,0,0,0,0.196501921,0.373640136,0.138599097,0.094607199,0.196651647,0,0,0,0,0,0,0,0,0 -escort,TRUE,10,3,0,0,0,0,0,0.116175548,0.44952369,0.143154558,0.097571597,0.14871659,0.044858016,0,0,0,0,0,0,0,0 -escort,TRUE,10,4,0,0,0,0,0,0,0.152413275,0.360078185,0.346132466,0.141376074,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,2,0,0,0,0,0,0,0.236755791,0.714983274,0.028256555,0.02000438,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,3,0,0,0,0,0,0,0,0.379678398,0.448220444,0.172101157,0,0,0,0,0,0,0,0,0 -escort,TRUE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,12,2,0,0,0,0,0,0,0,0.146819614,0.555791511,0.044450314,0.058009028,0.153878569,0.041050964,0,0,0,0,0,0 -escort,TRUE,12,3,0,0,0,0,0,0,0,0,0.743230427,0.054234351,0.202535221,0,0,0,0,0,0,0,0 -escort,TRUE,12,4,0,0,0,0,0,0,0,0,0,0.132670832,0.867329168,0,0,0,0,0,0,0,0 -escort,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -escort,TRUE,13,2,0,0,0,0,0,0,0,0,0.092255068,0.585233838,0.30962564,0.012885454,0,0,0,0,0,0,0 -escort,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.671206778,0.328793222,0,0,0,0,0,0,0,0 -escort,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.228972422,0.771027578,0,0,0,0,0,0,0,0 -escort,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -escort,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.562794406,0.331440849,0.082858701,0,0.022906044,0,0,0,0,0 -escort,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.645172877,0.181000922,0.173826201,0,0,0,0,0,0 -escort,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0,0.753171928,0.246828072,0,0,0,0,0,0 -escort,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -escort,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.201660218,0.766732321,0.031607461,0,0,0,0,0,0 -escort,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.299056486,0.074996412,0.41897627,0.206970833,0,0,0,0,0 -escort,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.150453054,0.849546946,0,0,0,0,0 -escort,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -escort,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.579038356,0.255758044,0.165203599,0,0,0,0,0 -escort,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.035336994,0.238269535,0.726393471,0,0,0,0,0 -escort,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -escort,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -escort,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.197118737,0.703970119,0.036315607,0.026383772,0.036211766,0,0 -escort,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.427169666,0.572830334,0,0,0,0 -escort,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -escort,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -escort,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185479472,0.434361919,0.338714329,0.041444281,0,0 -escort,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78249237,0.21750763,0,0,0 -escort,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.823014212,0.176985788,0 -escort,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -escort,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.285555275,0.649528389,0.064916336,0,0 -escort,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -escort,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199542785,0.800457215,0,0 -escort,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -escort,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -escort,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -escort,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -escort,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,1,0.040029892,0.959970108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,1,0,0.020969803,0.979030197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,1,0,0,0.118338551,0.881661449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,2,0,0,0.034411699,0.965588301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,1,0,0,0.004282148,0.282836493,0.71288136,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,2,0,0,0,0.171647398,0.828352602,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,3,0,0,0,0.21068634,0.78931366,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,9,4,0,0,0,0.019911517,0.980088483,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,1,0,0,0.018159729,0.078956734,0.236267706,0.66661583,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,2,0,0,0,0.138185723,0.240772266,0.621042011,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,3,0,0,0.040625092,0.114436303,0.44797514,0.396963465,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,10,4,0,0,0,0,0.181720167,0.818279833,0,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,1,0,0,0,0.031917445,0.047683392,0.099924869,0.820474293,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,2,0,0,0,0,0.020814603,0.392076313,0.587109083,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,3,0,0,0,0,0.032514248,0.315393925,0.652091828,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,11,4,0,0,0,0,0,0.249548162,0.750451838,0,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,1,0,0,0,0.018963707,0.021920487,0.031520436,0.140654387,0.786940984,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,2,0,0,0,0.03235256,0.042149511,0.05052472,0.131440073,0.743533136,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,3,0,0,0,0.050468014,0,0.017084057,0.229496221,0.702951708,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,12,4,0,0,0,0,0.048745163,0,0.147271645,0.803983192,0,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,1,0,0,0.002941942,0.022003062,0.00551188,0.013544069,0.038590922,0.171545199,0.745862927,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,2,0,0,0,0.015043096,0.006073583,0.009841677,0.054297211,0.176600055,0.738144378,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,3,0,0,0,0.021105735,0,0,0.046096397,0.122921811,0.809876056,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,13,4,0,0,0,0,0,0,0,0.099840566,0.900159434,0,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,1,0,0,0,0.048520661,0,0,0.016138911,0.044713809,0.085550978,0.805075641,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,2,0,0,0,0.009564053,0.153251843,0,0,0.114426845,0.102407993,0.620349267,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,3,0,0,0,0,0,0,0.013997667,0.033806812,0.25169859,0.700496931,0,0,0,0,0,0,0,0,0 -escort,FALSE,14,4,0,0,0,0,0,0,0,0.031515821,0.082969823,0.885514356,0,0,0,0,0,0,0,0,0 -escort,FALSE,15,1,0.001473284,0.001275418,0.003819369,0.008997,0.006335419,0.008570073,0.003284399,0.001014618,0.005676659,0.244506482,0.715047279,0,0,0,0,0,0,0,0 -escort,FALSE,15,2,0.004847658,0.004196604,0.007080083,0.006185119,0.01421088,0,0.026061603,0.014229404,0.009049421,0.195982731,0.718156496,0,0,0,0,0,0,0,0 -escort,FALSE,15,3,0,0.012564661,0,0,0,0.021197818,0.014513923,0.011367283,0.031969048,0.126086289,0.782300976,0,0,0,0,0,0,0,0 -escort,FALSE,15,4,0,0,0,0,0,0.027149505,0.045738486,0.027149505,0.029117725,0.13954129,0.731303489,0,0,0,0,0,0,0,0 -escort,FALSE,16,1,0.00200405,0.001051772,0.006771555,0.00180834,0.015487237,0.019320069,0.003963644,0.003467036,0,0.014608191,0.140235591,0.791282514,0,0,0,0,0,0,0 -escort,FALSE,16,2,0,0,0,0.006365421,0.007122206,0.007817846,0.005072611,0.002561853,0.010562285,0.011331327,0.163631956,0.785534495,0,0,0,0,0,0,0 -escort,FALSE,16,3,0,0,0,0,0,0,0.013949693,0.015608287,0.031607957,0.045248859,0.086738092,0.806847112,0,0,0,0,0,0,0 -escort,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.176949473,0.823050527,0,0,0,0,0,0,0 -escort,FALSE,17,1,0,0.001885858,0.014135456,0.015985525,0.002552119,0,0,0.002305352,0,0.019788158,0.05304134,0.114790493,0.775515701,0,0,0,0,0,0 -escort,FALSE,17,2,0,0,0.01612501,0.004912147,0,0,0,0,0.006052735,0,0.066169183,0.192117368,0.714623557,0,0,0,0,0,0 -escort,FALSE,17,3,0,0,0,0,0,0,0,0,0,0.020217729,0.029305934,0.331354145,0.619122192,0,0,0,0,0,0 -escort,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0.06461582,0.084856782,0.850527398,0,0,0,0,0,0 -escort,FALSE,18,1,0,0.005432163,0.038940224,0.026689744,0.058158769,0,0.034797386,0,0,0.003175997,0.015025769,0.011190666,0.133413828,0.673175452,0,0,0,0,0 -escort,FALSE,18,2,0.006475372,0,0.028703811,0,0.057765487,0,0.00513516,0.012023268,0,0.005808733,0.027224281,0.023941956,0.217891148,0.615030786,0,0,0,0,0 -escort,FALSE,18,3,0,0,0,0,0,0,0,0.023354896,0,0,0.010873824,0.043494105,0.216938965,0.70533821,0,0,0,0,0 -escort,FALSE,18,4,0,0,0,0,0,0,0,0,0,0.030910531,0.015455265,0.036197751,0.134169828,0.783266626,0,0,0,0,0 -escort,FALSE,19,1,0,0,0.015759767,0.084811588,0,0.002872924,0,0.006556512,0.028956925,0.008237531,0,0.012966642,0.041318552,0.134584946,0.663934612,0,0,0,0 -escort,FALSE,19,2,0,0,0,0.041554494,0,0,0,0.005100141,0.012765195,0.005414707,0,0.027095562,0.040399,0.160510182,0.707160719,0,0,0,0 -escort,FALSE,19,3,0,0,0,0.042762147,0,0,0,0,0,0,0,0.118635541,0.138902724,0.131182018,0.568517571,0,0,0,0 -escort,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0.033575497,0.22070458,0.745719923,0,0,0,0 -escort,FALSE,20,1,0,0,0,0,0.076554131,0,0.004387939,0,0.005379578,0,0,0.005770825,0.013203816,0.052748034,0.038731746,0.80322393,0,0,0 -escort,FALSE,20,2,0,0,0,0,0,0,0.012675397,0,0,0,0.015539935,0,0.0372498,0.038141734,0.263200874,0.63319226,0,0,0 -escort,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0.142988825,0.070710819,0.050794946,0.73550541,0,0,0 -escort,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054259213,0.205166313,0.740574475,0,0,0 -escort,FALSE,21,1,0,0,0,0.009094963,0.016533621,0,0,0,0,0.037489891,0.01972214,0.048167746,0,0.021841243,0.064693921,0.167744598,0.614711876,0,0 -escort,FALSE,21,2,0,0,0.010099315,0,0,0.041511619,0,0,0.014099016,0.047958493,0,0,0.074669665,0,0.04646442,0.263279058,0.501918415,0,0 -escort,FALSE,21,3,0,0,0.017776541,0,0,0,0,0,0,0,0.024816708,0,0.07306763,0.131431527,0.035447508,0.193292186,0.5241679,0,0 -escort,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.022628167,0,0.052756196,0.032321457,0.080116339,0.812177841,0,0 -escort,FALSE,22,1,0,0,0,0.113172185,0,0,0,0,0,0.026397261,0.044886063,0,0,0.019218468,0.004386306,0.028722261,0.247924763,0.515292694,0 -escort,FALSE,22,2,0,0,0,0,0,0,0.18017321,0,0,0,0,0.074732757,0,0.107022619,0.042577452,0.038743506,0.038743506,0.518006951,0 -escort,FALSE,22,3,0,0,0,0,0,0,0.267409489,0,0,0,0,0,0,0,0.015267396,0.143659747,0.183067852,0.390595517,0 -escort,FALSE,22,4,0,0,0,0,0,0,0,0.234024187,0.234024187,0,0,0,0,0,0,0,0.303429308,0.228522318,0 -escort,FALSE,23,1,0,0,0,0,0,0,0,0.008127027,0.007835463,0.151355656,0,0.052450125,0.03651837,0.092153785,0.022741195,0,0.087045131,0.09410699,0.447666258 -escort,FALSE,23,2,0,0,0,0,0,0,0,0.038717113,0,0.014072799,0.013520577,0.321560091,0.117135518,0.10301486,0.065001842,0,0.046587075,0.02971575,0.250674374 -escort,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.026894061,0.13703111,0,0.082687611,0.04923207,0,0.121213706,0.200076012,0.38286543 -escort,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.049644185,0,0,0,0,0,0.09087828,0.241408525,0.61806901 -shopping,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,5,2,0,0.18855969,0.026231205,0,0.018666624,0.036855114,0.01579057,0.02877734,0,0.008686294,0.03735935,0.062874703,0.02993166,0.13469908,0.360321567,0.051246804,0,0,0 -shopping,TRUE,5,3,0,0,0,0,0.061551337,0,0.071672554,0.060629628,0,0,0.091646938,0.65884087,0,0,0,0.055658673,0,0,0 -shopping,TRUE,5,4,0,0,0,0,0,0,0.063047092,0,0,0.063047092,0,0.063047092,0.096265448,0.600570816,0,0.05701123,0,0,0.05701123 -shopping,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,6,2,0,0.236185322,0.189345656,0.027307243,0,0.09795574,0.025679731,0.06524777,0,0.065782608,0.146681657,0.061307682,0.084506592,0,0,0,0,0,0 -shopping,TRUE,6,3,0,0.122362042,0,0.056125397,0,0.3786476,0,0,0.104941475,0,0,0.337923485,0,0,0,0,0,0,0 -shopping,TRUE,6,4,0,0,0,0,0,0.333126,0,0.333126,0,0,0,0.215517962,0.061611625,0.056618413,0,0,0,0,0 -shopping,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,7,2,0,0,0.137784762,0.347610842,0.133435005,0.027404455,0.039144758,0.071879163,0.050738746,0,0.035619826,0.112566834,0,0.017941118,0.01764776,0.008226732,0,0,0 -shopping,TRUE,7,3,0,0,0.118039813,0.173078319,0.187104935,0.14629093,0.052634804,0.10898427,0,0,0,0.168712159,0.045154769,0,0,0,0,0,0 -shopping,TRUE,7,4,0,0,0,0.044071544,0,0.113245235,0,0,0,0,0.055926536,0.110694997,0.261835563,0.414226125,0,0,0,0,0 -shopping,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,8,2,0,0,0,0.216420344,0.444754798,0.146005729,0.070193472,0.027780288,0.022919028,0,0.028031874,0,0.017321534,0.012974919,0,0,0,0.013598014,0 -shopping,TRUE,8,3,0,0,0,0.11915052,0.47354413,0.131084867,0.131912474,0.029942334,0.092204361,0.012421891,0,0,0,0.009739424,0,0,0,0,0 -shopping,TRUE,8,4,0,0,0,0.091488151,0.546318896,0.031542872,0.035173262,0.043158455,0.069562754,0.074293154,0.014133102,0.01007907,0.063090109,0.011081104,0,0.01007907,0,0,0 -shopping,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,9,2,0,0,0,0,0.25829748,0.338424677,0.195615866,0.063977369,0.037499937,0.014738329,0.047325307,0,0.015434424,0.020988402,0.007698208,0,0,0,0 -shopping,TRUE,9,3,0,0,0,0,0.092189784,0.255069356,0.282966449,0.075774276,0.085242805,0.057005967,0.019307332,0.104848677,0,0.027595353,0,0,0,0,0 -shopping,TRUE,9,4,0,0,0,0,0,0.086253583,0.235736082,0.217929307,0.026367245,0.066851523,0.150316009,0.167128809,0,0.049417443,0,0,0,0,0 -shopping,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,10,2,0,0,0,0,0,0.447429351,0.377114876,0.1219042,0.01784823,0.022881298,0.007112195,0.00570985,0,0,0,0,0,0,0 -shopping,TRUE,10,3,0,0,0,0,0,0.203895878,0.380391288,0.125413278,0.121084198,0.097085986,0.03993943,0.032189942,0,0,0,0,0,0,0 -shopping,TRUE,10,4,0,0,0,0,0,0.026436932,0.286895016,0.076810524,0.38619219,0.152227751,0.048029261,0,0.023408325,0,0,0,0,0,0 -shopping,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,11,2,0,0,0,0,0,0,0.321289054,0.351540642,0.130487047,0.150332918,0.014224049,0.004332814,0.027793477,0,0,0,0,0,0 -shopping,TRUE,11,3,0,0,0,0,0,0,0.22652124,0.229119163,0.279822494,0.140263855,0.09076511,0.017983211,0,0.015524928,0,0,0,0,0 -shopping,TRUE,11,4,0,0,0,0,0,0,0.060435728,0,0.337860558,0.382359867,0.089042433,0.089042433,0,0,0,0.041258981,0,0,0 -shopping,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,12,2,0,0,0,0,0,0,0,0.327958916,0.465492803,0.141109297,0.020542537,0.022498994,0.01140431,0.010993144,0,0,0,0,0 -shopping,TRUE,12,3,0,0,0,0,0,0,0,0.178317517,0.451517182,0.27737762,0.065198536,0,0.009801894,0.017787251,0,0,0,0,0 -shopping,TRUE,12,4,0,0,0,0,0,0,0,0,0.213180964,0.240910483,0.152246297,0.393662256,0,0,0,0,0,0,0 -shopping,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -shopping,TRUE,13,2,0,0,0,0,0,0,0,0,0.508107696,0.321685937,0.081799219,0.061327596,0.027079551,0,0,0,0,0,0 -shopping,TRUE,13,3,0,0,0,0,0,0,0,0,0.177195753,0.267607099,0.084531289,0.424560684,0.014787439,0.031317737,0,0,0,0,0 -shopping,TRUE,13,4,0,0,0,0,0,0,0,0,0.263218395,0.402482495,0.061208389,0.185818041,0,0,0,0.087272681,0,0,0 -shopping,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -shopping,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.438870825,0.372372041,0.160848114,0.021826983,0,0,0.006082036,0,0,0 -shopping,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.017173884,0.628449853,0.104128183,0.031161272,0,0,0.10714611,0.111940698,0,0 -shopping,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.490831445,0,0,0,0,0.254584278,0.254584278,0,0 -shopping,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -shopping,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.261294755,0.632140733,0.068294747,0.038269765,0,0,0,0,0 -shopping,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.150837677,0.364045291,0.292150535,0.06771696,0,0.125249537,0,0,0 -shopping,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.36746411,0,0.075770875,0,0.278382507,0.278382507,0,0 -shopping,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -shopping,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.554781367,0.360878736,0.067834102,0.016505795,0,0,0,0 -shopping,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.327593582,0.637795928,0.034610489,0,0,0,0,0 -shopping,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0.076274354,0.757840172,0.055295158,0.110590316,0,0,0,0 -shopping,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -shopping,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.281133857,0.595643382,0.100047971,0,0.023174789,0,0 -shopping,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.517896269,0.345741974,0.070632988,0,0,0.065728769,0 -shopping,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.783800606,0,0.072066465,0.144132929,0,0 -shopping,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -shopping,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.299407159,0.536590408,0.150080831,0.013921602,0,0 -shopping,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192023096,0.807976904,0,0,0,0 -shopping,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.221357455,0.693718463,0.084924082,0,0 -shopping,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -shopping,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.905321875,0.094678125,0,0 -shopping,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -shopping,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.768749763,0.231250237,0 -shopping,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -shopping,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -shopping,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -shopping,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,2,0,0,0.057856159,0.942143841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,1,0,0,0,0.063004812,0.936995188,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,2,0,0,0,0.215154916,0.784845084,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,1,0,0,0,0.034621691,0.199730362,0.765647947,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,2,0,0,0,0.013947823,0.249445429,0.736606748,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,3,0,0,0,0,0.263792407,0.736207593,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,10,4,0,0,0,0,0.190842252,0.809157748,0,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,1,0,0,0,0,0.017620786,0.158923567,0.823455647,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,2,0,0,0,0,0.004541602,0.230049175,0.765409223,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,3,0,0,0,0,0,0.338910752,0.661089248,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,11,4,0,0,0,0,0,0.150257604,0.849742396,0,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,1,0,0,0.002514383,0,0.039915577,0.051276757,0.273727641,0.632565641,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,2,0,0,0,0,0.039730806,0.073816678,0.261462334,0.624990182,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,3,0,0,0,0,0.004430216,0.044433351,0.292333728,0.658802706,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,12,4,0,0,0,0,0,0.035609316,0.240024471,0.724366213,0,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,1,0,0,0,0,0.002652468,0.017076075,0.03891727,0.241051111,0.700303076,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,2,0,0,0,0,0.008356207,0.019728013,0.123359666,0.171778982,0.676777133,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,3,0,0,0,0,0.019588158,0,0.046245315,0.40772273,0.526443797,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,13,4,0,0,0,0,0.025743876,0.051487752,0.032165405,0.12492976,0.765673208,0,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,1,0,0,0,0.014322812,0.008308251,0.005594512,0.016143904,0.130012933,0.19330349,0.632314098,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,2,0,0,0,0.005506763,0.021606723,0.003403522,0.013852092,0.106618856,0.339860692,0.509151352,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,3,0,0,0,0.011027918,0,0.003096348,0.058586882,0.104167817,0.217735941,0.605385093,0,0,0,0,0,0,0,0,0 -shopping,FALSE,14,4,0,0,0,0.01227549,0,0.019168758,0.003446634,0.105336725,0.267971535,0.591800858,0,0,0,0,0,0,0,0,0 -shopping,FALSE,15,1,0,0,0,0,0.004254425,0.009138,0.019091237,0.013981558,0.039120881,0.34948947,0.564924428,0,0,0,0,0,0,0,0 -shopping,FALSE,15,2,0,0,0,0,0.001627899,0.009215496,0.004903293,0.002308669,0.07302082,0.221873866,0.687049956,0,0,0,0,0,0,0,0 -shopping,FALSE,15,3,0,0,0,0,0.003142874,0,0.025204014,0,0.04008905,0.235602582,0.69596148,0,0,0,0,0,0,0,0 -shopping,FALSE,15,4,0,0,0,0,0,0,0.004328876,0.008657753,0,0.285614869,0.701398502,0,0,0,0,0,0,0,0 -shopping,FALSE,16,1,0,0,0,0.000878576,0.003497576,0.021588157,0.009216937,0.008217315,0.002448233,0.048046219,0.232893086,0.673213901,0,0,0,0,0,0,0 -shopping,FALSE,16,2,0,0,0,0,0,0.035847568,0.011510797,0.014922592,0.020904683,0.052635454,0.243160325,0.62101858,0,0,0,0,0,0,0 -shopping,FALSE,16,3,0,0,0,0,0,0.051361483,0.00311995,0,0.051491012,0.042960512,0.192617192,0.658449851,0,0,0,0,0,0,0 -shopping,FALSE,16,4,0,0,0,0,0,0.046465728,0.002556214,0.025713434,0.038861358,0.073644993,0.248297436,0.564460837,0,0,0,0,0,0,0 -shopping,FALSE,17,1,0,0.002208578,0.009311633,0.01738702,0.001331755,0.005016926,0.003171846,0.006879148,0.001436793,0.027480637,0.058941124,0.29462051,0.572214029,0,0,0,0,0,0 -shopping,FALSE,17,2,0,0,0,0,0,0,0.010344283,0.037939171,0.039422982,0.026045212,0.06114443,0.190229666,0.634874255,0,0,0,0,0,0 -shopping,FALSE,17,3,0,0,0,0,0.007721229,0,0.011554543,0.070232976,0.032812162,0.025350429,0.070540072,0.236685334,0.545103256,0,0,0,0,0,0 -shopping,FALSE,17,4,0,0,0,0,0,0.006990598,0.033455447,0.006990598,0,0.064675896,0.055525232,0.171396816,0.660965415,0,0,0,0,0,0 -shopping,FALSE,18,1,0,0.033355807,0,0.001892316,0.00090772,0.004904866,0.001167821,0.016722263,0.003141548,0.002779365,0.024569171,0.061842541,0.271632599,0.577083981,0,0,0,0,0 -shopping,FALSE,18,2,0,0.075251856,0,0.017407741,0,0,0.005067103,0.012905849,0.043130871,0.028315061,0.006542046,0.109303095,0.166027278,0.536049102,0,0,0,0,0 -shopping,FALSE,18,3,0,0,0,0,0,0,0,0,0,0.066490049,0.057249304,0.237270804,0.359314757,0.279675086,0,0,0,0,0 -shopping,FALSE,18,4,0,0,0,0,0,0,0.007859239,0,0.011296648,0.003929619,0.099720544,0.061193285,0.240312145,0.575688521,0,0,0,0,0 -shopping,FALSE,19,1,0,0.002312931,0.007027556,0.00055146,0,0.020661977,0,0,0.011821234,0.002688782,0.004292928,0.007532001,0.051155819,0.156901174,0.735054139,0,0,0,0 -shopping,FALSE,19,2,0,0,0,0,0,0,0,0.003320994,0.005290597,0.01358355,0.003788453,0.020449742,0.075630163,0.221134543,0.656801959,0,0,0,0 -shopping,FALSE,19,3,0,0,0,0,0,0,0.014614817,0,0,0.020347906,0.008733406,0,0.047735668,0.374113208,0.534454996,0,0,0,0 -shopping,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.020864671,0.058211406,0.120273738,0.204544879,0.596105306,0,0,0,0 -shopping,FALSE,20,1,0,0,0,0,0,0.001536146,0,0.001675312,0,0,0,0,0,0.047561031,0.181509603,0.767717908,0,0,0 -shopping,FALSE,20,2,0,0,0,0,0,0.00331683,0,0.004518272,0.00566615,0,0.002748233,0,0.008286949,0.051482817,0.259536082,0.664444667,0,0,0 -shopping,FALSE,20,3,0,0,0,0,0,0,0,0.011858233,0.008705041,0,0.022083602,0.018110733,0,0.035127515,0.143310213,0.760804664,0,0,0 -shopping,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.03498938,0.040641133,0.145381408,0.371268099,0.407719981,0,0,0 -shopping,FALSE,21,1,0,0,0,0,0,0,0,0.004266615,0.002430883,0,0.007940168,0.009395117,0.021163822,0.046202149,0.053837474,0.173465177,0.681298593,0,0 -shopping,FALSE,21,2,0,0,0,0,0,0,0.007985058,0.003444064,0.007416145,0,0.004827496,0.003843961,0.059108441,0.050308287,0.078478176,0.182109604,0.602478768,0,0 -shopping,FALSE,21,3,0,0,0,0,0,0,0,0,0.037797058,0.007828278,0.02376667,0.011687609,0,0.020240379,0.189418946,0.098165754,0.611095305,0,0 -shopping,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.019033172,0,0.01121107,0.036432132,0.018720166,0.031263843,0.186160383,0.697179234,0,0 -shopping,FALSE,22,1,0,0,0,0,0,0.018041153,0,0,0,0,0,0,0.009811009,0.008718506,0.044707222,0.097289219,0.453480605,0.367952287,0 -shopping,FALSE,22,2,0,0,0,0,0,0.014478651,0,0,0.00946373,0,0,0.015817118,0.022169677,0.014478651,0,0.0282764,0.258592224,0.63672355,0 -shopping,FALSE,22,3,0,0,0,0,0,0,0,0,0.017617342,0.054918813,0,0,0,0.029444584,0.095176163,0,0,0.802843098,0 -shopping,FALSE,22,4,0,0,0,0,0,0,0,0,0.020680151,0,0,0.158687133,0,0.087459292,0.073575862,0.034563581,0.293241585,0.331792395,0 -shopping,FALSE,23,1,0,0,0,0.023821741,0,0,0,0.039038004,0.026879421,0,0.010904146,0.018269598,0.019509677,0.079126477,0.035829398,0.029321261,0,0.084296742,0.633003535 -shopping,FALSE,23,2,0,0.103799266,0,0,0.011152724,0,0,0.015806724,0.046340267,0.023976697,0.037355147,0,0.054819521,0.059060036,0.061565304,0.051303212,0.00884805,0.147229688,0.378743364 -shopping,FALSE,23,3,0,0,0,0,0.155683525,0,0,0,0.034179578,0,0,0.080880151,0,0.080591686,0.03920938,0.158345959,0.053129458,0.120909369,0.277070893 -shopping,FALSE,23,4,0,0,0,0,0,0.157154735,0.078577368,0.196443419,0.047914328,0.039288684,0.12397869,0.009075333,0,0.026776309,0.014018049,0.026776309,0.008914443,0.067449234,0.2036331 -othmaint,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,5,2,0,0.040658727,0.120399874,0.213344233,0.111017831,0.079889013,0.042291218,0,0.204453217,0,0,0.104955464,0.082990423,0,0,0,0,0,0 -othmaint,TRUE,5,3,0,0,0,0,0,0,0,0.287213384,0,0,0,0,0.712786616,0,0,0,0,0,0 -othmaint,TRUE,5,4,0,0,0,0,0,0,0,0,0.124355516,0.248711031,0,0,0.105129078,0,0.521804375,0,0,0,0 -othmaint,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,6,2,0,0,0.235488214,0.357403945,0.125753019,0,0,0.078259791,0,0.046555016,0.11357777,0.042962245,0,0,0,0,0,0,0 -othmaint,TRUE,6,3,0,0,0.326226519,0,0,0,0,0.174974691,0,0.373408666,0.125390124,0,0,0,0,0,0,0,0 -othmaint,TRUE,6,4,0,0,0,0,0,0,0.051430893,0.051430893,0,0.213968684,0.153518801,0.186667766,0.102982298,0.145655522,0,0.042793737,0.051551405,0,0 -othmaint,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,7,2,0,0,0.161965305,0.560535311,0.143218808,0.033324008,0.013918476,0.026127179,0.005375436,0,0.011132734,0.01156894,0.02310162,0,0.009732183,0,0,0,0 -othmaint,TRUE,7,3,0,0,0.113525478,0.598967516,0.089069194,0.080738894,0,0.030379017,0,0,0.0168487,0.017349938,0.019216267,0.018737763,0,0,0.015167234,0,0 -othmaint,TRUE,7,4,0,0,0.067302976,0.204351658,0.170979792,0.399761316,0.008551266,0.113238461,0,0,0,0,0,0.035814532,0,0,0,0,0 -othmaint,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,8,2,0,0,0,0.275563345,0.484065773,0.083338937,0.065284531,0.034854754,0.014700638,0.02595601,0.016236011,0,0,0,0,0,0,0,0 -othmaint,TRUE,8,3,0,0,0,0.256465635,0.196396681,0.177854408,0.122055686,0.028927661,0.08283666,0.079901924,0.043539857,0.012021488,0,0,0,0,0,0,0 -othmaint,TRUE,8,4,0,0,0,0,0.028047731,0,0.350951603,0,0.149252856,0.30289175,0,0.04635913,0.122496929,0,0,0,0,0,0 -othmaint,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,9,2,0,0,0,0,0.230097736,0.368638076,0.127385774,0.016744897,0.150776775,0,0,0.007474052,0.098882689,0,0,0,0,0,0 -othmaint,TRUE,9,3,0,0,0,0,0,0.231740286,0.127213569,0.112305301,0.189734694,0.10677054,0.198766593,0.033469018,0,0,0,0,0,0,0 -othmaint,TRUE,9,4,0,0,0,0,0,0,0.34116944,0,0.583836564,0.074993995,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,2,0,0,0,0,0,0.286259076,0.537234442,0.142887206,0.033619275,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,3,0,0,0,0,0,0.164777982,0.52409087,0.14628494,0.049989666,0,0.114856542,0,0,0,0,0,0,0,0 -othmaint,TRUE,10,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,2,0,0,0,0,0,0,0.473598812,0.258143996,0.104686693,0.141192999,0.022377501,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,3,0,0,0,0,0,0,0.72551892,0.190277137,0.084203943,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,11,4,0,0,0,0,0,0,0,0,0,0.305927706,0.347036147,0,0,0,0,0,0.347036147,0,0 -othmaint,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,12,2,0,0,0,0,0,0,0,0.545682141,0.314476787,0.053501749,0.03851823,0.047821093,0,0,0,0,0,0,0 -othmaint,TRUE,12,3,0,0,0,0,0,0,0,0.214651848,0.46388943,0.061966411,0.132775585,0.126716726,0,0,0,0,0,0,0 -othmaint,TRUE,12,4,0,0,0,0,0,0,0,0,0.127956328,0,0,0.576495171,0,0.295548501,0,0,0,0,0 -othmaint,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,2,0,0,0,0,0,0,0,0,0.323941314,0.585102169,0.090956518,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,3,0,0,0,0,0,0,0,0,0.072453359,0.780993759,0.146552882,0,0,0,0,0,0,0,0 -othmaint,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.222472025,0.777527975,0,0,0,0,0,0,0,0 -othmaint,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othmaint,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.256222437,0.654201082,0.071103851,0.01847263,0,0,0,0,0,0 -othmaint,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.11860694,0.44971127,0.431681789,0,0,0,0,0,0,0 -othmaint,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.436444767,0.563555233,0,0,0,0,0,0,0 -othmaint,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.593763081,0.406236919,0,0,0,0,0,0,0 -othmaint,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othmaint,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othmaint,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.854510215,0.145489785,0,0,0,0,0,0 -othmaint,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.724085091,0,0.275914909,0,0,0,0,0 -othmaint,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othmaint,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.172124075,0.213012548,0.614863377,0,0,0,0 -othmaint,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098642817,0.901357183,0,0,0,0 -othmaint,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othmaint,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.270651613,0.600738159,0.128610228,0,0 -othmaint,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othmaint,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.771681706,0,0.228318294,0 -othmaint,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othmaint,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othmaint,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othmaint,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othmaint,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,1,0.09071969,0.90928031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,1,0,0.075063017,0.924936983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,1,0,0,0.072655068,0.927344932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,1,0,0,0.013631489,0.161967148,0.824401363,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,1,0,0,0,0.037502157,0.312567208,0.649930634,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,2,0,0,0,0,0.275988767,0.724011233,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,3,0,0,0,0,0.15552038,0.84447962,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,10,4,0,0,0,0,0.144245586,0.855754414,0,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,1,0,0,0,0,0.03338987,0.26489836,0.70171177,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,2,0,0,0,0,0.010989916,0.227634382,0.761375703,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,3,0,0,0,0,0,0.026011355,0.973988645,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,11,4,0,0,0,0,0,0.107851024,0.892148976,0,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,1,0,0,0,0.010158031,0.022913155,0.102307429,0.377078058,0.487543327,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,2,0,0,0,0,0,0.108745958,0.2159873,0.675266742,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,3,0,0,0,0,0,0.06065237,0.336243242,0.603104388,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,12,4,0,0,0,0,0,0.013311396,0.19774252,0.788946084,0,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,1,0,0,0,0,0.031249299,0.047260258,0.081354892,0.353123741,0.48701181,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,2,0,0,0,0,0.036088554,0.047323035,0.099280114,0.282440914,0.534867384,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,3,0,0,0,0.022092503,0,0.023342697,0.218332277,0.130650891,0.605581632,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,13,4,0,0,0,0,0,0,0.007598622,0.247081366,0.745320012,0,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,1,0,0,0,0,0.008432907,0.019241437,0.053781383,0.07753638,0.180423206,0.660584686,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,2,0,0,0,0,0,0.014889748,0.058818026,0.03592279,0.279517106,0.610852331,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,3,0,0,0,0,0,0.025148147,0.044798265,0.019855411,0.184100242,0.726097934,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,14,4,0,0,0,0,0,0.025559931,0.089028487,0.037908626,0.118966776,0.72853618,0,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,1,0,0,0.014080554,0,0.010260757,0.018416064,0.003200712,0.030725966,0.060405447,0.322996101,0.5399144,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,2,0,0,0,0.007837984,0.007663278,0.013198261,0,0.009670767,0.043030366,0.15942745,0.759171894,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,3,0,0,0,0,0.009630972,0,0.006337143,0.101481335,0.066736017,0.096321205,0.719493328,0,0,0,0,0,0,0,0 -othmaint,FALSE,15,4,0,0,0,0,0,0,0,0.013528329,0.062228479,0.089319428,0.834923764,0,0,0,0,0,0,0,0 -othmaint,FALSE,16,1,0,0,0.006200413,0.004986933,0,0.010337749,0.015781258,0.022349724,0.011320009,0.0610877,0.263854949,0.604081265,0,0,0,0,0,0,0 -othmaint,FALSE,16,2,0,0,0.006875165,0,0,0.004755274,0.004846065,0.041322108,0.062817829,0.084403941,0.210011072,0.584968544,0,0,0,0,0,0,0 -othmaint,FALSE,16,3,0,0,0,0,0,0.003750011,0,0.038367203,0,0.081124439,0.173167838,0.703590508,0,0,0,0,0,0,0 -othmaint,FALSE,16,4,0,0,0,0,0,0,0,0.012408147,0.035652064,0.083467534,0.198538722,0.669933533,0,0,0,0,0,0,0 -othmaint,FALSE,17,1,0,0,0,0.020552867,0,0.005813725,0.002732148,0.008782581,0.005357107,0.029100301,0.080364833,0.302512654,0.544783785,0,0,0,0,0,0 -othmaint,FALSE,17,2,0,0,0,0,0.026548466,0.003679274,0.009319631,0,0.042518808,0.029889235,0.080550404,0.277668263,0.52982592,0,0,0,0,0,0 -othmaint,FALSE,17,3,0,0,0,0,0.009271174,0,0.054663157,0,0.016257561,0.01488333,0.09396777,0.266410029,0.544546979,0,0,0,0,0,0 -othmaint,FALSE,17,4,0,0,0,0,0,0.007066116,0.007066116,0.06151997,0.066639666,0.049844639,0.033402711,0.146764167,0.627696614,0,0,0,0,0,0 -othmaint,FALSE,18,1,0,0,0.00220337,0.003892833,0.007889226,0.016688123,0.035048075,0.024546837,0,0.00815882,0.035392235,0.148091146,0.276111609,0.441977726,0,0,0,0,0 -othmaint,FALSE,18,2,0,0,0,0,0,0.065300384,0.006485915,0.052781714,0.048191377,0.040820218,0,0.162432484,0.05438396,0.569603948,0,0,0,0,0 -othmaint,FALSE,18,3,0,0,0,0,0.017320219,0.031548823,0.022330672,0.091457847,0,0.019713885,0.042008327,0.218018162,0.200579611,0.357022454,0,0,0,0,0 -othmaint,FALSE,18,4,0,0,0,0,0.016419136,0,0.00528573,0.020252478,0,0.100415264,0.03805733,0.105531305,0.176732756,0.537306,0,0,0,0,0 -othmaint,FALSE,19,1,0,0,0,0,0.010727452,0,0.008098901,0.019233131,0.013852404,0.004645853,0.013295603,0.080270768,0.078632583,0.187569198,0.583674107,0,0,0,0 -othmaint,FALSE,19,2,0,0,0,0,0.049239842,0.011428143,0,0,0.026241801,0.041108511,0.013964285,0.025063837,0,0.310631722,0.522321858,0,0,0,0 -othmaint,FALSE,19,3,0,0,0,0,0,0.086744587,0,0,0,0.016477125,0.041531547,0.015283398,0.017093713,0.105309634,0.717559996,0,0,0,0 -othmaint,FALSE,19,4,0,0,0,0,0,0.069764219,0.069764219,0,0,0.104847005,0,0.033271814,0.058783522,0.247218312,0.416350909,0,0,0,0 -othmaint,FALSE,20,1,0,0,0,0,0,0,0.01242339,0.005336417,0.044409284,0.029249865,0.011600679,0.028809843,0.016252507,0.030331787,0.287705325,0.533880904,0,0,0 -othmaint,FALSE,20,2,0,0,0,0,0,0,0,0,0.032990066,0.012593317,0,0.052304607,0.150427735,0.026510728,0.302582814,0.422590733,0,0,0 -othmaint,FALSE,20,3,0,0,0,0,0,0,0,0.023039668,0.024925805,0.022055308,0.053273572,0.028755337,0.017687898,0.157803915,0.245882825,0.426575672,0,0,0 -othmaint,FALSE,20,4,0,0,0,0,0,0,0,0.009174883,0.009174883,0.039703931,0.032564469,0.051766512,0.025425007,0.0614869,0.641240832,0.129462584,0,0,0 -othmaint,FALSE,21,1,0,0.025380051,0.006505038,0,0,0,0,0,0,0.034497668,0.005372141,0.00750697,0.322054018,0.02041747,0.056367039,0.277982219,0.243917386,0,0 -othmaint,FALSE,21,2,0,0,0,0,0.006399766,0.007749372,0,0,0,0.006917002,0,0.046305978,0.04149865,0,0.351103334,0.214319682,0.325706214,0,0 -othmaint,FALSE,21,3,0,0,0,0,0,0,0.011775898,0.022192712,0.017562682,0,0,0.024503537,0,0.080192747,0.349550204,0.39894732,0.095274901,0,0 -othmaint,FALSE,21,4,0,0,0,0,0,0,0.012259416,0,0.035363359,0.018283805,0.073556494,0.018283805,0.057647363,0.014844726,0.042237266,0.375692888,0.351830879,0,0 -othmaint,FALSE,22,1,0,0,0,0,0,0,0,0.056847728,0,0.047979687,0,0,0.057283827,0,0.024129278,0.031974532,0.16735598,0.614428968,0 -othmaint,FALSE,22,2,0,0,0,0,0,0,0,0,0.161289071,0.04650851,0,0,0.16212443,0.112102538,0,0,0.142577705,0.375397745,0 -othmaint,FALSE,22,3,0,0,0,0,0,0,0,0.110415007,0.068559987,0.152422919,0,0.063721526,0.10278041,0,0,0.094851272,0.058740936,0.348507943,0 -othmaint,FALSE,22,4,0,0,0,0,0,0,0,0.050912705,0.082525929,0,0.031613224,0.050912705,0.094839672,0.029382195,0.129047073,0.050912705,0.220800245,0.259053549,0 -othmaint,FALSE,23,1,0,0,0,0,0,0.010515377,0.025008268,0.032644118,0,0.085888154,0.049317135,0.011196407,0.007715287,0.054305418,0,0.074906459,0.182663286,0.082719875,0.383120217 -othmaint,FALSE,23,2,0,0,0,0,0,0,0,0.045673386,0.020160892,0.021413699,0,0.082142047,0.014090672,0.018059971,0,0.045974294,0.048093764,0.355409136,0.348982138 -othmaint,FALSE,23,3,0,0,0,0,0,0,0,0.080258013,0,0.073055546,0,0.075004948,0.081094174,0.069336389,0,0,0,0.041154495,0.580096435 -othmaint,FALSE,23,4,0,0,0,0,0,0,0,0.037448064,0,0.04959035,0.016530117,0.025234243,0.062464477,0.114901182,0,0.107371648,0.062464477,0.148912902,0.37508254 -eatout,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,5,2,0.032538851,0.221324643,0,0.037815017,0,0,0,0.272525282,0,0,0.037088163,0.337745523,0.034547537,0,0.026414986,0,0,0,0 -eatout,TRUE,5,3,0,0,0,0.091639733,0,0,0,0,0,0,0,0.089878297,0,0.81848197,0,0,0,0,0 -eatout,TRUE,5,4,0,0,0,0,0,0,0,0,0.091478599,0,0,0,0,0.817042802,0.091478599,0,0,0,0 -eatout,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,6,2,0,0.10870266,0.506895447,0.175689689,0,0.026096466,0.034864499,0.082091899,0,0,0,0.025468279,0.040191062,0,0,0,0,0,0 -eatout,TRUE,6,3,0,0.035560115,0.306736608,0.286592598,0.030199993,0.042569681,0.056872474,0,0.028493363,0,0,0.212975168,0,0,0,0,0,0,0 -eatout,TRUE,6,4,0,0,0.211737696,0.322316501,0,0,0.220793367,0,0.051433567,0.096859434,0,0,0,0.096859434,0,0,0,0,0 -eatout,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,7,2,0,0,0.144455214,0.345929433,0,0,0.086477099,0.023160754,0,0.016780688,0,0.202260676,0.052439775,0.128496361,0,0,0,0,0 -eatout,TRUE,7,3,0,0,0.090126203,0.306912678,0,0.037918354,0.033462594,0.029845783,0,0,0,0,0.104315493,0,0,0.397418896,0,0,0 -eatout,TRUE,7,4,0,0,0,0.502373694,0,0,0,0.134316948,0,0,0.070995242,0,0.070995242,0,0.221318875,0,0,0,0 -eatout,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,8,2,0,0,0,0.287649201,0.258570068,0.118932282,0.154019597,0.040748722,0.016734567,0.048015509,0.013439765,0.016546263,0.014029864,0.031314162,0,0,0,0,0 -eatout,TRUE,8,3,0,0,0,0,0.251109552,0,0.113694476,0.124444727,0,0,0.229845517,0.061431783,0.219473946,0,0,0,0,0,0 -eatout,TRUE,8,4,0,0,0,0,0.493293189,0,0,0,0,0,0.506706811,0,0,0,0,0,0,0,0 -eatout,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,9,2,0,0,0,0,0.366854738,0.25501335,0.107900842,0.2287524,0,0,0,0,0,0.041478671,0,0,0,0,0 -eatout,TRUE,9,3,0,0,0,0,0.468297002,0.238514298,0.2931887,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,9,4,0,0,0,0,0.109486993,0.574078888,0.280149843,0,0.036284276,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,10,2,0,0,0,0,0,0.254832017,0.469238325,0.127193733,0.065540094,0.051245746,0,0,0,0,0.031950083,0,0,0,0 -eatout,TRUE,10,3,0,0,0,0,0,0.064871933,0.163184264,0.345964678,0.111369168,0.141300007,0,0.17330995,0,0,0,0,0,0,0 -eatout,TRUE,10,4,0,0,0,0,0,0,0.150728895,0,0.209592187,0.423337891,0,0,0,0.216341028,0,0,0,0,0 -eatout,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,11,2,0,0,0,0,0,0,0.370585753,0.485622052,0.060239142,0.042221954,0,0,0,0.020865964,0.020465134,0,0,0,0 -eatout,TRUE,11,3,0,0,0,0,0,0,0.269205736,0.405557054,0.185720764,0,0.076480268,0,0.063036179,0,0,0,0,0,0 -eatout,TRUE,11,4,0,0,0,0,0,0,0,0.351458157,0.487871427,0,0,0,0,0.160670416,0,0,0,0,0 -eatout,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,12,2,0,0,0,0,0,0,0,0.437792419,0.301451181,0.150311105,0.034236693,0.076208603,0,0,0,0,0,0,0 -eatout,TRUE,12,3,0,0,0,0,0,0,0,0.225370702,0.381329664,0.174766696,0,0,0,0.218532938,0,0,0,0,0 -eatout,TRUE,12,4,0,0,0,0,0,0,0,0,0.221247262,0.778752738,0,0,0,0,0,0,0,0,0 -eatout,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,13,2,0,0,0,0,0,0,0,0,0.139433765,0.241394197,0.366145988,0,0,0.25302605,0,0,0,0,0 -eatout,TRUE,13,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -eatout,TRUE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -eatout,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.141560108,0.455484612,0.063533559,0.080474833,0.258946888,0,0,0,0,0 -eatout,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -eatout,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -eatout,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -eatout,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.175719201,0.491767111,0.304614961,0.027898728,0,0,0,0,0 -eatout,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.115184007,0.113089502,0.771726491,0,0,0,0,0,0 -eatout,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -eatout,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -eatout,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.081443842,0.569785792,0.258691473,0.048438646,0,0.041640248,0,0 -eatout,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.14088832,0.169273542,0.138693404,0.551144734,0,0,0,0 -eatout,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.522722044,0,0,0.477277956,0,0,0 -eatout,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -eatout,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.360098415,0.452873013,0.139516873,0.047511698,0,0,0 -eatout,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.107576639,0.186526017,0.560987927,0.144909417,0,0,0 -eatout,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -eatout,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27451797,0.572984268,0.072163445,0,0.080334317,0 -eatout,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.497007208,0.502992792,0,0,0,0 -eatout,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537636417,0.462363583,0,0,0 -eatout,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.328311347,0.671688653,0,0,0 -eatout,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -eatout,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -eatout,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.916716515,0.083283485,0,0 -eatout,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.726342035,0.273657965,0,0 -eatout,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -eatout,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -eatout,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -eatout,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -eatout,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,1,0.034815481,0.965184519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,1,0,0.199908855,0.800091145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,2,0,0.833877769,0.166122231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,1,0,0,0.215838535,0.784161465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,1,0,0,0,0.157266378,0.842733622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,2,0,0,0,0.335277961,0.664722039,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,1,0,0,0.033536748,0.02770012,0.155369348,0.783393784,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,2,0,0,0,0,0.173469452,0.826530548,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,1,0,0,0,0,0.091878183,0.12493006,0.783191757,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,2,0,0,0,0,0,0.096132235,0.903867765,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,1,0,0,0,0.037969228,0,0.031107149,0.035414324,0.895509299,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,2,0,0,0,0,0.02753672,0,0.149847323,0.822615958,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,3,0,0,0,0,0,0,0.258442104,0.741557896,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,12,4,0,0,0,0,0,0,0.333333333,0.666666667,0,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,1,0,0.01200688,0,0,0,0.039950927,0.008513584,0.137590949,0.80193766,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,2,0,0,0,0,0,0,0,0.394497458,0.605502542,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,13,4,0,0,0,0,0,0,0,0.367803297,0.632196703,0,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,1,0,0,0,0,0,0.006675471,0,0.049503213,0.303745574,0.640075741,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,2,0,0,0,0,0,0,0,0,0.279565462,0.720434538,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,3,0,0,0,0,0,0,0,0,0.289280673,0.710719327,0,0,0,0,0,0,0,0,0 -eatout,FALSE,14,4,0,0,0,0,0,0,0,0,0.17018646,0.82981354,0,0,0,0,0,0,0,0,0 -eatout,FALSE,15,1,0,0,0.012317448,0.011793684,0,0.032471192,0.017402541,0.031610182,0.061546974,0.401654713,0.431203266,0,0,0,0,0,0,0,0 -eatout,FALSE,15,2,0,0,0,0.020848495,0,0,0.031697312,0.022993537,0.09062564,0.216001966,0.617833051,0,0,0,0,0,0,0,0 -eatout,FALSE,15,3,0,0,0,0,0,0,0,0.046096862,0.044136725,0.455929483,0.45383693,0,0,0,0,0,0,0,0 -eatout,FALSE,15,4,0,0,0,0,0,0,0,0.053925006,0,0.080548958,0.865526035,0,0,0,0,0,0,0,0 -eatout,FALSE,16,1,0,0.029358275,0.006634587,0,0.008384768,0,0.022595474,0.011554952,0,0.018323185,0.344468391,0.558680369,0,0,0,0,0,0,0 -eatout,FALSE,16,2,0,0,0,0,0,0,0.023120402,0.115646001,0.052131074,0.053950104,0.19213634,0.563016078,0,0,0,0,0,0,0 -eatout,FALSE,16,3,0,0,0,0,0,0,0,0.058624219,0.059135643,0.033481644,0.029621972,0.819136522,0,0,0,0,0,0,0 -eatout,FALSE,16,4,0,0,0,0,0,0,0,0,0.079941236,0.063875591,0.228664833,0.62751834,0,0,0,0,0,0,0 -eatout,FALSE,17,1,0.008270503,0,0.011204931,0,0.012161696,0.009083295,0,0,0.008915709,0.010949503,0.019220416,0.424059428,0.496134519,0,0,0,0,0,0 -eatout,FALSE,17,2,0,0,0,0,0.009447942,0,0.059827266,0.109282601,0.010850987,0.012969818,0.170046907,0.153233152,0.474341327,0,0,0,0,0,0 -eatout,FALSE,17,3,0,0,0,0,0,0,0.020113077,0.088749328,0.011185398,0,0.071370427,0.323187311,0.485394459,0,0,0,0,0,0 -eatout,FALSE,17,4,0,0,0.038633648,0,0,0,0,0.019522201,0.039044403,0.062661272,0.092635226,0.060867571,0.68663568,0,0,0,0,0,0 -eatout,FALSE,18,1,0,0.00402747,0,0.002699769,0,0,0.003458022,0.004776748,0,0,0.007128847,0.022821634,0.560262038,0.394825471,0,0,0,0,0 -eatout,FALSE,18,2,0,0,0,0,0,0,0.025269691,0.053659728,0.018624541,0,0.015410135,0.096858434,0.303814033,0.486363437,0,0,0,0,0 -eatout,FALSE,18,3,0,0,0,0.027139705,0,0,0,0,0.025309856,0,0.041317372,0,0.193332635,0.712900432,0,0,0,0,0 -eatout,FALSE,18,4,0,0,0,0.062266496,0,0,0,0.124532992,0,0,0,0.02844882,0.160985,0.623766691,0,0,0,0,0 -eatout,FALSE,19,1,0,0,0,0.035093846,0,0,0,0.002763787,0,0,0.007972126,0,0.006835141,0.182451712,0.76488339,0,0,0,0 -eatout,FALSE,19,2,0,0,0,0,0,0,0,0.009338966,0.0084296,0.012320862,0,0.007858119,0.07102686,0.181093919,0.709931674,0,0,0,0 -eatout,FALSE,19,3,0,0,0.034695617,0,0,0,0,0,0,0,0,0,0,0.325056792,0.640247591,0,0,0,0 -eatout,FALSE,19,4,0,0,0,0.101411526,0,0,0,0,0,0,0,0,0,0.101411526,0.797176947,0,0,0,0 -eatout,FALSE,20,1,0,0,0,0,0.006246293,0,0,0.011507943,0,0,0.013654973,0,0.007223887,0.028421478,0.204476714,0.728468712,0,0,0 -eatout,FALSE,20,2,0,0,0,0,0,0,0,0.029002329,0.008684063,0.040035705,0,0,0.033841105,0.026844626,0.219230553,0.64236162,0,0,0 -eatout,FALSE,20,3,0,0,0,0,0.017457545,0,0,0,0,0,0,0.022170954,0.111461135,0.026492142,0.144444394,0.677973828,0,0,0 -eatout,FALSE,20,4,0,0,0,0,0,0,0,0,0.027884869,0,0,0.019560862,0.053861802,0.185282652,0.14594305,0.567466765,0,0,0 -eatout,FALSE,21,1,0,0,0,0,0,0,0.001992088,0,0,0,0,0,0.004171801,0.008609329,0.045440515,0.297500935,0.642285332,0,0 -eatout,FALSE,21,2,0,0,0,0,0,0,0,0.008825951,0,0,0,0,0,0,0.022560857,0.064662954,0.903950239,0,0 -eatout,FALSE,21,3,0,0,0,0,0,0,0,0,0.01925505,0,0,0,0,0,0.141712181,0.063571817,0.775460952,0,0 -eatout,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.059643388,0.029821694,0.029821694,0.054589294,0.218357176,0,0.338629065,0.269137688,0,0 -eatout,FALSE,22,1,0,0.003832232,0.014433483,0.029367654,0,0,0,0,0,0,0,0,0,0.037886729,0.013545706,0.01688148,0.286440472,0.597612243,0 -eatout,FALSE,22,2,0,0,0,0.058773031,0.007875566,0,0.038790615,0,0,0,0,0,0,0.124436861,0.030453108,0.011388959,0.304645476,0.423636384,0 -eatout,FALSE,22,3,0,0.023843907,0,0,0.012800003,0,0,0,0.063045627,0,0,0,0,0.016739233,0.04949484,0.078783423,0.338585891,0.416707076,0 -eatout,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0.012407461,0.122224371,0.035520139,0.109039785,0,0.076367345,0.347441239,0.296999659,0 -eatout,FALSE,23,1,0,0,0,0,0,0,0,0.012371175,0,0.025704524,0,0.023327151,0,0.007669333,0.042011178,0.019479582,0.006261906,0.163786764,0.699388388 -eatout,FALSE,23,2,0,0,0,0,0,0,0,0,0.033721119,0.101287181,0,0.014308982,0,0,0.023495989,0.043546799,0.169610935,0.119773048,0.494255948 -eatout,FALSE,23,3,0,0,0,0,0,0,0,0,0,0.098543037,0,0,0,0,0,0.027420729,0.019663025,0.062014245,0.792358964 -eatout,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.015339182,0.166441975,0.108428683,0.70979016 -social,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163488477,0.72896704,0.107544483,0,0,0 -social,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,2,0,0.429301212,0.220838883,0,0,0.349859905,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,7,2,0,0,0.238446471,0.18847097,0.451233232,0.061171813,0,0,0,0,0,0.060677514,0,0,0,0,0,0,0 -social,TRUE,7,3,0,0,0.263472951,0,0.345559204,0.045763272,0.194319778,0,0,0,0.076482272,0.074402522,0,0,0,0,0,0,0 -social,TRUE,7,4,0,0,0,0,0.720034483,0,0,0,0,0,0,0,0,0.279965517,0,0,0,0,0 -social,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,8,2,0,0,0,0.254275275,0.460062202,0.285662524,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,8,3,0,0,0,0,0.319310909,0,0.196475338,0,0.334528108,0,0,0.149685645,0,0,0,0,0,0,0 -social,TRUE,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0.654606666,0.345393334,0,0,0,0,0 -social,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,2,0,0,0,0,0.545721423,0.112625256,0.326444169,0.015209152,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,3,0,0,0,0,0.023262324,0.080080665,0.730468634,0.143870653,0.022317724,0,0,0,0,0,0,0,0,0,0 -social,TRUE,9,4,0,0,0,0,0,0.026826474,0.852263327,0,0,0,0,0.014490394,0,0,0.053209903,0.053209903,0,0,0 -social,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,10,2,0,0,0,0,0,0.151977255,0.519637411,0.191906468,0.085778382,0.050700484,0,0,0,0,0,0,0,0,0 -social,TRUE,10,3,0,0,0,0,0,0.046500192,0.658940192,0.178956942,0,0.115602674,0,0,0,0,0,0,0,0,0 -social,TRUE,10,4,0,0,0,0,0,0,0.204837475,0.204837475,0.204837475,0,0,0.128495859,0.256991717,0,0,0,0,0,0 -social,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,11,2,0,0,0,0,0,0,0.252313913,0.608752771,0.060673874,0.078259442,0,0,0,0,0,0,0,0,0 -social,TRUE,11,3,0,0,0,0,0,0,0,0.893087119,0,0,0.106912881,0,0,0,0,0,0,0,0 -social,TRUE,11,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -social,TRUE,12,2,0,0,0,0,0,0,0,0.01555306,0.804005354,0.113032269,0.042952725,0.024456591,0,0,0,0,0,0,0 -social,TRUE,12,3,0,0,0,0,0,0,0,0,0.762673603,0.196684366,0,0.040642031,0,0,0,0,0,0,0 -social,TRUE,12,4,0,0,0,0,0,0,0,0,0.974582243,0.025417757,0,0,0,0,0,0,0,0,0 -social,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,TRUE,13,2,0,0,0,0,0,0,0,0,0.666277769,0.215739994,0.117982237,0,0,0,0,0,0,0,0 -social,TRUE,13,3,0,0,0,0,0,0,0,0,0.20985109,0.290892068,0,0.499256842,0,0,0,0,0,0,0 -social,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.27976381,0.48015746,0,0.24007873,0,0,0,0,0 -social,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -social,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.474250224,0.479544424,0.046205352,0,0,0,0,0,0,0 -social,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -social,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.415915716,0.304081655,0.122383721,0.157618908,0,0,0,0,0 -social,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.149219919,0.262392987,0.163198885,0.364386422,0.060801787,0,0,0,0 -social,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.382256993,0.20034388,0.20034388,0.217055247,0,0,0 -social,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.084972892,0.631896416,0.184989951,0.098140741,0,0,0,0 -social,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.566972184,0,0.433027816,0,0,0 -social,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -social,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -social,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.153985008,0.442019825,0.287546211,0.116448956,0,0,0 -social,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.805041829,0.194958171,0,0,0,0 -social,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.386035694,0.613964306,0,0,0,0 -social,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -social,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.415464544,0.466670617,0.11786484,0,0,0 -social,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480898747,0.519101253,0,0,0 -social,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492816592,0.382668005,0.124515403,0,0 -social,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.296845882,0.703154118,0,0 -social,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -social,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.180542587,0.819457413,0,0 -social,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -social,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186441429,0.813558571 -social,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -social,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -social,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -social,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,1,0,0.175358533,0.824641467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,1,0,0,0.02236387,0.97763613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,1,0,0,0,0.461831955,0.538168045,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,1,0,0,0,0,0.168748059,0.831251941,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,2,0,0,0,0,0.100405941,0.899594059,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,1,0,0,0,0,0.02167612,0.606898663,0.371425217,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,2,0,0,0,0.025894331,0,0.076173851,0.897931818,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,3,0,0,0,0,0,0.0362574,0.9637426,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,11,4,0,0,0,0,0,0.666666667,0.333333333,0,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,1,0,0,0,0,0,0.040943046,0.339881423,0.619175531,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,2,0,0,0,0,0,0.055306785,0,0.944693215,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,3,0,0,0,0,0,0,0.113705951,0.886294049,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,12,4,0,0,0,0,0,0,0.020620903,0.979379097,0,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,1,0,0.110729344,0,0,0,0,0.028982164,0.160850288,0.699438204,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,2,0,0,0,0,0,0,0,0.434109617,0.565890383,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -social,FALSE,14,1,0,0,0,0,0,0,0.012646359,0.049957288,0.064957981,0.872438372,0,0,0,0,0,0,0,0,0 -social,FALSE,14,2,0,0,0,0,0,0,0,0.092000521,0.207125543,0.700873936,0,0,0,0,0,0,0,0,0 -social,FALSE,14,3,0,0,0,0,0,0,0,0,0.123105709,0.876894291,0,0,0,0,0,0,0,0,0 -social,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -social,FALSE,15,1,0,0,0,0,0,0,0,0.025915129,0.021414108,0.301296274,0.651374488,0,0,0,0,0,0,0,0 -social,FALSE,15,2,0,0,0,0,0,0,0,0.038851326,0.060308128,0.040085863,0.860754683,0,0,0,0,0,0,0,0 -social,FALSE,15,3,0,0,0,0,0,0,0,0,0,0.337125075,0.662874925,0,0,0,0,0,0,0,0 -social,FALSE,15,4,0,0,0,0,0,0,0,0,0,0.240804556,0.759195444,0,0,0,0,0,0,0,0 -social,FALSE,16,1,0,0,0,0,0,0,0.010850109,0.028630302,0.034941364,0.027356994,0.399487153,0.498734077,0,0,0,0,0,0,0 -social,FALSE,16,2,0,0,0,0,0,0,0,0.085290601,0.096379465,0.140055991,0.14515731,0.533116633,0,0,0,0,0,0,0 -social,FALSE,16,3,0,0,0,0,0,0,0,0.039789367,0,0,0.207791274,0.752419359,0,0,0,0,0,0,0 -social,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.444162303,0.555837697,0,0,0,0,0,0,0 -social,FALSE,17,1,0,0,0,0,0,0.004235542,0.004235542,0.010773772,0.036037056,0.011244257,0.008654904,0.185030812,0.739788115,0,0,0,0,0,0 -social,FALSE,17,2,0,0,0,0,0,0,0.011747117,0.030318289,0,0.026130418,0.124118238,0.265470463,0.542215475,0,0,0,0,0,0 -social,FALSE,17,3,0,0,0,0,0,0,0,0.035991711,0.05581904,0,0.118744644,0.174641807,0.614802798,0,0,0,0,0,0 -social,FALSE,17,4,0,0,0,0,0,0,0,0,0,0.133377911,0.156860689,0.067276975,0.642484425,0,0,0,0,0,0 -social,FALSE,18,1,0,0,0,0,0,0,0,0,0.021116578,0,0.023935246,0.014708731,0.292437045,0.6478024,0,0,0,0,0 -social,FALSE,18,2,0,0,0,0,0,0,0,0,0.050647706,0.018469336,0.057408229,0.034520986,0.245483705,0.593470039,0,0,0,0,0 -social,FALSE,18,3,0,0,0,0,0,0,0,0,0.215338024,0,0,0.143481023,0.32589869,0.315282263,0,0,0,0,0 -social,FALSE,18,4,0,0,0,0,0,0,0.012374723,0.012374723,0.037124169,0,0.012374723,0.11617789,0.120134128,0.689439644,0,0,0,0,0 -social,FALSE,19,1,0,0,0,0,0,0,0.007898288,0,0,0,0,0,0.121563834,0.284121966,0.586415912,0,0,0,0 -social,FALSE,19,2,0,0,0,0,0,0,0.039741889,0,0,0,0.02465859,0.116870248,0.036063489,0.320456158,0.462209626,0,0,0,0 -social,FALSE,19,3,0,0,0,0,0,0,0,0.054643855,0,0,0,0.060605496,0.025192236,0.702933269,0.156625145,0,0,0,0 -social,FALSE,19,4,0,0,0,0,0,0,0,0,0.175116816,0,0.022349377,0.130418062,0.054376362,0.036216461,0.581522921,0,0,0,0 -social,FALSE,20,1,0,0,0,0,0,0,0,0.006741002,0,0,0.01216091,0,0,0,0.185101107,0.795996982,0,0,0 -social,FALSE,20,2,0,0,0,0,0,0,0,0,0,0.04641167,0,0.083727631,0.098296373,0,0.202274397,0.569289928,0,0,0 -social,FALSE,20,3,0,0,0,0,0,0,0,0,0,0.139066538,0,0,0,0.294532307,0.250878966,0.315522189,0,0,0 -social,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.139014445,0,0,0.258582347,0.602403208,0,0,0 -social,FALSE,21,1,0,0,0,0,0,0,0,0.006536044,0,0,0.004122227,0,0.009592478,0,0.025254876,0.168812361,0.785682015,0,0 -social,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0.009947847,0,0,0.015489709,0.091770901,0.882791543,0,0 -social,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0.035778147,0,0,0.059543199,0.096410036,0.808268618,0,0 -social,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.039227837,0,0,0,0.272007988,0.688764175,0,0 -social,FALSE,22,1,0,0,0,0,0,0,0.008693912,0,0,0.023590293,0,0,0.014992001,0.012884951,0.01979978,0.017778233,0.266462768,0.635798061,0 -social,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.054229245,0.01998552,0,0,0.183589112,0.020695417,0.01231348,0.164392793,0.544794434,0 -social,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0.03472135,0,0,0.015619534,0,0.035954672,0.531548096,0.382156347,0 -social,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0.05888279,0.05888279,0,0.176648369,0.09089481,0.189410385,0.425280856,0 -social,FALSE,23,1,0,0,0,0,0,0,0,0.028390618,0,0,0.004916978,0,0,0,0.014598183,0.07621256,0.027119644,0.125695917,0.7230661 -social,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0.01089797,0,0,0.031808043,0,0.091217964,0.172140515,0.693935509 -social,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052410677,0.231068411,0.716520911 -social,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061760943,0.229019025,0.709220031 -othdiscr,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,5,2,0.261967145,0.409228643,0,0,0,0,0.034160738,0.0288967,0,0.105662564,0,0.028934007,0.099906136,0.031244066,0,0,0,0,0 -othdiscr,TRUE,5,3,0.05651263,0.078010805,0,0,0,0,0,0,0,0,0.105067549,0.353285463,0.190245768,0,0.216877785,0,0,0,0 -othdiscr,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,6,2,0,0.098860067,0.663141032,0.044723228,0.012153718,0.015393409,0,0.016907036,0,0.010826104,0.098262057,0.016422181,0.023311168,0,0,0,0,0,0 -othdiscr,TRUE,6,3,0,0.024215249,0.736578596,0.018671746,0.050466724,0,0.046817344,0.010678175,0.023238019,0,0.032556217,0,0.035620327,0.021157602,0,0,0,0,0 -othdiscr,TRUE,6,4,0,0,0.081847071,0,0.338763551,0,0.240085302,0,0.114633558,0,0.146128192,0,0,0.078542326,0,0,0,0,0 -othdiscr,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,7,2,0,0,0.352097404,0.309242997,0.08178386,0.093069138,0.009864271,0.017742267,0,0.050016669,0.019229555,0.024087308,0.042866531,0,0,0,0,0,0 -othdiscr,TRUE,7,3,0,0,0.212218699,0.104250306,0.22359596,0.028585094,0,0.022759931,0.040936909,0.272511733,0,0,0,0.095141367,0,0,0,0,0 -othdiscr,TRUE,7,4,0,0,0,0.429994902,0.250073782,0.067515708,0.179786534,0,0,0,0,0,0,0,0.072629074,0,0,0,0 -othdiscr,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,8,2,0,0,0,0.27373664,0.651618467,0.038952541,0.006393093,0,0,0.010887769,0.010198326,0,0.008213164,0,0,0,0,0,0 -othdiscr,TRUE,8,3,0,0,0,0.256077087,0.567372083,0.111208754,0.044947659,0,0,0,0,0.020394418,0,0,0,0,0,0,0 -othdiscr,TRUE,8,4,0,0,0,0,0.419368759,0.043993527,0.123598787,0,0,0,0,0.092242747,0.32079618,0,0,0,0,0,0 -othdiscr,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,9,2,0,0,0,0,0.325654332,0.331629325,0.251597773,0.036069214,0,0,0.007507425,0,0.005333887,0,0.042208044,0,0,0,0 -othdiscr,TRUE,9,3,0,0,0,0,0.296114826,0.283133229,0.171133878,0.024057098,0.039684124,0,0.104372804,0,0,0,0.081504041,0,0,0,0 -othdiscr,TRUE,9,4,0,0,0,0,0,0.026872303,0.087815216,0.185433391,0.459158688,0.037962963,0.202757439,0,0,0,0,0,0,0,0 -othdiscr,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,10,2,0,0,0,0,0,0.284975884,0.535943751,0.094599159,0.060212546,0,0,0,0.014932613,0,0.009336047,0,0,0,0 -othdiscr,TRUE,10,3,0,0,0,0,0,0.03549155,0.582807345,0.127174633,0.224739775,0,0,0,0,0.029786697,0,0,0,0,0 -othdiscr,TRUE,10,4,0,0,0,0,0,0,0.354929378,0.145446894,0.499623728,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,11,2,0,0,0,0,0,0,0.373878462,0.422332476,0.042754045,0.138634672,0.012364309,0.010036036,0,0,0,0,0,0,0 -othdiscr,TRUE,11,3,0,0,0,0,0,0,0.120480473,0.332302699,0.091421072,0.287256805,0.161854878,0.006684074,0,0,0,0,0,0,0 -othdiscr,TRUE,11,4,0,0,0,0,0,0,0.227930951,0,0.335102136,0.044198628,0.207476437,0,0.185291847,0,0,0,0,0,0 -othdiscr,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,12,2,0,0,0,0,0,0,0,0.383615621,0.305559088,0.131113594,0.103542737,0.07616896,0,0,0,0,0,0,0 -othdiscr,TRUE,12,3,0,0,0,0,0,0,0,0.128632011,0.247877929,0.37071038,0.084899625,0.167880054,0,0,0,0,0,0,0 -othdiscr,TRUE,12,4,0,0,0,0,0,0,0,0,0.205547015,0.162425226,0.239993719,0,0.392034039,0,0,0,0,0,0 -othdiscr,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,13,2,0,0,0,0,0,0,0,0,0.353861476,0.371100297,0.168208236,0.052680009,0.054149982,0,0,0,0,0,0 -othdiscr,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.679754381,0.320245619,0,0,0,0,0,0,0,0 -othdiscr,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.043643993,0.545880167,0.094829055,0.241931264,0,0.073715521,0,0,0,0 -othdiscr,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.288892103,0.603164379,0.048532082,0.059411436,0,0,0,0,0,0 -othdiscr,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.021579093,0.46445134,0.316987948,0.142583522,0.054398096,0,0,0,0,0 -othdiscr,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.09464155,0.567572891,0.33778556,0,0,0,0,0,0,0 -othdiscr,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.373801479,0.542977323,0.070343764,0.01078053,0.002096902,0,0,0,0 -othdiscr,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.122689199,0.717331575,0.030530698,0.123760049,0.005688479,0,0,0,0 -othdiscr,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.635796163,0,0,0.364203837,0,0,0,0 -othdiscr,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.712603233,0.193798154,0.048982419,0.039696774,0.00491942,0,0,0 -othdiscr,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.841745433,0.101833145,0.027409468,0,0.029011955,0,0,0 -othdiscr,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.17218743,0.195323109,0.429118156,0,0.203371304,0,0 -othdiscr,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.185120326,0.587302234,0.220258146,0,0.007319293,0,0 -othdiscr,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.183125342,0.285960671,0.48842584,0.013192652,0.029295494,0,0 -othdiscr,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102125632,0.746583804,0.151290564,0,0,0 -othdiscr,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542729526,0.35986304,0.097407435,0,0,0 -othdiscr,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480620595,0.242765324,0.062025461,0.187335855,0.027252764,0 -othdiscr,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098853758,0.563447888,0.242412271,0,0.095286083,0 -othdiscr,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.341735737,0.560576797,0.050581281,0.047106185,0 -othdiscr,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.213928771,0.439416592,0,0.346654637,0 -othdiscr,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.849356959,0.101132981,0.025617338,0.023892721 -othdiscr,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 -othdiscr,FALSE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 -othdiscr,FALSE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 -othdiscr,FALSE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 -othdiscr,FALSE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 -othdiscr,FALSE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 -othdiscr,FALSE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 -othdiscr,FALSE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 -othdiscr,FALSE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 -othdiscr,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +primary_purpose,outbound,tour_hour,trip_num,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23 +work,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,5,2,0.249730906,0.477180111,0.215788882,0.02257625,0.009653299,0.001272067,0.002559828,0.005345297,0.012868196,0.000858457,0,0.00130551,0,0.000861198,0,0,0,0,0 +work,TRUE,5,3,0.269166724,0.331378773,0.290398422,0.047428828,0.032211326,0.003681738,0,0.00648104,0.007547054,0.006178507,0,0.005527589,0,0,0,0,0,0,0 +work,TRUE,5,4,0.087782501,0.257488508,0.384088251,0.077346978,0.060562922,0,0,0.049138541,0,0.014538525,0,0,0,0.041701151,0.018235082,0,0.009117541,0,0 +work,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,6,2,0,0.218769369,0.568056029,0.16549898,0.028654735,0.007305391,0.002067083,0.003148838,0.000503641,0.003688829,0.002307106,0,0,0,0,0,0,0,0 +work,TRUE,6,3,0,0.130626273,0.577093506,0.214895882,0.051730954,0.003240613,0,0.004631429,0.00858571,0.005631893,0.001259632,0,0.002304109,0,0,0,0,0,0 +work,TRUE,6,4,0,0.003746877,0.546827469,0.29119719,0.043440135,0.021108582,0,0.041279538,0.022438337,0.019313618,0.003776433,0.006871821,0,0,0,0,0,0,0 +work,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,7,2,0,0,0.265300367,0.613559084,0.096014364,0.014396896,0.003048705,0.004403151,0,0.001139887,0.001411868,0.000725679,0,0,0,0,0,0,0 +work,TRUE,7,3,0,0,0.166352156,0.62367014,0.155705334,0.026659137,0.007295847,0.013673999,0.003582828,0.001111918,0.000525728,0.001422911,0,0,0,0,0,0,0 +work,TRUE,7,4,0,0,0.105022925,0.545651324,0.19699608,0.086647479,0.013272884,0.007863943,0.037841595,0.002284229,0.001876743,0,0.002542798,0,0,0,0,0,0 +work,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,8,2,0,0,0,0.456491659,0.443858962,0.071483886,0.007227768,0.011205848,0.004971546,0.003779089,0,0.000629094,0.000352148,0,0,0,0,0,0 +work,TRUE,8,3,0,0,0,0.297357445,0.518087382,0.132861058,0.006370619,0.007614307,0.009010749,0.012385163,0.002114995,0.01254835,0.001649933,0,0,0,0,0,0 +work,TRUE,8,4,0,0,0,0.219050051,0.313898882,0.316701629,0.097894922,0.024670968,0.007826425,0.014063117,0,0,0.001659846,0,0,0,0.00423416,0,0 +work,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,9,2,0,0,0,0,0.381802065,0.463610086,0.07833074,0.053350819,0.012379425,0.006984996,0.002188786,0.001353083,0,0,0,0,0,0,0 +work,TRUE,9,3,0,0,0,0,0.244359192,0.505051786,0.124730319,0.070740285,0.04380103,0.00393502,0.002381853,0,0.005000514,0,0,0,0,0,0 +work,TRUE,9,4,0,0,0,0,0.048177162,0.281924251,0.128648284,0.140849287,0.097452942,0.149279798,0.129250851,0.024417425,0,0,0,0,0,0,0 +work,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,10,2,0,0,0,0,0,0.287462748,0.478190637,0.154315841,0.0141405,0.047319629,0,0.005707897,0,0.004618797,0.008243951,0,0,0,0 +work,TRUE,10,3,0,0,0,0,0,0.224513864,0.313870996,0.279113796,0.089398426,0.044754472,0.034345645,0.014002803,0,0,0,0,0,0,0 +work,TRUE,10,4,0,0,0,0,0,0,0.181896949,0.267783358,0.317739276,0.088027455,0.086885637,0,0,0,0.057667324,0,0,0,0 +work,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,11,2,0,0,0,0,0,0,0.349521518,0.402347786,0.191514732,0.044397707,0.009105065,0,0.003113192,0,0,0,0,0,0 +work,TRUE,11,3,0,0,0,0,0,0,0.207587883,0.30769214,0.335712206,0.084378351,0.047431249,0.017198171,0,0,0,0,0,0,0 +work,TRUE,11,4,0,0,0,0,0,0,0,0.482525146,0.331491287,0.154741395,0,0,0.031242172,0,0,0,0,0,0 +work,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,12,2,0,0,0,0,0,0,0,0.228781907,0.52986365,0.185949096,0.016952622,0.0225574,0,0.015895326,0,0,0,0,0 +work,TRUE,12,3,0,0,0,0,0,0,0,0.048290452,0.527617032,0.260449945,0.038087283,0.125555288,0,0,0,0,0,0,0 +work,TRUE,12,4,0,0,0,0,0,0,0,0.055268088,0.55183696,0.308090511,0.022112333,0.026969361,0.035722748,0,0,0,0,0,0 +work,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +work,TRUE,13,2,0,0,0,0,0,0,0,0,0.618115652,0.284403475,0.097480873,0,0,0,0,0,0,0,0 +work,TRUE,13,3,0,0,0,0,0,0,0,0,0.496549493,0.232797723,0.159946019,0,0.015308798,0.038007565,0.057390402,0,0,0,0 +work,TRUE,13,4,0,0,0,0,0,0,0,0,0.176762619,0,0,0,0.823237381,0,0,0,0,0,0 +work,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +work,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.574348416,0.354554927,0.071096656,0,0,0,0,0,0,0 +work,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.502109794,0.21816867,0.279721536,0,0,0,0,0,0,0 +work,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.133121347,0.633379229,0.134648916,0.049425254,0.049425254,0,0,0,0,0 +work,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +work,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.552840921,0.403380234,0.043778845,0,0,0,0,0,0 +work,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.134176676,0.725445222,0.140378102,0,0,0,0,0,0 +work,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +work,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +work,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.470117389,0.401307167,0.110787768,0.017787675,0,0,0,0 +work,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.648121232,0.228392401,0.123486367,0,0,0,0,0 +work,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +work,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.406105035,0.414979307,0.178915658,0,0,0,0 +work,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.212373176,0.787626824,0,0,0,0,0 +work,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.5,0,0,0 +work,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21625036,0.437860534,0.113269906,0.232619199,0,0 +work,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +work,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81925165,0.07204277,0,0.10870558,0 +work,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492020395,0.507979605,0,0,0 +work,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +work,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +work,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.388129509,0.611870491,0,0 +work,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +work,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171581948,0.828418052,0 +work,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258374236,0.741625764,0 +work,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,1,0,0.220793114,0.779206886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,2,0,0.425176732,0.574823268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,1,0,0,0.107759005,0.892240995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,2,0,0,0.690008913,0.309991087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,3,0,0.337495318,0.662504682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,4,0,0,0.569894206,0.430105794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,1,0,0,0,0.314951457,0.685048543,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,2,0,0,0,0.079070075,0.920929925,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,3,0,0,0,0.226319471,0.773680529,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,1,0,0.046066203,0.007425743,0.028045042,0.233624929,0.684838083,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,2,0,0.126398434,0,0.0549729,0.096449389,0.722179277,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,3,0,0,0,0,0.36604282,0.63395718,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,1,0,0,0.017580881,0.034113366,0.04162677,0.286326641,0.620352342,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,2,0,0,0.02642438,0,0.033819936,0.199217971,0.740537713,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,3,0,0,0,0,0.005130668,0.277227788,0.717641544,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,4,0,0,0,0,0,0.036304716,0.963695284,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,1,0,0.002492115,0.001670698,0.012159512,0.014698251,0.029407418,0.152563565,0.787008442,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,2,0,0,0.006100837,0.011620455,0.013952709,0.036974376,0.310894404,0.620457219,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,3,0,0,0,0.009383356,0.042387756,0.006845546,0.29720543,0.644177912,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,4,0,0,0,0.008143494,0,0.049968848,0.124165248,0.81772241,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,1,0,0,0.004406789,0.016516638,0.008423145,0.030672879,0.043679722,0.31728407,0.579016757,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,2,0,0,0.003526988,0.003893522,0.007279925,0.014935643,0.080084093,0.245195123,0.645084705,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,3,0,0,0,0,0.01495651,0,0.040446175,0.214618414,0.729978901,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,4,0,0,0,0,0.01397645,0.006836511,0.025113874,0.15362871,0.800444454,0,0,0,0,0,0,0,0,0,0 +work,FALSE,14,1,0.002365799,0,0.003370061,0,0.004899447,0.008850097,0.035188808,0.07267661,0.207306035,0.665343143,0,0,0,0,0,0,0,0,0 +work,FALSE,14,2,0.007728364,0.003287077,0,0.006520962,0,0.032254466,0.052851387,0.133223369,0.229023292,0.535111082,0,0,0,0,0,0,0,0,0 +work,FALSE,14,3,0,0,0,0.003971419,0,0,0.008873008,0.119445331,0.269752545,0.597957698,0,0,0,0,0,0,0,0,0 +work,FALSE,14,4,0,0,0,0,0.056793918,0,0.011546821,0.042023265,0.23002226,0.659613737,0,0,0,0,0,0,0,0,0 +work,FALSE,15,1,0,0.005222802,0.000561863,0.003055031,0.006434507,0.007479814,0.009995919,0.013087333,0.058426024,0.310076404,0.585660301,0,0,0,0,0,0,0,0 +work,FALSE,15,2,0,0,0,0.001993619,0.008787212,0.008189747,0.015159942,0.009310176,0.054885948,0.253934613,0.647738743,0,0,0,0,0,0,0,0 +work,FALSE,15,3,0,0,0,0.001732532,0,0.00508097,0.029352724,0.030967014,0.039664292,0.202228781,0.690973688,0,0,0,0,0,0,0,0 +work,FALSE,15,4,0,0,0,0,0,0.004125776,0.011923745,0.030960101,0.061425266,0.239676364,0.651888748,0,0,0,0,0,0,0,0 +work,FALSE,16,1,0,0,0.001326173,0.005965432,0.005180374,0.004138931,0.011262579,0.01661091,0.012073334,0.03679347,0.347396478,0.559252319,0,0,0,0,0,0,0 +work,FALSE,16,2,0,0,0.001822625,0.003909533,0.002974064,0.004461131,0.032696294,0.017905122,0.043805267,0.040055335,0.31441461,0.537956019,0,0,0,0,0,0,0 +work,FALSE,16,3,0,0,0,0,0.006964674,0,0.007663971,0.011249685,0.051874804,0.083383231,0.266186632,0.572677003,0,0,0,0,0,0,0 +work,FALSE,16,4,0.002037834,0,0,0,0,0.005964919,0.002996052,0.010623137,0.018245507,0.068094063,0.195919724,0.696118764,0,0,0,0,0,0,0 +work,FALSE,17,1,0,0,0.001405366,0.004415995,0.00337412,0.003812259,0.014084324,0.008465853,0.012498337,0.015584379,0.06625893,0.34857546,0.521524978,0,0,0,0,0,0 +work,FALSE,17,2,0,0.000261415,0.003193506,0.003224601,0.01031862,0.003695936,0.005727058,0.024107723,0.01290257,0.024008033,0.090851226,0.28964028,0.532069032,0,0,0,0,0,0 +work,FALSE,17,3,0,0,0.000765903,0.001471397,0.008789257,0.002465017,0.005279632,0.009138832,0.01433563,0.026053515,0.045996258,0.222930968,0.662773591,0,0,0,0,0,0 +work,FALSE,17,4,0,0,0,0.000418211,0.002396043,0.007974979,0.014040235,0.00763931,0.007998749,0.020421036,0.047793315,0.160067858,0.731250266,0,0,0,0,0,0 +work,FALSE,18,1,0,0.001141884,0.000347251,0.005493278,0.0034212,0.004108535,0.018739263,0.013709509,0.003846669,0.010612585,0.030088047,0.076311695,0.459430143,0.372749941,0,0,0,0,0 +work,FALSE,18,2,0,0.000397247,0.000707705,0.005535515,0.005281963,0.006814578,0.015049985,0.03759067,0.008201571,0.014941596,0.020264402,0.096049656,0.37187676,0.417288351,0,0,0,0,0 +work,FALSE,18,3,0,0,0.000752403,0.001471647,0,0.003652225,0.011264642,0.015334427,0.024656138,0.012088375,0.011628494,0.081091511,0.38372424,0.454335898,0,0,0,0,0 +work,FALSE,18,4,0,0,0.00040169,0.000306609,0.0002567,0.000726244,0.002720367,0.010037344,0.005670103,0.015810978,0.039979813,0.053350178,0.223343181,0.647396793,0,0,0,0,0 +work,FALSE,19,1,0,0.001186239,0,0.002728595,0.007883348,0.008718809,0.009638123,0.011693247,0.012706395,0.005992436,0.024678769,0.039878395,0.101249301,0.453611585,0.320034756,0,0,0,0 +work,FALSE,19,2,0,0,0,0.004170607,0.002769083,0.008212126,0.01044298,0.034645644,0.024223099,0.015502992,0.044371325,0.03839639,0.101706769,0.292181702,0.423377281,0,0,0,0 +work,FALSE,19,3,0,0,0,0.003546437,0.001427168,0.004005704,0.004647363,0.014456394,0.026101366,0.008168106,0.016583656,0.063080785,0.175251264,0.316168107,0.366563651,0,0,0,0 +work,FALSE,19,4,0,0,0,0,0.002545816,0.001448115,0.001519341,0.006183074,0.015479082,0.010887569,0.013355331,0.023014309,0.098855008,0.198551692,0.628160662,0,0,0,0 +work,FALSE,20,1,0,0,0.002357347,0.003515438,0.003650989,0.004956981,0.005821696,0.03028673,0.010683018,0.006121216,0.039610208,0.067356772,0.074052002,0.107849619,0.362764994,0.280972989,0,0,0 +work,FALSE,20,2,0,0,0,0.003020632,0.000872671,0.009819915,0.004032092,0.033547265,0.012437164,0.023084614,0.029601855,0.030696598,0.08880218,0.150240348,0.244376765,0.3694679,0,0,0 +work,FALSE,20,3,0,0,0,0,0.004490786,0.000948296,0.00496082,0.008797541,0.038290701,0.03100745,0.01309721,0.070674268,0.104392115,0.094315975,0.284308763,0.344716076,0,0,0 +work,FALSE,20,4,0,0,0,0,0,0,0.003217512,0.008519707,0.01832166,0.021264988,0.034310024,0.032173455,0.100093463,0.115029817,0.197663659,0.469405714,0,0,0 +work,FALSE,21,1,0,0,0.00486935,0.004088274,0.009577732,0.013580516,0.019408543,0.027638575,0.028964986,0.013373832,0.01367219,0.088681299,0.105198543,0.066199405,0.05396423,0.186005224,0.3647773,0,0 +work,FALSE,21,2,0,0,0.005064281,0,0.005604807,0.001600494,0.02231608,0.036560998,0.023155074,0.011113847,0.021297782,0.024032721,0.15164875,0.095555611,0.130774865,0.152199827,0.319074864,0,0 +work,FALSE,21,3,0,0,0,0,0,0,0.008088371,0.016902755,0.023330301,0.010037114,0.04837863,0.047736466,0.100832492,0.115955331,0.150651228,0.252610972,0.225476339,0,0 +work,FALSE,21,4,0,0,0,0,0,0,0,0.009975719,0.00458937,0.004215296,0.014833666,0.013407482,0.096553857,0.131723579,0.099990132,0.155500861,0.469210038,0,0 +work,FALSE,22,1,0,0,0,0,0.002354463,0.001321627,0.001526638,0.003547564,0.007889584,0.00247877,0.061446315,0.077612309,0.104848995,0.087316793,0.063921354,0.040342969,0.155380603,0.390012018,0 +work,FALSE,22,2,0,0,0,0.001982423,0,0.007743127,0.011968403,0.008685093,0.003973347,0.012345869,0.016587124,0.040020235,0.072010749,0.098243002,0.073472113,0.096470733,0.242366696,0.314131085,0 +work,FALSE,22,3,0,0,0,0,0,0.00900164,0.001675422,0.021019519,0.008241362,0.012933333,0.01478469,0.047949921,0.119423115,0.119522763,0.080598154,0.04905538,0.20209014,0.313704562,0 +work,FALSE,22,4,0,0,0,0,0,0.00241091,0.006967046,0.024621244,0.004358134,0.006887033,0.008276343,0.047494465,0.086031065,0.153176335,0.061142075,0.031195643,0.205080104,0.362359603,0 +work,FALSE,23,1,0,0.001238847,0,0.002154573,0.003964601,0.001493218,0.012410725,0.019401965,0.016898905,0.02730294,0.011556986,0.034875148,0.041105748,0.083174793,0.018419684,0.005370325,0.063729247,0.109449086,0.54745321 +work,FALSE,23,2,0,0,0.001396549,0,0.003319033,0.005204887,0.025094008,0.033735384,0.008488109,0.01528189,0.022728985,0.031350219,0.058537975,0.074214158,0.022929206,0.042918793,0.007770177,0.170962188,0.476068439 +work,FALSE,23,3,0,0,0.001748893,0.001566752,0,0.007196939,0.011228416,0.021359669,0.028165721,0.008967715,0.028693265,0.056683172,0.078656022,0.063158735,0.099308392,0.039560138,0.024986978,0.098009336,0.43070986 +work,FALSE,23,4,0,0,0.000766782,0.004388369,0.002881109,0.004980974,0.024053963,0.026342685,0.029143148,0.024074445,0.020534932,0.036286202,0.115377511,0.062463348,0.051866458,0.057077696,0.052763369,0.108781076,0.378217933 +univ,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,5,2,0,0.141462921,0.39086301,0,0.071786124,0.025897511,0,0,0,0.097305573,0,0.030851335,0.102890339,0.138943185,0,0,0,0,0 +univ,TRUE,5,3,0,0,0.873218626,0,0,0.057857072,0,0,0,0,0,0,0,0.068924303,0,0,0,0,0 +univ,TRUE,5,4,0,0,0,0,0,0,0.32303468,0,0.32303468,0.16151734,0,0,0,0.192413299,0,0,0,0,0 +univ,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,6,2,0,0.134677838,0.456787632,0.153282563,0.059662856,0.118242123,0.03689652,0.007431799,0.019186549,0,0,0.01383212,0,0,0,0,0,0,0 +univ,TRUE,6,3,0,0.09504007,0.597276077,0.241947175,0,0,0,0.065736678,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,6,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,7,2,0,0,0.16008737,0.671458416,0.049774779,0.017812393,0.020633361,0.033501607,0,0.039093289,0.007638784,0,0,0,0,0,0,0,0 +univ,TRUE,7,3,0,0,0.052281409,0.806320518,0.030314369,0,0,0.012683969,0,0.051228214,0,0.047171521,0,0,0,0,0,0,0 +univ,TRUE,7,4,0,0,0,0.384291795,0.37997151,0.017486076,0.017486076,0,0.052458229,0.020717499,0.020717499,0.106871315,0,0,0,0,0,0,0 +univ,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,2,0,0,0,0.508028202,0.405046381,0.075475558,0.005588065,0,0.005861793,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,3,0,0,0,0.353221848,0.426314578,0.180255321,0.025900769,0.014307484,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,4,0,0,0,0.244322976,0.391323801,0.023592159,0.14547362,0.023592159,0,0.117960797,0,0.026867244,0.026867244,0,0,0,0,0,0 +univ,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,9,2,0,0,0,0,0.363140456,0.541860336,0.068377772,0.008522123,0,0,0.018099314,0,0,0,0,0,0,0,0 +univ,TRUE,9,3,0,0,0,0,0.088505041,0.64872571,0.084998604,0.177770645,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,9,4,0,0,0,0,0.139725614,0.449854868,0.134189894,0,0.276229624,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,2,0,0,0,0,0,0.346861762,0.509611346,0.026290472,0.013109947,0.104126473,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,3,0,0,0,0,0,0.302069617,0.428966039,0.192628694,0,0.07633565,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,4,0,0,0,0,0,0,0.414612817,0,0.115720886,0.347162659,0.122503637,0,0,0,0,0,0,0,0 +univ,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,11,2,0,0,0,0,0,0,0.237240285,0.707936221,0.02446143,0.00979796,0.020564104,0,0,0,0,0,0,0,0 +univ,TRUE,11,3,0,0,0,0,0,0,0.042322313,0.335051522,0.231238246,0.268514141,0.122873778,0,0,0,0,0,0,0,0 +univ,TRUE,11,4,0,0,0,0,0,0,0,0.563593836,0.248920946,0,0.058524887,0.128960331,0,0,0,0,0,0,0 +univ,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,12,2,0,0,0,0,0,0,0,0,0.437771877,0.210261779,0,0,0.297139297,0.054827047,0,0,0,0,0 +univ,TRUE,12,3,0,0,0,0,0,0,0,0,0.43873352,0.141096056,0.130019758,0,0.219455556,0.070695109,0,0,0,0,0 +univ,TRUE,12,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,13,2,0,0,0,0,0,0,0,0,0.134867601,0.583447862,0.08911022,0.053636459,0.138937858,0,0,0,0,0,0 +univ,TRUE,13,3,0,0,0,0,0,0,0,0,0.150944969,0.333823157,0.107766156,0.168152845,0,0.239312872,0,0,0,0,0 +univ,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.090285103,0.404418717,0.50529618,0,0,0,0,0,0,0 +univ,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.309699276,0.690300724,0,0,0,0,0,0,0 +univ,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +univ,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.357567593,0.542130931,0.100301476,0,0,0,0,0,0 +univ,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.628916949,0.371083051,0,0,0,0,0,0 +univ,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +univ,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +univ,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.300048836,0.63299685,0.066954314,0,0,0,0,0 +univ,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +univ,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +univ,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.14414362,0.85585638,0,0,0,0,0 +univ,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.696191337,0.303808663,0,0,0,0 +univ,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403432532,0.596567468,0,0,0,0 +univ,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.450038651,0.549961349,0,0,0,0 +univ,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,1,0,0,0.016025515,0.983974485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,2,0,0,0.262404641,0.737595359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,1,0,0,0,0.163327352,0.836672648,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,1,0,0,0,0.226661626,0.168940428,0.604397946,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,2,0,0,0,0,0.222726098,0.777273902,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,3,0,0,0,0,0.611879485,0.388120515,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,1,0,0,0,0.015316515,0.046862442,0.097177177,0.840643866,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,2,0,0,0,0.070258469,0,0.268634856,0.661106675,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,3,0,0,0,0.037689621,0,0.130353154,0.831957225,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,4,0,0,0,0,0,0.077208841,0.922791159,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,1,0,0,0.014945608,0,0.028129025,0.020638305,0.519341237,0.416945825,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,2,0,0,0.031201085,0.03237983,0.013231327,0.110325379,0.181858105,0.631004274,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,3,0,0,0,0.03549716,0.015053148,0,0.290392671,0.65905702,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,4,0,0,0,0,0.099318641,0.052098847,0.151713122,0.69686939,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,1,0,0,0,0,0,0,0.181017187,0.292661018,0.526321795,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,2,0,0,0,0,0,0,0.048301785,0.296950961,0.654747254,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,3,0,0,0,0,0,0,0,0.056113137,0.943886863,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,4,0,0,0,0,0,0.024635167,0,0,0.975364833,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,1,0,0,0,0.022000764,0.008154518,0.013638554,0.034791419,0.065882427,0.246258385,0.609273932,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,2,0,0,0,0,0,0,0.016168393,0.097081997,0.229754942,0.656994667,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,3,0,0,0,0,0,0,0.043234918,0.20601367,0.431619379,0.319132034,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,4,0,0,0,0,0,0,0.024961198,0.010062765,0.104416222,0.860559815,0,0,0,0,0,0,0,0,0 +univ,FALSE,15,1,0,0,0,0.016983489,0,0.013422718,0.023570396,0.004582712,0.053800861,0.202721356,0.684918469,0,0,0,0,0,0,0,0 +univ,FALSE,15,2,0,0,0,0,0.045151752,0,0.099380208,0.018712363,0.046279979,0.313502235,0.476973464,0,0,0,0,0,0,0,0 +univ,FALSE,15,3,0,0,0,0,0,0,0.025154904,0.093517604,0.102200685,0.131224361,0.647902447,0,0,0,0,0,0,0,0 +univ,FALSE,15,4,0,0,0,0,0,0,0.04795036,0.04795036,0.065158411,0.21500352,0.623937348,0,0,0,0,0,0,0,0 +univ,FALSE,16,1,0,0,0,0,0,0.003411195,0,0.013129003,0,0.154717961,0.529208805,0.299533037,0,0,0,0,0,0,0 +univ,FALSE,16,2,0,0,0,0.015451903,0.014978609,0,0.006115529,0.008472156,0,0.091244276,0.417492241,0.446245285,0,0,0,0,0,0,0 +univ,FALSE,16,3,0,0,0,0,0,0.016342188,0.018885054,0,0.036490672,0.062457119,0.082466854,0.783358113,0,0,0,0,0,0,0 +univ,FALSE,16,4,0,0,0,0,0,0,0,0.102624898,0.020338459,0.028320918,0.182111674,0.666604051,0,0,0,0,0,0,0 +univ,FALSE,17,1,0,0,0,0,0,0,0,0.060607217,0.015960535,0.027738146,0.138834813,0.177730039,0.579129249,0,0,0,0,0,0 +univ,FALSE,17,2,0,0,0,0,0,0,0.026878378,0,0.045587412,0.056703613,0.067767612,0.211772198,0.591290787,0,0,0,0,0,0 +univ,FALSE,17,3,0,0,0,0,0,0,0.035711491,0,0,0.030318877,0.065253534,0.105686003,0.763030094,0,0,0,0,0,0 +univ,FALSE,17,4,0,0,0,0,0,0,0.010287884,0.023408308,0.036977492,0.010287884,0.081294488,0.144862027,0.692881918,0,0,0,0,0,0 +univ,FALSE,18,1,0,0,0,0.003945375,0,0,0,0.017778798,0,0.094239059,0.126537664,0.04524658,0.521630843,0.190621681,0,0,0,0,0 +univ,FALSE,18,2,0,0,0,0.00721016,0,0,0.021117111,0.009952491,0.040163794,0.181306282,0.011084411,0,0.37585875,0.353307001,0,0,0,0,0 +univ,FALSE,18,3,0,0,0,0.006589215,0,0,0,0.019298488,0,0.057611182,0.140317157,0.028818423,0.227948944,0.51941659,0,0,0,0,0 +univ,FALSE,18,4,0,0,0,0,0,0,0.008076984,0,0.019904917,0.065674412,0.055168626,0.094050391,0.164547688,0.592576982,0,0,0,0,0 +univ,FALSE,19,1,0,0,0,0,0.009454567,0,0,0,0.04102499,0,0.023746099,0,0.135591003,0.220827281,0.56935606,0,0,0,0 +univ,FALSE,19,2,0,0,0,0,0,0,0,0,0,0.078006772,0,0.060317466,0.259929547,0.359118303,0.242627912,0,0,0,0 +univ,FALSE,19,3,0,0,0,0,0,0,0,0,0,0.021382414,0,0.021188936,0.081686174,0.348421579,0.527320897,0,0,0,0 +univ,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189756837,0.810243163,0,0,0,0 +univ,FALSE,20,1,0,0,0,0,0,0,0,0.010016964,0,0,0,0.004718289,0.003266795,0,0.085231627,0.896766325,0,0,0 +univ,FALSE,20,2,0,0,0,0,0,0,0.11773307,0.039948419,0,0.039518498,0.05632597,0,0.267130581,0.046726624,0.026652785,0.405964054,0,0,0 +univ,FALSE,20,3,0,0,0,0,0,0,0,0.120183428,0,0.019425265,0,0.12981914,0.113130998,0,0.023452919,0.59398825,0,0,0 +univ,FALSE,20,4,0,0,0,0,0,0,0,0.120271055,0,0.038712543,0.069855242,0.27999729,0.089459377,0.067799861,0.14272972,0.191174912,0,0,0 +univ,FALSE,21,1,0,0,0,0,0,0,0,0,0.007338913,0.023203309,0.007350649,0.00472513,0.002978934,0,0.033142982,0.176639731,0.744620353,0,0 +univ,FALSE,21,2,0,0,0,0,0,0,0,0,0,0.057152164,0.184622922,0.047820405,0.014739649,0.00986257,0.02270102,0.078261413,0.584839857,0,0 +univ,FALSE,21,3,0,0,0,0,0,0,0,0.023488975,0,0.025096056,0,0,0.038339259,0,0.022191995,0.28095544,0.609928273,0,0 +univ,FALSE,21,4,0,0,0,0,0,0,0,0,0.029235831,0,0.09370831,0.034296673,0,0,0,0.045049879,0.797709307,0,0 +univ,FALSE,22,1,0,0,0,0,0,0,0,0,0,0.026178201,0.014643033,0,0.007467541,0,0.019259981,0,0.427134845,0.5053164,0 +univ,FALSE,22,2,0,0,0,0,0,0,0.034835821,0,0,0,0.140548783,0,0,0,0,0,0.1300249,0.694590496,0 +univ,FALSE,22,3,0,0,0,0,0,0,0,0.046323184,0,0,0,0.186895757,0,0,0,0,0.329771262,0.437009796,0 +univ,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0.156732984,0.024747713,0.166206674,0.137729625,0.24721205,0.267370954,0 +univ,FALSE,23,1,0,0,0,0,0,0,0,0,0,0.035836574,0,0.042066438,0.075012425,0.063439215,0,0,0.301680107,0.16901224,0.312953001 +univ,FALSE,23,2,0,0,0,0,0,0,0,0.022191189,0.04703489,0.224157456,0.038381448,0.045053715,0,0.164838447,0,0,0.125234584,0.144560801,0.188547469 +univ,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0.050535751,0,0.237653614,0.043051618,0,0.251962365,0.07621155,0.340585102 +univ,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.012541125,0,0.020367286,0.065349217,0.103326665,0.070453894,0.108396964,0.135051697,0.484513153 +school,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,2,0,0.040189605,0.959810395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,3,0,0.14676025,0.559777558,0.293462192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,2,0,0.090715709,0.600480587,0.301778371,0,0,0,0,0.007025333,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,3,0,0.189913473,0.435678549,0.345471524,0.028936455,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,4,0,0.276044088,0.461879351,0.26207656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,7,2,0,0,0.358595289,0.543340426,0.080407454,0.00494145,0,0.003218472,0.001252217,0.00163666,0.005875668,0,0.000732365,0,0,0,0,0,0 +school,TRUE,7,3,0,0,0.305390104,0.552122437,0.119495284,0,0.012287658,0,0,0,0.010704517,0,0,0,0,0,0,0,0 +school,TRUE,7,4,0,0,0.244790257,0.688367336,0,0.043560183,0,0.023282223,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,8,2,0,0,0,0.750052982,0.197397697,0.003009328,0.015758235,0.00583123,0,0.002418098,0.003851683,0.011638797,0.01004195,0,0,0,0,0,0 +school,TRUE,8,3,0,0,0,0.372624607,0.42987891,0.03924466,0,0.102467106,0,0,0.055784717,0,0,0,0,0,0,0,0 +school,TRUE,8,4,0,0,0,0,0.141654355,0.129241521,0.273939898,0,0,0,0,0.31350987,0.141654355,0,0,0,0,0,0 +school,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,2,0,0,0,0,0.090691548,0.482888016,0.426420437,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,3,0,0,0,0,0.091229458,0.353634961,0.555135582,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,4,0,0,0,0,0,0.30179716,0.69820284,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,2,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,3,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,11,2,0,0,0,0,0,0,0.02770017,0.902627425,0.038595346,0.031077059,0,0,0,0,0,0,0,0,0 +school,TRUE,11,3,0,0,0,0,0,0,0,0.797232896,0.076506636,0,0.126260468,0,0,0,0,0,0,0,0 +school,TRUE,11,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,2,0,0,0,0,0,0,0,0,0.899748743,0,0,0.100251257,0,0,0,0,0,0,0 +school,TRUE,12,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,13,2,0,0,0,0,0,0,0,0,0,0.451262789,0.191174572,0.357562639,0,0,0,0,0,0,0 +school,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.068700765,0.443666092,0.487633143,0,0,0,0,0,0,0 +school,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.11838799,0.88161201,0,0,0,0,0,0,0 +school,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.534557731,0.079614802,0,0,0.385827467,0,0,0,0,0 +school,TRUE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +school,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0,0.868324906,0,0.131675094,0,0,0,0,0 +school,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.900878137,0.099121863,0,0,0,0,0,0 +school,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +school,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +school,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.173995865,0.826004135,0,0,0,0,0,0 +school,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0.637190616,0.362809384,0,0,0,0,0 +school,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.74484742,0.25515258,0,0,0,0,0 +school,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +school,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173208977,0.826791023,0,0,0,0 +school,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +school,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,1,0,0,0,0.09946831,0.90053169,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,1,0,0,0,0,0.051889499,0.948110501,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,1,0,0,0,0,0.00854797,0.143038003,0.848414027,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,2,0,0,0,0,0,0.07758327,0.92241673,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,3,0,0,0,0,0,0.05138849,0.94861151,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,1,0,0,0,0,0.019446017,0.011496295,0.285657861,0.683399827,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,2,0,0,0,0,0.019954492,0,0.331728142,0.648317366,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,3,0,0,0,0,0.033967027,0,0.201586112,0.764446861,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,4,0,0,0,0,0.113939675,0,0.018400111,0.867660214,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,1,0,0,0,0.019248269,0,0.002680163,0.030761477,0.259256669,0.688053423,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,2,0,0,0,0,0,0,0,0.189323178,0.810676822,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,3,0,0,0,0,0,0,0,0.258031986,0.741968014,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,4,0,0,0,0,0,0,0,0.279494058,0.720505942,0,0,0,0,0,0,0,0,0,0 +school,FALSE,14,1,0,0.000831908,0.000979746,0,0.001601486,0.002226531,0.002192251,0.02470079,0.091632585,0.875834703,0,0,0,0,0,0,0,0,0 +school,FALSE,14,2,0,0,0,0,0,0,0.041609561,0.016064041,0.222703138,0.71962326,0,0,0,0,0,0,0,0,0 +school,FALSE,14,3,0,0,0,0,0,0,0,0.023937672,0.13413328,0.841929047,0,0,0,0,0,0,0,0,0 +school,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,FALSE,15,1,0,0,0.006672723,0.001920517,0.000881135,0.000470656,0.007178881,0.003373865,0.007046025,0.435289669,0.537166529,0,0,0,0,0,0,0,0 +school,FALSE,15,2,0,0,0,0.003559393,0.005420446,0,0.01895427,0.006031842,0.009564559,0.299701581,0.656767909,0,0,0,0,0,0,0,0 +school,FALSE,15,3,0,0,0,0,0.014210731,0,0,0.009915361,0.013300231,0.238413075,0.724160602,0,0,0,0,0,0,0,0 +school,FALSE,15,4,0,0,0,0,0.013547957,0,0,0.003834839,0,0.141585883,0.841031322,0,0,0,0,0,0,0,0 +school,FALSE,16,1,0,0,0.003957494,0.007442128,0.002894311,0,0.018097734,0.013714786,0.017413316,0.113052385,0.49048648,0.332941366,0,0,0,0,0,0,0 +school,FALSE,16,2,0,0,0,0.001567759,0.006348016,0.004559163,0.009399428,0.015889281,0.021832495,0.089535591,0.363878359,0.486989907,0,0,0,0,0,0,0 +school,FALSE,16,3,0,0,0,0,0,0.008315162,0.022193918,0.007486006,0.004771945,0.02862127,0.176424988,0.75218671,0,0,0,0,0,0,0 +school,FALSE,16,4,0,0,0,0,0,0,0,0.028022669,0.01919336,0.027628588,0.156778381,0.768377001,0,0,0,0,0,0,0 +school,FALSE,17,1,0,0,0,0.00408238,0.006057147,0.001368873,0.003781947,0.013443846,0.020930042,0.105685888,0.191206812,0.133610245,0.51983282,0,0,0,0,0,0 +school,FALSE,17,2,0,0,0,0.004151198,0,0.00388225,0.00967742,0.013025325,0.027213825,0.07090836,0.082650841,0.202645832,0.585844949,0,0,0,0,0,0 +school,FALSE,17,3,0,0,0,0,0,0.003335544,0,0.003254012,0,0.075557182,0.182853928,0.23363666,0.501362673,0,0,0,0,0,0 +school,FALSE,17,4,0,0,0,0,0,0.006781644,0.00413291,0,0,0.007828685,0.092863122,0.424308729,0.46408491,0,0,0,0,0,0 +school,FALSE,18,1,0,0,0,0.004555021,0,0,0.006805278,0.040238758,0.025752449,0.139579581,0.145174267,0.082159935,0.330134952,0.225599759,0,0,0,0,0 +school,FALSE,18,2,0,0,0,0,0,0,0.002018633,0.017639777,0.011559497,0.035110168,0.084872767,0.077914013,0.273264514,0.497620631,0,0,0,0,0 +school,FALSE,18,3,0,0,0,0,0,0,0.002017331,0.006931595,0.009423374,0.041198595,0.078999404,0.039268257,0.366809487,0.455351956,0,0,0,0,0 +school,FALSE,18,4,0,0,0,0,0,0,0,0,0.018561399,0.043258965,0,0.032292792,0.225093524,0.680793321,0,0,0,0,0 +school,FALSE,19,1,0,0,0.012570056,0,0,0,0.016011468,0.016057604,0.07668851,0.134954753,0.226805131,0.045185104,0.119737059,0.1042095,0.247780814,0,0,0,0 +school,FALSE,19,2,0,0,0,0,0,0,0,0,0.035149661,0.079025772,0.252249169,0.074284557,0.168495532,0.132896247,0.257899061,0,0,0,0 +school,FALSE,19,3,0,0,0,0,0,0,0.005256704,0.005256704,0,0.009878056,0.069178911,0.139359082,0.209998751,0.300301838,0.260769954,0,0,0,0 +school,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.022433763,0.009746389,0.043021361,0.243536894,0.681261593,0,0,0,0 +school,FALSE,20,1,0,0,0,0,0,0,0.036381208,0,0.005800614,0.031932891,0.149632504,0.044906251,0.163413396,0.076354612,0.020580741,0.470997783,0,0,0 +school,FALSE,20,2,0,0,0,0.036384497,0,0,0,0.015532617,0.011426107,0.027703676,0.076335086,0.040493411,0.142356662,0.132693585,0.187215615,0.329858743,0,0,0 +school,FALSE,20,3,0,0,0,0,0,0,0,0.03877589,0.045812113,0.065392635,0.101494701,0.055752291,0.061584445,0.034149257,0.28928825,0.307750418,0,0,0 +school,FALSE,20,4,0,0,0,0,0,0,0,0,0.036041044,0,0.141425909,0.042527443,0.019058777,0.102734314,0.237735178,0.420477334,0,0,0 +school,FALSE,21,1,0,0,0,0,0,0,0.029175445,0.047201664,0,0.059213923,0.186189825,0,0.015107113,0,0.014924261,0.246756883,0.401430887,0,0 +school,FALSE,21,2,0,0,0,0,0,0,0.018242295,0,0.051393732,0.017166791,0.159810093,0.01466897,0.065248355,0.019698184,0.082686594,0.128131407,0.442953578,0,0 +school,FALSE,21,3,0,0,0,0,0,0,0,0,0,0.044964736,0,0.026693251,0.075177802,0.03517993,0.025975511,0.337402271,0.4546065,0,0 +school,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0.058839649,0.052164792,0.030967554,0.061935107,0.029419825,0.145827525,0.620845548,0,0 +school,FALSE,22,1,0.023037375,0,0,0,0,0,0,0,0,0.080648327,0.361587215,0.039998637,0.119661147,0.145124395,0.025588201,0,0.115793964,0.088560738,0 +school,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.066321013,0.205698394,0.043934105,0.180253452,0.112019427,0.014897164,0.028012145,0.055418593,0.293445707,0 +school,FALSE,22,3,0,0,0,0.017205445,0,0,0,0,0,0,0,0.072013982,0.171335382,0.018627394,0.235525324,0.014627752,0.218669111,0.25199561,0 +school,FALSE,22,4,0,0,0,0,0,0,0.014630535,0,0,0,0,0,0,0.021783187,0.041931895,0.020148708,0.336082731,0.565422944,0 +school,FALSE,23,1,0,0,0,0,0,0,0,0,0.111780051,0.21697306,0.207813189,0,0.029486875,0.065930991,0.028259313,0.025083791,0.027543321,0.043512885,0.243616523 +school,FALSE,23,2,0,0,0,0,0,0,0,0,0,0.125873532,0.191933649,0.013156926,0.035810782,0.023201345,0,0.03046339,0.176154142,0.116307048,0.287099186 +school,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.39711845,0.032800383,0,0,0.246473294,0,0,0.167995519,0.155612354 +school,FALSE,23,4,0,0,0,0,0,0,0,0,0.313300531,0,0,0,0,0.002398637,0.195897513,0,0.195897513,0.004797275,0.28770853 +escort,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,5,2,0.056858007,0.134308757,0.177188158,0,0,0.13142305,0,0.060572569,0,0.148645889,0.139773895,0.099108225,0,0.048544465,0.003576985,0,0,0,0 +escort,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0.744635807,0,0,0.255364193,0,0,0,0,0 +escort,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0.812216804,0.046945799,0,0.140837397,0,0,0,0,0 +escort,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,6,2,0,0.317902833,0.447578121,0.020114912,0,0,0.053725104,0,0,0.040669001,0.069308805,0.050701225,0,0,0,0,0,0,0 +escort,TRUE,6,3,0,0,0.573662861,0,0,0,0.426337139,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,6,4,0,0,0,0,0,0,0.42115826,0.15768348,0.42115826,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,7,2,0,0,0.142617064,0.38383586,0.072492592,0.032249474,0.032292989,0.061737992,0.014418217,0,0.117686396,0.044994655,0.097674761,0,0,0,0,0,0 +escort,TRUE,7,3,0,0,0,0,0,0.045211707,0,0,0.126121874,0,0.277934232,0.221864174,0,0.328868013,0,0,0,0,0 +escort,TRUE,7,4,0,0,0,0,0,0.046374243,0,0,0.072684124,0,0,0.059438015,0.270430055,0.098354465,0,0.157068569,0,0.295650529,0 +escort,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,8,2,0,0,0,0.321006938,0.473310236,0.008304761,0.028639249,0.02199492,0.016407044,0,0.05343627,0.024107423,0.052793161,0,0,0,0,0,0 +escort,TRUE,8,3,0,0,0,0.32761399,0.648736988,0.023649023,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,8,4,0,0,0,0,0.203285069,0.087659544,0.087659544,0,0.005822781,0,0,0,0.101642534,0.005717855,0.508212672,0,0,0,0 +escort,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,9,2,0,0,0,0,0.320224882,0.267747579,0.099295479,0,0.061354638,0.200251803,0,0,0,0.020258001,0.030867619,0,0,0,0 +escort,TRUE,9,3,0,0,0,0,0,0.432761501,0.214593419,0,0.146040986,0.206604093,0,0,0,0,0,0,0,0,0 +escort,TRUE,9,4,0,0,0,0,0,0,0.1657582,0.096920036,0.259807729,0,0.159171345,0.159171345,0.159171345,0,0,0,0,0,0 +escort,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,10,2,0,0,0,0,0,0.196501921,0.373640136,0.138599097,0.094607199,0.196651647,0,0,0,0,0,0,0,0,0 +escort,TRUE,10,3,0,0,0,0,0,0.116175548,0.44952369,0.143154558,0.097571597,0.14871659,0.044858016,0,0,0,0,0,0,0,0 +escort,TRUE,10,4,0,0,0,0,0,0,0.152413275,0.360078185,0.346132466,0.141376074,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,2,0,0,0,0,0,0,0.236755791,0.714983274,0.028256555,0.02000438,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,3,0,0,0,0,0,0,0,0.379678398,0.448220444,0.172101157,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,12,2,0,0,0,0,0,0,0,0.146819614,0.555791511,0.044450314,0.058009028,0.153878569,0.041050964,0,0,0,0,0,0 +escort,TRUE,12,3,0,0,0,0,0,0,0,0,0.743230427,0.054234351,0.202535221,0,0,0,0,0,0,0,0 +escort,TRUE,12,4,0,0,0,0,0,0,0,0,0,0.132670832,0.867329168,0,0,0,0,0,0,0,0 +escort,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,13,2,0,0,0,0,0,0,0,0,0.092255068,0.585233838,0.30962564,0.012885454,0,0,0,0,0,0,0 +escort,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.671206778,0.328793222,0,0,0,0,0,0,0,0 +escort,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.228972422,0.771027578,0,0,0,0,0,0,0,0 +escort,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +escort,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.562794406,0.331440849,0.082858701,0,0.022906044,0,0,0,0,0 +escort,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.645172877,0.181000922,0.173826201,0,0,0,0,0,0 +escort,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0,0.753171928,0.246828072,0,0,0,0,0,0 +escort,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +escort,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.201660218,0.766732321,0.031607461,0,0,0,0,0,0 +escort,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.299056486,0.074996412,0.41897627,0.206970833,0,0,0,0,0 +escort,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.150453054,0.849546946,0,0,0,0,0 +escort,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +escort,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.579038356,0.255758044,0.165203599,0,0,0,0,0 +escort,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.035336994,0.238269535,0.726393471,0,0,0,0,0 +escort,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +escort,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +escort,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.197118737,0.703970119,0.036315607,0.026383772,0.036211766,0,0 +escort,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.427169666,0.572830334,0,0,0,0 +escort,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +escort,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +escort,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185479472,0.434361919,0.338714329,0.041444281,0,0 +escort,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78249237,0.21750763,0,0,0 +escort,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.823014212,0.176985788,0 +escort,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +escort,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.285555275,0.649528389,0.064916336,0,0 +escort,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +escort,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199542785,0.800457215,0,0 +escort,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,1,0.040029892,0.959970108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,1,0,0.020969803,0.979030197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,1,0,0,0.118338551,0.881661449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,2,0,0,0.034411699,0.965588301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,1,0,0,0.004282148,0.282836493,0.71288136,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,2,0,0,0,0.171647398,0.828352602,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,3,0,0,0,0.21068634,0.78931366,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,4,0,0,0,0.019911517,0.980088483,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,1,0,0,0.018159729,0.078956734,0.236267706,0.66661583,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,2,0,0,0,0.138185723,0.240772266,0.621042011,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,3,0,0,0.040625092,0.114436303,0.44797514,0.396963465,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,4,0,0,0,0,0.181720167,0.818279833,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,1,0,0,0,0.031917445,0.047683392,0.099924869,0.820474293,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,2,0,0,0,0,0.020814603,0.392076313,0.587109083,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,3,0,0,0,0,0.032514248,0.315393925,0.652091828,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,4,0,0,0,0,0,0.249548162,0.750451838,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,1,0,0,0,0.018963707,0.021920487,0.031520436,0.140654387,0.786940984,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,2,0,0,0,0.03235256,0.042149511,0.05052472,0.131440073,0.743533136,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,3,0,0,0,0.050468014,0,0.017084057,0.229496221,0.702951708,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,4,0,0,0,0,0.048745163,0,0.147271645,0.803983192,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,1,0,0,0.002941942,0.022003062,0.00551188,0.013544069,0.038590922,0.171545199,0.745862927,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,2,0,0,0,0.015043096,0.006073583,0.009841677,0.054297211,0.176600055,0.738144378,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,3,0,0,0,0.021105735,0,0,0.046096397,0.122921811,0.809876056,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,4,0,0,0,0,0,0,0,0.099840566,0.900159434,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,1,0,0,0,0.048520661,0,0,0.016138911,0.044713809,0.085550978,0.805075641,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,2,0,0,0,0.009564053,0.153251843,0,0,0.114426845,0.102407993,0.620349267,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,3,0,0,0,0,0,0,0.013997667,0.033806812,0.25169859,0.700496931,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,4,0,0,0,0,0,0,0,0.031515821,0.082969823,0.885514356,0,0,0,0,0,0,0,0,0 +escort,FALSE,15,1,0.001473284,0.001275418,0.003819369,0.008997,0.006335419,0.008570073,0.003284399,0.001014618,0.005676659,0.244506482,0.715047279,0,0,0,0,0,0,0,0 +escort,FALSE,15,2,0.004847658,0.004196604,0.007080083,0.006185119,0.01421088,0,0.026061603,0.014229404,0.009049421,0.195982731,0.718156496,0,0,0,0,0,0,0,0 +escort,FALSE,15,3,0,0.012564661,0,0,0,0.021197818,0.014513923,0.011367283,0.031969048,0.126086289,0.782300976,0,0,0,0,0,0,0,0 +escort,FALSE,15,4,0,0,0,0,0,0.027149505,0.045738486,0.027149505,0.029117725,0.13954129,0.731303489,0,0,0,0,0,0,0,0 +escort,FALSE,16,1,0.00200405,0.001051772,0.006771555,0.00180834,0.015487237,0.019320069,0.003963644,0.003467036,0,0.014608191,0.140235591,0.791282514,0,0,0,0,0,0,0 +escort,FALSE,16,2,0,0,0,0.006365421,0.007122206,0.007817846,0.005072611,0.002561853,0.010562285,0.011331327,0.163631956,0.785534495,0,0,0,0,0,0,0 +escort,FALSE,16,3,0,0,0,0,0,0,0.013949693,0.015608287,0.031607957,0.045248859,0.086738092,0.806847112,0,0,0,0,0,0,0 +escort,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.176949473,0.823050527,0,0,0,0,0,0,0 +escort,FALSE,17,1,0,0.001885858,0.014135456,0.015985525,0.002552119,0,0,0.002305352,0,0.019788158,0.05304134,0.114790493,0.775515701,0,0,0,0,0,0 +escort,FALSE,17,2,0,0,0.01612501,0.004912147,0,0,0,0,0.006052735,0,0.066169183,0.192117368,0.714623557,0,0,0,0,0,0 +escort,FALSE,17,3,0,0,0,0,0,0,0,0,0,0.020217729,0.029305934,0.331354145,0.619122192,0,0,0,0,0,0 +escort,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0.06461582,0.084856782,0.850527398,0,0,0,0,0,0 +escort,FALSE,18,1,0,0.005432163,0.038940224,0.026689744,0.058158769,0,0.034797386,0,0,0.003175997,0.015025769,0.011190666,0.133413828,0.673175452,0,0,0,0,0 +escort,FALSE,18,2,0.006475372,0,0.028703811,0,0.057765487,0,0.00513516,0.012023268,0,0.005808733,0.027224281,0.023941956,0.217891148,0.615030786,0,0,0,0,0 +escort,FALSE,18,3,0,0,0,0,0,0,0,0.023354896,0,0,0.010873824,0.043494105,0.216938965,0.70533821,0,0,0,0,0 +escort,FALSE,18,4,0,0,0,0,0,0,0,0,0,0.030910531,0.015455265,0.036197751,0.134169828,0.783266626,0,0,0,0,0 +escort,FALSE,19,1,0,0,0.015759767,0.084811588,0,0.002872924,0,0.006556512,0.028956925,0.008237531,0,0.012966642,0.041318552,0.134584946,0.663934612,0,0,0,0 +escort,FALSE,19,2,0,0,0,0.041554494,0,0,0,0.005100141,0.012765195,0.005414707,0,0.027095562,0.040399,0.160510182,0.707160719,0,0,0,0 +escort,FALSE,19,3,0,0,0,0.042762147,0,0,0,0,0,0,0,0.118635541,0.138902724,0.131182018,0.568517571,0,0,0,0 +escort,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0.033575497,0.22070458,0.745719923,0,0,0,0 +escort,FALSE,20,1,0,0,0,0,0.076554131,0,0.004387939,0,0.005379578,0,0,0.005770825,0.013203816,0.052748034,0.038731746,0.80322393,0,0,0 +escort,FALSE,20,2,0,0,0,0,0,0,0.012675397,0,0,0,0.015539935,0,0.0372498,0.038141734,0.263200874,0.63319226,0,0,0 +escort,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0.142988825,0.070710819,0.050794946,0.73550541,0,0,0 +escort,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054259213,0.205166313,0.740574475,0,0,0 +escort,FALSE,21,1,0,0,0,0.009094963,0.016533621,0,0,0,0,0.037489891,0.01972214,0.048167746,0,0.021841243,0.064693921,0.167744598,0.614711876,0,0 +escort,FALSE,21,2,0,0,0.010099315,0,0,0.041511619,0,0,0.014099016,0.047958493,0,0,0.074669665,0,0.04646442,0.263279058,0.501918415,0,0 +escort,FALSE,21,3,0,0,0.017776541,0,0,0,0,0,0,0,0.024816708,0,0.07306763,0.131431527,0.035447508,0.193292186,0.5241679,0,0 +escort,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.022628167,0,0.052756196,0.032321457,0.080116339,0.812177841,0,0 +escort,FALSE,22,1,0,0,0,0.113172185,0,0,0,0,0,0.026397261,0.044886063,0,0,0.019218468,0.004386306,0.028722261,0.247924763,0.515292694,0 +escort,FALSE,22,2,0,0,0,0,0,0,0.18017321,0,0,0,0,0.074732757,0,0.107022619,0.042577452,0.038743506,0.038743506,0.518006951,0 +escort,FALSE,22,3,0,0,0,0,0,0,0.267409489,0,0,0,0,0,0,0,0.015267396,0.143659747,0.183067852,0.390595517,0 +escort,FALSE,22,4,0,0,0,0,0,0,0,0.234024187,0.234024187,0,0,0,0,0,0,0,0.303429308,0.228522318,0 +escort,FALSE,23,1,0,0,0,0,0,0,0,0.008127027,0.007835463,0.151355656,0,0.052450125,0.03651837,0.092153785,0.022741195,0,0.087045131,0.09410699,0.447666258 +escort,FALSE,23,2,0,0,0,0,0,0,0,0.038717113,0,0.014072799,0.013520577,0.321560091,0.117135518,0.10301486,0.065001842,0,0.046587075,0.02971575,0.250674374 +escort,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.026894061,0.13703111,0,0.082687611,0.04923207,0,0.121213706,0.200076012,0.38286543 +escort,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.049644185,0,0,0,0,0,0.09087828,0.241408525,0.61806901 +shopping,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,5,2,0,0.18855969,0.026231205,0,0.018666624,0.036855114,0.01579057,0.02877734,0,0.008686294,0.03735935,0.062874703,0.02993166,0.13469908,0.360321567,0.051246804,0,0,0 +shopping,TRUE,5,3,0,0,0,0,0.061551337,0,0.071672554,0.060629628,0,0,0.091646938,0.65884087,0,0,0,0.055658673,0,0,0 +shopping,TRUE,5,4,0,0,0,0,0,0,0.063047092,0,0,0.063047092,0,0.063047092,0.096265448,0.600570816,0,0.05701123,0,0,0.05701123 +shopping,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,6,2,0,0.236185322,0.189345656,0.027307243,0,0.09795574,0.025679731,0.06524777,0,0.065782608,0.146681657,0.061307682,0.084506592,0,0,0,0,0,0 +shopping,TRUE,6,3,0,0.122362042,0,0.056125397,0,0.3786476,0,0,0.104941475,0,0,0.337923485,0,0,0,0,0,0,0 +shopping,TRUE,6,4,0,0,0,0,0,0.333126,0,0.333126,0,0,0,0.215517962,0.061611625,0.056618413,0,0,0,0,0 +shopping,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,7,2,0,0,0.137784762,0.347610842,0.133435005,0.027404455,0.039144758,0.071879163,0.050738746,0,0.035619826,0.112566834,0,0.017941118,0.01764776,0.008226732,0,0,0 +shopping,TRUE,7,3,0,0,0.118039813,0.173078319,0.187104935,0.14629093,0.052634804,0.10898427,0,0,0,0.168712159,0.045154769,0,0,0,0,0,0 +shopping,TRUE,7,4,0,0,0,0.044071544,0,0.113245235,0,0,0,0,0.055926536,0.110694997,0.261835563,0.414226125,0,0,0,0,0 +shopping,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,8,2,0,0,0,0.216420344,0.444754798,0.146005729,0.070193472,0.027780288,0.022919028,0,0.028031874,0,0.017321534,0.012974919,0,0,0,0.013598014,0 +shopping,TRUE,8,3,0,0,0,0.11915052,0.47354413,0.131084867,0.131912474,0.029942334,0.092204361,0.012421891,0,0,0,0.009739424,0,0,0,0,0 +shopping,TRUE,8,4,0,0,0,0.091488151,0.546318896,0.031542872,0.035173262,0.043158455,0.069562754,0.074293154,0.014133102,0.01007907,0.063090109,0.011081104,0,0.01007907,0,0,0 +shopping,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,9,2,0,0,0,0,0.25829748,0.338424677,0.195615866,0.063977369,0.037499937,0.014738329,0.047325307,0,0.015434424,0.020988402,0.007698208,0,0,0,0 +shopping,TRUE,9,3,0,0,0,0,0.092189784,0.255069356,0.282966449,0.075774276,0.085242805,0.057005967,0.019307332,0.104848677,0,0.027595353,0,0,0,0,0 +shopping,TRUE,9,4,0,0,0,0,0,0.086253583,0.235736082,0.217929307,0.026367245,0.066851523,0.150316009,0.167128809,0,0.049417443,0,0,0,0,0 +shopping,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,10,2,0,0,0,0,0,0.447429351,0.377114876,0.1219042,0.01784823,0.022881298,0.007112195,0.00570985,0,0,0,0,0,0,0 +shopping,TRUE,10,3,0,0,0,0,0,0.203895878,0.380391288,0.125413278,0.121084198,0.097085986,0.03993943,0.032189942,0,0,0,0,0,0,0 +shopping,TRUE,10,4,0,0,0,0,0,0.026436932,0.286895016,0.076810524,0.38619219,0.152227751,0.048029261,0,0.023408325,0,0,0,0,0,0 +shopping,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,11,2,0,0,0,0,0,0,0.321289054,0.351540642,0.130487047,0.150332918,0.014224049,0.004332814,0.027793477,0,0,0,0,0,0 +shopping,TRUE,11,3,0,0,0,0,0,0,0.22652124,0.229119163,0.279822494,0.140263855,0.09076511,0.017983211,0,0.015524928,0,0,0,0,0 +shopping,TRUE,11,4,0,0,0,0,0,0,0.060435728,0,0.337860558,0.382359867,0.089042433,0.089042433,0,0,0,0.041258981,0,0,0 +shopping,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,12,2,0,0,0,0,0,0,0,0.327958916,0.465492803,0.141109297,0.020542537,0.022498994,0.01140431,0.010993144,0,0,0,0,0 +shopping,TRUE,12,3,0,0,0,0,0,0,0,0.178317517,0.451517182,0.27737762,0.065198536,0,0.009801894,0.017787251,0,0,0,0,0 +shopping,TRUE,12,4,0,0,0,0,0,0,0,0,0.213180964,0.240910483,0.152246297,0.393662256,0,0,0,0,0,0,0 +shopping,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,13,2,0,0,0,0,0,0,0,0,0.508107696,0.321685937,0.081799219,0.061327596,0.027079551,0,0,0,0,0,0 +shopping,TRUE,13,3,0,0,0,0,0,0,0,0,0.177195753,0.267607099,0.084531289,0.424560684,0.014787439,0.031317737,0,0,0,0,0 +shopping,TRUE,13,4,0,0,0,0,0,0,0,0,0.263218395,0.402482495,0.061208389,0.185818041,0,0,0,0.087272681,0,0,0 +shopping,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +shopping,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.438870825,0.372372041,0.160848114,0.021826983,0,0,0.006082036,0,0,0 +shopping,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.017173884,0.628449853,0.104128183,0.031161272,0,0,0.10714611,0.111940698,0,0 +shopping,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.490831445,0,0,0,0,0.254584278,0.254584278,0,0 +shopping,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +shopping,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.261294755,0.632140733,0.068294747,0.038269765,0,0,0,0,0 +shopping,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.150837677,0.364045291,0.292150535,0.06771696,0,0.125249537,0,0,0 +shopping,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.36746411,0,0.075770875,0,0.278382507,0.278382507,0,0 +shopping,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +shopping,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.554781367,0.360878736,0.067834102,0.016505795,0,0,0,0 +shopping,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.327593582,0.637795928,0.034610489,0,0,0,0,0 +shopping,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0.076274354,0.757840172,0.055295158,0.110590316,0,0,0,0 +shopping,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +shopping,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.281133857,0.595643382,0.100047971,0,0.023174789,0,0 +shopping,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.517896269,0.345741974,0.070632988,0,0,0.065728769,0 +shopping,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.783800606,0,0.072066465,0.144132929,0,0 +shopping,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +shopping,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.299407159,0.536590408,0.150080831,0.013921602,0,0 +shopping,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192023096,0.807976904,0,0,0,0 +shopping,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.221357455,0.693718463,0.084924082,0,0 +shopping,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.905321875,0.094678125,0,0 +shopping,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.768749763,0.231250237,0 +shopping,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,2,0,0,0.057856159,0.942143841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,1,0,0,0,0.063004812,0.936995188,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,2,0,0,0,0.215154916,0.784845084,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,1,0,0,0,0.034621691,0.199730362,0.765647947,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,2,0,0,0,0.013947823,0.249445429,0.736606748,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,3,0,0,0,0,0.263792407,0.736207593,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,4,0,0,0,0,0.190842252,0.809157748,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,1,0,0,0,0,0.017620786,0.158923567,0.823455647,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,2,0,0,0,0,0.004541602,0.230049175,0.765409223,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,3,0,0,0,0,0,0.338910752,0.661089248,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,4,0,0,0,0,0,0.150257604,0.849742396,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,1,0,0,0.002514383,0,0.039915577,0.051276757,0.273727641,0.632565641,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,2,0,0,0,0,0.039730806,0.073816678,0.261462334,0.624990182,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,3,0,0,0,0,0.004430216,0.044433351,0.292333728,0.658802706,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,4,0,0,0,0,0,0.035609316,0.240024471,0.724366213,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,1,0,0,0,0,0.002652468,0.017076075,0.03891727,0.241051111,0.700303076,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,2,0,0,0,0,0.008356207,0.019728013,0.123359666,0.171778982,0.676777133,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,3,0,0,0,0,0.019588158,0,0.046245315,0.40772273,0.526443797,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,4,0,0,0,0,0.025743876,0.051487752,0.032165405,0.12492976,0.765673208,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,1,0,0,0,0.014322812,0.008308251,0.005594512,0.016143904,0.130012933,0.19330349,0.632314098,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,2,0,0,0,0.005506763,0.021606723,0.003403522,0.013852092,0.106618856,0.339860692,0.509151352,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,3,0,0,0,0.011027918,0,0.003096348,0.058586882,0.104167817,0.217735941,0.605385093,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,4,0,0,0,0.01227549,0,0.019168758,0.003446634,0.105336725,0.267971535,0.591800858,0,0,0,0,0,0,0,0,0 +shopping,FALSE,15,1,0,0,0,0,0.004254425,0.009138,0.019091237,0.013981558,0.039120881,0.34948947,0.564924428,0,0,0,0,0,0,0,0 +shopping,FALSE,15,2,0,0,0,0,0.001627899,0.009215496,0.004903293,0.002308669,0.07302082,0.221873866,0.687049956,0,0,0,0,0,0,0,0 +shopping,FALSE,15,3,0,0,0,0,0.003142874,0,0.025204014,0,0.04008905,0.235602582,0.69596148,0,0,0,0,0,0,0,0 +shopping,FALSE,15,4,0,0,0,0,0,0,0.004328876,0.008657753,0,0.285614869,0.701398502,0,0,0,0,0,0,0,0 +shopping,FALSE,16,1,0,0,0,0.000878576,0.003497576,0.021588157,0.009216937,0.008217315,0.002448233,0.048046219,0.232893086,0.673213901,0,0,0,0,0,0,0 +shopping,FALSE,16,2,0,0,0,0,0,0.035847568,0.011510797,0.014922592,0.020904683,0.052635454,0.243160325,0.62101858,0,0,0,0,0,0,0 +shopping,FALSE,16,3,0,0,0,0,0,0.051361483,0.00311995,0,0.051491012,0.042960512,0.192617192,0.658449851,0,0,0,0,0,0,0 +shopping,FALSE,16,4,0,0,0,0,0,0.046465728,0.002556214,0.025713434,0.038861358,0.073644993,0.248297436,0.564460837,0,0,0,0,0,0,0 +shopping,FALSE,17,1,0,0.002208578,0.009311633,0.01738702,0.001331755,0.005016926,0.003171846,0.006879148,0.001436793,0.027480637,0.058941124,0.29462051,0.572214029,0,0,0,0,0,0 +shopping,FALSE,17,2,0,0,0,0,0,0,0.010344283,0.037939171,0.039422982,0.026045212,0.06114443,0.190229666,0.634874255,0,0,0,0,0,0 +shopping,FALSE,17,3,0,0,0,0,0.007721229,0,0.011554543,0.070232976,0.032812162,0.025350429,0.070540072,0.236685334,0.545103256,0,0,0,0,0,0 +shopping,FALSE,17,4,0,0,0,0,0,0.006990598,0.033455447,0.006990598,0,0.064675896,0.055525232,0.171396816,0.660965415,0,0,0,0,0,0 +shopping,FALSE,18,1,0,0.033355807,0,0.001892316,0.00090772,0.004904866,0.001167821,0.016722263,0.003141548,0.002779365,0.024569171,0.061842541,0.271632599,0.577083981,0,0,0,0,0 +shopping,FALSE,18,2,0,0.075251856,0,0.017407741,0,0,0.005067103,0.012905849,0.043130871,0.028315061,0.006542046,0.109303095,0.166027278,0.536049102,0,0,0,0,0 +shopping,FALSE,18,3,0,0,0,0,0,0,0,0,0,0.066490049,0.057249304,0.237270804,0.359314757,0.279675086,0,0,0,0,0 +shopping,FALSE,18,4,0,0,0,0,0,0,0.007859239,0,0.011296648,0.003929619,0.099720544,0.061193285,0.240312145,0.575688521,0,0,0,0,0 +shopping,FALSE,19,1,0,0.002312931,0.007027556,0.00055146,0,0.020661977,0,0,0.011821234,0.002688782,0.004292928,0.007532001,0.051155819,0.156901174,0.735054139,0,0,0,0 +shopping,FALSE,19,2,0,0,0,0,0,0,0,0.003320994,0.005290597,0.01358355,0.003788453,0.020449742,0.075630163,0.221134543,0.656801959,0,0,0,0 +shopping,FALSE,19,3,0,0,0,0,0,0,0.014614817,0,0,0.020347906,0.008733406,0,0.047735668,0.374113208,0.534454996,0,0,0,0 +shopping,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.020864671,0.058211406,0.120273738,0.204544879,0.596105306,0,0,0,0 +shopping,FALSE,20,1,0,0,0,0,0,0.001536146,0,0.001675312,0,0,0,0,0,0.047561031,0.181509603,0.767717908,0,0,0 +shopping,FALSE,20,2,0,0,0,0,0,0.00331683,0,0.004518272,0.00566615,0,0.002748233,0,0.008286949,0.051482817,0.259536082,0.664444667,0,0,0 +shopping,FALSE,20,3,0,0,0,0,0,0,0,0.011858233,0.008705041,0,0.022083602,0.018110733,0,0.035127515,0.143310213,0.760804664,0,0,0 +shopping,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.03498938,0.040641133,0.145381408,0.371268099,0.407719981,0,0,0 +shopping,FALSE,21,1,0,0,0,0,0,0,0,0.004266615,0.002430883,0,0.007940168,0.009395117,0.021163822,0.046202149,0.053837474,0.173465177,0.681298593,0,0 +shopping,FALSE,21,2,0,0,0,0,0,0,0.007985058,0.003444064,0.007416145,0,0.004827496,0.003843961,0.059108441,0.050308287,0.078478176,0.182109604,0.602478768,0,0 +shopping,FALSE,21,3,0,0,0,0,0,0,0,0,0.037797058,0.007828278,0.02376667,0.011687609,0,0.020240379,0.189418946,0.098165754,0.611095305,0,0 +shopping,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.019033172,0,0.01121107,0.036432132,0.018720166,0.031263843,0.186160383,0.697179234,0,0 +shopping,FALSE,22,1,0,0,0,0,0,0.018041153,0,0,0,0,0,0,0.009811009,0.008718506,0.044707222,0.097289219,0.453480605,0.367952287,0 +shopping,FALSE,22,2,0,0,0,0,0,0.014478651,0,0,0.00946373,0,0,0.015817118,0.022169677,0.014478651,0,0.0282764,0.258592224,0.63672355,0 +shopping,FALSE,22,3,0,0,0,0,0,0,0,0,0.017617342,0.054918813,0,0,0,0.029444584,0.095176163,0,0,0.802843098,0 +shopping,FALSE,22,4,0,0,0,0,0,0,0,0,0.020680151,0,0,0.158687133,0,0.087459292,0.073575862,0.034563581,0.293241585,0.331792395,0 +shopping,FALSE,23,1,0,0,0,0.023821741,0,0,0,0.039038004,0.026879421,0,0.010904146,0.018269598,0.019509677,0.079126477,0.035829398,0.029321261,0,0.084296742,0.633003535 +shopping,FALSE,23,2,0,0.103799266,0,0,0.011152724,0,0,0.015806724,0.046340267,0.023976697,0.037355147,0,0.054819521,0.059060036,0.061565304,0.051303212,0.00884805,0.147229688,0.378743364 +shopping,FALSE,23,3,0,0,0,0,0.155683525,0,0,0,0.034179578,0,0,0.080880151,0,0.080591686,0.03920938,0.158345959,0.053129458,0.120909369,0.277070893 +shopping,FALSE,23,4,0,0,0,0,0,0.157154735,0.078577368,0.196443419,0.047914328,0.039288684,0.12397869,0.009075333,0,0.026776309,0.014018049,0.026776309,0.008914443,0.067449234,0.2036331 +othmaint,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,5,2,0,0.040658727,0.120399874,0.213344233,0.111017831,0.079889013,0.042291218,0,0.204453217,0,0,0.104955464,0.082990423,0,0,0,0,0,0 +othmaint,TRUE,5,3,0,0,0,0,0,0,0,0.287213384,0,0,0,0,0.712786616,0,0,0,0,0,0 +othmaint,TRUE,5,4,0,0,0,0,0,0,0,0,0.124355516,0.248711031,0,0,0.105129078,0,0.521804375,0,0,0,0 +othmaint,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,6,2,0,0,0.235488214,0.357403945,0.125753019,0,0,0.078259791,0,0.046555016,0.11357777,0.042962245,0,0,0,0,0,0,0 +othmaint,TRUE,6,3,0,0,0.326226519,0,0,0,0,0.174974691,0,0.373408666,0.125390124,0,0,0,0,0,0,0,0 +othmaint,TRUE,6,4,0,0,0,0,0,0,0.051430893,0.051430893,0,0.213968684,0.153518801,0.186667766,0.102982298,0.145655522,0,0.042793737,0.051551405,0,0 +othmaint,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,7,2,0,0,0.161965305,0.560535311,0.143218808,0.033324008,0.013918476,0.026127179,0.005375436,0,0.011132734,0.01156894,0.02310162,0,0.009732183,0,0,0,0 +othmaint,TRUE,7,3,0,0,0.113525478,0.598967516,0.089069194,0.080738894,0,0.030379017,0,0,0.0168487,0.017349938,0.019216267,0.018737763,0,0,0.015167234,0,0 +othmaint,TRUE,7,4,0,0,0.067302976,0.204351658,0.170979792,0.399761316,0.008551266,0.113238461,0,0,0,0,0,0.035814532,0,0,0,0,0 +othmaint,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,8,2,0,0,0,0.275563345,0.484065773,0.083338937,0.065284531,0.034854754,0.014700638,0.02595601,0.016236011,0,0,0,0,0,0,0,0 +othmaint,TRUE,8,3,0,0,0,0.256465635,0.196396681,0.177854408,0.122055686,0.028927661,0.08283666,0.079901924,0.043539857,0.012021488,0,0,0,0,0,0,0 +othmaint,TRUE,8,4,0,0,0,0,0.028047731,0,0.350951603,0,0.149252856,0.30289175,0,0.04635913,0.122496929,0,0,0,0,0,0 +othmaint,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,9,2,0,0,0,0,0.230097736,0.368638076,0.127385774,0.016744897,0.150776775,0,0,0.007474052,0.098882689,0,0,0,0,0,0 +othmaint,TRUE,9,3,0,0,0,0,0,0.231740286,0.127213569,0.112305301,0.189734694,0.10677054,0.198766593,0.033469018,0,0,0,0,0,0,0 +othmaint,TRUE,9,4,0,0,0,0,0,0,0.34116944,0,0.583836564,0.074993995,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,2,0,0,0,0,0,0.286259076,0.537234442,0.142887206,0.033619275,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,3,0,0,0,0,0,0.164777982,0.52409087,0.14628494,0.049989666,0,0.114856542,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,2,0,0,0,0,0,0,0.473598812,0.258143996,0.104686693,0.141192999,0.022377501,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,3,0,0,0,0,0,0,0.72551892,0.190277137,0.084203943,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,4,0,0,0,0,0,0,0,0,0,0.305927706,0.347036147,0,0,0,0,0,0.347036147,0,0 +othmaint,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,12,2,0,0,0,0,0,0,0,0.545682141,0.314476787,0.053501749,0.03851823,0.047821093,0,0,0,0,0,0,0 +othmaint,TRUE,12,3,0,0,0,0,0,0,0,0.214651848,0.46388943,0.061966411,0.132775585,0.126716726,0,0,0,0,0,0,0 +othmaint,TRUE,12,4,0,0,0,0,0,0,0,0,0.127956328,0,0,0.576495171,0,0.295548501,0,0,0,0,0 +othmaint,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,2,0,0,0,0,0,0,0,0,0.323941314,0.585102169,0.090956518,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,3,0,0,0,0,0,0,0,0,0.072453359,0.780993759,0.146552882,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.222472025,0.777527975,0,0,0,0,0,0,0,0 +othmaint,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.256222437,0.654201082,0.071103851,0.01847263,0,0,0,0,0,0 +othmaint,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.11860694,0.44971127,0.431681789,0,0,0,0,0,0,0 +othmaint,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.436444767,0.563555233,0,0,0,0,0,0,0 +othmaint,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.593763081,0.406236919,0,0,0,0,0,0,0 +othmaint,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othmaint,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.854510215,0.145489785,0,0,0,0,0,0 +othmaint,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.724085091,0,0.275914909,0,0,0,0,0 +othmaint,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othmaint,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.172124075,0.213012548,0.614863377,0,0,0,0 +othmaint,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098642817,0.901357183,0,0,0,0 +othmaint,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.270651613,0.600738159,0.128610228,0,0 +othmaint,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.771681706,0,0.228318294,0 +othmaint,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,1,0.09071969,0.90928031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,1,0,0.075063017,0.924936983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,1,0,0,0.072655068,0.927344932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,1,0,0,0.013631489,0.161967148,0.824401363,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,1,0,0,0,0.037502157,0.312567208,0.649930634,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,2,0,0,0,0,0.275988767,0.724011233,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,3,0,0,0,0,0.15552038,0.84447962,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,4,0,0,0,0,0.144245586,0.855754414,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,1,0,0,0,0,0.03338987,0.26489836,0.70171177,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,2,0,0,0,0,0.010989916,0.227634382,0.761375703,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,3,0,0,0,0,0,0.026011355,0.973988645,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,4,0,0,0,0,0,0.107851024,0.892148976,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,1,0,0,0,0.010158031,0.022913155,0.102307429,0.377078058,0.487543327,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,2,0,0,0,0,0,0.108745958,0.2159873,0.675266742,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,3,0,0,0,0,0,0.06065237,0.336243242,0.603104388,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,4,0,0,0,0,0,0.013311396,0.19774252,0.788946084,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,1,0,0,0,0,0.031249299,0.047260258,0.081354892,0.353123741,0.48701181,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,2,0,0,0,0,0.036088554,0.047323035,0.099280114,0.282440914,0.534867384,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,3,0,0,0,0.022092503,0,0.023342697,0.218332277,0.130650891,0.605581632,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,4,0,0,0,0,0,0,0.007598622,0.247081366,0.745320012,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,1,0,0,0,0,0.008432907,0.019241437,0.053781383,0.07753638,0.180423206,0.660584686,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,2,0,0,0,0,0,0.014889748,0.058818026,0.03592279,0.279517106,0.610852331,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,3,0,0,0,0,0,0.025148147,0.044798265,0.019855411,0.184100242,0.726097934,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,4,0,0,0,0,0,0.025559931,0.089028487,0.037908626,0.118966776,0.72853618,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,1,0,0,0.014080554,0,0.010260757,0.018416064,0.003200712,0.030725966,0.060405447,0.322996101,0.5399144,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,2,0,0,0,0.007837984,0.007663278,0.013198261,0,0.009670767,0.043030366,0.15942745,0.759171894,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,3,0,0,0,0,0.009630972,0,0.006337143,0.101481335,0.066736017,0.096321205,0.719493328,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,4,0,0,0,0,0,0,0,0.013528329,0.062228479,0.089319428,0.834923764,0,0,0,0,0,0,0,0 +othmaint,FALSE,16,1,0,0,0.006200413,0.004986933,0,0.010337749,0.015781258,0.022349724,0.011320009,0.0610877,0.263854949,0.604081265,0,0,0,0,0,0,0 +othmaint,FALSE,16,2,0,0,0.006875165,0,0,0.004755274,0.004846065,0.041322108,0.062817829,0.084403941,0.210011072,0.584968544,0,0,0,0,0,0,0 +othmaint,FALSE,16,3,0,0,0,0,0,0.003750011,0,0.038367203,0,0.081124439,0.173167838,0.703590508,0,0,0,0,0,0,0 +othmaint,FALSE,16,4,0,0,0,0,0,0,0,0.012408147,0.035652064,0.083467534,0.198538722,0.669933533,0,0,0,0,0,0,0 +othmaint,FALSE,17,1,0,0,0,0.020552867,0,0.005813725,0.002732148,0.008782581,0.005357107,0.029100301,0.080364833,0.302512654,0.544783785,0,0,0,0,0,0 +othmaint,FALSE,17,2,0,0,0,0,0.026548466,0.003679274,0.009319631,0,0.042518808,0.029889235,0.080550404,0.277668263,0.52982592,0,0,0,0,0,0 +othmaint,FALSE,17,3,0,0,0,0,0.009271174,0,0.054663157,0,0.016257561,0.01488333,0.09396777,0.266410029,0.544546979,0,0,0,0,0,0 +othmaint,FALSE,17,4,0,0,0,0,0,0.007066116,0.007066116,0.06151997,0.066639666,0.049844639,0.033402711,0.146764167,0.627696614,0,0,0,0,0,0 +othmaint,FALSE,18,1,0,0,0.00220337,0.003892833,0.007889226,0.016688123,0.035048075,0.024546837,0,0.00815882,0.035392235,0.148091146,0.276111609,0.441977726,0,0,0,0,0 +othmaint,FALSE,18,2,0,0,0,0,0,0.065300384,0.006485915,0.052781714,0.048191377,0.040820218,0,0.162432484,0.05438396,0.569603948,0,0,0,0,0 +othmaint,FALSE,18,3,0,0,0,0,0.017320219,0.031548823,0.022330672,0.091457847,0,0.019713885,0.042008327,0.218018162,0.200579611,0.357022454,0,0,0,0,0 +othmaint,FALSE,18,4,0,0,0,0,0.016419136,0,0.00528573,0.020252478,0,0.100415264,0.03805733,0.105531305,0.176732756,0.537306,0,0,0,0,0 +othmaint,FALSE,19,1,0,0,0,0,0.010727452,0,0.008098901,0.019233131,0.013852404,0.004645853,0.013295603,0.080270768,0.078632583,0.187569198,0.583674107,0,0,0,0 +othmaint,FALSE,19,2,0,0,0,0,0.049239842,0.011428143,0,0,0.026241801,0.041108511,0.013964285,0.025063837,0,0.310631722,0.522321858,0,0,0,0 +othmaint,FALSE,19,3,0,0,0,0,0,0.086744587,0,0,0,0.016477125,0.041531547,0.015283398,0.017093713,0.105309634,0.717559996,0,0,0,0 +othmaint,FALSE,19,4,0,0,0,0,0,0.069764219,0.069764219,0,0,0.104847005,0,0.033271814,0.058783522,0.247218312,0.416350909,0,0,0,0 +othmaint,FALSE,20,1,0,0,0,0,0,0,0.01242339,0.005336417,0.044409284,0.029249865,0.011600679,0.028809843,0.016252507,0.030331787,0.287705325,0.533880904,0,0,0 +othmaint,FALSE,20,2,0,0,0,0,0,0,0,0,0.032990066,0.012593317,0,0.052304607,0.150427735,0.026510728,0.302582814,0.422590733,0,0,0 +othmaint,FALSE,20,3,0,0,0,0,0,0,0,0.023039668,0.024925805,0.022055308,0.053273572,0.028755337,0.017687898,0.157803915,0.245882825,0.426575672,0,0,0 +othmaint,FALSE,20,4,0,0,0,0,0,0,0,0.009174883,0.009174883,0.039703931,0.032564469,0.051766512,0.025425007,0.0614869,0.641240832,0.129462584,0,0,0 +othmaint,FALSE,21,1,0,0.025380051,0.006505038,0,0,0,0,0,0,0.034497668,0.005372141,0.00750697,0.322054018,0.02041747,0.056367039,0.277982219,0.243917386,0,0 +othmaint,FALSE,21,2,0,0,0,0,0.006399766,0.007749372,0,0,0,0.006917002,0,0.046305978,0.04149865,0,0.351103334,0.214319682,0.325706214,0,0 +othmaint,FALSE,21,3,0,0,0,0,0,0,0.011775898,0.022192712,0.017562682,0,0,0.024503537,0,0.080192747,0.349550204,0.39894732,0.095274901,0,0 +othmaint,FALSE,21,4,0,0,0,0,0,0,0.012259416,0,0.035363359,0.018283805,0.073556494,0.018283805,0.057647363,0.014844726,0.042237266,0.375692888,0.351830879,0,0 +othmaint,FALSE,22,1,0,0,0,0,0,0,0,0.056847728,0,0.047979687,0,0,0.057283827,0,0.024129278,0.031974532,0.16735598,0.614428968,0 +othmaint,FALSE,22,2,0,0,0,0,0,0,0,0,0.161289071,0.04650851,0,0,0.16212443,0.112102538,0,0,0.142577705,0.375397745,0 +othmaint,FALSE,22,3,0,0,0,0,0,0,0,0.110415007,0.068559987,0.152422919,0,0.063721526,0.10278041,0,0,0.094851272,0.058740936,0.348507943,0 +othmaint,FALSE,22,4,0,0,0,0,0,0,0,0.050912705,0.082525929,0,0.031613224,0.050912705,0.094839672,0.029382195,0.129047073,0.050912705,0.220800245,0.259053549,0 +othmaint,FALSE,23,1,0,0,0,0,0,0.010515377,0.025008268,0.032644118,0,0.085888154,0.049317135,0.011196407,0.007715287,0.054305418,0,0.074906459,0.182663286,0.082719875,0.383120217 +othmaint,FALSE,23,2,0,0,0,0,0,0,0,0.045673386,0.020160892,0.021413699,0,0.082142047,0.014090672,0.018059971,0,0.045974294,0.048093764,0.355409136,0.348982138 +othmaint,FALSE,23,3,0,0,0,0,0,0,0,0.080258013,0,0.073055546,0,0.075004948,0.081094174,0.069336389,0,0,0,0.041154495,0.580096435 +othmaint,FALSE,23,4,0,0,0,0,0,0,0,0.037448064,0,0.04959035,0.016530117,0.025234243,0.062464477,0.114901182,0,0.107371648,0.062464477,0.148912902,0.37508254 +eatout,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,5,2,0.032538851,0.221324643,0,0.037815017,0,0,0,0.272525282,0,0,0.037088163,0.337745523,0.034547537,0,0.026414986,0,0,0,0 +eatout,TRUE,5,3,0,0,0,0.091639733,0,0,0,0,0,0,0,0.089878297,0,0.81848197,0,0,0,0,0 +eatout,TRUE,5,4,0,0,0,0,0,0,0,0,0.091478599,0,0,0,0,0.817042802,0.091478599,0,0,0,0 +eatout,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,6,2,0,0.10870266,0.506895447,0.175689689,0,0.026096466,0.034864499,0.082091899,0,0,0,0.025468279,0.040191062,0,0,0,0,0,0 +eatout,TRUE,6,3,0,0.035560115,0.306736608,0.286592598,0.030199993,0.042569681,0.056872474,0,0.028493363,0,0,0.212975168,0,0,0,0,0,0,0 +eatout,TRUE,6,4,0,0,0.211737696,0.322316501,0,0,0.220793367,0,0.051433567,0.096859434,0,0,0,0.096859434,0,0,0,0,0 +eatout,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,7,2,0,0,0.144455214,0.345929433,0,0,0.086477099,0.023160754,0,0.016780688,0,0.202260676,0.052439775,0.128496361,0,0,0,0,0 +eatout,TRUE,7,3,0,0,0.090126203,0.306912678,0,0.037918354,0.033462594,0.029845783,0,0,0,0,0.104315493,0,0,0.397418896,0,0,0 +eatout,TRUE,7,4,0,0,0,0.502373694,0,0,0,0.134316948,0,0,0.070995242,0,0.070995242,0,0.221318875,0,0,0,0 +eatout,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,8,2,0,0,0,0.287649201,0.258570068,0.118932282,0.154019597,0.040748722,0.016734567,0.048015509,0.013439765,0.016546263,0.014029864,0.031314162,0,0,0,0,0 +eatout,TRUE,8,3,0,0,0,0,0.251109552,0,0.113694476,0.124444727,0,0,0.229845517,0.061431783,0.219473946,0,0,0,0,0,0 +eatout,TRUE,8,4,0,0,0,0,0.493293189,0,0,0,0,0,0.506706811,0,0,0,0,0,0,0,0 +eatout,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,9,2,0,0,0,0,0.366854738,0.25501335,0.107900842,0.2287524,0,0,0,0,0,0.041478671,0,0,0,0,0 +eatout,TRUE,9,3,0,0,0,0,0.468297002,0.238514298,0.2931887,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,9,4,0,0,0,0,0.109486993,0.574078888,0.280149843,0,0.036284276,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,10,2,0,0,0,0,0,0.254832017,0.469238325,0.127193733,0.065540094,0.051245746,0,0,0,0,0.031950083,0,0,0,0 +eatout,TRUE,10,3,0,0,0,0,0,0.064871933,0.163184264,0.345964678,0.111369168,0.141300007,0,0.17330995,0,0,0,0,0,0,0 +eatout,TRUE,10,4,0,0,0,0,0,0,0.150728895,0,0.209592187,0.423337891,0,0,0,0.216341028,0,0,0,0,0 +eatout,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,11,2,0,0,0,0,0,0,0.370585753,0.485622052,0.060239142,0.042221954,0,0,0,0.020865964,0.020465134,0,0,0,0 +eatout,TRUE,11,3,0,0,0,0,0,0,0.269205736,0.405557054,0.185720764,0,0.076480268,0,0.063036179,0,0,0,0,0,0 +eatout,TRUE,11,4,0,0,0,0,0,0,0,0.351458157,0.487871427,0,0,0,0,0.160670416,0,0,0,0,0 +eatout,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,12,2,0,0,0,0,0,0,0,0.437792419,0.301451181,0.150311105,0.034236693,0.076208603,0,0,0,0,0,0,0 +eatout,TRUE,12,3,0,0,0,0,0,0,0,0.225370702,0.381329664,0.174766696,0,0,0,0.218532938,0,0,0,0,0 +eatout,TRUE,12,4,0,0,0,0,0,0,0,0,0.221247262,0.778752738,0,0,0,0,0,0,0,0,0 +eatout,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,13,2,0,0,0,0,0,0,0,0,0.139433765,0.241394197,0.366145988,0,0,0.25302605,0,0,0,0,0 +eatout,TRUE,13,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +eatout,TRUE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +eatout,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.141560108,0.455484612,0.063533559,0.080474833,0.258946888,0,0,0,0,0 +eatout,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +eatout,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +eatout,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +eatout,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.175719201,0.491767111,0.304614961,0.027898728,0,0,0,0,0 +eatout,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.115184007,0.113089502,0.771726491,0,0,0,0,0,0 +eatout,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +eatout,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +eatout,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.081443842,0.569785792,0.258691473,0.048438646,0,0.041640248,0,0 +eatout,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.14088832,0.169273542,0.138693404,0.551144734,0,0,0,0 +eatout,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.522722044,0,0,0.477277956,0,0,0 +eatout,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +eatout,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.360098415,0.452873013,0.139516873,0.047511698,0,0,0 +eatout,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.107576639,0.186526017,0.560987927,0.144909417,0,0,0 +eatout,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +eatout,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27451797,0.572984268,0.072163445,0,0.080334317,0 +eatout,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.497007208,0.502992792,0,0,0,0 +eatout,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537636417,0.462363583,0,0,0 +eatout,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.328311347,0.671688653,0,0,0 +eatout,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +eatout,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.916716515,0.083283485,0,0 +eatout,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.726342035,0.273657965,0,0 +eatout,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +eatout,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,1,0.034815481,0.965184519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,1,0,0.199908855,0.800091145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,2,0,0.833877769,0.166122231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,1,0,0,0.215838535,0.784161465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,1,0,0,0,0.157266378,0.842733622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,2,0,0,0,0.335277961,0.664722039,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,1,0,0,0.033536748,0.02770012,0.155369348,0.783393784,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,2,0,0,0,0,0.173469452,0.826530548,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,1,0,0,0,0,0.091878183,0.12493006,0.783191757,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,2,0,0,0,0,0,0.096132235,0.903867765,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,1,0,0,0,0.037969228,0,0.031107149,0.035414324,0.895509299,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,2,0,0,0,0,0.02753672,0,0.149847323,0.822615958,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,3,0,0,0,0,0,0,0.258442104,0.741557896,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,4,0,0,0,0,0,0,0.333333333,0.666666667,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,1,0,0.01200688,0,0,0,0.039950927,0.008513584,0.137590949,0.80193766,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,2,0,0,0,0,0,0,0,0.394497458,0.605502542,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,4,0,0,0,0,0,0,0,0.367803297,0.632196703,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,1,0,0,0,0,0,0.006675471,0,0.049503213,0.303745574,0.640075741,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,2,0,0,0,0,0,0,0,0,0.279565462,0.720434538,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,3,0,0,0,0,0,0,0,0,0.289280673,0.710719327,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,4,0,0,0,0,0,0,0,0,0.17018646,0.82981354,0,0,0,0,0,0,0,0,0 +eatout,FALSE,15,1,0,0,0.012317448,0.011793684,0,0.032471192,0.017402541,0.031610182,0.061546974,0.401654713,0.431203266,0,0,0,0,0,0,0,0 +eatout,FALSE,15,2,0,0,0,0.020848495,0,0,0.031697312,0.022993537,0.09062564,0.216001966,0.617833051,0,0,0,0,0,0,0,0 +eatout,FALSE,15,3,0,0,0,0,0,0,0,0.046096862,0.044136725,0.455929483,0.45383693,0,0,0,0,0,0,0,0 +eatout,FALSE,15,4,0,0,0,0,0,0,0,0.053925006,0,0.080548958,0.865526035,0,0,0,0,0,0,0,0 +eatout,FALSE,16,1,0,0.029358275,0.006634587,0,0.008384768,0,0.022595474,0.011554952,0,0.018323185,0.344468391,0.558680369,0,0,0,0,0,0,0 +eatout,FALSE,16,2,0,0,0,0,0,0,0.023120402,0.115646001,0.052131074,0.053950104,0.19213634,0.563016078,0,0,0,0,0,0,0 +eatout,FALSE,16,3,0,0,0,0,0,0,0,0.058624219,0.059135643,0.033481644,0.029621972,0.819136522,0,0,0,0,0,0,0 +eatout,FALSE,16,4,0,0,0,0,0,0,0,0,0.079941236,0.063875591,0.228664833,0.62751834,0,0,0,0,0,0,0 +eatout,FALSE,17,1,0.008270503,0,0.011204931,0,0.012161696,0.009083295,0,0,0.008915709,0.010949503,0.019220416,0.424059428,0.496134519,0,0,0,0,0,0 +eatout,FALSE,17,2,0,0,0,0,0.009447942,0,0.059827266,0.109282601,0.010850987,0.012969818,0.170046907,0.153233152,0.474341327,0,0,0,0,0,0 +eatout,FALSE,17,3,0,0,0,0,0,0,0.020113077,0.088749328,0.011185398,0,0.071370427,0.323187311,0.485394459,0,0,0,0,0,0 +eatout,FALSE,17,4,0,0,0.038633648,0,0,0,0,0.019522201,0.039044403,0.062661272,0.092635226,0.060867571,0.68663568,0,0,0,0,0,0 +eatout,FALSE,18,1,0,0.00402747,0,0.002699769,0,0,0.003458022,0.004776748,0,0,0.007128847,0.022821634,0.560262038,0.394825471,0,0,0,0,0 +eatout,FALSE,18,2,0,0,0,0,0,0,0.025269691,0.053659728,0.018624541,0,0.015410135,0.096858434,0.303814033,0.486363437,0,0,0,0,0 +eatout,FALSE,18,3,0,0,0,0.027139705,0,0,0,0,0.025309856,0,0.041317372,0,0.193332635,0.712900432,0,0,0,0,0 +eatout,FALSE,18,4,0,0,0,0.062266496,0,0,0,0.124532992,0,0,0,0.02844882,0.160985,0.623766691,0,0,0,0,0 +eatout,FALSE,19,1,0,0,0,0.035093846,0,0,0,0.002763787,0,0,0.007972126,0,0.006835141,0.182451712,0.76488339,0,0,0,0 +eatout,FALSE,19,2,0,0,0,0,0,0,0,0.009338966,0.0084296,0.012320862,0,0.007858119,0.07102686,0.181093919,0.709931674,0,0,0,0 +eatout,FALSE,19,3,0,0,0.034695617,0,0,0,0,0,0,0,0,0,0,0.325056792,0.640247591,0,0,0,0 +eatout,FALSE,19,4,0,0,0,0.101411526,0,0,0,0,0,0,0,0,0,0.101411526,0.797176947,0,0,0,0 +eatout,FALSE,20,1,0,0,0,0,0.006246293,0,0,0.011507943,0,0,0.013654973,0,0.007223887,0.028421478,0.204476714,0.728468712,0,0,0 +eatout,FALSE,20,2,0,0,0,0,0,0,0,0.029002329,0.008684063,0.040035705,0,0,0.033841105,0.026844626,0.219230553,0.64236162,0,0,0 +eatout,FALSE,20,3,0,0,0,0,0.017457545,0,0,0,0,0,0,0.022170954,0.111461135,0.026492142,0.144444394,0.677973828,0,0,0 +eatout,FALSE,20,4,0,0,0,0,0,0,0,0,0.027884869,0,0,0.019560862,0.053861802,0.185282652,0.14594305,0.567466765,0,0,0 +eatout,FALSE,21,1,0,0,0,0,0,0,0.001992088,0,0,0,0,0,0.004171801,0.008609329,0.045440515,0.297500935,0.642285332,0,0 +eatout,FALSE,21,2,0,0,0,0,0,0,0,0.008825951,0,0,0,0,0,0,0.022560857,0.064662954,0.903950239,0,0 +eatout,FALSE,21,3,0,0,0,0,0,0,0,0,0.01925505,0,0,0,0,0,0.141712181,0.063571817,0.775460952,0,0 +eatout,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.059643388,0.029821694,0.029821694,0.054589294,0.218357176,0,0.338629065,0.269137688,0,0 +eatout,FALSE,22,1,0,0.003832232,0.014433483,0.029367654,0,0,0,0,0,0,0,0,0,0.037886729,0.013545706,0.01688148,0.286440472,0.597612243,0 +eatout,FALSE,22,2,0,0,0,0.058773031,0.007875566,0,0.038790615,0,0,0,0,0,0,0.124436861,0.030453108,0.011388959,0.304645476,0.423636384,0 +eatout,FALSE,22,3,0,0.023843907,0,0,0.012800003,0,0,0,0.063045627,0,0,0,0,0.016739233,0.04949484,0.078783423,0.338585891,0.416707076,0 +eatout,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0.012407461,0.122224371,0.035520139,0.109039785,0,0.076367345,0.347441239,0.296999659,0 +eatout,FALSE,23,1,0,0,0,0,0,0,0,0.012371175,0,0.025704524,0,0.023327151,0,0.007669333,0.042011178,0.019479582,0.006261906,0.163786764,0.699388388 +eatout,FALSE,23,2,0,0,0,0,0,0,0,0,0.033721119,0.101287181,0,0.014308982,0,0,0.023495989,0.043546799,0.169610935,0.119773048,0.494255948 +eatout,FALSE,23,3,0,0,0,0,0,0,0,0,0,0.098543037,0,0,0,0,0,0.027420729,0.019663025,0.062014245,0.792358964 +eatout,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.015339182,0.166441975,0.108428683,0.70979016 +social,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163488477,0.72896704,0.107544483,0,0,0 +social,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,2,0,0.429301212,0.220838883,0,0,0.349859905,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,7,2,0,0,0.238446471,0.18847097,0.451233232,0.061171813,0,0,0,0,0,0.060677514,0,0,0,0,0,0,0 +social,TRUE,7,3,0,0,0.263472951,0,0.345559204,0.045763272,0.194319778,0,0,0,0.076482272,0.074402522,0,0,0,0,0,0,0 +social,TRUE,7,4,0,0,0,0,0.720034483,0,0,0,0,0,0,0,0,0.279965517,0,0,0,0,0 +social,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,8,2,0,0,0,0.254275275,0.460062202,0.285662524,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,8,3,0,0,0,0,0.319310909,0,0.196475338,0,0.334528108,0,0,0.149685645,0,0,0,0,0,0,0 +social,TRUE,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0.654606666,0.345393334,0,0,0,0,0 +social,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,2,0,0,0,0,0.545721423,0.112625256,0.326444169,0.015209152,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,3,0,0,0,0,0.023262324,0.080080665,0.730468634,0.143870653,0.022317724,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,4,0,0,0,0,0,0.026826474,0.852263327,0,0,0,0,0.014490394,0,0,0.053209903,0.053209903,0,0,0 +social,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,10,2,0,0,0,0,0,0.151977255,0.519637411,0.191906468,0.085778382,0.050700484,0,0,0,0,0,0,0,0,0 +social,TRUE,10,3,0,0,0,0,0,0.046500192,0.658940192,0.178956942,0,0.115602674,0,0,0,0,0,0,0,0,0 +social,TRUE,10,4,0,0,0,0,0,0,0.204837475,0.204837475,0.204837475,0,0,0.128495859,0.256991717,0,0,0,0,0,0 +social,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,11,2,0,0,0,0,0,0,0.252313913,0.608752771,0.060673874,0.078259442,0,0,0,0,0,0,0,0,0 +social,TRUE,11,3,0,0,0,0,0,0,0,0.893087119,0,0,0.106912881,0,0,0,0,0,0,0,0 +social,TRUE,11,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,12,2,0,0,0,0,0,0,0,0.01555306,0.804005354,0.113032269,0.042952725,0.024456591,0,0,0,0,0,0,0 +social,TRUE,12,3,0,0,0,0,0,0,0,0,0.762673603,0.196684366,0,0.040642031,0,0,0,0,0,0,0 +social,TRUE,12,4,0,0,0,0,0,0,0,0,0.974582243,0.025417757,0,0,0,0,0,0,0,0,0 +social,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,TRUE,13,2,0,0,0,0,0,0,0,0,0.666277769,0.215739994,0.117982237,0,0,0,0,0,0,0,0 +social,TRUE,13,3,0,0,0,0,0,0,0,0,0.20985109,0.290892068,0,0.499256842,0,0,0,0,0,0,0 +social,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.27976381,0.48015746,0,0.24007873,0,0,0,0,0 +social,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +social,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.474250224,0.479544424,0.046205352,0,0,0,0,0,0,0 +social,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.415915716,0.304081655,0.122383721,0.157618908,0,0,0,0,0 +social,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.149219919,0.262392987,0.163198885,0.364386422,0.060801787,0,0,0,0 +social,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.382256993,0.20034388,0.20034388,0.217055247,0,0,0 +social,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.084972892,0.631896416,0.184989951,0.098140741,0,0,0,0 +social,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.566972184,0,0.433027816,0,0,0 +social,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +social,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.153985008,0.442019825,0.287546211,0.116448956,0,0,0 +social,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.805041829,0.194958171,0,0,0,0 +social,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.386035694,0.613964306,0,0,0,0 +social,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +social,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.415464544,0.466670617,0.11786484,0,0,0 +social,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480898747,0.519101253,0,0,0 +social,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492816592,0.382668005,0.124515403,0,0 +social,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.296845882,0.703154118,0,0 +social,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.180542587,0.819457413,0,0 +social,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186441429,0.813558571 +social,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,1,0,0.175358533,0.824641467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,1,0,0,0.02236387,0.97763613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,1,0,0,0,0.461831955,0.538168045,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,1,0,0,0,0,0.168748059,0.831251941,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,2,0,0,0,0,0.100405941,0.899594059,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,1,0,0,0,0,0.02167612,0.606898663,0.371425217,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,2,0,0,0,0.025894331,0,0.076173851,0.897931818,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,3,0,0,0,0,0,0.0362574,0.9637426,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,4,0,0,0,0,0,0.666666667,0.333333333,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,1,0,0,0,0,0,0.040943046,0.339881423,0.619175531,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,2,0,0,0,0,0,0.055306785,0,0.944693215,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,3,0,0,0,0,0,0,0.113705951,0.886294049,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,4,0,0,0,0,0,0,0.020620903,0.979379097,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,1,0,0.110729344,0,0,0,0,0.028982164,0.160850288,0.699438204,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,2,0,0,0,0,0,0,0,0.434109617,0.565890383,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,FALSE,14,1,0,0,0,0,0,0,0.012646359,0.049957288,0.064957981,0.872438372,0,0,0,0,0,0,0,0,0 +social,FALSE,14,2,0,0,0,0,0,0,0,0.092000521,0.207125543,0.700873936,0,0,0,0,0,0,0,0,0 +social,FALSE,14,3,0,0,0,0,0,0,0,0,0.123105709,0.876894291,0,0,0,0,0,0,0,0,0 +social,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +social,FALSE,15,1,0,0,0,0,0,0,0,0.025915129,0.021414108,0.301296274,0.651374488,0,0,0,0,0,0,0,0 +social,FALSE,15,2,0,0,0,0,0,0,0,0.038851326,0.060308128,0.040085863,0.860754683,0,0,0,0,0,0,0,0 +social,FALSE,15,3,0,0,0,0,0,0,0,0,0,0.337125075,0.662874925,0,0,0,0,0,0,0,0 +social,FALSE,15,4,0,0,0,0,0,0,0,0,0,0.240804556,0.759195444,0,0,0,0,0,0,0,0 +social,FALSE,16,1,0,0,0,0,0,0,0.010850109,0.028630302,0.034941364,0.027356994,0.399487153,0.498734077,0,0,0,0,0,0,0 +social,FALSE,16,2,0,0,0,0,0,0,0,0.085290601,0.096379465,0.140055991,0.14515731,0.533116633,0,0,0,0,0,0,0 +social,FALSE,16,3,0,0,0,0,0,0,0,0.039789367,0,0,0.207791274,0.752419359,0,0,0,0,0,0,0 +social,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.444162303,0.555837697,0,0,0,0,0,0,0 +social,FALSE,17,1,0,0,0,0,0,0.004235542,0.004235542,0.010773772,0.036037056,0.011244257,0.008654904,0.185030812,0.739788115,0,0,0,0,0,0 +social,FALSE,17,2,0,0,0,0,0,0,0.011747117,0.030318289,0,0.026130418,0.124118238,0.265470463,0.542215475,0,0,0,0,0,0 +social,FALSE,17,3,0,0,0,0,0,0,0,0.035991711,0.05581904,0,0.118744644,0.174641807,0.614802798,0,0,0,0,0,0 +social,FALSE,17,4,0,0,0,0,0,0,0,0,0,0.133377911,0.156860689,0.067276975,0.642484425,0,0,0,0,0,0 +social,FALSE,18,1,0,0,0,0,0,0,0,0,0.021116578,0,0.023935246,0.014708731,0.292437045,0.6478024,0,0,0,0,0 +social,FALSE,18,2,0,0,0,0,0,0,0,0,0.050647706,0.018469336,0.057408229,0.034520986,0.245483705,0.593470039,0,0,0,0,0 +social,FALSE,18,3,0,0,0,0,0,0,0,0,0.215338024,0,0,0.143481023,0.32589869,0.315282263,0,0,0,0,0 +social,FALSE,18,4,0,0,0,0,0,0,0.012374723,0.012374723,0.037124169,0,0.012374723,0.11617789,0.120134128,0.689439644,0,0,0,0,0 +social,FALSE,19,1,0,0,0,0,0,0,0.007898288,0,0,0,0,0,0.121563834,0.284121966,0.586415912,0,0,0,0 +social,FALSE,19,2,0,0,0,0,0,0,0.039741889,0,0,0,0.02465859,0.116870248,0.036063489,0.320456158,0.462209626,0,0,0,0 +social,FALSE,19,3,0,0,0,0,0,0,0,0.054643855,0,0,0,0.060605496,0.025192236,0.702933269,0.156625145,0,0,0,0 +social,FALSE,19,4,0,0,0,0,0,0,0,0,0.175116816,0,0.022349377,0.130418062,0.054376362,0.036216461,0.581522921,0,0,0,0 +social,FALSE,20,1,0,0,0,0,0,0,0,0.006741002,0,0,0.01216091,0,0,0,0.185101107,0.795996982,0,0,0 +social,FALSE,20,2,0,0,0,0,0,0,0,0,0,0.04641167,0,0.083727631,0.098296373,0,0.202274397,0.569289928,0,0,0 +social,FALSE,20,3,0,0,0,0,0,0,0,0,0,0.139066538,0,0,0,0.294532307,0.250878966,0.315522189,0,0,0 +social,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.139014445,0,0,0.258582347,0.602403208,0,0,0 +social,FALSE,21,1,0,0,0,0,0,0,0,0.006536044,0,0,0.004122227,0,0.009592478,0,0.025254876,0.168812361,0.785682015,0,0 +social,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0.009947847,0,0,0.015489709,0.091770901,0.882791543,0,0 +social,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0.035778147,0,0,0.059543199,0.096410036,0.808268618,0,0 +social,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.039227837,0,0,0,0.272007988,0.688764175,0,0 +social,FALSE,22,1,0,0,0,0,0,0,0.008693912,0,0,0.023590293,0,0,0.014992001,0.012884951,0.01979978,0.017778233,0.266462768,0.635798061,0 +social,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.054229245,0.01998552,0,0,0.183589112,0.020695417,0.01231348,0.164392793,0.544794434,0 +social,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0.03472135,0,0,0.015619534,0,0.035954672,0.531548096,0.382156347,0 +social,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0.05888279,0.05888279,0,0.176648369,0.09089481,0.189410385,0.425280856,0 +social,FALSE,23,1,0,0,0,0,0,0,0,0.028390618,0,0,0.004916978,0,0,0,0.014598183,0.07621256,0.027119644,0.125695917,0.7230661 +social,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0.01089797,0,0,0.031808043,0,0.091217964,0.172140515,0.693935509 +social,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052410677,0.231068411,0.716520911 +social,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061760943,0.229019025,0.709220031 +othdiscr,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,5,2,0.261967145,0.409228643,0,0,0,0,0.034160738,0.0288967,0,0.105662564,0,0.028934007,0.099906136,0.031244066,0,0,0,0,0 +othdiscr,TRUE,5,3,0.05651263,0.078010805,0,0,0,0,0,0,0,0,0.105067549,0.353285463,0.190245768,0,0.216877785,0,0,0,0 +othdiscr,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,6,2,0,0.098860067,0.663141032,0.044723228,0.012153718,0.015393409,0,0.016907036,0,0.010826104,0.098262057,0.016422181,0.023311168,0,0,0,0,0,0 +othdiscr,TRUE,6,3,0,0.024215249,0.736578596,0.018671746,0.050466724,0,0.046817344,0.010678175,0.023238019,0,0.032556217,0,0.035620327,0.021157602,0,0,0,0,0 +othdiscr,TRUE,6,4,0,0,0.081847071,0,0.338763551,0,0.240085302,0,0.114633558,0,0.146128192,0,0,0.078542326,0,0,0,0,0 +othdiscr,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,7,2,0,0,0.352097404,0.309242997,0.08178386,0.093069138,0.009864271,0.017742267,0,0.050016669,0.019229555,0.024087308,0.042866531,0,0,0,0,0,0 +othdiscr,TRUE,7,3,0,0,0.212218699,0.104250306,0.22359596,0.028585094,0,0.022759931,0.040936909,0.272511733,0,0,0,0.095141367,0,0,0,0,0 +othdiscr,TRUE,7,4,0,0,0,0.429994902,0.250073782,0.067515708,0.179786534,0,0,0,0,0,0,0,0.072629074,0,0,0,0 +othdiscr,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,8,2,0,0,0,0.27373664,0.651618467,0.038952541,0.006393093,0,0,0.010887769,0.010198326,0,0.008213164,0,0,0,0,0,0 +othdiscr,TRUE,8,3,0,0,0,0.256077087,0.567372083,0.111208754,0.044947659,0,0,0,0,0.020394418,0,0,0,0,0,0,0 +othdiscr,TRUE,8,4,0,0,0,0,0.419368759,0.043993527,0.123598787,0,0,0,0,0.092242747,0.32079618,0,0,0,0,0,0 +othdiscr,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,9,2,0,0,0,0,0.325654332,0.331629325,0.251597773,0.036069214,0,0,0.007507425,0,0.005333887,0,0.042208044,0,0,0,0 +othdiscr,TRUE,9,3,0,0,0,0,0.296114826,0.283133229,0.171133878,0.024057098,0.039684124,0,0.104372804,0,0,0,0.081504041,0,0,0,0 +othdiscr,TRUE,9,4,0,0,0,0,0,0.026872303,0.087815216,0.185433391,0.459158688,0.037962963,0.202757439,0,0,0,0,0,0,0,0 +othdiscr,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,10,2,0,0,0,0,0,0.284975884,0.535943751,0.094599159,0.060212546,0,0,0,0.014932613,0,0.009336047,0,0,0,0 +othdiscr,TRUE,10,3,0,0,0,0,0,0.03549155,0.582807345,0.127174633,0.224739775,0,0,0,0,0.029786697,0,0,0,0,0 +othdiscr,TRUE,10,4,0,0,0,0,0,0,0.354929378,0.145446894,0.499623728,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,11,2,0,0,0,0,0,0,0.373878462,0.422332476,0.042754045,0.138634672,0.012364309,0.010036036,0,0,0,0,0,0,0 +othdiscr,TRUE,11,3,0,0,0,0,0,0,0.120480473,0.332302699,0.091421072,0.287256805,0.161854878,0.006684074,0,0,0,0,0,0,0 +othdiscr,TRUE,11,4,0,0,0,0,0,0,0.227930951,0,0.335102136,0.044198628,0.207476437,0,0.185291847,0,0,0,0,0,0 +othdiscr,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,12,2,0,0,0,0,0,0,0,0.383615621,0.305559088,0.131113594,0.103542737,0.07616896,0,0,0,0,0,0,0 +othdiscr,TRUE,12,3,0,0,0,0,0,0,0,0.128632011,0.247877929,0.37071038,0.084899625,0.167880054,0,0,0,0,0,0,0 +othdiscr,TRUE,12,4,0,0,0,0,0,0,0,0,0.205547015,0.162425226,0.239993719,0,0.392034039,0,0,0,0,0,0 +othdiscr,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,13,2,0,0,0,0,0,0,0,0,0.353861476,0.371100297,0.168208236,0.052680009,0.054149982,0,0,0,0,0,0 +othdiscr,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.679754381,0.320245619,0,0,0,0,0,0,0,0 +othdiscr,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.043643993,0.545880167,0.094829055,0.241931264,0,0.073715521,0,0,0,0 +othdiscr,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.288892103,0.603164379,0.048532082,0.059411436,0,0,0,0,0,0 +othdiscr,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.021579093,0.46445134,0.316987948,0.142583522,0.054398096,0,0,0,0,0 +othdiscr,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.09464155,0.567572891,0.33778556,0,0,0,0,0,0,0 +othdiscr,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.373801479,0.542977323,0.070343764,0.01078053,0.002096902,0,0,0,0 +othdiscr,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.122689199,0.717331575,0.030530698,0.123760049,0.005688479,0,0,0,0 +othdiscr,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.635796163,0,0,0.364203837,0,0,0,0 +othdiscr,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.712603233,0.193798154,0.048982419,0.039696774,0.00491942,0,0,0 +othdiscr,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.841745433,0.101833145,0.027409468,0,0.029011955,0,0,0 +othdiscr,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.17218743,0.195323109,0.429118156,0,0.203371304,0,0 +othdiscr,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.185120326,0.587302234,0.220258146,0,0.007319293,0,0 +othdiscr,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.183125342,0.285960671,0.48842584,0.013192652,0.029295494,0,0 +othdiscr,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102125632,0.746583804,0.151290564,0,0,0 +othdiscr,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542729526,0.35986304,0.097407435,0,0,0 +othdiscr,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480620595,0.242765324,0.062025461,0.187335855,0.027252764,0 +othdiscr,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098853758,0.563447888,0.242412271,0,0.095286083,0 +othdiscr,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.341735737,0.560576797,0.050581281,0.047106185,0 +othdiscr,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.213928771,0.439416592,0,0.346654637,0 +othdiscr,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.849356959,0.101132981,0.025617338,0.023892721 +othdiscr,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 othdiscr,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/workplace_location.csv b/activitysim/examples/prototype_mtc/configs/workplace_location.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/workplace_location.csv rename to activitysim/examples/prototype_mtc/configs/workplace_location.csv index ea56a39c9f..3ac8b59e96 --- a/activitysim/examples/example_psrc/configs/workplace_location.csv +++ b/activitysim/examples/prototype_mtc/configs/workplace_location.csv @@ -1,14 +1,14 @@ -Label,Description,Expression,coefficient -local_dist,,_DIST@skims['DIST'],1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up -util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high -util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 -util_no_attractions,No attractions,@df['size_term']==0,-999 -util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum +Label,Description,Expression,coefficient +local_dist,,_DIST@skims['DIST'],1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up +util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high +util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 +util_no_attractions,No attractions,@df['size_term']==0,-999 +util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1 \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/workplace_location.yaml b/activitysim/examples/prototype_mtc/configs/workplace_location.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/workplace_location.yaml rename to activitysim/examples/prototype_mtc/configs/workplace_location.yaml diff --git a/activitysim/examples/example_psrc/configs/workplace_location_coeffs.csv b/activitysim/examples/prototype_mtc/configs/workplace_location_coefficients.csv old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_psrc/configs/workplace_location_coeffs.csv rename to activitysim/examples/prototype_mtc/configs/workplace_location_coefficients.csv index 709b0b4102..b3ac834103 --- a/activitysim/examples/example_psrc/configs/workplace_location_coeffs.csv +++ b/activitysim/examples/prototype_mtc/configs/workplace_location_coefficients.csv @@ -1,9 +1,9 @@ -coefficient_name,value,constrain -coef_dist_0_1,-0.8428,F -coef_dist_1_2,-0.3104,F -coef_dist_2_5,-0.3783,F -coef_dist_5_15,-0.1285,F -coef_dist_15_up,-0.0917,F -coef_dist_0_5_high,0.15,F -coef_dist_5_up_high,0.02,F -coef_mode_logsum,0.3,F +coefficient_name,value,constrain +coef_dist_0_1,-0.8428,F +coef_dist_1_2,-0.3104,F +coef_dist_2_5,-0.3783,F +coef_dist_5_15,-0.1285,F +coef_dist_15_up,-0.0917,F +coef_dist_0_5_high,0.15,F +coef_dist_5_up_high,0.02,F +coef_mode_logsum,0.3,F diff --git a/activitysim/examples/example_psrc/configs/workplace_location_sample.csv b/activitysim/examples/prototype_mtc/configs/workplace_location_sample.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/workplace_location_sample.csv rename to activitysim/examples/prototype_mtc/configs/workplace_location_sample.csv index e97161217d..0216bae26f --- a/activitysim/examples/example_psrc/configs/workplace_location_sample.csv +++ b/activitysim/examples/prototype_mtc/configs/workplace_location_sample.csv @@ -1,12 +1,12 @@ -Label,Description,Expression,coefficient -local_dist,,_DIST@skims['DIST'],1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up -util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high -util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 +Label,Description,Expression,coefficient +local_dist,,_DIST@skims['DIST'],1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_dist_0_1 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_dist_1_2 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_dist_2_5 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_dist_5_15 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_dist_15_up +util_dist_0_5_high,"Distance 0 to 5 mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * _DIST.clip(upper=5),coef_dist_0_5_high +util_dist_15_up_high,"Distance 5+ mi, high and very high income",@(df['income_segment']>=WORK_HIGH_SEGMENT_ID) * (_DIST-5).clip(0),coef_dist_5_up_high +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 util_no_attractions,No attractions,@df['size_term']==0,-999 \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/write_data_dictionary.yaml b/activitysim/examples/prototype_mtc/configs/write_data_dictionary.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs/write_data_dictionary.yaml rename to activitysim/examples/prototype_mtc/configs/write_data_dictionary.yaml diff --git a/activitysim/examples/example_mtc/configs/write_trip_matrices.yaml b/activitysim/examples/prototype_mtc/configs/write_trip_matrices.yaml similarity index 96% rename from activitysim/examples/example_mtc/configs/write_trip_matrices.yaml rename to activitysim/examples/prototype_mtc/configs/write_trip_matrices.yaml index a9f14a336d..095b3160cc 100644 --- a/activitysim/examples/example_mtc/configs/write_trip_matrices.yaml +++ b/activitysim/examples/prototype_mtc/configs/write_trip_matrices.yaml @@ -1,277 +1,277 @@ -# read trips table post preprocessor and run expressions to code -# additional data fields, with one data fields for each matrix specified below - -preprocessor: - SPEC: write_trip_matrices_annotate_trips_preprocessor - DF: trips - TABLES: - - tours - -# divide trip counts by household expansion factor -HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in - -# save preprocessed trips table to pipeline if desired -SAVE_TRIPS_TABLE: False - -MATRICES: - - file_name: trips_ea.omx - tables: - - name: DRIVEALONEFREE_EA - data_field: DRIVEALONEFREE_EA - - name: DRIVEALONEPAY_EA - data_field: DRIVEALONEPAY_EA - - name: SHARED2FREE_EA - data_field: SHARED2FREE_EA - - name: SHARED2PAY_EA - data_field: SHARED2PAY_EA - - name: SHARED3FREE_EA - data_field: SHARED3FREE_EA - - name: SHARED3PAY_EA - data_field: SHARED3PAY_EA - - name: WALK_EA - data_field: WALK_EA - - name: BIKE_EA - data_field: BIKE_EA - - name: WALK_LOC_WALK_EA - data_field: WALK_LOC_WALK_EA - - name: WALK_LRF_WALK_EA - data_field: WALK_LRF_WALK_EA - - name: WALK_EXP_WALK_EA - data_field: WALK_EXP_WALK_EA - - name: WALK_HVY_WALK_EA - data_field: WALK_HVY_WALK_EA - - name: WALK_COM_WALK_EA - data_field: WALK_COM_WALK_EA - - name: DRIVE_LOC_WALK_EA - data_field: DRIVE_LOC_WALK_EA - - name: DRIVE_LRF_WALK_EA - data_field: DRIVE_LRF_WALK_EA - - name: DRIVE_EXP_WALK_EA - data_field: DRIVE_EXP_WALK_EA - - name: DRIVE_HVY_WALK_EA - data_field: DRIVE_HVY_WALK_EA - - name: DRIVE_COM_WALK_EA - data_field: DRIVE_COM_WALK_EA - - name: WALK_LOC_DRIVE_EA - data_field: WALK_LOC_DRIVE_EA - - name: WALK_LRF_DRIVE_EA - data_field: WALK_LRF_DRIVE_EA - - name: WALK_EXP_DRIVE_EA - data_field: WALK_EXP_DRIVE_EA - - name: WALK_DRIVE_HVY_EA - data_field: WALK_DRIVE_HVY_EA - - name: WALK_COM_DRIVE_EA - data_field: WALK_COM_DRIVE_EA - - file_name: trips_am.omx - tables: - - name: DRIVEALONEFREE_AM - data_field: DRIVEALONEFREE_AM - - name: DRIVEALONEPAY_AM - data_field: DRIVEALONEPAY_AM - - name: SHARED2FREE_AM - data_field: SHARED2FREE_AM - - name: SHARED2PAY_AM - data_field: SHARED2PAY_AM - - name: SHARED3FREE_AM - data_field: SHARED3FREE_AM - - name: SHARED3PAY_AM - data_field: SHARED3PAY_AM - - name: WALK_AM - data_field: WALK_AM - - name: BIKE_AM - data_field: BIKE_AM - - name: WALK_LOC_WALK_AM - data_field: WALK_LOC_WALK_AM - - name: WALK_LRF_WALK_AM - data_field: WALK_LRF_WALK_AM - - name: WALK_EXP_WALK_AM - data_field: WALK_EXP_WALK_AM - - name: WALK_HVY_WALK_AM - data_field: WALK_HVY_WALK_AM - - name: WALK_COM_WALK_AM - data_field: WALK_COM_WALK_AM - - name: DRIVE_LOC_WALK_AM - data_field: DRIVE_LOC_WALK_AM - - name: DRIVE_LRF_WALK_AM - data_field: DRIVE_LRF_WALK_AM - - name: DRIVE_EXP_WALK_AM - data_field: DRIVE_EXP_WALK_AM - - name: DRIVE_HVY_WALK_AM - data_field: DRIVE_HVY_WALK_AM - - name: DRIVE_COM_WALK_AM - data_field: DRIVE_COM_WALK_AM - - name: WALK_LOC_DRIVE_AM - data_field: WALK_LOC_DRIVE_AM - - name: WALK_LRF_DRIVE_AM - data_field: WALK_LRF_DRIVE_AM - - name: WALK_EXP_DRIVE_AM - data_field: WALK_EXP_DRIVE_AM - - name: WALK_DRIVE_HVY_AM - data_field: WALK_DRIVE_HVY_AM - - name: WALK_COM_DRIVE_AM - data_field: WALK_COM_DRIVE_AM - - file_name: trips_md.omx - tables: - - name: DRIVEALONEFREE_MD - data_field: DRIVEALONEFREE_MD - - name: DRIVEALONEPAY_MD - data_field: DRIVEALONEPAY_MD - - name: SHARED2FREE_MD - data_field: SHARED2FREE_MD - - name: SHARED2PAY_MD - data_field: SHARED2PAY_MD - - name: SHARED3FREE_MD - data_field: SHARED3FREE_MD - - name: SHARED3PAY_MD - data_field: SHARED3PAY_MD - - name: WALK_MD - data_field: WALK_MD - - name: BIKE_MD - data_field: BIKE_MD - - name: WALK_LOC_WALK_MD - data_field: WALK_LOC_WALK_MD - - name: WALK_LRF_WALK_MD - data_field: WALK_LRF_WALK_MD - - name: WALK_EXP_WALK_MD - data_field: WALK_EXP_WALK_MD - - name: WALK_HVY_WALK_MD - data_field: WALK_HVY_WALK_MD - - name: WALK_COM_WALK_MD - data_field: WALK_COM_WALK_MD - - name: DRIVE_LOC_WALK_MD - data_field: DRIVE_LOC_WALK_MD - - name: DRIVE_LRF_WALK_MD - data_field: DRIVE_LRF_WALK_MD - - name: DRIVE_EXP_WALK_MD - data_field: DRIVE_EXP_WALK_MD - - name: DRIVE_HVY_WALK_MD - data_field: DRIVE_HVY_WALK_MD - - name: DRIVE_COM_WALK_MD - data_field: DRIVE_COM_WALK_MD - - name: WALK_LOC_DRIVE_MD - data_field: WALK_LOC_DRIVE_MD - - name: WALK_LRF_DRIVE_MD - data_field: WALK_LRF_DRIVE_MD - - name: WALK_EXP_DRIVE_MD - data_field: WALK_EXP_DRIVE_MD - - name: WALK_DRIVE_HVY_MD - data_field: WALK_DRIVE_HVY_MD - - name: WALK_COM_DRIVE_MD - data_field: WALK_COM_DRIVE_MD - - file_name: trips_pm.omx - tables: - - name: DRIVEALONEFREE_PM - data_field: DRIVEALONEFREE_PM - - name: DRIVEALONEPAY_PM - data_field: DRIVEALONEPAY_PM - - name: SHARED2FREE_PM - data_field: SHARED2FREE_PM - - name: SHARED2PAY_PM - data_field: SHARED2PAY_PM - - name: SHARED3FREE_PM - data_field: SHARED3FREE_PM - - name: SHARED3PAY_PM - data_field: SHARED3PAY_PM - - name: WALK_PM - data_field: WALK_PM - - name: BIKE_PM - data_field: BIKE_PM - - name: WALK_LOC_WALK_PM - data_field: WALK_LOC_WALK_PM - - name: WALK_LRF_WALK_PM - data_field: WALK_LRF_WALK_PM - - name: WALK_EXP_WALK_PM - data_field: WALK_EXP_WALK_PM - - name: WALK_HVY_WALK_PM - data_field: WALK_HVY_WALK_PM - - name: WALK_COM_WALK_PM - data_field: WALK_COM_WALK_PM - - name: DRIVE_LOC_WALK_PM - data_field: DRIVE_LOC_WALK_PM - - name: DRIVE_LRF_WALK_PM - data_field: DRIVE_LRF_WALK_PM - - name: DRIVE_EXP_WALK_PM - data_field: DRIVE_EXP_WALK_PM - - name: DRIVE_HVY_WALK_PM - data_field: DRIVE_HVY_WALK_PM - - name: DRIVE_COM_WALK_PM - data_field: DRIVE_COM_WALK_PM - - name: WALK_LOC_DRIVE_PM - data_field: WALK_LOC_DRIVE_PM - - name: WALK_LRF_DRIVE_PM - data_field: WALK_LRF_DRIVE_PM - - name: WALK_EXP_DRIVE_PM - data_field: WALK_EXP_DRIVE_PM - - name: WALK_DRIVE_HVY_PM - data_field: WALK_DRIVE_HVY_PM - - name: WALK_COM_DRIVE_PM - data_field: WALK_COM_DRIVE_PM - - file_name: trips_ev.omx - tables: - - name: DRIVEALONEFREE_EV - data_field: DRIVEALONEFREE_EV - - name: DRIVEALONEPAY_EV - data_field: DRIVEALONEPAY_EV - - name: SHARED2FREE_EV - data_field: SHARED2FREE_EV - - name: SHARED2PAY_EV - data_field: SHARED2PAY_EV - - name: SHARED3FREE_EV - data_field: SHARED3FREE_EV - - name: SHARED3PAY_EV - data_field: SHARED3PAY_EV - - name: WALK_EV - data_field: WALK_EV - - name: BIKE_EV - data_field: BIKE_EV - - name: WALK_LOC_WALK_EV - data_field: WALK_LOC_WALK_EV - - name: WALK_LRF_WALK_EV - data_field: WALK_LRF_WALK_EV - - name: WALK_EXP_WALK_EV - data_field: WALK_EXP_WALK_EV - - name: WALK_HVY_WALK_EV - data_field: WALK_HVY_WALK_EV - - name: WALK_COM_WALK_EV - data_field: WALK_COM_WALK_EV - - name: DRIVE_LOC_WALK_EV - data_field: DRIVE_LOC_WALK_EV - - name: DRIVE_LRF_WALK_EV - data_field: DRIVE_LRF_WALK_EV - - name: DRIVE_EXP_WALK_EV - data_field: DRIVE_EXP_WALK_EV - - name: DRIVE_HVY_WALK_EV - data_field: DRIVE_HVY_WALK_EV - - name: DRIVE_COM_WALK_EV - data_field: DRIVE_COM_WALK_EV - - name: WALK_LOC_DRIVE_EV - data_field: WALK_LOC_DRIVE_EV - - name: WALK_LRF_DRIVE_EV - data_field: WALK_LRF_DRIVE_EV - - name: WALK_EXP_DRIVE_EV - data_field: WALK_EXP_DRIVE_EV - - name: WALK_DRIVE_HVY_EV - data_field: WALK_DRIVE_HVY_EV - - name: WALK_COM_DRIVE_EV - data_field: WALK_COM_DRIVE_EV - -CONSTANTS: - time_periods: - EA: - first_hour: 3 - last_hour: 5 - AM: - first_hour: 6 - last_hour: 9 - MD: - first_hour: 10 - last_hour: 14 - PM: - first_hour: 15 - last_hour: 18 - EV: - first_hour: 19 - last_hour: 2 - # SHARED2 and SHARED3 Occupancies - OCC_SHARED2: 2.0 - OCC_SHARED3: 3.33 +# read trips table post preprocessor and run expressions to code +# additional data fields, with one data fields for each matrix specified below + +preprocessor: + SPEC: write_trip_matrices_annotate_trips_preprocessor + DF: trips + TABLES: + - tours + +# divide trip counts by household expansion factor +HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in + +# save preprocessed trips table to pipeline if desired +SAVE_TRIPS_TABLE: False + +MATRICES: + - file_name: trips_ea.omx + tables: + - name: DRIVEALONEFREE_EA + data_field: DRIVEALONEFREE_EA + - name: DRIVEALONEPAY_EA + data_field: DRIVEALONEPAY_EA + - name: SHARED2FREE_EA + data_field: SHARED2FREE_EA + - name: SHARED2PAY_EA + data_field: SHARED2PAY_EA + - name: SHARED3FREE_EA + data_field: SHARED3FREE_EA + - name: SHARED3PAY_EA + data_field: SHARED3PAY_EA + - name: WALK_EA + data_field: WALK_EA + - name: BIKE_EA + data_field: BIKE_EA + - name: WALK_LOC_WALK_EA + data_field: WALK_LOC_WALK_EA + - name: WALK_LRF_WALK_EA + data_field: WALK_LRF_WALK_EA + - name: WALK_EXP_WALK_EA + data_field: WALK_EXP_WALK_EA + - name: WALK_HVY_WALK_EA + data_field: WALK_HVY_WALK_EA + - name: WALK_COM_WALK_EA + data_field: WALK_COM_WALK_EA + - name: DRIVE_LOC_WALK_EA + data_field: DRIVE_LOC_WALK_EA + - name: DRIVE_LRF_WALK_EA + data_field: DRIVE_LRF_WALK_EA + - name: DRIVE_EXP_WALK_EA + data_field: DRIVE_EXP_WALK_EA + - name: DRIVE_HVY_WALK_EA + data_field: DRIVE_HVY_WALK_EA + - name: DRIVE_COM_WALK_EA + data_field: DRIVE_COM_WALK_EA + - name: WALK_LOC_DRIVE_EA + data_field: WALK_LOC_DRIVE_EA + - name: WALK_LRF_DRIVE_EA + data_field: WALK_LRF_DRIVE_EA + - name: WALK_EXP_DRIVE_EA + data_field: WALK_EXP_DRIVE_EA + - name: WALK_DRIVE_HVY_EA + data_field: WALK_DRIVE_HVY_EA + - name: WALK_COM_DRIVE_EA + data_field: WALK_COM_DRIVE_EA + - file_name: trips_am.omx + tables: + - name: DRIVEALONEFREE_AM + data_field: DRIVEALONEFREE_AM + - name: DRIVEALONEPAY_AM + data_field: DRIVEALONEPAY_AM + - name: SHARED2FREE_AM + data_field: SHARED2FREE_AM + - name: SHARED2PAY_AM + data_field: SHARED2PAY_AM + - name: SHARED3FREE_AM + data_field: SHARED3FREE_AM + - name: SHARED3PAY_AM + data_field: SHARED3PAY_AM + - name: WALK_AM + data_field: WALK_AM + - name: BIKE_AM + data_field: BIKE_AM + - name: WALK_LOC_WALK_AM + data_field: WALK_LOC_WALK_AM + - name: WALK_LRF_WALK_AM + data_field: WALK_LRF_WALK_AM + - name: WALK_EXP_WALK_AM + data_field: WALK_EXP_WALK_AM + - name: WALK_HVY_WALK_AM + data_field: WALK_HVY_WALK_AM + - name: WALK_COM_WALK_AM + data_field: WALK_COM_WALK_AM + - name: DRIVE_LOC_WALK_AM + data_field: DRIVE_LOC_WALK_AM + - name: DRIVE_LRF_WALK_AM + data_field: DRIVE_LRF_WALK_AM + - name: DRIVE_EXP_WALK_AM + data_field: DRIVE_EXP_WALK_AM + - name: DRIVE_HVY_WALK_AM + data_field: DRIVE_HVY_WALK_AM + - name: DRIVE_COM_WALK_AM + data_field: DRIVE_COM_WALK_AM + - name: WALK_LOC_DRIVE_AM + data_field: WALK_LOC_DRIVE_AM + - name: WALK_LRF_DRIVE_AM + data_field: WALK_LRF_DRIVE_AM + - name: WALK_EXP_DRIVE_AM + data_field: WALK_EXP_DRIVE_AM + - name: WALK_DRIVE_HVY_AM + data_field: WALK_DRIVE_HVY_AM + - name: WALK_COM_DRIVE_AM + data_field: WALK_COM_DRIVE_AM + - file_name: trips_md.omx + tables: + - name: DRIVEALONEFREE_MD + data_field: DRIVEALONEFREE_MD + - name: DRIVEALONEPAY_MD + data_field: DRIVEALONEPAY_MD + - name: SHARED2FREE_MD + data_field: SHARED2FREE_MD + - name: SHARED2PAY_MD + data_field: SHARED2PAY_MD + - name: SHARED3FREE_MD + data_field: SHARED3FREE_MD + - name: SHARED3PAY_MD + data_field: SHARED3PAY_MD + - name: WALK_MD + data_field: WALK_MD + - name: BIKE_MD + data_field: BIKE_MD + - name: WALK_LOC_WALK_MD + data_field: WALK_LOC_WALK_MD + - name: WALK_LRF_WALK_MD + data_field: WALK_LRF_WALK_MD + - name: WALK_EXP_WALK_MD + data_field: WALK_EXP_WALK_MD + - name: WALK_HVY_WALK_MD + data_field: WALK_HVY_WALK_MD + - name: WALK_COM_WALK_MD + data_field: WALK_COM_WALK_MD + - name: DRIVE_LOC_WALK_MD + data_field: DRIVE_LOC_WALK_MD + - name: DRIVE_LRF_WALK_MD + data_field: DRIVE_LRF_WALK_MD + - name: DRIVE_EXP_WALK_MD + data_field: DRIVE_EXP_WALK_MD + - name: DRIVE_HVY_WALK_MD + data_field: DRIVE_HVY_WALK_MD + - name: DRIVE_COM_WALK_MD + data_field: DRIVE_COM_WALK_MD + - name: WALK_LOC_DRIVE_MD + data_field: WALK_LOC_DRIVE_MD + - name: WALK_LRF_DRIVE_MD + data_field: WALK_LRF_DRIVE_MD + - name: WALK_EXP_DRIVE_MD + data_field: WALK_EXP_DRIVE_MD + - name: WALK_DRIVE_HVY_MD + data_field: WALK_DRIVE_HVY_MD + - name: WALK_COM_DRIVE_MD + data_field: WALK_COM_DRIVE_MD + - file_name: trips_pm.omx + tables: + - name: DRIVEALONEFREE_PM + data_field: DRIVEALONEFREE_PM + - name: DRIVEALONEPAY_PM + data_field: DRIVEALONEPAY_PM + - name: SHARED2FREE_PM + data_field: SHARED2FREE_PM + - name: SHARED2PAY_PM + data_field: SHARED2PAY_PM + - name: SHARED3FREE_PM + data_field: SHARED3FREE_PM + - name: SHARED3PAY_PM + data_field: SHARED3PAY_PM + - name: WALK_PM + data_field: WALK_PM + - name: BIKE_PM + data_field: BIKE_PM + - name: WALK_LOC_WALK_PM + data_field: WALK_LOC_WALK_PM + - name: WALK_LRF_WALK_PM + data_field: WALK_LRF_WALK_PM + - name: WALK_EXP_WALK_PM + data_field: WALK_EXP_WALK_PM + - name: WALK_HVY_WALK_PM + data_field: WALK_HVY_WALK_PM + - name: WALK_COM_WALK_PM + data_field: WALK_COM_WALK_PM + - name: DRIVE_LOC_WALK_PM + data_field: DRIVE_LOC_WALK_PM + - name: DRIVE_LRF_WALK_PM + data_field: DRIVE_LRF_WALK_PM + - name: DRIVE_EXP_WALK_PM + data_field: DRIVE_EXP_WALK_PM + - name: DRIVE_HVY_WALK_PM + data_field: DRIVE_HVY_WALK_PM + - name: DRIVE_COM_WALK_PM + data_field: DRIVE_COM_WALK_PM + - name: WALK_LOC_DRIVE_PM + data_field: WALK_LOC_DRIVE_PM + - name: WALK_LRF_DRIVE_PM + data_field: WALK_LRF_DRIVE_PM + - name: WALK_EXP_DRIVE_PM + data_field: WALK_EXP_DRIVE_PM + - name: WALK_DRIVE_HVY_PM + data_field: WALK_DRIVE_HVY_PM + - name: WALK_COM_DRIVE_PM + data_field: WALK_COM_DRIVE_PM + - file_name: trips_ev.omx + tables: + - name: DRIVEALONEFREE_EV + data_field: DRIVEALONEFREE_EV + - name: DRIVEALONEPAY_EV + data_field: DRIVEALONEPAY_EV + - name: SHARED2FREE_EV + data_field: SHARED2FREE_EV + - name: SHARED2PAY_EV + data_field: SHARED2PAY_EV + - name: SHARED3FREE_EV + data_field: SHARED3FREE_EV + - name: SHARED3PAY_EV + data_field: SHARED3PAY_EV + - name: WALK_EV + data_field: WALK_EV + - name: BIKE_EV + data_field: BIKE_EV + - name: WALK_LOC_WALK_EV + data_field: WALK_LOC_WALK_EV + - name: WALK_LRF_WALK_EV + data_field: WALK_LRF_WALK_EV + - name: WALK_EXP_WALK_EV + data_field: WALK_EXP_WALK_EV + - name: WALK_HVY_WALK_EV + data_field: WALK_HVY_WALK_EV + - name: WALK_COM_WALK_EV + data_field: WALK_COM_WALK_EV + - name: DRIVE_LOC_WALK_EV + data_field: DRIVE_LOC_WALK_EV + - name: DRIVE_LRF_WALK_EV + data_field: DRIVE_LRF_WALK_EV + - name: DRIVE_EXP_WALK_EV + data_field: DRIVE_EXP_WALK_EV + - name: DRIVE_HVY_WALK_EV + data_field: DRIVE_HVY_WALK_EV + - name: DRIVE_COM_WALK_EV + data_field: DRIVE_COM_WALK_EV + - name: WALK_LOC_DRIVE_EV + data_field: WALK_LOC_DRIVE_EV + - name: WALK_LRF_DRIVE_EV + data_field: WALK_LRF_DRIVE_EV + - name: WALK_EXP_DRIVE_EV + data_field: WALK_EXP_DRIVE_EV + - name: WALK_DRIVE_HVY_EV + data_field: WALK_DRIVE_HVY_EV + - name: WALK_COM_DRIVE_EV + data_field: WALK_COM_DRIVE_EV + +CONSTANTS: + time_periods: + EA: + first_hour: 3 + last_hour: 5 + AM: + first_hour: 6 + last_hour: 9 + MD: + first_hour: 10 + last_hour: 14 + PM: + first_hour: 15 + last_hour: 18 + EV: + first_hour: 19 + last_hour: 2 + # SHARED2 and SHARED3 Occupancies + OCC_SHARED2: 2.0 + OCC_SHARED3: 3.33 diff --git a/activitysim/examples/example_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv similarity index 98% rename from activitysim/examples/example_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv index 2f740b2da8..1c599d7567 100644 --- a/activitysim/examples/example_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv +++ b/activitysim/examples/prototype_mtc/configs/write_trip_matrices_annotate_trips_preprocessor.csv @@ -1,130 +1,130 @@ -Description,Target,Expression -# add additional fields,, -,tour_participants,trips.tour_id.map(tours.number_of_participants) -,distance,od_skims['DIST'] -# code time periods,, -,is_ea,"trips.depart.between(time_periods['EA']['first_hour'], time_periods['EA']['last_hour'])" -,is_am,"trips.depart.between(time_periods['AM']['first_hour'], time_periods['AM']['last_hour'])" -,is_md,"trips.depart.between(time_periods['MD']['first_hour'], time_periods['MD']['last_hour'])" -,is_pm,"trips.depart.between(time_periods['PM']['first_hour'], time_periods['PM']['last_hour'])" -,is_ev,(trips.depart >= time_periods['EV']['first_hour']) | (trips.depart <= time_periods['EV']['last_hour']) -# ea trips,, -,DRIVEALONEFREE_EA,((trips.trip_mode == 'DRIVEALONEFREE') & is_ea) * tour_participants -,DRIVEALONEPAY_EA,((trips.trip_mode == 'DRIVEALONEPAY') & is_ea) * tour_participants -,SHARED2FREE_EA,((trips.trip_mode == 'SHARED2FREE') & is_ea) * tour_participants / OCC_SHARED2 -,SHARED2PAY_EA,((trips.trip_mode == 'SHARED2PAY') & is_ea) * tour_participants / OCC_SHARED2 -,SHARED3FREE_EA,((trips.trip_mode == 'SHARED3FREE') & is_ea) * tour_participants / OCC_SHARED3 -,SHARED3PAY_EA,((trips.trip_mode == 'SHARED3PAY') & is_ea) * tour_participants / OCC_SHARED3 -,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants -,BIKE_EA,((trips.trip_mode == 'BIKE') & is_ea) * tour_participants -,WALK_LOC_WALK_EA,((trips.trip_mode == 'WALK_LOC') & is_ea) * tour_participants -,WALK_LRF_WALK_EA,((trips.trip_mode == 'WALK_LRF') & is_ea) * tour_participants -,WALK_EXP_WALK_EA,((trips.trip_mode == 'WALK_EXP') & is_ea) * tour_participants -,WALK_HVY_WALK_EA,((trips.trip_mode == 'WALK_HVY') & is_ea) * tour_participants -,WALK_COM_WALK_EA,((trips.trip_mode == 'WALK_COM') & is_ea) * tour_participants -,DRIVE_LOC_WALK_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & trips.outbound) * tour_participants -,DRIVE_COM_WALK_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & ~trips.outbound) * tour_participants -# am trips,, -,DRIVEALONEFREE_AM,((trips.trip_mode == 'DRIVEALONEFREE') & is_am) * tour_participants -,DRIVEALONEPAY_AM,((trips.trip_mode == 'DRIVEALONEPAY') & is_am) * tour_participants -,SHARED2FREE_AM,((trips.trip_mode == 'SHARED2FREE') & is_am) * tour_participants / OCC_SHARED2 -,SHARED2PAY_AM,((trips.trip_mode == 'SHARED2PAY') & is_am) * tour_participants / OCC_SHARED2 -,SHARED3FREE_AM,((trips.trip_mode == 'SHARED3FREE') & is_am) * tour_participants / OCC_SHARED3 -,SHARED3PAY_AM,((trips.trip_mode == 'SHARED3PAY') & is_am) * tour_participants / OCC_SHARED3 -,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants -,BIKE_AM,((trips.trip_mode == 'BIKE') & is_am) * tour_participants -,WALK_LOC_WALK_AM,((trips.trip_mode == 'WALK_LOC') & is_am) * tour_participants -,WALK_LRF_WALK_AM,((trips.trip_mode == 'WALK_LRF') & is_am) * tour_participants -,WALK_EXP_WALK_AM,((trips.trip_mode == 'WALK_EXP') & is_am) * tour_participants -,WALK_HVY_WALK_AM,((trips.trip_mode == 'WALK_HVY') & is_am) * tour_participants -,WALK_COM_WALK_AM,((trips.trip_mode == 'WALK_COM') & is_am) * tour_participants -,DRIVE_LOC_WALK_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & trips.outbound) * tour_participants -,DRIVE_COM_WALK_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & ~trips.outbound) * tour_participants -# md trips,, -,DRIVEALONEFREE_MD,((trips.trip_mode == 'DRIVEALONEFREE') & is_md) * tour_participants -,DRIVEALONEPAY_MD,((trips.trip_mode == 'DRIVEALONEPAY') & is_md) * tour_participants -,SHARED2FREE_MD,((trips.trip_mode == 'SHARED2FREE') & is_md) * tour_participants / OCC_SHARED2 -,SHARED2PAY_MD,((trips.trip_mode == 'SHARED2PAY') & is_md) * tour_participants / OCC_SHARED2 -,SHARED3FREE_MD,((trips.trip_mode == 'SHARED3FREE') & is_md) * tour_participants / OCC_SHARED3 -,SHARED3PAY_MD,((trips.trip_mode == 'SHARED3PAY') & is_md) * tour_participants / OCC_SHARED3 -,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants -,BIKE_MD,((trips.trip_mode == 'BIKE') & is_md) * tour_participants -,WALK_LOC_WALK_MD,((trips.trip_mode == 'WALK_LOC') & is_md) * tour_participants -,WALK_LRF_WALK_MD,((trips.trip_mode == 'WALK_LRF') & is_md) * tour_participants -,WALK_EXP_WALK_MD,((trips.trip_mode == 'WALK_EXP') & is_md) * tour_participants -,WALK_HVY_WALK_MD,((trips.trip_mode == 'WALK_HVY') & is_md) * tour_participants -,WALK_COM_WALK_MD,((trips.trip_mode == 'WALK_COM') & is_md) * tour_participants -,DRIVE_LOC_WALK_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & trips.outbound) * tour_participants -,DRIVE_COM_WALK_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & ~trips.outbound) * tour_participants -# pm trips,, -,DRIVEALONEFREE_PM,((trips.trip_mode == 'DRIVEALONEFREE') & is_pm) * tour_participants -,DRIVEALONEPAY_PM,((trips.trip_mode == 'DRIVEALONEPAY') & is_pm) * tour_participants -,SHARED2FREE_PM,((trips.trip_mode == 'SHARED2FREE') & is_pm) * tour_participants / OCC_SHARED2 -,SHARED2PAY_PM,((trips.trip_mode == 'SHARED2PAY') & is_pm) * tour_participants / OCC_SHARED2 -,SHARED3FREE_PM,((trips.trip_mode == 'SHARED3FREE') & is_pm) * tour_participants / OCC_SHARED3 -,SHARED3PAY_PM,((trips.trip_mode == 'SHARED3PAY') & is_pm) * tour_participants / OCC_SHARED3 -,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants -,BIKE_PM,((trips.trip_mode == 'BIKE') & is_pm) * tour_participants -,WALK_LOC_WALK_PM,((trips.trip_mode == 'WALK_LOC') & is_pm) * tour_participants -,WALK_LRF_WALK_PM,((trips.trip_mode == 'WALK_LRF') & is_pm) * tour_participants -,WALK_EXP_WALK_PM,((trips.trip_mode == 'WALK_EXP') & is_pm) * tour_participants -,WALK_HVY_WALK_PM,((trips.trip_mode == 'WALK_HVY') & is_pm) * tour_participants -,WALK_COM_WALK_PM,((trips.trip_mode == 'WALK_COM') & is_pm) * tour_participants -,DRIVE_LOC_WALK_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & trips.outbound) * tour_participants -,DRIVE_COM_WALK_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & ~trips.outbound) * tour_participants -# ev trips,, -,DRIVEALONEFREE_EV,((trips.trip_mode == 'DRIVEALONEFREE') & is_ev) * tour_participants -,DRIVEALONEPAY_EV,((trips.trip_mode == 'DRIVEALONEPAY') & is_ev) * tour_participants -,SHARED2FREE_EV,((trips.trip_mode == 'SHARED2FREE') & is_ev) * tour_participants / OCC_SHARED2 -,SHARED2PAY_EV,((trips.trip_mode == 'SHARED2PAY') & is_ev) * tour_participants / OCC_SHARED2 -,SHARED3FREE_EV,((trips.trip_mode == 'SHARED3FREE') & is_ev) * tour_participants / OCC_SHARED3 -,SHARED3PAY_EV,((trips.trip_mode == 'SHARED3PAY') & is_ev) * tour_participants / OCC_SHARED3 -,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants -,BIKE_EV,((trips.trip_mode == 'BIKE') & is_ev) * tour_participants -,WALK_LOC_WALK_EV,((trips.trip_mode == 'WALK_LOC') & is_ev) * tour_participants -,WALK_LRF_WALK_EV,((trips.trip_mode == 'WALK_LRF') & is_ev) * tour_participants -,WALK_EXP_WALK_EV,((trips.trip_mode == 'WALK_EXP') & is_ev) * tour_participants -,WALK_HVY_WALK_EV,((trips.trip_mode == 'WALK_HVY') & is_ev) * tour_participants -,WALK_COM_WALK_EV,((trips.trip_mode == 'WALK_COM') & is_ev) * tour_participants -,DRIVE_LOC_WALK_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & trips.outbound) * tour_participants -,DRIVE_LRF_WALK_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & trips.outbound) * tour_participants -,DRIVE_EXP_WALK_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & trips.outbound) * tour_participants -,DRIVE_HVY_WALK_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & trips.outbound) * tour_participants -,DRIVE_COM_WALK_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & trips.outbound) * tour_participants -,WALK_LOC_DRIVE_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & ~trips.outbound) * tour_participants -,WALK_LRF_DRIVE_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & ~trips.outbound) * tour_participants -,WALK_EXP_DRIVE_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & ~trips.outbound) * tour_participants -,WALK_DRIVE_HVY_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & ~trips.outbound) * tour_participants -,WALK_COM_DRIVE_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & ~trips.outbound) * tour_participants +Description,Target,Expression +# add additional fields,, +,tour_participants,trips.tour_id.map(tours.number_of_participants) +,distance,od_skims['DIST'] +# code time periods,, +,is_ea,"trips.depart.between(time_periods['EA']['first_hour'], time_periods['EA']['last_hour'])" +,is_am,"trips.depart.between(time_periods['AM']['first_hour'], time_periods['AM']['last_hour'])" +,is_md,"trips.depart.between(time_periods['MD']['first_hour'], time_periods['MD']['last_hour'])" +,is_pm,"trips.depart.between(time_periods['PM']['first_hour'], time_periods['PM']['last_hour'])" +,is_ev,(trips.depart >= time_periods['EV']['first_hour']) | (trips.depart <= time_periods['EV']['last_hour']) +# ea trips,, +,DRIVEALONEFREE_EA,((trips.trip_mode == 'DRIVEALONEFREE') & is_ea) * tour_participants +,DRIVEALONEPAY_EA,((trips.trip_mode == 'DRIVEALONEPAY') & is_ea) * tour_participants +,SHARED2FREE_EA,((trips.trip_mode == 'SHARED2FREE') & is_ea) * tour_participants / OCC_SHARED2 +,SHARED2PAY_EA,((trips.trip_mode == 'SHARED2PAY') & is_ea) * tour_participants / OCC_SHARED2 +,SHARED3FREE_EA,((trips.trip_mode == 'SHARED3FREE') & is_ea) * tour_participants / OCC_SHARED3 +,SHARED3PAY_EA,((trips.trip_mode == 'SHARED3PAY') & is_ea) * tour_participants / OCC_SHARED3 +,WALK_EA,((trips.trip_mode == 'WALK') & is_ea) * tour_participants +,BIKE_EA,((trips.trip_mode == 'BIKE') & is_ea) * tour_participants +,WALK_LOC_WALK_EA,((trips.trip_mode == 'WALK_LOC') & is_ea) * tour_participants +,WALK_LRF_WALK_EA,((trips.trip_mode == 'WALK_LRF') & is_ea) * tour_participants +,WALK_EXP_WALK_EA,((trips.trip_mode == 'WALK_EXP') & is_ea) * tour_participants +,WALK_HVY_WALK_EA,((trips.trip_mode == 'WALK_HVY') & is_ea) * tour_participants +,WALK_COM_WALK_EA,((trips.trip_mode == 'WALK_COM') & is_ea) * tour_participants +,DRIVE_LOC_WALK_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & trips.outbound) * tour_participants +,DRIVE_COM_WALK_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_EA,((trips.trip_mode == 'DRIVE_LOC') & is_ea & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_EA,((trips.trip_mode == 'DRIVE_LRF') & is_ea & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_EA,((trips.trip_mode == 'DRIVE_EXP') & is_ea & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_EA,((trips.trip_mode == 'DRIVE_HVY') & is_ea & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_EA,((trips.trip_mode == 'DRIVE_COM') & is_ea & ~trips.outbound) * tour_participants +# am trips,, +,DRIVEALONEFREE_AM,((trips.trip_mode == 'DRIVEALONEFREE') & is_am) * tour_participants +,DRIVEALONEPAY_AM,((trips.trip_mode == 'DRIVEALONEPAY') & is_am) * tour_participants +,SHARED2FREE_AM,((trips.trip_mode == 'SHARED2FREE') & is_am) * tour_participants / OCC_SHARED2 +,SHARED2PAY_AM,((trips.trip_mode == 'SHARED2PAY') & is_am) * tour_participants / OCC_SHARED2 +,SHARED3FREE_AM,((trips.trip_mode == 'SHARED3FREE') & is_am) * tour_participants / OCC_SHARED3 +,SHARED3PAY_AM,((trips.trip_mode == 'SHARED3PAY') & is_am) * tour_participants / OCC_SHARED3 +,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants +,BIKE_AM,((trips.trip_mode == 'BIKE') & is_am) * tour_participants +,WALK_LOC_WALK_AM,((trips.trip_mode == 'WALK_LOC') & is_am) * tour_participants +,WALK_LRF_WALK_AM,((trips.trip_mode == 'WALK_LRF') & is_am) * tour_participants +,WALK_EXP_WALK_AM,((trips.trip_mode == 'WALK_EXP') & is_am) * tour_participants +,WALK_HVY_WALK_AM,((trips.trip_mode == 'WALK_HVY') & is_am) * tour_participants +,WALK_COM_WALK_AM,((trips.trip_mode == 'WALK_COM') & is_am) * tour_participants +,DRIVE_LOC_WALK_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & trips.outbound) * tour_participants +,DRIVE_COM_WALK_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_AM,((trips.trip_mode == 'DRIVE_LOC') & is_am & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_AM,((trips.trip_mode == 'DRIVE_LRF') & is_am & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_AM,((trips.trip_mode == 'DRIVE_EXP') & is_am & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_AM,((trips.trip_mode == 'DRIVE_HVY') & is_am & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_AM,((trips.trip_mode == 'DRIVE_COM') & is_am & ~trips.outbound) * tour_participants +# md trips,, +,DRIVEALONEFREE_MD,((trips.trip_mode == 'DRIVEALONEFREE') & is_md) * tour_participants +,DRIVEALONEPAY_MD,((trips.trip_mode == 'DRIVEALONEPAY') & is_md) * tour_participants +,SHARED2FREE_MD,((trips.trip_mode == 'SHARED2FREE') & is_md) * tour_participants / OCC_SHARED2 +,SHARED2PAY_MD,((trips.trip_mode == 'SHARED2PAY') & is_md) * tour_participants / OCC_SHARED2 +,SHARED3FREE_MD,((trips.trip_mode == 'SHARED3FREE') & is_md) * tour_participants / OCC_SHARED3 +,SHARED3PAY_MD,((trips.trip_mode == 'SHARED3PAY') & is_md) * tour_participants / OCC_SHARED3 +,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants +,BIKE_MD,((trips.trip_mode == 'BIKE') & is_md) * tour_participants +,WALK_LOC_WALK_MD,((trips.trip_mode == 'WALK_LOC') & is_md) * tour_participants +,WALK_LRF_WALK_MD,((trips.trip_mode == 'WALK_LRF') & is_md) * tour_participants +,WALK_EXP_WALK_MD,((trips.trip_mode == 'WALK_EXP') & is_md) * tour_participants +,WALK_HVY_WALK_MD,((trips.trip_mode == 'WALK_HVY') & is_md) * tour_participants +,WALK_COM_WALK_MD,((trips.trip_mode == 'WALK_COM') & is_md) * tour_participants +,DRIVE_LOC_WALK_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & trips.outbound) * tour_participants +,DRIVE_COM_WALK_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_MD,((trips.trip_mode == 'DRIVE_LOC') & is_md & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_MD,((trips.trip_mode == 'DRIVE_LRF') & is_md & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_MD,((trips.trip_mode == 'DRIVE_EXP') & is_md & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_MD,((trips.trip_mode == 'DRIVE_HVY') & is_md & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_MD,((trips.trip_mode == 'DRIVE_COM') & is_md & ~trips.outbound) * tour_participants +# pm trips,, +,DRIVEALONEFREE_PM,((trips.trip_mode == 'DRIVEALONEFREE') & is_pm) * tour_participants +,DRIVEALONEPAY_PM,((trips.trip_mode == 'DRIVEALONEPAY') & is_pm) * tour_participants +,SHARED2FREE_PM,((trips.trip_mode == 'SHARED2FREE') & is_pm) * tour_participants / OCC_SHARED2 +,SHARED2PAY_PM,((trips.trip_mode == 'SHARED2PAY') & is_pm) * tour_participants / OCC_SHARED2 +,SHARED3FREE_PM,((trips.trip_mode == 'SHARED3FREE') & is_pm) * tour_participants / OCC_SHARED3 +,SHARED3PAY_PM,((trips.trip_mode == 'SHARED3PAY') & is_pm) * tour_participants / OCC_SHARED3 +,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants +,BIKE_PM,((trips.trip_mode == 'BIKE') & is_pm) * tour_participants +,WALK_LOC_WALK_PM,((trips.trip_mode == 'WALK_LOC') & is_pm) * tour_participants +,WALK_LRF_WALK_PM,((trips.trip_mode == 'WALK_LRF') & is_pm) * tour_participants +,WALK_EXP_WALK_PM,((trips.trip_mode == 'WALK_EXP') & is_pm) * tour_participants +,WALK_HVY_WALK_PM,((trips.trip_mode == 'WALK_HVY') & is_pm) * tour_participants +,WALK_COM_WALK_PM,((trips.trip_mode == 'WALK_COM') & is_pm) * tour_participants +,DRIVE_LOC_WALK_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & trips.outbound) * tour_participants +,DRIVE_COM_WALK_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_PM,((trips.trip_mode == 'DRIVE_LOC') & is_pm & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_PM,((trips.trip_mode == 'DRIVE_LRF') & is_pm & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_PM,((trips.trip_mode == 'DRIVE_EXP') & is_pm & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_PM,((trips.trip_mode == 'DRIVE_HVY') & is_pm & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_PM,((trips.trip_mode == 'DRIVE_COM') & is_pm & ~trips.outbound) * tour_participants +# ev trips,, +,DRIVEALONEFREE_EV,((trips.trip_mode == 'DRIVEALONEFREE') & is_ev) * tour_participants +,DRIVEALONEPAY_EV,((trips.trip_mode == 'DRIVEALONEPAY') & is_ev) * tour_participants +,SHARED2FREE_EV,((trips.trip_mode == 'SHARED2FREE') & is_ev) * tour_participants / OCC_SHARED2 +,SHARED2PAY_EV,((trips.trip_mode == 'SHARED2PAY') & is_ev) * tour_participants / OCC_SHARED2 +,SHARED3FREE_EV,((trips.trip_mode == 'SHARED3FREE') & is_ev) * tour_participants / OCC_SHARED3 +,SHARED3PAY_EV,((trips.trip_mode == 'SHARED3PAY') & is_ev) * tour_participants / OCC_SHARED3 +,WALK_EV,((trips.trip_mode == 'WALK') & is_ev) * tour_participants +,BIKE_EV,((trips.trip_mode == 'BIKE') & is_ev) * tour_participants +,WALK_LOC_WALK_EV,((trips.trip_mode == 'WALK_LOC') & is_ev) * tour_participants +,WALK_LRF_WALK_EV,((trips.trip_mode == 'WALK_LRF') & is_ev) * tour_participants +,WALK_EXP_WALK_EV,((trips.trip_mode == 'WALK_EXP') & is_ev) * tour_participants +,WALK_HVY_WALK_EV,((trips.trip_mode == 'WALK_HVY') & is_ev) * tour_participants +,WALK_COM_WALK_EV,((trips.trip_mode == 'WALK_COM') & is_ev) * tour_participants +,DRIVE_LOC_WALK_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & trips.outbound) * tour_participants +,DRIVE_LRF_WALK_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & trips.outbound) * tour_participants +,DRIVE_EXP_WALK_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & trips.outbound) * tour_participants +,DRIVE_HVY_WALK_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & trips.outbound) * tour_participants +,DRIVE_COM_WALK_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & trips.outbound) * tour_participants +,WALK_LOC_DRIVE_EV,((trips.trip_mode == 'DRIVE_LOC') & is_ev & ~trips.outbound) * tour_participants +,WALK_LRF_DRIVE_EV,((trips.trip_mode == 'DRIVE_LRF') & is_ev & ~trips.outbound) * tour_participants +,WALK_EXP_DRIVE_EV,((trips.trip_mode == 'DRIVE_EXP') & is_ev & ~trips.outbound) * tour_participants +,WALK_DRIVE_HVY_EV,((trips.trip_mode == 'DRIVE_HVY') & is_ev & ~trips.outbound) * tour_participants +,WALK_COM_DRIVE_EV,((trips.trip_mode == 'DRIVE_COM') & is_ev & ~trips.outbound) * tour_participants diff --git a/activitysim/examples/example_mtc/configs_mp/logging.yaml b/activitysim/examples/prototype_mtc/configs_mp/logging.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs_mp/logging.yaml rename to activitysim/examples/prototype_mtc/configs_mp/logging.yaml diff --git a/activitysim/examples/example_mtc/configs_mp/settings.yaml b/activitysim/examples/prototype_mtc/configs_mp/settings.yaml similarity index 100% rename from activitysim/examples/example_mtc/configs_mp/settings.yaml rename to activitysim/examples/prototype_mtc/configs_mp/settings.yaml diff --git a/activitysim/examples/example_mtc/data/.gitignore b/activitysim/examples/prototype_mtc/data/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/data/.gitignore rename to activitysim/examples/prototype_mtc/data/.gitignore diff --git a/activitysim/examples/example_multiple_zone/data_1/households.csv b/activitysim/examples/prototype_mtc/data/households.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data_1/households.csv rename to activitysim/examples/prototype_mtc/data/households.csv diff --git a/activitysim/examples/example_multiple_zone/data_1/land_use.csv b/activitysim/examples/prototype_mtc/data/land_use.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data_1/land_use.csv rename to activitysim/examples/prototype_mtc/data/land_use.csv diff --git a/activitysim/examples/example_multiple_zone/data/mtc_asim.h5 b/activitysim/examples/prototype_mtc/data/mtc_asim.h5 similarity index 100% rename from activitysim/examples/example_multiple_zone/data/mtc_asim.h5 rename to activitysim/examples/prototype_mtc/data/mtc_asim.h5 diff --git a/activitysim/examples/example_multiple_zone/data/override_hh_ids.csv b/activitysim/examples/prototype_mtc/data/override_hh_ids.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data/override_hh_ids.csv rename to activitysim/examples/prototype_mtc/data/override_hh_ids.csv diff --git a/activitysim/examples/example_multiple_zone/data_1/persons.csv b/activitysim/examples/prototype_mtc/data/persons.csv similarity index 100% rename from activitysim/examples/example_multiple_zone/data_1/persons.csv rename to activitysim/examples/prototype_mtc/data/persons.csv diff --git a/activitysim/examples/example_multiple_zone/data_1/skims.omx b/activitysim/examples/prototype_mtc/data/skims.omx similarity index 100% rename from activitysim/examples/example_multiple_zone/data_1/skims.omx rename to activitysim/examples/prototype_mtc/data/skims.omx diff --git a/activitysim/examples/example_mtc/notebooks/README.md b/activitysim/examples/prototype_mtc/notebooks/README.md similarity index 100% rename from activitysim/examples/example_mtc/notebooks/README.md rename to activitysim/examples/prototype_mtc/notebooks/README.md diff --git a/activitysim/examples/example_mtc/notebooks/adding_tncs.ipynb b/activitysim/examples/prototype_mtc/notebooks/adding_tncs.ipynb similarity index 100% rename from activitysim/examples/example_mtc/notebooks/adding_tncs.ipynb rename to activitysim/examples/prototype_mtc/notebooks/adding_tncs.ipynb diff --git a/activitysim/examples/example_mtc/notebooks/change_in_auto_ownership.ipynb b/activitysim/examples/prototype_mtc/notebooks/change_in_auto_ownership.ipynb similarity index 99% rename from activitysim/examples/example_mtc/notebooks/change_in_auto_ownership.ipynb rename to activitysim/examples/prototype_mtc/notebooks/change_in_auto_ownership.ipynb index e093ecb92b..3220d27896 100644 --- a/activitysim/examples/example_mtc/notebooks/change_in_auto_ownership.ipynb +++ b/activitysim/examples/prototype_mtc/notebooks/change_in_auto_ownership.ipynb @@ -41,26 +41,26 @@ "copying configs_mp ...\n", "copying output ...\n", "copying README.MD ...\n", - "copied! new project files are in C:\\projects\\development\\activitysim_rsg\\notebooks\\example_base_auto_own\\example_mtc\n", + "copied! new project files are in C:\\projects\\development\\activitysim_rsg\\notebooks\\example_base_auto_own\\prototype_mtc\n", "the copied example can be run with\n", "\n", - " activitysim run -w example_base_auto_own\\example_mtc\n", + " activitysim run -w example_base_auto_own\\prototype_mtc\n", "copying data ...\n", "copying configs ...\n", "copying configs_mp ...\n", "copying output ...\n", "copying README.MD ...\n", - "copied! new project files are in C:\\projects\\development\\activitysim_rsg\\notebooks\\example_base_auto_own_alternative\\example_mtc\n", + "copied! new project files are in C:\\projects\\development\\activitysim_rsg\\notebooks\\example_base_auto_own_alternative\\prototype_mtc\n", "the copied example can be run with\n", "\n", - " activitysim run -w example_base_auto_own_alternative\\example_mtc\n" + " activitysim run -w example_base_auto_own_alternative\\prototype_mtc\n" ] } ], "source": [ - "!activitysim create -e example_mtc -d example_base_auto_own\n", + "!activitysim create -e prototype_mtc -d example_base_auto_own\n", "\n", - "!activitysim create -e example_mtc -d example_base_auto_own_alternative" + "!activitysim create -e prototype_mtc -d example_base_auto_own_alternative" ] }, { diff --git a/activitysim/examples/example_mtc/notebooks/getting_started.ipynb b/activitysim/examples/prototype_mtc/notebooks/getting_started.ipynb similarity index 99% rename from activitysim/examples/example_mtc/notebooks/getting_started.ipynb rename to activitysim/examples/prototype_mtc/notebooks/getting_started.ipynb index 2a03e452ab..501b2882fe 100644 --- a/activitysim/examples/example_mtc/notebooks/getting_started.ipynb +++ b/activitysim/examples/prototype_mtc/notebooks/getting_started.ipynb @@ -78,7 +78,7 @@ "source": [ "# Creating an Example Setup\n", "\n", - "The example is included in the package and can be copied to a user defined location using the package's command line interface. The example includes all model steps. The command below copies the example_mtc example to a new example folder. It also changes into the new example folder so we can run the model from there." + "The example is included in the package and can be copied to a user defined location using the package's command line interface. The example includes all model steps. The command below copies the prototype_mtc example to a new example folder. It also changes into the new example folder so we can run the model from there." ] }, { @@ -103,13 +103,13 @@ "copying configs_mp ...\n", "copying output ...\n", "copying README.MD ...\n", - "copied! new project files are in C:\\projects\\development\\activitysim\\activitysim\\examples\\example_mtc\\notebooks\\example\n", - "C:\\projects\\development\\activitysim\\activitysim\\examples\\example_mtc\\notebooks\\example\n" + "copied! new project files are in C:\\projects\\development\\activitysim\\activitysim\\examples\\prototype_mtc\\notebooks\\example\n", + "C:\\projects\\development\\activitysim\\activitysim\\examples\\prototype_mtc\\notebooks\\example\n" ] } ], "source": [ - "!activitysim create -e example_mtc -d example\n", + "!activitysim create -e prototype_mtc -d example\n", "%cd example" ] }, @@ -122,7 +122,7 @@ "source": [ "# Run the Example\n", "\n", - "The code below runs the example, which runs in a few minutes. The example consists of 100 synthetic households and the first 25 zones in the example model region. The full example (**example_mtc_full**) can be created and downloaded from the [activitysim resources](https://github.com/RSGInc/activitysim_resources) repository using activitysim's create command above. As the model runs, it logs information to the screen. \n", + "The code below runs the example, which runs in a few minutes. The example consists of 100 synthetic households and the first 25 zones in the example model region. The full example (**prototype_mtc_full**) can be created and downloaded from the [activitysim resources](https://github.com/ActivitySim/activitysim_resources) repository using activitysim's create command above. As the model runs, it logs information to the screen. \n", "\n", "To run the example, use activitysim's built-in run command. As shown in the script help, the default settings assume a configs, data, and output folder in the current directory." ] diff --git a/activitysim/examples/example_mtc/notebooks/memory_usage.ipynb b/activitysim/examples/prototype_mtc/notebooks/memory_usage.ipynb similarity index 100% rename from activitysim/examples/example_mtc/notebooks/memory_usage.ipynb rename to activitysim/examples/prototype_mtc/notebooks/memory_usage.ipynb diff --git a/activitysim/examples/example_mtc/notebooks/summarizing_results.ipynb b/activitysim/examples/prototype_mtc/notebooks/summarizing_results.ipynb similarity index 100% rename from activitysim/examples/example_mtc/notebooks/summarizing_results.ipynb rename to activitysim/examples/prototype_mtc/notebooks/summarizing_results.ipynb diff --git a/activitysim/examples/example_mtc/notebooks/trips_in_time_and_space.ipynb b/activitysim/examples/prototype_mtc/notebooks/trips_in_time_and_space.ipynb similarity index 100% rename from activitysim/examples/example_mtc/notebooks/trips_in_time_and_space.ipynb rename to activitysim/examples/prototype_mtc/notebooks/trips_in_time_and_space.ipynb diff --git a/activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.dbf b/activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.dbf similarity index 100% rename from activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.dbf rename to activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.dbf diff --git a/activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.prj b/activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.prj similarity index 100% rename from activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.prj rename to activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.prj diff --git a/activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shp b/activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shp similarity index 100% rename from activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shp rename to activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shp diff --git a/activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shx b/activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shx similarity index 100% rename from activitysim/examples/example_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shx rename to activitysim/examples/prototype_mtc/notebooks/zone_shapefile/bayarea_rtaz1454_rev1.shx diff --git a/activitysim/examples/example_mtc/output/.gitignore b/activitysim/examples/prototype_mtc/output/.gitignore similarity index 100% rename from activitysim/examples/example_mtc/output/.gitignore rename to activitysim/examples/prototype_mtc/output/.gitignore diff --git a/activitysim/examples/example_sandag/output_1/cache/.gitignore b/activitysim/examples/prototype_mtc/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_1/cache/.gitignore rename to activitysim/examples/prototype_mtc/output/cache/.gitignore diff --git a/activitysim/examples/example_sandag/output_1/trace/.gitignore b/activitysim/examples/prototype_mtc/output/log/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_1/trace/.gitignore rename to activitysim/examples/prototype_mtc/output/log/.gitignore diff --git a/activitysim/examples/example_mtc/output/summarize/dashboard-1-summary.yaml b/activitysim/examples/prototype_mtc/output/summarize/dashboard-1-summary.yaml similarity index 100% rename from activitysim/examples/example_mtc/output/summarize/dashboard-1-summary.yaml rename to activitysim/examples/prototype_mtc/output/summarize/dashboard-1-summary.yaml diff --git a/activitysim/examples/example_mtc/output/summarize/taz1454.geojson b/activitysim/examples/prototype_mtc/output/summarize/taz1454.geojson similarity index 100% rename from activitysim/examples/example_mtc/output/summarize/taz1454.geojson rename to activitysim/examples/prototype_mtc/output/summarize/taz1454.geojson diff --git a/activitysim/examples/example_mtc/output/summarize/topsheet.yaml b/activitysim/examples/prototype_mtc/output/summarize/topsheet.yaml similarity index 100% rename from activitysim/examples/example_mtc/output/summarize/topsheet.yaml rename to activitysim/examples/prototype_mtc/output/summarize/topsheet.yaml diff --git a/activitysim/examples/example_sandag/output_2/log/.gitignore b/activitysim/examples/prototype_mtc/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_2/log/.gitignore rename to activitysim/examples/prototype_mtc/output/trace/.gitignore diff --git a/activitysim/examples/example_mtc/simulation.py b/activitysim/examples/prototype_mtc/simulation.py similarity index 91% rename from activitysim/examples/example_mtc/simulation.py rename to activitysim/examples/prototype_mtc/simulation.py index f68bee0dbd..e89ab18e33 100644 --- a/activitysim/examples/example_mtc/simulation.py +++ b/activitysim/examples/prototype_mtc/simulation.py @@ -1,14 +1,13 @@ # ActivitySim # See full license in LICENSE.txt. -import sys import argparse +import sys from activitysim import abm # register injectables - from activitysim.cli.run import add_run_args, run -if __name__ == '__main__': +if __name__ == "__main__": parser = argparse.ArgumentParser() add_run_args(parser) diff --git a/activitysim/examples/example_multiple_zone/test/configs_2_zone/network_los.yaml b/activitysim/examples/prototype_mtc/test/configs/network_los.yaml similarity index 100% rename from activitysim/examples/example_multiple_zone/test/configs_2_zone/network_los.yaml rename to activitysim/examples/prototype_mtc/test/configs/network_los.yaml diff --git a/activitysim/examples/example_mtc/test/configs/settings.yaml b/activitysim/examples/prototype_mtc/test/configs/settings.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs/settings.yaml rename to activitysim/examples/prototype_mtc/test/configs/settings.yaml diff --git a/activitysim/examples/example_sandag/test/configs_1_zone/network_los.yaml b/activitysim/examples/prototype_mtc/test/configs_chunkless/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_1_zone/network_los.yaml rename to activitysim/examples/prototype_mtc/test/configs_chunkless/network_los.yaml diff --git a/activitysim/examples/example_mtc/test/configs_chunkless/settings.yaml b/activitysim/examples/prototype_mtc/test/configs_chunkless/settings.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs_chunkless/settings.yaml rename to activitysim/examples/prototype_mtc/test/configs_chunkless/settings.yaml diff --git a/activitysim/examples/example_sandag/test/configs_2_zone/network_los.yaml b/activitysim/examples/prototype_mtc/test/configs_mp/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag/test/configs_2_zone/network_los.yaml rename to activitysim/examples/prototype_mtc/test/configs_mp/network_los.yaml diff --git a/activitysim/examples/example_mtc/test/configs_mp/settings.yaml b/activitysim/examples/prototype_mtc/test/configs_mp/settings.yaml similarity index 100% rename from activitysim/examples/example_mtc/test/configs_mp/settings.yaml rename to activitysim/examples/prototype_mtc/test/configs_mp/settings.yaml diff --git a/activitysim/examples/example_sandag/output_2/.gitignore b/activitysim/examples/prototype_mtc/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_2/.gitignore rename to activitysim/examples/prototype_mtc/test/output/.gitignore diff --git a/activitysim/examples/example_sandag/output_2/cache/.gitignore b/activitysim/examples/prototype_mtc/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_2/cache/.gitignore rename to activitysim/examples/prototype_mtc/test/output/cache/.gitignore diff --git a/activitysim/examples/example_sandag/output_2/trace/.gitignore b/activitysim/examples/prototype_mtc/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_2/trace/.gitignore rename to activitysim/examples/prototype_mtc/test/output/trace/.gitignore diff --git a/activitysim/examples/example_mtc/test/regress/final_trips.csv b/activitysim/examples/prototype_mtc/test/regress/final_trips.csv similarity index 100% rename from activitysim/examples/example_mtc/test/regress/final_trips.csv rename to activitysim/examples/prototype_mtc/test/regress/final_trips.csv diff --git a/activitysim/examples/prototype_mtc/test/simulation.py b/activitysim/examples/prototype_mtc/test/simulation.py new file mode 100755 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/prototype_mtc/test/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/prototype_mtc/test/test_mtc.py b/activitysim/examples/prototype_mtc/test/test_mtc.py new file mode 100644 index 0000000000..fb5751a297 --- /dev/null +++ b/activitysim/examples/prototype_mtc/test/test_mtc.py @@ -0,0 +1,94 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def run_test_mtc(multiprocess=False, chunkless=False): + def example_path(dirname): + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(): + regress_trips_df = pd.read_csv(test_path("regress/final_trips.csv")) + final_trips_df = pd.read_csv(test_path("output/final_trips.csv")) + + # person_id,household_id,tour_id,primary_purpose,trip_num,outbound,trip_count,purpose, + # destination,origin,destination_logsum,depart,trip_mode,mode_choice_logsum + # compare_cols = [] + pdt.assert_frame_equal(final_trips_df, regress_trips_df) + + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + if multiprocess: + run_args = [ + "-c", + test_path("configs_mp"), + "-c", + example_path("configs_mp"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ] + elif chunkless: + run_args = [ + "-c", + test_path("configs_chunkless"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ] + else: + run_args = [ + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-d", + example_path("data"), + "-o", + test_path("output"), + ] + + subprocess.run(["coverage", "run", "-a", file_path] + run_args, check=True) + + regress() + + +def test_mtc(): + run_test_mtc(multiprocess=False) + + +def test_mtc_chunkless(): + run_test_mtc(multiprocess=False, chunkless=True) + + +def test_mtc_mp(): + run_test_mtc(multiprocess=True) + + +if __name__ == "__main__": + + run_test_mtc(multiprocess=False) + run_test_mtc(multiprocess=True) + run_test_mtc(multiprocess=False, chunkless=True) diff --git a/activitysim/examples/prototype_mtc_extended/README.MD b/activitysim/examples/prototype_mtc_extended/README.MD new file mode 100644 index 0000000000..9ee48c17f1 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/README.MD @@ -0,0 +1,6 @@ + +### Prototype MTC Extended Example + +The prototype MTC example with the following additional models: +* vehicle type model +* vehicle allocation model diff --git a/activitysim/examples/prototype_mtc_extended/configs/annotate_landuse.csv b/activitysim/examples/prototype_mtc_extended/configs/annotate_landuse.csv new file mode 100644 index 0000000000..a434db9db0 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/annotate_landuse.csv @@ -0,0 +1,17 @@ +Description,Target,Expression +#,, annotate landuse table after import +household_density,household_density,land_use.TOTHH / (land_use.RESACRE + land_use.CIACRE) +employment_density,employment_density,land_use.TOTEMP / (land_use.RESACRE + land_use.CIACRE) +density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1) +,is_cbd,land_use.area_type == 1 +# additions put in place for simulation shadow pricing approach,, +total university enrollment,TOTENR_univ,land_use.COLLFTE + land_use.COLLPTE +# example external worker implementation,, +Example with 10 percent external workers across all zones,ext_work_share,0.1 +scaling employment fields,RETEMPN_scaled,land_use.RETEMPN * (1 - ext_work_share) +,FPSEMPN_scaled,land_use.FPSEMPN * (1 - ext_work_share) +,HEREMPN_scaled,land_use.HEREMPN * (1 - ext_work_share) +,OTHEMPN_scaled,land_use.OTHEMPN * (1 - ext_work_share) +,AGREMPN_scaled,land_use.AGREMPN * (1 - ext_work_share) +,MWTEMPN_scaled,land_use.MWTEMPN * (1 - ext_work_share) +,TOTEMP_scaled,land_use.TOTEMP * (1 - ext_work_share) diff --git a/activitysim/examples/prototype_mtc_extended/configs/annotate_non_mandatory_destination.csv b/activitysim/examples/prototype_mtc_extended/configs/annotate_non_mandatory_destination.csv new file mode 100644 index 0000000000..cdd627bb62 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/annotate_non_mandatory_destination.csv @@ -0,0 +1,3 @@ +Description,Target,Expression +overwrite non-mandatory tour destination for school escort tours,_school_escort_tour_destination,"reindex(school_escort_tours.destination, df.index)" +,destination,"np.where(_school_escort_tour_destination.isna(), df.destination, _school_escort_tour_destination)" \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc_extended/configs/annotate_non_mandatory_tour_frequency.csv b/activitysim/examples/prototype_mtc_extended/configs/annotate_non_mandatory_tour_frequency.csv new file mode 100644 index 0000000000..a4861c99da --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/annotate_non_mandatory_tour_frequency.csv @@ -0,0 +1,6 @@ +Description,Target,Expression +# re-calculating tour counts with school escorting tours included,, +,tour_type_num,"df.groupby(['person_id', 'tour_type']).cumcount() + 1" +,tour_type_count,"tour_type_num + df.groupby(['person_id', 'tour_type']).cumcount(ascending=False)" +,tour_num,"df.groupby('person_id').cumcount() + 1" +,tour_count,"tour_num + df.groupby('person_id').cumcount(ascending=False)" \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc_extended/configs/annotate_proto_households.csv b/activitysim/examples/prototype_mtc_extended/configs/annotate_proto_households.csv new file mode 100644 index 0000000000..95720faef4 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/annotate_proto_households.csv @@ -0,0 +1,4 @@ +# This is an example use of annotation for dissaggregate accessibilities +# But this particular case could probably be handled using variable mapping +Description,Target,Expression +auto ownership,auto_ownership,"np.clip(households.veh, 0, 2)" diff --git a/activitysim/examples/example_mtc_extended/configs/annotate_tours_tour_mode_choice.csv b/activitysim/examples/prototype_mtc_extended/configs/annotate_tours_tour_mode_choice.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/annotate_tours_tour_mode_choice.csv rename to activitysim/examples/prototype_mtc_extended/configs/annotate_tours_tour_mode_choice.csv diff --git a/activitysim/examples/prototype_mtc_extended/configs/destination_choice_size_terms.csv b/activitysim/examples/prototype_mtc_extended/configs/destination_choice_size_terms.csv new file mode 100644 index 0000000000..f07de5d489 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/destination_choice_size_terms.csv @@ -0,0 +1,28 @@ +model_selector,segment,TOTHH,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,AGE0519,HSENROLL,COLLFTE,COLLPTE,RETEMPN_scaled,FPSEMPN_scaled,HEREMPN_scaled,OTHEMPN_scaled,AGREMPN_scaled,MWTEMPN_scaled +workplace,work_low,0,0,0,0,0,0,0,0,0,0,0,0.129,0.193,0.383,0.12,0.01,0.164 +workplace,work_med,0,0,0,0,0,0,0,0,0,0,0,0.12,0.197,0.325,0.139,0.008,0.21 +workplace,work_high,0,0,0,0,0,0,0,0,0,0,0,0.11,0.207,0.284,0.154,0.006,0.239 +workplace,work_veryhigh,0,0,0,0,0,0,0,0,0,0,0,0.093,0.27,0.241,0.146,0.004,0.246 +school,university,0,0,0,0,0,0,0,0,0,0.592,0.408,0,0,0,0,0,0 +school,gradeschool,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,highschool,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +non_mandatory,escort,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0,0,0,0,0,0,0 +#non_mandatory,escort_kids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0,0,0,0,0,0,0 +#non_mandatory,escort_nokids,0,0.225,0,0.144,0,0,0,0.465,0.166,0,0,0,0,0,0,0,0 +non_mandatory,shopping,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +non_mandatory,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0,0,0,0,0,0,0 +non_mandatory,othmaint,0,0.482,0,0.518,0,0,0,0,0,0,0,0,0,0,0,0,0 +non_mandatory,social,0,0.522,0,0.478,0,0,0,0,0,0,0,0,0,0,0,0,0 +non_mandatory,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0,0,0,0,0,0,0 +atwork,atwork,0,0.742,0,0.258,0,0,0,0,0,0,0,0,0,0,0,0,0 +trip,work,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0 +trip,escort,0.001,0.225,0,0.144,0,0,0,0.464,0.166,0,0,0,0,0,0,0,0 +trip,shopping,0.001,0.999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +trip,eatout,0,0.742,0,0.258,0,0,0,0,0,0,0,0,0,0,0,0,0 +trip,othmaint,0.001,0.481,0,0.518,0,0,0,0,0,0,0,0,0,0,0,0,0 +trip,social,0.001,0.521,0,0.478,0,0,0,0,0,0,0,0,0,0,0,0,0 +trip,othdiscr,0.252,0.212,0,0.272,0.165,0,0,0,0.098,0,0,0,0,0,0,0,0 +trip,univ,0.001,0,0,0,0,0,0,0,0,0.592,0.408,0,0,0,0,0,0 +# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,,,,,,,,, +#trip,gradeschool,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +#trip,highschool,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 diff --git a/activitysim/examples/prototype_mtc_extended/configs/disaggregate_accessibility.yaml b/activitysim/examples/prototype_mtc_extended/configs/disaggregate_accessibility.yaml new file mode 100644 index 0000000000..ed7c116f04 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/disaggregate_accessibility.yaml @@ -0,0 +1,159 @@ +# Sampling size. 0 = no limit +# can be whole integer value or a sample rate (percent of zones) +# zero or missing defaults to full sample! +DESTINATION_SAMPLE_SIZE: 0.5 +ORIGIN_SAMPLE_SIZE: 5000 + +# select origin zones weighted by population (or another landuse variable) +ORIGIN_WEIGHTING_COLUMN: TOTEMP + +# Specify the tables to be created and their variables. +# Single values are constants +# Lists are varying and will generate the cartesian product (i.e., all possible non-repeating combinations) + +# Example result for households below: +#hhid veh hinccat1 hinc hworkers persons hht bldgsz +# 1 0 1 14000 1 2 1 2 +# 2 1 1 14000 1 2 1 2 +# 3 2 1 14000 1 2 1 2 +# 4 0 2 67000 1 2 1 2 +# 5 1 2 67000 1 2 1 2 +# 6 2 2 67000 1 2 1 2 +# .... + +#Note: parameters in ALL CAPS below are required by the program for synthesis +CREATE_TABLES: + PROTO_HOUSEHOLDS: + index_col: proto_household_id + zone_col: home_zone_id + rename_columns: + zone_id: home_zone_id + VARIABLES: + hinccat1: [1, 2, 3, 4] # Income categories + hworkers: 1 # Household workers + veh: [0, 1, 2] # Household vehicles + persons: 2 # Two persons household + HHT: 1 # Married-couple family household + bldgsz: 2 # Building size - Single family detached + # Additional columns that are mapped to another (e.g., hhinccat1: 1 = hinc: 14000) + mapped_fields: + hinccat1: # List new fields mapped to this field + income: # Median income within each quartile + 1: 15000 # 14000 (for 3 level) + 2: 45000 # 67000 (for 3 level) + 3: 80000 # 120000 (for 3 level) + 4: 150000 + persons: + hhsize: + 1: 1 + 2: 2 + 3: 3 + hworkers: + num_workers: + 1: 1 + 2: 2 + 3: 3 + + PROTO_PERSONS: + index_col: proto_person_id + VARIABLES: + pnum: [1, 2] # Person number + military: 4 # Not military + pstudent: 3 # Not attending school + educ: 13 # Bachelor's + grade: 0 # Not attending + timeFactorWork: 1 # mean + timeFactorNonWork: 1 # mean + mapped_fields: + pnum: + age: + 1: 35 + 2: 55 + sex: # Female male + 1: 2 + 2: 1 + ptype: # Person type, full-time and non-working adult + 1: 1 + 2: 4 + pemploy: # Full-time and unemployed + 1: 1 + 2: 3 + weeks: # 50-52 weeks, none + 1: 1 + 2: 0 + hours: # Hours per week + 1: 35 + 2: 0 + DAP: # Mandatory, Non-mandatory + 1: "M" + 2: "N" + + PROTO_TOURS: + index_col: proto_tour_id + VARIABLES: + tour_num: 1 # Tour number, 1 tour per person + purpose: [1, 2, 3] + mapped_fields: + purpose: + person_num: # In this case it was easier to map the person number directly to the purposez + 1: 1 + 2: 2 + 3: 2 + tour_type: + 1: "work" + 2: "shopping" + 3: "othdiscr" + tour_category: # tour purpose category, mandatory/non-mandatory + 1: "mandatory" + 2: "non_mandatory" + 3: "non_mandatory" + filter_rows: # list any matching conditions as pandas expression + - ~((df.tour_type == "work") & (df.person_num == 1)) + JOIN_ON: + person_num: pnum # Specifies which person variable to join the tours on + +# Merge on variables +MERGE_ON: + by: # These should be categorical variables at the household level + - home_zone_id + - auto_ownership + - income_segment + +# Include any annotations for persons, households, land_use, or tours. +# The purpose of a separate annotation setup is that annotation expressions for the main model +# may require data that aren't in the proto population. +# This step enables users to annotate the proto-population by referencing custom annotation scripts. +# Of course, users can also just reference existing configs if they work, but they must be referenced here too. + +annotate_proto_tables: + - tablename: proto_persons + annotate: + SPEC: annotate_persons + DF: proto_persons + TABLES: + - proto_households + + - tablename: proto_households + annotate: + SPEC: annotate_proto_households + DF: proto_households + TABLES: + - proto_persons + - land_use + +# Annotate the proto_households table using the main model annotations files + - tablename: proto_households + annotate: + SPEC: annotate_households + DF: proto_households + TABLES: + - proto_persons + - land_use + +# Annotate the proto_persons table using the main model annotations files + - tablename: proto_persons + annotate: + SPEC: annotate_persons_after_hh + DF: proto_persons + TABLES: + - proto_households diff --git a/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_destination.yaml b/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_destination.yaml new file mode 100644 index 0000000000..48d8ca8d96 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_destination.yaml @@ -0,0 +1,57 @@ +SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv +SPEC: non_mandatory_tour_destination.csv +COEFFICIENTS: non_mandatory_tour_destination_coefficients.csv + +SAMPLE_SIZE: 30 + +SIZE_TERM_SELECTOR: non_mandatory + +# we can't use use household income_segment as this will also be set for non-workers +CHOOSER_SEGMENT_COLUMN_NAME: tour_type + +# optional (comment out if not desired) +DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample + + +SEGMENTS: + - shopping + - othmaint + - othdiscr + - eatout + - social + - escort + +SIMULATE_CHOOSER_COLUMNS: + - tour_type + - home_zone_id + - person_id + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +annotate_tours: + SPEC: annotate_non_mandatory_destination + DF: df + TABLES: + - tours + - school_escort_tours + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: home_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: + shopping: 14 + othmaint: 14 + othdiscr: 14 + eatout: 14 + social: 14 + escort: 14 +OUT_PERIOD: + shopping: 14 + othmaint: 14 + othdiscr: 14 + eatout: 14 + social: 14 + escort: 14 \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_frequency_alternatives.csv new file mode 100644 index 0000000000..0bea47c6f8 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_frequency_alternatives.csv @@ -0,0 +1,100 @@ +escort,shopping,othmaint,othdiscr,eatout,social +0,0,0,0,0,0 +0,0,0,1,0,0 +0,0,0,0,0,1 +0,0,0,1,0,1 +0,0,0,0,1,0 +0,0,0,1,1,0 +0,0,0,0,1,1 +0,0,0,1,1,1 +0,0,1,0,0,0 +0,0,1,1,0,0 +0,0,1,0,0,1 +0,0,1,1,0,1 +0,0,1,0,1,0 +0,0,1,1,1,0 +0,0,1,0,1,1 +0,0,1,1,1,1 +0,1,0,0,0,0 +0,1,0,1,0,0 +0,1,0,0,0,1 +0,1,0,1,0,1 +0,1,0,0,1,0 +0,1,0,1,1,0 +0,1,0,0,1,1 +0,1,0,1,1,1 +0,1,1,0,0,0 +0,1,1,1,0,0 +0,1,1,0,0,1 +0,1,1,1,0,1 +0,1,1,0,1,0 +0,1,1,1,1,0 +0,1,1,0,1,1 +0,1,1,1,1,1 +1,0,0,0,0,0 +1,0,0,1,0,0 +1,0,0,0,0,1 +1,0,0,1,0,1 +1,0,0,0,1,0 +1,0,0,1,1,0 +1,0,0,0,1,1 +1,0,0,1,1,1 +1,0,1,0,0,0 +1,0,1,1,0,0 +1,0,1,0,0,1 +1,0,1,1,0,1 +1,0,1,0,1,0 +1,0,1,1,1,0 +1,0,1,0,1,1 +1,0,1,1,1,1 +1,1,0,0,0,0 +1,1,0,1,0,0 +1,1,0,0,0,1 +1,1,0,1,0,1 +1,1,0,0,1,0 +1,1,0,1,1,0 +1,1,0,0,1,1 +1,1,0,1,1,1 +1,1,1,0,0,0 +1,1,1,1,0,0 +1,1,1,0,0,1 +1,1,1,1,0,1 +1,1,1,0,1,0 +1,1,1,1,1,0 +1,1,1,0,1,1 +1,1,1,1,1,1 +2,0,0,0,0,0 +2,0,0,1,0,0 +2,0,0,0,0,1 +2,0,0,1,0,1 +2,0,0,0,1,0 +2,0,0,1,1,0 +2,0,0,0,1,1 +2,0,0,1,1,1 +2,0,1,0,0,0 +2,0,1,1,0,0 +2,0,1,0,0,1 +2,0,1,1,0,1 +2,0,1,0,1,0 +2,0,1,1,1,0 +2,0,1,0,1,1 +2,0,1,1,1,1 +2,1,0,0,0,0 +2,1,0,1,0,0 +2,1,0,0,0,1 +2,1,0,1,0,1 +2,1,0,0,1,0 +2,1,0,1,1,0 +2,1,0,0,1,1 +2,1,0,1,1,1 +2,1,1,0,0,0 +2,1,1,1,0,0 +2,1,1,0,0,1 +2,1,1,1,0,1 +2,1,1,0,1,0 +2,1,1,1,1,0 +2,1,1,0,1,1 +2,1,1,1,1,1 +# extension for flexible ids demonstration,,,,, +# should be removed for actual model run,,,,, +0,0,0,2,0,0 diff --git a/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_scheduling.yaml new file mode 100644 index 0000000000..488ba6b827 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_scheduling.yaml @@ -0,0 +1,22 @@ + +SPEC: tour_scheduling_nonmandatory.csv +COEFFICIENTS: tour_scheduling_nonmandatory_coefficients.csv + +LOGIT_TYPE: MNL + +preprocessor: + SPEC: non_mandatory_tour_scheduling_annotate_tours_preprocessor + DF: non_mandatory_tours + TABLES: + - land_use + - joint_tour_participants + - school_escort_tours + +SIMULATE_CHOOSER_COLUMNS: + - ptype + - num_children + - roundtrip_auto_time_to_work + - num_mand + - num_escort_tours + - num_non_escort_tours + - adult diff --git a/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv new file mode 100644 index 0000000000..c0281468fe --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv @@ -0,0 +1,11 @@ +Description,Target,Expression +destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, non_mandatory_tours.destination) < setting('cbd_threshold')) * 1" +#,, +,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), non_mandatory_tours.person_id)" +# included for school escorting model,, +flag to denote outbound school escort tours,is_outbound_school_escort_tour,"non_mandatory_tours.index.isin(school_escort_tours[school_escort_tours['school_escort_direction'] == 'outbound'].index)" +flag to denote inbound school escort tours,is_inbound_school_escort_tour,"non_mandatory_tours.index.isin(school_escort_tours[school_escort_tours['school_escort_direction'] == 'inbound'].index)" +school escort tour start time,school_escort_tour_start,"reindex(school_escort_tours.start, non_mandatory_tours.index)" +school escort tour next start time,school_escort_tour_next_start,"reindex(school_escort_tours.next_pure_escort_start, non_mandatory_tours.index)" +school escort tour end time,school_escort_tour_end,"reindex(school_escort_tours.end, non_mandatory_tours.index)" + diff --git a/activitysim/examples/prototype_mtc_extended/configs/school_escorting.yaml b/activitysim/examples/prototype_mtc_extended/configs/school_escorting.yaml new file mode 100644 index 0000000000..a4daba88d3 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/school_escorting.yaml @@ -0,0 +1,47 @@ + +OUTBOUND_SPEC: school_escorting_outbound.csv +OUTBOUND_COEFFICIENTS: school_escorting_coefficients_outbound.csv + +INBOUND_SPEC: school_escorting_inbound.csv +INBOUND_COEFFICIENTS: school_escorting_coefficients_inbound.csv + +OUTBOUND_COND_SPEC: school_escorting_outbound_cond.csv +OUTBOUND_COND_COEFFICIENTS: school_escorting_coefficients_outbound_cond.csv + +ALTS: school_escorting_alts.csv + +LOGIT_TYPE: MNL + +NUM_ESCORTEES: 3 +NUM_CHAPERONES: 2 + +preprocessor_outbound: + SPEC: school_escorting_preprocessor_outbound + DF: df + TABLES: + - persons + - tours + +preprocessor_inbound: + SPEC: school_escorting_preprocessor_inbound + DF: df + TABLES: + - persons + - tours + +preprocessor_outbound_cond: + SPEC: school_escorting_preprocessor_outbound + DF: df + TABLES: + - persons + - tours + +SIMULATE_CHOOSER_COLUMNS: + - home_zone_id + - income + - auto_ownership + - num_workers + +CONSTANTS: + max_bin_difference_between_departure_times: 1 + mins_per_time_bin: 60 diff --git a/activitysim/examples/prototype_mtc_extended/configs/school_escorting_alts.csv b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_alts.csv new file mode 100644 index 0000000000..eca661755a --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_alts.csv @@ -0,0 +1,158 @@ +Alt,bundle1,bundle2,bundle3,chauf1,chauf2,chauf3,nbund1,nbund2,nbundles,nrs1,npe1,nrs2,npe2,Description +1,0,0,0,0,0,0,0,0,0,0,0,0,0,no one is escorted +2,1,0,0,1,0,0,1,0,1,1,0,0,0,child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing +3,1,0,0,2,0,0,1,0,1,0,1,0,0,child 1 is escorted in bundle 1 by chauffeur 1 as pure escort +4,1,0,0,3,0,0,0,1,1,0,0,1,0,child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing +5,1,0,0,4,0,0,0,1,1,0,0,0,1,child 1 is escorted in bundle 1 by chauffeur 2 as pure escort +6,0,1,0,0,1,0,1,0,1,1,0,0,0,child 2 is escorted in bundle 1 by chauffeur 1 as ride sharing +7,0,1,0,0,2,0,1,0,1,0,1,0,0,child 2 is escorted in bundle 1 by chauffeur 1 as pure escort +8,0,1,0,0,3,0,0,1,1,0,0,1,0,child 2 is escorted in bundle 1 by chauffeur 2 as ride sharing +9,0,1,0,0,4,0,0,1,1,0,0,0,1,child 2 is escorted in bundle 1 by chauffeur 2 as pure escort +10,0,0,1,0,0,1,1,0,1,1,0,0,0,child 3 is escorted in bundle 1 by chauffeur 1 as ride sharing +11,0,0,1,0,0,2,1,0,1,0,1,0,0,child 3 is escorted in bundle 1 by chauffeur 1 as pure escort +12,0,0,1,0,0,3,0,1,1,0,0,1,0,child 3 is escorted in bundle 1 by chauffeur 2 as ride sharing +13,0,0,1,0,0,4,0,1,1,0,0,0,1,child 3 is escorted in bundle 1 by chauffeur 2 as pure escort +14,1,1,0,1,1,0,1,0,1,1,0,0,0,child 1 and 2 are escorted in bundle 1 by chauffeur 1 as ride sharing +15,1,1,0,2,2,0,1,0,1,0,1,0,0,child 1 and 2 are escorted in bundle 1 by chauffeur 1 as pure escort +16,1,1,0,3,3,0,0,1,1,0,0,1,0,child 1 and 2 are escorted in bundle 1 by chauffeur 2 as ride sharing +17,1,1,0,4,4,0,0,1,1,0,0,0,1,child 1 and 2 are escorted in bundle 1 by chauffeur 2 as pure escort +18,1,0,1,1,0,1,1,0,1,1,0,0,0,child 1 and 3 are escorted in bundle 1 by chauffeur 1 as ride sharing +19,1,0,1,2,0,2,1,0,1,0,1,0,0,child 1 and 3 are escorted in bundle 1 by chauffeur 1 as pure escort +20,1,0,1,3,0,3,0,1,1,0,0,1,0,child 1 and 3 are escorted in bundle 1 by chauffeur 2 as ride sharing +21,1,0,1,4,0,4,0,1,1,0,0,0,1,child 1 and 3 are escorted in bundle 1 by chauffeur 2 as pure escort +22,0,1,1,0,1,1,1,0,1,1,0,0,0,child 2 and 3 are escorted in bundle 1 by chauffeur 1 as ride sharing +23,0,1,1,0,2,2,1,0,1,0,1,0,0,child 2 and 3 are escorted in bundle 1 by chauffeur 1 as pure escort +24,0,1,1,0,3,3,0,1,1,0,0,1,0,child 2 and 3 are escorted in bundle 1 by chauffeur 2 as ride sharing +25,0,1,1,0,4,4,0,1,1,0,0,0,1,child 2 and 3 are escorted in bundle 1 by chauffeur 2 as pure escort +26,1,2,0,1,2,0,2,0,2,1,1,0,0,child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 1 as pure escort +27,1,2,0,1,3,0,1,1,2,1,0,1,0,child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing +28,1,2,0,1,4,0,1,1,2,1,0,0,1,child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 2 as pure escort +29,1,2,0,2,1,0,2,0,2,1,1,0,0,child 1 is escorted in bundle 1 by chauffeur 1 as pure escort and child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing +30,1,2,0,2,2,0,2,0,2,0,2,0,0,child 1 is escorted in bundle 1 by chauffeur 1 as pure escort and child 2 is escorted in bundle 2 by chauffeur 1 as pure escort +31,1,2,0,2,3,0,1,1,2,0,1,1,0,child 1 is escorted in bundle 1 by chauffeur 1 as pure escort and child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing +32,1,2,0,2,4,0,1,1,2,0,1,0,1,child 1 is escorted in bundle 1 by chauffeur 1 as pure escort and child 2 is escorted in bundle 2 by chauffeur 2 as pure escort +33,1,2,0,3,1,0,1,1,2,1,0,1,0,child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing +34,1,2,0,3,2,0,1,1,2,0,1,1,0,child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 1 as pure escort +35,1,2,0,3,4,0,0,2,2,0,0,1,1,child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 2 as pure escort +36,1,2,0,4,1,0,1,1,2,1,0,0,1,child 1 is escorted in bundle 1 by chauffeur 2 as pure escort and child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing +37,1,2,0,4,2,0,1,1,2,0,1,0,1,child 1 is escorted in bundle 1 by chauffeur 2 as pure escort and child 2 is escorted in bundle 2 by chauffeur 1 as pure escort +38,1,2,0,4,3,0,0,2,2,0,0,1,1,child 1 is escorted in bundle 1 by chauffeur 2 as pure escort and child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing +39,1,2,0,4,4,0,0,2,2,0,0,0,2,child 1 is escorted in bundle 1 by chauffeur 2 as pure escort and child 2 is escorted in bundle 2 by chauffeur 2 as pure escort +40,1,0,2,1,0,2,2,0,2,1,1,0,0,child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 1 as pure escorting +41,1,0,2,1,0,3,1,1,2,1,0,1,0,child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 2 as ride sharing +42,1,0,2,1,0,4,1,1,2,1,0,0,1,child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 2 as pure escorting +43,1,0,2,2,0,1,2,0,2,1,1,0,0,child 1 is escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as ride sharing +44,1,0,2,2,0,2,2,0,2,0,2,0,0,child 1 is escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as pure escorting +45,1,0,2,2,0,3,1,1,2,0,1,1,0,child 1 is escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as ride sharing +46,1,0,2,2,0,4,1,1,2,0,1,0,1,child 1 is escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as pure escorting +47,1,0,2,3,0,1,1,1,2,1,0,1,0,child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 1 as ride sharing +48,1,0,2,3,0,2,1,1,2,0,1,1,0,child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 1 as pure escorting +49,1,0,2,3,0,4,0,2,2,0,0,1,1,child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 2 as pure escorting +50,1,0,2,4,0,1,1,1,2,1,0,0,1,child 1 is escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as ride sharing +51,1,0,2,4,0,2,1,1,2,0,1,0,1,child 1 is escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as pure escorting +52,1,0,2,4,0,3,0,2,2,0,0,1,1,child 1 is escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as ride sharing +53,1,0,2,4,0,4,0,2,2,0,0,0,2,child 1 is escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as pure escorting +54,0,1,2,0,1,2,2,0,2,1,1,0,0,child 2 is escorted in bundle 1 by chauffeur 1 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 1 as pure escorting +55,0,1,2,0,1,3,1,1,2,1,0,1,0,child 2 is escorted in bundle 1 by chauffeur 1 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 2 as ride sharing +56,0,1,2,0,1,4,1,1,2,1,0,0,1,child 2 is escorted in bundle 1 by chauffeur 1 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 2 as pure escorting +57,0,1,2,0,2,1,2,0,2,1,1,0,0,child 2 is escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as ride sharing +58,0,1,2,0,2,2,2,0,2,0,2,0,0,child 2 is escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as pure escorting +59,0,1,2,0,2,3,1,1,2,0,1,1,0,child 2 is escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as ride sharing +60,0,1,2,0,2,4,1,1,2,0,1,0,1,child 2 is escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as pure escorting +61,0,1,2,0,3,1,1,1,2,1,0,1,0,child 2 is escorted in bundle 1 by chauffeur 2 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 1 as ride sharing +62,0,1,2,0,3,2,1,1,2,0,1,1,0,child 2 is escorted in bundle 1 by chauffeur 2 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 1 as pure escorting +63,0,1,2,0,3,4,0,2,2,0,0,1,1,child 2 is escorted in bundle 1 by chauffeur 2 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 2 as pure escorting +64,0,1,2,0,4,1,1,1,2,1,0,0,1,child 2 is escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as ride sharing +65,0,1,2,0,4,2,1,1,2,0,1,0,1,child 2 is escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as pure escorting +66,0,1,2,0,4,3,0,2,2,0,0,1,1,child 2 is escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as ride sharing +67,0,1,2,0,4,4,0,2,2,0,0,0,2,child 2 is escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as pure escorting +68,1,1,1,1,1,1,1,0,1,1,0,0,0,"child 1, 2 and 3 are escorted in bundle 1 by chauffeur 1 as ride sharing" +69,1,1,1,2,2,2,1,0,1,0,1,0,0,"child 1, 2 and 3 are escorted in bundle 1 by chauffeur 1 as pure escort" +70,1,1,1,3,3,3,0,1,1,0,0,1,0,"child 1, 2 and 3 are escorted in bundle 1 by chauffeur 2 as ride sharing" +71,1,1,1,4,4,4,0,1,1,0,0,0,1,"child 1, 2 and 3 are escorted in bundle 1 by chauffeur 2 as pure escort" +72,1,2,3,1,2,2,3,0,3,1,2,0,0,"child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +73,1,2,3,1,2,3,2,1,3,1,1,1,0,"child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as ride sharing" +74,1,2,3,1,2,4,2,1,3,1,1,0,1,"child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +75,1,2,3,1,3,2,2,1,3,1,1,1,0,"child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +76,1,2,3,1,3,4,1,2,3,1,0,1,1,"child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +77,1,2,3,1,4,2,2,1,3,1,1,0,1,"child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +78,1,2,3,1,4,3,1,2,3,1,0,1,1,"child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as ride sharing" +79,1,2,3,1,4,4,1,2,3,1,0,0,2,"child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +80,1,2,3,2,1,2,3,0,3,1,2,0,0,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +81,1,2,3,2,1,3,2,1,3,1,1,1,0,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 2 as ride sharing" +82,1,2,3,2,1,4,2,1,3,1,1,0,1,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +83,1,2,3,2,2,1,3,0,3,1,2,0,0,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as ride sharing" +84,1,2,3,2,2,2,3,0,3,0,3,0,0,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +85,1,2,3,2,2,3,2,1,3,0,2,1,0,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as ride sharing" +86,1,2,3,2,2,4,2,1,3,0,2,0,1,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +87,1,2,3,2,3,1,2,1,3,1,1,1,0,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 1 as ride sharing" +88,1,2,3,2,3,2,2,1,3,0,2,1,0,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +89,1,2,3,2,3,4,1,2,3,0,1,1,1,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +90,1,2,3,2,4,1,2,1,3,1,1,0,1,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as ride sharing" +91,1,2,3,2,4,2,2,1,3,0,2,0,1,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +92,1,2,3,2,4,3,1,2,3,0,1,1,1,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as ride sharing" +93,1,2,3,2,4,4,1,2,3,0,1,0,2,"child 1 is escorted in bundle 1 by chauffeur 1 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +94,1,2,3,3,1,2,2,1,3,1,1,1,0,"child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +95,1,2,3,3,1,4,1,2,3,1,0,1,1,"child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +96,1,2,3,3,2,1,2,1,3,1,1,1,0,"child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as ride sharing" +97,1,2,3,3,2,2,2,1,3,0,2,1,0,"child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +98,1,2,3,3,2,4,1,2,3,0,1,1,1,"child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +99,1,2,3,3,4,1,1,2,3,1,0,1,1,"child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as ride sharing" +100,1,2,3,3,4,2,1,2,3,0,1,1,1,"child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +101,1,2,3,3,4,4,0,3,3,0,0,1,2,"child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +102,1,2,3,4,1,2,2,1,3,1,1,0,1,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +103,1,2,3,4,1,3,1,2,3,1,0,1,1,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 2 as ride sharing" +104,1,2,3,4,1,4,1,2,3,1,0,0,2,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +105,1,2,3,4,2,1,2,1,3,1,1,0,1,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as ride sharing" +106,1,2,3,4,2,2,2,1,3,0,2,0,1,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +107,1,2,3,4,2,3,1,2,3,0,1,1,1,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as ride sharing" +108,1,2,3,4,2,4,1,2,3,0,1,0,2,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 1 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +109,1,2,3,4,3,1,1,2,3,1,0,1,1,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 1 as ride sharing" +110,1,2,3,4,3,2,1,2,3,0,1,1,1,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +111,1,2,3,4,3,4,0,3,3,0,0,1,2,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing, and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +112,1,2,3,4,4,1,1,2,3,1,0,0,2,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as ride sharing" +113,1,2,3,4,4,2,1,2,3,0,1,0,2,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 1 as pure escort" +114,1,2,3,4,4,3,0,3,3,0,0,1,2,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as ride sharing" +115,1,2,3,4,4,4,0,3,3,0,0,0,3,"child 1 is escorted in bundle 1 by chauffeur 2 as pure escort, child 2 is escorted in bundle 2 by chauffeur 2 as pure escort and child 3 is escorted in bundle 3 by chauffeur 2 as pure escort" +116,1,1,2,1,1,2,2,0,2,1,1,0,0,child 1 and 2 are escorted in bundle 1 by chauffeur 1 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 1 as pure escort +117,1,1,2,1,1,3,1,1,2,1,0,1,0,child 1 and 2 are escorted in bundle 1 by chauffeur 1 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 2 as ride sharing +118,1,1,2,1,1,4,1,1,2,1,0,0,1,child 1 and 2 are escorted in bundle 1 by chauffeur 1 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 2 as pure escort +119,1,1,2,2,2,1,2,0,2,1,1,0,0,child 1 and 2 are escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as ride sharing +120,1,1,2,2,2,2,2,0,2,0,2,0,0,child 1 and 2 are escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as pure escort +121,1,1,2,2,2,3,1,1,2,0,1,1,0,child 1 and 2 are escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as ride sharing +122,1,1,2,2,2,4,1,1,2,0,1,0,1,child 1 and 2 are escorted in bundle 1 by chauffeur 1 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as pure escort +123,1,1,2,3,3,1,1,1,2,1,0,1,0,child 1 and 2 are escorted in bundle 1 by chauffeur 2 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 1 as ride sharing +124,1,1,2,3,3,2,1,1,2,0,1,1,0,child 1 and 2 are escorted in bundle 1 by chauffeur 2 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 1 as pure escort +125,1,1,2,3,3,4,0,2,2,0,0,1,1,child 1 and 2 are escorted in bundle 1 by chauffeur 2 as ride sharing and child 3 is escorted in bundle 2 by chauffeur 2 as pure escort +126,1,1,2,4,4,1,1,1,2,1,0,0,1,child 1 and 2 are escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as ride sharing +127,1,1,2,4,4,2,1,1,2,0,1,0,1,child 1 and 2 are escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 1 as pure escort +128,1,1,2,4,4,3,0,2,2,0,0,1,1,child 1 and 2 are escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as ride sharing +129,1,1,2,4,4,4,0,2,2,0,0,0,2,child 1 and 2 are escorted in bundle 1 by chauffeur 2 as pure escort and child 3 is escorted in bundle 2 by chauffeur 2 as pure escort +130,1,2,1,1,2,1,2,0,2,1,1,0,0,child 1 and 3 are escorted in bundle 1 by chauffeur 1 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 1 as pure escort +131,1,2,1,1,3,1,1,1,2,1,0,1,0,child 1 and 3 are escorted in bundle 1 by chauffeur 1 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing +132,1,2,1,1,4,1,1,1,2,1,0,0,1,child 1 and 3 are escorted in bundle 1 by chauffeur 1 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 2 as pure escort +133,1,2,1,2,1,2,2,0,2,1,1,0,0,child 1 and 3 are escorted in bundle 1 by chauffeur 1 as pure escort and child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing +134,1,2,1,2,2,2,2,0,2,0,2,0,0,child 1 and 3 are escorted in bundle 1 by chauffeur 1 as pure escort and child 2 is escorted in bundle 2 by chauffeur 1 as pure escort +135,1,2,1,2,3,2,1,1,2,0,1,1,0,child 1 and 3 are escorted in bundle 1 by chauffeur 1 as pure escort and child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing +136,1,2,1,2,4,2,1,1,2,0,1,0,1,child 1 and 3 are escorted in bundle 1 by chauffeur 1 as pure escort and child 2 is escorted in bundle 2 by chauffeur 2 as pure escort +137,1,2,1,3,1,3,1,1,2,1,0,1,0,child 1 and 3 are escorted in bundle 1 by chauffeur 2 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing +138,1,2,1,3,2,3,1,1,2,0,1,1,0,child 1 and 3 are escorted in bundle 1 by chauffeur 2 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 1 as pure escort +139,1,2,1,3,4,3,0,2,2,0,0,1,1,child 1 and 3 are escorted in bundle 1 by chauffeur 2 as ride sharing and child 2 is escorted in bundle 2 by chauffeur 2 as pure escort +140,1,2,1,4,1,4,1,1,2,1,0,0,1,child 1 and 3 are escorted in bundle 1 by chauffeur 2 as pure escort and child 2 is escorted in bundle 2 by chauffeur 1 as ride sharing +141,1,2,1,4,2,4,1,1,2,0,1,0,1,child 1 and 3 are escorted in bundle 1 by chauffeur 2 as pure escort and child 2 is escorted in bundle 2 by chauffeur 1 as pure escort +142,1,2,1,4,3,4,0,2,2,0,0,1,1,child 1 and 3 are escorted in bundle 1 by chauffeur 2 as pure escort and child 2 is escorted in bundle 2 by chauffeur 2 as ride sharing +143,1,2,1,4,4,4,0,2,2,0,0,0,2,child 1 and 3 are escorted in bundle 1 by chauffeur 2 as pure escort and child 2 is escorted in bundle 2 by chauffeur 2 as pure escort +144,1,2,2,1,2,2,2,0,2,1,1,0,0,child 2 and 3 are escorted in bundle 2 by chauffeur 1 as ride sharing and child 1 is escorted in bundle 1 by chauffeur 1 as pure escort +145,1,2,2,1,3,3,1,1,2,1,0,1,0,child 2 and 3 are escorted in bundle 2 by chauffeur 1 as ride sharing and child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing +146,1,2,2,1,4,4,1,1,2,1,0,0,1,child 2 and 3 are escorted in bundle 2 by chauffeur 1 as ride sharing and child 1 is escorted in bundle 1 by chauffeur 2 as pure escort +147,1,2,2,2,1,1,2,0,2,1,1,0,0,child 2 and 3 are escorted in bundle 2 by chauffeur 1 as pure escort and child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing +148,1,2,2,2,2,2,2,0,2,0,2,0,0,child 2 and 3 are escorted in bundle 2 by chauffeur 1 as pure escort and child 1 is escorted in bundle 1 by chauffeur 1 as pure escort +149,1,2,2,2,3,3,1,1,2,0,1,1,0,child 2 and 3 are escorted in bundle 2 by chauffeur 1 as pure escort and child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing +150,1,2,2,2,4,4,1,1,2,0,1,0,1,child 2 and 3 are escorted in bundle 2 by chauffeur 1 as pure escort and child 1 is escorted in bundle 1 by chauffeur 2 as pure escort +151,1,2,2,3,1,1,1,1,2,1,0,1,0,child 2 and 3 are escorted in bundle 2 by chauffeur 2 as ride sharing and child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing +152,1,2,2,3,2,2,1,1,2,0,1,1,0,child 2 and 3 are escorted in bundle 2 by chauffeur 2 as ride sharing and child 1 is escorted in bundle 1 by chauffeur 1 as pure escort +153,1,2,2,3,4,4,0,2,2,0,0,1,1,child 2 and 3 are escorted in bundle 2 by chauffeur 2 as ride sharing and child 1 is escorted in bundle 1 by chauffeur 2 as pure escort +154,1,2,2,4,1,1,1,1,2,1,0,0,1,child 2 and 3 are escorted in bundle 2 by chauffeur 2 as pure escort and child 1 is escorted in bundle 1 by chauffeur 1 as ride sharing +155,1,2,2,4,2,2,1,1,2,0,1,0,1,child 2 and 3 are escorted in bundle 2 by chauffeur 2 as pure escort and child 1 is escorted in bundle 1 by chauffeur 1 as pure escort +156,1,2,2,4,3,3,0,2,2,0,0,1,1,child 2 and 3 are escorted in bundle 2 by chauffeur 2 as pure escort and child 1 is escorted in bundle 1 by chauffeur 2 as ride sharing +157,1,2,2,4,4,4,0,2,2,0,0,0,2,child 2 and 3 are escorted in bundle 2 by chauffeur 2 as pure escort and child 1 is escorted in bundle 1 by chauffeur 2 as pure escort diff --git a/activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_inbound.csv b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_inbound.csv new file mode 100644 index 0000000000..d6bc1947ff --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_inbound.csv @@ -0,0 +1,41 @@ +coefficient_name,value,constrain +coef_unavail,-999,T +coef_child_age_16p_noes,0.17488,F +coef_child_age_6_to_15_noes,-0.41751,F +coef_child_age_u5_noes,-1.36718,F +coef_ln_dist_from_school_noes,-0.01787,F +coef_ln_dist_from_school_u6_noes,-0.23304,F +coef_ln_dist_from_school_6to9_noes,-0.07286,F +coef_child_age_16p_rs,1.97184 +coef_child_age_10to15_rs,1.73544 +coef_child_age_6to9_rs,1.73544 +coef_child_age_u6_rs,1.34996 +coef_hh_inc_u25k_noes,0.0,F +coef_hh_inc_25to50k_noes,0.0,F +coef_zero_auto_hh_noes,0.13165,F +coef_cars_lt_workers_rs,-3.35586,F +coef_cars_lt_workers_pe,-1.59062,F +coef_chauf_female_rs,-0.44827,F +coef_chauf_male_rs,-0.90832,F +coef_chauf_female_pe,-0.68399,F +coef_chauf_male_pe,-1.01783,F +coef_chauf_pt_worker_rs,0.51244,F +coef_chauf_pt_worker_pe,0.23496,F +coef_chauf_non_worker_pe,0.69245,F +coef_chauf_univ_stud_re,0.47395,F +coef_chauf_age_u35_pe,0.00000,F +coef_chauf_time_to_work_or_univ_rs,-0.01974,F +coef_chauf_walk_dist_to_work_or_univ_rs,-0.73155,F +coef_chauf_walk_dist_to_work_or_univ_pe,0.00000,F +coef_abs_dev_distance,-0.08011,F +coef_rel_dev_distance,0.0,F +coef_same_taz_escort,1.44053,F +coef_same_taz_no_escort,1.96760,F +coef_no_escort_outbound,2.04553,F +coef_outbound_rs,0.0,F +coef_same_chauf,1.14533,F +coef_calib_child_age_u6_rs,8.75011,F +coef_calib_child_age_16p_rs,-0.20,F +coef_calib_child_age_6to15_noes,-3.46362,F +coef_calib_child_age_u6_noes,-0.36565,F +coef_calib_child_age_6to15_rs,-1.45344,F diff --git a/activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_outbound.csv b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_outbound.csv new file mode 100644 index 0000000000..14f1e7d5f7 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_outbound.csv @@ -0,0 +1,40 @@ +coefficient_name,value,constrain +coef_unavail,-999,T +coef_child_age_16p_noes,1.07391,F +coef_child_age_10_to_15_noes,0.46127,F +coef_child_age_u9_noes,0.13590,F +coef_ln_dist_to_school_noes,-0.33583,F +coef_ln_dist_to_school_u6_noes,-1.00920,F +coef_ln_dist_to_school_6to9_noes,-0.11156,F +coef_child_age_16p_rs,0.34244,F +coef_child_age_10to15_rs,.27494,F +coef_child_age_6to9_rs,0.20757,F +coef_child_age_u6_rs,0.33051,F +coef_child_dist_pe,-0.04593,F +coef_hh_inc_u25k_noes,0.18901,F +coef_hh_inc_25to50k_noes,0.12172,F +coef_zero_auto_hh_noes,9.0,F +coef_cars_lt_workers_rs,-0.88274,F +coef_cars_lt_workers_pe,-0.55291,F +coef_chauf_female_rs,-0.27828,F +coef_chauf_male_rs,-0.67320,F +coef_chauf_female_pe,-0.84859,F +coef_chauf_male_pe,-0.80965,F +coef_chauf_pt_worker_rs,-0.11422,F +coef_chauf_pt_worker_pe,0.51792,F +coef_chauf_non_worker_pe,0.51577,F +coef_chauf_univ_stud_re,0.0,F +coef_chauf_age_u35_pe,-0.33715,F +coef_chauf_time_to_work_or_univ_rs,0.0,F +coef_chauf_walk_dist_to_work_or_univ_rs,0.77326,F +coef_chauf_walk_dist_to_work_or_univ_pe,0.0,F +coef_abs_dev_distance,-0.07136,F +coef_rel_dev_distance,-0.09951,F +coef_same_taz_escort,2.77591,F +coef_same_taz_no_escort,2.62969,F +coef_same_taz_no_escort_23,2.21201,F +coef_calib_child_age_u6_rs,8.55400,F +coef_calib_child_age_16p_rs,-0.2000,F +coef_calib_child_age_6to15_noes,-4.53067,F +coef_calib_child_age_6to15_rs,-2.41923,F +coef_calib_child_age_u6_noes,-0.67902,F diff --git a/activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_outbound_cond.csv b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_outbound_cond.csv new file mode 100644 index 0000000000..079d1e8450 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_coefficients_outbound_cond.csv @@ -0,0 +1,41 @@ +coefficient_name,value,constrain +coef_unavail,-999,T +coef_child_age_16p_noes,-0.33924,F +coef_child_age_10_to_15_noes,-0.78691,F +coef_child_age_u9_noes,-0.97142,F +coef_ln_dist_to_school_noes,-0.02112,F +coef_ln_dist_to_school_u6_noes,-0.81356,F +coef_ln_dist_to_school_6to9_noes,-0.12910,F +coef_child_age_16p_rs,0.93518,F +coef_child_age_10to15_rs,0.58009,F +coef_child_age_6to9_rs,0.36698,F +coef_child_age_u6_rs,0.29043,F +coef_child_dist_pe,-0.03624,F +coef_hh_inc_u25k_noes,0.33839,F +coef_hh_inc_25to50k_noes,0.05888,F +coef_zero_auto_hh_noes,9.00000,F +coef_cars_lt_workers_rs,-0.38588,F +coef_cars_lt_workers_pe,-0.01213,F +coef_chauf_female_rs,-0.49717,F +coef_chauf_male_rs,-0.94654,F +coef_chauf_female_pe,-0.98546,F +coef_chauf_male_pe,-1.05266,F +coef_chauf_pt_worker_rs,-0.74807,F +coef_chauf_pt_worker_pe,0.31729,F +coef_chauf_non_worker_pe,0.19211,F +coef_chauf_univ_stud_re,0.0,F +coef_chauf_age_u35_pe,-0.41194,F +coef_chauf_time_to_work_or_univ_rs,0.0,F +coef_chauf_walk_dist_to_work_or_univ_rs,0.38819,F +coef_chauf_walk_dist_to_work_or_univ_pe,0.0,F +coef_abs_dev_distance,-0.04497,F +coef_rel_dev_distance,-0.09067,F +coef_same_taz_escort,2.56855,F +coef_same_taz_no_escort,2.21201,F +coef_no_escort_inbound,1.72902,F +coef_same_chauf,0.99276,F +coef_calib_child_age_u6_rs,8.55400,F +coef_calib_child_age_16p_rs,-0.2000,F +coef_calib_child_age_6to15_noes,-4.53067,F +coef_calib_child_age_6to15_rs,-2.41923,F +coef_calib_child_age_u6_noes,-0.67902,F diff --git a/activitysim/examples/prototype_mtc_extended/configs/school_escorting_inbound.csv b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_inbound.csv new file mode 100644 index 0000000000..559fffd587 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_inbound.csv @@ -0,0 +1,175 @@ +Label,Description,Expression,Coefficient +# ,Availability Conditions,, +util_one_child_to_school,Availability based on number of eligible children,((bundle2 + bundle3) > 0) & (num_children_going_to_school==1),coef_unavail +util_two_children_to_school,Availability based on number of eligible children,(bundle3 > 0) & (num_children_going_to_school == 2),coef_unavail +util_one_potential_chauffeur,Availability based on number of eligible chauffeurs,((bundle1 + bundle2 + bundle3) > 0) & (num_potential_chauffeurs == 0),coef_unavail +util_two_potential_chauffeurs,Availability based on number of eligible chauffeurs,((chauf1 > 2) | (chauf2 > 2) | (chauf3 > 2)) & (num_potential_chauffeurs == 1),coef_unavail +util_avail_rs_cdap_child1_chauf1,Availability for RideSharing by daily pattern - Child 1 and Chauffeur 1,(bundle1 > 0) & (chauf1 == 1) & (cdap_chauf1 != 'M'),coef_unavail +util_avail_rs_cdap_child1_chauf2,Availability for RideSharing by daily pattern - Child 1 and Chauffeur 2,(bundle1 > 0) & (chauf1 == 3) & (cdap_chauf2 != 'M'),coef_unavail +util_avail_rs_cdap_child2_chauf1,Availability for RideSharing by daily pattern - Child 2 and Chauffeur 1,(bundle2 > 0) & (chauf2 == 1) & (cdap_chauf1 != 'M'),coef_unavail +util_avail_rs_cdap_child2_chauf2,Availability for RideSharing by daily pattern - Child 2 and Chauffeur 2,(bundle2 > 0) & (chauf2 == 3) & (cdap_chauf2 != 'M'),coef_unavail +util_avail_rs_cdap_child3_chauf1,Availability for RideSharing by daily pattern - Child 3 and Chauffeur 1,(bundle3 > 0) & (chauf3 == 1) & (cdap_chauf1 != 'M'),coef_unavail +util_avail_rs_cdap_child3_chauf2,Availability for RideSharing by daily pattern - Child 3 and Chauffeur 2,(bundle3 > 0) & (chauf3 == 3) & (cdap_chauf2 != 'M'),coef_unavail +util_avail_rs_sync_child1_chauf1,Availability for RideSharing by synchronization - Child 1 and Chauffeur 1,@(df.bundle1 > 0) & (df.chauf1 == 1) & (np.abs(df.pref_depart_time_chauf1 + (df.time_mand1_to_school1 / mins_per_time_bin) - df.pref_depart_time_school1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child1_chauf2,Availability for RideSharing by synchronization - Child 1 and Chauffeur 2,@(df.bundle1 > 0) & (df.chauf1 == 3) & (np.abs(df.pref_depart_time_chauf2 + (df.time_mand2_to_school1 / mins_per_time_bin) - df.pref_depart_time_school1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child2_chauf1,Availability for RideSharing by synchronization - Child 2 and Chauffeur 1,@(df.bundle2 > 0) & (df.chauf2 == 1) & (np.abs(df.pref_depart_time_chauf1 + (df.time_mand1_to_school2 / mins_per_time_bin) - df.pref_depart_time_school2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child2_chauf2,Availability for RideSharing by synchronization - Child 2 and Chauffeur 2,@(df.bundle2 > 0) & (df.chauf2 == 3) & (np.abs(df.pref_depart_time_chauf2 + (df.time_mand2_to_school2 / mins_per_time_bin) - df.pref_depart_time_school2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child3_chauf1,Availability for RideSharing by synchronization - Child 3 and Chauffeur 1,@(df.bundle3 > 0) & (df.chauf3 == 1) & (np.abs(df.pref_depart_time_chauf1 + (df.time_mand1_to_school3 / mins_per_time_bin) - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child3_chauf2,Availability for RideSharing by synchronization - Child 3 and Chauffeur 2,@(df.bundle3 > 0) & (df.chauf3 == 3) & (np.abs(df.pref_depart_time_chauf2 + (df.time_mand2_to_school3 / mins_per_time_bin) - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_cdap_child1_chauf1,Availability for Pure-Escorting by daily pattern - Child 1 and Chauffeur 1,(bundle1 > 0) & (chauf1 == 2) & (ptype_chauf1 < 6) & (cdap_chauf1 == 'H'),coef_unavail +util_avail_pe_cdap_child1_chauf2,Availability for Pure-Escorting by daily pattern - Child 1 and Chauffeur 2,(bundle1 > 0) & (chauf1 == 4) & (ptype_chauf2 < 6) & (cdap_chauf2 == 'H'),coef_unavail +util_avail_pe_cdap_child2_chauf1,Availability for Pure-Escorting by daily pattern - Child 2 and Chauffeur 1,(bundle2 > 0) & (chauf2 == 2) & (ptype_chauf1 < 6) & (cdap_chauf1 == 'H'),coef_unavail +util_avail_pe_cdap_child2_chauf2,Availability for Pure-Escorting by daily pattern - Child 2 and Chauffeur 2,(bundle2 > 0) & (chauf2 == 4) & (ptype_chauf2 < 6) & (cdap_chauf2 == 'H'),coef_unavail +util_avail_pe_cdap_child3_chauf1,Availability for Pure-Escorting by daily pattern - Child 3 and Chauffeur 1,(bundle3 > 0) & (chauf3 == 2) & (ptype_chauf1 < 6) & (cdap_chauf1 == 'H'),coef_unavail +util_avail_pe_cdap_child3_chauf2,Availability for Pure-Escorting by daily pattern - Child 3 and Chauffeur 2,(bundle3 > 0) & (chauf3 == 4) & (ptype_chauf2 < 6) & (cdap_chauf2 == 'H'),coef_unavail +util_avail_pe_sync_child1_chauf1,Availability for Pure-Escorting by synchronization - Child 1 and Chauffeur 1,@(df.bundle1 > 0) & (df.chauf1 == 2) & (df.cdap_chauf1 == 'H') & (((df.pref_depart_time_chauf1 + (df.time_mand_to_home1 / mins_per_time_bin)) - (df.pref_depart_time_school1 - (df.time_home_to_school1 / mins_per_time_bin))) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child1_chauf2,Availability for Pure-Escorting by synchronization - Child 1 and Chauffeur 2,@(df.bundle1 > 0) & (df.chauf1 == 4) & (df.cdap_chauf2 == 'H') & (((df.pref_depart_time_chauf2 + (df.time_mand_to_home2 / mins_per_time_bin)) - (df.pref_depart_time_school1 - (df.time_home_to_school1 / mins_per_time_bin))) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child2_chauf1,Availability for Pure-Escorting by synchronization - Child 2 and Chauffeur 1,@(df.bundle2 > 0) & (df.chauf2 == 2) & (df.cdap_chauf1 == 'H') & (((df.pref_depart_time_chauf1 + (df.time_mand_to_home1 / mins_per_time_bin)) - (df.pref_depart_time_school2 - (df.time_home_to_school2 / mins_per_time_bin))) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child2_chauf2,Availability for Pure-Escorting by synchronization - Child 2 and Chauffeur 2,@(df.bundle2 > 0) & (df.chauf2 == 4) & (df.cdap_chauf2 == 'H') & (((df.pref_depart_time_chauf2 + (df.time_mand_to_home2 / mins_per_time_bin)) - (df.pref_depart_time_school2 - (df.time_home_to_school2 / mins_per_time_bin))) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child3_chauf1,Availability for Pure-Escorting by synchronization - Child 3 and Chauffeur 1,@(df.bundle3 > 0) & (df.chauf3 == 2) & (df.cdap_chauf1 == 'H') & (((df.pref_depart_time_chauf1 + (df.time_mand_to_home1 / mins_per_time_bin)) - (df.pref_depart_time_school3 - (df.time_home_to_school3 / mins_per_time_bin))) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child3_chauf2,Availability for Pure-Escorting by synchronization - Child 3 and Chauffeur 2,@(df.bundle3 > 0) & (df.chauf3 == 4) & (df.cdap_chauf2 == 'H') & (((df.pref_depart_time_chauf2 + (df.time_mand_to_home2 / mins_per_time_bin)) - (df.pref_depart_time_school3 - (df.time_home_to_school3 / mins_per_time_bin))) > max_bin_difference_between_departure_times),coef_unavail +util_avail_bundle_child_1and2,Availability for bundling child 1 and child 2,@(df.bundle1 == df.bundle2) & (df.bundle1 > 0) & (np.abs(df.pref_depart_time_school1 - df.pref_depart_time_school2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_bundle_child_1and3,Availability for bundling child 1 and child 3,@(df.bundle1 == df.bundle3) & (df.bundle1 > 0) & (np.abs(df.pref_depart_time_school1 - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_bundle_child_2and3,Availability for bundling child 2 and child 3,@(df.bundle2 == df.bundle3) & (df.bundle2 > 0) & (np.abs(df.pref_depart_time_school2 - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_mult_bundles_outbound1,Availability Chauffeur 1 - Expected arrival from previous pure escort must be before departure for subsequent escort,((nrs1 + npe1) > 1) & ~avail_multiple_bundles,coef_unavail +util_avail_mult_bundles_outbound2,Availability Chauffeur 2 - Expected arrival from previous pure escort must be before departure for subsequent escort,((nrs2 + npe2) > 1) & ~avail_multiple_bundles,coef_unavail +util_time_span11,Chauffeur 1 and Child 1 - time span for this alternative must not overlap time span reserved from outbound conditional,(bundle1 > 0) & ((chauf1 == 1) | (chauf1 == 2)) & (return_bin_outbound_school_escorting1 > pref_depart_time_school1),coef_unavail +util_time_span12,Chauffeur 1 and Child 2 - time span for this alternative must not overlap time span reserved from outbound conditional,(bundle1 > 0) & ((chauf2 == 1) | (chauf2 == 2)) & (return_bin_outbound_school_escorting1 > pref_depart_time_school2),coef_unavail +util_time_span13,Chauffeur 1 and Child 3 - time span for this alternative must not overlap time span reserved from outbound conditional,(bundle1 > 0) & ((chauf3 == 1) | (chauf3 == 2)) & (return_bin_outbound_school_escorting1 > pref_depart_time_school3),coef_unavail +util_time_span21,Chauffeur 2 and Child 1 - time span for this alternative must not overlap time span reserved from outbound conditional,(bundle1 > 0) & ((chauf1 == 3) | (chauf1 == 4)) & (return_bin_outbound_school_escorting2 > pref_depart_time_school1),coef_unavail +util_time_span22,Chauffeur 2 and Child 2 - time span for this alternative must not overlap time span reserved from outbound conditional,(bundle1 > 0) & ((chauf2 == 3) | (chauf2 == 4)) & (return_bin_outbound_school_escorting2 > pref_depart_time_school2),coef_unavail +util_time_span23,Chauffeur 2 and Child 3 - time span for this alternative must not overlap time span reserved from outbound conditional,(bundle1 > 0) & ((chauf3 == 3) | (chauf3 == 4)) & (return_bin_outbound_school_escorting2 > pref_depart_time_school3),coef_unavail +util_avail_pe_during_mand_child1_chauf1,Availability pure escort tour must take place before mandatory tour - Child 1 and Chauffeur 1,@(df.bundle1 > 0) & (df.chauf1 == 2) & (df.cdap_chauf1 == 'M') & ((df.pref_depart_time_chauf1 + max_bin_difference_between_departure_times) >= df.pref_depart_time_school1),coef_unavail +util_avail_pe_during_mand_child1_chauf2,Availability pure escort tour must take place before mandatory tour - Child 1 and Chauffeur 2,@(df.bundle1 > 0) & (df.chauf1 == 4) & (df.cdap_chauf2 == 'M') & ((df.pref_depart_time_chauf2 + max_bin_difference_between_departure_times) >= df.pref_depart_time_school1),coef_unavail +util_avail_pe_during_mand_child2_chauf1,Availability pure escort tour must take place before mandatory tour - Child 2 and Chauffeur 1,@(df.bundle2 > 0) & (df.chauf2 == 2) & (df.cdap_chauf1 == 'M') & ((df.pref_depart_time_chauf1 + max_bin_difference_between_departure_times) >= df.pref_depart_time_school2),coef_unavail +util_avail_pe_during_mand_child2_chauf2,Availability pure escort tour must take place before mandatory tour - Child 2 and Chauffeur 2,@(df.bundle2 > 0) & (df.chauf2 == 4) & (df.cdap_chauf2 == 'M') & ((df.pref_depart_time_chauf2 + max_bin_difference_between_departure_times) >= df.pref_depart_time_school2),coef_unavail +util_avail_pe_during_mand_child3_chauf1,Availability pure escort tour must take place before mandatory tour - Child 3 and Chauffeur 1,@(df.bundle3 > 0) & (df.chauf3 == 2) & (df.cdap_chauf1 == 'M') & ((df.pref_depart_time_chauf1 + max_bin_difference_between_departure_times) >= df.pref_depart_time_school3),coef_unavail +util_avail_pe_during_mand_child3_chauf2,Availability pure escort tour must take place before mandatory tour - Child 3 and Chauffeur 2,@(df.bundle3 > 0) & (df.chauf3 == 4) & (df.cdap_chauf2 == 'M') & ((df.pref_depart_time_chauf2 + max_bin_difference_between_departure_times) >= df.pref_depart_time_school3),coef_unavail +# ,No escorting,, +util_child1_age_16p_noes,Child 1 age 16 years or older - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 > 15),coef_child_age_16p_noes +util_child2_age_16p_noes,Child 2 age 16 years or older - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 > 15),coef_child_age_16p_noes +util_child3_age_16p_noes,Child 3 age 16 years or older - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 > 15),coef_child_age_16p_noes +util_child1_age_6_to_15_noes,Child 1 age 6 to 15 years - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 > 5) & (age_child1 < 16),coef_child_age_6_to_15_noes +util_child2_age_6_to_15_noes,Child 2 age 6 to 15 years - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 > 5) & (age_child2 < 16),coef_child_age_6_to_15_noes +util_child3_age_6_to_15_noes,Child 3 age 6 to 15 years - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 > 5) & (age_child3 < 16),coef_child_age_6_to_15_noes +util_child1_age_u5_noes,Child 1 age 5 years or younger - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 < 6),coef_child_age_u5_noes +util_child2_age_u5_noes,Child 2 age 5 years or younger - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 < 6),coef_child_age_u5_noes +util_child3_age_u5_noes,Child 3 age 5 years or younger - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 < 6),coef_child_age_u5_noes +util_ln_dist_from_school_child1_noes,Logged distance to school for Child 1 - No escort,@(df.bundle1 == 0) * (df.child_id1 > 0) * np.log(1 + df.dist_school_to_home1),coef_ln_dist_from_school_noes +util_ln_dist_from_school_child2_noes,Logged distance to school for Child 2 - No escort,@(df.bundle2 == 0) * (df.child_id2 > 0) * np.log(1 + df.dist_school_to_home2),coef_ln_dist_from_school_noes +util_ln_dist_from_school_child3_noes,Logged distance to school for Child 3 - No escort,@(df.bundle3 == 0) * (df.child_id3 > 0) * np.log(1 + df.dist_school_to_home3),coef_ln_dist_from_school_noes +util_ln_dist_from_school_child1_u6_noes,Logged distance to school for Child 1 under 6 years old - No escort,@(df.bundle1 == 0) * (df.child_id1 > 0) * (df.age_child1 < 6) * np.log(1 + df.dist_school_to_home1),coef_ln_dist_from_school_u6_noes +util_ln_dist_from_school_child2_u6_noes,Logged distance to school for Child 2 under 6 years old - No escort,@(df.bundle2 == 0) * (df.child_id2 > 0) * (df.age_child2 < 6) * np.log(1 + df.dist_school_to_home2),coef_ln_dist_from_school_u6_noes +util_ln_dist_from_school_child3_u6_noes,Logged distance to school for Child 3 under 6 years old - No escort,@(df.bundle3 == 0) * (df.child_id3 > 0) * (df.age_child3 < 6) * np.log(1 + df.dist_school_to_home3),coef_ln_dist_from_school_u6_noes +util_ln_dist_from_school_child1_6to9_noes,Logged distance to school for Child 1 6 to 9 years old - No escort,@(df.bundle1 == 0) * (df.child_id1 > 0) * (df.age_child1 > 5) * (df.age_child1 < 10) * np.log(1 + df.dist_school_to_home1),coef_ln_dist_from_school_6to9_noes +util_ln_dist_from_school_child2_6to9_noes,Logged distance to school for Child 2 6 to 9 years old - No escort,@(df.bundle2 == 0) * (df.child_id2 > 0) * (df.age_child2 > 5) * (df.age_child2 < 10) * np.log(1 + df.dist_school_to_home2),coef_ln_dist_from_school_6to9_noes +util_ln_dist_from_school_child3_6to9_noes,Logged distance to school for Child 3 6 to 9 years old - No escort,@(df.bundle3 == 0) * (df.child_id3 > 0) * (df.age_child3 > 5) * (df.age_child3 < 10) * np.log(1 + df.dist_school_to_home3),coef_ln_dist_from_school_6to9_noes +# ,Ride Sharing,, +util_child1_age_16p_rs,Child 1 age 16 years or older - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 15),coef_child_age_16p_rs +util_child2_age_16p_rs,Child 2 age 16 years or older - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 15),coef_child_age_16p_rs +util_child3_age_16p_rs,Child 3 age 16 years or older - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 15),coef_child_age_16p_rs +util_child1_age_10to15_rs,Child 1 age 10 to 15 years - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 9) & (age_child1 < 16),coef_child_age_10to15_rs +util_child2_age_10to15_rs,Child 2 age 10 to 15 years - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 9) & (age_child2 < 16),coef_child_age_10to15_rs +util_child3_age_10to15_rs,Child 3 age 10 to 15 years - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 9) & (age_child3 < 16),coef_child_age_10to15_rs +util_child1_age_6to9_rs,Child 1 age 6 to 9 years - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 5) & (age_child1 < 10),coef_child_age_6to9_rs +util_child2_age_6to9_rs,Child 2 age 6 to 9 years - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 5) & (age_child2 < 10),coef_child_age_6to9_rs +util_child3_age_6to9_rs,Child 3 age 6 to 9 years - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 5) & (age_child3 < 10),coef_child_age_6to9_rs +util_child1_age_u6_rs,Child 1 age under 6 years old - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 < 6),coef_child_age_u6_rs +util_child2_age_u6_rs,Child 2 age under 6 years old - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 < 6),coef_child_age_u6_rs +util_child3_age_u6_rs,Child 3 age under 6 years old - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 < 6),coef_child_age_u6_rs +# ,Pure Escort Distance,, +util_child1_dist_pe,Child 1 Pure escorting not allowed if over 30 miles,((chauf1 == 2) | (chauf1 == 4)) & (dist_school_to_home1 > 30),coef_unavail +util_child2_dist_pe,Child 2 Pure escorting not allowed if over 30 miles,((chauf2 == 2) | (chauf2 == 4)) & (dist_school_to_home2 > 30),coef_unavail +util_child3_dist_pe,Child 3 Pure escorting not allowed if over 30 miles,((chauf3 == 2) | (chauf3 == 4)) & (dist_school_to_home3 > 30),coef_unavail +# ,Household Interactions,, +util_hh_inc_u25k_noes,Household income less than 25k - No Escorting,(income <= 25000) & ((bundle1 == 0) | ((bundle2 == 0) & (num_children_going_to_school > 1)) | ((bundle3 == 0) & (num_children_going_to_school > 2))),coef_hh_inc_u25k_noes +util_hh_inc_25to50k_noes,Household income between 25 and 50k - No Escorting,((income > 25000) & (income <= 50000)) & ((bundle1 == 0) | ((bundle2 == 0) & (num_children_going_to_school > 1)) | ((bundle3 == 0) & (num_children_going_to_school > 2))),coef_hh_inc_25to50k_noes +util_zero_auto_hh_noes,Zero cars in the household - No Escorting,(auto_ownership == 0) & ((bundle1 == 0) | ((bundle2 == 0) & (num_children_going_to_school > 1)) | ((bundle3 == 0) & (num_children_going_to_school > 2))),coef_zero_auto_hh_noes +util_cars_lt_workers_rs,Cars fewer than household workers - Ride Share,(auto_ownership < num_workers) & ((chauf1 % 2 == 1) | (chauf2 % 2 == 1) | (chauf3 % 2 == 1)),coef_cars_lt_workers_rs +util_cars_lt_workers_pe,Cars fewer than household workers - Pure escort,(auto_ownership < num_workers) & ((chauf1 % 2 == 0) | (chauf2 % 2 == 0) | (chauf3 % 2 == 0)),coef_cars_lt_workers_pe +# ,Chauffer Interactions,, +util_chauf1_female_rs,Chauffeur 1 Female - Ride share,(gender_chauf1 == 2) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_female_rs +util_chauf1_male_rs,Chauffeur 1 Male - Ride share,(gender_chauf1 == 1) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_male_rs +util_chauf1_female_pe,Chauffeur 1 Female - Pure Escort,(gender_chauf1 == 2) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_female_pe +util_chauf1_male_pe,Chauffeur 1 Male - Pure Escort,(gender_chauf1 == 1) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_male_pe +util_chauf2_female_rs,Chauffeur 2 Female - Ride share,(gender_chauf2 == 2) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_female_rs +util_chauf2_male_rs,Chauffeur 2 Male - Ride share,(gender_chauf2 == 1) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_male_rs +util_chauf2_female_pe,Chauffeur 2 Female - Pure Escort,(gender_chauf2 == 2) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_female_pe +util_chauf2_male_pe,Chauffeur 2 Male - Pure Escort,(gender_chauf2 == 1) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_male_pe +util_chauf1_pt_worker_rs,Chauffer 1 part time worker - Ride share,(ptype_chauf1 == 2) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_pt_worker_rs +util_chauf1_pt_worker_pe,Chauffer 1 part time worker - Pure escort,(ptype_chauf1 == 2) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_pt_worker_pe +util_chauf2_pt_worker_rs,Chauffer 2 part time worker - Ride share,(ptype_chauf2 == 2) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_pt_worker_rs +util_chauf2_pt_worker_pe,Chauffer 2 part time worker - Pure escort,(ptype_chauf2 == 2) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_pt_worker_pe +util_chauf1_non_worker_pe,Chauffer 1 non worker - Pure escort,(ptype_chauf1 == 4) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_non_worker_pe +util_chauf2_non_worker_pe,Chauffer 2 non worker - Pure escort,(ptype_chauf2 == 4) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_non_worker_pe +util_chauf1_univ_stud_re,Chauffer 1 university student - Ride Share,(ptype_chauf1 == 3) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_univ_stud_re +util_chauf2_univ_stud_re,Chauffer 2 university student - Ride Share,(ptype_chauf2 == 3) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_univ_stud_re +util_chauf1_age_u35_pe,Chauffer 1 Age 35 years or younger - Pure escort,(ptype_chauf1 == 4) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_age_u35_pe +util_chauf2_age_u35_pe,Chauffer 2 Age 35 years or younger - Pure escort,(ptype_chauf2 == 4) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_age_u35_pe +util_chauf1_time_to_work_or_univ_rs,Chauffer 1 Auto time to work or university - Ride Share,time_mand_to_home1 * ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_time_to_work_or_univ_rs +util_chauf2_time_to_work_or_univ_rs,Chauffer 2 Auto time to work or university - Ride Share,time_mand_to_home2 * ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_time_to_work_or_univ_rs +util_chauf1_walk_dist_to_work_or_univ_rs,Chauffer 1 Walk dist to work or university - Ride Share,(dist_mand1_to_home < 3) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_walk_dist_to_work_or_univ_rs +util_chauf2_walk_dist_to_work_or_univ_rs,Chauffer 2 Walk dist to work or university - Ride Share,(dist_mand2_to_home < 3) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_walk_dist_to_work_or_univ_rs +util_chauf1_walk_dist_to_work_or_univ_pe,Chauffer 1 Walk dist to work or university - Pure Escort,(dist_home1_to_mand < 3) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_walk_dist_to_work_or_univ_pe +util_chauf2_walk_dist_to_work_or_univ_pe,Chauffer 2 Walk dist to work or university - Pure Escort,(dist_home2_to_mand < 3) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_walk_dist_to_work_or_univ_pe +# ,Chauffer deviation,, +util_chauf1_abs_dev_rs_child1only,Chauffer 1 Absolute deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_in_child1_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child1only,Chauffer 2 Absolute deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_in_child1_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child2only,Chauffer 1 Absolute deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 1)) * abs_dev_dist_in_child2_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child2only,Chauffer 2 Absolute deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 3)) * abs_dev_dist_in_child2_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child3only,Chauffer 1 Absolute deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 1)) * abs_dev_dist_in_child3_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child3only,Chauffer 2 Absolute deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 3)) * abs_dev_dist_in_child3_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child12,Chauffer 1 Absolute deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_in_child12_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child12,Chauffer 2 Absolute deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_in_child12_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child13,Chauffer 1 Absolute deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 1)) * abs_dev_dist_in_child13_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child13,Chauffer 2 Absolute deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 3)) * abs_dev_dist_in_child13_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child23,Chauffer 1 Absolute deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 1)) * abs_dev_dist_in_child23_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child23,Chauffer 2 Absolute deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 3)) * abs_dev_dist_in_child23_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child123,Chauffer 1 Absolute deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 1)) * abs_dev_dist_in_child123_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child123,Chauffer 2 Absolute deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 3)) * abs_dev_dist_in_child123_chauf2,coef_abs_dev_distance +util_chauf1_rel_dev_rs_child1only,Chauffer 1 Relative deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_in_child1_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child1only,Chauffer 2 Relative deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_in_child1_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child2only,Chauffer 1 Relative deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 1)) * abs_dev_dist_in_child2_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child2only,Chauffer 2 Relative deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 3)) * abs_dev_dist_in_child2_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child3only,Chauffer 1 Relative deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 1)) * abs_dev_dist_in_child3_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child3only,Chauffer 2 Relative deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 3)) * abs_dev_dist_in_child3_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child12,Chauffer 1 Relative deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_in_child12_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child12,Chauffer 2 Relative deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_in_child12_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child13,Chauffer 1 Relative deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 1)) * abs_dev_dist_in_child13_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child13,Chauffer 2 Relative deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 3)) * abs_dev_dist_in_child13_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child23,Chauffer 1 Relative deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 1)) * abs_dev_dist_in_child23_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child23,Chauffer 2 Relative deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 3)) * abs_dev_dist_in_child23_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child123,Chauffer 1 Relative deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 1)) * abs_dev_dist_in_child123_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child123,Chauffer 2 Relative deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 3)) * abs_dev_dist_in_child123_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +# ,Same TAZ,, +util_same_taz_child12_escort,Same school TAZ for child 1 and 2 - Escorting,(bundle1 == bundle2) & (bundle1 > 0) & (school_location_child1 == school_location_child2) & (school_location_child1 > 0),coef_same_taz_escort +util_same_taz_child13_escort,Same school TAZ for child 1 and 3 - Escorting,(bundle1 == bundle3) & (bundle1 > 0) & (school_location_child1 == school_location_child3) & (school_location_child1 > 0),coef_same_taz_escort +util_same_taz_child32_escort,Same school TAZ for child 3 and 2 - Escorting,(bundle3 == bundle2) & (bundle2 > 0) & (school_location_child3 == school_location_child2) & (school_location_child2 > 0),coef_same_taz_escort +util_same_taz_child12_no_escort,Same school TAZ for child 1 and 2 - No Escorting,(bundle1 == 0) & (bundle2 == 0) & (child_id1 > 0) & (child_id2 > 0) & (school_location_child1 == school_location_child2) & (school_location_child1 > 0),coef_same_taz_no_escort +util_same_taz_child13_no_escort,Same school TAZ for child 1 and 3 - No Escorting,(bundle1 == 0) & (bundle3 == 0) & (child_id1 > 0) & (child_id3 > 0) & (school_location_child1 == school_location_child3) & (school_location_child1 > 0),coef_same_taz_no_escort +util_same_taz_child32_no_escort,Same school TAZ for child 3 and 2 - No Escorting,(bundle3 == 0) & (bundle2 == 0) & (child_id3 > 0) & (child_id2 > 0) & (school_location_child3 == school_location_child2) & (school_location_child2 > 0),coef_same_taz_no_escort +# ,Outbound Terms,, +util_no_escort_outbound_child1,No escorting in outbound direction - Child 1,(bundle1 == 0) & (child_id1 > 0) & (bundle1_outbound == 0),coef_no_escort_outbound +util_no_escort_outbound_child2,No escorting in outbound direction - Child 2,(bundle2 == 0) & (child_id2 > 0) & (bundle2_outbound == 0),coef_no_escort_outbound +util_no_escort_outbound_child3,No escorting in outbound direction - Child 3,(bundle3 == 0) & (child_id3 > 0) & (bundle3_outbound == 0),coef_no_escort_outbound +util_outbound_rs_child1,Ride sharing in the outbound direction - Child 1,((chauf1 == 1) | (chauf1 == 3)) & ((chauf1_outbound == 1) | (chauf1_outbound == 3)),coef_outbound_rs +util_outbound_rs_child1,Ride sharing in the outbound direction - Child 2,((chauf2 == 1) | (chauf2 == 3)) & ((chauf2_outbound == 1) | (chauf2_outbound == 3)),coef_outbound_rs +util_outbound_rs_child1,Ride sharing in the outbound direction - Child 3,((chauf3 == 1) | (chauf3 == 3)) & ((chauf3_outbound == 1) | (chauf3_outbound == 3)),coef_outbound_rs +util_same_chauf,Same chauffeur in both directions (not child specific) - chauf 1 inbound & outbound,((chauf1 == 1) | (chauf1 == 2) | (chauf2 == 1) | (chauf2 == 2) | (chauf3 == 1) | (chauf3 == 2)) & ((nbund1_outbound > 0)),coef_same_chauf +util_same_chauf,Same chauffeur in both directions (not child specific) - chauf 2 inbound & outbound,((chauf1 == 3) | (chauf1 == 4) | (chauf2 == 3) | (chauf2 == 4) | (chauf3 == 3) | (chauf3 == 4)) & ((nbund2_outbound > 0)),coef_same_chauf +# ,Calibration Constants,, +util_calib_child1_age_u6_rs,Child 1 age under 6 - Calibration constant - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 < 6),coef_calib_child_age_u6_rs +util_calib_child2_age_u6_rs,Child 2 age under 6 - Calibration constant - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 < 6),coef_calib_child_age_u6_rs +util_calib_child3_age_u6_rs,Child 3 age under 6 - Calibration constant - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 < 6),coef_calib_child_age_u6_rs +util_calib_child1_age_16p_rs,Child 1 age 16 years or older - Calibration constant - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 15),coef_calib_child_age_16p_rs +util_calib_child2_age_16p_rs,Child 2 age 16 years or older - Calibration constant - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 15),coef_calib_child_age_16p_rs +util_calib_child3_age_16p_rs,Child 3 age 16 years or older - Calibration constant - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 15),coef_calib_child_age_16p_rs +util_calib_child1_age_6to15_noes,Child 1 age 6 to 15 years - Calibration constant - No Escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 > 5) & (age_child1 < 16),coef_calib_child_age_6to15_noes +util_calib_child2_age_6to15_noes,Child 2 age 6 to 15 years - Calibration constant - No Escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 > 5) & (age_child2 < 16),coef_calib_child_age_6to15_noes +util_calib_child3_age_6to15_noes,Child 3 age 6 to 15 years - Calibration constant - No Escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 > 5) & (age_child3 < 16),coef_calib_child_age_6to15_noes +util_calib_child1_age_u6_noes,Child 1 age 5 years or younger - Calibration constant - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 < 6),coef_calib_child_age_u6_noes +util_calib_child2_age_u6_noes,Child 2 age 5 years or younger - Calibration constant - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 < 6),coef_calib_child_age_u6_noes +util_calib_child3_age_u6_noes,Child 3 age 5 years or younger - Calibration constant - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 < 6),coef_calib_child_age_u6_noes +util_calib_child1_age_6to15_rs,Child 1 age 6 to 15 years - Calibration constant - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 5) & (age_child1 < 16),coef_calib_child_age_6to15_rs +util_calib_child2_age_6to15_rs,Child 2 age 6 to 15 years - Calibration constant - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 5) & (age_child2 < 16),coef_calib_child_age_6to15_rs +util_calib_child3_age_6to15_rs,Child 3 age 6 to 15 years - Calibration constant - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 5) & (age_child3 < 16),coef_calib_child_age_6to15_rs diff --git a/activitysim/examples/prototype_mtc_extended/configs/school_escorting_outbound.csv b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_outbound.csv new file mode 100644 index 0000000000..53f5f4ccbe --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_outbound.csv @@ -0,0 +1,163 @@ +Label,Description,Expression,Coefficient +# ,Availability Conditions,, +util_one_child_to_school,Availability based on number of eligible children,((bundle2 + bundle3) > 0) & (num_children_going_to_school==1),coef_unavail +util_two_children_to_school,Availability based on number of eligible children,(bundle3 > 0) & (num_children_going_to_school == 2),coef_unavail +util_one_potential_chauffeur,Availability based on number of eligible chauffeurs,((bundle1 + bundle2 + bundle3) > 0) & (num_potential_chauffeurs == 0),coef_unavail +util_two_potential_chauffeurs,Availability based on number of eligible chauffeurs,((chauf1 > 2) | (chauf2 > 2) | (chauf3 > 2)) & (num_potential_chauffeurs == 1),coef_unavail +util_avail_rs_cdap_child1_chauf1,Availability for RideSharing by daily pattern - Child 1 and Chauffeur 1,(bundle1 > 0) & (chauf1 == 1) & (cdap_chauf1 != 'M'),coef_unavail +util_avail_rs_cdap_child1_chauf2,Availability for RideSharing by daily pattern - Child 1 and Chauffeur 2,(bundle1 > 0) & (chauf1 == 3) & (cdap_chauf2 != 'M'),coef_unavail +util_avail_rs_cdap_child2_chauf1,Availability for RideSharing by daily pattern - Child 2 and Chauffeur 1,(bundle2 > 0) & (chauf2 == 1) & (cdap_chauf1 != 'M'),coef_unavail +util_avail_rs_cdap_child2_chauf2,Availability for RideSharing by daily pattern - Child 2 and Chauffeur 2,(bundle2 > 0) & (chauf2 == 3) & (cdap_chauf2 != 'M'),coef_unavail +util_avail_rs_cdap_child3_chauf1,Availability for RideSharing by daily pattern - Child 3 and Chauffeur 1,(bundle3 > 0) & (chauf3 == 1) & (cdap_chauf1 != 'M'),coef_unavail +util_avail_rs_cdap_child3_chauf2,Availability for RideSharing by daily pattern - Child 3 and Chauffeur 2,(bundle3 > 0) & (chauf3 == 3) & (cdap_chauf2 != 'M'),coef_unavail +util_avail_rs_sync_child1_chauf1,Availability for RideSharing by synchronization - Child 1 and Chauffeur 1,@(df.bundle1 > 0) & (df.chauf1 == 1) & (df.pref_depart_time_chauf1 > 0) & (np.abs(df.pref_depart_time_chauf1 - df.pref_depart_time_school1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child1_chauf2,Availability for RideSharing by synchronization - Child 1 and Chauffeur 2,@(df.bundle1 > 0) & (df.chauf1 == 3) & (df.pref_depart_time_chauf2 > 0) & (np.abs(df.pref_depart_time_chauf2 - df.pref_depart_time_school1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child2_chauf1,Availability for RideSharing by synchronization - Child 2 and Chauffeur 1,@(df.bundle2 > 0) & (df.chauf2 == 1) & (df.pref_depart_time_chauf1 > 0) & (np.abs(df.pref_depart_time_chauf1 - df.pref_depart_time_school2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child2_chauf2,Availability for RideSharing by synchronization - Child 2 and Chauffeur 2,@(df.bundle2 > 0) & (df.chauf2 == 3) & (df.pref_depart_time_chauf2 > 0) & (np.abs(df.pref_depart_time_chauf2 - df.pref_depart_time_school2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child3_chauf1,Availability for RideSharing by synchronization - Child 3 and Chauffeur 1,@(df.bundle3 > 0) & (df.chauf3 == 1) & (df.pref_depart_time_chauf1 > 0) & (np.abs(df.pref_depart_time_chauf1 - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child3_chauf2,Availability for RideSharing by synchronization - Child 3 and Chauffeur 2,@(df.bundle3 > 0) & (df.chauf3 == 3) & (df.pref_depart_time_chauf2 > 0) & (np.abs(df.pref_depart_time_chauf2 - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_cdap_child1_chauf1,Availability for Pure-Escorting by daily pattern - Child 1 and Chauffeur 1,(bundle1 > 0) & (chauf1 == 2) & (ptype_chauf1 < 6) & (cdap_chauf1 == 'H'),coef_unavail +util_avail_pe_cdap_child1_chauf2,Availability for Pure-Escorting by daily pattern - Child 1 and Chauffeur 2,(bundle1 > 0) & (chauf1 == 4) & (ptype_chauf2 < 6) & (cdap_chauf2 == 'H'),coef_unavail +util_avail_pe_cdap_child2_chauf1,Availability for Pure-Escorting by daily pattern - Child 2 and Chauffeur 1,(bundle2 > 0) & (chauf2 == 2) & (ptype_chauf1 < 6) & (cdap_chauf1 == 'H'),coef_unavail +util_avail_pe_cdap_child2_chauf2,Availability for Pure-Escorting by daily pattern - Child 2 and Chauffeur 2,(bundle2 > 0) & (chauf2 == 4) & (ptype_chauf2 < 6) & (cdap_chauf2 == 'H'),coef_unavail +util_avail_pe_cdap_child3_chauf1,Availability for Pure-Escorting by daily pattern - Child 3 and Chauffeur 1,(bundle3 > 0) & (chauf3 == 2) & (ptype_chauf1 < 6) & (cdap_chauf1 == 'H'),coef_unavail +util_avail_pe_cdap_child3_chauf2,Availability for Pure-Escorting by daily pattern - Child 3 and Chauffeur 2,(bundle3 > 0) & (chauf3 == 4) & (ptype_chauf2 < 6) & (cdap_chauf2 == 'H'),coef_unavail +util_avail_pe_sync_child1_chauf1,Availability for Pure-Escorting by synchronization - Child 1 and Chauffeur 1,@(df.bundle1 > 0) & (df.chauf1 == 2) & (df.ptype_chauf1 < 4) & (df.cdap_chauf1 == 'H') & (np.abs(df.pref_depart_time_school1 + ((df.time_home_to_school1 + df.time_school_to_home1) / mins_per_time_bin) - df.pref_depart_time_chauf1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child1_chauf2,Availability for Pure-Escorting by synchronization - Child 1 and Chauffeur 2,@(df.bundle1 > 0) & (df.chauf1 == 4) & (df.ptype_chauf2 < 4) & (df.cdap_chauf2 == 'H') & (np.abs(df.pref_depart_time_school1 + ((df.time_home_to_school1 + df.time_school_to_home1) / mins_per_time_bin) - df.pref_depart_time_chauf2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child2_chauf1,Availability for Pure-Escorting by synchronization - Child 2 and Chauffeur 1,@(df.bundle2 > 0) & (df.chauf2 == 2) & (df.ptype_chauf1 < 4) & (df.cdap_chauf1 == 'H') & (np.abs(df.pref_depart_time_school2 + ((df.time_home_to_school2 + df.time_school_to_home2) / mins_per_time_bin) - df.pref_depart_time_chauf1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child2_chauf2,Availability for Pure-Escorting by synchronization - Child 2 and Chauffeur 2,@(df.bundle2 > 0) & (df.chauf2 == 4) & (df.ptype_chauf2 < 4) & (df.cdap_chauf2 == 'H') & (np.abs(df.pref_depart_time_school2 + ((df.time_home_to_school2 + df.time_school_to_home2) / mins_per_time_bin) - df.pref_depart_time_chauf2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child3_chauf1,Availability for Pure-Escorting by synchronization - Child 3 and Chauffeur 1,@(df.bundle3 > 0) & (df.chauf3 == 2) & (df.ptype_chauf1 < 4) & (df.cdap_chauf1 == 'H') & (np.abs(df.pref_depart_time_school3 + ((df.time_home_to_school3 + df.time_school_to_home3) / mins_per_time_bin) - df.pref_depart_time_chauf1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child3_chauf2,Availability for Pure-Escorting by synchronization - Child 3 and Chauffeur 2,@(df.bundle3 > 0) & (df.chauf3 == 4) & (df.ptype_chauf2 < 4) & (df.cdap_chauf2 == 'H') & (np.abs(df.pref_depart_time_school3 + ((df.time_home_to_school3 + df.time_school_to_home3) / mins_per_time_bin) - df.pref_depart_time_chauf2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_bundle_child_1and2,Availability for bundling child 1 and child 2,@(df.bundle1 == df.bundle2) & (df.bundle1 > 0) & (np.abs(df.pref_depart_time_school1 - df.pref_depart_time_school2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_bundle_child_1and3,Availability for bundling child 1 and child 3,@(df.bundle1 == df.bundle3) & (df.bundle1 > 0) & (np.abs(df.pref_depart_time_school1 - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_bundle_child_2and3,Availability for bundling child 2 and child 3,@(df.bundle2 == df.bundle3) & (df.bundle2 > 0) & (np.abs(df.pref_depart_time_school2 - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_mult_bundles_outbound1,Availability Chauffeur 1 - Expected arrival from previous pure escort must be before departure for subsequent escort,((nrs1 + npe1) > 1) & ~avail_multiple_bundles,coef_unavail +util_avail_mult_bundles_outbound2,Availability Chauffeur 2 - Expected arrival from previous pure escort must be before departure for subsequent escort,((nrs2 + npe2) > 1) & ~avail_multiple_bundles,coef_unavail +util_avail_pe_during_mand_child1_chauf1,Availability pure escort tour must take place before mandatory tour - Child 1 and Chauffeur 1,@(df.bundle1 > 0) & (df.chauf1 == 2) & (df.cdap_chauf1 == 'M') & ((df.pref_depart_time_chauf1 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school1),coef_unavail +util_avail_pe_during_mand_child1_chauf2,Availability pure escort tour must take place before mandatory tour - Child 1 and Chauffeur 2,@(df.bundle1 > 0) & (df.chauf1 == 4) & (df.cdap_chauf2 == 'M') & ((df.pref_depart_time_chauf2 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school1),coef_unavail +util_avail_pe_during_mand_child2_chauf1,Availability pure escort tour must take place before mandatory tour - Child 2 and Chauffeur 1,@(df.bundle2 > 0) & (df.chauf2 == 2) & (df.cdap_chauf1 == 'M') & ((df.pref_depart_time_chauf1 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school2),coef_unavail +util_avail_pe_during_mand_child2_chauf2,Availability pure escort tour must take place before mandatory tour - Child 2 and Chauffeur 2,@(df.bundle2 > 0) & (df.chauf2 == 4) & (df.cdap_chauf2 == 'M') & ((df.pref_depart_time_chauf2 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school2),coef_unavail +util_avail_pe_during_mand_child3_chauf1,Availability pure escort tour must take place before mandatory tour - Child 3 and Chauffeur 1,@(df.bundle3 > 0) & (df.chauf3 == 2) & (df.cdap_chauf1 == 'M') & ((df.pref_depart_time_chauf1 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school3),coef_unavail +util_avail_pe_during_mand_child3_chauf2,Availability pure escort tour must take place before mandatory tour - Child 3 and Chauffeur 2,@(df.bundle3 > 0) & (df.chauf3 == 4) & (df.cdap_chauf2 == 'M') & ((df.pref_depart_time_chauf2 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school3),coef_unavail +# ,No escorting,, +util_child1_age_16p_noes,Child 1 age 16 years or older - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 > 15),coef_child_age_16p_noes +util_child2_age_16p_noes,Child 2 age 16 years or older - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 > 15),coef_child_age_16p_noes +util_child3_age_16p_noes,Child 3 age 16 years or older - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 > 15),coef_child_age_16p_noes +util_child1_age_10_to_15_noes,Child 1 age 10 to 15 years - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 > 9) & (age_child1 < 16),coef_child_age_10_to_15_noes +util_child2_age_10_to_15_noes,Child 2 age 10 to 15 years - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 > 9) & (age_child2 < 16),coef_child_age_10_to_15_noes +util_child3_age_10_to_15_noes,Child 3 age 10 to 15 years - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 > 9) & (age_child3 < 16),coef_child_age_10_to_15_noes +util_child1_age_u9_noes,Child 1 age 9 years or younger - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 < 10),coef_child_age_u9_noes +util_child2_age_u9_noes,Child 2 age 9 years or younger - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 < 10),coef_child_age_u9_noes +util_child3_age_u9_noes,Child 3 age 9 years or younger - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 < 10),coef_child_age_u9_noes +util_ln_dist_to_school_child1_noes,Logged distance to school for Child 1 - No escort,@(df.bundle1 == 0) * (df.child_id1 > 0) * np.log(1 + df.dist_home_to_school1),coef_ln_dist_to_school_noes +util_ln_dist_to_school_child2_noes,Logged distance to school for Child 2 - No escort,@(df.bundle2 == 0) * (df.child_id2 > 0) * np.log(1 + df.dist_home_to_school2),coef_ln_dist_to_school_noes +util_ln_dist_to_school_child3_noes,Logged distance to school for Child 3 - No escort,@(df.bundle3 == 0) * (df.child_id3 > 0) * np.log(1 + df.dist_home_to_school3),coef_ln_dist_to_school_noes +util_ln_dist_to_school_child1_u6_noes,Logged distance to school for Child 1 under 6 years old - No escort,@(df.bundle1 == 0) * (df.child_id1 > 0) * (df.age_child1 < 6) * np.log(1 + df.dist_home_to_school1),coef_ln_dist_to_school_u6_noes +util_ln_dist_to_school_child2_u6_noes,Logged distance to school for Child 2 under 6 years old - No escort,@(df.bundle2 == 0) * (df.child_id2 > 0) * (df.age_child2 < 6) * np.log(1 + df.dist_home_to_school2),coef_ln_dist_to_school_u6_noes +util_ln_dist_to_school_child3_u6_noes,Logged distance to school for Child 3 under 6 years old - No escort,@(df.bundle3 == 0) * (df.child_id3 > 0) * (df.age_child3 < 6) * np.log(1 + df.dist_home_to_school3),coef_ln_dist_to_school_u6_noes +util_ln_dist_to_school_child1_6to9_noes,Logged distance to school for Child 1 6 to 9 years old - No escort,@(df.bundle1 == 0) * (df.child_id1 > 0) * (df.age_child1 > 5) * (df.age_child1 < 10) * np.log(1 + df.dist_home_to_school1),coef_ln_dist_to_school_6to9_noes +util_ln_dist_to_school_child2_6to9_noes,Logged distance to school for Child 2 6 to 9 years old - No escort,@(df.bundle2 == 0) * (df.child_id2 > 0) * (df.age_child2 > 5) * (df.age_child2 < 10) * np.log(1 + df.dist_home_to_school2),coef_ln_dist_to_school_6to9_noes +util_ln_dist_to_school_child3_6to9_noes,Logged distance to school for Child 3 6 to 9 years old - No escort,@(df.bundle3 == 0) * (df.child_id3 > 0) * (df.age_child3 > 5) * (df.age_child3 < 10) * np.log(1 + df.dist_home_to_school3),coef_ln_dist_to_school_6to9_noes +# ,Ride Sharing,, +util_child1_age_16p_rs,Child 1 age 16 years or older - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 15),coef_child_age_16p_rs +util_child2_age_16p_rs,Child 2 age 16 years or older - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 15),coef_child_age_16p_rs +util_child3_age_16p_rs,Child 3 age 16 years or older - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 15),coef_child_age_16p_rs +util_child1_age_10to15_rs,Child 1 age 10 to 15 years - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 9) & (age_child1 < 16),coef_child_age_10to15_rs +util_child2_age_10to15_rs,Child 2 age 10 to 15 years - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 9) & (age_child2 < 16),coef_child_age_10to15_rs +util_child3_age_10to15_rs,Child 3 age 10 to 15 years - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 9) & (age_child3 < 16),coef_child_age_10to15_rs +util_child1_age_6to9_rs,Child 1 age 6 to 9 years - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 5) & (age_child1 < 10),coef_child_age_6to9_rs +util_child2_age_6to9_rs,Child 2 age 6 to 9 years - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 5) & (age_child2 < 10),coef_child_age_6to9_rs +util_child3_age_6to9_rs,Child 3 age 6 to 9 years - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 5) & (age_child3 < 10),coef_child_age_6to9_rs +util_child1_age_u6_rs,Child 1 age under 6 years old - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 < 6),coef_child_age_u6_rs +util_child2_age_u6_rs,Child 2 age under 6 years old - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 < 6),coef_child_age_u6_rs +util_child3_age_u6_rs,Child 3 age under 6 years old - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 < 6),coef_child_age_u6_rs +# ,Pure Escort Distance,, +util_child1_dist_pe,Child 1 distance to school - Pure escorting,((chauf1 == 2) | (chauf1 == 4)) * dist_home_to_school1,coef_child_dist_pe +util_child2_dist_pe,Child 2 distance to school - Pure escorting,((chauf2 == 2) | (chauf2 == 4)) * dist_home_to_school2,coef_child_dist_pe +util_child3_dist_pe,Child 3 distance to school - Pure escorting,((chauf3 == 2) | (chauf3 == 4)) * dist_home_to_school3,coef_child_dist_pe +util_child1_dist_pe,Child 1 Pure escorting not allowed if over 30 miles,((chauf1 == 2) | (chauf1 == 4)) & (dist_home_to_school1 > 30),coef_unavail +util_child2_dist_pe,Child 2 Pure escorting not allowed if over 30 miles,((chauf2 == 2) | (chauf2 == 4)) & (dist_home_to_school2 > 30),coef_unavail +util_child3_dist_pe,Child 3 Pure escorting not allowed if over 30 miles,((chauf3 == 2) | (chauf3 == 4)) & (dist_home_to_school3 > 30),coef_unavail +# ,Household Interactions,, +util_hh_inc_u25k_noes,Household income less than 25k - No Escorting,(income <= 25000) & ((bundle1 == 0) | ((bundle2 == 0) & (num_children_going_to_school > 1)) | ((bundle3 == 0) & (num_children_going_to_school > 2))),coef_hh_inc_u25k_noes +util_hh_inc_25to50k_noes,Household income between 25 and 50k - No Escorting,((income > 25000) & (income <= 50000)) & ((bundle1 == 0) | ((bundle2 == 0) & (num_children_going_to_school > 1)) | ((bundle3 == 0) & (num_children_going_to_school > 2))),coef_hh_inc_25to50k_noes +util_zero_auto_hh_noes,Zero cars in the household - No Escorting,(auto_ownership == 0) & ((bundle1 == 0) | ((bundle2 == 0) & (num_children_going_to_school > 1)) | ((bundle3 == 0) & (num_children_going_to_school > 2))),coef_zero_auto_hh_noes +util_cars_lt_workers_rs,Cars fewer than household workers - Ride Share,(auto_ownership < num_workers) & ((chauf1 % 2 == 1) | (chauf2 % 2 == 1) | (chauf3 % 2 == 1)),coef_cars_lt_workers_rs +util_cars_lt_workers_pe,Cars fewer than household workers - Pure escort,(auto_ownership < num_workers) & ((chauf1 % 2 == 0) | (chauf2 % 2 == 0) | (chauf3 % 2 == 0)),coef_cars_lt_workers_pe +# ,Chauffer Interactions,, +util_chauf1_female_rs,Chauffeur 1 Female - Ride share,(gender_chauf1 == 2) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_female_rs +util_chauf1_male_rs,Chauffeur 1 Male - Ride share,(gender_chauf1 == 1) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_male_rs +util_chauf1_female_pe,Chauffeur 1 Female - Pure Escort,(gender_chauf1 == 2) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_female_pe +util_chauf1_male_pe,Chauffeur 1 Male - Pure Escort,(gender_chauf1 == 1) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_male_pe +util_chauf2_female_rs,Chauffeur 2 Female - Ride share,(gender_chauf2 == 2) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_female_rs +util_chauf2_male_rs,Chauffeur 2 Male - Ride share,(gender_chauf2 == 1) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_male_rs +util_chauf2_female_pe,Chauffeur 2 Female - Pure Escort,(gender_chauf2 == 2) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_female_pe +util_chauf2_male_pe,Chauffeur 2 Male - Pure Escort,(gender_chauf2 == 1) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_male_pe +util_chauf1_pt_worker_rs,Chauffer 1 part time worker - Ride share,(ptype_chauf1 == 2) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_pt_worker_rs +util_chauf1_pt_worker_pe,Chauffer 1 part time worker - Pure escort,(ptype_chauf1 == 2) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_pt_worker_pe +util_chauf2_pt_worker_rs,Chauffer 2 part time worker - Ride share,(ptype_chauf2 == 2) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_pt_worker_rs +util_chauf2_pt_worker_pe,Chauffer 2 part time worker - Pure escort,(ptype_chauf2 == 2) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_pt_worker_pe +util_chauf1_non_worker_pe,Chauffer 1 non worker - Pure escort,(ptype_chauf1 == 4) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_non_worker_pe +util_chauf2_non_worker_pe,Chauffer 2 non worker - Pure escort,(ptype_chauf2 == 4) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_non_worker_pe +util_chauf1_univ_stud_re,Chauffer 1 university student - Ride Share,(ptype_chauf1 == 3) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_univ_stud_re +util_chauf2_univ_stud_re,Chauffer 2 university student - Ride Share,(ptype_chauf2 == 3) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_univ_stud_re +util_chauf1_age_u35_pe,Chauffer 1 Age 35 years or younger - Pure escort,(ptype_chauf1 == 4) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_age_u35_pe +util_chauf2_age_u35_pe,Chauffer 2 Age 35 years or younger - Pure escort,(ptype_chauf2 == 4) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_age_u35_pe +util_chauf1_time_to_work_or_univ_rs,Chauffer 1 Auto time to work or university - Ride Share,time_home_to_mand1 * ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_time_to_work_or_univ_rs +util_chauf2_time_to_work_or_univ_rs,Chauffer 2 Auto time to work or university - Ride Share,time_home_to_mand2 * ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_time_to_work_or_univ_rs +util_chauf1_walk_dist_to_work_or_univ_rs,Chauffer 1 Walk dist to work or university - Ride Share,(dist_home_to_mand1 < 3) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_walk_dist_to_work_or_univ_rs +util_chauf2_walk_dist_to_work_or_univ_rs,Chauffer 2 Walk dist to work or university - Ride Share,(dist_home_to_mand2 < 3) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_walk_dist_to_work_or_univ_rs +util_chauf1_walk_dist_to_work_or_univ_pe,Chauffer 1 Walk dist to work or university - Pure Escort,(dist_home_to_mand1 < 3) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_walk_dist_to_work_or_univ_pe +util_chauf2_walk_dist_to_work_or_univ_pe,Chauffer 2 Walk dist to work or university - Pure Escort,(dist_home_to_mand2 < 3) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_walk_dist_to_work_or_univ_pe +# ,Chauffer deviation,, +util_chauf1_abs_dev_rs_child1only,Chauffer 1 Absolute deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child1_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child1only,Chauffer 2 Absolute deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child1_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child2only,Chauffer 1 Absolute deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 1)) * abs_dev_dist_out_child2_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child2only,Chauffer 2 Absolute deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 3)) * abs_dev_dist_out_child2_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child3only,Chauffer 1 Absolute deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 1)) * abs_dev_dist_out_child3_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child3only,Chauffer 2 Absolute deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 3)) * abs_dev_dist_out_child3_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child12,Chauffer 1 Absolute deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child12_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child12,Chauffer 2 Absolute deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child12_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child13,Chauffer 1 Absolute deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child13_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child13,Chauffer 2 Absolute deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child13_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child23,Chauffer 1 Absolute deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 1)) * abs_dev_dist_out_child23_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child23,Chauffer 2 Absolute deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 3)) * abs_dev_dist_out_child23_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child123,Chauffer 1 Absolute deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child123_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child123,Chauffer 2 Absolute deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child123_chauf2,coef_abs_dev_distance +util_chauf1_rel_dev_rs_child1only,Chauffer 1 Relative deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child1_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child1only,Chauffer 2 Relative deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child1_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child2only,Chauffer 1 Relative deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 1)) * abs_dev_dist_out_child2_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child2only,Chauffer 2 Relative deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 3)) * abs_dev_dist_out_child2_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child3only,Chauffer 1 Relative deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 1)) * abs_dev_dist_out_child3_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child3only,Chauffer 2 Relative deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 3)) * abs_dev_dist_out_child3_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child12,Chauffer 1 Relative deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child12_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child12,Chauffer 2 Relative deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child12_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child13,Chauffer 1 Relative deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child13_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child13,Chauffer 2 Relative deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child13_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child23,Chauffer 1 Relative deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 1)) * abs_dev_dist_out_child23_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child23,Chauffer 2 Relative deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 3)) * abs_dev_dist_out_child23_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child123,Chauffer 1 Relative deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child123_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child123,Chauffer 2 Relative deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child123_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +# ,Same TAZ,, +util_same_taz_child12_escort,Same school TAZ for child 1 and 2 - Escorting,(bundle1 == bundle2) & (bundle1 > 0) & (school_location_child1 == school_location_child2) & (school_location_child1 > 0),coef_same_taz_escort +util_same_taz_child13_escort,Same school TAZ for child 1 and 3 - Escorting,(bundle1 == bundle3) & (bundle1 > 0) & (school_location_child1 == school_location_child3) & (school_location_child1 > 0),coef_same_taz_escort +util_same_taz_child32_escort,Same school TAZ for child 3 and 2 - Escorting,(bundle3 == bundle2) & (bundle2 > 0) & (school_location_child3 == school_location_child2) & (school_location_child2 > 0),coef_same_taz_escort +util_same_taz_child12_no_escort,Same school TAZ for child 1 and 2 - No Escorting,(bundle1 == 0) & (bundle2 == 0) & (child_id1 > 0) & (child_id2 > 0) & (school_location_child1 == school_location_child2) & (school_location_child1 > 0),coef_same_taz_no_escort +util_same_taz_child13_no_escort,Same school TAZ for child 1 and 3 - No Escorting,(bundle1 == 0) & (bundle3 == 0) & (child_id1 > 0) & (child_id3 > 0) & (school_location_child1 == school_location_child3) & (school_location_child1 > 0),coef_same_taz_no_escort +util_same_taz_child32_no_escort,Same school TAZ for child 3 and 2 - No Escorting,(bundle3 == 0) & (bundle2 == 0) & (child_id3 > 0) & (child_id2 > 0) & (school_location_child3 == school_location_child2) & (school_location_child2 > 0),coef_same_taz_no_escort_23 +# ,Calibration constants,, +util_calib_child1_age_u6_rs,Child 1 age under 6 - Calibration constant - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 < 6),coef_calib_child_age_u6_rs +util_calib_child2_age_u6_rs,Child 2 age under 6 - Calibration constant - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 < 6),coef_calib_child_age_u6_rs +util_calib_child3_age_u6_rs,Child 3 age under 6 - Calibration constant - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 < 6),coef_calib_child_age_u6_rs +util_calib_child1_age_16p_rs,Child 1 age 16 years or older - Calibration constant - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 15),coef_calib_child_age_16p_rs +util_calib_child2_age_16p_rs,Child 2 age 16 years or older - Calibration constant - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 15),coef_calib_child_age_16p_rs +util_calib_child3_age_16p_rs,Child 3 age 16 years or older - Calibration constant - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 15),coef_calib_child_age_16p_rs +util_calib_child1_age_6to15_noes,Child 1 age 6 to 15 years - Calibration constant - No Escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 > 5) & (age_child1 < 16),coef_calib_child_age_6to15_noes +util_calib_child2_age_6to15_noes,Child 2 age 6 to 15 years - Calibration constant - No Escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 > 5) & (age_child2 < 16),coef_calib_child_age_6to15_noes +util_calib_child3_age_6to15_noes,Child 3 age 6 to 15 years - Calibration constant - No Escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 > 5) & (age_child3 < 16),coef_calib_child_age_6to15_noes +util_calib_child1_age_6to15_rs,Child 1 age 6 to 15 years - Calibration constant - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 5) & (age_child1 < 16),coef_calib_child_age_6to15_rs +util_calib_child2_age_6to15_rs,Child 2 age 6 to 15 years - Calibration constant - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 5) & (age_child2 < 16),coef_calib_child_age_6to15_rs +util_calib_child3_age_6to15_rs,Child 3 age 6 to 15 years - Calibration constant - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 5) & (age_child3 < 16),coef_calib_child_age_6to15_rs +util_calib_child1_age_u6_noes,Child 1 age 6 years or younger - Calibration constant - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 < 6),coef_calib_child_age_u6_noes +util_calib_child2_age_u6_noes,Child 2 age 6 years or younger - Calibration constant - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 < 6),coef_calib_child_age_u6_noes +util_calib_child3_age_u6_noes,Child 3 age 6 years or younger - Calibration constant - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 < 6),coef_calib_child_age_u6_noes diff --git a/activitysim/examples/prototype_mtc_extended/configs/school_escorting_outbound_cond.csv b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_outbound_cond.csv new file mode 100644 index 0000000000..00527edc36 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_outbound_cond.csv @@ -0,0 +1,169 @@ +Label,Description,Expression,Coefficient +# ,Availability Conditions,, +util_one_child_to_school,Availability based on number of eligible children,((bundle2 + bundle3) > 0) & (num_children_going_to_school==1),coef_unavail +util_two_children_to_school,Availability based on number of eligible children,(bundle3 > 0) & (num_children_going_to_school == 2),coef_unavail +util_one_potential_chauffeur,Availability based on number of eligible chauffeurs,((bundle1 + bundle2 + bundle3) > 0) & (num_potential_chauffeurs == 0),coef_unavail +util_two_potential_chauffeurs,Availability based on number of eligible chauffeurs,((chauf1 > 2) | (chauf2 > 2) | (chauf3 > 2)) & (num_potential_chauffeurs == 1),coef_unavail +util_avail_rs_cdap_child1_chauf1,Availability for RideSharing by daily pattern - Child 1 and Chauffeur 1,(bundle1 > 0) & (chauf1 == 1) & (cdap_chauf1 != 'M'),coef_unavail +util_avail_rs_cdap_child1_chauf2,Availability for RideSharing by daily pattern - Child 1 and Chauffeur 2,(bundle1 > 0) & (chauf1 == 3) & (cdap_chauf2 != 'M'),coef_unavail +util_avail_rs_cdap_child2_chauf1,Availability for RideSharing by daily pattern - Child 2 and Chauffeur 1,(bundle2 > 0) & (chauf2 == 1) & (cdap_chauf1 != 'M'),coef_unavail +util_avail_rs_cdap_child2_chauf2,Availability for RideSharing by daily pattern - Child 2 and Chauffeur 2,(bundle2 > 0) & (chauf2 == 3) & (cdap_chauf2 != 'M'),coef_unavail +util_avail_rs_cdap_child3_chauf1,Availability for RideSharing by daily pattern - Child 3 and Chauffeur 1,(bundle3 > 0) & (chauf3 == 1) & (cdap_chauf1 != 'M'),coef_unavail +util_avail_rs_cdap_child3_chauf2,Availability for RideSharing by daily pattern - Child 3 and Chauffeur 2,(bundle3 > 0) & (chauf3 == 3) & (cdap_chauf2 != 'M'),coef_unavail +util_avail_rs_sync_child1_chauf1,Availability for RideSharing by synchronization - Child 1 and Chauffeur 1,@(df.bundle1 > 0) & (df.chauf1 == 1) & (np.abs(df.pref_depart_time_chauf1 - df.pref_depart_time_school1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child1_chauf2,Availability for RideSharing by synchronization - Child 1 and Chauffeur 2,@(df.bundle1 > 0) & (df.chauf1 == 3) & (np.abs(df.pref_depart_time_chauf2 - df.pref_depart_time_school1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child2_chauf1,Availability for RideSharing by synchronization - Child 2 and Chauffeur 1,@(df.bundle2 > 0) & (df.chauf2 == 1) & (np.abs(df.pref_depart_time_chauf1 - df.pref_depart_time_school2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child2_chauf2,Availability for RideSharing by synchronization - Child 2 and Chauffeur 2,@(df.bundle2 > 0) & (df.chauf2 == 3) & (np.abs(df.pref_depart_time_chauf2 - df.pref_depart_time_school2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child3_chauf1,Availability for RideSharing by synchronization - Child 3 and Chauffeur 1,@(df.bundle3 > 0) & (df.chauf3 == 1) & (np.abs(df.pref_depart_time_chauf1 - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_rs_sync_child3_chauf2,Availability for RideSharing by synchronization - Child 3 and Chauffeur 2,@(df.bundle3 > 0) & (df.chauf3 == 3) & (np.abs(df.pref_depart_time_chauf2 - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_cdap_child1_chauf1,Availability for Pure-Escorting by daily pattern - Child 1 and Chauffeur 1,(bundle1 > 0) & (chauf1 == 2) & (ptype_chauf1 < 6) & (cdap_chauf1 == 'H'),coef_unavail +util_avail_pe_cdap_child1_chauf2,Availability for Pure-Escorting by daily pattern - Child 1 and Chauffeur 2,(bundle1 > 0) & (chauf1 == 4) & (ptype_chauf2 < 6) & (cdap_chauf2 == 'H'),coef_unavail +util_avail_pe_cdap_child2_chauf1,Availability for Pure-Escorting by daily pattern - Child 2 and Chauffeur 1,(bundle2 > 0) & (chauf2 == 2) & (ptype_chauf1 < 6) & (cdap_chauf1 == 'H'),coef_unavail +util_avail_pe_cdap_child2_chauf2,Availability for Pure-Escorting by daily pattern - Child 2 and Chauffeur 2,(bundle2 > 0) & (chauf2 == 4) & (ptype_chauf2 < 6) & (cdap_chauf2 == 'H'),coef_unavail +util_avail_pe_cdap_child3_chauf1,Availability for Pure-Escorting by daily pattern - Child 3 and Chauffeur 1,(bundle3 > 0) & (chauf3 == 2) & (ptype_chauf1 < 6) & (cdap_chauf1 == 'H'),coef_unavail +util_avail_pe_cdap_child3_chauf2,Availability for Pure-Escorting by daily pattern - Child 3 and Chauffeur 2,(bundle3 > 0) & (chauf3 == 4) & (ptype_chauf2 < 6) & (cdap_chauf2 == 'H'),coef_unavail +util_avail_pe_sync_child1_chauf1,Availability for Pure-Escorting by synchronization - Child 1 and Chauffeur 1,@(df.bundle1 > 0) & (df.chauf1 == 2) & (df.ptype_chauf1 < 4) & (df.cdap_chauf1 == 'H') & (np.abs(df.pref_depart_time_school1 + ((df.time_home_to_school1 + df.time_school_to_home1) / mins_per_time_bin) - df.pref_depart_time_chauf1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child1_chauf2,Availability for Pure-Escorting by synchronization - Child 1 and Chauffeur 2,@(df.bundle1 > 0) & (df.chauf1 == 4) & (df.ptype_chauf2 < 4) & (df.cdap_chauf2 == 'H') & (np.abs(df.pref_depart_time_school1 + ((df.time_home_to_school1 + df.time_school_to_home1) / mins_per_time_bin) - df.pref_depart_time_chauf2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child2_chauf1,Availability for Pure-Escorting by synchronization - Child 2 and Chauffeur 1,@(df.bundle2 > 0) & (df.chauf2 == 2) & (df.ptype_chauf1 < 4) & (df.cdap_chauf1 == 'H') & (np.abs(df.pref_depart_time_school2 + ((df.time_home_to_school2 + df.time_school_to_home2) / mins_per_time_bin) - df.pref_depart_time_chauf1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child2_chauf2,Availability for Pure-Escorting by synchronization - Child 2 and Chauffeur 2,@(df.bundle2 > 0) & (df.chauf2 == 4) & (df.ptype_chauf2 < 4) & (df.cdap_chauf2 == 'H') & (np.abs(df.pref_depart_time_school2 + ((df.time_home_to_school2 + df.time_school_to_home2) / mins_per_time_bin) - df.pref_depart_time_chauf2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child3_chauf1,Availability for Pure-Escorting by synchronization - Child 3 and Chauffeur 1,@(df.bundle3 > 0) & (df.chauf3 == 2) & (df.ptype_chauf1 < 4) & (df.cdap_chauf1 == 'H') & (np.abs(df.pref_depart_time_school3 + ((df.time_home_to_school3 + df.time_school_to_home3) / mins_per_time_bin) - df.pref_depart_time_chauf1) > max_bin_difference_between_departure_times),coef_unavail +util_avail_pe_sync_child3_chauf2,Availability for Pure-Escorting by synchronization - Child 3 and Chauffeur 2,@(df.bundle3 > 0) & (df.chauf3 == 4) & (df.ptype_chauf2 < 4) & (df.cdap_chauf2 == 'H') & (np.abs(df.pref_depart_time_school3 + ((df.time_home_to_school3 + df.time_school_to_home3) / mins_per_time_bin) - df.pref_depart_time_chauf2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_bundle_child_1and2,Availability for bundling child 1 and child 2,@(df.bundle1 == df.bundle2) & (df.bundle1 > 0) & (np.abs(df.pref_depart_time_school1 - df.pref_depart_time_school2) > max_bin_difference_between_departure_times),coef_unavail +util_avail_bundle_child_1and3,Availability for bundling child 1 and child 3,@(df.bundle1 == df.bundle3) & (df.bundle1 > 0) & (np.abs(df.pref_depart_time_school1 - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_bundle_child_2and3,Availability for bundling child 2 and child 3,@(df.bundle2 == df.bundle3) & (df.bundle2 > 0) & (np.abs(df.pref_depart_time_school2 - df.pref_depart_time_school3) > max_bin_difference_between_departure_times),coef_unavail +util_avail_mult_bundles_outbound1,Availability Chauffeur 1 - Expected arrival from previous pure escort must be before departure for subsequent escort,((nrs1 + npe1) > 1) & ~avail_multiple_bundles,coef_unavail +util_avail_mult_bundles_outbound2,Availability Chauffeur 2 - Expected arrival from previous pure escort must be before departure for subsequent escort,((nrs2 + npe2) > 1) & ~avail_multiple_bundles,coef_unavail +util_avail_pe_during_mand_child1_chauf1,Availability pure escort tour must take place before mandatory tour - Child 1 and Chauffeur 1,@(df.bundle1 > 0) & (df.chauf1 == 2) & (df.cdap_chauf1 == 'M') & ((df.pref_depart_time_chauf1 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school1),coef_unavail +util_avail_pe_during_mand_child1_chauf2,Availability pure escort tour must take place before mandatory tour - Child 1 and Chauffeur 2,@(df.bundle1 > 0) & (df.chauf1 == 4) & (df.cdap_chauf2 == 'M') & ((df.pref_depart_time_chauf2 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school1),coef_unavail +util_avail_pe_during_mand_child2_chauf1,Availability pure escort tour must take place before mandatory tour - Child 2 and Chauffeur 1,@(df.bundle2 > 0) & (df.chauf2 == 2) & (df.cdap_chauf1 == 'M') & ((df.pref_depart_time_chauf1 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school2),coef_unavail +util_avail_pe_during_mand_child2_chauf2,Availability pure escort tour must take place before mandatory tour - Child 2 and Chauffeur 2,@(df.bundle2 > 0) & (df.chauf2 == 4) & (df.cdap_chauf2 == 'M') & ((df.pref_depart_time_chauf2 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school2),coef_unavail +util_avail_pe_during_mand_child3_chauf1,Availability pure escort tour must take place before mandatory tour - Child 3 and Chauffeur 1,@(df.bundle3 > 0) & (df.chauf3 == 2) & (df.cdap_chauf1 == 'M') & ((df.pref_depart_time_chauf1 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school3),coef_unavail +util_avail_pe_during_mand_child3_chauf2,Availability pure escort tour must take place before mandatory tour - Child 3 and Chauffeur 2,@(df.bundle3 > 0) & (df.chauf3 == 4) & (df.cdap_chauf2 == 'M') & ((df.pref_depart_time_chauf2 - max_bin_difference_between_departure_times) <= df.pref_depart_time_school3),coef_unavail +# ,No escorting,, +util_child1_age_16p_noes,Child 1 age 16 years or older - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 > 15),coef_child_age_16p_noes +util_child2_age_16p_noes,Child 2 age 16 years or older - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 > 15),coef_child_age_16p_noes +util_child3_age_16p_noes,Child 3 age 16 years or older - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 > 15),coef_child_age_16p_noes +util_child1_age_10_to_15_noes,Child 1 age 10 to 15 years - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 > 9) & (age_child1 < 16),coef_child_age_10_to_15_noes +util_child2_age_10_to_15_noes,Child 2 age 10 to 15 years - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 > 9) & (age_child2 < 16),coef_child_age_10_to_15_noes +util_child3_age_10_to_15_noes,Child 3 age 10 to 15 years - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 > 9) & (age_child3 < 16),coef_child_age_10_to_15_noes +util_child1_age_u9_noes,Child 1 age 9 years or younger - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 < 10),coef_child_age_u9_noes +util_child2_age_u9_noes,Child 2 age 9 years or younger - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 < 10),coef_child_age_u9_noes +util_child3_age_u9_noes,Child 3 age 9 years or younger - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 < 10),coef_child_age_u9_noes +util_ln_dist_to_school_child1_noes,Logged distance to school for Child 1 - No escort,@(df.bundle1 == 0) * (df.child_id1 > 0) * np.log(1 + df.dist_home_to_school1),coef_ln_dist_to_school_noes +util_ln_dist_to_school_child2_noes,Logged distance to school for Child 2 - No escort,@(df.bundle2 == 0) * (df.child_id2 > 0) * np.log(1 + df.dist_home_to_school2),coef_ln_dist_to_school_noes +util_ln_dist_to_school_child3_noes,Logged distance to school for Child 3 - No escort,@(df.bundle3 == 0) * (df.child_id3 > 0) * np.log(1 + df.dist_home_to_school3),coef_ln_dist_to_school_noes +util_ln_dist_to_school_child1_u6_noes,Logged distance to school for Child 1 under 6 years old - No escort,@(df.bundle1 == 0) * (df.child_id1 > 0) * (df.age_child1 < 6) * np.log(1 + df.dist_home_to_school1),coef_ln_dist_to_school_u6_noes +util_ln_dist_to_school_child2_u6_noes,Logged distance to school for Child 2 under 6 years old - No escort,@(df.bundle2 == 0) * (df.child_id2 > 0) * (df.age_child2 < 6) * np.log(1 + df.dist_home_to_school2),coef_ln_dist_to_school_u6_noes +util_ln_dist_to_school_child3_u6_noes,Logged distance to school for Child 3 under 6 years old - No escort,@(df.bundle3 == 0) * (df.child_id3 > 0) * (df.age_child3 < 6) * np.log(1 + df.dist_home_to_school3),coef_ln_dist_to_school_u6_noes +util_ln_dist_to_school_child1_6to9_noes,Logged distance to school for Child 1 6 to 9 years old - No escort,@(df.bundle1 == 0) * (df.child_id1 > 0) * (df.age_child1 > 5) * (df.age_child1 < 10) * np.log(1 + df.dist_home_to_school1),coef_ln_dist_to_school_6to9_noes +util_ln_dist_to_school_child2_6to9_noes,Logged distance to school for Child 2 6 to 9 years old - No escort,@(df.bundle2 == 0) * (df.child_id2 > 0) * (df.age_child2 > 5) * (df.age_child2 < 10) * np.log(1 + df.dist_home_to_school2),coef_ln_dist_to_school_6to9_noes +util_ln_dist_to_school_child3_6to9_noes,Logged distance to school for Child 3 6 to 9 years old - No escort,@(df.bundle3 == 0) * (df.child_id3 > 0) * (df.age_child3 > 5) * (df.age_child3 < 10) * np.log(1 + df.dist_home_to_school3),coef_ln_dist_to_school_6to9_noes +# ,Ride Sharing,, +util_child1_age_16p_rs,Child 1 age 16 years or older - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 15),coef_child_age_16p_rs +util_child2_age_16p_rs,Child 2 age 16 years or older - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 15),coef_child_age_16p_rs +util_child3_age_16p_rs,Child 3 age 16 years or older - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 15),coef_child_age_16p_rs +util_child1_age_10to15_rs,Child 1 age 10 to 15 years - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 9) & (age_child1 < 16),coef_child_age_10to15_rs +util_child2_age_10to15_rs,Child 2 age 10 to 15 years - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 9) & (age_child2 < 16),coef_child_age_10to15_rs +util_child3_age_10to15_rs,Child 3 age 10 to 15 years - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 9) & (age_child3 < 16),coef_child_age_10to15_rs +util_child1_age_6to9_rs,Child 1 age 6 to 9 years - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 5) & (age_child1 < 10),coef_child_age_6to9_rs +util_child2_age_6to9_rs,Child 2 age 6 to 9 years - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 5) & (age_child2 < 10),coef_child_age_6to9_rs +util_child3_age_6to9_rs,Child 3 age 6 to 9 years - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 5) & (age_child3 < 10),coef_child_age_6to9_rs +util_child1_age_u6_rs,Child 1 age under 6 years old - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 < 6),coef_child_age_u6_rs +util_child2_age_u6_rs,Child 2 age under 6 years old - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 < 6),coef_child_age_u6_rs +util_child3_age_u6_rs,Child 3 age under 6 years old - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 < 6),coef_child_age_u6_rs +# ,Pure Escort Distance,, +util_child1_dist_pe,Child 1 distance to school - Pure escorting,((chauf1 == 2) | (chauf1 == 4)) * dist_home_to_school1,coef_child_dist_pe +util_child2_dist_pe,Child 2 distance to school - Pure escorting,((chauf2 == 2) | (chauf2 == 4)) * dist_home_to_school2,coef_child_dist_pe +util_child3_dist_pe,Child 3 distance to school - Pure escorting,((chauf3 == 2) | (chauf3 == 4)) * dist_home_to_school3,coef_child_dist_pe +util_child1_dist_pe,Child 1 Pure escorting not allowed if over 30 miles,((chauf1 == 2) | (chauf1 == 4)) & (dist_home_to_school1 > 30),coef_unavail +util_child2_dist_pe,Child 2 Pure escorting not allowed if over 30 miles,((chauf2 == 2) | (chauf2 == 4)) & (dist_home_to_school2 > 30),coef_unavail +util_child3_dist_pe,Child 3 Pure escorting not allowed if over 30 miles,((chauf3 == 2) | (chauf3 == 4)) & (dist_home_to_school3 > 30),coef_unavail +# ,Household Interactions,, +util_hh_inc_u25k_noes,Household income less than 25k - No Escorting,(income <= 25000) & ((bundle1 == 0) | ((bundle2 == 0) & (num_children_going_to_school > 1)) | ((bundle3 == 0) & (num_children_going_to_school > 2))),coef_hh_inc_u25k_noes +util_hh_inc_25to50k_noes,Household income between 25 and 50k - No Escorting,((income > 25000) & (income <= 50000)) & ((bundle1 == 0) | ((bundle2 == 0) & (num_children_going_to_school > 1)) | ((bundle3 == 0) & (num_children_going_to_school > 2))),coef_hh_inc_25to50k_noes +util_zero_auto_hh_noes,Zero cars in the household - No Escorting,(auto_ownership == 0) & ((bundle1 == 0) | ((bundle2 == 0) & (num_children_going_to_school > 1)) | ((bundle3 == 0) & (num_children_going_to_school > 2))),coef_zero_auto_hh_noes +util_cars_lt_workers_rs,Cars fewer than household workers - Ride Share,(auto_ownership < num_workers) & ((chauf1 % 2 == 1) | (chauf2 % 2 == 1) | (chauf3 % 2 == 1)),coef_cars_lt_workers_rs +util_cars_lt_workers_pe,Cars fewer than household workers - Pure escort,(auto_ownership < num_workers) & ((chauf1 % 2 == 0) | (chauf2 % 2 == 0) | (chauf3 % 2 == 0)),coef_cars_lt_workers_pe +# ,Chauffer Interactions,, +util_chauf1_female_rs,Chauffeur 1 Female - Ride share,(gender_chauf1 == 2) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_female_rs +util_chauf1_male_rs,Chauffeur 1 Male - Ride share,(gender_chauf1 == 1) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_male_rs +util_chauf1_female_pe,Chauffeur 1 Female - Pure Escort,(gender_chauf1 == 2) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_female_pe +util_chauf1_male_pe,Chauffeur 1 Male - Pure Escort,(gender_chauf1 == 1) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_male_pe +util_chauf2_female_rs,Chauffeur 2 Female - Ride share,(gender_chauf2 == 2) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_female_rs +util_chauf2_male_rs,Chauffeur 2 Male - Ride share,(gender_chauf2 == 1) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_male_rs +util_chauf2_female_pe,Chauffeur 2 Female - Pure Escort,(gender_chauf2 == 2) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_female_pe +util_chauf2_male_pe,Chauffeur 2 Male - Pure Escort,(gender_chauf2 == 1) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_male_pe +util_chauf1_pt_worker_rs,Chauffer 1 part time worker - Ride share,(ptype_chauf1 == 2) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_pt_worker_rs +util_chauf1_pt_worker_pe,Chauffer 1 part time worker - Pure escort,(ptype_chauf1 == 2) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_pt_worker_pe +util_chauf2_pt_worker_rs,Chauffer 2 part time worker - Ride share,(ptype_chauf2 == 2) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_pt_worker_rs +util_chauf2_pt_worker_pe,Chauffer 2 part time worker - Pure escort,(ptype_chauf2 == 2) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_pt_worker_pe +util_chauf1_non_worker_pe,Chauffer 1 non worker - Pure escort,(ptype_chauf1 == 4) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_non_worker_pe +util_chauf2_non_worker_pe,Chauffer 2 non worker - Pure escort,(ptype_chauf2 == 4) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_non_worker_pe +util_chauf1_univ_stud_re,Chauffer 1 university student - Ride Share,(ptype_chauf1 == 3) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_univ_stud_re +util_chauf2_univ_stud_re,Chauffer 2 university student - Ride Share,(ptype_chauf2 == 3) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_univ_stud_re +util_chauf1_age_u35_pe,Chauffer 1 Age 35 years or younger - Pure escort,(ptype_chauf1 == 4) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_age_u35_pe +util_chauf2_age_u35_pe,Chauffer 2 Age 35 years or younger - Pure escort,(ptype_chauf2 == 4) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_age_u35_pe +util_chauf1_time_to_work_or_univ_rs,Chauffer 1 Auto time to work or university - Ride Share,time_home_to_mand1 * ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_time_to_work_or_univ_rs +util_chauf2_time_to_work_or_univ_rs,Chauffer 2 Auto time to work or university - Ride Share,time_home_to_mand2 * ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_time_to_work_or_univ_rs +util_chauf1_walk_dist_to_work_or_univ_rs,Chauffer 1 Walk dist to work or university - Ride Share,(dist_home_to_mand1 < 3) & ((chauf1 == 1) | (chauf2 == 1) | (chauf3 == 1)),coef_chauf_walk_dist_to_work_or_univ_rs +util_chauf2_walk_dist_to_work_or_univ_rs,Chauffer 2 Walk dist to work or university - Ride Share,(dist_home_to_mand2 < 3) & ((chauf1 == 3) | (chauf2 == 3) | (chauf3 == 3)),coef_chauf_walk_dist_to_work_or_univ_rs +util_chauf1_walk_dist_to_work_or_univ_pe,Chauffer 1 Walk dist to work or university - Pure Escort,(dist_home_to_mand1 < 3) & ((chauf1 == 2) | (chauf2 == 2) | (chauf3 == 2)),coef_chauf_walk_dist_to_work_or_univ_pe +util_chauf2_walk_dist_to_work_or_univ_pe,Chauffer 2 Walk dist to work or university - Pure Escort,(dist_home_to_mand2 < 3) & ((chauf1 == 4) | (chauf2 == 4) | (chauf3 == 4)),coef_chauf_walk_dist_to_work_or_univ_pe +# ,Chauffer deviation,, +util_chauf1_abs_dev_rs_child1only,Chauffer 1 Absolute deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child1_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child1only,Chauffer 2 Absolute deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child1_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child2only,Chauffer 1 Absolute deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 1)) * abs_dev_dist_out_child2_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child2only,Chauffer 2 Absolute deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 3)) * abs_dev_dist_out_child2_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child3only,Chauffer 1 Absolute deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 1)) * abs_dev_dist_out_child3_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child3only,Chauffer 2 Absolute deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 3)) * abs_dev_dist_out_child3_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child12,Chauffer 1 Absolute deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child12_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child12,Chauffer 2 Absolute deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child12_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child13,Chauffer 1 Absolute deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child13_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child13,Chauffer 2 Absolute deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child13_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child23,Chauffer 1 Absolute deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 1)) * abs_dev_dist_out_child23_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child23,Chauffer 2 Absolute deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 3)) * abs_dev_dist_out_child23_chauf2,coef_abs_dev_distance +util_chauf1_abs_dev_rs_child123,Chauffer 1 Absolute deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child123_chauf1,coef_abs_dev_distance +util_chauf2_abs_dev_rs_child123,Chauffer 2 Absolute deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child123_chauf2,coef_abs_dev_distance +util_chauf1_rel_dev_rs_child1only,Chauffer 1 Relative deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child1_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child1only,Chauffer 2 Relative deviation ride share - child 1 only,((bundle1 != bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child1_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child2only,Chauffer 1 Relative deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 1)) * abs_dev_dist_out_child2_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child2only,Chauffer 2 Relative deviation ride share - child 2 only,((bundle1 != bundle2) & (bundle2 != bundle3) & (chauf2 == 3)) * abs_dev_dist_out_child2_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child3only,Chauffer 1 Relative deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 1)) * abs_dev_dist_out_child3_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child3only,Chauffer 2 Relative deviation ride share - child 3 only,((bundle1 != bundle3) & (bundle2 != bundle3) & (chauf3 == 3)) * abs_dev_dist_out_child3_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child12,Chauffer 1 Relative deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child12_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child12,Chauffer 2 Relative deviation ride share - child 1 & 2,((bundle1 == bundle2) & (bundle1 != bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child12_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child13,Chauffer 1 Relative deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child13_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child13,Chauffer 2 Relative deviation ride share - child 1 & 3,((bundle1 != bundle2) & (bundle1 == bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child13_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child23,Chauffer 1 Relative deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 1)) * abs_dev_dist_out_child23_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child23,Chauffer 2 Relative deviation ride share - child 2 & 3,((bundle1 != bundle2) & (bundle2 == bundle3) & (chauf2 == 3)) * abs_dev_dist_out_child23_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +util_chauf1_rel_dev_rs_child123,Chauffer 1 Relative deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 1)) * abs_dev_dist_out_child123_chauf1 / (dist_home_to_mand1 + 0.001),coef_rel_dev_distance +util_chauf2_rel_dev_rs_child123,Chauffer 2 Relative deviation ride share - child 1 & 2 & 3,((bundle1 == bundle2) & (bundle2 == bundle3) & (chauf1 == 3)) * abs_dev_dist_out_child123_chauf2 / (dist_home_to_mand2 + 0.001),coef_rel_dev_distance +# ,Same TAZ,, +util_same_taz_child12_escort,Same school TAZ for child 1 and 2 - Escorting,(bundle1 == bundle2) & (bundle1 > 0) & (school_location_child1 == school_location_child2) & (school_location_child1 > 0),coef_same_taz_escort +util_same_taz_child13_escort,Same school TAZ for child 1 and 3 - Escorting,(bundle1 == bundle3) & (bundle1 > 0) & (school_location_child1 == school_location_child3) & (school_location_child1 > 0),coef_same_taz_escort +util_same_taz_child32_escort,Same school TAZ for child 3 and 2 - Escorting,(bundle3 == bundle2) & (bundle2 > 0) & (school_location_child3 == school_location_child2) & (school_location_child2 > 0),coef_same_taz_escort +util_same_taz_child12_no_escort,Same school TAZ for child 1 and 2 - No Escorting,(bundle1 == 0) & (bundle2 == 0) & (child_id1 > 0) & (child_id2 > 0) & (school_location_child1 == school_location_child2) & (school_location_child1 > 0),coef_same_taz_no_escort +util_same_taz_child13_no_escort,Same school TAZ for child 1 and 3 - No Escorting,(bundle1 == 0) & (bundle3 == 0) & (child_id1 > 0) & (child_id3 > 0) & (school_location_child1 == school_location_child3) & (school_location_child1 > 0),coef_same_taz_no_escort +util_same_taz_child32_no_escort,Same school TAZ for child 3 and 2 - No Escorting,(bundle3 == 0) & (bundle2 == 0) & (child_id3 > 0) & (child_id2 > 0) & (school_location_child3 == school_location_child2) & (school_location_child2 > 0),coef_same_taz_no_escort +# ,Constants related to inbound choice,, +util_no_escort_inbound_child1,No escorting in inbound direction - Child 1,(bundle1 == 0) & (child_id1 > 0) & (bundle1_inbound == 0),coef_no_escort_inbound +util_no_escort_inbound_child2,No escorting in inbound direction - Child 2,(bundle2 == 0) & (child_id2 > 0) & (bundle2_inbound == 0),coef_no_escort_inbound +util_no_escort_inbound_child3,No escorting in inbound direction - Child 3,(bundle3 == 0) & (child_id3 > 0) & (bundle3_inbound == 0),coef_no_escort_inbound +util_same_chauf,Same chauffeur in both directions (not child specific) - chauf 1 inbound & inbound,((chauf1 == 1) | (chauf1 == 2) | (chauf2 == 1) | (chauf2 == 2) | (chauf3 == 1) | (chauf3 == 2)) & ((nbund1_inbound > 0)),coef_same_chauf +util_same_chauf,Same chauffeur in both directions (not child specific) - chauf 2 inbound & inbound,((chauf1 == 3) | (chauf1 == 4) | (chauf2 == 3) | (chauf2 == 4) | (chauf3 == 3) | (chauf3 == 4)) & ((nbund2_inbound > 0)),coef_same_chauf +# ,Calibration constants,, +util_calib_child1_age_u6_rs,Child 1 age under 6 - Calibration constant - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 < 6),coef_calib_child_age_u6_rs +util_calib_child2_age_u6_rs,Child 2 age under 6 - Calibration constant - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 < 6),coef_calib_child_age_u6_rs +util_calib_child3_age_u6_rs,Child 3 age under 6 - Calibration constant - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 < 6),coef_calib_child_age_u6_rs +util_calib_child1_age_16p_rs,Child 1 age 16 years or older - Calibration constant - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 15),coef_calib_child_age_16p_rs +util_calib_child2_age_16p_rs,Child 2 age 16 years or older - Calibration constant - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 15),coef_calib_child_age_16p_rs +util_calib_child3_age_16p_rs,Child 3 age 16 years or older - Calibration constant - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 15),coef_calib_child_age_16p_rs +util_calib_child1_age_6to15_noes,Child 1 age 6 to 15 years - Calibration constant - No Escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 > 5) & (age_child1 < 16),coef_calib_child_age_6to15_noes +util_calib_child2_age_6to15_noes,Child 2 age 6 to 15 years - Calibration constant - No Escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 > 5) & (age_child2 < 16),coef_calib_child_age_6to15_noes +util_calib_child3_age_6to15_noes,Child 3 age 6 to 15 years - Calibration constant - No Escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 > 5) & (age_child3 < 16),coef_calib_child_age_6to15_noes +util_calib_child1_age_6to15_rs,Child 1 age 6 to 15 years - Calibration constant - Ride Share,((chauf1 == 1) | (chauf1 == 3)) & (age_child1 > 5) & (age_child1 < 16),coef_calib_child_age_6to15_rs +util_calib_child2_age_6to15_rs,Child 2 age 6 to 15 years - Calibration constant - Ride Share,((chauf2 == 1) | (chauf2 == 3)) & (age_child2 > 5) & (age_child2 < 16),coef_calib_child_age_6to15_rs +util_calib_child3_age_6to15_rs,Child 3 age 6 to 15 years - Calibration constant - Ride Share,((chauf3 == 1) | (chauf3 == 3)) & (age_child3 > 5) & (age_child3 < 16),coef_calib_child_age_6to15_rs +util_calib_child1_age_u6_noes,Child 1 age 6 years or younger - Calibration constant - No escort,(bundle1 == 0) & (child_id1 > 0) & (age_child1 < 6),coef_calib_child_age_u6_noes +util_calib_child2_age_u6_noes,Child 2 age 6 years or younger - Calibration constant - No escort,(bundle2 == 0) & (child_id2 > 0) & (age_child2 < 6),coef_calib_child_age_u6_noes +util_calib_child3_age_u6_noes,Child 3 age 6 years or younger - Calibration constant - No escort,(bundle3 == 0) & (child_id3 > 0) & (age_child3 < 6),coef_calib_child_age_u6_noes diff --git a/activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_inbound.csv b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_inbound.csv new file mode 100644 index 0000000000..5efc87882b --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_inbound.csv @@ -0,0 +1,148 @@ +Description,Target,Expression +Number of children going to school,num_children_going_to_school,"np.where(df['child_id1'] > 0, 1, 0) + np.where(df['child_id2'] > 0, 1, 0) + np.where(df['child_id3'] > 0,1,0)" +Number of potential chauffeurs,num_potential_chauffeurs,"np.where(df['chauf_id1'] > 0, 1, 0) + np.where(df['chauf_id2'] > 0, 1, 0)" +Person Type - chauffer 1,ptype_chauf1,"reindex(persons.ptype, df.chauf_id1)" +Person Type - chauffer 2,ptype_chauf2,"reindex(persons.ptype, df.chauf_id2)" +Gender - chauffer 1,gender_chauf1,"reindex(persons.sex, df.chauf_id1)" +Gender - chauffer 2,gender_chauf2,"reindex(persons.sex, df.chauf_id2)" +Age - chauffer 1,age_chauf1,"reindex(persons.age, df.chauf_id1)" +Age - chauffer 2,age_chauf2,"reindex(persons.age, df.chauf_id2)" +Daily activity pattern - chauffer 1,cdap_chauf1,"reindex(persons.cdap_activity, df.chauf_id1)" +Daily activity pattern - chauffer 2,cdap_chauf2,"reindex(persons.cdap_activity, df.chauf_id2)" +Age - child 1,age_child1,"reindex(persons.age, df.child_id1)" +Age - child 2,age_child2,"reindex(persons.age, df.child_id2)" +Age - child 3,age_child3,"reindex(persons.age, df.child_id3)" +# Departure times from school and work ,, +Preferred departure time from school - child 1,pref_depart_time_school1,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').end, df.child_id1)" +Preferred departure time from school - child 2,pref_depart_time_school2,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').end, df.child_id2)" +Preferred departure time from school - child 3,pref_depart_time_school3,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').end, df.child_id3)" +# setting preffered departure time for chauffer to the last mandatory tour of the day for inbound escorting ,, +Preferred departure time from work / univ - chauffer 1 - tour 1,pref_depart_time_chauf1_tour1,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 1)].set_index('person_id').end, df.chauf_id1)" +Preferred departure time from work / univ - chauffer 2 - tour 1,pref_depart_time_chauf2_tour1,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 1)].set_index('person_id').end, df.chauf_id2)" +Preferred departure time from work / univ - chauffer 1 - tour 2,pref_depart_time_chauf1_tour2,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 2)].set_index('person_id').end, df.chauf_id1)" +Preferred departure time from work / univ - chauffer 2 - tour 2,pref_depart_time_chauf2_tour2,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 2)].set_index('person_id').end, df.chauf_id2)" +Preferred departure time from work / univ - chauffer 1,pref_depart_time_chauf1,"np.where(pref_depart_time_chauf1_tour2 > pref_depart_time_chauf1_tour1, pref_depart_time_chauf1_tour2, pref_depart_time_chauf1_tour1)" +Preferred departure time from work / univ - chauffer 1,pref_depart_time_chauf2,"np.where(pref_depart_time_chauf2_tour2 > pref_depart_time_chauf2_tour1, pref_depart_time_chauf2_tour2, pref_depart_time_chauf2_tour1)" +# Distances and times to school and work ,, +School location - child 1,school_location_child1,"reindex(persons.school_zone_id, df.child_id1)" +School location - child 2,school_location_child2,"reindex(persons.school_zone_id, df.child_id2)" +School location - child 3,school_location_child3,"reindex(persons.school_zone_id, df.child_id3)" +School location - chauffer 1,_school_location_chauf1,"reindex(persons.workplace_zone_id, df.chauf_id1)" +School location - chauffer 2,_school_location_chauf2,"reindex(persons.workplace_zone_id, df.chauf_id2)" +Work location - chauffer 1,_work_location_chauf1,"reindex(persons.workplace_zone_id, df.chauf_id1)" +Work location - chauffer 2,_work_location_chauf2,"reindex(persons.workplace_zone_id, df.chauf_id2)" +Mandatory tour location - chauffer 1,_mandatory_location_chauf1,"_school_location_chauf1.where(ptype_chauf1 == 3, _work_location_chauf1)" +Mandatory tour location - chauffer 2,_mandatory_location_chauf2,"_school_location_chauf1.where(ptype_chauf2 == 3, _work_location_chauf2)" +# creating valid school locations to pass to skim_dict,, +,_valid_school_location_child1,school_location_child1.fillna(persons[persons.school_zone_id > 0].school_zone_id.mode()[0]) +,_valid_school_location_child2,school_location_child2.fillna(persons[persons.school_zone_id > 0].school_zone_id.mode()[0]) +,_valid_school_location_child3,school_location_child3.fillna(persons[persons.school_zone_id > 0].school_zone_id.mode()[0]) +,_valid_mandatory_location_chauf1,_mandatory_location_chauf1.fillna(persons[persons.workplace_zone_id > 0].workplace_zone_id.mode()[0]) +,_valid_mandatory_location_chauf2,_mandatory_location_chauf2.fillna(persons[persons.workplace_zone_id > 0].workplace_zone_id.mode()[0]) +Auto time home to school - child 1,time_home_to_school1,"np.where(school_location_child1 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child1, ('SOV_TIME', 'PM')), 0)" +Auto time home to school - child 2,time_home_to_school2,"np.where(school_location_child2 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child2, ('SOV_TIME', 'PM')), 0)" +Auto time home to school - child 3,time_home_to_school3,"np.where(school_location_child3 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child3, ('SOV_TIME', 'PM')), 0)" +Auto time school to home - child 1,time_school_to_home1,"np.where(school_location_child1 > 0, skim_dict.lookup(_valid_school_location_child1, df.home_zone_id, ('SOV_TIME', 'PM')), 0)" +Auto time school to home - child 2,time_school_to_home2,"np.where(school_location_child2 > 0, skim_dict.lookup(_valid_school_location_child2, df.home_zone_id, ('SOV_TIME', 'PM')), 0)" +Auto time school to home - child 3,time_school_to_home3,"np.where(school_location_child3 > 0, skim_dict.lookup(_valid_school_location_child3, df.home_zone_id, ('SOV_TIME', 'PM')), 0)" +Auto dist home to school - child 1,dist_school_to_home1,"np.where(school_location_child1 > 0, skim_dict.lookup(_valid_school_location_child1, df.home_zone_id, ('SOV_DIST', 'PM')), 0)" +Auto dist home to school - child 2,dist_school_to_home2,"np.where(school_location_child2 > 0, skim_dict.lookup(_valid_school_location_child2, df.home_zone_id, ('SOV_DIST', 'PM')), 0)" +Auto dist home to school - child 3,dist_school_to_home3,"np.where(school_location_child3 > 0, skim_dict.lookup(_valid_school_location_child3, df.home_zone_id, ('SOV_DIST', 'PM')), 0)" +Auto dist intra school taz - child 1,dist_intra_school1,"np.where(school_location_child1 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child1, ('SOV_DIST', 'PM')), 0)" +Auto dist intra school taz - child 2,dist_intra_school2,"np.where(school_location_child2 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child2, ('SOV_DIST', 'PM')), 0)" +Auto dist intra school taz - child 3,dist_intra_school3,"np.where(school_location_child3 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child3, ('SOV_DIST', 'PM')), 0)" +Auto time home to work or university - chauffer 1,time_home_to_mand1,"np.where(_mandatory_location_chauf1 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf1, ('SOV_TIME', 'PM')), 0)" +Auto time home to work or university - chauffer 2,time_home_to_mand2,"np.where(_mandatory_location_chauf2 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf2, ('SOV_TIME', 'PM')), 0)" +Auto time work or university to home - chauffer 1,time_mand_to_home1,"np.where(_mandatory_location_chauf1 > 0, skim_dict.lookup(_valid_mandatory_location_chauf1, df.home_zone_id, ('SOV_TIME', 'PM')), 0)" +Auto time work or university to home - chauffer 2,time_mand_to_home2,"np.where(_mandatory_location_chauf2 > 0, skim_dict.lookup(_valid_mandatory_location_chauf2, df.home_zone_id, ('SOV_TIME', 'PM')), 0)" +Auto dist home to work or university - chauffer 1,dist_home_to_mand1,"np.where(_mandatory_location_chauf1 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf1, ('SOV_DIST', 'PM')), 0)" +Auto dist home to work or university - chauffer 2,dist_home_to_mand2,"np.where(_mandatory_location_chauf2 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf2, ('SOV_DIST', 'PM')), 0)" +Auto dist work or university to home - chauffer 1,dist_mand1_to_home,"np.where(_mandatory_location_chauf1 > 0, skim_dict.lookup(_valid_mandatory_location_chauf1, df.home_zone_id, ('SOV_DIST', 'PM')), 0)" +Auto dist work or university to home - chauffer 2,dist_mand2_to_home,"np.where(_mandatory_location_chauf2 > 0, skim_dict.lookup(_valid_mandatory_location_chauf2, df.home_zone_id, ('SOV_DIST', 'PM')), 0)" +# inbound distance combinations between chauffeurs and children,, +Distance from chauffeur 1 mandatory location to child 1 school,time_mand1_to_school1,"np.where((school_location_child1 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_mandatory_location_chauf1, ('SOV_TIME', 'PM')), 0)" +Distance from chauffeur 1 mandatory location to child 2 school,time_mand1_to_school2,"np.where((school_location_child2 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_mandatory_location_chauf1, ('SOV_TIME', 'PM')), 0)" +Distance from chauffeur 1 mandatory location to child 3 school,time_mand1_to_school3,"np.where((school_location_child3 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_mandatory_location_chauf1, ('SOV_TIME', 'PM')), 0)" +Distance from chauffeur 2 mandatory location to child 1 school,time_mand2_to_school1,"np.where((school_location_child1 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_mandatory_location_chauf2, ('SOV_TIME', 'PM')), 0)" +Distance from chauffeur 2 mandatory location to child 2 school,time_mand2_to_school2,"np.where((school_location_child2 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_mandatory_location_chauf2, ('SOV_TIME', 'PM')), 0)" +Distance from chauffeur 2 mandatory location to child 3 school,time_mand2_to_school3,"np.where((school_location_child3 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_mandatory_location_chauf2, ('SOV_TIME', 'PM')), 0)" +Distance from chauffeur 1 mandatory location to child 1 school,_dist_mand1_to_school1,"np.where((school_location_child1 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_mandatory_location_chauf1, _valid_school_location_child1, ('SOV_TIME', 'PM')), 0)" +Distance from chauffeur 2 mandatory location to child 1 school,_dist_mand2_to_school1,"np.where((school_location_child1 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_mandatory_location_chauf2, _valid_school_location_child1, ('SOV_TIME', 'PM')), 0)" +Distance from chauffeur 1 mandatory location to child 2 school,_dist_mand1_to_school2,"np.where((school_location_child2 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_mandatory_location_chauf1, _valid_school_location_child2, ('SOV_TIME', 'PM')), 0)" +Distance from chauffeur 2 mandatory location to child 2 school,_dist_mand2_to_school2,"np.where((school_location_child2 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_mandatory_location_chauf2, _valid_school_location_child2, ('SOV_TIME', 'PM')), 0)" +Distance from chauffeur 1 mandatory location to child 3 school,_dist_mand1_to_school3,"np.where((school_location_child3 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_mandatory_location_chauf1, _valid_school_location_child3, ('SOV_TIME', 'PM')), 0)" +Distance from chauffeur 2 mandatory location to child 3 school,_dist_mand2_to_school3,"np.where((school_location_child3 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_mandatory_location_chauf2, _valid_school_location_child3, ('SOV_TIME', 'PM')), 0)" +Distance from child 1 school to child 2 school,_dist_school1_to_school2,"np.where((school_location_child1 > 0) & (school_location_child2 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_school_location_child2, ('SOV_TIME', 'PM')), 0)" +Distance from child 1 school to child 3 school,_dist_school1_to_school3,"np.where((school_location_child1 > 0) & (school_location_child3 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_school_location_child3, ('SOV_TIME', 'PM')), 0)" +Distance from child 2 school to child 3 school,_dist_school2_to_school3,"np.where((school_location_child2 > 0) & (school_location_child3 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_school_location_child3, ('SOV_TIME', 'PM')), 0)" +Distance from child 2 school to child 1 school,_dist_school2_to_school1,"np.where((school_location_child2 > 0) & (school_location_child1 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_school_location_child1, ('SOV_TIME', 'PM')), 0)" +Distance from child 3 school to child 1 school,_dist_school3_to_school1,"np.where((school_location_child3 > 0) & (school_location_child1 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_school_location_child1, ('SOV_TIME', 'PM')), 0)" +Distance from child 3 school to child 2 school,_dist_school3_to_school2,"np.where((school_location_child3 > 0) & (school_location_child2 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_school_location_child2, ('SOV_TIME', 'PM')), 0)" +,_return_min_taking_child1,"(pref_depart_time_school1 * mins_per_time_bin) + time_home_to_school1 + time_school_to_home1" +,_return_min_taking_child2,"(pref_depart_time_school2 * mins_per_time_bin) + time_home_to_school2 + time_school_to_home2" +,_return_min_taking_child3,"(pref_depart_time_school3 * mins_per_time_bin) + time_home_to_school3 + time_school_to_home3" +Availability of taking child 1 and then 2,_avail_child1_then_child2,"(_return_min_taking_child1 < (pref_depart_time_school2 * mins_per_time_bin))" +Availability of taking child 2 and then 1,_avail_child2_then_child1,"(_return_min_taking_child2 < (pref_depart_time_school1 * mins_per_time_bin))" +Availability of taking child 1 and then 3,_avail_child1_then_child3,"(_return_min_taking_child1 < (pref_depart_time_school3 * mins_per_time_bin))" +Availability of taking child 3 and then 1,_avail_child3_then_child1,"(_return_min_taking_child3 < (pref_depart_time_school1 * mins_per_time_bin))" +Availability of taking child 2 and then 3,_avail_child2_then_child3,"(_return_min_taking_child2 < (pref_depart_time_school3 * mins_per_time_bin))" +Availability of taking child 3 and then 2,_avail_child3_then_child2,"(_return_min_taking_child3 < (pref_depart_time_school2 * mins_per_time_bin))" +multiple_bundle_availability,avail_multiple_bundles,(_avail_child1_then_child2 | _avail_child2_then_child1 | _avail_child1_then_child3 | _avail_child3_then_child1 | _avail_child2_then_child3 | _avail_child3_then_child2) +# absolute deviation distance inbound,, +Absolute deviation inbound distance Child 1 Chauffer 1,abs_dev_dist_in_child1_chauf1,"np.maximum(_dist_mand1_to_school1 + dist_school_to_home1 - dist_mand1_to_home,0)" +Absolute deviation inbound distance Child 1 Chauffer 2,abs_dev_dist_in_child1_chauf2,"np.maximum(_dist_mand2_to_school1 + dist_school_to_home1 - dist_mand2_to_home,0)" +Absolute deviation inbound distance Child 2 Chauffer 1,abs_dev_dist_in_child2_chauf1,"np.maximum(_dist_mand1_to_school2 + dist_school_to_home2 - dist_mand1_to_home,0)" +Absolute deviation inbound distance Child 2 Chauffer 2,abs_dev_dist_in_child2_chauf2,"np.maximum(_dist_mand2_to_school2 + dist_school_to_home2 - dist_mand2_to_home,0)" +Absolute deviation inbound distance Child 3 Chauffer 1,abs_dev_dist_in_child3_chauf1,"np.maximum(_dist_mand1_to_school3 + dist_school_to_home3 - dist_mand1_to_home,0)" +Absolute deviation inbound distance Child 3 Chauffer 2,abs_dev_dist_in_child3_chauf2,"np.maximum(_dist_mand2_to_school3 + dist_school_to_home3 - dist_mand2_to_home,0)" +Absolute deviation inbound distance child12 Chauffer 1,abs_dev_dist_in_child12_chauf1,"np.maximum(np.minimum(_dist_mand1_to_school1 + _dist_school1_to_school2 + dist_school_to_home2, _dist_mand1_to_school2 + _dist_school2_to_school1 + dist_school_to_home1) - dist_mand1_to_home, 0)" +Absolute deviation inbound distance child12 Chauffer 2,abs_dev_dist_in_child12_chauf2,"np.maximum(np.minimum(_dist_mand2_to_school1 + _dist_school1_to_school2 + dist_school_to_home2, _dist_mand2_to_school2 + _dist_school2_to_school1 + dist_school_to_home1) - dist_mand2_to_home, 0)" +Absolute deviation inbound distance child13 Chauffer 1,abs_dev_dist_in_child13_chauf1,"np.maximum(np.minimum(_dist_mand1_to_school1 + _dist_school1_to_school3 + dist_school_to_home2, _dist_mand1_to_school3 + _dist_school3_to_school1 + dist_school_to_home3) - dist_mand1_to_home, 0)" +Absolute deviation inbound distance child13 Chauffer 2,abs_dev_dist_in_child13_chauf2,"np.maximum(np.minimum(_dist_mand2_to_school1 + _dist_school1_to_school3 + dist_school_to_home2, _dist_mand2_to_school3 + _dist_school3_to_school1 + dist_school_to_home3) - dist_mand2_to_home, 0)" +Absolute deviation inbound distance child23 Chauffer 1,abs_dev_dist_in_child23_chauf1,"np.maximum(np.minimum(_dist_mand1_to_school1 + _dist_school2_to_school3 + dist_school_to_home3, _dist_mand1_to_school3 + _dist_school3_to_school2 + dist_school_to_home2) - dist_mand1_to_home, 0)" +Absolute deviation inbound distance child23 Chauffer 2,abs_dev_dist_in_child23_chauf2,"np.maximum(np.minimum(_dist_mand2_to_school1 + _dist_school2_to_school3 + dist_school_to_home3, _dist_mand2_to_school3 + _dist_school3_to_school2 + dist_school_to_home2) - dist_mand2_to_home, 0)" +,_dist_mand1_school1_school2_school3,"_dist_mand1_to_school1 + _dist_school1_to_school2 + _dist_school2_to_school3 + dist_school_to_home1" +,_dist_mand1_school1_school3_school2,"_dist_mand1_to_school1 + _dist_school1_to_school3 + _dist_school3_to_school2 + dist_school_to_home1" +,_dist_mand1_school2_school1_school3,"_dist_mand1_to_school2 + _dist_school2_to_school1 + _dist_school1_to_school3 + dist_school_to_home2" +,_dist_mand1_school2_school3_school1,"_dist_mand1_to_school2 + _dist_school2_to_school3 + _dist_school3_to_school1 + dist_school_to_home2" +,_dist_mand1_school3_school1_school2,"_dist_mand1_to_school3 + _dist_school3_to_school1 + _dist_school1_to_school2 + dist_school_to_home3" +,_dist_mand1_school3_school2_school1,"_dist_mand1_to_school3 + _dist_school3_to_school2 + _dist_school2_to_school1 + dist_school_to_home3" +,_min_dist_dropoff_order_in_child123_chauf1,_dist_mand1_school1_school2_school3 +,_min_dist_dropoff_order_in_child123_chauf1,"np.where((_dist_mand1_school1_school3_school2 > 0) & (_dist_mand1_school1_school3_school2 < _min_dist_dropoff_order_in_child123_chauf1), _dist_mand1_school1_school3_school2, _min_dist_dropoff_order_in_child123_chauf1)" +,_min_dist_dropoff_order_in_child123_chauf1,"np.where((_dist_mand1_school2_school1_school3 > 0) & (_dist_mand1_school2_school1_school3 < _min_dist_dropoff_order_in_child123_chauf1), _dist_mand1_school2_school1_school3, _min_dist_dropoff_order_in_child123_chauf1)" +,_min_dist_dropoff_order_in_child123_chauf1,"np.where((_dist_mand1_school2_school3_school1 > 0) & (_dist_mand1_school2_school3_school1 < _min_dist_dropoff_order_in_child123_chauf1), _dist_mand1_school2_school3_school1, _min_dist_dropoff_order_in_child123_chauf1)" +,_min_dist_dropoff_order_in_child123_chauf1,"np.where((_dist_mand1_school3_school1_school2 > 0) & (_dist_mand1_school3_school1_school2 < _min_dist_dropoff_order_in_child123_chauf1), _dist_mand1_school3_school1_school2, _min_dist_dropoff_order_in_child123_chauf1)" +,_min_dist_dropoff_order_in_child123_chauf1,"np.where((_dist_mand1_school3_school2_school1 > 0) & (_dist_mand1_school3_school2_school1 < _min_dist_dropoff_order_in_child123_chauf1), _dist_mand1_school3_school2_school1, _min_dist_dropoff_order_in_child123_chauf1)" +Absolute deviation inbound distance child123 Chauffer 1,abs_dev_dist_in_child123_chauf1,"np.maximum(_min_dist_dropoff_order_in_child123_chauf1 - dist_home_to_mand1, 0)" +,_dist_mand2_school1_school2_school3,"_dist_mand2_to_school1 + _dist_school1_to_school2 + _dist_school2_to_school3 + dist_school_to_home1" +,_dist_mand2_school1_school3_school2,"_dist_mand2_to_school1 + _dist_school1_to_school3 + _dist_school3_to_school2 + dist_school_to_home1" +,_dist_mand2_school2_school1_school3,"_dist_mand2_to_school2 + _dist_school2_to_school1 + _dist_school1_to_school3 + dist_school_to_home2" +,_dist_mand2_school2_school3_school1,"_dist_mand2_to_school2 + _dist_school2_to_school3 + _dist_school3_to_school1 + dist_school_to_home2" +,_dist_mand2_school3_school1_school2,"_dist_mand2_to_school3 + _dist_school3_to_school1 + _dist_school1_to_school2 + dist_school_to_home3" +,_dist_mand2_school3_school2_school1,"_dist_mand2_to_school3 + _dist_school3_to_school2 + _dist_school2_to_school1 + dist_school_to_home3" +,_min_dist_dropoff_order_in_child123_chauf2,_dist_mand2_school1_school2_school3 +,_min_dist_dropoff_order_in_child123_chauf2,"np.where((_dist_mand2_school1_school3_school2 > 0) & (_dist_mand2_school1_school3_school2 < _min_dist_dropoff_order_in_child123_chauf2), _dist_mand2_school1_school3_school2, _min_dist_dropoff_order_in_child123_chauf2)" +,_min_dist_dropoff_order_in_child123_chauf2,"np.where((_dist_mand2_school2_school1_school3 > 0) & (_dist_mand2_school2_school1_school3 < _min_dist_dropoff_order_in_child123_chauf2), _dist_mand2_school2_school1_school3, _min_dist_dropoff_order_in_child123_chauf2)" +,_min_dist_dropoff_order_in_child123_chauf2,"np.where((_dist_mand2_school2_school3_school1 > 0) & (_dist_mand2_school2_school3_school1 < _min_dist_dropoff_order_in_child123_chauf2), _dist_mand2_school2_school3_school1, _min_dist_dropoff_order_in_child123_chauf2)" +,_min_dist_dropoff_order_in_child123_chauf2,"np.where((_dist_mand2_school3_school1_school2 > 0) & (_dist_mand2_school3_school1_school2 < _min_dist_dropoff_order_in_child123_chauf2), _dist_mand2_school3_school1_school2, _min_dist_dropoff_order_in_child123_chauf2)" +,_min_dist_dropoff_order_in_child123_chauf2,"np.where((_dist_mand2_school3_school2_school1 > 0) & (_dist_mand2_school3_school2_school1 < _min_dist_dropoff_order_in_child123_chauf2), _dist_mand2_school3_school2_school1, _min_dist_dropoff_order_in_child123_chauf2)" +Absolute deviation inbound distance child123 Chauffer 2,abs_dev_dist_in_child123_chauf2,"np.maximum(_min_dist_dropoff_order_in_child123_chauf2 - dist_home_to_mand1, 0)" +# overlapping time windows from outbound escorting,, +Preferred departure time to school - child 1,_pref_depart_time_to_school1,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').start, df.child_id1)" +Preferred departure time to school - child 2,_pref_depart_time_to_school2,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').start, df.child_id2)" +Preferred departure time to school - child 3,_pref_depart_time_to_school3,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').start, df.child_id3)" +,return_min_taking_outbound_child1_pe,"(_pref_depart_time_to_school1 * mins_per_time_bin) + time_home_to_school1 + time_school_to_home1" +,return_min_taking_outbound_child2_pe,"(_pref_depart_time_to_school2 * mins_per_time_bin) + time_home_to_school2 + time_school_to_home2" +,return_min_taking_outbound_child3_pe,"(_pref_depart_time_to_school3 * mins_per_time_bin) + time_home_to_school3 + time_school_to_home3" +finding latest time chauffer 1 returns from outbound pure escort tour,outbound_pe_return_time_home_chauf1,-1 +,outbound_pe_return_time_home_chauf1,"np.where((df.chauf1_outbound == 2) & (return_min_taking_outbound_child1_pe > outbound_pe_return_time_home_chauf1), return_min_taking_outbound_child1_pe, outbound_pe_return_time_home_chauf1)" +,outbound_pe_return_time_home_chauf1,"np.where((df.chauf2_outbound == 2) & (return_min_taking_outbound_child2_pe > outbound_pe_return_time_home_chauf1), return_min_taking_outbound_child2_pe, outbound_pe_return_time_home_chauf1)" +,outbound_pe_return_time_home_chauf1,"np.where((df.chauf3_outbound == 2) & (return_min_taking_outbound_child3_pe > outbound_pe_return_time_home_chauf1), return_min_taking_outbound_child3_pe, outbound_pe_return_time_home_chauf1)" +finding latest time chauffer 2 returns from outbound pure escort tour,outbound_pe_return_time_home_chauf2,-1 +,outbound_pe_return_time_home_chauf2,"np.where((df.chauf1_outbound == 4) & (return_min_taking_outbound_child1_pe > outbound_pe_return_time_home_chauf2), return_min_taking_outbound_child1_pe, outbound_pe_return_time_home_chauf2)" +,outbound_pe_return_time_home_chauf2,"np.where((df.chauf2_outbound == 4) & (return_min_taking_outbound_child2_pe > outbound_pe_return_time_home_chauf2), return_min_taking_outbound_child2_pe, outbound_pe_return_time_home_chauf2)" +,outbound_pe_return_time_home_chauf2,"np.where((df.chauf3_outbound == 4) & (return_min_taking_outbound_child3_pe > outbound_pe_return_time_home_chauf2), return_min_taking_outbound_child3_pe, outbound_pe_return_time_home_chauf2)" +finding latest time chauffer 1 returns from outbound ride share tour,outbound_rs_return_time_home_chauf1,pref_depart_time_chauf1 +finding latest time chauffer 2 returns from outbound ride share tour,outbound_rs_return_time_home_chauf2,pref_depart_time_chauf2 +return time of outbound school escoring tour - chauffeur 1,return_bin_outbound_school_escorting1,"np.where(df.nrs1_outbound > 0, pref_depart_time_chauf1, outbound_pe_return_time_home_chauf1 / mins_per_time_bin)" +return time of outbound school escoring tour - chauffeur 2,return_bin_outbound_school_escorting2,"np.where(df.nrs2_outbound > 0, pref_depart_time_chauf2, outbound_pe_return_time_home_chauf2 / mins_per_time_bin)" diff --git a/activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_outbound.csv b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_outbound.csv new file mode 100644 index 0000000000..78b7f25785 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_outbound.csv @@ -0,0 +1,122 @@ +Description,Target,Expression +Number of children going to school,num_children_going_to_school,"np.where(df['child_id1'] > 0, 1, 0) + np.where(df['child_id2'] > 0, 1, 0) + np.where(df['child_id3'] > 0,1,0)" +Number of potential chauffeurs,num_potential_chauffeurs,"np.where(df['chauf_id1'] > 0, 1, 0) + np.where(df['chauf_id2'] > 0, 1, 0)" +Person Type - chauffer 1,ptype_chauf1,"reindex(persons.ptype, df.chauf_id1)" +Person Type - chauffer 2,ptype_chauf2,"reindex(persons.ptype, df.chauf_id2)" +Gender - chauffer 1,gender_chauf1,"reindex(persons.sex, df.chauf_id1)" +Gender - chauffer 2,gender_chauf2,"reindex(persons.sex, df.chauf_id2)" +Age - chauffer 1,age_chauf1,"reindex(persons.age, df.chauf_id1)" +Age - chauffer 2,age_chauf2,"reindex(persons.age, df.chauf_id2)" +Daily activity pattern - chauffer 1,cdap_chauf1,"reindex(persons.cdap_activity, df.chauf_id1)" +Daily activity pattern - chauffer 2,cdap_chauf2,"reindex(persons.cdap_activity, df.chauf_id2)" +Age - child 1,age_child1,"reindex(persons.age, df.child_id1)" +Age - child 2,age_child2,"reindex(persons.age, df.child_id2)" +Age - child 3,age_child3,"reindex(persons.age, df.child_id3)" +# Departure times to school and work +Preferred departure time to school - child 1,pref_depart_time_school1,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').start, df.child_id1)" +Preferred departure time to school - child 2,pref_depart_time_school2,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').start, df.child_id2)" +Preferred departure time to school - child 3,pref_depart_time_school3,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').start, df.child_id3)" +Preferred departure time to work / univ - chauffer 1,pref_depart_time_chauf1,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 1)].set_index('person_id').start, df.chauf_id1)" +Preferred departure time to work / univ - chauffer 2,pref_depart_time_chauf2,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 1)].set_index('person_id').start, df.chauf_id2)" +# Distances and times to school and work +School location - child 1,school_location_child1,"reindex(persons.school_zone_id, df.child_id1)" +School location - child 2,school_location_child2,"reindex(persons.school_zone_id, df.child_id2)" +School location - child 3,school_location_child3,"reindex(persons.school_zone_id, df.child_id3)" +School location - chauffer 1,_school_location_chauf1,"reindex(persons.workplace_zone_id, df.chauf_id1)" +School location - chauffer 2,_school_location_chauf2,"reindex(persons.workplace_zone_id, df.chauf_id2)" +Work location - chauffer 1,_work_location_chauf1,"reindex(persons.workplace_zone_id, df.chauf_id1)" +Work location - chauffer 2,_work_location_chauf2,"reindex(persons.workplace_zone_id, df.chauf_id2)" +Mandatory tour location - chauffer 1,_mandatory_location_chauf1,"_school_location_chauf1.where(ptype_chauf1 == 3, _work_location_chauf1)" +Mandatory tour location - chauffer 2,_mandatory_location_chauf2,"_school_location_chauf1.where(ptype_chauf2 == 3, _work_location_chauf2)" +# creating valid school locations to pass to skim_dict,, +,_valid_school_location_child1,school_location_child1.fillna(persons[persons.school_zone_id > 0].school_zone_id.mode()[0]) +,_valid_school_location_child2,school_location_child2.fillna(persons[persons.school_zone_id > 0].school_zone_id.mode()[0]) +,_valid_school_location_child3,school_location_child3.fillna(persons[persons.school_zone_id > 0].school_zone_id.mode()[0]) +,_valid_mandatory_location_chauf1,_mandatory_location_chauf1.fillna(persons[persons.workplace_zone_id > 0].workplace_zone_id.mode()[0]) +,_valid_mandatory_location_chauf2,_mandatory_location_chauf2.fillna(persons[persons.workplace_zone_id > 0].workplace_zone_id.mode()[0]) +Auto time home to school - child 1,time_home_to_school1,"np.where(school_location_child1 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child1, ('SOV_TIME', 'AM')), 0)" +Auto time home to school - child 2,time_home_to_school2,"np.where(school_location_child2 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child2, ('SOV_TIME', 'AM')), 0)" +Auto time home to school - child 3,time_home_to_school3,"np.where(school_location_child3 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child3, ('SOV_TIME', 'AM')), 0)" +Auto time school to home - child 1,time_school_to_home1,"np.where(school_location_child1 > 0, skim_dict.lookup(_valid_school_location_child1, df.home_zone_id, ('SOV_TIME', 'AM')), 0)" +Auto time school to home - child 2,time_school_to_home2,"np.where(school_location_child2 > 0, skim_dict.lookup(_valid_school_location_child2, df.home_zone_id, ('SOV_TIME', 'AM')), 0)" +Auto time school to home - child 3,time_school_to_home3,"np.where(school_location_child3 > 0, skim_dict.lookup(_valid_school_location_child3, df.home_zone_id, ('SOV_TIME', 'AM')), 0)" +Auto dist home to school - child 1,dist_home_to_school1,"np.where(school_location_child1 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child1, ('SOV_DIST', 'AM')), 0)" +Auto dist home to school - child 2,dist_home_to_school2,"np.where(school_location_child2 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child2, ('SOV_DIST', 'AM')), 0)" +Auto dist home to school - child 3,dist_home_to_school3,"np.where(school_location_child3 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child3, ('SOV_DIST', 'AM')), 0)" +Auto dist intra school taz - child 1,dist_intra_school1,"np.where(school_location_child1 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child1, ('SOV_DIST', 'AM')), 0)" +Auto dist intra school taz - child 2,dist_intra_school2,"np.where(school_location_child2 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child2, ('SOV_DIST', 'AM')), 0)" +Auto dist intra school taz - child 3,dist_intra_school3,"np.where(school_location_child3 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child3, ('SOV_DIST', 'AM')), 0)" +Auto time home to work or university - chauffer 1,time_home_to_mand1,"np.where(_mandatory_location_chauf1 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf1, ('SOV_TIME', 'AM')), 0)" +Auto time home to work or university - chauffer 2,time_home_to_mand2,"np.where(_mandatory_location_chauf2 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf2, ('SOV_TIME', 'AM')), 0)" +Auto dist home to work or university - chauffer 1,dist_home_to_mand1,"np.where(_mandatory_location_chauf1 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf1, ('SOV_DIST', 'AM')), 0)" +Auto dist home to work or university - chauffer 2,dist_home_to_mand2,"np.where(_mandatory_location_chauf2 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf2, ('SOV_DIST', 'AM')), 0)" +# outbound distance combinations between chauffeurs and children,, +Distance from child 1 school to chauffeur 1 mandatory location,_dist_school1_to_mand1,"np.where((school_location_child1 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_mandatory_location_chauf1, ('SOV_TIME', 'AM')), 0)" +Distance from child 1 school to chauffeur 2 mandatory location,_dist_school1_to_mand2,"np.where((school_location_child1 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_mandatory_location_chauf2, ('SOV_TIME', 'AM')), 0)" +Distance from child 2 school to chauffeur 1 mandatory location,_dist_school2_to_mand1,"np.where((school_location_child2 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_mandatory_location_chauf1, ('SOV_TIME', 'AM')), 0)" +Distance from child 2 school to chauffeur 2 mandatory location,_dist_school2_to_mand2,"np.where((school_location_child2 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_mandatory_location_chauf2, ('SOV_TIME', 'AM')), 0)" +Distance from child 3 school to chauffeur 1 mandatory location,_dist_school3_to_mand1,"np.where((school_location_child3 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_mandatory_location_chauf1, ('SOV_TIME', 'AM')), 0)" +Distance from child 3 school to chauffeur 2 mandatory location,_dist_school3_to_mand2,"np.where((school_location_child3 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_mandatory_location_chauf2, ('SOV_TIME', 'AM')), 0)" +Distance from child 1 school to child 2 school,_dist_school1_to_school2,"np.where((school_location_child1 > 0) & (school_location_child2 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_school_location_child2, ('SOV_TIME', 'AM')), 0)" +Distance from child 1 school to child 3 school,_dist_school1_to_school3,"np.where((school_location_child1 > 0) & (school_location_child3 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_school_location_child3, ('SOV_TIME', 'AM')), 0)" +Distance from child 2 school to child 3 school,_dist_school2_to_school3,"np.where((school_location_child2 > 0) & (school_location_child3 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_school_location_child3, ('SOV_TIME', 'AM')), 0)" +Distance from child 2 school to child 1 school,_dist_school2_to_school1,"np.where((school_location_child2 > 0) & (school_location_child1 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_school_location_child1, ('SOV_TIME', 'AM')), 0)" +Distance from child 3 school to child 1 school,_dist_school3_to_school1,"np.where((school_location_child3 > 0) & (school_location_child1 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_school_location_child1, ('SOV_TIME', 'AM')), 0)" +Distance from child 3 school to child 2 school,_dist_school3_to_school2,"np.where((school_location_child3 > 0) & (school_location_child2 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_school_location_child2, ('SOV_TIME', 'AM')), 0)" +# absolute deviation distance outbound,, +Absolute deviation outbound distance Child 1 Chauffer 1,abs_dev_dist_out_child1_chauf1,"np.maximum(dist_home_to_school1 + _dist_school1_to_mand1 - dist_home_to_mand1,0)" +Absolute deviation outbound distance Child 1 Chauffer 2,abs_dev_dist_out_child1_chauf2,"np.maximum(dist_home_to_school1 + _dist_school1_to_mand2 - dist_home_to_mand2,0)" +Absolute deviation outbound distance Child 2 Chauffer 1,abs_dev_dist_out_child2_chauf1,"np.maximum(dist_home_to_school2 + _dist_school2_to_mand1 - dist_home_to_mand1,0)" +Absolute deviation outbound distance Child 2 Chauffer 2,abs_dev_dist_out_child2_chauf2,"np.maximum(dist_home_to_school2 + _dist_school2_to_mand2 - dist_home_to_mand2,0)" +Absolute deviation outbound distance Child 3 Chauffer 1,abs_dev_dist_out_child3_chauf1,"np.maximum(dist_home_to_school3 + _dist_school3_to_mand1 - dist_home_to_mand1,0)" +Absolute deviation outbound distance Child 3 Chauffer 2,abs_dev_dist_out_child3_chauf2,"np.maximum(dist_home_to_school3 + _dist_school3_to_mand2 - dist_home_to_mand2,0)" +Absolute deviation outbound distance child12 Chauffer 1,abs_dev_dist_out_child12_chauf1,"np.maximum(np.minimum(dist_home_to_school1 + _dist_school1_to_school2 + _dist_school2_to_mand1, dist_home_to_school2 + _dist_school2_to_school1 + _dist_school1_to_mand1) - dist_home_to_mand1, 0)" +Absolute deviation outbound distance child12 Chauffer 2,abs_dev_dist_out_child12_chauf2,"np.maximum(np.minimum(dist_home_to_school1 + _dist_school1_to_school2 + _dist_school2_to_mand2, dist_home_to_school2 + _dist_school2_to_school1 + _dist_school1_to_mand2) - dist_home_to_mand2, 0)" +Absolute deviation outbound distance child13 Chauffer 1,abs_dev_dist_out_child13_chauf1,"np.maximum(np.minimum(dist_home_to_school1 + _dist_school1_to_school3 + _dist_school3_to_mand1, dist_home_to_school3 + _dist_school3_to_school1 + _dist_school1_to_mand1) - dist_home_to_mand1, 0)" +Absolute deviation outbound distance child13 Chauffer 2,abs_dev_dist_out_child13_chauf2,"np.maximum(np.minimum(dist_home_to_school1 + _dist_school1_to_school3 + _dist_school3_to_mand2, dist_home_to_school3 + _dist_school3_to_school1 + _dist_school1_to_mand2) - dist_home_to_mand2, 0)" +Absolute deviation outbound distance child23 Chauffer 1,abs_dev_dist_out_child23_chauf1,"np.maximum(np.minimum(dist_home_to_school2 + _dist_school2_to_school3 + _dist_school3_to_mand1, dist_home_to_school3 + _dist_school3_to_school2 + _dist_school2_to_mand1) - dist_home_to_mand1, 0)" +Absolute deviation outbound distance child23 Chauffer 2,abs_dev_dist_out_child23_chauf2,"np.maximum(np.minimum(dist_home_to_school2 + _dist_school2_to_school3 + _dist_school3_to_mand2, dist_home_to_school3 + _dist_school3_to_school2 + _dist_school2_to_mand2) - dist_home_to_mand2, 0)" +,_dist_school1_school2_school3_mand1,"dist_home_to_school1 + _dist_school1_to_school2 + _dist_school2_to_school3 + _dist_school3_to_mand1" +,_dist_school1_school3_school2_mand1,"dist_home_to_school1 + _dist_school1_to_school3 + _dist_school3_to_school2 + _dist_school2_to_mand1" +,_dist_school2_school1_school3_mand1,"dist_home_to_school2 + _dist_school2_to_school1 + _dist_school1_to_school3 + _dist_school3_to_mand1" +,_dist_school2_school3_school1_mand1,"dist_home_to_school2 + _dist_school2_to_school3 + _dist_school3_to_school1 + _dist_school1_to_mand1" +,_dist_school3_school1_school2_mand1,"dist_home_to_school3 + _dist_school3_to_school1 + _dist_school1_to_school2 + _dist_school2_to_mand1" +,_dist_school3_school2_school1_mand1,"dist_home_to_school3 + _dist_school3_to_school2 + _dist_school2_to_school1 + _dist_school1_to_mand1" +,_min_dist_dropoff_order_out_child123_chauf1,_dist_school1_school2_school3_mand1 +,_min_dist_dropoff_order_out_child123_chauf1,"np.where((_dist_school1_school3_school2_mand1 > 0) & (_dist_school1_school3_school2_mand1 < _min_dist_dropoff_order_out_child123_chauf1), _dist_school1_school3_school2_mand1, _min_dist_dropoff_order_out_child123_chauf1)" +,_min_dist_dropoff_order_out_child123_chauf1,"np.where((_dist_school2_school1_school3_mand1 > 0) & (_dist_school2_school1_school3_mand1 < _min_dist_dropoff_order_out_child123_chauf1), _dist_school2_school1_school3_mand1, _min_dist_dropoff_order_out_child123_chauf1)" +,_min_dist_dropoff_order_out_child123_chauf1,"np.where((_dist_school2_school3_school1_mand1 > 0) & (_dist_school2_school3_school1_mand1 < _min_dist_dropoff_order_out_child123_chauf1), _dist_school2_school3_school1_mand1, _min_dist_dropoff_order_out_child123_chauf1)" +,_min_dist_dropoff_order_out_child123_chauf1,"np.where((_dist_school3_school1_school2_mand1 > 0) & (_dist_school3_school1_school2_mand1 < _min_dist_dropoff_order_out_child123_chauf1), _dist_school3_school1_school2_mand1, _min_dist_dropoff_order_out_child123_chauf1)" +,_min_dist_dropoff_order_out_child123_chauf1,"np.where((_dist_school3_school2_school1_mand1 > 0) & (_dist_school3_school2_school1_mand1 < _min_dist_dropoff_order_out_child123_chauf1), _dist_school3_school2_school1_mand1, _min_dist_dropoff_order_out_child123_chauf1)" +Absolute deviation outbound distance child123 Chauffer 1,abs_dev_dist_out_child123_chauf1,"np.maximum(_min_dist_dropoff_order_out_child123_chauf1 - dist_home_to_mand1, 0)" +,_dist_school1_school2_school3_mand2,"dist_home_to_school1 + _dist_school1_to_school2 + _dist_school2_to_school3 + _dist_school3_to_mand2" +,_dist_school1_school3_school2_mand2,"dist_home_to_school1 + _dist_school1_to_school3 + _dist_school3_to_school2 + _dist_school2_to_mand2" +,_dist_school2_school1_school3_mand2,"dist_home_to_school2 + _dist_school2_to_school1 + _dist_school1_to_school3 + _dist_school3_to_mand2" +,_dist_school2_school3_school1_mand2,"dist_home_to_school2 + _dist_school2_to_school3 + _dist_school3_to_school1 + _dist_school1_to_mand2" +,_dist_school3_school1_school2_mand2,"dist_home_to_school3 + _dist_school3_to_school1 + _dist_school1_to_school2 + _dist_school2_to_mand2" +,_dist_school3_school2_school1_mand2,"dist_home_to_school3 + _dist_school3_to_school2 + _dist_school2_to_school1 + _dist_school1_to_mand2" +,_min_dist_dropoff_order_out_child123_chauf2,_dist_school1_school2_school3_mand2 +,_min_dist_dropoff_order_out_child123_chauf2,"np.where((_dist_school1_school3_school2_mand2 > 0) & (_dist_school1_school3_school2_mand2 < _min_dist_dropoff_order_out_child123_chauf2), _dist_school1_school3_school2_mand2, _min_dist_dropoff_order_out_child123_chauf2)" +,_min_dist_dropoff_order_out_child123_chauf2,"np.where((_dist_school2_school1_school3_mand2 > 0) & (_dist_school2_school1_school3_mand2 < _min_dist_dropoff_order_out_child123_chauf2), _dist_school2_school1_school3_mand2, _min_dist_dropoff_order_out_child123_chauf2)" +,_min_dist_dropoff_order_out_child123_chauf2,"np.where((_dist_school2_school3_school1_mand2 > 0) & (_dist_school2_school3_school1_mand2 < _min_dist_dropoff_order_out_child123_chauf2), _dist_school2_school3_school1_mand2, _min_dist_dropoff_order_out_child123_chauf2)" +,_min_dist_dropoff_order_out_child123_chauf2,"np.where((_dist_school3_school1_school2_mand2 > 0) & (_dist_school3_school1_school2_mand2 < _min_dist_dropoff_order_out_child123_chauf2), _dist_school3_school1_school2_mand2, _min_dist_dropoff_order_out_child123_chauf2)" +,_min_dist_dropoff_order_out_child123_chauf2,"np.where((_dist_school3_school2_school1_mand2 > 0) & (_dist_school3_school2_school1_mand2 < _min_dist_dropoff_order_out_child123_chauf2), _dist_school3_school2_school1_mand2, _min_dist_dropoff_order_out_child123_chauf2)" +Absolute deviation outbound distance child123 Chauffer 1,abs_dev_dist_out_child123_chauf2,"np.maximum(_min_dist_dropoff_order_out_child123_chauf2 - dist_home_to_mand2, 0)" +# Availability for multiple bundles,, +,_return_min_taking_child1,"(pref_depart_time_school1 * mins_per_time_bin) + time_home_to_school1 + time_school_to_home1" +,_return_min_taking_child2,"(pref_depart_time_school2 * mins_per_time_bin) + time_home_to_school2 + time_school_to_home2" +,_return_min_taking_child3,"(pref_depart_time_school3 * mins_per_time_bin) + time_home_to_school3 + time_school_to_home3" +Availability of taking child 1 and then 2,_avail_child1_then_child2,"(_return_min_taking_child1 < (pref_depart_time_school2 * mins_per_time_bin))" +Availability of taking child 2 and then 1,_avail_child2_then_child1,"(_return_min_taking_child2 < (pref_depart_time_school1 * mins_per_time_bin))" +Availability of taking child 1 and then 3,_avail_child1_then_child3,"(_return_min_taking_child1 < (pref_depart_time_school3 * mins_per_time_bin))" +Availability of taking child 3 and then 1,_avail_child3_then_child1,"(_return_min_taking_child3 < (pref_depart_time_school1 * mins_per_time_bin))" +Availability of taking child 2 and then 3,_avail_child2_then_child3,"(_return_min_taking_child2 < (pref_depart_time_school3 * mins_per_time_bin))" +Availability of taking child 3 and then 2,_avail_child3_then_child2,"(_return_min_taking_child3 < (pref_depart_time_school2 * mins_per_time_bin))" +multiple_bundle_availability,avail_multiple_bundles,(_avail_child1_then_child2 | _avail_child2_then_child1 | _avail_child1_then_child3 | _avail_child3_then_child1 | _avail_child2_then_child3 | _avail_child3_then_child2) +# ,, +# Inbound specific terms ,, +Preferred return time from school - child 1,pref_return_time_school1,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').end, df.child_id1)" +Preferred return time from school - child 2,pref_return_time_school2,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').end, df.child_id2)" +Preferred return time from school - child 3,pref_return_time_school3,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').end, df.child_id3)" +Preferred return time from work / univ - chauffer 1,pref_return_time_chauf1,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 1)].set_index('person_id').end, df.chauf_id1)" +Preferred return time from work / univ - chauffer 2,pref_return_time_chauf2,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 1)].set_index('person_id').end, df.chauf_id2)" diff --git a/activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_outbound_cond.csv b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_outbound_cond.csv new file mode 100644 index 0000000000..ede805b097 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/school_escorting_preprocessor_outbound_cond.csv @@ -0,0 +1,138 @@ +Description,Target,Expression +Number of children going to school,num_children_going_to_school,"np.where(df['child_id1'] > 0, 1, 0) + np.where(df['child_id2'] > 0, 1, 0) + np.where(df['child_id3'] > 0,1,0)" +Number of potential chauffeurs,num_potential_chauffeurs,"np.where(df['chauf_id1'] > 0, 1, 0) + np.where(df['chauf_id2'] > 0, 1, 0)" +Person Type - chauffer 1,ptype_chauf1,"reindex(persons.ptype, df.chauf_id1)" +Person Type - chauffer 2,ptype_chauf2,"reindex(persons.ptype, df.chauf_id2)" +Gender - chauffer 1,gender_chauf1,"reindex(persons.sex, df.chauf_id1)" +Gender - chauffer 2,gender_chauf2,"reindex(persons.sex, df.chauf_id2)" +Age - chauffer 1,age_chauf1,"reindex(persons.age, df.chauf_id1)" +Age - chauffer 2,age_chauf2,"reindex(persons.age, df.chauf_id2)" +Daily activity pattern - chauffer 1,cdap_chauf1,"reindex(persons.cdap_activity, df.chauf_id1)" +Daily activity pattern - chauffer 2,cdap_chauf2,"reindex(persons.cdap_activity, df.chauf_id2)" +Age - child 1,age_child1,"reindex(persons.age, df.child_id1)" +Age - child 2,age_child2,"reindex(persons.age, df.child_id2)" +Age - child 3,age_child3,"reindex(persons.age, df.child_id3)" +# Departure times to school and work +Preferred departure time to school - child 1,pref_depart_time_school1,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').start, df.child_id1)" +Preferred departure time to school - child 2,pref_depart_time_school2,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').start, df.child_id2)" +Preferred departure time to school - child 3,pref_depart_time_school3,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').start, df.child_id3)" +Preferred departure time to work / univ - chauffer 1,pref_depart_time_chauf1,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 1)].set_index('person_id').start, df.chauf_id1)" +Preferred departure time to work / univ - chauffer 2,pref_depart_time_chauf2,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 1)].set_index('person_id').start, df.chauf_id2)" +# Distances and times to school and work +School location - child 1,school_location_child1,"reindex(persons.school_zone_id, df.child_id1)" +School location - child 2,school_location_child2,"reindex(persons.school_zone_id, df.child_id2)" +School location - child 3,school_location_child3,"reindex(persons.school_zone_id, df.child_id3)" +School location - chauffer 1,_school_location_chauf1,"reindex(persons.workplace_zone_id, df.chauf_id1)" +School location - chauffer 2,_school_location_chauf2,"reindex(persons.workplace_zone_id, df.chauf_id2)" +Work location - chauffer 1,_work_location_chauf1,"reindex(persons.workplace_zone_id, df.chauf_id1)" +Work location - chauffer 2,_work_location_chauf2,"reindex(persons.workplace_zone_id, df.chauf_id2)" +Mandatory tour location - chauffer 1,_mandatory_location_chauf1,"_school_location_chauf1.where(ptype_chauf1 == 3, _work_location_chauf1)" +Mandatory tour location - chauffer 2,_mandatory_location_chauf2,"_school_location_chauf1.where(ptype_chauf2 == 3, _work_location_chauf2)" +# creating valid school locations to pass to skim_dict,, +,_valid_school_location_child1,school_location_child1.fillna(persons[persons.school_zone_id > 0].school_zone_id.mode()[0]) +,_valid_school_location_child2,school_location_child2.fillna(persons[persons.school_zone_id > 0].school_zone_id.mode()[0]) +,_valid_school_location_child3,school_location_child3.fillna(persons[persons.school_zone_id > 0].school_zone_id.mode()[0]) +,_valid_mandatory_location_chauf1,_mandatory_location_chauf1.fillna(persons[persons.workplace_zone_id > 0].workplace_zone_id.mode()[0]) +,_valid_mandatory_location_chauf2,_mandatory_location_chauf2.fillna(persons[persons.workplace_zone_id > 0].workplace_zone_id.mode()[0]) +Auto time home to school - child 1,time_home_to_school1,"np.where(school_location_child1 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child1, ('SOV_TIME', 'AM')), 0)" +Auto time home to school - child 2,time_home_to_school2,"np.where(school_location_child2 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child2, ('SOV_TIME', 'AM')), 0)" +Auto time home to school - child 3,time_home_to_school3,"np.where(school_location_child3 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child3, ('SOV_TIME', 'AM')), 0)" +Auto time school to home - child 1,time_school_to_home1,"np.where(school_location_child1 > 0, skim_dict.lookup(_valid_school_location_child1, df.home_zone_id, ('SOV_TIME', 'AM')), 0)" +Auto time school to home - child 2,time_school_to_home2,"np.where(school_location_child2 > 0, skim_dict.lookup(_valid_school_location_child2, df.home_zone_id, ('SOV_TIME', 'AM')), 0)" +Auto time school to home - child 3,time_school_to_home3,"np.where(school_location_child3 > 0, skim_dict.lookup(_valid_school_location_child3, df.home_zone_id, ('SOV_TIME', 'AM')), 0)" +Auto dist home to school - child 1,dist_home_to_school1,"np.where(school_location_child1 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child1, ('SOV_DIST', 'AM')), 0)" +Auto dist home to school - child 2,dist_home_to_school2,"np.where(school_location_child2 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child2, ('SOV_DIST', 'AM')), 0)" +Auto dist home to school - child 3,dist_home_to_school3,"np.where(school_location_child3 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child3, ('SOV_DIST', 'AM')), 0)" +Auto dist intra school taz - child 1,dist_intra_school1,"np.where(school_location_child1 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child1, ('SOV_DIST', 'AM')), 0)" +Auto dist intra school taz - child 2,dist_intra_school2,"np.where(school_location_child2 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child2, ('SOV_DIST', 'AM')), 0)" +Auto dist intra school taz - child 3,dist_intra_school3,"np.where(school_location_child3 > 0, skim_dict.lookup(df.home_zone_id, _valid_school_location_child3, ('SOV_DIST', 'AM')), 0)" +Auto time home to work or university - chauffer 1,time_home_to_mand1,"np.where(_mandatory_location_chauf1 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf1, ('SOV_TIME', 'AM')), 0)" +Auto time home to work or university - chauffer 2,time_home_to_mand2,"np.where(_mandatory_location_chauf2 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf2, ('SOV_TIME', 'AM')), 0)" +Auto dist home to work or university - chauffer 1,dist_home_to_mand1,"np.where(_mandatory_location_chauf1 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf1, ('SOV_DIST', 'AM')), 0)" +Auto dist home to work or university - chauffer 2,dist_home_to_mand2,"np.where(_mandatory_location_chauf2 > 0, skim_dict.lookup(df.home_zone_id, _valid_mandatory_location_chauf2, ('SOV_DIST', 'AM')), 0)" +# outbound distance combinations between chauffeurs and children,, +Distance from child 1 school to chauffeur 1 mandatory location,_dist_school1_to_mand1,"np.where((school_location_child1 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_mandatory_location_chauf1, ('SOV_TIME', 'AM')), 0)" +Distance from child 1 school to chauffeur 2 mandatory location,_dist_school1_to_mand2,"np.where((school_location_child1 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_mandatory_location_chauf2, ('SOV_TIME', 'AM')), 0)" +Distance from child 2 school to chauffeur 1 mandatory location,_dist_school2_to_mand1,"np.where((school_location_child2 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_mandatory_location_chauf1, ('SOV_TIME', 'AM')), 0)" +Distance from child 2 school to chauffeur 2 mandatory location,_dist_school2_to_mand2,"np.where((school_location_child2 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_mandatory_location_chauf2, ('SOV_TIME', 'AM')), 0)" +Distance from child 3 school to chauffeur 1 mandatory location,_dist_school3_to_mand1,"np.where((school_location_child3 > 0) & (_mandatory_location_chauf1 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_mandatory_location_chauf1, ('SOV_TIME', 'AM')), 0)" +Distance from child 3 school to chauffeur 2 mandatory location,_dist_school3_to_mand2,"np.where((school_location_child3 > 0) & (_mandatory_location_chauf2 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_mandatory_location_chauf2, ('SOV_TIME', 'AM')), 0)" +Distance from child 1 school to child 2 school,_dist_school1_to_school2,"np.where((school_location_child1 > 0) & (school_location_child2 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_school_location_child2, ('SOV_TIME', 'AM')), 0)" +Distance from child 1 school to child 3 school,_dist_school1_to_school3,"np.where((school_location_child1 > 0) & (school_location_child3 > 0), skim_dict.lookup(_valid_school_location_child1, _valid_school_location_child3, ('SOV_TIME', 'AM')), 0)" +Distance from child 2 school to child 3 school,_dist_school2_to_school3,"np.where((school_location_child2 > 0) & (school_location_child3 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_school_location_child3, ('SOV_TIME', 'AM')), 0)" +Distance from child 2 school to child 1 school,_dist_school2_to_school1,"np.where((school_location_child2 > 0) & (school_location_child1 > 0), skim_dict.lookup(_valid_school_location_child2, _valid_school_location_child1, ('SOV_TIME', 'AM')), 0)" +Distance from child 3 school to child 1 school,_dist_school3_to_school1,"np.where((school_location_child3 > 0) & (school_location_child1 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_school_location_child1, ('SOV_TIME', 'AM')), 0)" +Distance from child 3 school to child 2 school,_dist_school3_to_school2,"np.where((school_location_child3 > 0) & (school_location_child2 > 0), skim_dict.lookup(_valid_school_location_child3, _valid_school_location_child2, ('SOV_TIME', 'AM')), 0)" +# absolute deviation distance outbound,, +Absolute deviation outbound distance Child 1 Chauffer 1,abs_dev_dist_out_child1_chauf1,"np.maximum(dist_home_to_school1 + _dist_school1_to_mand1 - dist_home_to_mand1,0)" +Absolute deviation outbound distance Child 1 Chauffer 2,abs_dev_dist_out_child1_chauf2,"np.maximum(dist_home_to_school1 + _dist_school1_to_mand2 - dist_home_to_mand2,0)" +Absolute deviation outbound distance Child 2 Chauffer 1,abs_dev_dist_out_child2_chauf1,"np.maximum(dist_home_to_school2 + _dist_school2_to_mand1 - dist_home_to_mand1,0)" +Absolute deviation outbound distance Child 2 Chauffer 2,abs_dev_dist_out_child2_chauf2,"np.maximum(dist_home_to_school2 + _dist_school2_to_mand2 - dist_home_to_mand2,0)" +Absolute deviation outbound distance Child 3 Chauffer 1,abs_dev_dist_out_child3_chauf1,"np.maximum(dist_home_to_school3 + _dist_school3_to_mand1 - dist_home_to_mand1,0)" +Absolute deviation outbound distance Child 3 Chauffer 2,abs_dev_dist_out_child3_chauf2,"np.maximum(dist_home_to_school3 + _dist_school3_to_mand2 - dist_home_to_mand2,0)" +Absolute deviation outbound distance child12 Chauffer 1,abs_dev_dist_out_child12_chauf1,"np.maximum(np.minimum(dist_home_to_school1 + _dist_school1_to_school2 + _dist_school2_to_mand1, dist_home_to_school2 + _dist_school2_to_school1 + _dist_school1_to_mand1) - dist_home_to_mand1, 0)" +Absolute deviation outbound distance child12 Chauffer 2,abs_dev_dist_out_child12_chauf2,"np.maximum(np.minimum(dist_home_to_school1 + _dist_school1_to_school2 + _dist_school2_to_mand2, dist_home_to_school2 + _dist_school2_to_school1 + _dist_school1_to_mand2) - dist_home_to_mand2, 0)" +Absolute deviation outbound distance child13 Chauffer 1,abs_dev_dist_out_child13_chauf1,"np.maximum(np.minimum(dist_home_to_school1 + _dist_school1_to_school3 + _dist_school3_to_mand1, dist_home_to_school3 + _dist_school3_to_school1 + _dist_school1_to_mand1) - dist_home_to_mand1, 0)" +Absolute deviation outbound distance child13 Chauffer 2,abs_dev_dist_out_child13_chauf2,"np.maximum(np.minimum(dist_home_to_school1 + _dist_school1_to_school3 + _dist_school3_to_mand2, dist_home_to_school3 + _dist_school3_to_school1 + _dist_school1_to_mand2) - dist_home_to_mand2, 0)" +Absolute deviation outbound distance child23 Chauffer 1,abs_dev_dist_out_child23_chauf1,"np.maximum(np.minimum(dist_home_to_school2 + _dist_school2_to_school3 + _dist_school3_to_mand1, dist_home_to_school3 + _dist_school3_to_school2 + _dist_school2_to_mand1) - dist_home_to_mand1, 0)" +Absolute deviation outbound distance child23 Chauffer 2,abs_dev_dist_out_child23_chauf2,"np.maximum(np.minimum(dist_home_to_school2 + _dist_school2_to_school3 + _dist_school3_to_mand2, dist_home_to_school3 + _dist_school3_to_school2 + _dist_school2_to_mand2) - dist_home_to_mand2, 0)" +,_dist_school1_school2_school3_mand1,"dist_home_to_school1 + _dist_school1_to_school2 + _dist_school2_to_school3 + _dist_school3_to_mand1" +,_dist_school1_school3_school2_mand1,"dist_home_to_school1 + _dist_school1_to_school3 + _dist_school3_to_school2 + _dist_school2_to_mand1" +,_dist_school2_school1_school3_mand1,"dist_home_to_school2 + _dist_school2_to_school1 + _dist_school1_to_school3 + _dist_school3_to_mand1" +,_dist_school2_school3_school1_mand1,"dist_home_to_school2 + _dist_school2_to_school3 + _dist_school3_to_school1 + _dist_school1_to_mand1" +,_dist_school3_school1_school2_mand1,"dist_home_to_school3 + _dist_school3_to_school1 + _dist_school1_to_school2 + _dist_school2_to_mand1" +,_dist_school3_school2_school1_mand1,"dist_home_to_school3 + _dist_school3_to_school2 + _dist_school2_to_school1 + _dist_school1_to_mand1" +,_min_dist_dropoff_order_out_child123_chauf1,_dist_school1_school2_school3_mand1 +,_min_dist_dropoff_order_out_child123_chauf1,"np.where((_dist_school1_school3_school2_mand1 > 0) & (_dist_school1_school3_school2_mand1 < _min_dist_dropoff_order_out_child123_chauf1), _dist_school1_school3_school2_mand1, _min_dist_dropoff_order_out_child123_chauf1)" +,_min_dist_dropoff_order_out_child123_chauf1,"np.where((_dist_school2_school1_school3_mand1 > 0) & (_dist_school2_school1_school3_mand1 < _min_dist_dropoff_order_out_child123_chauf1), _dist_school2_school1_school3_mand1, _min_dist_dropoff_order_out_child123_chauf1)" +,_min_dist_dropoff_order_out_child123_chauf1,"np.where((_dist_school2_school3_school1_mand1 > 0) & (_dist_school2_school3_school1_mand1 < _min_dist_dropoff_order_out_child123_chauf1), _dist_school2_school3_school1_mand1, _min_dist_dropoff_order_out_child123_chauf1)" +,_min_dist_dropoff_order_out_child123_chauf1,"np.where((_dist_school3_school1_school2_mand1 > 0) & (_dist_school3_school1_school2_mand1 < _min_dist_dropoff_order_out_child123_chauf1), _dist_school3_school1_school2_mand1, _min_dist_dropoff_order_out_child123_chauf1)" +,_min_dist_dropoff_order_out_child123_chauf1,"np.where((_dist_school3_school2_school1_mand1 > 0) & (_dist_school3_school2_school1_mand1 < _min_dist_dropoff_order_out_child123_chauf1), _dist_school3_school2_school1_mand1, _min_dist_dropoff_order_out_child123_chauf1)" +Absolute deviation outbound distance child123 Chauffer 1,abs_dev_dist_out_child123_chauf1,"np.maximum(_min_dist_dropoff_order_out_child123_chauf1 - dist_home_to_mand1, 0)" +,_dist_school1_school2_school3_mand2,"dist_home_to_school1 + _dist_school1_to_school2 + _dist_school2_to_school3 + _dist_school3_to_mand2" +,_dist_school1_school3_school2_mand2,"dist_home_to_school1 + _dist_school1_to_school3 + _dist_school3_to_school2 + _dist_school2_to_mand2" +,_dist_school2_school1_school3_mand2,"dist_home_to_school2 + _dist_school2_to_school1 + _dist_school1_to_school3 + _dist_school3_to_mand2" +,_dist_school2_school3_school1_mand2,"dist_home_to_school2 + _dist_school2_to_school3 + _dist_school3_to_school1 + _dist_school1_to_mand2" +,_dist_school3_school1_school2_mand2,"dist_home_to_school3 + _dist_school3_to_school1 + _dist_school1_to_school2 + _dist_school2_to_mand2" +,_dist_school3_school2_school1_mand2,"dist_home_to_school3 + _dist_school3_to_school2 + _dist_school2_to_school1 + _dist_school1_to_mand2" +,_min_dist_dropoff_order_out_child123_chauf2,_dist_school1_school2_school3_mand2 +,_min_dist_dropoff_order_out_child123_chauf2,"np.where((_dist_school1_school3_school2_mand2 > 0) & (_dist_school1_school3_school2_mand2 < _min_dist_dropoff_order_out_child123_chauf2), _dist_school1_school3_school2_mand2, _min_dist_dropoff_order_out_child123_chauf2)" +,_min_dist_dropoff_order_out_child123_chauf2,"np.where((_dist_school2_school1_school3_mand2 > 0) & (_dist_school2_school1_school3_mand2 < _min_dist_dropoff_order_out_child123_chauf2), _dist_school2_school1_school3_mand2, _min_dist_dropoff_order_out_child123_chauf2)" +,_min_dist_dropoff_order_out_child123_chauf2,"np.where((_dist_school2_school3_school1_mand2 > 0) & (_dist_school2_school3_school1_mand2 < _min_dist_dropoff_order_out_child123_chauf2), _dist_school2_school3_school1_mand2, _min_dist_dropoff_order_out_child123_chauf2)" +,_min_dist_dropoff_order_out_child123_chauf2,"np.where((_dist_school3_school1_school2_mand2 > 0) & (_dist_school3_school1_school2_mand2 < _min_dist_dropoff_order_out_child123_chauf2), _dist_school3_school1_school2_mand2, _min_dist_dropoff_order_out_child123_chauf2)" +,_min_dist_dropoff_order_out_child123_chauf2,"np.where((_dist_school3_school2_school1_mand2 > 0) & (_dist_school3_school2_school1_mand2 < _min_dist_dropoff_order_out_child123_chauf2), _dist_school3_school2_school1_mand2, _min_dist_dropoff_order_out_child123_chauf2)" +Absolute deviation outbound distance child123 Chauffer 1,abs_dev_dist_out_child123_chauf2,"np.maximum(_min_dist_dropoff_order_out_child123_chauf2 - dist_home_to_mand2, 0)" +# Availability for multiple bundles,, +,_return_min_taking_child1,"(pref_depart_time_school1 * mins_per_time_bin) + time_home_to_school1 + time_school_to_home1" +,_return_min_taking_child2,"(pref_depart_time_school2 * mins_per_time_bin) + time_home_to_school2 + time_school_to_home2" +,_return_min_taking_child3,"(pref_depart_time_school3 * mins_per_time_bin) + time_home_to_school3 + time_school_to_home3" +Availability of taking child 1 and then 2,_avail_child1_then_child2,"(_return_min_taking_child1 < (pref_depart_time_school2 * mins_per_time_bin))" +Availability of taking child 2 and then 1,_avail_child2_then_child1,"(_return_min_taking_child2 < (pref_depart_time_school1 * mins_per_time_bin))" +Availability of taking child 1 and then 3,_avail_child1_then_child3,"(_return_min_taking_child1 < (pref_depart_time_school3 * mins_per_time_bin))" +Availability of taking child 3 and then 1,_avail_child3_then_child1,"(_return_min_taking_child3 < (pref_depart_time_school1 * mins_per_time_bin))" +Availability of taking child 2 and then 3,_avail_child2_then_child3,"(_return_min_taking_child2 < (pref_depart_time_school3 * mins_per_time_bin))" +Availability of taking child 3 and then 2,_avail_child3_then_child2,"(_return_min_taking_child3 < (pref_depart_time_school2 * mins_per_time_bin))" +multiple_bundle_availability,avail_multiple_bundles,(_avail_child1_then_child2 | _avail_child2_then_child1 | _avail_child1_then_child3 | _avail_child3_then_child1 | _avail_child2_then_child3 | _avail_child3_then_child2) +# ,, +# Inbound specific terms ,, +Preferred return time from school - child 1,pref_return_time_school1,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').end, df.child_id1)" +Preferred return time from school - child 2,pref_return_time_school2,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').end, df.child_id2)" +Preferred return time from school - child 3,pref_return_time_school3,"reindex(tours[(tours.tour_type == 'school') & (tours.tour_num == 1)].set_index('person_id').end, df.child_id3)" +Preferred return time from work / univ - chauffer 1,pref_return_time_chauf1,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 1)].set_index('person_id').end, df.chauf_id1)" +Preferred return time from work / univ - chauffer 2,pref_return_time_chauf2,"reindex(tours[(tours.tour_category == 'mandatory') & (tours.tour_num == 1)].set_index('person_id').end, df.chauf_id2)" +# overlapping time windows from inbound escorting,, +# ,_return_min_taking_inbound_child1_pe,"(_pref_depart_time_to_school1 * mins_per_time_bin) + time_home_to_school1 + time_school_to_home1" +# ,_return_min_taking_inbound_child2_pe,"(_pref_depart_time_to_school2 * mins_per_time_bin) + time_home_to_school2 + time_school_to_home2" +# ,_return_min_taking_inbound_child3_pe,"(_pref_depart_time_to_school3 * mins_per_time_bin) + time_home_to_school3 + time_school_to_home3" +# finding earliest time chauffer 1 returns from inbound pure escort tour,inbound_pe_return_time_home_chauf1,-1 +# ,inbound_pe_return_time_home_chauf1,"np.where((df.chauf1_inbound == 2) & (_return_min_taking_inbound_child1_pe > inbound_pe_return_time_home_chauf1), _return_min_taking_inbound_child1_pe, inbound_pe_return_time_home_chauf1)" +# ,inbound_pe_return_time_home_chauf1,"np.where((df.chauf2_inbound == 2) & (_return_min_taking_inbound_child2_pe > inbound_pe_return_time_home_chauf1), _return_min_taking_inbound_child2_pe, inbound_pe_return_time_home_chauf1)" +# ,inbound_pe_return_time_home_chauf1,"np.where((df.chauf3_inbound == 2) & (_return_min_taking_inbound_child3_pe > inbound_pe_return_time_home_chauf1), _return_min_taking_inbound_child3_pe, inbound_pe_return_time_home_chauf1)" +# finding earliest time chauffer 2 returns from inbound pure escort tour,inbound_pe_return_time_home_chauf2,-1 +# ,inbound_pe_return_time_home_chauf2,"np.where((df.chauf1_inbound == 2) & (_return_min_taking_inbound_child1_pe > inbound_pe_return_time_home_chauf2), _return_min_taking_inbound_child1_pe, inbound_pe_return_time_home_chauf2)" +# ,inbound_pe_return_time_home_chauf2,"np.where((df.chauf2_inbound == 2) & (_return_min_taking_inbound_child2_pe > inbound_pe_return_time_home_chauf2), _return_min_taking_inbound_child2_pe, inbound_pe_return_time_home_chauf2)" +# ,inbound_pe_return_time_home_chauf2,"np.where((df.chauf3_inbound == 2) & (_return_min_taking_inbound_child3_pe > inbound_pe_return_time_home_chauf2), _return_min_taking_inbound_child3_pe, inbound_pe_return_time_home_chauf2)" +# finding latest time chauffer 1 returns from inbound ride share tour,inbound_rs_return_time_home_chauf1,pref_depart_time_chauf1 +# finding latest time chauffer 2 returns from inbound ride share tour,inbound_rs_return_time_home_chauf2,pref_depart_time_chauf2 +# return time of inbound school escoring tour - chauffeur 1,return_bin_inbound_school_escorting1,"np.where(df.nrs1_inbound > 0, pref_depart_time_chauf1, inbound_pe_return_time_home_chauf1)" +# return time of inbound school escoring tour - chauffeur 2,return_bin_inbound_school_escorting2,"np.where(df.nrs2_inbound > 0, pref_depart_time_chauf2, inbound_pe_return_time_home_chauf2)" diff --git a/activitysim/examples/example_mtc_extended/configs/settings.yaml b/activitysim/examples/prototype_mtc_extended/configs/settings.yaml similarity index 95% rename from activitysim/examples/example_mtc_extended/configs/settings.yaml rename to activitysim/examples/prototype_mtc_extended/configs/settings.yaml index b1faa5c258..fd4b0ee397 100644 --- a/activitysim/examples/example_mtc_extended/configs/settings.yaml +++ b/activitysim/examples/prototype_mtc_extended/configs/settings.yaml @@ -102,7 +102,7 @@ check_for_variability: False # turn shadow_pricing on and off for all models (e.g. school and work) # shadow pricing is deprecated for less than full samples # see shadow_pricing.yaml for additional settings -use_shadow_pricing: False +use_shadow_pricing: True # turn writing of sample_tables on and off for all models # (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) @@ -155,7 +155,7 @@ keep_mem_logs: True # trace household id; comment out or leave empty for no trace # households with all tour types # [ 728370 1234067 1402924 1594625 1595333 1747572 1896849 1931818 2222690 2344951 2677154] -trace_hh_id: 982875 +trace_hh_id: # trace origin, destination in accessibility calculation; comment out or leave empty for no trace # trace_od: [5, 11] @@ -165,7 +165,6 @@ trace_od: # to resume after last successful checkpoint, specify resume_after: _ #resume_after: trip_destination -resume_after: checkpoints: True # if checkpoints is False, no intermediate checkpoints will be written before the end of run @@ -179,6 +178,10 @@ checkpoints: True models: + ## Disaggregate Accessibility steps + - initialize_proto_population # Separate step so proto tables can be split for multiprocess. + - compute_disaggregate_accessibility + ## Main model steps - initialize_landuse - initialize_households - compute_accessibility @@ -190,6 +193,7 @@ models: - cdap_simulate - mandatory_tour_frequency - mandatory_tour_scheduling + - school_escorting - joint_tour_frequency - joint_tour_composition - joint_tour_participation @@ -222,6 +226,7 @@ output_tables: tables: - checkpoints - accessibility + - proto_disaggregate_accessibility - land_use - households - persons diff --git a/activitysim/examples/prototype_mtc_extended/configs/shadow_pricing.yaml b/activitysim/examples/prototype_mtc_extended/configs/shadow_pricing.yaml new file mode 100644 index 0000000000..593a364783 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/shadow_pricing.yaml @@ -0,0 +1,54 @@ +shadow_pricing_models: + school: school_location + workplace: workplace_location + +# global switch to enable/disable loading of saved shadow prices +# (ignored if global use_shadow_pricing switch is False) +LOAD_SAVED_SHADOW_PRICES: False + +# write out choices by iteration to trace folder +WRITE_ITERATION_CHOICES: True + +# number of shadow price iterations for cold start +MAX_ITERATIONS: 10 + +# number of shadow price iterations for warm start (after loading saved shadow_prices) +MAX_ITERATIONS_SAVED: 1 + +## Shadow pricing method +# SHADOW_PRICE_METHOD: ctramp +# SHADOW_PRICE_METHOD: daysim +SHADOW_PRICE_METHOD: simulation + +# --- simulation method settings +# ignore criteria for zones smaller than size_threshold +SIZE_THRESHOLD: 10 +# ignore criteria for zones smaller than target_threshold (total employmnet or enrollment) +TARGET_THRESHOLD: 20 +# zone passes if modeled is within percent_tolerance of predicted_size +PERCENT_TOLERANCE: 5 +# max percentage of zones allowed to fail +FAIL_THRESHOLD: 1 +# apply different targets for each segment specified in destination_size_terms.csv +school_segmentation_targets: + # format is segment: land_use_column + university: TOTENR_univ + highschool: HSENROLL + gradeschool: AGE0519 + +# if target names are the same, they will be combined together +workplace_segmentation_targets: + # using total employment scaled to remove external workers. see annotate_landuse.csv + work_low: TOTEMP_scaled + work_med: TOTEMP_scaled + work_high: TOTEMP_scaled + work_veryhigh: TOTEMP_scaled + +# --- ctramp method settings +DAMPING_FACTOR: 1 + +# --- daysim method settings +# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? +DAYSIM_ABSOLUTE_TOLERANCE: 50 +DAYSIM_PERCENT_TOLERANCE: 10 + diff --git a/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_alternatives.csv b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_alternatives.csv new file mode 100644 index 0000000000..04a03d64f0 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_alternatives.csv @@ -0,0 +1,21 @@ +#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,out,in +0out_0in,0,0 +0out_1in,0,1 +0out_2in,0,2 +0out_3in,0,3 +1out_0in,1,0 +1out_1in,1,1 +1out_2in,1,2 +1out_3in,1,3 +2out_0in,2,0 +2out_1in,2,1 +2out_2in,2,2 +2out_3in,2,3 +3out_0in,3,0 +3out_1in,3,1 +3out_2in,3,2 +3out_3in,3,3 +# extension for flexible ids demonstration,, +# should be removed for actual model run,, +4out_3in,4,3 \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_escort.csv b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_escort.csv new file mode 100644 index 0000000000..40e0f4145f --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_escort.csv @@ -0,0 +1,29 @@ +Description,value,coefficient_name +Number of HH Persons,-0.24,coef_number_of_hh_persons +Number of Students in HH,0.19,coef_number_of_students_in_hh +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Dummy for walking to all stops,-1.91,coef_dummy_for_walking_to_all_stops +Number of work tours undertaken by the person,-0.29,coef_number_of_work_tours_undertaken_by_the_person +Number of escort tours tours undertaken by the person,-0.15,coef_number_of_escort_tours_tours_undertaken_by_the_person +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,0.59,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +dummy for distance less than 5 Miles,0.32,coef_dummy_for_distance_less_than_5_miles +dummy for distance in miles,0.01,coef_dummy_for_distance_in_miles +No stops if tour mode is driveTransit,-999,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-0.968,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops on joint tours,-1.329,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in +Alternative specific constant for return stops,-2.41,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops on joint tours,-2.796,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in +Alternative specific constant for the total number of stops on joint tours,0,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in +Alternative specific constant for return stops,-3.024,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for return stops on joint tours,-3.379,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +Alternative specific constant for outbound stops,-2.173,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for outbound stops on joint tours,-1.783,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in +Alternative specific constant for the total number of stops on joint tours,0.518,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in +Alternative specific constant for outbound stops,-4.294,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for outbound stops on joint tours,-4.067,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in +Alternative specific constant for the total number of stops,-1.807,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for the total number of stops on joint tours,1.497,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +Alternative specific constant for outbound stops,-4.758,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Alternative specific constant for outbound stops on joint tours,-4.998,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +Unavailable,-999,coef_unavail diff --git a/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_school.csv b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_school.csv new file mode 100644 index 0000000000..8efa5941f7 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_school.csv @@ -0,0 +1,22 @@ +Description,value,coefficient_name +Number of HH Persons,-0.506,coef_number_of_hh_persons +Presence of kids between 5 and 15 (including) years old,0.3299,coef_presence_of_kids_between_5_and_15_including_years_old +Number of Cars > Number of Workers,0.5331,coef_number_of_cars_number_of_workers +Dummy for female,0.4099,coef_dummy_for_female +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Dummy for walking to all stops,-1.8163,coef_dummy_for_walking_to_all_stops +Number of escort tours tours undertaken by the person,1.2365,coef_number_of_escort_tours_tours_undertaken_by_the_person +Arrival later than 17:00.,1.8377,coef_arrival_later_than_17_00_ +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,0.9549,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +dummy for distance in miles,0.0438,coef_dummy_for_distance_in_miles +No stops if tour mode is driveTransit,-999.0,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-1.206,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops,-2.6719999999999997,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0.0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops,-3.364,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for outbound stops,-2.123,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for the total number of stops,0.701,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in +Alternative specific constant for outbound stops,-3.798,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for the total number of stops,1.135,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for outbound stops,-5.85,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Coefficient for unavailable alternatives,-999,coef_unavail \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_univ.csv b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_univ.csv new file mode 100644 index 0000000000..b074f4087e --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_univ.csv @@ -0,0 +1,21 @@ +Description,value,coefficient_name +Number of HH Persons,-0.2827,coef_number_of_hh_persons +Presence of kids between 5 and 15 (including) years old,0.6823,coef_presence_of_kids_between_5_and_15_including_years_old +Number of Vehicles,0.1703,coef_number_of_vehicles +Dummy for female,0.7349,coef_dummy_for_female +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Number of escort tours tours undertaken by the person,0.9018,coef_number_of_escort_tours_tours_undertaken_by_the_person +Arrival later than 17:00.,0.389,coef_arrival_later_than_17_00_ +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,0.8434,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +HH accesibility for inbound tours. Interaction,0.2481,coef_hh_accesibility_for_inbound_tours_interaction +No stops if tour mode is driveTransit,-999.0,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-2.003,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops,-3.51,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0.0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops,-3.677,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for outbound stops,-2.628,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for the total number of stops,1.272,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in +Alternative specific constant for outbound stops,-3.741,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for the total number of stops,1.871,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for outbound stops,-4.981,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Coefficient for unavailable alternatives,-999,coef_unavail \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_work.csv b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_work.csv new file mode 100644 index 0000000000..61008890fb --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_coefficients_work.csv @@ -0,0 +1,35 @@ +Description,value,coefficient_name +Middle to Low Income HH,0.17,coef_middle_to_low_income_hh +Mid to High Income HH,0.23,coef_mid_to_high_income_hh +High Income HH,0.24,coef_high_income_hh +Number of HH Persons,-0.31,coef_number_of_hh_persons +Number of Students in HH,0.21,coef_number_of_students_in_hh +Presence of Kids between 0 and 4 (including) years old,0.74,coef_presence_of_kids_between_0_and_4_including_years_old +Num kids between 5 and 15 (including) years old,0.08,coef_num_kids_between_5_and_15_including_years_old +Presence of kids between 5 and 15 (including) years old,0.26,coef_presence_of_kids_between_5_and_15_including_years_old +Number of Adults (>= 16 years old),0.03,coef_number_of_adults_16_years_old_ +Number of Cars > Number of Workers,0.16,coef_number_of_cars_number_of_workers +Dummy for female,0.22,coef_dummy_for_female +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Dummy for walking to all stops,-1.54,coef_dummy_for_walking_to_all_stops +Number of work tours undertaken by the person,-0.15,coef_number_of_work_tours_undertaken_by_the_person +Number of university tours tours undertaken by the person,-0.48,coef_number_of_university_tours_tours_undertaken_by_the_person +Number of school tours tours undertaken by the person,-1.55,coef_number_of_school_tours_tours_undertaken_by_the_person +Number of escort tours tours undertaken by the person,0.2,coef_number_of_escort_tours_tours_undertaken_by_the_person +Number of shop tours undertaken by the houshold,-0.05,coef_number_of_shop_tours_undertaken_by_the_houshold +AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,-1.93,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours +Evening Arrival (>=19:00) Interacted with return tours,0.31,coef_evening_arrival_19_00_interacted_with_return_tours +Dummy for the duration of the tour being equal or greater than or equal to 11 hours,0.6,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours +dummy for distance less than 20 Miles,-0.22,coef_dummy_for_distance_less_than_20_miles +dummy for distance in miles,0.01,coef_dummy_for_distance_in_miles +No stops if tour mode is driveTransit,-999.0,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-0.445,coef_alternative_specific_constant_for_return_stops_0out_1in +Number of subtours in the tour,0.19,coef_number_of_subtours_in_the_tour +Alternative specific constant for return stops,-1.775,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0.0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops,-2.1390000000000002,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for outbound stops,-0.833,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for outbound stops,-2.613,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for the total number of stops,0.695,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for outbound stops,-3.9339999999999997,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Coefficient for unavailable alternatives,-999,coef_unavail \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_escort.csv b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_escort.csv new file mode 100644 index 0000000000..e522097e5c --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_escort.csv @@ -0,0 +1,49 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh,Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +util_number_of_hh_persons,Number of HH Persons,hhsize,,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons +util_number_of_full_time_workers_in_hh,Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +util_num_kids_between_5_and_15_including_years_old,Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +util_number_of_vehicles,Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +util_dummy_for_female,Dummy for female,female,,,,,,,,,,,,,,,, +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,num_work_tours,,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, +util_number_of_school_tours_tours_undertaken_by_the_person,Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,num_escort_tours,,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,,,,,,,,,,,,,,, +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_5_miles,dummy for distance less than 5 Miles,(distance_in_miles < 5),,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,~is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,~is_joint,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,~is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_alternative_specific_constant_for_outbound_stops_on_joint_tours,Alternative specific constant for outbound stops on joint tours,is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +util_alternative_specific_constant_for_return_stops_on_joint_tours,Alternative specific constant for return stops on joint tours,is_joint,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours,Alternative specific constant for the total number of stops on joint tours,is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +# added for school escorting,,,,,,,,,,,,,,,,,, +util_no_stops_to_school_escorting,Do not allow stops for school escort half-tour -- outbound,"(school_esc_outbound.isin(['ride_share', 'pure_escort']))",,,,,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail +util_no_stops_from_school_escorting,Do not allow stops for school escort half-tour -- inbound,"(school_esc_inbound.isin(['ride_share', 'pure_escort']))",,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail diff --git a/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_othdiscr.csv b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_othdiscr.csv new file mode 100644 index 0000000000..ef0a494376 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_othdiscr.csv @@ -0,0 +1,50 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in,4out_3in +util_middle_to_low_income_hh_,Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,,, +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,,, +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,,, +util_number_of_hh_persons,Number of HH Persons,hhsize,,,,,,,,,,,,,,,,, +util_number_of_full_time_workes_in_hh,Number of full time workes in HH,num_full,,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,,,,,,,,,,,,,,,, +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,,, +util_num_kids_between_4_and_15_including_years_old,Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,,, +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,,, +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,,, +util_number_of_vehicles,Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,,, +util_dummy_for_female,Dummy for female,~is_joint & female,,,,,,,,,,,,,,,,, +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,~is_joint * num_work_tours,,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,,,,,,,,,,,,,,,, +util_number_of_shool_tours_tours_undertaken_by_the_person,Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,,, +util_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,,, +util_number_of_persons_participating_in_the_tour_return_stops_interaction,Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,,, +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_ +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_10_miles_,dummy for distance less than 10 Miles ,(distance_in_miles < 10),,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_ +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,~is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,~is_joint,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,~is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_alternative_specific_constant_for_outbound_stops_on_joint_tours,Alternative specific constant for outbound stops on joint tours,is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +util_alternative_specific_constant_for_return_stops_on_joint_tours,Alternative specific constant for return stops on joint tours,is_joint,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours,Alternative specific constant for the total number of stops on joint tours,is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +# last column and below constant was added to demonstrate flexible id extension,,,,,,,,,,,,,,,,,,, +util_flexible_id_ext_constant,Constant to control addex example extension,True,,,,,,,,,,,,,,,,,8 diff --git a/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_school.csv b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_school.csv new file mode 100644 index 0000000000..9aa97f5494 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_school.csv @@ -0,0 +1,46 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh,Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +util_number_of_hh_persons,Number of HH Persons,hhsize,,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons +util_number_of_full_time_workers_in_hh,Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,,,,,,,,,,,,,,, +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +util_num_kids_between_5_and_15_including_years_old,Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers +util_number_of_vehicles,Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +util_dummy_for_female,Dummy for female,female,,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,num_work_tours,,,,,,,,,,,,,,,, +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, +util_number_of_school_tours_tours_undertaken_by_the_person,Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,num_escort_tours,,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_ +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_15_miles,dummy for distance less than 15 Miles,(distance_in_miles < 15),,,,,,,,,,,,,,,, +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,1,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,1,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,1,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +# No stops for half tour that includes school escorting,,,,,,,,,,,,,,,,,, +util_no_stops_to_school_escorting,Do not allow stops for school escort half-tour -- outbound,"(school_esc_outbound.isin(['ride_share', 'pure_escort']))",,,,,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail +util_no_stops_from_school_escorting,Do not allow stops for school escort half-tour -- inbound,"(school_esc_inbound.isin(['ride_share', 'pure_escort']))",,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail diff --git a/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_univ.csv b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_univ.csv new file mode 100644 index 0000000000..8b4b530313 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_univ.csv @@ -0,0 +1,46 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh,Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +util_number_of_hh_persons,Number of HH Persons,hhsize,,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons +util_number_of_full_time_workers_in_hh,Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,,,,,,,,,,,,,,, +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +util_num_kids_between_5_and_15_including_years_old,Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +util_number_of_vehicles,Number of Vehicles,auto_ownership,,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles +util_dummy_for_female,Dummy for female,female,,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,,,,,,,,,,,,,,, +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,num_work_tours,,,,,,,,,,,,,,,, +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, +util_number_of_school_tours_tours_undertaken_by_the_person,Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,num_escort_tours,,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_ +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_20_miles,dummy for distance less than 20 Miles,(distance_in_miles < 20),,,,,,,,,,,,,,,, +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,,,,,,,,,,,,,,, +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,1,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,1,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,1,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +# No stops for half tour that includes school escorting,,,,,,,,,,,,,,,,,, +util_no_stops_to_school_escorting,Do not allow stops for school escort half-tour -- outbound,"(school_esc_outbound.isin(['ride_share', 'pure_escort']))",,,,,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail +util_no_stops_from_school_escorting,Do not allow stops for school escort half-tour -- inbound,"(school_esc_inbound.isin(['ride_share', 'pure_escort']))",,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail diff --git a/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_work.csv b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_work.csv new file mode 100644 index 0000000000..764064c837 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/stop_frequency_work.csv @@ -0,0 +1,47 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh,Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh +util_number_of_hh_persons,Number of HH Persons,hhsize,,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons +util_number_of_full_time_workers_in_hh,Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old +util_num_kids_between_5_and_15_including_years_old,Num kids between 5 and 15 (including) years old,num_age_5_15,,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_ +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers +util_number_of_vehicles,Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +util_dummy_for_female,Dummy for female,female,,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,num_work_tours,,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,num_univ_tours,,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person +util_number_of_school_tours_tours_undertaken_by_the_person,Number of school tours tours undertaken by the person,num_school_tours,,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,num_escort_tours,,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,,,,,,,,,,,,,,, +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_20_miles,dummy for distance less than 20 Miles,(distance_in_miles < 20),,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,1,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,1,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,1,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_number_of_subtours_in_the_tour,Number of subtours in the tour,num_atwork_subtours,,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour +# No stops for half tour that includes school escorting,,,,,,,,,,,,,,,,,, +util_no_stops_to_school_escorting,Do not allow stops for school escort half-tour -- outbound,"(school_esc_outbound.isin(['ride_share', 'pure_escort']))",,,,,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail,coef_unavail +util_no_stops_from_school_escorting,Do not allow stops for school escort half-tour -- inbound,"(school_esc_inbound.isin(['ride_share', 'pure_escort']))",,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail,,coef_unavail,coef_unavail,coef_unavail diff --git a/activitysim/examples/example_mtc_extended/configs/tour_mode_choice.csv b/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice.csv similarity index 99% rename from activitysim/examples/example_mtc_extended/configs/tour_mode_choice.csv rename to activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice.csv index 2ba4c6d0df..56e920ac71 100644 --- a/activitysim/examples/example_mtc_extended/configs/tour_mode_choice.csv +++ b/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice.csv @@ -342,3 +342,6 @@ util_Walk_not_available_for_long_distances,Walk not available for long distances util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, #, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, +#, School Escorting eligibility,,,,,,,,,,,,,,,,,,,,,, +util_one_or_more_school_escort,No SOV if on school escort tour,"@(df.get('num_escortees', 0) >= 1)",-999,-999,,,,,,,,,,,,,,,,,,, +util_two_or_more_school_escort,Can't take HOV2 if taking two children and yourself,"@(df.get('num_escortees', 0) >= 2)",,,-999,-999,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/activitysim/examples/example_mtc_extended/configs/tour_mode_choice.yaml b/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/tour_mode_choice.yaml rename to activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice.yaml diff --git a/activitysim/examples/example_mtc_extended/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/tour_mode_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/prototype_mtc_extended/configs/tour_mode_choice_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/prototype_mtc_extended/configs/tour_scheduling_nonmandatory.csv b/activitysim/examples/prototype_mtc_extended/configs/tour_scheduling_nonmandatory.csv new file mode 100644 index 0000000000..b1d200576a --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/tour_scheduling_nonmandatory.csv @@ -0,0 +1,100 @@ +Label,Description,Expression,Coefficient +util_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,Subsequent tour must start after previous tour for this purpose ends,(start < end_previous) & (tour_type_num > 1),coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends +util_free_flow_round_trip_auto_time_shift_effects_duration,Free-flow round trip auto time shift effects - duration,roundtrip_auto_time_to_work * duration,coef_free_flow_round_trip_auto_time_shift_effects_duration +util_shopping_tour_departure_shift_effects,Shopping tour - departure shift effects,(tour_type == 'shopping') * start,coef_shopping_tour_departure_shift_effects +util_shopping_tour_duration_shift_effects,Shopping tour - duration shift effects,(tour_type == 'shopping') * duration,coef_shopping_tour_duration_shift_effects +util_maintenance_tour_departure_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * start,coef_maintenance_tour_departure_shift_effects +util_maintenance_tour_duration_shift_effects,Maintenance tour - departure shift effects,(tour_type == 'othmaint') * duration,coef_maintenance_tour_duration_shift_effects +util_visit_tour_departure_shift_effects_start,Visit tour - departure shift effects,(tour_type == 'social') * start,coef_visit_tour_departure_shift_effects +util_visit_tour_duration_shift_effects_duration,Visit tour - departure shift effects,(tour_type == 'social') * duration,coef_visit_tour_duration_shift_effects +util_eat_out_tour_departure_shift_effects,Eat Out tour - departure shift effects,(tour_type == 'eatout') * start,coef_eat_out_tour_departure_shift_effects +util_school_child_age_16_plus_departure_shift_effects,School child age 16+ - departure shift effects,(ptype == 6) * start,coef_school_child_age_16_plus_departure_shift_effects +util_school_child_age_16_plus_duration_shift_effects,School child age 16+ - duration shift effects,(ptype == 6) * duration,coef_school_child_age_16_plus_duration_shift_effects +util_school_child_age_under_16_departure_shift_effects,School child age under 16 - departure shift effects,(ptype == 7) * start,coef_school_child_age_under_16_departure_shift_effects +util_school_child_age_under_16_duration_shift_effects,School child age under 16 - duration shift effects,(ptype == 7) * duration,coef_school_child_age_under_16_duration_shift_effects +util_destination_in_cbd_duration_shift_effects,Destination in CBD - duration shift effects,destination_in_cbd * duration,coef_destination_in_cbd_duration_shift_effects +util_number_of_mandatory_tours_departure_shift_effects,Number of mandatory tours - departure shift effects,num_mand * start,coef_number_of_mandatory_tours_departure_shift_effects +util_number_of_joint_tours_departure_shift_effects,Number of joint tours - departure shift effects,num_person_joint_tours * start,coef_number_of_joint_tours_departure_shift_effects +util_number_of_escort_tours_departure_shift_effects,Number of escort tours - departure shift effects,num_escort_tours * start,coef_number_of_escort_tours_departure_shift_effects +util_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,Number of idividual non-mandatory tours (excluding escort) - departure shift effects,num_non_escort_tours * start,coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects +util_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,First of 2+ tours for same purpose - departure shift effect,((tour_type_count>1) & (tour_type_num == 1)) * start,coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect +util_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,subsequent of 2+ tours for same purpose - duration shift effect,(tour_type_num > 1) * duration,coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect +util_maintenance_tour_depart_before_7,Maintenance tour - depart before 7,(tour_type == 'othmaint') & (start < 7),coef_maintenance_tour_depart_before_7 +util_shopping_tour_depart_before_8,Shopping tour - depart before 8,(tour_type == 'shopping') & (start < 8),coef_shopping_tour_depart_before_8 +util_shopping_tour_arrive_after_22,Shopping tour - arrive after 22,(tour_type == 'shopping') & (end > 22),coef_shopping_tour_arrive_after_22 +util_school_child_under_16_arrive_after_22,School child under 16 - arrive after 22,(ptype == 7) & (end > 22),coef_school_child_under_16_arrive_after_22 +util_university_student_arrive_after_22,University student - arrive after 22,(ptype == 3) & (end > 22),coef_university_student_arrive_after_22 +util_shopping_tour_duration_lt_2_hours,Shopping tour - duration < 2 hours,(tour_type == 'shopping') & (duration < 2),coef_shopping_tour_duration_lt_2_hours +util_discretionary_tour_duration_lt_2_hours,Discretionary tour - duration < 2 hours,(tour_type == 'othdiscr') & (duration < 2),coef_discretionary_tour_duration_lt_2_hours +util_adult_with_children_in_hh_arrive_19_21,Adult with children in HH - arrive 19 - 21,adult & (num_children > 0) & ( end > 18 ) & ( end < 22 ),coef_adult_with_children_in_hh_arrive_19_21 +#,,, +#,Mode Choice Logsum,mode_choice_logsum,#mode_choice_logsum +#,,,# +util_dummy_adjacent_before,,"_adjacent_window_before@tt.adjacent_window_before(df.person_id, df.start)",coef_dummy +util_dummy_adjacent_after,,"_adjacent_window_after@tt.adjacent_window_after(df.person_id, df.end)",coef_dummy +util_some_previously_scheduled_tour_ends_in_this_departure_hour,Some previously-scheduled tour ends in this departure hour,"@tt.previous_tour_ends(df.person_id, df.start)",coef_some_previously_scheduled_tour_ends_in_this_departure_hour +util_some_previously_scheduled_tour_begins_in_this_arrival_hour,Some previously-scheduled tour begins in this arrival hour,"@tt.previous_tour_begins(df.person_id, df.end)",coef_some_previously_scheduled_tour_begins_in_this_arrival_hour +util_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,Adjacent window exists before this departure hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,Adjacent window exists after this arrival hour - first tour interaction,"@(df.tour_type_count>1) & (df.tour_type_num == 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction +util_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,Adjacent window exists before this departure hour - second+ tour interaction,"@(df.tour_type_num > 1) & _adjacent_window_before",coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction +util_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,Adjacent window exists after this arrival hour - second+ tour interaction,"@(df.tour_type_num > 1) & _adjacent_window_after",coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction +util_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,Remaining individual non-mandatory tours to be scheduled / number of unscheduled hours,"@((1.0 + df.tour_count - df.tour_num)) / tt.remaining_periods_available(df.person_id, df.start, df.end)",coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours +#,#,,# +util_departure_constants_early,Departure Constants -- Early (up to 5),(tour_type != 'escort') & (start < 6),coef_departure_constants_early +util_departure_constants_am_peak_1,Departure Constants -- AM peak 1 (6),(tour_type != 'escort') & (start == 6),coef_departure_constants_am_peak_1 +util_departure_constants_am_peak_2,Departure Constants -- AM peak 2 (7),(tour_type != 'escort') & (start == 7),coef_departure_constants_am_peak_2 +util_departure_constants_am_peak_3,Departure Constants -- AM peak 3 (8),(tour_type != 'escort') & (start == 8),coef_departure_constants_am_peak_3 +util_departure_constants_am_peak_4,Departure Constants -- AM peak 4 (9),(tour_type != 'escort') & (start == 9),coef_departure_constants_am_peak_4 +util_departure_constants_midday_1,Departure Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (start > 9) & (start < 13),coef_departure_constants_midday_1 +util_departure_constants_midday_2,Departure Constants -- Midday 2 (13 to 15),(tour_type != 'escort') & (start > 12) & (start < 16),coef_departure_constants_midday_2 +util_departure_constants_pm_peak,Departure Constants -- PM peak (16 to 18),(tour_type != 'escort') & (start > 15) & (start < 19),coef_departure_constants_pm_peak +util_departure_constants_evening,Departure Constants -- Evening (19 to 21),(tour_type != 'escort') & (start > 18) & (start < 22),coef_departure_constants_evening +util_departure_constants_late,Departure Constants -- Late (22 and later),(tour_type != 'escort') & (start > 21),coef_departure_constants_late +util_arrival_constants_early,Arrival Constants -- Early (up to 6),(tour_type != 'escort') & (end < 7),coef_arrival_constants_early +util_arrival_constants_am_peak,Arrival Constants -- AM peak (7 to 9),(tour_type != 'escort') & (end > 6) & (end < 10),coef_arrival_constants_am_peak +util_arrival_constants_midday_1,Arrival Constants -- Midday 1 (10 to 12),(tour_type != 'escort') & (end > 9) & (end < 13),coef_arrival_constants_midday_1 +util_arrival_constants_midday_2,Arrival Constants -- Midday 2 (13 to 14),(tour_type != 'escort') & (end > 12) & (end < 15),coef_arrival_constants_midday_2 +util_arrival_constants_pm_peak_1,Arrival Constants -- PM peak 1 (15),(tour_type != 'escort') & (end == 15),coef_arrival_constants_pm_peak_1 +util_arrival_constants_pm_peak_2,Arrival Constants -- PM peak 2 (16),(tour_type != 'escort') & (end == 16),coef_arrival_constants_pm_peak_2 +util_arrival_constants_pm_peak_3,Arrival Constants -- PM peak 3 (17),(tour_type != 'escort') & (end == 17),coef_arrival_constants_pm_peak_3 +util_arrival_constants_pm_peak_4,Arrival Constants -- PM peak 4 (18),(tour_type != 'escort') & (end == 18),coef_arrival_constants_pm_peak_4 +util_arrival_constants_evening,Arrival Constants -- Evening (19 to 21),(tour_type != 'escort') & (end > 18) & (end < 22),coef_arrival_constants_evening +util_arrival_constants_late,Arrival Constants -- Late (22 and later),(tour_type != 'escort') & (end > 21),coef_arrival_constants_late +util_duration_constants_0_to_1_hours,Duration Constants -- 0 to 1 hours,(tour_type != 'escort') & (duration < 2),coef_duration_constants_0_to_1_hours +util_duration_constants_2_to_3_hours,Duration Constants -- 2 to 3 hours,(tour_type != 'escort') & (duration > 1) & (duration < 4),coef_duration_constants_2_to_3_hours +util_duration_constants_4_to_5_hours,Duration Constants -- 4 to 5 hours,(tour_type != 'escort') & (duration > 3) & (duration < 6),coef_duration_constants_4_to_5_hours +util_duration_constants_6_to_7_hours,Duration Constants -- 6 to 7 hours,(tour_type != 'escort') & (duration > 5) & (duration < 8),coef_duration_constants_6_to_7_hours +util_duration_constants_8_to_10_hours,Duration Constants -- 8 to 10 hours,(tour_type != 'escort') & (duration > 7) & (duration < 11),coef_duration_constants_8_to_10_hours +util_duration_constants_11_to_13_hours,Duration Constants -- 11 to 13 hours,(tour_type != 'escort') & (duration > 10) & (duration < 14),coef_duration_constants_11_to_13_hours +util_duration_constants_14_to_18_hours,Duration Constants -- 14 to 18 hours,(tour_type != 'escort') & (duration > 13) & (duration < 19),coef_duration_constants_14_to_18_hours +util_escort_tour_departure_constants_early,Escort Tour Departure Constants -- Early (up to 5),(tour_type == 'escort') & (start < 6),coef_escort_tour_departure_constants_early +util_escort_tour_departure_constants_am_peak_1,Escort Tour Departure Constants -- AM peak 1 (6),(tour_type == 'escort') & (start == 6),coef_escort_tour_departure_constants_am_peak_1 +util_escort_tour_departure_constants_am_peak_2,Escort Tour Departure Constants -- AM peak 2 (7),(tour_type == 'escort') & (start == 7),coef_escort_tour_departure_constants_am_peak_2 +util_escort_tour_departure_constants_am_peak_3,Escort Tour Departure Constants -- AM peak 3 (8),(tour_type == 'escort') & (start == 8),coef_escort_tour_departure_constants_am_peak_3 +util_escort_tour_departure_constants_am_peak_4,Escort Tour Departure Constants -- AM peak 4 (9),(tour_type == 'escort') & (start == 9),coef_escort_tour_departure_constants_am_peak_4 +util_escort_tour_departure_constants_midday_1,Escort Tour Departure Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (start > 9) & (start < 13),coef_escort_tour_departure_constants_midday_1 +util_escort_tour_departure_constants_midday_2,Escort Tour Departure Constants -- Midday 2 (13 to 15),(tour_type == 'escort') & (start > 12) & (start < 16),coef_escort_tour_departure_constants_midday_2 +util_escort_tour_departure_constants_pm_peak,Escort Tour Departure Constants -- PM peak (16 to 18),(tour_type == 'escort') & (start > 15) & (start < 19),coef_escort_tour_departure_constants_pm_peak +util_escort_tour_departure_constants_evening,Escort Tour Departure Constants -- Evening (19 to 21),(tour_type == 'escort') & (start > 18) & (start < 22),coef_escort_tour_departure_constants_evening +util_escort_tour_departure_constants_late,Escort Tour Departure Constants -- Late (22 and later),(tour_type == 'escort') & (start > 21),coef_escort_tour_departure_constants_late +util_escort_tour_arrival_constants_early,Escort Tour Arrival Constants -- Early (up to 6),(tour_type == 'escort') & (end < 7),coef_escort_tour_arrival_constants_early +util_escort_tour_arrival_constants_am_peak,Escort Tour Arrival Constants -- AM peak (7 to 9),(tour_type == 'escort') & (end > 6) & (end < 10),coef_escort_tour_arrival_constants_am_peak +util_escort_tour_arrival_constants_midday_1,Escort Tour Arrival Constants -- Midday 1 (10 to 12),(tour_type == 'escort') & (end > 9) & (end < 13),coef_escort_tour_arrival_constants_midday_1 +util_escort_tour_arrival_constants_midday_2,Escort Tour Arrival Constants -- Midday 2 (13 to 14),(tour_type == 'escort') & (end > 12) & (end < 15),coef_escort_tour_arrival_constants_midday_2 +util_escort_tour_arrival_constants_pm_peak_1,Escort Tour Arrival Constants -- PM peak 1 (15),(tour_type == 'escort') & (end == 15),coef_escort_tour_arrival_constants_pm_peak_1 +util_escort_tour_arrival_constants_pm_peak_2,Escort Tour Arrival Constants -- PM peak 2 (16),(tour_type == 'escort') & (end == 16),coef_escort_tour_arrival_constants_pm_peak_2 +util_escort_tour_arrival_constants_pm_peak_3,Escort Tour Arrival Constants -- PM peak 3 (17),(tour_type == 'escort') & (end == 17),coef_escort_tour_arrival_constants_pm_peak_3 +util_escort_tour_arrival_constants_pm_peak_4,Escort Tour Arrival Constants -- PM peak 4 (18),(tour_type == 'escort') & (end == 18),coef_escort_tour_arrival_constants_pm_peak_4 +util_escort_tour_arrival_constants_evening,Escort Tour Arrival Constants -- Evening (19 to 21),(tour_type == 'escort') & (end > 18) & (end < 22),coef_escort_tour_arrival_constants_evening +util_escort_tour_arrival_constants_late,Escort Tour Arrival Constants -- Late (22 and later),(tour_type == 'escort') & (end > 21),coef_escort_tour_arrival_constants_late +util_escort_tour_duration_constants_0_to_1_hours,Escort Tour Duration Constants -- 0 to 1 hours,(tour_type == 'escort') & (duration < 2),coef_escort_tour_duration_constants_0_to_1_hours +util_escort_tour_duration_constants_2_to_3_hours,Escort Tour Duration Constants -- 2 to 3 hours,(tour_type == 'escort') & (duration > 1) & (duration < 4),coef_escort_tour_duration_constants_2_to_3_hours +util_escort_tour_duration_constants_4_to_5_hours,Escort Tour Duration Constants -- 4 to 5 hours,(tour_type == 'escort') & (duration > 3) & (duration < 6),coef_escort_tour_duration_constants_4_to_5_hours +util_escort_tour_duration_constants_6_to_7_hours,Escort Tour Duration Constants -- 6 to 7 hours,(tour_type == 'escort') & (duration > 5) & (duration < 8),coef_escort_tour_duration_constants_6_to_7_hours +util_escort_tour_duration_constants_8_to_10_hours,Escort Tour Duration Constants -- 8 to 10 hours,(tour_type == 'escort') & (duration > 7) & (duration < 11),coef_escort_tour_duration_constants_8_to_10_hours +util_escort_tour_duration_constants_11_to_13_hours,Escort Tour Duration Constants -- 11 to 13 hours,(tour_type == 'escort') & (duration > 10) & (duration < 14),coef_escort_tour_duration_constants_11_to_13_hours +util_escort_tour_duration_constants_14_to_18_hours,Escort Tour Duration Constants -- 14 to 18 hours,(tour_type == 'escort') & (duration > 13) & (duration < 19),coef_escort_tour_duration_constants_14_to_18_hours +# Including terms for school escorting,,, +util_outbound_school_escort_tour_start,Outbound school escort tours must match the start time of the escort tour,is_outbound_school_escort_tour & (start != school_escort_tour_start),coef_unavailable +util_outbound_school_escort_tour_next_start,Outbound school escort tours must end before next escort tour start,is_outbound_school_escort_tour & (end > school_escort_tour_next_start) & (school_escort_tour_next_start > 0),coef_unavailable +util_inbound_school_escort_tour_end,Inbound school escort tours must match the end time of the escort tour,is_inbound_school_escort_tour & (end != school_escort_tour_end),coef_unavailable \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc_extended/configs/tour_scheduling_nonmandatory_coefficients.csv b/activitysim/examples/prototype_mtc_extended/configs/tour_scheduling_nonmandatory_coefficients.csv new file mode 100644 index 0000000000..bbb01bb05e --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/tour_scheduling_nonmandatory_coefficients.csv @@ -0,0 +1,97 @@ +coefficient_name,value,constrain +coef_dummy,1,T +coef_subsequent_tour_must_start_after_previous_tour_for_this_purpose_ends,-999,T +coef_free_flow_round_trip_auto_time_shift_effects_duration,0.004741,F +coef_shopping_tour_departure_shift_effects,-0.06015,F +coef_shopping_tour_duration_shift_effects,-0.1208,F +coef_maintenance_tour_departure_shift_effects,-0.1489,F +coef_maintenance_tour_duration_shift_effects,-0.08372,F +coef_visit_tour_departure_shift_effects,0.09688,F +coef_visit_tour_duration_shift_effects,0.1638,F +coef_eat_out_tour_departure_shift_effects,0.07549,F +coef_school_child_age_16_plus_departure_shift_effects,0.07266,F +coef_school_child_age_16_plus_duration_shift_effects,0.2095,F +coef_school_child_age_under_16_departure_shift_effects,0.04657,F +coef_school_child_age_under_16_duration_shift_effects,0.3272,F +coef_destination_in_cbd_duration_shift_effects,0.1067,F +coef_number_of_mandatory_tours_departure_shift_effects,0.04673,F +coef_number_of_joint_tours_departure_shift_effects,0.05208,F +coef_number_of_escort_tours_departure_shift_effects,0.02013,F +coef_number_of_individual_non_mandatory_tours_excluding_escort_departure_shift_effects,0.03896,F +coef_first_of_2_plus_tours_for_same_purpose_departure_shift_effect,-0.2364,F +coef_subsequent_of_2_plus_tours_for_same_purpose_duration_shift_effect,-0.1731,F +coef_maintenance_tour_depart_before_7,-0.8826,F +coef_shopping_tour_depart_before_8,-1.037,F +coef_shopping_tour_arrive_after_22,-0.6027,F +coef_school_child_under_16_arrive_after_22,-1.18,F +coef_university_student_arrive_after_22,0.5466,F +coef_shopping_tour_duration_lt_2_hours,0.5168,F +coef_discretionary_tour_duration_lt_2_hours,-0.6974,F +coef_adult_with_children_in_hh_arrive_19_21,0.336,F +#,, +#mode_choice_logsum,, +#,, +coef_some_previously_scheduled_tour_ends_in_this_departure_hour,-0.4562,F +coef_some_previously_scheduled_tour_begins_in_this_arrival_hour,-0.3992,F +coef_adjacent_window_exists_before_this_departure_hour_first_tour_interaction,0.008442,F +coef_adjacent_window_exists_after_this_arrival_hour_first_tour_interaction,-0.0257,F +coef_adjacent_window_exists_before_this_departure_hour_second_plus_tour_interaction,-0.0593,F +coef_adjacent_window_exists_after_this_arrival_hour_second_plus_tour_interaction,-0.02734,F +coef_ratio_of_individual_non_mandatory_tours_to_be_scheduled_to_number_of_unscheduled_hours,-13.63,F +#,,F +coef_departure_constants_early,-1.740135661,F +coef_departure_constants_am_peak_1,-0.654163573,F +coef_departure_constants_am_peak_2,0.554282571,F +coef_departure_constants_am_peak_3,1.050561087,F +coef_departure_constants_am_peak_4,0.971568228,F +coef_departure_constants_midday_1,0.881991986,F +coef_departure_constants_midday_2,0.411103634,F +coef_departure_constants_pm_peak,0,T +coef_departure_constants_evening,-1.856475096,F +coef_departure_constants_late,-8.228880141,F +coef_arrival_constants_early,-0.051990748,F +coef_arrival_constants_am_peak,-1.814822602,F +coef_arrival_constants_midday_1,0.000371501,F +coef_arrival_constants_midday_2,0.532116031,F +coef_arrival_constants_pm_peak_1,0.628481567,F +coef_arrival_constants_pm_peak_2,0.650521416,F +coef_arrival_constants_pm_peak_3,0.402894406,F +coef_arrival_constants_pm_peak_4,0.154213293,F +coef_arrival_constants_evening,0,T +coef_arrival_constants_late,-0.866671315,F +coef_duration_constants_0_to_1_hours,0,T +coef_duration_constants_2_to_3_hours,0.051385565,F +coef_duration_constants_4_to_5_hours,-0.593951321,F +coef_duration_constants_6_to_7_hours,-0.951155328,F +coef_duration_constants_8_to_10_hours,-0.828108399,F +coef_duration_constants_11_to_13_hours,-0.955635554,F +coef_duration_constants_14_to_18_hours,-1.042580879,F +coef_escort_tour_departure_constants_early,-1.740135661,F +coef_escort_tour_departure_constants_am_peak_1,-1.112357753,F +coef_escort_tour_departure_constants_am_peak_2,0.698788185,F +coef_escort_tour_departure_constants_am_peak_3,1.196268813,F +coef_escort_tour_departure_constants_am_peak_4,-0.225258221,F +coef_escort_tour_departure_constants_midday_1,0.028662017,F +coef_escort_tour_departure_constants_midday_2,0,T +coef_escort_tour_departure_constants_pm_peak,-1.180140161,F +coef_escort_tour_departure_constants_evening,-3.948732811,F +coef_escort_tour_departure_constants_late,-8.228880141,F +coef_escort_tour_arrival_constants_early,0,T +coef_escort_tour_arrival_constants_am_peak,0,T +coef_escort_tour_arrival_constants_midday_1,0,T +coef_escort_tour_arrival_constants_midday_2,0,T +coef_escort_tour_arrival_constants_pm_peak_1,0,T +coef_escort_tour_arrival_constants_pm_peak_2,0,T +coef_escort_tour_arrival_constants_pm_peak_3,0,T +coef_escort_tour_arrival_constants_pm_peak_4,0,T +coef_escort_tour_arrival_constants_evening,-0.536918728,F +coef_escort_tour_arrival_constants_late,-1.008290213,F +coef_escort_tour_duration_constants_0_to_1_hours,0,T +coef_escort_tour_duration_constants_2_to_3_hours,-2.042013897,F +coef_escort_tour_duration_constants_4_to_5_hours,-2.880293896,F +coef_escort_tour_duration_constants_6_to_7_hours,-2.973533731,F +coef_escort_tour_duration_constants_8_to_10_hours,-3.020213758,F +coef_escort_tour_duration_constants_11_to_13_hours,-2.974364976,F +coef_escort_tour_duration_constants_14_to_18_hours,-2.507447146,F +# Added for school escorting,, +coef_unavailable,-999,F \ No newline at end of file diff --git a/activitysim/examples/example_mtc_extended/configs/trip_mode_choice.csv b/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice.csv similarity index 99% rename from activitysim/examples/example_mtc_extended/configs/trip_mode_choice.csv rename to activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice.csv index 0253954dbb..e9318c206c 100644 --- a/activitysim/examples/example_mtc_extended/configs/trip_mode_choice.csv +++ b/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice.csv @@ -403,3 +403,6 @@ util_Bike_not_available_for_long_distances,Bike not available for long distances util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt +#, School Escorting eligibility,,,,,,,,,,,,,,,,,,,,,, +util_one_or_more_school_escort,No SOV if on school escort tour,(num_escortees >= 1),-999,-999,,,,,,,,,,,,,,,,,,, +util_two_or_more_school_escort,Can't take HOV2 if taking two children and yourself,(num_escortees >= 2),,,-999,-999,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/activitysim/examples/example_mtc_extended/configs/trip_mode_choice.yaml b/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice.yaml similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/trip_mode_choice.yaml rename to activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice.yaml diff --git a/activitysim/examples/example_mtc_extended/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice_annotate_trips_preprocessor.csv similarity index 97% rename from activitysim/examples/example_mtc_extended/configs/trip_mode_choice_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice_annotate_trips_preprocessor.csv index cc1f223d57..fefe54a13d 100644 --- a/activitysim/examples/example_mtc_extended/configs/trip_mode_choice_annotate_trips_preprocessor.csv +++ b/activitysim/examples/prototype_mtc_extended/configs/trip_mode_choice_annotate_trips_preprocessor.csv @@ -91,3 +91,5 @@ dest terminal time not counted at home,_dest_terminal_time,"np.where(inbound & l #,max_dist_walk,od_skims.max('DISTWALK') #,dist_bike,od_skims['DISTBIKE'] #,dist_only,od_skims['DIST'] +# added for school escorting model,, +Number of school children in vehicle on trip,num_escortees,df.escort_participants.fillna('').apply(lambda x: len(x.split('_'))) \ No newline at end of file diff --git a/activitysim/examples/prototype_mtc_extended/configs/trip_scheduling.yaml b/activitysim/examples/prototype_mtc_extended/configs/trip_scheduling.yaml new file mode 100644 index 0000000000..53b07924c3 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/trip_scheduling.yaml @@ -0,0 +1,11 @@ +PROBS_SPEC: trip_scheduling_probs.csv +COEFFICIENTS: trip_scheduling_coefficients.csv + +# int to add to probs column index to get time period it represents. +# e.g. depart_alt_base = 5 means first column (column 0) represents 5 am +DEPART_ALT_BASE: 5 + +MAX_ITERATIONS: 100 + +# FAILFIX: drop_and_cleanup +FAILFIX: choose_most_initial diff --git a/activitysim/examples/prototype_mtc_extended/configs/trip_scheduling_probs.csv b/activitysim/examples/prototype_mtc_extended/configs/trip_scheduling_probs.csv new file mode 100644 index 0000000000..00beef3816 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/configs/trip_scheduling_probs.csv @@ -0,0 +1,1388 @@ +primary_purpose,outbound,tour_hour,trip_num,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23 +work,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,5,2,0.249730906,0.477180111,0.215788882,0.02257625,0.009653299,0.001272067,0.002559828,0.005345297,0.012868196,0.000858457,0,0.00130551,0,0.000861198,0,0,0,0,0 +work,TRUE,5,3,0.269166724,0.331378773,0.290398422,0.047428828,0.032211326,0.003681738,0,0.00648104,0.007547054,0.006178507,0,0.005527589,0,0,0,0,0,0,0 +work,TRUE,5,4,0.087782501,0.257488508,0.384088251,0.077346978,0.060562922,0,0,0.049138541,0,0.014538525,0,0,0,0.041701151,0.018235082,0,0.009117541,0,0 +work,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,6,2,0,0.218769369,0.568056029,0.16549898,0.028654735,0.007305391,0.002067083,0.003148838,0.000503641,0.003688829,0.002307106,0,0,0,0,0,0,0,0 +work,TRUE,6,3,0,0.130626273,0.577093506,0.214895882,0.051730954,0.003240613,0,0.004631429,0.00858571,0.005631893,0.001259632,0,0.002304109,0,0,0,0,0,0 +work,TRUE,6,4,0,0.003746877,0.546827469,0.29119719,0.043440135,0.021108582,0,0.041279538,0.022438337,0.019313618,0.003776433,0.006871821,0,0,0,0,0,0,0 +work,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,7,2,0,0,0.265300367,0.613559084,0.096014364,0.014396896,0.003048705,0.004403151,0,0.001139887,0.001411868,0.000725679,0,0,0,0,0,0,0 +work,TRUE,7,3,0,0,0.166352156,0.62367014,0.155705334,0.026659137,0.007295847,0.013673999,0.003582828,0.001111918,0.000525728,0.001422911,0,0,0,0,0,0,0 +work,TRUE,7,4,0,0,0.105022925,0.545651324,0.19699608,0.086647479,0.013272884,0.007863943,0.037841595,0.002284229,0.001876743,0,0.002542798,0,0,0,0,0,0 +work,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,8,2,0,0,0,0.456491659,0.443858962,0.071483886,0.007227768,0.011205848,0.004971546,0.003779089,0,0.000629094,0.000352148,0,0,0,0,0,0 +work,TRUE,8,3,0,0,0,0.297357445,0.518087382,0.132861058,0.006370619,0.007614307,0.009010749,0.012385163,0.002114995,0.01254835,0.001649933,0,0,0,0,0,0 +work,TRUE,8,4,0,0,0,0.219050051,0.313898882,0.316701629,0.097894922,0.024670968,0.007826425,0.014063117,0,0,0.001659846,0,0,0,0.00423416,0,0 +work,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,9,2,0,0,0,0,0.381802065,0.463610086,0.07833074,0.053350819,0.012379425,0.006984996,0.002188786,0.001353083,0,0,0,0,0,0,0 +work,TRUE,9,3,0,0,0,0,0.244359192,0.505051786,0.124730319,0.070740285,0.04380103,0.00393502,0.002381853,0,0.005000514,0,0,0,0,0,0 +work,TRUE,9,4,0,0,0,0,0.048177162,0.281924251,0.128648284,0.140849287,0.097452942,0.149279798,0.129250851,0.024417425,0,0,0,0,0,0,0 +work,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,10,2,0,0,0,0,0,0.287462748,0.478190637,0.154315841,0.0141405,0.047319629,0,0.005707897,0,0.004618797,0.008243951,0,0,0,0 +work,TRUE,10,3,0,0,0,0,0,0.224513864,0.313870996,0.279113796,0.089398426,0.044754472,0.034345645,0.014002803,0,0,0,0,0,0,0 +work,TRUE,10,4,0,0,0,0,0,0,0.181896949,0.267783358,0.317739276,0.088027455,0.086885637,0,0,0,0.057667324,0,0,0,0 +work,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,11,2,0,0,0,0,0,0,0.349521518,0.402347786,0.191514732,0.044397707,0.009105065,0,0.003113192,0,0,0,0,0,0 +work,TRUE,11,3,0,0,0,0,0,0,0.207587883,0.30769214,0.335712206,0.084378351,0.047431249,0.017198171,0,0,0,0,0,0,0 +work,TRUE,11,4,0,0,0,0,0,0,0,0.482525146,0.331491287,0.154741395,0,0,0.031242172,0,0,0,0,0,0 +work,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +work,TRUE,12,2,0,0,0,0,0,0,0,0.228781907,0.52986365,0.185949096,0.016952622,0.0225574,0,0.015895326,0,0,0,0,0 +work,TRUE,12,3,0,0,0,0,0,0,0,0.048290452,0.527617032,0.260449945,0.038087283,0.125555288,0,0,0,0,0,0,0 +work,TRUE,12,4,0,0,0,0,0,0,0,0.055268088,0.55183696,0.308090511,0.022112333,0.026969361,0.035722748,0,0,0,0,0,0 +work,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +work,TRUE,13,2,0,0,0,0,0,0,0,0,0.618115652,0.284403475,0.097480873,0,0,0,0,0,0,0,0 +work,TRUE,13,3,0,0,0,0,0,0,0,0,0.496549493,0.232797723,0.159946019,0,0.015308798,0.038007565,0.057390402,0,0,0,0 +work,TRUE,13,4,0,0,0,0,0,0,0,0,0.176762619,0,0,0,0.823237381,0,0,0,0,0,0 +work,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +work,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.574348416,0.354554927,0.071096656,0,0,0,0,0,0,0 +work,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.502109794,0.21816867,0.279721536,0,0,0,0,0,0,0 +work,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.133121347,0.633379229,0.134648916,0.049425254,0.049425254,0,0,0,0,0 +work,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +work,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.552840921,0.403380234,0.043778845,0,0,0,0,0,0 +work,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.134176676,0.725445222,0.140378102,0,0,0,0,0,0 +work,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +work,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +work,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.470117389,0.401307167,0.110787768,0.017787675,0,0,0,0 +work,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.648121232,0.228392401,0.123486367,0,0,0,0,0 +work,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +work,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.406105035,0.414979307,0.178915658,0,0,0,0 +work,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.212373176,0.787626824,0,0,0,0,0 +work,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.5,0,0,0 +work,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21625036,0.437860534,0.113269906,0.232619199,0,0 +work,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +work,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +work,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81925165,0.07204277,0,0.10870558,0 +work,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492020395,0.507979605,0,0,0 +work,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +work,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +work,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.388129509,0.611870491,0,0 +work,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +work,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +work,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171581948,0.828418052,0 +work,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258374236,0.741625764,0 +work,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +work,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +work,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,1,0,0.220793114,0.779206886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,2,0,0.425176732,0.574823268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,1,0,0,0.107759005,0.892240995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,2,0,0,0.690008913,0.309991087,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,3,0,0.337495318,0.662504682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,8,4,0,0,0.569894206,0.430105794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,1,0,0,0,0.314951457,0.685048543,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,2,0,0,0,0.079070075,0.920929925,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,3,0,0,0,0.226319471,0.773680529,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,1,0,0.046066203,0.007425743,0.028045042,0.233624929,0.684838083,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,2,0,0.126398434,0,0.0549729,0.096449389,0.722179277,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,3,0,0,0,0,0.36604282,0.63395718,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,1,0,0,0.017580881,0.034113366,0.04162677,0.286326641,0.620352342,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,2,0,0,0.02642438,0,0.033819936,0.199217971,0.740537713,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,3,0,0,0,0,0.005130668,0.277227788,0.717641544,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,11,4,0,0,0,0,0,0.036304716,0.963695284,0,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,1,0,0.002492115,0.001670698,0.012159512,0.014698251,0.029407418,0.152563565,0.787008442,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,2,0,0,0.006100837,0.011620455,0.013952709,0.036974376,0.310894404,0.620457219,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,3,0,0,0,0.009383356,0.042387756,0.006845546,0.29720543,0.644177912,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,12,4,0,0,0,0.008143494,0,0.049968848,0.124165248,0.81772241,0,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,1,0,0,0.004406789,0.016516638,0.008423145,0.030672879,0.043679722,0.31728407,0.579016757,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,2,0,0,0.003526988,0.003893522,0.007279925,0.014935643,0.080084093,0.245195123,0.645084705,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,3,0,0,0,0,0.01495651,0,0.040446175,0.214618414,0.729978901,0,0,0,0,0,0,0,0,0,0 +work,FALSE,13,4,0,0,0,0,0.01397645,0.006836511,0.025113874,0.15362871,0.800444454,0,0,0,0,0,0,0,0,0,0 +work,FALSE,14,1,0.002365799,0,0.003370061,0,0.004899447,0.008850097,0.035188808,0.07267661,0.207306035,0.665343143,0,0,0,0,0,0,0,0,0 +work,FALSE,14,2,0.007728364,0.003287077,0,0.006520962,0,0.032254466,0.052851387,0.133223369,0.229023292,0.535111082,0,0,0,0,0,0,0,0,0 +work,FALSE,14,3,0,0,0,0.003971419,0,0,0.008873008,0.119445331,0.269752545,0.597957698,0,0,0,0,0,0,0,0,0 +work,FALSE,14,4,0,0,0,0,0.056793918,0,0.011546821,0.042023265,0.23002226,0.659613737,0,0,0,0,0,0,0,0,0 +work,FALSE,15,1,0,0.005222802,0.000561863,0.003055031,0.006434507,0.007479814,0.009995919,0.013087333,0.058426024,0.310076404,0.585660301,0,0,0,0,0,0,0,0 +work,FALSE,15,2,0,0,0,0.001993619,0.008787212,0.008189747,0.015159942,0.009310176,0.054885948,0.253934613,0.647738743,0,0,0,0,0,0,0,0 +work,FALSE,15,3,0,0,0,0.001732532,0,0.00508097,0.029352724,0.030967014,0.039664292,0.202228781,0.690973688,0,0,0,0,0,0,0,0 +work,FALSE,15,4,0,0,0,0,0,0.004125776,0.011923745,0.030960101,0.061425266,0.239676364,0.651888748,0,0,0,0,0,0,0,0 +work,FALSE,16,1,0,0,0.001326173,0.005965432,0.005180374,0.004138931,0.011262579,0.01661091,0.012073334,0.03679347,0.347396478,0.559252319,0,0,0,0,0,0,0 +work,FALSE,16,2,0,0,0.001822625,0.003909533,0.002974064,0.004461131,0.032696294,0.017905122,0.043805267,0.040055335,0.31441461,0.537956019,0,0,0,0,0,0,0 +work,FALSE,16,3,0,0,0,0,0.006964674,0,0.007663971,0.011249685,0.051874804,0.083383231,0.266186632,0.572677003,0,0,0,0,0,0,0 +work,FALSE,16,4,0.002037834,0,0,0,0,0.005964919,0.002996052,0.010623137,0.018245507,0.068094063,0.195919724,0.696118764,0,0,0,0,0,0,0 +work,FALSE,17,1,0,0,0.001405366,0.004415995,0.00337412,0.003812259,0.014084324,0.008465853,0.012498337,0.015584379,0.06625893,0.34857546,0.521524978,0,0,0,0,0,0 +work,FALSE,17,2,0,0.000261415,0.003193506,0.003224601,0.01031862,0.003695936,0.005727058,0.024107723,0.01290257,0.024008033,0.090851226,0.28964028,0.532069032,0,0,0,0,0,0 +work,FALSE,17,3,0,0,0.000765903,0.001471397,0.008789257,0.002465017,0.005279632,0.009138832,0.01433563,0.026053515,0.045996258,0.222930968,0.662773591,0,0,0,0,0,0 +work,FALSE,17,4,0,0,0,0.000418211,0.002396043,0.007974979,0.014040235,0.00763931,0.007998749,0.020421036,0.047793315,0.160067858,0.731250266,0,0,0,0,0,0 +work,FALSE,18,1,0,0.001141884,0.000347251,0.005493278,0.0034212,0.004108535,0.018739263,0.013709509,0.003846669,0.010612585,0.030088047,0.076311695,0.459430143,0.372749941,0,0,0,0,0 +work,FALSE,18,2,0,0.000397247,0.000707705,0.005535515,0.005281963,0.006814578,0.015049985,0.03759067,0.008201571,0.014941596,0.020264402,0.096049656,0.37187676,0.417288351,0,0,0,0,0 +work,FALSE,18,3,0,0,0.000752403,0.001471647,0,0.003652225,0.011264642,0.015334427,0.024656138,0.012088375,0.011628494,0.081091511,0.38372424,0.454335898,0,0,0,0,0 +work,FALSE,18,4,0,0,0.00040169,0.000306609,0.0002567,0.000726244,0.002720367,0.010037344,0.005670103,0.015810978,0.039979813,0.053350178,0.223343181,0.647396793,0,0,0,0,0 +work,FALSE,19,1,0,0.001186239,0,0.002728595,0.007883348,0.008718809,0.009638123,0.011693247,0.012706395,0.005992436,0.024678769,0.039878395,0.101249301,0.453611585,0.320034756,0,0,0,0 +work,FALSE,19,2,0,0,0,0.004170607,0.002769083,0.008212126,0.01044298,0.034645644,0.024223099,0.015502992,0.044371325,0.03839639,0.101706769,0.292181702,0.423377281,0,0,0,0 +work,FALSE,19,3,0,0,0,0.003546437,0.001427168,0.004005704,0.004647363,0.014456394,0.026101366,0.008168106,0.016583656,0.063080785,0.175251264,0.316168107,0.366563651,0,0,0,0 +work,FALSE,19,4,0,0,0,0,0.002545816,0.001448115,0.001519341,0.006183074,0.015479082,0.010887569,0.013355331,0.023014309,0.098855008,0.198551692,0.628160662,0,0,0,0 +work,FALSE,20,1,0,0,0.002357347,0.003515438,0.003650989,0.004956981,0.005821696,0.03028673,0.010683018,0.006121216,0.039610208,0.067356772,0.074052002,0.107849619,0.362764994,0.280972989,0,0,0 +work,FALSE,20,2,0,0,0,0.003020632,0.000872671,0.009819915,0.004032092,0.033547265,0.012437164,0.023084614,0.029601855,0.030696598,0.08880218,0.150240348,0.244376765,0.3694679,0,0,0 +work,FALSE,20,3,0,0,0,0,0.004490786,0.000948296,0.00496082,0.008797541,0.038290701,0.03100745,0.01309721,0.070674268,0.104392115,0.094315975,0.284308763,0.344716076,0,0,0 +work,FALSE,20,4,0,0,0,0,0,0,0.003217512,0.008519707,0.01832166,0.021264988,0.034310024,0.032173455,0.100093463,0.115029817,0.197663659,0.469405714,0,0,0 +work,FALSE,21,1,0,0,0.00486935,0.004088274,0.009577732,0.013580516,0.019408543,0.027638575,0.028964986,0.013373832,0.01367219,0.088681299,0.105198543,0.066199405,0.05396423,0.186005224,0.3647773,0,0 +work,FALSE,21,2,0,0,0.005064281,0,0.005604807,0.001600494,0.02231608,0.036560998,0.023155074,0.011113847,0.021297782,0.024032721,0.15164875,0.095555611,0.130774865,0.152199827,0.319074864,0,0 +work,FALSE,21,3,0,0,0,0,0,0,0.008088371,0.016902755,0.023330301,0.010037114,0.04837863,0.047736466,0.100832492,0.115955331,0.150651228,0.252610972,0.225476339,0,0 +work,FALSE,21,4,0,0,0,0,0,0,0,0.009975719,0.00458937,0.004215296,0.014833666,0.013407482,0.096553857,0.131723579,0.099990132,0.155500861,0.469210038,0,0 +work,FALSE,22,1,0,0,0,0,0.002354463,0.001321627,0.001526638,0.003547564,0.007889584,0.00247877,0.061446315,0.077612309,0.104848995,0.087316793,0.063921354,0.040342969,0.155380603,0.390012018,0 +work,FALSE,22,2,0,0,0,0.001982423,0,0.007743127,0.011968403,0.008685093,0.003973347,0.012345869,0.016587124,0.040020235,0.072010749,0.098243002,0.073472113,0.096470733,0.242366696,0.314131085,0 +work,FALSE,22,3,0,0,0,0,0,0.00900164,0.001675422,0.021019519,0.008241362,0.012933333,0.01478469,0.047949921,0.119423115,0.119522763,0.080598154,0.04905538,0.20209014,0.313704562,0 +work,FALSE,22,4,0,0,0,0,0,0.00241091,0.006967046,0.024621244,0.004358134,0.006887033,0.008276343,0.047494465,0.086031065,0.153176335,0.061142075,0.031195643,0.205080104,0.362359603,0 +work,FALSE,23,1,0,0.001238847,0,0.002154573,0.003964601,0.001493218,0.012410725,0.019401965,0.016898905,0.02730294,0.011556986,0.034875148,0.041105748,0.083174793,0.018419684,0.005370325,0.063729247,0.109449086,0.54745321 +work,FALSE,23,2,0,0,0.001396549,0,0.003319033,0.005204887,0.025094008,0.033735384,0.008488109,0.01528189,0.022728985,0.031350219,0.058537975,0.074214158,0.022929206,0.042918793,0.007770177,0.170962188,0.476068439 +work,FALSE,23,3,0,0,0.001748893,0.001566752,0,0.007196939,0.011228416,0.021359669,0.028165721,0.008967715,0.028693265,0.056683172,0.078656022,0.063158735,0.099308392,0.039560138,0.024986978,0.098009336,0.43070986 +work,FALSE,23,4,0,0,0.000766782,0.004388369,0.002881109,0.004980974,0.024053963,0.026342685,0.029143148,0.024074445,0.020534932,0.036286202,0.115377511,0.062463348,0.051866458,0.057077696,0.052763369,0.108781076,0.378217933 +univ,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,5,2,0,0.141462921,0.39086301,0,0.071786124,0.025897511,0,0,0,0.097305573,0,0.030851335,0.102890339,0.138943185,0,0,0,0,0 +univ,TRUE,5,3,0,0,0.873218626,0,0,0.057857072,0,0,0,0,0,0,0,0.068924303,0,0,0,0,0 +univ,TRUE,5,4,0,0,0,0,0,0,0.32303468,0,0.32303468,0.16151734,0,0,0,0.192413299,0,0,0,0,0 +univ,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,6,2,0,0.134677838,0.456787632,0.153282563,0.059662856,0.118242123,0.03689652,0.007431799,0.019186549,0,0,0.01383212,0,0,0,0,0,0,0 +univ,TRUE,6,3,0,0.09504007,0.597276077,0.241947175,0,0,0,0.065736678,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,6,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,7,2,0,0,0.16008737,0.671458416,0.049774779,0.017812393,0.020633361,0.033501607,0,0.039093289,0.007638784,0,0,0,0,0,0,0,0 +univ,TRUE,7,3,0,0,0.052281409,0.806320518,0.030314369,0,0,0.012683969,0,0.051228214,0,0.047171521,0,0,0,0,0,0,0 +univ,TRUE,7,4,0,0,0,0.384291795,0.37997151,0.017486076,0.017486076,0,0.052458229,0.020717499,0.020717499,0.106871315,0,0,0,0,0,0,0 +univ,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,2,0,0,0,0.508028202,0.405046381,0.075475558,0.005588065,0,0.005861793,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,3,0,0,0,0.353221848,0.426314578,0.180255321,0.025900769,0.014307484,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,8,4,0,0,0,0.244322976,0.391323801,0.023592159,0.14547362,0.023592159,0,0.117960797,0,0.026867244,0.026867244,0,0,0,0,0,0 +univ,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,9,2,0,0,0,0,0.363140456,0.541860336,0.068377772,0.008522123,0,0,0.018099314,0,0,0,0,0,0,0,0 +univ,TRUE,9,3,0,0,0,0,0.088505041,0.64872571,0.084998604,0.177770645,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,9,4,0,0,0,0,0.139725614,0.449854868,0.134189894,0,0.276229624,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,2,0,0,0,0,0,0.346861762,0.509611346,0.026290472,0.013109947,0.104126473,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,3,0,0,0,0,0,0.302069617,0.428966039,0.192628694,0,0.07633565,0,0,0,0,0,0,0,0,0 +univ,TRUE,10,4,0,0,0,0,0,0,0.414612817,0,0.115720886,0.347162659,0.122503637,0,0,0,0,0,0,0,0 +univ,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,11,2,0,0,0,0,0,0,0.237240285,0.707936221,0.02446143,0.00979796,0.020564104,0,0,0,0,0,0,0,0 +univ,TRUE,11,3,0,0,0,0,0,0,0.042322313,0.335051522,0.231238246,0.268514141,0.122873778,0,0,0,0,0,0,0,0 +univ,TRUE,11,4,0,0,0,0,0,0,0,0.563593836,0.248920946,0,0.058524887,0.128960331,0,0,0,0,0,0,0 +univ,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,12,2,0,0,0,0,0,0,0,0,0.437771877,0.210261779,0,0,0.297139297,0.054827047,0,0,0,0,0 +univ,TRUE,12,3,0,0,0,0,0,0,0,0,0.43873352,0.141096056,0.130019758,0,0.219455556,0.070695109,0,0,0,0,0 +univ,TRUE,12,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +univ,TRUE,13,2,0,0,0,0,0,0,0,0,0.134867601,0.583447862,0.08911022,0.053636459,0.138937858,0,0,0,0,0,0 +univ,TRUE,13,3,0,0,0,0,0,0,0,0,0.150944969,0.333823157,0.107766156,0.168152845,0,0.239312872,0,0,0,0,0 +univ,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.090285103,0.404418717,0.50529618,0,0,0,0,0,0,0 +univ,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.309699276,0.690300724,0,0,0,0,0,0,0 +univ,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +univ,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +univ,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.357567593,0.542130931,0.100301476,0,0,0,0,0,0 +univ,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.628916949,0.371083051,0,0,0,0,0,0 +univ,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +univ,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +univ,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.300048836,0.63299685,0.066954314,0,0,0,0,0 +univ,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +univ,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +univ,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.14414362,0.85585638,0,0,0,0,0 +univ,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.696191337,0.303808663,0,0,0,0 +univ,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +univ,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403432532,0.596567468,0,0,0,0 +univ,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.450038651,0.549961349,0,0,0,0 +univ,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +univ,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +univ,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +univ,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +univ,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +univ,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,1,0,0,0.016025515,0.983974485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,2,0,0,0.262404641,0.737595359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,1,0,0,0,0.163327352,0.836672648,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,1,0,0,0,0.226661626,0.168940428,0.604397946,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,2,0,0,0,0,0.222726098,0.777273902,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,3,0,0,0,0,0.611879485,0.388120515,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,10,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,1,0,0,0,0.015316515,0.046862442,0.097177177,0.840643866,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,2,0,0,0,0.070258469,0,0.268634856,0.661106675,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,3,0,0,0,0.037689621,0,0.130353154,0.831957225,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,11,4,0,0,0,0,0,0.077208841,0.922791159,0,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,1,0,0,0.014945608,0,0.028129025,0.020638305,0.519341237,0.416945825,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,2,0,0,0.031201085,0.03237983,0.013231327,0.110325379,0.181858105,0.631004274,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,3,0,0,0,0.03549716,0.015053148,0,0.290392671,0.65905702,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,12,4,0,0,0,0,0.099318641,0.052098847,0.151713122,0.69686939,0,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,1,0,0,0,0,0,0,0.181017187,0.292661018,0.526321795,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,2,0,0,0,0,0,0,0.048301785,0.296950961,0.654747254,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,3,0,0,0,0,0,0,0,0.056113137,0.943886863,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,13,4,0,0,0,0,0,0.024635167,0,0,0.975364833,0,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,1,0,0,0,0.022000764,0.008154518,0.013638554,0.034791419,0.065882427,0.246258385,0.609273932,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,2,0,0,0,0,0,0,0.016168393,0.097081997,0.229754942,0.656994667,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,3,0,0,0,0,0,0,0.043234918,0.20601367,0.431619379,0.319132034,0,0,0,0,0,0,0,0,0 +univ,FALSE,14,4,0,0,0,0,0,0,0.024961198,0.010062765,0.104416222,0.860559815,0,0,0,0,0,0,0,0,0 +univ,FALSE,15,1,0,0,0,0.016983489,0,0.013422718,0.023570396,0.004582712,0.053800861,0.202721356,0.684918469,0,0,0,0,0,0,0,0 +univ,FALSE,15,2,0,0,0,0,0.045151752,0,0.099380208,0.018712363,0.046279979,0.313502235,0.476973464,0,0,0,0,0,0,0,0 +univ,FALSE,15,3,0,0,0,0,0,0,0.025154904,0.093517604,0.102200685,0.131224361,0.647902447,0,0,0,0,0,0,0,0 +univ,FALSE,15,4,0,0,0,0,0,0,0.04795036,0.04795036,0.065158411,0.21500352,0.623937348,0,0,0,0,0,0,0,0 +univ,FALSE,16,1,0,0,0,0,0,0.003411195,0,0.013129003,0,0.154717961,0.529208805,0.299533037,0,0,0,0,0,0,0 +univ,FALSE,16,2,0,0,0,0.015451903,0.014978609,0,0.006115529,0.008472156,0,0.091244276,0.417492241,0.446245285,0,0,0,0,0,0,0 +univ,FALSE,16,3,0,0,0,0,0,0.016342188,0.018885054,0,0.036490672,0.062457119,0.082466854,0.783358113,0,0,0,0,0,0,0 +univ,FALSE,16,4,0,0,0,0,0,0,0,0.102624898,0.020338459,0.028320918,0.182111674,0.666604051,0,0,0,0,0,0,0 +univ,FALSE,17,1,0,0,0,0,0,0,0,0.060607217,0.015960535,0.027738146,0.138834813,0.177730039,0.579129249,0,0,0,0,0,0 +univ,FALSE,17,2,0,0,0,0,0,0,0.026878378,0,0.045587412,0.056703613,0.067767612,0.211772198,0.591290787,0,0,0,0,0,0 +univ,FALSE,17,3,0,0,0,0,0,0,0.035711491,0,0,0.030318877,0.065253534,0.105686003,0.763030094,0,0,0,0,0,0 +univ,FALSE,17,4,0,0,0,0,0,0,0.010287884,0.023408308,0.036977492,0.010287884,0.081294488,0.144862027,0.692881918,0,0,0,0,0,0 +univ,FALSE,18,1,0,0,0,0.003945375,0,0,0,0.017778798,0,0.094239059,0.126537664,0.04524658,0.521630843,0.190621681,0,0,0,0,0 +univ,FALSE,18,2,0,0,0,0.00721016,0,0,0.021117111,0.009952491,0.040163794,0.181306282,0.011084411,0,0.37585875,0.353307001,0,0,0,0,0 +univ,FALSE,18,3,0,0,0,0.006589215,0,0,0,0.019298488,0,0.057611182,0.140317157,0.028818423,0.227948944,0.51941659,0,0,0,0,0 +univ,FALSE,18,4,0,0,0,0,0,0,0.008076984,0,0.019904917,0.065674412,0.055168626,0.094050391,0.164547688,0.592576982,0,0,0,0,0 +univ,FALSE,19,1,0,0,0,0,0.009454567,0,0,0,0.04102499,0,0.023746099,0,0.135591003,0.220827281,0.56935606,0,0,0,0 +univ,FALSE,19,2,0,0,0,0,0,0,0,0,0,0.078006772,0,0.060317466,0.259929547,0.359118303,0.242627912,0,0,0,0 +univ,FALSE,19,3,0,0,0,0,0,0,0,0,0,0.021382414,0,0.021188936,0.081686174,0.348421579,0.527320897,0,0,0,0 +univ,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189756837,0.810243163,0,0,0,0 +univ,FALSE,20,1,0,0,0,0,0,0,0,0.010016964,0,0,0,0.004718289,0.003266795,0,0.085231627,0.896766325,0,0,0 +univ,FALSE,20,2,0,0,0,0,0,0,0.11773307,0.039948419,0,0.039518498,0.05632597,0,0.267130581,0.046726624,0.026652785,0.405964054,0,0,0 +univ,FALSE,20,3,0,0,0,0,0,0,0,0.120183428,0,0.019425265,0,0.12981914,0.113130998,0,0.023452919,0.59398825,0,0,0 +univ,FALSE,20,4,0,0,0,0,0,0,0,0.120271055,0,0.038712543,0.069855242,0.27999729,0.089459377,0.067799861,0.14272972,0.191174912,0,0,0 +univ,FALSE,21,1,0,0,0,0,0,0,0,0,0.007338913,0.023203309,0.007350649,0.00472513,0.002978934,0,0.033142982,0.176639731,0.744620353,0,0 +univ,FALSE,21,2,0,0,0,0,0,0,0,0,0,0.057152164,0.184622922,0.047820405,0.014739649,0.00986257,0.02270102,0.078261413,0.584839857,0,0 +univ,FALSE,21,3,0,0,0,0,0,0,0,0.023488975,0,0.025096056,0,0,0.038339259,0,0.022191995,0.28095544,0.609928273,0,0 +univ,FALSE,21,4,0,0,0,0,0,0,0,0,0.029235831,0,0.09370831,0.034296673,0,0,0,0.045049879,0.797709307,0,0 +univ,FALSE,22,1,0,0,0,0,0,0,0,0,0,0.026178201,0.014643033,0,0.007467541,0,0.019259981,0,0.427134845,0.5053164,0 +univ,FALSE,22,2,0,0,0,0,0,0,0.034835821,0,0,0,0.140548783,0,0,0,0,0,0.1300249,0.694590496,0 +univ,FALSE,22,3,0,0,0,0,0,0,0,0.046323184,0,0,0,0.186895757,0,0,0,0,0.329771262,0.437009796,0 +univ,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0.156732984,0.024747713,0.166206674,0.137729625,0.24721205,0.267370954,0 +univ,FALSE,23,1,0,0,0,0,0,0,0,0,0,0.035836574,0,0.042066438,0.075012425,0.063439215,0,0,0.301680107,0.16901224,0.312953001 +univ,FALSE,23,2,0,0,0,0,0,0,0,0.022191189,0.04703489,0.224157456,0.038381448,0.045053715,0,0.164838447,0,0,0.125234584,0.144560801,0.188547469 +univ,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0.050535751,0,0.237653614,0.043051618,0,0.251962365,0.07621155,0.340585102 +univ,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.012541125,0,0.020367286,0.065349217,0.103326665,0.070453894,0.108396964,0.135051697,0.484513153 +school,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,2,0,0.040189605,0.959810395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,3,0,0.14676025,0.559777558,0.293462192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,5,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,2,0,0.090715709,0.600480587,0.301778371,0,0,0,0,0.007025333,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,3,0,0.189913473,0.435678549,0.345471524,0.028936455,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,6,4,0,0.276044088,0.461879351,0.26207656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,7,2,0,0,0.358595289,0.543340426,0.080407454,0.00494145,0,0.003218472,0.001252217,0.00163666,0.005875668,0,0.000732365,0,0,0,0,0,0 +school,TRUE,7,3,0,0,0.305390104,0.552122437,0.119495284,0,0.012287658,0,0,0,0.010704517,0,0,0,0,0,0,0,0 +school,TRUE,7,4,0,0,0.244790257,0.688367336,0,0.043560183,0,0.023282223,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,8,2,0,0,0,0.750052982,0.197397697,0.003009328,0.015758235,0.00583123,0,0.002418098,0.003851683,0.011638797,0.01004195,0,0,0,0,0,0 +school,TRUE,8,3,0,0,0,0.372624607,0.42987891,0.03924466,0,0.102467106,0,0,0.055784717,0,0,0,0,0,0,0,0 +school,TRUE,8,4,0,0,0,0,0.141654355,0.129241521,0.273939898,0,0,0,0,0.31350987,0.141654355,0,0,0,0,0,0 +school,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,2,0,0,0,0,0.090691548,0.482888016,0.426420437,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,3,0,0,0,0,0.091229458,0.353634961,0.555135582,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,9,4,0,0,0,0,0,0.30179716,0.69820284,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,2,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,3,0,0,0,0,0,0,0.489554594,0.510445406,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,11,2,0,0,0,0,0,0,0.02770017,0.902627425,0.038595346,0.031077059,0,0,0,0,0,0,0,0,0 +school,TRUE,11,3,0,0,0,0,0,0,0,0.797232896,0.076506636,0,0.126260468,0,0,0,0,0,0,0,0 +school,TRUE,11,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,2,0,0,0,0,0,0,0,0,0.899748743,0,0,0.100251257,0,0,0,0,0,0,0 +school,TRUE,12,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +school,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +school,TRUE,13,2,0,0,0,0,0,0,0,0,0,0.451262789,0.191174572,0.357562639,0,0,0,0,0,0,0 +school,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.068700765,0.443666092,0.487633143,0,0,0,0,0,0,0 +school,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.11838799,0.88161201,0,0,0,0,0,0,0 +school,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.534557731,0.079614802,0,0,0.385827467,0,0,0,0,0 +school,TRUE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +school,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0,0.868324906,0,0.131675094,0,0,0,0,0 +school,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0,0.900878137,0.099121863,0,0,0,0,0,0 +school,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +school,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +school,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.173995865,0.826004135,0,0,0,0,0,0 +school,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0.637190616,0.362809384,0,0,0,0,0 +school,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.74484742,0.25515258,0,0,0,0,0 +school,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +school,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +school,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173208977,0.826791023,0,0,0,0 +school,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +school,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +school,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +school,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +school,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +school,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +school,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,1,0,0,0,0.09946831,0.90053169,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,1,0,0,0,0,0.051889499,0.948110501,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,1,0,0,0,0,0.00854797,0.143038003,0.848414027,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,2,0,0,0,0,0,0.07758327,0.92241673,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,3,0,0,0,0,0,0.05138849,0.94861151,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,1,0,0,0,0,0.019446017,0.011496295,0.285657861,0.683399827,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,2,0,0,0,0,0.019954492,0,0.331728142,0.648317366,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,3,0,0,0,0,0.033967027,0,0.201586112,0.764446861,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,12,4,0,0,0,0,0.113939675,0,0.018400111,0.867660214,0,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,1,0,0,0,0.019248269,0,0.002680163,0.030761477,0.259256669,0.688053423,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,2,0,0,0,0,0,0,0,0.189323178,0.810676822,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,3,0,0,0,0,0,0,0,0.258031986,0.741968014,0,0,0,0,0,0,0,0,0,0 +school,FALSE,13,4,0,0,0,0,0,0,0,0.279494058,0.720505942,0,0,0,0,0,0,0,0,0,0 +school,FALSE,14,1,0,0.000831908,0.000979746,0,0.001601486,0.002226531,0.002192251,0.02470079,0.091632585,0.875834703,0,0,0,0,0,0,0,0,0 +school,FALSE,14,2,0,0,0,0,0,0,0.041609561,0.016064041,0.222703138,0.71962326,0,0,0,0,0,0,0,0,0 +school,FALSE,14,3,0,0,0,0,0,0,0,0.023937672,0.13413328,0.841929047,0,0,0,0,0,0,0,0,0 +school,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +school,FALSE,15,1,0,0,0.006672723,0.001920517,0.000881135,0.000470656,0.007178881,0.003373865,0.007046025,0.435289669,0.537166529,0,0,0,0,0,0,0,0 +school,FALSE,15,2,0,0,0,0.003559393,0.005420446,0,0.01895427,0.006031842,0.009564559,0.299701581,0.656767909,0,0,0,0,0,0,0,0 +school,FALSE,15,3,0,0,0,0,0.014210731,0,0,0.009915361,0.013300231,0.238413075,0.724160602,0,0,0,0,0,0,0,0 +school,FALSE,15,4,0,0,0,0,0.013547957,0,0,0.003834839,0,0.141585883,0.841031322,0,0,0,0,0,0,0,0 +school,FALSE,16,1,0,0,0.003957494,0.007442128,0.002894311,0,0.018097734,0.013714786,0.017413316,0.113052385,0.49048648,0.332941366,0,0,0,0,0,0,0 +school,FALSE,16,2,0,0,0,0.001567759,0.006348016,0.004559163,0.009399428,0.015889281,0.021832495,0.089535591,0.363878359,0.486989907,0,0,0,0,0,0,0 +school,FALSE,16,3,0,0,0,0,0,0.008315162,0.022193918,0.007486006,0.004771945,0.02862127,0.176424988,0.75218671,0,0,0,0,0,0,0 +school,FALSE,16,4,0,0,0,0,0,0,0,0.028022669,0.01919336,0.027628588,0.156778381,0.768377001,0,0,0,0,0,0,0 +school,FALSE,17,1,0,0,0,0.00408238,0.006057147,0.001368873,0.003781947,0.013443846,0.020930042,0.105685888,0.191206812,0.133610245,0.51983282,0,0,0,0,0,0 +school,FALSE,17,2,0,0,0,0.004151198,0,0.00388225,0.00967742,0.013025325,0.027213825,0.07090836,0.082650841,0.202645832,0.585844949,0,0,0,0,0,0 +school,FALSE,17,3,0,0,0,0,0,0.003335544,0,0.003254012,0,0.075557182,0.182853928,0.23363666,0.501362673,0,0,0,0,0,0 +school,FALSE,17,4,0,0,0,0,0,0.006781644,0.00413291,0,0,0.007828685,0.092863122,0.424308729,0.46408491,0,0,0,0,0,0 +school,FALSE,18,1,0,0,0,0.004555021,0,0,0.006805278,0.040238758,0.025752449,0.139579581,0.145174267,0.082159935,0.330134952,0.225599759,0,0,0,0,0 +school,FALSE,18,2,0,0,0,0,0,0,0.002018633,0.017639777,0.011559497,0.035110168,0.084872767,0.077914013,0.273264514,0.497620631,0,0,0,0,0 +school,FALSE,18,3,0,0,0,0,0,0,0.002017331,0.006931595,0.009423374,0.041198595,0.078999404,0.039268257,0.366809487,0.455351956,0,0,0,0,0 +school,FALSE,18,4,0,0,0,0,0,0,0,0,0.018561399,0.043258965,0,0.032292792,0.225093524,0.680793321,0,0,0,0,0 +school,FALSE,19,1,0,0,0.012570056,0,0,0,0.016011468,0.016057604,0.07668851,0.134954753,0.226805131,0.045185104,0.119737059,0.1042095,0.247780814,0,0,0,0 +school,FALSE,19,2,0,0,0,0,0,0,0,0,0.035149661,0.079025772,0.252249169,0.074284557,0.168495532,0.132896247,0.257899061,0,0,0,0 +school,FALSE,19,3,0,0,0,0,0,0,0.005256704,0.005256704,0,0.009878056,0.069178911,0.139359082,0.209998751,0.300301838,0.260769954,0,0,0,0 +school,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.022433763,0.009746389,0.043021361,0.243536894,0.681261593,0,0,0,0 +school,FALSE,20,1,0,0,0,0,0,0,0.036381208,0,0.005800614,0.031932891,0.149632504,0.044906251,0.163413396,0.076354612,0.020580741,0.470997783,0,0,0 +school,FALSE,20,2,0,0,0,0.036384497,0,0,0,0.015532617,0.011426107,0.027703676,0.076335086,0.040493411,0.142356662,0.132693585,0.187215615,0.329858743,0,0,0 +school,FALSE,20,3,0,0,0,0,0,0,0,0.03877589,0.045812113,0.065392635,0.101494701,0.055752291,0.061584445,0.034149257,0.28928825,0.307750418,0,0,0 +school,FALSE,20,4,0,0,0,0,0,0,0,0,0.036041044,0,0.141425909,0.042527443,0.019058777,0.102734314,0.237735178,0.420477334,0,0,0 +school,FALSE,21,1,0,0,0,0,0,0,0.029175445,0.047201664,0,0.059213923,0.186189825,0,0.015107113,0,0.014924261,0.246756883,0.401430887,0,0 +school,FALSE,21,2,0,0,0,0,0,0,0.018242295,0,0.051393732,0.017166791,0.159810093,0.01466897,0.065248355,0.019698184,0.082686594,0.128131407,0.442953578,0,0 +school,FALSE,21,3,0,0,0,0,0,0,0,0,0,0.044964736,0,0.026693251,0.075177802,0.03517993,0.025975511,0.337402271,0.4546065,0,0 +school,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0.058839649,0.052164792,0.030967554,0.061935107,0.029419825,0.145827525,0.620845548,0,0 +school,FALSE,22,1,0.023037375,0,0,0,0,0,0,0,0,0.080648327,0.361587215,0.039998637,0.119661147,0.145124395,0.025588201,0,0.115793964,0.088560738,0 +school,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.066321013,0.205698394,0.043934105,0.180253452,0.112019427,0.014897164,0.028012145,0.055418593,0.293445707,0 +school,FALSE,22,3,0,0,0,0.017205445,0,0,0,0,0,0,0,0.072013982,0.171335382,0.018627394,0.235525324,0.014627752,0.218669111,0.25199561,0 +school,FALSE,22,4,0,0,0,0,0,0,0.014630535,0,0,0,0,0,0,0.021783187,0.041931895,0.020148708,0.336082731,0.565422944,0 +school,FALSE,23,1,0,0,0,0,0,0,0,0,0.111780051,0.21697306,0.207813189,0,0.029486875,0.065930991,0.028259313,0.025083791,0.027543321,0.043512885,0.243616523 +school,FALSE,23,2,0,0,0,0,0,0,0,0,0,0.125873532,0.191933649,0.013156926,0.035810782,0.023201345,0,0.03046339,0.176154142,0.116307048,0.287099186 +school,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.39711845,0.032800383,0,0,0.246473294,0,0,0.167995519,0.155612354 +school,FALSE,23,4,0,0,0,0,0,0,0,0,0.313300531,0,0,0,0,0.002398637,0.195897513,0,0.195897513,0.004797275,0.28770853 +escort,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,5,2,0.056858007,0.134308757,0.177188158,0,0,0.13142305,0,0.060572569,0,0.148645889,0.139773895,0.099108225,0,0.048544465,0.003576985,0,0,0,0 +escort,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0.744635807,0,0,0.255364193,0,0,0,0,0 +escort,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0.812216804,0.046945799,0,0.140837397,0,0,0,0,0 +escort,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,6,2,0,0.317902833,0.447578121,0.020114912,0,0,0.053725104,0,0,0.040669001,0.069308805,0.050701225,0,0,0,0,0,0,0 +escort,TRUE,6,3,0,0,0.573662861,0,0,0,0.426337139,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,6,4,0,0,0,0,0,0,0.42115826,0.15768348,0.42115826,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,7,2,0,0,0.142617064,0.38383586,0.072492592,0.032249474,0.032292989,0.061737992,0.014418217,0,0.117686396,0.044994655,0.097674761,0,0,0,0,0,0 +escort,TRUE,7,3,0,0,0,0,0,0.045211707,0,0,0.126121874,0,0.277934232,0.221864174,0,0.328868013,0,0,0,0,0 +escort,TRUE,7,4,0,0,0,0,0,0.046374243,0,0,0.072684124,0,0,0.059438015,0.270430055,0.098354465,0,0.157068569,0,0.295650529,0 +escort,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,8,2,0,0,0,0.321006938,0.473310236,0.008304761,0.028639249,0.02199492,0.016407044,0,0.05343627,0.024107423,0.052793161,0,0,0,0,0,0 +escort,TRUE,8,3,0,0,0,0.32761399,0.648736988,0.023649023,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,8,4,0,0,0,0,0.203285069,0.087659544,0.087659544,0,0.005822781,0,0,0,0.101642534,0.005717855,0.508212672,0,0,0,0 +escort,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,9,2,0,0,0,0,0.320224882,0.267747579,0.099295479,0,0.061354638,0.200251803,0,0,0,0.020258001,0.030867619,0,0,0,0 +escort,TRUE,9,3,0,0,0,0,0,0.432761501,0.214593419,0,0.146040986,0.206604093,0,0,0,0,0,0,0,0,0 +escort,TRUE,9,4,0,0,0,0,0,0,0.1657582,0.096920036,0.259807729,0,0.159171345,0.159171345,0.159171345,0,0,0,0,0,0 +escort,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,10,2,0,0,0,0,0,0.196501921,0.373640136,0.138599097,0.094607199,0.196651647,0,0,0,0,0,0,0,0,0 +escort,TRUE,10,3,0,0,0,0,0,0.116175548,0.44952369,0.143154558,0.097571597,0.14871659,0.044858016,0,0,0,0,0,0,0,0 +escort,TRUE,10,4,0,0,0,0,0,0,0.152413275,0.360078185,0.346132466,0.141376074,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,2,0,0,0,0,0,0,0.236755791,0.714983274,0.028256555,0.02000438,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,3,0,0,0,0,0,0,0,0.379678398,0.448220444,0.172101157,0,0,0,0,0,0,0,0,0 +escort,TRUE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,12,2,0,0,0,0,0,0,0,0.146819614,0.555791511,0.044450314,0.058009028,0.153878569,0.041050964,0,0,0,0,0,0 +escort,TRUE,12,3,0,0,0,0,0,0,0,0,0.743230427,0.054234351,0.202535221,0,0,0,0,0,0,0,0 +escort,TRUE,12,4,0,0,0,0,0,0,0,0,0,0.132670832,0.867329168,0,0,0,0,0,0,0,0 +escort,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +escort,TRUE,13,2,0,0,0,0,0,0,0,0,0.092255068,0.585233838,0.30962564,0.012885454,0,0,0,0,0,0,0 +escort,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.671206778,0.328793222,0,0,0,0,0,0,0,0 +escort,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.228972422,0.771027578,0,0,0,0,0,0,0,0 +escort,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +escort,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.562794406,0.331440849,0.082858701,0,0.022906044,0,0,0,0,0 +escort,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0.645172877,0.181000922,0.173826201,0,0,0,0,0,0 +escort,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0,0.753171928,0.246828072,0,0,0,0,0,0 +escort,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +escort,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.201660218,0.766732321,0.031607461,0,0,0,0,0,0 +escort,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.299056486,0.074996412,0.41897627,0.206970833,0,0,0,0,0 +escort,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.150453054,0.849546946,0,0,0,0,0 +escort,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +escort,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.579038356,0.255758044,0.165203599,0,0,0,0,0 +escort,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.035336994,0.238269535,0.726393471,0,0,0,0,0 +escort,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +escort,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +escort,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.197118737,0.703970119,0.036315607,0.026383772,0.036211766,0,0 +escort,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.427169666,0.572830334,0,0,0,0 +escort,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +escort,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +escort,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185479472,0.434361919,0.338714329,0.041444281,0,0 +escort,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78249237,0.21750763,0,0,0 +escort,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.823014212,0.176985788,0 +escort,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +escort,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.285555275,0.649528389,0.064916336,0,0 +escort,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +escort,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199542785,0.800457215,0,0 +escort,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +escort,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +escort,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +escort,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +escort,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,1,0.040029892,0.959970108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,1,0,0.020969803,0.979030197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,1,0,0,0.118338551,0.881661449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,2,0,0,0.034411699,0.965588301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,1,0,0,0.004282148,0.282836493,0.71288136,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,2,0,0,0,0.171647398,0.828352602,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,3,0,0,0,0.21068634,0.78931366,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,9,4,0,0,0,0.019911517,0.980088483,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,1,0,0,0.018159729,0.078956734,0.236267706,0.66661583,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,2,0,0,0,0.138185723,0.240772266,0.621042011,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,3,0,0,0.040625092,0.114436303,0.44797514,0.396963465,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,10,4,0,0,0,0,0.181720167,0.818279833,0,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,1,0,0,0,0.031917445,0.047683392,0.099924869,0.820474293,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,2,0,0,0,0,0.020814603,0.392076313,0.587109083,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,3,0,0,0,0,0.032514248,0.315393925,0.652091828,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,11,4,0,0,0,0,0,0.249548162,0.750451838,0,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,1,0,0,0,0.018963707,0.021920487,0.031520436,0.140654387,0.786940984,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,2,0,0,0,0.03235256,0.042149511,0.05052472,0.131440073,0.743533136,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,3,0,0,0,0.050468014,0,0.017084057,0.229496221,0.702951708,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,12,4,0,0,0,0,0.048745163,0,0.147271645,0.803983192,0,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,1,0,0,0.002941942,0.022003062,0.00551188,0.013544069,0.038590922,0.171545199,0.745862927,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,2,0,0,0,0.015043096,0.006073583,0.009841677,0.054297211,0.176600055,0.738144378,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,3,0,0,0,0.021105735,0,0,0.046096397,0.122921811,0.809876056,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,13,4,0,0,0,0,0,0,0,0.099840566,0.900159434,0,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,1,0,0,0,0.048520661,0,0,0.016138911,0.044713809,0.085550978,0.805075641,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,2,0,0,0,0.009564053,0.153251843,0,0,0.114426845,0.102407993,0.620349267,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,3,0,0,0,0,0,0,0.013997667,0.033806812,0.25169859,0.700496931,0,0,0,0,0,0,0,0,0 +escort,FALSE,14,4,0,0,0,0,0,0,0,0.031515821,0.082969823,0.885514356,0,0,0,0,0,0,0,0,0 +escort,FALSE,15,1,0.001473284,0.001275418,0.003819369,0.008997,0.006335419,0.008570073,0.003284399,0.001014618,0.005676659,0.244506482,0.715047279,0,0,0,0,0,0,0,0 +escort,FALSE,15,2,0.004847658,0.004196604,0.007080083,0.006185119,0.01421088,0,0.026061603,0.014229404,0.009049421,0.195982731,0.718156496,0,0,0,0,0,0,0,0 +escort,FALSE,15,3,0,0.012564661,0,0,0,0.021197818,0.014513923,0.011367283,0.031969048,0.126086289,0.782300976,0,0,0,0,0,0,0,0 +escort,FALSE,15,4,0,0,0,0,0,0.027149505,0.045738486,0.027149505,0.029117725,0.13954129,0.731303489,0,0,0,0,0,0,0,0 +escort,FALSE,16,1,0.00200405,0.001051772,0.006771555,0.00180834,0.015487237,0.019320069,0.003963644,0.003467036,0,0.014608191,0.140235591,0.791282514,0,0,0,0,0,0,0 +escort,FALSE,16,2,0,0,0,0.006365421,0.007122206,0.007817846,0.005072611,0.002561853,0.010562285,0.011331327,0.163631956,0.785534495,0,0,0,0,0,0,0 +escort,FALSE,16,3,0,0,0,0,0,0,0.013949693,0.015608287,0.031607957,0.045248859,0.086738092,0.806847112,0,0,0,0,0,0,0 +escort,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.176949473,0.823050527,0,0,0,0,0,0,0 +escort,FALSE,17,1,0,0.001885858,0.014135456,0.015985525,0.002552119,0,0,0.002305352,0,0.019788158,0.05304134,0.114790493,0.775515701,0,0,0,0,0,0 +escort,FALSE,17,2,0,0,0.01612501,0.004912147,0,0,0,0,0.006052735,0,0.066169183,0.192117368,0.714623557,0,0,0,0,0,0 +escort,FALSE,17,3,0,0,0,0,0,0,0,0,0,0.020217729,0.029305934,0.331354145,0.619122192,0,0,0,0,0,0 +escort,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0.06461582,0.084856782,0.850527398,0,0,0,0,0,0 +escort,FALSE,18,1,0,0.005432163,0.038940224,0.026689744,0.058158769,0,0.034797386,0,0,0.003175997,0.015025769,0.011190666,0.133413828,0.673175452,0,0,0,0,0 +escort,FALSE,18,2,0.006475372,0,0.028703811,0,0.057765487,0,0.00513516,0.012023268,0,0.005808733,0.027224281,0.023941956,0.217891148,0.615030786,0,0,0,0,0 +escort,FALSE,18,3,0,0,0,0,0,0,0,0.023354896,0,0,0.010873824,0.043494105,0.216938965,0.70533821,0,0,0,0,0 +escort,FALSE,18,4,0,0,0,0,0,0,0,0,0,0.030910531,0.015455265,0.036197751,0.134169828,0.783266626,0,0,0,0,0 +escort,FALSE,19,1,0,0,0.015759767,0.084811588,0,0.002872924,0,0.006556512,0.028956925,0.008237531,0,0.012966642,0.041318552,0.134584946,0.663934612,0,0,0,0 +escort,FALSE,19,2,0,0,0,0.041554494,0,0,0,0.005100141,0.012765195,0.005414707,0,0.027095562,0.040399,0.160510182,0.707160719,0,0,0,0 +escort,FALSE,19,3,0,0,0,0.042762147,0,0,0,0,0,0,0,0.118635541,0.138902724,0.131182018,0.568517571,0,0,0,0 +escort,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0.033575497,0.22070458,0.745719923,0,0,0,0 +escort,FALSE,20,1,0,0,0,0,0.076554131,0,0.004387939,0,0.005379578,0,0,0.005770825,0.013203816,0.052748034,0.038731746,0.80322393,0,0,0 +escort,FALSE,20,2,0,0,0,0,0,0,0.012675397,0,0,0,0.015539935,0,0.0372498,0.038141734,0.263200874,0.63319226,0,0,0 +escort,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0.142988825,0.070710819,0.050794946,0.73550541,0,0,0 +escort,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054259213,0.205166313,0.740574475,0,0,0 +escort,FALSE,21,1,0,0,0,0.009094963,0.016533621,0,0,0,0,0.037489891,0.01972214,0.048167746,0,0.021841243,0.064693921,0.167744598,0.614711876,0,0 +escort,FALSE,21,2,0,0,0.010099315,0,0,0.041511619,0,0,0.014099016,0.047958493,0,0,0.074669665,0,0.04646442,0.263279058,0.501918415,0,0 +escort,FALSE,21,3,0,0,0.017776541,0,0,0,0,0,0,0,0.024816708,0,0.07306763,0.131431527,0.035447508,0.193292186,0.5241679,0,0 +escort,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.022628167,0,0.052756196,0.032321457,0.080116339,0.812177841,0,0 +escort,FALSE,22,1,0,0,0,0.113172185,0,0,0,0,0,0.026397261,0.044886063,0,0,0.019218468,0.004386306,0.028722261,0.247924763,0.515292694,0 +escort,FALSE,22,2,0,0,0,0,0,0,0.18017321,0,0,0,0,0.074732757,0,0.107022619,0.042577452,0.038743506,0.038743506,0.518006951,0 +escort,FALSE,22,3,0,0,0,0,0,0,0.267409489,0,0,0,0,0,0,0,0.015267396,0.143659747,0.183067852,0.390595517,0 +escort,FALSE,22,4,0,0,0,0,0,0,0,0.234024187,0.234024187,0,0,0,0,0,0,0,0.303429308,0.228522318,0 +escort,FALSE,23,1,0,0,0,0,0,0,0,0.008127027,0.007835463,0.151355656,0,0.052450125,0.03651837,0.092153785,0.022741195,0,0.087045131,0.09410699,0.447666258 +escort,FALSE,23,2,0,0,0,0,0,0,0,0.038717113,0,0.014072799,0.013520577,0.321560091,0.117135518,0.10301486,0.065001842,0,0.046587075,0.02971575,0.250674374 +escort,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0.026894061,0.13703111,0,0.082687611,0.04923207,0,0.121213706,0.200076012,0.38286543 +escort,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0.049644185,0,0,0,0,0,0.09087828,0.241408525,0.61806901 +shopping,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,5,2,0,0.18855969,0.026231205,0,0.018666624,0.036855114,0.01579057,0.02877734,0,0.008686294,0.03735935,0.062874703,0.02993166,0.13469908,0.360321567,0.051246804,0,0,0 +shopping,TRUE,5,3,0,0,0,0,0.061551337,0,0.071672554,0.060629628,0,0,0.091646938,0.65884087,0,0,0,0.055658673,0,0,0 +shopping,TRUE,5,4,0,0,0,0,0,0,0.063047092,0,0,0.063047092,0,0.063047092,0.096265448,0.600570816,0,0.05701123,0,0,0.05701123 +shopping,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,6,2,0,0.236185322,0.189345656,0.027307243,0,0.09795574,0.025679731,0.06524777,0,0.065782608,0.146681657,0.061307682,0.084506592,0,0,0,0,0,0 +shopping,TRUE,6,3,0,0.122362042,0,0.056125397,0,0.3786476,0,0,0.104941475,0,0,0.337923485,0,0,0,0,0,0,0 +shopping,TRUE,6,4,0,0,0,0,0,0.333126,0,0.333126,0,0,0,0.215517962,0.061611625,0.056618413,0,0,0,0,0 +shopping,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,7,2,0,0,0.137784762,0.347610842,0.133435005,0.027404455,0.039144758,0.071879163,0.050738746,0,0.035619826,0.112566834,0,0.017941118,0.01764776,0.008226732,0,0,0 +shopping,TRUE,7,3,0,0,0.118039813,0.173078319,0.187104935,0.14629093,0.052634804,0.10898427,0,0,0,0.168712159,0.045154769,0,0,0,0,0,0 +shopping,TRUE,7,4,0,0,0,0.044071544,0,0.113245235,0,0,0,0,0.055926536,0.110694997,0.261835563,0.414226125,0,0,0,0,0 +shopping,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,8,2,0,0,0,0.216420344,0.444754798,0.146005729,0.070193472,0.027780288,0.022919028,0,0.028031874,0,0.017321534,0.012974919,0,0,0,0.013598014,0 +shopping,TRUE,8,3,0,0,0,0.11915052,0.47354413,0.131084867,0.131912474,0.029942334,0.092204361,0.012421891,0,0,0,0.009739424,0,0,0,0,0 +shopping,TRUE,8,4,0,0,0,0.091488151,0.546318896,0.031542872,0.035173262,0.043158455,0.069562754,0.074293154,0.014133102,0.01007907,0.063090109,0.011081104,0,0.01007907,0,0,0 +shopping,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,9,2,0,0,0,0,0.25829748,0.338424677,0.195615866,0.063977369,0.037499937,0.014738329,0.047325307,0,0.015434424,0.020988402,0.007698208,0,0,0,0 +shopping,TRUE,9,3,0,0,0,0,0.092189784,0.255069356,0.282966449,0.075774276,0.085242805,0.057005967,0.019307332,0.104848677,0,0.027595353,0,0,0,0,0 +shopping,TRUE,9,4,0,0,0,0,0,0.086253583,0.235736082,0.217929307,0.026367245,0.066851523,0.150316009,0.167128809,0,0.049417443,0,0,0,0,0 +shopping,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,10,2,0,0,0,0,0,0.447429351,0.377114876,0.1219042,0.01784823,0.022881298,0.007112195,0.00570985,0,0,0,0,0,0,0 +shopping,TRUE,10,3,0,0,0,0,0,0.203895878,0.380391288,0.125413278,0.121084198,0.097085986,0.03993943,0.032189942,0,0,0,0,0,0,0 +shopping,TRUE,10,4,0,0,0,0,0,0.026436932,0.286895016,0.076810524,0.38619219,0.152227751,0.048029261,0,0.023408325,0,0,0,0,0,0 +shopping,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,11,2,0,0,0,0,0,0,0.321289054,0.351540642,0.130487047,0.150332918,0.014224049,0.004332814,0.027793477,0,0,0,0,0,0 +shopping,TRUE,11,3,0,0,0,0,0,0,0.22652124,0.229119163,0.279822494,0.140263855,0.09076511,0.017983211,0,0.015524928,0,0,0,0,0 +shopping,TRUE,11,4,0,0,0,0,0,0,0.060435728,0,0.337860558,0.382359867,0.089042433,0.089042433,0,0,0,0.041258981,0,0,0 +shopping,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,12,2,0,0,0,0,0,0,0,0.327958916,0.465492803,0.141109297,0.020542537,0.022498994,0.01140431,0.010993144,0,0,0,0,0 +shopping,TRUE,12,3,0,0,0,0,0,0,0,0.178317517,0.451517182,0.27737762,0.065198536,0,0.009801894,0.017787251,0,0,0,0,0 +shopping,TRUE,12,4,0,0,0,0,0,0,0,0,0.213180964,0.240910483,0.152246297,0.393662256,0,0,0,0,0,0,0 +shopping,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +shopping,TRUE,13,2,0,0,0,0,0,0,0,0,0.508107696,0.321685937,0.081799219,0.061327596,0.027079551,0,0,0,0,0,0 +shopping,TRUE,13,3,0,0,0,0,0,0,0,0,0.177195753,0.267607099,0.084531289,0.424560684,0.014787439,0.031317737,0,0,0,0,0 +shopping,TRUE,13,4,0,0,0,0,0,0,0,0,0.263218395,0.402482495,0.061208389,0.185818041,0,0,0,0.087272681,0,0,0 +shopping,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +shopping,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.438870825,0.372372041,0.160848114,0.021826983,0,0,0.006082036,0,0,0 +shopping,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.017173884,0.628449853,0.104128183,0.031161272,0,0,0.10714611,0.111940698,0,0 +shopping,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.490831445,0,0,0,0,0.254584278,0.254584278,0,0 +shopping,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +shopping,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.261294755,0.632140733,0.068294747,0.038269765,0,0,0,0,0 +shopping,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.150837677,0.364045291,0.292150535,0.06771696,0,0.125249537,0,0,0 +shopping,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.36746411,0,0.075770875,0,0.278382507,0.278382507,0,0 +shopping,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +shopping,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.554781367,0.360878736,0.067834102,0.016505795,0,0,0,0 +shopping,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.327593582,0.637795928,0.034610489,0,0,0,0,0 +shopping,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0.076274354,0.757840172,0.055295158,0.110590316,0,0,0,0 +shopping,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +shopping,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.281133857,0.595643382,0.100047971,0,0.023174789,0,0 +shopping,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.517896269,0.345741974,0.070632988,0,0,0.065728769,0 +shopping,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.783800606,0,0.072066465,0.144132929,0,0 +shopping,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +shopping,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.299407159,0.536590408,0.150080831,0.013921602,0,0 +shopping,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192023096,0.807976904,0,0,0,0 +shopping,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.221357455,0.693718463,0.084924082,0,0 +shopping,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +shopping,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.905321875,0.094678125,0,0 +shopping,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +shopping,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.768749763,0.231250237,0 +shopping,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +shopping,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +shopping,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +shopping,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,2,0,0,0.057856159,0.942143841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,1,0,0,0,0.063004812,0.936995188,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,2,0,0,0,0.215154916,0.784845084,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,1,0,0,0,0.034621691,0.199730362,0.765647947,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,2,0,0,0,0.013947823,0.249445429,0.736606748,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,3,0,0,0,0,0.263792407,0.736207593,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,10,4,0,0,0,0,0.190842252,0.809157748,0,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,1,0,0,0,0,0.017620786,0.158923567,0.823455647,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,2,0,0,0,0,0.004541602,0.230049175,0.765409223,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,3,0,0,0,0,0,0.338910752,0.661089248,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,11,4,0,0,0,0,0,0.150257604,0.849742396,0,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,1,0,0,0.002514383,0,0.039915577,0.051276757,0.273727641,0.632565641,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,2,0,0,0,0,0.039730806,0.073816678,0.261462334,0.624990182,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,3,0,0,0,0,0.004430216,0.044433351,0.292333728,0.658802706,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,12,4,0,0,0,0,0,0.035609316,0.240024471,0.724366213,0,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,1,0,0,0,0,0.002652468,0.017076075,0.03891727,0.241051111,0.700303076,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,2,0,0,0,0,0.008356207,0.019728013,0.123359666,0.171778982,0.676777133,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,3,0,0,0,0,0.019588158,0,0.046245315,0.40772273,0.526443797,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,13,4,0,0,0,0,0.025743876,0.051487752,0.032165405,0.12492976,0.765673208,0,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,1,0,0,0,0.014322812,0.008308251,0.005594512,0.016143904,0.130012933,0.19330349,0.632314098,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,2,0,0,0,0.005506763,0.021606723,0.003403522,0.013852092,0.106618856,0.339860692,0.509151352,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,3,0,0,0,0.011027918,0,0.003096348,0.058586882,0.104167817,0.217735941,0.605385093,0,0,0,0,0,0,0,0,0 +shopping,FALSE,14,4,0,0,0,0.01227549,0,0.019168758,0.003446634,0.105336725,0.267971535,0.591800858,0,0,0,0,0,0,0,0,0 +shopping,FALSE,15,1,0,0,0,0,0.004254425,0.009138,0.019091237,0.013981558,0.039120881,0.34948947,0.564924428,0,0,0,0,0,0,0,0 +shopping,FALSE,15,2,0,0,0,0,0.001627899,0.009215496,0.004903293,0.002308669,0.07302082,0.221873866,0.687049956,0,0,0,0,0,0,0,0 +shopping,FALSE,15,3,0,0,0,0,0.003142874,0,0.025204014,0,0.04008905,0.235602582,0.69596148,0,0,0,0,0,0,0,0 +shopping,FALSE,15,4,0,0,0,0,0,0,0.004328876,0.008657753,0,0.285614869,0.701398502,0,0,0,0,0,0,0,0 +shopping,FALSE,16,1,0,0,0,0.000878576,0.003497576,0.021588157,0.009216937,0.008217315,0.002448233,0.048046219,0.232893086,0.673213901,0,0,0,0,0,0,0 +shopping,FALSE,16,2,0,0,0,0,0,0.035847568,0.011510797,0.014922592,0.020904683,0.052635454,0.243160325,0.62101858,0,0,0,0,0,0,0 +shopping,FALSE,16,3,0,0,0,0,0,0.051361483,0.00311995,0,0.051491012,0.042960512,0.192617192,0.658449851,0,0,0,0,0,0,0 +shopping,FALSE,16,4,0,0,0,0,0,0.046465728,0.002556214,0.025713434,0.038861358,0.073644993,0.248297436,0.564460837,0,0,0,0,0,0,0 +shopping,FALSE,17,1,0,0.002208578,0.009311633,0.01738702,0.001331755,0.005016926,0.003171846,0.006879148,0.001436793,0.027480637,0.058941124,0.29462051,0.572214029,0,0,0,0,0,0 +shopping,FALSE,17,2,0,0,0,0,0,0,0.010344283,0.037939171,0.039422982,0.026045212,0.06114443,0.190229666,0.634874255,0,0,0,0,0,0 +shopping,FALSE,17,3,0,0,0,0,0.007721229,0,0.011554543,0.070232976,0.032812162,0.025350429,0.070540072,0.236685334,0.545103256,0,0,0,0,0,0 +shopping,FALSE,17,4,0,0,0,0,0,0.006990598,0.033455447,0.006990598,0,0.064675896,0.055525232,0.171396816,0.660965415,0,0,0,0,0,0 +shopping,FALSE,18,1,0,0.033355807,0,0.001892316,0.00090772,0.004904866,0.001167821,0.016722263,0.003141548,0.002779365,0.024569171,0.061842541,0.271632599,0.577083981,0,0,0,0,0 +shopping,FALSE,18,2,0,0.075251856,0,0.017407741,0,0,0.005067103,0.012905849,0.043130871,0.028315061,0.006542046,0.109303095,0.166027278,0.536049102,0,0,0,0,0 +shopping,FALSE,18,3,0,0,0,0,0,0,0,0,0,0.066490049,0.057249304,0.237270804,0.359314757,0.279675086,0,0,0,0,0 +shopping,FALSE,18,4,0,0,0,0,0,0,0.007859239,0,0.011296648,0.003929619,0.099720544,0.061193285,0.240312145,0.575688521,0,0,0,0,0 +shopping,FALSE,19,1,0,0.002312931,0.007027556,0.00055146,0,0.020661977,0,0,0.011821234,0.002688782,0.004292928,0.007532001,0.051155819,0.156901174,0.735054139,0,0,0,0 +shopping,FALSE,19,2,0,0,0,0,0,0,0,0.003320994,0.005290597,0.01358355,0.003788453,0.020449742,0.075630163,0.221134543,0.656801959,0,0,0,0 +shopping,FALSE,19,3,0,0,0,0,0,0,0.014614817,0,0,0.020347906,0.008733406,0,0.047735668,0.374113208,0.534454996,0,0,0,0 +shopping,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0.020864671,0.058211406,0.120273738,0.204544879,0.596105306,0,0,0,0 +shopping,FALSE,20,1,0,0,0,0,0,0.001536146,0,0.001675312,0,0,0,0,0,0.047561031,0.181509603,0.767717908,0,0,0 +shopping,FALSE,20,2,0,0,0,0,0,0.00331683,0,0.004518272,0.00566615,0,0.002748233,0,0.008286949,0.051482817,0.259536082,0.664444667,0,0,0 +shopping,FALSE,20,3,0,0,0,0,0,0,0,0.011858233,0.008705041,0,0.022083602,0.018110733,0,0.035127515,0.143310213,0.760804664,0,0,0 +shopping,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.03498938,0.040641133,0.145381408,0.371268099,0.407719981,0,0,0 +shopping,FALSE,21,1,0,0,0,0,0,0,0,0.004266615,0.002430883,0,0.007940168,0.009395117,0.021163822,0.046202149,0.053837474,0.173465177,0.681298593,0,0 +shopping,FALSE,21,2,0,0,0,0,0,0,0.007985058,0.003444064,0.007416145,0,0.004827496,0.003843961,0.059108441,0.050308287,0.078478176,0.182109604,0.602478768,0,0 +shopping,FALSE,21,3,0,0,0,0,0,0,0,0,0.037797058,0.007828278,0.02376667,0.011687609,0,0.020240379,0.189418946,0.098165754,0.611095305,0,0 +shopping,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.019033172,0,0.01121107,0.036432132,0.018720166,0.031263843,0.186160383,0.697179234,0,0 +shopping,FALSE,22,1,0,0,0,0,0,0.018041153,0,0,0,0,0,0,0.009811009,0.008718506,0.044707222,0.097289219,0.453480605,0.367952287,0 +shopping,FALSE,22,2,0,0,0,0,0,0.014478651,0,0,0.00946373,0,0,0.015817118,0.022169677,0.014478651,0,0.0282764,0.258592224,0.63672355,0 +shopping,FALSE,22,3,0,0,0,0,0,0,0,0,0.017617342,0.054918813,0,0,0,0.029444584,0.095176163,0,0,0.802843098,0 +shopping,FALSE,22,4,0,0,0,0,0,0,0,0,0.020680151,0,0,0.158687133,0,0.087459292,0.073575862,0.034563581,0.293241585,0.331792395,0 +shopping,FALSE,23,1,0,0,0,0.023821741,0,0,0,0.039038004,0.026879421,0,0.010904146,0.018269598,0.019509677,0.079126477,0.035829398,0.029321261,0,0.084296742,0.633003535 +shopping,FALSE,23,2,0,0.103799266,0,0,0.011152724,0,0,0.015806724,0.046340267,0.023976697,0.037355147,0,0.054819521,0.059060036,0.061565304,0.051303212,0.00884805,0.147229688,0.378743364 +shopping,FALSE,23,3,0,0,0,0,0.155683525,0,0,0,0.034179578,0,0,0.080880151,0,0.080591686,0.03920938,0.158345959,0.053129458,0.120909369,0.277070893 +shopping,FALSE,23,4,0,0,0,0,0,0.157154735,0.078577368,0.196443419,0.047914328,0.039288684,0.12397869,0.009075333,0,0.026776309,0.014018049,0.026776309,0.008914443,0.067449234,0.2036331 +othmaint,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,5,2,0,0.040658727,0.120399874,0.213344233,0.111017831,0.079889013,0.042291218,0,0.204453217,0,0,0.104955464,0.082990423,0,0,0,0,0,0 +othmaint,TRUE,5,3,0,0,0,0,0,0,0,0.287213384,0,0,0,0,0.712786616,0,0,0,0,0,0 +othmaint,TRUE,5,4,0,0,0,0,0,0,0,0,0.124355516,0.248711031,0,0,0.105129078,0,0.521804375,0,0,0,0 +othmaint,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,6,2,0,0,0.235488214,0.357403945,0.125753019,0,0,0.078259791,0,0.046555016,0.11357777,0.042962245,0,0,0,0,0,0,0 +othmaint,TRUE,6,3,0,0,0.326226519,0,0,0,0,0.174974691,0,0.373408666,0.125390124,0,0,0,0,0,0,0,0 +othmaint,TRUE,6,4,0,0,0,0,0,0,0.051430893,0.051430893,0,0.213968684,0.153518801,0.186667766,0.102982298,0.145655522,0,0.042793737,0.051551405,0,0 +othmaint,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,7,2,0,0,0.161965305,0.560535311,0.143218808,0.033324008,0.013918476,0.026127179,0.005375436,0,0.011132734,0.01156894,0.02310162,0,0.009732183,0,0,0,0 +othmaint,TRUE,7,3,0,0,0.113525478,0.598967516,0.089069194,0.080738894,0,0.030379017,0,0,0.0168487,0.017349938,0.019216267,0.018737763,0,0,0.015167234,0,0 +othmaint,TRUE,7,4,0,0,0.067302976,0.204351658,0.170979792,0.399761316,0.008551266,0.113238461,0,0,0,0,0,0.035814532,0,0,0,0,0 +othmaint,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,8,2,0,0,0,0.275563345,0.484065773,0.083338937,0.065284531,0.034854754,0.014700638,0.02595601,0.016236011,0,0,0,0,0,0,0,0 +othmaint,TRUE,8,3,0,0,0,0.256465635,0.196396681,0.177854408,0.122055686,0.028927661,0.08283666,0.079901924,0.043539857,0.012021488,0,0,0,0,0,0,0 +othmaint,TRUE,8,4,0,0,0,0,0.028047731,0,0.350951603,0,0.149252856,0.30289175,0,0.04635913,0.122496929,0,0,0,0,0,0 +othmaint,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,9,2,0,0,0,0,0.230097736,0.368638076,0.127385774,0.016744897,0.150776775,0,0,0.007474052,0.098882689,0,0,0,0,0,0 +othmaint,TRUE,9,3,0,0,0,0,0,0.231740286,0.127213569,0.112305301,0.189734694,0.10677054,0.198766593,0.033469018,0,0,0,0,0,0,0 +othmaint,TRUE,9,4,0,0,0,0,0,0,0.34116944,0,0.583836564,0.074993995,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,2,0,0,0,0,0,0.286259076,0.537234442,0.142887206,0.033619275,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,3,0,0,0,0,0,0.164777982,0.52409087,0.14628494,0.049989666,0,0.114856542,0,0,0,0,0,0,0,0 +othmaint,TRUE,10,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,2,0,0,0,0,0,0,0.473598812,0.258143996,0.104686693,0.141192999,0.022377501,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,3,0,0,0,0,0,0,0.72551892,0.190277137,0.084203943,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,11,4,0,0,0,0,0,0,0,0,0,0.305927706,0.347036147,0,0,0,0,0,0.347036147,0,0 +othmaint,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,12,2,0,0,0,0,0,0,0,0.545682141,0.314476787,0.053501749,0.03851823,0.047821093,0,0,0,0,0,0,0 +othmaint,TRUE,12,3,0,0,0,0,0,0,0,0.214651848,0.46388943,0.061966411,0.132775585,0.126716726,0,0,0,0,0,0,0 +othmaint,TRUE,12,4,0,0,0,0,0,0,0,0,0.127956328,0,0,0.576495171,0,0.295548501,0,0,0,0,0 +othmaint,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,2,0,0,0,0,0,0,0,0,0.323941314,0.585102169,0.090956518,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,3,0,0,0,0,0,0,0,0,0.072453359,0.780993759,0.146552882,0,0,0,0,0,0,0,0 +othmaint,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.222472025,0.777527975,0,0,0,0,0,0,0,0 +othmaint,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othmaint,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.256222437,0.654201082,0.071103851,0.01847263,0,0,0,0,0,0 +othmaint,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.11860694,0.44971127,0.431681789,0,0,0,0,0,0,0 +othmaint,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,0.436444767,0.563555233,0,0,0,0,0,0,0 +othmaint,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.593763081,0.406236919,0,0,0,0,0,0,0 +othmaint,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othmaint,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othmaint,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.854510215,0.145489785,0,0,0,0,0,0 +othmaint,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.724085091,0,0.275914909,0,0,0,0,0 +othmaint,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othmaint,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.172124075,0.213012548,0.614863377,0,0,0,0 +othmaint,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098642817,0.901357183,0,0,0,0 +othmaint,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othmaint,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.270651613,0.600738159,0.128610228,0,0 +othmaint,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othmaint,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.771681706,0,0.228318294,0 +othmaint,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othmaint,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othmaint,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othmaint,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othmaint,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,1,0.09071969,0.90928031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,1,0,0.075063017,0.924936983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,1,0,0,0.072655068,0.927344932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,1,0,0,0.013631489,0.161967148,0.824401363,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,1,0,0,0,0.037502157,0.312567208,0.649930634,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,2,0,0,0,0,0.275988767,0.724011233,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,3,0,0,0,0,0.15552038,0.84447962,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,10,4,0,0,0,0,0.144245586,0.855754414,0,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,1,0,0,0,0,0.03338987,0.26489836,0.70171177,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,2,0,0,0,0,0.010989916,0.227634382,0.761375703,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,3,0,0,0,0,0,0.026011355,0.973988645,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,11,4,0,0,0,0,0,0.107851024,0.892148976,0,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,1,0,0,0,0.010158031,0.022913155,0.102307429,0.377078058,0.487543327,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,2,0,0,0,0,0,0.108745958,0.2159873,0.675266742,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,3,0,0,0,0,0,0.06065237,0.336243242,0.603104388,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,12,4,0,0,0,0,0,0.013311396,0.19774252,0.788946084,0,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,1,0,0,0,0,0.031249299,0.047260258,0.081354892,0.353123741,0.48701181,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,2,0,0,0,0,0.036088554,0.047323035,0.099280114,0.282440914,0.534867384,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,3,0,0,0,0.022092503,0,0.023342697,0.218332277,0.130650891,0.605581632,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,13,4,0,0,0,0,0,0,0.007598622,0.247081366,0.745320012,0,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,1,0,0,0,0,0.008432907,0.019241437,0.053781383,0.07753638,0.180423206,0.660584686,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,2,0,0,0,0,0,0.014889748,0.058818026,0.03592279,0.279517106,0.610852331,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,3,0,0,0,0,0,0.025148147,0.044798265,0.019855411,0.184100242,0.726097934,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,14,4,0,0,0,0,0,0.025559931,0.089028487,0.037908626,0.118966776,0.72853618,0,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,1,0,0,0.014080554,0,0.010260757,0.018416064,0.003200712,0.030725966,0.060405447,0.322996101,0.5399144,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,2,0,0,0,0.007837984,0.007663278,0.013198261,0,0.009670767,0.043030366,0.15942745,0.759171894,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,3,0,0,0,0,0.009630972,0,0.006337143,0.101481335,0.066736017,0.096321205,0.719493328,0,0,0,0,0,0,0,0 +othmaint,FALSE,15,4,0,0,0,0,0,0,0,0.013528329,0.062228479,0.089319428,0.834923764,0,0,0,0,0,0,0,0 +othmaint,FALSE,16,1,0,0,0.006200413,0.004986933,0,0.010337749,0.015781258,0.022349724,0.011320009,0.0610877,0.263854949,0.604081265,0,0,0,0,0,0,0 +othmaint,FALSE,16,2,0,0,0.006875165,0,0,0.004755274,0.004846065,0.041322108,0.062817829,0.084403941,0.210011072,0.584968544,0,0,0,0,0,0,0 +othmaint,FALSE,16,3,0,0,0,0,0,0.003750011,0,0.038367203,0,0.081124439,0.173167838,0.703590508,0,0,0,0,0,0,0 +othmaint,FALSE,16,4,0,0,0,0,0,0,0,0.012408147,0.035652064,0.083467534,0.198538722,0.669933533,0,0,0,0,0,0,0 +othmaint,FALSE,17,1,0,0,0,0.020552867,0,0.005813725,0.002732148,0.008782581,0.005357107,0.029100301,0.080364833,0.302512654,0.544783785,0,0,0,0,0,0 +othmaint,FALSE,17,2,0,0,0,0,0.026548466,0.003679274,0.009319631,0,0.042518808,0.029889235,0.080550404,0.277668263,0.52982592,0,0,0,0,0,0 +othmaint,FALSE,17,3,0,0,0,0,0.009271174,0,0.054663157,0,0.016257561,0.01488333,0.09396777,0.266410029,0.544546979,0,0,0,0,0,0 +othmaint,FALSE,17,4,0,0,0,0,0,0.007066116,0.007066116,0.06151997,0.066639666,0.049844639,0.033402711,0.146764167,0.627696614,0,0,0,0,0,0 +othmaint,FALSE,18,1,0,0,0.00220337,0.003892833,0.007889226,0.016688123,0.035048075,0.024546837,0,0.00815882,0.035392235,0.148091146,0.276111609,0.441977726,0,0,0,0,0 +othmaint,FALSE,18,2,0,0,0,0,0,0.065300384,0.006485915,0.052781714,0.048191377,0.040820218,0,0.162432484,0.05438396,0.569603948,0,0,0,0,0 +othmaint,FALSE,18,3,0,0,0,0,0.017320219,0.031548823,0.022330672,0.091457847,0,0.019713885,0.042008327,0.218018162,0.200579611,0.357022454,0,0,0,0,0 +othmaint,FALSE,18,4,0,0,0,0,0.016419136,0,0.00528573,0.020252478,0,0.100415264,0.03805733,0.105531305,0.176732756,0.537306,0,0,0,0,0 +othmaint,FALSE,19,1,0,0,0,0,0.010727452,0,0.008098901,0.019233131,0.013852404,0.004645853,0.013295603,0.080270768,0.078632583,0.187569198,0.583674107,0,0,0,0 +othmaint,FALSE,19,2,0,0,0,0,0.049239842,0.011428143,0,0,0.026241801,0.041108511,0.013964285,0.025063837,0,0.310631722,0.522321858,0,0,0,0 +othmaint,FALSE,19,3,0,0,0,0,0,0.086744587,0,0,0,0.016477125,0.041531547,0.015283398,0.017093713,0.105309634,0.717559996,0,0,0,0 +othmaint,FALSE,19,4,0,0,0,0,0,0.069764219,0.069764219,0,0,0.104847005,0,0.033271814,0.058783522,0.247218312,0.416350909,0,0,0,0 +othmaint,FALSE,20,1,0,0,0,0,0,0,0.01242339,0.005336417,0.044409284,0.029249865,0.011600679,0.028809843,0.016252507,0.030331787,0.287705325,0.533880904,0,0,0 +othmaint,FALSE,20,2,0,0,0,0,0,0,0,0,0.032990066,0.012593317,0,0.052304607,0.150427735,0.026510728,0.302582814,0.422590733,0,0,0 +othmaint,FALSE,20,3,0,0,0,0,0,0,0,0.023039668,0.024925805,0.022055308,0.053273572,0.028755337,0.017687898,0.157803915,0.245882825,0.426575672,0,0,0 +othmaint,FALSE,20,4,0,0,0,0,0,0,0,0.009174883,0.009174883,0.039703931,0.032564469,0.051766512,0.025425007,0.0614869,0.641240832,0.129462584,0,0,0 +othmaint,FALSE,21,1,0,0.025380051,0.006505038,0,0,0,0,0,0,0.034497668,0.005372141,0.00750697,0.322054018,0.02041747,0.056367039,0.277982219,0.243917386,0,0 +othmaint,FALSE,21,2,0,0,0,0,0.006399766,0.007749372,0,0,0,0.006917002,0,0.046305978,0.04149865,0,0.351103334,0.214319682,0.325706214,0,0 +othmaint,FALSE,21,3,0,0,0,0,0,0,0.011775898,0.022192712,0.017562682,0,0,0.024503537,0,0.080192747,0.349550204,0.39894732,0.095274901,0,0 +othmaint,FALSE,21,4,0,0,0,0,0,0,0.012259416,0,0.035363359,0.018283805,0.073556494,0.018283805,0.057647363,0.014844726,0.042237266,0.375692888,0.351830879,0,0 +othmaint,FALSE,22,1,0,0,0,0,0,0,0,0.056847728,0,0.047979687,0,0,0.057283827,0,0.024129278,0.031974532,0.16735598,0.614428968,0 +othmaint,FALSE,22,2,0,0,0,0,0,0,0,0,0.161289071,0.04650851,0,0,0.16212443,0.112102538,0,0,0.142577705,0.375397745,0 +othmaint,FALSE,22,3,0,0,0,0,0,0,0,0.110415007,0.068559987,0.152422919,0,0.063721526,0.10278041,0,0,0.094851272,0.058740936,0.348507943,0 +othmaint,FALSE,22,4,0,0,0,0,0,0,0,0.050912705,0.082525929,0,0.031613224,0.050912705,0.094839672,0.029382195,0.129047073,0.050912705,0.220800245,0.259053549,0 +othmaint,FALSE,23,1,0,0,0,0,0,0.010515377,0.025008268,0.032644118,0,0.085888154,0.049317135,0.011196407,0.007715287,0.054305418,0,0.074906459,0.182663286,0.082719875,0.383120217 +othmaint,FALSE,23,2,0,0,0,0,0,0,0,0.045673386,0.020160892,0.021413699,0,0.082142047,0.014090672,0.018059971,0,0.045974294,0.048093764,0.355409136,0.348982138 +othmaint,FALSE,23,3,0,0,0,0,0,0,0,0.080258013,0,0.073055546,0,0.075004948,0.081094174,0.069336389,0,0,0,0.041154495,0.580096435 +othmaint,FALSE,23,4,0,0,0,0,0,0,0,0.037448064,0,0.04959035,0.016530117,0.025234243,0.062464477,0.114901182,0,0.107371648,0.062464477,0.148912902,0.37508254 +eatout,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,5,2,0.032538851,0.221324643,0,0.037815017,0,0,0,0.272525282,0,0,0.037088163,0.337745523,0.034547537,0,0.026414986,0,0,0,0 +eatout,TRUE,5,3,0,0,0,0.091639733,0,0,0,0,0,0,0,0.089878297,0,0.81848197,0,0,0,0,0 +eatout,TRUE,5,4,0,0,0,0,0,0,0,0,0.091478599,0,0,0,0,0.817042802,0.091478599,0,0,0,0 +eatout,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,6,2,0,0.10870266,0.506895447,0.175689689,0,0.026096466,0.034864499,0.082091899,0,0,0,0.025468279,0.040191062,0,0,0,0,0,0 +eatout,TRUE,6,3,0,0.035560115,0.306736608,0.286592598,0.030199993,0.042569681,0.056872474,0,0.028493363,0,0,0.212975168,0,0,0,0,0,0,0 +eatout,TRUE,6,4,0,0,0.211737696,0.322316501,0,0,0.220793367,0,0.051433567,0.096859434,0,0,0,0.096859434,0,0,0,0,0 +eatout,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,7,2,0,0,0.144455214,0.345929433,0,0,0.086477099,0.023160754,0,0.016780688,0,0.202260676,0.052439775,0.128496361,0,0,0,0,0 +eatout,TRUE,7,3,0,0,0.090126203,0.306912678,0,0.037918354,0.033462594,0.029845783,0,0,0,0,0.104315493,0,0,0.397418896,0,0,0 +eatout,TRUE,7,4,0,0,0,0.502373694,0,0,0,0.134316948,0,0,0.070995242,0,0.070995242,0,0.221318875,0,0,0,0 +eatout,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,8,2,0,0,0,0.287649201,0.258570068,0.118932282,0.154019597,0.040748722,0.016734567,0.048015509,0.013439765,0.016546263,0.014029864,0.031314162,0,0,0,0,0 +eatout,TRUE,8,3,0,0,0,0,0.251109552,0,0.113694476,0.124444727,0,0,0.229845517,0.061431783,0.219473946,0,0,0,0,0,0 +eatout,TRUE,8,4,0,0,0,0,0.493293189,0,0,0,0,0,0.506706811,0,0,0,0,0,0,0,0 +eatout,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,9,2,0,0,0,0,0.366854738,0.25501335,0.107900842,0.2287524,0,0,0,0,0,0.041478671,0,0,0,0,0 +eatout,TRUE,9,3,0,0,0,0,0.468297002,0.238514298,0.2931887,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,9,4,0,0,0,0,0.109486993,0.574078888,0.280149843,0,0.036284276,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,10,2,0,0,0,0,0,0.254832017,0.469238325,0.127193733,0.065540094,0.051245746,0,0,0,0,0.031950083,0,0,0,0 +eatout,TRUE,10,3,0,0,0,0,0,0.064871933,0.163184264,0.345964678,0.111369168,0.141300007,0,0.17330995,0,0,0,0,0,0,0 +eatout,TRUE,10,4,0,0,0,0,0,0,0.150728895,0,0.209592187,0.423337891,0,0,0,0.216341028,0,0,0,0,0 +eatout,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,11,2,0,0,0,0,0,0,0.370585753,0.485622052,0.060239142,0.042221954,0,0,0,0.020865964,0.020465134,0,0,0,0 +eatout,TRUE,11,3,0,0,0,0,0,0,0.269205736,0.405557054,0.185720764,0,0.076480268,0,0.063036179,0,0,0,0,0,0 +eatout,TRUE,11,4,0,0,0,0,0,0,0,0.351458157,0.487871427,0,0,0,0,0.160670416,0,0,0,0,0 +eatout,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,12,2,0,0,0,0,0,0,0,0.437792419,0.301451181,0.150311105,0.034236693,0.076208603,0,0,0,0,0,0,0 +eatout,TRUE,12,3,0,0,0,0,0,0,0,0.225370702,0.381329664,0.174766696,0,0,0,0.218532938,0,0,0,0,0 +eatout,TRUE,12,4,0,0,0,0,0,0,0,0,0.221247262,0.778752738,0,0,0,0,0,0,0,0,0 +eatout,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,13,2,0,0,0,0,0,0,0,0,0.139433765,0.241394197,0.366145988,0,0,0.25302605,0,0,0,0,0 +eatout,TRUE,13,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +eatout,TRUE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +eatout,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.141560108,0.455484612,0.063533559,0.080474833,0.258946888,0,0,0,0,0 +eatout,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +eatout,TRUE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +eatout,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +eatout,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.175719201,0.491767111,0.304614961,0.027898728,0,0,0,0,0 +eatout,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.115184007,0.113089502,0.771726491,0,0,0,0,0,0 +eatout,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +eatout,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +eatout,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.081443842,0.569785792,0.258691473,0.048438646,0,0.041640248,0,0 +eatout,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.14088832,0.169273542,0.138693404,0.551144734,0,0,0,0 +eatout,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.522722044,0,0,0.477277956,0,0,0 +eatout,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +eatout,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.360098415,0.452873013,0.139516873,0.047511698,0,0,0 +eatout,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.107576639,0.186526017,0.560987927,0.144909417,0,0,0 +eatout,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +eatout,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27451797,0.572984268,0.072163445,0,0.080334317,0 +eatout,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.497007208,0.502992792,0,0,0,0 +eatout,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537636417,0.462363583,0,0,0 +eatout,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.328311347,0.671688653,0,0,0 +eatout,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +eatout,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +eatout,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.916716515,0.083283485,0,0 +eatout,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.726342035,0.273657965,0,0 +eatout,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +eatout,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +eatout,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +eatout,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +eatout,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,1,0.034815481,0.965184519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,1,0,0.199908855,0.800091145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,2,0,0.833877769,0.166122231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,1,0,0,0.215838535,0.784161465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,1,0,0,0,0.157266378,0.842733622,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,2,0,0,0,0.335277961,0.664722039,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,1,0,0,0.033536748,0.02770012,0.155369348,0.783393784,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,2,0,0,0,0,0.173469452,0.826530548,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,1,0,0,0,0,0.091878183,0.12493006,0.783191757,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,2,0,0,0,0,0,0.096132235,0.903867765,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,1,0,0,0,0.037969228,0,0.031107149,0.035414324,0.895509299,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,2,0,0,0,0,0.02753672,0,0.149847323,0.822615958,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,3,0,0,0,0,0,0,0.258442104,0.741557896,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,12,4,0,0,0,0,0,0,0.333333333,0.666666667,0,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,1,0,0.01200688,0,0,0,0.039950927,0.008513584,0.137590949,0.80193766,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,2,0,0,0,0,0,0,0,0.394497458,0.605502542,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,13,4,0,0,0,0,0,0,0,0.367803297,0.632196703,0,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,1,0,0,0,0,0,0.006675471,0,0.049503213,0.303745574,0.640075741,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,2,0,0,0,0,0,0,0,0,0.279565462,0.720434538,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,3,0,0,0,0,0,0,0,0,0.289280673,0.710719327,0,0,0,0,0,0,0,0,0 +eatout,FALSE,14,4,0,0,0,0,0,0,0,0,0.17018646,0.82981354,0,0,0,0,0,0,0,0,0 +eatout,FALSE,15,1,0,0,0.012317448,0.011793684,0,0.032471192,0.017402541,0.031610182,0.061546974,0.401654713,0.431203266,0,0,0,0,0,0,0,0 +eatout,FALSE,15,2,0,0,0,0.020848495,0,0,0.031697312,0.022993537,0.09062564,0.216001966,0.617833051,0,0,0,0,0,0,0,0 +eatout,FALSE,15,3,0,0,0,0,0,0,0,0.046096862,0.044136725,0.455929483,0.45383693,0,0,0,0,0,0,0,0 +eatout,FALSE,15,4,0,0,0,0,0,0,0,0.053925006,0,0.080548958,0.865526035,0,0,0,0,0,0,0,0 +eatout,FALSE,16,1,0,0.029358275,0.006634587,0,0.008384768,0,0.022595474,0.011554952,0,0.018323185,0.344468391,0.558680369,0,0,0,0,0,0,0 +eatout,FALSE,16,2,0,0,0,0,0,0,0.023120402,0.115646001,0.052131074,0.053950104,0.19213634,0.563016078,0,0,0,0,0,0,0 +eatout,FALSE,16,3,0,0,0,0,0,0,0,0.058624219,0.059135643,0.033481644,0.029621972,0.819136522,0,0,0,0,0,0,0 +eatout,FALSE,16,4,0,0,0,0,0,0,0,0,0.079941236,0.063875591,0.228664833,0.62751834,0,0,0,0,0,0,0 +eatout,FALSE,17,1,0.008270503,0,0.011204931,0,0.012161696,0.009083295,0,0,0.008915709,0.010949503,0.019220416,0.424059428,0.496134519,0,0,0,0,0,0 +eatout,FALSE,17,2,0,0,0,0,0.009447942,0,0.059827266,0.109282601,0.010850987,0.012969818,0.170046907,0.153233152,0.474341327,0,0,0,0,0,0 +eatout,FALSE,17,3,0,0,0,0,0,0,0.020113077,0.088749328,0.011185398,0,0.071370427,0.323187311,0.485394459,0,0,0,0,0,0 +eatout,FALSE,17,4,0,0,0.038633648,0,0,0,0,0.019522201,0.039044403,0.062661272,0.092635226,0.060867571,0.68663568,0,0,0,0,0,0 +eatout,FALSE,18,1,0,0.00402747,0,0.002699769,0,0,0.003458022,0.004776748,0,0,0.007128847,0.022821634,0.560262038,0.394825471,0,0,0,0,0 +eatout,FALSE,18,2,0,0,0,0,0,0,0.025269691,0.053659728,0.018624541,0,0.015410135,0.096858434,0.303814033,0.486363437,0,0,0,0,0 +eatout,FALSE,18,3,0,0,0,0.027139705,0,0,0,0,0.025309856,0,0.041317372,0,0.193332635,0.712900432,0,0,0,0,0 +eatout,FALSE,18,4,0,0,0,0.062266496,0,0,0,0.124532992,0,0,0,0.02844882,0.160985,0.623766691,0,0,0,0,0 +eatout,FALSE,19,1,0,0,0,0.035093846,0,0,0,0.002763787,0,0,0.007972126,0,0.006835141,0.182451712,0.76488339,0,0,0,0 +eatout,FALSE,19,2,0,0,0,0,0,0,0,0.009338966,0.0084296,0.012320862,0,0.007858119,0.07102686,0.181093919,0.709931674,0,0,0,0 +eatout,FALSE,19,3,0,0,0.034695617,0,0,0,0,0,0,0,0,0,0,0.325056792,0.640247591,0,0,0,0 +eatout,FALSE,19,4,0,0,0,0.101411526,0,0,0,0,0,0,0,0,0,0.101411526,0.797176947,0,0,0,0 +eatout,FALSE,20,1,0,0,0,0,0.006246293,0,0,0.011507943,0,0,0.013654973,0,0.007223887,0.028421478,0.204476714,0.728468712,0,0,0 +eatout,FALSE,20,2,0,0,0,0,0,0,0,0.029002329,0.008684063,0.040035705,0,0,0.033841105,0.026844626,0.219230553,0.64236162,0,0,0 +eatout,FALSE,20,3,0,0,0,0,0.017457545,0,0,0,0,0,0,0.022170954,0.111461135,0.026492142,0.144444394,0.677973828,0,0,0 +eatout,FALSE,20,4,0,0,0,0,0,0,0,0,0.027884869,0,0,0.019560862,0.053861802,0.185282652,0.14594305,0.567466765,0,0,0 +eatout,FALSE,21,1,0,0,0,0,0,0,0.001992088,0,0,0,0,0,0.004171801,0.008609329,0.045440515,0.297500935,0.642285332,0,0 +eatout,FALSE,21,2,0,0,0,0,0,0,0,0.008825951,0,0,0,0,0,0,0.022560857,0.064662954,0.903950239,0,0 +eatout,FALSE,21,3,0,0,0,0,0,0,0,0,0.01925505,0,0,0,0,0,0.141712181,0.063571817,0.775460952,0,0 +eatout,FALSE,21,4,0,0,0,0,0,0,0,0,0,0.059643388,0.029821694,0.029821694,0.054589294,0.218357176,0,0.338629065,0.269137688,0,0 +eatout,FALSE,22,1,0,0.003832232,0.014433483,0.029367654,0,0,0,0,0,0,0,0,0,0.037886729,0.013545706,0.01688148,0.286440472,0.597612243,0 +eatout,FALSE,22,2,0,0,0,0.058773031,0.007875566,0,0.038790615,0,0,0,0,0,0,0.124436861,0.030453108,0.011388959,0.304645476,0.423636384,0 +eatout,FALSE,22,3,0,0.023843907,0,0,0.012800003,0,0,0,0.063045627,0,0,0,0,0.016739233,0.04949484,0.078783423,0.338585891,0.416707076,0 +eatout,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0.012407461,0.122224371,0.035520139,0.109039785,0,0.076367345,0.347441239,0.296999659,0 +eatout,FALSE,23,1,0,0,0,0,0,0,0,0.012371175,0,0.025704524,0,0.023327151,0,0.007669333,0.042011178,0.019479582,0.006261906,0.163786764,0.699388388 +eatout,FALSE,23,2,0,0,0,0,0,0,0,0,0.033721119,0.101287181,0,0.014308982,0,0,0.023495989,0.043546799,0.169610935,0.119773048,0.494255948 +eatout,FALSE,23,3,0,0,0,0,0,0,0,0,0,0.098543037,0,0,0,0,0,0.027420729,0.019663025,0.062014245,0.792358964 +eatout,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.015339182,0.166441975,0.108428683,0.70979016 +social,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163488477,0.72896704,0.107544483,0,0,0 +social,TRUE,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,2,0,0.429301212,0.220838883,0,0,0.349859905,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,7,2,0,0,0.238446471,0.18847097,0.451233232,0.061171813,0,0,0,0,0,0.060677514,0,0,0,0,0,0,0 +social,TRUE,7,3,0,0,0.263472951,0,0.345559204,0.045763272,0.194319778,0,0,0,0.076482272,0.074402522,0,0,0,0,0,0,0 +social,TRUE,7,4,0,0,0,0,0.720034483,0,0,0,0,0,0,0,0,0.279965517,0,0,0,0,0 +social,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,8,2,0,0,0,0.254275275,0.460062202,0.285662524,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,8,3,0,0,0,0,0.319310909,0,0.196475338,0,0.334528108,0,0,0.149685645,0,0,0,0,0,0,0 +social,TRUE,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0.654606666,0.345393334,0,0,0,0,0 +social,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,2,0,0,0,0,0.545721423,0.112625256,0.326444169,0.015209152,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,3,0,0,0,0,0.023262324,0.080080665,0.730468634,0.143870653,0.022317724,0,0,0,0,0,0,0,0,0,0 +social,TRUE,9,4,0,0,0,0,0,0.026826474,0.852263327,0,0,0,0,0.014490394,0,0,0.053209903,0.053209903,0,0,0 +social,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,10,2,0,0,0,0,0,0.151977255,0.519637411,0.191906468,0.085778382,0.050700484,0,0,0,0,0,0,0,0,0 +social,TRUE,10,3,0,0,0,0,0,0.046500192,0.658940192,0.178956942,0,0.115602674,0,0,0,0,0,0,0,0,0 +social,TRUE,10,4,0,0,0,0,0,0,0.204837475,0.204837475,0.204837475,0,0,0.128495859,0.256991717,0,0,0,0,0,0 +social,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,11,2,0,0,0,0,0,0,0.252313913,0.608752771,0.060673874,0.078259442,0,0,0,0,0,0,0,0,0 +social,TRUE,11,3,0,0,0,0,0,0,0,0.893087119,0,0,0.106912881,0,0,0,0,0,0,0,0 +social,TRUE,11,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +social,TRUE,12,2,0,0,0,0,0,0,0,0.01555306,0.804005354,0.113032269,0.042952725,0.024456591,0,0,0,0,0,0,0 +social,TRUE,12,3,0,0,0,0,0,0,0,0,0.762673603,0.196684366,0,0.040642031,0,0,0,0,0,0,0 +social,TRUE,12,4,0,0,0,0,0,0,0,0,0.974582243,0.025417757,0,0,0,0,0,0,0,0,0 +social,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,TRUE,13,2,0,0,0,0,0,0,0,0,0.666277769,0.215739994,0.117982237,0,0,0,0,0,0,0,0 +social,TRUE,13,3,0,0,0,0,0,0,0,0,0.20985109,0.290892068,0,0.499256842,0,0,0,0,0,0,0 +social,TRUE,13,4,0,0,0,0,0,0,0,0,0,0,0.27976381,0.48015746,0,0.24007873,0,0,0,0,0 +social,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +social,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.474250224,0.479544424,0.046205352,0,0,0,0,0,0,0 +social,TRUE,14,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,14,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +social,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.415915716,0.304081655,0.122383721,0.157618908,0,0,0,0,0 +social,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.149219919,0.262392987,0.163198885,0.364386422,0.060801787,0,0,0,0 +social,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0,0.382256993,0.20034388,0.20034388,0.217055247,0,0,0 +social,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.084972892,0.631896416,0.184989951,0.098140741,0,0,0,0 +social,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.566972184,0,0.433027816,0,0,0 +social,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +social,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +social,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.153985008,0.442019825,0.287546211,0.116448956,0,0,0 +social,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.805041829,0.194958171,0,0,0,0 +social,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.386035694,0.613964306,0,0,0,0 +social,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +social,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.415464544,0.466670617,0.11786484,0,0,0 +social,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480898747,0.519101253,0,0,0 +social,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492816592,0.382668005,0.124515403,0,0 +social,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.296845882,0.703154118,0,0 +social,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +social,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.180542587,0.819457413,0,0 +social,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +social,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186441429,0.813558571 +social,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +social,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +social,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +social,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,1,0,0.175358533,0.824641467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,1,0,0,0.02236387,0.97763613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,1,0,0,0,0.461831955,0.538168045,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,1,0,0,0,0,0.168748059,0.831251941,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,2,0,0,0,0,0.100405941,0.899594059,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,1,0,0,0,0,0.02167612,0.606898663,0.371425217,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,2,0,0,0,0.025894331,0,0.076173851,0.897931818,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,3,0,0,0,0,0,0.0362574,0.9637426,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,11,4,0,0,0,0,0,0.666666667,0.333333333,0,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,1,0,0,0,0,0,0.040943046,0.339881423,0.619175531,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,2,0,0,0,0,0,0.055306785,0,0.944693215,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,3,0,0,0,0,0,0,0.113705951,0.886294049,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,12,4,0,0,0,0,0,0,0.020620903,0.979379097,0,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,1,0,0.110729344,0,0,0,0,0.028982164,0.160850288,0.699438204,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,2,0,0,0,0,0,0,0,0.434109617,0.565890383,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +social,FALSE,14,1,0,0,0,0,0,0,0.012646359,0.049957288,0.064957981,0.872438372,0,0,0,0,0,0,0,0,0 +social,FALSE,14,2,0,0,0,0,0,0,0,0.092000521,0.207125543,0.700873936,0,0,0,0,0,0,0,0,0 +social,FALSE,14,3,0,0,0,0,0,0,0,0,0.123105709,0.876894291,0,0,0,0,0,0,0,0,0 +social,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +social,FALSE,15,1,0,0,0,0,0,0,0,0.025915129,0.021414108,0.301296274,0.651374488,0,0,0,0,0,0,0,0 +social,FALSE,15,2,0,0,0,0,0,0,0,0.038851326,0.060308128,0.040085863,0.860754683,0,0,0,0,0,0,0,0 +social,FALSE,15,3,0,0,0,0,0,0,0,0,0,0.337125075,0.662874925,0,0,0,0,0,0,0,0 +social,FALSE,15,4,0,0,0,0,0,0,0,0,0,0.240804556,0.759195444,0,0,0,0,0,0,0,0 +social,FALSE,16,1,0,0,0,0,0,0,0.010850109,0.028630302,0.034941364,0.027356994,0.399487153,0.498734077,0,0,0,0,0,0,0 +social,FALSE,16,2,0,0,0,0,0,0,0,0.085290601,0.096379465,0.140055991,0.14515731,0.533116633,0,0,0,0,0,0,0 +social,FALSE,16,3,0,0,0,0,0,0,0,0.039789367,0,0,0.207791274,0.752419359,0,0,0,0,0,0,0 +social,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0.444162303,0.555837697,0,0,0,0,0,0,0 +social,FALSE,17,1,0,0,0,0,0,0.004235542,0.004235542,0.010773772,0.036037056,0.011244257,0.008654904,0.185030812,0.739788115,0,0,0,0,0,0 +social,FALSE,17,2,0,0,0,0,0,0,0.011747117,0.030318289,0,0.026130418,0.124118238,0.265470463,0.542215475,0,0,0,0,0,0 +social,FALSE,17,3,0,0,0,0,0,0,0,0.035991711,0.05581904,0,0.118744644,0.174641807,0.614802798,0,0,0,0,0,0 +social,FALSE,17,4,0,0,0,0,0,0,0,0,0,0.133377911,0.156860689,0.067276975,0.642484425,0,0,0,0,0,0 +social,FALSE,18,1,0,0,0,0,0,0,0,0,0.021116578,0,0.023935246,0.014708731,0.292437045,0.6478024,0,0,0,0,0 +social,FALSE,18,2,0,0,0,0,0,0,0,0,0.050647706,0.018469336,0.057408229,0.034520986,0.245483705,0.593470039,0,0,0,0,0 +social,FALSE,18,3,0,0,0,0,0,0,0,0,0.215338024,0,0,0.143481023,0.32589869,0.315282263,0,0,0,0,0 +social,FALSE,18,4,0,0,0,0,0,0,0.012374723,0.012374723,0.037124169,0,0.012374723,0.11617789,0.120134128,0.689439644,0,0,0,0,0 +social,FALSE,19,1,0,0,0,0,0,0,0.007898288,0,0,0,0,0,0.121563834,0.284121966,0.586415912,0,0,0,0 +social,FALSE,19,2,0,0,0,0,0,0,0.039741889,0,0,0,0.02465859,0.116870248,0.036063489,0.320456158,0.462209626,0,0,0,0 +social,FALSE,19,3,0,0,0,0,0,0,0,0.054643855,0,0,0,0.060605496,0.025192236,0.702933269,0.156625145,0,0,0,0 +social,FALSE,19,4,0,0,0,0,0,0,0,0,0.175116816,0,0.022349377,0.130418062,0.054376362,0.036216461,0.581522921,0,0,0,0 +social,FALSE,20,1,0,0,0,0,0,0,0,0.006741002,0,0,0.01216091,0,0,0,0.185101107,0.795996982,0,0,0 +social,FALSE,20,2,0,0,0,0,0,0,0,0,0,0.04641167,0,0.083727631,0.098296373,0,0.202274397,0.569289928,0,0,0 +social,FALSE,20,3,0,0,0,0,0,0,0,0,0,0.139066538,0,0,0,0.294532307,0.250878966,0.315522189,0,0,0 +social,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0.139014445,0,0,0.258582347,0.602403208,0,0,0 +social,FALSE,21,1,0,0,0,0,0,0,0,0.006536044,0,0,0.004122227,0,0.009592478,0,0.025254876,0.168812361,0.785682015,0,0 +social,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0.009947847,0,0,0.015489709,0.091770901,0.882791543,0,0 +social,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0.035778147,0,0,0.059543199,0.096410036,0.808268618,0,0 +social,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0.039227837,0,0,0,0.272007988,0.688764175,0,0 +social,FALSE,22,1,0,0,0,0,0,0,0.008693912,0,0,0.023590293,0,0,0.014992001,0.012884951,0.01979978,0.017778233,0.266462768,0.635798061,0 +social,FALSE,22,2,0,0,0,0,0,0,0,0,0,0.054229245,0.01998552,0,0,0.183589112,0.020695417,0.01231348,0.164392793,0.544794434,0 +social,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0.03472135,0,0,0.015619534,0,0.035954672,0.531548096,0.382156347,0 +social,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0.05888279,0.05888279,0,0.176648369,0.09089481,0.189410385,0.425280856,0 +social,FALSE,23,1,0,0,0,0,0,0,0,0.028390618,0,0,0.004916978,0,0,0,0.014598183,0.07621256,0.027119644,0.125695917,0.7230661 +social,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0.01089797,0,0,0.031808043,0,0.091217964,0.172140515,0.693935509 +social,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052410677,0.231068411,0.716520911 +social,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061760943,0.229019025,0.709220031 +othdiscr,TRUE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,5,2,0.261967145,0.409228643,0,0,0,0,0.034160738,0.0288967,0,0.105662564,0,0.028934007,0.099906136,0.031244066,0,0,0,0,0 +othdiscr,TRUE,5,3,0.05651263,0.078010805,0,0,0,0,0,0,0,0,0.105067549,0.353285463,0.190245768,0,0.216877785,0,0,0,0 +othdiscr,TRUE,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,TRUE,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,TRUE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,6,2,0,0.098860067,0.663141032,0.044723228,0.012153718,0.015393409,0,0.016907036,0,0.010826104,0.098262057,0.016422181,0.023311168,0,0,0,0,0,0 +othdiscr,TRUE,6,3,0,0.024215249,0.736578596,0.018671746,0.050466724,0,0.046817344,0.010678175,0.023238019,0,0.032556217,0,0.035620327,0.021157602,0,0,0,0,0 +othdiscr,TRUE,6,4,0,0,0.081847071,0,0.338763551,0,0.240085302,0,0.114633558,0,0.146128192,0,0,0.078542326,0,0,0,0,0 +othdiscr,TRUE,6,5,0,0,0.081847071,0,0.338763551,0,0.240085302,0,0.114633558,0,0.146128192,0,0,0.078542326,0,0,0,0,0 +othdiscr,TRUE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,7,2,0,0,0.352097404,0.309242997,0.08178386,0.093069138,0.009864271,0.017742267,0,0.050016669,0.019229555,0.024087308,0.042866531,0,0,0,0,0,0 +othdiscr,TRUE,7,3,0,0,0.212218699,0.104250306,0.22359596,0.028585094,0,0.022759931,0.040936909,0.272511733,0,0,0,0.095141367,0,0,0,0,0 +othdiscr,TRUE,7,4,0,0,0,0.429994902,0.250073782,0.067515708,0.179786534,0,0,0,0,0,0,0,0.072629074,0,0,0,0 +othdiscr,TRUE,7,5,0,0,0,0.429994902,0.250073782,0.067515708,0.179786534,0,0,0,0,0,0,0,0.072629074,0,0,0,0 +othdiscr,TRUE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,8,2,0,0,0,0.27373664,0.651618467,0.038952541,0.006393093,0,0,0.010887769,0.010198326,0,0.008213164,0,0,0,0,0,0 +othdiscr,TRUE,8,3,0,0,0,0.256077087,0.567372083,0.111208754,0.044947659,0,0,0,0,0.020394418,0,0,0,0,0,0,0 +othdiscr,TRUE,8,4,0,0,0,0,0.419368759,0.043993527,0.123598787,0,0,0,0,0.092242747,0.32079618,0,0,0,0,0,0 +othdiscr,TRUE,8,5,0,0,0,0,0.419368759,0.043993527,0.123598787,0,0,0,0,0.092242747,0.32079618,0,0,0,0,0,0 +othdiscr,TRUE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,9,2,0,0,0,0,0.325654332,0.331629325,0.251597773,0.036069214,0,0,0.007507425,0,0.005333887,0,0.042208044,0,0,0,0 +othdiscr,TRUE,9,3,0,0,0,0,0.296114826,0.283133229,0.171133878,0.024057098,0.039684124,0,0.104372804,0,0,0,0.081504041,0,0,0,0 +othdiscr,TRUE,9,4,0,0,0,0,0,0.026872303,0.087815216,0.185433391,0.459158688,0.037962963,0.202757439,0,0,0,0,0,0,0,0 +othdiscr,TRUE,9,5,0,0,0,0,0,0.026872303,0.087815216,0.185433391,0.459158688,0.037962963,0.202757439,0,0,0,0,0,0,0,0 +othdiscr,TRUE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,10,2,0,0,0,0,0,0.284975884,0.535943751,0.094599159,0.060212546,0,0,0,0.014932613,0,0.009336047,0,0,0,0 +othdiscr,TRUE,10,3,0,0,0,0,0,0.03549155,0.582807345,0.127174633,0.224739775,0,0,0,0,0.029786697,0,0,0,0,0 +othdiscr,TRUE,10,4,0,0,0,0,0,0,0.354929378,0.145446894,0.499623728,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,10,5,0,0,0,0,0,0,0.354929378,0.145446894,0.499623728,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,11,2,0,0,0,0,0,0,0.373878462,0.422332476,0.042754045,0.138634672,0.012364309,0.010036036,0,0,0,0,0,0,0 +othdiscr,TRUE,11,3,0,0,0,0,0,0,0.120480473,0.332302699,0.091421072,0.287256805,0.161854878,0.006684074,0,0,0,0,0,0,0 +othdiscr,TRUE,11,4,0,0,0,0,0,0,0.227930951,0,0.335102136,0.044198628,0.207476437,0,0.185291847,0,0,0,0,0,0 +othdiscr,TRUE,11,5,0,0,0,0,0,0,0.227930951,0,0.335102136,0.044198628,0.207476437,0,0.185291847,0,0,0,0,0,0 +othdiscr,TRUE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,12,2,0,0,0,0,0,0,0,0.383615621,0.305559088,0.131113594,0.103542737,0.07616896,0,0,0,0,0,0,0 +othdiscr,TRUE,12,3,0,0,0,0,0,0,0,0.128632011,0.247877929,0.37071038,0.084899625,0.167880054,0,0,0,0,0,0,0 +othdiscr,TRUE,12,4,0,0,0,0,0,0,0,0,0.205547015,0.162425226,0.239993719,0,0.392034039,0,0,0,0,0,0 +othdiscr,TRUE,12,5,0,0,0,0,0,0,0,0,0.205547015,0.162425226,0.239993719,0,0.392034039,0,0,0,0,0,0 +othdiscr,TRUE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,13,2,0,0,0,0,0,0,0,0,0.353861476,0.371100297,0.168208236,0.052680009,0.054149982,0,0,0,0,0,0 +othdiscr,TRUE,13,3,0,0,0,0,0,0,0,0,0,0.679754381,0.320245619,0,0,0,0,0,0,0,0 +othdiscr,TRUE,13,4,0,0,0,0,0,0,0,0,0,0.043643993,0.545880167,0.094829055,0.241931264,0,0.073715521,0,0,0,0 +othdiscr,TRUE,13,5,0,0,0,0,0,0,0,0,0,0.043643993,0.545880167,0.094829055,0.241931264,0,0.073715521,0,0,0,0 +othdiscr,TRUE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,TRUE,14,2,0,0,0,0,0,0,0,0,0,0.288892103,0.603164379,0.048532082,0.059411436,0,0,0,0,0,0 +othdiscr,TRUE,14,3,0,0,0,0,0,0,0,0,0,0.021579093,0.46445134,0.316987948,0.142583522,0.054398096,0,0,0,0,0 +othdiscr,TRUE,14,4,0,0,0,0,0,0,0,0,0,0.09464155,0.567572891,0.33778556,0,0,0,0,0,0,0 +othdiscr,TRUE,14,5,0,0,0,0,0,0,0,0,0,0.09464155,0.567572891,0.33778556,0,0,0,0,0,0,0 +othdiscr,TRUE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,TRUE,15,2,0,0,0,0,0,0,0,0,0,0,0.373801479,0.542977323,0.070343764,0.01078053,0.002096902,0,0,0,0 +othdiscr,TRUE,15,3,0,0,0,0,0,0,0,0,0,0,0.122689199,0.717331575,0.030530698,0.123760049,0.005688479,0,0,0,0 +othdiscr,TRUE,15,4,0,0,0,0,0,0,0,0,0,0,0,0.635796163,0,0,0.364203837,0,0,0,0 +othdiscr,TRUE,15,5,0,0,0,0,0,0,0,0,0,0,0,0.635796163,0,0,0.364203837,0,0,0,0 +othdiscr,TRUE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,TRUE,16,2,0,0,0,0,0,0,0,0,0,0,0,0.712603233,0.193798154,0.048982419,0.039696774,0.00491942,0,0,0 +othdiscr,TRUE,16,3,0,0,0,0,0,0,0,0,0,0,0,0.841745433,0.101833145,0.027409468,0,0.029011955,0,0,0 +othdiscr,TRUE,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0.17218743,0.195323109,0.429118156,0,0.203371304,0,0 +othdiscr,TRUE,16,5,0,0,0,0,0,0,0,0,0,0,0,0,0.17218743,0.195323109,0.429118156,0,0.203371304,0,0 +othdiscr,TRUE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,TRUE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0.185120326,0.587302234,0.220258146,0,0.007319293,0,0 +othdiscr,TRUE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,0.183125342,0.285960671,0.48842584,0.013192652,0.029295494,0,0 +othdiscr,TRUE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102125632,0.746583804,0.151290564,0,0,0 +othdiscr,TRUE,17,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102125632,0.746583804,0.151290564,0,0,0 +othdiscr,TRUE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,TRUE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542729526,0.35986304,0.097407435,0,0,0 +othdiscr,TRUE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.480620595,0.242765324,0.062025461,0.187335855,0.027252764,0 +othdiscr,TRUE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098853758,0.563447888,0.242412271,0,0.095286083,0 +othdiscr,TRUE,18,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098853758,0.563447888,0.242412271,0,0.095286083,0 +othdiscr,TRUE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,TRUE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.341735737,0.560576797,0.050581281,0.047106185,0 +othdiscr,TRUE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.213928771,0.439416592,0,0.346654637,0 +othdiscr,TRUE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,19,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.849356959,0.101132981,0.025617338,0.023892721 +othdiscr,TRUE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,20,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,TRUE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,21,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,TRUE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,22,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,TRUE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,TRUE,23,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,5,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,6,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,7,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,8,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,9,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,10,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,11,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,12,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,13,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,14,4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,15,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 +othdiscr,FALSE,16,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,16,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0 +othdiscr,FALSE,17,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,17,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +othdiscr,FALSE,18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,18,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0 +othdiscr,FALSE,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,19,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +othdiscr,FALSE,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 +othdiscr,FALSE,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,21,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 +othdiscr,FALSE,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 +othdiscr,FALSE,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 +othdiscr,FALSE,23,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 \ No newline at end of file diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_allocation.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_allocation.csv rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation.csv diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_allocation.yaml b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation.yaml similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_allocation.yaml rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation.yaml diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_allocation_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_allocation_annotate_choosers_preprocessor.csv rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_allocation_coefficients.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_allocation_coefficients.csv rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_allocation_coefficients.csv diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_type_choice.yaml b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice.yaml similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_type_choice.yaml rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice.yaml diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_annotate_choosers_preprocessor.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_annotate_choosers_preprocessor.csv rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_annotate_choosers_preprocessor.csv diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_op2.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_op2.csv rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2.csv diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_op2_coefficients.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_op2_coefficients.csv rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2_coefficients.csv diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_op2_fuel_type_probs.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2_fuel_type_probs.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_op2_fuel_type_probs.csv rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op2_fuel_type_probs.csv diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_op4.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op4.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_op4.csv rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op4.csv diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_op4_coefficients.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op4_coefficients.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_type_choice_op4_coefficients.csv rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_type_choice_op4_coefficients.csv diff --git a/activitysim/examples/example_mtc_extended/configs/vehicle_type_data.csv b/activitysim/examples/prototype_mtc_extended/configs/vehicle_type_data.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/configs/vehicle_type_data.csv rename to activitysim/examples/prototype_mtc_extended/configs/vehicle_type_data.csv diff --git a/activitysim/examples/example_mtc_extended/configs_mp/logging.yaml b/activitysim/examples/prototype_mtc_extended/configs_mp/logging.yaml similarity index 100% rename from activitysim/examples/example_mtc_extended/configs_mp/logging.yaml rename to activitysim/examples/prototype_mtc_extended/configs_mp/logging.yaml diff --git a/activitysim/examples/example_mtc_extended/configs_mp/settings.yaml b/activitysim/examples/prototype_mtc_extended/configs_mp/settings.yaml similarity index 74% rename from activitysim/examples/example_mtc_extended/configs_mp/settings.yaml rename to activitysim/examples/prototype_mtc_extended/configs_mp/settings.yaml index 9938537c7b..27e13575f8 100644 --- a/activitysim/examples/example_mtc_extended/configs_mp/settings.yaml +++ b/activitysim/examples/prototype_mtc_extended/configs_mp/settings.yaml @@ -20,7 +20,7 @@ fail_fast: True # - ------------------------- dev config multiprocess: True strict: False -use_shadow_pricing: False +use_shadow_pricing: True households_sample_size: 0 chunk_size: 0 @@ -35,19 +35,23 @@ want_dest_choice_sample_tables: False #write_skim_cache: True # - tracing -#trace_hh_id: +trace_hh_id: trace_od: # to resume after last successful checkpoint, specify resume_after: _ #resume_after: trip_purpose_and_destination models: - ### mp_initialize step + ### mp_initialize_proto step (Create the proto tables in single process to be shared across cores) + - initialize_proto_population + ### mp_disaggregate_accessibility (Slice and run proto tables in multiprocess) + - compute_disaggregate_accessibility + ### mp_initialize_hhs step - initialize_landuse - initialize_households ### mp_accessibility step - compute_accessibility - ### mp_households step + ### mp_simulate step - school_location - workplace_location - auto_ownership_simulate @@ -56,6 +60,7 @@ models: - cdap_simulate - mandatory_tour_frequency - mandatory_tour_scheduling + - school_escorting - joint_tour_frequency - joint_tour_composition - joint_tour_participation @@ -83,6 +88,15 @@ models: multiprocess_steps: - name: mp_initialize + begin: initialize_proto_population + - name: mp_disaggregate_accessibility + begin: compute_disaggregate_accessibility + slice: + tables: + - proto_households + - proto_persons + - proto_tours + - name: mp_initialize_hhs begin: initialize_landuse - name: mp_accessibility begin: compute_accessibility @@ -90,8 +104,8 @@ multiprocess_steps: tables: - accessibility # don't slice any tables not explicitly listed above in slice.tables - except: True - - name: mp_households + except: True # This is needed after disaggregate accessibilities, otherwise it will return empty logsums tables + - name: mp_simulate begin: school_location slice: tables: diff --git a/activitysim/examples/example_sandag/output_3/.gitignore b/activitysim/examples/prototype_mtc_extended/output/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_3/.gitignore rename to activitysim/examples/prototype_mtc_extended/output/.gitignore diff --git a/activitysim/examples/example_sandag/output_3/cache/.gitignore b/activitysim/examples/prototype_mtc_extended/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_3/cache/.gitignore rename to activitysim/examples/prototype_mtc_extended/output/cache/.gitignore diff --git a/activitysim/examples/example_sandag/output_3/log/.gitignore b/activitysim/examples/prototype_mtc_extended/output/log/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_3/log/.gitignore rename to activitysim/examples/prototype_mtc_extended/output/log/.gitignore diff --git a/activitysim/examples/example_sandag/output_3/trace/.gitignore b/activitysim/examples/prototype_mtc_extended/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/output_3/trace/.gitignore rename to activitysim/examples/prototype_mtc_extended/output/trace/.gitignore diff --git a/activitysim/examples/prototype_mtc_extended/sampling_scenarios.py b/activitysim/examples/prototype_mtc_extended/sampling_scenarios.py new file mode 100644 index 0000000000..84e72beddc --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/sampling_scenarios.py @@ -0,0 +1,179 @@ +import argparse +import os +import pkg_resources +import yaml +import pandas as pd +import shutil +from activitysim.cli.run import add_run_args, run +from activitysim.core.util import named_product + +START_ITER = 0 +SAMPLING_PARAMS = { + "DESTINATION_SAMPLE_SIZE": [0.1, 1 / 3, 2 / 3, 0], + "ORIGIN_SAMPLE_SIZE": [0.1, 1 / 3, 2 / 3, 0], + "ORIGIN_SAMPLE_METHOD": [None], # , 'kmeans'] +} + + +def integer_params(params): + n_zones = count_lines_enumerate(base_path("data_2/land_use.csv")) + + d_zones = 1 if params.DESTINATION_SAMPLE_SIZE > 1 else n_zones + o_zones = 1 if params.ORIGIN_SAMPLE_SIZE > 1 else n_zones + + params.DESTINATION_SAMPLE_SIZE = round(params.DESTINATION_SAMPLE_SIZE * d_zones) + params.ORIGIN_SAMPLE_SIZE = round(params.ORIGIN_SAMPLE_SIZE * o_zones) + + return params + + +def base_path(dirname): + resource = os.path.join("examples", "placeholder_sandag_2_zone", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def extended_path(dirname): + resource = os.path.join("examples", "placeholder_sandag_2_zone_extended", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + +def run_model(): + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + # add in the arguments + args.config = [ + extended_path("configs_mp"), + extended_path("configs"), + base_path("configs_2_zone"), + base_path("placeholder_psrc/configs"), + ] + args.output = extended_path("output") + args.data = [extended_path("data"), base_path("data_2")] + run(args) + + +def count_lines_enumerate(file_name): + fp = open(file_name, "r") + line_count = list(enumerate(fp))[-1][0] + return line_count + + +def update_configs(scene, model_settings, config_path): + # Update the model settings + scene = integer_params(scene) + model_settings["DESTINATION_SAMPLE_SIZE"] = scene.DESTINATION_SAMPLE_SIZE + model_settings["ORIGIN_SAMPLE_SIZE"] = scene.ORIGIN_SAMPLE_SIZE + model_settings["ORIGIN_SAMPLE_METHOD"] = scene.ORIGIN_SAMPLE_METHOD + + with open(config_path, "w") as file: + yaml.dump(model_settings, file) + + return model_settings + + +def make_scene_name(it, params): + d_samp = params["DESTINATION_SAMPLE_SIZE"] + o_samp = params["ORIGIN_SAMPLE_SIZE"] + method = params["ORIGIN_SAMPLE_METHOD"] + + scene_name = "scene-{}_dsamp-{}_osamp-{}_method-{}".format( + it + START_ITER, + d_samp, + o_samp, + method, + ) + + return scene_name + + +def copy_output(scene_name, model_settings): + + scene_dir_name = os.path.join("scenarios_output", scene_name) + + if os.path.exists(extended_path(scene_dir_name)): + shutil.rmtree(extended_path(scene_dir_name)) + os.makedirs(extended_path(scene_dir_name)) + + log = pd.read_csv("scenarios_output/log.csv") + filt = ( + (log.DESTINATION_SAMPLE_SIZE == model_settings["DESTINATION_SAMPLE_SIZE"]) + & (log.ORIGIN_SAMPLE_SIZE == model_settings["ORIGIN_SAMPLE_SIZE"]) + & (log.ORIGIN_SAMPLE_METHOD == model_settings["ORIGIN_SAMPLE_METHOD"]) + ) + log.loc[filt, "COMPLETED_ID"] = scene_name + log.to_csv("scenarios_output/log.csv", index=False) + + files_list = [ + x + for x in os.listdir(extended_path("output")) + if "pipeline" not in x and "cache" not in x + ] + + for file in files_list: + copyargs = { + "src": extended_path(os.path.join("output", file)), + "dst": extended_path(os.path.join(scene_dir_name, file)), + } + if os.path.isfile(copyargs["src"]): + shutil.copy(**copyargs) + else: + if os.path.exists(copyargs["dst"]): + shutil.rmtree(copyargs["dst"]) + shutil.copytree(**copyargs) + return + + +def run_scenarios(): + config_path = extended_path("configs/disaggregate_accessibility.yaml") + with open(config_path) as file: + model_settings = yaml.load(file, Loader=yaml.FullLoader) + + if not os.path.exists(extended_path("scenarios_output")): + os.makedirs(extended_path("scenarios_output")) + + if os.path.exists(extended_path("scenarios_output/log.csv")): + log = pd.read_csv(extended_path("scenarios_output/log.csv")) + # assert scenarios[['DESTINATION_SAMPLE_SIZE','ORIGIN_SAMPLE_SIZE', 'ORIGIN_SAMPLE_METHOD']].equals( + # log[['DESTINATION_SAMPLE_SIZE','ORIGIN_SAMPLE_SIZE', 'ORIGIN_SAMPLE_METHOD']] + # ) + scenarios = log + else: + scenarios = pd.DataFrame(named_product(**SAMPLING_PARAMS)) + scenarios["COMPLETED_ID"] = "" + scenarios["SKIP"] = False + scenarios.to_csv(extended_path("scenarios_output/log.csv"), index=False) + + for it, scene in scenarios.iterrows(): + # Update model settings + model_settings = update_configs(scene, model_settings, config_path) + + # Check if already run + scene_name = make_scene_name(it, scene) + scene_dir_name = extended_path(os.path.join("scenarios_output", scene_name)) + + if ( + any(scenarios.COMPLETED_ID == scene_name) + and os.path.exists(scene_dir_name) + or scene.SKIP + ): + continue + + # Run the model + print( + f"Running model {it} of {len(scenarios.index)}: {chr(10)}" + + f"{chr(10)}".join( + [f"{var}={model_settings[var]}" for var in SAMPLING_PARAMS.keys()] + ) + ) + try: + run_model() + # Copy results to named folder + copy_output(scene_name, model_settings) + except: + print(f"Failed on scene {scene_name}") + + +if __name__ == "__main__": + run_scenarios() diff --git a/activitysim/examples/prototype_mtc_extended/test/configs/settings.yaml b/activitysim/examples/prototype_mtc_extended/test/configs/settings.yaml new file mode 100644 index 0000000000..d322efd0f3 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/test/configs/settings.yaml @@ -0,0 +1,42 @@ +inherit_settings: True + +# number of households to simulate +households_sample_size: 10 +# simulate all households +# households_sample_size: 0 + +strict: True + +chunk_size: 0 + +# - shadow pricing global switches +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +# global switch to turn on or off presampling of destination alternatives at TAZ level (multizone models only) +want_dest_choice_presampling: True + +# - tracing +# trace household id; comment out or leave empty for no trace +trace_hh_id: + +# trace origin, destination in accessibility calculation; comment out or leave empty for no trace +# trace_od: [5, 11] +trace_od: + +output_tables: + h5_store: False + action: include + prefix: final_ + sort: True + tables: + - trips + - vehicles + - proto_disaggregate_accessibility + diff --git a/activitysim/examples/example_semcog/configs_mp/logging.yaml b/activitysim/examples/prototype_mtc_extended/test/configs_mp/logging.yaml old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_semcog/configs_mp/logging.yaml rename to activitysim/examples/prototype_mtc_extended/test/configs_mp/logging.yaml index 779b63632d..e932009c5d --- a/activitysim/examples/example_semcog/configs_mp/logging.yaml +++ b/activitysim/examples/prototype_mtc_extended/test/configs_mp/logging.yaml @@ -1,57 +1,57 @@ -# Config for logging -# ------------------ -# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema - -logging: - version: 1 - disable_existing_loggers: true - - - # Configuring the default (root) logger is highly recommended - root: - level: DEBUG - handlers: [console, logfile] - - loggers: - - activitysim: - level: DEBUG - handlers: [console, logfile] - propagate: false - - orca: - level: WARNING - handlers: [console, logfile] - propagate: false - - handlers: - - logfile: - class: logging.FileHandler - filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] - mode: w - formatter: fileFormatter - level: NOTSET - - console: - class: logging.StreamHandler - stream: ext://sys.stdout - formatter: simpleFormatter - #level: NOTSET - level: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [WARNING, NOTSET] - - formatters: - - simpleFormatter: - class: logging.Formatter - #format: '%(processName)-10s %(levelname)s - %(name)s - %(message)s' - format: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [ - '%(processName)-10s %(levelname)s - %(name)s - %(message)s', - '%(levelname)s - %(name)s - %(message)s'] - datefmt: '%d/%m/%Y %H:%M:%S' - - fileFormatter: - class: logging.Formatter - format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: DEBUG + handlers: [console, logfile] + + loggers: + + activitysim: + level: DEBUG + handlers: [console, logfile] + propagate: false + + orca: + level: WARNING + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + #level: NOTSET + level: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [WARNING, NOTSET] + + formatters: + + simpleFormatter: + class: logging.Formatter + #format: '%(processName)-10s %(levelname)s - %(name)s - %(message)s' + format: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [ + '%(processName)-10s %(levelname)s - %(name)s - %(message)s', + '%(levelname)s - %(name)s - %(message)s'] + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + diff --git a/activitysim/examples/example_sandag_xborder/test/configs/network_los.yaml b/activitysim/examples/prototype_mtc_extended/test/configs_mp/network_los.yaml similarity index 100% rename from activitysim/examples/example_sandag_xborder/test/configs/network_los.yaml rename to activitysim/examples/prototype_mtc_extended/test/configs_mp/network_los.yaml diff --git a/activitysim/examples/prototype_mtc_extended/test/configs_mp/settings.yaml b/activitysim/examples/prototype_mtc_extended/test/configs_mp/settings.yaml new file mode 100644 index 0000000000..f123acc559 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/test/configs_mp/settings.yaml @@ -0,0 +1,33 @@ +inherit_settings: True + +# treat warnings as errors +strict: True + +# raise error if any sub-process fails without waiting for others to complete +fail_fast: True + +multiprocess: True + +use_shadow_pricing: False + +chunk_size: 0 +num_processes: 2 + +# number of households to simulate +households_sample_size: 10 + +# turn writing of sample_tables on and off for all models +# (if True, tables will be written if DEST_CHOICE_SAMPLE_TABLE_NAME is specified in individual model settings) +want_dest_choice_sample_tables: False + +cleanup_pipeline_after_run: True + +output_tables: + h5_store: False + action: include + prefix: final_ + sort: True + tables: + - trips + - vehicles + - proto_disaggregate_accessibility \ No newline at end of file diff --git a/activitysim/examples/example_sandag/test/output/.gitignore b/activitysim/examples/prototype_mtc_extended/test/output/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/test/output/.gitignore rename to activitysim/examples/prototype_mtc_extended/test/output/.gitignore diff --git a/activitysim/examples/example_sandag/test/output/cache/.gitignore b/activitysim/examples/prototype_mtc_extended/test/output/cache/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/test/output/cache/.gitignore rename to activitysim/examples/prototype_mtc_extended/test/output/cache/.gitignore diff --git a/activitysim/examples/example_sandag/test/output/trace/.gitignore b/activitysim/examples/prototype_mtc_extended/test/output/trace/.gitignore similarity index 100% rename from activitysim/examples/example_sandag/test/output/trace/.gitignore rename to activitysim/examples/prototype_mtc_extended/test/output/trace/.gitignore diff --git a/activitysim/examples/prototype_mtc_extended/test/regress/final_proto_disaggregate_accessibility.csv b/activitysim/examples/prototype_mtc_extended/test/regress/final_proto_disaggregate_accessibility.csv new file mode 100644 index 0000000000..47b61b5e86 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/test/regress/final_proto_disaggregate_accessibility.csv @@ -0,0 +1,601 @@ +proto_person_id,proto_household_id,workplace_location_accessibility,othdiscr_accessibility,shopping_accessibility,pnum,military,pstudent,educ,grade,timeFactorWork,timeFactorNonWork,age,sex,ptype,pemploy,weeks,hours,DAP,age_16_to_19,age_16_p,adult,male,female,has_non_worker,has_retiree,has_preschool_kid,has_driving_kid,has_school_kid,has_full_time,has_part_time,has_university,student_is_employed,nonstudent_to_school,is_student,is_gradeschool,is_highschool,is_university,school_segment,is_worker,home_zone_id,value_of_time,HHT,auto_ownership,bldgsz,family,hh_value_of_time,hhsize,hinccat1,home_is_rural,home_is_urban,household_serial_no,hworkers,income,income_in_thousands,income_segment,median_value_of_time,non_family,num_adults,num_children,num_children_16_to_17,num_children_5_to_15,num_college_age,num_drivers,num_non_workers,num_workers,num_young_adults,num_young_children,persons,veh,DISTRICT,SD,county_id,TOTHH,TOTPOP,TOTACRE,RESACRE,CIACRE,TOTEMP,AGE0519,RETEMPN,FPSEMPN,HEREMPN,OTHEMPN,AGREMPN,MWTEMPN,PRKCST,OPRKCST,area_type,HSENROLL,COLLFTE,COLLPTE,TOPOLOGY,TERMINAL,household_density,employment_density,density_index,is_cbd,TOTENR_univ,ext_work_share,RETEMPN_scaled,FPSEMPN_scaled,HEREMPN_scaled,OTHEMPN_scaled,AGREMPN_scaled,MWTEMPN_scaled,TOTEMP_scaled +1,1,14.828828540802197,14.583105400151117,13.290724837607167,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,3.6993862007536533,1,0,2,True,3.6993862007536533,2,1,False,True,1,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +2,1,14.828828540802197,14.583105400151117,13.290724837607167,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,3.6993862007536533,1,0,2,True,3.6993862007536533,2,1,False,True,1,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +3,2,14.83619741760379,14.637156375030013,13.29240973917949,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,4.622160227939781,1,0,2,True,4.622160227939781,2,1,False,True,2,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +4,2,14.83619741760379,14.637156375030013,13.29240973917949,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,4.622160227939781,1,0,2,True,4.622160227939781,2,1,False,True,2,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +5,3,14.809367334886408,14.773733139382484,13.378175254176632,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,6.426304397824429,1,0,2,True,6.426304397824429,2,1,False,True,3,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +6,3,14.809367334886408,14.773733139382484,13.378175254176632,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,6.426304397824429,1,0,2,True,6.426304397824429,2,1,False,True,3,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +7,4,14.932338773852894,14.857589153196272,13.363463038624971,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,3.349135085367882,1,0,2,True,3.349135085367882,2,1,False,True,4,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +8,4,14.932338773852894,14.857589153196272,13.363463038624971,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,3.349135085367882,1,0,2,True,3.349135085367882,2,1,False,True,4,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +9,5,14.67001408798775,14.497081947540194,13.216072281042852,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,2.8151518476899557,1,0,2,True,2.8151518476899557,2,1,False,True,5,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +10,5,14.67001408798775,14.497081947540194,13.216072281042852,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,2.8151518476899557,1,0,2,True,2.8151518476899557,2,1,False,True,5,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +11,6,14.695070942820811,14.729156346499785,13.392359662645402,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,10.27487178098422,1,0,2,True,10.27487178098422,2,1,False,True,6,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +12,6,14.695070942820811,14.729156346499785,13.392359662645402,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,10.27487178098422,1,0,2,True,10.27487178098422,2,1,False,True,6,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +13,7,14.382460868006415,14.558411556274487,12.739176929463921,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,1.2370118044738838,1,0,2,True,1.2370118044738838,2,1,False,True,7,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +14,7,14.382460868006415,14.558411556274487,12.739176929463921,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,1.2370118044738838,1,0,2,True,1.2370118044738838,2,1,False,True,7,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +15,8,14.570265128762818,14.618801438987113,13.21435830656896,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,3.1139876848379626,1,0,2,True,3.1139876848379626,2,1,False,True,8,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +16,8,14.570265128762818,14.618801438987113,13.21435830656896,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,3.1139876848379626,1,0,2,True,3.1139876848379626,2,1,False,True,8,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +17,9,14.597419985486033,14.650826016274157,13.413416117843695,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,3.8385712502253573,1,0,2,True,3.8385712502253573,2,1,False,True,9,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +18,9,14.597419985486033,14.650826016274157,13.413416117843695,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,3.8385712502253573,1,0,2,True,3.8385712502253573,2,1,False,True,9,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +19,10,14.629610945925933,14.813513813014984,13.442730360118098,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,10.385462097445384,1,0,2,True,10.385462097445384,2,1,False,True,10,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +20,10,14.629610945925933,14.813513813014984,13.442730360118098,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,10.385462097445384,1,0,2,True,10.385462097445384,2,1,False,True,10,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +21,11,14.768073674644082,14.830159415554956,13.579357048171845,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,12.295379045080338,1,0,2,True,12.295379045080338,2,1,False,True,11,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +22,11,14.768073674644082,14.830159415554956,13.579357048171845,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,12.295379045080338,1,0,2,True,12.295379045080338,2,1,False,True,11,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +23,12,14.654722911670206,14.513777273636293,13.09546063438316,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,1.566650588211314,1,0,2,True,1.566650588211314,2,1,False,True,12,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +24,12,14.654722911670206,14.513777273636293,13.09546063438316,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,1.566650588211314,1,0,2,True,1.566650588211314,2,1,False,True,12,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +25,13,14.979523425803361,14.816839564702242,13.567895407193513,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,11.05520101068174,1,0,2,True,11.05520101068174,2,1,False,True,13,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +26,13,14.979523425803361,14.816839564702242,13.567895407193513,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,11.05520101068174,1,0,2,True,11.05520101068174,2,1,False,True,13,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +27,14,14.718006806825063,14.692158977208312,12.990495823639167,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,2.351002458384619,1,0,2,True,2.351002458384619,2,1,False,True,14,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +28,14,14.718006806825063,14.692158977208312,12.990495823639167,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,2.351002458384619,1,0,2,True,2.351002458384619,2,1,False,True,14,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +29,15,14.947823743935446,14.914065890740027,13.53282050882534,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,17.51823808878663,1,0,2,True,17.51823808878663,2,1,False,True,15,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +30,15,14.947823743935446,14.914065890740027,13.53282050882534,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,17.51823808878663,1,0,2,True,17.51823808878663,2,1,False,True,15,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +31,16,14.690019749089688,14.563695979893083,13.2337492525282,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,3.927312313334441,1,0,2,True,3.927312313334441,2,1,False,True,16,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +32,16,14.690019749089688,14.563695979893083,13.2337492525282,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,3.927312313334441,1,0,2,True,3.927312313334441,2,1,False,True,16,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +33,17,14.52459783963784,14.323450935447916,13.259201661019263,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,3.581523601079983,1,0,2,True,3.581523601079983,2,1,False,True,17,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +34,17,14.52459783963784,14.323450935447916,13.259201661019263,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,3.581523601079983,1,0,2,True,3.581523601079983,2,1,False,True,17,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +35,18,14.483844825307138,14.515967695971062,13.367200118408416,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,11.924364385670607,1,0,2,True,11.924364385670607,2,1,False,True,18,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +36,18,14.483844825307138,14.515967695971062,13.367200118408416,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,11.924364385670607,1,0,2,True,11.924364385670607,2,1,False,True,18,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +37,19,13.883812806530997,13.573207791305922,12.259247181197326,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,2.0618707574849084,1,0,2,True,2.0618707574849084,2,1,False,True,19,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +38,19,13.883812806530997,13.573207791305922,12.259247181197326,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,2.0618707574849084,1,0,2,True,2.0618707574849084,2,1,False,True,19,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +39,20,14.475027668046026,14.50024752748008,13.232575611542886,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,6.8760774035822605,1,0,2,True,6.8760774035822605,2,1,False,True,20,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +40,20,14.475027668046026,14.50024752748008,13.232575611542886,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,6.8760774035822605,1,0,2,True,6.8760774035822605,2,1,False,True,20,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +41,21,14.556394060292732,14.529653614560116,13.134244253431936,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,3.963174123146733,1,0,2,True,3.963174123146733,2,1,False,True,21,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +42,21,14.556394060292732,14.529653614560116,13.134244253431936,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,3.963174123146733,1,0,2,True,3.963174123146733,2,1,False,True,21,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +43,22,14.843571624685163,14.77826289083923,13.505655716120721,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,10.22269333101496,1,0,2,True,10.22269333101496,2,1,False,True,22,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +44,22,14.843571624685163,14.77826289083923,13.505655716120721,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,10.22269333101496,1,0,2,True,10.22269333101496,2,1,False,True,22,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +45,23,14.496461967754168,14.254958913683007,13.290917647028195,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,5.601773952270421,1,0,2,True,5.601773952270421,2,1,False,True,23,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +46,23,14.496461967754168,14.254958913683007,13.290917647028195,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,5.601773952270421,1,0,2,True,5.601773952270421,2,1,False,True,23,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +47,24,14.569735155652598,14.396487973134901,13.112176700430545,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,3.7761953739399243,1,0,2,True,3.7761953739399243,2,1,False,True,24,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +48,24,14.569735155652598,14.396487973134901,13.112176700430545,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,3.7761953739399243,1,0,2,True,3.7761953739399243,2,1,False,True,24,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +49,25,14.707497657105662,14.588621306644644,13.349676994216583,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,12.828627463759744,1,0,2,True,12.828627463759744,2,1,False,True,25,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +50,25,14.707497657105662,14.588621306644644,13.349676994216583,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,12.828627463759744,1,0,2,True,12.828627463759744,2,1,False,True,25,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +51,26,13.17421709567647,13.505918448192006,12.362634345499334,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,33.5377255969913,1,1,2,True,33.5377255969913,2,1,False,True,26,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +52,26,13.17421709567647,13.505918448192006,12.362634345499334,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,33.5377255969913,1,1,2,True,33.5377255969913,2,1,False,True,26,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +53,27,13.033330267164558,13.321519044395512,12.203779998549114,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,2.1607019932076956,1,1,2,True,2.1607019932076956,2,1,False,True,27,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +54,27,13.033330267164558,13.321519044395512,12.203779998549114,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,2.1607019932076956,1,1,2,True,2.1607019932076956,2,1,False,True,27,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +55,28,12.920582591384944,13.433163227106856,12.145846466349763,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,3.4178939587239374,1,1,2,True,3.4178939587239374,2,1,False,True,28,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +56,28,12.920582591384944,13.433163227106856,12.145846466349763,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,3.4178939587239374,1,1,2,True,3.4178939587239374,2,1,False,True,28,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +57,29,13.127082471167766,13.540890812643948,12.299831546229113,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,6.524944820263047,1,1,2,True,6.524944820263047,2,1,False,True,29,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +58,29,13.127082471167766,13.540890812643948,12.299831546229113,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,6.524944820263047,1,1,2,True,6.524944820263047,2,1,False,True,29,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +59,30,12.914776011677825,13.486420967323303,12.208459257799719,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,3.784478372443525,1,1,2,True,3.784478372443525,2,1,False,True,30,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +60,30,12.914776011677825,13.486420967323303,12.208459257799719,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,3.784478372443525,1,1,2,True,3.784478372443525,2,1,False,True,30,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +61,31,12.74986412996177,13.449483685526742,12.119822137097117,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,3.847676019912309,1,1,2,True,3.847676019912309,2,1,False,True,31,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +62,31,12.74986412996177,13.449483685526742,12.119822137097117,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,3.847676019912309,1,1,2,True,3.847676019912309,2,1,False,True,31,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +63,32,12.8805018037342,13.602263928457022,12.255163451241742,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,7.002540064081328,1,1,2,True,7.002540064081328,2,1,False,True,32,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +64,32,12.8805018037342,13.602263928457022,12.255163451241742,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,7.002540064081328,1,1,2,True,7.002540064081328,2,1,False,True,32,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +65,33,12.882885392375421,13.477277992779175,12.233725575099452,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,7.908300573491883,1,1,2,True,7.908300573491883,2,1,False,True,33,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +66,33,12.882885392375421,13.477277992779175,12.233725575099452,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,7.908300573491883,1,1,2,True,7.908300573491883,2,1,False,True,33,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +67,34,12.764288823471789,13.47913643144752,12.155974014193609,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,3.8464929612302297,1,1,2,True,3.8464929612302297,2,1,False,True,34,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +68,34,12.764288823471789,13.47913643144752,12.155974014193609,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,3.8464929612302297,1,1,2,True,3.8464929612302297,2,1,False,True,34,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +69,35,12.756709407030907,13.38101281509175,12.073784477821876,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,4.740438411040705,1,1,2,True,4.740438411040705,2,1,False,True,35,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +70,35,12.756709407030907,13.38101281509175,12.073784477821876,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,4.740438411040705,1,1,2,True,4.740438411040705,2,1,False,True,35,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +71,36,12.839751541254829,13.435032127392818,12.179687247000583,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,4.578947659408581,1,1,2,True,4.578947659408581,2,1,False,True,36,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +72,36,12.839751541254829,13.435032127392818,12.179687247000583,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,4.578947659408581,1,1,2,True,4.578947659408581,2,1,False,True,36,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +73,37,13.09307568804061,13.590354599955502,12.351833745457032,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,6.533970226519058,1,1,2,True,6.533970226519058,2,1,False,True,37,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +74,37,13.09307568804061,13.590354599955502,12.351833745457032,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,6.533970226519058,1,1,2,True,6.533970226519058,2,1,False,True,37,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +75,38,12.95761315428289,13.425541445176547,12.045566052971363,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,1.0993837470275443,1,1,2,True,1.0993837470275443,2,1,False,True,38,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +76,38,12.95761315428289,13.425541445176547,12.045566052971363,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,1.0993837470275443,1,1,2,True,1.0993837470275443,2,1,False,True,38,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +77,39,13.088169833880205,13.551814859608607,12.202866151248433,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,8.55080620979345,1,1,2,True,8.55080620979345,2,1,False,True,39,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +78,39,13.088169833880205,13.551814859608607,12.202866151248433,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,8.55080620979345,1,1,2,True,8.55080620979345,2,1,False,True,39,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +79,40,12.935046074226845,13.458124461742946,12.090046487958134,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,3.4524962779471564,1,1,2,True,3.4524962779471564,2,1,False,True,40,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +80,40,12.935046074226845,13.458124461742946,12.090046487958134,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,3.4524962779471564,1,1,2,True,3.4524962779471564,2,1,False,True,40,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +81,41,12.779771555938696,13.266782145266962,12.076109669206115,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,1.0,1,1,2,True,1.0,2,1,False,True,41,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +82,41,12.779771555938696,13.266782145266962,12.076109669206115,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,1.0,1,1,2,True,1.0,2,1,False,True,41,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +83,42,12.624621668609908,13.103536982754772,11.983744908017075,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,1.7498547069413075,1,1,2,True,1.7498547069413075,2,1,False,True,42,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +84,42,12.624621668609908,13.103536982754772,11.983744908017075,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,1.7498547069413075,1,1,2,True,1.7498547069413075,2,1,False,True,42,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +85,43,12.44890909366638,13.217790089391215,12.02108005382531,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,1.9775808483148,1,1,2,True,1.9775808483148,2,1,False,True,43,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +86,43,12.44890909366638,13.217790089391215,12.02108005382531,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,1.9775808483148,1,1,2,True,1.9775808483148,2,1,False,True,43,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +87,44,12.418244669410676,13.150337725229459,12.006704218065716,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,12.753111956783302,1,1,2,True,12.753111956783302,2,1,False,True,44,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +88,44,12.418244669410676,13.150337725229459,12.006704218065716,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,12.753111956783302,1,1,2,True,12.753111956783302,2,1,False,True,44,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +89,45,12.673018213470787,13.292329350846074,12.084695496537101,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,10.006234947783678,1,1,2,True,10.006234947783678,2,1,False,True,45,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +90,45,12.673018213470787,13.292329350846074,12.084695496537101,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,10.006234947783678,1,1,2,True,10.006234947783678,2,1,False,True,45,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +91,46,12.56167349718564,13.32775094962323,12.129398631028321,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,1.0,1,1,2,True,1.0,2,1,False,True,46,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +92,46,12.56167349718564,13.32775094962323,12.129398631028321,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,1.0,1,1,2,True,1.0,2,1,False,True,46,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +93,47,13.044465891364684,13.415875530175688,12.180467750846933,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,9.382548166799005,1,1,2,True,9.382548166799005,2,1,False,True,47,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +94,47,13.044465891364684,13.415875530175688,12.180467750846933,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,9.382548166799005,1,1,2,True,9.382548166799005,2,1,False,True,47,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +95,48,12.503366241000181,12.786364606959063,11.743939775304733,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,1.3449402803688615,1,1,2,True,1.3449402803688615,2,1,False,True,48,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +96,48,12.503366241000181,12.786364606959063,11.743939775304733,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,1.3449402803688615,1,1,2,True,1.3449402803688615,2,1,False,True,48,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +97,49,12.808925476697603,13.340009309721077,11.985583118297912,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,2.3994232603163863,1,1,2,True,2.3994232603163863,2,1,False,True,49,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +98,49,12.808925476697603,13.340009309721077,11.985583118297912,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,2.3994232603163863,1,1,2,True,2.3994232603163863,2,1,False,True,49,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +99,50,12.841431338746974,13.398016896525299,12.219219187269077,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,6.269350663402008,1,1,2,True,6.269350663402008,2,1,False,True,50,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +100,50,12.841431338746974,13.398016896525299,12.219219187269077,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,6.269350663402008,1,1,2,True,6.269350663402008,2,1,False,True,50,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +101,51,13.102510439279174,13.493602116139002,12.219146995750911,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,6.576373703386879,1,2,2,True,6.576373703386879,2,1,False,True,51,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +102,51,13.102510439279174,13.493602116139002,12.219146995750911,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,6.576373703386879,1,2,2,True,6.576373703386879,2,1,False,True,51,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +103,52,13.109285734800036,13.549383410556166,12.257641552024667,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,11.03663996108403,1,2,2,True,11.03663996108403,2,1,False,True,52,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +104,52,13.109285734800036,13.549383410556166,12.257641552024667,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,11.03663996108403,1,2,2,True,11.03663996108403,2,1,False,True,52,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +105,53,12.964317511733288,13.444870196607871,12.27129192621032,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,3.280766998744223,1,2,2,True,3.280766998744223,2,1,False,True,53,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +106,53,12.964317511733288,13.444870196607871,12.27129192621032,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,3.280766998744223,1,2,2,True,3.280766998744223,2,1,False,True,53,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +107,54,13.169166962871563,13.560027391700576,12.267829694821915,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,5.924542088183732,1,2,2,True,5.924542088183732,2,1,False,True,54,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +108,54,13.169166962871563,13.560027391700576,12.267829694821915,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,5.924542088183732,1,2,2,True,5.924542088183732,2,1,False,True,54,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +109,55,13.025340419756343,13.621519778169286,12.303646100144737,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,15.064407076227997,1,2,2,True,15.064407076227997,2,1,False,True,55,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +110,55,13.025340419756343,13.621519778169286,12.303646100144737,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,15.064407076227997,1,2,2,True,15.064407076227997,2,1,False,True,55,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +111,56,12.919253835243321,13.544796397856677,12.272171969612904,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,36.292577973286875,1,2,2,True,36.292577973286875,2,1,False,True,56,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +112,56,12.919253835243321,13.544796397856677,12.272171969612904,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,36.292577973286875,1,2,2,True,36.292577973286875,2,1,False,True,56,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +113,57,12.715024423481847,13.211258419495996,12.131865476725979,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,1.6529340919683446,1,2,2,True,1.6529340919683446,2,1,False,True,57,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +114,57,12.715024423481847,13.211258419495996,12.131865476725979,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,1.6529340919683446,1,2,2,True,1.6529340919683446,2,1,False,True,57,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +115,58,12.872618196413365,13.541025966333441,12.221188366747441,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,2.8078893650924934,1,2,2,True,2.8078893650924934,2,1,False,True,58,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +116,58,12.872618196413365,13.541025966333441,12.221188366747441,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,2.8078893650924934,1,2,2,True,2.8078893650924934,2,1,False,True,58,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +117,59,12.833652780578008,13.488446444806652,12.15209989968258,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,10.474286609560641,1,2,2,True,10.474286609560641,2,1,False,True,59,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +118,59,12.833652780578008,13.488446444806652,12.15209989968258,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,10.474286609560641,1,2,2,True,10.474286609560641,2,1,False,True,59,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +119,60,12.832705283651961,13.493436083838834,12.205666284053745,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,11.120004972469642,1,2,2,True,11.120004972469642,2,1,False,True,60,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +120,60,12.832705283651961,13.493436083838834,12.205666284053745,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,11.120004972469642,1,2,2,True,11.120004972469642,2,1,False,True,60,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +121,61,12.86536588492129,13.49662596070122,12.26722324001038,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,4.835961658337588,1,2,2,True,4.835961658337588,2,1,False,True,61,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +122,61,12.86536588492129,13.49662596070122,12.26722324001038,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,4.835961658337588,1,2,2,True,4.835961658337588,2,1,False,True,61,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +123,62,12.97024277449252,13.504956972297496,12.209153520795414,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,2.01196369725565,1,2,2,True,2.01196369725565,2,1,False,True,62,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +124,62,12.97024277449252,13.504956972297496,12.209153520795414,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,2.01196369725565,1,2,2,True,2.01196369725565,2,1,False,True,62,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +125,63,13.060533346192262,13.513381926300116,12.304762580566742,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,4.631961725075768,1,2,2,True,4.631961725075768,2,1,False,True,63,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +126,63,13.060533346192262,13.513381926300116,12.304762580566742,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,4.631961725075768,1,2,2,True,4.631961725075768,2,1,False,True,63,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +127,64,13.07856457333832,13.470323014651177,12.236094226775462,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,5.970934840961828,1,2,2,True,5.970934840961828,2,1,False,True,64,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +128,64,13.07856457333832,13.470323014651177,12.236094226775462,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,5.970934840961828,1,2,2,True,5.970934840961828,2,1,False,True,64,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +129,65,12.881806226455756,13.360108686182453,12.134574343752009,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,2.032089958694962,1,2,2,True,2.032089958694962,2,1,False,True,65,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +130,65,12.881806226455756,13.360108686182453,12.134574343752009,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,2.032089958694962,1,2,2,True,2.032089958694962,2,1,False,True,65,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +131,66,12.895952140141473,13.48291280923957,12.253471773172322,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,3.6724852844975384,1,2,2,True,3.6724852844975384,2,1,False,True,66,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +132,66,12.895952140141473,13.48291280923957,12.253471773172322,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,3.6724852844975384,1,2,2,True,3.6724852844975384,2,1,False,True,66,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +133,67,12.721364411355596,13.258912301896338,12.189449398943003,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,3.8686084791597883,1,2,2,True,3.8686084791597883,2,1,False,True,67,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +134,67,12.721364411355596,13.258912301896338,12.189449398943003,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,3.8686084791597883,1,2,2,True,3.8686084791597883,2,1,False,True,67,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +135,68,12.544794136006548,13.270931671805872,12.084539520539138,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,4.665806273151146,1,2,2,True,4.665806273151146,2,1,False,True,68,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +136,68,12.544794136006548,13.270931671805872,12.084539520539138,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,4.665806273151146,1,2,2,True,4.665806273151146,2,1,False,True,68,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +137,69,12.116946219336675,12.860401014111009,11.685158819109754,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,1.1812144404244418,1,2,2,True,1.1812144404244418,2,1,False,True,69,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +138,69,12.116946219336675,12.860401014111009,11.685158819109754,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,1.1812144404244418,1,2,2,True,1.1812144404244418,2,1,False,True,69,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +139,70,12.560621325186252,13.304738785084636,12.071614598242158,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,3.1529540875881645,1,2,2,True,3.1529540875881645,2,1,False,True,70,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +140,70,12.560621325186252,13.304738785084636,12.071614598242158,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,3.1529540875881645,1,2,2,True,3.1529540875881645,2,1,False,True,70,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +141,71,12.677461370575324,13.282359771960284,12.172403053262087,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,1.6534581547421712,1,2,2,True,1.6534581547421712,2,1,False,True,71,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +142,71,12.677461370575324,13.282359771960284,12.172403053262087,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,1.6534581547421712,1,2,2,True,1.6534581547421712,2,1,False,True,71,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +143,72,13.010326665745113,13.375557753932801,12.117857398893147,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,4.093847849936535,1,2,2,True,4.093847849936535,2,1,False,True,72,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +144,72,13.010326665745113,13.375557753932801,12.117857398893147,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,4.093847849936535,1,2,2,True,4.093847849936535,2,1,False,True,72,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +145,73,12.731311482392291,13.064712306945745,11.959562130262242,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,7.563799458648938,1,2,2,True,7.563799458648938,2,1,False,True,73,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +146,73,12.731311482392291,13.064712306945745,11.959562130262242,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,7.563799458648938,1,2,2,True,7.563799458648938,2,1,False,True,73,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +147,74,12.913063151864856,13.344639187941276,12.13702490643872,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,10.497635174284053,1,2,2,True,10.497635174284053,2,1,False,True,74,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +148,74,12.913063151864856,13.344639187941276,12.13702490643872,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,10.497635174284053,1,2,2,True,10.497635174284053,2,1,False,True,74,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +149,75,12.884615817825127,13.278966267502627,12.050472125812973,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,5.485498369130602,1,2,2,True,5.485498369130602,2,1,False,True,75,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +150,75,12.884615817825127,13.278966267502627,12.050472125812973,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,5.485498369130602,1,2,2,True,5.485498369130602,2,1,False,True,75,1,15000,15.0,1,6.01,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +151,76,14.886367623099394,14.69222132500953,13.562736333102032,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,6.714482447531277,1,0,2,True,6.714482447531277,2,2,False,True,76,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +152,76,14.886367623099394,14.69222132500953,13.562736333102032,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,6.714482447531277,1,0,2,True,6.714482447531277,2,2,False,True,76,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +153,77,14.829488275985018,14.66593573734273,13.24056864638241,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,4.675423717967643,1,0,2,True,4.675423717967643,2,2,False,True,77,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +154,77,14.829488275985018,14.66593573734273,13.24056864638241,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,4.675423717967643,1,0,2,True,4.675423717967643,2,2,False,True,77,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +155,78,14.721658930723997,14.607140132728924,13.264236915809411,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,3.3940756956456806,1,0,2,True,3.3940756956456806,2,2,False,True,78,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +156,78,14.721658930723997,14.607140132728924,13.264236915809411,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,3.3940756956456806,1,0,2,True,3.3940756956456806,2,2,False,True,78,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +157,79,14.877703211788493,14.798468210338342,13.491245196902252,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,4.3650365376610845,1,0,2,True,4.3650365376610845,2,2,False,True,79,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +158,79,14.877703211788493,14.798468210338342,13.491245196902252,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,4.3650365376610845,1,0,2,True,4.3650365376610845,2,2,False,True,79,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +159,80,14.572598339174602,14.460689221719242,12.899775969626953,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,1.943293523158802,1,0,2,True,1.943293523158802,2,2,False,True,80,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +160,80,14.572598339174602,14.460689221719242,12.899775969626953,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,1.943293523158802,1,0,2,True,1.943293523158802,2,2,False,True,80,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +161,81,14.537245844743907,14.549095714628956,13.310359799795386,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,5.345306706709357,1,0,2,True,5.345306706709357,2,2,False,True,81,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +162,81,14.537245844743907,14.549095714628956,13.310359799795386,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,5.345306706709357,1,0,2,True,5.345306706709357,2,2,False,True,81,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +163,82,14.593774782919638,14.722026441783596,13.330555603235444,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,5.436370674785919,1,0,2,True,5.436370674785919,2,2,False,True,82,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +164,82,14.593774782919638,14.722026441783596,13.330555603235444,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,5.436370674785919,1,0,2,True,5.436370674785919,2,2,False,True,82,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +165,83,14.725666795546518,14.847364306525035,13.42518100240856,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,7.932648976685355,1,0,2,True,7.932648976685355,2,2,False,True,83,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +166,83,14.725666795546518,14.847364306525035,13.42518100240856,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,7.932648976685355,1,0,2,True,7.932648976685355,2,2,False,True,83,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +167,84,14.688175601010197,14.862156732110009,13.653549988619252,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,17.26142598790864,1,0,2,True,17.26142598790864,2,2,False,True,84,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +168,84,14.688175601010197,14.862156732110009,13.653549988619252,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,17.26142598790864,1,0,2,True,17.26142598790864,2,2,False,True,84,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +169,85,14.542533349610496,14.768276714384031,13.37840045944726,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,6.849676305690078,1,0,2,True,6.849676305690078,2,2,False,True,85,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +170,85,14.542533349610496,14.768276714384031,13.37840045944726,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,6.849676305690078,1,0,2,True,6.849676305690078,2,2,False,True,85,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +171,86,14.667409390399376,14.662697967533902,13.402636165475743,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,5.858957090003502,1,0,2,True,5.858957090003502,2,2,False,True,86,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +172,86,14.667409390399376,14.662697967533902,13.402636165475743,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,5.858957090003502,1,0,2,True,5.858957090003502,2,2,False,True,86,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +173,87,14.9193655594638,14.852727205633155,13.540475272201626,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,8.853698913793092,1,0,2,True,8.853698913793092,2,2,False,True,87,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +174,87,14.9193655594638,14.852727205633155,13.540475272201626,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,8.853698913793092,1,0,2,True,8.853698913793092,2,2,False,True,87,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +175,88,14.92925411416721,14.960814120881004,13.583458099388489,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,9.021580950977969,1,0,2,True,9.021580950977969,2,2,False,True,88,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +176,88,14.92925411416721,14.960814120881004,13.583458099388489,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,9.021580950977969,1,0,2,True,9.021580950977969,2,2,False,True,88,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +177,89,14.965633728212415,14.729606624238253,13.581349526839114,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,12.176909570885035,1,0,2,True,12.176909570885035,2,2,False,True,89,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +178,89,14.965633728212415,14.729606624238253,13.581349526839114,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,12.176909570885035,1,0,2,True,12.176909570885035,2,2,False,True,89,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +179,90,14.680255698758284,14.506032958539908,13.122519001399716,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,2.9380190052392554,1,0,2,True,2.9380190052392554,2,2,False,True,90,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +180,90,14.680255698758284,14.506032958539908,13.122519001399716,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,2.9380190052392554,1,0,2,True,2.9380190052392554,2,2,False,True,90,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +181,91,14.748155847984536,14.751179916330306,13.416770450650873,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,6.133887640928137,1,0,2,True,6.133887640928137,2,2,False,True,91,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +182,91,14.748155847984536,14.751179916330306,13.416770450650873,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,6.133887640928137,1,0,2,True,6.133887640928137,2,2,False,True,91,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +183,92,14.514021739951637,14.468796817742032,13.211627641791093,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,3.4567872656128453,1,0,2,True,3.4567872656128453,2,2,False,True,92,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +184,92,14.514021739951637,14.468796817742032,13.211627641791093,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,3.4567872656128453,1,0,2,True,3.4567872656128453,2,2,False,True,92,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +185,93,14.480340917311471,14.435446720648434,13.313151807299706,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,8.663957593892762,1,0,2,True,8.663957593892762,2,2,False,True,93,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +186,93,14.480340917311471,14.435446720648434,13.313151807299706,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,8.663957593892762,1,0,2,True,8.663957593892762,2,2,False,True,93,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +187,94,13.896583166602088,13.592326897828759,12.258164046252737,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,1.9919778870095366,1,0,2,True,1.9919778870095366,2,2,False,True,94,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +188,94,13.896583166602088,13.592326897828759,12.258164046252737,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,1.9919778870095366,1,0,2,True,1.9919778870095366,2,2,False,True,94,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +189,95,14.44691775335543,14.537631902762227,13.388341417131464,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,8.295002654850537,1,0,2,True,8.295002654850537,2,2,False,True,95,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +190,95,14.44691775335543,14.537631902762227,13.388341417131464,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,8.295002654850537,1,0,2,True,8.295002654850537,2,2,False,True,95,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +191,96,14.695631997433996,14.693949497373733,13.58530241223352,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,16.96790223666738,1,0,2,True,16.96790223666738,2,2,False,True,96,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +192,96,14.695631997433996,14.693949497373733,13.58530241223352,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,16.96790223666738,1,0,2,True,16.96790223666738,2,2,False,True,96,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +193,97,14.804485947419787,14.674390759978486,13.660318165200797,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,11.03281556836826,1,0,2,True,11.03281556836826,2,2,False,True,97,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +194,97,14.804485947419787,14.674390759978486,13.660318165200797,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,11.03281556836826,1,0,2,True,11.03281556836826,2,2,False,True,97,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +195,98,14.453993219872812,14.23486774132134,13.04866315384407,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,5.3556466017061135,1,0,2,True,5.3556466017061135,2,2,False,True,98,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +196,98,14.453993219872812,14.23486774132134,13.04866315384407,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,5.3556466017061135,1,0,2,True,5.3556466017061135,2,2,False,True,98,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +197,99,14.48345891908154,14.498390899970435,12.73366617494181,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,2.1012905408903486,1,0,2,True,2.1012905408903486,2,2,False,True,99,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +198,99,14.48345891908154,14.498390899970435,12.73366617494181,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,2.1012905408903486,1,0,2,True,2.1012905408903486,2,2,False,True,99,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +199,100,14.596003088619526,14.500613704883634,13.162712876462376,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,4.507860382182516,1,0,2,True,4.507860382182516,2,2,False,True,100,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +200,100,14.596003088619526,14.500613704883634,13.162712876462376,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,4.507860382182516,1,0,2,True,4.507860382182516,2,2,False,True,100,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +201,101,13.013123019038474,13.37740258318873,12.141587598282689,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,3.01860534292064,1,1,2,True,3.01860534292064,2,2,False,True,101,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +202,101,13.013123019038474,13.37740258318873,12.141587598282689,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,3.01860534292064,1,1,2,True,3.01860534292064,2,2,False,True,101,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +203,102,13.049679809139198,13.398400523127327,12.207368922623308,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,3.3385338720843785,1,1,2,True,3.3385338720843785,2,2,False,True,102,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +204,102,13.049679809139198,13.398400523127327,12.207368922623308,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,3.3385338720843785,1,1,2,True,3.3385338720843785,2,2,False,True,102,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +205,103,12.969439730318719,13.520729222429267,12.225520847190925,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,3.3492750662923756,1,1,2,True,3.3492750662923756,2,2,False,True,103,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +206,103,12.969439730318719,13.520729222429267,12.225520847190925,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,3.3492750662923756,1,1,2,True,3.3492750662923756,2,2,False,True,103,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +207,104,13.066007749189586,13.532930212104553,12.179788596298733,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,3.352510200481194,1,1,2,True,3.352510200481194,2,2,False,True,104,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +208,104,13.066007749189586,13.532930212104553,12.179788596298733,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,3.352510200481194,1,1,2,True,3.352510200481194,2,2,False,True,104,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +209,105,12.991391229559246,13.535627264943582,12.363087399821433,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,13.140297421901966,1,1,2,True,13.140297421901966,2,2,False,True,105,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +210,105,12.991391229559246,13.535627264943582,12.363087399821433,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,13.140297421901966,1,1,2,True,13.140297421901966,2,2,False,True,105,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +211,106,12.752776225466993,13.346448052391025,12.200555416604699,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,4.1846277428757075,1,1,2,True,4.1846277428757075,2,2,False,True,106,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +212,106,12.752776225466993,13.346448052391025,12.200555416604699,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,4.1846277428757075,1,1,2,True,4.1846277428757075,2,2,False,True,106,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +213,107,12.83500602482495,13.558927892776374,12.287607289272307,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,10.726848329481081,1,1,2,True,10.726848329481081,2,2,False,True,107,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +214,107,12.83500602482495,13.558927892776374,12.287607289272307,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,10.726848329481081,1,1,2,True,10.726848329481081,2,2,False,True,107,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +215,108,12.831036816531416,13.467812398930652,12.252561392125159,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,4.658500055300513,1,1,2,True,4.658500055300513,2,2,False,True,108,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +216,108,12.831036816531416,13.467812398930652,12.252561392125159,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,4.658500055300513,1,1,2,True,4.658500055300513,2,2,False,True,108,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +217,109,12.754440066630991,13.333725849379356,12.13638637564806,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,6.261302724473695,1,1,2,True,6.261302724473695,2,2,False,True,109,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +218,109,12.754440066630991,13.333725849379356,12.13638637564806,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,6.261302724473695,1,1,2,True,6.261302724473695,2,2,False,True,109,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +219,110,12.66555189230827,13.414843098827438,11.989727354557335,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,2.630494518523089,1,1,2,True,2.630494518523089,2,2,False,True,110,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +220,110,12.66555189230827,13.414843098827438,11.989727354557335,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,2.630494518523089,1,1,2,True,2.630494518523089,2,2,False,True,110,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +221,111,12.834229874824857,13.521095149376054,12.217140248334625,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,5.041548558348935,1,1,2,True,5.041548558348935,2,2,False,True,111,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +222,111,12.834229874824857,13.521095149376054,12.217140248334625,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,5.041548558348935,1,1,2,True,5.041548558348935,2,2,False,True,111,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +223,112,13.133452188934656,13.56816811288101,12.388742032993012,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,21.55466323167172,1,1,2,True,21.55466323167172,2,2,False,True,112,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +224,112,13.133452188934656,13.56816811288101,12.388742032993012,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,21.55466323167172,1,1,2,True,21.55466323167172,2,2,False,True,112,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +225,113,13.042094228750612,13.468013142847466,12.105497969296682,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,1.827436548683454,1,1,2,True,1.827436548683454,2,2,False,True,113,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +226,113,13.042094228750612,13.468013142847466,12.105497969296682,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,1.827436548683454,1,1,2,True,1.827436548683454,2,2,False,True,113,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +227,114,13.031660483737761,13.494337494503954,12.255107115159506,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,4.294930102308611,1,1,2,True,4.294930102308611,2,2,False,True,114,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +228,114,13.031660483737761,13.494337494503954,12.255107115159506,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,4.294930102308611,1,1,2,True,4.294930102308611,2,2,False,True,114,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +229,115,12.844912415929873,13.222469147308212,12.064398902231938,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,1.311388516106586,1,1,2,True,1.311388516106586,2,2,False,True,115,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +230,115,12.844912415929873,13.222469147308212,12.064398902231938,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,1.311388516106586,1,1,2,True,1.311388516106586,2,2,False,True,115,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +231,116,12.835850005944433,13.337653099344767,12.178529949906197,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,1.6271233336754736,1,1,2,True,1.6271233336754736,2,2,False,True,116,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +232,116,12.835850005944433,13.337653099344767,12.178529949906197,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,1.6271233336754736,1,1,2,True,1.6271233336754736,2,2,False,True,116,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +233,117,12.81230915389168,13.426314856596706,12.185667289668984,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,16.350724766178505,1,1,2,True,16.350724766178505,2,2,False,True,117,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +234,117,12.81230915389168,13.426314856596706,12.185667289668984,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,16.350724766178505,1,1,2,True,16.350724766178505,2,2,False,True,117,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +235,118,12.532279238019008,13.166790782121918,12.043848217885058,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,2.6339397981781025,1,1,2,True,2.6339397981781025,2,2,False,True,118,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +236,118,12.532279238019008,13.166790782121918,12.043848217885058,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,2.6339397981781025,1,1,2,True,2.6339397981781025,2,2,False,True,118,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +237,119,12.42517324417923,13.239570429014822,11.959545863854572,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,8.617139415100091,1,1,2,True,8.617139415100091,2,2,False,True,119,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +238,119,12.42517324417923,13.239570429014822,11.959545863854572,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,8.617139415100091,1,1,2,True,8.617139415100091,2,2,False,True,119,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +239,120,12.636642174259231,13.331251339262021,12.034248900645428,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,6.444402442958617,1,1,2,True,6.444402442958617,2,2,False,True,120,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +240,120,12.636642174259231,13.331251339262021,12.034248900645428,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,6.444402442958617,1,1,2,True,6.444402442958617,2,2,False,True,120,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +241,121,12.80201836379593,13.449880847843506,12.294810448473019,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,11.266181246926378,1,1,2,True,11.266181246926378,2,2,False,True,121,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +242,121,12.80201836379593,13.449880847843506,12.294810448473019,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,11.266181246926378,1,1,2,True,11.266181246926378,2,2,False,True,121,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +243,122,12.91689594634129,13.233039807523262,12.095520127174039,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,2.9163896638682223,1,1,2,True,2.9163896638682223,2,2,False,True,122,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +244,122,12.91689594634129,13.233039807523262,12.095520127174039,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,2.9163896638682223,1,1,2,True,2.9163896638682223,2,2,False,True,122,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +245,123,12.73347617101647,13.27763041733021,12.070557824716229,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,8.318089128554591,1,1,2,True,8.318089128554591,2,2,False,True,123,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +246,123,12.73347617101647,13.27763041733021,12.070557824716229,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,8.318089128554591,1,1,2,True,8.318089128554591,2,2,False,True,123,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +247,124,12.813650149142847,13.226988480866506,12.092659506841265,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,3.211534361572735,1,1,2,True,3.211534361572735,2,2,False,True,124,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +248,124,12.813650149142847,13.226988480866506,12.092659506841265,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,3.211534361572735,1,1,2,True,3.211534361572735,2,2,False,True,124,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +249,125,12.8231538038175,13.22556537925708,12.182285704084324,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,6.364860572942692,1,1,2,True,6.364860572942692,2,2,False,True,125,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +250,125,12.8231538038175,13.22556537925708,12.182285704084324,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,6.364860572942692,1,1,2,True,6.364860572942692,2,2,False,True,125,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +251,126,13.158120111645232,13.536461185581473,12.331326792887971,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,13.780170022314827,1,2,2,True,13.780170022314827,2,2,False,True,126,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +252,126,13.158120111645232,13.536461185581473,12.331326792887971,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,13.780170022314827,1,2,2,True,13.780170022314827,2,2,False,True,126,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +253,127,12.993037021528485,13.423006370838847,12.1703672018029,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,2.589772768863601,1,2,2,True,2.589772768863601,2,2,False,True,127,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +254,127,12.993037021528485,13.423006370838847,12.1703672018029,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,2.589772768863601,1,2,2,True,2.589772768863601,2,2,False,True,127,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +255,128,13.05040819717593,13.52627563644358,12.281743434771933,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,9.383771009522306,1,2,2,True,9.383771009522306,2,2,False,True,128,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +256,128,13.05040819717593,13.52627563644358,12.281743434771933,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,9.383771009522306,1,2,2,True,9.383771009522306,2,2,False,True,128,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +257,129,13.145260889011428,13.511693086857528,12.182605176040651,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,3.328844483982704,1,2,2,True,3.328844483982704,2,2,False,True,129,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +258,129,13.145260889011428,13.511693086857528,12.182605176040651,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,3.328844483982704,1,2,2,True,3.328844483982704,2,2,False,True,129,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +259,130,12.918945201747587,13.457736313290035,12.193979484908668,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,4.533460590002592,1,2,2,True,4.533460590002592,2,2,False,True,130,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +260,130,12.918945201747587,13.457736313290035,12.193979484908668,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,4.533460590002592,1,2,2,True,4.533460590002592,2,2,False,True,130,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +261,131,12.706031336621384,13.439872747718827,12.149774180651237,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,5.068182651383836,1,2,2,True,5.068182651383836,2,2,False,True,131,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +262,131,12.706031336621384,13.439872747718827,12.149774180651237,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,5.068182651383836,1,2,2,True,5.068182651383836,2,2,False,True,131,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +263,132,12.754553380737876,13.555407692838159,12.224201239062143,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,4.426809726911572,1,2,2,True,4.426809726911572,2,2,False,True,132,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +264,132,12.754553380737876,13.555407692838159,12.224201239062143,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,4.426809726911572,1,2,2,True,4.426809726911572,2,2,False,True,132,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +265,133,12.888029021585549,13.615344584241674,12.279277432342854,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,4.46180290450385,1,2,2,True,4.46180290450385,2,2,False,True,133,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +266,133,12.888029021585549,13.615344584241674,12.279277432342854,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,4.46180290450385,1,2,2,True,4.46180290450385,2,2,False,True,133,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +267,134,12.778943549962747,13.276767177213939,12.093767484587397,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,2.467144190193196,1,2,2,True,2.467144190193196,2,2,False,True,134,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +268,134,12.778943549962747,13.276767177213939,12.093767484587397,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,2.467144190193196,1,2,2,True,2.467144190193196,2,2,False,True,134,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +269,135,12.759987583225715,13.430151958248194,12.21214466263186,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,10.456089141556776,1,2,2,True,10.456089141556776,2,2,False,True,135,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +270,135,12.759987583225715,13.430151958248194,12.21214466263186,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,10.456089141556776,1,2,2,True,10.456089141556776,2,2,False,True,135,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +271,136,12.779334833467704,13.443209016378473,12.219544552226765,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,3.284080378763862,1,2,2,True,3.284080378763862,2,2,False,True,136,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +272,136,12.779334833467704,13.443209016378473,12.219544552226765,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,3.284080378763862,1,2,2,True,3.284080378763862,2,2,False,True,136,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +273,137,12.979844663501328,13.582665959194632,12.221442208260935,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,4.066190893394222,1,2,2,True,4.066190893394222,2,2,False,True,137,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +274,137,12.979844663501328,13.582665959194632,12.221442208260935,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,4.066190893394222,1,2,2,True,4.066190893394222,2,2,False,True,137,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +275,138,13.020186903315837,13.452332385970614,12.200426491575316,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,2.2852314641711646,1,2,2,True,2.2852314641711646,2,2,False,True,138,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +276,138,13.020186903315837,13.452332385970614,12.200426491575316,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,2.2852314641711646,1,2,2,True,2.2852314641711646,2,2,False,True,138,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +277,139,13.103618555710849,13.544755968622884,12.268903413616753,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,8.355315539261081,1,2,2,True,8.355315539261081,2,2,False,True,139,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +278,139,13.103618555710849,13.544755968622884,12.268903413616753,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,8.355315539261081,1,2,2,True,8.355315539261081,2,2,False,True,139,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +279,140,12.994207629036085,13.408811183618246,12.224140200625175,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,8.152208431222483,1,2,2,True,8.152208431222483,2,2,False,True,140,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +280,140,12.994207629036085,13.408811183618246,12.224140200625175,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,8.152208431222483,1,2,2,True,8.152208431222483,2,2,False,True,140,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +281,141,12.901713278792359,13.434864004886803,12.333965623334512,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,3.678302637286524,1,2,2,True,3.678302637286524,2,2,False,True,141,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +282,141,12.901713278792359,13.434864004886803,12.333965623334512,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,3.678302637286524,1,2,2,True,3.678302637286524,2,2,False,True,141,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +283,142,12.640803185757715,13.186048949980412,12.184449696244188,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,2.3534248298245957,1,2,2,True,2.3534248298245957,2,2,False,True,142,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +284,142,12.640803185757715,13.186048949980412,12.184449696244188,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,2.3534248298245957,1,2,2,True,2.3534248298245957,2,2,False,True,142,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +285,143,12.47916983058887,13.243231130842826,12.055259676699949,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,3.0816163592117847,1,2,2,True,3.0816163592117847,2,2,False,True,143,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +286,143,12.47916983058887,13.243231130842826,12.055259676699949,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,3.0816163592117847,1,2,2,True,3.0816163592117847,2,2,False,True,143,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +287,144,12.404111308328444,13.092673466596299,12.0197738013478,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,7.5882182677593475,1,2,2,True,7.5882182677593475,2,2,False,True,144,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +288,144,12.404111308328444,13.092673466596299,12.0197738013478,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,7.5882182677593475,1,2,2,True,7.5882182677593475,2,2,False,True,144,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +289,145,12.734211753207115,13.334429526926916,12.175330964558722,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,32.66898786559783,1,2,2,True,32.66898786559783,2,2,False,True,145,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +290,145,12.734211753207115,13.334429526926916,12.175330964558722,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,32.66898786559783,1,2,2,True,32.66898786559783,2,2,False,True,145,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +291,146,12.803489265551205,13.460176837420336,12.25427706631663,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,11.55058986515076,1,2,2,True,11.55058986515076,2,2,False,True,146,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +292,146,12.803489265551205,13.460176837420336,12.25427706631663,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,11.55058986515076,1,2,2,True,11.55058986515076,2,2,False,True,146,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +293,147,12.966625888079486,13.35220135651185,12.110745282600172,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,7.8857862065733615,1,2,2,True,7.8857862065733615,2,2,False,True,147,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +294,147,12.966625888079486,13.35220135651185,12.110745282600172,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,7.8857862065733615,1,2,2,True,7.8857862065733615,2,2,False,True,147,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +295,148,12.33659246376095,12.932398855150494,11.740368244371272,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,1.0838126648308823,1,2,2,True,1.0838126648308823,2,2,False,True,148,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +296,148,12.33659246376095,12.932398855150494,11.740368244371272,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,1.0838126648308823,1,2,2,True,1.0838126648308823,2,2,False,True,148,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +297,149,12.877007362609412,13.45433172763323,12.096709127119773,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,8.163268092508233,1,2,2,True,8.163268092508233,2,2,False,True,149,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +298,149,12.877007362609412,13.45433172763323,12.096709127119773,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,8.163268092508233,1,2,2,True,8.163268092508233,2,2,False,True,149,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +299,150,12.674199477750063,13.228036608098574,12.015788473229922,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,1.6027833325925616,1,2,2,True,1.6027833325925616,2,2,False,True,150,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +300,150,12.674199477750063,13.228036608098574,12.015788473229922,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,1.6027833325925616,1,2,2,True,1.6027833325925616,2,2,False,True,150,1,45000,45.0,2,8.81,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +301,151,15.064438981415424,14.813952253390125,13.690809639052668,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,11.541303925682005,1,0,2,True,11.541303925682005,2,3,False,True,151,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +302,151,15.064438981415424,14.813952253390125,13.690809639052668,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,11.541303925682005,1,0,2,True,11.541303925682005,2,3,False,True,151,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +303,152,14.926122722969525,14.678104149060959,13.291382210555154,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,3.9408173193890805,1,0,2,True,3.9408173193890805,2,3,False,True,152,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +304,152,14.926122722969525,14.678104149060959,13.291382210555154,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,3.9408173193890805,1,0,2,True,3.9408173193890805,2,3,False,True,152,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +305,153,15.02207726827077,14.894629582960967,13.790119300596512,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,29.34984059353661,1,0,2,True,29.34984059353661,2,3,False,True,153,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +306,153,15.02207726827077,14.894629582960967,13.790119300596512,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,29.34984059353661,1,0,2,True,29.34984059353661,2,3,False,True,153,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +307,154,15.038087481760378,14.852547045007686,13.485938411169416,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,4.973506555681281,1,0,2,True,4.973506555681281,2,3,False,True,154,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +308,154,15.038087481760378,14.852547045007686,13.485938411169416,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,4.973506555681281,1,0,2,True,4.973506555681281,2,3,False,True,154,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +309,155,14.976827617672127,14.75420693068006,13.674826402978383,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,19.38987822847505,1,0,2,True,19.38987822847505,2,3,False,True,155,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +310,155,14.976827617672127,14.75420693068006,13.674826402978383,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,19.38987822847505,1,0,2,True,19.38987822847505,2,3,False,True,155,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +311,156,14.824766849340913,14.738578320157844,13.541468174711465,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,15.491798058694476,1,0,2,True,15.491798058694476,2,3,False,True,156,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +312,156,14.824766849340913,14.738578320157844,13.541468174711465,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,15.491798058694476,1,0,2,True,15.491798058694476,2,3,False,True,156,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +313,157,14.715076035597395,14.457964616034976,13.26366676281793,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,4.931055930061613,1,0,2,True,4.931055930061613,2,3,False,True,157,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +314,157,14.715076035597395,14.457964616034976,13.26366676281793,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,4.931055930061613,1,0,2,True,4.931055930061613,2,3,False,True,157,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +315,158,14.912644265141088,14.900171624158654,13.648461348716596,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,24.072181380111846,1,0,2,True,24.072181380111846,2,3,False,True,158,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +316,158,14.912644265141088,14.900171624158654,13.648461348716596,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,24.072181380111846,1,0,2,True,24.072181380111846,2,3,False,True,158,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +317,159,14.834600601054772,14.89378951682848,13.666776217078368,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,13.287334528749792,1,0,2,True,13.287334528749792,2,3,False,True,159,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +318,159,14.834600601054772,14.89378951682848,13.666776217078368,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,13.287334528749792,1,0,2,True,13.287334528749792,2,3,False,True,159,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +319,160,14.624015206775644,14.35860962136866,13.192082179609056,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,4.3017041715042525,1,0,2,True,4.3017041715042525,2,3,False,True,160,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +320,160,14.624015206775644,14.35860962136866,13.192082179609056,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,4.3017041715042525,1,0,2,True,4.3017041715042525,2,3,False,True,160,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +321,161,14.773054065196387,14.60845872279318,13.223164568250477,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,4.49643270786049,1,0,2,True,4.49643270786049,2,3,False,True,161,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +322,161,14.773054065196387,14.60845872279318,13.223164568250477,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,4.49643270786049,1,0,2,True,4.49643270786049,2,3,False,True,161,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +323,162,14.849734459750463,14.625489662155223,13.16165457354852,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,1.7341283433691612,1,0,2,True,1.7341283433691612,2,3,False,True,162,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +324,162,14.849734459750463,14.625489662155223,13.16165457354852,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,1.7341283433691612,1,0,2,True,1.7341283433691612,2,3,False,True,162,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +325,163,15.11961479795089,14.950094247313102,13.781134847122155,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,29.90439822176781,1,0,2,True,29.90439822176781,2,3,False,True,163,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +326,163,15.11961479795089,14.950094247313102,13.781134847122155,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,29.90439822176781,1,0,2,True,29.90439822176781,2,3,False,True,163,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +327,164,15.137321889853837,14.961436703341008,13.755933200732352,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,37.975281025952754,1,0,2,True,37.975281025952754,2,3,False,True,164,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +328,164,15.137321889853837,14.961436703341008,13.755933200732352,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,37.975281025952754,1,0,2,True,37.975281025952754,2,3,False,True,164,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +329,165,14.90639696389796,14.601699647622752,13.386851134636759,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,4.785474223193776,1,0,2,True,4.785474223193776,2,3,False,True,165,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +330,165,14.90639696389796,14.601699647622752,13.386851134636759,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,4.785474223193776,1,0,2,True,4.785474223193776,2,3,False,True,165,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +331,166,14.886482767127706,14.71341090916733,13.481145323053658,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,7.680656277955135,1,0,2,True,7.680656277955135,2,3,False,True,166,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +332,166,14.886482767127706,14.71341090916733,13.481145323053658,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,7.680656277955135,1,0,2,True,7.680656277955135,2,3,False,True,166,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +333,167,14.79621760992163,14.567601773276424,13.677667274227167,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,13.090612278727638,1,0,2,True,13.090612278727638,2,3,False,True,167,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +334,167,14.79621760992163,14.567601773276424,13.677667274227167,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,13.090612278727638,1,0,2,True,13.090612278727638,2,3,False,True,167,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +335,168,14.670572648364328,14.491558079393787,13.4051799908331,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,10.64584400598515,1,0,2,True,10.64584400598515,2,3,False,True,168,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +336,168,14.670572648364328,14.491558079393787,13.4051799908331,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,10.64584400598515,1,0,2,True,10.64584400598515,2,3,False,True,168,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +337,169,14.475124259629744,14.170873588446023,13.12500368947278,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,8.378660608670398,1,0,2,True,8.378660608670398,2,3,False,True,169,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +338,169,14.475124259629744,14.170873588446023,13.12500368947278,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,8.378660608670398,1,0,2,True,8.378660608670398,2,3,False,True,169,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +339,170,14.581205981616225,14.449522665342169,13.104304120654911,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,5.476717948716615,1,0,2,True,5.476717948716615,2,3,False,True,170,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +340,170,14.581205981616225,14.449522665342169,13.104304120654911,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,5.476717948716615,1,0,2,True,5.476717948716615,2,3,False,True,170,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +341,171,14.731854491808097,14.60475737634405,13.321091886167489,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,5.665695040906015,1,0,2,True,5.665695040906015,2,3,False,True,171,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +342,171,14.731854491808097,14.60475737634405,13.321091886167489,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,5.665695040906015,1,0,2,True,5.665695040906015,2,3,False,True,171,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +343,172,14.746850312161353,14.59963601312587,13.248110890904007,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,2.013138881627045,1,0,2,True,2.013138881627045,2,3,False,True,172,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +344,172,14.746850312161353,14.59963601312587,13.248110890904007,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,2.013138881627045,1,0,2,True,2.013138881627045,2,3,False,True,172,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +345,173,14.651118561580917,14.34065561048424,13.129148171293005,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,5.019107435254359,1,0,2,True,5.019107435254359,2,3,False,True,173,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +346,173,14.651118561580917,14.34065561048424,13.129148171293005,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,5.019107435254359,1,0,2,True,5.019107435254359,2,3,False,True,173,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +347,174,14.903566313104456,14.527604003852533,13.435094945002854,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,14.574420964279721,1,0,2,True,14.574420964279721,2,3,False,True,174,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +348,174,14.903566313104456,14.527604003852533,13.435094945002854,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,14.574420964279721,1,0,2,True,14.574420964279721,2,3,False,True,174,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +349,175,14.807461432667607,14.658419800514967,13.260305457597417,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,6.244005674673785,1,0,2,True,6.244005674673785,2,3,False,True,175,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +350,175,14.807461432667607,14.658419800514967,13.260305457597417,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,6.244005674673785,1,0,2,True,6.244005674673785,2,3,False,True,175,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +351,176,13.174894828420133,13.508997448796467,12.195925256358441,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,8.772235795597183,1,1,2,True,8.772235795597183,2,3,False,True,176,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +352,176,13.174894828420133,13.508997448796467,12.195925256358441,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,8.772235795597183,1,1,2,True,8.772235795597183,2,3,False,True,176,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +353,177,13.160304564964594,13.44719036873622,12.233853952735029,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,11.483583946251056,1,1,2,True,11.483583946251056,2,3,False,True,177,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +354,177,13.160304564964594,13.44719036873622,12.233853952735029,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,11.483583946251056,1,1,2,True,11.483583946251056,2,3,False,True,177,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +355,178,13.054968909300554,13.578075641192186,12.209735215391213,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,7.677378758307949,1,1,2,True,7.677378758307949,2,3,False,True,178,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +356,178,13.054968909300554,13.578075641192186,12.209735215391213,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,7.677378758307949,1,1,2,True,7.677378758307949,2,3,False,True,178,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +357,179,13.214325645701598,13.55145145162714,12.261392507436598,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,5.5364802789209895,1,1,2,True,5.5364802789209895,2,3,False,True,179,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +358,179,13.214325645701598,13.55145145162714,12.261392507436598,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,5.5364802789209895,1,1,2,True,5.5364802789209895,2,3,False,True,179,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +359,180,13.131363042989909,13.59840772410148,12.306558052627695,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,16.30331024331073,1,1,2,True,16.30331024331073,2,3,False,True,180,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +360,180,13.131363042989909,13.59840772410148,12.306558052627695,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,16.30331024331073,1,1,2,True,16.30331024331073,2,3,False,True,180,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +361,181,12.85983579638466,13.391638830255543,12.338490582714671,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,5.96388786906673,1,1,2,True,5.96388786906673,2,3,False,True,181,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +362,181,12.85983579638466,13.391638830255543,12.338490582714671,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,5.96388786906673,1,1,2,True,5.96388786906673,2,3,False,True,181,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +363,182,12.970691092090528,13.595314767349743,12.18997565713105,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,9.256668349033347,1,1,2,True,9.256668349033347,2,3,False,True,182,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +364,182,12.970691092090528,13.595314767349743,12.18997565713105,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,9.256668349033347,1,1,2,True,9.256668349033347,2,3,False,True,182,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +365,183,13.021129910273922,13.529985398950066,12.276732091501836,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,9.832756778323805,1,1,2,True,9.832756778323805,2,3,False,True,183,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +366,183,13.021129910273922,13.529985398950066,12.276732091501836,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,9.832756778323805,1,1,2,True,9.832756778323805,2,3,False,True,183,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +367,184,12.980250501107852,13.400926960351109,12.115754549218178,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,5.388744565400215,1,1,2,True,5.388744565400215,2,3,False,True,184,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +368,184,12.980250501107852,13.400926960351109,12.115754549218178,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,5.388744565400215,1,1,2,True,5.388744565400215,2,3,False,True,184,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +369,185,12.89039927688574,13.430156734026012,12.16633365409246,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,9.268342613722039,1,1,2,True,9.268342613722039,2,3,False,True,185,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +370,185,12.89039927688574,13.430156734026012,12.16633365409246,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,9.268342613722039,1,1,2,True,9.268342613722039,2,3,False,True,185,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +371,186,12.980970685119608,13.495025236726756,12.298916254372466,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,8.766362614660602,1,1,2,True,8.766362614660602,2,3,False,True,186,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +372,186,12.980970685119608,13.495025236726756,12.298916254372466,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,8.766362614660602,1,1,2,True,8.766362614660602,2,3,False,True,186,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +373,187,13.169853590581466,13.548213384741477,12.352916557313698,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,10.134725464061166,1,1,2,True,10.134725464061166,2,3,False,True,187,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +374,187,13.169853590581466,13.548213384741477,12.352916557313698,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,10.134725464061166,1,1,2,True,10.134725464061166,2,3,False,True,187,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +375,188,13.06766803744718,13.514397123177606,12.154479310080506,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,2.161001773000451,1,1,2,True,2.161001773000451,2,3,False,True,188,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +376,188,13.06766803744718,13.514397123177606,12.154479310080506,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,2.161001773000451,1,1,2,True,2.161001773000451,2,3,False,True,188,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +377,189,13.134748897590713,13.424891760417966,12.189196917163807,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,3.755267550197129,1,1,2,True,3.755267550197129,2,3,False,True,189,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +378,189,13.134748897590713,13.424891760417966,12.189196917163807,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,3.755267550197129,1,1,2,True,3.755267550197129,2,3,False,True,189,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +379,190,13.058833347586976,13.467666049762311,12.157650644340714,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,7.0000435043765235,1,1,2,True,7.0000435043765235,2,3,False,True,190,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +380,190,13.058833347586976,13.467666049762311,12.157650644340714,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,7.0000435043765235,1,1,2,True,7.0000435043765235,2,3,False,True,190,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +381,191,12.940296886578853,13.548525063086844,12.246371272741552,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,2.2968884441349724,1,1,2,True,2.2968884441349724,2,3,False,True,191,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +382,191,12.940296886578853,13.548525063086844,12.246371272741552,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,2.2968884441349724,1,1,2,True,2.2968884441349724,2,3,False,True,191,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +383,192,12.996727859475277,13.388751135270814,12.210419452208075,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,21.482862969920358,1,1,2,True,21.482862969920358,2,3,False,True,192,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +384,192,12.996727859475277,13.388751135270814,12.210419452208075,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,21.482862969920358,1,1,2,True,21.482862969920358,2,3,False,True,192,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +385,193,12.87782232001171,13.348000956063718,12.18026753964902,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,18.34909639509928,1,1,2,True,18.34909639509928,2,3,False,True,193,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +386,193,12.87782232001171,13.348000956063718,12.18026753964902,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,18.34909639509928,1,1,2,True,18.34909639509928,2,3,False,True,193,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +387,194,12.594300466720183,13.090858206949743,11.982576868365788,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,7.7232106371263,1,1,2,True,7.7232106371263,2,3,False,True,194,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +388,194,12.594300466720183,13.090858206949743,11.982576868365788,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,7.7232106371263,1,1,2,True,7.7232106371263,2,3,False,True,194,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +389,195,12.617861423910133,13.322254558066026,11.950894952212689,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,1.948184934977611,1,1,2,True,1.948184934977611,2,3,False,True,195,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +390,195,12.617861423910133,13.322254558066026,11.950894952212689,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,1.948184934977611,1,1,2,True,1.948184934977611,2,3,False,True,195,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +391,196,13.045432112666687,13.52506620422661,12.334253082507312,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,38.88046261077998,1,1,2,True,38.88046261077998,2,3,False,True,196,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +392,196,13.045432112666687,13.52506620422661,12.334253082507312,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,38.88046261077998,1,1,2,True,38.88046261077998,2,3,False,True,196,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +393,197,13.22086733826247,13.412673161531874,12.220099415437735,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,23.29514397355357,1,1,2,True,23.29514397355357,2,3,False,True,197,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +394,197,13.22086733826247,13.412673161531874,12.220099415437735,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,23.29514397355357,1,1,2,True,23.29514397355357,2,3,False,True,197,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +395,198,12.87010975625391,13.173837120618105,11.95555909284275,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,9.799600614177782,1,1,2,True,9.799600614177782,2,3,False,True,198,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +396,198,12.87010975625391,13.173837120618105,11.95555909284275,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,9.799600614177782,1,1,2,True,9.799600614177782,2,3,False,True,198,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +397,199,13.103435135898334,13.348948866179066,12.22853509604228,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,14.721102647502548,1,1,2,True,14.721102647502548,2,3,False,True,199,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +398,199,13.103435135898334,13.348948866179066,12.22853509604228,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,14.721102647502548,1,1,2,True,14.721102647502548,2,3,False,True,199,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +399,200,12.935096720320228,13.315477833537178,12.19925379264749,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,7.03304841314779,1,1,2,True,7.03304841314779,2,3,False,True,200,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +400,200,12.935096720320228,13.315477833537178,12.19925379264749,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,7.03304841314779,1,1,2,True,7.03304841314779,2,3,False,True,200,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +401,201,13.14034499929835,13.387912378846064,12.153286948613198,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,3.5382739249851345,1,2,2,True,3.5382739249851345,2,3,False,True,201,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +402,201,13.14034499929835,13.387912378846064,12.153286948613198,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,3.5382739249851345,1,2,2,True,3.5382739249851345,2,3,False,True,201,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +403,202,13.146648214049177,13.482227293496402,12.26254871799893,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,3.7275993850082214,1,2,2,True,3.7275993850082214,2,3,False,True,202,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +404,202,13.146648214049177,13.482227293496402,12.26254871799893,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,3.7275993850082214,1,2,2,True,3.7275993850082214,2,3,False,True,202,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +405,203,13.119641461256677,13.523107142872279,12.338734922733842,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,14.485158569949402,1,2,2,True,14.485158569949402,2,3,False,True,203,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +406,203,13.119641461256677,13.523107142872279,12.338734922733842,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,14.485158569949402,1,2,2,True,14.485158569949402,2,3,False,True,203,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +407,204,13.11171539225675,13.571516954269176,12.140992562724994,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,1.7022516568024884,1,2,2,True,1.7022516568024884,2,3,False,True,204,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +408,204,13.11171539225675,13.571516954269176,12.140992562724994,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,1.7022516568024884,1,2,2,True,1.7022516568024884,2,3,False,True,204,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +409,205,13.039305818424044,13.487108980812545,12.246788295543091,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,6.703205711643498,1,2,2,True,6.703205711643498,2,3,False,True,205,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +410,205,13.039305818424044,13.487108980812545,12.246788295543091,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,6.703205711643498,1,2,2,True,6.703205711643498,2,3,False,True,205,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +411,206,12.870508296529518,13.448303425203278,12.232254213568112,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,6.583860081822633,1,2,2,True,6.583860081822633,2,3,False,True,206,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +412,206,12.870508296529518,13.448303425203278,12.232254213568112,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,6.583860081822633,1,2,2,True,6.583860081822633,2,3,False,True,206,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +413,207,13.06013017933918,13.557735608668978,12.265971272642622,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,31.622769862029074,1,2,2,True,31.622769862029074,2,3,False,True,207,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +414,207,13.06013017933918,13.557735608668978,12.265971272642622,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,31.622769862029074,1,2,2,True,31.622769862029074,2,3,False,True,207,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +415,208,13.005666477205667,13.472488820611066,12.250110214409455,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,3.274556757748118,1,2,2,True,3.274556757748118,2,3,False,True,208,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +416,208,13.005666477205667,13.472488820611066,12.250110214409455,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,3.274556757748118,1,2,2,True,3.274556757748118,2,3,False,True,208,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +417,209,13.037823038011373,13.51171509010146,12.134090078248777,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,13.176050570855214,1,2,2,True,13.176050570855214,2,3,False,True,209,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +418,209,13.037823038011373,13.51171509010146,12.134090078248777,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,13.176050570855214,1,2,2,True,13.176050570855214,2,3,False,True,209,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +419,210,12.979203663551333,13.42066752065207,12.209028729040504,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,20.663521933407807,1,2,2,True,20.663521933407807,2,3,False,True,210,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +420,210,12.979203663551333,13.42066752065207,12.209028729040504,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,20.663521933407807,1,2,2,True,20.663521933407807,2,3,False,True,210,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +421,211,12.973700158839385,13.543221450054755,12.259190286586263,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,6.634344280420774,1,2,2,True,6.634344280420774,2,3,False,True,211,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +422,211,12.973700158839385,13.543221450054755,12.259190286586263,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,6.634344280420774,1,2,2,True,6.634344280420774,2,3,False,True,211,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +423,212,13.248867909034244,13.652361933479844,12.453877078871097,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,38.06148126238979,1,2,2,True,38.06148126238979,2,3,False,True,212,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +424,212,13.248867909034244,13.652361933479844,12.453877078871097,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,38.06148126238979,1,2,2,True,38.06148126238979,2,3,False,True,212,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +425,213,13.078299285985885,13.420909952513599,12.160684756525795,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,1.4341724734163686,1,2,2,True,1.4341724734163686,2,3,False,True,213,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +426,213,13.078299285985885,13.420909952513599,12.160684756525795,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,1.4341724734163686,1,2,2,True,1.4341724734163686,2,3,False,True,213,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +427,214,13.211665596258648,13.555365452362826,12.318885186176756,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,12.793731644086899,1,2,2,True,12.793731644086899,2,3,False,True,214,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +428,214,13.211665596258648,13.555365452362826,12.318885186176756,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,12.793731644086899,1,2,2,True,12.793731644086899,2,3,False,True,214,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +429,215,13.04769982047975,13.283232884072,12.154699273457135,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,2.700680015318015,1,2,2,True,2.700680015318015,2,3,False,True,215,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +430,215,13.04769982047975,13.283232884072,12.154699273457135,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,2.700680015318015,1,2,2,True,2.700680015318015,2,3,False,True,215,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +431,216,13.102987199871347,13.436486496116698,12.269712858007377,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,12.118395448169084,1,2,2,True,12.118395448169084,2,3,False,True,216,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +432,216,13.102987199871347,13.436486496116698,12.269712858007377,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,12.118395448169084,1,2,2,True,12.118395448169084,2,3,False,True,216,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +433,217,12.983709573586008,13.343505675762756,12.205793349731492,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,15.884815995598183,1,2,2,True,15.884815995598183,2,3,False,True,217,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +434,217,12.983709573586008,13.343505675762756,12.205793349731492,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,15.884815995598183,1,2,2,True,15.884815995598183,2,3,False,True,217,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +435,218,12.727746800630593,13.320341405419208,12.061935231593765,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,3.650861700967141,1,2,2,True,3.650861700967141,2,3,False,True,218,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +436,218,12.727746800630593,13.320341405419208,12.061935231593765,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,3.650861700967141,1,2,2,True,3.650861700967141,2,3,False,True,218,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +437,219,12.538982119913868,13.106308888036702,11.95935455568048,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,5.671003496287027,1,2,2,True,5.671003496287027,2,3,False,True,219,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +438,219,12.538982119913868,13.106308888036702,11.95935455568048,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,5.671003496287027,1,2,2,True,5.671003496287027,2,3,False,True,219,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +439,220,12.731651354645718,13.19618774473282,12.054946163672081,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,2.2279456873951533,1,2,2,True,2.2279456873951533,2,3,False,True,220,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +440,220,12.731651354645718,13.19618774473282,12.054946163672081,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,2.2279456873951533,1,2,2,True,2.2279456873951533,2,3,False,True,220,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +441,221,12.989720491516172,13.446203677478394,12.26478914338267,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,17.220628848763734,1,2,2,True,17.220628848763734,2,3,False,True,221,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +442,221,12.989720491516172,13.446203677478394,12.26478914338267,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,17.220628848763734,1,2,2,True,17.220628848763734,2,3,False,True,221,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +443,222,13.06204110265586,13.373822799177766,12.092164336082563,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,4.372355992166978,1,2,2,True,4.372355992166978,2,3,False,True,222,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +444,222,13.06204110265586,13.373822799177766,12.092164336082563,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,4.372355992166978,1,2,2,True,4.372355992166978,2,3,False,True,222,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +445,223,12.690420854616065,12.764165153797085,11.763219978094666,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,1.407589756524465,1,2,2,True,1.407589756524465,2,3,False,True,223,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +446,223,12.690420854616065,12.764165153797085,11.763219978094666,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,1.407589756524465,1,2,2,True,1.407589756524465,2,3,False,True,223,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +447,224,13.070340925709724,13.49264785166699,12.239939767969402,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,26.44281033235335,1,2,2,True,26.44281033235335,2,3,False,True,224,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +448,224,13.070340925709724,13.49264785166699,12.239939767969402,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,26.44281033235335,1,2,2,True,26.44281033235335,2,3,False,True,224,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +449,225,12.924591850251174,13.342122252681483,12.126022969381438,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,10.220862653982845,1,2,2,True,10.220862653982845,2,3,False,True,225,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +450,225,12.924591850251174,13.342122252681483,12.126022969381438,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,10.220862653982845,1,2,2,True,10.220862653982845,2,3,False,True,225,1,80000,80.0,3,10.44,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +451,226,15.133384213936122,14.836345539230344,13.546505606961137,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,6.620437168684506,1,0,2,True,6.620437168684506,2,4,False,True,226,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +452,226,15.133384213936122,14.836345539230344,13.546505606961137,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,6.620437168684506,1,0,2,True,6.620437168684506,2,4,False,True,226,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +453,227,15.23277843819097,15.0070439667439,13.711896148178765,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,44.93177796327261,1,0,2,True,44.93177796327261,2,4,False,True,227,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +454,227,15.23277843819097,15.0070439667439,13.711896148178765,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,44.93177796327261,1,0,2,True,44.93177796327261,2,4,False,True,227,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +455,228,15.077502827521904,14.93702350141361,13.534071161274886,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,8.08132951060589,1,0,2,True,8.08132951060589,2,4,False,True,228,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +456,228,15.077502827521904,14.93702350141361,13.534071161274886,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,8.08132951060589,1,0,2,True,8.08132951060589,2,4,False,True,228,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +457,229,15.245366663802455,14.828935392011086,13.639460476935406,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,13.513888803191495,1,0,2,True,13.513888803191495,2,4,False,True,229,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +458,229,15.245366663802455,14.828935392011086,13.639460476935406,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,13.513888803191495,1,0,2,True,13.513888803191495,2,4,False,True,229,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +459,230,15.100411816401811,14.8976942780599,13.718690073009444,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,28.994434714815736,1,0,2,True,28.994434714815736,2,4,False,True,230,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +460,230,15.100411816401811,14.8976942780599,13.718690073009444,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,28.994434714815736,1,0,2,True,28.994434714815736,2,4,False,True,230,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +461,231,14.683740060210459,14.353041925947245,12.991577465796556,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,2.9695955410645123,1,0,2,True,2.9695955410645123,2,4,False,True,231,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +462,231,14.683740060210459,14.353041925947245,12.991577465796556,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,2.9695955410645123,1,0,2,True,2.9695955410645123,2,4,False,True,231,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +463,232,14.662470787970861,14.543375435992047,12.811869593297342,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,2.2358212965005597,1,0,2,True,2.2358212965005597,2,4,False,True,232,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +464,232,14.662470787970861,14.543375435992047,12.811869593297342,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,2.2358212965005597,1,0,2,True,2.2358212965005597,2,4,False,True,232,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +465,233,15.01435890346186,14.835055551135978,13.799569754375193,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,26.926363112555787,1,0,2,True,26.926363112555787,2,4,False,True,233,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +466,233,15.01435890346186,14.835055551135978,13.799569754375193,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,26.926363112555787,1,0,2,True,26.926363112555787,2,4,False,True,233,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +467,234,14.97643129531424,14.85645610000061,13.706308758552762,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,21.868744506701383,1,0,2,True,21.868744506701383,2,4,False,True,234,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +468,234,14.97643129531424,14.85645610000061,13.706308758552762,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,21.868744506701383,1,0,2,True,21.868744506701383,2,4,False,True,234,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +469,235,14.859849966230582,14.538828122693943,13.35053553284427,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,6.307911089987903,1,0,2,True,6.307911089987903,2,4,False,True,235,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +470,235,14.859849966230582,14.538828122693943,13.35053553284427,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,6.307911089987903,1,0,2,True,6.307911089987903,2,4,False,True,235,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +471,236,14.827050598597875,14.630119572161135,13.297754490964946,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,4.526262585330729,1,0,2,True,4.526262585330729,2,4,False,True,236,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +472,236,14.827050598597875,14.630119572161135,13.297754490964946,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,4.526262585330729,1,0,2,True,4.526262585330729,2,4,False,True,236,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +473,237,15.158944963364773,14.873416265351626,13.660776391169778,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,12.422754902824309,1,0,2,True,12.422754902824309,2,4,False,True,237,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +474,237,15.158944963364773,14.873416265351626,13.660776391169778,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,12.422754902824309,1,0,2,True,12.422754902824309,2,4,False,True,237,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +475,238,15.192854724666795,14.864813207863842,13.682629140167563,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,14.13869938017003,1,0,2,True,14.13869938017003,2,4,False,True,238,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +476,238,15.192854724666795,14.864813207863842,13.682629140167563,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,14.13869938017003,1,0,2,True,14.13869938017003,2,4,False,True,238,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +477,239,15.219587342556258,14.904479980021321,13.599349216920283,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,18.278683390249007,1,0,2,True,18.278683390249007,2,4,False,True,239,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +478,239,15.219587342556258,14.904479980021321,13.599349216920283,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,18.278683390249007,1,0,2,True,18.278683390249007,2,4,False,True,239,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +479,240,15.14036961324684,14.824005081121413,13.559392626794876,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,11.56195328350888,1,0,2,True,11.56195328350888,2,4,False,True,240,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +480,240,15.14036961324684,14.824005081121413,13.559392626794876,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,11.56195328350888,1,0,2,True,11.56195328350888,2,4,False,True,240,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +481,241,15.022249972663838,14.776515035157884,13.440683823747687,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,8.12260886122596,1,0,2,True,8.12260886122596,2,4,False,True,241,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +482,241,15.022249972663838,14.776515035157884,13.440683823747687,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,8.12260886122596,1,0,2,True,8.12260886122596,2,4,False,True,241,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +483,242,14.885590022805802,14.570247124686674,13.605402045861892,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,9.357439831646927,1,0,2,True,9.357439831646927,2,4,False,True,242,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +484,242,14.885590022805802,14.570247124686674,13.605402045861892,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,9.357439831646927,1,0,2,True,9.357439831646927,2,4,False,True,242,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +485,243,14.74990974524006,14.467588768371217,13.449560283164296,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,7.949579756402113,1,0,2,True,7.949579756402113,2,4,False,True,243,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +486,243,14.74990974524006,14.467588768371217,13.449560283164296,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,7.949579756402113,1,0,2,True,7.949579756402113,2,4,False,True,243,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +487,244,14.72424796257435,14.343354733007079,13.43774125353687,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,30.703321880934038,1,0,2,True,30.703321880934038,2,4,False,True,244,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +488,244,14.72424796257435,14.343354733007079,13.43774125353687,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,30.703321880934038,1,0,2,True,30.703321880934038,2,4,False,True,244,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +489,245,14.869207270323953,14.73069276591416,13.595983229202524,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,36.74423988260558,1,0,2,True,36.74423988260558,2,4,False,True,245,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +490,245,14.869207270323953,14.73069276591416,13.595983229202524,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,36.74423988260558,1,0,2,True,36.74423988260558,2,4,False,True,245,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +491,246,14.820919885989365,14.528634676472281,13.381395318068918,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,5.647697391537433,1,0,2,True,5.647697391537433,2,4,False,True,246,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +492,246,14.820919885989365,14.528634676472281,13.381395318068918,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,5.647697391537433,1,0,2,True,5.647697391537433,2,4,False,True,246,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +493,247,15.103933943017823,14.81205751187078,13.432018287787105,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,11.03235545933555,1,0,2,True,11.03235545933555,2,4,False,True,247,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +494,247,15.103933943017823,14.81205751187078,13.432018287787105,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,11.03235545933555,1,0,2,True,11.03235545933555,2,4,False,True,247,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +495,248,14.835689384648616,14.328778503622605,13.414167152449112,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,10.434488522549879,1,0,2,True,10.434488522549879,2,4,False,True,248,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +496,248,14.835689384648616,14.328778503622605,13.414167152449112,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,10.434488522549879,1,0,2,True,10.434488522549879,2,4,False,True,248,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +497,249,14.93230696617204,14.444732099536354,13.124123116063883,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,5.311949259193116,1,0,2,True,5.311949259193116,2,4,False,True,249,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +498,249,14.93230696617204,14.444732099536354,13.124123116063883,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,5.311949259193116,1,0,2,True,5.311949259193116,2,4,False,True,249,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +499,250,14.96441572527129,14.408421181655957,13.326924476064926,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,11.056007329219232,1,0,2,True,11.056007329219232,2,4,False,True,250,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +500,250,14.96441572527129,14.408421181655957,13.326924476064926,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,11.056007329219232,1,0,2,True,11.056007329219232,2,4,False,True,250,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,0,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +501,251,13.342257566902498,13.504625391717688,12.177576691520624,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,9.880923411950437,1,1,2,True,9.880923411950437,2,4,False,True,251,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +502,251,13.342257566902498,13.504625391717688,12.177576691520624,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,9.880923411950437,1,1,2,True,9.880923411950437,2,4,False,True,251,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +503,252,13.287103037677896,13.448263885197276,12.22926466799663,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,7.081547891710607,1,1,2,True,7.081547891710607,2,4,False,True,252,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +504,252,13.287103037677896,13.448263885197276,12.22926466799663,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,7.081547891710607,1,1,2,True,7.081547891710607,2,4,False,True,252,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +505,253,13.307726206823233,13.57682743357882,12.341563633190418,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,26.20917179563924,1,1,2,True,26.20917179563924,2,4,False,True,253,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +506,253,13.307726206823233,13.57682743357882,12.341563633190418,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,26.20917179563924,1,1,2,True,26.20917179563924,2,4,False,True,253,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +507,254,13.437708206723384,13.65030957258677,12.42796142692723,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,37.07906130940215,1,1,2,True,37.07906130940215,2,4,False,True,254,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +508,254,13.437708206723384,13.65030957258677,12.42796142692723,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,37.07906130940215,1,1,2,True,37.07906130940215,2,4,False,True,254,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +509,255,13.132809901071425,13.40680786480122,12.275305963908384,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,4.035833881943237,1,1,2,True,4.035833881943237,2,4,False,True,255,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +510,255,13.132809901071425,13.40680786480122,12.275305963908384,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,4.035833881943237,1,1,2,True,4.035833881943237,2,4,False,True,255,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +511,256,12.875210730039209,13.25533089752532,12.04754668595597,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,1.5430511478319637,1,1,2,True,1.5430511478319637,2,4,False,True,256,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +512,256,12.875210730039209,13.25533089752532,12.04754668595597,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,1.5430511478319637,1,1,2,True,1.5430511478319637,2,4,False,True,256,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +513,257,13.130447186370393,13.575389985673537,12.320958146516524,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,16.914287357065394,1,1,2,True,16.914287357065394,2,4,False,True,257,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +514,257,13.130447186370393,13.575389985673537,12.320958146516524,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,16.914287357065394,1,1,2,True,16.914287357065394,2,4,False,True,257,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +515,258,13.107691532252161,13.530245539352135,12.222162964362218,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,7.22948459873614,1,1,2,True,7.22948459873614,2,4,False,True,258,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +516,258,13.107691532252161,13.530245539352135,12.222162964362218,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,7.22948459873614,1,1,2,True,7.22948459873614,2,4,False,True,258,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +517,259,13.087326618629264,13.477116446612335,12.225878805607634,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,15.453756567662591,1,1,2,True,15.453756567662591,2,4,False,True,259,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +518,259,13.087326618629264,13.477116446612335,12.225878805607634,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,15.453756567662591,1,1,2,True,15.453756567662591,2,4,False,True,259,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +519,260,13.076735771938715,13.479769702129964,12.146125276786858,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,13.664352914732909,1,1,2,True,13.664352914732909,2,4,False,True,260,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +520,260,13.076735771938715,13.479769702129964,12.146125276786858,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,13.664352914732909,1,1,2,True,13.664352914732909,2,4,False,True,260,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +521,261,13.079472457883782,13.477828235551305,12.182858753703762,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,7.047122466589476,1,1,2,True,7.047122466589476,2,4,False,True,261,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +522,261,13.079472457883782,13.477828235551305,12.182858753703762,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,7.047122466589476,1,1,2,True,7.047122466589476,2,4,False,True,261,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +523,262,13.164625562239738,13.552307527872221,12.267931587547329,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,2.6313143481798646,1,1,2,True,2.6313143481798646,2,4,False,True,262,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +524,262,13.164625562239738,13.552307527872221,12.267931587547329,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,2.6313143481798646,1,1,2,True,2.6313143481798646,2,4,False,True,262,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +525,263,13.454087193944106,13.561608833863067,12.396673756986512,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,46.76247051727934,1,1,2,True,46.76247051727934,2,4,False,True,263,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +526,263,13.454087193944106,13.561608833863067,12.396673756986512,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,46.76247051727934,1,1,2,True,46.76247051727934,2,4,False,True,263,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +527,264,13.326802108626172,13.535494990074532,12.315995587882522,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,17.165038738302936,1,1,2,True,17.165038738302936,2,4,False,True,264,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +528,264,13.326802108626172,13.535494990074532,12.315995587882522,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,17.165038738302936,1,1,2,True,17.165038738302936,2,4,False,True,264,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +529,265,13.206230698718239,13.378572017559579,12.241922375904817,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,5.9784748127825,1,1,2,True,5.9784748127825,2,4,False,True,265,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +530,265,13.206230698718239,13.378572017559579,12.241922375904817,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,5.9784748127825,1,1,2,True,5.9784748127825,2,4,False,True,265,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +531,266,13.205439484866595,13.449573616876654,12.321260477202642,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,10.33539496724932,1,1,2,True,10.33539496724932,2,4,False,True,266,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +532,266,13.205439484866595,13.449573616876654,12.321260477202642,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,10.33539496724932,1,1,2,True,10.33539496724932,2,4,False,True,266,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +533,267,13.009095291663051,13.343208953118681,12.207301548803672,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,7.823513988786895,1,1,2,True,7.823513988786895,2,4,False,True,267,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +534,267,13.009095291663051,13.343208953118681,12.207301548803672,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,7.823513988786895,1,1,2,True,7.823513988786895,2,4,False,True,267,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +535,268,12.905875684504906,13.219740333790083,12.157201738573422,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,6.609288716985079,1,1,2,True,6.609288716985079,2,4,False,True,268,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +536,268,12.905875684504906,13.219740333790083,12.157201738573422,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,6.609288716985079,1,1,2,True,6.609288716985079,2,4,False,True,268,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +537,269,12.80729734793323,13.234989727321357,11.970743435358472,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,11.639322300360142,1,1,2,True,11.639322300360142,2,4,False,True,269,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +538,269,12.80729734793323,13.234989727321357,11.970743435358472,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,11.639322300360142,1,1,2,True,11.639322300360142,2,4,False,True,269,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +539,270,13.023783998263465,13.391478669386599,12.163817084186748,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,14.934060004044138,1,1,2,True,14.934060004044138,2,4,False,True,270,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +540,270,13.023783998263465,13.391478669386599,12.163817084186748,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,14.934060004044138,1,1,2,True,14.934060004044138,2,4,False,True,270,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +541,271,13.110327955534432,13.4781229847198,12.267828099298836,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,25.158942344854868,1,1,2,True,25.158942344854868,2,4,False,True,271,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +542,271,13.110327955534432,13.4781229847198,12.267828099298836,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,25.158942344854868,1,1,2,True,25.158942344854868,2,4,False,True,271,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +543,272,13.176001714925578,13.39655414201394,12.072668084834072,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,4.531323441239523,1,1,2,True,4.531323441239523,2,4,False,True,272,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +544,272,13.176001714925578,13.39655414201394,12.072668084834072,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,4.531323441239523,1,1,2,True,4.531323441239523,2,4,False,True,272,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +545,273,13.049187277160312,13.286724256572727,12.018062213437133,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,13.134194635588159,1,1,2,True,13.134194635588159,2,4,False,True,273,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +546,273,13.049187277160312,13.286724256572727,12.018062213437133,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,13.134194635588159,1,1,2,True,13.134194635588159,2,4,False,True,273,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +547,274,13.134714387077254,13.345351797204,12.183271726713429,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,8.101981724859474,1,1,2,True,8.101981724859474,2,4,False,True,274,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +548,274,13.134714387077254,13.345351797204,12.183271726713429,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,8.101981724859474,1,1,2,True,8.101981724859474,2,4,False,True,274,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +549,275,12.98130075206417,13.371377488944114,12.121623467196178,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,4.825620097101846,1,1,2,True,4.825620097101846,2,4,False,True,275,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +550,275,12.98130075206417,13.371377488944114,12.121623467196178,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,4.825620097101846,1,1,2,True,4.825620097101846,2,4,False,True,275,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,1,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +551,276,13.349966973699699,13.517432251029145,12.282142663753168,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,1,17.83489889493407,1,2,2,True,17.83489889493407,2,4,False,True,276,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +552,276,13.349966973699699,13.517432251029145,12.282142663753168,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,1,17.83489889493407,1,2,2,True,17.83489889493407,2,4,False,True,276,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,46,82,20.3,1.0,15.0,27318,7,224,21927,2137,2254,18,758,284.01965,932.83514,0,0.0,0.0,0.0,3,5.89564,2.875,1707.375,2.8701670077474053,False,0.0,0.1,201.6,19734.3,1923.3,2028.6000000000001,16.2,682.2,24586.2 +553,277,13.31753401483978,13.529465118799742,12.315937619717722,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,2,13.069624586363915,1,2,2,True,13.069624586363915,2,4,False,True,277,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +554,277,13.31753401483978,13.529465118799742,12.315937619717722,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,2,13.069624586363915,1,2,2,True,13.069624586363915,2,4,False,True,277,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,134,240,31.1,1.0,24.79297,42078,19,453,33422,4399,2948,56,800,269.6431,885.61682,0,0.0,0.0,0.0,1,5.84871,5.195214044757156,1631.3747505618778,5.178722083182309,False,0.0,0.1,407.7,30079.8,3959.1,2653.2000000000003,50.4,720.0,37870.200000000004 +555,278,13.193194181273011,13.424558468064182,12.2971395528537,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,3,6.631094850412764,1,2,2,True,6.631094850412764,2,4,False,True,278,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +556,278,13.193194181273011,13.424558468064182,12.2971395528537,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,3,6.631094850412764,1,2,2,True,6.631094850412764,2,4,False,True,278,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,267,476,14.7,1.0,2.31799,2445,38,93,1159,950,211,0,32,218.08298,716.27252,0,0.0,0.0,0.0,1,5.53231,80.47040527548305,736.8919134777381,72.5479870569897,False,0.0,0.1,83.7,1043.1000000000001,855.0,189.9,0.0,28.8,2200.5 +557,279,13.36491784329197,13.585633586387038,12.279659295506542,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,4,11.432454045552834,1,2,2,True,11.432454045552834,2,4,False,True,279,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +558,279,13.36491784329197,13.585633586387038,12.279659295506542,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,4,11.432454045552834,1,2,2,True,11.432454045552834,2,4,False,True,279,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,151,253,19.3,1.0,18.0,22434,20,403,15430,3200,1907,116,1378,191.0,314.0,0,0.0,0.0,0.0,2,5.6433,7.947368421052632,1180.7368421052631,7.894233480535521,False,0.0,0.1,362.7,13887.0,2880.0,1716.3,104.4,1240.2,20190.600000000002 +559,280,13.095824119495505,13.475090754706342,12.234637710062849,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,5,5.287035764801275,1,2,2,True,5.287035764801275,2,4,False,True,280,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +560,280,13.095824119495505,13.475090754706342,12.234637710062849,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,5,5.287035764801275,1,2,2,True,5.287035764801275,2,4,False,True,280,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,611,1069,52.7,1.0,15.0,15662,86,2175,6356,5443,1292,5,391,191.0087,314.01431,0,0.0,72.14684,0.0,1,5.52555,38.1875,978.875,36.75367940760769,False,72.14684,0.1,1957.5,5720.400000000001,4898.7,1162.8,4.5,351.90000000000003,14095.800000000001 +561,281,12.968171248145529,13.380562399179185,12.239005453910165,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,6,5.194229096369147,1,2,2,True,5.194229096369147,2,4,False,True,281,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +562,281,12.968171248145529,13.380562399179185,12.239005453910165,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,6,5.194229096369147,1,2,2,True,5.194229096369147,2,4,False,True,281,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2240,3963,29.0,7.0,8.0,3789,226,151,924,1997,672,1,44,150.0,546.0,0,0.0,0.0,0.0,1,5.00004,149.33333333333334,252.6,93.85038978271686,False,0.0,0.1,135.9,831.6,1797.3,604.8000000000001,0.9,39.6,3410.1 +563,282,13.045738556314152,13.513755078967217,12.222186911447341,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,7,7.012397602208886,1,2,2,True,7.012397602208886,2,4,False,True,282,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +564,282,13.045738556314152,13.513755078967217,12.222186911447341,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,7,7.012397602208886,1,2,2,True,7.012397602208886,2,4,False,True,282,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3762,6032,45.0,13.0,14.0,11300,425,252,5535,4593,799,1,120,318.85754,933.24158,0,0.0,0.0,0.0,1,5.35435,139.33333333333334,418.51851851851853,104.5323772849998,False,0.0,0.1,226.8,4981.5,4133.7,719.1,0.9,108.0,10170.0 +565,283,13.133006188468496,13.51204372002887,12.281133253793131,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,8,7.377202985012893,1,2,2,True,7.377202985012893,2,4,False,True,283,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +566,283,13.133006188468496,13.51204372002887,12.281133253793131,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,8,7.377202985012893,1,2,2,True,7.377202985012893,2,4,False,True,283,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4582,9907,51.0,8.33042,15.0,4171,876,344,1413,1690,648,7,69,138.6747,529.59387,0,0.0,0.0,0.0,2,4.64648,196.39595000861536,178.7794647503131,93.5870567218022,False,0.0,0.1,309.6,1271.7,1521.0,583.2,6.3,62.1,3753.9 +567,284,13.020725359595083,13.44331648359168,12.171478368428593,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,9,3.0208228888479898,1,2,2,True,3.0208228888479898,2,4,False,True,284,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +568,284,13.020725359595083,13.44331648359168,12.171478368428593,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,9,3.0208228888479898,1,2,2,True,3.0208228888479898,2,4,False,True,284,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5545,10171,112.0,9.79332,47.0,31248,1034,123,8750,9500,12434,4,437,181.05391,299.21539,0,26.92893,2035.58118,20.60887,2,5.22542,97.63472182996169,550.2055523431277,82.92038669699788,False,2056.1900499999997,0.1,110.7,7875.0,8550.0,11190.6,3.6,393.3,28123.2 +569,285,12.982200414132347,13.376743418603787,12.044064337694094,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,10,1.7434421021447681,1,2,2,True,1.7434421021447681,2,4,False,True,285,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +570,285,12.982200414132347,13.376743418603787,12.044064337694094,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,10,1.7434421021447681,1,2,2,True,1.7434421021447681,2,4,False,True,285,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,5344,9308,73.5,10.37666,35.0,11172,822,139,3157,3008,4622,1,245,90.6058,277.92566,0,0.0,690.54974,0.0,3,4.73802,117.76979619037628,246.20586883212647,79.66360880593872,False,690.54974,0.1,125.10000000000001,2841.3,2707.2000000000003,4159.8,0.9,220.5,10054.800000000001 +571,286,13.073673244475282,13.466198640455838,12.246699059459496,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,11,4.619914017810682,1,2,2,True,4.619914017810682,2,4,False,True,286,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +572,286,13.073673244475282,13.466198640455838,12.246699059459496,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,11,4.619914017810682,1,2,2,True,4.619914017810682,2,4,False,True,286,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2902,5163,81.0,12.58862,38.0,10581,456,2267,2971,2736,2351,2,254,116.0,259.0,0,0.0,0.0,0.0,3,4.647390000000001,57.364680040688995,209.1577117541455,45.017850590412394,False,0.0,0.1,2040.3,2673.9,2462.4,2115.9,1.8,228.6,9522.9 +573,287,13.212420096340017,13.478886856932332,12.307245013533995,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,12,2.4382895882307225,1,2,2,True,2.4382895882307225,2,4,False,True,287,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +574,287,13.212420096340017,13.478886856932332,12.307245013533995,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,12,2.4382895882307225,1,2,2,True,2.4382895882307225,2,4,False,True,287,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,793,1207,53.3,1.0,16.0,15184,15,537,5932,4702,3699,13,301,203.38792,893.98761,0,0.0,3434.2146,2376.73853,3,5.46202,46.64705882352941,893.1764705882352,44.33178576556742,False,5810.95313,0.1,483.3,5338.8,4231.8,3329.1,11.700000000000001,270.90000000000003,13665.6 +575,288,13.256342148226588,13.515298402494212,12.288118048886137,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,13,5.12157113732263,1,2,2,True,5.12157113732263,2,4,False,True,288,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +576,288,13.256342148226588,13.515298402494212,12.288118048886137,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,13,5.12157113732263,1,2,2,True,5.12157113732263,2,4,False,True,288,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,102,166,26.5,1.0,19.79609,20289,2,792,15418,2402,1485,5,187,202.04991,888.1063800000001,0,348.71741000000003,1719.16077,3824.83545,3,5.51319,4.904768155937005,975.6160893706461,4.880233491040455,False,5543.99622,0.1,712.8000000000001,13876.2,2161.8,1336.5,4.5,168.3,18260.100000000002 +577,289,13.319895120993012,13.436810926830354,12.293597624188351,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,14,9.930664605988513,1,2,2,True,9.930664605988513,2,4,False,True,289,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +578,289,13.319895120993012,13.436810926830354,12.293597624188351,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,14,9.930664605988513,1,2,2,True,9.930664605988513,2,4,False,True,289,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,476,728,30.6,1.0,27.39873,28433,8,216,19167,2702,4286,14,2048,237.35252000000003,981.77643,0,0.0,851.33472,251.48717,3,5.52147,16.761312917866398,1001.2067441044019,16.485330180694433,False,1102.82189,0.1,194.4,17250.3,2431.8,3857.4,12.6,1843.2,25589.7 +579,290,13.19305210225113,13.32452178350225,12.130369146667533,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,15,4.1764066038279735,1,2,2,True,4.1764066038279735,2,4,False,True,290,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +580,290,13.19305210225113,13.32452178350225,12.130369146667533,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,15,4.1764066038279735,1,2,2,True,4.1764066038279735,2,4,False,True,290,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,279,470,28.5,3.0,14.0,16111,6,151,11256,2005,2175,9,515,262.41342000000003,1085.43726,0,0.0,0.0,0.0,3,5.5902400000000005,16.41176470588235,947.7058823529412,16.13239421454976,False,0.0,0.1,135.9,10130.4,1804.5,1957.5,8.1,463.5,14499.9 +581,291,13.193570362169856,13.383839338773479,12.265170883589303,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,16,10.563134930732026,1,2,2,True,10.563134930732026,2,4,False,True,291,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +582,291,13.193570362169856,13.383839338773479,12.265170883589303,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,16,10.563134930732026,1,2,2,True,10.563134930732026,2,4,False,True,291,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,6164,10272,123.4,13.73247,72.0,23407,279,2791,11982,4588,3569,65,412,164.00706,532.0228900000001,0,0.0,0.0,0.0,2,4.75017,71.8980801556283,273.02374467923295,56.91110757846511,False,0.0,0.1,2511.9,10783.800000000001,4129.2,3212.1,58.5,370.8,21066.3 +583,292,13.04820139920672,13.398562789871741,12.171785792094255,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,17,9.503228810769224,1,2,2,True,9.503228810769224,2,4,False,True,292,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +584,292,13.04820139920672,13.398562789871741,12.171785792094255,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,17,9.503228810769224,1,2,2,True,9.503228810769224,2,4,False,True,292,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,4075,7119,152.3,23.84518,36.0,9077,193,287,3374,1494,3691,5,226,109.0,477.0,1,0.0,0.0,0.0,1,4.58156,68.09236767271817,151.67470462951235,46.99470965368482,True,0.0,0.1,258.3,3036.6,1344.6000000000001,3321.9,4.5,203.4,8169.3 +585,293,12.817818602514743,13.13771605439342,12.038032323616786,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,18,2.9281790217625807,1,2,2,True,2.9281790217625807,2,4,False,True,293,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +586,293,12.817818602514743,13.13771605439342,12.038032323616786,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,18,2.9281790217625807,1,2,2,True,2.9281790217625807,2,4,False,True,293,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1034,2069,107.3,2.09941,50.0,6772,137,326,2273,1250,2431,25,467,95.0,273.0,1,0.0,0.0,0.0,3,4.1701,19.846673887477806,129.98227811025114,17.217739631821637,True,0.0,0.1,293.40000000000003,2045.7,1125.0,2187.9,22.5,420.3,6094.8 +587,294,12.526303559928365,13.047434022037299,11.79450195366704,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,19,1.874273324020115,1,2,2,True,1.874273324020115,2,4,False,True,294,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +588,294,12.526303559928365,13.047434022037299,11.79450195366704,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,19,1.874273324020115,1,2,2,True,1.874273324020115,2,4,False,True,294,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,843,1608,125.4,14.19946,74.0,10248,106,929,2892,1130,4388,0,909,82.00709,225.01944,1,0.0,0.0,0.0,3,4.1848,9.557881646894437,116.19118756509393,8.831410253121827,True,0.0,0.1,836.1,2602.8,1017.0,3949.2000000000003,0.0,818.1,9223.2 +589,295,13.026696665743037,13.346100040461671,12.104017427124258,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,20,24.86576877178561,1,2,2,True,24.86576877178561,2,4,False,True,295,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +590,295,13.026696665743037,13.346100040461671,12.104017427124258,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,20,24.86576877178561,1,2,2,True,24.86576877178561,2,4,False,True,295,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,2006,3691,98.3,15.35359,35.0,3610,210,274,995,1046,903,0,392,82.0,225.0,1,0.0,0.0,0.0,3,3.99027,39.838271710120374,71.69300143246987,25.608290753834503,True,0.0,0.1,246.6,895.5,941.4,812.7,0.0,352.8,3249.0 +591,296,13.137461303620752,13.45272856744191,12.327593705611939,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,21,34.38231753904585,1,2,2,True,34.38231753904585,2,4,False,True,296,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +592,296,13.137461303620752,13.45272856744191,12.327593705611939,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,21,34.38231753904585,1,2,2,True,34.38231753904585,2,4,False,True,296,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,3472,6203,78.9,15.189429999999998,44.0,7211,352,381,2802,1840,1975,0,213,123.0,355.0,1,0.0,0.0,0.0,3,4.29617,58.659122076357214,121.82918470409328,39.59477012942168,True,0.0,0.1,342.90000000000003,2521.8,1656.0,1777.5,0.0,191.70000000000002,6489.900000000001 +593,297,13.168161150457586,13.454153122506002,12.208311375634164,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,22,9.889518322869554,1,2,2,True,9.889518322869554,2,4,False,True,297,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +594,297,13.168161150457586,13.454153122506002,12.208311375634164,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,22,9.889518322869554,1,2,2,True,9.889518322869554,2,4,False,True,297,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1195,1925,87.7,9.0,46.0,19848,40,310,13956,3965,1218,10,389,191.0,525.0,0,0.0,0.0,0.0,3,4.93813,21.727272727272727,360.8727272727273,20.493413918685977,False,0.0,0.1,279.0,12560.4,3568.5,1096.2,9.0,350.1,17863.2 +595,298,13.03046874299929,13.12212441621206,12.0474303574849,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,23,12.469391709935115,1,2,2,True,12.469391709935115,2,4,False,True,298,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +596,298,13.03046874299929,13.12212441621206,12.0474303574849,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,23,12.469391709935115,1,2,2,True,12.469391709935115,2,4,False,True,298,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,565,906,90.8,4.413,20.0,11296,19,230,5968,1799,1870,2,1427,164.0,409.0,1,0.0,0.0,0.0,1,5.11702,23.14340720108139,462.7042968910007,22.040968530765987,True,0.0,0.1,207.0,5371.2,1619.1000000000001,1683.0,1.8,1284.3,10166.4 +597,299,13.134133934626547,13.400515167528484,12.12870218974323,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,24,11.596675815448394,1,2,2,True,11.596675815448394,2,4,False,True,299,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +598,299,13.134133934626547,13.400515167528484,12.12870218974323,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,24,11.596675815448394,1,2,2,True,11.596675815448394,2,4,False,True,299,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,604,979,39.0,2.0,20.40358,16572,47,202,10872,2074,2825,13,586,242.73199,784.69391,0,0.0,0.0,0.0,1,5.35851,26.959976932258147,739.7032081479834,26.011919988436304,False,0.0,0.1,181.8,9784.800000000001,1866.6000000000001,2542.5,11.700000000000001,527.4,14914.800000000001 +599,300,12.874739522560532,13.1736440305529,11.888088762919107,1,4,3,13,0,1,1,35,2,1,1,1,35,M,False,True,True,False,True,True,False,False,False,False,False,False,False,False,False,False,False,False,False,0,True,25,1.0235879035884936,1,2,2,True,1.0235879035884936,2,4,False,True,300,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 +600,300,12.874739522560532,13.1736440305529,11.888088762919107,2,4,3,13,0,1,1,55,1,4,3,0,0,N,False,True,True,True,False,False,False,False,False,False,True,False,False,False,False,False,False,False,False,0,False,25,1.0235879035884936,1,2,2,True,1.0235879035884936,2,4,False,True,300,1,150000,150.0,4,12.86,False,2,0,0,0,0,2,1,1,0,0,2,2,1,1,1,1551,3416,21.0,4.0,4.0,1608,435,302,369,630,220,0,87,232.0,341.0,0,0.0,0.0,0.0,1,4.89113,193.875,201.0,98.68660968660969,False,0.0,0.1,271.8,332.1,567.0,198.0,0.0,78.3,1447.2 diff --git a/activitysim/examples/prototype_mtc_extended/test/regress/final_trips.csv b/activitysim/examples/prototype_mtc_extended/test/regress/final_trips.csv new file mode 100644 index 0000000000..ef85410261 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/test/regress/final_trips.csv @@ -0,0 +1,87 @@ +trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,destination,origin,tour_id,escort_participants,school_escort_direction,purpose,destination_logsum,depart,trip_mode,mode_choice_logsum +309348571,644476,386761,escort,1,True,1,13,16,30934857,,,escort,,9,TNC_SHARED,-0.06869446957292388 +309348576,644476,386761,escort,1,False,2,7,13,30934857,,,othdiscr,34.81437482524035,9,WALK_LOC,-0.08996283484500224 +309348577,644476,386761,escort,2,False,2,16,7,30934857,,,home,,9,WALK_LOC,13.429241204717705 +309348581,644476,386761,escort,1,True,1,10,16,30934858,,,escort,,11,WALK,5.409024682061962 +309348586,644476,386761,escort,1,False,1,16,10,30934858,,,home,,14,WALK,5.435046360173753 +309348941,644476,386761,work,1,True,1,4,16,30934894,,,work,,17,WALK,-0.3895987614665479 +309348946,644476,386761,work,1,False,2,7,4,30934894,,,othdiscr,28.173622215668733,20,WALK,-0.3544041726968209 +309348947,644476,386761,work,2,False,2,16,7,30934894,,,home,,23,WALK,9.584561380116599 +309349301,644477,386761,escort,1,True,1,20,16,30934930,644478,outbound,escort,,8,WALK,0.2523742194226777 +309349306,644477,386761,escort,1,False,4,25,20,30934930,,,shopping,30.097764040165956,9,WALK,-0.6960761818605858 +309349307,644477,386761,escort,2,False,4,25,25,30934930,,,eatout,56.86518961543347,9,WALK,13.621701652511536 +309349308,644477,386761,escort,3,False,4,25,25,30934930,,,social,57.3049584902702,9,WALK,13.621701652511536 +309349309,644477,386761,escort,4,False,4,16,25,30934930,,,home,,9,WALK,12.120681532693142 +309349311,644477,386761,escort,1,True,1,20,16,30934931,,,escort,,18,WALK,0.2523743567033626 +309349316,644477,386761,escort,1,False,1,16,20,30934931,644478,inbound,home,,19,WALK,0.894029891493395 +309349361,644477,386761,shopping,1,True,1,16,16,30934936,,,shopping,,15,WALK,7.330879513166791 +309349366,644477,386761,shopping,1,False,3,7,16,30934936,,,othmaint,44.623255268481685,17,WALK,5.7907998238012865 +309349367,644477,386761,shopping,2,False,3,6,7,30934936,,,shopping,55.81746628506744,17,WALK,14.258626223998164 +309349368,644477,386761,shopping,3,False,3,16,6,30934936,,,home,,17,WALK,11.139129206001668 +309349761,644478,386761,school,1,True,1,20,16,30934976,644478,outbound,school,,8,WALK_LOC,1.5478828044209907 +309349766,644478,386761,school,1,False,1,16,20,30934976,644478,inbound,home,,19,WALK_LRF,3.7659964137273265 +754876721,1572659,763879,shopping,1,True,2,7,6,75487672,,,othmaint,50.18293965974078,12,WALK,12.726227970364954 +754876722,1572659,763879,shopping,2,True,2,9,7,75487672,,,shopping,,12,WALK,8.712619806527924 +754876726,1572659,763879,shopping,1,False,3,7,9,75487672,,,shopping,49.840857938751334,12,WALK,8.868849917144606 +754876727,1572659,763879,shopping,2,False,3,8,7,75487672,,,shopping,52.319993702020405,12,WALK,12.536508241024563 +754876728,1572659,763879,shopping,3,False,3,6,8,75487672,,,home,,12,WALK,10.6804275133357 +783833801,1632987,824207,atwork,1,True,1,4,4,78383380,,,atwork,,10,WALK,0.5929356060714357 +783833806,1632987,824207,atwork,1,False,1,4,4,78383380,,,work,,10,WALK,0.5929356060714357 +783834221,1632987,824207,work,1,True,1,4,18,78383422,,,work,,7,TNC_SINGLE,0.8258210517071308 +783834226,1632987,824207,work,1,False,1,18,4,78383422,,,home,,14,TNC_SINGLE,0.7662637250012526 +900346121,1875721,982875,atwork,1,True,2,10,10,90034612,,,shopping,36.09668354341291,10,WALK,10.118153173920975 +900346122,1875721,982875,atwork,2,True,2,12,10,90034612,,,atwork,,10,WALK,4.567386346018334 +900346126,1875721,982875,atwork,1,False,1,10,12,90034612,,,work,,14,WALK,4.567386492932154 +900346541,1875721,982875,work,1,True,1,10,16,90034654,,,work,,5,WALK_LOC,7.96821203615646 +900346546,1875721,982875,work,1,False,1,16,10,90034654,,,home,,21,WALK_LRF,8.410160606956344 +900346621,1875722,982875,eatout,1,True,1,16,16,90034662,,,eatout,,11,WALK,7.330879548563644 +900346626,1875722,982875,eatout,1,False,1,16,16,90034662,,,home,,13,WALK,7.330879548563644 +1036347821,2159057,1099626,work,1,True,2,20,20,103634782,2159059,outbound,escort,,7,WALK,2.0731974644320226 +1036347822,2159057,1099626,work,2,True,2,2,20,103634782,,outbound,work,,7,WALK_LOC,-0.3600776021149735 +1036347826,2159057,1099626,work,1,False,1,20,2,103634782,,,home,,17,WALK_LOC,0.4350050428118264 +1036348161,2159058,1099626,univ,1,True,2,8,20,103634816,,,shopping,47.31933480733358,12,WALK,10.859926385389414 +1036348162,2159058,1099626,univ,2,True,2,9,8,103634816,,,univ,,13,WALK,9.848192645459868 +1036348166,2159058,1099626,univ,1,False,1,20,9,103634816,,,home,,17,WALK,9.7506325831761 +1036348641,2159059,1099626,school,1,True,1,20,20,103634864,2159059,outbound,school,,7,WALK,0.8576518414590414 +1036348646,2159059,1099626,school,1,False,1,20,20,103634864,,,home,,15,WALK,0.825511271579377 +1232015381,2566698,1196298,escort,1,True,1,3,25,123201538,2566701,outbound,escort,,8,WALK,9.662883955385928 +1232015386,2566698,1196298,escort,1,False,1,25,3,123201538,,,home,,8,WALK,9.662883955536028 +1232015501,2566698,1196298,work,1,True,2,25,25,123201550,2566700,outbound,escort,,9,WALK,10.854327833979944 +1232015502,2566698,1196298,work,2,True,2,1,25,123201550,,outbound,work,,9,WALK,-0.05680603564686863 +1232015506,2566698,1196298,work,1,False,1,25,1,123201550,,,home,,20,TAXI,-0.4041229308810321 +1232016321,2566700,1196298,school,1,True,1,25,25,123201632,2566700,outbound,school,,9,WALK,12.824615869979219 +1232016326,2566700,1196298,school,1,False,1,25,25,123201632,,,home,,13,WALK,12.824615869979219 +1232016801,2566701,1196298,school,1,True,1,3,25,123201680,2566701,outbound,school,,8,WALK_LOC,9.001507052987597 +1232016806,2566701,1196298,school,1,False,1,25,3,123201680,,,home,,17,WALK,9.002706629534757 +1232017281,2566702,1196298,school,1,True,1,6,25,123201728,,,school,,8,WALK_LOC,11.701783633702806 +1232017286,2566702,1196298,school,1,False,1,25,6,123201728,,,home,,15,WALK_LOC,11.238325410333005 +1469709521,3061894,1363467,shopping,1,True,2,7,24,146970952,,,othdiscr,44.88945443747221,12,WALK_LOC,13.44955992087016 +1469709522,3061894,1363467,shopping,2,True,2,11,7,146970952,,,shopping,,12,WALK_LOC,5.395740575779218 +1469709526,3061894,1363467,shopping,1,False,1,24,11,146970952,,,home,,12,WALK_LOC,4.8454717452559 +1469710001,3061895,1363467,shopping,1,True,1,21,24,146971000,,,shopping,,16,WALK_LOC,4.360128192512654 +1469710006,3061895,1363467,shopping,1,False,1,24,21,146971000,,,home,,16,WALK_LOC,4.318042993636195 +1469710061,3061895,1363467,work,1,True,1,25,24,146971006,,,work,,18,WALK,10.08552703351978 +1469710066,3061895,1363467,work,1,False,2,7,25,146971006,,,work,48.96195896600403,22,WALK,9.768727007079589 +1469710067,3061895,1363467,work,2,False,2,24,7,146971006,,,home,,23,WALK,9.848561346213632 +2002375521,4171615,1810015,univ,1,True,1,12,16,200237552,,,univ,,8,WALK_LOC,4.290136788107782 +2002375526,4171615,1810015,univ,1,False,1,16,12,200237552,,,home,,13,WALK_LOC,4.260656477197374 +2002375971,4171616,1810015,othmaint,1,True,1,13,16,200237597,,,othmaint,,12,WALK,-0.4194315276605148 +2002375976,4171616,1810015,othmaint,1,False,1,16,13,200237597,,,home,,14,WALK,-0.4194317281725166 +2002376621,4171617,1810015,work,1,True,1,15,16,200237662,,,work,,6,WALK_LOC,1.337642160740772 +2002376626,4171617,1810015,work,1,False,1,16,15,200237662,,,home,,14,WALK_LOC,1.2642078738745772 +2002377521,4171619,1810015,shopping,1,True,1,15,16,200237752,,,shopping,,15,WALK,0.8890200860995078 +2002377526,4171619,1810015,shopping,1,False,1,16,15,200237752,,,home,,15,WALK,0.7216237938903335 +2002377921,4171620,1810015,school,1,True,1,8,16,200237792,,,school,,7,WALK_LOC,10.68060996983474 +2002377926,4171620,1810015,school,1,False,1,16,8,200237792,,,home,,13,WALK_LOC,10.707962072705056 +2002378961,4171622,1810015,shopping,1,True,1,16,16,200237896,,,shopping,,17,WALK,7.330879449572421 +2002378966,4171622,1810015,shopping,1,False,1,16,16,200237896,,,home,,20,WALK,7.330879449572421 +2002379081,4171623,1810015,atwork,1,True,1,11,21,200237908,,,atwork,,11,WALK,5.104591162652175 +2002379086,4171623,1810015,atwork,1,False,1,21,11,200237908,,,work,,13,WALK,5.104591162652175 +2002379501,4171623,1810015,work,1,True,1,21,16,200237950,,,work,,8,WALK,2.520638113923786 +2002379506,4171623,1810015,work,1,False,1,16,21,200237950,,,home,,18,WALK,2.740637441694038 +3606007011,7512514,2821179,othmaint,1,True,1,1,8,360600701,,,othmaint,,9,WALK_LRF,0.7751207751649315 +3606007016,7512514,2821179,othmaint,1,False,1,8,1,360600701,,,home,,9,WALK_LRF,0.7208609722719941 +3606007121,7512514,2821179,shopping,1,True,1,5,8,360600712,,,shopping,,9,WALK,4.457538179557397 +3606007126,7512514,2821179,shopping,1,False,1,8,5,360600712,,,home,,10,WALK,4.457538178961434 +3606511661,7513565,2822230,work,1,True,1,25,8,360651166,,,work,,17,WALK,10.208443061976432 +3606511666,7513565,2822230,work,1,False,1,8,25,360651166,,,home,,21,WALK_LOC,10.194153968488326 diff --git a/activitysim/examples/example_mtc_extended/test/regress/final_vehicles.csv b/activitysim/examples/prototype_mtc_extended/test/regress/final_vehicles.csv similarity index 100% rename from activitysim/examples/example_mtc_extended/test/regress/final_vehicles.csv rename to activitysim/examples/prototype_mtc_extended/test/regress/final_vehicles.csv diff --git a/activitysim/examples/prototype_mtc_extended/test/simulation.py b/activitysim/examples/prototype_mtc_extended/test/simulation.py new file mode 100644 index 0000000000..8313dd45e7 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/test/simulation.py @@ -0,0 +1,15 @@ +# ActivitySim +# See full license in LICENSE.txt. + +import argparse +import sys + +from activitysim.cli.run import add_run_args, run + +if __name__ == "__main__": + + parser = argparse.ArgumentParser() + add_run_args(parser) + args = parser.parse_args() + + sys.exit(run(args)) diff --git a/activitysim/examples/prototype_mtc_extended/test/test_mtc_extended.py b/activitysim/examples/prototype_mtc_extended/test/test_mtc_extended.py new file mode 100644 index 0000000000..6d5cf34594 --- /dev/null +++ b/activitysim/examples/prototype_mtc_extended/test/test_mtc_extended.py @@ -0,0 +1,96 @@ +# ActivitySim +# See full license in LICENSE.txt. +import os +import subprocess + +import pandas as pd +import pandas.testing as pdt +import pkg_resources + +from activitysim.core import inject + + +def teardown_function(func): + inject.clear_cache() + inject.reinject_decorated_tables() + + +def run_test_mtc_extended(multiprocess=False): + def example_path(dirname): + resource = os.path.join("examples", "prototype_mtc_extended", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + def example_mtc_path(dirname): + resource = os.path.join("examples", "prototype_mtc", dirname) + return pkg_resources.resource_filename("activitysim", resource) + + def test_path(dirname): + return os.path.join(os.path.dirname(__file__), dirname) + + def regress(): + regress_trips_df = pd.read_csv(test_path("regress/final_trips.csv")) + final_trips_df = pd.read_csv(test_path("output/final_trips.csv")) + + regress_vehicles_df = pd.read_csv(test_path("regress/final_vehicles.csv")) + final_vehicles_df = pd.read_csv(test_path("output/final_vehicles.csv")) + + regress_accessibility_df = pd.read_csv( + test_path("regress/final_proto_disaggregate_accessibility.csv") + ) + final_accessibiliy_df = pd.read_csv( + test_path("output/final_proto_disaggregate_accessibility.csv") + ) + + pdt.assert_frame_equal(final_trips_df, regress_trips_df) + pdt.assert_frame_equal(final_vehicles_df, regress_vehicles_df) + pdt.assert_frame_equal(final_accessibiliy_df, regress_accessibility_df) + + file_path = os.path.join(os.path.dirname(__file__), "simulation.py") + + if multiprocess: + run_args = [ + "-c", + test_path("configs_mp"), + "-c", + example_path("configs_mp"), + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-c", + example_mtc_path("configs"), + "-d", + example_mtc_path("data"), + "-o", + test_path("output"), + ] + else: + run_args = [ + "-c", + test_path("configs"), + "-c", + example_path("configs"), + "-c", + example_mtc_path("configs"), + "-d", + example_mtc_path("data"), + "-o", + test_path("output"), + ] + + subprocess.run(["coverage", "run", "-a", file_path] + run_args, check=True) + + regress() + + +def test_mtc_extended(): + run_test_mtc_extended(multiprocess=False) + + +def test_mtc_extended_mp(): + run_test_mtc_extended(multiprocess=True) + + +if __name__ == "__main__": + run_test_mtc_extended(multiprocess=False) + run_test_mtc_extended(multiprocess=True) diff --git a/activitysim/examples/example_semcog/.gitignore b/activitysim/examples/prototype_mwcog/.gitignore similarity index 100% rename from activitysim/examples/example_semcog/.gitignore rename to activitysim/examples/prototype_mwcog/.gitignore diff --git a/activitysim/examples/prototype_mwcog/README.MD b/activitysim/examples/prototype_mwcog/README.MD new file mode 100644 index 0000000000..962ee831b5 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/README.MD @@ -0,0 +1,3 @@ +### MWCOG Example + +This is an example of the Metropolitan Washington Council of Governments ActivitySim model. This is a 53 zone portion of the model, centered on the National Mall. diff --git a/activitysim/examples/example_semcog/configs/_dummy_coefficients.csv b/activitysim/examples/prototype_mwcog/configs/_dummy_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/_dummy_coefficients.csv rename to activitysim/examples/prototype_mwcog/configs/_dummy_coefficients.csv diff --git a/activitysim/examples/prototype_mwcog/configs/accessibility.csv b/activitysim/examples/prototype_mwcog/configs/accessibility.csv new file mode 100644 index 0000000000..c7dcc77826 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/accessibility.csv @@ -0,0 +1,59 @@ +Description,Target,Expression +#,, +#,, auto peak +#,, +#,, assume peak occurs in AM for outbound and PM for inbound +peak round trip time,_auPkTime,"skim_od[('SOV_TIME', 'AM')] + skim_do[('SOV_TIME', 'PM')]" +decay function,_decay, exp(_auPkTime * dispersion_parameter_automobile) +auto peak retail,auPkRetail,df.RETEMP * _decay +auto peak total,auPkTotal,df.TOTEMP * _decay +#,, +#,, auto off-peak +#,, +#,, assume midday occurs entirely in the midday period +off-peak round trip time,_auOpTime,"skim_od[('SOV_TIME', 'MD')] + skim_do[('SOV_TIME', 'MD')]" +decay function,_decay, exp(_auOpTime * dispersion_parameter_automobile) +auto off-peak retail,auOpRetail,df.RETEMP * _decay +auto off-peak total,auOpTotal,df.TOTEMP * _decay +#,, +#,, transit peak +#,, +#,, assume peak outbound transit occurs in AM +o-d peak transit ivt,_inVehicleTime,"skim_od[('WK_TRN_WK_TOTIVT', 'AM')]" +o-d peak transit ovt,_outOfVehicleTime,"skim_od[('WK_TRN_WK_IWAIT', 'AM')] + skim_od[('WK_TRN_WK_XWAIT', 'AM')] + skim_od[('WK_TRN_WK_WACC_EGR', 'AM')] + skim_od[('WK_TRN_WK_WAUX', 'AM')]" +o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) +#,, assume peak inbound transit occurs in PM +d-o peak transit ivt,_inVehicleTime,"skim_od[('WK_TRN_WK_TOTIVT', 'PM')]" +d-o peak transit ovt,_outOfVehicleTime,"skim_od[('WK_TRN_WK_IWAIT', 'PM')] + skim_od[('WK_TRN_WK_XWAIT', 'PM')] + skim_od[('WK_TRN_WK_WACC_EGR', 'PM')] + skim_od[('WK_TRN_WK_WAUX', 'PM')]" +d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) +peak transit time,_trPkTime,_trPkTime_od + _trPkTime_do +round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) +decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) +transit peak retail,trPkRetail,df.RETEMP * _decay +transit peak total,trPkTotal,df.TOTEMP * _decay +#,, +#,, transit off-peak +#,, +#,, assume off-peak outbound transit occurs in the MD time period +o-d off-peak transit ivt,_inVehicleTime,"skim_od[('WK_TRN_WK_TOTIVT', 'MD')]" +o-d off-peak transit ovt,_outOfVehicleTime,"skim_od[('WK_TRN_WK_IWAIT', 'MD')] + skim_od[('WK_TRN_WK_XWAIT', 'MD')] + skim_od[('WK_TRN_WK_WACC_EGR', 'MD')] + skim_od[('WK_TRN_WK_WAUX', 'MD')]" +o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) +#,, assume off-peak inbound transit occurs in the MD time period +d-o off-peak transit ivt,_inVehicleTime,"skim_do[('WK_TRN_WK_TOTIVT', 'MD')]" +d-o off-peak transit ovt,_outOfVehicleTime,"skim_do[('WK_TRN_WK_IWAIT', 'MD')] + skim_do[('WK_TRN_WK_XWAIT', 'MD')] + skim_do[('WK_TRN_WK_WACC_EGR', 'MD')] + skim_do[('WK_TRN_WK_WAUX', 'MD')]" +d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) +peak transit time,_trOpTime,_trOpTime_od + _trOpTime_do +#,,FIXME - _rt_available calculation appears to be wrong in mtctm1 accessibility.job +#round trip path is available,_rt_available,(_trOpTime > 0) +round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) +decay function,_decay,_rt_available * exp(_trOpTime * dispersion_parameter_transit) +transit off-peak retail,trOpRetail,df.RETEMP * _decay +transit off-peak total,trOpTotal,df.TOTEMP * _decay +#,, +#,, non motorized +#,, +non-motorized round trip distance,_nmDist,skim_od['DISTWALK'] + skim_do['DISTWALK'] +round trip path is available,_rt_available,_nmDist <= maximum_walk_distance +decay function,_decay,_rt_available * exp(_nmDist * dispersion_parameter_walk) +retail accessibility,nmRetail,df.RETEMP * _decay +total accessibility,nmTotal,df.TOTEMP * _decay diff --git a/activitysim/examples/prototype_mwcog/configs/accessibility.yaml b/activitysim/examples/prototype_mwcog/configs/accessibility.yaml new file mode 100644 index 0000000000..b52c69ee19 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/accessibility.yaml @@ -0,0 +1,13 @@ + +# columns from land_use table to add to df +land_use_columns: ['RETEMP', 'TOTEMP'] + +CONSTANTS: + # dispersion parameters + dispersion_parameter_automobile: -0.05 + dispersion_parameter_transit: -0.05 + dispersion_parameter_walk: -1.00 + # maximum walk distance in miles + maximum_walk_distance: 3.0 + # perceived minute of in-vehicle time for every minute of out-of-vehicle time + out_of_vehicle_time_weight: 2.0 diff --git a/activitysim/examples/prototype_mwcog/configs/annotate_households.csv b/activitysim/examples/prototype_mwcog/configs/annotate_households.csv new file mode 100644 index 0000000000..c1383d1744 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/annotate_households.csv @@ -0,0 +1,42 @@ +Description,Target,Expression +#,, annotate households table after import +,_PERSON_COUNT,"lambda query, persons, households: persons.query(query).groupby('household_id').size().reindex(households.index).fillna(0).astype(np.int8)" +#,,FIXME households.income can be negative - so we clip? +income,income,households.hhincadj.fillna(0) +income_in_thousands,income_in_thousands,(income / 1000).clip(lower=0) +income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 50, 100, 150, np.inf], labels=[1, 2, 3, 4]).astype(int)" +#,, +,_MIN_VOT,setting('min_value_of_time') +,_MAX_VOT,setting('max_value_of_time') +,_MU,setting('distributed_vot_mu') +,_SIGMA,setting('distributed_vot_sigma') +median_value_of_time,median_value_of_time,"income_segment.map({k: v for k, v in setting('household_median_value_of_time').items()})" +hh_value_of_time,hh_value_of_time,"rng.lognormal_for_df(df, mu=np.log(median_value_of_time * _MU), sigma=_SIGMA).clip(_MIN_VOT, _MAX_VOT)" +#,, +#num_workers was renamed in import,, +,num_workers,"_PERSON_COUNT('(ESR==1)|(ESR==2)|(ESR==4)|(ESR==5)', persons, households)" +number of non_workers,num_non_workers,households.hhsize - num_workers +#,, +#,,we assume that everyone 16 and older is a potential driver +number of drivers,num_drivers,"_PERSON_COUNT('16 <= age', persons, households)" +num_adults,num_adults,"_PERSON_COUNT('18 <= age', persons, households)" +num_children,num_children,"_PERSON_COUNT('18 > age', persons, households)" +num_young_children,num_young_children,"_PERSON_COUNT('age <= 5', persons, households)" +num_children_5_to_15,num_children_5_to_15,"_PERSON_COUNT('5 <= age <= 15', persons, households)" +num_children_6_to_12,num_children_6_to_12,"_PERSON_COUNT('6 <= age <= 12', persons, households)" +num_children_16_to_17,num_children_16_to_17,"_PERSON_COUNT('16 <= age <= 17', persons, households)" +num_college_age,num_college_age,"_PERSON_COUNT('18 <= age <= 24', persons, households)" +num_young_adults,num_young_adults,"_PERSON_COUNT('25 <= age <= 34', persons, households)" +non_family,non_family,households.HHT.isin(HHT_NONFAMILY) +family,family,households.HHT.isin(HHT_FAMILY) +home_is_urban,home_is_urban,"reindex(land_use.AREATYPE, households.home_zone_id) < setting('urban_threshold')" +home_is_rural,home_is_rural,"reindex(land_use.AREATYPE, households.home_zone_id) > setting('rural_threshold')" +#,, default for work and school location logsums before auto_ownership model is run +,auto_ownership,households.auto_ownership +TAZ column to match settings file,TAZ,households.home_zone_id +number of pre-driving age children in the household,num_predrive_child,"_PERSON_COUNT('ptype == 7', persons, households)" +number of non-working adult in the household,num_nonworker_adults,"_PERSON_COUNT('ptype == 4', persons, households)" +number of full time workers,num_fullTime_workers,"_PERSON_COUNT('is_fulltime_worker', persons, households)" +number of part time workers,num_partTime_workers,"_PERSON_COUNT('is_parttime_worker', persons, households)" +number of retired adults in the household,_num_retired_adults,"_PERSON_COUNT('ptype == 5', persons, households)" +Retired Adults Only Households,retired_adults_only_hh,(households.hhsize > 0) & (households.hhsize == _num_retired_adults) diff --git a/activitysim/examples/example_psrc/configs/annotate_households_cdap.csv b/activitysim/examples/prototype_mwcog/configs/annotate_households_cdap.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_psrc/configs/annotate_households_cdap.csv rename to activitysim/examples/prototype_mwcog/configs/annotate_households_cdap.csv index a11620f76b..44b4fdcbfd --- a/activitysim/examples/example_psrc/configs/annotate_households_cdap.csv +++ b/activitysim/examples/prototype_mwcog/configs/annotate_households_cdap.csv @@ -1,9 +1,9 @@ -Description,Target,Expression -#,, annotate households table after cdap model has run -num_under16_not_at_school,num_under16_not_at_school,persons.under16_not_at_school.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active,num_travel_active,persons.travel_active.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_adults,num_travel_active_adults,(persons.adult & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_preschoolers,num_travel_active_preschoolers,((persons.ptype == PTYPE_PRESCHOOL) & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) -num_travel_active_children,num_travel_active_children,num_travel_active - num_travel_active_adults -num_travel_active_non_preschoolers,num_travel_active_non_preschoolers,num_travel_active - num_travel_active_preschoolers -participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) +Description,Target,Expression +#,, annotate households table after cdap model has run +num_under16_not_at_school,num_under16_not_at_school,persons.under16_not_at_school.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active,num_travel_active,persons.travel_active.astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_adults,num_travel_active_adults,(persons.adult & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_preschoolers,num_travel_active_preschoolers,((persons.ptype == PTYPE_PRESCHOOL) & persons.travel_active).astype(int).groupby(persons.household_id).sum().reindex(households.index).fillna(0).astype(np.int8) +num_travel_active_children,num_travel_active_children,num_travel_active - num_travel_active_adults +num_travel_active_non_preschoolers,num_travel_active_non_preschoolers,num_travel_active - num_travel_active_preschoolers +participates_in_jtf_model,participates_in_jtf_model,(num_travel_active > 1) & (num_travel_active_non_preschoolers > 0) diff --git a/activitysim/examples/example_semcog/configs/annotate_households_workplace.csv b/activitysim/examples/prototype_mwcog/configs/annotate_households_workplace.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/annotate_households_workplace.csv rename to activitysim/examples/prototype_mwcog/configs/annotate_households_workplace.csv index b835abf499..1b53e91daf --- a/activitysim/examples/example_semcog/configs/annotate_households_workplace.csv +++ b/activitysim/examples/prototype_mwcog/configs/annotate_households_workplace.csv @@ -1,5 +1,5 @@ -Description,Target,Expression -#,, annotate households table after workplace_location model has run -#,, hh_work_auto_savings_ratio is sum of persons work_auto_savings_ratio -,hh_work_auto_savings_ratio,persons.work_auto_savings_ratio.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0) -#,,handle persons with no locatcion +Description,Target,Expression +#,, annotate households table after workplace_location model has run +#,, hh_work_auto_savings_ratio is sum of persons work_auto_savings_ratio +,hh_work_auto_savings_ratio,persons.work_auto_savings_ratio.groupby(persons.household_id).sum().reindex(households.index).fillna(0.0) +#,,handle persons with no locatcion diff --git a/activitysim/examples/prototype_mwcog/configs/annotate_landuse.csv b/activitysim/examples/prototype_mwcog/configs/annotate_landuse.csv new file mode 100644 index 0000000000..8cb7aab081 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/annotate_landuse.csv @@ -0,0 +1,9 @@ +Description,Target,Expression +#,, annotate landuse table after import +household_density,household_density,land_use.HH / (land_use.LANDAREA * 640) +employment_density,employment_density,land_use.TOTEMP / (land_use.LANDAREA * 640) +,employment_density,employment_density.fillna(0) +density_index,density_index,(household_density *employment_density) / (household_density + employment_density).clip(lower=1) +topology (assume flat),TOPOLOGY,1 +zero out land use for zero area,Park_Acres,"np.where(land_use.LANDAREA==0,0,land_use.Park_Acres)" +zero out land use for zero area,GC_Acres,"np.where(land_use.LANDAREA==0,0,land_use.GC_Acres)" diff --git a/activitysim/examples/prototype_mwcog/configs/annotate_persons.csv b/activitysim/examples/prototype_mwcog/configs/annotate_persons.csv new file mode 100644 index 0000000000..df047862cb --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/annotate_persons.csv @@ -0,0 +1,68 @@ +Description,Target,Expression +#,, annotate persons table after import +age_0_to_5,age_0_to_5,"persons.age.between(0,5)" +age_6_to_12,age_6_to_12,"persons.age.between(6,12)" +age_16_to_19,age_16_to_19,"persons.age.between(16, 19)" +age_16_p,age_16_p,persons.age >= 16 +adult,adult,persons.age >= 18 +young,young,persons.age <= 25 +old,old,persons.age >= 65 +male,male,persons.SEX == 1 +female,female,persons.SEX == 2 +,esr,persons.ESR.fillna(0) +,wkhp,persons.WKHP.fillna(0) +,wkw,persons.WKW.fillna(0) +,schg,persons.SCHG.fillna(0) +,mil,persons.MIL.fillna(0) +employment status type,pemploy,np.zeros(len(persons)) +,pemploy,"np.where(persons.age < 16, PEMPLOY_CHILD, PEMPLOY_PART)" +,pemploy,"np.where((persons['age'] >= 16) & ((esr == 3) | (esr == 6)), PEMPLOY_NOT, pemploy)" +,pemploy,"np.where((persons.age>=16)&((esr != 3)&(esr != 6))&(wkhp >= 35) & (wkw >= 1) & (wkw <= 4), PEMPLOY_FULL, pemploy)" +student category,pstudent,np.zeros(len(persons)) +,pstudent,"np.where((pemploy == 1) & (persons.age >= 16), PSTUDENT_NOT, pstudent)" +,pstudent,"np.where((pemploy == 1) & (persons.age < 16), PSTUDENT_GRADE_OR_HIGH, pstudent)" +,pstudent,"np.where((schg < 1) & (persons.age >= 16), PSTUDENT_NOT, pstudent)" +,pstudent,"np.where((schg < 1) & (persons.age < 16), PSTUDENT_GRADE_OR_HIGH, pstudent)" +,pstudent,"np.where((schg >= 15) & (persons.age >= 16) & (pemploy != 1), PSTUDENT_UNIVERSITY, pstudent)" +,pstudent,"np.where((schg >= 15) & (persons.age < 16) & (pemploy != 1), PSTUDENT_GRADE_OR_HIGH, pstudent)" +,pstudent,"np.where((persons.age <= 19) & (pemploy != 1) & (schg >=1) & (schg<=14), PSTUDENT_GRADE_OR_HIGH, pstudent)" +,pstudent,"np.where((persons.age > 19) & (pemploy != 1) & (schg >=1) & (schg<=14), PSTUDENT_UNIVERSITY, pstudent)" +,pstudent,"np.where(pstudent == 0, 3, pstudent)" +person type,ptype,np.zeros(len(persons)) +,ptype,"np.where((pemploy == 1), PTYPE_FULL, PTYPE_NONWORK)" +,ptype,"np.where((pstudent == 3) & (pemploy == 2), PTYPE_PART, ptype)" +,ptype,"np.where((pstudent == 3) & (persons['age'] >= 65) & ((pemploy == 3) | (pemploy == 4)), PTYPE_RETIRED, ptype)" +,ptype,"np.where((pstudent == 3) & (persons['age'] < 6) & ((pemploy == 3) | (pemploy == 4)), PTYPE_PRESCHOOL, ptype)" +,ptype,"np.where((pstudent == 3) & (persons['age'] >= 6) & (persons['age'] <= 64) & ((pemploy == 3) | (pemploy == 4)), PTYPE_NONWORK, ptype)" +,ptype,"np.where((pstudent == 2) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_UNIVERSITY, ptype)" +,ptype,"np.where((pstudent == 1) & (persons['age'] < 6) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_PRESCHOOL, ptype)" +,ptype,"np.where((pstudent == 1) & (persons['age'] >= 16) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_DRIVING, ptype)" +,ptype,"np.where((pstudent == 1) & (persons['age'] >= 6) & (persons['age'] < 16) & ((pemploy == 2) | (pemploy == 3) | (pemploy == 4)), PTYPE_SCHOOL, ptype)" +presence of non_worker other than self in household,has_non_worker,"other_than(persons.household_id, ptype == PTYPE_NONWORK)" +presence of retiree other than self in household,has_retiree,"other_than(persons.household_id, ptype == PTYPE_RETIRED)" +presence of preschooler other than self in household,has_preschool_kid,"other_than(persons.household_id, ptype == PTYPE_PRESCHOOL)" +presence of driving_kid other than self in household,has_driving_kid,"other_than(persons.household_id, ptype == PTYPE_DRIVING)" +presence of school_kid other than self in household,has_school_kid,"other_than(persons.household_id, ptype == PTYPE_SCHOOL)" +presence of full_time worker other than self in household (independent of person type),has_full_time,"other_than(persons.household_id, pemploy==PEMPLOY_FULL)" +presence of part_time worker other than self in household (independent of person type),has_part_time,"other_than(persons.household_id, pemploy==PEMPLOY_PART)" +presence of university student other than self in household,has_university,"other_than(persons.household_id, ptype == PTYPE_UNIVERSITY)" +student_is_employed,student_is_employed,"np.where(((ptype == PTYPE_UNIVERSITY) | (ptype == PTYPE_DRIVING)) & ((pemploy == PEMPLOY_FULL) | (pemploy == PEMPLOY_PART)), True, False)" +nonstudent_to_school,nonstudent_to_school,"np.where(((ptype == PTYPE_FULL) | (ptype == PTYPE_PART) | (ptype == PTYPE_NONWORK) | (ptype == PTYPE_RETIRED)) & ((pstudent == PSTUDENT_GRADE_OR_HIGH) | (pstudent == PSTUDENT_UNIVERSITY)), True, False)" +is_student,is_student,"np.where((pstudent == PSTUDENT_GRADE_OR_HIGH) | (pstudent == PSTUDENT_UNIVERSITY), True, False)" +preschool age can go to preschool,is_student,"np.where((pstudent == PSTUDENT_GRADE_OR_HIGH) | (pstudent == PSTUDENT_UNIVERSITY) & (persons.age > GRADE_SCHOOL_MIN_AGE), True, is_student)" +is_gradeschool,is_gradeschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age <= GRADE_SCHOOL_MAX_AGE) +is_highschool,is_highschool,(pstudent == PSTUDENT_GRADE_OR_HIGH) & (persons.age > GRADE_SCHOOL_MAX_AGE) +is_university,is_university,pstudent == PSTUDENT_UNIVERSITY +school_segment gradeschool,school_segment,"np.where(is_gradeschool, SCHOOL_SEGMENT_GRADE, SCHOOL_SEGMENT_NONE)" +school_segment highschool,school_segment,"np.where(is_highschool, SCHOOL_SEGMENT_HIGH, school_segment)" +school_segment university,school_segment,"np.where(is_university, SCHOOL_SEGMENT_UNIV, school_segment).astype(np.int8)" +#,, +is_worker,is_worker,"np.where((pemploy == PEMPLOY_FULL) |( pemploy == PEMPLOY_PART), True, False)" +#,, +home_zone_id,home_zone_id,"reindex(households.home_zone_id, persons.household_id)" +person number,PNUM,persons.per_num +income,income,"reindex(households.hhincadj, persons.household_id)" +income_in_thousands,income_in_thousands,(income / 1000).clip(lower=0) +income_segment,income_segment,"pd.cut(income_in_thousands, bins=[-np.inf, 50, 100, 150, np.inf], labels=[1, 2, 3, 4]).astype(int)" +is_fulltime_worker,is_fulltime_worker,"((age_16_p) & (wkhp >=35) & (wkw>=1) & (wkw<=4) & (~esr.isin([3,6])))" +is_parttime_worker,is_parttime_worker,"((age_16_p) & (~esr.isin([3,6])) & (is_fulltime_worker == False))" diff --git a/activitysim/examples/prototype_mwcog/configs/annotate_persons_after_hh.csv b/activitysim/examples/prototype_mwcog/configs/annotate_persons_after_hh.csv new file mode 100644 index 0000000000..d3fe7f160a --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/annotate_persons_after_hh.csv @@ -0,0 +1,23 @@ +Description,Target,Expression +#,, annotate persons table after annotate_households +#,, adults get full hh_value_of_time and children get 60% +,_hh_vot,"reindex(households.hh_value_of_time, persons.household_id)" +,value_of_time,"_hh_vot.where(persons.age>=18, _hh_vot * 0.667)" +,_hh_income,"reindex(households.hhincadj, persons.household_id)" +,_num_adults,"reindex(households.num_adults, persons.household_id)" +,_num_predrive_child,"reindex(households.num_predrive_child, persons.household_id)" +,_num_nonworker_adults,"reindex(households.num_nonworker_adults, persons.household_id)" +,_num_full_time_workers,"reindex(households.num_fullTime_workers, persons.household_id)" +Income less than 25K,is_income_less25K,(_hh_income)<25000 +Income 25K to 60K,is_income_25K_to_60K,((_hh_income)>=25000) & ((_hh_income)<60000) +Income 60K to 120K,is_income_60K_to_120K, ((_hh_income)>=60000) & ((_hh_income)<120000) +Income greater than 60K,is_income_greater60K,((_hh_income)>=60000) +Income greater than 120K,is_income_greater120K,((_hh_income)>=120000) +Presence of nonworker in HHs,is_non_worker_in_HH,_num_nonworker_adults>0 +all the adults in the HH are full time workers,is_all_adults_full_time_workers,(_num_adults) == (_num_full_time_workers) +Presence of predrive child in HHs,is_pre_drive_child_in_HH,_num_predrive_child>0 +,_has_young_children,"reindex(households.num_young_children, persons.household_id)" +,_has_children_6_to_12,"reindex(households.num_children_6_to_12, persons.household_id)" +has_young_children,has_young_children,_has_young_children>0 +has_children_6_to_12,has_children_6_to_12,_has_children_6_to_12>0 +hh_child,hh_child,"reindex(households.num_children, persons.household_id)" diff --git a/activitysim/examples/prototype_mwcog/configs/annotate_persons_cdap.csv b/activitysim/examples/prototype_mwcog/configs/annotate_persons_cdap.csv new file mode 100644 index 0000000000..2ad5e56a6b --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/annotate_persons_cdap.csv @@ -0,0 +1,6 @@ +Description,Target,Expression +#,, annotate persons table after cdap model has run +travel_active,travel_active,persons.cdap_activity != CDAP_ACTIVITY_HOME +under16_not_at_school,under16_not_at_school,"persons.ptype.isin([PTYPE_SCHOOL, PTYPE_PRESCHOOL]) & persons.cdap_activity.isin(['N', 'H'])" +has_preschool_kid_at_home,has_preschool_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_PRESCHOOL) & (persons.cdap_activity == 'H'))" +has_school_kid_at_home,has_school_kid_at_home,"other_than(persons.household_id, (persons.ptype == PTYPE_SCHOOL) & (persons.cdap_activity == 'H'))" diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_jtp.csv b/activitysim/examples/prototype_mwcog/configs/annotate_persons_jtp.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/annotate_persons_jtp.csv rename to activitysim/examples/prototype_mwcog/configs/annotate_persons_jtp.csv index 3d5e08db0c..a72c866057 --- a/activitysim/examples/example_psrc/configs/annotate_persons_jtp.csv +++ b/activitysim/examples/prototype_mwcog/configs/annotate_persons_jtp.csv @@ -1,3 +1,3 @@ -Description,Target,Expression -#,, annotate persons table after joint_tour_participation model has run -num_joint_tours,num_joint_tours,"joint_tour_participants.groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" +Description,Target,Expression +#,, annotate persons table after joint_tour_participation model has run +num_joint_tours,num_joint_tours,"joint_tour_participants.groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" diff --git a/activitysim/examples/example_semcog/configs/annotate_persons_mtf.csv b/activitysim/examples/prototype_mwcog/configs/annotate_persons_mtf.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/annotate_persons_mtf.csv rename to activitysim/examples/prototype_mwcog/configs/annotate_persons_mtf.csv index b235b8ed69..4f8f5a8b09 --- a/activitysim/examples/example_semcog/configs/annotate_persons_mtf.csv +++ b/activitysim/examples/prototype_mwcog/configs/annotate_persons_mtf.csv @@ -1,10 +1,10 @@ -Description,Target,Expression -#,, annotate persons table after mandatory_tour_frequency model has run -,_PERSON_TOUR_COUNT,"lambda exp, persons, tours: tours.query(exp).groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" -,_Q,"lambda s: ""'{}'"".format(s)" -work_and_school_and_worker,work_and_school_and_worker,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_worker -work_and_school_and_student,work_and_school_and_student,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_student -number of mandatory tours for each person,num_mand,"_PERSON_TOUR_COUNT('tour_category==%s' % _Q('mandatory'), persons, tours).fillna(0)" -number of work tours for each person,num_work_tours,"_PERSON_TOUR_COUNT('tour_type==%s' % _Q('work'), persons, tours).fillna(0)" -presence of pre school kid with mandatory tours,has_pre_school_child_with_mandatory,"other_than(persons.household_id, (persons.ptype == 8) & (num_mand > 0))" -presense of driving age school children with mandatory tours,has_driving_age_child_with_mandatory,"other_than(persons.household_id, (persons.ptype == 6) & (num_mand > 0))" +Description,Target,Expression +#,, annotate persons table after mandatory_tour_frequency model has run +,_PERSON_TOUR_COUNT,"lambda exp, persons, tours: tours.query(exp).groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8)" +,_Q,"lambda s: ""'{}'"".format(s)" +work_and_school_and_worker,work_and_school_and_worker,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_worker +work_and_school_and_student,work_and_school_and_student,(persons.mandatory_tour_frequency == 'work_and_school') & persons.is_student +number of mandatory tours for each person,num_mand,"_PERSON_TOUR_COUNT('tour_category==%s' % _Q('mandatory'), persons, tours).fillna(0)" +number of work tours for each person,num_work_tours,"_PERSON_TOUR_COUNT('tour_type==%s' % _Q('work'), persons, tours).fillna(0)" +presence of pre school kid with mandatory tours,has_pre_school_child_with_mandatory,"other_than(persons.household_id, (persons.ptype == 8) & (num_mand > 0))" +presense of driving age school children with mandatory tours,has_driving_age_child_with_mandatory,"other_than(persons.household_id, (persons.ptype == 6) & (num_mand > 0))" diff --git a/activitysim/examples/example_semcog/configs/annotate_persons_nmtf.csv b/activitysim/examples/prototype_mwcog/configs/annotate_persons_nmtf.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/annotate_persons_nmtf.csv rename to activitysim/examples/prototype_mwcog/configs/annotate_persons_nmtf.csv index 17a1a001fb..11f8b111e4 --- a/activitysim/examples/example_semcog/configs/annotate_persons_nmtf.csv +++ b/activitysim/examples/prototype_mwcog/configs/annotate_persons_nmtf.csv @@ -1,15 +1,15 @@ -Description,Target,Expression -#,, annotate persons table after non_mandatory_tour_frequency model has run -num_non_mand,num_non_mand,tours[tours.tour_category=='non_mandatory'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_escort_tours,num_escort_tours,tours[tours.tour_type == 'escort'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_eatout_tours,num_eatout_tours,tours[tours.tour_type == 'eatout'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_shop_tours,num_shop_tours,tours[tours.tour_type == 'shopping'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_maint_tours,num_maint_tours,tours[tours.tour_type == 'othmaint'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_discr_tours,num_discr_tours,tours[tours.tour_type == 'othdiscr'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_social_tours,num_social_tours,tours[tours.tour_type == 'social'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) -num_non_escort_tours,num_non_escort_tours,num_non_mand-num_escort_tours -total shopping and maintenance tours,num_shop_maint_tours,num_shop_tours + num_maint_tours -"total shopping, maintenance and escort tours",num_shop_maint_escort_tours,num_shop_tours + num_maint_tours + num_escort_tours -number of additional shopping and maintenance tours,num_add_shop_maint_tours,"np.where (num_shop_maint_tours>0, 1, 0) * (num_shop_maint_tours - 1)" -total social and discretionary tours,num_soc_discr_tours,num_social_tours + num_discr_tours -number of additional social and discretionary,num_add_soc_discr_tours,"np.where (num_soc_discr_tours>0, 1, 0) * (num_soc_discr_tours - 1)" +Description,Target,Expression +#,, annotate persons table after non_mandatory_tour_frequency model has run +num_non_mand,num_non_mand,tours[tours.tour_category=='non_mandatory'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_escort_tours,num_escort_tours,tours[tours.tour_type == 'escort'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_eatout_tours,num_eatout_tours,tours[tours.tour_type == 'eatout'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_shop_tours,num_shop_tours,tours[tours.tour_type == 'shopping'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_maint_tours,num_maint_tours,tours[tours.tour_type == 'othmaint'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_discr_tours,num_discr_tours,tours[tours.tour_type == 'othdiscr'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_social_tours,num_social_tours,tours[tours.tour_type == 'social'].groupby('person_id').size().reindex(persons.index).fillna(0).astype(np.int8) +num_non_escort_tours,num_non_escort_tours,num_non_mand-num_escort_tours +total shopping and maintenance tours,num_shop_maint_tours,num_shop_tours + num_maint_tours +"total shopping, maintenance and escort tours",num_shop_maint_escort_tours,num_shop_tours + num_maint_tours + num_escort_tours +number of additional shopping and maintenance tours,num_add_shop_maint_tours,"np.where (num_shop_maint_tours>0, 1, 0) * (num_shop_maint_tours - 1)" +total social and discretionary tours,num_soc_discr_tours,num_social_tours + num_discr_tours +number of additional social and discretionary,num_add_soc_discr_tours,"np.where (num_soc_discr_tours>0, 1, 0) * (num_soc_discr_tours - 1)" diff --git a/activitysim/examples/example_semcog/configs/annotate_persons_school.csv b/activitysim/examples/prototype_mwcog/configs/annotate_persons_school.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/annotate_persons_school.csv rename to activitysim/examples/prototype_mwcog/configs/annotate_persons_school.csv index 43625623f8..553b124c3b --- a/activitysim/examples/example_semcog/configs/annotate_persons_school.csv +++ b/activitysim/examples/prototype_mwcog/configs/annotate_persons_school.csv @@ -1,7 +1,7 @@ -Description,Target,Expression -#,, annotate persons table after school_location model has run -,distance_to_school,"np.where(persons.school_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, 'DIST'),np.nan)" -#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD -temp auto_time_to_school,_auto_time_to_school,"skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, ('SOV_TIME', 'MD'))" -temp auto_time_return,_auto_time_return,"skim_dict.lookup(persons.school_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" -free flow roundtrip_auto_time_to_school,roundtrip_auto_time_to_school,"np.where(persons.school_zone_id>=0,_auto_time_to_school + _auto_time_return,0)" +Description,Target,Expression +#,, annotate persons table after school_location model has run +,distance_to_school,"np.where(persons.school_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, 'DIST'),np.nan)" +#,, this uses the free flow travel time in both directions. MTC TM1 was MD and MD +temp auto_time_to_school,_auto_time_to_school,"skim_dict.lookup(persons.home_zone_id, persons.school_zone_id, ('SOV_TIME', 'MD'))" +temp auto_time_return,_auto_time_return,"skim_dict.lookup(persons.school_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" +free flow roundtrip_auto_time_to_school,roundtrip_auto_time_to_school,"np.where(persons.school_zone_id>=0,_auto_time_to_school + _auto_time_return,0)" diff --git a/activitysim/examples/prototype_mwcog/configs/annotate_persons_workplace.csv b/activitysim/examples/prototype_mwcog/configs/annotate_persons_workplace.csv new file mode 100644 index 0000000000..707b30ab37 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/annotate_persons_workplace.csv @@ -0,0 +1,32 @@ +Description,Target,Expression +#,, annotate persons table after workplace_location model has run +,distance_to_work,"np.where(persons.workplace_zone_id>=0,skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DIST'),np.nan)" +workplace_in_cbd,workplace_in_cbd,"reindex(land_use.AREATYPE, persons.workplace_zone_id) < setting('cbd_threshold')" +work_zone_area_type,work_zone_area_type,"reindex(land_use.AREATYPE, persons.workplace_zone_id)" +#,, auto time to work - free flow travel time in both directions. MTC TM1 was MD and MD +#,,roundtrip_auto_time_to_work +,_auto_time_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('SOV_TIME', 'MD'))" +,_auto_time_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('SOV_TIME', 'MD'))" +,roundtrip_auto_time_to_work,"np.where(persons.workplace_zone_id>=0,_auto_time_home_to_work + _auto_time_work_to_home,0)" +#,,_roundtrip_walk_time_to_work +,_MAX_TIME_TO_WORK,999 +,_WALK_SPEED_MPH,3 +,_walk_time_home_to_work,"60 * skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" +,_walk_time_work_to_home,"60 * skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, 'DISTWALK')/_WALK_SPEED_MPH" +,_work_walk_available,(_walk_time_home_to_work > 0) & (_walk_time_work_to_home > 0) +,_roundtrip_walk_time_to_work,"np.where(_work_walk_available, _walk_time_home_to_work + _walk_time_work_to_home, _MAX_TIME_TO_WORK)" +#,,_roundtrip_transit_time_to_work +,_transit_ivt_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WK_TRN_WK_TOTIVT', 'MD'))" +,_transit_ivt_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WK_TRN_WK_TOTIVT', 'MD'))" +,_work_transit_available,(_transit_ivt_home_to_work > 0) & (_transit_ivt_work_to_home > 0) +,_transit_iwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WK_TRN_WK_IWAIT', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WK_TRN_WK_IWAIT', 'MD'))" +,_transit_xwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WK_TRN_WK_XWAIT', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WK_TRN_WK_XWAIT', 'MD'))" +,_transit_waux,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WK_TRN_WK_WAUX', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WK_TRN_WK_WAUX', 'MD'))" +,_transit_wacc,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WK_TRN_WK_WACC_EGR', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WK_TRN_WK_WACC_EGR', 'MD'))" +,_transit_wegr,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WK_TRN_WK_WACC_EGR', 'MD')) + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WK_TRN_WK_WACC_EGR', 'MD'))" +,_roundtrip_transit_time_to_work,_transit_ivt_home_to_work + _transit_ivt_work_to_home + _transit_iwait + _transit_xwait + _transit_waux + _transit_wacc + _transit_wegr +#,,work_auto_savings_ratio +,_min_work_walk_transit,"np.where(_work_transit_available, np.minimum(_roundtrip_transit_time_to_work, _roundtrip_walk_time_to_work), _roundtrip_walk_time_to_work)" +,work_auto_savings,"np.where(persons.is_worker, _min_work_walk_transit - roundtrip_auto_time_to_work, 0)" +#,,auto savings over walk or transit capped at 120 and normalized to unity +,work_auto_savings_ratio,"(work_auto_savings / 120.0).clip(-1.0, 1.0)" diff --git a/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination.csv b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination.csv new file mode 100644 index 0000000000..76162b48b1 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination.csv @@ -0,0 +1,18 @@ +Label,Description,Expression,atwork +local_dist,local_dist,_DIST@skims['DIST'],1 +util_dist,util_dist,@_DIST,coef_dist_atwork +util_dist_squared,"Distance squared, capped at 30 miles",@(_DIST)**2,coef_dist_squared_atwork +util_dist_cubed,"Distance cubed, capped at 30 miles",@(_DIST)**3,coef_dist_cubed_atwork +util_dist_logged,util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_atwork +util_dist_female,"Distance,female",@(df['female']==True) * _DIST,coef_dist_female_atwork +util_dist_zero_auto,"Distance,zero auto HH",@(df['auto_ownership']==0) * _DIST,coef_dist_zero_auto_atwork +util_dist_calibration_0_1,util_dist_calibration_0_1,@((_DIST>0) & (_DIST<=1)),coef_calib_0_1_dist_atwork +util_dist_calibration_1_3,util_dist_calibration_1_3,@((_DIST>1) & (_DIST<=3)),coef_calib_1_3_dist_atwork +util_dist_calibration_3_6,util_dist_calibration_3_6,@((_DIST>3) & (_DIST<=6)),coef_calib_3_6_dist_atwork +util_dist_calibration_6_10,util_dist_calibration_6_10,@((_DIST>6) & (_DIST<=10)),coef_calib_6_10_dist_atwork +util_dist_calibration_10_15,util_dist_calibration_10_15,@((_DIST>10) & (_DIST<=15)),coef_calib_10_15_dist_atwork +util_dist_calibration_15_pl,util_dist_calibration_15_pl,@(_DIST>15),coef_calib_15_pl_dist_atwork +util_size_variable_atwork,Size variable atwork,@df['size_term'].apply(np.log1p),coef_size_variable_atwork +util_no_attractions_atwork_size_variable_is_0,"No attractions, atwork size variable is 0",size_term==0,coef_no_attractions_atwork_size_variable_is_0 +util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_choice_logsum_atwork +util_sample_of_alternatives_correction_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",coef_sample_of_alternatives_correction_factor diff --git a/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination.yaml b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination.yaml new file mode 100644 index 0000000000..c60ae4377d --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination.yaml @@ -0,0 +1,33 @@ + +SPEC: atwork_subtour_destination.csv +SAMPLE_SPEC: atwork_subtour_destination_sample.csv +COEFFICIENTS: atwork_subtour_destination_coeffs.csv + + +SAMPLE_SIZE: 30 + +SIMULATE_CHOOSER_COLUMNS: + - person_id + - income_segment + - workplace_zone_id + - female + - auto_ownership + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: workplace_zone_id +ORIG_ZONE_ID: workplace_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 21 +OUT_PERIOD: 19 + +# optional (comment out if not desired) +DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample + +SIZE_TERM_SELECTOR: atwork + +SEGMENTS: [atwork] diff --git a/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination_coeffs.csv new file mode 100644 index 0000000000..d0d5cb5f4f --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination_coeffs.csv @@ -0,0 +1,17 @@ +coefficient_name,value,constrain +coef_dist_atwork,0.487260901,F +coef_dist_squared_atwork,-0.007463552,F +coef_dist_cubed_atwork,2.78E-05,F +coef_dist_logged_atwork,-5.322821417,F +coef_dist_female_atwork,-0.033246111,F +coef_dist_zero_auto_atwork,-0.135191524,F +coef_calib_0_1_dist_atwork,-0.755322501,T +coef_calib_1_3_dist_atwork,-0.283854352, +coef_calib_3_6_dist_atwork,0.964729369, +coef_calib_6_10_dist_atwork,1.476441427, +coef_calib_10_15_dist_atwork,1.189974447, +coef_calib_15_pl_dist_atwork,0.626309631, +coef_size_variable_atwork,1,T +coef_no_attractions_atwork_size_variable_is_0,-999,T +coef_mode_choice_logsum_atwork,0.424,F +coef_sample_of_alternatives_correction_factor,1,T diff --git a/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination_sample.csv b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination_sample.csv new file mode 100644 index 0000000000..4ef4969ec0 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_destination_sample.csv @@ -0,0 +1,16 @@ +Label,Description,Expression,atwork +local_dist,local_dist,_DIST@skims['DIST'],1 +util_dist,util_dist,@_DIST,coef_dist_atwork +util_dist_squared,util_dist_squared,@(_DIST)**2,coef_dist_squared_atwork +util_dist_cubed,util_dist_cubed,@(_DIST)**3,coef_dist_cubed_atwork +util_dist_logged,util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_atwork +util_dist_female,"Distance,female",@(df['female']==True) * _DIST,coef_dist_female_atwork +util_dist_zero_auto,"Distance,zero auto HH",@(df['auto_ownership']==0) * _DIST,coef_dist_zero_auto_atwork +util_dist_calibration_0_1,util_dist_calibration_0_1,@((_DIST>0) & (_DIST<=1)),coef_calib_0_1_dist_atwork +util_dist_calibration_1_3,util_dist_calibration_1_3,@((_DIST>1) & (_DIST<=3)),coef_calib_1_3_dist_atwork +util_dist_calibration_3_6,util_dist_calibration_3_6,@((_DIST>3) & (_DIST<=6)),coef_calib_3_6_dist_atwork +util_dist_calibration_6_10,util_dist_calibration_6_10,@((_DIST>6) & (_DIST<=10)),coef_calib_6_10_dist_atwork +util_dist_calibration_10_15,util_dist_calibration_10_15,@((_DIST>10) & (_DIST<=15)),coef_calib_10_15_dist_atwork +util_dist_calibration_15_pl,util_dist_calibration_15_pl,@(_DIST>15),coef_calib_15_pl_dist_atwork +util_size_variable_atwork,Size variable atwork,@df['size_term'].apply(np.log1p),coef_size_variable_atwork +util_no_attractions_atwork_size_variable_is_0,"No attractions, atwork size variable is 0",size_term==0,coef_no_attractions_atwork_size_variable_is_0 diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency.csv b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/atwork_subtour_frequency.csv rename to activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency.csv index 154c1d8972..a4eec1a888 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency.csv +++ b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency.csv @@ -1,23 +1,23 @@ -Label,Expression,no_subtours,eat,business1,maint,business2,eat_business -util_dummy_for_full_time_worker,pemploy==1,coefficient_dummy_for_full_time_worker_no_subtours,coefficient_dummy_for_full_time_worker_eat,coefficient_dummy_for_full_time_worker_business1,coefficient_dummy_for_full_time_worker_maint,coefficient_dummy_for_full_time_worker_business2,coefficient_dummy_for_full_time_worker_eat_business -util_dummy_for_non_full_time_worker,pemploy!=1,coefficient_dummy_for_non_full_time_worker_no_subtours,coefficient_dummy_for_non_full_time_worker_eat,coefficient_dummy_for_non_full_time_worker_business1,coefficient_dummy_for_non_full_time_worker_maint,coefficient_dummy_for_non_full_time_worker_business2,coefficient_dummy_for_non_full_time_worker_eat_business -util_dummy_for_non_workers,"ptype in [4, 5]",coefficient_dummy_for_non_workers_no_subtours,coefficient_dummy_for_non_workers_eat,coefficient_dummy_for_non_workers_business1,coefficient_dummy_for_non_workers_maint,coefficient_dummy_for_non_workers_business2,coefficient_dummy_for_non_workers_eat_business -util_medium_hh_income_dummy,income_segment == 2,coefficient_medium_hh_income_dummy_no_subtours,coefficient_medium_hh_income_dummy_eat,coefficient_medium_hh_income_dummy_business1,coefficient_medium_hh_income_dummy_maint,coefficient_medium_hh_income_dummy_business2,coefficient_medium_hh_income_dummy_eat_business -util_high_hh_income_dummy,(income_segment > 2) & (income_segment < 5),coefficient_high_hh_income_dummy_no_subtours,coefficient_high_hh_income_dummy_eat,coefficient_high_hh_income_dummy_business1,coefficient_high_hh_income_dummy_maint,coefficient_high_hh_income_dummy_business2,coefficient_high_hh_income_dummy_eat_business -util_zero_cars_owned_by_hh_dummy, auto_ownership == 0,coefficient_zero_cars_owned_by_hh_dummy_no_subtours,coefficient_zero_cars_owned_by_hh_dummy_eat,coefficient_zero_cars_owned_by_hh_dummy_business1,coefficient_zero_cars_owned_by_hh_dummy_maint,coefficient_zero_cars_owned_by_hh_dummy_business2,coefficient_zero_cars_owned_by_hh_dummy_eat_business -util_individual_discretionary_tours_made_by_full_time_worker,@(df.pemploy==1)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business -util_individual_discretionary_tours_made_by_part_time_worker,@(df.pemploy==2)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business -util_individual_eating_out_tours_made_by_person,num_eatout_tours,coefficient_individual_eating_out_tours_made_by_person_no_subtours,coefficient_individual_eating_out_tours_made_by_person_eat,coefficient_individual_eating_out_tours_made_by_person_business1,coefficient_individual_eating_out_tours_made_by_person_maint,coefficient_individual_eating_out_tours_made_by_person_business2,coefficient_individual_eating_out_tours_made_by_person_eat_business -util_main_shop_escort_tours_allocated_to_full_time_worker,@(df.pemploy==1)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business -util_main_shop_escort_tours_allocated_to_part_time_worker,@(df.pemploy==2)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business -util_participation_in_joint_shop_main_eat_tours,num_joint_maint_shop_eat,coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,coefficient_participation_in_joint_shop_main_eat_tours_eat,coefficient_participation_in_joint_shop_main_eat_tours_business1,coefficient_participation_in_joint_shop_main_eat_tours_maint,coefficient_participation_in_joint_shop_main_eat_tours_business2,coefficient_participation_in_joint_shop_main_eat_tours_eat_business -util_participation_in_joint_discretionary_tours,num_joint_discr,coefficient_participation_in_joint_discretionary_tours_no_subtours,coefficient_participation_in_joint_discretionary_tours_eat,coefficient_participation_in_joint_discretionary_tours_business1,coefficient_participation_in_joint_discretionary_tours_maint,coefficient_participation_in_joint_discretionary_tours_business2,coefficient_participation_in_joint_discretionary_tours_eat_business -util_log_of_the_work_tour_duration,@np.log((df.duration/2.25)+0.5),coefficient_log_of_the_work_tour_duration_no_subtours,coefficient_log_of_the_work_tour_duration_eat,coefficient_log_of_the_work_tour_duration_business1,coefficient_log_of_the_work_tour_duration_maint,coefficient_log_of_the_work_tour_duration_business2,coefficient_log_of_the_work_tour_duration_eat_business -util_dummy_for_drive_alone_mode_for_work_tour,work_tour_is_SOV,coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business -util_two_work_tours_by_person,num_work_tours==2,coefficient_two_work_tours_by_person_no_subtours,coefficient_two_work_tours_by_person_eat,coefficient_two_work_tours_by_person_business1,coefficient_two_work_tours_by_person_maint,coefficient_two_work_tours_by_person_business2,coefficient_two_work_tours_by_person_eat_business -util_workplace_urban_area_dummy,work_zone_area_type<4,coefficient_workplace_urban_area_dummy_no_subtours,coefficient_workplace_urban_area_dummy_eat,coefficient_workplace_urban_area_dummy_business1,coefficient_workplace_urban_area_dummy_maint,coefficient_workplace_urban_area_dummy_business2,coefficient_workplace_urban_area_dummy_eat_business -util_workplace_suburban_area_dummy,(work_zone_area_type>3) & (work_zone_area_type<6),coefficient_workplace_suburban_area_dummy_no_subtours,coefficient_workplace_suburban_area_dummy_eat,coefficient_workplace_suburban_area_dummy_business1,coefficient_workplace_suburban_area_dummy_maint,coefficient_workplace_suburban_area_dummy_business2,coefficient_workplace_suburban_area_dummy_eat_business -util_auto_accessibility_to_retail_for_work_taz,auOpRetail,coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,coefficient_auto_accessibility_to_retail_for_work_taz_eat,coefficient_auto_accessibility_to_retail_for_work_taz_business1,coefficient_auto_accessibility_to_retail_for_work_taz_maint,coefficient_auto_accessibility_to_retail_for_work_taz_business2,coefficient_auto_accessibility_to_retail_for_work_taz_eat_business -util_walk_accessibility_to_retail_for_work_taz,nmRetail,coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,coefficient_walk_accessibility_to_retail_for_work_taz_eat,coefficient_walk_accessibility_to_retail_for_work_taz_business1,coefficient_walk_accessibility_to_retail_for_work_taz_maint,coefficient_walk_accessibility_to_retail_for_work_taz_business2,coefficient_walk_accessibility_to_retail_for_work_taz_eat_business -util_dummy_for_worker_or_student_with_non_mandatory_tour,(is_worker | is_student) * num_non_mand,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business -util_at_work_sub_tour_alternative_specific_constant,1,coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,coefficient_at_work_sub_tour_alternative_specific_constant_eat,coefficient_at_work_sub_tour_alternative_specific_constant_business1,coefficient_at_work_sub_tour_alternative_specific_constant_maint,coefficient_at_work_sub_tour_alternative_specific_constant_business2,coefficient_at_work_sub_tour_alternative_specific_constant_eat_business +Label,Expression,no_subtours,eat,business1,maint,business2,eat_business +util_dummy_for_full_time_worker,pemploy==1,coefficient_dummy_for_full_time_worker_no_subtours,coefficient_dummy_for_full_time_worker_eat,coefficient_dummy_for_full_time_worker_business1,coefficient_dummy_for_full_time_worker_maint,coefficient_dummy_for_full_time_worker_business2,coefficient_dummy_for_full_time_worker_eat_business +util_dummy_for_non_full_time_worker,pemploy!=1,coefficient_dummy_for_non_full_time_worker_no_subtours,coefficient_dummy_for_non_full_time_worker_eat,coefficient_dummy_for_non_full_time_worker_business1,coefficient_dummy_for_non_full_time_worker_maint,coefficient_dummy_for_non_full_time_worker_business2,coefficient_dummy_for_non_full_time_worker_eat_business +util_dummy_for_non_workers,"ptype in [4, 5]",coefficient_dummy_for_non_workers_no_subtours,coefficient_dummy_for_non_workers_eat,coefficient_dummy_for_non_workers_business1,coefficient_dummy_for_non_workers_maint,coefficient_dummy_for_non_workers_business2,coefficient_dummy_for_non_workers_eat_business +util_medium_hh_income_dummy,income_segment == 2,coefficient_medium_hh_income_dummy_no_subtours,coefficient_medium_hh_income_dummy_eat,coefficient_medium_hh_income_dummy_business1,coefficient_medium_hh_income_dummy_maint,coefficient_medium_hh_income_dummy_business2,coefficient_medium_hh_income_dummy_eat_business +util_high_hh_income_dummy,(income_segment > 2) & (income_segment < 5),coefficient_high_hh_income_dummy_no_subtours,coefficient_high_hh_income_dummy_eat,coefficient_high_hh_income_dummy_business1,coefficient_high_hh_income_dummy_maint,coefficient_high_hh_income_dummy_business2,coefficient_high_hh_income_dummy_eat_business +util_zero_cars_owned_by_hh_dummy, auto_ownership == 0,coefficient_zero_cars_owned_by_hh_dummy_no_subtours,coefficient_zero_cars_owned_by_hh_dummy_eat,coefficient_zero_cars_owned_by_hh_dummy_business1,coefficient_zero_cars_owned_by_hh_dummy_maint,coefficient_zero_cars_owned_by_hh_dummy_business2,coefficient_zero_cars_owned_by_hh_dummy_eat_business +util_individual_discretionary_tours_made_by_full_time_worker,@(df.pemploy==1)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business +util_individual_discretionary_tours_made_by_part_time_worker,@(df.pemploy==2)*df.num_discr_tours,coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business +util_individual_eating_out_tours_made_by_person,num_eatout_tours,coefficient_individual_eating_out_tours_made_by_person_no_subtours,coefficient_individual_eating_out_tours_made_by_person_eat,coefficient_individual_eating_out_tours_made_by_person_business1,coefficient_individual_eating_out_tours_made_by_person_maint,coefficient_individual_eating_out_tours_made_by_person_business2,coefficient_individual_eating_out_tours_made_by_person_eat_business +util_main_shop_escort_tours_allocated_to_full_time_worker,@(df.pemploy==1)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business +util_main_shop_escort_tours_allocated_to_part_time_worker,@(df.pemploy==2)*df.num_maint_shop_escort,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business +util_participation_in_joint_shop_main_eat_tours,num_joint_maint_shop_eat,coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,coefficient_participation_in_joint_shop_main_eat_tours_eat,coefficient_participation_in_joint_shop_main_eat_tours_business1,coefficient_participation_in_joint_shop_main_eat_tours_maint,coefficient_participation_in_joint_shop_main_eat_tours_business2,coefficient_participation_in_joint_shop_main_eat_tours_eat_business +util_participation_in_joint_discretionary_tours,num_joint_discr,coefficient_participation_in_joint_discretionary_tours_no_subtours,coefficient_participation_in_joint_discretionary_tours_eat,coefficient_participation_in_joint_discretionary_tours_business1,coefficient_participation_in_joint_discretionary_tours_maint,coefficient_participation_in_joint_discretionary_tours_business2,coefficient_participation_in_joint_discretionary_tours_eat_business +util_log_of_the_work_tour_duration,@np.log((df.duration/2.25)+0.5),coefficient_log_of_the_work_tour_duration_no_subtours,coefficient_log_of_the_work_tour_duration_eat,coefficient_log_of_the_work_tour_duration_business1,coefficient_log_of_the_work_tour_duration_maint,coefficient_log_of_the_work_tour_duration_business2,coefficient_log_of_the_work_tour_duration_eat_business +util_dummy_for_drive_alone_mode_for_work_tour,work_tour_is_SOV,coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business +util_two_work_tours_by_person,num_work_tours==2,coefficient_two_work_tours_by_person_no_subtours,coefficient_two_work_tours_by_person_eat,coefficient_two_work_tours_by_person_business1,coefficient_two_work_tours_by_person_maint,coefficient_two_work_tours_by_person_business2,coefficient_two_work_tours_by_person_eat_business +util_workplace_urban_area_dummy,work_zone_area_type<4,coefficient_workplace_urban_area_dummy_no_subtours,coefficient_workplace_urban_area_dummy_eat,coefficient_workplace_urban_area_dummy_business1,coefficient_workplace_urban_area_dummy_maint,coefficient_workplace_urban_area_dummy_business2,coefficient_workplace_urban_area_dummy_eat_business +util_workplace_suburban_area_dummy,(work_zone_area_type>3) & (work_zone_area_type<6),coefficient_workplace_suburban_area_dummy_no_subtours,coefficient_workplace_suburban_area_dummy_eat,coefficient_workplace_suburban_area_dummy_business1,coefficient_workplace_suburban_area_dummy_maint,coefficient_workplace_suburban_area_dummy_business2,coefficient_workplace_suburban_area_dummy_eat_business +util_auto_accessibility_to_retail_for_work_taz,auOpRetail,coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,coefficient_auto_accessibility_to_retail_for_work_taz_eat,coefficient_auto_accessibility_to_retail_for_work_taz_business1,coefficient_auto_accessibility_to_retail_for_work_taz_maint,coefficient_auto_accessibility_to_retail_for_work_taz_business2,coefficient_auto_accessibility_to_retail_for_work_taz_eat_business +util_walk_accessibility_to_retail_for_work_taz,nmRetail,coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,coefficient_walk_accessibility_to_retail_for_work_taz_eat,coefficient_walk_accessibility_to_retail_for_work_taz_business1,coefficient_walk_accessibility_to_retail_for_work_taz_maint,coefficient_walk_accessibility_to_retail_for_work_taz_business2,coefficient_walk_accessibility_to_retail_for_work_taz_eat_business +util_dummy_for_worker_or_student_with_non_mandatory_tour,(is_worker | is_student) * num_non_mand,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business +util_at_work_sub_tour_alternative_specific_constant,1,coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,coefficient_at_work_sub_tour_alternative_specific_constant_eat,coefficient_at_work_sub_tour_alternative_specific_constant_business1,coefficient_at_work_sub_tour_alternative_specific_constant_maint,coefficient_at_work_sub_tour_alternative_specific_constant_business2,coefficient_at_work_sub_tour_alternative_specific_constant_eat_business diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency.yaml b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency.yaml old mode 100755 new mode 100644 similarity index 95% rename from activitysim/examples/example_semcog/configs/atwork_subtour_frequency.yaml rename to activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency.yaml index 125bf2c1fd..1b5d27101d --- a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency.yaml +++ b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency.yaml @@ -1,11 +1,11 @@ - -SPEC: atwork_subtour_frequency.csv -COEFFICIENTS: atwork_subtour_frequency_coeffs.csv - -preprocessor: - SPEC: atwork_subtour_frequency_annotate_tours_preprocessor - DF: df - TABLES: - - land_use - - tours - - joint_tour_participants + +SPEC: atwork_subtour_frequency.csv +COEFFICIENTS: atwork_subtour_frequency_coeffs.csv + +preprocessor: + SPEC: atwork_subtour_frequency_annotate_tours_preprocessor + DF: df + TABLES: + - land_use + - tours + - joint_tour_participants diff --git a/activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency_alternatives.csv b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency_alternatives.csv new file mode 100644 index 0000000000..ba9941919d --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency_alternatives.csv @@ -0,0 +1,8 @@ +#,,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,eat,business,maint +no_subtours,0,0,0 +eat,1,0,0 +business1,0,1,0 +maint,0,0,1 +business2,0,2,0 +eat_business,1,1,0 diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv index 34728e6a7d..ec500df508 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv +++ b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency_annotate_tours_preprocessor.csv @@ -1,9 +1,9 @@ -Description,Target,Expression -,num_maint_shop_escort,df.num_maint_tours+df.num_shop_tours+df.num_escort_tours -#,num_joint_maint_shop_eat,"reindex_i(tours[(tours.tour_category=='joint') & tours.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" -#,num_eatout_tours,"reindex_i(tours[~tours.is_joint & (tours.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" -joint tour participants annotated with tour type,_PARTICIPANTS,"pd.merge(joint_tour_participants[['tour_id', 'person_id']], tours[['tour_type']], left_on='tour_id', right_index=True, how='left')" -,num_joint_discr,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type=='othdiscr'].groupby('person_id').size(), df.person_id)" -,num_joint_maint_shop_eat,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" -#,, -,work_tour_is_SOV,df.tour_mode.isin(['DRIVEALONE']) +Description,Target,Expression +,num_maint_shop_escort,df.num_maint_tours+df.num_shop_tours+df.num_escort_tours +#,num_joint_maint_shop_eat,"reindex_i(tours[(tours.tour_category=='joint') & tours.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" +#,num_eatout_tours,"reindex_i(tours[~tours.is_joint & (tours.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" +joint tour participants annotated with tour type,_PARTICIPANTS,"pd.merge(joint_tour_participants[['tour_id', 'person_id']], tours[['tour_type']], left_on='tour_id', right_index=True, how='left')" +,num_joint_discr,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type=='othdiscr'].groupby('person_id').size(), df.person_id)" +,num_joint_maint_shop_eat,"reindex_i(_PARTICIPANTS[_PARTICIPANTS.tour_type.isin(['othmaint', 'shopping', 'eatout'])].groupby('person_id').size(), df.person_id)" +#,, +,work_tour_is_SOV,df.tour_mode.isin(['DRIVEALONE']) diff --git a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency_coeffs.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/atwork_subtour_frequency_coeffs.csv rename to activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency_coeffs.csv index 79640c1d29..c59a4e2ee3 --- a/activitysim/examples/example_semcog/configs/atwork_subtour_frequency_coeffs.csv +++ b/activitysim/examples/prototype_mwcog/configs/atwork_subtour_frequency_coeffs.csv @@ -1,133 +1,133 @@ -coefficient_name,value,constrain -coefficient_dummy_for_full_time_worker_business1,-7.375,F -coefficient_dummy_for_full_time_worker_business2,-14.28,F -coefficient_dummy_for_full_time_worker_eat,-7.28,F -coefficient_dummy_for_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_full_time_worker_maint,-8.093,F -coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_full_time_worker_business1,-8.319,F -coefficient_dummy_for_non_full_time_worker_business2,-14.28,F -coefficient_dummy_for_non_full_time_worker_eat,-8.604,F -coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F -coefficient_dummy_for_non_full_time_worker_maint,-8.214,F -coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F -coefficient_dummy_for_non_workers_business1,-5,T -coefficient_dummy_for_non_workers_business2,-5,T -coefficient_dummy_for_non_workers_eat,0,T -coefficient_dummy_for_non_workers_eat_business,-5,T -coefficient_dummy_for_non_workers_maint,-5,T -coefficient_dummy_for_non_workers_no_subtours,0,T -coefficient_medium_hh_income_dummy_business1,0.5555,F -coefficient_medium_hh_income_dummy_business2,1.111,F -coefficient_medium_hh_income_dummy_eat,0.61,F -coefficient_medium_hh_income_dummy_eat_business,1.1655,F -coefficient_medium_hh_income_dummy_maint,0.1527,F -coefficient_medium_hh_income_dummy_no_subtours,0,T -coefficient_high_hh_income_dummy_business1,1.066,F -coefficient_high_hh_income_dummy_business2,2.132,F -coefficient_high_hh_income_dummy_eat,0.8693,F -coefficient_high_hh_income_dummy_eat_business,1.9353,F -coefficient_high_hh_income_dummy_maint,0.1651,F -coefficient_high_hh_income_dummy_no_subtours,0,T -coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_business2,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat,0,T -coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F -coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F -coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T -coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F -coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T -coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F -coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F -coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F -coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F -coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F -coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F -coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F -coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T -coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F -coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F -coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F -coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F -coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F -coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T -coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F -coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F -coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F -coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F -coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F -coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T -coefficient_log_of_the_work_tour_duration_business1,1.142,F -coefficient_log_of_the_work_tour_duration_business2,2.284,F -coefficient_log_of_the_work_tour_duration_eat,1.55,F -coefficient_log_of_the_work_tour_duration_eat_business,2.692,F -coefficient_log_of_the_work_tour_duration_maint,1.659,F -coefficient_log_of_the_work_tour_duration_no_subtours,0,T -coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F -coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T -coefficient_two_work_tours_by_person_business1,0.3753,F -coefficient_two_work_tours_by_person_business2,0.7506,F -coefficient_two_work_tours_by_person_eat,-0.9862,F -coefficient_two_work_tours_by_person_eat_business,-0.6109,F -coefficient_two_work_tours_by_person_maint,-0.2312,F -coefficient_two_work_tours_by_person_no_subtours,0,T -coefficient_workplace_urban_area_dummy_business1,-0.2235,F -coefficient_workplace_urban_area_dummy_business2,-0.447,F -coefficient_workplace_urban_area_dummy_eat,-0.4182,F -coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F -coefficient_workplace_urban_area_dummy_maint,-0.1479,F -coefficient_workplace_urban_area_dummy_no_subtours,0,T -coefficient_workplace_suburban_area_dummy_business1,-0.1102,F -coefficient_workplace_suburban_area_dummy_business2,-0.2204,F -coefficient_workplace_suburban_area_dummy_eat,-0.2916,F -coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F -coefficient_workplace_suburban_area_dummy_maint,0,T -coefficient_workplace_suburban_area_dummy_no_subtours,0,T -coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F -coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F -coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F -coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F -coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T -coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F -coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F -coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F -coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T -coefficient_at_work_sub_tour_alternative_specific_constant_business1,-0.5372,F -coefficient_at_work_sub_tour_alternative_specific_constant_business2,-2.1337,F -coefficient_at_work_sub_tour_alternative_specific_constant_eat,0.8576,F -coefficient_at_work_sub_tour_alternative_specific_constant_eat_business,-0.9721,F -coefficient_at_work_sub_tour_alternative_specific_constant_maint,-0.6198,F +coefficient_name,value,constrain +coefficient_dummy_for_full_time_worker_business1,-7.375,F +coefficient_dummy_for_full_time_worker_business2,-14.28,F +coefficient_dummy_for_full_time_worker_eat,-7.28,F +coefficient_dummy_for_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_full_time_worker_maint,-8.093,F +coefficient_dummy_for_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_full_time_worker_business1,-8.319,F +coefficient_dummy_for_non_full_time_worker_business2,-14.28,F +coefficient_dummy_for_non_full_time_worker_eat,-8.604,F +coefficient_dummy_for_non_full_time_worker_eat_business,-14.79,F +coefficient_dummy_for_non_full_time_worker_maint,-8.214,F +coefficient_dummy_for_non_full_time_worker_no_subtours,-0.6,F +coefficient_dummy_for_non_workers_business1,-5,T +coefficient_dummy_for_non_workers_business2,-5,T +coefficient_dummy_for_non_workers_eat,0,T +coefficient_dummy_for_non_workers_eat_business,-5,T +coefficient_dummy_for_non_workers_maint,-5,T +coefficient_dummy_for_non_workers_no_subtours,0,T +coefficient_medium_hh_income_dummy_business1,0.5555,F +coefficient_medium_hh_income_dummy_business2,1.111,F +coefficient_medium_hh_income_dummy_eat,0.61,F +coefficient_medium_hh_income_dummy_eat_business,1.1655,F +coefficient_medium_hh_income_dummy_maint,0.1527,F +coefficient_medium_hh_income_dummy_no_subtours,0,T +coefficient_high_hh_income_dummy_business1,1.066,F +coefficient_high_hh_income_dummy_business2,2.132,F +coefficient_high_hh_income_dummy_eat,0.8693,F +coefficient_high_hh_income_dummy_eat_business,1.9353,F +coefficient_high_hh_income_dummy_maint,0.1651,F +coefficient_high_hh_income_dummy_no_subtours,0,T +coefficient_zero_cars_owned_by_hh_dummy_business1,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_business2,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat,0,T +coefficient_zero_cars_owned_by_hh_dummy_eat_business,-0.3391,F +coefficient_zero_cars_owned_by_hh_dummy_maint,0.1762,F +coefficient_zero_cars_owned_by_hh_dummy_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_full_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat,0.2334,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_eat_business,0.9379,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_full_time_worker_no_subtours,0,T +coefficient_individual_discretionary_tours_made_by_part_time_worker_business1,0.7045,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_business2,1.409,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat,0.6776,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_eat_business,1.3821,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_maint,0.5061,F +coefficient_individual_discretionary_tours_made_by_part_time_worker_no_subtours,0,T +coefficient_individual_eating_out_tours_made_by_person_business1,0.5434,F +coefficient_individual_eating_out_tours_made_by_person_business2,1.0868,F +coefficient_individual_eating_out_tours_made_by_person_eat,0.5491,F +coefficient_individual_eating_out_tours_made_by_person_eat_business,1.0925,F +coefficient_individual_eating_out_tours_made_by_person_maint,0.9166,F +coefficient_individual_eating_out_tours_made_by_person_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat,0.052,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_eat_business,-0.2423,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_maint,0.1446,F +coefficient_main_shop_escort_tours_allocated_to_full_time_worker_no_subtours,0,T +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business1,-0.1903,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_business2,-0.3806,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat,-0.3099,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_eat_business,-0.5002,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_maint,-0.2723,F +coefficient_main_shop_escort_tours_allocated_to_part_time_worker_no_subtours,0,T +coefficient_participation_in_joint_shop_main_eat_tours_business1,0.083,F +coefficient_participation_in_joint_shop_main_eat_tours_business2,0.166,F +coefficient_participation_in_joint_shop_main_eat_tours_eat,0.2458,F +coefficient_participation_in_joint_shop_main_eat_tours_eat_business,0.3288,F +coefficient_participation_in_joint_shop_main_eat_tours_maint,0.0803,F +coefficient_participation_in_joint_shop_main_eat_tours_no_subtours,0,T +coefficient_participation_in_joint_discretionary_tours_business1,-0.2637,F +coefficient_participation_in_joint_discretionary_tours_business2,-0.5274,F +coefficient_participation_in_joint_discretionary_tours_eat,0.3588,F +coefficient_participation_in_joint_discretionary_tours_eat_business,0.0951,F +coefficient_participation_in_joint_discretionary_tours_maint,0.5822,F +coefficient_participation_in_joint_discretionary_tours_no_subtours,0,T +coefficient_log_of_the_work_tour_duration_business1,1.142,F +coefficient_log_of_the_work_tour_duration_business2,2.284,F +coefficient_log_of_the_work_tour_duration_eat,1.55,F +coefficient_log_of_the_work_tour_duration_eat_business,2.692,F +coefficient_log_of_the_work_tour_duration_maint,1.659,F +coefficient_log_of_the_work_tour_duration_no_subtours,0,T +coefficient_dummy_for_drive_alone_mode_for_work_tour_business1,0.9901,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_business2,1.9802,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat,0.4804,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_eat_business,1.4705,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_maint,1.153,F +coefficient_dummy_for_drive_alone_mode_for_work_tour_no_subtours,0,T +coefficient_two_work_tours_by_person_business1,0.3753,F +coefficient_two_work_tours_by_person_business2,0.7506,F +coefficient_two_work_tours_by_person_eat,-0.9862,F +coefficient_two_work_tours_by_person_eat_business,-0.6109,F +coefficient_two_work_tours_by_person_maint,-0.2312,F +coefficient_two_work_tours_by_person_no_subtours,0,T +coefficient_workplace_urban_area_dummy_business1,-0.2235,F +coefficient_workplace_urban_area_dummy_business2,-0.447,F +coefficient_workplace_urban_area_dummy_eat,-0.4182,F +coefficient_workplace_urban_area_dummy_eat_business,-0.6417,F +coefficient_workplace_urban_area_dummy_maint,-0.1479,F +coefficient_workplace_urban_area_dummy_no_subtours,0,T +coefficient_workplace_suburban_area_dummy_business1,-0.1102,F +coefficient_workplace_suburban_area_dummy_business2,-0.2204,F +coefficient_workplace_suburban_area_dummy_eat,-0.2916,F +coefficient_workplace_suburban_area_dummy_eat_business,-0.4018,F +coefficient_workplace_suburban_area_dummy_maint,0,T +coefficient_workplace_suburban_area_dummy_no_subtours,0,T +coefficient_auto_accessibility_to_retail_for_work_taz_business1,0.0534,F +coefficient_auto_accessibility_to_retail_for_work_taz_business2,0.1067,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat,0.015,F +coefficient_auto_accessibility_to_retail_for_work_taz_eat_business,0.0683,F +coefficient_auto_accessibility_to_retail_for_work_taz_maint,0.0265,F +coefficient_auto_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business1,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_business2,0,T +coefficient_walk_accessibility_to_retail_for_work_taz_eat,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_eat_business,0.06,F +coefficient_walk_accessibility_to_retail_for_work_taz_maint,0.04,F +coefficient_walk_accessibility_to_retail_for_work_taz_no_subtours,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business1,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_business2,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_eat_business,0,T +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_maint,-0.3573,F +coefficient_dummy_for_worker_or_student_with_non_mandatory_tour_no_subtours,0,T +coefficient_at_work_sub_tour_alternative_specific_constant_business1,-0.5372,F +coefficient_at_work_sub_tour_alternative_specific_constant_business2,-2.1337,F +coefficient_at_work_sub_tour_alternative_specific_constant_eat,0.8576,F +coefficient_at_work_sub_tour_alternative_specific_constant_eat_business,-0.9721,F +coefficient_at_work_sub_tour_alternative_specific_constant_maint,-0.6198,F coefficient_at_work_sub_tour_alternative_specific_constant_no_subtours,0,T \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/auto_ownership.csv b/activitysim/examples/prototype_mwcog/configs/auto_ownership.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/auto_ownership.csv rename to activitysim/examples/prototype_mwcog/configs/auto_ownership.csv index 66bde074b9..e9ad2c58e2 --- a/activitysim/examples/example_semcog/configs/auto_ownership.csv +++ b/activitysim/examples/prototype_mwcog/configs/auto_ownership.csv @@ -1,25 +1,25 @@ -Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 -util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 -util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 -util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up -util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 -util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 -util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 -util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 -util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 -util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 -util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k -util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up -util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers -util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers -util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc -util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers -util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers -util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers -util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers -util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor -util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker +Label,Description,Expression,cars0,cars1,cars2,cars3,cars4 +util_drivers_2,2 Adults (age 16+),num_drivers==2,,coef_cars1_drivers_2,coef_cars2_drivers_2,coef_cars3_drivers_2,coef_cars4_drivers_2 +util_drivers_3,3 Adults (age 16+),num_drivers==3,,coef_cars1_drivers_3,coef_cars2_drivers_3,coef_cars3_drivers_3,coef_cars4_drivers_3 +util_drivers_4_up,4+ Adults (age 16+),num_drivers>3,,coef_cars1_drivers_4_up,coef_cars2_drivers_4_up,coef_cars3_drivers_4_up,coef_cars4_drivers_4_up +util_persons_16_17,Persons age 16-17,num_children_16_to_17,,coef_cars1_persons_16_17,coef_cars2_persons_16_17,coef_cars34_persons_16_17,coef_cars34_persons_16_17 +util_persons_18_24,Persons age 18-24,num_college_age,,coef_cars1_persons_18_24,coef_cars2_persons_18_24,coef_cars34_persons_18_24,coef_cars34_persons_18_24 +util_persons_25_34,Persons age 35-34,num_young_adults,,coef_cars1_persons_25_34,coef_cars2_persons_25_34,coef_cars34_persons_25_34,coef_cars34_persons_25_34 +util_presence_children_0_4,Presence of children age 0-4,num_young_children>0,,coef_cars1_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4,coef_cars234_presence_children_0_4 +util_presence_children_5_17,Presence of children age 5-17,(num_children_5_to_15+num_children_16_to_17)>0,,coef_cars1_presence_children_5_17,coef_cars2_presence_children_5_17,coef_cars34_presence_children_5_17,coef_cars34_presence_children_5_17 +util_num_workers_clip_3,"Number of workers, capped at 3",@df.num_workers.clip(upper=3),,coef_cars1_num_workers_clip_3,coef_cars2_num_workers_clip_3,coef_cars3_num_workers_clip_3,coef_cars4_num_workers_clip_3 +util_hh_income_0_30k,"Piecewise Linear household income, $0-30k","@df.income_in_thousands.clip(0, 30)",,coef_cars1_hh_income_0_30k,coef_cars2_hh_income_0_30k,coef_cars3_hh_income_0_30k,coef_cars4_hh_income_0_30k +util_hh_income_30_75k,"Piecewise Linear household income, $30-75k","@(df.income_in_thousands-30).clip(0, 45)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_hh_income_75k_up,"Piecewise Linear household income, $75k+, capped at $125k","@(df.income_in_thousands-75).clip(0, 50)",,coef_cars1_hh_income_30_up,coef_cars2_hh_income_30_up,coef_cars3_hh_income_30_up,coef_cars4_hh_income_30_up +util_density_0_10_no_workers,"Density index up to 10, if 0 workers","@(df.num_workers==0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_no_workers,"Density index in excess of 10, if 0 workers",@(df.num_workers==0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_no_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_density_0_10_workers,"Density index up to 10, if 1+ workers","@(df.num_workers>0)*df.density_index.clip(0, 10)",,coef_cars1_density_0_10_no_workers,coef_cars2_density_0_10_no_workers,coef_cars34_density_0_10_no_workers,coef_cars34_density_0_10_no_workers +util_density_10_up_workers,"Density index in excess of 10, if 1+ workers",@(df.num_workers>0)*(df.density_index-10).clip(0),,coef_cars1_density_10_up_workers,coef_cars2_density_10_up_no_workers,coef_cars34_density_10_up_no_workers,coef_cars34_density_10_up_no_workers +util_asc,Constants,1,,coef_cars1_asc,coef_cars2_asc,coef_cars3_asc,coef_cars4_asc +util_retail_auto_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 0 workers",(num_workers==0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers,coef_retail_auto_no_workers +util_retail_auto_workers,"Retail accessibility (0.66*PK + 0.34*OP) by auto, if 1+ workers",(num_workers>0)*(0.66*auPkRetail+0.34*auOpRetail),,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers,coef_retail_auto_workers +util_retail_transit_no_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 0 workers",(num_workers==0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers,coef_retail_transit_no_workers +util_retail_transit_workers,"Retail accessibility (0.66*PK + 0.34*OP) by transit, if 1+ workers",(num_workers>0)*(0.66*trPkRetail+0.34*trOpRetail),,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers,coef_retail_transit_workers +util_retail_non_motor_no_workers,"Retail accessibility by non-motorized, if 0 workers",(num_workers==0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_retail_non_motor_workers,"Retail accessibility by non-motorized, if 1+ workers",(num_workers>0)*nmRetail,,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor,coef_retail_non_motor +util_auto_time_saving_per_worker,Auto time savings per worker to work,"@np.where(df.num_workers > 0, df.hh_work_auto_savings_ratio / df.num_workers, 0)",,coef_cars1_auto_time_saving_per_worker,coef_cars2_auto_time_saving_per_worker,coef_cars3_auto_time_saving_per_worker,coef_cars4_auto_time_saving_per_worker diff --git a/activitysim/examples/example_semcog/configs/auto_ownership.yaml b/activitysim/examples/prototype_mwcog/configs/auto_ownership.yaml old mode 100755 new mode 100644 similarity index 94% rename from activitysim/examples/example_semcog/configs/auto_ownership.yaml rename to activitysim/examples/prototype_mwcog/configs/auto_ownership.yaml index 55943670da..25f3249e61 --- a/activitysim/examples/example_semcog/configs/auto_ownership.yaml +++ b/activitysim/examples/prototype_mwcog/configs/auto_ownership.yaml @@ -1,6 +1,6 @@ - -SPEC: auto_ownership.csv -COEFFICIENTS: auto_ownership_coeffs.csv - -#LOGIT_TYPE: NL -LOGIT_TYPE: MNL + +SPEC: auto_ownership.csv +COEFFICIENTS: auto_ownership_coeffs.csv + +#LOGIT_TYPE: NL +LOGIT_TYPE: MNL diff --git a/activitysim/examples/prototype_mwcog/configs/auto_ownership_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/auto_ownership_coeffs.csv new file mode 100644 index 0000000000..a173d345cc --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/auto_ownership_coeffs.csv @@ -0,0 +1,68 @@ +coefficient_name,value,constrain +coef_cars1_drivers_2,0,T +coef_cars1_drivers_3,0,T +coef_cars1_persons_16_17,0,T +coef_cars234_asc_marin,0,T +coef_cars1_persons_25_34,0,T +coef_cars1_num_workers_clip_3,0,T +coef_cars1_hh_income_30_up,0,T +coef_cars1_density_0_10_no_workers,0,T +coef_cars1_density_10_up_workers,-0.000691606,F +coef_retail_non_motor,-0.03,T +coef_cars4_asc,-2.261638434,F +coef_cars3_asc,-0.673762698,F +coef_cars34_persons_16_17,-1.013171309,F +coef_cars2_asc,0.565146715,F +coef_cars34_persons_18_24,-0.226330826,F +coef_cars2_persons_18_24,-0.277986366,F +coef_cars2_persons_16_17,-0.849990546,F +coef_cars34_persons_25_34,-0.507269783,F +coef_cars1_asc_county,-0.566,F +coef_retail_transit_workers,-0.265994069,F +coef_cars2_persons_25_34,-0.284585751,F +coef_cars2_asc_county,-0.4429,F +coef_cars1_persons_18_24,0.312283469,F +coef_cars34_density_0_10_no_workers,-1.061191084,F +coef_retail_transit_no_workers,-0.461089186,F +coef_cars1_asc_marin,-0.2434,F +coef_cars34_asc_county,-0.2372,F +coef_cars2_density_0_10_no_workers,-0.433456601,F +coef_cars34_density_10_up_no_workers,-0.1766,T +coef_cars2_density_10_up_no_workers,0.223494727,F +coef_cars2_density_10_up_workers,-0.1106,F +coef_cars1_density_10_up_no_workers,-0.627879618,F +coef_cars2_hh_income_30_up,0.013802348,F +coef_cars3_hh_income_30_up,0.017568266,F +coef_cars4_hh_income_30_up,0.020241067,F +coef_cars1_presence_children_5_17,0.220192925,F +coef_cars1_hh_income_0_30k,0.087548177,F +coef_cars2_hh_income_0_30k,0.113631992,F +coef_cars3_hh_income_0_30k,0.109196449,F +coef_cars4_hh_income_0_30k,0.123715611,F +coef_retail_auto_no_workers,-0.27201648,F +coef_cars34_asc_san_francisco,0.1458,F +coef_retail_auto_workers,-0.344050452,F +coef_cars2_presence_children_5_17,0.326754993,F +coef_cars2_num_workers_clip_3,0.713126665,F +coef_cars1_presence_children_0_4,-0.134103303,F +coef_cars1_asc_san_francisco,0.4259,F +coef_cars2_asc_san_francisco,0.4683,F +coef_cars1_auto_time_saving_per_worker,1.313894714,F +coef_cars34_presence_children_5_17,0.092889725,F +coef_cars3_auto_time_saving_per_worker,0.983048236,F +coef_cars2_auto_time_saving_per_worker,1.090225147,F +coef_cars3_num_workers_clip_3,1.000861535,F +coef_cars234_presence_children_0_4,0.049938988,F +coef_cars4_auto_time_saving_per_worker,0.899014851,F +coef_cars4_num_workers_clip_3,1.079450658,F +coef_cars1_asc,3.525287666,F +coef_cars1_drivers_4_up,-1.451519292,F +coef_cars4_drivers_2,2.405668371,F +coef_cars2_drivers_2,2.817372734,F +coef_cars3_drivers_2,2.680131012,F +coef_cars2_drivers_3,2.581972363,F +coef_cars4_drivers_3,3.964857311,F +coef_cars3_drivers_3,4.277120564,F +coef_cars2_drivers_4_up,1.518205653,F +coef_cars3_drivers_4_up,3.49162912,F +coef_cars4_drivers_4_up,4.509213244,F diff --git a/activitysim/examples/prototype_mwcog/configs/cdap.yaml b/activitysim/examples/prototype_mwcog/configs/cdap.yaml new file mode 100644 index 0000000000..9ce3a1d2b1 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/cdap.yaml @@ -0,0 +1,34 @@ +COEFFICIENTS: _dummy_coefficients.csv +INDIV_AND_HHSIZE1_SPEC: cdap_indiv_and_hhsize1.csv + +FIXED_RELATIVE_PROPORTIONS_SPEC: cdap_fixed_relative_proportions.csv + +CONSTANTS: + FULL: 1 + PART: 2 + UNIVERSITY: 3 + NONWORK: 4 + RETIRED: 5 + DRIVING: 6 + SCHOOL: 7 + PRESCHOOL: 8 + +PERSON_TYPE_MAP: + WORKER: + - 1 + - 2 + CHILD: + - 6 + - 7 + - 8 + +annotate_persons: + SPEC: annotate_persons_cdap + DF: persons + + +annotate_households: + SPEC: annotate_households_cdap + DF: households + TABLES: + - persons diff --git a/activitysim/examples/prototype_mwcog/configs/cdap_fixed_relative_proportions.csv b/activitysim/examples/prototype_mwcog/configs/cdap_fixed_relative_proportions.csv new file mode 100644 index 0000000000..788f398b64 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/cdap_fixed_relative_proportions.csv @@ -0,0 +1,9 @@ +Description,Expression,M,N,H +Full-time worker,ptype == 1,0.79647,0.09368,0.10985 +Part-time worker,ptype == 2,0.61678,0.25757,0.12565 +University student,ptype == 3,0.69229,0.15641,0.1513 +Non-working adult,ptype == 4,0,0.67169,0.32831 +Retired,ptype == 5,0,0.54295,0.45705 +Driving-age child who is in school,ptype == 6,0.77609,0.06004,0.16387 +Pre-driving-age child who is in school,ptype == 7,0.68514,0.09144,0.22342 +Child who is too young for school,ptype == 8,0.14056,0.06512,0.79432 diff --git a/activitysim/examples/prototype_mwcog/configs/cdap_indiv_and_hhsize1.csv b/activitysim/examples/prototype_mwcog/configs/cdap_indiv_and_hhsize1.csv new file mode 100644 index 0000000000..3d4ad55bc2 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/cdap_indiv_and_hhsize1.csv @@ -0,0 +1,70 @@ +Description,Expression,M,N,H +Full-time worker alternative-specific constants,ptype == 1,1.378734579,0.622662391, +Part-time worker alternative-specific constants,ptype == 2,-0.718823738,0.636032467, +University student alternative-specific constants,ptype == 3,2.353595176,0.609709846, +Non-working adult alternative-specific constants,ptype == 4,-999,0.594645386, +Retired alternative-specific constants,ptype == 5,-999,0.408202071, +Driving-age child who is in school alternative-specific constants,ptype == 6,2.330918685,-0.599119112, +Pre-driving-age child who is in school alternative-specific constants,ptype == 7,3.295863529,0.57142434, +Pre-driving-age child who is in school interaction with age 6 to 9,(ptype == 7) & (age >= 6) & (age <= 9),-0.2943,, +Pre-driving-age child who is in school interaction with age 13 to 15,(ptype == 7) & (age >= 13) & (age <= 15),-0.7141,-0.672, +Pre-driving-age child who is too young for school alternative-specific constants,ptype == 8,1.052531189,-0.837567776, +# corrected tm1 age bug,,,, +Pre-driving-age child who is too young for school interaction with age 0 to 1,(ptype == 8) & (age >= 0) & (age <= 1),-0.4515,, +Pre-driving-age child who is too young for school interaction with age 4 to 5,(ptype == 8) & (age >= 4) & (age <= 5),0.6107,, +#,,,, +Full-time worker interaction with age less than 40,(ptype == 1) & (age < 40),0.2091,, +Retired interaction with age more than 80,(ptype == 5) & (age > 80),,,0.7666 +Full-time worker interaction with female gender,(ptype == 1) & (SEX == 2),-0.1259,, +Non-working adult interaction with female gender,(ptype == 4) & (SEX == 2),-0.743,, +Retired interaction with female,(ptype == 5) & (SEX == 2),0.4769,, +Non-working adult interaction with more cars than workers,(ptype == 4) & (auto_ownership > num_workers),0.6515,0.8168, +Retired interaction with more cars than workers,(ptype == 5) & (auto_ownership > num_workers),2.992,1.056, +Pre-driving-age child who is too young for school interaction with more cars than workers,(ptype == 8) & (auto_ownership > num_workers),,0.2991, +Full-time worker interaction with fewer cars than workers,(ptype == 1) & (auto_ownership < num_workers),,,0.5039 +Non-working adult interaction with fewer cars than workers,(ptype == 4) & (auto_ownership < num_workers),,,0.8965 +Retired interaction with fewer cars than workers,(ptype == 5) & (auto_ownership < num_workers),,,0.5496 +Driving-age child who is in school interaction with fewer cars than workers,(ptype == 6) & (auto_ownership < num_workers),,,0.6475 +Pre-driving-age child who is in school interaction with fewer cars than workers,(ptype == 7) & (auto_ownership < num_workers),,,0.5862 +Pre-driving-age child who is too young for school interaction with fewer cars than workers,(ptype == 8) & (auto_ownership < num_workers),,,0.5061 +Full-time worker interaction with income less than $20k,(ptype == 1) & (income_in_thousands < 20),,,0.5313 +Retired interaction with income less than $20k,(ptype == 5) & (income_in_thousands < 20),,,0.533 +Part-time worker interaction with income less than $20k,(ptype == 2) & (income_in_thousands < 20),,,0.3232 +Part-time worker interaction with income between $50k and $100k,(ptype == 2) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.4032 +Part-time worker interaction with income more than $100k,(ptype == 2) & (income_in_thousands >= 100),,0.4207,-0.3534 +Non-working adult interaction with income between $50k and $100k,(ptype == 4) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.5602 +Non-working adult interaction with income more than $100k,(ptype == 4) & (income_in_thousands >= 100),,,-0.7188 +Driving-age child who is in school interaction with less than $20k,(ptype == 6) & (income_in_thousands < 20),,,1.307 +Driving-age child who is in school interaction income between $50k and $100k,(ptype == 6) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.5031 +Driving-age child who is in school interaction with income more than $100k,(ptype == 6) & (income_in_thousands >= 100),,,-2.046 +Pre-driving-age child who is too young for school interaction with income between $50k and $100k,(ptype == 8) & (income_in_thousands >= 50) & (income_in_thousands <= 100),,,-0.5708 +Pre-driving-age child who is too young for school interaction with income more than $100k,(ptype == 8) & (income_in_thousands >= 100),,,-0.6186 +Full-time worker intraction with peak accessibility to all employment,(ptype == 1) * auPkTotal,0.1212,, +Part-time worker interaction with peak accessibility to all employment,(ptype == 2) * auPkTotal,0.2004,, +Non-working adult interaction with peak accessibility to all employment,(ptype == 4) * auPkTotal,0.2314,, +Retired interaction with peak accessibility to all employment,(ptype == 5) * auPkTotal,0.2792,, +Non-working adult interaction with off-peak accessibility to retail,(ptype == 4) * auOpRetail,,0.07207, +Retired interaction with off-peak accessibility to retail,(ptype == 5) * auOpRetail,,0.07207, +University student interaction with off-peak accessibility to retail,(ptype == 3) * auOpRetail,,0.07207, +Driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 6) * auOpRetail,,0.08233, +Pre-driving-age child who is in school interaction with off-peak accessibility to retail,(ptype == 7) * auOpRetail,,0.08233, +Pre-driving-age child who is too young for school interaction with off-peak accessibility to retail,(ptype == 8) * auOpRetail,,0.08233, +# commented out because not used in mtctm1,,,, +# Full-time worker interaction with usual work location is home,(ptype == 1) * usualWorkLocationIsHome,-1.758,,0.1813 +# Part-time worker interaction with usual work location is home,(ptype == 2) * usualWorkLocationIsHome,-1.758,,0.1813 +# Full-time worker interaction with no usual work location,(ptype == 1) * noUsualWorkLocation,-0.5935,, +# Part-time worker interaction with no usual work location,(ptype == 2) * noUsualWorkLocation,-0.5935,, +# Driving-age child who is in school interaction with no usual school location,(ptype == 6) * noUsualWorkLocation,-0.866,, +# Pre-driving age child who is in school interaction with no usual school location,(ptype == 7) * noUsualWorkLocation,-0.866,, +#tm1 scenario test,,,, +#Simulate telecommuting by reducing mandatory patterns,(ptype == 1) * (income_in_thousands >= 50),-0.142930042,, +Telecommutes 1 day per week,telecommute_frequency=='1_day_week',,0.526,0.496 +Telecommutes 2-3 days per week,telecommute_frequency=='2_3_days_week',,1.387,1.584 +Telecommutes 4 days per week,telecommute_frequency=='4_days_week',,1.848,1.711 +#Turning Mandatory pattern off for FT and PT who work from home (sandag),,,, +"Full time worker, works from home",(ptype == 1) & (work_from_home),-999,, +"Part time worker, works from home",(ptype == 2) & (work_from_home),-999,, +Part-time worker cdap calibration constants,ptype == 2,-0.692991088,-0.557605681, +Non-working adult cdap calibration constants,ptype == 4,-999,-1.465030036, +Retired cdap calibration constants,ptype == 5,-999,-0.734499235, +Preschoolers cdap calibration constants,ptype == 8,-3.624275591,0.705578326, diff --git a/activitysim/examples/example_semcog/configs/cdap_interaction_coefficients.csv b/activitysim/examples/prototype_mwcog/configs/cdap_interaction_coefficients.csv old mode 100755 new mode 100644 similarity index 92% rename from activitysim/examples/example_semcog/configs/cdap_interaction_coefficients.csv rename to activitysim/examples/prototype_mwcog/configs/cdap_interaction_coefficients.csv index 43a4ec3c73..f2d3b025c5 --- a/activitysim/examples/example_semcog/configs/cdap_interaction_coefficients.csv +++ b/activitysim/examples/prototype_mwcog/configs/cdap_interaction_coefficients.csv @@ -1,140 +1,140 @@ -activity,interaction_ptypes,coefficient -# 2-way interactions,, -H,11,1.626 -H,12,0.7407 -H,13,1.183 -H,14,0.9436 -H,15,1.298 -H,16,2.064 -H,17,1.501 -H,18,0.9912 -H,22,0.8911 -H,23,1.642 -H,24,0.7057 -H,25,0.463 -H,26,3.057 -H,27,0.7685 -H,28,1.07 -H,33,1.018 -H,34,1.781 -H,35,0.4835 -H,36,1.546 -H,37,1.552 -H,38,1.34 -H,44,1.352 -H,45,1.209 -H,46,0.5243 -H,47,0.8112 -H,48,1.167 -H,55,1.407 -H,56,0.8632 -H,57,0.8632 -H,58,0.8632 -H,66,2.198 -H,67,0.977 -H,68,1.467 -H,77,2.8 -H,78,1.434 -H,88,1.378 -M,11,0.141 -M,12,0.08845 -M,13,0.4273 -M,16,0.3842 -M,17,0.2623 -M,18,0.5118 -M,22,1.135 -M,23,0.173 -M,26,1.103 -M,27,0.3079 -M,28,0.5074 -M,33,0.8726 -M,36,-0.0021 -M,37,0.2975 -M,38,0.2254 -M,66,0.4794 -M,67,0.5151 -M,68,0.5516 -M,77,0.9731 -M,78,0.5961 -M,88,1.651 -N,11,1.123 -N,12,0.4947 -N,13,0.5523 -N,14,0.02186 -N,15,0.3115 -N,16,0.4095 -N,17,0.6008 -N,18,0.751 -N,22,1.032 -N,23,0.3355 -N,24,0.7477 -N,25,0.09831 -N,26,0.495 -N,27,0.8984 -N,28,1.452 -N,33,1.054 -N,34,0.193 -N,35,0.4065 -N,36,1.62 -N,37,0.5165 -N,38,0.8973 -N,44,0.6984 -N,45,0.1864 -N,46,0.6801 -N,47,0.5646 -N,48,1.164 -N,55,0.7291 -N,56,0.2919 -N,57,0.2919 -N,58,0.2919 -N,66,1.512 -N,67,1.422 -N,68,1.273 -N,77,1.553 -N,78,0.6184 -N,88,0.8771 -# 3-way interactions,, -H,124,0.9573 -H,122,0.9573 -H,144,0.9573 -H,126,0.2939 -H,146,0.2939 -H,222,0.9881 -H,224,0.9881 -H,244,0.9881 -H,226,0.4374 -H,246,0.4374 -H,446,0.4374 -H,266,0.4747 -H,466,0.4747 -M,111,0.3133 -M,112,0.3495 -M,114,0.3495 -M,666,-0.3906 -N,112,0.4637 -N,114,0.4637 -N,124,0.3491 -N,122,0.3491 -N,144,0.3491 -N,166,0.3553 -N,222,-1.386 -N,224,-1.386 -N,444,-1.386 -N,246,-0.8571 -N,226,-0.8571 -N,446,-0.8571 -# cdap_final_rules,, -M,5,-999 -M,4,-999 -# cdap_all_people,, -M,***,-0.0671 -N,***,-0.3653 -H,***,-1.1810 -M,****,-0.6104 -N,****,-1.3460 -H,****,-3.7330 -M,*****,-1.5280 -N,*****,-3.4530 -H,*****,-8.6210 - - +activity,interaction_ptypes,coefficient +# 2-way interactions,, +H,11,1.626 +H,12,0.7407 +H,13,1.183 +H,14,0.9436 +H,15,1.298 +H,16,2.064 +H,17,1.501 +H,18,0.9912 +H,22,0.8911 +H,23,1.642 +H,24,0.7057 +H,25,0.463 +H,26,3.057 +H,27,0.7685 +H,28,1.07 +H,33,1.018 +H,34,1.781 +H,35,0.4835 +H,36,1.546 +H,37,1.552 +H,38,1.34 +H,44,1.352 +H,45,1.209 +H,46,0.5243 +H,47,0.8112 +H,48,1.167 +H,55,1.407 +H,56,0.8632 +H,57,0.8632 +H,58,0.8632 +H,66,2.198 +H,67,0.977 +H,68,1.467 +H,77,2.8 +H,78,1.434 +H,88,1.378 +M,11,0.141 +M,12,0.08845 +M,13,0.4273 +M,16,0.3842 +M,17,0.2623 +M,18,0.5118 +M,22,1.135 +M,23,0.173 +M,26,1.103 +M,27,0.3079 +M,28,0.5074 +M,33,0.8726 +M,36,-0.0021 +M,37,0.2975 +M,38,0.2254 +M,66,0.4794 +M,67,0.5151 +M,68,0.5516 +M,77,0.9731 +M,78,0.5961 +M,88,1.651 +N,11,1.123 +N,12,0.4947 +N,13,0.5523 +N,14,0.02186 +N,15,0.3115 +N,16,0.4095 +N,17,0.6008 +N,18,0.751 +N,22,1.032 +N,23,0.3355 +N,24,0.7477 +N,25,0.09831 +N,26,0.495 +N,27,0.8984 +N,28,1.452 +N,33,1.054 +N,34,0.193 +N,35,0.4065 +N,36,1.62 +N,37,0.5165 +N,38,0.8973 +N,44,0.6984 +N,45,0.1864 +N,46,0.6801 +N,47,0.5646 +N,48,1.164 +N,55,0.7291 +N,56,0.2919 +N,57,0.2919 +N,58,0.2919 +N,66,1.512 +N,67,1.422 +N,68,1.273 +N,77,1.553 +N,78,0.6184 +N,88,0.8771 +# 3-way interactions,, +H,124,0.9573 +H,122,0.9573 +H,144,0.9573 +H,126,0.2939 +H,146,0.2939 +H,222,0.9881 +H,224,0.9881 +H,244,0.9881 +H,226,0.4374 +H,246,0.4374 +H,446,0.4374 +H,266,0.4747 +H,466,0.4747 +M,111,0.3133 +M,112,0.3495 +M,114,0.3495 +M,666,-0.3906 +N,112,0.4637 +N,114,0.4637 +N,124,0.3491 +N,122,0.3491 +N,144,0.3491 +N,166,0.3553 +N,222,-1.386 +N,224,-1.386 +N,444,-1.386 +N,246,-0.8571 +N,226,-0.8571 +N,446,-0.8571 +# cdap_final_rules,, +M,5,-999 +M,4,-999 +# cdap_all_people,, +M,***,-0.0671 +N,***,-0.3653 +H,***,-1.1810 +M,****,-0.6104 +N,****,-1.3460 +H,****,-3.7330 +M,*****,-1.5280 +N,*****,-3.4530 +H,*****,-8.6210 + + diff --git a/activitysim/examples/prototype_mwcog/configs/constants.yaml b/activitysim/examples/prototype_mwcog/configs/constants.yaml new file mode 100644 index 0000000000..41ccfdb73c --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/constants.yaml @@ -0,0 +1,144 @@ +## ActivitySim +## See full license in LICENSE.txt. + + +#HHT_NONE: 0 +#HHT_FAMILY_MARRIED: 1 +#HHT_FAMILY_MALE: 2 +#HHT_FAMILY_FEMALE: 3 +#HHT_NONFAMILY_MALE_ALONE: 4 +#HHT_NONFAMILY_MALE_NOTALONE: 5 +#HHT_NONFAMILY_FEMALE_ALONE: 6 +#HHT_NONFAMILY_FEMALE_NOTALONE: 7 + +# convenience for expression files +HHT_NONFAMILY: [4, 5, 6, 7] +HHT_FAMILY: [1, 2, 3] + +PSTUDENT_GRADE_OR_HIGH: 1 +PSTUDENT_UNIVERSITY: 2 +PSTUDENT_NOT: 3 + +GRADE_SCHOOL_MAX_AGE: 14 +GRADE_SCHOOL_MIN_AGE: 5 + +SCHOOL_SEGMENT_NONE: 0 +SCHOOL_SEGMENT_GRADE: 1 +SCHOOL_SEGMENT_HIGH: 2 +SCHOOL_SEGMENT_UNIV: 3 + +INCOME_SEGMENT_LOW: 1 +INCOME_SEGMENT_MED: 2 +INCOME_SEGMENT_HIGH: 3 +INCOME_SEGMENT_VERYHIGH: 4 + +PEMPLOY_FULL: 1 +PEMPLOY_PART: 2 +PEMPLOY_NOT: 3 +PEMPLOY_CHILD: 4 + +PTYPE_FULL: &ptype_full 1 +PTYPE_PART: &ptype_part 2 +PTYPE_UNIVERSITY: &ptype_university 3 +PTYPE_NONWORK: &ptype_nonwork 4 +PTYPE_RETIRED: &ptype_retired 5 +PTYPE_DRIVING: &ptype_driving 6 +PTYPE_SCHOOL: &ptype_school 7 +PTYPE_PRESCHOOL: &ptype_preschool 8 + +# these appear as column headers in non_mandatory_tour_frequency.csv +PTYPE_NAME: + *ptype_full: PTYPE_FULL + *ptype_part: PTYPE_PART + *ptype_university: PTYPE_UNIVERSITY + *ptype_nonwork: PTYPE_NONWORK + *ptype_retired: PTYPE_RETIRED + *ptype_driving: PTYPE_DRIVING + *ptype_school: PTYPE_SCHOOL + *ptype_preschool: PTYPE_PRESCHOOL + + +CDAP_ACTIVITY_MANDATORY: M +CDAP_ACTIVITY_NONMANDATORY: N +CDAP_ACTIVITY_HOME: H + +# Mode Choice +#CONSTANTS: +#valueOfTime: 8.00 +# AAA:https://exchange.aaa.com/wp-content/uploads/2018/09/18-0090_2018-Your-Driving-Costs-Brochure_FNL-Lo-5-2.pdf +costPerMile: 19.26 +costShareSr2: 1.75 +costShareSr3: 2.50 +waitThresh: 10.00 +shortWalk: 0.333 +longWalk: 0.667 +walkSpeed: 3.00 +bikeThresh: 6.00 +bikeSpeed: 12.00 +# RIDEHAIL Settings +Taxi_baseFare: 2.20 +Taxi_costPerMile: 2.30 +Taxi_costPerMinute: 0.10 + +TNC_single_baseFare: 2.20 +TNC_single_costPerMile: 1.33 +TNC_single_costPerMinute: 0.24 +TNC_single_costMinimum: 7.20 +TNC_single_waitTime_mean: + 1: 3.0 + 2: 6.3 + 3: 8.4 + 4: 8.5 + 5: 10.3 +TNC_single_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 +TNC_shared_baseFare: 2.20 +TNC_shared_costPerMile: 0.53 +TNC_shared_costPerMinute: 0.10 +TNC_shared_costMinimum: 3.00 +TNC_shared_IVTFactor: 1.5 +TNC_shared_waitTime_mean: + 1: 5.0 + 2: 8.0 + 3: 11.0 + 4: 15.0 + 5: 15.0 +TNC_shared_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 +min_waitTime: 0 +max_waitTime: 50 +ivt_cost_multiplier: 0.6 +topology_bike_multiplier: 20 +topology_trn_multiplier: 2.20 +topology_walk_multiplier: 15 +ridehail_wait_time_multiplier: 1.5 +dacc_ratio_multiplier: 0 +origin_density_index_multiplier: -15 +origin_density_index_max: -15 +#FIXME: Check these +ivt_LB_multiplier: 1.0 +ivt_XB_multiplier: 0.9 +ivt_BR_multiplier: 0.9 +ivt_LR_multiplier: 0.9 +ivt_MR_multiplier: 0.8 +ivt_CR_multiplier: 0.7 +ivt_com_multiplier: 0.80 +ivt_hvy_multiplier: 0.80 +short_i_wait_multiplier: 2 +long_i_wait_multiplier: 1 +wacc_multiplier: 2 +wegr_multiplier: 2 +waux_multiplier: 2 +dtim_multiplier: 2 +xwait_multiplier: 2 +dacc_ratio: 0 +drvtrn_distpen_0_multiplier: 270 +drvtrn_distpen_max: 15 diff --git a/activitysim/examples/prototype_mwcog/configs/destination_choice_size_terms.csv b/activitysim/examples/prototype_mwcog/configs/destination_choice_size_terms.csv new file mode 100644 index 0000000000..9706d64a32 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/destination_choice_size_terms.csv @@ -0,0 +1,26 @@ +model_selector,segment,HH,TOTEMP,INDEMP,RETEMP,OTHEMP,OFFEMP,K_8,G9_12,COLLEGE,Park_Acres,GC_Acres +workplace,work_low,0,0,1,2.3131,2.2566,1,0,0,0,0,0 +workplace,work_med,0,0,0.2828,0.5745,1.3069,1,0,0,0,0,0 +workplace,work_high,0,0,0.3528,0.2593,0.81,1,0,0,0,0,0 +workplace,work_veryhigh,0,0,0.1523,0.1345,0.81,1,0,0,0,0,0 +school,university,0,0,0,0,0,0,0,0,1,0,0 +school,gradeschool,0,0,0,0,0,0,1,0,0,0,0 +school,highschool,0,0,0,0,0,0,0,1,0,0,0 +non_mandatory,escort,0.3564,0,0.4562,0.2672,0.7392,0.0876,1,0.5518,0,0,0 +non_mandatory,shopping,0,0,0,1,0,0.6418,0,0,0,0,0 +non_mandatory,eatout,0.0286,0,0,1,0.0877,0,0,0,0,0,0 +non_mandatory,othmaint,0.1122,0,0.0183,1,0.5016,0.2158,0,0,0,0,0 +non_mandatory,social,1,0,0,0.3833,0,0,0,0,0,0,0 +non_mandatory,othdiscr,0.3429,0,0,0.268,1,0.268,0,0,0,0.3429,1.6185 +atwork,atwork,0,0,0,1,0,0.5399,0,0,0,0,0 +trip,work,0,1,1,1,1,1,0,0,0,0,0 +trip,escort,0.001,0,0,0.225,0,0,0.465,0.166,0,0,0 +trip,shopping,0.001,0,0,0.999,0,0,0,0,0,0,0 +trip,eatout,0,0,0,0.742,0,0,0,0,0,0,0 +trip,othmaint,0.001,0,0,0.481,0,0,0,0,0,0,0 +trip,social,0.001,0,0,0.521,0,0,0,0,0,0,0 +trip,othdiscr,0.252,0,0,0.212,0.165,0.165,0,0.098,0,0,0 +trip,univ,0,0,0,0,0,0,0,0,1,0,0 +# not needed as school is not chosen as an intermediate trip destination,,,,,,,,,,0,0,0 +#trip,gradeschool,0,0,0,0,0,0,0,0,0,0,0 +#trip,highschool,0,0,0,0,0,0,1,1,0,0,0 diff --git a/activitysim/examples/example_semcog/configs/free_parking.csv b/activitysim/examples/prototype_mwcog/configs/free_parking.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/free_parking.csv rename to activitysim/examples/prototype_mwcog/configs/free_parking.csv index 6bda3519a0..2505a9bf70 --- a/activitysim/examples/example_semcog/configs/free_parking.csv +++ b/activitysim/examples/prototype_mwcog/configs/free_parking.csv @@ -1,6 +1,6 @@ -Label,Description,Expression,free,pay -util_income_very_high,Very high income household dummy,@df.income>=100000,coef_income_very_high,0 -util_income_high,High income housheold dummy,@(df.income>=60000) & (df.income<100000),coef_income_high,0 -util_hh_size_4_up,Household size is greater than 3 dummy,@df.hhsize>3,coef_hh_size_4_up,0 -util_more_autos_than_workers,More automobiles than workers dummy,@df.auto_ownership>df.num_workers,coef_more_autos_than_workers,0 -util_fewer_autos_than_workers,Fewer automobiles than workers dummy,@df.auto_ownership=100000,coef_income_very_high,0 +util_income_high,High income housheold dummy,@(df.income>=60000) & (df.income<100000),coef_income_high,0 +util_hh_size_4_up,Household size is greater than 3 dummy,@df.hhsize>3,coef_hh_size_4_up,0 +util_more_autos_than_workers,More automobiles than workers dummy,@df.auto_ownership>df.num_workers,coef_more_autos_than_workers,0 +util_fewer_autos_than_workers,Fewer automobiles than workers dummy,@df.auto_ownership=30) & (income_in_thousands<60),coef_medium_income_households,, -util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed -util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, -util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed -util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, -util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, -util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows -util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, -util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, +Label,Description,Expression,adults,children,mixed +util_asc,Alternative-specific constant,1,,coef_asc_children,coef_asc_mixed +util_tour_purpose_is_eating_out,Joint tour purpose is eating out (dummy),tour_type=='eat',,coef_tour_purpose_is_eating_out_children,coef_tour_purpose_is_eating_out_mixed +util_tour_purpose_is_discretionary,Joint tour purpose is discretionary (dummy),tour_type=='disc',coef_tour_purpose_is_discretionary_adults,coef_tour_purpose_is_discretionary_children, +util_number_of_full_time_workers,Number of Full-Time Workers in the household,num_full_max3,coef_number_of_full_time_workers_adults,,coef_number_of_full_time_workers_mixed +util_number_of_part_time_workers,Number of Part-Time Workers in the household,num_part_max3,coef_number_of_part_time_workers_adults,,coef_number_of_part_time_workers_mixed +util_number_of_university_students,Number of University students in the household,num_univ_max3,coef_number_of_university_students,, +util_number_of_non_workers,Number of Non-Workers in the household,num_nonwork_max3,coef_number_of_non_workers_adults,,coef_number_of_non_workers_mixed +util_number_of_children_too_young_for_school,Number of Children too Young for School in the household,num_preschool_max3,,coef_number_of_children_too_young_for_school_children,coef_number_of_children_too_young_for_school_mixed +util_number_of_pre_driving_age_children,Number of Pre-driving Age Children in the household,num_school_max3,,coef_number_of_pre_driving_age_children_children,coef_number_of_pre_driving_age_children_mixed +util_number_of_driving_age_children,Number of Driving-age Children in the household,num_driving_max3,,coef_number_of_driving_age_children_children,coef_number_of_driving_age_children_mixed +util_low_income_households,Low income households (dummy),income_in_thousands<30,coef_low_income_households_adults,,coef_low_income_households_mixed +util_medium_income_households,Medium income households (dummy),(income_in_thousands>=30) & (income_in_thousands<60),coef_medium_income_households,, +util_household_has_more_cars_than_workers,Household has more cars than workers (dummy),more_cars_than_workers,coef_household_has_more_cars_than_workers_adults,,coef_household_has_more_cars_than_workers_mixed +util_household_in_urban_area,Household is located in an urban area type (dummy),home_is_urban,coef_household_in_urban_area,, +util_household_in_suburban_area,Household is located in a suburban area type (dummy),~(home_is_urban | home_is_rural),coef_household_in_suburban_area_adults,,coef_household_in_suburban_area_mixed +util_log_max_overlap_of_adults_time_windows,Log of max pair-wise overlap of household adults time windows,log_time_window_overlap_adult,coef_log_max_overlap_of_adults_time_windows,, +util_log_max_overlap_of_childrens_time_windows,Log of max pair-wise overlap of household childrens time windows,log_time_window_overlap_child,,coef_log_max_overlap_of_childrens_time_windows, +util_log_max_overlap_of_time_windows,Log of max pair-wise overlap of household adults and childrens time windows,log_time_window_overlap_adult_child,,,coef_log_max_overlap_of_time_windows +util_two_acive_adults,Two adults must have Mand or Non Mand activity patterns to have adult-only joint travel,num_travel_active_adults<2,coef_unavailable,, +util_two_active_children,Two children must have Mand or Non Mand activity patterns to have children-only joint travel,num_travel_active_children<2,,coef_unavailable, util_travel_active_adult,At least one adult and at least one child must have Mand or Non Mand activity patterns to have adult/child joint travel,(num_travel_active_adults == 0) | (num_travel_active_children == 0),,,coef_unavailable \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/joint_tour_composition.yaml b/activitysim/examples/prototype_mwcog/configs/joint_tour_composition.yaml old mode 100755 new mode 100644 similarity index 95% rename from activitysim/examples/example_psrc/configs/joint_tour_composition.yaml rename to activitysim/examples/prototype_mwcog/configs/joint_tour_composition.yaml index 55ee2015ec..a699bb337d --- a/activitysim/examples/example_psrc/configs/joint_tour_composition.yaml +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_composition.yaml @@ -1,11 +1,11 @@ -LOGIT_TYPE: MNL - -SPEC: joint_tour_composition.csv -COEFFICIENTS: joint_tour_composition_coeffs.csv - -preprocessor: - SPEC: joint_tour_composition_annotate_households_preprocessor - DF: households -# TABLES: -# - persons -# - accessibility +LOGIT_TYPE: MNL + +SPEC: joint_tour_composition.csv +COEFFICIENTS: joint_tour_composition_coeffs.csv + +preprocessor: + SPEC: joint_tour_composition_annotate_households_preprocessor + DF: households +# TABLES: +# - persons +# - accessibility diff --git a/activitysim/examples/example_semcog/configs/joint_tour_composition_annotate_households_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_composition_annotate_households_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/joint_tour_composition_annotate_households_preprocessor.csv rename to activitysim/examples/prototype_mwcog/configs/joint_tour_composition_annotate_households_preprocessor.csv index c53d990944..3267e37939 --- a/activitysim/examples/example_semcog/configs/joint_tour_composition_annotate_households_preprocessor.csv +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_composition_annotate_households_preprocessor.csv @@ -1,22 +1,22 @@ -Description,Target,Expression -#,, -,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" -,time_window_overlap_adult,_HH_OVERLAPS['aa']/2.25 -,time_window_overlap_child,_HH_OVERLAPS['cc']/2.25 -,time_window_overlap_adult_child,_HH_OVERLAPS['ac']/2.25 -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -#,, -,_HH_PERSON_COUNT,"lambda exp, households, persons: persons.query(exp).groupby('household_id').size().reindex(households.index).fillna(0)" -,_num_full,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_FULL, households, persons)" -,_num_part,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PART, households, persons)" -,num_full_max3,"_num_full.clip(0,3)" -,num_part_max3,"_num_part.clip(0,3)" -,num_univ_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_UNIVERSITY, households, persons).clip(0,3)" -,num_nonwork_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_NONWORK, households, persons).clip(0,3)" -,num_preschool_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PRESCHOOL, households, persons).clip(0,3)" -,num_school_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_SCHOOL, households, persons).clip(0,3)" -,num_driving_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_DRIVING, households, persons).clip(0,3)" -#,, -,more_cars_than_workers,households.auto_ownership > (_num_full + _num_part) +Description,Target,Expression +#,, +,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" +,time_window_overlap_adult,_HH_OVERLAPS['aa']/2.25 +,time_window_overlap_child,_HH_OVERLAPS['cc']/2.25 +,time_window_overlap_adult_child,_HH_OVERLAPS['ac']/2.25 +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +#,, +,_HH_PERSON_COUNT,"lambda exp, households, persons: persons.query(exp).groupby('household_id').size().reindex(households.index).fillna(0)" +,_num_full,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_FULL, households, persons)" +,_num_part,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PART, households, persons)" +,num_full_max3,"_num_full.clip(0,3)" +,num_part_max3,"_num_part.clip(0,3)" +,num_univ_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_UNIVERSITY, households, persons).clip(0,3)" +,num_nonwork_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_NONWORK, households, persons).clip(0,3)" +,num_preschool_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_PRESCHOOL, households, persons).clip(0,3)" +,num_school_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_SCHOOL, households, persons).clip(0,3)" +,num_driving_max3,"_HH_PERSON_COUNT('ptype == %s' % PTYPE_DRIVING, households, persons).clip(0,3)" +#,, +,more_cars_than_workers,households.auto_ownership > (_num_full + _num_part) diff --git a/activitysim/examples/example_semcog/configs/joint_tour_composition_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_composition_coeffs.csv old mode 100755 new mode 100644 similarity index 97% rename from activitysim/examples/example_semcog/configs/joint_tour_composition_coeffs.csv rename to activitysim/examples/prototype_mwcog/configs/joint_tour_composition_coeffs.csv index ad082c2d1e..4d929c2b5f --- a/activitysim/examples/example_semcog/configs/joint_tour_composition_coeffs.csv +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_composition_coeffs.csv @@ -1,32 +1,32 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_asc_children,5.3517,F -coef_asc_mixed,5.6290,fF -coef_tour_purpose_is_eating_out_children,-0.9678,F -coef_tour_purpose_is_eating_out_mixed,-0.8027,F -coef_tour_purpose_is_discretionary_adults,0.7648,F -coef_tour_purpose_is_discretionary_children,0.5101,F -coef_number_of_full_time_workers_adults,1.024,F -coef_number_of_full_time_workers_mixed,0.3624,F -coef_number_of_part_time_workers_adults,0.5412,F -coef_number_of_part_time_workers_mixed,0.3164,F -coef_number_of_university_students,0.8245,F -coef_number_of_non_workers_adults,0.6263,F -coef_number_of_non_workers_mixed,-0.3724,F -coef_number_of_children_too_young_for_school_children,0.7306,F -coef_number_of_children_too_young_for_school_mixed,0.7906,F -coef_number_of_pre_driving_age_children_children,0.7306,F -coef_number_of_pre_driving_age_children_mixed,0.3532,F -coef_number_of_driving_age_children_children,-0.2667,F -coef_number_of_driving_age_children_mixed,-0.9399,F -coef_low_income_households_adults,1.248,F -coef_low_income_households_mixed,0.5755,F -coef_medium_income_households,0.8369,F -coef_household_has_more_cars_than_workers_adults,1.386,F -coef_household_has_more_cars_than_workers_mixed,0.751,F -coef_household_in_urban_area,0.5741,F -coef_household_in_suburban_area_adults,0.5105,F -coef_household_in_suburban_area_mixed,0.1283,F -coef_log_max_overlap_of_adults_time_windows,1.192,F -coef_log_max_overlap_of_childrens_time_windows,1.841,F -coef_log_max_overlap_of_time_windows,1.958,F +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_asc_children,5.3517,F +coef_asc_mixed,5.6290,fF +coef_tour_purpose_is_eating_out_children,-0.9678,F +coef_tour_purpose_is_eating_out_mixed,-0.8027,F +coef_tour_purpose_is_discretionary_adults,0.7648,F +coef_tour_purpose_is_discretionary_children,0.5101,F +coef_number_of_full_time_workers_adults,1.024,F +coef_number_of_full_time_workers_mixed,0.3624,F +coef_number_of_part_time_workers_adults,0.5412,F +coef_number_of_part_time_workers_mixed,0.3164,F +coef_number_of_university_students,0.8245,F +coef_number_of_non_workers_adults,0.6263,F +coef_number_of_non_workers_mixed,-0.3724,F +coef_number_of_children_too_young_for_school_children,0.7306,F +coef_number_of_children_too_young_for_school_mixed,0.7906,F +coef_number_of_pre_driving_age_children_children,0.7306,F +coef_number_of_pre_driving_age_children_mixed,0.3532,F +coef_number_of_driving_age_children_children,-0.2667,F +coef_number_of_driving_age_children_mixed,-0.9399,F +coef_low_income_households_adults,1.248,F +coef_low_income_households_mixed,0.5755,F +coef_medium_income_households,0.8369,F +coef_household_has_more_cars_than_workers_adults,1.386,F +coef_household_has_more_cars_than_workers_mixed,0.751,F +coef_household_in_urban_area,0.5741,F +coef_household_in_suburban_area_adults,0.5105,F +coef_household_in_suburban_area_mixed,0.1283,F +coef_log_max_overlap_of_adults_time_windows,1.192,F +coef_log_max_overlap_of_childrens_time_windows,1.841,F +coef_log_max_overlap_of_time_windows,1.958,F diff --git a/activitysim/examples/prototype_mwcog/configs/joint_tour_destination.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_destination.csv new file mode 100644 index 0000000000..96cd1c29f2 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_destination.csv @@ -0,0 +1,17 @@ +Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr +local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 +util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,0,coef_dist_othmaint,0,coef_dist_othdiscr +util_dist_squared,"@(_DIST).clip(0,20)**2",0,coef_dist_squared_shopping,0,0,0,coef_dist_squared_othdiscr +util_dist_cubed,"@(_DIST).clip(0,20)**3",0,coef_dist_cubed_shopping,0,0,0,coef_dist_cubed_othdiscr +util_dist_squared,"@(_DIST).clip(0,15)**2",0,0,0,coef_dist_squared_othmaint,0,0 +util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr +util_dist_hh_child,@(df['hh_child']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,0,coef_dist_hh_child_othdiscr +util_dist_zero_auto,@(df['auto_ownership']==0) * _DIST,0,0,0,0,0,coef_dist_zero_auto_othdiscr +util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_very_high,@(df['income_segment']==WORK_VERYHIGH_SEGMENT_ID) * _DIST,0,0,coef_dist_veryhigh_inc_eatout,0,coef_dist_veryhigh_inc_social,coef_dist_veryhigh_inc_othdiscr +util_dist_joint_tour,@(df['tour_type']=='joint') * _DIST,0,coef_dist_joint_tour_shopping,0,coef_dist_joint_tour_othmaint,0,coef_dist_joint_tour_othdiscr +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 +Mode choice logsum,mode_choice_logsum,coef_mode_logsum_escort,coef_mode_logsum_shopping,coef_mode_logsum_eatout,coef_mode_logsum_othmaint,coef_mode_logsum_social,coef_mode_logsum_othdiscr +Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1 diff --git a/activitysim/examples/prototype_mwcog/configs/joint_tour_destination.yaml b/activitysim/examples/prototype_mwcog/configs/joint_tour_destination.yaml new file mode 100644 index 0000000000..5fe0c0636a --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_destination.yaml @@ -0,0 +1,54 @@ + +SAMPLE_SPEC: joint_tour_destination_sample.csv +SPEC: joint_tour_destination.csv +COEFFICIENTS: joint_tour_destination_coeffs.csv + +SEGMENTS: + - shopping + - othmaint + - othdiscr + - eatout + - social + + +SAMPLE_SIZE: 30 + +# we can't use use household income_segment as this will also be set for non-workers +CHOOSER_SEGMENT_COLUMN_NAME: tour_type + +SIMULATE_CHOOSER_COLUMNS: + - tour_type + - TAZ + - person_id + - income_segment + - num_children + - hh_child + - auto_ownership + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: TAZ +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 15 +OUT_PERIOD: 19 + +SIZE_TERM_SELECTOR: non_mandatory + +# optional (comment out if not desired) +DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample + +SEGMENT_IDS: + work_low: 1 + work_med: 2 + work_high: 3 + work_veryhigh: 4 + +CONSTANTS: + WORK_LOW_SEGMENT_ID: 1 + WORK_MED_SEGMENT_ID: 2 + WORK_HIGH_SEGMENT_ID: 3 + WORK_VERYHIGH_SEGMENT_ID: 4 diff --git a/activitysim/examples/prototype_mwcog/configs/joint_tour_destination_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_destination_coeffs.csv new file mode 100644 index 0000000000..0c4e5fee22 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_destination_coeffs.csv @@ -0,0 +1,39 @@ +coefficient_name,value,constrain +coef_mode_logsum_escort,0.676,F +coef_dist_escort,0.046736802,F +coef_dist_squared_escort,0,F +coef_dist_cubed_escort,0,F +coef_dist_logged_escort,-2.403808965,F +coef_dist_hh_child_escort,-0.078449805,F +coef_mode_logsum_shopping,0.676,F +coef_dist_shopping,-0.045383662,F +coef_dist_squared_shopping,-0.001019621,F +coef_dist_cubed_shopping,0,F +coef_dist_logged_shopping,-2.184394753,F +coef_dist_joint_tour_shopping,0,F +coef_mode_logsum_eatout,0.79,F +coef_dist_eatout,0,F +coef_dist_squared_eatout,0,F +coef_dist_cubed_eatout,0,F +coef_dist_logged_eatout,-1.904643053,F +coef_dist_hh_child_eatout,-0.034067726,F +coef_dist_veryhigh_inc_eatout,-0.03079323,F +coef_mode_logsum_othmaint,0.676,F +coef_dist_othmaint,-0.04055464,F +coef_dist_squared_othmaint,-0.001372519,F +coef_dist_cubed_othmaint,0,F +coef_dist_logged_othmaint,-1.270318612,F +coef_dist_joint_tour_othmaint,0.020235681,F +coef_mode_logsum_social,0.79,F +coef_dist_social,0,F +coef_dist_logged_social,-1.408912476,F +coef_dist_veryhigh_inc_social,-0.018940702,F +coef_mode_logsum_othdiscr,0.79,F +coef_dist_othdiscr,0.016951123,F +coef_dist_squared_othdiscr,-0.00183013,F +coef_dist_cubed_othdiscr,0,F +coef_dist_logged_othdiscr,-1.692232511,F +coef_dist_hh_child_othdiscr,-0.016330734,F +coef_dist_zero_auto_othdiscr,0.064871626,F +coef_dist_veryhigh_inc_othdiscr,-0.008650825,F +coef_dist_joint_tour_othdiscr,0.013751855,F diff --git a/activitysim/examples/prototype_mwcog/configs/joint_tour_destination_sample.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_destination_sample.csv new file mode 100644 index 0000000000..4052c5040d --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_destination_sample.csv @@ -0,0 +1,15 @@ +Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr +local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 +util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,0,coef_dist_othmaint,0,coef_dist_othdiscr +util_dist_squared,"@(_DIST).clip(0,20)**2",0,coef_dist_squared_shopping,0,0,0,coef_dist_squared_othdiscr +util_dist_cubed,"@(_DIST).clip(0,20)**3",0,coef_dist_cubed_shopping,0,0,0,coef_dist_cubed_othdiscr +util_dist_squared,"@(_DIST).clip(0,15)**2",0,0,0,coef_dist_squared_othmaint,0,0 +util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr +util_dist_hh_child,@(df['hh_child']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,0,coef_dist_hh_child_othdiscr +util_dist_zero_auto,@(df['auto_ownership']==0) * _DIST,0,0,0,0,0,coef_dist_zero_auto_othdiscr +util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_very_high,@(df['income_segment']==WORK_VERYHIGH_SEGMENT_ID) * _DIST,0,0,coef_dist_veryhigh_inc_eatout,0,coef_dist_veryhigh_inc_social,coef_dist_veryhigh_inc_othdiscr +util_dist_joint_tour,@(df['tour_type']=='joint') * _DIST,0,coef_dist_joint_tour_shopping,0,coef_dist_joint_tour_othmaint,0,coef_dist_joint_tour_othdiscr +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 diff --git a/activitysim/examples/example_semcog/configs/joint_tour_frequency.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_frequency.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/joint_tour_frequency.csv rename to activitysim/examples/prototype_mwcog/configs/joint_tour_frequency.csv index d89911f1fb..48d46a8fbf --- a/activitysim/examples/example_semcog/configs/joint_tour_frequency.csv +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_frequency.csv @@ -1,78 +1,78 @@ -Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD -util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours -util_alternative_specific_constants_calibration,alternative_specific_constants_calibration,1,asc_calib_0_tours,asc_calib_1_Shop,asc_calib_1_Main,asc_calib_1_Eat,asc_calib_1_Visit,asc_calib_1_Disc,asc_calib_2_SS,asc_calib_2_SM,asc_calib_2_SE,asc_calib_2_SV,asc_calib_2_SD,asc_calib_2_MM,asc_calib_2_ME,asc_calib_2_MV,asc_calib_2_MD,asc_calib_2_EE,asc_calib_2_EV,asc_calib_2_ED,asc_calib_2_VV,asc_calib_2_VD,asc_calib_2_DD -#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, -util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, -util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, -#_shopping,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, -util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, -util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, -util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, -util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, -util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, -util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, -util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, -util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, -util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, -util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, -#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, -util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, -util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, -util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, -util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, -util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, -util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, -util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, -util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, -util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, -util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, -util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, -util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, -#_eatout,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, -util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, -util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, -util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, -util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, -util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, -util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, -util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, -util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, -util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, -util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, -util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, -util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, -#_visiting,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, -util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, -util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, -util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, -util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, -util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, -util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, -util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, -util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, -util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, -#_discretionary,,,,,,,,,,,,,,,,,,,,,,, -util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc -util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc -util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc -util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc -util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc -util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc -util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc -util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc -util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc -util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc -util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc -util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc -util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc -util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc -util_zeroAutomobiles_dis,zeroAutomobiles_disc,auto_ownership == 0,,,,,,coef_zeroAutomobiles_disc,,,,,coef_zeroAutomobiles_disc,,,,coef_zeroAutomobiles_disc,,,coef_zeroAutomobiles_disc,,coef_zeroAutomobiles_disc,2 * coef_zeroAutomobiles_disc +Label,Description,Expression,0_tours,1_Shop,1_Main,1_Eat,1_Visit,1_Disc,2_SS,2_SM,2_SE,2_SV,2_SD,2_MM,2_ME,2_MV,2_MD,2_EE,2_EV,2_ED,2_VV,2_VD,2_DD +util_alternative_specific_constants,alternative_specific_constants,1,coef_asc_0_tours,coef_asc_1_Shop,coef_asc_1_Main,coef_asc_1_Eat,coef_asc_1_Visit,coef_asc_1_Disc,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours,coef_asc_2_tours +util_alternative_specific_constants_calibration,alternative_specific_constants_calibration,1,asc_calib_0_tours,asc_calib_1_Shop,asc_calib_1_Main,asc_calib_1_Eat,asc_calib_1_Visit,asc_calib_1_Disc,asc_calib_2_SS,asc_calib_2_SM,asc_calib_2_SE,asc_calib_2_SV,asc_calib_2_SD,asc_calib_2_MM,asc_calib_2_ME,asc_calib_2_MV,asc_calib_2_MD,asc_calib_2_EE,asc_calib_2_EV,asc_calib_2_ED,asc_calib_2_VV,asc_calib_2_VD,asc_calib_2_DD +#_zero_tours,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeHomeMaxThree_zero_tours,fullTimeHomeMaxThree_zero_tours,cdap_home_full_max3,coef_fullTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_partTimeHomeMaxThree_zero_tours,partTimeHomeMaxThree_zero_tours,cdap_home_part_max3,coef_partTimeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_nonWorkerHomeMaxThree_zero_tours,nonWorkerHomeMaxThree_zero_tours,cdap_home_nonwork_max3,coef_nonWorkerHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_retireeHomeMaxThree_zero_tours,retireeHomeMaxThree_zero_tours,cdap_home_retired_max3,coef_retireeHomeMaxThree_zero_tours,,,,,,,,,,,,,,,,,,,, +util_universityHomeMaxThree_univ_and_driving_zero_tours,universityHomeMaxThree_univ_and_driving_zero_tours,cdap_home_univ_driving_max3,coef_universityHomeMaxThree_univ_and_driving_zero_tours,,,,,,,,,,,,,,,,,,,, +util_preDrivingHomeMaxThree_preschool_and_school_zero_tours,preDrivingHomeMaxThree_preschool_and_school_zero_tours,cdap_home_nondriving_child_max3,coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,,,,,,,,,,,,,,,,,,,, +#_shopping,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_shopping,fullTimeNonMandMaxThree_shopping,cdap_nonmand_full_max3,,coef_fullTimeNonMandMaxThree_shopping,,,,,2 * coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,coef_fullTimeNonMandMaxThree_shopping,,,,,,,,,, +util_partTimeNonMandMaxThree_shopping,partTimeNonMandMaxThree_shopping,cdap_nonmand_part_max3,,coef_partTimeNonMandMaxThree_shopping,,,,,2 * coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,coef_partTimeNonMandMaxThree_shopping,,,,,,,,,, +util_nonWorkerNonMandMaxThree_shopping,nonWorkerNonMandMaxThree_shopping,cdap_nonmand_nonwork_max3,,coef_nonWorkerNonMandMaxThree_shopping,,,,,2 * coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,coef_nonWorkerNonMandMaxThree_shopping,,,,,,,,,, +util_retireeNonMandMaxThree_shopping,retireeNonMandMaxThree_shopping,cdap_nonmand_retired_max3,,coef_retireeNonMandMaxThree_shopping,,,,,2 * coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,coef_retireeNonMandMaxThree_shopping,,,,,,,,,, +util_universityNonMandMaxThree_shopping,universityNonMandMaxThree_shopping,cdap_nonmand_univ_driving_max3,,coef_universityNonMandMaxThree_shopping,,,,,2 * coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,coef_universityNonMandMaxThree_shopping,,,,,,,,,, +util_preDrivingNonMandMaxThree_shopping,preDrivingNonMandMaxThree_shopping,cdap_nonmand_nondriving_child_max3,,coef_preDrivingNonMandMaxThree_shopping,,,,,2 * coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,coef_preDrivingNonMandMaxThree_shopping,,,,,,,,,, +util_fullTimeMandMaxThree_shopping,fullTimeMandMaxThree_shopping,cdap_mand_full_max3,,coef_fullTimeMandMaxThree_shopping,,,,,2 * coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,coef_fullTimeMandMaxThree_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdult_shopping,logTimeWindowOverlapAdult_shopping,log_time_window_overlap_adult,,coef_logTimeWindowOverlapAdult_shopping,,,,,2 * coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,coef_logTimeWindowOverlapAdult_shopping,,,,,,,,,, +util_logTimeWindowOverlapChild_shopping,logTimeWindowOverlapChild_shopping,log_time_window_overlap_child,,coef_logTimeWindowOverlapChild_shopping,,,,,2 * coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,coef_logTimeWindowOverlapChild_shopping,,,,,,,,,, +util_logTimeWindowOverlapAdultChild_shopping,logTimeWindowOverlapAdultChild_shopping,log_time_window_overlap_adult_child,,coef_logTimeWindowOverlapAdultChild_shopping,,,,,2 * coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,coef_logTimeWindowOverlapAdultChild_shopping,,,,,,,,,, +util_fewerCarsThanDrivers_shopping,fewerCarsThanDrivers_shopping,(auto_ownership > 0) & (auto_ownership < num_drivers),,coef_fewerCarsThanDrivers_shopping,,,,,2 * coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,coef_fewerCarsThanDrivers_shopping,,,,,,,,,, +util_moreCarsThanWorkers_shopping,moreCarsThanWorkers_shopping,auto_ownership > num_workers,,coef_moreCarsThanWorkers_shopping,,,,,2 * coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,coef_moreCarsThanWorkers_shopping,,,,,,,,,, +#_Maintenance,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_Maintenance,fullTimeNonMandMaxThree_Maintenance,cdap_nonmand_full_max3,,,coef_fullTimeNonMandMaxThree_maint,,,,,coef_fullTimeNonMandMaxThree_maint,,,,2 * coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,coef_fullTimeNonMandMaxThree_maint,,,,,, +util_partTimeNonMandMaxThree_Maintenance,partTimeNonMandMaxThree_Maintenance,cdap_nonmand_part_max3,,,coef_partTimeNonMandMaxThree_maint,,,,,coef_partTimeNonMandMaxThree_maint,,,,2 * coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,coef_partTimeNonMandMaxThree_maint,,,,,, +util_nonWorkerNonMandMaxThree_Maintenance,nonWorkerNonMandMaxThree_Maintenance,cdap_nonmand_nonwork_max3,,,coef_nonWorkerNonMandMaxThree_maint,,,,,coef_nonWorkerNonMandMaxThree_maint,,,,2 * coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,coef_nonWorkerNonMandMaxThree_maint,,,,,, +util_retireeNonMandMaxThree_Maintenance,retireeNonMandMaxThree_Maintenance,cdap_nonmand_retired_max3,,,coef_retireeNonMandMaxThree_maint,,,,,coef_retireeNonMandMaxThree_maint,,,,2 * coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,coef_retireeNonMandMaxThree_maint,,,,,, +util_universityNonMandMaxThree_Maintenance,universityNonMandMaxThree_Maintenance,cdap_nonmand_univ_driving_max3,,,coef_universityNonMandMaxThree_maint,,,,,coef_universityNonMandMaxThree_maint,,,,2 * coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,coef_universityNonMandMaxThree_maint,,,,,, +util_preDrivingNonMandMaxThree_Maintenance,preDrivingNonMandMaxThree_Maintenance,cdap_nonmand_nondriving_child_max3,,,coef_preDrivingNonMandMaxThree_maint,,,,,coef_preDrivingNonMandMaxThree_maint,,,,2 * coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,coef_preDrivingNonMandMaxThree_maint,,,,,, +util_fullTimeMandMaxThree_Maintenance,fullTimeMandMaxThree_Maintenance,cdap_mand_full_max3,,,coef_fullTimeMandMaxThree_maint,,,,,coef_fullTimeMandMaxThree_maint,,,,2 * coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,coef_fullTimeMandMaxThree_maint,,,,,, +util_drivingAgeStuMandMaxThree_Maintenance,drivingAgeStuMandMaxThree_Maintenance,cdap_mand_univ_driving_max3,,,coef_drivingAgeStuMandMaxThree_maint,,,,,coef_drivingAgeStuMandMaxThree_maint,,,,2 * coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,coef_drivingAgeStuMandMaxThree_maint,,,,,, +util_preDrivingAgeMandMaxThree_Maintenance,preDrivingAgeMandMaxThree_Maintenance,cdap_mand_nondriving_child_max3,,,coef_preDrivingAgeMandMaxThree_maint,,,,,coef_preDrivingAgeMandMaxThree_maint,,,,2 * coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,coef_preDrivingAgeMandMaxThree_maint,,,,,, +util_logTimeWindowOverlapAdult_Maintenance,logTimeWindowOverlapAdult_Maintenance,log_time_window_overlap_adult,,,coef_logTimeWindowOverlapAdult_maint,,,,,coef_logTimeWindowOverlapAdult_maint,,,,2 * coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,coef_logTimeWindowOverlapAdult_maint,,,,,, +util_logTimeWindowOverlapChild_Maintenance,logTimeWindowOverlapChild_Maintenance,log_time_window_overlap_child,,,coef_logTimeWindowOverlapChild_maint,,,,,coef_logTimeWindowOverlapChild_maint,,,,2 * coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,coef_logTimeWindowOverlapChild_maint,,,,,, +util_logTimeWindowOverlapAdultChild_Maintenance,logTimeWindowOverlapAdultChild_Maintenance,log_time_window_overlap_adult_child,,,coef_logTimeWindowOverlapAdultChild_maint,,,,,coef_logTimeWindowOverlapAdultChild_maint,,,,2 * coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,coef_logTimeWindowOverlapAdultChild_maint,,,,,, +util_fewerCarsThanDrivers_Maintenance,fewerCarsThanDrivers_Maintenance,(auto_ownership > 0) & (auto_ownership < num_drivers),,,coef_fewerCarsThanDrivers_maint,,,,,coef_fewerCarsThanDrivers_maint,,,,2 * coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,coef_fewerCarsThanDrivers_maint,,,,,, +#_eatout,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_eatout,fullTimeNonMandMaxThree_eatout,cdap_nonmand_full_max3,,,,coef_fullTimeNonMandMaxThree_eatout,,,,,coef_fullTimeNonMandMaxThree_eatout,,,,coef_fullTimeNonMandMaxThree_eatout,,,2 * coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,coef_fullTimeNonMandMaxThree_eatout,,, +util_partTimeNonMandMaxThree_eatout,partTimeNonMandMaxThree_eatout,cdap_nonmand_part_max3,,,,coef_partTimeNonMandMaxThree_eatout,,,,,coef_partTimeNonMandMaxThree_eatout,,,,coef_partTimeNonMandMaxThree_eatout,,,2 * coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,coef_partTimeNonMandMaxThree_eatout,,, +util_nonWorkerNonMandMaxThree_eatout,nonWorkerNonMandMaxThree_eatout,cdap_nonmand_nonwork_max3,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,,coef_nonWorkerNonMandMaxThree_eatout,,,,coef_nonWorkerNonMandMaxThree_eatout,,,2 * coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,coef_nonWorkerNonMandMaxThree_eatout,,, +util_retireeNonMandMaxThree_eatout,retireeNonMandMaxThree_eatout,cdap_nonmand_retired_max3,,,,coef_retireeNonMandMaxThree_eatout,,,,,coef_retireeNonMandMaxThree_eatout,,,,coef_retireeNonMandMaxThree_eatout,,,2 * coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,coef_retireeNonMandMaxThree_eatout,,, +util_universityNonMandMaxThree_eatout,universityNonMandMaxThree_eatout,cdap_nonmand_univ_driving_max3,,,,coef_universityNonMandMaxThree_eatout,,,,,coef_universityNonMandMaxThree_eatout,,,,coef_universityNonMandMaxThree_eatout,,,2 * coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,coef_universityNonMandMaxThree_eatout,,, +util_preDrivingNonMandMaxThree_eatout,preDrivingNonMandMaxThree_eatout,cdap_nonmand_nondriving_child_max3,,,,coef_preDrivingNonMandMaxThree_eatout,,,,,coef_preDrivingNonMandMaxThree_eatout,,,,coef_preDrivingNonMandMaxThree_eatout,,,2 * coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,coef_preDrivingNonMandMaxThree_eatout,,, +util_logTimeWindowOverlapAdult_eatout,logTimeWindowOverlapAdult_eatout,log_time_window_overlap_adult,,,,coef_logTimeWindowOverlapAdult_eatout,,,,,coef_logTimeWindowOverlapAdult_eatout,,,,coef_logTimeWindowOverlapAdult_eatout,,,2 * coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,coef_logTimeWindowOverlapAdult_eatout,,, +util_logTimeWindowOverlapAdultChild_eatout,logTimeWindowOverlapAdultChild_eatout,log_time_window_overlap_adult_child,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,,coef_logTimeWindowOverlapAdultChild_eatout,,,2 * coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,coef_logTimeWindowOverlapAdultChild_eatout,,, +util_incomeBetween50And100_eatout,incomeBetween50And100_eatout,income_between_50_and_100,,,,coef_incomeBetween50And100_eatout,,,,,coef_incomeBetween50And100_eatout,,,,coef_incomeBetween50And100_eatout,,,2 * coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,coef_incomeBetween50And100_eatout,,, +util_incomeGreaterThan100_eatout,incomeGreaterThan100_eatout,income_greater_than_100,,,,coef_incomeGreaterThan100_eatout,,,,,coef_incomeGreaterThan100_eatout,,,,coef_incomeGreaterThan100_eatout,,,2 * coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,coef_incomeGreaterThan100_eatout,,, +util_incomeMissing_dummy_always_zero_eatout,incomeMissing_dummy_always_zero_eatout,income_missing,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,,coef_incomeMissing_dummy_always_zero_eatout,,,,coef_incomeMissing_dummy_always_zero_eatout,,,2 * coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,coef_incomeMissing_dummy_always_zero_eatout,,, +util_moreCarsThanWorkers_eatout,moreCarsThanWorkers_eatout,auto_ownership > num_workers,,,,coef_moreCarsThanWorkers_eatout,,,,,coef_moreCarsThanWorkers_eatout,,,,coef_moreCarsThanWorkers_eatout,,,2 * coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,coef_moreCarsThanWorkers_eatout,,, +util_walkRetailAccessibility_eatout,walkRetailAccessibility_eatout,non_motorized_retail_accessibility,,,,coef_walkRetailAccessibility_eatout,,,,,coef_walkRetailAccessibility_eatout,,,,coef_walkRetailAccessibility_eatout,,,2 * coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,coef_walkRetailAccessibility_eatout,,, +#_visiting,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_visiting,fullTimeNonMandMaxThree_visiting,cdap_nonmand_full_max3,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,,coef_fullTimeNonMandMaxThree_visiting,,,,coef_fullTimeNonMandMaxThree_visiting,,,coef_fullTimeNonMandMaxThree_visiting,,2 * coef_fullTimeNonMandMaxThree_visiting,coef_fullTimeNonMandMaxThree_visiting, +util_partTimeNonMandMaxThree_visiting,partTimeNonMandMaxThree_visiting,cdap_nonmand_part_max3,,,,,coef_partTimeNonMandMaxThree_visiting,,,,,coef_partTimeNonMandMaxThree_visiting,,,,coef_partTimeNonMandMaxThree_visiting,,,coef_partTimeNonMandMaxThree_visiting,,2 * coef_partTimeNonMandMaxThree_visiting,coef_partTimeNonMandMaxThree_visiting, +util_nonWorkerNonMandMaxThree_visiting,nonWorkerNonMandMaxThree_visiting,cdap_nonmand_nonwork_max3,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,,coef_nonWorkerNonMandMaxThree_visiting,,,,coef_nonWorkerNonMandMaxThree_visiting,,,coef_nonWorkerNonMandMaxThree_visiting,,2 * coef_nonWorkerNonMandMaxThree_visiting,coef_nonWorkerNonMandMaxThree_visiting, +util_retireeNonMandMaxThree_visiting,retireeNonMandMaxThree_visiting,cdap_nonmand_retired_max3,,,,,coef_retireeNonMandMaxThree_visiting,,,,,coef_retireeNonMandMaxThree_visiting,,,,coef_retireeNonMandMaxThree_visiting,,,coef_retireeNonMandMaxThree_visiting,,2 * coef_retireeNonMandMaxThree_visiting,coef_retireeNonMandMaxThree_visiting, +util_universityNonMandMaxThree_visiting,universityNonMandMaxThree_visiting,cdap_nonmand_univ_driving_max3,,,,,coef_universityNonMandMaxThree_visiting,,,,,coef_universityNonMandMaxThree_visiting,,,,coef_universityNonMandMaxThree_visiting,,,coef_universityNonMandMaxThree_visiting,,2 * coef_universityNonMandMaxThree_visiting,coef_universityNonMandMaxThree_visiting, +util_preDrivingNonMandMaxThree_visiting,preDrivingNonMandMaxThree_visiting,cdap_nonmand_nondriving_child_max3,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,,coef_preDrivingNonMandMaxThree_visiting,,,,coef_preDrivingNonMandMaxThree_visiting,,,coef_preDrivingNonMandMaxThree_visiting,,2 * coef_preDrivingNonMandMaxThree_visiting,coef_preDrivingNonMandMaxThree_visiting, +util_timeWindowOverlapAdult_visiting,timeWindowOverlapAdult_visiting,time_window_overlap_adult,,,,,coef_timeWindowOverlapAdult_visiting,,,,,coef_timeWindowOverlapAdult_visiting,,,,coef_timeWindowOverlapAdult_visiting,,,coef_timeWindowOverlapAdult_visiting,,2 * coef_timeWindowOverlapAdult_visiting,coef_timeWindowOverlapAdult_visiting, +util_timeWindowOverlapChild_visiting,timeWindowOverlapChild_visiting,time_window_overlap_child,,,,,coef_timeWindowOverlapChild_visiting,,,,,coef_timeWindowOverlapChild_visiting,,,,coef_timeWindowOverlapChild_visiting,,,coef_timeWindowOverlapChild_visiting,,2 * coef_timeWindowOverlapChild_visiting,coef_timeWindowOverlapChild_visiting, +util_timeWindowOverlapAdultChild_visiting,timeWindowOverlapAdultChild_visiting,time_window_overlap_adult_child,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,,coef_timeWindowOverlapAdultChild_visiting,,,,coef_timeWindowOverlapAdultChild_visiting,,,coef_timeWindowOverlapAdultChild_visiting,,2 * coef_timeWindowOverlapAdultChild_visiting,coef_timeWindowOverlapAdultChild_visiting, +util_zeroAutomobiles_visiting,zeroAutomobiles_visiting,auto_ownership == 0,,,,,coef_zeroAutomobiles_visiting,,,,,coef_zeroAutomobiles_visiting,,,,coef_zeroAutomobiles_visiting,,,coef_zeroAutomobiles_visiting,,2 * coef_zeroAutomobiles_visiting,coef_zeroAutomobiles_visiting, +#_discretionary,,,,,,,,,,,,,,,,,,,,,,, +util_fullTimeNonMandMaxThree_disc,fullTimeNonMandMaxThree_disc,cdap_nonmand_full_max3,,,,,,coef_fullTimeNonMandMaxThree_disc,,,,,coef_fullTimeNonMandMaxThree_disc,,,,coef_fullTimeNonMandMaxThree_disc,,,coef_fullTimeNonMandMaxThree_disc,,coef_fullTimeNonMandMaxThree_disc,2 * coef_fullTimeNonMandMaxThree_disc +util_partTimeNonMandMaxThree_disc,partTimeNonMandMaxThree_disc,cdap_nonmand_part_max3,,,,,,coef_partTimeNonMandMaxThree_disc,,,,,coef_partTimeNonMandMaxThree_disc,,,,coef_partTimeNonMandMaxThree_disc,,,coef_partTimeNonMandMaxThree_disc,,coef_partTimeNonMandMaxThree_disc,2 * coef_partTimeNonMandMaxThree_disc +util_nonWorkerNonMandMaxThree_disc,nonWorkerNonMandMaxThree_disc,cdap_nonmand_nonwork_max3,,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,,coef_nonWorkerNonMandMaxThree_disc,,,,coef_nonWorkerNonMandMaxThree_disc,,,coef_nonWorkerNonMandMaxThree_disc,,coef_nonWorkerNonMandMaxThree_disc,2 * coef_nonWorkerNonMandMaxThree_disc +util_retireeNonMandMaxThree_disc,retireeNonMandMaxThree_disc,cdap_nonmand_retired_max3,,,,,,coef_retireeNonMandMaxThree_disc,,,,,coef_retireeNonMandMaxThree_disc,,,,coef_retireeNonMandMaxThree_disc,,,coef_retireeNonMandMaxThree_disc,,coef_retireeNonMandMaxThree_disc,2 * coef_retireeNonMandMaxThree_disc +util_universityNonMandMaxThree_disc,universityNonMandMaxThree_disc,cdap_nonmand_univ_driving_max3,,,,,,coef_universityNonMandMaxThree_disc,,,,,coef_universityNonMandMaxThree_disc,,,,coef_universityNonMandMaxThree_disc,,,coef_universityNonMandMaxThree_disc,,coef_universityNonMandMaxThree_disc,2 * coef_universityNonMandMaxThree_disc +util_preDrivingNonMandMaxThree_disc,preDrivingNonMandMaxThree_disc,cdap_nonmand_nondriving_child_max3,,,,,,coef_preDrivingNonMandMaxThree_disc,,,,,coef_preDrivingNonMandMaxThree_disc,,,,coef_preDrivingNonMandMaxThree_disc,,,coef_preDrivingNonMandMaxThree_disc,,coef_preDrivingNonMandMaxThree_disc,2 * coef_preDrivingNonMandMaxThree_disc +util_drivingAgeStuMandMaxThree_disc,drivingAgeStuMandMaxThree_disc,cdap_mand_univ_driving_max3,,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,,coef_drivingAgeStuMandMaxThree_disc,,,,coef_drivingAgeStuMandMaxThree_disc,,,coef_drivingAgeStuMandMaxThree_disc,,coef_drivingAgeStuMandMaxThree_disc,2 * coef_drivingAgeStuMandMaxThree_disc +util_preDrivingAgeMandMaxThree_disc,preDrivingAgeMandMaxThree_disc,cdap_mand_nondriving_child_max3,,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,,coef_preDrivingAgeMandMaxThree_disc,,,,coef_preDrivingAgeMandMaxThree_disc,,,coef_preDrivingAgeMandMaxThree_disc,,coef_preDrivingAgeMandMaxThree_disc,2 * coef_preDrivingAgeMandMaxThree_disc +util_logTimeWindowOverlapAdult_disc,logTimeWindowOverlapAdult_disc,log_time_window_overlap_adult,,,,,,coef_logTimeWindowOverlapAdult_disc,,,,,coef_logTimeWindowOverlapAdult_disc,,,,coef_logTimeWindowOverlapAdult_disc,,,coef_logTimeWindowOverlapAdult_disc,,coef_logTimeWindowOverlapAdult_disc,2 * coef_logTimeWindowOverlapAdult_disc +util_logTimeWindowOverlapChild_disc,logTimeWindowOverlapChild_disc,log_time_window_overlap_child,,,,,,coef_logTimeWindowOverlapChild_disc,,,,,coef_logTimeWindowOverlapChild_disc,,,,coef_logTimeWindowOverlapChild_disc,,,coef_logTimeWindowOverlapChild_disc,,coef_logTimeWindowOverlapChild_disc,2 * coef_logTimeWindowOverlapChild_disc +util_logTimeWindowOverlapAdultChild_disc,logTimeWindowOverlapAdultChild_disc,log_time_window_overlap_adult_child,,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,,coef_logTimeWindowOverlapAdultChild_disc,,,,coef_logTimeWindowOverlapAdultChild_disc,,,coef_logTimeWindowOverlapAdultChild_disc,,coef_logTimeWindowOverlapAdultChild_disc,2 * coef_logTimeWindowOverlapAdultChild_disc +util_incomeBetween50And100_disc,incomeBetween50And100_disc,income_between_50_and_100,,,,,,coef_incomeBetween50And100_disc,,,,,coef_incomeBetween50And100_disc,,,,coef_incomeBetween50And100_disc,,,coef_incomeBetween50And100_disc,,coef_incomeBetween50And100_disc,2 * coef_incomeBetween50And100_disc +util_incomeGreaterThan100_disc,incomeGreaterThan100_disc,income_greater_than_100,,,,,,coef_incomeGreaterThan100_disc,,,,,coef_incomeGreaterThan100_disc,,,,coef_incomeGreaterThan100_disc,,,coef_incomeGreaterThan100_disc,,coef_incomeGreaterThan100_disc,2 * coef_incomeGreaterThan100_disc +util_incomeMissing_dummy_always_zero_disc,incomeMissing_dummy_always_zero_disc,income_missing,,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,,coef_incomeMissing_dummy_always_zero_disc,,,,coef_incomeMissing_dummy_always_zero_disc,,,coef_incomeMissing_dummy_always_zero_disc,,coef_incomeMissing_dummy_always_zero_disc,2 * coef_incomeMissing_dummy_always_zero_disc +util_zeroAutomobiles_dis,zeroAutomobiles_disc,auto_ownership == 0,,,,,,coef_zeroAutomobiles_disc,,,,,coef_zeroAutomobiles_disc,,,,coef_zeroAutomobiles_disc,,,coef_zeroAutomobiles_disc,,coef_zeroAutomobiles_disc,2 * coef_zeroAutomobiles_disc diff --git a/activitysim/examples/example_psrc/configs/joint_tour_frequency.yaml b/activitysim/examples/prototype_mwcog/configs/joint_tour_frequency.yaml old mode 100755 new mode 100644 similarity index 95% rename from activitysim/examples/example_psrc/configs/joint_tour_frequency.yaml rename to activitysim/examples/prototype_mwcog/configs/joint_tour_frequency.yaml index d5a70b1dfc..61e1f1bdcf --- a/activitysim/examples/example_psrc/configs/joint_tour_frequency.yaml +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_frequency.yaml @@ -1,11 +1,11 @@ -LOGIT_TYPE: MNL - -SPEC: joint_tour_frequency.csv -COEFFICIENTS: joint_tour_frequency_coeffs.csv - -preprocessor: - SPEC: joint_tour_frequency_annotate_households_preprocessor - DF: households - TABLES: - #- persons - - accessibility +LOGIT_TYPE: MNL + +SPEC: joint_tour_frequency.csv +COEFFICIENTS: joint_tour_frequency_coeffs.csv + +preprocessor: + SPEC: joint_tour_frequency_annotate_households_preprocessor + DF: households + TABLES: + #- persons + - accessibility diff --git a/activitysim/examples/prototype_mwcog/configs/joint_tour_frequency_alternatives.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_frequency_alternatives.csv new file mode 100644 index 0000000000..7bf93731f9 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_frequency_alternatives.csv @@ -0,0 +1,23 @@ +#,,,,,alt file for building joint tours +alt,shopping,othmaint,eatout,social,othdiscr +0_tours,0,0,0,0,0 +1_Shop,1,0,0,0,0 +1_Main,0,1,0,0,0 +1_Eat,0,0,1,0,0 +1_Visit,0,0,0,1,0 +1_Disc,0,0,0,0,1 +2_SS,2,0,0,0,0 +2_SM,1,1,0,0,0 +2_SE,1,0,1,0,0 +2_SV,1,0,0,1,0 +2_SD,1,0,0,0,1 +2_MM,0,2,0,0,0 +2_ME,0,1,1,0,0 +2_MV,0,1,0,1,0 +2_MD,0,1,0,0,1 +2_EE,0,0,2,0,0 +2_EV,0,0,1,1,0 +2_ED,0,0,1,0,1 +2_VV,0,0,0,2,0 +2_VD,0,0,0,1,1 +2_DD,0,0,0,0,2 diff --git a/activitysim/examples/example_semcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv rename to activitysim/examples/prototype_mwcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv index b6dd9b930e..c5580ed715 --- a/activitysim/examples/example_semcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_frequency_annotate_households_preprocessor.csv @@ -1,32 +1,32 @@ -Description,Target,Expression -,_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype, activity, households, persons: persons.query('ptype == %s and cdap_activity==\'%s\'' % (ptype, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -,_PEMPLOY_CDAP_PATTERN_COUNT,"lambda pemploy, activity, households, persons: persons.query('pemploy == %s and cdap_activity==\'%s\'' % (pemploy, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -,_2_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype1, ptype2, activity, households, persons: persons.query('(ptype == %s or ptype == %s) and cdap_activity==\'%s\'' % (ptype1, ptype2, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" -#,, -,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" -,time_window_overlap_adult,_HH_OVERLAPS['aa']/2.25 -,time_window_overlap_child,_HH_OVERLAPS['cc']/2.25 -,time_window_overlap_adult_child,_HH_OVERLAPS['ac']/2.25 -#,, -,cdap_home_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'H', households, persons).clip(0,3)" -,cdap_home_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'H', households, persons).clip(0,3)" -,cdap_home_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'H', households, persons).clip(0,3)" -,cdap_home_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'H', households, persons).clip(0,3)" -,cdap_home_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'H', households, persons).clip(0,3)" -,cdap_home_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'H', households, persons).clip(0,3)" -,cdap_nonmand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'N', households, persons).clip(0,3)" -,cdap_nonmand_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'N', households, persons).clip(0,3)" -,cdap_nonmand_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'N', households, persons).clip(0,3)" -,cdap_nonmand_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'N', households, persons).clip(0,3)" -,cdap_nonmand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'N', households, persons).clip(0,3)" -,cdap_nonmand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'N', households, persons).clip(0,3)" -,cdap_mand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'M', households, persons).clip(0,3)" -,cdap_mand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'M', households, persons).clip(0,3)" -,cdap_mand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'M', households, persons).clip(0,3)" -,income_between_50_and_100,(households.income > 50000) & (households.income <= 100000) -,income_greater_than_100,households.income > 100000 -,income_missing,0 -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -nmRetail,non_motorized_retail_accessibility,"reindex(accessibility.nmRetail, households.TAZ)" +Description,Target,Expression +,_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype, activity, households, persons: persons.query('ptype == %s and cdap_activity==\'%s\'' % (ptype, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +,_PEMPLOY_CDAP_PATTERN_COUNT,"lambda pemploy, activity, households, persons: persons.query('pemploy == %s and cdap_activity==\'%s\'' % (pemploy, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +,_2_PTYPE_CDAP_PATTERN_COUNT,"lambda ptype1, ptype2, activity, households, persons: persons.query('(ptype == %s or ptype == %s) and cdap_activity==\'%s\'' % (ptype1, ptype2, activity)).groupby('household_id').size().reindex(households.index).fillna(0)" +#,, +,_HH_OVERLAPS,"hh_time_window_overlap(households, persons)" +,time_window_overlap_adult,_HH_OVERLAPS['aa']/2.25 +,time_window_overlap_child,_HH_OVERLAPS['cc']/2.25 +,time_window_overlap_adult_child,_HH_OVERLAPS['ac']/2.25 +#,, +,cdap_home_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'H', households, persons).clip(0,3)" +,cdap_home_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'H', households, persons).clip(0,3)" +,cdap_home_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'H', households, persons).clip(0,3)" +,cdap_home_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'H', households, persons).clip(0,3)" +,cdap_home_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'H', households, persons).clip(0,3)" +,cdap_home_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'H', households, persons).clip(0,3)" +,cdap_nonmand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'N', households, persons).clip(0,3)" +,cdap_nonmand_part_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_PART, 'N', households, persons).clip(0,3)" +,cdap_nonmand_nonwork_max3,"_PTYPE_CDAP_PATTERN_COUNT(4, 'N', households, persons).clip(0,3)" +,cdap_nonmand_retired_max3,"_PTYPE_CDAP_PATTERN_COUNT(5, 'N', households, persons).clip(0,3)" +,cdap_nonmand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'N', households, persons).clip(0,3)" +,cdap_nonmand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'N', households, persons).clip(0,3)" +,cdap_mand_full_max3,"_PEMPLOY_CDAP_PATTERN_COUNT(PEMPLOY_FULL, 'M', households, persons).clip(0,3)" +,cdap_mand_univ_driving_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(3, 6, 'M', households, persons).clip(0,3)" +,cdap_mand_nondriving_child_max3,"_2_PTYPE_CDAP_PATTERN_COUNT(7, 8, 'M', households, persons).clip(0,3)" +,income_between_50_and_100,(households.income > 50000) & (households.income <= 100000) +,income_greater_than_100,households.income > 100000 +,income_missing,0 +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +nmRetail,non_motorized_retail_accessibility,"reindex(accessibility.nmRetail, households.TAZ)" diff --git a/activitysim/examples/example_semcog/configs/joint_tour_frequency_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_frequency_coeffs.csv old mode 100755 new mode 100644 similarity index 97% rename from activitysim/examples/example_semcog/configs/joint_tour_frequency_coeffs.csv rename to activitysim/examples/prototype_mwcog/configs/joint_tour_frequency_coeffs.csv index cc65958632..2f7f803653 --- a/activitysim/examples/example_semcog/configs/joint_tour_frequency_coeffs.csv +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_frequency_coeffs.csv @@ -1,106 +1,106 @@ -coefficient_name,value,constrain -# asc,, -coef_asc_0_tours,0,T -coef_asc_1_Shop,-6.0149,F -coef_asc_1_Main,-5.7389,F -coef_asc_1_Eat,-6.3757,F -coef_asc_1_Visit,-5.8818,F -coef_asc_1_Disc,-5.4806,F -coef_asc_2_tours,-14.4576,F -# zero_tours,, -coef_fullTimeHomeMaxThree_zero_tours,1.175,F -coef_partTimeHomeMaxThree_zero_tours,1.447,F -coef_nonWorkerHomeMaxThree_zero_tours,1.514,F -coef_retireeHomeMaxThree_zero_tours,0.6053,F -coef_universityHomeMaxThree_univ_and_driving_zero_tours,0.5685,F -coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,0.53,F -# shopping,, -coef_fullTimeNonMandMaxThree_shopping,0.2052,F -coef_partTimeNonMandMaxThree_shopping,0.1866,F -coef_nonWorkerNonMandMaxThree_shopping,0.7078,F -coef_retireeNonMandMaxThree_shopping,0.941,F -coef_universityNonMandMaxThree_shopping,0.7648,F -coef_preDrivingNonMandMaxThree_shopping,0.5474,F -coef_fullTimeMandMaxThree_shopping,-0.2424,F -coef_logTimeWindowOverlapAdult_shopping,0.5945,F -coef_logTimeWindowOverlapChild_shopping,0.1416,F -coef_logTimeWindowOverlapAdultChild_shopping,0.1086,F -coef_fewerCarsThanDrivers_shopping,0.2523,F -coef_moreCarsThanWorkers_shopping,-0.3027,F -# maintenance,, -coef_fullTimeNonMandMaxThree_maint,0.3173,F -coef_partTimeNonMandMaxThree_maint,0.2452,F -coef_nonWorkerNonMandMaxThree_maint,0.4643,F -coef_retireeNonMandMaxThree_maint,0.905,F -coef_universityNonMandMaxThree_maint,0.2643,F -coef_preDrivingNonMandMaxThree_maint,0.6482,F -coef_fullTimeMandMaxThree_maint,-0.3009,F -coef_drivingAgeStuMandMaxThree_maint,-0.3237,F -coef_preDrivingAgeMandMaxThree_maint,0.2299,F -coef_logTimeWindowOverlapAdult_maint,0.3714,F -coef_logTimeWindowOverlapChild_maint,0.176,F -coef_logTimeWindowOverlapAdultChild_maint,0.2443,F -coef_fewerCarsThanDrivers_maint,0.461,F -# eatout,, -coef_fullTimeNonMandMaxThree_eatout,0.2275,F -coef_partTimeNonMandMaxThree_eatout,0.3765,F -coef_nonWorkerNonMandMaxThree_eatout,0.182,F -coef_retireeNonMandMaxThree_eatout,0.4264,F -coef_universityNonMandMaxThree_eatout,0.4097,F -coef_preDrivingNonMandMaxThree_eatout,0.3851,F -coef_logTimeWindowOverlapAdult_eatout,0.4856,F -coef_logTimeWindowOverlapAdultChild_eatout,0.0921,F -coef_incomeBetween50And100_eatout,0.2977,F -coef_incomeGreaterThan100_eatout,0.4492,F -coef_incomeMissing_dummy_always_zero_eatout,0.278,F -coef_moreCarsThanWorkers_eatout,0.3825,F -coef_walkRetailAccessibility_eatout,0.062,F -# visiting,, -coef_fullTimeNonMandMaxThree_visiting,0.6445,F -coef_partTimeNonMandMaxThree_visiting,0.1332,F -coef_nonWorkerNonMandMaxThree_visiting,0.5475,F -coef_retireeNonMandMaxThree_visiting,0.5579,F -coef_universityNonMandMaxThree_visiting,0.2809,F -coef_preDrivingNonMandMaxThree_visiting,0.6008,F -coef_timeWindowOverlapAdult_visiting,0.0596,F -coef_timeWindowOverlapChild_visiting,0.0092,F -coef_timeWindowOverlapAdultChild_visiting,0.0256,F -coef_zeroAutomobiles_visiting,-0.98,F -# discretionary,, -coef_fullTimeNonMandMaxThree_disc,0.1275,F -coef_partTimeNonMandMaxThree_disc,0.4979,F -coef_nonWorkerNonMandMaxThree_disc,0.2871,F -coef_retireeNonMandMaxThree_disc,0.6136,F -coef_universityNonMandMaxThree_disc,0.7546,F -coef_preDrivingNonMandMaxThree_disc,0.5331,F -coef_drivingAgeStuMandMaxThree_disc,0.1932,F -coef_preDrivingAgeMandMaxThree_disc,0.3862,F -coef_logTimeWindowOverlapAdult_disc,0.3428,F -coef_logTimeWindowOverlapChild_disc,0.1162,F -coef_logTimeWindowOverlapAdultChild_disc,0.2212,F -coef_incomeBetween50And100_disc,0.3167,F -coef_incomeGreaterThan100_disc,0.486,F -coef_incomeMissing_dummy_always_zero_disc,0.3723,F -coef_zeroAutomobiles_disc,-0.909,F -#Phase1_Calibration,, -asc_calib_0_tours,0,T -asc_calib_1_Shop,1.053698044,F -asc_calib_1_Main,0.732431708,F -asc_calib_1_Eat,0.877259241,F -asc_calib_1_Visit,0.436534239,F -asc_calib_1_Disc,0.619623918,F -asc_calib_2_SS,2.404591356,F -asc_calib_2_SM,2.998240224,F -asc_calib_2_SE,2.042554293,F -asc_calib_2_SV,0.054676458,F -asc_calib_2_SD,2.467068755,F -asc_calib_2_MM,3.614067275,F -asc_calib_2_ME,4.359003674,F -asc_calib_2_MV,5.998710535,F -asc_calib_2_MD,5.114616381,F -asc_calib_2_EE,3.295790528,F -asc_calib_2_EV,5.235744732,F -asc_calib_2_ED,2.359825593,F -asc_calib_2_VV,1.285350946,F -asc_calib_2_VD,4.250918308,F -asc_calib_2_DD,2.958796827,F +coefficient_name,value,constrain +# asc,, +coef_asc_0_tours,0,T +coef_asc_1_Shop,-6.0149,F +coef_asc_1_Main,-5.7389,F +coef_asc_1_Eat,-6.3757,F +coef_asc_1_Visit,-5.8818,F +coef_asc_1_Disc,-5.4806,F +coef_asc_2_tours,-14.4576,F +# zero_tours,, +coef_fullTimeHomeMaxThree_zero_tours,1.175,F +coef_partTimeHomeMaxThree_zero_tours,1.447,F +coef_nonWorkerHomeMaxThree_zero_tours,1.514,F +coef_retireeHomeMaxThree_zero_tours,0.6053,F +coef_universityHomeMaxThree_univ_and_driving_zero_tours,0.5685,F +coef_preDrivingHomeMaxThree_preschool_and_school_zero_tours,0.53,F +# shopping,, +coef_fullTimeNonMandMaxThree_shopping,0.2052,F +coef_partTimeNonMandMaxThree_shopping,0.1866,F +coef_nonWorkerNonMandMaxThree_shopping,0.7078,F +coef_retireeNonMandMaxThree_shopping,0.941,F +coef_universityNonMandMaxThree_shopping,0.7648,F +coef_preDrivingNonMandMaxThree_shopping,0.5474,F +coef_fullTimeMandMaxThree_shopping,-0.2424,F +coef_logTimeWindowOverlapAdult_shopping,0.5945,F +coef_logTimeWindowOverlapChild_shopping,0.1416,F +coef_logTimeWindowOverlapAdultChild_shopping,0.1086,F +coef_fewerCarsThanDrivers_shopping,0.2523,F +coef_moreCarsThanWorkers_shopping,-0.3027,F +# maintenance,, +coef_fullTimeNonMandMaxThree_maint,0.3173,F +coef_partTimeNonMandMaxThree_maint,0.2452,F +coef_nonWorkerNonMandMaxThree_maint,0.4643,F +coef_retireeNonMandMaxThree_maint,0.905,F +coef_universityNonMandMaxThree_maint,0.2643,F +coef_preDrivingNonMandMaxThree_maint,0.6482,F +coef_fullTimeMandMaxThree_maint,-0.3009,F +coef_drivingAgeStuMandMaxThree_maint,-0.3237,F +coef_preDrivingAgeMandMaxThree_maint,0.2299,F +coef_logTimeWindowOverlapAdult_maint,0.3714,F +coef_logTimeWindowOverlapChild_maint,0.176,F +coef_logTimeWindowOverlapAdultChild_maint,0.2443,F +coef_fewerCarsThanDrivers_maint,0.461,F +# eatout,, +coef_fullTimeNonMandMaxThree_eatout,0.2275,F +coef_partTimeNonMandMaxThree_eatout,0.3765,F +coef_nonWorkerNonMandMaxThree_eatout,0.182,F +coef_retireeNonMandMaxThree_eatout,0.4264,F +coef_universityNonMandMaxThree_eatout,0.4097,F +coef_preDrivingNonMandMaxThree_eatout,0.3851,F +coef_logTimeWindowOverlapAdult_eatout,0.4856,F +coef_logTimeWindowOverlapAdultChild_eatout,0.0921,F +coef_incomeBetween50And100_eatout,0.2977,F +coef_incomeGreaterThan100_eatout,0.4492,F +coef_incomeMissing_dummy_always_zero_eatout,0.278,F +coef_moreCarsThanWorkers_eatout,0.3825,F +coef_walkRetailAccessibility_eatout,0.062,F +# visiting,, +coef_fullTimeNonMandMaxThree_visiting,0.6445,F +coef_partTimeNonMandMaxThree_visiting,0.1332,F +coef_nonWorkerNonMandMaxThree_visiting,0.5475,F +coef_retireeNonMandMaxThree_visiting,0.5579,F +coef_universityNonMandMaxThree_visiting,0.2809,F +coef_preDrivingNonMandMaxThree_visiting,0.6008,F +coef_timeWindowOverlapAdult_visiting,0.0596,F +coef_timeWindowOverlapChild_visiting,0.0092,F +coef_timeWindowOverlapAdultChild_visiting,0.0256,F +coef_zeroAutomobiles_visiting,-0.98,F +# discretionary,, +coef_fullTimeNonMandMaxThree_disc,0.1275,F +coef_partTimeNonMandMaxThree_disc,0.4979,F +coef_nonWorkerNonMandMaxThree_disc,0.2871,F +coef_retireeNonMandMaxThree_disc,0.6136,F +coef_universityNonMandMaxThree_disc,0.7546,F +coef_preDrivingNonMandMaxThree_disc,0.5331,F +coef_drivingAgeStuMandMaxThree_disc,0.1932,F +coef_preDrivingAgeMandMaxThree_disc,0.3862,F +coef_logTimeWindowOverlapAdult_disc,0.3428,F +coef_logTimeWindowOverlapChild_disc,0.1162,F +coef_logTimeWindowOverlapAdultChild_disc,0.2212,F +coef_incomeBetween50And100_disc,0.3167,F +coef_incomeGreaterThan100_disc,0.486,F +coef_incomeMissing_dummy_always_zero_disc,0.3723,F +coef_zeroAutomobiles_disc,-0.909,F +#Phase1_Calibration,, +asc_calib_0_tours,0,T +asc_calib_1_Shop,1.053698044,F +asc_calib_1_Main,0.732431708,F +asc_calib_1_Eat,0.877259241,F +asc_calib_1_Visit,0.436534239,F +asc_calib_1_Disc,0.619623918,F +asc_calib_2_SS,2.404591356,F +asc_calib_2_SM,2.998240224,F +asc_calib_2_SE,2.042554293,F +asc_calib_2_SV,0.054676458,F +asc_calib_2_SD,2.467068755,F +asc_calib_2_MM,3.614067275,F +asc_calib_2_ME,4.359003674,F +asc_calib_2_MV,5.998710535,F +asc_calib_2_MD,5.114616381,F +asc_calib_2_EE,3.295790528,F +asc_calib_2_EV,5.235744732,F +asc_calib_2_ED,2.359825593,F +asc_calib_2_VV,1.285350946,F +asc_calib_2_VD,4.250918308,F +asc_calib_2_DD,2.958796827,F diff --git a/activitysim/examples/example_mtc/configs/joint_tour_participation.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_participation.csv similarity index 99% rename from activitysim/examples/example_mtc/configs/joint_tour_participation.csv rename to activitysim/examples/prototype_mwcog/configs/joint_tour_participation.csv index da2e65d1ea..cd692d8d27 100644 --- a/activitysim/examples/example_mtc/configs/joint_tour_participation.csv +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_participation.csv @@ -1,67 +1,67 @@ -Label,Description,Expression,participate,not_participate -util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not -util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not -util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, -util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, -util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, -util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, -util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, -util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, -util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, -util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, -util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, -util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, -#,,,, -util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not -util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not -util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, -util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, -util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, -util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, -util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, -util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, -util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, -util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, -util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, -util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, -util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, -util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, -#,,,, -util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, -util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, -util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, -util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, -util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, -util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, -util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, -util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, -util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, -util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, -util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, -util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, -#,,,, -util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, -util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, -util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, -util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, -util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, -util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, -util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, -util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, -util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, -util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, -util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, -util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, -#,,,, -util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, -util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, -util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, -util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, -#,,,, -util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, -util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, -util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, -util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable -util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable -util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable -util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable +Label,Description,Expression,participate,not_participate +util_full_time_worker_mixed_party,"Full-Time Worker, mixed party",person_is_full & tour_composition_is_mixed,coef_full_time_worker_mixed_party,coef_full_time_worker_mixed_party_not +util_part_time_worker_adults_only_party,"Part-Time Worker, adults-only party",person_is_part & tour_composition_is_adults,coef_part_time_worker_adults_only_party,coef_part_time_worker_adults_only_party_not +util_part_time_worker_mixed_party,"Part-Time Worker, mixed party",person_is_part & tour_composition_is_mixed,coef_part_time_worker_mixed_party, +util_university_student_mixed_party,"University Student, mixed party",person_is_univ & tour_composition_is_mixed,coef_university_student_mixed_party, +util_non_worker_adults_only_party,"Non-Worker, adults-only party",person_is_nonwork & tour_composition_is_adults,coef_non_worker_adults_only_party, +util_non_worker_mixed_party,"Non-Worker, mixed party",person_is_nonwork & tour_composition_is_mixed,coef_non_worker_mixed_party, +util_child_too_young_for_school_children_only_party,"Child too Young for School, children-only party",person_is_preschool & tour_composition_is_children,coef_child_too_young_for_school_children_only_party, +util_child_too_young_for_school_mixed_party,"Child too Young for School, mixed party",person_is_preschool & tour_composition_is_mixed,coef_child_too_young_for_school_mixed_party, +util_pre_driving_age_student_children_only_party,"Pre-driving age Student, children-only party",person_is_school & tour_composition_is_children,coef_pre_driving_age_student_children_only_party, +util_pre_driving_age_student_mixed_party,"Pre-driving age Student, mixed party",person_is_school & tour_composition_is_mixed,coef_pre_driving_age_student_mixed_party, +util_driving_age_student_children_only_party,"Driving-age Student, children-only party",person_is_driving & tour_composition_is_children,coef_driving_age_student_children_only_party, +util_driving_age_student_mixed_party,"Driving-age Student, mixed party",person_is_driving & tour_composition_is_mixed,coef_driving_age_student_mixed_party, +#,,,, +util_full_time_worker_specific_to_eating_out_joint_tours,"Full-Time Worker, specific to eating out joint tours",person_is_full & tour_type_is_eat,coef_full_time_worker_specific_to_eating_out_joint_tours,coef_full_time_worker_specific_to_eating_out_joint_tours_not +util_full_time_worker_specific_to_discretionary_joint_tours,"Full-Time Worker, specific to discretionary joint tours",person_is_full & tour_type_is_disc,coef_full_time_worker_specific_to_discretionary_joint_tours,coef_full_time_worker_specific_to_discretionary_joint_tours_not +util_part_time_worker_specific_to_eating_out_joint_tours,"Part-Time Worker, specific to eating out joint tours",person_is_part & tour_type_is_eat,coef_part_time_worker_specific_to_eating_out_joint_tours, +util_part_time_worker_specific_to_discretionary_joint_tours,"Part-Time Worker, specific to discretionary joint tours",person_is_part & tour_type_is_disc,coef_part_time_worker_specific_to_discretionary_joint_tours, +util_university_student_specific_to_eating_out_joint_tours,"University Student, specific to eating out joint tours",person_is_univ & tour_type_is_eat,coef_university_student_specific_to_eating_out_joint_tours, +util_university_student_specific_to_discretionary_joint_tours,"University Student, specific to discretionary joint tours",person_is_univ & tour_type_is_disc,coef_university_student_specific_to_discretionary_joint_tours, +util_non_worker_specific_to_eating_out_joint_tours,"Non-worker, specific to eating out joint tours",person_is_nonwork & tour_type_is_eat,coef_non_worker_specific_to_eating_out_joint_tours, +util_non_worker_specific_to_discretionary_joint_tours,"Non-worker, specific to discretionary joint tours",person_is_nonwork & tour_type_is_disc,coef_non_worker_specific_to_discretionary_joint_tours, +util_child_too_young_for_school_specific_to_eating_out_joint_tours,"Child too Young for School, specific to eating out joint tours",person_is_preschool & tour_type_is_eat,coef_child_too_young_for_school_specific_to_eating_out_joint_tours, +util_child_too_young_for_school_specific_to_discretionary_joint_tours,"Child too Young for School, specific to discretionary joint tours",person_is_preschool & tour_type_is_disc,coef_child_too_young_for_school_specific_to_discretionary_joint_tours, +util_pre_driving_age_student_specific_to_eating_out_joint_tours,"Pre-driving Age Student, specific to eating out joint tours",person_is_school & tour_type_is_eat,coef_pre_driving_age_student_specific_to_eating_out_joint_tours, +util_pre_driving_age_student_specific_to_discretionary_joint_tours,"Pre-driving age Student, specific to discretionary joint tours",person_is_school & tour_type_is_disc,coef_pre_driving_age_student_specific_to_discretionary_joint_tours, +util_driving_age_student_specific_to_eating_out_joint_tours,"Driving-age Student, specific to eating out joint tours",person_is_driving & tour_type_is_eat,coef_driving_age_student_specific_to_eating_out_joint_tours, +util_driving_age_student_specific_to_discretionary_joint_tours,"Driving-age Student, specific to discretionary joint tours",person_is_driving & tour_type_is_disc,coef_driving_age_student_specific_to_discretionary_joint_tours, +#,,,, +util_household_in_urban_area_adult_adult_only_party,"Household in urban area, adult, adult-only party",home_is_urban & adult & tour_composition_is_adults,coef_household_in_urban_area_adult_adult_only_party, +util_household_in_urban_area_adult_mixed_party,"Household in urban area, adult, mixed party",home_is_urban & adult & tour_composition_is_mixed,coef_household_in_urban_area_adult_mixed_party, +util_household_in_urban_area_child_child_only_party,"Household in urban area, child, child-only party",home_is_urban & ~adult & tour_composition_is_children,coef_household_in_urban_area_child_child_only_party, +util_household_in_urban_area_child_mixed_party,"Household in urban area, child, mixed party",home_is_urban & ~adult & tour_composition_is_mixed,coef_household_in_urban_area_child_mixed_party, +util_household_in_suburban_area_adult_adult_only_party,"Household in suburban area, adult, adult-only party",home_is_suburban & adult & tour_composition_is_adults,coef_household_in_suburban_area_adult_adult_only_party, +util_household_in_suburban_area_adult_mixed_party,"Household in suburban area, adult, mixed party",home_is_suburban & adult & tour_composition_is_mixed,coef_household_in_suburban_area_adult_mixed_party, +util_household_in_suburban_area_child_child_only_party,"Household in suburban area, child, child-only party",home_is_suburban & ~adult & tour_composition_is_children,coef_household_in_suburban_area_child_child_only_party, +util_household_in_suburban_area_child_mixed_party,"Household in suburban area, child, mixed party",home_is_suburban & ~adult & tour_composition_is_mixed,coef_household_in_suburban_area_child_mixed_party, +util_adult_more_automobiles_than_workers_adult_only_party,"Adult, more automobiles than workers, adult-only party",adult & more_cars_than_workers & tour_composition_is_adults,coef_adult_more_automobiles_than_workers_adult_only_party, +util_adult_more_automobiles_than_workers_mixed_party,"Adult, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_adult_more_automobiles_than_workers_mixed_party, +util_child_more_automobiles_than_workers_child_only_party,"Child, more automobiles than workers, child-only party",adult & more_cars_than_workers & tour_composition_is_children,coef_child_more_automobiles_than_workers_child_only_party, +util_child_more_automobiles_than_workers_mixed_party,"Child, more automobiles than workers, mixed party",adult & more_cars_than_workers & tour_composition_is_mixed,coef_child_more_automobiles_than_workers_mixed_party, +#,,,, +util_dummy_for_high_income_for_adult_in_adult_party,Dummy for high income for adult in adult party,high_income & tour_composition_is_adults,coef_dummy_for_high_income_for_adult_in_adult_party, +util_dummy_for_high_income_for_adult_in_mixed_party,Dummy for high income for adult in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_adult_in_mixed_party, +util_dummy_for_high_income_for_child_in_children_party,Dummy for high income for child in children party,high_income & tour_composition_is_children,coef_dummy_for_high_income_for_child_in_children_party, +util_dummy_for_high_income_for_child_in_mixed_party,Dummy for high income for child in mixed party,high_income & tour_composition_is_mixed,coef_dummy_for_high_income_for_child_in_mixed_party, +util_adult_number_of_joint_tours_adult_only,"Adult, number of joint tours, adult-only",(adult & tour_composition_is_adults) * num_hh_joint_tours,coef_adult_number_of_joint_tours_adult_only, +util_adult_number_of_joint_tours_mixed,"Adult, number of joint tours, mixed",(adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_adult_number_of_joint_tours_mixed, +util_child_number_of_joint_tours_child_only,"Child, number of joint tours, child only",(~adult & tour_composition_is_children) * num_hh_joint_tours,coef_child_number_of_joint_tours_child_only, +util_child_number_of_joint_tours_mixed,"Child, number of joint tours, mixed",(~adult & tour_composition_is_mixed) * num_hh_joint_tours,coef_child_number_of_joint_tours_mixed, +util_adult_number_of_other_adults_in_the_household_adults_only_party,"Adult, number of other adults in the household, adults-only party",(adult & tour_composition_is_adults) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_adults_only_party, +util_adult_number_of_other_adults_in_the_household_mixed_party,"Adult, number of other adults in the household, mixed party",(adult & tour_composition_is_mixed) * (num_adults - 1),coef_adult_number_of_other_adults_in_the_household_mixed_party, +util_child_number_of_other_children_in_the_household_child_only_party,"Child, number of other children in the household, child-only party",(~adult & tour_composition_is_children) * (num_children - 1),coef_child_number_of_other_children_in_the_household_child_only_party, +util_child_number_of_other_children_in_the_household_mixed,"Child, number of other children in the household, mixed",(~adult & tour_composition_is_mixed) * (num_children - 1),coef_child_number_of_other_children_in_the_household_mixed, +#,,,, +util_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,"Adult, log of max window overlap with an adult, adult-only party",(adult & tour_composition_is_adults) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party, +util_adult_log_of_max_window_overlap_with_a_child_mixed,"Adult, log of max window overlap with a child, mixed",(adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_adult_log_of_max_window_overlap_with_a_child_mixed, +util_child_log_of_max_window_overlap_with_an_adult_mixed,"Child, log of max window overlap with an adult, mixed",(~adult & tour_composition_is_mixed) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_an_adult_mixed, +util_child_log_of_max_window_overlap_with_a_child_child,"Child, log of max window overlap with a child, child",(~adult & tour_composition_is_children) * log_time_window_overlap_adult,coef_child_log_of_max_window_overlap_with_a_child_child, +#,,,, +util_adults_are_prohibited_in_participating_in_child_only_tours,Adults are prohibited in participating in child-only tours,adult & tour_composition_is_children,coef_unavailable, +util_children_are_prohibited_in_participating_in_adult_only_tours,Children are prohibited in participating in adult-only tours,~adult & tour_composition_is_adults,coef_unavailable, +util_persons_with_home_activity_patterns_are_prohibilted_from_participating,Persons with Home activity patterns are prohibilted from participating,~travel_active,coef_unavailable, +util_if_only_two_available_adults_both_must_participate_in_adult_only_tour,"If only two available adults, both must participate in adult-only tour",adult & travel_active & tour_composition_is_adults & (num_travel_active_adults<3),,coef_unavailable +util_if_only_one_available_adult_traveler_must_participate_in_mixed_tour,"If only one available adult, traveler must participate in mixed tour",adult & travel_active & tour_composition_is_mixed & (num_travel_active_adults<2),,coef_unavailable +util_if_only_two_available_children_both_must_participate_in_child_only_tour,"If only two available children, both must participate in child-only tour",~adult & travel_active & tour_composition_is_children & (num_travel_active_children<3),,coef_unavailable +util_if_only_one_available_child_traveler_must_participate_in_mixed_tour,"If only one available child, traveler must participate in mixed tour",~adult & travel_active & tour_composition_is_mixed & (num_travel_active_children<2),,coef_unavailable diff --git a/activitysim/examples/example_psrc/configs/joint_tour_participation.yaml b/activitysim/examples/prototype_mwcog/configs/joint_tour_participation.yaml old mode 100755 new mode 100644 similarity index 95% rename from activitysim/examples/example_psrc/configs/joint_tour_participation.yaml rename to activitysim/examples/prototype_mwcog/configs/joint_tour_participation.yaml index aee45349f9..59941e8324 --- a/activitysim/examples/example_psrc/configs/joint_tour_participation.yaml +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_participation.yaml @@ -1,20 +1,20 @@ - -SPEC: joint_tour_participation.csv -COEFFICIENTS: joint_tour_participation_coeffs.csv - -LOGIT_TYPE: MNL - -#max_participation_choice_iterations: 5000 - -preprocessor: - SPEC: joint_tour_participation_annotate_participants_preprocessor - DF: participants -# TABLES: -# - persons -# - accessibility - -annotate_persons: - SPEC: annotate_persons_jtp - DF: persons - TABLES: - - joint_tour_participants + +SPEC: joint_tour_participation.csv +COEFFICIENTS: joint_tour_participation_coeffs.csv + +LOGIT_TYPE: MNL + +#max_participation_choice_iterations: 5000 + +preprocessor: + SPEC: joint_tour_participation_annotate_participants_preprocessor + DF: participants +# TABLES: +# - persons +# - accessibility + +annotate_persons: + SPEC: annotate_persons_jtp + DF: persons + TABLES: + - joint_tour_participants diff --git a/activitysim/examples/example_semcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv rename to activitysim/examples/prototype_mwcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv index f17023dc7a..cb78bff306 --- a/activitysim/examples/example_semcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_participation_annotate_participants_preprocessor.csv @@ -1,24 +1,24 @@ -Description,Target,Expression -,_P_OVERLAPS,person_time_window_overlap(persons) -,time_window_overlap_adult,"reindex(_P_OVERLAPS.aa, participants.person_id)/2.25" -,time_window_overlap_child,"reindex(_P_OVERLAPS.cc, participants.person_id)/2.25" -,time_window_overlap_adult_child,"reindex(_P_OVERLAPS.ac, participants.person_id)/2.25" -logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) -logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) -logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) -#,, -,person_is_full,participants.ptype == PTYPE_FULL -,person_is_part,participants.ptype == PTYPE_PART -,person_is_univ,participants.ptype == PTYPE_UNIVERSITY -,person_is_nonwork,participants.ptype == PTYPE_NONWORK -,person_is_driving,participants.ptype == PTYPE_DRIVING -,person_is_school,participants.ptype == PTYPE_SCHOOL -,person_is_preschool,participants.ptype == PTYPE_PRESCHOOL -,tour_type_is_eat,participants.tour_type=='eat' -,tour_type_is_disc,participants.tour_type=='disc' -,tour_composition_is_adults,participants.composition=='adults' -,tour_composition_is_children,participants.composition=='children' -,tour_composition_is_mixed,participants.composition=='mixed' -,home_is_suburban,~(participants.home_is_urban | participants.home_is_rural) -,high_income,participants.income_in_thousands > 60 -,more_cars_than_workers,participants.auto_ownership > participants.num_workers +Description,Target,Expression +,_P_OVERLAPS,person_time_window_overlap(persons) +,time_window_overlap_adult,"reindex(_P_OVERLAPS.aa, participants.person_id)/2.25" +,time_window_overlap_child,"reindex(_P_OVERLAPS.cc, participants.person_id)/2.25" +,time_window_overlap_adult_child,"reindex(_P_OVERLAPS.ac, participants.person_id)/2.25" +logTimeWindowOverlapAdult,log_time_window_overlap_adult,np.log1p(time_window_overlap_adult) +logTimeWindowOverlapChild,log_time_window_overlap_child,np.log1p(time_window_overlap_child) +logTimeWindowOverlapAdultChild,log_time_window_overlap_adult_child,np.log1p(time_window_overlap_adult_child) +#,, +,person_is_full,participants.ptype == PTYPE_FULL +,person_is_part,participants.ptype == PTYPE_PART +,person_is_univ,participants.ptype == PTYPE_UNIVERSITY +,person_is_nonwork,participants.ptype == PTYPE_NONWORK +,person_is_driving,participants.ptype == PTYPE_DRIVING +,person_is_school,participants.ptype == PTYPE_SCHOOL +,person_is_preschool,participants.ptype == PTYPE_PRESCHOOL +,tour_type_is_eat,participants.tour_type=='eat' +,tour_type_is_disc,participants.tour_type=='disc' +,tour_composition_is_adults,participants.composition=='adults' +,tour_composition_is_children,participants.composition=='children' +,tour_composition_is_mixed,participants.composition=='mixed' +,home_is_suburban,~(participants.home_is_urban | participants.home_is_rural) +,high_income,participants.income_in_thousands > 60 +,more_cars_than_workers,participants.auto_ownership > participants.num_workers diff --git a/activitysim/examples/example_psrc/configs/joint_tour_participation_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_participation_coeffs.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_psrc/configs/joint_tour_participation_coeffs.csv rename to activitysim/examples/prototype_mwcog/configs/joint_tour_participation_coeffs.csv index 604c0acb69..455f08be9e --- a/activitysim/examples/example_psrc/configs/joint_tour_participation_coeffs.csv +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_participation_coeffs.csv @@ -1,68 +1,68 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_full_time_worker_mixed_party,-3.566,F -coef_full_time_worker_mixed_party_not,0.5,T -coef_part_time_worker_adults_only_party,-3.566,F -coef_part_time_worker_adults_only_party_not,0.5,T -coef_part_time_worker_mixed_party,-0.3655,F -coef_university_student_mixed_party,-3.041,F -coef_non_worker_adults_only_party,-3.164,F -coef_non_worker_mixed_party,0.7152,F -coef_child_too_young_for_school_children_only_party,-2.786,F -coef_child_too_young_for_school_mixed_party,-1.893,F -coef_pre_driving_age_student_children_only_party,-0.7217,F -coef_pre_driving_age_student_mixed_party,-1.752,F -coef_driving_age_student_children_only_party,-1.822,F -coef_driving_age_student_mixed_party,-1.353,F -#,, -coef_full_time_worker_specific_to_eating_out_joint_tours,0.7157,F -coef_full_time_worker_specific_to_eating_out_joint_tours_not,0.5,T -coef_full_time_worker_specific_to_discretionary_joint_tours,0.4392,F -coef_full_time_worker_specific_to_discretionary_joint_tours_not,0.5,T -coef_part_time_worker_specific_to_eating_out_joint_tours,2.188,F -coef_part_time_worker_specific_to_discretionary_joint_tours,0.285,F -coef_university_student_specific_to_eating_out_joint_tours,-0.82,F -coef_university_student_specific_to_discretionary_joint_tours,0,T -coef_non_worker_specific_to_eating_out_joint_tours,0.1617,F -coef_non_worker_specific_to_discretionary_joint_tours,-0.1835,F -coef_child_too_young_for_school_specific_to_eating_out_joint_tours,0.6589,F -coef_child_too_young_for_school_specific_to_discretionary_joint_tours,0.1284,F -coef_pre_driving_age_student_specific_to_eating_out_joint_tours,1.391,F -coef_pre_driving_age_student_specific_to_discretionary_joint_tours,0.6626,F -coef_driving_age_student_specific_to_eating_out_joint_tours,2.344,F -coef_driving_age_student_specific_to_discretionary_joint_tours,-0.6675,F -#,, -coef_household_in_urban_area_adult_adult_only_party,0,T -coef_household_in_urban_area_adult_mixed_party,-0.137,F -coef_household_in_urban_area_child_child_only_party,1.21,F -coef_household_in_urban_area_child_mixed_party,0.6265,F -coef_household_in_suburban_area_adult_adult_only_party,0,T -coef_household_in_suburban_area_adult_mixed_party,-0.06007,F -coef_household_in_suburban_area_child_child_only_party,0,T -coef_household_in_suburban_area_child_mixed_party,0,T -coef_adult_more_automobiles_than_workers_adult_only_party,-0.2133,F -coef_adult_more_automobiles_than_workers_mixed_party,-0.6031,F -coef_child_more_automobiles_than_workers_child_only_party,-0.4214,F -coef_child_more_automobiles_than_workers_mixed_party,-0.3776,F -#,, -coef_dummy_for_high_income_for_adult_in_adult_party,-0.1682,F -coef_dummy_for_high_income_for_adult_in_mixed_party,-0.02613,F -coef_dummy_for_high_income_for_child_in_children_party,-0.5619,F -coef_dummy_for_high_income_for_child_in_mixed_party,-0.1528,F -coef_adult_number_of_joint_tours_adult_only,-0.3242,F -coef_adult_number_of_joint_tours_mixed,-0.3584,F -coef_child_number_of_joint_tours_child_only,0.1047,F -coef_child_number_of_joint_tours_mixed,-0.5089,F -coef_adult_number_of_other_adults_in_the_household_adults_only_party,0,T -coef_adult_number_of_other_adults_in_the_household_mixed_party,0,T -coef_child_number_of_other_children_in_the_household_child_only_party,0,T -coef_child_number_of_other_children_in_the_household_mixed,0,T -#,, -coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,0.8436,F -coef_adult_log_of_max_window_overlap_with_a_child_mixed,2.189,F -coef_child_log_of_max_window_overlap_with_an_adult_mixed,1.538,F -coef_child_log_of_max_window_overlap_with_a_child_child,1.296,F - - - - +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_full_time_worker_mixed_party,-3.566,F +coef_full_time_worker_mixed_party_not,0.5,T +coef_part_time_worker_adults_only_party,-3.566,F +coef_part_time_worker_adults_only_party_not,0.5,T +coef_part_time_worker_mixed_party,-0.3655,F +coef_university_student_mixed_party,-3.041,F +coef_non_worker_adults_only_party,-3.164,F +coef_non_worker_mixed_party,0.7152,F +coef_child_too_young_for_school_children_only_party,-2.786,F +coef_child_too_young_for_school_mixed_party,-1.893,F +coef_pre_driving_age_student_children_only_party,-0.7217,F +coef_pre_driving_age_student_mixed_party,-1.752,F +coef_driving_age_student_children_only_party,-1.822,F +coef_driving_age_student_mixed_party,-1.353,F +#,, +coef_full_time_worker_specific_to_eating_out_joint_tours,0.7157,F +coef_full_time_worker_specific_to_eating_out_joint_tours_not,0.5,T +coef_full_time_worker_specific_to_discretionary_joint_tours,0.4392,F +coef_full_time_worker_specific_to_discretionary_joint_tours_not,0.5,T +coef_part_time_worker_specific_to_eating_out_joint_tours,2.188,F +coef_part_time_worker_specific_to_discretionary_joint_tours,0.285,F +coef_university_student_specific_to_eating_out_joint_tours,-0.82,F +coef_university_student_specific_to_discretionary_joint_tours,0,T +coef_non_worker_specific_to_eating_out_joint_tours,0.1617,F +coef_non_worker_specific_to_discretionary_joint_tours,-0.1835,F +coef_child_too_young_for_school_specific_to_eating_out_joint_tours,0.6589,F +coef_child_too_young_for_school_specific_to_discretionary_joint_tours,0.1284,F +coef_pre_driving_age_student_specific_to_eating_out_joint_tours,1.391,F +coef_pre_driving_age_student_specific_to_discretionary_joint_tours,0.6626,F +coef_driving_age_student_specific_to_eating_out_joint_tours,2.344,F +coef_driving_age_student_specific_to_discretionary_joint_tours,-0.6675,F +#,, +coef_household_in_urban_area_adult_adult_only_party,0,T +coef_household_in_urban_area_adult_mixed_party,-0.137,F +coef_household_in_urban_area_child_child_only_party,1.21,F +coef_household_in_urban_area_child_mixed_party,0.6265,F +coef_household_in_suburban_area_adult_adult_only_party,0,T +coef_household_in_suburban_area_adult_mixed_party,-0.06007,F +coef_household_in_suburban_area_child_child_only_party,0,T +coef_household_in_suburban_area_child_mixed_party,0,T +coef_adult_more_automobiles_than_workers_adult_only_party,-0.2133,F +coef_adult_more_automobiles_than_workers_mixed_party,-0.6031,F +coef_child_more_automobiles_than_workers_child_only_party,-0.4214,F +coef_child_more_automobiles_than_workers_mixed_party,-0.3776,F +#,, +coef_dummy_for_high_income_for_adult_in_adult_party,-0.1682,F +coef_dummy_for_high_income_for_adult_in_mixed_party,-0.02613,F +coef_dummy_for_high_income_for_child_in_children_party,-0.5619,F +coef_dummy_for_high_income_for_child_in_mixed_party,-0.1528,F +coef_adult_number_of_joint_tours_adult_only,-0.3242,F +coef_adult_number_of_joint_tours_mixed,-0.3584,F +coef_child_number_of_joint_tours_child_only,0.1047,F +coef_child_number_of_joint_tours_mixed,-0.5089,F +coef_adult_number_of_other_adults_in_the_household_adults_only_party,0,T +coef_adult_number_of_other_adults_in_the_household_mixed_party,0,T +coef_child_number_of_other_children_in_the_household_child_only_party,0,T +coef_child_number_of_other_children_in_the_household_mixed,0,T +#,, +coef_adult_log_of_max_window_overlap_with_an_adult_adult_only_party,0.8436,F +coef_adult_log_of_max_window_overlap_with_a_child_mixed,2.189,F +coef_child_log_of_max_window_overlap_with_an_adult_mixed,1.538,F +coef_child_log_of_max_window_overlap_with_a_child_child,1.296,F + + + + diff --git a/activitysim/examples/example_psrc/configs/joint_tour_scheduling.yaml b/activitysim/examples/prototype_mwcog/configs/joint_tour_scheduling.yaml old mode 100755 new mode 100644 similarity index 94% rename from activitysim/examples/example_psrc/configs/joint_tour_scheduling.yaml rename to activitysim/examples/prototype_mwcog/configs/joint_tour_scheduling.yaml index f57d09340f..e81afe238e --- a/activitysim/examples/example_psrc/configs/joint_tour_scheduling.yaml +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_scheduling.yaml @@ -1,13 +1,12 @@ - -SPEC: tour_scheduling_joint.csv -COEFFICIENTS: tour_scheduling_joint_coeffs.csv - -LOGIT_TYPE: MNL - -preprocessor: - SPEC: joint_tour_scheduling_annotate_tours_preprocessor - DF: joint_tours - TABLES: - - land_use - - households - - joint_tour_participants +LOGIT_TYPE: MNL + +SPEC: tour_scheduling_joint.csv +COEFFICIENTS: tour_scheduling_joint_coeffs.csv + +preprocessor: + SPEC: joint_tour_scheduling_annotate_tours_preprocessor + DF: joint_tours + TABLES: + - land_use + - households + - joint_tour_participants diff --git a/activitysim/examples/example_semcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_mwcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv index 7a1e4e485d..594b79624a --- a/activitysim/examples/example_semcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv +++ b/activitysim/examples/prototype_mwcog/configs/joint_tour_scheduling_annotate_tours_preprocessor.csv @@ -1,2 +1,2 @@ -Description,Target,Expression -,origin_to_destination_distance,"skim_dict.lookup(joint_tours.origin, joint_tours.destination, ('SOV_DIST', 'MD'))" +Description,Target,Expression +,origin_to_destination_distance,"skim_dict.lookup(joint_tours.origin, joint_tours.destination, ('SOV_DIST', 'MD'))" diff --git a/activitysim/examples/example_semcog/configs/logging.yaml b/activitysim/examples/prototype_mwcog/configs/logging.yaml old mode 100755 new mode 100644 similarity index 95% rename from activitysim/examples/example_semcog/configs/logging.yaml rename to activitysim/examples/prototype_mwcog/configs/logging.yaml index efc1b2d01b..6dfca578a4 --- a/activitysim/examples/example_semcog/configs/logging.yaml +++ b/activitysim/examples/prototype_mwcog/configs/logging.yaml @@ -1,53 +1,53 @@ -# Config for logging -# ------------------ -# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema - -logging: - version: 1 - disable_existing_loggers: true - - - # Configuring the default (root) logger is highly recommended - root: - level: NOTSET - handlers: [console] - - loggers: - - activitysim: - level: DEBUG - handlers: [console, logfile] - propagate: false - - orca: - level: WARN - handlers: [console, logfile] - propagate: false - - handlers: - - logfile: - class: logging.FileHandler - filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] - mode: w - formatter: fileFormatter - level: NOTSET - - console: - class: logging.StreamHandler - stream: ext://sys.stdout - formatter: simpleFormatter - level: NOTSET - - formatters: - - simpleFormatter: - class: logging.Formatter - # format: '%(levelname)s - %(name)s - %(message)s' - format: '%(levelname)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' - - fileFormatter: - class: logging.Formatter - format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' - datefmt: '%d/%m/%Y %H:%M:%S' +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: NOTSET + handlers: [console] + + loggers: + + activitysim: + level: DEBUG + handlers: [console, logfile] + propagate: false + + orca: + level: WARN + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + level: NOTSET + + formatters: + + simpleFormatter: + class: logging.Formatter + # format: '%(levelname)s - %(name)s - %(message)s' + format: '%(levelname)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' diff --git a/activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency.csv b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency.csv new file mode 100644 index 0000000000..848bbf77aa --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency.csv @@ -0,0 +1,101 @@ +Label,Description,Expression,work1,work2,school1,school2,work_and_school +util_ft_worker,Full-time worker alternative-specific constants,ptype == 1,0,coef_ft_worker_work2_asc,,, +util_pt_worker,Part-time worker alternative-specific constants,ptype == 2,0,coef_pt_worker_work2_asc,,, +util_univ,University student alternative-specific constants,ptype == 3,coef_univ_work1_asc,coef_univ_work2_asc,0,coef_univ_school2_asc,coef_univ_work_and_school_asc +util_non_working_adult,Non-working adult alternative-specific constants,ptype == 4,,,,, +util_retired,Retired alternative-specific constants,ptype == 5,,,,, +util_driving_age_child,Driving-age child alternative-specific constants,ptype == 6,,,0,coef_driving_age_child_school2_asc,coef_driving_age_child_work_and_school_asc +util_pre_driving_age_child,Pre-driving age child who is in school alternative-specific constants,ptype == 7,,,0,coef_pre_driving_age_child_school2_asc, +util_female_ft_worker,Female - Full-time worker interaction,(ptype == 1) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school +util_female_pt_worker,Female - Part-time worker interaction,(ptype == 2) & female,0,coef_female_work2,coef_female_school1,,coef_female_work_and_school +util_female_univ,Female - University student interaction,(ptype == 3) & female,coef_female_work1,coef_female_work2,coef_female_school1,coef_female_school2,coef_female_work_and_school +util_female_non_working_adult,Female - Non-working adult interaction,(ptype == 4) & female,0,coef_female_work2,coef_female_school1,, +util_female_retired,Female - Retired interaction,(ptype == 5) & female,0,coef_female_work2,coef_female_school1,, +util_female_driving_age_child,Female - Driving-age child interaction,(ptype == 6) & female,coef_female_work1,,0,coef_female_school2,coef_female_work_and_school +util_female_pre_driving,Female - Pre-driving age child who is in school interaction,(ptype == 7) & female,coef_female_work1,,0,coef_female_school2, +util_under_35_ft,Under 35 - Full-time worker interaction,(ptype == 1) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school +util_under_35_pt,Under 35 - Part-time worker interaction,(ptype == 2) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,,coef_under_35_work_and_school +util_under_35_univ,Under 35 - University student interaction,(ptype == 3) & (age <= 35),coef_under_35_work1,coef_under_35_work2,0,coef_under_35_school2,coef_under_35_work_and_school +util_under_35_non_working,Under 35 - Non-working adult interaction,(ptype == 4) & (age <= 35),0,coef_under_35_work2,coef_under_35_school1,, +util_can_walk_to_work_ft,Can walk to work - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_pt,Can walk to work - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_univ,Can walk to work - University student interaction,(ptype == 3) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_non_working_adult,Can walk to work - Non-working adult interaction,(ptype == 4) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_work_retired,Can walk to work - Retired interaction,(ptype == 5) & (distance_to_work < 3),,coef_can_walk_to_work_work2,,, +util_can_walk_to_school_univ,Can walk to school - University student interaction,(ptype == 3) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_school_driving_age_child,Can walk to school - Driving-age child interaction,(ptype == 6) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_school_pre_driving_age_child,Can walk to school - Pre-driving age child who is in school interaction,(ptype == 7) & (distance_to_school < 3),,,,coef_can_walk_to_work_school2, +util_can_walk_to_work_or_school_ft,Can walk to work or school - Full-time worker interaction,(ptype == 1) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_pt,Can walk to work or school - Part-time worker interaction,(ptype == 2) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_univ,Can walk to work or school - University student interaction,(ptype == 3) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_can_walk_to_work_or_school_driving_age_child,Can walk to work or school - Driving-age child interaction,(ptype == 6) & (distance_to_work < 3 | distance_to_school < 3),,,,,coef_can_walk_to_work_and_school +util_round_trip_auto_time_to_work_ft,Round trip auto time to work - Full-time worker interaction,(ptype == 1) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_pt,Round trip auto time to work - Part-time worker interaction,(ptype == 2) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_univ,Round trip auto time to work - University student interaction,(ptype == 3) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,,coef_round_trip_auto_time_to_work_school2 +util_round_trip_auto_time_to_work_non_working_adult,Round trip auto time to work - Non-working adult interaction,(ptype == 4) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, +util_round_trip_auto_time_to_work_retired,Round trip auto time to work - Retired,(ptype == 5) * roundtrip_auto_time_to_work,,coef_round_trip_auto_time_to_work_work2,,, +util_round_trip_auto_time_to_school_univ,Round trip auto time to school - University student interaction,(ptype == 3) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school +util_round_trip_auto_time_to_school_driving_age_child,Round trip auto time to school - Driving-age child interaction,(ptype == 6) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2,coef_round_trip_auto_time_to_work_work_and_school +util_round_trip_auto_time_to_school_pre_driving_age_child,Round trip auto time to school - Pre-driving age child who is in school interaction,(ptype == 7) * roundtrip_auto_time_to_school,,,,coef_round_trip_auto_time_to_work_school2, +util_student_employted_univ,Student is employed - University student interaction,(ptype == 3) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed +util_student_employted_driving_age_child,Student is employed - Driving-age child interaction,(ptype == 6) & student_is_employed,coef_student_employed,coef_student_employed,,,coef_student_employed +util_non_student_goes_to_school_ft,Non-student goes to school - Full-time worker interaction,(ptype == 1) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school +util_non_student_goes_to_school_pt,Non-student goes to school - Part-time worker interaction,(ptype == 2) & nonstudent_to_school,,,coef_non_student_goes_to_school,,coef_non_student_goes_to_school +util_non_student_goes_to_school_non_working_adult,Non-student goes to school - Non-working adult interaction,(ptype == 4) & nonstudent_to_school,,,coef_non_student_goes_to_school,, +util_non_student_goes_to_school_retired,Non-student goes to school - Retired interaction,(ptype == 5) & nonstudent_to_school,,,coef_non_student_goes_to_school,, +util_no_cars_in_hh_ft,No cars in household - Full-time worker interaction,(ptype == 1) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_pt,No cars in household - Part-time worker interaction,(ptype == 2) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_unif,No cars in household - University student interaction,(ptype == 3) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_non_working_adult,No cars in household - Non-working adult interaction,(ptype == 4) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, +util_no_cars_in_hh_retired,No cars in household - Retired interaction,(ptype == 5) & (auto_ownership == 0),,coef_no_cars_in_hh_work2,,, +util_no_cars_in_hh_driving_age_student,No cars in household - Driving-age student interaction,(ptype == 6) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2,coef_no_cars_in_hh_work_and_school +util_no_cars_in_hh_pre_driving_age,No cars in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership == 0),,,,coef_no_cars_in_hh_school2, +util_fewer_cars_than_drivers_univ,Fewer cars than drivers in household - University student interaction,(ptype == 3) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_fewer_cars_than_drivers_driving_age_student,Fewer cars than drivers in household - Driving-age student interaction,(ptype == 6) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_fewer_cars_than_drivers_pre_driving_age,Fewer cars than drivers in household - Pre-driving age child who is in school interaction,(ptype == 7) & (auto_ownership < num_drivers),,,,coef_few_cars_than_drivers_school2, +util_num_preschool_in_hh_ft,Number of preschool children in household - Full-time worker interaction,(ptype == 1) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_pt,Number of preschool children in household - Part-time worker interaction,(ptype == 2) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_univ,Number of preschool children in household - University student interaction,(ptype == 3) * (num_young_children),coef_num_preschool_in_hh_work1,coef_num_preschool_in_hh_work2,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_non_working_adult,Number of preschool children in household - Non-working adult interaction,(ptype == 4) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, +util_num_preschool_in_hh_retired,Number of preschool children in household - Retired interaction,(ptype == 5) * (num_young_children),0,coef_num_preschool_in_hh_work2,coef_num_preschool_in_hh_school1,, +util_num_preschool_in_hh_driving_age_student,Number of preschool children in household - Driving-age student interaction,(ptype == 6) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2,coef_num_preschool_in_hh_work_and_school +util_num_preschool_in_hh_pre_driving_age_in_school,Number of preschool children in household - Pre-driving age child who is in school interaction,(ptype == 7) * (num_young_children),coef_num_preschool_in_hh_work1,,0,coef_num_preschool_in_hh_school2, +util_num_nonworkers_in_hh_ft,Number of non-workers in the household - Full-time worker interaction,(ptype == 1) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, +util_num_nonworkers_in_hh_pt,Number of non-workers in the household - Part-time worker interaction,(ptype == 2) * num_non_workers,,,coef_num_non_workers_in_hh_school1,, +util_hh_income_gt_50k_ft,Household income higher than $50k - Full-time worker interaction,(ptype == 1) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school +util_hh_income_gt_50k_pt,Household income higher than $50k - Part-time worker interaction,(ptype == 2) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,,coef_hh_income_gt_50k_worker_work_and_school +util_hh_income_gt_50k_univ,Household income higher than $50k - University student interaction,(ptype == 3) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,coef_hh_income_gt_50k_work,0,,coef_hh_income_gt_50k_student_work_and_school +util_hh_income_gt_50k_non_working_adult,Household income higher than $50k - Non-working adult interaction,(ptype == 4) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, +util_hh_income_gt_50k_retired,Household income higher than $50k - Retired interaction,(ptype == 5) & (income_in_thousands > 50),0,,coef_hh_income_gt_50k_school1,, +util_hh_income_gt_50k_driving_age_student,Household income higher than $50k - Driving-age student interaction,(ptype == 6) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,,coef_hh_income_gt_50k_student_work_and_school +util_hh_income_gt_50k_pre_driving_age_student,Household income higher than $50k - Pre-driving age child who is in school interaction,(ptype == 7) & (income_in_thousands > 50),coef_hh_income_gt_50k_work,,0,, +util_non_family_hh_ft,Non-family household - Full-time worker interaction,(ptype == 1) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 +util_non_family_hh_pt,Non-family household - Part-time worker interaction,(ptype == 2) & non_family,0,,coef_non_family_hh_category1,,coef_non_family_hh_category1 +util_non_family_hh_univ,Non-family household - University student interaction,(ptype == 3) & non_family,coef_non_family_hh_category2,coef_non_family_hh_category2,0,,coef_non_family_hh_category2 +util_non_family_hh_non_working_adult,Non-family household - Non-working adult interaction,(ptype == 4) & non_family,0,,coef_non_family_hh_category1,, +util_non_family_hh_retired,Non-family household - Retired interaction,(ptype == 5) & non_family,0,,coef_non_family_hh_category1,, +util_non_family_hh_driving_age_student,Non-family household - Driving-age student interaction,(ptype == 6) & non_family,coef_non_family_hh_category2,,0,,coef_non_family_hh_category2 +util_non_family_hh_pre_driving_age_student,Non-family household - Pre-driving age child who is in school interaction,(ptype == 7) & non_family,coef_non_family_hh_category2,,0,, +util_num_under_16_not_at_school_ft,Number of children under 16 not at school - Full-time worker interaction,(ptype == 1) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_pt,Number of children under 16 not at school - Part-time worker interaction,(ptype == 2) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_univ,Number of children under 16 not at school - University student interaction,(ptype == 3) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_non_working_adult,Number of children under 16 not at school - Non-working adult interaction,(ptype == 4) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, +util_num_under_16_not_at_school_retired,Number of children under 16 not at school - Retired,(ptype == 5) * num_under16_not_at_school,,coef_num_under_16_not_at_school_work2,,, +util_num_under_16_not_at_school_driving_age_student,Number of children under 16 not at school - Driving-age student interaction,(ptype == 6) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2,coef_num_under_16_not_at_school_work_and_school +util_num_under_16_not_at_school_pre_driving_age,Number of children under 16 not at school - Pre-driving age child who is in school interaction,(ptype == 7) * num_under16_not_at_school,,,,coef_num_under_16_not_at_school_school2, +util_nome_urban_ft,Home is in urban area - Full-time worker interaction,(ptype == 1) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school +util_nome_urban_pt,Home is in urban area - Part-time worker interaction,(ptype == 2) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,,coef_home_urban_work_and_school +util_nome_urban_univ,Home is in urban area - University student interaction,(ptype == 3) & home_is_urban,coef_home_urban_work1,coef_home_urban_work2,0,coef_home_urban_school2,coef_home_urban_work_and_school +util_nome_urban_non_working_adult,Home is in urban area - Non-working adult interaction,(ptype == 4) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, +util_nome_urban_retired,Home is in urban area - Retired interaction,(ptype == 5) & home_is_urban,0,coef_home_urban_work2,coef_home_urban_school1,, +util_nome_urban_driving_age_student,Home is in urban area - Driving-age student interaction,(ptype == 6) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2,coef_home_urban_work_and_school +util_nome_urban_pre_driving_age_student,Home is in urban area - Pre-driving age child who is in school interaction,(ptype == 7) & home_is_urban,coef_home_urban_work1,,0,coef_home_urban_school2, +util_availability_ft,Unavailable: Full-time worker,ptype == 1,,,,coef_unavailable, +util_availability_pt,Unavailable: Part-time worker,ptype == 2,,,,coef_unavailable, +util_availability_non_working_adult,Unavailable: Non-working adult,ptype == 4,,,,coef_unavailable,coef_unavailable +util_availability_retired,Unavailable: Retired,ptype == 5,,,,coef_unavailable,coef_unavailable +util_availability_driving_age_child,Unavailable: Driving-age child,ptype == 6,coef_unavailable,coef_unavailable,,, +util_availability_pre_driving_age_student,Unavailable: Pre-driving age child who is in school,ptype == 7,,coef_unavailable,,,coef_unavailable +util_availability_pre_driving_age_not_in_school,Unavailable: Pre-driving age child who is not in school,ptype == 8,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable +util_availability_work_tours_no_usual_work_location,Unavailable: Work tours for those with no usual work location,~(workplace_zone_id > -1),coef_unavailable,coef_unavailable,,,coef_unavailable +util_availability_school_tours_no_usual_school_location,Unavailable: School tours for those with no usual school location,~(school_zone_id > -1),,,coef_unavailable,coef_unavailable,coef_unavailable diff --git a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency.yaml b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency.yaml old mode 100755 new mode 100644 similarity index 94% rename from activitysim/examples/example_psrc/configs/mandatory_tour_frequency.yaml rename to activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency.yaml index ce768bbaa7..de8e115fd5 --- a/activitysim/examples/example_psrc/configs/mandatory_tour_frequency.yaml +++ b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency.yaml @@ -1,10 +1,10 @@ - -SPEC: mandatory_tour_frequency.csv -COEFFICIENTS: mandatory_tour_frequency_coeffs.csv - -annotate_persons: - SPEC: annotate_persons_mtf - DF: persons - TABLES: - - tours - + +SPEC: mandatory_tour_frequency.csv +COEFFICIENTS: mandatory_tour_frequency_coeffs.csv + +annotate_persons: + SPEC: annotate_persons_mtf + DF: persons + TABLES: + - tours + diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency_alternatives.csv old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_semcog/configs/mandatory_tour_frequency_alternatives.csv rename to activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency_alternatives.csv index e4e04d48ef..025decbb1c --- a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency_alternatives.csv +++ b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency_alternatives.csv @@ -1,7 +1,7 @@ -#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,work,school -work1,1,0 -work2,2,0 -school1,0,1 -school2,0,2 -work_and_school,1,1 +#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,work,school +work1,1,0 +work2,2,0 +school1,0,1 +school2,0,2 +work_and_school,1,1 diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency_coeffs.csv old mode 100755 new mode 100644 similarity index 97% rename from activitysim/examples/example_semcog/configs/mandatory_tour_frequency_coeffs.csv rename to activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency_coeffs.csv index d712395c00..c0909e681f --- a/activitysim/examples/example_semcog/configs/mandatory_tour_frequency_coeffs.csv +++ b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_frequency_coeffs.csv @@ -1,54 +1,54 @@ -coefficient_name,value,constrain -coef_unavailable,-999,T -coef_ft_worker_work2_asc,-3.3781,F -coef_pt_worker_work2_asc,-3.0476,F -coef_univ_work1_asc,-2.630262534,F -coef_univ_work2_asc,-4.5,F -coef_univ_school2_asc,-3.841285259,F -coef_univ_work_and_school_asc,-4.529863127,F -coef_driving_age_child_school2_asc,-3.136,F -coef_driving_age_child_work_and_school_asc,-4.4362,F -coef_pre_driving_age_child_school2_asc,-3.9703,F -coef_female_work1,0.1737,F -coef_female_work2,-0.2255,F -coef_female_school1,0.1592,F -coef_female_school2,0.114,F -coef_female_work_and_school,-0.3442,F -coef_female_univ_work1,0.1737,F -coef_under_35_work1,-0.4629,F -coef_under_35_work2,-0.1375,F -coef_under_35_school1,0.7218,F -coef_under_35_school2,1.275,F -coef_under_35_work_and_school,0.9761,F -coef_can_walk_to_work_work2,0.5268,F -coef_can_walk_to_work_school2,0.7114,F -coef_can_walk_to_work_and_school,0.1391,F -coef_round_trip_auto_time_to_work_work2,-0.0035,F -coef_round_trip_auto_time_to_work_school2,-0.0034,F -coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F -coef_student_employed,3.014,F -coef_non_student_goes_to_school,3.883,F -coef_no_cars_in_hh_work2,-1.306,F -coef_no_cars_in_hh_school2,-1.413,F -coef_no_cars_in_hh_work_and_school,-1.302,F -coef_few_cars_than_drivers_school2,-0.5759,F -coef_num_preschool_in_hh_work1,0.2191,F -coef_num_preschool_in_hh_work2,-0.1478,F -coef_num_preschool_in_hh_school1,-0.1335,F -coef_num_preschool_in_hh_school2,-0.5577,F -coef_num_preschool_in_hh_work_and_school,-0.1251,F -coef_num_non_workers_in_hh_school1,0.2574,F -coef_hh_income_gt_50k_work,-0.0528,F -coef_hh_income_gt_50k_school1,0.0347,F -coef_hh_income_gt_50k_worker_work_and_school,0.0347,F -coef_hh_income_gt_50k_student_work_and_school,-0.0528,F -coef_non_family_hh_category1,-0.25,F -coef_non_family_hh_category2,-0.1792,F -coef_num_under_16_not_at_school_work2,0.1804, -coef_num_under_16_not_at_school_school2,0.0866, -coef_num_under_16_not_at_school_work_and_school,-0.1955, -coef_home_urban_work1,-0.2831, -coef_home_urban_work2,0.2308, -coef_home_urban_school1,-0.1361, -coef_home_urban_school2,0.317, -coef_home_urban_work_and_school,-0.3509, +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_ft_worker_work2_asc,-3.3781,F +coef_pt_worker_work2_asc,-3.0476,F +coef_univ_work1_asc,-2.630262534,F +coef_univ_work2_asc,-4.5,F +coef_univ_school2_asc,-3.841285259,F +coef_univ_work_and_school_asc,-4.529863127,F +coef_driving_age_child_school2_asc,-3.136,F +coef_driving_age_child_work_and_school_asc,-4.4362,F +coef_pre_driving_age_child_school2_asc,-3.9703,F +coef_female_work1,0.1737,F +coef_female_work2,-0.2255,F +coef_female_school1,0.1592,F +coef_female_school2,0.114,F +coef_female_work_and_school,-0.3442,F +coef_female_univ_work1,0.1737,F +coef_under_35_work1,-0.4629,F +coef_under_35_work2,-0.1375,F +coef_under_35_school1,0.7218,F +coef_under_35_school2,1.275,F +coef_under_35_work_and_school,0.9761,F +coef_can_walk_to_work_work2,0.5268,F +coef_can_walk_to_work_school2,0.7114,F +coef_can_walk_to_work_and_school,0.1391,F +coef_round_trip_auto_time_to_work_work2,-0.0035,F +coef_round_trip_auto_time_to_work_school2,-0.0034,F +coef_round_trip_auto_time_to_work_work_and_school,-0.0031,F +coef_student_employed,3.014,F +coef_non_student_goes_to_school,3.883,F +coef_no_cars_in_hh_work2,-1.306,F +coef_no_cars_in_hh_school2,-1.413,F +coef_no_cars_in_hh_work_and_school,-1.302,F +coef_few_cars_than_drivers_school2,-0.5759,F +coef_num_preschool_in_hh_work1,0.2191,F +coef_num_preschool_in_hh_work2,-0.1478,F +coef_num_preschool_in_hh_school1,-0.1335,F +coef_num_preschool_in_hh_school2,-0.5577,F +coef_num_preschool_in_hh_work_and_school,-0.1251,F +coef_num_non_workers_in_hh_school1,0.2574,F +coef_hh_income_gt_50k_work,-0.0528,F +coef_hh_income_gt_50k_school1,0.0347,F +coef_hh_income_gt_50k_worker_work_and_school,0.0347,F +coef_hh_income_gt_50k_student_work_and_school,-0.0528,F +coef_non_family_hh_category1,-0.25,F +coef_non_family_hh_category2,-0.1792,F +coef_num_under_16_not_at_school_work2,0.1804, +coef_num_under_16_not_at_school_school2,0.0866, +coef_num_under_16_not_at_school_work_and_school,-0.1955, +coef_home_urban_work1,-0.2831, +coef_home_urban_work2,0.2308, +coef_home_urban_school1,-0.1361, +coef_home_urban_school2,0.317, +coef_home_urban_work_and_school,-0.3509, diff --git a/activitysim/examples/prototype_mwcog/configs/mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_scheduling.yaml new file mode 100644 index 0000000000..120959d36f --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_scheduling.yaml @@ -0,0 +1,57 @@ + +SIMULATE_CHOOSER_COLUMNS: + - age + - female + - ptype + - is_university + - is_income_less25K + - is_income_25K_to_60K + - is_income_60K_to_120K + - is_income_greater120K + - is_pre_drive_child_in_HH + - is_non_worker_in_HH + - auto_ownership + - is_all_adults_full_time_workers + - distance_to_school + - roundtrip_auto_time_to_work + - roundtrip_auto_time_to_school + - free_parking_at_work + - workplace_zone_id + - school_zone_id + - home_zone_id + - TAZ + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +TOUR_SPEC_SEGMENTS: + work: work + school: school + univ: univ + +ALTS_PREPROCESSOR: + work: + SPEC: mandatory_tour_scheduling_annotate_tours_preprocessor.csv + DF: alt_tdd + +SPEC_SEGMENTS: + work: + 'SPEC': tour_scheduling_work.csv + 'COEFFICIENTS': tour_scheduling_work_coeffs.csv + school: + 'SPEC': tour_scheduling_school.csv + 'COEFFICIENTS': tour_scheduling_school_coeffs.csv + univ: + 'SPEC': tour_scheduling_university.csv + 'COEFFICIENTS': tour_scheduling_university_coeffs.csv + +#SPEC: +# work: tour_scheduling_work.csv +# school: tour_scheduling_school.csv +# univ: tour_scheduling_university.csv + +#CHOOSER_ORIG_COL_NAME: TAZ + +DESTINATION_FOR_TOUR_PURPOSE: + work: workplace_zone_id + school: school_zone_id + univ: school_zone_id diff --git a/activitysim/examples/example_semcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_mwcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv index 68e51af194..6c2089653a --- a/activitysim/examples/example_semcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv +++ b/activitysim/examples/prototype_mwcog/configs/mandatory_tour_scheduling_annotate_tours_preprocessor.csv @@ -1,4 +1,4 @@ -Description,Target,Expression -departure_shift,departureLinearShift1,"np.minimum(9-df.start,48)*(df.start<=9) + np.minimum(df.start-9,21)*(df.start>9)" -arrival_shift,arrivalLinearShift1,"np.minimum(30-df.end,48)*(df.end<=30) + np.minimum(df.end-30,21)*(df.end>30)" -duration_shift,durationShift,"(np.minimum(21-df.duration,47)*(df.duration<=20)) + (np.minimum(df.duration-21,20)*(df.duration>21))" +Description,Target,Expression +departure_shift,departureLinearShift1,"np.minimum(9-df.start,48)*(df.start<=9) + np.minimum(df.start-9,21)*(df.start>9)" +arrival_shift,arrivalLinearShift1,"np.minimum(30-df.end,48)*(df.end<=30) + np.minimum(df.end-30,21)*(df.end>30)" +duration_shift,durationShift,"(np.minimum(21-df.duration,47)*(df.duration<=20)) + (np.minimum(df.duration-21,20)*(df.duration>21))" diff --git a/activitysim/examples/prototype_mwcog/configs/network_los.yaml b/activitysim/examples/prototype_mwcog/configs/network_los.yaml new file mode 100644 index 0000000000..3e4862903e --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/network_los.yaml @@ -0,0 +1,19 @@ +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +read_skim_cache: False +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +write_skim_cache: False + +#alternate dir to read/write skim cache (defaults to output_dir) +#cache_dir: data/cache + +zone_system: 1 + +taz_skims: skims.omx + +skim_time_periods: + time_window: 1440 + period_minutes: 30 + periods: [0, 6, 12, 24, 32, 48] + labels: ['NT', 'AM', 'MD', 'PM', 'NT'] + +#NT is repeated twice as it's on both sides of the day. \ No newline at end of file diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination.csv new file mode 100644 index 0000000000..090e480b84 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination.csv @@ -0,0 +1,21 @@ +Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr +local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 +util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,0,coef_dist_othmaint,0,coef_dist_othdiscr +util_dist_squared,"@(_DIST).clip(0,20)**2",0,coef_dist_squared_shopping,0,0,0,coef_dist_squared_othdiscr +util_dist_cubed,"@(_DIST).clip(0,20)**3",0,coef_dist_cubed_shopping,0,0,0,coef_dist_cubed_othdiscr +util_dist_squared,"@(_DIST).clip(0,15)**2",0,0,0,coef_dist_squared_othmaint,0,0 +util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr +util_dist_young,@(df['young']==True) * _DIST,0,coef_dist_young_shopping,coef_dist_young_eatout,coef_dist_young_othmaint,0,coef_dist_young_othdiscr +util_dist_old,@(df['old']==True) * _DIST,0,0,0,0,0,0 +util_dist_female,@(df['female']==True) * _DIST,0,coef_dist_female_shopping,0,0,coef_dist_female_social,coef_dist_female_othdiscr +util_dist_part_time,@(df['pemploy']==2) * _DIST,0,0,coef_dist_part_time_eatout,coef_dist_part_time_othmaint,0,0 +util_dist_student,@(df['is_student']==True) * _DIST,0,0,0,0,0,0 +util_dist_hh_child,@(df['hh_child']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,0,coef_dist_hh_child_othdiscr +util_dist_zero_auto,@(df['auto_ownership']==0) * _DIST,0,0,0,0,0,coef_dist_zero_auto_othdiscr +util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_very_high,@(df['income_segment']==WORK_VERYHIGH_SEGMENT_ID) * _DIST,0,0,coef_dist_veryhigh_inc_eatout,0,coef_dist_veryhigh_inc_social,coef_dist_veryhigh_inc_othdiscr +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 +Mode choice logsum,mode_choice_logsum,coef_mode_logsum_escort,coef_mode_logsum_shopping,coef_mode_logsum_eatout,coef_mode_logsum_othmaint,coef_mode_logsum_social,coef_mode_logsum_othdiscr +Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1,1,1,1 diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination.yaml b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination.yaml new file mode 100644 index 0000000000..4f9f144a89 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination.yaml @@ -0,0 +1,79 @@ +SAMPLE_SPEC: non_mandatory_tour_destination_sample.csv +SPEC: non_mandatory_tour_destination.csv +COEFFICIENTS: non_mandatory_tour_destination_coeffs.csv + +SAMPLE_SIZE: 30 + +SIZE_TERM_SELECTOR: non_mandatory + +# we can't use use household income_segment as this will also be set for non-workers +CHOOSER_SEGMENT_COLUMN_NAME: tour_type + +# optional (comment out if not desired) +DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: tour_destination_sample + + +SEGMENTS: + - shopping + - othmaint + - othdiscr + - eatout + - social + - escort + +SIMULATE_CHOOSER_COLUMNS: + - tour_type + - TAZ + - person_id + - income_segment + - pemploy + - is_student + - age_0_to_5 + - age_6_to_12 + - hh_child + - young + - old + - female + - auto_ownership + +LOGSUM_SETTINGS: tour_mode_choice.yaml + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: TAZ +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: + shopping: 19 + othmaint: 19 + othdiscr: 36 + eatout: 36 + social: 36 + escort: 11 +OUT_PERIOD: + shopping: 15 + othmaint: 15 + othdiscr: 31 + eatout: 31 + social: 31 + escort: 10 + +SEGMENT_IDS: + work_low: 1 + work_med: 2 + work_high: 3 + work_veryhigh: 4 + +CONSTANTS: + WORK_LOW_SEGMENT_ID: 1 + WORK_MED_SEGMENT_ID: 2 + WORK_HIGH_SEGMENT_ID: 3 + WORK_VERYHIGH_SEGMENT_ID: 4 + + +preprocessor: + SPEC: non_mandatory_tour_destination_annotate_tours_preprocessor + DF: tours + TABLES: + - persons \ No newline at end of file diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination_coeffs.csv new file mode 100644 index 0000000000..76136fd932 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination_coeffs.csv @@ -0,0 +1,45 @@ +coefficient_name,value,constrain +coef_mode_logsum_escort,0.676,F +coef_dist_escort,0.046736802,F +coef_dist_squared_escort,0,F +coef_dist_cubed_escort,0,F +coef_dist_logged_escort,-2.403808965,F +coef_dist_hh_child_escort,-0.078449805,F +coef_mode_logsum_shopping,0.676,F +coef_dist_shopping,-0.046575944,F +coef_dist_squared_shopping,-0.000953534,F +coef_dist_cubed_shopping,0,F +coef_dist_logged_shopping,-2.297550828,F +coef_dist_young_shopping,0.032022587,F +coef_dist_female_shopping,0.02130081,F +coef_mode_logsum_eatout,0.79,F +coef_dist_eatout,0,F +coef_dist_squared_eatout,0,F +coef_dist_cubed_eatout,0,F +coef_dist_logged_eatout,-1.904643053,F +coef_dist_young_eatout,0.023697451,F +coef_dist_part_time_eatout,0.024375725,F +coef_dist_hh_child_eatout,-0.034067726,F +coef_dist_veryhigh_inc_eatout,-0.03079323,F +coef_mode_logsum_othmaint,0.676,F +coef_dist_othmaint,-0.04955464,F +coef_dist_squared_othmaint,-0.001372519,F +coef_dist_cubed_othmaint,0,F +coef_dist_logged_othmaint,-1.270318612,F +coef_dist_part_time_othmaint,-0.01938104,F +coef_dist_young_othmaint,-0.049119954,F +coef_mode_logsum_social,0.79,F +coef_dist_social,0,F +coef_dist_logged_social,-1.408912476,F +coef_dist_female_social,-0.008330037,F +coef_dist_veryhigh_inc_social,-0.018940702,F +coef_mode_logsum_othdiscr,0.79,F +coef_dist_othdiscr,0.015757703,F +coef_dist_squared_othdiscr,-0.001806674,F +coef_dist_cubed_othdiscr,0,F +coef_dist_logged_othdiscr,-1.688427559,F +coef_dist_young_othdiscr,0.023693922,F +coef_dist_female_othdiscr,-0.008809842,F +coef_dist_hh_child_othdiscr,-0.016829222,F +coef_dist_zero_auto_othdiscr,0.065231488,F +coef_dist_veryhigh_inc_othdiscr,-0.008247062,F diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination_sample.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination_sample.csv new file mode 100644 index 0000000000..33d3f6f4e2 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_destination_sample.csv @@ -0,0 +1,19 @@ +Description,Expression,escort,shopping,eatout,othmaint,social,othdiscr +local_dist,_DIST@skims['DIST'],1,1,1,1,1,1 +util_dist,@_DIST,coef_dist_escort,coef_dist_shopping,0,coef_dist_othmaint,0,coef_dist_othdiscr +util_dist_squared,"@(_DIST).clip(0,20)**2",0,coef_dist_squared_shopping,0,0,0,coef_dist_squared_othdiscr +util_dist_cubed,"@(_DIST).clip(0,20)**3",0,coef_dist_cubed_shopping,0,0,0,coef_dist_cubed_othdiscr +util_dist_squared,"@(_DIST).clip(0,15)**2",0,0,0,coef_dist_squared_othmaint,0,0 +util_dist_logged,@(_DIST).apply(np.log1p),coef_dist_logged_escort,coef_dist_logged_shopping,coef_dist_logged_eatout,coef_dist_logged_othmaint,coef_dist_logged_social,coef_dist_logged_othdiscr +util_dist_young,@(df['young']==True) * _DIST,0,coef_dist_young_shopping,coef_dist_young_eatout,coef_dist_young_othmaint,0,coef_dist_young_othdiscr +util_dist_old,@(df['old']==True) * _DIST,0,0,0,0,0,0 +util_dist_female,@(df['female']==True) * _DIST,0,coef_dist_female_shopping,0,0,coef_dist_female_social,coef_dist_female_othdiscr +util_dist_part_time,@(df['pemploy']==2) * _DIST,0,0,coef_dist_part_time_eatout,coef_dist_part_time_othmaint,0,0 +util_dist_student,@(df['is_student']==True) * _DIST,0,0,0,0,0,0 +util_dist_hh_child,@(df['hh_child']>0) * _DIST,coef_dist_hh_child_escort,0,coef_dist_hh_child_eatout,0,0,coef_dist_hh_child_othdiscr +util_dist_zero_auto,@(df['auto_ownership']==0) * _DIST,0,0,0,0,0,coef_dist_zero_auto_othdiscr +util_dist_low,@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_med,@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,0,0,0,0,0,0 +util_dist_very_high,@(df['income_segment']==WORK_VERYHIGH_SEGMENT_ID) * _DIST,0,0,coef_dist_veryhigh_inc_eatout,0,coef_dist_veryhigh_inc_social,coef_dist_veryhigh_inc_othdiscr +Size variable,@df['size_term'].apply(np.log1p),1,1,1,1,1,1 +No attractions,@df['size_term']==0,-999,-999,-999,-999,-999,-999 diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency.csv new file mode 100644 index 0000000000..6abd71a70b --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency.csv @@ -0,0 +1,223 @@ +Label,Description,Expression,PTYPE_FULL,PTYPE_PART,PTYPE_UNIVERSITY,PTYPE_NONWORK,PTYPE_RETIRED,PTYPE_DRIVING,PTYPE_SCHOOL,PTYPE_PRESCHOOL +util_escorting_tour,Escorting Tour,escort,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour,coef_escorting_tour +util_discretionary_tour,Discretionary Tour,othdiscr,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour,coef_discretionary_tour +util_shopping_tour,Shopping Tour,shopping,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour,coef_shopping_tour +util_maintenance_tour,Maintenance Tour,othmaint,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour,coef_maintenance_tour +util_visiting_or_social_tour,Visiting/Social Tour,social,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour,coef_visiting_or_social_tour +util_eating_out_tour,Eating Out Tour,eatout,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour,coef_eating_out_tour +util_total_number_of_tours_is_0_no_prior_tours,Total Number of Tours = 0 (No Prior Tours),(tot_tours == 0) & (num_mand == 0) & (num_hh_joint_tours == 0),coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours,coef_total_number_of_tours_is_0_no_prior_tours +util_total_number_of_tours_is_0_prior_tours,Total Number of Tours = 0 (1 or more Prior Tours),(tot_tours == 0) & ((num_mand > 0) | (num_hh_joint_tours > 0)),coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours,coef_total_number_of_tours_is_0_prior_tours +util_total_number_of_tours_is_1,Total Number of Tours = 1,tot_tours == 1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1,coef_total_number_of_tours_is_1 +util_total_number_of_tours_is_2,Total Number of Tours = 2,tot_tours == 2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2,coef_total_number_of_tours_is_2 +util_total_number_of_tours_is_3,Total Number of Tours = 3,tot_tours == 3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3,coef_total_number_of_tours_is_3 +util_total_number_of_tours_is_4,Total Number of Tours = 4,tot_tours == 4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4,coef_total_number_of_tours_is_4 +util_total_number_of_tours_is_5,Total Number of Tours = 5,tot_tours == 5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5,coef_total_number_of_tours_is_5 +util_total_number_of_tours_is_6_plus,Total Number of Tours = 6+,tot_tours > 5,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus,coef_total_number_of_tours_is_6_plus +util_number_of_mandatory_tours_and_tour_frequency_is_0,Number of Mandatory tours & tour frequency =0,num_mand*(tot_tours == 0),coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0,coef_number_of_mandatory_tours_and_tour_frequency_is_0 +util_number_of_mandatory_tours_and_tour_frequency_is_1,Number of Mandatory tours & tour frequency =1,num_mand*(tot_tours == 1),coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1,coef_number_of_mandatory_tours_and_tour_frequency_is_1 +util_number_of_mandatory_tours_and_tour_frequency_is_2,Number of Mandatory tours & tour frequency =2,num_mand*(tot_tours == 2),coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2,coef_number_of_mandatory_tours_and_tour_frequency_is_2 +util_number_of_mandatory_tours_and_tour_frequency_is_3,Number of Mandatory tours & tour frequency =3,num_mand*(tot_tours == 3),coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3,coef_number_of_mandatory_tours_and_tour_frequency_is_3 +util_number_of_mandatory_tours_and_tour_frequency_is_4,Number of Mandatory tours & tour frequency =4,num_mand*(tot_tours == 4),coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4,coef_number_of_mandatory_tours_and_tour_frequency_is_4 +util_number_of_mandatory_tours_and_tour_frequency_is_5_plus,Number of Mandatory tours & tour frequency = 5+,num_mand*(tot_tours > 4),coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus +util_number_of_joint_tours_and_tour_frequency_is_0,Number of Joint tours & tour frequency =0,num_hh_joint_tours*(tot_tours == 0),coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0,coef_number_of_joint_tours_and_tour_frequency_is_0 +util_number_of_joint_tours_and_tour_frequency_is_1,Number of Joint tours & tour frequency =1,num_hh_joint_tours*(tot_tours == 1),coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1,coef_number_of_joint_tours_and_tour_frequency_is_1 +util_number_of_joint_tours_and_tour_frequency_is_2,Number of Joint tours & tour frequency =2,num_hh_joint_tours*(tot_tours == 2),coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2,coef_number_of_joint_tours_and_tour_frequency_is_2 +util_number_of_joint_tours_and_tour_frequency_is_3,Number of Joint tours & tour frequency =3,num_hh_joint_tours*(tot_tours == 3),coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3,coef_number_of_joint_tours_and_tour_frequency_is_3 +util_number_of_joint_tours_and_tour_frequency_is_4,Number of Joint tours & tour frequency =4,num_hh_joint_tours*(tot_tours == 4),coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4,coef_number_of_joint_tours_and_tour_frequency_is_4 +util_number_of_joint_tours_and_tour_frequency_is_5_plus,Number of Joint tours & tour frequency = 5+,num_hh_joint_tours*(tot_tours > 4),coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus,coef_number_of_joint_tours_and_tour_frequency_is_5_plus +util_number_of_joint_shopping_tours,Number of Joint Shopping tours,shopping * num_hh_joint_shop_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours,coef_number_of_joint_shopping_tours +util_number_of_joint_maintenance_tours,Number of Joint Maintenance tours,othmaint * num_hh_joint_maint_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours,coef_number_of_joint_maintenance_tours +util_number_of_joint_eating_out_tours,Number of Joint Eating Out tours,eatout * num_hh_joint_eatout_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours,coef_number_of_joint_eating_out_tours +util_number_of_joint_visit_tours,Number of Joint Visit tours,social * num_hh_joint_social_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours,coef_number_of_joint_visit_tours +util_number_of_joint_discretionary_tours,Number of Joint Discretionary tours,othdiscr * num_hh_joint_othdiscr_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours,coef_number_of_joint_discretionary_tours +util_logged_maximum_residual_window_tour_frequency_is_0,"Logged Maximum Residual Window, tour frequency =0",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 0),coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0,coef_logged_maximum_residual_window_tour_frequency_is_0 +util_logged_maximum_residual_window_tour_frequency_is_1,"Logged Maximum Residual Window, tour frequency =1",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 1),coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1,coef_logged_maximum_residual_window_tour_frequency_is_1 +util_logged_maximum_residual_window_tour_frequency_is_2,"Logged Maximum Residual Window, tour frequency =2",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 2),coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2,coef_logged_maximum_residual_window_tour_frequency_is_2 +util_logged_maximum_residual_window_tour_frequency_is_3,"Logged Maximum Residual Window, tour frequency =3",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 3),coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3,coef_logged_maximum_residual_window_tour_frequency_is_3 +util_logged_maximum_residual_window_tour_frequency_is_4,"Logged Maximum Residual Window, tour frequency =4",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours == 4),coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4,coef_logged_maximum_residual_window_tour_frequency_is_4 +util_logged_maximum_residual_window_tour_frequency_is_5_plus,"Logged Maximum Residual Window, tour frequency =5+",((num_mand > 0) | (num_hh_joint_tours > 0)) * log_max_window*(tot_tours > 4),coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus,coef_logged_maximum_residual_window_tour_frequency_is_5_plus +util_mediumlow_income_group_and_tour_frequency_is_1,Dummy for Mediumlow Income group (20K-50K) & tour frequency=1,medium_low_income & (tot_tours == 1),coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1,coef_mediumlow_income_group_and_tour_frequency_is_1 +util_mediumlow_income_group_and_tour_frequency_is_2,Dummy for Mediumlow Income group (20K-50K) & tour frequency=2,medium_low_income & (tot_tours == 2),coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2,coef_mediumlow_income_group_and_tour_frequency_is_2 +util_mediumlow_income_group_and_tour_frequency_is_3,Dummy for Mediumlow Income group (20K-50K) & tour frequency=3,medium_low_income & (tot_tours == 3),coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3,coef_mediumlow_income_group_and_tour_frequency_is_3 +util_mediumlow_income_group_and_tour_frequency_is_4,Dummy for Mediumlow Income group (20K-50K) & tour frequency=4,medium_low_income & (tot_tours == 4),coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4,coef_mediumlow_income_group_and_tour_frequency_is_4 +util_mediumlow_income_group_and_tour_frequency_is_5_plus,Dummy for Mediumlow Income group (20K-50K) & tour frequency=5+,medium_low_income & (tot_tours > 4),coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus,coef_mediumlow_income_group_and_tour_frequency_is_5_plus +util_mediumhigh_income_group_and_tour_frequency_is_1,Dummy for MediumHigh Income group (50K-100K) & tour frequency=1,medium_high_income & (tot_tours == 1),coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1,coef_mediumhigh_income_group_and_tour_frequency_is_1 +util_mediumhigh_income_group_and_tour_frequency_is_2,Dummy for MediumHigh Income group (50K-100K) & tour frequency=2,medium_high_income & (tot_tours == 2),coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2,coef_mediumhigh_income_group_and_tour_frequency_is_2 +util_mediumhigh_income_group_and_tour_frequency_is_3,Dummy for MediumHigh Income group (50K-100K) & tour frequency=3,medium_high_income & (tot_tours == 3),coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3,coef_mediumhigh_income_group_and_tour_frequency_is_3 +util_mediumhigh_income_group_and_tour_frequency_is_4,Dummy for MediumHigh Income group (50K-100K) & tour frequency=4,medium_high_income & (tot_tours == 4),coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4,coef_mediumhigh_income_group_and_tour_frequency_is_4 +util_mediumhigh_income_group_and_tour_frequency_is_5_plus,Dummy for MediumHigh Income group (50K-100K) & tour frequency=5+,medium_high_income & (tot_tours > 4),coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,coef_mediumhigh_income_group_and_tour_frequency_is_5_plus +util_high_income_group_and_tour_frequency_is_1,Dummy for High Income group (>100K) & tour frequency=1,high_income & (tot_tours == 1),coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1,coef_high_income_group_and_tour_frequency_is_1 +util_high_income_group_and_tour_frequency_is_2,Dummy for High Income group (>100K) & tour frequency=2,high_income & (tot_tours == 2),coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2,coef_high_income_group_and_tour_frequency_is_2 +util_high_income_group_and_tour_frequency_is_3,Dummy for High Income group (>100K) & tour frequency=3,high_income & (tot_tours == 3),coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3,coef_high_income_group_and_tour_frequency_is_3 +util_high_income_group_and_tour_frequency_is_4,Dummy for High Income group (>100K) & tour frequency=4,high_income & (tot_tours == 4),coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4,coef_high_income_group_and_tour_frequency_is_4 +util_high_income_group_and_tour_frequency_is_5_plus,Dummy for High Income group (>100K) & tour frequency=5+,high_income & (tot_tours > 4),coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus,coef_high_income_group_and_tour_frequency_is_5_plus +util_mediumlow_income_group_and_shopping_tour,Dummy for Mediumlow Income group (20K-50K) & shopping tour,medium_low_income * shopping,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour,coef_mediumlow_income_group_and_shopping_tour +util_mediumhigh_income_group_and_shopping_tour,Dummy for Mediumhigh Income group (50K-100K) & shopping tour,medium_high_income * shopping,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour,coef_mediumhigh_income_group_and_shopping_tour +util_high_income_group_and_shopping_tour,Dummy for High Income group (>100K) & shopping tour,high_income * shopping,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour,coef_high_income_group_and_shopping_tour +util_mediumlow_income_group_and_maintenance_tour,Dummy for Mediumlow Income group (20K-50K) & maintenance tour,medium_low_income * othmaint,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour,coef_mediumlow_income_group_and_maintenance_tour +util_mediumhigh_income_group_and_maintenance_tour,Dummy for Mediumhigh Income group (50K-100K) & maintenance tour,medium_high_income * othmaint,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour,coef_mediumhigh_income_group_and_maintenance_tour +util_high_income_group_and_maintenance_tour,Dummy for High Income group (>100K) & maintenance tour,high_income * othmaint,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour,coef_high_income_group_and_maintenance_tour +util_mediumlow_income_group_and_eating_out_tour,Dummy for Mediumlow Income group (20K-50K) & Eating out tour,medium_low_income * eatout,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour,coef_mediumlow_income_group_and_eating_out_tour +util_mediumhigh_income_group_and_eating_out_tour,Dummy for Mediumhigh Income group (50K-100K) & Eating out tour,medium_high_income * eatout,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour,coef_mediumhigh_income_group_and_eating_out_tour +util_high_income_group_and_eating_out_tour,Dummy for High Income group (>100K) & Eating out tour,high_income * eatout,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour,coef_high_income_group_and_eating_out_tour +util_mediumlow_income_group_and_discretionary_tour,Dummy for Mediumlow Income group (20K-50K) & Discretionary tour,medium_low_income * othdiscr,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour,coef_mediumlow_income_group_and_discretionary_tour +util_mediumhigh_income_group_and_discretionary_tour,Dummy for Mediumhigh Income group (50K-100K) & Discretionary tour,medium_high_income * othdiscr,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour,coef_mediumhigh_income_group_and_discretionary_tour +util_high_income_group_and_discretionary_tour,Dummy for High Income group (>100K) & Discretionary tour,high_income * othdiscr,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour,coef_high_income_group_and_discretionary_tour +util_mediumlow_income_group_and_visiting_tour,Dummy for Mediumlow Income group (20K-50K) & Visiting tour,medium_low_income * social,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour,coef_mediumlow_income_group_and_visiting_tour +util_mediumhigh_income_group_and_visiting_tour,Dummy for Mediumhigh Income group (50K-100K) & Visiting tour,medium_high_income * social,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour,coef_mediumhigh_income_group_and_visiting_tour +util_high_income_group_and_visiting_tour,Dummy for High Income group (>100K) & Visiting tour,high_income * social,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour,coef_high_income_group_and_visiting_tour +util_female_and_tour_frequency_is_1,Dummy for Female & tour frequency =1,female & (tot_tours == 1),coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1,coef_female_and_tour_frequency_is_1 +util_female_and_tour_frequency_is_2,Dummy for Female & tour frequency =2,female & (tot_tours == 2),coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2,coef_female_and_tour_frequency_is_2 +util_female_and_tour_frequency_is_3,Dummy for Female & tour frequency =3,female & (tot_tours == 3),coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3,coef_female_and_tour_frequency_is_3 +util_female_and_tour_frequency_is_4,Dummy for Female & tour frequency =4,female & (tot_tours == 4),coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4,coef_female_and_tour_frequency_is_4 +util_female_and_tour_frequency_is_5,Dummy for Female & tour frequency =5,female & (tot_tours == 5),coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5,coef_female_and_tour_frequency_is_5 +util_female_and_escorting_tour,Dummy for Female & Escorting Tour,female * escort,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour,coef_female_and_escorting_tour +util_female_and_shopping_tour,Dummy for Female & Shopping Tour,female * shopping,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour,coef_female_and_shopping_tour +util_female_and_maintenance_tour,Dummy for Female & Maintenance Tour,female * othmaint,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour,coef_female_and_maintenance_tour +util_female_and_eatingout_tour,Dummy for Female & EatingOut Tour,female * eatout,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour,coef_female_and_eatingout_tour +util_female_and_discretionary_tour,Dummy for Female & Discretionary Tour,female * othdiscr,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour,coef_female_and_discretionary_tour +util_zero_car_ownership_and_tour_frequency_is_1,Dummy for zero car ownership & tour frequency =1,no_cars & (tot_tours == 1),coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1,coef_zero_car_ownership_and_tour_frequency_is_1 +util_zero_car_ownership_and_tour_frequency_is_2,Dummy for zero car ownership & tour frequency =2,no_cars & (tot_tours == 2),coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2,coef_zero_car_ownership_and_tour_frequency_is_2 +util_zero_car_ownership_and_tour_frequency_is_3,Dummy for zero car ownership & tour frequency =3,no_cars & (tot_tours == 3),coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3,coef_zero_car_ownership_and_tour_frequency_is_3 +util_zero_car_ownership_and_tour_frequency_is_4,Dummy for zero car ownership & tour frequency =4,no_cars & (tot_tours == 4),coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4,coef_zero_car_ownership_and_tour_frequency_is_4 +util_zero_car_ownership_and_tour_frequency_is_5_plus,Dummy for zero car ownership & tour frequency =5+,no_cars & (tot_tours > 4),coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus,coef_zero_car_ownership_and_tour_frequency_is_5_plus +util_car_shortage_vs_workers_and_tour_frequency_is_1,Dummy for Car Shortage vs Workers & tour frequency =1,~no_cars & (car_sufficiency < 0) & (tot_tours == 1),coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1,coef_car_shortage_vs_workers_and_tour_frequency_is_1 +util_car_shortage_vs_workers_and_tour_frequency_is_2,Dummy for Car Shortage vs Workers & tour frequency =2,~no_cars & (car_sufficiency < 0) & (tot_tours == 2),coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2,coef_car_shortage_vs_workers_and_tour_frequency_is_2 +util_car_shortage_vs_workers_and_tour_frequency_is_3,Dummy for Car Shortage vs Workers & tour frequency =3,~no_cars & (car_sufficiency < 0) & (tot_tours == 3),coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3,coef_car_shortage_vs_workers_and_tour_frequency_is_3 +util_car_shortage_vs_workers_and_tour_frequency_is_4,Dummy for Car Shortage vs Workers & tour frequency =4,~no_cars & (car_sufficiency < 0) & (tot_tours == 4),coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4,coef_car_shortage_vs_workers_and_tour_frequency_is_4 +util_car_shortage_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Shortage vs Workers & tour frequency =5+,~no_cars & (car_sufficiency < 0) & (tot_tours > 4),coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus +util_car_surplus_vs_workers_and_tour_frequency_is_1,Dummy for Car Surplus vs Workers & tour frequency =1,~no_cars & (car_sufficiency > 0) & (tot_tours == 1),coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1,coef_car_surplus_vs_workers_and_tour_frequency_is_1 +util_car_surplus_vs_workers_and_tour_frequency_is_2,Dummy for Car Surplus vs Workers & tour frequency =2,~no_cars & (car_sufficiency > 0) & (tot_tours == 2),coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2,coef_car_surplus_vs_workers_and_tour_frequency_is_2 +util_car_surplus_vs_workers_and_tour_frequency_is_3,Dummy for Car Surplus vs Workers & tour frequency =3,~no_cars & (car_sufficiency > 0) & (tot_tours == 3),coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3,coef_car_surplus_vs_workers_and_tour_frequency_is_3 +util_car_surplus_vs_workers_and_tour_frequency_is_4,Dummy for Car Surplus vs Workers & tour frequency =4,~no_cars & (car_sufficiency > 0) & (tot_tours == 4),coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4,coef_car_surplus_vs_workers_and_tour_frequency_is_4 +util_car_surplus_vs_workers_and_tour_frequency_is_5_plus,Dummy for Car Surplus vs Workers & tour frequency =5+,~no_cars & (car_sufficiency > 0) & (tot_tours > 4),coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus +util_presence_of_non_worker_and_tour_frequency_is_1,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =1,has_non_worker & (tot_tours == 1),coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1,coef_presence_of_non_worker_and_tour_frequency_is_1 +util_presence_of_non_worker_and_tour_frequency_is_2,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =2,has_non_worker & (tot_tours == 2),coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2,coef_presence_of_non_worker_and_tour_frequency_is_2 +util_presence_of_non_worker_and_tour_frequency_is_3,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =3,has_non_worker & (tot_tours == 3),coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3,coef_presence_of_non_worker_and_tour_frequency_is_3 +util_presence_of_non_worker_and_tour_frequency_is_4,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =4,has_non_worker & (tot_tours == 4),coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4,coef_presence_of_non_worker_and_tour_frequency_is_4 +util_presence_of_non_worker_and_tour_frequency_is_5,Dummy for Presence of Non-Worker(other than modeled person) & tour frequency =5,has_non_worker & (tot_tours == 5),coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5,coef_presence_of_non_worker_and_tour_frequency_is_5 +util_presence_of_retiree_and_tour_frequency_is_1,Dummy for Presence of Retiree(other than modeled person) & tour frequency =1,has_retiree & (tot_tours == 1),coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1,coef_presence_of_retiree_and_tour_frequency_is_1 +util_presence_of_retiree_and_tour_frequency_is_2,Dummy for Presence of Retiree(other than modeled person) & tour frequency =2,has_retiree & (tot_tours == 2),coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2,coef_presence_of_retiree_and_tour_frequency_is_2 +util_presence_of_retiree_and_tour_frequency_is_3,Dummy for Presence of Retiree(other than modeled person) & tour frequency =3,has_retiree & (tot_tours == 3),coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3,coef_presence_of_retiree_and_tour_frequency_is_3 +util_presence_of_retiree_and_tour_frequency_is_4,Dummy for Presence of Retiree(other than modeled person) & tour frequency =4,has_retiree & (tot_tours == 4),coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4,coef_presence_of_retiree_and_tour_frequency_is_4 +util_presence_of_retiree_and_tour_frequency_is_5,Dummy for Presence of Retiree(other than modeled person) & tour frequency =5,has_retiree & (tot_tours == 5),coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5,coef_presence_of_retiree_and_tour_frequency_is_5 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =1,has_preschool_kid & (tot_tours == 1),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =2,has_preschool_kid & (tot_tours == 2),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =3,has_preschool_kid & (tot_tours == 3),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =4,has_preschool_kid & (tot_tours == 4),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4 +util_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of PreSchool Kid (other than modeled person) in Household & tour frequency =5,has_preschool_kid & (tot_tours == 5),coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =1,has_school_kid & (tot_tours == 1),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =2,has_school_kid & (tot_tours == 2),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =3,has_school_kid & (tot_tours == 3),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =4,has_school_kid & (tot_tours == 4),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4 +util_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,Dummy for Presence of Predriving School Kid (other than modeled person) in Household & tour frequency =5,has_school_kid & (tot_tours == 5),coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5 +util_presence_of_full_time_worker_and_escorting_tour,Dummy for Presence of Full time Worker (other than modeled person) & Escorting tour ,has_full_time * escort,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour,coef_presence_of_full_time_worker_and_escorting_tour +util_presence_of_part_time_worker_and_escorting_tour,Dummy for Presence of Part time Worker (other than modeled person) & Escorting tour ,has_part_time * escort,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour,coef_presence_of_part_time_worker_and_escorting_tour +util_presence_of_non_worker_and_escorting_tour,Dummy for Presence of Non-Worker (other than modeled person) & Escorting tour ,has_non_worker * escort,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour,coef_presence_of_non_worker_and_escorting_tour +util_presence_of_retiree_and_escorting_tour,Dummy for Presence of Retiree (other than modeled person) & Escorting tour ,has_retiree * escort,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour,coef_presence_of_retiree_and_escorting_tour +util_presence_of_university_student_and_escorting_tour,Dummy for Presence of University Student (other than modeled person) & Escorting tour ,has_university * escort,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour,coef_presence_of_university_student_and_escorting_tour +util_presence_of_driving_school_kid_and_escorting_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Escorting tour ,has_driving_kid * escort,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour,coef_presence_of_driving_school_kid_and_escorting_tour +util_presence_of_pre_driving_school_kid_and_escorting_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Escorting tour ,has_school_kid * escort,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour,coef_presence_of_pre_driving_school_kid_and_escorting_tour +util_presence_of_pre_school_kid_and_escorting_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Escorting tour ,has_preschool_kid * escort,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour,coef_presence_of_pre_school_kid_and_escorting_tour +util_at_home_pre_driving_school_kid_and_escorting_tour,Dummy for At home Pre-Driving School Kid & Escorting tour ,has_school_kid_at_home * escort,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour,coef_at_home_pre_driving_school_kid_and_escorting_tour +util_at_home_pre_school_kid_and_escorting_tour,Dummy for At homef Pre-School Kid & Escorting tour ,has_preschool_kid_at_home * escort,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour,coef_at_home_pre_school_kid_and_escorting_tour +util_presence_of_full_time_worker_and_shopping_tour,Dummy for Presence of Full time Worker (other than modeled person) & Shopping tour ,has_full_time * shopping,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour,coef_presence_of_full_time_worker_and_shopping_tour +util_presence_of_part_time_worker_and_shopping_tour,Dummy for Presence of Part time Worker (other than modeled person) & Shopping tour ,has_part_time * shopping,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour,coef_presence_of_part_time_worker_and_shopping_tour +util_presence_of_non_worker_and_shopping_tour,Dummy for Presence of Non-Worker (other than modeled person) & Shopping tour ,has_non_worker * shopping,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour,coef_presence_of_non_worker_and_shopping_tour +util_presence_of_retiree_and_shopping_tour,Dummy for Presence of Retiree (other than modeled person) & Shopping tour ,has_retiree * shopping,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour,coef_presence_of_retiree_and_shopping_tour +util_presence_of_university_student_and_shopping_tour,Dummy for Presence of University Student (other than modeled person) & Shopping tour ,has_university * shopping,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour,coef_presence_of_university_student_and_shopping_tour +util_presence_of_driving_school_kid_and_shopping_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Shopping tour ,has_driving_kid * shopping,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour,coef_presence_of_driving_school_kid_and_shopping_tour +util_presence_of_pre_driving_school_kid_and_shopping_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Shopping tour ,has_school_kid * shopping,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour,coef_presence_of_pre_driving_school_kid_and_shopping_tour +util_presence_of_pre_school_kid_and_shopping_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Shopping tour ,has_preschool_kid * shopping,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour,coef_presence_of_pre_school_kid_and_shopping_tour +util_at_home_pre_driving_school_kid_and_shopping_tour,Dummy for At home Pre-Driving School Kid & Shopping tour ,has_school_kid_at_home * shopping,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour,coef_at_home_pre_driving_school_kid_and_shopping_tour +util_at_home_pre_school_kid_and_shopping_tour,Dummy for At homef Pre-School Kid & Shopping tour ,has_preschool_kid_at_home * shopping,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour,coef_at_home_pre_school_kid_and_shopping_tour +util_presence_of_full_time_worker_and_maintenance_tour,Dummy for Presence of Full time Worker (other than modeled person) & Maintenance tour ,has_full_time * othmaint,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour,coef_presence_of_full_time_worker_and_maintenance_tour +util_presence_of_part_time_worker_and_maintenance_tour,Dummy for Presence of Part time Worker (other than modeled person) & Maintenance tour ,has_part_time * othmaint,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour,coef_presence_of_part_time_worker_and_maintenance_tour +util_presence_of_non_worker_and_maintenance_tour,Dummy for Presence of Non-Worker(other than modeled person) & Maintenance tour ,has_non_worker * othmaint,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour,coef_presence_of_non_worker_and_maintenance_tour +util_presence_of_retiree_and_maintenance_tour,Dummy for Presence of Retiree (other than modeled person) & Maintenance tour ,has_retiree * othmaint,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour,coef_presence_of_retiree_and_maintenance_tour +util_presence_of_university_student_and_maintenance_tour,Dummy for Presence of University Student (other than modeled person) & Maintenance tour ,has_university * othmaint,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour,coef_presence_of_university_student_and_maintenance_tour +util_presence_of_driving_school_kid_and_maintenance_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Maintenance tour ,has_driving_kid * othmaint,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour,coef_presence_of_driving_school_kid_and_maintenance_tour +util_presence_of_pre_driving_school_kid_and_maintenance_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Maintenance tour ,has_school_kid * othmaint,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour,coef_presence_of_pre_driving_school_kid_and_maintenance_tour +util_presence_of_pre_school_kid_and_maintenance_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Maintenance tour ,has_preschool_kid * othmaint,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour,coef_presence_of_pre_school_kid_and_maintenance_tour +util_at_home_pre_driving_school_kid_and_maintenance_tour,Dummy for At home Pre-Driving School Kid & Maintenance tour ,has_school_kid_at_home * othmaint,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour,coef_at_home_pre_driving_school_kid_and_maintenance_tour +util_at_home_pre_school_kid_and_maintenance_tour,Dummy for At homef Pre-School Kid & Maintenance tour ,has_preschool_kid_at_home * othmaint,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour,coef_at_home_pre_school_kid_and_maintenance_tour +util_presence_of_full_time_worker_and_eating_out_tour,Dummy for Presence of Full time Worker (other than modeled person) & Eating Out tour ,has_full_time * eatout,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour,coef_presence_of_full_time_worker_and_eating_out_tour +util_presence_of_part_time_worker_and_eating_out_tour,Dummy for Presence of Part time Worker (other than modeled person) & Eating Out tour ,has_part_time * eatout,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour,coef_presence_of_part_time_worker_and_eating_out_tour +util_presence_of_non_worker_and_eating_out_tour,Dummy for Presence of Non-Worker (other than modeled person) & Eating Out tour ,has_non_worker * eatout,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour,coef_presence_of_non_worker_and_eating_out_tour +util_presence_of_retiree_and_eating_out_tour,Dummy for Presence of Retiree (other than modeled person) & Eating Out tour ,has_retiree * eatout,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour,coef_presence_of_retiree_and_eating_out_tour +util_presence_of_university_student_and_eating_out_tour,Dummy for Presence of University Student (other than modeled person) & Eating Out tour ,has_university * eatout,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour,coef_presence_of_university_student_and_eating_out_tour +util_presence_of_driving_school_kid_and_eating_out_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Eating Out tour ,has_driving_kid * eatout,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour,coef_presence_of_driving_school_kid_and_eating_out_tour +util_presence_of_pre_driving_school_kid_and_eating_out_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Eating Out tour ,has_school_kid * eatout,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour,coef_presence_of_pre_driving_school_kid_and_eating_out_tour +util_presence_of_pre_school_kid_and_eating_out_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Eating Out tour ,has_preschool_kid * eatout,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour,coef_presence_of_pre_school_kid_and_eating_out_tour +util_at_home_pre_driving_school_kid_and_eating_out_tour,Dummy for At home Pre-Driving School Kid & Eating Out tour ,has_school_kid_at_home * eatout,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour,coef_at_home_pre_driving_school_kid_and_eating_out_tour +util_at_home_pre_school_kid_and_eating_out_tour,Dummy for At homef Pre-School Kid & Eating Out tour ,has_preschool_kid_at_home * eatout,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour,coef_at_home_pre_school_kid_and_eating_out_tour +util_presence_of_full_time_worker_and_discretionary_tour,Dummy for Presence of Full time Worker (other than modeled person) & Discretionary tour ,has_full_time * othdiscr,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour,coef_presence_of_full_time_worker_and_discretionary_tour +util_presence_of_part_time_worker_and_discretionary_tour,Dummy for Presence of Part time Worker (other than modeled person) & Discretionary tour ,has_part_time * othdiscr,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour,coef_presence_of_part_time_worker_and_discretionary_tour +util_presence_of_non_worker_and_discretionary_tour,Dummy for Presence of Non-Worker (other than modeled person) & Discretionary tour ,has_non_worker * othdiscr,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour,coef_presence_of_non_worker_and_discretionary_tour +util_presence_of_retiree_and_discretionary_tour,Dummy for Presence of Retiree (other than modeled person) & Discretionary tour ,has_retiree * othdiscr,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour,coef_presence_of_retiree_and_discretionary_tour +util_presence_of_university_student_and_discretionary_tour,Dummy for Presence of University Student (other than modeled person) & Discretionary tour ,has_university * othdiscr,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour,coef_presence_of_university_student_and_discretionary_tour +util_presence_of_driving_school_kid_and_discretionary_tour,Dummy for Presence of Driving School Kid (other than modeled person) & Discretionary tour ,has_driving_kid * othdiscr,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour,coef_presence_of_driving_school_kid_and_discretionary_tour +util_presence_of_pre_driving_school_kid_and_discretionary_tour,Dummy for Presence of Pre-Driving School Kid (other than modeled person) & Discretionary tour ,has_school_kid * othdiscr,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour,coef_presence_of_pre_driving_school_kid_and_discretionary_tour +util_presence_of_pre_school_kid_and_discretionary_tour,Dummy for Presence of Pre-School Kid (other than modeled person) & Discretionary tour ,has_preschool_kid * othdiscr,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour,coef_presence_of_pre_school_kid_and_discretionary_tour +util_at_home_pre_driving_school_kid_and_discretionary_tour,Dummy for At home Pre-Driving School Kid & Discretionary tour ,has_school_kid_at_home * othdiscr,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour,coef_at_home_pre_driving_school_kid_and_discretionary_tour +util_at_home_pre_school_kid_and_discretionary_tour,Dummy for At homef Pre-School Kid & Discretionary tour ,has_preschool_kid_at_home * othdiscr,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour,coef_at_home_pre_school_kid_and_discretionary_tour +util_walk_access_to_retail_and_tour_frequency_is_1,Walk Access to Retail & Tour Frequency =1,nmRetail * (tot_tours == 1),coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1,coef_walk_access_to_retail_and_tour_frequency_is_1 +util_walk_access_to_retail_and_tour_frequency_is_2,Walk Access to Retail & Tour Frequency =2,nmRetail * (tot_tours == 2),coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2,coef_walk_access_to_retail_and_tour_frequency_is_2 +util_walk_access_to_retail_and_tour_frequency_is_3,Walk Access to Retail & Tour Frequency =3,nmRetail * (tot_tours == 3),coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3,coef_walk_access_to_retail_and_tour_frequency_is_3 +util_walk_access_to_retail_and_tour_frequency_is_4,Walk Access to Retail & Tour Frequency =4,nmRetail * (tot_tours == 4),coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4,coef_walk_access_to_retail_and_tour_frequency_is_4 +util_walk_access_to_retail_and_tour_frequency_is_5_plus,Walk Access to Retail & Tour Frequency =5+,nmRetail * (tot_tours > 4),coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus,coef_walk_access_to_retail_and_tour_frequency_is_5_plus +util_transit_access_to_retail_and_tour_frequency_is_1,Transit Access to Retail & Tour Frequency =1,trOpRetail * (tot_tours == 1),coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1,coef_transit_access_to_retail_and_tour_frequency_is_1 +util_transit_access_to_retail_and_tour_frequency_is_2,Transit Access to Retail & Tour Frequency =2,trOpRetail * (tot_tours == 2),coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2,coef_transit_access_to_retail_and_tour_frequency_is_2 +util_transit_access_to_retail_and_tour_frequency_is_3,Transit Access to Retail & Tour Frequency =3,trOpRetail * (tot_tours == 3),coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3,coef_transit_access_to_retail_and_tour_frequency_is_3 +util_transit_access_to_retail_and_tour_frequency_is_4,Transit Access to Retail & Tour Frequency =4,trOpRetail * (tot_tours == 4),coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4,coef_transit_access_to_retail_and_tour_frequency_is_4 +util_transit_access_to_retail_and_tour_frequency_is_5_plus,Transit Access to Retail & Tour Frequency =5+,trOpRetail * (tot_tours > 4),coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus,coef_transit_access_to_retail_and_tour_frequency_is_5_plus +util_auto_access_to_retail_and_tour_frequency_is_1,Auto Access to Retail & Tour Frequency =1,auOpRetail * (tot_tours == 1),coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1,coef_auto_access_to_retail_and_tour_frequency_is_1 +util_auto_access_to_retail_and_tour_frequency_is_2,Auto Access to Retail & Tour Frequency =2,auOpRetail * (tot_tours == 2),coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2,coef_auto_access_to_retail_and_tour_frequency_is_2 +util_auto_access_to_retail_and_tour_frequency_is_3,Auto Access to Retail & Tour Frequency =3,auOpRetail * (tot_tours == 3),coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3,coef_auto_access_to_retail_and_tour_frequency_is_3 +util_auto_access_to_retail_and_tour_frequency_is_4,Auto Access to Retail & Tour Frequency =4,auOpRetail * (tot_tours == 4),coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4,coef_auto_access_to_retail_and_tour_frequency_is_4 +util_auto_access_to_retail_and_tour_frequency_is_5_plus,Auto Access to Retail & Tour Frequency =5+,auOpRetail * (tot_tours > 4),coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus,coef_auto_access_to_retail_and_tour_frequency_is_5_plus +util_walk_access_to_retail_and_escorting,Walk Access to Retail & Escorting ,nmRetail * escort,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting,coef_walk_access_to_retail_and_escorting +util_transit_access_to_retail_and_escorting,Transit Access to Retail & Escorting ,trOpRetail * escort,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting,coef_transit_access_to_retail_and_escorting +util_auto_access_to_retail_and_escorting,Auto Access to Retail & Escorting ,auOpRetail * escort,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting,coef_auto_access_to_retail_and_escorting +util_walk_access_to_retail_and_shopping,Walk Access to Retail & Shopping ,nmRetail * shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping,coef_walk_access_to_retail_and_shopping +util_transit_access_to_retail_and_shopping,Transit Access to Retail & Shopping ,trOpRetail * shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping,coef_transit_access_to_retail_and_shopping +util_auto_access_to_retail_and_shopping,Auto Access to Retail & Shopping ,auOpRetail * shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping,coef_auto_access_to_retail_and_shopping +util_walk_access_to_retail_and_maintenance,Walk Access to Retail & Maintenance ,nmRetail * othmaint,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance,coef_walk_access_to_retail_and_maintenance +util_transit_access_to_retail_and_maintenance,Transit Access to Retail & Maintenance ,trOpRetail * othmaint,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance,coef_transit_access_to_retail_and_maintenance +util_auto_access_to_retail_and_maintenance,Auto Access to Retail & Maintenance ,auOpRetail * othmaint,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance,coef_auto_access_to_retail_and_maintenance +util_walk_access_to_retail_and_eating_out,Walk Access to Retail & Eating Out ,nmRetail * eatout,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out,coef_walk_access_to_retail_and_eating_out +util_transit_access_to_retail_and_eating_out,Transit Access to Retail & Eating Out ,trOpRetail * eatout,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out,coef_transit_access_to_retail_and_eating_out +util_auto_access_to_retail_and_eating_out,Auto Access to Retail & Eating Out ,auOpRetail * eatout,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out,coef_auto_access_to_retail_and_eating_out +util_walk_access_to_retail_and_discretionary,Walk Access to Retail & Discretionary ,nmRetail * othdiscr,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary,coef_walk_access_to_retail_and_discretionary +util_transit_access_to_retail_and_discretionary,Transit Access to Retail & Discretionary ,trOpRetail * othdiscr,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary,coef_transit_access_to_retail_and_discretionary +util_auto_access_to_retail_and_discretionary,Auto Access to Retail & Discretionary ,auOpRetail * othdiscr,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary,coef_auto_access_to_retail_and_discretionary +util_urban_and_tour_frequency_is_1,Urban AREATYPE & Tour Frequency =1,home_is_urban & (tot_tours == 1),coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1,coef_urban_and_tour_frequency_is_1 +util_urban_and_tour_frequency_is_2,Urban AREATYPE & Tour Frequency =2,home_is_urban & (tot_tours == 2),coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2,coef_urban_and_tour_frequency_is_2 +util_urban_and_tour_frequency_is_3,Urban AREATYPE & Tour Frequency =3,home_is_urban & (tot_tours == 3),coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3,coef_urban_and_tour_frequency_is_3 +util_urban_and_tour_frequency_is_4,Urban AREATYPE & Tour Frequency =4,home_is_urban & (tot_tours == 4),coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4,coef_urban_and_tour_frequency_is_4 +util_urban_and_tour_frequency_is_5_plus,Urban AREATYPE & Tour Frequency =5+,home_is_urban & (tot_tours > 4),coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus,coef_urban_and_tour_frequency_is_5_plus +util_urban_and_escorting_tour,Urban AREATYPE & Escorting tour,home_is_urban * escort,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour,coef_urban_and_escorting_tour +util_urban_and_shopping_tour,Urban AREATYPE &Shopping tour,home_is_urban * shopping,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour,coef_urban_and_shopping_tour +util_urban_and_maintenance_tour,Urban AREATYPE & Maintenance tour,home_is_urban * othmaint,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour,coef_urban_and_maintenance_tour +util_urban_and_eatingout_tour,Urban AREATYPE & EatingOut tour,home_is_urban * eatout,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour,coef_urban_and_eatingout_tour +util_urban_and_discretionary_tour,Urban AREATYPE & Discretionary tour,home_is_urban * othdiscr,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour,coef_urban_and_discretionary_tour +util_1_escort_tour_constant,1 Escort Tour Constant,escort == 1,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant,coef_1_escort_tour_constant +util_2_plus_escort_tours_constant,2+ Escort Tours Constant,escort >= 2,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant,coef_2_plus_escort_tours_constant +util_1_plus_shopping_tours_constant,1+ Shopping Tours Constant,shopping >= 1,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant,coef_1_plus_shopping_tours_constant +util_1_plus_maintenance_tours_constant,1+ Maintenance Tours Constant,othmaint >= 1,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant,coef_1_plus_maintenance_tours_constant +util_1_plus_eating_out_tours_constant,1+ Eating Out Tours Constant,eatout >= 1,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant,coef_1_plus_eating_out_tours_constant +util_1_plus_visting_tours_constant,1+ Visting Tours Constant,social >= 1,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant,coef_1_plus_visting_tours_constant +util_1_plus_other_discretionary_tours_constant,1+ Other Discretionary Tours Constant,othdiscr >= 1,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant,coef_1_plus_other_discretionary_tours_constant +util_0_auto_household_and_escorting_tour,Dummy for 0-auto household & Escorting Tour,escort * no_cars,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour,coef_0_auto_household_and_escorting_tour +util_calibration_mand_gt0_nonmandtours_1,Mandatory tours > 0 and Non-mandatory tours = 1 Calibration Constant,(num_mand > 0) & (tot_tours == 1),coef_calib_nonmandtours_1_mand_gt0,coef_calib_nonmandtours_1_mand_gt0,coef_calib_nonmandtours_1_mand_gt0,coef_calib_nonmandtours_1_mand_gt0,coef_calib_nonmandtours_1_mand_gt0,coef_calib_nonmandtours_1_mand_gt0,coef_calib_nonmandtours_1_mand_gt0,coef_calib_nonmandtours_1_mand_gt0 +util_calibration_mand_gt0_nonmandtours_2,Mandatory tours > 0 and Non-mandatory tours = 2 Calibration Constant,(num_mand > 0) & (tot_tours == 2),coef_calib_nonmandtours_2_mand_gt0,coef_calib_nonmandtours_2_mand_gt0,coef_calib_nonmandtours_2_mand_gt0,coef_calib_nonmandtours_2_mand_gt0,coef_calib_nonmandtours_2_mand_gt0,coef_calib_nonmandtours_2_mand_gt0,coef_calib_nonmandtours_2_mand_gt0,coef_calib_nonmandtours_2_mand_gt0 +util_calibration_mand_gt0_nonmandtours_gt3,Mandatory tours > 0 and Non-mandatory tours = 3+ Calibration Constant,(num_mand > 0) & (tot_tours >= 3),coef_calib_nonmandtours_gt3_mand_gt0,coef_calib_nonmandtours_gt3_mand_gt0,coef_calib_nonmandtours_gt3_mand_gt0,coef_calib_nonmandtours_gt3_mand_gt0,coef_calib_nonmandtours_gt3_mand_gt0,coef_calib_nonmandtours_gt3_mand_gt0,coef_calib_nonmandtours_gt3_mand_gt0,coef_calib_nonmandtours_gt3_mand_gt0 +util_calibration_mand_0_nonmandtours_2,Mandatory tours = 0 and Non-mandatory tours = 2 Calibration Constant,(num_mand == 0)&(tot_tours == 2),coef_calib_nonmandtours_2_mand_0,coef_calib_nonmandtours_2_mand_0,coef_calib_nonmandtours_2_mand_0,coef_calib_nonmandtours_2_mand_0,coef_calib_nonmandtours_2_mand_0,coef_calib_nonmandtours_2_mand_0,coef_calib_nonmandtours_2_mand_0,coef_calib_nonmandtours_2_mand_0 +util_calibration_mand_0_nonmandtours_3,Mandatory tours = 0 and Non-mandatory tours = 3 Calibration Constant,(num_mand == 0)&(tot_tours == 3),coef_calib_nonmandtours_3_mand_0,coef_calib_nonmandtours_3_mand_0,coef_calib_nonmandtours_3_mand_0,coef_calib_nonmandtours_3_mand_0,coef_calib_nonmandtours_3_mand_0,coef_calib_nonmandtours_3_mand_0,coef_calib_nonmandtours_3_mand_0,coef_calib_nonmandtours_3_mand_0 +util_calibration_mand_0_nonmandtours_gt4,Mandatory tours = 0 and Non-mandatory tours = 4+ Calibration Constant,(num_mand == 0)&(tot_tours >= 4),coef_calib_nonmandtours_gt4_mand_0,coef_calib_nonmandtours_gt4_mand_0,coef_calib_nonmandtours_gt4_mand_0,coef_calib_nonmandtours_gt4_mand_0,coef_calib_nonmandtours_gt4_mand_0,coef_calib_nonmandtours_gt4_mand_0,coef_calib_nonmandtours_gt4_mand_0,coef_calib_nonmandtours_gt4_mand_0 +util_tc_1dayperweek_1,Person that telecommutes 1 day per week,telecommute_frequency=='1_day_week' & tot_tours == 1,coef_tc_1dayperweek_1,coef_tc_1dayperweek_1,coef_tc_1dayperweek_1,0,0,0,0 +util_tc_23dayperweek_1,Person that telecommutes 2 to 3 days per week,telecommute_frequency=='2_3_days_week' & tot_tours == 1,coef_tc_23dayperweek_1,coef_tc_23dayperweek_1,coef_tc_23dayperweek_1,0,0,0,0 +util_tc_4pdayperweek_1,Person that telecommutes 2 to 3 days per week,telecommute_frequency=='4_days_week' & tot_tours == 1,coef_tc_4pdayperweek_1,coef_tc_4pdayperweek_1,coef_tc_4pdayperweek_1,0,0,0,0 +util_tc_1dayperweek_2p,Person that telecommutes 1 day per week,telecommute_frequency=='1_day_week' & tot_tours > 1,coef_tc_1dayperweek_2p,coef_tc_1dayperweek_2p,coef_tc_1dayperweek_2p,0,0,0,0 +util_tc_23dayperweek_2p,Person that telecommutes 2 to 3 days per week,telecommute_frequency=='2_3_days_week' & tot_tours > 1,coef_tc_23dayperweek_2p,coef_tc_23dayperweek_2p,coef_tc_23dayperweek_2p,0,0,0,0 +util_tc_4pdayperweek_2p,Person that telecommutes 2 to 3 days per week,telecommute_frequency=='4_days_week' & tot_tours > 1,coef_tc_4pdayperweek_2p,coef_tc_4pdayperweek_2p,coef_tc_4pdayperweek_2p,0,0,0,0 \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency.yaml b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency.yaml old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency.yaml rename to activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency.yaml index bd1c6f12d3..239b5a38a6 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency.yaml +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency.yaml @@ -1,42 +1,42 @@ - -SEGMENT_COL: ptype -SPEC: non_mandatory_tour_frequency.csv - -SPEC_SEGMENTS: - - NAME: PTYPE_FULL - PTYPE: 1 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv - - NAME: PTYPE_PART - PTYPE: 2 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv - - NAME: PTYPE_UNIVERSITY - PTYPE: 3 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv - - NAME: PTYPE_NONWORK - PTYPE: 4 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv - - NAME: PTYPE_RETIRED - PTYPE: 5 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv - - NAME: PTYPE_DRIVING - PTYPE: 6 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv - - NAME: PTYPE_SCHOOL - PTYPE: 7 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv - - NAME: PTYPE_PRESCHOOL - PTYPE: 8 - COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv - -annotate_persons: - SPEC: annotate_persons_nmtf - DF: persons - TABLES: - - tours - -preprocessor: - SPEC: non_mandatory_tour_frequency_annotate_persons_preprocessor - DF: persons - TABLES: - - tours -# - accessibility + +SEGMENT_COL: ptype +SPEC: non_mandatory_tour_frequency.csv + +SPEC_SEGMENTS: + - NAME: PTYPE_FULL + PTYPE: 1 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv + - NAME: PTYPE_PART + PTYPE: 2 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv + - NAME: PTYPE_UNIVERSITY + PTYPE: 3 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv + - NAME: PTYPE_NONWORK + PTYPE: 4 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv + - NAME: PTYPE_RETIRED + PTYPE: 5 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv + - NAME: PTYPE_DRIVING + PTYPE: 6 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv + - NAME: PTYPE_SCHOOL + PTYPE: 7 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv + - NAME: PTYPE_PRESCHOOL + PTYPE: 8 + COEFFICIENTS: non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv + +annotate_persons: + SPEC: annotate_persons_nmtf + DF: persons + TABLES: + - tours + +preprocessor: + SPEC: non_mandatory_tour_frequency_annotate_persons_preprocessor + DF: persons + TABLES: + - tours +# - accessibility diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_alternatives.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_alternatives.csv new file mode 100644 index 0000000000..b9765aa75a --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_alternatives.csv @@ -0,0 +1,97 @@ +escort,shopping,othmaint,othdiscr,eatout,social +0,0,0,0,0,0 +0,0,0,1,0,0 +0,0,0,0,0,1 +0,0,0,1,0,1 +0,0,0,0,1,0 +0,0,0,1,1,0 +0,0,0,0,1,1 +0,0,0,1,1,1 +0,0,1,0,0,0 +0,0,1,1,0,0 +0,0,1,0,0,1 +0,0,1,1,0,1 +0,0,1,0,1,0 +0,0,1,1,1,0 +0,0,1,0,1,1 +0,0,1,1,1,1 +0,1,0,0,0,0 +0,1,0,1,0,0 +0,1,0,0,0,1 +0,1,0,1,0,1 +0,1,0,0,1,0 +0,1,0,1,1,0 +0,1,0,0,1,1 +0,1,0,1,1,1 +0,1,1,0,0,0 +0,1,1,1,0,0 +0,1,1,0,0,1 +0,1,1,1,0,1 +0,1,1,0,1,0 +0,1,1,1,1,0 +0,1,1,0,1,1 +0,1,1,1,1,1 +1,0,0,0,0,0 +1,0,0,1,0,0 +1,0,0,0,0,1 +1,0,0,1,0,1 +1,0,0,0,1,0 +1,0,0,1,1,0 +1,0,0,0,1,1 +1,0,0,1,1,1 +1,0,1,0,0,0 +1,0,1,1,0,0 +1,0,1,0,0,1 +1,0,1,1,0,1 +1,0,1,0,1,0 +1,0,1,1,1,0 +1,0,1,0,1,1 +1,0,1,1,1,1 +1,1,0,0,0,0 +1,1,0,1,0,0 +1,1,0,0,0,1 +1,1,0,1,0,1 +1,1,0,0,1,0 +1,1,0,1,1,0 +1,1,0,0,1,1 +1,1,0,1,1,1 +1,1,1,0,0,0 +1,1,1,1,0,0 +1,1,1,0,0,1 +1,1,1,1,0,1 +1,1,1,0,1,0 +1,1,1,1,1,0 +1,1,1,0,1,1 +1,1,1,1,1,1 +2,0,0,0,0,0 +2,0,0,1,0,0 +2,0,0,0,0,1 +2,0,0,1,0,1 +2,0,0,0,1,0 +2,0,0,1,1,0 +2,0,0,0,1,1 +2,0,0,1,1,1 +2,0,1,0,0,0 +2,0,1,1,0,0 +2,0,1,0,0,1 +2,0,1,1,0,1 +2,0,1,0,1,0 +2,0,1,1,1,0 +2,0,1,0,1,1 +2,0,1,1,1,1 +2,1,0,0,0,0 +2,1,0,1,0,0 +2,1,0,0,0,1 +2,1,0,1,0,1 +2,1,0,0,1,0 +2,1,0,1,1,0 +2,1,0,0,1,1 +2,1,0,1,1,1 +2,1,1,0,0,0 +2,1,1,1,0,0 +2,1,1,0,0,1 +2,1,1,1,0,1 +2,1,1,0,1,0 +2,1,1,1,1,0 +2,1,1,0,1,1 +2,1,1,1,1,1 diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv rename to activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv index c764831615..fc6616aba2 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_annotate_persons_preprocessor.csv @@ -1,21 +1,21 @@ -Description,Target,Expression -#,, -,max_window,person_max_window(persons)/2.25 -,log_max_window,np.log1p(max_window) -,medium_low_income,(persons.income_in_thousands > 20) & (persons.income_in_thousands <= 50) -,medium_high_income,(persons.income_in_thousands > 50) & (persons.income_in_thousands <= 100) -,high_income,(persons.income_in_thousands > 100) -,no_cars,(persons.auto_ownership == 0) -,car_sufficiency,persons.auto_ownership-persons.num_workers -#,, -# UEC file comments says these are joint tour counts per persons but code is for household counts,, -,_JOINT_TOURS,tours[tours.tour_category=='joint'] -,num_hh_joint_tours,"reindex_i(_JOINT_TOURS.groupby('household_id').size(), persons.household_id)" -,num_hh_joint_shop_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='shopping'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_eatout_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='eatout'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_maint_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='maint'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_social_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='social'].groupby('household_id').size(), persons.household_id)" -,num_hh_joint_othdiscr_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='othdiscr'].groupby('household_id').size(), persons.household_id)" -# non_mandatory tour frequency extension,, -,has_mandatory_tour,(persons.num_mand > 0) * 1 -,has_joint_tour,(persons.num_joint_tours > 0) * 1 +Description,Target,Expression +#,, +,max_window,person_max_window(persons)/2.25 +,log_max_window,np.log1p(max_window) +,medium_low_income,(persons.income_in_thousands > 20) & (persons.income_in_thousands <= 50) +,medium_high_income,(persons.income_in_thousands > 50) & (persons.income_in_thousands <= 100) +,high_income,(persons.income_in_thousands > 100) +,no_cars,(persons.auto_ownership == 0) +,car_sufficiency,persons.auto_ownership-persons.num_workers +#,, +# UEC file comments says these are joint tour counts per persons but code is for household counts,, +,_JOINT_TOURS,tours[tours.tour_category=='joint'] +,num_hh_joint_tours,"reindex_i(_JOINT_TOURS.groupby('household_id').size(), persons.household_id)" +,num_hh_joint_shop_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='shopping'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_eatout_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='eatout'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_maint_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='maint'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_social_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='social'].groupby('household_id').size(), persons.household_id)" +,num_hh_joint_othdiscr_tours,"reindex_i(_JOINT_TOURS[_JOINT_TOURS.tour_type=='othdiscr'].groupby('household_id').size(), persons.household_id)" +# non_mandatory tour frequency extension,, +,has_mandatory_tour,(persons.num_mand > 0) * 1 +,has_joint_tour,(persons.num_joint_tours > 0) * 1 diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv new file mode 100644 index 0000000000..8f120c97d5 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_DRIVING.csv @@ -0,0 +1,217 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.1506,F +coef_total_number_of_tours_is_2,-11.1214,F +coef_total_number_of_tours_is_3,-13.175,F +coef_total_number_of_tours_is_4,-999,T +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.234,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.9231,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-6.5835,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.2162,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3587,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-4.2701,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.3298,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.3759,F +coef_logged_maximum_residual_window_tour_frequency_is_3,3.2808,F +coef_logged_maximum_residual_window_tour_frequency_is_4,3.2808,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,3.2808,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0.2443,F +coef_high_income_group_and_shopping_tour,0.2443,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0.3982,F +coef_high_income_group_and_maintenance_tour,0.3982,F +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0.4916,F +coef_high_income_group_and_eating_out_tour,0.4916,F +coef_mediumlow_income_group_and_discretionary_tour,0.9169,F +coef_mediumhigh_income_group_and_discretionary_tour,1.405,F +coef_high_income_group_and_discretionary_tour,2.327,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0.2858,F +coef_high_income_group_and_visiting_tour,0.2858,F +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.6369,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.6369,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.6369,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.2902,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.0352,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.0352,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,-0.6571,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.4044,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.4044,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.4044,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.3219,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-1.0874,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-1.0874,F +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,0,T +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,-0.6377,F +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,-1.5698,F +coef_presence_of_pre_school_kid_and_eating_out_tour,-0.2987,F +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,-1.2834,F +coef_presence_of_driving_school_kid_and_discretionary_tour,-0.9202,F +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_2,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_3,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_4,0.1004,F +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0.1004,F +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,1.0394,F +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.4934,F +coef_2_plus_escort_tours_constant,1.4155,F +coef_1_plus_shopping_tours_constant,0.532,F +coef_1_plus_maintenance_tours_constant,-0.4344,F +coef_1_plus_eating_out_tours_constant,-0.0242,F +coef_1_plus_visting_tours_constant,0.2367,F +coef_1_plus_other_discretionary_tours_constant,-0.2602,F +coef_0_auto_household_and_escorting_tour,-2, +coef_calib_nonmandtours_1_mand_gt0,-0.583554487,T +coef_calib_nonmandtours_2_mand_gt0,-5.8999778,T +coef_calib_nonmandtours_gt3_mand_gt0,-0.207059818,T +coef_calib_nonmandtours_2_mand_0,0.087018342,T +coef_calib_nonmandtours_3_mand_0,-0.142844665,T +coef_calib_nonmandtours_gt4_mand_0,-3.578617789,T diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv new file mode 100644 index 0000000000..b641b5f2d0 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_FULL.csv @@ -0,0 +1,223 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.3572,F +coef_total_number_of_tours_is_2,-10.647,F +coef_total_number_of_tours_is_3,-13.5005,F +coef_total_number_of_tours_is_4,-16.3965,F +coef_total_number_of_tours_is_5,-19.6843,F +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8887,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.3343,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.3343,F +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.3343,F +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,0,T +coef_number_of_joint_tours_and_tour_frequency_is_3,0,T +coef_number_of_joint_tours_and_tour_frequency_is_4,0,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,-0.5866,F +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.2562,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.2868,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.3993,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.3993,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.3993,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.4981,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.8345,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.0213,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.0213,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.4981,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8345,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0213,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0213,F +coef_high_income_group_and_tour_frequency_is_1,0.5189,F +coef_high_income_group_and_tour_frequency_is_2,1.1336,F +coef_high_income_group_and_tour_frequency_is_3,1.3899,F +coef_high_income_group_and_tour_frequency_is_4,1.3899,F +coef_high_income_group_and_tour_frequency_is_5_plus,1.3899,F +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0,T +coef_high_income_group_and_shopping_tour,0,T +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0.5581,F +coef_high_income_group_and_eating_out_tour,0.5581,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0.2565,F +coef_high_income_group_and_discretionary_tour,0.2565,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.2423,F +coef_high_income_group_and_visiting_tour,-0.2423,F +coef_female_and_tour_frequency_is_1,-0.0766,F +coef_female_and_tour_frequency_is_2,-0.1062,F +coef_female_and_tour_frequency_is_3,-0.3274,F +coef_female_and_tour_frequency_is_4,-0.3274,F +coef_female_and_tour_frequency_is_5,-0.3274,F +coef_female_and_escorting_tour,0.1824,F +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.3486,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.3486,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.1304,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.1304,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,-0.4815,F +coef_presence_of_retiree_and_escorting_tour,-0.808,F +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0.3601,F +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3974,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.6842,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,-0.2746,F +coef_at_home_pre_school_kid_and_escorting_tour,-1.5675,F +coef_presence_of_full_time_worker_and_shopping_tour,-0.3059,F +coef_presence_of_part_time_worker_and_shopping_tour,-0.1541,F +coef_presence_of_non_worker_and_shopping_tour,-0.416,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,-0.208,F +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,-0.1685,F +coef_presence_of_part_time_worker_and_maintenance_tour,-0.1584,F +coef_presence_of_non_worker_and_maintenance_tour,-0.3237,F +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.3571,F +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.2014,F +coef_presence_of_retiree_and_eating_out_tour,-0.5708,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,-0.4225,F +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.667,F +coef_presence_of_part_time_worker_and_discretionary_tour,-0.2102,F +coef_presence_of_non_worker_and_discretionary_tour,-0.4281,F +coef_presence_of_retiree_and_discretionary_tour,-0.9104,F +coef_presence_of_university_student_and_discretionary_tour,-0.8551,F +coef_presence_of_driving_school_kid_and_discretionary_tour,-0.3963,F +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,-0.3959,F +coef_presence_of_pre_school_kid_and_discretionary_tour,-0.5081,F +coef_at_home_pre_driving_school_kid_and_discretionary_tour,-0.4703,F +coef_at_home_pre_school_kid_and_discretionary_tour,-0.4703,F +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_2,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_3,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_4,0.0226,F +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0226,F +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0.0451,F +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.033,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0.1067,F +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0.0749,F +coef_walk_access_to_retail_and_eating_out,0.145,F +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0.0567,F +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0.0844,F +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,-0.4316,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.0298,F +coef_2_plus_escort_tours_constant,0.7402,F +coef_1_plus_shopping_tours_constant,0.4774,F +coef_1_plus_maintenance_tours_constant,0.1202,F +coef_1_plus_eating_out_tours_constant,0.0097,F +coef_1_plus_visting_tours_constant,0.0522,F +coef_1_plus_other_discretionary_tours_constant,0.7412,F +coef_0_auto_household_and_escorting_tour,-2,T +coef_calib_nonmandtours_1_mand_gt0,-0.036689277,T +coef_calib_nonmandtours_2_mand_gt0,-0.634072285,T +coef_calib_nonmandtours_gt3_mand_gt0,-1.583991937,T +coef_calib_nonmandtours_2_mand_0,-0.8239916,T +coef_calib_nonmandtours_3_mand_0,-0.826594126,T +coef_calib_nonmandtours_gt4_mand_0,-0.248973454,T +coef_tc_1dayperweek_1,-0.005,F +coef_tc_23dayperweek_1,0.142,F +coef_tc_4pdayperweek_1,-0.406,F +coef_tc_1dayperweek_2p,-0.348,F +coef_tc_23dayperweek_2p,-0.041,F +coef_tc_4pdayperweek_2p,-0.447,F \ No newline at end of file diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv new file mode 100644 index 0000000000..3ad11daf21 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_NONWORK.csv @@ -0,0 +1,217 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-8.9791,F +coef_total_number_of_tours_is_2,-12.0248,F +coef_total_number_of_tours_is_3,-14.8516,F +coef_total_number_of_tours_is_4,-17.7037,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.6766,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.0518,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.0518,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.1699,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.4285,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-0.6551,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-1.0411,F +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-1.0411,F +coef_number_of_joint_shopping_tours,-0.2391,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,-0.7727,F +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.7637,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.7928,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.7928,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.5709,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_3,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_4,0.8315,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0.8315,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.7426,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.8546,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.0792,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.0792,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.0792,F +coef_high_income_group_and_tour_frequency_is_1,1.0633,F +coef_high_income_group_and_tour_frequency_is_2,1.0633,F +coef_high_income_group_and_tour_frequency_is_3,1.7742,F +coef_high_income_group_and_tour_frequency_is_4,2.3941,F +coef_high_income_group_and_tour_frequency_is_5_plus,2.3941,F +coef_mediumlow_income_group_and_shopping_tour,0.7734,F +coef_mediumhigh_income_group_and_shopping_tour,0.8906,F +coef_high_income_group_and_shopping_tour,0.9776,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0.2766,F +coef_mediumhigh_income_group_and_eating_out_tour,0.4631,F +coef_high_income_group_and_eating_out_tour,0.7086,F +coef_mediumlow_income_group_and_discretionary_tour,0.1707,F +coef_mediumhigh_income_group_and_discretionary_tour,0.5009,F +coef_high_income_group_and_discretionary_tour,0.8846,F +coef_mediumlow_income_group_and_visiting_tour,-0.267,F +coef_mediumhigh_income_group_and_visiting_tour,-0.267,F +coef_high_income_group_and_visiting_tour,-0.9449,F +coef_female_and_tour_frequency_is_1,0.3902,F +coef_female_and_tour_frequency_is_2,0.5323,F +coef_female_and_tour_frequency_is_3,0.7452,F +coef_female_and_tour_frequency_is_4,1.1294,F +coef_female_and_tour_frequency_is_5,1.1294,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,-0.2464,F +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,-0.3623,F +coef_zero_car_ownership_and_tour_frequency_is_2,-1.272,F +coef_zero_car_ownership_and_tour_frequency_is_3,-1.9307,F +coef_zero_car_ownership_and_tour_frequency_is_4,-1.9307,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.3623,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-1.272,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-1.9307,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-1.9307,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0.7738,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0.7738,F +coef_presence_of_non_worker_and_tour_frequency_is_1,-0.3763,F +coef_presence_of_non_worker_and_tour_frequency_is_2,-0.719,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.0229,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.0229,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.0229,F +coef_presence_of_retiree_and_tour_frequency_is_1,-0.464,F +coef_presence_of_retiree_and_tour_frequency_is_2,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_3,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_4,-0.4795,F +coef_presence_of_retiree_and_tour_frequency_is_5,-0.4795,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.7161,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.7161,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0.1486,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0.484,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0.484,F +coef_presence_of_full_time_worker_and_escorting_tour,0.3947,F +coef_presence_of_part_time_worker_and_escorting_tour,-0.5861,F +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.3773,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.7194,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,-1.148,F +coef_at_home_pre_school_kid_and_escorting_tour,-0.1373,F +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.4667,F +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.4976,F +coef_presence_of_retiree_and_eating_out_tour,-0.6911,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,-0.3926,F +coef_at_home_pre_school_kid_and_eating_out_tour,-0.3926,F +coef_presence_of_full_time_worker_and_discretionary_tour,-0.3545,F +coef_presence_of_part_time_worker_and_discretionary_tour,-0.3545,F +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0713,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.1256,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.1508,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.1508,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.1508,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.0598,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0.0956,F +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0.0772,F +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.0629,F +coef_2_plus_escort_tours_constant,0.9273,F +coef_1_plus_shopping_tours_constant,0.4683,F +coef_1_plus_maintenance_tours_constant,-0.0653,F +coef_1_plus_eating_out_tours_constant,-0.1429,F +coef_1_plus_visting_tours_constant,-0.1272,F +coef_1_plus_other_discretionary_tours_constant,0.3334,F +coef_0_auto_household_and_escorting_tour,-2,T +coef_calib_nonmandtours_1_mand_gt0,0,T +coef_calib_nonmandtours_2_mand_gt0,0,T +coef_calib_nonmandtours_gt3_mand_gt0,0,T +coef_calib_nonmandtours_2_mand_0,-0.295195996,T +coef_calib_nonmandtours_3_mand_0,-0.883739518,T +coef_calib_nonmandtours_gt4_mand_0,-1.073545808,T diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv new file mode 100644 index 0000000000..d27e5d1f11 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PART.csv @@ -0,0 +1,223 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.6391,F +coef_total_number_of_tours_is_2,-10.4557,F +coef_total_number_of_tours_is_3,-14.0176,F +coef_total_number_of_tours_is_4,-16.9717,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.239,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-1.8208,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.5923,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-2.5923,F +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-2.5923,F +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-1.1986,F +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.5748,F +coef_logged_maximum_residual_window_tour_frequency_is_2,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_3,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_4,2.0026,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,2.0026,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0.5981,F +coef_mediumlow_income_group_and_tour_frequency_is_2,0.9178,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.7539,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.7539,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.7539,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.8682,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5362,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.9331,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.9331,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.9331,F +coef_high_income_group_and_tour_frequency_is_1,0.8682,F +coef_high_income_group_and_tour_frequency_is_2,1.5362,F +coef_high_income_group_and_tour_frequency_is_3,1.9331,F +coef_high_income_group_and_tour_frequency_is_4,1.9331,F +coef_high_income_group_and_tour_frequency_is_5_plus,1.9331,F +coef_mediumlow_income_group_and_shopping_tour,0.4421,F +coef_mediumhigh_income_group_and_shopping_tour,0.4421,F +coef_high_income_group_and_shopping_tour,0.7066,F +coef_mediumlow_income_group_and_maintenance_tour,0.6763,F +coef_mediumhigh_income_group_and_maintenance_tour,0.6763,F +coef_high_income_group_and_maintenance_tour,0.6763,F +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0,T +coef_high_income_group_and_eating_out_tour,0,T +coef_mediumlow_income_group_and_discretionary_tour,0.296,F +coef_mediumhigh_income_group_and_discretionary_tour,0.296,F +coef_high_income_group_and_discretionary_tour,0.296,F +coef_mediumlow_income_group_and_visiting_tour,-0.6868,F +coef_mediumhigh_income_group_and_visiting_tour,-0.6868,F +coef_high_income_group_and_visiting_tour,-0.6868,F +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0.4524,F +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0.3072,F +coef_zero_car_ownership_and_tour_frequency_is_1,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.5498,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.5498,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.5498,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.1559,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.5681,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.5681,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,-0.5263,F +coef_presence_of_retiree_and_escorting_tour,-0.7516,F +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0.4164,F +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.5795,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.5414,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,-0.3131,F +coef_presence_of_part_time_worker_and_maintenance_tour,-0.5621,F +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-0.6545,F +coef_presence_of_retiree_and_eating_out_tour,-1.389,F +coef_presence_of_university_student_and_eating_out_tour,-1.4318,F +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,-1.0371,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0899,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.1447,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.3479,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.3479,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.3479,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,-0.3929,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.5272,F +coef_2_plus_escort_tours_constant,1.5987,F +coef_1_plus_shopping_tours_constant,0.7569,F +coef_1_plus_maintenance_tours_constant,0.5533,F +coef_1_plus_eating_out_tours_constant,0.6914,F +coef_1_plus_visting_tours_constant,0.1405,F +coef_1_plus_other_discretionary_tours_constant,0.7989,F +coef_0_auto_household_and_escorting_tour,-2,T +coef_calib_nonmandtours_1_mand_gt0,-0.960395864,T +coef_calib_nonmandtours_2_mand_gt0,-3.237898437,T +coef_calib_nonmandtours_gt3_mand_gt0,-4.730005533,T +coef_calib_nonmandtours_2_mand_0,-1.289386462,T +coef_calib_nonmandtours_3_mand_0,-2.244022623,T +coef_calib_nonmandtours_gt4_mand_0,-2.739584736,T +coef_tc_1dayperweek_1,-0.005,F +coef_tc_23dayperweek_1,0.142,F +coef_tc_4pdayperweek_1,-0.406,F +coef_tc_1dayperweek_2p,-0.348,F +coef_tc_23dayperweek_2p,-0.041,F +coef_tc_4pdayperweek_2p,-0.447,F \ No newline at end of file diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv new file mode 100644 index 0000000000..d0ed359e21 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_PRESCHOOL.csv @@ -0,0 +1,217 @@ +coefficient_name,value,constrain +coef_escorting_tour,2.491,F +coef_discretionary_tour,0.903,F +coef_shopping_tour,0,T +coef_maintenance_tour,1.022,F +coef_visiting_or_social_tour,0.769,F +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-5.759,F +coef_total_number_of_tours_is_2,-11.517,F +coef_total_number_of_tours_is_3,-17.276,F +coef_total_number_of_tours_is_4,-23.035,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_3,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_4,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,0,T +coef_number_of_joint_tours_and_tour_frequency_is_3,0,T +coef_number_of_joint_tours_and_tour_frequency_is_4,0,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,0,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,0,T +coef_logged_maximum_residual_window_tour_frequency_is_2,0,T +coef_logged_maximum_residual_window_tour_frequency_is_3,0,T +coef_logged_maximum_residual_window_tour_frequency_is_4,0,T +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,0,T +coef_mediumhigh_income_group_and_shopping_tour,0,T +coef_high_income_group_and_shopping_tour,0,T +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,0,T +coef_high_income_group_and_eating_out_tour,0,T +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0,T +coef_high_income_group_and_visiting_tour,0,T +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0,T +coef_presence_of_non_worker_and_tour_frequency_is_2,0,T +coef_presence_of_non_worker_and_tour_frequency_is_3,0,T +coef_presence_of_non_worker_and_tour_frequency_is_4,0,T +coef_presence_of_non_worker_and_tour_frequency_is_5,0,T +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,-0.893,F +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0.89,F +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,1.155,F +coef_presence_of_non_worker_and_shopping_tour,0.808,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,1.037,F +coef_presence_of_non_worker_and_eating_out_tour,1.157,F +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0,T +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0.791,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,0.3622,F +coef_2_plus_escort_tours_constant,2.2219,F +coef_1_plus_shopping_tours_constant,1.6919,F +coef_1_plus_maintenance_tours_constant,0.6788,F +coef_1_plus_eating_out_tours_constant,0.9612,F +coef_1_plus_visting_tours_constant,0.4424,F +coef_1_plus_other_discretionary_tours_constant,1.4935,F +coef_0_auto_household_and_escorting_tour,-2,T +coef_calib_nonmandtours_1_mand_gt0,0,T +coef_calib_nonmandtours_2_mand_gt0,0,T +coef_calib_nonmandtours_gt3_mand_gt0,0,T +coef_calib_nonmandtours_2_mand_0,-0.228121764,T +coef_calib_nonmandtours_3_mand_0,-0.38783141,T +coef_calib_nonmandtours_gt4_mand_0,1.093947549,T diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv new file mode 100644 index 0000000000..0be0707401 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_RETIRED.csv @@ -0,0 +1,217 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-8.5684,F +coef_total_number_of_tours_is_2,-12.7416,F +coef_total_number_of_tours_is_3,-15.0978,F +coef_total_number_of_tours_is_4,-19.5439,F +coef_total_number_of_tours_is_5,-20.7897,F +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-5.0196,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-5.0196,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.95,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-7.143,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,-0.8072,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.8357,F +coef_logged_maximum_residual_window_tour_frequency_is_2,2.2707,F +coef_logged_maximum_residual_window_tour_frequency_is_3,4.4023,F +coef_logged_maximum_residual_window_tour_frequency_is_4,4.4023,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,4.4023,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_2,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_3,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_4,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0,T +coef_high_income_group_and_tour_frequency_is_1,0,T +coef_high_income_group_and_tour_frequency_is_2,0,T +coef_high_income_group_and_tour_frequency_is_3,0,T +coef_high_income_group_and_tour_frequency_is_4,0,T +coef_high_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumlow_income_group_and_shopping_tour,1.0949,F +coef_mediumhigh_income_group_and_shopping_tour,1.0949,F +coef_high_income_group_and_shopping_tour,1.0949,F +coef_mediumlow_income_group_and_maintenance_tour,0.7648,F +coef_mediumhigh_income_group_and_maintenance_tour,0.7648,F +coef_high_income_group_and_maintenance_tour,1.3795,F +coef_mediumlow_income_group_and_eating_out_tour,0.9769,F +coef_mediumhigh_income_group_and_eating_out_tour,1.181,F +coef_high_income_group_and_eating_out_tour,1.4842,F +coef_mediumlow_income_group_and_discretionary_tour,1.0095,F +coef_mediumhigh_income_group_and_discretionary_tour,1.0095,F +coef_high_income_group_and_discretionary_tour,1.0095,F +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.4368,F +coef_high_income_group_and_visiting_tour,-0.5137,F +coef_female_and_tour_frequency_is_1,-0.9348,F +coef_female_and_tour_frequency_is_2,-1.3028,F +coef_female_and_tour_frequency_is_3,-2.266,F +coef_female_and_tour_frequency_is_4,-2.266,F +coef_female_and_tour_frequency_is_5,-2.266,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0.9688,F +coef_female_and_maintenance_tour,0.7424,F +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0.4954,F +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0.7965,F +coef_car_surplus_vs_workers_and_tour_frequency_is_2,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_3,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_4,2.1302,F +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,2.1302,F +coef_presence_of_non_worker_and_tour_frequency_is_1,0.224,F +coef_presence_of_non_worker_and_tour_frequency_is_2,0.2436,F +coef_presence_of_non_worker_and_tour_frequency_is_3,0.62,F +coef_presence_of_non_worker_and_tour_frequency_is_4,3.3742,F +coef_presence_of_non_worker_and_tour_frequency_is_5,3.3742,F +coef_presence_of_retiree_and_tour_frequency_is_1,-0.4458,F +coef_presence_of_retiree_and_tour_frequency_is_2,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_3,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_4,-0.5315,F +coef_presence_of_retiree_and_tour_frequency_is_5,-0.5315,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,1.4903,F +coef_presence_of_pre_school_kid_and_escorting_tour,0.5027,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,-0.3609,F +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.788,F +coef_presence_of_part_time_worker_and_eating_out_tour,-0.788,F +coef_presence_of_non_worker_and_eating_out_tour,-0.788,F +coef_presence_of_retiree_and_eating_out_tour,-0.9282,F +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.4835,F +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,-0.5603,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_2,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_3,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_4,0.0616,F +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0.0616,F +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0,T +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.3992,F +coef_2_plus_escort_tours_constant,0.5175,F +coef_1_plus_shopping_tours_constant,0.5947,F +coef_1_plus_maintenance_tours_constant,0.1046,F +coef_1_plus_eating_out_tours_constant,0.0245,F +coef_1_plus_visting_tours_constant,0.2789,F +coef_1_plus_other_discretionary_tours_constant,0.4282,F +coef_0_auto_household_and_escorting_tour,-2,T +coef_calib_nonmandtours_1_mand_gt0,0,T +coef_calib_nonmandtours_2_mand_gt0,0,T +coef_calib_nonmandtours_gt3_mand_gt0,0,T +coef_calib_nonmandtours_2_mand_0,-0.601049675,T +coef_calib_nonmandtours_3_mand_0,-1.047585076,T +coef_calib_nonmandtours_gt4_mand_0,-0.995317712,T diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv new file mode 100644 index 0000000000..106322e295 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_SCHOOL.csv @@ -0,0 +1,217 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-7.4863,F +coef_total_number_of_tours_is_2,-10.718,F +coef_total_number_of_tours_is_3,-13.7884,F +coef_total_number_of_tours_is_4,-999,T +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-1.0331,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-2.7445,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-2.7445,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,-0.6149,F +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.6149,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,0,T +coef_number_of_joint_maintenance_tours,-1.3476,F +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0,T +coef_logged_maximum_residual_window_tour_frequency_is_0,0,T +coef_logged_maximum_residual_window_tour_frequency_is_1,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.5603,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.5603,F +coef_mediumlow_income_group_and_tour_frequency_is_1,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_2,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_3,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_4,1.0873,F +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,1.0873,F +coef_mediumhigh_income_group_and_tour_frequency_is_1,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,1.5197,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,1.5197,F +coef_high_income_group_and_tour_frequency_is_1,2.0175,F +coef_high_income_group_and_tour_frequency_is_2,2.0175,F +coef_high_income_group_and_tour_frequency_is_3,2.0175,F +coef_high_income_group_and_tour_frequency_is_4,2.0175,F +coef_high_income_group_and_tour_frequency_is_5_plus,2.0175,F +coef_mediumlow_income_group_and_shopping_tour,-0.6506,F +coef_mediumhigh_income_group_and_shopping_tour,-0.6506,F +coef_high_income_group_and_shopping_tour,-0.6506,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,-0.701,F +coef_mediumhigh_income_group_and_eating_out_tour,-0.701,F +coef_high_income_group_and_eating_out_tour,-0.701,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,0,T +coef_high_income_group_and_visiting_tour,0,T +coef_female_and_tour_frequency_is_1,0,T +coef_female_and_tour_frequency_is_2,0,T +coef_female_and_tour_frequency_is_3,0,T +coef_female_and_tour_frequency_is_4,0,T +coef_female_and_tour_frequency_is_5,0,T +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,0,T +coef_female_and_discretionary_tour,0,T +coef_zero_car_ownership_and_tour_frequency_is_1,0,T +coef_zero_car_ownership_and_tour_frequency_is_2,0,T +coef_zero_car_ownership_and_tour_frequency_is_3,0,T +coef_zero_car_ownership_and_tour_frequency_is_4,0,T +coef_zero_car_ownership_and_tour_frequency_is_5_plus,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_1,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_2,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_3,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_4,0,T +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_2,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_3,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_4,0.2177,F +coef_presence_of_non_worker_and_tour_frequency_is_5,0.2177,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-0.4439,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-0.4439,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,-0.2264,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,-0.2264,F +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,0,T +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_school_kid_and_escorting_tour,0,T +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,0,T +coef_presence_of_part_time_worker_and_shopping_tour,0,T +coef_presence_of_non_worker_and_shopping_tour,-0.645,F +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0.9365,F +coef_presence_of_pre_school_kid_and_shopping_tour,0,T +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,0,T +coef_presence_of_part_time_worker_and_eating_out_tour,0,T +coef_presence_of_non_worker_and_eating_out_tour,-1.3074,F +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,0,T +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,0.7526,F +coef_presence_of_part_time_worker_and_discretionary_tour,0.3721,F +coef_presence_of_non_worker_and_discretionary_tour,0,T +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,0,T +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0,T +coef_transit_access_to_retail_and_tour_frequency_is_2,0,T +coef_transit_access_to_retail_and_tour_frequency_is_3,0,T +coef_transit_access_to_retail_and_tour_frequency_is_4,0,T +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0.0629,F +coef_walk_access_to_retail_and_shopping,0,T +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0,T +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0.0738,F +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0,T +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0,T +coef_urban_and_tour_frequency_is_1,0,T +coef_urban_and_tour_frequency_is_2,0,T +coef_urban_and_tour_frequency_is_3,0,T +coef_urban_and_tour_frequency_is_4,0,T +coef_urban_and_tour_frequency_is_5_plus,0,T +coef_urban_and_escorting_tour,0.4352,F +coef_urban_and_shopping_tour,0,T +coef_urban_and_maintenance_tour,0,T +coef_urban_and_eatingout_tour,0,T +coef_urban_and_discretionary_tour,0,T +coef_1_escort_tour_constant,-0.7551,F +coef_2_plus_escort_tours_constant,-0.0086,F +coef_1_plus_shopping_tours_constant,0.4783,F +coef_1_plus_maintenance_tours_constant,-0.506,F +coef_1_plus_eating_out_tours_constant,1.1145,F +coef_1_plus_visting_tours_constant,-0.4006,F +coef_1_plus_other_discretionary_tours_constant,0.4634,F +coef_0_auto_household_and_escorting_tour,-2,T +coef_calib_nonmandtours_1_mand_gt0,-0.156305899,T +coef_calib_nonmandtours_2_mand_gt0,-1.611733765,T +coef_calib_nonmandtours_gt3_mand_gt0,0.625561203,T +coef_calib_nonmandtours_2_mand_0,-1.688433324,T +coef_calib_nonmandtours_3_mand_0,-0.631744091,T +coef_calib_nonmandtours_gt4_mand_0,3.754622037,T diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv new file mode 100644 index 0000000000..75f38dba43 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_coeffs_PTYPE_UNIVERSITY.csv @@ -0,0 +1,223 @@ +coefficient_name,value,constrain +coef_escorting_tour,0,T +coef_discretionary_tour,0,T +coef_shopping_tour,0,T +coef_maintenance_tour,0,T +coef_visiting_or_social_tour,0,T +coef_eating_out_tour,0,T +coef_total_number_of_tours_is_0_no_prior_tours,-999,T +coef_total_number_of_tours_is_0_prior_tours,0,T +coef_total_number_of_tours_is_1,-6.2138,F +coef_total_number_of_tours_is_2,-8.908,F +coef_total_number_of_tours_is_3,-12.3261,F +coef_total_number_of_tours_is_4,-15.8114,F +coef_total_number_of_tours_is_5,-999,T +coef_total_number_of_tours_is_6_plus,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_0,0,T +coef_number_of_mandatory_tours_and_tour_frequency_is_1,-0.1852,F +coef_number_of_mandatory_tours_and_tour_frequency_is_2,-0.8753,F +coef_number_of_mandatory_tours_and_tour_frequency_is_3,-1.6158,F +coef_number_of_mandatory_tours_and_tour_frequency_is_4,-999,T +coef_number_of_mandatory_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_0,0,T +coef_number_of_joint_tours_and_tour_frequency_is_1,0,T +coef_number_of_joint_tours_and_tour_frequency_is_2,-0.3153,F +coef_number_of_joint_tours_and_tour_frequency_is_3,-0.7351,F +coef_number_of_joint_tours_and_tour_frequency_is_4,-999,T +coef_number_of_joint_tours_and_tour_frequency_is_5_plus,-999,T +coef_number_of_joint_shopping_tours,-0.713,F +coef_number_of_joint_maintenance_tours,0,T +coef_number_of_joint_eating_out_tours,0,T +coef_number_of_joint_visit_tours,0,T +coef_number_of_joint_discretionary_tours,0.6713,F +coef_logged_maximum_residual_window_tour_frequency_is_0,1.1858,F +coef_logged_maximum_residual_window_tour_frequency_is_1,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_2,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_3,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_4,1.4842,F +coef_logged_maximum_residual_window_tour_frequency_is_5_plus,1.4842,F +coef_mediumlow_income_group_and_tour_frequency_is_1,0,T +coef_mediumlow_income_group_and_tour_frequency_is_2,0,T +coef_mediumlow_income_group_and_tour_frequency_is_3,0,T +coef_mediumlow_income_group_and_tour_frequency_is_4,0,T +coef_mediumlow_income_group_and_tour_frequency_is_5_plus,0,T +coef_mediumhigh_income_group_and_tour_frequency_is_1,0.1109,F +coef_mediumhigh_income_group_and_tour_frequency_is_2,0.3914,F +coef_mediumhigh_income_group_and_tour_frequency_is_3,0.6137,F +coef_mediumhigh_income_group_and_tour_frequency_is_4,0.6137,F +coef_mediumhigh_income_group_and_tour_frequency_is_5_plus,0.6137,F +coef_high_income_group_and_tour_frequency_is_1,0.3986,F +coef_high_income_group_and_tour_frequency_is_2,0.8009,F +coef_high_income_group_and_tour_frequency_is_3,0.8254,F +coef_high_income_group_and_tour_frequency_is_4,0.8254,F +coef_high_income_group_and_tour_frequency_is_5_plus,0.8254,F +coef_mediumlow_income_group_and_shopping_tour,0.5693,F +coef_mediumhigh_income_group_and_shopping_tour,0.5693,F +coef_high_income_group_and_shopping_tour,0.5693,F +coef_mediumlow_income_group_and_maintenance_tour,0,T +coef_mediumhigh_income_group_and_maintenance_tour,0,T +coef_high_income_group_and_maintenance_tour,0,T +coef_mediumlow_income_group_and_eating_out_tour,0,T +coef_mediumhigh_income_group_and_eating_out_tour,-0.7207,F +coef_high_income_group_and_eating_out_tour,-0.7207,F +coef_mediumlow_income_group_and_discretionary_tour,0,T +coef_mediumhigh_income_group_and_discretionary_tour,0,T +coef_high_income_group_and_discretionary_tour,0,T +coef_mediumlow_income_group_and_visiting_tour,0,T +coef_mediumhigh_income_group_and_visiting_tour,-0.3694,F +coef_high_income_group_and_visiting_tour,-0.3694,F +coef_female_and_tour_frequency_is_1,0.0973,F +coef_female_and_tour_frequency_is_2,0.2361,F +coef_female_and_tour_frequency_is_3,1.9002,F +coef_female_and_tour_frequency_is_4,1.9002,F +coef_female_and_tour_frequency_is_5,1.9002,F +coef_female_and_escorting_tour,0,T +coef_female_and_shopping_tour,0,T +coef_female_and_maintenance_tour,0,T +coef_female_and_eatingout_tour,-0.6568,F +coef_female_and_discretionary_tour,-0.3266,F +coef_zero_car_ownership_and_tour_frequency_is_1,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_2,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_3,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_4,-0.581,F +coef_zero_car_ownership_and_tour_frequency_is_5_plus,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_1,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_2,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_3,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_4,-0.581,F +coef_car_shortage_vs_workers_and_tour_frequency_is_5_plus,-0.581,F +coef_car_surplus_vs_workers_and_tour_frequency_is_1,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_2,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_3,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_4,0,T +coef_car_surplus_vs_workers_and_tour_frequency_is_5_plus,0,T +coef_presence_of_non_worker_and_tour_frequency_is_1,-0.8506,F +coef_presence_of_non_worker_and_tour_frequency_is_2,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_3,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_4,-1.1804,F +coef_presence_of_non_worker_and_tour_frequency_is_5,-1.1804,F +coef_presence_of_retiree_and_tour_frequency_is_1,0,T +coef_presence_of_retiree_and_tour_frequency_is_2,0,T +coef_presence_of_retiree_and_tour_frequency_is_3,0,T +coef_presence_of_retiree_and_tour_frequency_is_4,0,T +coef_presence_of_retiree_and_tour_frequency_is_5,0,T +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_1,-0.9961,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_2,-1.9096,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_3,-2.8469,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_4,-2.8469,F +coef_presence_of_preschool_kid_in_household_and_tour_frequency_is_5,-2.8469,F +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_1,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_2,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_3,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_4,0,T +coef_presence_of_predriving_school_kid_in_household_and_tour_frequency_is_5,0,T +coef_presence_of_full_time_worker_and_escorting_tour,0,T +coef_presence_of_part_time_worker_and_escorting_tour,-1.8213,F +coef_presence_of_non_worker_and_escorting_tour,0,T +coef_presence_of_retiree_and_escorting_tour,0,T +coef_presence_of_university_student_and_escorting_tour,0,T +coef_presence_of_driving_school_kid_and_escorting_tour,0,T +coef_presence_of_pre_driving_school_kid_and_escorting_tour,0.9489,F +coef_presence_of_pre_school_kid_and_escorting_tour,2.1465,F +coef_at_home_pre_driving_school_kid_and_escorting_tour,0,T +coef_at_home_pre_school_kid_and_escorting_tour,0,T +coef_presence_of_full_time_worker_and_shopping_tour,-0.7728,F +coef_presence_of_part_time_worker_and_shopping_tour,-0.5199,F +coef_presence_of_non_worker_and_shopping_tour,0,T +coef_presence_of_retiree_and_shopping_tour,0,T +coef_presence_of_university_student_and_shopping_tour,0,T +coef_presence_of_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_driving_school_kid_and_shopping_tour,0,T +coef_presence_of_pre_school_kid_and_shopping_tour,1.3135,F +coef_at_home_pre_driving_school_kid_and_shopping_tour,0,T +coef_at_home_pre_school_kid_and_shopping_tour,0,T +coef_presence_of_full_time_worker_and_maintenance_tour,0,T +coef_presence_of_part_time_worker_and_maintenance_tour,0,T +coef_presence_of_non_worker_and_maintenance_tour,0,T +coef_presence_of_retiree_and_maintenance_tour,0,T +coef_presence_of_university_student_and_maintenance_tour,0,T +coef_presence_of_driving_school_kid_and_maintenance_tour,0,T +coef_presence_of_pre_driving_school_kid_and_maintenance_tour,0.3863,F +coef_presence_of_pre_school_kid_and_maintenance_tour,0.9694,F +coef_at_home_pre_driving_school_kid_and_maintenance_tour,0,T +coef_at_home_pre_school_kid_and_maintenance_tour,0,T +coef_presence_of_full_time_worker_and_eating_out_tour,-0.5251,F +coef_presence_of_part_time_worker_and_eating_out_tour,-1.9795,F +coef_presence_of_non_worker_and_eating_out_tour,0,T +coef_presence_of_retiree_and_eating_out_tour,0,T +coef_presence_of_university_student_and_eating_out_tour,-0.6529,F +coef_presence_of_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_driving_school_kid_and_eating_out_tour,0,T +coef_presence_of_pre_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_driving_school_kid_and_eating_out_tour,0,T +coef_at_home_pre_school_kid_and_eating_out_tour,0,T +coef_presence_of_full_time_worker_and_discretionary_tour,-0.4833,F +coef_presence_of_part_time_worker_and_discretionary_tour,0,T +coef_presence_of_non_worker_and_discretionary_tour,0.9781,F +coef_presence_of_retiree_and_discretionary_tour,0,T +coef_presence_of_university_student_and_discretionary_tour,-0.6542,F +coef_presence_of_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_driving_school_kid_and_discretionary_tour,0,T +coef_presence_of_pre_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_driving_school_kid_and_discretionary_tour,0,T +coef_at_home_pre_school_kid_and_discretionary_tour,0,T +coef_walk_access_to_retail_and_tour_frequency_is_1,0,T +coef_walk_access_to_retail_and_tour_frequency_is_2,0,T +coef_walk_access_to_retail_and_tour_frequency_is_3,0,T +coef_walk_access_to_retail_and_tour_frequency_is_4,0,T +coef_walk_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_transit_access_to_retail_and_tour_frequency_is_1,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_2,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_3,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_4,0.0664,F +coef_transit_access_to_retail_and_tour_frequency_is_5_plus,0.0664,F +coef_auto_access_to_retail_and_tour_frequency_is_1,0,T +coef_auto_access_to_retail_and_tour_frequency_is_2,0,T +coef_auto_access_to_retail_and_tour_frequency_is_3,0,T +coef_auto_access_to_retail_and_tour_frequency_is_4,0,T +coef_auto_access_to_retail_and_tour_frequency_is_5_plus,0,T +coef_walk_access_to_retail_and_escorting,0,T +coef_transit_access_to_retail_and_escorting,0,T +coef_auto_access_to_retail_and_escorting,0,T +coef_walk_access_to_retail_and_shopping,0.0972,F +coef_transit_access_to_retail_and_shopping,0,T +coef_auto_access_to_retail_and_shopping,0,T +coef_walk_access_to_retail_and_maintenance,0,T +coef_transit_access_to_retail_and_maintenance,0.0314,F +coef_auto_access_to_retail_and_maintenance,0,T +coef_walk_access_to_retail_and_eating_out,0,T +coef_transit_access_to_retail_and_eating_out,0,T +coef_auto_access_to_retail_and_eating_out,0.1018,F +coef_walk_access_to_retail_and_discretionary,0,T +coef_transit_access_to_retail_and_discretionary,0,T +coef_auto_access_to_retail_and_discretionary,0.094,F +coef_urban_and_tour_frequency_is_1,-1.1648,F +coef_urban_and_tour_frequency_is_2,-2.3177,F +coef_urban_and_tour_frequency_is_3,-2.5027,F +coef_urban_and_tour_frequency_is_4,-2.5027,F +coef_urban_and_tour_frequency_is_5_plus,-2.5027,F +coef_urban_and_escorting_tour,0.8516,F +coef_urban_and_shopping_tour,0.533,F +coef_urban_and_maintenance_tour,1.0316,F +coef_urban_and_eatingout_tour,0.68,F +coef_urban_and_discretionary_tour,0.9563,F +coef_1_escort_tour_constant,1.7028,F +coef_2_plus_escort_tours_constant,2.8379,F +coef_1_plus_shopping_tours_constant,1.8403,F +coef_1_plus_maintenance_tours_constant,0.3348,F +coef_1_plus_eating_out_tours_constant,2.0723,F +coef_1_plus_visting_tours_constant,1.2172,F +coef_1_plus_other_discretionary_tours_constant,1.3389,F +coef_0_auto_household_and_escorting_tour,-2,T +coef_calib_nonmandtours_1_mand_gt0,1.112189691,T +coef_calib_nonmandtours_2_mand_gt0,0.319534579,T +coef_calib_nonmandtours_gt3_mand_gt0,0.738362555,T +coef_calib_nonmandtours_2_mand_0,-1.075998448,T +coef_calib_nonmandtours_3_mand_0,-2.067563956,T +coef_calib_nonmandtours_gt4_mand_0,-3.294051601,T +coef_tc_1dayperweek_1,-0.005,F +coef_tc_23dayperweek_1,0.142,F +coef_tc_4pdayperweek_1,-0.406,F +coef_tc_1dayperweek_2p,-0.348,F +coef_tc_23dayperweek_2p,-0.041,F +coef_tc_4pdayperweek_2p,-0.447,F \ No newline at end of file diff --git a/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_extension_probs.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_extension_probs.csv new file mode 100644 index 0000000000..ec78c4c8e7 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_frequency_extension_probs.csv @@ -0,0 +1,193 @@ +ptype,has_mandatory_tour,has_joint_tour,nonmandatory_tour_type,0_tours,1_tours,2_tours +1,0,0,1,0.829545455,1,1 +2,0,0,1,0.769230769,1,1 +3,0,0,1,0.893939394,1,1 +4,0,0,1,0.75,1,1 +5,0,0,1,0.842105263,1,1 +6,0,0,1,0.714285714,1,1 +7,0,0,1,0.814814815,1,1 +8,0,0,1,0.75,1,1 +1,1,0,1,0.789473684,1,1 +2,1,0,1,0.6,1,1 +3,1,0,1,1,1,1 +4,1,0,1,1,1,1 +5,1,0,1,0.825910931,1,1 +6,1,0,1,0.837209302,1,1 +7,1,0,1,0.6,1,1 +8,1,0,1,1,1,1 +1,0,1,1,0.842105263,1,1 +2,0,1,1,1,1,1 +3,0,1,1,1,1,1 +4,0,1,1,1,1,1 +5,0,1,1,1,1,1 +6,0,1,1,1,1,1 +7,0,1,1,1,1,1 +8,0,1,1,1,1,1 +1,1,1,1,1,1,1 +2,1,1,1,1,1,1 +3,1,1,1,1,1,1 +4,1,1,1,1,1,1 +5,1,1,1,0.777777778,1,1 +6,1,1,1,1,1,1 +7,1,1,1,1,1,1 +8,1,1,1,1,1,1 +1,0,0,2,0.892694064,0.99086758,1 +2,0,0,2,0.84057971,0.992753623,1 +3,0,0,2,0.971014493,1,1 +4,0,0,2,0.96969697,1,1 +5,0,0,2,0.870056497,0.994350282,1 +6,0,0,2,0.866666667,1,1 +7,0,0,2,0.971014493,1,1 +8,0,0,2,0.931034483,1,1 +1,1,0,2,0.885057471,1,1 +2,1,0,2,0.727272727,1,1 +3,1,0,2,0.971428571,1,1 +4,1,0,2,1,1,1 +5,1,0,2,0.895977809,0.993065187,1 +6,1,0,2,0.885185185,1,1 +7,1,0,2,1,1,1 +8,1,0,2,1,1,1 +1,0,1,2,0.910087719,0.993421053,1 +2,0,1,2,0.88,1,1 +3,0,1,2,0.8,1,1 +4,0,1,2,1,1,1 +5,0,1,2,1,1,1 +6,0,1,2,1,1,1 +7,0,1,2,1,1,1 +8,0,1,2,1,1,1 +1,1,1,2,1,1,1 +2,1,1,2,1,1,1 +3,1,1,2,1,1,1 +4,1,1,2,1,1,1 +5,1,1,2,1,1,1 +6,1,1,2,0.964912281,1,1 +7,1,1,2,1,1,1 +8,1,1,2,0.888888889,1,1 +1,0,0,3,0.935643564,0.997524752,1 +2,0,0,3,0.905660377,1,1 +3,0,0,3,0.978813559,1,1 +4,0,0,3,0.928571429,1,1 +5,0,0,3,0.901515152,0.992424242,1 +6,0,0,3,0.863636364,1,1 +7,0,0,3,0.947368421,1,1 +8,0,0,3,0.913043478,1,1 +1,1,0,3,0.893333333,0.986666667,1 +2,1,0,3,1,1,1 +3,1,0,3,1,1,1 +4,1,0,3,0.857142857,1,1 +5,1,0,3,0.916071429,0.996428571,1 +6,1,0,3,0.856382979,0.984042553,1 +7,1,0,3,1,1,1 +8,1,0,3,1,1,1 +1,0,1,3,0.916201117,0.991620112,1 +2,0,1,3,0.912280702,0.98245614,1 +3,0,1,3,1,1,1 +4,0,1,3,1,1,1 +5,0,1,3,1,1,1 +6,0,1,3,0.833333333,1,1 +7,0,1,3,0.961538462,1,1 +8,0,1,3,1,1,1 +1,1,1,3,0.97826087,0.989130435,1 +2,1,1,3,0.97260274,1,1 +3,1,1,3,1,1,1 +4,1,1,3,1,1,1 +5,1,1,3,0.995762712,1,1 +6,1,1,3,0.921568627,0.980392157,1 +7,1,1,3,1,1,1 +8,1,1,3,1,1,1 +1,0,0,4,0.9218107,0.995884774,1 +2,0,0,4,0.900900901,1,1 +3,0,0,4,0.997354497,1,1 +4,0,0,4,0.991176471,1,1 +5,0,0,4,0.921568627,0.980392157,1 +6,0,0,4,0.954545455,1,1 +7,0,0,4,1,1,1 +8,0,0,4,0.954545455,1,1 +1,1,0,4,0.941176471,0.970588235,1 +2,1,0,4,0.925925926,1,1 +3,1,0,4,1,1,1 +4,1,0,4,0.875,1,1 +5,1,0,4,0.915322581,1,1 +6,1,0,4,0.947674419,0.994186047,1 +7,1,0,4,0.666666667,1,1 +8,1,0,4,1,1,1 +1,0,1,4,0.925925926,0.987654321,1 +2,0,1,4,0.903703704,1,1 +3,0,1,4,1,1,1 +4,0,1,4,1,1,1 +5,0,1,4,1,1,1 +6,0,1,4,1,1,1 +7,0,1,4,1,1,1 +8,0,1,4,1,1,1 +1,1,1,4,1,1,1 +2,1,1,4,0.911111111,1,1 +3,1,1,4,1,1,1 +4,1,1,4,1,1,1 +5,1,1,4,1,1,1 +6,1,1,4,0.962962963,1,1 +7,1,1,4,1,1,1 +8,1,1,4,1,1,1 +1,0,0,5,0.976744186,1,1 +2,0,0,5,0.981818182,1,1 +3,0,0,5,0.985915493,1,1 +4,0,0,5,1,1,1 +5,0,0,5,1,1,1 +6,0,0,5,1,1,1 +7,0,0,5,1,1,1 +8,0,0,5,0.875,1,1 +1,1,0,5,1,1,1 +2,1,0,5,1,1,1 +3,1,0,5,0.964285714,1,1 +4,1,0,5,1,1,1 +5,1,0,5,0.985714286,1,1 +6,1,0,5,0.951807229,1,1 +7,1,0,5,1,1,1 +8,1,0,5,1,1,1 +1,0,1,5,0.926605505,1,1 +2,0,1,5,0.941176471,1,1 +3,0,1,5,1,1,1 +4,0,1,5,1,1,1 +5,0,1,5,1,1,1 +6,0,1,5,1,1,1 +7,0,1,5,1,1,1 +8,0,1,5,1,1,1 +1,1,1,5,1,1,1 +2,1,1,5,1,1,1 +3,1,1,5,0.972972973,1,1 +4,1,1,5,1,1,1 +5,1,1,5,1,1,1 +6,1,1,5,0.933333333,1,1 +7,1,1,5,1,1,1 +8,1,1,5,1,1,1 +1,0,0,6,0.93837535,0.988795518,1 +2,0,0,6,0.888888889,1,1 +3,0,0,6,0.966832504,0.998341625,1 +4,0,0,6,0.942028986,1,1 +5,0,0,6,0.88034188,1,1 +6,0,0,6,0.925925926,1,1 +7,0,0,6,0.967741935,1,1 +8,0,0,6,0.90625,1,1 +1,1,0,6,0.85915493,1,1 +2,1,0,6,0.818181818,0.96969697,1 +3,1,0,6,1,1,1 +4,1,0,6,0.952380952,1,1 +5,1,0,6,0.879237288,0.997881356,1 +6,1,0,6,0.862944162,0.984771574,1 +7,1,0,6,0.9,1,1 +8,1,0,6,1,1,1 +1,0,1,6,0.927835052,0.996563574,1 +2,0,1,6,0.859375,0.9921875,1 +3,0,1,6,1,1,1 +4,0,1,6,1,1,1 +5,0,1,6,0.92,1,1 +6,0,1,6,1,1,1 +7,0,1,6,0.904761905,1,1 +8,0,1,6,1,1,1 +1,1,1,6,0.982758621,1,1 +2,1,1,6,0.927710843,0.987951807,1 +3,1,1,6,0.982954545,1,1 +4,1,1,6,0.938679245,1,1 +5,1,1,6,1,1,1 +6,1,1,6,0.9375,1,1 +7,1,1,6,1,1,1 +8,1,1,6,1,1,1 diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling.yaml b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_scheduling.yaml similarity index 100% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling.yaml rename to activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_scheduling.yaml diff --git a/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv rename to activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv index fa76277995..616a627d22 --- a/activitysim/examples/example_semcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv +++ b/activitysim/examples/prototype_mwcog/configs/non_mandatory_tour_scheduling_annotate_tours_preprocessor.csv @@ -1,5 +1,5 @@ -Description,Target,Expression -#,, -number of person joint tours,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), non_mandatory_tours.person_id)" -#,, -,origin_to_destination_distance,"skim_dict.lookup(non_mandatory_tours.origin, non_mandatory_tours.destination, ('SOV_DIST', 'MD'))" +Description,Target,Expression +#,, +number of person joint tours,num_person_joint_tours,"reindex_i(joint_tour_participants.groupby('person_id').size(), non_mandatory_tours.person_id)" +#,, +,origin_to_destination_distance,"skim_dict.lookup(non_mandatory_tours.origin, non_mandatory_tours.destination, ('SOV_DIST', 'MD'))" diff --git a/activitysim/examples/prototype_mwcog/configs/school_location.csv b/activitysim/examples/prototype_mwcog/configs/school_location.csv new file mode 100644 index 0000000000..8db3f80568 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/school_location.csv @@ -0,0 +1,22 @@ +Label,Description,Expression,university,highschool,gradeschool +local_dist,,_DIST@skims['DIST'],1,1,1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,0,0 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,0,0 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,0,0 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,0,0 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,0,0 +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 +util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 +util_mode_choice_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum_uni,coef_mode_logsum,coef_mode_logsum +util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1,1,1 +util_dist,Distance,@_DIST,0,coef_dist,coef_dist +util_dist_squared,"Distance squared, capped at 20 miles","@(_DIST).clip(0,20)**2",0,coef_dist_squared,coef_dist_squared +util_dist_cubed,"Distance cubed, capped at 20 miles","@(_DIST).clip(0,20)**3",0,coef_dist_cubed,coef_dist_cubed +util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),0,coef_dist_logged,coef_dist_logged +util_dist_part_time,"Distance,part time",@(df['pemploy']==2) * _DIST,0,coef_dist_part_time,coef_dist_part_time +util_dist_child_0_5,"Distance,child 0 to 5",@(df['age_0_to_5']==True) * _DIST,0,coef_dist_child_0_5,coef_dist_child_0_5 +util_dist_child_6_12,"Distance,child 6 to 12",@(df['age_6_to_12']==True) * _DIST,0,coef_dist_child_6_12,coef_dist_child_6_12 +util_dist_low,"Distance,low income (<50)",@(df['income_segment']==INC_LOW_SEGMENT_ID) * _DIST,0,coef_dist_low_inc,coef_dist_low_inc +util_dist_very_high,"Distance,very high income (>150)",@(df['income_segment']==INC_VERYHIGH_SEGMENT_ID) * _DIST,0,coef_dist_very_high_inc,coef_dist_very_high_inc +util_dist_calib,Distance calibration Gen3,@_DIST,0,coef_dist_calib,coef_dist_calib diff --git a/activitysim/examples/prototype_mwcog/configs/school_location.yaml b/activitysim/examples/prototype_mwcog/configs/school_location.yaml new file mode 100644 index 0000000000..4a75198e0a --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/school_location.yaml @@ -0,0 +1,70 @@ +SAMPLE_SIZE: 30 + +SIMULATE_CHOOSER_COLUMNS: + - home_zone_id + - school_segment + - household_id + - is_student + - age_0_to_5 + - age_6_to_12 + - pemploy + - income_segment + - auto_ownership + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: home_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 26 +OUT_PERIOD: 9 + +DEST_CHOICE_COLUMN_NAME: school_zone_id + +SAMPLE_SPEC: school_location_sample.csv +SPEC: school_location.csv +COEFFICIENTS: school_location_coeffs.csv + +LOGSUM_SETTINGS: tour_mode_choice.yaml +LOGSUM_PREPROCESSOR: nontour_preprocessor + +LOGSUM_TOUR_PURPOSE: + university: univ + highschool: school + gradeschool: school + +annotate_persons: + SPEC: annotate_persons_school + DF: persons + +# - shadow pricing + +# required by initialize_households when creating school_destination_size table +CHOOSER_TABLE_NAME: persons + +# size_terms model_selector +MODEL_SELECTOR: school + +# chooser column with segment_id for this segment type +CHOOSER_SEGMENT_COLUMN_NAME: school_segment + +# boolean column to filter choosers (True means keep) +CHOOSER_FILTER_COLUMN_NAME: is_student + + +# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this +SEGMENT_IDS: + university: 3 + highschool: 2 + gradeschool: 1 + +CONSTANTS: + INC_LOW_SEGMENT_ID: 1 + INC_MED_SEGMENT_ID: 2 + INC_HIGH_SEGMENT_ID: 3 + INC_VERYHIGH_SEGMENT_ID: 4 + +# model adds these tables (informational - not added if commented out) +SHADOW_PRICE_TABLE: school_shadow_prices +MODELED_SIZE_TABLE: school_modeled_size + +# not loaded if commented out +SAVED_SHADOW_PRICE_TABLE_NAME: final_school_shadow_prices.csv diff --git a/activitysim/examples/prototype_mwcog/configs/school_location_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/school_location_coeffs.csv new file mode 100644 index 0000000000..a6041e3d5e --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/school_location_coeffs.csv @@ -0,0 +1,18 @@ +coefficient_name,value,constrain +coef_univ_dist_0_1,-3.2451,F +coef_univ_dist_1_2,-2.7011,F +coef_univ_dist_2_5,-0.5707,F +coef_univ_dist_5_15,-0.5002,F +coef_univ_dist_15_up,-0.073,F +coef_mode_logsum_uni,0.5358,F +coef_dist,-0.075971485,F +coef_dist_squared,0,F +coef_dist_cubed,0,F +coef_dist_logged,-2.073546963,F +coef_dist_part_time,-0.049133509,F +coef_dist_child_0_5,0,F +coef_dist_child_6_12,-0.051582555,F +coef_dist_low_inc,-0.028471563,F +coef_dist_very_high_inc,-0.018662186,F +coef_mode_logsum,0.3,F +coef_dist_calib,-0.035,F diff --git a/activitysim/examples/example_semcog/configs/school_location_sample.csv b/activitysim/examples/prototype_mwcog/configs/school_location_sample.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/school_location_sample.csv rename to activitysim/examples/prototype_mwcog/configs/school_location_sample.csv index ed8188b8be..a7d0120ab8 --- a/activitysim/examples/example_semcog/configs/school_location_sample.csv +++ b/activitysim/examples/prototype_mwcog/configs/school_location_sample.csv @@ -1,17 +1,17 @@ -Label,Description,Expression,university,highschool,gradeschool -local_dist,,_DIST@skims['DIST'],1,1,1 -util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,0,0 -util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,0,0 -util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,0,0 -util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,0,0 -util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,0,0 -util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 -util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 -util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 -util_dist,Distance,@_DIST,0,coef_dist,coef_dist -util_dist_squared,"Distance squared, capped at 20 miles","@(_DIST).clip(0,20)**2",0,coef_dist_squared,coef_dist_squared -util_dist_cubed,"Distance cubed, capped at 20 miles","@(_DIST).clip(0,20)**3",0,coef_dist_cubed,coef_dist_cubed -util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),0,coef_dist_logged,coef_dist_logged -util_dist_part_time,"Distance,part time",@(df['pemploy']==2) * _DIST,0,coef_dist_part_time,coef_dist_part_time -util_dist_child_0_5,"Distance,child 0 to 5",@(df['age_0_to_5']==True) * _DIST,0,coef_dist_child_0_5,coef_dist_child_0_5 -util_dist_child_6_12,"Distance,child 6 to 12",@(df['age_6_to_12']==True) * _DIST,0,coef_dist_child_6_12,coef_dist_child_6_12 +Label,Description,Expression,university,highschool,gradeschool +local_dist,,_DIST@skims['DIST'],1,1,1 +util_dist_0_1,"Distance, piecewise linear from 0 to 1 miles","@_DIST.clip(0,1)",coef_univ_dist_0_1,0,0 +util_dist_1_2,"Distance, piecewise linear from 1 to 2 miles","@(_DIST-1).clip(0,1)",coef_univ_dist_1_2,0,0 +util_dist_2_5,"Distance, piecewise linear from 2 to 5 miles","@(_DIST-2).clip(0,3)",coef_univ_dist_2_5,0,0 +util_dist_5_15,"Distance, piecewise linear from 5 to 15 miles","@(_DIST-5).clip(0,10)",coef_univ_dist_5_15,0,0 +util_dist_15_up,"Distance, piecewise linear for 15+ miles",@(_DIST-15.0).clip(0),coef_univ_dist_15_up,0,0 +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1,1,1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1,1,1 +util_no_attractions,No attractions,@df['size_term']==0,-999,-999,-999 +util_dist,Distance,@_DIST,0,coef_dist,coef_dist +util_dist_squared,"Distance squared, capped at 20 miles","@(_DIST).clip(0,20)**2",0,coef_dist_squared,coef_dist_squared +util_dist_cubed,"Distance cubed, capped at 20 miles","@(_DIST).clip(0,20)**3",0,coef_dist_cubed,coef_dist_cubed +util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),0,coef_dist_logged,coef_dist_logged +util_dist_part_time,"Distance,part time",@(df['pemploy']==2) * _DIST,0,coef_dist_part_time,coef_dist_part_time +util_dist_child_0_5,"Distance,child 0 to 5",@(df['age_0_to_5']==True) * _DIST,0,coef_dist_child_0_5,coef_dist_child_0_5 +util_dist_child_6_12,"Distance,child 6 to 12",@(df['age_6_to_12']==True) * _DIST,0,coef_dist_child_6_12,coef_dist_child_6_12 diff --git a/activitysim/examples/prototype_mwcog/configs/settings.yaml b/activitysim/examples/prototype_mwcog/configs/settings.yaml new file mode 100644 index 0000000000..4f81102371 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/settings.yaml @@ -0,0 +1,155 @@ +# input tables +# +# activitysim uses "well-known" index and foreign key names for imported tables (e.g. households, persons, land_use) +# as well as for created tables (tours, joint_tour_participants, trips) +# e.g. the households table must have an index column 'household_id' and the foreign key to households in the +# persons table is also household_id. This naming convention allows activitysim to intuit the relationship +# between tables - for instance, to ensure that multiprocess slicing includes all the persons, tours, and trips +# in the same subprocess pipeline. The same strategy is also when chunking choosers, and to support tracing by +# household_id. +# +# the input_table_list index_col directive instructs activitysim to set the imported table index to zone_id +# you cannot change the well-known name of the index by modifying this directive. However, if your input file +# has a different id column name, you can rename it to the required index name with the rename_columns directive. +# In the settings below, the 'TAZ' column in the imported table is renamed 'zone_id' in the rename_columns settings. +# +# input tables +input_table_list: + # + # households (table index 'household_id') + # + - tablename: households + filename: combined_synthetic_hh_2018.csv + index_col: household_id + rename_columns: + NP: hhsize + VEH: auto_ownership + TAZ: home_zone_id + # + # persons (table index 'person_id') + # + - tablename: persons + filename: combined_synthetic_per_2018.csv + index_col: person_id + rename_columns: + AGEP: age + hh_id: household_id + # + # land_use (table index 'zone_id') + # + - tablename: land_use + filename: LU_taz3722_rnd91a_2018_adj_enrollment.csv + index_col: zone_id + rename_columns: + TAZ: zone_id + +# convert input CSVs to HDF5 format and save to outputs directory +# create_input_store: True + +# number of households to simulate +households_sample_size: 100 +# simulate all households +#households_sample_size: 0 + +#household_ids: override_household_ids.csv + +chunk_size: 0 + +# set false to disable variability check in simple_simulate and interaction_simulate +check_for_variability: False + +# - shadow pricing global switches + +# turn shadow_pricing on and off for all models (e.g. school and work) +# shadow pricing is deprecated for less than full samples +# see shadow_pricing.yaml for additional settings +use_shadow_pricing: False + + +# - tracing + +# trace household id; comment out or leave empty for no trace +# households with all tour types +# [ 728370 1234067 1402924 1594625 1595333 1747572 1896849 1931818 2222690 2344951 2677154] +#trace_hh_id: 94944 + +# trace origin, destination in accessibility calculation; comment out or leave empty for no trace +# trace_od: [5, 11] +trace_od: + + +models: + - initialize_landuse + - compute_accessibility + - initialize_households + - school_location + - workplace_location + - work_from_home + - transit_pass_subsidy + - transit_pass_ownership + - auto_ownership_simulate + - free_parking + - telecommute_frequency + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + - write_data_dictionary + - track_skim_usage + - write_tables + - write_trip_matrices + +# to resume after last successful checkpoint, specify resume_after: _ +resume_after: + +output_tables: + h5_store: False + action: include + prefix: final_ + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - joint_tour_participants + +# area_types less than this are considered urban +urban_threshold: 4 +cbd_threshold: 2 +rural_threshold: 6 + +# - value of time + +# value_of_time = lognormal(np.log(median_value_of_time * mu), sigma).clip(min_vot, max_vot) + +min_value_of_time: 1 +max_value_of_time: 50 +distributed_vot_mu: 0.684 +distributed_vot_sigma: 0.85 + +household_median_value_of_time: + 1: 6.01 + 2: 8.81 + 3: 10.44 + 4: 12.86 diff --git a/activitysim/examples/example_semcog/configs/shadow_pricing.yaml b/activitysim/examples/prototype_mwcog/configs/shadow_pricing.yaml old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_semcog/configs/shadow_pricing.yaml rename to activitysim/examples/prototype_mwcog/configs/shadow_pricing.yaml index b8ee4e9afd..b61ec41928 --- a/activitysim/examples/example_semcog/configs/shadow_pricing.yaml +++ b/activitysim/examples/prototype_mwcog/configs/shadow_pricing.yaml @@ -1,34 +1,34 @@ -shadow_pricing_models: - school: school_location - workplace: workplace_location - -# global switch to enable/disable loading of saved shadow prices -# (ignored if global use_shadow_pricing switch is False) -LOAD_SAVED_SHADOW_PRICES: True - -# number of shadow price iterations for cold start -MAX_ITERATIONS: 10 - -# number of shadow price iterations for warm start (after loading saved shadow_prices) -MAX_ITERATIONS_SAVED: 1 - -# ignore criteria for zones smaller than size_threshold -SIZE_THRESHOLD: 10 - -# zone passes if modeled is within percent_tolerance of predicted_size -PERCENT_TOLERANCE: 5 - -# max percentage of zones allowed to fail -FAIL_THRESHOLD: 10 - -# CTRAMP or daysim -SHADOW_PRICE_METHOD: ctramp -#SHADOW_PRICE_METHOD: daysim - -# ctramp-style shadow_pricing_method parameters -DAMPING_FACTOR: 1 - -# daysim-style shadow_pricing_method parameters -# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? -DAYSIM_ABSOLUTE_TOLERANCE: 50 -DAYSIM_PERCENT_TOLERANCE: 10 +shadow_pricing_models: + school: school_location + workplace: workplace_location + +# global switch to enable/disable loading of saved shadow prices +# (ignored if global use_shadow_pricing switch is False) +LOAD_SAVED_SHADOW_PRICES: True + +# number of shadow price iterations for cold start +MAX_ITERATIONS: 10 + +# number of shadow price iterations for warm start (after loading saved shadow_prices) +MAX_ITERATIONS_SAVED: 1 + +# ignore criteria for zones smaller than size_threshold +SIZE_THRESHOLD: 10 + +# zone passes if modeled is within percent_tolerance of predicted_size +PERCENT_TOLERANCE: 5 + +# max percentage of zones allowed to fail +FAIL_THRESHOLD: 10 + +# CTRAMP or daysim +SHADOW_PRICE_METHOD: ctramp +#SHADOW_PRICE_METHOD: daysim + +# ctramp-style shadow_pricing_method parameters +DAMPING_FACTOR: 1 + +# daysim-style shadow_pricing_method parameters +# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? +DAYSIM_ABSOLUTE_TOLERANCE: 50 +DAYSIM_PERCENT_TOLERANCE: 10 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency.yaml b/activitysim/examples/prototype_mwcog/configs/stop_frequency.yaml new file mode 100644 index 0000000000..bc953e8fcc --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency.yaml @@ -0,0 +1,83 @@ +LOGIT_TYPE: MNL + +preprocessor: + SPEC: stop_frequency_annotate_tours_preprocessor + DF: tours_merged + TABLES: + - persons + - land_use + - accessibility + +SEGMENT_COL: primary_purpose + +SPEC_SEGMENTS: + - primary_purpose: work + SPEC: stop_frequency_work.csv + COEFFICIENTS: stop_frequency_coefficients_work.csv + - primary_purpose: school + SPEC: stop_frequency_school.csv + COEFFICIENTS: stop_frequency_coefficients_school.csv + - primary_purpose: univ + SPEC: stop_frequency_univ.csv + COEFFICIENTS: stop_frequency_coefficients_univ.csv + - primary_purpose: social + SPEC: stop_frequency_social.csv + COEFFICIENTS: stop_frequency_coefficients_social.csv + - primary_purpose: shopping + SPEC: stop_frequency_shopping.csv + COEFFICIENTS: stop_frequency_coefficients_shopping.csv + - primary_purpose: eatout + SPEC: stop_frequency_eatout.csv + COEFFICIENTS: stop_frequency_coefficients_eatout.csv + - primary_purpose: escort + SPEC: stop_frequency_escort.csv + COEFFICIENTS: stop_frequency_coefficients_escort.csv + - primary_purpose: othmaint + SPEC: stop_frequency_othmaint.csv + COEFFICIENTS: stop_frequency_coefficients_othmaint.csv + - primary_purpose: othdiscr + SPEC: stop_frequency_othdiscr.csv + COEFFICIENTS: stop_frequency_coefficients_othdiscr.csv + - primary_purpose: atwork + SPEC: stop_frequency_atwork.csv + COEFFICIENTS: stop_frequency_coefficients_atwork.csv + +CONSTANTS: + TRANSIT_MODES: + - WALK_AB + - WALK_BM + - WALK_MR + - WALK_CR + - PNR_AB + - PNR_BM + - PNR_MR + - PNR_CR + - KNR_AB + - KNR_BM + - KNR_MR + - KNR_CR + + DRIVE_TO_TRANSIT_MODES: + - PNR_AB + - PNR_BM + - PNR_MR + - PNR_CR + - KNR_AB + - KNR_BM + - KNR_MR + - KNR_CR + NONMOTORIZED_MODES: + - WALK + - BIKE + SHOP_TOUR: shopping + MAINT_TOUR: othmaint + SCHOOL_TOUR: school + EATOUT_TOUR: eatout + SOCIAL_TOUR: social + num_atwork_subtours_map: + no_subtours: 0 + eat: 1 + business1: 1 + maint: 1 + business2: 2 + eat_business: 2 diff --git a/activitysim/examples/example_semcog/configs/stop_frequency_alternatives.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_alternatives.csv old mode 100755 new mode 100644 similarity index 94% rename from activitysim/examples/example_semcog/configs/stop_frequency_alternatives.csv rename to activitysim/examples/prototype_mwcog/configs/stop_frequency_alternatives.csv index 0153cb399b..72f49a7c77 --- a/activitysim/examples/example_semcog/configs/stop_frequency_alternatives.csv +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_alternatives.csv @@ -1,18 +1,18 @@ -#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate -alt,out,in -0out_0in,0,0 -0out_1in,0,1 -0out_2in,0,2 -0out_3in,0,3 -1out_0in,1,0 -1out_1in,1,1 -1out_2in,1,2 -1out_3in,1,3 -2out_0in,2,0 -2out_1in,2,1 -2out_2in,2,2 -2out_3in,2,3 -3out_0in,3,0 -3out_1in,3,1 -3out_2in,3,2 -3out_3in,3,3 +#,,alt file for building tours even though simulation is simple_simulate not interaction_simulate +alt,out,in +0out_0in,0,0 +0out_1in,0,1 +0out_2in,0,2 +0out_3in,0,3 +1out_0in,1,0 +1out_1in,1,1 +1out_2in,1,2 +1out_3in,1,3 +2out_0in,2,0 +2out_1in,2,1 +2out_2in,2,2 +2out_3in,2,3 +3out_0in,3,0 +3out_1in,3,1 +3out_2in,3,2 +3out_3in,3,3 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_annotate_tours_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_annotate_tours_preprocessor.csv new file mode 100644 index 0000000000..f69e1a0272 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_annotate_tours_preprocessor.csv @@ -0,0 +1,47 @@ +Description,Target,Expression +#,, +# define primary_purpose to use for slicing choosers with a value that identifies the spec to be used ,, +# e.g. univ segment means there will be a spec called stop_frequency_univ.csv,, +# so the 'school' tour_type can treat univ and non-univ school tours differently,, +,primary_purpose,"df.tour_type.where((df.tour_type != 'school') | ~df.is_university, 'univ')" +,primary_purpose,"primary_purpose.where(df.tour_category!='atwork', 'atwork')" +#,, +,distance_in_miles,od_skims['DIST'] +#,, +,is_joint,df.tour_category=='joint' +,_HH_PERSON_COUNT,"lambda exp, persons: persons.query(exp).groupby('household_id').size()" +,num_full,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_FULL, persons), df.household_id)" +,num_part,"reindex_i(_HH_PERSON_COUNT('ptype == %s' % PEMPLOY_PART, persons), df.household_id)" +,num_student,"reindex_i(_HH_PERSON_COUNT('pstudent != %s' % PSTUDENT_NOT, persons), df.household_id)" +Num Kids between 0 and 4 (including) years old,num_age_0_4,"reindex_i(_HH_PERSON_COUNT('age < 5', persons), df.household_id)" +Num kids between 4 and 15 (including) years old,num_age_5_15,"reindex_i(_HH_PERSON_COUNT('(age >= 5) & (age <16)', persons), df.household_id)" +Number of Adults (>= 16 years old),num_adult,"reindex_i(_HH_PERSON_COUNT('age >= 16', persons), df.household_id)" +,more_cars_than_workers,df.auto_ownership >= (num_full + num_part) +,tour_mode_is_transit,df.tour_mode.isin(TRANSIT_MODES) +,tour_mode_is_drive_transit,df.tour_mode.isin(DRIVE_TO_TRANSIT_MODES) +,tour_mode_is_non_motorized,df.tour_mode.isin(NONMOTORIZED_MODES) +#,, +#num_work_tours already defined,, +school but not university,num_school_tours,"reindex_i(df[primary_purpose==SCHOOL_TOUR].groupby('person_id').size(), df.person_id)" +,num_univ_tours,(df.is_university) * num_school_tours +#num_escort_tours already defined,, +# indiv tour counts should not include joint tours by point_person,, +,num_shop_tours,"reindex_i(df[~is_joint & (df.tour_type==SHOP_TOUR)].groupby('person_id').size(), df.person_id)" +,num_maint_tours,"reindex_i(df[~is_joint & (df.tour_type==MAINT_TOUR)].groupby('person_id').size(), df.person_id)" +,num_eatout_tours,"reindex_i(df[~is_joint & (df.tour_type==EATOUT_TOUR)].groupby('person_id').size(), df.person_id)" +,num_social_tours,"reindex_i(df[~is_joint & (df.tour_type==SOCIAL_TOUR)].groupby('person_id').size(), df.person_id)" +#,, +Number of subtours in the tour,num_atwork_subtours,"df.atwork_subtour_frequency.map(num_atwork_subtours_map, na_action='ignore').fillna(0).astype(np.int8)" +#,, +Number of hh shop tours including joint,num_hh_shop_tours,"reindex_i(df[df.tour_type==SHOP_TOUR].groupby('household_id').size(), df.person_id)" +Number of hh maint tours including joint,num_hh_maint_tours,"reindex_i(df[df.tour_type==MAINT_TOUR].groupby('household_id').size(), df.person_id)" +tourStartsInPeakPeriod,_tour_starts_in_peak,(network_los.skim_time_period_label(df.start) == 'AM') | (network_los.skim_time_period_label(df.start) == 'PM') +AccesibilityAtOrigin fallback,hhacc,0 +AccesibilityAtOrigin if transit,hhacc,"hhacc.where(~tour_mode_is_transit, df.trPkRetail.where(_tour_starts_in_peak, df.trOpRetail))" +AccesibilityAtOrigin if non_motorized,hhacc,"hhacc.where(~tour_mode_is_non_motorized, df.nmRetail)" +AccesibilityADestination fallback,pracc,0 +AccesibilityADestination peak transit,_dest_trPkRetail,"reindex(accessibility.trPkRetail, df.destination)" +AccesibilityADestination off-peak transit,_dest_trOpRetail,"reindex(accessibility.trOpRetail, df.destination)" +AccesibilityAtDestination if transit,pracc,"pracc.where(~tour_mode_is_transit, _dest_trPkRetail.where(_tour_starts_in_peak, _dest_trOpRetail))" +AccesibilityAtDestination if non_motorized,pracc,"pracc.where(~tour_mode_is_non_motorized, reindex(accessibility.nmRetail, df.destination))" +,destination_area_type,"reindex(land_use.AREATYPE, df.destination)" diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_atwork.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_atwork.csv new file mode 100644 index 0000000000..dbd1c61c59 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_atwork.csv @@ -0,0 +1,13 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh_,Middle to Low Income HH ,income_in_thousands<50000,,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_ +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,num_eatout_tours,,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person,coef_number_of_eating_tours_tours_undertaken_by_the_person +util_subtour_departure_less_than_or_equal_to_11am,Subtour departure less than or equal to 11AM,start<12,,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am,coef_subtour_departure_less_than_or_equal_to_11am +util_subtour_return_time_greater_or_equal_to_2pm,Subtour return time greater or equal to 2PM,end>16,,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm,coef_subtour_return_time_greater_or_equal_to_2pm +util_subtour_duration_in_hours_integer_,Subtour duration in hours (integer),end-start,,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_,coef_subtour_duration_in_hours_integer_ +util_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,dummy for subtour origin (tour destination) at Exurban or Rual (AreaTypes = 6 or 7),destination_area_type >5,,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_ +util_primary_destination_accessibility_log_of_it_,Primary Destination Accessibility (LOG of it),pracc,,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_,coef_primary_destination_accessibility_log_of_it_ +util_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,subtour distance in miles (from tour destination to subtour primary destination one way),distance_in_miles,,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_ +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,1,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,1,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,1,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in +util_Phase1_Calibration,Phase1_Calibration,1,,coef_calibration_for_0out_1in,coef_calibration_for_0out_2in,coef_calibration_for_0out_3in,coef_calibration_for_1out_0in,coef_calibration_for_1out_1in,coef_calibration_for_1out_2in,coef_calibration_for_1out_3in,coef_calibration_for_2out_0in,coef_calibration_for_2out_1in,coef_calibration_for_2out_2in,coef_calibration_for_2out_3in,coef_calibration_for_3out_0in,coef_calibration_for_3out_1in,coef_calibration_for_3out_2in,coef_calibration_for_3out_3in diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_atwork.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_atwork.csv new file mode 100644 index 0000000000..5e1a096273 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_atwork.csv @@ -0,0 +1,32 @@ +Description,value,coefficient_name +Middle to Low Income HH ,0.45,coef_middle_to_low_income_hh_ +Number of eating tours tours undertaken by the person,-0.28,coef_number_of_eating_tours_tours_undertaken_by_the_person +Subtour departure less than or equal to 11AM,0.31,coef_subtour_departure_less_than_or_equal_to_11am +Subtour return time greater or equal to 2PM,0.34,coef_subtour_return_time_greater_or_equal_to_2pm +Subtour duration in hours (integer),0.56,coef_subtour_duration_in_hours_integer_ +dummy for subtour origin (tour destination) at Exurban or Rual (AreaTypes = 6 or 7),0.27,coef_dummy_for_subtour_origin_tour_destination_at_exurban_or_rual_areatypes_6_or_7_ +Primary Destination Accessibility (LOG of it),0.18,coef_primary_destination_accessibility_log_of_it_ +subtour distance in miles (from tour destination to subtour primary destination one way),0.02,coef_subtour_distance_in_miles_from_tour_destination_to_subtour_primary_destination_one_way_ +Alternative specific constant for return stops,-3.671,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops,-5.388,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops,-6.21,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for outbound stops,-3.896,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for the total number of stops,2.127,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in +Alternative specific constant for outbound stops,-5.709,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for outbound stops,-7.361,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Calibrated coefficient for stops 0 out and 1 in,-2.63434376,coef_calibration_for_0out_1in +Calibrated coefficient for stops 0 out and 2 in,-2.784737668,coef_calibration_for_0out_2in +Calibrated coefficient for stops 0 out and 3 in,-0.489626558,coef_calibration_for_0out_3in +Calibrated coefficient for stops 1 out and 0 in,-3.622571928,coef_calibration_for_1out_0in +Calibrated coefficient for stops 1 out and 1 in,-0.718600931,coef_calibration_for_1out_1in +Calibrated coefficient for stops 1 out and 2 in,-2.115702598,coef_calibration_for_1out_2in +Calibrated coefficient for stops 1 out and 3 in,-4.459844297,coef_calibration_for_1out_3in +Calibrated coefficient for stops 2 out and 0 in,-3.657486874,coef_calibration_for_2out_0in +Calibrated coefficient for stops 2 out and 1 in,0.273537757,coef_calibration_for_2out_1in +Calibrated coefficient for stops 2 out and 2 in,0.252608976,coef_calibration_for_2out_2in +Calibrated coefficient for stops 2 out and 3 in,-0.50657628,coef_calibration_for_2out_3in +Calibrated coefficient for stops 3 out and 0 in,-5.084387708,coef_calibration_for_3out_0in +Calibrated coefficient for stops 3 out and 1 in,0.390308574,coef_calibration_for_3out_1in +Calibrated coefficient for stops 3 out and 2 in,2.069420944,coef_calibration_for_3out_2in +Calibrated coefficient for stops 3 out and 3 in,2.886598497,coef_calibration_for_3out_3in diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_eatout.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_eatout.csv new file mode 100644 index 0000000000..203b54ba40 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_eatout.csv @@ -0,0 +1,93 @@ +Description,value,coefficient_name +Number of Vehicles,-0.19,coef_number_of_vehicles +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Dummy for walking to all stops,-1.73,coef_dummy_for_walking_to_all_stops +Number of work tours undertaken by the person,-0.28,coef_number_of_work_tours_undertaken_by_the_person +Number of shop tours undertaken by the person,-0.24,coef_number_of_shop_tours_undertaken_by_the_person +At least one kid and one adult participate in the tour,0.37,coef_at_least_one_kid_and_one_adult_participate_in_the_tour +Arrival later than 17:00.,-0.45,coef_arrival_later_than_17_00_ +Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,1.31,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_ +dummy for distance in miles,-0.01,coef_dummy_for_distance_in_miles +No stops if tour mode is driveTransit,-999,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-1.761,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops on joint tours,-1.329,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in +Dummy for a return visiting tour,-0.64,coef_dummy_for_a_return_visiting_tour +Alternative specific constant for return stops,-3.697,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops on joint tours,-2.796,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in +Alternative specific constant for the total number of stops on joint tours,0,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in +Alternative specific constant for return stops,-4.717,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for return stops on joint tours,-3.379,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +Number of persons participating in the tour.Outgoing stops interaction,-0.46,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction +Alternative specific constant for outbound stops,-2.19,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for outbound stops on joint tours,-1.783,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in +Dummy for an outbound visiting tour,-0.69,coef_dummy_for_an_outbound_visiting_tour +Dummy for a visiting tour with both outbound and return leg,0.44,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg +Alternative specific constant for the total number of stops,0.94,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in +Alternative specific constant for the total number of stops on joint tours,0.518,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in +Alternative specific constant for outbound stops,-4.516,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for outbound stops on joint tours,-4.067,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in +Alternative specific constant for the total number of stops,2.026,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for the total number of stops on joint tours,1.497,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +Alternative specific constant for outbound stops,-5.255,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Alternative specific constant for outbound stops on joint tours,-4.998,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +Calibrated coefficient for stops 0 out and 1 in,-0.128986631,coef_calibration_for_0out_1in +Calibrated coefficient for stops 0 out and 2 in,0.188202401,coef_calibration_for_0out_2in +Calibrated coefficient for stops 0 out and 3 in,0.418146682,coef_calibration_for_0out_3in +Calibrated coefficient for stops 1 out and 0 in,0.313324465,coef_calibration_for_1out_0in +Calibrated coefficient for stops 1 out and 1 in,0.680527273,coef_calibration_for_1out_1in +Calibrated coefficient for stops 1 out and 2 in,1.928344879,coef_calibration_for_1out_2in +Calibrated coefficient for stops 1 out and 3 in,-0.120616813,coef_calibration_for_1out_3in +Calibrated coefficient for stops 2 out and 0 in,1.321299113,coef_calibration_for_2out_0in +Calibrated coefficient for stops 2 out and 1 in,1.707738852,coef_calibration_for_2out_1in +Calibrated coefficient for stops 2 out and 2 in,1.476132289,coef_calibration_for_2out_2in +Calibrated coefficient for stops 2 out and 3 in,-0.328929277,coef_calibration_for_2out_3in +Calibrated coefficient for stops 3 out and 0 in,1.676875153,coef_calibration_for_3out_0in +Calibrated coefficient for stops 3 out and 1 in,0.767585618,coef_calibration_for_3out_1in +Calibrated coefficient for stops 3 out and 2 in,1.885405325,coef_calibration_for_3out_2in +Calibrated coefficient for stops 3 out and 3 in,1.528508267,coef_calibration_for_3out_3in +,-0.126,coef_telecommute1_2 +,-0.301,coef_telecommute1_3 +,-0.301,coef_telecommute1_4 +,-0.126,coef_telecommute1_5 +,-0.301,coef_telecommute1_6 +,-0.301,coef_telecommute1_7 +,-0.611,coef_telecommute1_8 +,-0.301,coef_telecommute1_9 +,-0.301,coef_telecommute1_10 +,-0.611,coef_telecommute1_11 +,-0.611,coef_telecommute1_12 +,-0.301,coef_telecommute1_13 +,-0.611,coef_telecommute1_14 +,-0.611,coef_telecommute1_15 +,-0.611,coef_telecommute1_16 +,-0.149,coef_telecommute23_2 +,-0.768,coef_telecommute23_3 +,-0.768,coef_telecommute23_4 +,-0.768,coef_telecommute23_5 +,-0.768,coef_telecommute23_6 +,-0.768,coef_telecommute23_7 +,-0.909,coef_telecommute23_8 +,-0.768,coef_telecommute23_9 +,-0.768,coef_telecommute23_10 +,-0.909,coef_telecommute23_11 +,-0.909,coef_telecommute23_12 +,-0.768,coef_telecommute23_13 +,-0.909,coef_telecommute23_14 +,-0.909,coef_telecommute23_15 +,-0.909,coef_telecommute23_16 +,-0.158,coef_telecommute4p_2 +,-0.473,coef_telecommute4p_3 +,-0.473,coef_telecommute4p_4 +,-0.473,coef_telecommute4p_5 +,-0.473,coef_telecommute4p_6 +,-0.473,coef_telecommute4p_7 +,-1.47,coef_telecommute4p_8 +,-0.473,coef_telecommute4p_9 +,-0.473,coef_telecommute4p_10 +,-1.47,coef_telecommute4p_11 +,-1.47,coef_telecommute4p_12 +,-0.473,coef_telecommute4p_13 +,-1.47,coef_telecommute4p_14 +,-1.47,coef_telecommute4p_15 +,-1.47,coef_telecommute4p_16 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_escort.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_escort.csv new file mode 100644 index 0000000000..4f131a0a23 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_escort.csv @@ -0,0 +1,88 @@ +Description,value,coefficient_name +Number of HH Persons,-0.24,coef_number_of_hh_persons +Number of Students in HH,0.19,coef_number_of_students_in_hh +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Dummy for walking to all stops,-1.91,coef_dummy_for_walking_to_all_stops +Number of work tours undertaken by the person,-0.29,coef_number_of_work_tours_undertaken_by_the_person +Number of escort tours tours undertaken by the person,-0.15,coef_number_of_escort_tours_tours_undertaken_by_the_person +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,0.59,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +dummy for distance less than 5 Miles,0.32,coef_dummy_for_distance_less_than_5_miles +dummy for distance in miles,0.01,coef_dummy_for_distance_in_miles +No stops if tour mode is driveTransit,-999,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-0.968,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops on joint tours,-1.329,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in +Alternative specific constant for return stops,-2.41,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops on joint tours,-2.796,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in +Alternative specific constant for the total number of stops on joint tours,0,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in +Alternative specific constant for return stops,-3.024,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for return stops on joint tours,-3.379,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +Alternative specific constant for outbound stops,-2.173,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for outbound stops on joint tours,-1.783,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in +Alternative specific constant for the total number of stops on joint tours,0.518,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in +Alternative specific constant for outbound stops,-4.294,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for outbound stops on joint tours,-4.067,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in +Alternative specific constant for the total number of stops,-1.807,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for the total number of stops on joint tours,1.497,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +Alternative specific constant for outbound stops,-4.758,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Alternative specific constant for outbound stops on joint tours,-4.998,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +Calibrated coefficient for stops 0 out and 1 in,-0.456326296,coef_calibration_for_0out_1in +Calibrated coefficient for stops 0 out and 2 in,-0.317345391,coef_calibration_for_0out_2in +Calibrated coefficient for stops 0 out and 3 in,-0.79256653,coef_calibration_for_0out_3in +Calibrated coefficient for stops 1 out and 0 in,0.030779564,coef_calibration_for_1out_0in +Calibrated coefficient for stops 1 out and 1 in,-0.082115923,coef_calibration_for_1out_1in +Calibrated coefficient for stops 1 out and 2 in,-0.236742759,coef_calibration_for_1out_2in +Calibrated coefficient for stops 1 out and 3 in,-0.922620733,coef_calibration_for_1out_3in +Calibrated coefficient for stops 2 out and 0 in,0.345406346,coef_calibration_for_2out_0in +Calibrated coefficient for stops 2 out and 1 in,0.713277244,coef_calibration_for_2out_1in +Calibrated coefficient for stops 2 out and 2 in,-2.170823478,coef_calibration_for_2out_2in +Calibrated coefficient for stops 2 out and 3 in,1.928143697,coef_calibration_for_2out_3in +Calibrated coefficient for stops 3 out and 0 in,0.624920575,coef_calibration_for_3out_0in +Calibrated coefficient for stops 3 out and 1 in,1.181749655,coef_calibration_for_3out_1in +Calibrated coefficient for stops 3 out and 2 in,1.977311333,coef_calibration_for_3out_2in +Calibrated coefficient for stops 3 out and 3 in,3.381035483,coef_calibration_for_3out_3in +,-0.126,coef_telecommute1_2 +,-0.301,coef_telecommute1_3 +,-0.301,coef_telecommute1_4 +,-0.126,coef_telecommute1_5 +,-0.301,coef_telecommute1_6 +,-0.301,coef_telecommute1_7 +,-0.611,coef_telecommute1_8 +,-0.301,coef_telecommute1_9 +,-0.301,coef_telecommute1_10 +,-0.611,coef_telecommute1_11 +,-0.611,coef_telecommute1_12 +,-0.301,coef_telecommute1_13 +,-0.611,coef_telecommute1_14 +,-0.611,coef_telecommute1_15 +,-0.611,coef_telecommute1_16 +,-0.149,coef_telecommute23_2 +,-0.768,coef_telecommute23_3 +,-0.768,coef_telecommute23_4 +,-0.768,coef_telecommute23_5 +,-0.768,coef_telecommute23_6 +,-0.768,coef_telecommute23_7 +,-0.909,coef_telecommute23_8 +,-0.768,coef_telecommute23_9 +,-0.768,coef_telecommute23_10 +,-0.909,coef_telecommute23_11 +,-0.909,coef_telecommute23_12 +,-0.768,coef_telecommute23_13 +,-0.909,coef_telecommute23_14 +,-0.909,coef_telecommute23_15 +,-0.909,coef_telecommute23_16 +,-0.158,coef_telecommute4p_2 +,-0.473,coef_telecommute4p_3 +,-0.473,coef_telecommute4p_4 +,-0.473,coef_telecommute4p_5 +,-0.473,coef_telecommute4p_6 +,-0.473,coef_telecommute4p_7 +,-1.47,coef_telecommute4p_8 +,-0.473,coef_telecommute4p_9 +,-0.473,coef_telecommute4p_10 +,-1.47,coef_telecommute4p_11 +,-1.47,coef_telecommute4p_12 +,-0.473,coef_telecommute4p_13 +,-1.47,coef_telecommute4p_14 +,-1.47,coef_telecommute4p_15 +,-1.47,coef_telecommute4p_16 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_othdiscr.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_othdiscr.csv new file mode 100644 index 0000000000..4a861dfa6b --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_othdiscr.csv @@ -0,0 +1,90 @@ +Description,value,coefficient_name +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Dummy for walking to all stops,-2.4578,coef_dummy_for_walking_to_all_stops +Number of work tours undertaken by the person,-0.6153,coef_number_of_work_tours_undertaken_by_the_person +Number of shool tours tours undertaken by the person,-0.8176,coef_number_of_shool_tours_tours_undertaken_by_the_person +Number of shop tours undertaken by the person,-0.629,coef_number_of_shop_tours_undertaken_by_the_person +Number of maintenace tours tours undertaken by the person,-0.3715,coef_number_of_maintenace_tours_tours_undertaken_by_the_person +Arrival later than 17:00.,-0.6383,coef_arrival_later_than_17_00_ +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,0.8335,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +dummy for distance less than 10 Miles ,0.3756,coef_dummy_for_distance_less_than_10_miles_ +dummy for distance in miles,-0.0225,coef_dummy_for_distance_in_miles +No stops if tour mode is driveTransit,-999,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-0.921,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops on joint tours,-1.329,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in +Alternative specific constant for return stops,-2.336,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops on joint tours,-2.796,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in +Alternative specific constant for the total number of stops on joint tours,0,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in +Alternative specific constant for return stops,-2.927,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for return stops on joint tours,-3.379,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +Alternative specific constant for outbound stops,-1.581,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for outbound stops on joint tours,-1.783,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in +Alternative specific constant for the total number of stops,0.863,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in +Alternative specific constant for the total number of stops on joint tours,0.518,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in +Alternative specific constant for outbound stops,-3.323,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for outbound stops on joint tours,-4.067,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in +Alternative specific constant for the total number of stops,0.939,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for the total number of stops on joint tours,1.497,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +Alternative specific constant for outbound stops,-4.623,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Alternative specific constant for outbound stops on joint tours,-4.998,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +Calibrated coefficient for stops 0 out and 1 in,0.290792835,coef_calibration_for_0out_1in +Calibrated coefficient for stops 0 out and 2 in,0.472319542,coef_calibration_for_0out_2in +Calibrated coefficient for stops 0 out and 3 in,0.76294318,coef_calibration_for_0out_3in +Calibrated coefficient for stops 1 out and 0 in,0.694317783,coef_calibration_for_1out_0in +Calibrated coefficient for stops 1 out and 1 in,0.515942097,coef_calibration_for_1out_1in +Calibrated coefficient for stops 1 out and 2 in,0.691734937,coef_calibration_for_1out_2in +Calibrated coefficient for stops 1 out and 3 in,-0.047773074,coef_calibration_for_1out_3in +Calibrated coefficient for stops 2 out and 0 in,1.232476585,coef_calibration_for_2out_0in +Calibrated coefficient for stops 2 out and 1 in,1.267702806,coef_calibration_for_2out_1in +Calibrated coefficient for stops 2 out and 2 in,0.047365121,coef_calibration_for_2out_2in +Calibrated coefficient for stops 2 out and 3 in,-1.077060366,coef_calibration_for_2out_3in +Calibrated coefficient for stops 3 out and 0 in,2.338918384,coef_calibration_for_3out_0in +Calibrated coefficient for stops 3 out and 1 in,-0.480740616,coef_calibration_for_3out_1in +Calibrated coefficient for stops 3 out and 2 in,1.10284077,coef_calibration_for_3out_2in +Calibrated coefficient for stops 3 out and 3 in,2.15563482,coef_calibration_for_3out_3in +,-0.126,coef_telecommute1_2 +,-0.301,coef_telecommute1_3 +,-0.301,coef_telecommute1_4 +,-0.126,coef_telecommute1_5 +,-0.301,coef_telecommute1_6 +,-0.301,coef_telecommute1_7 +,-0.611,coef_telecommute1_8 +,-0.301,coef_telecommute1_9 +,-0.301,coef_telecommute1_10 +,-0.611,coef_telecommute1_11 +,-0.611,coef_telecommute1_12 +,-0.301,coef_telecommute1_13 +,-0.611,coef_telecommute1_14 +,-0.611,coef_telecommute1_15 +,-0.611,coef_telecommute1_16 +,-0.149,coef_telecommute23_2 +,-0.768,coef_telecommute23_3 +,-0.768,coef_telecommute23_4 +,-0.768,coef_telecommute23_5 +,-0.768,coef_telecommute23_6 +,-0.768,coef_telecommute23_7 +,-0.909,coef_telecommute23_8 +,-0.768,coef_telecommute23_9 +,-0.768,coef_telecommute23_10 +,-0.909,coef_telecommute23_11 +,-0.909,coef_telecommute23_12 +,-0.768,coef_telecommute23_13 +,-0.909,coef_telecommute23_14 +,-0.909,coef_telecommute23_15 +,-0.909,coef_telecommute23_16 +,-0.158,coef_telecommute4p_2 +,-0.473,coef_telecommute4p_3 +,-0.473,coef_telecommute4p_4 +,-0.473,coef_telecommute4p_5 +,-0.473,coef_telecommute4p_6 +,-0.473,coef_telecommute4p_7 +,-1.47,coef_telecommute4p_8 +,-0.473,coef_telecommute4p_9 +,-0.473,coef_telecommute4p_10 +,-1.47,coef_telecommute4p_11 +,-1.47,coef_telecommute4p_12 +,-0.473,coef_telecommute4p_13 +,-1.47,coef_telecommute4p_14 +,-1.47,coef_telecommute4p_15 +,-1.47,coef_telecommute4p_16 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_othmaint.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_othmaint.csv new file mode 100644 index 0000000000..95fd9b89c2 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_othmaint.csv @@ -0,0 +1,98 @@ +Description,value,coefficient_name +Middle to Low Income HH ,0.17,coef_middle_to_low_income_hh_ +Mid to High Income HH,0.23,coef_mid_to_high_income_hh +High Income HH,0.24,coef_high_income_hh +Number of HH Persons,-0.31,coef_number_of_hh_persons +Number of Students in HH,0.21,coef_number_of_students_in_hh +Presence of Kids between 0 and 4 (including) years old,0.74,coef_presence_of_kids_between_0_and_4_including_years_old +Dummy for female,0.3012,coef_dummy_for_female +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Dummy for walking to all stops,-1.4329,coef_dummy_for_walking_to_all_stops +Number of work tours undertaken by the person,-0.364,coef_number_of_work_tours_undertaken_by_the_person +Number of university tours tours undertaken by the person,-0.6252,coef_number_of_university_tours_tours_undertaken_by_the_person +Number of shool tours tours undertaken by the person,-1.4135,coef_number_of_shool_tours_tours_undertaken_by_the_person +Number of shop tours undertaken by the person,-0.1428,coef_number_of_shop_tours_undertaken_by_the_person +Number of maintenace tours undertaken by the houshold,-0.0468,coef_number_of_maintenace_tours_undertaken_by_the_houshold +Number of persons participating in the tour.Return stops interaction,0.4904,coef_number_of_persons_participating_in_the_tour_return_stops_interaction +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,0.5134,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +dummy for distance less than 20 Miles ,-0.408,coef_dummy_for_distance_less_than_20_miles_ +dummy for distance in miles,0.0273,coef_dummy_for_distance_in_miles +No stops if tour mode is driveTransit,-999,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-0.585,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops on joint tours,-1.329,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in +Alternative specific constant for return stops,-1.48,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops on joint tours,-2.796,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in +Alternative specific constant for the total number of stops on joint tours,0,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in +Alternative specific constant for return stops,-2.462,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for return stops on joint tours,-3.379,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +Alternative specific constant for outbound stops,-1.761,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for outbound stops on joint tours,-1.783,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in +Alternative specific constant for the total number of stops,0.414,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in +Alternative specific constant for the total number of stops on joint tours,0.518,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in +Alternative specific constant for outbound stops,-3.661,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for outbound stops on joint tours,-4.067,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in +Alternative specific constant for the total number of stops,0.488,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for the total number of stops on joint tours,1.497,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +Alternative specific constant for outbound stops,-5.426,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Alternative specific constant for outbound stops on joint tours,-4.998,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +Calibrated coefficient for stops 0 out and 1 in,0.205739686,coef_calibration_for_0out_1in +Calibrated coefficient for stops 0 out and 2 in,0.210426665,coef_calibration_for_0out_2in +Calibrated coefficient for stops 0 out and 3 in,0.646983288,coef_calibration_for_0out_3in +Calibrated coefficient for stops 1 out and 0 in,0.794725126,coef_calibration_for_1out_0in +Calibrated coefficient for stops 1 out and 1 in,0.796895947,coef_calibration_for_1out_1in +Calibrated coefficient for stops 1 out and 2 in,0.311667481,coef_calibration_for_1out_2in +Calibrated coefficient for stops 1 out and 3 in,1.123540292,coef_calibration_for_1out_3in +Calibrated coefficient for stops 2 out and 0 in,1.103785395,coef_calibration_for_2out_0in +Calibrated coefficient for stops 2 out and 1 in,0.470492284,coef_calibration_for_2out_1in +Calibrated coefficient for stops 2 out and 2 in,0.633549942,coef_calibration_for_2out_2in +Calibrated coefficient for stops 2 out and 3 in,1.884190334,coef_calibration_for_2out_3in +Calibrated coefficient for stops 3 out and 0 in,1.422429266,coef_calibration_for_3out_0in +Calibrated coefficient for stops 3 out and 1 in,2.390980042,coef_calibration_for_3out_1in +Calibrated coefficient for stops 3 out and 2 in,0.863350747,coef_calibration_for_3out_2in +Calibrated coefficient for stops 3 out and 3 in,1.268073696,coef_calibration_for_3out_3in +,-0.126,coef_telecommute1_2 +,-0.301,coef_telecommute1_3 +,-0.301,coef_telecommute1_4 +,-0.126,coef_telecommute1_5 +,-0.301,coef_telecommute1_6 +,-0.301,coef_telecommute1_7 +,-0.611,coef_telecommute1_8 +,-0.301,coef_telecommute1_9 +,-0.301,coef_telecommute1_10 +,-0.611,coef_telecommute1_11 +,-0.611,coef_telecommute1_12 +,-0.301,coef_telecommute1_13 +,-0.611,coef_telecommute1_14 +,-0.611,coef_telecommute1_15 +,-0.611,coef_telecommute1_16 +,-0.149,coef_telecommute23_2 +,-0.768,coef_telecommute23_3 +,-0.768,coef_telecommute23_4 +,-0.768,coef_telecommute23_5 +,-0.768,coef_telecommute23_6 +,-0.768,coef_telecommute23_7 +,-0.909,coef_telecommute23_8 +,-0.768,coef_telecommute23_9 +,-0.768,coef_telecommute23_10 +,-0.909,coef_telecommute23_11 +,-0.909,coef_telecommute23_12 +,-0.768,coef_telecommute23_13 +,-0.909,coef_telecommute23_14 +,-0.909,coef_telecommute23_15 +,-0.909,coef_telecommute23_16 +,-0.158,coef_telecommute4p_2 +,-0.473,coef_telecommute4p_3 +,-0.473,coef_telecommute4p_4 +,-0.473,coef_telecommute4p_5 +,-0.473,coef_telecommute4p_6 +,-0.473,coef_telecommute4p_7 +,-1.47,coef_telecommute4p_8 +,-0.473,coef_telecommute4p_9 +,-0.473,coef_telecommute4p_10 +,-1.47,coef_telecommute4p_11 +,-1.47,coef_telecommute4p_12 +,-0.473,coef_telecommute4p_13 +,-1.47,coef_telecommute4p_14 +,-1.47,coef_telecommute4p_15 +,-1.47,coef_telecommute4p_16 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_school.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_school.csv new file mode 100644 index 0000000000..0a093aa2c3 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_school.csv @@ -0,0 +1,36 @@ +Description,value,coefficient_name +Number of HH Persons,-0.506,coef_number_of_hh_persons +Presence of kids between 5 and 15 (including) years old,0.3299,coef_presence_of_kids_between_5_and_15_including_years_old +Number of Cars > Number of Workers,0.5331,coef_number_of_cars_number_of_workers +Dummy for female,0.4099,coef_dummy_for_female +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Dummy for walking to all stops,-1.8163,coef_dummy_for_walking_to_all_stops +Number of escort tours tours undertaken by the person,1.2365,coef_number_of_escort_tours_tours_undertaken_by_the_person +Arrival later than 17:00.,1.8377,coef_arrival_later_than_17_00_ +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,0.9549,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +dummy for distance in miles,0.0438,coef_dummy_for_distance_in_miles +No stops if tour mode is driveTransit,-999,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-1.206,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops,-2.672,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops,-3.364,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for outbound stops,-2.123,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for the total number of stops,0.701,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in +Alternative specific constant for outbound stops,-3.798,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for the total number of stops,1.135,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for outbound stops,-5.85,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Calibrated coefficient for stops 0 out and 1 in,-2.254972707,coef_calibration_for_0out_1in +Calibrated coefficient for stops 0 out and 2 in,-2.011200307,coef_calibration_for_0out_2in +Calibrated coefficient for stops 0 out and 3 in,-2.140534054,coef_calibration_for_0out_3in +Calibrated coefficient for stops 1 out and 0 in,-2.6157216,coef_calibration_for_1out_0in +Calibrated coefficient for stops 1 out and 1 in,-2.05970613,coef_calibration_for_1out_1in +Calibrated coefficient for stops 1 out and 2 in,-1.802894203,coef_calibration_for_1out_2in +Calibrated coefficient for stops 1 out and 3 in,-2.177625735,coef_calibration_for_1out_3in +Calibrated coefficient for stops 2 out and 0 in,-2.918162565,coef_calibration_for_2out_0in +Calibrated coefficient for stops 2 out and 1 in,-3.083316079,coef_calibration_for_2out_1in +Calibrated coefficient for stops 2 out and 2 in,-3.893518401,coef_calibration_for_2out_2in +Calibrated coefficient for stops 2 out and 3 in,-1.086994529,coef_calibration_for_2out_3in +Calibrated coefficient for stops 3 out and 0 in,-5.180196121,coef_calibration_for_3out_0in +Calibrated coefficient for stops 3 out and 1 in,-4.548639536,coef_calibration_for_3out_1in +Calibrated coefficient for stops 3 out and 2 in,-3.323713083,coef_calibration_for_3out_2in +Calibrated coefficient for stops 3 out and 3 in,-0.129535785,coef_calibration_for_3out_3in diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_shopping.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_shopping.csv new file mode 100644 index 0000000000..8524ebe288 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_shopping.csv @@ -0,0 +1,93 @@ +Description,value,coefficient_name +Number of HH Persons,-0.1522,coef_number_of_hh_persons +Num kids between 5 and 15 (including) years old,0.0482,coef_num_kids_between_5_and_15_including_years_old +Dummy for female,0.1721,coef_dummy_for_female +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Dummy for walking to all stops,-1.4908,coef_dummy_for_walking_to_all_stops +Number of work tours undertaken by the person,-0.548,coef_number_of_work_tours_undertaken_by_the_person +Number of university tours tours undertaken by the person,-0.6709,coef_number_of_university_tours_tours_undertaken_by_the_person +Number of maintenace tours tours undertaken by the person,-0.1977,coef_number_of_maintenace_tours_tours_undertaken_by_the_person +Number of shop tours undertaken by the houshold,-0.0733,coef_number_of_shop_tours_undertaken_by_the_houshold +Dummy for only adults participate in the tour,0.1902,coef_dummy_for_only_adults_participate_in_the_tour +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,0.9056,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +dummy for distance less than 5 Miles,0.3768,coef_dummy_for_distance_less_than_5_miles +dummy for distance in miles,0.0289,coef_dummy_for_distance_in_miles +No stops if tour mode is driveTransit,-999,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-1.179,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops on joint tours,-1.329,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in +Alternative specific constant for return stops,-2.305,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops on joint tours,-2.796,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in +Alternative specific constant for the total number of stops on joint tours,0,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in +Alternative specific constant for return stops,-3.024,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for return stops on joint tours,-3.379,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +Alternative specific constant for outbound stops,-1.339,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for outbound stops on joint tours,-1.783,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in +Alternative specific constant for the total number of stops,0.252,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in +Alternative specific constant for the total number of stops on joint tours,0.518,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in +Alternative specific constant for outbound stops,-3.11,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for outbound stops on joint tours,-4.067,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in +Alternative specific constant for the total number of stops,0.514,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for the total number of stops on joint tours,1.497,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +Alternative specific constant for outbound stops,-4.487,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Alternative specific constant for outbound stops on joint tours,-4.998,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +Calibrated coefficient for stops 0 out and 1 in,0.017121958,coef_calibration_for_0out_1in +Calibrated coefficient for stops 0 out and 2 in,0.034817267,coef_calibration_for_0out_2in +Calibrated coefficient for stops 0 out and 3 in,-0.130330682,coef_calibration_for_0out_3in +Calibrated coefficient for stops 1 out and 0 in,0.209231,coef_calibration_for_1out_0in +Calibrated coefficient for stops 1 out and 1 in,0.02414933,coef_calibration_for_1out_1in +Calibrated coefficient for stops 1 out and 2 in,0.461897472,coef_calibration_for_1out_2in +Calibrated coefficient for stops 1 out and 3 in,0.158579421,coef_calibration_for_1out_3in +Calibrated coefficient for stops 2 out and 0 in,0.850102453,coef_calibration_for_2out_0in +Calibrated coefficient for stops 2 out and 1 in,1.341252395,coef_calibration_for_2out_1in +Calibrated coefficient for stops 2 out and 2 in,1.18586399,coef_calibration_for_2out_2in +Calibrated coefficient for stops 2 out and 3 in,-0.041491927,coef_calibration_for_2out_3in +Calibrated coefficient for stops 3 out and 0 in,1.607200672,coef_calibration_for_3out_0in +Calibrated coefficient for stops 3 out and 1 in,1.911336809,coef_calibration_for_3out_1in +Calibrated coefficient for stops 3 out and 2 in,1.065391227,coef_calibration_for_3out_2in +Calibrated coefficient for stops 3 out and 3 in,1.37891856,coef_calibration_for_3out_3in +,-0.126,coef_telecommute1_2 +,-0.301,coef_telecommute1_3 +,-0.301,coef_telecommute1_4 +,-0.126,coef_telecommute1_5 +,-0.301,coef_telecommute1_6 +,-0.301,coef_telecommute1_7 +,-0.611,coef_telecommute1_8 +,-0.301,coef_telecommute1_9 +,-0.301,coef_telecommute1_10 +,-0.611,coef_telecommute1_11 +,-0.611,coef_telecommute1_12 +,-0.301,coef_telecommute1_13 +,-0.611,coef_telecommute1_14 +,-0.611,coef_telecommute1_15 +,-0.611,coef_telecommute1_16 +,-0.149,coef_telecommute23_2 +,-0.768,coef_telecommute23_3 +,-0.768,coef_telecommute23_4 +,-0.768,coef_telecommute23_5 +,-0.768,coef_telecommute23_6 +,-0.768,coef_telecommute23_7 +,-0.909,coef_telecommute23_8 +,-0.768,coef_telecommute23_9 +,-0.768,coef_telecommute23_10 +,-0.909,coef_telecommute23_11 +,-0.909,coef_telecommute23_12 +,-0.768,coef_telecommute23_13 +,-0.909,coef_telecommute23_14 +,-0.909,coef_telecommute23_15 +,-0.909,coef_telecommute23_16 +,-0.158,coef_telecommute4p_2 +,-0.473,coef_telecommute4p_3 +,-0.473,coef_telecommute4p_4 +,-0.473,coef_telecommute4p_5 +,-0.473,coef_telecommute4p_6 +,-0.473,coef_telecommute4p_7 +,-1.47,coef_telecommute4p_8 +,-0.473,coef_telecommute4p_9 +,-0.473,coef_telecommute4p_10 +,-1.47,coef_telecommute4p_11 +,-1.47,coef_telecommute4p_12 +,-0.473,coef_telecommute4p_13 +,-1.47,coef_telecommute4p_14 +,-1.47,coef_telecommute4p_15 +,-1.47,coef_telecommute4p_16 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_social.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_social.csv new file mode 100644 index 0000000000..664ed1e5ee --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_social.csv @@ -0,0 +1,93 @@ +Description,value,coefficient_name +Number of Vehicles,-0.19,coef_number_of_vehicles +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Dummy for walking to all stops,-1.73,coef_dummy_for_walking_to_all_stops +Number of work tours undertaken by the person,-0.28,coef_number_of_work_tours_undertaken_by_the_person +Number of shop tours undertaken by the person,-0.24,coef_number_of_shop_tours_undertaken_by_the_person +At least one kid and one adult participate in the tour,0.37,coef_at_least_one_kid_and_one_adult_participate_in_the_tour +Arrival later than 17:00.,-0.45,coef_arrival_later_than_17_00_ +Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,1.31,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_ +dummy for distance in miles,-0.01,coef_dummy_for_distance_in_miles +No stops if tour mode is driveTransit,-999,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-1.12,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops on joint tours,-1.329,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in +Dummy for a return visiting tour,-0.64,coef_dummy_for_a_return_visiting_tour +Alternative specific constant for return stops,-2.764,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops on joint tours,-2.796,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in +Alternative specific constant for the total number of stops on joint tours,0,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in +Alternative specific constant for return stops,-3.451,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for return stops on joint tours,-3.379,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +Number of persons participating in the tour.Outgoing stops interaction,-0.46,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction +Alternative specific constant for outbound stops,-1.081,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for outbound stops on joint tours,-1.783,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in +Dummy for an outbound visiting tour,-0.69,coef_dummy_for_an_outbound_visiting_tour +Dummy for a visiting tour with both outbound and return leg,0.44,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg +Alternative specific constant for the total number of stops,0.496,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in +Alternative specific constant for the total number of stops on joint tours,0.518,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in +Alternative specific constant for outbound stops,-2.874,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for outbound stops on joint tours,-4.067,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in +Alternative specific constant for the total number of stops,0.882,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for the total number of stops on joint tours,1.497,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +Alternative specific constant for outbound stops,-4.552,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Alternative specific constant for outbound stops on joint tours,-4.998,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +Calibrated coefficient for stops 0 out and 1 in,-0.22936999,coef_calibration_for_0out_1in +Calibrated coefficient for stops 0 out and 2 in,0.529587765,coef_calibration_for_0out_2in +Calibrated coefficient for stops 0 out and 3 in,0.538219032,coef_calibration_for_0out_3in +Calibrated coefficient for stops 1 out and 0 in,0.218718688,coef_calibration_for_1out_0in +Calibrated coefficient for stops 1 out and 1 in,-0.318021224,coef_calibration_for_1out_1in +Calibrated coefficient for stops 1 out and 2 in,1.030756549,coef_calibration_for_1out_2in +Calibrated coefficient for stops 1 out and 3 in,-2.51155013,coef_calibration_for_1out_3in +Calibrated coefficient for stops 2 out and 0 in,1.386390249,coef_calibration_for_2out_0in +Calibrated coefficient for stops 2 out and 1 in,-1.163443209,coef_calibration_for_2out_1in +Calibrated coefficient for stops 2 out and 2 in,0.220714165,coef_calibration_for_2out_2in +Calibrated coefficient for stops 2 out and 3 in,0.895315224,coef_calibration_for_2out_3in +Calibrated coefficient for stops 3 out and 0 in,2.965417908,coef_calibration_for_3out_0in +Calibrated coefficient for stops 3 out and 1 in,0.472314942,coef_calibration_for_3out_1in +Calibrated coefficient for stops 3 out and 2 in,3.172643171,coef_calibration_for_3out_2in +Calibrated coefficient for stops 3 out and 3 in,3.347592,coef_calibration_for_3out_3in +,-0.126,coef_telecommute1_2 +,-0.301,coef_telecommute1_3 +,-0.301,coef_telecommute1_4 +,-0.126,coef_telecommute1_5 +,-0.301,coef_telecommute1_6 +,-0.301,coef_telecommute1_7 +,-0.611,coef_telecommute1_8 +,-0.301,coef_telecommute1_9 +,-0.301,coef_telecommute1_10 +,-0.611,coef_telecommute1_11 +,-0.611,coef_telecommute1_12 +,-0.301,coef_telecommute1_13 +,-0.611,coef_telecommute1_14 +,-0.611,coef_telecommute1_15 +,-0.611,coef_telecommute1_16 +,-0.149,coef_telecommute23_2 +,-0.768,coef_telecommute23_3 +,-0.768,coef_telecommute23_4 +,-0.768,coef_telecommute23_5 +,-0.768,coef_telecommute23_6 +,-0.768,coef_telecommute23_7 +,-0.909,coef_telecommute23_8 +,-0.768,coef_telecommute23_9 +,-0.768,coef_telecommute23_10 +,-0.909,coef_telecommute23_11 +,-0.909,coef_telecommute23_12 +,-0.768,coef_telecommute23_13 +,-0.909,coef_telecommute23_14 +,-0.909,coef_telecommute23_15 +,-0.909,coef_telecommute23_16 +,-0.158,coef_telecommute4p_2 +,-0.473,coef_telecommute4p_3 +,-0.473,coef_telecommute4p_4 +,-0.473,coef_telecommute4p_5 +,-0.473,coef_telecommute4p_6 +,-0.473,coef_telecommute4p_7 +,-1.47,coef_telecommute4p_8 +,-0.473,coef_telecommute4p_9 +,-0.473,coef_telecommute4p_10 +,-1.47,coef_telecommute4p_11 +,-1.47,coef_telecommute4p_12 +,-0.473,coef_telecommute4p_13 +,-1.47,coef_telecommute4p_14 +,-1.47,coef_telecommute4p_15 +,-1.47,coef_telecommute4p_16 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_univ.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_univ.csv new file mode 100644 index 0000000000..ae51954ae6 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_univ.csv @@ -0,0 +1,35 @@ +Description,value,coefficient_name +Number of HH Persons,-0.2827,coef_number_of_hh_persons +Presence of kids between 5 and 15 (including) years old,0.6823,coef_presence_of_kids_between_5_and_15_including_years_old +Number of Vehicles,0.1703,coef_number_of_vehicles +Dummy for female,0.7349,coef_dummy_for_female +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Number of escort tours tours undertaken by the person,0.9018,coef_number_of_escort_tours_tours_undertaken_by_the_person +Arrival later than 17:00.,0.389,coef_arrival_later_than_17_00_ +Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,0.8434,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +HH accesibility for inbound tours. Interaction,0.2481,coef_hh_accesibility_for_inbound_tours_interaction +No stops if tour mode is driveTransit,-999,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-2.003,coef_alternative_specific_constant_for_return_stops_0out_1in +Alternative specific constant for return stops,-3.51,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops,-3.677,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for outbound stops,-2.628,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for the total number of stops,1.272,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in +Alternative specific constant for outbound stops,-3.741,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for the total number of stops,1.871,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for outbound stops,-4.981,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Calibrated coefficient for stops 0 out and 1 in,-0.957893279,coef_calibration_for_0out_1in +Calibrated coefficient for stops 0 out and 2 in,0.013364686,coef_calibration_for_0out_2in +Calibrated coefficient for stops 0 out and 3 in,-1.128041828,coef_calibration_for_0out_3in +Calibrated coefficient for stops 1 out and 0 in,-0.815453021,coef_calibration_for_1out_0in +Calibrated coefficient for stops 1 out and 1 in,0.36813072,coef_calibration_for_1out_1in +Calibrated coefficient for stops 1 out and 2 in,1.560091494,coef_calibration_for_1out_2in +Calibrated coefficient for stops 1 out and 3 in,-1.363437784,coef_calibration_for_1out_3in +Calibrated coefficient for stops 2 out and 0 in,-0.87970088,coef_calibration_for_2out_0in +Calibrated coefficient for stops 2 out and 1 in,-1.280333926,coef_calibration_for_2out_1in +Calibrated coefficient for stops 2 out and 2 in,-1.562370933,coef_calibration_for_2out_2in +Calibrated coefficient for stops 2 out and 3 in,-0.135706787,coef_calibration_for_2out_3in +Calibrated coefficient for stops 3 out and 0 in,-1.287689684,coef_calibration_for_3out_0in +Calibrated coefficient for stops 3 out and 1 in,-1.046385509,coef_calibration_for_3out_1in +Calibrated coefficient for stops 3 out and 2 in,-1.344388242,coef_calibration_for_3out_2in +Calibrated coefficient for stops 3 out and 3 in,-2.396963195,coef_calibration_for_3out_3in diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_work.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_work.csv new file mode 100644 index 0000000000..446c24d97e --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_coefficients_work.csv @@ -0,0 +1,49 @@ +Description,value,coefficient_name +Middle to Low Income HH,0.17,coef_middle_to_low_income_hh +Mid to High Income HH,0.23,coef_mid_to_high_income_hh +High Income HH,0.24,coef_high_income_hh +Number of HH Persons,-0.31,coef_number_of_hh_persons +Number of Students in HH,0.21,coef_number_of_students_in_hh +Presence of Kids between 0 and 4 (including) years old,0.74,coef_presence_of_kids_between_0_and_4_including_years_old +Num kids between 5 and 15 (including) years old,0.08,coef_num_kids_between_5_and_15_including_years_old +Presence of kids between 5 and 15 (including) years old,0.26,coef_presence_of_kids_between_5_and_15_including_years_old +Number of Adults (>= 16 years old),0.03,coef_number_of_adults_16_years_old_ +Number of Cars > Number of Workers,0.16,coef_number_of_cars_number_of_workers +Dummy for female,0.22,coef_dummy_for_female +Dummy for all stops made by transit,-0.7,coef_dummy_for_all_stops_made_by_transit +Dummy for walking to all stops,-1.54,coef_dummy_for_walking_to_all_stops +Number of work tours undertaken by the person,-0.15,coef_number_of_work_tours_undertaken_by_the_person +Number of university tours tours undertaken by the person,-0.48,coef_number_of_university_tours_tours_undertaken_by_the_person +Number of school tours tours undertaken by the person,-1.55,coef_number_of_school_tours_tours_undertaken_by_the_person +Number of escort tours tours undertaken by the person,0.2,coef_number_of_escort_tours_tours_undertaken_by_the_person +Number of shop tours undertaken by the houshold,-0.05,coef_number_of_shop_tours_undertaken_by_the_houshold +AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,-1.93,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours +Evening Arrival (>=19:00) Interacted with return tours,0.31,coef_evening_arrival_19_00_interacted_with_return_tours +Dummy for the duration of the tour being equal or greater than or equal to 11 hours,0.6,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours +dummy for distance less than 20 Miles,-0.22,coef_dummy_for_distance_less_than_20_miles +dummy for distance in miles,0.01,coef_dummy_for_distance_in_miles +No stops if tour mode is driveTransit,-999,coef_no_stops_if_tour_mode_is_drivetransit +Alternative specific constant for return stops,-0.445,coef_alternative_specific_constant_for_return_stops_0out_1in +Number of subtours in the tour,0.19,coef_number_of_subtours_in_the_tour +Alternative specific constant for return stops,-1.775,coef_alternative_specific_constant_for_return_stops_0out_2in +Alternative specific constant for the total number of stops,0,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in +Alternative specific constant for return stops,-2.139,coef_alternative_specific_constant_for_return_stops_0out_3in +Alternative specific constant for outbound stops,-0.833,coef_alternative_specific_constant_for_outbound_stops_1out_0in +Alternative specific constant for outbound stops,-2.613,coef_alternative_specific_constant_for_outbound_stops_2out_0in +Alternative specific constant for the total number of stops,0.695,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +Alternative specific constant for outbound stops,-3.934,coef_alternative_specific_constant_for_outbound_stops_3out_0in +Calibrated coefficient for stops 0 out and 1 in,0.282545956,coef_calibration_for_0out_1in +Calibrated coefficient for stops 0 out and 2 in,0.378884046,coef_calibration_for_0out_2in +Calibrated coefficient for stops 0 out and 3 in,-0.14156218,coef_calibration_for_0out_3in +Calibrated coefficient for stops 1 out and 0 in,-0.201468584,coef_calibration_for_1out_0in +Calibrated coefficient for stops 1 out and 1 in,-0.150830082,coef_calibration_for_1out_1in +Calibrated coefficient for stops 1 out and 2 in,-0.038370256,coef_calibration_for_1out_2in +Calibrated coefficient for stops 1 out and 3 in,-0.458167576,coef_calibration_for_1out_3in +Calibrated coefficient for stops 2 out and 0 in,-0.238615836,coef_calibration_for_2out_0in +Calibrated coefficient for stops 2 out and 1 in,-0.366936647,coef_calibration_for_2out_1in +Calibrated coefficient for stops 2 out and 2 in,0.964901262,coef_calibration_for_2out_2in +Calibrated coefficient for stops 2 out and 3 in,-0.052575958,coef_calibration_for_2out_3in +Calibrated coefficient for stops 3 out and 0 in,0.102180805,coef_calibration_for_3out_0in +Calibrated coefficient for stops 3 out and 1 in,-1.078935365,coef_calibration_for_3out_1in +Calibrated coefficient for stops 3 out and 2 in,-0.962167532,coef_calibration_for_3out_2in +Calibrated coefficient for stops 3 out and 3 in,-0.165201068,coef_calibration_for_3out_3in diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_eatout.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_eatout.csv new file mode 100644 index 0000000000..479dd8ba72 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_eatout.csv @@ -0,0 +1,56 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh_,Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +util_number_of_hh_persons,Number of HH Persons,hhsize,,,,,,,,,,,,,,,, +util_number_of_full_time_workes_in_hh,Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,,,,,,,,,,,,,,, +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +util_num_kids_between_4_and_15_including_years_old,Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +util_number_of_vehicles,Number of Vehicles,auto_ownership,,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles +util_dummy_for_female,Dummy for female,~is_joint & female,,,,,,,,,,,,,,,, +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,~is_joint * num_work_tours,,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,,,,,,,,,,,,,,, +util_number_of_shool_tours_tours_undertaken_by_the_person,Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,,,,,,,,,,,,,,, +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,,,,,,,,,,,,,,, +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +util_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction +util_number_of_persons_participating_in_the_tour_return_stops_interaction,Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +util_at_least_one_kid_and_one_adult_participate_in_the_tour,At least one kid and one adult participate in the tour,composition=='mixed',,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_ +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_ +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_20_miles_,dummy for distance less than 20 Miles ,(distance_in_miles < 20),,,,,,,,,,,,,,,, +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,~is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,~is_joint,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,~is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_alternative_specific_constant_for_outbound_stops_on_joint_tours,Alternative specific constant for outbound stops on joint tours,is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +util_alternative_specific_constant_for_return_stops_on_joint_tours,Alternative specific constant for return stops on joint tours,is_joint,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours,Alternative specific constant for the total number of stops on joint tours,is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +util_dummy_for_an_outbound_visiting_tour,Dummy for an outbound visiting tour,primary_purpose == 'social',,,,,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour +util_dummy_for_a_return_visiting_tour,Dummy for a return visiting tour,primary_purpose == 'social',,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour +util_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,Dummy for a visiting tour with both outbound and return leg,primary_purpose == 'social',,,,,,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg +util_Phase1_Calibration,Phase1_Calibration,~is_joint,,coef_calibration_for_0out_1in,coef_calibration_for_0out_2in,coef_calibration_for_0out_3in,coef_calibration_for_1out_0in,coef_calibration_for_1out_1in,coef_calibration_for_1out_2in,coef_calibration_for_1out_3in,coef_calibration_for_2out_0in,coef_calibration_for_2out_1in,coef_calibration_for_2out_2in,coef_calibration_for_2out_3in,coef_calibration_for_3out_0in,coef_calibration_for_3out_1in,coef_calibration_for_3out_2in,coef_calibration_for_3out_3in +util_telecommute1,(num_work_tours == 0) & (telecommute_frequency=='1_day_week'),,coef_telecommute1_2,coef_telecommute1_3,coef_telecommute1_4,coef_telecommute1_5,coef_telecommute1_6,coef_telecommute1_7,coef_telecommute1_8,coef_telecommute1_9,coef_telecommute1_10,coef_telecommute1_11,coef_telecommute1_12,coef_telecommute1_13,coef_telecommute1_14,coef_telecommute1_15,coef_telecommute1_16 +util_telecommute23,(num_work_tours == 0) & (telecommute_frequency=='2_3_days_week'),,coef_telecommute23_2,coef_telecommute23_3,coef_telecommute23_4,coef_telecommute23_5,coef_telecommute23_6,coef_telecommute23_7,coef_telecommute23_8,coef_telecommute23_9,coef_telecommute23_10,coef_telecommute23_11,coef_telecommute23_12,coef_telecommute23_13,coef_telecommute23_14,coef_telecommute23_15,coef_telecommute23_16 +util_telecommute4p,(num_work_tours == 0) & (telecommute_frequency=='4_days_week'),,coef_telecommute4p_2,coef_telecommute4p_3,coef_telecommute4p_4,coef_telecommute4p_5,coef_telecommute4p_6,coef_telecommute4p_7,coef_telecommute4p_8,coef_telecommute4p_9,coef_telecommute4p_10,coef_telecommute4p_11,coef_telecommute4p_12,coef_telecommute4p_13,coef_telecommute4p_14,coef_telecommute4p_15,coef_telecommute4p_16 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_escort.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_escort.csv new file mode 100644 index 0000000000..aab34960ba --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_escort.csv @@ -0,0 +1,50 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh,Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +util_number_of_hh_persons,Number of HH Persons,hhsize,,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons +util_number_of_full_time_workers_in_hh,Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +util_num_kids_between_5_and_15_including_years_old,Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +util_number_of_vehicles,Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +util_dummy_for_female,Dummy for female,female,,,,,,,,,,,,,,,, +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,num_work_tours,,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, +util_number_of_school_tours_tours_undertaken_by_the_person,Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,num_escort_tours,,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,,,,,,,,,,,,,,, +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_5_miles,dummy for distance less than 5 Miles,(distance_in_miles < 5),,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,~is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,~is_joint,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,~is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_alternative_specific_constant_for_outbound_stops_on_joint_tours,Alternative specific constant for outbound stops on joint tours,is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +util_alternative_specific_constant_for_return_stops_on_joint_tours,Alternative specific constant for return stops on joint tours,is_joint,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours,Alternative specific constant for the total number of stops on joint tours,is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +util_Phase1_Calibration,Phase1_Calibration,~is_joint,,coef_calibration_for_0out_1in,coef_calibration_for_0out_2in,coef_calibration_for_0out_3in,coef_calibration_for_1out_0in,coef_calibration_for_1out_1in,coef_calibration_for_1out_2in,coef_calibration_for_1out_3in,coef_calibration_for_2out_0in,coef_calibration_for_2out_1in,coef_calibration_for_2out_2in,coef_calibration_for_2out_3in,coef_calibration_for_3out_0in,coef_calibration_for_3out_1in,coef_calibration_for_3out_2in,coef_calibration_for_3out_3in +util_telecommute1,(num_work_tours == 0) & (telecommute_frequency=='1_day_week'),,coef_telecommute1_2,coef_telecommute1_3,coef_telecommute1_4,coef_telecommute1_5,coef_telecommute1_6,coef_telecommute1_7,coef_telecommute1_8,coef_telecommute1_9,coef_telecommute1_10,coef_telecommute1_11,coef_telecommute1_12,coef_telecommute1_13,coef_telecommute1_14,coef_telecommute1_15,coef_telecommute1_16 +util_telecommute23,(num_work_tours == 0) & (telecommute_frequency=='2_3_days_week'),,coef_telecommute23_2,coef_telecommute23_3,coef_telecommute23_4,coef_telecommute23_5,coef_telecommute23_6,coef_telecommute23_7,coef_telecommute23_8,coef_telecommute23_9,coef_telecommute23_10,coef_telecommute23_11,coef_telecommute23_12,coef_telecommute23_13,coef_telecommute23_14,coef_telecommute23_15,coef_telecommute23_16 +util_telecommute4p,(num_work_tours == 0) & (telecommute_frequency=='4_days_week'),,coef_telecommute4p_2,coef_telecommute4p_3,coef_telecommute4p_4,coef_telecommute4p_5,coef_telecommute4p_6,coef_telecommute4p_7,coef_telecommute4p_8,coef_telecommute4p_9,coef_telecommute4p_10,coef_telecommute4p_11,coef_telecommute4p_12,coef_telecommute4p_13,coef_telecommute4p_14,coef_telecommute4p_15,coef_telecommute4p_16 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_othdiscr.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_othdiscr.csv new file mode 100644 index 0000000000..098c7b0746 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_othdiscr.csv @@ -0,0 +1,52 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh_,Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +util_number_of_hh_persons,Number of HH Persons,hhsize,,,,,,,,,,,,,,,, +util_number_of_full_time_workes_in_hh,Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,,,,,,,,,,,,,,, +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +util_num_kids_between_4_and_15_including_years_old,Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +util_number_of_vehicles,Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +util_dummy_for_female,Dummy for female,~is_joint & female,,,,,,,,,,,,,,,, +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,~is_joint * num_work_tours,,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,,,,,,,,,,,,,,, +util_number_of_shool_tours_tours_undertaken_by_the_person,Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +util_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +util_number_of_persons_participating_in_the_tour_return_stops_interaction,Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_ +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_10_miles_,dummy for distance less than 10 Miles ,(distance_in_miles < 10),,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_,coef_dummy_for_distance_less_than_10_miles_ +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,~is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,~is_joint,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,~is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_alternative_specific_constant_for_outbound_stops_on_joint_tours,Alternative specific constant for outbound stops on joint tours,is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +util_alternative_specific_constant_for_return_stops_on_joint_tours,Alternative specific constant for return stops on joint tours,is_joint,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours,Alternative specific constant for the total number of stops on joint tours,is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +util_Phase1_Calibration,Phase1_Calibration,~is_joint,,coef_calibration_for_0out_1in,coef_calibration_for_0out_2in,coef_calibration_for_0out_3in,coef_calibration_for_1out_0in,coef_calibration_for_1out_1in,coef_calibration_for_1out_2in,coef_calibration_for_1out_3in,coef_calibration_for_2out_0in,coef_calibration_for_2out_1in,coef_calibration_for_2out_2in,coef_calibration_for_2out_3in,coef_calibration_for_3out_0in,coef_calibration_for_3out_1in,coef_calibration_for_3out_2in,coef_calibration_for_3out_3in +util_telecommute1,(num_work_tours == 0) & (telecommute_frequency=='1_day_week'),,coef_telecommute1_2,coef_telecommute1_3,coef_telecommute1_4,coef_telecommute1_5,coef_telecommute1_6,coef_telecommute1_7,coef_telecommute1_8,coef_telecommute1_9,coef_telecommute1_10,coef_telecommute1_11,coef_telecommute1_12,coef_telecommute1_13,coef_telecommute1_14,coef_telecommute1_15,coef_telecommute1_16 +util_telecommute23,(num_work_tours == 0) & (telecommute_frequency=='2_3_days_week'),,coef_telecommute23_2,coef_telecommute23_3,coef_telecommute23_4,coef_telecommute23_5,coef_telecommute23_6,coef_telecommute23_7,coef_telecommute23_8,coef_telecommute23_9,coef_telecommute23_10,coef_telecommute23_11,coef_telecommute23_12,coef_telecommute23_13,coef_telecommute23_14,coef_telecommute23_15,coef_telecommute23_16 +util_telecommute4p,(num_work_tours == 0) & (telecommute_frequency=='4_days_week'),,coef_telecommute4p_2,coef_telecommute4p_3,coef_telecommute4p_4,coef_telecommute4p_5,coef_telecommute4p_6,coef_telecommute4p_7,coef_telecommute4p_8,coef_telecommute4p_9,coef_telecommute4p_10,coef_telecommute4p_11,coef_telecommute4p_12,coef_telecommute4p_13,coef_telecommute4p_14,coef_telecommute4p_15,coef_telecommute4p_16 \ No newline at end of file diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_othmaint.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_othmaint.csv new file mode 100644 index 0000000000..6259d55135 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_othmaint.csv @@ -0,0 +1,53 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh_,Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_,coef_middle_to_low_income_hh_ +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh +util_number_of_hh_persons,Number of HH Persons,hhsize,,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons +util_number_of_full_time_workes_in_hh,Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old +util_num_kids_between_4_and_15_including_years_old,Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +util_number_of_vehicles,Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +util_dummy_for_female,Dummy for female,~is_joint & female,,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,~is_joint * num_work_tours,,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person +util_number_of_shool_tours_tours_undertaken_by_the_person,Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person,coef_number_of_shool_tours_tours_undertaken_by_the_person +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,,,,,,,,,,,,,,, +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +util_number_of_maintenace_tours_undertaken_by_the_houshold,Number of maintenace tours undertaken by the houshold,num_hh_maint_tours,,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold,coef_number_of_maintenace_tours_undertaken_by_the_houshold +util_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +util_number_of_persons_participating_in_the_tour_return_stops_interaction,Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,coef_number_of_persons_participating_in_the_tour_return_stops_interaction,coef_number_of_persons_participating_in_the_tour_return_stops_interaction,coef_number_of_persons_participating_in_the_tour_return_stops_interaction,,coef_number_of_persons_participating_in_the_tour_return_stops_interaction,coef_number_of_persons_participating_in_the_tour_return_stops_interaction,coef_number_of_persons_participating_in_the_tour_return_stops_interaction,,coef_number_of_persons_participating_in_the_tour_return_stops_interaction,coef_number_of_persons_participating_in_the_tour_return_stops_interaction,coef_number_of_persons_participating_in_the_tour_return_stops_interaction,,coef_number_of_persons_participating_in_the_tour_return_stops_interaction,coef_number_of_persons_participating_in_the_tour_return_stops_interaction,coef_number_of_persons_participating_in_the_tour_return_stops_interaction +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,,,,,,,,,,,,,,, +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_20_miles_,dummy for distance less than 20 Miles ,(distance_in_miles < 20),,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_,coef_dummy_for_distance_less_than_20_miles_ +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,~is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,~is_joint,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,~is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_alternative_specific_constant_for_outbound_stops_on_joint_tours,Alternative specific constant for outbound stops on joint tours,is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +util_alternative_specific_constant_for_return_stops_on_joint_tours,Alternative specific constant for return stops on joint tours,is_joint,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours,Alternative specific constant for the total number of stops on joint tours,is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +util_Phase1_Calibration,Phase1_Calibration,~is_joint,,coef_calibration_for_0out_1in,coef_calibration_for_0out_2in,coef_calibration_for_0out_3in,coef_calibration_for_1out_0in,coef_calibration_for_1out_1in,coef_calibration_for_1out_2in,coef_calibration_for_1out_3in,coef_calibration_for_2out_0in,coef_calibration_for_2out_1in,coef_calibration_for_2out_2in,coef_calibration_for_2out_3in,coef_calibration_for_3out_0in,coef_calibration_for_3out_1in,coef_calibration_for_3out_2in,coef_calibration_for_3out_3in +util_telecommute1,(num_work_tours == 0) & (telecommute_frequency=='1_day_week'),,coef_telecommute1_2,coef_telecommute1_3,coef_telecommute1_4,coef_telecommute1_5,coef_telecommute1_6,coef_telecommute1_7,coef_telecommute1_8,coef_telecommute1_9,coef_telecommute1_10,coef_telecommute1_11,coef_telecommute1_12,coef_telecommute1_13,coef_telecommute1_14,coef_telecommute1_15,coef_telecommute1_16 +util_telecommute23,(num_work_tours == 0) & (telecommute_frequency=='2_3_days_week'),,coef_telecommute23_2,coef_telecommute23_3,coef_telecommute23_4,coef_telecommute23_5,coef_telecommute23_6,coef_telecommute23_7,coef_telecommute23_8,coef_telecommute23_9,coef_telecommute23_10,coef_telecommute23_11,coef_telecommute23_12,coef_telecommute23_13,coef_telecommute23_14,coef_telecommute23_15,coef_telecommute23_16 +util_telecommute4p,(num_work_tours == 0) & (telecommute_frequency=='4_days_week'),,coef_telecommute4p_2,coef_telecommute4p_3,coef_telecommute4p_4,coef_telecommute4p_5,coef_telecommute4p_6,coef_telecommute4p_7,coef_telecommute4p_8,coef_telecommute4p_9,coef_telecommute4p_10,coef_telecommute4p_11,coef_telecommute4p_12,coef_telecommute4p_13,coef_telecommute4p_14,coef_telecommute4p_15,coef_telecommute4p_16 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_school.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_school.csv new file mode 100644 index 0000000000..af33fb5d88 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_school.csv @@ -0,0 +1,44 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh,Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +util_number_of_hh_persons,Number of HH Persons,hhsize,,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons +util_number_of_full_time_workers_in_hh,Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,,,,,,,,,,,,,,, +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +util_num_kids_between_5_and_15_including_years_old,Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers +util_number_of_vehicles,Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +util_dummy_for_female,Dummy for female,female,,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,num_work_tours,,,,,,,,,,,,,,,, +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, +util_number_of_school_tours_tours_undertaken_by_the_person,Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,num_escort_tours,,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_ +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_15_miles,dummy for distance less than 15 Miles,(distance_in_miles < 15),,,,,,,,,,,,,,,, +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,1,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,1,,coef_alternative_specific_constant_for_return_stops_0out_1in,-2.672,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,-2.672,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,-2.672,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,-2.672,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,1,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_Phase1_Calibration,Phase1_Calibration,1,,coef_calibration_for_0out_1in,coef_calibration_for_0out_2in,coef_calibration_for_0out_3in,coef_calibration_for_1out_0in,coef_calibration_for_1out_1in,coef_calibration_for_1out_2in,coef_calibration_for_1out_3in,coef_calibration_for_2out_0in,coef_calibration_for_2out_1in,coef_calibration_for_2out_2in,coef_calibration_for_2out_3in,coef_calibration_for_3out_0in,coef_calibration_for_3out_1in,coef_calibration_for_3out_2in,coef_calibration_for_3out_3in diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_shopping.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_shopping.csv new file mode 100644 index 0000000000..b7c022569b --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_shopping.csv @@ -0,0 +1,53 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh,Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +util_number_of_hh_persons,Number of HH Persons,hhsize,,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons +util_number_of_full_time_workers_in_hh,Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,,,,,,,,,,,,,,, +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +util_num_kids_between_5_and_15_including_years_old,Num kids between 5 and 15 (including) years old,num_age_5_15,,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +util_number_of_vehicles,Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +util_dummy_for_female,Dummy for female,~is_joint & female,,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,~is_joint * num_work_tours,,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person +util_number_of_school_tours_tours_undertaken_by_the_person,Number of school tours tours undertaken by the person,~is_joint * num_school_tours,,,,,,,,,,,,,,,, +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,,,,,,,,,,,,,,, +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person,coef_number_of_maintenace_tours_tours_undertaken_by_the_person +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold +util_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +util_number_of_persons_participating_in_the_tour_return_stops_interaction,Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +util_dummy_for_only_adults_participate_in_the_tour,Dummy for only adults participate in the tour,composition=='adults',,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour,coef_dummy_for_only_adults_participate_in_the_tour +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,,,,,,,,,,,,,,, +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_5_miles,dummy for distance less than 5 Miles,(distance_in_miles < 5),,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles,coef_dummy_for_distance_less_than_5_miles +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,~is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,~is_joint,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,~is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_alternative_specific_constant_for_outbound_stops_on_joint_tours,Alternative specific constant for outbound stops on joint tours,is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +util_alternative_specific_constant_for_return_stops_on_joint_tours,Alternative specific constant for return stops on joint tours,is_joint,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours,Alternative specific constant for the total number of stops on joint tours,is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +util_Phase1_Calibration,Phase1_Calibration,~is_joint,,coef_calibration_for_0out_1in,coef_calibration_for_0out_2in,coef_calibration_for_0out_3in,coef_calibration_for_1out_0in,coef_calibration_for_1out_1in,coef_calibration_for_1out_2in,coef_calibration_for_1out_3in,coef_calibration_for_2out_0in,coef_calibration_for_2out_1in,coef_calibration_for_2out_2in,coef_calibration_for_2out_3in,coef_calibration_for_3out_0in,coef_calibration_for_3out_1in,coef_calibration_for_3out_2in,coef_calibration_for_3out_3in +util_telecommute1,(num_work_tours == 0) & (telecommute_frequency=='1_day_week'),,coef_telecommute1_2,coef_telecommute1_3,coef_telecommute1_4,coef_telecommute1_5,coef_telecommute1_6,coef_telecommute1_7,coef_telecommute1_8,coef_telecommute1_9,coef_telecommute1_10,coef_telecommute1_11,coef_telecommute1_12,coef_telecommute1_13,coef_telecommute1_14,coef_telecommute1_15,coef_telecommute1_16 +util_telecommute23,(num_work_tours == 0) & (telecommute_frequency=='2_3_days_week'),,coef_telecommute23_2,coef_telecommute23_3,coef_telecommute23_4,coef_telecommute23_5,coef_telecommute23_6,coef_telecommute23_7,coef_telecommute23_8,coef_telecommute23_9,coef_telecommute23_10,coef_telecommute23_11,coef_telecommute23_12,coef_telecommute23_13,coef_telecommute23_14,coef_telecommute23_15,coef_telecommute23_16 +util_telecommute4p,(num_work_tours == 0) & (telecommute_frequency=='4_days_week'),,coef_telecommute4p_2,coef_telecommute4p_3,coef_telecommute4p_4,coef_telecommute4p_5,coef_telecommute4p_6,coef_telecommute4p_7,coef_telecommute4p_8,coef_telecommute4p_9,coef_telecommute4p_10,coef_telecommute4p_11,coef_telecommute4p_12,coef_telecommute4p_13,coef_telecommute4p_14,coef_telecommute4p_15,coef_telecommute4p_16 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_social.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_social.csv new file mode 100644 index 0000000000..e83689f521 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_social.csv @@ -0,0 +1,56 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh_,Middle to Low Income HH ,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +util_number_of_hh_persons,Number of HH Persons,hhsize,,,,,,,,,,,,,,,, +util_number_of_full_time_workes_in_hh,Number of full time workes in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,,,,,,,,,,,,,,, +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +util_num_kids_between_4_and_15_including_years_old,Num kids between 4 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +util_number_of_vehicles,Number of Vehicles,auto_ownership,,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles +util_dummy_for_female,Dummy for female,~is_joint & female,,,,,,,,,,,,,,,, +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,~is_joint * num_work_tours,,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,~is_joint * num_univ_tours,,,,,,,,,,,,,,,, +util_number_of_shool_tours_tours_undertaken_by_the_person,Number of shool tours tours undertaken by the person,~is_joint * num_school_tours,,,,,,,,,,,,,,,, +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,~is_joint * num_escort_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,~is_joint * num_shop_tours,,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person,coef_number_of_shop_tours_undertaken_by_the_person +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,~is_joint * num_maint_tours,,,,,,,,,,,,,,,, +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,~is_joint * num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,~is_joint * num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +util_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,Number of persons participating in the tour.Outgoing stops interaction,is_joint * number_of_participants,,,,,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction,coef_number_of_persons_participating_in_the_tour_outgoing_stops_interaction +util_number_of_persons_participating_in_the_tour_return_stops_interaction,Number of persons participating in the tour.Return stops interaction,is_joint * number_of_participants,,,,,,,,,,,,,,,, +util_at_least_one_kid_and_one_adult_participate_in_the_tour,At least one kid and one adult participate in the tour,composition=='mixed',,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour,coef_at_least_one_kid_and_one_adult_participate_in_the_tour +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_ +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_ +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_20_miles_,dummy for distance less than 20 Miles ,(distance_in_miles < 20),,,,,,,,,,,,,,,, +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,~is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,~is_joint,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,~is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_alternative_specific_constant_for_outbound_stops_on_joint_tours,Alternative specific constant for outbound stops on joint tours,is_joint,,,,,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_1out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_2out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in,coef_alternative_specific_constant_for_outbound_stops_on_joint_tours_3out_0in +util_alternative_specific_constant_for_return_stops_on_joint_tours,Alternative specific constant for return stops on joint tours,is_joint,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in,,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_1in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_return_stops_on_joint_tours_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours,Alternative specific constant for the total number of stops on joint tours,is_joint,,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_on_joint_tours_2out_3in +util_dummy_for_an_outbound_visiting_tour,Dummy for an outbound visiting tour,primary_purpose == 'social',,,,,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour,coef_dummy_for_an_outbound_visiting_tour +util_dummy_for_a_return_visiting_tour,Dummy for a return visiting tour,primary_purpose == 'social',,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour,coef_dummy_for_a_return_visiting_tour +util_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,Dummy for a visiting tour with both outbound and return leg,primary_purpose == 'social',,,,,,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg,coef_dummy_for_a_visiting_tour_with_both_outbound_and_return_leg +util_Phase1_Calibration,Phase1_Calibration,~is_joint,,coef_calibration_for_0out_1in,coef_calibration_for_0out_2in,coef_calibration_for_0out_3in,coef_calibration_for_1out_0in,coef_calibration_for_1out_1in,coef_calibration_for_1out_2in,coef_calibration_for_1out_3in,coef_calibration_for_2out_0in,coef_calibration_for_2out_1in,coef_calibration_for_2out_2in,coef_calibration_for_2out_3in,coef_calibration_for_3out_0in,coef_calibration_for_3out_1in,coef_calibration_for_3out_2in,coef_calibration_for_3out_3in +util_telecommute1,(num_work_tours == 0) & (telecommute_frequency=='1_day_week'),,coef_telecommute1_2,coef_telecommute1_3,coef_telecommute1_4,coef_telecommute1_5,coef_telecommute1_6,coef_telecommute1_7,coef_telecommute1_8,coef_telecommute1_9,coef_telecommute1_10,coef_telecommute1_11,coef_telecommute1_12,coef_telecommute1_13,coef_telecommute1_14,coef_telecommute1_15,coef_telecommute1_16 +util_telecommute23,(num_work_tours == 0) & (telecommute_frequency=='2_3_days_week'),,coef_telecommute23_2,coef_telecommute23_3,coef_telecommute23_4,coef_telecommute23_5,coef_telecommute23_6,coef_telecommute23_7,coef_telecommute23_8,coef_telecommute23_9,coef_telecommute23_10,coef_telecommute23_11,coef_telecommute23_12,coef_telecommute23_13,coef_telecommute23_14,coef_telecommute23_15,coef_telecommute23_16 +util_telecommute4p,(num_work_tours == 0) & (telecommute_frequency=='4_days_week'),,coef_telecommute4p_2,coef_telecommute4p_3,coef_telecommute4p_4,coef_telecommute4p_5,coef_telecommute4p_6,coef_telecommute4p_7,coef_telecommute4p_8,coef_telecommute4p_9,coef_telecommute4p_10,coef_telecommute4p_11,coef_telecommute4p_12,coef_telecommute4p_13,coef_telecommute4p_14,coef_telecommute4p_15,coef_telecommute4p_16 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_univ.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_univ.csv new file mode 100644 index 0000000000..f0854f2424 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_univ.csv @@ -0,0 +1,45 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh,Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,,,,,,,,,,,,,,, +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,,,,,,,,,,,,,,, +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,,,,,,,,,,,,,,, +util_number_of_hh_persons,Number of HH Persons,hhsize,,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons +util_number_of_full_time_workers_in_hh,Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,,,,,,,,,,,,,,, +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,,,,,,,,,,,,,,, +util_num_kids_between_5_and_15_including_years_old,Num kids between 5 and 15 (including) years old,num_age_5_15,,,,,,,,,,,,,,,, +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,,,,,,,,,,,,,,, +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,,,,,,,,,,,,,,, +util_number_of_vehicles,Number of Vehicles,auto_ownership,,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles,coef_number_of_vehicles +util_dummy_for_female,Dummy for female,female,,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,,,,,,,,,,,,,,, +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,num_work_tours,,,,,,,,,,,,,,,, +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,num_univ_tours,,,,,,,,,,,,,,,, +util_number_of_school_tours_tours_undertaken_by_the_person,Number of school tours tours undertaken by the person,num_school_tours,,,,,,,,,,,,,,,, +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,num_escort_tours,,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,,,,,,,,,,,,,,, +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>5) & (start<8),,,,,,,,,,,,,,,, +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 16),,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_,coef_arrival_later_than_17_00_ +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 18),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 10),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 8),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_ +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 2),,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction,coef_hh_accesibility_for_inbound_tours_interaction +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_20_miles,dummy for distance less than 20 Miles,(distance_in_miles < 20),,,,,,,,,,,,,,,, +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,,,,,,,,,,,,,,, +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,1,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,1,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,1,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_1out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_Phase1_Calibration,Phase1_Calibration,1,,coef_calibration_for_0out_1in,coef_calibration_for_0out_2in,coef_calibration_for_0out_3in,coef_calibration_for_1out_0in,coef_calibration_for_1out_1in,coef_calibration_for_1out_2in,coef_calibration_for_1out_3in,coef_calibration_for_2out_0in,coef_calibration_for_2out_1in,coef_calibration_for_2out_2in,coef_calibration_for_2out_3in,coef_calibration_for_3out_0in,coef_calibration_for_3out_1in,coef_calibration_for_3out_2in,coef_calibration_for_3out_3in +#util_Major University Calibration,Major University Calibration,is_major_univ_student,,-0.199248949,0.652388897,0.625258509,-1.850257358,-1.049976118,-0.922350027,0.617946267,-1.566065939,-0.401448626,-0.508496898,-0.026438159,-3.878745091,-5,0.876560807,-1.094489763 diff --git a/activitysim/examples/prototype_mwcog/configs/stop_frequency_work.csv b/activitysim/examples/prototype_mwcog/configs/stop_frequency_work.csv new file mode 100644 index 0000000000..abd7a41294 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/stop_frequency_work.csv @@ -0,0 +1,45 @@ +Label,Description,Expression,0out_0in,0out_1in,0out_2in,0out_3in,1out_0in,1out_1in,1out_2in,1out_3in,2out_0in,2out_1in,2out_2in,2out_3in,3out_0in,3out_1in,3out_2in,3out_3in +util_middle_to_low_income_hh,Middle to Low Income HH,(income_in_thousands>19999) & (income_in_thousands<50000),,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh,coef_middle_to_low_income_hh +util_mid_to_high_income_hh,Mid to High Income HH,(income_in_thousands>=50000) & (income_in_thousands<100000),,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh,coef_mid_to_high_income_hh +util_high_income_hh,High Income HH,(income_in_thousands>=100000),,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh,coef_high_income_hh +util_number_of_hh_persons,Number of HH Persons,hhsize,,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons,coef_number_of_hh_persons +util_number_of_full_time_workers_in_hh,Number of full time workers in HH,num_full,,,,,,,,,,,,,,,, +util_number_of_students_in_hh,Number of Students in HH,num_student,,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh,coef_number_of_students_in_hh +util_num_kids_between_0_and_4_including_years_old,Num Kids between 0 and 4 (including) years old,num_age_0_4,,,,,,,,,,,,,,,, +util_presence_of_kids_between_0_and_4_including_years_old,Presence of Kids between 0 and 4 (including) years old,(num_age_0_4 > 0),,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old,coef_presence_of_kids_between_0_and_4_including_years_old +util_num_kids_between_5_and_15_including_years_old,Num kids between 5 and 15 (including) years old,num_age_5_15,,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old,coef_num_kids_between_5_and_15_including_years_old +util_presence_of_kids_between_5_and_15_including_years_old,Presence of kids between 5 and 15 (including) years old,(num_age_5_15 > 0),,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old,coef_presence_of_kids_between_5_and_15_including_years_old +util_number_of_adults_16_years_old_,Number of Adults (>= 16 years old),num_adult,,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_,coef_number_of_adults_16_years_old_ +util_dummy_for_single_parent_household,Dummy for single parent household,(num_adult == 1) & (num_age_0_4 + num_age_5_15 > 0),,,,,,,,,,,,,,,, +util_number_of_cars_number_of_workers,Number of Cars > Number of Workers,more_cars_than_workers,,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers,coef_number_of_cars_number_of_workers +util_number_of_vehicles,Number of Vehicles,auto_ownership,,,,,,,,,,,,,,,, +util_dummy_for_female,Dummy for female,female,,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female,coef_dummy_for_female +util_dummy_for_all_stops_made_by_transit,Dummy for all stops made by transit,tour_mode_is_transit,,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit,coef_dummy_for_all_stops_made_by_transit +util_dummy_for_walking_to_all_stops,Dummy for walking to all stops,tour_mode_is_non_motorized,,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops,coef_dummy_for_walking_to_all_stops +util_number_of_work_tours_undertaken_by_the_person,Number of work tours undertaken by the person,num_work_tours,,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person,coef_number_of_work_tours_undertaken_by_the_person +util_number_of_university_tours_tours_undertaken_by_the_person,Number of university tours tours undertaken by the person,num_univ_tours,,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person,coef_number_of_university_tours_tours_undertaken_by_the_person +util_number_of_school_tours_tours_undertaken_by_the_person,Number of school tours tours undertaken by the person,num_school_tours,,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person,coef_number_of_school_tours_tours_undertaken_by_the_person +util_number_of_escort_tours_tours_undertaken_by_the_person,Number of escort tours tours undertaken by the person,num_escort_tours,,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person,coef_number_of_escort_tours_tours_undertaken_by_the_person +util_number_of_shop_tours_undertaken_by_the_person,Number of shop tours undertaken by the person,num_shop_tours,,,,,,,,,,,,,,,, +util_number_of_maintenace_tours_tours_undertaken_by_the_person,Number of maintenace tours tours undertaken by the person,num_maint_tours,,,,,,,,,,,,,,,, +util_number_of_eating_tours_tours_undertaken_by_the_person,Number of eating tours tours undertaken by the person,num_eatout_tours,,,,,,,,,,,,,,,, +util_number_of_visit_tours_tours_undertaken_by_the_person,Number of visit tours tours undertaken by the person,num_social_tours,,,,,,,,,,,,,,,, +util_number_of_shop_tours_undertaken_by_the_houshold,Number of shop tours undertaken by the houshold,num_hh_shop_tours,,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold,coef_number_of_shop_tours_undertaken_by_the_houshold +util_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,AM Peak departure between 6AM and 7 AM (including) Interacted with outbound tours,(start>6) & (start<11),,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours,coef_am_peak_departure_between_6am_and_7_am_including_interacted_with_outbound_tours +util_arrival_later_than_17_00_,Arrival later than 17:00.,(end > 28),,,,,,,,,,,,,,,, +util_evening_arrival_19_00_interacted_with_return_tours,Evening Arrival (>=19:00) Interacted with return tours,(end > 32),,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours,coef_evening_arrival_19_00_interacted_with_return_tours +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,Dummy for the duration of the tour being equal or greater than or equal to 11 hours,(duration > 21),,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours,coef_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_11_hours +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_9_hours_,Dummy for the duration of the tour being equal or greater than or equal to 9 hours ,(duration > 17),,,,,,,,,,,,,,,, +util_dummy_for_the_duration_of_the_tour_being_equal_or_greater_than_or_equal_to_3_hours_,Dummy for the duration of the tour being equal or greater than or equal to 3 hours ,(duration > 5),,,,,,,,,,,,,,,, +util_hh_accesibility_for_outbound_tours_interaction,HH accesibility for outbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_hh_accesibility_for_inbound_tours_interaction,HH accesibility for inbound tours. Interaction,hhacc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_outbound_tours_interaction,Primary Destination Accessibility for outbound tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_primary_destination_accessibility_for_return_tours_interaction,Primary Destination Accessibility for return tours. Interaction,pracc,,,,,,,,,,,,,,,, +util_dummy_for_distance_less_than_20_miles,dummy for distance less than 20 Miles,(distance_in_miles < 20),,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles,coef_dummy_for_distance_less_than_20_miles +util_dummy_for_distance_in_miles,dummy for distance in miles,distance_in_miles,,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles,coef_dummy_for_distance_in_miles +util_no_stops_if_tour_mode_is_drivetransit,No stops if tour mode is driveTransit,tour_mode_is_drive_transit,,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit,coef_no_stops_if_tour_mode_is_drivetransit +util_alternative_specific_constant_for_outbound_stops,Alternative specific constant for outbound stops,1,,,,,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_1out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_2out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in,coef_alternative_specific_constant_for_outbound_stops_3out_0in +util_alternative_specific_constant_for_return_stops,Alternative specific constant for return stops,1,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in,,coef_alternative_specific_constant_for_return_stops_0out_1in,coef_alternative_specific_constant_for_return_stops_0out_2in,coef_alternative_specific_constant_for_return_stops_0out_3in +util_alternative_specific_constant_for_the_total_number_of_stops,Alternative specific constant for the total number of stops,1,,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_0out_2in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in,coef_alternative_specific_constant_for_the_total_number_of_stops_2out_3in +util_number_of_subtours_in_the_tour,Number of subtours in the tour,num_atwork_subtours,,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour,coef_number_of_subtours_in_the_tour +util_Phase1_Calibration,Phase1_Calibration,1,,coef_calibration_for_0out_1in,coef_calibration_for_0out_2in,coef_calibration_for_0out_3in,coef_calibration_for_1out_0in,coef_calibration_for_1out_1in,coef_calibration_for_1out_2in,coef_calibration_for_1out_3in,coef_calibration_for_2out_0in,coef_calibration_for_2out_1in,coef_calibration_for_2out_2in,coef_calibration_for_2out_3in,coef_calibration_for_3out_0in,coef_calibration_for_3out_1in,coef_calibration_for_3out_2in,coef_calibration_for_3out_3in diff --git a/activitysim/examples/prototype_mwcog/configs/telecommute_frequency.csv b/activitysim/examples/prototype_mwcog/configs/telecommute_frequency.csv new file mode 100644 index 0000000000..d001f013fc --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/telecommute_frequency.csv @@ -0,0 +1,21 @@ +Label,Description,Expression,No_Telecommute,1_day_week,2_3_days_week,4_days_week +#util_Services,Services,@df.occup==52,0,coef_Services_1day,coef_Services_23day,coef_Services_4day +#util_SalesOffice,SalesOffice,@df.occup==53,0,coef_SalesOffice_1day,coef_SalesOffice_23day,coef_SalesOffice_4day +#util_ResourceConstruct,ResourceConstruct,@df.occup==54,0,coef_ResourceConstruct_1day,coef_ResourceConstruct_23day,coef_ResourceConstruct_4day +#util_TransportMat,TransportMat,@df.occup==55,0,coef_TransportMat_1day,coef_TransportMat_23day,coef_TransportMat_4day +util_HasChildren0to5,Has children 0 to 5 years old,@df.has_young_children,0,coef_HasChildren0to5_1day,coef_HasChildren0to5_23day,coef_HasChildren0to5_4day +util_HasChildren6to12,Has children 6 to 12 years old,@df.has_children_6_to_12,0,coef_HasChildren6to12_1day,coef_HasChildren6to12_23day,coef_HasChildren6to12_4day +util_OneAdultInHH,One adult in hh,@df.num_adults==1,0,coef_OneAdultInHH_1day,coef_OneAdultInHH_23day,coef_OneAdultInHH_4day +util_2plusAdultsInHH,2 or more adults in hh,@df.num_adults==2,0,coef_2plusAdultsInHH_1day,coef_2plusAdultsInHH_23day,coef_2plusAdultsInHH_4day +util_Female,female,@df.SEX==2,0,coef_Female_1day,coef_Female_23day,coef_Female_4day +util_PartTimeWorker,Part-time worker,@df.pemploy==PEMPLOY_PART,0,coef_PartTimeWorker_1day,coef_PartTimeWorker_23day,coef_PartTimeWorker_4day +util_CollegeStudent,College student,@df.ptype==PTYPE_UNIVERSITY,0,coef_CollegeStudent_1day,coef_CollegeStudent_23day,coef_CollegeStudent_4day +util_PaysToPark,Pays to park,@~df.free_parking_at_work,0,coef_PaysToPark_1day,coef_PaysToPark_23day,coef_PaysToPark_4day +util_Income60to100k,Income 60-100k,"@df.income.between(60000, 100000)",0,coef_Income60to100k_1day,coef_Income60to100k_23day,coef_Income60to100k_4day +util_Income100to150k,Income 100-150k,"@df.income.between(100000, 150000)",0,coef_Income100to150k_1day,coef_Income100to150k_23day,coef_Income100to150k_4day +util_Income150kplus,Income 150k+,@df.income > 150000,0,coef_Income150kplus_1day,coef_Income150kplus_23day,coef_Income150kplus_4day +util_0Autos,0 Autos,@df.auto_ownership==0,0,coef_0Autos_1day,coef_0Autos_23day,coef_0Autos_4day +util_1Auto,1 Auto,@df.auto_ownership==1,0,coef_1Auto_1day,coef_1Auto_23day,coef_1Auto_4day +util_3plusAutos,3+ Autos,@df.auto_ownership>=3,0,coef_3plusAutos_1day,coef_3plusAutos_23day,coef_3plusAutos_4day +util_DistanceToWork,Distance to work,@df.distance_to_work,0,coef_DistanceToWork_1day,coef_DistanceToWork_23day,coef_DistanceToWork_4day +util_temp_calib,temporary calibration,1,0,coef_temp_calib_1day,coef_temp_calib_23day,coef_temp_calib_4day diff --git a/activitysim/examples/example_semcog/configs/telecommute_frequency.yaml b/activitysim/examples/prototype_mwcog/configs/telecommute_frequency.yaml old mode 100755 new mode 100644 similarity index 94% rename from activitysim/examples/example_semcog/configs/telecommute_frequency.yaml rename to activitysim/examples/prototype_mwcog/configs/telecommute_frequency.yaml index 7b69e136e3..162066ef6b --- a/activitysim/examples/example_semcog/configs/telecommute_frequency.yaml +++ b/activitysim/examples/prototype_mwcog/configs/telecommute_frequency.yaml @@ -1,9 +1,9 @@ - -# borrowed from free parking model - -SPEC: telecommute_frequency.csv -COEFFICIENTS: telecommute_frequency_coeffs.csv - -#LOGIT_TYPE: NL -LOGIT_TYPE: MNL - + +# borrowed from free parking model + +SPEC: telecommute_frequency.csv +COEFFICIENTS: telecommute_frequency_coeffs.csv + +#LOGIT_TYPE: NL +LOGIT_TYPE: MNL + diff --git a/activitysim/examples/prototype_mwcog/configs/telecommute_frequency_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/telecommute_frequency_coeffs.csv new file mode 100644 index 0000000000..1a7acb4fc6 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/telecommute_frequency_coeffs.csv @@ -0,0 +1,61 @@ +coefficient_name,value,constrain +coef_Services_1day,-1.624,F +coef_SalesOffice_1day,-0.62,F +coef_ResourceConstruct_1day,-1.57,F +coef_TransportMat_1day,-14.747,F +coef_HasChildren0to5_1day,0,F +coef_HasChildren6to12_1day,0,F +coef_OneAdultInHH_1day,0.177,F +coef_2plusAdultsInHH_1day,0,F +coef_Female_1day,0,F +coef_PartTimeWorker_1day,0,F +coef_CollegeStudent_1day,0,F +coef_PaysToPark_1day,0.457,F +coef_Income60to100k_1day,0.56,F +coef_Income100to150k_1day,0.644,F +coef_Income150kplus_1day,0.92,F +coef_0Autos_1day,0,F +coef_1Auto_1day,0,F +coef_3plusAutos_1day,0,F +coef_DistanceToWork_1day,0.016,F +coef_Services_23day,-0.651,F +coef_SalesOffice_23day,-0.738,F +coef_ResourceConstruct_23day,0,F +coef_TransportMat_23day,0,F +coef_HasChildren0to5_23day,0,F +coef_HasChildren6to12_23day,0.517,F +coef_OneAdultInHH_23day,0,F +coef_2plusAdultsInHH_23day,0,F +coef_Female_23day,0,F +coef_PartTimeWorker_23day,0.425,F +coef_CollegeStudent_23day,0.6,F +coef_PaysToPark_23day,0,F +coef_Income60to100k_23day,0.389,F +coef_Income100to150k_23day,0.193,F +coef_Income150kplus_23day,0.765,F +coef_0Autos_23day,0.407,F +coef_1Auto_23day,0,F +coef_3plusAutos_23day,-0.73,F +coef_DistanceToWork_23day,0,F +coef_Services_4day,0,F +coef_SalesOffice_4day,-0.894,F +coef_ResourceConstruct_4day,0,F +coef_TransportMat_4day,0,F +coef_HasChildren0to5_4day,-0.864,F +coef_HasChildren6to12_4day,-0.81,F +coef_OneAdultInHH_4day,-0.043,F +coef_2plusAdultsInHH_4day,0,F +coef_Female_4day,0,F +coef_PartTimeWorker_4day,1.112,F +coef_CollegeStudent_4day,0,F +coef_PaysToPark_4day,0,F +coef_Income60to100k_4day,0,F +coef_Income100to150k_4day,0,F +coef_Income150kplus_4day,0,F +coef_0Autos_4day,0,F +coef_1Auto_4day,0,F +coef_3plusAutos_4day,0,F +coef_DistanceToWork_4day,0,F +coef_temp_calib_1day,-3.464358858,F +coef_temp_calib_23day,-3.046318883,F +coef_temp_calib_4day,-3.518320974,F diff --git a/activitysim/examples/example_semcog/configs/tour_departure_and_duration_alternatives.csv b/activitysim/examples/prototype_mwcog/configs/tour_departure_and_duration_alternatives.csv old mode 100755 new mode 100644 similarity index 84% rename from activitysim/examples/example_semcog/configs/tour_departure_and_duration_alternatives.csv rename to activitysim/examples/prototype_mwcog/configs/tour_departure_and_duration_alternatives.csv index ca2b4d789a..30ff417ca9 --- a/activitysim/examples/example_semcog/configs/tour_departure_and_duration_alternatives.csv +++ b/activitysim/examples/prototype_mwcog/configs/tour_departure_and_duration_alternatives.csv @@ -1,1177 +1,1177 @@ -start,end -1,1 -1,2 -1,3 -1,4 -1,5 -1,6 -1,7 -1,8 -1,9 -1,10 -1,11 -1,12 -1,13 -1,14 -1,15 -1,16 -1,17 -1,18 -1,19 -1,20 -1,21 -1,22 -1,23 -1,24 -1,25 -1,26 -1,27 -1,28 -1,29 -1,30 -1,31 -1,32 -1,33 -1,34 -1,35 -1,36 -1,37 -1,38 -1,39 -1,40 -1,41 -1,42 -1,43 -1,44 -1,45 -1,46 -1,47 -1,48 -2,2 -2,3 -2,4 -2,5 -2,6 -2,7 -2,8 -2,9 -2,10 -2,11 -2,12 -2,13 -2,14 -2,15 -2,16 -2,17 -2,18 -2,19 -2,20 -2,21 -2,22 -2,23 -2,24 -2,25 -2,26 -2,27 -2,28 -2,29 -2,30 -2,31 -2,32 -2,33 -2,34 -2,35 -2,36 -2,37 -2,38 -2,39 -2,40 -2,41 -2,42 -2,43 -2,44 -2,45 -2,46 -2,47 -2,48 -3,3 -3,4 -3,5 -3,6 -3,7 -3,8 -3,9 -3,10 -3,11 -3,12 -3,13 -3,14 -3,15 -3,16 -3,17 -3,18 -3,19 -3,20 -3,21 -3,22 -3,23 -3,24 -3,25 -3,26 -3,27 -3,28 -3,29 -3,30 -3,31 -3,32 -3,33 -3,34 -3,35 -3,36 -3,37 -3,38 -3,39 -3,40 -3,41 -3,42 -3,43 -3,44 -3,45 -3,46 -3,47 -3,48 -4,4 -4,5 -4,6 -4,7 -4,8 -4,9 -4,10 -4,11 -4,12 -4,13 -4,14 -4,15 -4,16 -4,17 -4,18 -4,19 -4,20 -4,21 -4,22 -4,23 -4,24 -4,25 -4,26 -4,27 -4,28 -4,29 -4,30 -4,31 -4,32 -4,33 -4,34 -4,35 -4,36 -4,37 -4,38 -4,39 -4,40 -4,41 -4,42 -4,43 -4,44 -4,45 -4,46 -4,47 -4,48 -5,5 -5,6 -5,7 -5,8 -5,9 -5,10 -5,11 -5,12 -5,13 -5,14 -5,15 -5,16 -5,17 -5,18 -5,19 -5,20 -5,21 -5,22 -5,23 -5,24 -5,25 -5,26 -5,27 -5,28 -5,29 -5,30 -5,31 -5,32 -5,33 -5,34 -5,35 -5,36 -5,37 -5,38 -5,39 -5,40 -5,41 -5,42 -5,43 -5,44 -5,45 -5,46 -5,47 -5,48 -6,6 -6,7 -6,8 -6,9 -6,10 -6,11 -6,12 -6,13 -6,14 -6,15 -6,16 -6,17 -6,18 -6,19 -6,20 -6,21 -6,22 -6,23 -6,24 -6,25 -6,26 -6,27 -6,28 -6,29 -6,30 -6,31 -6,32 -6,33 -6,34 -6,35 -6,36 -6,37 -6,38 -6,39 -6,40 -6,41 -6,42 -6,43 -6,44 -6,45 -6,46 -6,47 -6,48 -7,7 -7,8 -7,9 -7,10 -7,11 -7,12 -7,13 -7,14 -7,15 -7,16 -7,17 -7,18 -7,19 -7,20 -7,21 -7,22 -7,23 -7,24 -7,25 -7,26 -7,27 -7,28 -7,29 -7,30 -7,31 -7,32 -7,33 -7,34 -7,35 -7,36 -7,37 -7,38 -7,39 -7,40 -7,41 -7,42 -7,43 -7,44 -7,45 -7,46 -7,47 -7,48 -8,8 -8,9 -8,10 -8,11 -8,12 -8,13 -8,14 -8,15 -8,16 -8,17 -8,18 -8,19 -8,20 -8,21 -8,22 -8,23 -8,24 -8,25 -8,26 -8,27 -8,28 -8,29 -8,30 -8,31 -8,32 -8,33 -8,34 -8,35 -8,36 -8,37 -8,38 -8,39 -8,40 -8,41 -8,42 -8,43 -8,44 -8,45 -8,46 -8,47 -8,48 -9,9 -9,10 -9,11 -9,12 -9,13 -9,14 -9,15 -9,16 -9,17 -9,18 -9,19 -9,20 -9,21 -9,22 -9,23 -9,24 -9,25 -9,26 -9,27 -9,28 -9,29 -9,30 -9,31 -9,32 -9,33 -9,34 -9,35 -9,36 -9,37 -9,38 -9,39 -9,40 -9,41 -9,42 -9,43 -9,44 -9,45 -9,46 -9,47 -9,48 -10,10 -10,11 -10,12 -10,13 -10,14 -10,15 -10,16 -10,17 -10,18 -10,19 -10,20 -10,21 -10,22 -10,23 -10,24 -10,25 -10,26 -10,27 -10,28 -10,29 -10,30 -10,31 -10,32 -10,33 -10,34 -10,35 -10,36 -10,37 -10,38 -10,39 -10,40 -10,41 -10,42 -10,43 -10,44 -10,45 -10,46 -10,47 -10,48 -11,11 -11,12 -11,13 -11,14 -11,15 -11,16 -11,17 -11,18 -11,19 -11,20 -11,21 -11,22 -11,23 -11,24 -11,25 -11,26 -11,27 -11,28 -11,29 -11,30 -11,31 -11,32 -11,33 -11,34 -11,35 -11,36 -11,37 -11,38 -11,39 -11,40 -11,41 -11,42 -11,43 -11,44 -11,45 -11,46 -11,47 -11,48 -12,12 -12,13 -12,14 -12,15 -12,16 -12,17 -12,18 -12,19 -12,20 -12,21 -12,22 -12,23 -12,24 -12,25 -12,26 -12,27 -12,28 -12,29 -12,30 -12,31 -12,32 -12,33 -12,34 -12,35 -12,36 -12,37 -12,38 -12,39 -12,40 -12,41 -12,42 -12,43 -12,44 -12,45 -12,46 -12,47 -12,48 -13,13 -13,14 -13,15 -13,16 -13,17 -13,18 -13,19 -13,20 -13,21 -13,22 -13,23 -13,24 -13,25 -13,26 -13,27 -13,28 -13,29 -13,30 -13,31 -13,32 -13,33 -13,34 -13,35 -13,36 -13,37 -13,38 -13,39 -13,40 -13,41 -13,42 -13,43 -13,44 -13,45 -13,46 -13,47 -13,48 -14,14 -14,15 -14,16 -14,17 -14,18 -14,19 -14,20 -14,21 -14,22 -14,23 -14,24 -14,25 -14,26 -14,27 -14,28 -14,29 -14,30 -14,31 -14,32 -14,33 -14,34 -14,35 -14,36 -14,37 -14,38 -14,39 -14,40 -14,41 -14,42 -14,43 -14,44 -14,45 -14,46 -14,47 -14,48 -15,15 -15,16 -15,17 -15,18 -15,19 -15,20 -15,21 -15,22 -15,23 -15,24 -15,25 -15,26 -15,27 -15,28 -15,29 -15,30 -15,31 -15,32 -15,33 -15,34 -15,35 -15,36 -15,37 -15,38 -15,39 -15,40 -15,41 -15,42 -15,43 -15,44 -15,45 -15,46 -15,47 -15,48 -16,16 -16,17 -16,18 -16,19 -16,20 -16,21 -16,22 -16,23 -16,24 -16,25 -16,26 -16,27 -16,28 -16,29 -16,30 -16,31 -16,32 -16,33 -16,34 -16,35 -16,36 -16,37 -16,38 -16,39 -16,40 -16,41 -16,42 -16,43 -16,44 -16,45 -16,46 -16,47 -16,48 -17,17 -17,18 -17,19 -17,20 -17,21 -17,22 -17,23 -17,24 -17,25 -17,26 -17,27 -17,28 -17,29 -17,30 -17,31 -17,32 -17,33 -17,34 -17,35 -17,36 -17,37 -17,38 -17,39 -17,40 -17,41 -17,42 -17,43 -17,44 -17,45 -17,46 -17,47 -17,48 -18,18 -18,19 -18,20 -18,21 -18,22 -18,23 -18,24 -18,25 -18,26 -18,27 -18,28 -18,29 -18,30 -18,31 -18,32 -18,33 -18,34 -18,35 -18,36 -18,37 -18,38 -18,39 -18,40 -18,41 -18,42 -18,43 -18,44 -18,45 -18,46 -18,47 -18,48 -19,19 -19,20 -19,21 -19,22 -19,23 -19,24 -19,25 -19,26 -19,27 -19,28 -19,29 -19,30 -19,31 -19,32 -19,33 -19,34 -19,35 -19,36 -19,37 -19,38 -19,39 -19,40 -19,41 -19,42 -19,43 -19,44 -19,45 -19,46 -19,47 -19,48 -20,20 -20,21 -20,22 -20,23 -20,24 -20,25 -20,26 -20,27 -20,28 -20,29 -20,30 -20,31 -20,32 -20,33 -20,34 -20,35 -20,36 -20,37 -20,38 -20,39 -20,40 -20,41 -20,42 -20,43 -20,44 -20,45 -20,46 -20,47 -20,48 -21,21 -21,22 -21,23 -21,24 -21,25 -21,26 -21,27 -21,28 -21,29 -21,30 -21,31 -21,32 -21,33 -21,34 -21,35 -21,36 -21,37 -21,38 -21,39 -21,40 -21,41 -21,42 -21,43 -21,44 -21,45 -21,46 -21,47 -21,48 -22,22 -22,23 -22,24 -22,25 -22,26 -22,27 -22,28 -22,29 -22,30 -22,31 -22,32 -22,33 -22,34 -22,35 -22,36 -22,37 -22,38 -22,39 -22,40 -22,41 -22,42 -22,43 -22,44 -22,45 -22,46 -22,47 -22,48 -23,23 -23,24 -23,25 -23,26 -23,27 -23,28 -23,29 -23,30 -23,31 -23,32 -23,33 -23,34 -23,35 -23,36 -23,37 -23,38 -23,39 -23,40 -23,41 -23,42 -23,43 -23,44 -23,45 -23,46 -23,47 -23,48 -24,24 -24,25 -24,26 -24,27 -24,28 -24,29 -24,30 -24,31 -24,32 -24,33 -24,34 -24,35 -24,36 -24,37 -24,38 -24,39 -24,40 -24,41 -24,42 -24,43 -24,44 -24,45 -24,46 -24,47 -24,48 -25,25 -25,26 -25,27 -25,28 -25,29 -25,30 -25,31 -25,32 -25,33 -25,34 -25,35 -25,36 -25,37 -25,38 -25,39 -25,40 -25,41 -25,42 -25,43 -25,44 -25,45 -25,46 -25,47 -25,48 -26,26 -26,27 -26,28 -26,29 -26,30 -26,31 -26,32 -26,33 -26,34 -26,35 -26,36 -26,37 -26,38 -26,39 -26,40 -26,41 -26,42 -26,43 -26,44 -26,45 -26,46 -26,47 -26,48 -27,27 -27,28 -27,29 -27,30 -27,31 -27,32 -27,33 -27,34 -27,35 -27,36 -27,37 -27,38 -27,39 -27,40 -27,41 -27,42 -27,43 -27,44 -27,45 -27,46 -27,47 -27,48 -28,28 -28,29 -28,30 -28,31 -28,32 -28,33 -28,34 -28,35 -28,36 -28,37 -28,38 -28,39 -28,40 -28,41 -28,42 -28,43 -28,44 -28,45 -28,46 -28,47 -28,48 -29,29 -29,30 -29,31 -29,32 -29,33 -29,34 -29,35 -29,36 -29,37 -29,38 -29,39 -29,40 -29,41 -29,42 -29,43 -29,44 -29,45 -29,46 -29,47 -29,48 -30,30 -30,31 -30,32 -30,33 -30,34 -30,35 -30,36 -30,37 -30,38 -30,39 -30,40 -30,41 -30,42 -30,43 -30,44 -30,45 -30,46 -30,47 -30,48 -31,31 -31,32 -31,33 -31,34 -31,35 -31,36 -31,37 -31,38 -31,39 -31,40 -31,41 -31,42 -31,43 -31,44 -31,45 -31,46 -31,47 -31,48 -32,32 -32,33 -32,34 -32,35 -32,36 -32,37 -32,38 -32,39 -32,40 -32,41 -32,42 -32,43 -32,44 -32,45 -32,46 -32,47 -32,48 -33,33 -33,34 -33,35 -33,36 -33,37 -33,38 -33,39 -33,40 -33,41 -33,42 -33,43 -33,44 -33,45 -33,46 -33,47 -33,48 -34,34 -34,35 -34,36 -34,37 -34,38 -34,39 -34,40 -34,41 -34,42 -34,43 -34,44 -34,45 -34,46 -34,47 -34,48 -35,35 -35,36 -35,37 -35,38 -35,39 -35,40 -35,41 -35,42 -35,43 -35,44 -35,45 -35,46 -35,47 -35,48 -36,36 -36,37 -36,38 -36,39 -36,40 -36,41 -36,42 -36,43 -36,44 -36,45 -36,46 -36,47 -36,48 -37,37 -37,38 -37,39 -37,40 -37,41 -37,42 -37,43 -37,44 -37,45 -37,46 -37,47 -37,48 -38,38 -38,39 -38,40 -38,41 -38,42 -38,43 -38,44 -38,45 -38,46 -38,47 -38,48 -39,39 -39,40 -39,41 -39,42 -39,43 -39,44 -39,45 -39,46 -39,47 -39,48 -40,40 -40,41 -40,42 -40,43 -40,44 -40,45 -40,46 -40,47 -40,48 -41,41 -41,42 -41,43 -41,44 -41,45 -41,46 -41,47 -41,48 -42,42 -42,43 -42,44 -42,45 -42,46 -42,47 -42,48 -43,43 -43,44 -43,45 -43,46 -43,47 -43,48 -44,44 -44,45 -44,46 -44,47 -44,48 -45,45 -45,46 -45,47 -45,48 -46,46 -46,47 -46,48 -47,47 -47,48 -48,48 +start,end +1,1 +1,2 +1,3 +1,4 +1,5 +1,6 +1,7 +1,8 +1,9 +1,10 +1,11 +1,12 +1,13 +1,14 +1,15 +1,16 +1,17 +1,18 +1,19 +1,20 +1,21 +1,22 +1,23 +1,24 +1,25 +1,26 +1,27 +1,28 +1,29 +1,30 +1,31 +1,32 +1,33 +1,34 +1,35 +1,36 +1,37 +1,38 +1,39 +1,40 +1,41 +1,42 +1,43 +1,44 +1,45 +1,46 +1,47 +1,48 +2,2 +2,3 +2,4 +2,5 +2,6 +2,7 +2,8 +2,9 +2,10 +2,11 +2,12 +2,13 +2,14 +2,15 +2,16 +2,17 +2,18 +2,19 +2,20 +2,21 +2,22 +2,23 +2,24 +2,25 +2,26 +2,27 +2,28 +2,29 +2,30 +2,31 +2,32 +2,33 +2,34 +2,35 +2,36 +2,37 +2,38 +2,39 +2,40 +2,41 +2,42 +2,43 +2,44 +2,45 +2,46 +2,47 +2,48 +3,3 +3,4 +3,5 +3,6 +3,7 +3,8 +3,9 +3,10 +3,11 +3,12 +3,13 +3,14 +3,15 +3,16 +3,17 +3,18 +3,19 +3,20 +3,21 +3,22 +3,23 +3,24 +3,25 +3,26 +3,27 +3,28 +3,29 +3,30 +3,31 +3,32 +3,33 +3,34 +3,35 +3,36 +3,37 +3,38 +3,39 +3,40 +3,41 +3,42 +3,43 +3,44 +3,45 +3,46 +3,47 +3,48 +4,4 +4,5 +4,6 +4,7 +4,8 +4,9 +4,10 +4,11 +4,12 +4,13 +4,14 +4,15 +4,16 +4,17 +4,18 +4,19 +4,20 +4,21 +4,22 +4,23 +4,24 +4,25 +4,26 +4,27 +4,28 +4,29 +4,30 +4,31 +4,32 +4,33 +4,34 +4,35 +4,36 +4,37 +4,38 +4,39 +4,40 +4,41 +4,42 +4,43 +4,44 +4,45 +4,46 +4,47 +4,48 +5,5 +5,6 +5,7 +5,8 +5,9 +5,10 +5,11 +5,12 +5,13 +5,14 +5,15 +5,16 +5,17 +5,18 +5,19 +5,20 +5,21 +5,22 +5,23 +5,24 +5,25 +5,26 +5,27 +5,28 +5,29 +5,30 +5,31 +5,32 +5,33 +5,34 +5,35 +5,36 +5,37 +5,38 +5,39 +5,40 +5,41 +5,42 +5,43 +5,44 +5,45 +5,46 +5,47 +5,48 +6,6 +6,7 +6,8 +6,9 +6,10 +6,11 +6,12 +6,13 +6,14 +6,15 +6,16 +6,17 +6,18 +6,19 +6,20 +6,21 +6,22 +6,23 +6,24 +6,25 +6,26 +6,27 +6,28 +6,29 +6,30 +6,31 +6,32 +6,33 +6,34 +6,35 +6,36 +6,37 +6,38 +6,39 +6,40 +6,41 +6,42 +6,43 +6,44 +6,45 +6,46 +6,47 +6,48 +7,7 +7,8 +7,9 +7,10 +7,11 +7,12 +7,13 +7,14 +7,15 +7,16 +7,17 +7,18 +7,19 +7,20 +7,21 +7,22 +7,23 +7,24 +7,25 +7,26 +7,27 +7,28 +7,29 +7,30 +7,31 +7,32 +7,33 +7,34 +7,35 +7,36 +7,37 +7,38 +7,39 +7,40 +7,41 +7,42 +7,43 +7,44 +7,45 +7,46 +7,47 +7,48 +8,8 +8,9 +8,10 +8,11 +8,12 +8,13 +8,14 +8,15 +8,16 +8,17 +8,18 +8,19 +8,20 +8,21 +8,22 +8,23 +8,24 +8,25 +8,26 +8,27 +8,28 +8,29 +8,30 +8,31 +8,32 +8,33 +8,34 +8,35 +8,36 +8,37 +8,38 +8,39 +8,40 +8,41 +8,42 +8,43 +8,44 +8,45 +8,46 +8,47 +8,48 +9,9 +9,10 +9,11 +9,12 +9,13 +9,14 +9,15 +9,16 +9,17 +9,18 +9,19 +9,20 +9,21 +9,22 +9,23 +9,24 +9,25 +9,26 +9,27 +9,28 +9,29 +9,30 +9,31 +9,32 +9,33 +9,34 +9,35 +9,36 +9,37 +9,38 +9,39 +9,40 +9,41 +9,42 +9,43 +9,44 +9,45 +9,46 +9,47 +9,48 +10,10 +10,11 +10,12 +10,13 +10,14 +10,15 +10,16 +10,17 +10,18 +10,19 +10,20 +10,21 +10,22 +10,23 +10,24 +10,25 +10,26 +10,27 +10,28 +10,29 +10,30 +10,31 +10,32 +10,33 +10,34 +10,35 +10,36 +10,37 +10,38 +10,39 +10,40 +10,41 +10,42 +10,43 +10,44 +10,45 +10,46 +10,47 +10,48 +11,11 +11,12 +11,13 +11,14 +11,15 +11,16 +11,17 +11,18 +11,19 +11,20 +11,21 +11,22 +11,23 +11,24 +11,25 +11,26 +11,27 +11,28 +11,29 +11,30 +11,31 +11,32 +11,33 +11,34 +11,35 +11,36 +11,37 +11,38 +11,39 +11,40 +11,41 +11,42 +11,43 +11,44 +11,45 +11,46 +11,47 +11,48 +12,12 +12,13 +12,14 +12,15 +12,16 +12,17 +12,18 +12,19 +12,20 +12,21 +12,22 +12,23 +12,24 +12,25 +12,26 +12,27 +12,28 +12,29 +12,30 +12,31 +12,32 +12,33 +12,34 +12,35 +12,36 +12,37 +12,38 +12,39 +12,40 +12,41 +12,42 +12,43 +12,44 +12,45 +12,46 +12,47 +12,48 +13,13 +13,14 +13,15 +13,16 +13,17 +13,18 +13,19 +13,20 +13,21 +13,22 +13,23 +13,24 +13,25 +13,26 +13,27 +13,28 +13,29 +13,30 +13,31 +13,32 +13,33 +13,34 +13,35 +13,36 +13,37 +13,38 +13,39 +13,40 +13,41 +13,42 +13,43 +13,44 +13,45 +13,46 +13,47 +13,48 +14,14 +14,15 +14,16 +14,17 +14,18 +14,19 +14,20 +14,21 +14,22 +14,23 +14,24 +14,25 +14,26 +14,27 +14,28 +14,29 +14,30 +14,31 +14,32 +14,33 +14,34 +14,35 +14,36 +14,37 +14,38 +14,39 +14,40 +14,41 +14,42 +14,43 +14,44 +14,45 +14,46 +14,47 +14,48 +15,15 +15,16 +15,17 +15,18 +15,19 +15,20 +15,21 +15,22 +15,23 +15,24 +15,25 +15,26 +15,27 +15,28 +15,29 +15,30 +15,31 +15,32 +15,33 +15,34 +15,35 +15,36 +15,37 +15,38 +15,39 +15,40 +15,41 +15,42 +15,43 +15,44 +15,45 +15,46 +15,47 +15,48 +16,16 +16,17 +16,18 +16,19 +16,20 +16,21 +16,22 +16,23 +16,24 +16,25 +16,26 +16,27 +16,28 +16,29 +16,30 +16,31 +16,32 +16,33 +16,34 +16,35 +16,36 +16,37 +16,38 +16,39 +16,40 +16,41 +16,42 +16,43 +16,44 +16,45 +16,46 +16,47 +16,48 +17,17 +17,18 +17,19 +17,20 +17,21 +17,22 +17,23 +17,24 +17,25 +17,26 +17,27 +17,28 +17,29 +17,30 +17,31 +17,32 +17,33 +17,34 +17,35 +17,36 +17,37 +17,38 +17,39 +17,40 +17,41 +17,42 +17,43 +17,44 +17,45 +17,46 +17,47 +17,48 +18,18 +18,19 +18,20 +18,21 +18,22 +18,23 +18,24 +18,25 +18,26 +18,27 +18,28 +18,29 +18,30 +18,31 +18,32 +18,33 +18,34 +18,35 +18,36 +18,37 +18,38 +18,39 +18,40 +18,41 +18,42 +18,43 +18,44 +18,45 +18,46 +18,47 +18,48 +19,19 +19,20 +19,21 +19,22 +19,23 +19,24 +19,25 +19,26 +19,27 +19,28 +19,29 +19,30 +19,31 +19,32 +19,33 +19,34 +19,35 +19,36 +19,37 +19,38 +19,39 +19,40 +19,41 +19,42 +19,43 +19,44 +19,45 +19,46 +19,47 +19,48 +20,20 +20,21 +20,22 +20,23 +20,24 +20,25 +20,26 +20,27 +20,28 +20,29 +20,30 +20,31 +20,32 +20,33 +20,34 +20,35 +20,36 +20,37 +20,38 +20,39 +20,40 +20,41 +20,42 +20,43 +20,44 +20,45 +20,46 +20,47 +20,48 +21,21 +21,22 +21,23 +21,24 +21,25 +21,26 +21,27 +21,28 +21,29 +21,30 +21,31 +21,32 +21,33 +21,34 +21,35 +21,36 +21,37 +21,38 +21,39 +21,40 +21,41 +21,42 +21,43 +21,44 +21,45 +21,46 +21,47 +21,48 +22,22 +22,23 +22,24 +22,25 +22,26 +22,27 +22,28 +22,29 +22,30 +22,31 +22,32 +22,33 +22,34 +22,35 +22,36 +22,37 +22,38 +22,39 +22,40 +22,41 +22,42 +22,43 +22,44 +22,45 +22,46 +22,47 +22,48 +23,23 +23,24 +23,25 +23,26 +23,27 +23,28 +23,29 +23,30 +23,31 +23,32 +23,33 +23,34 +23,35 +23,36 +23,37 +23,38 +23,39 +23,40 +23,41 +23,42 +23,43 +23,44 +23,45 +23,46 +23,47 +23,48 +24,24 +24,25 +24,26 +24,27 +24,28 +24,29 +24,30 +24,31 +24,32 +24,33 +24,34 +24,35 +24,36 +24,37 +24,38 +24,39 +24,40 +24,41 +24,42 +24,43 +24,44 +24,45 +24,46 +24,47 +24,48 +25,25 +25,26 +25,27 +25,28 +25,29 +25,30 +25,31 +25,32 +25,33 +25,34 +25,35 +25,36 +25,37 +25,38 +25,39 +25,40 +25,41 +25,42 +25,43 +25,44 +25,45 +25,46 +25,47 +25,48 +26,26 +26,27 +26,28 +26,29 +26,30 +26,31 +26,32 +26,33 +26,34 +26,35 +26,36 +26,37 +26,38 +26,39 +26,40 +26,41 +26,42 +26,43 +26,44 +26,45 +26,46 +26,47 +26,48 +27,27 +27,28 +27,29 +27,30 +27,31 +27,32 +27,33 +27,34 +27,35 +27,36 +27,37 +27,38 +27,39 +27,40 +27,41 +27,42 +27,43 +27,44 +27,45 +27,46 +27,47 +27,48 +28,28 +28,29 +28,30 +28,31 +28,32 +28,33 +28,34 +28,35 +28,36 +28,37 +28,38 +28,39 +28,40 +28,41 +28,42 +28,43 +28,44 +28,45 +28,46 +28,47 +28,48 +29,29 +29,30 +29,31 +29,32 +29,33 +29,34 +29,35 +29,36 +29,37 +29,38 +29,39 +29,40 +29,41 +29,42 +29,43 +29,44 +29,45 +29,46 +29,47 +29,48 +30,30 +30,31 +30,32 +30,33 +30,34 +30,35 +30,36 +30,37 +30,38 +30,39 +30,40 +30,41 +30,42 +30,43 +30,44 +30,45 +30,46 +30,47 +30,48 +31,31 +31,32 +31,33 +31,34 +31,35 +31,36 +31,37 +31,38 +31,39 +31,40 +31,41 +31,42 +31,43 +31,44 +31,45 +31,46 +31,47 +31,48 +32,32 +32,33 +32,34 +32,35 +32,36 +32,37 +32,38 +32,39 +32,40 +32,41 +32,42 +32,43 +32,44 +32,45 +32,46 +32,47 +32,48 +33,33 +33,34 +33,35 +33,36 +33,37 +33,38 +33,39 +33,40 +33,41 +33,42 +33,43 +33,44 +33,45 +33,46 +33,47 +33,48 +34,34 +34,35 +34,36 +34,37 +34,38 +34,39 +34,40 +34,41 +34,42 +34,43 +34,44 +34,45 +34,46 +34,47 +34,48 +35,35 +35,36 +35,37 +35,38 +35,39 +35,40 +35,41 +35,42 +35,43 +35,44 +35,45 +35,46 +35,47 +35,48 +36,36 +36,37 +36,38 +36,39 +36,40 +36,41 +36,42 +36,43 +36,44 +36,45 +36,46 +36,47 +36,48 +37,37 +37,38 +37,39 +37,40 +37,41 +37,42 +37,43 +37,44 +37,45 +37,46 +37,47 +37,48 +38,38 +38,39 +38,40 +38,41 +38,42 +38,43 +38,44 +38,45 +38,46 +38,47 +38,48 +39,39 +39,40 +39,41 +39,42 +39,43 +39,44 +39,45 +39,46 +39,47 +39,48 +40,40 +40,41 +40,42 +40,43 +40,44 +40,45 +40,46 +40,47 +40,48 +41,41 +41,42 +41,43 +41,44 +41,45 +41,46 +41,47 +41,48 +42,42 +42,43 +42,44 +42,45 +42,46 +42,47 +42,48 +43,43 +43,44 +43,45 +43,46 +43,47 +43,48 +44,44 +44,45 +44,46 +44,47 +44,48 +45,45 +45,46 +45,47 +45,48 +46,46 +46,47 +46,48 +47,47 +47,48 +48,48 diff --git a/activitysim/examples/prototype_mwcog/configs/tour_departure_and_duration_segments.csv b/activitysim/examples/prototype_mwcog/configs/tour_departure_and_duration_segments.csv new file mode 100644 index 0000000000..eafafb016a --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_departure_and_duration_segments.csv @@ -0,0 +1,50 @@ +tour_purpose,time_period,start,end +work,AM,9,10 +work,MD,13,24 +work,PM,25,27 +work,NT,33,33 +#,,, +school,AM,9,10 +school,MD,13,24 +school,PM,25,27 +school,NT,33,33 +#,,, +univ,AM,9,10 +univ,MD,13,24 +univ,PM,25,27 +univ,NT,33,33 +#,,, +shopping,AM,9,10 +shopping,MD,13,24 +shopping,PM,25,27 +shopping,NT,33,33 +#,,, +escort,AM,9,10 +escort,MD,13,24 +escort,PM,25,27 +escort,NT,33,33 +#,,, +othmaint,AM,9,10 +othmaint,MD,13,24 +othmaint,PM,25,27 +othmaint,NT,33,33 +#,,, +othdiscr,AM,9,10 +othdiscr,MD,13,24 +othdiscr,PM,25,27 +othdiscr,NT,33,33 +#,,, +social,AM,9,10 +social,MD,13,24 +social,PM,25,27 +social,NT,33,33 +#,,, +eatout,AM,9,10 +eatout,MD,13,24 +eatout,PM,25,27 +eatout,NT,33,33 +#,,, +atwork,AM,9,10 +atwork,MD,13,24 +atwork,PM,25,27 +atwork,NT,33,33 diff --git a/activitysim/examples/prototype_mwcog/configs/tour_mode_choice.csv b/activitysim/examples/prototype_mwcog/configs/tour_mode_choice.csv new file mode 100644 index 0000000000..678329e714 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_mode_choice.csv @@ -0,0 +1,335 @@ +Label,Description,Expression,DRIVEALONE,SHARED2,SHARED3,WALK,BIKE,WALK_AB,WALK_BM,WALK_MR,WALK_CR,PNR_AB,PNR_BM,PNR_MR,PNR_CR,KNR_AB,KNR_BM,KNR_MR,KNR_CR,SCHOOLBUS,TAXI,TNC_SINGLE,TNC_SHARED +#Drive_alone_no_toll,#Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable,DRIVEALONE - Unavailable,sov_available == False,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable_for_persons_less_than_16,DRIVEALONE - Unavailable for persons less than 16,age < 16,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable_forJoint_tours,DRIVEALONE - Unavailable for joint tours,is_joint == True,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable_if_didn't_drive_to_work,DRIVEALONE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,-999,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_In_vehicle_time,DRIVEALONE - In-vehicle time,@odt_skims['SOV_TIME'] + dot_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Terminal_time,DRIVEALONE - Terminal time,@2 * df.terminal_time,coef_walk,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Operating_cost_,DRIVEALONE - Operating cost ,@costPerMile * (odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']),coef_cost,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Parking_cost_,DRIVEALONE - Parking cost ,@df.daily_parking_cost * 1.22,coef_cost,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Total_toll_,DRIVEALONE - Total toll ,@(odt_skims['SOV_TOLL'] + dot_skims['SOV_TOLL'])*1.22,coef_cost,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Person_is_between_16_and_19_years_old,DRIVEALONE - Person is between 16 and 19 years old,@(df.age >= 16) & (df.age <= 19),coef_age1619_da,,,,,,,,,,,,,,,,,,,, +#Shared_ride_2,#Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2_Unavailable,SHARED2 - Unavailable,hov2_available == False,,-999,,,,,,,,,,,,,,,,,,, +util_SHARED2_Unavailable_based_on_party_size,SHARED2 - Unavailable based on party size,is_joint & (number_of_participants > 2),,-999,,,,,,,,,,,,,,,,,,, +util_SHARED2_In_vehicle_time,SHARED2 - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,coef_ivt,,,,,,,,,,,,,,,,,,, +util_SHARED2_Terminal_time,SHARED2 - Terminal time,@2 * df.terminal_time,,coef_walk,,,,,,,,,,,,,,,,,,, +util_SHARED2_Operating_cost,SHARED2 - Operating cost,@costPerMile * (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']),,coef_cost,,,,,,,,,,,,,,,,,,, +util_SHARED2_Parking_cost,SHARED2 - Parking cost,@df.daily_parking_cost / costShareSr2 * 1.22,,coef_cost,,,,,,,,,,,,,,,,,,, +util_SHARED2_Total_toll,SHARED2 - Total toll,@((odt_skims['HOV2_TOLL'] + dot_skims['HOV2_TOLL']) / costShareSr2) * 1.22,,coef_cost,,,,,,,,,,,,,,,,,,, +util_SHARED2_One_person_household,SHARED2 - One person household,@(df.hhsize == 1),,coef_hhsize1_sr,,,,,,,,,,,,,,,,,,, +util_SHARED2_Two_person_household,SHARED2 - Two person household,@(df.hhsize == 2),,coef_hhsize2_sr,,,,,,,,,,,,,,,,,,, +util_SHARED2_Person_is_16_years_old_or_older,SHARED2 - Person is 16 years old or older,@(df.age >= 16),,coef_age16p_sr,,,,,,,,,,,,,,,,,,, +#Shared_ride_3+,#Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3_Unavailable,SHARED3 - Unavailable,hov3_available == False,,,-999,,,,,,,,,,,,,,,,,, +util_SHARED3_In_vehicle_time,SHARED3 - In-vehicle time,@(odt_skims['HOV3_TIME'] + dot_skims['HOV3_TIME']),,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED3_Terminal_time,SHARED3 - Terminal time,@2 * df.terminal_time,,,coef_walk,,,,,,,,,,,,,,,,,, +util_SHARED3_Operating_cost,SHARED3 - Operating cost,@costPerMile * (odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST']),,,coef_cost,,,,,,,,,,,,,,,,,, +util_SHARED3_Parking_cost,SHARED3 - Parking cost,@df.daily_parking_cost / costShareSr3 * 1.22,,,coef_cost,,,,,,,,,,,,,,,,,, +util_SHARED3_Total_toll,SHARED3 - Total toll,@((odt_skims['HOV3_TOLL'] + dot_skims['HOV3_TOLL']) / costShareSr3) * 1.22,,,coef_cost,,,,,,,,,,,,,,,,,, +util_SHARED3_One_person_household,SHARED3 - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,,,,,,,,,, +util_SHARED3_Two_person_household,SHARED3 - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,,,,,,,,,, +util_SHARED3_Person_is_16_years_old_or_older,SHARED3 - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,,,,,,,,,, +#util_WALK,#Walk,,,,,,,,,,,,,,,,,,,,,, +util_WALK_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,-999,,,,,,,,,,,,,,,,, +util_WALK_Time,WALK - Time,@(od_skims['DISTWALK'] + od_skims.reverse('DISTWALK'))*60/walkSpeed,,,,coef_walk,,,,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@df.density_index,,,,coef_density_walk,,,,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@df.dest_topology,,,,coef_topology_walk,,,,,,,,,,,,,,,,, +#util_BIKE,#Bike,,,,,,,,,,,,,,,,,,,,,, +util_BIKE_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,-999,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_BIKE_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,-999,,,,,,,,,,,,,,,, +util_BIKE_Time,BIKE - Time,@(od_skims['DISTBIKE'] + od_skims.reverse('DISTBIKE'))*60/bikeSpeed,,,,,coef_bike,,,,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@df.density_index,,,,,coef_density_bike,,,,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@df.dest_topology,,,,,coef_topology_bike,,,,,,,,,,,,,,,, +#util_WALK_to_AB,#Walk to AB,,,,,,,,,,,,,,,,,,,,,, +util_WALK_AB_Unavailable,WALK_AB - Unavailable,walk_ab_available == False,,,,,,-999,,,,,,,,,,,,,,, +util_WALK_AB_In_vehicle_time,WALK_AB - In-vehicle time,@(odt_skims['WK_AB_WK_TOTIVT'] + dot_skims['WK_AB_WK_TOTIVT']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_In_vehicle_time_on_XB,WALK_AB - In-vehicle time on XB,@(ivt_XB_multiplier - 1) * (odt_skims['WK_AB_WK_IVTXB'] + dot_skims['WK_AB_WK_IVTXB']),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_iwait_time,WALK_AB - wait time,@(odt_skims['WK_AB_WK_IWAIT'] + dot_skims['WK_AB_WK_IWAIT']),,,,,,coef_iwait,,,,,,,,,,,,,,, +util_WALK_AB_transfer_wait_time,WALK_AB - transfer wait time,@(odt_skims['WK_AB_WK_XWAIT'] + dot_skims['WK_AB_WK_XWAIT']),,,,,,coef_xwait,,,,,,,,,,,,,,, +util_WALK_AB_number_of_transfers,WALK_AB - number of transfers,@((odt_skims['WK_AB_WK_XFERS']).clip(0) + (dot_skims['WK_AB_WK_XFERS']).clip(0)),,,,,,coef_xfers_wlktrn,,,,,,,,,,,,,,, +util_WALK_AB_Walk_time,WALK_AB - Walk time,@(odt_skims['WK_AB_WK_WACC_EGR'] + dot_skims['WK_AB_WK_WACC_EGR']),,,,,,coef_wlk_acc,,,,,,,,,,,,,,, +util_WALK_AB_Walk_other_time,WALK_AB - Walk other time,@(odt_skims['WK_AB_WK_WAUX'] + dot_skims['WK_AB_WK_WAUX']),,,,,,coef_wlk_aux,,,,,,,,,,,,,,, +util_WALK_AB_Fare,WALK_AB - Fare,@(odt_skims['WK_AB_WK_FARE'] + dot_skims['WK_AB_WK_FARE']) * 1.22,,,,,,coef_cost,,,,,,,,,,,,,,, +util_WALK_AB_Destination_zone_densityIndex,WALK_AB - Destination zone densityIndex,@df.dest_density_index,,,,,,coef_density_wlktrn,,,,,,,,,,,,,,, +util_WALK_AB_Topology,WALK_AB - Topology,@df.dest_topology,,,,,,coef_topology_wlktrn,,,,,,,,,,,,,,, +util_WALK_AB_Person_is_less_than_10_years_old,WALK_AB - Person is less than 10 years old,@(df.age <= 10),,,,,,coef_age010_wlktrn,,,,,,,,,,,,,,, +#util_WALK_to_BM,#Walk to BM,,,,,,,,,,,,,,,,,,,,,, +util_WALK_BM_Unavailable,WALK_BM - Unavailable,walk_bm_available == False,,,,,,,-999,,,,,,,,,,,,,, +util_WALK_BM_In_vehicle_time,WALK_BM - In-vehicle time,@(odt_skims['WK_BM_WK_TOTIVT'] + dot_skims['WK_BM_WK_TOTIVT']),,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_In_vehicle_time_on_LB,WALK_BM - In-vehicle time on LB,@(ivt_LB_multiplier - 1) * (odt_skims['WK_BM_WK_IVTLB'] + dot_skims['WK_BM_WK_IVTLB']),,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_In_vehicle_time_on_XB,WALK_BM - In-vehicle time on XB,@(ivt_XB_multiplier - 1) * (odt_skims['WK_BM_WK_IVTXB'] + dot_skims['WK_BM_WK_IVTXB']),,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_In_vehicle_time_on_MR,WALK_BM - In-vehicle time on MR,@(ivt_MR_multiplier - 1) * (odt_skims['WK_BM_WK_IVTMR'] + dot_skims['WK_BM_WK_IVTMR']),,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_In_vehicle_time_on_LR,WALK_BM - In-vehicle time on LR,@(ivt_LR_multiplier - 1) * (odt_skims['WK_BM_WK_IVTLR'] + dot_skims['WK_BM_WK_IVTLR']),,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_iwait_time,WALK_BM - Short iwait time,@(odt_skims['WK_BM_WK_IWAIT'] + dot_skims['WK_BM_WK_IWAIT']),,,,,,,coef_iwait,,,,,,,,,,,,,, +util_WALK_BM_transfer_wait_time,WALK_BM - transfer wait time,@(odt_skims['WK_BM_WK_XWAIT'] + dot_skims['WK_BM_WK_XWAIT']),,,,,,,coef_xwait,,,,,,,,,,,,,, +util_WALK_BM_number_of_transfers,WALK_BM - number of transfers,@((odt_skims['WK_BM_WK_XFERS']).clip(0) + (dot_skims['WK_BM_WK_XFERS']).clip(0)),,,,,,,coef_xfers_wlktrn,,,,,,,,,,,,,, +util_WALK_BM_Walk_time,WALK_BM - Walk time,@(odt_skims['WK_BM_WK_WACC_EGR'] + dot_skims['WK_BM_WK_WACC_EGR']),,,,,,,coef_wlk_acc,,,,,,,,,,,,,, +util_WALK_BM_Walk_other_time,WALK_BM - Walk other time,@(odt_skims['WK_BM_WK_WAUX'] + dot_skims['WK_BM_WK_WAUX']),,,,,,,coef_wlk_aux,,,,,,,,,,,,,, +util_WALK_BM_Fare,WALK_BM - Fare,@(odt_skims['WK_BM_WK_FARE'] + dot_skims['WK_BM_WK_FARE']) * 1.22,,,,,,,coef_cost,,,,,,,,,,,,,, +util_WALK_BM_Destination_zone_densityIndex,WALK_BM - Destination zone densityIndex,@df.dest_density_index,,,,,,,coef_density_wlktrn,,,,,,,,,,,,,, +util_WALK_BM_Topology,WALK_BM - Topology,@df.dest_topology,,,,,,,coef_topology_wlktrn,,,,,,,,,,,,,, +util_WALK_BM_Person_is_less_than_10_years_old,WALK_BM - Person is less than 10 years old,@(df.age <= 10),,,,,,,coef_age010_wlktrn,,,,,,,,,,,,,, +#util_WALK_to_MR,#Walk to MR,,,,,,,,,,,,,,,,,,,,,, +util_WALK_MR_Unavailable,WALK_MR - Unavailable,walk_mr_available == False,,,,,,,,-999,,,,,,,,,,,,, +util_WALK_MR_In_vehicle_time,WALK_MR - In-vehicle time,@(odt_skims['WK_MR_WK_TOTIVT'] + dot_skims['WK_MR_WK_TOTIVT']),,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_In_vehicle_time_on_MR,WALK_MR - In-vehicle time on MR,@(ivt_MR_multiplier - 1) * (odt_skims['WK_MR_WK_IVTMR'] + dot_skims['WK_MR_WK_IVTMR']),,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_In_vehicle_time_on_LR,WALK_MR - In-vehicle time on LR,@(ivt_LR_multiplier - 1) * (odt_skims['WK_MR_WK_IVTLR'] + dot_skims['WK_MR_WK_IVTLR']),,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_iwait_time,WALK_MR - iwait time,@(odt_skims['WK_MR_WK_IWAIT'] + dot_skims['WK_MR_WK_IWAIT']),,,,,,,,coef_iwait,,,,,,,,,,,,, +util_WALK_MR_transfer_wait_time,WALK_MR - transfer wait time,@(odt_skims['WK_MR_WK_XWAIT'] + dot_skims['WK_MR_WK_XWAIT']),,,,,,,,coef_xwait,,,,,,,,,,,,, +util_WALK_MR_number_of_transfers,WALK_MR - number of transfers,@((odt_skims['WK_MR_WK_XFERS']).clip(0) + (dot_skims['WK_MR_WK_XFERS']).clip(0)),,,,,,,,coef_xfers_wlktrn,,,,,,,,,,,,, +util_WALK_MR_Walk_time,WALK_MR - Walk access time,@(odt_skims['WK_MR_WK_WACC_EGR'] + dot_skims['WK_MR_WK_WACC_EGR']),,,,,,,,coef_wlk_acc,,,,,,,,,,,,, +util_WALK_MR_Walk_other_time,WALK_MR - Walk other time,@(odt_skims['WK_MR_WK_WAUX'] + dot_skims['WK_MR_WK_WAUX']),,,,,,,,coef_wlk_aux,,,,,,,,,,,,, +util_WALK_MR_Fare,WALK_MR - Fare,@(odt_skims['WK_MR_WK_FARE'] + dot_skims['WK_MR_WK_FARE']) * 1.22,,,,,,,,coef_cost,,,,,,,,,,,,, +util_WALK_MR_Destination_zone_densityIndex,WALK_MR - Destination zone densityIndex,@df.dest_density_index,,,,,,,,coef_density_wlktrn,,,,,,,,,,,,, +util_WALK_MR_Topology,WALK_MR - Topology,@df.dest_topology,,,,,,,,coef_topology_wlktrn,,,,,,,,,,,,, +util_WALK_MR_Person_is_less_than_10_years_old,WALK_MR - Person is less than 10 years old,@(df.age <= 10),,,,,,,,coef_age010_wlktrn,,,,,,,,,,,,, +#util_WALK_to_CR,#Walk to CR,,,,,,,,,,,,,,,,,,,,,, +util_WALK_CR_Unavailable,WALK_CR - Unavailable,walk_cr_available == False,,,,,,,,,-999,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time,WALK_CR - In-vehicle time,@(odt_skims['WK_CR_WK_TOTIVT'] + dot_skims['WK_CR_WK_TOTIVT']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time_on_CR,WALK_CR - In-vehicle time on CR,@(ivt_CR_multiplier - 1) * (odt_skims['WK_CR_WK_IVTCR'] + dot_skims['WK_CR_WK_IVTCR']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time_on_LB,WALK_CR - In-vehicle time on LB,@(ivt_LB_multiplier - 1) * (odt_skims['WK_CR_WK_IVTLB'] + dot_skims['WK_CR_WK_IVTLB']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time_on_XB,WALK_CR - In-vehicle time on XB,@(ivt_XB_multiplier - 1) * (odt_skims['WK_CR_WK_IVTXB'] + dot_skims['WK_CR_WK_IVTXB']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time_on_MR,WALK_CR - In-vehicle time on MR,@(ivt_MR_multiplier - 1) * (odt_skims['WK_CR_WK_IVTMR'] + dot_skims['WK_CR_WK_IVTMR']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time_on_BR,WALK_CR - In-vehicle time on BR,@(ivt_BR_multiplier - 1) * (odt_skims['WK_CR_WK_IVTBR'] + dot_skims['WK_CR_WK_IVTBR']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time_on_LR,WALK_CR - In-vehicle time on LR,@(ivt_LR_multiplier - 1) * (odt_skims['WK_CR_WK_IVTLR'] + dot_skims['WK_CR_WK_IVTLR']),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_iwait_time,WALK_CR - iwait time,@(odt_skims['WK_CR_WK_IWAIT'] + dot_skims['WK_CR_WK_IWAIT']),,,,,,,,,coef_iwait,,,,,,,,,,,, +util_WALK_CR_transfer_wait_time,WALK_CR - transfer wait time,@(odt_skims['WK_CR_WK_XWAIT'] + dot_skims['WK_CR_WK_XWAIT']),,,,,,,,,coef_xwait,,,,,,,,,,,, +util_WALK_CR_number_of_transfers,WALK_CR - number of transfers,@((odt_skims['WK_CR_WK_XFERS']).clip(0) + (dot_skims['WK_CR_WK_XFERS']).clip(0)),,,,,,,,,coef_xfers_wlktrn,,,,,,,,,,,, +util_WALK_CR_Walk_time,WALK_CR - Walk time,@(odt_skims['WK_CR_WK_WACC_EGR'] + dot_skims['WK_CR_WK_WACC_EGR']),,,,,,,,,coef_wlk_acc,,,,,,,,,,,, +util_WALK_CR_Walk_other_time,WALK_CR - Walk other time,@(odt_skims['WK_CR_WK_WAUX'] + dot_skims['WK_CR_WK_WAUX']),,,,,,,,,coef_wlk_aux,,,,,,,,,,,, +util_WALK_CR_Fare,WALK_CR - Fare,@(odt_skims['WK_CR_WK_FARE'] + dot_skims['WK_CR_WK_FARE']) * 1.22,,,,,,,,,coef_cost,,,,,,,,,,,, +util_WALK_CR_Destination_zone_densityIndex,WALK_CR - Destination zone densityIndex,@df.dest_density_index,,,,,,,,,coef_density_wlktrn,,,,,,,,,,,, +util_WALK_CR_Topology,WALK_CR - Topology,@df.dest_topology,,,,,,,,,coef_topology_wlktrn,,,,,,,,,,,, +util_WALK_CR_Person_is_less_than_10_years_old,WALK_CR - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_wlktrn,,,,,,,,,,,, +#util_PNR_to_AB,#PNR to AB,,,,,,,,,,,,,,,,,,,,,, +util_PNR_AB_Unavailable,PNR_AB - Unavailable,pnr_ab_available == False,,,,,,,,,,-999,,,,,,,,,,, +util_PNR_AB_Unavailable_for_persons_less_than_16,PNR_AB - Unavailable for persons less than 16,age < 16,,,,,,,,,,-999,,,,,,,,,,, +util_PNR_AB_In_vehicle_time,PNR_AB - In-vehicle time,@(odt_skims['DR_AB_WK_TOTIVT'] + dot_skims['WK_AB_DR_TOTIVT']),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_In_vehicle_time_on_LB,PNR_AB - In-vehicle time on LB,@(ivt_LB_multiplier - 1) * (odt_skims['DR_AB_WK_IVTLB'] + dot_skims['WK_AB_DR_IVTLB']),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_In_vehicle_time_on_XB,PNR_AB - In-vehicle time on XB,@(ivt_XB_multiplier - 1) * (odt_skims['DR_AB_WK_IVTXB'] + dot_skims['WK_AB_DR_IVTXB']),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_iwait_time,PNR_AB - iwait time,@(odt_skims['DR_AB_WK_IWAIT'] + dot_skims['WK_AB_DR_IWAIT']),,,,,,,,,,coef_iwait,,,,,,,,,,, +util_PNR_AB_transfer_wait_time,PNR_AB - transfer wait time,@(odt_skims['DR_AB_WK_XWAIT'] + dot_skims['WK_AB_DR_XWAIT']),,,,,,,,,,coef_xwait,,,,,,,,,,, +util_PNR_AB_number_of_transfers,PNR_AB - number of transfers,@((odt_skims['DR_AB_WK_XFERS']).clip(0) + (dot_skims['WK_AB_DR_XFERS']).clip(0)),,,,,,,,,,coef_xfers_pnr,,,,,,,,,,, +util_PNR_AB_PNR_time,PNR_AB - PNR time,@(odt_skims['DR_AB_WK_DTIME'] + dot_skims['WK_AB_DR_DTIME']),,,,,,,,,,coef_drvacc_pnr,,,,,,,,,,, +util_PNR_AB_Walk_time,PNR_AB - Walk time,@(odt_skims['DR_AB_WK_WACC_EGR'] + dot_skims['WK_AB_DR_WACC_EGR']),,,,,,,,,,coef_wlk_acc,,,,,,,,,,, +util_PNR_AB_Walk_other_time,PNR_AB - Walk other time,@(odt_skims['DR_AB_WK_WAUX'] + dot_skims['WK_AB_DR_WAUX']),,,,,,,,,,coef_wlk_aux,,,,,,,,,,, +util_PNR_AB_Fare_and_operating_cost,PNR_AB - Fare and operating cost,@((odt_skims['DR_AB_WK_FARE'] + dot_skims['WK_AB_DR_FARE']) * 1.22 + ((odt_skims['DR_AB_WK_DDIST']+dot_skims['WK_AB_DR_DDIST']) * costPerMile)),,,,,,,,,,coef_cost,,,,,,,,,,, +util_PNR_AB_Ratio_of_PNR_access_distance_to_OD_distance,PNR_AB - Ratio of PNR access distance to OD distance,@((odt_skims['DR_AB_WK_DDIST']+ dot_skims['WK_AB_DR_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,coef_drvratio_pnr,,,,,,,,,,, +util_PNR_AB_Destination_zone_densityIndex,PNR_AB - Destination zone densityIndex,@df.dest_density_index,,,,,,,,,,coef_density_pnr,,,,,,,,,,, +util_PNR_AB_Topology,PNR_AB - Topology,@df.dest_topology,,,,,,,,,,coef_topology_pnr,,,,,,,,,,, +#util_PNR_to_BM,#PNR to BM,,,,,,,,,,,,,,,,,,,,,, +util_PNR_BM_Unavailable,PNR_BM - Unavailable,pnr_bm_available == False,,,,,,,,,,,-999,,,,,,,,,, +util_PNR_BM_Unavailable_for_persons_less_than_16,PNR_BM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,-999,,,,,,,,,, +util_PNR_BM_In_vehicle_time,PNR_BM - In-vehicle time,@(odt_skims['DR_BM_WK_TOTIVT'] + dot_skims['WK_BM_DR_TOTIVT']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_In_vehicle_time_on_LB,PNR_BM - In-vehicle time on LB,@(ivt_LB_multiplier - 1) * (odt_skims['DR_BM_WK_IVTLB'] + dot_skims['WK_BM_DR_IVTLB']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_In_vehicle_time_on_XB,PNR_BM - In-vehicle time on XB,@(ivt_XB_multiplier - 1) * (odt_skims['DR_BM_WK_IVTXB'] + dot_skims['WK_BM_DR_IVTXB']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_In_vehicle_time_on_MR,PNR_BM - In-vehicle time on MR,@(ivt_MR_multiplier - 1) * (odt_skims['DR_BM_WK_IVTMR'] + dot_skims['WK_BM_DR_IVTMR']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_In_vehicle_time_on_LR,PNR_BM - In-vehicle time on LR,@(ivt_LR_multiplier - 1) * (odt_skims['DR_BM_WK_IVTLR'] + dot_skims['WK_BM_DR_IVTLR']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_iwait_time,PNR_BM - iwait time,@(odt_skims['DR_BM_WK_IWAIT'] + dot_skims['WK_BM_DR_IWAIT']),,,,,,,,,,,coef_iwait,,,,,,,,,, +util_PNR_BM_transfer_wait_time,PNR_BM - transfer wait time,@(odt_skims['DR_BM_WK_XWAIT'] + dot_skims['WK_BM_DR_XWAIT']),,,,,,,,,,,coef_xwait,,,,,,,,,, +util_PNR_BM_number_of_transfers,PNR_BM - number of transfers,@((odt_skims['DR_BM_WK_XFERS']).clip(0) + (dot_skims['WK_BM_DR_XFERS']).clip(0)),,,,,,,,,,,coef_xfers_pnr,,,,,,,,,, +util_PNR_BM_PNR_time,PNR_BM - PNR time,@(odt_skims['DR_BM_WK_DTIME'] + dot_skims['WK_BM_DR_DTIME']),,,,,,,,,,,coef_drvacc_pnr,,,,,,,,,, +util_PNR_BM_Walk_time,PNR_BM - Walk time,@(odt_skims['DR_BM_WK_WACC_EGR'] + dot_skims['WK_BM_DR_WACC_EGR']),,,,,,,,,,,coef_wlk_acc,,,,,,,,,, +util_PNR_BM_Walk_other_time,PNR_BM - Walk other time,@(odt_skims['DR_BM_WK_WAUX'] + dot_skims['WK_BM_DR_WAUX']),,,,,,,,,,,coef_wlk_aux,,,,,,,,,, +util_PNR_BM_Fare_and_operating_cost,PNR_BM - Fare and operating cost,@((odt_skims['DR_BM_WK_FARE'] + dot_skims['WK_BM_DR_FARE']) * 1.22 + ((odt_skims['DR_BM_WK_DDIST']+dot_skims['WK_BM_DR_DDIST']) * costPerMile)),,,,,,,,,,,coef_cost,,,,,,,,,, +util_PNR_BM_Ratio_of_PNR_access_distance_to_OD_distance,PNR_BM - Ratio of PNR access distance to OD distance,@((odt_skims['DR_BM_WK_DDIST']+ dot_skims['WK_BM_DR_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,coef_drvratio_pnr,,,,,,,,,, +util_PNR_BM_Destination_zone_densityIndex,PNR_BM - Destination zone densityIndex,@df.dest_density_index,,,,,,,,,,,coef_density_pnr,,,,,,,,,, +util_PNR_BM_Topology,PNR_BM - Topology,@df.dest_topology,,,,,,,,,,,coef_topology_pnr,,,,,,,,,, +#util_PNR_to_MR,#PNR to MR,,,,,,,,,,,,,,,,,,,,,, +util_PNR_MR_Unavailable,PNR_MR - Unavailable,pnr_mr_available == False,,,,,,,,,,,,-999,,,,,,,,, +util_PNR_MR_Unavailable_for_persons_less_than_16,PNR_MR - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,-999,,,,,,,,, +util_PNR_MR_In_vehicle_time,PNR_MR - In-vehicle time,@(odt_skims['DR_MR_WK_TOTIVT'] + dot_skims['WK_MR_DR_TOTIVT']),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_In_vehicle_time_on_MR,PNR_MR - In-vehicle time on MR,@(ivt_MR_multiplier - 1) * (odt_skims['DR_MR_WK_IVTMR'] + dot_skims['WK_MR_DR_IVTMR']),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_In_vehicle_time_on_LR,PNR_MR - In-vehicle time on LR,@(ivt_LR_multiplier - 1) * (odt_skims['DR_MR_WK_IVTLR'] + dot_skims['WK_MR_DR_IVTLR']),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_iwait_time,PNR_MR - iwait time,@(odt_skims['DR_MR_WK_IWAIT'] + dot_skims['WK_MR_DR_IWAIT']),,,,,,,,,,,,coef_iwait,,,,,,,,, +util_PNR_MR_transfer_wait_time,PNR_MR - transfer wait time,@(odt_skims['DR_MR_WK_XWAIT'] + dot_skims['WK_MR_DR_XWAIT']),,,,,,,,,,,,coef_xwait,,,,,,,,, +util_PNR_MR_number_of_transfers,PNR_MR - number of transfers,@((odt_skims['DR_MR_WK_XFERS']).clip(0) + (dot_skims['WK_MR_DR_XFERS']).clip(0)),,,,,,,,,,,,coef_xfers_pnr,,,,,,,,, +util_PNR_MR_PNR_time,PNR_MR - PNR time,@(odt_skims['DR_MR_WK_DTIME'] + dot_skims['WK_MR_DR_DTIME']),,,,,,,,,,,,coef_drvacc_pnr,,,,,,,,, +util_PNR_MR_Walk_time,PNR_MR - Walk time,@(odt_skims['DR_MR_WK_WACC_EGR'] + dot_skims['WK_MR_DR_WACC_EGR']),,,,,,,,,,,,coef_wlk_acc,,,,,,,,, +util_PNR_MR_Walk_other_time,PNR_MR - Walk other time,@(odt_skims['DR_MR_WK_WAUX'] + dot_skims['WK_MR_DR_WAUX']),,,,,,,,,,,,coef_wlk_aux,,,,,,,,, +util_PNR_MR_Fare_and_operating_cost,PNR_MR - Fare and operating cost,@((odt_skims['DR_MR_WK_FARE'] + dot_skims['WK_MR_DR_FARE']) * 1.22 + ((odt_skims['DR_MR_WK_DDIST']+dot_skims['WK_MR_DR_DDIST']) * costPerMile)),,,,,,,,,,,,coef_cost,,,,,,,,, +util_PNR_MR_Ratio_of_PNR_access_distance_to_OD_distance,PNR_MR - Ratio of PNR access distance to OD distance,@((odt_skims['DR_MR_WK_DDIST']+ dot_skims['WK_MR_DR_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,coef_drvratio_pnr,,,,,,,,, +util_PNR_MR_Destination_zone_densityIndex,PNR_MR - Destination zone densityIndex,@df.dest_density_index,,,,,,,,,,,,coef_density_pnr,,,,,,,,, +util_PNR_MR_Topology,PNR_MR - Topology,@df.dest_topology,,,,,,,,,,,,coef_topology_pnr,,,,,,,,, +#util_PNR_to_CR,#PNR to CR,,,,,,,,,,,,,,,,,,,,,, +util_PNR_CR_Unavailable,PNR_CR - Unavailable,pnr_cr_available == False,,,,,,,,,,,,,-999,,,,,,,, +util_PNR_CR_Unavailable_for_persons_less_than_16,PNR_CR - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,-999,,,,,,,, +util_PNR_CR_In_vehicle_time,PNR_CR - In-vehicle time,@(odt_skims['DR_CR_WK_TOTIVT'] + dot_skims['WK_CR_DR_TOTIVT']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_CR,PNR_CR - In-vehicle time on CR,@(ivt_CR_multiplier - 1) * (odt_skims['DR_CR_WK_IVTCR'] + dot_skims['WK_CR_DR_IVTCR']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_LB,PNR_CR - In-vehicle time on LB,@(ivt_LB_multiplier - 1) * (odt_skims['DR_CR_WK_IVTLB'] + dot_skims['WK_CR_DR_IVTLB']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_XB,PNR_CR - In-vehicle time on XB,@(ivt_XB_multiplier - 1) * (odt_skims['DR_CR_WK_IVTXB'] + dot_skims['WK_CR_DR_IVTXB']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_MR,PNR_CR - In-vehicle time on MR,@(ivt_MR_multiplier - 1) * (odt_skims['DR_CR_WK_IVTMR'] + dot_skims['WK_CR_DR_IVTMR']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_BR,PNR_CR - In-vehicle time on BR,@(ivt_BR_multiplier - 1) * (odt_skims['DR_CR_WK_IVTBR'] + dot_skims['WK_CR_DR_IVTBR']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_LR,PNR_CR - In-vehicle time on LR,@(ivt_LR_multiplier - 1) * (odt_skims['DR_CR_WK_IVTLR'] + dot_skims['WK_CR_DR_IVTLR']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_iwait_time,PNR_CR - iwait time,@(odt_skims['DR_CR_WK_IWAIT'] + dot_skims['WK_CR_DR_IWAIT']),,,,,,,,,,,,,coef_iwait,,,,,,,, +util_PNR_CR_transfer_wait_time,PNR_CR - transfer wait time,@(odt_skims['DR_CR_WK_XWAIT'] + dot_skims['WK_CR_DR_XWAIT']),,,,,,,,,,,,,coef_xwait,,,,,,,, +util_PNR_CR_number_of_transfers,PNR_CR - number of transfers,@((odt_skims['DR_CR_WK_XFERS']).clip(0) + (dot_skims['WK_CR_DR_XFERS']).clip(0)),,,,,,,,,,,,,coef_xfers_pnr,,,,,,,, +util_PNR_CR_PNR_time,PNR_CR - PNR time,@(odt_skims['DR_CR_WK_DTIME'] + dot_skims['WK_CR_DR_DTIME']),,,,,,,,,,,,,coef_drvacc_pnr,,,,,,,, +util_PNR_CR_Walk_time,PNR_CR - Walk time,@(odt_skims['DR_CR_WK_WACC_EGR'] + dot_skims['WK_CR_DR_WACC_EGR']),,,,,,,,,,,,,coef_wlk_acc,,,,,,,, +util_PNR_CR_Walk_other_time,PNR_CR - Walk other time,@(odt_skims['DR_CR_WK_WAUX'] + dot_skims['WK_CR_DR_WAUX']),,,,,,,,,,,,,coef_wlk_aux,,,,,,,, +util_PNR_CR_Fare_and_operating_cost,PNR_CR - Fare and operating cost,@((odt_skims['DR_CR_WK_FARE'] + dot_skims['WK_CR_DR_FARE']) * 1.22 + ((odt_skims['DR_CR_WK_DDIST']+dot_skims['WK_CR_DR_DDIST']) * costPerMile)),,,,,,,,,,,,,coef_cost,,,,,,,, +util_PNR_CR_Ratio_of_PNR_access_distance_to_OD_distance,PNR_CR - Ratio of PNR access distance to OD distance,@((odt_skims['DR_CR_WK_DDIST']+ dot_skims['WK_CR_DR_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,,coef_drvratio_pnr,,,,,,,, +util_PNR_CR_Destination_zone_densityIndex,PNR_CR - Destination zone densityIndex,@df.dest_density_index,,,,,,,,,,,,,coef_density_pnr,,,,,,,, +util_PNR_CR_Topology,PNR_CR - Topology,@df.dest_topology,,,,,,,,,,,,,coef_topology_pnr,,,,,,,, +#util_KNR_to_AB,#KNR to AB,,,,,,,,,,,,,,,,,,,,,, +util_KNR_AB_Unavailable,KNR_AB - Unavailable,knr_ab_available == False,,,,,,,,,,,,,,-999,,,,,,, +util_KNR_AB_Unavailable_for_persons_less_than_16,KNR_AB - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, +util_KNR_AB_In_vehicle_time,KNR_AB - In-vehicle time,@(odt_skims['KR_AB_WK_TOTIVT'] + dot_skims['WK_AB_KR_TOTIVT']),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_In_vehicle_time_on_LB,KNR_AB - In-vehicle time on LB,@(ivt_LB_multiplier - 1) * (odt_skims['KR_AB_WK_IVTLB'] + dot_skims['WK_AB_KR_IVTLB']),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_In_vehicle_time_on_XB,KNR_AB - In-vehicle time on XB,@(ivt_XB_multiplier - 1) * (odt_skims['KR_AB_WK_IVTXB'] + dot_skims['WK_AB_KR_IVTXB']),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_iwait_time,KNR_AB - iwait time,@(odt_skims['KR_AB_WK_IWAIT'] + dot_skims['WK_AB_KR_IWAIT']),,,,,,,,,,,,,,coef_iwait,,,,,,, +util_KNR_AB_transfer_wait_time,KNR_AB - transfer wait time,@(odt_skims['KR_AB_WK_XWAIT'] + dot_skims['WK_AB_KR_XWAIT']),,,,,,,,,,,,,,coef_xwait,,,,,,, +util_KNR_AB_number_of_transfers,KNR_AB - number of transfers,@((odt_skims['KR_AB_WK_XFERS']).clip(0) + (dot_skims['WK_AB_KR_XFERS']).clip(0)),,,,,,,,,,,,,,coef_xfers_knr,,,,,,, +util_KNR_AB_KNR_time,KNR_AB - KNR time,@(odt_skims['KR_AB_WK_DTIME'] + dot_skims['WK_AB_KR_DTIME']),,,,,,,,,,,,,,coef_drvacc_knr,,,,,,, +util_KNR_AB_Walk_time,KNR_AB - Walk time,@(odt_skims['KR_AB_WK_WACC_EGR'] + dot_skims['WK_AB_KR_WACC_EGR']),,,,,,,,,,,,,,coef_wlk_acc,,,,,,, +util_KNR_AB_Walk_other_time,KNR_AB - Walk other time,@(odt_skims['KR_AB_WK_WAUX'] + dot_skims['WK_AB_KR_WAUX']),,,,,,,,,,,,,,coef_wlk_aux,,,,,,, +util_KNR_AB_Fare_and_operating_cost,KNR_AB - Fare and operating cost,@((odt_skims['KR_AB_WK_FARE'] + dot_skims['WK_AB_KR_FARE']) * 1.22 + ((odt_skims['KR_AB_WK_DDIST']+dot_skims['WK_AB_KR_DDIST']) * costPerMile)),,,,,,,,,,,,,,coef_cost,,,,,,, +util_KNR_AB_Ratio_of_KNR_access_distance_to_OD_distance,KNR_AB - Ratio of KNR access distance to OD distance,@((odt_skims['KR_AB_WK_DDIST']+ dot_skims['WK_AB_KR_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,,,coef_drvratio_knr,,,,,,, +util_KNR_AB_Destination_zone_densityIndex,KNR_AB - Destination zone densityIndex,@df.dest_density_index,,,,,,,,,,,,,,coef_density_knr,,,,,,, +util_KNR_AB_Topology,KNR_AB - Topology,@df.dest_topology,,,,,,,,,,,,,,coef_topology_knr,,,,,,, +#util_KNR_to_BM,#KNR to BM,,,,,,,,,,,,,,,,,,,,,, +util_KNR_BM_Unavailable,KNR_BM - Unavailable,knr_bm_available == False,,,,,,,,,,,,,,,-999,,,,,, +util_KNR_BM_Unavailable_for_persons_less_than_16,KNR_BM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, +util_KNR_BM_In_vehicle_time,KNR_BM - In-vehicle time,@(odt_skims['KR_BM_WK_TOTIVT'] + dot_skims['WK_BM_KR_TOTIVT']),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_In_vehicle_time_on_LB,KNR_BM - In-vehicle time on LB,@(ivt_LB_multiplier - 1) * (odt_skims['KR_BM_WK_IVTLB'] + dot_skims['WK_BM_KR_IVTLB']),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_In_vehicle_time_on_XB,KNR_BM - In-vehicle time on XB,@(ivt_XB_multiplier - 1) * (odt_skims['KR_BM_WK_IVTXB'] + dot_skims['WK_BM_KR_IVTXB']),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_In_vehicle_time_on_MR,KNR_BM - In-vehicle time on MR,@(ivt_MR_multiplier - 1) * (odt_skims['KR_BM_WK_IVTMR'] + dot_skims['WK_BM_KR_IVTMR']),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_In_vehicle_time_on_LR,KNR_BM - In-vehicle time on LR,@(ivt_LR_multiplier - 1) * (odt_skims['KR_BM_WK_IVTLR'] + dot_skims['WK_BM_KR_IVTLR']),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_iwait_time,KNR_BM - iwait time,@(odt_skims['KR_BM_WK_IWAIT'] + dot_skims['WK_BM_KR_IWAIT']),,,,,,,,,,,,,,,coef_iwait,,,,,, +util_KNR_BM_transfer_wait_time,KNR_BM - transfer wait time,@(odt_skims['KR_BM_WK_XWAIT'] + dot_skims['WK_BM_KR_XWAIT']),,,,,,,,,,,,,,,coef_xwait,,,,,, +util_KNR_BM_number_of_transfers,KNR_BM - number of transfers,@((odt_skims['KR_BM_WK_XFERS']).clip(0) + (dot_skims['WK_BM_KR_XFERS']).clip(0)),,,,,,,,,,,,,,,coef_xfers_knr,,,,,, +util_KNR_BM_KNR_time,KNR_BM - KNR time,@(odt_skims['KR_BM_WK_DTIME'] + dot_skims['WK_BM_KR_DTIME']),,,,,,,,,,,,,,,coef_drvacc_knr,,,,,, +util_KNR_BM_Walk_time,KNR_BM - Walk time,@(odt_skims['KR_BM_WK_WACC_EGR'] + dot_skims['WK_BM_KR_WACC_EGR']),,,,,,,,,,,,,,,coef_wlk_acc,,,,,, +util_KNR_BM_Walk_other_time,KNR_BM - Walk other time,@(odt_skims['KR_BM_WK_WAUX'] + dot_skims['WK_BM_KR_WAUX']),,,,,,,,,,,,,,,coef_wlk_aux,,,,,, +util_KNR_BM_Fare_and_operating_cost,KNR_BM - Fare and operating cost,@((odt_skims['KR_BM_WK_FARE'] + dot_skims['WK_BM_KR_FARE']) * 1.22 + ((odt_skims['KR_BM_WK_DDIST']+dot_skims['WK_BM_KR_DDIST']) * costPerMile)),,,,,,,,,,,,,,,coef_cost,,,,,, +util_KNR_BM_Ratio_of_KNR_access_distance_to_OD_distance,KNR_BM - Ratio of KNR access distance to OD distance,@((odt_skims['KR_BM_WK_DDIST']+ dot_skims['WK_BM_KR_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,coef_drvratio_knr,,,,,, +util_KNR_BM_Destination_zone_densityIndex,KNR_BM - Destination zone densityIndex,@df.dest_density_index,,,,,,,,,,,,,,,coef_density_knr,,,,,, +util_KNR_BM_Topology,KNR_BM - Topology,@df.dest_topology,,,,,,,,,,,,,,,coef_topology_knr,,,,,, +#util_KNR_to_MR,#KNR to MR,,,,,,,,,,,,,,,,,,,,,, +util_KNR_MR_Unavailable,KNR_MR - Unavailable,knr_mr_available == False,,,,,,,,,,,,,,,,-999,,,,, +util_KNR_MR_Unavailable_for_persons_less_than_16,KNR_MR - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, +util_KNR_MR_In_vehicle_time,KNR_MR - In-vehicle time,@(odt_skims['KR_MR_WK_TOTIVT'] + dot_skims['WK_MR_KR_TOTIVT']),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_In_vehicle_time_on_MR,KNR_MR - In-vehicle time on MR,@(ivt_MR_multiplier - 1) * (odt_skims['KR_MR_WK_IVTMR'] + dot_skims['WK_MR_KR_IVTMR']),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_In_vehicle_time_on_LR,KNR_MR - In-vehicle time on LR,@(ivt_LR_multiplier - 1) * (odt_skims['KR_MR_WK_IVTLR'] + dot_skims['WK_MR_KR_IVTLR']),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_iwait_time,KNR_MR - iwait time,@(odt_skims['KR_MR_WK_IWAIT'] + dot_skims['WK_MR_KR_IWAIT']),,,,,,,,,,,,,,,,coef_iwait,,,,, +util_KNR_MR_transfer_wait_time,KNR_MR - transfer wait time,@(odt_skims['KR_MR_WK_XWAIT'] + dot_skims['WK_MR_KR_XWAIT']),,,,,,,,,,,,,,,,coef_xwait,,,,, +util_KNR_MR_number_of_transfers,KNR_MR - number of transfers,@((odt_skims['KR_MR_WK_XFERS']).clip(0) + (dot_skims['WK_MR_KR_XFERS']).clip(0)),,,,,,,,,,,,,,,,coef_xfers_knr,,,,, +util_KNR_MR_KNR_time,KNR_MR - KNR time,@dtim_multiplier * (odt_skims['KR_MR_WK_DTIME'] + dot_skims['WK_MR_KR_DTIME']),,,,,,,,,,,,,,,,coef_drvacc_knr,,,,, +util_KNR_MR_Walk_time,KNR_MR - Walk time,@(odt_skims['KR_MR_WK_WACC_EGR'] + dot_skims['WK_MR_KR_WACC_EGR']),,,,,,,,,,,,,,,,coef_wlk_acc,,,,, +util_KNR_MR_Walk_other_time,KNR_MR - Walk other time,@(odt_skims['KR_MR_WK_WAUX'] + dot_skims['WK_MR_KR_WAUX']),,,,,,,,,,,,,,,,coef_wlk_aux,,,,, +util_KNR_MR_Fare_and_operating_cost,KNR_MR - Fare and operating cost,@((odt_skims['KR_MR_WK_FARE'] + dot_skims['WK_MR_KR_FARE']) * 1.22 + ((odt_skims['KR_MR_WK_DDIST']+dot_skims['WK_MR_KR_DDIST']) * costPerMile)),,,,,,,,,,,,,,,,coef_cost,,,,, +util_KNR_MR_Ratio_of_KNR_access_distance_to_OD_distance,KNR_MR - Ratio of KNR access distance to OD distance,@((odt_skims['KR_MR_WK_DDIST']+ dot_skims['WK_MR_KR_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,coef_drvratio_knr,,,,, +util_KNR_MR_Destination_zone_densityIndex,KNR_MR - Destination zone densityIndex,@df.dest_density_index,,,,,,,,,,,,,,,,coef_density_knr,,,,, +util_KNR_MR_Topology,KNR_MR - Topology,@df.dest_topology,,,,,,,,,,,,,,,,coef_topology_knr,,,,, +#util_KNR_to_CR,#KNR to CR,#DR AND KR SKIMS ARE THE SAME FOR CR,,,,,,,,,,,,,,,,,,,,, +util_KNR_CR_Unavailable,KNR_CR - Unavailable,knr_cr_available == False,,,,,,,,,,,,,,,,,-999,,,, +util_KNR_CR_Unavailable_for_persons_less_than_16,KNR_CR - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, +util_KNR_CR_In_vehicle_time,KNR_CR - In-vehicle time,@(odt_skims['KR_CR_WK_TOTIVT'] + dot_skims['WK_CR_KR_TOTIVT']),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_CR,KNR_CR - In-vehicle time on CR,@(ivt_CR_multiplier - 1) * (odt_skims['KR_CR_WK_IVTCR'] + dot_skims['WK_CR_KR_IVTCR']),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_LB,KNR_CR - In-vehicle time on LB,@(ivt_LB_multiplier - 1) * (odt_skims['KR_CR_WK_IVTLB'] + dot_skims['WK_CR_KR_IVTLB']),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_XB,KNR_CR - In-vehicle time on XB,@(ivt_XB_multiplier - 1) * (odt_skims['KR_CR_WK_IVTXB'] + dot_skims['WK_CR_KR_IVTXB']),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_MR,KNR_CR - In-vehicle time on MR,@(ivt_MR_multiplier - 1) * (odt_skims['KR_CR_WK_IVTMR'] + dot_skims['WK_CR_KR_IVTMR']),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_BR,KNR_CR - In-vehicle time on BR,@(ivt_BR_multiplier - 1) * (odt_skims['KR_CR_WK_IVTBR'] + dot_skims['WK_CR_KR_IVTBR']),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_LR,KNR_CR - In-vehicle time on LR,@(ivt_LR_multiplier - 1) * (odt_skims['KR_CR_WK_IVTLR'] + dot_skims['WK_CR_KR_IVTLR']),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_iwait_time,KNR_CR - iwait time,@(odt_skims['KR_CR_WK_IWAIT'] + dot_skims['WK_CR_KR_IWAIT']),,,,,,,,,,,,,,,,,coef_iwait,,,, +util_KNR_CR_transfer_wait_time,KNR_CR - transfer wait time,@(odt_skims['KR_CR_WK_XWAIT'] + dot_skims['WK_CR_KR_XWAIT']),,,,,,,,,,,,,,,,,coef_xwait,,,, +util_KNR_CR_number_of_transfers,KNR_CR - number of transfers,@((odt_skims['KR_CR_WK_XFERS']).clip(0) + (dot_skims['WK_CR_KR_XFERS']).clip(0)),,,,,,,,,,,,,,,,,coef_xfers_knr,,,, +util_KNR_CR_KNR_time,KNR_CR - KNR time,@(odt_skims['KR_CR_WK_DTIME'] + dot_skims['WK_CR_KR_DTIME']),,,,,,,,,,,,,,,,,coef_drvacc_knr,,,, +util_KNR_CR_Walk_time,KNR_CR - Walk time,@(odt_skims['KR_CR_WK_WACC_EGR'] + dot_skims['WK_CR_KR_WACC_EGR']),,,,,,,,,,,,,,,,,coef_wlk_acc,,,, +util_KNR_CR_Walk_other_time,KNR_CR - Walk other time,@(odt_skims['KR_CR_WK_WAUX'] + dot_skims['WK_CR_KR_WAUX']),,,,,,,,,,,,,,,,,coef_wlk_aux,,,, +util_KNR_CR_Fare_and_operating_cost,KNR_CR - Fare and operating cost,@((odt_skims['KR_CR_WK_FARE'] + dot_skims['WK_CR_KR_FARE']) * 1.22 + ((odt_skims['KR_CR_WK_DDIST']+dot_skims['WK_CR_KR_DDIST']) * costPerMile)),,,,,,,,,,,,,,,,,coef_cost,,,, +util_KNR_CR_Ratio_of_KNR_access_distance_to_OD_distance,KNR_CR - Ratio of KNR access distance to OD distance,@((odt_skims['KR_CR_WK_DDIST']+ dot_skims['WK_CR_KR_DDIST'])/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,coef_drvratio_knr,,,, +util_KNR_CR_Destination_zone_densityIndex,KNR_CR - Destination zone densityIndex,@df.dest_density_index,,,,,,,,,,,,,,,,,coef_density_knr,,,, +util_KNR_CR_Topology,KNR_CR - Topology,@df.dest_topology,,,,,,,,,,,,,,,,,coef_topology_knr,,,, +#School_Bus,#School Bus,,,,,,,,,,,,,,,,,,,,,, +School_Bus_Unavailable_if_NOT_school_tour,School Bus - Unavailable if NOT school tour,~is_school,,,,,,,,,,,,,,,,,,-999,,, +School_Bus_In_vehicle_time_(HOV3+_skims)_20_mph,School Bus - In-vehicle time (HOV3+ skims) - 20 mph,@(odt_skims['HOV3_DIST'] + dot_skims['HOV3_DIST'])*3,,,,,,,,,,,,,,,,,,coef_ivt,,, +School_Bus_WALK_Time,School Bus - Walk Time,10,,,,,,,,,,,,,,,,,,coef_wlk_acc,,, +School_Bus_Wait_Time,School Bus - Wait Time,10,,,,,,,,,,,,,,,,,,coef_iwait,,, +#,Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Wait_time,Taxi - Wait time,@df.totalWaitTaxi,,,,,,,,,,,,,,,,,,,coef_iwait,, +util_Taxi_Total_toll,Taxi - Total toll,@(odt_skims['HOV2_TOLL'] + dot_skims['HOV2_TOLL']) * 1.22,,,,,,,,,,,,,,,,,,,coef_cost,, +util_Taxi_Fare,Taxi - Fare,@(Taxi_baseFare * 2 + (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']) * Taxi_costPerMile +(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']) * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_cost,, +#,TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@df.totalWaitSingleTNC,,,,,,,,,,,,,,,,,,,,coef_iwait, +util_TNC_Single_Total_toll,TNC Single - Total toll,@(odt_skims['HOV2_TOLL'] + dot_skims['HOV2_TOLL']) * 1.22,,,,,,,,,,,,,,,,,,,,coef_cost, +util_TNC_Single_Cost,TNC Single - Cost,"@np.maximum(TNC_single_baseFare * 2 + (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']) * TNC_single_costPerMile + (odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']) * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_cost, +#,TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME']) * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@df.totalWaitSharedTNC,,,,,,,,,,,,,,,,,,,,,coef_iwait +util_TNC_Shared_Total_toll,TNC Shared - Total toll,@(odt_skims['HOV2_TOLL'] + dot_skims['HOV2_TOLL']) * 1.22,,,,,,,,,,,,,,,,,,,,,coef_cost +util_TNC_Shared_Cost,TNC Shared - Cost,"@np.maximum(TNC_shared_baseFare * 2 + (odt_skims['HOV2_DIST'] + dot_skims['HOV2_DIST']) * TNC_shared_costPerMile + (odt_skims['HOV2_TIME'] + dot_skims['HOV3_TIME']) * TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_cost +#indiv_tour_ASCs,#indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_WALK_ASC_Zero_auto,Walk ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,walk_ASC_no_auto,,,,,,,,,,,,,,,,, +util_WALK_ASC_Auto_deficient,Walk ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,walk_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_WALK_ASC_Auto_sufficient,Walk ASC - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,walk_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_BIKE_ASC_Zero_auto,Bike ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,bike_ASC_no_auto,,,,,,,,,,,,,,,, +util_BIKE_ASC_Auto_deficient,Bike ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,bike_ASC_auto_deficient,,,,,,,,,,,,,,,, +util_BIKE_ASC_Auto_sufficient,Bike ASC - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,bike_ASC_auto_sufficient,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Zero_auto,Shared ride 2 ASC - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,sr2_ASC_no_auto,,,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_deficient,Shared ride 2 ASC - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,,,, +util_Shared_ride_2_ASC_Auto_sufficient,Shared ride 2 ASC - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,,,, +util_Shared_ride_3+_Zero_auto,Shared ride 3+ - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,sr3p_ASC_no_auto,,,,,,,,,,,,,,,,,, +util_Shared_ride_3+_Auto_deficient,Shared ride 3+ - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,sr3p_ASC_auto_deficient,,,,,,,,,,,,,,,,,, +util_Shared_ride_3+_Auto_sufficient,Shared ride 3+ - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,,,,, +util_WALK_to_Transit_Zero_auto,Walk to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,walk_transit_ASC_no_auto,,,,,,,,,,,, +util_WALK_to_Transit_Auto_deficient,Walk to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient,,,,,,,,,,,, +util_WALK_to_Transit_Auto_sufficient,Walk to Transit - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient,,,,,,,,,,,, +util_PNR_to_Transit_Zero_auto,PNR to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,pnr_transit_ASC_no_auto,pnr_transit_ASC_no_auto,pnr_transit_ASC_no_auto,pnr_transit_ASC_no_auto,,,,,,,, +util_PNR_to_Transit_Auto_deficient,PNR to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,pnr_transit_ASC_auto_deficient,pnr_transit_ASC_auto_deficient,pnr_transit_ASC_auto_deficient,pnr_transit_ASC_auto_deficient,,,,,,,, +util_PNR_to_Transit_Auto_sufficient,PNR to Transit - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,pnr_transit_ASC_auto_sufficient,pnr_transit_ASC_auto_sufficient,pnr_transit_ASC_auto_sufficient,pnr_transit_ASC_auto_sufficient,,,,,,,, +util_KNR_to_Transit_Zero_auto,KNR to Transit - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,knr_transit_ASC_no_auto,knr_transit_ASC_no_auto,knr_transit_ASC_no_auto,knr_transit_ASC_no_auto,,,, +util_KNR_to_Transit_Auto_deficient,KNR to Transit - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,knr_transit_ASC_auto_deficient,knr_transit_ASC_auto_deficient,knr_transit_ASC_auto_deficient,knr_transit_ASC_auto_deficient,,,, +util_KNR_to_Transit_Auto_sufficient,KNR to Transit - Auto Sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,knr_transit_ASC_auto_sufficient,knr_transit_ASC_auto_sufficient,knr_transit_ASC_auto_sufficient,knr_transit_ASC_auto_sufficient,,,, +util_Taxi_Zero_auto,Taxi - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_no_auto,, +util_Taxi_Auto_deficient,Taxi - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_deficient,, +util_Taxi_Auto_sufficient,Taxi - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,taxi_ASC_auto_sufficient,, +util_TNC_Single_Zero_auto,TNC Single - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_no_auto, +util_TNC_Single_Auto_deficient,TNC Single - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_deficient, +util_TNC_Single_Auto_sufficient,TNC Single - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,tnc_single_ASC_auto_sufficient, +util_TNC_Shared_Zero_auto,TNC Shared - Zero auto,@(df.is_indiv & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_no_auto +util_TNC_Shared_Auto_deficient,TNC Shared - Auto deficient,@(df.is_indiv & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_deficient +util_TNC_Shared_Auto_sufficient,TNC Shared - Auto sufficient,@(df.is_indiv & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,tnc_shared_ASC_auto_sufficient +#util_Joint_tour_ASCs,#joint tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Joint_WALK_ASC_Zero_auto,Joint - Walk ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,joint_walk_ASC_no_auto,,,,,,,,,,,,,,,,, +util_Joint_WALK_ASC_Auto_deficient,Joint - Walk ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,joint_walk_ASC_auto_deficient,,,,,,,,,,,,,,,,, +util_Joint_WALK_ASC_Auto_sufficient,Joint - Walk ASC - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,joint_walk_ASC_auto_sufficient,,,,,,,,,,,,,,,,, +util_Joint_BIKE_ASC_Zero_auto,Joint - Bike ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,joint_bike_ASC_no_auto,,,,,,,,,,,,,,,, +util_Joint_BIKE_ASC_Auto_deficient,Joint - Bike ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,joint_bike_ASC_auto_deficient,,,,,,,,,,,,,,,, +util_Joint_BIKE_ASC_Auto_sufficient,Joint - Bike ASC - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,joint_bike_ASC_auto_sufficient,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Zero_auto,Joint - Shared ride 2 ASC - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,joint_sr2_ASC_no_auto,,,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_deficient,Joint - Shared ride 2 ASC - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,joint_sr2_ASC_auto_deficient,,,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_2_ASC_Auto_sufficient,Joint - Shared ride 2 ASC - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,joint_sr2_ASC_auto_sufficient,,,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3+_Zero_auto,Joint - Shared ride 3+ - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,joint_sr3p_ASC_no_auto,,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3+_Auto_deficient,Joint - Shared ride 3+ - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,joint_sr3p_ASC_auto_deficient,,,,,,,,,,,,,,,,,, +util_Joint_Shared_ride_3+_Auto_sufficient,Joint - Shared ride 3+ - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,joint_sr3p_ASC_auto_sufficient,,,,,,,,,,,,,,,,,, +util_Joint_WALK_to_Transit_Zero_auto,Joint - Walk to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto,,,,,,,,,,,, +util_Joint_WALK_to_Transit_Auto_deficient,Joint - Walk to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient,,,,,,,,,,,, +util_Joint_WALK_to_Transit_Auto_sufficient,Joint - Walk to Transit - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient,,,,,,,,,,,, +util_Joint_PNR_to_Transit_Zero_auto,Joint - PNR to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,joint_pnr_transit_ASC_no_auto,joint_pnr_transit_ASC_no_auto,joint_pnr_transit_ASC_no_auto,joint_pnr_transit_ASC_no_auto,,,,,,,, +util_Joint_PNR_to_Transit_Auto_deficient,Joint - PNR to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,joint_pnr_transit_ASC_auto_deficient,joint_pnr_transit_ASC_auto_deficient,joint_pnr_transit_ASC_auto_deficient,joint_pnr_transit_ASC_auto_deficient,,,,,,,, +util_Joint_PNR_to_Transit_Auto_sufficient,Joint - PNR to Transit - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,joint_pnr_transit_ASC_auto_sufficient,joint_pnr_transit_ASC_auto_sufficient,joint_pnr_transit_ASC_auto_sufficient,joint_pnr_transit_ASC_auto_sufficient,,,,,,,, +util_Joint_KNR_to_Transit_Zero_auto,Joint - KNR to Transit - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,joint_knr_transit_ASC_no_auto,joint_knr_transit_ASC_no_auto,joint_knr_transit_ASC_no_auto,joint_knr_transit_ASC_no_auto,,,, +util_Joint_KNR_to_Transit_Auto_deficient,Joint - KNR to Transit - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_knr_transit_ASC_auto_deficient,joint_knr_transit_ASC_auto_deficient,joint_knr_transit_ASC_auto_deficient,joint_knr_transit_ASC_auto_deficient,,,, +util_Joint_KNR_to_Transit_Auto_sufficient,Joint - KNR to Transit - Auto Sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,joint_knr_transit_ASC_auto_sufficient,joint_knr_transit_ASC_auto_sufficient,joint_knr_transit_ASC_auto_sufficient,joint_knr_transit_ASC_auto_sufficient,,,, +util_Joint_Taxi_Zero_auto,Joint - Taxi - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_no_auto,, +util_Joint_Taxi_Auto_deficient,Joint - Taxi - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_deficient,, +util_Joint_Taxi_Auto_sufficient,Joint - Taxi - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,joint_taxi_ASC_auto_sufficient,, +util_Joint_TNC_Single_Zero_auto,Joint - TNC Single - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_no_auto, +util_Joint_TNC_Single_Auto_deficient,Joint - TNC Single - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_deficient, +util_Joint_TNC_Single_Auto_sufficient,Joint - TNC Single - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,joint_tnc_single_ASC_auto_sufficient, +util_Joint_TNC_Shared_Zero_auto,Joint - TNC Shared - Zero auto,@(df.is_joint & (df.auto_ownership == 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_no_auto +util_Joint_TNC_Shared_Auto_deficient,Joint - TNC Shared - Auto deficient,@(df.is_joint & (df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_deficient +util_Joint_TNC_Shared_Auto_sufficient,Joint - TNC Shared - Auto sufficient,@(df.is_joint & (df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,,,,joint_tnc_shared_ASC_auto_sufficient +util_WALK_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,,,,,, +Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,,, +Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,coef_distpen_drvtrn,coef_distpen_drvtrn,coef_distpen_drvtrn,coef_distpen_drvtrn,coef_distpen_drvtrn,coef_distpen_drvtrn,coef_distpen_drvtrn,coef_distpen_drvtrn,,,, +util_schoolbus_ASC_no_auto,School Bus No Auto ASC,@(df.auto_ownership == 0),,,,,,,,,,,,,,,,,,schoolbus_ASC_no_auto,,, +util_schoolbus_ASC_auto_deficient,School Bus Auto Deficient ASC,@((df.auto_ownership < df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,schoolbus_ASC_auto_deficient,,, +util_schoolbus_ASC_auto_sufficient,School Bus Auto Sufficient ASC,@((df.auto_ownership >= df.num_workers) & (df.auto_ownership > 0)),,,,,,,,,,,,,,,,,,schoolbus_ASC_auto_sufficient,,, +util_transit_type_ASC,Transit technology ASC,1,,,,,,,walk_BM_ASC,walk_MR_ASC,walk_CR_ASC,,PNR_BM_ASC,PNR_MR_ASC,PNR_CR_ASC,,KNR_BM_ASC,KNR_MR_ASC,KNR_CR_ASC,,,, diff --git a/activitysim/examples/prototype_mwcog/configs/tour_mode_choice.yaml b/activitysim/examples/prototype_mwcog/configs/tour_mode_choice.yaml new file mode 100644 index 0000000000..ace2fa2875 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_mode_choice.yaml @@ -0,0 +1,114 @@ +LOGIT_TYPE: NL +#LOGIT_TYPE: MNL + +NESTS: + name: root + coefficient: coef_nest_root + alternatives: + - name: AUTO + coefficient: coef_nest_AUTO + alternatives: + - DRIVEALONE + - SHARED2 + - SHARED3 + - name: NONMOTORIZED + coefficient: coef_nest_NONMOTORIZED + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: coef_nest_TRANSIT + alternatives: + - name: WALKACCESS + coefficient: coef_nest_TRANSIT_WALKACCESS + alternatives: + - WALK_AB + - WALK_BM + - WALK_MR + - WALK_CR + - name: PNRACCESS + coefficient: coef_nest_TRANSIT_PNRACCESS + alternatives: + - PNR_AB + - PNR_BM + - PNR_MR + - PNR_CR + - name: KNRACCESS + coefficient: coef_nest_TRANSIT_KNRACCESS + alternatives: + - KNR_AB + - KNR_BM + - KNR_MR + - KNR_CR + - name: SCHOOL_BUS + coefficient: coef_nest_SCHOOL_BUS + alternatives: + - SCHOOLBUS + - name: RIDEHAIL + coefficient: coef_nest_RIDEHAIL + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +SPEC: tour_mode_choice.csv +COEFFICIENTS: tour_mode_choice_coeffs.csv +COEFFICIENT_TEMPLATE: tour_mode_choice_coeffs_template.csv + +CONSTANTS: + #costPerMile: 19.26 + #costShareSr2: 1.75 + #costShareSr3: 2.50 + #waitThresh: 10.00 + walkThresh: 1.50 + shortWalk: 0.333 + longWalk: 0.667 + walkSpeed: 3.00 + bikeThresh: 6.00 + bikeSpeed: 12.00 + maxCbdAreaTypeThresh: 2 + indivTour: 1.00000 + walkThresh: 1.50 + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + - tours + +nontour_preprocessor: + SPEC: tour_mode_choice_annotate_choosers_preprocessor + DF: choosers + TABLES: + - land_use + +# to reduce memory needs filter chooser table to these fields +LOGSUM_CHOOSER_COLUMNS: + - tour_type + - hhsize + - density_index + - age + - age_16_p + - age_16_to_19 + - auto_ownership + - number_of_participants + - tour_category + - num_workers + - value_of_time + - free_parking_at_work + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/prototype_mwcog/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/tour_mode_choice_annotate_choosers_preprocessor.csv new file mode 100644 index 0000000000..cffc75890a --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -0,0 +1,88 @@ +Description,Target,Expression +#,, +local,_DF_IS_TOUR,'tour_type' in df.columns +,number_of_participants,df.number_of_participants if _DF_IS_TOUR else 1 +,is_joint,(df.tour_category=='joint') if _DF_IS_TOUR else False +#,, + local,_HAVE_PARENT_TOURS,'parent_tour_id' in df.columns +,_parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id) if _HAVE_PARENT_TOURS else ''" +,work_tour_is_drive,_parent_tour_mode.isin(['DRIVEALONE']) +,work_tour_is_bike,_parent_tour_mode=='BIKE' +,work_tour_is_SOV,_parent_tour_mode.isin(['DRIVEALONE']) +#,, +,is_mandatory,(df.tour_category=='mandatory') if 'tour_category' in df.columns else False +,is_joint,(df.tour_category=='joint') if 'tour_category' in df.columns else False +,is_indiv,~is_joint +,is_atwork_subtour,(df.tour_category=='atwork') if 'tour_category' in df.columns else False +,is_escort,(df.tour_type == 'escort') if _DF_IS_TOUR else False +,is_school,(df.tour_type=='school') & (df.is_university==False) if _DF_IS_TOUR else False +#,, +#,c_cost,(0.60 * c_ivt) / df.value_of_time +#,, +,ivot,1.0/df.value_of_time +,dest_topology,"reindex(land_use.TOPOLOGY, df[dest_col_name])" +,terminal_time,"reindex(land_use.TERMINAL, df[dest_col_name])" +,dest_density_index,"reindex(land_use.density_index, df[dest_col_name])" +# FIXME no transit subzones so all zones short walk to transit,, +,_walk_transit_origin,True +,_walk_transit_destination,True +,walk_transit_available,_walk_transit_origin & _walk_transit_destination +,pnr_transit_available,_walk_transit_destination & (df.auto_ownership > 0) +,knr_transit_available,_walk_transit_origin & _walk_transit_destination +,origin_walk_time,shortWalk*60/walkSpeed +,destination_walk_time,shortWalk*60/walkSpeed +# RIDEHAIL,, +,origin_density_measure,"(reindex(land_use.TOTPOP, df[orig_col_name]) + reindex(land_use.TOTEMP, df[orig_col_name])) / (reindex(land_use.LANDAREA*640, df[orig_col_name]) / 640)" +,dest_density_measure,"(reindex(land_use.TOTPOP, df[dest_col_name]) + reindex(land_use.TOTEMP, df[dest_col_name])) / (reindex(land_use.LANDAREA*640, df[dest_col_name]) / 640)" +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,dest_density,"pd.cut(dest_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)" +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" +,dest_zone_taxi_wait_time_mean,"dest_density.map({k: v for k, v in Taxi_waitTime_mean.items()})" +,dest_zone_taxi_wait_time_sd,"dest_density.map({k: v for k, v in Taxi_waitTime_sd.items()})" +# ,, Note that the mean and standard deviation are not the values for the distribution itself but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destTaxiWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_taxi_wait_time_mean, sigma=dest_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" +,dest_zone_singleTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})" +,dest_zone_singleTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})" +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_singleTNC_wait_time_mean, sigma=dest_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" +,dest_zone_sharedTNC_wait_time_mean,"dest_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})" +,dest_zone_sharedTNC_wait_time_sd,"dest_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})" +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,destSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=dest_zone_sharedTNC_wait_time_mean, sigma=dest_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)" +,totalWaitTaxi,origTaxiWaitTime + destTaxiWaitTime +,totalWaitSingleTNC,origSingleTNCWaitTime + destSingleTNCWaitTime +,totalWaitSharedTNC,origSharedTNCWaitTime + destSharedTNCWaitTime +#,, +,_free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work if _DF_IS_TOUR else False +,_dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[dest_col_name])" +,_dest_hourly_offpeak_parking_cost,"reindex(land_use.OPRKCST, df[dest_col_name])" +,_hourly_peak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_peak_parking_cost)" +,_hourly_offpeak_parking_cost,"np.where(_free_parking_available, 0, _dest_hourly_offpeak_parking_cost)" +,daily_parking_cost,"np.where(is_mandatory, _hourly_peak_parking_cost * df.duration/2, _hourly_offpeak_parking_cost * df.duration/2)" +#,, +,distance,od_skims['DIST'] +,sov_available,(odt_skims['SOV_TIME']>0) & (dot_skims['SOV_TIME']>0) +,hov2_available,(odt_skims['HOV2_TIME'] + dot_skims['HOV2_TIME'])>0 +,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) +,walk_ab_available,walk_transit_available & (odt_skims['WK_AB_WK_IVTLB']>0) & (dot_skims['WK_AB_WK_IVTLB']>0) +,walk_bm_available,walk_transit_available & (odt_skims['WK_BM_WK_IVTMR']>0) & (dot_skims['WK_BM_WK_IVTMR']>0) +,walk_mr_available,walk_transit_available & (odt_skims['WK_MR_WK_IVTMR']>0) & (dot_skims['WK_MR_WK_IVTMR']>0) +,walk_cr_available,walk_transit_available & (odt_skims['WK_CR_WK_IVTCR']>0) & (dot_skims['WK_CR_WK_IVTCR']>0) +,pnr_ab_available,pnr_transit_available & (odt_skims['DR_AB_WK_IVTLB']>0) & (dot_skims['WK_AB_DR_IVTLB']>0) +,pnr_bm_available,pnr_transit_available & (odt_skims['DR_BM_WK_IVTMR']>0) & (dot_skims['WK_BM_DR_IVTMR']>0) +,pnr_mr_available,pnr_transit_available & (odt_skims['DR_MR_WK_IVTMR']>0) & (dot_skims['WK_MR_DR_IVTMR']>0) +,pnr_cr_available,pnr_transit_available & (odt_skims['DR_CR_WK_IVTCR']>0) & (dot_skims['WK_CR_DR_IVTCR']>0) +,knr_ab_available,knr_transit_available & (odt_skims['KR_AB_WK_IVTLB']>0) & (dot_skims['WK_AB_KR_IVTLB']>0) +,knr_bm_available,knr_transit_available & (odt_skims['KR_BM_WK_IVTMR']>0) & (dot_skims['WK_BM_KR_IVTMR']>0) +,knr_mr_available,knr_transit_available & (odt_skims['KR_MR_WK_IVTMR']>0) & (dot_skims['WK_MR_KR_IVTMR']>0) +,knr_cr_available,knr_transit_available & (odt_skims['KR_CR_WK_IVTCR']>0) & (dot_skims['WK_CR_KR_IVTCR']>0) +#,, +destination in central business district,destination_in_cbd,"(reindex(land_use.AREATYPE, df[dest_col_name]) < setting('cbd_threshold')) * 1" +#,,FIXME diagnostic +#,sov_dist_rt,(odt_skims['SOV_DIST'] + dot_skims['SOV_DIST']) diff --git a/activitysim/examples/prototype_mwcog/configs/tour_mode_choice_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/tour_mode_choice_coeffs.csv new file mode 100644 index 0000000000..17a55c3273 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_mode_choice_coeffs.csv @@ -0,0 +1,454 @@ +coefficient_name,value,constrain +coef_ivt_work,-0.025,F +coef_cost_work,-0.000659341,F +coef_walk_work,-0.0344,F +coef_bike_work,-0.0367,F +coef_wlk_acc_work,-0.0457,F +coef_wlk_aux_work,-0.05,F +coef_drvacc_pnr_work,-0.05,F +coef_drvacc_knr_work,-0.05,F +coef_iwait_work,-0.0372,F +coef_xwait_work,-0.0382,F +coef_xfers_wlktrn_work,0.0,T +coef_xfers_pnr_work,0.0,T +coef_xfers_knr_work,0.0,T +walk_transit_CBD_ASC_work,0.479,F +drive_transit_CBD_ASC_work,1.17,F +coef_density_walk_work,0.058,F +coef_density_bike_work,0.0145,F +coef_density_wlktrn_work,0.0,T +coef_distpen_drvtrn_work,0.0,T +coef_drvratio_knr_work,0.0,T +coef_drvratio_pnr_work,0.0,T +coef_age010_wlktrn_work,0.0,T +coef_age1619_da_work,-0.205,F +coef_age16p_sr_work,-0.454,F +coef_hhsize1_sr_work,-1.5,F +coef_hhsize2_sr_work,-0.895,F +coef_topology_bike_work,0.0,T +coef_topology_knr_work,0.0,T +coef_topology_pnr_work,0.0,T +coef_topology_walk_work,0.0,T +coef_topology_wlktrn_work,0.0,T +walk_MR_ASC_work,1.01,F +walk_BM_ASC_work,0.149,F +walk_CR_ASC_work,1.2,F +PNR_MR_ASC_work,-0.8759999999999999,F +PNR_BM_ASC_work,-1.89,F +PNR_CR_ASC_work,2.08,F +KNR_MR_ASC_work,0.43,F +KNR_BM_ASC_work,0.5579999999999999,F +KNR_CR_ASC_work,-8.88,F +coef_ivt_school_univ,-0.01,T +coef_cost_school_univ,-0.001,F +coef_walk_school_univ,-0.0138,F +coef_bike_school_univ,-0.0147,F +coef_wlk_acc_school_univ,-0.0183,F +coef_wlk_aux_school_univ,-0.0183,F +coef_drvacc_pnr_school_univ,-0.0182,F +coef_drvacc_knr_school_univ,-0.0182,F +coef_iwait_school_univ,-0.0149,F +coef_xwait_school_univ,-0.0153,F +coef_xfers_wlktrn_school_univ,0.0,T +coef_xfers_pnr_school_univ,0.0,T +coef_xfers_knr_school_univ,0.0,T +walk_transit_CBD_ASC_school_univ,0.1916,F +drive_transit_CBD_ASC_school_univ,0.468,F +coef_density_walk_school_univ,0.0232,F +coef_density_bike_school_univ,0.0058,F +coef_density_wlktrn_school_univ,0.0,T +coef_distpen_drvtrn_school_univ,0.0,T +coef_drvratio_knr_school_univ,0.0,T +coef_drvratio_pnr_school_univ,0.0,T +coef_age010_wlktrn_school_univ,-0.7140000000000001,F +coef_age1619_da_school_univ,0.066,F +coef_age16p_sr_school_univ,-0.407,F +coef_hhsize1_sr_school_univ,-2.65,F +coef_hhsize2_sr_school_univ,-0.6759999999999999,F +coef_topology_bike_school_univ,0.0,T +coef_topology_knr_school_univ,0.0,T +coef_topology_pnr_school_univ,0.0,T +coef_topology_walk_school_univ,0.0,T +coef_topology_wlktrn_school_univ,0.0,T +walk_MR_ASC_school_univ,1.11,F +walk_BM_ASC_school_univ,0.537,F +walk_CR_ASC_school_univ,1.36,F +PNR_MR_ASC_school_univ,-999.0,T +PNR_BM_ASC_school_univ,-999.0,T +PNR_CR_ASC_school_univ,-999.0,T +KNR_MR_ASC_school_univ,-999.0,T +KNR_BM_ASC_school_univ,-999.0,T +KNR_CR_ASC_school_univ,-999.0,T +coef_ivt_nonmandatory,-0.0213,F +coef_cost_nonmandatory,-0.00106,F +coef_walk_nonmandatory,-0.0488,F +coef_bike_nonmandatory,-0.0522,F +coef_wlk_acc_nonmandatory,-0.0371,F +coef_wlk_aux_nonmandatory,-0.0426,T +coef_drvacc_pnr_nonmandatory,-0.0426,T +coef_drvacc_knr_nonmandatory,-0.0426,T +coef_iwait_nonmandatory,-0.03195,T +coef_xwait_nonmandatory,-0.0426,T +coef_xfers_wlktrn_nonmandatory,0.0,T +coef_xfers_pnr_nonmandatory,0.0,T +coef_xfers_knr_nonmandatory,0.0,T +walk_transit_CBD_ASC_nonmandatory,0.272,F +drive_transit_CBD_ASC_nonmandatory,0.0,F +coef_density_walk_nonmandatory,0.0579,F +coef_density_bike_nonmandatory,0.041,F +coef_density_wlktrn_nonmandatory,0.0,T +coef_distpen_drvtrn_nonmandatory,0.0,T +coef_drvratio_knr_nonmandatory,0.0,T +coef_drvratio_pnr_nonmandatory,0.0,T +coef_age010_wlktrn_nonmandatory,-1.49,F +coef_age1619_da_nonmandatory,-1.23,F +coef_age16p_sr_nonmandatory,0.79,F +coef_hhsize1_sr_nonmandatory,-1.13,F +coef_hhsize2_sr_nonmandatory,-0.757,F +coef_topology_bike_nonmandatory,0.0,T +coef_topology_knr_nonmandatory,0.0,T +coef_topology_pnr_nonmandatory,0.0,T +coef_topology_walk_nonmandatory,0.0,T +coef_topology_wlktrn_nonmandatory,0.0,T +walk_MR_ASC_nonmandatory,0.0,F +walk_BM_ASC_nonmandatory,-0.979,F +walk_CR_ASC_nonmandatory,2.01,F +PNR_MR_ASC_nonmandatory,-999.0,F +PNR_BM_ASC_nonmandatory,-999.0,F +PNR_CR_ASC_nonmandatory,-999.0,F +KNR_MR_ASC_nonmandatory,-999.0,F +KNR_BM_ASC_nonmandatory,-999.0,F +KNR_CR_ASC_nonmandatory,-999.0,F +coef_ivt_atwork,-0.0361,F +coef_cost_atwork,-0.000434,F +coef_walk_atwork,-0.0709,F +coef_bike_atwork,-0.0722,T +coef_wlk_acc_atwork,-0.0722,F +coef_wlk_aux_atwork,-0.0722,T +coef_drvacc_pnr_atwork,0.0,T +coef_drvacc_knr_atwork,0.0,F +coef_iwait_atwork,-0.1,F +coef_xwait_atwork,-0.1,T +coef_xfers_wlktrn_atwork,0.0,T +coef_xfers_pnr_atwork,0.0,T +coef_xfers_knr_atwork,0.0,T +walk_transit_CBD_ASC_atwork,0.58,F +drive_transit_CBD_ASC_atwork,0.0,T +coef_density_walk_atwork,0.0437,F +coef_density_bike_atwork,0.0,T +coef_density_wlktrn_atwork,0.0,T +coef_distpen_drvtrn_atwork,0.0,T +coef_drvratio_knr_atwork,0.0,T +coef_drvratio_pnr_atwork,0.0,T +coef_age010_wlktrn_atwork,0.0,T +coef_age1619_da_atwork,0.0,T +coef_age16p_sr_atwork,0.0,T +coef_hhsize1_sr_atwork,0.0,T +coef_hhsize2_sr_atwork,0.0,T +coef_topology_bike_atwork,0.0,T +coef_topology_knr_atwork,0.0,T +coef_topology_pnr_atwork,0.0,T +coef_topology_walk_atwork,0.0,T +coef_topology_wlktrn_atwork,0.0,T +walk_MR_ASC_atwork,1.99,F +walk_BM_ASC_atwork,-14.3,F +walk_CR_ASC_atwork,-2.63,F +PNR_MR_ASC_atwork,-999.0,T +PNR_BM_ASC_atwork,-999.0,T +PNR_CR_ASC_atwork,-999.0,T +KNR_MR_ASC_atwork,-999.0,T +KNR_BM_ASC_atwork,-999.0,T +KNR_CR_ASC_atwork,-999.0,T +coef_nest_AUTO,0.72,F +coef_nest_AUTO_DRIVEALONE,0.35,F +coef_nest_AUTO_SHAREDRIDE2,0.35,F +coef_nest_AUTO_SHAREDRIDE3,0.35,F +coef_nest_NONMOTORIZED,0.72,F +coef_nest_RIDEHAIL,0.36,F +coef_nest_root,1.0,T +coef_nest_SCHOOL_BUS,0.72,F +coef_nest_TRANSIT,0.72,F +coef_nest_TRANSIT_KNRACCESS,0.5,F +coef_nest_TRANSIT_PNRACCESS,0.5,F +coef_nest_TRANSIT_WALKACCESS,0.5,F +bike_ASC_auto_deficient_discretionary,-2.314622563152318,F +bike_ASC_auto_sufficient_discretionary,-3.16592714693174,F +bike_ASC_no_auto_discretionary,1.8206473922492574,F +joint_bike_ASC_auto_deficient_discretionary,-6.684326329341298,F +joint_bike_ASC_auto_sufficient_discretionary,-4.501341297960985,F +joint_bike_ASC_no_auto_discretionary,-8.32,F +joint_knr_transit_ASC_auto_deficient_discretionary,-18.9,F +joint_knr_transit_ASC_auto_sufficient_discretionary,-9.8,F +joint_knr_transit_ASC_no_auto_discretionary,-5.28,F +joint_pnr_transit_ASC_auto_deficient_discretionary,-8.392032157640141,F +joint_pnr_transit_ASC_auto_sufficient_discretionary,-15.7,F +joint_pnr_transit_ASC_no_auto_discretionary,0.0,F +joint_sr2_ASC_auto_deficient_discretionary,4.47397710397656,F +joint_sr2_ASC_auto_sufficient_discretionary,0.596089371356585,F +joint_sr2_ASC_no_auto_discretionary,-0.3348269658286712,F +joint_sr3p_ASC_auto_deficient_discretionary,-8.759597659763918,F +joint_sr3p_ASC_auto_sufficient_discretionary,-2.1453451696139387,F +joint_sr3p_ASC_no_auto_discretionary,25.531137193393857,F +joint_taxi_ASC_auto_deficient_discretionary,-5.899240823980289,F +joint_taxi_ASC_auto_sufficient_discretionary,-4.418718421723628,F +joint_taxi_ASC_no_auto_discretionary,-4.2064399470153795,F +joint_tnc_shared_ASC_auto_deficient_discretionary,-6.479240823980289,F +joint_tnc_shared_ASC_auto_sufficient_discretionary,-4.418718421723628,F +joint_tnc_shared_ASC_no_auto_discretionary,-4.936439947015377,F +joint_tnc_single_ASC_auto_deficient_discretionary,-7.879240823980287,F +joint_tnc_single_ASC_auto_sufficient_discretionary,-4.418718421723628,F +joint_tnc_single_ASC_no_auto_discretionary,-5.126439947015377,F +joint_walk_ASC_auto_deficient_discretionary,-2.6423977462101016,F +joint_walk_ASC_auto_sufficient_discretionary,0.27930973040681684,F +joint_walk_ASC_no_auto_discretionary,29.06807239954025,F +joint_walk_transit_ASC_auto_deficient_discretionary,-7.489016223032866,F +joint_walk_transit_ASC_auto_sufficient_discretionary,-3.5462229327295973,F +joint_walk_transit_ASC_no_auto_discretionary,27.13232401017065,F +knr_transit_ASC_auto_deficient_discretionary,-19.0,F +knr_transit_ASC_auto_sufficient_discretionary,-2.36489842946777,F +knr_transit_ASC_no_auto_discretionary,2.4500588375695913,F +pnr_transit_ASC_auto_deficient_discretionary,-18.3,F +pnr_transit_ASC_auto_sufficient_discretionary,-3.033477671851898,F +pnr_transit_ASC_no_auto_discretionary,0.0,F +schoolbus_ASC_not_school,-999.0,F +sr2_ASC_auto_deficient_discretionary,-0.9806021413713831,F +sr2_ASC_auto_sufficient_discretionary,-1.5358224919444443,F +sr2_ASC_no_auto_discretionary,1.7032603135320528,F +sr3p_ASC_auto_deficient_discretionary,-1.515123236684089,F +sr3p_ASC_auto_sufficient_discretionary,-1.6169797400620591,F +sr3p_ASC_no_auto_discretionary,1.4029597077211255,F +taxi_ASC_auto_deficient_discretionary,-1.8061232402875835,F +taxi_ASC_auto_sufficient_discretionary,-2.7196310783821733,F +taxi_ASC_no_auto_discretionary,3.366136911788236,F +tnc_shared_ASC_auto_deficient_discretionary,-2.066123240287584,F +tnc_shared_ASC_auto_sufficient_discretionary,-4.289631078382175,F +tnc_shared_ASC_no_auto_discretionary,1.7761369117882366,F +tnc_single_ASC_auto_deficient_discretionary,-0.8861232402875836,F +tnc_single_ASC_auto_sufficient_discretionary,-2.6396310783821733,F +tnc_single_ASC_no_auto_discretionary,3.696136911788236,F +walk_ASC_auto_deficient_discretionary,1.2396747160555504,F +walk_ASC_auto_sufficient_discretionary,0.14620669993715266,F +walk_ASC_no_auto_discretionary,5.430660236876429,F +walk_transit_ASC_auto_deficient_discretionary,0.09537642212091921,F +walk_transit_ASC_auto_sufficient_discretionary,-1.8612136472259984,F +walk_transit_ASC_no_auto_discretionary,5.16027718326133,F +bike_ASC_auto_deficient_maintenance,-3.377536003532798,F +bike_ASC_auto_sufficient_maintenance,-3.776552123413538,F +bike_ASC_no_auto_maintenance,2.487381459660064,F +joint_bike_ASC_auto_deficient_maintenance,-49.41432632934129,F +joint_bike_ASC_auto_sufficient_maintenance,-4.671341297960987,F +joint_bike_ASC_no_auto_maintenance,-10.6,F +joint_knr_transit_ASC_auto_deficient_maintenance,-18.9,F +joint_knr_transit_ASC_auto_sufficient_maintenance,-11.7,F +joint_knr_transit_ASC_no_auto_maintenance,-33.4,F +joint_pnr_transit_ASC_auto_deficient_maintenance,-27.492032157640157,F +joint_pnr_transit_ASC_auto_sufficient_maintenance,-14.399999999999999,F +joint_pnr_transit_ASC_no_auto_maintenance,0.0,F +joint_sr2_ASC_auto_deficient_maintenance,4.47397710397656,F +joint_sr2_ASC_auto_sufficient_maintenance,0.596089371356585,F +joint_sr2_ASC_no_auto_maintenance,-0.3348269658286712,F +joint_sr3p_ASC_auto_deficient_maintenance,-11.899597659763911,F +joint_sr3p_ASC_auto_sufficient_maintenance,-2.6353451696139376,F +joint_sr3p_ASC_no_auto_maintenance,0.7511371933938734,F +joint_taxi_ASC_auto_deficient_maintenance,-22.909240823980294,F +joint_taxi_ASC_auto_sufficient_maintenance,-4.418718421723628,F +joint_taxi_ASC_no_auto_maintenance,1.4535600529846209,F +joint_tnc_shared_ASC_auto_deficient_maintenance,-20.409240823980284,F +joint_tnc_shared_ASC_auto_sufficient_maintenance,-4.418718421723628,F +joint_tnc_shared_ASC_no_auto_maintenance,-22.046439947015372,F +joint_tnc_single_ASC_auto_deficient_maintenance,-20.30924082398029,F +joint_tnc_single_ASC_auto_sufficient_maintenance,-4.418718421723628,F +joint_tnc_single_ASC_no_auto_maintenance,-0.6764399470153786,F +joint_walk_ASC_auto_deficient_maintenance,-4.172397746210102,F +joint_walk_ASC_auto_sufficient_maintenance,-0.08069026959318316,F +joint_walk_ASC_no_auto_maintenance,5.248072399540233,F +joint_walk_transit_ASC_auto_deficient_maintenance,-22.809016223032856,F +joint_walk_transit_ASC_auto_sufficient_maintenance,-2.3262229327295967,F +joint_walk_transit_ASC_no_auto_maintenance,3.3623240101706475,F +knr_transit_ASC_auto_deficient_maintenance,-18.6,F +knr_transit_ASC_auto_sufficient_maintenance,-13.1,F +knr_transit_ASC_no_auto_maintenance,-15.7,F +pnr_transit_ASC_auto_deficient_maintenance,-15.600000000000001,F +pnr_transit_ASC_auto_sufficient_maintenance,-17.3,F +pnr_transit_ASC_no_auto_maintenance,0.0,F +sr2_ASC_auto_deficient_maintenance,-0.770836558232873,F +sr2_ASC_auto_sufficient_maintenance,-1.4126398075072164,F +sr2_ASC_no_auto_maintenance,2.8368705489342365,F +sr3p_ASC_auto_deficient_maintenance,-1.0418043251252822,F +sr3p_ASC_auto_sufficient_maintenance,-1.5096457960498852,F +sr3p_ASC_no_auto_maintenance,3.1958843831466086,F +taxi_ASC_auto_deficient_maintenance,-3.050813822837973,F +taxi_ASC_auto_sufficient_maintenance,-3.4535730013724333,F +taxi_ASC_no_auto_maintenance,4.779640150510731,F +tnc_shared_ASC_auto_deficient_maintenance,-3.960813822837972,F +tnc_shared_ASC_auto_sufficient_maintenance,-208.72357300137233,F +tnc_shared_ASC_no_auto_maintenance,1.3096401505107311,F +tnc_single_ASC_auto_deficient_maintenance,-3.6008138228379702,F +tnc_single_ASC_auto_sufficient_maintenance,-5.21357300137243,F +tnc_single_ASC_no_auto_maintenance,3.7896401505107287,F +walk_ASC_auto_deficient_maintenance,0.961103491281816,F +walk_ASC_auto_sufficient_maintenance,0.3086378353701181,F +walk_ASC_no_auto_maintenance,6.71332037504109,F +walk_transit_ASC_auto_deficient_maintenance,-0.9816456943716195,F +walk_transit_ASC_auto_sufficient_maintenance,-1.7154122348374308,F +walk_transit_ASC_no_auto_maintenance,6.493934015624426,F +bike_ASC_auto_deficient_school,-0.3587962142802607,F +bike_ASC_auto_sufficient_school,-2.2481434287968605,F +bike_ASC_no_auto_school,-6.61,F +joint_bike_ASC_auto_deficient_all,0.5839388785109728,F +joint_bike_ASC_auto_sufficient_all,2.2382650098327144,F +joint_bike_ASC_no_auto_all,0.0,F +joint_knr_transit_ASC_auto_deficient_all,28.0,F +joint_knr_transit_ASC_auto_sufficient_all,28.0,F +joint_knr_transit_ASC_no_auto_all,0.0,F +joint_pnr_transit_ASC_auto_deficient_all,14.307967842359856,F +joint_pnr_transit_ASC_auto_sufficient_all,28.0,F +joint_pnr_transit_ASC_no_auto_all,0.0,F +joint_sr2_ASC_auto_deficient_all,8.856717099261305,F +joint_sr2_ASC_auto_sufficient_all,1.866557830927722,F +joint_sr2_ASC_no_auto_all,-1.3136054748830173,F +joint_sr3p_ASC_auto_deficient_all,-12.744213154583111,F +joint_sr3p_ASC_auto_sufficient_all,1.1793670542694572,F +joint_sr3p_ASC_no_auto_all,7.188133036662488,F +joint_taxi_ASC_auto_deficient_all,-6.309240823980289,F +joint_taxi_ASC_auto_sufficient_all,-4.418718421723628,F +joint_taxi_ASC_no_auto_all,-2.946439947015379,F +joint_tnc_shared_ASC_auto_deficient_all,-6.309240823980289,F +joint_tnc_shared_ASC_auto_sufficient_all,-4.418718421723628,F +joint_tnc_shared_ASC_no_auto_all,-2.946439947015379,F +joint_tnc_single_ASC_auto_deficient_all,-6.309240823980289,F +joint_tnc_single_ASC_auto_sufficient_all,-4.418718421723628,F +joint_tnc_single_ASC_no_auto_all,-2.946439947015379,F +joint_walk_ASC_auto_deficient_all,-8.649695786770533,F +joint_walk_ASC_auto_sufficient_all,-0.846896869850848,F +joint_walk_ASC_no_auto_all,2.530309112287652,F +joint_walk_transit_ASC_auto_deficient_all,-22.25316841330574,F +joint_walk_transit_ASC_auto_sufficient_all,-9.232201799737867,F +joint_walk_transit_ASC_no_auto_all,-3.56379435293537,F +knr_transit_ASC_auto_deficient_school,-0.7771297774010263,F +knr_transit_ASC_auto_sufficient_school,-0.3479379885195866,F +knr_transit_ASC_no_auto_school,4.416351644923216,F +pnr_transit_ASC_auto_deficient_school,-17.6,F +pnr_transit_ASC_auto_sufficient_school,-3.0833071983095968,F +pnr_transit_ASC_no_auto_school,0.0,F +schoolbus_ASC_auto_deficient_school,1.4496683582704122,F +schoolbus_ASC_auto_sufficient_school,1.4373341048849948,F +schoolbus_ASC_no_auto_school,3.598171871862293,F +sr2_ASC_auto_deficient_school,1.1400834084843785,F +sr2_ASC_auto_sufficient_school,0.3723534041153868,F +sr2_ASC_no_auto_school,-4.82,F +sr3p_ASC_auto_deficient_school,1.3751525207907713,F +sr3p_ASC_auto_sufficient_school,0.807684697254822,F +sr3p_ASC_no_auto_school,0.5483992541943021,F +taxi_ASC_auto_deficient_school,-21.15823481107509,F +taxi_ASC_auto_sufficient_school,-2.4103716060177884,F +taxi_ASC_no_auto_school_univ,0.0,F +tnc_shared_ASC_auto_deficient_school,-20.25823481107509,F +tnc_shared_ASC_auto_sufficient_school,-20.760371606017802,F +tnc_shared_ASC_no_auto_school,0.8154516592775722,F +tnc_single_ASC_auto_deficient_school,-2.538234811075092,F +tnc_single_ASC_auto_sufficient_school,-3.3003716060177894,F +tnc_single_ASC_no_auto_school,0.8154516592775722,F +walk_ASC_auto_deficient_school,1.9700826773800473,F +walk_ASC_auto_sufficient_school,0.9069008474873451,F +walk_ASC_no_auto_school,4.44605462232996,F +walk_transit_ASC_auto_deficient_school,0.608197830087687,F +walk_transit_ASC_auto_sufficient_school,-0.5348068368653319,F +walk_transit_ASC_no_auto_school,4.555462342810206,F +bike_ASC_auto_deficient_univ,-2.983656896539415,F +bike_ASC_auto_sufficient_univ,-2.9847326070220013,F +bike_ASC_no_auto_univ,-0.25960529412546857,F +knr_transit_ASC_auto_deficient_univ,-2.027091996792729,F +knr_transit_ASC_auto_sufficient_univ,-3.5700988463934267,F +knr_transit_ASC_no_auto_univ,-6.0,F +pnr_transit_ASC_auto_deficient_univ,-0.624872727953999,F +pnr_transit_ASC_auto_sufficient_univ,-3.5367931821403795,F +pnr_transit_ASC_no_auto_univ,0.0,F +sr2_ASC_auto_deficient_univ,0.3770160010136651,F +sr2_ASC_auto_sufficient_univ,-0.09113888340291802,F +sr2_ASC_no_auto_univ,0.676637641704824,F +sr3p_ASC_auto_deficient_univ,-0.15358517526001764,F +sr3p_ASC_auto_sufficient_univ,-0.14430611838574922,F +sr3p_ASC_no_auto_univ,1.4803358638547641,F +taxi_ASC_auto_deficient_univ,-2.147566732660339,F +taxi_ASC_auto_sufficient_univ,-2.987735993361906,F +tnc_shared_ASC_auto_deficient_univ,-2.147566732660339,F +tnc_shared_ASC_auto_sufficient_univ,-2.987735993361906,F +tnc_shared_ASC_no_auto_univ,1.5140890468266357,F +tnc_single_ASC_auto_deficient_univ,-2.147566732660339,F +tnc_single_ASC_auto_sufficient_univ,-2.987735993361906,F +tnc_single_ASC_no_auto_univ,1.5140890468266357,F +walk_ASC_auto_deficient_univ,-1.179511441787613,F +walk_ASC_auto_sufficient_univ,-0.62287570112084,F +walk_ASC_no_auto_univ,2.339757435025446,F +walk_transit_ASC_auto_deficient_univ,-0.17454653043031698,F +walk_transit_ASC_auto_sufficient_univ,-0.9495168757760516,F +walk_transit_ASC_no_auto_univ,2.175197417493062,F +bike_ASC_auto_deficient_work,-0.3546072404991606,F +bike_ASC_auto_sufficient_work,-3.1638889609274634,F +bike_ASC_no_auto_work,2.7801931794592605,F +knr_transit_ASC_auto_deficient_work,-1.0765656262524248,F +knr_transit_ASC_auto_sufficient_work,-3.9684689024532487,F +knr_transit_ASC_no_auto_work,2.21305651338722,F +pnr_transit_ASC_auto_deficient_work,-0.09995602533313773,F +pnr_transit_ASC_auto_sufficient_work,-1.1852550721052821,F +pnr_transit_ASC_no_auto_work,0.0,F +sr2_ASC_auto_deficient_work,-0.27426164764014943,F +sr2_ASC_auto_sufficient_work,-0.4398130630584324,F +sr2_ASC_no_auto_work,0.6258725935957756,F +sr3p_ASC_auto_deficient_work,-0.9248068312058698,F +sr3p_ASC_auto_sufficient_work,-1.1074544445404517,F +sr3p_ASC_no_auto_work,0.9884803116660514,F +taxi_ASC_auto_deficient_work,-0.45047836938742336,F +taxi_ASC_auto_sufficient_work,-2.6947142945014066,F +taxi_ASC_no_auto_work,2.8060963105426344,F +tnc_shared_ASC_auto_deficient_work,-1.6704783693874226,F +tnc_shared_ASC_auto_sufficient_work,-4.384714294501407,F +tnc_shared_ASC_no_auto_work,1.8060963105426353,F +tnc_single_ASC_auto_deficient_work,-0.0904783693874232,F +tnc_single_ASC_auto_sufficient_work,-3.2747142945014067,F +tnc_single_ASC_no_auto_work,3.5060963105426355,F +walk_ASC_auto_deficient_work,2.740454435923793,F +walk_ASC_auto_sufficient_work,-0.026829625626013584,F +walk_ASC_no_auto_work,4.9093958356590734,F +walk_transit_ASC_auto_deficient_work,1.6265981598135546,F +walk_transit_ASC_auto_sufficient_work,-1.2277772965975742,F +walk_transit_ASC_no_auto_work,5.648304016804462,F +bike_ASC_auto_deficient_atwork,6.813220683803054,F +bike_ASC_auto_sufficient_atwork,-1.6328617899578455,F +bike_ASC_no_auto_atwork,-15.773940012738107,F +knr_transit_ASC_auto_deficient_atwork,-24.5,F +knr_transit_ASC_auto_sufficient_atwork,-2.19190489598871,F +knr_transit_ASC_no_auto_atwork,-48.7,F +pnr_transit_ASC_auto_deficient_atwork,-4.69,F +pnr_transit_ASC_auto_sufficient_atwork,-5.759358027052075,F +pnr_transit_ASC_no_auto_atwork,0.0,F +sr2_ASC_auto_deficient_atwork,-1.1422376987882268,F +sr2_ASC_auto_sufficient_atwork,-2.1215879415511036,F +sr2_ASC_no_auto_atwork,-18.166720634032373,F +sr3p_ASC_auto_deficient_atwork,-1.5999360630401558,F +sr3p_ASC_auto_sufficient_atwork,-2.6237767822576106,F +sr3p_ASC_no_auto_atwork,-18.663765831776058,F +taxi_ASC_auto_deficient_atwork,-0.929831757998666,F +taxi_ASC_auto_sufficient_atwork,-1.9249125548560715,F +taxi_ASC_no_auto_atwork,-16.96419195282012,F +tnc_shared_ASC_auto_deficient_atwork,-19.76983175799867,F +tnc_shared_ASC_auto_sufficient_atwork,-2.9449125548560713,F +tnc_shared_ASC_no_auto_atwork,-47.46419195282012,F +tnc_single_ASC_auto_deficient_atwork,-31.669831757998658,F +tnc_single_ASC_auto_sufficient_atwork,-3.034912554856072,F +tnc_single_ASC_no_auto_atwork,-16.46419195282012,F +walk_ASC_auto_deficient_atwork,2.6758140375284643,F +walk_ASC_auto_sufficient_atwork,0.2733957575113875,F +walk_ASC_no_auto_atwork,-11.143550534379164,F +walk_transit_ASC_auto_deficient_atwork,-0.8345491422957563,F +walk_transit_ASC_auto_sufficient_atwork,-3.6768955022907024,F +walk_transit_ASC_no_auto_atwork,-15.379013613731004,F +coef_density_knr_atwork,0.0,T +coef_density_knr_nonmandatory,0.0,T +coef_density_knr_school_univ,0.0,T +coef_density_knr_work,0.0,T +coef_density_pnr_atwork,0.0,T +coef_density_pnr_nonmandatory,0.0,T +coef_density_pnr_school_univ,0.0,T +coef_density_pnr_work,0.0,T diff --git a/activitysim/examples/prototype_mwcog/configs/tour_mode_choice_coeffs_template.csv b/activitysim/examples/prototype_mwcog/configs/tour_mode_choice_coeffs_template.csv new file mode 100644 index 0000000000..02b3d48bd1 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_mode_choice_coeffs_template.csv @@ -0,0 +1,118 @@ +coefficient_name,eatout,escort,othdiscr,othmaint,school,shopping,social,univ,work,atwork +coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root,coef_nest_root +coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO,coef_nest_AUTO +coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE,coef_nest_AUTO_DRIVEALONE +coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2,coef_nest_AUTO_SHAREDRIDE2 +coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3,coef_nest_AUTO_SHAREDRIDE3 +coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED,coef_nest_NONMOTORIZED +coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT,coef_nest_TRANSIT +coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS,coef_nest_TRANSIT_WALKACCESS +coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS,coef_nest_TRANSIT_PNRACCESS +coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS,coef_nest_TRANSIT_KNRACCESS +coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS,coef_nest_SCHOOL_BUS +coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL,coef_nest_RIDEHAIL +coef_ivt,coef_ivt_nonmandatory,coef_ivt_nonmandatory,coef_ivt_nonmandatory,coef_ivt_nonmandatory,coef_ivt_school_univ,coef_ivt_nonmandatory,coef_ivt_nonmandatory,coef_ivt_school_univ,coef_ivt_work,coef_ivt_atwork +coef_cost,coef_cost_nonmandatory,coef_cost_nonmandatory,coef_cost_nonmandatory,coef_cost_nonmandatory,coef_cost_school_univ,coef_cost_nonmandatory,coef_cost_nonmandatory,coef_cost_school_univ,coef_cost_work,coef_cost_atwork +coef_walk,coef_walk_nonmandatory,coef_walk_nonmandatory,coef_walk_nonmandatory,coef_walk_nonmandatory,coef_walk_school_univ,coef_walk_nonmandatory,coef_walk_nonmandatory,coef_walk_school_univ,coef_walk_work,coef_walk_atwork +coef_wlk_acc,coef_wlk_acc_nonmandatory,coef_wlk_acc_nonmandatory,coef_wlk_acc_nonmandatory,coef_wlk_acc_nonmandatory,coef_wlk_acc_school_univ,coef_wlk_acc_nonmandatory,coef_wlk_acc_nonmandatory,coef_wlk_acc_school_univ,coef_wlk_acc_work,coef_wlk_acc_atwork +coef_wlk_aux,coef_wlk_aux_nonmandatory,coef_wlk_aux_nonmandatory,coef_wlk_aux_nonmandatory,coef_wlk_aux_nonmandatory,coef_wlk_aux_school_univ,coef_wlk_aux_nonmandatory,coef_wlk_aux_nonmandatory,coef_wlk_aux_school_univ,coef_wlk_aux_work,coef_wlk_aux_atwork +coef_bike,coef_bike_nonmandatory,coef_bike_nonmandatory,coef_bike_nonmandatory,coef_bike_nonmandatory,coef_bike_school_univ,coef_bike_nonmandatory,coef_bike_nonmandatory,coef_bike_school_univ,coef_bike_work,coef_bike_atwork +coef_iwait,coef_iwait_nonmandatory,coef_iwait_nonmandatory,coef_iwait_nonmandatory,coef_iwait_nonmandatory,coef_iwait_school_univ,coef_iwait_nonmandatory,coef_iwait_nonmandatory,coef_iwait_school_univ,coef_iwait_work,coef_iwait_atwork +coef_xwait,coef_xwait_nonmandatory,coef_xwait_nonmandatory,coef_xwait_nonmandatory,coef_xwait_nonmandatory,coef_xwait_school_univ,coef_xwait_nonmandatory,coef_xwait_nonmandatory,coef_xwait_school_univ,coef_xwait_work,coef_xwait_atwork +coef_xfers_wlktrn,coef_xfers_wlktrn_nonmandatory,coef_xfers_wlktrn_nonmandatory,coef_xfers_wlktrn_nonmandatory,coef_xfers_wlktrn_nonmandatory,coef_xfers_wlktrn_school_univ,coef_xfers_wlktrn_nonmandatory,coef_xfers_wlktrn_nonmandatory,coef_xfers_wlktrn_school_univ,coef_xfers_wlktrn_work,coef_xfers_wlktrn_atwork +coef_xfers_pnr,coef_xfers_pnr_nonmandatory,coef_xfers_pnr_nonmandatory,coef_xfers_pnr_nonmandatory,coef_xfers_pnr_nonmandatory,coef_xfers_pnr_school_univ,coef_xfers_pnr_nonmandatory,coef_xfers_pnr_nonmandatory,coef_xfers_pnr_school_univ,coef_xfers_pnr_work,coef_xfers_pnr_atwork +coef_xfers_knr,coef_xfers_knr_nonmandatory,coef_xfers_knr_nonmandatory,coef_xfers_knr_nonmandatory,coef_xfers_knr_nonmandatory,coef_xfers_knr_school_univ,coef_xfers_knr_nonmandatory,coef_xfers_knr_nonmandatory,coef_xfers_knr_school_univ,coef_xfers_knr_work,coef_xfers_knr_atwork +coef_drvacc_knr,coef_drvacc_knr_nonmandatory,coef_drvacc_knr_nonmandatory,coef_drvacc_knr_nonmandatory,coef_drvacc_knr_nonmandatory,coef_drvacc_knr_school_univ,coef_drvacc_knr_nonmandatory,coef_drvacc_knr_nonmandatory,coef_drvacc_knr_school_univ,coef_drvacc_knr_work,coef_drvacc_knr_atwork +coef_drvacc_pnr,coef_drvacc_pnr_nonmandatory,coef_drvacc_pnr_nonmandatory,coef_drvacc_pnr_nonmandatory,coef_drvacc_pnr_nonmandatory,coef_drvacc_pnr_school_univ,coef_drvacc_pnr_nonmandatory,coef_drvacc_pnr_nonmandatory,coef_drvacc_pnr_school_univ,coef_drvacc_pnr_work,coef_drvacc_pnr_atwork +coef_drvratio_pnr,coef_drvratio_pnr_nonmandatory,coef_drvratio_pnr_nonmandatory,coef_drvratio_pnr_nonmandatory,coef_drvratio_pnr_nonmandatory,coef_drvratio_pnr_school_univ,coef_drvratio_pnr_nonmandatory,coef_drvratio_pnr_nonmandatory,coef_drvratio_pnr_school_univ,coef_drvratio_pnr_work,coef_drvratio_pnr_atwork +coef_drvratio_knr,coef_drvratio_knr_nonmandatory,coef_drvratio_knr_nonmandatory,coef_drvratio_knr_nonmandatory,coef_drvratio_knr_nonmandatory,coef_drvratio_knr_school_univ,coef_drvratio_knr_nonmandatory,coef_drvratio_knr_nonmandatory,coef_drvratio_knr_school_univ,coef_drvratio_knr_work,coef_drvratio_knr_atwork +coef_distpen_drvtrn,coef_distpen_drvtrn_nonmandatory,coef_distpen_drvtrn_nonmandatory,coef_distpen_drvtrn_nonmandatory,coef_distpen_drvtrn_nonmandatory,coef_distpen_drvtrn_school_univ,coef_distpen_drvtrn_nonmandatory,coef_distpen_drvtrn_nonmandatory,coef_distpen_drvtrn_school_univ,coef_distpen_drvtrn_work,coef_distpen_drvtrn_atwork +coef_density_walk,coef_density_walk_nonmandatory,coef_density_walk_nonmandatory,coef_density_walk_nonmandatory,coef_density_walk_nonmandatory,coef_density_walk_school_univ,coef_density_walk_nonmandatory,coef_density_walk_nonmandatory,coef_density_walk_school_univ,coef_density_walk_work,coef_density_walk_atwork +coef_density_bike,coef_density_bike_nonmandatory,coef_density_bike_nonmandatory,coef_density_bike_nonmandatory,coef_density_bike_nonmandatory,coef_density_bike_school_univ,coef_density_bike_nonmandatory,coef_density_bike_nonmandatory,coef_density_bike_school_univ,coef_density_bike_work,coef_density_bike_atwork +coef_density_wlktrn,coef_density_wlktrn_nonmandatory,coef_density_wlktrn_nonmandatory,coef_density_wlktrn_nonmandatory,coef_density_wlktrn_nonmandatory,coef_density_wlktrn_school_univ,coef_density_wlktrn_nonmandatory,coef_density_wlktrn_nonmandatory,coef_density_wlktrn_school_univ,coef_density_wlktrn_work,coef_density_wlktrn_atwork +coef_density_pnr,coef_density_pnr_nonmandatory,coef_density_pnr_nonmandatory,coef_density_pnr_nonmandatory,coef_density_pnr_nonmandatory,coef_density_pnr_school_univ,coef_density_pnr_nonmandatory,coef_density_pnr_nonmandatory,coef_density_pnr_school_univ,coef_density_pnr_work,coef_density_pnr_atwork +coef_density_knr,coef_density_knr_nonmandatory,coef_density_knr_nonmandatory,coef_density_knr_nonmandatory,coef_density_knr_nonmandatory,coef_density_knr_school_univ,coef_density_knr_nonmandatory,coef_density_knr_nonmandatory,coef_density_knr_school_univ,coef_density_knr_work,coef_density_knr_atwork +coef_topology_walk,coef_topology_walk_nonmandatory,coef_topology_walk_nonmandatory,coef_topology_walk_nonmandatory,coef_topology_walk_nonmandatory,coef_topology_walk_school_univ,coef_topology_walk_nonmandatory,coef_topology_walk_nonmandatory,coef_topology_walk_school_univ,coef_topology_walk_work,coef_topology_walk_atwork +coef_topology_bike,coef_topology_bike_nonmandatory,coef_topology_bike_nonmandatory,coef_topology_bike_nonmandatory,coef_topology_bike_nonmandatory,coef_topology_bike_school_univ,coef_topology_bike_nonmandatory,coef_topology_bike_nonmandatory,coef_topology_bike_school_univ,coef_topology_bike_work,coef_topology_bike_atwork +coef_topology_wlktrn,coef_topology_wlktrn_nonmandatory,coef_topology_wlktrn_nonmandatory,coef_topology_wlktrn_nonmandatory,coef_topology_wlktrn_nonmandatory,coef_topology_wlktrn_school_univ,coef_topology_wlktrn_nonmandatory,coef_topology_wlktrn_nonmandatory,coef_topology_wlktrn_school_univ,coef_topology_wlktrn_work,coef_topology_wlktrn_atwork +coef_topology_pnr,coef_topology_pnr_nonmandatory,coef_topology_pnr_nonmandatory,coef_topology_pnr_nonmandatory,coef_topology_pnr_nonmandatory,coef_topology_pnr_school_univ,coef_topology_pnr_nonmandatory,coef_topology_pnr_nonmandatory,coef_topology_pnr_school_univ,coef_topology_pnr_work,coef_topology_pnr_atwork +coef_topology_knr,coef_topology_knr_nonmandatory,coef_topology_knr_nonmandatory,coef_topology_knr_nonmandatory,coef_topology_knr_nonmandatory,coef_topology_knr_school_univ,coef_topology_knr_nonmandatory,coef_topology_knr_nonmandatory,coef_topology_knr_school_univ,coef_topology_knr_work,coef_topology_knr_atwork +coef_age1619_da,coef_age1619_da_nonmandatory,coef_age1619_da_nonmandatory,coef_age1619_da_nonmandatory,coef_age1619_da_nonmandatory,coef_age1619_da_school_univ,coef_age1619_da_nonmandatory,coef_age1619_da_nonmandatory,coef_age1619_da_school_univ,coef_age1619_da_work,coef_age1619_da_atwork +coef_age010_wlktrn,coef_age010_wlktrn_nonmandatory,coef_age010_wlktrn_nonmandatory,coef_age010_wlktrn_nonmandatory,coef_age010_wlktrn_nonmandatory,coef_age010_wlktrn_school_univ,coef_age010_wlktrn_nonmandatory,coef_age010_wlktrn_nonmandatory,coef_age010_wlktrn_school_univ,coef_age010_wlktrn_work,coef_age010_wlktrn_atwork +coef_age16p_sr,coef_age16p_sr_nonmandatory,coef_age16p_sr_nonmandatory,coef_age16p_sr_nonmandatory,coef_age16p_sr_nonmandatory,coef_age16p_sr_school_univ,coef_age16p_sr_nonmandatory,coef_age16p_sr_nonmandatory,coef_age16p_sr_school_univ,coef_age16p_sr_work,coef_age16p_sr_atwork +coef_hhsize1_sr,coef_hhsize1_sr_nonmandatory,coef_hhsize1_sr_nonmandatory,coef_hhsize1_sr_nonmandatory,coef_hhsize1_sr_nonmandatory,coef_hhsize1_sr_school_univ,coef_hhsize1_sr_nonmandatory,coef_hhsize1_sr_nonmandatory,coef_hhsize1_sr_school_univ,coef_hhsize1_sr_work,coef_hhsize1_sr_atwork +coef_hhsize2_sr,coef_hhsize2_sr_nonmandatory,coef_hhsize2_sr_nonmandatory,coef_hhsize2_sr_nonmandatory,coef_hhsize2_sr_nonmandatory,coef_hhsize2_sr_school_univ,coef_hhsize2_sr_nonmandatory,coef_hhsize2_sr_nonmandatory,coef_hhsize2_sr_school_univ,coef_hhsize2_sr_work,coef_hhsize2_sr_atwork +walk_ASC_no_auto,walk_ASC_no_auto_discretionary,walk_ASC_no_auto_maintenance,walk_ASC_no_auto_discretionary,walk_ASC_no_auto_maintenance,walk_ASC_no_auto_school,walk_ASC_no_auto_maintenance,walk_ASC_no_auto_discretionary,walk_ASC_no_auto_univ,walk_ASC_no_auto_work,walk_ASC_no_auto_atwork +walk_ASC_auto_deficient,walk_ASC_auto_deficient_discretionary,walk_ASC_auto_deficient_maintenance,walk_ASC_auto_deficient_discretionary,walk_ASC_auto_deficient_maintenance,walk_ASC_auto_deficient_school,walk_ASC_auto_deficient_maintenance,walk_ASC_auto_deficient_discretionary,walk_ASC_auto_deficient_univ,walk_ASC_auto_deficient_work,walk_ASC_auto_deficient_atwork +walk_ASC_auto_sufficient,walk_ASC_auto_sufficient_discretionary,walk_ASC_auto_sufficient_maintenance,walk_ASC_auto_sufficient_discretionary,walk_ASC_auto_sufficient_maintenance,walk_ASC_auto_sufficient_school,walk_ASC_auto_sufficient_maintenance,walk_ASC_auto_sufficient_discretionary,walk_ASC_auto_sufficient_univ,walk_ASC_auto_sufficient_work,walk_ASC_auto_sufficient_atwork +bike_ASC_no_auto,bike_ASC_no_auto_discretionary,bike_ASC_no_auto_maintenance,bike_ASC_no_auto_discretionary,bike_ASC_no_auto_maintenance,bike_ASC_no_auto_school,bike_ASC_no_auto_maintenance,bike_ASC_no_auto_discretionary,bike_ASC_no_auto_univ,bike_ASC_no_auto_work,bike_ASC_no_auto_atwork +bike_ASC_auto_deficient,bike_ASC_auto_deficient_discretionary,bike_ASC_auto_deficient_maintenance,bike_ASC_auto_deficient_discretionary,bike_ASC_auto_deficient_maintenance,bike_ASC_auto_deficient_school,bike_ASC_auto_deficient_maintenance,bike_ASC_auto_deficient_discretionary,bike_ASC_auto_deficient_univ,bike_ASC_auto_deficient_work,bike_ASC_auto_deficient_atwork +bike_ASC_auto_sufficient,bike_ASC_auto_sufficient_discretionary,bike_ASC_auto_sufficient_maintenance,bike_ASC_auto_sufficient_discretionary,bike_ASC_auto_sufficient_maintenance,bike_ASC_auto_sufficient_school,bike_ASC_auto_sufficient_maintenance,bike_ASC_auto_sufficient_discretionary,bike_ASC_auto_sufficient_univ,bike_ASC_auto_sufficient_work,bike_ASC_auto_sufficient_atwork +sr2_ASC_no_auto,sr2_ASC_no_auto_discretionary,sr2_ASC_no_auto_maintenance,sr2_ASC_no_auto_discretionary,sr2_ASC_no_auto_maintenance,sr2_ASC_no_auto_school,sr2_ASC_no_auto_maintenance,sr2_ASC_no_auto_discretionary,sr2_ASC_no_auto_univ,sr2_ASC_no_auto_work,sr2_ASC_no_auto_atwork +sr2_ASC_auto_deficient,sr2_ASC_auto_deficient_discretionary,sr2_ASC_auto_deficient_maintenance,sr2_ASC_auto_deficient_discretionary,sr2_ASC_auto_deficient_maintenance,sr2_ASC_auto_deficient_school,sr2_ASC_auto_deficient_maintenance,sr2_ASC_auto_deficient_discretionary,sr2_ASC_auto_deficient_univ,sr2_ASC_auto_deficient_work,sr2_ASC_auto_deficient_atwork +sr2_ASC_auto_sufficient,sr2_ASC_auto_sufficient_discretionary,sr2_ASC_auto_sufficient_maintenance,sr2_ASC_auto_sufficient_discretionary,sr2_ASC_auto_sufficient_maintenance,sr2_ASC_auto_sufficient_school,sr2_ASC_auto_sufficient_maintenance,sr2_ASC_auto_sufficient_discretionary,sr2_ASC_auto_sufficient_univ,sr2_ASC_auto_sufficient_work,sr2_ASC_auto_sufficient_atwork +sr3p_ASC_no_auto,sr3p_ASC_no_auto_discretionary,sr3p_ASC_no_auto_maintenance,sr3p_ASC_no_auto_discretionary,sr3p_ASC_no_auto_maintenance,sr3p_ASC_no_auto_school,sr3p_ASC_no_auto_maintenance,sr3p_ASC_no_auto_discretionary,sr3p_ASC_no_auto_univ,sr3p_ASC_no_auto_work,sr3p_ASC_no_auto_atwork +sr3p_ASC_auto_deficient,sr3p_ASC_auto_deficient_discretionary,sr3p_ASC_auto_deficient_maintenance,sr3p_ASC_auto_deficient_discretionary,sr3p_ASC_auto_deficient_maintenance,sr3p_ASC_auto_deficient_school,sr3p_ASC_auto_deficient_maintenance,sr3p_ASC_auto_deficient_discretionary,sr3p_ASC_auto_deficient_univ,sr3p_ASC_auto_deficient_work,sr3p_ASC_auto_deficient_atwork +sr3p_ASC_auto_sufficient,sr3p_ASC_auto_sufficient_discretionary,sr3p_ASC_auto_sufficient_maintenance,sr3p_ASC_auto_sufficient_discretionary,sr3p_ASC_auto_sufficient_maintenance,sr3p_ASC_auto_sufficient_school,sr3p_ASC_auto_sufficient_maintenance,sr3p_ASC_auto_sufficient_discretionary,sr3p_ASC_auto_sufficient_univ,sr3p_ASC_auto_sufficient_work,sr3p_ASC_auto_sufficient_atwork +walk_transit_ASC_no_auto,walk_transit_ASC_no_auto_discretionary,walk_transit_ASC_no_auto_maintenance,walk_transit_ASC_no_auto_discretionary,walk_transit_ASC_no_auto_maintenance,walk_transit_ASC_no_auto_school,walk_transit_ASC_no_auto_maintenance,walk_transit_ASC_no_auto_discretionary,walk_transit_ASC_no_auto_univ,walk_transit_ASC_no_auto_work,walk_transit_ASC_no_auto_atwork +walk_transit_ASC_auto_deficient,walk_transit_ASC_auto_deficient_discretionary,walk_transit_ASC_auto_deficient_maintenance,walk_transit_ASC_auto_deficient_discretionary,walk_transit_ASC_auto_deficient_maintenance,walk_transit_ASC_auto_deficient_school,walk_transit_ASC_auto_deficient_maintenance,walk_transit_ASC_auto_deficient_discretionary,walk_transit_ASC_auto_deficient_univ,walk_transit_ASC_auto_deficient_work,walk_transit_ASC_auto_deficient_atwork +walk_transit_ASC_auto_sufficient,walk_transit_ASC_auto_sufficient_discretionary,walk_transit_ASC_auto_sufficient_maintenance,walk_transit_ASC_auto_sufficient_discretionary,walk_transit_ASC_auto_sufficient_maintenance,walk_transit_ASC_auto_sufficient_school,walk_transit_ASC_auto_sufficient_maintenance,walk_transit_ASC_auto_sufficient_discretionary,walk_transit_ASC_auto_sufficient_univ,walk_transit_ASC_auto_sufficient_work,walk_transit_ASC_auto_sufficient_atwork +pnr_transit_ASC_no_auto,pnr_transit_ASC_no_auto_discretionary,pnr_transit_ASC_no_auto_maintenance,pnr_transit_ASC_no_auto_discretionary,pnr_transit_ASC_no_auto_maintenance,pnr_transit_ASC_no_auto_school,pnr_transit_ASC_no_auto_maintenance,pnr_transit_ASC_no_auto_discretionary,pnr_transit_ASC_no_auto_univ,pnr_transit_ASC_no_auto_work,pnr_transit_ASC_no_auto_atwork +pnr_transit_ASC_auto_deficient,pnr_transit_ASC_auto_deficient_discretionary,pnr_transit_ASC_auto_deficient_maintenance,pnr_transit_ASC_auto_deficient_discretionary,pnr_transit_ASC_auto_deficient_maintenance,pnr_transit_ASC_auto_deficient_school,pnr_transit_ASC_auto_deficient_maintenance,pnr_transit_ASC_auto_deficient_discretionary,pnr_transit_ASC_auto_deficient_univ,pnr_transit_ASC_auto_deficient_work,pnr_transit_ASC_auto_deficient_atwork +pnr_transit_ASC_auto_sufficient,pnr_transit_ASC_auto_sufficient_discretionary,pnr_transit_ASC_auto_sufficient_maintenance,pnr_transit_ASC_auto_sufficient_discretionary,pnr_transit_ASC_auto_sufficient_maintenance,pnr_transit_ASC_auto_sufficient_school,pnr_transit_ASC_auto_sufficient_maintenance,pnr_transit_ASC_auto_sufficient_discretionary,pnr_transit_ASC_auto_sufficient_univ,pnr_transit_ASC_auto_sufficient_work,pnr_transit_ASC_auto_sufficient_atwork +knr_transit_ASC_no_auto,knr_transit_ASC_no_auto_discretionary,knr_transit_ASC_no_auto_maintenance,knr_transit_ASC_no_auto_discretionary,knr_transit_ASC_no_auto_maintenance,knr_transit_ASC_no_auto_school,knr_transit_ASC_no_auto_maintenance,knr_transit_ASC_no_auto_discretionary,knr_transit_ASC_no_auto_univ,knr_transit_ASC_no_auto_work,knr_transit_ASC_no_auto_atwork +knr_transit_ASC_auto_deficient,knr_transit_ASC_auto_deficient_discretionary,knr_transit_ASC_auto_deficient_maintenance,knr_transit_ASC_auto_deficient_discretionary,knr_transit_ASC_auto_deficient_maintenance,knr_transit_ASC_auto_deficient_school,knr_transit_ASC_auto_deficient_maintenance,knr_transit_ASC_auto_deficient_discretionary,knr_transit_ASC_auto_deficient_univ,knr_transit_ASC_auto_deficient_work,knr_transit_ASC_auto_deficient_atwork +knr_transit_ASC_auto_sufficient,knr_transit_ASC_auto_sufficient_discretionary,knr_transit_ASC_auto_sufficient_maintenance,knr_transit_ASC_auto_sufficient_discretionary,knr_transit_ASC_auto_sufficient_maintenance,knr_transit_ASC_auto_sufficient_school,knr_transit_ASC_auto_sufficient_maintenance,knr_transit_ASC_auto_sufficient_discretionary,knr_transit_ASC_auto_sufficient_univ,knr_transit_ASC_auto_sufficient_work,knr_transit_ASC_auto_sufficient_atwork +taxi_ASC_no_auto,taxi_ASC_no_auto_discretionary,taxi_ASC_no_auto_maintenance,taxi_ASC_no_auto_discretionary,taxi_ASC_no_auto_maintenance,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_maintenance,taxi_ASC_no_auto_discretionary,taxi_ASC_no_auto_school_univ,taxi_ASC_no_auto_work,taxi_ASC_no_auto_atwork +taxi_ASC_auto_deficient,taxi_ASC_auto_deficient_discretionary,taxi_ASC_auto_deficient_maintenance,taxi_ASC_auto_deficient_discretionary,taxi_ASC_auto_deficient_maintenance,taxi_ASC_auto_deficient_school,taxi_ASC_auto_deficient_maintenance,taxi_ASC_auto_deficient_discretionary,taxi_ASC_auto_deficient_univ,taxi_ASC_auto_deficient_work,taxi_ASC_auto_deficient_atwork +taxi_ASC_auto_sufficient,taxi_ASC_auto_sufficient_discretionary,taxi_ASC_auto_sufficient_maintenance,taxi_ASC_auto_sufficient_discretionary,taxi_ASC_auto_sufficient_maintenance,taxi_ASC_auto_sufficient_school,taxi_ASC_auto_sufficient_maintenance,taxi_ASC_auto_sufficient_discretionary,taxi_ASC_auto_sufficient_univ,taxi_ASC_auto_sufficient_work,taxi_ASC_auto_sufficient_atwork +tnc_single_ASC_no_auto,tnc_single_ASC_no_auto_discretionary,tnc_single_ASC_no_auto_maintenance,tnc_single_ASC_no_auto_discretionary,tnc_single_ASC_no_auto_maintenance,tnc_single_ASC_no_auto_school,tnc_single_ASC_no_auto_maintenance,tnc_single_ASC_no_auto_discretionary,tnc_single_ASC_no_auto_univ,tnc_single_ASC_no_auto_work,tnc_single_ASC_no_auto_atwork +tnc_single_ASC_auto_deficient,tnc_single_ASC_auto_deficient_discretionary,tnc_single_ASC_auto_deficient_maintenance,tnc_single_ASC_auto_deficient_discretionary,tnc_single_ASC_auto_deficient_maintenance,tnc_single_ASC_auto_deficient_school,tnc_single_ASC_auto_deficient_maintenance,tnc_single_ASC_auto_deficient_discretionary,tnc_single_ASC_auto_deficient_univ,tnc_single_ASC_auto_deficient_work,tnc_single_ASC_auto_deficient_atwork +tnc_single_ASC_auto_sufficient,tnc_single_ASC_auto_sufficient_discretionary,tnc_single_ASC_auto_sufficient_maintenance,tnc_single_ASC_auto_sufficient_discretionary,tnc_single_ASC_auto_sufficient_maintenance,tnc_single_ASC_auto_sufficient_school,tnc_single_ASC_auto_sufficient_maintenance,tnc_single_ASC_auto_sufficient_discretionary,tnc_single_ASC_auto_sufficient_univ,tnc_single_ASC_auto_sufficient_work,tnc_single_ASC_auto_sufficient_atwork +tnc_shared_ASC_no_auto,tnc_shared_ASC_no_auto_discretionary,tnc_shared_ASC_no_auto_maintenance,tnc_shared_ASC_no_auto_discretionary,tnc_shared_ASC_no_auto_maintenance,tnc_shared_ASC_no_auto_school,tnc_shared_ASC_no_auto_maintenance,tnc_shared_ASC_no_auto_discretionary,tnc_shared_ASC_no_auto_univ,tnc_shared_ASC_no_auto_work,tnc_shared_ASC_no_auto_atwork +tnc_shared_ASC_auto_deficient,tnc_shared_ASC_auto_deficient_discretionary,tnc_shared_ASC_auto_deficient_maintenance,tnc_shared_ASC_auto_deficient_discretionary,tnc_shared_ASC_auto_deficient_maintenance,tnc_shared_ASC_auto_deficient_school,tnc_shared_ASC_auto_deficient_maintenance,tnc_shared_ASC_auto_deficient_discretionary,tnc_shared_ASC_auto_deficient_univ,tnc_shared_ASC_auto_deficient_work,tnc_shared_ASC_auto_deficient_atwork +tnc_shared_ASC_auto_sufficient,tnc_shared_ASC_auto_sufficient_discretionary,tnc_shared_ASC_auto_sufficient_maintenance,tnc_shared_ASC_auto_sufficient_discretionary,tnc_shared_ASC_auto_sufficient_maintenance,tnc_shared_ASC_auto_sufficient_school,tnc_shared_ASC_auto_sufficient_maintenance,tnc_shared_ASC_auto_sufficient_discretionary,tnc_shared_ASC_auto_sufficient_univ,tnc_shared_ASC_auto_sufficient_work,tnc_shared_ASC_auto_sufficient_atwork +joint_walk_ASC_no_auto,joint_walk_ASC_no_auto_discretionary,joint_walk_ASC_no_auto_maintenance,joint_walk_ASC_no_auto_discretionary,joint_walk_ASC_no_auto_maintenance,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_maintenance,joint_walk_ASC_no_auto_discretionary,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all,joint_walk_ASC_no_auto_all +joint_walk_ASC_auto_deficient,joint_walk_ASC_auto_deficient_discretionary,joint_walk_ASC_auto_deficient_maintenance,joint_walk_ASC_auto_deficient_discretionary,joint_walk_ASC_auto_deficient_maintenance,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_maintenance,joint_walk_ASC_auto_deficient_discretionary,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all,joint_walk_ASC_auto_deficient_all +joint_walk_ASC_auto_sufficient,joint_walk_ASC_auto_sufficient_discretionary,joint_walk_ASC_auto_sufficient_maintenance,joint_walk_ASC_auto_sufficient_discretionary,joint_walk_ASC_auto_sufficient_maintenance,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_maintenance,joint_walk_ASC_auto_sufficient_discretionary,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all,joint_walk_ASC_auto_sufficient_all +joint_bike_ASC_no_auto,joint_bike_ASC_no_auto_discretionary,joint_bike_ASC_no_auto_maintenance,joint_bike_ASC_no_auto_discretionary,joint_bike_ASC_no_auto_maintenance,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_maintenance,joint_bike_ASC_no_auto_discretionary,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all,joint_bike_ASC_no_auto_all +joint_bike_ASC_auto_deficient,joint_bike_ASC_auto_deficient_discretionary,joint_bike_ASC_auto_deficient_maintenance,joint_bike_ASC_auto_deficient_discretionary,joint_bike_ASC_auto_deficient_maintenance,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_maintenance,joint_bike_ASC_auto_deficient_discretionary,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all,joint_bike_ASC_auto_deficient_all +joint_bike_ASC_auto_sufficient,joint_bike_ASC_auto_sufficient_discretionary,joint_bike_ASC_auto_sufficient_maintenance,joint_bike_ASC_auto_sufficient_discretionary,joint_bike_ASC_auto_sufficient_maintenance,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_maintenance,joint_bike_ASC_auto_sufficient_discretionary,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all,joint_bike_ASC_auto_sufficient_all +joint_sr2_ASC_no_auto,joint_sr2_ASC_no_auto_discretionary,joint_sr2_ASC_no_auto_maintenance,joint_sr2_ASC_no_auto_discretionary,joint_sr2_ASC_no_auto_maintenance,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_maintenance,joint_sr2_ASC_no_auto_discretionary,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all,joint_sr2_ASC_no_auto_all +joint_sr2_ASC_auto_deficient,joint_sr2_ASC_auto_deficient_discretionary,joint_sr2_ASC_auto_deficient_maintenance,joint_sr2_ASC_auto_deficient_discretionary,joint_sr2_ASC_auto_deficient_maintenance,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_maintenance,joint_sr2_ASC_auto_deficient_discretionary,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all,joint_sr2_ASC_auto_deficient_all +joint_sr2_ASC_auto_sufficient,joint_sr2_ASC_auto_sufficient_discretionary,joint_sr2_ASC_auto_sufficient_maintenance,joint_sr2_ASC_auto_sufficient_discretionary,joint_sr2_ASC_auto_sufficient_maintenance,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_maintenance,joint_sr2_ASC_auto_sufficient_discretionary,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all,joint_sr2_ASC_auto_sufficient_all +joint_sr3p_ASC_no_auto,joint_sr3p_ASC_no_auto_discretionary,joint_sr3p_ASC_no_auto_maintenance,joint_sr3p_ASC_no_auto_discretionary,joint_sr3p_ASC_no_auto_maintenance,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_maintenance,joint_sr3p_ASC_no_auto_discretionary,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all,joint_sr3p_ASC_no_auto_all +joint_sr3p_ASC_auto_deficient,joint_sr3p_ASC_auto_deficient_discretionary,joint_sr3p_ASC_auto_deficient_maintenance,joint_sr3p_ASC_auto_deficient_discretionary,joint_sr3p_ASC_auto_deficient_maintenance,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_maintenance,joint_sr3p_ASC_auto_deficient_discretionary,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all,joint_sr3p_ASC_auto_deficient_all +joint_sr3p_ASC_auto_sufficient,joint_sr3p_ASC_auto_sufficient_discretionary,joint_sr3p_ASC_auto_sufficient_maintenance,joint_sr3p_ASC_auto_sufficient_discretionary,joint_sr3p_ASC_auto_sufficient_maintenance,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_maintenance,joint_sr3p_ASC_auto_sufficient_discretionary,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all,joint_sr3p_ASC_auto_sufficient_all +joint_walk_transit_ASC_no_auto,joint_walk_transit_ASC_no_auto_discretionary,joint_walk_transit_ASC_no_auto_maintenance,joint_walk_transit_ASC_no_auto_discretionary,joint_walk_transit_ASC_no_auto_maintenance,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_maintenance,joint_walk_transit_ASC_no_auto_discretionary,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all,joint_walk_transit_ASC_no_auto_all +joint_walk_transit_ASC_auto_deficient,joint_walk_transit_ASC_auto_deficient_discretionary,joint_walk_transit_ASC_auto_deficient_maintenance,joint_walk_transit_ASC_auto_deficient_discretionary,joint_walk_transit_ASC_auto_deficient_maintenance,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_maintenance,joint_walk_transit_ASC_auto_deficient_discretionary,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all,joint_walk_transit_ASC_auto_deficient_all +joint_walk_transit_ASC_auto_sufficient,joint_walk_transit_ASC_auto_sufficient_discretionary,joint_walk_transit_ASC_auto_sufficient_maintenance,joint_walk_transit_ASC_auto_sufficient_discretionary,joint_walk_transit_ASC_auto_sufficient_maintenance,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_maintenance,joint_walk_transit_ASC_auto_sufficient_discretionary,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all,joint_walk_transit_ASC_auto_sufficient_all +joint_pnr_transit_ASC_no_auto,joint_pnr_transit_ASC_no_auto_discretionary,joint_pnr_transit_ASC_no_auto_maintenance,joint_pnr_transit_ASC_no_auto_discretionary,joint_pnr_transit_ASC_no_auto_maintenance,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_maintenance,joint_pnr_transit_ASC_no_auto_discretionary,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all,joint_pnr_transit_ASC_no_auto_all +joint_pnr_transit_ASC_auto_deficient,joint_pnr_transit_ASC_auto_deficient_discretionary,joint_pnr_transit_ASC_auto_deficient_maintenance,joint_pnr_transit_ASC_auto_deficient_discretionary,joint_pnr_transit_ASC_auto_deficient_maintenance,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_maintenance,joint_pnr_transit_ASC_auto_deficient_discretionary,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all,joint_pnr_transit_ASC_auto_deficient_all +joint_pnr_transit_ASC_auto_sufficient,joint_pnr_transit_ASC_auto_sufficient_discretionary,joint_pnr_transit_ASC_auto_sufficient_maintenance,joint_pnr_transit_ASC_auto_sufficient_discretionary,joint_pnr_transit_ASC_auto_sufficient_maintenance,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_maintenance,joint_pnr_transit_ASC_auto_sufficient_discretionary,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all,joint_pnr_transit_ASC_auto_sufficient_all +joint_knr_transit_ASC_no_auto,joint_knr_transit_ASC_no_auto_discretionary,joint_knr_transit_ASC_no_auto_maintenance,joint_knr_transit_ASC_no_auto_discretionary,joint_knr_transit_ASC_no_auto_maintenance,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_maintenance,joint_knr_transit_ASC_no_auto_discretionary,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all,joint_knr_transit_ASC_no_auto_all +joint_knr_transit_ASC_auto_deficient,joint_knr_transit_ASC_auto_deficient_discretionary,joint_knr_transit_ASC_auto_deficient_maintenance,joint_knr_transit_ASC_auto_deficient_discretionary,joint_knr_transit_ASC_auto_deficient_maintenance,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_maintenance,joint_knr_transit_ASC_auto_deficient_discretionary,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all,joint_knr_transit_ASC_auto_deficient_all +joint_knr_transit_ASC_auto_sufficient,joint_knr_transit_ASC_auto_sufficient_discretionary,joint_knr_transit_ASC_auto_sufficient_maintenance,joint_knr_transit_ASC_auto_sufficient_discretionary,joint_knr_transit_ASC_auto_sufficient_maintenance,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_maintenance,joint_knr_transit_ASC_auto_sufficient_discretionary,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all,joint_knr_transit_ASC_auto_sufficient_all +joint_taxi_ASC_no_auto,joint_taxi_ASC_no_auto_discretionary,joint_taxi_ASC_no_auto_maintenance,joint_taxi_ASC_no_auto_discretionary,joint_taxi_ASC_no_auto_maintenance,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_maintenance,joint_taxi_ASC_no_auto_discretionary,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all,joint_taxi_ASC_no_auto_all +joint_taxi_ASC_auto_deficient,joint_taxi_ASC_auto_deficient_discretionary,joint_taxi_ASC_auto_deficient_maintenance,joint_taxi_ASC_auto_deficient_discretionary,joint_taxi_ASC_auto_deficient_maintenance,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_maintenance,joint_taxi_ASC_auto_deficient_discretionary,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all,joint_taxi_ASC_auto_deficient_all +joint_taxi_ASC_auto_sufficient,joint_taxi_ASC_auto_sufficient_discretionary,joint_taxi_ASC_auto_sufficient_maintenance,joint_taxi_ASC_auto_sufficient_discretionary,joint_taxi_ASC_auto_sufficient_maintenance,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_maintenance,joint_taxi_ASC_auto_sufficient_discretionary,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all,joint_taxi_ASC_auto_sufficient_all +joint_tnc_single_ASC_no_auto,joint_tnc_single_ASC_no_auto_discretionary,joint_tnc_single_ASC_no_auto_maintenance,joint_tnc_single_ASC_no_auto_discretionary,joint_tnc_single_ASC_no_auto_maintenance,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_maintenance,joint_tnc_single_ASC_no_auto_discretionary,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all,joint_tnc_single_ASC_no_auto_all +joint_tnc_single_ASC_auto_deficient,joint_tnc_single_ASC_auto_deficient_discretionary,joint_tnc_single_ASC_auto_deficient_maintenance,joint_tnc_single_ASC_auto_deficient_discretionary,joint_tnc_single_ASC_auto_deficient_maintenance,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_maintenance,joint_tnc_single_ASC_auto_deficient_discretionary,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all,joint_tnc_single_ASC_auto_deficient_all +joint_tnc_single_ASC_auto_sufficient,joint_tnc_single_ASC_auto_sufficient_discretionary,joint_tnc_single_ASC_auto_sufficient_maintenance,joint_tnc_single_ASC_auto_sufficient_discretionary,joint_tnc_single_ASC_auto_sufficient_maintenance,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_maintenance,joint_tnc_single_ASC_auto_sufficient_discretionary,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all,joint_tnc_single_ASC_auto_sufficient_all +joint_tnc_shared_ASC_no_auto,joint_tnc_shared_ASC_no_auto_discretionary,joint_tnc_shared_ASC_no_auto_maintenance,joint_tnc_shared_ASC_no_auto_discretionary,joint_tnc_shared_ASC_no_auto_maintenance,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_maintenance,joint_tnc_shared_ASC_no_auto_discretionary,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all,joint_tnc_shared_ASC_no_auto_all +joint_tnc_shared_ASC_auto_deficient,joint_tnc_shared_ASC_auto_deficient_discretionary,joint_tnc_shared_ASC_auto_deficient_maintenance,joint_tnc_shared_ASC_auto_deficient_discretionary,joint_tnc_shared_ASC_auto_deficient_maintenance,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_maintenance,joint_tnc_shared_ASC_auto_deficient_discretionary,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all,joint_tnc_shared_ASC_auto_deficient_all +joint_tnc_shared_ASC_auto_sufficient,joint_tnc_shared_ASC_auto_sufficient_discretionary,joint_tnc_shared_ASC_auto_sufficient_maintenance,joint_tnc_shared_ASC_auto_sufficient_discretionary,joint_tnc_shared_ASC_auto_sufficient_maintenance,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_maintenance,joint_tnc_shared_ASC_auto_sufficient_discretionary,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all,joint_tnc_shared_ASC_auto_sufficient_all +walk_transit_CBD_ASC,walk_transit_CBD_ASC_nonmandatory,walk_transit_CBD_ASC_nonmandatory,walk_transit_CBD_ASC_nonmandatory,walk_transit_CBD_ASC_nonmandatory,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_nonmandatory,walk_transit_CBD_ASC_nonmandatory,walk_transit_CBD_ASC_school_univ,walk_transit_CBD_ASC_work,walk_transit_CBD_ASC_atwork +drive_transit_CBD_ASC,drive_transit_CBD_ASC_nonmandatory,drive_transit_CBD_ASC_nonmandatory,drive_transit_CBD_ASC_nonmandatory,drive_transit_CBD_ASC_nonmandatory,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_nonmandatory,drive_transit_CBD_ASC_nonmandatory,drive_transit_CBD_ASC_school_univ,drive_transit_CBD_ASC_work,drive_transit_CBD_ASC_atwork +schoolbus_ASC_no_auto,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_no_auto_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school +schoolbus_ASC_auto_deficient,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_auto_deficient_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school +schoolbus_ASC_auto_sufficient,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_auto_sufficient_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school,schoolbus_ASC_not_school +walk_BM_ASC,walk_BM_ASC_nonmandatory,walk_BM_ASC_nonmandatory,walk_BM_ASC_nonmandatory,walk_BM_ASC_nonmandatory,walk_BM_ASC_school_univ,walk_BM_ASC_nonmandatory,walk_BM_ASC_nonmandatory,walk_BM_ASC_school_univ,walk_BM_ASC_work,walk_BM_ASC_atwork +walk_MR_ASC,walk_MR_ASC_nonmandatory,walk_MR_ASC_nonmandatory,walk_MR_ASC_nonmandatory,walk_MR_ASC_nonmandatory,walk_MR_ASC_school_univ,walk_MR_ASC_nonmandatory,walk_MR_ASC_nonmandatory,walk_MR_ASC_school_univ,walk_MR_ASC_work,walk_MR_ASC_atwork +walk_CR_ASC,walk_CR_ASC_nonmandatory,walk_CR_ASC_nonmandatory,walk_CR_ASC_nonmandatory,walk_CR_ASC_nonmandatory,walk_CR_ASC_school_univ,walk_CR_ASC_nonmandatory,walk_CR_ASC_nonmandatory,walk_CR_ASC_school_univ,walk_CR_ASC_work,walk_CR_ASC_atwork +PNR_BM_ASC,PNR_BM_ASC_nonmandatory,PNR_BM_ASC_nonmandatory,PNR_BM_ASC_nonmandatory,PNR_BM_ASC_nonmandatory,PNR_BM_ASC_school_univ,PNR_BM_ASC_nonmandatory,PNR_BM_ASC_nonmandatory,PNR_BM_ASC_school_univ,PNR_BM_ASC_work,PNR_BM_ASC_atwork +PNR_MR_ASC,PNR_MR_ASC_nonmandatory,PNR_MR_ASC_nonmandatory,PNR_MR_ASC_nonmandatory,PNR_MR_ASC_nonmandatory,PNR_MR_ASC_school_univ,PNR_MR_ASC_nonmandatory,PNR_MR_ASC_nonmandatory,PNR_MR_ASC_school_univ,PNR_MR_ASC_work,PNR_MR_ASC_atwork +PNR_CR_ASC,PNR_CR_ASC_nonmandatory,PNR_CR_ASC_nonmandatory,PNR_CR_ASC_nonmandatory,PNR_CR_ASC_nonmandatory,PNR_CR_ASC_school_univ,PNR_CR_ASC_nonmandatory,PNR_CR_ASC_nonmandatory,PNR_CR_ASC_school_univ,PNR_CR_ASC_work,PNR_CR_ASC_atwork +KNR_BM_ASC,KNR_BM_ASC_nonmandatory,KNR_BM_ASC_nonmandatory,KNR_BM_ASC_nonmandatory,KNR_BM_ASC_nonmandatory,KNR_BM_ASC_school_univ,KNR_BM_ASC_nonmandatory,KNR_BM_ASC_nonmandatory,KNR_BM_ASC_school_univ,KNR_BM_ASC_work,KNR_BM_ASC_atwork +KNR_MR_ASC,KNR_MR_ASC_nonmandatory,KNR_MR_ASC_nonmandatory,KNR_MR_ASC_nonmandatory,KNR_MR_ASC_nonmandatory,KNR_MR_ASC_school_univ,KNR_MR_ASC_nonmandatory,KNR_MR_ASC_nonmandatory,KNR_MR_ASC_school_univ,KNR_MR_ASC_work,KNR_MR_ASC_atwork +KNR_CR_ASC,KNR_CR_ASC_nonmandatory,KNR_CR_ASC_nonmandatory,KNR_CR_ASC_nonmandatory,KNR_CR_ASC_nonmandatory,KNR_CR_ASC_school_univ,KNR_CR_ASC_nonmandatory,KNR_CR_ASC_nonmandatory,KNR_CR_ASC_school_univ,KNR_CR_ASC_work,KNR_CR_ASC_atwork diff --git a/activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork.csv new file mode 100644 index 0000000000..93d8fc4726 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork.csv @@ -0,0 +1,50 @@ +Label,Description,Expression,Coefficient +util_Female_Departure_after_1230_pm_Linear,Female - Departure after 12:30 pm - Linear,"@np.where(((df.female) & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Female_Departure_after_1230_pm_Linear +util_Parttime_worker_Departure_after_1230_pm__Linear,Part-time worker - Departure after 12:30 pm - Linear,"@np.where(((df.ptype == 2) & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Parttime_worker_Departure_after_1230_pm__Linear +util_Parttime_worker_Duration_greater_than_0p5_hours_depart_and_arrive_in_the_same_period,Part-time worker - Duration greater than 0.5 hours (depart and arrive in the same period),"@np.where(((df.ptype == 2) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Parttime_worker_Duration_greater_than_0p5_hours_depart_and_arrive_in_the_same_period +util_Low_income_lt25000_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Low income (<25000) - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.is_income_less25K) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Low_income_lt25000_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util_Med_income_25k_to_60k_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Med income (25k to 60k) - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.is_income_25K_to_60K) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Med_income_25k_to_60k_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util_Med_income_25k_to_60k_Duration_greater_than_0p5_hours,Med income (25k to 60k) - Duration greater than 0.5 hours,"@np.where(((df.is_income_25K_to_60K) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Med_income_25k_to_60k_Duration_greater_than_0p5_hours +util_Medhigh_income_60k_to_120k_Duration_greater_than_0p5_hours,Med-high income (60k to 120k) - Duration greater than 0.5 hours,"@np.where(((df.is_income_60K_to_120K) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Medhigh_income_60k_to_120k_Duration_greater_than_0p5_hours +#util_Blue_collar_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Blue collar - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.work_segment == 5) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Blue_collar_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +#util_Blue_collar_Duration_greater_than_0p5_hours,Blue collar - Duration greater than 0.5 hours,"@np.where(((df.work_segment == 5) & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Blue_collar_Duration_greater_than_0p5_hours +#util_Health_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Health - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.work_segment == 3) & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Health_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Distance to destination - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where((df.duration<1), ((np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0))) * df.od_distance, 0)",coef_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util_Distance_to_destination_Duration_greater_than_0p5_hours,Distance to destination - Duration greater than 0.5 hours,"@np.where((df.duration>1), ((np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0))) * df.od_distance, 0)",coef_Distance_to_destination_Duration_greater_than_0p5_hours +util_Subtour_purpose_Business_Departure_before_1200_pm__Linear,Subtour purpose: Business - Departure before 12:00 pm - Linear,"@np.where(((df.tour_type == 'business') & (df.start<19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Business_Departure_before_1200_pm__Linear +util_Subtour_purpose_Business_Departure_after_1230_pm_Linear,Subtour purpose: Business - Departure after 12:30 pm - Linear,"@np.where(((df.tour_type == 'business') & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Business_Departure_after_1230_pm_Linear +util_Subtour_purpose_Business_Duration_greater_than_0p5_hours,Subtour purpose: Business - Duration greater than 0.5 hours,"@np.where(((df.tour_type == 'business') & (df.duration>1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Subtour_purpose_Business_Duration_greater_than_0p5_hours +util_Subtour_purpose_Eatout_Departure_before_1200_pm__Linear,Subtour purpose: Eat-out - Departure before 12:00 pm - Linear,"@np.where(((df.tour_type == 'eat') & (df.start<19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Eatout_Departure_before_1200_pm__Linear +util_Subtour_purpose_Eatout_Departure_after_1230_pm_Linear,Subtour purpose: Eat-out - Departure after 12:30 pm - Linear,"@np.where(((df.tour_type == 'eat') & (df.start>19)), (np.where((df.start<= 19), np.minimum(19 - df.start, 48), 0) + np.where((df.start > 19), np.minimum(df.start - 19, 48), 0)), 0)",coef_Subtour_purpose_Eatout_Departure_after_1230_pm_Linear +util_Subtour_purpose_Eatout_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,Subtour purpose: Eat-out - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.tour_type == 'eat') & (df.duration<1)), (np.where((df.duration <= 1), np.minimum(1 - df.duration, 47), 0) + np.where((df.duration > 1), np.minimum(df.duration - 1, 47), 0)), 0)",coef_Subtour_purpose_Eatout_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util__Departure_constants,# Departure constants,,coef__Departure_constants +util_Shift_for_every_30_minutes_before_1030_am_Linear,Shift for every 30 minutes before 10:30 am - Linear,"@np.where((df.start<16), (np.where((df.start< 16), np.minimum(16 - df.start, 9), 0) + np.where((df.start> 21), np.minimum(df.start - 21, 11), 0)), 0)",coef_Shift_for_every_30_minutes_before_1030_am_Linear +util_Before_1100_AM,Before 11:00 AM,@(df.start<17),coef_start_Before_1100_AM +util_1100_AM_1130_AM,11:00 AM - 11:30 AM,@(df.start==17),coef_start_1100_AM_1130_AM +util_1130_AM_1200_PM,11:30 AM - 12:00 PM,@(df.start==18),coef_start_1130_AM_1200_PM +util_1200_AM_1230_PM,12:00 AM - 12:30 PM,@(df.start==19),coef_start_1200_AM_1230_PM +util_1230_PM_0100_PM,12:30 PM - 01:00 PM,@(df.start==20),coef_start_1230_PM_0100_PM +util_After_0100_PM,After 01:00 PM,@(df.start>20),coef_start_After_0100_PM +util_Shift_for_every_30_minutes_after_130_pm_Square_Root,Shift for every 30 minutes after 1:30 pm - Square Root,"@np.where((df.start>21), ((np.where((df.start < 16), np.minimum(16 - df.start, 9), 0) + np.where((df.start > 21), np.minimum(df.start - 21, 11), 0))** 0.5), 0)",coef_Shift_for_every_30_minutes_after_130_pm_Square_Root +util__Arrival_constants,# Arrival constants,,coef__Arrival_constants +util_Shift_for_every_30_minutes_before_1130_am_Linear,Shift for every 30 minutes before 11:30 am - Linear,"@np.where((df.end<18), (np.where((df.end < 14), np.minimum(14 - df.end, 9), 0) + np.where((df.end > 24), np.minimum(df.end - 24, 10), 0)), 0)",coef_Shift_for_every_30_minutes_before_1130_am_Linear +util_Before_1200_PM,Before 12:00 PM,@(df.end<19),coef_end_Before_1200_PM +util_1200_AM_1230_PM,12:00 AM - 12:30 PM,@(df.end==19),coef_end_1200_AM_1230_PM +util_1230_PM_0100_PM,12:30 PM - 01:00 PM,@(df.end==20),coef_end_1230_PM_0100_PM +util_0100_PM_0130_PM,01:00 PM - 01:30 PM,@(df.end==21),coef_end_0100_PM_0130_PM +util_0130_PM_0200_PM,01:30 PM - 02:00 PM,@(df.end==22),coef_end_0130_PM_0200_PM +util_0200_PM_0230_PM,02:00 PM - 02:30 PM,@(df.end==23),coef_end_0200_PM_0230_PM +util_After_0230_PM,After 02:30 PM,@(df.end>23),coef_end_After_0230_PM +util_Shift_for_every_30_minutes_after_300_pm_Linear,Shift for every 30 minutes after 3:00 pm - Linear,"@np.where((df.end>24), (np.where((df.end < 14), np.minimum(14 - df.end, 9), 0) + np.where((df.end > 24), np.minimum(df.end - 24, 10), 0)), 0)",coef_Shift_for_every_30_minutes_after_300_pm_Linear +util__Duration_constants,# Duration constants,,coef__Duration_constants +util_0_hrs,0 hrs,@(df.duration==0),coef_0_hrs +util_0p5_hrs,0.5 hrs,@(df.duration==1),coef_0p5_hrs +util_1_hrs,1 hrs,@(df.duration==2),coef_1_hrs +util_1p5hrs,1.5hrs,@(df.duration==3),coef_1p5hrs +util_2_hrs,2 hrs,@(df.duration==4),coef_2_hrs +util_Longer_than_2_hrs,Longer than 2 hrs,@(df.duration>4),coef_Longer_than_2_hrs +util_Shift_for_every_30_minutes_more_than_2p5_hrs_Square_Root,Shift for every 30 minutes more than 2.5 hrs - Square Root,"@np.where((df.duration>5), ((np.where((df.duration < 0), np.minimum(0 - df.duration, 47), 0) + np.where((df.duration > 5), np.minimum(df.duration - 5, 13), 0)) ** 0.5), 0)",coef_Shift_for_every_30_minutes_more_than_2p5_hrs_Square_Root +util_Calibration_Constant_Departure_eq_18,Calibration Constant - Departure = 18,@(df.start==18),coef_Calibration_Constant_Departure_eq_18 +util_Calibration_Constant_Departure_eq_19,Calibration Constant - Departure = 19,@(df.start==19),coef_Calibration_Constant_Departure_eq_19 +util_Calibration_Constant_Arrival_eq_20,Calibration Constant - Arrival = 20,@(df.end==20),coef_Calibration_Constant_Arrival_eq_20 +util_Calibration_Constant_Arrival_eq_21,Calibration Constant - Arrival = 21,@(df.end==21),coef_Calibration_Constant_Arrival_eq_21 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork.yaml b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork.yaml old mode 100755 new mode 100644 similarity index 94% rename from activitysim/examples/example_semcog/configs/tour_scheduling_atwork.yaml rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork.yaml index e1702e6e67..f04f93b8e5 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork.yaml +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork.yaml @@ -1,16 +1,16 @@ - -SPEC: tour_scheduling_atwork.csv -COEFFICIENTS: tour_scheduling_atwork_coeffs.csv - -preprocessor: - SPEC: tour_scheduling_atwork_preprocessor - DF: df -# TABLES: -# - land_use -# - tours - -SIMULATE_CHOOSER_COLUMNS: - - od_distance - -CONSTANTS: + +SPEC: tour_scheduling_atwork.csv +COEFFICIENTS: tour_scheduling_atwork_coeffs.csv + +preprocessor: + SPEC: tour_scheduling_atwork_preprocessor + DF: df +# TABLES: +# - land_use +# - tours + +SIMULATE_CHOOSER_COLUMNS: + - od_distance + +CONSTANTS: time_cap: 30 \ No newline at end of file diff --git a/activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork_coeffs.csv new file mode 100644 index 0000000000..0e7ab1acb1 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork_coeffs.csv @@ -0,0 +1,47 @@ +coefficient_name,value,constrain +coef_Female_Departure_after_1230_pm_Linear,0.05574558,F +coef_Parttime_worker_Departure_after_1230_pm__Linear,0.129291333,F +coef_Parttime_worker_Duration_greater_than_0p5_hours_depart_and_arrive_in_the_same_period,0.162008704,F +coef_Low_income_lt25000_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,0.885322446,F +coef_Med_income_25k_to_60k_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,0.526935246,F +coef_Med_income_25k_to_60k_Duration_greater_than_0p5_hours,-0.081917021,F +coef_Medhigh_income_60k_to_120k_Duration_greater_than_0p5_hours,-0.068358924,F +coef_Blue_collar_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,1.191378628,F +coef_Blue_collar_Duration_greater_than_0p5_hours,0.123072852,F +coef_Health_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,0.791205377,F +coef_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,-0.292363361,F +coef_Distance_to_destination_Duration_greater_than_0p5_hours,0.006885922,F +coef_Subtour_purpose_Business_Departure_before_1200_pm__Linear,0.268963895,F +coef_Subtour_purpose_Business_Departure_after_1230_pm_Linear,0.17631122,F +coef_Subtour_purpose_Business_Duration_greater_than_0p5_hours,0.362189199,F +coef_Subtour_purpose_Eatout_Departure_before_1200_pm__Linear,-0.250770206,F +coef_Subtour_purpose_Eatout_Departure_after_1230_pm_Linear,-0.169861029,F +coef_Subtour_purpose_Eatout_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,-0.678939929,F +coef_Shift_for_every_30_minutes_before_1030_am_Linear,-0.731880037,F +coef_start_Before_1100_AM,-2.176744062,F +coef_start_1100_AM_1130_AM,-1.190017952,F +coef_start_1130_AM_1200_PM,-0.198229872,F +coef_start_1200_AM_1230_PM,0,T +coef_start_1230_PM_0100_PM,-0.084950396,F +coef_start_After_0100_PM,-0.205562723,F +coef_Shift_for_every_30_minutes_after_130_pm_Square_Root,0.539088697,F +coef_Shift_for_every_30_minutes_before_1130_am_Linear,0.414546555,F +coef_end_Before_1200_PM,0.279351638,F +coef_end_1200_AM_1230_PM,-0.045281832,F +coef_end_1230_PM_0100_PM,0.214070736,F +coef_end_0100_PM_0130_PM,0,T +coef_end_0130_PM_0200_PM,-0.69742748,F +coef_end_0200_PM_0230_PM,-1.284283533,F +coef_end_After_0230_PM,-2.119733896,F +coef_Shift_for_every_30_minutes_after_300_pm_Linear,-0.508006414,F +coef_0_hrs,-0.969734874,F +coef_0p5_hrs,0,T +coef_1_hrs,0.177457256,F +coef_1p5hrs,-0.171124657,F +coef_2_hrs,-0.4678094,F +coef_Longer_than_2_hrs,-0.523935526,F +coef_Shift_for_every_30_minutes_more_than_2p5_hrs_Square_Root,-0.424301372,F +coef_Calibration_Constant_Departure_eq_18,-0.045958531,F +coef_Calibration_Constant_Departure_eq_19,-0.099009925,F +coef_Calibration_Constant_Arrival_eq_20,-0.0698094,F +coef_Calibration_Constant_Arrival_eq_21,-0.064355276,F diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork_preprocessor.csv old mode 100755 new mode 100644 similarity index 97% rename from activitysim/examples/example_semcog/configs/tour_scheduling_atwork_preprocessor.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork_preprocessor.csv index 7a009186f4..26ac917ae5 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_atwork_preprocessor.csv +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_atwork_preprocessor.csv @@ -1,3 +1,3 @@ -Description,Target,Expression -#,, -local scalar distance skim,od_distance,"od_skims[('SOV_DIST', 'MD')]" +Description,Target,Expression +#,, +local scalar distance skim,od_distance,"od_skims[('SOV_DIST', 'MD')]" diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_joint.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_joint.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/tour_scheduling_joint.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_joint.csv index 0a2409ad80..a9f0a51860 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_joint.csv +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_joint.csv @@ -1,315 +1,315 @@ -Label,Description,Expression,Coefficient -,,, -#ESCORT,#ESCORT,,ESCORT -util_escort_Mode_Choice_Logsum,ESCORT - Mode Choice Logsum,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort')), df.mode_choice_logsum, 0)",coef_escort_Mode_Choice_Logsum -util_escort_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,ESCORT - Distance to destination - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration<1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0))),0)",coef_escort_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period -util_escort_Distance_to_destination_Duration_greater_than_0p5_hours,ESCORT - Distance to destination - Duration greater than 0.5 hours,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>1)), ((df.origin_to_destination_distance) * (np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_Distance_to_destination_Duration_greater_than_0p5_hours -util_escort_Fulltime_worker_Departure_after_8_00_am_Linear,ESCORT - Full-time worker - Departure after 8:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)),0)",coef_escort_Fulltime_worker_Departure_after_8_00_am_Linear -util_escort_Fulltime_worker_Departure_after_3_00_am_Linear,ESCORT - Full-time worker - Departure after 3:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Fulltime_worker_Departure_after_3_00_am_Linear -util_escort_Fulltime_worker_Duration_lt_0p5_hrs,ESCORT - Full-time worker - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Fulltime_worker_Duration_lt_0p5_hrs -util_escort_Fulltime_worker_Duration_gt_0p5_hrs,ESCORT - Full-time worker - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Fulltime_worker_Duration_gt_0p5_hrs -util_escort_University_student_Duration_lt_0p5_hrs,ESCORT - University student - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 3) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_University_student_Duration_lt_0p5_hrs -util_escort_Nondriving_age_student_Duration_gt_0p5_hrs,ESCORT - Non-driving age student - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & ((df.ptype == 7)|(df.ptype == 8)) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Nondriving_age_student_Duration_gt_0p5_hrs -util_escort_Driving_age_student_Duration_lt_0p5_hrs,ESCORT - Driving age student - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 6) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Driving_age_student_Duration_lt_0p5_hrs -util_escort_Driving_age_student_Duration_gt_0p5_hrs,ESCORT - Driving age student - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 6) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Driving_age_student_Duration_gt_0p5_hrs -util_escort_Preschool_kid_Duration_gt_0p5_hrs,ESCORT - Pre-school kid - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 8) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Preschool_kid_Duration_gt_0p5_hrs -util_escort_Medhigh_income_60k_to_120k_Duration_gt_0p5_hrs,ESCORT - Med-high income (60k to 120k) - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.is_income_60K_to_120K) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Medhigh_income_60k_to_120k_Duration_gt_0p5_hrs -util_escort_Households_with_no_kids_Dummy_1_0_Departure_before_7_30_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 7:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start<10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_7_30_AM -util_escort_Households_with_no_kids_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_8_00_AM -util_escort_Households_with_no_kids_Dummy_1_0_Departure_before_2_30_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 2:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start<24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_2_30_PM -util_escort_Households_with_no_kids_Dummy_1_0_Departure_after_3_00_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where ((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_3_00_PM -util_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_8_00_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_8_00_AM -util_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_8_30_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_8_30_AM -util_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_3_00_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_3_00_PM -util_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_3_30_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_3_30_PM -util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start >10)), (np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM -util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_3_00_PM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>24)), (np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_3_00_PM -util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_8_00_AM,"ESCORT -Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_8_00_AM -util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_3_00_PM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_3_00_PM -util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.start>10)), (np.where ((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM -util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_8_30_AM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>11)), (np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_8_30_AM -util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_3_30_PM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) &( df.end>25)), (np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_3_30_PM -util_escort_Number_of_autos_greater_than_number_of_adults_Duration_gt_0p5_hrs,ESCORT - Number of autos greater than number of adults - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Number_of_autos_greater_than_number_of_adults_Duration_gt_0p5_hrs -#FIXME_Number_of_nonescort_tours_is_not_known_until_the_nonmandatory_frequency_model_is_run,#FIXME - Number of non-escort tours is not known until the non-mandatory frequency model is run,,FIXME_Number_of_nonescort_tours_is_not_known_until_the_nonmandatory_frequency_model_is_run -#util_escort_Number_of_Individual_Tours_excluding_escorting_Duration_gt_0p5_hrs,#ESCORT - Number of Individual Tours (excluding escorting) - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type != 'escort') & (df.num_non_escort_tours > 0) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Number_of_Individual_Tours_excluding_escorting_Duration_gt_0p5_hrs -util_escort_Number_of_joint_tours_Duration_gt_0p5_hrs,ESCORT - Number of joint tours - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) *(df.num_joint_tours), 0)",coef_escort_Number_of_joint_tours_Duration_gt_0p5_hrs -util_escort_Departure_Constant_Shift_for_every_30_minutes_before_06_30_am_Linear,ESCORT - Departure Constant: Shift for every 30 minutes before 06:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start<8)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + np.where((df.start>13), np.minimum(df.start-13,28), 0)), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_before_06_30_am_Linear -util_escort_Departure_Constant_Before_07_00_AM,ESCORT - Departure Constant: Before 07:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start<9)),coef_escort_Departure_Constant_Before_07_00_AM -util_escort_Departure_Constant_07_00_AM_07_30_AM,ESCORT - Departure Constant: 07:00 AM - 07:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==9)),coef_escort_Departure_Constant_07_00_AM_07_30_AM -util_escort_Departure_Constant_07_30_AM_08_00_AM,ESCORT - Departure Constant: 07:30 AM - 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==10)),coef_escort_Departure_Constant_07_30_AM_08_00_AM -util_escort_Departure_Constant_08_00_AM_08_30_AM,ESCORT - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==11)),coef_escort_Departure_Constant_08_00_AM_08_30_AM -util_escort_Departure_Constant_08_30_AM_09_00_AM,ESCORT - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==12)),coef_escort_Departure_Constant_08_30_AM_09_00_AM -util_escort_Departure_Constant_After_09_00_AM,ESCORT - Departure Constant: After 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>12)),coef_escort_Departure_Constant_After_09_00_AM -util_escort_Departure_Constant_01_30_PM_02_00_PM,ESCORT - Departure Constant: 01:30 PM - 02:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==22)),coef_escort_Departure_Constant_01_30_PM_02_00_PM -util_escort_Departure_Constant_02_00_PM_02_30_PM,ESCORT - Departure Constant: 02:00 PM - 02:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==23)),coef_escort_Departure_Constant_02_00_PM_02_30_PM -util_escort_Departure_Constant_02_30_PM_03_00_PM,ESCORT - Departure Constant: 02:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==24)),coef_escort_Departure_Constant_02_30_PM_03_00_PM -util_escort_Departure_Constant_03_00_PM_03_30_PM,ESCORT - Departure Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==25)),coef_escort_Departure_Constant_03_00_PM_03_30_PM -util_escort_Departure_Constant_After_03_30_PM,ESCORT - Departure Constant: After 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>25)),coef_escort_Departure_Constant_After_03_30_PM -util_escort_Departure_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,ESCORT - Departure Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>13)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + (np.where((df.start>13), np.minimum(df.start-13,28), 0))), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear -util_escort_Departure_Constant_Shift_for_every_30_minutes_after_4_00_pm_Linear,ESCORT - Departure Constant: Shift for every 30 minutes after 4:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>26)), (np.where((df.start<0), np.minimum(0-df.start,48), 0) + np.where((df.start>26), np.minimum(df.start-26,15),0)), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_4_00_pm_Linear -util_escort_Arrival_Constant_Shift_for_every_30_minutes_before_6_30_am_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes before 6:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end<8)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_before_6_30_am_Linear -util_escort_Arrival_Constant_Before_07_00_AM,ESCORT - Arrival Constant: Before 07:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end<9)),coef_escort_Arrival_Constant_Before_07_00_AM -util_escort_Arrival_Constant_07_00_AM_07_30_AM,ESCORT - Arrival Constant: 07:00 AM - 07:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==9)),coef_escort_Arrival_Constant_07_00_AM_07_30_AM -util_escort_Arrival_Constant_07_30_AM_08_00_AM,ESCORT - Arrival Constant: 07:30 AM - 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==10)),coef_escort_Arrival_Constant_07_30_AM_08_00_AM -util_escort_Arrival_Constant_08_00_AM_08_30_AM,ESCORT - Arrival Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==11)),coef_escort_Arrival_Constant_08_00_AM_08_30_AM -util_escort_Arrival_Constant_08_30_AM_09_00_AM,ESCORT - Arrival Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==12)),coef_escort_Arrival_Constant_08_30_AM_09_00_AM -util_escort_Arrival_Constant_After_09_00_AM,ESCORT - Arrival Constant: After 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>12)),coef_escort_Arrival_Constant_After_09_00_AM -util_escort_Arrival_Constant_02_30_PM_03_00_PM,ESCORT - Arrival Constant: 02:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==24)),coef_escort_Arrival_Constant_02_30_PM_03_00_PM -util_escort_Arrival_Constant_03_00_PM_03_30_PM,ESCORT - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==25)),coef_escort_Arrival_Constant_03_00_PM_03_30_PM -util_escort_Arrival_Constant_03_30_PM_04_00_PM,ESCORT - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==26)),coef_escort_Arrival_Constant_03_30_PM_04_00_PM -util_escort_Arrival_Constant_04_00_PM_04_30_PM,ESCORT - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==27)),coef_escort_Arrival_Constant_04_00_PM_04_30_PM -util_escort_Arrival_Constant_After_04_30_PM,ESCORT - Arrival Constant: After 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>27)),coef_escort_Arrival_Constant_After_04_30_PM -util_escort_Arrival_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>13)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear -util_escort_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>28)), (np.where((df.end<0), np.minimum(0-df.end,48), 0) + np.where((df.start>28), np.minimum(df.end-28,15), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear -util_escort_Duration_Constant_0_hrs,ESCORT - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==0)),coef_escort_Duration_Constant_0_hrs -util_escort_Duration_Constant_0p5_hrs,ESCORT - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==1)),coef_escort_Duration_Constant_0p5_hrs -util_escort_Duration_Constant_1_hrs,ESCORT - Duration Constant: 1 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==2)),coef_escort_Duration_Constant_1_hrs -util_escort_Duration_Constant_1p5hrs,ESCORT - Duration Constant: 1.5hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==3)),coef_escort_Duration_Constant_1p5hrs -util_escort_Duration_Constant_2_hrs,ESCORT - Duration Constant: 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==4)),coef_escort_Duration_Constant_2_hrs -util_escort_Duration_Constant_Longer_than_2_hrs,ESCORT - Duration Constant: Longer than 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>4)),coef_escort_Duration_Constant_Longer_than_2_hrs -util_escort_Calibration_Constant_Duration_eq_1,ESCORT - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==0)),coef_escort_Calibration_Constant_Duration_eq_1 -util_escort_Calibration_Constant_Duration_eq_2,ESCORT - Calibration Constant - Duration = 2,@(((df.tour_category == 'joint') & (df.tour_type == 'escort') & df.duration==1)),coef_escort_Calibration_Constant_Duration_eq_2 -util_escort_Calibration_Constant_Departure_eq_9,ESCORT - Calibration Constant - Departure = 9,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==9)),coef_escort_Calibration_Constant_Departure_eq_9 -util_escort_Calibration_Constant_Departure_eq_10,ESCORT - Calibration Constant - Departure = 10,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==10)),coef_escort_Calibration_Constant_Departure_eq_10 -util_escort_Calibration_Constant_Departure_eq_23,ESCORT - Calibration Constant - Departure = 23,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==23)),coef_escort_Calibration_Constant_Departure_eq_23 -util_escort_Calibration_Constant_Departure_eq_24,ESCORT - Calibration Constant - Departure = 24,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==24)),coef_escort_Calibration_Constant_Departure_eq_24 -#SHOPPING,#SHOPPING,,SHOPPING -util_shop_Joint_Shopping_tours_dummy_Departure_before_10_00_AM_Linear,SHOPPING - Joint Shopping tours dummy: Departure before 10:00 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_shop_Joint_Shopping_tours_dummy_Departure_before_10_00_AM_Linear -util_shop_Joint_Shopping_tours_dummy_Departure_after_10_30_AM_Linear,SHOPPING - Joint Shopping tours dummy: Departure after 10:30 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_shop_Joint_Shopping_tours_dummy_Departure_after_10_30_AM_Linear -util_shop_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,SHOPPING - Joint Tours Party Size > 2: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs -util_shop_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,SHOPPING - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.number_of_participants > 2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shop_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr -util_shop_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,SHOPPING - Joint Tour with only adults: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.composition=='adults')), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs -util_shop_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,SHOPPING - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Kids_in_Joint_Tour_Duration_lt_1p5_hrs -util_shop_Kids_in_Joint_Tour_Duration_gt_1p5_hr,SHOPPING - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shop_Kids_in_Joint_Tour_Duration_gt_1p5_hr -util_shop_Low_Income_lteq25_000_Duration_gt_1p5_hr,"SHOPPING - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_less25K) & (df.duration>3)), (np.where((df.duration>3),np.minimum(df.duration-3,27), 0)), 0)",coef_shop_Low_Income_lteq25_000_Duration_gt_1p5_hr -util_shop_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,"SHOPPING - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_25K_to_60K) & (df.duration<3)), (np.where((df.duration>3),np.minimum(df.duration-3,27), 0)), 0)",coef_shop_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs -util_shop_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,"SHOPPING - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_60K_to_120K) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,27), 0)), 0)",coef_shop_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr -util_shop_Distance_Duration_lt_1p5_hrs,SHOPPING - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)) * (df.origin_to_destination_distance), 0)",coef_shop_Distance_Duration_lt_1p5_hrs -util_shop_Distance_Duration_gt_1p5_hr,SHOPPING - Distance: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2)), ((np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance)), 0)",coef_shop_Distance_Duration_gt_1p5_hr -util_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear -util_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Square_root,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Square root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0))**0.5, 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Square_root -util_shop_Departure_Constant_Before_09_00_AM,SHOPPING - Departure Constant: Before 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<13)),coef_shop_Departure_Constant_Before_09_00_AM -util_shop_Departure_Constant_09_00_AM_09_30_AM,SHOPPING - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==13)),coef_shop_Departure_Constant_09_00_AM_09_30_AM -util_shop_Departure_Constant_09_30_AM_10_00_AM,SHOPPING - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==14)),coef_shop_Departure_Constant_09_30_AM_10_00_AM -util_shop_Departure_Constant_10_00_AM_10_30_AM,SHOPPING - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==15)),coef_shop_Departure_Constant_10_00_AM_10_30_AM -util_shop_Departure_Constant_10_30_AM_11_00_AM,SHOPPING - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==16)),coef_shop_Departure_Constant_10_30_AM_11_00_AM -util_shop_Departure_Constant_After_11_00_AM,SHOPPING - Departure Constant: After 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>16)),coef_shop_Departure_Constant_After_11_00_AM -util_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>17)), (np.where((df.start<12), np.minimum(12-df.start,7),0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear -util_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>17)), ((np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared -util_shop_Arrival_Constant_Shift_for_every_30_minutes_before_12_00_pm_Linear,SHOPPING - Arrival Constant: Shift for every 30 minutes before 12:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end<19)), (np.where ((df.end<19), np.minimum(19-df.end,10), 0) + np.where((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shop_Arrival_Constant_Shift_for_every_30_minutes_before_12_00_pm_Linear -util_shop_Arrival_Constant_Before_12_30_PM,SHOPPING - Arrival Constant: Before 12:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end<20)),coef_shop_Arrival_Constant_Before_12_30_PM -util_shop_Arrival_Constant_12_30_PM_03_00_PM,SHOPPING - Arrival Constant: 12:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & ( df.end>=20) & (df.end<=24)),coef_shop_Arrival_Constant_12_30_PM_03_00_PM -util_shop_Arrival_Constant_03_00_PM_03_30_PM,SHOPPING - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==25)),coef_shop_Arrival_Constant_03_00_PM_03_30_PM -util_shop_Arrival_Constant_03_30_PM_04_00_PM,SHOPPING - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==26)),coef_shop_Arrival_Constant_03_30_PM_04_00_PM -util_shop_Arrival_Constant_04_00_PM_04_30_PM,SHOPPING - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==27)),coef_shop_Arrival_Constant_04_00_PM_04_30_PM -util_shop_Arrival_Constant_04_30_PM_05_00_PM,SHOPPING - Arrival Constant: 04:30 PM - 05:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==28)),coef_shop_Arrival_Constant_04_30_PM_05_00_PM -util_shop_Arrival_Constant_05_00_PM_05_30_PM,SHOPPING - Arrival Constant: 05:00 PM - 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==29)),coef_shop_Arrival_Constant_05_00_PM_05_30_PM -util_shop_Arrival_Constant_05_30_PM_07_00_PM,SHOPPING - Arrival Constant: 05:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>=30) & (df.end<=32)),coef_shop_Arrival_Constant_05_30_PM_07_00_PM -util_shop_Arrival_Constant_07_00_PM_09_30_PM,SHOPPING - Arrival Constant: 07:00 PM - 09:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>=33) & (df.end<=37)),coef_shop_Arrival_Constant_07_00_PM_09_30_PM -util_shop_Arrival_Constant_After_09_30_PM,SHOPPING - Arrival Constant: After 09:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>37)),coef_shop_Arrival_Constant_After_09_30_PM -util_shop_Arrival_Constant_Shift_for_every_30_minutes_after_10_00_pm_Linear,SHOPPING - Arrival Constant: Shift for every 30 minutes after 10:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>38)), (np.where((df.end<19), np.minimum(19-df.end,10), 0) + np.where ((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shop_Arrival_Constant_Shift_for_every_30_minutes_after_10_00_pm_Linear -util_shop_Duration_Constant_0_hrs,SHOPPING - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==0)),coef_shop_Duration_Constant_0_hrs -util_shop_Duration_Constant_0p5_hrs,SHOPPING - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==1)),coef_shop_Duration_Constant_0p5_hrs -util_shop_Duration_Constant_1_hrs,SHOPPING - Duration Constant: 1 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==2)),coef_shop_Duration_Constant_1_hrs -util_shop_Duration_Constant_1p5hrs,SHOPPING - Duration Constant: 1.5hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==3)),coef_shop_Duration_Constant_1p5hrs -util_shop_Duration_Constant_2_hrs,SHOPPING - Duration Constant: 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==4)),coef_shop_Duration_Constant_2_hrs -util_shop_Duration_Constant_Longer_than_2_hrs,SHOPPING - Duration Constant: Longer than 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>4)),coef_shop_Duration_Constant_Longer_than_2_hrs -util_shop_Duration_Constant_Duration_gt_2p5_hrs_Linear,SHOPPING - Duration Constant: Duration > 2.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)), 0)",coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Linear -util_shop_Duration_Constant_Duration_gt_2p5_hrs_Square_root,SHOPPING - Duration Constant: Duration > 2.5 hrs - Square root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>5)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)) ** 0.5), 0)",coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Square_root -util_shop_Calibration_Constant_Duration_eq_1,SHOPPING - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==0)),coef_shop_Calibration_Constant_Duration_eq_1 -util_shop_Calibration_Constant_Duration_eq_2,SHOPPING - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==1)),coef_shop_Calibration_Constant_Duration_eq_2 -util_shop_Calibration_Constant_Duration_eq_3,SHOPPING - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==2)),coef_shop_Calibration_Constant_Duration_eq_3 -#MAINTENANCE,#MAINTENANCE,,MAINTENANCE -util_maint_Joint_Maintenance_tours_dummy_Departure_before_10_00_AM_Linear,MAINTENANCE - Joint Maintenance tours dummy: Departure before 10:00 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_maint_Joint_Maintenance_tours_dummy_Departure_before_10_00_AM_Linear -util_maint_Joint_Maintenance_tours_dummy_Departure_after_10_30_AM_Linear,MAINTENANCE - Joint Maintenance tours dummy: Departure after 10:30 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_maint_Joint_Maintenance_tours_dummy_Departure_after_10_30_AM_Linear -util_maint_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,MAINTENANCE - Joint Tours Party Size > 2: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs -util_maint_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,MAINTENANCE - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.number_of_participants > 2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr -util_maint_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,MAINTENANCE - Joint Tour with only adults: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.composition=='adults')), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs -util_maint_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,MAINTENANCE - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Kids_in_Joint_Tour_Duration_lt_1p5_hrs -util_maint_Kids_in_Joint_Tour_Duration_gt_1p5_hr,MAINTENANCE - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Kids_in_Joint_Tour_Duration_gt_1p5_hr -util_maint_Low_Income_lteq25_000_Duration_gt_1p5_hr,"MAINTENANCE - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Low_Income_lteq25_000_Duration_gt_1p5_hr -util_maint_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs -util_maint_Medium_Income_25_001_to_60_000_Duration_gt_1p5_hr,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Medium_Income_25_001_to_60_000_Duration_gt_1p5_hr -util_maint_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,"MAINTENANCE - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maint_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr -util_maint_Distance_Duration_lt_1p5_hrs,MAINTENANCE - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)) *(df.origin_to_destination_distance), 0)",coef_maint_Distance_Duration_lt_1p5_hrs -util_maint_Distance_Duration_gt_1p5_hr,MAINTENANCE - Distance: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_maint_Distance_Duration_gt_1p5_hr -util_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<10)), (np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Linear -util_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Square_Root,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Square Root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<10)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + (np.where((df.start>17), np.minimum(df.start-17,24), 0)))** 0.5), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Square_Root -util_maint_Departure_Constant_Before_08_00_AM,MAINTENANCE - Departure Constant: Before 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<11)),coef_maint_Departure_Constant_Before_08_00_AM -util_maint_Departure_Constant_08_00_AM_08_30_AM,MAINTENANCE - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==11)),coef_maint_Departure_Constant_08_00_AM_08_30_AM -util_maint_Departure_Constant_08_30_AM_09_00_AM,MAINTENANCE - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==12)),coef_maint_Departure_Constant_08_30_AM_09_00_AM -util_maint_Departure_Constant_09_00_AM_09_30_AM,MAINTENANCE - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==13)),coef_maint_Departure_Constant_09_00_AM_09_30_AM -util_maint_Departure_Constant_09_30_AM_10_00_AM,MAINTENANCE - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==14)),coef_maint_Departure_Constant_09_30_AM_10_00_AM -util_maint_Departure_Constant_10_00_AM_10_30_AM,MAINTENANCE - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==15)),coef_maint_Departure_Constant_10_00_AM_10_30_AM -util_maint_Departure_Constant_10_30_AM_11_00_AM,MAINTENANCE - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==16)),coef_maint_Departure_Constant_10_30_AM_11_00_AM -util_maint_Departure_Constant_After_11_00_AM,MAINTENANCE - Departure Constant: After 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>16)),coef_maint_Departure_Constant_After_11_00_AM -util_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>17)), np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear -util_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>17)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared -util_maint_Arrival_Constant_Shift_for_every_30_minutes_before_10_00_am_Linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes before 10:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end<15)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maint_Arrival_Constant_Shift_for_every_30_minutes_before_10_00_am_Linear -util_maint_Arrival_Constant_Before_10_30_AM,MAINTENANCE - Arrival Constant: Before 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end<16)),coef_maint_Arrival_Constant_Before_10_30_AM -util_maint_Arrival_Constant_10_30_AM_11_00_AM,MAINTENANCE - Arrival Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==16)),coef_maint_Arrival_Constant_10_30_AM_11_00_AM -util_maint_Arrival_Constant_11_00_AM_11_30_AM,MAINTENANCE - Arrival Constant: 11:00 AM - 11:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==17)),coef_maint_Arrival_Constant_11_00_AM_11_30_AM -util_maint_Arrival_Constant_11_30_AM_01_30_PM,MAINTENANCE - Arrival Constant: 11:30 AM - 01:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=18) & (df.end<=21)),coef_maint_Arrival_Constant_11_30_AM_01_30_PM -util_maint_Arrival_Constant_01_30_PM_02_30_PM,MAINTENANCE - Arrival Constant: 01:30 PM - 02:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=22) & (df.end<=23)),coef_maint_Arrival_Constant_01_30_PM_02_30_PM -util_maint_Arrival_Constant_02_30_PM_04_00_PM,MAINTENANCE - Arrival Constant: 02:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=24) & (df.end<=26)),coef_maint_Arrival_Constant_02_30_PM_04_00_PM -util_maint_Arrival_Constant_04_00_PM_04_30_PM,MAINTENANCE - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==27)),coef_maint_Arrival_Constant_04_00_PM_04_30_PM -util_maint_Arrival_Constant_After_04_30_PM,MAINTENANCE - Arrival Constant: After 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>27)),coef_maint_Arrival_Constant_After_04_30_PM -util_maint_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>28)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maint_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear -util_maint_Duration_Constant_0_hrs,MAINTENANCE - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==0)),coef_maint_Duration_Constant_0_hrs -util_maint_Duration_Constant_0p5_hrs,MAINTENANCE - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==1)),coef_maint_Duration_Constant_0p5_hrs -util_maint_Duration_Constant_Longer_than_0p5_hrs,MAINTENANCE - Duration Constant: Longer than 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>1)),coef_maint_Duration_Constant_Longer_than_0p5_hrs -util_maint_Duration_Constant_Duration_gt_1_hrs_Linear,MAINTENANCE - Duration Constant: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Duration_Constant_Duration_gt_1_hrs_Linear -util_maint_Duration_Constant_Duration_gt_1_hrs_Square_Root,MAINTENANCE - Duration Constant: Duration > 1 hrs - Square Root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0))** 0.5), 0)",coef_maint_Duration_Constant_Duration_gt_1_hrs_Square_Root -util_maint_Calibration_Constant_Duration_eq_1,MAINTENANCE - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==0)),coef_maint_Calibration_Constant_Duration_eq_1 -util_maint_Calibration_Constant_Duration_eq_2,MAINTENANCE - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==1)),coef_maint_Calibration_Constant_Duration_eq_2 -util_maint_Calibration_Constant_Duration_eq_3,MAINTENANCE - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==2)),coef_maint_Calibration_Constant_Duration_eq_3 -util_maint_Calibration_Constant_Duration_eq_4,MAINTENANCE - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==3)),coef_maint_Calibration_Constant_Duration_eq_4 -util_maint_Calibration_Constant_Duration_eq_5,MAINTENANCE - Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==4)),coef_maint_Calibration_Constant_Duration_eq_5 -#EATOUT,#EAT-OUT,,EATOUT -util_eatout_Distance_to_destination_Duration_lt_1_hrs,EAT-OUT - Distance to destination - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)) * (df.origin_to_destination_distance), 0)",coef_eatout_Distance_to_destination_Duration_lt_1_hrs -util_eatout_Distance_to_destination_Duration_gt_1_hrs,EAT-OUT - Distance to destination - Duration > 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) *(df.origin_to_destination_distance), 0)",coef_eatout_Distance_to_destination_Duration_gt_1_hrs -util_eatout_Low_income_lt25000_Duration_lt_1_hrs,EAT-OUT - Low income (<25000) - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.is_income_less25K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Low_income_lt25000_Duration_lt_1_hrs -util_eatout_Medium_25k_to_60k_Duration_lt_1_hrs,EAT-OUT - Medium (25k to 60k) - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Medium_25k_to_60k_Duration_lt_1_hrs -util_eatout_Zero_auto_HH_Duration_gt_1_hrs,EAT-OUT - Zero auto HH - Duration > 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.auto_ownership == 0) & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_Zero_auto_HH_Duration_gt_1_hrs -util_eatout_Kids_in_Joint_tour_Duration_lt_1_hrs,EAT-OUT - Kids in Joint tour - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Kids_in_Joint_tour_Duration_lt_1_hrs -util_eatout_Joint_Tours_Party_Size_greater_than_2_Duration_lt_1_hrs,EAT-OUT - Joint Tours Party Size greater than 2 - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Joint_Tours_Party_Size_greater_than_2_Duration_lt_1_hrs -util_eatout_Departure_Constant_11_00_AM_12_00_PM,EAT-OUT - Departure Constant: 11:00 AM - 12:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>=17) & (df.start<=18)),coef_eatout_Departure_Constant_11_00_AM_12_00_PM -util_eatout_Departure_Constant_12_00_PM_12_30_PM,EAT-OUT - Departure Constant: 12:00 PM - 12:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==19),coef_eatout_Departure_Constant_12_00_PM_12_30_PM -util_eatout_Departure_Constant_12_30_PM_to_01_00_PM,EAT-OUT - Departure Constant: 12:30 PM to 01:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==20),coef_eatout_Departure_Constant_12_30_PM_to_01_00_PM -util_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,EAT-OUT - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start<29)), (np.where((df.start<29), np.minimum(29-df.start,20), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear -util_eatout_Departure_Constant_Before_05_30_PM,EAT-OUT - Departure Constant: Before 05:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start<30),coef_eatout_Departure_Constant_Before_05_30_PM -util_eatout_Departure_Constant_05_30_PM_06_00_PM,EAT-OUT - Departure Constant: 05:30 PM - 06:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==30),coef_eatout_Departure_Constant_05_30_PM_06_00_PM -util_eatout_Departure_Constant_06_00_PM_06_30_PM,EAT-OUT - Departure Constant: 06:00 PM - 06:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==31),coef_eatout_Departure_Constant_06_00_PM_06_30_PM -util_eatout_Departure_Constant_06_30_PM_07_00_PM,EAT-OUT - Departure Constant: 06:30 PM - 07:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==32),coef_eatout_Departure_Constant_06_30_PM_07_00_PM -util_eatout_Departure_Constant_07_00_PM_07_30_PM,EAT-OUT - Departure Constant: 07:00 PM - 07:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==33),coef_eatout_Departure_Constant_07_00_PM_07_30_PM -util_eatout_Departure_Constant_After_07_30_PM,EAT-OUT - Departure Constant: After 07:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>33),coef_eatout_Departure_Constant_After_07_30_PM -util_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,EAT-OUT - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>34)), (np.where((df.start<29), np.minimum(29-df.start,20), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear -util_eatout_Arrival_Constant_12_30_PM_to_01_00_PM,EAT-OUT - Arrival Constant: 12:30 PM to 01:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==20),coef_eatout_Arrival_Constant_12_30_PM_to_01_00_PM -util_eatout_Arrival_Constant_01_00_PM_to_01_30_PM,EAT-OUT - Arrival Constant: 01:00 PM to 01:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==21),coef_eatout_Arrival_Constant_01_00_PM_to_01_30_PM -util_eatout_Arrival_Constant_01_30_PM_to_02_00_PM,EAT-OUT - Arrival Constant: 01:30 PM to 02:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==22),coef_eatout_Arrival_Constant_01_30_PM_to_02_00_PM -util_eatout_Arrival_Constant_02_00_PM_to_02_30_PM,EAT-OUT - Arrival Constant: 02:00 PM to 02:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==23),coef_eatout_Arrival_Constant_02_00_PM_to_02_30_PM -util_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_30_pm_Linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes before 06:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end<32)), (np.where((df.end<32), np.minimum(32-df.end,21), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_30_pm_Linear -util_eatout_Arrival_Constant_Before_7_00_PM,EAT-OUT - Arrival Constant: Before 7:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end<33),coef_eatout_Arrival_Constant_Before_7_00_PM -util_eatout_Arrival_Constant_7_00_PM_to_7_30_PM,EAT-OUT - Arrival Constant: 7:00 PM to 7:30 PM,@(df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.end==33),coef_eatout_Arrival_Constant_7_00_PM_to_7_30_PM -util_eatout_Arrival_Constant_7_30_PM_to_8_00_PM,EAT-OUT - Arrival Constant: 7:30 PM to 8:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==34),coef_eatout_Arrival_Constant_7_30_PM_to_8_00_PM -util_eatout_Arrival_Constant_8_00_PM_to_8_30_PM,EAT-OUT - Arrival Constant: 8:00 PM to 8:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==35),coef_eatout_Arrival_Constant_8_00_PM_to_8_30_PM -util_eatout_Arrival_Constant_8_30_PM_to_9_00_PM,EAT-OUT - Arrival Constant: 8:30 PM to 9:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==36),coef_eatout_Arrival_Constant_8_30_PM_to_9_00_PM -util_eatout_Arrival_Constant_After_09_00_PM,EAT-OUT - Arrival Constant: After 09:00 PM,@(df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.end>36),coef_eatout_Arrival_Constant_After_09_00_PM -util_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_type== 'eatout') & (df.end>37) & (df.tour_category == 'joint')), (np.where((df.end<32), np.minimum(32-df.end,21), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear -util_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>6)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>6), np.minimum(df.duration-6,12), 0)), 0)",coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear -util_eatout_Duration_Constant_0_hours,EAT-OUT - Duration Constant: 0 hours,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_Duration_Constant_0_hours -util_eatout_Duration_Constant_0p5_hous,EAT-OUT - Duration Constant: 0.5 hous,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_Duration_Constant_0p5_hous -util_eatout_Duration_Constant_1_hour,EAT-OUT - Duration Constant: 1 hour,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_Duration_Constant_1_hour -util_eatout_Duration_Constant_1p5_hours,EAT-OUT - Duration Constant: 1.5 hours,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_Duration_Constant_1p5_hours -util_eatout_Duration_Constant_2_hours_or_more,EAT-OUT - Duration Constant: 2 hours or more,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>4),coef_eatout_Duration_Constant_2_hours_or_more -util_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_2p5_hrs_Linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 2.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,13), 0)), 0)",coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_2p5_hrs_Linear -util_eatout_Calibration_Constant_Duration_eq_1,EAT-OUT - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_Calibration_Constant_Duration_eq_1 -util_eatout_Calibration_Constant_Duration_eq_2,EAT-OUT - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_Calibration_Constant_Duration_eq_2 -util_eatout_Calibration_Constant_Duration_eq_3,EAT-OUT - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_Calibration_Constant_Duration_eq_3 -util_eatout_Calibration_Constant_Duration_eq_4,EAT-OUT - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_Calibration_Constant_Duration_eq_4 -util_eatout_Calibration_Constant_Departure_eq_1,EAT-OUT - Calibration Constant - Departure = 1,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start == 1)),coef_eatout_Calibration_Constant_Departure_eq_1 -util_eatout_Calibration_Constant_Departure_eq_2,EAT-OUT - Calibration Constant - Departure = 2,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start == 2)),coef_eatout_Calibration_Constant_Departure_eq_2 -util_eatout_Calibration_Constant_Departure_eq_3,EAT-OUT - Calibration Constant - Departure = 3,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.start == 3)),coef_eatout_Calibration_Constant_Departure_eq_3 -util_eatout_Calibration_Constant_Departure_eq_17,EAT-OUT - Calibration Constant - Departure = 17,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==17)),coef_eatout_Calibration_Constant_Departure_eq_17 -util_eatout_Calibration_Constant_Departure_eq_18,EAT-OUT - Calibration Constant - Departure = 18,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.start ==18)),coef_eatout_Calibration_Constant_Departure_eq_18 -util_eatout_Calibration_Constant_Departure_eq_19,EAT-OUT - Calibration Constant - Departure = 19,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==19)),coef_eatout_Calibration_Constant_Departure_eq_19 -util_eatout_Calibration_Constant_Departure_eq_20,EAT-OUT - Calibration Constant - Departure = 20,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==20)),coef_eatout_Calibration_Constant_Departure_eq_20 -util_eatout_Calibration_Constant_Departure_eq_21,EAT-OUT - Calibration Constant - Departure = 21,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==21)),coef_eatout_Calibration_Constant_Departure_eq_21 -#SOCIAL,#SOCIAL,,SOCIAL -util_social_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,SOCIAL - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.retired_adults_only_hh) & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear -util_social_Zero_auto_households_Duration_lt_1p5_hrs_Linear,SOCIAL - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Zero_auto_households_Duration_lt_1p5_hrs_Linear -util_social_Zero_auto_households_Duration_gt_1p5_hrs_Linear,SOCIAL - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Zero_auto_households_Duration_gt_1p5_hrs_Linear -util_social_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,SOCIAL - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint')&(df.tour_type == 'social') & (df.auto_ownership > 0) &(df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_social_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear -util_social_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,SOCIAL - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear -util_social_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,SOCIAL - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_social_Kids_in_Joint_Tour_Duration_lt_1p5_hrs -util_social_Kids_in_Joint_Tour_Duration_gt_1p5_hr,SOCIAL - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_Kids_in_Joint_Tour_Duration_gt_1p5_hr -util_social_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,SOCIAL - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3) & (df.number_of_participants > 2)), (np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr -util_social_Auto_Distance_Duration_lt_1_hrs_Linear,SOCIAL - Auto Distance: Duration < 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) * (df.origin_to_destination_distance)), 0) ",coef_social_Auto_Distance_Duration_lt_1_hrs_Linear -util_social_Auto_Distance_Duration_gt_1_hrs_Linear,SOCIAL - Auto Distance: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0) * (df.origin_to_destination_distance)), 0)",coef_social_Auto_Distance_Duration_gt_1_hrs_Linear -util_social_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear -util_social_Departure_Constant_Before_09_00_AM,SOCIAL - Departure Constant: Before 09:00 AM,@(df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<13),coef_social_Departure_Constant_Before_09_00_AM -util_social_Departure_Constant_09_00_AM_to_09_30_AM,SOCIAL - Departure Constant: 09:00 AM to 09:30 AM,@(df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==13),coef_social_Departure_Constant_09_00_AM_to_09_30_AM -util_social_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<29), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear -util_social_Departure_Constant_Before_05_30_PM,SOCIAL - Departure Constant: Before 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<30)),coef_social_Departure_Constant_Before_05_30_PM -util_social_Departure_Constant_05_30_PM_06_00_PM,SOCIAL - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==30)),coef_social_Departure_Constant_05_30_PM_06_00_PM -util_social_Departure_Constant_06_00_PM_06_30_PM,SOCIAL - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==31)),coef_social_Departure_Constant_06_00_PM_06_30_PM -util_social_Departure_Constant_06_30_PM_07_00_PM,SOCIAL - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==32)),coef_social_Departure_Constant_06_30_PM_07_00_PM -util_social_Departure_Constant_07_00_PM_07_30_PM,SOCIAL - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==33)),coef_social_Departure_Constant_07_00_PM_07_30_PM -util_social_Departure_Constant_After_07_30_PM,SOCIAL - Departure Constant: After 07:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start>33)),coef_social_Departure_Constant_After_07_30_PM -util_social_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start>34), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear -util_social_Arrival_Constant_03_00_PM_to_03_30_PM,SOCIAL - Arrival Constant: 03:00 PM to 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==25)),coef_social_Arrival_Constant_03_00_PM_to_03_30_PM -util_social_Arrival_Constant_03_30_PM_to_04_00_PM,SOCIAL - Arrival Constant: 03:30 PM to 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==26)),coef_social_Arrival_Constant_03_30_PM_to_04_00_PM -util_social_Arrival_Constant_04_00_PM_to_04_30_PM,SOCIAL - Arrival Constant: 04:00 PM to 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==27)),coef_social_Arrival_Constant_04_00_PM_to_04_30_PM -util_social_Arrival_Constant_05_00_PM_to_06_00_PM,SOCIAL - Arrival Constant: 05:00 PM to 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>=29) & (df.end<=30)),coef_social_Arrival_Constant_05_00_PM_to_06_00_PM -util_social_Arrival_Constant_Shift_for_every_30_minutes_before_08_00_pm_Linear,SOCIAL - Arrival Constant: Shift for every 30 minutes before 08:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end<35)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) + np.where((df.end>40), np.minimum(df.end-40,48), 0)), 0)",coef_social_Arrival_Constant_Shift_for_every_30_minutes_before_08_00_pm_Linear -util_social_Arrival_Constant_Before_8_30_PM,SOCIAL - Arrival Constant: Before 8:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end<36)),coef_social_Arrival_Constant_Before_8_30_PM -util_social_Arrival_Constant_8_30_PM_to_9_00_PM,SOCIAL - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==36)),coef_social_Arrival_Constant_8_30_PM_to_9_00_PM -util_social_Arrival_Constant_9_00_PM_to_9_30_PM,SOCIAL - Arrival Constant: 9:00 PM to 9:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==37)),coef_social_Arrival_Constant_9_00_PM_to_9_30_PM -util_social_Arrival_Constant_9_30_PM_to10_00_PM,SOCIAL - Arrival Constant: 9:30 PM to10:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==38)),coef_social_Arrival_Constant_9_30_PM_to10_00_PM -util_social_Arrival_Constant_10_00_PM_to_10_30_PM,SOCIAL - Arrival Constant: 10:00 PM to 10:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==39)),coef_social_Arrival_Constant_10_00_PM_to_10_30_PM -util_social_Arrival_Constant_After_10_30_PM,SOCIAL - Arrival Constant: After 10:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>39)),coef_social_Arrival_Constant_After_10_30_PM -util_social_Arrival_Constant_Shift_for_every_30_minutes_after_11_00_pm_Linear,SOCIAL - Arrival Constant: Shift for every 30 minutes after 11:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>40)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) +np.where((df.end>40),np.minimum(df.end-40,48),0)), 0)",coef_social_Arrival_Constant_Shift_for_every_30_minutes_after_11_00_pm_Linear -util_social_Duration_Constant_Shift_for_every_30_minutes_less_than_1p5_hrs_Linear,SOCIAL - Duration Constant: Shift for every 30 minutes less than 1.5 hrs - Linear,"@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3)) * ((np.minimum(3-df.duration,47)*(df.duration<3)) + (np.minimum(df.duration-6,47)*(df.duration>6)))",coef_social_Duration_Constant_Shift_for_every_30_minutes_less_than_1p5_hrs_Linear -util_social_Duration_Constant_Less_than_2_hours,SOCIAL - Duration Constant: Less than 2 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<4)),coef_social_Duration_Constant_Less_than_2_hours -util_social_Duration_Constant_2_hours,SOCIAL - Duration Constant: 2 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration==4)),coef_social_Duration_Constant_2_hours -util_social_Duration_Constant_2p5_hours,SOCIAL - Duration Constant: 2.5 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration==5)),coef_social_Duration_Constant_2p5_hours -util_social_Duration_Constant_3_hours_or_more,SOCIAL - Duration Constant: 3 hours or more,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>5)),coef_social_Duration_Constant_3_hours_or_more -util_social_Duration_Constant_Shift_for_every_30_minutes_more_than_3p5_hrs_Linear,SOCIAL - Duration Constant: Shift for every 30 minutes more than 3.5 hrs - Linear,"@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>6)) * ((np.minimum(3-df.duration,47)*(df.duration<3)) + (np.minimum(df.duration-6,47)*(df.duration>6)))",coef_social_Duration_Constant_Shift_for_every_30_minutes_more_than_3p5_hrs_Linear -util_social_Calibration_Constant_Duration_eq_1,SOCIAL - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==0)),coef_social_Calibration_Constant_Duration_eq_1 -util_social_Calibration_Constant_Duration_eq_2,SOCIAL - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration == 1)),coef_social_Calibration_Constant_Duration_eq_2 -util_social_Calibration_Constant_Duration_eq_3,SOCIAL - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==2)),coef_social_Calibration_Constant_Duration_eq_3 -util_social_Calibration_Constant_Duration_eq_4,SOCIAL - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==3)),coef_social_Calibration_Constant_Duration_eq_4 -util_social_Calibration_Constant_Duration_eq_5,SOCIAL - Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==4)),coef_social_Calibration_Constant_Duration_eq_5 -util_social_Calibration_Constant_Duration_eq_6,SOCIAL - Calibration Constant - Duration = 6,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==5)),coef_social_Calibration_Constant_Duration_eq_6 -util_social_Calibration_Constant_Duration_eq_7,SOCIAL - Calibration Constant - Duration = 7,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==6)),coef_social_Calibration_Constant_Duration_eq_7 -util_social_Calibration_Constant_Duration_eq_8,SOCIAL - Calibration Constant - Duration = 8,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==7)),coef_social_Calibration_Constant_Duration_eq_8 -util_social_Calibration_Constant_Duration_eq_9,SOCIAL - Calibration Constant - Duration = 9,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==8)),coef_social_Calibration_Constant_Duration_eq_9 -#DISCRETIONARY,#DISCRETIONARY,,DISCRETIONARY -util_disc_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.retired_adults_only_hh) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear -util_disc_Zero_auto_households_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Zero_auto_households_Duration_lt_1p5_hrs_Linear -util_disc_Zero_auto_households_Duration_gt_1p5_hrs_Linear,DISCRETIONARY - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Zero_auto_households_Duration_gt_1p5_hrs_Linear -util_disc_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership > 0) & (df.tour_type == 'othdiscr') & (df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)),0)",coef_disc_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear -util_disc_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,DISCRETIONARY - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership > 0) &(df.tour_type == 'othdiscr')&(df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear -util_disc_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,DISCRETIONARY - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & ((df.ptype == 6) | (df.ptype == 7) | (df.ptype == 8))), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Kids_in_Joint_Tour_Duration_lt_1p5_hrs -util_disc_Kids_in_Joint_Tour_Duration_gt_1p5_hr,DISCRETIONARY - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & ((df.ptype == 6) | (df.ptype == 7) | (df.ptype == 8))), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Kids_in_Joint_Tour_Duration_gt_1p5_hr -util_disc_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,DISCRETIONARY - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & (df.number_of_participants > 2)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr -util_disc_Auto_Distance_Duration_lt_1_hrs_Linear,DISCRETIONARY - Auto Distance: Duration < 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)) * (df.origin_to_destination_distance), 0)",coef_disc_Auto_Distance_Duration_lt_1_hrs_Linear -util_disc_Auto_Distance_Duration_gt_1_hrs_Linear,DISCRETIONARY - Auto Distance: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_disc_Auto_Distance_Duration_gt_1_hrs_Linear -util_disc_Departure_Constant_Shift_for_every_30_minutes_before_07_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 07:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<9)), (np.where((df.start<9), np.minimum(9-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48),0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_07_30_pm_Linear -util_disc_Departure_Constant_Before_7_30_AM_,DISCRETIONARY - Departure Constant: Before 7:30 AM ,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<10)),coef_disc_Departure_Constant_Before_7_30_AM_ -util_disc_Departure_Constant_7_30_AM_to_8_00_AM,DISCRETIONARY - Departure Constant: 7:30 AM to 8:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==10)),coef_disc_Departure_Constant_7_30_AM_to_8_00_AM -util_disc_Departure_Constant_8_00_AM_to_8_30_AM,DISCRETIONARY - Departure Constant: 8:00 AM to 8:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==11)),coef_disc_Departure_Constant_8_00_AM_to_8_30_AM -util_disc_Departure_Constant_8_30_AM_to_9_00_AM,DISCRETIONARY - Departure Constant: 8:30 AM to 9:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==12)),coef_disc_Departure_Constant_8_30_AM_to_9_00_AM -util_disc_Departure_Constant_9_00_AM_to_9_30_AM,DISCRETIONARY - Departure Constant: 9:00 AM to 9:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==13)),coef_disc_Departure_Constant_9_00_AM_to_9_30_AM -util_disc_Departure_Constant_9_30_AM_to_10_00_AM,DISCRETIONARY - Departure Constant: 9:30 AM to 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==14)),coef_disc_Departure_Constant_9_30_AM_to_10_00_AM -util_disc_Departure_Constant_10_00_AM_to_10_30_AM,DISCRETIONARY - Departure Constant: 10:00 AM to 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==15)),coef_disc_Departure_Constant_10_00_AM_to_10_30_AM -util_disc_Departure_Constant_Shift_for_every_30_minutes_before_04_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 04:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<28)), (np.where((df.start<28), np.minimum(28-df.start,8),0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_04_30_pm_Linear -util_disc_Departure_Constant_Before_05_00_PM,DISCRETIONARY - Departure Constant: Before 05:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<29)),coef_disc_Departure_Constant_Before_05_00_PM -util_disc_Departure_Constant_05_00_PM_05_30_PM,DISCRETIONARY - Departure Constant: 05:00 PM - 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==29)),coef_disc_Departure_Constant_05_00_PM_05_30_PM -util_disc_Departure_Constant_05_30_PM_06_00_PM,DISCRETIONARY - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==30)),coef_disc_Departure_Constant_05_30_PM_06_00_PM -util_disc_Departure_Constant_06_00_PM_06_30_PM,DISCRETIONARY - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==31)),coef_disc_Departure_Constant_06_00_PM_06_30_PM -util_disc_Departure_Constant_06_30_PM_07_00_PM,DISCRETIONARY - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==32)),coef_disc_Departure_Constant_06_30_PM_07_00_PM -util_disc_Departure_Constant_After_07_00_PM,DISCRETIONARY - Departure Constant: After 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start>32)),coef_disc_Departure_Constant_After_07_00_PM -util_disc_Departure_Constant_Shift_for_every_30_minutes_after_07_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes after 07:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start>33)), (np.where((df.start<28), np.minimum(28-df.start,8), 0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_after_07_30_pm_Linear -util_disc_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end<31)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_disc_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear -util_disc_Arrival_Constant_Before_6_30_PM,DISCRETIONARY - Arrival Constant: Before 6:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end<32)),coef_disc_Arrival_Constant_Before_6_30_PM -util_disc_Arrival_Constant_6_30_PM_to_7_00_PM,DISCRETIONARY - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==32)),coef_disc_Arrival_Constant_6_30_PM_to_7_00_PM -util_disc_Arrival_Constant_7_00_PM_to_7_30_PM,DISCRETIONARY - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==33)),coef_disc_Arrival_Constant_7_00_PM_to_7_30_PM -util_disc_Arrival_Constant_7_30_PM_to_8_00_PM,DISCRETIONARY - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==34)),coef_disc_Arrival_Constant_7_30_PM_to_8_00_PM -util_disc_Arrival_Constant_8_00_PM_to_8_30_PM,DISCRETIONARY - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==35)),coef_disc_Arrival_Constant_8_00_PM_to_8_30_PM -util_disc_Arrival_Constant_8_30_PM_to_9_00_PM,DISCRETIONARY - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==36)),coef_disc_Arrival_Constant_8_30_PM_to_9_00_PM -util_disc_Arrival_Constant_After_9_00_PM,DISCRETIONARY - Arrival Constant: After 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end>36)),coef_disc_Arrival_Constant_After_9_00_PM -util_disc_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48),0)), 0)",coef_disc_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear -util_disc_Duration_Constant_0_hours,DISCRETIONARY - Duration Constant: 0 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==0),coef_disc_Duration_Constant_0_hours -util_disc_Duration_Constant_0p5_hous,DISCRETIONARY - Duration Constant: 0.5 hous,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==1),coef_disc_Duration_Constant_0p5_hous -util_disc_Duration_Constant_1_hour,DISCRETIONARY - Duration Constant: 1 hour,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==2),coef_disc_Duration_Constant_1_hour -util_disc_Duration_Constant_1p5_hours,DISCRETIONARY - Duration Constant: 1.5 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3),coef_disc_Duration_Constant_1p5_hours -util_disc_Duration_Constant_2_hours,DISCRETIONARY - Duration Constant: 2 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4),coef_disc_Duration_Constant_2_hours -util_disc_Duration_Constant_2p5_hours_or_more,DISCRETIONARY - Duration Constant: 2.5 hours or more,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>4),coef_disc_Duration_Constant_2p5_hours_or_more -util_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,DISCRETIONARY - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,47), 0)), 0)",coef_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear -util_disc_Calibration_Constant_Duration_eq_4,DISCRETIONARY -Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3)),coef_disc_Calibration_Constant_Duration_eq_4 -util_disc_Calibration_Constant_Duration_eq_5,DISCRETIONARY -Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4)),coef_disc_Calibration_Constant_Duration_eq_5 -util_disc_Calibration_Constant_Departure_eq_29,DISCRETIONARY -Calibration Constant - Departure = 29,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==29)),coef_disc_Calibration_Constant_Departure_eq_29 -util_disc_Calibration_Constant_Departure_eq_30,DISCRETIONARY -Calibration Constant - Departure = 30,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==30)),coef_disc_Calibration_Constant_Departure_eq_30 -util_disc_Calibration_Constant_Departure_eq_31,DISCRETIONARY -Calibration Constant - Departure = 31,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==31)),coef_disc_Calibration_Constant_Departure_eq_31 -util_disc_Calibration_Constant_Departure_eq_32,DISCRETIONARY -Calibration Constant - Departure = 32,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==32)),coef_disc_Calibration_Constant_Departure_eq_32 +Label,Description,Expression,Coefficient +,,, +#ESCORT,#ESCORT,,ESCORT +util_escort_Mode_Choice_Logsum,ESCORT - Mode Choice Logsum,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort')), df.mode_choice_logsum, 0)",coef_escort_Mode_Choice_Logsum +util_escort_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,ESCORT - Distance to destination - Duration less than 0.5 hours (depart and arrive in the same period),"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration<1)), ((df.origin_to_destination_distance) * (np.where((df.duration<=1), np.minimum(1-df.duration, 0), 0))),0)",coef_escort_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period +util_escort_Distance_to_destination_Duration_greater_than_0p5_hours,ESCORT - Distance to destination - Duration greater than 0.5 hours,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>1)), ((df.origin_to_destination_distance) * (np.where((df.duration>1), np.minimum(df.duration-1,47), 0))), 0)",coef_escort_Distance_to_destination_Duration_greater_than_0p5_hours +util_escort_Fulltime_worker_Departure_after_8_00_am_Linear,ESCORT - Full-time worker - Departure after 8:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)),0)",coef_escort_Fulltime_worker_Departure_after_8_00_am_Linear +util_escort_Fulltime_worker_Departure_after_3_00_am_Linear,ESCORT - Full-time worker - Departure after 3:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Fulltime_worker_Departure_after_3_00_am_Linear +util_escort_Fulltime_worker_Duration_lt_0p5_hrs,ESCORT - Full-time worker - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Fulltime_worker_Duration_lt_0p5_hrs +util_escort_Fulltime_worker_Duration_gt_0p5_hrs,ESCORT - Full-time worker - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 1) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Fulltime_worker_Duration_gt_0p5_hrs +util_escort_University_student_Duration_lt_0p5_hrs,ESCORT - University student - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 3) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_University_student_Duration_lt_0p5_hrs +util_escort_Nondriving_age_student_Duration_gt_0p5_hrs,ESCORT - Non-driving age student - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & ((df.ptype == 7)|(df.ptype == 8)) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Nondriving_age_student_Duration_gt_0p5_hrs +util_escort_Driving_age_student_Duration_lt_0p5_hrs,ESCORT - Driving age student - Duration < 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 6) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Driving_age_student_Duration_lt_0p5_hrs +util_escort_Driving_age_student_Duration_gt_0p5_hrs,ESCORT - Driving age student - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 6) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Driving_age_student_Duration_gt_0p5_hrs +util_escort_Preschool_kid_Duration_gt_0p5_hrs,ESCORT - Pre-school kid - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.ptype == 8) & (df.duration<1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0)), 0)",coef_escort_Preschool_kid_Duration_gt_0p5_hrs +util_escort_Medhigh_income_60k_to_120k_Duration_gt_0p5_hrs,ESCORT - Med-high income (60k to 120k) - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.is_income_60K_to_120K) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Medhigh_income_60k_to_120k_Duration_gt_0p5_hrs +util_escort_Households_with_no_kids_Dummy_1_0_Departure_before_7_30_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 7:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start<10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_7_30_AM +util_escort_Households_with_no_kids_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start>10)), (np.where((df.start<=10), np.minimum(10-df.start,7), 0) + np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_8_00_AM +util_escort_Households_with_no_kids_Dummy_1_0_Departure_before_2_30_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure before 2:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start<24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_2_30_PM +util_escort_Households_with_no_kids_Dummy_1_0_Departure_after_3_00_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.start>24)), (np.where((df.start<=24), np.minimum(24-df.start,3), 0) + np.where ((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_3_00_PM +util_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_8_00_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_8_00_AM +util_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_8_30_AM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end>11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0) + np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_8_30_AM +util_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_3_00_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_3_00_PM +util_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_3_30_PM,"ESCORT - Households with no kids (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.num_children == 0) & (df.end>25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0) + np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_3_30_PM +util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start >10)), (np.where((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM +util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_3_00_PM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.start>24)), (np.where((df.start>24), np.minimum(df.start-24,9), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_3_00_PM +util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_8_00_AM,"ESCORT -Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<11)), (np.where((df.end<=11), np.minimum(11-df.end,7), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_8_00_AM +util_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_3_00_PM,"ESCORT - Pre-School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival before 3:00 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_pre_school_child_with_mandatory > 0) & (df.end<25)), (np.where((df.end<=25), np.minimum(25-df.end,3), 0)), 0)",coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_3_00_PM +util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Departure after 8:00 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.start>10)), (np.where ((df.start>10), np.minimum(df.start-10,35), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM +util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_8_30_AM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 8:30 AM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) & (df.end>11)), (np.where((df.end>11), np.minimum(df.end-11,35), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_8_30_AM +util_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_3_30_PM,"ESCORT - Driving age School Child in HH with Mandatory tour (Dummy- 1,0) - Arrival after 3:30 PM","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.has_driving_age_child_with_mandatory > 0) &( df.end>25)), (np.where((df.end>25), np.minimum(df.end-25,9), 0)), 0)",coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_3_30_PM +util_escort_Number_of_autos_greater_than_number_of_adults_Duration_gt_0p5_hrs,ESCORT - Number of autos greater than number of adults - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Number_of_autos_greater_than_number_of_adults_Duration_gt_0p5_hrs +#FIXME_Number_of_nonescort_tours_is_not_known_until_the_nonmandatory_frequency_model_is_run,#FIXME - Number of non-escort tours is not known until the non-mandatory frequency model is run,,FIXME_Number_of_nonescort_tours_is_not_known_until_the_nonmandatory_frequency_model_is_run +#util_escort_Number_of_Individual_Tours_excluding_escorting_Duration_gt_0p5_hrs,#ESCORT - Number of Individual Tours (excluding escorting) - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type != 'escort') & (df.num_non_escort_tours > 0) & (df.duration>1)), (np.where((df.duration>1), np.minimum(df.duration-1,47), 0)), 0)",coef_escort_Number_of_Individual_Tours_excluding_escorting_Duration_gt_0p5_hrs +util_escort_Number_of_joint_tours_Duration_gt_0p5_hrs,ESCORT - Number of joint tours - Duration > 0.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>1)), (np.where((df.duration<=1), np.minimum(1-df.duration,0), 0) + np.where((df.duration>1), np.minimum(df.duration-1,47), 0)) *(df.num_joint_tours), 0)",coef_escort_Number_of_joint_tours_Duration_gt_0p5_hrs +util_escort_Departure_Constant_Shift_for_every_30_minutes_before_06_30_am_Linear,ESCORT - Departure Constant: Shift for every 30 minutes before 06:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start<8)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + np.where((df.start>13), np.minimum(df.start-13,28), 0)), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_before_06_30_am_Linear +util_escort_Departure_Constant_Before_07_00_AM,ESCORT - Departure Constant: Before 07:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start<9)),coef_escort_Departure_Constant_Before_07_00_AM +util_escort_Departure_Constant_07_00_AM_07_30_AM,ESCORT - Departure Constant: 07:00 AM - 07:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==9)),coef_escort_Departure_Constant_07_00_AM_07_30_AM +util_escort_Departure_Constant_07_30_AM_08_00_AM,ESCORT - Departure Constant: 07:30 AM - 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==10)),coef_escort_Departure_Constant_07_30_AM_08_00_AM +util_escort_Departure_Constant_08_00_AM_08_30_AM,ESCORT - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==11)),coef_escort_Departure_Constant_08_00_AM_08_30_AM +util_escort_Departure_Constant_08_30_AM_09_00_AM,ESCORT - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==12)),coef_escort_Departure_Constant_08_30_AM_09_00_AM +util_escort_Departure_Constant_After_09_00_AM,ESCORT - Departure Constant: After 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>12)),coef_escort_Departure_Constant_After_09_00_AM +util_escort_Departure_Constant_01_30_PM_02_00_PM,ESCORT - Departure Constant: 01:30 PM - 02:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==22)),coef_escort_Departure_Constant_01_30_PM_02_00_PM +util_escort_Departure_Constant_02_00_PM_02_30_PM,ESCORT - Departure Constant: 02:00 PM - 02:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==23)),coef_escort_Departure_Constant_02_00_PM_02_30_PM +util_escort_Departure_Constant_02_30_PM_03_00_PM,ESCORT - Departure Constant: 02:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==24)),coef_escort_Departure_Constant_02_30_PM_03_00_PM +util_escort_Departure_Constant_03_00_PM_03_30_PM,ESCORT - Departure Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==25)),coef_escort_Departure_Constant_03_00_PM_03_30_PM +util_escort_Departure_Constant_After_03_30_PM,ESCORT - Departure Constant: After 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>25)),coef_escort_Departure_Constant_After_03_30_PM +util_escort_Departure_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,ESCORT - Departure Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>13)), (np.where((df.start<8), np.minimum(8-df.start,4), 0) + (np.where((df.start>13), np.minimum(df.start-13,28), 0))), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear +util_escort_Departure_Constant_Shift_for_every_30_minutes_after_4_00_pm_Linear,ESCORT - Departure Constant: Shift for every 30 minutes after 4:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start>26)), (np.where((df.start<0), np.minimum(0-df.start,48), 0) + np.where((df.start>26), np.minimum(df.start-26,15),0)), 0)",coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_4_00_pm_Linear +util_escort_Arrival_Constant_Shift_for_every_30_minutes_before_6_30_am_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes before 6:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end<8)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_before_6_30_am_Linear +util_escort_Arrival_Constant_Before_07_00_AM,ESCORT - Arrival Constant: Before 07:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end<9)),coef_escort_Arrival_Constant_Before_07_00_AM +util_escort_Arrival_Constant_07_00_AM_07_30_AM,ESCORT - Arrival Constant: 07:00 AM - 07:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==9)),coef_escort_Arrival_Constant_07_00_AM_07_30_AM +util_escort_Arrival_Constant_07_30_AM_08_00_AM,ESCORT - Arrival Constant: 07:30 AM - 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==10)),coef_escort_Arrival_Constant_07_30_AM_08_00_AM +util_escort_Arrival_Constant_08_00_AM_08_30_AM,ESCORT - Arrival Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==11)),coef_escort_Arrival_Constant_08_00_AM_08_30_AM +util_escort_Arrival_Constant_08_30_AM_09_00_AM,ESCORT - Arrival Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==12)),coef_escort_Arrival_Constant_08_30_AM_09_00_AM +util_escort_Arrival_Constant_After_09_00_AM,ESCORT - Arrival Constant: After 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>12)),coef_escort_Arrival_Constant_After_09_00_AM +util_escort_Arrival_Constant_02_30_PM_03_00_PM,ESCORT - Arrival Constant: 02:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==24)),coef_escort_Arrival_Constant_02_30_PM_03_00_PM +util_escort_Arrival_Constant_03_00_PM_03_30_PM,ESCORT - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==25)),coef_escort_Arrival_Constant_03_00_PM_03_30_PM +util_escort_Arrival_Constant_03_30_PM_04_00_PM,ESCORT - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==26)),coef_escort_Arrival_Constant_03_30_PM_04_00_PM +util_escort_Arrival_Constant_04_00_PM_04_30_PM,ESCORT - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end==27)),coef_escort_Arrival_Constant_04_00_PM_04_30_PM +util_escort_Arrival_Constant_After_04_30_PM,ESCORT - Arrival Constant: After 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>27)),coef_escort_Arrival_Constant_After_04_30_PM +util_escort_Arrival_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 9:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>13)), (np.where((df.end<8), np.minimum(8-df.end,2), 0) + np.where((df.end>13), np.minimum(df.end-13,30), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear +util_escort_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,ESCORT - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.end>28)), (np.where((df.end<0), np.minimum(0-df.end,48), 0) + np.where((df.start>28), np.minimum(df.end-28,15), 0)), 0)",coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear +util_escort_Duration_Constant_0_hrs,ESCORT - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==0)),coef_escort_Duration_Constant_0_hrs +util_escort_Duration_Constant_0p5_hrs,ESCORT - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==1)),coef_escort_Duration_Constant_0p5_hrs +util_escort_Duration_Constant_1_hrs,ESCORT - Duration Constant: 1 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==2)),coef_escort_Duration_Constant_1_hrs +util_escort_Duration_Constant_1p5hrs,ESCORT - Duration Constant: 1.5hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==3)),coef_escort_Duration_Constant_1p5hrs +util_escort_Duration_Constant_2_hrs,ESCORT - Duration Constant: 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==4)),coef_escort_Duration_Constant_2_hrs +util_escort_Duration_Constant_Longer_than_2_hrs,ESCORT - Duration Constant: Longer than 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration>4)),coef_escort_Duration_Constant_Longer_than_2_hrs +util_escort_Calibration_Constant_Duration_eq_1,ESCORT - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.duration==0)),coef_escort_Calibration_Constant_Duration_eq_1 +util_escort_Calibration_Constant_Duration_eq_2,ESCORT - Calibration Constant - Duration = 2,@(((df.tour_category == 'joint') & (df.tour_type == 'escort') & df.duration==1)),coef_escort_Calibration_Constant_Duration_eq_2 +util_escort_Calibration_Constant_Departure_eq_9,ESCORT - Calibration Constant - Departure = 9,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==9)),coef_escort_Calibration_Constant_Departure_eq_9 +util_escort_Calibration_Constant_Departure_eq_10,ESCORT - Calibration Constant - Departure = 10,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==10)),coef_escort_Calibration_Constant_Departure_eq_10 +util_escort_Calibration_Constant_Departure_eq_23,ESCORT - Calibration Constant - Departure = 23,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==23)),coef_escort_Calibration_Constant_Departure_eq_23 +util_escort_Calibration_Constant_Departure_eq_24,ESCORT - Calibration Constant - Departure = 24,@((df.tour_category == 'joint') & (df.tour_type == 'escort') & (df.start==24)),coef_escort_Calibration_Constant_Departure_eq_24 +#SHOPPING,#SHOPPING,,SHOPPING +util_shop_Joint_Shopping_tours_dummy_Departure_before_10_00_AM_Linear,SHOPPING - Joint Shopping tours dummy: Departure before 10:00 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_shop_Joint_Shopping_tours_dummy_Departure_before_10_00_AM_Linear +util_shop_Joint_Shopping_tours_dummy_Departure_after_10_30_AM_Linear,SHOPPING - Joint Shopping tours dummy: Departure after 10:30 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_shop_Joint_Shopping_tours_dummy_Departure_after_10_30_AM_Linear +util_shop_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,SHOPPING - Joint Tours Party Size > 2: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs +util_shop_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,SHOPPING - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & (df.number_of_participants > 2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shop_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr +util_shop_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,SHOPPING - Joint Tour with only adults: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & (df.composition=='adults')), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs +util_shop_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,SHOPPING - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_shop_Kids_in_Joint_Tour_Duration_lt_1p5_hrs +util_shop_Kids_in_Joint_Tour_Duration_gt_1p5_hr,SHOPPING - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shop_Kids_in_Joint_Tour_Duration_gt_1p5_hr +util_shop_Low_Income_lteq25_000_Duration_gt_1p5_hr,"SHOPPING - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_less25K) & (df.duration>3)), (np.where((df.duration>3),np.minimum(df.duration-3,27), 0)), 0)",coef_shop_Low_Income_lteq25_000_Duration_gt_1p5_hr +util_shop_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,"SHOPPING - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_25K_to_60K) & (df.duration<3)), (np.where((df.duration>3),np.minimum(df.duration-3,27), 0)), 0)",coef_shop_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs +util_shop_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,"SHOPPING - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.is_income_60K_to_120K) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,27), 0)), 0)",coef_shop_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr +util_shop_Distance_Duration_lt_1p5_hrs,SHOPPING - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)) * (df.origin_to_destination_distance), 0)",coef_shop_Distance_Duration_lt_1p5_hrs +util_shop_Distance_Duration_gt_1p5_hr,SHOPPING - Distance: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>2)), ((np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance)), 0)",coef_shop_Distance_Duration_gt_1p5_hr +util_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear +util_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Square_root,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Square root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0))**0.5, 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Square_root +util_shop_Departure_Constant_Before_09_00_AM,SHOPPING - Departure Constant: Before 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start<13)),coef_shop_Departure_Constant_Before_09_00_AM +util_shop_Departure_Constant_09_00_AM_09_30_AM,SHOPPING - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==13)),coef_shop_Departure_Constant_09_00_AM_09_30_AM +util_shop_Departure_Constant_09_30_AM_10_00_AM,SHOPPING - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==14)),coef_shop_Departure_Constant_09_30_AM_10_00_AM +util_shop_Departure_Constant_10_00_AM_10_30_AM,SHOPPING - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==15)),coef_shop_Departure_Constant_10_00_AM_10_30_AM +util_shop_Departure_Constant_10_30_AM_11_00_AM,SHOPPING - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start==16)),coef_shop_Departure_Constant_10_30_AM_11_00_AM +util_shop_Departure_Constant_After_11_00_AM,SHOPPING - Departure Constant: After 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>16)),coef_shop_Departure_Constant_After_11_00_AM +util_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>17)), (np.where((df.start<12), np.minimum(12-df.start,7),0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear +util_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.start>17)), ((np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared +util_shop_Arrival_Constant_Shift_for_every_30_minutes_before_12_00_pm_Linear,SHOPPING - Arrival Constant: Shift for every 30 minutes before 12:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end<19)), (np.where ((df.end<19), np.minimum(19-df.end,10), 0) + np.where((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shop_Arrival_Constant_Shift_for_every_30_minutes_before_12_00_pm_Linear +util_shop_Arrival_Constant_Before_12_30_PM,SHOPPING - Arrival Constant: Before 12:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end<20)),coef_shop_Arrival_Constant_Before_12_30_PM +util_shop_Arrival_Constant_12_30_PM_03_00_PM,SHOPPING - Arrival Constant: 12:30 PM - 03:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & ( df.end>=20) & (df.end<=24)),coef_shop_Arrival_Constant_12_30_PM_03_00_PM +util_shop_Arrival_Constant_03_00_PM_03_30_PM,SHOPPING - Arrival Constant: 03:00 PM - 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==25)),coef_shop_Arrival_Constant_03_00_PM_03_30_PM +util_shop_Arrival_Constant_03_30_PM_04_00_PM,SHOPPING - Arrival Constant: 03:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==26)),coef_shop_Arrival_Constant_03_30_PM_04_00_PM +util_shop_Arrival_Constant_04_00_PM_04_30_PM,SHOPPING - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==27)),coef_shop_Arrival_Constant_04_00_PM_04_30_PM +util_shop_Arrival_Constant_04_30_PM_05_00_PM,SHOPPING - Arrival Constant: 04:30 PM - 05:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==28)),coef_shop_Arrival_Constant_04_30_PM_05_00_PM +util_shop_Arrival_Constant_05_00_PM_05_30_PM,SHOPPING - Arrival Constant: 05:00 PM - 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end==29)),coef_shop_Arrival_Constant_05_00_PM_05_30_PM +util_shop_Arrival_Constant_05_30_PM_07_00_PM,SHOPPING - Arrival Constant: 05:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>=30) & (df.end<=32)),coef_shop_Arrival_Constant_05_30_PM_07_00_PM +util_shop_Arrival_Constant_07_00_PM_09_30_PM,SHOPPING - Arrival Constant: 07:00 PM - 09:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>=33) & (df.end<=37)),coef_shop_Arrival_Constant_07_00_PM_09_30_PM +util_shop_Arrival_Constant_After_09_30_PM,SHOPPING - Arrival Constant: After 09:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>37)),coef_shop_Arrival_Constant_After_09_30_PM +util_shop_Arrival_Constant_Shift_for_every_30_minutes_after_10_00_pm_Linear,SHOPPING - Arrival Constant: Shift for every 30 minutes after 10:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.end>38)), (np.where((df.end<19), np.minimum(19-df.end,10), 0) + np.where ((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shop_Arrival_Constant_Shift_for_every_30_minutes_after_10_00_pm_Linear +util_shop_Duration_Constant_0_hrs,SHOPPING - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==0)),coef_shop_Duration_Constant_0_hrs +util_shop_Duration_Constant_0p5_hrs,SHOPPING - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==1)),coef_shop_Duration_Constant_0p5_hrs +util_shop_Duration_Constant_1_hrs,SHOPPING - Duration Constant: 1 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==2)),coef_shop_Duration_Constant_1_hrs +util_shop_Duration_Constant_1p5hrs,SHOPPING - Duration Constant: 1.5hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==3)),coef_shop_Duration_Constant_1p5hrs +util_shop_Duration_Constant_2_hrs,SHOPPING - Duration Constant: 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==4)),coef_shop_Duration_Constant_2_hrs +util_shop_Duration_Constant_Longer_than_2_hrs,SHOPPING - Duration Constant: Longer than 2 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>4)),coef_shop_Duration_Constant_Longer_than_2_hrs +util_shop_Duration_Constant_Duration_gt_2p5_hrs_Linear,SHOPPING - Duration Constant: Duration > 2.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)), 0)",coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Linear +util_shop_Duration_Constant_Duration_gt_2p5_hrs_Square_root,SHOPPING - Duration Constant: Duration > 2.5 hrs - Square root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration>5)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)) ** 0.5), 0)",coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Square_root +util_shop_Calibration_Constant_Duration_eq_1,SHOPPING - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==0)),coef_shop_Calibration_Constant_Duration_eq_1 +util_shop_Calibration_Constant_Duration_eq_2,SHOPPING - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==1)),coef_shop_Calibration_Constant_Duration_eq_2 +util_shop_Calibration_Constant_Duration_eq_3,SHOPPING - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'shopping') & (df.duration==2)),coef_shop_Calibration_Constant_Duration_eq_3 +#MAINTENANCE,#MAINTENANCE,,MAINTENANCE +util_maint_Joint_Maintenance_tours_dummy_Departure_before_10_00_AM_Linear,MAINTENANCE - Joint Maintenance tours dummy: Departure before 10:00 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_maint_Joint_Maintenance_tours_dummy_Departure_before_10_00_AM_Linear +util_maint_Joint_Maintenance_tours_dummy_Departure_after_10_30_AM_Linear,MAINTENANCE - Joint Maintenance tours dummy: Departure after 10:30 AM - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>15)), (np.where((df.start<=15), np.minimum(15-df.start,7), 0) + np.where((df.start>15), np.minimum(df.start-15,24), 0)), 0)",coef_maint_Joint_Maintenance_tours_dummy_Departure_after_10_30_AM_Linear +util_maint_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,MAINTENANCE - Joint Tours Party Size > 2: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs +util_maint_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,MAINTENANCE - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & (df.number_of_participants > 2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr +util_maint_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,MAINTENANCE - Joint Tour with only adults: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & (df.composition=='adults')), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs +util_maint_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,MAINTENANCE - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Kids_in_Joint_Tour_Duration_lt_1p5_hrs +util_maint_Kids_in_Joint_Tour_Duration_gt_1p5_hr,MAINTENANCE - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Kids_in_Joint_Tour_Duration_gt_1p5_hr +util_maint_Low_Income_lteq25_000_Duration_gt_1p5_hr,"MAINTENANCE - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_less25K) & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Low_Income_lteq25_000_Duration_gt_1p5_hr +util_maint_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)), 0)",coef_maint_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs +util_maint_Medium_Income_25_001_to_60_000_Duration_gt_1p5_hr,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_25K_to_60K) & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Medium_Income_25_001_to_60_000_Duration_gt_1p5_hr +util_maint_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,"MAINTENANCE - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hr","@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maint_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr +util_maint_Distance_Duration_lt_1p5_hrs,MAINTENANCE - Distance: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0)) *(df.origin_to_destination_distance), 0)",coef_maint_Distance_Duration_lt_1p5_hrs +util_maint_Distance_Duration_gt_1p5_hr,MAINTENANCE - Distance: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_maint_Distance_Duration_gt_1p5_hr +util_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<10)), (np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Linear +util_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Square_Root,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Square Root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<10)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + (np.where((df.start>17), np.minimum(df.start-17,24), 0)))** 0.5), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Square_Root +util_maint_Departure_Constant_Before_08_00_AM,MAINTENANCE - Departure Constant: Before 08:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start<11)),coef_maint_Departure_Constant_Before_08_00_AM +util_maint_Departure_Constant_08_00_AM_08_30_AM,MAINTENANCE - Departure Constant: 08:00 AM - 08:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==11)),coef_maint_Departure_Constant_08_00_AM_08_30_AM +util_maint_Departure_Constant_08_30_AM_09_00_AM,MAINTENANCE - Departure Constant: 08:30 AM - 09:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==12)),coef_maint_Departure_Constant_08_30_AM_09_00_AM +util_maint_Departure_Constant_09_00_AM_09_30_AM,MAINTENANCE - Departure Constant: 09:00 AM - 09:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==13)),coef_maint_Departure_Constant_09_00_AM_09_30_AM +util_maint_Departure_Constant_09_30_AM_10_00_AM,MAINTENANCE - Departure Constant: 09:30 AM - 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==14)),coef_maint_Departure_Constant_09_30_AM_10_00_AM +util_maint_Departure_Constant_10_00_AM_10_30_AM,MAINTENANCE - Departure Constant: 10:00 AM - 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==15)),coef_maint_Departure_Constant_10_00_AM_10_30_AM +util_maint_Departure_Constant_10_30_AM_11_00_AM,MAINTENANCE - Departure Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start==16)),coef_maint_Departure_Constant_10_30_AM_11_00_AM +util_maint_Departure_Constant_After_11_00_AM,MAINTENANCE - Departure Constant: After 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>16)),coef_maint_Departure_Constant_After_11_00_AM +util_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>17)), np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear +util_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.start>17)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared +util_maint_Arrival_Constant_Shift_for_every_30_minutes_before_10_00_am_Linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes before 10:00 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end<15)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maint_Arrival_Constant_Shift_for_every_30_minutes_before_10_00_am_Linear +util_maint_Arrival_Constant_Before_10_30_AM,MAINTENANCE - Arrival Constant: Before 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end<16)),coef_maint_Arrival_Constant_Before_10_30_AM +util_maint_Arrival_Constant_10_30_AM_11_00_AM,MAINTENANCE - Arrival Constant: 10:30 AM - 11:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==16)),coef_maint_Arrival_Constant_10_30_AM_11_00_AM +util_maint_Arrival_Constant_11_00_AM_11_30_AM,MAINTENANCE - Arrival Constant: 11:00 AM - 11:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==17)),coef_maint_Arrival_Constant_11_00_AM_11_30_AM +util_maint_Arrival_Constant_11_30_AM_01_30_PM,MAINTENANCE - Arrival Constant: 11:30 AM - 01:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=18) & (df.end<=21)),coef_maint_Arrival_Constant_11_30_AM_01_30_PM +util_maint_Arrival_Constant_01_30_PM_02_30_PM,MAINTENANCE - Arrival Constant: 01:30 PM - 02:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=22) & (df.end<=23)),coef_maint_Arrival_Constant_01_30_PM_02_30_PM +util_maint_Arrival_Constant_02_30_PM_04_00_PM,MAINTENANCE - Arrival Constant: 02:30 PM - 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>=24) & (df.end<=26)),coef_maint_Arrival_Constant_02_30_PM_04_00_PM +util_maint_Arrival_Constant_04_00_PM_04_30_PM,MAINTENANCE - Arrival Constant: 04:00 PM - 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end==27)),coef_maint_Arrival_Constant_04_00_PM_04_30_PM +util_maint_Arrival_Constant_After_04_30_PM,MAINTENANCE - Arrival Constant: After 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>27)),coef_maint_Arrival_Constant_After_04_30_PM +util_maint_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.end>28)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maint_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear +util_maint_Duration_Constant_0_hrs,MAINTENANCE - Duration Constant: 0 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==0)),coef_maint_Duration_Constant_0_hrs +util_maint_Duration_Constant_0p5_hrs,MAINTENANCE - Duration Constant: 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==1)),coef_maint_Duration_Constant_0p5_hrs +util_maint_Duration_Constant_Longer_than_0p5_hrs,MAINTENANCE - Duration Constant: Longer than 0.5 hrs,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>1)),coef_maint_Duration_Constant_Longer_than_0p5_hrs +util_maint_Duration_Constant_Duration_gt_1_hrs_Linear,MAINTENANCE - Duration Constant: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maint_Duration_Constant_Duration_gt_1_hrs_Linear +util_maint_Duration_Constant_Duration_gt_1_hrs_Square_Root,MAINTENANCE - Duration Constant: Duration > 1 hrs - Square Root,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration>2)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0))** 0.5), 0)",coef_maint_Duration_Constant_Duration_gt_1_hrs_Square_Root +util_maint_Calibration_Constant_Duration_eq_1,MAINTENANCE - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==0)),coef_maint_Calibration_Constant_Duration_eq_1 +util_maint_Calibration_Constant_Duration_eq_2,MAINTENANCE - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==1)),coef_maint_Calibration_Constant_Duration_eq_2 +util_maint_Calibration_Constant_Duration_eq_3,MAINTENANCE - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==2)),coef_maint_Calibration_Constant_Duration_eq_3 +util_maint_Calibration_Constant_Duration_eq_4,MAINTENANCE - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==3)),coef_maint_Calibration_Constant_Duration_eq_4 +util_maint_Calibration_Constant_Duration_eq_5,MAINTENANCE - Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'othmaint') & (df.duration==4)),coef_maint_Calibration_Constant_Duration_eq_5 +#EATOUT,#EAT-OUT,,EATOUT +util_eatout_Distance_to_destination_Duration_lt_1_hrs,EAT-OUT - Distance to destination - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)) * (df.origin_to_destination_distance), 0)",coef_eatout_Distance_to_destination_Duration_lt_1_hrs +util_eatout_Distance_to_destination_Duration_gt_1_hrs,EAT-OUT - Distance to destination - Duration > 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) *(df.origin_to_destination_distance), 0)",coef_eatout_Distance_to_destination_Duration_gt_1_hrs +util_eatout_Low_income_lt25000_Duration_lt_1_hrs,EAT-OUT - Low income (<25000) - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.is_income_less25K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Low_income_lt25000_Duration_lt_1_hrs +util_eatout_Medium_25k_to_60k_Duration_lt_1_hrs,EAT-OUT - Medium (25k to 60k) - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Medium_25k_to_60k_Duration_lt_1_hrs +util_eatout_Zero_auto_HH_Duration_gt_1_hrs,EAT-OUT - Zero auto HH - Duration > 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.auto_ownership == 0) & (df.duration>2)), (np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_Zero_auto_HH_Duration_gt_1_hrs +util_eatout_Kids_in_Joint_tour_Duration_lt_1_hrs,EAT-OUT - Kids in Joint tour - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Kids_in_Joint_tour_Duration_lt_1_hrs +util_eatout_Joint_Tours_Party_Size_greater_than_2_Duration_lt_1_hrs,EAT-OUT - Joint Tours Party Size greater than 2 - Duration < 1 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration<2) & (df.number_of_participants > 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0)), 0)",coef_eatout_Joint_Tours_Party_Size_greater_than_2_Duration_lt_1_hrs +util_eatout_Departure_Constant_11_00_AM_12_00_PM,EAT-OUT - Departure Constant: 11:00 AM - 12:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>=17) & (df.start<=18)),coef_eatout_Departure_Constant_11_00_AM_12_00_PM +util_eatout_Departure_Constant_12_00_PM_12_30_PM,EAT-OUT - Departure Constant: 12:00 PM - 12:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==19),coef_eatout_Departure_Constant_12_00_PM_12_30_PM +util_eatout_Departure_Constant_12_30_PM_to_01_00_PM,EAT-OUT - Departure Constant: 12:30 PM to 01:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==20),coef_eatout_Departure_Constant_12_30_PM_to_01_00_PM +util_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,EAT-OUT - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start<29)), (np.where((df.start<29), np.minimum(29-df.start,20), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear +util_eatout_Departure_Constant_Before_05_30_PM,EAT-OUT - Departure Constant: Before 05:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start<30),coef_eatout_Departure_Constant_Before_05_30_PM +util_eatout_Departure_Constant_05_30_PM_06_00_PM,EAT-OUT - Departure Constant: 05:30 PM - 06:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==30),coef_eatout_Departure_Constant_05_30_PM_06_00_PM +util_eatout_Departure_Constant_06_00_PM_06_30_PM,EAT-OUT - Departure Constant: 06:00 PM - 06:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==31),coef_eatout_Departure_Constant_06_00_PM_06_30_PM +util_eatout_Departure_Constant_06_30_PM_07_00_PM,EAT-OUT - Departure Constant: 06:30 PM - 07:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==32),coef_eatout_Departure_Constant_06_30_PM_07_00_PM +util_eatout_Departure_Constant_07_00_PM_07_30_PM,EAT-OUT - Departure Constant: 07:00 PM - 07:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start==33),coef_eatout_Departure_Constant_07_00_PM_07_30_PM +util_eatout_Departure_Constant_After_07_30_PM,EAT-OUT - Departure Constant: After 07:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>33),coef_eatout_Departure_Constant_After_07_30_PM +util_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,EAT-OUT - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start>34)), (np.where((df.start<29), np.minimum(29-df.start,20), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear +util_eatout_Arrival_Constant_12_30_PM_to_01_00_PM,EAT-OUT - Arrival Constant: 12:30 PM to 01:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==20),coef_eatout_Arrival_Constant_12_30_PM_to_01_00_PM +util_eatout_Arrival_Constant_01_00_PM_to_01_30_PM,EAT-OUT - Arrival Constant: 01:00 PM to 01:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==21),coef_eatout_Arrival_Constant_01_00_PM_to_01_30_PM +util_eatout_Arrival_Constant_01_30_PM_to_02_00_PM,EAT-OUT - Arrival Constant: 01:30 PM to 02:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==22),coef_eatout_Arrival_Constant_01_30_PM_to_02_00_PM +util_eatout_Arrival_Constant_02_00_PM_to_02_30_PM,EAT-OUT - Arrival Constant: 02:00 PM to 02:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==23),coef_eatout_Arrival_Constant_02_00_PM_to_02_30_PM +util_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_30_pm_Linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes before 06:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end<32)), (np.where((df.end<32), np.minimum(32-df.end,21), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_30_pm_Linear +util_eatout_Arrival_Constant_Before_7_00_PM,EAT-OUT - Arrival Constant: Before 7:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end<33),coef_eatout_Arrival_Constant_Before_7_00_PM +util_eatout_Arrival_Constant_7_00_PM_to_7_30_PM,EAT-OUT - Arrival Constant: 7:00 PM to 7:30 PM,@(df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.end==33),coef_eatout_Arrival_Constant_7_00_PM_to_7_30_PM +util_eatout_Arrival_Constant_7_30_PM_to_8_00_PM,EAT-OUT - Arrival Constant: 7:30 PM to 8:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==34),coef_eatout_Arrival_Constant_7_30_PM_to_8_00_PM +util_eatout_Arrival_Constant_8_00_PM_to_8_30_PM,EAT-OUT - Arrival Constant: 8:00 PM to 8:30 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==35),coef_eatout_Arrival_Constant_8_00_PM_to_8_30_PM +util_eatout_Arrival_Constant_8_30_PM_to_9_00_PM,EAT-OUT - Arrival Constant: 8:30 PM to 9:00 PM,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.end==36),coef_eatout_Arrival_Constant_8_30_PM_to_9_00_PM +util_eatout_Arrival_Constant_After_09_00_PM,EAT-OUT - Arrival Constant: After 09:00 PM,@(df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.end>36),coef_eatout_Arrival_Constant_After_09_00_PM +util_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_type== 'eatout') & (df.end>37) & (df.tour_category == 'joint')), (np.where((df.end<32), np.minimum(32-df.end,21), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear +util_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>6)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>6), np.minimum(df.duration-6,12), 0)), 0)",coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear +util_eatout_Duration_Constant_0_hours,EAT-OUT - Duration Constant: 0 hours,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_Duration_Constant_0_hours +util_eatout_Duration_Constant_0p5_hous,EAT-OUT - Duration Constant: 0.5 hous,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_Duration_Constant_0p5_hous +util_eatout_Duration_Constant_1_hour,EAT-OUT - Duration Constant: 1 hour,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_Duration_Constant_1_hour +util_eatout_Duration_Constant_1p5_hours,EAT-OUT - Duration Constant: 1.5 hours,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_Duration_Constant_1p5_hours +util_eatout_Duration_Constant_2_hours_or_more,EAT-OUT - Duration Constant: 2 hours or more,@(df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>4),coef_eatout_Duration_Constant_2_hours_or_more +util_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_2p5_hrs_Linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 2.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,13), 0)), 0)",coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_2p5_hrs_Linear +util_eatout_Calibration_Constant_Duration_eq_1,EAT-OUT - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==0)),coef_eatout_Calibration_Constant_Duration_eq_1 +util_eatout_Calibration_Constant_Duration_eq_2,EAT-OUT - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==1)),coef_eatout_Calibration_Constant_Duration_eq_2 +util_eatout_Calibration_Constant_Duration_eq_3,EAT-OUT - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.duration==2)),coef_eatout_Calibration_Constant_Duration_eq_3 +util_eatout_Calibration_Constant_Duration_eq_4,EAT-OUT - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.duration==3)),coef_eatout_Calibration_Constant_Duration_eq_4 +util_eatout_Calibration_Constant_Departure_eq_1,EAT-OUT - Calibration Constant - Departure = 1,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start == 1)),coef_eatout_Calibration_Constant_Departure_eq_1 +util_eatout_Calibration_Constant_Departure_eq_2,EAT-OUT - Calibration Constant - Departure = 2,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start == 2)),coef_eatout_Calibration_Constant_Departure_eq_2 +util_eatout_Calibration_Constant_Departure_eq_3,EAT-OUT - Calibration Constant - Departure = 3,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.start == 3)),coef_eatout_Calibration_Constant_Departure_eq_3 +util_eatout_Calibration_Constant_Departure_eq_17,EAT-OUT - Calibration Constant - Departure = 17,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==17)),coef_eatout_Calibration_Constant_Departure_eq_17 +util_eatout_Calibration_Constant_Departure_eq_18,EAT-OUT - Calibration Constant - Departure = 18,@((df.tour_category == 'joint') & (df.tour_type== 'eatout') & (df.start ==18)),coef_eatout_Calibration_Constant_Departure_eq_18 +util_eatout_Calibration_Constant_Departure_eq_19,EAT-OUT - Calibration Constant - Departure = 19,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==19)),coef_eatout_Calibration_Constant_Departure_eq_19 +util_eatout_Calibration_Constant_Departure_eq_20,EAT-OUT - Calibration Constant - Departure = 20,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==20)),coef_eatout_Calibration_Constant_Departure_eq_20 +util_eatout_Calibration_Constant_Departure_eq_21,EAT-OUT - Calibration Constant - Departure = 21,@((df.tour_category == 'joint') & (df.tour_type == 'eatout') & (df.start ==21)),coef_eatout_Calibration_Constant_Departure_eq_21 +#SOCIAL,#SOCIAL,,SOCIAL +util_social_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,SOCIAL - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.retired_adults_only_hh) & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear +util_social_Zero_auto_households_Duration_lt_1p5_hrs_Linear,SOCIAL - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Zero_auto_households_Duration_lt_1p5_hrs_Linear +util_social_Zero_auto_households_Duration_gt_1p5_hrs_Linear,SOCIAL - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Zero_auto_households_Duration_gt_1p5_hrs_Linear +util_social_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,SOCIAL - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint')&(df.tour_type == 'social') & (df.auto_ownership > 0) &(df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_social_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear +util_social_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,SOCIAL - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear +util_social_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,SOCIAL - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_social_Kids_in_Joint_Tour_Duration_lt_1p5_hrs +util_social_Kids_in_Joint_Tour_Duration_gt_1p5_hr,SOCIAL - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3) & ((df.composition=='children')|(df.composition=='mixed'))), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_Kids_in_Joint_Tour_Duration_gt_1p5_hr +util_social_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,SOCIAL - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3) & (df.number_of_participants > 2)), (np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr +util_social_Auto_Distance_Duration_lt_1_hrs_Linear,SOCIAL - Auto Distance: Duration < 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) * (df.origin_to_destination_distance)), 0) ",coef_social_Auto_Distance_Duration_lt_1_hrs_Linear +util_social_Auto_Distance_Duration_gt_1_hrs_Linear,SOCIAL - Auto Distance: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0) * (df.origin_to_destination_distance)), 0)",coef_social_Auto_Distance_Duration_gt_1_hrs_Linear +util_social_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear +util_social_Departure_Constant_Before_09_00_AM,SOCIAL - Departure Constant: Before 09:00 AM,@(df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<13),coef_social_Departure_Constant_Before_09_00_AM +util_social_Departure_Constant_09_00_AM_to_09_30_AM,SOCIAL - Departure Constant: 09:00 AM to 09:30 AM,@(df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==13),coef_social_Departure_Constant_09_00_AM_to_09_30_AM +util_social_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<29), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear +util_social_Departure_Constant_Before_05_30_PM,SOCIAL - Departure Constant: Before 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start<30)),coef_social_Departure_Constant_Before_05_30_PM +util_social_Departure_Constant_05_30_PM_06_00_PM,SOCIAL - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==30)),coef_social_Departure_Constant_05_30_PM_06_00_PM +util_social_Departure_Constant_06_00_PM_06_30_PM,SOCIAL - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==31)),coef_social_Departure_Constant_06_00_PM_06_30_PM +util_social_Departure_Constant_06_30_PM_07_00_PM,SOCIAL - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==32)),coef_social_Departure_Constant_06_30_PM_07_00_PM +util_social_Departure_Constant_07_00_PM_07_30_PM,SOCIAL - Departure Constant: 07:00 PM - 07:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start==33)),coef_social_Departure_Constant_07_00_PM_07_30_PM +util_social_Departure_Constant_After_07_30_PM,SOCIAL - Departure Constant: After 07:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start>33)),coef_social_Departure_Constant_After_07_30_PM +util_social_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,SOCIAL - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.start>34), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear +util_social_Arrival_Constant_03_00_PM_to_03_30_PM,SOCIAL - Arrival Constant: 03:00 PM to 03:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==25)),coef_social_Arrival_Constant_03_00_PM_to_03_30_PM +util_social_Arrival_Constant_03_30_PM_to_04_00_PM,SOCIAL - Arrival Constant: 03:30 PM to 04:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==26)),coef_social_Arrival_Constant_03_30_PM_to_04_00_PM +util_social_Arrival_Constant_04_00_PM_to_04_30_PM,SOCIAL - Arrival Constant: 04:00 PM to 04:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==27)),coef_social_Arrival_Constant_04_00_PM_to_04_30_PM +util_social_Arrival_Constant_05_00_PM_to_06_00_PM,SOCIAL - Arrival Constant: 05:00 PM to 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>=29) & (df.end<=30)),coef_social_Arrival_Constant_05_00_PM_to_06_00_PM +util_social_Arrival_Constant_Shift_for_every_30_minutes_before_08_00_pm_Linear,SOCIAL - Arrival Constant: Shift for every 30 minutes before 08:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end<35)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) + np.where((df.end>40), np.minimum(df.end-40,48), 0)), 0)",coef_social_Arrival_Constant_Shift_for_every_30_minutes_before_08_00_pm_Linear +util_social_Arrival_Constant_Before_8_30_PM,SOCIAL - Arrival Constant: Before 8:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end<36)),coef_social_Arrival_Constant_Before_8_30_PM +util_social_Arrival_Constant_8_30_PM_to_9_00_PM,SOCIAL - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==36)),coef_social_Arrival_Constant_8_30_PM_to_9_00_PM +util_social_Arrival_Constant_9_00_PM_to_9_30_PM,SOCIAL - Arrival Constant: 9:00 PM to 9:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==37)),coef_social_Arrival_Constant_9_00_PM_to_9_30_PM +util_social_Arrival_Constant_9_30_PM_to10_00_PM,SOCIAL - Arrival Constant: 9:30 PM to10:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==38)),coef_social_Arrival_Constant_9_30_PM_to10_00_PM +util_social_Arrival_Constant_10_00_PM_to_10_30_PM,SOCIAL - Arrival Constant: 10:00 PM to 10:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end==39)),coef_social_Arrival_Constant_10_00_PM_to_10_30_PM +util_social_Arrival_Constant_After_10_30_PM,SOCIAL - Arrival Constant: After 10:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>39)),coef_social_Arrival_Constant_After_10_30_PM +util_social_Arrival_Constant_Shift_for_every_30_minutes_after_11_00_pm_Linear,SOCIAL - Arrival Constant: Shift for every 30 minutes after 11:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.end>40)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) +np.where((df.end>40),np.minimum(df.end-40,48),0)), 0)",coef_social_Arrival_Constant_Shift_for_every_30_minutes_after_11_00_pm_Linear +util_social_Duration_Constant_Shift_for_every_30_minutes_less_than_1p5_hrs_Linear,SOCIAL - Duration Constant: Shift for every 30 minutes less than 1.5 hrs - Linear,"@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<3)) * ((np.minimum(3-df.duration,47)*(df.duration<3)) + (np.minimum(df.duration-6,47)*(df.duration>6)))",coef_social_Duration_Constant_Shift_for_every_30_minutes_less_than_1p5_hrs_Linear +util_social_Duration_Constant_Less_than_2_hours,SOCIAL - Duration Constant: Less than 2 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration<4)),coef_social_Duration_Constant_Less_than_2_hours +util_social_Duration_Constant_2_hours,SOCIAL - Duration Constant: 2 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration==4)),coef_social_Duration_Constant_2_hours +util_social_Duration_Constant_2p5_hours,SOCIAL - Duration Constant: 2.5 hours,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration==5)),coef_social_Duration_Constant_2p5_hours +util_social_Duration_Constant_3_hours_or_more,SOCIAL - Duration Constant: 3 hours or more,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>5)),coef_social_Duration_Constant_3_hours_or_more +util_social_Duration_Constant_Shift_for_every_30_minutes_more_than_3p5_hrs_Linear,SOCIAL - Duration Constant: Shift for every 30 minutes more than 3.5 hrs - Linear,"@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration>6)) * ((np.minimum(3-df.duration,47)*(df.duration<3)) + (np.minimum(df.duration-6,47)*(df.duration>6)))",coef_social_Duration_Constant_Shift_for_every_30_minutes_more_than_3p5_hrs_Linear +util_social_Calibration_Constant_Duration_eq_1,SOCIAL - Calibration Constant - Duration = 1,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==0)),coef_social_Calibration_Constant_Duration_eq_1 +util_social_Calibration_Constant_Duration_eq_2,SOCIAL - Calibration Constant - Duration = 2,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration == 1)),coef_social_Calibration_Constant_Duration_eq_2 +util_social_Calibration_Constant_Duration_eq_3,SOCIAL - Calibration Constant - Duration = 3,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==2)),coef_social_Calibration_Constant_Duration_eq_3 +util_social_Calibration_Constant_Duration_eq_4,SOCIAL - Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==3)),coef_social_Calibration_Constant_Duration_eq_4 +util_social_Calibration_Constant_Duration_eq_5,SOCIAL - Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==4)),coef_social_Calibration_Constant_Duration_eq_5 +util_social_Calibration_Constant_Duration_eq_6,SOCIAL - Calibration Constant - Duration = 6,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==5)),coef_social_Calibration_Constant_Duration_eq_6 +util_social_Calibration_Constant_Duration_eq_7,SOCIAL - Calibration Constant - Duration = 7,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==6)),coef_social_Calibration_Constant_Duration_eq_7 +util_social_Calibration_Constant_Duration_eq_8,SOCIAL - Calibration Constant - Duration = 8,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==7)),coef_social_Calibration_Constant_Duration_eq_8 +util_social_Calibration_Constant_Duration_eq_9,SOCIAL - Calibration Constant - Duration = 9,@((df.tour_category == 'joint') & (df.tour_type == 'social') & (df.duration ==8)),coef_social_Calibration_Constant_Duration_eq_9 +#DISCRETIONARY,#DISCRETIONARY,,DISCRETIONARY +util_disc_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.retired_adults_only_hh) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear +util_disc_Zero_auto_households_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Zero_auto_households_Duration_lt_1p5_hrs_Linear +util_disc_Zero_auto_households_Duration_gt_1p5_hrs_Linear,DISCRETIONARY - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership == 0) & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Zero_auto_households_Duration_gt_1p5_hrs_Linear +util_disc_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,DISCRETIONARY - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership > 0) & (df.tour_type == 'othdiscr') & (df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)),0)",coef_disc_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear +util_disc_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,DISCRETIONARY - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.auto_ownership > 0) &(df.tour_type == 'othdiscr')&(df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear +util_disc_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,DISCRETIONARY - Kids in Joint Tour: Duration < 1.5 hrs,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3) & ((df.ptype == 6) | (df.ptype == 7) | (df.ptype == 8))), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Kids_in_Joint_Tour_Duration_lt_1p5_hrs +util_disc_Kids_in_Joint_Tour_Duration_gt_1p5_hr,DISCRETIONARY - Kids in Joint Tour: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & ((df.ptype == 6) | (df.ptype == 7) | (df.ptype == 8))), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_disc_Kids_in_Joint_Tour_Duration_gt_1p5_hr +util_disc_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,DISCRETIONARY - Joint Tours Party Size > 2: Duration > 1.5 hr,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3) & (df.number_of_participants > 2)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)), 0)",coef_disc_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr +util_disc_Auto_Distance_Duration_lt_1_hrs_Linear,DISCRETIONARY - Auto Distance: Duration < 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0)) * (df.origin_to_destination_distance), 0)",coef_disc_Auto_Distance_Duration_lt_1_hrs_Linear +util_disc_Auto_Distance_Duration_gt_1_hrs_Linear,DISCRETIONARY - Auto Distance: Duration > 1 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>3)), (np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_disc_Auto_Distance_Duration_gt_1_hrs_Linear +util_disc_Departure_Constant_Shift_for_every_30_minutes_before_07_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 07:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<9)), (np.where((df.start<9), np.minimum(9-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48),0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_07_30_pm_Linear +util_disc_Departure_Constant_Before_7_30_AM_,DISCRETIONARY - Departure Constant: Before 7:30 AM ,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<10)),coef_disc_Departure_Constant_Before_7_30_AM_ +util_disc_Departure_Constant_7_30_AM_to_8_00_AM,DISCRETIONARY - Departure Constant: 7:30 AM to 8:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==10)),coef_disc_Departure_Constant_7_30_AM_to_8_00_AM +util_disc_Departure_Constant_8_00_AM_to_8_30_AM,DISCRETIONARY - Departure Constant: 8:00 AM to 8:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==11)),coef_disc_Departure_Constant_8_00_AM_to_8_30_AM +util_disc_Departure_Constant_8_30_AM_to_9_00_AM,DISCRETIONARY - Departure Constant: 8:30 AM to 9:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==12)),coef_disc_Departure_Constant_8_30_AM_to_9_00_AM +util_disc_Departure_Constant_9_00_AM_to_9_30_AM,DISCRETIONARY - Departure Constant: 9:00 AM to 9:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==13)),coef_disc_Departure_Constant_9_00_AM_to_9_30_AM +util_disc_Departure_Constant_9_30_AM_to_10_00_AM,DISCRETIONARY - Departure Constant: 9:30 AM to 10:00 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==14)),coef_disc_Departure_Constant_9_30_AM_to_10_00_AM +util_disc_Departure_Constant_10_00_AM_to_10_30_AM,DISCRETIONARY - Departure Constant: 10:00 AM to 10:30 AM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==15)),coef_disc_Departure_Constant_10_00_AM_to_10_30_AM +util_disc_Departure_Constant_Shift_for_every_30_minutes_before_04_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 04:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<28)), (np.where((df.start<28), np.minimum(28-df.start,8),0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_04_30_pm_Linear +util_disc_Departure_Constant_Before_05_00_PM,DISCRETIONARY - Departure Constant: Before 05:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start<29)),coef_disc_Departure_Constant_Before_05_00_PM +util_disc_Departure_Constant_05_00_PM_05_30_PM,DISCRETIONARY - Departure Constant: 05:00 PM - 05:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==29)),coef_disc_Departure_Constant_05_00_PM_05_30_PM +util_disc_Departure_Constant_05_30_PM_06_00_PM,DISCRETIONARY - Departure Constant: 05:30 PM - 06:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==30)),coef_disc_Departure_Constant_05_30_PM_06_00_PM +util_disc_Departure_Constant_06_00_PM_06_30_PM,DISCRETIONARY - Departure Constant: 06:00 PM - 06:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==31)),coef_disc_Departure_Constant_06_00_PM_06_30_PM +util_disc_Departure_Constant_06_30_PM_07_00_PM,DISCRETIONARY - Departure Constant: 06:30 PM - 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==32)),coef_disc_Departure_Constant_06_30_PM_07_00_PM +util_disc_Departure_Constant_After_07_00_PM,DISCRETIONARY - Departure Constant: After 07:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start>32)),coef_disc_Departure_Constant_After_07_00_PM +util_disc_Departure_Constant_Shift_for_every_30_minutes_after_07_30_pm_Linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes after 07:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start>33)), (np.where((df.start<28), np.minimum(28-df.start,8), 0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_disc_Departure_Constant_Shift_for_every_30_minutes_after_07_30_pm_Linear +util_disc_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end<31)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_disc_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear +util_disc_Arrival_Constant_Before_6_30_PM,DISCRETIONARY - Arrival Constant: Before 6:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end<32)),coef_disc_Arrival_Constant_Before_6_30_PM +util_disc_Arrival_Constant_6_30_PM_to_7_00_PM,DISCRETIONARY - Arrival Constant: 6:30 PM to 7:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==32)),coef_disc_Arrival_Constant_6_30_PM_to_7_00_PM +util_disc_Arrival_Constant_7_00_PM_to_7_30_PM,DISCRETIONARY - Arrival Constant: 7:00 PM to 7:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==33)),coef_disc_Arrival_Constant_7_00_PM_to_7_30_PM +util_disc_Arrival_Constant_7_30_PM_to_8_00_PM,DISCRETIONARY - Arrival Constant: 7:30 PM to 8:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==34)),coef_disc_Arrival_Constant_7_30_PM_to_8_00_PM +util_disc_Arrival_Constant_8_00_PM_to_8_30_PM,DISCRETIONARY - Arrival Constant: 8:00 PM to 8:30 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==35)),coef_disc_Arrival_Constant_8_00_PM_to_8_30_PM +util_disc_Arrival_Constant_8_30_PM_to_9_00_PM,DISCRETIONARY - Arrival Constant: 8:30 PM to 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end==36)),coef_disc_Arrival_Constant_8_30_PM_to_9_00_PM +util_disc_Arrival_Constant_After_9_00_PM,DISCRETIONARY - Arrival Constant: After 9:00 PM,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end>36)),coef_disc_Arrival_Constant_After_9_00_PM +util_disc_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48),0)), 0)",coef_disc_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear +util_disc_Duration_Constant_0_hours,DISCRETIONARY - Duration Constant: 0 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==0),coef_disc_Duration_Constant_0_hours +util_disc_Duration_Constant_0p5_hous,DISCRETIONARY - Duration Constant: 0.5 hous,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==1),coef_disc_Duration_Constant_0p5_hous +util_disc_Duration_Constant_1_hour,DISCRETIONARY - Duration Constant: 1 hour,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==2),coef_disc_Duration_Constant_1_hour +util_disc_Duration_Constant_1p5_hours,DISCRETIONARY - Duration Constant: 1.5 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3),coef_disc_Duration_Constant_1p5_hours +util_disc_Duration_Constant_2_hours,DISCRETIONARY - Duration Constant: 2 hours,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4),coef_disc_Duration_Constant_2_hours +util_disc_Duration_Constant_2p5_hours_or_more,DISCRETIONARY - Duration Constant: 2.5 hours or more,@(df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>4),coef_disc_Duration_Constant_2p5_hours_or_more +util_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,DISCRETIONARY - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,47), 0)), 0)",coef_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear +util_disc_Calibration_Constant_Duration_eq_4,DISCRETIONARY -Calibration Constant - Duration = 4,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==3)),coef_disc_Calibration_Constant_Duration_eq_4 +util_disc_Calibration_Constant_Duration_eq_5,DISCRETIONARY -Calibration Constant - Duration = 5,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.duration==4)),coef_disc_Calibration_Constant_Duration_eq_5 +util_disc_Calibration_Constant_Departure_eq_29,DISCRETIONARY -Calibration Constant - Departure = 29,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==29)),coef_disc_Calibration_Constant_Departure_eq_29 +util_disc_Calibration_Constant_Departure_eq_30,DISCRETIONARY -Calibration Constant - Departure = 30,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==30)),coef_disc_Calibration_Constant_Departure_eq_30 +util_disc_Calibration_Constant_Departure_eq_31,DISCRETIONARY -Calibration Constant - Departure = 31,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==31)),coef_disc_Calibration_Constant_Departure_eq_31 +util_disc_Calibration_Constant_Departure_eq_32,DISCRETIONARY -Calibration Constant - Departure = 32,@((df.tour_category == 'joint') & (df.tour_type == 'othdiscr') & (df.start==32)),coef_disc_Calibration_Constant_Departure_eq_32 diff --git a/activitysim/examples/prototype_mwcog/configs/tour_scheduling_joint_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_joint_coeffs.csv new file mode 100644 index 0000000000..1717ce5239 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_joint_coeffs.csv @@ -0,0 +1,307 @@ +coefficient_name,value,constrain +coef_escort_Mode_Choice_Logsum,1.173173034,F +coef_escort_Distance_to_destination_Duration_less_than_0p5_hours_depart_and_arrive_in_the_same_period,-0.335017673,F +coef_escort_Distance_to_destination_Duration_greater_than_0p5_hours,0.005298165,F +coef_escort_Fulltime_worker_Departure_after_8_00_am_Linear,-0.037980109,F +coef_escort_Fulltime_worker_Departure_after_3_00_am_Linear,0.163254125,F +coef_escort_Fulltime_worker_Duration_lt_0p5_hrs,-0.275077482,F +coef_escort_Fulltime_worker_Duration_gt_0p5_hrs,0.051530545,F +coef_escort_University_student_Duration_lt_0p5_hrs,-0.426802718,F +coef_escort_Nondriving_age_student_Duration_gt_0p5_hrs,0.240582361,F +coef_escort_Driving_age_student_Duration_lt_0p5_hrs,-0.554146191,F +coef_escort_Driving_age_student_Duration_gt_0p5_hrs,0.299387708,F +coef_escort_Preschool_kid_Duration_gt_0p5_hrs,0.195482563,F +coef_escort_Medhigh_income_60k_to_120k_Duration_gt_0p5_hrs,-0.029281467,F +coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_7_30_AM,0.589083327,F +coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_8_00_AM,0.086690827,F +coef_escort_Households_with_no_kids_Dummy_1_0_Departure_before_2_30_PM,0.477582648,F +coef_escort_Households_with_no_kids_Dummy_1_0_Departure_after_3_00_PM,-0.204065502,F +coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_8_00_AM,-0.360039254,F +coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_8_30_AM,0.091614107,F +coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_before_3_00_PM,0.432854268,F +coef_escort_Households_with_no_kids_Dummy_1_0_Arrival_after_3_30_PM,0.131037275,F +coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,0.109700265,F +coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_3_00_PM,-0.224568648,F +coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_8_00_AM,-0.357416434,F +coef_escort_PreSchool_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_before_3_00_PM,0.629285298,F +coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Departure_after_8_00_AM,0.039005148,F +coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_8_30_AM,-0.06556611,F +coef_escort_Driving_age_School_Child_in_HH_with_Mandatory_tour_Dummy_1_0_Arrival_after_3_30_PM,0.117680977,F +coef_escort_Number_of_autos_greater_than_number_of_adults_Duration_gt_0p5_hrs,-0.057322708,F +coef_escort_Number_of_Individual_Tours_excluding_escorting_Duration_gt_0p5_hrs,-0.062899692,F +coef_escort_Number_of_joint_tours_Duration_gt_0p5_hrs,-0.048533895,F +coef_escort_Departure_Constant_Shift_for_every_30_minutes_before_06_30_am_Linear,-1.469240002,F +coef_escort_Departure_Constant_Before_07_00_AM,-2.070292862,F +coef_escort_Departure_Constant_07_00_AM_07_30_AM,-0.642734296,F +coef_escort_Departure_Constant_07_30_AM_08_00_AM,0,T +coef_escort_Departure_Constant_08_00_AM_08_30_AM,-0.214617667,F +coef_escort_Departure_Constant_08_30_AM_09_00_AM,-0.147266606,F +coef_escort_Departure_Constant_After_09_00_AM,-1.356686422,F +coef_escort_Departure_Constant_01_30_PM_02_00_PM,0.368092381,F +coef_escort_Departure_Constant_02_00_PM_02_30_PM,1.166803383,F +coef_escort_Departure_Constant_02_30_PM_03_00_PM,1.28466083,F +coef_escort_Departure_Constant_03_00_PM_03_30_PM,0.581891245,F +coef_escort_Departure_Constant_After_03_30_PM,0.834510243,F +coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,0.175257649,F +coef_escort_Departure_Constant_Shift_for_every_30_minutes_after_4_00_pm_Linear,-0.019161202,F +coef_escort_Arrival_Constant_Shift_for_every_30_minutes_before_6_30_am_Linear,0.44978138,F +coef_escort_Arrival_Constant_Before_07_00_AM,0.549584585,F +coef_escort_Arrival_Constant_07_00_AM_07_30_AM,0.488181278,F +coef_escort_Arrival_Constant_07_30_AM_08_00_AM,0.236447651,F +coef_escort_Arrival_Constant_08_00_AM_08_30_AM,0,T +coef_escort_Arrival_Constant_08_30_AM_09_00_AM,-0.683756801,F +coef_escort_Arrival_Constant_After_09_00_AM,-1.428888485,F +coef_escort_Arrival_Constant_02_30_PM_03_00_PM,1.311480662,F +coef_escort_Arrival_Constant_03_00_PM_03_30_PM,1.316883154,F +coef_escort_Arrival_Constant_03_30_PM_04_00_PM,1.396838392,F +coef_escort_Arrival_Constant_04_00_PM_04_30_PM,1.03146139,F +coef_escort_Arrival_Constant_After_04_30_PM,0.907344583,F +coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_9_30_am_Linear,-0.148408887,F +coef_escort_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,-0.389082896,F +coef_escort_Duration_Constant_0_hrs,-0.173757322,F +coef_escort_Duration_Constant_0p5_hrs,0,T +coef_escort_Duration_Constant_1_hrs,-0.431287743,F +coef_escort_Duration_Constant_1p5hrs,-0.700473959,F +coef_escort_Duration_Constant_2_hrs,-1.071871358,F +coef_escort_Duration_Constant_Longer_than_2_hrs,-1.691098421,F +coef_escort_Calibration_Constant_Duration_eq_1,-0.047200214,F +coef_escort_Calibration_Constant_Duration_eq_2,0.035611332,F +coef_escort_Calibration_Constant_Departure_eq_9,0.106814756,F +coef_escort_Calibration_Constant_Departure_eq_10,0.215386864,F +coef_escort_Calibration_Constant_Departure_eq_23,-0.255087318,F +coef_escort_Calibration_Constant_Departure_eq_24,-0.296870428,F +coef_shop_Joint_Shopping_tours_dummy_Departure_before_10_00_AM_Linear,-0.190727375,F +coef_shop_Joint_Shopping_tours_dummy_Departure_after_10_30_AM_Linear,-0.029551313,F +coef_shop_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,-0.291965906,F +coef_shop_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.045755784,F +coef_shop_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,-0.571185116,F +coef_shop_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.468815184,F +coef_shop_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.047470039,F +coef_shop_Low_Income_lteq25_000_Duration_gt_1p5_hr,0.040776383,F +coef_shop_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,0.108462927,F +coef_shop_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,-0.037893416,F +coef_shop_Distance_Duration_lt_1p5_hrs,-0.214802537,F +coef_shop_Distance_Duration_gt_1p5_hr,0.007991656,F +coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,-0.959875456,F +coef_shop_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Square_root,1.112594898,F +coef_shop_Departure_Constant_Before_09_00_AM,-0.446394064,F +coef_shop_Departure_Constant_09_00_AM_09_30_AM,-0.021669265,F +coef_shop_Departure_Constant_09_30_AM_10_00_AM,-0.282978638,F +coef_shop_Departure_Constant_10_00_AM_10_30_AM,0,T +coef_shop_Departure_Constant_10_30_AM_11_00_AM,-0.309421311,F +coef_shop_Departure_Constant_After_11_00_AM,-0.541073357,F +coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,-0.072013428,F +coef_shop_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,-0.000653398,F +coef_shop_Arrival_Constant_Shift_for_every_30_minutes_before_12_00_pm_Linear,-0.18376635,F +coef_shop_Arrival_Constant_Before_12_30_PM,-0.716195343,F +coef_shop_Arrival_Constant_12_30_PM_03_00_PM,-0.502714001,F +coef_shop_Arrival_Constant_03_00_PM_03_30_PM,-0.167868872,F +coef_shop_Arrival_Constant_03_30_PM_04_00_PM,-0.156786941,F +coef_shop_Arrival_Constant_04_00_PM_04_30_PM,0,T +coef_shop_Arrival_Constant_04_30_PM_05_00_PM,-0.057314044,F +coef_shop_Arrival_Constant_05_00_PM_05_30_PM,-0.580040851,F +coef_shop_Arrival_Constant_05_30_PM_07_00_PM,-0.32239566,F +coef_shop_Arrival_Constant_07_00_PM_09_30_PM,-0.347828147,F +coef_shop_Arrival_Constant_After_09_30_PM,-1.123574723,F +coef_shop_Arrival_Constant_Shift_for_every_30_minutes_after_10_00_pm_Linear,-0.499770654,F +coef_shop_Duration_Constant_0_hrs,-0.131743185,F +coef_shop_Duration_Constant_0p5_hrs,0.888857137,F +coef_shop_Duration_Constant_1_hrs,0,T +coef_shop_Duration_Constant_1p5hrs,-0.333413031,F +coef_shop_Duration_Constant_2_hrs,-0.850897912,F +coef_shop_Duration_Constant_Longer_than_2_hrs,-1.203783479,F +coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Linear,-0.293581223,F +coef_shop_Duration_Constant_Duration_gt_2p5_hrs_Square_root,-0.215759138,F +coef_shop_Calibration_Constant_Duration_eq_1,-0.138450424,F +coef_shop_Calibration_Constant_Duration_eq_2,-0.092704403,F +coef_shop_Calibration_Constant_Duration_eq_3,-0.087738073,F +coef_maint_Joint_Maintenance_tours_dummy_Departure_before_10_00_AM_Linear,-0.139150288,F +coef_maint_Joint_Maintenance_tours_dummy_Departure_after_10_30_AM_Linear,-0.065786345,F +coef_maint_Joint_Tours_Party_Size_gt_2_Duration_lt_1p5_hrs,-0.291965906,F +coef_maint_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.045755784,F +coef_maint_Joint_Tour_with_only_adults_Duration_lt_1p5_hrs,-0.571185116,F +coef_maint_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.468815184,F +coef_maint_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.047470039,F +coef_maint_Low_Income_lteq25_000_Duration_gt_1p5_hr,0.040776383,F +coef_maint_Medium_Income_25_001_to_60_000_Duration_lt_1p5_hrs,0.108462927,F +coef_maint_Medium_Income_25_001_to_60_000_Duration_gt_1p5_hr,0,T +coef_maint_MediumHigh_Income_60_001_to_120_00_Duration_gt_1p5_hr,-0.037893416,F +coef_maint_Distance_Duration_lt_1p5_hrs,-0.214802537,F +coef_maint_Distance_Duration_gt_1p5_hr,0.007991656,F +coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Linear,-0.864112609,F +coef_maint_Departure_Constant_Shift_for_every_30_minutes_before_07_30_am_Square_Root,0.504598473,F +coef_maint_Departure_Constant_Before_08_00_AM,-0.383711788,F +coef_maint_Departure_Constant_08_00_AM_08_30_AM,-0.076771517,F +coef_maint_Departure_Constant_08_30_AM_09_00_AM,-0.169259979,F +coef_maint_Departure_Constant_09_00_AM_09_30_AM,-0.051785379,F +coef_maint_Departure_Constant_09_30_AM_10_00_AM,-0.214942451,F +coef_maint_Departure_Constant_10_00_AM_10_30_AM,0,T +coef_maint_Departure_Constant_10_30_AM_11_00_AM,-0.427568963,F +coef_maint_Departure_Constant_After_11_00_AM,-0.520863411,F +coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Linear,0.042879095,F +coef_maint_Departure_Constant_Shift_for_every_30_minutes_after_11_30_am_Squared,-0.003157293,F +coef_maint_Arrival_Constant_Shift_for_every_30_minutes_before_10_00_am_Linear,-0.226803619,F +coef_maint_Arrival_Constant_Before_10_30_AM,-0.223212258,F +coef_maint_Arrival_Constant_10_30_AM_11_00_AM,0,T +coef_maint_Arrival_Constant_11_00_AM_11_30_AM,-0.128382637,F +coef_maint_Arrival_Constant_11_30_AM_01_30_PM,0.167977332,F +coef_maint_Arrival_Constant_01_30_PM_02_30_PM,-0.149495878,F +coef_maint_Arrival_Constant_02_30_PM_04_00_PM,0.087679934,F +coef_maint_Arrival_Constant_04_00_PM_04_30_PM,0.121707557,F +coef_maint_Arrival_Constant_After_04_30_PM,0.106745013,F +coef_maint_Arrival_Constant_Shift_for_every_30_minutes_after_5_00_pm_Linear,-0.232610927,F +coef_maint_Duration_Constant_0_hrs,-0.483549396,F +coef_maint_Duration_Constant_0p5_hrs,0,T +coef_maint_Duration_Constant_Longer_than_0p5_hrs,-1.450618319,F +coef_maint_Duration_Constant_Duration_gt_1_hrs_Linear,-0.275082922,F +coef_maint_Duration_Constant_Duration_gt_1_hrs_Square_Root,0.208434683,F +coef_maint_Calibration_Constant_Duration_eq_1,-0.124602605,F +coef_maint_Calibration_Constant_Duration_eq_2,-0.103637715,F +coef_maint_Calibration_Constant_Duration_eq_3,-0.225442145,F +coef_maint_Calibration_Constant_Duration_eq_4,-0.145273012,F +coef_maint_Calibration_Constant_Duration_eq_5,-0.019241539,F +coef_eatout_Distance_to_destination_Duration_lt_1_hrs,-0.134981987,F +coef_eatout_Distance_to_destination_Duration_gt_1_hrs,0.017860742,F +coef_eatout_Low_income_lt25000_Duration_lt_1_hrs,1.002485807,F +coef_eatout_Medium_25k_to_60k_Duration_lt_1_hrs,0.499822018,F +coef_eatout_Zero_auto_HH_Duration_gt_1_hrs,0.259409942,F +coef_eatout_Kids_in_Joint_tour_Duration_lt_1_hrs,1.785123348,F +coef_eatout_Joint_Tours_Party_Size_greater_than_2_Duration_lt_1_hrs,-1.626003709,F +coef_eatout_Departure_Constant_11_00_AM_12_00_PM,0.531539506,F +coef_eatout_Departure_Constant_12_00_PM_12_30_PM,0.673838195,F +coef_eatout_Departure_Constant_12_30_PM_to_01_00_PM,0.422292261,F +coef_eatout_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,-0.033290717,F +coef_eatout_Departure_Constant_Before_05_30_PM,-0.561079452,F +coef_eatout_Departure_Constant_05_30_PM_06_00_PM,-0.178719161,F +coef_eatout_Departure_Constant_06_00_PM_06_30_PM,0,T +coef_eatout_Departure_Constant_06_30_PM_07_00_PM,-0.282095841,F +coef_eatout_Departure_Constant_07_00_PM_07_30_PM,-0.299748613,F +coef_eatout_Departure_Constant_After_07_30_PM,-0.845300559,F +coef_eatout_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,-0.667843486,F +coef_eatout_Arrival_Constant_12_30_PM_to_01_00_PM,2.002032369,F +coef_eatout_Arrival_Constant_01_00_PM_to_01_30_PM,2.115334472,F +coef_eatout_Arrival_Constant_01_30_PM_to_02_00_PM,1.647879687,F +coef_eatout_Arrival_Constant_02_00_PM_to_02_30_PM,1.525310078,F +coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_before_06_30_pm_Linear,-0.152980854,F +coef_eatout_Arrival_Constant_Before_7_00_PM,-0.41165142,F +coef_eatout_Arrival_Constant_7_00_PM_to_7_30_PM,-0.384557379,F +coef_eatout_Arrival_Constant_7_30_PM_to_8_00_PM,-0.044050359,F +coef_eatout_Arrival_Constant_8_00_PM_to_8_30_PM,0,T +coef_eatout_Arrival_Constant_8_30_PM_to_9_00_PM,-0.239939049,F +coef_eatout_Arrival_Constant_After_09_00_PM,-0.248639696,F +coef_eatout_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,-0.204771082,F +coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,-0.3357414,F +coef_eatout_Duration_Constant_0_hours,-4.268996522,F +coef_eatout_Duration_Constant_0p5_hous,-1.323297693,F +coef_eatout_Duration_Constant_1_hour,0,T +coef_eatout_Duration_Constant_1p5_hours,-0.195669185,F +coef_eatout_Duration_Constant_2_hours_or_more,-0.523723192,F +coef_eatout_Duration_Constant_Shift_for_every_30_minutes_more_than_2p5_hrs_Linear,-0.649331488,F +coef_eatout_Calibration_Constant_Duration_eq_1,-0.333697861,F +coef_eatout_Calibration_Constant_Duration_eq_2,-0.245716,F +coef_eatout_Calibration_Constant_Duration_eq_3,0.052708833,F +coef_eatout_Calibration_Constant_Duration_eq_4,0.041571499,F +coef_eatout_Calibration_Constant_Departure_eq_1,-10,F +coef_eatout_Calibration_Constant_Departure_eq_2,-10,F +coef_eatout_Calibration_Constant_Departure_eq_3,-10,F +coef_eatout_Calibration_Constant_Departure_eq_17,0.706568704,F +coef_eatout_Calibration_Constant_Departure_eq_18,0.634353544,F +coef_eatout_Calibration_Constant_Departure_eq_19,0.584387268,F +coef_eatout_Calibration_Constant_Departure_eq_20,0.469777884,F +coef_eatout_Calibration_Constant_Departure_eq_21,0.39548931,F +coef_social_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,-0.312282762,F +coef_social_Zero_auto_households_Duration_lt_1p5_hrs_Linear,-0.508439932,F +coef_social_Zero_auto_households_Duration_gt_1p5_hrs_Linear,0.074190914,F +coef_social_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,0.127185965,F +coef_social_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,0.048756122,F +coef_social_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.559947083,F +coef_social_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.115347031,F +coef_social_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.104494637,F +coef_social_Auto_Distance_Duration_lt_1_hrs_Linear,-0.162965435,F +coef_social_Auto_Distance_Duration_gt_1_hrs_Linear,0.006797399,F +coef_social_Departure_Constant_Shift_for_every_30_minutes_before_08_30_am_Linear,-0.529943196,F +coef_social_Departure_Constant_Before_09_00_AM,-0.198438086,F +coef_social_Departure_Constant_09_00_AM_to_09_30_AM,0.137620628,F +coef_social_Departure_Constant_Shift_for_every_30_minutes_before_05_00_pm_Linear,-0.142078961,F +coef_social_Departure_Constant_Before_05_30_PM,-0.390965052,F +coef_social_Departure_Constant_05_30_PM_06_00_PM,-0.453580491,F +coef_social_Departure_Constant_06_00_PM_06_30_PM,0,T +coef_social_Departure_Constant_06_30_PM_07_00_PM,-0.088537991,F +coef_social_Departure_Constant_07_00_PM_07_30_PM,0.052983115,F +coef_social_Departure_Constant_After_07_30_PM,-0.649629162,F +coef_social_Departure_Constant_Shift_for_every_30_minutes_after_08_00_pm_Linear,-0.09574499,F +coef_social_Arrival_Constant_03_00_PM_to_03_30_PM,0.37674882,F +coef_social_Arrival_Constant_03_30_PM_to_04_00_PM,0.583355461,F +coef_social_Arrival_Constant_04_00_PM_to_04_30_PM,0.727855233,F +coef_social_Arrival_Constant_05_00_PM_to_06_00_PM,0.249551955,F +coef_social_Arrival_Constant_Shift_for_every_30_minutes_before_08_00_pm_Linear,0.053771388,F +coef_social_Arrival_Constant_Before_8_30_PM,0.308763611,F +coef_social_Arrival_Constant_8_30_PM_to_9_00_PM,-0.208797698,F +coef_social_Arrival_Constant_9_00_PM_to_9_30_PM,-0.336319511,F +coef_social_Arrival_Constant_9_30_PM_to10_00_PM,0,T +coef_social_Arrival_Constant_10_00_PM_to_10_30_PM,-0.055707591,F +coef_social_Arrival_Constant_After_10_30_PM,-0.612356296,F +coef_social_Arrival_Constant_Shift_for_every_30_minutes_after_11_00_pm_Linear,-0.348479901,F +coef_social_Duration_Constant_Shift_for_every_30_minutes_less_than_1p5_hrs_Linear,0.619073863,F +coef_social_Duration_Constant_Less_than_2_hours,-0.584024011,F +coef_social_Duration_Constant_2_hours,-0.271552271,F +coef_social_Duration_Constant_2p5_hours,0,T +coef_social_Duration_Constant_3_hours_or_more,0.042083404,F +coef_social_Duration_Constant_Shift_for_every_30_minutes_more_than_3p5_hrs_Linear,-0.13049452,F +coef_social_Calibration_Constant_Duration_eq_1,-1.346772472,F +coef_social_Calibration_Constant_Duration_eq_2,0.377121689,F +coef_social_Calibration_Constant_Duration_eq_3,0.179818928,F +coef_social_Calibration_Constant_Duration_eq_4,-0.283418619,F +coef_social_Calibration_Constant_Duration_eq_5,-0.103541313,F +coef_social_Calibration_Constant_Duration_eq_6,-0.03704707,F +coef_social_Calibration_Constant_Duration_eq_7,-0.062437167,F +coef_social_Calibration_Constant_Duration_eq_8,0.047640282,F +coef_social_Calibration_Constant_Duration_eq_9,0.284369793,F +coef_disc_Retiree_Nonworking_senior_only_HH_Duration_lt_1p5_hrs_Linear,-0.312282762,F +coef_disc_Zero_auto_households_Duration_lt_1p5_hrs_Linear,-0.508439932,F +coef_disc_Zero_auto_households_Duration_gt_1p5_hrs_Linear,0.074190914,F +coef_disc_Number_of_auto_more_that_number_of_adults_Duration_lt_1p5_hrs_Linear,0.127185965,F +coef_disc_Number_of_auto_more_that_number_of_adults_Duration_gt_1p5_hrs_Linear,0.048756122,F +coef_disc_Kids_in_Joint_Tour_Duration_lt_1p5_hrs,-0.559947083,F +coef_disc_Kids_in_Joint_Tour_Duration_gt_1p5_hr,-0.115347031,F +coef_disc_Joint_Tours_Party_Size_gt_2_Duration_gt_1p5_hr,0.104494637,F +coef_disc_Auto_Distance_Duration_lt_1_hrs_Linear,-0.162965435,F +coef_disc_Auto_Distance_Duration_gt_1_hrs_Linear,0.006797399,F +coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_07_30_pm_Linear,-0.742176805,F +coef_disc_Departure_Constant_Before_7_30_AM_,-1.323901585,F +coef_disc_Departure_Constant_7_30_AM_to_8_00_AM,-0.695441631,F +coef_disc_Departure_Constant_8_00_AM_to_8_30_AM,-0.269903336,F +coef_disc_Departure_Constant_8_30_AM_to_9_00_AM,-0.093709211,F +coef_disc_Departure_Constant_9_00_AM_to_9_30_AM,0.265634082,F +coef_disc_Departure_Constant_9_30_AM_to_10_00_AM,0.287521134,F +coef_disc_Departure_Constant_10_00_AM_to_10_30_AM,0.396547817,F +coef_disc_Departure_Constant_Shift_for_every_30_minutes_before_04_30_pm_Linear,-0.245885745,F +coef_disc_Departure_Constant_Before_05_00_PM,-1.344482349,F +coef_disc_Departure_Constant_05_00_PM_05_30_PM,-0.622632748,F +coef_disc_Departure_Constant_05_30_PM_06_00_PM,-0.456718676,F +coef_disc_Departure_Constant_06_00_PM_06_30_PM,-0.206896106,F +coef_disc_Departure_Constant_06_30_PM_07_00_PM,0,T +coef_disc_Departure_Constant_After_07_00_PM,-0.46439343,F +coef_disc_Departure_Constant_Shift_for_every_30_minutes_after_07_30_pm_Linear,-0.291998986,F +coef_disc_Arrival_Constant_Shift_for_every_30_minutes_before_06_00_pm_Linear,0.148649188,F +coef_disc_Arrival_Constant_Before_6_30_PM,0.668775963,F +coef_disc_Arrival_Constant_6_30_PM_to_7_00_PM,-0.053520826,F +coef_disc_Arrival_Constant_7_00_PM_to_7_30_PM,0.099726391,F +coef_disc_Arrival_Constant_7_30_PM_to_8_00_PM,0.063414092,F +coef_disc_Arrival_Constant_8_00_PM_to_8_30_PM,0,T +coef_disc_Arrival_Constant_8_30_PM_to_9_00_PM,-0.18610847,F +coef_disc_Arrival_Constant_After_9_00_PM,-0.423207857,F +coef_disc_Arrival_Constant_Shift_for_every_30_minutes_after_09_30_pm_Linear,-0.525545923,F +coef_disc_Duration_Constant_0_hours,-0.944257762,F +coef_disc_Duration_Constant_0p5_hous,-0.117695955,F +coef_disc_Duration_Constant_1_hour,0.438403665,F +coef_disc_Duration_Constant_1p5_hours,-0.002500048,F +coef_disc_Duration_Constant_2_hours,0,T +coef_disc_Duration_Constant_2p5_hours_or_more,0.239192556,F +coef_disc_Duration_Constant_Shift_for_every_30_minutes_more_than_3_hrs_Linear,-0.108260689,F +coef_disc_Calibration_Constant_Duration_eq_4,-0.132674257,F +coef_disc_Calibration_Constant_Duration_eq_5,-0.013371871,F +coef_disc_Calibration_Constant_Departure_eq_29,0.232927977,F +coef_disc_Calibration_Constant_Departure_eq_30,0.306104612,F +coef_disc_Calibration_Constant_Departure_eq_31,0.285520678,F +coef_disc_Calibration_Constant_Departure_eq_32,0.115886631,F diff --git a/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_eatout.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_eatout.csv new file mode 100644 index 0000000000..6c02794aa0 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_eatout.csv @@ -0,0 +1,60 @@ +Label,Description,Expression,Coefficient +#EAT-OUT,#EAT-OUT,,#EAT-OUT +util_eatout_distance_to_destination_duration_less_than_1_hr,EAT-OUT - Distance to destination - Duration < 1 hr,"@np.where(((df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) * (df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_less_than_1_hr +util_eatout_distance_to_destination_duration_greater_than_1_hr,EAT-OUT - Distance to destination - Duration > 1 hr,"@np.where(((df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)) *(df.origin_to_destination_distance), 0)",coef_eatout_distance_to_destination_duration_greater_than_1_hr +util_eatout_low_income_duration_less_than_1_hr,EAT-OUT - Low income (<25000) - Duration < 1 hr,"@np.where(((df.is_income_less25K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_low_income_duration_less_than_1_hr +util_eatout_medium_income_duration_less_than_1_hr,EAT-OUT - Medium (25k to 60k) - Duration < 1 hr,"@np.where(((df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_medium_income_duration_less_than_1_hr +util_eatout_zeroauto_HH_duration_greater_than_1_hr,EAT-OUT - Zero auto HH - Duration > 1 hrs,"@np.where(((df.auto_ownership == 0) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_zeroauto_HH_duration_greater_than_1_hr +util_eatout_university_student_departure_after_7_pm_linear,EAT-OUT - University student - Departure after 7:00 pm - Linear,"@np.where(((df.start>32) & (df.ptype == 3)), (np.where((df.start<=32), np.minimum(32-df.start,29), 0) + np.where((df.start>32), np.minimum(df.start-32,8), 0)), 0)",coef_eatout_university_student_departure_after_7_pm_linear +util_eatout_female_duration_less_than_1_hr,EAT-OUT - Female - Duration < 1 hr,"@np.where(((df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_less_than_1_hr +util_eatout_female_duration_greater_than_1_hr,EAT-OUT - Female - Duration > 1 hr,"@np.where(((df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,14), 0)), 0)",coef_eatout_female_duration_greater_than_1_hr +util_eatout_time_pressure_departure_before_6_30_pm,EAT-OUT - Time Pressure - Departure before 6:30 pm,"@np.where(((df.start<32)), (np.minimum(32-df.start,29)) * (np.log10 (30 *(tt.max_time_block_available(df.person_id)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_departure_before_6_30_pm +util_eatout_time_pressure_duration_less_than_1_hr,EAT-OUT - Time Pressure - Duration < 1 hrs,"@np.where(((df.duration<2)), np.minimum(2-df.duration,47) * (np.log10 (30 * (tt.max_time_block_available(df.person_id)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_eatout_time_pressure_duration_less_than_1_hr +util_eatout_departure_constant_7_30_am_to_9_am,EAT-OUT - Departure Constant: 07:30 AM - 09:00 AM,@((df.start>=10) & (df.start<=12)),coef_eatout_departure_constant_7_30_am_to_9_am +util_eatout_departure_constant_10_30_am_to_11_am,EAT-OUT - Departure Constant: 10:30 AM - 11:00 AM,@((df.start==16)),coef_eatout_departure_constant_10_30_am_to_11_am +util_eatout_departure_constant_11_am_to_11_30_am,EAT-OUT - Departure Constant: 11:00 AM - 11:30 AM,@((df.start==17)),coef_eatout_departure_constant_11_am_to_11_30_am +util_eatout_departure_constant_11_30_am_to_12_pm,EAT-OUT - Departure Constant: 11:30 AM - 12:00 PM,@((df.start==18)),coef_eatout_departure_constant_11_30_am_to_12_pm +util_eatout_departure_constant_12_pm_to_12_30_pm,EAT-OUT - Departure Constant: 12:00 PM - 12:30 PM,@((df.start==19)),coef_eatout_departure_constant_12_pm_to_12_30_pm +util_eatout_departure_constant_12_30_pm_to_1_pm,EAT-OUT - Departure Constant: 12:30 PM - 01:00 PM,@((df.start==20)),coef_eatout_departure_constant_12_30_pm_to_1_pm +util_eatout_departure_constant_1_pm_to_1_30_pm,EAT-OUT - Departure Constant: 01:00 PM - 01:30 PM,@((df.start==21)),coef_eatout_departure_constant_1_pm_to_1_30_pm +util_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes before 05:30 pm - Linear,"@np.where(((df.start<31)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_before_5_30_pm_linear +util_eatout_departure_constant_before_6_pm,EAT-OUT - Departure Constant: Before 06:00 PM,@((df.start<31)),coef_eatout_departure_constant_before_6_pm +util_eatout_departure_constant_6_pm_to_6_30_pm,EAT-OUT - Departure Constant: 06:00 PM - 06:30 PM,@((df.start==31)),coef_eatout_departure_constant_6_pm_to_6_30_pm +util_eatout_departure_constant_6_30_pm_to_7_pm,EAT-OUT - Departure Constant: 06:30 PM - 07:00 PM,@((df.start==32)),coef_eatout_departure_constant_6_30_pm_to_7_pm +util_eatout_departure_constant_7_pm_to_7_30_pm,EAT-OUT - Departure Constant: 07:00 PM - 07:30 PM,@((df.start==33)),coef_eatout_departure_constant_7_pm_to_7_30_pm +util_eatout_departure_constant_after_7_30_pm,EAT-OUT - Departure Constant: After 07:30 PM,@((df.start>33)),coef_eatout_departure_constant_after_7_30_pm +util_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,EAT-OUT - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where(((df.start>34)), (np.where((df.start<30), np.minimum(30-df.start,27), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_eatout_departure_constant_shift_for_every_30_minutes_after_8_pm_linear +util_eatout_arrival_constant_9_30_am_to_11_am,EAT-OUT - Arrival Constant: 9:30 AM to 11:00 AM,@((df.end>=14) & (df.end<=16)),coef_eatout_arrival_constant_9_30_am_to_11_am +util_eatout_arrival_constant_12_30_pm_to_1_pm,EAT-OUT - Arrival Constant: 12:30 PM to 01:00 PM,@((df.end==20)),coef_eatout_arrival_constant_12_30_pm_to_1_pm +util_eatout_arrival_constant_1_pm_to_1_30_pm,EAT-OUT - Arrival Constant: 01:00 PM to 01:30 PM,@((df.end==21)),coef_eatout_arrival_constant_1_pm_to_1_30_pm +util_eatout_arrival_constant_1_30_pm_to_2_pm,EAT-OUT - Arrival Constant: 01:30 PM to 02:00 PM,@((df.end==22)),coef_eatout_arrival_constant_1_30_pm_to_2_pm +util_eatout_arrival_constant_2_pm_to_2_30_pm,EAT-OUT - Arrival Constant: 02:00 PM to 02:30 PM,@((df.end==23)),coef_eatout_arrival_constant_2_pm_to_2_30_pm +util_eatout_arrival_constant_2_30_pm_to_3_pm,EAT-OUT - Arrival Constant: 02:30 PM to 03:00 PM,@((df.end==24)),coef_eatout_arrival_constant_2_30_pm_to_3_pm +util_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,@((df.end<31)),coef_eatout_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear +util_eatout_arrival_constant_before_6_30_pm,EAT-OUT - Arrival Constant: Before 6:30 PM,"@np.where(((df.end<32)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_before_6_30_pm +util_eatout_arrival_constant_6_30_pm_to_7_pm,EAT-OUT - Arrival Constant: 6:30 PM to 7:00 PM,@((df.end==32)),coef_eatout_arrival_constant_6_30_pm_to_7_pm +util_eatout_arrival_constant_7_pm_to_7_30_pm,EAT-OUT - Arrival Constant: 7:00 PM to 7:30 PM,@((df.end==33)),coef_eatout_arrival_constant_7_pm_to_7_30_pm +util_eatout_arrival_constant_7_30_pm_to_8_pm,EAT-OUT - Arrival Constant: 7:30 PM to 8:00 PM,@((df.end==34)),coef_eatout_arrival_constant_7_30_pm_to_8_pm +util_eatout_arrival_constant_8_pm_to_8_30_pm,EAT-OUT - Arrival Constant: 8:00 PM to 8:30 PM,@((df.end==35)),coef_eatout_arrival_constant_8_pm_to_8_30_pm +util_eatout_arrival_constant_8_30_pm_to_9_pm,EAT-OUT - Arrival Constant: 8:30 PM to 9:00 PM,@((df.end==36)),coef_eatout_arrival_constant_8_30_pm_to_9_pm +util_eatout_arrival_constant_after_9_pm,EAT-OUT - Arrival Constant: After 9:00 PM,@((df.tour_category != 'joint')& (df.end>36)),coef_eatout_arrival_constant_after_9_pm +util_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,EAT-OUT - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,24), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_eatout_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear +util_eatout_duration_constant_0_hour,EAT-OUT - Duration Constant: 0 hour,@((df.duration==0)),coef_eatout_duration_constant_0_hour +util_eatout_duration_constant_30_minutes,EAT-OUT - Duration Constant: 0.5 hour,@((df.duration==1)),coef_eatout_duration_constant_30_minutes +util_eatout_duration_constant_1_hour,EAT-OUT - Duration Constant: 1 hour,@((df.duration==2)),coef_eatout_duration_constant_1_hour +util_eatout_duration_constant_1_hour_30_minutes,EAT-OUT - Duration Constant: 1.5 hours,@((df.duration==3)),coef_eatout_duration_constant_1_hour_30_minutes +util_eatout_duration_constant_2_hours,EAT-OUT - Duration Constant: 2 hours,@((df.tour_category != 'joint')& (df.duration==4)),coef_eatout_duration_constant_2_hours +util_eatout_duration_constant_2_hour_30_minutes_or_more,EAT-OUT - Duration Constant: 2.5 hours or more,@((df.duration>4)),coef_eatout_duration_constant_2_hour_30_minutes_or_more +util_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,EAT-OUT - Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,11), 0)), 0)",coef_eatout_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear +util_eatout_calibration_constant_duration_1,EAT-OUT - Calibration Constant - Duration = 1,@((df.duration==0)),coef_eatout_calibration_constant_duration_1 +util_eatout_calibration_constant_duration_2,EAT-OUT - Calibration Constant - Duration = 2,@((df.duration==1)),coef_eatout_calibration_constant_duration_2 +util_eatout_calibration_constant_duration_3,EAT-OUT - Calibration Constant - Duration = 3,@((df.duration==2)),coef_eatout_calibration_constant_duration_3 +util_eatout_calibration_constant_duration_4,EAT-OUT - Calibration Constant - Duration = 4,@((df.duration==3)),coef_eatout_calibration_constant_duration_4 +util_eatout_calibration_constant_departure_1,EAT-OUT - Calibration Constant - Departure = 1,@((df.start == 1)),coef_eatout_calibration_constant_departure_1 +util_eatout_calibration_constant_departure_2,EAT-OUT - Calibration Constant - Departure = 2,@((df.start == 2)),coef_eatout_calibration_constant_departure_2 +util_eatout_calibration_constant_departure_3,EAT-OUT - Calibration Constant - Departure = 3,@((df.start == 3)),coef_eatout_calibration_constant_departure_3 +util_eatout_calibration_constant_departure_17,EAT-OUT - Calibration Constant - Departure = 17,@((df.start ==17)),coef_eatout_calibration_constant_departure_17 +util_eatout_calibration_constant_departure_18,EAT-OUT - Calibration Constant - Departure = 18,@((df.start ==18)),coef_eatout_calibration_constant_departure_18 +util_eatout_calibration_constant_departure_19,EAT-OUT - Calibration Constant - Departure = 19,@((df.start ==19)),coef_eatout_calibration_constant_departure_19 +util_eatout_calibration_constant_departure_20,EAT-OUT - Calibration Constant - Departure = 20,@((df.start ==20)),coef_eatout_calibration_constant_departure_20 +util_eatout_calibration_constant_departure_21,EAT-OUT - Calibration Constant - Departure = 21,@((df.start ==21)),coef_eatout_calibration_constant_departure_21 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_eatout_coefficients.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_eatout_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_eatout_coefficients.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_eatout_coefficients.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_escort.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_escort.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_escort.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_escort.csv diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_escort_coefficients.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_escort_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_escort_coefficients.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_escort_coefficients.csv diff --git a/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othdiscr.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othdiscr.csv new file mode 100644 index 0000000000..69a5e039a2 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othdiscr.csv @@ -0,0 +1,55 @@ +Label,Description,Expression,Coefficient +#DISCRETIONARY,#DISCRETIONARY,,#DISCRETIONARY +util_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear +util_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear +util_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_non_working_senior_retiree_duration_less_than_1_hr_30_minutes_linear +util_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear,DISCRETIONARY - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_retiree_non_working_senior_only_HH_duration_1_hr_30_minutes_linear +util_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_less_than_1_hr_30_minutes_linear +util_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear +util_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)),0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear +util_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,DISCRETIONARY - Number of auto more that number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) &(df.tour_type == 'othdiscr')&(df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_discretionary_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear +"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, +util_discretionary_auto_distance_duration_less_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_less_than_1_hr_linear +util_discretionary_auto_distance_duration_greater_than_1_hr_linear,DISCRETIONARY - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_discretionary_auto_distance_duration_greater_than_1_hr_linear +util_discretionary_time_pressure_duration_less_than_1_hr,DISCRETIONARY - Time Pressure - Duration < 1 hr,"@np.where(((df.duration<3)), np.minimum(3-df.duration,47), 0) * (np.log10 (30 * (tt.max_time_block_available(df.person_id)/(1.0 + df.tour_count - df.tour_num))))",coef_discretionary_time_pressure_duration_less_than_1_hr +util_discretionary_time_pressure_duration_greater_than_1_hr,DISCRETIONARY - Time Pressure - Duration > 1 hr,"@np.where(((df.duration>3)), np.minimum(df.duration-3,47) * (np.log10 (30 * (tt.max_time_block_available(df.person_id)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_discretionary_time_pressure_duration_greater_than_1_hr +util_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,DISCRETIONARY - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.tour_category != 'joint')&(df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0))*(df.num_add_soc_discr_tours),0)",coef_discretionary_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr +util_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 07:30 pm - Linear,"@np.where(((df.start<9)), (np.where((df.start<9), np.minimum(9-df.start,48), 0) + np.where((df.start>48), np.minimum(df.start-48,48),0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_7_30_pm_linear +util_discretionary_departure_constant_before_7_30_am,DISCRETIONARY - Departure Constant: Before 7:30 AM ,@((df.start<10)),coef_discretionary_departure_constant_before_7_30_am +util_discretionary_departure_constant_7_30_am_to_8_am,DISCRETIONARY - Departure Constant: 7:30 AM to 8:00 AM,@((df.start==10)),coef_discretionary_departure_constant_7_30_am_to_8_am +util_discretionary_departure_constant_8_am_to_8_30_am,DISCRETIONARY - Departure Constant: 8:00 AM to 8:30 AM,@((df.start==11)),coef_discretionary_departure_constant_8_am_to_8_30_am +util_discretionary_departure_constant_8_30_am_to_9_am,DISCRETIONARY - Departure Constant: 8:30 AM to 9:00 AM,@((df.start==12)),coef_discretionary_departure_constant_8_30_am_to_9_am +util_discretionary_departure_constant_9_am_to_9_30_am,DISCRETIONARY - Departure Constant: 9:00 AM to 9:30 AM,@((df.start==13)),coef_discretionary_departure_constant_9_am_to_9_30_am +util_discretionary_departure_constant_9_30_am_to_10_am,DISCRETIONARY - Departure Constant: 9:30 AM to 10:00 AM,@((df.start==14)),coef_discretionary_departure_constant_9_30_am_to_10_am +util_discretionary_departure_constant_10_am_to_10_30_am,DISCRETIONARY - Departure Constant: 10:00 AM to 10:30 AM,@((df.start==15)),coef_discretionary_departure_constant_10_am_to_10_30_am +util_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes before 04:30 pm - Linear,"@np.where(((df.start<28)), (np.where((df.start<28), np.minimum(28-df.start,8),0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_before_4_30_pm_linear +util_discretionary_departure_constant_before_5_pm,DISCRETIONARY - Departure Constant: Before 05:00 PM,@((df.start<29)),coef_discretionary_departure_constant_before_5_pm +util_discretionary_departure_constant_5_pm_to_5_30_pm,DISCRETIONARY - Departure Constant: 05:00 PM - 05:30 PM,@((df.start==29)),coef_discretionary_departure_constant_5_pm_to_5_30_pm +util_discretionary_departure_constant_5_30_pm_to_6_pm,DISCRETIONARY - Departure Constant: 05:30 PM - 06:00 PM,@((df.start==30)),coef_discretionary_departure_constant_5_30_pm_to_6_pm +util_discretionary_departure_constant_6_pm_to_6_30_pm,DISCRETIONARY - Departure Constant: 06:00 PM - 06:30 PM,@((df.start==31)),coef_discretionary_departure_constant_6_pm_to_6_30_pm +util_discretionary_departure_constant_6_30_pm_to_7_pm,DISCRETIONARY - Departure Constant: 06:30 PM - 07:00 PM,@((df.start==32)),coef_discretionary_departure_constant_6_30_pm_to_7_pm +util_discretionary_departure_constant_after_7_pm,DISCRETIONARY - Departure Constant: After 07:00 PM,@((df.start>32)),coef_discretionary_departure_constant_after_7_pm +util_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear,DISCRETIONARY - Departure Constant: Shift for every 30 minutes after 07:30 pm - Linear,"@np.where(((df.start>33)), (np.where((df.start<28), np.minimum(28-df.start,8), 0) + np.where((df.start>33), np.minimum(df.start-33,6), 0)), 0)",coef_discretionary_departure_constant_shift_for_every_30_minutes_after_7_30_pm_linear +util_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes before 06:00 pm - Linear,"@np.where(((df.end<31)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48), 0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_before_6_pm_linear +util_discretionary_arrival_constant_before_6_30_pm,DISCRETIONARY - Arrival Constant: Before 6:30 PM,@((df.end<32)),coef_discretionary_arrival_constant_before_6_30_pm +util_discretionary_arrival_constant_6_30_pm_to_7_pm,DISCRETIONARY - Arrival Constant: 6:30 PM to 7:00 PM,@((df.end==32)),coef_discretionary_arrival_constant_6_30_pm_to_7_pm +util_discretionary_arrival_constant_7_pm_to_7_30_pm,DISCRETIONARY - Arrival Constant: 7:00 PM to 7:30 PM,@((df.end==33)),coef_discretionary_arrival_constant_7_pm_to_7_30_pm +util_discretionary_arrival_constant_7_30_pm_to_8_pm,DISCRETIONARY - Arrival Constant: 7:30 PM to 8:00 PM,@((df.end==34)),coef_discretionary_arrival_constant_7_30_pm_to_8_pm +util_discretionary_arrival_constant_8_pm_to_8_30_pm,DISCRETIONARY - Arrival Constant: 8:00 PM to 8:30 PM,@((df.end==35)),coef_discretionary_arrival_constant_8_pm_to_8_30_pm +util_discretionary_arrival_constant_8_30_pm_to_9_pm,DISCRETIONARY - Arrival Constant: 8:30 PM to 9:00 PM,@((df.end==36)),coef_discretionary_arrival_constant_8_30_pm_to_9_pm +util_discretionary_arrival_constant_after_9_pm,DISCRETIONARY - Arrival Constant: After 9:00 PM,@((df.end>36)),coef_discretionary_arrival_constant_after_9_pm +util_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear,DISCRETIONARY - Arrival Constant: Shift for every 30 minutes after 09:30 pm - Linear,"@np.where(((df.end>37)), (np.where((df.end<31), np.minimum(31-df.end,48), 0) + np.where((df.end>37), np.minimum(df.end-37,48),0)), 0)",coef_discretionary_arrival_constant_shift_for_every_30_minutes_after_9_30_pm_linear +util_discretionary_duration_constant_0_hour,DISCRETIONARY - Duration Constant: 0 hour,@((df.duration==0)),coef_discretionary_duration_constant_0_hour +util_discretionary_duration_constant_30_minutes,DISCRETIONARY -Duration Constant: 0.5 hour,@((df.duration==1)),coef_discretionary_duration_constant_30_minutes +util_discretionary_duration_constant_1_hour,DISCRETIONARY -Duration Constant: 1 hour,@((df.duration==2)),coef_discretionary_duration_constant_1_hour +util_discretionary_duration_constant_1_hr_30_minutes,DISCRETIONARY -Duration Constant: 1.5 hours,@((df.duration==3)),coef_discretionary_duration_constant_1_hr_30_minutes +util_discretionary_duration_constant_2_hours,DISCRETIONARY -Duration Constant: 2 hours,@((df.duration==4)),coef_discretionary_duration_constant_2_hours +util_discretionary_duration_constant_2_hr_30_minutes,DISCRETIONARY -Duration Constant: 2.5 hours,@((df.duration==5)),coef_discretionary_duration_constant_2_hr_30_minutes +util_discretionary_duration_constant_3_hours_or_more,DISCRETIONARY -Duration Constant: 3 hours or more,@((df.duration>5)),coef_discretionary_duration_constant_3_hours_or_more +util_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear,DISCRETIONARY -Duration Constant: Shift for every 30 minutes more than 3 hrs - Linear,"@np.where(((df.duration>6)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>6), np.minimum(df.duration-6,47), 0)), 0)",coef_discretionary_duration_constant_shift_for_every_30_minutes_more_than_3_hrs_linear +util_discretionary_calibration_constant_duration_4,DISCRETIONARY -Calibration Constant - Duration = 4,@((df.duration==3)),coef_discretionary_calibration_constant_duration_4 +util_discretionary_calibration_constant_duration_5,DISCRETIONARY -Calibration Constant - Duration = 5,@((df.duration==4)),coef_discretionary_calibration_constant_duration_5 +util_discretionary_calibration_constant_departure_29,DISCRETIONARY -Calibration Constant - Departure = 29,@((df.start==29)),coef_discretionary_calibration_constant_departure_29 +util_discretionary_calibration_constant_departure_30,DISCRETIONARY -Calibration Constant - Departure = 30,@((df.start==30)),coef_discretionary_calibration_constant_departure_30 +util_discretionary_calibration_constant_departure_31,DISCRETIONARY -Calibration Constant - Departure = 31,@((df.start==31)),coef_discretionary_calibration_constant_departure_31 +util_discretionary_calibration_constant_departure_32,DISCRETIONARY -Calibration Constant - Departure = 32,@((df.start==32)),coef_discretionary_calibration_constant_departure_32 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othdiscr_coefficients.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othdiscr_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othdiscr_coefficients.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othdiscr_coefficients.csv diff --git a/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othmaint.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othmaint.csv new file mode 100644 index 0000000000..04f26223ed --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othmaint.csv @@ -0,0 +1,54 @@ +Label,Description,Expression,Coefficient +#MAINTENANCE,#MAINTENANCE,,#MAINTENANCE +util_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Driving age student: Duration > 1.5 hrs,"@np.where(((df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_driving_age_student_duration_greater_than_1_hour_30_minutes +util_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Full-time worker: Duration > 1.5 hrs,"@np.where(((df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_full_time_worker_duration_greater_than_1_hour_30_minutes +util_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Non-driving Student: Duration > 1.5 hrs,"@np.where (((df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_non_driving_student_duration_greater_than_1_hour_30_minutes +util_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes,MAINTENANCE - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_pre_school_child_duration_less_than_1_hour_30_minutes +util_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_less_than_1_hour_30_minutes +util_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Part Time Worker: Duration > 1.5 hrs,"@np.where(((df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_part_time_worker_duration_greater_than_1_hour_30_minutes +util_maintenance_retired_duration_less_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration < 1.5 hrs,"@np.where(((df.duration<2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_less_than_1_hour_30_minutes +util_maintenance_retired_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Retired: Duration > 1.5 hr,"@np.where(((df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_retired_duration_greater_than_1_hour_30_minutes +util_maintenance_university_student_duration_greater_than_1_hour_30_minutes,MAINTENANCE - University Student: Duration > 1.5 hrs,"@np.where(((df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_university_student_duration_greater_than_1_hour_30_minutes +util_maintenance_female_duration_less_than_1_hour_30_minutes,MAINTENANCE - Female: Duration < 1.5 hrs,"@np.where(((df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_less_than_1_hour_30_minutes +util_maintenance_female_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Female: Duration > 1.5 hrs,"@np.where(((df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_female_duration_greater_than_1_hour_30_minutes +util_maintenance_low_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Low Income (<=$25,000): Duration > 1.5 hrs","@np.where(((df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_low_income_duration_greater_than_1_hour_30_minutes +util_maintenance_medium_income_duration_less_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_less_than_1_hour_30_minutes +util_maintenance_medium_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium Income ($25,001 to $60,000): Duration > 1.5 hrs","@np.where(((df.is_income_25K_to_60K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_income_duration_greater_than_1_hour_30_minutes +util_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes,"MAINTENANCE - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_medium_high_income_duration_greater_than_1_hour_30_minutes +util_maintenance_distance_duration_less_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration < 1.5 hrs,"@np.where(((df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_less_than_1_hour_30_minutes +util_maintenance_distance_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Distance: Duration > 1.5 hrs,"@np.where(((df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_maintenance_distance_duration_greater_than_1_hour_30_minutes +util_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes,Time Pressure - Duration > 1.5 hrs,"@np.where(((df.duration>2)), np.minimum(df.duration-2,26) * (np.log10 (30 * (tt.max_time_block_available(df.person_id)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_maintenance_time_pressure_duration_greater_than_1_hour_30_minutes +util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes +util_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,MAINTENANCE - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_category != 'joint')&(df.tour_type == 'othmaint')&(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.num_add_shop_maint_tours), 0)",coef_maintenance_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes +util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Linear,"@np.where(((df.start<10)), (np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_linear +util_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root,MAINTENANCE - Departure Constant: Shift for every 30 minutes before 07:30 am - Square Root,"@np.where(((df.start<10)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + (np.where((df.start>17), np.minimum(df.start-17,24), 0)))** 0.5), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_before_7_30_am_square_root +util_maintenance_departure_constant_before_8_am,MAINTENANCE - Departure Constant: Before 08:00 AM,@((df.start<11)),coef_maintenance_departure_constant_before_8_am +util_maintenance_departure_constant_8_am_to_8_30_am,MAINTENANCE - Departure Constant: 08:00 AM - 08:30 AM,@((df.start==11)),coef_maintenance_departure_constant_8_am_to_8_30_am +util_maintenance_departure_constant_8_30_am_to_9_00_am,MAINTENANCE - Departure Constant: 08:30 AM - 09:00 AM,@((df.start==12)),coef_maintenance_departure_constant_8_30_am_to_9_00_am +util_maintenance_departure_constant_9_am_to_9_30_am,MAINTENANCE - Departure Constant: 09:00 AM - 09:30 AM,@((df.start==13)),coef_maintenance_departure_constant_9_am_to_9_30_am +util_maintenance_departure_constant_9_30_am_to_10_am,MAINTENANCE - Departure Constant: 09:30 AM - 10:00 AM,@((df.start==14)),coef_maintenance_departure_constant_9_30_am_to_10_am +util_maintenance_departure_constant_10_am_to_10_30_am,MAINTENANCE - Departure Constant: 10:00 AM - 10:30 AM,@((df.start==15)),coef_maintenance_departure_constant_10_am_to_10_30_am +util_maintenance_departure_constant_10_30_am_to_11_am,MAINTENANCE - Departure Constant: 10:30 AM - 11:00 AM,@((df.start==16)),coef_maintenance_departure_constant_10_30_am_to_11_am +util_maintenance_departure_constant_after_11_am,MAINTENANCE - Departure Constant: After 11:00 AM,@((df.start>16)),coef_maintenance_departure_constant_after_11_am +util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.start>17)), np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear +util_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,MAINTENANCE - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.start>17)), ((np.where((df.start<10), np.minimum(10-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_maintenance_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared +util_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes before 10:00 am - Linear,"@np.where(((df.end<15)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_before_10_am_linear +util_maintenance_arrival_constant_before_10_30_am,MAINTENANCE - Arrival Constant: Before 10:30 AM,@((df.end<16)),coef_maintenance_arrival_constant_before_10_30_am +util_maintenance_arrival_constant_10_30_am_to_11_am,MAINTENANCE - Arrival Constant: 10:30 AM - 11:00 AM,@((df.end==16)),coef_maintenance_arrival_constant_10_30_am_to_11_am +util_maintenance_arrival_constant_11_am_to_11_30_am,MAINTENANCE - Arrival Constant: 11:00 AM - 11:30 AM,@((df.end==17)),coef_maintenance_arrival_constant_11_am_to_11_30_am +util_maintenance_arrival_constant_11_30_am_to_1_30_pm,MAINTENANCE - Arrival Constant: 11:30 AM - 01:30 PM,@((df.end>=18) & (df.end<=21)),coef_maintenance_arrival_constant_11_30_am_to_1_30_pm +util_maintenance_arrival_constant_1_30_pm_to_2_30_pm,MAINTENANCE - Arrival Constant: 01:30 PM - 02:30 PM,@((df.end>=22) & (df.end<=23)),coef_maintenance_arrival_constant_1_30_pm_to_2_30_pm +util_maintenance_arrival_constant_2_30_pm_to_4_pm,MAINTENANCE - Arrival Constant: 02:30 PM - 04:00 PM,@((df.end>=24) & (df.end<=26)),coef_maintenance_arrival_constant_2_30_pm_to_4_pm +util_maintenance_arrival_constant_4_pm_to_4_30_pm,MAINTENANCE - Arrival Constant: 04:00 PM - 04:30 PM,@((df.end==27)),coef_maintenance_arrival_constant_4_pm_to_4_30_pm +util_maintenance_arrival_constant_after_4_30_pm,MAINTENANCE - Arrival Constant: After 04:30 PM,@((df.end>27)),coef_maintenance_arrival_constant_after_4_30_pm +util_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear,MAINTENANCE - Arrival Constant: Shift for every 30 minutes after 5:00 pm - Linear,"@np.where(((df.end>28)), (np.where((df.end<15), np.minimum(15-df.end,9), 0) + np.where((df.end>28), np.minimum(df.end-28,16), 0)), 0)",coef_maintenance_arrival_constant_shift_for_every_30_minutes_after_5_pm_linear +util_maintenance_duration_constant_0_hr,MAINTENANCE - Duration Constant: 0 hr,@((df.duration==0)),coef_maintenance_duration_constant_0_hr +util_maintenance_duration_constant_30_minutes,MAINTENANCE - Duration Constant: 0.5 hr,@((df.duration==1)),coef_maintenance_duration_constant_30_minutes +util_maintenance_duration_constant_longer_than_30_minutes,MAINTENANCE - Duration Constant: Longer than 0.5 hr,@((df.duration>1)),coef_maintenance_duration_constant_longer_than_30_minutes +util_maintenance_duration_constant_duration_greater_than_1_hr_linear,MAINTENANCE - Duration Constant: Duration > 1 hr - Linear,"@np.where(((df.duration>2)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_linear +util_maintenance_duration_constant_duration_greater_than_1_hr_square_root,MAINTENANCE - Duration Constant: Duration > 1 hr - Square Root,"@np.where(((df.duration>2)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0))** 0.5), 0)",coef_maintenance_duration_constant_duration_greater_than_1_hr_square_root +util_maintenance_calibration_constant_duration_1,MAINTENANCE - Calibration Constant - Duration = 1,@((df.duration==0)),coef_maintenance_calibration_constant_duration_1 +util_maintenance_calibration_constant_duration_2,MAINTENANCE - Calibration Constant - Duration = 2,@((df.duration==1)),coef_maintenance_calibration_constant_duration_2 +util_maintenance_calibration_constant_duration_3,MAINTENANCE - Calibration Constant - Duration = 3,@((df.duration==2)),coef_maintenance_calibration_constant_duration_3 +util_maintenance_calibration_constant_duration_4,MAINTENANCE - Calibration Constant - Duration = 4,@((df.duration==3)),coef_maintenance_calibration_constant_duration_4 +util_maintenance_calibration_constant_duration_5,MAINTENANCE - Calibration Constant - Duration = 5,@((df.duration==4)),coef_maintenance_calibration_constant_duration_5 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othmaint_coefficients.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othmaint_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_othmaint_coefficients.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_othmaint_coefficients.csv diff --git a/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_shopping.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_shopping.csv new file mode 100644 index 0000000000..11211303e6 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_shopping.csv @@ -0,0 +1,54 @@ +Label,Description,Expression,Coefficient +#SHOPPING,,,#SHOPPING +util_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Driving age student: Duration > 1.5 hrs,"@np.where(((df.duration>2) & (df.ptype == 6)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_driving_age_student_duration_greater_than_1_hour_30_minutes +util_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Full-time worker: Duration > 1.5 hr,"@np.where(((df.duration>2) & (df.ptype == 1)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_full_time_worker_duration_greater_than_1_hour_30_minutes +util_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes,SHOPPING - Non-driving Student: Duration > 1.5 hrs,"@np.where(((df.duration>2) & ((df.ptype == 7)|(df.ptype == 8))), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_non_driving_student_duration_greater_than_1_hour_30_minutes +util_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes,SHOPPING - Pre-school Child: Duration < 1.5 hrs,"@np.where(((df.duration<2) & (df.ptype == 8)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_pre_school_child_duration_less_than_1_hour_30_minutes +util_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration < 1.5 hrs,"@np.where(((df.duration<2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shoppping_part_time_worker_duration_less_than_1_hour_30_minutes +util_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes,SHOPPING - Part Time Worker: Duration > 1.5 hr,"@np.where(((df.duration>2) & (df.ptype == 2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_part_time_worker_duration_greater_than_1_hour_30_minutes +util_shopping_retired_duration_less_than_1_hour_30_minutes,SHOPPING - Retired: Duration < 1.5 hrs,"@np.where(((df.duration<2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_less_than_1_hour_30_minutes +util_shopping_retired_duration_greater_than_1_hour_30_minutes,SHOPPING - Retired: Duration > 1.5 hr,"@np.where(((df.duration>2) & (df.ptype == 5)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_retired_duration_greater_than_1_hour_30_minutes +util_shopping_university_student_duration_greater_than_1_hour_30_minutes,SHOPPING - University Student: Duration > 1.5 hr,"@np.where(((df.duration>2) & (df.ptype == 3)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_university_student_duration_greater_than_1_hour_30_minutes +util_shopping_female_duration_less_than_1_hour_30_minutes,SHOPPING - Female: Duration < 1.5 hrs,"@np.where(((df.duration<2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_less_than_1_hour_30_minutes +util_shopping_female_duration_greater_than_1_hour_30_minutes,SHOPPING - Female: Duration > 1.5 hr,"@np.where(((df.duration>2) & (df.female)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_female_duration_greater_than_1_hour_30_minutes +util_shopping_low_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Low Income (<=$25,000): Duration > 1.5 hr","@np.where(((df.is_income_less25K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_low_income_duration_greater_than_1_hour_30_minutes +util_shopping_medium_income_duration_less_than_1_hour_30_minutes,"SHOPPING - Medium Income ($25,001 to $60,000): Duration < 1.5 hrs","@np.where(((df.is_income_25K_to_60K) & (df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_income_duration_less_than_1_hour_30_minutes +util_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes,"SHOPPING - Medium-High Income ($60,001 to $120,00): Duration > 1.5 hrs","@np.where(((df.is_income_60K_to_120K) & (df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2), np.minimum(df.duration-2,26), 0)), 0)",coef_shopping_medium_high_income_duration_greater_than_1_hour_30_minutes +util_shopping_distance_duration_less_than_1_hour_30_minutes,SHOPPING - Distance: Duration < 1.5 hrs,"@np.where(((df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_less_than_1_hour_30_minutes +util_shopping_distance_duration_greater_than_1_hour_30_minutes,SHOPPING - Distance: Duration > 1.5 hrs,"@np.where(((df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) * (df.origin_to_destination_distance), 0)",coef_shopping_distance_duration_greater_than_1_hour_30_minutes +util_shopping_time_pressure_duration_greater_than_1_hour_30_minutes,SHOPPING - Time Pressure - Duration > 1.5 hrs,"@np.where(((df.duration>2)), np.minimum(df.duration-2,26) *(np.log10 (30 *(tt.max_time_block_available(df.person_id)/(1.0 + df.tour_count - df.tour_num)))), 0)",coef_shopping_time_pressure_duration_greater_than_1_hour_30_minutes +util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration < 1.5 hrs,"@np.where(((df.duration<2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_less_than_1_hour_30_minutes +util_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes,SHOPPING - Number of additional individual shop and maint. tours - Duration > 1.5 hrs,"@np.where(((df.tour_type == 'shopping') &(df.duration>2)), (np.where((df.duration<=2), np.minimum(2-df.duration,1), 0) + np.where((df.duration>2),np.minimum(df.duration-2,26), 0)) *(df.num_add_shop_maint_tours), 0)",coef_shopping_number_of_additional_individual_shop_and_maint_tours_duration_greater_than_1_hour_30_minutes +util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@np.where(((df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear +util_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root,SHOPPING - Departure Constant: Shift for every 30 minutes before 08:30 am - Square root,"@np.where(((df.start<12)), (np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0))**0.5, 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_before_8_30_am_square_root +util_shopping_departure_constant_before_9_am,SHOPPING - Departure Constant: Before 09:00 AM,@((df.start<13)),coef_shopping_departure_constant_before_9_am +util_shopping_departure_constant_9_am_to_9_30_am,SHOPPING - Departure Constant: 09:00 AM - 09:30 AM,@((df.start==13)),coef_shopping_departure_constant_9_am_to_9_30_am +util_shopping_departure_constant_9_30_am_to_10_am,SHOPPING - Departure Constant: 09:30 AM - 10:00 AM,@((df.start==14)),coef_shopping_departure_constant_9_30_am_to_10_am +util_shopping_departure_constant_10_am_to_10_30_am,SHOPPING - Departure Constant: 10:00 AM - 10:30 AM,@((df.start==15)),coef_shopping_departure_constant_10_am_to_10_30_am +util_shopping_departure_constant_10_30_am_to_11_00_am,SHOPPING - Departure Constant: 10:30 AM - 11:00 AM,@((df.start==16)),coef_shopping_departure_constant_10_30_am_to_11_00_am +util_shopping_departure_constant_after_11_am,SHOPPING - Departure Constant: After 11:00 AM,@((df.start>16)),coef_shopping_departure_constant_after_11_am +util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Linear,"@np.where(((df.start>17)), (np.where((df.start<12), np.minimum(12-df.start,7),0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_linear +util_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared,SHOPPING - Departure Constant: Shift for every 30 minutes after 11:30 am - Squared,"@np.where(((df.start>17)), ((np.where((df.start<12), np.minimum(12-df.start,7), 0) + np.where((df.start>17), np.minimum(df.start-17,24), 0)) ** 2), 0)",coef_shopping_departure_constant_shift_for_every_30_minutes_after_11_30_am_squared +util_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes before 12:00 pm - Linear,"@np.where(((df.end<19)), (np.where ((df.end<19), np.minimum(19-df.end,10), 0) + np.where((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_before_12_pm_linear +util_shopping_arrival_constant_before_12_30_pm,SHOPPING - Arrival Constant: Before 12:30 PM,@((df.end<20)),coef_shopping_arrival_constant_before_12_30_pm +util_shopping_arrival_constant_12_30_pm_to_3_pm,SHOPPING - Arrival Constant: 12:30 PM - 03:00 PM,@(( df.end>=20) & (df.end<=24)),coef_shopping_arrival_constant_12_30_pm_to_3_pm +util_shopping_arrival_constant_3_pm_to_3_30_pm,SHOPPING - Arrival Constant: 03:00 PM - 03:30 PM,@((df.end==25)),coef_shopping_arrival_constant_3_pm_to_3_30_pm +util_shopping_arrival_constant_3_30_pm_to_4_pm,SHOPPING - Arrival Constant: 03:30 PM - 04:00 PM,@((df.end==26)),coef_shopping_arrival_constant_3_30_pm_to_4_pm +util_shopping_arrival_constant_4_pm_to_4_30_pm,SHOPPING - Arrival Constant: 04:00 PM - 04:30 PM,@((df.end==27)),coef_shopping_arrival_constant_4_pm_to_4_30_pm +util_shopping_arrival_constant_4_30_pm_to_5_pm,SHOPPING - Arrival Constant: 04:30 PM - 05:00 PM,@((df.end==28)),coef_shopping_arrival_constant_4_30_pm_to_5_pm +util_shopping_arrival_constant_5_pm_to_5_30_pm,SHOPPING - Arrival Constant: 05:00 PM - 05:30 PM,@((df.end==29)),coef_shopping_arrival_constant_5_pm_to_5_30_pm +util_shopping_arrival_constant_5_30_pm_to_7_pm,SHOPPING - Arrival Constant: 05:30 PM - 07:00 PM,@((df.end>=30) & (df.end<=32)),coef_shopping_arrival_constant_5_30_pm_to_7_pm +util_shopping_arrival_constant_7_pm_to_9_30_pm,SHOPPING - Arrival Constant: 07:00 PM - 09:30 PM,@((df.end>=33) & (df.end<=37)),coef_shopping_arrival_constant_7_pm_to_9_30_pm +util_shopping_arrival_constant_after_9_30_pm,SHOPPING - Arrival Constant: After 09:30 PM,@((df.end>37)),coef_shopping_arrival_constant_after_9_30_pm +util_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear,SHOPPING - Arrival Constant: Shift for every 30 minutes after 10:00 pm - Linear,"@np.where(((df.end>38)), (np.where((df.end<19), np.minimum(19-df.end,10), 0) + np.where ((df.end>38), np.minimum(df.end-38,5), 0)), 0)",coef_shopping_arrival_constant_shift_for_every_30_minutes_after_10_pm_linear +util_shopping_duration_constant_0_hr,SHOPPING - Duration Constant: 0 hr,@((df.duration==0)),coef_shopping_duration_constant_0_hr +util_shopping_duration_constant_30_minutes,SHOPPING - Duration Constant: 0.5 hr,@((df.duration==1)),coef_shopping_duration_constant_30_minutes +util_shopping_duration_constant_1_hr,SHOPPING - Duration Constant: 1 hr,@((df.duration==2)),coef_shopping_duration_constant_1_hr +util_shopping_duration_constant_1_hour_30_minutes,SHOPPING - Duration Constant: 1.5hrs,@(df.duration==3),coef_shopping_duration_constant_1_hour_30_minutes +util_shopping_duration_constant_2_hrs,SHOPPING - Duration Constant: 2 hrs,@((df.duration==4)),coef_shopping_duration_constant_2_hrs +util_shopping_duration_constant_longer_than_2_hrs,SHOPPING - Duration Constant: Longer than 2 hrs,@((df.duration>4)),coef_shopping_duration_constant_longer_than_2_hrs +util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear,SHOPPING - Duration Constant: Duration > 2.5 hrs - Linear,"@np.where(((df.duration>5)), (np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_linear +util_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root,SHOPPING - Duration Constant: Duration > 2.5 hrs - Square root,"@np.where(((df.duration>5)), ((np.where((df.duration<0), np.minimum(0-df.duration,47), 0) + np.where((df.duration>5), np.minimum(df.duration-5,26), 0)) ** 0.5), 0)",coef_shopping_duration_constant_duration_greater_than_2_hr_30_minutes_square_root +util_shopping_calibration_constant_duration_1,SHOPPING - Calibration Constant - Duration = 1,@((df.duration==0)),coef_shopping_calibration_constant_duration_1 +util_shopping_calibration_constant_duration_2,SHOPPING - Calibration Constant - Duration = 2,@((df.duration==1)),coef_shopping_calibration_constant_duration_2 +util_shopping_calibration_constant_duration_3,SHOPPING - Calibration Constant - Duration = 3,@((df.duration==2)),coef_shopping_calibration_constant_duration_3 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shopping_coefficients.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_shopping_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_shopping_coefficients.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_shopping_coefficients.csv diff --git a/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_social.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_social.csv new file mode 100644 index 0000000000..174da53c85 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_social.csv @@ -0,0 +1,54 @@ +Label,Description,Expression,Coefficient +#SOCIAL,#SOCIAL,,#SOCIAL +util_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration < 1.5 hrs - Linear,"@np.where(((df.duration<3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_less_than_1_hr_30_minutes_linear +util_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Person< 18 years old: Duration > 1.5 hrs - Linear,"@np.where(((df.duration>3) & (df.age<18)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_person_less_than_18_years_old_duration_greater_than_1_hr_30_minutes_linear +util_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Non-working senior/ retiree: Duration < 1.5 hrs - Linear,"@np.where(((df.duration<3) & (df.ptype == 5)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_non_working_senior_or_retiree_duration_less_than_1_hr_30_minutes_linear +util_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Retiree/ Non-working senior only HH: Duration < 1.5 hrs - Linear,"@np.where(((df.retired_adults_only_hh) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_retiree_or_non_working_senior_only_HH_duration_less_than_1_hr_30_minutes_linear +util_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_less_than_1_hr_30_minutes_linear +util_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Zero auto households: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership == 0) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)), 0)",coef_social_zero_auto_households_duration_greater_than_1_hr_30_minutes_linear +util_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration < 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) &(df.auto_ownership > df.num_adults) & (df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_less_than_1_hr_30_minutes_linear +util_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear,SOCIAL - Number of auto more than number of adults: Duration > 1.5 hrs - Linear,"@np.where(((df.auto_ownership > 0) & (df.auto_ownership > df.num_adults) & (df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3), np.minimum(df.duration-3,47), 0)), 0)",coef_social_number_of_auto_more_than_number_of_adults_duration_greater_than_1_hr_30_minutes_linear +"# In CTRAMP, although the description below says duration is less than 1 hr, expression is for less than 1.5 hr",,, +util_social_auto_distance_duration_less_than_1_hr_linear,SOCIAL - Auto Distance: Duration < 1 hr - Linear,"@np.where(((df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_social_auto_distance_duration_less_than_1_hr_linear +util_social_auto_distance_duration_greater_than_1_hr_linear,SOCIAL - Auto Distance: Duration > 1 hr - Linear,"@np.where(((df.duration>3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.origin_to_destination_distance), 0)",coef_social_auto_distance_duration_greater_than_1_hr_linear +util_social_time_pressure_duration_less_than_1_hr,SOCIAL - Time Pressure - Duration < 1 hr,"@np.where(((df.duration<3)), np.minimum(3-df.duration,47), 0)* (np.log10 (30 * (tt.max_time_block_available(df.person_id)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_less_than_1_hr +util_social_time_pressure_duration_greater_than_1_hr,SOCIAL - Time Pressure - Duration > 1 hr,"@np.where(((df.duration>3)), np.minimum(df.duration-3,47), 0) * (np.log10 (30 * (tt.max_time_block_available(df.person_id)/(1.0 + df.tour_count - df.tour_num))))",coef_social_time_pressure_duration_greater_than_1_hr +util_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr,SOCIAL - Number of additional individual social and dicretionary tours - Duration < 1 hr,"@np.where(((df.duration<3)), (np.where((df.duration<=3), np.minimum(3-df.duration,47), 0) + np.where((df.duration>3),np.minimum(df.duration-3,47), 0)) * (df.num_add_soc_discr_tours), 0)",coef_social_number_of_additional_individual_social_and_dicretionary_tours_duration_less_than_1_hr +util_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 08:30 am - Linear,"@((df.start<12)) * ((np.minimum(12-df.start,48)*(df.start<12)) + (np.minimum(df.start-48,48)*(df.start>48)))",coef_social_departure_constant_shift_for_every_30_minutes_before_8_30_am_linear +util_social_departure_constant_before_9_am,SOCIAL - Departure Constant: Before 09:00 AM,@(df.start<13),coef_social_departure_constant_before_9_am +util_social_departure_constant_9_am_to_9_30_am,SOCIAL - Departure Constant: 09:00 AM to 09:30 AM,@(df.start==13),coef_social_departure_constant_9_am_to_9_30_am +util_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes before 05:00 pm - Linear,"@np.where((df.start<29), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_before_5_pm_linear +util_social_departure_constant_before_5_30_pm,SOCIAL - Departure Constant: Before 05:30 PM,@((df.start<30)),coef_social_departure_constant_before_5_30_pm +util_social_departure_constant_5_30_pm_to_6_pm,SOCIAL - Departure Constant: 05:30 PM - 06:00 PM,@((df.start==30)),coef_social_departure_constant_5_30_pm_to_6_pm +util_social_departure_constant_6_pm_to_6_30_pm,SOCIAL - Departure Constant: 06:00 PM - 06:30 PM,@((df.start==31)),coef_social_departure_constant_6_pm_to_6_30_pm +util_social_departure_constant_6_30_pm_to_7_pm,SOCIAL - Departure Constant: 06:30 PM - 07:00 PM,@((df.start==32)),coef_social_departure_constant_6_30_pm_to_7_pm +util_social_departure_constant_7_pm_to_7_30_pm,SOCIAL - Departure Constant: 07:00 PM - 07:30 PM,@((df.start==33)),coef_social_departure_constant_7_pm_to_7_30_pm +util_social_departure_constant_after_7_30_pm,SOCIAL - Departure Constant: After 07:30 PM,@((df.start>33)),coef_social_departure_constant_after_7_30_pm +util_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear,SOCIAL - Departure Constant: Shift for every 30 minutes after 08:00 pm - Linear,"@np.where((df.start>34), (np.where((df.start<29), np.minimum(29-df.start,8), 0) + np.where((df.start>34), np.minimum(df.start-34,6), 0)), 0)",coef_social_departure_constant_shift_for_every_30_minutes_after_8_pm_linear +util_social_arrival_constant_3_pm_to_3_30_pm,SOCIAL - Arrival Constant: 03:00 PM to 03:30 PM,@((df.end==25)),coef_social_arrival_constant_3_pm_to_3_30_pm +util_social_arrival_constant_3_30_pm_to_4_pm,SOCIAL - Arrival Constant: 03:30 PM to 04:00 PM,@((df.end==26)),coef_social_arrival_constant_3_30_pm_to_4_pm +util_social_arrival_constant_4_pm_to_4_30_pm,SOCIAL - Arrival Constant: 04:00 PM to 04:30 PM,@((df.end==27)),coef_social_arrival_constant_4_pm_to_4_30_pm +util_social_arrival_constant_5_pm_to_6_pm,SOCIAL - Arrival Constant: 05:00 PM to 06:00 PM,@((df.end>=29) & (df.end<=30)),coef_social_arrival_constant_5_pm_to_6_pm +util_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes before 08:00 pm - Linear,"@np.where(((df.end<35)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) + np.where((df.end>40), np.minimum(df.end-40,48), 0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_before_8_pm_linear +util_social_arrival_constant_before_8_30_pm,SOCIAL - Arrival Constant: Before 8:30 PM,@((df.end<36)),coef_social_arrival_constant_before_8_30_pm +util_social_arrival_constant_8_30_pm_to_9_pm,SOCIAL - Arrival Constant: 8:30 PM to 9:00 PM,@((df.end==36)),coef_social_arrival_constant_8_30_pm_to_9_pm +util_social_arrival_constant_9_pm_to_9_30_pm,SOCIAL - Arrival Constant: 9:00 PM to 9:30 PM,@((df.end==37)),coef_social_arrival_constant_9_pm_to_9_30_pm +util_social_arrival_constant_9_30_pm_to_10_pm,SOCIAL - Arrival Constant: 9:30 PM to10:00 PM,@((df.end==38)),coef_social_arrival_constant_9_30_pm_to_10_pm +util_social_arrival_constant_10_pm_to_10_30_pm,SOCIAL - Arrival Constant: 10:00 PM to 10:30 PM,@((df.end==39)),coef_social_arrival_constant_10_pm_to_10_30_pm +util_social_arrival_constant_after_10_30_pm,SOCIAL - Arrival Constant: After 10:30 PM,@((df.end>39)),coef_social_arrival_constant_after_10_30_pm +util_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear,SOCIAL - Arrival Constant: Shift for every 30 minutes after 11:00 pm - Linear,"@np.where(((df.end>40)), (np.where((df.end<35), np.minimum(35-df.end,48), 0) +np.where((df.end>40),np.minimum(df.end-40,48),0)), 0)",coef_social_arrival_constant_shift_for_every_30_minutes_after_11_pm_linear +util_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes less than 2.5 hrs - Linear,"@np.where(((df.duration<5)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>7), np.minimum(df.duration-7,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_less_than_2_hr_30_minutes_linear +util_social_duration_constant_less_than_3_hours,SOCIAL - Duration Constant: Less than 3 hrs,@((df.duration<6)),coef_social_duration_constant_less_than_3_hours +util_social_duration_constant_3_hours,SOCIAL - Duration Constant: 3 hours,@((df.duration==6)),coef_social_duration_constant_3_hours +util_social_duration_constant_3_hrs_30_minutes,SOCIAL - Duration Constant: 3.5 hours,@((df.duration==7)),coef_social_duration_constant_3_hrs_30_minutes +util_social_duration_constant_4_hours_or_more,SOCIAL - Duration Constant: 4 hours or more,@((df.duration>7)),coef_social_duration_constant_4_hours_or_more +util_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear,SOCIAL - Duration Constant: Shift for every 30 minutes more than 4.5 hrs - Linear,"@np.where(((df.duration>8)), (np.where((df.duration<5), np.minimum(5-df.duration,47), 0) + np.where((df.duration>8), np.minimum(df.duration-8,47), 0)), 0)",coef_social_duration_constant_shift_for_every_30_minutes_more_than_4_hr_30_minutes_linear +util_social_calibration_constant_duration_1,SOCIAL - Calibration Constant - Duration = 1,@((df.duration ==0)),coef_social_calibration_constant_duration_1 +util_social_calibration_constant_duration_2,SOCIAL - Calibration Constant - Duration = 2,@((df.duration == 1)),coef_social_calibration_constant_duration_2 +util_social_calibration_constant_duration_3,SOCIAL - Calibration Constant - Duration = 3,@((df.duration ==2)),coef_social_calibration_constant_duration_3 +util_social_calibration_constant_duration_4,SOCIAL - Calibration Constant - Duration = 4,@((df.duration ==3)),coef_social_calibration_constant_duration_4 +util_social_calibration_constant_duration_5,SOCIAL - Calibration Constant - Duration = 5,@((df.duration ==4)),coef_social_calibration_constant_duration_5 +util_social_calibration_constant_duration_6,SOCIAL - Calibration Constant - Duration = 6,@((df.duration ==5)),coef_social_calibration_constant_duration_6 +util_social_calibration_constant_duration_7,SOCIAL - Calibration Constant - Duration = 7,@((df.duration ==6)),coef_social_calibration_constant_duration_7 +util_social_calibration_constant_duration_8,SOCIAL - Calibration Constant - Duration = 8,@((df.duration ==7)),coef_social_calibration_constant_duration_8 +util_social_calibration_constant_duration_9,SOCIAL - Calibration Constant - Duration = 9,@((df.duration ==8)),coef_social_calibration_constant_duration_9 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_social_coefficients.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_social_coefficients.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/tour_scheduling_nonmandatory_social_coefficients.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_nonmandatory_social_coefficients.csv diff --git a/activitysim/examples/prototype_mwcog/configs/tour_scheduling_school.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_school.csv new file mode 100644 index 0000000000..4349420401 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_school.csv @@ -0,0 +1,59 @@ +Label,Description,Expression,Coefficient +util_Mode_Choice_Logsum,SCHOOL - Mode Choice Logsum,mode_choice_logsum,coef_Mode_Choice_Logsum +util_Low_income_lt25000_Departure_before_730_am__Linear,SCHOOL - Low income (<25000) - Departure before 7:30 am - Linear,"@((df.is_income_less25K) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Low_income_lt25000_Departure_before_730_am__Linear +util_Low_income_lt25000_Departure_after_800_am_Linear,SCHOOL - Low income (<25000) - Departure after 8:00 am - Linear,"@((df.is_income_less25K) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Low_income_lt25000_Departure_after_800_am_Linear +util_Low_income_lt25000_Duration_lt_8hrs,SCHOOL - Low income (<25000) - Duration < 8hrs,"@((df.is_income_less25K) & (df.duration<8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Low_income_lt25000_Duration_lt_8hrs +util_Low_income_lt25000_Duration_gt_8hrs,SCHOOL - Low income (<25000) - Duration > 8hrs,"@((df.is_income_less25K) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Low_income_lt25000_Duration_gt_8hrs +util_Med_income_25k_to_60k_Departure_before_730_am__Linear,SCHOOL - Med income (25k to 60k) - Departure before 7:30 am - Linear,"@((df.is_income_25K_to_60K) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Med_income_25k_to_60k_Departure_before_730_am__Linear +util_Age_0_to_5_yrs_Departure_Before_730_am,SCHOOL - Age 0 to 5 yrs - Departure Before 7:30 am,"@(((df.age>=0) & (df.age<=5)) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_0_to_5_yrs_Departure_Before_730_am +util_Age_13_to_15_yrs_Departure_Before_730_am,SCHOOL - Age 13 to 15 yrs - Departure Before 7:30 am,"@(((df.age>=13) & (df.age<=15)) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_13_to_15_yrs_Departure_Before_730_am +util_Age_13_to_15_yrs_Departure_After_800_am,SCHOOL - Age 13 to 15 yrs - Departure After 8:00 am,"@(((df.age>=13) & (df.age<=15)) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_13_to_15_yrs_Departure_After_800_am +util_Age_16_to_17_yrs_Departure_After_800_am,SCHOOL - Age 16 to 17 yrs - Departure After 8:00 am,"@(((df.age>=16) & (df.age<=17)) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Age_16_to_17_yrs_Departure_After_800_am +util_Age_0_to_5_yrs_Duration_lt_8hrs,SCHOOL - Age 0 to 5 yrs - Duration < 8hrs,"@(((df.age>0) & (df.age<=5)) & (df.duration<8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_0_to_5_yrs_Duration_lt_8hrs +util_Age_0_to_5_yrs_Duration_gt_8hrs,SCHOOL - Age 0 to 5 yrs - Duration > 8hrs,"@(((df.age>0) & (df.age<=5)) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_0_to_5_yrs_Duration_gt_8hrs +util_Age_13_to_15_yrs_Duration_lt_8hrs,SCHOOL - Age 13 to 15 yrs - Duration < 8hrs,"@(((df.age>=13) & (df.age<=15)) & (df.duration<8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_13_to_15_yrs_Duration_lt_8hrs +util_Age_13_to_15_yrs_Duration_gt_8hrs,SCHOOL - Age 13 to 15 yrs - Duration > 8hrs,"@(((df.age>=13) & (df.age<=15)) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_13_to_15_yrs_Duration_gt_8hrs +util_Age_16_to_17_yrs_Duration_gt_8hrs,SCHOOL - Age 16 to 17 yrs - Duration > 8hrs,"@(((df.age>=16) & (df.age<=17)) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Age_16_to_17_yrs_Duration_gt_8hrs +util_Time_SOV_freeflow_to_destination_Departure_before_730_am__Linear,SCHOOL - Time (SOV freeflow) to destination - Departure before 7:30 am - Linear,"@(df.start<10) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Departure_before_730_am__Linear +util_Time_SOV_freeflow_to_destination_Departure_after_800_am_Linear,SCHOOL - Time (SOV freeflow) to destination - Departure after 8:00 am - Linear,"@(df.start>10) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Departure_after_800_am_Linear +util_Time_SOV_freeflow_to_destination_Duration_lt_8hrs,SCHOOL - Time (SOV freeflow) to destination - Duration < 8hrs,"@(df.end<27) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Duration_lt_8hrs +util_Time_SOV_freeflow_to_destination_Duration_gt_8hrs,SCHOOL - Time (SOV freeflow) to destination - Duration > 8hrs,"@(df.end>27) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27))) * (df.roundtrip_auto_time_to_school)",coef_Time_SOV_freeflow_to_destination_Duration_gt_8hrs +util_All_adults_in_the_household_are_fulltime_workers_Departure_before_730_am__Linear,SCHOOL - All adults in the household are fulltime workers - Departure before 7:30 am - Linear,"@((df.is_all_adults_full_time_workers) & (df.start<10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_All_adults_in_the_household_are_fulltime_workers_Departure_before_730_am__Linear +util_All_adults_in_the_household_are_fulltime_workers_Departure_after_800_am_Linear,SCHOOL - All adults in the household are fulltime workers - Departure after 8:00 am - Linear,"@((df.is_all_adults_full_time_workers) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_All_adults_in_the_household_are_fulltime_workers_Departure_after_800_am_Linear +util_All_adults_in_the_household_are_fulltime_workers_Duration_lt_8hrs,SCHOOL - All adults in the household are fulltime workers - Duration < 8hrs,"@((df.is_all_adults_full_time_workers) & (df.end<27)) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27)))",coef_All_adults_in_the_household_are_fulltime_workers_Duration_lt_8hrs +util_All_adults_in_the_household_are_fulltime_workers_Duration_gt_8hrs,SCHOOL - All adults in the household are fulltime workers - Duration > 8hrs,"@((df.is_all_adults_full_time_workers) & (df.end>27)) * ((np.minimum(27-df.end,48)*(df.end<=27)) + (np.minimum(df.end-27,48)*(df.end>27)))",coef_All_adults_in_the_household_are_fulltime_workers_Duration_gt_8hrs +util_Subsequent_tour_is_work_tour_Duration_lt_8_hours,SCHOOL - Subsequent tour is work tour: Duration < 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work')) & (df.duration<8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_lt_8_hours +util_Subsequent_tour_is_work_tour_Duration_gt_8_hours,SCHOOL - Subsequent tour is work tour: Duration > 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work')) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_gt_8_hours +util_Subsequent_tour_is_school_tour_Departure_after_800_am,SCHOOL - Subsequent tour is school tour: Departure after 8:00 am,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school')) & (df.start>10)) *((np.minimum(10-df.start,48)*(df.start<=10)) + (np.minimum(df.start-10,48)*(df.start>10)))",coef_Subsequent_tour_is_school_tour_Departure_after_800_am +util_Subsequent_tour_is_school_tour_Duration_lt_8_hours,SCHOOL - Subsequent tour is school tour: Duration < 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school')) & (df.duration<8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_lt_8_hours +util_Subsequent_tour_is_school_tour_Duration_gt_8_hours,SCHOOL - Subsequent tour is school tour: Duration > 8 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school')) & (df.duration>8)) * ((np.minimum(8-df.duration,47)*(df.duration<=8)) + (np.minimum(df.duration-8,47)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_gt_8_hours +util_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,SCHOOL - Second tour of two mandatory tours: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<7)) * ((np.minimum(7-df.duration,47)*(df.duration<=7)) + (np.minimum(df.duration-7,47)*(df.duration>7)))",coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours +util_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,SCHOOL - Second tour of two mandatory tours: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration>7)) * ((np.minimum(7-df.duration,47)*(df.duration<=7)) + (np.minimum(df.duration-7,47)*(df.duration>7)))",coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours +util_Departure_Constant_Before_0600_AM,SCHOOL - Departure Constant: Before 06:00 AM,@(df.start<7),coef_Departure_Constant_Before_0600_AM +util_Departure_Constant_0600_AM_to_0630_AM_7,SCHOOL - Departure Constant: 06:00 AM to 06:30 AM (7),@(df.start==7),coef_Departure_Constant_0600_AM_to_0630_AM_7 +util_Departure_Constant_0630_AM_to_0700_AM_8,SCHOOL - Departure Constant: 06:30 AM to 07:00 AM (8),@(df.start==8),coef_Departure_Constant_0630_AM_to_0700_AM_8 +util_Departure_Constant_0700_AM_to_0730_AM_9,SCHOOL - Departure Constant: 07:00 AM to 07:30 AM (9),@(df.start==9),coef_Departure_Constant_0700_AM_to_0730_AM_9 +util_Departure_Constant_0730_AM_to_0800_AM_10,SCHOOL - Departure Constant: 07:30 AM to 08:00 AM (10),@(df.start==10),coef_Departure_Constant_0730_AM_to_0800_AM_10 +util_Departure_Constant_After_0800_AM,SCHOOL - Departure Constant: After 08:00 AM,@(df.start>10),coef_Departure_Constant_After_0800_AM +util_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Linear,SCHOOL - Departure Constant: Shift for every 30 minutes after 8:30 am - Linear,"@((df.start>11)) * ((np.minimum(7-df.start,48)*(df.start<7)) + (np.minimum(df.start-11,23)*(df.start>11)))",coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Linear +util_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Square_Root,SCHOOL - Departure Constant: Shift for every 30 minutes after 8:30 am - Square Root,"@((df.start>11)) * (((np.minimum(7-df.start,48)*(df.start<7)) + (np.minimum(df.start-11,23)*(df.start>11))) ** 0.5)",coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Square_Root +util_Arrival_Constant_Before_0230_PM,SCHOOL - Arrival Constant: Before 02:30 PM,@(df.end<24),coef_Arrival_Constant_Before_0230_PM +util_Arrival_Constant_0230_PM_0300_PM_24_,SCHOOL - Arrival Constant: 02:30 PM - 03:00 PM (24) ,@(df.end==24),coef_Arrival_Constant_0230_PM_0300_PM_24_ +util_Arrival_Constant_0300_PM_0330_PM_25_,SCHOOL - Arrival Constant: 03:00 PM - 03:30 PM (25) ,@(df.end==25),coef_Arrival_Constant_0300_PM_0330_PM_25_ +util_Arrival_Constant_0330_PM_0400_PM_26_,SCHOOL - Arrival Constant: 03:30 PM - 04:00 PM (26) ,@(df.end==26),coef_Arrival_Constant_0330_PM_0400_PM_26_ +util_Arrival_Constant_0400_PM_0430_PM_27_,SCHOOL - Arrival Constant: 04:00 PM - 04:30 PM (27) ,@(df.end==27),coef_Arrival_Constant_0400_PM_0430_PM_27_ +util_Arrival_Constant_0430_PM_0500_PM_28_,SCHOOL - Arrival Constant: 04:30 PM - 05:00 PM (28) ,@(df.end==28),coef_Arrival_Constant_0430_PM_0500_PM_28_ +util_Arrival_Constant_0500_PM_0530_PM_29,SCHOOL - Arrival Constant: 05:00 PM - 05:30 PM (29),@(df.end==29),coef_Arrival_Constant_0500_PM_0530_PM_29 +util_Arrival_Constant_0530_PM_0600_PM_30_,SCHOOL - Arrival Constant: 05:30 PM - 06:00 PM (30) ,@(df.end==30),coef_Arrival_Constant_0530_PM_0600_PM_30_ +util_Arrival_Constant_After_0600_PM,SCHOOL - Arrival Constant: After 06:00 PM,@(df.end>30),coef_Arrival_Constant_After_0600_PM +util_Arrival_Constant_Shift_for_every_30_minutes_after_630_pm_Linear,SCHOOL - Arrival Constant: Shift for every 30 minutes after 6:30 pm - Linear,"@(df.end>31) * ((np.minimum(24-df.end,6)*(df.end<24)) + (np.minimum(df.end-31,12)*(df.end>31)))",coef_Arrival_Constant_Shift_for_every_30_minutes_after_630_pm_Linear +util_Duration_Constant_Shift_for_every_30_minutes_less_than_6p5_hrs_Linear,SCHOOL - Duration Constant: Shift for every 30 minutes less than 6.5 hrs - Linear,"@((df.duration<13)) * ((np.minimum(13-df.duration,48)*(df.duration<13)) + (np.minimum(df.duration-19,9)*(df.duration>19)))",coef_Duration_Constant_Shift_for_every_30_minutes_less_than_6p5_hrs_Linear +util_Duration_Constant_Shorter_than_7_hrs,SCHOOL - Duration Constant: Shorter than 7 hrs,@(df.duration<14),coef_Duration_Constant_Shorter_than_7_hrs +util_Duration_Constant_7_hours,SCHOOL - Duration Constant: 7 hours,@(df.duration==14),coef_Duration_Constant_7_hours +util_Duration_Constant_7p5_hours,SCHOOL - Duration Constant: 7.5 hours,@(df.duration==15),coef_Duration_Constant_7p5_hours +util_Duration_Constant_8_hours,SCHOOL - Duration Constant: 8 hours,@(df.duration==16),coef_Duration_Constant_8_hours +util_Duration_Constant_8p5_hours,SCHOOL - Duration Constant: 8.5 hours,@(df.duration==17),coef_Duration_Constant_8p5_hours +util_Duration_Constant_9_hours,SCHOOL - Duration Constant: 9 hours,@(df.duration==18),coef_Duration_Constant_9_hours +util_Duration_Constant_Longer_than_9_hrs,SCHOOL - Duration Constant: Longer than 9 hrs,@(df.duration>18),coef_Duration_Constant_Longer_than_9_hrs +util_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Linear,SCHOOL - Duration Constant: Shift for every 30 minutes more than 9.5 hrs - Linear,"@(df.duration>19) * ((np.minimum(13-df.duration,47)*(df.duration<13)) + (np.minimum(df.duration-19,9)*(df.duration>19)))",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Linear +util_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Squared,SCHOOL - Duration Constant: Shift for every 30 minutes more than 9.5 hrs - Squared,"@(df.duration>19) * (((np.minimum(13-df.duration,47)*(df.duration<13)) + (np.minimum(df.duration-19,9)*(df.duration>19))) ** 2)",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Squared diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_school_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_school_coeffs.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/tour_scheduling_school_coeffs.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_school_coeffs.csv index af08217498..589b4ce61c --- a/activitysim/examples/example_semcog/configs/tour_scheduling_school_coeffs.csv +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_school_coeffs.csv @@ -1,59 +1,59 @@ -coefficient_name,value,constrain -coef_Mode_Choice_Logsum,0.524017431,F -coef_Low_income_lt25000_Departure_before_730_am__Linear,0.134574548,F -coef_Low_income_lt25000_Departure_after_800_am_Linear,-0.075554725,F -coef_Low_income_lt25000_Duration_lt_8hrs,-0.150039779,F -coef_Low_income_lt25000_Duration_gt_8hrs,-0.043562413,F -coef_Med_income_25k_to_60k_Departure_before_730_am__Linear,0.102594589,F -coef_Age_0_to_5_yrs_Departure_Before_730_am,-0.178916721,F -coef_Age_13_to_15_yrs_Departure_Before_730_am,-0.164708594,F -coef_Age_13_to_15_yrs_Departure_After_800_am,0.169641715,F -coef_Age_16_to_17_yrs_Departure_After_800_am,0.077527892,F -coef_Age_0_to_5_yrs_Duration_lt_8hrs,0.254486164,F -coef_Age_0_to_5_yrs_Duration_gt_8hrs,0.14409403,F -coef_Age_13_to_15_yrs_Duration_lt_8hrs,-0.211129273,F -coef_Age_13_to_15_yrs_Duration_gt_8hrs,0.102348303,F -coef_Age_16_to_17_yrs_Duration_gt_8hrs,0.1184616,F -coef_Time_SOV_freeflow_to_destination_Departure_before_730_am__Linear,0.011813391,F -coef_Time_SOV_freeflow_to_destination_Departure_after_800_am_Linear,-0.0088956,F -coef_Time_SOV_freeflow_to_destination_Duration_lt_8hrs,-0.011793416,F -coef_Time_SOV_freeflow_to_destination_Duration_gt_8hrs,0.001485453,F -coef_All_adults_in_the_household_are_fulltime_workers_Departure_before_730_am__Linear,0.1625279,F -coef_All_adults_in_the_household_are_fulltime_workers_Departure_after_800_am_Linear,-0.161840551,F -coef_All_adults_in_the_household_are_fulltime_workers_Duration_lt_8hrs,-0.233061473,F -coef_All_adults_in_the_household_are_fulltime_workers_Duration_gt_8hrs,0.08462748,F -coef_Subsequent_tour_is_work_tour_Duration_lt_8_hours,0.154332088,F -coef_Subsequent_tour_is_work_tour_Duration_gt_8_hours,-0.62871831,F -coef_Subsequent_tour_is_school_tour_Departure_after_800_am,-0.41618671,F -coef_Subsequent_tour_is_school_tour_Duration_lt_8_hours,0.261423274,F -coef_Subsequent_tour_is_school_tour_Duration_gt_8_hours,-0.263857404,F -coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,-0.537535787,F -coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,-0.545479806,F -coef_Departure_Constant_Before_0600_AM,-10.04417122,F -coef_Departure_Constant_0600_AM_to_0630_AM_7,-3.792318538,F -coef_Departure_Constant_0630_AM_to_0700_AM_8,-1.941704371,F -coef_Departure_Constant_0700_AM_to_0730_AM_9,-0.558080224,F -coef_Departure_Constant_0730_AM_to_0800_AM_10,0,T -coef_Departure_Constant_After_0800_AM,-0.280439854,F -coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Linear,0.293697164,F -coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Square_Root,-1.220165702,F -coef_Arrival_Constant_Before_0230_PM,0.720751128,F -coef_Arrival_Constant_0230_PM_0300_PM_24_,1.605012317,F -coef_Arrival_Constant_0300_PM_0330_PM_25_,0.463502951,F -coef_Arrival_Constant_0330_PM_0400_PM_26_,0.196107179,F -coef_Arrival_Constant_0400_PM_0430_PM_27_,0,T -coef_Arrival_Constant_0430_PM_0500_PM_28_,-0.389421484,F -coef_Arrival_Constant_0500_PM_0530_PM_29,-1.412720271,F -coef_Arrival_Constant_0530_PM_0600_PM_30_,-1.938567609,F -coef_Arrival_Constant_After_0600_PM,-2.246103785,F -coef_Arrival_Constant_Shift_for_every_30_minutes_after_630_pm_Linear,-0.552223894,F -coef_Duration_Constant_Shift_for_every_30_minutes_less_than_6p5_hrs_Linear,-0.249724903,F -coef_Duration_Constant_Shorter_than_7_hrs,-2.791243553,F -coef_Duration_Constant_7_hours,-1.679006455,F -coef_Duration_Constant_7p5_hours,-0.555288612,F -coef_Duration_Constant_8_hours,0,T -coef_Duration_Constant_8p5_hours,-0.139412248,F -coef_Duration_Constant_9_hours,-0.509620713,F -coef_Duration_Constant_Longer_than_9_hrs,-0.561449384,F -coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Linear,0.379484906,F -coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Squared,-0.028814477,F +coefficient_name,value,constrain +coef_Mode_Choice_Logsum,0.524017431,F +coef_Low_income_lt25000_Departure_before_730_am__Linear,0.134574548,F +coef_Low_income_lt25000_Departure_after_800_am_Linear,-0.075554725,F +coef_Low_income_lt25000_Duration_lt_8hrs,-0.150039779,F +coef_Low_income_lt25000_Duration_gt_8hrs,-0.043562413,F +coef_Med_income_25k_to_60k_Departure_before_730_am__Linear,0.102594589,F +coef_Age_0_to_5_yrs_Departure_Before_730_am,-0.178916721,F +coef_Age_13_to_15_yrs_Departure_Before_730_am,-0.164708594,F +coef_Age_13_to_15_yrs_Departure_After_800_am,0.169641715,F +coef_Age_16_to_17_yrs_Departure_After_800_am,0.077527892,F +coef_Age_0_to_5_yrs_Duration_lt_8hrs,0.254486164,F +coef_Age_0_to_5_yrs_Duration_gt_8hrs,0.14409403,F +coef_Age_13_to_15_yrs_Duration_lt_8hrs,-0.211129273,F +coef_Age_13_to_15_yrs_Duration_gt_8hrs,0.102348303,F +coef_Age_16_to_17_yrs_Duration_gt_8hrs,0.1184616,F +coef_Time_SOV_freeflow_to_destination_Departure_before_730_am__Linear,0.011813391,F +coef_Time_SOV_freeflow_to_destination_Departure_after_800_am_Linear,-0.0088956,F +coef_Time_SOV_freeflow_to_destination_Duration_lt_8hrs,-0.011793416,F +coef_Time_SOV_freeflow_to_destination_Duration_gt_8hrs,0.001485453,F +coef_All_adults_in_the_household_are_fulltime_workers_Departure_before_730_am__Linear,0.1625279,F +coef_All_adults_in_the_household_are_fulltime_workers_Departure_after_800_am_Linear,-0.161840551,F +coef_All_adults_in_the_household_are_fulltime_workers_Duration_lt_8hrs,-0.233061473,F +coef_All_adults_in_the_household_are_fulltime_workers_Duration_gt_8hrs,0.08462748,F +coef_Subsequent_tour_is_work_tour_Duration_lt_8_hours,0.154332088,F +coef_Subsequent_tour_is_work_tour_Duration_gt_8_hours,-0.62871831,F +coef_Subsequent_tour_is_school_tour_Departure_after_800_am,-0.41618671,F +coef_Subsequent_tour_is_school_tour_Duration_lt_8_hours,0.261423274,F +coef_Subsequent_tour_is_school_tour_Duration_gt_8_hours,-0.263857404,F +coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,-0.537535787,F +coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,-0.545479806,F +coef_Departure_Constant_Before_0600_AM,-10.04417122,F +coef_Departure_Constant_0600_AM_to_0630_AM_7,-3.792318538,F +coef_Departure_Constant_0630_AM_to_0700_AM_8,-1.941704371,F +coef_Departure_Constant_0700_AM_to_0730_AM_9,-0.558080224,F +coef_Departure_Constant_0730_AM_to_0800_AM_10,0,T +coef_Departure_Constant_After_0800_AM,-0.280439854,F +coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Linear,0.293697164,F +coef_Departure_Constant_Shift_for_every_30_minutes_after_830_am_Square_Root,-1.220165702,F +coef_Arrival_Constant_Before_0230_PM,0.720751128,F +coef_Arrival_Constant_0230_PM_0300_PM_24_,1.605012317,F +coef_Arrival_Constant_0300_PM_0330_PM_25_,0.463502951,F +coef_Arrival_Constant_0330_PM_0400_PM_26_,0.196107179,F +coef_Arrival_Constant_0400_PM_0430_PM_27_,0,T +coef_Arrival_Constant_0430_PM_0500_PM_28_,-0.389421484,F +coef_Arrival_Constant_0500_PM_0530_PM_29,-1.412720271,F +coef_Arrival_Constant_0530_PM_0600_PM_30_,-1.938567609,F +coef_Arrival_Constant_After_0600_PM,-2.246103785,F +coef_Arrival_Constant_Shift_for_every_30_minutes_after_630_pm_Linear,-0.552223894,F +coef_Duration_Constant_Shift_for_every_30_minutes_less_than_6p5_hrs_Linear,-0.249724903,F +coef_Duration_Constant_Shorter_than_7_hrs,-2.791243553,F +coef_Duration_Constant_7_hours,-1.679006455,F +coef_Duration_Constant_7p5_hours,-0.555288612,F +coef_Duration_Constant_8_hours,0,T +coef_Duration_Constant_8p5_hours,-0.139412248,F +coef_Duration_Constant_9_hours,-0.509620713,F +coef_Duration_Constant_Longer_than_9_hrs,-0.561449384,F +coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Linear,0.379484906,F +coef_Duration_Constant_Shift_for_every_30_minutes_more_than_9p5_hrs_Squared,-0.028814477,F diff --git a/activitysim/examples/prototype_mwcog/configs/tour_scheduling_university.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_university.csv new file mode 100644 index 0000000000..160311a16c --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_university.csv @@ -0,0 +1,42 @@ +Label,Description,Expression,Coefficient +util_Mode_Choice_Logsum,UNIVERSITY - Mode Choice Logsum,mode_choice_logsum,coef_Mode_Choice_Logsum +util_Low_income_lt25000_Departure_before_800_am_Linear,UNIVERSITY - Low income (<25000) - Departure before 8:00 am - Linear,"@((df.is_income_less25K) & (df.start<11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Low_income_lt25000_Departure_before_800_am_Linear +util_Low_income_lt25000_Duration_lt_4hrs,UNIVERSITY - Low income (<25000) - Duration < 4hrs,"@((df.is_income_less25K) & (df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Low_income_lt25000_Duration_lt_4hrs +util_Medium_high_income_60k_to_120k_Departure_after_830_am_Linear,UNIVERSITY - Medium high income (60k to 120k) - Departure after 8:30 am - Linear,"@((df.is_income_60K_to_120K) & (df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Medium_high_income_60k_to_120k_Departure_after_830_am_Linear +util_Medium_high_income_60k_to_120k_Duration_gt_4hrs,UNIVERSITY - Medium high income (60k to 120k) - Duration > 4hrs,"@((df.is_income_60K_to_120K) & (df.duration>8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Medium_high_income_60k_to_120k_Duration_gt_4hrs +util_High_income_120k_plus_Departure_after_830_am_Linear,UNIVERSITY - High income (120k+) - Departure after 8:30 am - Linear,"@((df.is_income_greater120K) & (df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_High_income_120k_plus_Departure_after_830_am_Linear +util_Age_41_plus_Departure_after_830_am_Linear,UNIVERSITY - Age 41+ - Departure after 8:30 am - Linear,"@((df.age >= 41) & (df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Age_41_plus_Departure_after_830_am_Linear +util_Age_41_plus_Durationlt_4_hrs_Linear,UNIVERSITY - Age 41+ - Duration< 4 hrs -Linear,"@((df.age >= 41) & (df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Age_41_plus_Durationlt_4_hrs_Linear +util_Distance_to_destination_Departure_before_800_am_Linear,UNIVERSITY - Distance to destination - Departure before 8:00 am - Linear,"@((df.start<11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))*(df.distance_to_school)",coef_Distance_to_destination_Departure_before_800_am_Linear +util_Distance_to_destination_Departure_after_830_am_Linear,UNIVERSITY - Distance to destination - Departure after 8:30 am - Linear,"@((df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))*(df.distance_to_school)",coef_Distance_to_destination_Departure_after_830_am_Linear +util_Distance_to_destination_Durationlt_4_hrs_Linear,UNIVERSITY - Distance to destination - Duration< 4 hrs -Linear,"@((df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))*(df.distance_to_school)",coef_Distance_to_destination_Durationlt_4_hrs_Linear +util_Distance_to_destination_Durationgt_4_hrs_Linear,UNIVERSITY - Distance to destination - Duration> 4 hrs- Linear,"@((df.duration>8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))*(df.distance_to_school)",coef_Distance_to_destination_Durationgt_4_hrs_Linear +util_Distance_to_destination_Durationlt_4_hrs_Square_Root,UNIVERSITY - Distance to destination - Duration< 4 hrs - Square Root,"@((df.duration<8))*(abs(((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))) ** 0.5)*(df.distance_to_school)",coef_Distance_to_destination_Durationlt_4_hrs_Square_Root +util_Subsequent_tour_is_work_tour_Departure_after_830_am,UNIVERSITY - Subsequent tour is work tour: Departure after 8:30 am,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work')) & (df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Subsequent_tour_is_work_tour_Departure_after_830_am +util_Subsequent_tour_is_work_tour_Duration_lt_4_hours,UNIVERSITY - Subsequent tour is work tour: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work')) & (df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_lt_4_hours +util_Subsequent_tour_is_work_tour_Duration_gt_4_hours,UNIVERSITY - Subsequent tour is work tour: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'work')) & (df.duration>8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_work_tour_Duration_gt_4_hours +util_Subsequent_tour_is_school_tour_Departure_after_830_am,UNIVERSITY - Subsequent tour is school tour: Departure after 8:30 am,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school')) & (df.start>11))*((np.minimum(11-df.start,8)*(df.start<=11)) + (np.minimum(df.start-11,22)*(df.start>11)))",coef_Subsequent_tour_is_school_tour_Departure_after_830_am +util_Subsequent_tour_is_school_tour_Duration_lt_4_hours,UNIVERSITY - Subsequent tour is school tour: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school')) & (df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_lt_4_hours +util_Subsequent_tour_is_school_tour_Duration_gt_4_hours,UNIVERSITY - Subsequent tour is school tour: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num == 1) & (df.tour_type.shift(-1) == 'school')) & (df.duration>8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Subsequent_tour_is_school_tour_Duration_gt_4_hours +util_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,UNIVERSITY - Second tour of two mandatory tours: Duration < 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours +util_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,UNIVERSITY - Second tour of two mandatory tours: Duration > 4 hours,"@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration>8))*((np.minimum(8-df.duration,6)*(df.duration<=8)) + (np.minimum(df.duration-8,28)*(df.duration>8)))",coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours +util_Departure_Constant_Shift_for_every_30_minutes_before_0700_am_Linear,UNIVERSITY - Departure Constant: Shift for every 30 minutes before 07:00 am - Linear,"@((df.start<9))*((np.minimum(9-df.start,6)*(df.start<9)) + (np.minimum(df.start-13,20)*(df.start>13)))",coef_Departure_Constant_Shift_for_every_30_minutes_before_0700_am_Linear +util_Departure_Constant_Before_0730_AM,UNIVERSITY - Departure Constant: Before 07:30 AM,@(df.start<10),coef_Departure_Constant_Before_0730_AM +util_Departure_Constant_0730_AM_0800_AM,UNIVERSITY - Departure Constant: 07:30 AM - 08:00 AM,@(df.start==10),coef_Departure_Constant_0730_AM_0800_AM +util_Departure_Constant_0800_AM_0830_AM,UNIVERSITY - Departure Constant: 08:00 AM - 08:30 AM,@(df.start==11),coef_Departure_Constant_0800_AM_0830_AM +util_Departure_Constant_0830_AM_0900_AM,UNIVERSITY - Departure Constant: 08:30 AM - 09:00 AM,@(df.start==12),coef_Departure_Constant_0830_AM_0900_AM +util_Departure_Constant_After_0900_AM,UNIVERSITY - Departure Constant: After 09:00 AM,@(df.start>12),coef_Departure_Constant_After_0900_AM +util_Departure_Constant_Shift_for_every_30_minutes_after_0930_am_Square_Root,UNIVERSITY - Departure Constant: Shift for every 30 minutes after 09:30 am - Square Root,"@((df.start>13))*(((np.minimum(9-df.start,6)*(df.start<9)) + (np.minimum(df.start-13,20)*(df.start>13))) ** 0.5)",coef_Departure_Constant_Shift_for_every_30_minutes_after_0930_am_Square_Root +util_Arrival_Constant_Shift_for_every_30_minutes_before_0230_pm_Linear,UNIVERSITY - Arrival Constant: Shift for every 30 minutes before 02:30 pm - Linear,"@((df.end<24)) * ((np.minimum(24-df.end,12) * (df.end<24)) + (np.minimum(df.end-28,19) * (df.end>28)))",coef_Arrival_Constant_Shift_for_every_30_minutes_before_0230_pm_Linear +util_Arrival_Constant_Before_0300_PM,UNIVERSITY - Arrival Constant: Before 03:00 PM,@((df.end<25)),coef_Arrival_Constant_Before_0300_PM +util_Arrival_Constant_0300_PM_0330_PM,UNIVERSITY - Arrival Constant: 03:00 PM - 03:30 PM,@(df.end==25),coef_Arrival_Constant_0300_PM_0330_PM +util_Arrival_Constant_0330_PM_0400_PM,UNIVERSITY - Arrival Constant: 03:30 PM - 04:00 PM,@(df.end==26),coef_Arrival_Constant_0330_PM_0400_PM +util_Arrival_Constant_0400_PM_0430_PM,UNIVERSITY - Arrival Constant: 04:00 PM - 04:30 PM,@(df.end==27),coef_Arrival_Constant_0400_PM_0430_PM +util_Arrival_Constant_After_0430_PM,UNIVERSITY - Arrival Constant: After 04:30 PM,@(df.end>27),coef_Arrival_Constant_After_0430_PM +util_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Linear,UNIVERSITY - Arrival Constant: Shift for every 30 minutes after 05:00 pm - Linear,"@((df.end>28))*((np.minimum(24-df.end,12)*(df.end<24)) + (np.minimum(df.end-28,19)*(df.end>28)))",coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Linear +util_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Square_Root,UNIVERSITY - Arrival Constant: Shift for every 30 minutes after 05:00 pm - Square Root,"@((df.end>28)) *(((np.minimum(24-df.end,12)*(df.end<24)) + (np.minimum(df.end-28,19)*(df.end>28))) ** 0.5)",coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Square_Root +util_Duration_Constant_Shift_for_every_30_minutes_less_than_4p5_hrs_Square_Root,UNIVERSITY - Duration Constant: Shift for every 30 minutes less than 4.5 hrs - Square Root,"@((df.duration<9))*((np.minimum(9-df.duration,7)*(df.duration<9)) + (np.minimum(df.duration-11,25)*(df.duration>11)))",coef_Duration_Constant_Shift_for_every_30_minutes_less_than_4p5_hrs_Square_Root +util_Duration_Constant_4p5_hours_or_less,UNIVERSITY - Duration Constant: 4.5 hours or less,@(df.duration<10),coef_Duration_Constant_4p5_hours_or_less +util_Duration_Constant_5_hours,UNIVERSITY - Duration Constant: 5 hours,@(df.duration==10),coef_Duration_Constant_5_hours +util_Duration_Constant_5p5_hours_or_more,UNIVERSITY - Duration Constant: 5.5 hours or more,@(df.duration>10),coef_Duration_Constant_5p5_hours_or_more +util_Duration_Constant_Shift_for_every_30_minutes_more_than_5p5_hrs_Linear,UNIVERSITY - Duration Constant: Shift for every 30 minutes more than 5.5 hrs - Linear,"@((df.duration>11))*(((np.minimum(9-df.duration,7)*(df.duration<9)) + (np.minimum(df.duration-11,25)*(df.duration>11))) ** 0.5)",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_5p5_hrs_Linear diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_university_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_university_coeffs.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/tour_scheduling_university_coeffs.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_university_coeffs.csv index d656a021ee..1472dfb9f8 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_university_coeffs.csv +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_university_coeffs.csv @@ -1,42 +1,42 @@ -coefficient_name,value,constrain -coef_Mode_Choice_Logsum,0.384091138,F -coef_Low_income_lt25000_Departure_before_800_am_Linear,0.246389489,F -coef_Low_income_lt25000_Duration_lt_4hrs,-0.262288853,F -coef_Medium_high_income_60k_to_120k_Departure_after_830_am_Linear,-0.039079271,F -coef_Medium_high_income_60k_to_120k_Duration_gt_4hrs,-0.041536976,F -coef_High_income_120k_plus_Departure_after_830_am_Linear,-0.039306518,F -coef_Age_41_plus_Departure_after_830_am_Linear,0.055344625,F -coef_Age_41_plus_Durationlt_4_hrs_Linear,-0.152498075,F -coef_Distance_to_destination_Departure_before_800_am_Linear,0.006869786,F -coef_Distance_to_destination_Departure_after_830_am_Linear,0.003686402,F -coef_Distance_to_destination_Durationlt_4_hrs_Linear,-0.04027172,F -coef_Distance_to_destination_Durationgt_4_hrs_Linear,0.003803244,F -coef_Distance_to_destination_Durationlt_4_hrs_Square_Root,0.041070113,F -coef_Subsequent_tour_is_work_tour_Departure_after_830_am,-0.29166292,F -coef_Subsequent_tour_is_work_tour_Duration_lt_4_hours,-0.482292817,F -coef_Subsequent_tour_is_work_tour_Duration_gt_4_hours,-0.364624965,F -coef_Subsequent_tour_is_school_tour_Departure_after_830_am,-0.286206955,F -coef_Subsequent_tour_is_school_tour_Duration_lt_4_hours,0.30341795,F -coef_Subsequent_tour_is_school_tour_Duration_gt_4_hours,-0.247436221,F -coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,-0.211059285,F -coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,-0.35316727,F -coef_Departure_Constant_Shift_for_every_30_minutes_before_0700_am_Linear,-0.947594485,F -coef_Departure_Constant_Before_0730_AM,-0.296228472,F -coef_Departure_Constant_0730_AM_0800_AM,-0.650538708,F -coef_Departure_Constant_0800_AM_0830_AM,0,T -coef_Departure_Constant_0830_AM_0900_AM,-0.525569176,F -coef_Departure_Constant_After_0900_AM,-0.536008149,F -coef_Departure_Constant_Shift_for_every_30_minutes_after_0930_am_Square_Root,-0.500045988,F -coef_Arrival_Constant_Shift_for_every_30_minutes_before_0230_pm_Linear,-0.209375282,F -coef_Arrival_Constant_Before_0300_PM,-0.962572172,F -coef_Arrival_Constant_0300_PM_0330_PM,-0.627901132,F -coef_Arrival_Constant_0330_PM_0400_PM,0,T -coef_Arrival_Constant_0400_PM_0430_PM,-0.190818088,F -coef_Arrival_Constant_After_0430_PM,-0.66545038,F -coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Linear,-0.209562151,F -coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Square_Root,0.503497689,F -coef_Duration_Constant_Shift_for_every_30_minutes_less_than_4p5_hrs_Square_Root,0.225706446,F -coef_Duration_Constant_4p5_hours_or_less,0.03106769,F -coef_Duration_Constant_5_hours,0,T -coef_Duration_Constant_5p5_hours_or_more,0.343447232,F -coef_Duration_Constant_Shift_for_every_30_minutes_more_than_5p5_hrs_Linear,-0.115312573,F +coefficient_name,value,constrain +coef_Mode_Choice_Logsum,0.384091138,F +coef_Low_income_lt25000_Departure_before_800_am_Linear,0.246389489,F +coef_Low_income_lt25000_Duration_lt_4hrs,-0.262288853,F +coef_Medium_high_income_60k_to_120k_Departure_after_830_am_Linear,-0.039079271,F +coef_Medium_high_income_60k_to_120k_Duration_gt_4hrs,-0.041536976,F +coef_High_income_120k_plus_Departure_after_830_am_Linear,-0.039306518,F +coef_Age_41_plus_Departure_after_830_am_Linear,0.055344625,F +coef_Age_41_plus_Durationlt_4_hrs_Linear,-0.152498075,F +coef_Distance_to_destination_Departure_before_800_am_Linear,0.006869786,F +coef_Distance_to_destination_Departure_after_830_am_Linear,0.003686402,F +coef_Distance_to_destination_Durationlt_4_hrs_Linear,-0.04027172,F +coef_Distance_to_destination_Durationgt_4_hrs_Linear,0.003803244,F +coef_Distance_to_destination_Durationlt_4_hrs_Square_Root,0.041070113,F +coef_Subsequent_tour_is_work_tour_Departure_after_830_am,-0.29166292,F +coef_Subsequent_tour_is_work_tour_Duration_lt_4_hours,-0.482292817,F +coef_Subsequent_tour_is_work_tour_Duration_gt_4_hours,-0.364624965,F +coef_Subsequent_tour_is_school_tour_Departure_after_830_am,-0.286206955,F +coef_Subsequent_tour_is_school_tour_Duration_lt_4_hours,0.30341795,F +coef_Subsequent_tour_is_school_tour_Duration_gt_4_hours,-0.247436221,F +coef_Second_tour_of_two_mandatory_tours_Duration_lt_4_hours,-0.211059285,F +coef_Second_tour_of_two_mandatory_tours_Duration_gt_4_hours,-0.35316727,F +coef_Departure_Constant_Shift_for_every_30_minutes_before_0700_am_Linear,-0.947594485,F +coef_Departure_Constant_Before_0730_AM,-0.296228472,F +coef_Departure_Constant_0730_AM_0800_AM,-0.650538708,F +coef_Departure_Constant_0800_AM_0830_AM,0,T +coef_Departure_Constant_0830_AM_0900_AM,-0.525569176,F +coef_Departure_Constant_After_0900_AM,-0.536008149,F +coef_Departure_Constant_Shift_for_every_30_minutes_after_0930_am_Square_Root,-0.500045988,F +coef_Arrival_Constant_Shift_for_every_30_minutes_before_0230_pm_Linear,-0.209375282,F +coef_Arrival_Constant_Before_0300_PM,-0.962572172,F +coef_Arrival_Constant_0300_PM_0330_PM,-0.627901132,F +coef_Arrival_Constant_0330_PM_0400_PM,0,T +coef_Arrival_Constant_0400_PM_0430_PM,-0.190818088,F +coef_Arrival_Constant_After_0430_PM,-0.66545038,F +coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Linear,-0.209562151,F +coef_Arrival_Constant_Shift_for_every_30_minutes_after_0500_pm_Square_Root,0.503497689,F +coef_Duration_Constant_Shift_for_every_30_minutes_less_than_4p5_hrs_Square_Root,0.225706446,F +coef_Duration_Constant_4p5_hours_or_less,0.03106769,F +coef_Duration_Constant_5_hours,0,T +coef_Duration_Constant_5p5_hours_or_more,0.343447232,F +coef_Duration_Constant_Shift_for_every_30_minutes_more_than_5p5_hrs_Linear,-0.115312573,F diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_work.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_work.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/tour_scheduling_work.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_work.csv index ebc108bf3a..e180d0c155 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_work.csv +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_work.csv @@ -1,100 +1,100 @@ -Label,Description,Expression,Coefficient -util_Mode_Choice_Logsum,Mode Choice Logsum,mode_choice_logsum,coef_Mode_Choice_Logsum -util_Female_Departure_before_7_am,Female - Departure before 7:00 am - Linear,@((df.female) & (df.start<9)) * df.departureLinearShift1,coef_Female_Departure_before_7_am -util_Female_Arrival_after_6_pm,Female - Arrival after 6:00 pm - Linear,@((df.female) & (df.end>30)) * df.arrivalLinearShift1,coef_Female_Arrival_after_6_pm -util_Female_with_preschool_child_Departure_before_7_am,Female with preschool child - Departure before 7:00 am - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Female_with_preschool_child_Departure_before_7_am -util_Female_with_preschool_child_Departure_after_7_am,Female with preschool child - Departure after 7:30 am - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.start>9)) * df.departureLinearShift1,coef_Female_with_preschool_child_Departure_after_7_am -util_Female_with_preschool_child_Arrival_after_6_pm,Female with preschool child - Arrival after 6:00 pm - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.end>30)) * df.arrivalLinearShift1,coef_Female_with_preschool_child_Arrival_after_6_pm -util_Low_income_lt_25000_Departure_before_7_am,Low income (<25000) - Departure before 7:00 am - Linear,@((df.is_income_less25K) & (df.start<9)) * df.departureLinearShift1,coef_Low_income_lt_25000_Departure_before_7_am -util_Low_income_lt_25000_Departure_after_7_am,Low income (<25000) - Departure after 7:30 am - Linear,@((df.is_income_less25K) & (df.start>9)) * df.departureLinearShift1,coef_Low_income_lt_25000_Departure_after_7_am -util_Low_income_lt_25000_Arrival_after_6_pm,Low income (<25000) - Arrival after 6:00 pm - Linear,@((df.is_income_less25K) & (df.start>30)) * df.arrivalLinearShift1,coef_Low_income_lt_25000_Arrival_after_6_pm -util_Med_income_25k_to_60k_Departure_before_7_am,Med income (25k to 60k) - Departure before 7:00 am - Linear,@((df.is_income_25K_to_60K) & (df.start<9)) * df.departureLinearShift1,coef_Med_income_25k_to_60k_Departure_before_7_am -util_Med_income_25k_to_60k_Arrival_after_6_pm,Med income (25k to 60k) - Arrival after 6:00 pm - Linear,@((df.is_income_25K_to_60K) & (df.end>30)) * df.arrivalLinearShift1,coef_Med_income_25k_to_60k_Arrival_after_6_pm -util_Medhigh_income_60k_to_120k_Departure_before_7_am,Med-high income (60k to 120k) - Departure before 7:00 am - Linear,@((df.is_income_60K_to_120K) & (df.start<9)) * df.departureLinearShift1,coef_Medhigh_income_60k_to_120k_Departure_before_7_am -util_Age_16_to_18_yrs_Departure_Before_7_am,Age 16 to 18 yrs - Departure Before 7:00 am,@(((df.age>=16) & (df.age<=18)) & (df.start<9)) * df.departureLinearShift1,coef_Age_16_to_18_yrs_Departure_Before_7_am -util_Age_16_to_18_yrs_Departure_After_7_am,Age 16 to 18 yrs - Departure After 7:30 am,@(((df.age>=16) & (df.age<=18)) & (df.start>9)) * df.departureLinearShift1,coef_Age_16_to_18_yrs_Departure_After_7_am -util_Age_19_to_24_yrs_Departure_After_7_am,Age 19 to 24 yrs - Departure After 7:30 am,@(((df.age>=19) & (df.age<=24)) & (df.start>9)) * df.departureLinearShift1,coef_Age_19_to_24_yrs_Departure_After_7_am -util_Age_25_to_40_yrs_Departure_Before_7_am,Age 25 to 40 yrs - Departure Before 7:00 am,@(((df.age>=25) & (df.age<=40)) & (df.start<9)) * df.departureLinearShift1,coef_Age_25_to_40_yrs_Departure_Before_7_am -util_Age_65_plus_yrs_Departure_After_7_am,Age 65+ yrs - Departure After 7:30 am,@((df.age>=65) & (df.start>9)) * df.departureLinearShift1,coef_Age_65_plus_yrs_Departure_After_7_am -util_Age_19_to_24_yrs_Arrival_after_6_pm,Age 19 to 24 yrs - Arrival after 6:00 pm ,@(((df.age>=19) & (df.age<=24)) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_19_to_24_yrs_Arrival_after_6_pm -util_Age_25_to_40_yrs_Arrival_before_5_pm,Age 25 to 40 yrs - Arrival before 5:30 pm ,@(((df.age>=25) & (df.age<=40)) & (df.end<30)) * df.arrivalLinearShift1,coef_Age_25_to_40_yrs_Arrival_before_5_pm -util_Age_56_to_64_yrs_Arrival_after_6_pm,Age 56 to 64 yrs - Arrival after 6:00 pm ,@(((df.age>=56) & (df.age<65)) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_56_to_64_yrs_Arrival_after_6_pm -util_Age_65_plus_yrs_Arrival_before_5_pm,Age 65+ yrs - Arrival before 5:30 pm ,@((df.age>=65) & (df.end<30)) * df.arrivalLinearShift1,coef_Age_65_plus_yrs_Arrival_before_5_pm -util_Age_65_plus_yrs_Arrival_after_6_pm,Age 65+ yrs - Arrival after 6:00 pm ,@((df.age>=65) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_65_plus_yrs_Arrival_after_6_pm -util_Zero_auto_HH_Departure_before_7_am,Zero auto HH - Departure before 7:00 am - Linear,@((df.auto_ownership == 0) & (df.start<9)) * df.departureLinearShift1,coef_Zero_auto_HH_Departure_before_7_am -util_Zero_auto_HH_Arrival_after_6_pm,Zero auto HH - Arrival after 6:00 pm - Linear,@((df.auto_ownership == 0) & (df.end>30)) * df.arrivalLinearShift1,coef_Zero_auto_HH_Arrival_after_6_pm -util_Parttime_worker_Departure_before_7_am,Part-time worker - Departure before 7:00 am - Linear,@((df.ptype==2) & (df.start<9)) * df.departureLinearShift1,coef_Parttime_worker_Departure_before_7_am -util_Parttime_worker_Departure_after_7_am,Part-time worker - Departure after 7:30 am - Linear,@((df.ptype==2) & (df.start>9)) * df.departureLinearShift1,coef_Parttime_worker_Departure_after_7_am -util_Parttime_worker_Arrival_before_5_pm,Part-time worker - Arrival before 5:30 pm - Linear,@((df.ptype==2) & (df.end<30)) * df.arrivalLinearShift1,coef_Parttime_worker_Arrival_before_5_pm -util_Parttime_worker_Arrival_after_6_pm,Part-time worker - Arrival after 6:00 pm - Linear,@((df.ptype==2) & (df.end>30)) * df.arrivalLinearShift1,coef_Parttime_worker_Arrival_after_6_pm -util_University_student_Departure_after_7_am,University student - Departure after 7:30 am - Linear,@((df.ptype==3) & (df.start>9)) * df.departureLinearShift1,coef_University_student_Departure_after_7_am -util_University_student_Arrival_before_5_pm,University student - Arrival before 5:30 pm - Linear,@((df.ptype==3) & (df.end<30)) * df.arrivalLinearShift1,coef_University_student_Arrival_before_5_pm -util_University_student_Arrival_after_6_pm,University student - Arrival after 6:00 pm - Linear,@((df.ptype==3) & (df.end>30)) * df.arrivalLinearShift1,coef_University_student_Arrival_after_6_pm -#util_Blue_collar_Departure_before_7_am,#Blue collar - Departure before 7:00 am - Linear,@((df.work_segment==5) & (df.start<9)) * df.departureLinearShift1,coef_Blue_collar_Departure_before_7_am -#util_Blue_collar_Departure_after_7_am,#Blue collar - Departure after 7:30 am - Linear,@((df.work_segment==5)& (df.start>9)) * df.departureLinearShift1,coef_Blue_collar_Departure_after_7_am -#util_Blue_collar_Arrival_before_5_pm,#Blue collar - Arrival before 5:30 pm - Linear,@((df.work_segment==5)& (df.end<30)) * df.arrivalLinearShift1,coef_Blue_collar_Arrival_before_5_pm -#util_Service_Departure_before_7_am,#Service - Departure before 7:00 am - Linear,@((df.work_segment==2) & (df.start<9)) * df.departureLinearShift1,coef_Service_Departure_before_7_am -#util_Service_Departure_after_7_am,#Service - Departure after 7:30 am - Linear,@((df.work_segment==2) & (df.start>9)) * df.departureLinearShift1,coef_Service_Departure_after_7_am -#util_Service_Arrival_before_5_pm,#Service - Arrival before 5:30 pm - Linear,@((df.work_segment==2) & (df.end<30)) * df.arrivalLinearShift1,coef_Service_Arrival_before_5_pm -#util_Health_Departure_before_7_am,#Health - Departure before 7:00 am - Linear,@((df.work_segment==3) & (df.start<9)) * df.departureLinearShift1,coef_Health_Departure_before_7_am -#util_Health_Arrival_after_6_pm,#Health - Arrival after 6:00 pm - Linear,@((df.work_segment==3) & (df.end>30)) * df.arrivalLinearShift1,coef_Health_Arrival_after_6_pm -#util_Retail_and_food_Departure_after_7_am,#Retail and food - Departure after 7:30 am - Linear,@((df.work_segment==4) & (df.start>9)) * df.departureLinearShift1,coef_Retail_and_food_Departure_after_7_am -#util_Retail_and_food_Arrival_before_5_pm,#Retail and food - Arrival before 5:30 pm - Linear,@((df.work_segment==4) & (df.end<30)) * df.arrivalLinearShift1,coef_Retail_and_food_Arrival_before_5_pm -#util_Retail_and_food_Arrival_after_6_pm,#Retail and food - Arrival after 6:00 pm - Linear,@((df.work_segment==4) & (df.end>30)) * df.arrivalLinearShift1,coef_Retail_and_food_Arrival_after_6_pm -util_Time_SOV_freeflowto_destination_Departure_before_7_am,Time (SOV freeflow) to destination - Departure before 7:00 am - Linear,@(df.start<9) * df.departureLinearShift1* (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Departure_before_7_am -util_Time_SOV_freeflowto_destination_Departure_after_7_am,Time (SOV freeflow) to destination - Departure after 7:30 am - Linear,@(df.start>9) * df.departureLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Departure_after_7_am -util_Time_SOV_freeflowto_destination_Arrival_before_5_pm,Time (SOV freeflow) to destination - Arrival before 5:30 pm - Linear,@(df.end<30) * df.arrivalLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Arrival_before_5_pm -util_Time_SOV_freeflowto_destination_Arrival_after_6_pm,Time (SOV freeflow) to destination - Arrival after 6:00 pm - Linear,@(df.end>30) * df.arrivalLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Arrival_after_6_pm -util_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am,Presence of Non-Working Adult in the HH - Departure before 7:00 am - Linear,@((df.is_non_worker_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am -util_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm,Presence of Non-Working Adult in the HH - Arrival before 5:30 pm - Linear,@((df.is_non_worker_in_HH) & (df.end<30)) * df.arrivalLinearShift1,coef_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm -util_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am,Presence of Pre-Driving Age Children in the HH - Departure before 7:30 am - Linear,@((df.is_pre_drive_child_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am -util_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am,Presence of Pre-Driving Age Children in the HH - Departure after 8 am - Linear,@((df.is_pre_drive_child_in_HH) & (df.start>9)) * df.departureLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am -util_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm,Presence of Pre-Driving Age Children in the HH - Arrival before 5:30 pm - Linear,@((df.is_pre_drive_child_in_HH) & (df.end<30)) * df.arrivalLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm -util_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm,Presence of Pre-Driving Age Children in the HH - Arrival after 6:00 pm - Linear,@((df.is_pre_drive_child_in_HH)& (df.end>30)) * df.arrivalLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm -util_First_of_2_plus_mandatory_tour_Departure_before_7_am,First of 2+ mandatory tour - Departure before 7:00 am,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.start<9)) * df.departureLinearShift1,coef_First_of_2_plus_mandatory_tour_Departure_before_7_am -util_First_of_2_plus_mandatory_tour_Departure_after_7_am,First of 2+ mandatory tour - Departure after 7:30 am,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.start>9)) * df.departureLinearShift1,coef_First_of_2_plus_mandatory_tour_Departure_after_7_am -util_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,First of 2+ mandatory tour - Duration < 9.5 hours,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.duration<21)) * df.durationShift,coef_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours -util_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,First of 2+ mandatory tour - Duration > 9.5 hours,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.duration<21)) * df.durationShift,coef_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours -util_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm,2nd or later of 2+ mandatory tour - Departure before 1:30 pm,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.start<22)) * df.departureLinearShift1,coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm -util_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm,2nd or later of 2+ mandatory tour - Departure after 2:00 pm,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.start>22)) * df.departureLinearShift1,coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm -util_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,2nd or later of 2+ mandatory tour - Duration < 9.5 hours,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<21)) * df.durationShift,coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours -util_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,2nd or later of 2+ mandatory tour - Duration > 9.5 hours,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<21)) * df.durationShift,coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours -#,#Departure Constants,,coef_Departure_Constants -util_Departure_Constant_Shift_for_every_30_minutes_before_6_am,Departure Constant: Shift for every 30 minutes before 6:00 am - Linear,"@(df.start<6) * ((np.minimum(6-df.start,48)*(df.start<6)) + (np.minimum(df.start-13,21)*(df.start>13)))",coef_Departure_Constant_Shift_for_every_30_minutes_before_6_am -util_Departure_Constant_Before_06_AM,Departure Constant: Before 06:00 AM,start<7,coef_Departure_Constant_Before_06_AM -util_Departure_Constant_06_AM_06_AM_7,Departure Constant: 06:00 AM - 06:30 AM (7) ,start==7,coef_Departure_Constant_06_AM_06_AM_7 -util_Departure_Constant_06_AM_07_AM_8,Departure Constant: 06:30 AM - 07:00 AM (8) ,start==8,coef_Departure_Constant_06_AM_07_AM_8 -util_Departure_Constant_07_AM_07_AM_9,Departure Constant: 07:00 AM - 07:30 AM (9) ,start==9,coef_Departure_Constant_07_AM_07_AM_9 -util_Departure_Constant_07_AM_08_AM_10,Departure Constant: 07:30 AM - 08:00 AM (10) ,start==10,coef_Departure_Constant_07_AM_08_AM_10 -util_Departure_Constant_08_AM_08_AM_11,Departure Constant: 08:00 AM - 08:30 AM (11) ,start==11,coef_Departure_Constant_08_AM_08_AM_11 -util_Departure_Constant_08_AM_09_AM_12,Departure Constant: 08:30 AM - 09:00 AM (12) ,start==12,coef_Departure_Constant_08_AM_09_AM_12 -util_Departure_Constant_After_09_AM,Departure Constant: After 09:00 AM,start>12,coef_Departure_Constant_After_09_AM -util_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root,Departure Constant: Shift for every 30 minutes after 9:30 am - Square Root,"@(df.start>13) * (((np.minimum(6-df.start,48)*(df.start<6)) + (np.minimum(df.start-13,21)*(df.start>13))) ** 0.5)",coef_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root -#,#Arrival Constants,,coef_Arrival_Constants -util_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm,Arrival Constant: Shift for every 30 minutes before 3:00 pm - Linear,"@(df.end<25) * ((np.minimum(25-df.end, 15)*(df.end<25))+ (np.minimum(df.end-35,11)*(df.end>35)))",coef_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm -util_Arrival_Constant_Before_03_PM,Arrival Constant: Before 03:30 PM,end<26,coef_Arrival_Constant_Before_03_PM -util_Arrival_Constant_03_PM_04_PM_26,Arrival Constant: 03:30 PM - 04:00 PM (26) ,end==26,coef_Arrival_Constant_03_PM_04_PM_26 -util_Arrival_Constant_04_PM_04_PM_27,Arrival Constant: 04:00 PM - 04:30 PM (27) ,end==27,coef_Arrival_Constant_04_PM_04_PM_27 -util_Arrival_Constant_04_PM_05_PM_28,Arrival Constant: 04:30 PM - 05:00 PM (28) ,end==28,coef_Arrival_Constant_04_PM_05_PM_28 -util_Arrival_Constant_05_PM_05_PM_29,Arrival Constant: 05:00 PM - 05:30 PM (29),end==29,coef_Arrival_Constant_05_PM_05_PM_29 -util_Arrival_Constant_05_PM_06_PM_30,Arrival Constant: 05:30 PM - 06:00 PM (30) ,end==30,coef_Arrival_Constant_05_PM_06_PM_30 -util_Arrival_Constant_06_PM_06_PM_31,Arrival Constant: 06:00 PM - 06:30 PM (31) ,end==31,coef_Arrival_Constant_06_PM_06_PM_31 -util_Arrival_Constant_06_PM_7_PM_32,Arrival Constant: 06:30 PM - 7:00 PM (32) ,end==32,coef_Arrival_Constant_06_PM_7_PM_32 -util_Arrival_Constant_7_PM_7_PM_33,Arrival Constant: 7:00 PM - 7:30 PM (33) ,end==33,coef_Arrival_Constant_7_PM_7_PM_33 -util_Arrival_Constant_7_PM_8_PM_34,Arrival Constant: 7:30 PM - 8:00 PM (34) ,end==34,coef_Arrival_Constant_7_PM_8_PM_34 -util_Arrival_Constant_After_08_PM,Arrival Constant: After 08:00 PM,end>34,coef_Arrival_Constant_After_08_PM -util_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root,Arrival Constant: Shift for every 30 minutes after 6:30 pm - Square root,"@(df.end>35) * (((np.minimum(25-df.end, 15)*(df.end<25))+ (np.minimum(df.end-35,11)*(df.end>35))) ** 0.5)",coef_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root -#,#Duration Constants,,coef_Duration_Constants -util_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs,Duration Constant: Shift for every 30 minutes less than 8.5 hrs - Linear,"@(df.duration<16) * ((np.minimum(16-df.duration,47)*(df.duration<16)) + (np.minimum(df.duration-25,10)*(df.duration>25)))",coef_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs -util_Duration_Constant_Shorter_than_8p5_hrs,Duration Constant: Shorter than 8.5 hrs,duration<17,coef_Duration_Constant_Shorter_than_8p5_hrs -util_Duration_Constant_8p5_hours,Duration Constant: 8.5 hours,duration==17,coef_Duration_Constant_8p5_hours -util_Duration_Constant_9_hours,Duration Constant: 9 hours,duration==18,coef_Duration_Constant_9_hours -util_Duration_Constant_9p5_hours,Duration Constant: 9.5 hours,duration==19,coef_Duration_Constant_9p5_hours -util_Duration_Constant_10_hours,Duration Constant: 10 hours,duration==20,coef_Duration_Constant_10_hours -util_Duration_Constant_10p5_hours,Duration Constant: 10.5 hours,duration==21,coef_Duration_Constant_10p5_hours -util_Duration_Constant_11_hours,Duration Constant: 11 hours,duration==22,coef_Duration_Constant_11_hours -util_Duration_Constant_11p5_hours,Duration Constant: 11.5 hours,duration==23,coef_Duration_Constant_11p5_hours -util_Duration_Constant_12_hours,Duration Constant: 12 hours,duration==24,coef_Duration_Constant_12_hours -util_Duration_Constant_Longer_than_12_hrs,Duration Constant: Longer than 12 hrs,duration>24,coef_Duration_Constant_Longer_than_12_hrs -util_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs,Duration Constant: Shift for every 30 minutes more than 10 hrs - Linear,"@(df.duration>25) * ((np.minimum(16-df.duration,47)*(df.duration<16)) + (np.minimum(df.duration-25,10)*(df.duration>25)))",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs -util_Calibration_constant_Duration_0,Calibration constant: Duration = 0,duration == 0,coef_Calibration_constant_Duration_0 +Label,Description,Expression,Coefficient +util_Mode_Choice_Logsum,Mode Choice Logsum,mode_choice_logsum,coef_Mode_Choice_Logsum +util_Female_Departure_before_7_am,Female - Departure before 7:00 am - Linear,@((df.female) & (df.start<9)) * df.departureLinearShift1,coef_Female_Departure_before_7_am +util_Female_Arrival_after_6_pm,Female - Arrival after 6:00 pm - Linear,@((df.female) & (df.end>30)) * df.arrivalLinearShift1,coef_Female_Arrival_after_6_pm +util_Female_with_preschool_child_Departure_before_7_am,Female with preschool child - Departure before 7:00 am - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Female_with_preschool_child_Departure_before_7_am +util_Female_with_preschool_child_Departure_after_7_am,Female with preschool child - Departure after 7:30 am - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.start>9)) * df.departureLinearShift1,coef_Female_with_preschool_child_Departure_after_7_am +util_Female_with_preschool_child_Arrival_after_6_pm,Female with preschool child - Arrival after 6:00 pm - Linear,@((df.female) & (df.is_pre_drive_child_in_HH) & (df.end>30)) * df.arrivalLinearShift1,coef_Female_with_preschool_child_Arrival_after_6_pm +util_Low_income_lt_25000_Departure_before_7_am,Low income (<25000) - Departure before 7:00 am - Linear,@((df.is_income_less25K) & (df.start<9)) * df.departureLinearShift1,coef_Low_income_lt_25000_Departure_before_7_am +util_Low_income_lt_25000_Departure_after_7_am,Low income (<25000) - Departure after 7:30 am - Linear,@((df.is_income_less25K) & (df.start>9)) * df.departureLinearShift1,coef_Low_income_lt_25000_Departure_after_7_am +util_Low_income_lt_25000_Arrival_after_6_pm,Low income (<25000) - Arrival after 6:00 pm - Linear,@((df.is_income_less25K) & (df.start>30)) * df.arrivalLinearShift1,coef_Low_income_lt_25000_Arrival_after_6_pm +util_Med_income_25k_to_60k_Departure_before_7_am,Med income (25k to 60k) - Departure before 7:00 am - Linear,@((df.is_income_25K_to_60K) & (df.start<9)) * df.departureLinearShift1,coef_Med_income_25k_to_60k_Departure_before_7_am +util_Med_income_25k_to_60k_Arrival_after_6_pm,Med income (25k to 60k) - Arrival after 6:00 pm - Linear,@((df.is_income_25K_to_60K) & (df.end>30)) * df.arrivalLinearShift1,coef_Med_income_25k_to_60k_Arrival_after_6_pm +util_Medhigh_income_60k_to_120k_Departure_before_7_am,Med-high income (60k to 120k) - Departure before 7:00 am - Linear,@((df.is_income_60K_to_120K) & (df.start<9)) * df.departureLinearShift1,coef_Medhigh_income_60k_to_120k_Departure_before_7_am +util_Age_16_to_18_yrs_Departure_Before_7_am,Age 16 to 18 yrs - Departure Before 7:00 am,@(((df.age>=16) & (df.age<=18)) & (df.start<9)) * df.departureLinearShift1,coef_Age_16_to_18_yrs_Departure_Before_7_am +util_Age_16_to_18_yrs_Departure_After_7_am,Age 16 to 18 yrs - Departure After 7:30 am,@(((df.age>=16) & (df.age<=18)) & (df.start>9)) * df.departureLinearShift1,coef_Age_16_to_18_yrs_Departure_After_7_am +util_Age_19_to_24_yrs_Departure_After_7_am,Age 19 to 24 yrs - Departure After 7:30 am,@(((df.age>=19) & (df.age<=24)) & (df.start>9)) * df.departureLinearShift1,coef_Age_19_to_24_yrs_Departure_After_7_am +util_Age_25_to_40_yrs_Departure_Before_7_am,Age 25 to 40 yrs - Departure Before 7:00 am,@(((df.age>=25) & (df.age<=40)) & (df.start<9)) * df.departureLinearShift1,coef_Age_25_to_40_yrs_Departure_Before_7_am +util_Age_65_plus_yrs_Departure_After_7_am,Age 65+ yrs - Departure After 7:30 am,@((df.age>=65) & (df.start>9)) * df.departureLinearShift1,coef_Age_65_plus_yrs_Departure_After_7_am +util_Age_19_to_24_yrs_Arrival_after_6_pm,Age 19 to 24 yrs - Arrival after 6:00 pm ,@(((df.age>=19) & (df.age<=24)) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_19_to_24_yrs_Arrival_after_6_pm +util_Age_25_to_40_yrs_Arrival_before_5_pm,Age 25 to 40 yrs - Arrival before 5:30 pm ,@(((df.age>=25) & (df.age<=40)) & (df.end<30)) * df.arrivalLinearShift1,coef_Age_25_to_40_yrs_Arrival_before_5_pm +util_Age_56_to_64_yrs_Arrival_after_6_pm,Age 56 to 64 yrs - Arrival after 6:00 pm ,@(((df.age>=56) & (df.age<65)) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_56_to_64_yrs_Arrival_after_6_pm +util_Age_65_plus_yrs_Arrival_before_5_pm,Age 65+ yrs - Arrival before 5:30 pm ,@((df.age>=65) & (df.end<30)) * df.arrivalLinearShift1,coef_Age_65_plus_yrs_Arrival_before_5_pm +util_Age_65_plus_yrs_Arrival_after_6_pm,Age 65+ yrs - Arrival after 6:00 pm ,@((df.age>=65) & (df.end>30)) * df.arrivalLinearShift1,coef_Age_65_plus_yrs_Arrival_after_6_pm +util_Zero_auto_HH_Departure_before_7_am,Zero auto HH - Departure before 7:00 am - Linear,@((df.auto_ownership == 0) & (df.start<9)) * df.departureLinearShift1,coef_Zero_auto_HH_Departure_before_7_am +util_Zero_auto_HH_Arrival_after_6_pm,Zero auto HH - Arrival after 6:00 pm - Linear,@((df.auto_ownership == 0) & (df.end>30)) * df.arrivalLinearShift1,coef_Zero_auto_HH_Arrival_after_6_pm +util_Parttime_worker_Departure_before_7_am,Part-time worker - Departure before 7:00 am - Linear,@((df.ptype==2) & (df.start<9)) * df.departureLinearShift1,coef_Parttime_worker_Departure_before_7_am +util_Parttime_worker_Departure_after_7_am,Part-time worker - Departure after 7:30 am - Linear,@((df.ptype==2) & (df.start>9)) * df.departureLinearShift1,coef_Parttime_worker_Departure_after_7_am +util_Parttime_worker_Arrival_before_5_pm,Part-time worker - Arrival before 5:30 pm - Linear,@((df.ptype==2) & (df.end<30)) * df.arrivalLinearShift1,coef_Parttime_worker_Arrival_before_5_pm +util_Parttime_worker_Arrival_after_6_pm,Part-time worker - Arrival after 6:00 pm - Linear,@((df.ptype==2) & (df.end>30)) * df.arrivalLinearShift1,coef_Parttime_worker_Arrival_after_6_pm +util_University_student_Departure_after_7_am,University student - Departure after 7:30 am - Linear,@((df.ptype==3) & (df.start>9)) * df.departureLinearShift1,coef_University_student_Departure_after_7_am +util_University_student_Arrival_before_5_pm,University student - Arrival before 5:30 pm - Linear,@((df.ptype==3) & (df.end<30)) * df.arrivalLinearShift1,coef_University_student_Arrival_before_5_pm +util_University_student_Arrival_after_6_pm,University student - Arrival after 6:00 pm - Linear,@((df.ptype==3) & (df.end>30)) * df.arrivalLinearShift1,coef_University_student_Arrival_after_6_pm +#util_Blue_collar_Departure_before_7_am,#Blue collar - Departure before 7:00 am - Linear,@((df.work_segment==5) & (df.start<9)) * df.departureLinearShift1,coef_Blue_collar_Departure_before_7_am +#util_Blue_collar_Departure_after_7_am,#Blue collar - Departure after 7:30 am - Linear,@((df.work_segment==5)& (df.start>9)) * df.departureLinearShift1,coef_Blue_collar_Departure_after_7_am +#util_Blue_collar_Arrival_before_5_pm,#Blue collar - Arrival before 5:30 pm - Linear,@((df.work_segment==5)& (df.end<30)) * df.arrivalLinearShift1,coef_Blue_collar_Arrival_before_5_pm +#util_Service_Departure_before_7_am,#Service - Departure before 7:00 am - Linear,@((df.work_segment==2) & (df.start<9)) * df.departureLinearShift1,coef_Service_Departure_before_7_am +#util_Service_Departure_after_7_am,#Service - Departure after 7:30 am - Linear,@((df.work_segment==2) & (df.start>9)) * df.departureLinearShift1,coef_Service_Departure_after_7_am +#util_Service_Arrival_before_5_pm,#Service - Arrival before 5:30 pm - Linear,@((df.work_segment==2) & (df.end<30)) * df.arrivalLinearShift1,coef_Service_Arrival_before_5_pm +#util_Health_Departure_before_7_am,#Health - Departure before 7:00 am - Linear,@((df.work_segment==3) & (df.start<9)) * df.departureLinearShift1,coef_Health_Departure_before_7_am +#util_Health_Arrival_after_6_pm,#Health - Arrival after 6:00 pm - Linear,@((df.work_segment==3) & (df.end>30)) * df.arrivalLinearShift1,coef_Health_Arrival_after_6_pm +#util_Retail_and_food_Departure_after_7_am,#Retail and food - Departure after 7:30 am - Linear,@((df.work_segment==4) & (df.start>9)) * df.departureLinearShift1,coef_Retail_and_food_Departure_after_7_am +#util_Retail_and_food_Arrival_before_5_pm,#Retail and food - Arrival before 5:30 pm - Linear,@((df.work_segment==4) & (df.end<30)) * df.arrivalLinearShift1,coef_Retail_and_food_Arrival_before_5_pm +#util_Retail_and_food_Arrival_after_6_pm,#Retail and food - Arrival after 6:00 pm - Linear,@((df.work_segment==4) & (df.end>30)) * df.arrivalLinearShift1,coef_Retail_and_food_Arrival_after_6_pm +util_Time_SOV_freeflowto_destination_Departure_before_7_am,Time (SOV freeflow) to destination - Departure before 7:00 am - Linear,@(df.start<9) * df.departureLinearShift1* (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Departure_before_7_am +util_Time_SOV_freeflowto_destination_Departure_after_7_am,Time (SOV freeflow) to destination - Departure after 7:30 am - Linear,@(df.start>9) * df.departureLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Departure_after_7_am +util_Time_SOV_freeflowto_destination_Arrival_before_5_pm,Time (SOV freeflow) to destination - Arrival before 5:30 pm - Linear,@(df.end<30) * df.arrivalLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Arrival_before_5_pm +util_Time_SOV_freeflowto_destination_Arrival_after_6_pm,Time (SOV freeflow) to destination - Arrival after 6:00 pm - Linear,@(df.end>30) * df.arrivalLinearShift1 * (df.roundtrip_auto_time_to_work),coef_Time_SOV_freeflowto_destination_Arrival_after_6_pm +util_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am,Presence of Non-Working Adult in the HH - Departure before 7:00 am - Linear,@((df.is_non_worker_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am +util_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm,Presence of Non-Working Adult in the HH - Arrival before 5:30 pm - Linear,@((df.is_non_worker_in_HH) & (df.end<30)) * df.arrivalLinearShift1,coef_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm +util_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am,Presence of Pre-Driving Age Children in the HH - Departure before 7:30 am - Linear,@((df.is_pre_drive_child_in_HH) & (df.start<9)) * df.departureLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am +util_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am,Presence of Pre-Driving Age Children in the HH - Departure after 8 am - Linear,@((df.is_pre_drive_child_in_HH) & (df.start>9)) * df.departureLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am +util_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm,Presence of Pre-Driving Age Children in the HH - Arrival before 5:30 pm - Linear,@((df.is_pre_drive_child_in_HH) & (df.end<30)) * df.arrivalLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm +util_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm,Presence of Pre-Driving Age Children in the HH - Arrival after 6:00 pm - Linear,@((df.is_pre_drive_child_in_HH)& (df.end>30)) * df.arrivalLinearShift1,coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm +util_First_of_2_plus_mandatory_tour_Departure_before_7_am,First of 2+ mandatory tour - Departure before 7:00 am,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.start<9)) * df.departureLinearShift1,coef_First_of_2_plus_mandatory_tour_Departure_before_7_am +util_First_of_2_plus_mandatory_tour_Departure_after_7_am,First of 2+ mandatory tour - Departure after 7:30 am,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.start>9)) * df.departureLinearShift1,coef_First_of_2_plus_mandatory_tour_Departure_after_7_am +util_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,First of 2+ mandatory tour - Duration < 9.5 hours,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.duration<21)) * df.durationShift,coef_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours +util_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,First of 2+ mandatory tour - Duration > 9.5 hours,@(((df.tour_count>1) & (df.tour_num == 1)) & (df.duration<21)) * df.durationShift,coef_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours +util_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm,2nd or later of 2+ mandatory tour - Departure before 1:30 pm,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.start<22)) * df.departureLinearShift1,coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm +util_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm,2nd or later of 2+ mandatory tour - Departure after 2:00 pm,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.start>22)) * df.departureLinearShift1,coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm +util_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,2nd or later of 2+ mandatory tour - Duration < 9.5 hours,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<21)) * df.durationShift,coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours +util_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,2nd or later of 2+ mandatory tour - Duration > 9.5 hours,@(((df.tour_count>1) & (df.tour_num > 1)) & (df.duration<21)) * df.durationShift,coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours +#,#Departure Constants,,coef_Departure_Constants +util_Departure_Constant_Shift_for_every_30_minutes_before_6_am,Departure Constant: Shift for every 30 minutes before 6:00 am - Linear,"@(df.start<6) * ((np.minimum(6-df.start,48)*(df.start<6)) + (np.minimum(df.start-13,21)*(df.start>13)))",coef_Departure_Constant_Shift_for_every_30_minutes_before_6_am +util_Departure_Constant_Before_06_AM,Departure Constant: Before 06:00 AM,start<7,coef_Departure_Constant_Before_06_AM +util_Departure_Constant_06_AM_06_AM_7,Departure Constant: 06:00 AM - 06:30 AM (7) ,start==7,coef_Departure_Constant_06_AM_06_AM_7 +util_Departure_Constant_06_AM_07_AM_8,Departure Constant: 06:30 AM - 07:00 AM (8) ,start==8,coef_Departure_Constant_06_AM_07_AM_8 +util_Departure_Constant_07_AM_07_AM_9,Departure Constant: 07:00 AM - 07:30 AM (9) ,start==9,coef_Departure_Constant_07_AM_07_AM_9 +util_Departure_Constant_07_AM_08_AM_10,Departure Constant: 07:30 AM - 08:00 AM (10) ,start==10,coef_Departure_Constant_07_AM_08_AM_10 +util_Departure_Constant_08_AM_08_AM_11,Departure Constant: 08:00 AM - 08:30 AM (11) ,start==11,coef_Departure_Constant_08_AM_08_AM_11 +util_Departure_Constant_08_AM_09_AM_12,Departure Constant: 08:30 AM - 09:00 AM (12) ,start==12,coef_Departure_Constant_08_AM_09_AM_12 +util_Departure_Constant_After_09_AM,Departure Constant: After 09:00 AM,start>12,coef_Departure_Constant_After_09_AM +util_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root,Departure Constant: Shift for every 30 minutes after 9:30 am - Square Root,"@(df.start>13) * (((np.minimum(6-df.start,48)*(df.start<6)) + (np.minimum(df.start-13,21)*(df.start>13))) ** 0.5)",coef_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root +#,#Arrival Constants,,coef_Arrival_Constants +util_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm,Arrival Constant: Shift for every 30 minutes before 3:00 pm - Linear,"@(df.end<25) * ((np.minimum(25-df.end, 15)*(df.end<25))+ (np.minimum(df.end-35,11)*(df.end>35)))",coef_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm +util_Arrival_Constant_Before_03_PM,Arrival Constant: Before 03:30 PM,end<26,coef_Arrival_Constant_Before_03_PM +util_Arrival_Constant_03_PM_04_PM_26,Arrival Constant: 03:30 PM - 04:00 PM (26) ,end==26,coef_Arrival_Constant_03_PM_04_PM_26 +util_Arrival_Constant_04_PM_04_PM_27,Arrival Constant: 04:00 PM - 04:30 PM (27) ,end==27,coef_Arrival_Constant_04_PM_04_PM_27 +util_Arrival_Constant_04_PM_05_PM_28,Arrival Constant: 04:30 PM - 05:00 PM (28) ,end==28,coef_Arrival_Constant_04_PM_05_PM_28 +util_Arrival_Constant_05_PM_05_PM_29,Arrival Constant: 05:00 PM - 05:30 PM (29),end==29,coef_Arrival_Constant_05_PM_05_PM_29 +util_Arrival_Constant_05_PM_06_PM_30,Arrival Constant: 05:30 PM - 06:00 PM (30) ,end==30,coef_Arrival_Constant_05_PM_06_PM_30 +util_Arrival_Constant_06_PM_06_PM_31,Arrival Constant: 06:00 PM - 06:30 PM (31) ,end==31,coef_Arrival_Constant_06_PM_06_PM_31 +util_Arrival_Constant_06_PM_7_PM_32,Arrival Constant: 06:30 PM - 7:00 PM (32) ,end==32,coef_Arrival_Constant_06_PM_7_PM_32 +util_Arrival_Constant_7_PM_7_PM_33,Arrival Constant: 7:00 PM - 7:30 PM (33) ,end==33,coef_Arrival_Constant_7_PM_7_PM_33 +util_Arrival_Constant_7_PM_8_PM_34,Arrival Constant: 7:30 PM - 8:00 PM (34) ,end==34,coef_Arrival_Constant_7_PM_8_PM_34 +util_Arrival_Constant_After_08_PM,Arrival Constant: After 08:00 PM,end>34,coef_Arrival_Constant_After_08_PM +util_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root,Arrival Constant: Shift for every 30 minutes after 6:30 pm - Square root,"@(df.end>35) * (((np.minimum(25-df.end, 15)*(df.end<25))+ (np.minimum(df.end-35,11)*(df.end>35))) ** 0.5)",coef_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root +#,#Duration Constants,,coef_Duration_Constants +util_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs,Duration Constant: Shift for every 30 minutes less than 8.5 hrs - Linear,"@(df.duration<16) * ((np.minimum(16-df.duration,47)*(df.duration<16)) + (np.minimum(df.duration-25,10)*(df.duration>25)))",coef_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs +util_Duration_Constant_Shorter_than_8p5_hrs,Duration Constant: Shorter than 8.5 hrs,duration<17,coef_Duration_Constant_Shorter_than_8p5_hrs +util_Duration_Constant_8p5_hours,Duration Constant: 8.5 hours,duration==17,coef_Duration_Constant_8p5_hours +util_Duration_Constant_9_hours,Duration Constant: 9 hours,duration==18,coef_Duration_Constant_9_hours +util_Duration_Constant_9p5_hours,Duration Constant: 9.5 hours,duration==19,coef_Duration_Constant_9p5_hours +util_Duration_Constant_10_hours,Duration Constant: 10 hours,duration==20,coef_Duration_Constant_10_hours +util_Duration_Constant_10p5_hours,Duration Constant: 10.5 hours,duration==21,coef_Duration_Constant_10p5_hours +util_Duration_Constant_11_hours,Duration Constant: 11 hours,duration==22,coef_Duration_Constant_11_hours +util_Duration_Constant_11p5_hours,Duration Constant: 11.5 hours,duration==23,coef_Duration_Constant_11p5_hours +util_Duration_Constant_12_hours,Duration Constant: 12 hours,duration==24,coef_Duration_Constant_12_hours +util_Duration_Constant_Longer_than_12_hrs,Duration Constant: Longer than 12 hrs,duration>24,coef_Duration_Constant_Longer_than_12_hrs +util_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs,Duration Constant: Shift for every 30 minutes more than 10 hrs - Linear,"@(df.duration>25) * ((np.minimum(16-df.duration,47)*(df.duration<16)) + (np.minimum(df.duration-25,10)*(df.duration>25)))",coef_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs +util_Calibration_constant_Duration_0,Calibration constant: Duration = 0,duration == 0,coef_Calibration_constant_Duration_0 diff --git a/activitysim/examples/example_semcog/configs/tour_scheduling_work_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_work_coeffs.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/tour_scheduling_work_coeffs.csv rename to activitysim/examples/prototype_mwcog/configs/tour_scheduling_work_coeffs.csv index d25a423d0e..19a85e8179 --- a/activitysim/examples/example_semcog/configs/tour_scheduling_work_coeffs.csv +++ b/activitysim/examples/prototype_mwcog/configs/tour_scheduling_work_coeffs.csv @@ -1,97 +1,97 @@ -coefficient_name,value,constrain -coef_Mode_Choice_Logsum,0.2279,T -coef_Female_Departure_before_7_am,-0.12935306,F -coef_Female_Arrival_after_6_pm,-0.041312616,F -coef_Female_with_preschool_child_Departure_before_7_am,-0.129130464,F -coef_Female_with_preschool_child_Departure_after_7_am,-0.031947595,F -coef_Female_with_preschool_child_Arrival_after_6_pm,-0.048859218,F -coef_Low_income_lt_25000_Departure_before_7_am,0.232768373,F -coef_Low_income_lt_25000_Departure_after_7_am,0.014908169,F -coef_Low_income_lt_25000_Arrival_after_6_pm,0.039105101,F -coef_Med_income_25k_to_60k_Departure_before_7_am,0.123945957,F -coef_Med_income_25k_to_60k_Arrival_after_6_pm,0.020965221,F -coef_Medhigh_income_60k_to_120k_Departure_before_7_am,0.09890939,F -coef_Age_16_to_18_yrs_Departure_Before_7_am,-0.459593556,F -coef_Age_16_to_18_yrs_Departure_After_7_am,0.060951693,F -coef_Age_19_to_24_yrs_Departure_After_7_am,0.031477187,F -coef_Age_25_to_40_yrs_Departure_Before_7_am,-0.11723451,F -coef_Age_65_plus_yrs_Departure_After_7_am,0.051923956,F -coef_Age_19_to_24_yrs_Arrival_after_6_pm,0.032734453,F -coef_Age_25_to_40_yrs_Arrival_before_5_pm,-0.027623617,F -coef_Age_56_to_64_yrs_Arrival_after_6_pm,-0.049130187,F -coef_Age_65_plus_yrs_Arrival_before_5_pm,0.056774635,F -coef_Age_65_plus_yrs_Arrival_after_6_pm,-0.077532684,F -coef_Zero_auto_HH_Departure_before_7_am,0.396983749,F -coef_Zero_auto_HH_Arrival_after_6_pm,0.050665232,F -coef_Parttime_worker_Departure_before_7_am,-0.264760988,F -coef_Parttime_worker_Departure_after_7_am,0.126626287,F -coef_Parttime_worker_Arrival_before_5_pm,0.175158545,F -coef_Parttime_worker_Arrival_after_6_pm,-0.054124518,F -coef_University_student_Departure_after_7_am,0.024758204,F -coef_University_student_Arrival_before_5_pm,0.035389739,F -coef_University_student_Arrival_after_6_pm,0.06173996,F -coef_Blue_collar_Departure_before_7_am,0.327242475,F -coef_Blue_collar_Departure_after_7_am,0.047214248,F -coef_Blue_collar_Arrival_before_5_pm,0.04197056,F -coef_Service_Departure_before_7_am,0.117783508,F -coef_Service_Departure_after_7_am,0.081611629,F -coef_Service_Arrival_before_5_pm,0,T -coef_Health_Departure_before_7_am,0.135275931,F -coef_Health_Arrival_after_6_pm,0.062010123,F -coef_Retail_and_food_Departure_after_7_am,0.076302969,F -coef_Retail_and_food_Arrival_before_5_pm,0.052905387,F -coef_Retail_and_food_Arrival_after_6_pm,0.027069194,F -coef_Time_SOV_freeflowto_destination_Departure_before_7_am,0.011511462,F -coef_Time_SOV_freeflowto_destination_Departure_after_7_am,-0.003821379,F -coef_Time_SOV_freeflowto_destination_Arrival_before_5_pm,-0.00549578,F -coef_Time_SOV_freeflowto_destination_Arrival_after_6_pm,0.002253695,F -coef_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am,0.069957209,F -coef_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm,-0.019807228,F -coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am,-0.084564489,F -coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am,-0.023894467,F -coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm,0.018983499,F -coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm,-0.032091123,F -coef_First_of_2_plus_mandatory_tour_Departure_before_7_am,0.145890035,F -coef_First_of_2_plus_mandatory_tour_Departure_after_7_am,-0.214531877,F -coef_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,0.3069241,F -coef_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,-0.526297898,F -coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm,-0.221304523,F -coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm,-0.176348812,F -coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,0.064893097,F -coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,-0.656942049,F -coef_Departure_Constant_Shift_for_every_30_minutes_before_6_am,-1.151564775,F -coef_Departure_Constant_Before_06_AM,-2.197677208,F -coef_Departure_Constant_06_AM_06_AM_7,-1.314098638,F -coef_Departure_Constant_06_AM_07_AM_8,-0.558766028,F -coef_Departure_Constant_07_AM_07_AM_9,0,T -coef_Departure_Constant_07_AM_08_AM_10,-0.036957515,F -coef_Departure_Constant_08_AM_08_AM_11,-0.285560423,F -coef_Departure_Constant_08_AM_09_AM_12,-0.555478447,F -coef_Departure_Constant_After_09_AM,-0.865125273,F -coef_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root,-0.435746145,F -coef_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm,-0.191607342,F -coef_Arrival_Constant_Before_03_PM,-0.289333093,F -coef_Arrival_Constant_03_PM_04_PM_26,-0.273555837,F -coef_Arrival_Constant_04_PM_04_PM_27,-0.142653706,F -coef_Arrival_Constant_04_PM_05_PM_28,-0.124814807,F -coef_Arrival_Constant_05_PM_05_PM_29,0.004265544,F -coef_Arrival_Constant_05_PM_06_PM_30,0,T -coef_Arrival_Constant_06_PM_06_PM_31,-0.060515031,F -coef_Arrival_Constant_06_PM_7_PM_32,-0.236621114,F -coef_Arrival_Constant_7_PM_7_PM_33,-0.577646614,F -coef_Arrival_Constant_7_PM_8_PM_34,-0.815994515,F -coef_Arrival_Constant_After_08_PM,-0.854151925,F -coef_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root,-0.469720787,F -coef_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs,-0.074266981,F -coef_Duration_Constant_Shorter_than_8p5_hrs,-0.748584335,F -coef_Duration_Constant_8p5_hours,-0.654814097,F -coef_Duration_Constant_9_hours,-0.372064236,F -coef_Duration_Constant_9p5_hours,-0.144226124,F -coef_Duration_Constant_10_hours,0.013153356,F -coef_Duration_Constant_10p5_hours,0,T -coef_Duration_Constant_11_hours,-0.115847245,F -coef_Duration_Constant_11p5_hours,-0.288506368,F -coef_Duration_Constant_12_hours,-0.524241874,F -coef_Duration_Constant_Longer_than_12_hrs,-0.598634071,F -coef_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs,-0.293607565,F -coef_Calibration_constant_Duration_0,-10,F +coefficient_name,value,constrain +coef_Mode_Choice_Logsum,0.2279,T +coef_Female_Departure_before_7_am,-0.12935306,F +coef_Female_Arrival_after_6_pm,-0.041312616,F +coef_Female_with_preschool_child_Departure_before_7_am,-0.129130464,F +coef_Female_with_preschool_child_Departure_after_7_am,-0.031947595,F +coef_Female_with_preschool_child_Arrival_after_6_pm,-0.048859218,F +coef_Low_income_lt_25000_Departure_before_7_am,0.232768373,F +coef_Low_income_lt_25000_Departure_after_7_am,0.014908169,F +coef_Low_income_lt_25000_Arrival_after_6_pm,0.039105101,F +coef_Med_income_25k_to_60k_Departure_before_7_am,0.123945957,F +coef_Med_income_25k_to_60k_Arrival_after_6_pm,0.020965221,F +coef_Medhigh_income_60k_to_120k_Departure_before_7_am,0.09890939,F +coef_Age_16_to_18_yrs_Departure_Before_7_am,-0.459593556,F +coef_Age_16_to_18_yrs_Departure_After_7_am,0.060951693,F +coef_Age_19_to_24_yrs_Departure_After_7_am,0.031477187,F +coef_Age_25_to_40_yrs_Departure_Before_7_am,-0.11723451,F +coef_Age_65_plus_yrs_Departure_After_7_am,0.051923956,F +coef_Age_19_to_24_yrs_Arrival_after_6_pm,0.032734453,F +coef_Age_25_to_40_yrs_Arrival_before_5_pm,-0.027623617,F +coef_Age_56_to_64_yrs_Arrival_after_6_pm,-0.049130187,F +coef_Age_65_plus_yrs_Arrival_before_5_pm,0.056774635,F +coef_Age_65_plus_yrs_Arrival_after_6_pm,-0.077532684,F +coef_Zero_auto_HH_Departure_before_7_am,0.396983749,F +coef_Zero_auto_HH_Arrival_after_6_pm,0.050665232,F +coef_Parttime_worker_Departure_before_7_am,-0.264760988,F +coef_Parttime_worker_Departure_after_7_am,0.126626287,F +coef_Parttime_worker_Arrival_before_5_pm,0.175158545,F +coef_Parttime_worker_Arrival_after_6_pm,-0.054124518,F +coef_University_student_Departure_after_7_am,0.024758204,F +coef_University_student_Arrival_before_5_pm,0.035389739,F +coef_University_student_Arrival_after_6_pm,0.06173996,F +coef_Blue_collar_Departure_before_7_am,0.327242475,F +coef_Blue_collar_Departure_after_7_am,0.047214248,F +coef_Blue_collar_Arrival_before_5_pm,0.04197056,F +coef_Service_Departure_before_7_am,0.117783508,F +coef_Service_Departure_after_7_am,0.081611629,F +coef_Service_Arrival_before_5_pm,0,T +coef_Health_Departure_before_7_am,0.135275931,F +coef_Health_Arrival_after_6_pm,0.062010123,F +coef_Retail_and_food_Departure_after_7_am,0.076302969,F +coef_Retail_and_food_Arrival_before_5_pm,0.052905387,F +coef_Retail_and_food_Arrival_after_6_pm,0.027069194,F +coef_Time_SOV_freeflowto_destination_Departure_before_7_am,0.011511462,F +coef_Time_SOV_freeflowto_destination_Departure_after_7_am,-0.003821379,F +coef_Time_SOV_freeflowto_destination_Arrival_before_5_pm,-0.00549578,F +coef_Time_SOV_freeflowto_destination_Arrival_after_6_pm,0.002253695,F +coef_Presence_of_NonWorking_Adult_in_the_HH_Departure_before_7_am,0.069957209,F +coef_Presence_of_NonWorking_Adult_in_the_HH_Arrival_before_5_pm,-0.019807228,F +coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_before_7_am,-0.084564489,F +coef_Presence_of_PreDriving_Age_Children_in_the_HH_Departure_after_8_am,-0.023894467,F +coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_before_5_pm,0.018983499,F +coef_Presence_of_PreDriving_Age_Children_in_the_HH_Arrival_after_6_pm,-0.032091123,F +coef_First_of_2_plus_mandatory_tour_Departure_before_7_am,0.145890035,F +coef_First_of_2_plus_mandatory_tour_Departure_after_7_am,-0.214531877,F +coef_First_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,0.3069241,F +coef_First_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,-0.526297898,F +coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_before_1_pm,-0.221304523,F +coef_2nd_or_later_of_2_plus_mandatory_tour_Departure_after_2_pm,-0.176348812,F +coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_lt_9p5_hours,0.064893097,F +coef_2nd_or_later_of_2_plus_mandatory_tour_Duration_gt_9p5_hours,-0.656942049,F +coef_Departure_Constant_Shift_for_every_30_minutes_before_6_am,-1.151564775,F +coef_Departure_Constant_Before_06_AM,-2.197677208,F +coef_Departure_Constant_06_AM_06_AM_7,-1.314098638,F +coef_Departure_Constant_06_AM_07_AM_8,-0.558766028,F +coef_Departure_Constant_07_AM_07_AM_9,0,T +coef_Departure_Constant_07_AM_08_AM_10,-0.036957515,F +coef_Departure_Constant_08_AM_08_AM_11,-0.285560423,F +coef_Departure_Constant_08_AM_09_AM_12,-0.555478447,F +coef_Departure_Constant_After_09_AM,-0.865125273,F +coef_Departure_Constant_Shift_for_every_30_minutes_after_9_am_Square_Root,-0.435746145,F +coef_Arrival_Constant_Shift_for_every_30_minutes_before_3_pm,-0.191607342,F +coef_Arrival_Constant_Before_03_PM,-0.289333093,F +coef_Arrival_Constant_03_PM_04_PM_26,-0.273555837,F +coef_Arrival_Constant_04_PM_04_PM_27,-0.142653706,F +coef_Arrival_Constant_04_PM_05_PM_28,-0.124814807,F +coef_Arrival_Constant_05_PM_05_PM_29,0.004265544,F +coef_Arrival_Constant_05_PM_06_PM_30,0,T +coef_Arrival_Constant_06_PM_06_PM_31,-0.060515031,F +coef_Arrival_Constant_06_PM_7_PM_32,-0.236621114,F +coef_Arrival_Constant_7_PM_7_PM_33,-0.577646614,F +coef_Arrival_Constant_7_PM_8_PM_34,-0.815994515,F +coef_Arrival_Constant_After_08_PM,-0.854151925,F +coef_Arrival_Constant_Shift_for_every_30_minutes_after_6_pm_Square_root,-0.469720787,F +coef_Duration_Constant_Shift_for_every_30_minutes_less_than_8p5_hrs,-0.074266981,F +coef_Duration_Constant_Shorter_than_8p5_hrs,-0.748584335,F +coef_Duration_Constant_8p5_hours,-0.654814097,F +coef_Duration_Constant_9_hours,-0.372064236,F +coef_Duration_Constant_9p5_hours,-0.144226124,F +coef_Duration_Constant_10_hours,0.013153356,F +coef_Duration_Constant_10p5_hours,0,T +coef_Duration_Constant_11_hours,-0.115847245,F +coef_Duration_Constant_11p5_hours,-0.288506368,F +coef_Duration_Constant_12_hours,-0.524241874,F +coef_Duration_Constant_Longer_than_12_hrs,-0.598634071,F +coef_Duration_Constant_Shift_for_every_30_minutes_more_than_10_hrs,-0.293607565,F +coef_Calibration_constant_Duration_0,-10,F diff --git a/activitysim/examples/prototype_mwcog/configs/transit_pass_ownership.csv b/activitysim/examples/prototype_mwcog/configs/transit_pass_ownership.csv new file mode 100644 index 0000000000..9f0f2f0f5d --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/transit_pass_ownership.csv @@ -0,0 +1,21 @@ +Label,Description,Expression,no_pass,pass +util_ft,Full-time worker,@df.pemploy==PEMPLOY_FULL,0,coef_ft_pass +util_pt,Part-time worker,@df.pemploy==PEMPLOY_PART,0,coef_pt_pass +util_un,University/College,@df.ptype==PTYPE_SCHOOL,0,coef_un_pass +util_nw,Non-working adult,@df.ptype==PTYPE_NONWORK,0,coef_nw_pass +util_rt,Retired,@df.ptype==PTYPE_RETIRED,0,coef_rt_pass +util_inc1,0-$9k,"@df.income.between(0, 9000)",0,coef_inc1_pass +util_inc2,$10-$24k,"@df.income.between(10000, 24000)",0,coef_inc2_pass +util_inc3,$25-$34k,"@df.income.between(25000,34000)",0,coef_inc3_pass +util_inc4,$35-$49k,"@df.income.between(35000,49000)",0,coef_inc4_pass +util_inc10,$250k+,@df.income >= 250000,0,coef_inc10_pass +#util_na20,NAICS 20 (mining/utilities/construct),@df.industry_naics=='20',0,coef_na20_pas +#util_na30,NAICS 30 (manufacturing,@df.industry_naics=='30',0,coef_na30_pas +#util_na50,NAICS 50 (Info/Fin/insur/real estate/prof/sci/tech/manage/admin),@df.industry_naics=='50',0,coef_na50_pas +#util_na70,NAICS 70 (Entertain/accom),@df.industry_naics=='70',0,coef_na70_pas +#util_na80,NAICS 80 (Other services),@df.industry_naics=='80',0,coef_na80_pas +#util_publ,NAICS 90 (Public admin),@df.industry_naics=='90',0,coef_publ_pas +#approximate measure for the time being,,,, +util_wrkamt,Auto minus transit time (work),@df.work_auto_savings * -1,0,coef_wrkamt_pas +util_subs,Subsidy offered,@df.transit_pass_subsidy,0,coef_subs_pas +utils_pass_asc,Constant,1,0,coef_pass_asc diff --git a/activitysim/examples/example_semcog/configs/transit_pass_ownership.yaml b/activitysim/examples/prototype_mwcog/configs/transit_pass_ownership.yaml similarity index 100% rename from activitysim/examples/example_semcog/configs/transit_pass_ownership.yaml rename to activitysim/examples/prototype_mwcog/configs/transit_pass_ownership.yaml diff --git a/activitysim/examples/example_semcog/configs/transit_pass_ownership_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/transit_pass_ownership_coeffs.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/transit_pass_ownership_coeffs.csv rename to activitysim/examples/prototype_mwcog/configs/transit_pass_ownership_coeffs.csv diff --git a/activitysim/examples/prototype_mwcog/configs/transit_pass_subsidy.csv b/activitysim/examples/prototype_mwcog/configs/transit_pass_subsidy.csv new file mode 100644 index 0000000000..1a3d6a2aa5 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/transit_pass_subsidy.csv @@ -0,0 +1,12 @@ +Label,Description,Expression,no_subsidy,subsidy +util_ft,Full-time worker,@df.pemploy==PEMPLOY_FULL,0,coef_ft +util_pt,Part-time worker,@df.pemploy==PEMPLOY_PART,0,coef_pt +util_un,University/College,@df.ptype==PTYPE_SCHOOL,0,coef_un +#util_na70,NAICS 70 (Entertain/accom),@df.industry_naics=='70',0,coef_na70 +#util_na80,NAICS 80 (Other services),@df.industry_naics=='80',0,coef_na80 +#util_publ,NAICS 90 (Public admin),@df.industry_naics=='90',0,coef_publ +#approximate measure for the time being,,,, +util_tr_hh_emp,Household transit accessibility,@df.trOpRetail,0,coef_tr_hh_emp +#approximate measure for the time being,,,, +util_pkcost,Daily parking cost (dollars),@df.PRKCST+df.OPRKCST,0,coef_pkcost +utils_sub_asc,Constant,1,0,coef_sub_asc diff --git a/activitysim/examples/example_semcog/configs/transit_pass_subsidy.yaml b/activitysim/examples/prototype_mwcog/configs/transit_pass_subsidy.yaml similarity index 100% rename from activitysim/examples/example_semcog/configs/transit_pass_subsidy.yaml rename to activitysim/examples/prototype_mwcog/configs/transit_pass_subsidy.yaml diff --git a/activitysim/examples/example_semcog/configs/transit_pass_subsidy_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/transit_pass_subsidy_coeffs.csv similarity index 100% rename from activitysim/examples/example_semcog/configs/transit_pass_subsidy_coeffs.csv rename to activitysim/examples/prototype_mwcog/configs/transit_pass_subsidy_coeffs.csv diff --git a/activitysim/examples/prototype_mwcog/configs/trip_destination.csv b/activitysim/examples/prototype_mwcog/configs/trip_destination.csv new file mode 100644 index 0000000000..3f950aa96b --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/trip_destination.csv @@ -0,0 +1,17 @@ +Label,Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork +util_size_term,size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one +util_no_attractions,no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable +#util_stop_zone_CDB_are_type,#stop zone CBD area type,"@reindex(land_use.area_type, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, +util_distance_inbound,distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (od_skims['DIST'] + dp_skims['DIST']),coef_util_distance_work_outbound,coef_util_distance_univ,coef_util_distance_school,coef_util_distance_escort,coef_util_distance_shopping,coef_util_distance_eatout,coef_util_distance_othmaint,coef_util_distance_social,coef_util_distance_othdiscr,coef_util_distance_atwork +util_distance_outbound,distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (od_skims['DIST'] + dp_skims['DIST']),coef_util_distance_work_inbound,coef_util_distance_univ,coef_util_distance_school,coef_util_distance_escort,coef_util_distance_shopping,coef_util_distance_eatout,coef_util_distance_othmaint,coef_util_distance_social,coef_util_distance_othdiscr,coef_util_distance_atwork +util_distance_joint,distance (calibration adjustment joint),@df.is_joint * (od_skims['DIST'] + dp_skims['DIST']),,,,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint,coef_distance_joint, +util_prox_home_outbound,stop proximity to home (outbound),@df.outbound * od_skims['DIST'],coef_prox_home_outbound_work,,,,,,,,, +util_prox_home_inbound,stop proximity to home (inbound),@~df.outbound * dp_skims['DIST'],coef_prox_home_inbound_work,,,,,,,,, +util_prox_dest_outbound,stop proximity to main destination (outbound),@df.outbound * dp_skims['DIST'],coef_prox_dest_outbound_work,,,,,,,,, +util_prox_dest_inbound,stop proximity to main destination (inbound),@~df.outbound * od_skims['DIST'],0,,,,,,,,, +#,,,,,,,,,,,, +util_sample_of_alternatives_correction_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one,coef_one +util_mode_choice_logsum_os,Mode choice logsum from origin to stop,od_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum +util_stop_not_accessible_by_this_tour_mode,Can't access stop zone by this tour mode,(od_logsum < -100),coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable +util_mode_choice_logsum_sd,Mode choice logsum from stop to destination,dp_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum,coef_mode_choice_logsum +util_dest_not_accessible_by_this_tour_mode,Can't access destination zone by this tour mode,(dp_logsum < -100),coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable diff --git a/activitysim/examples/prototype_mwcog/configs/trip_destination.yaml b/activitysim/examples/prototype_mwcog/configs/trip_destination.yaml new file mode 100644 index 0000000000..8bac788cc3 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/trip_destination.yaml @@ -0,0 +1,44 @@ +SAMPLE_SPEC: trip_destination_sample.csv +SPEC: trip_destination.csv +COEFFICIENTS: trip_destination_coefficients.csv + +SAMPLE_SIZE: 30 + +DESTINATION_SAMPLE_SPEC: trip_destination_sample.csv +DESTINATION_SPEC: trip_destination.csv + +LOGSUM_SETTINGS: trip_mode_choice.yaml + +# optional (comment out if not desired) +DEST_CHOICE_LOGSUM_COLUMN_NAME: destination_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: trip_destination_sample + +# model-specific logsum-related settings +TRIP_ORIGIN: origin +ALT_DEST_COL_NAME: dest_taz +PRIMARY_DEST: destination + +# tour_mode is already in trips table, so we don't need it from tours +# (it is assigned in trip_destination_annotate_trips_preprocessor ) +REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS: + - tour_mode + +CONSTANTS: + max_walk_distance: 3 + max_bike_distance: 8 + +preprocessor: + SPEC: trip_destination_annotate_trips_preprocessor + DF: trips + TABLES: + - tours + - persons + +# drop failed trips and cleanup failed trip leg_mates for consistency +# (i.e. adjust trip_count, trip_num, first for missing failed trips) +CLEANUP: False + +# this setting is used by testing code to force failed trip_destination +# fail_some_trips_for_testing: False diff --git a/activitysim/examples/prototype_mwcog/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/trip_destination_annotate_trips_preprocessor.csv new file mode 100644 index 0000000000..0217a68555 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/trip_destination_annotate_trips_preprocessor.csv @@ -0,0 +1,9 @@ +Description,Target,Expression +#,, +,tour_mode,"reindex(tours.tour_mode, df.tour_id)" +,_tod,"np.where(df.outbound,reindex_i(tours.start, df.tour_id),reindex_i(tours.end, df.tour_id))" +,trip_period,network_los.skim_time_period_label(_tod) +,is_joint,"reindex(tours.tour_category, df.tour_id)=='joint'" +#,,not needed as school is not chosen as an intermediate trip destination +#,_grade_school,"(df.primary_purpose == 'school') & reindex(persons.is_gradeschool, df.person_id)" +#,size_segment,"df.primary_purpose.where(df.primary_purpose != 'school', np.where(_grade_school,'gradeschool', 'highschool'))" diff --git a/activitysim/examples/prototype_mwcog/configs/trip_destination_coefficients.csv b/activitysim/examples/prototype_mwcog/configs/trip_destination_coefficients.csv new file mode 100644 index 0000000000..db732ac07a --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/trip_destination_coefficients.csv @@ -0,0 +1,19 @@ +coefficient_name,value,constrain +coef_unavailable,-999,T +coef_one,1,T +coef_mode_choice_logsum,1.821,F +coef_distance_joint,-0.1238,F +coef_util_distance_work_outbound,-0.049725916,F +coef_util_distance_work_inbound,0.147813279,F +coef_util_distance_univ,-0.0613,F +coef_util_distance_school,-0.1056,F +coef_util_distance_escort,-0.1491,F +coef_util_distance_shopping,-0.1192,F +coef_util_distance_eatout,-0.1029,F +coef_util_distance_othmaint,-0.205,F +coef_util_distance_social,-0.1329,F +coef_util_distance_othdiscr,-0.146172224,F +coef_util_distance_atwork,-0.167334597,F +coef_prox_home_outbound_work,-0.38,F +coef_prox_home_inbound_work,-0.15,F +coef_prox_dest_outbound_work,-0.26,F diff --git a/activitysim/examples/example_semcog/configs/trip_destination_sample.csv b/activitysim/examples/prototype_mwcog/configs/trip_destination_sample.csv old mode 100755 new mode 100644 similarity index 99% rename from activitysim/examples/example_semcog/configs/trip_destination_sample.csv rename to activitysim/examples/prototype_mwcog/configs/trip_destination_sample.csv index 4eb2d61a6a..6a0a53480e --- a/activitysim/examples/example_semcog/configs/trip_destination_sample.csv +++ b/activitysim/examples/prototype_mwcog/configs/trip_destination_sample.csv @@ -1,18 +1,18 @@ -Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork -,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 -Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (od_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (dp_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (od_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (dp_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -#If transit tour is not in walk sub-zone it must be walkable,,,,,,,,,,, -size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",1,1,1,1,1,1,1,1,1,1 -no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 -#stop zone CBD area type,"@reindex(land_use.AreaType, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, -distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),-0.049725916,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 -distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),0.147813279,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 -distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),0,0,0,-0.1238,-0.1238,-0.1238,-0.1238,-0.1238,-0.123801985,0 -stop proximity to home (outbound),@df.outbound * _od_DIST,-0.38,0,0,0,0,0,0,0,0,0 -stop proximity to home (inbound),@~df.outbound * _od_DIST,-0.15,0,0,0,0,0,0,0,0,0 -stop proximity to main destination (outbound),@df.outbound * _dp_DIST,-0.26,,,,,,,,, -stop proximity to main destination (inbound),@~df.outbound * _od_DIST,0,,,,,,,,, +Description,Expression,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork +,_od_DIST@od_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +,_dp_DIST@dp_skims['DIST'],1,1,1,1,1,1,1,1,1,1 +Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (od_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if walk tour not within walking distance,@(df.tour_mode=='WALK') & (dp_skims['DISTWALK'] > max_walk_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (od_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +Not available if bike tour not within biking distance,@(df.tour_mode=='BIKE') & (dp_skims['DISTBIKE'] > max_bike_distance),-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +#If transit tour is not in walk sub-zone it must be walkable,,,,,,,,,,, +size term,"@np.log1p(size_terms.get(df.dest_taz, df.purpose))",1,1,1,1,1,1,1,1,1,1 +no attractions,"@size_terms.get(df.dest_taz, df.purpose) == 0",-999,-999,-999,-999,-999,-999,-999,-999,-999,-999 +#stop zone CBD area type,"@reindex(land_use.AreaType, df.dest_taz) < setting('cbd_threshold')",,,,,,,,,, +distance (calibration adjustment individual - inbound),@(~df.is_joint & ~df.outbound) * (_od_DIST + _dp_DIST),-0.049725916,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 +distance (calibration adjustment individual - outbound),@(~df.is_joint & df.outbound) * (_od_DIST + _dp_DIST),0.147813279,-0.0613,-0.1056,-0.1491,-0.1192,-0.1029,-0.0962,-0.1329,-0.126172224,-0.122334597 +distance (calibration adjustment joint),@df.is_joint * (_od_DIST + _dp_DIST),0,0,0,-0.1238,-0.1238,-0.1238,-0.1238,-0.1238,-0.123801985,0 +stop proximity to home (outbound),@df.outbound * _od_DIST,-0.38,0,0,0,0,0,0,0,0,0 +stop proximity to home (inbound),@~df.outbound * _od_DIST,-0.15,0,0,0,0,0,0,0,0,0 +stop proximity to main destination (outbound),@df.outbound * _dp_DIST,-0.26,,,,,,,,, +stop proximity to main destination (inbound),@~df.outbound * _od_DIST,0,,,,,,,,, diff --git a/activitysim/examples/prototype_mwcog/configs/trip_mode_choice.csv b/activitysim/examples/prototype_mwcog/configs/trip_mode_choice.csv new file mode 100644 index 0000000000..fa8def35f6 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/trip_mode_choice.csv @@ -0,0 +1,455 @@ +Label,Description,Expression,DRIVEALONE,SHARED2,SHARED3,WALK,BIKE,WALK_AB,WALK_BM,WALK_MR,WALK_CR,PNR_AB,PNR_BM,PNR_MR,PNR_CR,KNR_AB,KNR_BM,KNR_MR,KNR_CR,SCHOOLBUS,TAXI,TNC_SINGLE,TNC_SHARED +#Drive_alone_no_toll,#Drive alone no toll,,,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable,DRIVEALONE - Unavailable,sov_available == False,coef_unavailable,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable_for_persons_less_than_16,DRIVEALONE - Unavailable for persons less than 16,age < 16,coef_unavailable,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable_for_joint_tours,DRIVEALONE - Unavailable for joint tours,is_joint == True,coef_unavailable,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Unavailable_if_didn't_drive_to_work,DRIVEALONE - Unavailable if didn't drive to work,is_atwork_subtour & ~work_tour_is_SOV,coef_unavailable,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_In_vehicle_time,DRIVEALONE - In-vehicle time,@odt_skims['SOV_TIME'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Terminal_time,DRIVEALONE - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Operating_cost_,DRIVEALONE - Operating cost ,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['SOV_DIST'],coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Parking_cost_,DRIVEALONE - Parking cost ,@ivt_cost_multiplier * df.ivot * df.total_parking_cost,coef_ivt,,,,,,,,,,,,,,,,,,,, +util_DRIVEALONE_Person_is_between_16_and_19_years_old,DRIVEALONE - Person is between 16 and 19 years old,@c_age1619_da * ((df.age >= 16) & (df.age <= 19)),coef_age1619_da,,,,,,,,,,,,,,,,,,,, +#Shared_ride_2,#Shared ride 2,,,,,,,,,,,,,,,,,,,,,, +util_SHARED2_Unavailable,SHARED2 - Unavailable,hov2_available == False,,coef_unavailable,,,,,,,,,,,,,,,,,,, +util_SHARED2_Unavailable_based_on_party_size,SHARED2 - Unavailable based on party size,is_joint & (number_of_participants > 2),,coef_unavailable,,,,,,,,,,,,,,,,,,, +util_SHARED2_In_vehicle_time,SHARED2 - In-vehicle time,@odt_skims['HOV2_TIME'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_SHARED2_Terminal_time,SHARED2 - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_SHARED2_Operating_cost,SHARED2 - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV2_DIST'],,coef_ivt,,,,,,,,,,,,,,,,,,, +util_SHARED2_Parking_cost,SHARED2 - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr2,,coef_ivt,,,,,,,,,,,,,,,,,,, +util_SHARED2_One_person_household,SHARED2 - One person household,@(df.hhsize == 1),,coef_hhsize1_sr,,,,,,,,,,,,,,,,,,, +util_SHARED2_Two_person_household,SHARED2 - Two person household,@(df.hhsize == 2),,coef_hhsize2_sr,,,,,,,,,,,,,,,,,,, +util_SHARED2_Person_is_16_years_old_or_older,SHARED2 - Person is 16 years old or older,@(df.age >= 16),,coef_age1619_da,,,,,,,,,,,,,,,,,,, +#Shared_ride_3+,#Shared ride 3+,,,,,,,,,,,,,,,,,,,,,, +util_SHARED3_Unavailable,SHARED3 - Unavailable,hov3_available == False,,,coef_unavailable,,,,,,,,,,,,,,,,,, +util_SHARED3_Unavailable_based_joint_tour_mode,SHARED3 - Unavailable based joint tour mode,@df.is_joint & df.i_tour_mode.isin(I_SR2_MODES),,,coef_unavailable,,,,,,,,,,,,,,,,,, +util_SHARED3_Unavailable_if_tour_mode_is_shared_2,SHARED3 - Unavailable if tour mode is shared 2,@df.i_tour_mode.isin(I_SR2_MODES),,,coef_unavailable,,,,,,,,,,,,,,,,,, +util_SHARED3_In_vehicle_time,SHARED3 - In-vehicle time,@odt_skims['HOV3_TIME'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED3_Terminal_time,SHARED3 - Terminal time,@coef_walktimeshort_multiplier * df.total_terminal_time,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED3_Operating_cost,SHARED3 - Operating cost,@ivt_cost_multiplier * df.ivot * costPerMile * odt_skims['HOV3_DIST'],,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED3_Parking_cost,SHARED3 - Parking cost,@ivt_cost_multiplier * df.ivot * df.total_parking_cost / costShareSr3,,,coef_ivt,,,,,,,,,,,,,,,,,, +util_SHARED3_One_person_household,SHARED3 - One person household,@(df.hhsize == 1),,,coef_hhsize1_sr,,,,,,,,,,,,,,,,,, +util_SHARED3_Two_person_household,SHARED3 - Two person household,@(df.hhsize == 2),,,coef_hhsize2_sr,,,,,,,,,,,,,,,,,, +util_SHARED3_Person_is_16_years_old_or_older,SHARED3 - Person is 16 years old or older,@(df.age >= 16),,,coef_age16p_sr,,,,,,,,,,,,,,,,,, +#Walk,#Walk,,,,,,,,,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,coef_ivt,,,,,,,,,,,,,,,,, +util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,coef_ivt,,,,,,,,,,,,,,,,, +#Bike,#Bike,,,,,,,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_tour_mode_is_not_bike,BIKE - Unavailable if tour mode is not bike,~tour_mode_is_bike,,,,,coef_unavailable,,,,,,,,,,,,,,,, +util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,coef_unavailable,,,,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,coef_ivt,,,,,,,,,,,,,,,, +util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,coef_ivt,,,,,,,,,,,,,,,, +#Walk_to_AB,#Walk to AB,,,,,,,,,,,,,,,,,,,,,, +util_WALK_AB_Unavailable,WALK_AB - Unavailable,walk_ab_available == False,,,,,,coef_unavailable,,,,,,,,,,,,,,, +util_WALK_AB_In_vehicle_time,WALK_AB - In-vehicle time,@odt_skims['WK_AB_WK_TOTIVT'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_In_vehicle_time_on_XB,WALK_AB - In-vehicle time on XB,@(coef_ivt_xb_multiplier - 1) * odt_skims['WK_AB_WK_IVTXB'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_Short_iwait_time,WALK_AB - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WK_AB_WK_IWAIT']).clip(upper=waitThresh),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_Long_iwait_time,WALK_AB - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WK_AB_WK_IWAIT']-waitThresh).clip(0),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_transfer_wait_time,WALK_AB - transfer wait time,@coef_xwait_multiplier * odt_skims['WK_AB_WK_XWAIT'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_number_of_transfers,WALK_AB - number of transfers,@xfers_wlk_multiplier * (odt_skims['WK_AB_WK_XFERS']).clip(0),,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_Walk_access_time,WALK_AB - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_Walk_egress_time,WALK_AB - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_Walk_other_time,WALK_AB - Walk other time,@coef_waux_multiplier * odt_skims['WK_AB_WK_WAUX'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_Fare,WALK_AB - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WK_AB_WK_FARE'],,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_Destination_zone_densityIndex,WALK_AB - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_Topology,WALK_AB - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,coef_ivt,,,,,,,,,,,,,,, +util_WALK_AB_Person_is_less_than_10_years_old,WALK_AB - Person is less than 10 years old,@(df.age <= 10),,,,,,coef_age010_trn,,,,,,,,,,,,,,, +#Walk_to_BM,#Walk to BM,,,,,,,,,,,,,,,,,,,,,, +util_WALK_BM_Unavailable,WALK_BM - Unavailable,walk_bm_available == False,,,,,,,coef_unavailable,,,,,,,,,,,,,, +util_WALK_BM_In_vehicle_time,WALK_BM - In-vehicle time,@odt_skims['WK_BM_WK_TOTIVT'],,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_In_vehicle_time_on_XB,WALK_BM - In-vehicle time on XB,@(coef_ivt_xb_multiplier - 1) * odt_skims['WK_BM_WK_IVTXB'],,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_In_vehicle_time_on_MR,WALK_BM - In-vehicle time on MR,@(coef_ivt_mr_multiplier - 1) * odt_skims['WK_BM_WK_IVTMR'],,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_In_vehicle_time_on_LR,WALK_BM - In-vehicle time on LR,@(coef_ivt_lr_multiplier - 1) * odt_skims['WK_BM_WK_IVTLR'],,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_Short_iwait_time,WALK_BM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WK_BM_WK_IWAIT']).clip(upper=waitThresh),,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_Long_iwait_time,WALK_BM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WK_BM_WK_IWAIT']-waitThresh).clip(0),,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_transfer_wait_time,WALK_BM - transfer wait time,@coef_xwait_multiplier * odt_skims['WK_BM_WK_XWAIT'],,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_number_of_transfers,WALK_BM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WK_BM_WK_XFERS']).clip(0),,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_Walk_access_time,WALK_BM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_Walk_egress_time,WALK_BM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_Walk_otherLight_rail/Ferry_time,WALK_BM - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WK_BM_WK_WAUX'],,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_Fare,WALK_BM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WK_BM_WK_FARE'],,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_Destination_zone_densityIndex,WALK_BM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_Topology,WALK_BM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_BM_Person_is_less_than_10_years_old,WALK_BM - Person is less than 10 years old,@(df.age <= 10),,,,,,,coef_age010_trn,,,,,,,,,,,,,, +#Walk_to_MR,#Walk to MR,,,,,,,,,,,,,,,,,,,,,, +util_WALK_MR_Unavailable,WALK_MR - Unavailable,walk_mr_available == False,,,,,,,,coef_unavailable,,,,,,,,,,,,, +util_WALK_MR_In_vehicle_time,WALK_MR - In-vehicle time,@odt_skims['WK_MR_WK_TOTIVT'],,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_In_vehicle_time_on_MR,WALK_MR - In-vehicle time on MR,@(coef_ivt_mr_multiplier - 1) * odt_skims['WK_MR_WK_IVTMR'],,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_In_vehicle_time_on_LR,WALK_MR - In-vehicle time on LR,@(coef_ivt_lr_multiplier - 1) * odt_skims['WK_MR_WK_IVTLR'],,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_Short_iwait_time,WALK_MR - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WK_MR_WK_IWAIT']).clip(upper=waitThresh),,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_Long_iwait_time,WALK_MR - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WK_MR_WK_IWAIT']-waitThresh).clip(0),,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_transfer_wait_time,WALK_MR - transfer wait time,@coef_xwait_multiplier * odt_skims['WK_MR_WK_XWAIT'],,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_number_of_transfers,WALK_MR - number of transfers,@xfers_wlk_multiplier * (odt_skims['WK_MR_WK_XFERS']).clip(0),,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_Walk_access_time,WALK_MR - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_Walk_egress_time,WALK_MR - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_Walk_other_time,WALK_MR - Walk other time,@coef_waux_multiplier * odt_skims['WK_MR_WK_WAUX'],,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_Fare,WALK_MR - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WK_MR_WK_FARE'],,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_Destination_zone_densityIndex,WALK_MR - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_Topology,WALK_MR - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_WALK_MR_Person_is_less_than_10_years_old,WALK_MR - Person is less than 10 years old,@(df.age <= 10),,,,,,,,coef_age010_trn,,,,,,,,,,,,, +#Walk_to_CR,#Walk to CR,,,,,,,,,,,,,,,,,,,,,, +util_WALK_CR_Unavailable,WALK_CR - Unavailable,walk_cr_available == False,,,,,,,,,coef_unavailable,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time,WALK_CR - In-vehicle time,@odt_skims['WK_CR_WK_TOTIVT'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time_on_XB,WALK_CR - In-vehicle time on XB,@(coef_ivt_xb_multiplier - 1) * odt_skims['WK_CR_WK_IVTXB'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time_on_MR,WALK_CR - In-vehicle time on MR,@(coef_ivt_mr_multiplier - 1) * odt_skims['WK_CR_WK_IVTMR'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time_on_BR,WALK_CR - In-vehicle time on BR,@(coef_ivt_br_multiplier - 1) * odt_skims['WK_CR_WK_IVTBR'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time_on_LR,WALK_CR - In-vehicle time on LR,@(coef_ivt_lr_multiplier - 1) * odt_skims['WK_CR_WK_IVTLR'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_In_vehicle_time_on_CR,WALK_CR - In-vehicle time on CR,@(coef_ivt_cr_multiplier - 1) * odt_skims['WK_CR_WK_IVTCR'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_Short_iwait_time,WALK_CR - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WK_CR_WK_IWAIT']).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_Long_iwait_time,WALK_CR - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WK_CR_WK_IWAIT']-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_transfer_wait_time,WALK_CR - transfer wait time,@coef_xwait_multiplier * odt_skims['WK_CR_WK_XWAIT'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_number_of_transfers,WALK_CR - number of transfers,@xfers_wlk_multiplier * (odt_skims['WK_CR_WK_XFERS']).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_Walk_access_time,WALK_CR - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_Walk_egress_time,WALK_CR - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_Walk_other_time,WALK_CR - Walk other time,@coef_waux_multiplier * odt_skims['WK_CR_WK_WAUX'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_Fare,WALK_CR - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WK_CR_WK_FARE'],,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_Destination_zone_densityIndex,WALK_CR - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_Topology,WALK_CR - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_CR_Person_is_less_than_10_years_old,WALK_CR - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, +#PNR_to_AB,#PNR to AB,,,,,,,,,,,,,,,,,,,,,, +util_PNR_AB_Unavailable_for_zero_auto_households,PNR_AB - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,coef_unavailable,,,,,,,,,,, +util_PNR_AB_Unavailable_for_persons_less_than_16,PNR_AB - Unavailable for persons less than 16,age < 16,,,,,,,,,,coef_unavailable,,,,,,,,,,, +util_PNR_AB_Destination_zone_densityIndex,PNR_AB - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_Topology,PNR_AB - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_Person_is_less_than_10_years_old,PNR_AB - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_outbound_Unavailable,PNR_AB outbound - Unavailable,outbound & ~pnr_ab_available_outbound,,,,,,,,,,coef_unavailable,,,,,,,,,,, +util_PNR_AB_outbound_In_vehicle_time,PNR_AB outbound - In-vehicle time,@df.outbound * odt_skims['DR_AB_WK_TOTIVT'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_outbound_In_vehicle_time_on_XB,PNR_AB outbound - In-vehicle time on XB,@df.outbound * (coef_ivt_xb_multiplier - 1) * odt_skims['DR_AB_WK_IVTXB'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_outbound_Short_iwait_time,PNR_AB outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DR_AB_WK_IWAIT']).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_outbound_Long_iwait_time,PNR_AB outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DR_AB_WK_IWAIT']-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_outbound_transfer_wait_time,PNR_AB outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DR_AB_WK_XWAIT'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_outbound_number_of_transfers,PNR_AB outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DR_AB_WK_XFERS']).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_outbound_Drive_time,PNR_AB outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DR_AB_WK_DTIME'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_outbound_Walk_egress_time,PNR_AB outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_outbound_Walk_other_time,PNR_AB outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DR_AB_WK_WAUX'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_outbound_Fare_and_operating_cost,PNR_AB outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DR_AB_WK_FARE'] + costPerMile*odt_skims['DR_AB_WK_DDIST']),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_outbound_Ratio_of_drive_access_distance_to_OD_distance,PNR_AB outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DR_AB_WK_DDIST'])/ (od_skims['DIST']),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_inbound_Unavailable,PNR_AB inbound - Unavailable,inbound & ~pnr_ab_available_inbound,,,,,,,,,,coef_unavailable,,,,,,,,,,, +util_PNR_AB_inbound_In_vehicle_time,PNR_AB inbound - In-vehicle time,@df.inbound * odt_skims['WK_AB_DR_TOTIVT'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_inbound_Short_iwait_time,PNR_AB inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WK_AB_DR_IWAIT']).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_inbound_Long_iwait_time,PNR_AB inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WK_AB_DR_IWAIT']-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_inbound_transfer_wait_time,PNR_AB inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WK_AB_DR_XWAIT'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_inbound_number_of_transfers,PNR_AB inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WK_AB_DR_XFERS']).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_inbound_Drive_time,PNR_AB inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WK_AB_DR_DTIME'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_inbound_Walk_access_time,PNR_AB inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_inbound_Walk_other_time,PNR_AB inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WK_AB_DR_WAUX'],,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_inbound_Fare_and_operating_cost,PNR_AB inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WK_AB_DR_FARE'] + costPerMile*odt_skims['WK_AB_DR_DDIST']),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_PNR_AB_inbound_Ratio_of_drive_access_distance_to_OD_distance,PNR_AB inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WK_AB_DR_DDIST'])/ (od_skims['DIST']),,,,,,,,,,coef_ivt,,,,,,,,,,, +#Drive_to_BM,#Drive to BM,,,,,,,,,,,,,,,,,,,,,, +util_PNR_BM_Unavailable_for_zero_auto_households,PNR_BM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,coef_unavailable,,,,,,,,,, +util_PNR_BM_Unavailable_for_persons_less_than_16,PNR_BM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,coef_unavailable,,,,,,,,,, +util_PNR_BM__Destination_zone_densityIndex,PNR_BM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM__Topology,PNR_BM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM__Person_is_less_than_10_years_old,PNR_BM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_outbound_Unavailable,PNR_BM outbound - Unavailable,outbound & ~pnr_bm_available_outbound,,,,,,,,,,,coef_unavailable,,,,,,,,,, +util_PNR_BM_outbound_In_vehicle_time,PNR_BM outbound - In-vehicle time,@df.outbound * odt_skims['DR_BM_WK_TOTIVT'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_In_vehicle_time_on_XB,PNR_BM - In-vehicle time on XB,@df.outbound * (coef_ivt_xb_multiplier - 1) * odt_skims['DR_BM_WK_IVTXB'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_In_vehicle_time_on_MR,PNR_BM - In-vehicle time on MR,@df.outbound * (coef_ivt_mr_multiplier - 1) * odt_skims['DR_BM_WK_IVTMR'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_In_vehicle_time_on_LR,PNR_BM - In-vehicle time on LR,@df.outbound * (coef_ivt_lr_multiplier - 1) * odt_skims['DR_BM_WK_IVTLR'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_outbound_Short_iwait_time,PNR_BM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DR_BM_WK_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_outbound_Long_iwait_time,PNR_BM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DR_BM_WK_IWAIT']-waitThresh).clip(0) ,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_outbound_transfer_wait_time,PNR_BM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DR_BM_WK_XWAIT'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_outbound_number_of_transfers,PNR_BM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DR_BM_WK_XFERS']).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_outbound_Drive_time,PNR_BM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DR_BM_WK_DTIME'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_outbound_Walk_egress_time,PNR_BM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_outbound_Walk_other_time,PNR_BM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DR_BM_WK_WAUX'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_outbound_Fare_and_operating_cost,PNR_BM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DR_BM_WK_FARE'] + costPerMile * odt_skims['DR_BM_WK_DDIST']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_outbound_Ratio_of_drive_access_distance_to_OD_distance,PNR_BM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DR_BM_WK_DDIST']) / od_skims['DIST'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_inbound_Unavailable,PNR_BM inbound - Unavailable,inbound & ~pnr_bm_available_inbound,,,,,,,,,,,coef_unavailable,,,,,,,,,, +util_PNR_BM_inbound_In_vehicle_time,PNR_BM inbound - In-vehicle time,@df.inbound * odt_skims['WK_BM_DR_TOTIVT'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_In_vehicle_time_on_XB,PNR_BM - In-vehicle time on XB,@df.inbound * (coef_ivt_xb_multiplier - 1) * odt_skims['WK_BM_DR_IVTXB'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_In_vehicle_time_on_MR,PNR_BM - In-vehicle time on MR,@df.inbound * (coef_ivt_mr_multiplier - 1) * odt_skims['WK_BM_DR_IVTMR'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_In_vehicle_time_on_LR,PNR_BM - In-vehicle time on LR,@df.inbound * (coef_ivt_lr_multiplier - 1) * odt_skims['WK_BM_DR_IVTLR'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_inbound_Short_iwait_time,PNR_BM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WK_BM_DR_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_inbound_Long_iwait_time,PNR_BM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WK_BM_DR_IWAIT']-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_inbound_transfer_wait_time,PNR_BM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WK_BM_DR_XWAIT'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_inbound_number_of_transfers,PNR_BM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WK_BM_DR_XFERS']).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_inbound_Drive_time,PNR_BM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WK_BM_DR_DTIME'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_inbound_Walk_access_time,PNR_BM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_inbound_Walk_other_time,PNR_BM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WK_BM_DR_WAUX'],,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_inbound_Fare_and_operating_cost,PNR_BM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WK_BM_DR_FARE'] + costPerMile * odt_skims['WK_BM_DR_DDIST']),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_PNR_BM_inbound_Ratio_of_drive_access_distance_to_OD_distance,PNR_BM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WK_BM_DR_DDIST'])/ od_skims['DIST'],,,,,,,,,,,coef_ivt,,,,,,,,,, +#PNR_to_MR,#PNR to MR,,,,,,,,,,,,,,,,,,,,,, +util_PNR_MR_Unavailable_for_zero_auto_households,PNR_MR - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,coef_unavailable,,,,,,,,, +util_PNR_MR_Unavailable_for_persons_less_than_16,PNR_MR - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,coef_unavailable,,,,,,,,, +util_PNR_MR_Destination_zone_densityIndex,PNR_MR - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_Topology,PNR_MR - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_Person_is_less_than_10_years_old,PNR_MR - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_outbound_Unavailable,PNR_MR outbound - Unavailable,outbound & ~pnr_mr_available_outbound,,,,,,,,,,,,coef_unavailable,,,,,,,,, +util_PNR_MR_outbound_In_vehicle_time,PNR_MR outbound - In-vehicle time,@df.outbound * odt_skims['DR_MR_WK_TOTIVT'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_In_vehicle_time_on_MR,PNR_MR - In-vehicle time on MR,@df.outbound * (coef_ivt_mr_multiplier - 1) * odt_skims['DR_MR_WK_IVTMR'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_In_vehicle_time_on_LR,PNR_MR - In-vehicle time on LR,@df.outbound * (coef_ivt_lr_multiplier - 1) * odt_skims['DR_MR_WK_IVTLR'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_outbound_Short_iwait_time,PNR_MR outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DR_MR_WK_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_outbound_Long_iwait_time,PNR_MR outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DR_MR_WK_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_outbound_transfer_wait_time,PNR_MR outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DR_MR_WK_XWAIT'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_outbound_number_of_transfers,PNR_MR outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DR_MR_WK_XFERS']).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_outbound_Drive_time,PNR_MR outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DR_MR_WK_DTIME'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_outbound_Walk_egress_ime,PNR_MR outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_outbound_Walk_other_time,PNR_MR outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DR_MR_WK_WAUX'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_outbound_Fare_and_operating_cost,PNR_MR outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DR_MR_WK_FARE'] + costPerMile * odt_skims['DR_MR_WK_DDIST']),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_outbound_Ratio_of_drive_access_distance_to_OD_distance,PNR_MR outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DR_MR_WK_DDIST']) / od_skims['DIST'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_inbound_Unavailable,PNR_MR inbound - Unavailable,inbound & ~pnr_mr_available_inbound,,,,,,,,,,,,coef_unavailable,,,,,,,,, +util_PNR_MR_inbound_In_vehicle_time,PNR_MR inbound - In-vehicle time,@df.inbound * odt_skims['WK_MR_DR_TOTIVT'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_In_vehicle_time_on_MR,PNR_MR - In-vehicle time on MR,@df.inbound * (coef_ivt_mr_multiplier - 1) * odt_skims['WK_MR_DR_IVTMR'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_In_vehicle_time_on_LR,PNR_MR - In-vehicle time on LR,@df.inbound * (coef_ivt_lr_multiplier - 1) * odt_skims['WK_MR_DR_IVTLR'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_inbound_Short_iwait_time,PNR_MR inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WK_MR_DR_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_inbound_Long_iwait_time,PNR_MR inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WK_MR_DR_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_inbound_transfer_wait_time,PNR_MR inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WK_MR_DR_XWAIT'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_inbound_number_of_transfers,PNR_MR inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WK_MR_DR_XFERS']).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_inbound_Drive_time,PNR_MR inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WK_MR_DR_DTIME'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_inbound_Walk_access_time,PNR_MR inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_inbound_Walk_other_time,PNR_MR inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WK_MR_DR_WAUX'],,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_inbound_Fare_and_operating_cost,PNR_MR inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WK_MR_DR_FARE'] + costPerMile * odt_skims['WK_MR_DR_DDIST']),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_PNR_MR_inbound_Ratio_of_drive_access_distance_to_OD_distance,PNR_MR inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WK_MR_DR_DDIST']) / od_skims['DIST'],,,,,,,,,,,,coef_ivt,,,,,,,,, +#PNR_to_CR,#PNR to CR,,,,,,,,,,,,,,,,,,,,,, +util_PNR_CR_Unavailable_for_zero_auto_households,PNR_CR - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,coef_unavailable,,,,,,,, +util_PNR_CR_Unavailable_for_persons_less_than_16,PNR_CR - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,coef_unavailable,,,,,,,, +util_PNR_CR_Destination_zone_densityIndex,PNR_CR - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_Topology,PNR_CR - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_Person_is_less_than_10_years_old,PNR_CR - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_outbound_Unavailable,PNR_CR outbound - Unavailable,outbound & ~pnr_cr_available_outbound,,,,,,,,,,,,,coef_unavailable,,,,,,,, +util_PNR_CR_outbound_In_vehicle_time,PNR_CR outbound - In-vehicle time,@df.outbound * odt_skims['DR_CR_WK_TOTIVT'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_XB,PNR_CR - In-vehicle time on XB,@df.outbound * (coef_ivt_xb_multiplier - 1) * odt_skims['DR_CR_WK_IVTXB'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_MR,PNR_CR - In-vehicle time on MR,@df.outbound * (coef_ivt_mr_multiplier - 1) * odt_skims['DR_CR_WK_IVTMR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_BR,PNR_CR - In-vehicle time on BR,@df.outbound * (coef_ivt_br_multiplier - 1) * odt_skims['DR_CR_WK_IVTBR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_CR,PNR_CR - In-vehicle time on CR,@df.outbound * (coef_ivt_cr_multiplier - 1) * odt_skims['DR_CR_WK_IVTCR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_LR,PNR_CR - In-vehicle time on LR,@df.outbound * (coef_ivt_lr_multiplier - 1) * odt_skims['DR_CR_WK_IVTLR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_outbound_Short_iwait_time,PNR_CR outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DR_CR_WK_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_outbound_Long_iwait_time,PNR_CR outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DR_CR_WK_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_outbound_transfer_wait_time,PNR_CR outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DR_CR_WK_XWAIT'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_outbound_number_of_transfers,PNR_CR outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DR_CR_WK_XFERS']).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_outbound_Drive_time,PNR_CR outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DR_CR_WK_DTIME'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_outbound_Walk_egress_ime,PNR_CR outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_outbound_Walk_other_time,PNR_CR outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DR_CR_WK_WAUX'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_outbound_Fare_and_operating_cost,PNR_CR outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DR_CR_WK_FARE'] + costPerMile * odt_skims['DR_CR_WK_DDIST']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_outbound_Ratio_of_drive_access_distance_to_OD_distance,PNR_CR outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DR_CR_WK_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_inbound_Unavailable,PNR_CR inbound - Unavailable,inbound & ~pnr_cr_available_inbound,,,,,,,,,,,,,coef_unavailable,,,,,,,, +util_PNR_CR_inbound_In_vehicle_time,PNR_CR inbound - In-vehicle time,@df.inbound * odt_skims['WK_CR_DR_TOTIVT'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_XB,PNR_CR - In-vehicle time on XB,@df.inbound * (coef_ivt_xb_multiplier - 1) * odt_skims['WK_CR_DR_IVTXB'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_MR,PNR_CR - In-vehicle time on MR,@df.inbound * (coef_ivt_mr_multiplier - 1) * odt_skims['WK_CR_DR_IVTMR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_BR,PNR_CR - In-vehicle time on BR,@df.inbound * (coef_ivt_br_multiplier - 1) * odt_skims['WK_CR_DR_IVTBR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_CR,PNR_CR - In-vehicle time on CR,@df.inbound * (coef_ivt_cr_multiplier - 1) * odt_skims['WK_CR_DR_IVTCR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_In_vehicle_time_on_LR,PNR_CR - In-vehicle time on LR,@df.inbound * (coef_ivt_lr_multiplier - 1) * odt_skims['WK_CR_DR_IVTLR'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_inbound_Short_iwait_time,PNR_CR inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WK_CR_DR_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_inbound_Long_iwait_time,PNR_CR inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WK_CR_DR_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_inbound_transfer_wait_time,PNR_CR inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WK_CR_DR_XWAIT'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_inbound_number_of_transfers,PNR_CR inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WK_CR_DR_XFERS']).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_inbound_Drive_time,PNR_CR inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WK_CR_DR_DTIME'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_inbound_Walk_access_time,PNR_CR inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_inbound_Walk_other_time,PNR_CR inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WK_CR_DR_WAUX'],,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_inbound_Fare_and_operating_cost,PNR_CR inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WK_CR_DR_FARE'] + costPerMile * odt_skims['WK_CR_DR_DDIST']),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_PNR_CR_inbound_Ratio_of_drive_access_distance_to_OD_distance,PNR_CR inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WK_CR_DR_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,coef_ivt,,,,,,,, +#KNR_to_AB,#KNR to AB,,,,,,,,,,,,,,,,,,,,,, +util_KNR_AB_Unavailable_for_persons_less_than_16,KNR_AB - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,coef_unavailable,,,,,,, +util_KNR_AB_Destination_zone_densityIndex,KNR_AB - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_Topology,KNR_AB - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_Person_is_less_than_10_years_old,KNR_AB - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_outbound_Unavailable,KNR_AB outbound - Unavailable,outbound & ~knr_ab_available_outbound,,,,,,,,,,,,,,coef_unavailable,,,,,,, +util_KNR_AB_outbound_In_vehicle_time,KNR_AB outbound - In-vehicle time,@df.outbound * odt_skims['KR_AB_WK_TOTIVT'],,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_outbound_In_vehicle_time_on_XB,KNR_AB outbound - In-vehicle time on XB,@df.outbound * (coef_ivt_xb_multiplier - 1) * odt_skims['KR_AB_WK_IVTXB'],,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_outbound_Short_iwait_time,KNR_AB outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['KR_AB_WK_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_outbound_Long_iwait_time,KNR_AB outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['KR_AB_WK_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_outbound_transfer_wait_time,KNR_AB outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['KR_AB_WK_XWAIT'],,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_outbound_number_of_transfers,KNR_AB outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['KR_AB_WK_XFERS']).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_outbound_Drive_time,KNR_AB outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['KR_AB_WK_DTIME'],,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_outbound_Walk_egress_time,KNR_AB outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_outbound_Walk_other_time,KNR_AB outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['KR_AB_WK_WAUX'],,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_outbound_Fare_and_operating_cost,KNR_AB outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['KR_AB_WK_FARE'] + costPerMile*odt_skims['KR_AB_WK_DDIST']),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_outbound_Ratio_of_drive_access_distance_to_OD_distance,KNR_AB outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['KR_AB_WK_DDIST'])/ (od_skims['DIST']),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_inbound_Unavailable,KNR_AB inbound - Unavailable,inbound & ~knr_ab_available_inbound,,,,,,,,,,,,,,coef_unavailable,,,,,,, +util_KNR_AB_inbound_In_vehicle_time,KNR_AB inbound - In-vehicle time,@df.inbound * odt_skims['WK_AB_KR_TOTIVT'],,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_inbound_Short_iwait_time,KNR_AB inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WK_AB_KR_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_inbound_Long_iwait_time,KNR_AB inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WK_AB_KR_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_inbound_transfer_wait_time,KNR_AB inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WK_AB_KR_XWAIT'],,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_inbound_number_of_transfers,KNR_AB inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WK_AB_KR_XFERS']).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_inbound_Drive_time,KNR_AB inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WK_AB_KR_DTIME'],,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_inbound_Walk_access_time,KNR_AB inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_inbound_Walk_other_time,KNR_AB inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WK_AB_KR_WAUX'],,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_inbound_Fare_and_operating_cost,KNR_AB inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WK_AB_KR_FARE'] + costPerMile*odt_skims['WK_AB_KR_DDIST']),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_KNR_AB_inbound_Ratio_of_drive_access_distance_to_OD_distance,KNR_AB inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WK_AB_KR_DDIST'])/ (od_skims['DIST']),,,,,,,,,,,,,,coef_ivt,,,,,,, +#Drive_to_BM,#Drive to BM,,,,,,,,,,,,,,,,,,,,,, +util_KNR_BM_Unavailable_for_persons_less_than_16,KNR_BM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,coef_unavailable,,,,,, +util_KNR_BM__Destination_zone_densityIndex,KNR_BM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM__Topology,KNR_BM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM__Person_is_less_than_10_years_old,KNR_BM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_outbound_Unavailable,KNR_BM outbound - Unavailable,outbound & ~knr_bm_available_outbound,,,,,,,,,,,,,,,coef_unavailable,,,,,, +util_KNR_BM_outbound_In_vehicle_time,KNR_BM outbound - In-vehicle time,@df.outbound * odt_skims['KR_BM_WK_TOTIVT'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_In_vehicle_time_on_XB,KNR_BM - In-vehicle time on XB,@df.outbound * (coef_ivt_xb_multiplier - 1) * odt_skims['KR_BM_WK_IVTXB'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_In_vehicle_time_on_MR,KNR_BM - In-vehicle time on MR,@df.outbound * (coef_ivt_mr_multiplier - 1) * odt_skims['KR_BM_WK_IVTMR'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_In_vehicle_time_on_LR,KNR_BM - In-vehicle time on LR,@df.outbound * (coef_ivt_lr_multiplier - 1) * odt_skims['KR_BM_WK_IVTLR'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_outbound_Short_iwait_time,KNR_BM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['KR_BM_WK_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_outbound_Long_iwait_time,KNR_BM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['KR_BM_WK_IWAIT']-waitThresh).clip(0) ,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_outbound_transfer_wait_time,KNR_BM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['KR_BM_WK_XWAIT'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_outbound_number_of_transfers,KNR_BM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['KR_BM_WK_XFERS']).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_outbound_Drive_time,KNR_BM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['KR_BM_WK_DTIME'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_outbound_Walk_egress_time,KNR_BM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_outbound_Walk_other_time,KNR_BM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['KR_BM_WK_WAUX'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_outbound_Fare_and_operating_cost,KNR_BM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['KR_BM_WK_FARE'] + costPerMile * odt_skims['KR_BM_WK_DDIST']),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_outbound_Ratio_of_drive_access_distance_to_OD_distance,KNR_BM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['KR_BM_WK_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_inbound_Unavailable,KNR_BM inbound - Unavailable,inbound & ~knr_bm_available_inbound,,,,,,,,,,,,,,,coef_unavailable,,,,,, +util_KNR_BM_inbound_In_vehicle_time,KNR_BM inbound - In-vehicle time,@df.inbound * odt_skims['WK_BM_KR_TOTIVT'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_In_vehicle_time_on_XB,KNR_BM - In-vehicle time on XB,@df.inbound * (coef_ivt_xb_multiplier - 1) * odt_skims['WK_BM_KR_IVTXB'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_In_vehicle_time_on_MR,KNR_BM - In-vehicle time on MR,@df.inbound * (coef_ivt_mr_multiplier - 1) * odt_skims['WK_BM_KR_IVTMR'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_In_vehicle_time_on_LR,KNR_BM - In-vehicle time on LR,@df.inbound * (coef_ivt_lr_multiplier - 1) * odt_skims['WK_BM_KR_IVTLR'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_inbound_Short_iwait_time,KNR_BM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WK_BM_KR_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_inbound_Long_iwait_time,KNR_BM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WK_BM_KR_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_inbound_transfer_wait_time,KNR_BM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WK_BM_KR_XWAIT'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_inbound_number_of_transfers,KNR_BM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WK_BM_KR_XFERS']).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_inbound_Drive_time,KNR_BM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WK_BM_KR_DTIME'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_inbound_Walk_access_time,KNR_BM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_inbound_Walk_other_time,KNR_BM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WK_BM_KR_WAUX'],,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_inbound_Fare_and_operating_cost,KNR_BM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WK_BM_KR_FARE'] + costPerMile * odt_skims['WK_BM_KR_DDIST']),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_KNR_BM_inbound_Ratio_of_drive_access_distance_to_OD_distance,KNR_BM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WK_BM_KR_DDIST'])/ od_skims['DIST'],,,,,,,,,,,,,,,coef_ivt,,,,,, +#KNR_to_MR,#KNR to MR,,,,,,,,,,,,,,,,,,,,,, +util_KNR_MR_Unavailable_for_persons_less_than_16,KNR_MR - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,coef_unavailable,,,,, +util_KNR_MR_Destination_zone_densityIndex,KNR_MR - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_Topology,KNR_MR - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_Person_is_less_than_10_years_old,KNR_MR - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_outbound_Unavailable,KNR_MR outbound - Unavailable,outbound & ~knr_mr_available_outbound,,,,,,,,,,,,,,,,coef_unavailable,,,,, +util_KNR_MR_outbound_In_vehicle_time,KNR_MR outbound - In-vehicle time,@df.outbound * odt_skims['KR_MR_WK_TOTIVT'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_In_vehicle_time_on_MR,KNR_MR - In-vehicle time on MR,@df.outbound * (coef_ivt_mr_multiplier - 1) * odt_skims['KR_MR_WK_IVTMR'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_In_vehicle_time_on_LR,KNR_MR - In-vehicle time on LR,@df.outbound * (coef_ivt_lr_multiplier - 1) * odt_skims['KR_MR_WK_IVTLR'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_outbound_Short_iwait_time,KNR_MR outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['KR_MR_WK_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_outbound_Long_iwait_time,KNR_MR outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['KR_MR_WK_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_outbound_transfer_wait_time,KNR_MR outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['KR_MR_WK_XWAIT'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_outbound_number_of_transfers,KNR_MR outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['KR_MR_WK_XFERS']).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_outbound_Drive_time,KNR_MR outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['KR_MR_WK_DTIME'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_outbound_Walk_egress_ime,KNR_MR outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_outbound_Walk_other_time,KNR_MR outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['KR_MR_WK_WAUX'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_outbound_Fare_and_operating_cost,KNR_MR outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['KR_MR_WK_FARE'] + costPerMile * odt_skims['KR_MR_WK_DDIST']),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_outbound_Ratio_of_drive_access_distance_to_OD_distance,KNR_MR outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['KR_MR_WK_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_inbound_Unavailable,KNR_MR inbound - Unavailable,inbound & ~knr_mr_available_inbound,,,,,,,,,,,,,,,,coef_unavailable,,,,, +util_KNR_MR_inbound_In_vehicle_time,KNR_MR inbound - In-vehicle time,@df.inbound * odt_skims['WK_MR_KR_TOTIVT'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_In_vehicle_time_on_MR,KNR_MR - In-vehicle time on MR,@df.inbound * (coef_ivt_mr_multiplier - 1) * odt_skims['WK_MR_KR_IVTMR'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_In_vehicle_time_on_LR,KNR_MR - In-vehicle time on LR,@df.inbound * (coef_ivt_lr_multiplier - 1) * odt_skims['WK_MR_KR_IVTLR'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_inbound_Short_iwait_time,KNR_MR inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WK_MR_KR_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_inbound_Long_iwait_time,KNR_MR inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WK_MR_KR_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_inbound_transfer_wait_time,KNR_MR inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WK_MR_KR_XWAIT'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_inbound_number_of_transfers,KNR_MR inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WK_MR_KR_XFERS']).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_inbound_Drive_time,KNR_MR inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WK_MR_KR_DTIME'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_inbound_Walk_access_time,KNR_MR inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_inbound_Walk_other_time,KNR_MR inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WK_MR_KR_WAUX'],,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_inbound_Fare_and_operating_cost,KNR_MR inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WK_MR_KR_FARE'] + costPerMile * odt_skims['WK_MR_KR_DDIST']),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_KNR_MR_inbound_Ratio_of_drive_access_distance_to_OD_distance,KNR_MR inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WK_MR_KR_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, +#KNR_to_CR,#KNR to CR,,,,,,,,,,,,,,,,,,,,,, +util_KNR_CR_Unavailable_for_persons_less_than_16,KNR_CR - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,coef_unavailable,,,, +util_KNR_CR_Destination_zone_densityIndex,KNR_CR - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_Topology,KNR_CR - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_Person_is_less_than_10_years_old,KNR_CR - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_outbound_Unavailable,KNR_CR outbound - Unavailable,outbound & ~knr_cr_available_outbound,,,,,,,,,,,,,,,,,coef_unavailable,,,, +util_KNR_CR_outbound_In_vehicle_time,KNR_CR outbound - In-vehicle time,@df.outbound * odt_skims['DR_CR_WK_TOTIVT'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_XB,KNR_CR - In-vehicle time on XB,@df.outbound * (coef_ivt_xb_multiplier - 1) * odt_skims['DR_CR_WK_IVTXB'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_MR,KNR_CR - In-vehicle time on MR,@df.outbound * (coef_ivt_mr_multiplier - 1) * odt_skims['DR_CR_WK_IVTMR'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_BR,KNR_CR - In-vehicle time on BR,@df.outbound * (coef_ivt_br_multiplier - 1) * odt_skims['DR_CR_WK_IVTBR'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_LR,KNR_CR - In-vehicle time on LR,@df.outbound * (coef_ivt_lr_multiplier - 1) * odt_skims['DR_CR_WK_IVTLR'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_CR,KNR_CR - In-vehicle time on CR,@df.outbound * (coef_ivt_cr_multiplier - 1) * odt_skims['DR_CR_WK_IVTCR'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_outbound_Short_iwait_time,KNR_CR outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DR_CR_WK_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_outbound_Long_iwait_time,KNR_CR outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DR_CR_WK_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_outbound_transfer_wait_time,KNR_CR outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DR_CR_WK_XWAIT'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_outbound_number_of_transfers,KNR_CR outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DR_CR_WK_XFERS']).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_outbound_Drive_time,KNR_CR outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DR_CR_WK_DTIME'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_outbound_Walk_egress_ime,KNR_CR outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_outbound_Walk_other_time,KNR_CR outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DR_CR_WK_WAUX'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_outbound_Fare_and_operating_cost,KNR_CR outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DR_CR_WK_FARE'] + costPerMile * odt_skims['DR_CR_WK_DDIST']),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_outbound_Ratio_of_drive_access_distance_to_OD_distance,KNR_CR outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DR_CR_WK_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_inbound_Unavailable,KNR_CR inbound - Unavailable,inbound & ~knr_cr_available_inbound,,,,,,,,,,,,,,,,,coef_unavailable,,,, +util_KNR_CR_inbound_In_vehicle_time,KNR_CR inbound - In-vehicle time,@df.inbound * odt_skims['WK_CR_DR_TOTIVT'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_XB,KNR_CR - In-vehicle time on XB,@df.inbound * (coef_ivt_xb_multiplier - 1) * odt_skims['WK_CR_DR_IVTXB'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_CR,KNR_CR - In-vehicle time on CR,@df.inbound * (coef_ivt_mr_multiplier - 1) * odt_skims['WK_CR_DR_IVTCR'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_BR,KNR_CR - In-vehicle time on BR,@df.inbound * (coef_ivt_br_multiplier - 1) * odt_skims['WK_CR_DR_IVTBR'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_LR,KNR_CR - In-vehicle time on LR,@df.inbound * (coef_ivt_lr_multiplier - 1) * odt_skims['WK_CR_DR_IVTLR'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_In_vehicle_time_on_CR,KNR_CR - In-vehicle time on CR,@df.inbound * (coef_ivt_cr_multiplier - 1) * odt_skims['WK_CR_DR_IVTCR'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_inbound_Short_iwait_time,KNR_CR inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WK_CR_DR_IWAIT']).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_inbound_Long_iwait_time,KNR_CR inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WK_CR_DR_IWAIT']-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_inbound_transfer_wait_time,KNR_CR inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WK_CR_DR_XWAIT'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_inbound_number_of_transfers,KNR_CR inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WK_CR_DR_XFERS']).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_inbound_Drive_time,KNR_CR inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WK_CR_DR_DTIME'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_inbound_Walk_access_time,KNR_CR inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_inbound_Walk_other_time,KNR_CR inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WK_CR_DR_WAUX'],,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_inbound_Fare_and_operating_cost,KNR_CR inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WK_CR_DR_FARE'] + costPerMile * odt_skims['WK_CR_DR_DDIST']),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_KNR_CR_inbound_Ratio_of_drive_access_distance_to_OD_distance,KNR_CR inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WK_CR_DR_DDIST']) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, +#Taxi,#Taxi,,,,,,,,,,,,,,,,,,,,,, +util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Wait_time,Taxi - Wait time,@1.5 * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, +#Taxi_Tolls,#Taxi - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_VTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +#Taxi_Bridge_toll,#Taxi - Bridge toll,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_BTOLL'],,,,,,,,,,,,,,,,,,,coef_ivt,, +util_Taxi_Fare,Taxi - Fare,@ivt_cost_multiplier * df.ivot * (Taxi_baseFare + odt_skims['HOV2_DIST'] * Taxi_costPerMile + odt_skims['HOV2_TIME'] * Taxi_costPerMinute)*100,,,,,,,,,,,,,,,,,,,coef_ivt,, +#TNC_Single,#TNC Single,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Single_In_vehicle_time,TNC Single - In-vehicle time,@odt_skims['HOV2_TIME'] ,,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Wait_time,TNC Single - Wait time,@1.5 * df.origSingleTNCWaitTime,,,,,,,,,,,,,,,,,,,,coef_ivt, +#TNC_Single_Tolls,#TNC Single - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_VTOLL'],,,,,,,,,,,,,,,,,,,,coef_ivt, +#TNC_Single_Bridge_toll,#TNC Single - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']),,,,,,,,,,,,,,,,,,,,coef_ivt, +util_TNC_Single_Cost,TNC Single - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_single_baseFare + odt_skims['HOV2_DIST'] * TNC_single_costPerMile + odt_skims['HOV2_TIME'] * TNC_single_costPerMinute, TNC_single_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,coef_ivt, +#TNC_Shared,#TNC Shared,,,,,,,,,,,,,,,,,,,,,, +util_TNC_Shared_In_vehicle_time,TNC Shared - In-vehicle time,@odt_skims['HOV2_TIME'] * TNC_shared_IVTFactor,,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Wait_time,TNC Shared - Wait time,@1.5 * df.origSharedTNCWaitTime,,,,,,,,,,,,,,,,,,,,,coef_ivt +#TNC_Shared_Tolls,#TNC Shared - Tolls,@ivt_cost_multiplier * df.ivot * odt_skims['HOV2_VTOLL'],,,,,,,,,,,,,,,,,,,,,coef_ivt +#TNC_Shared_Bridge_toll,#TNC Shared - Bridge toll,@ivt_cost_multiplier * df.ivot * (odt_skims['HOV2_BTOLL'] + dot_skims['HOV2_BTOLL']),,,,,,,,,,,,,,,,,,,,,coef_ivt +util_TNC_Shared_Cost,TNC Shared - Cost,"@ivt_cost_multiplier * df.ivot * np.maximum(TNC_shared_baseFare + odt_skims['HOV2_DIST'] * TNC_shared_costPerMile + odt_skims['HOV2_TIME']* TNC_shared_costPerMinute, TNC_shared_costMinimum) * 100",,,,,,,,,,,,,,,,,,,,,coef_ivt +#,#,,,,,,,,,,,,,,,,,,,,,, +util_Auto_tour_mode_availability,Auto tour mode availability,tour_mode_is_auto,,,,,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,,, +util_SOV_tour_mode_availability,SOV tour mode availability,tour_mode_is_SOV,,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable +util_sr2_tour_mode_availability,SR2 tour mode availability,tour_mode_is_sr2,,,coef_unavailable,,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable +util_sr3p_tour_mode_availability,SR3+ tour mode availability,tour_mode_is_sr3p,,,,,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable +util_Walk_tour_mode_availability,Walk tour mode availability,tour_mode_is_walk,coef_unavailable,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable +util_Bike_tour_mode_availability,Bike tour mode availability,tour_mode_is_bike,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable +util_Walk_to_Transit_tour_mode_availability,Walk to Transit tour mode availability,tour_mode_is_walk_transit,coef_unavailable,,,,coef_unavailable,,,,,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,,, +util_Drive_to_Transit_tour_mode_availability,Drive to Transit tour mode availability,tour_mode_is_drive_transit,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,,,,,,,,,coef_unavailable,,, +util_School_bus_tour_mode_availability,School bus tour mode availability,tour_mode_is_school_bus,coef_unavailable,,,,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,,coef_unavailable,coef_unavailable,coef_unavailable +util_Ride_Hail_tour_mode_availability,Ride Hail tour mode availability,tour_mode_is_ride_hail,coef_unavailable,,,,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,coef_unavailable,,, +#indiv_tour_ASCs,#indiv tour ASCs,,,,,,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_2,Drive Alone tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,sov_ASC_sr2,,,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_shared_ride_3+,Drive Alone tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,sov_ASC_sr3p,,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_walk,Drive Alone tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,sov_ASC_walk,,,,,,,,,,,,,,,,, +util_Drive_Alone_tour_mode_ASC_ride_hail,Drive Alone tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SOV_MODES)),,,,,,,,,,,,,,,,,,,sov_ASC_rh,sov_ASC_rh,sov_ASC_rh +util_Shared_Ride_2_tour_mode_ASC_drive_alone,Shared Ride 2 tour mode ASC -- drive alone,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),sr2_ASC_sov,,,,,,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_walk,Shared Ride 2 tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,sr2_ASC_walk,,,,,,,,,,,,,,,,, +util_Shared_Ride_2_tour_mode_ASC_ride_hail,Shared Ride 2 tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR2_MODES)),,,,,,,,,,,,,,,,,,,sr2_ASC_rh,sr2_ASC_rh,sr2_ASC_rh +util_Shared_Ride_3+_tour_mode_ASC_drive_alone,Shared Ride 3+ tour mode ASC -- drive alone,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),sr3p_ASC_sr2,,,,,,,,,,,,,,,,,,,, +util_Shared_Ride_3+_tour_mode_ASC_shared_ride_2,Shared Ride 3+ tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,sr3p_ASC_sr2,,,,,,,,,,,,,,,,,,, +util_Shared_Ride_3+_tour_mode_ASC_walk,Shared Ride 3+ tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,sr3p_ASC_walk,,,,,,,,,,,,,,,,, +util_Shared_Ride_3+_tour_mode_ASC_ride_hail,Shared Ride 3+ tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_SR3P_MODES)),,,,,,,,,,,,,,,,,,,sr3p_ASC_rh,sr3p_ASC_rh,sr3p_ASC_rh +util_Walk_tour_mode_ASC_ride_hail,Walk tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_WALK_MODE),,,,,,,,,,,,,,,,,,,walk_ASC_rh,walk_ASC_rh,walk_ASC_rh +util_Bike_tour_mode_ASC_walk,Bike tour mode ASC -- walk,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,bike_ASC_walk,,,,,,,,,,,,,,,,, +util_Bike_tour_mode_ASC_ride_hail,Bike tour mode ASC -- ride hail,@df.is_indiv & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,bike_ASC_rh,bike_ASC_rh,bike_ASC_rh +util_Walk_transit_tour_mode_ASC_shared_ride_2,Walk-transit tour mode ASC -- shared ride 2,@(df.is_indiv & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,walk_transit_ASC_sr2,,,,,,,,,,,,,,,,,,, +util_Walk_transit_tour_mode_ASC_shared_ride_3+,Walk-transit tour mode ASC -- shared ride 3+,@(df.is_indiv & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,walk_transit_ASC_sr3p,,,,,,,,,,,,,,,,,, +util_Walk_transit_tour_mode_ASC_walk,Walk-transit tour mode ASC -- walk,@(df.is_indiv & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,walk_transit_ASC_walk,,,,,,,,,,,,,,,,, +util_Walk_transit_tour_mode_ASC_ride_hail,Walk-transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_walk_transit),,,,,,,,,,,,,,,,,,,walk_transit_ASC_rh,walk_transit_ASC_rh,walk_transit_ASC_rh +util_Drive_to_Transit_tour_mode_ASC_ride_hail,Drive to Transit tour mode ASC -- ride hail,@(df.is_indiv & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,drive_transit_ASC_rh,drive_transit_ASC_rh,drive_transit_ASC_rh +util_Ride_Hail_tour_mode_ASC_ride_hail,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,ride_hail_ASC_taxi,, +util_Ride_Hail_tour_mode_ASC_ride_hail,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_single, +util_Ride_Hail_tour_mode_ASC_ride_hail,Ride Hail tour mode ASC -- ride hail,@(df.is_indiv & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,ride_hail_ASC_tnc_shared +util_joint_auto_tour_mode_ASC_shared_ride_2,joint - auto tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,joint_auto_ASC_sr2,,,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_shared_ride_3+,joint - auto tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,joint_auto_ASC_sr3p,,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_walk,joint - auto tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,joint_auto_ASC_walk,,,,,,,,,,,,,,,,, +util_joint_auto_tour_mode_ASC_ride_hail,joint - auto tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_AUTO_MODES)),,,,,,,,,,,,,,,,,,,joint_auto_ASC_rh,joint_auto_ASC_rh,joint_auto_ASC_rh +util_joint_Bike_tour_mode_ASC_walk,joint - Bike tour mode ASC -- walk,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,joint_bike_ASC_walk,,,,,,,,,,,,,,,,, +util_joint_Bike_tour_mode_ASC_ride_hail,joint - Bike tour mode ASC -- ride hail,@df.is_joint & (df.i_tour_mode == I_BIKE_MODE),,,,,,,,,,,,,,,,,,,joint_bike_ASC_rh,joint_bike_ASC_rh,joint_bike_ASC_rh +util_joint_Walk_transit_tour_mode_ASC_shared_ride_2,joint - Walk-transit tour mode ASC -- shared ride 2,@(df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,joint_walk_transit_ASC_sr2,,,,,,,,,,,,,,,,,,, +util_joint_Walk_transit_tour_mode_ASC_shared_ride_3+,joint - Walk-transit tour mode ASC -- shared ride 3+,@(df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,joint_walk_transit_ASC_sr3p,,,,,,,,,,,,,,,,,, +util_joint_Walk_transit_tour_mode_ASC_walk,joint - Walk-transit tour mode ASC -- walk,@(df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,joint_walk_transit_ASC_walk,,,,,,,,,,,,,,,,, +util_joint_Walk_to_Transit_tour_mode_ASC_ride_hail,joint - Walk to Transit tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_WALK_TRANSIT_MODES)),,,,,,,,,,,,,,,,,,,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh,joint_walk_transit_ASC_rh +util_joint_Drive_to_Transit_tour_mode_ASC_ride_hail,joint - Drive to Transit tour mode ASC -- ride hail,@(df.is_joint & df.tour_mode_is_drive_transit),,,,,,,,,,,,,,,,,,,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh,joint_drive_transit_ASC_rh +util_joint_Ride_Hail_tour_mode_ASC_ride_hail,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_taxi,, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, +util_joint_Ride_Hail_tour_mode_ASC_ride_hail,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared +#,#,,,,,,,,,,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,coef_unavailable,,,,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,coef_unavailable,,,,,,,,,,,,,,,, +#School_Bus,#School Bus,,,,,,,,,,,,,,,,,,,,,, +util_School_Bus_Unavailable_if_primary_purpose_NOT_school,School Bus Unavailable if primary purpose NOT school,~is_school,,,,,,,,,,,,,,,,,,coef_unavailable,,, +util_School_Bus_Unavailable_Tour_Mode_SOV,School Bus Unavailable - Tour Mode = SOV,tour_mode_is_SOV,,,,,,,,,,,,,,,,,,coef_unavailable,,, +util_School_Bus_Unavailable_Tour_Mode_Transit,School Bus Unavailable - Tour Mode = Transit,tour_mode_is_drive_transit,,,,,,,,,,,,,,,,,,coef_unavailable,,, +util_School_Bus_In_vehicle_time_(20_miles_per_hour),School Bus - In-vehicle time (20 miles per hour),@odt_skims['HOV3_DIST']*3,,,,,,,,,,,,,,,,,,1,,, +util_School_Bus_Walk_Time,School Bus - Walk Time,@coef_wacc_multiplier*10,,,,,,,,,,,,,,,,,,1,,, +util_School_Bus_Wait_Time,School Bus - Wait Time,@coef_short_iwait_multiplier*10,,,,,,,,,,,,,,,,,,1,,, +util_School_Bus_tour_mode_ASC_shared_ride_2,School Bus tour mode ASC -- shared ride 2,@df.i_tour_mode.isin(I_SCHOOLBUS_MODE),,schoolbus_ASC_sr2,,,,,,,,,,,,,,,,,,, +util_School_Bus_tour_mode_ASC_shared_ride_3+,School Bus tour mode ASC -- shared ride 3+,@df.i_tour_mode.isin(I_SCHOOLBUS_MODE),,,schoolbus_ASC_sr3p,,,,,,,,,,,,,,,,,, +util_School_Bus_tour_mode_ASC_walk,School Bus tour mode ASC -- walk,@df.i_tour_mode.isin(I_SCHOOLBUS_MODE),,,,schoolbus_ASC_walk,,,,,,,,,,,,,,,,, +util_School_Bus_tour_mode_ASC_ride_hail,School Bus tour mode ASC -- ride hail,@df.i_tour_mode.isin(I_SCHOOLBUS_MODE),,,,,,,,,,,,,,,,,,,schoolbus_ASC_rh,schoolbus_ASC_rh,schoolbus_ASC_rh +util_Origin_density_index,Origin density index,@(origin_density_applied*df.origin_density_index).clip(origin_density_index_max) if origin_density_applied else 0,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,coef_ivt,coef_ivt +util_TNC_shared_adjustment,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/prototype_mwcog/configs/trip_mode_choice.yaml b/activitysim/examples/prototype_mwcog/configs/trip_mode_choice.yaml new file mode 100644 index 0000000000..79a06b74d4 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/trip_mode_choice.yaml @@ -0,0 +1,148 @@ +# trip_mode_choice.yaml + +SPEC: trip_mode_choice.csv +COEFFICIENTS: trip_mode_choice_coefficients.csv +COEFFICIENT_TEMPLATE: trip_mode_choice_coefficients_template.csv + +LOGIT_TYPE: NL + +NESTS: + name: root + coefficient: 1.00 + alternatives: + - name: AUTO + coefficient: 0.72 + alternatives: + - DRIVEALONE + - SHARED2 + - SHARED3 + - name: NONMOTORIZED + coefficient: 0.72 + alternatives: + - WALK + - BIKE + - name: TRANSIT + coefficient: 0.72 + alternatives: + - name: WALKACCESS + coefficient: 0.5 + alternatives: + - WALK_AB + - WALK_BM + - WALK_MR + - WALK_CR + - name: PNRACCESS + coefficient: 0.5 + alternatives: + - PNR_AB + - PNR_BM + - PNR_MR + - PNR_CR + - name: KNRACCESS + coefficient: 0.5 + alternatives: + - KNR_AB + - KNR_BM + - KNR_MR + - KNR_CR + - name: SCHOOL_BUS + coefficient: 0.72 + alternatives: + - SCHOOLBUS + - name: RIDEHAIL + coefficient: 0.36 + alternatives: + - TAXI + - TNC_SINGLE + - TNC_SHARED + +CONSTANTS: + orig_col_name: origin + dest_col_name: destination + walkThresh: 1.00 + walktimelong_multiplier: 5 + biketimelong_multiplier: 5 + xfers_wlk_multiplier: 5 + xfers_drv_multiplier: 15 + density_index_multiplier: -5 + I_MODE_MAP: + DRIVEALONE: 1 + SHARED2: 2 + SHARED3: 3 + WALK: 4 + BIKE: 5 + WALK_AB: 6 + WALK_BM: 7 + WALK_MR: 8 + WALK_CR: 9 + PNR_AB: 10 + PNR_BM: 11 + PNR_MR: 12 + PNR_CR: 13 + KNR_AB: 14 + KNR_BM: 15 + KNR_MR: 16 + KNR_CR: 17 + SCHOOLBUS: 18 + TAXI: 19 + TNC_SINGLE: 20 + TNC_SHARED: 21 + I_SOV_MODES: [1] + I_SR2_MODES: [2] + I_SR3P_MODES: [3] + I_AUTO_MODES: [1, 2, 3] + I_WALK_MODE: 4 + I_BIKE_MODE: 5 + I_WALK_TRANSIT_MODES: [6,7,8,9] + I_DRIVE_TRANSIT_MODES: [10,11,12,13,14,15,16,17] + I_PNR_TRANSIT_MODES: [10,11,12,13] + I_KNR_TRANSIT_MODES: [14,15,16,17] + I_AB_MODES: [6,10,14] + I_BM_MODES: [7,11,15] + I_MR_MODES: [8,12,16] + I_CR_MODES: [9,13,17] + I_SCHOOLBUS_MODE: [18] + I_RIDE_HAIL_MODES: [19, 20, 21] + Taxi_waitTime_mean: + 1: 5.5 + 2: 9.5 + 3: 13.3 + 4: 17.3 + 5: 26.5 + Taxi_waitTime_sd: + 1: 0 + 2: 0 + 3: 0 + 4: 0 + 5: 0 + + +# so far, we can use the same spec as for non-joint tours +preprocessor: + SPEC: trip_mode_choice_annotate_trips_preprocessor + DF: df + TABLES: + - land_use + - tours + +# - SPEC: trip_mode_choice_annotate_trips_preprocessor2 +# DF: df +# TABLES: +# - land_use + +# to reduce memory needs filter chooser table to these fields +TOURS_MERGED_CHOOSER_COLUMNS: + - hhsize + - age + - auto_ownership + - number_of_participants + - tour_category + - parent_tour_id + - tour_mode + - duration + - value_of_time + - tour_type + - free_parking_at_work + + +MODE_CHOICE_LOGSUM_COLUMN_NAME: mode_choice_logsum diff --git a/activitysim/examples/prototype_mwcog/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/trip_mode_choice_annotate_trips_preprocessor.csv new file mode 100644 index 0000000000..33d0c0de9e --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/trip_mode_choice_annotate_trips_preprocessor.csv @@ -0,0 +1,101 @@ +Description,Target,Expression, +,is_joint,(df.number_of_participants > 1), +,is_indiv,(df.number_of_participants == 1), +,is_atwork_subtour,~df.parent_tour_id.isnull(), +,is_school,"(df.primary_purpose=='school') & (df.purpose.isin(['school', 'Home']))", +,c_cost,(0.60 * coef_ivt) / df.value_of_time, +,ivot,1.0 / df.value_of_time, +#,,, +#atwork subtours,,, +#FIXME tripModeChoice uec wrongly conflates these with tour_mode_is_bike?,,, +,parent_tour_mode,"reindex(tours.tour_mode, df.parent_tour_id).fillna('')", +,work_tour_is_SOV,parent_tour_mode.isin(['DRIVEALONE']), +,work_tour_is_bike,parent_tour_mode=='BIKE', +#,,, +,i_tour_mode,df.tour_mode.map(I_MODE_MAP), +,tour_mode_is_SOV,i_tour_mode.isin(I_SOV_MODES), +,tour_mode_is_sr2,i_tour_mode.isin(I_SR2_MODES), +,tour_mode_is_sr3p,i_tour_mode.isin(I_SR3P_MODES), +,tour_mode_is_auto,i_tour_mode.isin(I_AUTO_MODES), +,tour_mode_is_walk,i_tour_mode.isin([I_WALK_MODE]), +,tour_mode_is_bike,i_tour_mode.isin([I_BIKE_MODE]), +,tour_mode_is_walk_transit,i_tour_mode.isin(I_WALK_TRANSIT_MODES), +,tour_mode_is_drive_transit,i_tour_mode.isin(I_DRIVE_TRANSIT_MODES), +,tour_mode_not_drive_transit,~tour_mode_is_drive_transit, +,tour_mode_is_pnr_transit,i_tour_mode.isin(I_PNR_TRANSIT_MODES), +,tour_mode_is_knr_transit,i_tour_mode.isin(I_KNR_TRANSIT_MODES), +,tour_mode_is_ab,i_tour_mode.isin(I_AB_MODES), +,tour_mode_is_bm,i_tour_mode.isin(I_BM_MODES), +,tour_mode_is_mr,i_tour_mode.isin(I_MR_MODES), +,tour_mode_is_cr,i_tour_mode.isin(I_CR_MODES), +,tour_mode_is_school_bus,i_tour_mode.isin(I_SCHOOLBUS_MODE), +,tour_mode_is_ride_hail,i_tour_mode.isin(I_RIDE_HAIL_MODES), +#,,, +,inbound,~df.outbound, +,first_trip,df.trip_num == 1, +,last_trip,df.trip_num == df.trip_count, +origin terminal time not counted at home,_origin_terminal_time,"np.where(df.outbound & first_trip, 0, reindex(land_use.TERMINAL, df[ORIGIN]))", +dest terminal time not counted at home,_dest_terminal_time,"np.where(inbound & last_trip, 0, reindex(land_use.TERMINAL, df[DESTINATION]))", +,total_terminal_time,_origin_terminal_time + _dest_terminal_time, +#,,, +,free_parking_available,(df.tour_type == 'work') & df.free_parking_at_work, +,dest_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[DESTINATION])", +,origin_hourly_peak_parking_cost,"reindex(land_use.PRKCST, df[ORIGIN])", +,origin_duration,"np.where(first_trip, np.where(inbound,df.duration/2 * ~free_parking_available,0), 1)", +,dest_duration,"np.where(last_trip, np.where(inbound, df.duration/2 * ~free_parking_available, 0), 1)", +,origin_parking_cost,origin_duration*origin_hourly_peak_parking_cost, +,dest_parking_cost,dest_duration*dest_hourly_peak_parking_cost, +,total_parking_cost,(origin_parking_cost + dest_parking_cost) / 2.0, +,trip_topology,"np.where(df.outbound, reindex(land_use.TOPOLOGY, df[DESTINATION]), reindex(land_use.TOPOLOGY, df[ORIGIN]))", +,density_index,"np.where(df.outbound, reindex(land_use.density_index, df[DESTINATION]), reindex(land_use.density_index, df[ORIGIN]))", +,origin_density_index,"np.where(df.outbound, reindex(land_use.density_index, df[ORIGIN]), reindex(land_use.density_index, df[DESTINATION]))", +# FIXME no transit subzones so all zones short walk to transit,,, +,_walk_transit_origin,True, +,_walk_transit_destination,True, +,walk_transit_available,_walk_transit_origin & _walk_transit_destination & (tour_mode_not_drive_transit), +,pnr_transit_available,tour_mode_is_pnr_transit, +,knr_transit_available,tour_mode_is_knr_transit, +,origin_walk_time,shortWalk*60/walkSpeed, +,destination_walk_time,shortWalk*60/walkSpeed, +# RIDEHAIL,,, +,origin_density_measure,"(reindex(land_use.TOTPOP, df[orig_col_name]) + reindex(land_use.TOTEMP, df[orig_col_name])) / (reindex(land_use.LANDAREA*640, df[orig_col_name]) / 640)", +,origin_density,"pd.cut(origin_density_measure, bins=[-np.inf, 500, 2000, 5000, 15000, np.inf], labels=[5, 4, 3, 2, 1]).astype(int)", +,origin_zone_taxi_wait_time_mean,"origin_density.map({k: v for k, v in Taxi_waitTime_mean.items()})", +,origin_zone_taxi_wait_time_sd,"origin_density.map({k: v for k, v in Taxi_waitTime_sd.items()})", +# ,, Note that the mean and standard deviation are not the values for the distribution itself, but of the underlying normal distribution it is derived from +,origTaxiWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_taxi_wait_time_mean, sigma=origin_zone_taxi_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_singleTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_single_waitTime_mean.items()})", +,origin_zone_singleTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_single_waitTime_sd.items()})", +,origSingleTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_singleTNC_wait_time_mean, sigma=origin_zone_singleTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +,origin_zone_sharedTNC_wait_time_mean,"origin_density.map({k: v for k, v in TNC_shared_waitTime_mean.items()})", +,origin_zone_sharedTNC_wait_time_sd,"origin_density.map({k: v for k, v in TNC_shared_waitTime_sd.items()})", +,origSharedTNCWaitTime,"rng.lognormal_for_df(df, mu=origin_zone_sharedTNC_wait_time_mean, sigma=origin_zone_sharedTNC_wait_time_sd, broadcast=True, scale=True).clip(min_waitTime, max_waitTime)", +#,,, +,sov_available,(odt_skims['SOV_TIME']>0) & tour_mode_not_drive_transit, +,hov2_available,(odt_skims['HOV2_TIME']>0) & tour_mode_not_drive_transit, +,hov3_available,(odt_skims['HOV3_TIME']>0) & tour_mode_not_drive_transit, +,walk_ab_available,walk_transit_available & (odt_skims['WK_AB_WK_IVTLB']>0) & tour_mode_is_ab, +,walk_bm_available,walk_transit_available & (odt_skims['WK_BM_WK_IVTMR']>0) & tour_mode_is_bm, +,walk_mr_available,walk_transit_available & (odt_skims['WK_MR_WK_IVTMR']>0) & tour_mode_is_mr, +,walk_cr_available,walk_transit_available & (odt_skims['WK_CR_WK_IVTCR']>0) & tour_mode_is_cr, +,pnr_ab_available_outbound,pnr_transit_available & df.outbound & (odt_skims['DR_AB_WK_IVTLB']>0) & tour_mode_is_ab, +,pnr_ab_available_inbound,pnr_transit_available & ~df.outbound & (odt_skims['WK_AB_DR_IVTLB']>0) & tour_mode_is_ab, +,pnr_bm_available_outbound,pnr_transit_available & df.outbound & (odt_skims['DR_BM_WK_IVTMR']>0) & tour_mode_is_bm, +,pnr_bm_available_inbound,pnr_transit_available & ~df.outbound & (odt_skims['WK_BM_DR_IVTMR']>0) & tour_mode_is_bm, +,pnr_mr_available_outbound,pnr_transit_available & df.outbound & (odt_skims['DR_MR_WK_IVTMR']>0) & tour_mode_is_mr, +,pnr_mr_available_inbound,pnr_transit_available & ~df.outbound & (odt_skims['WK_MR_DR_IVTMR']>0) & tour_mode_is_mr, +,pnr_cr_available_outbound,pnr_transit_available & df.outbound & (odt_skims['DR_CR_WK_IVTCR']>0) & tour_mode_is_cr, +,pnr_cr_available_inbound,pnr_transit_available & ~df.outbound & (odt_skims['WK_CR_DR_IVTCR']>0) & tour_mode_is_cr, +,knr_ab_available_outbound,knr_transit_available & df.outbound & (odt_skims['KR_AB_WK_IVTLB']>0) & tour_mode_is_ab, +,knr_ab_available_inbound,knr_transit_available & ~df.outbound & (odt_skims['WK_AB_KR_IVTLB']>0) & tour_mode_is_ab, +,knr_bm_available_outbound,knr_transit_available & df.outbound & (odt_skims['KR_BM_WK_IVTMR']>0) & tour_mode_is_bm, +,knr_bm_available_inbound,knr_transit_available & ~df.outbound & (odt_skims['WK_BM_KR_IVTMR']>0) & tour_mode_is_bm, +,knr_mr_available_outbound,knr_transit_available & df.outbound & (odt_skims['KR_MR_WK_IVTMR']>0) & tour_mode_is_mr, +,knr_mr_available_inbound,knr_transit_available & ~df.outbound & (odt_skims['WK_MR_KR_IVTMR']>0) & tour_mode_is_mr, +,knr_cr_available_outbound,knr_transit_available & df.outbound & (odt_skims['KR_CR_WK_IVTCR']>0) & tour_mode_is_cr, +,knr_cr_available_inbound,knr_transit_available & ~df.outbound & (odt_skims['WK_CR_KR_IVTCR']>0) & tour_mode_is_cr, +#,od_dist_walk,od_skims['DISTWALK'], +#,do_dist_walk,od_skims.reverse('DISTWALK'), +#,max_dist_walk,od_skims.max('DISTWALK'), +#,dist_bike,od_skims['DISTBIKE'], +#,dist_only,od_skims['DIST'], diff --git a/activitysim/examples/prototype_mwcog/configs/trip_mode_choice_coefficients.csv b/activitysim/examples/prototype_mwcog/configs/trip_mode_choice_coefficients.csv new file mode 100644 index 0000000000..911b55be30 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/trip_mode_choice_coefficients.csv @@ -0,0 +1,557 @@ +coefficient_name,value,constrain +coef_unavailable,-999.0,T +coef_one,1.0,T +coef_nest_root,1.0,T +coef_nest_AUTO,0.72,T +coef_nest_NONMOTORIZED,0.72,T +coef_nest_TRANSIT,0.72,T +coef_nest_WALKACCESS,0.5,T +coef_nest_PNRACCESS,0.5,T +coef_nest_KNRACCESS,0.5,T +coef_nest_RIDEHAIL,0.36,T +#,, +coef_ivt_othmaint_social,-0.02,F +coef_ivt_work,-0.02,F +coef_ivt_univ_school,-0.03,F +coef_ivt_escort_shopping_eatout_othdiscr_atwork,-0.03,F +#,, +coef_age1619_da,0.0,F +coef_age010_trn,0.0,F +coef_age16p_sr,0.0,F +coef_hhsize1_sr,-0.73,F +coef_hhsize2_sr,0.0,F +coef_walktimeshort_atwork,1.35,F +coef_walktimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,2.0,T +coef_biketimeshort_atwork,2.7,F +coef_biketimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,4.0,T +coef_dtim_atwork,1.35,F +coef_dtim_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,2.0,T +coef_ivt_xb_multiplier,1.0,T +coef_ivt_mr_multiplier,0.9,T +coef_ivt_br_multiplier,0.9,T +coef_ivt_lr_multiplier,0.8,T +coef_ivt_cr_multiplier,0.7,T +coef_long_iwait_atwork,0.67,F +coef_long_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,1.0,T +coef_short_iwait_atwork,1.35,F +coef_short_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,2.0,T +coef_wacc_atwork,1.35,F +coef_wacc_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,2.0,T +coef_waux_atwork,1.35,F +coef_waux_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,2.0,T +coef_wegr_atwork,1.35,F +coef_wegr_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,2.0,T +coef_xwait_atwork,1.35,F +coef_xwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,2.0,T +#,, +coef_bike_ASC_walk_atwork,-5.05, +coef_bike_ASC_walk_eatout,-3.7, +coef_bike_ASC_walk_escort,-15.52, +coef_bike_ASC_walk_othdiscr,-2.36, +coef_bike_ASC_walk_othmaint,-2.57, +coef_bike_ASC_walk_school,-3.24, +coef_bike_ASC_walk_shopping,-3.02, +coef_bike_ASC_walk_social,-14.24, +coef_bike_ASC_walk_univ,-2.49, +coef_bike_ASC_walk_work,-2.83, +coef_bike_ASC_rh_atwork,-7.0, +coef_bike_ASC_rh_eatout,-7.0, +coef_bike_ASC_rh_escort,-7.0, +coef_bike_ASC_rh_othdiscr,-7.0, +coef_bike_ASC_rh_othmaint,-7.0, +coef_bike_ASC_rh_parking,-7.0, +coef_bike_ASC_rh_school,-7.0, +coef_bike_ASC_rh_shopping,-7.0, +coef_bike_ASC_rh_social,-7.0, +coef_bike_ASC_rh_univ,-7.0, +coef_bike_ASC_rh_work,-7.0, +coef_joint_bike_ASC_walk_atwork,0.0, +coef_joint_bike_ASC_walk_eatout,-3.0, +coef_joint_bike_ASC_walk_escort,-3.0, +coef_joint_bike_ASC_walk_othdiscr,-3.0, +coef_joint_bike_ASC_walk_othmaint,-3.0, +coef_joint_bike_ASC_walk_school,0.0, +coef_joint_bike_ASC_walk_shopping,-3.0, +coef_joint_bike_ASC_walk_social,-3.0, +coef_joint_bike_ASC_walk_univ,0.0, +coef_joint_bike_ASC_walk_work,0.0, +coef_joint_bike_ASC_rh_atwork,0.0, +coef_joint_bike_ASC_rh_eatout,-12.31, +coef_joint_bike_ASC_rh_escort,0.0, +coef_joint_bike_ASC_rh_othdiscr,-12.31, +coef_joint_bike_ASC_rh_othmaint,-12.31, +coef_joint_bike_ASC_rh_parking,0.0, +coef_joint_bike_ASC_rh_school,0.0, +coef_joint_bike_ASC_rh_shopping,-12.31, +coef_joint_bike_ASC_rh_social,-12.31, +coef_joint_bike_ASC_rh_univ,0.0, +coef_joint_bike_ASC_rh_work,0.0, +coef_joint_auto_ASC_sr2_atwork,0.0, +coef_joint_auto_ASC_sr2_eatout,-0.0634, +coef_joint_auto_ASC_sr2_escort,0.0, +coef_joint_auto_ASC_sr2_othdiscr,-0.0634, +coef_joint_auto_ASC_sr2_othmaint,-0.0634, +coef_joint_auto_ASC_sr2_school,0.0, +coef_joint_auto_ASC_sr2_shopping,0.5875, +coef_joint_auto_ASC_sr2_social,-0.0634, +coef_joint_auto_ASC_sr2_univ,0.0, +coef_joint_auto_ASC_sr2_work,0.0, +coef_joint_auto_ASC_sr3p_atwork,0.0, +coef_joint_auto_ASC_sr3p_eatout,-0.1625, +coef_joint_auto_ASC_sr3p_escort,0.0, +coef_joint_auto_ASC_sr3p_othdiscr,-0.1625, +coef_joint_auto_ASC_sr3p_othmaint,-0.1625, +coef_joint_auto_ASC_sr3p_school,0.0, +coef_joint_auto_ASC_sr3p_shopping,-19.0454, +coef_joint_auto_ASC_sr3p_social,-0.1625, +coef_joint_auto_ASC_sr3p_univ,0.0, +coef_joint_auto_ASC_sr3p_work,0.0, +coef_joint_auto_ASC_walk_atwork,0.0, +coef_joint_auto_ASC_walk_eatout,-0.7144, +coef_joint_auto_ASC_walk_escort,0.0, +coef_joint_auto_ASC_walk_othdiscr,-0.7144, +coef_joint_auto_ASC_walk_othmaint,-0.7144, +coef_joint_auto_ASC_walk_school,0.0, +coef_joint_auto_ASC_walk_shopping,-23.4688, +coef_joint_auto_ASC_walk_social,-0.7144, +coef_joint_auto_ASC_walk_univ,0.0, +coef_joint_auto_ASC_walk_work,0.0, +coef_joint_auto_ASC_rh_atwork,0.0, +coef_joint_auto_ASC_rh_eatout,-7.0, +coef_joint_auto_ASC_rh_escort,0.0, +coef_joint_auto_ASC_rh_othdiscr,-7.0, +coef_joint_auto_ASC_rh_othmaint,-7.0, +coef_joint_auto_ASC_rh_school,0.0, +coef_joint_auto_ASC_rh_shopping,-7.0, +coef_joint_auto_ASC_rh_social,-7.0, +coef_joint_auto_ASC_rh_univ,0.0, +coef_joint_auto_ASC_rh_work,0.0, +coef_joint_walk_transit_ASC_sr2_atwork,0.07382298328759998, +coef_joint_walk_transit_ASC_sr2_eatout,-2.31, +coef_joint_walk_transit_ASC_sr2_escort,-2.2361770167123995, +coef_joint_walk_transit_ASC_sr2_othdiscr,-2.2361770167123995, +coef_joint_walk_transit_ASC_sr2_othmaint,-2.2361770167123995, +coef_joint_walk_transit_ASC_sr2_school,0.07382298328759998, +coef_joint_walk_transit_ASC_sr2_shopping,-2.2361770167123995, +coef_joint_walk_transit_ASC_sr2_social,-2.31, +coef_joint_walk_transit_ASC_sr2_univ,0.07382298328759998, +coef_joint_walk_transit_ASC_sr2_work,0.07382298328759998, +coef_joint_walk_transit_ASC_sr3p_atwork,-10.0, +coef_joint_walk_transit_ASC_sr3p_eatout,-3.88, +coef_joint_walk_transit_ASC_sr3p_escort,-13.88, +coef_joint_walk_transit_ASC_sr3p_othdiscr,-13.88, +coef_joint_walk_transit_ASC_sr3p_othmaint,-13.88, +coef_joint_walk_transit_ASC_sr3p_school,-10.0, +coef_joint_walk_transit_ASC_sr3p_shopping,-13.88, +coef_joint_walk_transit_ASC_sr3p_social,-3.88, +coef_joint_walk_transit_ASC_sr3p_univ,-10.0, +coef_joint_walk_transit_ASC_sr3p_work,-10.0, +coef_joint_walk_transit_ASC_walk_atwork,-0.5954623418574255, +coef_joint_walk_transit_ASC_walk_eatout,1.58, +coef_joint_walk_transit_ASC_walk_escort,0.9845376581425747, +coef_joint_walk_transit_ASC_walk_othdiscr,0.9845376581425747, +coef_joint_walk_transit_ASC_walk_othmaint,0.9845376581425747, +coef_joint_walk_transit_ASC_walk_school,-0.5954623418574255, +coef_joint_walk_transit_ASC_walk_shopping,0.9845376581425747, +coef_joint_walk_transit_ASC_walk_social,1.58, +coef_joint_walk_transit_ASC_walk_univ,-0.5954623418574255, +coef_joint_walk_transit_ASC_walk_work,-0.5954623418574255, +coef_joint_walk_transit_ASC_rh_atwork,0.0, +coef_joint_walk_transit_ASC_rh_eatout,1.23, +coef_joint_walk_transit_ASC_rh_escort,0.0, +coef_joint_walk_transit_ASC_rh_othdiscr,1.23, +coef_joint_walk_transit_ASC_rh_othmaint,1.23, +coef_joint_walk_transit_ASC_rh_parking,0.0, +coef_joint_walk_transit_ASC_rh_school,0.0, +coef_joint_walk_transit_ASC_rh_shopping,1.23, +coef_joint_walk_transit_ASC_rh_social,1.23, +coef_joint_walk_transit_ASC_rh_univ,0.0, +coef_joint_walk_transit_ASC_rh_work,0.0, +coef_joint_drive_transit_ASC_rh_atwork,0.0, +coef_joint_drive_transit_ASC_rh_eatout,4.61, +coef_joint_drive_transit_ASC_rh_escort,0.0, +coef_joint_drive_transit_ASC_rh_othdiscr,4.61, +coef_joint_drive_transit_ASC_rh_othmaint,4.61, +coef_joint_drive_transit_ASC_rh_parking,0.0, +coef_joint_drive_transit_ASC_rh_school,0.0, +coef_joint_drive_transit_ASC_rh_shopping,4.61, +coef_joint_drive_transit_ASC_rh_social,4.61, +coef_joint_drive_transit_ASC_rh_univ,0.0, +coef_joint_drive_transit_ASC_rh_work,0.0, +coef_schoolbus_ASC_sr2_atwork,0.0, +coef_schoolbus_ASC_sr2_eatout,0.0, +coef_schoolbus_ASC_sr2_escort,0.0, +coef_schoolbus_ASC_sr2_othdiscr,0.0, +coef_schoolbus_ASC_sr2_othmaint,0.0, +coef_schoolbus_ASC_sr2_school,-6.566636768886607, +coef_schoolbus_ASC_sr2_shopping,0.0, +coef_schoolbus_ASC_sr2_social,0.0, +coef_schoolbus_ASC_sr2_univ,0.0, +coef_schoolbus_ASC_sr2_work,0.0, +coef_schoolbus_ASC_sr3p_atwork,0.0, +coef_schoolbus_ASC_sr3p_eatout,0.0, +coef_schoolbus_ASC_sr3p_escort,0.0, +coef_schoolbus_ASC_sr3p_othdiscr,0.0, +coef_schoolbus_ASC_sr3p_othmaint,0.0, +coef_schoolbus_ASC_sr3p_school,-6.52605763616968, +coef_schoolbus_ASC_sr3p_shopping,0.0, +coef_schoolbus_ASC_sr3p_social,0.0, +coef_schoolbus_ASC_sr3p_univ,0.0, +coef_schoolbus_ASC_sr3p_work,0.0, +coef_schoolbus_ASC_walk_atwork,0.0, +coef_schoolbus_ASC_walk_eatout,0.0, +coef_schoolbus_ASC_walk_escort,0.0, +coef_schoolbus_ASC_walk_othdiscr,0.0, +coef_schoolbus_ASC_walk_othmaint,0.0, +coef_schoolbus_ASC_walk_school,-6.382554226620955, +coef_schoolbus_ASC_walk_shopping,0.0, +coef_schoolbus_ASC_walk_social,0.0, +coef_schoolbus_ASC_walk_univ,0.0, +coef_schoolbus_ASC_walk_work,0.0, +coef_schoolbus_ASC_rh_atwork,0.0, +coef_schoolbus_ASC_rh_othdisc,0.0, +coef_schoolbus_ASC_rh_social,0.0, +coef_schoolbus_ASC_rh_othmaint,0.0, +coef_schoolbus_ASC_rh_eatout,0.0, +coef_schoolbus_ASC_rh_shopping,0.0, +coef_schoolbus_ASC_rh_escort,-2.28, +coef_schoolbus_ASC_rh_school,-5.0, +coef_schoolbus_ASC_rh_univ,0.0, +coef_schoolbus_ASC_rh_work,0.0, +coef_sov_ASC_sr2_atwork,-999.0, +coef_sov_ASC_sr2_eatout,-999.0, +coef_sov_ASC_sr2_escort,0.0, +coef_sov_ASC_sr2_othdiscr,-999.0, +coef_sov_ASC_sr2_othmaint,-999.0, +coef_sov_ASC_sr2_parking,-999.0, +coef_sov_ASC_sr2_school,-999.0, +coef_sov_ASC_sr2_shopping,-999.0, +coef_sov_ASC_sr2_social,-999.0, +coef_sov_ASC_sr2_univ,-999.0, +coef_sov_ASC_sr2_work,-999.0, +coef_sov_ASC_sr3p_atwork,-999.0, +coef_sov_ASC_sr3p_eatout,-999.0, +coef_sov_ASC_sr3p_escort,0.0, +coef_sov_ASC_sr3p_othdiscr,-999.0, +coef_sov_ASC_sr3p_othmaint,-999.0, +coef_sov_ASC_sr3p_school,-999.0, +coef_sov_ASC_sr3p_shopping,-999.0, +coef_sov_ASC_sr3p_social,-999.0, +coef_sov_ASC_sr3p_univ,-999.0, +coef_sov_ASC_sr3p_work,-999.0, +coef_sov_ASC_walk_atwork,-13.03, +coef_sov_ASC_walk_eatout,-11.13, +coef_sov_ASC_walk_escort,-10.41, +coef_sov_ASC_walk_othdiscr,-11.34, +coef_sov_ASC_walk_othmaint,-11.71, +coef_sov_ASC_walk_school,-11.0, +coef_sov_ASC_walk_shopping,-11.88, +coef_sov_ASC_walk_social,-11.59, +coef_sov_ASC_walk_univ,-10.33, +coef_sov_ASC_walk_work,-11.58, +coef_sov_ASC_rh_atwork,-7.0, +coef_sov_ASC_rh_eatout,0.0, +coef_sov_ASC_rh_escort,0.0, +coef_sov_ASC_rh_othdiscr,0.0, +coef_sov_ASC_rh_othmaint,0.0, +coef_sov_ASC_rh_parking,-6.65, +coef_sov_ASC_rh_school,-5.65, +coef_sov_ASC_rh_shopping,0.0, +coef_sov_ASC_rh_social,0.0, +coef_sov_ASC_rh_univ,-6.65, +coef_sov_ASC_rh_work,-7.0, +coef_sr2_ASC_sov_atwork,-0.4988466896476158, +coef_sr2_ASC_sov_eatout,-0.5234703277804155, +coef_sr2_ASC_sov_escort,-0.2175035032905785, +coef_sr2_ASC_sov_othdiscr,-0.5234703277804155, +coef_sr2_ASC_sov_othmaint,-0.2175035032905785, +coef_sr2_ASC_sov_school,0.41591282919463496, +coef_sr2_ASC_sov_shopping,-0.2175035032905785, +coef_sr2_ASC_sov_social,-0.5234703277804155, +coef_sr2_ASC_sov_univ,-0.903569738115396, +coef_sr2_ASC_sov_work,-0.010011487339503113, +coef_sr2_ASC_walk_atwork,-14.4, +coef_sr2_ASC_walk_eatout,-10.74, +coef_sr2_ASC_walk_escort,-13.470000000000002, +coef_sr2_ASC_walk_othdiscr,-10.690000000000001, +coef_sr2_ASC_walk_othmaint,-12.01, +coef_sr2_ASC_walk_school,-10.17, +coef_sr2_ASC_walk_shopping,-11.529999999999998, +coef_sr2_ASC_walk_social,-11.46, +coef_sr2_ASC_walk_univ,-9.83, +coef_sr2_ASC_walk_work,-10.41, +coef_sr2_ASC_rh_atwork,-7.0, +coef_sr2_ASC_rh_eatout,-7.0, +coef_sr2_ASC_rh_escort,-7.0, +coef_sr2_ASC_rh_othdiscr,-7.0, +coef_sr2_ASC_rh_othmaint,-7.0, +coef_sr2_ASC_rh_parking,-6.69, +coef_sr2_ASC_rh_school,-7.0, +coef_sr2_ASC_rh_shopping,-7.0, +coef_sr2_ASC_rh_social,-7.0, +coef_sr2_ASC_rh_univ,-6.69, +coef_sr2_ASC_rh_work,-7.0, +coef_sr3p_ASC_sov_atwork,5.062326073251256, +coef_sr3p_ASC_sov_eatout,-3.523217533958665, +coef_sr3p_ASC_sov_escort,-2.789912846672032, +coef_sr3p_ASC_sov_othdiscr,-3.523217533958665, +coef_sr3p_ASC_sov_othmaint,-2.789912846672032, +coef_sr3p_ASC_sov_school,-5.4040260311378185, +coef_sr3p_ASC_sov_shopping,-2.789912846672032, +coef_sr3p_ASC_sov_social,-3.523217533958665, +coef_sr3p_ASC_sov_univ,-3.0858954190275263, +coef_sr3p_ASC_sov_work,3.5876358231539403, +coef_sr3p_ASC_sr2_atwork,-2.080782638559888, +coef_sr3p_ASC_sr2_eatout,-0.9552465068907723, +coef_sr3p_ASC_sr2_escort,-0.6779703783939575, +coef_sr3p_ASC_sr2_othdiscr,-1.2452465068907723, +coef_sr3p_ASC_sr2_othmaint,-0.6979703783939575, +coef_sr3p_ASC_sr2_school,-0.9203689858027605, +coef_sr3p_ASC_sr2_shopping,-0.48797037839395746, +coef_sr3p_ASC_sr2_social,-0.7952465068907724, +coef_sr3p_ASC_sr2_univ,-0.8035918988403229, +coef_sr3p_ASC_sr2_work,-1.0138507099494185, +coef_sr3p_ASC_walk_atwork,-13.89, +coef_sr3p_ASC_walk_eatout,-10.15, +coef_sr3p_ASC_walk_escort,-12.36, +coef_sr3p_ASC_walk_othdiscr,-10.629999999999999, +coef_sr3p_ASC_walk_othmaint,-11.31, +coef_sr3p_ASC_walk_school,-10.71, +coef_sr3p_ASC_walk_shopping,-11.86, +coef_sr3p_ASC_walk_social,-10.42, +coef_sr3p_ASC_walk_univ,-9.98, +coef_sr3p_ASC_walk_work,-10.73, +coef_sr3p_ASC_rh_atwork,-6.03, +coef_sr3p_ASC_rh_eatout,-7.0, +coef_sr3p_ASC_rh_escort,-7.0, +coef_sr3p_ASC_rh_othdiscr,-7.0, +coef_sr3p_ASC_rh_othmaint,-7.0, +coef_sr3p_ASC_rh_parking,-7.0, +coef_sr3p_ASC_rh_school,-6.67, +coef_sr3p_ASC_rh_shopping,-7.0, +coef_sr3p_ASC_rh_social,-7.0, +coef_sr3p_ASC_rh_univ,-7.0, +coef_sr3p_ASC_rh_work,-7.0, +coef_walk_transit_ASC_sr2_atwork,-8.0, +coef_walk_transit_ASC_sr2_eatout,-4.752656534154784, +coef_walk_transit_ASC_sr2_escort,-3.9281485359445245, +coef_walk_transit_ASC_sr2_othdiscr,-4.752656534154784, +coef_walk_transit_ASC_sr2_othmaint,-3.9281485359445245, +coef_walk_transit_ASC_sr2_school,-4.309709722353679, +coef_walk_transit_ASC_sr2_shopping,-3.9281485359445245, +coef_walk_transit_ASC_sr2_social,-4.752656534154784, +coef_walk_transit_ASC_sr2_univ,-2.8854208118015596, +coef_walk_transit_ASC_sr2_work,-2.8452845589061027, +coef_walk_transit_ASC_sr3p_atwork,-6.0203237313838125, +coef_walk_transit_ASC_sr3p_eatout,-5.245523142380726, +coef_walk_transit_ASC_sr3p_escort,-5.42458388014317, +coef_walk_transit_ASC_sr3p_othdiscr,-5.245523142380726, +coef_walk_transit_ASC_sr3p_othmaint,-5.42458388014317, +coef_walk_transit_ASC_sr3p_school,-4.383484815493833, +coef_walk_transit_ASC_sr3p_shopping,-5.42458388014317, +coef_walk_transit_ASC_sr3p_social,-5.245523142380726, +coef_walk_transit_ASC_sr3p_univ,-3.739727312222718, +coef_walk_transit_ASC_sr3p_work,-3.9742145708402035, +coef_walk_transit_ASC_walk_atwork,-1.9069314763883787, +coef_walk_transit_ASC_walk_eatout,-0.7312960561330122, +coef_walk_transit_ASC_walk_escort,-0.7607352842053103, +coef_walk_transit_ASC_walk_othdiscr,-0.7312960561330122, +coef_walk_transit_ASC_walk_othmaint,-0.7607352842053103, +coef_walk_transit_ASC_walk_school,-1.5841513183326301, +coef_walk_transit_ASC_walk_shopping,-0.7607352842053103, +coef_walk_transit_ASC_walk_social,-0.7312960561330122, +coef_walk_transit_ASC_walk_univ,-1.6281172172805785, +coef_walk_transit_ASC_walk_work,0.45108415805734536, +coef_walk_transit_ASC_rh_atwork,-3.85, +coef_walk_transit_ASC_rh_eatout,-4.75, +coef_walk_transit_ASC_rh_escort,-3.11, +coef_walk_transit_ASC_rh_othdiscr,-4.75, +coef_walk_transit_ASC_rh_othmaint,-3.11, +coef_walk_transit_ASC_rh_parking,-4.27, +coef_walk_transit_ASC_rh_school,-7.0, +coef_walk_transit_ASC_rh_shopping,-3.11, +coef_walk_transit_ASC_rh_social,-4.75, +coef_walk_transit_ASC_rh_univ,-4.27, +coef_walk_transit_ASC_rh_work,-3.74, +coef_drive_transit_ASC_rh_atwork,-6.95, +coef_drive_transit_ASC_rh_eatout,3.57, +coef_drive_transit_ASC_rh_escort,0.69, +coef_drive_transit_ASC_rh_othdiscr,-1.5, +coef_drive_transit_ASC_rh_othmaint,0.69, +coef_drive_transit_ASC_rh_parking,-0.63, +coef_drive_transit_ASC_rh_school,-3.0, +coef_drive_transit_ASC_rh_shopping,0.69, +coef_drive_transit_ASC_rh_social,3.57, +coef_drive_transit_ASC_rh_univ,-0.63, +coef_drive_transit_ASC_rh_work,-2.5, +coef_joint_walk_ASC_rh_atwork,0.0, +coef_joint_walk_ASC_rh_eatout,-3.04, +coef_joint_walk_ASC_rh_escort,0.0, +coef_joint_walk_ASC_rh_othdiscr,-3.04, +coef_joint_walk_ASC_rh_othmaint,-3.04, +coef_joint_walk_ASC_rh_parking,0.0, +coef_joint_walk_ASC_rh_school,0.0, +coef_joint_walk_ASC_rh_shopping,-3.04, +coef_joint_walk_ASC_rh_social,-3.04, +coef_joint_walk_ASC_rh_univ,0.0, +coef_joint_walk_ASC_rh_work,0.0, +coef_walk_ASC_rh_atwork,-7.0, +coef_walk_ASC_rh_eatout,-7.0, +coef_walk_ASC_rh_escort,-7.0, +coef_walk_ASC_rh_othdiscr,-7.0, +coef_walk_ASC_rh_othmaint,-7.0, +coef_walk_ASC_rh_parking,-7.0, +coef_walk_ASC_rh_school,-7.0, +coef_walk_ASC_rh_shopping,-7.0, +coef_walk_ASC_rh_social,-7.0, +coef_walk_ASC_rh_univ,-7.0, +coef_walk_ASC_rh_work,-7.0, +coef_auto_ASC_rh_atwork,0.0, +coef_auto_ASC_rh_eatout,-7.0, +coef_auto_ASC_rh_escort,0.0, +coef_auto_ASC_rh_othdiscr,-7.0, +coef_auto_ASC_rh_othmaint,-7.0, +coef_auto_ASC_rh_parking,0.0, +coef_auto_ASC_rh_school,0.0, +coef_auto_ASC_rh_shopping,-7.0, +coef_auto_ASC_rh_social,-7.0, +coef_auto_ASC_rh_univ,0.0, +coef_auto_ASC_rh_work,0.0, +coef_ride_hail_ASC_sr2_atwork,-12.601900928873786, +coef_ride_hail_ASC_sr2_eatout,-7.803202757204481, +coef_ride_hail_ASC_sr2_escort,-27.83017990291652, +coef_ride_hail_ASC_sr2_othdiscr,-7.803202757204481, +coef_ride_hail_ASC_sr2_othmaint,-27.83017990291652, +coef_ride_hail_ASC_sr2_parking,-2.58, +coef_ride_hail_ASC_sr2_school,-2.243298293783643, +coef_ride_hail_ASC_sr2_shopping,-27.83017990291652, +coef_ride_hail_ASC_sr2_social,-7.803202757204481, +coef_ride_hail_ASC_sr2_univ,-5.853905893273362, +coef_ride_hail_ASC_sr2_work,-8.006853817327343, +coef_ride_hail_ASC_sr3p_atwork,-17.0, +coef_ride_hail_ASC_sr3p_eatout,-15.049601054356177, +coef_ride_hail_ASC_sr3p_escort,-25.255147299828984, +coef_ride_hail_ASC_sr3p_othdiscr,-15.049601054356177, +coef_ride_hail_ASC_sr3p_othmaint,-25.255147299828984, +coef_ride_hail_ASC_sr3p_parking,-3.19, +coef_ride_hail_ASC_sr3p_school,-3.5983406573577765, +coef_ride_hail_ASC_sr3p_shopping,-25.255147299828984, +coef_ride_hail_ASC_sr3p_social,-15.049601054356177, +coef_ride_hail_ASC_sr3p_univ,-16.405932727661213, +coef_ride_hail_ASC_sr3p_work,-15.300582211216001, +coef_ride_hail_ASC_walk_atwork,-2.7032741603658432, +coef_ride_hail_ASC_walk_eatout,1.8707796557281626, +coef_ride_hail_ASC_walk_escort,-5.845814638712761, +coef_ride_hail_ASC_walk_othdiscr,1.8707796557281626, +coef_ride_hail_ASC_walk_othmaint,-5.845814638712761, +coef_ride_hail_ASC_walk_parking,-10.85, +coef_ride_hail_ASC_walk_school,-11.24, +coef_ride_hail_ASC_walk_shopping,-5.845814638712761, +coef_ride_hail_ASC_walk_social,1.8707796557281626, +coef_ride_hail_ASC_walk_univ,-8.315651083482015, +coef_ride_hail_ASC_walk_work,11.274653599340692, +coef_ride_hail_ASC_walk_transit_atwork,-7.0, +coef_ride_hail_ASC_walk_transit_eatout,-7.0, +coef_ride_hail_ASC_walk_transit_escort,-7.0, +coef_ride_hail_ASC_walk_transit_othdiscr,-7.0, +coef_ride_hail_ASC_walk_transit_othmaint,-7.0, +coef_ride_hail_ASC_walk_transit_parking,-7.0, +coef_ride_hail_ASC_walk_transit_school,-7.0, +coef_ride_hail_ASC_walk_transit_shopping,-7.0, +coef_ride_hail_ASC_walk_transit_social,-7.0, +coef_ride_hail_ASC_walk_transit_univ,-7.0, +coef_ride_hail_ASC_walk_transit_work,-10.87, +coef_ride_hail_ASC_taxi_atwork,6.801151893636805, +coef_ride_hail_ASC_taxi_eatout,5.016880709175902, +coef_ride_hail_ASC_taxi_escort,5.749519895198072, +coef_ride_hail_ASC_taxi_othdiscr,5.016880709175902, +coef_ride_hail_ASC_taxi_othmaint,5.749519895198072, +coef_ride_hail_ASC_taxi_parking,-1.6, +coef_ride_hail_ASC_taxi_school,4.537307920198721, +coef_ride_hail_ASC_taxi_shopping,5.749519895198072, +coef_ride_hail_ASC_taxi_social,5.016880709175902, +coef_ride_hail_ASC_taxi_univ,6.276571222444565, +coef_ride_hail_ASC_taxi_work,6.743937159221356, +coef_ride_hail_ASC_tnc_single_atwork,5.437200737804858, +coef_ride_hail_ASC_tnc_single_eatout,6.242409580427641, +coef_ride_hail_ASC_tnc_single_escort,6.411533193972196, +coef_ride_hail_ASC_tnc_single_othdiscr,6.242409580427641, +coef_ride_hail_ASC_tnc_single_othmaint,6.411533193972196, +coef_ride_hail_ASC_tnc_single_parking,0.11, +coef_ride_hail_ASC_tnc_single_school,3.8633980460214343, +coef_ride_hail_ASC_tnc_single_shopping,6.411533193972196, +coef_ride_hail_ASC_tnc_single_social,6.242409580427641, +coef_ride_hail_ASC_tnc_single_univ,5.529890080456208, +coef_ride_hail_ASC_tnc_single_work,8.561417006634297, +coef_ride_hail_ASC_tnc_shared,0.0, +coef_joint_ride_hail_ASC_sr2_atwork,1.3253957469297355, +coef_joint_ride_hail_ASC_sr2_eatout,-3.3, +coef_joint_ride_hail_ASC_sr2_escort,2.245395746929735, +coef_joint_ride_hail_ASC_sr2_othdiscr,2.2853957469297352, +coef_joint_ride_hail_ASC_sr2_othmaint,2.245395746929735, +coef_joint_ride_hail_ASC_sr2_parking,-2.58, +coef_joint_ride_hail_ASC_sr2_school,2.5253957469297355, +coef_joint_ride_hail_ASC_sr2_shopping,2.245395746929735, +coef_joint_ride_hail_ASC_sr2_social,-3.3, +coef_joint_ride_hail_ASC_sr2_univ,3.005395746929736, +coef_joint_ride_hail_ASC_sr2_work,1.6753957469297354, +coef_joint_ride_hail_ASC_sr3p_atwork,-25.65862562346605, +coef_joint_ride_hail_ASC_sr3p_eatout,-4.06, +coef_joint_ride_hail_ASC_sr3p_escort,-25.65862562346605, +coef_joint_ride_hail_ASC_sr3p_othdiscr,-22.71862562346605, +coef_joint_ride_hail_ASC_sr3p_othmaint,-25.65862562346605, +coef_joint_ride_hail_ASC_sr3p_parking,-3.19, +coef_joint_ride_hail_ASC_sr3p_school,-22.748625623466047, +coef_joint_ride_hail_ASC_sr3p_shopping,-25.65862562346605, +coef_joint_ride_hail_ASC_sr3p_social,-4.06, +coef_joint_ride_hail_ASC_sr3p_univ,-21.848625623466056, +coef_joint_ride_hail_ASC_sr3p_work,-29.528625623466056, +coef_joint_ride_hail_ASC_walk_atwork,3.820817277110533, +coef_joint_ride_hail_ASC_walk_eatout,-1.33, +coef_joint_ride_hail_ASC_walk_escort,-1.4991827228894663, +coef_joint_ride_hail_ASC_walk_othdiscr,4.170817277110533, +coef_joint_ride_hail_ASC_walk_othmaint,-1.4991827228894663, +coef_joint_ride_hail_ASC_walk_parking,-10.85, +coef_joint_ride_hail_ASC_walk_school,4.260817277110533, +coef_joint_ride_hail_ASC_walk_shopping,-1.4991827228894663, +coef_joint_ride_hail_ASC_walk_social,-1.33, +coef_joint_ride_hail_ASC_walk_univ,-5.34918272288947, +coef_joint_ride_hail_ASC_walk_work,7.000817277110533, +coef_joint_ride_hail_ASC_walk_transit_atwork,-7.0, +coef_joint_ride_hail_ASC_walk_transit_eatout,-7.0, +coef_joint_ride_hail_ASC_walk_transit_escort,-7.0, +coef_joint_ride_hail_ASC_walk_transit_othdiscr,-7.0, +coef_joint_ride_hail_ASC_walk_transit_othmaint,-7.0, +coef_joint_ride_hail_ASC_walk_transit_parking,-7.0, +coef_joint_ride_hail_ASC_walk_transit_school,-7.0, +coef_joint_ride_hail_ASC_walk_transit_shopping,-7.0, +coef_joint_ride_hail_ASC_walk_transit_social,-7.0, +coef_joint_ride_hail_ASC_walk_transit_univ,-7.0, +coef_joint_ride_hail_ASC_walk_transit_work,-10.87, +coef_joint_ride_hail_ASC_taxi_atwork,8.803997422549498, +coef_joint_ride_hail_ASC_taxi_eatout,-7.0, +coef_joint_ride_hail_ASC_taxi_escort,8.803997422549498, +coef_joint_ride_hail_ASC_taxi_othdiscr,1.8039974225494988, +coef_joint_ride_hail_ASC_taxi_othmaint,1.8039974225494988, +coef_joint_ride_hail_ASC_taxi_parking,0.0, +coef_joint_ride_hail_ASC_taxi_school,8.803997422549498, +coef_joint_ride_hail_ASC_taxi_shopping,1.8039974225494988, +coef_joint_ride_hail_ASC_taxi_social,-7.0, +coef_joint_ride_hail_ASC_taxi_univ,8.803997422549498, +coef_joint_ride_hail_ASC_taxi_work,8.803997422549498, +coef_joint_ride_hail_ASC_tnc_single_atwork,5.793160946034619, +coef_joint_ride_hail_ASC_tnc_single_eatout,-4.73, +coef_joint_ride_hail_ASC_tnc_single_escort,5.793160946034619, +coef_joint_ride_hail_ASC_tnc_single_othdiscr,1.0631609460346199, +coef_joint_ride_hail_ASC_tnc_single_othmaint,1.0631609460346199, +coef_joint_ride_hail_ASC_tnc_single_parking,0.0, +coef_joint_ride_hail_ASC_tnc_single_school,5.793160946034619, +coef_joint_ride_hail_ASC_tnc_single_shopping,1.0631609460346199, +coef_joint_ride_hail_ASC_tnc_single_social,-4.73, +coef_joint_ride_hail_ASC_tnc_single_univ,5.793160946034619, +coef_joint_ride_hail_ASC_tnc_single_work,5.793160946034619, +coef_joint_ride_hail_ASC_tnc_shared,0.0, +walk_express_penalty,10.0,T +adjust_tnc_shared,30.0,T +coef_origin_density_applied_work_univ_school,0.0,T +coef_origin_density_applied_escort_shopping_eatout_othmaint_social_othdiscr_atwork,1.0,T diff --git a/activitysim/examples/prototype_mwcog/configs/trip_mode_choice_coefficients_template.csv b/activitysim/examples/prototype_mwcog/configs/trip_mode_choice_coefficients_template.csv new file mode 100644 index 0000000000..61acc0f61f --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/trip_mode_choice_coefficients_template.csv @@ -0,0 +1,88 @@ +coefficient_name,work,univ,school,escort,shopping,eatout,othmaint,social,othdiscr,atwork +#same for all segments,,,,,,,,,, +coef_unavailable,,,,,,,,,, +coef_one,,,,,,,,,, +coef_nest_root,,,,,,,,,, +coef_nest_AUTO,,,,,,,,,, +coef_nest_NONMOTORIZED,,,,,,,,,, +coef_nest_TRANSIT,,,,,,,,,, +coef_nest_WALKACCESS,,,,,,,,,, +coef_nest_PNRACCESS,,,,,,,,,, +coef_nest_KNRACCESS,,,,,,,,,, +coef_nest_RIDEHAIL,,,,,,,,,, +#,,,,,,,,,, +coef_ivt,coef_ivt_work,coef_ivt_univ_school,coef_ivt_univ_school,coef_ivt_escort_shopping_eatout_othdiscr_atwork,coef_ivt_escort_shopping_eatout_othdiscr_atwork,coef_ivt_escort_shopping_eatout_othdiscr_atwork,coef_ivt_othmaint_social,coef_ivt_othmaint_social,coef_ivt_escort_shopping_eatout_othdiscr_atwork,coef_ivt_escort_shopping_eatout_othdiscr_atwork +coef_age1619_da,,,,,,,,,, +coef_age010_trn,,,,,,,,,, +coef_age16p_sr,,,,,,,,,, +coef_hhsize1_sr,,,,,,,,,, +coef_hhsize2_sr,,,,,,,,,, +#multipliers that differ by purpose and were apparently estimated only for atwork,,,,,,,,,, +coef_ivt_xb_multiplier,coef_ivt_xb_multiplier,coef_ivt_xb_multiplier,coef_ivt_xb_multiplier,coef_ivt_xb_multiplier,coef_ivt_xb_multiplier,coef_ivt_xb_multiplier,coef_ivt_xb_multiplier,coef_ivt_xb_multiplier,coef_ivt_xb_multiplier,coef_ivt_xb_multiplier +coef_ivt_mr_multiplier,coef_ivt_mr_multiplier,coef_ivt_mr_multiplier,coef_ivt_mr_multiplier,coef_ivt_mr_multiplier,coef_ivt_mr_multiplier,coef_ivt_mr_multiplier,coef_ivt_mr_multiplier,coef_ivt_mr_multiplier,coef_ivt_mr_multiplier,coef_ivt_mr_multiplier +coef_ivt_br_multiplier,coef_ivt_br_multiplier,coef_ivt_br_multiplier,coef_ivt_br_multiplier,coef_ivt_br_multiplier,coef_ivt_br_multiplier,coef_ivt_br_multiplier,coef_ivt_br_multiplier,coef_ivt_br_multiplier,coef_ivt_br_multiplier,coef_ivt_br_multiplier +coef_ivt_lr_multiplier,coef_ivt_lr_multiplier,coef_ivt_lr_multiplier,coef_ivt_lr_multiplier,coef_ivt_lr_multiplier,coef_ivt_lr_multiplier,coef_ivt_lr_multiplier,coef_ivt_lr_multiplier,coef_ivt_lr_multiplier,coef_ivt_lr_multiplier,coef_ivt_lr_multiplier +coef_ivt_cr_multiplier,coef_ivt_cr_multiplier,coef_ivt_cr_multiplier,coef_ivt_cr_multiplier,coef_ivt_cr_multiplier,coef_ivt_cr_multiplier,coef_ivt_cr_multiplier,coef_ivt_cr_multiplier,coef_ivt_cr_multiplier,coef_ivt_cr_multiplier,coef_ivt_cr_multiplier +coef_short_iwait_multiplier,coef_short_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_short_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_short_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_short_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_short_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_short_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_short_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_short_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_short_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_short_iwait_atwork +coef_long_iwait_multiplier,coef_long_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_long_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_long_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_long_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_long_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_long_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_long_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_long_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_long_iwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_long_iwait_atwork +coef_wacc_multiplier,coef_wacc_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wacc_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wacc_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wacc_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wacc_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wacc_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wacc_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wacc_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wacc_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wacc_atwork +coef_wegr_multiplier,coef_wegr_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wegr_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wegr_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wegr_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wegr_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wegr_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wegr_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wegr_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wegr_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_wegr_atwork +coef_waux_multiplier,coef_waux_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_waux_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_waux_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_waux_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_waux_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_waux_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_waux_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_waux_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_waux_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_waux_atwork +coef_dtim_multiplier,coef_dtim_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_dtim_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_dtim_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_dtim_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_dtim_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_dtim_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_dtim_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_dtim_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_dtim_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_dtim_atwork +coef_xwait_multiplier,coef_xwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_xwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_xwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_xwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_xwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_xwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_xwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_xwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_xwait_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_xwait_atwork +coef_walktimeshort_multiplier,coef_walktimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_walktimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_walktimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_walktimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_walktimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_walktimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_walktimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_walktimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_walktimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_walktimeshort_atwork +coef_biketimeshort_multiplier,coef_biketimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_biketimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_biketimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_biketimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_biketimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_biketimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_biketimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_biketimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_biketimeshort_work_univ_school_escort_shopping_eatout_othmaint_social_othdiscr,coef_biketimeshort_atwork +#ASCs,,,,,,,,,, +sov_ASC_sr2,coef_sov_ASC_sr2_work,coef_sov_ASC_sr2_univ,coef_sov_ASC_sr2_school,coef_sov_ASC_sr2_escort,coef_sov_ASC_sr2_shopping,coef_sov_ASC_sr2_eatout,coef_sov_ASC_sr2_othmaint,coef_sov_ASC_sr2_social,coef_sov_ASC_sr2_othdiscr,coef_sov_ASC_sr2_atwork +sov_ASC_sr3p,coef_sov_ASC_sr3p_work,coef_sov_ASC_sr3p_univ,coef_sov_ASC_sr3p_school,coef_sov_ASC_sr3p_escort,coef_sov_ASC_sr3p_shopping,coef_sov_ASC_sr3p_eatout,coef_sov_ASC_sr3p_othmaint,coef_sov_ASC_sr3p_social,coef_sov_ASC_sr3p_othdiscr,coef_sov_ASC_sr3p_atwork +sov_ASC_walk,coef_sov_ASC_walk_work,coef_sov_ASC_walk_univ,coef_sov_ASC_walk_school,coef_sov_ASC_walk_escort,coef_sov_ASC_walk_shopping,coef_sov_ASC_walk_eatout,coef_sov_ASC_walk_othmaint,coef_sov_ASC_walk_social,coef_sov_ASC_walk_othdiscr,coef_sov_ASC_walk_atwork +sov_ASC_rh,coef_sov_ASC_rh_work,coef_sov_ASC_rh_univ,coef_sov_ASC_rh_school,coef_sov_ASC_rh_escort,coef_sov_ASC_rh_shopping,coef_sov_ASC_rh_eatout,coef_sov_ASC_rh_othmaint,coef_sov_ASC_rh_social,coef_sov_ASC_rh_othdiscr,coef_sov_ASC_rh_atwork +sr2_ASC_sov,coef_sr2_ASC_sov_work,coef_sr2_ASC_sov_univ,coef_sr2_ASC_sov_school,coef_sr2_ASC_sov_escort,coef_sr2_ASC_sov_shopping,coef_sr2_ASC_sov_eatout,coef_sr2_ASC_sov_othmaint,coef_sr2_ASC_sov_social,coef_sr2_ASC_sov_othdiscr,coef_sr2_ASC_sov_atwork +sr2_ASC_walk,coef_sr2_ASC_walk_work,coef_sr2_ASC_walk_univ,coef_sr2_ASC_walk_school,coef_sr2_ASC_walk_escort,coef_sr2_ASC_walk_shopping,coef_sr2_ASC_walk_eatout,coef_sr2_ASC_walk_othmaint,coef_sr2_ASC_walk_social,coef_sr2_ASC_walk_othdiscr,coef_sr2_ASC_walk_atwork +sr2_ASC_rh,coef_sr2_ASC_rh_work,coef_sr2_ASC_rh_univ,coef_sr2_ASC_rh_school,coef_sr2_ASC_rh_escort,coef_sr2_ASC_rh_shopping,coef_sr2_ASC_rh_eatout,coef_sr2_ASC_rh_othmaint,coef_sr2_ASC_rh_social,coef_sr2_ASC_rh_othdiscr,coef_sr2_ASC_rh_atwork +sr3p_ASC_sov,coef_sr3p_ASC_sov_work,coef_sr3p_ASC_sov_univ,coef_sr3p_ASC_sov_school,coef_sr3p_ASC_sov_escort,coef_sr3p_ASC_sov_shopping,coef_sr3p_ASC_sov_eatout,coef_sr3p_ASC_sov_othmaint,coef_sr3p_ASC_sov_social,coef_sr3p_ASC_sov_othdiscr,coef_sr3p_ASC_sov_atwork +sr3p_ASC_sr2,coef_sr3p_ASC_sr2_work,coef_sr3p_ASC_sr2_univ,coef_sr3p_ASC_sr2_school,coef_sr3p_ASC_sr2_escort,coef_sr3p_ASC_sr2_shopping,coef_sr3p_ASC_sr2_eatout,coef_sr3p_ASC_sr2_othmaint,coef_sr3p_ASC_sr2_social,coef_sr3p_ASC_sr2_othdiscr,coef_sr3p_ASC_sr2_atwork +sr3p_ASC_walk,coef_sr3p_ASC_walk_work,coef_sr3p_ASC_walk_univ,coef_sr3p_ASC_walk_school,coef_sr3p_ASC_walk_escort,coef_sr3p_ASC_walk_shopping,coef_sr3p_ASC_walk_eatout,coef_sr3p_ASC_walk_othmaint,coef_sr3p_ASC_walk_social,coef_sr3p_ASC_walk_othdiscr,coef_sr3p_ASC_walk_atwork +sr3p_ASC_rh,coef_sr3p_ASC_rh_work,coef_sr3p_ASC_rh_univ,coef_sr3p_ASC_rh_school,coef_sr3p_ASC_rh_escort,coef_sr3p_ASC_rh_shopping,coef_sr3p_ASC_rh_eatout,coef_sr3p_ASC_rh_othmaint,coef_sr3p_ASC_rh_social,coef_sr3p_ASC_rh_othdiscr,coef_sr3p_ASC_rh_atwork +walk_ASC_rh,coef_walk_ASC_rh_work,coef_walk_ASC_rh_univ,coef_walk_ASC_rh_school,coef_walk_ASC_rh_escort,coef_walk_ASC_rh_shopping,coef_walk_ASC_rh_eatout,coef_walk_ASC_rh_othmaint,coef_walk_ASC_rh_social,coef_walk_ASC_rh_othdiscr,coef_walk_ASC_rh_atwork +bike_ASC_walk,coef_bike_ASC_walk_work,coef_bike_ASC_walk_univ,coef_bike_ASC_walk_school,coef_bike_ASC_walk_escort,coef_bike_ASC_walk_shopping,coef_bike_ASC_walk_eatout,coef_bike_ASC_walk_othmaint,coef_bike_ASC_walk_social,coef_bike_ASC_walk_othdiscr,coef_bike_ASC_walk_atwork +bike_ASC_rh,coef_bike_ASC_rh_work,coef_bike_ASC_rh_univ,coef_bike_ASC_rh_school,coef_bike_ASC_rh_escort,coef_bike_ASC_rh_shopping,coef_bike_ASC_rh_eatout,coef_bike_ASC_rh_othmaint,coef_bike_ASC_rh_social,coef_bike_ASC_rh_othdiscr,coef_bike_ASC_rh_atwork +walk_transit_ASC_sr2,coef_walk_transit_ASC_sr2_work,coef_walk_transit_ASC_sr2_univ,coef_walk_transit_ASC_sr2_school,coef_walk_transit_ASC_sr2_escort,coef_walk_transit_ASC_sr2_shopping,coef_walk_transit_ASC_sr2_eatout,coef_walk_transit_ASC_sr2_othmaint,coef_walk_transit_ASC_sr2_social,coef_walk_transit_ASC_sr2_othdiscr,coef_walk_transit_ASC_sr2_atwork +walk_transit_ASC_sr3p,coef_walk_transit_ASC_sr3p_work,coef_walk_transit_ASC_sr3p_univ,coef_walk_transit_ASC_sr3p_school,coef_walk_transit_ASC_sr3p_escort,coef_walk_transit_ASC_sr3p_shopping,coef_walk_transit_ASC_sr3p_eatout,coef_walk_transit_ASC_sr3p_othmaint,coef_walk_transit_ASC_sr3p_social,coef_walk_transit_ASC_sr3p_othdiscr,coef_walk_transit_ASC_sr3p_atwork +walk_transit_ASC_walk,coef_walk_transit_ASC_walk_work,coef_walk_transit_ASC_walk_univ,coef_walk_transit_ASC_walk_school,coef_walk_transit_ASC_walk_escort,coef_walk_transit_ASC_walk_shopping,coef_walk_transit_ASC_walk_eatout,coef_walk_transit_ASC_walk_othmaint,coef_walk_transit_ASC_walk_social,coef_walk_transit_ASC_walk_othdiscr,coef_walk_transit_ASC_walk_atwork +walk_transit_ASC_rh,coef_walk_transit_ASC_rh_work,coef_walk_transit_ASC_rh_univ,coef_walk_transit_ASC_rh_school,coef_walk_transit_ASC_rh_escort,coef_walk_transit_ASC_rh_shopping,coef_walk_transit_ASC_rh_eatout,coef_walk_transit_ASC_rh_othmaint,coef_walk_transit_ASC_rh_social,coef_walk_transit_ASC_rh_othdiscr,coef_walk_transit_ASC_rh_atwork +schoolbus_ASC_sr2,coef_schoolbus_ASC_sr2_work,coef_schoolbus_ASC_sr2_univ,coef_schoolbus_ASC_sr2_school,coef_schoolbus_ASC_sr2_escort,coef_schoolbus_ASC_sr2_shopping,coef_schoolbus_ASC_sr2_eatout,coef_schoolbus_ASC_sr2_othmaint,coef_schoolbus_ASC_sr2_social,coef_schoolbus_ASC_sr2_othdiscr,coef_schoolbus_ASC_sr2_atwork +schoolbus_ASC_sr3p,coef_schoolbus_ASC_sr3p_work,coef_schoolbus_ASC_sr3p_univ,coef_schoolbus_ASC_sr3p_school,coef_schoolbus_ASC_sr3p_escort,coef_schoolbus_ASC_sr3p_shopping,coef_schoolbus_ASC_sr3p_eatout,coef_schoolbus_ASC_sr3p_othmaint,coef_schoolbus_ASC_sr3p_social,coef_schoolbus_ASC_sr3p_othdiscr,coef_schoolbus_ASC_sr3p_atwork +schoolbus_ASC_walk,coef_schoolbus_ASC_walk_work,coef_schoolbus_ASC_walk_univ,coef_schoolbus_ASC_walk_school,coef_schoolbus_ASC_walk_escort,coef_schoolbus_ASC_walk_shopping,coef_schoolbus_ASC_walk_eatout,coef_schoolbus_ASC_walk_othmaint,coef_schoolbus_ASC_walk_social,coef_schoolbus_ASC_walk_othdiscr,coef_schoolbus_ASC_walk_atwork +schoolbus_ASC_rh,coef_schoolbus_ASC_rh_work,coef_schoolbus_ASC_rh_univ,coef_schoolbus_ASC_rh_school,coef_schoolbus_ASC_rh_escort,coef_schoolbus_ASC_rh_shopping,coef_schoolbus_ASC_rh_eatout,coef_schoolbus_ASC_rh_othmaint,coef_schoolbus_ASC_rh_social,coef_schoolbus_ASC_rh_othdisc,coef_schoolbus_ASC_rh_atwork +#,,,,,,,,,, +drive_transit_ASC_rh,coef_drive_transit_ASC_rh_work,coef_drive_transit_ASC_rh_univ,coef_drive_transit_ASC_rh_school,coef_drive_transit_ASC_rh_escort,coef_drive_transit_ASC_rh_shopping,coef_drive_transit_ASC_rh_eatout,coef_drive_transit_ASC_rh_othmaint,coef_drive_transit_ASC_rh_social,coef_drive_transit_ASC_rh_othdiscr,coef_drive_transit_ASC_rh_atwork +ride_hail_ASC_sr2,coef_ride_hail_ASC_sr2_work,coef_ride_hail_ASC_sr2_univ,coef_ride_hail_ASC_sr2_school,coef_ride_hail_ASC_sr2_escort,coef_ride_hail_ASC_sr2_shopping,coef_ride_hail_ASC_sr2_eatout,coef_ride_hail_ASC_sr2_othmaint,coef_ride_hail_ASC_sr2_social,coef_ride_hail_ASC_sr2_othdiscr,coef_ride_hail_ASC_sr2_atwork +ride_hail_ASC_sr3p,coef_ride_hail_ASC_sr3p_work,coef_ride_hail_ASC_sr3p_univ,coef_ride_hail_ASC_sr3p_school,coef_ride_hail_ASC_sr3p_escort,coef_ride_hail_ASC_sr3p_shopping,coef_ride_hail_ASC_sr3p_eatout,coef_ride_hail_ASC_sr3p_othmaint,coef_ride_hail_ASC_sr3p_social,coef_ride_hail_ASC_sr3p_othdiscr,coef_ride_hail_ASC_sr3p_atwork +ride_hail_ASC_walk,coef_ride_hail_ASC_walk_work,coef_ride_hail_ASC_walk_univ,coef_ride_hail_ASC_walk_school,coef_ride_hail_ASC_walk_escort,coef_ride_hail_ASC_walk_shopping,coef_ride_hail_ASC_walk_eatout,coef_ride_hail_ASC_walk_othmaint,coef_ride_hail_ASC_walk_social,coef_ride_hail_ASC_walk_othdiscr,coef_ride_hail_ASC_walk_atwork +ride_hail_ASC_walk_transit,coef_ride_hail_ASC_walk_transit_work,coef_ride_hail_ASC_walk_transit_univ,coef_ride_hail_ASC_walk_transit_school,coef_ride_hail_ASC_walk_transit_escort,coef_ride_hail_ASC_walk_transit_shopping,coef_ride_hail_ASC_walk_transit_eatout,coef_ride_hail_ASC_walk_transit_othmaint,coef_ride_hail_ASC_walk_transit_social,coef_ride_hail_ASC_walk_transit_othdiscr,coef_ride_hail_ASC_walk_transit_atwork +ride_hail_ASC_taxi,coef_ride_hail_ASC_taxi_work,coef_ride_hail_ASC_taxi_univ,coef_ride_hail_ASC_taxi_school,coef_ride_hail_ASC_taxi_escort,coef_ride_hail_ASC_taxi_shopping,coef_ride_hail_ASC_taxi_eatout,coef_ride_hail_ASC_taxi_othmaint,coef_ride_hail_ASC_taxi_social,coef_ride_hail_ASC_taxi_othdiscr,coef_ride_hail_ASC_taxi_atwork +ride_hail_ASC_tnc_single,coef_ride_hail_ASC_tnc_single_work,coef_ride_hail_ASC_tnc_single_univ,coef_ride_hail_ASC_tnc_single_school,coef_ride_hail_ASC_tnc_single_escort,coef_ride_hail_ASC_tnc_single_shopping,coef_ride_hail_ASC_tnc_single_eatout,coef_ride_hail_ASC_tnc_single_othmaint,coef_ride_hail_ASC_tnc_single_social,coef_ride_hail_ASC_tnc_single_othdiscr,coef_ride_hail_ASC_tnc_single_atwork +ride_hail_ASC_tnc_shared,coef_ride_hail_ASC_tnc_shared,coef_ride_hail_ASC_tnc_shared,coef_ride_hail_ASC_tnc_shared,coef_ride_hail_ASC_tnc_shared,coef_ride_hail_ASC_tnc_shared,coef_ride_hail_ASC_tnc_shared,coef_ride_hail_ASC_tnc_shared,coef_ride_hail_ASC_tnc_shared,coef_ride_hail_ASC_tnc_shared,coef_ride_hail_ASC_tnc_shared +joint_auto_ASC_sr2,coef_joint_auto_ASC_sr2_work,coef_joint_auto_ASC_sr2_univ,coef_joint_auto_ASC_sr2_school,coef_joint_auto_ASC_sr2_escort,coef_joint_auto_ASC_sr2_shopping,coef_joint_auto_ASC_sr2_eatout,coef_joint_auto_ASC_sr2_othmaint,coef_joint_auto_ASC_sr2_social,coef_joint_auto_ASC_sr2_othdiscr,coef_joint_auto_ASC_sr2_atwork +joint_auto_ASC_sr3p,coef_joint_auto_ASC_sr3p_work,coef_joint_auto_ASC_sr3p_univ,coef_joint_auto_ASC_sr3p_school,coef_joint_auto_ASC_sr3p_escort,coef_joint_auto_ASC_sr3p_shopping,coef_joint_auto_ASC_sr3p_eatout,coef_joint_auto_ASC_sr3p_othmaint,coef_joint_auto_ASC_sr3p_social,coef_joint_auto_ASC_sr3p_othdiscr,coef_joint_auto_ASC_sr3p_atwork +joint_auto_ASC_walk,coef_joint_auto_ASC_walk_work,coef_joint_auto_ASC_walk_univ,coef_joint_auto_ASC_walk_school,coef_joint_auto_ASC_walk_escort,coef_joint_auto_ASC_walk_shopping,coef_joint_auto_ASC_walk_eatout,coef_joint_auto_ASC_walk_othmaint,coef_joint_auto_ASC_walk_social,coef_joint_auto_ASC_walk_othdiscr,coef_joint_auto_ASC_walk_atwork +joint_auto_ASC_rh,coef_joint_auto_ASC_rh_work,coef_joint_auto_ASC_rh_univ,coef_joint_auto_ASC_rh_school,coef_joint_auto_ASC_rh_escort,coef_joint_auto_ASC_rh_shopping,coef_joint_auto_ASC_rh_eatout,coef_joint_auto_ASC_rh_othmaint,coef_joint_auto_ASC_rh_social,coef_joint_auto_ASC_rh_othdiscr,coef_joint_auto_ASC_rh_atwork +joint_walk_ASC_rh,coef_joint_walk_ASC_rh_work,coef_joint_walk_ASC_rh_univ,coef_joint_walk_ASC_rh_school,coef_joint_walk_ASC_rh_escort,coef_joint_walk_ASC_rh_shopping,coef_joint_walk_ASC_rh_eatout,coef_joint_walk_ASC_rh_othmaint,coef_joint_walk_ASC_rh_social,coef_joint_walk_ASC_rh_othdiscr,coef_joint_walk_ASC_rh_atwork +joint_bike_ASC_walk,coef_joint_bike_ASC_walk_work,coef_joint_bike_ASC_walk_univ,coef_joint_bike_ASC_walk_school,coef_joint_bike_ASC_walk_escort,coef_joint_bike_ASC_walk_shopping,coef_joint_bike_ASC_walk_eatout,coef_joint_bike_ASC_walk_othmaint,coef_joint_bike_ASC_walk_social,coef_joint_bike_ASC_walk_othdiscr,coef_joint_bike_ASC_walk_atwork +joint_bike_ASC_rh,coef_joint_bike_ASC_rh_work,coef_joint_bike_ASC_rh_univ,coef_joint_bike_ASC_rh_school,coef_joint_bike_ASC_rh_escort,coef_joint_bike_ASC_rh_shopping,coef_joint_bike_ASC_rh_eatout,coef_joint_bike_ASC_rh_othmaint,coef_joint_bike_ASC_rh_social,coef_joint_bike_ASC_rh_othdiscr,coef_joint_bike_ASC_rh_atwork +joint_walk_transit_ASC_sr2,coef_joint_walk_transit_ASC_sr2_work,coef_joint_walk_transit_ASC_sr2_univ,coef_joint_walk_transit_ASC_sr2_school,coef_joint_walk_transit_ASC_sr2_escort,coef_joint_walk_transit_ASC_sr2_shopping,coef_joint_walk_transit_ASC_sr2_eatout,coef_joint_walk_transit_ASC_sr2_othmaint,coef_joint_walk_transit_ASC_sr2_social,coef_joint_walk_transit_ASC_sr2_othdiscr,coef_joint_walk_transit_ASC_sr2_atwork +joint_walk_transit_ASC_sr3p,coef_joint_walk_transit_ASC_sr3p_work,coef_joint_walk_transit_ASC_sr3p_univ,coef_joint_walk_transit_ASC_sr3p_school,coef_joint_walk_transit_ASC_sr3p_escort,coef_joint_walk_transit_ASC_sr3p_shopping,coef_joint_walk_transit_ASC_sr3p_eatout,coef_joint_walk_transit_ASC_sr3p_othmaint,coef_joint_walk_transit_ASC_sr3p_social,coef_joint_walk_transit_ASC_sr3p_othdiscr,coef_joint_walk_transit_ASC_sr3p_atwork +joint_walk_transit_ASC_walk,coef_joint_walk_transit_ASC_walk_work,coef_joint_walk_transit_ASC_walk_univ,coef_joint_walk_transit_ASC_walk_school,coef_joint_walk_transit_ASC_walk_escort,coef_joint_walk_transit_ASC_walk_shopping,coef_joint_walk_transit_ASC_walk_eatout,coef_joint_walk_transit_ASC_walk_othmaint,coef_joint_walk_transit_ASC_walk_social,coef_joint_walk_transit_ASC_walk_othdiscr,coef_joint_walk_transit_ASC_walk_atwork +joint_walk_transit_ASC_rh,coef_joint_walk_transit_ASC_rh_work,coef_joint_walk_transit_ASC_rh_univ,coef_joint_walk_transit_ASC_rh_school,coef_joint_walk_transit_ASC_rh_escort,coef_joint_walk_transit_ASC_rh_shopping,coef_joint_walk_transit_ASC_rh_eatout,coef_joint_walk_transit_ASC_rh_othmaint,coef_joint_walk_transit_ASC_rh_social,coef_joint_walk_transit_ASC_rh_othdiscr,coef_joint_walk_transit_ASC_rh_atwork +joint_drive_transit_ASC_rh,coef_joint_drive_transit_ASC_rh_work,coef_joint_drive_transit_ASC_rh_univ,coef_joint_drive_transit_ASC_rh_school,coef_joint_drive_transit_ASC_rh_escort,coef_joint_drive_transit_ASC_rh_shopping,coef_joint_drive_transit_ASC_rh_eatout,coef_joint_drive_transit_ASC_rh_othmaint,coef_joint_drive_transit_ASC_rh_social,coef_joint_drive_transit_ASC_rh_othdiscr,coef_joint_drive_transit_ASC_rh_atwork +joint_ride_hail_ASC_sr2,coef_joint_ride_hail_ASC_sr2_work,coef_joint_ride_hail_ASC_sr2_univ,coef_joint_ride_hail_ASC_sr2_school,coef_joint_ride_hail_ASC_sr2_escort,coef_joint_ride_hail_ASC_sr2_shopping,coef_joint_ride_hail_ASC_sr2_eatout,coef_joint_ride_hail_ASC_sr2_othmaint,coef_joint_ride_hail_ASC_sr2_social,coef_joint_ride_hail_ASC_sr2_othdiscr,coef_joint_ride_hail_ASC_sr2_atwork +joint_ride_hail_ASC_sr3p,coef_joint_ride_hail_ASC_sr3p_work,coef_joint_ride_hail_ASC_sr3p_univ,coef_joint_ride_hail_ASC_sr3p_school,coef_joint_ride_hail_ASC_sr3p_escort,coef_joint_ride_hail_ASC_sr3p_shopping,coef_joint_ride_hail_ASC_sr3p_eatout,coef_joint_ride_hail_ASC_sr3p_othmaint,coef_joint_ride_hail_ASC_sr3p_social,coef_joint_ride_hail_ASC_sr3p_othdiscr,coef_joint_ride_hail_ASC_sr3p_atwork +joint_ride_hail_ASC_walk,coef_joint_ride_hail_ASC_walk_work,coef_joint_ride_hail_ASC_walk_univ,coef_joint_ride_hail_ASC_walk_school,coef_joint_ride_hail_ASC_walk_escort,coef_joint_ride_hail_ASC_walk_shopping,coef_joint_ride_hail_ASC_walk_eatout,coef_joint_ride_hail_ASC_walk_othmaint,coef_joint_ride_hail_ASC_walk_social,coef_joint_ride_hail_ASC_walk_othdiscr,coef_joint_ride_hail_ASC_walk_atwork +joint_ride_hail_ASC_walk_transit,coef_joint_ride_hail_ASC_walk_transit_work,coef_joint_ride_hail_ASC_walk_transit_univ,coef_joint_ride_hail_ASC_walk_transit_school,coef_joint_ride_hail_ASC_walk_transit_escort,coef_joint_ride_hail_ASC_walk_transit_shopping,coef_joint_ride_hail_ASC_walk_transit_eatout,coef_joint_ride_hail_ASC_walk_transit_othmaint,coef_joint_ride_hail_ASC_walk_transit_social,coef_joint_ride_hail_ASC_walk_transit_othdiscr,coef_joint_ride_hail_ASC_walk_transit_atwork +joint_ride_hail_ASC_taxi,coef_joint_ride_hail_ASC_taxi_work,coef_joint_ride_hail_ASC_taxi_univ,coef_joint_ride_hail_ASC_taxi_school,coef_joint_ride_hail_ASC_taxi_escort,coef_joint_ride_hail_ASC_taxi_shopping,coef_joint_ride_hail_ASC_taxi_eatout,coef_joint_ride_hail_ASC_taxi_othmaint,coef_joint_ride_hail_ASC_taxi_social,coef_joint_ride_hail_ASC_taxi_othdiscr,coef_joint_ride_hail_ASC_taxi_atwork +joint_ride_hail_ASC_tnc_single,coef_joint_ride_hail_ASC_tnc_single_work,coef_joint_ride_hail_ASC_tnc_single_univ,coef_joint_ride_hail_ASC_tnc_single_school,coef_joint_ride_hail_ASC_tnc_single_escort,coef_joint_ride_hail_ASC_tnc_single_shopping,coef_joint_ride_hail_ASC_tnc_single_eatout,coef_joint_ride_hail_ASC_tnc_single_othmaint,coef_joint_ride_hail_ASC_tnc_single_social,coef_joint_ride_hail_ASC_tnc_single_othdiscr,coef_joint_ride_hail_ASC_tnc_single_atwork +joint_ride_hail_ASC_tnc_shared,coef_joint_ride_hail_ASC_tnc_shared,coef_joint_ride_hail_ASC_tnc_shared,coef_joint_ride_hail_ASC_tnc_shared,coef_joint_ride_hail_ASC_tnc_shared,coef_joint_ride_hail_ASC_tnc_shared,coef_joint_ride_hail_ASC_tnc_shared,coef_joint_ride_hail_ASC_tnc_shared,coef_joint_ride_hail_ASC_tnc_shared,coef_joint_ride_hail_ASC_tnc_shared,coef_joint_ride_hail_ASC_tnc_shared +walk_express_penalty,walk_express_penalty,walk_express_penalty,walk_express_penalty,walk_express_penalty,walk_express_penalty,walk_express_penalty,walk_express_penalty,walk_express_penalty,walk_express_penalty,walk_express_penalty +adjust_tnc_shared,adjust_tnc_shared,adjust_tnc_shared,adjust_tnc_shared,adjust_tnc_shared,adjust_tnc_shared,adjust_tnc_shared,adjust_tnc_shared,adjust_tnc_shared,adjust_tnc_shared,adjust_tnc_shared +origin_density_applied,coef_origin_density_applied_work_univ_school,coef_origin_density_applied_work_univ_school,coef_origin_density_applied_work_univ_school,coef_origin_density_applied_escort_shopping_eatout_othmaint_social_othdiscr_atwork,coef_origin_density_applied_escort_shopping_eatout_othmaint_social_othdiscr_atwork,coef_origin_density_applied_escort_shopping_eatout_othmaint_social_othdiscr_atwork,coef_origin_density_applied_escort_shopping_eatout_othmaint_social_othdiscr_atwork,coef_origin_density_applied_escort_shopping_eatout_othmaint_social_othdiscr_atwork,coef_origin_density_applied_escort_shopping_eatout_othmaint_social_othdiscr_atwork,coef_origin_density_applied_escort_shopping_eatout_othmaint_social_othdiscr_atwork diff --git a/activitysim/examples/example_semcog/configs/trip_purpose.yaml b/activitysim/examples/prototype_mwcog/configs/trip_purpose.yaml old mode 100755 new mode 100644 similarity index 94% rename from activitysim/examples/example_semcog/configs/trip_purpose.yaml rename to activitysim/examples/prototype_mwcog/configs/trip_purpose.yaml index 8f9306ae4c..10668a6180 --- a/activitysim/examples/example_semcog/configs/trip_purpose.yaml +++ b/activitysim/examples/prototype_mwcog/configs/trip_purpose.yaml @@ -1,7 +1,7 @@ - -preprocessor: - SPEC: trip_purpose_annotate_trips_preprocessor - DF: trips - TABLES: - - persons - - tours + +preprocessor: + SPEC: trip_purpose_annotate_trips_preprocessor + DF: trips + TABLES: + - persons + - tours diff --git a/activitysim/examples/example_semcog/configs/trip_purpose_and_destination.yaml b/activitysim/examples/prototype_mwcog/configs/trip_purpose_and_destination.yaml old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_semcog/configs/trip_purpose_and_destination.yaml rename to activitysim/examples/prototype_mwcog/configs/trip_purpose_and_destination.yaml index 4895aa5268..76f5923489 --- a/activitysim/examples/example_semcog/configs/trip_purpose_and_destination.yaml +++ b/activitysim/examples/prototype_mwcog/configs/trip_purpose_and_destination.yaml @@ -1,6 +1,6 @@ - -MAX_ITERATIONS: 5 - -# drop failed trips and cleanup failed trip leg_mates for consistency -# (i.e. adjust trip_count, trip_num, first for missing failed trips) -CLEANUP: True + +MAX_ITERATIONS: 5 + +# drop failed trips and cleanup failed trip leg_mates for consistency +# (i.e. adjust trip_count, trip_num, first for missing failed trips) +CLEANUP: True diff --git a/activitysim/examples/example_psrc/configs/trip_purpose_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/trip_purpose_annotate_trips_preprocessor.csv old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_psrc/configs/trip_purpose_annotate_trips_preprocessor.csv rename to activitysim/examples/prototype_mwcog/configs/trip_purpose_annotate_trips_preprocessor.csv index 0e20453303..782116aa99 --- a/activitysim/examples/example_psrc/configs/trip_purpose_annotate_trips_preprocessor.csv +++ b/activitysim/examples/prototype_mwcog/configs/trip_purpose_annotate_trips_preprocessor.csv @@ -1,5 +1,5 @@ -Description,Target,Expression -#,, -,ptype,"reindex(persons.ptype, df.person_id)" -,person_type,ptype.map(PTYPE_NAME) -,start,"reindex_i(tours.start, df.tour_id)" +Description,Target,Expression +#,, +,ptype,"reindex(persons.ptype, df.person_id)" +,person_type,ptype.map(PTYPE_NAME) +,start,"reindex_i(tours.start, df.tour_id)" diff --git a/activitysim/examples/example_semcog/configs/trip_purpose_probs.csv b/activitysim/examples/prototype_mwcog/configs/trip_purpose_probs.csv old mode 100755 new mode 100644 similarity index 98% rename from activitysim/examples/example_semcog/configs/trip_purpose_probs.csv rename to activitysim/examples/prototype_mwcog/configs/trip_purpose_probs.csv index 737f4fd507..3cd1aaa27f --- a/activitysim/examples/example_semcog/configs/trip_purpose_probs.csv +++ b/activitysim/examples/prototype_mwcog/configs/trip_purpose_probs.csv @@ -1,132 +1,132 @@ -primary_purpose,outbound,depart_range_start,depart_range_end,person_type,work,univ,school,escort,shopping,othmaint,eatout,social,othdiscr -work,TRUE,1,18,PTYPE_FULL,0.198,0.004,0,0.466,0.083,0.086,0.093,0.004,0.066 -work,TRUE,1,18,PTYPE_PART,0.094,0,0,0.657,0.076,0.07,0.067,0.009,0.027 -work,TRUE,1,18,PTYPE_UNIVERSITY,0.067,0.081,0,0.433,0.005,0.038,0.153,0.108,0.115 -work,TRUE,19,48,PTYPE_FULL,0.278,0.008,0,0.172,0.18,0.193,0.107,0.016,0.046 -work,TRUE,19,48,PTYPE_PART,0.442,0,0,0.089,0.105,0.175,0.102,0.03,0.057 -work,TRUE,19,48,PTYPE_UNIVERSITY,0.049,0.086,0,0.392,0.159,0.157,0.069,0.073,0.015 -work,TRUE,1,48,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 -univ,TRUE,1,48,PTYPE_FULL,0.526,0.178,0,0.016,0.16,0.035,0.028,0.057,0 -univ,TRUE,1,48,PTYPE_PART,0.059,0.941,0,0,0,0,0,0,0 -univ,TRUE,1,48,PTYPE_UNIVERSITY,0.109,0.034,0,0.382,0.136,0.147,0.094,0.048,0.05 -school,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.548,0.015,0.1,0.206,0.073,0.058 -school,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.53,0.025,0.084,0.112,0.048,0.201 -school,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.772,0.007,0.086,0.023,0.071,0.041 -escort,TRUE,1,48,PTYPE_FULL,0,0,0,0.55,0.153,0.084,0.104,0.049,0.06 -escort,TRUE,1,48,PTYPE_PART,0,0,0,0.449,0.194,0.07,0.167,0.059,0.061 -escort,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.509,0.193,0.158,0.048,0.058,0.034 -escort,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.444,0.216,0.084,0.108,0.118,0.03 -escort,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.37,0.204,0.192,0.03,0.068,0.136 -escort,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.586,0.227,0,0.072,0.115,0 -escort,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.37,0.183,0.29,0.064,0.013,0.08 -escort,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.531,0.064,0,0.131,0.196,0.078 -shopping,TRUE,1,48,PTYPE_FULL,0,0,0,0.102,0.456,0.226,0.11,0.06,0.046 -shopping,TRUE,1,48,PTYPE_PART,0,0,0,0.182,0.291,0.311,0.108,0.031,0.077 -shopping,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.13,0.262,0.36,0.124,0.06,0.064 -shopping,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.144,0.336,0.274,0.122,0.068,0.056 -shopping,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.058,0.357,0.418,0.05,0.047,0.07 -shopping,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.076,0.193,0.298,0.047,0.13,0.256 -shopping,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.121,0.142,0.232,0.291,0.03,0.184 -shopping,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.138,0.292,0.301,0.187,0.064,0.018 -othmaint,TRUE,1,48,PTYPE_FULL,0,0,0,0.201,0.252,0.366,0.117,0.032,0.032 -othmaint,TRUE,1,48,PTYPE_PART,0,0,0,0.27,0.259,0.325,0.109,0,0.037 -othmaint,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.489,0.13,0.167,0.025,0.15,0.039 -othmaint,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.279,0.229,0.344,0.078,0.039,0.031 -othmaint,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.224,0.139,0.321,0.098,0.064,0.154 -othmaint,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.135,0,0.259,0.083,0.523,0 -othmaint,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.191,0.408,0.344,0.041,0.008,0.008 -othmaint,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.143,0.301,0.464,0.017,0.029,0.046 -eatout,TRUE,1,48,PTYPE_FULL,0,0,0,0.144,0.283,0.202,0.036,0.129,0.206 -eatout,TRUE,1,48,PTYPE_PART,0,0,0,0.169,0.374,0.179,0.013,0.135,0.13 -eatout,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.32,0.085,0.111,0,0.153,0.331 -eatout,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.201,0.224,0.269,0.063,0.082,0.161 -eatout,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.142,0.237,0.237,0.034,0.123,0.227 -eatout,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.175,0.289,0.346,0,0.105,0.085 -eatout,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.124,0.135,0.135,0.04,0.048,0.518 -eatout,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.055,0.329,0.165,0.061,0,0.39 -social,TRUE,1,48,PTYPE_FULL,0,0,0,0.186,0.382,0.144,0.122,0.126,0.04 -social,TRUE,1,48,PTYPE_PART,0,0,0,0.175,0.153,0.167,0.147,0.183,0.175 -social,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0,0.212,0.091,0.432,0.234,0.031 -social,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.311,0.392,0.149,0.071,0.058,0.019 -social,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.12,0.407,0.203,0.151,0.102,0.017 -social,TRUE,1,48,PTYPE_DRIVING,0,0,0,0,0,0,0,0.415,0.585 -social,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.322,0.11,0.05,0,0.378,0.14 -social,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.294,0,0.159,0,0.547,0 -othdiscr,TRUE,1,48,PTYPE_FULL,0,0,0,0.236,0.169,0.143,0.19,0.093,0.169 -othdiscr,TRUE,1,48,PTYPE_PART,0,0,0,0.223,0.208,0.181,0.193,0.129,0.066 -othdiscr,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.135,0.123,0.061,0.342,0.123,0.216 -othdiscr,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.263,0.295,0.148,0.088,0.082,0.124 -othdiscr,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.225,0.056,0.389,0.16,0.091,0.079 -othdiscr,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.311,0.126,0.051,0.018,0.142,0.352 -othdiscr,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.222,0.112,0.172,0.173,0.141,0.18 -othdiscr,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.271,0.108,0.393,0.146,0.043,0.039 -atwork,TRUE,1,48,PTYPE_FULL,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,TRUE,1,48,PTYPE_PART,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,TRUE,1,48,PTYPE_UNIVERSITY,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -atwork,TRUE,1,48,PTYPE_DRIVING,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 -#,,,,,,,,,,,,, -work,FALSE,1,30,PTYPE_FULL,0.175,0,0,0.14,0.27,0.162,0.134,0.05,0.069 -work,FALSE,1,30,PTYPE_PART,0.097,0,0,0.252,0.211,0.192,0.159,0.089,0 -work,FALSE,1,30,PTYPE_UNIVERSITY,0.134,0,0,0.329,0.114,0.212,0.169,0.042,0 -work,FALSE,31,48,PTYPE_FULL,0.151,0.011,0,0.201,0.28,0.127,0.103,0.035,0.092 -work,FALSE,31,48,PTYPE_PART,0.11,0,0,0.243,0.281,0.13,0.119,0.036,0.081 -work,FALSE,31,48,PTYPE_UNIVERSITY,0.058,0.127,0,0.224,0.269,0.079,0.072,0.108,0.063 -work,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 -univ,FALSE,1,48,PTYPE_FULL,0.352,0.032,0,0.032,0.146,0.114,0.177,0.028,0.119 -univ,FALSE,1,48,PTYPE_PART,0,0,0,0.822,0.178,0,0,0,0 -univ,FALSE,1,48,PTYPE_UNIVERSITY,0.054,0.025,0,0.194,0.209,0.179,0.159,0.067,0.113 -school,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.301,0.117,0.098,0.169,0.186,0.129 -school,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.166,0.158,0.147,0.122,0.133,0.274 -school,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.38,0.148,0.089,0.146,0.102,0.135 -escort,FALSE,1,48,PTYPE_FULL,0,0,0,0.343,0.235,0.114,0.222,0.039,0.047 -escort,FALSE,1,48,PTYPE_PART,0,0,0,0.24,0.298,0.128,0.157,0.045,0.132 -escort,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.195,0.319,0.287,0.02,0.027,0.152 -escort,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.28,0.325,0.169,0.103,0.05,0.073 -escort,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.31,0.317,0.073,0.111,0.112,0.077 -escort,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0.489,0,0.148,0.363,0 -escort,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.188,0.259,0.129,0.202,0.06,0.162 -escort,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.413,0.215,0.118,0.211,0.019,0.024 -shopping,FALSE,1,48,PTYPE_FULL,0,0,0,0.091,0.526,0.159,0.152,0.047,0.025 -shopping,FALSE,1,48,PTYPE_PART,0,0,0,0.104,0.553,0.156,0.105,0.037,0.045 -shopping,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.1,0.43,0.064,0.344,0.003,0.059 -shopping,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.11,0.528,0.158,0.122,0.059,0.023 -shopping,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.052,0.549,0.159,0.123,0.06,0.057 -shopping,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.118,0.707,0,0.041,0.134,0 -shopping,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.015,0.19,0.256,0.157,0.179,0.203 -shopping,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.206,0.172,0.22,0.202,0.158,0.042 -othmaint,FALSE,1,48,PTYPE_FULL,0,0,0,0.171,0.364,0.215,0.159,0.029,0.062 -othmaint,FALSE,1,48,PTYPE_PART,0,0,0,0.228,0.365,0.17,0.13,0.041,0.066 -othmaint,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.046,0.345,0.192,0.298,0.06,0.059 -othmaint,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.17,0.423,0.158,0.171,0.064,0.014 -othmaint,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.099,0.391,0.213,0.241,0.036,0.02 -othmaint,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.031,0.356,0.075,0.458,0.031,0.049 -othmaint,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.181,0.255,0.142,0.313,0,0.109 -othmaint,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.164,0.249,0.338,0.053,0.006,0.19 -eatout,FALSE,1,48,PTYPE_FULL,0,0,0,0.106,0.44,0.112,0.041,0.128,0.173 -eatout,FALSE,1,48,PTYPE_PART,0,0,0,0.168,0.331,0.225,0.023,0.063,0.19 -eatout,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.165,0.334,0.104,0.088,0.135,0.174 -eatout,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.148,0.547,0.092,0.056,0.055,0.102 -eatout,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.166,0.414,0.169,0.02,0.166,0.065 -eatout,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.195,0.332,0.114,0.114,0,0.245 -eatout,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.072,0.356,0.053,0.019,0.169,0.331 -eatout,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.01,0.286,0.045,0.117,0.064,0.478 -social,FALSE,1,48,PTYPE_FULL,0,0,0,0.12,0.286,0.123,0.19,0.255,0.026 -social,FALSE,1,48,PTYPE_PART,0,0,0,0.106,0.122,0.039,0.553,0.047,0.133 -social,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.105,0.274,0.176,0,0.206,0.239 -social,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.313,0.326,0.13,0.062,0.075,0.094 -social,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.097,0.338,0.067,0.156,0.328,0.014 -social,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0,0.368,0.15,0.482,0 -social,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.058,0.162,0.085,0.281,0.125,0.289 -social,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.23,0.028,0.072,0.23,0.44,0 -othdiscr,FALSE,1,48,PTYPE_FULL,0,0,0,0.108,0.319,0.132,0.27,0.112,0.059 -othdiscr,FALSE,1,48,PTYPE_PART,0,0,0,0.102,0.346,0.154,0.181,0.087,0.13 -othdiscr,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.116,0.374,0.124,0.162,0.033,0.191 -othdiscr,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.11,0.389,0.19,0.19,0.067,0.054 -othdiscr,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.111,0.284,0.186,0.197,0.111,0.111 -othdiscr,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.277,0.304,0.057,0.205,0.157,0 -othdiscr,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.114,0.204,0.148,0.291,0.089,0.154 -othdiscr,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.335,0.133,0.111,0.282,0.052,0.087 -atwork,FALSE,1,48,PTYPE_FULL,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,FALSE,1,48,PTYPE_PART,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,FALSE,1,48,PTYPE_UNIVERSITY,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 -atwork,FALSE,1,48,PTYPE_DRIVING,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +primary_purpose,outbound,depart_range_start,depart_range_end,person_type,work,univ,school,escort,shopping,othmaint,eatout,social,othdiscr +work,TRUE,1,18,PTYPE_FULL,0.198,0.004,0,0.466,0.083,0.086,0.093,0.004,0.066 +work,TRUE,1,18,PTYPE_PART,0.094,0,0,0.657,0.076,0.07,0.067,0.009,0.027 +work,TRUE,1,18,PTYPE_UNIVERSITY,0.067,0.081,0,0.433,0.005,0.038,0.153,0.108,0.115 +work,TRUE,19,48,PTYPE_FULL,0.278,0.008,0,0.172,0.18,0.193,0.107,0.016,0.046 +work,TRUE,19,48,PTYPE_PART,0.442,0,0,0.089,0.105,0.175,0.102,0.03,0.057 +work,TRUE,19,48,PTYPE_UNIVERSITY,0.049,0.086,0,0.392,0.159,0.157,0.069,0.073,0.015 +work,TRUE,1,48,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 +univ,TRUE,1,48,PTYPE_FULL,0.526,0.178,0,0.016,0.16,0.035,0.028,0.057,0 +univ,TRUE,1,48,PTYPE_PART,0.059,0.941,0,0,0,0,0,0,0 +univ,TRUE,1,48,PTYPE_UNIVERSITY,0.109,0.034,0,0.382,0.136,0.147,0.094,0.048,0.05 +school,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.548,0.015,0.1,0.206,0.073,0.058 +school,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.53,0.025,0.084,0.112,0.048,0.201 +school,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.772,0.007,0.086,0.023,0.071,0.041 +escort,TRUE,1,48,PTYPE_FULL,0,0,0,0.55,0.153,0.084,0.104,0.049,0.06 +escort,TRUE,1,48,PTYPE_PART,0,0,0,0.449,0.194,0.07,0.167,0.059,0.061 +escort,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.509,0.193,0.158,0.048,0.058,0.034 +escort,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.444,0.216,0.084,0.108,0.118,0.03 +escort,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.37,0.204,0.192,0.03,0.068,0.136 +escort,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.586,0.227,0,0.072,0.115,0 +escort,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.37,0.183,0.29,0.064,0.013,0.08 +escort,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.531,0.064,0,0.131,0.196,0.078 +shopping,TRUE,1,48,PTYPE_FULL,0,0,0,0.102,0.456,0.226,0.11,0.06,0.046 +shopping,TRUE,1,48,PTYPE_PART,0,0,0,0.182,0.291,0.311,0.108,0.031,0.077 +shopping,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.13,0.262,0.36,0.124,0.06,0.064 +shopping,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.144,0.336,0.274,0.122,0.068,0.056 +shopping,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.058,0.357,0.418,0.05,0.047,0.07 +shopping,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.076,0.193,0.298,0.047,0.13,0.256 +shopping,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.121,0.142,0.232,0.291,0.03,0.184 +shopping,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.138,0.292,0.301,0.187,0.064,0.018 +othmaint,TRUE,1,48,PTYPE_FULL,0,0,0,0.201,0.252,0.366,0.117,0.032,0.032 +othmaint,TRUE,1,48,PTYPE_PART,0,0,0,0.27,0.259,0.325,0.109,0,0.037 +othmaint,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.489,0.13,0.167,0.025,0.15,0.039 +othmaint,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.279,0.229,0.344,0.078,0.039,0.031 +othmaint,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.224,0.139,0.321,0.098,0.064,0.154 +othmaint,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.135,0,0.259,0.083,0.523,0 +othmaint,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.191,0.408,0.344,0.041,0.008,0.008 +othmaint,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.143,0.301,0.464,0.017,0.029,0.046 +eatout,TRUE,1,48,PTYPE_FULL,0,0,0,0.144,0.283,0.202,0.036,0.129,0.206 +eatout,TRUE,1,48,PTYPE_PART,0,0,0,0.169,0.374,0.179,0.013,0.135,0.13 +eatout,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.32,0.085,0.111,0,0.153,0.331 +eatout,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.201,0.224,0.269,0.063,0.082,0.161 +eatout,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.142,0.237,0.237,0.034,0.123,0.227 +eatout,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.175,0.289,0.346,0,0.105,0.085 +eatout,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.124,0.135,0.135,0.04,0.048,0.518 +eatout,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.055,0.329,0.165,0.061,0,0.39 +social,TRUE,1,48,PTYPE_FULL,0,0,0,0.186,0.382,0.144,0.122,0.126,0.04 +social,TRUE,1,48,PTYPE_PART,0,0,0,0.175,0.153,0.167,0.147,0.183,0.175 +social,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0,0.212,0.091,0.432,0.234,0.031 +social,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.311,0.392,0.149,0.071,0.058,0.019 +social,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.12,0.407,0.203,0.151,0.102,0.017 +social,TRUE,1,48,PTYPE_DRIVING,0,0,0,0,0,0,0,0.415,0.585 +social,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.322,0.11,0.05,0,0.378,0.14 +social,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.294,0,0.159,0,0.547,0 +othdiscr,TRUE,1,48,PTYPE_FULL,0,0,0,0.236,0.169,0.143,0.19,0.093,0.169 +othdiscr,TRUE,1,48,PTYPE_PART,0,0,0,0.223,0.208,0.181,0.193,0.129,0.066 +othdiscr,TRUE,1,48,PTYPE_UNIVERSITY,0,0,0,0.135,0.123,0.061,0.342,0.123,0.216 +othdiscr,TRUE,1,48,PTYPE_NONWORK,0,0,0,0.263,0.295,0.148,0.088,0.082,0.124 +othdiscr,TRUE,1,48,PTYPE_RETIRED,0,0,0,0.225,0.056,0.389,0.16,0.091,0.079 +othdiscr,TRUE,1,48,PTYPE_DRIVING,0,0,0,0.311,0.126,0.051,0.018,0.142,0.352 +othdiscr,TRUE,1,48,PTYPE_SCHOOL,0,0,0,0.222,0.112,0.172,0.173,0.141,0.18 +othdiscr,TRUE,1,48,PTYPE_PRESCHOOL,0,0,0,0.271,0.108,0.393,0.146,0.043,0.039 +atwork,TRUE,1,48,PTYPE_FULL,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,TRUE,1,48,PTYPE_PART,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,TRUE,1,48,PTYPE_UNIVERSITY,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +atwork,TRUE,1,48,PTYPE_DRIVING,0.206,0,0,0.122,0.166,0.247,0.241,0.004,0.014 +#,,,,,,,,,,,,, +work,FALSE,1,30,PTYPE_FULL,0.175,0,0,0.14,0.27,0.162,0.134,0.05,0.069 +work,FALSE,1,30,PTYPE_PART,0.097,0,0,0.252,0.211,0.192,0.159,0.089,0 +work,FALSE,1,30,PTYPE_UNIVERSITY,0.134,0,0,0.329,0.114,0.212,0.169,0.042,0 +work,FALSE,31,48,PTYPE_FULL,0.151,0.011,0,0.201,0.28,0.127,0.103,0.035,0.092 +work,FALSE,31,48,PTYPE_PART,0.11,0,0,0.243,0.281,0.13,0.119,0.036,0.081 +work,FALSE,31,48,PTYPE_UNIVERSITY,0.058,0.127,0,0.224,0.269,0.079,0.072,0.108,0.063 +work,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0.2,0.2,0.2,0.2,0.2 +univ,FALSE,1,48,PTYPE_FULL,0.352,0.032,0,0.032,0.146,0.114,0.177,0.028,0.119 +univ,FALSE,1,48,PTYPE_PART,0,0,0,0.822,0.178,0,0,0,0 +univ,FALSE,1,48,PTYPE_UNIVERSITY,0.054,0.025,0,0.194,0.209,0.179,0.159,0.067,0.113 +school,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.301,0.117,0.098,0.169,0.186,0.129 +school,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.166,0.158,0.147,0.122,0.133,0.274 +school,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.38,0.148,0.089,0.146,0.102,0.135 +escort,FALSE,1,48,PTYPE_FULL,0,0,0,0.343,0.235,0.114,0.222,0.039,0.047 +escort,FALSE,1,48,PTYPE_PART,0,0,0,0.24,0.298,0.128,0.157,0.045,0.132 +escort,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.195,0.319,0.287,0.02,0.027,0.152 +escort,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.28,0.325,0.169,0.103,0.05,0.073 +escort,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.31,0.317,0.073,0.111,0.112,0.077 +escort,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0.489,0,0.148,0.363,0 +escort,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.188,0.259,0.129,0.202,0.06,0.162 +escort,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.413,0.215,0.118,0.211,0.019,0.024 +shopping,FALSE,1,48,PTYPE_FULL,0,0,0,0.091,0.526,0.159,0.152,0.047,0.025 +shopping,FALSE,1,48,PTYPE_PART,0,0,0,0.104,0.553,0.156,0.105,0.037,0.045 +shopping,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.1,0.43,0.064,0.344,0.003,0.059 +shopping,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.11,0.528,0.158,0.122,0.059,0.023 +shopping,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.052,0.549,0.159,0.123,0.06,0.057 +shopping,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.118,0.707,0,0.041,0.134,0 +shopping,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.015,0.19,0.256,0.157,0.179,0.203 +shopping,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.206,0.172,0.22,0.202,0.158,0.042 +othmaint,FALSE,1,48,PTYPE_FULL,0,0,0,0.171,0.364,0.215,0.159,0.029,0.062 +othmaint,FALSE,1,48,PTYPE_PART,0,0,0,0.228,0.365,0.17,0.13,0.041,0.066 +othmaint,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.046,0.345,0.192,0.298,0.06,0.059 +othmaint,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.17,0.423,0.158,0.171,0.064,0.014 +othmaint,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.099,0.391,0.213,0.241,0.036,0.02 +othmaint,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.031,0.356,0.075,0.458,0.031,0.049 +othmaint,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.181,0.255,0.142,0.313,0,0.109 +othmaint,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.164,0.249,0.338,0.053,0.006,0.19 +eatout,FALSE,1,48,PTYPE_FULL,0,0,0,0.106,0.44,0.112,0.041,0.128,0.173 +eatout,FALSE,1,48,PTYPE_PART,0,0,0,0.168,0.331,0.225,0.023,0.063,0.19 +eatout,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.165,0.334,0.104,0.088,0.135,0.174 +eatout,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.148,0.547,0.092,0.056,0.055,0.102 +eatout,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.166,0.414,0.169,0.02,0.166,0.065 +eatout,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.195,0.332,0.114,0.114,0,0.245 +eatout,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.072,0.356,0.053,0.019,0.169,0.331 +eatout,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.01,0.286,0.045,0.117,0.064,0.478 +social,FALSE,1,48,PTYPE_FULL,0,0,0,0.12,0.286,0.123,0.19,0.255,0.026 +social,FALSE,1,48,PTYPE_PART,0,0,0,0.106,0.122,0.039,0.553,0.047,0.133 +social,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.105,0.274,0.176,0,0.206,0.239 +social,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.313,0.326,0.13,0.062,0.075,0.094 +social,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.097,0.338,0.067,0.156,0.328,0.014 +social,FALSE,1,48,PTYPE_DRIVING,0,0,0,0,0,0.368,0.15,0.482,0 +social,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.058,0.162,0.085,0.281,0.125,0.289 +social,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.23,0.028,0.072,0.23,0.44,0 +othdiscr,FALSE,1,48,PTYPE_FULL,0,0,0,0.108,0.319,0.132,0.27,0.112,0.059 +othdiscr,FALSE,1,48,PTYPE_PART,0,0,0,0.102,0.346,0.154,0.181,0.087,0.13 +othdiscr,FALSE,1,48,PTYPE_UNIVERSITY,0,0,0,0.116,0.374,0.124,0.162,0.033,0.191 +othdiscr,FALSE,1,48,PTYPE_NONWORK,0,0,0,0.11,0.389,0.19,0.19,0.067,0.054 +othdiscr,FALSE,1,48,PTYPE_RETIRED,0,0,0,0.111,0.284,0.186,0.197,0.111,0.111 +othdiscr,FALSE,1,48,PTYPE_DRIVING,0,0,0,0.277,0.304,0.057,0.205,0.157,0 +othdiscr,FALSE,1,48,PTYPE_SCHOOL,0,0,0,0.114,0.204,0.148,0.291,0.089,0.154 +othdiscr,FALSE,1,48,PTYPE_PRESCHOOL,0,0,0,0.335,0.133,0.111,0.282,0.052,0.087 +atwork,FALSE,1,48,PTYPE_FULL,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,FALSE,1,48,PTYPE_PART,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,FALSE,1,48,PTYPE_UNIVERSITY,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 +atwork,FALSE,1,48,PTYPE_DRIVING,0.189,0,0,0.067,0.163,0.149,0.395,0.019,0.018 diff --git a/activitysim/examples/example_semcog/configs/trip_scheduling.yaml b/activitysim/examples/prototype_mwcog/configs/trip_scheduling.yaml old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_semcog/configs/trip_scheduling.yaml rename to activitysim/examples/prototype_mwcog/configs/trip_scheduling.yaml index 1d08b77ba7..a006e7436b --- a/activitysim/examples/example_semcog/configs/trip_scheduling.yaml +++ b/activitysim/examples/prototype_mwcog/configs/trip_scheduling.yaml @@ -1,10 +1,10 @@ - -# int to add to probs column index to get time period it represents. -# e.g. depart_alt_base = 5 means first column (column 0) represents period 5 -DEPART_ALT_BASE: 1 - -MAX_ITERATIONS: 100 - -#FAILFIX: drop_and_cleanup -FAILFIX: choose_most_initial - + +# int to add to probs column index to get time period it represents. +# e.g. depart_alt_base = 5 means first column (column 0) represents period 5 +DEPART_ALT_BASE: 1 + +MAX_ITERATIONS: 100 + +#FAILFIX: drop_and_cleanup +FAILFIX: choose_most_initial + diff --git a/activitysim/examples/prototype_mwcog/configs/trip_scheduling_probs.csv b/activitysim/examples/prototype_mwcog/configs/trip_scheduling_probs.csv new file mode 100644 index 0000000000..93c9bcdb15 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/trip_scheduling_probs.csv @@ -0,0 +1,3457 @@ +primary_purpose,outbound,tour_hour,trip_num,HR1,HR2,HR3,HR4,HR5,HR6,HR7,HR8,HR9,HR10,HR11,HR12,HR13,HR14,HR15,HR16,HR17,HR18,HR19,HR20,HR21,HR22,HR23,HR24,HR25,HR26,HR27,HR28,HR29,HR30,HR31,HR32,HR33,HR34,HR35,HR36,HR37,HR38,HR39,HR40,HR41,HR42,HR43,HR44,HR45,HR46,HR47,HR48 +work,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,1,2,0.4070175438596491,0.5929824561403508,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,2,2,0.0,0.30238823771032364,0.6976117622896764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,3,2,0.0,0.0,0.00937757545566048,0.13008337427740385,0.25986129875058117,0.1973631462204809,0.1587493482618759,0.12013555030327089,0.08152175234466588,0.042907954386060876,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,4,2,0.0,0.0,0.0,0.2179176444075334,0.2981540486561361,0.23496517826530794,0.1366215979347862,0.03827801760426444,0.04237287530146482,0.0316906378305073,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,4,3,0.0,0.0,0.0,0.0,0.0,0.6061571125265393,0.3174097664543524,0.07643312101910828,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,5,2,0.0,0.0,0.0,0.0,0.04142221315705962,0.5564057092205271,0.0929774037660302,0.12515272981160966,0.05246813666560885,0.11479870503527952,0.016775102343884865,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,0.13928434013081953,0.24778761061946905,0.26010003847633706,0.2043093497499038,0.14851866102347056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,0.23249839434810535,0.3333333333333333,0.43416827231856137,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.19023461372522718,0.4965710961512204,0.10380670949021559,0.10660280046157773,0.0618557378902155,0.013091450436769571,0.021829188911477768,0.006008402933296151,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.04756071804680202,0.09695868071643228,0.0675082033208991,0.03805772592536593,0.033522349260685015,0.0289869725960041,0.0320434220874195,0.0350998715788349,0.035531225337704,0.03596257909657312,0.03639393285544223,0.03682528661431133,0.037256640373180445,0.037687994132049554,0.03811934789091866,0.038550701649787765,0.03898205540865688,0.03941340916752599,0.03984476292639509,0.04027611668526421,0.040707470444133316,0.04113882420300242,0.041570177961871534,0.04200153172074064,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.03162430462531789,0.03217128333221553,0.032718262039113176,0.033265240746010824,0.03381221945290847,0.03435919815980611,0.03490617686670376,0.03545315557360141,0.03600013428049906,0.0365471129873967,0.03709409169429435,0.037641070401191995,0.03818804910808964,0.038735027814987284,0.03928200652188493,0.03982898522878258,0.04037596393568022,0.04092294264257787,0.04146992134947552,0.04201690005637316,0.04256387876327081,0.043110857470168455,0.0436578361770661,0.04420481488396376,0.04475179359086139,0.04529877229775904,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.18820265316407953,0.4270871096714031,0.19679327466253066,0.07628085804428121,0.026759954351391935,0.02102391706871962,0.015096062225501292,0.009168207382282963,0.007766272758293093,0.006364338134303221,0.006364338134303221,0.006364338134303221,0.006364338134303221,0.006364338134303221,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.10642206176801043,0.2608857949254481,0.18184705366002987,0.14413204802039065,0.009050678054655615,0.026081360669465748,0.023572203783658503,0.021063046897851257,0.01855389001204401,0.04661099198147642,0.03235617404539382,0.03235617404539382,0.03235617404539382,0.03235617404539382,0.03235617404539382,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.047396473964739644,0.06039360393603936,0.07339073390733906,0.08638786387863878,0.0993849938499385,0.0928249282492825,0.08626486264862648,0.07970479704797048,0.07314473144731447,0.06658466584665847,0.06002460024600246,0.05346453464534645,0.04690446904469044,0.04034440344403444,0.03378433784337843,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2284083005867773,0.5083443228137865,0.15025100617343515,0.02031833899811797,0.018478713836757234,0.012064640366116163,0.009399424678157154,0.006734208990198145,0.0040689933022391355,0.001403777614280127,0.0034344151660720803,0.0034844098172237626,0.003534404468375445,0.003584399119527127,0.003634393770678809,0.003684388421830492,0.0037343830729821732,0.003784377724133856,0.0038343723752855383,0.00388436702643722,0.0039343616775889025,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12325916922880877,0.41404409548351145,0.29949383717813055,0.09428333364467151,0.020066132233414052,0.04604215272735416,0.0028112795041096896,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4343186121567041,0.20402155446507095,0.11641603771948893,0.028810520973906916,0.03363589896159323,0.038461276949279546,0.04328665493696586,0.04811203292465218,0.05293741091233849,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3924723285538589,0.4387956560368965,0.10261676915261057,0.022200132624255773,0.006428393734498308,0.008336496241510206,0.002820101863877215,0.004470893198829731,0.0018846534407374559,0.0026550227303819636,0.0034253920200264716,0.004195761309670979,0.003714280503643162,0.003232799697615344,0.002751318891587527,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014839439945175665,0.42579911082063576,0.22678760014655636,0.07389302978634792,0.0800231291669201,0.044290621945503046,0.008558114724085991,0.010675367683239402,0.012792620642392815,0.012792620642392815,0.012792620642392815,0.012792620642392815,0.012792620642392815,0.012792620642392815,0.012792620642392815,0.012792620642392815,0.012792620642392815,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.055665614948833125,0.35235149887825223,0.28526254167099296,0.06573280063106891,0.03946825116826845,0.03974678695901793,0.04002532274976739,0.040303858540516865,0.040582394331266335,0.040860930122015804,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.42606096091702694,0.382238739812812,0.09827590739489656,0.03392178056780944,0.02010870925966675,0.005743312425787553,0.0019448944350962394,0.00847138582803664,0.003641782197260744,0.005155928200422917,0.00374620605954779,0.002336483918672664,0.00211458321131269,0.0018926825039527165,0.0016707817965927428,0.0014488810892327691,0.0012269803818727954,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.038851632130165695,0.3825098609221697,0.18769851736177806,0.1250541561461376,0.0882714211125314,0.0234924549489502,0.006504775855430147,0.009336055704350156,0.012167335553270164,0.014998615402190173,0.011911382871964858,0.008824150341739544,0.014332454369975945,0.01984075839821235,0.025349062426448753,0.030857366454685155,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22287908596141234,0.1754380160307429,0.1747334456852379,0.19320212017178498,0.21167079465833208,0.022076537492489733,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38900700765733226,0.4422958233760455,0.10596886638733174,0.03404272736874169,0.015277503707451918,0.005945738648545489,0.0074623328545512955,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08704713383528127,0.4745141878393297,0.26679294452409175,0.06859570671857342,0.05505741515689123,0.014703164979586887,0.008462253225661518,0.011424041854643048,0.0082757312401947,0.005127420625746352,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05825242718446602,0.16950931514038312,0.15019679874048808,0.13088428234059302,0.11157176594069798,0.09225924954080295,0.07294673314090791,0.06520598268171085,0.05746523222251378,0.04972448176331672,0.041983731304119656,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3580949261760611,0.4662376037704272,0.04423151029959318,0.062313918979007545,0.008740663812781707,0.0008713434330498898,0.009993219997790924,0.009530318798983169,0.009067417600175416,0.008604516401367663,0.008141615202559908,0.0076787140037521545,0.004724315176067371,0.0017699163483825885,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04701834595526534,0.4973929939725455,0.1513990739759544,0.1434059551635593,0.07914754902469666,0.03169852072694101,0.02721202730265963,0.02272553387837825,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08692901643966584,0.16572436776502064,0.14579872022558102,0.1258730726861414,0.10594742514670176,0.08602177760726212,0.06609613006782249,0.06141862704687396,0.05674112402592543,0.0520636210049769,0.04738611798402837,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5115154933730773,0.3216513183869209,0.0668684781824973,0.03731598579169447,0.022786694214315478,0.021409058987157916,0.013287343350498193,0.005165627713838467,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2541897361065105,0.34985137885367246,0.06978161920647621,0.11382163433887618,0.014444591730786622,0.05983379973659026,0.08219176139771543,0.04602574667569597,0.009859731953676508,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17590173532608783,0.05421829714093429,0.25084998810538933,0.07227121098628997,0.20313788662136714,0.2436208818199314,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41402597234606037,0.33664982613636635,0.1712019415333846,0.029710564278240512,0.018652667014051168,0.018117996880066777,0.011641031811830344,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18124601812081448,0.10819943408304125,0.29323350682825056,0.22149240741835913,0.14975130800846773,0.046077325541067,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08565318727708968,0.13212587086494987,0.17859855445281,0.22507123804067017,0.03893326694413167,0.05300914037777927,0.06708501381142688,0.0955362473475231,0.12398748088361933,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.365874156560291,0.26460935826962395,0.08020327632043261,0.16236696237783768,0.06127406508345066,0.03181517905100688,0.019496170327553037,0.011285667445785708,0.003075164564018381,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3174360519599697,0.04882649503043498,0.27599129332624145,0.017492179915959517,0.06479340467601427,0.11209462943606904,0.07908516800704259,0.044478044145936715,0.009870920284830852,0.01326757783411065,0.016664235383390447,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08535285732156503,0.15402069626237244,0.22268853520317985,0.29135637414398724,0.2465815370688953,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18985489239909434,0.3088593271077444,0.17145679250229975,0.031405196961223736,0.043907739827303324,0.0515977959552491,0.05928785208319488,0.06697790821114066,0.04122862349885769,0.015479338786574731,0.019944532667317442,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.43865021452888286,0.08940265053209621,0.2825762347175184,0.18937090022150235,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.287643554095185,0.4156680542289321,0.10388731535234136,0.09421413420346263,0.08454095305458391,0.014045989065495134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11681850082678306,0.19864632329705426,0.2804741457673255,0.12280597084677573,0.1867943451300957,0.04371536506786588,0.05074534906409975,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05830658468714325,0.05790178628034842,0.057496987873553604,0.14895093433379764,0.2404048807940417,0.3318588272542858,0.1050799987768296,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09325096165054202,0.4068073202004896,0.32661149318102345,0.005828185103158876,0.08905466837626763,0.055834013288262034,0.02261335820025644,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17535702424443705,0.2786449684490202,0.38193291265360346,0.06775157754898704,0.09631351710395217,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015945330296127564,0.11503416856492028,0.214123006833713,0.3132118451025057,0.21355353075170844,0.11389521640091119,0.014236902050113897,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3598823392439717,0.22246712144307867,0.08394985714833159,0.048870809697064456,0.0578654372486714,0.06676012449414939,0.07565481173962738,0.08454949898510537,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38220204273689196,0.12501684299675558,0.20593265242103603,0.28684846184531654,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13616186948386272,0.19789591670620843,0.6659422138099288,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05387363054441149,0.015200896546740967,0.057085052584033104,0.8738404203248145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4396135265700483,0.5603864734299517,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6578204220680918,0.18909200772462073,0.11405985931063606,0.03902771089665137,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21045576407506703,0.5361930294906166,0.25335120643431636,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2853914759971572,0.5840101707732084,0.13059835322963442,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22752044496066517,0.44660842117408767,0.2574931850131115,0.06837794885213547,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5601007430924968,0.10909325637431054,0.33080600053319265,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.623742822231382,0.2073401788859822,0.16891699888263584,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04932182490752158,0.33292231812577067,0.17016029593094945,0.17632552404438964,0.14919852034525277,0.1220715166461159,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24645390070921985,0.24881796690307328,0.2511820330969267,0.25354609929078015,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0624512099921936,0.08925318761384335,0.1160551652354931,0.14285714285714285,0.16965912047879259,0.19646109810044238,0.2232630757220921,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2268325833623025,0.7731674166376975,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31073819681515374,0.6892618031848463,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13493326145006845,0.8650667385499315,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08332663827819074,0.32737799058763245,0.26233982530753924,0.32695554582663755,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19720809548878807,0.2324026984962627,0.2675973015037373,0.3027919045112119,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2612244897959184,0.3224489795918367,0.4163265306122449,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +work,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +work,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +work,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +work,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +work,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +work,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +work,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +work,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +work,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +work,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +work,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +work,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +work,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +work,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +work,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +work,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,FALSE,1,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +work,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,7,1,0.0,0.0,0.0,0.0,0.16412213740458015,0.21374045801526717,0.6221374045801527,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8030733589935317,0.1969266410064683,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7633410672853829,0.23665893271461716,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4754436330853908,0.31277768948822365,0.2117786774263856,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6435401913236503,0.26934350974801974,0.08711629892833005,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6477191897031348,0.3522808102968652,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3506849315068493,0.5123287671232877,0.136986301369863,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.39935435503970945,0.6006456449602906,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.389937106918239,0.4937106918238994,0.11635220125786164,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019236698838556318,0.08401487420185244,0.14879304956514858,0.7479553773944427,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.365763767309359,0.634236232690641,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7211367673179396,0.27886323268206037,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04637665938000052,0.5568710588549266,0.39675228176507293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21219319081551863,0.23357086302454477,0.25494853523357086,0.2992874109263658,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3317301475573253,0.6682698524426748,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38463629293904256,0.5872440825118891,0.028119624549068384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01659184425532079,0.10979896933668169,0.312093667885393,0.5615155185226045,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4392732501779323,0.285949235544556,0.27477751427751185,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49523809523809526,0.3333333333333333,0.1714285714285714,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4761904761904762,0.3333333333333333,0.19047619047619047,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06598247607394919,0.4153438076789283,0.5186737162471226,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0980678089682829,0.26430915056507476,0.6376230404666423,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08585858585858586,0.9141414141414141,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19796215429403205,0.3333333333333333,0.4687045123726346,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014487638934532027,0.04852470661048763,0.20850615067296582,0.7284815037820146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02291883221559424,0.06658920239286437,0.6006214196029647,0.30987054578857676,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9056122448979592,0.09438775510204081,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025982810677712125,0.05508627503482925,0.3673751357840527,0.551555778503406,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005017557313351234,0.018687989674844342,0.0902231632662567,0.5879044325510159,0.20901595563093012,0.08915090156360171,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1548355634139103,0.07678180586219653,0.4731114214155933,0.18630879363621217,0.10896241567208771,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005457684727579962,0.01026048320590692,0.04402958676391282,0.0777986903219187,0.32152196855099835,0.5409315864296833,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02975222944701611,0.02469435044102337,0.019636471435030632,0.014578592429037893,0.20008374303118334,0.3556563194060891,0.2987715355668186,0.05682675824380077,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1788773793805116,0.13501254430949444,0.28312757182202,0.10709855835521077,0.2958839461327632,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7180851063829787,0.28191489361702127,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010950408235651165,0.03551124290184852,0.09591615463073641,0.46858322416216447,0.3890389700695995,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007319010928836773,0.032098943679297755,0.22589881753702534,0.3208004734617985,0.3627894816558109,0.05109327273723083,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06061651711307802,0.06390295478788346,0.07245829184274707,0.4710920311009426,0.24027511000244178,0.09165509515290714,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1512525880209549,0.18971768583662876,0.2281827836523026,0.08531301295948412,0.34553392953062967,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011266239546936266,0.14696751806158723,0.37853719504436756,0.463229047347109,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04506161872425432,0.04928298316648006,0.0830750722610354,0.2747620468879077,0.25851233093355913,0.19483961747517467,0.0944663305515887,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3287631195329396,0.22551095230462573,0.21610543686364722,0.22962049129878748,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11271186440677965,0.10381355932203389,0.09491525423728814,0.23686440677966103,0.37881355932203387,0.07288135593220338,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006172892863669068,0.030964000889705637,0.08179493362877562,0.46367174617788354,0.41739642643996616,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015029969668234822,0.02084303146639035,0.02665609326454588,0.032469155062701406,0.038282216860856935,0.05242807066625442,0.16557297523284012,0.180745256762474,0.15077086997025796,0.28058114150282826,0.03662121954261586,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05070637201120241,0.12842843402837328,0.09725648402148658,0.3079788660680408,0.22643152707988243,0.048212616010651466,0.14098570078036307,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12666666666666668,0.14761904761904762,0.16857142857142857,0.19142857142857142,0.21428571428571433,0.15142857142857144,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0024720154174304745,0.0032816686434653268,0.004091321869500179,0.0075388793165115705,0.15485680258621515,0.42112293349522256,0.40663637867165475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029771828706332226,0.03151181539449663,0.06650565966036343,0.1427217359070633,0.39192815264664665,0.28278781714819123,0.05477299053690651,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019807338826881547,0.06419797644139041,0.10858861405589929,0.05407717901942264,0.17342383501553485,0.21175032480732048,0.26597401566313017,0.1021807161704207,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3722536780770421,0.14434614918731203,0.1291024389039158,0.1138587286205195,0.24043900521121056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001330425424733588,0.018806426656670424,0.0968638386104991,0.5169322511022459,0.36606705820585095,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008119302443572592,0.008814197697752229,0.03728663407974474,0.17695848090339458,0.3691390077935819,0.36149913505648534,0.03818324202546865,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007008636919004006,0.02325328776966988,0.031402804511376614,0.13810714371612345,0.13619401868578143,0.22499571074782088,0.38572772797429905,0.05331066967592473,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1073213422530503,0.28204124518485774,0.053159169527211836,0.09829431346541057,0.3054144739818114,0.15376945558765817,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0006259704900072714,0.0008548199164615427,0.0010836693429158138,0.004483142739488566,0.04564206857695831,0.13310723888445267,0.44633652590346123,0.3678665641462547,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0019351729338496055,0.007262100579715187,0.012589028225580768,0.00403681235663251,0.011919187577915462,0.019801562799198414,0.011537816546243296,0.06815947051271594,0.16774787482514286,0.3134148338501786,0.338373455029102,0.0432226847637254,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0018837935913241343,0.04187065766423874,0.0038467203306550785,0.017819147518377623,0.03179157470610017,0.08092815083526787,0.2654426655197257,0.22191592231628704,0.24985202749738505,0.07666548302431027,0.007983856996328323,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1486349894798858,0.17246976066929817,0.5356094346896196,0.1366984910732159,0.006587324087980627,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0009986851538293544,0.0008312037926281584,0.0006637224314269622,0.0017368437457901814,0.007604894401209867,0.05093635012547367,0.16254175407603735,0.49655071310370025,0.2781358331699041,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0015177063177628561,0.0079922928407854,0.014466879363807942,0.005490525796612685,0.0058699523760534,0.006249378955494113,0.01766990414372533,0.009708856591571212,0.04231939909090381,0.19650467422993176,0.2618888328373406,0.4008378276290108,0.029483769827000027,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018406392553826537,0.017202267759946578,0.015998142966066622,0.014794018172186667,0.04245227431386724,0.004220401539975105,0.045348628311889363,0.007339391950146279,0.0755534628626916,0.09820805677122812,0.31896863906899203,0.26227844603674516,0.0621827655897942,0.017047112102644542,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1123860915512546,0.28940615572386297,0.49960424769245043,0.030309891877392303,0.06829361315503966,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0005001657402981734,0.0005547897290296927,0.0006094137177612121,0.0006640377064927315,0.000718661695224251,0.0007732856839557703,0.0008279096726872897,0.0008825336614188091,0.0009371576501503285,0.0009917816388818478,0.000763073373019008,0.000534365107156168,0.0007267365457323886,0.0090537191625816,0.03583236078133163,0.1936518690309933,0.45133566084979704,0.3006424782534887,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0011962327059738423,0.0015682319011242445,0.0019402310962746466,0.0023122302914250488,0.002684229486575451,0.003056228681725853,0.0034282278768762555,0.003800227072026658,0.00417222626717706,0.008593925585551498,0.004930812861209253,0.0053246943619567385,0.03440708120555064,0.06419629827980654,0.1544479501059212,0.34553261534070584,0.32370246262787966,0.034706094252239625,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006703255516898051,0.0064029304489366685,0.006102605380975287,0.005802280313013904,0.005501955245052522,0.00520163017709114,0.004901305109129757,0.011460404593406345,0.01124417054447415,0.10227870514492832,0.1403350127513961,0.20405210024197756,0.3850398205950992,0.10497382393762107,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013628141815686523,0.01684933897212152,0.069131846665028,0.04148115703944788,0.013830467413867766,0.16783643483715913,0.20369766850505314,0.47354494475163617,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.000617096271567462,0.0005699447910293015,0.0005227933104911411,0.0004756418299529805,0.00042849034941481995,0.0003813388688766594,0.00033418738833849895,0.0002870359078003384,0.0002398844272621779,0.00019273294672401742,0.00014558146618585686,9.842998564769636e-05,5.127850510953591e-05,0.000566458296959442,0.0010816380888093481,0.0015968178806592544,0.0021119976725091603,0.010661585394008051,0.05490660937900135,0.16313609076077773,0.5225054046229356,0.23908896185593956,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003635224021534283,0.0012160535872748136,0.0015006618736582804,0.0017852701600417475,0.006493392215106179,0.0031317776883544543,0.03217345084194243,0.04952063379625905,0.24323561031836502,0.33442137091702745,0.2987844693764074,0.024102085204028942,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013037283709644113,0.007352243609078972,0.001667203508513831,0.0033864117981987013,0.005105620087883573,0.0068248283775684425,0.008544036667253313,0.010263244956938184,0.011534274264700009,0.012805303572461832,0.009835957816528653,0.05309083015971887,0.0881340626151422,0.15896925057157388,0.28589973943524755,0.2473972598370323,0.07615244901251567,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02366662256418544,0.12835855710158908,0.04013881841086459,0.02810411429497021,0.14249279002186652,0.20249211886738486,0.1849326294505153,0.2498143492886241,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0006622021699085158,0.00035854040138693125,0.0005231762999829711,0.0005137685343489116,0.0005043607687148522,0.0004949530030807928,0.0004855452374467334,0.00047613747181267396,0.00046672970617861454,0.0004573219405445551,0.0004518340772580205,0.00044634621397148585,0.0013756243971580217,0.0012987943111465365,0.0012219642251350515,0.002809786002705747,0.0213924195886364,0.07434315194522538,0.2615478741458688,0.4158507967126956,0.21431867284679348,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0022271833980789233,0.004287625793093115,0.002745271514744342,0.0012029172363955682,0.006741100552474175,0.0027631366222155627,0.009087039381962123,0.01441437973590116,0.031353481024420114,0.10145527149032199,0.1815191304792793,0.4211043675067173,0.1991720460366029,0.021927049227793358,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0027150864618428606,0.006690748780969907,0.02142978957383115,0.004896852368680873,0.011393666402376289,0.005381689236867098,0.012799693320116342,0.008630096253714806,0.02527610408351788,0.09095521232376012,0.21942859673647808,0.3366047327631468,0.205243515433108,0.048554216261589775,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023202412434615734,0.031048638861780477,0.038894865288945216,0.046741091716109955,0.0545873181432747,0.062433544570439446,0.07027977099760419,0.01395507414545729,0.21400331756913366,0.242849273678533,0.14399866150756682,0.05800603108653934,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0008265176763023857,0.0009178455963357985,0.0010091735163692112,0.001100501436402624,0.0007592229058017903,0.0004179443752009566,0.002089000189971938,0.004432366974609248,0.028446504294407902,0.10168426739879365,0.1969200101824615,0.4440493464373421,0.21734729901600094,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004187384789225085,0.005037755453899095,0.005888126118573103,0.006738496783247112,0.007588867447921121,0.005497221673440166,0.003405575898959209,0.0013139301244782526,0.0067170072718654595,0.002415420023696233,0.0011239148403114762,0.01077788914551337,0.011109555281740626,0.058531082581650275,0.13184895859797446,0.2321968079937631,0.2882781562427437,0.17972878405723625,0.037615065673761904,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013186377247992955,0.012057221190393557,0.010928065132794162,0.009798909075194763,0.008669753017595368,0.007540596959995971,0.010672844927994297,0.013805092895992624,0.014945849871992014,0.016086606847991406,0.01115621652799404,0.006225826207996674,0.016666652767991095,0.034764085471981426,0.08025940260014269,0.08299283500435674,0.14866955614604954,0.292635249878903,0.1650487169466711,0.04389014127997655,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.032301805802675346,0.04286495556753126,0.015615090956743531,0.015232368139176288,0.014849645321609043,0.0497174847482703,0.1301075172051271,0.2104975496619839,0.23728814689169092,0.19503554783226726,0.056489887872925124,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0007549429923824815,0.0007808274551608096,0.0008067119179391378,0.0008325963807174659,0.000858480843495794,0.0008843653062741222,0.0009102497690524504,0.0009361342318307786,0.0009620186946091068,0.000987903157387435,0.001013787620165763,0.0010396720829440912,0.0010655565457224193,0.0010914410085007475,0.0011173254712790756,0.0011432099340574038,0.0011690943968357319,0.0011361419812386463,0.0011031895656415608,0.0010702371500444752,0.0010372847344473897,0.001994337500484484,0.010974587107551111,0.034671945603710126,0.06062202797518602,0.2291121039308076,0.40806356205034255,0.23386026459219109,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0019248323738179005,0.0024060404672723752,0.00288724856072685,0.004148795167874328,0.005410341775021808,0.006671888382169287,0.007933434989316765,0.002547572259464868,0.00837396437138915,0.01420035648331343,0.020026748595237714,0.015600145777414334,0.06387465467379545,0.08906867905760535,0.16735014769766177,0.19306700451343722,0.2445805657184301,0.13621652311148882,0.013711056024562298,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005940655387914851,0.009042026950723338,0.012143398513531826,0.015244770076340316,0.03532813498224224,0.055411499888144165,0.007600544393361647,0.0016379436697788235,0.0052417547540425154,0.015222929431531805,0.025204104109021096,0.00546016120212762,0.04038850997118814,0.08065928087816075,0.1631899950023048,0.21610102563692418,0.19955093990794004,0.05286065772616878,0.0537716675185528,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015342043022267148,0.03909746447610015,0.06285288592993314,0.048624378288314424,0.0343958706466957,0.020167363005076974,0.015713221482483285,0.013981055334807965,0.060001293285239884,0.11321706022516562,0.1664328271650914,0.19149858460232078,0.1484758857722278,0.0526309529807117,0.01756911378356399,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0006851876024150812,0.0007284090838290195,0.0007716305652429578,0.0008148520466568961,0.0008580735280708345,0.0009012950094847728,0.0009445164908987112,0.0009877379723126495,0.0010309594537265877,0.001074180935140526,0.0011174024165544643,0.0011606238979684027,0.0012038453793823411,0.0012470668607962795,0.0012902883422102177,0.0018939059919568367,0.0024975236417034558,0.003101141291450075,0.0037047589411966938,0.004308376590943313,0.004911994240689933,0.014833866665271951,0.026988755303533965,0.09198963667174156,0.12608920632085135,0.4770750352319371,0.22778972952403395,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0036353921936357896,0.004282169017809047,0.004928945841982306,0.005575722666155565,0.006222499490328823,0.006869276314502081,0.00751605313867534,0.0081628299628486,0.008809606787021857,0.006413307367895343,0.004017007948768829,0.006648148155212411,0.0017273134179705961,0.01209194078705305,0.015606075880966897,0.03339920618745311,0.1015409530324558,0.1520963656770882,0.20401685206029951,0.24933582976240165,0.13187829807640075,0.02522620623307458,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007477963799065831,0.007547204204612737,0.007616444610159642,0.007685685015706548,0.007754925421253453,0.00782416582680036,0.007893406232347267,0.007962646637894172,0.008031887043441077,0.024154232772555413,0.0238479853292517,0.023541737885947985,0.01833485938882067,0.016968515386028393,0.01560217138323612,0.014235827380443843,0.01009039814116725,0.0635606915535946,0.25305991066032896,0.18703273085302177,0.19358385015529053,0.06004758318451987,0.016562305006819877,0.009582872127691768,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020592053856859614,0.01981765183147344,0.019043249806087268,0.018268847780701095,0.01749444575531492,0.01672004372992875,0.015945641704542574,0.015171239679156399,0.014396837653770228,0.013622435628384054,0.012848033602997879,0.012073631577611708,0.011299229552225534,0.010524827526839359,0.04667532207554846,0.019829385195494445,0.05654576766993388,0.29988131764878523,0.13756153056662693,0.07983213614379653,0.06818257832604628,0.047285457004640596,0.026388335683234915,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005277083039010784,0.0008135973850295,0.03044210215652046,0.05596872011182102,0.15248096115428883,0.44672644121461236,0.3082910949387171,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0010217429115642806,0.0029347934693867636,0.01145656413605055,0.009538078775506982,0.007619593414963412,0.005701108054419843,0.0037826226938762727,0.03850014247617747,0.01537975473446955,0.06453324241838283,0.11273124381903418,0.12422933631350647,0.14456292942254367,0.16250372844530073,0.1756400465302991,0.1104302548607116,0.009434817523806337,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007673718759662206,0.008027113702541385,0.008380508645420566,0.008733903588299747,0.009087298531178926,0.009032321213789291,0.008977343896399658,0.008922366579010023,0.008867389261620388,0.006865958890224079,0.09743725704526887,0.025408347908111063,0.08098025894104256,0.10856968516085586,0.20476992613246445,0.15664301588903262,0.1375909222989012,0.08525224659174065,0.01878041696443645,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01366658495182344,0.025981578548240784,0.03829657214465813,0.05061156574107547,0.06292655933749282,0.07524155293391015,0.021808380242271445,0.007560238483987435,0.0059609572662208616,0.05742873463798147,0.14146369317153412,0.10270244315774298,0.17243159311555956,0.09066603343465703,0.09734238003390401,0.035911132798940315,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006140545527906178,0.07704479129847519,0.09261075958932334,0.5016100404539727,0.3225938631303225,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002835854176900892,0.003838428885906258,0.004841003594911624,0.014637590751478342,0.013885188413822233,0.013132786076166124,0.012380383738510015,0.011627981400853906,0.022973283332065813,0.036731113977483125,0.07271821698842146,0.060827669313446395,0.10779312197185888,0.13056387210418452,0.13015807646972952,0.1540899863003375,0.20367126846004854,0.0032941740438747736,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0076208477489212246,0.006928043408110204,0.006235239067299184,0.007235956448470657,0.011931630313967573,0.009812119693590788,0.007692609073214001,0.005573098452837218,0.01733544038345004,0.029097782314062858,0.054962477704340956,0.07972793889092103,0.11139210919913986,0.13573088907739578,0.10990103431320945,0.09608834010325086,0.212674945701561,0.05480345498498559,0.03525604312127193,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015885752641210733,0.021040172381178047,0.026194592121145357,0.030588523702756835,0.021411826550485884,0.012235129398214934,0.030588523702756835,0.026194592121145357,0.11351894608472106,0.027208576332286467,0.049178234240343864,0.09969732514151822,0.09261055795088809,0.13063496586867973,0.1860661027443938,0.049347231608867385,0.06759894740940738,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01130462395244174,0.0041929877932693,0.002836432918976291,0.028414253319358176,0.1827968730678073,0.43866839741314934,0.33178643153499787,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00677597602579097,0.006425472371243884,0.006074968716696798,0.005724465062149713,0.005373961407602627,0.005023457753055542,0.005023457753055542,0.007241824377564099,0.0122268218469682,0.008631639935794116,0.04357799581586817,0.07784804087670505,0.07034929566124097,0.12820403754825666,0.10803751930693145,0.11224033914490393,0.18353580500934705,0.09456441792833854,0.1131205034584867,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015578863867727303,0.004719746962833009,0.007702287911783145,0.01068482886073328,0.013667369809683418,0.016649910758633552,0.015092024371860824,0.01703938235532674,0.019063170828161436,0.021086959300996137,0.023110747773830834,0.08200327384640907,0.18744995907995718,0.11575794528123423,0.1039018050676953,0.07735696176569301,0.10306040440318079,0.044399762023022815,0.052056547822331524,0.06961804790890638,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027486569700476974,0.015549545144841258,0.019598890722658847,0.02364823630047644,0.027697581878294027,0.06968579395925881,0.1116740060402236,0.09446959357693707,0.1746740623901104,0.07546730842401082,0.09774172285579068,0.12001613728757052,0.14229055171935037,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00306582242537605,0.010768384551940671,0.05384368456501562,0.1379297950480319,0.4317140850768218,0.362678228332814,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00491299962003032,0.004807597711351568,0.004702195802672816,0.0045967938939940655,0.006287883494874971,0.09528462357765094,0.07933247847137093,0.06303025189034563,0.11719261477327017,0.07220458631655628,0.11274563039291106,0.14706292845027924,0.11146253669715908,0.15621980570011884,0.020157073207414115,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008262250892470176,0.042007008335523344,0.019858721921930292,0.03424085594177461,0.048622989961618936,0.037273293453469164,0.1183376147347846,0.088600451651689,0.1074206398223268,0.2662710496967396,0.0217936743143235,0.008147167967971403,0.06293362964426817,0.0742410681081394,0.06198958355297103,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02087193052705776,0.02508438765097824,0.02929684477489872,0.0335093018988192,0.03772175902273968,0.041934216146660167,0.04785131413054473,0.23513213640781577,0.16721823824259138,0.09930434007736703,0.027784634011284035,0.1034205821531128,0.050423965427885846,0.0804463495282446,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003980736956141425,0.015623232988321013,0.044387749236698505,0.13129307057675185,0.41582101119123094,0.38889419905085626,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008235868321429831,0.007710148757068257,0.007184429192706683,0.006658709628345109,0.006132990063983535,0.00560727049962196,0.005081550935260387,0.004555831370898812,0.004030111806537238,0.003504392242175664,0.00297867267781409,0.0062690937969092754,0.007833283262552697,0.021573058065834858,0.014333575889372589,0.04717069997714583,0.09681052377852596,0.11860504964422727,0.08297330025321101,0.08648979255865137,0.035524864849152564,0.060705347315154576,0.05218098660368603,0.1944919766731068,0.10506114181130659,0.0082973300253211,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007365819651312346,0.015103687925890372,0.041140696596240894,0.06717770526659143,0.09420111663020295,0.07979252322389252,0.07812067988015384,0.128737564091914,0.07325713560745942,0.15472150217509067,0.06185820371833192,0.0764788011399944,0.08830372570110774,0.03374083839181741,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04854717269156136,0.07605688348436022,0.10356659427715907,0.060565056945186664,0.01756351961321427,0.07425529401003858,0.07669790236563195,0.14997615303343317,0.12408450446414342,0.13092380785980484,0.1377631112554663,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015880892446384624,0.015739770771801824,0.015598649097219022,0.015457527422636216,0.015316405748053416,0.027772745557895388,0.08443636313867724,0.5961941504325048,0.21360349538482754,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021278730757307147,0.022517338037841807,0.03943621100549383,0.056355083973145856,0.04215051584477793,0.0790985861384776,0.08393882499430144,0.06045039211697531,0.09374541922267664,0.10966346807066303,0.06339496709115462,0.08236149413072139,0.13298210398149835,0.10842964316683823,0.0041972214681269574,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029417226628695423,0.0382986278164786,0.04718002900426178,0.06373732436217341,0.04848394759173875,0.15607473016891182,0.07081924929130379,0.1212098689793469,0.04821156586369527,0.09165614275991818,0.14545184277521628,0.051752528328260466,0.08770691642999932,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05677655677655678,0.07356532356532357,0.09035409035409037,0.10714285714285716,0.08760683760683761,0.06807081807081809,0.04853479853479854,0.21428571428571433,0.04212454212454213,0.0718864468864469,0.05265567765567767,0.08699633699633702,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005003198804628313,0.005211665421487826,0.0054201320383473394,0.005628598655206853,0.008085526639622542,0.006700712684770062,0.03274414931957637,0.2268238973454018,0.3924526386247689,0.31192948046619007,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006357980517998565,0.009484856182588021,0.01261173184717748,0.01573860751176694,0.018865483176356397,0.01563437832294729,0.01271596103599713,0.012668244923882641,0.09234419905364029,0.052948427920381486,0.06337134680234635,0.03220681934527142,0.12163546335252991,0.11944665038731729,0.06257409526787537,0.0740027240619505,0.062224825725330224,0.13133265367024471,0.08383555089439784,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011319276135321748,0.023380799886074433,0.027277599867086836,0.031174399848099242,0.03507119982911165,0.038967999810124054,0.042864799791136464,0.04676159977214887,0.05065839975316126,0.059565371138332476,0.101687923314038,0.09593550429444826,0.08758521862085025,0.0773793139086749,0.011326176245995289,0.07867824723567905,0.09370876144815546,0.008906971385171212,0.07775043771639038,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0787589916655298,0.086023170508467,0.09328734935140422,0.10055152819434143,0.10781570703727864,0.06308365837287581,0.04626134947344226,0.07722969085649037,0.0768544740265689,0.07647925719664742,0.09004469350453384,0.10361012981242025,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011906711267699044,0.011009032512437964,0.010111353757176884,0.009213675001915802,0.008315996246654724,0.0074183174913936435,0.006520638736132564,0.005622959980871484,0.004725281225610405,0.0038276024703493253,0.002929923715088246,0.07960665072697214,0.06980069032072829,0.5839513401496633,0.18503982639730618,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07496450380789302,0.06609546392076202,0.05722642403363101,0.03705991667122599,0.016893409308820963,0.043289361353853716,0.06398378775715939,0.13419702019694651,0.20441025263673362,0.02245428257855248,0.016471074076100437,0.03378681861764193,0.0734863304933712,0.03991067949208952,0.010234002142280495,0.10553667291293778,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05111369779902134,0.06329499961093765,0.07547630142285396,0.14572165133543305,0.12516876874241595,0.10461588614939883,0.0764316976433964,0.2141682712270124,0.02315110417090954,0.12085762189862057,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1030560126701864,0.0664806010982914,0.029905189526396394,0.1887754998444536,0.12328195908209214,0.20392756562022407,0.284573172158356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.045329229394834254,0.14724301207541995,0.4933603518429705,0.31406740668677524,0.0,0.0,0.0,0.0,0.0 +work,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03315173293149415,0.03438816119933542,0.0356245894671767,0.036861017735017966,0.048916193346470384,0.045129631776206484,0.041343070205942585,0.03755650863567868,0.025037672423785788,0.10478729569954794,0.05714616900428886,0.00950504230902979,0.0401066419381013,0.07070824156717283,0.10130984119624434,0.04752521154514895,0.19566477338588154,0.035238205633476294,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0634850166481687,0.06466888642249354,0.06585275619681835,0.06703662597114318,0.06822049574546801,0.06940436551979283,0.07058823529411766,0.06592674805771366,0.06126526082130967,0.10832408435072143,0.05371809100998891,0.05061043285238624,0.08213096559378469,0.05016648168701443,0.018201997780244176,0.040399556048834634,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20453224869262054,0.17664148750726322,0.14875072632190586,0.1208599651365485,0.09296920395119115,0.06507844276583381,0.08541545613015687,0.10575246949447994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024562901947179475,0.15345965406999748,0.6376387131792286,0.18433873080359453,0.0,0.0,0.0,0.0 +work,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023368746731726984,0.036914667885732125,0.050460589039737255,0.012536792308009257,0.032700133270057476,0.052863474232105696,0.07302681519415391,0.13388625915283023,0.08809896659618073,0.04231167403953125,0.02852120250072106,0.039334185866379046,0.05014716923203703,0.10389866625262671,0.1576501632732164,0.04858007019353587,0.025700424231418974,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13881441763479296,0.18588025022341376,0.1613543838744911,0.13682851752556846,0.11230265117664581,0.08777678482772315,0.0632509184788005,0.03872505212987787,0.07506702412868634,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17678300455235205,0.15857359635811835,0.14036418816388468,0.12215477996965098,0.1039453717754173,0.08573596358118361,0.06752655538694992,0.04931714719271623,0.09559939301972685,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10135087486023994,0.25141067763838626,0.5643179675120201,0.08292047998935374,0.0,0.0,0.0 +work,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09815274331403363,0.0905982905982906,0.08304383788254757,0.07548938516680452,0.06793493245106148,0.060380479735318446,0.0528260270195754,0.045271574303832364,0.037717121588089327,0.030162668872346293,0.022608216156603255,0.03915081334436173,0.042459332781913425,0.045767852219465124,0.05679625034463745,0.1516404742211194,0.0,0.0,0.0,0.0,0.0 +work,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07607699358386802,0.16315307057745188,0.138038496791934,0.11292392300641613,0.08780934922089827,0.06269477543538039,0.03758020164986251,0.042163153070577455,0.04674610449129239,0.05132905591200733,0.05591200733272227,0.06049495875343722,0.06507791017415215,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17255717255717254,0.12889812889812888,0.08523908523908523,0.0977130977130977,0.11018711018711018,0.12266112266112264,0.13513513513513511,0.1476091476091476,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02467936403630473,0.03497418446287756,0.0452690048894504,0.05556382531602322,0.11451224912845395,0.17346067294088469,0.23240909675331542,0.1947710191746411,0.12436058329804886,0.0,0.0 +work,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7038701552147975,0.2961298447852026,0.0,0.0,0.0,0.0 +work,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1689615134710015,0.449732054431272,0.3813064320977266,0.0 +work,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09544933213821058,0.030960804003320155,0.0322523547923948,0.03354390558146945,0.0348354563705441,0.036127007159618744,0.06137221965134794,0.08661743214307713,0.11186264463480634,0.13710785712653553,0.16235306961826473,0.11329032879955836,0.06422758798085199,0.0,0.0 +work,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011339239137445901,0.014713324836553961,0.01808741053566202,0.021461496234770082,0.024835581933878144,0.0282096676329862,0.03158375333209426,0.03495783903120232,0.03639920127822825,0.03784056352525419,0.03928192577228012,0.04072328801930605,0.04216465026633198,0.043606012513357925,0.045047374760383854,0.04648873700740979,0.047930099254435726,0.049371461501461655,0.0508128237484876,0.05225418599551353,0.05369554824253946,0.05513691048956539,0.05657827273659133,0.058019634983617265,0.059460997230643194,0.0,0.0,0.0,0.0,0.0 +work,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +work,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03238154901804418,0.5077750075586425,0.4598434434233134 +work,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11625,0.11875000000000001,0.12125000000000001,0.12375,0.12625,0.12875,0.13125,0.13375,0.0,0.0 +work,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +work,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,4,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.01916997001065436,0.164933396515903,0.21844947050352528,0.27196554449114757,0.32548161847876983,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012716450216450214,0.016206709956709954,0.019696969696969692,0.02318722943722943,0.02667748917748917,0.030167748917748913,0.03365800865800865,0.03714826839826839,0.04063852813852813,0.044128787878787865,0.04761904761904761,0.05110930735930735,0.054599567099567085,0.05808982683982682,0.06158008658008657,0.0650703463203463,0.06856060606060604,0.07205086580086578,0.07554112554112552,0.07903138528138527,0.08252164502164501,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.032973971048171985,0.12441615372489982,0.11825758687385157,0.11209902002280336,0.10594045317175514,0.0997818863207069,0.09362331946965868,0.08746475261861046,0.08130618576756223,0.075147618916514,0.06898905206546578,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09626955475330927,0.09391751449513182,0.09156547423695438,0.08921343397877694,0.08686139372059949,0.08450935346242205,0.08215731320424462,0.07980527294606717,0.07745323268788973,0.07510119242971229,0.07274915217153484,0.0703971119133574,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.188591350259226,0.016344583689132917,0.07334108065636566,0.012588340596160834,0.01694377946415379,0.02129921833214675,0.025654657200139708,0.030010096068132666,0.034365534936125625,0.03536087817360487,0.03635622141108412,0.03735156464856337,0.03834690788604262,0.03934225112352186,0.040337594361001115,0.04133293759848036,0.04232828083595961,0.043096615966645345,0.04386495109733108,0.04463328622801682,0.04540162135870255,0.046169956489388285,0.04693829162007402,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20617620345140786,0.31244323342415986,0.07084468664850137,0.05510142294883439,0.039358159249167426,0.023614895549500456,0.028701180744777476,0.0337874659400545,0.03887375113533152,0.04396003633060854,0.04904632152588556,0.04904632152588556,0.04904632152588556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12263715998155833,0.11975564776394654,0.11687413554633472,0.11399262332872293,0.1111111111111111,0.10822959889349931,0.10534808667588752,0.10246657445827571,0.09958506224066391,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5518672199170125,0.44813278008298757,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07266355140186916,0.09766355140186915,0.12266355140186916,0.02009345794392523,0.010046728971962616,0.015153538050734312,0.020260347129506008,0.025367156208277706,0.0304739652870494,0.0355807743658211,0.0406875834445928,0.045794392523364494,0.05090120160213619,0.05600801068090788,0.06111481975967958,0.06622162883845127,0.07132843791722297,0.07643524699599467,0.08154205607476636,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03650390441245649,0.03928294868176325,0.04206199295107,0.04484103722037676,0.047620081489683525,0.050399125758990276,0.053178170028297035,0.05595721429760379,0.05873625856691055,0.06151530283621731,0.06429434710552406,0.06707339137483083,0.06985243564413758,0.07263147991344433,0.061874745193966185,0.05111801047448803,0.04036127575500987,0.029604541035531715,0.01884780631605356,0.008091071596575405,0.026154859347069334,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06354067439227991,0.16468219730133968,0.07472573692575239,0.039036542336980284,0.21323012829768836,0.11827608679012401,0.023322045282559666,0.029509526684055088,0.02847827978380585,0.027447032883556616,0.026415785983307377,0.025384539083058138,0.024353292182808906,0.023322045282559666,0.02229079838231043,0.021259551482061195,0.020228304581811955,0.01919705768156272,0.018165810781313484,0.017134563881064244,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07621745582085525,0.06847044766915264,0.06072343951745004,0.05297643136574743,0.04522942321404483,0.03748241506234222,0.029735406910639615,0.021988398758937003,0.05652232564413867,0.09105625252934034,0.08284245394726981,0.07462865536519928,0.06641485678312874,0.058201058201058205,0.049987259618987666,0.041773461036917134,0.033559662454846595,0.02534586387277606,0.017132065290705517,0.00971266693646297,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1846916640842888,0.17074682367524013,0.15680198326619152,0.14285714285714285,0.1289123024480942,0.11496746203904554,0.1010226216299969,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17047284553977504,0.22186864916430257,0.19346532952394507,0.043028791456089656,0.04532803985450665,0.07697007733748353,0.1086121148204604,0.14025415230343727,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1691218216567397,0.13097749775046416,0.09283317384418864,0.10416923797697734,0.11550530210976606,0.12684136624255476,0.06985466546691421,0.19069693495239512,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21095008051529793,0.1932367149758454,0.17552334943639292,0.15780998389694043,0.14009661835748793,0.12238325281803543,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027961362480935434,0.21708185053380782,0.298932384341637,0.21386205727842736,0.12879173021521775,0.043721403152008134,0.03965429588205389,0.029994916115912554,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15008337965536409,0.1083935519733185,0.06670372429127293,0.17898832684824903,0.18232351306281266,0.1434130072262368,0.10450250138966091,0.06559199555308505,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34615384615384615,0.28205128205128205,0.21794871794871795,0.15384615384615385,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25496242842095396,0.12936692498720542,0.016697045185878483,0.03838359312807194,0.03696197856777298,0.03743585008787263,0.037909721607972284,0.038383593128071936,0.038857464648171594,0.03933133616827125,0.039805207688370904,0.040279079208470556,0.04075295072857021,0.04122682224866986,0.04170069376876952,0.042174565288869176,0.04264843680896883,0.04312230832906848,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2895622895622896,0.26262626262626265,0.1750841750841751,0.2727272727272727,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25120772946859904,0.3333333333333333,0.41545893719806765,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04938582023728664,0.22916485227282632,0.1409232137539794,0.05268157523513249,0.21702324461349332,0.3108212938872817,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.051086819811551595,0.05449609075023394,0.08151706908055827,0.1085380474108826,0.13555902574120693,0.16258000407153125,0.1896009824018556,0.2166219607321799,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08040201005025126,0.1402010050251256,0.2,0.25979899497487435,0.31959798994974875,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16794871794871796,0.3012820512820513,0.1948717948717949,0.08846153846153847,0.08547008547008549,0.08247863247863249,0.0794871794871795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16968911917098448,0.15692079940784606,0.14415247964470765,0.13138415988156923,0.11861584011843082,0.1058475203552924,0.09307920059215397,0.08031088082901555,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2814009661835749,0.26046698872785834,0.23953301127214172,0.21859903381642515,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10097719869706841,0.2003257328990228,0.2996742671009772,0.3990228013029316,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29523809523809524,0.3333333333333333,0.37142857142857144,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6102877070619006,0.3897122929380994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17252747252747253,0.18626373626373627,0.2,0.21373626373626373,0.22747252747252747,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17252747252747253,0.18626373626373627,0.2,0.21373626373626373,0.22747252747252747,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07766990291262135,0.1925566343042071,0.30744336569579284,0.4223300970873786,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11185653624261802,0.13716247848101418,0.16246842071941037,0.11749257936886139,0.13724962054911338,0.15700666172936537,0.17676370290961738,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06934550531711299,0.09539961306758549,0.12145372081805798,0.1475078285685305,0.173561936319003,0.1522362008111198,0.13091046530323663,0.10958472979535343,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8865820781850224,0.11341792181497753,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16849816849816854,0.18524332810047098,0.1630908773765917,0.1409384266527124,0.11878597592883307,0.09663352520495379,0.07448107448107448,0.052328623757195186,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11912689604143545,0.12504624491305957,0.13096559378468367,0.11921938586755455,0.10747317795042545,0.09572697003329633,0.08398076211616722,0.0722345541990381,0.06048834628190898,0.04874213836477988,0.03699593044765075,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17327459618208513,0.15773372491434162,0.14219285364659812,0.1266519823788546,0.11111111111111109,0.09557023984336757,0.08002936857562407,0.06448849730788057,0.04894762604013704,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7866323907455013,0.2133676092544987,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35224664591646987,0.35536468730971443,0.21591778469451003,0.07647088207930564,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20780069774635718,0.37983242292981684,0.41236687932382615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2286634460547504,0.2769726247987117,0.3252818035426731,0.16908212560386474,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6923076923076923,0.3076923076923077,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +univ,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +univ,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +univ,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +univ,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6068376068376068,0.39316239316239315,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3132295719844358,0.6867704280155642,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08513931888544891,0.19504643962848298,0.30495356037151705,0.4148606811145511,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5741240775016045,0.4258759224983955,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4473900865572866,0.5526099134427134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9055322430192194,0.09446775698078058,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5487170742258266,0.45128292577417334,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5333333333333333,0.4666666666666667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09201672590762042,0.41732539696835885,0.4906578771240207,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6426934132482853,0.3573065867517147,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11180906763538966,0.6909672572135741,0.19722367515103625,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016659486459842252,0.054162990536770414,0.22174370883985103,0.5023617372285456,0.20507207693499083,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14311270125223613,0.8568872987477638,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.47584973166368516,0.3333333333333333,0.1908169350029815,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.051193399260297694,0.025396725414288307,0.3847333534384931,0.538676521886921,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1279287839923879,0.2153801011746843,0.570239241275572,0.08645187355735588,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09267989204622887,0.03707195681849155,0.6306742820685152,0.23957386906676437,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23054452041543239,0.14573280565120597,0.4013624811377476,0.2223601927956141,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16950971661283135,0.17506741223948158,0.18062510786613178,0.14390854072500542,0.10719197358387905,0.22369724897267088,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4536153906141525,0.5463846093858474,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04527992236159431,0.015964075191587736,0.22496775807484817,0.5077065464442009,0.17676585075776238,0.02931584717000657,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05927800943069082,0.08597847084620198,0.11267893226171316,0.1393793936772243,0.16607985509273548,0.059657996670631146,0.14553511289714477,0.23141222912365841,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11800302571860817,0.1267019667170953,0.13540090771558244,0.14409984871406958,0.15279878971255673,0.32299546142208774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00951401798508773,0.023458168732490608,0.03740231947989348,0.05134647022729637,0.46242635132732807,0.4158526722479037,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03173903467071831,0.15809632364282328,0.19404696806396773,0.1703937077002714,0.14674044733657512,0.15869517335359154,0.14028834523205277,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15854072111587478,0.4985908288189267,0.3428684500651985,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04159414620791529,0.04086208923465598,0.04013003226139667,0.03939797528813737,0.03866591831487806,0.037933861341618746,0.049746598864666695,0.06155933638771463,0.07287294415626759,0.10061646556044676,0.19211667232016158,0.22627215537105916,0.058231804691081406,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08057377773677585,0.0699757853497765,0.059377792962777155,0.048779800575777806,0.03818180818877846,0.027583815801779116,0.016985823414779774,0.07375041277528313,0.13051500213578648,0.1872795914962898,0.1514253270194952,0.11557106254270062,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2697023700131242,0.3333333333333333,0.39696429665354244,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.041618603129463645,0.021423922286053016,0.589433358157443,0.34752411642704034,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05101380411961914,0.04551231544005237,0.0400108267604856,0.03450933808091883,0.26780187028311364,0.5611518453158105,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020775619443378277,0.06858617957269111,0.15741527039790465,0.4751492549592706,0.2780736756267554,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1184393129692698,0.22056032059610686,0.04000616793628669,0.0921194656427654,0.3626874961592306,0.16618723669634067,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.036320629632893585,0.08936786501777765,0.1424151004026617,0.136577281475552,0.13073946254844235,0.12490164362133267,0.119063824694223,0.11322600576711332,0.10738818684000365,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15369778124805483,0.14176494097070932,0.1298321006933638,0.11789926041601828,0.10596642013867277,0.09403357986132724,0.08210073958398172,0.07016789930663621,0.05823505902929068,0.046302218751945165,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.059516812275742875,0.015192449449334365,0.6152158911029422,0.3100748471719806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08520118158205886,0.09880660586610492,0.11241203015015097,0.3033340496115185,0.34582443565398246,0.054421697136184194,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10730619042776189,0.08597825195764773,0.06465031348753356,0.23060833470810937,0.24735508137568554,0.2641018280432617,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.031951964650355096,0.035216621908108765,0.038481279165862435,0.07478314145794296,0.36996485694765585,0.4496021358700749,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05473316691085079,0.03709189823710549,0.05820110861594601,0.07931031899478654,0.10041952937362707,0.25049056599034164,0.3297377076190011,0.09001570425834138,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2686135627325292,0.21454481016962074,0.1604760576067123,0.10640730504380383,0.09486336326312425,0.08331942148244467,0.07177547970176511,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01028108078465097,0.044609435268994045,0.07893778975333711,0.1273158868811047,0.36215125509934526,0.37670455221256793,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.037255364300872444,0.03867012497052583,0.04008488564017921,0.04149964630983259,0.04291440697948598,0.04432916764913936,0.045743928318792745,0.055018470486520483,0.06429301265424822,0.07356755482197597,0.0828420969897037,0.09211663915743143,0.10139118132515917,0.04244282008960151,0.02546569205376091,0.055883046451308656,0.0985616599858524,0.017920301815609527,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17249640632486826,0.19980833732630573,0.2271202683277432,0.400574988021083,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02267178936083348,0.061081177187564666,0.09949056501429585,0.48744347125791976,0.3293129971793863,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13108068744538307,0.12389552383726576,0.11671036022914846,0.10952519662103118,0.09767938634818915,0.08583357607534713,0.0739877658025051,0.09729099912612876,0.08709583454704341,0.07690066996795805,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18461538461538463,0.17702564102564103,0.16943589743589746,0.16184615384615383,0.15425641025641026,0.10235897435897437,0.05046153846153847,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1491276071407475,0.05783162864425051,0.5619316617757604,0.2311091024392417,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0164822168963971,0.06607486203997487,0.05452519103298739,0.042975520025999914,0.031425849019012436,0.1369844700828747,0.07010381704241235,0.2171772969675845,0.3642507768927567,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04203046460917094,0.1345487434135045,0.2270670222178381,0.21989108923578451,0.37646268052370185,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05107327905255366,0.053047125585985684,0.05502097211941771,0.056994818652849735,0.3774981495188749,0.08364174685418209,0.32272390821613617,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06596558317399617,0.20267686424474188,0.3393881453154876,0.24378585086042068,0.14818355640535372,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06398186532624235,0.05587749571825165,0.2439476247282362,0.6361930142272698,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.041237113402061855,0.06731352334748333,0.09338993329290479,0.11946634323832626,0.14554275318374774,0.24378411158277746,0.17768344451182536,0.11158277744087326,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013833329757978784,0.059370644975388104,0.10490796019279741,0.33588329242612835,0.4860047726477075,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027228077760005277,0.036071676065370414,0.04491527437073556,0.05375887267610069,0.06260247098146583,0.07144606928683098,0.5480748555562353,0.155902703303256,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21354838709677418,0.18043010752688174,0.14731182795698924,0.11419354838709678,0.11548387096774193,0.22903225806451613,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0055243063209808605,0.017998546400615063,0.6290648968433229,0.34741225043508117,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04013132657577877,0.03935459122269918,0.03857785586961959,0.03780112051654,0.03702438516346041,0.036247649810380825,0.04530956226297603,0.2569543569471737,0.4685991516313714,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03967048198773749,0.07450310031843381,0.6140472096682208,0.271779208025608,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.052612612612612616,0.08036036036036036,0.1081081081081081,0.09981981981981981,0.09153153153153154,0.08324324324324325,0.29153153153153155,0.1927927927927928,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07299731395165113,0.06762521725391056,0.06225312055617,0.05688102385842945,0.05150892716068889,0.04613683046294832,0.04554996275647247,0.044963095049996606,0.044376227343520744,0.04378935963704489,0.04320249193056903,0.042615624224093165,0.04202875651761731,0.06967925422657606,0.09732975193553482,0.1690630431347764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21478382147838215,0.19502556950255695,0.17526731752673175,0.15550906555090654,0.13575081357508134,0.12366341236634124,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020124310892093003,0.04082913075222715,0.7091584394614904,0.22988811889418947,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004956991890556389,0.03295823184957144,0.029080792808445388,0.025203353767319334,0.15146246254398638,0.24936779833241918,0.17903003177173424,0.10869226521104929,0.03835449865036434,0.029113186868067673,0.019871875085771012,0.023097878129115557,0.10881063309159981,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1013790532985464,0.19977636973537088,0.2981736861721953,0.2329481923220276,0.16772269847185986,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10265324385573343,0.12412879525393787,0.61808366367442,0.15513429721590868,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5536810482529326,0.2672843612940233,0.1790345904530441,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18304515480825578,0.3072127279743656,0.11367453881404418,0.39606757840333445,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2646171563413972,0.7353828436586028,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05744822251036916,0.10113560017288818,0.14482297783540718,0.1885103554979262,0.2321977331604452,0.2758851108229642,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15068834954313767,0.1480779473144727,0.1454675450858078,0.14285714285714285,0.14024674062847792,0.13763633839981299,0.13502593617114805,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2585227272727273,0.39488636363636365,0.3465909090909091,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.726291528612343,0.2737084713876569,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02628736046092905,0.04417236826311365,0.04363461769295401,0.04309686712279437,0.042559116552634724,0.04202136598247508,0.04148361541231543,0.04094586484215579,0.04040811427199615,0.0398703637018365,0.03933261313167685,0.038794862561517214,0.03825711199135757,0.037719361421197924,0.03718161085103828,0.03664386028087863,0.03610610971071899,0.03556835914055935,0.0350306085703997,0.03449285800024006,0.033955107430080414,0.03341735685992077,0.032879606289761124,0.03234185571960148,0.03180410514944183,0.031266354579282195,0.030728604009122546,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12659238674281043,0.12458726381023506,0.1225821408776597,0.12057701794508431,0.11857189501250893,0.11656677207993357,0.11456164914735821,0.15596087438440978,0.0,0.0,0.0,0.0 +univ,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1007532956685499,0.10334274952919022,0.1059322033898305,0.1085216572504708,0.1111111111111111,0.11370056497175142,0.11629001883239172,0.118879472693032,0.12146892655367231,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +univ,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +univ,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +univ,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +univ,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +univ,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,1,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,1,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,1,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.1727600966559883,0.18638004832799415,0.2,0.21361995167200587,0.22723990334401173,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45503900670033276,0.5449609932996673,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07207207207207207,0.13603603603603603,0.19999999999999998,0.26396396396396393,0.3279279279279279,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2605142544601916,0.11453512341561767,0.105724729306724,0.1002427063056346,0.09476068330454522,0.08927866030345583,0.08379663730236643,0.07831461430127704,0.07283259130018764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14802631578947367,0.14144736842105263,0.13486842105263158,0.1282894736842105,0.12171052631578946,0.11513157894736842,0.10855263157894737,0.10197368421052631,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24255877079990534,0.7574412292000947,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13020532802897516,0.8697946719710248,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36629173555652367,0.6337082644434764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2930716549078153,0.45872521994046955,0.24820312515171522,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2165788362617469,0.20828941813087348,0.2,0.19171058186912654,0.1834211637382531,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08038391693322235,0.1488815967311178,0.13623271041457558,0.12358382409803335,0.11093493778149112,0.09828605146494888,0.08563716514840665,0.07298827883186443,0.060339392515322186,0.04769050619877996,0.03504161988223773,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3970966305386801,0.60290336946132,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20199407927770338,0.3210323532359298,0.26600197357409894,0.21097159391226797,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.837333318376898,0.162666681623102,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19482379825488189,0.6495539106515239,0.15562229109359427,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.352015732546706,0.3333333333333333,0.31465093411996065,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26368584896043995,0.4657324622836093,0.24543805034652,0.025143638409430704,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4148902934059782,0.3049634311353261,0.19503656886467394,0.08510970659402177,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2543635650942064,0.2271817825471032,0.2,0.1728182174528968,0.14563643490579362,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05914123411441274,0.521074801750657,0.4197839641349303,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5396967656812044,0.33333333333333326,0.12696990098546224,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8808600260411872,0.11913997395881279,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7087689525451243,0.2280970441604621,0.06313400329441361,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8800773694390716,0.11992263056092843,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3532608695652174,0.22826086956521743,0.21557971014492758,0.20289855072463772,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2647058823529412,0.2549019607843137,0.24509803921568626,0.23529411764705882,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3398643556895252,0.6601356443104748,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5257611241217799,0.47423887587822017,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36282538140816734,0.33333333333333337,0.30384128525849935,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.540500299547154,0.29609263314789264,0.16340706730495352,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7495527728085868,0.2504472271914132,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2825342465753425,0.2608447488584475,0.23915525114155253,0.21746575342465754,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5167652859960552,0.4832347140039448,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13413892500025124,0.48888649524884953,0.2886203583332496,0.08835422141764969,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9029126213592233,0.0970873786407767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38801261829652994,0.2754994742376446,0.33648790746582546,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37690082406112624,0.4099622998559619,0.21313687608291182,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05227134704452734,0.1549138020880133,0.25755625713149927,0.066907324216995,0.11151220702832498,0.15611708983965497,0.200721972650985,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5847375351203624,0.19436590370060813,0.22089656117902942,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28730285955769175,0.2390483824012817,0.1907939052448717,0.14253942808846165,0.09428495093205162,0.046030473775641595,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34857720841250517,0.3114294509884374,0.3399933405990575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2993665780701614,0.7006334219298386,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4349304956691603,0.4725834891104834,0.09248601522035628,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.46633825944170776,0.3333333333333333,0.20032840722495895,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5508707121700072,0.1958715606640551,0.1497097626099976,0.10354796455594013,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40484861825334123,0.5951513817466588,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2739018087855297,0.7260981912144703,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6802045867930564,0.3197954132069436,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.744136460554371,0.255863539445629,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,FALSE,1,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +social,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0713631751345073,0.9286368248654927,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09708866440808514,0.9029113355919149,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3796147966529946,0.6203852033470054,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2706422018348624,0.7293577981651376,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3057750441191927,0.6942249558808073,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1849003018499856,0.1924501509249928,0.2,0.20754984907500723,0.2150996981500144,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19103999982137476,0.8089600001786252,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6443298969072165,0.3556701030927835,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.39652699833413,0.60347300166587,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35272040998684673,0.6472795900131533,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.030104906976453003,0.25427529897755624,0.7156197940459907,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5619564536260012,0.4380435463739988,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2508860686994196,0.38861759870763396,0.36049633259294633,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06805774250839267,0.4699781446180421,0.46196411287356526,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06083063127782108,0.5437702654163419,0.39539910330583705,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5333740335204944,0.46662596647950555,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03888509140431072,0.24892376658329166,0.4589624417622727,0.2532287002501249,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.42424242424242425,0.5757575757575758,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029345487252255453,0.04359900963192239,0.4644944556220839,0.46256104749373833,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4665477880927788,0.43781885304529133,0.09563335886192975,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23170303981370644,0.1377345847781477,0.6305623754081459,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13520780419331854,0.4352891767329207,0.4295030190737606,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04190260475651189,0.1857304643261608,0.4269535673839185,0.34541336353340885,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.47875354107648727,0.5212464589235127,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01625442411128044,0.020417142481242503,0.05156425768184043,0.08271137288243836,0.4104992348697928,0.4185535679734054,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04911064585114254,0.512153878161915,0.23017447657193357,0.2085609994150088,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5855614973262032,0.4144385026737968,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04566771826699819,0.09429418233033633,0.05569074886498805,0.30614387625441075,0.4982034742832666,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5695356271875593,0.4304643728124407,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24438558937553653,0.21826804547280745,0.19215050157007835,0.34519586358157767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15210962419512913,0.4036657387255018,0.444224637079369,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18382748419752196,0.36411481819978336,0.4520576976026947,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22061774649554008,0.2850350808014905,0.236959801791506,0.2573873709114634,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0628517131640475,0.30122623505441326,0.3123827622786508,0.32353928950288835,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026392889972698712,0.04672519039611105,0.06705749081952339,0.5647679312494203,0.2950564975622466,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23908409432557542,0.13013755431936352,0.630778351355061,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3513535655031882,0.6486464344968118,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12148592250021449,0.3333333333333333,0.5451807441664521,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008076856792209751,0.02509699915727522,0.05904684469371758,0.09299669023015995,0.41336598513513173,0.40141662399150585,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09053944440079378,0.09354894373323747,0.09655844306568116,0.21373441547413025,0.15276320829601384,0.3528555450301435,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1239929314582538,0.1322358944435243,0.021705348059778057,0.08684625657066987,0.15198716508156168,0.21712807359245348,0.2661043307937588,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007184014334742554,0.0036882033528235366,0.07435454836458544,0.4547362897479444,0.46003694419990415,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03602513946145006,0.17191908340814901,0.4069921158233732,0.2640185923768003,0.12104506893022737,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20689655172413793,0.3333333333333333,0.4597701149425288,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02490829360648896,0.047975075623847195,0.07104185764120542,0.5661639798592052,0.2899107932692532,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13053800281503503,0.11983816651872066,0.5527468428140605,0.19687698785218394,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7595425327006317,0.24045746729936837,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3566571187327726,0.6433428812672274,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11593823019053019,0.32896291162920543,0.5550988581802644,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07034870889405878,0.43331811116659613,0.030834276406317914,0.46549890353302725,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015402930678954891,0.04105230953414507,0.06670168838933524,0.09235106724452541,0.11800044609971559,0.14364982495490577,0.16929920381009594,0.19494858266528614,0.15859394662303591,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11746066660201167,0.13734827183572948,0.15723587706944725,0.17712348230316508,0.19701108753688287,0.08369951691999634,0.13012109773276742,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.032519582095680996,0.192267240963123,0.352014899830565,0.4231982771106309,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.269509772968535,0.123076129655631,0.607414097375834,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5780590717299579,0.4219409282700422,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01715636844579454,0.01591827761902084,0.014680186792247139,0.0364731269034292,0.2990806769557118,0.6166913632837966,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.824957650398656,0.17504234960134404,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008066758290600223,0.0629806108419088,0.28168803340620246,0.6472645974612886,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0920353982300885,0.9079646017699115,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021425738587361368,0.3515059415726255,0.6270683198400132,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028474586441788588,0.3293415313250571,0.40305411089839327,0.23912977133476104,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11459139132741354,0.20486379710913785,0.2951362028908622,0.3854086086725865,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.032825038100548265,0.6006586209812026,0.3665163409182492,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04203879115922417,0.02661253946774921,0.011186287776274244,0.2635994587280108,0.5160126296797474,0.10193955796120883,0.03861073522778529,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19612794612794612,0.18434343434343434,0.17255892255892255,0.16077441077441076,0.14898989898989898,0.1372053872053872,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06800634126482513,0.5262882107210973,0.4057054480140776,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11138663445922742,0.49326040927733084,0.3953529562634418,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02513247539742619,0.1125662376987131,0.2,0.2874337623012869,0.3748675246025738,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.100748706449145,0.47907023664146237,0.4201810569093927,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21379396412009713,0.043459756640806625,0.06416097774758246,0.0848621988543583,0.10556341996113414,0.12626464106790997,0.08950289913354396,0.05274115719917797,0.015979415264811978,0.1405603832865059,0.06311118672407147,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14600039730288936,0.13498213602412967,0.12396387474536998,0.11294561346661029,0.1019273521878506,0.09090909090909091,0.07989082963033124,0.06887256835157154,0.057854307072811854,0.046836045794052164,0.03581778451529247,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5997961769251648,0.4002038230748351,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.060584913761052545,0.5767320550020294,0.3626830312369181,0.0,0.0,0.0,0.0,0.0 +social,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15217780105835207,0.19110700598025612,0.23003621090216012,0.14710510628152088,0.2795738757777108,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08832919474991131,0.4519333096842852,0.45973749556580346,0.0,0.0,0.0,0.0 +social,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +social,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3773671666472826,0.5302247531373212,0.09240808021539604,0.0,0.0,0.0 +social,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +social,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2632821723730815,0.7367178276269185,0.0,0.0 +social,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29362214199759323,0.3333333333333333,0.3730445246690734,0.0,0.0,0.0,0.0,0.0 +social,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +social,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.620614965473255,0.37938503452674505,0.0 +social,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18826739427012282,0.21214188267394274,0.23601637107776263,0.19986357435197818,0.16371077762619374,0.0 +social,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +social,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00895094880057286,0.06544933762978877,0.12194772645900467,0.17844611528822057,0.23494450411743645,0.2914428929466523,0.09881847475832438 +social,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37439613526570054,0.3333333333333333,0.2922705314009662,0.0,0.0 +social,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +social,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,3,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,3,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,4,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,5,2,0.0,0.0,0.0,0.0,0.009448074954727971,0.01763640658215888,0.01994832189305065,0.02226023720394242,0.02457215251483419,0.026884067825725957,0.029195983136617726,0.031507898447509494,0.03381981375840126,0.03613172906929303,0.038443644380184806,0.04075555969107657,0.043067475001968336,0.045379390312860104,0.04769130562375187,0.05000322093464365,0.05231513624553541,0.054627051556427185,0.05693896686731896,0.05925088217821072,0.06156279748910248,0.06387471279999427,0.06618662811088603,0.06849854342177779,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,0.11789729565481614,0.13460954117289578,0.15132178669097537,0.1406259495594044,0.12993011242783345,0.11923427529626253,0.10853843816469157,0.09784260103312062,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09379320170969783,0.0671267999048568,0.06398719883402126,0.14711586740471555,0.1333978140934332,0.11967976078215087,0.10596170747086854,0.09224365415958619,0.07852560084830386,0.06480754753702152,0.03336084725534442,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01218603369900713,0.01394296048168697,0.015699887264366812,0.033935989744702716,0.05217209222503863,0.07040819470537453,0.06865524342922767,0.06690229215308081,0.06514934087693396,0.0633963896007871,0.06164343832464024,0.05989048704849338,0.058137535772346524,0.056384584496199666,0.05463163322005281,0.05287868194390595,0.05112573066775909,0.04937277939161223,0.04761982811546537,0.04586687683931851,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37849770863744325,0.3092310117531788,0.18349594750832446,0.051666698593735794,0.014482332181577457,0.06262630132574036,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3645774999515349,0.22814326522511022,0.09170903049868552,0.14582305470598442,0.07860774042744473,0.09113940919124028,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02394522230649826,0.09521188294666857,0.07349222622233544,0.051772569498002276,0.03005291277366913,0.01808493866026107,0.049999536296015896,0.05008136859764604,0.05016320089927618,0.05024503320090632,0.05032686550253646,0.0504086978041666,0.050490530105796745,0.05057236240742688,0.05065419470905703,0.05073602701068716,0.05081785931231731,0.050899691613947445,0.05098152391557759,0.05106335621720773,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3074641634018206,0.21830950761307477,0.05115834845672012,0.08150652127002866,0.05975699742049088,0.038007473570953076,0.03528577235833096,0.03256407114570885,0.029842369933086733,0.02712066872046462,0.0243989675078425,0.021677266295220387,0.018955565082598273,0.016233863869976158,0.01351216265735404,0.010790461444731924,0.008068760232109813,0.0053470590194876965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22836752899197138,0.19999999999999998,0.1716324710080285,0.03960749330954504,0.10883140053523638,0.08373476063038951,0.058638120725542656,0.033541480820695795,0.07564674397859053,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07321899736147758,0.13720316622691292,0.20118733509234826,0.17335092348284958,0.14551451187335093,0.11767810026385225,0.08984168865435357,0.06200527704485488,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28794228796444643,0.34931890528993664,0.14360343442778906,0.11585584978252385,0.08810826513725863,0.010875238635887385,0.004296018762157993,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011511540072972518,0.01329898636323887,0.5891939731953479,0.11185561093609188,0.04488407897593119,0.04266758124872471,0.04045108352151824,0.03823458579431175,0.03244863556221615,0.026662685330120554,0.02087673509802495,0.01509078486592935,0.00930483463383375,0.003518884401738145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02307464397459495,0.1391140908032589,0.25515353763192283,0.5826577275902234,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1773848979066007,0.5226857170317051,0.13226171880470786,0.03505442152818456,0.011684807176061521,0.012810394142056244,0.007386947065326249,0.006916868615714579,0.0064467901661029075,0.006863145364330387,0.007279500562557867,0.007695855760785346,0.008112210959012826,0.008528566157240305,0.008944921355467785,0.009361276553695265,0.009777631751922743,0.010193986950150221,0.010610342148377703,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2013204683037073,0.2511078897976021,0.08773966678310827,0.06310044528922171,0.03265197645124805,0.12640120945237743,0.09960856006369995,0.0728159106750225,0.04602326128634504,0.019230611897667563,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19778650481970725,0.30846126383434486,0.17243841485183864,0.03641556586933238,0.28489825062477686,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5318651376435859,0.3116109415591982,0.10172619927737825,0.03902164952475954,0.005938634226012122,0.005258690665026085,0.0045787471040400485,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.037700633587828526,0.49953956257962817,0.15506813794389623,0.12368370645761832,0.019668498741526225,0.04503697309681138,0.03117944291317711,0.017321912729542838,0.015744277280624462,0.014166641831706083,0.012589006382787702,0.011011370933869323,0.009433735484950946,0.007856100036032567,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12828877467293406,0.045295705239688476,0.1349627135713167,0.253286188483156,0.276858443250749,0.0614727428252915,0.021261249398221122,0.07857418255864328,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20611364302468738,0.5103012861025172,0.12663096385382427,0.09625198913886096,0.03978857726718648,0.020913540612923446,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06770329057279621,0.26062153061781546,0.21348932875660656,0.07366798120785689,0.09732887214621118,0.02568844002547541,0.15460930673717807,0.03191110562170858,0.023931138436948746,0.015951171252188905,0.013825224730296794,0.011699278208404685,0.009573331686512575,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014338749850784822,0.23007900550516633,0.11441737125830337,0.035115305757024054,0.03540793330499926,0.024495115361979226,0.10018213584753735,0.17586915633309547,0.13295044929673275,0.09003174226037002,0.047113035224007276,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2324714643400901,0.4671897115614365,0.1062655753224072,0.10415639285833139,0.026426815579302668,0.019353147308089867,0.01457732114410341,0.009801494980116952,0.007133999510844616,0.005055834435946402,0.002977669361048188,0.004590573598282623,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04274324797381696,0.2244998764353529,0.12301884623733342,0.15704353274789343,0.12243720036777822,0.06819553802942319,0.036380175459915405,0.03456462487850328,0.032749074297091146,0.03093352371567902,0.029117973134266895,0.02730242255285477,0.025486871971442643,0.02367132139003051,0.021855770808618384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09050744058763198,0.06605041884083758,0.11338030139397878,0.16071018394711997,0.05636641380087191,0.06072070204676423,0.07042840049311211,0.0653842042415784,0.0603400079900447,0.055295811738511,0.050251615486977284,0.04520741923544359,0.04016322298390988,0.03511902673237618,0.03007483048084247,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1765164876279124,0.41777168300190703,0.2739573406142308,0.03615743792966248,0.02438449012219565,0.019173764524264936,0.01396303892633422,0.008752313328403505,0.011563275273292224,0.00977448130836304,0.007985687343433856,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03684838748795553,0.21748562781982092,0.2849179586582403,0.16377527565490302,0.2094528840298806,0.0875198663491996,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08778249089761599,0.24884115555669428,0.1776725850674797,0.10650401457826515,0.0868455632892863,0.06718711200030746,0.06282897506121958,0.058470838122131705,0.05411270118304382,0.049754564243955954,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.39777388159439114,0.36164102290530453,0.15978009518440756,0.03547799912013357,0.02222357810053311,0.001298690923262249,0.0029596877711541357,0.004620684619046023,0.006281681466937909,0.007942678314829796,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07074869950068759,0.13608832402647267,0.43482836681822035,0.1619359121904627,0.07312881470664583,0.049052431653810055,0.020124074524640025,0.04999574764715256,0.004097628931908383,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17419949112363547,0.1333870389175266,0.12820851465898378,0.15813841654613428,0.18806831843328475,0.21799822032043523,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2041956121912957,0.6372959605962542,0.08787041142485355,0.031020694464213724,0.01335932928346631,0.008675886258802834,0.008752664013305515,0.008829441767808194,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45290663663935143,0.1014376365264997,0.26726230518031435,0.13997762235702735,0.012692939533740342,0.012805266432269018,0.012917593330797693,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04637979036315719,0.1841592537181373,0.08903795750336368,0.32687293999472333,0.16441352757496383,0.06249247948993848,0.06304551028188485,0.0635985410738312,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3197193777337474,0.363024668293224,0.2159467595457632,0.0023617500541201074,0.007493807554792001,0.00802734908424145,0.0085608906136909,0.009094432143140352,0.009627973672589801,0.01016151520203925,0.0106950567314887,0.011228598260938149,0.011762139790387599,0.012295681319837048,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.046273342424809384,0.14004110934552144,0.3281945817677814,0.27259311306031475,0.0269439715384966,0.020791706542943284,0.01463944154738997,0.0163553930809976,0.01807134461460523,0.01978729614821286,0.021503247681820492,0.02321919921542812,0.02493515074903575,0.026651102282643377,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19082758492930205,0.08333609721596101,0.3236822326648921,0.059180706718581014,0.11111479628794803,0.09420049517452665,0.07728619406110528,0.06037189294768391,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19422701931443548,0.3615343497177918,0.2908424848478509,0.1195934069905581,0.033802739129363615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09290775144574813,0.14467064153695067,0.3687281841893082,0.22907322426877214,0.11630816780743175,0.048312030751789026,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6321963828935353,0.09271472030204463,0.11831000047261336,0.15677889633180667,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3615990991658287,0.4681672313857434,0.09617185170693772,0.07040500158713311,0.003656816154356872,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4306714329767538,0.22525560332973582,0.2723080179226087,0.0717649457709016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16393442622950818,0.22131147540983606,0.2786885245901639,0.3360655737704918,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5439119621280595,0.3194385004442706,0.06635290736423695,0.0657717895076259,0.004524840555807187,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19822346025298487,0.4355548372289958,0.16761483131676955,0.19860687120124984,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.45388852604226115,0.5009630715768559,0.03843211111761107,0.006716291263271838,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20221028025193286,0.3773974516864994,0.39639844577716055,0.023993822284407173,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4572087684461588,0.30649047967187654,0.15577219089759428,0.08052856098437024,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29221500244820475,0.32809317574375146,0.36976660869164996,0.009925213116393883,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10804393117566898,0.20884446843687382,0.3343143925246994,0.0985852454694637,0.05667653788123015,0.08340398746443142,0.11013143704763269,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4150441651555516,0.4265644219935665,0.15839141285088187,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2475031196429815,0.616882611274848,0.05631581182485507,0.05180301227864825,0.027495444978667148,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5295248428537269,0.2754320809416693,0.1950430762046038,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6988529856045383,0.3011470143954617,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12778187154690668,0.41223158972336715,0.149549537236457,0.0990592499117114,0.048568962586965796,0.043233227657616655,0.03789749272826752,0.032561757798918387,0.027226022869569252,0.02189028794022011,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2878278412911903,0.3819771351714862,0.2373907195696032,0.09280430396772024,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6993464052287581,0.3006535947712418,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2734971564218571,0.6363639637834992,0.09013887979464368,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07342788399304202,0.3158498116417527,0.4328008931512958,0.17792141121390953,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5701504275765424,0.42984957242345767,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6022842817139121,0.23782653023895922,0.06039243937956222,0.03959120224693296,0.029779858860238723,0.019968515473544488,0.010157172086850248,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05668631385386458,0.7676790415825222,0.17563464456361322,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16805740023348803,0.831942599766512,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30431885447637574,0.5636379946002246,0.10442081190297366,0.0276223390204259,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3201174743024964,0.307488986784141,0.2948604992657856,0.0775330396475771,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28913738019169327,0.2630457933972311,0.2369542066027689,0.2108626198083067,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6048127560135391,0.2730133330081705,0.09449369331176695,0.02768021766652353,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40437158469945356,0.3333333333333333,0.26229508196721313,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20965780620051297,0.7469092467349308,0.03244065799266249,0.010992289071893903,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36274509803921573,0.33333333333333337,0.303921568627451,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22571771408631378,0.6206072268685527,0.11216512930305718,0.04150992974207628,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06049040911712714,0.29228109184027806,0.524071774563429,0.12315672447916565,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08348358402958847,0.8228786428955804,0.09363777307483111,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7325067917114199,0.24358681044636404,0.0239063978422161,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2894248608534323,0.7105751391465677,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,FALSE,1,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10731967209016165,0.11916549567915538,0.13101131926814913,0.14285714285714285,0.1547029664461366,0.16654879003513035,0.1783946136241241 +shopping,FALSE,1,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,2,1,0.5221863323074741,0.4778136676925259,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,4,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,4,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,5,1,0.0,0.0,0.0,0.2777777777777778,0.7222222222222222,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,6,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,6,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.18573797678275292,0.3333333333333333,0.4809286898839138,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48286604361370716,0.5171339563862928,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024392583539789965,0.09690992555249645,0.1694272675652029,0.7092702233425107,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2343594836146971,0.25521350546176763,0.2760675273088381,0.2343594836146971,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11765757826754596,0.1452221406888276,0.7371202810436264,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4868421052631579,0.5131578947368421,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3297455878991699,0.67025441210083,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6673239672376567,0.3326760327623432,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2734196649143489,0.7265803350856512,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7787220616483146,0.22127793835168544,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009901240913500831,0.2648241674695887,0.7252745916169105,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029658852414291056,0.32253961248690854,0.6154203725595261,0.03238116253927429,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.30666666666666664,0.6933333333333334,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001813332891391477,0.347063285526,0.6511233815826085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012185763992413166,0.072753397690509,0.8015904943250979,0.11347034399198,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08839373172007381,0.07754068201106432,0.7710099259001068,0.06305566036875505,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5036202333304988,0.4963797666695013,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02085783282503293,0.3456664589851425,0.6334757081898247,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1978550510163979,0.693966342436525,0.10817860654707714,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24972855591748094,0.21462178791169015,0.17951501990589935,0.14440825190010856,0.21172638436482083,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011521294046691104,0.3821541560404524,0.6063245499128564,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05353858980577235,0.18380995087496263,0.6267273446893867,0.13592411462987825,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05444983277042591,0.4933881007774055,0.4521620664521686,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00378755900079062,0.03366169286739059,0.3785677340925949,0.5839830140392238,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00427621216406368,0.18209536798637835,0.18390091178930404,0.5673240865895954,0.06240342147065862,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07751059294789812,0.1087790707848343,0.537319883545647,0.2763904527216207,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17550826259006166,0.1853960520317553,0.6390956853781831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004390377376793584,0.004594046912229686,0.013395001951950602,0.43998128887488,0.5376392848841461,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0037953875935757986,0.08918154946079038,0.3915734435429205,0.44114706417272487,0.07430255522998841,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016792839465722693,0.06635790734234535,0.08334049974275602,0.36860543113143074,0.19674251088366515,0.26816081143408016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2230575539376196,0.421714180786845,0.30432988696739904,0.05089837830813642,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004290759247289161,0.02582029519028961,0.047349831133290055,0.3609567218143568,0.5615823926147744,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015761400053044588,0.03143062817595441,0.26165109152016597,0.5778741517407662,0.11328272851006897,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.042752298847456564,0.0445023929523232,0.30587018831166246,0.4196057567355801,0.1514583999702886,0.03581096318268919,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1030136927610748,0.13494191332444885,0.16687013388782293,0.10482095052881296,0.33056994518091215,0.07349514922135163,0.08628821509557666,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008596814265694384,0.010933532237242185,0.5007362854089958,0.4797333680880676,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10944865208224945,0.09713216906770378,0.22364859048063138,0.5073297766457037,0.062440811723711846,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020685957237196365,0.0595811417568047,0.09847632627641302,0.297841561820166,0.2679670064536536,0.11995498655213024,0.1354930199036362,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32407995348906354,0.11817090521751891,0.2600493608415911,0.2976997804518265,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.035655584983530254,0.44226453076216843,0.5220798842543014,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0061428372370901435,0.06475051903993999,0.04692677881858327,0.5726253910263888,0.2941346987726492,0.015419775105348728,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005562887914921539,0.03919307394603812,0.3455374036917653,0.32011197615359843,0.2046741370157539,0.08492052127792268,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20997530559799052,0.5902549340152705,0.12512853744969976,0.0746412229370392,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0069464658357319044,0.008011348324302364,0.009076230812872826,0.039339388758209026,0.3963906228409483,0.5402359434279357,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008496881472854032,0.02608264025888389,0.04366839904491375,0.1736668026621486,0.430890547748437,0.28947280436740125,0.02772192444536163,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07249447439457121,0.23324069293447725,0.16527918068287958,0.4290466024771757,0.09993904951089626,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1835422992833668,0.018835593983979788,0.2372266701766103,0.5023614442810783,0.05803399227496475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0017626173910898458,0.012529061872428806,0.023295506353767762,0.42836936726358327,0.5340434471191303,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010321245648370718,0.08691840419155379,0.048004116866744447,0.20058665799130654,0.600349003846468,0.05382057145555648,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04207045287102851,0.04013104859153881,0.03819164431204911,0.21489609725932565,0.1479240139451737,0.3524647272826864,0.16432201573819769,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10190593670277971,0.22023605862603945,0.3385661805492992,0.24547366017329092,0.05769277897988057,0.03612538496871027,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022288386499777303,0.052731657295036156,0.4797287641271753,0.4452511920780112,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007677663734778835,0.01835046002543293,0.029023256316087022,0.031583772645081144,0.13828231715717043,0.36876955822100116,0.3695752855679773,0.036737686332471126,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.041470017111732906,0.009418903303163889,0.034469178045621045,0.05951945278807819,0.11750556491238422,0.14228556053715663,0.29616734461205424,0.17288453348259664,0.12627944520721235,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16324766828135237,0.14725751013985258,0.06116850421193877,0.3611139575999621,0.20944210578895212,0.05777025397794217,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005245376504374576,0.0057065085047591545,0.05600238477576257,0.4504948853147695,0.4825508449003341,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00687674298849664,0.0064452070925267975,0.0060136711965569556,0.005582135300587112,0.013839043766038884,0.02209595223149065,0.07419588170363704,0.20045621495936045,0.28345508100182326,0.36832520601925595,0.012714863740226201,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015191761892322657,0.02985224338846443,0.04451272488460621,0.059173206380747995,0.07383368787688976,0.08849416937303153,0.10315465086917332,0.1101490490355961,0.09762657864237717,0.13890817098261213,0.19166066494797107,0.047443091726207844,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0629333514689644,0.09434063847390477,0.12574792547884517,0.15715521248378556,0.0521755305446168,0.3163780724405022,0.19126926910938125,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011760129061268635,0.01616584112846957,0.007909467333242621,0.055566173527408926,0.3312814129543772,0.5773169759952331,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05056565650952268,0.18045680583256468,0.21891425825806882,0.5125360623259962,0.03752721707384749,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16045505739303226,0.015580465522377424,0.1084640332098151,0.09064905617325196,0.0983981918111887,0.36317402436940155,0.07511517598989043,0.08816399553104254,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04537179128359189,0.08772217322589769,0.13007255516820346,0.17242293711050927,0.21477331905281508,0.0599712653928994,0.07826329249079693,0.09655531958869444,0.11484734668659195,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003717432850147403,0.007582160209451589,0.011446887568755778,0.015311614928059962,0.01917634228736415,0.023041069646668338,0.012204402187276382,0.33814750084661405,0.5693725894756622,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.041964231077246915,0.03904669129867954,0.07896040457104142,0.2748729786185463,0.441327132798033,0.1238285616364528,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09067662704220797,0.06882290757520101,0.22995331677970007,0.028703392732785257,0.23023297034880238,0.3516107855213032,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.459809404239855,0.06732650178553617,0.18006353192004837,0.29280056205456056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008681208714672844,0.011873732428696803,0.015066256142720764,0.018258779856744723,0.02145130357076868,0.024643827284792644,0.027836350998816598,0.031028874712840562,0.037470669765068076,0.3262150911665056,0.47747390535837275,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01029035654429461,0.016468703144182337,0.022647049744070065,0.028825396343957796,0.03500374294384552,0.04118208954373325,0.047360436143620975,0.06992483242147181,0.33901712080919505,0.3327470758726573,0.05653319648897119,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.042664180815171884,0.04112210199052712,0.03958002316588235,0.038037944341237584,0.03649586551659281,0.03495378669194805,0.0371314959745106,0.039309205257073154,0.1341608577440947,0.16603048678675322,0.24106420723005198,0.14238527814220014,0.007064566343956464,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05550136154234822,0.05808059865361053,0.06065983576487284,0.06323907287613514,0.06581830998739746,0.06839754709865978,0.07097678420992208,0.0735560213211844,0.04012146617519149,0.12670778253109713,0.2132940988870028,0.103647120952578,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03246514742015998,0.021166009975122677,0.5367137570941556,0.40965508551056184,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03481967732105504,0.017637418250861212,0.04096432626006474,0.06429123426926828,0.04642623642807338,0.028561238586878476,0.08606696443099142,0.2484202763146988,0.3704558203866768,0.06235680775143189,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05707376281785721,0.05320747565922818,0.04934118850059914,0.045474901341970096,0.04160861418334107,0.019661593723130043,0.16594069586402352,0.1888329725135211,0.21172524916301871,0.05814107014243522,0.1089924760908757,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11470215710705373,0.12180760046766766,0.17831279290683572,0.23481798534600376,0.2913231777851718,0.05903628638726715,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01308410934891232,0.013759998304272044,0.45391926415651657,0.5192366281902991,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013907864074016759,0.01583608612491035,0.017764308175803944,0.10495443299786207,0.28906888247097445,0.4665653216142632,0.09190310454216938,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02478495062595596,0.027930732820788833,0.031076515015621704,0.034222297210454576,0.03736807940528745,0.03622415860716641,0.03508023780904536,0.03393631701092432,0.20318984451209451,0.24975604092309467,0.08546937791720187,0.2009614481423644,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025515210991167818,0.042737978410206094,0.05996074582924437,0.07718351324828264,0.09440628066732093,0.1116290480863592,0.12885181550539748,0.14607458292443576,0.163297350343474,0.050245338567222776,0.06947988223748774,0.030618253189401378,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007853031188849445,0.007260204324593163,0.006667377460336882,0.0060745505960806,0.005481723731824318,0.004888896867568037,0.004296070003311755,0.003703243139055473,0.0031104162747991916,0.0025175894105429098,0.0019247625462866286,0.01875932331309109,0.03559388407989555,0.40521056320884025,0.4866583638549246,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.045233843355298196,0.1219023285341438,0.07748920000949817,0.21783692541788963,0.5375377026831702,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12137744969341241,0.14264241395788363,0.16390737822235485,0.18182121101082055,0.19973504379928625,0.19051650331624229,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28164413668319044,0.24082206834159522,0.2,0.15917793165840474,0.11835586331680951,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03037030479569414,0.4683035707115766,0.5013261244927293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03429552778250008,0.036700100906060636,0.03910467402962119,0.04150924715318175,0.04391382027674231,0.04631839340030287,0.04872296652386342,0.051127539647423975,0.05353211277098453,0.0559366858945451,0.058341259018105655,0.06074583214166621,0.06315040526522676,0.06507827443296009,0.05481400856762708,0.21585348419497494,0.030855667994213236,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025293146827527927,0.025016114237488837,0.024739081647449746,0.024462049057410652,0.024185016467371565,0.023907983877332475,0.15836532680829588,0.1012188402940421,0.19900244928572355,0.29678605827740495,0.09702393321995233,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.049556332729330736,0.04766160021474288,0.04576686770015504,0.043872135185567186,0.04197740267097933,0.04008267015639149,0.038187937641803636,0.03629320512721578,0.03439847261262793,0.03250374009804008,0.29095910176840695,0.13183854556293648,0.09958017803157969,0.06732181050022289,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00951571302671122,0.17856690001900027,0.3476180870112893,0.4642992999429991,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023202477018574582,0.02421758538813722,0.025232693757699858,0.026247802127262496,0.027262910496825134,0.028278018866387773,0.02929312723595041,0.03030823560551305,0.011891269472019473,0.41372466985353995,0.31653821144475647,0.043802998733333584,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1399646711239861,0.11686381827008085,0.0937629654161756,0.07066211256227034,0.04756125970836508,0.02446040685445983,0.0688552483216797,0.1132500897888996,0.3246194279540828,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15144927536231884,0.14389233954451344,0.13633540372670808,0.12877846790890268,0.12122153209109732,0.11366459627329192,0.10610766045548654,0.09855072463768116,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004490584259281779,0.018540333030896056,0.032590081802510336,0.014716667225963057,0.5259093390486815,0.40375299463266734,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020875008887868602,0.018228279744621458,0.015581550601374314,0.012934821458127172,0.01062960575271837,0.008324390047309567,0.02715031830814812,0.07620018581767987,0.12525005332721162,0.06813193084874905,0.2280882872962821,0.16104364156748813,0.2275619263424217,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10569461415941915,0.09591883024906994,0.08614304633872075,0.07636726242837152,0.06659147851802233,0.05681569460767312,0.04703991069732391,0.20023940813694216,0.033711746745411796,0.21832672732354944,0.013151280795495773,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.030910898637295247,0.442809476412696,0.5262796249500087,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03970796749012085,0.03939530632878132,0.03908264516744179,0.06714750605821904,0.09205570134425728,0.0418965956194976,0.16437445079570126,0.36469916394630664,0.15164066324967412,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.313588850174216,0.07491289198606271,0.6114982578397212,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0037820629710994835,0.06415045910141821,0.46145618282094103,0.47061129510654115,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03931293763591861,0.04341515721531881,0.04751737679471902,0.05161959637411922,0.055721815953519424,0.12716880696140628,0.054012557795436,0.07315624916597027,0.03171058928000937,0.2131391564787368,0.18015580986199223,0.0830699464828541,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.055210177047018257,0.06289159298399472,0.07057300892097117,0.07825442485794762,0.08437555318272573,0.09049668150750384,0.09661780983228195,0.10273893815706008,0.14343184567740805,0.10979049869966244,0.10561946913342624,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13001695873374786,0.12026568682871677,0.11051441492368569,0.1007631430186546,0.0910118711136235,0.08126059920859241,0.07150932730356133,0.06175805539853023,0.052006783493499145,0.18089315997738833,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01622314673028498,0.028384671113707242,0.0405461954971295,0.05270771988055176,0.06486924426397403,0.07703076864739629,0.31890047289298057,0.4013377809739756,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0506772046561621,0.09567506741120256,0.29467047017742526,0.49366587294364794,0.04346776211494037,0.02184362269662159,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09678765123070505,0.13975803087192323,0.18272841051314143,0.5807259073842302,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40972979144573446,0.360869400295943,0.2294008082583226,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.035844768492748105,0.03807115162894364,0.04029753476513917,0.0425239179013347,0.044750301037530235,0.04697668417372577,0.04920306730992131,0.05142945044611684,0.05365583358231237,0.05588221671850791,0.05810859985470344,0.060334982990898976,0.06256136612709451,0.08549311242990851,0.07038320475779597,0.05527329708568343,0.040163389413570894,0.025053481741458355,0.036349040428021395,0.04764459911458443,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8022417462433691,0.1977582537566309,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24016998871439213,0.1976504641420901,0.15513093956978805,0.11261141499748603,0.07009189042518398,0.027572365852881937,0.05617837607304469,0.140594560225133,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09429245381598474,0.160608072162822,0.1494264975185749,0.1382449228743278,0.14536047037521233,0.15247601787609685,0.15959156537698135,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8679549114331723,0.1320450885668277,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1454326923076923,0.1360576923076923,0.12668269230769227,0.1173076923076923,0.1079326923076923,0.0985576923076923,0.26802884615384615,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +shopping,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +shopping,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2286391491149636,0.3893044971416948,0.3820563537433415,0.0,0.0,0.0 +shopping,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +shopping,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +shopping,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +shopping,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +shopping,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.3392769263336207,0.34618292633563486,0.18822185988593104,0.10484671577691485,0.021471571667898665,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.16517333668836293,0.27166786595765774,0.14975404755844304,0.1931697458559852,0.13780158326517875,0.08243342067437232,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.5798164451953396,0.17780182071765482,0.14006118493488678,0.10232054915211874,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11490519081655766,0.21456664060407754,0.06839894688777044,0.051819486130998495,0.03898601232345536,0.07267549365993352,0.06221896308005724,0.05176243250018096,0.04130590192030468,0.0308493713404284,0.020392840760552124,0.009936310180675846,0.02625153751034034,0.04256676484000484,0.05888199216966934,0.07519721949933383,0.019284895775659415,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0521911473243779,0.05989870072671218,0.06760625412904647,0.06545591149915153,0.06330556886925658,0.06115522623936164,0.05900488360946669,0.056854540979571745,0.05470419834967681,0.05255385571978186,0.050403513089886914,0.048253170459991966,0.046102827830097025,0.043952485200202084,0.041802142570307135,0.039651799940412194,0.037501457310517246,0.035351114680622304,0.03320077205072736,0.03105042942083242,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2187056677772903,0.25278446533782944,0.12557004783192,0.04988481122393423,0.011496040785908797,0.029128728985125616,0.0037372038045214283,0.02832800483827243,0.028892737857622336,0.029457470876972237,0.030022203896322146,0.030586936915672047,0.031151669935021952,0.03171640295437186,0.03228113597372176,0.03284586899307166,0.03341060201242157,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25041848008034817,0.18245731503180448,0.11449614998326081,0.10333668117397614,0.09217721236469145,0.08101774355540678,0.06985827474612209,0.058698805936837406,0.047539337127552726,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19953071775109701,0.26842692382677824,0.06746324550432774,0.0506518642058846,0.044596854556267385,0.03854184490665017,0.032486835257032956,0.02643182560741574,0.020376815957798524,0.014321806308181306,0.017727273409656748,0.021132740511132193,0.024538207612607634,0.027943674714083076,0.03134914181555852,0.03475460891703396,0.0381600760185094,0.041565543119984845,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18472330475448168,0.2377240841777085,0.17381137957911147,0.18550272798129383,0.2182385035074045,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2558340285301002,0.40888708318987516,0.1900035320380839,0.03182141964200383,0.02724654320266461,0.022671666763325382,0.02072725522443173,0.018782843685538075,0.014269490469838393,0.00975613725413871,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12072261482639333,0.12283754032780994,0.12495246582922656,0.12706739133064318,0.12918231683205977,0.1312972423334764,0.133412167834893,0.11052826068549788,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2306200017437469,0.24856065278946776,0.044064087667054684,0.0844940237739399,0.016807950965783743,0.03770432243675813,0.12515109435333574,0.21259786626991328,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.035358565737051796,0.14342629482071714,0.13396414342629484,0.12450199203187251,0.11503984063745021,0.1055776892430279,0.09611553784860559,0.1907370517928287,0.0552788844621514,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12184343434343436,0.11484159779614328,0.10783976124885217,0.10083792470156108,0.09383608815426998,0.0868342516069789,0.0798324150596878,0.0728305785123967,0.06582874196510562,0.05882690541781452,0.05182506887052342,0.04482323232323233,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5149717960703104,0.2172985684272157,0.267729635502474,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24062084082637356,0.7593791591736265,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2453900709219858,0.3333333333333333,0.42127659574468085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3552168815943728,0.28507229386479094,0.21492770613520906,0.1447831184056272,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08067940552016986,0.7441613588110404,0.17515923566878983,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3982681884404537,0.10215961514267008,0.49957219641687617,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,FALSE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37799043062200954,0.6220095693779905,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6349262610053406,0.3650737389946595,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5445513215728754,0.4554486784271245,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19294377067254687,0.8070562293274531,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4440789473684211,0.555921052631579,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23433267854035333,0.7656673214596467,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5184191026219972,0.4815808973780029,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8246504574641486,0.1753495425358515,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15998272342169245,0.8400172765783075,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4204555378575506,0.5795444621424495,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3305928739236457,0.6694071260763542,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13516684624327382,0.21172228208109128,0.2882777179189087,0.3648331537567262,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5380960870107195,0.4619039129892805,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26956962922865824,0.3333333333333333,0.39709703743800845,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4049326876432995,0.5950673123567005,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31791093981621804,0.3588861276147528,0.25574168936326874,0.06746124320576041,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08866182875279381,0.4901809838843765,0.42115718736282964,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16264633161299163,0.5361567579925794,0.3011969103944289,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.33771929824561403,0.3333333333333333,0.3289473684210526,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015443539166190162,0.24349826661566784,0.741058194218142,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021263769386748503,0.060229078752671666,0.09919438811859484,0.13815969748451798,0.17712500685044116,0.21609031621636432,0.25505562558228745,0.03288211760837397,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8742665549036044,0.12573344509639564,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0053002357125594025,0.00502479039206419,0.004749345071568976,0.004473899751073763,0.00419845443057855,0.003923009110083337,0.0036475637895881244,0.003372118469092911,0.0030966731485976983,0.0028212278281024854,0.002545782507607272,0.010614382804941798,0.01868298310227632,0.026751583399610843,0.5072764990324022,0.393521451449852,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08675407866508676,0.17114924844877333,0.2555444182324599,0.12468029378238749,0.3618719608712926,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10972272997896491,0.22766632477637153,0.224268319928963,0.2208703150815545,0.21747231023414598,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00039966814642492627,0.0004463858911904966,0.000493103635956067,0.0005398213807216374,0.0005865391254872077,0.0006332568702527783,0.0006799746150183485,0.0007266923597839188,0.0007734101045494894,0.0008201278493150596,0.021459975405587927,0.0420998229618608,0.06273967051813366,0.45008478467584223,0.4175167664598754,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01202910219893464,0.08916028290840745,0.00982265173800758,0.02075593630458878,0.08717493247927288,0.4098894207251841,0.3711676736456045,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10914454277286136,0.09882005899705014,0.08849557522123894,0.07817109144542772,0.0678466076696165,0.09646017699115043,0.12507374631268436,0.15368731563421828,0.18230088495575222,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0016106906611587926,0.0015966353871767769,0.0015825801131947612,0.0015685248392127453,0.0015544695652307298,0.0015404142912487143,0.0015263590172666984,0.0015123037432846827,0.001498248469302667,0.0012903664941869221,0.001082484519071177,0.000874602543955432,0.0006667205688396868,0.050288128313022,0.5217117501484864,0.4100957213253619,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0051835994825190634,0.05115987315355771,0.009691077293405204,0.013184372596841964,0.016677667900278727,0.08857193898391269,0.06183505115634199,0.29069729118341087,0.42043499281040486,0.04256413543932697,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04586749839401472,0.1228451261335351,0.19982275387305548,0.20575223481125274,0.21168171574944994,0.03534685120809563,0.1786838198305965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09905249524792108,0.10646606803422934,0.1138796408205376,0.12129321360684586,0.12870678639315414,0.13612035917946239,0.14353393196577063,0.1509475047520789,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0014224727273917967,0.004585450702527215,0.005586006007050887,0.006586561311574559,0.00758711661609823,0.008587671920621903,0.009588227225145575,0.010588782529669247,0.01158933783419292,0.012589893138716592,0.013590448443240264,0.014591003747763934,0.015591559052287608,0.01659211435681128,0.017592669661334954,0.058877892910004136,0.4378799815048791,0.34657281031068965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017276011269258727,0.03001586315496907,0.034752227940723884,0.0394885927264787,0.044224957512233515,0.045506364879639605,0.054022857870199746,0.32591433922586627,0.3050459231678564,0.10375286225277416,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01930295443914689,0.031438267707875264,0.04357358097660364,0.046909017956897406,0.050244454937191166,0.02058035583585514,0.09611864800999834,0.028670564681674057,0.02341902560631792,0.14093995410347693,0.4988031757449634,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13401068850004463,0.1177059705565335,0.10140125261302237,0.08509653466951123,0.09603443306943116,0.10697233146935109,0.11791022986927102,0.12884812826919095,0.08028951975094503,0.0317309112326991,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.030327662481265526,0.12862145837926303,0.5294856318232936,0.31156524731617785,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009759715633042836,0.008124444130697893,0.00648917262835295,0.006125778961165184,0.00576238529397742,0.00900918184850893,0.01225597840304044,0.015502774957571951,0.01874957151210346,0.02199636806663497,0.0184811636455492,0.22477281804312407,0.31012475197405154,0.3240206201276191,0.008825274774560013,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02340295974916569,0.021006646051445265,0.01861033235372484,0.01621401865600442,0.013817704958283997,0.027542255064996777,0.04126680517170957,0.05499135527842233,0.06871590538513511,0.0824404554918479,0.09616500559856067,0.10988955570527345,0.2294485189955556,0.08128793997981487,0.11520054156005965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10539638207519526,0.11342942991978273,0.12146247776437022,0.1294955256089577,0.13752857345354516,0.14556162129813263,0.24712598988001624,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025905766977937218,0.08305285515978,0.3152434028684773,0.5757979749938055,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015977041525147898,0.024315228179686364,0.032653414834224834,0.010167208243275935,0.03420299295247857,0.21365933310376417,0.103115251500415,0.24722454046995213,0.302420763603379,0.01626422558767632,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04103651700173143,0.036962768817188636,0.03288902063264584,0.028815272448103044,0.05522927219219751,0.08164327193629196,0.20917425733999026,0.20971114948341663,0.2300990163241686,0.0744394538242662,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00989630435719947,0.014115658928098468,0.03765751166610339,0.44021322988335465,0.49811729516524406,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011814038406908705,0.016704275616325835,0.010530840323034515,0.03578104255207186,0.21213649009075636,0.23741982240813725,0.08161902350971031,0.1570061456390417,0.2369883214540135,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027010055077884454,0.023689146666669155,0.020368238255453853,0.08257992249222051,0.06169509848391094,0.04081027447560138,0.019925450467291814,0.12154524785048004,0.22316504523366829,0.08257992249222051,0.11058625009346955,0.06040431352015068,0.1067118569470517,0.01892917794392722,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06047658175842234,0.07115858668857845,0.08184059161873458,0.09252259654889071,0.10320460147904682,0.08718159408381264,0.07115858668857845,0.05513557929334428,0.039112571898110106,0.07592440427280196,0.11273623664749383,0.14954806902218568,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003419902872111532,0.023640078603470966,0.0438602543348304,0.06408043006618984,0.5100022593900233,0.354997074733374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.035257090287707134,0.13576338941905222,0.33972342004811834,0.06549852756377392,0.2001098032438273,0.13983159265550282,0.08381617678201836,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04149605436449692,0.06529561809501577,0.08909518182553462,0.05311494958655607,0.5242894947451741,0.10286715738687989,0.12384154399634256,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7130559540889526,0.28694404591104733,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002918305266033489,0.0035968112403862752,0.0042753172147390614,0.004953823189091848,0.005632329163444634,0.022929860843605307,0.06668327532886523,0.5627558535910829,0.3262544241627513,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01642475256430689,0.010402343290727699,0.01895690191797087,0.06785468146307203,0.033191687473703504,0.22809875123681192,0.05396342126509531,0.12982398172704238,0.17738732769451443,0.2046301691972141,0.059265982169540696,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17850392320263123,0.08509459616321662,0.15925695969332002,0.1364714591935055,0.11368595869369098,0.14265559844864353,0.14456781612988767,0.03976368847510453,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01328914205576635,0.20049118616297132,0.14388770070779527,0.08728421525261926,0.1985788793730204,0.3098735434934216,0.04659533295440577,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004630860120590318,0.007881367705235443,0.011131875289880572,0.0143823828745257,0.027858905486486934,0.041335428098448174,0.0548119507104094,0.06828847332237065,0.08176499593433188,0.3511098618264808,0.33680389863124005,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03300726083519902,0.07027848357265393,0.07304885594675192,0.07097462917295527,0.044911518841336366,0.12472415774612088,0.015421425144314294,0.08973285390989896,0.1243634226550258,0.25846239874539306,0.05701744131982058,0.03805755211053002,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17721638386895813,0.04557801565958827,0.11918226455084883,0.07388734215622694,0.028592419761605065,0.09058310516580344,0.1525737905700018,0.15498682294565644,0.15739985532131104,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12558962264150944,0.1254211590296496,0.12525269541778977,0.12508423180592992,0.12491576819407008,0.12474730458221024,0.1245788409703504,0.12441037735849056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6315847937809795,0.3684152062190204,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01922788216308824,0.024103036683162028,0.02897819120323582,0.03385334572330961,0.06295085889032347,0.09204837205733732,0.027205407741390804,0.02608037208291224,0.13970897358924753,0.06054184777411161,0.0277830875940718,0.33499201369259846,0.053490331762208236,0.06903627904300298,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022867236533827703,0.020849539192607614,0.01883184185138752,0.016814144510167432,0.011601759712015528,0.18243346793531662,0.3532651761586177,0.13854855076377964,0.042371644165621926,0.053531805522675266,0.025389358210352823,0.11349547544363016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3652861396308597,0.2533475251291056,0.14140891062735142,0.029470296125597248,0.04129479765747269,0.021829848981923885,0.04384161337203047,0.03996441840403394,0.03608722343603741,0.027469226635587558,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1669480563312831,0.8330519436687169,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03157374778217617,0.12217631593261165,0.2127788840830471,0.014774131037697529,0.04122459144389794,0.06767505185009835,0.09412551225629877,0.08334027463975761,0.08855417412095926,0.09376807360216093,0.15000924325129472,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012587665508664934,0.011670421319350824,0.03797931977995614,0.06428821824056145,0.09059711670116677,0.041078195771336486,0.259974334881609,0.22044360538932972,0.18091287589705043,0.08046824651097421,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1617862371888726,0.13323572474377746,0.10468521229868229,0.17642752562225472,0.15885797950219616,0.14128843338213762,0.12371888726207905,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0036233659787272238,0.018081071669664113,0.032538777360601,0.046996483051537884,0.061454188742474776,0.07591189443341168,0.09036960012434854,0.10482730581528543,0.11928501150622232,0.13374271719715922,0.14820042288809612,0.1649691612324717,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017548992627940938,0.015814997506270814,0.014081002384600687,0.04248946630074103,0.07089793021688139,0.01848493890143112,0.025504535952607495,0.03403109982356221,0.08821293627644977,0.10400702964159662,0.11980112300674348,0.0816613123620185,0.3674646349991558,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07340163779969888,0.06680695940363218,0.06021228100756548,0.02679171214976038,0.029309101769736782,0.031826491389713184,0.11153608243782369,0.15578733022592342,0.2000385780140231,0.24428982580212283,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04220241034536143,0.04057190671847463,0.03894140309158784,0.03731089946470104,0.035680395837814245,0.15205569534258392,0.2684309948473536,0.38480629435212327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.663439352526111,0.33656064747388914,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.039628377706443174,0.017019880168792904,0.027371523704290083,0.03772316723978726,0.013336473266591455,0.11958032368039635,0.07928681561564378,0.038993307550891206,0.03475333471073858,0.030513361870585967,0.04483595298196937,0.257721844007554,0.2592356374963158,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11094938442453392,0.09696859758300884,0.08298781074148376,0.06900702389995868,0.0550262370584336,0.041045450216908516,0.027064663375383442,0.029393011833442326,0.05898395640650378,0.055480546915245,0.05197713742398622,0.04847372793272744,0.044970318441468655,0.04146690895020987,0.024494176527868602,0.007521444105527329,0.030481641901347594,0.05294700784812001,0.07076095441384263,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03468001430103682,0.1151233464426171,0.09753307114765822,0.07994279585269932,0.06235252055774044,0.04476224526278155,0.02717196996782267,0.10332499106185199,0.17947801215588133,0.25563103324991066,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1898409885117416,0.09890103111176216,0.40019705158846175,0.31106092878803454,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0475280726758123,0.04576777368781925,0.0440074746998262,0.04224717571183315,0.04265339855521617,0.043059621398599174,0.04346584424198219,0.12105440732813731,0.14542777793111797,0.06429181047810822,0.1312099784127126,0.08807394313659148,0.04493790786047038,0.09627481388177363,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12190136347971468,0.10152156896607818,0.08114177445244167,0.060761979938805145,0.04038218542516864,0.13511048955336796,0.041749814353954494,0.04969895424475174,0.057648094135549,0.06559723402634625,0.07354637391714351,0.08149551380794076,0.08944465369873801,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5073525133288513,0.1567744541042835,0.33587303256686524,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23717948717948717,0.7628205128205128,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3585434173669468,0.2792717086834734,0.2,0.12072829131652658,0.04145658263305323,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4055876685934489,0.594412331406551,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02862876254180602,0.04247491638795986,0.05632107023411371,0.07016722408026756,0.0840133779264214,0.08071348940914158,0.07741360089186175,0.07411371237458193,0.07081382385730212,0.06751393534002229,0.06421404682274247,0.06091415830546265,0.05761426978818283,0.05431438127090301,0.11076923076923077,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0731136322708446,0.08261300198091122,0.09211237169097786,0.10161174140104448,0.1111111111111111,0.12061048082117774,0.13010985053124438,0.139609220241311,0.14910858995137766,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1465514546257052,0.1312160735264587,0.11588069242721213,0.10054531132796558,0.08520993022871905,0.11270438809168278,0.14019884595464652,0.16769330381761022,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08423175226488945,0.09587982304634961,0.10752789382780976,0.11917596460926994,0.1308240353907301,0.14247210617219025,0.1541201769536504,0.16576824773511056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +school,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +school,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +school,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +school,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +school,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +school,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,0.13467336683417086,0.16733668341708544,0.2,0.23266331658291456,0.26532663316582916,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5112781954887218,0.48872180451127817,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22945641665611993,0.2721685894560219,0.18431075398095653,0.09645291850589112,0.06813750032462951,0.039822082143367916,0.011506663962106308,0.011075933225556875,0.01064520248900744,0.010214471752458007,0.009783741015908572,0.009353010279359138,0.008922279542809705,0.008491548806260272,0.008060818069710837,0.007630087333161403,0.007199356596611969,0.0067686258600625345,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24052843928648374,0.12605540820438518,0.11273712233144474,0.09941883645850427,0.08610055058556383,0.07278226471262338,0.05946397883968292,0.04614569296674248,0.032827407093802025,0.01950912122086156,0.018361525854928527,0.017213930488995496,0.01606633512306246,0.014918739757129427,0.013771144391196396,0.012623549025263362,0.011475953659330329,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2124360877453406,0.045522018802572985,0.1012699983506515,0.09450766947055914,0.08774534059046676,0.08098301171037439,0.07422068283028203,0.06745835395018968,0.060696025070097304,0.053933696190004946,0.04717136730991259,0.04040903842982022,0.03364670954972786,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3805979752214715,0.27317378481264054,0.07766776394381054,0.059313970164385166,0.059973014277322774,0.029986507138661387,0.04975783052678978,0.06952915391491817,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1405983945512041,0.13476039892970082,0.13111165166626124,0.1274629044028217,0.07686694234979324,0.07034784723911458,0.0638287521284359,0.05730965701775723,0.05079056190707857,0.0442714667963999,0.10265142301143274,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34463276836158185,0.1497175141242938,0.1591337099811676,0.16854990583804141,0.17796610169491525,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29060784728176975,0.39324636188516326,0.11799638838153574,0.02160410105766363,0.101030943181427,0.052105977422116305,0.003181011662805615,0.020227369127518404,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2122998768829892,0.02726787409506283,0.16628533934757064,0.11749517431930405,0.06870500929103746,0.048716831177739325,0.028728653064441195,0.03761505846149292,0.04650146385854465,0.09762872778678744,0.14875599171503026,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07689655172413795,0.03862068965517242,0.07344827586206898,0.16206896551724143,0.1447290640394089,0.12738916256157637,0.11004926108374385,0.09270935960591134,0.07536945812807883,0.05802955665024631,0.040689655172413804,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2174969937325909,0.4040592066963126,0.12998802166612627,0.08292126879744358,0.03585451592876089,0.032805033903892056,0.029755551879023213,0.026706069854154375,0.02365658782928554,0.01675674971241059,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.036606106522936624,0.045180509852633485,0.3469335501092732,0.21189350544928293,0.11501583316951315,0.018138160889743373,0.02717426286027007,0.03621036483079677,0.04524646680132346,0.054282568771850156,0.06331867074237686,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3743169398907104,0.3333333333333333,0.2923497267759563,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19230400171001,0.262374327188287,0.04632760796471329,0.17741298202347042,0.037295224521208745,0.0029675770049133843,0.046197955535948895,0.015800342431565854,0.016915188928006288,0.018030035424446724,0.019144881920887157,0.02025972841732759,0.021374574913768027,0.02248942141020846,0.023604267906648893,0.02471911440308933,0.025833960899529763,0.026948807395970192,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07402525555788243,0.16319299702695586,0.11557294030207381,0.06795288357719177,0.05576790553239573,0.08929503921556223,0.12282217289872871,0.14473099292931274,0.16663981295989677,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15621671843168533,0.12111128484917526,0.0860058512666652,0.050900417684155125,0.015794984101645062,0.10289261599526818,0.18999024788889132,0.2770878797825144,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49889054092876617,0.24462368751917712,0.1431002072289663,0.045749967705386356,0.05431900927560157,0.013316587342102604,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.402378197213429,0.12007060595827991,0.12175032091900319,0.01642379695681568,0.13353261004019706,0.09741597415589899,0.06129933827160093,0.04712915648477543,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11319202290761851,0.06662892288965802,0.020065822871697524,0.09379500838748646,0.1675241939032754,0.12375661171232957,0.17959800968008804,0.2354394076478465,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3120672256188188,0.3312498794372841,0.06380564522809949,0.02680909463365525,0.017962093404549018,0.009115092175442785,0.012779001775375668,0.016442911375308553,0.02591545814586674,0.024818002032373384,0.02372054591888003,0.022623089805386673,0.021525633691893316,0.02042817757839996,0.0193307214649066,0.018233265351413248,0.01713580923791989,0.016038353124426533,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1808585579594018,0.7837261514179438,0.035415290622654465,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1832045905915599,0.3333333333333333,0.4834620760751068,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3859213311667849,0.33751266046752576,0.05883034699446749,0.09644529536869292,0.1068397559905089,0.01445061001202005,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012912265484343705,0.2142131160391027,0.3392850739586467,0.05594703800231057,0.07592812300313577,0.09590920800396098,0.10057146117082019,0.10523371433767942,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04976773170710722,0.12968224553601793,0.35272936014140516,0.124323475059323,0.15594022087182322,0.18755696668432348,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3186964889111202,0.3116220620226607,0.2639273749803904,0.07828283613490149,0.027471237950927294,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12820729212512982,0.1784785785556759,0.18768897022541314,0.23152309916399458,0.2741020599297867,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1809967556899961,0.1892238809486323,0.19745100620726846,0.2614572940901208,0.17087106306398234,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.244200545992387,0.4148394659222739,0.23797884937998987,0.03828785926224525,0.06469327944310403,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38047752780054894,0.3461245116418672,0.2733979605575838,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05011941418897653,0.06073580025378388,0.31662686193700784,0.5725179236202318,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37331268616818764,0.40561847014356567,0.17248666574633137,0.048582177941915466,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20569888790785956,0.10401228216018026,0.10266238411770522,0.10131248607523015,0.09996258803275508,0.09861268999028004,0.09726279194780497,0.09591289390532992,0.09456299586285485,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.664163607217234,0.335836392782766,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23232446208669766,0.5671796844914477,0.029481542644875798,0.056613107252841216,0.052554054279995994,0.03813373450804587,0.023713414736095752,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10094818281562304,0.10711739739697572,0.25564081266132377,0.16697248190097347,0.07830415114062311,0.07160389903271412,0.06490364692480514,0.058203394816896147,0.05150314270898716,0.04480289060107818,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14101123595505619,0.12415730337078652,0.18258426966292135,0.15853932584269664,0.13449438202247194,0.11044943820224722,0.08640449438202248,0.06235955056179776,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4751939521243822,0.2470285230990692,0.16314208394543114,0.0739901726534752,0.04064526817764238,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09797920858395902,0.307727292145175,0.4767184489701152,0.11757505030075081,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3192731142746874,0.5694813829472318,0.1112455027780807,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21704394141145142,0.255659121171771,0.2609853528628495,0.2663115845539281,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5956908832827897,0.340159368104585,0.06414974861262529,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6693051890941073,0.3306948109058927,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8549222797927462,0.14507772020725387,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35222051007011906,0.5276555537502944,0.1201239361795865,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.43365501172963294,0.3070802947133541,0.240698423941677,0.01856626961533597,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37272727272727274,0.2909090909090909,0.20909090909090908,0.12727272727272726,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4703672978558499,0.25149187352576885,0.1893162554047642,0.08882457321361692,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10092592592592593,0.15046296296296297,0.2,0.24953703703703703,0.2990740740740741,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10092592592592593,0.15046296296296297,0.2,0.24953703703703703,0.2990740740740741,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6711690125246024,0.27538993387397864,0.05344105360141894,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24708353838897273,0.42820359820351384,0.14918292889589033,0.1755299345116232,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34185572109552254,0.3708153046551616,0.2193814263014925,0.06794754794782339,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23592303410127327,0.24075594020498559,0.24558884630869796,0.27773217938504324,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11595518510014498,0.707374962040246,0.17666985285960912,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5847246357614936,0.32110861497807414,0.0941667492604323,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17041195462534542,0.4939281347489742,0.3356599106256804,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5436578919259509,0.4563421080740492,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3197278911564626,0.6802721088435374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41670607916996244,0.5832939208300376,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12651043235845735,0.5545971774306326,0.29116318921384754,0.027729200997062435,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41011000093229244,0.30337000031076417,0.1966299996892358,0.08988999906770749,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,FALSE,1,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,FALSE,1,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.17157712305025996,0.09878682842287695,0.729636048526863,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17811505489861143,0.8218849451013885,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2345053784493712,0.7654946215506289,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17833173537871524,0.21188878235858102,0.2454458293384468,0.36433365292425696,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5759286927203697,0.4240713072796303,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05721550757563484,0.9427844924243651,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.054405921978130795,0.03134134247827413,0.4129049471458381,0.501347788397757,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31289958631064313,0.6765701391500565,0.01053027453930049,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4576059702299425,0.5423940297700576,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10875666956557833,0.8562537558861758,0.03498957454824597,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04919498722090051,0.6612415935922464,0.28956341918685313,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009496949154471256,0.03133388319755484,0.45974250502534686,0.499426662622627,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11719383785522011,0.22090205060702517,0.6374762085329129,0.024427903004841843,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8131118512048484,0.1868881487951516,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006418732155486201,0.010211619338273501,0.014004506521060802,0.04570506345880864,0.4202625509418612,0.5033975275845097,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03075915400644836,0.023365126601052118,0.2726917307110133,0.20623366344733057,0.3714547956401702,0.09549552959398545,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08584783440784594,0.25833786790202967,0.5415931633993366,0.11422113429078773,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2690961314283053,0.23925270517994324,0.2918357173074033,0.1998154460843482,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011197853396584374,0.035691748017189,0.3699455673249998,0.5831648312612269,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.036020879223057835,0.2331531862764629,0.6243660845023324,0.10645984999814681,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025741986825419592,0.05075167924194251,0.03417970234661434,0.48438507466969616,0.4049415569163273,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17881381340802874,0.2844765213309548,0.39013922925388084,0.14657043600713568,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03169585857468679,0.040914423826167945,0.5321741888642274,0.3952155287349179,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015208137289406783,0.1985506812783663,0.38155654776770526,0.3021003403544287,0.10258429331009283,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15824507452474512,0.21812158920978383,0.4796749408395773,0.1439583954258938,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3297810610518174,0.39505130201959604,0.27516763692858653,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006163195465132538,0.02453438250022884,0.04290556953532514,0.39947644481884986,0.5269204076804636,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011748674799365779,0.03817687660611117,0.06460507841285655,0.09103328021960194,0.3329122829279582,0.39605735872699827,0.06546644830710802,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03524706988963434,0.04396825087907656,0.052689431868518787,0.3140008440216324,0.28651289155695536,0.25712109104274267,0.01046042074143987,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08960945365188602,0.3056083076558206,0.41528218241405346,0.18950005627823993,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0022072308281968736,0.03038754108007774,0.05856785133195861,0.3970748264984346,0.5117625502613323,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.036303155815626834,0.1489878496930755,0.3712141306399957,0.3925801951320498,0.050914668719252175,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04187017652009959,0.11508967108775642,0.46415056253050874,0.3181196808845463,0.06076990897708899,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04074533762514755,0.19946439740350366,0.33609182714019825,0.2947467393608004,0.1289516984703502,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002387506897892367,0.006589519038182933,0.047631368341788764,0.4014932966652584,0.5418983090568776,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14828645020642328,0.08097162576512176,0.30291353517234415,0.31589145307851635,0.15193693577759437,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07046513158888228,0.03541538785922938,0.07209129790498021,0.2617543328242292,0.1820397584050817,0.2868996700964267,0.09133442132117052,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15141556844708173,0.05307662275212325,0.1166639113260351,0.10013241120978163,0.08010877324269816,0.15788532057304355,0.16620090434076004,0.17451648810847656,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006918750452214692,0.07585544944291994,0.42546001758618096,0.4917657825186845,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.043764122841007835,0.042103633772715955,0.04044314470442408,0.0387826556361322,0.03712216656784033,0.07491382842494568,0.3612041887944431,0.3076489236219947,0.05401733563649623,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015629350347859446,0.14332549529227637,0.21566636067587372,0.529886479930062,0.09549231375392854,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5175924133064806,0.31489279391188785,0.11219317451729502,0.055321618264336396,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00479918603055065,0.011158107521030261,0.01091814821950273,0.06853747799442335,0.46446052080762656,0.4401265594268665,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006205419534836946,0.02756818086779292,0.04893094220074889,0.02118312785175313,0.19232975985506726,0.2491177986219223,0.3443747491517244,0.1102900219161541,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01674138777235162,0.05487633659090426,0.09301128540945691,0.4022903343385845,0.16314186861032057,0.18871479156207777,0.08122399571630418,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21998260416150126,0.20037222716504707,0.2733635955649312,0.2581135286710696,0.04816804443745077,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006297234854220209,0.008396313138960278,0.010495391423700349,0.010769184243449054,0.011042977063197758,0.05644086251826307,0.4487689373567565,0.4477890994014528,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020956030675818114,0.016500922480389424,0.05722505226710666,0.09794918205382389,0.10997476329579829,0.36167539410777605,0.2875545183174073,0.04816413680188031,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10538720538720539,0.10067340067340068,0.15185185185185185,0.1814814814814815,0.3074074074074074,0.08148148148148149,0.07171717171717172,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17177522349936145,0.20114942528735633,0.2305236270753512,0.10983397190293742,0.13218390804597702,0.1545338441890166,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0037391030313108577,0.0037391030313108577,0.0037391030313108577,0.005423383676045478,0.05868033766255418,0.527366808332266,0.3973121612352018,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08618665362215573,0.06885435137858172,0.05152204913500769,0.09700548570781722,0.25870654646562935,0.3398018010548185,0.09792311263598978,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04054397191446974,0.1008766010793697,0.19922931894395066,0.28864085965599323,0.3045696243167972,0.06613962408941948,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1686295292062769,0.07747843233801913,0.10368437268764323,0.028484717771330558,0.1936960808450478,0.263768486562521,0.16425838058916148,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007643386269844774,0.008047187808629027,0.008450989347413278,0.008854790886197532,0.009258592424981784,0.009662393963766036,0.04491138455707116,0.46560103385699353,0.437570240885103,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007123508096350515,0.01014789646971,0.013172284843069487,0.016196673216428974,0.01922106158978846,0.022245449963147947,0.02526983833650743,0.028294226709866914,0.0313186150832264,0.029657796068038107,0.021131891061688803,0.05983589507226333,0.051115032873754566,0.30245371282725797,0.3248430517952447,0.03797306599365627,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06256585641589274,0.042685116994020285,0.022804377572147823,0.017070168073728003,0.011335958575308181,0.2362564110768993,0.23886840699968234,0.20595158952439147,0.16246211476792966,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06886727427703847,0.15455705774000023,0.24024684120296197,0.07710780282300887,0.0430483425930985,0.12739608427150373,0.15957254503996696,0.1292040520524214,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022962734414014023,0.10001512068617083,0.4485759984982655,0.42844614640154965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017447195259677143,0.009057621417169967,0.06294589429305998,0.11344677671441836,0.32182592498958795,0.3839679121428937,0.09130867518319294,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03385332634013409,0.02426196560573383,0.13129623999418463,0.03938887199825539,0.04423315992603755,0.04907744785381972,0.05392173578160188,0.16124404013648297,0.3161074871426311,0.14661572522111885,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11587783901894477,0.1055697937774487,0.09526174853595262,0.08495370329445653,0.07464565805296046,0.1102448885110794,0.13599551940417823,0.16174615029727704,0.11570469910770231,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005221068070407514,0.010646883908281989,0.016072699746156462,0.021498515584030937,0.026924331421905413,0.04937151216281614,0.39801390254905894,0.4722510865573426,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014017262863907608,0.01807375463277868,0.022130246401649747,0.026186738170520817,0.03024322993939189,0.18371984018356516,0.40987045811703043,0.2728544454037251,0.02290402428743073,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04615356219189043,0.037656672081249516,0.029159781970608596,0.020662891859967683,0.12230131501884864,0.2239397381777296,0.197303015539239,0.2627654589693454,0.060057564191121016,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0390953503317447,0.027341192715664597,0.10871519604474432,0.19008919937382404,0.2714632027029038,0.058965386640870504,0.0707804708620476,0.1975209529832592,0.0360290483449412,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001954476320348524,0.002577642683358198,0.06198187265906605,0.4570089618521332,0.4764770464850941,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00666934935393186,0.011260568112073358,0.015851786870214858,0.02116793490595764,0.05126637172167803,0.19703228644898063,0.24982288995169394,0.4032010084305432,0.0437278042049265,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0187258954385437,0.018946777560361387,0.01916765968217907,0.019388541803996757,0.01960942392581444,0.019830306047632126,0.02005118816944981,0.020272070291267492,0.0383966755093075,0.0565212807273475,0.10428090395592685,0.06656521205513431,0.19791038114864534,0.09792440733917347,0.276052779728467,0.006356496616753366,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10750046661210608,0.14518553393509362,0.18287060125808113,0.22055566858106868,0.11174820541440815,0.2200498060696132,0.01208971812962895,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019922882349248744,0.048220807063389715,0.4857263537324635,0.44612995685489815,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020179751434316565,0.019081144937339926,0.01032094157327641,0.05589958264992929,0.16181803343646517,0.2839555946369509,0.3362538150778383,0.1124911362538834,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02292480221349966,0.028227501790921313,0.03353020136834296,0.038832900945764616,0.04413560052318626,0.08227218738302682,0.0835435376799551,0.20803722382530998,0.1994672043062447,0.2590288399637485,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06327863983653105,0.05913891573507574,0.054999191633620444,0.05085946753216514,0.04671974343070984,0.04258001932925454,0.08042892539970302,0.068562077172557,0.12478311220100982,0.07333225551149393,0.09817060012022573,0.23714705209765372,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0033107920978842674,0.0029212871451920006,0.002531782192499734,0.019318316933750197,0.0518752369610731,0.45340044434792576,0.46664214032167484,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.024085559461470146,0.05868360067684162,0.13980826548288824,0.03526338816182093,0.14725219075980786,0.1705222305718117,0.33735738428977136,0.08702738059558826,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015724615313145503,0.03158026908723389,0.04743592286132227,0.22996636503915469,0.030968378709256526,0.11898292253613431,0.04205635813362483,0.10772893925783619,0.09906507647281666,0.14754930702168198,0.12894184556779312,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019495546131780526,0.05226465558732652,0.31171163030608384,0.04901480032011027,0.039866380347113144,0.030717960374116015,0.021569540401118883,0.1870742830943195,0.13024684011444862,0.07341939713457774,0.08461896618900483,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006334954420403081,0.006066670831560874,0.005798387242718667,0.00553010365387646,0.005261820065034253,0.0049935364761920465,0.004725252887349839,0.005296437302304215,0.03749046796336905,0.11310126665197308,0.4452914211632271,0.36010968134199134,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01672321231785461,0.017504670837380526,0.018286129356906444,0.01906758787643236,0.022943622133280907,0.026819656390129454,0.030695690646977993,0.03457172490382654,0.03844775916067509,0.0030312770655366527,0.049877377877565375,0.19176992069165988,0.21679980300805626,0.30257569766170567,0.01088587007201232,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04237946281320558,0.058576062655560146,0.0747726624979147,0.09096926234026928,0.10716586218262385,0.12336246202497841,0.0067372912875999155,0.07989404348762093,0.20738146966789944,0.13790694046592308,0.036126755185027705,0.03472772539137704,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13316950343294867,0.02662703160865349,0.07962712576403116,0.7605763391943666,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00747958343980217,0.010107545188921851,0.05579364944284862,0.44389499802948357,0.4827242238989438,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06486825181918536,0.04192043014498887,0.07893122546562482,0.11594202078626079,0.2514583826345173,0.26354136619064356,0.18333832295877933,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20085673273362226,0.1097955666542387,0.018734400574855134,0.10806595187028757,0.19739750316572,0.1544191037172138,0.03728899435530776,0.1734417469287546,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1039761303496193,0.07342811211038301,0.2640705703831648,0.45471302865594654,0.10381215850088632,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05257807889046262,0.044512703682022724,0.03644732847358283,0.5578407969704411,0.30862109198349075,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016547226292703682,0.036185692662066296,0.0558241590314289,0.0754626254007915,0.09510109177015412,0.11473955813951674,0.021275005233476158,0.17710987262739983,0.1840197033869904,0.22373506545547245,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04516620147170769,0.04992387718853083,0.05468155290535397,0.05943922862217711,0.06419690433900026,0.2231667089571175,0.3821365135752347,0.12128901294087795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014440082708191122,0.0894081787682167,0.4131979356800636,0.4829538028435287,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03932277444019661,0.04216275259421081,0.045002730748225014,0.04784270890223922,0.0665210267613326,0.08519934462042598,0.07209175314036045,0.07733478973238667,0.2748225013653741,0.21103222282905518,0.03866739486619333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.043612574959113214,0.05451571869889151,0.06541886243866982,0.07250590586952572,0.0795929493003816,0.06360167181537343,0.047610394330365256,0.03161911684535708,0.05015446120298019,0.2129747410503362,0.1515536979829184,0.1268399055060876,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17116060961313012,0.13677217663149668,0.10238374364986323,0.06799531066822978,0.08792497069167642,0.10785463071512308,0.32590855803048063,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009097204249164685,0.010317236702587822,0.011537269156010957,0.012757301609434094,0.013977334062857229,0.015197366516280364,0.0164173989697035,0.017637431423126636,0.01885746387654977,0.020077496329972907,0.021297528783396046,0.022517561236819177,0.023737593690242316,0.024957626143665448,0.049227760282097056,0.07349789442052869,0.46975283792075634,0.16913769462680694,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.015810579317945227,0.022340218977816306,0.02886985863768738,0.03539949829755846,0.04192913795742953,0.04845877761730061,0.05498841727717169,0.06151805693704276,0.06804769659691384,0.1419079963564807,0.08171397576961974,0.021519955182758784,0.045235824159676634,0.06895169313659448,0.0516039741627379,0.211704339615266,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24162692856645557,0.048722043381856435,0.060134730469418994,0.07154741755698156,0.08296010464454412,0.17478241717188894,0.13002299654506885,0.08526357591824876,0.10493978574553695,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0625,0.08092948717948718,0.09935897435897435,0.11778846153846155,0.12115384615384615,0.12451923076923077,0.12788461538461537,0.13125,0.1346153846153846,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020433245040586478,0.025481795752953684,0.030530346465320886,0.03557889717768809,0.0406274478900553,0.045675998602422496,0.0507245493147897,0.013456039416971583,0.04136486191143116,0.25557195985018105,0.4405548585775996,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07688427809565408,0.07380972927435588,0.07073518045305766,0.06766063163175944,0.06458608281046123,0.044568174103125295,0.024550265395789358,0.09669027602033962,0.16883028664488992,0.09744566880174854,0.026061050958607165,0.027666260619101084,0.029271470279595008,0.028327229302833875,0.07119576964778915,0.03171764596089272,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022829049613487525,0.027295602798735084,0.04739509213234911,0.06749458146596313,0.08759407079957715,0.10769356013319116,0.1277930494668052,0.1478925388004192,0.1173297350606234,0.0867669313208276,0.0562041275810318,0.02564132384123599,0.03457055360899653,0.04349978337675708,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07125890736342042,0.07086629630356686,0.07047368524371331,0.07008107418385975,0.0696884631240062,0.06929585206415263,0.06890324100429909,0.06851062994444553,0.06811801888459197,0.06772540782473842,0.06733279676488486,0.06694018570503131,0.07924854243144029,0.09155689915784926,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019392524569386855,0.15160956441468698,0.28382660425998707,0.41604364410528727,0.12912766265065187,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0707785892876667,0.06734611012638637,0.06391363096510604,0.0604811518038257,0.05704867264254535,0.05361619348126501,0.05018371431998468,0.04675123515870434,0.043318755997424005,0.039886276836143666,0.04757676812154391,0.05526725940694417,0.06295775069234441,0.06373983455187665,0.03835737097976106,0.012974907407645465,0.1658017782208325,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6822916666666666,0.3177083333333333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11645050870873863,0.30243360723410556,0.5811158840571558,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1076743949500231,0.10531440066074418,0.10295440637146529,0.10059441208218639,0.0982344177929075,0.06256969286172452,0.16174265604755786,0.26091561923339124,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029141342883675866,0.03985986442419322,0.050578385964710565,0.061296907505227906,0.07201542904574526,0.08273395058626261,0.09345247212677994,0.1041709936672973,0.11278461588268106,0.12139823809806481,0.13001186031344858,0.10255593950191284,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1046481538962782,0.5073846117687856,0.38796723433493635,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.055019129167425754,0.05361025080463958,0.0522013724418534,0.05079249407906722,0.04938361571628105,0.04797473735349486,0.04656585899070869,0.045156980627922505,0.043748102265136334,0.04233922390235015,0.04093034553956397,0.03952146717677779,0.03811258881399162,0.036703710451205435,0.035294832088419256,0.03388595372563308,0.044452541446529416,0.05110220440881763,0.057751867371105846,0.06440153033339406,0.07105119329568227,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056374836662310995,0.055342652274648886,0.05431046788698679,0.05327828349932469,0.052246099111662586,0.05121391472400048,0.05018173033633838,0.04914954594867628,0.04811736156101418,0.04708517717335207,0.04605299278568997,0.04502080839802787,0.043988624010365775,0.042956439622703665,0.04192425523504156,0.04089207084737946,0.03985988645971735,0.038827702072055256,0.037614336382303534,0.036400970692551805,0.035187605002800076,0.03397423931304835,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35555555555555557,0.3333333333333333,0.3111111111111111,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.719626168224299,0.2803738317757009,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6153846153846154,0.38461538461538464,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othmaint,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othmaint,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othmaint,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othmaint,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othmaint,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,1,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,2,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,2,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,3,2,0.0,0.0,0.0,0.6106255783686745,0.3893744216313256,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,3,3,0.0,0.0,0.0,0.0,0.0,0.15505118561213216,0.21835039520404403,0.2816496047959559,0.34494881438786784,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,4,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,0.4262948207171315,0.5737051792828686,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.2860279480421333,0.054234459984848785,0.06573873937557428,0.07724301876629978,0.08874729815702528,0.1722519446103813,0.2557565910637373,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,0.046985096987287284,0.05731673310011368,0.06764836921294008,0.07798000532576646,0.08831164143859287,0.09864327755141926,0.11549745416923961,0.13235163078705994,0.1492058074048803,0.16605998402270064,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21176470588235294,0.20588235294117646,0.2,0.19411764705882353,0.18823529411764706,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23954372623574147,0.3333333333333333,0.4271229404309252,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09389098947379265,0.28732741947660695,0.04591534281477007,0.03767412743776006,0.029432912060750046,0.09977757188594265,0.025312304372245038,0.030257033598451045,0.035201762824657055,0.04014649205086306,0.04509122127706907,0.05003595050327508,0.04395327974259264,0.037870608981910206,0.031787938221227774,0.025705267460545335,0.019622596699862896,0.013539925939180466,0.007457255178498034,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10741645162536172,0.10021746544941154,0.09301847927346138,0.0858194930975112,0.07862050692156104,0.07142152074561088,0.0642225345696607,0.057023548393710544,0.049824562217760375,0.042625576041810206,0.04830898618071824,0.04317034690398702,0.03803170762725581,0.03289306835052459,0.02775442907379338,0.022615789797062164,0.01747715052033095,0.012338511243599736,0.007199871966868519,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3924728616612091,0.19480889589744715,0.06385729669145927,0.03384142451390698,0.03295860474397898,0.05782469493028454,0.08269078511659012,0.141545436445124,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06659674882013633,0.02621919244887257,0.03592029365495542,0.045621394861038264,0.05532249606712112,0.06502359727320396,0.07472469847928682,0.08442579968536967,0.10527005768222339,0.12611431567907708,0.14695857367593076,0.16780283167278445,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22929808480289776,0.2861888890407563,0.0315768398675743,0.044259264902501774,0.03375446630272704,0.023249667702952313,0.012744869103177582,0.014273438158729264,0.015802007214280947,0.01733057626983263,0.01885914532538431,0.02038771438093599,0.02191628343648767,0.023444852492039356,0.024973421547591038,0.02650199060314272,0.0280305596586944,0.029559128714246083,0.031087697769797765,0.032616266825349446,0.03414483588090113,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04428405739194827,0.08070459057411132,0.19412759114099984,0.30755059170788834,0.17322717153078127,0.038903751353674174,0.04821581949684086,0.05752788764000756,0.055458539163748294,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11605816457152722,0.09859984237957098,0.08114152018761475,0.06368319799565852,0.0759888211809765,0.08829444436629447,0.10060006755161244,0.11290569073693041,0.12521131392224838,0.13751693710756632,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20514964463257937,0.6071508554430116,0.05295555569584136,0.04585782316251038,0.029173381118277882,0.01483061515042889,0.0128792184201093,0.010927821689789707,0.008976424959470116,0.007025028229150527,0.005073631498830936,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012079679706778982,0.060795015398402714,0.10951035109002644,0.41032477503122644,0.2145944661907694,0.018864157350312383,0.022339133704317296,0.02581411005832221,0.030612886928138516,0.027882548364277514,0.025152209800416513,0.019581215963043557,0.0140102221256706,0.008439228288297644,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.022265861106230377,0.035379990297777164,0.04849411948932395,0.06160824868087074,0.08430602451066523,0.08406583640664624,0.08382564830262725,0.08358546019860827,0.08334527209458928,0.08310508399057027,0.08286489588655128,0.0826247077825323,0.08238451967851332,0.08214433157449433,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2277005437331977,0.5979653074157745,0.08960916451683396,0.057382341157537466,0.0031109375158975563,0.009526688460443725,0.006564832430054265,0.0036029763996648055,0.004537208370595985,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017821210326139467,0.24676477544896647,0.4576933588403224,0.03536567017715379,0.14613823797924594,0.08078499506913929,0.015431752159032634,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17210874938674842,0.23491310170289006,0.20024567591277018,0.16557825012265032,0.13091082433253046,0.09624339854241057,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10369723201266247,0.6433078428615562,0.21152808122797323,0.005605282352414335,0.008779568100439486,0.01195385384846464,0.01512813959648979,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4765032238380177,0.12029893386062755,0.29136231144258373,0.02731484752590973,0.03412735712358229,0.015783902669656808,0.03460942353962229,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.161859281534673,0.3063482987095274,0.13975167234944938,0.10737981604251476,0.07500795973558017,0.06597007300417362,0.056932186272767096,0.04789429954136056,0.03885641280995402,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23003341339900157,0.44651139486695013,0.16880740906274055,0.09204734867386763,0.026975844913370604,0.011531658894265296,0.02409293018980428,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2059534758703159,0.33691211156434325,0.07307590200996673,0.1201087963887219,0.04858770080449916,0.08981139448332733,0.12555061887882582,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1946335542772755,0.21859600355572628,0.15744160065107526,0.19657913988824308,0.14310961383864096,0.08964008778903884,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22406627503627627,0.31889558556873043,0.1858900370206704,0.11733398550847797,0.014578596316746219,0.035794752559463294,0.03182092833464152,0.027847104109819748,0.023873279884997975,0.019899455660176202,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2557639207024473,0.16399776735429678,0.2396668907281674,0.02891503532416945,0.039348295492684204,0.10388546196363974,0.16842262843459524,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25137410225132334,0.06196501140720217,0.16383487814463246,0.1505835277064637,0.13733217726829489,0.12408082683012607,0.11082947639195727,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16612999221271607,0.5081228266620477,0.2270040092245386,0.02750977057552272,0.06097707108459813,0.010256330240576815,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09681669309805992,0.2265814754703287,0.20326436613781165,0.05170315547645085,0.25851577738225423,0.07907541425810129,0.054372844145031456,0.02967027403196163,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18778061366966114,0.20547009176897704,0.22315956986829297,0.16464821923209422,0.10613686859589544,0.0729805018203249,0.039824135044754363,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.27261682091866396,0.2815539597854838,0.23740876804595334,0.05783527378470141,0.040481080831092336,0.023126887877483265,0.026311024614238208,0.02899240291887395,0.03167378122350969,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023350530578625017,0.09537540658875007,0.24472047099859187,0.02240205585392888,0.12359326960753467,0.18746200605375016,0.08222017809375007,0.07792276941771992,0.07362536074168977,0.06932795206565961,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05231682277416421,0.28074238699938825,0.027263696375268674,0.1400882791908501,0.31463779330377634,0.18495102135655236,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22459164010894184,0.293593863749636,0.10147113099844758,0.25053784135773055,0.07682113915440984,0.01883991683033066,0.017661461543611413,0.01648300625689217,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.097302651680763,0.18760754423924272,0.09784322196787835,0.17784762446095018,0.07405812933480296,0.19838929537133346,0.09459980024518626,0.0723517326998432,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21762711864406778,0.20881355932203388,0.2,0.19118644067796609,0.1823728813559322,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2533365572506104,0.485179989548448,0.14585306466273876,0.05475241228664325,0.06087797625155966,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09315437974114901,0.17737099919099833,0.2615876186408476,0.08375754981717991,0.08144699671877495,0.07913644362036998,0.07682589052196503,0.07451533742356006,0.0722047843251551,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20337078651685392,0.20168539325842696,0.2,0.19831460674157303,0.19662921348314605,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2320468392554231,0.40687831401546476,0.21123438050028484,0.02519809248129344,0.03231468949010139,0.02862158211980409,0.02492847474950679,0.021235367379209485,0.017542260008912184,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20890917641038437,0.3789729194227428,0.02654641223009551,0.0624573520111272,0.0712771427320008,0.08009693345287439,0.06867181068323304,0.05724668791359169,0.045821565143950346,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21052631578947367,0.26315789473684204,0.3157894736842105,0.21052631578947367,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22187064082018515,0.3074531242889359,0.17184302660629286,0.03623292892364982,0.04799978529028351,0.059766641656917203,0.0715334980235509,0.08330035439018459,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2989099515832897,0.38543735007469615,0.22783432032694326,0.08781837801507089,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05916695780770894,0.3333333333333333,0.6074997088589577,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19577982656666817,0.14375205978885333,0.02427052489545777,0.03778283840108497,0.05129515190671216,0.06480746541233937,0.061020575003119,0.05723368459389863,0.05344679418467828,0.04965990377545792,0.04587301336623756,0.04208612295701719,0.03829923254779683,0.03451234213857647,0.03072545172935611,0.026938561320135754,0.02315167091091539,0.019364780501695027,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.049989409023511976,0.04398785568029373,0.037986302337075485,0.03198474899385724,0.03691711804399794,0.04184948709413866,0.04678185614427936,0.05171422519442007,0.05664659424456079,0.06157896329470149,0.0665113323448422,0.06303749205676765,0.05956365176869308,0.05608981148061852,0.052615971192543964,0.049142130904469394,0.04566829061639484,0.042194450328320275,0.03872061004024571,0.03524676975217115,0.03177292946409659,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40579557281860407,0.36917282121270995,0.07201011390997954,0.10709196427637983,0.045929527782326694,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2057396493306726,0.5485363229841536,0.07041675588075645,0.0767950852177815,0.08317341455480654,0.015338772031829104,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2663027104761651,0.22644829295236577,0.18659387542856634,0.14673945790476697,0.10688504038096759,0.06703062285716821,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32180869817671115,0.21014677942650437,0.129321095031695,0.10735990578494745,0.0853987165381999,0.06343752729145236,0.041476338044704804,0.04105093970578476,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10107836168570701,0.2608473849953729,0.07108091241123912,0.04760464776165556,0.12520674479777902,0.17312956438200847,0.22105238396623791,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1951219512195122,0.3323170731707317,0.4725609756097561,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09047395994394418,0.6815107421626475,0.03416742995956274,0.1014563481452322,0.09239151978861353,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06379876048122494,0.021144732045205984,0.12212905577834489,0.2537367845424718,0.205103900838498,0.15647101713452424,0.1078381334305505,0.05920524972657674,0.010572366022602992,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2705124386099583,0.5455255430010773,0.0792602313271602,0.057080413507214135,0.03490059568726807,0.012720777867322008,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.33997972287935113,0.05474822575194322,0.09192294694153429,0.12909766813112536,0.16627238932071645,0.128083812098682,0.08989523487664752,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2510519159639486,0.4973727797830882,0.08566121663537092,0.00854867538723661,0.133464013698694,0.02390139853166154,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1501107595107846,0.43805201920093245,0.22613214170596105,0.014212264210989646,0.09294648772034048,0.05716427179044414,0.021382055860547807,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2573202346859055,0.22866011734295277,0.2,0.17133988265704728,0.14267976531409454,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.277749441941281,0.4065648058304532,0.17720192038049146,0.04690875667846511,0.06902713370012899,0.02254794146918041,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25404299632112015,0.49861855178555264,0.09546336197160106,0.04212745899982935,0.10974763092189678,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2707786676685191,0.22508002697656312,0.2986079733741026,0.07983898256831096,0.1256943494125042,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4480578139114724,0.3333333333333333,0.21860885275519423,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3532209631500971,0.13819393734869356,0.39992357355288943,0.04657139345797986,0.06209013249033994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19403965293368147,0.20973163775438827,0.2919883624060606,0.16179281682811084,0.031597271250161076,0.11085025882759784,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09255173401570792,0.1034659237185517,0.1143801134213955,0.10576527980334995,0.09715044618530443,0.08853561256725889,0.07992077894921334,0.07130594533116781,0.06269111171312228,0.05407627809507675,0.04546144447703121,0.03684661085898567,0.028231777240940135,0.019616943622894612,0.0,0.0,0.0,0.0 +othdiscr,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10988376353341307,0.6154342377246684,0.059179823060006215,0.009156980294451089,0.0451957606412298,0.024368162436473148,0.023161167266989083,0.021954172097505022,0.02074717692802096,0.0195401817585369,0.01833318658905284,0.017126191419568774,0.015919196250084713,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.722463768115942,0.27753623188405796,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5176070965863597,0.2897949873107849,0.11117235733162202,0.08142555877123336,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19444444444444445,0.07309941520467837,0.125,0.17690058479532164,0.20248538011695907,0.2280701754385965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06767881055800092,0.3813708503265754,0.22691931593327902,0.32403102318214466,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6380530973451327,0.268141592920354,0.09380530973451327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14743589743589744,0.4451566951566951,0.2841880341880342,0.12321937321937322,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7200647249190939,0.27993527508090615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +othdiscr,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othdiscr,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othdiscr,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othdiscr,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +othdiscr,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othdiscr,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othdiscr,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othdiscr,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othdiscr,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othdiscr,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othdiscr,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othdiscr,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +othdiscr,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,FALSE,1,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18280901659648252,0.1591115514821237,0.1354140863677648,0.11171662125340599,0.08801915613904714,0.0643216910246883,0.040624225910329444,0.10106514738667327,0.11691850383948475 +othdiscr,FALSE,1,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,5,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,6,1,0.0,0.0,0.0,0.0,0.26366120218579236,0.7363387978142076,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,6,2,0.0,0.0,0.0,0.0,0.45255474452554745,0.5474452554744526,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,0.3142296178774695,0.6857703821225305,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0429313931043178,0.3261064760541849,0.6309621308414973,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.4,0.6,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.021990539405707908,0.22387711276175049,0.7541323478325416,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.03012928197401491,0.1981181055933148,0.36610692921261473,0.4056456832200556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6807228915662651,0.3192771084337349,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01704301029524212,0.3006444200553927,0.6823125696493652,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5697383451913457,0.43026165480865425,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28317327704265993,0.7168267229573401,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18840579710144928,0.8115942028985508,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03695212419144237,0.3752687486960805,0.5877791271124772,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.269521814039606,0.6118885877829675,0.11858959817742665,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025410763751887524,0.29372087917340167,0.6808683570747108,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05438475471397936,0.05499927171639721,0.05561378871881505,0.15700909411775962,0.5719889078159704,0.10600418291707842,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36597938144329895,0.24742268041237114,0.3170103092783505,0.06958762886597938,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010078753657742485,0.16291159753303275,0.8270096488092248,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29729930360857215,0.6686629331441439,0.034037763247284025,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1939461883408072,0.27354260089686105,0.4338565022421525,0.09865470852017938,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21052631578947367,0.3609022556390977,0.2631578947368421,0.16541353383458646,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02268409861178881,0.2836327894746153,0.6936831119135959,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04956397524507081,0.06407266956678888,0.07858136388850696,0.09309005821022505,0.10759875253194312,0.09366751253941347,0.4766727202727663,0.03675294774528556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15354586857514638,0.11450878334417695,0.07547169811320754,0.10344827586206896,0.1314248536109304,0.1594014313597918,0.18737800910865324,0.07482108002602472,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10457226589422114,0.00966668811243094,0.3281263438165674,0.5576347021767806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01821170270014443,0.23664334629727132,0.10041046894133684,0.4387453582771813,0.20598912378406603,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11428571428571428,0.08317460317460318,0.6120634920634921,0.19047619047619047,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21052631578947367,0.3333333333333333,0.456140350877193,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004016240480641357,0.01892136143548535,0.03382648239032934,0.3555840327595935,0.5876518829339504,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04960403257286748,0.26602053891481814,0.6598777314441192,0.024497697068195292,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13035976489180365,0.07227199400737301,0.39918456503137806,0.39818367606944527,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01293370516644725,0.01651314386564852,0.49901431486508546,0.4715388361028189,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010052460032127978,0.15554565340050472,0.3948538318756441,0.41090231303012814,0.028645741661595028,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09303993994429463,0.18716410466494357,0.29514472310895984,0.33010042164361114,0.09455081063819094,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18599800806430652,0.12315624302892078,0.2565010670719374,0.37097984863312944,0.06336483320170579,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03671696505695774,0.44548825236369677,0.5177947825793454,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014572454920819456,0.002851799341496709,0.06696485259622137,0.13107790585094603,0.27985624005888116,0.43513217776424973,0.06954456946738564,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05417872546854596,0.04677542136725396,0.03937211726596197,0.03196881316466998,0.024565509063377983,0.08513799716485794,0.21265561433713437,0.2577695882540758,0.247576213914122,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05421346550298057,0.0690664697503725,0.11882403397913549,0.0453016629545454,0.24448103238600052,0.44324583315782046,0.024867502269145192,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005689588155751732,0.010958467328155624,0.016227346500559514,0.41714758089037945,0.5499770171251537,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028888599578754143,0.017739568006861176,0.12073117580833083,0.3255537540006675,0.49539792364157864,0.011688978963807849,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1701819771393136,0.31050283096070413,0.3147665841351998,0.20454860776478248,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10842093856611303,0.030622707839283832,0.15880407951874245,0.28698545119820107,0.41516682287765966,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006778840610176479,0.011991535286277704,0.017204229962378928,0.024263574321942018,0.4675165081578163,0.4722453116614085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007730917241241983,0.16444066584590333,0.2695139551314428,0.5156069514248789,0.04270751035653309,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13076892060735784,0.40240559042181895,0.2779867620458299,0.18883872692499332,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24613456748146412,0.42101959052626237,0.1895269799144588,0.14331886207781455,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13527425381886074,0.4111359082893638,0.4535898378917755,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005439398784242126,0.026033070660725712,0.0466267425372093,0.06722041441369288,0.08781408629017647,0.01510944106733924,0.060558639797895664,0.19211058480145107,0.3345884508350017,0.1644991708122658,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.014427680826706042,0.022977417612902215,0.031527154399098395,0.04007689118529457,0.025969825488070877,0.022443059063764953,0.018916292639459032,0.2399694669761292,0.2070023873362393,0.37668982447233534,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13231403936382388,0.3103662651744017,0.2290401526500063,0.1477140401256109,0.06638792760121551,0.11417757508494177,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013628020720063591,0.00790134317754221,0.0021746656350208273,0.06450242040393911,0.41588764567002173,0.4959059043934125,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01994771668385471,0.05474286555136919,0.08953801441888366,0.10526626394612484,0.263888520115045,0.30811638852566026,0.15850023075906242,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0227439603386108,0.03793979581777275,0.052676596955245326,0.11653275945135207,0.1803889219474588,0.2175495690448434,0.3398833315006286,0.03228506494408828,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7636446757626669,0.13046813897900789,0.10588718525832524,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004241824220828556,0.009038653479896361,0.013835482738964167,0.05797500094239647,0.4588571474707559,0.45605189114715844,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008129039610788973,0.013645173632395775,0.045435524967445504,0.06691941536738778,0.07345167934034322,0.18213044932685094,0.26903397153375436,0.3067792564940798,0.03447548972695364,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02781925715006852,0.030137528579240895,0.03245580000841327,0.03477407143758565,0.03709234286675803,0.04689531919582979,0.030998600824362062,0.16188158208277967,0.034177944498655605,0.09008140410498378,0.19874343339988312,0.23096179502371214,0.04398092082772737,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13926917252001259,0.16538214236751494,0.16766104685640165,0.16993995134528836,0.35774768691078235,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0021807690893395552,0.01877920498138019,0.03537764087342083,0.06089999605044536,0.48251749929404325,0.4002448897113708,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003727594506182696,0.026964615395684233,0.01704966072254131,0.04509045492973975,0.07313124913693819,0.12846222355726095,0.18112459039671092,0.5078288729147287,0.016620738440213226,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.051583488056844,0.05482773258872098,0.05807197712059796,0.061316221652474946,0.20308970769549903,0.08384069542452086,0.33285948897057827,0.15441068849076406,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06689099435981678,0.08073399630930732,0.09457699825879785,0.10842000020828839,0.12226300215777891,0.13610600410726945,0.14994900605675998,0.09633985980124556,0.1447201387407357,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004246525915290265,0.02001583361297382,0.030927528364189473,0.08569570906834861,0.41584411358017254,0.44327028945902525,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00586358721154579,0.03498685342625255,0.05444215977075747,0.07389746611526239,0.10470260388694291,0.2622795745361258,0.3807066254720929,0.08312112958102018,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012017139851440413,0.01243258129028039,0.033047134591461136,0.07957117750920442,0.1260952204269477,0.06701866455611,0.17979490008501234,0.13080194530606296,0.3130014677240943,0.04621976865938621,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11279507569964631,0.10892781596137273,0.10506055622309914,0.11988505188648123,0.11086144583050951,0.31356139645643805,0.1289086579424529,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008722019501546644,0.01619207448134018,0.09225340657311855,0.3909873581698078,0.4918451412741868,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017703444424270777,0.026264946236008287,0.01799366482466866,0.009722383413329034,0.06676646004549375,0.05122390067022611,0.021766530029841122,0.12534492957332885,0.18990570268474335,0.3580905391401311,0.11521749895795899,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05720972329954412,0.023515653135395435,0.06352736145532199,0.050541105246223024,0.037554849037124055,0.027376432008370807,0.02070781395504971,0.06914303981601344,0.2481120164450524,0.38932574939280606,0.012986256209098972,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05159832391809006,0.27042226334828684,0.1909394337736401,0.11145660419899334,0.03197377462434654,0.07280804785219147,0.11364232108003638,0.1371078810162657,0.02005135018814953,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.007498950010667364,0.002489278011839789,0.008681357066291263,0.025517097608740207,0.05392398493147942,0.3436522719173931,0.5582370604535889,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02650372054489487,0.030685660057101643,0.03486759956930842,0.011979809919764977,0.04670737637010162,0.02430547844573729,0.13627983360050674,0.2189925320484766,0.4377715966680355,0.031906392776072434,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013342755994216448,0.015931392885107948,0.01852002977599945,0.02110866666689095,0.023697303557782448,0.026285940448673953,0.02887457733956545,0.04019299336529399,0.11530776785125325,0.11453576992272436,0.1137637719941955,0.06635359549916499,0.018943419004134463,0.06918466071075195,0.04065696566473667,0.23693917582786303,0.03636121349164525,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02796300279630028,0.08130780813078081,0.0701226070122607,0.08130780813078081,0.033555603355560334,0.36136803613680357,0.20886212088621212,0.05635620563562056,0.07915680791568079,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008825677863227261,0.004482883994020196,0.017626411727679054,0.04544585404363371,0.5406474437619788,0.382971728609461,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00839572929772424,0.012299916172797654,0.016204103047871066,0.020108289922944476,0.018933578827789645,0.01775886773263481,0.01658415663747998,0.04011861495334633,0.03868724244158545,0.037255869929824575,0.20458687850443585,0.18115331391697378,0.38791343861459215,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06907809995760869,0.08227232256343228,0.05697162883101747,0.07976028036342447,0.10254893189583145,0.12533758342823845,0.14812623496064545,0.17091488649305245,0.03952406750151838,0.0966240769095283,0.0288418870957026,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025057977027625748,0.046619492144419995,0.06871518894203574,0.09081088573965146,0.1129065825372672,0.13500227933488293,0.15709797613249865,0.17919367293011437,0.12126320604720607,0.0633327391642978,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008297309830880712,0.0024150474041332325,0.04856822009479424,0.4353097762375867,0.5054096464326052,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02898202089730931,0.03431499051860004,0.03964796013989077,0.044980929761181496,0.024036676061657325,0.03902862375713766,0.047355980803408,0.11893686210301471,0.268084216076194,0.3232288380225157,0.03140290185909103,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01907099917367859,0.07878511134044269,0.07227528397344532,0.06576545660644793,0.04408214563096199,0.06065203015891223,0.09973194649841755,0.1363107481921945,0.08617404428771032,0.03603734038322614,0.25859594477718084,0.042518948977381774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0987845977845214,0.0319333088348043,0.05917054284096091,0.06938450559326964,0.07959846834557836,0.0898124310978871,0.10002639385019584,0.19043871516765942,0.28085103648512305,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018899033299008647,0.0197309027151961,0.05804444098689902,0.5153460588764806,0.3879795641224158,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021048117338408667,0.01958400658917994,0.018119895839951206,0.01665578509072248,0.01519167434149375,0.01372756359226502,0.012263452843036291,0.010799342093807562,0.009335231344578832,0.007871120595350101,0.006407009846121372,0.004942899096892645,0.0034787883476639137,0.0282534026614326,0.05302801697520128,0.03507293814763677,0.01711785932007226,0.06489254712586744,0.08864342465396335,0.1797540090146522,0.364034699245566,0.009778215896136406,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009363895124765221,0.08149119541011896,0.08466272373189611,0.08783425205367326,0.15695654786129798,0.02353627693522069,0.12375526259487009,0.09667589020703553,0.14413328209605258,0.1915906739850696,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12196863745232711,0.13136826317985092,0.14076788890737477,0.15016751463489858,0.12300936885991448,0.09585122308493038,0.06869307730994628,0.04552589810198283,0.056058008856919146,0.06659011961185547,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0011821622790929608,0.00429323416483835,0.007404306050583741,0.01051537793632913,0.013626449822074518,0.01673752170781991,0.06305408269892582,0.32772436399642035,0.5554625013439153,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01667741721688468,0.016754094997192194,0.01683077277749971,0.01690745055780723,0.016984128338114742,0.01706080611842226,0.0163419519280393,0.01562309773765634,0.012603910138047906,0.00958472253843947,0.05012809887603843,0.0906714752136374,0.05415368234218301,0.045472067024751914,0.2801504105555167,0.3240559136397686,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07728351628299687,0.05539306842441484,0.03350262056583281,0.02628691030033907,0.035027307975201816,0.043767705650064555,0.0525081033249273,0.06124850099979005,0.06361432292682057,0.014194931562183098,0.04113901462003065,0.06808309767787821,0.40113825118317425,0.026812648506345852,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.056580543148410684,0.05937294481301151,0.06216534647761232,0.04877633030035403,0.07186379330918827,0.09495125631802251,0.11803871932685676,0.1399880679620161,0.10023535876722754,0.060482649572439,0.06072653122394077,0.06097041287544254,0.06584804590547795,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002082230717338906,0.005370461238837127,0.019146226089675884,0.5044675169247161,0.468933565029432,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013835123760561332,0.013855469530797452,0.013875815301033571,0.01389616107126969,0.01391650684150581,0.01393685261174193,0.013957198381978052,0.013977544152214172,0.013997889922450291,0.01401823569268641,0.01403858146292253,0.010052665509189162,0.006066749555455794,0.002080833601722427,0.04201401553758699,0.007843397404410767,0.08433321762871576,0.06551338016030513,0.34452338118134096,0.2707370434850921,0.01352993720701954,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04763984626684504,0.028056701321650022,0.008473556376455006,0.052196701127151954,0.04456929939776029,0.036941897668368626,0.19718753759146293,0.05716781552021405,0.13380582907992128,0.09735099019746594,0.13132027188339024,0.16528955356931452,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03376776227967372,0.0435727198246814,0.05337767736968908,0.06318263491469676,0.07109781796066303,0.07901300100662931,0.08692818405259559,0.09484336709856184,0.09484336709856184,0.09484336709856184,0.09484336709856184,0.09484336709856184,0.09484336709856184,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.000673769868718817,0.021137123310093174,0.0031946776349624667,0.041908485834310415,0.31033321307636214,0.622752730275553,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020425470660496887,0.016039633402107983,0.024999272372816746,0.0339589113435255,0.02712953618403421,0.02030016102454292,0.01378405995493655,0.007267958885330181,0.05789305181073351,0.0825635935389062,0.203815981663566,0.3952086398384936,0.09661372932050982,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05333636826651525,0.05576706213282779,0.05819775599914034,0.060628449865452884,0.06305914373176542,0.06548983759807797,0.06792053146439052,0.058614446376222484,0.049308361288054464,0.04000227619988644,0.03208515903532558,0.024168041870764722,0.10604770096740727,0.18792736006404984,0.014485167354420956,0.0629623377856979,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.033653214144866564,0.03672056439244555,0.039787914640024534,0.04285526488760352,0.048034704877086894,0.05321414486657026,0.05839358485605362,0.063573024845537,0.06875246483502037,0.07393190482450374,0.0791113448139871,0.08429078480347048,0.08947022479295384,0.09464966478243722,0.06958503133079182,0.04452039787914639,0.019455764427500986,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019113330530068477,0.0028812026913691336,0.00271888141298214,0.015479502446866586,0.381098513292772,0.5787085696259416,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00787001952657724,0.009167882395872434,0.01046574526516763,0.011763608134462823,0.013681399565752954,0.015599190997043084,0.017516982428333217,0.044072109348832544,0.20182137549384882,0.591743918591713,0.07629776825239619,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020556596241620966,0.029494916475298602,0.038433236708976234,0.04056692585729157,0.042700615005606894,0.04483430415392222,0.04696799330223755,0.07226531127673701,0.1684645217466784,0.4429375429059238,0.0527780363257068,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03037721414185645,0.03298022382185099,0.035583233501845536,0.03818624318184008,0.04078925286183463,0.043392262541829166,0.04599527222182371,0.04263561755518615,0.03927596288854859,0.03591630822191104,0.03255665355527348,0.02919699888863592,0.03509639249969592,0.04099578611075592,0.04689517972181592,0.05279457333287591,0.3773328249524204,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010813202698903096,0.055016282426207784,0.42455025938186053,0.5096202554930286,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028291563671347202,0.02826784841803477,0.028244133164722338,0.0763056168156406,0.021244206655740863,0.3790382073219312,0.3759276892741955,0.06268073467838757,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10066318959370639,0.2159709640508387,0.331278738507971,0.11984361132019046,0.07312099824330828,0.15912249828398498,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.060658010291604295,0.17345802138005867,0.25611159900899594,0.2046441963373317,0.15317679366566742,0.10170939099400318,0.050241988322338914,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005534306550644779,0.007699904766114474,0.00986550298158417,0.012031101197053867,0.014196699412523562,0.04887192127647176,0.4874437047181544,0.41435685909745307,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026865522179222424,0.005337727136973923,0.023540580286612052,0.041743433436250185,0.061147906309763925,0.06362019362687028,0.1633357820834934,0.20530521395385318,0.40910364098696056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008834780824402016,0.020140057420978855,0.0314453340175557,0.03915033686520421,0.046855339712852724,0.05456034256050124,0.016913706193755384,0.05610435158304583,0.09529499697233629,0.13448564236162672,0.1736762877509172,0.16540503716258037,0.15713378657424357,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6262626262626263,0.37373737373737376,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02243559618201394,0.04902297530332394,0.09686412900864078,0.4132894609491197,0.4183878385569017,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00916533279554504,0.01732196499597147,0.025478597196397907,0.03363522939682433,0.04179186159725077,0.04073173620558589,0.03967161081392101,0.03861148542225613,0.12660475719167147,0.10786694748539237,0.423654753838797,0.09546572306038657,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0663476106603527,0.18878253688678423,0.31121746311321574,0.4336523893396473,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12612612612612614,0.14234234234234236,0.1585585585585586,0.1747747747747748,0.19099099099099098,0.20720720720720723,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010012730932987187,0.047255970634450084,0.08449921033591298,0.1217424500373759,0.4600202350207387,0.2764694030385352,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.045622345149874434,0.0439572191314683,0.04229209311306217,0.04062696709465603,0.03896184107624989,0.03729671505784376,0.035631589039437625,0.033966463021031484,0.03230133700262535,0.030636210984219217,0.028971084965813083,0.027305958947406943,0.02564083292900081,0.023975706910594675,0.03227815170363489,0.0405805964966751,0.04888304128971531,0.057185486082755525,0.06548793087579574,0.05617165619053609,0.18235989232897695,0.029866880608626505,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1630181648812296,0.15314392175128086,0.14326967862133208,0.13339543549138333,0.12352119236143454,0.11364694923148577,0.09455053563111317,0.07545412203074056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11736411736411737,0.1258617925284592,0.13435946769280102,0.14285714285714285,0.1513548180214847,0.1598524931858265,0.16835016835016833,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009877252153000992,0.026325971557307173,0.12106282047931048,0.3319627847843651,0.5107711710260163,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02016450331419597,0.018551559365385342,0.016938615416574713,0.015325671467764083,0.013712727518953454,0.012099783570142826,0.010486839621332195,0.012939971208234324,0.015393102795136454,0.01784623438203858,0.02029936596894071,0.022752497555842837,0.025205629142744965,0.02972971642477611,0.007238539651249836,0.6260122177348131,0.05667568187930211,0.05862734298257233,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.023675253038513262,0.15064334393054005,0.6181194344332005,0.20756196859774625,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11961188615603323,0.20908376340954093,0.3893399609221307,0.2819643895122952,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15569958046566176,0.16076260747247317,0.16582563447928456,0.22784593735395506,0.28986624022862556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005664835007474286,0.02650994683236333,0.04735505865725237,0.06820017048214141,0.1269509253424974,0.4417775442596492,0.283541519418622,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.025914778376346596,0.02535269984991899,0.024790621323491375,0.024228542797063768,0.02366646427063616,0.02310438574420855,0.02254230721778094,0.027512264714614536,0.014022380080351924,0.19997719966110894,0.385932019241866,0.2029563367226124,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05433866421952626,0.05475736968012192,0.05517607514071759,0.05559478060131325,0.05601348606190892,0.05643219152250458,0.056850896983100245,0.057269602443695916,0.05768830790429158,0.051875345256847706,0.04606238260940383,0.06743151932329912,0.0888006560371944,0.11016979275108969,0.131538929464985,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06250000000000001,0.0630503913894325,0.06360078277886498,0.06415117416829746,0.06470156555772995,0.06525195694716243,0.06580234833659492,0.0663527397260274,0.06506849315068494,0.06378424657534247,0.06250000000000001,0.061215753424657536,0.05993150684931508,0.058647260273972615,0.057363013698630144,0.05607876712328768,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.026676161607479067,0.07119075027549467,0.11570533894351027,0.16021992761152587,0.4385412137162242,0.1876666078457659,0.0,0.0,0.0,0.0 +othdiscr,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07912497090993716,0.07563416336979288,0.07214335582964859,0.0686525482895043,0.06516174074936001,0.061670933209215725,0.05818012566907144,0.0572492436583663,0.05631836164766115,0.07307423784035373,0.33279031882708865,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22591362126245845,0.1982281284606866,0.17054263565891473,0.14285714285714285,0.11517165005537099,0.08748615725359911,0.059800664451827246,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2639676113360324,0.09797570850202429,0.497165991902834,0.1408906882591093,0.0,0.0,0.0 +othdiscr,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15984147952443858,0.15521796565389698,0.15059445178335537,0.14597093791281374,0.14134742404227216,0.24702774108322326,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15633074935400518,0.14502583979328165,0.13372093023255816,0.12241602067183462,0.1111111111111111,0.09980620155038761,0.0885012919896641,0.07719638242894057,0.06589147286821706,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20340779048628208,0.052831445398659034,0.3440186201535064,0.3042397057454322,0.09550243821612024,0.0,0.0 +othdiscr,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +othdiscr,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.701647623565302,0.298352376434698,0.0 +othdiscr,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13823516351454046,0.16911758175727024,0.2,0.23088241824272981,0.26176483648545956,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +othdiscr,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1088780889150971,0.2852455107291655,0.4616129325432338,0.14426346781250365 +othdiscr,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.35962877030162416,0.6403712296983759,0.0,0.0,0.0,0.0 +othdiscr,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +othdiscr,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,0.32530521300350207,0.6746947869964979,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16133594717176264,0.8386640528282373,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3716094032549729,0.29053646775165765,0.20946353224834238,0.12839059674502712,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22325581395348837,0.2006201550387597,0.177984496124031,0.15534883720930234,0.13271317829457366,0.11007751937984496,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3492703833452329,0.3493404024351693,0.2169098722182557,0.08447934200134212,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2304636088150651,0.19333987400955782,0.18168850683760704,0.1700371396656563,0.15838577249370556,0.06608509817840819,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07015954779374785,0.11472791620755199,0.15929628462135612,0.20386465303516027,0.2484330214489644,0.20351857689321942,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32443532605422365,0.1391025107722742,0.29622483772958097,0.1788207210578341,0.06141660438608724,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4110191363212417,0.33333333333333337,0.25564753034542503,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32593146577810334,0.6740685342218966,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5075987841945289,0.2735562310030395,0.2188449848024316,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.297086252017069,0.28148367191967777,0.02412798514252631,0.05157559240197739,0.04800684292168116,0.044438093441384934,0.04086934396108872,0.03730059448079249,0.03373184500049626,0.030163095520200037,0.026594346039903814,0.023025596559607585,0.01945684707931136,0.015888097599015133,0.01231934811871891,0.008750598638422683,0.005181849158126456,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.030340052942374265,0.12095296273671349,0.18468743636733864,0.15319351116541097,0.12169958596348332,0.09020566076155569,0.08006515984524536,0.06992465892893504,0.05978415801262472,0.049643657096314395,0.03950315618000407,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.016611649451602598,0.02236183580023427,0.028112022148865937,0.03386220849749761,0.09658183367053562,0.15930145884357363,0.14244641526081206,0.12559137167805043,0.10873632809528883,0.09188128451252721,0.07502624092976559,0.058171197347003996,0.041316153764242365,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03717746872330068,0.778234744447412,0.1126942020675052,0.0718935847617821,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12961184455251412,0.1149339373449396,0.11806967991793527,0.1212054224909309,0.12434116506392655,0.1274769076369222,0.13061265020991786,0.1337483927829135,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10846543086222157,0.184138987277725,0.13687012971902657,0.08960127216032811,0.08236822172783358,0.07513517129533903,0.0679021208628445,0.06066907043034997,0.05343601999785543,0.0462029695653609,0.03896991913286637,0.03173686870037183,0.0245038182678773,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13459119496855348,0.11320754716981134,0.17358490566037738,0.18322851153039832,0.19287211740041932,0.2025157232704403,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21836734693877552,0.23945578231292516,0.2605442176870748,0.2816326530612245,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1979875380517054,0.48102693055988355,0.04247051289437214,0.278515018494039,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.36820933474289413,0.11515710269847486,0.516633562558631,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12072830313156184,0.07924297984432196,0.03775765655708209,0.1321169016910964,0.12026187239240659,0.10840684309371676,0.09655181379502696,0.08469678449633714,0.07284175519764731,0.0609867258989575,0.04913169660026768,0.03727666730157786,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1416184971098266,0.8583815028901735,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8670520231213873,0.1329479768786127,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2755555555555555,0.23199999999999996,0.18844444444444441,0.14488888888888887,0.10133333333333333,0.05777777777777777,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6355547151985406,0.1255103112264666,0.08960621278462635,0.053702114342786114,0.09562664644758054,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8649008610485013,0.13509913895149872,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05403965558059949,0.12701982779029974,0.2,0.2729801722097002,0.3459603444194005,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.43857772460179234,0.3757291998007914,0.18569307559741627,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09466403182966882,0.16739371482075585,0.1066572212776789,0.04592072773460197,0.06963810544555428,0.09335548315650659,0.1170728608674589,0.1407902385784112,0.1645076162893635,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4376209657228804,0.3333333333333333,0.22904570094378626,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13273185839296534,0.5327504298443213,0.28908938053567823,0.04542833122703516,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40225277921169633,0.3333333333333333,0.2644138874549703,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.133572142105686,0.3333333333333333,0.5330945245609807,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.042791861995517926,0.2938986427083947,0.6633094952960874,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2670454545454545,0.2832167832167832,0.24431818181818182,0.20541958041958042,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.044128434852690274,0.6046290075156545,0.012951754260812404,0.06285767769221332,0.11276360112361421,0.16266952455501513,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28593895598123414,0.4605260203187126,0.23802034800625532,0.01551467569379802,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.33153153153153153,0.40540540540540543,0.26306306306306304,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4548289006036915,0.47446309245579665,0.07070800694051184,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04129554655870445,0.04723346828609987,0.05317139001349528,0.05910931174089069,0.0650472334682861,0.0709851551956815,0.07692307692307693,0.08286099865047233,0.08879892037786775,0.09473684210526316,0.10067476383265858,0.10661268556005399,0.1125506072874494,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.054107212902882076,0.9458927870971179,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3711370262390671,0.6288629737609329,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8489795918367347,0.1510204081632653,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4515463917525773,0.5484536082474227,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12702387727016334,0.6595189391096051,0.1740044056076928,0.03945277801253869,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23204349210467443,0.7326632435021537,0.03529326439317191,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2958714051004921,0.39826277992053616,0.30586581497897175,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19014411901441186,0.3714551371455137,0.2587943592127693,0.1461335812800248,0.03347280334728033,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49148418491484186,0.3333333333333333,0.17518248175182483,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7161026621422972,0.2838973378577027,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3047722342733189,0.210412147505423,0.4848156182212581,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.48328025477707004,0.51671974522293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19793459552495699,0.17957544463568562,0.16121629374641422,0.14285714285714288,0.1244979919678715,0.10613884107860011,0.08777969018932875,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4994934143870314,0.10739614994934145,0.11921648091860859,0.13103681188787572,0.14285714285714285,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7311688311688311,0.2688311688311688,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6039603960396039,0.39603960396039606,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,FALSE,1,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4742268041237114,0.3333333333333333,0.1924398625429553 +escort,FALSE,1,2,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,5,1,0.0,0.0,0.0,0.6006983847737727,0.39930161522622726,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,6,1,0.0,0.0,0.0,0.13595532896334062,0.3333333333333333,0.530711337703326,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,7,1,0.0,0.0,0.0,0.0,0.06088301590415379,0.580827005609531,0.3582899784863151,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.03070277302439106,0.15735171175000418,0.8119455152256048,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09012028242817505,0.909879717571825,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5925233644859813,0.4074766355140187,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004274125201139501,0.22523476315227942,0.770491111646581,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02031866961208096,0.8293998494834712,0.15028148090444785,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005467952287358367,0.3932988533915064,0.6012331943211352,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04827362602384971,0.3585559281762436,0.5931704457999067,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3862433862433862,0.6137566137566137,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02109151135940575,0.3933132010363253,0.5855952876042689,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09147309190592988,0.673495888039244,0.23503102005482615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5538140020898642,0.3333333333333333,0.1128526645768025,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01624223828418801,0.4101922097568738,0.5735655519589382,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28391326722082966,0.3123719134940599,0.4037148192851104,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5763508222396241,0.19028974158183243,0.23335943617854346,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013430411594508808,0.010530381216131502,0.5267956345854725,0.44924357260388725,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.049824803246607374,0.04213754788855938,0.09594833539489535,0.7515009553958484,0.06058835807408959,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.258779316408547,0.741220683591453,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05879470421187831,0.31259118453853146,0.6286141112495902,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.051435469985595554,0.3486872725862786,0.48849286035587075,0.1113843970722552,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.037771847427532354,0.13481644004903856,0.827411712523429,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09635461235666609,0.4495978093445148,0.4540475782988191,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09006690684508492,0.20844055584148222,0.32681420483787954,0.3329902213072568,0.041688111168296446,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.42105263157894735,0.3017543859649123,0.18245614035087723,0.09473684210526317,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4659231722428749,0.3333333333333333,0.20074349442379183,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05539529871995381,0.1579938209632178,0.2605923432064817,0.5260185371103466,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4395536555416038,0.30274578233360094,0.06494892216153376,0.1927516399632615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4223057644110276,0.30743525480367584,0.19256474519632413,0.07769423558897243,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02752703296415063,0.2707631572633891,0.7017098097724603,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18255622611972538,0.7272229362612598,0.09022083761901487,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40165631469979296,0.3333333333333333,0.26501035196687367,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2422680412371134,0.24742268041237112,0.25257731958762886,0.25773195876288657,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0036945481978282136,0.4661950909003097,0.530110360901862,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006577472708735211,0.09655603319718108,0.18653459368562697,0.7103319004084568,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.318398071275929,0.13713184257923677,0.22720064290802366,0.31726944323681056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02357962776441745,0.2884780136801235,0.687942358555459,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17492998532684886,0.19750408351794232,0.2200781817090358,0.2991339319296219,0.10835381751655127,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.39373586090553453,0.2979119536351782,0.20208804636482183,0.10626413909446548,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32068139596193773,0.6793186040380622,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6134092577226855,0.3865907422773145,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4217345134902667,0.5782654865097333,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.013777500244661015,0.41001200758460066,0.5762104921707383,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0513724061086017,0.304891142739344,0.6437364511520542,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1550174250087541,0.17750871250437705,0.2,0.22249128749562294,0.2449825749912459,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3721192368874413,0.6278807631125587,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07714123652864435,0.316505955757232,0.3102665910380034,0.29608621667612023,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09773755656108597,0.6298642533936651,0.27239819004524884,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6453407510431154,0.3333333333333333,0.02132591562355123,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01973736974780499,0.0461207067337297,0.35824206401557673,0.5758998595028886,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.287923833795009,0.11972942313668433,0.5923467430683067,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11147236919279421,0.19133389586092023,0.2711954225290462,0.3510569491971723,0.07494136322006693,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28064609291267384,0.23505432241427096,0.1894625519158681,0.14387078141746523,0.09827901091906237,0.05268724042065951,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02962314113856744,0.23647145533566843,0.7339054035257642,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18109584893640832,0.18407191549180724,0.18704798204720616,0.3424409165615694,0.10534333696300875,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14470554589978357,0.3207354202875812,0.24946088244589645,0.17818634460421173,0.10691180676252704,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.003071323209848306,0.007666022731781372,0.2722136227568693,0.7170490313015011,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04040784320677499,0.8311993532368839,0.12839280355634117,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0404927468392854,0.16726561908014206,0.29403849132099874,0.4208113635618554,0.04899398650720167,0.028397792690516732,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05045296167247387,0.12522648083623694,0.2,0.2747735191637631,0.34954703832752615,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0034241351577062036,0.023191157544493135,0.2699523791421396,0.7034323281556611,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08344950477074457,0.09888005980186296,0.704945562242204,0.11272487318518859,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.128201413191631,0.12183694946172506,0.1154724857318191,0.6344891516148249,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26964530338077947,0.3333333333333333,0.39702136328588716,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.10950730711419081,0.3083440130702536,0.5821486798155556,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.433374155800439,0.4899338866623532,0.07669195753720785,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1426356589147287,0.1362126245847176,0.12978959025470657,0.12336655592469548,0.1169435215946844,0.11052048726467331,0.10409745293466224,0.1364341085271318,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.010093414548185471,0.021942773216988024,0.033792131885790576,0.29101625527703767,0.6431554250719982,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09945435612851096,0.06836397044038699,0.6980944968448441,0.134087176586258,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07705158215407974,0.08738085071602275,0.23999673129959265,0.5955708358303049,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11015801354401807,0.15507900677200903,0.2,0.244920993227991,0.2898419864559819,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011926999697944295,0.03145315998563589,0.38142439356310626,0.5751954467533136,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08246935905336307,0.05142827474293006,0.5941607261858929,0.2719416400178139,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02340755394827885,0.26061651719365375,0.0523345832899419,0.3220475533893007,0.34159379217882474,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07881773399014778,0.16617405582922826,0.2535303776683087,0.34088669950738915,0.16059113300492608,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.019062049372053934,0.3994395614014974,0.5814983892264487,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02390833888733201,0.020703235485769387,0.017498132084206763,0.30856630105121324,0.5972729584758524,0.03205103401562625,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03871794871794872,0.038461538461538464,0.03820512820512821,0.03794871794871795,0.03769230769230769,0.03743589743589744,0.03717948717948718,0.03692307692307693,0.036666666666666674,0.036410256410256414,0.03615384615384616,0.0358974358974359,0.03564102564102565,0.03538461538461539,0.06461538461538463,0.09384615384615387,0.12307692307692308,0.1523076923076923,0.04743589743589744,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04773073157280358,0.012710663136926575,0.5027221158590821,0.43683648943118764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028815499102275613,0.006790913801173234,0.0592828421021339,0.06901036727678746,0.7689756367585155,0.06712474095911419,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04383026242322725,0.03545505304299274,0.027079843662758236,0.01870463428252373,0.010329424902289224,0.03126744835287549,0.03238414293690676,0.06002233389168063,0.740926856504746,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1808014911463187,0.16169617893755822,0.14259086672879775,0.12348555452003726,0.1043802423112768,0.10003106554830692,0.09568188878533705,0.09133271202236717,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0027924133721581455,0.027242109248915666,0.051691805125673194,0.3855488369583097,0.5327248352949434,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0134020058756764,0.06253366373739153,0.11291906795892036,0.5990486003887697,0.08603357558774885,0.1260630864514931,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.28191200434546443,0.17164584464964694,0.1768966141589716,0.18214738366829622,0.18739815317762087,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2092267706302794,0.3333333333333333,0.45743989603638724,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.027103417868020913,0.42283638795494544,0.5500601941770337,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09077642484980225,0.07935616494934325,0.06793590504888426,0.1368967052170405,0.20585750538519673,0.22151895011871192,0.19765834443102104,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12599157798222982,0.17249860170172046,0.2190056254212111,0.23383660677201656,0.248667588122822,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08275276212632943,0.36920343418356816,0.5480438036901025,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0792992291601875,0.10487311784518218,0.13044700653017685,0.15602089521517154,0.14642938983968237,0.13683788446419318,0.027734602240101793,0.1402106529238023,0.0781472217815023,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17149292540059818,0.150121614962463,0.12875030452432787,0.10737899408619273,0.08600768364805757,0.06463637320992242,0.043265062771787266,0.02189375233365212,0.06274030519494339,0.1637129838680554,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017757030760833157,0.08501691936389627,0.15227680796695936,0.2195366965700225,0.2867965851730856,0.23861596016520298,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08663263898468754,0.07922931898652688,0.07182599898836621,0.06442267899020554,0.057019358992044876,0.04961603899388421,0.04221271899572355,0.1751965788384605,0.24306800938060422,0.1307766588494965,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12367073651043718,0.04214257581725089,0.0418274911382434,0.041512406459235915,0.04119732178022844,0.04088223710122096,0.040567152422213475,0.46750689247735333,0.025600630169358016,0.07246947617172116,0.06262307995273729,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13619605291693776,0.1235692426323526,0.11094243234776742,0.09831562206318224,0.0856888117785971,0.07306200149401192,0.06043519120942673,0.047808380924841576,0.0351815706402564,0.02255476035567122,0.03415744957709825,0.045760138798525266,0.05736282801995229,0.06896551724137931,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04355342207920049,0.012870176117622412,0.44412058006075966,0.4994558217424175,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04077401520387008,0.04814558857406128,0.05551716194425248,0.06288873531444368,0.12404975812024881,0.18521078092605392,0.22287491361437461,0.26053904630269525,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.41550387596899224,0.4310077519379845,0.15348837209302327,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01771991665677123,0.018301294646877186,0.018882672636983146,0.019464050627089106,0.020045428617195066,0.020626806607301026,0.021208184597406986,0.021789562587512946,0.022370940577618906,0.022952318567724866,0.023533696557830826,0.024115074547936783,0.29453485268640556,0.4544552000853464,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12508638562543195,0.12785072563925365,0.13061506565307535,0.17691776088458883,0.4395300621976504,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14399363564041368,0.11455847255369929,0.08512330946698488,0.06523468575974542,0.20365950676213207,0.38743038981702466,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16189624329159216,0.16428145497912944,0.16666666666666669,0.16905187835420396,0.16905187835420396,0.16905187835420396,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0557923566249989,0.45415382357508316,0.4900538197999179,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03805834623332047,0.06662921299252259,0.0952000797517247,0.12377094651092684,0.15234181327012897,0.18091268002933109,0.20948354678853318,0.13360337442351225,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0626338329764454,0.08126338329764454,0.0998929336188437,0.11852248394004283,0.13715203426124198,0.15578158458244112,0.34475374732334046,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5664290343486714,0.4335709656513286,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20458998785149074,0.5306588849002427,0.2647511272482665,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11242973141786383,0.1913387466166979,0.2702477618155319,0.34915677701436604,0.07682698313554027,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +escort,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11986131748390293,0.3333333333333333,0.5468053491827637,0.0,0.0,0.0 +escort,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +escort,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +escort,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +escort,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +escort,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +escort,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,1,1,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,1,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,1,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,1,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,2,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,2,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,2,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,3,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,3,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,3,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,4,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,4,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,4,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,5,1,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,5,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,5,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,5,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,6,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,6,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,6,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,7,1,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8370234757604141,0.16297652423958592,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14438884917798425,0.09077912794853464,0.09649749821300926,0.0843459614010007,0.08045429274878879,0.0765626240965769,0.07267095544436501,0.06877928679215312,0.06488761813994122,0.060995949487729316,0.05710428083551742,0.05321261218330552,0.049320943531093626,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5335968379446641,0.466403162055336,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5939849624060151,0.40601503759398494,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08163710623539167,0.11980561491797288,0.15504256048208256,0.14138824407599007,0.12773392766989758,0.11407961126380509,0.10042529485771257,0.08677097845162007,0.07311666204552757,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.40719800516525395,0.0731175953574748,0.05315902421803856,0.0785479520567464,0.10393687989545425,0.1293258077341621,0.15471473557286994,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29173130314286505,0.18110448224809542,0.07047766135332581,0.10893193431356367,0.14738620727380156,0.18584048023403937,0.01452793143430922,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07714988554716792,0.23453565206339047,0.15491697017871317,0.0752982882940359,0.0981346544159976,0.1209710205379593,0.14380738665992102,0.07966450965424522,0.015521632648569431,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.057308970099667775,0.26245847176079734,0.23629568106312293,0.2101328903654485,0.1839700996677741,0.04983388704318937,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4946236559139785,0.3333333333333333,0.17204301075268816,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12175967375040292,0.3914637956352064,0.021303055193012878,0.19662838614828318,0.12296566153687082,0.08961502975769817,0.05626439797852554,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13731954783858716,0.21243984927952908,0.287560150720471,0.36268045216141287,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13731954783858716,0.21243984927952908,0.287560150720471,0.36268045216141287,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0666319869580111,0.20638478805434876,0.48465548332509345,0.24232774166254673,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17681901754403784,0.11898106219645846,0.06114310684887907,0.6430568134106246,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.49537019948065025,0.3333333333333333,0.1712964671860164,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12608744968260496,0.5458138338129015,0.12055720280862782,0.10936623883483115,0.09817527486103447,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4757787994312435,0.24052502143742946,0.1747404001895855,0.10895577894174156,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18063314711359404,0.13826815642458098,0.09590316573556798,0.09636871508379889,0.09683426443202979,0.0972998137802607,0.09776536312849163,0.09823091247672253,0.09869646182495344,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13331803030726114,0.4160749433709186,0.10173677101281689,0.0892819914524408,0.0768272118920647,0.06437243233168861,0.05191765277131252,0.03946287321093643,0.027008093650560352,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25925925925925924,0.7407407407407407,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17872340425531913,0.18936170212765957,0.2,0.21063829787234045,0.22127659574468087,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11733731311640902,0.5765282326442912,0.2942208956278637,0.011913558611436163,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3750104095192546,0.22936005191575867,0.2954334583583818,0.10019608020660496,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4988068197644292,0.05945081282076046,0.263389928952529,0.17835243846228138,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17053295511617048,0.6689654400686103,0.16050160481521927,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.315584155927456,0.271861385309152,0.228138614690848,0.18441584407254402,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0370658840983431,0.258748383224972,0.1893179224262735,0.11988746162757496,0.07027941003351777,0.020671358439460573,0.051755850913883815,0.08284034338830708,0.08409124307865815,0.08534214276900924,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.8488888888888889,0.1511111111111111,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24282305554819378,0.42849863333787513,0.11218935778124027,0.08896251000201325,0.06573566222278622,0.042508814443559195,0.01928196666433218,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5482597412411524,0.3333333333333333,0.11840692542551425,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.42704626334519574,0.5729537366548043,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3907476562091826,0.545539680387856,0.06371266340296129,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16666666666666663,0.24509803921568624,0.08660130718954248,0.10212418300653593,0.1176470588235294,0.13316993464052287,0.14869281045751634,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.42596530684841366,0.30865510228280457,0.19134489771719548,0.07403469315158638,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16681425400223154,0.2799865379504696,0.23219313698311794,0.18439973601576626,0.1366063350484146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4602154821867369,0.5397845178132632,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15977112919811823,0.7202862435925466,0.11994262720933528,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5053880233698534,0.26283728226722763,0.23177469436291892,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6578643265997863,0.3421356734002136,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3215852755439399,0.12903933553684008,0.5493753889192201,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.32528394495596546,0.36635196599641046,0.040486606800788104,0.06488955044153338,0.08929249408227866,0.11369543772302393,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.508695652173913,0.49130434782608695,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.26952882703849024,0.16653796330445553,0.3463400121818323,0.04424471561606093,0.05101377145122396,0.05778282728638699,0.06455188312155002,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19925359851173982,0.5193828035898144,0.2813635978984458,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18582846451011006,0.2286094881700367,0.2713905118299633,0.31417153548988996,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0906455359110458,0.6053454754519266,0.057078045982799204,0.03542469219512135,0.05296338784074516,0.07050208348636895,0.08804077913199276,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5158730158730159,0.3333333333333333,0.15079365079365079,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3153846153846154,0.6846153846153846,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2039650351947839,0.4945345422566153,0.1401325077261919,0.13255221574697873,0.028815699075430155,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2854399642732784,0.5294722982348744,0.1850877374918472,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2825278810408922,0.2230483271375465,0.1635687732342008,0.10408921933085503,0.22676579925650558,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4885732102960984,0.4888791921670637,0.022547597536837896,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12684526344531155,0.8731547365546884,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22918707149853085,0.7708129285014691,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.076,0.564,0.308,0.052,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6621727808397511,0.33782721916024905,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5969773299748111,0.40302267002518893,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,TRUE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +eatout,TRUE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +eatout,TRUE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +eatout,TRUE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +eatout,TRUE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,TRUE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,TRUE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,TRUE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,TRUE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,TRUE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,TRUE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,TRUE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,TRUE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +eatout,TRUE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +eatout,TRUE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +eatout,TRUE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +eatout,TRUE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,TRUE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,FALSE,1,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19072164948453607,0.8092783505154639 +eatout,FALSE,1,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,FALSE,1,3,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,1,4,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,2,1,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,2,2,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,2,3,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,2,4,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,3,1,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,3,2,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,3,3,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,3,4,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,4,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,4,2,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,4,3,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,4,4,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,5,1,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,5,2,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,5,3,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,5,4,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,6,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,6,2,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,6,3,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,6,4,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,7,1,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,7,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,7,3,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,7,4,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,8,1,0.0,0.0,0.0,0.0,0.0,0.0,0.3815261044176707,0.6184738955823293,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,8,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,8,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,8,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,9,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.29226736566186107,0.7077326343381389,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,9,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,9,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,9,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,10,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08076400221351451,0.28649786137017114,0.6327381364163144,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,10,2,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,10,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,10,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,11,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2587695058226606,0.7412304941773394,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,11,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,11,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,11,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,12,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.38688773927484504,0.6131122607251549,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,12,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,12,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,12,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,13,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.021241596921655753,0.17077125946225877,0.8079871436160855,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,13,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08842350203606748,0.06573589296102385,0.04304828388598021,0.8027923211169284,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,13,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05089408528198074,0.9491059147180193,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,13,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,14,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31104588675678313,0.6889541132432169,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,14,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.6583825626620509,0.3416174373379491,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,14,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,14,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,15,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.16195468127261622,0.8380453187273839,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,15,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07142857142857142,0.9285714285714286,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,15,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3978494623655914,0.6021505376344086,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,15,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,16,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3580016024322598,0.6419983975677401,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,16,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4043824701195219,0.48406374501992033,0.11155378486055777,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,16,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7837837837837838,0.21621621621621623,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,16,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,17,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.020938879797405746,0.0704611118740642,0.11998334395072265,0.16950557602738112,0.6191110883504263,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,17,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7844630616907845,0.21553693830921553,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,17,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3596491228070176,0.4035087719298246,0.2368421052631579,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,17,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,18,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.25678448918599767,0.7432155108140023,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,18,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0925619927542659,0.020221459675589838,0.7080007743650764,0.179215773205068,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,18,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,18,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,19,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0024685390687905324,0.2100071849316685,0.787524275999541,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,19,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006319771481841868,0.37050839169735134,0.5247252353619557,0.0984466014588512,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,19,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3333333333333333,0.6179604261796042,0.0487062404870624,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,19,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.27703984819734345,0.3333333333333333,0.38962681846932323,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,20,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005299086930572427,0.008081111001856867,0.2791607062376622,0.7074590958299085,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,20,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08267433501078361,0.1308411214953271,0.7570093457943925,0.029475197699496764,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,20,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.21750663129973474,0.7824933687002652,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,20,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,21,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006158312288620605,0.3914887014639705,0.602352986247409,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,21,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.2519085102342827,0.683927428858426,0.06416406090729133,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,21,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,21,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,22,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.004965793377891238,0.357831475266423,0.6372027313556857,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,22,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11355969489917801,0.7218589157813133,0.1645813893195087,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,22,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23852159510057244,0.19370844693016184,0.5677699579692657,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,22,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,23,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0012214458866094324,0.013206883648964485,0.02519232141131954,0.4573433800585747,0.5030359689945318,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,23,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.060407226714819115,0.05152981332936428,0.042652399943909444,0.0337749865584546,0.02489757317299977,0.06285616833839286,0.3116222173954222,0.24716013342404097,0.16509948112259684,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,23,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,23,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,24,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0031563142563491675,0.028519553816297834,0.42997634755855746,0.5383477843687955,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,24,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.046363259470153385,0.25466196143750913,0.33425729577401836,0.36471748331831905,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,24,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.7044594018265421,0.2955405981734579,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,24,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,25,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.017152898617202775,0.05387459706529885,0.46515297856484544,0.4638195257526529,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,25,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.27774621102509733,0.48477285520755414,0.21873315925994963,0.018747774507398986,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,25,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4037815126050421,0.3012605042016807,0.19873949579831934,0.096218487394958,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,25,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,26,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008929712174560525,0.018229512481086382,0.5883805478746208,0.3844602274697323,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,26,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07603754412697662,0.3421689485713948,0.4901585182255286,0.09163498907610003,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,26,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4140301768854739,0.4080297395393076,0.17794008357521854,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,26,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,27,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.029786847527583107,0.015197371187542401,0.06407211692667876,0.5445605663074663,0.3463830980507294,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,27,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.028322739943470492,0.07707499722321479,0.2135813176064988,0.6225182364911228,0.058502708735693146,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,27,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.09158609411409255,0.21563921630037663,0.33969233848666075,0.0497337007527223,0.2180621288430775,0.08528652150307033,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,27,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,28,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0978469044181271,0.026954695551663233,0.509735106918291,0.36546329311191855,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,28,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.045079901123105844,0.04495659392765412,0.0448332867322024,0.04470997953675068,0.04458667234129896,0.09199979821042009,0.09193251934149753,0.09186524047257497,0.17251672668539997,0.3275192816290955,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,28,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,28,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4,0.6,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,29,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005347007109562316,0.03330960757146482,0.06127220803336731,0.08923480849526982,0.4536827978194525,0.35715357097088335,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,29,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.038744609338515146,0.09696680995890178,0.1551890105792884,0.21341121119967507,0.3568382085578097,0.11032002894381246,0.028530121421997512,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,29,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3171896882307302,0.6828103117692698,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,29,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,30,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.00790043965570037,0.033490696084901045,0.41216836761202397,0.5464404966473747,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,30,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3635817518677219,0.1355971871088527,0.15977113603201298,0.1669403536744751,0.17410957131693722,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,30,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22411347517730495,0.3333333333333333,0.4425531914893617,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,30,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22411347517730495,0.3333333333333333,0.4425531914893617,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,31,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0025133377945974196,0.09203303861969077,0.3844625971644152,0.5209910264212966,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,31,2,0.0,0.0,0.0,0.0,0.0,0.0,0.03827721001036223,0.03689235373072485,0.03550749745108746,0.03412264117145007,0.032737784891812685,0.0313529286121753,0.029968072332537916,0.02858321605290053,0.027198359773263143,0.025813503493625756,0.02442864721398837,0.023043790934350983,0.0216589346547136,0.020274078375076214,0.018889222095438824,0.01750436581580144,0.016119509536164055,0.014734653256526667,0.013349796976889284,0.011964940697251897,0.010580084417614509,0.08634714056956357,0.05324171513380204,0.27915094365697873,0.06825860914590005,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,31,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20598591549295775,0.2353286384976526,0.26467136150234744,0.29401408450704225,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,31,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.31621621621621615,0.2581081081081081,0.19999999999999996,0.14189189189189186,0.08378378378378377,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,32,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.006731123260183916,0.006567497952621811,0.006403872645059706,0.006240247337497599,0.006076622029935494,0.005912996722373389,0.005749371414811283,0.005585746107249178,0.005422120799687072,0.005769534223014786,0.2590087633172265,0.6805321041903393,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,32,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06953099327587096,0.045698042750493814,0.021865092225116657,0.12069530908264393,0.4730959444870868,0.26911461817878785,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,32,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.17717086834733894,0.16573295985060693,0.15429505135387486,0.14285714285714285,0.13141923436041084,0.11998132586367881,0.10854341736694677,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,32,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1078600114744693,0.11952572193536048,0.13119143239625167,0.14285714285714285,0.15452285331803403,0.16618856377892524,0.1778542742398164,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,33,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005098933726589375,0.01129677558390922,0.017494617441229064,0.02369245929854891,0.029890301155868753,0.3424367818777678,0.5700901309160867,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,33,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03496762081928759,0.10614562758592247,0.17732363435255735,0.24850164111919226,0.31971815346741844,0.11334332265562183,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,33,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03627267041901188,0.04304773816968938,0.0498228059203669,0.0565978736710444,0.06337294142172191,0.07014800917239941,0.07692307692307691,0.08369814467375443,0.09047321242443193,0.09724828017510945,0.10402334792578696,0.11079841567646447,0.11757348342714195,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,33,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,34,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.005003592073583648,0.0072428539583664535,0.00948211584314926,0.011721377727932063,0.01396063961271487,0.016199901497497674,0.01843916338228048,0.35752116984037097,0.5604291860641045,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,34,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.08325112767808969,0.1292057501563952,0.738258454580086,0.0492846675854291,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,34,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.20408163265306126,0.26040816326530614,0.31673469387755104,0.19918367346938776,0.01959183673469388,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,34,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.19592476489028213,0.23197492163009403,0.26802507836990597,0.30407523510971785,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,35,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.4237016981480406,0.5762983018519595,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,35,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11808705966799943,0.8231501268774108,0.05876281345458958,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,35,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.14597701149425288,0.21532567049808432,0.28467432950191573,0.35402298850574715,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,35,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,36,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.01383013507242681,0.418832752542529,0.5673371123850441,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,36,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.011140410983077666,0.10839359486971333,0.205646778756349,0.3028999626429847,0.27882174603007626,0.09309750671779908,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,36,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,36,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,37,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03266458543935989,0.5118770622630169,0.4554583522976232,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,37,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05419096734161782,0.06807079000186951,0.08195061266212118,0.7957876299943913,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,37,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.12913409031637735,0.24681775467252604,0.3645014190286747,0.25954673598242184,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,37,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.11544782176571622,0.15772391088285811,0.2,0.24227608911714188,0.2845521782342838,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,38,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008788148598380847,0.01576938813915068,0.5776521997507369,0.39779026351173163,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,38,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.06726914735569743,0.21065998072993836,0.3540508141041792,0.36802005781018493,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,38,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.201155076031807,0.798844923968193,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,38,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,39,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.009872172783462066,0.03434617601256302,0.05882017924166398,0.4778979022906982,0.4190635696716126,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,39,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.03378067539960071,0.03766486455704609,0.04154905371449147,0.04543324287193684,0.04931743202938222,0.0532016211868276,0.05708581034427298,0.06096999950171836,0.06592479104666543,0.0708795825916125,0.07583437413655957,0.3197872695599574,0.08857128305992869,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,39,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05612594113620807,0.05502027062602011,0.05391460011583215,0.05280892960564418,0.051703259095456214,0.05059758858526825,0.04949191807508029,0.04838624756489233,0.04728057705470436,0.046174906544516406,0.045069236034328435,0.04396356552414047,0.042857895013952506,0.04175222450376455,0.09445585215605748,0.14715947980835042,0.0732375085557837,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,39,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,40,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02241837133902519,0.06704361994783949,0.6058737116087917,0.3046642971043437,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,40,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.13056408818575363,0.11833631894626222,0.10610854970677079,0.09388078046727938,0.08165301122778795,0.06942524198829654,0.08544645167790343,0.12603351622490755,0.0944420983749602,0.06285068052501286,0.0312592626750655,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,40,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,40,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,41,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.042326176148327906,0.7011650707552315,0.2565087530964406,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,41,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.032991432822151966,0.03309730918978111,0.03320318555741027,0.033309061925039414,0.03341493829266857,0.03352081466029772,0.03362669102792687,0.03373256739555602,0.03383844376318517,0.033944320130814325,0.050851492525817533,0.06775866492082075,0.08466583731582397,0.10157300971082718,0.1184801821058304,0.03763022713581803,0.04349848483995702,0.04936674254409601,0.022877270935068878,0.08861932320110893,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,41,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.37480798771121354,0.3333333333333333,0.29185867895545314,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,41,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,42,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.008320368223528425,0.3118194908620146,0.6153186135005008,0.06454152741395623,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,42,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.15435574693607154,0.13613779397151374,0.11791984100695595,0.11805233521033454,0.11818482941371314,0.11831732361709174,0.11844981782047034,0.11858231202384895,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,42,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,42,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,43,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.04651586107981822,0.06395930898475005,0.08140275688968189,0.6099191784689958,0.19820289457675386,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,43,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.05669599217986316,0.10679374389051809,0.15689149560117302,0.14442815249266863,0.13196480938416422,0.11950146627565984,0.10703812316715543,0.09457478005865104,0.08211143695014664,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,43,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.24801587301587302,0.2154761904761905,0.18293650793650795,0.1503968253968254,0.11785714285714284,0.0853174603174603,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,43,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,44,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.42333333333333334,0.5766666666666667,0.0,0.0,0.0,0.0 +eatout,FALSE,44,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,44,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +eatout,FALSE,44,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +eatout,FALSE,45,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.22058482893930959,0.7794151710606905,0.0,0.0,0.0 +eatout,FALSE,45,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.07472938537933083,0.21312435048023956,0.35151931558114824,0.23738208804680985,0.12324486051247144,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,45,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,45,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,FALSE,46,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +eatout,FALSE,46,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,FALSE,46,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,FALSE,46,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +eatout,FALSE,47,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5673575129533679,0.2538860103626943,0.17875647668393782,0.0 +eatout,FALSE,47,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.5,0.5,0.0,0.0,0.0,0.0,0.0,0.0 +eatout,FALSE,47,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +eatout,FALSE,47,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +eatout,FALSE,48,1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.23923444976076555,0.3333333333333333,0.4274322169059011 +eatout,FALSE,48,2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,FALSE,48,3,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 +eatout,FALSE,48,4,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0 diff --git a/activitysim/examples/prototype_mwcog/configs/work_from_home.csv b/activitysim/examples/prototype_mwcog/configs/work_from_home.csv new file mode 100644 index 0000000000..b6f9853df8 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/work_from_home.csv @@ -0,0 +1,15 @@ +Label,Description,Expression,work_at_home,work_away_from_home +util_work_from_home_constant,Constant for Working from home,1,coef_work_from_home_constant,0 +util_full_time_worker,Full time worker (1 if true),@df.pemploy==PEMPLOY_FULL,coef_full_time_worker,0 +util_female_worker,Female Worker,@df.SEX==2,coef_female_worker,0 +util_female_worker_preschool_child,Female worker with a Preschool Child in Household,"@df.SEX==2 & other_than(df.household_id, df.ptype == PTYPE_SCHOOL)",coef_female_worker_preschool_child,0 +util_access_to_workplaces,Accessibility to workplaces of the home mgra,@df.workplace_location_logsum,coef_access_to_workplaces,0 +util_non_working_adult_in_hh,Presence of Non Working Adult in the Household,"@other_than(df.household_id, df.ptype == PTYPE_NONWORK)",coef_non_working_adult_in_hh,0 +util_education_ba_plus,Education Level Bachelors or higher degree,0,coef_education_ba_plus,0 +util_low_income,Household income Less than 30K,@df.income < 30000,coef_low_income,0 +util_age_lt_35,Age Group - Less than 35 years,@df.age < 35,coef_age_lt_35,0 +util_age_35_to_45,Age Group - 35 yrs to 45 yrs,"@df.age.between(35, 45)",coef_age_35_to_45,0 +util_age_45_to_55,Age Group - 45 yrs to 55 yrs,"@df.age.between(45, 55)",coef_age_45_to_55,0 +util_age_55_to_65,Age Group - 55 yrs to 65 yrs,"@df.age.between(55, 65)",coef_age_55_to_65,0 +util_age_65_plus,Age Group - Older than 65yrs,@df.age > 65,coef_age_65_plus,0 +util_calibration,ABM2 calibration - work from home,1,coef_calibration,0 diff --git a/activitysim/examples/prototype_mwcog/configs/work_from_home.yaml b/activitysim/examples/prototype_mwcog/configs/work_from_home.yaml new file mode 100644 index 0000000000..c4f265ced9 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/work_from_home.yaml @@ -0,0 +1,12 @@ + +# borrowed from free parking model + +SPEC: work_from_home.csv +COEFFICIENTS: work_from_home_coeffs.csv + +#LOGIT_TYPE: NL +LOGIT_TYPE: MNL + +WORK_FROM_HOME_ALT: 0 + +DEST_CHOICE_COLUMN_NAME: workplace_zone_id diff --git a/activitysim/examples/example_semcog/configs/work_from_home_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/work_from_home_coeffs.csv old mode 100755 new mode 100644 similarity index 97% rename from activitysim/examples/example_semcog/configs/work_from_home_coeffs.csv rename to activitysim/examples/prototype_mwcog/configs/work_from_home_coeffs.csv index eb9843335e..a3868e981e --- a/activitysim/examples/example_semcog/configs/work_from_home_coeffs.csv +++ b/activitysim/examples/prototype_mwcog/configs/work_from_home_coeffs.csv @@ -1,15 +1,15 @@ -coefficient_name,value,constrain -coef_work_from_home_constant,0.438361,T -coef_full_time_worker,-0.811935,F -coef_female_worker,-0.347009,F -coef_female_worker_preschool_child,0.572657,F -coef_access_to_workplaces,-0.140426,F -coef_non_working_adult_in_hh,-0.372481,F -coef_education_ba_plus,0.284678,F -coef_low_income,-0.393068,F -coef_age_lt_35,-0.573545,F -coef_age_35_to_45,0,F -coef_age_45_to_55,0.21438,F -coef_age_55_to_65,0.451657,F -coef_age_65_plus,0.583518,F -coef_calibration,-0.0162,T +coefficient_name,value,constrain +coef_work_from_home_constant,0.438361,T +coef_full_time_worker,-0.811935,F +coef_female_worker,-0.347009,F +coef_female_worker_preschool_child,0.572657,F +coef_access_to_workplaces,-0.140426,F +coef_non_working_adult_in_hh,-0.372481,F +coef_education_ba_plus,0.284678,F +coef_low_income,-0.393068,F +coef_age_lt_35,-0.573545,F +coef_age_35_to_45,0,F +coef_age_45_to_55,0.21438,F +coef_age_55_to_65,0.451657,F +coef_age_65_plus,0.583518,F +coef_calibration,-0.0162,T diff --git a/activitysim/examples/prototype_mwcog/configs/workplace_location.csv b/activitysim/examples/prototype_mwcog/configs/workplace_location.csv new file mode 100644 index 0000000000..1fef3349c1 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/workplace_location.csv @@ -0,0 +1,20 @@ +Label,Description,Expression,coefficient +local_dist,,_DIST@skims['DIST'],1 +util_dist,Distance,@_DIST,coef_dist +util_dist_squared,"Distance squared, capped at 30 miles","@(_DIST).clip(0,30)**2",coef_dist_squared +util_dist_cubed,"Distance cubed, capped at 30 miles","@(_DIST).clip(0,30)**3",coef_dist_cubed +util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),coef_dist_logged +util_dist_low,"Distance,low income (<50)",@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,coef_dist_low_inc +util_dist_med,"Distance,med income (50-100)",@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,coef_dist_med_inc +util_dist_very_high,"Distance,very high income (>150)",@(df['income_segment']==WORK_VERYHIGH_SEGMENT_ID) * _DIST,coef_dist_very_high_inc +util_dist_female,"Distance,female",@(df['female']==True) * _DIST,coef_dist_female +util_dist_part_time,"Distance,part_time",@(df['pemploy']==2) * _DIST,coef_dist_part_time +util_dist_student,"Distance,student",@(df['is_student']==True) * _DIST,coef_dist_student +util_dist_young,"Distance,young person (<25)",@(df['young']==True) * _DIST,coef_dist_young +util_dist_old,"Distance,young person (>65)",@(df['old']==True) * _DIST,coef_dist_old +util_dist_zero_auto,"Distance,zero auto HH",@(df['auto_ownership']==0) * _DIST,coef_dist_zero_auto +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 +util_no_attractions,No attractions,@df['size_term']==0,-999 +util_mode_logsum,Mode choice logsum,mode_choice_logsum,coef_mode_logsum +util_sample_of_corrections_factor,Sample of alternatives correction factor,"@np.minimum(np.log(df.pick_count/df.prob), 60)",1 diff --git a/activitysim/examples/prototype_mwcog/configs/workplace_location.yaml b/activitysim/examples/prototype_mwcog/configs/workplace_location.yaml new file mode 100644 index 0000000000..dba0fa9e96 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/workplace_location.yaml @@ -0,0 +1,81 @@ +SAMPLE_SIZE: 30 + +SIMULATE_CHOOSER_COLUMNS: + - income_segment + - home_zone_id + - is_student + - pemploy + - young + - old + - female + - auto_ownership + +SAMPLE_SPEC: workplace_location_sample.csv +SPEC: workplace_location.csv +COEFFICIENTS: workplace_location_coeffs.csv + +LOGSUM_SETTINGS: tour_mode_choice.yaml +LOGSUM_PREPROCESSOR: nontour_preprocessor +LOGSUM_TOUR_PURPOSE: work + +# model-specific logsum-related settings +CHOOSER_ORIG_COL_NAME: home_zone_id +ALT_DEST_COL_NAME: alt_dest +IN_PERIOD: 30 +OUT_PERIOD: 9 + +DEST_CHOICE_COLUMN_NAME: workplace_zone_id +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if not desired in persons table +DEST_CHOICE_LOGSUM_COLUMN_NAME: workplace_location_logsum + +# comment out DEST_CHOICE_LOGSUM_COLUMN_NAME if saved alt logsum table +DEST_CHOICE_SAMPLE_TABLE_NAME: workplace_location_sample + +annotate_persons: + SPEC: annotate_persons_workplace + DF: persons + TABLES: + - land_use + +annotate_households: + SPEC: annotate_households_workplace + DF: households + TABLES: + - persons + +# - shadow pricing + + +# income_segment is in households, but we want to count persons +CHOOSER_TABLE_NAME: persons_merged + +# size_terms model_selector +MODEL_SELECTOR: workplace + +# we can't use use household income_segment as this will also be set for non-workers +CHOOSER_SEGMENT_COLUMN_NAME: income_segment + +# boolean column to filter choosers (True means keep) +CHOOSER_FILTER_COLUMN_NAME: is_worker + +# FIXME - these are assigned to persons in annotate_persons. we need a better way to manage this +# FIXME - these are not needed for this model and should be re/factored out +SEGMENT_IDS: + work_low: 1 + work_med: 2 + work_high: 3 + work_veryhigh: 4 + +CONSTANTS: + WORK_LOW_SEGMENT_ID: 1 + WORK_MED_SEGMENT_ID: 2 + WORK_HIGH_SEGMENT_ID: 3 + WORK_VERYHIGH_SEGMENT_ID: 4 + + +# model adds these tables (informational - not added if commented out) +SHADOW_PRICE_TABLE: workplace_shadow_prices +MODELED_SIZE_TABLE: workplace_modeled_size + +# not loaded if commented out +SAVED_SHADOW_PRICE_TABLE_NAME: final_workplace_shadow_prices.csv diff --git a/activitysim/examples/prototype_mwcog/configs/workplace_location_coeffs.csv b/activitysim/examples/prototype_mwcog/configs/workplace_location_coeffs.csv new file mode 100644 index 0000000000..521f88ce5d --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/workplace_location_coeffs.csv @@ -0,0 +1,15 @@ +coefficient_name,value,constrain +coef_dist,-0.045010687,F +coef_dist_squared,0.002654513,F +coef_dist_cubed,-7.39E-05,F +coef_dist_logged,-0.855216378,F +coef_dist_low_inc,-0.018844727,F +coef_dist_med_inc,-0.004762151,F +coef_dist_very_high_inc,0.005722937,F +coef_dist_female,-0.010731711,F +coef_dist_part_time,-0.016178149,F +coef_dist_student,-0.025985743,F +coef_mode_logsum,0.25,F +coef_dist_young,-0.036726831,F +coef_dist_old,-0.013668916,F +coef_dist_zero_auto,-0.033718425,F diff --git a/activitysim/examples/prototype_mwcog/configs/workplace_location_sample.csv b/activitysim/examples/prototype_mwcog/configs/workplace_location_sample.csv new file mode 100644 index 0000000000..8cae717198 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/workplace_location_sample.csv @@ -0,0 +1,17 @@ +Label,Description,Expression,coefficient +local_dist,,_DIST@skims['DIST'],1 +util_dist,Distance,@_DIST,coef_dist +util_dist_squared,"Distance squared, capped at 30 miles","@(_DIST).clip(0,30)**2",coef_dist_squared +util_dist_cubed,"Distance cubed, capped at 30 miles","@(_DIST).clip(0,30)**3",coef_dist_cubed +util_dist_logged,Distance logged,@(_DIST).apply(np.log1p),coef_dist_logged +util_dist_low,"Distance,low income",@(df['income_segment']==WORK_LOW_SEGMENT_ID) * _DIST,coef_dist_low_inc +util_dist_med,"Distance,med income",@(df['income_segment']==WORK_MED_SEGMENT_ID) * _DIST,coef_dist_med_inc +util_dist_very_high,"Distance,very high income (>150)",@(df['income_segment']==WORK_VERYHIGH_SEGMENT_ID) * _DIST,coef_dist_very_high_inc +util_dist_part_time,"Distance,part_time",@(df['pemploy']==2) * _DIST,coef_dist_part_time +util_dist_student,"Distance,student",@(df['is_student']==True) * _DIST,coef_dist_student +util_dist_young,"Distance,young person (<25)",@(df['young']==True) * _DIST,coef_dist_young +util_dist_old,"Distance,young person (>65)",@(df['old']==True) * _DIST,coef_dist_old +util_dist_zero_auto,"Distance,zero auto HH",@(df['auto_ownership']==0) * _DIST,coef_dist_zero_auto +util_size_variable,Size variable,@(df['size_term'] * df['shadow_price_size_term_adjustment']).apply(np.log1p),1 +util_utility_adjustment,utility adjustment,@df['shadow_price_utility_adjustment'],1 +util_no_attractions,No attractions,@df['size_term']==0,-999 diff --git a/activitysim/examples/prototype_mwcog/configs/write_trip_matrices.yaml b/activitysim/examples/prototype_mwcog/configs/write_trip_matrices.yaml new file mode 100644 index 0000000000..4ce9b1e4fa --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/write_trip_matrices.yaml @@ -0,0 +1,259 @@ +# read trips table post preprocessor and run expressions to code +# additional data fields, with one data fields for each matrix specified below + +preprocessor: + SPEC: write_trip_matrices_annotate_trips_preprocessor + DF: trips + TABLES: + - tours + +# divide trip counts by household expansion factor +HH_EXPANSION_WEIGHT_COL: sample_rate # added when households read in + +# save preprocessed trips table to pipeline if desired +SAVE_TRIPS_TABLE: False + +MATRICES: + - file_name: auto_trips_am.omx + tables: + - name: DRIVEALONE + data_field: DRIVEALONE_AM + - name: SHARED2 + data_field: SHARED2_AM + - name: SHARED3 + data_field: SHARED3_AM + - file_name: nm_trips_am.omx + tables: + - name: WALK + data_field: WALK_AM + - name: BIKE + data_field: BIKE_AM + - file_name: trn_trips_am.omx + tables: + - name: WALK_AB + data_field: WALK_AB_AM + - name: WALK_BM + data_field: WALK_BM_AM + - name: WALK_MR + data_field: WALK_MR_AM + - name: WALK_CR + data_field: WALK_CR_AM + - name: PNR_AB + data_field: PNR_AB_AM + - name: PNR_BM + data_field: PNR_BM_AM + - name: PNR_MR + data_field: PNR_MR_AM + - name: PNR_CR + data_field: PNR_CR_AM + - name: KNR_AB + data_field: KNR_AB_AM + - name: KNR_BM + data_field: KNR_BM_AM + - name: KNR_MR + data_field: KNR_MR_AM + - name: PNRE_AB + data_field: PNRE_AB_AM + - name: PNRE_BM + data_field: PNRE_BM_AM + - name: PNRE_MR + data_field: PNRE_MR_AM + - name: PNRE_CR + data_field: PNRE_CR_AM + - name: KNRE_AB + data_field: KNRE_AB_AM + - name: KNRE_BM + data_field: KNRE_BM_AM + - name: KNRE_MR + data_field: KNRE_MR_AM + - file_name: sb_trips_am.omx + tables: + - name: SCHOOLBUS + data_field: SCHOOLBUS_AM + - file_name: auto_trips_md.omx + tables: + - name: DRIVEALONE + data_field: DRIVEALONE_MD + - name: SHARED2 + data_field: SHARED2_MD + - name: SHARED3 + data_field: SHARED3_MD + - file_name: nm_trips_md.omx + tables: + - name: WALK + data_field: WALK_MD + - name: BIKE + data_field: BIKE_MD + - file_name: trn_trips_md.omx + tables: + - name: WALK_AB + data_field: WALK_AB_MD + - name: WALK_BM + data_field: WALK_BM_MD + - name: WALK_MR + data_field: WALK_MR_MD + - name: WALK_CR + data_field: WALK_CR_MD + - name: PNR_AB + data_field: PNR_AB_MD + - name: PNR_BM + data_field: PNR_BM_MD + - name: PNR_MR + data_field: PNR_MR_MD + - name: PNR_CR + data_field: PNR_CR_MD + - name: KNR_AB + data_field: KNR_AB_MD + - name: KNR_BM + data_field: KNR_BM_MD + - name: KNR_MR + data_field: KNR_MR_MD + - name: PNRE_AB + data_field: PNRE_AB_MD + - name: PNRE_BM + data_field: PNRE_BM_MD + - name: PNRE_MR + data_field: PNRE_MR_MD + - name: PNRE_CR + data_field: PNRE_CR_MD + - name: KNRE_AB + data_field: KNRE_AB_MD + - name: KNRE_BM + data_field: KNRE_BM_MD + - name: KNRE_MR + data_field: KNRE_MR_MD + - file_name: sb_trips_md.omx + tables: + - name: SCHOOLBUS + data_field: SCHOOLBUS_MD + - file_name: auto_trips_pm.omx + tables: + - name: DRIVEALONE + data_field: DRIVEALONE_PM + - name: SHARED2 + data_field: SHARED2_PM + - name: SHARED3 + data_field: SHARED3_PM + - file_name: nm_trips_pm.omx + tables: + - name: WALK + data_field: WALK_PM + - name: BIKE + data_field: BIKE_PM + - file_name: trn_trips_pm.omx + tables: + - name: WALK_AB + data_field: WALK_AB_PM + - name: WALK_BM + data_field: WALK_BM_PM + - name: WALK_MR + data_field: WALK_MR_PM + - name: WALK_CR + data_field: WALK_CR_PM + - name: PNR_AB + data_field: PNR_AB_PM + - name: PNR_BM + data_field: PNR_BM_PM + - name: PNR_MR + data_field: PNR_MR_PM + - name: PNR_CR + data_field: PNR_CR_PM + - name: KNR_AB + data_field: KNR_AB_PM + - name: KNR_BM + data_field: KNR_BM_PM + - name: KNR_MR + data_field: KNR_MR_PM + - name: PNRE_AB + data_field: PNRE_AB_PM + - name: PNRE_BM + data_field: PNRE_BM_PM + - name: PNRE_MR + data_field: PNRE_MR_PM + - name: PNRE_CR + data_field: PNRE_CR_PM + - name: KNRE_AB + data_field: KNRE_AB_PM + - name: KNRE_BM + data_field: KNRE_BM_PM + - name: KNRE_MR + data_field: KNRE_MR_PM + - file_name: sb_trips_pm.omx + tables: + - name: SCHOOLBUS + data_field: SCHOOLBUS_PM + - file_name: auto_trips_nt.omx + tables: + - name: DRIVEALONE + data_field: DRIVEALONE_NT + - name: SHARED2 + data_field: SHARED2_NT + - name: SHARED3 + data_field: SHARED3_NT + - file_name: nm_trips_nt.omx + tables: + - name: WALK + data_field: WALK_NT + - name: BIKE + data_field: BIKE_NT + - file_name: trn_trips_nt.omx + tables: + - name: WALK_AB + data_field: WALK_AB_NT + - name: WALK_BM + data_field: WALK_BM_NT + - name: WALK_MR + data_field: WALK_MR_NT + - name: WALK_CR + data_field: WALK_CR_NT + - name: PNR_AB + data_field: PNR_AB_NT + - name: PNR_BM + data_field: PNR_BM_NT + - name: PNR_MR + data_field: PNR_MR_NT + - name: PNR_CR + data_field: PNR_CR_NT + - name: KNR_AB + data_field: KNR_AB_NT + - name: KNR_BM + data_field: KNR_BM_NT + - name: KNR_MR + data_field: KNR_MR_NT + - name: PNRE_AB + data_field: PNRE_AB_NT + - name: PNRE_BM + data_field: PNRE_BM_NT + - name: PNRE_MR + data_field: PNRE_MR_NT + - name: PNRE_CR + data_field: PNRE_CR_NT + - name: KNRE_AB + data_field: KNRE_AB_NT + - name: KNRE_BM + data_field: KNRE_BM_NT + - name: KNRE_MR + data_field: KNRE_MR_NT + - file_name: sb_trips_nt.omx + tables: + - name: SCHOOLBUS + data_field: SCHOOLBUS_NT + +CONSTANTS: + time_periods: + AM: + first_hour: 7 + last_hour: 12 + MD: + first_hour: 13 + last_hour: 24 + PM: + first_hour: 25 + last_hour: 32 + NT: + first_hour: 33 + last_hour: 6 + + # SHARED2 and SHARED2 Occupancies + OCC_SHARED2: 2.0 + OCC_SHARED3: 3.33 diff --git a/activitysim/examples/prototype_mwcog/configs/write_trip_matrices_annotate_trips_preprocessor.csv b/activitysim/examples/prototype_mwcog/configs/write_trip_matrices_annotate_trips_preprocessor.csv new file mode 100644 index 0000000000..f56185ddcb --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs/write_trip_matrices_annotate_trips_preprocessor.csv @@ -0,0 +1,109 @@ +Description,Target,Expression +# add additional fields,, +,tour_participants,trips.tour_id.map(tours.number_of_participants) +,distance,od_skims['DIST'] +# code time periods,, +,is_am,"trips.depart.between(time_periods['AM']['first_hour'], time_periods['AM']['last_hour'])" +,is_md,"trips.depart.between(time_periods['MD']['first_hour'], time_periods['MD']['last_hour'])" +,is_pm,"trips.depart.between(time_periods['PM']['first_hour'], time_periods['PM']['last_hour'])" +,is_nt,(trips.depart >= time_periods['NT']['first_hour']) | (trips.depart <= time_periods['NT']['last_hour']) +# am trips,, +,DRIVEALONE_AM,((trips.trip_mode == 'DRIVEALONE') & is_am) * tour_participants +,SHARED2_AM,"((trips.trip_mode.isin(['SHARED2', 'TAXI', 'TNC_SINGLE'])) & is_am) * tour_participants / OCC_SHARED2" +,SHARED3_AM,"((trips.trip_mode.isin(['SHARED3', 'TNC_SHARED'])) & is_am) * tour_participants / OCC_SHARED3" +,WALK_AM,((trips.trip_mode == 'WALK') & is_am) * tour_participants +,BIKE_AM,((trips.trip_mode == 'BIKE') & is_am) * tour_participants +,WALK_AB_AM,((trips.trip_mode == 'WALK_AB') & is_am) * tour_participants +,WALK_BM_AM,((trips.trip_mode == 'WALK_BM') & is_am) * tour_participants +,WALK_MR_AM,((trips.trip_mode == 'WALK_MR') & is_am) * tour_participants +,WALK_CR_AM,((trips.trip_mode == 'WALK_CR') & is_am) * tour_participants +,PNR_AB_AM,((trips.trip_mode == 'PNR_AB') & is_am & trips.outbound) * tour_participants +,PNR_BM_AM,((trips.trip_mode == 'PNR_BM') & is_am & trips.outbound) * tour_participants +,PNR_MR_AM,((trips.trip_mode == 'PNR_MR') & is_am & trips.outbound) * tour_participants +,PNR_CR_AM,"((trips.trip_mode.isin(['PNR_CR', 'KNR_CR'])) & is_am & trips.outbound) * tour_participants" +,KNR_AB_AM,((trips.trip_mode == 'KNR_AB') & is_am & trips.outbound) * tour_participants +,KNR_BM_AM,((trips.trip_mode == 'KNR_BM') & is_am & trips.outbound) * tour_participants +,KNR_MR_AM,((trips.trip_mode == 'KNR_MR') & is_am & trips.outbound) * tour_participants +,PNRE_AB_AM,((trips.trip_mode == 'PNR_AB') & is_am & ~trips.outbound) * tour_participants +,PNRE_BM_AM,((trips.trip_mode == 'PNR_BM') & is_am & ~trips.outbound) * tour_participants +,PNRE_MR_AM,((trips.trip_mode == 'PNR_MR') & is_am & ~trips.outbound) * tour_participants +,PNRE_CR_AM,"((trips.trip_mode.isin(['PNR_CR', 'KNR_CR'])) & is_am & ~trips.outbound) * tour_participants" +,KNRE_AB_AM,((trips.trip_mode == 'KNR_AB') & is_am & ~trips.outbound) * tour_participants +,KNRE_BM_AM,((trips.trip_mode == 'KNR_BM') & is_am & ~trips.outbound) * tour_participants +,KNRE_MR_AM,((trips.trip_mode == 'KNR_MR') & is_am & ~trips.outbound) * tour_participants +,SCHOOLBUS_AM,((trips.trip_mode == 'SCHOOLBUS') & is_am) * tour_participants +# md trips,, +,DRIVEALONE_MD,((trips.trip_mode == 'DRIVEALONE') & is_md) * tour_participants +,SHARED2_MD,"((trips.trip_mode.isin(['SHARED2', 'TAXI', 'TNC_SINGLE'])) & is_md) * tour_participants / OCC_SHARED2" +,SHARED3_MD,"((trips.trip_mode.isin(['SHARED3', 'TNC_SHARED'])) & is_md) * tour_participants / OCC_SHARED3" +,WALK_MD,((trips.trip_mode == 'WALK') & is_md) * tour_participants +,BIKE_MD,((trips.trip_mode == 'BIKE') & is_md) * tour_participants +,WALK_AB_MD,((trips.trip_mode == 'WALK_AB') & is_md) * tour_participants +,WALK_BM_MD,((trips.trip_mode == 'WALK_BM') & is_md) * tour_participants +,WALK_MR_MD,((trips.trip_mode == 'WALK_MR') & is_md) * tour_participants +,WALK_CR_MD,((trips.trip_mode == 'WALK_CR') & is_md) * tour_participants +,PNR_AB_MD,((trips.trip_mode == 'PNR_AB') & is_md & trips.outbound) * tour_participants +,PNR_BM_MD,((trips.trip_mode == 'PNR_BM') & is_md & trips.outbound) * tour_participants +,PNR_MR_MD,((trips.trip_mode == 'PNR_MR') & is_md & trips.outbound) * tour_participants +,PNR_CR_MD,"((trips.trip_mode.isin(['PNR_CR', 'KNR_CR'])) & is_md & trips.outbound) * tour_participants" +,KNR_AB_MD,((trips.trip_mode == 'KNR_AB') & is_md & trips.outbound) * tour_participants +,KNR_BM_MD,((trips.trip_mode == 'KNR_BM') & is_md & trips.outbound) * tour_participants +,KNR_MR_MD,((trips.trip_mode == 'KNR_MR') & is_md & trips.outbound) * tour_participants +,PNRE_AB_MD,((trips.trip_mode == 'PNR_AB') & is_md & ~trips.outbound) * tour_participants +,PNRE_BM_MD,((trips.trip_mode == 'PNR_BM') & is_md & ~trips.outbound) * tour_participants +,PNRE_MR_MD,((trips.trip_mode == 'PNR_MR') & is_md & ~trips.outbound) * tour_participants +,PNRE_CR_MD,"((trips.trip_mode.isin(['PNR_CR', 'KNR_CR'])) & is_md & ~trips.outbound) * tour_participants" +,KNRE_AB_MD,((trips.trip_mode == 'KNR_AB') & is_md & ~trips.outbound) * tour_participants +,KNRE_BM_MD,((trips.trip_mode == 'KNR_BM') & is_md & ~trips.outbound) * tour_participants +,KNRE_MR_MD,((trips.trip_mode == 'KNR_MR') & is_md & ~trips.outbound) * tour_participants +,SCHOOLBUS_MD,((trips.trip_mode == 'SCHOOLBUS') & is_md) * tour_participants +# pm trips,, +,DRIVEALONE_PM,((trips.trip_mode == 'DRIVEALONE') & is_pm) * tour_participants +,SHARED2_PM,"((trips.trip_mode.isin(['SHARED2', 'TAXI', 'TNC_SINGLE'])) & is_pm) * tour_participants / OCC_SHARED2" +,SHARED3_PM,"((trips.trip_mode.isin(['SHARED3', 'TNC_SHARED'])) & is_pm) * tour_participants / OCC_SHARED3" +,WALK_PM,((trips.trip_mode == 'WALK') & is_pm) * tour_participants +,BIKE_PM,((trips.trip_mode == 'BIKE') & is_pm) * tour_participants +,WALK_AB_PM,((trips.trip_mode == 'WALK_AB') & is_pm) * tour_participants +,WALK_BM_PM,((trips.trip_mode == 'WALK_BM') & is_pm) * tour_participants +,WALK_MR_PM,((trips.trip_mode == 'WALK_MR') & is_pm) * tour_participants +,WALK_CR_PM,((trips.trip_mode == 'WALK_CR') & is_pm) * tour_participants +,PNR_AB_PM,((trips.trip_mode == 'PNR_AB') & is_pm & trips.outbound) * tour_participants +,PNR_BM_PM,((trips.trip_mode == 'PNR_BM') & is_pm & trips.outbound) * tour_participants +,PNR_MR_PM,((trips.trip_mode == 'PNR_MR') & is_pm & trips.outbound) * tour_participants +,PNR_CR_PM,"((trips.trip_mode.isin(['PNR_CR', 'KNR_CR'])) & is_pm & trips.outbound) * tour_participants" +,KNR_AB_PM,((trips.trip_mode == 'KNR_AB') & is_pm & trips.outbound) * tour_participants +,KNR_BM_PM,((trips.trip_mode == 'KNR_BM') & is_pm & trips.outbound) * tour_participants +,KNR_MR_PM,((trips.trip_mode == 'KNR_MR') & is_pm & trips.outbound) * tour_participants +,PNRE_AB_PM,((trips.trip_mode == 'PNR_AB') & is_pm & ~trips.outbound) * tour_participants +,PNRE_BM_PM,((trips.trip_mode == 'PNR_BM') & is_pm & ~trips.outbound) * tour_participants +,PNRE_MR_PM,((trips.trip_mode == 'PNR_MR') & is_pm & ~trips.outbound) * tour_participants +,PNRE_CR_PM,"((trips.trip_mode.isin(['PNR_CR', 'KNR_CR'])) & is_pm & ~trips.outbound) * tour_participants" +,KNRE_AB_PM,((trips.trip_mode == 'KNR_AB') & is_pm & ~trips.outbound) * tour_participants +,KNRE_BM_PM,((trips.trip_mode == 'KNR_BM') & is_pm & ~trips.outbound) * tour_participants +,KNRE_MR_PM,((trips.trip_mode == 'KNR_MR') & is_pm & ~trips.outbound) * tour_participants +,SCHOOLBUS_PM,((trips.trip_mode == 'SCHOOLBUS') & is_pm) * tour_participants +# nt trips,, +,DRIVEALONE_NT,((trips.trip_mode == 'DRIVEALONE') & is_nt) * tour_participants +,SHARED2_NT,"((trips.trip_mode.isin(['SHARED2', 'TAXI', 'TNC_SINGLE'])) & is_nt) * tour_participants / OCC_SHARED2" +,SHARED3_NT,"((trips.trip_mode.isin(['SHARED3', 'TNC_SHARED'])) & is_nt) * tour_participants / OCC_SHARED3" +,WALK_NT,((trips.trip_mode == 'WALK') & is_nt) * tour_participants +,BIKE_NT,((trips.trip_mode == 'BIKE') & is_nt) * tour_participants +,WALK_AB_NT,((trips.trip_mode == 'WALK_AB') & is_nt) * tour_participants +,WALK_BM_NT,((trips.trip_mode == 'WALK_BM') & is_nt) * tour_participants +,WALK_MR_NT,((trips.trip_mode == 'WALK_MR') & is_nt) * tour_participants +,WALK_CR_NT,((trips.trip_mode == 'WALK_CR') & is_nt) * tour_participants +,PNR_AB_NT,((trips.trip_mode == 'PNR_AB') & is_nt & trips.outbound) * tour_participants +,PNR_BM_NT,((trips.trip_mode == 'PNR_BM') & is_nt & trips.outbound) * tour_participants +,PNR_MR_NT,((trips.trip_mode == 'PNR_MR') & is_nt & trips.outbound) * tour_participants +,PNR_CR_NT,"((trips.trip_mode.isin(['PNR_CR', 'KNR_CR'])) & is_nt & trips.outbound) * tour_participants" +,KNR_AB_NT,((trips.trip_mode == 'KNR_AB') & is_nt & trips.outbound) * tour_participants +,KNR_BM_NT,((trips.trip_mode == 'KNR_BM') & is_nt & trips.outbound) * tour_participants +,KNR_MR_NT,((trips.trip_mode == 'KNR_MR') & is_nt & trips.outbound) * tour_participants +,PNRE_AB_NT,((trips.trip_mode == 'PNR_AB') & is_nt & ~trips.outbound) * tour_participants +,PNRE_BM_NT,((trips.trip_mode == 'PNR_BM') & is_nt & ~trips.outbound) * tour_participants +,PNRE_MR_NT,((trips.trip_mode == 'PNR_MR') & is_nt & ~trips.outbound) * tour_participants +,PNRE_CR_NT,"((trips.trip_mode.isin(['PNR_CR', 'KNR_CR'])) & is_nt & ~trips.outbound) * tour_participants" +,KNRE_AB_NT,((trips.trip_mode == 'KNR_AB') & is_nt & ~trips.outbound) * tour_participants +,KNRE_BM_NT,((trips.trip_mode == 'KNR_BM') & is_nt & ~trips.outbound) * tour_participants +,KNRE_MR_NT,((trips.trip_mode == 'KNR_MR') & is_nt & ~trips.outbound) * tour_participants +,SCHOOLBUS_NT,((trips.trip_mode == 'SCHOOLBUS') & is_nt) * tour_participants diff --git a/activitysim/examples/prototype_mwcog/configs_mp/logging.yaml b/activitysim/examples/prototype_mwcog/configs_mp/logging.yaml new file mode 100644 index 0000000000..e932009c5d --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs_mp/logging.yaml @@ -0,0 +1,57 @@ +# Config for logging +# ------------------ +# See http://docs.python.org/2.7/library/logging.config.html#configuration-dictionary-schema + +logging: + version: 1 + disable_existing_loggers: true + + + # Configuring the default (root) logger is highly recommended + root: + level: DEBUG + handlers: [console, logfile] + + loggers: + + activitysim: + level: DEBUG + handlers: [console, logfile] + propagate: false + + orca: + level: WARNING + handlers: [console, logfile] + propagate: false + + handlers: + + logfile: + class: logging.FileHandler + filename: !!python/object/apply:activitysim.core.config.log_file_path ['activitysim.log'] + mode: w + formatter: fileFormatter + level: NOTSET + + console: + class: logging.StreamHandler + stream: ext://sys.stdout + formatter: simpleFormatter + #level: NOTSET + level: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [WARNING, NOTSET] + + formatters: + + simpleFormatter: + class: logging.Formatter + #format: '%(processName)-10s %(levelname)s - %(name)s - %(message)s' + format: !!python/object/apply:activitysim.core.mp_tasks.if_sub_task [ + '%(processName)-10s %(levelname)s - %(name)s - %(message)s', + '%(levelname)s - %(name)s - %(message)s'] + datefmt: '%d/%m/%Y %H:%M:%S' + + fileFormatter: + class: logging.Formatter + format: '%(asctime)s - %(levelname)s - %(name)s - %(message)s' + datefmt: '%d/%m/%Y %H:%M:%S' + diff --git a/activitysim/examples/prototype_mwcog/configs_mp/settings.yaml b/activitysim/examples/prototype_mwcog/configs_mp/settings.yaml new file mode 100644 index 0000000000..04aa781d74 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs_mp/settings.yaml @@ -0,0 +1,92 @@ +# Configs File with Sample Rate set by Model Runner +inherit_settings: True +# raise error if any sub-process fails without waiting for others to complete +fail_fast: True +# - ------------------------- dev config +multiprocess: True +strict: False +mem_tick: 30 +use_shadow_pricing: False +## - example sample +households_sample_size: 0 +chunk_size: 200_000_000_000 +#chunk_size: 0 +chunk_training_mode: production +num_processes: 20 +# - tracing +#trace_hh_id: 1205209 +trace_hh_id: 1086014 +trace_od: +#trace_hh_id: 1482966 +#trace_od: [5, 11] +# to resume after last successful checkpoint, specify resume_after: _ +resume_after: +models: + ### mp_initialize step + - initialize_landuse + - compute_accessibility + - initialize_households + ### mp_households step + - school_location + - workplace_location + - work_from_home + - transit_pass_subsidy + - transit_pass_ownership + - auto_ownership_simulate + - free_parking + - telecommute_frequency + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + ### mp_summarize step + - write_data_dictionary + - write_tables + - write_trip_matrices +multiprocess_steps: + - name: mp_initialize + begin: initialize_landuse + - name: mp_households + begin: school_location + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_data_dictionary +output_tables: + action: include + prefix: final_ + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - school_shadow_prices + - workplace_shadow_prices + - joint_tour_participants +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +#read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +#write_skim_cache: True diff --git a/activitysim/examples/prototype_mwcog/configs_mp/settings_source.yaml b/activitysim/examples/prototype_mwcog/configs_mp/settings_source.yaml new file mode 100644 index 0000000000..63db1d86ea --- /dev/null +++ b/activitysim/examples/prototype_mwcog/configs_mp/settings_source.yaml @@ -0,0 +1,95 @@ +inherit_settings: True + +# raise error if any sub-process fails without waiting for others to complete +fail_fast: True + +# - ------------------------- dev config +multiprocess: True +strict: False +mem_tick: 30 +use_shadow_pricing: False + + +## - example sample +households_sample_size: %sample_size% +chunk_size: 200_000_000_000 +#chunk_size: 0 +chunk_training_mode: %training_mode% +num_processes: 20 +# - tracing +#trace_hh_id: 1205209 +trace_hh_id: 1086014 +trace_od: +#trace_hh_id: 1482966 +#trace_od: [5, 11] +# to resume after last successful checkpoint, specify resume_after: _ +resume_after: +models: + ### mp_initialize step + - initialize_landuse + - compute_accessibility + - initialize_households + ### mp_households step + - school_location + - workplace_location + - work_from_home + - transit_pass_subsidy + - transit_pass_ownership + - auto_ownership_simulate + - free_parking + - telecommute_frequency + - cdap_simulate + - mandatory_tour_frequency + - mandatory_tour_scheduling + - joint_tour_frequency + - joint_tour_composition + - joint_tour_participation + - joint_tour_destination + - joint_tour_scheduling + - non_mandatory_tour_frequency + - non_mandatory_tour_destination + - non_mandatory_tour_scheduling + - tour_mode_choice_simulate + - atwork_subtour_frequency + - atwork_subtour_destination + - atwork_subtour_scheduling + - atwork_subtour_mode_choice + - stop_frequency + - trip_purpose + - trip_destination + - trip_purpose_and_destination + - trip_scheduling + - trip_mode_choice + ### mp_summarize step + - write_data_dictionary + - write_tables + - write_trip_matrices +multiprocess_steps: + - name: mp_initialize + begin: initialize_landuse + - name: mp_households + begin: school_location + slice: + tables: + - households + - persons + - name: mp_summarize + begin: write_data_dictionary +output_tables: + action: include + prefix: final_ + tables: + - checkpoints + - accessibility + - land_use + - households + - persons + - tours + - trips + - school_shadow_prices + - workplace_shadow_prices + - joint_tour_participants +# read cached skims (using numpy memmap) from output directory (memmap is faster than omx ) +#read_skim_cache: True +# write memmapped cached skims to output directory after reading from omx, for use in subsequent runs +#write_skim_cache: True diff --git a/activitysim/examples/example_semcog/configs_mp/shadow_pricing.yaml b/activitysim/examples/prototype_mwcog/configs_mp/shadow_pricing.yaml old mode 100755 new mode 100644 similarity index 96% rename from activitysim/examples/example_semcog/configs_mp/shadow_pricing.yaml rename to activitysim/examples/prototype_mwcog/configs_mp/shadow_pricing.yaml index 57b462b160..fda98f4d4b --- a/activitysim/examples/example_semcog/configs_mp/shadow_pricing.yaml +++ b/activitysim/examples/prototype_mwcog/configs_mp/shadow_pricing.yaml @@ -1,37 +1,37 @@ - -inherit_settings: True - -shadow_pricing_models: - school: school_location - workplace: workplace_location - -# global switch to enable/disable loading of saved shadow prices -# (ignored if global use_shadow_pricing switch is False) -LOAD_SAVED_SHADOW_PRICES: False - -# number of shadow price iterations for cold start -MAX_ITERATIONS: 10 - -# number of shadow price iterations for warm start (after loading saved shadow_prices) -MAX_ITERATIONS_SAVED: 1 - -# ignore criteria for zones smaller than size_threshold -SIZE_THRESHOLD: 10 - -# zone passes if modeled is within percent_tolerance of predicted_size -PERCENT_TOLERANCE: 5 - -# max percentage of zones allowed to fail -FAIL_THRESHOLD: 1 - -# CTRAMP or daysim -SHADOW_PRICE_METHOD: ctramp -#SHADOW_PRICE_METHOD: daysim - -# ctramp-style shadow_pricing_method parameters -DAMPING_FACTOR: 1 - -# daysim-style shadow_pricing_method parameters -# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? -DAYSIM_ABSOLUTE_TOLERANCE: 50 -DAYSIM_PERCENT_TOLERANCE: 10 + +inherit_settings: True + +shadow_pricing_models: + school: school_location + workplace: workplace_location + +# global switch to enable/disable loading of saved shadow prices +# (ignored if global use_shadow_pricing switch is False) +LOAD_SAVED_SHADOW_PRICES: False + +# number of shadow price iterations for cold start +MAX_ITERATIONS: 10 + +# number of shadow price iterations for warm start (after loading saved shadow_prices) +MAX_ITERATIONS_SAVED: 1 + +# ignore criteria for zones smaller than size_threshold +SIZE_THRESHOLD: 10 + +# zone passes if modeled is within percent_tolerance of predicted_size +PERCENT_TOLERANCE: 5 + +# max percentage of zones allowed to fail +FAIL_THRESHOLD: 1 + +# CTRAMP or daysim +SHADOW_PRICE_METHOD: ctramp +#SHADOW_PRICE_METHOD: daysim + +# ctramp-style shadow_pricing_method parameters +DAMPING_FACTOR: 1 + +# daysim-style shadow_pricing_method parameters +# FIXME should these be the same as PERCENT_TOLERANCE and FAIL_THRESHOLD above? +DAYSIM_ABSOLUTE_TOLERANCE: 50 +DAYSIM_PERCENT_TOLERANCE: 10 diff --git a/activitysim/examples/prototype_mwcog/data/LU_taz3722_rnd91a_2018_adj_enrollment.csv b/activitysim/examples/prototype_mwcog/data/LU_taz3722_rnd91a_2018_adj_enrollment.csv new file mode 100644 index 0000000000..db0b013fb5 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/data/LU_taz3722_rnd91a_2018_adj_enrollment.csv @@ -0,0 +1,54 @@ +TAZ,HH,HHPOP,GQPOP,TOTPOP,TOTEMP,INDEMP,RETEMP,OFFEMP,OTHEMP,JURCODE,LANDAREA,HHINCIDX,ADISTTOX,TAZXCRD,TAZYCRD,K_8,G9_12,COLLEGE,Park_Acres,GC_Acres,PRKCST,OPRKCST,TERMINAL,AREATYPE +1,0,0,0,0,12623,29,149,11731,714,0,0.0424,10,29.08,1298543,446898,0,0,0,2.906924,0.0,117.875,200,5,1 +2,0,0,0,0,0,0,0,0,0,0,0.1553,5,29.28,1298807,445281,0,0,0,106.70806699999999,0.0,103.75,200,5,1 +7,0,0,0,0,0,0,0,0,0,0,0.0814,10,29.09,1299596,445915,0,0,0,51.717837,0.0,116.125,200,5,1 +8,0,0,0,0,0,0,0,0,0,0,0.0708,10,28.68,1301916,446878,0,0,0,42.722665,0.0,126.5,200,5,1 +9,0,0,0,0,837,32,32,679,94,0,0.1368,10,28.9,1302004,445336,0,0,0,91.542163,0.0,118.75,200,5,1 +10,0,0,0,0,40,4,4,28,4,0,0.0585,10,29.03,1302622,443982,0,0,0,24.899055999999998,0.0,114.625,100,4,2 +11,77,118,0,118,11123,153,690,10237,43,0,0.0965,10,28.92,1303826,443797,0,0,0,4.678476,0.0,113.375,200,5,1 +12,0,0,0,0,8674,45,80,8410,140,0,0.0645,10,28.71,1305207,444137,0,0,0,4.58145,0.0,113.5,200,5,1 +13,0,0,0,0,0,0,0,0,0,0,0.0502,10,28.64,1303781,445659,0,0,0,29.514458,0.0,121.375,200,5,1 +14,0,0,0,0,3061,28,65,2868,101,0,0.0366,10,28.36,1304865,446730,0,0,0,1.153893,0.0,121.5,200,5,1 +15,0,0,0,0,2552,13,78,1923,538,0,0.1033,10,28.51,1305222,445451,17,0,0,62.05587,0.0,118.125,200,5,1 +16,0,0,11,11,1151,2,1,1134,14,0,0.021,10,28.26,1306024,446507,0,0,0,1.9276240000000002,0.0,117.5,200,5,1 +17,94,123,0,123,8168,32,557,7065,515,0,0.0604,10,28.04,1307606,446777,0,0,0,4.556058999999999,0.0,118.75,200,5,1 +18,2,9,165,174,2753,18,153,2510,73,0,0.0501,3,27.93,1307404,447663,0,0,0,12.798207000000001,0.0,119.25,200,5,1 +19,935,1370,0,1370,4952,113,782,3743,314,0,0.0425,10,28.13,1306159,447228,436,162,0,3.573253,0.0,119.75,200,5,1 +20,207,288,4,292,7447,593,1846,4841,168,0,0.0556,1,27.95,1306154,448433,0,0,0,0.0,0.0,118.875,200,5,1 +21,0,0,9,9,13711,506,574,12100,531,0,0.0309,10,28.25,1304825,447457,0,0,0,2.394262,0.0,123.125,200,5,1 +22,0,0,0,0,12244,127,732,11072,313,0,0.0487,10,28.46,1303741,446918,0,0,0,1.437008,0.0,123.75,200,5,1 +23,0,0,4,4,12866,287,1454,10596,529,0,0.0355,37,28.17,1304255,448422,0,0,0,0.0,0.0,122.0,200,5,1 +24,255,407,7,414,13906,435,1384,11186,901,0,0.042,37,28.08,1305075,448422,0,0,0,0.296055,0.0,120.625,200,5,1 +25,802,1373,0,1373,12798,556,1636,9835,771,0,0.0649,3,27.86,1305333,449713,0,0,53,3.405214,0.0,120.875,200,5,1 +26,114,179,9,188,7517,429,789,5811,488,0,0.0466,10,28.04,1303973,449577,0,0,0,5.142853,0.0,121.875,200,5,1 +27,857,1191,62,1253,8051,631,907,6189,324,0,0.0411,6,27.9,1303861,450595,242,0,0,0.372647,0.0,122.25,200,5,1 +28,86,112,53,165,19448,705,2055,16023,665,0,0.0596,10,28.22,1302243,449723,0,0,563,3.232071,0.0,122.125,200,5,1 +29,144,200,40,240,10131,241,730,8711,448,0,0.0359,10,28.23,1303147,448956,0,0,0,0.10071799999999999,0.0,122.25,200,5,1 +30,0,0,0,0,6615,853,2246,3321,195,0,0.0355,10,28.32,1303381,448113,0,0,0,2.547351,0.0,125.75,200,5,1 +31,0,0,0,0,2888,2,2,2883,1,0,0.0264,10,28.53,1302987,447039,0,0,0,2.399584,0.0,124.125,200,5,1 +32,1,5,0,5,1634,21,29,1376,208,0,0.0886,10,28.47,1301930,448259,0,0,0,36.879346000000005,0.0,124.0,200,5,1 +33,0,0,16,16,8908,249,321,7738,600,0,0.0783,10,28.79,1300543,447235,0,0,357,4.631443,0.0,122.875,200,5,1 +34,0,0,0,0,4455,1,4,3894,556,0,0.0433,10,28.96,1299479,446952,0,0,0,6.678808999999999,0.0,122.25,200,5,1 +35,676,833,1831,2664,1476,150,523,713,90,0,0.0456,1,28.76,1299451,448338,0,0,4916,0.992433,0.0,121.5,200,5,1 +36,0,0,78,78,13823,180,375,12538,730,0,0.0507,10,28.55,1300642,448757,0,358,0,0.8345889999999999,0.0,123.375,200,5,1 +37,0,0,0,0,21196,759,2724,15554,2159,0,0.0505,10,28.43,1300499,449711,0,0,0,0.0,0.0,121.375,200,5,1 +38,0,0,0,0,21170,763,2013,17304,1090,0,0.0544,10,28.33,1300211,450601,0,0,0,0.0,0.0,119.25,200,5,1 +39,29,53,0,53,16447,735,1546,13192,974,0,0.0428,15,28.17,1301423,450694,0,0,271,0.0,0.0,122.375,200,5,1 +40,525,702,0,702,21881,936,2303,17050,1592,0,0.0671,5,28.03,1302525,450809,0,0,350,0.459977,0.0,122.0,200,5,1 +41,2726,3757,0,3757,1927,147,982,712,86,0,0.0557,5,27.83,1302670,452054,0,0,0,0.986873,0.0,119.5,200,5,1 +42,2234,3018,77,3095,4397,80,478,3536,303,0,0.0638,8,27.9,1301162,452771,0,57,0,1.724588,0.0,114.5,200,5,1 +43,155,193,24,217,8356,355,944,6610,447,0,0.0535,10,28.07,1301005,451768,0,0,0,0.410625,0.0,117.125,200,5,1 +44,749,957,0,957,8498,486,1105,6536,371,0,0.0443,8,28.23,1299805,451689,0,0,0,0.268704,0.0,115.625,200,5,1 +45,642,921,309,1230,1883,65,323,1231,264,0,0.0313,8,28.16,1299436,452448,0,0,0,2.5024889999999997,0.0,111.875,200,5,1 +46,213,368,9,377,2037,297,565,1076,99,0,0.036000000000000004,8,28.04,1299201,453486,0,0,0,0.199429,0.0,109.625,200,5,1 +47,1661,2464,113,2577,2936,231,1166,1397,143,0,0.0691,7,27.86,1299989,454066,0,0,0,0.083949,0.0,106.5,200,5,1 +49,1628,2203,243,2445,3492,327,952,2076,137,0,0.0619,9,28.31,1298621,452083,0,0,0,0.5209520000000001,0.0,112.375,200,5,1 +50,706,1157,39,1196,4650,523,790,3205,132,0,0.0756,12,28.45,1297617,452014,387,0,0,23.046204,0.0,113.875,200,5,1 +53,683,1012,205,1217,154,10,43,68,33,0,0.0381,5,28.92,1296655,449590,0,0,0,2.709364,0.0,113.0,200,5,1 +54,1737,2669,99,2767,8325,157,728,6907,534,0,0.0632,7,28.71,1297131,450617,0,0,0,5.440506,0.0,115.375,200,5,1 +55,710,1038,136,1174,18900,1233,1294,15302,1071,0,0.0552,6,28.5,1298839,450627,0,0,0,0.054911,0.0,117.75,200,5,1 +56,467,830,1370,2200,9812,563,1487,7359,403,0,0.0652,2,28.66,1298820,449535,0,0,5479,3.030183,0.0,118.875,200,5,1 +57,1092,1535,1679,3214,1847,40,266,1405,136,0,0.0531,5,28.85,1297625,449235,0,0,3088,0.34131999999999996,0.0,118.25,200,5,1 +58,320,442,1948,2390,724,43,179,471,31,0,0.0539,2,28.87,1298550,448272,0,592,7444,1.075076,0.0,118.5,200,5,1 +59,752,1131,0,1131,4750,26,69,3873,783,0,0.0881,5,29.15,1297439,447302,0,0,0,10.990833,0.0,113.5,200,5,1 +60,489,688,8,696,2981,301,500,2038,143,0,0.0743,17,29.12,1296503,448319,0,0,0,31.479771999999997,0.0,114.75,200,5,1 diff --git a/activitysim/examples/prototype_mwcog/data/combined_synthetic_hh_2018.csv b/activitysim/examples/prototype_mwcog/data/combined_synthetic_hh_2018.csv new file mode 100644 index 0000000000..9a1b15db5a --- /dev/null +++ b/activitysim/examples/prototype_mwcog/data/combined_synthetic_hh_2018.csv @@ -0,0 +1,29973 @@ +household_id,puma_geoid,TAZ,TYPE,NP,VEH,HHT,hhincadj,workers,has_children +1,1100105,11,1,4,2.0,1.0,324217,2,1 +2,1100105,11,1,4,0.0,3.0,51151,1,1 +3,1100105,11,1,4,0.0,3.0,2003,0,1 +4,1100105,11,1,3,1.0,7.0,206942,3,0 +5,1100105,11,1,3,0.0,5.0,173449,3,0 +6,1100105,11,1,3,1.0,3.0,28908,1,1 +7,1100105,11,1,3,0.0,3.0,2741,0,1 +8,1100105,11,1,3,0.0,3.0,6836,0,1 +9,1100105,11,1,2,1.0,7.0,221054,2,0 +10,1100105,11,1,2,1.0,1.0,242499,2,0 +11,1100105,11,1,2,1.0,1.0,321201,2,0 +12,1100105,11,1,2,1.0,1.0,342615,2,0 +13,1100105,11,1,2,1.0,1.0,210869,2,0 +14,1100105,11,1,2,0.0,5.0,212790,2,0 +15,1100105,11,1,2,1.0,1.0,242710,1,0 +16,1100105,11,1,2,1.0,1.0,657911,1,0 +17,1100105,11,1,2,1.0,1.0,192721,2,0 +18,1100105,11,1,2,2.0,1.0,176075,2,0 +19,1100105,11,1,2,1.0,5.0,174043,2,0 +20,1100105,11,1,2,1.0,1.0,158172,2,0 +21,1100105,11,1,2,1.0,1.0,170809,1,0 +22,1100105,11,1,2,0.0,7.0,131702,2,0 +23,1100105,11,1,2,1.0,1.0,128480,2,0 +24,1100105,11,1,2,0.0,5.0,111430,2,0 +25,1100105,11,1,2,1.0,5.0,118844,2,0 +26,1100105,11,1,2,1.0,7.0,107067,2,0 +27,1100105,11,1,2,1.0,7.0,117049,2,0 +28,1100105,11,1,2,0.0,1.0,136900,2,0 +29,1100105,11,1,2,1.0,5.0,120558,2,0 +30,1100105,11,1,2,0.0,5.0,137781,2,0 +31,1100105,11,1,2,0.0,5.0,68890,2,0 +32,1100105,11,1,2,1.0,7.0,60064,2,0 +33,1100105,11,1,2,1.0,3.0,72436,1,0 +34,1100105,11,1,2,2.0,1.0,49878,0,0 +35,1100105,11,1,1,1.0,4.0,692991,1,0 +36,1100105,11,1,1,1.0,4.0,195054,1,0 +37,1100105,11,1,1,0.0,6.0,150908,1,0 +38,1100105,11,1,1,1.0,6.0,186450,1,0 +39,1100105,11,1,1,2.0,6.0,103583,1,0 +40,1100105,11,1,1,1.0,6.0,149894,1,0 +41,1100105,11,1,1,1.0,6.0,113466,1,0 +42,1100105,11,1,1,1.0,6.0,139187,1,0 +43,1100105,11,1,1,0.0,6.0,133834,1,0 +44,1100105,11,1,1,0.0,6.0,107067,1,0 +45,1100105,11,1,1,1.0,4.0,105434,1,0 +46,1100105,11,1,1,0.0,4.0,116736,1,0 +47,1100105,11,1,1,1.0,6.0,137961,1,0 +48,1100105,11,1,1,1.0,6.0,136768,1,0 +49,1100105,11,1,1,1.0,4.0,111760,1,0 +50,1100105,11,1,1,0.0,6.0,119915,1,0 +51,1100105,11,1,1,1.0,4.0,116703,1,0 +52,1100105,11,1,1,0.0,4.0,116506,1,0 +53,1100105,11,1,1,0.0,4.0,103471,0,0 +54,1100105,11,1,1,1.0,4.0,92191,1,0 +55,1100105,11,1,1,0.0,6.0,87227,1,0 +56,1100105,11,1,1,1.0,6.0,75982,1,0 +57,1100105,11,1,1,0.0,4.0,73804,1,0 +58,1100105,11,1,1,1.0,4.0,61028,1,0 +59,1100105,11,1,1,0.0,6.0,72222,1,0 +60,1100105,11,1,1,1.0,6.0,95945,1,0 +61,1100105,11,1,1,0.0,6.0,79593,1,0 +62,1100105,11,1,1,0.0,6.0,84347,1,0 +63,1100105,11,1,1,0.0,4.0,83384,1,0 +64,1100105,11,1,1,0.0,6.0,89152,1,0 +65,1100105,11,1,1,1.0,6.0,61010,1,0 +66,1100105,11,1,1,1.0,6.0,73804,1,0 +67,1100105,11,1,1,0.0,6.0,65851,1,0 +68,1100105,11,1,1,0.0,4.0,87795,1,0 +69,1100105,11,1,1,1.0,6.0,82870,0,0 +70,1100105,11,1,1,1.0,6.0,74158,0,0 +71,1100105,11,1,1,1.0,6.0,35193,1,0 +72,1100105,11,1,1,0.0,4.0,25895,1,0 +73,1100105,11,1,1,0.0,6.0,49237,1,0 +74,1100105,11,1,1,0.0,6.0,40578,0,0 +75,1100105,11,1,1,1.0,6.0,47543,0,0 +76,1100105,11,1,1,0.0,6.0,9067,0,0 +77,1100105,11,1,1,0.0,6.0,15123,0,0 +78,1100105,17,1,4,2.0,1.0,246182,2,1 +79,1100105,17,1,4,0.0,1.0,49250,2,0 +80,1100105,17,1,3,0.0,5.0,230301,3,0 +81,1100105,17,1,3,3.0,7.0,203488,3,0 +82,1100105,17,1,3,0.0,7.0,179318,3,0 +83,1100105,17,1,3,2.0,7.0,105062,3,0 +84,1100105,17,1,3,2.0,7.0,111145,3,0 +85,1100105,17,1,3,2.0,7.0,124610,1,0 +86,1100105,17,1,3,2.0,3.0,476,1,1 +87,1100105,17,1,3,0.0,3.0,2741,0,1 +88,1100105,17,1,2,2.0,5.0,295213,2,0 +89,1100105,17,1,2,1.0,1.0,433622,2,0 +90,1100105,17,1,2,2.0,7.0,206639,2,0 +91,1100105,17,1,2,0.0,7.0,203427,2,0 +92,1100105,17,1,2,1.0,5.0,295216,2,0 +93,1100105,17,1,2,0.0,1.0,234025,2,0 +94,1100105,17,1,2,0.0,7.0,209239,2,0 +95,1100105,17,1,2,1.0,1.0,184510,2,0 +96,1100105,17,1,2,1.0,1.0,186407,2,0 +97,1100105,17,1,2,1.0,1.0,175376,2,0 +98,1100105,17,1,2,1.0,1.0,158172,2,0 +99,1100105,17,1,2,0.0,5.0,111430,2,0 +100,1100105,17,1,2,0.0,7.0,129676,2,0 +101,1100105,17,1,2,1.0,7.0,111249,2,0 +102,1100105,17,1,2,1.0,7.0,126637,2,0 +103,1100105,17,1,2,2.0,5.0,141833,2,0 +104,1100105,17,1,2,0.0,5.0,121521,2,0 +105,1100105,17,1,2,0.0,1.0,112920,1,0 +106,1100105,17,1,2,0.0,5.0,79593,2,0 +107,1100105,17,1,2,1.0,7.0,82867,2,0 +108,1100105,17,1,2,1.0,5.0,55078,1,0 +109,1100105,17,1,2,2.0,5.0,54017,1,0 +110,1100105,17,1,2,0.0,7.0,5306,1,0 +111,1100105,17,1,2,1.0,3.0,9850,0,0 +112,1100105,17,1,2,1.0,7.0,9957,0,0 +113,1100105,17,1,1,1.0,4.0,212248,1,0 +114,1100105,17,1,1,1.0,6.0,414438,1,0 +115,1100105,17,1,1,1.0,4.0,346479,1,0 +116,1100105,17,1,1,1.0,4.0,192488,1,0 +117,1100105,17,1,1,1.0,6.0,176299,1,0 +118,1100105,17,1,1,1.0,4.0,161601,1,0 +119,1100105,17,1,1,0.0,6.0,111430,1,0 +120,1100105,17,1,1,0.0,4.0,143267,1,0 +121,1100105,17,1,1,0.0,4.0,140820,1,0 +122,1100105,17,1,1,1.0,6.0,107727,1,0 +123,1100105,17,1,1,1.0,4.0,125226,1,0 +124,1100105,17,1,1,1.0,4.0,107067,1,0 +125,1100105,17,1,1,0.0,4.0,106124,1,0 +126,1100105,17,1,1,0.0,6.0,123104,1,0 +127,1100105,17,1,1,0.0,4.0,117519,1,0 +128,1100105,17,1,1,0.0,6.0,101713,1,0 +129,1100105,17,1,1,0.0,6.0,116736,1,0 +130,1100105,17,1,1,0.0,4.0,142945,1,0 +131,1100105,17,1,1,0.0,6.0,119121,1,0 +132,1100105,17,1,1,0.0,6.0,148573,1,0 +133,1100105,17,1,1,0.0,6.0,79241,1,0 +134,1100105,17,1,1,0.0,6.0,52827,1,0 +135,1100105,17,1,1,0.0,6.0,72222,1,0 +136,1100105,17,1,1,1.0,4.0,70436,1,0 +137,1100105,17,1,1,1.0,6.0,62150,1,0 +138,1100105,17,1,1,0.0,4.0,81047,1,0 +139,1100105,17,1,1,1.0,6.0,68532,1,0 +140,1100105,17,1,1,0.0,4.0,77687,1,0 +141,1100105,17,1,1,1.0,6.0,52717,1,0 +142,1100105,17,1,1,0.0,6.0,72508,1,0 +143,1100105,17,1,1,0.0,4.0,77687,1,0 +144,1100105,17,1,1,1.0,6.0,54899,1,0 +145,1100105,17,1,1,0.0,6.0,67919,1,0 +146,1100105,17,1,1,0.0,6.0,81047,1,0 +147,1100105,17,1,1,1.0,6.0,57307,0,0 +148,1100105,17,1,1,1.0,4.0,69165,0,0 +149,1100105,17,1,1,0.0,4.0,25895,1,0 +150,1100105,17,1,1,1.0,4.0,35332,1,0 +151,1100105,17,1,1,0.0,6.0,25482,1,0 +152,1100105,17,1,1,0.0,6.0,31709,0,0 +153,1100105,17,1,1,0.0,4.0,34850,0,0 +154,1100105,17,1,1,1.0,6.0,19250,1,0 +155,1100105,17,1,1,0.0,6.0,3183,1,0 +156,1100105,17,1,1,0.0,4.0,4217,1,0 +157,1100105,17,1,1,0.0,4.0,10772,0,0 +158,1100105,17,1,1,0.0,4.0,15417,0,0 +159,1100105,17,1,1,0.0,6.0,9117,0,0 +160,1100105,17,1,1,1.0,4.0,6115,0,0 +161,1100105,17,1,1,0.0,4.0,10543,0,0 +162,1100105,17,1,1,0.0,4.0,13465,0,0 +163,1100105,17,1,1,1.0,4.0,10706,0,0 +164,1100105,17,1,1,1.0,6.0,24860,0,0 +165,1100105,17,1,1,0.0,4.0,0,0,0 +166,1100105,17,1,1,0.0,6.0,0,0,0 +167,1100105,17,1,1,0.0,6.0,1581,0,0 +168,1100105,17,1,1,0.0,6.0,0,0,0 +169,1100105,17,1,1,0.0,6.0,5353,0,0 +170,1100105,17,1,1,0.0,6.0,848,0,0 +171,1100105,17,1,1,0.0,6.0,5306,0,0 +172,1100105,18,1,2,1.0,7.0,119328,1,0 +173,1100105,18,1,1,1.0,6.0,113869,1,0 +174,1100105,19,1,5,1.0,1.0,227884,1,1 +175,1100105,19,1,5,1.0,1.0,144706,2,1 +176,1100105,19,1,5,1.0,1.0,144706,2,1 +177,1100105,19,1,5,0.0,3.0,44539,2,1 +178,1100105,19,1,5,0.0,3.0,0,0,0 +179,1100105,19,1,5,0.0,3.0,0,0,0 +180,1100105,19,1,3,1.0,5.0,415371,3,0 +181,1100105,19,1,3,1.0,1.0,254097,2,0 +182,1100105,19,1,3,1.0,1.0,254097,2,0 +183,1100105,19,1,3,1.0,1.0,1013567,2,1 +184,1100105,19,1,3,1.0,1.0,352184,2,1 +185,1100105,19,1,3,2.0,1.0,253274,2,1 +186,1100105,19,1,3,2.0,1.0,241009,2,1 +187,1100105,19,1,3,2.0,1.0,340790,2,1 +188,1100105,19,1,3,2.0,1.0,340790,2,1 +189,1100105,19,1,3,1.0,1.0,208781,2,1 +190,1100105,19,1,3,2.0,1.0,354392,2,1 +191,1100105,19,1,3,2.0,1.0,227946,2,1 +192,1100105,19,1,3,1.0,1.0,205597,2,1 +193,1100105,19,1,3,1.0,1.0,205597,2,1 +194,1100105,19,1,3,1.0,3.0,279676,2,1 +195,1100105,19,1,3,2.0,1.0,298863,2,1 +196,1100105,19,1,3,1.0,1.0,319125,2,1 +197,1100105,19,1,3,1.0,1.0,298717,2,1 +198,1100105,19,1,3,1.0,1.0,231956,2,1 +199,1100105,19,1,3,2.0,1.0,361887,2,1 +200,1100105,19,1,3,1.0,1.0,303979,2,1 +201,1100105,19,1,3,1.0,1.0,278601,2,1 +202,1100105,19,1,3,1.0,1.0,247325,2,1 +203,1100105,19,1,3,1.0,1.0,205095,2,1 +204,1100105,19,1,3,0.0,1.0,940154,2,1 +205,1100105,19,1,3,0.0,1.0,256266,2,1 +206,1100105,19,1,3,1.0,1.0,308715,2,1 +207,1100105,19,1,3,2.0,1.0,248208,2,1 +208,1100105,19,1,3,1.0,5.0,267254,1,0 +209,1100105,19,1,3,2.0,1.0,318619,1,0 +210,1100105,19,1,3,2.0,1.0,208849,1,0 +211,1100105,19,1,3,2.0,1.0,208849,1,0 +212,1100105,19,1,3,2.0,2.0,201380,1,1 +213,1100105,19,1,3,1.0,1.0,238760,1,1 +214,1100105,19,1,3,1.0,1.0,238760,1,1 +215,1100105,19,1,3,1.0,1.0,218249,1,1 +216,1100105,19,1,3,1.0,1.0,218249,1,1 +217,1100105,19,1,3,1.0,1.0,219753,1,1 +218,1100105,19,1,3,1.0,1.0,769627,1,1 +219,1100105,19,1,3,2.0,7.0,182014,3,0 +220,1100105,19,1,3,1.0,1.0,176075,2,0 +221,1100105,19,1,3,2.0,5.0,168841,2,0 +222,1100105,19,1,3,2.0,1.0,162095,2,1 +223,1100105,19,1,3,1.0,1.0,191890,2,1 +224,1100105,19,1,3,2.0,1.0,162095,2,1 +225,1100105,19,1,3,1.0,1.0,181271,2,1 +226,1100105,19,1,3,1.0,1.0,158151,2,1 +227,1100105,19,1,3,1.0,1.0,152818,1,1 +228,1100105,19,1,3,1.0,1.0,152818,1,1 +229,1100105,19,1,3,1.0,1.0,152818,1,1 +230,1100105,19,1,3,1.0,1.0,152818,1,1 +231,1100105,19,1,3,1.0,1.0,152818,1,1 +232,1100105,19,1,3,2.0,5.0,135838,2,0 +233,1100105,19,1,3,0.0,1.0,139022,2,1 +234,1100105,19,1,3,0.0,1.0,121571,2,1 +235,1100105,19,1,3,2.0,7.0,124610,1,0 +236,1100105,19,1,3,0.0,1.0,141833,1,1 +237,1100105,19,1,3,1.0,1.0,107067,1,1 +238,1100105,19,1,3,0.0,3.0,105699,0,0 +239,1100105,19,1,3,1.0,1.0,133830,0,0 +240,1100105,19,1,3,1.0,7.0,52827,2,0 +241,1100105,19,1,3,1.0,1.0,68532,2,1 +242,1100105,19,1,3,1.0,1.0,79021,1,0 +243,1100105,19,1,3,2.0,3.0,476,1,1 +244,1100105,19,1,3,0.0,1.0,15983,0,0 +245,1100105,19,1,3,0.0,3.0,19112,0,0 +246,1100105,19,1,3,0.0,3.0,2741,0,1 +247,1100105,19,1,2,3.0,1.0,288657,2,0 +248,1100105,19,1,2,1.0,7.0,221054,2,0 +249,1100105,19,1,2,1.0,7.0,221054,2,0 +250,1100105,19,1,2,1.0,5.0,311032,2,0 +251,1100105,19,1,2,0.0,1.0,211993,2,0 +252,1100105,19,1,2,1.0,1.0,362543,2,0 +253,1100105,19,1,2,0.0,1.0,211993,2,0 +254,1100105,19,1,2,0.0,1.0,211993,2,0 +255,1100105,19,1,2,1.0,1.0,362543,2,0 +256,1100105,19,1,2,1.0,1.0,264138,2,0 +257,1100105,19,1,2,1.0,1.0,218249,2,0 +258,1100105,19,1,2,1.0,1.0,310751,2,0 +259,1100105,19,1,2,1.0,1.0,290580,2,0 +260,1100105,19,1,2,2.0,7.0,342722,2,0 +261,1100105,19,1,2,1.0,5.0,379924,2,0 +262,1100105,19,1,2,2.0,1.0,328281,2,0 +263,1100105,19,1,2,1.0,7.0,265431,2,0 +264,1100105,19,1,2,1.0,5.0,391055,2,0 +265,1100105,19,1,2,1.0,7.0,265431,2,0 +266,1100105,19,1,2,2.0,1.0,328281,2,0 +267,1100105,19,1,2,1.0,5.0,205355,2,0 +268,1100105,19,1,2,2.0,1.0,995444,2,0 +269,1100105,19,1,2,2.0,1.0,374618,2,0 +270,1100105,19,1,2,0.0,1.0,223813,2,0 +271,1100105,19,1,2,2.0,1.0,228697,2,0 +272,1100105,19,1,2,1.0,1.0,276575,2,0 +273,1100105,19,1,2,2.0,7.0,297658,2,0 +274,1100105,19,1,2,1.0,1.0,284412,2,0 +275,1100105,19,1,2,2.0,1.0,206671,2,0 +276,1100105,19,1,2,0.0,7.0,329767,2,0 +277,1100105,19,1,2,1.0,5.0,419535,2,0 +278,1100105,19,1,2,1.0,1.0,825562,2,0 +279,1100105,19,1,2,1.0,1.0,211315,2,0 +280,1100105,19,1,2,2.0,1.0,265310,2,0 +281,1100105,19,1,2,2.0,1.0,303929,2,0 +282,1100105,19,1,2,0.0,1.0,215630,2,0 +283,1100105,19,1,2,1.0,1.0,233270,2,0 +284,1100105,19,1,2,1.0,1.0,344452,2,0 +285,1100105,19,1,2,0.0,7.0,241117,2,0 +286,1100105,19,1,2,1.0,1.0,314060,2,0 +287,1100105,19,1,2,1.0,5.0,419535,2,0 +288,1100105,19,1,2,1.0,1.0,230194,2,0 +289,1100105,19,1,2,1.0,1.0,284412,2,0 +290,1100105,19,1,2,0.0,1.0,202824,2,0 +291,1100105,19,1,2,2.0,1.0,206671,2,0 +292,1100105,19,1,2,2.0,1.0,303929,2,0 +293,1100105,19,1,2,1.0,5.0,612923,2,0 +294,1100105,19,1,2,0.0,1.0,215630,2,0 +295,1100105,19,1,2,2.0,1.0,206942,2,0 +296,1100105,19,1,2,1.0,1.0,211315,2,0 +297,1100105,19,1,2,1.0,1.0,233270,2,0 +298,1100105,19,1,2,0.0,5.0,253832,2,0 +299,1100105,19,1,2,1.0,1.0,258339,2,0 +300,1100105,19,1,2,2.0,1.0,374618,2,0 +301,1100105,19,1,2,1.0,1.0,773058,2,0 +302,1100105,19,1,2,1.0,1.0,824660,2,0 +303,1100105,19,1,2,1.0,1.0,496417,2,0 +304,1100105,19,1,2,2.0,1.0,206671,2,0 +305,1100105,19,1,2,1.0,1.0,211315,2,0 +306,1100105,19,1,2,1.0,1.0,230194,2,0 +307,1100105,19,1,2,1.0,1.0,393618,2,0 +308,1100105,19,1,2,2.0,7.0,390510,2,0 +309,1100105,19,1,2,1.0,1.0,207167,2,0 +310,1100105,19,1,2,1.0,1.0,207167,2,0 +311,1100105,19,1,2,2.0,7.0,390510,2,0 +312,1100105,19,1,2,1.0,1.0,226982,2,0 +313,1100105,19,1,2,1.0,1.0,384976,2,0 +314,1100105,19,1,2,1.0,1.0,295824,2,0 +315,1100105,19,1,2,0.0,5.0,294435,2,0 +316,1100105,19,1,2,1.0,3.0,241218,2,0 +317,1100105,19,1,2,1.0,1.0,273021,2,0 +318,1100105,19,1,2,1.0,7.0,242507,2,0 +319,1100105,19,1,2,1.0,5.0,424693,2,0 +320,1100105,19,1,2,1.0,1.0,219677,2,0 +321,1100105,19,1,2,1.0,1.0,265695,2,0 +322,1100105,19,1,2,1.0,5.0,476485,2,0 +323,1100105,19,1,2,1.0,1.0,301929,2,0 +324,1100105,19,1,2,2.0,5.0,305572,2,0 +325,1100105,19,1,2,1.0,3.0,241218,2,0 +326,1100105,19,1,2,1.0,5.0,307869,2,0 +327,1100105,19,1,2,0.0,5.0,248601,2,0 +328,1100105,19,1,2,1.0,1.0,309977,2,0 +329,1100105,19,1,2,1.0,5.0,252575,2,0 +330,1100105,19,1,2,0.0,7.0,203427,2,0 +331,1100105,19,1,2,0.0,1.0,1452888,2,0 +332,1100105,19,1,2,2.0,1.0,227738,2,0 +333,1100105,19,1,2,1.0,1.0,323678,2,0 +334,1100105,19,1,2,1.0,1.0,291771,2,0 +335,1100105,19,1,2,0.0,5.0,208697,2,0 +336,1100105,19,1,2,2.0,1.0,800346,2,0 +337,1100105,19,1,2,1.0,5.0,300393,2,0 +338,1100105,19,1,2,1.0,1.0,368758,2,0 +339,1100105,19,1,2,0.0,5.0,286535,2,0 +340,1100105,19,1,2,1.0,5.0,222860,2,0 +341,1100105,19,1,2,0.0,1.0,212248,2,0 +342,1100105,19,1,2,0.0,5.0,270616,2,0 +343,1100105,19,1,2,0.0,5.0,212790,2,0 +344,1100105,19,1,2,1.0,1.0,331468,2,0 +345,1100105,19,1,2,1.0,1.0,405923,2,0 +346,1100105,19,1,2,1.0,1.0,230194,2,0 +347,1100105,19,1,2,1.0,1.0,242710,1,0 +348,1100105,19,1,2,1.0,5.0,243578,1,0 +349,1100105,19,1,2,2.0,1.0,1039585,1,0 +350,1100105,19,1,2,1.0,1.0,657911,1,0 +351,1100105,19,1,2,1.0,1.0,657911,1,0 +352,1100105,19,1,2,1.0,1.0,247461,1,0 +353,1100105,19,1,2,1.0,1.0,247461,1,0 +354,1100105,19,1,2,1.0,1.0,765455,1,0 +355,1100105,19,1,2,2.0,5.0,333539,1,0 +356,1100105,19,1,2,0.0,1.0,283667,1,0 +357,1100105,19,1,2,0.0,1.0,283667,1,0 +358,1100105,19,1,2,1.0,1.0,355630,1,0 +359,1100105,19,1,2,1.0,1.0,224892,1,0 +360,1100105,19,1,2,1.0,1.0,214875,1,0 +361,1100105,19,1,2,2.0,1.0,249636,1,0 +362,1100105,19,1,2,0.0,1.0,329820,1,0 +363,1100105,19,1,2,1.0,1.0,1049303,1,0 +364,1100105,19,1,2,1.0,1.0,217815,1,0 +365,1100105,19,1,2,1.0,1.0,1049303,1,0 +366,1100105,19,1,2,1.0,5.0,581123,1,0 +367,1100105,19,1,2,2.0,1.0,249636,1,0 +368,1100105,19,1,2,1.0,1.0,214875,1,0 +369,1100105,19,1,2,1.0,5.0,212248,1,0 +370,1100105,19,1,2,1.0,5.0,207464,1,0 +371,1100105,19,1,2,1.0,1.0,384710,0,0 +372,1100105,19,1,2,1.0,1.0,410035,0,0 +373,1100105,19,1,2,1.0,1.0,410035,0,0 +374,1100105,19,1,2,1.0,2.0,311426,0,0 +375,1100105,19,1,2,1.0,2.0,311426,0,0 +376,1100105,19,1,2,1.0,1.0,233012,0,0 +377,1100105,19,1,2,0.0,5.0,198217,2,0 +378,1100105,19,1,2,2.0,7.0,187528,2,0 +379,1100105,19,1,2,2.0,5.0,190579,2,0 +380,1100105,19,1,2,0.0,1.0,198567,2,0 +381,1100105,19,1,2,0.0,5.0,160600,2,0 +382,1100105,19,1,2,0.0,1.0,198567,2,0 +383,1100105,19,1,2,0.0,5.0,160600,2,0 +384,1100105,19,1,2,0.0,5.0,160600,2,0 +385,1100105,19,1,2,0.0,1.0,193857,2,0 +386,1100105,19,1,2,0.0,5.0,197391,2,0 +387,1100105,19,1,2,1.0,1.0,196213,2,0 +388,1100105,19,1,2,1.0,1.0,170237,2,0 +389,1100105,19,1,2,2.0,7.0,159851,2,0 +390,1100105,19,1,2,2.0,5.0,168695,2,0 +391,1100105,19,1,2,2.0,1.0,189782,2,0 +392,1100105,19,1,2,0.0,5.0,197391,2,0 +393,1100105,19,1,2,2.0,1.0,194207,2,0 +394,1100105,19,1,2,0.0,1.0,197553,2,0 +395,1100105,19,1,2,0.0,7.0,152818,2,0 +396,1100105,19,1,2,1.0,1.0,171949,2,0 +397,1100105,19,1,2,0.0,1.0,160279,2,0 +398,1100105,19,1,2,1.0,1.0,186619,2,0 +399,1100105,19,1,2,1.0,1.0,196540,2,0 +400,1100105,19,1,2,0.0,1.0,150196,2,0 +401,1100105,19,1,2,0.0,1.0,174519,2,0 +402,1100105,19,1,2,0.0,1.0,174519,2,0 +403,1100105,19,1,2,1.0,7.0,194207,2,0 +404,1100105,19,1,2,0.0,5.0,178289,2,0 +405,1100105,19,1,2,2.0,1.0,166147,2,0 +406,1100105,19,1,2,0.0,5.0,159056,2,0 +407,1100105,19,1,2,2.0,7.0,172226,2,0 +408,1100105,19,1,2,1.0,1.0,177227,2,0 +409,1100105,19,1,2,0.0,7.0,189509,2,0 +410,1100105,19,1,2,1.0,1.0,189803,2,0 +411,1100105,19,1,2,0.0,7.0,152977,2,0 +412,1100105,19,1,2,0.0,5.0,183085,2,0 +413,1100105,19,1,2,1.0,5.0,159522,2,0 +414,1100105,19,1,2,0.0,1.0,161590,2,0 +415,1100105,19,1,2,1.0,5.0,159522,2,0 +416,1100105,19,1,2,1.0,7.0,193538,2,0 +417,1100105,19,1,2,1.0,7.0,156318,2,0 +418,1100105,19,1,2,0.0,1.0,161590,2,0 +419,1100105,19,1,2,0.0,1.0,192523,2,0 +420,1100105,19,1,2,1.0,1.0,165532,2,0 +421,1100105,19,1,2,0.0,5.0,180293,2,0 +422,1100105,19,1,2,1.0,5.0,189782,2,0 +423,1100105,19,1,2,1.0,5.0,182014,2,0 +424,1100105,19,1,2,1.0,1.0,175468,1,0 +425,1100105,19,1,2,1.0,1.0,170129,1,0 +426,1100105,19,1,2,0.0,5.0,197194,1,0 +427,1100105,19,1,2,0.0,5.0,197194,1,0 +428,1100105,19,1,2,2.0,5.0,196860,1,0 +429,1100105,19,1,2,0.0,1.0,151964,1,0 +430,1100105,19,1,2,1.0,7.0,154176,1,0 +431,1100105,19,1,2,1.0,1.0,160069,1,0 +432,1100105,19,1,2,0.0,1.0,151964,1,0 +433,1100105,19,1,2,0.0,1.0,189782,1,0 +434,1100105,19,1,2,0.0,5.0,153106,1,0 +435,1100105,19,1,2,0.0,1.0,164794,1,0 +436,1100105,19,1,2,1.0,1.0,162095,1,0 +437,1100105,19,1,2,0.0,7.0,169877,1,0 +438,1100105,19,1,2,2.0,7.0,179873,1,0 +439,1100105,19,1,2,2.0,1.0,159726,0,0 +440,1100105,19,1,2,2.0,1.0,111744,2,0 +441,1100105,19,1,2,2.0,1.0,108762,2,0 +442,1100105,19,1,2,2.0,5.0,137961,2,0 +443,1100105,19,1,2,0.0,1.0,124300,2,0 +444,1100105,19,1,2,1.0,1.0,136768,2,0 +445,1100105,19,1,2,0.0,1.0,124300,2,0 +446,1100105,19,1,2,0.0,5.0,114295,2,0 +447,1100105,19,1,2,0.0,1.0,116506,2,0 +448,1100105,19,1,2,0.0,7.0,120769,2,0 +449,1100105,19,1,2,1.0,1.0,144550,2,0 +450,1100105,19,1,2,1.0,5.0,131793,2,0 +451,1100105,19,1,2,0.0,5.0,111430,2,0 +452,1100105,19,1,2,2.0,1.0,134904,2,0 +453,1100105,19,1,2,0.0,1.0,137064,2,0 +454,1100105,19,1,2,1.0,1.0,106375,2,0 +455,1100105,19,1,2,0.0,7.0,129676,2,0 +456,1100105,19,1,2,1.0,7.0,144872,2,0 +457,1100105,19,1,2,1.0,7.0,107067,2,0 +458,1100105,19,1,2,0.0,7.0,111947,2,0 +459,1100105,19,1,2,0.0,7.0,140820,2,0 +460,1100105,19,1,2,0.0,1.0,136900,2,0 +461,1100105,19,1,2,1.0,7.0,132006,2,0 +462,1100105,19,1,2,1.0,7.0,132006,2,0 +463,1100105,19,1,2,1.0,5.0,111870,2,0 +464,1100105,19,1,2,0.0,7.0,149358,2,0 +465,1100105,19,1,2,1.0,7.0,126521,2,0 +466,1100105,19,1,2,1.0,5.0,106898,2,0 +467,1100105,19,1,2,1.0,1.0,119915,2,0 +468,1100105,19,1,2,1.0,1.0,133834,2,0 +469,1100105,19,1,2,0.0,5.0,137781,2,0 +470,1100105,19,1,2,1.0,3.0,133105,1,0 +471,1100105,19,1,2,1.0,3.0,107495,1,0 +472,1100105,19,1,2,0.0,1.0,107227,1,0 +473,1100105,19,1,2,0.0,1.0,107227,1,0 +474,1100105,19,1,2,2.0,1.0,121571,1,0 +475,1100105,19,1,2,2.0,1.0,121571,1,0 +476,1100105,19,1,2,2.0,1.0,121571,1,0 +477,1100105,19,1,2,2.0,1.0,121571,1,0 +478,1100105,19,1,2,1.0,1.0,137086,1,0 +479,1100105,19,1,2,1.0,1.0,119915,1,0 +480,1100105,19,1,2,1.0,7.0,107543,1,0 +481,1100105,19,1,2,1.0,7.0,119328,1,0 +482,1100105,19,1,2,0.0,1.0,112920,1,0 +483,1100105,19,1,2,0.0,1.0,118085,1,0 +484,1100105,19,1,2,1.0,1.0,122382,0,0 +485,1100105,19,1,2,1.0,7.0,100900,0,0 +486,1100105,19,1,2,2.0,5.0,58621,2,0 +487,1100105,19,1,2,0.0,7.0,52213,2,0 +488,1100105,19,1,2,1.0,1.0,97358,2,0 +489,1100105,19,1,2,0.0,2.0,75161,2,0 +490,1100105,19,1,2,1.0,5.0,82977,2,0 +491,1100105,19,1,2,0.0,5.0,79593,2,0 +492,1100105,19,1,2,1.0,5.0,99108,2,0 +493,1100105,19,1,2,0.0,7.0,64240,2,0 +494,1100105,19,1,2,0.0,7.0,83512,2,0 +495,1100105,19,1,2,1.0,7.0,58727,2,0 +496,1100105,19,1,2,0.0,7.0,62613,2,0 +497,1100105,19,1,2,1.0,7.0,83544,1,0 +498,1100105,19,1,2,1.0,1.0,55502,1,0 +499,1100105,19,1,2,1.0,1.0,93225,1,0 +500,1100105,19,1,2,1.0,1.0,93225,1,0 +501,1100105,19,1,2,0.0,1.0,98054,1,0 +502,1100105,19,1,2,0.0,7.0,73225,1,0 +503,1100105,19,1,2,1.0,1.0,96294,1,0 +504,1100105,19,1,2,1.0,7.0,54193,1,0 +505,1100105,19,1,2,1.0,7.0,54193,1,0 +506,1100105,19,1,2,1.0,7.0,84899,1,0 +507,1100105,19,1,2,0.0,1.0,66423,1,0 +508,1100105,19,1,2,1.0,1.0,71952,1,0 +509,1100105,19,1,2,1.0,5.0,58887,1,0 +510,1100105,19,1,2,0.0,1.0,78531,1,0 +511,1100105,19,1,2,0.0,1.0,65851,1,0 +512,1100105,19,1,2,1.0,1.0,99440,0,0 +513,1100105,19,1,2,0.0,1.0,73909,0,0 +514,1100105,19,1,2,1.0,1.0,47972,2,0 +515,1100105,19,1,2,0.0,5.0,41649,2,0 +516,1100105,19,1,2,1.0,1.0,37704,1,0 +517,1100105,19,1,2,1.0,5.0,48180,1,0 +518,1100105,19,1,2,2.0,7.0,31975,1,0 +519,1100105,19,1,2,1.0,3.0,33429,1,1 +520,1100105,19,1,2,1.0,7.0,31000,0,0 +521,1100105,19,1,2,1.0,3.0,12741,1,0 +522,1100105,19,1,2,0.0,7.0,5306,1,0 +523,1100105,19,1,2,1.0,7.0,4244,1,0 +524,1100105,19,1,2,1.0,1.0,24625,0,0 +525,1100105,19,1,2,0.0,3.0,9827,0,0 +526,1100105,19,1,2,0.0,1.0,8565,0,0 +527,1100105,19,1,2,0.0,7.0,0,0,0 +528,1100105,19,1,2,0.0,7.0,0,0,0 +529,1100105,19,1,1,1.0,6.0,299788,1,0 +530,1100105,19,1,1,0.0,4.0,752018,1,0 +531,1100105,19,1,1,0.0,6.0,221412,1,0 +532,1100105,19,1,1,1.0,4.0,1080379,1,0 +533,1100105,19,1,1,1.0,6.0,327625,1,0 +534,1100105,19,1,1,1.0,6.0,676541,1,0 +535,1100105,19,1,1,0.0,6.0,327625,1,0 +536,1100105,19,1,1,1.0,4.0,303929,1,0 +537,1100105,19,1,1,0.0,6.0,210869,1,0 +538,1100105,19,1,1,1.0,4.0,233012,1,0 +539,1100105,19,1,1,1.0,4.0,303929,1,0 +540,1100105,19,1,1,1.0,4.0,230194,1,0 +541,1100105,19,1,1,1.0,4.0,354583,1,0 +542,1100105,19,1,1,1.0,4.0,230194,1,0 +543,1100105,19,1,1,1.0,4.0,414335,1,0 +544,1100105,19,1,1,1.0,6.0,306212,1,0 +545,1100105,19,1,1,2.0,6.0,308994,1,0 +546,1100105,19,1,1,0.0,4.0,222860,1,0 +547,1100105,19,1,1,1.0,4.0,247665,1,0 +548,1100105,19,1,1,1.0,6.0,421738,1,0 +549,1100105,19,1,1,1.0,6.0,241972,1,0 +550,1100105,19,1,1,0.0,4.0,222860,1,0 +551,1100105,19,1,1,0.0,6.0,237469,1,0 +552,1100105,19,1,1,0.0,4.0,677255,1,0 +553,1100105,19,1,1,1.0,4.0,414335,1,0 +554,1100105,19,1,1,0.0,4.0,233012,1,0 +555,1100105,19,1,1,1.0,4.0,247665,1,0 +556,1100105,19,1,1,1.0,6.0,210869,1,0 +557,1100105,19,1,1,0.0,6.0,384976,1,0 +558,1100105,19,1,1,1.0,4.0,329357,1,0 +559,1100105,19,1,1,1.0,4.0,778058,1,0 +560,1100105,19,1,1,0.0,6.0,237469,1,0 +561,1100105,19,1,1,1.0,4.0,624416,1,0 +562,1100105,19,1,1,1.0,4.0,414335,1,0 +563,1100105,19,1,1,1.0,6.0,269912,1,0 +564,1100105,19,1,1,0.0,4.0,677255,1,0 +565,1100105,19,1,1,1.0,4.0,624416,1,0 +566,1100105,19,1,1,0.0,6.0,204139,1,0 +567,1100105,19,1,1,1.0,4.0,793451,1,0 +568,1100105,19,1,1,1.0,4.0,247665,1,0 +569,1100105,19,1,1,0.0,4.0,222860,1,0 +570,1100105,19,1,1,0.0,4.0,222860,1,0 +571,1100105,19,1,1,1.0,6.0,325253,1,0 +572,1100105,19,1,1,1.0,6.0,229156,1,0 +573,1100105,19,1,1,1.0,6.0,220569,1,0 +574,1100105,19,1,1,1.0,6.0,765484,1,0 +575,1100105,19,1,1,0.0,6.0,237469,1,0 +576,1100105,19,1,1,0.0,6.0,237469,1,0 +577,1100105,19,1,1,0.0,6.0,325265,1,0 +578,1100105,19,1,1,1.0,4.0,299788,1,0 +579,1100105,19,1,1,0.0,6.0,325265,1,0 +580,1100105,19,1,1,1.0,6.0,754911,1,0 +581,1100105,19,1,1,0.0,4.0,329256,1,0 +582,1100105,19,1,1,1.0,4.0,213382,1,0 +583,1100105,19,1,1,1.0,4.0,1148263,1,0 +584,1100105,19,1,1,0.0,6.0,237469,1,0 +585,1100105,19,1,1,0.0,6.0,230194,1,0 +586,1100105,19,1,1,1.0,6.0,326555,1,0 +587,1100105,19,1,1,1.0,4.0,247665,1,0 +588,1100105,19,1,1,0.0,4.0,222860,1,0 +589,1100105,19,1,1,2.0,4.0,212750,1,0 +590,1100105,19,1,1,0.0,4.0,222860,1,0 +591,1100105,19,1,1,1.0,6.0,421738,1,0 +592,1100105,19,1,1,0.0,4.0,222860,1,0 +593,1100105,19,1,1,1.0,4.0,793451,1,0 +594,1100105,19,1,1,0.0,4.0,233012,1,0 +595,1100105,19,1,1,1.0,6.0,231372,1,0 +596,1100105,19,1,1,1.0,4.0,256961,1,0 +597,1100105,19,1,1,0.0,6.0,233012,1,0 +598,1100105,19,1,1,2.0,4.0,765455,1,0 +599,1100105,19,1,1,2.0,4.0,212750,1,0 +600,1100105,19,1,1,1.0,4.0,329357,1,0 +601,1100105,19,1,1,1.0,6.0,623185,1,0 +602,1100105,19,1,1,0.0,6.0,222699,1,0 +603,1100105,19,1,1,1.0,6.0,456848,1,0 +604,1100105,19,1,1,1.0,6.0,303929,1,0 +605,1100105,19,1,1,0.0,4.0,235569,1,0 +606,1100105,19,1,1,1.0,4.0,271843,1,0 +607,1100105,19,1,1,1.0,6.0,278601,1,0 +608,1100105,19,1,1,1.0,4.0,200220,1,0 +609,1100105,19,1,1,0.0,6.0,214134,1,0 +610,1100105,19,1,1,1.0,4.0,346479,1,0 +611,1100105,19,1,1,1.0,4.0,215847,1,0 +612,1100105,19,1,1,0.0,6.0,214134,1,0 +613,1100105,19,1,1,1.0,6.0,623131,1,0 +614,1100105,19,1,1,0.0,6.0,307760,1,0 +615,1100105,19,1,1,1.0,4.0,450205,0,0 +616,1100105,19,1,1,0.0,6.0,227136,0,0 +617,1100105,19,1,1,0.0,6.0,227136,0,0 +618,1100105,19,1,1,0.0,6.0,227136,0,0 +619,1100105,19,1,1,1.0,6.0,427010,0,0 +620,1100105,19,1,1,1.0,6.0,412823,0,0 +621,1100105,19,1,1,1.0,4.0,283667,0,0 +622,1100105,19,1,1,0.0,4.0,156016,1,0 +623,1100105,19,1,1,1.0,6.0,163423,1,0 +624,1100105,19,1,1,0.0,4.0,181452,1,0 +625,1100105,19,1,1,0.0,4.0,162896,1,0 +626,1100105,19,1,1,1.0,4.0,196809,1,0 +627,1100105,19,1,1,1.0,4.0,196809,1,0 +628,1100105,19,1,1,1.0,4.0,196809,1,0 +629,1100105,19,1,1,1.0,4.0,196809,1,0 +630,1100105,19,1,1,1.0,4.0,174252,1,0 +631,1100105,19,1,1,1.0,4.0,174252,1,0 +632,1100105,19,1,1,1.0,6.0,176661,1,0 +633,1100105,19,1,1,1.0,4.0,174252,1,0 +634,1100105,19,1,1,0.0,4.0,164598,1,0 +635,1100105,19,1,1,1.0,4.0,195054,1,0 +636,1100105,19,1,1,1.0,4.0,163423,1,0 +637,1100105,19,1,1,1.0,4.0,163423,1,0 +638,1100105,19,1,1,1.0,4.0,152035,1,0 +639,1100105,19,1,1,1.0,4.0,163662,1,0 +640,1100105,19,1,1,1.0,4.0,165610,1,0 +641,1100105,19,1,1,1.0,6.0,192488,1,0 +642,1100105,19,1,1,1.0,6.0,150196,1,0 +643,1100105,19,1,1,0.0,6.0,153990,1,0 +644,1100105,19,1,1,1.0,6.0,165734,1,0 +645,1100105,19,1,1,1.0,6.0,154339,1,0 +646,1100105,19,1,1,1.0,6.0,166636,1,0 +647,1100105,19,1,1,1.0,6.0,165734,1,0 +648,1100105,19,1,1,1.0,4.0,174494,1,0 +649,1100105,19,1,1,1.0,6.0,150196,1,0 +650,1100105,19,1,1,1.0,4.0,181271,1,0 +651,1100105,19,1,1,1.0,4.0,172226,1,0 +652,1100105,19,1,1,0.0,6.0,153990,1,0 +653,1100105,19,1,1,0.0,4.0,150244,1,0 +654,1100105,19,1,1,0.0,6.0,150951,1,0 +655,1100105,19,1,1,1.0,6.0,150196,1,0 +656,1100105,19,1,1,1.0,6.0,154339,1,0 +657,1100105,19,1,1,1.0,4.0,152035,1,0 +658,1100105,19,1,1,1.0,6.0,169798,1,0 +659,1100105,19,1,1,1.0,4.0,167161,1,0 +660,1100105,19,1,1,1.0,4.0,199580,1,0 +661,1100105,19,1,1,1.0,4.0,167782,1,0 +662,1100105,19,1,1,0.0,6.0,155375,1,0 +663,1100105,19,1,1,1.0,6.0,165553,1,0 +664,1100105,19,1,1,1.0,6.0,165734,1,0 +665,1100105,19,1,1,1.0,4.0,161308,1,0 +666,1100105,19,1,1,1.0,6.0,162095,1,0 +667,1100105,19,1,1,1.0,4.0,164492,1,0 +668,1100105,19,1,1,0.0,6.0,153990,1,0 +669,1100105,19,1,1,1.0,4.0,182610,1,0 +670,1100105,19,1,1,0.0,6.0,176092,1,0 +671,1100105,19,1,1,0.0,6.0,152880,1,0 +672,1100105,19,1,1,0.0,4.0,151964,1,0 +673,1100105,19,1,1,0.0,4.0,192488,1,0 +674,1100105,19,1,1,0.0,4.0,192488,1,0 +675,1100105,19,1,1,0.0,4.0,174019,1,0 +676,1100105,19,1,1,0.0,4.0,151825,1,0 +677,1100105,19,1,1,1.0,6.0,180411,1,0 +678,1100105,19,1,1,0.0,4.0,196329,1,0 +679,1100105,19,1,1,0.0,6.0,166703,1,0 +680,1100105,19,1,1,0.0,6.0,196809,1,0 +681,1100105,19,1,1,0.0,6.0,159186,1,0 +682,1100105,19,1,1,1.0,4.0,171307,1,0 +683,1100105,19,1,1,1.0,4.0,179238,1,0 +684,1100105,19,1,1,1.0,4.0,182401,1,0 +685,1100105,19,1,1,0.0,4.0,196329,1,0 +686,1100105,19,1,1,0.0,4.0,196329,1,0 +687,1100105,19,1,1,1.0,4.0,191023,0,0 +688,1100105,19,1,1,1.0,4.0,183807,0,0 +689,1100105,19,1,1,2.0,6.0,103583,1,0 +690,1100105,19,1,1,1.0,4.0,108762,1,0 +691,1100105,19,1,1,1.0,6.0,130106,1,0 +692,1100105,19,1,1,0.0,6.0,111671,1,0 +693,1100105,19,1,1,0.0,6.0,121571,1,0 +694,1100105,19,1,1,1.0,4.0,111430,1,0 +695,1100105,19,1,1,1.0,4.0,111430,1,0 +696,1100105,19,1,1,0.0,6.0,111430,1,0 +697,1100105,19,1,1,0.0,4.0,105434,1,0 +698,1100105,19,1,1,0.0,6.0,141757,1,0 +699,1100105,19,1,1,0.0,6.0,101309,1,0 +700,1100105,19,1,1,1.0,6.0,119545,1,0 +701,1100105,19,1,1,0.0,6.0,137961,1,0 +702,1100105,19,1,1,0.0,6.0,107599,1,0 +703,1100105,19,1,1,1.0,6.0,124300,1,0 +704,1100105,19,1,1,0.0,6.0,137961,1,0 +705,1100105,19,1,1,0.0,4.0,142368,1,0 +706,1100105,19,1,1,0.0,4.0,105434,1,0 +707,1100105,19,1,1,0.0,4.0,142368,1,0 +708,1100105,19,1,1,0.0,4.0,105434,1,0 +709,1100105,19,1,1,0.0,6.0,101309,1,0 +710,1100105,19,1,1,0.0,6.0,137961,1,0 +711,1100105,19,1,1,1.0,6.0,106124,1,0 +712,1100105,19,1,1,0.0,6.0,136730,1,0 +713,1100105,19,1,1,0.0,4.0,124408,1,0 +714,1100105,19,1,1,0.0,6.0,136730,1,0 +715,1100105,19,1,1,1.0,6.0,125054,1,0 +716,1100105,19,1,1,1.0,6.0,118532,1,0 +717,1100105,19,1,1,1.0,6.0,107067,1,0 +718,1100105,19,1,1,1.0,6.0,100817,1,0 +719,1100105,19,1,1,1.0,4.0,130585,1,0 +720,1100105,19,1,1,1.0,4.0,118613,1,0 +721,1100105,19,1,1,1.0,4.0,113942,1,0 +722,1100105,19,1,1,1.0,6.0,136768,1,0 +723,1100105,19,1,1,1.0,6.0,125226,1,0 +724,1100105,19,1,1,1.0,6.0,125226,1,0 +725,1100105,19,1,1,0.0,4.0,145611,1,0 +726,1100105,19,1,1,0.0,4.0,103325,1,0 +727,1100105,19,1,1,1.0,4.0,106177,1,0 +728,1100105,19,1,1,1.0,4.0,108970,1,0 +729,1100105,19,1,1,1.0,4.0,127349,1,0 +730,1100105,19,1,1,1.0,4.0,145499,1,0 +731,1100105,19,1,1,1.0,6.0,100817,1,0 +732,1100105,19,1,1,0.0,6.0,124300,1,0 +733,1100105,19,1,1,0.0,6.0,124300,1,0 +734,1100105,19,1,1,1.0,4.0,106177,1,0 +735,1100105,19,1,1,0.0,6.0,139838,1,0 +736,1100105,19,1,1,1.0,4.0,108970,1,0 +737,1100105,19,1,1,0.0,4.0,111440,1,0 +738,1100105,19,1,1,0.0,4.0,106375,1,0 +739,1100105,19,1,1,0.0,6.0,125624,1,0 +740,1100105,19,1,1,1.0,4.0,113942,1,0 +741,1100105,19,1,1,0.0,4.0,121249,1,0 +742,1100105,19,1,1,0.0,6.0,113942,1,0 +743,1100105,19,1,1,1.0,6.0,136900,1,0 +744,1100105,19,1,1,0.0,4.0,139838,1,0 +745,1100105,19,1,1,1.0,4.0,139187,1,0 +746,1100105,19,1,1,0.0,4.0,106124,1,0 +747,1100105,19,1,1,1.0,4.0,123358,1,0 +748,1100105,19,1,1,1.0,4.0,120195,1,0 +749,1100105,19,1,1,1.0,4.0,120157,1,0 +750,1100105,19,1,1,1.0,4.0,113942,1,0 +751,1100105,19,1,1,1.0,6.0,129684,1,0 +752,1100105,19,1,1,1.0,6.0,123127,1,0 +753,1100105,19,1,1,1.0,4.0,131692,1,0 +754,1100105,19,1,1,1.0,4.0,108970,1,0 +755,1100105,19,1,1,0.0,4.0,106124,1,0 +756,1100105,19,1,1,0.0,6.0,107067,1,0 +757,1100105,19,1,1,0.0,6.0,141833,1,0 +758,1100105,19,1,1,1.0,6.0,123127,1,0 +759,1100105,19,1,1,1.0,4.0,139187,1,0 +760,1100105,19,1,1,0.0,6.0,107067,1,0 +761,1100105,19,1,1,1.0,6.0,139173,1,0 +762,1100105,19,1,1,1.0,6.0,107727,1,0 +763,1100105,19,1,1,0.0,6.0,107067,1,0 +764,1100105,19,1,1,1.0,6.0,139173,1,0 +765,1100105,19,1,1,0.0,6.0,133834,1,0 +766,1100105,19,1,1,1.0,6.0,142945,1,0 +767,1100105,19,1,1,1.0,4.0,142427,1,0 +768,1100105,19,1,1,1.0,4.0,113942,1,0 +769,1100105,19,1,1,0.0,4.0,112420,1,0 +770,1100105,19,1,1,1.0,4.0,122228,1,0 +771,1100105,19,1,1,1.0,4.0,131692,1,0 +772,1100105,19,1,1,0.0,6.0,107727,1,0 +773,1100105,19,1,1,1.0,4.0,137064,1,0 +774,1100105,19,1,1,0.0,6.0,129684,1,0 +775,1100105,19,1,1,1.0,4.0,138802,1,0 +776,1100105,19,1,1,0.0,4.0,127349,1,0 +777,1100105,19,1,1,0.0,6.0,122797,1,0 +778,1100105,19,1,1,0.0,4.0,127349,1,0 +779,1100105,19,1,1,0.0,4.0,100817,1,0 +780,1100105,19,1,1,1.0,6.0,140083,1,0 +781,1100105,19,1,1,0.0,6.0,131793,1,0 +782,1100105,19,1,1,1.0,6.0,131702,1,0 +783,1100105,19,1,1,1.0,4.0,103583,1,0 +784,1100105,19,1,1,1.0,4.0,105593,1,0 +785,1100105,19,1,1,1.0,4.0,108762,1,0 +786,1100105,19,1,1,1.0,4.0,113942,1,0 +787,1100105,19,1,1,1.0,6.0,102809,1,0 +788,1100105,19,1,1,0.0,4.0,113063,1,0 +789,1100105,19,1,1,1.0,6.0,136768,1,0 +790,1100105,19,1,1,0.0,4.0,108342,1,0 +791,1100105,19,1,1,1.0,4.0,108762,1,0 +792,1100105,19,1,1,0.0,6.0,115493,1,0 +793,1100105,19,1,1,1.0,6.0,144540,1,0 +794,1100105,19,1,1,1.0,6.0,101309,1,0 +795,1100105,19,1,1,1.0,4.0,134658,1,0 +796,1100105,19,1,1,0.0,6.0,115493,1,0 +797,1100105,19,1,1,1.0,6.0,100373,1,0 +798,1100105,19,1,1,0.0,6.0,125624,1,0 +799,1100105,19,1,1,1.0,4.0,127349,1,0 +800,1100105,19,1,1,1.0,6.0,137961,1,0 +801,1100105,19,1,1,1.0,4.0,139187,1,0 +802,1100105,19,1,1,1.0,4.0,111760,1,0 +803,1100105,19,1,1,1.0,6.0,106375,1,0 +804,1100105,19,1,1,1.0,4.0,111760,1,0 +805,1100105,19,1,1,0.0,4.0,136768,1,0 +806,1100105,19,1,1,1.0,4.0,111760,1,0 +807,1100105,19,1,1,0.0,6.0,142336,1,0 +808,1100105,19,1,1,0.0,6.0,147608,1,0 +809,1100105,19,1,1,0.0,4.0,105362,1,0 +810,1100105,19,1,1,0.0,4.0,136768,1,0 +811,1100105,19,1,1,0.0,6.0,124300,1,0 +812,1100105,19,1,1,1.0,4.0,111760,1,0 +813,1100105,19,1,1,0.0,4.0,117774,1,0 +814,1100105,19,1,1,0.0,6.0,105434,1,0 +815,1100105,19,1,1,0.0,4.0,119121,1,0 +816,1100105,19,1,1,0.0,6.0,105434,1,0 +817,1100105,19,1,1,0.0,4.0,114562,1,0 +818,1100105,19,1,1,1.0,6.0,137064,1,0 +819,1100105,19,1,1,1.0,4.0,106124,1,0 +820,1100105,19,1,1,0.0,4.0,143267,1,0 +821,1100105,19,1,1,1.0,6.0,105686,1,0 +822,1100105,19,1,1,0.0,6.0,141833,1,0 +823,1100105,19,1,1,1.0,4.0,121774,1,0 +824,1100105,19,1,1,0.0,4.0,122228,1,0 +825,1100105,19,1,1,1.0,4.0,101713,1,0 +826,1100105,19,1,1,0.0,4.0,105434,1,0 +827,1100105,19,1,1,1.0,4.0,101713,1,0 +828,1100105,19,1,1,0.0,6.0,141833,1,0 +829,1100105,19,1,1,0.0,6.0,103583,1,0 +830,1100105,19,1,1,1.0,4.0,124695,1,0 +831,1100105,19,1,1,0.0,6.0,111339,1,0 +832,1100105,19,1,1,1.0,6.0,110706,1,0 +833,1100105,19,1,1,1.0,4.0,121571,1,0 +834,1100105,19,1,1,1.0,4.0,121571,1,0 +835,1100105,19,1,1,0.0,4.0,143267,1,0 +836,1100105,19,1,1,1.0,4.0,115978,1,0 +837,1100105,19,1,1,1.0,6.0,149894,1,0 +838,1100105,19,1,1,0.0,6.0,116736,1,0 +839,1100105,19,1,1,1.0,6.0,106124,1,0 +840,1100105,19,1,1,1.0,4.0,103335,1,0 +841,1100105,19,1,1,1.0,6.0,104925,1,0 +842,1100105,19,1,1,0.0,6.0,131702,1,0 +843,1100105,19,1,1,1.0,4.0,131702,1,0 +844,1100105,19,1,1,1.0,4.0,112420,1,0 +845,1100105,19,1,1,1.0,6.0,123127,1,0 +846,1100105,19,1,1,1.0,6.0,107185,1,0 +847,1100105,19,1,1,1.0,4.0,101309,1,0 +848,1100105,19,1,1,0.0,4.0,108907,1,0 +849,1100105,19,1,1,1.0,4.0,109307,0,0 +850,1100105,19,1,1,2.0,6.0,128865,0,0 +851,1100105,19,1,1,0.0,4.0,112502,0,0 +852,1100105,19,1,1,2.0,6.0,128865,0,0 +853,1100105,19,1,1,0.0,4.0,107816,0,0 +854,1100105,19,1,1,1.0,6.0,126372,0,0 +855,1100105,19,1,1,0.0,4.0,58994,1,0 +856,1100105,19,1,1,1.0,4.0,53694,1,0 +857,1100105,19,1,1,1.0,6.0,61135,1,0 +858,1100105,19,1,1,1.0,6.0,61135,1,0 +859,1100105,19,1,1,1.0,6.0,82441,1,0 +860,1100105,19,1,1,0.0,4.0,99272,1,0 +861,1100105,19,1,1,1.0,6.0,99440,1,0 +862,1100105,19,1,1,1.0,6.0,70916,1,0 +863,1100105,19,1,1,0.0,4.0,93225,1,0 +864,1100105,19,1,1,1.0,4.0,82867,1,0 +865,1100105,19,1,1,0.0,6.0,60490,1,0 +866,1100105,19,1,1,1.0,6.0,99440,1,0 +867,1100105,19,1,1,1.0,4.0,81047,1,0 +868,1100105,19,1,1,0.0,6.0,79241,1,0 +869,1100105,19,1,1,1.0,4.0,52717,1,0 +870,1100105,19,1,1,1.0,6.0,67329,1,0 +871,1100105,19,1,1,0.0,4.0,63825,1,0 +872,1100105,19,1,1,0.0,6.0,53771,1,0 +873,1100105,19,1,1,1.0,4.0,71695,1,0 +874,1100105,19,1,1,1.0,4.0,53533,1,0 +875,1100105,19,1,1,0.0,4.0,63260,1,0 +876,1100105,19,1,1,1.0,6.0,90165,1,0 +877,1100105,19,1,1,0.0,4.0,75982,1,0 +878,1100105,19,1,1,1.0,4.0,77501,1,0 +879,1100105,19,1,1,0.0,6.0,81047,1,0 +880,1100105,19,1,1,0.0,4.0,94922,1,0 +881,1100105,19,1,1,0.0,4.0,74947,1,0 +882,1100105,19,1,1,1.0,4.0,84899,1,0 +883,1100105,19,1,1,1.0,4.0,74947,1,0 +884,1100105,19,1,1,0.0,6.0,75982,1,0 +885,1100105,19,1,1,0.0,4.0,94922,1,0 +886,1100105,19,1,1,1.0,6.0,70641,1,0 +887,1100105,19,1,1,1.0,4.0,77501,1,0 +888,1100105,19,1,1,1.0,4.0,82867,1,0 +889,1100105,19,1,1,1.0,4.0,65797,1,0 +890,1100105,19,1,1,0.0,6.0,79593,1,0 +891,1100105,19,1,1,0.0,6.0,79593,1,0 +892,1100105,19,1,1,0.0,6.0,81047,1,0 +893,1100105,19,1,1,1.0,4.0,84899,1,0 +894,1100105,19,1,1,1.0,6.0,60785,1,0 +895,1100105,19,1,1,0.0,6.0,58368,1,0 +896,1100105,19,1,1,1.0,4.0,77501,1,0 +897,1100105,19,1,1,0.0,4.0,83609,1,0 +898,1100105,19,1,1,0.0,6.0,75982,1,0 +899,1100105,19,1,1,1.0,4.0,70436,1,0 +900,1100105,19,1,1,1.0,6.0,93225,1,0 +901,1100105,19,1,1,0.0,6.0,89619,1,0 +902,1100105,19,1,1,0.0,6.0,75982,1,0 +903,1100105,19,1,1,0.0,4.0,83293,1,0 +904,1100105,19,1,1,0.0,6.0,75982,1,0 +905,1100105,19,1,1,0.0,6.0,95289,1,0 +906,1100105,19,1,1,0.0,4.0,83293,1,0 +907,1100105,19,1,1,1.0,6.0,84347,1,0 +908,1100105,19,1,1,0.0,6.0,75982,1,0 +909,1100105,19,1,1,0.0,6.0,70612,1,0 +910,1100105,19,1,1,0.0,4.0,90205,1,0 +911,1100105,19,1,1,1.0,6.0,84899,1,0 +912,1100105,19,1,1,0.0,6.0,79021,1,0 +913,1100105,19,1,1,1.0,6.0,87328,1,0 +914,1100105,19,1,1,0.0,6.0,79021,1,0 +915,1100105,19,1,1,1.0,6.0,61152,1,0 +916,1100105,19,1,1,0.0,4.0,82441,1,0 +917,1100105,19,1,1,0.0,6.0,82060,1,0 +918,1100105,19,1,1,0.0,4.0,81184,1,0 +919,1100105,19,1,1,0.0,6.0,81047,1,0 +920,1100105,19,1,1,1.0,6.0,68532,1,0 +921,1100105,19,1,1,1.0,4.0,95102,1,0 +922,1100105,19,1,1,0.0,6.0,72942,1,0 +923,1100105,19,1,1,0.0,6.0,81047,1,0 +924,1100105,19,1,1,0.0,6.0,65580,1,0 +925,1100105,19,1,1,0.0,4.0,58368,1,0 +926,1100105,19,1,1,1.0,6.0,62150,1,0 +927,1100105,19,1,1,1.0,6.0,75992,1,0 +928,1100105,19,1,1,0.0,6.0,72508,1,0 +929,1100105,19,1,1,0.0,6.0,85653,1,0 +930,1100105,19,1,1,0.0,4.0,71990,1,0 +931,1100105,19,1,1,1.0,6.0,61010,1,0 +932,1100105,19,1,1,0.0,6.0,83838,1,0 +933,1100105,19,1,1,0.0,4.0,73956,1,0 +934,1100105,19,1,1,1.0,4.0,79593,1,0 +935,1100105,19,1,1,0.0,6.0,76652,1,0 +936,1100105,19,1,1,1.0,6.0,50939,1,0 +937,1100105,19,1,1,1.0,6.0,52717,1,0 +938,1100105,19,1,1,0.0,6.0,61152,1,0 +939,1100105,19,1,1,1.0,6.0,58887,1,0 +940,1100105,19,1,1,0.0,6.0,75992,1,0 +941,1100105,19,1,1,0.0,6.0,63260,1,0 +942,1100105,19,1,1,0.0,4.0,66858,1,0 +943,1100105,19,1,1,1.0,4.0,87126,1,0 +944,1100105,19,1,1,1.0,6.0,92077,1,0 +945,1100105,19,1,1,0.0,4.0,91178,1,0 +946,1100105,19,1,1,0.0,6.0,55674,1,0 +947,1100105,19,1,1,0.0,6.0,55720,1,0 +948,1100105,19,1,1,1.0,6.0,54604,1,0 +949,1100105,19,1,1,0.0,4.0,96244,1,0 +950,1100105,19,1,1,0.0,6.0,62150,1,0 +951,1100105,19,1,1,1.0,4.0,98404,1,0 +952,1100105,19,1,1,1.0,6.0,55674,1,0 +953,1100105,19,1,1,0.0,6.0,83236,1,0 +954,1100105,19,1,1,0.0,6.0,63674,1,0 +955,1100105,19,1,1,0.0,4.0,58887,1,0 +956,1100105,19,1,1,0.0,6.0,72508,1,0 +957,1100105,19,1,1,1.0,4.0,65851,1,0 +958,1100105,19,1,1,0.0,4.0,72164,1,0 +959,1100105,19,1,1,0.0,4.0,50654,1,0 +960,1100105,19,1,1,0.0,6.0,66858,1,0 +961,1100105,19,1,1,1.0,6.0,57307,0,0 +962,1100105,19,1,1,0.0,4.0,99283,0,0 +963,1100105,19,1,1,1.0,6.0,51364,0,0 +964,1100105,19,1,1,0.0,6.0,64417,0,0 +965,1100105,19,1,1,0.0,4.0,51396,0,0 +966,1100105,19,1,1,0.0,6.0,67583,0,0 +967,1100105,19,1,1,0.0,4.0,59975,0,0 +968,1100105,19,1,1,1.0,4.0,74062,0,0 +969,1100105,19,1,1,1.0,4.0,72695,0,0 +970,1100105,19,1,1,0.0,6.0,56745,0,0 +971,1100105,19,1,1,1.0,4.0,78638,0,0 +972,1100105,19,1,1,0.0,4.0,63217,0,0 +973,1100105,19,1,1,1.0,6.0,83944,0,0 +974,1100105,19,1,1,1.0,6.0,79593,0,0 +975,1100105,19,1,1,1.0,6.0,45295,1,0 +976,1100105,19,1,1,0.0,4.0,34182,1,0 +977,1100105,19,1,1,0.0,4.0,40523,1,0 +978,1100105,19,1,1,1.0,4.0,30392,1,0 +979,1100105,19,1,1,0.0,4.0,25895,1,0 +980,1100105,19,1,1,1.0,4.0,32120,1,0 +981,1100105,19,1,1,1.0,4.0,27353,1,0 +982,1100105,19,1,1,0.0,6.0,42131,1,0 +983,1100105,19,1,1,1.0,4.0,35332,1,0 +984,1100105,19,1,1,1.0,4.0,44572,1,0 +985,1100105,19,1,1,1.0,4.0,30392,1,0 +986,1100105,19,1,1,1.0,4.0,35332,1,0 +987,1100105,19,1,1,0.0,6.0,27837,1,0 +988,1100105,19,1,1,0.0,6.0,42173,1,0 +989,1100105,19,1,1,1.0,6.0,47109,1,0 +990,1100105,19,1,1,0.0,6.0,45589,1,0 +991,1100105,19,1,1,0.0,6.0,28670,1,0 +992,1100105,19,1,1,0.0,4.0,41433,1,0 +993,1100105,19,1,1,1.0,6.0,45589,1,0 +994,1100105,19,1,1,0.0,6.0,37143,1,0 +995,1100105,19,1,1,1.0,4.0,25696,1,0 +996,1100105,19,1,1,0.0,6.0,46391,1,0 +997,1100105,19,1,1,1.0,6.0,31630,1,0 +998,1100105,19,1,1,0.0,6.0,43723,1,0 +999,1100105,19,1,1,0.0,4.0,28174,1,0 +1000,1100105,19,1,1,0.0,6.0,32120,1,0 +1001,1100105,19,1,1,1.0,6.0,29521,0,0 +1002,1100105,19,1,1,0.0,6.0,31709,0,0 +1003,1100105,19,1,1,0.0,6.0,42490,0,0 +1004,1100105,19,1,1,0.0,4.0,44071,0,0 +1005,1100105,19,1,1,0.0,4.0,29210,0,0 +1006,1100105,19,1,1,0.0,6.0,30453,0,0 +1007,1100105,19,1,1,0.0,6.0,32475,0,0 +1008,1100105,19,1,1,0.0,6.0,28386,0,0 +1009,1100105,19,1,1,0.0,4.0,25327,0,0 +1010,1100105,19,1,1,0.0,4.0,29582,0,0 +1011,1100105,19,1,1,0.0,6.0,40219,0,0 +1012,1100105,19,1,1,0.0,4.0,27412,0,0 +1013,1100105,19,1,1,0.0,6.0,27592,0,0 +1014,1100105,19,1,1,0.0,4.0,41739,0,0 +1015,1100105,19,1,1,1.0,6.0,22816,1,0 +1016,1100105,19,1,1,0.0,6.0,21959,1,0 +1017,1100105,19,1,1,0.0,6.0,19700,1,0 +1018,1100105,19,1,1,1.0,4.0,9197,1,0 +1019,1100105,19,1,1,0.0,6.0,2569,1,0 +1020,1100105,19,1,1,1.0,4.0,11914,1,0 +1021,1100105,19,1,1,1.0,4.0,18645,1,0 +1022,1100105,19,1,1,0.0,6.0,8489,1,0 +1023,1100105,19,1,1,0.0,6.0,103,1,0 +1024,1100105,19,1,1,0.0,4.0,19272,1,0 +1025,1100105,19,1,1,1.0,4.0,10358,1,0 +1026,1100105,19,1,1,0.0,4.0,15815,1,0 +1027,1100105,19,1,1,0.0,6.0,103,1,0 +1028,1100105,19,1,1,0.0,6.0,103,1,0 +1029,1100105,19,1,1,0.0,4.0,12238,1,0 +1030,1100105,19,1,1,0.0,4.0,12238,1,0 +1031,1100105,19,1,1,0.0,4.0,11394,1,0 +1032,1100105,19,1,1,0.0,4.0,4217,1,0 +1033,1100105,19,1,1,0.0,6.0,10358,1,0 +1034,1100105,19,1,1,1.0,6.0,4558,1,0 +1035,1100105,19,1,1,0.0,6.0,10612,1,0 +1036,1100105,19,1,1,0.0,6.0,21224,1,0 +1037,1100105,19,1,1,0.0,6.0,10543,1,0 +1038,1100105,19,1,1,1.0,6.0,6326,1,0 +1039,1100105,19,1,1,0.0,4.0,14082,1,0 +1040,1100105,19,1,1,0.0,6.0,18852,0,0 +1041,1100105,19,1,1,0.0,6.0,8779,0,0 +1042,1100105,19,1,1,0.0,6.0,9172,0,0 +1043,1100105,19,1,1,0.0,6.0,11394,0,0 +1044,1100105,19,1,1,0.0,6.0,1450,0,0 +1045,1100105,19,1,1,0.0,6.0,11394,0,0 +1046,1100105,19,1,1,0.0,6.0,9067,0,0 +1047,1100105,19,1,1,0.0,6.0,18094,0,0 +1048,1100105,19,1,1,0.0,6.0,10029,0,0 +1049,1100105,19,1,1,0.0,6.0,11394,0,0 +1050,1100105,19,1,1,0.0,6.0,8993,0,0 +1051,1100105,19,1,1,0.0,6.0,11144,0,0 +1052,1100105,19,1,1,0.0,6.0,0,0,0 +1053,1100105,19,1,1,0.0,6.0,18748,0,0 +1054,1100105,19,1,1,0.0,6.0,8104,0,0 +1055,1100105,19,1,1,0.0,6.0,8104,0,0 +1056,1100105,19,1,1,0.0,6.0,8104,0,0 +1057,1100105,19,1,1,1.0,4.0,3163,0,0 +1058,1100105,19,1,1,0.0,4.0,23876,0,0 +1059,1100105,19,1,1,0.0,6.0,20198,0,0 +1060,1100105,19,1,1,0.0,6.0,19505,0,0 +1061,1100105,19,1,1,1.0,6.0,22592,0,0 +1062,1100105,19,1,1,0.0,6.0,20198,0,0 +1063,1100105,19,1,1,1.0,6.0,5166,0,0 +1064,1100105,19,1,1,0.0,6.0,9126,0,0 +1065,1100105,19,1,1,0.0,6.0,11808,0,0 +1066,1100105,19,1,1,0.0,6.0,13068,0,0 +1067,1100105,19,1,1,0.0,4.0,4650,0,0 +1068,1100105,19,1,1,0.0,6.0,0,0,0 +1069,1100105,19,1,1,1.0,6.0,0,0,0 +1070,1100105,19,1,1,0.0,6.0,13673,0,0 +1071,1100105,19,1,1,0.0,4.0,13465,0,0 +1072,1100105,19,1,1,0.0,6.0,9528,0,0 +1073,1100105,19,1,1,1.0,6.0,9117,0,0 +1074,1100105,19,1,1,0.0,4.0,1606,0,0 +1075,1100105,19,1,1,0.0,6.0,7802,0,0 +1076,1100105,19,1,1,0.0,4.0,10543,0,0 +1077,1100105,19,1,1,0.0,6.0,9207,0,0 +1078,1100105,19,1,1,1.0,4.0,6115,0,0 +1079,1100105,19,1,1,0.0,6.0,9100,0,0 +1080,1100105,19,1,1,0.0,6.0,9207,0,0 +1081,1100105,19,1,1,0.0,4.0,278,0,0 +1082,1100105,19,1,1,1.0,6.0,14132,0,0 +1083,1100105,19,1,1,0.0,6.0,15196,0,0 +1084,1100105,19,1,1,1.0,6.0,24860,0,0 +1085,1100105,19,1,1,0.0,6.0,9528,0,0 +1086,1100105,19,1,1,1.0,6.0,0,0,0 +1087,1100105,19,1,1,0.0,6.0,0,0,0 +1088,1100105,19,1,1,0.0,6.0,0,0,0 +1089,1100105,19,1,1,0.0,6.0,12741,0,0 +1090,1100105,19,1,1,1.0,4.0,1243,0,0 +1091,1100105,19,1,1,0.0,4.0,0,0,0 +1092,1100105,19,1,1,0.0,4.0,9489,0,0 +1093,1100105,19,1,1,0.0,4.0,23199,0,0 +1094,1100105,19,1,1,0.0,4.0,0,0,0 +1095,1100105,19,1,1,0.0,4.0,0,0,0 +1096,1100105,19,1,1,0.0,4.0,8886,0,0 +1097,1100105,19,1,1,0.0,6.0,0,0,0 +1098,1100105,19,1,1,0.0,6.0,1581,0,0 +1099,1100105,19,1,1,0.0,6.0,3502,0,0 +1100,1100105,19,1,1,1.0,4.0,3039,0,0 +1101,1100105,19,1,1,0.0,6.0,15918,0,0 +1102,1100105,19,1,1,1.0,6.0,0,0,0 +1103,1100105,19,1,1,0.0,6.0,2653,0,0 +1104,1100105,19,1,1,1.0,4.0,4603,0,0 +1105,1100105,19,1,1,0.0,4.0,0,0,0 +1106,1100105,19,1,1,1.0,6.0,2890,0,0 +1107,1100105,19,1,1,0.0,6.0,5306,0,0 +1108,1100105,19,1,1,1.0,6.0,0,0,0 +1109,1100105,20,1,4,0.0,1.0,49250,2,0 +1110,1100105,20,1,3,1.0,1.0,208781,2,1 +1111,1100105,20,1,3,1.0,1.0,298717,2,1 +1112,1100105,20,1,3,2.0,1.0,361887,2,1 +1113,1100105,20,1,3,1.0,1.0,247325,2,1 +1114,1100105,20,1,3,0.0,1.0,256266,2,1 +1115,1100105,20,1,3,2.0,1.0,208849,1,0 +1116,1100105,20,1,3,1.0,1.0,238760,1,1 +1117,1100105,20,1,3,1.0,1.0,218249,1,1 +1118,1100105,20,1,3,1.0,1.0,182014,2,1 +1119,1100105,20,1,3,1.0,1.0,152818,1,1 +1120,1100105,20,1,3,2.0,5.0,135838,2,0 +1121,1100105,20,1,3,1.0,1.0,145390,2,1 +1122,1100105,20,1,3,2.0,3.0,476,1,1 +1123,1100105,20,1,3,0.0,3.0,19112,0,0 +1124,1100105,20,1,3,1.0,3.0,3608,0,1 +1125,1100105,20,1,2,1.0,1.0,379564,2,0 +1126,1100105,20,1,2,1.0,1.0,310751,2,0 +1127,1100105,20,1,2,1.0,1.0,227884,2,0 +1128,1100105,20,1,2,2.0,1.0,280516,2,0 +1129,1100105,20,1,2,1.0,1.0,284412,2,0 +1130,1100105,20,1,2,1.0,5.0,419535,2,0 +1131,1100105,20,1,2,1.0,1.0,234534,2,0 +1132,1100105,20,1,2,0.0,1.0,503028,2,0 +1133,1100105,20,1,2,1.0,1.0,219842,2,0 +1134,1100105,20,1,2,1.0,1.0,208207,2,0 +1135,1100105,20,1,2,1.0,1.0,211315,2,0 +1136,1100105,20,1,2,1.0,7.0,268858,2,0 +1137,1100105,20,1,2,1.0,5.0,305572,2,0 +1138,1100105,20,1,2,0.0,1.0,326847,2,0 +1139,1100105,20,1,2,0.0,5.0,843172,2,0 +1140,1100105,20,1,2,2.0,5.0,295216,2,0 +1141,1100105,20,1,2,1.0,5.0,265310,2,0 +1142,1100105,20,1,2,1.0,5.0,323678,2,0 +1143,1100105,20,1,2,1.0,5.0,310943,2,0 +1144,1100105,20,1,2,1.0,1.0,234064,2,0 +1145,1100105,20,1,2,1.0,1.0,323678,2,0 +1146,1100105,20,1,2,1.0,1.0,409086,2,0 +1147,1100105,20,1,2,1.0,1.0,318112,1,0 +1148,1100105,20,1,2,1.0,1.0,247461,1,0 +1149,1100105,20,1,2,1.0,1.0,217815,1,0 +1150,1100105,20,1,2,1.0,5.0,581123,1,0 +1151,1100105,20,1,2,1.0,5.0,212248,1,0 +1152,1100105,20,1,2,2.0,1.0,290345,0,0 +1153,1100105,20,1,2,1.0,2.0,311426,0,0 +1154,1100105,20,1,2,0.0,5.0,160600,2,0 +1155,1100105,20,1,2,1.0,1.0,156675,2,0 +1156,1100105,20,1,2,1.0,1.0,169533,2,0 +1157,1100105,20,1,2,0.0,7.0,152818,2,0 +1158,1100105,20,1,2,0.0,1.0,160279,2,0 +1159,1100105,20,1,2,1.0,1.0,196540,2,0 +1160,1100105,20,1,2,2.0,1.0,198074,2,0 +1161,1100105,20,1,2,2.0,1.0,173967,2,0 +1162,1100105,20,1,2,0.0,1.0,168841,2,0 +1163,1100105,20,1,2,1.0,1.0,158172,2,0 +1164,1100105,20,1,2,1.0,5.0,153880,2,0 +1165,1100105,20,1,2,0.0,5.0,197194,1,0 +1166,1100105,20,1,2,1.0,7.0,154176,1,0 +1167,1100105,20,1,2,0.0,5.0,153106,1,0 +1168,1100105,20,1,2,1.0,1.0,169798,1,0 +1169,1100105,20,1,2,2.0,1.0,108762,2,0 +1170,1100105,20,1,2,1.0,1.0,136768,2,0 +1171,1100105,20,1,2,0.0,7.0,126693,2,0 +1172,1100105,20,1,2,1.0,5.0,133834,2,0 +1173,1100105,20,1,2,1.0,5.0,118086,2,0 +1174,1100105,20,1,2,0.0,5.0,135975,2,0 +1175,1100105,20,1,2,0.0,7.0,130738,2,0 +1176,1100105,20,1,2,0.0,1.0,118859,1,0 +1177,1100105,20,1,2,1.0,1.0,117238,1,0 +1178,1100105,20,1,2,1.0,5.0,143981,1,0 +1179,1100105,20,1,2,1.0,7.0,53533,2,0 +1180,1100105,20,1,2,1.0,1.0,55502,1,0 +1181,1100105,20,1,2,1.0,1.0,93225,1,0 +1182,1100105,20,1,2,1.0,1.0,99572,1,0 +1183,1100105,20,1,2,1.0,5.0,58887,1,0 +1184,1100105,20,1,2,0.0,1.0,42469,0,0 +1185,1100105,20,1,2,0.0,7.0,5306,1,0 +1186,1100105,20,1,1,1.0,4.0,288732,1,0 +1187,1100105,20,1,1,1.0,6.0,327625,1,0 +1188,1100105,20,1,1,1.0,4.0,233012,1,0 +1189,1100105,20,1,1,2.0,6.0,347026,1,0 +1190,1100105,20,1,1,0.0,4.0,717272,1,0 +1191,1100105,20,1,1,1.0,6.0,207177,1,0 +1192,1100105,20,1,1,0.0,4.0,284673,1,0 +1193,1100105,20,1,1,0.0,4.0,717272,1,0 +1194,1100105,20,1,1,1.0,4.0,228167,1,0 +1195,1100105,20,1,1,0.0,6.0,325265,1,0 +1196,1100105,20,1,1,1.0,4.0,338739,1,0 +1197,1100105,20,1,1,0.0,4.0,717272,1,0 +1198,1100105,20,1,1,1.0,6.0,220569,1,0 +1199,1100105,20,1,1,0.0,6.0,237469,1,0 +1200,1100105,20,1,1,0.0,6.0,236656,1,0 +1201,1100105,20,1,1,0.0,6.0,233012,1,0 +1202,1100105,20,1,1,0.0,4.0,233012,1,0 +1203,1100105,20,1,1,0.0,6.0,215789,1,0 +1204,1100105,20,1,1,0.0,6.0,215789,1,0 +1205,1100105,20,1,1,1.0,4.0,243143,1,0 +1206,1100105,20,1,1,0.0,6.0,505151,0,0 +1207,1100105,20,1,1,0.0,6.0,183603,1,0 +1208,1100105,20,1,1,0.0,4.0,181452,1,0 +1209,1100105,20,1,1,1.0,6.0,192721,1,0 +1210,1100105,20,1,1,1.0,4.0,174252,1,0 +1211,1100105,20,1,1,1.0,4.0,167161,1,0 +1212,1100105,20,1,1,0.0,4.0,150244,1,0 +1213,1100105,20,1,1,1.0,4.0,176092,1,0 +1214,1100105,20,1,1,1.0,4.0,156523,1,0 +1215,1100105,20,1,1,1.0,4.0,152035,1,0 +1216,1100105,20,1,1,1.0,4.0,167161,1,0 +1217,1100105,20,1,1,0.0,4.0,163108,1,0 +1218,1100105,20,1,1,0.0,6.0,176092,1,0 +1219,1100105,20,1,1,0.0,4.0,180650,1,0 +1220,1100105,20,1,1,0.0,6.0,163431,1,0 +1221,1100105,20,1,1,0.0,6.0,163431,1,0 +1222,1100105,20,1,1,0.0,6.0,111430,1,0 +1223,1100105,20,1,1,0.0,4.0,103583,1,0 +1224,1100105,20,1,1,1.0,4.0,123127,1,0 +1225,1100105,20,1,1,0.0,6.0,141757,1,0 +1226,1100105,20,1,1,1.0,6.0,139187,1,0 +1227,1100105,20,1,1,0.0,4.0,113063,1,0 +1228,1100105,20,1,1,1.0,4.0,134658,1,0 +1229,1100105,20,1,1,1.0,4.0,118613,1,0 +1230,1100105,20,1,1,0.0,4.0,143391,1,0 +1231,1100105,20,1,1,1.0,6.0,124610,1,0 +1232,1100105,20,1,1,0.0,6.0,129479,1,0 +1233,1100105,20,1,1,1.0,6.0,119121,1,0 +1234,1100105,20,1,1,1.0,4.0,143728,1,0 +1235,1100105,20,1,1,1.0,6.0,117032,1,0 +1236,1100105,20,1,1,1.0,6.0,124300,1,0 +1237,1100105,20,1,1,1.0,6.0,114045,1,0 +1238,1100105,20,1,1,1.0,6.0,102322,1,0 +1239,1100105,20,1,1,0.0,6.0,134658,1,0 +1240,1100105,20,1,1,1.0,4.0,120157,1,0 +1241,1100105,20,1,1,1.0,6.0,136768,1,0 +1242,1100105,20,1,1,0.0,4.0,103855,1,0 +1243,1100105,20,1,1,0.0,6.0,125624,1,0 +1244,1100105,20,1,1,1.0,4.0,126521,1,0 +1245,1100105,20,1,1,0.0,6.0,100162,1,0 +1246,1100105,20,1,1,0.0,6.0,142336,1,0 +1247,1100105,20,1,1,0.0,4.0,136768,1,0 +1248,1100105,20,1,1,0.0,6.0,124300,1,0 +1249,1100105,20,1,1,0.0,4.0,119121,1,0 +1250,1100105,20,1,1,0.0,6.0,142336,1,0 +1251,1100105,20,1,1,0.0,6.0,115632,1,0 +1252,1100105,20,1,1,0.0,6.0,101309,1,0 +1253,1100105,20,1,1,1.0,4.0,116703,1,0 +1254,1100105,20,1,1,0.0,6.0,102784,1,0 +1255,1100105,20,1,1,0.0,6.0,131702,1,0 +1256,1100105,20,1,1,0.0,4.0,101309,1,0 +1257,1100105,20,1,1,0.0,4.0,112502,0,0 +1258,1100105,20,1,1,0.0,6.0,61528,1,0 +1259,1100105,20,1,1,1.0,4.0,54604,1,0 +1260,1100105,20,1,1,1.0,4.0,82867,1,0 +1261,1100105,20,1,1,1.0,4.0,81047,1,0 +1262,1100105,20,1,1,0.0,6.0,53694,1,0 +1263,1100105,20,1,1,0.0,6.0,64735,1,0 +1264,1100105,20,1,1,0.0,6.0,58368,1,0 +1265,1100105,20,1,1,1.0,4.0,64221,1,0 +1266,1100105,20,1,1,1.0,6.0,65851,1,0 +1267,1100105,20,1,1,0.0,4.0,96042,1,0 +1268,1100105,20,1,1,1.0,6.0,96244,1,0 +1269,1100105,20,1,1,1.0,6.0,92782,1,0 +1270,1100105,20,1,1,0.0,6.0,75982,1,0 +1271,1100105,20,1,1,1.0,6.0,88046,1,0 +1272,1100105,20,1,1,0.0,6.0,58017,1,0 +1273,1100105,20,1,1,0.0,6.0,97644,1,0 +1274,1100105,20,1,1,0.0,4.0,83384,1,0 +1275,1100105,20,1,1,1.0,6.0,67329,1,0 +1276,1100105,20,1,1,1.0,6.0,67329,1,0 +1277,1100105,20,1,1,1.0,6.0,54604,1,0 +1278,1100105,20,1,1,1.0,6.0,67329,1,0 +1279,1100105,20,1,1,0.0,4.0,99636,1,0 +1280,1100105,20,1,1,1.0,6.0,96360,1,0 +1281,1100105,20,1,1,0.0,6.0,93235,1,0 +1282,1100105,20,1,1,0.0,6.0,56245,1,0 +1283,1100105,20,1,1,0.0,4.0,56745,0,0 +1284,1100105,20,1,1,1.0,6.0,74158,0,0 +1285,1100105,20,1,1,1.0,6.0,63260,0,0 +1286,1100105,20,1,1,1.0,4.0,49029,1,0 +1287,1100105,20,1,1,0.0,6.0,43829,1,0 +1288,1100105,20,1,1,1.0,6.0,42826,1,0 +1289,1100105,20,1,1,0.0,6.0,42173,1,0 +1290,1100105,20,1,1,1.0,6.0,48817,1,0 +1291,1100105,20,1,1,1.0,6.0,38700,0,0 +1292,1100105,20,1,1,0.0,6.0,43157,0,0 +1293,1100105,20,1,1,0.0,4.0,34850,0,0 +1294,1100105,20,1,1,1.0,6.0,44541,0,0 +1295,1100105,20,1,1,1.0,4.0,18645,1,0 +1296,1100105,20,1,1,0.0,4.0,7216,1,0 +1297,1100105,20,1,1,0.0,4.0,12238,1,0 +1298,1100105,20,1,1,0.0,6.0,6326,1,0 +1299,1100105,20,1,1,1.0,4.0,16209,1,0 +1300,1100105,20,1,1,0.0,6.0,11497,0,0 +1301,1100105,20,1,1,0.0,6.0,1450,0,0 +1302,1100105,20,1,1,1.0,6.0,24040,0,0 +1303,1100105,20,1,1,0.0,4.0,10234,0,0 +1304,1100105,20,1,1,0.0,4.0,23876,0,0 +1305,1100105,20,1,1,0.0,6.0,9944,0,0 +1306,1100105,20,1,1,1.0,6.0,23402,0,0 +1307,1100105,20,1,1,0.0,4.0,3163,0,0 +1308,1100105,20,1,1,0.0,6.0,9100,0,0 +1309,1100105,20,1,1,1.0,6.0,14132,0,0 +1310,1100105,20,1,1,1.0,4.0,1243,0,0 +1311,1100105,20,1,1,0.0,4.0,1035,0,0 +1312,1100105,20,1,1,0.0,6.0,0,0,0 +1313,1100105,20,1,1,0.0,6.0,3502,0,0 +1314,1100105,20,1,1,0.0,6.0,0,0,0 +1315,1100105,20,1,1,1.0,6.0,0,0,0 +1316,1100105,24,1,6,2.0,3.0,397647,1,0 +1317,1100105,24,1,9,0.0,2.0,17192,2,1 +1318,1100105,24,1,3,2.0,1.0,285580,2,0 +1319,1100105,24,1,3,1.0,1.0,1013567,2,1 +1320,1100105,24,1,3,1.0,1.0,249466,2,1 +1321,1100105,24,1,3,1.0,1.0,260423,2,1 +1322,1100105,24,1,3,1.0,1.0,208781,2,1 +1323,1100105,24,1,3,1.0,3.0,279676,2,1 +1324,1100105,24,1,3,2.0,1.0,361887,2,1 +1325,1100105,24,1,3,0.0,1.0,256266,2,1 +1326,1100105,24,1,3,2.0,1.0,208849,1,0 +1327,1100105,24,1,3,2.0,2.0,201380,1,1 +1328,1100105,24,1,3,1.0,1.0,238760,1,1 +1329,1100105,24,1,3,1.0,1.0,218249,1,1 +1330,1100105,24,1,3,1.0,1.0,191890,2,1 +1331,1100105,24,1,3,1.0,1.0,152818,1,1 +1332,1100105,24,1,3,2.0,5.0,135838,2,0 +1333,1100105,24,1,3,0.0,1.0,121571,2,1 +1334,1100105,24,1,3,2.0,7.0,124610,1,0 +1335,1100105,24,1,3,1.0,1.0,133830,0,0 +1336,1100105,24,1,3,0.0,1.0,15983,0,0 +1337,1100105,24,1,2,1.0,1.0,362543,2,0 +1338,1100105,24,1,2,2.0,7.0,342722,2,0 +1339,1100105,24,1,2,1.0,1.0,227884,2,0 +1340,1100105,24,1,2,1.0,5.0,379924,2,0 +1341,1100105,24,1,2,1.0,1.0,295213,2,0 +1342,1100105,24,1,2,2.0,1.0,747665,2,0 +1343,1100105,24,1,2,1.0,1.0,284412,2,0 +1344,1100105,24,1,2,0.0,5.0,419524,2,0 +1345,1100105,24,1,2,0.0,7.0,329767,2,0 +1346,1100105,24,1,2,1.0,1.0,344452,2,0 +1347,1100105,24,1,2,1.0,5.0,413279,2,0 +1348,1100105,24,1,2,2.0,1.0,374618,2,0 +1349,1100105,24,1,2,1.0,1.0,208207,2,0 +1350,1100105,24,1,2,0.0,7.0,238760,2,0 +1351,1100105,24,1,2,2.0,7.0,390510,2,0 +1352,1100105,24,1,2,1.0,1.0,207167,2,0 +1353,1100105,24,1,2,1.0,1.0,384976,2,0 +1354,1100105,24,1,2,1.0,1.0,254816,2,0 +1355,1100105,24,1,2,2.0,5.0,295216,2,0 +1356,1100105,24,1,2,1.0,3.0,241218,2,0 +1357,1100105,24,1,2,1.0,5.0,307869,2,0 +1358,1100105,24,1,2,1.0,5.0,252575,2,0 +1359,1100105,24,1,2,1.0,5.0,243649,2,0 +1360,1100105,24,1,2,1.0,1.0,210869,2,0 +1361,1100105,24,1,2,0.0,1.0,234025,2,0 +1362,1100105,24,1,2,1.0,1.0,207684,2,0 +1363,1100105,24,1,2,1.0,1.0,242710,1,0 +1364,1100105,24,1,2,2.0,1.0,304705,1,0 +1365,1100105,24,1,2,1.0,5.0,581123,1,0 +1366,1100105,24,1,2,3.0,1.0,758074,1,0 +1367,1100105,24,1,2,1.0,1.0,415992,1,0 +1368,1100105,24,1,2,1.0,5.0,212248,1,0 +1369,1100105,24,1,2,2.0,1.0,290345,0,0 +1370,1100105,24,1,2,1.0,2.0,311426,0,0 +1371,1100105,24,1,2,0.0,5.0,160600,2,0 +1372,1100105,24,1,2,0.0,1.0,159519,2,0 +1373,1100105,24,1,2,2.0,1.0,194207,2,0 +1374,1100105,24,1,2,0.0,1.0,189558,2,0 +1375,1100105,24,1,2,0.0,1.0,197553,2,0 +1376,1100105,24,1,2,1.0,5.0,187146,2,0 +1377,1100105,24,1,2,1.0,7.0,163108,2,0 +1378,1100105,24,1,2,0.0,5.0,192721,2,0 +1379,1100105,24,1,2,0.0,5.0,178289,2,0 +1380,1100105,24,1,2,1.0,1.0,186407,2,0 +1381,1100105,24,1,2,1.0,5.0,199386,2,0 +1382,1100105,24,1,2,0.0,5.0,158043,2,0 +1383,1100105,24,1,2,1.0,7.0,196540,2,0 +1384,1100105,24,1,2,0.0,1.0,161590,2,0 +1385,1100105,24,1,2,1.0,1.0,170809,1,0 +1386,1100105,24,1,2,0.0,5.0,197194,1,0 +1387,1100105,24,1,2,0.0,1.0,171307,1,0 +1388,1100105,24,1,2,0.0,1.0,164794,1,0 +1389,1100105,24,1,2,1.0,7.0,175317,1,0 +1390,1100105,24,1,2,1.0,1.0,169798,1,0 +1391,1100105,24,1,2,2.0,1.0,111744,2,0 +1392,1100105,24,1,2,2.0,5.0,135754,2,0 +1393,1100105,24,1,2,0.0,5.0,145499,2,0 +1394,1100105,24,1,2,0.0,1.0,137064,2,0 +1395,1100105,24,1,2,1.0,7.0,124169,2,0 +1396,1100105,24,1,2,1.0,1.0,145535,2,0 +1397,1100105,24,1,2,1.0,7.0,126521,2,0 +1398,1100105,24,1,2,0.0,5.0,120981,2,0 +1399,1100105,24,1,2,0.0,7.0,130738,2,0 +1400,1100105,24,1,2,0.0,1.0,107227,1,0 +1401,1100105,24,1,2,2.0,1.0,121571,1,0 +1402,1100105,24,1,2,2.0,1.0,121571,1,0 +1403,1100105,24,1,2,2.0,7.0,108401,1,0 +1404,1100105,24,1,2,1.0,1.0,122382,0,0 +1405,1100105,24,1,2,1.0,5.0,88046,2,0 +1406,1100105,24,1,2,1.0,5.0,85243,2,0 +1407,1100105,24,1,2,1.0,1.0,55502,1,0 +1408,1100105,24,1,2,1.0,1.0,93225,1,0 +1409,1100105,24,1,2,1.0,5.0,68532,1,0 +1410,1100105,24,1,2,1.0,3.0,95639,1,0 +1411,1100105,24,1,2,1.0,1.0,71952,1,0 +1412,1100105,24,1,2,1.0,1.0,88046,1,0 +1413,1100105,24,1,2,1.0,1.0,36066,0,0 +1414,1100105,24,1,2,0.0,7.0,5306,1,0 +1415,1100105,24,1,1,1.0,4.0,288732,1,0 +1416,1100105,24,1,1,1.0,6.0,327625,1,0 +1417,1100105,24,1,1,0.0,6.0,327625,1,0 +1418,1100105,24,1,1,0.0,6.0,235135,1,0 +1419,1100105,24,1,1,1.0,4.0,623131,1,0 +1420,1100105,24,1,1,1.0,4.0,617642,1,0 +1421,1100105,24,1,1,1.0,6.0,231372,1,0 +1422,1100105,24,1,1,1.0,6.0,306212,1,0 +1423,1100105,24,1,1,2.0,6.0,308994,1,0 +1424,1100105,24,1,1,1.0,4.0,256961,1,0 +1425,1100105,24,1,1,0.0,4.0,234534,1,0 +1426,1100105,24,1,1,1.0,4.0,237227,1,0 +1427,1100105,24,1,1,1.0,4.0,256961,1,0 +1428,1100105,24,1,1,0.0,4.0,677255,1,0 +1429,1100105,24,1,1,2.0,4.0,212750,1,0 +1430,1100105,24,1,1,1.0,4.0,241117,1,0 +1431,1100105,24,1,1,1.0,4.0,623131,1,0 +1432,1100105,24,1,1,2.0,4.0,212750,1,0 +1433,1100105,24,1,1,1.0,4.0,624416,1,0 +1434,1100105,24,1,1,0.0,4.0,235569,1,0 +1435,1100105,24,1,1,0.0,6.0,215789,1,0 +1436,1100105,24,1,1,0.0,4.0,257923,1,0 +1437,1100105,24,1,1,0.0,6.0,206131,1,0 +1438,1100105,24,1,1,1.0,6.0,443036,0,0 +1439,1100105,24,1,1,0.0,6.0,165734,1,0 +1440,1100105,24,1,1,0.0,4.0,162896,1,0 +1441,1100105,24,1,1,1.0,4.0,196809,1,0 +1442,1100105,24,1,1,1.0,6.0,155621,1,0 +1443,1100105,24,1,1,1.0,4.0,152035,1,0 +1444,1100105,24,1,1,1.0,6.0,169798,1,0 +1445,1100105,24,1,1,0.0,4.0,163108,1,0 +1446,1100105,24,1,1,0.0,6.0,192721,1,0 +1447,1100105,24,1,1,1.0,6.0,178802,1,0 +1448,1100105,24,1,1,0.0,4.0,179238,1,0 +1449,1100105,24,1,1,1.0,6.0,178802,1,0 +1450,1100105,24,1,1,1.0,4.0,164492,1,0 +1451,1100105,24,1,1,0.0,4.0,187367,1,0 +1452,1100105,24,1,1,1.0,4.0,159186,1,0 +1453,1100105,24,1,1,0.0,4.0,180650,1,0 +1454,1100105,24,1,1,0.0,4.0,151825,1,0 +1455,1100105,24,1,1,0.0,6.0,166703,1,0 +1456,1100105,24,1,1,0.0,6.0,124383,1,0 +1457,1100105,24,1,1,1.0,6.0,149894,1,0 +1458,1100105,24,1,1,1.0,4.0,123127,1,0 +1459,1100105,24,1,1,0.0,4.0,105434,1,0 +1460,1100105,24,1,1,0.0,4.0,124165,1,0 +1461,1100105,24,1,1,1.0,4.0,123127,1,0 +1462,1100105,24,1,1,1.0,4.0,121571,1,0 +1463,1100105,24,1,1,1.0,6.0,103583,1,0 +1464,1100105,24,1,1,1.0,4.0,105593,1,0 +1465,1100105,24,1,1,0.0,4.0,106124,1,0 +1466,1100105,24,1,1,0.0,6.0,107727,1,0 +1467,1100105,24,1,1,0.0,6.0,139187,1,0 +1468,1100105,24,1,1,0.0,4.0,139838,1,0 +1469,1100105,24,1,1,0.0,4.0,127349,1,0 +1470,1100105,24,1,1,1.0,6.0,102322,1,0 +1471,1100105,24,1,1,1.0,4.0,138802,1,0 +1472,1100105,24,1,1,0.0,6.0,134658,1,0 +1473,1100105,24,1,1,0.0,4.0,106124,1,0 +1474,1100105,24,1,1,0.0,4.0,103635,1,0 +1475,1100105,24,1,1,1.0,4.0,126521,1,0 +1476,1100105,24,1,1,1.0,4.0,120195,1,0 +1477,1100105,24,1,1,0.0,4.0,106124,1,0 +1478,1100105,24,1,1,1.0,6.0,136900,1,0 +1479,1100105,24,1,1,0.0,6.0,105434,1,0 +1480,1100105,24,1,1,1.0,6.0,137592,1,0 +1481,1100105,24,1,1,0.0,4.0,127349,1,0 +1482,1100105,24,1,1,0.0,4.0,106375,1,0 +1483,1100105,24,1,1,1.0,4.0,137961,1,0 +1484,1100105,24,1,1,0.0,4.0,138170,1,0 +1485,1100105,24,1,1,1.0,6.0,126521,1,0 +1486,1100105,24,1,1,0.0,4.0,101217,1,0 +1487,1100105,24,1,1,1.0,4.0,111760,1,0 +1488,1100105,24,1,1,1.0,4.0,130407,1,0 +1489,1100105,24,1,1,0.0,4.0,114562,1,0 +1490,1100105,24,1,1,0.0,4.0,133749,1,0 +1491,1100105,24,1,1,1.0,6.0,113466,1,0 +1492,1100105,24,1,1,0.0,6.0,134658,1,0 +1493,1100105,24,1,1,1.0,4.0,118532,1,0 +1494,1100105,24,1,1,0.0,6.0,119915,1,0 +1495,1100105,24,1,1,0.0,6.0,119915,1,0 +1496,1100105,24,1,1,1.0,4.0,145017,1,0 +1497,1100105,24,1,1,0.0,4.0,101309,1,0 +1498,1100105,24,1,1,1.0,4.0,129157,0,0 +1499,1100105,24,1,1,0.0,4.0,65775,1,0 +1500,1100105,24,1,1,1.0,6.0,56745,1,0 +1501,1100105,24,1,1,1.0,6.0,70916,1,0 +1502,1100105,24,1,1,0.0,4.0,76652,1,0 +1503,1100105,24,1,1,1.0,4.0,61028,1,0 +1504,1100105,24,1,1,0.0,6.0,89619,1,0 +1505,1100105,24,1,1,0.0,6.0,55237,1,0 +1506,1100105,24,1,1,1.0,4.0,63674,1,0 +1507,1100105,24,1,1,0.0,4.0,81371,1,0 +1508,1100105,24,1,1,1.0,6.0,93225,1,0 +1509,1100105,24,1,1,1.0,4.0,74947,1,0 +1510,1100105,24,1,1,1.0,6.0,60785,1,0 +1511,1100105,24,1,1,1.0,6.0,95945,1,0 +1512,1100105,24,1,1,1.0,4.0,99440,1,0 +1513,1100105,24,1,1,1.0,6.0,97368,1,0 +1514,1100105,24,1,1,1.0,6.0,87328,1,0 +1515,1100105,24,1,1,1.0,6.0,58368,1,0 +1516,1100105,24,1,1,0.0,6.0,99756,1,0 +1517,1100105,24,1,1,0.0,4.0,53533,1,0 +1518,1100105,24,1,1,1.0,6.0,50939,1,0 +1519,1100105,24,1,1,0.0,6.0,75616,1,0 +1520,1100105,24,1,1,0.0,6.0,83838,1,0 +1521,1100105,24,1,1,0.0,6.0,63674,1,0 +1522,1100105,24,1,1,1.0,4.0,92189,1,0 +1523,1100105,24,1,1,0.0,6.0,61152,1,0 +1524,1100105,24,1,1,1.0,4.0,89936,1,0 +1525,1100105,24,1,1,1.0,6.0,67329,1,0 +1526,1100105,24,1,1,0.0,6.0,72508,1,0 +1527,1100105,24,1,1,1.0,4.0,65851,1,0 +1528,1100105,24,1,1,0.0,6.0,57989,0,0 +1529,1100105,24,1,1,1.0,6.0,63260,0,0 +1530,1100105,24,1,1,1.0,4.0,88083,0,0 +1531,1100105,24,1,1,1.0,6.0,83944,0,0 +1532,1100105,24,1,1,1.0,4.0,30392,1,0 +1533,1100105,24,1,1,0.0,6.0,42131,1,0 +1534,1100105,24,1,1,0.0,6.0,43829,1,0 +1535,1100105,24,1,1,0.0,4.0,48180,1,0 +1536,1100105,24,1,1,1.0,6.0,47109,1,0 +1537,1100105,24,1,1,1.0,6.0,48817,1,0 +1538,1100105,24,1,1,1.0,4.0,49554,1,0 +1539,1100105,24,1,1,0.0,6.0,47755,1,0 +1540,1100105,24,1,1,0.0,6.0,40578,0,0 +1541,1100105,24,1,1,0.0,4.0,29210,0,0 +1542,1100105,24,1,1,1.0,6.0,32621,0,0 +1543,1100105,24,1,1,0.0,4.0,27412,0,0 +1544,1100105,24,1,1,0.0,6.0,12652,1,0 +1545,1100105,24,1,1,0.0,6.0,14347,1,0 +1546,1100105,24,1,1,0.0,4.0,16573,1,0 +1547,1100105,24,1,1,2.0,4.0,21413,1,0 +1548,1100105,24,1,1,0.0,6.0,5798,1,0 +1549,1100105,24,1,1,0.0,6.0,14857,1,0 +1550,1100105,24,1,1,0.0,4.0,8914,0,0 +1551,1100105,24,1,1,0.0,6.0,0,0,0 +1552,1100105,24,1,1,3.0,6.0,9624,0,0 +1553,1100105,24,1,1,0.0,6.0,24445,0,0 +1554,1100105,24,1,1,0.0,6.0,9278,0,0 +1555,1100105,24,1,1,1.0,6.0,12989,0,0 +1556,1100105,24,1,1,0.0,4.0,18843,0,0 +1557,1100105,24,1,1,0.0,6.0,13068,0,0 +1558,1100105,24,1,1,1.0,6.0,0,0,0 +1559,1100105,24,1,1,1.0,6.0,14132,0,0 +1560,1100105,24,1,1,1.0,6.0,9117,0,0 +1561,1100105,24,1,1,0.0,4.0,10543,0,0 +1562,1100105,24,1,1,0.0,4.0,1606,0,0 +1563,1100105,24,1,1,0.0,4.0,9489,0,0 +1564,1100105,24,1,1,1.0,6.0,1284,0,0 +1565,1100105,24,1,1,1.0,4.0,1243,0,0 +1566,1100105,24,1,1,0.0,6.0,0,0,0 +1567,1100105,24,1,1,1.0,6.0,21330,0,0 +1568,1100105,24,1,1,0.0,6.0,0,0,0 +1569,1100105,24,1,1,0.0,6.0,0,0,0 +1570,1100105,24,1,1,0.0,6.0,5306,0,0 +1571,1100105,25,1,10,2.0,5.0,579643,9,0 +1572,1100105,25,1,10,2.0,5.0,579643,9,0 +1573,1100105,25,1,5,3.0,5.0,375802,2,0 +1574,1100105,25,1,5,3.0,5.0,375802,2,0 +1575,1100105,25,1,5,3.0,5.0,375802,2,0 +1576,1100105,25,1,5,3.0,5.0,375802,2,0 +1577,1100105,25,1,5,3.0,5.0,375802,2,0 +1578,1100105,25,1,5,3.0,5.0,375802,2,0 +1579,1100105,25,1,5,3.0,5.0,375802,2,0 +1580,1100105,25,1,5,3.0,5.0,375802,2,0 +1581,1100105,25,1,5,3.0,5.0,375802,2,0 +1582,1100105,25,1,5,3.0,5.0,375802,2,0 +1583,1100105,25,1,5,3.0,5.0,375802,2,0 +1584,1100105,25,1,6,2.0,3.0,397647,1,0 +1585,1100105,25,1,6,2.0,3.0,397647,1,0 +1586,1100105,25,1,6,2.0,3.0,397647,1,0 +1587,1100105,25,1,6,2.0,3.0,397647,1,0 +1588,1100105,25,1,6,2.0,3.0,397647,1,0 +1589,1100105,25,1,11,3.0,1.0,60493,4,1 +1590,1100105,25,1,9,0.0,2.0,17192,2,1 +1591,1100105,25,1,9,0.0,2.0,17192,2,1 +1592,1100105,25,1,9,0.0,2.0,17192,2,1 +1593,1100105,25,1,9,0.0,2.0,17192,2,1 +1594,1100105,25,1,9,0.0,2.0,17192,2,1 +1595,1100105,25,1,9,0.0,2.0,17192,2,1 +1596,1100105,25,1,3,2.0,1.0,285580,2,0 +1597,1100105,25,1,3,1.0,1.0,1013567,2,1 +1598,1100105,25,1,3,1.0,1.0,352184,2,1 +1599,1100105,25,1,3,1.0,1.0,352184,2,1 +1600,1100105,25,1,3,1.0,1.0,260423,2,1 +1601,1100105,25,1,3,2.0,1.0,241009,2,1 +1602,1100105,25,1,3,2.0,1.0,264640,2,1 +1603,1100105,25,1,3,1.0,1.0,208781,2,1 +1604,1100105,25,1,3,2.0,1.0,322145,2,1 +1605,1100105,25,1,3,2.0,1.0,354392,2,1 +1606,1100105,25,1,3,2.0,1.0,227946,2,1 +1607,1100105,25,1,3,1.0,1.0,201635,2,1 +1608,1100105,25,1,3,2.0,1.0,216275,2,1 +1609,1100105,25,1,3,1.0,1.0,435761,2,1 +1610,1100105,25,1,3,2.0,1.0,361887,2,1 +1611,1100105,25,1,3,1.0,1.0,303979,2,1 +1612,1100105,25,1,3,1.0,1.0,278601,2,1 +1613,1100105,25,1,3,0.0,1.0,261477,2,1 +1614,1100105,25,1,3,0.0,1.0,256266,2,1 +1615,1100105,25,1,3,2.0,1.0,271509,2,1 +1616,1100105,25,1,3,2.0,1.0,208849,1,0 +1617,1100105,25,1,3,2.0,2.0,201380,1,1 +1618,1100105,25,1,3,1.0,1.0,238760,1,1 +1619,1100105,25,1,3,1.0,1.0,218249,1,1 +1620,1100105,25,1,3,2.0,5.0,168841,2,0 +1621,1100105,25,1,3,1.0,1.0,164698,2,1 +1622,1100105,25,1,3,1.0,1.0,182014,2,1 +1623,1100105,25,1,3,1.0,1.0,181271,2,1 +1624,1100105,25,1,3,1.0,1.0,152818,1,1 +1625,1100105,25,1,3,1.0,1.0,152818,1,1 +1626,1100105,25,1,3,1.0,1.0,152818,1,1 +1627,1100105,25,1,3,1.0,1.0,152818,1,1 +1628,1100105,25,1,3,2.0,5.0,135838,2,0 +1629,1100105,25,1,3,0.0,1.0,121571,2,1 +1630,1100105,25,1,3,1.0,1.0,136730,1,1 +1631,1100105,25,1,3,0.0,1.0,141833,1,1 +1632,1100105,25,1,3,1.0,1.0,107067,1,1 +1633,1100105,25,1,3,1.0,1.0,133830,0,0 +1634,1100105,25,1,3,1.0,7.0,52827,2,0 +1635,1100105,25,1,3,0.0,7.0,64240,2,0 +1636,1100105,25,1,3,1.0,3.0,78159,2,1 +1637,1100105,25,1,3,1.0,1.0,68532,2,1 +1638,1100105,25,1,3,1.0,1.0,79021,1,0 +1639,1100105,25,1,3,0.0,5.0,30776,1,0 +1640,1100105,25,1,3,0.0,1.0,15983,0,0 +1641,1100105,25,1,2,3.0,1.0,288657,2,0 +1642,1100105,25,1,2,1.0,7.0,221054,2,0 +1643,1100105,25,1,2,1.0,5.0,311032,2,0 +1644,1100105,25,1,2,1.0,1.0,291771,2,0 +1645,1100105,25,1,2,1.0,1.0,362543,2,0 +1646,1100105,25,1,2,1.0,1.0,379564,2,0 +1647,1100105,25,1,2,1.0,1.0,310751,2,0 +1648,1100105,25,1,2,1.0,1.0,310751,2,0 +1649,1100105,25,1,2,1.0,5.0,725380,2,0 +1650,1100105,25,1,2,1.0,1.0,569089,2,0 +1651,1100105,25,1,2,1.0,7.0,265431,2,0 +1652,1100105,25,1,2,1.0,5.0,391055,2,0 +1653,1100105,25,1,2,1.0,1.0,409156,2,0 +1654,1100105,25,1,2,2.0,5.0,393618,2,0 +1655,1100105,25,1,2,0.0,1.0,503028,2,0 +1656,1100105,25,1,2,1.0,5.0,375526,2,0 +1657,1100105,25,1,2,1.0,1.0,476155,2,0 +1658,1100105,25,1,2,2.0,1.0,274129,2,0 +1659,1100105,25,1,2,2.0,1.0,274129,2,0 +1660,1100105,25,1,2,2.0,1.0,206671,2,0 +1661,1100105,25,1,2,0.0,7.0,238760,2,0 +1662,1100105,25,1,2,1.0,1.0,242499,2,0 +1663,1100105,25,1,2,0.0,7.0,238760,2,0 +1664,1100105,25,1,2,2.0,1.0,233473,2,0 +1665,1100105,25,1,2,1.0,1.0,295213,2,0 +1666,1100105,25,1,2,2.0,5.0,295213,2,0 +1667,1100105,25,1,2,0.0,7.0,241117,2,0 +1668,1100105,25,1,2,1.0,1.0,773058,2,0 +1669,1100105,25,1,2,1.0,1.0,258339,2,0 +1670,1100105,25,1,2,1.0,1.0,262004,2,0 +1671,1100105,25,1,2,1.0,1.0,773058,2,0 +1672,1100105,25,1,2,2.0,1.0,336657,2,0 +1673,1100105,25,1,2,0.0,5.0,419524,2,0 +1674,1100105,25,1,2,1.0,1.0,316966,2,0 +1675,1100105,25,1,2,1.0,1.0,355516,2,0 +1676,1100105,25,1,2,0.0,5.0,419524,2,0 +1677,1100105,25,1,2,1.0,1.0,255334,2,0 +1678,1100105,25,1,2,1.0,1.0,263930,2,0 +1679,1100105,25,1,2,1.0,1.0,263930,2,0 +1680,1100105,25,1,2,2.0,1.0,297147,2,0 +1681,1100105,25,1,2,1.0,1.0,384976,2,0 +1682,1100105,25,1,2,1.0,1.0,384976,2,0 +1683,1100105,25,1,2,1.0,1.0,527173,2,0 +1684,1100105,25,1,2,0.0,5.0,294435,2,0 +1685,1100105,25,1,2,0.0,1.0,266210,2,0 +1686,1100105,25,1,2,1.0,1.0,254816,2,0 +1687,1100105,25,1,2,1.0,1.0,274497,2,0 +1688,1100105,25,1,2,2.0,1.0,332015,2,0 +1689,1100105,25,1,2,1.0,5.0,248208,2,0 +1690,1100105,25,1,2,2.0,1.0,332015,2,0 +1691,1100105,25,1,2,1.0,5.0,267382,2,0 +1692,1100105,25,1,2,3.0,5.0,643474,2,0 +1693,1100105,25,1,2,3.0,5.0,643474,2,0 +1694,1100105,25,1,2,1.0,1.0,309977,2,0 +1695,1100105,25,1,2,2.0,7.0,206639,2,0 +1696,1100105,25,1,2,0.0,7.0,203427,2,0 +1697,1100105,25,1,2,1.0,5.0,310943,2,0 +1698,1100105,25,1,2,1.0,1.0,228167,2,0 +1699,1100105,25,1,2,0.0,1.0,234025,2,0 +1700,1100105,25,1,2,0.0,5.0,212790,2,0 +1701,1100105,25,1,2,1.0,1.0,369337,2,0 +1702,1100105,25,1,2,1.0,1.0,239192,2,0 +1703,1100105,25,1,2,1.0,7.0,245169,2,0 +1704,1100105,25,1,2,0.0,5.0,258959,2,0 +1705,1100105,25,1,2,1.0,1.0,323678,2,0 +1706,1100105,25,1,2,0.0,1.0,342615,2,0 +1707,1100105,25,1,2,1.0,1.0,234064,2,0 +1708,1100105,25,1,2,1.0,1.0,318112,1,0 +1709,1100105,25,1,2,1.0,5.0,243578,1,0 +1710,1100105,25,1,2,1.0,1.0,765455,1,0 +1711,1100105,25,1,2,1.0,1.0,247461,1,0 +1712,1100105,25,1,2,1.0,1.0,765455,1,0 +1713,1100105,25,1,2,2.0,5.0,333539,1,0 +1714,1100105,25,1,2,0.0,1.0,283667,1,0 +1715,1100105,25,1,2,1.0,1.0,1049303,1,0 +1716,1100105,25,1,2,2.0,1.0,249636,1,0 +1717,1100105,25,1,2,1.0,1.0,305141,1,0 +1718,1100105,25,1,2,2.0,5.0,201635,1,0 +1719,1100105,25,1,2,1.0,5.0,581123,1,0 +1720,1100105,25,1,2,0.0,1.0,329820,1,0 +1721,1100105,25,1,2,1.0,5.0,212248,1,0 +1722,1100105,25,1,2,1.0,5.0,207464,1,0 +1723,1100105,25,1,2,1.0,2.0,362543,1,0 +1724,1100105,25,1,2,2.0,1.0,616323,0,0 +1725,1100105,25,1,2,1.0,1.0,203645,0,0 +1726,1100105,25,1,2,1.0,2.0,311426,0,0 +1727,1100105,25,1,2,0.0,1.0,359761,0,0 +1728,1100105,25,1,2,0.0,1.0,366701,0,0 +1729,1100105,25,1,2,0.0,5.0,198217,2,0 +1730,1100105,25,1,2,2.0,7.0,199580,2,0 +1731,1100105,25,1,2,0.0,5.0,160600,2,0 +1732,1100105,25,1,2,1.0,1.0,178305,2,0 +1733,1100105,25,1,2,0.0,1.0,198567,2,0 +1734,1100105,25,1,2,1.0,1.0,178305,2,0 +1735,1100105,25,1,2,0.0,5.0,156209,2,0 +1736,1100105,25,1,2,0.0,1.0,165734,2,0 +1737,1100105,25,1,2,2.0,5.0,168695,2,0 +1738,1100105,25,1,2,0.0,1.0,178507,2,0 +1739,1100105,25,1,2,0.0,5.0,197391,2,0 +1740,1100105,25,1,2,2.0,1.0,189782,2,0 +1741,1100105,25,1,2,1.0,1.0,169533,2,0 +1742,1100105,25,1,2,0.0,7.0,152818,2,0 +1743,1100105,25,1,2,0.0,1.0,155247,2,0 +1744,1100105,25,1,2,1.0,7.0,191630,2,0 +1745,1100105,25,1,2,1.0,1.0,186619,2,0 +1746,1100105,25,1,2,0.0,1.0,160279,2,0 +1747,1100105,25,1,2,1.0,1.0,196540,2,0 +1748,1100105,25,1,2,0.0,1.0,150196,2,0 +1749,1100105,25,1,2,0.0,1.0,174519,2,0 +1750,1100105,25,1,2,2.0,1.0,198074,2,0 +1751,1100105,25,1,2,1.0,7.0,194207,2,0 +1752,1100105,25,1,2,1.0,5.0,158125,2,0 +1753,1100105,25,1,2,2.0,1.0,166147,2,0 +1754,1100105,25,1,2,2.0,5.0,193999,2,0 +1755,1100105,25,1,2,1.0,1.0,159530,2,0 +1756,1100105,25,1,2,1.0,1.0,186407,2,0 +1757,1100105,25,1,2,1.0,1.0,169877,2,0 +1758,1100105,25,1,2,0.0,1.0,171307,2,0 +1759,1100105,25,1,2,1.0,5.0,151964,2,0 +1760,1100105,25,1,2,1.0,7.0,196540,2,0 +1761,1100105,25,1,2,0.0,1.0,198074,2,0 +1762,1100105,25,1,2,2.0,5.0,178164,2,0 +1763,1100105,25,1,2,0.0,1.0,198074,2,0 +1764,1100105,25,1,2,1.0,1.0,158172,2,0 +1765,1100105,25,1,2,1.0,5.0,164619,2,0 +1766,1100105,25,1,2,1.0,1.0,158172,2,0 +1767,1100105,25,1,2,1.0,5.0,186554,2,0 +1768,1100105,25,1,2,0.0,5.0,177762,2,0 +1769,1100105,25,1,2,1.0,5.0,189782,2,0 +1770,1100105,25,1,2,1.0,1.0,158172,2,0 +1771,1100105,25,1,2,0.0,7.0,189782,2,0 +1772,1100105,25,1,2,1.0,1.0,175468,1,0 +1773,1100105,25,1,2,1.0,1.0,170809,1,0 +1774,1100105,25,1,2,0.0,5.0,197194,1,0 +1775,1100105,25,1,2,0.0,5.0,197194,1,0 +1776,1100105,25,1,2,0.0,1.0,151964,1,0 +1777,1100105,25,1,2,0.0,1.0,171307,1,0 +1778,1100105,25,1,2,0.0,1.0,171307,1,0 +1779,1100105,25,1,2,0.0,5.0,153106,1,0 +1780,1100105,25,1,2,0.0,5.0,153106,1,0 +1781,1100105,25,1,2,0.0,1.0,164794,1,0 +1782,1100105,25,1,2,1.0,1.0,162095,1,0 +1783,1100105,25,1,2,0.0,1.0,177291,1,0 +1784,1100105,25,1,2,2.0,7.0,179873,1,0 +1785,1100105,25,1,2,1.0,1.0,153821,0,0 +1786,1100105,25,1,2,2.0,7.0,190076,0,0 +1787,1100105,25,1,2,2.0,1.0,111744,2,0 +1788,1100105,25,1,2,2.0,1.0,111744,2,0 +1789,1100105,25,1,2,2.0,5.0,137961,2,0 +1790,1100105,25,1,2,0.0,1.0,131476,2,0 +1791,1100105,25,1,2,1.0,1.0,128480,2,0 +1792,1100105,25,1,2,1.0,7.0,114826,2,0 +1793,1100105,25,1,2,0.0,7.0,120769,2,0 +1794,1100105,25,1,2,1.0,5.0,131793,2,0 +1795,1100105,25,1,2,0.0,5.0,111430,2,0 +1796,1100105,25,1,2,1.0,1.0,126521,2,0 +1797,1100105,25,1,2,0.0,1.0,137064,2,0 +1798,1100105,25,1,2,1.0,1.0,106375,2,0 +1799,1100105,25,1,2,1.0,5.0,124610,2,0 +1800,1100105,25,1,2,0.0,5.0,137064,2,0 +1801,1100105,25,1,2,1.0,7.0,136730,2,0 +1802,1100105,25,1,2,1.0,7.0,145611,2,0 +1803,1100105,25,1,2,1.0,7.0,127402,2,0 +1804,1100105,25,1,2,1.0,1.0,140686,2,0 +1805,1100105,25,1,2,1.0,5.0,100643,2,0 +1806,1100105,25,1,2,2.0,5.0,111440,2,0 +1807,1100105,25,1,2,0.0,1.0,104001,2,0 +1808,1100105,25,1,2,0.0,5.0,135975,2,0 +1809,1100105,25,1,2,1.0,5.0,118086,2,0 +1810,1100105,25,1,2,2.0,5.0,148642,2,0 +1811,1100105,25,1,2,0.0,7.0,111430,2,0 +1812,1100105,25,1,2,0.0,5.0,137781,2,0 +1813,1100105,25,1,2,0.0,1.0,107227,1,0 +1814,1100105,25,1,2,2.0,1.0,121571,1,0 +1815,1100105,25,1,2,0.0,1.0,137046,1,0 +1816,1100105,25,1,2,1.0,5.0,101083,1,0 +1817,1100105,25,1,2,0.0,1.0,133424,1,0 +1818,1100105,25,1,2,1.0,1.0,139807,1,0 +1819,1100105,25,1,2,1.0,7.0,107543,1,0 +1820,1100105,25,1,2,0.0,1.0,112920,1,0 +1821,1100105,25,1,2,0.0,1.0,126786,1,0 +1822,1100105,25,1,2,1.0,7.0,106173,1,0 +1823,1100105,25,1,2,1.0,1.0,121144,0,0 +1824,1100105,25,1,2,1.0,7.0,100900,0,0 +1825,1100105,25,1,2,1.0,1.0,79528,2,0 +1826,1100105,25,1,2,1.0,1.0,79075,2,0 +1827,1100105,25,1,2,0.0,2.0,75161,2,0 +1828,1100105,25,1,2,0.0,2.0,75161,2,0 +1829,1100105,25,1,2,2.0,1.0,82458,2,0 +1830,1100105,25,1,2,1.0,5.0,82977,2,0 +1831,1100105,25,1,2,1.0,7.0,89557,2,0 +1832,1100105,25,1,2,0.0,7.0,93508,2,0 +1833,1100105,25,1,2,1.0,7.0,60814,2,0 +1834,1100105,25,1,2,0.0,7.0,65851,2,0 +1835,1100105,25,1,2,1.0,5.0,64438,2,0 +1836,1100105,25,1,2,1.0,5.0,85100,2,0 +1837,1100105,25,1,2,1.0,1.0,79041,2,0 +1838,1100105,25,1,2,2.0,7.0,98404,2,0 +1839,1100105,25,1,2,1.0,1.0,55502,1,0 +1840,1100105,25,1,2,1.0,1.0,93225,1,0 +1841,1100105,25,1,2,1.0,1.0,93225,1,0 +1842,1100105,25,1,2,0.0,1.0,98054,1,0 +1843,1100105,25,1,2,1.0,1.0,95711,1,0 +1844,1100105,25,1,2,0.0,7.0,73225,1,0 +1845,1100105,25,1,2,1.0,7.0,54193,1,0 +1846,1100105,25,1,2,0.0,5.0,83488,1,0 +1847,1100105,25,1,2,1.0,7.0,84899,1,0 +1848,1100105,25,1,2,0.0,1.0,66423,1,0 +1849,1100105,25,1,2,1.0,1.0,71952,1,0 +1850,1100105,25,1,2,0.0,5.0,56882,1,0 +1851,1100105,25,1,2,0.0,1.0,78531,1,0 +1852,1100105,25,1,2,0.0,1.0,65851,1,0 +1853,1100105,25,1,2,1.0,1.0,97217,0,0 +1854,1100105,25,1,2,0.0,1.0,50939,0,0 +1855,1100105,25,1,2,0.0,1.0,73909,0,0 +1856,1100105,25,1,2,1.0,1.0,47972,2,0 +1857,1100105,25,1,2,0.0,1.0,45633,2,0 +1858,1100105,25,1,2,0.0,5.0,37956,2,0 +1859,1100105,25,1,2,0.0,7.0,47855,1,0 +1860,1100105,25,1,2,1.0,1.0,31837,1,0 +1861,1100105,25,1,2,1.0,1.0,37704,1,0 +1862,1100105,25,1,2,1.0,5.0,25895,1,0 +1863,1100105,25,1,2,2.0,7.0,31975,1,0 +1864,1100105,25,1,2,1.0,3.0,33429,1,1 +1865,1100105,25,1,2,1.0,1.0,36066,0,0 +1866,1100105,25,1,2,1.0,1.0,36066,0,0 +1867,1100105,25,1,2,1.0,3.0,12741,1,0 +1868,1100105,25,1,2,0.0,1.0,10612,1,0 +1869,1100105,25,1,2,1.0,3.0,23098,1,0 +1870,1100105,25,1,2,0.0,2.0,10706,1,0 +1871,1100105,25,1,2,1.0,1.0,17609,1,0 +1872,1100105,25,1,2,0.0,7.0,5306,1,0 +1873,1100105,25,1,2,1.0,7.0,4244,1,0 +1874,1100105,25,1,2,0.0,2.0,10130,1,1 +1875,1100105,25,1,2,1.0,5.0,0,0,0 +1876,1100105,25,1,2,0.0,3.0,6747,0,0 +1877,1100105,25,1,2,0.0,5.0,4280,0,0 +1878,1100105,25,1,2,0.0,5.0,7730,0,0 +1879,1100105,25,1,1,0.0,4.0,752018,1,0 +1880,1100105,25,1,1,1.0,6.0,414885,1,0 +1881,1100105,25,1,1,1.0,6.0,676541,1,0 +1882,1100105,25,1,1,1.0,6.0,327625,1,0 +1883,1100105,25,1,1,1.0,4.0,200325,1,0 +1884,1100105,25,1,1,1.0,4.0,200325,1,0 +1885,1100105,25,1,1,1.0,4.0,200325,1,0 +1886,1100105,25,1,1,1.0,4.0,230194,1,0 +1887,1100105,25,1,1,1.0,6.0,241972,1,0 +1888,1100105,25,1,1,0.0,4.0,414335,1,0 +1889,1100105,25,1,1,0.0,6.0,233012,1,0 +1890,1100105,25,1,1,1.0,6.0,207177,1,0 +1891,1100105,25,1,1,1.0,4.0,338739,1,0 +1892,1100105,25,1,1,0.0,6.0,384976,1,0 +1893,1100105,25,1,1,0.0,4.0,207710,1,0 +1894,1100105,25,1,1,0.0,4.0,257260,1,0 +1895,1100105,25,1,1,1.0,6.0,223691,1,0 +1896,1100105,25,1,1,0.0,4.0,677255,1,0 +1897,1100105,25,1,1,1.0,6.0,223691,1,0 +1898,1100105,25,1,1,0.0,6.0,308994,1,0 +1899,1100105,25,1,1,0.0,4.0,677255,1,0 +1900,1100105,25,1,1,1.0,6.0,241972,1,0 +1901,1100105,25,1,1,1.0,6.0,325253,1,0 +1902,1100105,25,1,1,1.0,4.0,209594,1,0 +1903,1100105,25,1,1,1.0,4.0,623131,1,0 +1904,1100105,25,1,1,1.0,6.0,211080,1,0 +1905,1100105,25,1,1,0.0,4.0,788272,1,0 +1906,1100105,25,1,1,0.0,6.0,237227,1,0 +1907,1100105,25,1,1,0.0,6.0,384976,1,0 +1908,1100105,25,1,1,0.0,4.0,329256,1,0 +1909,1100105,25,1,1,0.0,6.0,230194,1,0 +1910,1100105,25,1,1,0.0,4.0,222860,1,0 +1911,1100105,25,1,1,0.0,4.0,257260,1,0 +1912,1100105,25,1,1,0.0,6.0,237469,1,0 +1913,1100105,25,1,1,0.0,4.0,788272,1,0 +1914,1100105,25,1,1,0.0,6.0,202697,1,0 +1915,1100105,25,1,1,1.0,4.0,211993,1,0 +1916,1100105,25,1,1,1.0,6.0,421738,1,0 +1917,1100105,25,1,1,1.0,4.0,778058,1,0 +1918,1100105,25,1,1,1.0,4.0,623131,1,0 +1919,1100105,25,1,1,0.0,4.0,237227,1,0 +1920,1100105,25,1,1,1.0,4.0,623131,1,0 +1921,1100105,25,1,1,0.0,4.0,235569,1,0 +1922,1100105,25,1,1,1.0,6.0,456848,1,0 +1923,1100105,25,1,1,0.0,4.0,235569,1,0 +1924,1100105,25,1,1,0.0,6.0,215789,1,0 +1925,1100105,25,1,1,1.0,6.0,623185,1,0 +1926,1100105,25,1,1,1.0,4.0,200220,1,0 +1927,1100105,25,1,1,1.0,4.0,231897,1,0 +1928,1100105,25,1,1,0.0,6.0,206131,1,0 +1929,1100105,25,1,1,1.0,6.0,253274,1,0 +1930,1100105,25,1,1,0.0,4.0,258339,1,0 +1931,1100105,25,1,1,1.0,4.0,450205,0,0 +1932,1100105,25,1,1,1.0,6.0,443036,0,0 +1933,1100105,25,1,1,1.0,4.0,204060,0,0 +1934,1100105,25,1,1,1.0,4.0,243143,0,0 +1935,1100105,25,1,1,1.0,6.0,286927,0,0 +1936,1100105,25,1,1,0.0,6.0,165734,1,0 +1937,1100105,25,1,1,0.0,6.0,165734,1,0 +1938,1100105,25,1,1,6.0,4.0,180411,1,0 +1939,1100105,25,1,1,6.0,4.0,180411,1,0 +1940,1100105,25,1,1,1.0,4.0,196809,1,0 +1941,1100105,25,1,1,1.0,4.0,196809,1,0 +1942,1100105,25,1,1,1.0,4.0,196809,1,0 +1943,1100105,25,1,1,0.0,6.0,167161,1,0 +1944,1100105,25,1,1,1.0,6.0,176661,1,0 +1945,1100105,25,1,1,1.0,6.0,156570,1,0 +1946,1100105,25,1,1,1.0,4.0,167161,1,0 +1947,1100105,25,1,1,1.0,4.0,199580,1,0 +1948,1100105,25,1,1,0.0,6.0,186297,1,0 +1949,1100105,25,1,1,1.0,4.0,174494,1,0 +1950,1100105,25,1,1,1.0,4.0,164492,1,0 +1951,1100105,25,1,1,1.0,4.0,175265,1,0 +1952,1100105,25,1,1,0.0,4.0,150244,1,0 +1953,1100105,25,1,1,1.0,6.0,154339,1,0 +1954,1100105,25,1,1,1.0,4.0,165610,1,0 +1955,1100105,25,1,1,0.0,6.0,151964,1,0 +1956,1100105,25,1,1,0.0,4.0,163108,1,0 +1957,1100105,25,1,1,0.0,4.0,194210,1,0 +1958,1100105,25,1,1,1.0,4.0,154176,1,0 +1959,1100105,25,1,1,1.0,4.0,199580,1,0 +1960,1100105,25,1,1,1.0,4.0,152035,1,0 +1961,1100105,25,1,1,1.0,4.0,176092,1,0 +1962,1100105,25,1,1,1.0,4.0,152035,1,0 +1963,1100105,25,1,1,1.0,4.0,172226,1,0 +1964,1100105,25,1,1,1.0,4.0,152035,1,0 +1965,1100105,25,1,1,1.0,4.0,199580,1,0 +1966,1100105,25,1,1,0.0,6.0,155375,1,0 +1967,1100105,25,1,1,1.0,6.0,169798,1,0 +1968,1100105,25,1,1,1.0,4.0,163529,1,0 +1969,1100105,25,1,1,1.0,6.0,150745,1,0 +1970,1100105,25,1,1,0.0,4.0,159056,1,0 +1971,1100105,25,1,1,0.0,6.0,176092,1,0 +1972,1100105,25,1,1,1.0,4.0,182610,1,0 +1973,1100105,25,1,1,0.0,4.0,151964,1,0 +1974,1100105,25,1,1,1.0,4.0,151964,1,0 +1975,1100105,25,1,1,1.0,4.0,182357,1,0 +1976,1100105,25,1,1,1.0,6.0,180411,1,0 +1977,1100105,25,1,1,0.0,4.0,174019,1,0 +1978,1100105,25,1,1,0.0,4.0,161631,1,0 +1979,1100105,25,1,1,0.0,4.0,151825,1,0 +1980,1100105,25,1,1,0.0,4.0,175104,1,0 +1981,1100105,25,1,1,1.0,4.0,179238,1,0 +1982,1100105,25,1,1,0.0,6.0,166703,1,0 +1983,1100105,25,1,1,2.0,4.0,170913,1,0 +1984,1100105,25,1,1,0.0,4.0,152880,1,0 +1985,1100105,25,1,1,1.0,4.0,191023,0,0 +1986,1100105,25,1,1,1.0,4.0,183807,0,0 +1987,1100105,25,1,1,1.0,4.0,115087,1,0 +1988,1100105,25,1,1,1.0,6.0,134969,1,0 +1989,1100105,25,1,1,1.0,4.0,108762,1,0 +1990,1100105,25,1,1,0.0,6.0,111671,1,0 +1991,1100105,25,1,1,1.0,4.0,127349,1,0 +1992,1100105,25,1,1,1.0,4.0,101512,1,0 +1993,1100105,25,1,1,1.0,4.0,101512,1,0 +1994,1100105,25,1,1,1.0,4.0,111430,1,0 +1995,1100105,25,1,1,1.0,4.0,123127,1,0 +1996,1100105,25,1,1,1.0,6.0,113466,1,0 +1997,1100105,25,1,1,0.0,6.0,141757,1,0 +1998,1100105,25,1,1,0.0,4.0,103583,1,0 +1999,1100105,25,1,1,0.0,6.0,137961,1,0 +2000,1100105,25,1,1,0.0,4.0,103583,1,0 +2001,1100105,25,1,1,0.0,6.0,141757,1,0 +2002,1100105,25,1,1,0.0,6.0,107599,1,0 +2003,1100105,25,1,1,1.0,6.0,124300,1,0 +2004,1100105,25,1,1,0.0,6.0,105434,1,0 +2005,1100105,25,1,1,0.0,6.0,141757,1,0 +2006,1100105,25,1,1,1.0,6.0,130317,1,0 +2007,1100105,25,1,1,0.0,6.0,133834,1,0 +2008,1100105,25,1,1,1.0,4.0,139187,1,0 +2009,1100105,25,1,1,1.0,4.0,113942,1,0 +2010,1100105,25,1,1,0.0,6.0,115493,1,0 +2011,1100105,25,1,1,1.0,6.0,139187,1,0 +2012,1100105,25,1,1,0.0,6.0,133834,1,0 +2013,1100105,25,1,1,1.0,6.0,124610,1,0 +2014,1100105,25,1,1,1.0,6.0,114045,1,0 +2015,1100105,25,1,1,1.0,6.0,103583,1,0 +2016,1100105,25,1,1,0.0,4.0,127349,1,0 +2017,1100105,25,1,1,1.0,6.0,140083,1,0 +2018,1100105,25,1,1,0.0,6.0,113942,1,0 +2019,1100105,25,1,1,1.0,6.0,142945,1,0 +2020,1100105,25,1,1,1.0,4.0,137961,1,0 +2021,1100105,25,1,1,0.0,4.0,103855,1,0 +2022,1100105,25,1,1,0.0,6.0,139838,1,0 +2023,1100105,25,1,1,0.0,4.0,100817,1,0 +2024,1100105,25,1,1,1.0,6.0,136900,1,0 +2025,1100105,25,1,1,0.0,4.0,126416,1,0 +2026,1100105,25,1,1,1.0,6.0,120157,1,0 +2027,1100105,25,1,1,0.0,4.0,127349,1,0 +2028,1100105,25,1,1,1.0,6.0,148573,1,0 +2029,1100105,25,1,1,0.0,4.0,127349,1,0 +2030,1100105,25,1,1,0.0,6.0,114562,1,0 +2031,1100105,25,1,1,1.0,4.0,123358,1,0 +2032,1100105,25,1,1,1.0,6.0,139173,1,0 +2033,1100105,25,1,1,1.0,6.0,137064,1,0 +2034,1100105,25,1,1,0.0,4.0,143256,1,0 +2035,1100105,25,1,1,0.0,6.0,107067,1,0 +2036,1100105,25,1,1,1.0,6.0,138116,1,0 +2037,1100105,25,1,1,0.0,4.0,143391,1,0 +2038,1100105,25,1,1,1.0,6.0,140083,1,0 +2039,1100105,25,1,1,0.0,6.0,100162,1,0 +2040,1100105,25,1,1,1.0,4.0,143728,1,0 +2041,1100105,25,1,1,0.0,6.0,100162,1,0 +2042,1100105,25,1,1,0.0,4.0,111440,1,0 +2043,1100105,25,1,1,0.0,6.0,139838,1,0 +2044,1100105,25,1,1,0.0,6.0,100162,1,0 +2045,1100105,25,1,1,0.0,4.0,101309,1,0 +2046,1100105,25,1,1,1.0,6.0,136768,1,0 +2047,1100105,25,1,1,0.0,6.0,141833,1,0 +2048,1100105,25,1,1,2.0,4.0,113466,1,0 +2049,1100105,25,1,1,1.0,4.0,126521,1,0 +2050,1100105,25,1,1,1.0,6.0,100373,1,0 +2051,1100105,25,1,1,1.0,4.0,139187,1,0 +2052,1100105,25,1,1,0.0,4.0,106124,1,0 +2053,1100105,25,1,1,0.0,4.0,139838,1,0 +2054,1100105,25,1,1,0.0,4.0,101309,1,0 +2055,1100105,25,1,1,1.0,4.0,108970,1,0 +2056,1100105,25,1,1,0.0,4.0,103325,1,0 +2057,1100105,25,1,1,1.0,4.0,115978,1,0 +2058,1100105,25,1,1,1.0,4.0,140349,1,0 +2059,1100105,25,1,1,1.0,6.0,136768,1,0 +2060,1100105,25,1,1,0.0,4.0,106375,1,0 +2061,1100105,25,1,1,0.0,4.0,139838,1,0 +2062,1100105,25,1,1,1.0,4.0,137961,1,0 +2063,1100105,25,1,1,1.0,6.0,105434,1,0 +2064,1100105,25,1,1,1.0,4.0,141833,1,0 +2065,1100105,25,1,1,1.0,4.0,108970,1,0 +2066,1100105,25,1,1,0.0,4.0,106124,1,0 +2067,1100105,25,1,1,0.0,4.0,139838,1,0 +2068,1100105,25,1,1,0.0,4.0,103325,1,0 +2069,1100105,25,1,1,1.0,4.0,146392,1,0 +2070,1100105,25,1,1,0.0,6.0,117774,1,0 +2071,1100105,25,1,1,0.0,4.0,111440,1,0 +2072,1100105,25,1,1,0.0,4.0,101217,1,0 +2073,1100105,25,1,1,0.0,6.0,147608,1,0 +2074,1100105,25,1,1,0.0,6.0,123104,1,0 +2075,1100105,25,1,1,1.0,4.0,111760,1,0 +2076,1100105,25,1,1,1.0,4.0,111760,1,0 +2077,1100105,25,1,1,0.0,6.0,124300,1,0 +2078,1100105,25,1,1,1.0,4.0,101217,1,0 +2079,1100105,25,1,1,0.0,6.0,105434,1,0 +2080,1100105,25,1,1,0.0,6.0,105434,1,0 +2081,1100105,25,1,1,0.0,4.0,117519,1,0 +2082,1100105,25,1,1,1.0,4.0,105655,1,0 +2083,1100105,25,1,1,1.0,4.0,116729,1,0 +2084,1100105,25,1,1,0.0,6.0,102784,1,0 +2085,1100105,25,1,1,1.0,6.0,104925,1,0 +2086,1100105,25,1,1,0.0,4.0,141833,1,0 +2087,1100105,25,1,1,0.0,6.0,102784,1,0 +2088,1100105,25,1,1,1.0,6.0,149894,1,0 +2089,1100105,25,1,1,0.0,6.0,116736,1,0 +2090,1100105,25,1,1,1.0,6.0,102993,1,0 +2091,1100105,25,1,1,0.0,4.0,131793,1,0 +2092,1100105,25,1,1,1.0,6.0,105434,1,0 +2093,1100105,25,1,1,0.0,6.0,102784,1,0 +2094,1100105,25,1,1,0.0,6.0,115632,1,0 +2095,1100105,25,1,1,0.0,6.0,141833,1,0 +2096,1100105,25,1,1,0.0,6.0,125322,1,0 +2097,1100105,25,1,1,1.0,4.0,112420,1,0 +2098,1100105,25,1,1,1.0,4.0,105434,1,0 +2099,1100105,25,1,1,1.0,6.0,108762,1,0 +2100,1100105,25,1,1,1.0,4.0,116729,1,0 +2101,1100105,25,1,1,0.0,6.0,102784,1,0 +2102,1100105,25,1,1,1.0,6.0,111430,1,0 +2103,1100105,25,1,1,1.0,6.0,107185,1,0 +2104,1100105,25,1,1,0.0,4.0,108907,1,0 +2105,1100105,25,1,1,0.0,6.0,120157,1,0 +2106,1100105,25,1,1,0.0,6.0,111643,0,0 +2107,1100105,25,1,1,1.0,4.0,109307,0,0 +2108,1100105,25,1,1,0.0,4.0,112502,0,0 +2109,1100105,25,1,1,1.0,4.0,107727,0,0 +2110,1100105,25,1,1,1.0,4.0,92191,1,0 +2111,1100105,25,1,1,0.0,6.0,81831,1,0 +2112,1100105,25,1,1,0.0,6.0,87227,1,0 +2113,1100105,25,1,1,0.0,4.0,81184,1,0 +2114,1100105,25,1,1,0.0,4.0,99272,1,0 +2115,1100105,25,1,1,2.0,6.0,87010,1,0 +2116,1100105,25,1,1,0.0,4.0,99283,1,0 +2117,1100105,25,1,1,0.0,4.0,91728,1,0 +2118,1100105,25,1,1,1.0,6.0,99440,1,0 +2119,1100105,25,1,1,1.0,6.0,57989,1,0 +2120,1100105,25,1,1,0.0,4.0,99283,1,0 +2121,1100105,25,1,1,1.0,6.0,75982,1,0 +2122,1100105,25,1,1,0.0,6.0,69401,1,0 +2123,1100105,25,1,1,0.0,4.0,89861,1,0 +2124,1100105,25,1,1,1.0,6.0,62150,1,0 +2125,1100105,25,1,1,0.0,4.0,84347,1,0 +2126,1100105,25,1,1,1.0,4.0,98270,1,0 +2127,1100105,25,1,1,0.0,4.0,72942,1,0 +2128,1100105,25,1,1,0.0,4.0,69593,1,0 +2129,1100105,25,1,1,0.0,6.0,74286,1,0 +2130,1100105,25,1,1,1.0,4.0,75982,1,0 +2131,1100105,25,1,1,0.0,4.0,72942,1,0 +2132,1100105,25,1,1,0.0,4.0,74947,1,0 +2133,1100105,25,1,1,0.0,4.0,83609,1,0 +2134,1100105,25,1,1,0.0,6.0,97634,1,0 +2135,1100105,25,1,1,1.0,6.0,93225,1,0 +2136,1100105,25,1,1,1.0,6.0,68980,1,0 +2137,1100105,25,1,1,1.0,4.0,74947,1,0 +2138,1100105,25,1,1,1.0,4.0,91178,1,0 +2139,1100105,25,1,1,1.0,6.0,50654,1,0 +2140,1100105,25,1,1,0.0,6.0,58368,1,0 +2141,1100105,25,1,1,0.0,4.0,63260,1,0 +2142,1100105,25,1,1,1.0,4.0,61028,1,0 +2143,1100105,25,1,1,1.0,6.0,95504,1,0 +2144,1100105,25,1,1,0.0,6.0,55237,1,0 +2145,1100105,25,1,1,1.0,6.0,51791,1,0 +2146,1100105,25,1,1,0.0,6.0,74286,1,0 +2147,1100105,25,1,1,1.0,6.0,65851,1,0 +2148,1100105,25,1,1,1.0,6.0,63186,1,0 +2149,1100105,25,1,1,1.0,4.0,94891,1,0 +2150,1100105,25,1,1,1.0,6.0,79933,1,0 +2151,1100105,25,1,1,0.0,6.0,74286,1,0 +2152,1100105,25,1,1,1.0,6.0,90165,1,0 +2153,1100105,25,1,1,1.0,4.0,55720,1,0 +2154,1100105,25,1,1,0.0,4.0,74580,1,0 +2155,1100105,25,1,1,0.0,6.0,75982,1,0 +2156,1100105,25,1,1,0.0,4.0,83293,1,0 +2157,1100105,25,1,1,1.0,4.0,99440,1,0 +2158,1100105,25,1,1,1.0,4.0,81047,1,0 +2159,1100105,25,1,1,0.0,6.0,93836,1,0 +2160,1100105,25,1,1,0.0,6.0,79593,1,0 +2161,1100105,25,1,1,1.0,6.0,96360,1,0 +2162,1100105,25,1,1,1.0,4.0,80300,1,0 +2163,1100105,25,1,1,0.0,6.0,73804,1,0 +2164,1100105,25,1,1,0.0,6.0,73804,1,0 +2165,1100105,25,1,1,1.0,6.0,61152,1,0 +2166,1100105,25,1,1,0.0,4.0,60490,1,0 +2167,1100105,25,1,1,1.0,6.0,58368,1,0 +2168,1100105,25,1,1,1.0,6.0,84899,1,0 +2169,1100105,25,1,1,0.0,6.0,60097,1,0 +2170,1100105,25,1,1,0.0,6.0,81047,1,0 +2171,1100105,25,1,1,0.0,4.0,56733,1,0 +2172,1100105,25,1,1,1.0,6.0,92077,1,0 +2173,1100105,25,1,1,1.0,4.0,87126,1,0 +2174,1100105,25,1,1,1.0,4.0,56971,1,0 +2175,1100105,25,1,1,1.0,6.0,62812,1,0 +2176,1100105,25,1,1,1.0,6.0,91178,1,0 +2177,1100105,25,1,1,1.0,4.0,87795,1,0 +2178,1100105,25,1,1,0.0,4.0,64315,1,0 +2179,1100105,25,1,1,1.0,6.0,61292,1,0 +2180,1100105,25,1,1,0.0,6.0,94891,1,0 +2181,1100105,25,1,1,0.0,6.0,72942,1,0 +2182,1100105,25,1,1,1.0,6.0,70641,1,0 +2183,1100105,25,1,1,0.0,6.0,63674,1,0 +2184,1100105,25,1,1,0.0,4.0,74499,1,0 +2185,1100105,25,1,1,1.0,6.0,67329,1,0 +2186,1100105,25,1,1,0.0,6.0,65580,1,0 +2187,1100105,25,1,1,0.0,4.0,86561,1,0 +2188,1100105,25,1,1,1.0,6.0,67329,1,0 +2189,1100105,25,1,1,1.0,6.0,63674,1,0 +2190,1100105,25,1,1,0.0,6.0,67329,1,0 +2191,1100105,25,1,1,0.0,6.0,72942,1,0 +2192,1100105,25,1,1,1.0,6.0,60785,1,0 +2193,1100105,25,1,1,1.0,4.0,92189,1,0 +2194,1100105,25,1,1,0.0,4.0,70916,1,0 +2195,1100105,25,1,1,0.0,4.0,85867,1,0 +2196,1100105,25,1,1,0.0,6.0,56245,1,0 +2197,1100105,25,1,1,0.0,4.0,88652,1,0 +2198,1100105,25,1,1,1.0,6.0,89619,1,0 +2199,1100105,25,1,1,0.0,6.0,52681,1,0 +2200,1100105,25,1,1,1.0,6.0,92077,1,0 +2201,1100105,25,1,1,1.0,4.0,88046,1,0 +2202,1100105,25,1,1,1.0,6.0,70916,1,0 +2203,1100105,25,1,1,1.0,6.0,67329,1,0 +2204,1100105,25,1,1,0.0,4.0,73956,1,0 +2205,1100105,25,1,1,0.0,6.0,72942,1,0 +2206,1100105,25,1,1,0.0,6.0,67329,1,0 +2207,1100105,25,1,1,0.0,6.0,61152,1,0 +2208,1100105,25,1,1,1.0,6.0,92191,1,0 +2209,1100105,25,1,1,0.0,6.0,72508,1,0 +2210,1100105,25,1,1,0.0,6.0,72508,1,0 +2211,1100105,25,1,1,1.0,4.0,65851,1,0 +2212,1100105,25,1,1,1.0,6.0,70916,1,0 +2213,1100105,25,1,1,0.0,4.0,80816,1,0 +2214,1100105,25,1,1,0.0,6.0,72508,1,0 +2215,1100105,25,1,1,0.0,4.0,80816,1,0 +2216,1100105,25,1,1,1.0,6.0,66423,1,0 +2217,1100105,25,1,1,1.0,6.0,61010,0,0 +2218,1100105,25,1,1,1.0,4.0,89861,0,0 +2219,1100105,25,1,1,0.0,6.0,74286,0,0 +2220,1100105,25,1,1,1.0,4.0,69165,0,0 +2221,1100105,25,1,1,1.0,4.0,74062,0,0 +2222,1100105,25,1,1,1.0,4.0,69165,0,0 +2223,1100105,25,1,1,1.0,6.0,59886,0,0 +2224,1100105,25,1,1,0.0,4.0,51396,0,0 +2225,1100105,25,1,1,1.0,6.0,59886,0,0 +2226,1100105,25,1,1,0.0,4.0,94219,0,0 +2227,1100105,25,1,1,1.0,6.0,51364,0,0 +2228,1100105,25,1,1,1.0,4.0,65797,0,0 +2229,1100105,25,1,1,1.0,4.0,55821,0,0 +2230,1100105,25,1,1,1.0,4.0,82776,0,0 +2231,1100105,25,1,1,1.0,6.0,83944,0,0 +2232,1100105,25,1,1,0.0,4.0,63217,0,0 +2233,1100105,25,1,1,1.0,6.0,79593,0,0 +2234,1100105,25,1,1,1.0,6.0,79593,0,0 +2235,1100105,25,1,1,1.0,4.0,26358,1,0 +2236,1100105,25,1,1,1.0,4.0,42077,1,0 +2237,1100105,25,1,1,1.0,4.0,42077,1,0 +2238,1100105,25,1,1,0.0,4.0,45633,1,0 +2239,1100105,25,1,1,1.0,4.0,33959,1,0 +2240,1100105,25,1,1,0.0,6.0,28164,1,0 +2241,1100105,25,1,1,1.0,4.0,47755,1,0 +2242,1100105,25,1,1,0.0,6.0,42131,1,0 +2243,1100105,25,1,1,0.0,4.0,25895,1,0 +2244,1100105,25,1,1,1.0,6.0,42449,1,0 +2245,1100105,25,1,1,0.0,4.0,31075,1,0 +2246,1100105,25,1,1,0.0,4.0,46270,1,0 +2247,1100105,25,1,1,1.0,4.0,35332,1,0 +2248,1100105,25,1,1,0.0,6.0,26766,1,0 +2249,1100105,25,1,1,0.0,6.0,26766,1,0 +2250,1100105,25,1,1,0.0,6.0,42173,1,0 +2251,1100105,25,1,1,0.0,6.0,45589,1,0 +2252,1100105,25,1,1,1.0,4.0,42173,1,0 +2253,1100105,25,1,1,1.0,4.0,42173,1,0 +2254,1100105,25,1,1,2.0,4.0,42449,1,0 +2255,1100105,25,1,1,0.0,6.0,46602,1,0 +2256,1100105,25,1,1,0.0,6.0,46612,1,0 +2257,1100105,25,1,1,1.0,4.0,25696,1,0 +2258,1100105,25,1,1,0.0,6.0,42550,1,0 +2259,1100105,25,1,1,0.0,6.0,32120,1,0 +2260,1100105,25,1,1,0.0,4.0,41433,1,0 +2261,1100105,25,1,1,0.0,6.0,46391,1,0 +2262,1100105,25,1,1,0.0,4.0,26931,1,0 +2263,1100105,25,1,1,0.0,4.0,31085,1,0 +2264,1100105,25,1,1,0.0,6.0,36902,1,0 +2265,1100105,25,1,1,0.0,6.0,47755,1,0 +2266,1100105,25,1,1,0.0,6.0,46745,1,0 +2267,1100105,25,1,1,0.0,4.0,33871,1,0 +2268,1100105,25,1,1,1.0,6.0,29521,0,0 +2269,1100105,25,1,1,1.0,6.0,29521,0,0 +2270,1100105,25,1,1,1.0,4.0,47755,0,0 +2271,1100105,25,1,1,1.0,6.0,25327,0,0 +2272,1100105,25,1,1,1.0,6.0,47543,0,0 +2273,1100105,25,1,1,1.0,6.0,32580,0,0 +2274,1100105,25,1,1,1.0,6.0,40327,0,0 +2275,1100105,25,1,1,1.0,4.0,37045,0,0 +2276,1100105,25,1,1,0.0,6.0,32419,0,0 +2277,1100105,25,1,1,0.0,6.0,32419,0,0 +2278,1100105,25,1,1,1.0,4.0,37045,0,0 +2279,1100105,25,1,1,0.0,4.0,37383,0,0 +2280,1100105,25,1,1,0.0,4.0,25327,0,0 +2281,1100105,25,1,1,0.0,6.0,40219,0,0 +2282,1100105,25,1,1,0.0,4.0,27412,0,0 +2283,1100105,25,1,1,0.0,4.0,27412,0,0 +2284,1100105,25,1,1,0.0,4.0,27412,0,0 +2285,1100105,25,1,1,0.0,4.0,41739,0,0 +2286,1100105,25,1,1,1.0,4.0,20906,1,0 +2287,1100105,25,1,1,1.0,6.0,13062,1,0 +2288,1100105,25,1,1,0.0,6.0,19700,1,0 +2289,1100105,25,1,1,1.0,4.0,9197,1,0 +2290,1100105,25,1,1,1.0,4.0,9197,1,0 +2291,1100105,25,1,1,1.0,4.0,11914,1,0 +2292,1100105,25,1,1,1.0,6.0,19250,1,0 +2293,1100105,25,1,1,0.0,4.0,15815,1,0 +2294,1100105,25,1,1,0.0,4.0,16573,1,0 +2295,1100105,25,1,1,0.0,6.0,7192,1,0 +2296,1100105,25,1,1,1.0,6.0,15815,1,0 +2297,1100105,25,1,1,0.0,4.0,15815,1,0 +2298,1100105,25,1,1,1.0,4.0,16595,1,0 +2299,1100105,25,1,1,2.0,4.0,21413,1,0 +2300,1100105,25,1,1,2.0,4.0,21413,1,0 +2301,1100105,25,1,1,0.0,4.0,7747,1,0 +2302,1100105,25,1,1,0.0,6.0,5798,1,0 +2303,1100105,25,1,1,0.0,6.0,4282,1,0 +2304,1100105,25,1,1,0.0,6.0,24882,1,0 +2305,1100105,25,1,1,0.0,4.0,7091,1,0 +2306,1100105,25,1,1,0.0,6.0,5774,1,0 +2307,1100105,25,1,1,1.0,6.0,21352,1,0 +2308,1100105,25,1,1,0.0,6.0,20716,1,0 +2309,1100105,25,1,1,0.0,4.0,5306,1,0 +2310,1100105,25,1,1,0.0,6.0,19314,0,0 +2311,1100105,25,1,1,0.0,6.0,11497,0,0 +2312,1100105,25,1,1,0.0,6.0,21023,0,0 +2313,1100105,25,1,1,0.0,4.0,2108,0,0 +2314,1100105,25,1,1,1.0,4.0,3163,0,0 +2315,1100105,25,1,1,0.0,6.0,17344,0,0 +2316,1100105,25,1,1,0.0,6.0,12866,0,0 +2317,1100105,25,1,1,0.0,4.0,9944,0,0 +2318,1100105,25,1,1,0.0,6.0,17344,0,0 +2319,1100105,25,1,1,2.0,4.0,-4972,0,0 +2320,1100105,25,1,1,0.0,6.0,9314,0,0 +2321,1100105,25,1,1,0.0,4.0,9944,0,0 +2322,1100105,25,1,1,0.0,6.0,1450,0,0 +2323,1100105,25,1,1,0.0,4.0,23876,0,0 +2324,1100105,25,1,1,0.0,6.0,1391,0,0 +2325,1100105,25,1,1,0.0,6.0,20198,0,0 +2326,1100105,25,1,1,0.0,6.0,19505,0,0 +2327,1100105,25,1,1,1.0,4.0,9278,0,0 +2328,1100105,25,1,1,1.0,4.0,15069,0,0 +2329,1100105,25,1,1,0.0,6.0,20198,0,0 +2330,1100105,25,1,1,0.0,4.0,21275,0,0 +2331,1100105,25,1,1,0.0,6.0,11808,0,0 +2332,1100105,25,1,1,0.0,6.0,13068,0,0 +2333,1100105,25,1,1,1.0,4.0,13372,0,0 +2334,1100105,25,1,1,1.0,4.0,13372,0,0 +2335,1100105,25,1,1,0.0,6.0,11808,0,0 +2336,1100105,25,1,1,0.0,4.0,4650,0,0 +2337,1100105,25,1,1,0.0,4.0,32,0,0 +2338,1100105,25,1,1,1.0,6.0,0,0,0 +2339,1100105,25,1,1,1.0,6.0,0,0,0 +2340,1100105,25,1,1,0.0,6.0,7802,0,0 +2341,1100105,25,1,1,0.0,6.0,7802,0,0 +2342,1100105,25,1,1,0.0,4.0,13465,0,0 +2343,1100105,25,1,1,0.0,4.0,10543,0,0 +2344,1100105,25,1,1,1.0,4.0,6115,0,0 +2345,1100105,25,1,1,0.0,6.0,9117,0,0 +2346,1100105,25,1,1,1.0,6.0,24860,0,0 +2347,1100105,25,1,1,0.0,6.0,0,0,0 +2348,1100105,25,1,1,1.0,6.0,2569,0,0 +2349,1100105,25,1,1,0.0,6.0,0,0,0 +2350,1100105,25,1,1,0.0,6.0,0,0,0 +2351,1100105,25,1,1,0.0,4.0,9489,0,0 +2352,1100105,25,1,1,1.0,4.0,1243,0,0 +2353,1100105,25,1,1,0.0,6.0,0,0,0 +2354,1100105,25,1,1,0.0,6.0,0,0,0 +2355,1100105,25,1,1,0.0,6.0,3418,0,0 +2356,1100105,25,1,1,0.0,6.0,12741,0,0 +2357,1100105,25,1,1,1.0,6.0,2569,0,0 +2358,1100105,25,1,1,0.0,6.0,0,0,0 +2359,1100105,25,1,1,0.0,6.0,0,0,0 +2360,1100105,25,1,1,0.0,6.0,1657,0,0 +2361,1100105,25,1,1,0.0,6.0,1581,0,0 +2362,1100105,25,1,1,0.0,6.0,3502,0,0 +2363,1100105,25,1,1,0.0,6.0,0,0,0 +2364,1100105,25,1,1,0.0,6.0,0,0,0 +2365,1100105,25,1,1,0.0,4.0,20261,0,0 +2366,1100105,25,1,1,0.0,6.0,0,0,0 +2367,1100105,25,1,1,0.0,6.0,0,0,0 +2368,1100105,25,1,1,0.0,4.0,527,0,0 +2369,1100105,25,1,1,0.0,6.0,0,0,0 +2370,1100105,25,1,1,0.0,6.0,5306,0,0 +2371,1100105,25,1,1,0.0,6.0,5306,0,0 +2372,1100105,25,1,1,0.0,6.0,5306,0,0 +2373,1100105,26,1,5,0.0,5.0,225708,4,0 +2374,1100105,26,1,4,1.0,1.0,210869,2,1 +2375,1100105,26,1,4,3.0,1.0,111238,1,0 +2376,1100105,26,1,4,0.0,1.0,49250,2,0 +2377,1100105,26,1,5,1.0,3.0,32898,2,1 +2378,1100105,26,1,5,0.0,3.0,0,0,0 +2379,1100105,26,1,3,1.0,1.0,205597,2,1 +2380,1100105,26,1,3,0.0,1.0,256266,2,1 +2381,1100105,26,1,3,1.0,1.0,152818,1,1 +2382,1100105,26,1,3,1.0,1.0,68532,2,1 +2383,1100105,26,1,2,0.0,1.0,211993,2,0 +2384,1100105,26,1,2,2.0,1.0,328281,2,0 +2385,1100105,26,1,2,1.0,1.0,355516,2,0 +2386,1100105,26,1,2,1.0,7.0,262400,2,0 +2387,1100105,26,1,2,2.0,5.0,217195,2,0 +2388,1100105,26,1,2,1.0,5.0,305572,2,0 +2389,1100105,26,1,2,1.0,1.0,222881,2,0 +2390,1100105,26,1,2,1.0,5.0,323678,2,0 +2391,1100105,26,1,2,1.0,5.0,233581,2,0 +2392,1100105,26,1,2,0.0,7.0,228697,2,0 +2393,1100105,26,1,2,1.0,1.0,765455,1,0 +2394,1100105,26,1,2,2.0,5.0,201635,1,0 +2395,1100105,26,1,2,0.0,5.0,160600,2,0 +2396,1100105,26,1,2,2.0,1.0,189782,2,0 +2397,1100105,26,1,2,2.0,7.0,184484,2,0 +2398,1100105,26,1,2,2.0,1.0,198074,2,0 +2399,1100105,26,1,2,1.0,7.0,151964,2,0 +2400,1100105,26,1,2,1.0,5.0,174043,2,0 +2401,1100105,26,1,2,1.0,7.0,181344,2,0 +2402,1100105,26,1,2,0.0,5.0,169187,2,0 +2403,1100105,26,1,2,2.0,1.0,153200,1,0 +2404,1100105,26,1,2,1.0,7.0,154176,1,0 +2405,1100105,26,1,2,0.0,1.0,164794,1,0 +2406,1100105,26,1,2,0.0,7.0,126693,2,0 +2407,1100105,26,1,2,1.0,1.0,117032,2,0 +2408,1100105,26,1,2,0.0,7.0,128480,2,0 +2409,1100105,26,1,2,0.0,1.0,137046,1,0 +2410,1100105,26,1,2,1.0,1.0,78373,2,0 +2411,1100105,26,1,2,1.0,7.0,54193,1,0 +2412,1100105,26,1,2,0.0,1.0,66423,1,0 +2413,1100105,26,1,2,1.0,1.0,71952,1,0 +2414,1100105,26,1,2,1.0,1.0,69586,1,0 +2415,1100105,26,1,2,1.0,1.0,36066,0,0 +2416,1100105,26,1,2,0.0,7.0,5306,1,0 +2417,1100105,26,1,1,1.0,6.0,306212,1,0 +2418,1100105,26,1,1,1.0,6.0,325253,1,0 +2419,1100105,26,1,1,0.0,4.0,257260,1,0 +2420,1100105,26,1,1,0.0,6.0,445566,0,0 +2421,1100105,26,1,1,1.0,6.0,160260,1,0 +2422,1100105,26,1,1,1.0,4.0,165610,1,0 +2423,1100105,26,1,1,0.0,4.0,150244,1,0 +2424,1100105,26,1,1,1.0,4.0,152035,1,0 +2425,1100105,26,1,1,0.0,4.0,180650,1,0 +2426,1100105,26,1,1,1.0,4.0,101512,1,0 +2427,1100105,26,1,1,1.0,4.0,102940,1,0 +2428,1100105,26,1,1,0.0,6.0,136730,1,0 +2429,1100105,26,1,1,1.0,4.0,108762,1,0 +2430,1100105,26,1,1,0.0,6.0,101309,1,0 +2431,1100105,26,1,1,0.0,6.0,107727,1,0 +2432,1100105,26,1,1,1.0,4.0,134658,1,0 +2433,1100105,26,1,1,1.0,6.0,124610,1,0 +2434,1100105,26,1,1,0.0,4.0,102784,1,0 +2435,1100105,26,1,1,1.0,4.0,146392,1,0 +2436,1100105,26,1,1,0.0,4.0,107388,1,0 +2437,1100105,26,1,1,0.0,6.0,102784,1,0 +2438,1100105,26,1,1,0.0,6.0,119121,1,0 +2439,1100105,26,1,1,1.0,4.0,109307,0,0 +2440,1100105,26,1,1,1.0,4.0,74732,1,0 +2441,1100105,26,1,1,1.0,6.0,87010,1,0 +2442,1100105,26,1,1,0.0,6.0,52827,1,0 +2443,1100105,26,1,1,1.0,6.0,68980,1,0 +2444,1100105,26,1,1,1.0,6.0,93225,1,0 +2445,1100105,26,1,1,1.0,6.0,74947,1,0 +2446,1100105,26,1,1,1.0,4.0,74947,1,0 +2447,1100105,26,1,1,1.0,4.0,55720,1,0 +2448,1100105,26,1,1,1.0,6.0,96360,1,0 +2449,1100105,26,1,1,0.0,4.0,76652,1,0 +2450,1100105,26,1,1,0.0,6.0,89936,1,0 +2451,1100105,26,1,1,0.0,6.0,68980,1,0 +2452,1100105,26,1,1,0.0,6.0,85653,1,0 +2453,1100105,26,1,1,0.0,4.0,91178,1,0 +2454,1100105,26,1,1,0.0,6.0,85653,1,0 +2455,1100105,26,1,1,0.0,4.0,96360,1,0 +2456,1100105,26,1,1,1.0,4.0,92189,1,0 +2457,1100105,26,1,1,0.0,6.0,53345,1,0 +2458,1100105,26,1,1,1.0,4.0,79593,1,0 +2459,1100105,26,1,1,0.0,6.0,72508,1,0 +2460,1100105,26,1,1,1.0,4.0,50652,0,0 +2461,1100105,26,1,1,0.0,6.0,64417,0,0 +2462,1100105,26,1,1,0.0,4.0,83074,0,0 +2463,1100105,26,1,1,1.0,4.0,40327,1,0 +2464,1100105,26,1,1,1.0,6.0,42449,1,0 +2465,1100105,26,1,1,0.0,6.0,42826,1,0 +2466,1100105,26,1,1,0.0,4.0,40397,1,0 +2467,1100105,26,1,1,0.0,6.0,31075,1,0 +2468,1100105,26,1,1,0.0,6.0,49720,1,0 +2469,1100105,26,1,1,1.0,4.0,45421,0,0 +2470,1100105,26,1,1,1.0,4.0,37045,0,0 +2471,1100105,26,1,1,0.0,4.0,27412,0,0 +2472,1100105,26,1,1,0.0,4.0,16060,1,0 +2473,1100105,26,1,1,0.0,4.0,20716,1,0 +2474,1100105,26,1,1,0.0,6.0,4282,1,0 +2475,1100105,26,1,1,0.0,6.0,10358,1,0 +2476,1100105,26,1,1,0.0,6.0,12157,0,0 +2477,1100105,26,1,1,1.0,4.0,15281,0,0 +2478,1100105,26,1,1,0.0,6.0,15709,0,0 +2479,1100105,26,1,1,1.0,4.0,15281,0,0 +2480,1100105,26,1,1,0.0,6.0,13362,0,0 +2481,1100105,26,1,1,1.0,4.0,13372,0,0 +2482,1100105,26,1,1,0.0,4.0,13601,0,0 +2483,1100105,26,1,1,0.0,4.0,3163,0,0 +2484,1100105,26,1,1,1.0,6.0,2569,0,0 +2485,1100105,26,1,1,1.0,6.0,1284,0,0 +2486,1100105,26,1,1,1.0,4.0,0,0,0 +2487,1100105,27,1,4,1.0,5.0,671683,4,0 +2488,1100105,27,1,4,2.0,5.0,286940,4,0 +2489,1100105,27,1,4,3.0,5.0,290758,4,0 +2490,1100105,27,1,4,0.0,5.0,265184,4,0 +2491,1100105,27,1,4,1.0,1.0,258846,2,1 +2492,1100105,27,1,4,1.0,1.0,210869,2,1 +2493,1100105,27,1,4,1.0,1.0,210869,2,1 +2494,1100105,27,1,4,1.0,1.0,210869,2,1 +2495,1100105,27,1,4,2.0,1.0,263586,2,1 +2496,1100105,27,1,4,2.0,1.0,246182,2,1 +2497,1100105,27,1,4,2.0,1.0,246182,2,1 +2498,1100105,27,1,4,2.0,1.0,246182,2,1 +2499,1100105,27,1,4,1.0,1.0,422792,2,1 +2500,1100105,27,1,4,1.0,1.0,254097,2,1 +2501,1100105,27,1,4,1.0,1.0,369022,2,1 +2502,1100105,27,1,4,2.0,1.0,329256,2,1 +2503,1100105,27,1,4,2.0,1.0,329256,2,1 +2504,1100105,27,1,4,1.0,1.0,445410,2,1 +2505,1100105,27,1,4,2.0,1.0,367045,1,1 +2506,1100105,27,1,4,2.0,1.0,686623,1,1 +2507,1100105,27,1,4,1.0,1.0,178288,2,1 +2508,1100105,27,1,4,1.0,1.0,178288,2,1 +2509,1100105,27,1,4,2.0,3.0,167008,1,0 +2510,1100105,27,1,4,0.0,1.0,158151,1,1 +2511,1100105,27,1,4,1.0,3.0,183913,1,1 +2512,1100105,27,1,4,1.0,1.0,156016,1,1 +2513,1100105,27,1,4,3.0,1.0,111238,1,0 +2514,1100105,27,1,4,3.0,1.0,111238,1,0 +2515,1100105,27,1,4,2.0,2.0,124383,1,0 +2516,1100105,27,1,4,2.0,1.0,138794,1,1 +2517,1100105,27,1,4,0.0,7.0,89781,3,0 +2518,1100105,27,1,4,2.0,5.0,81385,3,0 +2519,1100105,27,1,4,2.0,1.0,92044,2,0 +2520,1100105,27,1,4,0.0,1.0,72612,2,1 +2521,1100105,27,1,4,2.0,1.0,56934,2,1 +2522,1100105,27,1,4,0.0,3.0,51151,1,1 +2523,1100105,27,1,4,2.0,1.0,46391,2,0 +2524,1100105,27,1,4,0.0,1.0,49250,2,0 +2525,1100105,27,1,4,0.0,1.0,49250,2,0 +2526,1100105,27,1,4,0.0,1.0,49250,2,0 +2527,1100105,27,1,4,0.0,1.0,49250,2,0 +2528,1100105,27,1,4,0.0,1.0,49250,2,0 +2529,1100105,27,1,4,0.0,1.0,49250,2,0 +2530,1100105,27,1,4,0.0,1.0,49250,2,0 +2531,1100105,27,1,4,3.0,1.0,49720,2,1 +2532,1100105,27,1,4,1.0,1.0,27967,2,1 +2533,1100105,27,1,5,0.0,3.0,44539,2,1 +2534,1100105,27,1,4,1.0,1.0,46038,1,1 +2535,1100105,27,1,4,0.0,1.0,20261,1,1 +2536,1100105,27,1,4,0.0,1.0,20261,1,1 +2537,1100105,27,1,4,0.0,5.0,0,0,0 +2538,1100105,27,1,4,0.0,5.0,0,0,0 +2539,1100105,27,1,3,2.0,1.0,340790,2,1 +2540,1100105,27,1,3,2.0,1.0,227946,2,1 +2541,1100105,27,1,3,1.0,1.0,435761,2,1 +2542,1100105,27,1,3,1.0,1.0,298717,2,1 +2543,1100105,27,1,3,1.0,1.0,231956,2,1 +2544,1100105,27,1,3,1.0,1.0,416466,2,1 +2545,1100105,27,1,3,1.0,1.0,241350,2,1 +2546,1100105,27,1,3,1.0,1.0,308715,2,1 +2547,1100105,27,1,3,0.0,1.0,256266,2,1 +2548,1100105,27,1,3,2.0,1.0,271509,2,1 +2549,1100105,27,1,3,1.0,1.0,238760,1,1 +2550,1100105,27,1,3,1.0,1.0,218249,1,1 +2551,1100105,27,1,3,2.0,7.0,180504,3,0 +2552,1100105,27,1,3,2.0,1.0,162095,2,1 +2553,1100105,27,1,3,1.0,1.0,152818,1,1 +2554,1100105,27,1,3,1.0,1.0,152818,1,1 +2555,1100105,27,1,3,1.0,1.0,145390,2,1 +2556,1100105,27,1,3,1.0,1.0,107067,1,1 +2557,1100105,27,1,3,1.0,7.0,52827,2,0 +2558,1100105,27,1,3,1.0,1.0,68532,2,1 +2559,1100105,27,1,3,1.0,1.0,68532,2,1 +2560,1100105,27,1,2,3.0,1.0,288657,2,0 +2561,1100105,27,1,2,1.0,7.0,221054,2,0 +2562,1100105,27,1,2,0.0,1.0,211993,2,0 +2563,1100105,27,1,2,1.0,1.0,362543,2,0 +2564,1100105,27,1,2,1.0,1.0,218249,2,0 +2565,1100105,27,1,2,2.0,7.0,217554,2,0 +2566,1100105,27,1,2,1.0,1.0,227884,2,0 +2567,1100105,27,1,2,2.0,1.0,328281,2,0 +2568,1100105,27,1,2,2.0,7.0,209393,2,0 +2569,1100105,27,1,2,1.0,1.0,208207,2,0 +2570,1100105,27,1,2,1.0,1.0,230194,2,0 +2571,1100105,27,1,2,2.0,5.0,644173,2,0 +2572,1100105,27,1,2,1.0,1.0,276575,2,0 +2573,1100105,27,1,2,1.0,1.0,258339,2,0 +2574,1100105,27,1,2,1.0,1.0,236656,2,0 +2575,1100105,27,1,2,1.0,1.0,230194,2,0 +2576,1100105,27,1,2,1.0,1.0,242499,2,0 +2577,1100105,27,1,2,1.0,1.0,773058,2,0 +2578,1100105,27,1,2,1.0,5.0,419535,2,0 +2579,1100105,27,1,2,0.0,7.0,329767,2,0 +2580,1100105,27,1,2,1.0,5.0,375526,2,0 +2581,1100105,27,1,2,2.0,5.0,449682,2,0 +2582,1100105,27,1,2,1.0,1.0,262004,2,0 +2583,1100105,27,1,2,1.0,1.0,236656,2,0 +2584,1100105,27,1,2,1.0,5.0,305572,2,0 +2585,1100105,27,1,2,2.0,7.0,390510,2,0 +2586,1100105,27,1,2,1.0,1.0,295824,2,0 +2587,1100105,27,1,2,0.0,1.0,980981,2,0 +2588,1100105,27,1,2,0.0,5.0,843172,2,0 +2589,1100105,27,1,2,1.0,7.0,242507,2,0 +2590,1100105,27,1,2,0.0,1.0,219842,2,0 +2591,1100105,27,1,2,2.0,1.0,249636,2,0 +2592,1100105,27,1,2,1.0,7.0,228959,2,0 +2593,1100105,27,1,2,0.0,5.0,315930,2,0 +2594,1100105,27,1,2,1.0,5.0,307869,2,0 +2595,1100105,27,1,2,2.0,7.0,206639,2,0 +2596,1100105,27,1,2,2.0,7.0,206639,2,0 +2597,1100105,27,1,2,1.0,5.0,252575,2,0 +2598,1100105,27,1,2,0.0,7.0,203427,2,0 +2599,1100105,27,1,2,0.0,1.0,1452888,2,0 +2600,1100105,27,1,2,0.0,5.0,212790,2,0 +2601,1100105,27,1,2,1.0,1.0,725086,2,0 +2602,1100105,27,1,2,1.0,1.0,417442,2,0 +2603,1100105,27,1,2,1.0,5.0,227884,2,0 +2604,1100105,27,1,2,0.0,1.0,210342,2,0 +2605,1100105,27,1,2,1.0,1.0,409086,2,0 +2606,1100105,27,1,2,2.0,1.0,238779,2,0 +2607,1100105,27,1,2,0.0,1.0,210342,2,0 +2608,1100105,27,1,2,1.0,5.0,222860,2,0 +2609,1100105,27,1,2,1.0,1.0,204598,2,0 +2610,1100105,27,1,2,1.0,1.0,207684,2,0 +2611,1100105,27,1,2,1.0,1.0,323678,2,0 +2612,1100105,27,1,2,1.0,1.0,352151,2,0 +2613,1100105,27,1,2,1.0,1.0,261031,2,0 +2614,1100105,27,1,2,1.0,1.0,450205,2,0 +2615,1100105,27,1,2,1.0,1.0,318112,1,0 +2616,1100105,27,1,2,2.0,1.0,1039585,1,0 +2617,1100105,27,1,2,1.0,1.0,247461,1,0 +2618,1100105,27,1,2,1.0,1.0,247461,1,0 +2619,1100105,27,1,2,1.0,1.0,767808,1,0 +2620,1100105,27,1,2,1.0,1.0,214875,1,0 +2621,1100105,27,1,2,1.0,1.0,392871,0,0 +2622,1100105,27,1,2,0.0,1.0,359761,0,0 +2623,1100105,27,1,2,2.0,5.0,190579,2,0 +2624,1100105,27,1,2,1.0,1.0,178305,2,0 +2625,1100105,27,1,2,1.0,1.0,178305,2,0 +2626,1100105,27,1,2,1.0,1.0,178305,2,0 +2627,1100105,27,1,2,2.0,5.0,163812,2,0 +2628,1100105,27,1,2,0.0,1.0,178507,2,0 +2629,1100105,27,1,2,0.0,1.0,166061,2,0 +2630,1100105,27,1,2,0.0,1.0,189558,2,0 +2631,1100105,27,1,2,0.0,5.0,197391,2,0 +2632,1100105,27,1,2,2.0,5.0,163812,2,0 +2633,1100105,27,1,2,0.0,1.0,155247,2,0 +2634,1100105,27,1,2,1.0,1.0,171949,2,0 +2635,1100105,27,1,2,2.0,7.0,184484,2,0 +2636,1100105,27,1,2,1.0,7.0,163108,2,0 +2637,1100105,27,1,2,1.0,1.0,156002,2,0 +2638,1100105,27,1,2,2.0,5.0,156254,2,0 +2639,1100105,27,1,2,1.0,7.0,194207,2,0 +2640,1100105,27,1,2,2.0,5.0,172239,2,0 +2641,1100105,27,1,2,1.0,1.0,199088,2,0 +2642,1100105,27,1,2,2.0,5.0,193999,2,0 +2643,1100105,27,1,2,0.0,5.0,158483,2,0 +2644,1100105,27,1,2,2.0,5.0,193999,2,0 +2645,1100105,27,1,2,1.0,5.0,176166,2,0 +2646,1100105,27,1,2,1.0,7.0,168695,2,0 +2647,1100105,27,1,2,1.0,1.0,151232,2,0 +2648,1100105,27,1,2,1.0,7.0,151964,2,0 +2649,1100105,27,1,2,0.0,1.0,151232,2,0 +2650,1100105,27,1,2,2.0,5.0,184656,2,0 +2651,1100105,27,1,2,1.0,1.0,176232,2,0 +2652,1100105,27,1,2,1.0,1.0,167024,2,0 +2653,1100105,27,1,2,1.0,1.0,182357,2,0 +2654,1100105,27,1,2,1.0,7.0,150771,2,0 +2655,1100105,27,1,2,1.0,5.0,167641,2,0 +2656,1100105,27,1,2,2.0,5.0,150771,2,0 +2657,1100105,27,1,2,1.0,1.0,158172,2,0 +2658,1100105,27,1,2,1.0,7.0,172378,2,0 +2659,1100105,27,1,2,0.0,7.0,152977,2,0 +2660,1100105,27,1,2,1.0,5.0,199386,2,0 +2661,1100105,27,1,2,1.0,1.0,175376,2,0 +2662,1100105,27,1,2,1.0,5.0,159398,2,0 +2663,1100105,27,1,2,0.0,5.0,180293,2,0 +2664,1100105,27,1,2,0.0,5.0,180293,2,0 +2665,1100105,27,1,2,2.0,7.0,187367,2,0 +2666,1100105,27,1,2,1.0,1.0,182357,2,0 +2667,1100105,27,1,2,1.0,5.0,154516,2,0 +2668,1100105,27,1,2,2.0,5.0,184656,2,0 +2669,1100105,27,1,2,1.0,5.0,151964,2,0 +2670,1100105,27,1,2,1.0,7.0,156318,2,0 +2671,1100105,27,1,2,0.0,1.0,156043,2,0 +2672,1100105,27,1,2,2.0,1.0,193470,2,0 +2673,1100105,27,1,2,1.0,1.0,175468,1,0 +2674,1100105,27,1,2,2.0,1.0,153200,1,0 +2675,1100105,27,1,2,0.0,5.0,197194,1,0 +2676,1100105,27,1,2,1.0,1.0,167024,1,0 +2677,1100105,27,1,2,1.0,1.0,194525,1,0 +2678,1100105,27,1,2,0.0,1.0,164794,1,0 +2679,1100105,27,1,2,1.0,1.0,170913,1,0 +2680,1100105,27,1,2,1.0,7.0,171307,1,0 +2681,1100105,27,1,2,1.0,7.0,189782,1,0 +2682,1100105,27,1,2,2.0,1.0,159726,0,0 +2683,1100105,27,1,2,2.0,1.0,111744,2,0 +2684,1100105,27,1,2,1.0,1.0,124198,2,0 +2685,1100105,27,1,2,0.0,1.0,122000,2,0 +2686,1100105,27,1,2,0.0,1.0,116506,2,0 +2687,1100105,27,1,2,0.0,7.0,120769,2,0 +2688,1100105,27,1,2,1.0,5.0,117032,2,0 +2689,1100105,27,1,2,0.0,5.0,111430,2,0 +2690,1100105,27,1,2,1.0,1.0,126521,2,0 +2691,1100105,27,1,2,0.0,1.0,137064,2,0 +2692,1100105,27,1,2,1.0,1.0,106375,2,0 +2693,1100105,27,1,2,1.0,1.0,106375,2,0 +2694,1100105,27,1,2,0.0,5.0,149160,2,0 +2695,1100105,27,1,2,1.0,7.0,107067,2,0 +2696,1100105,27,1,2,1.0,7.0,124169,2,0 +2697,1100105,27,1,2,1.0,7.0,144872,2,0 +2698,1100105,27,1,2,0.0,7.0,125804,2,0 +2699,1100105,27,1,2,1.0,7.0,103335,2,0 +2700,1100105,27,1,2,1.0,7.0,132006,2,0 +2701,1100105,27,1,2,1.0,1.0,143267,2,0 +2702,1100105,27,1,2,0.0,7.0,111450,2,0 +2703,1100105,27,1,2,0.0,5.0,121299,2,0 +2704,1100105,27,1,2,1.0,1.0,145535,2,0 +2705,1100105,27,1,2,1.0,1.0,143267,2,0 +2706,1100105,27,1,2,1.0,5.0,149104,2,0 +2707,1100105,27,1,2,0.0,7.0,125804,2,0 +2708,1100105,27,1,2,2.0,1.0,149894,2,0 +2709,1100105,27,1,2,0.0,5.0,123104,2,0 +2710,1100105,27,1,2,1.0,7.0,126637,2,0 +2711,1100105,27,1,2,1.0,7.0,113869,2,0 +2712,1100105,27,1,2,0.0,7.0,108762,2,0 +2713,1100105,27,1,2,1.0,5.0,137064,2,0 +2714,1100105,27,1,2,0.0,1.0,107227,1,0 +2715,1100105,27,1,2,0.0,1.0,118859,1,0 +2716,1100105,27,1,2,0.0,1.0,133424,1,0 +2717,1100105,27,1,2,1.0,1.0,139807,1,0 +2718,1100105,27,1,2,2.0,1.0,107067,1,0 +2719,1100105,27,1,2,2.0,7.0,108401,1,0 +2720,1100105,27,1,2,1.0,1.0,131266,0,0 +2721,1100105,27,1,2,1.0,1.0,55821,2,0 +2722,1100105,27,1,2,0.0,5.0,94219,2,0 +2723,1100105,27,1,2,0.0,7.0,52213,2,0 +2724,1100105,27,1,2,2.0,1.0,68384,2,0 +2725,1100105,27,1,2,0.0,7.0,83838,2,0 +2726,1100105,27,1,2,2.0,1.0,82458,2,0 +2727,1100105,27,1,2,1.0,5.0,82977,2,0 +2728,1100105,27,1,2,1.0,3.0,85653,2,0 +2729,1100105,27,1,2,0.0,5.0,79593,2,0 +2730,1100105,27,1,2,0.0,5.0,79593,2,0 +2731,1100105,27,1,2,0.0,5.0,95511,2,0 +2732,1100105,27,1,2,1.0,5.0,99108,2,0 +2733,1100105,27,1,2,1.0,5.0,70916,2,0 +2734,1100105,27,1,2,1.0,7.0,82867,2,0 +2735,1100105,27,1,2,1.0,5.0,58368,2,0 +2736,1100105,27,1,2,1.0,5.0,58368,2,0 +2737,1100105,27,1,2,1.0,5.0,64438,2,0 +2738,1100105,27,1,2,0.0,7.0,77687,2,0 +2739,1100105,27,1,2,0.0,5.0,97031,2,0 +2740,1100105,27,1,2,1.0,5.0,85100,2,0 +2741,1100105,27,1,2,1.0,5.0,58368,2,0 +2742,1100105,27,1,2,1.0,7.0,60814,2,0 +2743,1100105,27,1,2,0.0,7.0,64226,2,0 +2744,1100105,27,1,2,0.0,5.0,74590,2,0 +2745,1100105,27,1,2,2.0,3.0,77470,2,0 +2746,1100105,27,1,2,2.0,7.0,98404,2,0 +2747,1100105,27,1,2,1.0,7.0,90739,1,0 +2748,1100105,27,1,2,0.0,3.0,79699,1,0 +2749,1100105,27,1,2,1.0,1.0,93225,1,0 +2750,1100105,27,1,2,1.0,5.0,68532,1,0 +2751,1100105,27,1,2,1.0,7.0,54193,1,0 +2752,1100105,27,1,2,1.0,7.0,54193,1,0 +2753,1100105,27,1,2,1.0,7.0,84899,1,0 +2754,1100105,27,1,2,0.0,1.0,66423,1,0 +2755,1100105,27,1,2,0.0,1.0,66423,1,0 +2756,1100105,27,1,2,0.0,7.0,53104,1,0 +2757,1100105,27,1,2,0.0,7.0,53104,1,0 +2758,1100105,27,1,2,0.0,1.0,78531,1,0 +2759,1100105,27,1,2,1.0,7.0,94339,1,0 +2760,1100105,27,1,2,2.0,5.0,54017,1,0 +2761,1100105,27,1,2,0.0,1.0,64838,1,0 +2762,1100105,27,1,2,1.0,1.0,97217,0,0 +2763,1100105,27,1,2,0.0,1.0,73909,0,0 +2764,1100105,27,1,2,1.0,1.0,47972,2,0 +2765,1100105,27,1,2,0.0,1.0,47658,2,0 +2766,1100105,27,1,2,0.0,7.0,27202,2,0 +2767,1100105,27,1,2,0.0,5.0,41649,2,0 +2768,1100105,27,1,2,0.0,5.0,37956,2,0 +2769,1100105,27,1,2,1.0,1.0,31837,1,0 +2770,1100105,27,1,2,0.0,1.0,29440,1,0 +2771,1100105,27,1,2,1.0,3.0,40465,1,0 +2772,1100105,27,1,2,1.0,5.0,48180,1,0 +2773,1100105,27,1,2,2.0,7.0,31975,1,0 +2774,1100105,27,1,2,1.0,3.0,33429,1,1 +2775,1100105,27,1,2,1.0,1.0,36327,0,0 +2776,1100105,27,1,2,1.0,7.0,31000,0,0 +2777,1100105,27,1,2,0.0,1.0,42469,0,0 +2778,1100105,27,1,2,1.0,3.0,28381,0,0 +2779,1100105,27,1,2,0.0,2.0,23195,2,0 +2780,1100105,27,1,2,1.0,3.0,12741,1,0 +2781,1100105,27,1,2,1.0,1.0,17609,1,0 +2782,1100105,27,1,2,1.0,1.0,17609,1,0 +2783,1100105,27,1,2,0.0,7.0,5074,1,0 +2784,1100105,27,1,2,0.0,5.0,19556,0,0 +2785,1100105,27,1,2,1.0,3.0,9850,0,0 +2786,1100105,27,1,2,0.0,1.0,8565,0,0 +2787,1100105,27,1,2,0.0,3.0,6747,0,0 +2788,1100105,27,1,2,0.0,5.0,4280,0,0 +2789,1100105,27,1,2,0.0,7.0,5271,0,0 +2790,1100105,27,1,1,1.0,6.0,299788,1,0 +2791,1100105,27,1,1,1.0,6.0,414885,1,0 +2792,1100105,27,1,1,1.0,4.0,288732,1,0 +2793,1100105,27,1,1,1.0,6.0,327625,1,0 +2794,1100105,27,1,1,0.0,4.0,238760,1,0 +2795,1100105,27,1,1,1.0,4.0,200325,1,0 +2796,1100105,27,1,1,1.0,6.0,677761,1,0 +2797,1100105,27,1,1,0.0,6.0,262532,1,0 +2798,1100105,27,1,1,1.0,4.0,623131,1,0 +2799,1100105,27,1,1,2.0,4.0,765455,1,0 +2800,1100105,27,1,1,0.0,4.0,414335,1,0 +2801,1100105,27,1,1,1.0,4.0,624416,1,0 +2802,1100105,27,1,1,2.0,6.0,308994,1,0 +2803,1100105,27,1,1,1.0,4.0,256961,1,0 +2804,1100105,27,1,1,1.0,6.0,326555,1,0 +2805,1100105,27,1,1,0.0,4.0,207710,1,0 +2806,1100105,27,1,1,0.0,6.0,237469,1,0 +2807,1100105,27,1,1,2.0,4.0,200325,1,0 +2808,1100105,27,1,1,0.0,6.0,237469,1,0 +2809,1100105,27,1,1,2.0,4.0,765455,1,0 +2810,1100105,27,1,1,0.0,6.0,233012,1,0 +2811,1100105,27,1,1,1.0,4.0,793451,1,0 +2812,1100105,27,1,1,1.0,6.0,210869,1,0 +2813,1100105,27,1,1,0.0,4.0,677255,1,0 +2814,1100105,27,1,1,0.0,4.0,222860,1,0 +2815,1100105,27,1,1,0.0,6.0,384976,1,0 +2816,1100105,27,1,1,1.0,4.0,793451,1,0 +2817,1100105,27,1,1,1.0,6.0,337707,1,0 +2818,1100105,27,1,1,1.0,6.0,278601,1,0 +2819,1100105,27,1,1,1.0,4.0,210869,1,0 +2820,1100105,27,1,1,1.0,6.0,328446,1,0 +2821,1100105,27,1,1,1.0,6.0,253274,1,0 +2822,1100105,27,1,1,0.0,6.0,307760,1,0 +2823,1100105,27,1,1,1.0,6.0,243421,1,0 +2824,1100105,27,1,1,0.0,6.0,445566,0,0 +2825,1100105,27,1,1,1.0,4.0,204060,0,0 +2826,1100105,27,1,1,1.0,6.0,429645,0,0 +2827,1100105,27,1,1,0.0,6.0,183603,1,0 +2828,1100105,27,1,1,0.0,6.0,165734,1,0 +2829,1100105,27,1,1,6.0,4.0,180411,1,0 +2830,1100105,27,1,1,1.0,4.0,196809,1,0 +2831,1100105,27,1,1,1.0,4.0,196809,1,0 +2832,1100105,27,1,1,1.0,4.0,196809,1,0 +2833,1100105,27,1,1,1.0,6.0,155621,1,0 +2834,1100105,27,1,1,1.0,6.0,155621,1,0 +2835,1100105,27,1,1,1.0,4.0,195054,1,0 +2836,1100105,27,1,1,2.0,6.0,181960,1,0 +2837,1100105,27,1,1,1.0,4.0,199580,1,0 +2838,1100105,27,1,1,1.0,6.0,165553,1,0 +2839,1100105,27,1,1,1.0,4.0,152035,1,0 +2840,1100105,27,1,1,1.0,4.0,172226,1,0 +2841,1100105,27,1,1,0.0,4.0,150244,1,0 +2842,1100105,27,1,1,0.0,6.0,153990,1,0 +2843,1100105,27,1,1,0.0,4.0,189782,1,0 +2844,1100105,27,1,1,2.0,4.0,156960,1,0 +2845,1100105,27,1,1,1.0,4.0,181271,1,0 +2846,1100105,27,1,1,0.0,4.0,163108,1,0 +2847,1100105,27,1,1,1.0,4.0,161308,1,0 +2848,1100105,27,1,1,1.0,4.0,170913,1,0 +2849,1100105,27,1,1,1.0,4.0,170913,1,0 +2850,1100105,27,1,1,1.0,6.0,178802,1,0 +2851,1100105,27,1,1,0.0,4.0,187367,1,0 +2852,1100105,27,1,1,0.0,4.0,179238,1,0 +2853,1100105,27,1,1,1.0,4.0,172226,1,0 +2854,1100105,27,1,1,1.0,4.0,172226,1,0 +2855,1100105,27,1,1,1.0,4.0,170913,1,0 +2856,1100105,27,1,1,0.0,6.0,176092,1,0 +2857,1100105,27,1,1,1.0,4.0,182610,1,0 +2858,1100105,27,1,1,0.0,4.0,151964,1,0 +2859,1100105,27,1,1,1.0,4.0,151964,1,0 +2860,1100105,27,1,1,0.0,4.0,151825,1,0 +2861,1100105,27,1,1,1.0,4.0,182401,1,0 +2862,1100105,27,1,1,1.0,6.0,160787,1,0 +2863,1100105,27,1,1,0.0,6.0,167161,1,0 +2864,1100105,27,1,1,0.0,6.0,166703,1,0 +2865,1100105,27,1,1,0.0,6.0,166703,1,0 +2866,1100105,27,1,1,0.0,6.0,162095,1,0 +2867,1100105,27,1,1,1.0,4.0,164883,1,0 +2868,1100105,27,1,1,1.0,4.0,184510,1,0 +2869,1100105,27,1,1,0.0,6.0,166703,1,0 +2870,1100105,27,1,1,1.0,4.0,155375,1,0 +2871,1100105,27,1,1,1.0,4.0,191023,0,0 +2872,1100105,27,1,1,1.0,4.0,115418,1,0 +2873,1100105,27,1,1,1.0,4.0,108762,1,0 +2874,1100105,27,1,1,0.0,4.0,104380,1,0 +2875,1100105,27,1,1,1.0,4.0,127349,1,0 +2876,1100105,27,1,1,1.0,4.0,103583,1,0 +2877,1100105,27,1,1,0.0,6.0,137961,1,0 +2878,1100105,27,1,1,0.0,4.0,105434,1,0 +2879,1100105,27,1,1,0.0,4.0,143267,1,0 +2880,1100105,27,1,1,0.0,6.0,141757,1,0 +2881,1100105,27,1,1,0.0,6.0,137961,1,0 +2882,1100105,27,1,1,1.0,4.0,123127,1,0 +2883,1100105,27,1,1,1.0,4.0,123127,1,0 +2884,1100105,27,1,1,1.0,6.0,119545,1,0 +2885,1100105,27,1,1,1.0,6.0,102322,1,0 +2886,1100105,27,1,1,1.0,6.0,118532,1,0 +2887,1100105,27,1,1,1.0,6.0,121571,1,0 +2888,1100105,27,1,1,1.0,4.0,139187,1,0 +2889,1100105,27,1,1,0.0,4.0,127349,1,0 +2890,1100105,27,1,1,1.0,4.0,113942,1,0 +2891,1100105,27,1,1,0.0,6.0,141833,1,0 +2892,1100105,27,1,1,1.0,4.0,137064,1,0 +2893,1100105,27,1,1,1.0,6.0,136900,1,0 +2894,1100105,27,1,1,1.0,4.0,131793,1,0 +2895,1100105,27,1,1,1.0,6.0,107727,1,0 +2896,1100105,27,1,1,1.0,6.0,136768,1,0 +2897,1100105,27,1,1,0.0,6.0,113869,1,0 +2898,1100105,27,1,1,0.0,6.0,114562,1,0 +2899,1100105,27,1,1,1.0,6.0,126339,1,0 +2900,1100105,27,1,1,1.0,6.0,100373,1,0 +2901,1100105,27,1,1,1.0,4.0,130585,1,0 +2902,1100105,27,1,1,0.0,6.0,100162,1,0 +2903,1100105,27,1,1,1.0,4.0,106177,1,0 +2904,1100105,27,1,1,0.0,6.0,148823,1,0 +2905,1100105,27,1,1,1.0,4.0,148925,1,0 +2906,1100105,27,1,1,1.0,6.0,124610,1,0 +2907,1100105,27,1,1,1.0,6.0,142945,1,0 +2908,1100105,27,1,1,1.0,6.0,144540,1,0 +2909,1100105,27,1,1,1.0,4.0,142427,1,0 +2910,1100105,27,1,1,0.0,4.0,106375,1,0 +2911,1100105,27,1,1,0.0,6.0,124300,1,0 +2912,1100105,27,1,1,1.0,6.0,124610,1,0 +2913,1100105,27,1,1,0.0,4.0,106124,1,0 +2914,1100105,27,1,1,0.0,6.0,113942,1,0 +2915,1100105,27,1,1,0.0,6.0,117774,1,0 +2916,1100105,27,1,1,0.0,4.0,131743,1,0 +2917,1100105,27,1,1,1.0,4.0,137064,1,0 +2918,1100105,27,1,1,0.0,4.0,102784,1,0 +2919,1100105,27,1,1,0.0,6.0,107067,1,0 +2920,1100105,27,1,1,0.0,4.0,106375,1,0 +2921,1100105,27,1,1,1.0,4.0,103583,1,0 +2922,1100105,27,1,1,0.0,4.0,112420,1,0 +2923,1100105,27,1,1,1.0,4.0,103583,1,0 +2924,1100105,27,1,1,1.0,4.0,141833,1,0 +2925,1100105,27,1,1,1.0,6.0,116736,1,0 +2926,1100105,27,1,1,2.0,4.0,117774,1,0 +2927,1100105,27,1,1,0.0,6.0,129479,1,0 +2928,1100105,27,1,1,0.0,6.0,147608,1,0 +2929,1100105,27,1,1,0.0,6.0,123104,1,0 +2930,1100105,27,1,1,0.0,6.0,123104,1,0 +2931,1100105,27,1,1,1.0,4.0,146392,1,0 +2932,1100105,27,1,1,0.0,6.0,108597,1,0 +2933,1100105,27,1,1,0.0,6.0,105434,1,0 +2934,1100105,27,1,1,1.0,4.0,114614,1,0 +2935,1100105,27,1,1,1.0,4.0,114614,1,0 +2936,1100105,27,1,1,1.0,6.0,137275,1,0 +2937,1100105,27,1,1,0.0,4.0,133749,1,0 +2938,1100105,27,1,1,0.0,6.0,111339,1,0 +2939,1100105,27,1,1,1.0,4.0,131702,1,0 +2940,1100105,27,1,1,1.0,6.0,122584,1,0 +2941,1100105,27,1,1,1.0,4.0,105434,1,0 +2942,1100105,27,1,1,1.0,6.0,147752,1,0 +2943,1100105,27,1,1,0.0,6.0,134658,1,0 +2944,1100105,27,1,1,0.0,4.0,106124,1,0 +2945,1100105,27,1,1,0.0,4.0,121571,1,0 +2946,1100105,27,1,1,0.0,6.0,115632,1,0 +2947,1100105,27,1,1,0.0,6.0,114479,1,0 +2948,1100105,27,1,1,1.0,6.0,123127,1,0 +2949,1100105,27,1,1,0.0,6.0,113770,1,0 +2950,1100105,27,1,1,1.0,4.0,107174,1,0 +2951,1100105,27,1,1,1.0,6.0,119920,1,0 +2952,1100105,27,1,1,1.0,4.0,116703,1,0 +2953,1100105,27,1,1,0.0,4.0,143267,1,0 +2954,1100105,27,1,1,1.0,4.0,101713,1,0 +2955,1100105,27,1,1,1.0,4.0,124300,1,0 +2956,1100105,27,1,1,0.0,6.0,116736,1,0 +2957,1100105,27,1,1,0.0,4.0,133749,1,0 +2958,1100105,27,1,1,0.0,4.0,142399,1,0 +2959,1100105,27,1,1,0.0,4.0,108907,1,0 +2960,1100105,27,1,1,1.0,6.0,131551,0,0 +2961,1100105,27,1,1,1.0,4.0,109307,0,0 +2962,1100105,27,1,1,0.0,6.0,111643,0,0 +2963,1100105,27,1,1,0.0,6.0,72164,1,0 +2964,1100105,27,1,1,0.0,6.0,61528,1,0 +2965,1100105,27,1,1,0.0,4.0,71103,1,0 +2966,1100105,27,1,1,0.0,4.0,65775,1,0 +2967,1100105,27,1,1,1.0,6.0,82441,1,0 +2968,1100105,27,1,1,1.0,6.0,61135,1,0 +2969,1100105,27,1,1,0.0,4.0,81184,1,0 +2970,1100105,27,1,1,1.0,4.0,52998,1,0 +2971,1100105,27,1,1,1.0,4.0,74732,1,0 +2972,1100105,27,1,1,0.0,4.0,99272,1,0 +2973,1100105,27,1,1,0.0,4.0,99283,1,0 +2974,1100105,27,1,1,1.0,6.0,75982,1,0 +2975,1100105,27,1,1,1.0,6.0,99440,1,0 +2976,1100105,27,1,1,0.0,4.0,93225,1,0 +2977,1100105,27,1,1,1.0,6.0,97257,1,0 +2978,1100105,27,1,1,0.0,4.0,93225,1,0 +2979,1100105,27,1,1,1.0,4.0,82867,1,0 +2980,1100105,27,1,1,0.0,6.0,60490,1,0 +2981,1100105,27,1,1,0.0,4.0,93225,1,0 +2982,1100105,27,1,1,1.0,6.0,56745,1,0 +2983,1100105,27,1,1,0.0,4.0,73804,1,0 +2984,1100105,27,1,1,0.0,6.0,90673,1,0 +2985,1100105,27,1,1,0.0,6.0,53771,1,0 +2986,1100105,27,1,1,0.0,4.0,63260,1,0 +2987,1100105,27,1,1,1.0,4.0,52717,1,0 +2988,1100105,27,1,1,0.0,6.0,77687,1,0 +2989,1100105,27,1,1,1.0,6.0,67329,1,0 +2990,1100105,27,1,1,0.0,4.0,76652,1,0 +2991,1100105,27,1,1,1.0,6.0,51791,1,0 +2992,1100105,27,1,1,0.0,4.0,96042,1,0 +2993,1100105,27,1,1,1.0,4.0,95511,1,0 +2994,1100105,27,1,1,0.0,6.0,71929,1,0 +2995,1100105,27,1,1,1.0,4.0,84899,1,0 +2996,1100105,27,1,1,1.0,4.0,90165,1,0 +2997,1100105,27,1,1,0.0,6.0,58368,1,0 +2998,1100105,27,1,1,1.0,4.0,61028,1,0 +2999,1100105,27,1,1,0.0,4.0,94922,1,0 +3000,1100105,27,1,1,0.0,6.0,79593,1,0 +3001,1100105,27,1,1,1.0,6.0,90165,1,0 +3002,1100105,27,1,1,0.0,4.0,75982,1,0 +3003,1100105,27,1,1,1.0,6.0,69593,1,0 +3004,1100105,27,1,1,1.0,4.0,84899,1,0 +3005,1100105,27,1,1,0.0,6.0,58368,1,0 +3006,1100105,27,1,1,1.0,4.0,94891,1,0 +3007,1100105,27,1,1,1.0,4.0,83985,1,0 +3008,1100105,27,1,1,1.0,4.0,63674,1,0 +3009,1100105,27,1,1,1.0,4.0,91178,1,0 +3010,1100105,27,1,1,1.0,6.0,78266,1,0 +3011,1100105,27,1,1,0.0,4.0,83609,1,0 +3012,1100105,27,1,1,1.0,4.0,74947,1,0 +3013,1100105,27,1,1,0.0,4.0,93225,1,0 +3014,1100105,27,1,1,1.0,4.0,82867,1,0 +3015,1100105,27,1,1,1.0,6.0,60785,1,0 +3016,1100105,27,1,1,1.0,6.0,65851,1,0 +3017,1100105,27,1,1,0.0,6.0,71929,1,0 +3018,1100105,27,1,1,1.0,4.0,84899,1,0 +3019,1100105,27,1,1,1.0,4.0,84899,1,0 +3020,1100105,27,1,1,0.0,6.0,78008,1,0 +3021,1100105,27,1,1,0.0,4.0,99756,1,0 +3022,1100105,27,1,1,1.0,6.0,95945,1,0 +3023,1100105,27,1,1,1.0,6.0,74286,1,0 +3024,1100105,27,1,1,1.0,4.0,73804,1,0 +3025,1100105,27,1,1,1.0,4.0,81047,1,0 +3026,1100105,27,1,1,1.0,6.0,90523,1,0 +3027,1100105,27,1,1,1.0,6.0,88046,1,0 +3028,1100105,27,1,1,0.0,6.0,70612,1,0 +3029,1100105,27,1,1,1.0,6.0,88046,1,0 +3030,1100105,27,1,1,1.0,4.0,63674,1,0 +3031,1100105,27,1,1,0.0,6.0,88046,1,0 +3032,1100105,27,1,1,1.0,6.0,61152,1,0 +3033,1100105,27,1,1,1.0,6.0,64240,1,0 +3034,1100105,27,1,1,0.0,6.0,97644,1,0 +3035,1100105,27,1,1,1.0,6.0,61152,1,0 +3036,1100105,27,1,1,1.0,6.0,64240,1,0 +3037,1100105,27,1,1,0.0,4.0,71472,1,0 +3038,1100105,27,1,1,0.0,6.0,58017,1,0 +3039,1100105,27,1,1,0.0,4.0,74947,1,0 +3040,1100105,27,1,1,1.0,6.0,62150,1,0 +3041,1100105,27,1,1,1.0,6.0,58368,1,0 +3042,1100105,27,1,1,0.0,4.0,62150,1,0 +3043,1100105,27,1,1,0.0,6.0,73804,1,0 +3044,1100105,27,1,1,1.0,6.0,61152,1,0 +3045,1100105,27,1,1,1.0,6.0,68532,1,0 +3046,1100105,27,1,1,0.0,6.0,55674,1,0 +3047,1100105,27,1,1,0.0,6.0,81047,1,0 +3048,1100105,27,1,1,1.0,6.0,75982,1,0 +3049,1100105,27,1,1,0.0,6.0,99756,1,0 +3050,1100105,27,1,1,1.0,6.0,82867,1,0 +3051,1100105,27,1,1,0.0,6.0,81205,1,0 +3052,1100105,27,1,1,0.0,6.0,72508,1,0 +3053,1100105,27,1,1,0.0,4.0,66293,1,0 +3054,1100105,27,1,1,0.0,6.0,79593,1,0 +3055,1100105,27,1,1,0.0,6.0,65851,1,0 +3056,1100105,27,1,1,0.0,6.0,76652,1,0 +3057,1100105,27,1,1,0.0,6.0,65851,1,0 +3058,1100105,27,1,1,0.0,4.0,64315,1,0 +3059,1100105,27,1,1,0.0,4.0,96360,1,0 +3060,1100105,27,1,1,0.0,4.0,84347,1,0 +3061,1100105,27,1,1,0.0,4.0,90117,1,0 +3062,1100105,27,1,1,1.0,6.0,79075,1,0 +3063,1100105,27,1,1,1.0,6.0,60785,1,0 +3064,1100105,27,1,1,1.0,6.0,61010,1,0 +3065,1100105,27,1,1,0.0,6.0,63674,1,0 +3066,1100105,27,1,1,0.0,4.0,74499,1,0 +3067,1100105,27,1,1,0.0,6.0,94891,1,0 +3068,1100105,27,1,1,0.0,6.0,54615,1,0 +3069,1100105,27,1,1,0.0,4.0,74286,1,0 +3070,1100105,27,1,1,1.0,4.0,88046,1,0 +3071,1100105,27,1,1,0.0,6.0,72942,1,0 +3072,1100105,27,1,1,1.0,6.0,67329,1,0 +3073,1100105,27,1,1,1.0,6.0,60490,1,0 +3074,1100105,27,1,1,0.0,6.0,79283,1,0 +3075,1100105,27,1,1,0.0,4.0,62150,1,0 +3076,1100105,27,1,1,0.0,4.0,52717,1,0 +3077,1100105,27,1,1,0.0,6.0,63260,1,0 +3078,1100105,27,1,1,0.0,4.0,52717,1,0 +3079,1100105,27,1,1,0.0,6.0,66864,1,0 +3080,1100105,27,1,1,1.0,6.0,60816,1,0 +3081,1100105,27,1,1,0.0,6.0,56245,1,0 +3082,1100105,27,1,1,0.0,6.0,53062,1,0 +3083,1100105,27,1,1,1.0,4.0,89144,1,0 +3084,1100105,27,1,1,0.0,6.0,67329,1,0 +3085,1100105,27,1,1,2.0,4.0,66327,1,0 +3086,1100105,27,1,1,0.0,4.0,79075,1,0 +3087,1100105,27,1,1,1.0,6.0,54604,1,0 +3088,1100105,27,1,1,1.0,4.0,68980,1,0 +3089,1100105,27,1,1,0.0,6.0,61152,1,0 +3090,1100105,27,1,1,1.0,4.0,88342,1,0 +3091,1100105,27,1,1,1.0,4.0,79075,1,0 +3092,1100105,27,1,1,0.0,4.0,73956,1,0 +3093,1100105,27,1,1,0.0,4.0,74286,1,0 +3094,1100105,27,1,1,0.0,4.0,63674,1,0 +3095,1100105,27,1,1,0.0,6.0,52717,1,0 +3096,1100105,27,1,1,0.0,4.0,62150,1,0 +3097,1100105,27,1,1,1.0,6.0,64325,1,0 +3098,1100105,27,1,1,0.0,4.0,98270,1,0 +3099,1100105,27,1,1,0.0,6.0,79593,1,0 +3100,1100105,27,1,1,1.0,6.0,70641,1,0 +3101,1100105,27,1,1,0.0,6.0,92189,1,0 +3102,1100105,27,1,1,0.0,6.0,80300,1,0 +3103,1100105,27,1,1,1.0,6.0,60785,1,0 +3104,1100105,27,1,1,1.0,6.0,68890,1,0 +3105,1100105,27,1,1,0.0,4.0,63674,1,0 +3106,1100105,27,1,1,0.0,4.0,53533,1,0 +3107,1100105,27,1,1,0.0,4.0,84347,1,0 +3108,1100105,27,1,1,1.0,4.0,99440,1,0 +3109,1100105,27,1,1,0.0,4.0,77687,1,0 +3110,1100105,27,1,1,1.0,4.0,85975,1,0 +3111,1100105,27,1,1,0.0,6.0,61552,1,0 +3112,1100105,27,1,1,0.0,6.0,50397,1,0 +3113,1100105,27,1,1,1.0,4.0,65851,1,0 +3114,1100105,27,1,1,0.0,4.0,62812,1,0 +3115,1100105,27,1,1,0.0,4.0,62812,1,0 +3116,1100105,27,1,1,1.0,6.0,70916,1,0 +3117,1100105,27,1,1,0.0,6.0,56245,1,0 +3118,1100105,27,1,1,1.0,6.0,83512,1,0 +3119,1100105,27,1,1,0.0,6.0,72508,1,0 +3120,1100105,27,1,1,0.0,6.0,72508,1,0 +3121,1100105,27,1,1,0.0,6.0,56245,1,0 +3122,1100105,27,1,1,1.0,4.0,89861,0,0 +3123,1100105,27,1,1,0.0,4.0,99283,0,0 +3124,1100105,27,1,1,0.0,4.0,99283,0,0 +3125,1100105,27,1,1,1.0,6.0,66740,0,0 +3126,1100105,27,1,1,0.0,4.0,94219,0,0 +3127,1100105,27,1,1,1.0,4.0,72695,0,0 +3128,1100105,27,1,1,0.0,6.0,64417,0,0 +3129,1100105,27,1,1,1.0,4.0,69165,0,0 +3130,1100105,27,1,1,0.0,4.0,59975,0,0 +3131,1100105,27,1,1,1.0,6.0,63260,0,0 +3132,1100105,27,1,1,1.0,4.0,68181,0,0 +3133,1100105,27,1,1,1.0,6.0,74158,0,0 +3134,1100105,27,1,1,1.0,6.0,87870,0,0 +3135,1100105,27,1,1,1.0,4.0,72695,0,0 +3136,1100105,27,1,1,0.0,4.0,61292,0,0 +3137,1100105,27,1,1,0.0,4.0,50408,0,0 +3138,1100105,27,1,1,0.0,6.0,56745,0,0 +3139,1100105,27,1,1,1.0,6.0,93812,0,0 +3140,1100105,27,1,1,1.0,4.0,78638,0,0 +3141,1100105,27,1,1,1.0,6.0,83944,0,0 +3142,1100105,27,1,1,0.0,4.0,63217,0,0 +3143,1100105,27,1,1,1.0,6.0,79593,0,0 +3144,1100105,27,1,1,1.0,4.0,26358,1,0 +3145,1100105,27,1,1,0.0,6.0,26847,1,0 +3146,1100105,27,1,1,1.0,4.0,42077,1,0 +3147,1100105,27,1,1,1.0,4.0,42077,1,0 +3148,1100105,27,1,1,1.0,4.0,42077,1,0 +3149,1100105,27,1,1,1.0,4.0,33959,1,0 +3150,1100105,27,1,1,1.0,4.0,40397,1,0 +3151,1100105,27,1,1,1.0,4.0,32120,1,0 +3152,1100105,27,1,1,0.0,4.0,25895,1,0 +3153,1100105,27,1,1,1.0,4.0,40397,1,0 +3154,1100105,27,1,1,1.0,4.0,40397,1,0 +3155,1100105,27,1,1,1.0,4.0,30392,1,0 +3156,1100105,27,1,1,1.0,4.0,40397,1,0 +3157,1100105,27,1,1,1.0,4.0,40523,1,0 +3158,1100105,27,1,1,0.0,4.0,26358,1,0 +3159,1100105,27,1,1,0.0,4.0,42173,1,0 +3160,1100105,27,1,1,0.0,6.0,42131,1,0 +3161,1100105,27,1,1,1.0,4.0,35332,1,0 +3162,1100105,27,1,1,0.0,4.0,45589,1,0 +3163,1100105,27,1,1,1.0,6.0,42449,1,0 +3164,1100105,27,1,1,0.0,4.0,42449,1,0 +3165,1100105,27,1,1,0.0,6.0,26766,1,0 +3166,1100105,27,1,1,0.0,6.0,43897,1,0 +3167,1100105,27,1,1,1.0,4.0,43829,1,0 +3168,1100105,27,1,1,1.0,6.0,47109,1,0 +3169,1100105,27,1,1,1.0,6.0,47109,1,0 +3170,1100105,27,1,1,0.0,6.0,45589,1,0 +3171,1100105,27,1,1,1.0,6.0,47109,1,0 +3172,1100105,27,1,1,0.0,4.0,25327,1,0 +3173,1100105,27,1,1,0.0,6.0,47109,1,0 +3174,1100105,27,1,1,0.0,6.0,35458,1,0 +3175,1100105,27,1,1,0.0,6.0,36082,1,0 +3176,1100105,27,1,1,0.0,6.0,27273,1,0 +3177,1100105,27,1,1,0.0,6.0,26358,1,0 +3178,1100105,27,1,1,0.0,6.0,32120,1,0 +3179,1100105,27,1,1,0.0,6.0,39510,1,0 +3180,1100105,27,1,1,0.0,6.0,32120,1,0 +3181,1100105,27,1,1,1.0,6.0,32525,1,0 +3182,1100105,27,1,1,0.0,6.0,27910,1,0 +3183,1100105,27,1,1,1.0,4.0,25696,1,0 +3184,1100105,27,1,1,0.0,6.0,48180,1,0 +3185,1100105,27,1,1,1.0,4.0,25696,1,0 +3186,1100105,27,1,1,0.0,4.0,47755,1,0 +3187,1100105,27,1,1,0.0,6.0,32120,1,0 +3188,1100105,27,1,1,1.0,4.0,25696,1,0 +3189,1100105,27,1,1,0.0,4.0,45633,1,0 +3190,1100105,27,1,1,0.0,6.0,39510,1,0 +3191,1100105,27,1,1,0.0,6.0,49237,1,0 +3192,1100105,27,1,1,0.0,4.0,36254,1,0 +3193,1100105,27,1,1,1.0,4.0,25696,1,0 +3194,1100105,27,1,1,1.0,6.0,30892,1,0 +3195,1100105,27,1,1,0.0,6.0,32120,1,0 +3196,1100105,27,1,1,0.0,6.0,46745,1,0 +3197,1100105,27,1,1,1.0,6.0,29521,0,0 +3198,1100105,27,1,1,1.0,4.0,41536,0,0 +3199,1100105,27,1,1,1.0,6.0,37143,0,0 +3200,1100105,27,1,1,0.0,4.0,44071,0,0 +3201,1100105,27,1,1,1.0,4.0,47755,0,0 +3202,1100105,27,1,1,1.0,6.0,37143,0,0 +3203,1100105,27,1,1,0.0,6.0,34445,0,0 +3204,1100105,27,1,1,1.0,4.0,41536,0,0 +3205,1100105,27,1,1,1.0,6.0,40327,0,0 +3206,1100105,27,1,1,0.0,6.0,28386,0,0 +3207,1100105,27,1,1,0.0,6.0,39713,0,0 +3208,1100105,27,1,1,1.0,6.0,32580,0,0 +3209,1100105,27,1,1,0.0,6.0,30453,0,0 +3210,1100105,27,1,1,0.0,4.0,29210,0,0 +3211,1100105,27,1,1,2.0,6.0,48628,0,0 +3212,1100105,27,1,1,1.0,4.0,38544,0,0 +3213,1100105,27,1,1,0.0,6.0,43157,0,0 +3214,1100105,27,1,1,1.0,6.0,37788,0,0 +3215,1100105,27,1,1,0.0,4.0,37383,0,0 +3216,1100105,27,1,1,0.0,4.0,25327,0,0 +3217,1100105,27,1,1,0.0,4.0,29582,0,0 +3218,1100105,27,1,1,0.0,4.0,39672,0,0 +3219,1100105,27,1,1,0.0,4.0,29582,0,0 +3220,1100105,27,1,1,0.0,6.0,27592,0,0 +3221,1100105,27,1,1,0.0,6.0,27592,0,0 +3222,1100105,27,1,1,0.0,4.0,32684,0,0 +3223,1100105,27,1,1,0.0,6.0,31075,0,0 +3224,1100105,27,1,1,1.0,6.0,42826,0,0 +3225,1100105,27,1,1,0.0,4.0,41739,0,0 +3226,1100105,27,1,1,0.0,6.0,22984,1,0 +3227,1100105,27,1,1,1.0,4.0,7498,1,0 +3228,1100105,27,1,1,1.0,6.0,13062,1,0 +3229,1100105,27,1,1,0.0,6.0,19700,1,0 +3230,1100105,27,1,1,0.0,4.0,13880,1,0 +3231,1100105,27,1,1,0.0,4.0,16060,1,0 +3232,1100105,27,1,1,1.0,4.0,14385,1,0 +3233,1100105,27,1,1,0.0,6.0,8489,1,0 +3234,1100105,27,1,1,0.0,4.0,24197,1,0 +3235,1100105,27,1,1,0.0,4.0,20716,1,0 +3236,1100105,27,1,1,0.0,4.0,15815,1,0 +3237,1100105,27,1,1,1.0,4.0,6367,1,0 +3238,1100105,27,1,1,1.0,4.0,24408,1,0 +3239,1100105,27,1,1,0.0,4.0,16573,1,0 +3240,1100105,27,1,1,1.0,4.0,6367,1,0 +3241,1100105,27,1,1,1.0,6.0,8244,1,0 +3242,1100105,27,1,1,2.0,4.0,21413,1,0 +3243,1100105,27,1,1,0.0,4.0,11394,1,0 +3244,1100105,27,1,1,0.0,6.0,12157,1,0 +3245,1100105,27,1,1,1.0,6.0,10706,1,0 +3246,1100105,27,1,1,0.0,6.0,10358,1,0 +3247,1100105,27,1,1,1.0,6.0,12652,1,0 +3248,1100105,27,1,1,0.0,4.0,19189,1,0 +3249,1100105,27,1,1,0.0,6.0,24882,1,0 +3250,1100105,27,1,1,0.0,4.0,4217,1,0 +3251,1100105,27,1,1,0.0,6.0,10612,1,0 +3252,1100105,27,1,1,0.0,4.0,5271,1,0 +3253,1100105,27,1,1,0.0,4.0,11703,1,0 +3254,1100105,27,1,1,0.0,6.0,5774,1,0 +3255,1100105,27,1,1,0.0,4.0,9624,1,0 +3256,1100105,27,1,1,0.0,4.0,14082,1,0 +3257,1100105,27,1,1,0.0,6.0,11497,0,0 +3258,1100105,27,1,1,0.0,6.0,18852,0,0 +3259,1100105,27,1,1,0.0,6.0,8779,0,0 +3260,1100105,27,1,1,0.0,4.0,2108,0,0 +3261,1100105,27,1,1,0.0,6.0,11394,0,0 +3262,1100105,27,1,1,0.0,6.0,9067,0,0 +3263,1100105,27,1,1,0.0,6.0,8510,0,0 +3264,1100105,27,1,1,1.0,6.0,8351,0,0 +3265,1100105,27,1,1,0.0,4.0,21086,0,0 +3266,1100105,27,1,1,0.0,6.0,4670,0,0 +3267,1100105,27,1,1,0.0,6.0,9115,0,0 +3268,1100105,27,1,1,1.0,6.0,11492,0,0 +3269,1100105,27,1,1,1.0,6.0,11492,0,0 +3270,1100105,27,1,1,1.0,6.0,0,0,0 +3271,1100105,27,1,1,0.0,6.0,9172,0,0 +3272,1100105,27,1,1,0.0,6.0,9067,0,0 +3273,1100105,27,1,1,0.0,6.0,20375,0,0 +3274,1100105,27,1,1,0.0,6.0,5093,0,0 +3275,1100105,27,1,1,0.0,4.0,7380,0,0 +3276,1100105,27,1,1,1.0,6.0,11492,0,0 +3277,1100105,27,1,1,0.0,6.0,15281,0,0 +3278,1100105,27,1,1,0.0,6.0,0,0,0 +3279,1100105,27,1,1,1.0,6.0,0,0,0 +3280,1100105,27,1,1,0.0,4.0,0,0,0 +3281,1100105,27,1,1,0.0,4.0,9944,0,0 +3282,1100105,27,1,1,0.0,6.0,0,0,0 +3283,1100105,27,1,1,0.0,6.0,1346,0,0 +3284,1100105,27,1,1,0.0,4.0,12441,0,0 +3285,1100105,27,1,1,0.0,6.0,13495,0,0 +3286,1100105,27,1,1,1.0,6.0,21224,0,0 +3287,1100105,27,1,1,0.0,6.0,15804,0,0 +3288,1100105,27,1,1,0.0,6.0,12989,0,0 +3289,1100105,27,1,1,1.0,6.0,12989,0,0 +3290,1100105,27,1,1,1.0,6.0,21224,0,0 +3291,1100105,27,1,1,1.0,6.0,12989,0,0 +3292,1100105,27,1,1,0.0,6.0,1391,0,0 +3293,1100105,27,1,1,1.0,4.0,9278,0,0 +3294,1100105,27,1,1,0.0,4.0,23876,0,0 +3295,1100105,27,1,1,0.0,6.0,24249,0,0 +3296,1100105,27,1,1,0.0,6.0,11808,0,0 +3297,1100105,27,1,1,0.0,6.0,9126,0,0 +3298,1100105,27,1,1,0.0,6.0,9126,0,0 +3299,1100105,27,1,1,0.0,4.0,10536,0,0 +3300,1100105,27,1,1,2.0,4.0,20261,0,0 +3301,1100105,27,1,1,1.0,6.0,0,0,0 +3302,1100105,27,1,1,1.0,6.0,23402,0,0 +3303,1100105,27,1,1,0.0,6.0,9528,0,0 +3304,1100105,27,1,1,0.0,4.0,3163,0,0 +3305,1100105,27,1,1,1.0,4.0,6115,0,0 +3306,1100105,27,1,1,1.0,6.0,14132,0,0 +3307,1100105,27,1,1,0.0,6.0,8286,0,0 +3308,1100105,27,1,1,1.0,4.0,13918,0,0 +3309,1100105,27,1,1,1.0,4.0,6115,0,0 +3310,1100105,27,1,1,0.0,4.0,278,0,0 +3311,1100105,27,1,1,0.0,6.0,16159,0,0 +3312,1100105,27,1,1,0.0,6.0,6102,0,0 +3313,1100105,27,1,1,0.0,4.0,3533,0,0 +3314,1100105,27,1,1,1.0,4.0,13918,0,0 +3315,1100105,27,1,1,0.0,6.0,984,0,0 +3316,1100105,27,1,1,0.0,4.0,10543,0,0 +3317,1100105,27,1,1,0.0,4.0,3163,0,0 +3318,1100105,27,1,1,1.0,4.0,1243,0,0 +3319,1100105,27,1,1,0.0,4.0,9489,0,0 +3320,1100105,27,1,1,1.0,4.0,10,0,0 +3321,1100105,27,1,1,0.0,4.0,1035,0,0 +3322,1100105,27,1,1,0.0,6.0,0,0,0 +3323,1100105,27,1,1,1.0,4.0,10053,0,0 +3324,1100105,27,1,1,1.0,4.0,10053,0,0 +3325,1100105,27,1,1,0.0,4.0,0,0,0 +3326,1100105,27,1,1,1.0,6.0,22286,0,0 +3327,1100105,27,1,1,0.0,4.0,9489,0,0 +3328,1100105,27,1,1,0.0,4.0,0,0,0 +3329,1100105,27,1,1,0.0,6.0,3502,0,0 +3330,1100105,27,1,1,1.0,6.0,21330,0,0 +3331,1100105,27,1,1,0.0,4.0,8351,0,0 +3332,1100105,27,1,1,0.0,6.0,15918,0,0 +3333,1100105,27,1,1,0.0,6.0,2026,0,0 +3334,1100105,27,1,1,0.0,6.0,4244,0,0 +3335,1100105,27,1,1,0.0,6.0,0,0,0 +3336,1100105,27,1,1,0.0,4.0,5268,0,0 +3337,1100105,27,1,1,0.0,6.0,0,0,0 +3338,1100105,27,1,1,0.0,6.0,2653,0,0 +3339,1100105,27,1,1,0.0,4.0,5268,0,0 +3340,1100105,27,1,1,0.0,6.0,2653,0,0 +3341,1100105,27,1,1,0.0,6.0,5306,0,0 +3342,1100105,27,1,1,0.0,4.0,10543,0,0 +3343,1100105,27,1,1,0.0,6.0,5369,0,0 +3344,1100105,28,1,4,2.0,1.0,263586,2,1 +3345,1100105,28,1,4,0.0,3.0,51151,1,1 +3346,1100105,28,1,4,0.0,1.0,49250,2,0 +3347,1100105,28,1,5,0.0,3.0,44539,2,1 +3348,1100105,28,1,3,1.0,1.0,345827,2,1 +3349,1100105,28,1,3,2.0,7.0,182014,3,0 +3350,1100105,28,1,3,1.0,1.0,152818,1,1 +3351,1100105,28,1,2,1.0,1.0,569089,2,0 +3352,1100105,28,1,2,2.0,1.0,326217,2,0 +3353,1100105,28,1,2,1.0,5.0,248208,2,0 +3354,1100105,28,1,2,1.0,7.0,295213,2,0 +3355,1100105,28,1,2,1.0,1.0,409086,2,0 +3356,1100105,28,1,2,1.0,1.0,247461,1,0 +3357,1100105,28,1,2,1.0,5.0,581123,1,0 +3358,1100105,28,1,2,1.0,1.0,178305,2,0 +3359,1100105,28,1,2,2.0,5.0,168695,2,0 +3360,1100105,28,1,2,0.0,5.0,172378,2,0 +3361,1100105,28,1,2,1.0,1.0,176092,2,0 +3362,1100105,28,1,2,1.0,5.0,173967,2,0 +3363,1100105,28,1,2,1.0,5.0,180235,2,0 +3364,1100105,28,1,2,1.0,7.0,136730,2,0 +3365,1100105,28,1,2,1.0,5.0,121571,2,0 +3366,1100105,28,1,2,2.0,7.0,107105,2,0 +3367,1100105,28,1,2,1.0,7.0,91178,2,0 +3368,1100105,28,1,2,1.0,1.0,71952,1,0 +3369,1100105,28,1,2,1.0,1.0,70041,1,0 +3370,1100105,28,1,2,0.0,7.0,27202,2,0 +3371,1100105,28,1,2,0.0,1.0,36772,0,0 +3372,1100105,28,1,2,1.0,1.0,17609,1,0 +3373,1100105,28,1,1,0.0,6.0,204139,1,0 +3374,1100105,28,1,1,1.0,6.0,207177,1,0 +3375,1100105,28,1,1,1.0,4.0,172226,1,0 +3376,1100105,28,1,1,1.0,4.0,172226,1,0 +3377,1100105,28,1,1,1.0,4.0,182401,1,0 +3378,1100105,28,1,1,0.0,6.0,107599,1,0 +3379,1100105,28,1,1,1.0,6.0,139187,1,0 +3380,1100105,28,1,1,0.0,6.0,101816,1,0 +3381,1100105,28,1,1,1.0,6.0,139173,1,0 +3382,1100105,28,1,1,0.0,4.0,101309,1,0 +3383,1100105,28,1,1,0.0,4.0,111440,1,0 +3384,1100105,28,1,1,0.0,4.0,101217,1,0 +3385,1100105,28,1,1,1.0,6.0,104925,1,0 +3386,1100105,28,1,1,0.0,4.0,141833,1,0 +3387,1100105,28,1,1,0.0,6.0,100643,1,0 +3388,1100105,28,1,1,0.0,4.0,112502,0,0 +3389,1100105,28,1,1,0.0,4.0,65775,1,0 +3390,1100105,28,1,1,1.0,6.0,99440,1,0 +3391,1100105,28,1,1,1.0,6.0,67329,1,0 +3392,1100105,28,1,1,0.0,4.0,74286,1,0 +3393,1100105,28,1,1,1.0,4.0,65797,1,0 +3394,1100105,28,1,1,0.0,4.0,83609,1,0 +3395,1100105,28,1,1,0.0,6.0,75982,1,0 +3396,1100105,28,1,1,0.0,6.0,70612,1,0 +3397,1100105,28,1,1,0.0,6.0,73804,1,0 +3398,1100105,28,1,1,0.0,6.0,89936,1,0 +3399,1100105,28,1,1,1.0,6.0,68532,1,0 +3400,1100105,28,1,1,1.0,6.0,92077,1,0 +3401,1100105,28,1,1,0.0,6.0,89152,1,0 +3402,1100105,28,1,1,1.0,6.0,61292,1,0 +3403,1100105,28,1,1,1.0,4.0,89144,1,0 +3404,1100105,28,1,1,1.0,6.0,61292,1,0 +3405,1100105,28,1,1,0.0,6.0,82867,1,0 +3406,1100105,28,1,1,0.0,6.0,56245,1,0 +3407,1100105,28,1,1,0.0,4.0,56745,0,0 +3408,1100105,28,1,1,0.0,4.0,94219,0,0 +3409,1100105,28,1,1,0.0,4.0,40523,1,0 +3410,1100105,28,1,1,0.0,4.0,26358,1,0 +3411,1100105,28,1,1,1.0,6.0,42826,1,0 +3412,1100105,28,1,1,1.0,6.0,34261,1,0 +3413,1100105,28,1,1,1.0,4.0,47755,1,0 +3414,1100105,28,1,1,0.0,6.0,32120,1,0 +3415,1100105,28,1,1,0.0,6.0,26885,0,0 +3416,1100105,28,1,1,0.0,6.0,32475,0,0 +3417,1100105,28,1,1,1.0,4.0,11914,1,0 +3418,1100105,28,1,1,0.0,4.0,20716,1,0 +3419,1100105,28,1,1,0.0,6.0,21224,1,0 +3420,1100105,28,1,1,0.0,6.0,12157,0,0 +3421,1100105,28,1,1,0.0,4.0,8489,0,0 +3422,1100105,28,1,1,0.0,4.0,15417,0,0 +3423,1100105,28,1,1,1.0,6.0,16060,0,0 +3424,1100105,28,1,1,0.0,6.0,24249,0,0 +3425,1100105,28,1,1,0.0,6.0,9126,0,0 +3426,1100105,28,1,1,0.0,4.0,9338,0,0 +3427,1100105,28,1,1,1.0,4.0,6115,0,0 +3428,1100105,28,1,1,0.0,4.0,1035,0,0 +3429,1100105,28,1,1,0.0,6.0,0,0,0 +3430,1100105,29,1,4,1.0,5.0,211993,4,0 +3431,1100105,29,1,4,2.0,1.0,246182,2,1 +3432,1100105,29,1,4,3.0,1.0,111238,1,0 +3433,1100105,29,1,4,0.0,1.0,49250,2,0 +3434,1100105,29,1,4,0.0,1.0,49250,2,0 +3435,1100105,29,1,4,0.0,1.0,20261,1,1 +3436,1100105,29,1,3,1.0,1.0,208781,2,1 +3437,1100105,29,1,3,1.0,1.0,403976,2,1 +3438,1100105,29,1,3,0.0,1.0,256266,2,1 +3439,1100105,29,1,3,1.0,1.0,191890,2,1 +3440,1100105,29,1,3,1.0,1.0,152818,1,1 +3441,1100105,29,1,3,1.0,1.0,68532,2,1 +3442,1100105,29,1,2,0.0,1.0,211993,2,0 +3443,1100105,29,1,2,1.0,5.0,272425,2,0 +3444,1100105,29,1,2,2.0,7.0,209393,2,0 +3445,1100105,29,1,2,2.0,1.0,233473,2,0 +3446,1100105,29,1,2,1.0,5.0,321201,2,0 +3447,1100105,29,1,2,1.0,1.0,233473,2,0 +3448,1100105,29,1,2,1.0,1.0,355516,2,0 +3449,1100105,29,1,2,1.0,1.0,207167,2,0 +3450,1100105,29,1,2,0.0,1.0,219842,2,0 +3451,1100105,29,1,2,1.0,5.0,252575,2,0 +3452,1100105,29,1,2,1.0,1.0,334322,2,0 +3453,1100105,29,1,2,1.0,5.0,216493,2,0 +3454,1100105,29,1,2,0.0,1.0,342615,2,0 +3455,1100105,29,1,2,1.0,1.0,657911,1,0 +3456,1100105,29,1,2,2.0,1.0,249636,1,0 +3457,1100105,29,1,2,1.0,1.0,392871,0,0 +3458,1100105,29,1,2,1.0,1.0,178305,2,0 +3459,1100105,29,1,2,1.0,1.0,170237,2,0 +3460,1100105,29,1,2,0.0,5.0,159186,2,0 +3461,1100105,29,1,2,1.0,7.0,163108,2,0 +3462,1100105,29,1,2,0.0,1.0,174519,2,0 +3463,1100105,29,1,2,1.0,1.0,174362,2,0 +3464,1100105,29,1,2,2.0,5.0,178164,2,0 +3465,1100105,29,1,2,1.0,1.0,176232,2,0 +3466,1100105,29,1,2,1.0,7.0,196540,2,0 +3467,1100105,29,1,2,1.0,7.0,154176,1,0 +3468,1100105,29,1,2,0.0,1.0,164794,1,0 +3469,1100105,29,1,2,0.0,1.0,124300,2,0 +3470,1100105,29,1,2,0.0,7.0,126693,2,0 +3471,1100105,29,1,2,1.0,5.0,134904,2,0 +3472,1100105,29,1,2,1.0,5.0,121571,2,0 +3473,1100105,29,1,2,1.0,5.0,101083,1,0 +3474,1100105,29,1,2,1.0,1.0,132549,1,0 +3475,1100105,29,1,2,0.0,7.0,83838,2,0 +3476,1100105,29,1,2,1.0,5.0,64438,2,0 +3477,1100105,29,1,2,1.0,7.0,54193,1,0 +3478,1100105,29,1,2,1.0,1.0,71952,1,0 +3479,1100105,29,1,2,1.0,5.0,65340,1,0 +3480,1100105,29,1,2,1.0,1.0,36066,0,0 +3481,1100105,29,1,2,0.0,5.0,105,1,0 +3482,1100105,29,1,2,0.0,1.0,15537,0,0 +3483,1100105,29,1,1,0.0,4.0,233012,1,0 +3484,1100105,29,1,1,0.0,4.0,414335,1,0 +3485,1100105,29,1,1,1.0,6.0,220569,1,0 +3486,1100105,29,1,1,1.0,4.0,256961,1,0 +3487,1100105,29,1,1,1.0,6.0,231372,1,0 +3488,1100105,29,1,1,0.0,4.0,414335,1,0 +3489,1100105,29,1,1,0.0,6.0,222699,1,0 +3490,1100105,29,1,1,1.0,4.0,445762,1,0 +3491,1100105,29,1,1,1.0,6.0,353393,0,0 +3492,1100105,29,1,1,1.0,4.0,196809,1,0 +3493,1100105,29,1,1,0.0,4.0,164598,1,0 +3494,1100105,29,1,1,1.0,6.0,169798,1,0 +3495,1100105,29,1,1,1.0,4.0,167161,1,0 +3496,1100105,29,1,1,0.0,4.0,157097,1,0 +3497,1100105,29,1,1,0.0,4.0,187367,1,0 +3498,1100105,29,1,1,1.0,4.0,178305,1,0 +3499,1100105,29,1,1,1.0,4.0,155375,1,0 +3500,1100105,29,1,1,0.0,6.0,111430,1,0 +3501,1100105,29,1,1,0.0,4.0,124165,1,0 +3502,1100105,29,1,1,0.0,4.0,105434,1,0 +3503,1100105,29,1,1,1.0,6.0,107067,1,0 +3504,1100105,29,1,1,0.0,4.0,139838,1,0 +3505,1100105,29,1,1,0.0,4.0,111135,1,0 +3506,1100105,29,1,1,0.0,4.0,111135,1,0 +3507,1100105,29,1,1,1.0,6.0,136900,1,0 +3508,1100105,29,1,1,0.0,4.0,139838,1,0 +3509,1100105,29,1,1,1.0,4.0,123358,1,0 +3510,1100105,29,1,1,0.0,4.0,139838,1,0 +3511,1100105,29,1,1,1.0,6.0,100373,1,0 +3512,1100105,29,1,1,1.0,6.0,123127,1,0 +3513,1100105,29,1,1,1.0,4.0,134658,1,0 +3514,1100105,29,1,1,1.0,4.0,100296,1,0 +3515,1100105,29,1,1,0.0,4.0,117519,1,0 +3516,1100105,29,1,1,0.0,4.0,106124,1,0 +3517,1100105,29,1,1,0.0,6.0,103583,1,0 +3518,1100105,29,1,1,0.0,4.0,142945,1,0 +3519,1100105,29,1,1,0.0,6.0,131702,1,0 +3520,1100105,29,1,1,1.0,4.0,109307,0,0 +3521,1100105,29,1,1,1.0,6.0,82441,1,0 +3522,1100105,29,1,1,1.0,6.0,70916,1,0 +3523,1100105,29,1,1,0.0,4.0,76652,1,0 +3524,1100105,29,1,1,0.0,6.0,81047,1,0 +3525,1100105,29,1,1,0.0,6.0,90117,1,0 +3526,1100105,29,1,1,0.0,4.0,74286,1,0 +3527,1100105,29,1,1,0.0,6.0,75982,1,0 +3528,1100105,29,1,1,1.0,4.0,74947,1,0 +3529,1100105,29,1,1,1.0,4.0,73804,1,0 +3530,1100105,29,1,1,1.0,6.0,96360,1,0 +3531,1100105,29,1,1,1.0,4.0,80300,1,0 +3532,1100105,29,1,1,0.0,4.0,71472,1,0 +3533,1100105,29,1,1,0.0,4.0,83384,1,0 +3534,1100105,29,1,1,1.0,6.0,84347,1,0 +3535,1100105,29,1,1,0.0,6.0,61552,1,0 +3536,1100105,29,1,1,0.0,6.0,83838,1,0 +3537,1100105,29,1,1,0.0,4.0,88046,1,0 +3538,1100105,29,1,1,1.0,4.0,87795,1,0 +3539,1100105,29,1,1,0.0,4.0,77687,1,0 +3540,1100105,29,1,1,1.0,6.0,50939,1,0 +3541,1100105,29,1,1,0.0,6.0,52717,1,0 +3542,1100105,29,1,1,0.0,6.0,50397,1,0 +3543,1100105,29,1,1,1.0,6.0,66740,0,0 +3544,1100105,29,1,1,0.0,6.0,64417,0,0 +3545,1100105,29,1,1,1.0,6.0,59886,0,0 +3546,1100105,29,1,1,1.0,4.0,26358,1,0 +3547,1100105,29,1,1,0.0,6.0,40523,1,0 +3548,1100105,29,1,1,0.0,4.0,42701,1,0 +3549,1100105,29,1,1,1.0,6.0,47109,1,0 +3550,1100105,29,1,1,1.0,6.0,45680,1,0 +3551,1100105,29,1,1,1.0,6.0,48817,1,0 +3552,1100105,29,1,1,0.0,6.0,47755,1,0 +3553,1100105,29,1,1,0.0,6.0,28653,0,0 +3554,1100105,29,1,1,1.0,4.0,37045,0,0 +3555,1100105,29,1,1,0.0,4.0,34850,0,0 +3556,1100105,29,1,1,0.0,4.0,27412,0,0 +3557,1100105,29,1,1,0.0,4.0,16060,1,0 +3558,1100105,29,1,1,1.0,4.0,16595,1,0 +3559,1100105,29,1,1,0.0,6.0,10358,1,0 +3560,1100105,29,1,1,1.0,4.0,16209,1,0 +3561,1100105,29,1,1,0.0,4.0,14760,0,0 +3562,1100105,29,1,1,0.0,6.0,12866,0,0 +3563,1100105,29,1,1,0.0,6.0,10029,0,0 +3564,1100105,29,1,1,0.0,6.0,1450,0,0 +3565,1100105,29,1,1,1.0,6.0,22592,0,0 +3566,1100105,29,1,1,1.0,4.0,13372,0,0 +3567,1100105,29,1,1,0.0,4.0,3163,0,0 +3568,1100105,29,1,1,0.0,6.0,0,0,0 +3569,1100105,29,1,1,0.0,6.0,10434,0,0 +3570,1100105,29,1,1,0.0,4.0,9489,0,0 +3571,1100105,29,1,1,0.0,6.0,3373,0,0 +3572,1100105,29,1,1,1.0,6.0,0,0,0 +3573,1100105,29,1,1,0.0,6.0,7387,0,0 +3574,1100105,35,1,4,2.0,5.0,556694,4,0 +3575,1100105,35,1,4,2.0,5.0,556694,4,0 +3576,1100105,35,1,4,2.0,5.0,556694,4,0 +3577,1100105,35,1,4,2.0,5.0,556694,4,0 +3578,1100105,35,1,4,2.0,5.0,556694,4,0 +3579,1100105,35,1,4,2.0,5.0,556694,4,0 +3580,1100105,35,1,4,2.0,5.0,556694,4,0 +3581,1100105,35,1,4,2.0,5.0,556694,4,0 +3582,1100105,35,1,4,2.0,5.0,556694,4,0 +3583,1100105,35,1,4,2.0,5.0,556694,4,0 +3584,1100105,35,1,4,2.0,5.0,556694,4,0 +3585,1100105,35,1,4,2.0,5.0,556694,4,0 +3586,1100105,35,1,5,0.0,3.0,0,0,0 +3587,1100105,35,1,5,0.0,3.0,0,0,0 +3588,1100105,35,1,5,0.0,3.0,0,0,0 +3589,1100105,35,1,5,0.0,3.0,0,0,0 +3590,1100105,35,1,2,2.0,1.0,800346,2,0 +3591,1100105,35,1,2,0.0,5.0,273021,2,0 +3592,1100105,35,1,2,2.0,3.0,223138,1,0 +3593,1100105,35,1,2,2.0,3.0,223138,1,0 +3594,1100105,35,1,2,2.0,3.0,223138,1,0 +3595,1100105,35,1,2,2.0,3.0,223138,1,0 +3596,1100105,35,1,2,2.0,3.0,223138,1,0 +3597,1100105,35,1,2,2.0,3.0,223138,1,0 +3598,1100105,35,1,2,2.0,3.0,223138,1,0 +3599,1100105,35,1,2,2.0,3.0,223138,1,0 +3600,1100105,35,1,2,1.0,1.0,165954,2,0 +3601,1100105,35,1,2,0.0,5.0,158043,2,0 +3602,1100105,35,1,2,1.0,7.0,150771,2,0 +3603,1100105,35,1,2,1.0,1.0,189803,2,0 +3604,1100105,35,1,2,0.0,7.0,152268,2,0 +3605,1100105,35,1,2,1.0,5.0,174043,2,0 +3606,1100105,35,1,2,1.0,5.0,154516,2,0 +3607,1100105,35,1,2,0.0,1.0,153880,2,0 +3608,1100105,35,1,2,0.0,5.0,171213,2,0 +3609,1100105,35,1,2,0.0,7.0,152880,2,0 +3610,1100105,35,1,2,1.0,5.0,159522,2,0 +3611,1100105,35,1,2,2.0,5.0,150771,2,0 +3612,1100105,35,1,2,2.0,7.0,187367,2,0 +3613,1100105,35,1,2,1.0,7.0,174043,2,0 +3614,1100105,35,1,2,0.0,5.0,186651,2,0 +3615,1100105,35,1,2,1.0,7.0,132006,2,0 +3616,1100105,35,1,2,1.0,5.0,85100,2,0 +3617,1100105,35,1,2,1.0,5.0,85243,2,0 +3618,1100105,35,1,2,1.0,3.0,59042,1,0 +3619,1100105,35,1,2,1.0,3.0,59042,1,0 +3620,1100105,35,1,2,1.0,3.0,59042,1,0 +3621,1100105,35,1,2,1.0,3.0,59042,1,0 +3622,1100105,35,1,2,1.0,3.0,59042,1,0 +3623,1100105,35,1,2,1.0,3.0,59042,1,0 +3624,1100105,35,1,2,1.0,3.0,59042,1,0 +3625,1100105,35,1,2,1.0,3.0,59042,1,0 +3626,1100105,35,1,2,1.0,3.0,59042,1,0 +3627,1100105,35,1,2,1.0,3.0,59042,1,0 +3628,1100105,35,1,2,1.0,3.0,59042,1,0 +3629,1100105,35,1,2,1.0,3.0,59042,1,0 +3630,1100105,35,1,2,1.0,2.0,42826,2,0 +3631,1100105,35,1,2,1.0,2.0,42826,2,0 +3632,1100105,35,1,2,1.0,2.0,42826,2,0 +3633,1100105,35,1,2,1.0,2.0,42826,2,0 +3634,1100105,35,1,2,1.0,2.0,42826,2,0 +3635,1100105,35,1,2,1.0,2.0,42826,2,0 +3636,1100105,35,1,2,1.0,2.0,42826,2,0 +3637,1100105,35,1,2,1.0,2.0,42826,2,0 +3638,1100105,35,1,2,1.0,2.0,42826,2,0 +3639,1100105,35,1,2,1.0,2.0,42826,2,0 +3640,1100105,35,1,2,1.0,2.0,42826,2,0 +3641,1100105,35,1,2,1.0,2.0,42826,2,0 +3642,1100105,35,1,2,1.0,2.0,42826,2,0 +3643,1100105,35,1,2,1.0,3.0,32120,2,0 +3644,1100105,35,1,2,1.0,3.0,32120,2,0 +3645,1100105,35,1,2,1.0,3.0,32120,2,0 +3646,1100105,35,1,2,1.0,3.0,32120,2,0 +3647,1100105,35,1,2,1.0,3.0,26780,2,0 +3648,1100105,35,1,2,1.0,3.0,26780,2,0 +3649,1100105,35,1,2,1.0,3.0,26780,2,0 +3650,1100105,35,1,2,1.0,3.0,26780,2,0 +3651,1100105,35,1,2,1.0,3.0,26780,2,0 +3652,1100105,35,1,2,1.0,3.0,26780,2,0 +3653,1100105,35,1,2,1.0,3.0,26780,2,0 +3654,1100105,35,1,2,1.0,3.0,26780,2,0 +3655,1100105,35,1,2,1.0,3.0,26780,2,0 +3656,1100105,35,1,2,1.0,3.0,26780,2,0 +3657,1100105,35,1,2,1.0,3.0,26780,2,0 +3658,1100105,35,1,2,1.0,3.0,26780,2,0 +3659,1100105,35,1,2,1.0,3.0,26780,2,0 +3660,1100105,35,1,2,1.0,3.0,26780,2,0 +3661,1100105,35,1,2,1.0,3.0,26780,2,0 +3662,1100105,35,1,2,0.0,3.0,27454,1,0 +3663,1100105,35,1,2,0.0,3.0,27454,1,0 +3664,1100105,35,1,2,0.0,3.0,27454,1,0 +3665,1100105,35,1,2,0.0,3.0,27454,1,0 +3666,1100105,35,1,2,1.0,3.0,25267,0,0 +3667,1100105,35,1,2,1.0,3.0,25267,0,0 +3668,1100105,35,1,2,1.0,3.0,25267,0,0 +3669,1100105,35,1,2,1.0,3.0,25267,0,0 +3670,1100105,35,1,2,1.0,3.0,25267,0,0 +3671,1100105,35,1,2,1.0,3.0,25267,0,0 +3672,1100105,35,1,2,1.0,3.0,25267,0,0 +3673,1100105,35,1,2,1.0,3.0,25267,0,0 +3674,1100105,35,1,2,1.0,3.0,25267,0,0 +3675,1100105,35,1,2,1.0,3.0,25267,0,0 +3676,1100105,35,1,2,1.0,3.0,25267,0,0 +3677,1100105,35,1,2,1.0,3.0,25267,0,0 +3678,1100105,35,1,2,1.0,3.0,25267,0,0 +3679,1100105,35,1,2,1.0,3.0,25267,0,0 +3680,1100105,35,1,2,1.0,3.0,25267,0,0 +3681,1100105,35,1,2,1.0,3.0,25267,0,0 +3682,1100105,35,1,2,1.0,3.0,21649,1,0 +3683,1100105,35,1,2,1.0,3.0,21649,1,0 +3684,1100105,35,1,2,1.0,3.0,21649,1,0 +3685,1100105,35,1,2,1.0,3.0,21649,1,0 +3686,1100105,35,1,2,1.0,3.0,21649,1,0 +3687,1100105,35,1,2,1.0,3.0,21649,1,0 +3688,1100105,35,1,2,1.0,3.0,21649,1,0 +3689,1100105,35,1,2,1.0,3.0,21649,1,0 +3690,1100105,35,1,2,1.0,3.0,21649,1,0 +3691,1100105,35,1,2,1.0,3.0,21649,1,0 +3692,1100105,35,1,2,0.0,3.0,18201,1,0 +3693,1100105,35,1,2,0.0,3.0,18201,1,0 +3694,1100105,35,1,2,0.0,3.0,18201,1,0 +3695,1100105,35,1,2,0.0,3.0,18201,1,0 +3696,1100105,35,1,2,0.0,3.0,18201,1,0 +3697,1100105,35,1,2,0.0,3.0,18201,1,0 +3698,1100105,35,1,2,0.0,3.0,18201,1,0 +3699,1100105,35,1,2,0.0,3.0,18201,1,0 +3700,1100105,35,1,2,0.0,3.0,18201,1,0 +3701,1100105,35,1,2,0.0,3.0,18201,1,0 +3702,1100105,35,1,2,0.0,3.0,18201,1,0 +3703,1100105,35,1,2,0.0,3.0,18201,1,0 +3704,1100105,35,1,2,0.0,3.0,18201,1,0 +3705,1100105,35,1,2,0.0,3.0,18201,1,0 +3706,1100105,35,1,2,0.0,3.0,18201,1,0 +3707,1100105,35,1,2,0.0,3.0,18201,1,0 +3708,1100105,35,1,2,0.0,3.0,18201,1,0 +3709,1100105,35,1,2,0.0,3.0,18201,1,0 +3710,1100105,35,1,2,0.0,3.0,18201,1,0 +3711,1100105,35,1,2,0.0,3.0,18201,1,0 +3712,1100105,35,1,2,0.0,3.0,18201,1,0 +3713,1100105,35,1,2,0.0,3.0,18201,1,0 +3714,1100105,35,1,2,0.0,3.0,18201,1,0 +3715,1100105,35,1,2,0.0,3.0,18201,1,0 +3716,1100105,35,1,2,0.0,3.0,18201,1,0 +3717,1100105,35,1,1,0.0,6.0,214134,1,0 +3718,1100105,35,1,1,0.0,4.0,258339,1,0 +3719,1100105,35,1,1,0.0,6.0,206131,1,0 +3720,1100105,35,1,1,1.0,6.0,623131,1,0 +3721,1100105,35,1,1,0.0,6.0,157550,1,0 +3722,1100105,35,1,1,0.0,6.0,171307,1,0 +3723,1100105,35,1,1,0.0,6.0,171307,1,0 +3724,1100105,35,1,1,0.0,6.0,157550,1,0 +3725,1100105,35,1,1,0.0,4.0,151964,1,0 +3726,1100105,35,1,1,0.0,6.0,179238,1,0 +3727,1100105,35,1,1,0.0,4.0,182408,1,0 +3728,1100105,35,1,1,0.0,6.0,196809,1,0 +3729,1100105,35,1,1,0.0,4.0,196329,1,0 +3730,1100105,35,1,1,0.0,6.0,179238,1,0 +3731,1100105,35,1,1,0.0,4.0,152880,1,0 +3732,1100105,35,1,1,0.0,6.0,161308,1,0 +3733,1100105,35,1,1,1.0,4.0,161601,1,0 +3734,1100105,35,1,1,0.0,6.0,167161,1,0 +3735,1100105,35,1,1,1.0,4.0,171307,1,0 +3736,1100105,35,1,1,0.0,6.0,163431,1,0 +3737,1100105,35,1,1,1.0,6.0,180411,1,0 +3738,1100105,35,1,1,0.0,6.0,179238,1,0 +3739,1100105,35,1,1,0.0,6.0,166703,1,0 +3740,1100105,35,1,1,1.0,6.0,180411,1,0 +3741,1100105,35,1,1,0.0,4.0,180411,1,0 +3742,1100105,35,1,1,0.0,6.0,196809,1,0 +3743,1100105,35,1,1,1.0,6.0,186450,1,0 +3744,1100105,35,1,1,1.0,4.0,171307,1,0 +3745,1100105,35,1,1,1.0,6.0,188438,1,0 +3746,1100105,35,1,1,0.0,4.0,196329,1,0 +3747,1100105,35,1,1,1.0,4.0,161601,1,0 +3748,1100105,35,1,1,0.0,6.0,161308,1,0 +3749,1100105,35,1,1,1.0,6.0,188438,1,0 +3750,1100105,35,1,1,0.0,6.0,179238,1,0 +3751,1100105,35,1,1,0.0,6.0,163431,1,0 +3752,1100105,35,1,1,1.0,6.0,180411,1,0 +3753,1100105,35,1,1,1.0,4.0,153304,1,0 +3754,1100105,35,1,1,0.0,6.0,163431,1,0 +3755,1100105,35,1,1,1.0,6.0,188438,1,0 +3756,1100105,35,1,1,0.0,4.0,152880,1,0 +3757,1100105,35,1,1,1.0,6.0,157030,1,0 +3758,1100105,35,1,1,0.0,4.0,152880,1,0 +3759,1100105,35,1,1,0.0,6.0,166703,1,0 +3760,1100105,35,1,1,0.0,4.0,175104,1,0 +3761,1100105,35,1,1,0.0,6.0,179238,1,0 +3762,1100105,35,1,1,0.0,4.0,152880,1,0 +3763,1100105,35,1,1,0.0,4.0,174019,1,0 +3764,1100105,35,1,1,1.0,4.0,153304,1,0 +3765,1100105,35,1,1,1.0,4.0,153304,1,0 +3766,1100105,35,1,1,1.0,4.0,159187,1,0 +3767,1100105,35,1,1,0.0,4.0,175104,1,0 +3768,1100105,35,1,1,0.0,4.0,196329,1,0 +3769,1100105,35,1,1,1.0,6.0,186450,1,0 +3770,1100105,35,1,1,2.0,4.0,170913,1,0 +3771,1100105,35,1,1,1.0,6.0,180411,1,0 +3772,1100105,35,1,1,0.0,6.0,196809,1,0 +3773,1100105,35,1,1,1.0,6.0,180411,1,0 +3774,1100105,35,1,1,1.0,4.0,159187,1,0 +3775,1100105,35,1,1,0.0,4.0,196329,1,0 +3776,1100105,35,1,1,0.0,4.0,152880,1,0 +3777,1100105,35,1,1,1.0,4.0,155375,1,0 +3778,1100105,35,1,1,0.0,4.0,174019,1,0 +3779,1100105,35,1,1,1.0,6.0,157030,1,0 +3780,1100105,35,1,1,1.0,4.0,153304,1,0 +3781,1100105,35,1,1,0.0,4.0,151825,1,0 +3782,1100105,35,1,1,1.0,4.0,153304,1,0 +3783,1100105,35,1,1,1.0,6.0,180411,1,0 +3784,1100105,35,1,1,1.0,6.0,157030,1,0 +3785,1100105,35,1,1,0.0,6.0,179238,1,0 +3786,1100105,35,1,1,0.0,4.0,161631,1,0 +3787,1100105,35,1,1,0.0,4.0,152880,1,0 +3788,1100105,35,1,1,0.0,4.0,180650,1,0 +3789,1100105,35,1,1,1.0,6.0,161590,1,0 +3790,1100105,35,1,1,1.0,6.0,188438,1,0 +3791,1100105,35,1,1,0.0,6.0,196809,1,0 +3792,1100105,35,1,1,0.0,4.0,180650,1,0 +3793,1100105,35,1,1,0.0,4.0,161631,1,0 +3794,1100105,35,1,1,1.0,6.0,161590,1,0 +3795,1100105,35,1,1,0.0,4.0,161631,1,0 +3796,1100105,35,1,1,0.0,6.0,166703,1,0 +3797,1100105,35,1,1,1.0,4.0,171307,1,0 +3798,1100105,35,1,1,0.0,6.0,196809,1,0 +3799,1100105,35,1,1,1.0,4.0,171307,1,0 +3800,1100105,35,1,1,1.0,6.0,186450,1,0 +3801,1100105,35,1,1,0.0,6.0,166703,1,0 +3802,1100105,35,1,1,0.0,4.0,175104,1,0 +3803,1100105,35,1,1,1.0,6.0,134866,1,0 +3804,1100105,35,1,1,1.0,4.0,114614,1,0 +3805,1100105,35,1,1,0.0,6.0,119121,1,0 +3806,1100105,35,1,1,1.0,4.0,100817,1,0 +3807,1100105,35,1,1,1.0,4.0,116703,1,0 +3808,1100105,35,1,1,0.0,4.0,143267,1,0 +3809,1100105,35,1,1,1.0,6.0,106124,1,0 +3810,1100105,35,1,1,1.0,4.0,128480,1,0 +3811,1100105,35,1,1,0.0,6.0,107388,1,0 +3812,1100105,35,1,1,1.0,6.0,149894,1,0 +3813,1100105,35,1,1,0.0,6.0,116736,1,0 +3814,1100105,35,1,1,0.0,6.0,134658,1,0 +3815,1100105,35,1,1,1.0,4.0,115978,1,0 +3816,1100105,35,1,1,1.0,6.0,149894,1,0 +3817,1100105,35,1,1,1.0,6.0,149894,1,0 +3818,1100105,35,1,1,0.0,6.0,141833,1,0 +3819,1100105,35,1,1,1.0,6.0,108762,1,0 +3820,1100105,35,1,1,0.0,6.0,120157,1,0 +3821,1100105,35,1,1,1.0,4.0,116703,1,0 +3822,1100105,35,1,1,0.0,4.0,108762,1,0 +3823,1100105,35,1,1,1.0,4.0,106375,1,0 +3824,1100105,35,1,1,0.0,6.0,73804,1,0 +3825,1100105,35,1,1,1.0,6.0,61152,1,0 +3826,1100105,35,1,1,0.0,6.0,82060,1,0 +3827,1100105,35,1,1,0.0,6.0,79021,1,0 +3828,1100105,35,1,1,0.0,6.0,60097,1,0 +3829,1100105,35,1,1,0.0,6.0,89936,1,0 +3830,1100105,35,1,1,0.0,4.0,81047,1,0 +3831,1100105,35,1,1,0.0,4.0,62150,1,0 +3832,1100105,35,1,1,0.0,4.0,62150,1,0 +3833,1100105,35,1,1,0.0,4.0,81047,1,0 +3834,1100105,35,1,1,1.0,6.0,61152,1,0 +3835,1100105,35,1,1,1.0,4.0,80300,1,0 +3836,1100105,35,1,1,0.0,6.0,89152,1,0 +3837,1100105,35,1,1,1.0,6.0,84347,1,0 +3838,1100105,35,1,1,0.0,4.0,77687,1,0 +3839,1100105,35,1,1,0.0,6.0,52681,1,0 +3840,1100105,35,1,1,0.0,6.0,70916,1,0 +3841,1100105,35,1,1,0.0,6.0,63260,1,0 +3842,1100105,35,1,1,0.0,6.0,52801,1,0 +3843,1100105,35,1,1,0.0,4.0,73956,1,0 +3844,1100105,35,1,1,0.0,4.0,86561,1,0 +3845,1100105,35,1,1,0.0,4.0,63260,1,0 +3846,1100105,35,1,1,1.0,6.0,54604,1,0 +3847,1100105,35,1,1,1.0,6.0,73804,1,0 +3848,1100105,35,1,1,1.0,4.0,52717,1,0 +3849,1100105,35,1,1,0.0,6.0,83236,1,0 +3850,1100105,35,1,1,1.0,6.0,73804,1,0 +3851,1100105,35,1,1,1.0,6.0,89619,1,0 +3852,1100105,35,1,1,0.0,6.0,73956,1,0 +3853,1100105,35,1,1,0.0,6.0,60203,1,0 +3854,1100105,35,1,1,0.0,6.0,53062,1,0 +3855,1100105,35,1,1,0.0,6.0,61552,1,0 +3856,1100105,35,1,1,1.0,6.0,70641,1,0 +3857,1100105,35,1,1,0.0,4.0,91178,1,0 +3858,1100105,35,1,1,1.0,4.0,88046,1,0 +3859,1100105,35,1,1,0.0,6.0,72222,1,0 +3860,1100105,35,1,1,0.0,6.0,54615,1,0 +3861,1100105,35,1,1,0.0,4.0,73956,1,0 +3862,1100105,35,1,1,1.0,6.0,52717,1,0 +3863,1100105,35,1,1,0.0,6.0,52681,1,0 +3864,1100105,35,1,1,0.0,4.0,91178,1,0 +3865,1100105,35,1,1,1.0,6.0,67329,1,0 +3866,1100105,35,1,1,1.0,6.0,92077,1,0 +3867,1100105,35,1,1,0.0,4.0,64315,1,0 +3868,1100105,35,1,1,0.0,4.0,73804,1,0 +3869,1100105,35,1,1,1.0,6.0,54604,1,0 +3870,1100105,35,1,1,1.0,4.0,85975,1,0 +3871,1100105,35,1,1,0.0,4.0,91178,1,0 +3872,1100105,35,1,1,0.0,6.0,74947,1,0 +3873,1100105,35,1,1,0.0,6.0,65851,1,0 +3874,1100105,35,1,1,1.0,6.0,69903,1,0 +3875,1100105,35,1,1,1.0,4.0,99626,1,0 +3876,1100105,35,1,1,0.0,6.0,70916,1,0 +3877,1100105,35,1,1,0.0,6.0,79593,1,0 +3878,1100105,35,1,1,0.0,6.0,81098,1,0 +3879,1100105,35,1,1,0.0,6.0,67329,1,0 +3880,1100105,35,1,1,0.0,4.0,96244,1,0 +3881,1100105,35,1,1,0.0,6.0,92189,1,0 +3882,1100105,35,1,1,0.0,6.0,72942,1,0 +3883,1100105,35,1,1,1.0,6.0,64325,1,0 +3884,1100105,35,1,1,0.0,6.0,67329,1,0 +3885,1100105,35,1,1,0.0,6.0,67329,1,0 +3886,1100105,35,1,1,0.0,6.0,65580,1,0 +3887,1100105,35,1,1,1.0,4.0,92951,1,0 +3888,1100105,35,1,1,1.0,6.0,60785,1,0 +3889,1100105,35,1,1,1.0,6.0,96360,1,0 +3890,1100105,35,1,1,0.0,6.0,80300,1,0 +3891,1100105,35,1,1,1.0,6.0,98404,1,0 +3892,1100105,35,1,1,1.0,4.0,79075,1,0 +3893,1100105,35,1,1,0.0,4.0,74286,1,0 +3894,1100105,35,1,1,0.0,6.0,81047,1,0 +3895,1100105,35,1,1,1.0,6.0,58368,1,0 +3896,1100105,35,1,1,1.0,6.0,61292,1,0 +3897,1100105,35,1,1,0.0,6.0,64221,1,0 +3898,1100105,35,1,1,1.0,6.0,60785,1,0 +3899,1100105,35,1,1,1.0,6.0,60785,1,0 +3900,1100105,35,1,1,1.0,6.0,75992,1,0 +3901,1100105,35,1,1,0.0,6.0,72942,1,0 +3902,1100105,35,1,1,0.0,6.0,94891,1,0 +3903,1100105,35,1,1,1.0,6.0,60785,1,0 +3904,1100105,35,1,1,1.0,6.0,91178,1,0 +3905,1100105,35,1,1,1.0,6.0,89619,1,0 +3906,1100105,35,1,1,0.0,4.0,74286,1,0 +3907,1100105,35,1,1,0.0,6.0,63674,1,0 +3908,1100105,35,1,1,0.0,6.0,72942,1,0 +3909,1100105,35,1,1,0.0,6.0,82867,1,0 +3910,1100105,35,1,1,0.0,6.0,52801,1,0 +3911,1100105,35,1,1,0.0,6.0,52717,1,0 +3912,1100105,35,1,1,0.0,6.0,83512,1,0 +3913,1100105,35,1,1,1.0,6.0,70641,1,0 +3914,1100105,35,1,1,0.0,6.0,81098,1,0 +3915,1100105,35,1,1,1.0,4.0,99626,1,0 +3916,1100105,35,1,1,0.0,6.0,56245,1,0 +3917,1100105,35,1,1,1.0,6.0,61292,1,0 +3918,1100105,35,1,1,0.0,6.0,81047,1,0 +3919,1100105,35,1,1,0.0,6.0,89152,1,0 +3920,1100105,35,1,1,1.0,4.0,87126,1,0 +3921,1100105,35,1,1,1.0,6.0,96360,1,0 +3922,1100105,35,1,1,0.0,6.0,70916,1,0 +3923,1100105,35,1,1,0.0,4.0,70916,1,0 +3924,1100105,35,1,1,0.0,4.0,64315,1,0 +3925,1100105,35,1,1,0.0,4.0,53533,1,0 +3926,1100105,35,1,1,0.0,6.0,83236,1,0 +3927,1100105,35,1,1,1.0,4.0,88342,1,0 +3928,1100105,35,1,1,0.0,4.0,79593,1,0 +3929,1100105,35,1,1,1.0,4.0,64240,1,0 +3930,1100105,35,1,1,1.0,4.0,88342,1,0 +3931,1100105,35,1,1,0.0,4.0,98270,1,0 +3932,1100105,35,1,1,0.0,6.0,61552,1,0 +3933,1100105,35,1,1,1.0,6.0,71472,1,0 +3934,1100105,35,1,1,0.0,4.0,69593,1,0 +3935,1100105,35,1,1,0.0,6.0,83838,1,0 +3936,1100105,35,1,1,0.0,6.0,55720,1,0 +3937,1100105,35,1,1,0.0,6.0,62099,1,0 +3938,1100105,35,1,1,0.0,4.0,94891,1,0 +3939,1100105,35,1,1,0.0,6.0,67329,1,0 +3940,1100105,35,1,1,0.0,6.0,55720,1,0 +3941,1100105,35,1,1,0.0,4.0,66858,1,0 +3942,1100105,35,1,1,0.0,6.0,56245,1,0 +3943,1100105,35,1,1,1.0,6.0,62978,1,0 +3944,1100105,35,1,1,0.0,6.0,86724,0,0 +3945,1100105,35,1,1,0.0,4.0,71103,0,0 +3946,1100105,35,1,1,1.0,4.0,76660,0,0 +3947,1100105,35,1,1,1.0,4.0,29582,1,0 +3948,1100105,35,1,1,1.0,4.0,42173,1,0 +3949,1100105,35,1,1,1.0,4.0,43829,1,0 +3950,1100105,35,1,1,1.0,6.0,47109,1,0 +3951,1100105,35,1,1,0.0,6.0,42173,1,0 +3952,1100105,35,1,1,1.0,4.0,29582,1,0 +3953,1100105,35,1,1,0.0,6.0,46612,1,0 +3954,1100105,35,1,1,0.0,6.0,46391,1,0 +3955,1100105,35,1,1,1.0,6.0,42173,1,0 +3956,1100105,35,1,1,0.0,4.0,36254,1,0 +3957,1100105,35,1,1,0.0,4.0,48180,1,0 +3958,1100105,35,1,1,0.0,4.0,36254,1,0 +3959,1100105,35,1,1,1.0,4.0,47130,1,0 +3960,1100105,35,1,1,0.0,4.0,48180,1,0 +3961,1100105,35,1,1,0.0,6.0,32120,1,0 +3962,1100105,35,1,1,1.0,4.0,41537,1,0 +3963,1100105,35,1,1,0.0,6.0,46391,1,0 +3964,1100105,35,1,1,0.0,4.0,42826,1,0 +3965,1100105,35,1,1,1.0,4.0,25696,1,0 +3966,1100105,35,1,1,0.0,6.0,34261,1,0 +3967,1100105,35,1,1,0.0,6.0,26358,1,0 +3968,1100105,35,1,1,0.0,6.0,46391,1,0 +3969,1100105,35,1,1,0.0,6.0,46602,1,0 +3970,1100105,35,1,1,0.0,4.0,31837,1,0 +3971,1100105,35,1,1,0.0,6.0,46612,1,0 +3972,1100105,35,1,1,0.0,4.0,47755,1,0 +3973,1100105,35,1,1,0.0,6.0,25895,1,0 +3974,1100105,35,1,1,1.0,6.0,31630,1,0 +3975,1100105,35,1,1,0.0,6.0,46391,1,0 +3976,1100105,35,1,1,0.0,6.0,32120,1,0 +3977,1100105,35,1,1,1.0,6.0,48817,1,0 +3978,1100105,35,1,1,0.0,6.0,31630,1,0 +3979,1100105,35,1,1,1.0,6.0,36254,1,0 +3980,1100105,35,1,1,1.0,4.0,47130,1,0 +3981,1100105,35,1,1,0.0,4.0,42826,1,0 +3982,1100105,35,1,1,0.0,4.0,40523,1,0 +3983,1100105,35,1,1,1.0,6.0,32525,1,0 +3984,1100105,35,1,1,0.0,6.0,46602,1,0 +3985,1100105,35,1,1,0.0,4.0,40523,1,0 +3986,1100105,35,1,1,1.0,6.0,48817,1,0 +3987,1100105,35,1,1,1.0,6.0,45336,1,0 +3988,1100105,35,1,1,1.0,4.0,47130,1,0 +3989,1100105,35,1,1,0.0,6.0,31630,1,0 +3990,1100105,35,1,1,1.0,6.0,31630,1,0 +3991,1100105,35,1,1,0.0,4.0,28174,1,0 +3992,1100105,35,1,1,1.0,4.0,41537,1,0 +3993,1100105,35,1,1,0.0,6.0,48180,1,0 +3994,1100105,35,1,1,1.0,4.0,41433,1,0 +3995,1100105,35,1,1,1.0,6.0,32525,1,0 +3996,1100105,35,1,1,0.0,6.0,49236,1,0 +3997,1100105,35,1,1,0.0,4.0,36254,1,0 +3998,1100105,35,1,1,1.0,6.0,31630,1,0 +3999,1100105,35,1,1,1.0,4.0,43490,1,0 +4000,1100105,35,1,1,1.0,6.0,45680,1,0 +4001,1100105,35,1,1,0.0,6.0,31630,1,0 +4002,1100105,35,1,1,1.0,4.0,41537,1,0 +4003,1100105,35,1,1,1.0,6.0,48817,1,0 +4004,1100105,35,1,1,0.0,4.0,41433,1,0 +4005,1100105,35,1,1,1.0,6.0,42826,0,0 +4006,1100105,35,1,1,1.0,6.0,42826,0,0 +4007,1100105,35,1,1,0.0,6.0,42826,0,0 +4008,1100105,35,1,1,1.0,6.0,49720,0,0 +4009,1100105,35,1,1,1.0,6.0,42826,0,0 +4010,1100105,35,1,1,1.0,6.0,42826,0,0 +4011,1100105,35,1,1,0.0,6.0,40327,0,0 +4012,1100105,35,1,1,1.0,6.0,10706,1,0 +4013,1100105,35,1,1,0.0,6.0,5798,1,0 +4014,1100105,35,1,1,0.0,6.0,10358,1,0 +4015,1100105,35,1,1,2.0,4.0,4558,1,0 +4016,1100105,35,1,1,0.0,6.0,1760,1,0 +4017,1100105,35,1,1,0.0,6.0,5798,1,0 +4018,1100105,35,1,1,0.0,6.0,10358,1,0 +4019,1100105,35,1,1,1.0,6.0,12652,1,0 +4020,1100105,35,1,1,2.0,4.0,4558,1,0 +4021,1100105,35,1,1,1.0,6.0,10706,1,0 +4022,1100105,35,1,1,0.0,6.0,12157,1,0 +4023,1100105,35,1,1,0.0,4.0,22995,1,0 +4024,1100105,35,1,1,0.0,6.0,10612,1,0 +4025,1100105,35,1,1,0.0,6.0,10543,1,0 +4026,1100105,35,1,1,0.0,4.0,21162,1,0 +4027,1100105,35,1,1,0.0,4.0,5271,1,0 +4028,1100105,35,1,1,0.0,6.0,2741,1,0 +4029,1100105,35,1,1,0.0,4.0,21162,1,0 +4030,1100105,35,1,1,0.0,4.0,21162,1,0 +4031,1100105,35,1,1,1.0,6.0,6326,1,0 +4032,1100105,35,1,1,0.0,4.0,11703,1,0 +4033,1100105,35,1,1,0.0,4.0,20032,1,0 +4034,1100105,35,1,1,0.0,6.0,10612,1,0 +4035,1100105,35,1,1,1.0,6.0,10612,1,0 +4036,1100105,35,1,1,0.0,4.0,18451,1,0 +4037,1100105,35,1,1,1.0,6.0,1581,1,0 +4038,1100105,35,1,1,1.0,6.0,10612,1,0 +4039,1100105,35,1,1,0.0,4.0,11703,1,0 +4040,1100105,35,1,1,1.0,6.0,10612,1,0 +4041,1100105,35,1,1,0.0,4.0,4217,1,0 +4042,1100105,35,1,1,0.0,4.0,19526,1,0 +4043,1100105,35,1,1,1.0,6.0,8234,1,0 +4044,1100105,35,1,1,0.0,4.0,4217,1,0 +4045,1100105,35,1,1,0.0,6.0,10358,1,0 +4046,1100105,35,1,1,0.0,6.0,5774,1,0 +4047,1100105,35,1,1,0.0,4.0,4217,1,0 +4048,1100105,35,1,1,0.0,4.0,3163,1,0 +4049,1100105,35,1,1,0.0,4.0,22995,1,0 +4050,1100105,35,1,1,0.0,6.0,21224,1,0 +4051,1100105,35,1,1,0.0,6.0,10358,1,0 +4052,1100105,35,1,1,0.0,4.0,5271,1,0 +4053,1100105,35,1,1,0.0,4.0,11703,1,0 +4054,1100105,35,1,1,0.0,4.0,11703,1,0 +4055,1100105,35,1,1,1.0,4.0,3183,1,0 +4056,1100105,35,1,1,0.0,6.0,5271,1,0 +4057,1100105,35,1,1,0.0,4.0,5271,1,0 +4058,1100105,35,1,1,0.0,6.0,5774,1,0 +4059,1100105,35,1,1,1.0,6.0,1581,1,0 +4060,1100105,35,1,1,0.0,6.0,10543,1,0 +4061,1100105,35,1,1,0.0,6.0,6215,1,0 +4062,1100105,35,1,1,0.0,6.0,6215,1,0 +4063,1100105,35,1,1,0.0,6.0,6215,1,0 +4064,1100105,35,1,1,0.0,6.0,6215,1,0 +4065,1100105,35,1,1,0.0,6.0,6215,1,0 +4066,1100105,35,1,1,0.0,6.0,6215,1,0 +4067,1100105,35,1,1,0.0,6.0,6215,1,0 +4068,1100105,35,1,1,0.0,6.0,6215,1,0 +4069,1100105,35,1,1,0.0,6.0,6215,1,0 +4070,1100105,35,1,1,0.0,6.0,6215,1,0 +4071,1100105,35,1,1,0.0,6.0,6215,1,0 +4072,1100105,35,1,1,0.0,6.0,6215,1,0 +4073,1100105,35,1,1,0.0,6.0,6215,1,0 +4074,1100105,35,1,1,0.0,6.0,6215,1,0 +4075,1100105,35,1,1,0.0,6.0,6215,1,0 +4076,1100105,35,1,1,0.0,4.0,8351,0,0 +4077,1100105,35,1,1,1.0,6.0,0,0,0 +4078,1100105,35,1,1,0.0,4.0,8351,0,0 +4079,1100105,35,1,1,0.0,6.0,0,0,0 +4080,1100105,35,1,1,0.0,6.0,0,0,0 +4081,1100105,35,1,1,0.0,4.0,3183,0,0 +4082,1100105,35,1,1,0.0,6.0,0,0,0 +4083,1100105,35,1,1,0.0,6.0,15918,0,0 +4084,1100105,35,1,1,0.0,6.0,0,0,0 +4085,1100105,35,1,1,1.0,6.0,0,0,0 +4086,1100105,35,1,1,0.0,6.0,2026,0,0 +4087,1100105,35,1,1,0.0,4.0,0,0,0 +4088,1100105,35,1,1,0.0,6.0,2026,0,0 +4089,1100105,35,1,1,0.0,6.0,2026,0,0 +4090,1100105,35,1,1,0.0,6.0,15918,0,0 +4091,1100105,35,1,1,1.0,6.0,233,0,0 +4092,1100105,35,1,1,0.0,4.0,8351,0,0 +4093,1100105,35,1,1,0.0,6.0,792,0,0 +4094,1100105,35,1,1,0.0,6.0,0,0,0 +4095,1100105,35,1,1,0.0,6.0,2026,0,0 +4096,1100105,35,1,1,1.0,4.0,0,0,0 +4097,1100105,35,1,1,0.0,6.0,0,0,0 +4098,1100105,35,1,1,1.0,4.0,0,0,0 +4099,1100105,35,1,1,1.0,6.0,0,0,0 +4100,1100105,35,1,1,1.0,6.0,233,0,0 +4101,1100105,35,1,1,0.0,4.0,0,0,0 +4102,1100105,35,1,1,0.0,6.0,15918,0,0 +4103,1100105,35,1,1,0.0,6.0,0,0,0 +4104,1100105,35,1,1,0.0,4.0,3183,0,0 +4105,1100105,35,1,1,0.0,6.0,15918,0,0 +4106,1100105,35,1,1,0.0,6.0,2026,0,0 +4107,1100105,35,1,1,0.0,6.0,0,0,0 +4108,1100105,35,1,1,0.0,6.0,24314,0,0 +4109,1100105,35,1,1,0.0,6.0,848,0,0 +4110,1100105,35,1,1,1.0,6.0,0,0,0 +4111,1100105,35,1,1,1.0,6.0,2890,0,0 +4112,1100105,35,1,1,0.0,6.0,24314,0,0 +4113,1100105,35,1,1,0.0,6.0,5353,0,0 +4114,1100105,35,1,1,0.0,6.0,0,0,0 +4115,1100105,35,1,1,0.0,6.0,0,0,0 +4116,1100105,35,1,1,0.0,4.0,0,0,0 +4117,1100105,35,1,1,0.0,6.0,5353,0,0 +4118,1100105,35,1,1,0.0,6.0,3268,0,0 +4119,1100105,35,1,1,0.0,4.0,0,0,0 +4120,1100105,35,1,1,0.0,6.0,0,0,0 +4121,1100105,35,1,1,0.0,4.0,23402,0,0 +4122,1100105,35,1,1,0.0,6.0,0,0,0 +4123,1100105,35,1,1,1.0,4.0,6129,0,0 +4124,1100105,35,1,1,0.0,4.0,20261,0,0 +4125,1100105,35,1,1,0.0,6.0,13465,0,0 +4126,1100105,35,1,1,0.0,4.0,20261,0,0 +4127,1100105,35,1,1,0.0,6.0,3268,0,0 +4128,1100105,35,1,1,1.0,6.0,0,0,0 +4129,1100105,35,1,1,0.0,6.0,0,0,0 +4130,1100105,35,1,1,0.0,6.0,0,0,0 +4131,1100105,35,1,1,1.0,6.0,760,0,0 +4132,1100105,35,1,1,0.0,6.0,2653,0,0 +4133,1100105,35,1,1,0.0,4.0,11673,0,0 +4134,1100105,35,1,1,1.0,4.0,6129,0,0 +4135,1100105,35,1,1,0.0,6.0,267,0,0 +4136,1100105,35,1,1,0.0,6.0,24314,0,0 +4137,1100105,35,1,1,1.0,6.0,21680,0,0 +4138,1100105,35,1,1,0.0,6.0,1591,0,0 +4139,1100105,35,1,1,0.0,6.0,1591,0,0 +4140,1100105,35,1,1,1.0,6.0,0,0,0 +4141,1100105,35,1,1,0.0,4.0,527,0,0 +4142,1100105,35,1,1,0.0,6.0,13465,0,0 +4143,1100105,35,1,1,0.0,6.0,3268,0,0 +4144,1100105,35,1,1,0.0,4.0,20261,0,0 +4145,1100105,35,1,1,0.0,4.0,6215,0,0 +4146,1100105,35,1,1,0.0,6.0,0,0,0 +4147,1100105,35,1,1,1.0,6.0,0,0,0 +4148,1100105,35,1,1,0.0,6.0,2653,0,0 +4149,1100105,35,1,1,0.0,6.0,0,0,0 +4150,1100105,35,1,1,0.0,6.0,0,0,0 +4151,1100105,35,1,1,1.0,4.0,0,0,0 +4152,1100105,35,1,1,0.0,4.0,20261,0,0 +4153,1100105,35,1,1,0.0,6.0,0,0,0 +4154,1100105,35,1,1,0.0,6.0,1591,0,0 +4155,1100105,35,1,1,0.0,4.0,527,0,0 +4156,1100105,35,1,1,1.0,6.0,0,0,0 +4157,1100105,35,1,1,1.0,6.0,0,0,0 +4158,1100105,35,1,1,0.0,4.0,20261,0,0 +4159,1100105,35,1,1,0.0,4.0,20261,0,0 +4160,1100105,35,1,1,0.0,4.0,527,0,0 +4161,1100105,35,1,1,0.0,6.0,0,0,0 +4162,1100105,35,1,1,0.0,6.0,13465,0,0 +4163,1100105,35,1,1,0.0,6.0,2653,0,0 +4164,1100105,35,1,1,0.0,6.0,0,0,0 +4165,1100105,35,1,1,0.0,6.0,0,0,0 +4166,1100105,35,1,1,0.0,6.0,0,0,0 +4167,1100105,35,1,1,1.0,6.0,21680,0,0 +4168,1100105,35,1,1,0.0,6.0,3268,0,0 +4169,1100105,35,1,1,0.0,6.0,3268,0,0 +4170,1100105,35,1,1,0.0,4.0,11673,0,0 +4171,1100105,35,1,1,1.0,6.0,535,0,0 +4172,1100105,35,1,1,0.0,4.0,20261,0,0 +4173,1100105,35,1,1,0.0,4.0,5268,0,0 +4174,1100105,35,1,1,0.0,4.0,11673,0,0 +4175,1100105,35,1,1,0.0,4.0,11673,0,0 +4176,1100105,35,1,1,0.0,4.0,527,0,0 +4177,1100105,35,1,1,0.0,6.0,2653,0,0 +4178,1100105,35,1,1,0.0,6.0,1591,0,0 +4179,1100105,35,1,1,0.0,6.0,0,0,0 +4180,1100105,35,1,1,0.0,6.0,0,0,0 +4181,1100105,35,1,1,0.0,6.0,0,0,0 +4182,1100105,35,1,1,0.0,6.0,24314,0,0 +4183,1100105,35,1,1,0.0,6.0,4244,0,0 +4184,1100105,35,1,1,0.0,4.0,527,0,0 +4185,1100105,35,1,1,0.0,6.0,20261,0,0 +4186,1100105,35,1,1,0.0,4.0,7250,0,0 +4187,1100105,35,1,1,0.0,6.0,0,0,0 +4188,1100105,35,1,1,0.0,6.0,3268,0,0 +4189,1100105,35,1,1,0.0,6.0,1591,0,0 +4190,1100105,35,1,1,0.0,4.0,20261,0,0 +4191,1100105,35,1,1,0.0,6.0,20261,0,0 +4192,1100105,35,1,1,0.0,4.0,0,0,0 +4193,1100105,35,1,1,0.0,6.0,0,0,0 +4194,1100105,35,1,1,0.0,6.0,0,0,0 +4195,1100105,35,1,1,1.0,4.0,4603,0,0 +4196,1100105,35,1,1,0.0,4.0,20261,0,0 +4197,1100105,35,1,1,1.0,6.0,0,0,0 +4198,1100105,35,1,1,0.0,4.0,0,0,0 +4199,1100105,35,1,1,0.0,6.0,5353,0,0 +4200,1100105,35,1,1,0.0,4.0,11673,0,0 +4201,1100105,35,1,1,0.0,6.0,2653,0,0 +4202,1100105,35,1,1,0.0,6.0,13465,0,0 +4203,1100105,35,1,1,0.0,4.0,20261,0,0 +4204,1100105,35,1,1,0.0,4.0,23402,0,0 +4205,1100105,35,1,1,0.0,4.0,7250,0,0 +4206,1100105,35,1,1,0.0,6.0,4244,0,0 +4207,1100105,35,1,1,1.0,6.0,21680,0,0 +4208,1100105,35,1,1,0.0,6.0,1591,0,0 +4209,1100105,35,1,1,0.0,4.0,20261,0,0 +4210,1100105,35,1,1,1.0,4.0,4603,0,0 +4211,1100105,35,1,1,0.0,4.0,527,0,0 +4212,1100105,35,1,1,0.0,6.0,0,0,0 +4213,1100105,35,1,1,0.0,6.0,0,0,0 +4214,1100105,35,1,1,0.0,4.0,527,0,0 +4215,1100105,35,1,1,1.0,4.0,3107,0,0 +4216,1100105,35,1,1,0.0,6.0,0,0,0 +4217,1100105,35,1,1,0.0,6.0,0,0,0 +4218,1100105,35,1,1,0.0,6.0,267,0,0 +4219,1100105,35,1,1,0.0,4.0,20261,0,0 +4220,1100105,35,1,1,0.0,4.0,20261,0,0 +4221,1100105,35,1,1,0.0,4.0,20261,0,0 +4222,1100105,35,1,1,0.0,6.0,4244,0,0 +4223,1100105,35,1,1,0.0,6.0,2653,0,0 +4224,1100105,35,1,1,0.0,6.0,0,0,0 +4225,1100105,35,1,1,1.0,6.0,0,0,0 +4226,1100105,35,1,1,1.0,4.0,4603,0,0 +4227,1100105,35,1,1,0.0,6.0,0,0,0 +4228,1100105,35,1,1,0.0,4.0,23402,0,0 +4229,1100105,35,1,1,1.0,6.0,0,0,0 +4230,1100105,35,1,1,1.0,6.0,12848,0,0 +4231,1100105,35,1,1,0.0,6.0,0,0,0 +4232,1100105,35,1,1,0.0,4.0,20261,0,0 +4233,1100105,35,1,1,0.0,6.0,5353,0,0 +4234,1100105,35,1,1,0.0,4.0,20261,0,0 +4235,1100105,35,1,1,0.0,4.0,0,0,0 +4236,1100105,35,1,1,0.0,4.0,23402,0,0 +4237,1100105,35,1,1,0.0,6.0,0,0,0 +4238,1100105,35,1,1,0.0,4.0,23402,0,0 +4239,1100105,35,1,1,0.0,6.0,0,0,0 +4240,1100105,35,1,1,0.0,6.0,0,0,0 +4241,1100105,35,1,1,0.0,6.0,0,0,0 +4242,1100105,35,1,1,0.0,6.0,0,0,0 +4243,1100105,35,1,1,0.0,6.0,0,0,0 +4244,1100105,35,1,1,0.0,6.0,0,0,0 +4245,1100105,35,1,1,0.0,6.0,0,0,0 +4246,1100105,35,1,1,0.0,6.0,0,0,0 +4247,1100105,35,1,1,0.0,6.0,0,0,0 +4248,1100105,35,1,1,0.0,6.0,0,0,0 +4249,1100105,35,1,1,0.0,6.0,0,0,0 +4250,1100105,39,1,10,2.0,5.0,579643,9,0 +4251,1100105,39,1,3,0.0,3.0,19112,0,0 +4252,1100105,39,1,2,1.0,1.0,323678,2,0 +4253,1100105,39,1,2,1.0,1.0,158172,2,0 +4254,1100105,39,1,2,0.0,5.0,140820,2,0 +4255,1100105,39,1,2,1.0,5.0,79021,2,0 +4256,1100105,39,1,2,2.0,7.0,75348,1,0 +4257,1100105,39,1,2,0.0,5.0,31735,1,0 +4258,1100105,39,1,2,0.0,1.0,36772,0,0 +4259,1100105,39,1,2,0.0,7.0,5306,1,0 +4260,1100105,39,1,1,1.0,4.0,176092,1,0 +4261,1100105,39,1,1,1.0,6.0,102809,1,0 +4262,1100105,39,1,1,0.0,6.0,107727,1,0 +4263,1100105,39,1,1,0.0,4.0,101217,1,0 +4264,1100105,39,1,1,1.0,6.0,123127,1,0 +4265,1100105,39,1,1,0.0,6.0,107388,1,0 +4266,1100105,39,1,1,0.0,4.0,93225,1,0 +4267,1100105,39,1,1,1.0,6.0,62150,1,0 +4268,1100105,39,1,1,0.0,6.0,76652,1,0 +4269,1100105,39,1,1,1.0,6.0,61114,1,0 +4270,1100105,39,1,1,1.0,6.0,71472,1,0 +4271,1100105,39,1,1,1.0,6.0,70916,1,0 +4272,1100105,39,1,1,1.0,4.0,30392,1,0 +4273,1100105,39,1,1,1.0,6.0,36254,1,0 +4274,1100105,39,1,1,0.0,4.0,28174,1,0 +4275,1100105,39,1,1,0.0,6.0,39713,0,0 +4276,1100105,39,1,1,1.0,6.0,6326,1,0 +4277,1100105,39,1,1,0.0,6.0,12989,0,0 +4278,1100105,39,1,1,0.0,6.0,9126,0,0 +4279,1100105,40,1,4,1.0,5.0,671683,4,0 +4280,1100105,40,1,4,1.0,7.0,201504,4,0 +4281,1100105,40,1,4,0.0,5.0,265184,4,0 +4282,1100105,40,1,4,1.0,1.0,495186,2,1 +4283,1100105,40,1,4,1.0,1.0,210869,2,1 +4284,1100105,40,1,4,1.0,1.0,210869,2,1 +4285,1100105,40,1,4,2.0,1.0,246182,2,1 +4286,1100105,40,1,4,2.0,1.0,263586,2,1 +4287,1100105,40,1,4,2.0,1.0,324217,2,1 +4288,1100105,40,1,4,2.0,1.0,686623,2,1 +4289,1100105,40,1,4,1.0,1.0,254097,2,1 +4290,1100105,40,1,4,0.0,2.0,286535,2,1 +4291,1100105,40,1,4,2.0,1.0,686623,1,1 +4292,1100105,40,1,4,1.0,1.0,178288,2,1 +4293,1100105,40,1,4,1.0,3.0,183913,1,1 +4294,1100105,40,1,4,3.0,1.0,111238,1,0 +4295,1100105,40,1,4,2.0,2.0,124383,1,0 +4296,1100105,40,1,4,2.0,1.0,138794,1,1 +4297,1100105,40,1,4,2.0,5.0,81385,3,0 +4298,1100105,40,1,4,0.0,1.0,72612,2,1 +4299,1100105,40,1,4,0.0,3.0,51151,1,1 +4300,1100105,40,1,4,2.0,1.0,46391,2,0 +4301,1100105,40,1,4,0.0,1.0,49250,2,0 +4302,1100105,40,1,4,0.0,1.0,49250,2,0 +4303,1100105,40,1,4,0.0,1.0,49250,2,0 +4304,1100105,40,1,4,0.0,1.0,49250,2,0 +4305,1100105,40,1,4,3.0,1.0,49720,2,1 +4306,1100105,40,1,4,1.0,1.0,27967,2,1 +4307,1100105,40,1,4,1.0,1.0,46038,1,1 +4308,1100105,40,1,4,0.0,1.0,20261,1,1 +4309,1100105,40,1,4,0.0,5.0,0,0,0 +4310,1100105,40,1,3,2.0,1.0,322145,2,1 +4311,1100105,40,1,3,1.0,1.0,403976,2,1 +4312,1100105,40,1,3,1.0,1.0,278601,2,1 +4313,1100105,40,1,3,1.0,1.0,389475,2,1 +4314,1100105,40,1,3,0.0,1.0,256266,2,1 +4315,1100105,40,1,3,1.0,1.0,240259,2,1 +4316,1100105,40,1,3,1.0,1.0,238760,1,1 +4317,1100105,40,1,3,1.0,1.0,175104,2,1 +4318,1100105,40,1,3,1.0,1.0,152818,1,1 +4319,1100105,40,1,3,0.0,1.0,121571,2,1 +4320,1100105,40,1,3,1.0,1.0,68532,2,1 +4321,1100105,40,1,3,1.0,1.0,68532,2,1 +4322,1100105,40,1,2,2.0,1.0,845809,2,0 +4323,1100105,40,1,2,1.0,1.0,362543,2,0 +4324,1100105,40,1,2,2.0,7.0,217554,2,0 +4325,1100105,40,1,2,2.0,1.0,328281,2,0 +4326,1100105,40,1,2,1.0,1.0,569089,2,0 +4327,1100105,40,1,2,2.0,5.0,310943,2,0 +4328,1100105,40,1,2,1.0,1.0,208207,2,0 +4329,1100105,40,1,2,1.0,5.0,375526,2,0 +4330,1100105,40,1,2,1.0,1.0,219842,2,0 +4331,1100105,40,1,2,1.0,1.0,276233,2,0 +4332,1100105,40,1,2,1.0,1.0,242499,2,0 +4333,1100105,40,1,2,0.0,1.0,304536,2,0 +4334,1100105,40,1,2,2.0,1.0,326217,2,0 +4335,1100105,40,1,2,0.0,5.0,339387,2,0 +4336,1100105,40,1,2,1.0,1.0,263930,2,0 +4337,1100105,40,1,2,1.0,5.0,211993,2,0 +4338,1100105,40,1,2,0.0,5.0,294435,2,0 +4339,1100105,40,1,2,0.0,1.0,202619,2,0 +4340,1100105,40,1,2,1.0,5.0,424693,2,0 +4341,1100105,40,1,2,1.0,1.0,273021,2,0 +4342,1100105,40,1,2,1.0,1.0,265695,2,0 +4343,1100105,40,1,2,1.0,5.0,265310,2,0 +4344,1100105,40,1,2,2.0,7.0,206639,2,0 +4345,1100105,40,1,2,2.0,7.0,206639,2,0 +4346,1100105,40,1,2,1.0,5.0,271093,2,0 +4347,1100105,40,1,2,1.0,1.0,283351,2,0 +4348,1100105,40,1,2,0.0,1.0,342615,2,0 +4349,1100105,40,1,2,1.0,1.0,323678,2,0 +4350,1100105,40,1,2,1.0,7.0,319433,2,0 +4351,1100105,40,1,2,1.0,7.0,216275,2,0 +4352,1100105,40,1,2,0.0,7.0,209239,2,0 +4353,1100105,40,1,2,1.0,7.0,295213,2,0 +4354,1100105,40,1,2,1.0,1.0,409086,2,0 +4355,1100105,40,1,2,1.0,1.0,210869,2,0 +4356,1100105,40,1,2,0.0,1.0,322617,1,0 +4357,1100105,40,1,2,2.0,1.0,304705,1,0 +4358,1100105,40,1,2,1.0,1.0,415992,1,0 +4359,1100105,40,1,2,2.0,1.0,616323,0,0 +4360,1100105,40,1,2,0.0,1.0,359761,0,0 +4361,1100105,40,1,2,0.0,5.0,160600,2,0 +4362,1100105,40,1,2,1.0,1.0,164883,2,0 +4363,1100105,40,1,2,2.0,5.0,163812,2,0 +4364,1100105,40,1,2,0.0,5.0,173967,2,0 +4365,1100105,40,1,2,1.0,1.0,163431,2,0 +4366,1100105,40,1,2,0.0,7.0,152818,2,0 +4367,1100105,40,1,2,1.0,7.0,191630,2,0 +4368,1100105,40,1,2,0.0,5.0,159186,2,0 +4369,1100105,40,1,2,1.0,7.0,163108,2,0 +4370,1100105,40,1,2,1.0,5.0,196809,2,0 +4371,1100105,40,1,2,0.0,5.0,192721,2,0 +4372,1100105,40,1,2,0.0,5.0,178289,2,0 +4373,1100105,40,1,2,0.0,5.0,158483,2,0 +4374,1100105,40,1,2,2.0,5.0,193999,2,0 +4375,1100105,40,1,2,1.0,1.0,174362,2,0 +4376,1100105,40,1,2,1.0,1.0,174362,2,0 +4377,1100105,40,1,2,1.0,7.0,151964,2,0 +4378,1100105,40,1,2,1.0,5.0,173967,2,0 +4379,1100105,40,1,2,2.0,5.0,150771,2,0 +4380,1100105,40,1,2,1.0,1.0,175056,2,0 +4381,1100105,40,1,2,1.0,5.0,173967,2,0 +4382,1100105,40,1,2,1.0,7.0,178305,2,0 +4383,1100105,40,1,2,0.0,7.0,171307,2,0 +4384,1100105,40,1,2,1.0,1.0,178543,2,0 +4385,1100105,40,1,2,1.0,1.0,175056,2,0 +4386,1100105,40,1,2,1.0,1.0,167024,2,0 +4387,1100105,40,1,2,1.0,1.0,175104,2,0 +4388,1100105,40,1,2,1.0,5.0,174043,2,0 +4389,1100105,40,1,2,1.0,1.0,165954,2,0 +4390,1100105,40,1,2,0.0,1.0,192523,2,0 +4391,1100105,40,1,2,2.0,5.0,187146,2,0 +4392,1100105,40,1,2,2.0,1.0,153200,1,0 +4393,1100105,40,1,2,0.0,5.0,197194,1,0 +4394,1100105,40,1,2,1.0,7.0,154176,1,0 +4395,1100105,40,1,2,0.0,1.0,189782,1,0 +4396,1100105,40,1,2,1.0,7.0,175317,1,0 +4397,1100105,40,1,2,1.0,7.0,189782,1,0 +4398,1100105,40,1,2,1.0,1.0,153821,0,0 +4399,1100105,40,1,2,2.0,1.0,111744,2,0 +4400,1100105,40,1,2,2.0,5.0,135754,2,0 +4401,1100105,40,1,2,0.0,7.0,120769,2,0 +4402,1100105,40,1,2,1.0,1.0,144550,2,0 +4403,1100105,40,1,2,0.0,5.0,111430,2,0 +4404,1100105,40,1,2,1.0,1.0,139807,2,0 +4405,1100105,40,1,2,0.0,7.0,129676,2,0 +4406,1100105,40,1,2,1.0,7.0,111249,2,0 +4407,1100105,40,1,2,1.0,7.0,117053,2,0 +4408,1100105,40,1,2,1.0,5.0,120558,2,0 +4409,1100105,40,1,2,0.0,5.0,103855,2,0 +4410,1100105,40,1,2,1.0,5.0,148573,2,0 +4411,1100105,40,1,2,2.0,7.0,148662,2,0 +4412,1100105,40,1,2,0.0,1.0,115675,2,0 +4413,1100105,40,1,2,0.0,5.0,133728,2,0 +4414,1100105,40,1,2,2.0,5.0,111440,2,0 +4415,1100105,40,1,2,1.0,1.0,134658,2,0 +4416,1100105,40,1,2,1.0,1.0,140686,2,0 +4417,1100105,40,1,2,1.0,1.0,117032,2,0 +4418,1100105,40,1,2,0.0,7.0,130738,2,0 +4419,1100105,40,1,2,1.0,5.0,101083,1,0 +4420,1100105,40,1,2,2.0,7.0,108401,1,0 +4421,1100105,40,1,2,1.0,1.0,122382,0,0 +4422,1100105,40,1,2,1.0,1.0,79528,2,0 +4423,1100105,40,1,2,2.0,1.0,68384,2,0 +4424,1100105,40,1,2,0.0,7.0,83838,2,0 +4425,1100105,40,1,2,1.0,3.0,85653,2,0 +4426,1100105,40,1,2,0.0,5.0,79593,2,0 +4427,1100105,40,1,2,0.0,7.0,76967,2,0 +4428,1100105,40,1,2,0.0,7.0,93508,2,0 +4429,1100105,40,1,2,1.0,3.0,87936,2,0 +4430,1100105,40,1,2,0.0,7.0,89619,2,0 +4431,1100105,40,1,2,2.0,7.0,81715,2,0 +4432,1100105,40,1,2,1.0,7.0,99756,2,0 +4433,1100105,40,1,2,1.0,7.0,60814,2,0 +4434,1100105,40,1,2,1.0,7.0,67794,2,0 +4435,1100105,40,1,2,0.0,5.0,74286,2,0 +4436,1100105,40,1,2,0.0,3.0,79699,1,0 +4437,1100105,40,1,2,1.0,1.0,93225,1,0 +4438,1100105,40,1,2,0.0,5.0,91649,1,0 +4439,1100105,40,1,2,1.0,7.0,54193,1,0 +4440,1100105,40,1,2,1.0,7.0,84899,1,0 +4441,1100105,40,1,2,0.0,1.0,66423,1,0 +4442,1100105,40,1,2,1.0,1.0,71952,1,0 +4443,1100105,40,1,2,1.0,1.0,88046,1,0 +4444,1100105,40,1,2,1.0,5.0,65340,1,0 +4445,1100105,40,1,2,1.0,1.0,99440,0,0 +4446,1100105,40,1,2,0.0,1.0,73909,0,0 +4447,1100105,40,1,2,1.0,1.0,47972,2,0 +4448,1100105,40,1,2,2.0,1.0,34702,2,0 +4449,1100105,40,1,2,0.0,7.0,46612,2,0 +4450,1100105,40,1,2,0.0,1.0,36082,2,0 +4451,1100105,40,1,2,1.0,5.0,48180,1,0 +4452,1100105,40,1,2,0.0,5.0,42980,1,0 +4453,1100105,40,1,2,1.0,1.0,36327,0,0 +4454,1100105,40,1,2,0.0,1.0,28920,0,0 +4455,1100105,40,1,2,1.0,3.0,12741,1,0 +4456,1100105,40,1,2,2.0,5.0,942,1,0 +4457,1100105,40,1,2,0.0,7.0,5306,1,0 +4458,1100105,40,1,2,1.0,5.0,23301,1,0 +4459,1100105,40,1,2,1.0,1.0,0,0,0 +4460,1100105,40,1,2,0.0,1.0,18556,0,0 +4461,1100105,40,1,2,0.0,5.0,4280,0,0 +4462,1100105,40,1,2,0.0,7.0,0,0,0 +4463,1100105,40,1,1,1.0,6.0,299788,1,0 +4464,1100105,40,1,1,1.0,4.0,288732,1,0 +4465,1100105,40,1,1,0.0,6.0,210869,1,0 +4466,1100105,40,1,1,2.0,6.0,347026,1,0 +4467,1100105,40,1,1,1.0,4.0,299788,1,0 +4468,1100105,40,1,1,1.0,6.0,421738,1,0 +4469,1100105,40,1,1,2.0,4.0,200325,1,0 +4470,1100105,40,1,1,1.0,6.0,306212,1,0 +4471,1100105,40,1,1,1.0,4.0,212301,1,0 +4472,1100105,40,1,1,1.0,6.0,220569,1,0 +4473,1100105,40,1,1,1.0,4.0,299788,1,0 +4474,1100105,40,1,1,1.0,6.0,231372,1,0 +4475,1100105,40,1,1,1.0,4.0,559274,1,0 +4476,1100105,40,1,1,1.0,4.0,623131,1,0 +4477,1100105,40,1,1,2.0,4.0,212750,1,0 +4478,1100105,40,1,1,0.0,4.0,207710,1,0 +4479,1100105,40,1,1,1.0,6.0,421738,1,0 +4480,1100105,40,1,1,0.0,4.0,235569,1,0 +4481,1100105,40,1,1,0.0,4.0,222378,1,0 +4482,1100105,40,1,1,1.0,6.0,243421,1,0 +4483,1100105,40,1,1,0.0,6.0,445566,0,0 +4484,1100105,40,1,1,0.0,6.0,505151,0,0 +4485,1100105,40,1,1,1.0,6.0,163423,1,0 +4486,1100105,40,1,1,1.0,4.0,196809,1,0 +4487,1100105,40,1,1,1.0,4.0,196809,1,0 +4488,1100105,40,1,1,1.0,4.0,174252,1,0 +4489,1100105,40,1,1,1.0,6.0,176661,1,0 +4490,1100105,40,1,1,1.0,4.0,186450,1,0 +4491,1100105,40,1,1,1.0,4.0,199580,1,0 +4492,1100105,40,1,1,1.0,4.0,164492,1,0 +4493,1100105,40,1,1,1.0,4.0,176092,1,0 +4494,1100105,40,1,1,0.0,4.0,194210,1,0 +4495,1100105,40,1,1,1.0,6.0,169798,1,0 +4496,1100105,40,1,1,1.0,4.0,165889,1,0 +4497,1100105,40,1,1,1.0,4.0,152035,1,0 +4498,1100105,40,1,1,1.0,4.0,152035,1,0 +4499,1100105,40,1,1,0.0,4.0,179238,1,0 +4500,1100105,40,1,1,1.0,4.0,152035,1,0 +4501,1100105,40,1,1,0.0,6.0,151964,1,0 +4502,1100105,40,1,1,1.0,4.0,182610,1,0 +4503,1100105,40,1,1,0.0,6.0,171307,1,0 +4504,1100105,40,1,1,0.0,6.0,197553,1,0 +4505,1100105,40,1,1,0.0,4.0,175104,1,0 +4506,1100105,40,1,1,0.0,6.0,167161,1,0 +4507,1100105,40,1,1,1.0,6.0,160787,1,0 +4508,1100105,40,1,1,1.0,6.0,160787,1,0 +4509,1100105,40,1,1,1.0,4.0,155375,1,0 +4510,1100105,40,1,1,0.0,4.0,151825,1,0 +4511,1100105,40,1,1,0.0,6.0,159186,1,0 +4512,1100105,40,1,1,1.0,4.0,191023,0,0 +4513,1100105,40,1,1,1.0,4.0,115418,1,0 +4514,1100105,40,1,1,1.0,6.0,127838,1,0 +4515,1100105,40,1,1,0.0,4.0,104380,1,0 +4516,1100105,40,1,1,0.0,6.0,121193,1,0 +4517,1100105,40,1,1,0.0,6.0,137961,1,0 +4518,1100105,40,1,1,0.0,4.0,121571,1,0 +4519,1100105,40,1,1,0.0,6.0,105434,1,0 +4520,1100105,40,1,1,0.0,4.0,143267,1,0 +4521,1100105,40,1,1,0.0,6.0,105434,1,0 +4522,1100105,40,1,1,1.0,6.0,118532,1,0 +4523,1100105,40,1,1,1.0,6.0,125054,1,0 +4524,1100105,40,1,1,0.0,6.0,107727,1,0 +4525,1100105,40,1,1,0.0,6.0,105434,1,0 +4526,1100105,40,1,1,0.0,6.0,113869,1,0 +4527,1100105,40,1,1,1.0,4.0,113942,1,0 +4528,1100105,40,1,1,1.0,6.0,129684,1,0 +4529,1100105,40,1,1,1.0,4.0,134658,1,0 +4530,1100105,40,1,1,1.0,6.0,128480,1,0 +4531,1100105,40,1,1,0.0,6.0,107067,1,0 +4532,1100105,40,1,1,0.0,4.0,127349,1,0 +4533,1100105,40,1,1,1.0,6.0,120157,1,0 +4534,1100105,40,1,1,1.0,4.0,106177,1,0 +4535,1100105,40,1,1,0.0,4.0,139838,1,0 +4536,1100105,40,1,1,1.0,6.0,137961,1,0 +4537,1100105,40,1,1,1.0,4.0,103583,1,0 +4538,1100105,40,1,1,1.0,4.0,143728,1,0 +4539,1100105,40,1,1,1.0,4.0,148925,1,0 +4540,1100105,40,1,1,1.0,4.0,146682,1,0 +4541,1100105,40,1,1,1.0,6.0,125226,1,0 +4542,1100105,40,1,1,0.0,6.0,107727,1,0 +4543,1100105,40,1,1,1.0,6.0,114045,1,0 +4544,1100105,40,1,1,1.0,6.0,102809,1,0 +4545,1100105,40,1,1,1.0,4.0,134658,1,0 +4546,1100105,40,1,1,1.0,4.0,113974,1,0 +4547,1100105,40,1,1,0.0,4.0,106124,1,0 +4548,1100105,40,1,1,0.0,6.0,139187,1,0 +4549,1100105,40,1,1,1.0,4.0,111760,1,0 +4550,1100105,40,1,1,0.0,4.0,136768,1,0 +4551,1100105,40,1,1,1.0,4.0,124818,1,0 +4552,1100105,40,1,1,0.0,6.0,105434,1,0 +4553,1100105,40,1,1,0.0,6.0,103583,1,0 +4554,1100105,40,1,1,0.0,6.0,141833,1,0 +4555,1100105,40,1,1,1.0,6.0,105686,1,0 +4556,1100105,40,1,1,1.0,4.0,131702,1,0 +4557,1100105,40,1,1,0.0,4.0,121571,1,0 +4558,1100105,40,1,1,1.0,6.0,113466,1,0 +4559,1100105,40,1,1,0.0,4.0,105434,1,0 +4560,1100105,40,1,1,1.0,4.0,131905,1,0 +4561,1100105,40,1,1,1.0,6.0,119141,1,0 +4562,1100105,40,1,1,0.0,6.0,119915,1,0 +4563,1100105,40,1,1,0.0,6.0,122228,1,0 +4564,1100105,40,1,1,1.0,4.0,105434,1,0 +4565,1100105,40,1,1,0.0,6.0,103583,1,0 +4566,1100105,40,1,1,1.0,4.0,131702,1,0 +4567,1100105,40,1,1,1.0,6.0,100162,1,0 +4568,1100105,40,1,1,0.0,6.0,101309,1,0 +4569,1100105,40,1,1,0.0,4.0,101309,1,0 +4570,1100105,40,1,1,1.0,4.0,109307,0,0 +4571,1100105,40,1,1,0.0,4.0,112502,0,0 +4572,1100105,40,1,1,1.0,4.0,92191,1,0 +4573,1100105,40,1,1,1.0,4.0,98270,1,0 +4574,1100105,40,1,1,0.0,6.0,87227,1,0 +4575,1100105,40,1,1,0.0,6.0,87227,1,0 +4576,1100105,40,1,1,1.0,6.0,82441,1,0 +4577,1100105,40,1,1,0.0,4.0,99272,1,0 +4578,1100105,40,1,1,1.0,4.0,81047,1,0 +4579,1100105,40,1,1,0.0,6.0,69401,1,0 +4580,1100105,40,1,1,1.0,4.0,82867,1,0 +4581,1100105,40,1,1,1.0,4.0,82867,1,0 +4582,1100105,40,1,1,0.0,4.0,99283,1,0 +4583,1100105,40,1,1,1.0,4.0,82867,1,0 +4584,1100105,40,1,1,1.0,4.0,53533,1,0 +4585,1100105,40,1,1,0.0,4.0,76652,1,0 +4586,1100105,40,1,1,0.0,6.0,53771,1,0 +4587,1100105,40,1,1,1.0,4.0,71695,1,0 +4588,1100105,40,1,1,1.0,6.0,87126,1,0 +4589,1100105,40,1,1,1.0,4.0,74947,1,0 +4590,1100105,40,1,1,0.0,6.0,79593,1,0 +4591,1100105,40,1,1,0.0,4.0,74947,1,0 +4592,1100105,40,1,1,1.0,4.0,85653,1,0 +4593,1100105,40,1,1,1.0,4.0,98270,1,0 +4594,1100105,40,1,1,1.0,6.0,60785,1,0 +4595,1100105,40,1,1,0.0,4.0,98695,1,0 +4596,1100105,40,1,1,1.0,6.0,65851,1,0 +4597,1100105,40,1,1,0.0,4.0,94922,1,0 +4598,1100105,40,1,1,1.0,4.0,84899,1,0 +4599,1100105,40,1,1,0.0,6.0,96360,1,0 +4600,1100105,40,1,1,1.0,6.0,60785,1,0 +4601,1100105,40,1,1,1.0,6.0,79933,1,0 +4602,1100105,40,1,1,1.0,4.0,65797,1,0 +4603,1100105,40,1,1,1.0,4.0,94891,1,0 +4604,1100105,40,1,1,0.0,4.0,81371,1,0 +4605,1100105,40,1,1,0.0,4.0,96042,1,0 +4606,1100105,40,1,1,1.0,4.0,65797,1,0 +4607,1100105,40,1,1,0.0,6.0,71949,1,0 +4608,1100105,40,1,1,1.0,6.0,84347,1,0 +4609,1100105,40,1,1,0.0,6.0,75982,1,0 +4610,1100105,40,1,1,1.0,6.0,84347,1,0 +4611,1100105,40,1,1,1.0,6.0,62150,1,0 +4612,1100105,40,1,1,0.0,6.0,79593,1,0 +4613,1100105,40,1,1,0.0,6.0,73804,1,0 +4614,1100105,40,1,1,0.0,4.0,60490,1,0 +4615,1100105,40,1,1,0.0,4.0,74947,1,0 +4616,1100105,40,1,1,0.0,4.0,74947,1,0 +4617,1100105,40,1,1,1.0,6.0,58368,1,0 +4618,1100105,40,1,1,1.0,6.0,87328,1,0 +4619,1100105,40,1,1,0.0,4.0,76652,1,0 +4620,1100105,40,1,1,0.0,6.0,89936,1,0 +4621,1100105,40,1,1,0.0,4.0,76652,1,0 +4622,1100105,40,1,1,0.0,4.0,83384,1,0 +4623,1100105,40,1,1,0.0,4.0,95511,1,0 +4624,1100105,40,1,1,0.0,4.0,83384,1,0 +4625,1100105,40,1,1,1.0,6.0,70641,1,0 +4626,1100105,40,1,1,1.0,4.0,89619,1,0 +4627,1100105,40,1,1,0.0,6.0,63674,1,0 +4628,1100105,40,1,1,1.0,4.0,98404,1,0 +4629,1100105,40,1,1,1.0,4.0,82867,1,0 +4630,1100105,40,1,1,0.0,6.0,82867,1,0 +4631,1100105,40,1,1,0.0,6.0,61798,1,0 +4632,1100105,40,1,1,1.0,6.0,92077,1,0 +4633,1100105,40,1,1,1.0,4.0,89144,1,0 +4634,1100105,40,1,1,0.0,6.0,58759,1,0 +4635,1100105,40,1,1,0.0,6.0,84347,1,0 +4636,1100105,40,1,1,1.0,4.0,79593,1,0 +4637,1100105,40,1,1,1.0,6.0,96332,1,0 +4638,1100105,40,1,1,0.0,6.0,65851,1,0 +4639,1100105,40,1,1,1.0,6.0,91178,1,0 +4640,1100105,40,1,1,0.0,6.0,74947,1,0 +4641,1100105,40,1,1,0.0,4.0,74286,1,0 +4642,1100105,40,1,1,0.0,4.0,91178,1,0 +4643,1100105,40,1,1,1.0,6.0,67329,1,0 +4644,1100105,40,1,1,1.0,4.0,88342,1,0 +4645,1100105,40,1,1,0.0,6.0,65580,1,0 +4646,1100105,40,1,1,0.0,6.0,53345,1,0 +4647,1100105,40,1,1,1.0,4.0,92951,1,0 +4648,1100105,40,1,1,3.0,4.0,69647,1,0 +4649,1100105,40,1,1,1.0,6.0,85960,1,0 +4650,1100105,40,1,1,1.0,6.0,79075,1,0 +4651,1100105,40,1,1,0.0,4.0,81047,1,0 +4652,1100105,40,1,1,0.0,6.0,55720,1,0 +4653,1100105,40,1,1,0.0,4.0,52717,1,0 +4654,1100105,40,1,1,0.0,6.0,84087,1,0 +4655,1100105,40,1,1,1.0,6.0,60785,1,0 +4656,1100105,40,1,1,1.0,6.0,79075,1,0 +4657,1100105,40,1,1,0.0,6.0,76652,1,0 +4658,1100105,40,1,1,0.0,6.0,80300,1,0 +4659,1100105,40,1,1,1.0,6.0,63260,1,0 +4660,1100105,40,1,1,0.0,6.0,82867,1,0 +4661,1100105,40,1,1,0.0,6.0,85653,1,0 +4662,1100105,40,1,1,1.0,6.0,60785,1,0 +4663,1100105,40,1,1,0.0,6.0,66858,1,0 +4664,1100105,40,1,1,0.0,4.0,87795,1,0 +4665,1100105,40,1,1,0.0,6.0,81047,1,0 +4666,1100105,40,1,1,0.0,6.0,72508,1,0 +4667,1100105,40,1,1,0.0,6.0,56245,1,0 +4668,1100105,40,1,1,0.0,6.0,50397,1,0 +4669,1100105,40,1,1,1.0,4.0,89861,0,0 +4670,1100105,40,1,1,1.0,4.0,50652,0,0 +4671,1100105,40,1,1,1.0,4.0,98270,0,0 +4672,1100105,40,1,1,1.0,6.0,59886,0,0 +4673,1100105,40,1,1,0.0,6.0,56564,0,0 +4674,1100105,40,1,1,1.0,6.0,51364,0,0 +4675,1100105,40,1,1,1.0,6.0,51364,0,0 +4676,1100105,40,1,1,1.0,6.0,59886,0,0 +4677,1100105,40,1,1,0.0,6.0,88865,0,0 +4678,1100105,40,1,1,0.0,4.0,94219,0,0 +4679,1100105,40,1,1,1.0,4.0,55821,0,0 +4680,1100105,40,1,1,0.0,4.0,58214,0,0 +4681,1100105,40,1,1,1.0,6.0,79593,0,0 +4682,1100105,40,1,1,1.0,4.0,27967,1,0 +4683,1100105,40,1,1,1.0,6.0,46391,1,0 +4684,1100105,40,1,1,0.0,4.0,42184,1,0 +4685,1100105,40,1,1,0.0,6.0,31837,1,0 +4686,1100105,40,1,1,0.0,6.0,31837,1,0 +4687,1100105,40,1,1,1.0,6.0,47755,1,0 +4688,1100105,40,1,1,1.0,4.0,49029,1,0 +4689,1100105,40,1,1,1.0,4.0,30392,1,0 +4690,1100105,40,1,1,1.0,4.0,35332,1,0 +4691,1100105,40,1,1,1.0,6.0,33146,1,0 +4692,1100105,40,1,1,1.0,4.0,31075,1,0 +4693,1100105,40,1,1,0.0,4.0,42449,1,0 +4694,1100105,40,1,1,0.0,4.0,26358,1,0 +4695,1100105,40,1,1,0.0,6.0,27837,1,0 +4696,1100105,40,1,1,0.0,4.0,29003,1,0 +4697,1100105,40,1,1,0.0,4.0,25327,1,0 +4698,1100105,40,1,1,1.0,4.0,43829,1,0 +4699,1100105,40,1,1,1.0,6.0,25895,1,0 +4700,1100105,40,1,1,0.0,6.0,27967,1,0 +4701,1100105,40,1,1,2.0,4.0,42449,1,0 +4702,1100105,40,1,1,0.0,4.0,42449,1,0 +4703,1100105,40,1,1,0.0,4.0,42826,1,0 +4704,1100105,40,1,1,0.0,6.0,25482,1,0 +4705,1100105,40,1,1,0.0,4.0,45589,1,0 +4706,1100105,40,1,1,1.0,4.0,45183,1,0 +4707,1100105,40,1,1,0.0,6.0,46612,1,0 +4708,1100105,40,1,1,1.0,6.0,36902,1,0 +4709,1100105,40,1,1,1.0,6.0,43510,1,0 +4710,1100105,40,1,1,1.0,6.0,48180,1,0 +4711,1100105,40,1,1,1.0,6.0,48817,1,0 +4712,1100105,40,1,1,1.0,6.0,36902,1,0 +4713,1100105,40,1,1,1.0,6.0,32525,1,0 +4714,1100105,40,1,1,1.0,6.0,42173,1,0 +4715,1100105,40,1,1,0.0,6.0,46745,1,0 +4716,1100105,40,1,1,0.0,6.0,37143,1,0 +4717,1100105,40,1,1,1.0,6.0,29521,0,0 +4718,1100105,40,1,1,1.0,4.0,47755,0,0 +4719,1100105,40,1,1,1.0,4.0,47755,0,0 +4720,1100105,40,1,1,0.0,6.0,34445,0,0 +4721,1100105,40,1,1,1.0,4.0,36674,0,0 +4722,1100105,40,1,1,0.0,6.0,30453,0,0 +4723,1100105,40,1,1,0.0,6.0,43157,0,0 +4724,1100105,40,1,1,0.0,6.0,39713,0,0 +4725,1100105,40,1,1,1.0,4.0,38544,0,0 +4726,1100105,40,1,1,0.0,6.0,28151,0,0 +4727,1100105,40,1,1,1.0,6.0,37788,0,0 +4728,1100105,40,1,1,0.0,4.0,29582,0,0 +4729,1100105,40,1,1,1.0,6.0,32621,0,0 +4730,1100105,40,1,1,0.0,6.0,27592,0,0 +4731,1100105,40,1,1,0.0,4.0,27412,0,0 +4732,1100105,40,1,1,0.0,4.0,41739,0,0 +4733,1100105,40,1,1,1.0,6.0,13062,1,0 +4734,1100105,40,1,1,0.0,4.0,13880,1,0 +4735,1100105,40,1,1,0.0,4.0,16060,1,0 +4736,1100105,40,1,1,0.0,4.0,16060,1,0 +4737,1100105,40,1,1,1.0,4.0,18201,1,0 +4738,1100105,40,1,1,1.0,4.0,24408,1,0 +4739,1100105,40,1,1,1.0,4.0,16595,1,0 +4740,1100105,40,1,1,0.0,6.0,9563,1,0 +4741,1100105,40,1,1,0.0,6.0,103,1,0 +4742,1100105,40,1,1,2.0,4.0,21413,1,0 +4743,1100105,40,1,1,0.0,6.0,10706,1,0 +4744,1100105,40,1,1,0.0,6.0,5798,1,0 +4745,1100105,40,1,1,0.0,4.0,4217,1,0 +4746,1100105,40,1,1,0.0,4.0,19189,1,0 +4747,1100105,40,1,1,0.0,6.0,10612,1,0 +4748,1100105,40,1,1,0.0,6.0,5774,1,0 +4749,1100105,40,1,1,1.0,6.0,1581,1,0 +4750,1100105,40,1,1,0.0,6.0,10612,1,0 +4751,1100105,40,1,1,0.0,4.0,5306,1,0 +4752,1100105,40,1,1,0.0,6.0,11497,0,0 +4753,1100105,40,1,1,0.0,4.0,2108,0,0 +4754,1100105,40,1,1,1.0,6.0,18127,0,0 +4755,1100105,40,1,1,0.0,6.0,0,0,0 +4756,1100105,40,1,1,1.0,6.0,16060,0,0 +4757,1100105,40,1,1,0.0,6.0,11144,0,0 +4758,1100105,40,1,1,3.0,6.0,9624,0,0 +4759,1100105,40,1,1,0.0,4.0,9944,0,0 +4760,1100105,40,1,1,0.0,6.0,8993,0,0 +4761,1100105,40,1,1,0.0,4.0,12441,0,0 +4762,1100105,40,1,1,1.0,6.0,24040,0,0 +4763,1100105,40,1,1,0.0,6.0,8104,0,0 +4764,1100105,40,1,1,1.0,4.0,3163,0,0 +4765,1100105,40,1,1,0.0,6.0,11394,0,0 +4766,1100105,40,1,1,0.0,6.0,13170,0,0 +4767,1100105,40,1,1,0.0,6.0,9117,0,0 +4768,1100105,40,1,1,1.0,4.0,10920,0,0 +4769,1100105,40,1,1,0.0,6.0,1391,0,0 +4770,1100105,40,1,1,1.0,4.0,15069,0,0 +4771,1100105,40,1,1,0.0,6.0,3936,0,0 +4772,1100105,40,1,1,1.0,6.0,23768,0,0 +4773,1100105,40,1,1,0.0,4.0,15865,0,0 +4774,1100105,40,1,1,1.0,6.0,22592,0,0 +4775,1100105,40,1,1,0.0,6.0,9944,0,0 +4776,1100105,40,1,1,0.0,4.0,10536,0,0 +4777,1100105,40,1,1,0.0,6.0,9126,0,0 +4778,1100105,40,1,1,1.0,6.0,0,0,0 +4779,1100105,40,1,1,0.0,4.0,278,0,0 +4780,1100105,40,1,1,0.0,6.0,15196,0,0 +4781,1100105,40,1,1,0.0,6.0,10434,0,0 +4782,1100105,40,1,1,0.0,4.0,952,0,0 +4783,1100105,40,1,1,0.0,6.0,9528,0,0 +4784,1100105,40,1,1,1.0,4.0,13918,0,0 +4785,1100105,40,1,1,0.0,4.0,13601,0,0 +4786,1100105,40,1,1,0.0,6.0,0,0,0 +4787,1100105,40,1,1,0.0,6.0,6102,0,0 +4788,1100105,40,1,1,1.0,6.0,2569,0,0 +4789,1100105,40,1,1,0.0,6.0,0,0,0 +4790,1100105,40,1,1,1.0,6.0,1284,0,0 +4791,1100105,40,1,1,0.0,4.0,9489,0,0 +4792,1100105,40,1,1,1.0,4.0,10,0,0 +4793,1100105,40,1,1,0.0,4.0,0,0,0 +4794,1100105,40,1,1,0.0,6.0,0,0,0 +4795,1100105,40,1,1,0.0,6.0,3502,0,0 +4796,1100105,40,1,1,0.0,6.0,0,0,0 +4797,1100105,40,1,1,0.0,6.0,15918,0,0 +4798,1100105,40,1,1,1.0,6.0,21680,0,0 +4799,1100105,40,1,1,0.0,6.0,267,0,0 +4800,1100105,40,1,1,0.0,4.0,20261,0,0 +4801,1100105,40,1,1,1.0,4.0,0,0,0 +4802,1100105,40,1,1,0.0,6.0,5306,0,0 +4803,1100105,40,1,1,0.0,4.0,4143,0,0 +4804,1100105,41,1,4,1.0,1.0,473377,2,1 +4805,1100105,41,1,4,2.0,1.0,263586,2,1 +4806,1100105,41,1,4,2.0,1.0,246182,2,1 +4807,1100105,41,1,4,2.0,1.0,324217,2,1 +4808,1100105,41,1,4,2.0,1.0,263586,2,1 +4809,1100105,41,1,4,2.0,1.0,263586,2,1 +4810,1100105,41,1,4,2.0,1.0,263586,2,1 +4811,1100105,41,1,4,2.0,1.0,263586,2,1 +4812,1100105,41,1,4,2.0,1.0,324217,2,1 +4813,1100105,41,1,4,2.0,1.0,324217,2,1 +4814,1100105,41,1,4,2.0,1.0,246182,2,1 +4815,1100105,41,1,4,2.0,1.0,263586,2,1 +4816,1100105,41,1,4,2.0,1.0,282657,2,1 +4817,1100105,41,1,4,2.0,1.0,303929,1,1 +4818,1100105,41,1,4,1.0,3.0,183913,1,1 +4819,1100105,41,1,4,1.0,3.0,105434,1,1 +4820,1100105,41,1,4,2.0,1.0,138794,1,1 +4821,1100105,41,1,4,2.0,1.0,56934,2,1 +4822,1100105,41,1,4,0.0,3.0,51151,1,1 +4823,1100105,41,1,4,0.0,3.0,51151,1,1 +4824,1100105,41,1,4,0.0,3.0,51151,1,1 +4825,1100105,41,1,4,0.0,1.0,49250,2,0 +4826,1100105,41,1,4,0.0,1.0,49250,2,0 +4827,1100105,41,1,4,0.0,1.0,49250,2,0 +4828,1100105,41,1,4,0.0,1.0,49250,2,0 +4829,1100105,41,1,4,0.0,1.0,49250,2,0 +4830,1100105,41,1,4,1.0,1.0,27967,2,1 +4831,1100105,41,1,4,1.0,5.0,29714,1,1 +4832,1100105,41,1,4,1.0,1.0,46038,1,1 +4833,1100105,41,1,4,0.0,1.0,20261,1,1 +4834,1100105,41,1,4,1.0,3.0,11597,1,1 +4835,1100105,41,1,4,1.0,3.0,11597,1,1 +4836,1100105,41,1,4,1.0,3.0,11597,1,1 +4837,1100105,41,1,4,1.0,3.0,11597,1,1 +4838,1100105,41,1,4,1.0,3.0,11597,1,1 +4839,1100105,41,1,4,1.0,3.0,11597,1,1 +4840,1100105,41,1,4,1.0,3.0,11597,1,1 +4841,1100105,41,1,4,1.0,3.0,11597,1,1 +4842,1100105,41,1,3,2.0,1.0,335282,3,0 +4843,1100105,41,1,3,1.0,1.0,301700,3,0 +4844,1100105,41,1,3,1.0,1.0,301700,3,0 +4845,1100105,41,1,3,0.0,1.0,573412,3,0 +4846,1100105,41,1,3,0.0,5.0,230301,3,0 +4847,1100105,41,1,3,1.0,1.0,394007,3,0 +4848,1100105,41,1,3,0.0,7.0,261477,3,0 +4849,1100105,41,1,3,0.0,7.0,261477,3,0 +4850,1100105,41,1,3,0.0,7.0,619850,3,0 +4851,1100105,41,1,3,2.0,7.0,234275,3,0 +4852,1100105,41,1,3,0.0,5.0,256554,3,0 +4853,1100105,41,1,3,2.0,3.0,233063,3,0 +4854,1100105,41,1,3,0.0,5.0,256554,3,0 +4855,1100105,41,1,3,1.0,5.0,305955,3,0 +4856,1100105,41,1,3,1.0,1.0,352184,2,1 +4857,1100105,41,1,3,2.0,1.0,322145,2,1 +4858,1100105,41,1,3,2.0,1.0,322145,2,1 +4859,1100105,41,1,3,2.0,1.0,322145,2,1 +4860,1100105,41,1,3,1.0,1.0,293798,2,1 +4861,1100105,41,1,3,2.0,1.0,354392,2,1 +4862,1100105,41,1,3,2.0,1.0,354392,2,1 +4863,1100105,41,1,3,2.0,1.0,227946,2,1 +4864,1100105,41,1,3,1.0,1.0,448097,2,1 +4865,1100105,41,1,3,1.0,1.0,205597,2,1 +4866,1100105,41,1,3,1.0,3.0,279676,2,1 +4867,1100105,41,1,3,1.0,1.0,216493,2,1 +4868,1100105,41,1,3,1.0,1.0,435761,2,1 +4869,1100105,41,1,3,2.0,1.0,361887,2,1 +4870,1100105,41,1,3,2.0,1.0,361887,2,1 +4871,1100105,41,1,3,1.0,1.0,303979,2,1 +4872,1100105,41,1,3,1.0,1.0,278601,2,1 +4873,1100105,41,1,3,1.0,1.0,416466,2,1 +4874,1100105,41,1,3,1.0,1.0,203758,2,1 +4875,1100105,41,1,3,1.0,1.0,203758,2,1 +4876,1100105,41,1,3,1.0,1.0,389475,2,1 +4877,1100105,41,1,3,1.0,1.0,389475,2,1 +4878,1100105,41,1,3,1.0,1.0,389475,2,1 +4879,1100105,41,1,3,1.0,1.0,205095,2,1 +4880,1100105,41,1,3,0.0,1.0,940154,2,1 +4881,1100105,41,1,3,0.0,1.0,940154,2,1 +4882,1100105,41,1,3,0.0,1.0,256266,2,1 +4883,1100105,41,1,3,1.0,1.0,282290,2,1 +4884,1100105,41,1,3,1.0,1.0,282290,2,1 +4885,1100105,41,1,3,1.0,1.0,282290,2,1 +4886,1100105,41,1,3,1.0,1.0,282290,2,1 +4887,1100105,41,1,3,1.0,1.0,282290,2,1 +4888,1100105,41,1,3,1.0,1.0,282290,2,1 +4889,1100105,41,1,3,1.0,1.0,332118,2,1 +4890,1100105,41,1,3,1.0,1.0,453368,2,1 +4891,1100105,41,1,3,1.0,1.0,453368,2,1 +4892,1100105,41,1,3,1.0,1.0,240259,2,1 +4893,1100105,41,1,3,2.0,1.0,271509,2,1 +4894,1100105,41,1,3,1.0,1.0,218249,1,1 +4895,1100105,41,1,3,1.0,1.0,769627,1,1 +4896,1100105,41,1,3,0.0,7.0,166586,3,0 +4897,1100105,41,1,3,2.0,5.0,172226,3,0 +4898,1100105,41,1,3,1.0,5.0,191650,3,0 +4899,1100105,41,1,3,2.0,7.0,180331,3,0 +4900,1100105,41,1,3,2.0,7.0,180504,3,0 +4901,1100105,41,1,3,1.0,7.0,193701,3,0 +4902,1100105,41,1,3,0.0,7.0,188056,3,0 +4903,1100105,41,1,3,2.0,5.0,168841,2,0 +4904,1100105,41,1,3,1.0,3.0,168790,2,0 +4905,1100105,41,1,3,1.0,3.0,168790,2,0 +4906,1100105,41,1,3,1.0,1.0,172984,2,1 +4907,1100105,41,1,3,1.0,1.0,172984,2,1 +4908,1100105,41,1,3,1.0,1.0,181271,2,1 +4909,1100105,41,1,3,1.0,1.0,158151,2,1 +4910,1100105,41,1,3,1.0,1.0,158151,2,1 +4911,1100105,41,1,3,1.0,1.0,158151,2,1 +4912,1100105,41,1,3,1.0,1.0,165044,2,1 +4913,1100105,41,1,3,2.0,2.0,163662,2,1 +4914,1100105,41,1,3,1.0,1.0,194514,2,1 +4915,1100105,41,1,3,1.0,1.0,162804,2,1 +4916,1100105,41,1,3,0.0,2.0,160600,1,1 +4917,1100105,41,1,3,1.0,2.0,144969,3,0 +4918,1100105,41,1,3,1.0,5.0,141328,3,0 +4919,1100105,41,1,3,1.0,5.0,142506,3,0 +4920,1100105,41,1,3,2.0,7.0,105062,3,0 +4921,1100105,41,1,3,2.0,7.0,105062,3,0 +4922,1100105,41,1,3,2.0,7.0,111145,3,0 +4923,1100105,41,1,3,0.0,5.0,123597,3,0 +4924,1100105,41,1,3,0.0,5.0,123597,3,0 +4925,1100105,41,1,3,2.0,5.0,135838,2,0 +4926,1100105,41,1,3,1.0,1.0,119131,2,1 +4927,1100105,41,1,3,0.0,1.0,121571,2,1 +4928,1100105,41,1,3,2.0,1.0,131555,2,1 +4929,1100105,41,1,3,0.0,2.0,103790,1,1 +4930,1100105,41,1,3,1.0,1.0,107067,1,1 +4931,1100105,41,1,3,0.0,7.0,64240,2,0 +4932,1100105,41,1,3,1.0,3.0,78159,2,1 +4933,1100105,41,1,3,1.0,1.0,68532,2,1 +4934,1100105,41,1,3,0.0,5.0,30776,3,0 +4935,1100105,41,1,3,0.0,3.0,31179,2,0 +4936,1100105,41,1,3,0.0,3.0,31179,2,0 +4937,1100105,41,1,3,0.0,3.0,31179,2,0 +4938,1100105,41,1,3,0.0,2.0,27837,2,1 +4939,1100105,41,1,3,0.0,2.0,27837,2,1 +4940,1100105,41,1,3,1.0,3.0,28908,1,1 +4941,1100105,41,1,3,1.0,3.0,28908,1,1 +4942,1100105,41,1,3,1.0,3.0,28908,1,1 +4943,1100105,41,1,3,1.0,3.0,28908,1,1 +4944,1100105,41,1,3,2.0,3.0,476,1,1 +4945,1100105,41,1,3,2.0,3.0,476,1,1 +4946,1100105,41,1,3,2.0,3.0,476,1,1 +4947,1100105,41,1,3,2.0,3.0,476,1,1 +4948,1100105,41,1,3,2.0,3.0,476,1,1 +4949,1100105,41,1,3,2.0,3.0,476,1,1 +4950,1100105,41,1,3,2.0,3.0,476,1,1 +4951,1100105,41,1,3,2.0,3.0,476,1,1 +4952,1100105,41,1,3,0.0,3.0,19112,0,0 +4953,1100105,41,1,3,0.0,3.0,2741,0,1 +4954,1100105,41,1,3,0.0,3.0,2741,0,1 +4955,1100105,41,1,3,0.0,3.0,2741,0,1 +4956,1100105,41,1,3,0.0,3.0,2741,0,1 +4957,1100105,41,1,3,1.0,3.0,6367,0,1 +4958,1100105,41,1,3,0.0,3.0,6836,0,1 +4959,1100105,41,1,3,0.0,3.0,6836,0,1 +4960,1100105,41,1,3,0.0,3.0,6836,0,1 +4961,1100105,41,1,3,0.0,3.0,6836,0,1 +4962,1100105,41,1,3,0.0,3.0,6836,0,1 +4963,1100105,41,1,3,0.0,3.0,6836,0,1 +4964,1100105,41,1,2,1.0,5.0,283819,2,0 +4965,1100105,41,1,2,3.0,1.0,288657,2,0 +4966,1100105,41,1,2,1.0,7.0,221054,2,0 +4967,1100105,41,1,2,1.0,7.0,221054,2,0 +4968,1100105,41,1,2,2.0,1.0,353322,2,0 +4969,1100105,41,1,2,1.0,1.0,337683,2,0 +4970,1100105,41,1,2,1.0,5.0,311032,2,0 +4971,1100105,41,1,2,1.0,1.0,379564,2,0 +4972,1100105,41,1,2,1.0,1.0,379564,2,0 +4973,1100105,41,1,2,2.0,1.0,328243,2,0 +4974,1100105,41,1,2,1.0,1.0,264138,2,0 +4975,1100105,41,1,2,1.0,1.0,264138,2,0 +4976,1100105,41,1,2,1.0,1.0,218249,2,0 +4977,1100105,41,1,2,2.0,1.0,220633,2,0 +4978,1100105,41,1,2,2.0,7.0,342722,2,0 +4979,1100105,41,1,2,2.0,7.0,217554,2,0 +4980,1100105,41,1,2,1.0,1.0,222881,2,0 +4981,1100105,41,1,2,1.0,1.0,290580,2,0 +4982,1100105,41,1,2,1.0,1.0,222881,2,0 +4983,1100105,41,1,2,2.0,7.0,217554,2,0 +4984,1100105,41,1,2,1.0,1.0,310751,2,0 +4985,1100105,41,1,2,2.0,7.0,342722,2,0 +4986,1100105,41,1,2,1.0,1.0,222881,2,0 +4987,1100105,41,1,2,2.0,7.0,342722,2,0 +4988,1100105,41,1,2,1.0,1.0,310751,2,0 +4989,1100105,41,1,2,1.0,1.0,222881,2,0 +4990,1100105,41,1,2,1.0,7.0,265431,2,0 +4991,1100105,41,1,2,1.0,7.0,265431,2,0 +4992,1100105,41,1,2,1.0,5.0,391055,2,0 +4993,1100105,41,1,2,1.0,1.0,227884,2,0 +4994,1100105,41,1,2,1.0,5.0,215086,2,0 +4995,1100105,41,1,2,1.0,1.0,344452,2,0 +4996,1100105,41,1,2,1.0,1.0,768339,2,0 +4997,1100105,41,1,2,1.0,1.0,211315,2,0 +4998,1100105,41,1,2,2.0,1.0,274129,2,0 +4999,1100105,41,1,2,1.0,1.0,314060,2,0 +5000,1100105,41,1,2,2.0,5.0,295213,2,0 +5001,1100105,41,1,2,1.0,1.0,359649,2,0 +5002,1100105,41,1,2,0.0,7.0,241117,2,0 +5003,1100105,41,1,2,2.0,1.0,303929,2,0 +5004,1100105,41,1,2,0.0,5.0,209851,2,0 +5005,1100105,41,1,2,1.0,5.0,299895,2,0 +5006,1100105,41,1,2,2.0,1.0,374618,2,0 +5007,1100105,41,1,2,1.0,7.0,313889,2,0 +5008,1100105,41,1,2,1.0,1.0,344452,2,0 +5009,1100105,41,1,2,1.0,1.0,825562,2,0 +5010,1100105,41,1,2,1.0,1.0,221412,2,0 +5011,1100105,41,1,2,2.0,1.0,374618,2,0 +5012,1100105,41,1,2,0.0,1.0,398932,2,0 +5013,1100105,41,1,2,2.0,1.0,303929,2,0 +5014,1100105,41,1,2,1.0,5.0,286782,2,0 +5015,1100105,41,1,2,1.0,5.0,316552,2,0 +5016,1100105,41,1,2,2.0,1.0,995444,2,0 +5017,1100105,41,1,2,1.0,1.0,496417,2,0 +5018,1100105,41,1,2,0.0,1.0,294435,2,0 +5019,1100105,41,1,2,0.0,7.0,329767,2,0 +5020,1100105,41,1,2,1.0,1.0,247432,2,0 +5021,1100105,41,1,2,2.0,5.0,393618,2,0 +5022,1100105,41,1,2,1.0,5.0,419535,2,0 +5023,1100105,41,1,2,1.0,5.0,316552,2,0 +5024,1100105,41,1,2,1.0,1.0,355516,2,0 +5025,1100105,41,1,2,1.0,1.0,242499,2,0 +5026,1100105,41,1,2,1.0,1.0,530621,2,0 +5027,1100105,41,1,2,1.0,1.0,355516,2,0 +5028,1100105,41,1,2,2.0,1.0,274129,2,0 +5029,1100105,41,1,2,1.0,7.0,313889,2,0 +5030,1100105,41,1,2,1.0,1.0,530621,2,0 +5031,1100105,41,1,2,1.0,1.0,344452,2,0 +5032,1100105,41,1,2,2.0,1.0,995444,2,0 +5033,1100105,41,1,2,1.0,1.0,276233,2,0 +5034,1100105,41,1,2,0.0,5.0,419524,2,0 +5035,1100105,41,1,2,0.0,1.0,304536,2,0 +5036,1100105,41,1,2,1.0,1.0,517919,2,0 +5037,1100105,41,1,2,1.0,5.0,286782,2,0 +5038,1100105,41,1,2,1.0,1.0,233473,2,0 +5039,1100105,41,1,2,1.0,1.0,530621,2,0 +5040,1100105,41,1,2,2.0,1.0,747665,2,0 +5041,1100105,41,1,2,2.0,1.0,206671,2,0 +5042,1100105,41,1,2,2.0,1.0,747665,2,0 +5043,1100105,41,1,2,0.0,7.0,329767,2,0 +5044,1100105,41,1,2,0.0,1.0,215630,2,0 +5045,1100105,41,1,2,2.0,1.0,995444,2,0 +5046,1100105,41,1,2,1.0,1.0,355516,2,0 +5047,1100105,41,1,2,1.0,5.0,269317,2,0 +5048,1100105,41,1,2,1.0,5.0,612923,2,0 +5049,1100105,41,1,2,1.0,5.0,321201,2,0 +5050,1100105,41,1,2,0.0,5.0,339387,2,0 +5051,1100105,41,1,2,1.0,1.0,258339,2,0 +5052,1100105,41,1,2,2.0,1.0,326217,2,0 +5053,1100105,41,1,2,1.0,1.0,259379,2,0 +5054,1100105,41,1,2,0.0,7.0,329767,2,0 +5055,1100105,41,1,2,1.0,1.0,233473,2,0 +5056,1100105,41,1,2,2.0,7.0,297658,2,0 +5057,1100105,41,1,2,1.0,5.0,612923,2,0 +5058,1100105,41,1,2,2.0,5.0,203632,2,0 +5059,1100105,41,1,2,2.0,5.0,234555,2,0 +5060,1100105,41,1,2,2.0,1.0,297147,2,0 +5061,1100105,41,1,2,2.0,1.0,297147,2,0 +5062,1100105,41,1,2,1.0,1.0,207167,2,0 +5063,1100105,41,1,2,1.0,1.0,291223,2,0 +5064,1100105,41,1,2,1.0,1.0,207167,2,0 +5065,1100105,41,1,2,2.0,1.0,297147,2,0 +5066,1100105,41,1,2,1.0,1.0,321201,2,0 +5067,1100105,41,1,2,2.0,7.0,216875,2,0 +5068,1100105,41,1,2,2.0,1.0,297147,2,0 +5069,1100105,41,1,2,1.0,1.0,321201,2,0 +5070,1100105,41,1,2,1.0,5.0,305572,2,0 +5071,1100105,41,1,2,1.0,1.0,326555,2,0 +5072,1100105,41,1,2,1.0,1.0,226982,2,0 +5073,1100105,41,1,2,1.0,1.0,384976,2,0 +5074,1100105,41,1,2,1.0,1.0,384976,2,0 +5075,1100105,41,1,2,0.0,1.0,326847,2,0 +5076,1100105,41,1,2,1.0,1.0,384976,2,0 +5077,1100105,41,1,2,1.0,1.0,384976,2,0 +5078,1100105,41,1,2,3.0,1.0,316303,2,0 +5079,1100105,41,1,2,2.0,2.0,412776,2,0 +5080,1100105,41,1,2,2.0,2.0,412776,2,0 +5081,1100105,41,1,2,2.0,2.0,412776,2,0 +5082,1100105,41,1,2,1.0,5.0,211993,2,0 +5083,1100105,41,1,2,1.0,5.0,211993,2,0 +5084,1100105,41,1,2,2.0,1.0,284412,2,0 +5085,1100105,41,1,2,2.0,1.0,284412,2,0 +5086,1100105,41,1,2,2.0,1.0,284412,2,0 +5087,1100105,41,1,2,1.0,1.0,295824,2,0 +5088,1100105,41,1,2,1.0,5.0,211993,2,0 +5089,1100105,41,1,2,2.0,1.0,284412,2,0 +5090,1100105,41,1,2,1.0,1.0,295824,2,0 +5091,1100105,41,1,2,1.0,1.0,295824,2,0 +5092,1100105,41,1,2,1.0,1.0,295824,2,0 +5093,1100105,41,1,2,0.0,1.0,980981,2,0 +5094,1100105,41,1,2,0.0,5.0,380618,2,0 +5095,1100105,41,1,2,0.0,7.0,210125,2,0 +5096,1100105,41,1,2,1.0,5.0,291841,2,0 +5097,1100105,41,1,2,1.0,3.0,241218,2,0 +5098,1100105,41,1,2,1.0,1.0,274497,2,0 +5099,1100105,41,1,2,1.0,1.0,433622,2,0 +5100,1100105,41,1,2,0.0,7.0,210125,2,0 +5101,1100105,41,1,2,1.0,5.0,248208,2,0 +5102,1100105,41,1,2,0.0,1.0,266210,2,0 +5103,1100105,41,1,2,0.0,7.0,210125,2,0 +5104,1100105,41,1,2,1.0,5.0,291841,2,0 +5105,1100105,41,1,2,1.0,5.0,476485,2,0 +5106,1100105,41,1,2,1.0,1.0,312086,2,0 +5107,1100105,41,1,2,1.0,1.0,301929,2,0 +5108,1100105,41,1,2,1.0,1.0,207472,2,0 +5109,1100105,41,1,2,1.0,1.0,433622,2,0 +5110,1100105,41,1,2,2.0,5.0,208781,2,0 +5111,1100105,41,1,2,0.0,5.0,518738,2,0 +5112,1100105,41,1,2,1.0,1.0,265695,2,0 +5113,1100105,41,1,2,1.0,1.0,342615,2,0 +5114,1100105,41,1,2,1.0,1.0,421068,2,0 +5115,1100105,41,1,2,1.0,1.0,265695,2,0 +5116,1100105,41,1,2,1.0,1.0,222881,2,0 +5117,1100105,41,1,2,0.0,5.0,843172,2,0 +5118,1100105,41,1,2,1.0,5.0,347968,2,0 +5119,1100105,41,1,2,1.0,1.0,207472,2,0 +5120,1100105,41,1,2,2.0,1.0,249636,2,0 +5121,1100105,41,1,2,1.0,5.0,424693,2,0 +5122,1100105,41,1,2,2.0,5.0,295216,2,0 +5123,1100105,41,1,2,1.0,1.0,274497,2,0 +5124,1100105,41,1,2,1.0,1.0,254816,2,0 +5125,1100105,41,1,2,1.0,7.0,242507,2,0 +5126,1100105,41,1,2,0.0,1.0,243042,2,0 +5127,1100105,41,1,2,1.0,1.0,433622,2,0 +5128,1100105,41,1,2,1.0,7.0,242507,2,0 +5129,1100105,41,1,2,1.0,5.0,265310,2,0 +5130,1100105,41,1,2,1.0,5.0,265310,2,0 +5131,1100105,41,1,2,1.0,5.0,307869,2,0 +5132,1100105,41,1,2,1.0,5.0,307869,2,0 +5133,1100105,41,1,2,1.0,1.0,245169,2,0 +5134,1100105,41,1,2,0.0,1.0,205350,2,0 +5135,1100105,41,1,2,0.0,5.0,248601,2,0 +5136,1100105,41,1,2,1.0,5.0,307869,2,0 +5137,1100105,41,1,2,1.0,5.0,265310,2,0 +5138,1100105,41,1,2,3.0,5.0,643474,2,0 +5139,1100105,41,1,2,3.0,5.0,643474,2,0 +5140,1100105,41,1,2,1.0,1.0,202434,2,0 +5141,1100105,41,1,2,2.0,7.0,206639,2,0 +5142,1100105,41,1,2,1.0,1.0,309977,2,0 +5143,1100105,41,1,2,1.0,5.0,252575,2,0 +5144,1100105,41,1,2,1.0,1.0,238760,2,0 +5145,1100105,41,1,2,1.0,1.0,238760,2,0 +5146,1100105,41,1,2,1.0,1.0,209814,2,0 +5147,1100105,41,1,2,1.0,5.0,254392,2,0 +5148,1100105,41,1,2,1.0,5.0,254392,2,0 +5149,1100105,41,1,2,1.0,5.0,254392,2,0 +5150,1100105,41,1,2,1.0,1.0,238760,2,0 +5151,1100105,41,1,2,1.0,1.0,209814,2,0 +5152,1100105,41,1,2,2.0,5.0,260534,2,0 +5153,1100105,41,1,2,0.0,1.0,1452888,2,0 +5154,1100105,41,1,2,1.0,5.0,243649,2,0 +5155,1100105,41,1,2,1.0,5.0,310943,2,0 +5156,1100105,41,1,2,0.0,7.0,203427,2,0 +5157,1100105,41,1,2,1.0,5.0,271093,2,0 +5158,1100105,41,1,2,2.0,1.0,295213,2,0 +5159,1100105,41,1,2,0.0,5.0,240901,2,0 +5160,1100105,41,1,2,0.0,5.0,286535,2,0 +5161,1100105,41,1,2,1.0,5.0,216493,2,0 +5162,1100105,41,1,2,0.0,5.0,286535,2,0 +5163,1100105,41,1,2,1.0,1.0,287962,2,0 +5164,1100105,41,1,2,1.0,5.0,419190,2,0 +5165,1100105,41,1,2,2.0,1.0,212750,2,0 +5166,1100105,41,1,2,0.0,5.0,258959,2,0 +5167,1100105,41,1,2,1.0,7.0,295213,2,0 +5168,1100105,41,1,2,2.0,1.0,254018,2,0 +5169,1100105,41,1,2,1.0,5.0,211310,2,0 +5170,1100105,41,1,2,1.0,5.0,227884,2,0 +5171,1100105,41,1,2,1.0,5.0,328985,2,0 +5172,1100105,41,1,2,1.0,1.0,234064,2,0 +5173,1100105,41,1,2,0.0,5.0,286535,2,0 +5174,1100105,41,1,2,0.0,1.0,238242,2,0 +5175,1100105,41,1,2,1.0,5.0,240901,2,0 +5176,1100105,41,1,2,2.0,5.0,208721,2,0 +5177,1100105,41,1,2,0.0,5.0,380152,2,0 +5178,1100105,41,1,2,1.0,5.0,233581,2,0 +5179,1100105,41,1,2,1.0,1.0,228167,2,0 +5180,1100105,41,1,2,1.0,1.0,323678,2,0 +5181,1100105,41,1,2,0.0,7.0,209239,2,0 +5182,1100105,41,1,2,2.0,1.0,254018,2,0 +5183,1100105,41,1,2,1.0,1.0,233477,2,0 +5184,1100105,41,1,2,0.0,5.0,236171,2,0 +5185,1100105,41,1,2,0.0,5.0,203427,2,0 +5186,1100105,41,1,2,1.0,1.0,204598,2,0 +5187,1100105,41,1,2,1.0,1.0,210869,2,0 +5188,1100105,41,1,2,1.0,5.0,300393,2,0 +5189,1100105,41,1,2,0.0,7.0,207684,2,0 +5190,1100105,41,1,2,1.0,1.0,210869,2,0 +5191,1100105,41,1,2,1.0,5.0,216493,2,0 +5192,1100105,41,1,2,0.0,5.0,286535,2,0 +5193,1100105,41,1,2,0.0,5.0,205597,2,0 +5194,1100105,41,1,2,0.0,7.0,209239,2,0 +5195,1100105,41,1,2,0.0,5.0,286535,2,0 +5196,1100105,41,1,2,0.0,7.0,238282,2,0 +5197,1100105,41,1,2,1.0,1.0,415369,2,0 +5198,1100105,41,1,2,1.0,1.0,217525,2,0 +5199,1100105,41,1,2,1.0,5.0,222860,2,0 +5200,1100105,41,1,2,1.0,5.0,203427,2,0 +5201,1100105,41,1,2,1.0,1.0,228167,2,0 +5202,1100105,41,1,2,1.0,1.0,368758,2,0 +5203,1100105,41,1,2,1.0,1.0,207684,2,0 +5204,1100105,41,1,2,1.0,5.0,233581,2,0 +5205,1100105,41,1,2,1.0,1.0,657757,2,0 +5206,1100105,41,1,2,2.0,5.0,226982,2,0 +5207,1100105,41,1,2,1.0,7.0,319433,2,0 +5208,1100105,41,1,2,0.0,5.0,261596,2,0 +5209,1100105,41,1,2,1.0,5.0,211310,2,0 +5210,1100105,41,1,2,1.0,5.0,502079,2,0 +5211,1100105,41,1,2,1.0,5.0,233581,2,0 +5212,1100105,41,1,2,1.0,7.0,216275,2,0 +5213,1100105,41,1,2,1.0,5.0,233581,2,0 +5214,1100105,41,1,2,0.0,5.0,208697,2,0 +5215,1100105,41,1,2,1.0,7.0,216275,2,0 +5216,1100105,41,1,2,0.0,1.0,231956,2,0 +5217,1100105,41,1,2,1.0,1.0,247301,2,0 +5218,1100105,41,1,2,1.0,7.0,378080,2,0 +5219,1100105,41,1,2,1.0,1.0,323678,2,0 +5220,1100105,41,1,2,2.0,1.0,800346,2,0 +5221,1100105,41,1,2,1.0,1.0,444329,2,0 +5222,1100105,41,1,2,2.0,5.0,208721,2,0 +5223,1100105,41,1,2,0.0,1.0,234025,2,0 +5224,1100105,41,1,2,1.0,1.0,287962,2,0 +5225,1100105,41,1,2,2.0,1.0,254018,2,0 +5226,1100105,41,1,2,1.0,1.0,415369,2,0 +5227,1100105,41,1,2,1.0,1.0,331468,2,0 +5228,1100105,41,1,2,2.0,5.0,208721,2,0 +5229,1100105,41,1,2,1.0,7.0,200325,2,0 +5230,1100105,41,1,2,1.0,1.0,323678,2,0 +5231,1100105,41,1,2,0.0,1.0,342615,2,0 +5232,1100105,41,1,2,1.0,7.0,216275,2,0 +5233,1100105,41,1,2,0.0,5.0,212790,2,0 +5234,1100105,41,1,2,1.0,1.0,323678,2,0 +5235,1100105,41,1,2,0.0,7.0,203095,2,0 +5236,1100105,41,1,2,1.0,1.0,233477,2,0 +5237,1100105,41,1,2,0.0,7.0,203095,2,0 +5238,1100105,41,1,2,2.0,1.0,227738,2,0 +5239,1100105,41,1,2,1.0,5.0,211310,2,0 +5240,1100105,41,1,2,1.0,1.0,444329,2,0 +5241,1100105,41,1,2,2.0,7.0,301392,2,0 +5242,1100105,41,1,2,1.0,5.0,419190,2,0 +5243,1100105,41,1,2,1.0,1.0,217525,2,0 +5244,1100105,41,1,2,0.0,5.0,270616,2,0 +5245,1100105,41,1,2,0.0,5.0,212790,2,0 +5246,1100105,41,1,2,1.0,1.0,369337,2,0 +5247,1100105,41,1,2,1.0,5.0,328985,2,0 +5248,1100105,41,1,2,1.0,1.0,287962,2,0 +5249,1100105,41,1,2,1.0,1.0,253106,2,0 +5250,1100105,41,1,2,2.0,1.0,212750,2,0 +5251,1100105,41,1,2,2.0,5.0,208721,2,0 +5252,1100105,41,1,2,1.0,1.0,331468,2,0 +5253,1100105,41,1,2,1.0,5.0,211310,2,0 +5254,1100105,41,1,2,1.0,1.0,253780,2,0 +5255,1100105,41,1,2,0.0,7.0,207684,2,0 +5256,1100105,41,1,2,1.0,1.0,417442,2,0 +5257,1100105,41,1,2,1.0,7.0,245169,2,0 +5258,1100105,41,1,2,1.0,1.0,233477,2,0 +5259,1100105,41,1,2,0.0,5.0,212790,2,0 +5260,1100105,41,1,2,0.0,1.0,238242,2,0 +5261,1100105,41,1,2,0.0,7.0,207684,2,0 +5262,1100105,41,1,2,0.0,5.0,205597,2,0 +5263,1100105,41,1,2,1.0,1.0,210869,2,0 +5264,1100105,41,1,2,0.0,7.0,228697,2,0 +5265,1100105,41,1,2,1.0,5.0,233581,2,0 +5266,1100105,41,1,2,1.0,1.0,254097,2,0 +5267,1100105,41,1,2,1.0,1.0,450205,2,0 +5268,1100105,41,1,2,1.0,1.0,230194,2,0 +5269,1100105,41,1,2,1.0,1.0,450205,2,0 +5270,1100105,41,1,2,1.0,1.0,450205,2,0 +5271,1100105,41,1,2,1.0,1.0,318112,1,0 +5272,1100105,41,1,2,2.0,1.0,1039585,1,0 +5273,1100105,41,1,2,1.0,1.0,247461,1,0 +5274,1100105,41,1,2,1.0,1.0,657911,1,0 +5275,1100105,41,1,2,1.0,1.0,247461,1,0 +5276,1100105,41,1,2,2.0,5.0,333539,1,0 +5277,1100105,41,1,2,2.0,1.0,260173,1,0 +5278,1100105,41,1,2,1.0,1.0,1049303,1,0 +5279,1100105,41,1,2,1.0,1.0,1049303,1,0 +5280,1100105,41,1,2,0.0,1.0,329820,1,0 +5281,1100105,41,1,2,1.0,1.0,1049303,1,0 +5282,1100105,41,1,2,0.0,1.0,329820,1,0 +5283,1100105,41,1,2,1.0,5.0,212248,1,0 +5284,1100105,41,1,2,1.0,5.0,212248,1,0 +5285,1100105,41,1,2,1.0,5.0,207684,1,0 +5286,1100105,41,1,2,1.0,1.0,384710,0,0 +5287,1100105,41,1,2,2.0,1.0,616323,0,0 +5288,1100105,41,1,2,1.0,1.0,410035,0,0 +5289,1100105,41,1,2,1.0,2.0,311426,0,0 +5290,1100105,41,1,2,0.0,5.0,198217,2,0 +5291,1100105,41,1,2,2.0,7.0,199580,2,0 +5292,1100105,41,1,2,2.0,5.0,190579,2,0 +5293,1100105,41,1,2,2.0,5.0,190579,2,0 +5294,1100105,41,1,2,2.0,5.0,190579,2,0 +5295,1100105,41,1,2,1.0,1.0,164883,2,0 +5296,1100105,41,1,2,0.0,1.0,198567,2,0 +5297,1100105,41,1,2,0.0,1.0,198567,2,0 +5298,1100105,41,1,2,1.0,1.0,186450,2,0 +5299,1100105,41,1,2,0.0,5.0,173967,2,0 +5300,1100105,41,1,2,0.0,5.0,197391,2,0 +5301,1100105,41,1,2,0.0,1.0,165734,2,0 +5302,1100105,41,1,2,1.0,1.0,170237,2,0 +5303,1100105,41,1,2,0.0,1.0,178507,2,0 +5304,1100105,41,1,2,1.0,1.0,186450,2,0 +5305,1100105,41,1,2,0.0,1.0,178507,2,0 +5306,1100105,41,1,2,2.0,1.0,176075,2,0 +5307,1100105,41,1,2,1.0,1.0,156675,2,0 +5308,1100105,41,1,2,0.0,1.0,178507,2,0 +5309,1100105,41,1,2,0.0,1.0,178507,2,0 +5310,1100105,41,1,2,0.0,1.0,155247,2,0 +5311,1100105,41,1,2,0.0,1.0,197553,2,0 +5312,1100105,41,1,2,0.0,1.0,155247,2,0 +5313,1100105,41,1,2,0.0,1.0,197553,2,0 +5314,1100105,41,1,2,2.0,3.0,158655,2,0 +5315,1100105,41,1,2,1.0,1.0,171949,2,0 +5316,1100105,41,1,2,1.0,5.0,187146,2,0 +5317,1100105,41,1,2,0.0,5.0,159186,2,0 +5318,1100105,41,1,2,1.0,1.0,186619,2,0 +5319,1100105,41,1,2,1.0,1.0,186619,2,0 +5320,1100105,41,1,2,0.0,1.0,160279,2,0 +5321,1100105,41,1,2,0.0,1.0,160279,2,0 +5322,1100105,41,1,2,2.0,7.0,184484,2,0 +5323,1100105,41,1,2,1.0,5.0,187146,2,0 +5324,1100105,41,1,2,2.0,7.0,184484,2,0 +5325,1100105,41,1,2,1.0,5.0,187146,2,0 +5326,1100105,41,1,2,1.0,1.0,196540,2,0 +5327,1100105,41,1,2,1.0,7.0,163108,2,0 +5328,1100105,41,1,2,2.0,1.0,198074,2,0 +5329,1100105,41,1,2,2.0,1.0,198074,2,0 +5330,1100105,41,1,2,0.0,5.0,192721,2,0 +5331,1100105,41,1,2,2.0,1.0,198074,2,0 +5332,1100105,41,1,2,0.0,5.0,172378,2,0 +5333,1100105,41,1,2,0.0,5.0,160682,2,0 +5334,1100105,41,1,2,2.0,5.0,156254,2,0 +5335,1100105,41,1,2,2.0,1.0,198074,2,0 +5336,1100105,41,1,2,2.0,1.0,198074,2,0 +5337,1100105,41,1,2,0.0,5.0,178289,2,0 +5338,1100105,41,1,2,0.0,5.0,178289,2,0 +5339,1100105,41,1,2,1.0,1.0,199088,2,0 +5340,1100105,41,1,2,0.0,5.0,178289,2,0 +5341,1100105,41,1,2,0.0,7.0,172984,2,0 +5342,1100105,41,1,2,0.0,5.0,178289,2,0 +5343,1100105,41,1,2,1.0,1.0,172912,2,0 +5344,1100105,41,1,2,1.0,1.0,172912,2,0 +5345,1100105,41,1,2,1.0,1.0,172912,2,0 +5346,1100105,41,1,2,0.0,5.0,171921,2,0 +5347,1100105,41,1,2,0.0,5.0,171921,2,0 +5348,1100105,41,1,2,0.0,5.0,171921,2,0 +5349,1100105,41,1,2,0.0,5.0,171921,2,0 +5350,1100105,41,1,2,0.0,5.0,171921,2,0 +5351,1100105,41,1,2,0.0,5.0,171921,2,0 +5352,1100105,41,1,2,2.0,5.0,193999,2,0 +5353,1100105,41,1,2,0.0,5.0,159056,2,0 +5354,1100105,41,1,2,2.0,5.0,189962,2,0 +5355,1100105,41,1,2,1.0,5.0,176166,2,0 +5356,1100105,41,1,2,1.0,5.0,176166,2,0 +5357,1100105,41,1,2,1.0,5.0,176166,2,0 +5358,1100105,41,1,2,1.0,5.0,176166,2,0 +5359,1100105,41,1,2,1.0,1.0,159530,2,0 +5360,1100105,41,1,2,1.0,1.0,159530,2,0 +5361,1100105,41,1,2,1.0,5.0,176166,2,0 +5362,1100105,41,1,2,1.0,1.0,165954,2,0 +5363,1100105,41,1,2,1.0,7.0,168695,2,0 +5364,1100105,41,1,2,1.0,1.0,174362,2,0 +5365,1100105,41,1,2,1.0,7.0,168695,2,0 +5366,1100105,41,1,2,1.0,1.0,174362,2,0 +5367,1100105,41,1,2,1.0,1.0,169877,2,0 +5368,1100105,41,1,2,1.0,5.0,159398,2,0 +5369,1100105,41,1,2,1.0,5.0,173967,2,0 +5370,1100105,41,1,2,1.0,5.0,152268,2,0 +5371,1100105,41,1,2,1.0,1.0,158172,2,0 +5372,1100105,41,1,2,1.0,5.0,174043,2,0 +5373,1100105,41,1,2,1.0,5.0,163545,2,0 +5374,1100105,41,1,2,0.0,5.0,180293,2,0 +5375,1100105,41,1,2,2.0,7.0,163423,2,0 +5376,1100105,41,1,2,1.0,5.0,169812,2,0 +5377,1100105,41,1,2,2.0,7.0,187367,2,0 +5378,1100105,41,1,2,1.0,5.0,180235,2,0 +5379,1100105,41,1,2,0.0,1.0,192523,2,0 +5380,1100105,41,1,2,1.0,1.0,189803,2,0 +5381,1100105,41,1,2,0.0,1.0,192523,2,0 +5382,1100105,41,1,2,1.0,5.0,173967,2,0 +5383,1100105,41,1,2,1.0,1.0,165532,2,0 +5384,1100105,41,1,2,1.0,5.0,159398,2,0 +5385,1100105,41,1,2,0.0,7.0,152880,2,0 +5386,1100105,41,1,2,1.0,5.0,163318,2,0 +5387,1100105,41,1,2,2.0,5.0,184656,2,0 +5388,1100105,41,1,2,0.0,1.0,171307,2,0 +5389,1100105,41,1,2,2.0,5.0,167024,2,0 +5390,1100105,41,1,2,1.0,5.0,169812,2,0 +5391,1100105,41,1,2,1.0,7.0,181344,2,0 +5392,1100105,41,1,2,1.0,7.0,165734,2,0 +5393,1100105,41,1,2,1.0,7.0,193538,2,0 +5394,1100105,41,1,2,1.0,1.0,152889,2,0 +5395,1100105,41,1,2,0.0,1.0,198074,2,0 +5396,1100105,41,1,2,1.0,7.0,178305,2,0 +5397,1100105,41,1,2,1.0,5.0,155074,2,0 +5398,1100105,41,1,2,1.0,5.0,164619,2,0 +5399,1100105,41,1,2,2.0,5.0,184656,2,0 +5400,1100105,41,1,2,2.0,7.0,182014,2,0 +5401,1100105,41,1,2,1.0,5.0,159522,2,0 +5402,1100105,41,1,2,0.0,5.0,156043,2,0 +5403,1100105,41,1,2,1.0,5.0,152268,2,0 +5404,1100105,41,1,2,2.0,5.0,193701,2,0 +5405,1100105,41,1,2,1.0,5.0,154516,2,0 +5406,1100105,41,1,2,1.0,5.0,151964,2,0 +5407,1100105,41,1,2,1.0,1.0,182357,2,0 +5408,1100105,41,1,2,1.0,5.0,173967,2,0 +5409,1100105,41,1,2,0.0,1.0,161590,2,0 +5410,1100105,41,1,2,1.0,5.0,152268,2,0 +5411,1100105,41,1,2,1.0,7.0,165536,2,0 +5412,1100105,41,1,2,0.0,1.0,192523,2,0 +5413,1100105,41,1,2,1.0,5.0,153934,2,0 +5414,1100105,41,1,2,0.0,1.0,192523,2,0 +5415,1100105,41,1,2,1.0,1.0,158172,2,0 +5416,1100105,41,1,2,1.0,1.0,165532,2,0 +5417,1100105,41,1,2,2.0,5.0,154339,2,0 +5418,1100105,41,1,2,1.0,1.0,175376,2,0 +5419,1100105,41,1,2,0.0,7.0,152977,2,0 +5420,1100105,41,1,2,0.0,7.0,194210,2,0 +5421,1100105,41,1,2,1.0,5.0,159522,2,0 +5422,1100105,41,1,2,0.0,1.0,171307,2,0 +5423,1100105,41,1,2,1.0,5.0,174043,2,0 +5424,1100105,41,1,2,1.0,5.0,159522,2,0 +5425,1100105,41,1,2,0.0,1.0,168841,2,0 +5426,1100105,41,1,2,2.0,7.0,163423,2,0 +5427,1100105,41,1,2,0.0,5.0,158043,2,0 +5428,1100105,41,1,2,0.0,1.0,161590,2,0 +5429,1100105,41,1,2,1.0,1.0,178952,2,0 +5430,1100105,41,1,2,0.0,7.0,171307,2,0 +5431,1100105,41,1,2,0.0,5.0,180293,2,0 +5432,1100105,41,1,2,0.0,7.0,152977,2,0 +5433,1100105,41,1,2,1.0,1.0,158172,2,0 +5434,1100105,41,1,2,1.0,1.0,158172,2,0 +5435,1100105,41,1,2,2.0,5.0,193701,2,0 +5436,1100105,41,1,2,1.0,5.0,180235,2,0 +5437,1100105,41,1,2,0.0,7.0,152880,2,0 +5438,1100105,41,1,2,1.0,1.0,189803,2,0 +5439,1100105,41,1,2,1.0,1.0,158172,2,0 +5440,1100105,41,1,2,0.0,5.0,156043,2,0 +5441,1100105,41,1,2,1.0,5.0,153880,2,0 +5442,1100105,41,1,2,2.0,5.0,193701,2,0 +5443,1100105,41,1,2,1.0,5.0,153934,2,0 +5444,1100105,41,1,2,1.0,1.0,189803,2,0 +5445,1100105,41,1,2,0.0,1.0,171307,2,0 +5446,1100105,41,1,2,0.0,5.0,186651,2,0 +5447,1100105,41,1,2,2.0,7.0,163423,2,0 +5448,1100105,41,1,2,0.0,5.0,158043,2,0 +5449,1100105,41,1,2,1.0,7.0,178819,2,0 +5450,1100105,41,1,2,1.0,1.0,158172,2,0 +5451,1100105,41,1,2,0.0,7.0,186450,2,0 +5452,1100105,41,1,2,0.0,7.0,186450,2,0 +5453,1100105,41,1,2,0.0,7.0,189782,2,0 +5454,1100105,41,1,2,1.0,1.0,191630,2,0 +5455,1100105,41,1,2,1.0,1.0,191630,2,0 +5456,1100105,41,1,2,1.0,7.0,196840,2,0 +5457,1100105,41,1,2,1.0,5.0,170913,2,0 +5458,1100105,41,1,2,0.0,5.0,160554,2,0 +5459,1100105,41,1,2,1.0,7.0,196840,2,0 +5460,1100105,41,1,2,1.0,1.0,191630,2,0 +5461,1100105,41,1,2,2.0,5.0,187146,2,0 +5462,1100105,41,1,2,2.0,1.0,193470,2,0 +5463,1100105,41,1,2,1.0,1.0,170129,1,0 +5464,1100105,41,1,2,1.0,7.0,167676,1,0 +5465,1100105,41,1,2,0.0,1.0,171307,1,0 +5466,1100105,41,1,2,1.0,1.0,160069,1,0 +5467,1100105,41,1,2,0.0,5.0,153106,1,0 +5468,1100105,41,1,2,0.0,5.0,153106,1,0 +5469,1100105,41,1,2,1.0,1.0,162095,1,0 +5470,1100105,41,1,2,0.0,7.0,169877,1,0 +5471,1100105,41,1,2,1.0,7.0,175317,1,0 +5472,1100105,41,1,2,1.0,1.0,154622,1,0 +5473,1100105,41,1,2,1.0,1.0,169798,1,0 +5474,1100105,41,1,2,2.0,7.0,179873,1,0 +5475,1100105,41,1,2,1.0,7.0,189782,1,0 +5476,1100105,41,1,2,2.0,1.0,159726,0,0 +5477,1100105,41,1,2,0.0,7.0,131702,2,0 +5478,1100105,41,1,2,2.0,1.0,111744,2,0 +5479,1100105,41,1,2,3.0,1.0,133834,2,0 +5480,1100105,41,1,2,2.0,1.0,148573,2,0 +5481,1100105,41,1,2,0.0,5.0,126446,2,0 +5482,1100105,41,1,2,0.0,1.0,131476,2,0 +5483,1100105,41,1,2,1.0,1.0,128480,2,0 +5484,1100105,41,1,2,0.0,1.0,122000,2,0 +5485,1100105,41,1,2,1.0,5.0,126521,2,0 +5486,1100105,41,1,2,1.0,5.0,126521,2,0 +5487,1100105,41,1,2,0.0,1.0,131476,2,0 +5488,1100105,41,1,2,0.0,5.0,114295,2,0 +5489,1100105,41,1,2,0.0,5.0,114295,2,0 +5490,1100105,41,1,2,1.0,5.0,120195,2,0 +5491,1100105,41,1,2,1.0,5.0,120195,2,0 +5492,1100105,41,1,2,0.0,5.0,145499,2,0 +5493,1100105,41,1,2,1.0,5.0,120195,2,0 +5494,1100105,41,1,2,1.0,1.0,133728,2,0 +5495,1100105,41,1,2,1.0,1.0,133728,2,0 +5496,1100105,41,1,2,0.0,3.0,123127,2,0 +5497,1100105,41,1,2,1.0,7.0,139838,2,0 +5498,1100105,41,1,2,1.0,7.0,139838,2,0 +5499,1100105,41,1,2,0.0,7.0,120769,2,0 +5500,1100105,41,1,2,0.0,7.0,120769,2,0 +5501,1100105,41,1,2,0.0,5.0,134777,2,0 +5502,1100105,41,1,2,0.0,7.0,123607,2,0 +5503,1100105,41,1,2,0.0,7.0,123607,2,0 +5504,1100105,41,1,2,1.0,5.0,117032,2,0 +5505,1100105,41,1,2,0.0,7.0,123607,2,0 +5506,1100105,41,1,2,1.0,5.0,117032,2,0 +5507,1100105,41,1,2,0.0,5.0,111430,2,0 +5508,1100105,41,1,2,0.0,5.0,111430,2,0 +5509,1100105,41,1,2,0.0,5.0,111430,2,0 +5510,1100105,41,1,2,0.0,5.0,111430,2,0 +5511,1100105,41,1,2,0.0,5.0,111430,2,0 +5512,1100105,41,1,2,0.0,5.0,111430,2,0 +5513,1100105,41,1,2,1.0,1.0,126521,2,0 +5514,1100105,41,1,2,1.0,5.0,103583,2,0 +5515,1100105,41,1,2,1.0,5.0,103583,2,0 +5516,1100105,41,1,2,2.0,1.0,134904,2,0 +5517,1100105,41,1,2,1.0,5.0,103583,2,0 +5518,1100105,41,1,2,0.0,1.0,137064,2,0 +5519,1100105,41,1,2,0.0,1.0,137064,2,0 +5520,1100105,41,1,2,0.0,1.0,137064,2,0 +5521,1100105,41,1,2,0.0,1.0,111324,2,0 +5522,1100105,41,1,2,0.0,1.0,111324,2,0 +5523,1100105,41,1,2,0.0,1.0,137064,2,0 +5524,1100105,41,1,2,0.0,1.0,137064,2,0 +5525,1100105,41,1,2,0.0,1.0,137064,2,0 +5526,1100105,41,1,2,1.0,7.0,135838,2,0 +5527,1100105,41,1,2,1.0,1.0,139807,2,0 +5528,1100105,41,1,2,0.0,7.0,111761,2,0 +5529,1100105,41,1,2,0.0,7.0,111761,2,0 +5530,1100105,41,1,2,0.0,7.0,112420,2,0 +5531,1100105,41,1,2,0.0,7.0,124412,2,0 +5532,1100105,41,1,2,1.0,7.0,127408,2,0 +5533,1100105,41,1,2,0.0,7.0,129676,2,0 +5534,1100105,41,1,2,0.0,7.0,129676,2,0 +5535,1100105,41,1,2,0.0,5.0,149160,2,0 +5536,1100105,41,1,2,1.0,3.0,128663,2,0 +5537,1100105,41,1,2,2.0,7.0,130622,2,0 +5538,1100105,41,1,2,1.0,5.0,118844,2,0 +5539,1100105,41,1,2,0.0,7.0,129676,2,0 +5540,1100105,41,1,2,0.0,7.0,122584,2,0 +5541,1100105,41,1,2,1.0,7.0,124412,2,0 +5542,1100105,41,1,2,0.0,7.0,129676,2,0 +5543,1100105,41,1,2,1.0,5.0,124610,2,0 +5544,1100105,41,1,2,1.0,5.0,118844,2,0 +5545,1100105,41,1,2,0.0,7.0,122584,2,0 +5546,1100105,41,1,2,0.0,7.0,129676,2,0 +5547,1100105,41,1,2,0.0,7.0,129676,2,0 +5548,1100105,41,1,2,0.0,5.0,149160,2,0 +5549,1100105,41,1,2,1.0,5.0,118844,2,0 +5550,1100105,41,1,2,1.0,7.0,111249,2,0 +5551,1100105,41,1,2,1.0,7.0,144872,2,0 +5552,1100105,41,1,2,1.0,7.0,111249,2,0 +5553,1100105,41,1,2,1.0,7.0,136730,2,0 +5554,1100105,41,1,2,1.0,7.0,124169,2,0 +5555,1100105,41,1,2,1.0,7.0,124169,2,0 +5556,1100105,41,1,2,0.0,7.0,126693,2,0 +5557,1100105,41,1,2,0.0,7.0,106594,2,0 +5558,1100105,41,1,2,1.0,1.0,129471,2,0 +5559,1100105,41,1,2,0.0,7.0,121571,2,0 +5560,1100105,41,1,2,1.0,5.0,145885,2,0 +5561,1100105,41,1,2,0.0,5.0,108597,2,0 +5562,1100105,41,1,2,1.0,5.0,149104,2,0 +5563,1100105,41,1,2,1.0,1.0,134658,2,0 +5564,1100105,41,1,2,1.0,5.0,137064,2,0 +5565,1100105,41,1,2,1.0,7.0,148925,2,0 +5566,1100105,41,1,2,1.0,1.0,119915,2,0 +5567,1100105,41,1,2,2.0,5.0,111440,2,0 +5568,1100105,41,1,2,1.0,7.0,111760,2,0 +5569,1100105,41,1,2,1.0,7.0,126637,2,0 +5570,1100105,41,1,2,1.0,1.0,134141,2,0 +5571,1100105,41,1,2,1.0,7.0,148925,2,0 +5572,1100105,41,1,2,0.0,1.0,128427,2,0 +5573,1100105,41,1,2,0.0,7.0,149160,2,0 +5574,1100105,41,1,2,2.0,5.0,147608,2,0 +5575,1100105,41,1,2,1.0,1.0,117032,2,0 +5576,1100105,41,1,2,1.0,5.0,128443,2,0 +5577,1100105,41,1,2,0.0,5.0,133834,2,0 +5578,1100105,41,1,2,1.0,1.0,142916,2,0 +5579,1100105,41,1,2,0.0,7.0,128480,2,0 +5580,1100105,41,1,2,1.0,7.0,142399,2,0 +5581,1100105,41,1,2,0.0,7.0,149358,2,0 +5582,1100105,41,1,2,1.0,1.0,133834,2,0 +5583,1100105,41,1,2,2.0,7.0,145390,2,0 +5584,1100105,41,1,2,0.0,1.0,111947,2,0 +5585,1100105,41,1,2,1.0,5.0,149104,2,0 +5586,1100105,41,1,2,0.0,7.0,137064,2,0 +5587,1100105,41,1,2,1.0,7.0,100162,2,0 +5588,1100105,41,1,2,2.0,5.0,143267,2,0 +5589,1100105,41,1,2,0.0,7.0,100162,2,0 +5590,1100105,41,1,2,1.0,5.0,145885,2,0 +5591,1100105,41,1,2,1.0,5.0,120558,2,0 +5592,1100105,41,1,2,0.0,5.0,123104,2,0 +5593,1100105,41,1,2,0.0,5.0,133728,2,0 +5594,1100105,41,1,2,1.0,7.0,142399,2,0 +5595,1100105,41,1,2,1.0,7.0,111760,2,0 +5596,1100105,41,1,2,0.0,7.0,111450,2,0 +5597,1100105,41,1,2,2.0,7.0,134583,2,0 +5598,1100105,41,1,2,1.0,1.0,140686,2,0 +5599,1100105,41,1,2,1.0,5.0,134904,2,0 +5600,1100105,41,1,2,0.0,1.0,111947,2,0 +5601,1100105,41,1,2,1.0,5.0,134904,2,0 +5602,1100105,41,1,2,1.0,1.0,134658,2,0 +5603,1100105,41,1,2,1.0,7.0,139022,2,0 +5604,1100105,41,1,2,0.0,5.0,121299,2,0 +5605,1100105,41,1,2,0.0,5.0,108597,2,0 +5606,1100105,41,1,2,1.0,7.0,132006,2,0 +5607,1100105,41,1,2,1.0,5.0,111870,2,0 +5608,1100105,41,1,2,1.0,7.0,126637,2,0 +5609,1100105,41,1,2,1.0,7.0,111760,2,0 +5610,1100105,41,1,2,1.0,1.0,110811,2,0 +5611,1100105,41,1,2,1.0,5.0,111870,2,0 +5612,1100105,41,1,2,1.0,7.0,117049,2,0 +5613,1100105,41,1,2,0.0,5.0,137961,2,0 +5614,1100105,41,1,2,2.0,5.0,111440,2,0 +5615,1100105,41,1,2,1.0,7.0,145611,2,0 +5616,1100105,41,1,2,1.0,7.0,145611,2,0 +5617,1100105,41,1,2,0.0,5.0,137961,2,0 +5618,1100105,41,1,2,2.0,1.0,149894,2,0 +5619,1100105,41,1,2,1.0,1.0,145535,2,0 +5620,1100105,41,1,2,1.0,7.0,149938,2,0 +5621,1100105,41,1,2,1.0,5.0,137064,2,0 +5622,1100105,41,1,2,1.0,5.0,149104,2,0 +5623,1100105,41,1,2,0.0,1.0,105997,2,0 +5624,1100105,41,1,2,2.0,5.0,111440,2,0 +5625,1100105,41,1,2,0.0,1.0,110706,2,0 +5626,1100105,41,1,2,0.0,1.0,122056,2,0 +5627,1100105,41,1,2,1.0,1.0,145535,2,0 +5628,1100105,41,1,2,0.0,1.0,128427,2,0 +5629,1100105,41,1,2,1.0,7.0,117049,2,0 +5630,1100105,41,1,2,0.0,5.0,149160,2,0 +5631,1100105,41,1,2,2.0,7.0,148662,2,0 +5632,1100105,41,1,2,0.0,5.0,135975,2,0 +5633,1100105,41,1,2,1.0,7.0,113869,2,0 +5634,1100105,41,1,2,1.0,1.0,145535,2,0 +5635,1100105,41,1,2,0.0,1.0,128427,2,0 +5636,1100105,41,1,2,1.0,5.0,106898,2,0 +5637,1100105,41,1,2,0.0,1.0,115675,2,0 +5638,1100105,41,1,2,0.0,7.0,111450,2,0 +5639,1100105,41,1,2,1.0,7.0,132006,2,0 +5640,1100105,41,1,2,1.0,5.0,121571,2,0 +5641,1100105,41,1,2,1.0,7.0,145611,2,0 +5642,1100105,41,1,2,2.0,5.0,143267,2,0 +5643,1100105,41,1,2,1.0,1.0,101713,2,0 +5644,1100105,41,1,2,1.0,7.0,113869,2,0 +5645,1100105,41,1,2,2.0,5.0,141833,2,0 +5646,1100105,41,1,2,1.0,5.0,100817,2,0 +5647,1100105,41,1,2,0.0,5.0,124271,2,0 +5648,1100105,41,1,2,0.0,5.0,106898,2,0 +5649,1100105,41,1,2,0.0,5.0,149160,2,0 +5650,1100105,41,1,2,2.0,5.0,143267,2,0 +5651,1100105,41,1,2,1.0,1.0,117032,2,0 +5652,1100105,41,1,2,0.0,7.0,125804,2,0 +5653,1100105,41,1,2,0.0,7.0,114614,2,0 +5654,1100105,41,1,2,0.0,7.0,100162,2,0 +5655,1100105,41,1,2,1.0,1.0,131551,2,0 +5656,1100105,41,1,2,1.0,1.0,101713,2,0 +5657,1100105,41,1,2,0.0,7.0,149358,2,0 +5658,1100105,41,1,2,2.0,5.0,111440,2,0 +5659,1100105,41,1,2,0.0,7.0,149160,2,0 +5660,1100105,41,1,2,0.0,5.0,121299,2,0 +5661,1100105,41,1,2,0.0,5.0,124271,2,0 +5662,1100105,41,1,2,1.0,7.0,118859,2,0 +5663,1100105,41,1,2,0.0,5.0,137781,2,0 +5664,1100105,41,1,2,0.0,5.0,137781,2,0 +5665,1100105,41,1,2,0.0,5.0,137781,2,0 +5666,1100105,41,1,2,1.0,5.0,137064,2,0 +5667,1100105,41,1,2,1.0,5.0,129676,2,0 +5668,1100105,41,1,2,0.0,7.0,130738,2,0 +5669,1100105,41,1,2,0.0,7.0,130738,2,0 +5670,1100105,41,1,2,0.0,5.0,137781,2,0 +5671,1100105,41,1,2,0.0,5.0,137781,2,0 +5672,1100105,41,1,2,1.0,7.0,131793,2,0 +5673,1100105,41,1,2,0.0,5.0,137781,2,0 +5674,1100105,41,1,2,1.0,5.0,137064,2,0 +5675,1100105,41,1,2,1.0,5.0,129676,2,0 +5676,1100105,41,1,2,0.0,5.0,137781,2,0 +5677,1100105,41,1,2,0.0,5.0,137781,2,0 +5678,1100105,41,1,2,0.0,5.0,102784,2,0 +5679,1100105,41,1,2,0.0,5.0,102784,2,0 +5680,1100105,41,1,2,0.0,5.0,102784,2,0 +5681,1100105,41,1,2,0.0,5.0,102784,2,0 +5682,1100105,41,1,2,1.0,5.0,101083,1,0 +5683,1100105,41,1,2,1.0,1.0,117774,1,0 +5684,1100105,41,1,2,1.0,5.0,121571,1,0 +5685,1100105,41,1,2,1.0,7.0,126521,1,0 +5686,1100105,41,1,2,2.0,1.0,107067,1,0 +5687,1100105,41,1,2,0.0,1.0,126786,1,0 +5688,1100105,41,1,2,0.0,1.0,112920,1,0 +5689,1100105,41,1,2,1.0,1.0,132549,1,0 +5690,1100105,41,1,2,0.0,7.0,115978,1,0 +5691,1100105,41,1,2,1.0,7.0,106173,1,0 +5692,1100105,41,1,2,1.0,7.0,106173,1,0 +5693,1100105,41,1,2,1.0,1.0,126339,1,0 +5694,1100105,41,1,2,1.0,3.0,144540,1,1 +5695,1100105,41,1,2,1.0,1.0,131266,0,0 +5696,1100105,41,1,2,1.0,7.0,100900,0,0 +5697,1100105,41,1,2,1.0,7.0,100900,0,0 +5698,1100105,41,1,2,0.0,1.0,120450,0,0 +5699,1100105,41,1,2,1.0,1.0,91178,2,0 +5700,1100105,41,1,2,1.0,1.0,61784,2,0 +5701,1100105,41,1,2,2.0,5.0,58621,2,0 +5702,1100105,41,1,2,0.0,7.0,52213,2,0 +5703,1100105,41,1,2,0.0,7.0,52213,2,0 +5704,1100105,41,1,2,1.0,1.0,94891,2,0 +5705,1100105,41,1,2,2.0,1.0,90257,2,0 +5706,1100105,41,1,2,2.0,1.0,90257,2,0 +5707,1100105,41,1,2,0.0,7.0,83838,2,0 +5708,1100105,41,1,2,0.0,5.0,69586,2,0 +5709,1100105,41,1,2,0.0,2.0,75161,2,0 +5710,1100105,41,1,2,0.0,7.0,83838,2,0 +5711,1100105,41,1,2,0.0,7.0,83838,2,0 +5712,1100105,41,1,2,0.0,2.0,75161,2,0 +5713,1100105,41,1,2,0.0,7.0,83838,2,0 +5714,1100105,41,1,2,0.0,7.0,83838,2,0 +5715,1100105,41,1,2,1.0,3.0,98180,2,0 +5716,1100105,41,1,2,2.0,5.0,68343,2,0 +5717,1100105,41,1,2,0.0,7.0,71110,2,0 +5718,1100105,41,1,2,2.0,7.0,89082,2,0 +5719,1100105,41,1,2,2.0,1.0,82458,2,0 +5720,1100105,41,1,2,0.0,7.0,71110,2,0 +5721,1100105,41,1,2,2.0,7.0,89082,2,0 +5722,1100105,41,1,2,2.0,7.0,89082,2,0 +5723,1100105,41,1,2,0.0,1.0,78654,2,0 +5724,1100105,41,1,2,0.0,1.0,76197,2,0 +5725,1100105,41,1,2,0.0,7.0,86113,2,0 +5726,1100105,41,1,2,0.0,5.0,84583,2,0 +5727,1100105,41,1,2,0.0,5.0,79593,2,0 +5728,1100105,41,1,2,0.0,5.0,79593,2,0 +5729,1100105,41,1,2,1.0,7.0,86298,2,0 +5730,1100105,41,1,2,0.0,5.0,95511,2,0 +5731,1100105,41,1,2,0.0,5.0,95511,2,0 +5732,1100105,41,1,2,0.0,5.0,95511,2,0 +5733,1100105,41,1,2,1.0,7.0,89557,2,0 +5734,1100105,41,1,2,0.0,5.0,95511,2,0 +5735,1100105,41,1,2,1.0,7.0,82458,2,0 +5736,1100105,41,1,2,1.0,7.0,82458,2,0 +5737,1100105,41,1,2,0.0,5.0,95511,2,0 +5738,1100105,41,1,2,0.0,5.0,95511,2,0 +5739,1100105,41,1,2,0.0,7.0,76967,2,0 +5740,1100105,41,1,2,1.0,7.0,89557,2,0 +5741,1100105,41,1,2,1.0,7.0,89557,2,0 +5742,1100105,41,1,2,0.0,7.0,80090,2,0 +5743,1100105,41,1,2,0.0,5.0,95511,2,0 +5744,1100105,41,1,2,0.0,7.0,76967,2,0 +5745,1100105,41,1,2,1.0,7.0,82458,2,0 +5746,1100105,41,1,2,0.0,7.0,93508,2,0 +5747,1100105,41,1,2,1.0,5.0,70916,2,0 +5748,1100105,41,1,2,0.0,7.0,93508,2,0 +5749,1100105,41,1,2,0.0,1.0,80130,2,0 +5750,1100105,41,1,2,1.0,5.0,78205,2,0 +5751,1100105,41,1,2,1.0,5.0,85100,2,0 +5752,1100105,41,1,2,1.0,7.0,91178,2,0 +5753,1100105,41,1,2,1.0,7.0,98501,2,0 +5754,1100105,41,1,2,0.0,5.0,68890,2,0 +5755,1100105,41,1,2,0.0,7.0,95231,2,0 +5756,1100105,41,1,2,1.0,7.0,95825,2,0 +5757,1100105,41,1,2,0.0,5.0,68890,2,0 +5758,1100105,41,1,2,2.0,7.0,81715,2,0 +5759,1100105,41,1,2,1.0,7.0,98501,2,0 +5760,1100105,41,1,2,1.0,7.0,85402,2,0 +5761,1100105,41,1,2,1.0,1.0,92399,2,0 +5762,1100105,41,1,2,1.0,5.0,88253,2,0 +5763,1100105,41,1,2,1.0,1.0,75803,2,0 +5764,1100105,41,1,2,0.0,7.0,83512,2,0 +5765,1100105,41,1,2,0.0,1.0,55935,2,0 +5766,1100105,41,1,2,0.0,7.0,89619,2,0 +5767,1100105,41,1,2,1.0,1.0,78373,2,0 +5768,1100105,41,1,2,1.0,7.0,58727,2,0 +5769,1100105,41,1,2,0.0,3.0,98695,2,0 +5770,1100105,41,1,2,0.0,7.0,89619,2,0 +5771,1100105,41,1,2,1.0,1.0,94891,2,0 +5772,1100105,41,1,2,1.0,1.0,75803,2,0 +5773,1100105,41,1,2,0.0,7.0,96360,2,0 +5774,1100105,41,1,2,1.0,1.0,92399,2,0 +5775,1100105,41,1,2,0.0,7.0,89619,2,0 +5776,1100105,41,1,2,1.0,7.0,70126,2,0 +5777,1100105,41,1,2,1.0,5.0,58368,2,0 +5778,1100105,41,1,2,0.0,5.0,79593,2,0 +5779,1100105,41,1,2,0.0,7.0,82867,2,0 +5780,1100105,41,1,2,1.0,5.0,97634,2,0 +5781,1100105,41,1,2,1.0,7.0,85402,2,0 +5782,1100105,41,1,2,1.0,5.0,85243,2,0 +5783,1100105,41,1,2,1.0,7.0,98501,2,0 +5784,1100105,41,1,2,1.0,7.0,70041,2,0 +5785,1100105,41,1,2,1.0,1.0,92399,2,0 +5786,1100105,41,1,2,1.0,7.0,91178,2,0 +5787,1100105,41,1,2,0.0,7.0,89619,2,0 +5788,1100105,41,1,2,0.0,5.0,74969,2,0 +5789,1100105,41,1,2,1.0,5.0,58368,2,0 +5790,1100105,41,1,2,1.0,5.0,58887,2,0 +5791,1100105,41,1,2,1.0,5.0,88253,2,0 +5792,1100105,41,1,2,0.0,7.0,89619,2,0 +5793,1100105,41,1,2,1.0,7.0,98501,2,0 +5794,1100105,41,1,2,0.0,7.0,71103,2,0 +5795,1100105,41,1,2,0.0,1.0,53062,2,0 +5796,1100105,41,1,2,0.0,5.0,74590,2,0 +5797,1100105,41,1,2,2.0,5.0,91178,2,0 +5798,1100105,41,1,2,1.0,1.0,79041,2,0 +5799,1100105,41,1,2,1.0,1.0,79041,2,0 +5800,1100105,41,1,2,0.0,7.0,82334,2,0 +5801,1100105,41,1,2,2.0,3.0,77470,2,0 +5802,1100105,41,1,2,0.0,7.0,62613,2,0 +5803,1100105,41,1,2,1.0,5.0,78908,2,0 +5804,1100105,41,1,2,2.0,5.0,91178,2,0 +5805,1100105,41,1,2,0.0,5.0,74590,2,0 +5806,1100105,41,1,2,0.0,7.0,62613,2,0 +5807,1100105,41,1,2,1.0,1.0,79041,2,0 +5808,1100105,41,1,2,1.0,7.0,60064,2,0 +5809,1100105,41,1,2,1.0,1.0,79041,2,0 +5810,1100105,41,1,2,0.0,7.0,82334,2,0 +5811,1100105,41,1,2,1.0,5.0,87010,2,0 +5812,1100105,41,1,2,2.0,7.0,98404,2,0 +5813,1100105,41,1,2,1.0,5.0,87010,2,0 +5814,1100105,41,1,2,1.0,5.0,87010,2,0 +5815,1100105,41,1,2,2.0,7.0,98404,2,0 +5816,1100105,41,1,2,2.0,7.0,98404,2,0 +5817,1100105,41,1,2,2.0,7.0,98404,2,0 +5818,1100105,41,1,2,1.0,5.0,87010,2,0 +5819,1100105,41,1,2,0.0,3.0,79699,1,0 +5820,1100105,41,1,2,1.0,1.0,55502,1,0 +5821,1100105,41,1,2,1.0,1.0,55502,1,0 +5822,1100105,41,1,2,1.0,1.0,55502,1,0 +5823,1100105,41,1,2,1.0,1.0,55502,1,0 +5824,1100105,41,1,2,1.0,5.0,68532,1,0 +5825,1100105,41,1,2,2.0,3.0,65851,1,0 +5826,1100105,41,1,2,1.0,7.0,54193,1,0 +5827,1100105,41,1,2,0.0,5.0,83488,1,0 +5828,1100105,41,1,2,0.0,5.0,83488,1,0 +5829,1100105,41,1,2,1.0,7.0,84899,1,0 +5830,1100105,41,1,2,1.0,5.0,80977,1,0 +5831,1100105,41,1,2,0.0,1.0,66423,1,0 +5832,1100105,41,1,2,0.0,7.0,53104,1,0 +5833,1100105,41,1,2,1.0,1.0,71952,1,0 +5834,1100105,41,1,2,1.0,1.0,88046,1,0 +5835,1100105,41,1,2,1.0,1.0,88046,1,0 +5836,1100105,41,1,2,2.0,7.0,75348,1,0 +5837,1100105,41,1,2,2.0,5.0,54017,1,0 +5838,1100105,41,1,2,1.0,1.0,69586,1,0 +5839,1100105,41,1,2,2.0,7.0,75348,1,0 +5840,1100105,41,1,2,1.0,7.0,94339,1,0 +5841,1100105,41,1,2,0.0,1.0,65851,1,0 +5842,1100105,41,1,2,0.0,1.0,64838,1,0 +5843,1100105,41,1,2,0.0,1.0,65851,1,0 +5844,1100105,41,1,2,0.0,2.0,50654,1,1 +5845,1100105,41,1,2,1.0,1.0,54720,0,0 +5846,1100105,41,1,2,1.0,5.0,52355,0,0 +5847,1100105,41,1,2,1.0,1.0,34951,2,0 +5848,1100105,41,1,2,0.0,1.0,47658,2,0 +5849,1100105,41,1,2,0.0,7.0,39614,2,0 +5850,1100105,41,1,2,0.0,7.0,33146,2,0 +5851,1100105,41,1,2,0.0,7.0,39614,2,0 +5852,1100105,41,1,2,0.0,7.0,39614,2,0 +5853,1100105,41,1,2,2.0,5.0,38326,2,0 +5854,1100105,41,1,2,0.0,7.0,41388,2,0 +5855,1100105,41,1,2,0.0,5.0,37956,2,0 +5856,1100105,41,1,2,0.0,5.0,37956,2,0 +5857,1100105,41,1,2,0.0,5.0,37956,2,0 +5858,1100105,41,1,2,0.0,5.0,37956,2,0 +5859,1100105,41,1,2,0.0,5.0,37956,2,0 +5860,1100105,41,1,2,0.0,5.0,37956,2,0 +5861,1100105,41,1,2,0.0,1.0,36082,2,0 +5862,1100105,41,1,2,1.0,1.0,37704,1,0 +5863,1100105,41,1,2,1.0,5.0,25895,1,0 +5864,1100105,41,1,2,0.0,1.0,46612,1,0 +5865,1100105,41,1,2,0.0,5.0,37473,1,0 +5866,1100105,41,1,2,0.0,5.0,33940,1,0 +5867,1100105,41,1,2,1.0,1.0,36066,0,0 +5868,1100105,41,1,2,0.0,7.0,20716,2,0 +5869,1100105,41,1,2,0.0,7.0,6078,2,0 +5870,1100105,41,1,2,0.0,2.0,10706,1,0 +5871,1100105,41,1,2,1.0,1.0,17609,1,0 +5872,1100105,41,1,2,0.0,7.0,5074,1,0 +5873,1100105,41,1,2,0.0,7.0,5074,1,0 +5874,1100105,41,1,2,0.0,5.0,14916,0,0 +5875,1100105,41,1,2,1.0,5.0,0,0,0 +5876,1100105,41,1,2,0.0,3.0,24213,0,0 +5877,1100105,41,1,2,0.0,5.0,4280,0,0 +5878,1100105,41,1,2,1.0,7.0,21275,0,0 +5879,1100105,41,1,2,0.0,7.0,0,0,0 +5880,1100105,41,1,2,2.0,7.0,19102,0,0 +5881,1100105,41,1,1,1.0,6.0,299788,1,0 +5882,1100105,41,1,1,1.0,6.0,299788,1,0 +5883,1100105,41,1,1,1.0,4.0,1080379,1,0 +5884,1100105,41,1,1,0.0,4.0,771675,1,0 +5885,1100105,41,1,1,1.0,6.0,414885,1,0 +5886,1100105,41,1,1,1.0,4.0,288732,1,0 +5887,1100105,41,1,1,1.0,4.0,623131,1,0 +5888,1100105,41,1,1,1.0,4.0,458456,1,0 +5889,1100105,41,1,1,0.0,6.0,291070,1,0 +5890,1100105,41,1,1,1.0,6.0,327625,1,0 +5891,1100105,41,1,1,0.0,6.0,291070,1,0 +5892,1100105,41,1,1,0.0,6.0,291070,1,0 +5893,1100105,41,1,1,0.0,6.0,291070,1,0 +5894,1100105,41,1,1,1.0,4.0,269274,1,0 +5895,1100105,41,1,1,0.0,6.0,291070,1,0 +5896,1100105,41,1,1,1.0,6.0,327625,1,0 +5897,1100105,41,1,1,1.0,6.0,327625,1,0 +5898,1100105,41,1,1,0.0,6.0,327625,1,0 +5899,1100105,41,1,1,0.0,4.0,217554,1,0 +5900,1100105,41,1,1,1.0,4.0,303929,1,0 +5901,1100105,41,1,1,1.0,4.0,230194,1,0 +5902,1100105,41,1,1,1.0,4.0,230194,1,0 +5903,1100105,41,1,1,1.0,4.0,243042,1,0 +5904,1100105,41,1,1,1.0,4.0,230194,1,0 +5905,1100105,41,1,1,1.0,4.0,230194,1,0 +5906,1100105,41,1,1,1.0,4.0,488808,1,0 +5907,1100105,41,1,1,2.0,4.0,269274,1,0 +5908,1100105,41,1,1,1.0,6.0,765484,1,0 +5909,1100105,41,1,1,1.0,4.0,310751,1,0 +5910,1100105,41,1,1,1.0,4.0,414335,1,0 +5911,1100105,41,1,1,1.0,4.0,241117,1,0 +5912,1100105,41,1,1,1.0,4.0,624416,1,0 +5913,1100105,41,1,1,0.0,6.0,237469,1,0 +5914,1100105,41,1,1,1.0,4.0,1148263,1,0 +5915,1100105,41,1,1,0.0,4.0,222860,1,0 +5916,1100105,41,1,1,0.0,4.0,238242,1,0 +5917,1100105,41,1,1,1.0,6.0,223691,1,0 +5918,1100105,41,1,1,1.0,4.0,768488,1,0 +5919,1100105,41,1,1,1.0,4.0,414335,1,0 +5920,1100105,41,1,1,1.0,6.0,223691,1,0 +5921,1100105,41,1,1,0.0,4.0,717272,1,0 +5922,1100105,41,1,1,1.0,4.0,338739,1,0 +5923,1100105,41,1,1,1.0,4.0,414335,1,0 +5924,1100105,41,1,1,0.0,6.0,237469,1,0 +5925,1100105,41,1,1,0.0,6.0,237227,1,0 +5926,1100105,41,1,1,0.0,6.0,363701,1,0 +5927,1100105,41,1,1,1.0,6.0,325253,1,0 +5928,1100105,41,1,1,0.0,4.0,788272,1,0 +5929,1100105,41,1,1,1.0,6.0,754911,1,0 +5930,1100105,41,1,1,0.0,4.0,207710,1,0 +5931,1100105,41,1,1,1.0,4.0,414335,1,0 +5932,1100105,41,1,1,1.0,6.0,421738,1,0 +5933,1100105,41,1,1,2.0,6.0,308994,1,0 +5934,1100105,41,1,1,0.0,4.0,207710,1,0 +5935,1100105,41,1,1,1.0,6.0,325253,1,0 +5936,1100105,41,1,1,0.0,6.0,363701,1,0 +5937,1100105,41,1,1,1.0,4.0,623131,1,0 +5938,1100105,41,1,1,1.0,4.0,233063,1,0 +5939,1100105,41,1,1,1.0,4.0,1148263,1,0 +5940,1100105,41,1,1,1.0,4.0,692991,1,0 +5941,1100105,41,1,1,0.0,6.0,325265,1,0 +5942,1100105,41,1,1,1.0,4.0,414335,1,0 +5943,1100105,41,1,1,1.0,6.0,306212,1,0 +5944,1100105,41,1,1,1.0,4.0,617642,1,0 +5945,1100105,41,1,1,1.0,4.0,217525,1,0 +5946,1100105,41,1,1,1.0,4.0,235135,1,0 +5947,1100105,41,1,1,0.0,4.0,257260,1,0 +5948,1100105,41,1,1,0.0,4.0,222860,1,0 +5949,1100105,41,1,1,1.0,4.0,219514,1,0 +5950,1100105,41,1,1,1.0,4.0,209594,1,0 +5951,1100105,41,1,1,0.0,6.0,384976,1,0 +5952,1100105,41,1,1,1.0,6.0,306212,1,0 +5953,1100105,41,1,1,1.0,4.0,219514,1,0 +5954,1100105,41,1,1,0.0,4.0,677255,1,0 +5955,1100105,41,1,1,0.0,4.0,717272,1,0 +5956,1100105,41,1,1,0.0,4.0,677255,1,0 +5957,1100105,41,1,1,1.0,4.0,793451,1,0 +5958,1100105,41,1,1,0.0,4.0,316303,1,0 +5959,1100105,41,1,1,0.0,6.0,262532,1,0 +5960,1100105,41,1,1,2.0,4.0,269274,1,0 +5961,1100105,41,1,1,1.0,4.0,414335,1,0 +5962,1100105,41,1,1,1.0,4.0,414335,1,0 +5963,1100105,41,1,1,1.0,6.0,337707,1,0 +5964,1100105,41,1,1,1.0,6.0,211080,1,0 +5965,1100105,41,1,1,1.0,4.0,211993,1,0 +5966,1100105,41,1,1,1.0,4.0,623131,1,0 +5967,1100105,41,1,1,1.0,4.0,768488,1,0 +5968,1100105,41,1,1,1.0,6.0,421738,1,0 +5969,1100105,41,1,1,1.0,4.0,212301,1,0 +5970,1100105,41,1,1,0.0,6.0,233012,1,0 +5971,1100105,41,1,1,0.0,4.0,717272,1,0 +5972,1100105,41,1,1,0.0,4.0,677255,1,0 +5973,1100105,41,1,1,1.0,6.0,210869,1,0 +5974,1100105,41,1,1,0.0,6.0,233012,1,0 +5975,1100105,41,1,1,1.0,6.0,325253,1,0 +5976,1100105,41,1,1,0.0,4.0,233012,1,0 +5977,1100105,41,1,1,0.0,4.0,238242,1,0 +5978,1100105,41,1,1,0.0,4.0,284673,1,0 +5979,1100105,41,1,1,1.0,6.0,306212,1,0 +5980,1100105,41,1,1,1.0,6.0,414438,1,0 +5981,1100105,41,1,1,0.0,4.0,677255,1,0 +5982,1100105,41,1,1,1.0,4.0,414335,1,0 +5983,1100105,41,1,1,0.0,4.0,222860,1,0 +5984,1100105,41,1,1,1.0,4.0,310751,1,0 +5985,1100105,41,1,1,1.0,4.0,235135,1,0 +5986,1100105,41,1,1,0.0,4.0,717272,1,0 +5987,1100105,41,1,1,1.0,4.0,217525,1,0 +5988,1100105,41,1,1,1.0,6.0,754911,1,0 +5989,1100105,41,1,1,0.0,4.0,329256,1,0 +5990,1100105,41,1,1,1.0,4.0,247665,1,0 +5991,1100105,41,1,1,1.0,6.0,421738,1,0 +5992,1100105,41,1,1,0.0,4.0,222860,1,0 +5993,1100105,41,1,1,1.0,4.0,414335,1,0 +5994,1100105,41,1,1,0.0,4.0,233012,1,0 +5995,1100105,41,1,1,1.0,4.0,210869,1,0 +5996,1100105,41,1,1,1.0,6.0,623185,1,0 +5997,1100105,41,1,1,0.0,6.0,222699,1,0 +5998,1100105,41,1,1,0.0,4.0,235569,1,0 +5999,1100105,41,1,1,0.0,4.0,235569,1,0 +6000,1100105,41,1,1,1.0,6.0,456848,1,0 +6001,1100105,41,1,1,1.0,6.0,456848,1,0 +6002,1100105,41,1,1,1.0,6.0,456848,1,0 +6003,1100105,41,1,1,1.0,6.0,623185,1,0 +6004,1100105,41,1,1,0.0,6.0,222699,1,0 +6005,1100105,41,1,1,1.0,4.0,271843,1,0 +6006,1100105,41,1,1,1.0,4.0,210869,1,0 +6007,1100105,41,1,1,1.0,6.0,456848,1,0 +6008,1100105,41,1,1,0.0,4.0,235569,1,0 +6009,1100105,41,1,1,1.0,6.0,456848,1,0 +6010,1100105,41,1,1,1.0,6.0,623185,1,0 +6011,1100105,41,1,1,1.0,6.0,278601,1,0 +6012,1100105,41,1,1,0.0,6.0,202619,1,0 +6013,1100105,41,1,1,0.0,6.0,202619,1,0 +6014,1100105,41,1,1,0.0,6.0,202619,1,0 +6015,1100105,41,1,1,0.0,6.0,202619,1,0 +6016,1100105,41,1,1,0.0,6.0,324191,1,0 +6017,1100105,41,1,1,1.0,4.0,200220,1,0 +6018,1100105,41,1,1,0.0,6.0,256887,1,0 +6019,1100105,41,1,1,0.0,6.0,206131,1,0 +6020,1100105,41,1,1,0.0,6.0,204060,1,0 +6021,1100105,41,1,1,1.0,4.0,346479,1,0 +6022,1100105,41,1,1,1.0,6.0,623131,1,0 +6023,1100105,41,1,1,1.0,4.0,215847,1,0 +6024,1100105,41,1,1,1.0,4.0,231897,1,0 +6025,1100105,41,1,1,1.0,4.0,215847,1,0 +6026,1100105,41,1,1,0.0,6.0,238077,1,0 +6027,1100105,41,1,1,0.0,6.0,307760,1,0 +6028,1100105,41,1,1,0.0,6.0,204060,1,0 +6029,1100105,41,1,1,1.0,6.0,253274,1,0 +6030,1100105,41,1,1,1.0,4.0,445762,1,0 +6031,1100105,41,1,1,0.0,4.0,258339,1,0 +6032,1100105,41,1,1,0.0,6.0,206131,1,0 +6033,1100105,41,1,1,1.0,4.0,346479,1,0 +6034,1100105,41,1,1,1.0,4.0,445762,1,0 +6035,1100105,41,1,1,1.0,6.0,253274,1,0 +6036,1100105,41,1,1,0.0,6.0,204060,1,0 +6037,1100105,41,1,1,1.0,6.0,326847,1,0 +6038,1100105,41,1,1,1.0,6.0,429645,0,0 +6039,1100105,41,1,1,1.0,6.0,429645,0,0 +6040,1100105,41,1,1,1.0,4.0,204060,0,0 +6041,1100105,41,1,1,1.0,6.0,443036,0,0 +6042,1100105,41,1,1,1.0,6.0,443036,0,0 +6043,1100105,41,1,1,1.0,4.0,204060,0,0 +6044,1100105,41,1,1,1.0,6.0,443036,0,0 +6045,1100105,41,1,1,1.0,4.0,243143,0,0 +6046,1100105,41,1,1,1.0,6.0,429645,0,0 +6047,1100105,41,1,1,2.0,6.0,633388,0,0 +6048,1100105,41,1,1,1.0,4.0,204060,0,0 +6049,1100105,41,1,1,1.0,6.0,443036,0,0 +6050,1100105,41,1,1,1.0,4.0,283667,0,0 +6051,1100105,41,1,1,1.0,4.0,283667,0,0 +6052,1100105,41,1,1,1.0,6.0,412823,0,0 +6053,1100105,41,1,1,1.0,4.0,231956,0,0 +6054,1100105,41,1,1,0.0,6.0,165734,1,0 +6055,1100105,41,1,1,0.0,4.0,156016,1,0 +6056,1100105,41,1,1,1.0,6.0,163423,1,0 +6057,1100105,41,1,1,0.0,4.0,156016,1,0 +6058,1100105,41,1,1,6.0,4.0,180411,1,0 +6059,1100105,41,1,1,0.0,4.0,162896,1,0 +6060,1100105,41,1,1,0.0,4.0,181452,1,0 +6061,1100105,41,1,1,0.0,4.0,162896,1,0 +6062,1100105,41,1,1,0.0,4.0,162896,1,0 +6063,1100105,41,1,1,0.0,4.0,162896,1,0 +6064,1100105,41,1,1,6.0,4.0,180411,1,0 +6065,1100105,41,1,1,1.0,6.0,192721,1,0 +6066,1100105,41,1,1,1.0,4.0,196809,1,0 +6067,1100105,41,1,1,1.0,6.0,176661,1,0 +6068,1100105,41,1,1,0.0,6.0,167161,1,0 +6069,1100105,41,1,1,0.0,4.0,164598,1,0 +6070,1100105,41,1,1,1.0,4.0,174252,1,0 +6071,1100105,41,1,1,1.0,6.0,155621,1,0 +6072,1100105,41,1,1,1.0,4.0,174252,1,0 +6073,1100105,41,1,1,1.0,4.0,174252,1,0 +6074,1100105,41,1,1,1.0,6.0,176661,1,0 +6075,1100105,41,1,1,0.0,6.0,150908,1,0 +6076,1100105,41,1,1,1.0,4.0,167161,1,0 +6077,1100105,41,1,1,0.0,4.0,162095,1,0 +6078,1100105,41,1,1,1.0,4.0,164545,1,0 +6079,1100105,41,1,1,0.0,6.0,186297,1,0 +6080,1100105,41,1,1,1.0,4.0,163662,1,0 +6081,1100105,41,1,1,1.0,4.0,152035,1,0 +6082,1100105,41,1,1,0.0,6.0,192721,1,0 +6083,1100105,41,1,1,0.0,6.0,186297,1,0 +6084,1100105,41,1,1,1.0,4.0,199580,1,0 +6085,1100105,41,1,1,1.0,4.0,164545,1,0 +6086,1100105,41,1,1,1.0,4.0,164545,1,0 +6087,1100105,41,1,1,0.0,4.0,194210,1,0 +6088,1100105,41,1,1,0.0,4.0,194210,1,0 +6089,1100105,41,1,1,2.0,4.0,156960,1,0 +6090,1100105,41,1,1,0.0,4.0,150244,1,0 +6091,1100105,41,1,1,0.0,4.0,187367,1,0 +6092,1100105,41,1,1,1.0,4.0,165610,1,0 +6093,1100105,41,1,1,1.0,6.0,160922,1,0 +6094,1100105,41,1,1,0.0,4.0,163108,1,0 +6095,1100105,41,1,1,0.0,4.0,150244,1,0 +6096,1100105,41,1,1,1.0,4.0,156523,1,0 +6097,1100105,41,1,1,1.0,4.0,176092,1,0 +6098,1100105,41,1,1,1.0,4.0,156523,1,0 +6099,1100105,41,1,1,0.0,6.0,151964,1,0 +6100,1100105,41,1,1,1.0,4.0,163529,1,0 +6101,1100105,41,1,1,1.0,6.0,154339,1,0 +6102,1100105,41,1,1,1.0,6.0,192488,1,0 +6103,1100105,41,1,1,1.0,6.0,171521,1,0 +6104,1100105,41,1,1,0.0,6.0,192721,1,0 +6105,1100105,41,1,1,0.0,4.0,189782,1,0 +6106,1100105,41,1,1,1.0,6.0,192488,1,0 +6107,1100105,41,1,1,1.0,6.0,160922,1,0 +6108,1100105,41,1,1,0.0,6.0,153990,1,0 +6109,1100105,41,1,1,1.0,6.0,150745,1,0 +6110,1100105,41,1,1,0.0,6.0,150951,1,0 +6111,1100105,41,1,1,0.0,4.0,150244,1,0 +6112,1100105,41,1,1,0.0,6.0,150908,1,0 +6113,1100105,41,1,1,0.0,4.0,187367,1,0 +6114,1100105,41,1,1,0.0,6.0,192721,1,0 +6115,1100105,41,1,1,1.0,4.0,164545,1,0 +6116,1100105,41,1,1,2.0,4.0,156960,1,0 +6117,1100105,41,1,1,0.0,4.0,159056,1,0 +6118,1100105,41,1,1,1.0,4.0,159186,1,0 +6119,1100105,41,1,1,0.0,4.0,159056,1,0 +6120,1100105,41,1,1,1.0,4.0,159186,1,0 +6121,1100105,41,1,1,0.0,4.0,159056,1,0 +6122,1100105,41,1,1,1.0,4.0,159186,1,0 +6123,1100105,41,1,1,0.0,4.0,151964,1,0 +6124,1100105,41,1,1,0.0,6.0,171307,1,0 +6125,1100105,41,1,1,0.0,4.0,192488,1,0 +6126,1100105,41,1,1,1.0,4.0,151964,1,0 +6127,1100105,41,1,1,1.0,4.0,151964,1,0 +6128,1100105,41,1,1,1.0,4.0,151964,1,0 +6129,1100105,41,1,1,1.0,4.0,153304,1,0 +6130,1100105,41,1,1,0.0,6.0,177291,1,0 +6131,1100105,41,1,1,0.0,4.0,175104,1,0 +6132,1100105,41,1,1,0.0,4.0,152880,1,0 +6133,1100105,41,1,1,0.0,4.0,196329,1,0 +6134,1100105,41,1,1,1.0,6.0,186450,1,0 +6135,1100105,41,1,1,1.0,4.0,153304,1,0 +6136,1100105,41,1,1,1.0,4.0,159186,1,0 +6137,1100105,41,1,1,0.0,4.0,180650,1,0 +6138,1100105,41,1,1,1.0,6.0,188438,1,0 +6139,1100105,41,1,1,0.0,4.0,196329,1,0 +6140,1100105,41,1,1,1.0,4.0,179238,1,0 +6141,1100105,41,1,1,1.0,4.0,182401,1,0 +6142,1100105,41,1,1,0.0,6.0,166703,1,0 +6143,1100105,41,1,1,1.0,6.0,180411,1,0 +6144,1100105,41,1,1,1.0,4.0,153304,1,0 +6145,1100105,41,1,1,1.0,4.0,178305,1,0 +6146,1100105,41,1,1,0.0,4.0,174019,1,0 +6147,1100105,41,1,1,1.0,6.0,180411,1,0 +6148,1100105,41,1,1,0.0,6.0,163431,1,0 +6149,1100105,41,1,1,0.0,4.0,152880,1,0 +6150,1100105,41,1,1,1.0,4.0,182357,1,0 +6151,1100105,41,1,1,0.0,6.0,161308,1,0 +6152,1100105,41,1,1,0.0,4.0,196329,1,0 +6153,1100105,41,1,1,1.0,6.0,186450,1,0 +6154,1100105,41,1,1,0.0,4.0,175104,1,0 +6155,1100105,41,1,1,1.0,6.0,180411,1,0 +6156,1100105,41,1,1,1.0,4.0,159186,1,0 +6157,1100105,41,1,1,0.0,6.0,161308,1,0 +6158,1100105,41,1,1,1.0,4.0,161601,1,0 +6159,1100105,41,1,1,0.0,4.0,196329,1,0 +6160,1100105,41,1,1,1.0,4.0,155375,1,0 +6161,1100105,41,1,1,1.0,4.0,191023,0,0 +6162,1100105,41,1,1,0.0,4.0,192190,0,0 +6163,1100105,41,1,1,1.0,6.0,151964,0,0 +6164,1100105,41,1,1,1.0,4.0,183807,0,0 +6165,1100105,41,1,1,2.0,6.0,103583,1,0 +6166,1100105,41,1,1,1.0,4.0,145611,1,0 +6167,1100105,41,1,1,1.0,4.0,145611,1,0 +6168,1100105,41,1,1,0.0,6.0,124383,1,0 +6169,1100105,41,1,1,0.0,6.0,124383,1,0 +6170,1100105,41,1,1,0.0,6.0,124383,1,0 +6171,1100105,41,1,1,1.0,4.0,108762,1,0 +6172,1100105,41,1,1,0.0,6.0,111671,1,0 +6173,1100105,41,1,1,0.0,6.0,111671,1,0 +6174,1100105,41,1,1,0.0,6.0,111671,1,0 +6175,1100105,41,1,1,1.0,4.0,103583,1,0 +6176,1100105,41,1,1,1.0,4.0,101512,1,0 +6177,1100105,41,1,1,1.0,4.0,127349,1,0 +6178,1100105,41,1,1,1.0,4.0,101512,1,0 +6179,1100105,41,1,1,1.0,4.0,127349,1,0 +6180,1100105,41,1,1,1.0,4.0,101512,1,0 +6181,1100105,41,1,1,1.0,4.0,101512,1,0 +6182,1100105,41,1,1,1.0,4.0,101512,1,0 +6183,1100105,41,1,1,0.0,6.0,121193,1,0 +6184,1100105,41,1,1,1.0,4.0,111430,1,0 +6185,1100105,41,1,1,1.0,4.0,127349,1,0 +6186,1100105,41,1,1,1.0,4.0,127349,1,0 +6187,1100105,41,1,1,0.0,6.0,121193,1,0 +6188,1100105,41,1,1,1.0,4.0,127349,1,0 +6189,1100105,41,1,1,1.0,4.0,111430,1,0 +6190,1100105,41,1,1,0.0,6.0,121571,1,0 +6191,1100105,41,1,1,1.0,4.0,103583,1,0 +6192,1100105,41,1,1,1.0,4.0,103583,1,0 +6193,1100105,41,1,1,1.0,4.0,127349,1,0 +6194,1100105,41,1,1,1.0,4.0,127349,1,0 +6195,1100105,41,1,1,1.0,6.0,124300,1,0 +6196,1100105,41,1,1,0.0,6.0,101309,1,0 +6197,1100105,41,1,1,0.0,6.0,109902,1,0 +6198,1100105,41,1,1,1.0,4.0,111430,1,0 +6199,1100105,41,1,1,0.0,4.0,121571,1,0 +6200,1100105,41,1,1,0.0,6.0,101309,1,0 +6201,1100105,41,1,1,1.0,6.0,124300,1,0 +6202,1100105,41,1,1,0.0,4.0,105434,1,0 +6203,1100105,41,1,1,0.0,6.0,137961,1,0 +6204,1100105,41,1,1,0.0,4.0,103583,1,0 +6205,1100105,41,1,1,0.0,6.0,107599,1,0 +6206,1100105,41,1,1,0.0,4.0,142368,1,0 +6207,1100105,41,1,1,0.0,6.0,136730,1,0 +6208,1100105,41,1,1,1.0,6.0,139187,1,0 +6209,1100105,41,1,1,1.0,4.0,117774,1,0 +6210,1100105,41,1,1,1.0,6.0,139187,1,0 +6211,1100105,41,1,1,1.0,6.0,130317,1,0 +6212,1100105,41,1,1,1.0,6.0,118532,1,0 +6213,1100105,41,1,1,1.0,6.0,139187,1,0 +6214,1100105,41,1,1,1.0,6.0,118532,1,0 +6215,1100105,41,1,1,1.0,6.0,113942,1,0 +6216,1100105,41,1,1,1.0,6.0,125054,1,0 +6217,1100105,41,1,1,1.0,4.0,149894,1,0 +6218,1100105,41,1,1,1.0,6.0,121571,1,0 +6219,1100105,41,1,1,0.0,4.0,140820,1,0 +6220,1100105,41,1,1,0.0,4.0,106375,1,0 +6221,1100105,41,1,1,0.0,4.0,143256,1,0 +6222,1100105,41,1,1,0.0,4.0,131743,1,0 +6223,1100105,41,1,1,0.0,6.0,113942,1,0 +6224,1100105,41,1,1,1.0,6.0,148573,1,0 +6225,1100105,41,1,1,1.0,4.0,103583,1,0 +6226,1100105,41,1,1,0.0,4.0,126521,1,0 +6227,1100105,41,1,1,0.0,6.0,107067,1,0 +6228,1100105,41,1,1,0.0,4.0,111440,1,0 +6229,1100105,41,1,1,0.0,4.0,106375,1,0 +6230,1100105,41,1,1,1.0,6.0,113491,1,0 +6231,1100105,41,1,1,1.0,4.0,142427,1,0 +6232,1100105,41,1,1,0.0,6.0,133834,1,0 +6233,1100105,41,1,1,1.0,4.0,134658,1,0 +6234,1100105,41,1,1,0.0,4.0,111440,1,0 +6235,1100105,41,1,1,1.0,4.0,142427,1,0 +6236,1100105,41,1,1,0.0,6.0,101309,1,0 +6237,1100105,41,1,1,1.0,4.0,103583,1,0 +6238,1100105,41,1,1,1.0,6.0,131702,1,0 +6239,1100105,41,1,1,1.0,4.0,134658,1,0 +6240,1100105,41,1,1,1.0,6.0,107727,1,0 +6241,1100105,41,1,1,0.0,4.0,143391,1,0 +6242,1100105,41,1,1,2.0,4.0,113466,1,0 +6243,1100105,41,1,1,1.0,4.0,108762,1,0 +6244,1100105,41,1,1,0.0,6.0,134658,1,0 +6245,1100105,41,1,1,1.0,4.0,145499,1,0 +6246,1100105,41,1,1,1.0,4.0,103583,1,0 +6247,1100105,41,1,1,0.0,6.0,125624,1,0 +6248,1100105,41,1,1,0.0,4.0,139838,1,0 +6249,1100105,41,1,1,1.0,4.0,137961,1,0 +6250,1100105,41,1,1,0.0,4.0,139838,1,0 +6251,1100105,41,1,1,1.0,4.0,126521,1,0 +6252,1100105,41,1,1,1.0,6.0,101309,1,0 +6253,1100105,41,1,1,2.0,4.0,113466,1,0 +6254,1100105,41,1,1,1.0,4.0,108970,1,0 +6255,1100105,41,1,1,0.0,4.0,106124,1,0 +6256,1100105,41,1,1,1.0,6.0,124610,1,0 +6257,1100105,41,1,1,1.0,4.0,108970,1,0 +6258,1100105,41,1,1,1.0,6.0,105434,1,0 +6259,1100105,41,1,1,0.0,6.0,133834,1,0 +6260,1100105,41,1,1,1.0,4.0,122228,1,0 +6261,1100105,41,1,1,1.0,4.0,137064,1,0 +6262,1100105,41,1,1,0.0,6.0,129479,1,0 +6263,1100105,41,1,1,1.0,4.0,131793,1,0 +6264,1100105,41,1,1,1.0,6.0,136900,1,0 +6265,1100105,41,1,1,1.0,4.0,106177,1,0 +6266,1100105,41,1,1,1.0,4.0,113974,1,0 +6267,1100105,41,1,1,0.0,6.0,139838,1,0 +6268,1100105,41,1,1,1.0,4.0,113942,1,0 +6269,1100105,41,1,1,0.0,4.0,103325,1,0 +6270,1100105,41,1,1,1.0,4.0,134658,1,0 +6271,1100105,41,1,1,0.0,4.0,100817,1,0 +6272,1100105,41,1,1,0.0,6.0,129479,1,0 +6273,1100105,41,1,1,0.0,4.0,110279,1,0 +6274,1100105,41,1,1,1.0,6.0,137961,1,0 +6275,1100105,41,1,1,0.0,6.0,101816,1,0 +6276,1100105,41,1,1,1.0,6.0,123127,1,0 +6277,1100105,41,1,1,1.0,4.0,137961,1,0 +6278,1100105,41,1,1,0.0,6.0,101309,1,0 +6279,1100105,41,1,1,1.0,6.0,116810,1,0 +6280,1100105,41,1,1,0.0,6.0,133834,1,0 +6281,1100105,41,1,1,1.0,4.0,113942,1,0 +6282,1100105,41,1,1,1.0,4.0,113974,1,0 +6283,1100105,41,1,1,0.0,6.0,113942,1,0 +6284,1100105,41,1,1,1.0,6.0,131702,1,0 +6285,1100105,41,1,1,0.0,4.0,117774,1,0 +6286,1100105,41,1,1,0.0,6.0,101309,1,0 +6287,1100105,41,1,1,1.0,6.0,136768,1,0 +6288,1100105,41,1,1,1.0,4.0,131793,1,0 +6289,1100105,41,1,1,0.0,4.0,113063,1,0 +6290,1100105,41,1,1,1.0,6.0,140083,1,0 +6291,1100105,41,1,1,0.0,4.0,128568,1,0 +6292,1100105,41,1,1,0.0,6.0,105434,1,0 +6293,1100105,41,1,1,1.0,6.0,100373,1,0 +6294,1100105,41,1,1,1.0,6.0,124610,1,0 +6295,1100105,41,1,1,0.0,6.0,107727,1,0 +6296,1100105,41,1,1,1.0,4.0,113974,1,0 +6297,1100105,41,1,1,0.0,6.0,107727,1,0 +6298,1100105,41,1,1,1.0,4.0,131692,1,0 +6299,1100105,41,1,1,0.0,4.0,106375,1,0 +6300,1100105,41,1,1,1.0,4.0,137064,1,0 +6301,1100105,41,1,1,0.0,4.0,128568,1,0 +6302,1100105,41,1,1,1.0,6.0,137592,1,0 +6303,1100105,41,1,1,1.0,4.0,105434,1,0 +6304,1100105,41,1,1,0.0,4.0,117774,1,0 +6305,1100105,41,1,1,1.0,4.0,142427,1,0 +6306,1100105,41,1,1,0.0,6.0,115493,1,0 +6307,1100105,41,1,1,1.0,4.0,130585,1,0 +6308,1100105,41,1,1,1.0,6.0,123127,1,0 +6309,1100105,41,1,1,0.0,4.0,101309,1,0 +6310,1100105,41,1,1,0.0,6.0,125624,1,0 +6311,1100105,41,1,1,0.0,4.0,127349,1,0 +6312,1100105,41,1,1,2.0,4.0,113466,1,0 +6313,1100105,41,1,1,1.0,4.0,120157,1,0 +6314,1100105,41,1,1,0.0,4.0,139838,1,0 +6315,1100105,41,1,1,0.0,4.0,103855,1,0 +6316,1100105,41,1,1,1.0,4.0,105434,1,0 +6317,1100105,41,1,1,0.0,6.0,139187,1,0 +6318,1100105,41,1,1,0.0,4.0,106375,1,0 +6319,1100105,41,1,1,0.0,6.0,115493,1,0 +6320,1100105,41,1,1,0.0,6.0,134658,1,0 +6321,1100105,41,1,1,1.0,4.0,127349,1,0 +6322,1100105,41,1,1,1.0,4.0,141833,1,0 +6323,1100105,41,1,1,0.0,6.0,101309,1,0 +6324,1100105,41,1,1,0.0,6.0,148823,1,0 +6325,1100105,41,1,1,2.0,4.0,113466,1,0 +6326,1100105,41,1,1,1.0,4.0,130585,1,0 +6327,1100105,41,1,1,2.0,4.0,103583,1,0 +6328,1100105,41,1,1,1.0,6.0,136768,1,0 +6329,1100105,41,1,1,0.0,4.0,139838,1,0 +6330,1100105,41,1,1,0.0,4.0,100817,1,0 +6331,1100105,41,1,1,0.0,6.0,126637,1,0 +6332,1100105,41,1,1,1.0,4.0,139187,1,0 +6333,1100105,41,1,1,1.0,6.0,100373,1,0 +6334,1100105,41,1,1,0.0,6.0,148823,1,0 +6335,1100105,41,1,1,1.0,6.0,140083,1,0 +6336,1100105,41,1,1,1.0,4.0,120195,1,0 +6337,1100105,41,1,1,2.0,4.0,113466,1,0 +6338,1100105,41,1,1,0.0,4.0,131743,1,0 +6339,1100105,41,1,1,1.0,6.0,123127,1,0 +6340,1100105,41,1,1,1.0,6.0,137592,1,0 +6341,1100105,41,1,1,1.0,4.0,134658,1,0 +6342,1100105,41,1,1,1.0,4.0,120157,1,0 +6343,1100105,41,1,1,1.0,6.0,137961,1,0 +6344,1100105,41,1,1,1.0,6.0,116736,1,0 +6345,1100105,41,1,1,1.0,4.0,105593,1,0 +6346,1100105,41,1,1,0.0,4.0,103325,1,0 +6347,1100105,41,1,1,0.0,6.0,101309,1,0 +6348,1100105,41,1,1,1.0,4.0,123358,1,0 +6349,1100105,41,1,1,1.0,6.0,124610,1,0 +6350,1100105,41,1,1,1.0,4.0,108762,1,0 +6351,1100105,41,1,1,1.0,6.0,136768,1,0 +6352,1100105,41,1,1,1.0,6.0,141833,1,0 +6353,1100105,41,1,1,1.0,4.0,101309,1,0 +6354,1100105,41,1,1,0.0,4.0,106375,1,0 +6355,1100105,41,1,1,1.0,4.0,139187,1,0 +6356,1100105,41,1,1,1.0,4.0,131692,1,0 +6357,1100105,41,1,1,0.0,4.0,127349,1,0 +6358,1100105,41,1,1,1.0,4.0,139187,1,0 +6359,1100105,41,1,1,0.0,6.0,101309,1,0 +6360,1100105,41,1,1,0.0,6.0,148823,1,0 +6361,1100105,41,1,1,1.0,4.0,139187,1,0 +6362,1100105,41,1,1,1.0,4.0,113942,1,0 +6363,1100105,41,1,1,1.0,6.0,100162,1,0 +6364,1100105,41,1,1,1.0,6.0,140083,1,0 +6365,1100105,41,1,1,1.0,4.0,143728,1,0 +6366,1100105,41,1,1,0.0,4.0,127349,1,0 +6367,1100105,41,1,1,1.0,4.0,130585,1,0 +6368,1100105,41,1,1,0.0,6.0,107067,1,0 +6369,1100105,41,1,1,0.0,4.0,127349,1,0 +6370,1100105,41,1,1,0.0,6.0,133834,1,0 +6371,1100105,41,1,1,0.0,4.0,103325,1,0 +6372,1100105,41,1,1,1.0,6.0,100373,1,0 +6373,1100105,41,1,1,0.0,6.0,134658,1,0 +6374,1100105,41,1,1,1.0,6.0,124610,1,0 +6375,1100105,41,1,1,1.0,6.0,136900,1,0 +6376,1100105,41,1,1,0.0,4.0,136768,1,0 +6377,1100105,41,1,1,1.0,4.0,100296,1,0 +6378,1100105,41,1,1,1.0,4.0,100296,1,0 +6379,1100105,41,1,1,1.0,4.0,100296,1,0 +6380,1100105,41,1,1,1.0,4.0,124818,1,0 +6381,1100105,41,1,1,1.0,4.0,130407,1,0 +6382,1100105,41,1,1,0.0,4.0,148573,1,0 +6383,1100105,41,1,1,0.0,4.0,105362,1,0 +6384,1100105,41,1,1,1.0,6.0,137961,1,0 +6385,1100105,41,1,1,1.0,4.0,100296,1,0 +6386,1100105,41,1,1,1.0,6.0,128480,1,0 +6387,1100105,41,1,1,1.0,4.0,146392,1,0 +6388,1100105,41,1,1,1.0,6.0,106375,1,0 +6389,1100105,41,1,1,0.0,6.0,147608,1,0 +6390,1100105,41,1,1,1.0,4.0,130407,1,0 +6391,1100105,41,1,1,1.0,4.0,111760,1,0 +6392,1100105,41,1,1,0.0,4.0,105362,1,0 +6393,1100105,41,1,1,1.0,4.0,100296,1,0 +6394,1100105,41,1,1,0.0,6.0,101309,1,0 +6395,1100105,41,1,1,1.0,4.0,124818,1,0 +6396,1100105,41,1,1,0.0,4.0,105362,1,0 +6397,1100105,41,1,1,0.0,4.0,148573,1,0 +6398,1100105,41,1,1,0.0,6.0,117774,1,0 +6399,1100105,41,1,1,0.0,4.0,105362,1,0 +6400,1100105,41,1,1,0.0,4.0,148573,1,0 +6401,1100105,41,1,1,0.0,4.0,136768,1,0 +6402,1100105,41,1,1,1.0,6.0,106375,1,0 +6403,1100105,41,1,1,0.0,6.0,147608,1,0 +6404,1100105,41,1,1,0.0,6.0,117774,1,0 +6405,1100105,41,1,1,0.0,4.0,136768,1,0 +6406,1100105,41,1,1,1.0,6.0,114978,1,0 +6407,1100105,41,1,1,0.0,4.0,117774,1,0 +6408,1100105,41,1,1,1.0,4.0,101217,1,0 +6409,1100105,41,1,1,1.0,4.0,101217,1,0 +6410,1100105,41,1,1,1.0,4.0,101217,1,0 +6411,1100105,41,1,1,1.0,4.0,101217,1,0 +6412,1100105,41,1,1,1.0,6.0,114978,1,0 +6413,1100105,41,1,1,0.0,6.0,108597,1,0 +6414,1100105,41,1,1,1.0,6.0,114978,1,0 +6415,1100105,41,1,1,0.0,6.0,108597,1,0 +6416,1100105,41,1,1,0.0,4.0,100817,1,0 +6417,1100105,41,1,1,0.0,6.0,105434,1,0 +6418,1100105,41,1,1,0.0,6.0,105434,1,0 +6419,1100105,41,1,1,0.0,6.0,105434,1,0 +6420,1100105,41,1,1,0.0,6.0,105434,1,0 +6421,1100105,41,1,1,1.0,4.0,114614,1,0 +6422,1100105,41,1,1,1.0,6.0,105655,1,0 +6423,1100105,41,1,1,1.0,4.0,116736,1,0 +6424,1100105,41,1,1,1.0,4.0,116736,1,0 +6425,1100105,41,1,1,0.0,6.0,141833,1,0 +6426,1100105,41,1,1,0.0,4.0,108246,1,0 +6427,1100105,41,1,1,0.0,6.0,101713,1,0 +6428,1100105,41,1,1,1.0,4.0,132847,1,0 +6429,1100105,41,1,1,1.0,4.0,108401,1,0 +6430,1100105,41,1,1,0.0,6.0,115632,1,0 +6431,1100105,41,1,1,0.0,4.0,143267,1,0 +6432,1100105,41,1,1,0.0,6.0,107388,1,0 +6433,1100105,41,1,1,0.0,6.0,148573,1,0 +6434,1100105,41,1,1,1.0,6.0,113869,1,0 +6435,1100105,41,1,1,2.0,4.0,108597,1,0 +6436,1100105,41,1,1,1.0,4.0,100817,1,0 +6437,1100105,41,1,1,0.0,6.0,122228,1,0 +6438,1100105,41,1,1,1.0,4.0,116703,1,0 +6439,1100105,41,1,1,1.0,6.0,110706,1,0 +6440,1100105,41,1,1,0.0,4.0,143267,1,0 +6441,1100105,41,1,1,0.0,6.0,104516,1,0 +6442,1100105,41,1,1,1.0,6.0,105434,1,0 +6443,1100105,41,1,1,2.0,4.0,108597,1,0 +6444,1100105,41,1,1,0.0,4.0,121571,1,0 +6445,1100105,41,1,1,0.0,4.0,111430,1,0 +6446,1100105,41,1,1,0.0,4.0,142945,1,0 +6447,1100105,41,1,1,1.0,4.0,131702,1,0 +6448,1100105,41,1,1,0.0,6.0,134658,1,0 +6449,1100105,41,1,1,1.0,4.0,115978,1,0 +6450,1100105,41,1,1,0.0,6.0,103583,1,0 +6451,1100105,41,1,1,0.0,6.0,107388,1,0 +6452,1100105,41,1,1,0.0,4.0,141833,1,0 +6453,1100105,41,1,1,1.0,4.0,124695,1,0 +6454,1100105,41,1,1,0.0,6.0,122056,1,0 +6455,1100105,41,1,1,0.0,6.0,134658,1,0 +6456,1100105,41,1,1,0.0,6.0,141833,1,0 +6457,1100105,41,1,1,0.0,6.0,104516,1,0 +6458,1100105,41,1,1,0.0,6.0,131702,1,0 +6459,1100105,41,1,1,0.0,4.0,116506,1,0 +6460,1100105,41,1,1,1.0,4.0,137117,1,0 +6461,1100105,41,1,1,0.0,6.0,107388,1,0 +6462,1100105,41,1,1,0.0,6.0,141833,1,0 +6463,1100105,41,1,1,0.0,4.0,131793,1,0 +6464,1100105,41,1,1,0.0,6.0,141833,1,0 +6465,1100105,41,1,1,1.0,6.0,116703,1,0 +6466,1100105,41,1,1,1.0,4.0,100817,1,0 +6467,1100105,41,1,1,0.0,6.0,108597,1,0 +6468,1100105,41,1,1,0.0,4.0,106124,1,0 +6469,1100105,41,1,1,1.0,6.0,149894,1,0 +6470,1100105,41,1,1,0.0,6.0,119915,1,0 +6471,1100105,41,1,1,0.0,4.0,127349,1,0 +6472,1100105,41,1,1,0.0,6.0,120157,1,0 +6473,1100105,41,1,1,0.0,4.0,127349,1,0 +6474,1100105,41,1,1,0.0,6.0,133105,1,0 +6475,1100105,41,1,1,0.0,4.0,107388,1,0 +6476,1100105,41,1,1,0.0,4.0,143391,1,0 +6477,1100105,41,1,1,0.0,6.0,134658,1,0 +6478,1100105,41,1,1,1.0,6.0,149894,1,0 +6479,1100105,41,1,1,0.0,6.0,107388,1,0 +6480,1100105,41,1,1,1.0,4.0,131702,1,0 +6481,1100105,41,1,1,0.0,4.0,111430,1,0 +6482,1100105,41,1,1,0.0,6.0,102784,1,0 +6483,1100105,41,1,1,0.0,4.0,143267,1,0 +6484,1100105,41,1,1,1.0,4.0,109360,1,0 +6485,1100105,41,1,1,0.0,6.0,114479,1,0 +6486,1100105,41,1,1,1.0,4.0,116703,1,0 +6487,1100105,41,1,1,1.0,4.0,131905,1,0 +6488,1100105,41,1,1,1.0,4.0,137117,1,0 +6489,1100105,41,1,1,0.0,6.0,119915,1,0 +6490,1100105,41,1,1,1.0,4.0,126637,1,0 +6491,1100105,41,1,1,0.0,4.0,106124,1,0 +6492,1100105,41,1,1,0.0,4.0,108246,1,0 +6493,1100105,41,1,1,0.0,6.0,119121,1,0 +6494,1100105,41,1,1,0.0,6.0,107388,1,0 +6495,1100105,41,1,1,1.0,4.0,145017,1,0 +6496,1100105,41,1,1,1.0,4.0,115978,1,0 +6497,1100105,41,1,1,0.0,6.0,120986,1,0 +6498,1100105,41,1,1,1.0,4.0,100817,1,0 +6499,1100105,41,1,1,0.0,6.0,101309,1,0 +6500,1100105,41,1,1,0.0,6.0,102784,1,0 +6501,1100105,41,1,1,0.0,6.0,130729,1,0 +6502,1100105,41,1,1,1.0,6.0,119920,1,0 +6503,1100105,41,1,1,1.0,4.0,103335,1,0 +6504,1100105,41,1,1,1.0,6.0,105686,1,0 +6505,1100105,41,1,1,0.0,6.0,102784,1,0 +6506,1100105,41,1,1,0.0,6.0,142336,1,0 +6507,1100105,41,1,1,1.0,6.0,105686,1,0 +6508,1100105,41,1,1,0.0,4.0,108762,1,0 +6509,1100105,41,1,1,1.0,6.0,110706,1,0 +6510,1100105,41,1,1,1.0,4.0,132655,1,0 +6511,1100105,41,1,1,1.0,4.0,104001,1,0 +6512,1100105,41,1,1,1.0,6.0,113466,1,0 +6513,1100105,41,1,1,0.0,4.0,118085,1,0 +6514,1100105,41,1,1,1.0,4.0,106124,1,0 +6515,1100105,41,1,1,1.0,4.0,131702,1,0 +6516,1100105,41,1,1,1.0,6.0,104925,1,0 +6517,1100105,41,1,1,0.0,6.0,102784,1,0 +6518,1100105,41,1,1,1.0,4.0,128052,1,0 +6519,1100105,41,1,1,1.0,4.0,105434,1,0 +6520,1100105,41,1,1,1.0,4.0,103335,1,0 +6521,1100105,41,1,1,1.0,6.0,111430,1,0 +6522,1100105,41,1,1,1.0,6.0,119920,1,0 +6523,1100105,41,1,1,1.0,6.0,113869,1,0 +6524,1100105,41,1,1,0.0,6.0,114479,1,0 +6525,1100105,41,1,1,1.0,6.0,113466,1,0 +6526,1100105,41,1,1,1.0,6.0,121249,1,0 +6527,1100105,41,1,1,1.0,6.0,105686,1,0 +6528,1100105,41,1,1,1.0,4.0,120157,1,0 +6529,1100105,41,1,1,1.0,4.0,128480,1,0 +6530,1100105,41,1,1,0.0,4.0,105434,1,0 +6531,1100105,41,1,1,0.0,6.0,120157,1,0 +6532,1100105,41,1,1,0.0,4.0,106124,1,0 +6533,1100105,41,1,1,1.0,4.0,137117,1,0 +6534,1100105,41,1,1,1.0,6.0,110706,1,0 +6535,1100105,41,1,1,0.0,4.0,106124,1,0 +6536,1100105,41,1,1,0.0,4.0,142399,1,0 +6537,1100105,41,1,1,1.0,4.0,101309,1,0 +6538,1100105,41,1,1,0.0,4.0,142399,1,0 +6539,1100105,41,1,1,0.0,4.0,142399,1,0 +6540,1100105,41,1,1,0.0,4.0,142399,1,0 +6541,1100105,41,1,1,1.0,4.0,101309,1,0 +6542,1100105,41,1,1,0.0,4.0,108907,1,0 +6543,1100105,41,1,1,0.0,4.0,108907,1,0 +6544,1100105,41,1,1,0.0,4.0,142399,1,0 +6545,1100105,41,1,1,1.0,4.0,101309,1,0 +6546,1100105,41,1,1,1.0,4.0,101309,1,0 +6547,1100105,41,1,1,0.0,6.0,100476,1,0 +6548,1100105,41,1,1,0.0,6.0,120157,1,0 +6549,1100105,41,1,1,0.0,4.0,142399,1,0 +6550,1100105,41,1,1,0.0,4.0,142399,1,0 +6551,1100105,41,1,1,1.0,4.0,107727,1,0 +6552,1100105,41,1,1,0.0,4.0,110427,0,0 +6553,1100105,41,1,1,0.0,4.0,103471,0,0 +6554,1100105,41,1,1,0.0,6.0,122483,0,0 +6555,1100105,41,1,1,0.0,4.0,112502,0,0 +6556,1100105,41,1,1,1.0,4.0,117519,0,0 +6557,1100105,41,1,1,1.0,4.0,109307,0,0 +6558,1100105,41,1,1,0.0,4.0,103471,0,0 +6559,1100105,41,1,1,0.0,4.0,112502,0,0 +6560,1100105,41,1,1,1.0,6.0,131551,0,0 +6561,1100105,41,1,1,0.0,4.0,112502,0,0 +6562,1100105,41,1,1,1.0,6.0,101005,0,0 +6563,1100105,41,1,1,1.0,6.0,101005,0,0 +6564,1100105,41,1,1,1.0,4.0,107727,0,0 +6565,1100105,41,1,1,1.0,4.0,107727,0,0 +6566,1100105,41,1,1,1.0,4.0,107727,0,0 +6567,1100105,41,1,1,0.0,4.0,124610,0,0 +6568,1100105,41,1,1,0.0,4.0,124610,0,0 +6569,1100105,41,1,1,0.0,4.0,124610,0,0 +6570,1100105,41,1,1,1.0,4.0,51584,1,0 +6571,1100105,41,1,1,1.0,4.0,53694,1,0 +6572,1100105,41,1,1,1.0,4.0,98270,1,0 +6573,1100105,41,1,1,0.0,6.0,72164,1,0 +6574,1100105,41,1,1,0.0,4.0,71103,1,0 +6575,1100105,41,1,1,1.0,6.0,61135,1,0 +6576,1100105,41,1,1,1.0,4.0,54604,1,0 +6577,1100105,41,1,1,1.0,4.0,52998,1,0 +6578,1100105,41,1,1,1.0,6.0,61135,1,0 +6579,1100105,41,1,1,0.0,6.0,87227,1,0 +6580,1100105,41,1,1,1.0,6.0,73204,1,0 +6581,1100105,41,1,1,0.0,6.0,87227,1,0 +6582,1100105,41,1,1,1.0,6.0,82441,1,0 +6583,1100105,41,1,1,1.0,6.0,61135,1,0 +6584,1100105,41,1,1,0.0,4.0,99272,1,0 +6585,1100105,41,1,1,0.0,4.0,99272,1,0 +6586,1100105,41,1,1,0.0,4.0,99272,1,0 +6587,1100105,41,1,1,0.0,4.0,99272,1,0 +6588,1100105,41,1,1,0.0,4.0,99272,1,0 +6589,1100105,41,1,1,0.0,4.0,99272,1,0 +6590,1100105,41,1,1,0.0,6.0,88645,1,0 +6591,1100105,41,1,1,0.0,4.0,99272,1,0 +6592,1100105,41,1,1,0.0,4.0,99283,1,0 +6593,1100105,41,1,1,1.0,6.0,87010,1,0 +6594,1100105,41,1,1,0.0,4.0,99283,1,0 +6595,1100105,41,1,1,0.0,4.0,91728,1,0 +6596,1100105,41,1,1,1.0,6.0,56745,1,0 +6597,1100105,41,1,1,0.0,6.0,79241,1,0 +6598,1100105,41,1,1,1.0,4.0,81047,1,0 +6599,1100105,41,1,1,1.0,6.0,99440,1,0 +6600,1100105,41,1,1,1.0,4.0,63825,1,0 +6601,1100105,41,1,1,1.0,6.0,57989,1,0 +6602,1100105,41,1,1,1.0,4.0,53533,1,0 +6603,1100105,41,1,1,2.0,4.0,55184,1,0 +6604,1100105,41,1,1,0.0,4.0,71103,1,0 +6605,1100105,41,1,1,0.0,4.0,89861,1,0 +6606,1100105,41,1,1,0.0,4.0,93225,1,0 +6607,1100105,41,1,1,0.0,4.0,73804,1,0 +6608,1100105,41,1,1,0.0,4.0,89861,1,0 +6609,1100105,41,1,1,1.0,6.0,79229,1,0 +6610,1100105,41,1,1,0.0,4.0,73804,1,0 +6611,1100105,41,1,1,0.0,4.0,76652,1,0 +6612,1100105,41,1,1,1.0,4.0,71695,1,0 +6613,1100105,41,1,1,1.0,6.0,69593,1,0 +6614,1100105,41,1,1,0.0,4.0,51802,1,0 +6615,1100105,41,1,1,0.0,4.0,78008,1,0 +6616,1100105,41,1,1,1.0,6.0,87126,1,0 +6617,1100105,41,1,1,0.0,4.0,89861,1,0 +6618,1100105,41,1,1,0.0,6.0,53694,1,0 +6619,1100105,41,1,1,0.0,4.0,73804,1,0 +6620,1100105,41,1,1,0.0,6.0,53694,1,0 +6621,1100105,41,1,1,0.0,4.0,73804,1,0 +6622,1100105,41,1,1,0.0,6.0,50756,1,0 +6623,1100105,41,1,1,1.0,4.0,72508,1,0 +6624,1100105,41,1,1,1.0,6.0,68980,1,0 +6625,1100105,41,1,1,0.0,4.0,96042,1,0 +6626,1100105,41,1,1,1.0,4.0,94450,1,0 +6627,1100105,41,1,1,1.0,6.0,93225,1,0 +6628,1100105,41,1,1,0.0,4.0,72942,1,0 +6629,1100105,41,1,1,1.0,4.0,84899,1,0 +6630,1100105,41,1,1,1.0,4.0,95511,1,0 +6631,1100105,41,1,1,1.0,4.0,65797,1,0 +6632,1100105,41,1,1,0.0,6.0,79593,1,0 +6633,1100105,41,1,1,1.0,4.0,98270,1,0 +6634,1100105,41,1,1,1.0,6.0,60785,1,0 +6635,1100105,41,1,1,0.0,4.0,83609,1,0 +6636,1100105,41,1,1,1.0,4.0,85653,1,0 +6637,1100105,41,1,1,1.0,4.0,77501,1,0 +6638,1100105,41,1,1,1.0,6.0,79075,1,0 +6639,1100105,41,1,1,1.0,4.0,70436,1,0 +6640,1100105,41,1,1,1.0,4.0,98270,1,0 +6641,1100105,41,1,1,1.0,6.0,70641,1,0 +6642,1100105,41,1,1,1.0,6.0,90165,1,0 +6643,1100105,41,1,1,1.0,4.0,74947,1,0 +6644,1100105,41,1,1,1.0,6.0,90165,1,0 +6645,1100105,41,1,1,0.0,6.0,97004,1,0 +6646,1100105,41,1,1,0.0,4.0,96042,1,0 +6647,1100105,41,1,1,0.0,4.0,94922,1,0 +6648,1100105,41,1,1,1.0,6.0,95075,1,0 +6649,1100105,41,1,1,1.0,4.0,82867,1,0 +6650,1100105,41,1,1,0.0,6.0,55237,1,0 +6651,1100105,41,1,1,0.0,4.0,98801,1,0 +6652,1100105,41,1,1,0.0,6.0,97634,1,0 +6653,1100105,41,1,1,0.0,4.0,74286,1,0 +6654,1100105,41,1,1,1.0,6.0,60785,1,0 +6655,1100105,41,1,1,1.0,4.0,63674,1,0 +6656,1100105,41,1,1,0.0,4.0,93225,1,0 +6657,1100105,41,1,1,0.0,4.0,72942,1,0 +6658,1100105,41,1,1,1.0,6.0,69593,1,0 +6659,1100105,41,1,1,1.0,4.0,94891,1,0 +6660,1100105,41,1,1,1.0,6.0,74947,1,0 +6661,1100105,41,1,1,0.0,6.0,71929,1,0 +6662,1100105,41,1,1,1.0,4.0,74947,1,0 +6663,1100105,41,1,1,0.0,4.0,74286,1,0 +6664,1100105,41,1,1,1.0,6.0,69593,1,0 +6665,1100105,41,1,1,1.0,6.0,93225,1,0 +6666,1100105,41,1,1,1.0,6.0,93225,1,0 +6667,1100105,41,1,1,0.0,6.0,95511,1,0 +6668,1100105,41,1,1,1.0,6.0,65851,1,0 +6669,1100105,41,1,1,1.0,6.0,58887,1,0 +6670,1100105,41,1,1,0.0,6.0,55237,1,0 +6671,1100105,41,1,1,0.0,4.0,93225,1,0 +6672,1100105,41,1,1,1.0,6.0,96244,1,0 +6673,1100105,41,1,1,0.0,6.0,71929,1,0 +6674,1100105,41,1,1,0.0,6.0,75982,1,0 +6675,1100105,41,1,1,0.0,6.0,89619,1,0 +6676,1100105,41,1,1,0.0,6.0,97004,1,0 +6677,1100105,41,1,1,0.0,6.0,75982,1,0 +6678,1100105,41,1,1,1.0,4.0,94450,1,0 +6679,1100105,41,1,1,0.0,6.0,90117,1,0 +6680,1100105,41,1,1,1.0,4.0,74947,1,0 +6681,1100105,41,1,1,0.0,4.0,94922,1,0 +6682,1100105,41,1,1,0.0,6.0,55237,1,0 +6683,1100105,41,1,1,1.0,6.0,51791,1,0 +6684,1100105,41,1,1,0.0,4.0,93225,1,0 +6685,1100105,41,1,1,1.0,4.0,77501,1,0 +6686,1100105,41,1,1,1.0,6.0,93225,1,0 +6687,1100105,41,1,1,0.0,6.0,81047,1,0 +6688,1100105,41,1,1,1.0,6.0,54707,1,0 +6689,1100105,41,1,1,1.0,6.0,96244,1,0 +6690,1100105,41,1,1,1.0,6.0,70641,1,0 +6691,1100105,41,1,1,1.0,6.0,68980,1,0 +6692,1100105,41,1,1,0.0,4.0,74286,1,0 +6693,1100105,41,1,1,0.0,4.0,81371,1,0 +6694,1100105,41,1,1,1.0,6.0,93225,1,0 +6695,1100105,41,1,1,1.0,6.0,87126,1,0 +6696,1100105,41,1,1,1.0,4.0,59043,1,0 +6697,1100105,41,1,1,0.0,4.0,95289,1,0 +6698,1100105,41,1,1,1.0,6.0,95945,1,0 +6699,1100105,41,1,1,1.0,4.0,99440,1,0 +6700,1100105,41,1,1,1.0,6.0,84347,1,0 +6701,1100105,41,1,1,1.0,6.0,95945,1,0 +6702,1100105,41,1,1,0.0,6.0,96022,1,0 +6703,1100105,41,1,1,0.0,6.0,95289,1,0 +6704,1100105,41,1,1,1.0,4.0,99440,1,0 +6705,1100105,41,1,1,0.0,4.0,74580,1,0 +6706,1100105,41,1,1,0.0,4.0,74580,1,0 +6707,1100105,41,1,1,1.0,4.0,73804,1,0 +6708,1100105,41,1,1,0.0,4.0,74580,1,0 +6709,1100105,41,1,1,0.0,6.0,96022,1,0 +6710,1100105,41,1,1,0.0,4.0,74580,1,0 +6711,1100105,41,1,1,1.0,6.0,74286,1,0 +6712,1100105,41,1,1,0.0,6.0,75982,1,0 +6713,1100105,41,1,1,1.0,4.0,81047,1,0 +6714,1100105,41,1,1,0.0,4.0,83293,1,0 +6715,1100105,41,1,1,1.0,6.0,74286,1,0 +6716,1100105,41,1,1,1.0,4.0,99440,1,0 +6717,1100105,41,1,1,1.0,4.0,73804,1,0 +6718,1100105,41,1,1,1.0,6.0,95945,1,0 +6719,1100105,41,1,1,1.0,6.0,88046,1,0 +6720,1100105,41,1,1,0.0,6.0,93836,1,0 +6721,1100105,41,1,1,0.0,6.0,67329,1,0 +6722,1100105,41,1,1,0.0,6.0,70612,1,0 +6723,1100105,41,1,1,0.0,6.0,75982,1,0 +6724,1100105,41,1,1,0.0,4.0,62099,1,0 +6725,1100105,41,1,1,0.0,6.0,75982,1,0 +6726,1100105,41,1,1,1.0,4.0,69182,1,0 +6727,1100105,41,1,1,0.0,6.0,90165,1,0 +6728,1100105,41,1,1,1.0,6.0,97368,1,0 +6729,1100105,41,1,1,0.0,4.0,90205,1,0 +6730,1100105,41,1,1,0.0,6.0,70612,1,0 +6731,1100105,41,1,1,1.0,6.0,96360,1,0 +6732,1100105,41,1,1,0.0,6.0,70612,1,0 +6733,1100105,41,1,1,1.0,6.0,96360,1,0 +6734,1100105,41,1,1,0.0,6.0,90165,1,0 +6735,1100105,41,1,1,0.0,6.0,90165,1,0 +6736,1100105,41,1,1,1.0,6.0,88046,1,0 +6737,1100105,41,1,1,0.0,4.0,52620,1,0 +6738,1100105,41,1,1,1.0,6.0,97368,1,0 +6739,1100105,41,1,1,0.0,4.0,62099,1,0 +6740,1100105,41,1,1,1.0,6.0,96360,1,0 +6741,1100105,41,1,1,0.0,6.0,90165,1,0 +6742,1100105,41,1,1,0.0,4.0,66423,1,0 +6743,1100105,41,1,1,1.0,6.0,88046,1,0 +6744,1100105,41,1,1,0.0,6.0,93836,1,0 +6745,1100105,41,1,1,0.0,4.0,90205,1,0 +6746,1100105,41,1,1,0.0,6.0,79593,1,0 +6747,1100105,41,1,1,1.0,6.0,87010,1,0 +6748,1100105,41,1,1,0.0,6.0,79593,1,0 +6749,1100105,41,1,1,1.0,6.0,88046,1,0 +6750,1100105,41,1,1,0.0,4.0,66423,1,0 +6751,1100105,41,1,1,0.0,6.0,90165,1,0 +6752,1100105,41,1,1,0.0,6.0,93836,1,0 +6753,1100105,41,1,1,0.0,4.0,66423,1,0 +6754,1100105,41,1,1,1.0,6.0,62150,1,0 +6755,1100105,41,1,1,1.0,6.0,96360,1,0 +6756,1100105,41,1,1,1.0,6.0,97368,1,0 +6757,1100105,41,1,1,1.0,4.0,63674,1,0 +6758,1100105,41,1,1,1.0,6.0,62150,1,0 +6759,1100105,41,1,1,1.0,6.0,62150,1,0 +6760,1100105,41,1,1,1.0,6.0,64240,1,0 +6761,1100105,41,1,1,0.0,6.0,82060,1,0 +6762,1100105,41,1,1,1.0,6.0,58368,1,0 +6763,1100105,41,1,1,0.0,6.0,89936,1,0 +6764,1100105,41,1,1,1.0,6.0,84899,1,0 +6765,1100105,41,1,1,0.0,4.0,74947,1,0 +6766,1100105,41,1,1,0.0,6.0,89936,1,0 +6767,1100105,41,1,1,0.0,4.0,76652,1,0 +6768,1100105,41,1,1,0.0,6.0,68532,1,0 +6769,1100105,41,1,1,1.0,6.0,87328,1,0 +6770,1100105,41,1,1,0.0,6.0,89936,1,0 +6771,1100105,41,1,1,0.0,6.0,97644,1,0 +6772,1100105,41,1,1,1.0,6.0,61152,1,0 +6773,1100105,41,1,1,0.0,6.0,97644,1,0 +6774,1100105,41,1,1,0.0,6.0,73804,1,0 +6775,1100105,41,1,1,0.0,4.0,71472,1,0 +6776,1100105,41,1,1,0.0,4.0,76652,1,0 +6777,1100105,41,1,1,1.0,6.0,93177,1,0 +6778,1100105,41,1,1,0.0,6.0,81047,1,0 +6779,1100105,41,1,1,0.0,4.0,81184,1,0 +6780,1100105,41,1,1,0.0,6.0,89619,1,0 +6781,1100105,41,1,1,0.0,4.0,81184,1,0 +6782,1100105,41,1,1,0.0,6.0,55674,1,0 +6783,1100105,41,1,1,0.0,6.0,99756,1,0 +6784,1100105,41,1,1,0.0,6.0,55674,1,0 +6785,1100105,41,1,1,0.0,6.0,99756,1,0 +6786,1100105,41,1,1,0.0,6.0,81047,1,0 +6787,1100105,41,1,1,0.0,6.0,84938,1,0 +6788,1100105,41,1,1,0.0,6.0,81047,1,0 +6789,1100105,41,1,1,0.0,6.0,53863,1,0 +6790,1100105,41,1,1,0.0,6.0,55674,1,0 +6791,1100105,41,1,1,0.0,6.0,81047,1,0 +6792,1100105,41,1,1,0.0,6.0,55674,1,0 +6793,1100105,41,1,1,0.0,6.0,55674,1,0 +6794,1100105,41,1,1,0.0,4.0,77687,1,0 +6795,1100105,41,1,1,1.0,6.0,91178,1,0 +6796,1100105,41,1,1,1.0,4.0,82867,1,0 +6797,1100105,41,1,1,1.0,4.0,98404,1,0 +6798,1100105,41,1,1,1.0,6.0,58368,1,0 +6799,1100105,41,1,1,1.0,6.0,60490,1,0 +6800,1100105,41,1,1,0.0,6.0,56245,1,0 +6801,1100105,41,1,1,0.0,6.0,95511,1,0 +6802,1100105,41,1,1,0.0,6.0,89152,1,0 +6803,1100105,41,1,1,3.0,4.0,69647,1,0 +6804,1100105,41,1,1,1.0,6.0,50939,1,0 +6805,1100105,41,1,1,0.0,4.0,56733,1,0 +6806,1100105,41,1,1,0.0,4.0,72942,1,0 +6807,1100105,41,1,1,1.0,4.0,77687,1,0 +6808,1100105,41,1,1,0.0,6.0,82867,1,0 +6809,1100105,41,1,1,0.0,6.0,72222,1,0 +6810,1100105,41,1,1,1.0,4.0,99626,1,0 +6811,1100105,41,1,1,0.0,4.0,74286,1,0 +6812,1100105,41,1,1,1.0,4.0,89936,1,0 +6813,1100105,41,1,1,0.0,6.0,79593,1,0 +6814,1100105,41,1,1,0.0,6.0,71929,1,0 +6815,1100105,41,1,1,0.0,4.0,91178,1,0 +6816,1100105,41,1,1,0.0,6.0,61552,1,0 +6817,1100105,41,1,1,1.0,6.0,60785,1,0 +6818,1100105,41,1,1,0.0,4.0,75385,1,0 +6819,1100105,41,1,1,1.0,4.0,52717,1,0 +6820,1100105,41,1,1,0.0,6.0,81098,1,0 +6821,1100105,41,1,1,0.0,6.0,99108,1,0 +6822,1100105,41,1,1,0.0,6.0,92189,1,0 +6823,1100105,41,1,1,0.0,4.0,52717,1,0 +6824,1100105,41,1,1,1.0,4.0,64240,1,0 +6825,1100105,41,1,1,1.0,6.0,60785,1,0 +6826,1100105,41,1,1,1.0,6.0,70641,1,0 +6827,1100105,41,1,1,0.0,6.0,61798,1,0 +6828,1100105,41,1,1,1.0,6.0,96332,1,0 +6829,1100105,41,1,1,0.0,4.0,94891,1,0 +6830,1100105,41,1,1,1.0,6.0,79075,1,0 +6831,1100105,41,1,1,0.0,4.0,74286,1,0 +6832,1100105,41,1,1,1.0,4.0,88046,1,0 +6833,1100105,41,1,1,1.0,4.0,92189,1,0 +6834,1100105,41,1,1,1.0,6.0,60816,1,0 +6835,1100105,41,1,1,0.0,6.0,76967,1,0 +6836,1100105,41,1,1,0.0,4.0,73956,1,0 +6837,1100105,41,1,1,0.0,4.0,74286,1,0 +6838,1100105,41,1,1,0.0,4.0,74499,1,0 +6839,1100105,41,1,1,0.0,6.0,69401,1,0 +6840,1100105,41,1,1,1.0,6.0,58368,1,0 +6841,1100105,41,1,1,1.0,6.0,79075,1,0 +6842,1100105,41,1,1,0.0,4.0,75385,1,0 +6843,1100105,41,1,1,0.0,6.0,93235,1,0 +6844,1100105,41,1,1,1.0,4.0,85975,1,0 +6845,1100105,41,1,1,0.0,6.0,54707,1,0 +6846,1100105,41,1,1,0.0,6.0,69401,1,0 +6847,1100105,41,1,1,1.0,6.0,58368,1,0 +6848,1100105,41,1,1,0.0,6.0,53062,1,0 +6849,1100105,41,1,1,1.0,4.0,95102,1,0 +6850,1100105,41,1,1,0.0,4.0,74499,1,0 +6851,1100105,41,1,1,0.0,6.0,55720,1,0 +6852,1100105,41,1,1,0.0,6.0,61798,1,0 +6853,1100105,41,1,1,0.0,6.0,66864,1,0 +6854,1100105,41,1,1,0.0,6.0,53062,1,0 +6855,1100105,41,1,1,1.0,6.0,73808,1,0 +6856,1100105,41,1,1,1.0,6.0,92189,1,0 +6857,1100105,41,1,1,0.0,6.0,63674,1,0 +6858,1100105,41,1,1,0.0,6.0,94891,1,0 +6859,1100105,41,1,1,0.0,6.0,67877,1,0 +6860,1100105,41,1,1,1.0,6.0,71472,1,0 +6861,1100105,41,1,1,1.0,6.0,67329,1,0 +6862,1100105,41,1,1,1.0,6.0,92077,1,0 +6863,1100105,41,1,1,0.0,6.0,63674,1,0 +6864,1100105,41,1,1,0.0,6.0,62150,1,0 +6865,1100105,41,1,1,0.0,4.0,88046,1,0 +6866,1100105,41,1,1,1.0,6.0,61292,1,0 +6867,1100105,41,1,1,1.0,6.0,96332,1,0 +6868,1100105,41,1,1,1.0,6.0,75982,1,0 +6869,1100105,41,1,1,0.0,6.0,72222,1,0 +6870,1100105,41,1,1,1.0,6.0,54604,1,0 +6871,1100105,41,1,1,0.0,6.0,63674,1,0 +6872,1100105,41,1,1,0.0,6.0,80300,1,0 +6873,1100105,41,1,1,0.0,6.0,89152,1,0 +6874,1100105,41,1,1,1.0,4.0,68980,1,0 +6875,1100105,41,1,1,0.0,6.0,65851,1,0 +6876,1100105,41,1,1,0.0,6.0,72942,1,0 +6877,1100105,41,1,1,1.0,4.0,79593,1,0 +6878,1100105,41,1,1,0.0,6.0,67329,1,0 +6879,1100105,41,1,1,1.0,6.0,67329,1,0 +6880,1100105,41,1,1,3.0,4.0,69647,1,0 +6881,1100105,41,1,1,0.0,4.0,95289,1,0 +6882,1100105,41,1,1,1.0,4.0,87795,1,0 +6883,1100105,41,1,1,0.0,6.0,72508,1,0 +6884,1100105,41,1,1,0.0,6.0,83838,1,0 +6885,1100105,41,1,1,0.0,6.0,72222,1,0 +6886,1100105,41,1,1,1.0,4.0,99626,1,0 +6887,1100105,41,1,1,1.0,6.0,60816,1,0 +6888,1100105,41,1,1,0.0,6.0,89152,1,0 +6889,1100105,41,1,1,1.0,4.0,82867,1,0 +6890,1100105,41,1,1,0.0,6.0,72942,1,0 +6891,1100105,41,1,1,0.0,6.0,70878,1,0 +6892,1100105,41,1,1,1.0,6.0,96360,1,0 +6893,1100105,41,1,1,0.0,4.0,95289,1,0 +6894,1100105,41,1,1,1.0,6.0,67329,1,0 +6895,1100105,41,1,1,0.0,4.0,70916,1,0 +6896,1100105,41,1,1,0.0,4.0,75385,1,0 +6897,1100105,41,1,1,0.0,4.0,98270,1,0 +6898,1100105,41,1,1,1.0,6.0,69903,1,0 +6899,1100105,41,1,1,0.0,6.0,82867,1,0 +6900,1100105,41,1,1,0.0,6.0,76967,1,0 +6901,1100105,41,1,1,1.0,6.0,53863,1,0 +6902,1100105,41,1,1,1.0,4.0,64240,1,0 +6903,1100105,41,1,1,0.0,6.0,63260,1,0 +6904,1100105,41,1,1,1.0,4.0,99626,1,0 +6905,1100105,41,1,1,0.0,6.0,89152,1,0 +6906,1100105,41,1,1,0.0,6.0,52801,1,0 +6907,1100105,41,1,1,0.0,4.0,91178,1,0 +6908,1100105,41,1,1,1.0,6.0,54899,1,0 +6909,1100105,41,1,1,1.0,6.0,96360,1,0 +6910,1100105,41,1,1,1.0,6.0,62150,1,0 +6911,1100105,41,1,1,0.0,6.0,62150,1,0 +6912,1100105,41,1,1,1.0,6.0,67329,1,0 +6913,1100105,41,1,1,0.0,4.0,66293,1,0 +6914,1100105,41,1,1,0.0,6.0,52717,1,0 +6915,1100105,41,1,1,0.0,6.0,65580,1,0 +6916,1100105,41,1,1,1.0,6.0,67329,1,0 +6917,1100105,41,1,1,1.0,6.0,92189,1,0 +6918,1100105,41,1,1,1.0,4.0,68980,1,0 +6919,1100105,41,1,1,1.0,6.0,54604,1,0 +6920,1100105,41,1,1,0.0,4.0,73956,1,0 +6921,1100105,41,1,1,0.0,4.0,66293,1,0 +6922,1100105,41,1,1,0.0,6.0,96360,1,0 +6923,1100105,41,1,1,0.0,6.0,76967,1,0 +6924,1100105,41,1,1,0.0,6.0,76967,1,0 +6925,1100105,41,1,1,0.0,6.0,82867,1,0 +6926,1100105,41,1,1,0.0,4.0,69593,1,0 +6927,1100105,41,1,1,0.0,6.0,92189,1,0 +6928,1100105,41,1,1,1.0,6.0,62150,1,0 +6929,1100105,41,1,1,1.0,6.0,67329,1,0 +6930,1100105,41,1,1,0.0,4.0,74286,1,0 +6931,1100105,41,1,1,1.0,6.0,54899,1,0 +6932,1100105,41,1,1,1.0,4.0,88046,1,0 +6933,1100105,41,1,1,0.0,4.0,96244,1,0 +6934,1100105,41,1,1,0.0,6.0,79593,1,0 +6935,1100105,41,1,1,0.0,6.0,66864,1,0 +6936,1100105,41,1,1,0.0,6.0,72508,1,0 +6937,1100105,41,1,1,0.0,4.0,66858,1,0 +6938,1100105,41,1,1,0.0,6.0,72508,1,0 +6939,1100105,41,1,1,0.0,6.0,61798,1,0 +6940,1100105,41,1,1,0.0,6.0,83838,1,0 +6941,1100105,41,1,1,0.0,6.0,55720,1,0 +6942,1100105,41,1,1,0.0,6.0,63674,1,0 +6943,1100105,41,1,1,0.0,4.0,89619,1,0 +6944,1100105,41,1,1,1.0,6.0,54653,1,0 +6945,1100105,41,1,1,0.0,6.0,55720,1,0 +6946,1100105,41,1,1,1.0,4.0,79759,1,0 +6947,1100105,41,1,1,0.0,6.0,52801,1,0 +6948,1100105,41,1,1,0.0,4.0,69593,1,0 +6949,1100105,41,1,1,0.0,6.0,63674,1,0 +6950,1100105,41,1,1,0.0,4.0,89619,1,0 +6951,1100105,41,1,1,0.0,6.0,54615,1,0 +6952,1100105,41,1,1,0.0,4.0,74286,1,0 +6953,1100105,41,1,1,0.0,4.0,66858,1,0 +6954,1100105,41,1,1,0.0,6.0,54615,1,0 +6955,1100105,41,1,1,1.0,6.0,92189,1,0 +6956,1100105,41,1,1,0.0,4.0,63674,1,0 +6957,1100105,41,1,1,1.0,4.0,92951,1,0 +6958,1100105,41,1,1,1.0,6.0,61010,1,0 +6959,1100105,41,1,1,0.0,4.0,52717,1,0 +6960,1100105,41,1,1,1.0,4.0,98404,1,0 +6961,1100105,41,1,1,0.0,6.0,83512,1,0 +6962,1100105,41,1,1,0.0,6.0,76652,1,0 +6963,1100105,41,1,1,0.0,4.0,74286,1,0 +6964,1100105,41,1,1,0.0,6.0,72508,1,0 +6965,1100105,41,1,1,0.0,4.0,52717,1,0 +6966,1100105,41,1,1,0.0,4.0,91178,1,0 +6967,1100105,41,1,1,0.0,4.0,64315,1,0 +6968,1100105,41,1,1,1.0,6.0,62978,1,0 +6969,1100105,41,1,1,0.0,6.0,79283,1,0 +6970,1100105,41,1,1,0.0,4.0,63674,1,0 +6971,1100105,41,1,1,0.0,6.0,67329,1,0 +6972,1100105,41,1,1,1.0,6.0,50939,1,0 +6973,1100105,41,1,1,0.0,6.0,72222,1,0 +6974,1100105,41,1,1,1.0,6.0,84347,1,0 +6975,1100105,41,1,1,0.0,6.0,76652,1,0 +6976,1100105,41,1,1,0.0,6.0,72508,1,0 +6977,1100105,41,1,1,0.0,4.0,96360,1,0 +6978,1100105,41,1,1,0.0,4.0,64315,1,0 +6979,1100105,41,1,1,0.0,6.0,67329,1,0 +6980,1100105,41,1,1,0.0,6.0,62150,1,0 +6981,1100105,41,1,1,1.0,6.0,96360,1,0 +6982,1100105,41,1,1,0.0,4.0,99636,1,0 +6983,1100105,41,1,1,3.0,4.0,69647,1,0 +6984,1100105,41,1,1,1.0,6.0,54604,1,0 +6985,1100105,41,1,1,1.0,6.0,85960,1,0 +6986,1100105,41,1,1,0.0,6.0,81205,1,0 +6987,1100105,41,1,1,1.0,6.0,60816,1,0 +6988,1100105,41,1,1,0.0,6.0,53062,1,0 +6989,1100105,41,1,1,1.0,6.0,67329,1,0 +6990,1100105,41,1,1,0.0,6.0,67877,1,0 +6991,1100105,41,1,1,1.0,6.0,53863,1,0 +6992,1100105,41,1,1,1.0,6.0,62978,1,0 +6993,1100105,41,1,1,0.0,6.0,72222,1,0 +6994,1100105,41,1,1,0.0,6.0,72508,1,0 +6995,1100105,41,1,1,1.0,4.0,68980,1,0 +6996,1100105,41,1,1,0.0,4.0,74286,1,0 +6997,1100105,41,1,1,1.0,6.0,66423,1,0 +6998,1100105,41,1,1,0.0,6.0,72508,1,0 +6999,1100105,41,1,1,1.0,6.0,92191,1,0 +7000,1100105,41,1,1,1.0,6.0,62150,1,0 +7001,1100105,41,1,1,0.0,6.0,56245,1,0 +7002,1100105,41,1,1,0.0,6.0,56245,1,0 +7003,1100105,41,1,1,0.0,6.0,66858,1,0 +7004,1100105,41,1,1,0.0,4.0,72164,1,0 +7005,1100105,41,1,1,0.0,6.0,72508,1,0 +7006,1100105,41,1,1,0.0,4.0,84899,1,0 +7007,1100105,41,1,1,0.0,6.0,66858,1,0 +7008,1100105,41,1,1,0.0,6.0,72508,1,0 +7009,1100105,41,1,1,0.0,6.0,72508,1,0 +7010,1100105,41,1,1,0.0,4.0,87795,1,0 +7011,1100105,41,1,1,0.0,4.0,62812,1,0 +7012,1100105,41,1,1,0.0,4.0,58887,1,0 +7013,1100105,41,1,1,0.0,4.0,58887,1,0 +7014,1100105,41,1,1,0.0,4.0,72164,1,0 +7015,1100105,41,1,1,1.0,6.0,66423,1,0 +7016,1100105,41,1,1,0.0,4.0,50654,1,0 +7017,1100105,41,1,1,0.0,6.0,50397,1,0 +7018,1100105,41,1,1,0.0,6.0,72508,1,0 +7019,1100105,41,1,1,0.0,6.0,81047,1,0 +7020,1100105,41,1,1,0.0,4.0,84899,1,0 +7021,1100105,41,1,1,0.0,4.0,62812,1,0 +7022,1100105,41,1,1,1.0,4.0,65598,1,0 +7023,1100105,41,1,1,0.0,6.0,56245,1,0 +7024,1100105,41,1,1,0.0,4.0,58887,1,0 +7025,1100105,41,1,1,0.0,6.0,66858,1,0 +7026,1100105,41,1,1,1.0,6.0,62150,1,0 +7027,1100105,41,1,1,1.0,4.0,65598,1,0 +7028,1100105,41,1,1,0.0,4.0,80816,1,0 +7029,1100105,41,1,1,0.0,4.0,58887,1,0 +7030,1100105,41,1,1,0.0,4.0,62812,1,0 +7031,1100105,41,1,1,1.0,6.0,83512,1,0 +7032,1100105,41,1,1,0.0,6.0,50397,1,0 +7033,1100105,41,1,1,1.0,6.0,66423,1,0 +7034,1100105,41,1,1,0.0,6.0,50397,1,0 +7035,1100105,41,1,1,0.0,4.0,80816,1,0 +7036,1100105,41,1,1,0.0,4.0,50654,1,0 +7037,1100105,41,1,1,1.0,4.0,65851,1,0 +7038,1100105,41,1,1,0.0,4.0,62812,1,0 +7039,1100105,41,1,1,0.0,6.0,56245,1,0 +7040,1100105,41,1,1,0.0,6.0,66858,1,0 +7041,1100105,41,1,1,1.0,6.0,91007,1,0 +7042,1100105,41,1,1,0.0,4.0,50654,1,0 +7043,1100105,41,1,1,0.0,6.0,81047,1,0 +7044,1100105,41,1,1,0.0,6.0,81047,1,0 +7045,1100105,41,1,1,0.0,6.0,72508,1,0 +7046,1100105,41,1,1,0.0,4.0,84899,1,0 +7047,1100105,41,1,1,0.0,6.0,50397,1,0 +7048,1100105,41,1,1,0.0,6.0,72508,1,0 +7049,1100105,41,1,1,1.0,6.0,70916,1,0 +7050,1100105,41,1,1,0.0,4.0,58887,1,0 +7051,1100105,41,1,1,0.0,6.0,81047,1,0 +7052,1100105,41,1,1,0.0,6.0,56245,1,0 +7053,1100105,41,1,1,0.0,6.0,56245,1,0 +7054,1100105,41,1,1,0.0,4.0,80816,1,0 +7055,1100105,41,1,1,1.0,6.0,61010,0,0 +7056,1100105,41,1,1,1.0,6.0,61010,0,0 +7057,1100105,41,1,1,1.0,6.0,61010,0,0 +7058,1100105,41,1,1,1.0,4.0,89861,0,0 +7059,1100105,41,1,1,0.0,4.0,56745,0,0 +7060,1100105,41,1,1,1.0,6.0,92597,0,0 +7061,1100105,41,1,1,1.0,6.0,59429,0,0 +7062,1100105,41,1,1,0.0,4.0,99283,0,0 +7063,1100105,41,1,1,1.0,6.0,59429,0,0 +7064,1100105,41,1,1,0.0,6.0,57989,0,0 +7065,1100105,41,1,1,0.0,4.0,61798,0,0 +7066,1100105,41,1,1,1.0,6.0,83715,0,0 +7067,1100105,41,1,1,1.0,4.0,65797,0,0 +7068,1100105,41,1,1,1.0,6.0,87870,0,0 +7069,1100105,41,1,1,1.0,4.0,88083,0,0 +7070,1100105,41,1,1,0.0,4.0,83074,0,0 +7071,1100105,41,1,1,0.0,4.0,59975,0,0 +7072,1100105,41,1,1,1.0,6.0,59886,0,0 +7073,1100105,41,1,1,0.0,6.0,56564,0,0 +7074,1100105,41,1,1,0.0,6.0,88865,0,0 +7075,1100105,41,1,1,1.0,6.0,63260,0,0 +7076,1100105,41,1,1,1.0,4.0,72695,0,0 +7077,1100105,41,1,1,0.0,4.0,94219,0,0 +7078,1100105,41,1,1,0.0,6.0,67583,0,0 +7079,1100105,41,1,1,0.0,6.0,77895,0,0 +7080,1100105,41,1,1,1.0,4.0,69165,0,0 +7081,1100105,41,1,1,0.0,6.0,63260,0,0 +7082,1100105,41,1,1,0.0,6.0,88865,0,0 +7083,1100105,41,1,1,0.0,4.0,59975,0,0 +7084,1100105,41,1,1,1.0,4.0,88083,0,0 +7085,1100105,41,1,1,0.0,6.0,64417,0,0 +7086,1100105,41,1,1,0.0,6.0,67583,0,0 +7087,1100105,41,1,1,1.0,6.0,51364,0,0 +7088,1100105,41,1,1,1.0,6.0,87870,0,0 +7089,1100105,41,1,1,0.0,6.0,56564,0,0 +7090,1100105,41,1,1,1.0,4.0,72695,0,0 +7091,1100105,41,1,1,0.0,6.0,56564,0,0 +7092,1100105,41,1,1,0.0,6.0,56745,0,0 +7093,1100105,41,1,1,1.0,4.0,55821,0,0 +7094,1100105,41,1,1,1.0,4.0,55821,0,0 +7095,1100105,41,1,1,1.0,6.0,93812,0,0 +7096,1100105,41,1,1,1.0,6.0,64240,0,0 +7097,1100105,41,1,1,0.0,6.0,62222,0,0 +7098,1100105,41,1,1,0.0,4.0,79593,0,0 +7099,1100105,41,1,1,0.0,6.0,63705,0,0 +7100,1100105,41,1,1,0.0,4.0,58214,0,0 +7101,1100105,41,1,1,1.0,6.0,83944,0,0 +7102,1100105,41,1,1,0.0,4.0,58214,0,0 +7103,1100105,41,1,1,1.0,6.0,83944,0,0 +7104,1100105,41,1,1,1.0,6.0,79593,0,0 +7105,1100105,41,1,1,1.0,6.0,79593,0,0 +7106,1100105,41,1,1,1.0,6.0,79593,0,0 +7107,1100105,41,1,1,1.0,6.0,79593,0,0 +7108,1100105,41,1,1,1.0,6.0,79593,0,0 +7109,1100105,41,1,1,1.0,6.0,79593,0,0 +7110,1100105,41,1,1,2.0,6.0,70916,0,0 +7111,1100105,41,1,1,2.0,6.0,70916,0,0 +7112,1100105,41,1,1,2.0,6.0,70916,0,0 +7113,1100105,41,1,1,2.0,6.0,70916,0,0 +7114,1100105,41,1,1,0.0,6.0,86724,0,0 +7115,1100105,41,1,1,1.0,4.0,76660,0,0 +7116,1100105,41,1,1,0.0,6.0,26847,1,0 +7117,1100105,41,1,1,1.0,4.0,26358,1,0 +7118,1100105,41,1,1,0.0,4.0,42184,1,0 +7119,1100105,41,1,1,0.0,6.0,48477,1,0 +7120,1100105,41,1,1,0.0,4.0,42184,1,0 +7121,1100105,41,1,1,0.0,6.0,31837,1,0 +7122,1100105,41,1,1,0.0,6.0,31837,1,0 +7123,1100105,41,1,1,1.0,4.0,40397,1,0 +7124,1100105,41,1,1,0.0,4.0,25895,1,0 +7125,1100105,41,1,1,1.0,4.0,30392,1,0 +7126,1100105,41,1,1,1.0,6.0,46612,1,0 +7127,1100105,41,1,1,1.0,4.0,40397,1,0 +7128,1100105,41,1,1,1.0,6.0,47755,1,0 +7129,1100105,41,1,1,0.0,4.0,40523,1,0 +7130,1100105,41,1,1,1.0,4.0,49029,1,0 +7131,1100105,41,1,1,2.0,4.0,30595,1,0 +7132,1100105,41,1,1,1.0,4.0,31837,1,0 +7133,1100105,41,1,1,1.0,4.0,27353,1,0 +7134,1100105,41,1,1,0.0,6.0,31075,1,0 +7135,1100105,41,1,1,0.0,4.0,42449,1,0 +7136,1100105,41,1,1,1.0,6.0,33146,1,0 +7137,1100105,41,1,1,1.0,6.0,42449,1,0 +7138,1100105,41,1,1,0.0,4.0,42701,1,0 +7139,1100105,41,1,1,1.0,6.0,33146,1,0 +7140,1100105,41,1,1,0.0,4.0,26358,1,0 +7141,1100105,41,1,1,1.0,4.0,35332,1,0 +7142,1100105,41,1,1,1.0,4.0,40523,1,0 +7143,1100105,41,1,1,1.0,4.0,32214,1,0 +7144,1100105,41,1,1,1.0,4.0,47755,1,0 +7145,1100105,41,1,1,1.0,4.0,35332,1,0 +7146,1100105,41,1,1,0.0,6.0,42131,1,0 +7147,1100105,41,1,1,0.0,4.0,39159,1,0 +7148,1100105,41,1,1,0.0,4.0,48180,1,0 +7149,1100105,41,1,1,0.0,6.0,27837,1,0 +7150,1100105,41,1,1,0.0,6.0,27837,1,0 +7151,1100105,41,1,1,0.0,6.0,27837,1,0 +7152,1100105,41,1,1,0.0,4.0,29003,1,0 +7153,1100105,41,1,1,0.0,6.0,43897,1,0 +7154,1100105,41,1,1,0.0,6.0,38544,1,0 +7155,1100105,41,1,1,0.0,4.0,29003,1,0 +7156,1100105,41,1,1,0.0,6.0,38544,1,0 +7157,1100105,41,1,1,0.0,6.0,32120,1,0 +7158,1100105,41,1,1,0.0,6.0,42173,1,0 +7159,1100105,41,1,1,1.0,6.0,42826,1,0 +7160,1100105,41,1,1,0.0,6.0,45589,1,0 +7161,1100105,41,1,1,1.0,6.0,47109,1,0 +7162,1100105,41,1,1,1.0,4.0,43829,1,0 +7163,1100105,41,1,1,1.0,4.0,42173,1,0 +7164,1100105,41,1,1,0.0,4.0,44968,1,0 +7165,1100105,41,1,1,2.0,4.0,42449,1,0 +7166,1100105,41,1,1,0.0,4.0,37484,1,0 +7167,1100105,41,1,1,0.0,4.0,37484,1,0 +7168,1100105,41,1,1,1.0,4.0,42780,1,0 +7169,1100105,41,1,1,1.0,6.0,48817,1,0 +7170,1100105,41,1,1,0.0,4.0,26931,1,0 +7171,1100105,41,1,1,0.0,6.0,36082,1,0 +7172,1100105,41,1,1,1.0,4.0,25696,1,0 +7173,1100105,41,1,1,0.0,6.0,32120,1,0 +7174,1100105,41,1,1,1.0,4.0,49554,1,0 +7175,1100105,41,1,1,0.0,4.0,47755,1,0 +7176,1100105,41,1,1,0.0,6.0,42173,1,0 +7177,1100105,41,1,1,0.0,6.0,27910,1,0 +7178,1100105,41,1,1,0.0,6.0,36902,1,0 +7179,1100105,41,1,1,1.0,4.0,43490,1,0 +7180,1100105,41,1,1,0.0,4.0,36254,1,0 +7181,1100105,41,1,1,0.0,4.0,36254,1,0 +7182,1100105,41,1,1,0.0,6.0,47755,1,0 +7183,1100105,41,1,1,0.0,4.0,28174,1,0 +7184,1100105,41,1,1,0.0,6.0,32120,1,0 +7185,1100105,41,1,1,0.0,6.0,31630,1,0 +7186,1100105,41,1,1,0.0,4.0,42826,1,0 +7187,1100105,41,1,1,0.0,4.0,41433,1,0 +7188,1100105,41,1,1,1.0,6.0,31630,1,0 +7189,1100105,41,1,1,0.0,4.0,38204,1,0 +7190,1100105,41,1,1,1.0,4.0,41537,1,0 +7191,1100105,41,1,1,0.0,4.0,47755,1,0 +7192,1100105,41,1,1,0.0,6.0,42550,1,0 +7193,1100105,41,1,1,1.0,6.0,48180,1,0 +7194,1100105,41,1,1,1.0,6.0,31630,1,0 +7195,1100105,41,1,1,0.0,6.0,47755,1,0 +7196,1100105,41,1,1,0.0,4.0,44282,1,0 +7197,1100105,41,1,1,0.0,4.0,36254,1,0 +7198,1100105,41,1,1,0.0,4.0,41433,1,0 +7199,1100105,41,1,1,0.0,6.0,39510,1,0 +7200,1100105,41,1,1,0.0,4.0,36254,1,0 +7201,1100105,41,1,1,0.0,6.0,42550,1,0 +7202,1100105,41,1,1,0.0,4.0,40397,1,0 +7203,1100105,41,1,1,0.0,6.0,47755,1,0 +7204,1100105,41,1,1,0.0,6.0,36979,1,0 +7205,1100105,41,1,1,0.0,4.0,40397,1,0 +7206,1100105,41,1,1,0.0,4.0,42826,1,0 +7207,1100105,41,1,1,0.0,4.0,42826,1,0 +7208,1100105,41,1,1,0.0,6.0,42550,1,0 +7209,1100105,41,1,1,0.0,6.0,47755,1,0 +7210,1100105,41,1,1,0.0,6.0,46745,1,0 +7211,1100105,41,1,1,0.0,6.0,47755,1,0 +7212,1100105,41,1,1,0.0,6.0,49720,1,0 +7213,1100105,41,1,1,0.0,6.0,49720,1,0 +7214,1100105,41,1,1,0.0,6.0,46745,1,0 +7215,1100105,41,1,1,0.0,6.0,47755,1,0 +7216,1100105,41,1,1,0.0,6.0,37143,1,0 +7217,1100105,41,1,1,0.0,6.0,49720,1,0 +7218,1100105,41,1,1,0.0,4.0,33871,1,0 +7219,1100105,41,1,1,1.0,6.0,29521,0,0 +7220,1100105,41,1,1,1.0,6.0,29521,0,0 +7221,1100105,41,1,1,1.0,6.0,29521,0,0 +7222,1100105,41,1,1,1.0,6.0,29521,0,0 +7223,1100105,41,1,1,1.0,6.0,29521,0,0 +7224,1100105,41,1,1,1.0,6.0,29521,0,0 +7225,1100105,41,1,1,1.0,6.0,29521,0,0 +7226,1100105,41,1,1,0.0,6.0,35332,0,0 +7227,1100105,41,1,1,0.0,6.0,28653,0,0 +7228,1100105,41,1,1,0.0,6.0,27346,0,0 +7229,1100105,41,1,1,0.0,6.0,31709,0,0 +7230,1100105,41,1,1,1.0,4.0,47755,0,0 +7231,1100105,41,1,1,1.0,6.0,37143,0,0 +7232,1100105,41,1,1,1.0,4.0,47755,0,0 +7233,1100105,41,1,1,1.0,4.0,41536,0,0 +7234,1100105,41,1,1,0.0,4.0,50000,0,0 +7235,1100105,41,1,1,0.0,6.0,40578,0,0 +7236,1100105,41,1,1,0.0,4.0,29210,0,0 +7237,1100105,41,1,1,1.0,6.0,33528,0,0 +7238,1100105,41,1,1,0.0,6.0,30453,0,0 +7239,1100105,41,1,1,2.0,6.0,48628,0,0 +7240,1100105,41,1,1,0.0,6.0,43157,0,0 +7241,1100105,41,1,1,0.0,6.0,28386,0,0 +7242,1100105,41,1,1,0.0,4.0,36506,0,0 +7243,1100105,41,1,1,1.0,4.0,37045,0,0 +7244,1100105,41,1,1,1.0,4.0,47644,0,0 +7245,1100105,41,1,1,0.0,6.0,28151,0,0 +7246,1100105,41,1,1,0.0,4.0,29210,0,0 +7247,1100105,41,1,1,1.0,4.0,37045,0,0 +7248,1100105,41,1,1,1.0,6.0,37788,0,0 +7249,1100105,41,1,1,1.0,6.0,32580,0,0 +7250,1100105,41,1,1,0.0,4.0,37383,0,0 +7251,1100105,41,1,1,0.0,4.0,37383,0,0 +7252,1100105,41,1,1,0.0,4.0,25327,0,0 +7253,1100105,41,1,1,0.0,6.0,30576,0,0 +7254,1100105,41,1,1,0.0,6.0,30576,0,0 +7255,1100105,41,1,1,0.0,6.0,30576,0,0 +7256,1100105,41,1,1,1.0,6.0,31094,0,0 +7257,1100105,41,1,1,0.0,4.0,39672,0,0 +7258,1100105,41,1,1,0.0,4.0,29582,0,0 +7259,1100105,41,1,1,0.0,6.0,44572,0,0 +7260,1100105,41,1,1,0.0,4.0,34850,0,0 +7261,1100105,41,1,1,0.0,4.0,27412,0,0 +7262,1100105,41,1,1,1.0,6.0,44541,0,0 +7263,1100105,41,1,1,0.0,6.0,27592,0,0 +7264,1100105,41,1,1,1.0,6.0,44541,0,0 +7265,1100105,41,1,1,0.0,6.0,27592,0,0 +7266,1100105,41,1,1,0.0,4.0,27412,0,0 +7267,1100105,41,1,1,0.0,6.0,36357,0,0 +7268,1100105,41,1,1,0.0,6.0,36357,0,0 +7269,1100105,41,1,1,1.0,6.0,42826,0,0 +7270,1100105,41,1,1,1.0,6.0,49720,0,0 +7271,1100105,41,1,1,0.0,4.0,41739,0,0 +7272,1100105,41,1,1,0.0,4.0,41739,0,0 +7273,1100105,41,1,1,0.0,4.0,41739,0,0 +7274,1100105,41,1,1,0.0,4.0,41739,0,0 +7275,1100105,41,1,1,0.0,4.0,41739,0,0 +7276,1100105,41,1,1,1.0,6.0,22816,1,0 +7277,1100105,41,1,1,1.0,6.0,13062,1,0 +7278,1100105,41,1,1,1.0,4.0,20906,1,0 +7279,1100105,41,1,1,1.0,6.0,13062,1,0 +7280,1100105,41,1,1,0.0,6.0,19700,1,0 +7281,1100105,41,1,1,1.0,4.0,9197,1,0 +7282,1100105,41,1,1,1.0,4.0,9197,1,0 +7283,1100105,41,1,1,0.0,4.0,5851,1,0 +7284,1100105,41,1,1,0.0,4.0,13880,1,0 +7285,1100105,41,1,1,1.0,4.0,9197,1,0 +7286,1100105,41,1,1,0.0,6.0,12652,1,0 +7287,1100105,41,1,1,1.0,4.0,11914,1,0 +7288,1100105,41,1,1,1.0,4.0,18645,1,0 +7289,1100105,41,1,1,1.0,4.0,18645,1,0 +7290,1100105,41,1,1,1.0,4.0,18645,1,0 +7291,1100105,41,1,1,1.0,4.0,11914,1,0 +7292,1100105,41,1,1,0.0,4.0,16060,1,0 +7293,1100105,41,1,1,0.0,4.0,955,1,0 +7294,1100105,41,1,1,0.0,6.0,9563,1,0 +7295,1100105,41,1,1,0.0,4.0,15815,1,0 +7296,1100105,41,1,1,1.0,6.0,5065,1,0 +7297,1100105,41,1,1,0.0,4.0,955,1,0 +7298,1100105,41,1,1,0.0,6.0,14347,1,0 +7299,1100105,41,1,1,1.0,4.0,6367,1,0 +7300,1100105,41,1,1,0.0,6.0,103,1,0 +7301,1100105,41,1,1,1.0,6.0,5065,1,0 +7302,1100105,41,1,1,1.0,6.0,5065,1,0 +7303,1100105,41,1,1,0.0,6.0,103,1,0 +7304,1100105,41,1,1,0.0,6.0,5271,1,0 +7305,1100105,41,1,1,0.0,4.0,12238,1,0 +7306,1100105,41,1,1,2.0,4.0,21413,1,0 +7307,1100105,41,1,1,2.0,4.0,21413,1,0 +7308,1100105,41,1,1,2.0,4.0,21413,1,0 +7309,1100105,41,1,1,0.0,4.0,7747,1,0 +7310,1100105,41,1,1,0.0,4.0,7747,1,0 +7311,1100105,41,1,1,0.0,4.0,11394,1,0 +7312,1100105,41,1,1,0.0,6.0,10706,1,0 +7313,1100105,41,1,1,0.0,4.0,11394,1,0 +7314,1100105,41,1,1,0.0,4.0,11394,1,0 +7315,1100105,41,1,1,0.0,6.0,10706,1,0 +7316,1100105,41,1,1,0.0,6.0,10706,1,0 +7317,1100105,41,1,1,2.0,4.0,4558,1,0 +7318,1100105,41,1,1,0.0,6.0,10358,1,0 +7319,1100105,41,1,1,0.0,6.0,10358,1,0 +7320,1100105,41,1,1,0.0,4.0,2122,1,0 +7321,1100105,41,1,1,0.0,4.0,19189,1,0 +7322,1100105,41,1,1,0.0,6.0,3183,1,0 +7323,1100105,41,1,1,0.0,6.0,24882,1,0 +7324,1100105,41,1,1,0.0,6.0,24882,1,0 +7325,1100105,41,1,1,0.0,4.0,21224,1,0 +7326,1100105,41,1,1,0.0,4.0,11703,1,0 +7327,1100105,41,1,1,0.0,4.0,4217,1,0 +7328,1100105,41,1,1,0.0,6.0,10543,1,0 +7329,1100105,41,1,1,1.0,6.0,1581,1,0 +7330,1100105,41,1,1,0.0,6.0,20565,1,0 +7331,1100105,41,1,1,1.0,6.0,6326,1,0 +7332,1100105,41,1,1,0.0,6.0,20565,1,0 +7333,1100105,41,1,1,1.0,6.0,21352,1,0 +7334,1100105,41,1,1,0.0,4.0,18451,1,0 +7335,1100105,41,1,1,1.0,4.0,17344,1,0 +7336,1100105,41,1,1,0.0,6.0,11144,1,0 +7337,1100105,41,1,1,0.0,6.0,20716,1,0 +7338,1100105,41,1,1,0.0,6.0,1697,1,0 +7339,1100105,41,1,1,1.0,4.0,3183,1,0 +7340,1100105,41,1,1,1.0,4.0,5271,1,0 +7341,1100105,41,1,1,0.0,4.0,14082,1,0 +7342,1100105,41,1,1,0.0,4.0,14082,1,0 +7343,1100105,41,1,1,1.0,4.0,5271,1,0 +7344,1100105,41,1,1,0.0,4.0,5306,1,0 +7345,1100105,41,1,1,0.0,4.0,5306,1,0 +7346,1100105,41,1,1,0.0,4.0,8914,0,0 +7347,1100105,41,1,1,0.0,6.0,19314,0,0 +7348,1100105,41,1,1,0.0,6.0,19314,0,0 +7349,1100105,41,1,1,0.0,6.0,11497,0,0 +7350,1100105,41,1,1,0.0,6.0,11497,0,0 +7351,1100105,41,1,1,0.0,6.0,11497,0,0 +7352,1100105,41,1,1,0.0,6.0,18852,0,0 +7353,1100105,41,1,1,0.0,6.0,12157,0,0 +7354,1100105,41,1,1,0.0,6.0,21023,0,0 +7355,1100105,41,1,1,0.0,6.0,9314,0,0 +7356,1100105,41,1,1,0.0,4.0,8489,0,0 +7357,1100105,41,1,1,1.0,6.0,11386,0,0 +7358,1100105,41,1,1,0.0,6.0,8104,0,0 +7359,1100105,41,1,1,0.0,6.0,21413,0,0 +7360,1100105,41,1,1,0.0,6.0,12734,0,0 +7361,1100105,41,1,1,0.0,6.0,0,0,0 +7362,1100105,41,1,1,0.0,6.0,18094,0,0 +7363,1100105,41,1,1,0.0,6.0,17934,0,0 +7364,1100105,41,1,1,0.0,6.0,9067,0,0 +7365,1100105,41,1,1,0.0,6.0,11349,0,0 +7366,1100105,41,1,1,0.0,6.0,11349,0,0 +7367,1100105,41,1,1,0.0,6.0,15815,0,0 +7368,1100105,41,1,1,0.0,4.0,0,0,0 +7369,1100105,41,1,1,1.0,4.0,18023,0,0 +7370,1100105,41,1,1,0.0,6.0,4670,0,0 +7371,1100105,41,1,1,0.0,6.0,21752,0,0 +7372,1100105,41,1,1,0.0,6.0,9314,0,0 +7373,1100105,41,1,1,0.0,6.0,15815,0,0 +7374,1100105,41,1,1,0.0,6.0,21752,0,0 +7375,1100105,41,1,1,1.0,6.0,7387,0,0 +7376,1100105,41,1,1,0.0,6.0,12866,0,0 +7377,1100105,41,1,1,0.0,4.0,14760,0,0 +7378,1100105,41,1,1,1.0,6.0,7387,0,0 +7379,1100105,41,1,1,0.0,4.0,8489,0,0 +7380,1100105,41,1,1,0.0,4.0,21086,0,0 +7381,1100105,41,1,1,0.0,6.0,22035,0,0 +7382,1100105,41,1,1,0.0,6.0,11144,0,0 +7383,1100105,41,1,1,1.0,4.0,15281,0,0 +7384,1100105,41,1,1,0.0,6.0,10029,0,0 +7385,1100105,41,1,1,0.0,6.0,1968,0,0 +7386,1100105,41,1,1,0.0,6.0,0,0,0 +7387,1100105,41,1,1,0.0,6.0,1968,0,0 +7388,1100105,41,1,1,0.0,6.0,12734,0,0 +7389,1100105,41,1,1,1.0,4.0,10920,0,0 +7390,1100105,41,1,1,0.0,4.0,7380,0,0 +7391,1100105,41,1,1,0.0,6.0,12734,0,0 +7392,1100105,41,1,1,1.0,6.0,11492,0,0 +7393,1100105,41,1,1,0.0,6.0,5673,0,0 +7394,1100105,41,1,1,1.0,6.0,10016,0,0 +7395,1100105,41,1,1,0.0,6.0,9636,0,0 +7396,1100105,41,1,1,0.0,4.0,21275,0,0 +7397,1100105,41,1,1,0.0,4.0,23876,0,0 +7398,1100105,41,1,1,0.0,6.0,19505,0,0 +7399,1100105,41,1,1,1.0,4.0,9278,0,0 +7400,1100105,41,1,1,0.0,4.0,18843,0,0 +7401,1100105,41,1,1,0.0,4.0,21275,0,0 +7402,1100105,41,1,1,0.0,6.0,15804,0,0 +7403,1100105,41,1,1,1.0,6.0,21224,0,0 +7404,1100105,41,1,1,0.0,6.0,1391,0,0 +7405,1100105,41,1,1,0.0,4.0,0,0,0 +7406,1100105,41,1,1,1.0,6.0,12989,0,0 +7407,1100105,41,1,1,0.0,6.0,24249,0,0 +7408,1100105,41,1,1,0.0,4.0,23876,0,0 +7409,1100105,41,1,1,0.0,4.0,0,0,0 +7410,1100105,41,1,1,0.0,6.0,9126,0,0 +7411,1100105,41,1,1,0.0,4.0,10536,0,0 +7412,1100105,41,1,1,0.0,6.0,7250,0,0 +7413,1100105,41,1,1,0.0,6.0,9126,0,0 +7414,1100105,41,1,1,0.0,4.0,10536,0,0 +7415,1100105,41,1,1,0.0,6.0,9126,0,0 +7416,1100105,41,1,1,0.0,6.0,13068,0,0 +7417,1100105,41,1,1,0.0,4.0,10536,0,0 +7418,1100105,41,1,1,1.0,6.0,11991,0,0 +7419,1100105,41,1,1,1.0,6.0,10648,0,0 +7420,1100105,41,1,1,0.0,6.0,9126,0,0 +7421,1100105,41,1,1,2.0,4.0,20261,0,0 +7422,1100105,41,1,1,2.0,4.0,20261,0,0 +7423,1100105,41,1,1,0.0,4.0,4650,0,0 +7424,1100105,41,1,1,0.0,4.0,4650,0,0 +7425,1100105,41,1,1,1.0,6.0,0,0,0 +7426,1100105,41,1,1,0.0,6.0,0,0,0 +7427,1100105,41,1,1,0.0,6.0,15196,0,0 +7428,1100105,41,1,1,1.0,4.0,1159,0,0 +7429,1100105,41,1,1,0.0,4.0,13465,0,0 +7430,1100105,41,1,1,0.0,4.0,0,0,0 +7431,1100105,41,1,1,0.0,4.0,10543,0,0 +7432,1100105,41,1,1,0.0,4.0,278,0,0 +7433,1100105,41,1,1,0.0,6.0,0,0,0 +7434,1100105,41,1,1,0.0,4.0,0,0,0 +7435,1100105,41,1,1,0.0,6.0,5531,0,0 +7436,1100105,41,1,1,0.0,6.0,7802,0,0 +7437,1100105,41,1,1,1.0,4.0,10706,0,0 +7438,1100105,41,1,1,1.0,4.0,9117,0,0 +7439,1100105,41,1,1,0.0,6.0,9117,0,0 +7440,1100105,41,1,1,0.0,6.0,9117,0,0 +7441,1100105,41,1,1,0.0,4.0,13601,0,0 +7442,1100105,41,1,1,0.0,6.0,8286,0,0 +7443,1100105,41,1,1,0.0,6.0,12633,0,0 +7444,1100105,41,1,1,1.0,4.0,6115,0,0 +7445,1100105,41,1,1,0.0,6.0,3795,0,0 +7446,1100105,41,1,1,1.0,4.0,6115,0,0 +7447,1100105,41,1,1,0.0,4.0,10543,0,0 +7448,1100105,41,1,1,0.0,6.0,0,0,0 +7449,1100105,41,1,1,0.0,6.0,984,0,0 +7450,1100105,41,1,1,1.0,4.0,6115,0,0 +7451,1100105,41,1,1,0.0,6.0,10434,0,0 +7452,1100105,41,1,1,0.0,4.0,3163,0,0 +7453,1100105,41,1,1,0.0,6.0,13673,0,0 +7454,1100105,41,1,1,0.0,4.0,10543,0,0 +7455,1100105,41,1,1,0.0,4.0,278,0,0 +7456,1100105,41,1,1,0.0,6.0,9207,0,0 +7457,1100105,41,1,1,0.0,4.0,278,0,0 +7458,1100105,41,1,1,0.0,4.0,278,0,0 +7459,1100105,41,1,1,0.0,4.0,9115,0,0 +7460,1100105,41,1,1,0.0,6.0,10434,0,0 +7461,1100105,41,1,1,0.0,6.0,0,0,0 +7462,1100105,41,1,1,0.0,6.0,0,0,0 +7463,1100105,41,1,1,1.0,6.0,1284,0,0 +7464,1100105,41,1,1,1.0,4.0,10,0,0 +7465,1100105,41,1,1,1.0,4.0,10,0,0 +7466,1100105,41,1,1,0.0,4.0,23199,0,0 +7467,1100105,41,1,1,0.0,6.0,0,0,0 +7468,1100105,41,1,1,1.0,4.0,1243,0,0 +7469,1100105,41,1,1,0.0,6.0,0,0,0 +7470,1100105,41,1,1,1.0,4.0,10,0,0 +7471,1100105,41,1,1,1.0,4.0,1243,0,0 +7472,1100105,41,1,1,0.0,4.0,1035,0,0 +7473,1100105,41,1,1,0.0,4.0,17923,0,0 +7474,1100105,41,1,1,0.0,6.0,0,0,0 +7475,1100105,41,1,1,1.0,6.0,22286,0,0 +7476,1100105,41,1,1,0.0,4.0,9489,0,0 +7477,1100105,41,1,1,0.0,4.0,23199,0,0 +7478,1100105,41,1,1,1.0,4.0,10,0,0 +7479,1100105,41,1,1,0.0,6.0,13253,0,0 +7480,1100105,41,1,1,1.0,6.0,22286,0,0 +7481,1100105,41,1,1,1.0,6.0,2569,0,0 +7482,1100105,41,1,1,0.0,4.0,17923,0,0 +7483,1100105,41,1,1,0.0,4.0,1035,0,0 +7484,1100105,41,1,1,0.0,6.0,13253,0,0 +7485,1100105,41,1,1,1.0,4.0,3039,0,0 +7486,1100105,41,1,1,0.0,6.0,1581,0,0 +7487,1100105,41,1,1,1.0,4.0,3039,0,0 +7488,1100105,41,1,1,0.0,6.0,1581,0,0 +7489,1100105,41,1,1,1.0,4.0,3039,0,0 +7490,1100105,41,1,1,0.0,6.0,15918,0,0 +7491,1100105,41,1,1,0.0,6.0,3502,0,0 +7492,1100105,41,1,1,0.0,6.0,15393,0,0 +7493,1100105,41,1,1,1.0,6.0,0,0,0 +7494,1100105,41,1,1,0.0,4.0,0,0,0 +7495,1100105,41,1,1,0.0,4.0,0,0,0 +7496,1100105,41,1,1,0.0,6.0,2026,0,0 +7497,1100105,41,1,1,0.0,4.0,0,0,0 +7498,1100105,41,1,1,1.0,6.0,21680,0,0 +7499,1100105,41,1,1,1.0,6.0,535,0,0 +7500,1100105,41,1,1,1.0,4.0,3107,0,0 +7501,1100105,41,1,1,1.0,4.0,0,0,0 +7502,1100105,41,1,1,0.0,6.0,267,0,0 +7503,1100105,41,1,1,0.0,6.0,1591,0,0 +7504,1100105,41,1,1,0.0,4.0,20261,0,0 +7505,1100105,41,1,1,1.0,6.0,760,0,0 +7506,1100105,41,1,1,0.0,6.0,0,0,0 +7507,1100105,41,1,1,0.0,6.0,267,0,0 +7508,1100105,41,1,1,0.0,4.0,527,0,0 +7509,1100105,41,1,1,0.0,6.0,0,0,0 +7510,1100105,41,1,1,0.0,6.0,13465,0,0 +7511,1100105,41,1,1,0.0,4.0,527,0,0 +7512,1100105,41,1,1,0.0,6.0,267,0,0 +7513,1100105,41,1,1,0.0,6.0,0,0,0 +7514,1100105,41,1,1,0.0,4.0,20261,0,0 +7515,1100105,41,1,1,0.0,4.0,0,0,0 +7516,1100105,41,1,1,0.0,6.0,0,0,0 +7517,1100105,41,1,1,0.0,6.0,7387,0,0 +7518,1100105,41,1,1,0.0,6.0,4143,0,0 +7519,1100105,41,1,1,0.0,6.0,4143,0,0 +7520,1100105,41,1,1,0.0,6.0,5306,0,0 +7521,1100105,41,1,1,0.0,6.0,5306,0,0 +7522,1100105,41,1,1,0.0,6.0,0,0,0 +7523,1100105,41,1,1,0.0,6.0,7387,0,0 +7524,1100105,41,1,1,0.0,6.0,5306,0,0 +7525,1100105,41,1,1,0.0,6.0,5306,0,0 +7526,1100105,41,1,1,0.0,6.0,0,0,0 +7527,1100105,41,1,1,0.0,6.0,0,0,0 +7528,1100105,41,1,1,1.0,6.0,0,0,0 +7529,1100105,41,1,1,0.0,4.0,10543,0,0 +7530,1100105,42,1,4,1.0,1.0,495186,2,1 +7531,1100105,42,1,4,2.0,1.0,246182,2,1 +7532,1100105,42,1,4,2.0,1.0,246182,2,1 +7533,1100105,42,1,4,2.0,1.0,324217,2,1 +7534,1100105,42,1,4,2.0,1.0,324217,2,1 +7535,1100105,42,1,4,2.0,1.0,246182,2,1 +7536,1100105,42,1,4,2.0,1.0,246182,2,1 +7537,1100105,42,1,4,2.0,1.0,324217,2,1 +7538,1100105,42,1,4,2.0,1.0,263586,2,1 +7539,1100105,42,1,4,2.0,1.0,686623,2,1 +7540,1100105,42,1,4,2.0,1.0,686623,2,1 +7541,1100105,42,1,4,1.0,1.0,369022,2,1 +7542,1100105,42,1,4,2.0,1.0,329256,2,1 +7543,1100105,42,1,4,1.0,1.0,265695,2,1 +7544,1100105,42,1,4,2.0,1.0,329256,2,1 +7545,1100105,42,1,4,1.0,1.0,287719,2,1 +7546,1100105,42,1,4,1.0,1.0,445410,2,1 +7547,1100105,42,1,4,1.0,1.0,210724,2,1 +7548,1100105,42,1,4,2.0,1.0,303929,1,1 +7549,1100105,42,1,4,2.0,1.0,686623,1,1 +7550,1100105,42,1,4,2.0,1.0,718036,1,1 +7551,1100105,42,1,4,2.0,1.0,718036,1,1 +7552,1100105,42,1,4,1.0,1.0,178288,2,1 +7553,1100105,42,1,4,1.0,1.0,178288,2,1 +7554,1100105,42,1,4,1.0,1.0,178288,2,1 +7555,1100105,42,1,4,0.0,1.0,158151,1,1 +7556,1100105,42,1,4,0.0,1.0,158151,1,1 +7557,1100105,42,1,4,1.0,3.0,183913,1,1 +7558,1100105,42,1,4,1.0,1.0,156016,1,1 +7559,1100105,42,1,4,0.0,1.0,165423,1,1 +7560,1100105,42,1,4,0.0,1.0,165423,1,1 +7561,1100105,42,1,4,1.0,1.0,141930,2,1 +7562,1100105,42,1,4,1.0,3.0,105434,1,1 +7563,1100105,42,1,4,1.0,3.0,105434,1,1 +7564,1100105,42,1,4,1.0,3.0,105434,1,1 +7565,1100105,42,1,4,1.0,3.0,105434,1,1 +7566,1100105,42,1,4,1.0,3.0,105434,1,1 +7567,1100105,42,1,4,1.0,3.0,105434,1,1 +7568,1100105,42,1,4,1.0,3.0,105434,1,1 +7569,1100105,42,1,4,1.0,3.0,105434,1,1 +7570,1100105,42,1,4,2.0,1.0,138794,1,1 +7571,1100105,42,1,4,2.0,1.0,138794,1,1 +7572,1100105,42,1,4,1.0,1.0,134658,1,1 +7573,1100105,42,1,4,0.0,1.0,72612,2,1 +7574,1100105,42,1,4,0.0,3.0,51151,1,1 +7575,1100105,42,1,4,0.0,3.0,51151,1,1 +7576,1100105,42,1,4,0.0,3.0,51151,1,1 +7577,1100105,42,1,4,0.0,3.0,51151,1,1 +7578,1100105,42,1,4,0.0,3.0,51151,1,1 +7579,1100105,42,1,4,0.0,3.0,51151,1,1 +7580,1100105,42,1,4,0.0,3.0,51151,1,1 +7581,1100105,42,1,4,0.0,3.0,51151,1,1 +7582,1100105,42,1,4,1.0,1.0,77805,1,1 +7583,1100105,42,1,4,1.0,1.0,77805,1,1 +7584,1100105,42,1,4,0.0,1.0,49250,2,0 +7585,1100105,42,1,4,1.0,1.0,46038,1,1 +7586,1100105,42,1,4,1.0,1.0,46038,1,1 +7587,1100105,42,1,4,0.0,1.0,20261,1,1 +7588,1100105,42,1,4,1.0,3.0,11597,1,1 +7589,1100105,42,1,4,1.0,3.0,11597,1,1 +7590,1100105,42,1,4,1.0,3.0,11597,1,1 +7591,1100105,42,1,4,1.0,3.0,11597,1,1 +7592,1100105,42,1,4,1.0,3.0,11597,1,1 +7593,1100105,42,1,4,1.0,3.0,11597,1,1 +7594,1100105,42,1,3,1.0,1.0,208781,2,1 +7595,1100105,42,1,3,2.0,1.0,227946,2,1 +7596,1100105,42,1,3,1.0,1.0,435761,2,1 +7597,1100105,42,1,3,2.0,1.0,216275,2,1 +7598,1100105,42,1,3,1.0,1.0,231956,2,1 +7599,1100105,42,1,3,1.0,1.0,416466,2,1 +7600,1100105,42,1,3,1.0,1.0,389475,2,1 +7601,1100105,42,1,3,1.0,1.0,247325,2,1 +7602,1100105,42,1,3,1.0,1.0,345827,2,1 +7603,1100105,42,1,3,1.0,1.0,308715,2,1 +7604,1100105,42,1,3,1.0,1.0,282290,2,1 +7605,1100105,42,1,3,1.0,1.0,240259,2,1 +7606,1100105,42,1,3,2.0,1.0,271509,2,1 +7607,1100105,42,1,3,1.0,1.0,218249,1,1 +7608,1100105,42,1,3,1.0,2.0,212248,1,1 +7609,1100105,42,1,3,1.0,1.0,235595,1,1 +7610,1100105,42,1,3,1.0,1.0,191890,2,1 +7611,1100105,42,1,3,1.0,1.0,162804,2,1 +7612,1100105,42,1,3,1.0,1.0,152818,1,1 +7613,1100105,42,1,3,0.0,1.0,121571,2,1 +7614,1100105,42,1,3,1.0,1.0,107067,1,1 +7615,1100105,42,1,3,1.0,1.0,68532,2,1 +7616,1100105,42,1,2,3.0,1.0,288657,2,0 +7617,1100105,42,1,2,2.0,1.0,353322,2,0 +7618,1100105,42,1,2,2.0,1.0,845809,2,0 +7619,1100105,42,1,2,1.0,5.0,311032,2,0 +7620,1100105,42,1,2,1.0,1.0,362543,2,0 +7621,1100105,42,1,2,0.0,1.0,211993,2,0 +7622,1100105,42,1,2,1.0,1.0,310751,2,0 +7623,1100105,42,1,2,1.0,1.0,290580,2,0 +7624,1100105,42,1,2,1.0,1.0,290580,2,0 +7625,1100105,42,1,2,1.0,1.0,569089,2,0 +7626,1100105,42,1,2,2.0,1.0,328281,2,0 +7627,1100105,42,1,2,2.0,7.0,209393,2,0 +7628,1100105,42,1,2,1.0,5.0,391055,2,0 +7629,1100105,42,1,2,1.0,7.0,268858,2,0 +7630,1100105,42,1,2,1.0,5.0,413279,2,0 +7631,1100105,42,1,2,1.0,1.0,247432,2,0 +7632,1100105,42,1,2,1.0,1.0,276575,2,0 +7633,1100105,42,1,2,2.0,1.0,747665,2,0 +7634,1100105,42,1,2,2.0,1.0,303515,2,0 +7635,1100105,42,1,2,1.0,1.0,739685,2,0 +7636,1100105,42,1,2,2.0,1.0,303929,2,0 +7637,1100105,42,1,2,0.0,1.0,503028,2,0 +7638,1100105,42,1,2,1.0,1.0,316966,2,0 +7639,1100105,42,1,2,0.0,1.0,503028,2,0 +7640,1100105,42,1,2,0.0,1.0,304536,2,0 +7641,1100105,42,1,2,1.0,5.0,419535,2,0 +7642,1100105,42,1,2,1.0,5.0,321201,2,0 +7643,1100105,42,1,2,0.0,7.0,329767,2,0 +7644,1100105,42,1,2,1.0,1.0,234534,2,0 +7645,1100105,42,1,2,0.0,1.0,215789,2,0 +7646,1100105,42,1,2,1.0,1.0,359649,2,0 +7647,1100105,42,1,2,2.0,1.0,303515,2,0 +7648,1100105,42,1,2,2.0,5.0,217195,2,0 +7649,1100105,42,1,2,1.0,1.0,208207,2,0 +7650,1100105,42,1,2,2.0,7.0,223428,2,0 +7651,1100105,42,1,2,0.0,5.0,419524,2,0 +7652,1100105,42,1,2,1.0,7.0,313889,2,0 +7653,1100105,42,1,2,2.0,1.0,336657,2,0 +7654,1100105,42,1,2,1.0,1.0,496417,2,0 +7655,1100105,42,1,2,2.0,7.0,223428,2,0 +7656,1100105,42,1,2,2.0,1.0,280516,2,0 +7657,1100105,42,1,2,0.0,7.0,238760,2,0 +7658,1100105,42,1,2,1.0,1.0,284412,2,0 +7659,1100105,42,1,2,0.0,5.0,209851,2,0 +7660,1100105,42,1,2,2.0,1.0,326217,2,0 +7661,1100105,42,1,2,2.0,1.0,274129,2,0 +7662,1100105,42,1,2,2.0,7.0,390510,2,0 +7663,1100105,42,1,2,2.0,1.0,319917,2,0 +7664,1100105,42,1,2,2.0,7.0,390510,2,0 +7665,1100105,42,1,2,1.0,1.0,226982,2,0 +7666,1100105,42,1,2,2.0,1.0,284412,2,0 +7667,1100105,42,1,2,1.0,1.0,527173,2,0 +7668,1100105,42,1,2,0.0,5.0,380618,2,0 +7669,1100105,42,1,2,0.0,5.0,294435,2,0 +7670,1100105,42,1,2,2.0,1.0,249636,2,0 +7671,1100105,42,1,2,1.0,1.0,219677,2,0 +7672,1100105,42,1,2,1.0,3.0,241218,2,0 +7673,1100105,42,1,2,1.0,1.0,274497,2,0 +7674,1100105,42,1,2,1.0,1.0,254816,2,0 +7675,1100105,42,1,2,1.0,7.0,228959,2,0 +7676,1100105,42,1,2,1.0,1.0,274497,2,0 +7677,1100105,42,1,2,1.0,1.0,433622,2,0 +7678,1100105,42,1,2,0.0,7.0,210125,2,0 +7679,1100105,42,1,2,0.0,5.0,209814,2,0 +7680,1100105,42,1,2,0.0,5.0,373937,2,0 +7681,1100105,42,1,2,1.0,1.0,207472,2,0 +7682,1100105,42,1,2,1.0,1.0,265062,2,0 +7683,1100105,42,1,2,1.0,5.0,476485,2,0 +7684,1100105,42,1,2,0.0,1.0,245253,2,0 +7685,1100105,42,1,2,1.0,5.0,291841,2,0 +7686,1100105,42,1,2,1.0,7.0,228959,2,0 +7687,1100105,42,1,2,1.0,1.0,274497,2,0 +7688,1100105,42,1,2,1.0,5.0,476485,2,0 +7689,1100105,42,1,2,0.0,5.0,248601,2,0 +7690,1100105,42,1,2,1.0,5.0,265310,2,0 +7691,1100105,42,1,2,3.0,5.0,643474,2,0 +7692,1100105,42,1,2,2.0,7.0,206639,2,0 +7693,1100105,42,1,2,2.0,7.0,206639,2,0 +7694,1100105,42,1,2,1.0,5.0,252575,2,0 +7695,1100105,42,1,2,1.0,1.0,309977,2,0 +7696,1100105,42,1,2,2.0,7.0,206639,2,0 +7697,1100105,42,1,2,1.0,5.0,254392,2,0 +7698,1100105,42,1,2,1.0,1.0,209814,2,0 +7699,1100105,42,1,2,2.0,5.0,260534,2,0 +7700,1100105,42,1,2,2.0,5.0,260534,2,0 +7701,1100105,42,1,2,1.0,5.0,271093,2,0 +7702,1100105,42,1,2,1.0,1.0,484057,2,0 +7703,1100105,42,1,2,1.0,1.0,289516,2,0 +7704,1100105,42,1,2,0.0,7.0,203427,2,0 +7705,1100105,42,1,2,1.0,5.0,216493,2,0 +7706,1100105,42,1,2,1.0,1.0,234064,2,0 +7707,1100105,42,1,2,1.0,5.0,502079,2,0 +7708,1100105,42,1,2,1.0,1.0,444329,2,0 +7709,1100105,42,1,2,0.0,1.0,231956,2,0 +7710,1100105,42,1,2,1.0,1.0,323678,2,0 +7711,1100105,42,1,2,1.0,5.0,216493,2,0 +7712,1100105,42,1,2,0.0,7.0,238282,2,0 +7713,1100105,42,1,2,0.0,1.0,212248,2,0 +7714,1100105,42,1,2,0.0,5.0,205597,2,0 +7715,1100105,42,1,2,2.0,1.0,227738,2,0 +7716,1100105,42,1,2,1.0,1.0,405923,2,0 +7717,1100105,42,1,2,0.0,7.0,203095,2,0 +7718,1100105,42,1,2,1.0,1.0,201635,2,0 +7719,1100105,42,1,2,1.0,1.0,323678,2,0 +7720,1100105,42,1,2,0.0,5.0,212750,2,0 +7721,1100105,42,1,2,0.0,5.0,212750,2,0 +7722,1100105,42,1,2,0.0,5.0,236171,2,0 +7723,1100105,42,1,2,1.0,1.0,368758,2,0 +7724,1100105,42,1,2,0.0,1.0,342615,2,0 +7725,1100105,42,1,2,1.0,1.0,353407,2,0 +7726,1100105,42,1,2,0.0,1.0,295216,2,0 +7727,1100105,42,1,2,1.0,1.0,409086,2,0 +7728,1100105,42,1,2,1.0,1.0,369337,2,0 +7729,1100105,42,1,2,0.0,1.0,212248,2,0 +7730,1100105,42,1,2,1.0,1.0,210869,2,0 +7731,1100105,42,1,2,2.0,1.0,254018,2,0 +7732,1100105,42,1,2,1.0,1.0,233477,2,0 +7733,1100105,42,1,2,1.0,5.0,328985,2,0 +7734,1100105,42,1,2,1.0,1.0,204598,2,0 +7735,1100105,42,1,2,1.0,1.0,217525,2,0 +7736,1100105,42,1,2,1.0,1.0,267246,2,0 +7737,1100105,42,1,2,1.0,7.0,245169,2,0 +7738,1100105,42,1,2,1.0,1.0,444329,2,0 +7739,1100105,42,1,2,0.0,5.0,205597,2,0 +7740,1100105,42,1,2,1.0,7.0,245169,2,0 +7741,1100105,42,1,2,2.0,7.0,301392,2,0 +7742,1100105,42,1,2,0.0,5.0,212790,2,0 +7743,1100105,42,1,2,2.0,5.0,208721,2,0 +7744,1100105,42,1,2,2.0,5.0,208721,2,0 +7745,1100105,42,1,2,0.0,1.0,238242,2,0 +7746,1100105,42,1,2,1.0,7.0,204819,2,0 +7747,1100105,42,1,2,1.0,1.0,253780,2,0 +7748,1100105,42,1,2,1.0,1.0,353407,2,0 +7749,1100105,42,1,2,1.0,1.0,323678,2,0 +7750,1100105,42,1,2,0.0,5.0,286535,2,0 +7751,1100105,42,1,2,1.0,1.0,228167,2,0 +7752,1100105,42,1,2,0.0,7.0,203095,2,0 +7753,1100105,42,1,2,1.0,1.0,253106,2,0 +7754,1100105,42,1,2,0.0,5.0,212750,2,0 +7755,1100105,42,1,2,1.0,1.0,247301,2,0 +7756,1100105,42,1,2,1.0,1.0,417442,2,0 +7757,1100105,42,1,2,1.0,1.0,291771,2,0 +7758,1100105,42,1,2,1.0,7.0,216275,2,0 +7759,1100105,42,1,2,2.0,5.0,280627,2,0 +7760,1100105,42,1,2,1.0,5.0,419190,2,0 +7761,1100105,42,1,2,0.0,7.0,209239,2,0 +7762,1100105,42,1,2,1.0,1.0,323678,2,0 +7763,1100105,42,1,2,1.0,1.0,368758,2,0 +7764,1100105,42,1,2,1.0,1.0,323678,2,0 +7765,1100105,42,1,2,1.0,7.0,245169,2,0 +7766,1100105,42,1,2,2.0,1.0,212750,2,0 +7767,1100105,42,1,2,1.0,1.0,352151,2,0 +7768,1100105,42,1,2,1.0,1.0,450205,2,0 +7769,1100105,42,1,2,1.0,1.0,450205,2,0 +7770,1100105,42,1,2,2.0,1.0,230991,1,0 +7771,1100105,42,1,2,1.0,5.0,243578,1,0 +7772,1100105,42,1,2,1.0,1.0,332911,1,0 +7773,1100105,42,1,2,1.0,7.0,664591,1,0 +7774,1100105,42,1,2,1.0,1.0,657911,1,0 +7775,1100105,42,1,2,0.0,1.0,283667,1,0 +7776,1100105,42,1,2,0.0,1.0,246146,1,0 +7777,1100105,42,1,2,1.0,1.0,767808,1,0 +7778,1100105,42,1,2,1.0,1.0,214875,1,0 +7779,1100105,42,1,2,1.0,1.0,305141,1,0 +7780,1100105,42,1,2,0.0,1.0,329820,1,0 +7781,1100105,42,1,2,1.0,1.0,767808,1,0 +7782,1100105,42,1,2,1.0,5.0,207464,1,0 +7783,1100105,42,1,2,1.0,5.0,207684,1,0 +7784,1100105,42,1,2,2.0,1.0,616323,0,0 +7785,1100105,42,1,2,1.0,1.0,410035,0,0 +7786,1100105,42,1,2,2.0,1.0,616323,0,0 +7787,1100105,42,1,2,0.0,1.0,359761,0,0 +7788,1100105,42,1,2,1.0,2.0,311426,0,0 +7789,1100105,42,1,2,1.0,1.0,233012,0,0 +7790,1100105,42,1,2,2.0,5.0,190579,2,0 +7791,1100105,42,1,2,0.0,5.0,160600,2,0 +7792,1100105,42,1,2,0.0,5.0,160600,2,0 +7793,1100105,42,1,2,0.0,5.0,160600,2,0 +7794,1100105,42,1,2,0.0,1.0,178507,2,0 +7795,1100105,42,1,2,0.0,1.0,197797,2,0 +7796,1100105,42,1,2,1.0,1.0,189962,2,0 +7797,1100105,42,1,2,1.0,1.0,169533,2,0 +7798,1100105,42,1,2,2.0,5.0,163812,2,0 +7799,1100105,42,1,2,1.0,1.0,170237,2,0 +7800,1100105,42,1,2,2.0,1.0,194207,2,0 +7801,1100105,42,1,2,0.0,1.0,178507,2,0 +7802,1100105,42,1,2,0.0,1.0,155247,2,0 +7803,1100105,42,1,2,1.0,1.0,171949,2,0 +7804,1100105,42,1,2,0.0,1.0,160279,2,0 +7805,1100105,42,1,2,1.0,5.0,187146,2,0 +7806,1100105,42,1,2,0.0,1.0,160279,2,0 +7807,1100105,42,1,2,0.0,1.0,150196,2,0 +7808,1100105,42,1,2,0.0,1.0,150196,2,0 +7809,1100105,42,1,2,1.0,1.0,156002,2,0 +7810,1100105,42,1,2,2.0,1.0,198074,2,0 +7811,1100105,42,1,2,0.0,5.0,172378,2,0 +7812,1100105,42,1,2,2.0,1.0,198074,2,0 +7813,1100105,42,1,2,1.0,7.0,194207,2,0 +7814,1100105,42,1,2,2.0,1.0,198074,2,0 +7815,1100105,42,1,2,1.0,5.0,196809,2,0 +7816,1100105,42,1,2,2.0,1.0,197003,2,0 +7817,1100105,42,1,2,1.0,5.0,158125,2,0 +7818,1100105,42,1,2,0.0,5.0,178289,2,0 +7819,1100105,42,1,2,1.0,1.0,172912,2,0 +7820,1100105,42,1,2,0.0,5.0,171921,2,0 +7821,1100105,42,1,2,0.0,5.0,158483,2,0 +7822,1100105,42,1,2,2.0,5.0,193999,2,0 +7823,1100105,42,1,2,0.0,5.0,158483,2,0 +7824,1100105,42,1,2,2.0,7.0,172226,2,0 +7825,1100105,42,1,2,2.0,7.0,172226,2,0 +7826,1100105,42,1,2,1.0,1.0,174362,2,0 +7827,1100105,42,1,2,1.0,7.0,151964,2,0 +7828,1100105,42,1,2,1.0,1.0,186407,2,0 +7829,1100105,42,1,2,1.0,1.0,176092,2,0 +7830,1100105,42,1,2,1.0,1.0,151232,2,0 +7831,1100105,42,1,2,1.0,7.0,168695,2,0 +7832,1100105,42,1,2,1.0,1.0,174362,2,0 +7833,1100105,42,1,2,1.0,1.0,186407,2,0 +7834,1100105,42,1,2,0.0,5.0,196329,2,0 +7835,1100105,42,1,2,2.0,5.0,178925,2,0 +7836,1100105,42,1,2,2.0,5.0,150771,2,0 +7837,1100105,42,1,2,1.0,5.0,189782,2,0 +7838,1100105,42,1,2,0.0,1.0,171307,2,0 +7839,1100105,42,1,2,0.0,5.0,177762,2,0 +7840,1100105,42,1,2,1.0,7.0,172378,2,0 +7841,1100105,42,1,2,0.0,1.0,192523,2,0 +7842,1100105,42,1,2,2.0,5.0,193701,2,0 +7843,1100105,42,1,2,1.0,5.0,167641,2,0 +7844,1100105,42,1,2,0.0,1.0,198074,2,0 +7845,1100105,42,1,2,1.0,7.0,191630,2,0 +7846,1100105,42,1,2,1.0,1.0,189803,2,0 +7847,1100105,42,1,2,2.0,5.0,184656,2,0 +7848,1100105,42,1,2,0.0,5.0,177762,2,0 +7849,1100105,42,1,2,1.0,5.0,167641,2,0 +7850,1100105,42,1,2,0.0,5.0,156043,2,0 +7851,1100105,42,1,2,1.0,1.0,165954,2,0 +7852,1100105,42,1,2,1.0,1.0,167024,2,0 +7853,1100105,42,1,2,1.0,1.0,178952,2,0 +7854,1100105,42,1,2,2.0,5.0,178925,2,0 +7855,1100105,42,1,2,1.0,1.0,158172,2,0 +7856,1100105,42,1,2,1.0,5.0,169812,2,0 +7857,1100105,42,1,2,1.0,1.0,158172,2,0 +7858,1100105,42,1,2,1.0,1.0,158172,2,0 +7859,1100105,42,1,2,1.0,1.0,178952,2,0 +7860,1100105,42,1,2,1.0,1.0,165532,2,0 +7861,1100105,42,1,2,1.0,1.0,175056,2,0 +7862,1100105,42,1,2,1.0,1.0,175376,2,0 +7863,1100105,42,1,2,0.0,1.0,171307,2,0 +7864,1100105,42,1,2,2.0,5.0,178925,2,0 +7865,1100105,42,1,2,2.0,5.0,193701,2,0 +7866,1100105,42,1,2,0.0,7.0,152977,2,0 +7867,1100105,42,1,2,2.0,7.0,162095,2,0 +7868,1100105,42,1,2,2.0,7.0,163423,2,0 +7869,1100105,42,1,2,1.0,5.0,173967,2,0 +7870,1100105,42,1,2,1.0,1.0,165532,2,0 +7871,1100105,42,1,2,1.0,7.0,178819,2,0 +7872,1100105,42,1,2,0.0,7.0,155726,2,0 +7873,1100105,42,1,2,1.0,1.0,178952,2,0 +7874,1100105,42,1,2,2.0,5.0,150771,2,0 +7875,1100105,42,1,2,1.0,7.0,191630,2,0 +7876,1100105,42,1,2,0.0,5.0,177762,2,0 +7877,1100105,42,1,2,0.0,1.0,194207,2,0 +7878,1100105,42,1,2,1.0,1.0,182357,2,0 +7879,1100105,42,1,2,1.0,5.0,163318,2,0 +7880,1100105,42,1,2,1.0,1.0,158172,2,0 +7881,1100105,42,1,2,0.0,1.0,192523,2,0 +7882,1100105,42,1,2,1.0,1.0,152889,2,0 +7883,1100105,42,1,2,0.0,1.0,153880,2,0 +7884,1100105,42,1,2,1.0,1.0,158172,2,0 +7885,1100105,42,1,2,1.0,1.0,189803,2,0 +7886,1100105,42,1,2,1.0,5.0,153934,2,0 +7887,1100105,42,1,2,0.0,1.0,192523,2,0 +7888,1100105,42,1,2,0.0,5.0,158043,2,0 +7889,1100105,42,1,2,1.0,1.0,178952,2,0 +7890,1100105,42,1,2,1.0,5.0,151964,2,0 +7891,1100105,42,1,2,1.0,5.0,163318,2,0 +7892,1100105,42,1,2,0.0,5.0,163108,2,0 +7893,1100105,42,1,2,0.0,5.0,158043,2,0 +7894,1100105,42,1,2,1.0,1.0,165941,2,0 +7895,1100105,42,1,2,1.0,5.0,169812,2,0 +7896,1100105,42,1,2,2.0,7.0,182014,2,0 +7897,1100105,42,1,2,0.0,1.0,153880,2,0 +7898,1100105,42,1,2,1.0,1.0,165954,2,0 +7899,1100105,42,1,2,1.0,7.0,172378,2,0 +7900,1100105,42,1,2,0.0,5.0,169187,2,0 +7901,1100105,42,1,2,1.0,1.0,191630,2,0 +7902,1100105,42,1,2,1.0,5.0,182014,2,0 +7903,1100105,42,1,2,1.0,1.0,191630,2,0 +7904,1100105,42,1,2,1.0,7.0,196840,2,0 +7905,1100105,42,1,2,2.0,1.0,153200,1,0 +7906,1100105,42,1,2,0.0,5.0,197194,1,0 +7907,1100105,42,1,2,0.0,1.0,151964,1,0 +7908,1100105,42,1,2,0.0,1.0,171307,1,0 +7909,1100105,42,1,2,0.0,1.0,171307,1,0 +7910,1100105,42,1,2,0.0,1.0,164794,1,0 +7911,1100105,42,1,2,0.0,1.0,189782,1,0 +7912,1100105,42,1,2,1.0,1.0,162095,1,0 +7913,1100105,42,1,2,1.0,1.0,162095,1,0 +7914,1100105,42,1,2,1.0,1.0,154622,1,0 +7915,1100105,42,1,2,1.0,1.0,154339,1,0 +7916,1100105,42,1,2,2.0,7.0,190563,1,0 +7917,1100105,42,1,2,1.0,7.0,171307,1,0 +7918,1100105,42,1,2,0.0,7.0,169877,1,0 +7919,1100105,42,1,2,1.0,7.0,189782,1,0 +7920,1100105,42,1,2,1.0,7.0,189782,1,0 +7921,1100105,42,1,2,1.0,7.0,189782,1,0 +7922,1100105,42,1,2,1.0,3.0,161671,1,1 +7923,1100105,42,1,2,1.0,1.0,153821,0,0 +7924,1100105,42,1,2,2.0,1.0,111744,2,0 +7925,1100105,42,1,2,2.0,5.0,137961,2,0 +7926,1100105,42,1,2,2.0,1.0,127349,2,0 +7927,1100105,42,1,2,2.0,5.0,135754,2,0 +7928,1100105,42,1,2,1.0,5.0,126521,2,0 +7929,1100105,42,1,2,2.0,1.0,132973,2,0 +7930,1100105,42,1,2,1.0,1.0,108245,2,0 +7931,1100105,42,1,2,1.0,7.0,139838,2,0 +7932,1100105,42,1,2,0.0,7.0,120769,2,0 +7933,1100105,42,1,2,0.0,7.0,120769,2,0 +7934,1100105,42,1,2,0.0,7.0,123607,2,0 +7935,1100105,42,1,2,0.0,7.0,123607,2,0 +7936,1100105,42,1,2,1.0,5.0,117032,2,0 +7937,1100105,42,1,2,0.0,5.0,134777,2,0 +7938,1100105,42,1,2,1.0,1.0,144550,2,0 +7939,1100105,42,1,2,0.0,5.0,111430,2,0 +7940,1100105,42,1,2,1.0,1.0,126521,2,0 +7941,1100105,42,1,2,1.0,5.0,103583,2,0 +7942,1100105,42,1,2,1.0,3.0,149606,2,0 +7943,1100105,42,1,2,1.0,1.0,106375,2,0 +7944,1100105,42,1,2,1.0,1.0,106375,2,0 +7945,1100105,42,1,2,1.0,1.0,139807,2,0 +7946,1100105,42,1,2,0.0,7.0,129676,2,0 +7947,1100105,42,1,2,0.0,7.0,129676,2,0 +7948,1100105,42,1,2,0.0,7.0,122584,2,0 +7949,1100105,42,1,2,0.0,5.0,149160,2,0 +7950,1100105,42,1,2,0.0,5.0,149160,2,0 +7951,1100105,42,1,2,0.0,7.0,126693,2,0 +7952,1100105,42,1,2,1.0,7.0,137776,2,0 +7953,1100105,42,1,2,1.0,7.0,111249,2,0 +7954,1100105,42,1,2,1.0,7.0,124169,2,0 +7955,1100105,42,1,2,0.0,7.0,126693,2,0 +7956,1100105,42,1,2,0.0,7.0,126693,2,0 +7957,1100105,42,1,2,0.0,7.0,126693,2,0 +7958,1100105,42,1,2,1.0,7.0,132056,2,0 +7959,1100105,42,1,2,1.0,7.0,136730,2,0 +7960,1100105,42,1,2,0.0,7.0,101713,2,0 +7961,1100105,42,1,2,0.0,5.0,121521,2,0 +7962,1100105,42,1,2,0.0,5.0,133834,2,0 +7963,1100105,42,1,2,2.0,5.0,134399,2,0 +7964,1100105,42,1,2,0.0,7.0,119920,2,0 +7965,1100105,42,1,2,1.0,5.0,148573,2,0 +7966,1100105,42,1,2,0.0,5.0,135975,2,0 +7967,1100105,42,1,2,0.0,7.0,145017,2,0 +7968,1100105,42,1,2,0.0,7.0,119920,2,0 +7969,1100105,42,1,2,1.0,1.0,142916,2,0 +7970,1100105,42,1,2,2.0,5.0,128713,2,0 +7971,1100105,42,1,2,0.0,1.0,136900,2,0 +7972,1100105,42,1,2,0.0,7.0,140820,2,0 +7973,1100105,42,1,2,0.0,7.0,119920,2,0 +7974,1100105,42,1,2,0.0,5.0,106898,2,0 +7975,1100105,42,1,2,0.0,7.0,128480,2,0 +7976,1100105,42,1,2,1.0,7.0,132006,2,0 +7977,1100105,42,1,2,2.0,1.0,141833,2,0 +7978,1100105,42,1,2,0.0,7.0,111450,2,0 +7979,1100105,42,1,2,0.0,7.0,149358,2,0 +7980,1100105,42,1,2,1.0,7.0,113869,2,0 +7981,1100105,42,1,2,0.0,5.0,148573,2,0 +7982,1100105,42,1,2,2.0,1.0,146682,2,0 +7983,1100105,42,1,2,2.0,5.0,143267,2,0 +7984,1100105,42,1,2,0.0,1.0,115675,2,0 +7985,1100105,42,1,2,2.0,5.0,143267,2,0 +7986,1100105,42,1,2,0.0,5.0,136768,2,0 +7987,1100105,42,1,2,1.0,7.0,113869,2,0 +7988,1100105,42,1,2,1.0,7.0,111760,2,0 +7989,1100105,42,1,2,0.0,5.0,108597,2,0 +7990,1100105,42,1,2,1.0,7.0,129479,2,0 +7991,1100105,42,1,2,1.0,5.0,118086,2,0 +7992,1100105,42,1,2,0.0,1.0,122056,2,0 +7993,1100105,42,1,2,0.0,7.0,140820,2,0 +7994,1100105,42,1,2,1.0,7.0,128443,2,0 +7995,1100105,42,1,2,2.0,5.0,148642,2,0 +7996,1100105,42,1,2,1.0,5.0,111870,2,0 +7997,1100105,42,1,2,0.0,5.0,106898,2,0 +7998,1100105,42,1,2,1.0,5.0,145885,2,0 +7999,1100105,42,1,2,1.0,1.0,143267,2,0 +8000,1100105,42,1,2,1.0,5.0,112815,2,0 +8001,1100105,42,1,2,0.0,5.0,106898,2,0 +8002,1100105,42,1,2,1.0,5.0,106898,2,0 +8003,1100105,42,1,2,1.0,7.0,126637,2,0 +8004,1100105,42,1,2,0.0,7.0,128463,2,0 +8005,1100105,42,1,2,0.0,7.0,138541,2,0 +8006,1100105,42,1,2,0.0,7.0,132587,2,0 +8007,1100105,42,1,2,0.0,5.0,121299,2,0 +8008,1100105,42,1,2,0.0,1.0,136900,2,0 +8009,1100105,42,1,2,0.0,7.0,121571,2,0 +8010,1100105,42,1,2,2.0,1.0,113942,2,0 +8011,1100105,42,1,2,0.0,1.0,122056,2,0 +8012,1100105,42,1,2,0.0,7.0,108762,2,0 +8013,1100105,42,1,2,1.0,1.0,143267,2,0 +8014,1100105,42,1,2,0.0,1.0,105997,2,0 +8015,1100105,42,1,2,1.0,1.0,140686,2,0 +8016,1100105,42,1,2,2.0,7.0,145390,2,0 +8017,1100105,42,1,2,1.0,7.0,139022,2,0 +8018,1100105,42,1,2,1.0,5.0,149104,2,0 +8019,1100105,42,1,2,0.0,5.0,123104,2,0 +8020,1100105,42,1,2,1.0,7.0,145611,2,0 +8021,1100105,42,1,2,0.0,1.0,128427,2,0 +8022,1100105,42,1,2,2.0,5.0,134399,2,0 +8023,1100105,42,1,2,1.0,1.0,101713,2,0 +8024,1100105,42,1,2,0.0,5.0,133728,2,0 +8025,1100105,42,1,2,0.0,7.0,106124,2,0 +8026,1100105,42,1,2,0.0,1.0,122056,2,0 +8027,1100105,42,1,2,0.0,7.0,119920,2,0 +8028,1100105,42,1,2,0.0,7.0,126018,2,0 +8029,1100105,42,1,2,1.0,1.0,131551,2,0 +8030,1100105,42,1,2,1.0,5.0,100643,2,0 +8031,1100105,42,1,2,0.0,5.0,103855,2,0 +8032,1100105,42,1,2,2.0,7.0,143267,2,0 +8033,1100105,42,1,2,1.0,5.0,118086,2,0 +8034,1100105,42,1,2,1.0,7.0,132006,2,0 +8035,1100105,42,1,2,0.0,1.0,105997,2,0 +8036,1100105,42,1,2,1.0,1.0,106691,2,0 +8037,1100105,42,1,2,0.0,5.0,140820,2,0 +8038,1100105,42,1,2,0.0,5.0,121521,2,0 +8039,1100105,42,1,2,1.0,1.0,134141,2,0 +8040,1100105,42,1,2,0.0,5.0,137781,2,0 +8041,1100105,42,1,2,2.0,5.0,114923,2,0 +8042,1100105,42,1,2,1.0,7.0,118859,2,0 +8043,1100105,42,1,2,1.0,7.0,118859,2,0 +8044,1100105,42,1,2,1.0,5.0,137064,2,0 +8045,1100105,42,1,2,0.0,5.0,137781,2,0 +8046,1100105,42,1,2,1.0,1.0,138128,2,0 +8047,1100105,42,1,2,2.0,5.0,117401,1,0 +8048,1100105,42,1,2,0.0,1.0,107227,1,0 +8049,1100105,42,1,2,2.0,1.0,121571,1,0 +8050,1100105,42,1,2,2.0,1.0,114923,1,0 +8051,1100105,42,1,2,1.0,1.0,117238,1,0 +8052,1100105,42,1,2,1.0,5.0,101083,1,0 +8053,1100105,42,1,2,1.0,1.0,139807,1,0 +8054,1100105,42,1,2,1.0,7.0,130532,1,0 +8055,1100105,42,1,2,1.0,7.0,126521,1,0 +8056,1100105,42,1,2,2.0,1.0,107067,1,0 +8057,1100105,42,1,2,1.0,7.0,107543,1,0 +8058,1100105,42,1,2,1.0,5.0,143981,1,0 +8059,1100105,42,1,2,2.0,7.0,108401,1,0 +8060,1100105,42,1,2,1.0,7.0,119328,1,0 +8061,1100105,42,1,2,0.0,1.0,105062,1,0 +8062,1100105,42,1,2,0.0,1.0,126786,1,0 +8063,1100105,42,1,2,1.0,7.0,119328,1,0 +8064,1100105,42,1,2,1.0,7.0,119328,1,0 +8065,1100105,42,1,2,0.0,7.0,115978,1,0 +8066,1100105,42,1,2,0.0,1.0,112920,1,0 +8067,1100105,42,1,2,0.0,5.0,122304,1,0 +8068,1100105,42,1,2,0.0,1.0,118085,1,0 +8069,1100105,42,1,2,1.0,1.0,126339,1,0 +8070,1100105,42,1,2,1.0,3.0,144540,1,1 +8071,1100105,42,1,2,1.0,2.0,111870,1,1 +8072,1100105,42,1,2,1.0,2.0,111870,1,1 +8073,1100105,42,1,2,1.0,2.0,111870,1,1 +8074,1100105,42,1,2,2.0,1.0,132655,0,0 +8075,1100105,42,1,2,1.0,1.0,122382,0,0 +8076,1100105,42,1,2,0.0,1.0,116013,0,0 +8077,1100105,42,1,2,1.0,7.0,100900,0,0 +8078,1100105,42,1,2,1.0,7.0,100900,0,0 +8079,1100105,42,1,2,1.0,7.0,100900,0,0 +8080,1100105,42,1,2,1.0,7.0,100900,0,0 +8081,1100105,42,1,2,0.0,1.0,120450,0,0 +8082,1100105,42,1,2,0.0,5.0,94219,2,0 +8083,1100105,42,1,2,1.0,1.0,79075,2,0 +8084,1100105,42,1,2,2.0,1.0,68384,2,0 +8085,1100105,42,1,2,0.0,7.0,83838,2,0 +8086,1100105,42,1,2,2.0,1.0,82458,2,0 +8087,1100105,42,1,2,2.0,7.0,89082,2,0 +8088,1100105,42,1,2,0.0,1.0,78654,2,0 +8089,1100105,42,1,2,0.0,5.0,84583,2,0 +8090,1100105,42,1,2,1.0,5.0,82977,2,0 +8091,1100105,42,1,2,1.0,3.0,85653,2,0 +8092,1100105,42,1,2,0.0,5.0,79593,2,0 +8093,1100105,42,1,2,0.0,5.0,95511,2,0 +8094,1100105,42,1,2,1.0,7.0,82458,2,0 +8095,1100105,42,1,2,1.0,7.0,82458,2,0 +8096,1100105,42,1,2,1.0,7.0,82458,2,0 +8097,1100105,42,1,2,1.0,7.0,82458,2,0 +8098,1100105,42,1,2,1.0,5.0,99108,2,0 +8099,1100105,42,1,2,1.0,5.0,99108,2,0 +8100,1100105,42,1,2,0.0,7.0,93508,2,0 +8101,1100105,42,1,2,0.0,5.0,91266,2,0 +8102,1100105,42,1,2,0.0,5.0,68890,2,0 +8103,1100105,42,1,2,0.0,5.0,78008,2,0 +8104,1100105,42,1,2,1.0,5.0,85243,2,0 +8105,1100105,42,1,2,1.0,5.0,58368,2,0 +8106,1100105,42,1,2,0.0,5.0,53062,2,0 +8107,1100105,42,1,2,0.0,7.0,89619,2,0 +8108,1100105,42,1,2,1.0,1.0,88083,2,0 +8109,1100105,42,1,2,1.0,3.0,87936,2,0 +8110,1100105,42,1,2,1.0,7.0,95825,2,0 +8111,1100105,42,1,2,1.0,7.0,70126,2,0 +8112,1100105,42,1,2,1.0,5.0,85100,2,0 +8113,1100105,42,1,2,0.0,7.0,96360,2,0 +8114,1100105,42,1,2,1.0,7.0,58727,2,0 +8115,1100105,42,1,2,0.0,3.0,98695,2,0 +8116,1100105,42,1,2,2.0,7.0,81715,2,0 +8117,1100105,42,1,2,1.0,7.0,70126,2,0 +8118,1100105,42,1,2,0.0,7.0,64226,2,0 +8119,1100105,42,1,2,1.0,5.0,64438,2,0 +8120,1100105,42,1,2,1.0,5.0,78205,2,0 +8121,1100105,42,1,2,0.0,5.0,68890,2,0 +8122,1100105,42,1,2,1.0,7.0,53863,2,0 +8123,1100105,42,1,2,0.0,5.0,67024,2,0 +8124,1100105,42,1,2,1.0,7.0,67794,2,0 +8125,1100105,42,1,2,0.0,7.0,77687,2,0 +8126,1100105,42,1,2,1.0,5.0,65264,2,0 +8127,1100105,42,1,2,0.0,5.0,88253,2,0 +8128,1100105,42,1,2,0.0,7.0,82162,2,0 +8129,1100105,42,1,2,1.0,5.0,88253,2,0 +8130,1100105,42,1,2,1.0,5.0,55458,2,0 +8131,1100105,42,1,2,0.0,7.0,89619,2,0 +8132,1100105,42,1,2,1.0,7.0,60814,2,0 +8133,1100105,42,1,2,1.0,5.0,58368,2,0 +8134,1100105,42,1,2,1.0,1.0,78373,2,0 +8135,1100105,42,1,2,1.0,7.0,67794,2,0 +8136,1100105,42,1,2,0.0,7.0,95231,2,0 +8137,1100105,42,1,2,1.0,7.0,67794,2,0 +8138,1100105,42,1,2,1.0,5.0,85100,2,0 +8139,1100105,42,1,2,2.0,5.0,91178,2,0 +8140,1100105,42,1,2,0.0,5.0,74286,2,0 +8141,1100105,42,1,2,0.0,1.0,53062,2,0 +8142,1100105,42,1,2,1.0,7.0,71695,2,0 +8143,1100105,42,1,2,1.0,1.0,79041,2,0 +8144,1100105,42,1,2,1.0,7.0,71695,2,0 +8145,1100105,42,1,2,0.0,7.0,82334,2,0 +8146,1100105,42,1,2,1.0,5.0,87010,2,0 +8147,1100105,42,1,2,2.0,7.0,98404,2,0 +8148,1100105,42,1,2,1.0,7.0,90739,1,0 +8149,1100105,42,1,2,1.0,1.0,55502,1,0 +8150,1100105,42,1,2,1.0,1.0,93225,1,0 +8151,1100105,42,1,2,0.0,1.0,98054,1,0 +8152,1100105,42,1,2,0.0,5.0,91649,1,0 +8153,1100105,42,1,2,1.0,1.0,95711,1,0 +8154,1100105,42,1,2,1.0,1.0,95711,1,0 +8155,1100105,42,1,2,1.0,7.0,54193,1,0 +8156,1100105,42,1,2,1.0,7.0,54193,1,0 +8157,1100105,42,1,2,1.0,7.0,54193,1,0 +8158,1100105,42,1,2,1.0,7.0,54193,1,0 +8159,1100105,42,1,2,1.0,7.0,54193,1,0 +8160,1100105,42,1,2,1.0,7.0,54193,1,0 +8161,1100105,42,1,2,1.0,7.0,54193,1,0 +8162,1100105,42,1,2,1.0,7.0,84899,1,0 +8163,1100105,42,1,2,1.0,5.0,80977,1,0 +8164,1100105,42,1,2,0.0,1.0,66423,1,0 +8165,1100105,42,1,2,0.0,1.0,66423,1,0 +8166,1100105,42,1,2,0.0,1.0,66423,1,0 +8167,1100105,42,1,2,0.0,1.0,66423,1,0 +8168,1100105,42,1,2,1.0,1.0,71952,1,0 +8169,1100105,42,1,2,0.0,7.0,53104,1,0 +8170,1100105,42,1,2,1.0,1.0,71952,1,0 +8171,1100105,42,1,2,1.0,1.0,71952,1,0 +8172,1100105,42,1,2,1.0,1.0,71952,1,0 +8173,1100105,42,1,2,1.0,1.0,71952,1,0 +8174,1100105,42,1,2,1.0,1.0,71952,1,0 +8175,1100105,42,1,2,1.0,7.0,94339,1,0 +8176,1100105,42,1,2,1.0,7.0,94339,1,0 +8177,1100105,42,1,2,1.0,1.0,69586,1,0 +8178,1100105,42,1,2,0.0,5.0,56882,1,0 +8179,1100105,42,1,2,0.0,7.0,53694,1,0 +8180,1100105,42,1,2,2.0,7.0,75348,1,0 +8181,1100105,42,1,2,1.0,1.0,88046,1,0 +8182,1100105,42,1,2,2.0,7.0,75348,1,0 +8183,1100105,42,1,2,1.0,1.0,69586,1,0 +8184,1100105,42,1,2,0.0,5.0,56882,1,0 +8185,1100105,42,1,2,1.0,7.0,94339,1,0 +8186,1100105,42,1,2,2.0,3.0,66423,1,0 +8187,1100105,42,1,2,2.0,5.0,54017,1,0 +8188,1100105,42,1,2,0.0,5.0,51796,1,0 +8189,1100105,42,1,2,0.0,1.0,78531,1,0 +8190,1100105,42,1,2,1.0,1.0,69586,1,0 +8191,1100105,42,1,2,0.0,1.0,78531,1,0 +8192,1100105,42,1,2,0.0,1.0,65851,1,0 +8193,1100105,42,1,2,0.0,1.0,65851,1,0 +8194,1100105,42,1,2,0.0,2.0,50654,1,1 +8195,1100105,42,1,2,0.0,2.0,50654,1,1 +8196,1100105,42,1,2,0.0,2.0,50654,1,1 +8197,1100105,42,1,2,1.0,3.0,64240,1,1 +8198,1100105,42,1,2,0.0,3.0,90117,1,1 +8199,1100105,42,1,2,0.0,3.0,90117,1,1 +8200,1100105,42,1,2,0.0,3.0,90117,1,1 +8201,1100105,42,1,2,1.0,1.0,54720,0,0 +8202,1100105,42,1,2,1.0,1.0,99440,0,0 +8203,1100105,42,1,2,0.0,1.0,50939,0,0 +8204,1100105,42,1,2,0.0,1.0,73909,0,0 +8205,1100105,42,1,2,0.0,1.0,73909,0,0 +8206,1100105,42,1,2,1.0,5.0,52355,0,0 +8207,1100105,42,1,2,1.0,5.0,52355,0,0 +8208,1100105,42,1,2,1.0,1.0,47972,2,0 +8209,1100105,42,1,2,1.0,1.0,34951,2,0 +8210,1100105,42,1,2,1.0,7.0,46405,2,0 +8211,1100105,42,1,2,1.0,7.0,46405,2,0 +8212,1100105,42,1,2,1.0,7.0,40857,2,0 +8213,1100105,42,1,2,0.0,7.0,39614,2,0 +8214,1100105,42,1,2,0.0,7.0,39614,2,0 +8215,1100105,42,1,2,0.0,7.0,46612,2,0 +8216,1100105,42,1,2,0.0,7.0,46612,2,0 +8217,1100105,42,1,2,1.0,5.0,36471,2,0 +8218,1100105,42,1,2,1.0,7.0,40857,2,0 +8219,1100105,42,1,2,2.0,1.0,34702,2,0 +8220,1100105,42,1,2,0.0,1.0,45633,2,0 +8221,1100105,42,1,2,0.0,7.0,46612,2,0 +8222,1100105,42,1,2,0.0,1.0,36082,2,0 +8223,1100105,42,1,2,0.0,1.0,36082,2,0 +8224,1100105,42,1,2,0.0,7.0,47855,1,0 +8225,1100105,42,1,2,1.0,1.0,31837,1,0 +8226,1100105,42,1,2,1.0,1.0,37704,1,0 +8227,1100105,42,1,2,1.0,1.0,37704,1,0 +8228,1100105,42,1,2,1.0,3.0,40465,1,0 +8229,1100105,42,1,2,1.0,5.0,48180,1,0 +8230,1100105,42,1,2,1.0,5.0,48180,1,0 +8231,1100105,42,1,2,1.0,5.0,48180,1,0 +8232,1100105,42,1,2,0.0,5.0,31735,1,0 +8233,1100105,42,1,2,0.0,5.0,31735,1,0 +8234,1100105,42,1,2,2.0,7.0,31975,1,0 +8235,1100105,42,1,2,1.0,7.0,39051,1,0 +8236,1100105,42,1,2,1.0,7.0,39051,1,0 +8237,1100105,42,1,2,2.0,7.0,31975,1,0 +8238,1100105,42,1,2,0.0,1.0,46694,1,0 +8239,1100105,42,1,2,0.0,5.0,38326,1,0 +8240,1100105,42,1,2,0.0,5.0,33940,1,0 +8241,1100105,42,1,2,0.0,3.0,32898,1,1 +8242,1100105,42,1,2,1.0,3.0,33429,1,1 +8243,1100105,42,1,2,1.0,3.0,33429,1,1 +8244,1100105,42,1,2,1.0,3.0,42550,1,1 +8245,1100105,42,1,2,1.0,3.0,42550,1,1 +8246,1100105,42,1,2,1.0,7.0,31000,0,0 +8247,1100105,42,1,2,0.0,1.0,36772,0,0 +8248,1100105,42,1,2,0.0,1.0,42469,0,0 +8249,1100105,42,1,2,1.0,7.0,31000,0,0 +8250,1100105,42,1,2,1.0,1.0,26948,0,0 +8251,1100105,42,1,2,1.0,1.0,35953,0,0 +8252,1100105,42,1,2,0.0,1.0,29978,0,0 +8253,1100105,42,1,2,0.0,5.0,1411,2,0 +8254,1100105,42,1,2,1.0,5.0,14432,2,0 +8255,1100105,42,1,2,1.0,3.0,12741,1,0 +8256,1100105,42,1,2,0.0,2.0,10706,1,0 +8257,1100105,42,1,2,0.0,7.0,5306,1,0 +8258,1100105,42,1,2,0.0,7.0,5306,1,0 +8259,1100105,42,1,2,0.0,7.0,5306,1,0 +8260,1100105,42,1,2,1.0,1.0,17609,1,0 +8261,1100105,42,1,2,0.0,7.0,5074,1,0 +8262,1100105,42,1,2,1.0,7.0,4244,1,0 +8263,1100105,42,1,2,1.0,5.0,23301,1,0 +8264,1100105,42,1,2,0.0,7.0,5074,1,0 +8265,1100105,42,1,2,0.0,2.0,10130,1,1 +8266,1100105,42,1,2,0.0,2.0,10130,1,1 +8267,1100105,42,1,2,0.0,1.0,16661,0,0 +8268,1100105,42,1,2,1.0,5.0,0,0,0 +8269,1100105,42,1,2,0.0,1.0,8565,0,0 +8270,1100105,42,1,2,0.0,3.0,6747,0,0 +8271,1100105,42,1,2,0.0,3.0,24213,0,0 +8272,1100105,42,1,2,0.0,7.0,0,0,0 +8273,1100105,42,1,2,0.0,5.0,4280,0,0 +8274,1100105,42,1,2,0.0,7.0,4246,0,0 +8275,1100105,42,1,2,0.0,5.0,4280,0,0 +8276,1100105,42,1,2,0.0,5.0,4280,0,0 +8277,1100105,42,1,2,0.0,7.0,0,0,0 +8278,1100105,42,1,2,0.0,7.0,0,0,0 +8279,1100105,42,1,2,0.0,7.0,5271,0,0 +8280,1100105,42,1,2,1.0,7.0,21275,0,0 +8281,1100105,42,1,2,0.0,7.0,5271,0,0 +8282,1100105,42,1,2,1.0,7.0,21275,0,0 +8283,1100105,42,1,2,1.0,7.0,1519,0,0 +8284,1100105,42,1,2,1.0,7.0,9957,0,0 +8285,1100105,42,1,2,0.0,5.0,0,0,0 +8286,1100105,42,1,2,1.0,1.0,21224,0,0 +8287,1100105,42,1,1,1.0,4.0,288732,1,0 +8288,1100105,42,1,1,1.0,4.0,288732,1,0 +8289,1100105,42,1,1,1.0,4.0,288732,1,0 +8290,1100105,42,1,1,1.0,4.0,458456,1,0 +8291,1100105,42,1,1,1.0,6.0,327625,1,0 +8292,1100105,42,1,1,1.0,4.0,200325,1,0 +8293,1100105,42,1,1,1.0,4.0,303929,1,0 +8294,1100105,42,1,1,1.0,4.0,303929,1,0 +8295,1100105,42,1,1,0.0,6.0,210869,1,0 +8296,1100105,42,1,1,1.0,6.0,677761,1,0 +8297,1100105,42,1,1,0.0,4.0,207710,1,0 +8298,1100105,42,1,1,1.0,4.0,793451,1,0 +8299,1100105,42,1,1,1.0,4.0,310751,1,0 +8300,1100105,42,1,1,1.0,4.0,219677,1,0 +8301,1100105,42,1,1,1.0,4.0,623131,1,0 +8302,1100105,42,1,1,1.0,6.0,325253,1,0 +8303,1100105,42,1,1,2.0,4.0,212750,1,0 +8304,1100105,42,1,1,1.0,6.0,210869,1,0 +8305,1100105,42,1,1,1.0,4.0,256961,1,0 +8306,1100105,42,1,1,1.0,4.0,228167,1,0 +8307,1100105,42,1,1,1.0,6.0,306212,1,0 +8308,1100105,42,1,1,0.0,4.0,237227,1,0 +8309,1100105,42,1,1,1.0,4.0,211993,1,0 +8310,1100105,42,1,1,1.0,6.0,229156,1,0 +8311,1100105,42,1,1,0.0,6.0,237469,1,0 +8312,1100105,42,1,1,1.0,4.0,211993,1,0 +8313,1100105,42,1,1,0.0,6.0,233012,1,0 +8314,1100105,42,1,1,1.0,6.0,414438,1,0 +8315,1100105,42,1,1,1.0,4.0,212301,1,0 +8316,1100105,42,1,1,1.0,4.0,318372,1,0 +8317,1100105,42,1,1,2.0,6.0,308994,1,0 +8318,1100105,42,1,1,1.0,6.0,217554,1,0 +8319,1100105,42,1,1,1.0,4.0,488808,1,0 +8320,1100105,42,1,1,1.0,4.0,310751,1,0 +8321,1100105,42,1,1,1.0,6.0,325253,1,0 +8322,1100105,42,1,1,1.0,4.0,329357,1,0 +8323,1100105,42,1,1,2.0,4.0,200325,1,0 +8324,1100105,42,1,1,0.0,4.0,233012,1,0 +8325,1100105,42,1,1,1.0,4.0,209594,1,0 +8326,1100105,42,1,1,1.0,6.0,326555,1,0 +8327,1100105,42,1,1,0.0,4.0,414335,1,0 +8328,1100105,42,1,1,1.0,6.0,421738,1,0 +8329,1100105,42,1,1,1.0,6.0,325253,1,0 +8330,1100105,42,1,1,0.0,6.0,254698,1,0 +8331,1100105,42,1,1,0.0,6.0,237469,1,0 +8332,1100105,42,1,1,1.0,4.0,235135,1,0 +8333,1100105,42,1,1,2.0,6.0,308994,1,0 +8334,1100105,42,1,1,1.0,4.0,793451,1,0 +8335,1100105,42,1,1,1.0,4.0,230901,1,0 +8336,1100105,42,1,1,1.0,4.0,329357,1,0 +8337,1100105,42,1,1,1.0,6.0,269912,1,0 +8338,1100105,42,1,1,1.0,4.0,217525,1,0 +8339,1100105,42,1,1,1.0,6.0,421738,1,0 +8340,1100105,42,1,1,0.0,4.0,414335,1,0 +8341,1100105,42,1,1,1.0,4.0,241117,1,0 +8342,1100105,42,1,1,1.0,4.0,219514,1,0 +8343,1100105,42,1,1,0.0,4.0,207710,1,0 +8344,1100105,42,1,1,1.0,6.0,326555,1,0 +8345,1100105,42,1,1,1.0,4.0,212301,1,0 +8346,1100105,42,1,1,1.0,4.0,414335,1,0 +8347,1100105,42,1,1,1.0,6.0,340658,1,0 +8348,1100105,42,1,1,0.0,6.0,254698,1,0 +8349,1100105,42,1,1,1.0,4.0,299788,1,0 +8350,1100105,42,1,1,0.0,4.0,233012,1,0 +8351,1100105,42,1,1,1.0,6.0,325253,1,0 +8352,1100105,42,1,1,1.0,6.0,254698,1,0 +8353,1100105,42,1,1,1.0,4.0,793451,1,0 +8354,1100105,42,1,1,0.0,4.0,329256,1,0 +8355,1100105,42,1,1,1.0,6.0,325253,1,0 +8356,1100105,42,1,1,0.0,4.0,717272,1,0 +8357,1100105,42,1,1,2.0,4.0,765455,1,0 +8358,1100105,42,1,1,1.0,4.0,617642,1,0 +8359,1100105,42,1,1,0.0,6.0,215789,1,0 +8360,1100105,42,1,1,1.0,4.0,210869,1,0 +8361,1100105,42,1,1,1.0,6.0,303929,1,0 +8362,1100105,42,1,1,1.0,4.0,210869,1,0 +8363,1100105,42,1,1,0.0,6.0,374735,1,0 +8364,1100105,42,1,1,0.0,6.0,202619,1,0 +8365,1100105,42,1,1,0.0,6.0,324191,1,0 +8366,1100105,42,1,1,0.0,6.0,324191,1,0 +8367,1100105,42,1,1,0.0,6.0,238077,1,0 +8368,1100105,42,1,1,1.0,6.0,243421,1,0 +8369,1100105,42,1,1,0.0,6.0,206131,1,0 +8370,1100105,42,1,1,0.0,4.0,257923,1,0 +8371,1100105,42,1,1,0.0,6.0,256887,1,0 +8372,1100105,42,1,1,0.0,6.0,307760,1,0 +8373,1100105,42,1,1,1.0,4.0,215847,1,0 +8374,1100105,42,1,1,1.0,4.0,445762,1,0 +8375,1100105,42,1,1,1.0,4.0,231897,1,0 +8376,1100105,42,1,1,0.0,6.0,307760,1,0 +8377,1100105,42,1,1,1.0,4.0,231897,1,0 +8378,1100105,42,1,1,1.0,6.0,243421,1,0 +8379,1100105,42,1,1,0.0,6.0,206131,1,0 +8380,1100105,42,1,1,1.0,6.0,243421,1,0 +8381,1100105,42,1,1,1.0,6.0,623131,1,0 +8382,1100105,42,1,1,2.0,6.0,633388,0,0 +8383,1100105,42,1,1,1.0,6.0,429645,0,0 +8384,1100105,42,1,1,1.0,4.0,204060,0,0 +8385,1100105,42,1,1,1.0,6.0,443036,0,0 +8386,1100105,42,1,1,2.0,6.0,633388,0,0 +8387,1100105,42,1,1,1.0,6.0,353393,0,0 +8388,1100105,42,1,1,2.0,6.0,633388,0,0 +8389,1100105,42,1,1,0.0,6.0,505151,0,0 +8390,1100105,42,1,1,0.0,6.0,505151,0,0 +8391,1100105,42,1,1,1.0,4.0,204060,0,0 +8392,1100105,42,1,1,1.0,4.0,283667,0,0 +8393,1100105,42,1,1,1.0,4.0,283667,0,0 +8394,1100105,42,1,1,1.0,6.0,286927,0,0 +8395,1100105,42,1,1,1.0,4.0,231956,0,0 +8396,1100105,42,1,1,0.0,6.0,181136,1,0 +8397,1100105,42,1,1,0.0,4.0,156016,1,0 +8398,1100105,42,1,1,0.0,6.0,165734,1,0 +8399,1100105,42,1,1,0.0,4.0,162896,1,0 +8400,1100105,42,1,1,6.0,4.0,180411,1,0 +8401,1100105,42,1,1,1.0,6.0,192721,1,0 +8402,1100105,42,1,1,1.0,6.0,192721,1,0 +8403,1100105,42,1,1,0.0,4.0,193256,1,0 +8404,1100105,42,1,1,0.0,4.0,193256,1,0 +8405,1100105,42,1,1,0.0,4.0,164598,1,0 +8406,1100105,42,1,1,1.0,4.0,195054,1,0 +8407,1100105,42,1,1,1.0,4.0,170913,1,0 +8408,1100105,42,1,1,1.0,6.0,150196,1,0 +8409,1100105,42,1,1,1.0,4.0,181375,1,0 +8410,1100105,42,1,1,0.0,4.0,187367,1,0 +8411,1100105,42,1,1,0.0,4.0,150244,1,0 +8412,1100105,42,1,1,0.0,6.0,155375,1,0 +8413,1100105,42,1,1,0.0,6.0,153990,1,0 +8414,1100105,42,1,1,1.0,4.0,199580,1,0 +8415,1100105,42,1,1,1.0,4.0,176092,1,0 +8416,1100105,42,1,1,0.0,4.0,150244,1,0 +8417,1100105,42,1,1,2.0,4.0,156960,1,0 +8418,1100105,42,1,1,1.0,6.0,156570,1,0 +8419,1100105,42,1,1,1.0,6.0,165734,1,0 +8420,1100105,42,1,1,0.0,4.0,166769,1,0 +8421,1100105,42,1,1,1.0,6.0,150196,1,0 +8422,1100105,42,1,1,1.0,4.0,165610,1,0 +8423,1100105,42,1,1,1.0,4.0,172226,1,0 +8424,1100105,42,1,1,1.0,6.0,169798,1,0 +8425,1100105,42,1,1,1.0,4.0,154176,1,0 +8426,1100105,42,1,1,1.0,4.0,181375,1,0 +8427,1100105,42,1,1,1.0,4.0,175265,1,0 +8428,1100105,42,1,1,0.0,6.0,150951,1,0 +8429,1100105,42,1,1,1.0,4.0,167782,1,0 +8430,1100105,42,1,1,0.0,6.0,150951,1,0 +8431,1100105,42,1,1,1.0,6.0,150196,1,0 +8432,1100105,42,1,1,0.0,4.0,150244,1,0 +8433,1100105,42,1,1,0.0,6.0,192721,1,0 +8434,1100105,42,1,1,1.0,4.0,163529,1,0 +8435,1100105,42,1,1,0.0,4.0,157097,1,0 +8436,1100105,42,1,1,1.0,4.0,161308,1,0 +8437,1100105,42,1,1,2.0,4.0,156960,1,0 +8438,1100105,42,1,1,1.0,4.0,165610,1,0 +8439,1100105,42,1,1,1.0,4.0,163423,1,0 +8440,1100105,42,1,1,1.0,4.0,181375,1,0 +8441,1100105,42,1,1,1.0,6.0,162791,1,0 +8442,1100105,42,1,1,1.0,6.0,165553,1,0 +8443,1100105,42,1,1,0.0,4.0,194210,1,0 +8444,1100105,42,1,1,1.0,4.0,165610,1,0 +8445,1100105,42,1,1,0.0,6.0,151964,1,0 +8446,1100105,42,1,1,1.0,4.0,182610,1,0 +8447,1100105,42,1,1,0.0,4.0,159056,1,0 +8448,1100105,42,1,1,0.0,6.0,152880,1,0 +8449,1100105,42,1,1,0.0,4.0,151964,1,0 +8450,1100105,42,1,1,0.0,6.0,171307,1,0 +8451,1100105,42,1,1,0.0,6.0,157550,1,0 +8452,1100105,42,1,1,0.0,6.0,197553,1,0 +8453,1100105,42,1,1,0.0,4.0,161631,1,0 +8454,1100105,42,1,1,0.0,4.0,152880,1,0 +8455,1100105,42,1,1,0.0,6.0,162095,1,0 +8456,1100105,42,1,1,0.0,6.0,166703,1,0 +8457,1100105,42,1,1,0.0,4.0,175104,1,0 +8458,1100105,42,1,1,0.0,4.0,182408,1,0 +8459,1100105,42,1,1,0.0,4.0,151825,1,0 +8460,1100105,42,1,1,1.0,4.0,179238,1,0 +8461,1100105,42,1,1,1.0,6.0,188438,1,0 +8462,1100105,42,1,1,0.0,6.0,166703,1,0 +8463,1100105,42,1,1,1.0,4.0,153304,1,0 +8464,1100105,42,1,1,0.0,4.0,161631,1,0 +8465,1100105,42,1,1,0.0,4.0,180650,1,0 +8466,1100105,42,1,1,0.0,4.0,151825,1,0 +8467,1100105,42,1,1,1.0,4.0,159186,1,0 +8468,1100105,42,1,1,0.0,4.0,174019,1,0 +8469,1100105,42,1,1,1.0,4.0,178305,1,0 +8470,1100105,42,1,1,1.0,6.0,180411,1,0 +8471,1100105,42,1,1,0.0,6.0,163431,1,0 +8472,1100105,42,1,1,1.0,4.0,179238,1,0 +8473,1100105,42,1,1,0.0,4.0,151825,1,0 +8474,1100105,42,1,1,1.0,4.0,159186,1,0 +8475,1100105,42,1,1,1.0,4.0,153304,1,0 +8476,1100105,42,1,1,0.0,6.0,166703,1,0 +8477,1100105,42,1,1,1.0,4.0,171307,1,0 +8478,1100105,42,1,1,0.0,4.0,196329,1,0 +8479,1100105,42,1,1,0.0,6.0,159186,1,0 +8480,1100105,42,1,1,0.0,4.0,196329,1,0 +8481,1100105,42,1,1,0.0,4.0,196329,1,0 +8482,1100105,42,1,1,0.0,4.0,196329,1,0 +8483,1100105,42,1,1,0.0,6.0,167161,1,0 +8484,1100105,42,1,1,0.0,4.0,175104,1,0 +8485,1100105,42,1,1,1.0,4.0,191023,0,0 +8486,1100105,42,1,1,0.0,4.0,192190,0,0 +8487,1100105,42,1,1,0.0,6.0,167909,0,0 +8488,1100105,42,1,1,1.0,6.0,151964,0,0 +8489,1100105,42,1,1,1.0,4.0,183807,0,0 +8490,1100105,42,1,1,1.0,4.0,115087,1,0 +8491,1100105,42,1,1,1.0,6.0,127838,1,0 +8492,1100105,42,1,1,0.0,6.0,140932,1,0 +8493,1100105,42,1,1,1.0,4.0,108762,1,0 +8494,1100105,42,1,1,0.0,6.0,111671,1,0 +8495,1100105,42,1,1,1.0,4.0,111430,1,0 +8496,1100105,42,1,1,0.0,6.0,111430,1,0 +8497,1100105,42,1,1,1.0,4.0,127349,1,0 +8498,1100105,42,1,1,1.0,4.0,127349,1,0 +8499,1100105,42,1,1,1.0,4.0,103583,1,0 +8500,1100105,42,1,1,1.0,4.0,127349,1,0 +8501,1100105,42,1,1,0.0,6.0,121571,1,0 +8502,1100105,42,1,1,0.0,4.0,143267,1,0 +8503,1100105,42,1,1,1.0,6.0,113466,1,0 +8504,1100105,42,1,1,0.0,6.0,137961,1,0 +8505,1100105,42,1,1,1.0,6.0,124300,1,0 +8506,1100105,42,1,1,1.0,4.0,102940,1,0 +8507,1100105,42,1,1,1.0,4.0,123127,1,0 +8508,1100105,42,1,1,0.0,4.0,124165,1,0 +8509,1100105,42,1,1,1.0,6.0,113466,1,0 +8510,1100105,42,1,1,0.0,6.0,137961,1,0 +8511,1100105,42,1,1,1.0,6.0,113466,1,0 +8512,1100105,42,1,1,0.0,6.0,137961,1,0 +8513,1100105,42,1,1,0.0,6.0,105434,1,0 +8514,1100105,42,1,1,0.0,4.0,105434,1,0 +8515,1100105,42,1,1,1.0,6.0,113466,1,0 +8516,1100105,42,1,1,0.0,6.0,109902,1,0 +8517,1100105,42,1,1,0.0,6.0,105434,1,0 +8518,1100105,42,1,1,0.0,4.0,103583,1,0 +8519,1100105,42,1,1,1.0,6.0,113942,1,0 +8520,1100105,42,1,1,1.0,4.0,132655,1,0 +8521,1100105,42,1,1,1.0,6.0,100817,1,0 +8522,1100105,42,1,1,1.0,4.0,113974,1,0 +8523,1100105,42,1,1,0.0,6.0,139838,1,0 +8524,1100105,42,1,1,0.0,4.0,100817,1,0 +8525,1100105,42,1,1,0.0,6.0,124300,1,0 +8526,1100105,42,1,1,0.0,4.0,131743,1,0 +8527,1100105,42,1,1,0.0,4.0,127349,1,0 +8528,1100105,42,1,1,0.0,4.0,117774,1,0 +8529,1100105,42,1,1,1.0,4.0,146682,1,0 +8530,1100105,42,1,1,1.0,6.0,123127,1,0 +8531,1100105,42,1,1,1.0,4.0,113942,1,0 +8532,1100105,42,1,1,0.0,6.0,125624,1,0 +8533,1100105,42,1,1,0.0,6.0,129479,1,0 +8534,1100105,42,1,1,0.0,4.0,100817,1,0 +8535,1100105,42,1,1,1.0,4.0,113974,1,0 +8536,1100105,42,1,1,0.0,6.0,125624,1,0 +8537,1100105,42,1,1,0.0,6.0,124300,1,0 +8538,1100105,42,1,1,0.0,4.0,103325,1,0 +8539,1100105,42,1,1,0.0,6.0,139838,1,0 +8540,1100105,42,1,1,1.0,4.0,113942,1,0 +8541,1100105,42,1,1,1.0,4.0,105434,1,0 +8542,1100105,42,1,1,1.0,6.0,125226,1,0 +8543,1100105,42,1,1,0.0,6.0,148823,1,0 +8544,1100105,42,1,1,1.0,4.0,101309,1,0 +8545,1100105,42,1,1,0.0,6.0,115493,1,0 +8546,1100105,42,1,1,0.0,6.0,105434,1,0 +8547,1100105,42,1,1,1.0,6.0,136768,1,0 +8548,1100105,42,1,1,0.0,6.0,124300,1,0 +8549,1100105,42,1,1,0.0,6.0,129479,1,0 +8550,1100105,42,1,1,1.0,4.0,115978,1,0 +8551,1100105,42,1,1,1.0,6.0,119121,1,0 +8552,1100105,42,1,1,0.0,4.0,111440,1,0 +8553,1100105,42,1,1,1.0,6.0,124610,1,0 +8554,1100105,42,1,1,0.0,4.0,116736,1,0 +8555,1100105,42,1,1,1.0,6.0,136768,1,0 +8556,1100105,42,1,1,1.0,6.0,103583,1,0 +8557,1100105,42,1,1,1.0,4.0,109307,1,0 +8558,1100105,42,1,1,0.0,6.0,133834,1,0 +8559,1100105,42,1,1,1.0,4.0,123358,1,0 +8560,1100105,42,1,1,0.0,6.0,113869,1,0 +8561,1100105,42,1,1,1.0,4.0,113942,1,0 +8562,1100105,42,1,1,0.0,6.0,139838,1,0 +8563,1100105,42,1,1,0.0,6.0,133834,1,0 +8564,1100105,42,1,1,1.0,6.0,140083,1,0 +8565,1100105,42,1,1,1.0,4.0,108762,1,0 +8566,1100105,42,1,1,0.0,4.0,127349,1,0 +8567,1100105,42,1,1,0.0,6.0,114562,1,0 +8568,1100105,42,1,1,0.0,4.0,134658,1,0 +8569,1100105,42,1,1,0.0,6.0,115493,1,0 +8570,1100105,42,1,1,1.0,6.0,105434,1,0 +8571,1100105,42,1,1,1.0,4.0,127349,1,0 +8572,1100105,42,1,1,1.0,6.0,124610,1,0 +8573,1100105,42,1,1,1.0,6.0,136768,1,0 +8574,1100105,42,1,1,0.0,6.0,113942,1,0 +8575,1100105,42,1,1,0.0,4.0,100817,1,0 +8576,1100105,42,1,1,0.0,4.0,127349,1,0 +8577,1100105,42,1,1,1.0,6.0,123127,1,0 +8578,1100105,42,1,1,1.0,4.0,125226,1,0 +8579,1100105,42,1,1,1.0,4.0,123358,1,0 +8580,1100105,42,1,1,0.0,4.0,100817,1,0 +8581,1100105,42,1,1,1.0,6.0,136900,1,0 +8582,1100105,42,1,1,0.0,6.0,134658,1,0 +8583,1100105,42,1,1,1.0,4.0,127349,1,0 +8584,1100105,42,1,1,0.0,4.0,101309,1,0 +8585,1100105,42,1,1,1.0,4.0,139187,1,0 +8586,1100105,42,1,1,1.0,4.0,107067,1,0 +8587,1100105,42,1,1,0.0,6.0,124300,1,0 +8588,1100105,42,1,1,1.0,6.0,137064,1,0 +8589,1100105,42,1,1,0.0,6.0,122797,1,0 +8590,1100105,42,1,1,1.0,6.0,123127,1,0 +8591,1100105,42,1,1,0.0,6.0,134658,1,0 +8592,1100105,42,1,1,1.0,6.0,123127,1,0 +8593,1100105,42,1,1,0.0,4.0,127349,1,0 +8594,1100105,42,1,1,1.0,6.0,136900,1,0 +8595,1100105,42,1,1,0.0,4.0,138077,1,0 +8596,1100105,42,1,1,0.0,4.0,117774,1,0 +8597,1100105,42,1,1,1.0,6.0,124610,1,0 +8598,1100105,42,1,1,1.0,4.0,138802,1,0 +8599,1100105,42,1,1,1.0,4.0,113942,1,0 +8600,1100105,42,1,1,1.0,6.0,136768,1,0 +8601,1100105,42,1,1,0.0,4.0,117032,1,0 +8602,1100105,42,1,1,1.0,4.0,123358,1,0 +8603,1100105,42,1,1,1.0,4.0,138802,1,0 +8604,1100105,42,1,1,0.0,6.0,143267,1,0 +8605,1100105,42,1,1,1.0,4.0,120157,1,0 +8606,1100105,42,1,1,1.0,4.0,142427,1,0 +8607,1100105,42,1,1,0.0,4.0,143391,1,0 +8608,1100105,42,1,1,0.0,6.0,115493,1,0 +8609,1100105,42,1,1,1.0,6.0,100373,1,0 +8610,1100105,42,1,1,0.0,4.0,128568,1,0 +8611,1100105,42,1,1,1.0,6.0,144328,1,0 +8612,1100105,42,1,1,1.0,6.0,131702,1,0 +8613,1100105,42,1,1,0.0,6.0,107727,1,0 +8614,1100105,42,1,1,0.0,4.0,139838,1,0 +8615,1100105,42,1,1,0.0,6.0,128480,1,0 +8616,1100105,42,1,1,1.0,4.0,137961,1,0 +8617,1100105,42,1,1,0.0,6.0,124509,1,0 +8618,1100105,42,1,1,0.0,4.0,116736,1,0 +8619,1100105,42,1,1,0.0,6.0,113942,1,0 +8620,1100105,42,1,1,0.0,6.0,139187,1,0 +8621,1100105,42,1,1,1.0,4.0,120157,1,0 +8622,1100105,42,1,1,1.0,4.0,103583,1,0 +8623,1100105,42,1,1,1.0,6.0,123127,1,0 +8624,1100105,42,1,1,1.0,6.0,105434,1,0 +8625,1100105,42,1,1,0.0,4.0,117032,1,0 +8626,1100105,42,1,1,0.0,4.0,106124,1,0 +8627,1100105,42,1,1,1.0,4.0,139187,1,0 +8628,1100105,42,1,1,1.0,6.0,124610,1,0 +8629,1100105,42,1,1,0.0,6.0,115493,1,0 +8630,1100105,42,1,1,1.0,4.0,109307,1,0 +8631,1100105,42,1,1,0.0,4.0,108342,1,0 +8632,1100105,42,1,1,0.0,4.0,121571,1,0 +8633,1100105,42,1,1,0.0,4.0,134658,1,0 +8634,1100105,42,1,1,1.0,4.0,148925,1,0 +8635,1100105,42,1,1,0.0,6.0,107727,1,0 +8636,1100105,42,1,1,0.0,4.0,101309,1,0 +8637,1100105,42,1,1,0.0,6.0,139187,1,0 +8638,1100105,42,1,1,1.0,6.0,142945,1,0 +8639,1100105,42,1,1,1.0,6.0,116736,1,0 +8640,1100105,42,1,1,0.0,4.0,110279,1,0 +8641,1100105,42,1,1,1.0,4.0,145499,1,0 +8642,1100105,42,1,1,1.0,6.0,120157,1,0 +8643,1100105,42,1,1,0.0,6.0,129479,1,0 +8644,1100105,42,1,1,0.0,4.0,128568,1,0 +8645,1100105,42,1,1,1.0,6.0,101309,1,0 +8646,1100105,42,1,1,0.0,4.0,103635,1,0 +8647,1100105,42,1,1,1.0,6.0,148573,1,0 +8648,1100105,42,1,1,1.0,4.0,106177,1,0 +8649,1100105,42,1,1,1.0,4.0,113974,1,0 +8650,1100105,42,1,1,0.0,6.0,115493,1,0 +8651,1100105,42,1,1,0.0,4.0,117774,1,0 +8652,1100105,42,1,1,0.0,4.0,101309,1,0 +8653,1100105,42,1,1,1.0,6.0,144540,1,0 +8654,1100105,42,1,1,0.0,6.0,113942,1,0 +8655,1100105,42,1,1,1.0,6.0,123127,1,0 +8656,1100105,42,1,1,1.0,6.0,140083,1,0 +8657,1100105,42,1,1,0.0,6.0,143267,1,0 +8658,1100105,42,1,1,1.0,6.0,119121,1,0 +8659,1100105,42,1,1,0.0,4.0,127433,1,0 +8660,1100105,42,1,1,1.0,4.0,103583,1,0 +8661,1100105,42,1,1,0.0,4.0,111440,1,0 +8662,1100105,42,1,1,0.0,4.0,148573,1,0 +8663,1100105,42,1,1,0.0,4.0,101217,1,0 +8664,1100105,42,1,1,1.0,6.0,106375,1,0 +8665,1100105,42,1,1,1.0,4.0,146392,1,0 +8666,1100105,42,1,1,0.0,6.0,147608,1,0 +8667,1100105,42,1,1,1.0,4.0,111760,1,0 +8668,1100105,42,1,1,1.0,4.0,146392,1,0 +8669,1100105,42,1,1,0.0,4.0,136768,1,0 +8670,1100105,42,1,1,1.0,4.0,100296,1,0 +8671,1100105,42,1,1,0.0,4.0,111440,1,0 +8672,1100105,42,1,1,1.0,6.0,128480,1,0 +8673,1100105,42,1,1,1.0,4.0,111760,1,0 +8674,1100105,42,1,1,0.0,6.0,108597,1,0 +8675,1100105,42,1,1,0.0,4.0,117774,1,0 +8676,1100105,42,1,1,1.0,4.0,101217,1,0 +8677,1100105,42,1,1,1.0,6.0,114978,1,0 +8678,1100105,42,1,1,0.0,4.0,117519,1,0 +8679,1100105,42,1,1,0.0,4.0,114562,1,0 +8680,1100105,42,1,1,0.0,4.0,117519,1,0 +8681,1100105,42,1,1,0.0,4.0,148573,1,0 +8682,1100105,42,1,1,0.0,4.0,117519,1,0 +8683,1100105,42,1,1,0.0,6.0,105434,1,0 +8684,1100105,42,1,1,0.0,6.0,105434,1,0 +8685,1100105,42,1,1,0.0,4.0,114562,1,0 +8686,1100105,42,1,1,1.0,4.0,114614,1,0 +8687,1100105,42,1,1,0.0,6.0,105434,1,0 +8688,1100105,42,1,1,1.0,6.0,105655,1,0 +8689,1100105,42,1,1,1.0,6.0,110706,1,0 +8690,1100105,42,1,1,1.0,6.0,122584,1,0 +8691,1100105,42,1,1,1.0,4.0,105655,1,0 +8692,1100105,42,1,1,1.0,6.0,122584,1,0 +8693,1100105,42,1,1,1.0,6.0,119141,1,0 +8694,1100105,42,1,1,2.0,4.0,108597,1,0 +8695,1100105,42,1,1,1.0,4.0,137117,1,0 +8696,1100105,42,1,1,0.0,6.0,125322,1,0 +8697,1100105,42,1,1,0.0,6.0,119915,1,0 +8698,1100105,42,1,1,0.0,6.0,117049,1,0 +8699,1100105,42,1,1,2.0,4.0,108597,1,0 +8700,1100105,42,1,1,1.0,6.0,122584,1,0 +8701,1100105,42,1,1,1.0,6.0,113869,1,0 +8702,1100105,42,1,1,1.0,6.0,123127,1,0 +8703,1100105,42,1,1,1.0,4.0,132847,1,0 +8704,1100105,42,1,1,0.0,6.0,108597,1,0 +8705,1100105,42,1,1,0.0,6.0,116736,1,0 +8706,1100105,42,1,1,0.0,6.0,134658,1,0 +8707,1100105,42,1,1,1.0,6.0,113869,1,0 +8708,1100105,42,1,1,1.0,4.0,108401,1,0 +8709,1100105,42,1,1,0.0,6.0,101309,1,0 +8710,1100105,42,1,1,0.0,6.0,131702,1,0 +8711,1100105,42,1,1,1.0,6.0,147752,1,0 +8712,1100105,42,1,1,1.0,4.0,106124,1,0 +8713,1100105,42,1,1,1.0,4.0,137117,1,0 +8714,1100105,42,1,1,0.0,4.0,131793,1,0 +8715,1100105,42,1,1,0.0,6.0,142336,1,0 +8716,1100105,42,1,1,0.0,4.0,116506,1,0 +8717,1100105,42,1,1,0.0,6.0,120157,1,0 +8718,1100105,42,1,1,1.0,4.0,131702,1,0 +8719,1100105,42,1,1,0.0,6.0,107388,1,0 +8720,1100105,42,1,1,0.0,6.0,102784,1,0 +8721,1100105,42,1,1,0.0,6.0,141833,1,0 +8722,1100105,42,1,1,0.0,6.0,107388,1,0 +8723,1100105,42,1,1,1.0,4.0,131905,1,0 +8724,1100105,42,1,1,1.0,4.0,116703,1,0 +8725,1100105,42,1,1,0.0,4.0,122228,1,0 +8726,1100105,42,1,1,0.0,4.0,127349,1,0 +8727,1100105,42,1,1,0.0,6.0,119915,1,0 +8728,1100105,42,1,1,0.0,4.0,106124,1,0 +8729,1100105,42,1,1,0.0,4.0,143267,1,0 +8730,1100105,42,1,1,0.0,6.0,100643,1,0 +8731,1100105,42,1,1,0.0,6.0,107388,1,0 +8732,1100105,42,1,1,0.0,4.0,106124,1,0 +8733,1100105,42,1,1,1.0,4.0,103335,1,0 +8734,1100105,42,1,1,0.0,4.0,133749,1,0 +8735,1100105,42,1,1,1.0,4.0,115978,1,0 +8736,1100105,42,1,1,1.0,4.0,116703,1,0 +8737,1100105,42,1,1,0.0,4.0,131793,1,0 +8738,1100105,42,1,1,1.0,4.0,121774,1,0 +8739,1100105,42,1,1,1.0,4.0,116703,1,0 +8740,1100105,42,1,1,1.0,4.0,108401,1,0 +8741,1100105,42,1,1,0.0,6.0,100643,1,0 +8742,1100105,42,1,1,1.0,6.0,149894,1,0 +8743,1100105,42,1,1,1.0,4.0,132655,1,0 +8744,1100105,42,1,1,0.0,6.0,120986,1,0 +8745,1100105,42,1,1,1.0,6.0,110706,1,0 +8746,1100105,42,1,1,0.0,6.0,131702,1,0 +8747,1100105,42,1,1,0.0,4.0,143391,1,0 +8748,1100105,42,1,1,0.0,6.0,120986,1,0 +8749,1100105,42,1,1,0.0,6.0,102784,1,0 +8750,1100105,42,1,1,0.0,6.0,141833,1,0 +8751,1100105,42,1,1,0.0,4.0,131793,1,0 +8752,1100105,42,1,1,0.0,6.0,131702,1,0 +8753,1100105,42,1,1,0.0,6.0,108597,1,0 +8754,1100105,42,1,1,0.0,4.0,107388,1,0 +8755,1100105,42,1,1,1.0,4.0,132655,1,0 +8756,1100105,42,1,1,1.0,6.0,100162,1,0 +8757,1100105,42,1,1,0.0,4.0,143267,1,0 +8758,1100105,42,1,1,0.0,6.0,120157,1,0 +8759,1100105,42,1,1,1.0,6.0,119920,1,0 +8760,1100105,42,1,1,0.0,6.0,134658,1,0 +8761,1100105,42,1,1,0.0,6.0,142336,1,0 +8762,1100105,42,1,1,1.0,6.0,113466,1,0 +8763,1100105,42,1,1,1.0,4.0,112420,1,0 +8764,1100105,42,1,1,0.0,6.0,120157,1,0 +8765,1100105,42,1,1,0.0,6.0,142336,1,0 +8766,1100105,42,1,1,0.0,6.0,102784,1,0 +8767,1100105,42,1,1,0.0,4.0,122228,1,0 +8768,1100105,42,1,1,1.0,6.0,105686,1,0 +8769,1100105,42,1,1,1.0,6.0,119141,1,0 +8770,1100105,42,1,1,1.0,4.0,109346,1,0 +8771,1100105,42,1,1,0.0,4.0,131793,1,0 +8772,1100105,42,1,1,0.0,6.0,120986,1,0 +8773,1100105,42,1,1,0.0,6.0,102784,1,0 +8774,1100105,42,1,1,1.0,4.0,116703,1,0 +8775,1100105,42,1,1,0.0,6.0,102784,1,0 +8776,1100105,42,1,1,1.0,6.0,147752,1,0 +8777,1100105,42,1,1,0.0,6.0,116736,1,0 +8778,1100105,42,1,1,1.0,4.0,109360,1,0 +8779,1100105,42,1,1,1.0,6.0,111440,1,0 +8780,1100105,42,1,1,0.0,6.0,120986,1,0 +8781,1100105,42,1,1,1.0,6.0,122584,1,0 +8782,1100105,42,1,1,0.0,4.0,133749,1,0 +8783,1100105,42,1,1,1.0,6.0,149894,1,0 +8784,1100105,42,1,1,0.0,6.0,122056,1,0 +8785,1100105,42,1,1,0.0,6.0,131702,1,0 +8786,1100105,42,1,1,0.0,6.0,114479,1,0 +8787,1100105,42,1,1,1.0,6.0,116703,1,0 +8788,1100105,42,1,1,1.0,4.0,101713,1,0 +8789,1100105,42,1,1,1.0,4.0,121774,1,0 +8790,1100105,42,1,1,1.0,6.0,104925,1,0 +8791,1100105,42,1,1,1.0,4.0,108401,1,0 +8792,1100105,42,1,1,0.0,4.0,122228,1,0 +8793,1100105,42,1,1,0.0,4.0,143267,1,0 +8794,1100105,42,1,1,0.0,6.0,119915,1,0 +8795,1100105,42,1,1,0.0,4.0,142399,1,0 +8796,1100105,42,1,1,0.0,6.0,120157,1,0 +8797,1100105,42,1,1,0.0,6.0,120157,1,0 +8798,1100105,42,1,1,0.0,4.0,101309,1,0 +8799,1100105,42,1,1,1.0,4.0,107727,1,0 +8800,1100105,42,1,1,0.0,4.0,142399,1,0 +8801,1100105,42,1,1,0.0,4.0,101309,1,0 +8802,1100105,42,1,1,0.0,4.0,112502,0,0 +8803,1100105,42,1,1,1.0,4.0,117519,0,0 +8804,1100105,42,1,1,0.0,4.0,112502,0,0 +8805,1100105,42,1,1,1.0,4.0,117519,0,0 +8806,1100105,42,1,1,1.0,4.0,119224,0,0 +8807,1100105,42,1,1,1.0,4.0,119224,0,0 +8808,1100105,42,1,1,1.0,4.0,117519,0,0 +8809,1100105,42,1,1,0.0,6.0,111643,0,0 +8810,1100105,42,1,1,0.0,4.0,112502,0,0 +8811,1100105,42,1,1,1.0,4.0,109307,0,0 +8812,1100105,42,1,1,1.0,6.0,131551,0,0 +8813,1100105,42,1,1,1.0,6.0,101005,0,0 +8814,1100105,42,1,1,0.0,4.0,107816,0,0 +8815,1100105,42,1,1,1.0,6.0,126372,0,0 +8816,1100105,42,1,1,1.0,6.0,126372,0,0 +8817,1100105,42,1,1,1.0,6.0,126372,0,0 +8818,1100105,42,1,1,1.0,4.0,107727,0,0 +8819,1100105,42,1,1,0.0,4.0,124610,0,0 +8820,1100105,42,1,1,0.0,4.0,124610,0,0 +8821,1100105,42,1,1,0.0,4.0,71103,1,0 +8822,1100105,42,1,1,1.0,6.0,61135,1,0 +8823,1100105,42,1,1,0.0,4.0,81184,1,0 +8824,1100105,42,1,1,1.0,6.0,89619,1,0 +8825,1100105,42,1,1,0.0,4.0,65775,1,0 +8826,1100105,42,1,1,1.0,6.0,61135,1,0 +8827,1100105,42,1,1,1.0,4.0,74732,1,0 +8828,1100105,42,1,1,1.0,6.0,82441,1,0 +8829,1100105,42,1,1,1.0,4.0,54604,1,0 +8830,1100105,42,1,1,0.0,4.0,99272,1,0 +8831,1100105,42,1,1,0.0,4.0,99272,1,0 +8832,1100105,42,1,1,0.0,4.0,99272,1,0 +8833,1100105,42,1,1,1.0,6.0,57989,1,0 +8834,1100105,42,1,1,1.0,6.0,99440,1,0 +8835,1100105,42,1,1,1.0,6.0,70916,1,0 +8836,1100105,42,1,1,1.0,4.0,63825,1,0 +8837,1100105,42,1,1,1.0,6.0,97257,1,0 +8838,1100105,42,1,1,0.0,6.0,79241,1,0 +8839,1100105,42,1,1,1.0,6.0,99440,1,0 +8840,1100105,42,1,1,1.0,4.0,82867,1,0 +8841,1100105,42,1,1,1.0,4.0,81047,1,0 +8842,1100105,42,1,1,1.0,4.0,82867,1,0 +8843,1100105,42,1,1,0.0,6.0,69401,1,0 +8844,1100105,42,1,1,1.0,6.0,75982,1,0 +8845,1100105,42,1,1,2.0,6.0,87010,1,0 +8846,1100105,42,1,1,1.0,4.0,82867,1,0 +8847,1100105,42,1,1,1.0,6.0,70916,1,0 +8848,1100105,42,1,1,1.0,6.0,97257,1,0 +8849,1100105,42,1,1,0.0,4.0,51802,1,0 +8850,1100105,42,1,1,0.0,6.0,64735,1,0 +8851,1100105,42,1,1,1.0,4.0,71695,1,0 +8852,1100105,42,1,1,0.0,6.0,90673,1,0 +8853,1100105,42,1,1,1.0,4.0,75982,1,0 +8854,1100105,42,1,1,1.0,6.0,92782,1,0 +8855,1100105,42,1,1,1.0,6.0,93225,1,0 +8856,1100105,42,1,1,1.0,4.0,61028,1,0 +8857,1100105,42,1,1,1.0,6.0,70641,1,0 +8858,1100105,42,1,1,0.0,4.0,99756,1,0 +8859,1100105,42,1,1,0.0,6.0,74286,1,0 +8860,1100105,42,1,1,1.0,6.0,82238,1,0 +8861,1100105,42,1,1,1.0,6.0,50654,1,0 +8862,1100105,42,1,1,1.0,6.0,70641,1,0 +8863,1100105,42,1,1,0.0,4.0,76338,1,0 +8864,1100105,42,1,1,1.0,6.0,79933,1,0 +8865,1100105,42,1,1,0.0,6.0,88865,1,0 +8866,1100105,42,1,1,0.0,6.0,89619,1,0 +8867,1100105,42,1,1,1.0,6.0,70641,1,0 +8868,1100105,42,1,1,1.0,6.0,58887,1,0 +8869,1100105,42,1,1,1.0,4.0,65797,1,0 +8870,1100105,42,1,1,0.0,6.0,71929,1,0 +8871,1100105,42,1,1,0.0,6.0,79593,1,0 +8872,1100105,42,1,1,0.0,6.0,75982,1,0 +8873,1100105,42,1,1,1.0,6.0,60785,1,0 +8874,1100105,42,1,1,1.0,4.0,74947,1,0 +8875,1100105,42,1,1,0.0,4.0,95289,1,0 +8876,1100105,42,1,1,1.0,6.0,93225,1,0 +8877,1100105,42,1,1,1.0,6.0,54707,1,0 +8878,1100105,42,1,1,1.0,4.0,64221,1,0 +8879,1100105,42,1,1,0.0,4.0,94922,1,0 +8880,1100105,42,1,1,1.0,6.0,71929,1,0 +8881,1100105,42,1,1,0.0,6.0,75982,1,0 +8882,1100105,42,1,1,1.0,4.0,95511,1,0 +8883,1100105,42,1,1,0.0,6.0,58368,1,0 +8884,1100105,42,1,1,1.0,6.0,70641,1,0 +8885,1100105,42,1,1,1.0,4.0,94891,1,0 +8886,1100105,42,1,1,1.0,4.0,84899,1,0 +8887,1100105,42,1,1,0.0,6.0,97004,1,0 +8888,1100105,42,1,1,1.0,4.0,65797,1,0 +8889,1100105,42,1,1,1.0,4.0,95511,1,0 +8890,1100105,42,1,1,1.0,6.0,96244,1,0 +8891,1100105,42,1,1,1.0,4.0,74947,1,0 +8892,1100105,42,1,1,0.0,6.0,58368,1,0 +8893,1100105,42,1,1,0.0,6.0,75982,1,0 +8894,1100105,42,1,1,1.0,6.0,78266,1,0 +8895,1100105,42,1,1,1.0,6.0,74947,1,0 +8896,1100105,42,1,1,1.0,4.0,70436,1,0 +8897,1100105,42,1,1,0.0,4.0,74947,1,0 +8898,1100105,42,1,1,1.0,6.0,96244,1,0 +8899,1100105,42,1,1,1.0,4.0,68237,1,0 +8900,1100105,42,1,1,0.0,6.0,88865,1,0 +8901,1100105,42,1,1,1.0,4.0,74947,1,0 +8902,1100105,42,1,1,1.0,6.0,70641,1,0 +8903,1100105,42,1,1,1.0,6.0,58887,1,0 +8904,1100105,42,1,1,1.0,4.0,65797,1,0 +8905,1100105,42,1,1,1.0,4.0,61028,1,0 +8906,1100105,42,1,1,1.0,4.0,77501,1,0 +8907,1100105,42,1,1,1.0,6.0,70641,1,0 +8908,1100105,42,1,1,0.0,4.0,95289,1,0 +8909,1100105,42,1,1,0.0,4.0,95289,1,0 +8910,1100105,42,1,1,0.0,4.0,76338,1,0 +8911,1100105,42,1,1,0.0,6.0,75982,1,0 +8912,1100105,42,1,1,1.0,4.0,95511,1,0 +8913,1100105,42,1,1,0.0,6.0,89619,1,0 +8914,1100105,42,1,1,1.0,6.0,96244,1,0 +8915,1100105,42,1,1,0.0,4.0,94922,1,0 +8916,1100105,42,1,1,1.0,4.0,93432,1,0 +8917,1100105,42,1,1,0.0,6.0,58368,1,0 +8918,1100105,42,1,1,0.0,4.0,69593,1,0 +8919,1100105,42,1,1,0.0,6.0,55237,1,0 +8920,1100105,42,1,1,1.0,4.0,98270,1,0 +8921,1100105,42,1,1,1.0,4.0,95511,1,0 +8922,1100105,42,1,1,1.0,4.0,77501,1,0 +8923,1100105,42,1,1,0.0,4.0,74286,1,0 +8924,1100105,42,1,1,0.0,6.0,58368,1,0 +8925,1100105,42,1,1,0.0,6.0,97004,1,0 +8926,1100105,42,1,1,1.0,4.0,64525,1,0 +8927,1100105,42,1,1,1.0,6.0,95945,1,0 +8928,1100105,42,1,1,1.0,4.0,99440,1,0 +8929,1100105,42,1,1,1.0,4.0,99440,1,0 +8930,1100105,42,1,1,0.0,4.0,83293,1,0 +8931,1100105,42,1,1,0.0,6.0,96022,1,0 +8932,1100105,42,1,1,0.0,6.0,95289,1,0 +8933,1100105,42,1,1,1.0,4.0,55720,1,0 +8934,1100105,42,1,1,1.0,6.0,90523,1,0 +8935,1100105,42,1,1,0.0,4.0,83293,1,0 +8936,1100105,42,1,1,1.0,4.0,63674,1,0 +8937,1100105,42,1,1,1.0,6.0,62150,1,0 +8938,1100105,42,1,1,1.0,4.0,63674,1,0 +8939,1100105,42,1,1,1.0,6.0,88046,1,0 +8940,1100105,42,1,1,1.0,6.0,88046,1,0 +8941,1100105,42,1,1,0.0,4.0,62099,1,0 +8942,1100105,42,1,1,0.0,6.0,70612,1,0 +8943,1100105,42,1,1,1.0,4.0,69182,1,0 +8944,1100105,42,1,1,0.0,6.0,79593,1,0 +8945,1100105,42,1,1,1.0,6.0,62150,1,0 +8946,1100105,42,1,1,0.0,4.0,62099,1,0 +8947,1100105,42,1,1,0.0,6.0,75982,1,0 +8948,1100105,42,1,1,1.0,6.0,62150,1,0 +8949,1100105,42,1,1,0.0,4.0,63260,1,0 +8950,1100105,42,1,1,1.0,4.0,69182,1,0 +8951,1100105,42,1,1,1.0,4.0,69182,1,0 +8952,1100105,42,1,1,1.0,6.0,58368,1,0 +8953,1100105,42,1,1,0.0,4.0,81047,1,0 +8954,1100105,42,1,1,0.0,4.0,60490,1,0 +8955,1100105,42,1,1,0.0,6.0,88046,1,0 +8956,1100105,42,1,1,1.0,6.0,58368,1,0 +8957,1100105,42,1,1,0.0,4.0,74947,1,0 +8958,1100105,42,1,1,0.0,6.0,68532,1,0 +8959,1100105,42,1,1,1.0,6.0,64240,1,0 +8960,1100105,42,1,1,1.0,6.0,64240,1,0 +8961,1100105,42,1,1,0.0,4.0,75912,1,0 +8962,1100105,42,1,1,0.0,6.0,89936,1,0 +8963,1100105,42,1,1,0.0,6.0,88046,1,0 +8964,1100105,42,1,1,1.0,4.0,50939,1,0 +8965,1100105,42,1,1,1.0,6.0,58368,1,0 +8966,1100105,42,1,1,1.0,6.0,64240,1,0 +8967,1100105,42,1,1,0.0,6.0,82060,1,0 +8968,1100105,42,1,1,1.0,4.0,50939,1,0 +8969,1100105,42,1,1,0.0,6.0,89936,1,0 +8970,1100105,42,1,1,1.0,6.0,61152,1,0 +8971,1100105,42,1,1,1.0,6.0,84899,1,0 +8972,1100105,42,1,1,0.0,4.0,76652,1,0 +8973,1100105,42,1,1,1.0,6.0,64240,1,0 +8974,1100105,42,1,1,0.0,6.0,79021,1,0 +8975,1100105,42,1,1,0.0,6.0,68532,1,0 +8976,1100105,42,1,1,1.0,6.0,62150,1,0 +8977,1100105,42,1,1,1.0,6.0,84899,1,0 +8978,1100105,42,1,1,0.0,6.0,73804,1,0 +8979,1100105,42,1,1,1.0,6.0,61152,1,0 +8980,1100105,42,1,1,1.0,6.0,64240,1,0 +8981,1100105,42,1,1,0.0,6.0,60097,1,0 +8982,1100105,42,1,1,0.0,6.0,89936,1,0 +8983,1100105,42,1,1,0.0,6.0,57989,1,0 +8984,1100105,42,1,1,0.0,6.0,55674,1,0 +8985,1100105,42,1,1,0.0,6.0,81047,1,0 +8986,1100105,42,1,1,0.0,6.0,89619,1,0 +8987,1100105,42,1,1,0.0,4.0,81184,1,0 +8988,1100105,42,1,1,1.0,4.0,56971,1,0 +8989,1100105,42,1,1,0.0,6.0,83838,1,0 +8990,1100105,42,1,1,1.0,6.0,85960,1,0 +8991,1100105,42,1,1,1.0,4.0,52717,1,0 +8992,1100105,42,1,1,0.0,4.0,90117,1,0 +8993,1100105,42,1,1,0.0,6.0,62150,1,0 +8994,1100105,42,1,1,0.0,6.0,83838,1,0 +8995,1100105,42,1,1,1.0,4.0,79759,1,0 +8996,1100105,42,1,1,1.0,6.0,71103,1,0 +8997,1100105,42,1,1,0.0,6.0,61798,1,0 +8998,1100105,42,1,1,0.0,6.0,81047,1,0 +8999,1100105,42,1,1,0.0,6.0,79593,1,0 +9000,1100105,42,1,1,0.0,6.0,62150,1,0 +9001,1100105,42,1,1,1.0,4.0,82867,1,0 +9002,1100105,42,1,1,0.0,6.0,94891,1,0 +9003,1100105,42,1,1,0.0,6.0,61552,1,0 +9004,1100105,42,1,1,0.0,4.0,52717,1,0 +9005,1100105,42,1,1,0.0,4.0,91178,1,0 +9006,1100105,42,1,1,0.0,6.0,93235,1,0 +9007,1100105,42,1,1,0.0,6.0,81098,1,0 +9008,1100105,42,1,1,1.0,4.0,69829,1,0 +9009,1100105,42,1,1,0.0,6.0,76652,1,0 +9010,1100105,42,1,1,1.0,4.0,64240,1,0 +9011,1100105,42,1,1,0.0,6.0,67877,1,0 +9012,1100105,42,1,1,0.0,4.0,90117,1,0 +9013,1100105,42,1,1,1.0,4.0,88342,1,0 +9014,1100105,42,1,1,1.0,6.0,67329,1,0 +9015,1100105,42,1,1,0.0,6.0,83838,1,0 +9016,1100105,42,1,1,0.0,4.0,52717,1,0 +9017,1100105,42,1,1,0.0,6.0,70916,1,0 +9018,1100105,42,1,1,0.0,4.0,69593,1,0 +9019,1100105,42,1,1,0.0,4.0,86456,1,0 +9020,1100105,42,1,1,0.0,6.0,74947,1,0 +9021,1100105,42,1,1,1.0,6.0,67329,1,0 +9022,1100105,42,1,1,0.0,6.0,72942,1,0 +9023,1100105,42,1,1,1.0,6.0,62150,1,0 +9024,1100105,42,1,1,0.0,6.0,79229,1,0 +9025,1100105,42,1,1,0.0,4.0,75385,1,0 +9026,1100105,42,1,1,1.0,6.0,75982,1,0 +9027,1100105,42,1,1,1.0,4.0,52717,1,0 +9028,1100105,42,1,1,1.0,6.0,62154,1,0 +9029,1100105,42,1,1,1.0,6.0,62154,1,0 +9030,1100105,42,1,1,0.0,4.0,66858,1,0 +9031,1100105,42,1,1,0.0,4.0,66293,1,0 +9032,1100105,42,1,1,0.0,6.0,67536,1,0 +9033,1100105,42,1,1,0.0,6.0,83838,1,0 +9034,1100105,42,1,1,0.0,4.0,96244,1,0 +9035,1100105,42,1,1,1.0,6.0,64325,1,0 +9036,1100105,42,1,1,0.0,4.0,73956,1,0 +9037,1100105,42,1,1,1.0,4.0,68980,1,0 +9038,1100105,42,1,1,1.0,6.0,91178,1,0 +9039,1100105,42,1,1,1.0,6.0,64325,1,0 +9040,1100105,42,1,1,0.0,6.0,67877,1,0 +9041,1100105,42,1,1,0.0,6.0,70916,1,0 +9042,1100105,42,1,1,0.0,6.0,76967,1,0 +9043,1100105,42,1,1,0.0,4.0,74499,1,0 +9044,1100105,42,1,1,0.0,6.0,85653,1,0 +9045,1100105,42,1,1,1.0,4.0,95102,1,0 +9046,1100105,42,1,1,0.0,6.0,53345,1,0 +9047,1100105,42,1,1,1.0,6.0,62150,1,0 +9048,1100105,42,1,1,0.0,4.0,74499,1,0 +9049,1100105,42,1,1,0.0,6.0,63260,1,0 +9050,1100105,42,1,1,1.0,4.0,98404,1,0 +9051,1100105,42,1,1,0.0,6.0,71929,1,0 +9052,1100105,42,1,1,0.0,6.0,73956,1,0 +9053,1100105,42,1,1,0.0,6.0,72942,1,0 +9054,1100105,42,1,1,0.0,4.0,52717,1,0 +9055,1100105,42,1,1,0.0,4.0,64315,1,0 +9056,1100105,42,1,1,0.0,6.0,63674,1,0 +9057,1100105,42,1,1,0.0,6.0,64525,1,0 +9058,1100105,42,1,1,1.0,6.0,79075,1,0 +9059,1100105,42,1,1,0.0,6.0,72942,1,0 +9060,1100105,42,1,1,1.0,6.0,60785,1,0 +9061,1100105,42,1,1,0.0,6.0,63674,1,0 +9062,1100105,42,1,1,0.0,6.0,71929,1,0 +9063,1100105,42,1,1,0.0,4.0,84347,1,0 +9064,1100105,42,1,1,0.0,6.0,64525,1,0 +9065,1100105,42,1,1,1.0,6.0,54899,1,0 +9066,1100105,42,1,1,0.0,4.0,73956,1,0 +9067,1100105,42,1,1,0.0,4.0,73804,1,0 +9068,1100105,42,1,1,0.0,6.0,54615,1,0 +9069,1100105,42,1,1,0.0,6.0,61552,1,0 +9070,1100105,42,1,1,0.0,4.0,90117,1,0 +9071,1100105,42,1,1,0.0,4.0,81047,1,0 +9072,1100105,42,1,1,0.0,4.0,71990,1,0 +9073,1100105,42,1,1,0.0,4.0,66293,1,0 +9074,1100105,42,1,1,0.0,4.0,64315,1,0 +9075,1100105,42,1,1,1.0,6.0,58368,1,0 +9076,1100105,42,1,1,0.0,6.0,63674,1,0 +9077,1100105,42,1,1,0.0,6.0,52801,1,0 +9078,1100105,42,1,1,0.0,6.0,96360,1,0 +9079,1100105,42,1,1,0.0,6.0,81098,1,0 +9080,1100105,42,1,1,0.0,4.0,62150,1,0 +9081,1100105,42,1,1,1.0,6.0,54899,1,0 +9082,1100105,42,1,1,1.0,4.0,80930,1,0 +9083,1100105,42,1,1,0.0,6.0,83838,1,0 +9084,1100105,42,1,1,0.0,4.0,91178,1,0 +9085,1100105,42,1,1,0.0,6.0,81047,1,0 +9086,1100105,42,1,1,1.0,6.0,70641,1,0 +9087,1100105,42,1,1,0.0,6.0,55720,1,0 +9088,1100105,42,1,1,1.0,4.0,98404,1,0 +9089,1100105,42,1,1,1.0,6.0,60785,1,0 +9090,1100105,42,1,1,1.0,6.0,91178,1,0 +9091,1100105,42,1,1,0.0,6.0,83512,1,0 +9092,1100105,42,1,1,0.0,6.0,67329,1,0 +9093,1100105,42,1,1,0.0,6.0,62099,1,0 +9094,1100105,42,1,1,0.0,4.0,84347,1,0 +9095,1100105,42,1,1,1.0,6.0,60490,1,0 +9096,1100105,42,1,1,1.0,6.0,60816,1,0 +9097,1100105,42,1,1,1.0,6.0,52717,1,0 +9098,1100105,42,1,1,0.0,4.0,89619,1,0 +9099,1100105,42,1,1,0.0,6.0,72942,1,0 +9100,1100105,42,1,1,1.0,6.0,79075,1,0 +9101,1100105,42,1,1,0.0,6.0,63260,1,0 +9102,1100105,42,1,1,1.0,6.0,54604,1,0 +9103,1100105,42,1,1,0.0,4.0,84899,1,0 +9104,1100105,42,1,1,0.0,6.0,96332,1,0 +9105,1100105,42,1,1,0.0,4.0,79593,1,0 +9106,1100105,42,1,1,1.0,6.0,92189,1,0 +9107,1100105,42,1,1,1.0,6.0,62978,1,0 +9108,1100105,42,1,1,0.0,6.0,67329,1,0 +9109,1100105,42,1,1,0.0,6.0,83512,1,0 +9110,1100105,42,1,1,0.0,4.0,66858,1,0 +9111,1100105,42,1,1,0.0,6.0,64525,1,0 +9112,1100105,42,1,1,0.0,4.0,53533,1,0 +9113,1100105,42,1,1,1.0,6.0,60785,1,0 +9114,1100105,42,1,1,0.0,4.0,90117,1,0 +9115,1100105,42,1,1,0.0,6.0,76967,1,0 +9116,1100105,42,1,1,0.0,4.0,73956,1,0 +9117,1100105,42,1,1,1.0,6.0,68890,1,0 +9118,1100105,42,1,1,1.0,4.0,89936,1,0 +9119,1100105,42,1,1,0.0,6.0,80300,1,0 +9120,1100105,42,1,1,0.0,4.0,63674,1,0 +9121,1100105,42,1,1,0.0,6.0,63674,1,0 +9122,1100105,42,1,1,0.0,6.0,96360,1,0 +9123,1100105,42,1,1,0.0,4.0,60785,1,0 +9124,1100105,42,1,1,1.0,6.0,68890,1,0 +9125,1100105,42,1,1,1.0,6.0,52717,1,0 +9126,1100105,42,1,1,0.0,6.0,63674,1,0 +9127,1100105,42,1,1,0.0,6.0,71929,1,0 +9128,1100105,42,1,1,1.0,4.0,98404,1,0 +9129,1100105,42,1,1,0.0,6.0,84347,1,0 +9130,1100105,42,1,1,0.0,4.0,74286,1,0 +9131,1100105,42,1,1,0.0,4.0,95289,1,0 +9132,1100105,42,1,1,0.0,6.0,55720,1,0 +9133,1100105,42,1,1,1.0,6.0,58887,1,0 +9134,1100105,42,1,1,1.0,6.0,84347,1,0 +9135,1100105,42,1,1,0.0,6.0,83512,1,0 +9136,1100105,42,1,1,0.0,6.0,73804,1,0 +9137,1100105,42,1,1,1.0,6.0,58368,1,0 +9138,1100105,42,1,1,0.0,6.0,75912,1,0 +9139,1100105,42,1,1,0.0,6.0,67329,1,0 +9140,1100105,42,1,1,0.0,6.0,64525,1,0 +9141,1100105,42,1,1,1.0,6.0,55674,1,0 +9142,1100105,42,1,1,0.0,6.0,85100,1,0 +9143,1100105,42,1,1,0.0,6.0,72508,1,0 +9144,1100105,42,1,1,1.0,6.0,60785,1,0 +9145,1100105,42,1,1,0.0,6.0,74947,1,0 +9146,1100105,42,1,1,0.0,6.0,72222,1,0 +9147,1100105,42,1,1,0.0,4.0,73804,1,0 +9148,1100105,42,1,1,0.0,6.0,51667,1,0 +9149,1100105,42,1,1,0.0,6.0,72222,1,0 +9150,1100105,42,1,1,0.0,4.0,56733,1,0 +9151,1100105,42,1,1,0.0,4.0,91178,1,0 +9152,1100105,42,1,1,0.0,4.0,62150,1,0 +9153,1100105,42,1,1,1.0,6.0,60816,1,0 +9154,1100105,42,1,1,0.0,6.0,72508,1,0 +9155,1100105,42,1,1,1.0,4.0,89936,1,0 +9156,1100105,42,1,1,0.0,6.0,70916,1,0 +9157,1100105,42,1,1,1.0,6.0,64325,1,0 +9158,1100105,42,1,1,1.0,6.0,64325,1,0 +9159,1100105,42,1,1,1.0,4.0,66595,1,0 +9160,1100105,42,1,1,0.0,6.0,83838,1,0 +9161,1100105,42,1,1,0.0,6.0,93235,1,0 +9162,1100105,42,1,1,0.0,6.0,67877,1,0 +9163,1100105,42,1,1,0.0,6.0,63674,1,0 +9164,1100105,42,1,1,0.0,4.0,56733,1,0 +9165,1100105,42,1,1,1.0,6.0,73808,1,0 +9166,1100105,42,1,1,0.0,6.0,81098,1,0 +9167,1100105,42,1,1,1.0,6.0,92077,1,0 +9168,1100105,42,1,1,0.0,6.0,55720,1,0 +9169,1100105,42,1,1,0.0,4.0,91178,1,0 +9170,1100105,42,1,1,0.0,6.0,54608,1,0 +9171,1100105,42,1,1,1.0,6.0,58368,1,0 +9172,1100105,42,1,1,1.0,6.0,62154,1,0 +9173,1100105,42,1,1,0.0,4.0,95289,1,0 +9174,1100105,42,1,1,1.0,4.0,89144,1,0 +9175,1100105,42,1,1,0.0,6.0,61152,1,0 +9176,1100105,42,1,1,0.0,6.0,55720,1,0 +9177,1100105,42,1,1,0.0,6.0,61552,1,0 +9178,1100105,42,1,1,1.0,6.0,58368,1,0 +9179,1100105,42,1,1,1.0,4.0,99626,1,0 +9180,1100105,42,1,1,0.0,6.0,58759,1,0 +9181,1100105,42,1,1,1.0,6.0,55674,1,0 +9182,1100105,42,1,1,1.0,4.0,87795,1,0 +9183,1100105,42,1,1,1.0,4.0,82867,1,0 +9184,1100105,42,1,1,1.0,6.0,60490,1,0 +9185,1100105,42,1,1,0.0,4.0,53062,1,0 +9186,1100105,42,1,1,0.0,6.0,72942,1,0 +9187,1100105,42,1,1,0.0,4.0,66293,1,0 +9188,1100105,42,1,1,1.0,4.0,64240,1,0 +9189,1100105,42,1,1,0.0,4.0,53533,1,0 +9190,1100105,42,1,1,0.0,6.0,61798,1,0 +9191,1100105,42,1,1,0.0,4.0,50939,1,0 +9192,1100105,42,1,1,0.0,4.0,96360,1,0 +9193,1100105,42,1,1,0.0,6.0,57746,1,0 +9194,1100105,42,1,1,1.0,6.0,54604,1,0 +9195,1100105,42,1,1,1.0,6.0,96360,1,0 +9196,1100105,42,1,1,0.0,6.0,54615,1,0 +9197,1100105,42,1,1,1.0,4.0,95102,1,0 +9198,1100105,42,1,1,0.0,4.0,74286,1,0 +9199,1100105,42,1,1,1.0,4.0,99440,1,0 +9200,1100105,42,1,1,1.0,4.0,68980,1,0 +9201,1100105,42,1,1,0.0,6.0,83838,1,0 +9202,1100105,42,1,1,0.0,6.0,50397,1,0 +9203,1100105,42,1,1,1.0,6.0,83512,1,0 +9204,1100105,42,1,1,0.0,6.0,72508,1,0 +9205,1100105,42,1,1,0.0,4.0,50654,1,0 +9206,1100105,42,1,1,0.0,4.0,62812,1,0 +9207,1100105,42,1,1,0.0,6.0,56245,1,0 +9208,1100105,42,1,1,0.0,4.0,72164,1,0 +9209,1100105,42,1,1,0.0,6.0,50397,1,0 +9210,1100105,42,1,1,1.0,6.0,70916,1,0 +9211,1100105,42,1,1,0.0,6.0,72508,1,0 +9212,1100105,42,1,1,0.0,6.0,72508,1,0 +9213,1100105,42,1,1,0.0,6.0,72508,1,0 +9214,1100105,42,1,1,0.0,6.0,56245,1,0 +9215,1100105,42,1,1,0.0,6.0,50397,1,0 +9216,1100105,42,1,1,0.0,4.0,87126,1,0 +9217,1100105,42,1,1,1.0,6.0,91007,1,0 +9218,1100105,42,1,1,1.0,4.0,65598,1,0 +9219,1100105,42,1,1,1.0,6.0,83512,1,0 +9220,1100105,42,1,1,0.0,6.0,72508,1,0 +9221,1100105,42,1,1,0.0,4.0,72164,1,0 +9222,1100105,42,1,1,0.0,4.0,72164,1,0 +9223,1100105,42,1,1,0.0,4.0,50654,1,0 +9224,1100105,42,1,1,1.0,6.0,70916,1,0 +9225,1100105,42,1,1,1.0,6.0,66423,1,0 +9226,1100105,42,1,1,0.0,4.0,80816,1,0 +9227,1100105,42,1,1,0.0,6.0,72508,1,0 +9228,1100105,42,1,1,1.0,6.0,70916,1,0 +9229,1100105,42,1,1,0.0,6.0,50397,1,0 +9230,1100105,42,1,1,0.0,6.0,72508,1,0 +9231,1100105,42,1,1,1.0,6.0,61010,0,0 +9232,1100105,42,1,1,1.0,4.0,89861,0,0 +9233,1100105,42,1,1,0.0,6.0,83377,0,0 +9234,1100105,42,1,1,1.0,6.0,66740,0,0 +9235,1100105,42,1,1,1.0,6.0,92597,0,0 +9236,1100105,42,1,1,1.0,6.0,59886,0,0 +9237,1100105,42,1,1,0.0,6.0,64331,0,0 +9238,1100105,42,1,1,0.0,6.0,67583,0,0 +9239,1100105,42,1,1,1.0,4.0,63622,0,0 +9240,1100105,42,1,1,0.0,4.0,62206,0,0 +9241,1100105,42,1,1,0.0,6.0,56564,0,0 +9242,1100105,42,1,1,1.0,4.0,63622,0,0 +9243,1100105,42,1,1,1.0,6.0,87870,0,0 +9244,1100105,42,1,1,1.0,4.0,65797,0,0 +9245,1100105,42,1,1,0.0,4.0,62206,0,0 +9246,1100105,42,1,1,0.0,6.0,64331,0,0 +9247,1100105,42,1,1,1.0,6.0,51178,0,0 +9248,1100105,42,1,1,0.0,6.0,56564,0,0 +9249,1100105,42,1,1,0.0,4.0,59975,0,0 +9250,1100105,42,1,1,0.0,4.0,50408,0,0 +9251,1100105,42,1,1,1.0,4.0,74062,0,0 +9252,1100105,42,1,1,1.0,6.0,51364,0,0 +9253,1100105,42,1,1,0.0,6.0,64331,0,0 +9254,1100105,42,1,1,1.0,4.0,63622,0,0 +9255,1100105,42,1,1,0.0,6.0,63260,0,0 +9256,1100105,42,1,1,1.0,6.0,51364,0,0 +9257,1100105,42,1,1,1.0,6.0,59886,0,0 +9258,1100105,42,1,1,1.0,4.0,52174,0,0 +9259,1100105,42,1,1,0.0,6.0,77895,0,0 +9260,1100105,42,1,1,1.0,6.0,59886,0,0 +9261,1100105,42,1,1,1.0,6.0,51364,0,0 +9262,1100105,42,1,1,0.0,6.0,64331,0,0 +9263,1100105,42,1,1,0.0,6.0,67583,0,0 +9264,1100105,42,1,1,0.0,6.0,64331,0,0 +9265,1100105,42,1,1,1.0,4.0,69165,0,0 +9266,1100105,42,1,1,1.0,6.0,87870,0,0 +9267,1100105,42,1,1,0.0,6.0,64331,0,0 +9268,1100105,42,1,1,0.0,6.0,56745,0,0 +9269,1100105,42,1,1,1.0,4.0,55821,0,0 +9270,1100105,42,1,1,1.0,6.0,93812,0,0 +9271,1100105,42,1,1,1.0,6.0,93812,0,0 +9272,1100105,42,1,1,1.0,6.0,64240,0,0 +9273,1100105,42,1,1,1.0,6.0,83944,0,0 +9274,1100105,42,1,1,0.0,6.0,86724,0,0 +9275,1100105,42,1,1,0.0,4.0,58214,0,0 +9276,1100105,42,1,1,0.0,6.0,63705,0,0 +9277,1100105,42,1,1,1.0,6.0,83944,0,0 +9278,1100105,42,1,1,1.0,6.0,83944,0,0 +9279,1100105,42,1,1,0.0,4.0,79593,0,0 +9280,1100105,42,1,1,1.0,6.0,83944,0,0 +9281,1100105,42,1,1,1.0,6.0,79593,0,0 +9282,1100105,42,1,1,1.0,6.0,79593,0,0 +9283,1100105,42,1,1,1.0,6.0,79593,0,0 +9284,1100105,42,1,1,1.0,6.0,79593,0,0 +9285,1100105,42,1,1,2.0,6.0,70916,0,0 +9286,1100105,42,1,1,2.0,6.0,70916,0,0 +9287,1100105,42,1,1,0.0,4.0,71103,0,0 +9288,1100105,42,1,1,1.0,4.0,76660,0,0 +9289,1100105,42,1,1,1.0,4.0,76660,0,0 +9290,1100105,42,1,1,1.0,4.0,27967,1,0 +9291,1100105,42,1,1,0.0,4.0,42184,1,0 +9292,1100105,42,1,1,0.0,4.0,42184,1,0 +9293,1100105,42,1,1,0.0,4.0,42184,1,0 +9294,1100105,42,1,1,0.0,4.0,42184,1,0 +9295,1100105,42,1,1,0.0,4.0,42184,1,0 +9296,1100105,42,1,1,0.0,6.0,31837,1,0 +9297,1100105,42,1,1,0.0,4.0,31841,1,0 +9298,1100105,42,1,1,0.0,4.0,45633,1,0 +9299,1100105,42,1,1,1.0,4.0,32120,1,0 +9300,1100105,42,1,1,0.0,4.0,40523,1,0 +9301,1100105,42,1,1,1.0,4.0,27353,1,0 +9302,1100105,42,1,1,1.0,4.0,31075,1,0 +9303,1100105,42,1,1,0.0,4.0,34445,1,0 +9304,1100105,42,1,1,0.0,4.0,45589,1,0 +9305,1100105,42,1,1,0.0,4.0,26358,1,0 +9306,1100105,42,1,1,1.0,4.0,32214,1,0 +9307,1100105,42,1,1,0.0,6.0,42131,1,0 +9308,1100105,42,1,1,0.0,4.0,42701,1,0 +9309,1100105,42,1,1,0.0,6.0,42131,1,0 +9310,1100105,42,1,1,1.0,6.0,42449,1,0 +9311,1100105,42,1,1,0.0,4.0,25895,1,0 +9312,1100105,42,1,1,0.0,6.0,42131,1,0 +9313,1100105,42,1,1,1.0,4.0,40523,1,0 +9314,1100105,42,1,1,1.0,4.0,35332,1,0 +9315,1100105,42,1,1,0.0,4.0,42449,1,0 +9316,1100105,42,1,1,1.0,4.0,40523,1,0 +9317,1100105,42,1,1,0.0,6.0,42131,1,0 +9318,1100105,42,1,1,0.0,4.0,46270,1,0 +9319,1100105,42,1,1,0.0,4.0,26358,1,0 +9320,1100105,42,1,1,1.0,4.0,44572,1,0 +9321,1100105,42,1,1,0.0,4.0,25895,1,0 +9322,1100105,42,1,1,1.0,4.0,35332,1,0 +9323,1100105,42,1,1,0.0,4.0,42701,1,0 +9324,1100105,42,1,1,1.0,4.0,35332,1,0 +9325,1100105,42,1,1,0.0,4.0,25895,1,0 +9326,1100105,42,1,1,0.0,6.0,27837,1,0 +9327,1100105,42,1,1,0.0,6.0,27837,1,0 +9328,1100105,42,1,1,0.0,6.0,27837,1,0 +9329,1100105,42,1,1,0.0,6.0,27837,1,0 +9330,1100105,42,1,1,0.0,6.0,32120,1,0 +9331,1100105,42,1,1,0.0,6.0,32120,1,0 +9332,1100105,42,1,1,0.0,4.0,28381,1,0 +9333,1100105,42,1,1,0.0,6.0,43897,1,0 +9334,1100105,42,1,1,0.0,6.0,43897,1,0 +9335,1100105,42,1,1,1.0,6.0,25895,1,0 +9336,1100105,42,1,1,1.0,4.0,43829,1,0 +9337,1100105,42,1,1,0.0,6.0,45589,1,0 +9338,1100105,42,1,1,1.0,4.0,29582,1,0 +9339,1100105,42,1,1,0.0,6.0,42826,1,0 +9340,1100105,42,1,1,0.0,6.0,27967,1,0 +9341,1100105,42,1,1,0.0,6.0,45589,1,0 +9342,1100105,42,1,1,0.0,6.0,27967,1,0 +9343,1100105,42,1,1,0.0,4.0,42449,1,0 +9344,1100105,42,1,1,1.0,4.0,43829,1,0 +9345,1100105,42,1,1,1.0,6.0,42826,1,0 +9346,1100105,42,1,1,1.0,6.0,47109,1,0 +9347,1100105,42,1,1,0.0,6.0,45589,1,0 +9348,1100105,42,1,1,0.0,6.0,46612,1,0 +9349,1100105,42,1,1,1.0,6.0,25895,1,0 +9350,1100105,42,1,1,0.0,6.0,47109,1,0 +9351,1100105,42,1,1,0.0,4.0,37484,1,0 +9352,1100105,42,1,1,0.0,6.0,46612,1,0 +9353,1100105,42,1,1,0.0,6.0,49236,1,0 +9354,1100105,42,1,1,0.0,4.0,41536,1,0 +9355,1100105,42,1,1,0.0,4.0,38204,1,0 +9356,1100105,42,1,1,0.0,4.0,42826,1,0 +9357,1100105,42,1,1,0.0,4.0,41433,1,0 +9358,1100105,42,1,1,0.0,4.0,41433,1,0 +9359,1100105,42,1,1,0.0,4.0,47755,1,0 +9360,1100105,42,1,1,0.0,4.0,42826,1,0 +9361,1100105,42,1,1,0.0,6.0,32120,1,0 +9362,1100105,42,1,1,0.0,4.0,42449,1,0 +9363,1100105,42,1,1,1.0,6.0,36254,1,0 +9364,1100105,42,1,1,0.0,4.0,28174,1,0 +9365,1100105,42,1,1,0.0,4.0,38204,1,0 +9366,1100105,42,1,1,1.0,4.0,41433,1,0 +9367,1100105,42,1,1,0.0,6.0,36979,1,0 +9368,1100105,42,1,1,0.0,4.0,47755,1,0 +9369,1100105,42,1,1,0.0,4.0,48180,1,0 +9370,1100105,42,1,1,0.0,4.0,26931,1,0 +9371,1100105,42,1,1,0.0,6.0,42173,1,0 +9372,1100105,42,1,1,1.0,4.0,47755,1,0 +9373,1100105,42,1,1,0.0,6.0,31630,1,0 +9374,1100105,42,1,1,1.0,6.0,45680,1,0 +9375,1100105,42,1,1,1.0,6.0,32525,1,0 +9376,1100105,42,1,1,0.0,6.0,32120,1,0 +9377,1100105,42,1,1,0.0,6.0,42173,1,0 +9378,1100105,42,1,1,0.0,4.0,42826,1,0 +9379,1100105,42,1,1,0.0,4.0,40397,1,0 +9380,1100105,42,1,1,0.0,4.0,41433,1,0 +9381,1100105,42,1,1,1.0,6.0,34261,1,0 +9382,1100105,42,1,1,0.0,6.0,36902,1,0 +9383,1100105,42,1,1,0.0,4.0,41433,1,0 +9384,1100105,42,1,1,0.0,4.0,40397,1,0 +9385,1100105,42,1,1,0.0,4.0,26931,1,0 +9386,1100105,42,1,1,0.0,4.0,42449,1,0 +9387,1100105,42,1,1,1.0,4.0,43490,1,0 +9388,1100105,42,1,1,0.0,4.0,26931,1,0 +9389,1100105,42,1,1,0.0,4.0,42826,1,0 +9390,1100105,42,1,1,1.0,6.0,48817,1,0 +9391,1100105,42,1,1,0.0,4.0,41433,1,0 +9392,1100105,42,1,1,0.0,4.0,40397,1,0 +9393,1100105,42,1,1,0.0,4.0,45633,1,0 +9394,1100105,42,1,1,1.0,4.0,25696,1,0 +9395,1100105,42,1,1,0.0,4.0,36254,1,0 +9396,1100105,42,1,1,1.0,6.0,36254,1,0 +9397,1100105,42,1,1,0.0,4.0,47755,1,0 +9398,1100105,42,1,1,0.0,4.0,36254,1,0 +9399,1100105,42,1,1,0.0,4.0,36254,1,0 +9400,1100105,42,1,1,0.0,4.0,31837,1,0 +9401,1100105,42,1,1,0.0,6.0,48180,1,0 +9402,1100105,42,1,1,0.0,4.0,41433,1,0 +9403,1100105,42,1,1,0.0,6.0,27910,1,0 +9404,1100105,42,1,1,0.0,4.0,47755,1,0 +9405,1100105,42,1,1,0.0,6.0,49554,1,0 +9406,1100105,42,1,1,0.0,6.0,46391,1,0 +9407,1100105,42,1,1,0.0,6.0,42173,1,0 +9408,1100105,42,1,1,0.0,6.0,49236,1,0 +9409,1100105,42,1,1,1.0,6.0,30892,1,0 +9410,1100105,42,1,1,1.0,4.0,47755,1,0 +9411,1100105,42,1,1,0.0,6.0,49236,1,0 +9412,1100105,42,1,1,0.0,4.0,45589,1,0 +9413,1100105,42,1,1,0.0,6.0,42173,1,0 +9414,1100105,42,1,1,0.0,6.0,49554,1,0 +9415,1100105,42,1,1,0.0,6.0,49236,1,0 +9416,1100105,42,1,1,1.0,6.0,47615,1,0 +9417,1100105,42,1,1,0.0,4.0,48180,1,0 +9418,1100105,42,1,1,1.0,6.0,47615,1,0 +9419,1100105,42,1,1,1.0,6.0,48817,1,0 +9420,1100105,42,1,1,0.0,4.0,48180,1,0 +9421,1100105,42,1,1,0.0,6.0,32120,1,0 +9422,1100105,42,1,1,0.0,6.0,46612,1,0 +9423,1100105,42,1,1,0.0,6.0,46391,1,0 +9424,1100105,42,1,1,0.0,4.0,36254,1,0 +9425,1100105,42,1,1,0.0,4.0,31085,1,0 +9426,1100105,42,1,1,1.0,4.0,41433,1,0 +9427,1100105,42,1,1,0.0,4.0,47755,1,0 +9428,1100105,42,1,1,0.0,6.0,31075,1,0 +9429,1100105,42,1,1,0.0,4.0,42826,1,0 +9430,1100105,42,1,1,0.0,6.0,26358,1,0 +9431,1100105,42,1,1,0.0,4.0,28174,1,0 +9432,1100105,42,1,1,0.0,4.0,45633,1,0 +9433,1100105,42,1,1,1.0,4.0,25696,1,0 +9434,1100105,42,1,1,0.0,6.0,46612,1,0 +9435,1100105,42,1,1,0.0,6.0,49720,1,0 +9436,1100105,42,1,1,0.0,6.0,46745,1,0 +9437,1100105,42,1,1,0.0,6.0,48684,1,0 +9438,1100105,42,1,1,0.0,6.0,46745,1,0 +9439,1100105,42,1,1,0.0,6.0,47755,1,0 +9440,1100105,42,1,1,0.0,6.0,46745,1,0 +9441,1100105,42,1,1,0.0,6.0,46745,1,0 +9442,1100105,42,1,1,0.0,6.0,46745,1,0 +9443,1100105,42,1,1,0.0,6.0,46745,1,0 +9444,1100105,42,1,1,1.0,6.0,29521,0,0 +9445,1100105,42,1,1,1.0,6.0,29521,0,0 +9446,1100105,42,1,1,1.0,6.0,29521,0,0 +9447,1100105,42,1,1,1.0,6.0,29521,0,0 +9448,1100105,42,1,1,1.0,6.0,29521,0,0 +9449,1100105,42,1,1,1.0,6.0,29521,0,0 +9450,1100105,42,1,1,1.0,4.0,44147,0,0 +9451,1100105,42,1,1,1.0,6.0,38700,0,0 +9452,1100105,42,1,1,1.0,4.0,45421,0,0 +9453,1100105,42,1,1,1.0,4.0,47755,0,0 +9454,1100105,42,1,1,1.0,4.0,47755,0,0 +9455,1100105,42,1,1,1.0,4.0,47755,0,0 +9456,1100105,42,1,1,1.0,4.0,47644,0,0 +9457,1100105,42,1,1,0.0,6.0,30453,0,0 +9458,1100105,42,1,1,1.0,4.0,37045,0,0 +9459,1100105,42,1,1,1.0,6.0,32580,0,0 +9460,1100105,42,1,1,2.0,6.0,48628,0,0 +9461,1100105,42,1,1,0.0,6.0,43157,0,0 +9462,1100105,42,1,1,0.0,6.0,28386,0,0 +9463,1100105,42,1,1,0.0,4.0,27967,0,0 +9464,1100105,42,1,1,0.0,4.0,29210,0,0 +9465,1100105,42,1,1,0.0,6.0,43157,0,0 +9466,1100105,42,1,1,1.0,6.0,32580,0,0 +9467,1100105,42,1,1,0.0,6.0,32419,0,0 +9468,1100105,42,1,1,0.0,4.0,29210,0,0 +9469,1100105,42,1,1,2.0,6.0,48628,0,0 +9470,1100105,42,1,1,1.0,4.0,38544,0,0 +9471,1100105,42,1,1,1.0,6.0,32580,0,0 +9472,1100105,42,1,1,0.0,6.0,28151,0,0 +9473,1100105,42,1,1,0.0,6.0,28386,0,0 +9474,1100105,42,1,1,0.0,6.0,43157,0,0 +9475,1100105,42,1,1,1.0,4.0,37045,0,0 +9476,1100105,42,1,1,1.0,6.0,47543,0,0 +9477,1100105,42,1,1,1.0,6.0,37788,0,0 +9478,1100105,42,1,1,0.0,6.0,32475,0,0 +9479,1100105,42,1,1,1.0,6.0,32580,0,0 +9480,1100105,42,1,1,1.0,6.0,47543,0,0 +9481,1100105,42,1,1,1.0,6.0,37788,0,0 +9482,1100105,42,1,1,0.0,6.0,32475,0,0 +9483,1100105,42,1,1,1.0,6.0,40327,0,0 +9484,1100105,42,1,1,1.0,4.0,46694,0,0 +9485,1100105,42,1,1,0.0,6.0,43157,0,0 +9486,1100105,42,1,1,0.0,6.0,43157,0,0 +9487,1100105,42,1,1,1.0,6.0,37788,0,0 +9488,1100105,42,1,1,0.0,4.0,37383,0,0 +9489,1100105,42,1,1,0.0,4.0,37383,0,0 +9490,1100105,42,1,1,0.0,6.0,30576,0,0 +9491,1100105,42,1,1,0.0,4.0,25327,0,0 +9492,1100105,42,1,1,0.0,6.0,30576,0,0 +9493,1100105,42,1,1,0.0,6.0,30576,0,0 +9494,1100105,42,1,1,0.0,4.0,39584,0,0 +9495,1100105,42,1,1,0.0,4.0,39584,0,0 +9496,1100105,42,1,1,0.0,4.0,37473,0,0 +9497,1100105,42,1,1,0.0,6.0,37143,0,0 +9498,1100105,42,1,1,1.0,6.0,32621,0,0 +9499,1100105,42,1,1,0.0,6.0,27592,0,0 +9500,1100105,42,1,1,0.0,6.0,27592,0,0 +9501,1100105,42,1,1,0.0,4.0,27412,0,0 +9502,1100105,42,1,1,0.0,4.0,27412,0,0 +9503,1100105,42,1,1,0.0,4.0,32684,0,0 +9504,1100105,42,1,1,0.0,4.0,27412,0,0 +9505,1100105,42,1,1,1.0,6.0,44541,0,0 +9506,1100105,42,1,1,0.0,6.0,27592,0,0 +9507,1100105,42,1,1,0.0,6.0,27592,0,0 +9508,1100105,42,1,1,0.0,6.0,27592,0,0 +9509,1100105,42,1,1,0.0,4.0,32684,0,0 +9510,1100105,42,1,1,0.0,6.0,27592,0,0 +9511,1100105,42,1,1,0.0,4.0,27412,0,0 +9512,1100105,42,1,1,0.0,6.0,27592,0,0 +9513,1100105,42,1,1,0.0,6.0,27592,0,0 +9514,1100105,42,1,1,0.0,4.0,27412,0,0 +9515,1100105,42,1,1,0.0,6.0,29310,0,0 +9516,1100105,42,1,1,0.0,6.0,42826,0,0 +9517,1100105,42,1,1,1.0,6.0,42826,0,0 +9518,1100105,42,1,1,1.0,6.0,49720,0,0 +9519,1100105,42,1,1,0.0,6.0,40327,0,0 +9520,1100105,42,1,1,1.0,6.0,42826,0,0 +9521,1100105,42,1,1,0.0,6.0,40327,0,0 +9522,1100105,42,1,1,0.0,4.0,41739,0,0 +9523,1100105,42,1,1,0.0,4.0,41739,0,0 +9524,1100105,42,1,1,0.0,4.0,41739,0,0 +9525,1100105,42,1,1,0.0,4.0,41739,0,0 +9526,1100105,42,1,1,0.0,4.0,41739,0,0 +9527,1100105,42,1,1,0.0,4.0,41739,0,0 +9528,1100105,42,1,1,1.0,4.0,20906,1,0 +9529,1100105,42,1,1,1.0,6.0,13062,1,0 +9530,1100105,42,1,1,1.0,4.0,7498,1,0 +9531,1100105,42,1,1,0.0,6.0,19700,1,0 +9532,1100105,42,1,1,0.0,4.0,13880,1,0 +9533,1100105,42,1,1,1.0,4.0,9197,1,0 +9534,1100105,42,1,1,1.0,4.0,14385,1,0 +9535,1100105,42,1,1,1.0,4.0,11914,1,0 +9536,1100105,42,1,1,0.0,6.0,103,1,0 +9537,1100105,42,1,1,1.0,4.0,16595,1,0 +9538,1100105,42,1,1,1.0,6.0,5065,1,0 +9539,1100105,42,1,1,1.0,4.0,24408,1,0 +9540,1100105,42,1,1,0.0,6.0,103,1,0 +9541,1100105,42,1,1,0.0,6.0,103,1,0 +9542,1100105,42,1,1,0.0,6.0,8565,1,0 +9543,1100105,42,1,1,0.0,4.0,15815,1,0 +9544,1100105,42,1,1,0.0,6.0,7192,1,0 +9545,1100105,42,1,1,0.0,6.0,14347,1,0 +9546,1100105,42,1,1,0.0,6.0,19505,1,0 +9547,1100105,42,1,1,0.0,6.0,8565,1,0 +9548,1100105,42,1,1,0.0,6.0,14347,1,0 +9549,1100105,42,1,1,2.0,4.0,21413,1,0 +9550,1100105,42,1,1,2.0,4.0,21413,1,0 +9551,1100105,42,1,1,2.0,4.0,21413,1,0 +9552,1100105,42,1,1,0.0,6.0,10706,1,0 +9553,1100105,42,1,1,0.0,4.0,11394,1,0 +9554,1100105,42,1,1,0.0,4.0,11394,1,0 +9555,1100105,42,1,1,0.0,4.0,11394,1,0 +9556,1100105,42,1,1,2.0,4.0,4558,1,0 +9557,1100105,42,1,1,0.0,4.0,4217,1,0 +9558,1100105,42,1,1,2.0,4.0,4558,1,0 +9559,1100105,42,1,1,0.0,6.0,5798,1,0 +9560,1100105,42,1,1,0.0,6.0,1760,1,0 +9561,1100105,42,1,1,0.0,6.0,10358,1,0 +9562,1100105,42,1,1,0.0,6.0,5798,1,0 +9563,1100105,42,1,1,1.0,6.0,4558,1,0 +9564,1100105,42,1,1,0.0,4.0,22995,1,0 +9565,1100105,42,1,1,0.0,6.0,10612,1,0 +9566,1100105,42,1,1,1.0,4.0,22286,1,0 +9567,1100105,42,1,1,0.0,4.0,5271,1,0 +9568,1100105,42,1,1,1.0,4.0,16209,1,0 +9569,1100105,42,1,1,0.0,4.0,7091,1,0 +9570,1100105,42,1,1,0.0,6.0,10358,1,0 +9571,1100105,42,1,1,0.0,6.0,10358,1,0 +9572,1100105,42,1,1,0.0,6.0,10358,1,0 +9573,1100105,42,1,1,0.0,6.0,1697,1,0 +9574,1100105,42,1,1,0.0,6.0,10612,1,0 +9575,1100105,42,1,1,1.0,4.0,17344,1,0 +9576,1100105,42,1,1,0.0,6.0,2741,1,0 +9577,1100105,42,1,1,0.0,6.0,14857,1,0 +9578,1100105,42,1,1,0.0,4.0,4217,1,0 +9579,1100105,42,1,1,0.0,6.0,10612,1,0 +9580,1100105,42,1,1,0.0,4.0,5271,1,0 +9581,1100105,42,1,1,1.0,4.0,3183,1,0 +9582,1100105,42,1,1,0.0,4.0,21162,1,0 +9583,1100105,42,1,1,0.0,4.0,14082,1,0 +9584,1100105,42,1,1,0.0,4.0,5306,1,0 +9585,1100105,42,1,1,0.0,4.0,14082,1,0 +9586,1100105,42,1,1,0.0,6.0,18852,0,0 +9587,1100105,42,1,1,0.0,4.0,8914,0,0 +9588,1100105,42,1,1,0.0,6.0,12157,0,0 +9589,1100105,42,1,1,0.0,6.0,12157,0,0 +9590,1100105,42,1,1,0.0,6.0,12157,0,0 +9591,1100105,42,1,1,0.0,4.0,2108,0,0 +9592,1100105,42,1,1,0.0,6.0,21023,0,0 +9593,1100105,42,1,1,0.0,4.0,2108,0,0 +9594,1100105,42,1,1,1.0,6.0,11492,0,0 +9595,1100105,42,1,1,0.0,6.0,9067,0,0 +9596,1100105,42,1,1,1.0,4.0,19189,0,0 +9597,1100105,42,1,1,0.0,6.0,15815,0,0 +9598,1100105,42,1,1,0.0,6.0,0,0,0 +9599,1100105,42,1,1,0.0,4.0,12441,0,0 +9600,1100105,42,1,1,0.0,6.0,9067,0,0 +9601,1100105,42,1,1,0.0,6.0,12734,0,0 +9602,1100105,42,1,1,0.0,4.0,14760,0,0 +9603,1100105,42,1,1,1.0,6.0,1760,0,0 +9604,1100105,42,1,1,1.0,6.0,13159,0,0 +9605,1100105,42,1,1,0.0,6.0,4670,0,0 +9606,1100105,42,1,1,0.0,6.0,10029,0,0 +9607,1100105,42,1,1,0.0,6.0,6536,0,0 +9608,1100105,42,1,1,1.0,6.0,23768,0,0 +9609,1100105,42,1,1,0.0,6.0,6536,0,0 +9610,1100105,42,1,1,0.0,6.0,20198,0,0 +9611,1100105,42,1,1,1.0,6.0,5166,0,0 +9612,1100105,42,1,1,0.0,4.0,23876,0,0 +9613,1100105,42,1,1,0.0,6.0,20198,0,0 +9614,1100105,42,1,1,0.0,6.0,12989,0,0 +9615,1100105,42,1,1,0.0,4.0,23876,0,0 +9616,1100105,42,1,1,0.0,4.0,23876,0,0 +9617,1100105,42,1,1,0.0,4.0,21275,0,0 +9618,1100105,42,1,1,0.0,4.0,23876,0,0 +9619,1100105,42,1,1,0.0,6.0,20198,0,0 +9620,1100105,42,1,1,0.0,6.0,9636,0,0 +9621,1100105,42,1,1,0.0,4.0,23876,0,0 +9622,1100105,42,1,1,0.0,4.0,21275,0,0 +9623,1100105,42,1,1,1.0,6.0,5166,0,0 +9624,1100105,42,1,1,0.0,4.0,23876,0,0 +9625,1100105,42,1,1,1.0,6.0,12989,0,0 +9626,1100105,42,1,1,0.0,6.0,911,0,0 +9627,1100105,42,1,1,1.0,4.0,9278,0,0 +9628,1100105,42,1,1,0.0,4.0,21275,0,0 +9629,1100105,42,1,1,0.0,6.0,911,0,0 +9630,1100105,42,1,1,1.0,4.0,13372,0,0 +9631,1100105,42,1,1,0.0,6.0,7250,0,0 +9632,1100105,42,1,1,0.0,6.0,9126,0,0 +9633,1100105,42,1,1,1.0,6.0,11991,0,0 +9634,1100105,42,1,1,0.0,6.0,13068,0,0 +9635,1100105,42,1,1,0.0,6.0,13068,0,0 +9636,1100105,42,1,1,0.0,4.0,10536,0,0 +9637,1100105,42,1,1,1.0,6.0,11991,0,0 +9638,1100105,42,1,1,2.0,4.0,20261,0,0 +9639,1100105,42,1,1,0.0,4.0,4650,0,0 +9640,1100105,42,1,1,0.0,4.0,4650,0,0 +9641,1100105,42,1,1,0.0,6.0,0,0,0 +9642,1100105,42,1,1,1.0,6.0,23402,0,0 +9643,1100105,42,1,1,1.0,6.0,23402,0,0 +9644,1100105,42,1,1,0.0,4.0,32,0,0 +9645,1100105,42,1,1,0.0,6.0,0,0,0 +9646,1100105,42,1,1,0.0,4.0,32,0,0 +9647,1100105,42,1,1,1.0,4.0,6115,0,0 +9648,1100105,42,1,1,0.0,6.0,984,0,0 +9649,1100105,42,1,1,0.0,4.0,952,0,0 +9650,1100105,42,1,1,0.0,6.0,984,0,0 +9651,1100105,42,1,1,0.0,6.0,24249,0,0 +9652,1100105,42,1,1,0.0,6.0,9528,0,0 +9653,1100105,42,1,1,0.0,6.0,15196,0,0 +9654,1100105,42,1,1,0.0,4.0,2759,0,0 +9655,1100105,42,1,1,0.0,6.0,0,0,0 +9656,1100105,42,1,1,1.0,4.0,6115,0,0 +9657,1100105,42,1,1,1.0,4.0,6115,0,0 +9658,1100105,42,1,1,0.0,6.0,0,0,0 +9659,1100105,42,1,1,0.0,4.0,23199,0,0 +9660,1100105,42,1,1,1.0,6.0,1284,0,0 +9661,1100105,42,1,1,1.0,4.0,10,0,0 +9662,1100105,42,1,1,0.0,4.0,1035,0,0 +9663,1100105,42,1,1,0.0,6.0,0,0,0 +9664,1100105,42,1,1,0.0,6.0,3373,0,0 +9665,1100105,42,1,1,0.0,4.0,9489,0,0 +9666,1100105,42,1,1,0.0,6.0,0,0,0 +9667,1100105,42,1,1,0.0,6.0,0,0,0 +9668,1100105,42,1,1,0.0,4.0,0,0,0 +9669,1100105,42,1,1,0.0,6.0,13253,0,0 +9670,1100105,42,1,1,0.0,6.0,0,0,0 +9671,1100105,42,1,1,0.0,6.0,0,0,0 +9672,1100105,42,1,1,0.0,6.0,0,0,0 +9673,1100105,42,1,1,1.0,4.0,10053,0,0 +9674,1100105,42,1,1,1.0,6.0,1284,0,0 +9675,1100105,42,1,1,0.0,6.0,0,0,0 +9676,1100105,42,1,1,0.0,6.0,0,0,0 +9677,1100105,42,1,1,0.0,4.0,5888,0,0 +9678,1100105,42,1,1,0.0,4.0,0,0,0 +9679,1100105,42,1,1,0.0,4.0,0,0,0 +9680,1100105,42,1,1,1.0,6.0,1284,0,0 +9681,1100105,42,1,1,1.0,6.0,2569,0,0 +9682,1100105,42,1,1,0.0,6.0,12741,0,0 +9683,1100105,42,1,1,1.0,6.0,1284,0,0 +9684,1100105,42,1,1,1.0,4.0,10,0,0 +9685,1100105,42,1,1,0.0,6.0,0,0,0 +9686,1100105,42,1,1,0.0,4.0,1035,0,0 +9687,1100105,42,1,1,0.0,4.0,17923,0,0 +9688,1100105,42,1,1,0.0,6.0,0,0,0 +9689,1100105,42,1,1,0.0,4.0,9489,0,0 +9690,1100105,42,1,1,1.0,6.0,2569,0,0 +9691,1100105,42,1,1,0.0,6.0,3418,0,0 +9692,1100105,42,1,1,1.0,6.0,1284,0,0 +9693,1100105,42,1,1,0.0,4.0,5888,0,0 +9694,1100105,42,1,1,0.0,6.0,0,0,0 +9695,1100105,42,1,1,0.0,6.0,0,0,0 +9696,1100105,42,1,1,1.0,6.0,2569,0,0 +9697,1100105,42,1,1,0.0,4.0,9489,0,0 +9698,1100105,42,1,1,0.0,4.0,9489,0,0 +9699,1100105,42,1,1,0.0,6.0,3502,0,0 +9700,1100105,42,1,1,0.0,6.0,1657,0,0 +9701,1100105,42,1,1,0.0,6.0,3502,0,0 +9702,1100105,42,1,1,0.0,6.0,15918,0,0 +9703,1100105,42,1,1,1.0,6.0,21330,0,0 +9704,1100105,42,1,1,0.0,6.0,15393,0,0 +9705,1100105,42,1,1,1.0,6.0,233,0,0 +9706,1100105,42,1,1,0.0,4.0,0,0,0 +9707,1100105,42,1,1,0.0,6.0,0,0,0 +9708,1100105,42,1,1,0.0,6.0,0,0,0 +9709,1100105,42,1,1,0.0,6.0,0,0,0 +9710,1100105,42,1,1,0.0,6.0,0,0,0 +9711,1100105,42,1,1,1.0,6.0,0,0,0 +9712,1100105,42,1,1,0.0,4.0,0,0,0 +9713,1100105,42,1,1,0.0,6.0,0,0,0 +9714,1100105,42,1,1,0.0,6.0,15918,0,0 +9715,1100105,42,1,1,0.0,6.0,2026,0,0 +9716,1100105,42,1,1,0.0,6.0,0,0,0 +9717,1100105,42,1,1,0.0,6.0,5353,0,0 +9718,1100105,42,1,1,0.0,6.0,0,0,0 +9719,1100105,42,1,1,0.0,6.0,0,0,0 +9720,1100105,42,1,1,0.0,6.0,2653,0,0 +9721,1100105,42,1,1,0.0,6.0,1591,0,0 +9722,1100105,42,1,1,0.0,4.0,0,0,0 +9723,1100105,42,1,1,0.0,6.0,0,0,0 +9724,1100105,42,1,1,0.0,6.0,4244,0,0 +9725,1100105,42,1,1,0.0,6.0,13465,0,0 +9726,1100105,42,1,1,0.0,6.0,0,0,0 +9727,1100105,42,1,1,1.0,6.0,0,0,0 +9728,1100105,42,1,1,1.0,6.0,535,0,0 +9729,1100105,42,1,1,1.0,6.0,2890,0,0 +9730,1100105,42,1,1,0.0,4.0,527,0,0 +9731,1100105,42,1,1,0.0,6.0,0,0,0 +9732,1100105,42,1,1,0.0,4.0,527,0,0 +9733,1100105,42,1,1,1.0,6.0,0,0,0 +9734,1100105,42,1,1,1.0,6.0,0,0,0 +9735,1100105,42,1,1,1.0,6.0,12848,0,0 +9736,1100105,42,1,1,0.0,6.0,2653,0,0 +9737,1100105,42,1,1,0.0,6.0,0,0,0 +9738,1100105,42,1,1,0.0,6.0,24314,0,0 +9739,1100105,42,1,1,0.0,4.0,20261,0,0 +9740,1100105,42,1,1,0.0,6.0,0,0,0 +9741,1100105,42,1,1,0.0,4.0,527,0,0 +9742,1100105,42,1,1,0.0,6.0,0,0,0 +9743,1100105,42,1,1,0.0,4.0,527,0,0 +9744,1100105,42,1,1,0.0,4.0,0,0,0 +9745,1100105,42,1,1,0.0,6.0,0,0,0 +9746,1100105,42,1,1,0.0,4.0,0,0,0 +9747,1100105,42,1,1,0.0,6.0,1591,0,0 +9748,1100105,42,1,1,1.0,6.0,0,0,0 +9749,1100105,42,1,1,1.0,6.0,0,0,0 +9750,1100105,42,1,1,0.0,4.0,20261,0,0 +9751,1100105,42,1,1,1.0,6.0,0,0,0 +9752,1100105,42,1,1,0.0,6.0,5369,0,0 +9753,1100105,42,1,1,0.0,6.0,182,0,0 +9754,1100105,42,1,1,0.0,6.0,4143,0,0 +9755,1100105,42,1,1,0.0,4.0,4143,0,0 +9756,1100105,42,1,1,1.0,6.0,0,0,0 +9757,1100105,42,1,1,0.0,6.0,5306,0,0 +9758,1100105,42,1,1,0.0,6.0,0,0,0 +9759,1100105,42,1,1,0.0,6.0,0,0,0 +9760,1100105,42,1,1,0.0,6.0,182,0,0 +9761,1100105,42,1,1,1.0,6.0,0,0,0 +9762,1100105,42,1,1,0.0,4.0,0,0,0 +9763,1100105,42,1,1,0.0,6.0,5306,0,0 +9764,1100105,43,1,4,3.0,5.0,326847,4,0 +9765,1100105,43,1,4,0.0,2.0,120195,4,0 +9766,1100105,43,1,4,3.0,1.0,49720,2,1 +9767,1100105,43,1,4,0.0,1.0,20261,1,1 +9768,1100105,43,1,3,2.0,3.0,233063,3,0 +9769,1100105,43,1,3,2.0,7.0,182014,3,0 +9770,1100105,43,1,3,2.0,7.0,105062,3,0 +9771,1100105,43,1,3,1.0,1.0,107067,1,1 +9772,1100105,43,1,2,2.0,1.0,837266,2,0 +9773,1100105,43,1,2,1.0,5.0,248208,2,0 +9774,1100105,43,1,2,0.0,5.0,212750,2,0 +9775,1100105,43,1,2,1.0,1.0,331468,2,0 +9776,1100105,43,1,2,1.0,7.0,664591,1,0 +9777,1100105,43,1,2,1.0,1.0,186407,2,0 +9778,1100105,43,1,2,1.0,5.0,154516,2,0 +9779,1100105,43,1,2,1.0,1.0,158172,2,0 +9780,1100105,43,1,2,0.0,5.0,156043,2,0 +9781,1100105,43,1,2,1.0,1.0,154339,1,0 +9782,1100105,43,1,2,1.0,7.0,189782,1,0 +9783,1100105,43,1,2,1.0,7.0,127408,2,0 +9784,1100105,43,1,2,1.0,7.0,132870,2,0 +9785,1100105,43,1,2,0.0,5.0,123104,2,0 +9786,1100105,43,1,2,0.0,7.0,137064,2,0 +9787,1100105,43,1,2,1.0,7.0,111760,2,0 +9788,1100105,43,1,2,1.0,5.0,121571,2,0 +9789,1100105,43,1,2,1.0,5.0,149104,2,0 +9790,1100105,43,1,2,2.0,5.0,114923,2,0 +9791,1100105,43,1,2,0.0,7.0,115978,1,0 +9792,1100105,43,1,2,1.0,1.0,121144,0,0 +9793,1100105,43,1,2,1.0,7.0,82458,2,0 +9794,1100105,43,1,2,1.0,5.0,76307,2,0 +9795,1100105,43,1,2,1.0,5.0,64438,2,0 +9796,1100105,43,1,2,0.0,5.0,74590,2,0 +9797,1100105,43,1,2,1.0,1.0,55502,1,0 +9798,1100105,43,1,2,1.0,7.0,54193,1,0 +9799,1100105,43,1,2,0.0,1.0,66423,1,0 +9800,1100105,43,1,2,0.0,7.0,53104,1,0 +9801,1100105,43,1,2,0.0,5.0,56882,1,0 +9802,1100105,43,1,2,1.0,1.0,88046,1,0 +9803,1100105,43,1,2,0.0,1.0,65851,1,0 +9804,1100105,43,1,2,1.0,1.0,54720,0,0 +9805,1100105,43,1,2,1.0,5.0,36471,2,0 +9806,1100105,43,1,2,0.0,1.0,36082,2,0 +9807,1100105,43,1,2,0.0,5.0,31735,1,0 +9808,1100105,43,1,2,0.0,5.0,38326,1,0 +9809,1100105,43,1,2,0.0,1.0,42469,0,0 +9810,1100105,43,1,2,1.0,1.0,17609,1,0 +9811,1100105,43,1,2,1.0,5.0,23301,1,0 +9812,1100105,43,1,2,0.0,5.0,4280,0,0 +9813,1100105,43,1,2,0.0,7.0,0,0,0 +9814,1100105,43,1,1,0.0,4.0,284673,1,0 +9815,1100105,43,1,1,1.0,4.0,167161,1,0 +9816,1100105,43,1,1,0.0,6.0,166703,1,0 +9817,1100105,43,1,1,1.0,4.0,127349,1,0 +9818,1100105,43,1,1,0.0,4.0,103583,1,0 +9819,1100105,43,1,1,0.0,4.0,137064,1,0 +9820,1100105,43,1,1,1.0,6.0,131702,1,0 +9821,1100105,43,1,1,0.0,6.0,129479,1,0 +9822,1100105,43,1,1,0.0,4.0,127349,1,0 +9823,1100105,43,1,1,0.0,6.0,133834,1,0 +9824,1100105,43,1,1,1.0,6.0,123127,1,0 +9825,1100105,43,1,1,0.0,4.0,113063,1,0 +9826,1100105,43,1,1,1.0,4.0,146392,1,0 +9827,1100105,43,1,1,1.0,6.0,134866,1,0 +9828,1100105,43,1,1,1.0,4.0,115978,1,0 +9829,1100105,43,1,1,1.0,4.0,137117,1,0 +9830,1100105,43,1,1,1.0,4.0,111430,1,0 +9831,1100105,43,1,1,0.0,4.0,138492,1,0 +9832,1100105,43,1,1,0.0,4.0,143267,1,0 +9833,1100105,43,1,1,1.0,4.0,116703,1,0 +9834,1100105,43,1,1,1.0,4.0,145017,1,0 +9835,1100105,43,1,1,0.0,4.0,142399,1,0 +9836,1100105,43,1,1,1.0,6.0,131551,0,0 +9837,1100105,43,1,1,1.0,6.0,82441,1,0 +9838,1100105,43,1,1,2.0,6.0,87010,1,0 +9839,1100105,43,1,1,1.0,6.0,55674,1,0 +9840,1100105,43,1,1,1.0,6.0,95504,1,0 +9841,1100105,43,1,1,0.0,6.0,97004,1,0 +9842,1100105,43,1,1,0.0,6.0,71929,1,0 +9843,1100105,43,1,1,1.0,6.0,90523,1,0 +9844,1100105,43,1,1,1.0,6.0,96360,1,0 +9845,1100105,43,1,1,0.0,6.0,75982,1,0 +9846,1100105,43,1,1,0.0,6.0,73804,1,0 +9847,1100105,43,1,1,0.0,6.0,68532,1,0 +9848,1100105,43,1,1,1.0,6.0,93177,1,0 +9849,1100105,43,1,1,0.0,6.0,65580,1,0 +9850,1100105,43,1,1,1.0,6.0,54604,1,0 +9851,1100105,43,1,1,0.0,4.0,52717,1,0 +9852,1100105,43,1,1,0.0,6.0,63260,1,0 +9853,1100105,43,1,1,1.0,6.0,54604,1,0 +9854,1100105,43,1,1,0.0,6.0,83838,1,0 +9855,1100105,43,1,1,0.0,6.0,72508,1,0 +9856,1100105,43,1,1,1.0,6.0,68890,1,0 +9857,1100105,43,1,1,1.0,6.0,71472,1,0 +9858,1100105,43,1,1,0.0,6.0,79593,1,0 +9859,1100105,43,1,1,1.0,4.0,79593,1,0 +9860,1100105,43,1,1,1.0,4.0,79593,1,0 +9861,1100105,43,1,1,0.0,6.0,64838,1,0 +9862,1100105,43,1,1,0.0,6.0,84087,1,0 +9863,1100105,43,1,1,0.0,4.0,74286,1,0 +9864,1100105,43,1,1,0.0,6.0,53062,1,0 +9865,1100105,43,1,1,0.0,6.0,56245,1,0 +9866,1100105,43,1,1,0.0,4.0,80816,1,0 +9867,1100105,43,1,1,1.0,6.0,83512,1,0 +9868,1100105,43,1,1,1.0,4.0,65797,0,0 +9869,1100105,43,1,1,0.0,4.0,94219,0,0 +9870,1100105,43,1,1,1.0,6.0,45295,1,0 +9871,1100105,43,1,1,1.0,4.0,42077,1,0 +9872,1100105,43,1,1,0.0,6.0,40523,1,0 +9873,1100105,43,1,1,1.0,4.0,47755,1,0 +9874,1100105,43,1,1,0.0,4.0,46270,1,0 +9875,1100105,43,1,1,0.0,6.0,26766,1,0 +9876,1100105,43,1,1,0.0,4.0,29003,1,0 +9877,1100105,43,1,1,1.0,4.0,29582,1,0 +9878,1100105,43,1,1,1.0,4.0,42173,1,0 +9879,1100105,43,1,1,2.0,4.0,42449,1,0 +9880,1100105,43,1,1,1.0,4.0,43490,1,0 +9881,1100105,43,1,1,0.0,6.0,46391,1,0 +9882,1100105,43,1,1,0.0,6.0,39265,1,0 +9883,1100105,43,1,1,1.0,4.0,25696,1,0 +9884,1100105,43,1,1,0.0,6.0,39537,1,0 +9885,1100105,43,1,1,1.0,4.0,25696,1,0 +9886,1100105,43,1,1,0.0,6.0,49554,1,0 +9887,1100105,43,1,1,0.0,6.0,42550,1,0 +9888,1100105,43,1,1,0.0,4.0,28174,1,0 +9889,1100105,43,1,1,0.0,6.0,46745,1,0 +9890,1100105,43,1,1,1.0,6.0,29521,0,0 +9891,1100105,43,1,1,1.0,6.0,38700,0,0 +9892,1100105,43,1,1,1.0,6.0,37788,0,0 +9893,1100105,43,1,1,0.0,6.0,30453,0,0 +9894,1100105,43,1,1,0.0,4.0,29210,0,0 +9895,1100105,43,1,1,0.0,4.0,27412,0,0 +9896,1100105,43,1,1,0.0,4.0,41739,0,0 +9897,1100105,43,1,1,0.0,4.0,13880,1,0 +9898,1100105,43,1,1,0.0,6.0,12652,1,0 +9899,1100105,43,1,1,1.0,4.0,24408,1,0 +9900,1100105,43,1,1,0.0,4.0,11394,1,0 +9901,1100105,43,1,1,0.0,6.0,5798,1,0 +9902,1100105,43,1,1,0.0,6.0,12652,1,0 +9903,1100105,43,1,1,0.0,6.0,10612,1,0 +9904,1100105,43,1,1,1.0,4.0,5271,1,0 +9905,1100105,43,1,1,0.0,6.0,18852,0,0 +9906,1100105,43,1,1,0.0,6.0,9117,0,0 +9907,1100105,43,1,1,0.0,4.0,9421,0,0 +9908,1100105,43,1,1,0.0,4.0,14760,0,0 +9909,1100105,43,1,1,1.0,4.0,15069,0,0 +9910,1100105,43,1,1,0.0,6.0,3936,0,0 +9911,1100105,43,1,1,0.0,6.0,9126,0,0 +9912,1100105,43,1,1,0.0,4.0,278,0,0 +9913,1100105,43,1,1,0.0,6.0,0,0,0 +9914,1100105,43,1,1,1.0,4.0,10053,0,0 +9915,1100105,43,1,1,0.0,6.0,792,0,0 +9916,1100105,43,1,1,0.0,6.0,0,0,0 +9917,1100105,43,1,1,1.0,6.0,760,0,0 +9918,1100105,43,1,1,0.0,6.0,7387,0,0 +9919,1100105,44,1,4,2.0,7.0,321025,4,0 +9920,1100105,44,1,4,0.0,7.0,208410,4,0 +9921,1100105,44,1,4,3.0,5.0,290758,4,0 +9922,1100105,44,1,4,0.0,5.0,265184,4,0 +9923,1100105,44,1,4,2.0,1.0,324217,2,1 +9924,1100105,44,1,4,1.0,3.0,183913,1,1 +9925,1100105,44,1,4,1.0,5.0,103325,3,0 +9926,1100105,44,1,4,0.0,2.0,120195,4,0 +9927,1100105,44,1,4,0.0,7.0,89781,3,0 +9928,1100105,44,1,4,2.0,5.0,81385,3,0 +9929,1100105,44,1,4,0.0,3.0,51151,1,1 +9930,1100105,44,1,4,0.0,3.0,51151,1,1 +9931,1100105,44,1,4,0.0,3.0,51151,1,1 +9932,1100105,44,1,4,0.0,1.0,49250,2,0 +9933,1100105,44,1,4,0.0,1.0,49250,2,0 +9934,1100105,44,1,4,0.0,1.0,49250,2,0 +9935,1100105,44,1,4,1.0,1.0,27967,2,1 +9936,1100105,44,1,4,1.0,5.0,29714,1,1 +9937,1100105,44,1,4,1.0,1.0,46038,1,1 +9938,1100105,44,1,4,0.0,1.0,20261,1,1 +9939,1100105,44,1,3,0.0,5.0,230301,3,0 +9940,1100105,44,1,3,0.0,7.0,217195,3,0 +9941,1100105,44,1,3,0.0,1.0,207706,3,0 +9942,1100105,44,1,3,2.0,7.0,234275,3,0 +9943,1100105,44,1,3,0.0,1.0,256266,2,1 +9944,1100105,44,1,3,2.0,1.0,271509,2,1 +9945,1100105,44,1,3,1.0,7.0,166489,3,0 +9946,1100105,44,1,3,0.0,5.0,173449,3,0 +9947,1100105,44,1,3,0.0,5.0,173449,3,0 +9948,1100105,44,1,3,1.0,7.0,141833,3,0 +9949,1100105,44,1,3,1.0,5.0,141328,3,0 +9950,1100105,44,1,3,2.0,7.0,105062,3,0 +9951,1100105,44,1,3,2.0,7.0,111145,3,0 +9952,1100105,44,1,3,0.0,5.0,123597,3,0 +9953,1100105,44,1,3,0.0,5.0,123597,3,0 +9954,1100105,44,1,3,1.0,1.0,107067,1,1 +9955,1100105,44,1,3,0.0,5.0,30776,3,0 +9956,1100105,44,1,3,0.0,7.0,42469,2,0 +9957,1100105,44,1,3,0.0,7.0,43505,1,0 +9958,1100105,44,1,3,0.0,5.0,30776,1,0 +9959,1100105,44,1,2,0.0,1.0,398932,2,0 +9960,1100105,44,1,2,0.0,1.0,223813,2,0 +9961,1100105,44,1,2,1.0,5.0,291841,2,0 +9962,1100105,44,1,2,1.0,1.0,219677,2,0 +9963,1100105,44,1,2,2.0,7.0,206639,2,0 +9964,1100105,44,1,2,1.0,1.0,238760,2,0 +9965,1100105,44,1,2,1.0,5.0,243649,2,0 +9966,1100105,44,1,2,1.0,5.0,203427,2,0 +9967,1100105,44,1,2,0.0,5.0,286535,2,0 +9968,1100105,44,1,2,1.0,1.0,323678,2,0 +9969,1100105,44,1,2,0.0,5.0,258959,2,0 +9970,1100105,44,1,2,1.0,1.0,207684,2,0 +9971,1100105,44,1,2,2.0,5.0,226982,2,0 +9972,1100105,44,1,2,1.0,1.0,405923,2,0 +9973,1100105,44,1,2,0.0,5.0,212750,2,0 +9974,1100105,44,1,2,2.0,1.0,230991,1,0 +9975,1100105,44,1,2,1.0,1.0,490469,1,0 +9976,1100105,44,1,2,3.0,1.0,758074,1,0 +9977,1100105,44,1,2,1.0,1.0,410035,0,0 +9978,1100105,44,1,2,0.0,1.0,178507,2,0 +9979,1100105,44,1,2,0.0,5.0,159186,2,0 +9980,1100105,44,1,2,0.0,5.0,192721,2,0 +9981,1100105,44,1,2,0.0,5.0,158483,2,0 +9982,1100105,44,1,2,1.0,5.0,176166,2,0 +9983,1100105,44,1,2,1.0,1.0,174362,2,0 +9984,1100105,44,1,2,2.0,1.0,173967,2,0 +9985,1100105,44,1,2,1.0,7.0,178305,2,0 +9986,1100105,44,1,2,1.0,5.0,173967,2,0 +9987,1100105,44,1,2,1.0,5.0,163545,2,0 +9988,1100105,44,1,2,1.0,5.0,159522,2,0 +9989,1100105,44,1,2,1.0,1.0,176232,2,0 +9990,1100105,44,1,2,1.0,7.0,191630,2,0 +9991,1100105,44,1,2,0.0,7.0,155726,2,0 +9992,1100105,44,1,2,1.0,7.0,165536,2,0 +9993,1100105,44,1,2,1.0,5.0,152268,2,0 +9994,1100105,44,1,2,1.0,1.0,182357,2,0 +9995,1100105,44,1,2,1.0,1.0,165941,2,0 +9996,1100105,44,1,2,1.0,1.0,168174,2,0 +9997,1100105,44,1,2,1.0,1.0,176232,2,0 +9998,1100105,44,1,2,0.0,5.0,160554,2,0 +9999,1100105,44,1,2,1.0,1.0,170129,1,0 +10000,1100105,44,1,2,1.0,1.0,194525,1,0 +10001,1100105,44,1,2,1.0,7.0,171307,1,0 +10002,1100105,44,1,2,0.0,1.0,177291,1,0 +10003,1100105,44,1,2,0.0,1.0,159551,1,0 +10004,1100105,44,1,2,2.0,7.0,179873,1,0 +10005,1100105,44,1,2,1.0,1.0,153821,0,0 +10006,1100105,44,1,2,2.0,5.0,135754,2,0 +10007,1100105,44,1,2,0.0,7.0,120769,2,0 +10008,1100105,44,1,2,0.0,7.0,123607,2,0 +10009,1100105,44,1,2,1.0,5.0,103583,2,0 +10010,1100105,44,1,2,0.0,1.0,137064,2,0 +10011,1100105,44,1,2,0.0,1.0,139838,2,0 +10012,1100105,44,1,2,0.0,7.0,122584,2,0 +10013,1100105,44,1,2,2.0,7.0,130622,2,0 +10014,1100105,44,1,2,2.0,7.0,130622,2,0 +10015,1100105,44,1,2,1.0,7.0,136730,2,0 +10016,1100105,44,1,2,1.0,7.0,117053,2,0 +10017,1100105,44,1,2,0.0,5.0,137064,2,0 +10018,1100105,44,1,2,2.0,7.0,108246,2,0 +10019,1100105,44,1,2,1.0,7.0,145611,2,0 +10020,1100105,44,1,2,0.0,5.0,103855,2,0 +10021,1100105,44,1,2,0.0,1.0,136900,2,0 +10022,1100105,44,1,2,1.0,1.0,141833,2,0 +10023,1100105,44,1,2,1.0,5.0,120558,2,0 +10024,1100105,44,1,2,0.0,7.0,126018,2,0 +10025,1100105,44,1,2,1.0,7.0,113869,2,0 +10026,1100105,44,1,2,0.0,7.0,132587,2,0 +10027,1100105,44,1,2,0.0,7.0,111450,2,0 +10028,1100105,44,1,2,2.0,7.0,131594,2,0 +10029,1100105,44,1,2,1.0,7.0,145611,2,0 +10030,1100105,44,1,2,1.0,5.0,106898,2,0 +10031,1100105,44,1,2,0.0,5.0,136768,2,0 +10032,1100105,44,1,2,1.0,5.0,118086,2,0 +10033,1100105,44,1,2,2.0,7.0,134583,2,0 +10034,1100105,44,1,2,2.0,5.0,143267,2,0 +10035,1100105,44,1,2,1.0,5.0,106898,2,0 +10036,1100105,44,1,2,1.0,7.0,128443,2,0 +10037,1100105,44,1,2,2.0,5.0,134399,2,0 +10038,1100105,44,1,2,0.0,7.0,140820,2,0 +10039,1100105,44,1,2,1.0,5.0,121571,2,0 +10040,1100105,44,1,2,1.0,5.0,145885,2,0 +10041,1100105,44,1,2,2.0,5.0,112815,2,0 +10042,1100105,44,1,2,0.0,5.0,137781,2,0 +10043,1100105,44,1,2,1.0,1.0,134658,2,0 +10044,1100105,44,1,2,0.0,1.0,125268,1,0 +10045,1100105,44,1,2,1.0,1.0,139807,1,0 +10046,1100105,44,1,2,1.0,7.0,126521,1,0 +10047,1100105,44,1,2,2.0,1.0,107067,1,0 +10048,1100105,44,1,2,2.0,7.0,108401,1,0 +10049,1100105,44,1,2,1.0,7.0,119328,1,0 +10050,1100105,44,1,2,0.0,1.0,112920,1,0 +10051,1100105,44,1,2,0.0,1.0,126786,1,0 +10052,1100105,44,1,2,0.0,1.0,126786,1,0 +10053,1100105,44,1,2,2.0,7.0,108401,1,0 +10054,1100105,44,1,2,1.0,7.0,106173,1,0 +10055,1100105,44,1,2,0.0,5.0,122304,1,0 +10056,1100105,44,1,2,1.0,1.0,126339,1,0 +10057,1100105,44,1,2,2.0,1.0,132655,0,0 +10058,1100105,44,1,2,1.0,7.0,100900,0,0 +10059,1100105,44,1,2,0.0,7.0,71110,2,0 +10060,1100105,44,1,2,1.0,5.0,82977,2,0 +10061,1100105,44,1,2,0.0,5.0,79593,2,0 +10062,1100105,44,1,2,0.0,5.0,95511,2,0 +10063,1100105,44,1,2,0.0,5.0,95511,2,0 +10064,1100105,44,1,2,0.0,7.0,76967,2,0 +10065,1100105,44,1,2,1.0,5.0,70916,2,0 +10066,1100105,44,1,2,1.0,7.0,60814,2,0 +10067,1100105,44,1,2,1.0,5.0,58368,2,0 +10068,1100105,44,1,2,0.0,7.0,96360,2,0 +10069,1100105,44,1,2,0.0,7.0,83512,2,0 +10070,1100105,44,1,2,1.0,7.0,98501,2,0 +10071,1100105,44,1,2,0.0,7.0,70851,2,0 +10072,1100105,44,1,2,1.0,7.0,56971,2,0 +10073,1100105,44,1,2,1.0,7.0,60814,2,0 +10074,1100105,44,1,2,0.0,7.0,64240,2,0 +10075,1100105,44,1,2,1.0,3.0,87936,2,0 +10076,1100105,44,1,2,1.0,5.0,58887,2,0 +10077,1100105,44,1,2,0.0,7.0,82334,2,0 +10078,1100105,44,1,2,0.0,7.0,98054,2,0 +10079,1100105,44,1,2,0.0,7.0,62613,2,0 +10080,1100105,44,1,2,2.0,7.0,98404,2,0 +10081,1100105,44,1,2,1.0,1.0,55502,1,0 +10082,1100105,44,1,2,1.0,1.0,93225,1,0 +10083,1100105,44,1,2,1.0,1.0,96294,1,0 +10084,1100105,44,1,2,1.0,1.0,99572,1,0 +10085,1100105,44,1,2,0.0,5.0,83488,1,0 +10086,1100105,44,1,2,1.0,7.0,54193,1,0 +10087,1100105,44,1,2,1.0,7.0,84899,1,0 +10088,1100105,44,1,2,0.0,1.0,66423,1,0 +10089,1100105,44,1,2,0.0,1.0,66423,1,0 +10090,1100105,44,1,2,1.0,5.0,55078,1,0 +10091,1100105,44,1,2,0.0,7.0,53104,1,0 +10092,1100105,44,1,2,1.0,1.0,71952,1,0 +10093,1100105,44,1,2,1.0,1.0,71952,1,0 +10094,1100105,44,1,2,0.0,7.0,75454,1,0 +10095,1100105,44,1,2,2.0,7.0,75348,1,0 +10096,1100105,44,1,2,0.0,1.0,78531,1,0 +10097,1100105,44,1,2,1.0,1.0,88046,1,0 +10098,1100105,44,1,2,0.0,1.0,73876,1,0 +10099,1100105,44,1,2,1.0,1.0,70041,1,0 +10100,1100105,44,1,2,1.0,5.0,65340,1,0 +10101,1100105,44,1,2,2.0,5.0,54017,1,0 +10102,1100105,44,1,2,1.0,1.0,88046,1,0 +10103,1100105,44,1,2,2.0,7.0,75348,1,0 +10104,1100105,44,1,2,0.0,1.0,88667,1,0 +10105,1100105,44,1,2,0.0,1.0,65851,1,0 +10106,1100105,44,1,2,0.0,1.0,65851,1,0 +10107,1100105,44,1,2,1.0,1.0,99440,0,0 +10108,1100105,44,1,2,1.0,5.0,52355,0,0 +10109,1100105,44,1,2,0.0,1.0,47658,2,0 +10110,1100105,44,1,2,1.0,5.0,36471,2,0 +10111,1100105,44,1,2,0.0,7.0,27202,2,0 +10112,1100105,44,1,2,0.0,5.0,41649,2,0 +10113,1100105,44,1,2,1.0,7.0,40857,2,0 +10114,1100105,44,1,2,0.0,7.0,41388,2,0 +10115,1100105,44,1,2,0.0,5.0,37956,2,0 +10116,1100105,44,1,2,0.0,5.0,37956,2,0 +10117,1100105,44,1,2,0.0,7.0,47855,1,0 +10118,1100105,44,1,2,0.0,7.0,33106,1,0 +10119,1100105,44,1,2,1.0,3.0,40465,1,0 +10120,1100105,44,1,2,0.0,5.0,31735,1,0 +10121,1100105,44,1,2,0.0,5.0,31735,1,0 +10122,1100105,44,1,2,1.0,5.0,48180,1,0 +10123,1100105,44,1,2,1.0,5.0,25895,1,0 +10124,1100105,44,1,2,0.0,5.0,31735,1,0 +10125,1100105,44,1,2,0.0,5.0,38326,1,0 +10126,1100105,44,1,2,2.0,7.0,31975,1,0 +10127,1100105,44,1,2,0.0,1.0,46612,1,0 +10128,1100105,44,1,2,2.0,7.0,31975,1,0 +10129,1100105,44,1,2,0.0,5.0,38326,1,0 +10130,1100105,44,1,2,1.0,1.0,43041,1,0 +10131,1100105,44,1,2,0.0,7.0,48628,1,0 +10132,1100105,44,1,2,0.0,7.0,48628,1,0 +10133,1100105,44,1,2,1.0,3.0,33429,1,1 +10134,1100105,44,1,2,1.0,1.0,36327,0,0 +10135,1100105,44,1,2,0.0,1.0,36772,0,0 +10136,1100105,44,1,2,0.0,1.0,36772,0,0 +10137,1100105,44,1,2,0.0,1.0,36772,0,0 +10138,1100105,44,1,2,1.0,1.0,26948,0,0 +10139,1100105,44,1,2,1.0,3.0,12741,1,0 +10140,1100105,44,1,2,0.0,2.0,10706,1,0 +10141,1100105,44,1,2,1.0,1.0,17609,1,0 +10142,1100105,44,1,2,0.0,7.0,5306,1,0 +10143,1100105,44,1,2,1.0,1.0,17609,1,0 +10144,1100105,44,1,2,1.0,1.0,17609,1,0 +10145,1100105,44,1,2,1.0,7.0,4244,1,0 +10146,1100105,44,1,2,0.0,7.0,5074,1,0 +10147,1100105,44,1,2,0.0,5.0,3183,1,0 +10148,1100105,44,1,2,0.0,7.0,5074,1,0 +10149,1100105,44,1,2,0.0,5.0,19556,0,0 +10150,1100105,44,1,2,0.0,1.0,16661,0,0 +10151,1100105,44,1,2,0.0,5.0,14916,0,0 +10152,1100105,44,1,2,1.0,5.0,0,0,0 +10153,1100105,44,1,2,0.0,3.0,24213,0,0 +10154,1100105,44,1,2,1.0,7.0,0,0,0 +10155,1100105,44,1,2,0.0,7.0,4246,0,0 +10156,1100105,44,1,2,0.0,7.0,0,0,0 +10157,1100105,44,1,2,1.0,7.0,21275,0,0 +10158,1100105,44,1,2,2.0,7.0,13465,0,0 +10159,1100105,44,1,2,0.0,7.0,0,0,0 +10160,1100105,44,1,2,0.0,7.0,5271,0,0 +10161,1100105,44,1,2,1.0,1.0,21224,0,0 +10162,1100105,44,1,1,1.0,4.0,288732,1,0 +10163,1100105,44,1,1,0.0,6.0,202697,1,0 +10164,1100105,44,1,1,2.0,6.0,308994,1,0 +10165,1100105,44,1,1,1.0,6.0,414438,1,0 +10166,1100105,44,1,1,1.0,6.0,325253,1,0 +10167,1100105,44,1,1,1.0,4.0,267668,1,0 +10168,1100105,44,1,1,0.0,6.0,215789,1,0 +10169,1100105,44,1,1,1.0,4.0,253274,1,0 +10170,1100105,44,1,1,1.0,6.0,253274,1,0 +10171,1100105,44,1,1,0.0,6.0,505151,0,0 +10172,1100105,44,1,1,0.0,4.0,156016,1,0 +10173,1100105,44,1,1,6.0,4.0,180411,1,0 +10174,1100105,44,1,1,1.0,6.0,171858,1,0 +10175,1100105,44,1,1,1.0,4.0,195054,1,0 +10176,1100105,44,1,1,2.0,4.0,156960,1,0 +10177,1100105,44,1,1,1.0,4.0,172226,1,0 +10178,1100105,44,1,1,1.0,6.0,165734,1,0 +10179,1100105,44,1,1,1.0,6.0,166636,1,0 +10180,1100105,44,1,1,1.0,4.0,172226,1,0 +10181,1100105,44,1,1,0.0,6.0,157550,1,0 +10182,1100105,44,1,1,0.0,6.0,197553,1,0 +10183,1100105,44,1,1,0.0,4.0,175104,1,0 +10184,1100105,44,1,1,0.0,4.0,174019,1,0 +10185,1100105,44,1,1,0.0,6.0,159186,1,0 +10186,1100105,44,1,1,1.0,6.0,180411,1,0 +10187,1100105,44,1,1,0.0,4.0,175104,1,0 +10188,1100105,44,1,1,1.0,4.0,155375,1,0 +10189,1100105,44,1,1,1.0,6.0,186450,1,0 +10190,1100105,44,1,1,1.0,4.0,115087,1,0 +10191,1100105,44,1,1,0.0,6.0,124383,1,0 +10192,1100105,44,1,1,0.0,4.0,104380,1,0 +10193,1100105,44,1,1,1.0,6.0,149894,1,0 +10194,1100105,44,1,1,1.0,4.0,101512,1,0 +10195,1100105,44,1,1,1.0,4.0,103583,1,0 +10196,1100105,44,1,1,0.0,4.0,121571,1,0 +10197,1100105,44,1,1,1.0,4.0,111430,1,0 +10198,1100105,44,1,1,1.0,6.0,113466,1,0 +10199,1100105,44,1,1,1.0,4.0,123127,1,0 +10200,1100105,44,1,1,0.0,4.0,137064,1,0 +10201,1100105,44,1,1,0.0,6.0,141833,1,0 +10202,1100105,44,1,1,0.0,6.0,107727,1,0 +10203,1100105,44,1,1,1.0,6.0,144540,1,0 +10204,1100105,44,1,1,0.0,6.0,101309,1,0 +10205,1100105,44,1,1,1.0,4.0,101309,1,0 +10206,1100105,44,1,1,1.0,6.0,116736,1,0 +10207,1100105,44,1,1,0.0,4.0,131743,1,0 +10208,1100105,44,1,1,1.0,6.0,102322,1,0 +10209,1100105,44,1,1,0.0,4.0,100817,1,0 +10210,1100105,44,1,1,0.0,6.0,131793,1,0 +10211,1100105,44,1,1,1.0,4.0,139187,1,0 +10212,1100105,44,1,1,1.0,6.0,123127,1,0 +10213,1100105,44,1,1,0.0,4.0,111135,1,0 +10214,1100105,44,1,1,1.0,4.0,130585,1,0 +10215,1100105,44,1,1,1.0,6.0,125226,1,0 +10216,1100105,44,1,1,1.0,4.0,141833,1,0 +10217,1100105,44,1,1,0.0,6.0,115493,1,0 +10218,1100105,44,1,1,0.0,4.0,145611,1,0 +10219,1100105,44,1,1,1.0,6.0,100817,1,0 +10220,1100105,44,1,1,1.0,6.0,141833,1,0 +10221,1100105,44,1,1,0.0,4.0,139838,1,0 +10222,1100105,44,1,1,1.0,6.0,125226,1,0 +10223,1100105,44,1,1,0.0,4.0,117032,1,0 +10224,1100105,44,1,1,1.0,6.0,139173,1,0 +10225,1100105,44,1,1,1.0,6.0,139187,1,0 +10226,1100105,44,1,1,0.0,6.0,105434,1,0 +10227,1100105,44,1,1,0.0,6.0,107067,1,0 +10228,1100105,44,1,1,1.0,6.0,139173,1,0 +10229,1100105,44,1,1,0.0,6.0,134658,1,0 +10230,1100105,44,1,1,1.0,4.0,148124,1,0 +10231,1100105,44,1,1,0.0,6.0,147608,1,0 +10232,1100105,44,1,1,1.0,4.0,111760,1,0 +10233,1100105,44,1,1,0.0,6.0,147608,1,0 +10234,1100105,44,1,1,0.0,6.0,108597,1,0 +10235,1100105,44,1,1,0.0,4.0,117774,1,0 +10236,1100105,44,1,1,0.0,6.0,105434,1,0 +10237,1100105,44,1,1,0.0,6.0,105434,1,0 +10238,1100105,44,1,1,0.0,6.0,103583,1,0 +10239,1100105,44,1,1,1.0,6.0,137275,1,0 +10240,1100105,44,1,1,1.0,4.0,101713,1,0 +10241,1100105,44,1,1,1.0,6.0,111430,1,0 +10242,1100105,44,1,1,0.0,6.0,134658,1,0 +10243,1100105,44,1,1,1.0,6.0,108762,1,0 +10244,1100105,44,1,1,0.0,6.0,119915,1,0 +10245,1100105,44,1,1,1.0,6.0,122584,1,0 +10246,1100105,44,1,1,1.0,4.0,116703,1,0 +10247,1100105,44,1,1,1.0,6.0,111430,1,0 +10248,1100105,44,1,1,1.0,6.0,108762,1,0 +10249,1100105,44,1,1,1.0,4.0,107067,1,0 +10250,1100105,44,1,1,1.0,6.0,113869,1,0 +10251,1100105,44,1,1,1.0,6.0,108762,1,0 +10252,1100105,44,1,1,0.0,6.0,102784,1,0 +10253,1100105,44,1,1,0.0,6.0,107543,1,0 +10254,1100105,44,1,1,1.0,4.0,116703,1,0 +10255,1100105,44,1,1,1.0,4.0,105434,1,0 +10256,1100105,44,1,1,1.0,4.0,107553,1,0 +10257,1100105,44,1,1,1.0,6.0,122584,1,0 +10258,1100105,44,1,1,1.0,4.0,106375,1,0 +10259,1100105,44,1,1,0.0,6.0,102784,1,0 +10260,1100105,44,1,1,0.0,6.0,102784,1,0 +10261,1100105,44,1,1,0.0,4.0,105434,1,0 +10262,1100105,44,1,1,1.0,4.0,116703,1,0 +10263,1100105,44,1,1,1.0,4.0,100817,1,0 +10264,1100105,44,1,1,1.0,6.0,108762,1,0 +10265,1100105,44,1,1,0.0,4.0,107388,1,0 +10266,1100105,44,1,1,1.0,6.0,123127,1,0 +10267,1100105,44,1,1,1.0,6.0,105686,1,0 +10268,1100105,44,1,1,1.0,6.0,102993,1,0 +10269,1100105,44,1,1,1.0,4.0,108401,1,0 +10270,1100105,44,1,1,0.0,4.0,138492,1,0 +10271,1100105,44,1,1,0.0,6.0,131702,1,0 +10272,1100105,44,1,1,1.0,6.0,149894,1,0 +10273,1100105,44,1,1,0.0,6.0,131702,1,0 +10274,1100105,44,1,1,0.0,4.0,118085,1,0 +10275,1100105,44,1,1,0.0,4.0,143267,1,0 +10276,1100105,44,1,1,1.0,4.0,137117,1,0 +10277,1100105,44,1,1,1.0,4.0,101309,1,0 +10278,1100105,44,1,1,0.0,4.0,101309,1,0 +10279,1100105,44,1,1,1.0,6.0,107185,1,0 +10280,1100105,44,1,1,0.0,4.0,142399,1,0 +10281,1100105,44,1,1,0.0,6.0,122483,0,0 +10282,1100105,44,1,1,0.0,6.0,111643,0,0 +10283,1100105,44,1,1,1.0,4.0,119224,0,0 +10284,1100105,44,1,1,0.0,6.0,72164,1,0 +10285,1100105,44,1,1,1.0,6.0,82441,1,0 +10286,1100105,44,1,1,1.0,4.0,66433,1,0 +10287,1100105,44,1,1,1.0,4.0,52998,1,0 +10288,1100105,44,1,1,1.0,4.0,52998,1,0 +10289,1100105,44,1,1,0.0,4.0,99272,1,0 +10290,1100105,44,1,1,1.0,4.0,81047,1,0 +10291,1100105,44,1,1,0.0,6.0,68365,1,0 +10292,1100105,44,1,1,1.0,6.0,99440,1,0 +10293,1100105,44,1,1,1.0,6.0,55674,1,0 +10294,1100105,44,1,1,1.0,4.0,71695,1,0 +10295,1100105,44,1,1,1.0,4.0,64221,1,0 +10296,1100105,44,1,1,1.0,6.0,96244,1,0 +10297,1100105,44,1,1,1.0,6.0,79933,1,0 +10298,1100105,44,1,1,1.0,6.0,60785,1,0 +10299,1100105,44,1,1,1.0,6.0,68980,1,0 +10300,1100105,44,1,1,0.0,6.0,81047,1,0 +10301,1100105,44,1,1,1.0,4.0,74947,1,0 +10302,1100105,44,1,1,1.0,4.0,70436,1,0 +10303,1100105,44,1,1,0.0,4.0,94922,1,0 +10304,1100105,44,1,1,1.0,4.0,94450,1,0 +10305,1100105,44,1,1,1.0,6.0,74947,1,0 +10306,1100105,44,1,1,1.0,4.0,65797,1,0 +10307,1100105,44,1,1,1.0,4.0,65797,1,0 +10308,1100105,44,1,1,0.0,4.0,98695,1,0 +10309,1100105,44,1,1,0.0,6.0,74286,1,0 +10310,1100105,44,1,1,1.0,6.0,95945,1,0 +10311,1100105,44,1,1,0.0,6.0,84899,1,0 +10312,1100105,44,1,1,1.0,6.0,95945,1,0 +10313,1100105,44,1,1,0.0,4.0,52620,1,0 +10314,1100105,44,1,1,0.0,6.0,93836,1,0 +10315,1100105,44,1,1,1.0,4.0,63674,1,0 +10316,1100105,44,1,1,1.0,6.0,62150,1,0 +10317,1100105,44,1,1,1.0,6.0,88046,1,0 +10318,1100105,44,1,1,1.0,6.0,62150,1,0 +10319,1100105,44,1,1,0.0,4.0,66423,1,0 +10320,1100105,44,1,1,1.0,6.0,62150,1,0 +10321,1100105,44,1,1,0.0,4.0,90205,1,0 +10322,1100105,44,1,1,0.0,4.0,63260,1,0 +10323,1100105,44,1,1,0.0,6.0,73804,1,0 +10324,1100105,44,1,1,0.0,4.0,74947,1,0 +10325,1100105,44,1,1,0.0,6.0,89936,1,0 +10326,1100105,44,1,1,0.0,6.0,97644,1,0 +10327,1100105,44,1,1,1.0,6.0,64240,1,0 +10328,1100105,44,1,1,0.0,6.0,68532,1,0 +10329,1100105,44,1,1,0.0,4.0,82441,1,0 +10330,1100105,44,1,1,0.0,4.0,71472,1,0 +10331,1100105,44,1,1,0.0,6.0,82060,1,0 +10332,1100105,44,1,1,0.0,6.0,73804,1,0 +10333,1100105,44,1,1,1.0,4.0,80300,1,0 +10334,1100105,44,1,1,0.0,6.0,55674,1,0 +10335,1100105,44,1,1,1.0,6.0,93177,1,0 +10336,1100105,44,1,1,1.0,6.0,75982,1,0 +10337,1100105,44,1,1,0.0,6.0,67877,1,0 +10338,1100105,44,1,1,1.0,4.0,98404,1,0 +10339,1100105,44,1,1,0.0,6.0,52801,1,0 +10340,1100105,44,1,1,1.0,4.0,98404,1,0 +10341,1100105,44,1,1,1.0,4.0,87126,1,0 +10342,1100105,44,1,1,0.0,6.0,83512,1,0 +10343,1100105,44,1,1,1.0,6.0,92077,1,0 +10344,1100105,44,1,1,1.0,6.0,67329,1,0 +10345,1100105,44,1,1,0.0,6.0,70878,1,0 +10346,1100105,44,1,1,1.0,6.0,64325,1,0 +10347,1100105,44,1,1,1.0,6.0,62978,1,0 +10348,1100105,44,1,1,0.0,6.0,86724,1,0 +10349,1100105,44,1,1,0.0,6.0,83838,1,0 +10350,1100105,44,1,1,0.0,6.0,95511,1,0 +10351,1100105,44,1,1,0.0,6.0,81047,1,0 +10352,1100105,44,1,1,0.0,4.0,69593,1,0 +10353,1100105,44,1,1,1.0,6.0,64240,1,0 +10354,1100105,44,1,1,0.0,6.0,79283,1,0 +10355,1100105,44,1,1,1.0,6.0,71472,1,0 +10356,1100105,44,1,1,1.0,4.0,68980,1,0 +10357,1100105,44,1,1,1.0,6.0,68890,1,0 +10358,1100105,44,1,1,0.0,6.0,52801,1,0 +10359,1100105,44,1,1,0.0,4.0,73804,1,0 +10360,1100105,44,1,1,0.0,4.0,81047,1,0 +10361,1100105,44,1,1,0.0,4.0,79593,1,0 +10362,1100105,44,1,1,0.0,4.0,73804,1,0 +10363,1100105,44,1,1,0.0,6.0,79283,1,0 +10364,1100105,44,1,1,0.0,4.0,70916,1,0 +10365,1100105,44,1,1,1.0,4.0,98404,1,0 +10366,1100105,44,1,1,1.0,6.0,67329,1,0 +10367,1100105,44,1,1,0.0,6.0,52801,1,0 +10368,1100105,44,1,1,0.0,6.0,63674,1,0 +10369,1100105,44,1,1,0.0,6.0,67536,1,0 +10370,1100105,44,1,1,0.0,4.0,88652,1,0 +10371,1100105,44,1,1,0.0,6.0,62150,1,0 +10372,1100105,44,1,1,0.0,6.0,93235,1,0 +10373,1100105,44,1,1,0.0,4.0,74499,1,0 +10374,1100105,44,1,1,1.0,6.0,92077,1,0 +10375,1100105,44,1,1,0.0,6.0,89152,1,0 +10376,1100105,44,1,1,1.0,4.0,92189,1,0 +10377,1100105,44,1,1,1.0,4.0,68980,1,0 +10378,1100105,44,1,1,0.0,6.0,63674,1,0 +10379,1100105,44,1,1,1.0,6.0,73808,1,0 +10380,1100105,44,1,1,1.0,6.0,96332,1,0 +10381,1100105,44,1,1,0.0,6.0,52801,1,0 +10382,1100105,44,1,1,0.0,4.0,84899,1,0 +10383,1100105,44,1,1,1.0,6.0,63260,1,0 +10384,1100105,44,1,1,0.0,6.0,80300,1,0 +10385,1100105,44,1,1,1.0,6.0,55674,1,0 +10386,1100105,44,1,1,1.0,6.0,73804,1,0 +10387,1100105,44,1,1,1.0,6.0,71251,1,0 +10388,1100105,44,1,1,0.0,4.0,99636,1,0 +10389,1100105,44,1,1,0.0,6.0,54707,1,0 +10390,1100105,44,1,1,0.0,6.0,55720,1,0 +10391,1100105,44,1,1,0.0,6.0,53062,1,0 +10392,1100105,44,1,1,0.0,6.0,80300,1,0 +10393,1100105,44,1,1,1.0,4.0,92189,1,0 +10394,1100105,44,1,1,1.0,6.0,98404,1,0 +10395,1100105,44,1,1,1.0,4.0,88046,1,0 +10396,1100105,44,1,1,1.0,4.0,68980,1,0 +10397,1100105,44,1,1,1.0,6.0,62150,1,0 +10398,1100105,44,1,1,0.0,6.0,67877,1,0 +10399,1100105,44,1,1,0.0,4.0,52717,1,0 +10400,1100105,44,1,1,0.0,6.0,75992,1,0 +10401,1100105,44,1,1,0.0,6.0,70916,1,0 +10402,1100105,44,1,1,0.0,6.0,83512,1,0 +10403,1100105,44,1,1,1.0,6.0,63674,1,0 +10404,1100105,44,1,1,0.0,4.0,74286,1,0 +10405,1100105,44,1,1,0.0,6.0,63260,1,0 +10406,1100105,44,1,1,0.0,6.0,81098,1,0 +10407,1100105,44,1,1,0.0,4.0,84899,1,0 +10408,1100105,44,1,1,1.0,6.0,62150,1,0 +10409,1100105,44,1,1,0.0,6.0,52681,1,0 +10410,1100105,44,1,1,0.0,6.0,63260,1,0 +10411,1100105,44,1,1,0.0,6.0,70878,1,0 +10412,1100105,44,1,1,1.0,6.0,91007,1,0 +10413,1100105,44,1,1,0.0,6.0,50397,1,0 +10414,1100105,44,1,1,0.0,6.0,50397,1,0 +10415,1100105,44,1,1,1.0,6.0,83512,1,0 +10416,1100105,44,1,1,0.0,6.0,66858,1,0 +10417,1100105,44,1,1,0.0,4.0,84899,1,0 +10418,1100105,44,1,1,0.0,6.0,72508,1,0 +10419,1100105,44,1,1,0.0,4.0,80816,1,0 +10420,1100105,44,1,1,0.0,6.0,50397,1,0 +10421,1100105,44,1,1,0.0,4.0,87795,1,0 +10422,1100105,44,1,1,1.0,6.0,91007,1,0 +10423,1100105,44,1,1,1.0,4.0,65598,1,0 +10424,1100105,44,1,1,1.0,6.0,92191,1,0 +10425,1100105,44,1,1,0.0,6.0,72508,1,0 +10426,1100105,44,1,1,0.0,4.0,50654,1,0 +10427,1100105,44,1,1,1.0,6.0,61010,0,0 +10428,1100105,44,1,1,0.0,6.0,74286,0,0 +10429,1100105,44,1,1,0.0,6.0,63260,0,0 +10430,1100105,44,1,1,0.0,4.0,59975,0,0 +10431,1100105,44,1,1,1.0,6.0,51178,0,0 +10432,1100105,44,1,1,1.0,6.0,59886,0,0 +10433,1100105,44,1,1,1.0,4.0,69165,0,0 +10434,1100105,44,1,1,1.0,6.0,51178,0,0 +10435,1100105,44,1,1,1.0,4.0,72695,0,0 +10436,1100105,44,1,1,1.0,6.0,59886,0,0 +10437,1100105,44,1,1,1.0,4.0,55821,0,0 +10438,1100105,44,1,1,0.0,4.0,63217,0,0 +10439,1100105,44,1,1,1.0,6.0,79593,0,0 +10440,1100105,44,1,1,2.0,6.0,70916,0,0 +10441,1100105,44,1,1,1.0,6.0,26017,1,0 +10442,1100105,44,1,1,0.0,6.0,26847,1,0 +10443,1100105,44,1,1,1.0,4.0,42077,1,0 +10444,1100105,44,1,1,0.0,4.0,42184,1,0 +10445,1100105,44,1,1,0.0,6.0,48477,1,0 +10446,1100105,44,1,1,0.0,6.0,48477,1,0 +10447,1100105,44,1,1,0.0,6.0,40908,1,0 +10448,1100105,44,1,1,1.0,4.0,32120,1,0 +10449,1100105,44,1,1,1.0,4.0,31837,1,0 +10450,1100105,44,1,1,0.0,4.0,25895,1,0 +10451,1100105,44,1,1,1.0,4.0,49029,1,0 +10452,1100105,44,1,1,1.0,6.0,42449,1,0 +10453,1100105,44,1,1,1.0,4.0,44572,1,0 +10454,1100105,44,1,1,0.0,4.0,25895,1,0 +10455,1100105,44,1,1,0.0,4.0,42701,1,0 +10456,1100105,44,1,1,1.0,4.0,40523,1,0 +10457,1100105,44,1,1,0.0,4.0,42701,1,0 +10458,1100105,44,1,1,0.0,4.0,34445,1,0 +10459,1100105,44,1,1,1.0,4.0,35332,1,0 +10460,1100105,44,1,1,0.0,6.0,27837,1,0 +10461,1100105,44,1,1,0.0,6.0,27837,1,0 +10462,1100105,44,1,1,0.0,4.0,29003,1,0 +10463,1100105,44,1,1,0.0,6.0,42173,1,0 +10464,1100105,44,1,1,0.0,6.0,43897,1,0 +10465,1100105,44,1,1,0.0,6.0,42173,1,0 +10466,1100105,44,1,1,0.0,6.0,43897,1,0 +10467,1100105,44,1,1,0.0,6.0,43897,1,0 +10468,1100105,44,1,1,1.0,4.0,42173,1,0 +10469,1100105,44,1,1,0.0,6.0,42173,1,0 +10470,1100105,44,1,1,1.0,4.0,43829,1,0 +10471,1100105,44,1,1,0.0,6.0,46612,1,0 +10472,1100105,44,1,1,0.0,4.0,25327,1,0 +10473,1100105,44,1,1,1.0,6.0,47109,1,0 +10474,1100105,44,1,1,0.0,4.0,42449,1,0 +10475,1100105,44,1,1,1.0,4.0,29582,1,0 +10476,1100105,44,1,1,0.0,6.0,47109,1,0 +10477,1100105,44,1,1,0.0,6.0,47109,1,0 +10478,1100105,44,1,1,0.0,6.0,35458,1,0 +10479,1100105,44,1,1,0.0,4.0,48122,1,0 +10480,1100105,44,1,1,0.0,4.0,45633,1,0 +10481,1100105,44,1,1,0.0,6.0,31630,1,0 +10482,1100105,44,1,1,0.0,4.0,47755,1,0 +10483,1100105,44,1,1,0.0,6.0,38326,1,0 +10484,1100105,44,1,1,0.0,6.0,46391,1,0 +10485,1100105,44,1,1,1.0,6.0,45336,1,0 +10486,1100105,44,1,1,1.0,4.0,25696,1,0 +10487,1100105,44,1,1,0.0,4.0,47755,1,0 +10488,1100105,44,1,1,0.0,4.0,41433,1,0 +10489,1100105,44,1,1,0.0,4.0,42826,1,0 +10490,1100105,44,1,1,0.0,4.0,28174,1,0 +10491,1100105,44,1,1,0.0,4.0,28174,1,0 +10492,1100105,44,1,1,0.0,6.0,38326,1,0 +10493,1100105,44,1,1,0.0,6.0,46612,1,0 +10494,1100105,44,1,1,0.0,6.0,34261,1,0 +10495,1100105,44,1,1,1.0,4.0,49554,1,0 +10496,1100105,44,1,1,1.0,6.0,45680,1,0 +10497,1100105,44,1,1,1.0,4.0,41537,1,0 +10498,1100105,44,1,1,1.0,4.0,47755,1,0 +10499,1100105,44,1,1,1.0,6.0,36254,1,0 +10500,1100105,44,1,1,0.0,6.0,26358,1,0 +10501,1100105,44,1,1,0.0,4.0,47755,1,0 +10502,1100105,44,1,1,0.0,6.0,39510,1,0 +10503,1100105,44,1,1,0.0,6.0,42826,1,0 +10504,1100105,44,1,1,0.0,6.0,26358,1,0 +10505,1100105,44,1,1,1.0,4.0,49554,1,0 +10506,1100105,44,1,1,0.0,4.0,38204,1,0 +10507,1100105,44,1,1,1.0,6.0,25469,1,0 +10508,1100105,44,1,1,0.0,4.0,47755,1,0 +10509,1100105,44,1,1,0.0,4.0,47755,1,0 +10510,1100105,44,1,1,1.0,4.0,41433,1,0 +10511,1100105,44,1,1,1.0,6.0,30892,1,0 +10512,1100105,44,1,1,1.0,4.0,47130,1,0 +10513,1100105,44,1,1,0.0,6.0,49236,1,0 +10514,1100105,44,1,1,1.0,4.0,47755,1,0 +10515,1100105,44,1,1,0.0,6.0,31630,1,0 +10516,1100105,44,1,1,1.0,6.0,43510,1,0 +10517,1100105,44,1,1,0.0,6.0,32120,1,0 +10518,1100105,44,1,1,1.0,4.0,25696,1,0 +10519,1100105,44,1,1,0.0,6.0,36082,1,0 +10520,1100105,44,1,1,1.0,6.0,25469,1,0 +10521,1100105,44,1,1,1.0,4.0,25696,1,0 +10522,1100105,44,1,1,0.0,4.0,41536,1,0 +10523,1100105,44,1,1,0.0,6.0,46602,1,0 +10524,1100105,44,1,1,0.0,6.0,42550,1,0 +10525,1100105,44,1,1,0.0,6.0,28994,1,0 +10526,1100105,44,1,1,0.0,6.0,46745,1,0 +10527,1100105,44,1,1,0.0,6.0,47755,1,0 +10528,1100105,44,1,1,0.0,6.0,49720,1,0 +10529,1100105,44,1,1,0.0,6.0,41388,1,0 +10530,1100105,44,1,1,0.0,6.0,37143,1,0 +10531,1100105,44,1,1,0.0,6.0,28994,1,0 +10532,1100105,44,1,1,1.0,6.0,29521,0,0 +10533,1100105,44,1,1,1.0,6.0,29521,0,0 +10534,1100105,44,1,1,1.0,6.0,29521,0,0 +10535,1100105,44,1,1,1.0,6.0,29521,0,0 +10536,1100105,44,1,1,0.0,4.0,44071,0,0 +10537,1100105,44,1,1,0.0,4.0,40294,0,0 +10538,1100105,44,1,1,0.0,6.0,27346,0,0 +10539,1100105,44,1,1,0.0,4.0,31103,0,0 +10540,1100105,44,1,1,0.0,6.0,35332,0,0 +10541,1100105,44,1,1,0.0,4.0,27967,0,0 +10542,1100105,44,1,1,0.0,6.0,28151,0,0 +10543,1100105,44,1,1,1.0,6.0,32580,0,0 +10544,1100105,44,1,1,1.0,6.0,32580,0,0 +10545,1100105,44,1,1,1.0,6.0,47543,0,0 +10546,1100105,44,1,1,0.0,6.0,43157,0,0 +10547,1100105,44,1,1,0.0,6.0,43157,0,0 +10548,1100105,44,1,1,0.0,6.0,30453,0,0 +10549,1100105,44,1,1,0.0,6.0,28151,0,0 +10550,1100105,44,1,1,1.0,4.0,37045,0,0 +10551,1100105,44,1,1,0.0,6.0,30453,0,0 +10552,1100105,44,1,1,1.0,6.0,32580,0,0 +10553,1100105,44,1,1,0.0,4.0,37383,0,0 +10554,1100105,44,1,1,0.0,4.0,25327,0,0 +10555,1100105,44,1,1,0.0,4.0,34850,0,0 +10556,1100105,44,1,1,1.0,6.0,47323,0,0 +10557,1100105,44,1,1,0.0,6.0,27592,0,0 +10558,1100105,44,1,1,0.0,4.0,27412,0,0 +10559,1100105,44,1,1,0.0,6.0,36357,0,0 +10560,1100105,44,1,1,0.0,6.0,42826,0,0 +10561,1100105,44,1,1,0.0,4.0,41739,0,0 +10562,1100105,44,1,1,0.0,4.0,41739,0,0 +10563,1100105,44,1,1,1.0,6.0,13062,1,0 +10564,1100105,44,1,1,1.0,4.0,7498,1,0 +10565,1100105,44,1,1,0.0,6.0,19700,1,0 +10566,1100105,44,1,1,0.0,4.0,13880,1,0 +10567,1100105,44,1,1,0.0,4.0,13880,1,0 +10568,1100105,44,1,1,0.0,6.0,8489,1,0 +10569,1100105,44,1,1,1.0,6.0,19250,1,0 +10570,1100105,44,1,1,1.0,4.0,14989,1,0 +10571,1100105,44,1,1,0.0,6.0,14347,1,0 +10572,1100105,44,1,1,1.0,4.0,10358,1,0 +10573,1100105,44,1,1,1.0,4.0,24408,1,0 +10574,1100105,44,1,1,0.0,6.0,8565,1,0 +10575,1100105,44,1,1,2.0,4.0,21413,1,0 +10576,1100105,44,1,1,2.0,4.0,21413,1,0 +10577,1100105,44,1,1,0.0,4.0,11394,1,0 +10578,1100105,44,1,1,0.0,6.0,10706,1,0 +10579,1100105,44,1,1,0.0,6.0,10706,1,0 +10580,1100105,44,1,1,0.0,6.0,10706,1,0 +10581,1100105,44,1,1,0.0,6.0,4282,1,0 +10582,1100105,44,1,1,0.0,6.0,12157,1,0 +10583,1100105,44,1,1,0.0,6.0,10358,1,0 +10584,1100105,44,1,1,0.0,6.0,10358,1,0 +10585,1100105,44,1,1,0.0,6.0,24882,1,0 +10586,1100105,44,1,1,1.0,6.0,4558,1,0 +10587,1100105,44,1,1,0.0,6.0,10358,1,0 +10588,1100105,44,1,1,0.0,4.0,5271,1,0 +10589,1100105,44,1,1,0.0,6.0,10543,1,0 +10590,1100105,44,1,1,0.0,6.0,10612,1,0 +10591,1100105,44,1,1,1.0,6.0,8234,1,0 +10592,1100105,44,1,1,0.0,4.0,11703,1,0 +10593,1100105,44,1,1,0.0,4.0,11703,1,0 +10594,1100105,44,1,1,0.0,4.0,4217,1,0 +10595,1100105,44,1,1,0.0,6.0,15936,1,0 +10596,1100105,44,1,1,1.0,6.0,6326,1,0 +10597,1100105,44,1,1,0.0,6.0,11144,1,0 +10598,1100105,44,1,1,0.0,4.0,14082,1,0 +10599,1100105,44,1,1,1.0,6.0,17923,1,0 +10600,1100105,44,1,1,0.0,6.0,6424,1,0 +10601,1100105,44,1,1,0.0,6.0,19314,0,0 +10602,1100105,44,1,1,0.0,6.0,19314,0,0 +10603,1100105,44,1,1,0.0,6.0,19314,0,0 +10604,1100105,44,1,1,0.0,6.0,19314,0,0 +10605,1100105,44,1,1,0.0,4.0,2108,0,0 +10606,1100105,44,1,1,1.0,6.0,7387,0,0 +10607,1100105,44,1,1,0.0,4.0,9944,0,0 +10608,1100105,44,1,1,0.0,4.0,7380,0,0 +10609,1100105,44,1,1,0.0,4.0,9944,0,0 +10610,1100105,44,1,1,0.0,4.0,14760,0,0 +10611,1100105,44,1,1,0.0,4.0,14760,0,0 +10612,1100105,44,1,1,0.0,6.0,24445,0,0 +10613,1100105,44,1,1,0.0,6.0,1450,0,0 +10614,1100105,44,1,1,0.0,4.0,7380,0,0 +10615,1100105,44,1,1,0.0,4.0,24111,0,0 +10616,1100105,44,1,1,0.0,4.0,3647,0,0 +10617,1100105,44,1,1,0.0,4.0,7380,0,0 +10618,1100105,44,1,1,1.0,6.0,0,0,0 +10619,1100105,44,1,1,0.0,4.0,12947,0,0 +10620,1100105,44,1,1,0.0,6.0,15804,0,0 +10621,1100105,44,1,1,0.0,4.0,18843,0,0 +10622,1100105,44,1,1,0.0,4.0,23876,0,0 +10623,1100105,44,1,1,0.0,4.0,18843,0,0 +10624,1100105,44,1,1,0.0,6.0,1391,0,0 +10625,1100105,44,1,1,1.0,6.0,22592,0,0 +10626,1100105,44,1,1,1.0,6.0,5166,0,0 +10627,1100105,44,1,1,1.0,6.0,21224,0,0 +10628,1100105,44,1,1,0.0,6.0,9944,0,0 +10629,1100105,44,1,1,0.0,4.0,10536,0,0 +10630,1100105,44,1,1,1.0,4.0,13372,0,0 +10631,1100105,44,1,1,0.0,6.0,9126,0,0 +10632,1100105,44,1,1,1.0,6.0,11991,0,0 +10633,1100105,44,1,1,0.0,4.0,4650,0,0 +10634,1100105,44,1,1,0.0,4.0,32,0,0 +10635,1100105,44,1,1,0.0,4.0,10543,0,0 +10636,1100105,44,1,1,0.0,4.0,3163,0,0 +10637,1100105,44,1,1,0.0,4.0,3163,0,0 +10638,1100105,44,1,1,0.0,6.0,15196,0,0 +10639,1100105,44,1,1,0.0,6.0,9207,0,0 +10640,1100105,44,1,1,0.0,6.0,984,0,0 +10641,1100105,44,1,1,0.0,4.0,0,0,0 +10642,1100105,44,1,1,1.0,6.0,0,0,0 +10643,1100105,44,1,1,0.0,4.0,9489,0,0 +10644,1100105,44,1,1,1.0,6.0,2569,0,0 +10645,1100105,44,1,1,0.0,6.0,13253,0,0 +10646,1100105,44,1,1,1.0,6.0,2569,0,0 +10647,1100105,44,1,1,1.0,4.0,10,0,0 +10648,1100105,44,1,1,1.0,4.0,3039,0,0 +10649,1100105,44,1,1,0.0,6.0,3502,0,0 +10650,1100105,44,1,1,0.0,6.0,0,0,0 +10651,1100105,44,1,1,0.0,6.0,0,0,0 +10652,1100105,44,1,1,0.0,4.0,8351,0,0 +10653,1100105,44,1,1,0.0,4.0,20261,0,0 +10654,1100105,44,1,1,1.0,4.0,0,0,0 +10655,1100105,44,1,1,0.0,6.0,0,0,0 +10656,1100105,44,1,1,0.0,4.0,527,0,0 +10657,1100105,44,1,1,0.0,6.0,5353,0,0 +10658,1100105,44,1,1,0.0,4.0,20261,0,0 +10659,1100105,44,1,1,0.0,6.0,0,0,0 +10660,1100105,44,1,1,0.0,6.0,0,0,0 +10661,1100105,44,1,1,0.0,4.0,20261,0,0 +10662,1100105,44,1,1,0.0,6.0,0,0,0 +10663,1100105,44,1,1,0.0,6.0,0,0,0 +10664,1100105,44,1,1,0.0,6.0,5306,0,0 +10665,1100105,44,1,1,0.0,6.0,5369,0,0 +10666,1100105,44,1,1,1.0,6.0,0,0,0 +10667,1100105,44,1,1,0.0,6.0,5306,0,0 +10668,1100105,45,1,4,2.0,1.0,263586,2,1 +10669,1100105,45,1,4,1.0,3.0,105434,1,1 +10670,1100105,45,1,4,0.0,1.0,49250,2,0 +10671,1100105,45,1,4,1.0,3.0,11597,1,1 +10672,1100105,45,1,3,1.0,1.0,301700,3,0 +10673,1100105,45,1,3,0.0,5.0,230301,3,0 +10674,1100105,45,1,3,3.0,7.0,203488,3,0 +10675,1100105,45,1,3,1.0,7.0,206942,3,0 +10676,1100105,45,1,3,1.0,1.0,254097,2,0 +10677,1100105,45,1,3,2.0,1.0,322145,2,1 +10678,1100105,45,1,3,2.0,1.0,354392,2,1 +10679,1100105,45,1,3,2.0,1.0,227946,2,1 +10680,1100105,45,1,3,2.0,1.0,222736,2,1 +10681,1100105,45,1,3,1.0,1.0,403976,2,1 +10682,1100105,45,1,3,2.0,1.0,222736,2,1 +10683,1100105,45,1,3,1.0,1.0,403976,2,1 +10684,1100105,45,1,3,1.0,1.0,231956,2,1 +10685,1100105,45,1,3,1.0,1.0,416466,2,1 +10686,1100105,45,1,3,1.0,1.0,242499,2,1 +10687,1100105,45,1,3,1.0,1.0,205095,2,1 +10688,1100105,45,1,3,0.0,1.0,261477,2,1 +10689,1100105,45,1,3,0.0,1.0,940154,2,1 +10690,1100105,45,1,3,1.0,1.0,308715,2,1 +10691,1100105,45,1,3,1.0,1.0,323208,2,1 +10692,1100105,45,1,3,1.0,1.0,323208,2,1 +10693,1100105,45,1,3,1.0,1.0,238760,1,1 +10694,1100105,45,1,3,1.0,1.0,218249,1,1 +10695,1100105,45,1,3,1.0,1.0,219753,1,1 +10696,1100105,45,1,3,1.0,1.0,769627,1,1 +10697,1100105,45,1,3,1.0,1.0,769627,1,1 +10698,1100105,45,1,3,2.0,5.0,182401,3,0 +10699,1100105,45,1,3,1.0,5.0,183370,3,0 +10700,1100105,45,1,3,2.0,5.0,168841,2,0 +10701,1100105,45,1,3,1.0,1.0,191890,2,1 +10702,1100105,45,1,3,1.0,1.0,152818,1,1 +10703,1100105,45,1,3,1.0,5.0,142506,3,0 +10704,1100105,45,1,3,0.0,1.0,121571,2,1 +10705,1100105,45,1,3,1.0,1.0,107067,1,1 +10706,1100105,45,1,3,1.0,1.0,133830,0,0 +10707,1100105,45,1,3,0.0,7.0,64240,2,0 +10708,1100105,45,1,3,1.0,1.0,68532,2,1 +10709,1100105,45,1,3,0.0,7.0,42469,2,0 +10710,1100105,45,1,3,0.0,3.0,31179,2,0 +10711,1100105,45,1,3,0.0,7.0,43505,1,0 +10712,1100105,45,1,3,0.0,5.0,30776,1,0 +10713,1100105,45,1,3,0.0,5.0,30776,1,0 +10714,1100105,45,1,3,1.0,2.0,44437,1,0 +10715,1100105,45,1,3,1.0,3.0,28908,1,1 +10716,1100105,45,1,3,2.0,3.0,476,1,1 +10717,1100105,45,1,3,0.0,3.0,19112,0,0 +10718,1100105,45,1,3,0.0,3.0,19112,0,0 +10719,1100105,45,1,3,0.0,3.0,2741,0,1 +10720,1100105,45,1,3,0.0,3.0,6836,0,1 +10721,1100105,45,1,3,0.0,3.0,6836,0,1 +10722,1100105,45,1,2,1.0,5.0,283819,2,0 +10723,1100105,45,1,2,1.0,7.0,221054,2,0 +10724,1100105,45,1,2,1.0,1.0,379564,2,0 +10725,1100105,45,1,2,1.0,1.0,310751,2,0 +10726,1100105,45,1,2,1.0,1.0,227884,2,0 +10727,1100105,45,1,2,1.0,7.0,265431,2,0 +10728,1100105,45,1,2,0.0,1.0,294435,2,0 +10729,1100105,45,1,2,1.0,1.0,284412,2,0 +10730,1100105,45,1,2,1.0,7.0,313889,2,0 +10731,1100105,45,1,2,1.0,1.0,259379,2,0 +10732,1100105,45,1,2,1.0,1.0,259379,2,0 +10733,1100105,45,1,2,2.0,1.0,280516,2,0 +10734,1100105,45,1,2,0.0,1.0,294435,2,0 +10735,1100105,45,1,2,1.0,7.0,268282,2,0 +10736,1100105,45,1,2,1.0,7.0,313889,2,0 +10737,1100105,45,1,2,0.0,1.0,304536,2,0 +10738,1100105,45,1,2,2.0,7.0,297658,2,0 +10739,1100105,45,1,2,1.0,1.0,208207,2,0 +10740,1100105,45,1,2,1.0,1.0,264563,2,0 +10741,1100105,45,1,2,2.0,1.0,303929,2,0 +10742,1100105,45,1,2,2.0,1.0,265310,2,0 +10743,1100105,45,1,2,1.0,7.0,313889,2,0 +10744,1100105,45,1,2,2.0,1.0,233473,2,0 +10745,1100105,45,1,2,2.0,1.0,319917,2,0 +10746,1100105,45,1,2,1.0,1.0,263930,2,0 +10747,1100105,45,1,2,1.0,1.0,226982,2,0 +10748,1100105,45,1,2,1.0,1.0,295824,2,0 +10749,1100105,45,1,2,2.0,1.0,332015,2,0 +10750,1100105,45,1,2,1.0,5.0,476485,2,0 +10751,1100105,45,1,2,1.0,7.0,242507,2,0 +10752,1100105,45,1,2,0.0,1.0,219842,2,0 +10753,1100105,45,1,2,0.0,5.0,843172,2,0 +10754,1100105,45,1,2,0.0,5.0,373937,2,0 +10755,1100105,45,1,2,1.0,7.0,242507,2,0 +10756,1100105,45,1,2,1.0,1.0,433622,2,0 +10757,1100105,45,1,2,1.0,5.0,307869,2,0 +10758,1100105,45,1,2,1.0,1.0,309977,2,0 +10759,1100105,45,1,2,1.0,1.0,484057,2,0 +10760,1100105,45,1,2,0.0,1.0,1452888,2,0 +10761,1100105,45,1,2,1.0,1.0,323678,2,0 +10762,1100105,45,1,2,1.0,5.0,502079,2,0 +10763,1100105,45,1,2,1.0,5.0,216493,2,0 +10764,1100105,45,1,2,2.0,1.0,212750,2,0 +10765,1100105,45,1,2,0.0,5.0,236171,2,0 +10766,1100105,45,1,2,0.0,5.0,231999,2,0 +10767,1100105,45,1,2,1.0,5.0,233581,2,0 +10768,1100105,45,1,2,1.0,7.0,245169,2,0 +10769,1100105,45,1,2,0.0,1.0,342615,2,0 +10770,1100105,45,1,2,0.0,5.0,236171,2,0 +10771,1100105,45,1,2,0.0,1.0,295216,2,0 +10772,1100105,45,1,2,1.0,5.0,203427,2,0 +10773,1100105,45,1,2,1.0,1.0,234064,2,0 +10774,1100105,45,1,2,2.0,1.0,238779,2,0 +10775,1100105,45,1,2,1.0,5.0,216493,2,0 +10776,1100105,45,1,2,1.0,1.0,201635,2,0 +10777,1100105,45,1,2,0.0,5.0,212790,2,0 +10778,1100105,45,1,2,1.0,1.0,323678,2,0 +10779,1100105,45,1,2,0.0,7.0,228697,2,0 +10780,1100105,45,1,2,1.0,1.0,450205,2,0 +10781,1100105,45,1,2,1.0,1.0,242710,1,0 +10782,1100105,45,1,2,1.0,1.0,318112,1,0 +10783,1100105,45,1,2,1.0,1.0,318112,1,0 +10784,1100105,45,1,2,1.0,5.0,243578,1,0 +10785,1100105,45,1,2,1.0,1.0,247461,1,0 +10786,1100105,45,1,2,1.0,1.0,247461,1,0 +10787,1100105,45,1,2,1.0,1.0,657911,1,0 +10788,1100105,45,1,2,1.0,1.0,490469,1,0 +10789,1100105,45,1,2,2.0,5.0,333539,1,0 +10790,1100105,45,1,2,1.0,1.0,1049303,1,0 +10791,1100105,45,1,2,1.0,1.0,217815,1,0 +10792,1100105,45,1,2,2.0,5.0,201635,1,0 +10793,1100105,45,1,2,0.0,1.0,246146,1,0 +10794,1100105,45,1,2,1.0,1.0,415992,1,0 +10795,1100105,45,1,2,1.0,5.0,207464,1,0 +10796,1100105,45,1,2,1.0,1.0,384710,0,0 +10797,1100105,45,1,2,2.0,1.0,290345,0,0 +10798,1100105,45,1,2,1.0,1.0,410035,0,0 +10799,1100105,45,1,2,1.0,1.0,410035,0,0 +10800,1100105,45,1,2,0.0,1.0,359761,0,0 +10801,1100105,45,1,2,0.0,1.0,359761,0,0 +10802,1100105,45,1,2,0.0,1.0,198567,2,0 +10803,1100105,45,1,2,0.0,1.0,197797,2,0 +10804,1100105,45,1,2,2.0,1.0,176075,2,0 +10805,1100105,45,1,2,0.0,1.0,193857,2,0 +10806,1100105,45,1,2,0.0,1.0,197553,2,0 +10807,1100105,45,1,2,0.0,5.0,159186,2,0 +10808,1100105,45,1,2,1.0,7.0,163108,2,0 +10809,1100105,45,1,2,1.0,5.0,159271,2,0 +10810,1100105,45,1,2,2.0,1.0,198074,2,0 +10811,1100105,45,1,2,0.0,5.0,178289,2,0 +10812,1100105,45,1,2,2.0,5.0,193999,2,0 +10813,1100105,45,1,2,1.0,7.0,168695,2,0 +10814,1100105,45,1,2,1.0,7.0,151964,2,0 +10815,1100105,45,1,2,1.0,7.0,165536,2,0 +10816,1100105,45,1,2,0.0,1.0,161590,2,0 +10817,1100105,45,1,2,1.0,5.0,173967,2,0 +10818,1100105,45,1,2,2.0,5.0,193701,2,0 +10819,1100105,45,1,2,2.0,7.0,182014,2,0 +10820,1100105,45,1,2,1.0,7.0,174043,2,0 +10821,1100105,45,1,2,1.0,1.0,175376,2,0 +10822,1100105,45,1,2,0.0,5.0,156043,2,0 +10823,1100105,45,1,2,1.0,5.0,174043,2,0 +10824,1100105,45,1,2,1.0,7.0,178305,2,0 +10825,1100105,45,1,2,1.0,1.0,167024,2,0 +10826,1100105,45,1,2,1.0,5.0,186554,2,0 +10827,1100105,45,1,2,1.0,7.0,156318,2,0 +10828,1100105,45,1,2,1.0,5.0,167641,2,0 +10829,1100105,45,1,2,0.0,5.0,160554,2,0 +10830,1100105,45,1,2,2.0,1.0,153200,1,0 +10831,1100105,45,1,2,1.0,1.0,170129,1,0 +10832,1100105,45,1,2,2.0,7.0,156318,1,0 +10833,1100105,45,1,2,0.0,1.0,171307,1,0 +10834,1100105,45,1,2,0.0,1.0,164794,1,0 +10835,1100105,45,1,2,1.0,1.0,162095,1,0 +10836,1100105,45,1,2,1.0,7.0,175317,1,0 +10837,1100105,45,1,2,1.0,7.0,175317,1,0 +10838,1100105,45,1,2,0.0,1.0,159551,1,0 +10839,1100105,45,1,2,2.0,1.0,159726,0,0 +10840,1100105,45,1,2,0.0,7.0,102784,2,0 +10841,1100105,45,1,2,1.0,5.0,120195,2,0 +10842,1100105,45,1,2,0.0,7.0,120769,2,0 +10843,1100105,45,1,2,1.0,1.0,135838,2,0 +10844,1100105,45,1,2,1.0,1.0,126521,2,0 +10845,1100105,45,1,2,1.0,3.0,149606,2,0 +10846,1100105,45,1,2,1.0,1.0,139807,2,0 +10847,1100105,45,1,2,1.0,5.0,118844,2,0 +10848,1100105,45,1,2,1.0,7.0,144872,2,0 +10849,1100105,45,1,2,2.0,7.0,134583,2,0 +10850,1100105,45,1,2,1.0,5.0,133834,2,0 +10851,1100105,45,1,2,2.0,5.0,128713,2,0 +10852,1100105,45,1,2,2.0,3.0,143479,2,0 +10853,1100105,45,1,2,0.0,5.0,121299,2,0 +10854,1100105,45,1,2,2.0,7.0,134583,2,0 +10855,1100105,45,1,2,0.0,7.0,111430,2,0 +10856,1100105,45,1,2,0.0,7.0,100162,2,0 +10857,1100105,45,1,2,0.0,5.0,106898,2,0 +10858,1100105,45,1,2,1.0,5.0,112815,2,0 +10859,1100105,45,1,2,1.0,7.0,148925,2,0 +10860,1100105,45,1,2,0.0,7.0,100296,2,0 +10861,1100105,45,1,2,1.0,7.0,132006,2,0 +10862,1100105,45,1,2,0.0,5.0,137781,2,0 +10863,1100105,45,1,2,0.0,1.0,118859,1,0 +10864,1100105,45,1,2,2.0,1.0,121571,1,0 +10865,1100105,45,1,2,1.0,5.0,101083,1,0 +10866,1100105,45,1,2,1.0,1.0,139807,1,0 +10867,1100105,45,1,2,2.0,1.0,107067,1,0 +10868,1100105,45,1,2,0.0,1.0,126786,1,0 +10869,1100105,45,1,2,0.0,7.0,115978,1,0 +10870,1100105,45,1,2,1.0,1.0,139187,1,0 +10871,1100105,45,1,2,0.0,5.0,122304,1,0 +10872,1100105,45,1,2,1.0,1.0,131266,0,0 +10873,1100105,45,1,2,1.0,1.0,121144,0,0 +10874,1100105,45,1,2,1.0,7.0,100900,0,0 +10875,1100105,45,1,2,1.0,1.0,79075,2,0 +10876,1100105,45,1,2,0.0,2.0,75161,2,0 +10877,1100105,45,1,2,1.0,7.0,89557,2,0 +10878,1100105,45,1,2,1.0,5.0,70916,2,0 +10879,1100105,45,1,2,0.0,7.0,90117,2,0 +10880,1100105,45,1,2,1.0,3.0,87936,2,0 +10881,1100105,45,1,2,0.0,7.0,78565,2,0 +10882,1100105,45,1,2,0.0,3.0,98695,2,0 +10883,1100105,45,1,2,0.0,7.0,95231,2,0 +10884,1100105,45,1,2,1.0,7.0,85402,2,0 +10885,1100105,45,1,2,1.0,2.0,84347,2,0 +10886,1100105,45,1,2,0.0,7.0,97634,2,0 +10887,1100105,45,1,2,1.0,1.0,79041,2,0 +10888,1100105,45,1,2,1.0,7.0,90739,1,0 +10889,1100105,45,1,2,1.0,1.0,55502,1,0 +10890,1100105,45,1,2,1.0,1.0,93225,1,0 +10891,1100105,45,1,2,1.0,1.0,95711,1,0 +10892,1100105,45,1,2,1.0,1.0,95711,1,0 +10893,1100105,45,1,2,1.0,7.0,54193,1,0 +10894,1100105,45,1,2,1.0,7.0,54193,1,0 +10895,1100105,45,1,2,0.0,5.0,83488,1,0 +10896,1100105,45,1,2,1.0,7.0,84899,1,0 +10897,1100105,45,1,2,0.0,1.0,66423,1,0 +10898,1100105,45,1,2,1.0,1.0,71952,1,0 +10899,1100105,45,1,2,0.0,7.0,53104,1,0 +10900,1100105,45,1,2,0.0,1.0,78531,1,0 +10901,1100105,45,1,2,1.0,1.0,69586,1,0 +10902,1100105,45,1,2,1.0,5.0,65340,1,0 +10903,1100105,45,1,2,2.0,7.0,75348,1,0 +10904,1100105,45,1,2,2.0,3.0,66423,1,0 +10905,1100105,45,1,2,1.0,1.0,70041,1,0 +10906,1100105,45,1,2,1.0,5.0,81831,1,0 +10907,1100105,45,1,2,1.0,1.0,99440,0,0 +10908,1100105,45,1,2,1.0,1.0,99440,0,0 +10909,1100105,45,1,2,0.0,1.0,50939,0,0 +10910,1100105,45,1,2,0.0,5.0,48531,2,0 +10911,1100105,45,1,2,1.0,7.0,40857,2,0 +10912,1100105,45,1,2,0.0,5.0,37956,2,0 +10913,1100105,45,1,2,0.0,7.0,47855,1,0 +10914,1100105,45,1,2,0.0,7.0,33106,1,0 +10915,1100105,45,1,2,1.0,5.0,48180,1,0 +10916,1100105,45,1,2,0.0,7.0,25304,1,0 +10917,1100105,45,1,2,1.0,1.0,43041,1,0 +10918,1100105,45,1,2,1.0,7.0,31000,0,0 +10919,1100105,45,1,2,0.0,1.0,42469,0,0 +10920,1100105,45,1,2,0.0,1.0,36772,0,0 +10921,1100105,45,1,2,1.0,1.0,26948,0,0 +10922,1100105,45,1,2,1.0,3.0,12741,1,0 +10923,1100105,45,1,2,0.0,2.0,10706,1,0 +10924,1100105,45,1,2,1.0,1.0,17609,1,0 +10925,1100105,45,1,2,0.0,7.0,5306,1,0 +10926,1100105,45,1,2,1.0,5.0,23301,1,0 +10927,1100105,45,1,2,0.0,7.0,8187,1,0 +10928,1100105,45,1,2,0.0,1.0,16661,0,0 +10929,1100105,45,1,2,0.0,3.0,9827,0,0 +10930,1100105,45,1,2,1.0,5.0,0,0,0 +10931,1100105,45,1,2,0.0,5.0,4280,0,0 +10932,1100105,45,1,2,1.0,7.0,1519,0,0 +10933,1100105,45,1,2,0.0,7.0,5271,0,0 +10934,1100105,45,1,1,0.0,4.0,771675,1,0 +10935,1100105,45,1,1,1.0,4.0,288732,1,0 +10936,1100105,45,1,1,1.0,6.0,327625,1,0 +10937,1100105,45,1,1,0.0,6.0,210869,1,0 +10938,1100105,45,1,1,1.0,6.0,421738,1,0 +10939,1100105,45,1,1,0.0,6.0,237469,1,0 +10940,1100105,45,1,1,1.0,4.0,228167,1,0 +10941,1100105,45,1,1,1.0,6.0,220569,1,0 +10942,1100105,45,1,1,1.0,6.0,421738,1,0 +10943,1100105,45,1,1,1.0,4.0,310751,1,0 +10944,1100105,45,1,1,0.0,4.0,677255,1,0 +10945,1100105,45,1,1,1.0,4.0,228167,1,0 +10946,1100105,45,1,1,1.0,6.0,254698,1,0 +10947,1100105,45,1,1,1.0,6.0,325253,1,0 +10948,1100105,45,1,1,1.0,6.0,211080,1,0 +10949,1100105,45,1,1,1.0,4.0,237227,1,0 +10950,1100105,45,1,1,1.0,4.0,212301,1,0 +10951,1100105,45,1,1,0.0,4.0,233012,1,0 +10952,1100105,45,1,1,1.0,4.0,228167,1,0 +10953,1100105,45,1,1,0.0,6.0,262532,1,0 +10954,1100105,45,1,1,1.0,6.0,231372,1,0 +10955,1100105,45,1,1,1.0,4.0,329357,1,0 +10956,1100105,45,1,1,1.0,4.0,559274,1,0 +10957,1100105,45,1,1,0.0,4.0,222860,1,0 +10958,1100105,45,1,1,1.0,6.0,326555,1,0 +10959,1100105,45,1,1,0.0,6.0,363701,1,0 +10960,1100105,45,1,1,1.0,4.0,488808,1,0 +10961,1100105,45,1,1,1.0,4.0,230901,1,0 +10962,1100105,45,1,1,1.0,4.0,303929,1,0 +10963,1100105,45,1,1,0.0,6.0,215789,1,0 +10964,1100105,45,1,1,1.0,6.0,456848,1,0 +10965,1100105,45,1,1,1.0,4.0,231897,1,0 +10966,1100105,45,1,1,1.0,4.0,445762,1,0 +10967,1100105,45,1,1,1.0,4.0,231897,1,0 +10968,1100105,45,1,1,0.0,6.0,214134,1,0 +10969,1100105,45,1,1,0.0,6.0,227136,0,0 +10970,1100105,45,1,1,2.0,6.0,633388,0,0 +10971,1100105,45,1,1,2.0,6.0,633388,0,0 +10972,1100105,45,1,1,1.0,6.0,353393,0,0 +10973,1100105,45,1,1,1.0,6.0,412823,0,0 +10974,1100105,45,1,1,0.0,6.0,165734,1,0 +10975,1100105,45,1,1,0.0,6.0,165734,1,0 +10976,1100105,45,1,1,6.0,4.0,180411,1,0 +10977,1100105,45,1,1,0.0,4.0,189782,1,0 +10978,1100105,45,1,1,1.0,6.0,176661,1,0 +10979,1100105,45,1,1,0.0,4.0,150244,1,0 +10980,1100105,45,1,1,1.0,4.0,167161,1,0 +10981,1100105,45,1,1,1.0,4.0,181271,1,0 +10982,1100105,45,1,1,0.0,4.0,194210,1,0 +10983,1100105,45,1,1,0.0,6.0,150951,1,0 +10984,1100105,45,1,1,0.0,6.0,186297,1,0 +10985,1100105,45,1,1,1.0,6.0,150196,1,0 +10986,1100105,45,1,1,1.0,4.0,199580,1,0 +10987,1100105,45,1,1,1.0,4.0,163662,1,0 +10988,1100105,45,1,1,0.0,4.0,179238,1,0 +10989,1100105,45,1,1,0.0,4.0,150244,1,0 +10990,1100105,45,1,1,0.0,4.0,179238,1,0 +10991,1100105,45,1,1,0.0,4.0,159056,1,0 +10992,1100105,45,1,1,0.0,6.0,157550,1,0 +10993,1100105,45,1,1,1.0,6.0,180411,1,0 +10994,1100105,45,1,1,0.0,4.0,175104,1,0 +10995,1100105,45,1,1,0.0,6.0,179238,1,0 +10996,1100105,45,1,1,0.0,6.0,166703,1,0 +10997,1100105,45,1,1,1.0,4.0,161601,1,0 +10998,1100105,45,1,1,1.0,6.0,180411,1,0 +10999,1100105,45,1,1,0.0,4.0,196329,1,0 +11000,1100105,45,1,1,0.0,4.0,192190,0,0 +11001,1100105,45,1,1,0.0,6.0,140932,1,0 +11002,1100105,45,1,1,0.0,6.0,111671,1,0 +11003,1100105,45,1,1,1.0,4.0,103583,1,0 +11004,1100105,45,1,1,1.0,4.0,123127,1,0 +11005,1100105,45,1,1,0.0,6.0,107599,1,0 +11006,1100105,45,1,1,0.0,4.0,105434,1,0 +11007,1100105,45,1,1,1.0,4.0,121571,1,0 +11008,1100105,45,1,1,0.0,6.0,113869,1,0 +11009,1100105,45,1,1,0.0,4.0,100817,1,0 +11010,1100105,45,1,1,0.0,4.0,138170,1,0 +11011,1100105,45,1,1,1.0,6.0,121249,1,0 +11012,1100105,45,1,1,1.0,6.0,136768,1,0 +11013,1100105,45,1,1,0.0,6.0,113942,1,0 +11014,1100105,45,1,1,1.0,4.0,142427,1,0 +11015,1100105,45,1,1,0.0,4.0,110279,1,0 +11016,1100105,45,1,1,1.0,6.0,141833,1,0 +11017,1100105,45,1,1,0.0,6.0,134658,1,0 +11018,1100105,45,1,1,1.0,6.0,100373,1,0 +11019,1100105,45,1,1,0.0,6.0,124300,1,0 +11020,1100105,45,1,1,0.0,4.0,117032,1,0 +11021,1100105,45,1,1,1.0,6.0,124610,1,0 +11022,1100105,45,1,1,1.0,6.0,136768,1,0 +11023,1100105,45,1,1,1.0,4.0,126521,1,0 +11024,1100105,45,1,1,0.0,6.0,101309,1,0 +11025,1100105,45,1,1,0.0,6.0,122797,1,0 +11026,1100105,45,1,1,1.0,4.0,137064,1,0 +11027,1100105,45,1,1,0.0,4.0,101309,1,0 +11028,1100105,45,1,1,1.0,4.0,137961,1,0 +11029,1100105,45,1,1,0.0,6.0,101309,1,0 +11030,1100105,45,1,1,1.0,4.0,113942,1,0 +11031,1100105,45,1,1,0.0,6.0,100162,1,0 +11032,1100105,45,1,1,1.0,4.0,123358,1,0 +11033,1100105,45,1,1,1.0,4.0,106177,1,0 +11034,1100105,45,1,1,1.0,4.0,134658,1,0 +11035,1100105,45,1,1,0.0,4.0,131743,1,0 +11036,1100105,45,1,1,1.0,6.0,141833,1,0 +11037,1100105,45,1,1,1.0,4.0,137064,1,0 +11038,1100105,45,1,1,1.0,6.0,107727,1,0 +11039,1100105,45,1,1,1.0,4.0,113942,1,0 +11040,1100105,45,1,1,1.0,4.0,124818,1,0 +11041,1100105,45,1,1,1.0,4.0,146392,1,0 +11042,1100105,45,1,1,1.0,4.0,111760,1,0 +11043,1100105,45,1,1,0.0,6.0,105434,1,0 +11044,1100105,45,1,1,0.0,6.0,117049,1,0 +11045,1100105,45,1,1,0.0,6.0,131702,1,0 +11046,1100105,45,1,1,0.0,4.0,143267,1,0 +11047,1100105,45,1,1,0.0,6.0,119121,1,0 +11048,1100105,45,1,1,1.0,4.0,109346,1,0 +11049,1100105,45,1,1,0.0,4.0,143267,1,0 +11050,1100105,45,1,1,0.0,6.0,131702,1,0 +11051,1100105,45,1,1,1.0,6.0,116703,1,0 +11052,1100105,45,1,1,1.0,6.0,106691,1,0 +11053,1100105,45,1,1,0.0,6.0,142336,1,0 +11054,1100105,45,1,1,1.0,4.0,116729,1,0 +11055,1100105,45,1,1,0.0,4.0,141833,1,0 +11056,1100105,45,1,1,0.0,4.0,104925,1,0 +11057,1100105,45,1,1,0.0,4.0,131793,1,0 +11058,1100105,45,1,1,1.0,4.0,115978,1,0 +11059,1100105,45,1,1,1.0,4.0,145017,1,0 +11060,1100105,45,1,1,0.0,6.0,111339,1,0 +11061,1100105,45,1,1,1.0,4.0,103335,1,0 +11062,1100105,45,1,1,0.0,4.0,101309,1,0 +11063,1100105,45,1,1,1.0,4.0,117519,0,0 +11064,1100105,45,1,1,0.0,6.0,111643,0,0 +11065,1100105,45,1,1,1.0,4.0,107727,0,0 +11066,1100105,45,1,1,0.0,6.0,72164,1,0 +11067,1100105,45,1,1,0.0,4.0,81184,1,0 +11068,1100105,45,1,1,0.0,6.0,74867,1,0 +11069,1100105,45,1,1,0.0,6.0,87227,1,0 +11070,1100105,45,1,1,1.0,6.0,82441,1,0 +11071,1100105,45,1,1,0.0,6.0,88645,1,0 +11072,1100105,45,1,1,1.0,6.0,70916,1,0 +11073,1100105,45,1,1,0.0,4.0,99283,1,0 +11074,1100105,45,1,1,1.0,6.0,56745,1,0 +11075,1100105,45,1,1,1.0,6.0,56745,1,0 +11076,1100105,45,1,1,1.0,4.0,71695,1,0 +11077,1100105,45,1,1,1.0,6.0,55674,1,0 +11078,1100105,45,1,1,1.0,4.0,61028,1,0 +11079,1100105,45,1,1,1.0,4.0,63674,1,0 +11080,1100105,45,1,1,0.0,6.0,91182,1,0 +11081,1100105,45,1,1,1.0,6.0,74947,1,0 +11082,1100105,45,1,1,0.0,4.0,63260,1,0 +11083,1100105,45,1,1,1.0,6.0,74947,1,0 +11084,1100105,45,1,1,0.0,6.0,95511,1,0 +11085,1100105,45,1,1,0.0,4.0,69593,1,0 +11086,1100105,45,1,1,1.0,6.0,95504,1,0 +11087,1100105,45,1,1,1.0,6.0,95504,1,0 +11088,1100105,45,1,1,1.0,4.0,82867,1,0 +11089,1100105,45,1,1,0.0,6.0,95511,1,0 +11090,1100105,45,1,1,1.0,4.0,98270,1,0 +11091,1100105,45,1,1,1.0,6.0,96244,1,0 +11092,1100105,45,1,1,1.0,4.0,84899,1,0 +11093,1100105,45,1,1,0.0,6.0,97004,1,0 +11094,1100105,45,1,1,1.0,6.0,95504,1,0 +11095,1100105,45,1,1,1.0,6.0,79075,1,0 +11096,1100105,45,1,1,1.0,4.0,63674,1,0 +11097,1100105,45,1,1,0.0,4.0,74286,1,0 +11098,1100105,45,1,1,1.0,6.0,95075,1,0 +11099,1100105,45,1,1,0.0,6.0,84899,1,0 +11100,1100105,45,1,1,0.0,6.0,75982,1,0 +11101,1100105,45,1,1,1.0,6.0,74286,1,0 +11102,1100105,45,1,1,1.0,6.0,88046,1,0 +11103,1100105,45,1,1,1.0,6.0,87010,1,0 +11104,1100105,45,1,1,1.0,6.0,62150,1,0 +11105,1100105,45,1,1,0.0,6.0,79021,1,0 +11106,1100105,45,1,1,1.0,6.0,64240,1,0 +11107,1100105,45,1,1,0.0,4.0,71472,1,0 +11108,1100105,45,1,1,0.0,6.0,82060,1,0 +11109,1100105,45,1,1,0.0,6.0,88046,1,0 +11110,1100105,45,1,1,0.0,6.0,89936,1,0 +11111,1100105,45,1,1,0.0,6.0,99756,1,0 +11112,1100105,45,1,1,0.0,6.0,74947,1,0 +11113,1100105,45,1,1,1.0,4.0,92951,1,0 +11114,1100105,45,1,1,1.0,4.0,89936,1,0 +11115,1100105,45,1,1,0.0,4.0,63260,1,0 +11116,1100105,45,1,1,0.0,6.0,63674,1,0 +11117,1100105,45,1,1,0.0,6.0,63260,1,0 +11118,1100105,45,1,1,1.0,4.0,87795,1,0 +11119,1100105,45,1,1,0.0,6.0,76967,1,0 +11120,1100105,45,1,1,0.0,4.0,81047,1,0 +11121,1100105,45,1,1,0.0,6.0,70916,1,0 +11122,1100105,45,1,1,1.0,6.0,60816,1,0 +11123,1100105,45,1,1,1.0,6.0,61010,1,0 +11124,1100105,45,1,1,0.0,4.0,64315,1,0 +11125,1100105,45,1,1,1.0,4.0,92189,1,0 +11126,1100105,45,1,1,0.0,4.0,64315,1,0 +11127,1100105,45,1,1,0.0,6.0,76967,1,0 +11128,1100105,45,1,1,0.0,6.0,67877,1,0 +11129,1100105,45,1,1,0.0,6.0,61798,1,0 +11130,1100105,45,1,1,0.0,6.0,96332,1,0 +11131,1100105,45,1,1,1.0,4.0,99626,1,0 +11132,1100105,45,1,1,1.0,6.0,61292,1,0 +11133,1100105,45,1,1,1.0,4.0,71929,1,0 +11134,1100105,45,1,1,1.0,6.0,54604,1,0 +11135,1100105,45,1,1,1.0,6.0,53863,1,0 +11136,1100105,45,1,1,0.0,6.0,81047,1,0 +11137,1100105,45,1,1,0.0,6.0,81047,1,0 +11138,1100105,45,1,1,1.0,4.0,87126,1,0 +11139,1100105,45,1,1,1.0,6.0,96360,1,0 +11140,1100105,45,1,1,1.0,4.0,66595,1,0 +11141,1100105,45,1,1,0.0,4.0,86456,1,0 +11142,1100105,45,1,1,0.0,4.0,62150,1,0 +11143,1100105,45,1,1,1.0,4.0,87126,1,0 +11144,1100105,45,1,1,0.0,4.0,86456,1,0 +11145,1100105,45,1,1,0.0,6.0,53062,1,0 +11146,1100105,45,1,1,0.0,4.0,74499,1,0 +11147,1100105,45,1,1,0.0,6.0,62099,1,0 +11148,1100105,45,1,1,0.0,6.0,83838,1,0 +11149,1100105,45,1,1,0.0,6.0,75912,1,0 +11150,1100105,45,1,1,0.0,4.0,64315,1,0 +11151,1100105,45,1,1,1.0,4.0,79759,1,0 +11152,1100105,45,1,1,1.0,6.0,60816,1,0 +11153,1100105,45,1,1,1.0,6.0,64325,1,0 +11154,1100105,45,1,1,0.0,6.0,62150,1,0 +11155,1100105,45,1,1,0.0,6.0,85653,1,0 +11156,1100105,45,1,1,2.0,4.0,66327,1,0 +11157,1100105,45,1,1,0.0,4.0,72164,1,0 +11158,1100105,45,1,1,1.0,6.0,83512,1,0 +11159,1100105,45,1,1,0.0,6.0,50397,1,0 +11160,1100105,45,1,1,0.0,4.0,50654,1,0 +11161,1100105,45,1,1,1.0,4.0,65598,1,0 +11162,1100105,45,1,1,0.0,6.0,50397,1,0 +11163,1100105,45,1,1,0.0,4.0,84899,1,0 +11164,1100105,45,1,1,1.0,6.0,57989,0,0 +11165,1100105,45,1,1,1.0,6.0,51178,0,0 +11166,1100105,45,1,1,1.0,6.0,59886,0,0 +11167,1100105,45,1,1,0.0,4.0,61292,0,0 +11168,1100105,45,1,1,1.0,4.0,69165,0,0 +11169,1100105,45,1,1,1.0,6.0,59886,0,0 +11170,1100105,45,1,1,1.0,4.0,69165,0,0 +11171,1100105,45,1,1,0.0,4.0,61292,0,0 +11172,1100105,45,1,1,1.0,4.0,68181,0,0 +11173,1100105,45,1,1,1.0,4.0,72695,0,0 +11174,1100105,45,1,1,0.0,6.0,56745,0,0 +11175,1100105,45,1,1,0.0,4.0,63217,0,0 +11176,1100105,45,1,1,1.0,6.0,79593,0,0 +11177,1100105,45,1,1,1.0,4.0,26358,1,0 +11178,1100105,45,1,1,0.0,4.0,42184,1,0 +11179,1100105,45,1,1,0.0,4.0,42184,1,0 +11180,1100105,45,1,1,2.0,4.0,30595,1,0 +11181,1100105,45,1,1,0.0,4.0,36471,1,0 +11182,1100105,45,1,1,0.0,4.0,31075,1,0 +11183,1100105,45,1,1,0.0,4.0,42701,1,0 +11184,1100105,45,1,1,0.0,4.0,45589,1,0 +11185,1100105,45,1,1,1.0,4.0,35332,1,0 +11186,1100105,45,1,1,1.0,4.0,47755,1,0 +11187,1100105,45,1,1,1.0,4.0,32214,1,0 +11188,1100105,45,1,1,0.0,6.0,26766,1,0 +11189,1100105,45,1,1,0.0,6.0,38544,1,0 +11190,1100105,45,1,1,1.0,4.0,43829,1,0 +11191,1100105,45,1,1,1.0,6.0,42826,1,0 +11192,1100105,45,1,1,2.0,4.0,42449,1,0 +11193,1100105,45,1,1,0.0,6.0,31075,1,0 +11194,1100105,45,1,1,0.0,4.0,31837,1,0 +11195,1100105,45,1,1,0.0,6.0,49720,1,0 +11196,1100105,45,1,1,0.0,6.0,32120,1,0 +11197,1100105,45,1,1,0.0,6.0,31075,1,0 +11198,1100105,45,1,1,0.0,6.0,29728,1,0 +11199,1100105,45,1,1,0.0,6.0,26358,1,0 +11200,1100105,45,1,1,0.0,4.0,47755,1,0 +11201,1100105,45,1,1,0.0,6.0,49237,1,0 +11202,1100105,45,1,1,0.0,6.0,49554,1,0 +11203,1100105,45,1,1,1.0,6.0,48817,1,0 +11204,1100105,45,1,1,0.0,6.0,46612,1,0 +11205,1100105,45,1,1,1.0,4.0,41537,1,0 +11206,1100105,45,1,1,0.0,6.0,39265,1,0 +11207,1100105,45,1,1,0.0,6.0,32628,1,0 +11208,1100105,45,1,1,0.0,6.0,36902,1,0 +11209,1100105,45,1,1,0.0,6.0,47755,1,0 +11210,1100105,45,1,1,0.0,6.0,32120,1,0 +11211,1100105,45,1,1,1.0,6.0,29521,0,0 +11212,1100105,45,1,1,0.0,6.0,27346,0,0 +11213,1100105,45,1,1,1.0,6.0,37143,0,0 +11214,1100105,45,1,1,1.0,4.0,37045,0,0 +11215,1100105,45,1,1,1.0,6.0,32580,0,0 +11216,1100105,45,1,1,0.0,6.0,32419,0,0 +11217,1100105,45,1,1,0.0,6.0,27760,0,0 +11218,1100105,45,1,1,0.0,6.0,28386,0,0 +11219,1100105,45,1,1,0.0,6.0,28151,0,0 +11220,1100105,45,1,1,0.0,6.0,28386,0,0 +11221,1100105,45,1,1,1.0,6.0,32580,0,0 +11222,1100105,45,1,1,0.0,4.0,25327,0,0 +11223,1100105,45,1,1,0.0,4.0,29582,0,0 +11224,1100105,45,1,1,0.0,4.0,32684,0,0 +11225,1100105,45,1,1,0.0,4.0,32684,0,0 +11226,1100105,45,1,1,1.0,6.0,49720,0,0 +11227,1100105,45,1,1,0.0,4.0,41739,0,0 +11228,1100105,45,1,1,1.0,6.0,13062,1,0 +11229,1100105,45,1,1,1.0,4.0,20906,1,0 +11230,1100105,45,1,1,0.0,6.0,19700,1,0 +11231,1100105,45,1,1,1.0,4.0,9197,1,0 +11232,1100105,45,1,1,0.0,6.0,13704,1,0 +11233,1100105,45,1,1,0.0,6.0,6381,1,0 +11234,1100105,45,1,1,0.0,4.0,15815,1,0 +11235,1100105,45,1,1,0.0,6.0,14347,1,0 +11236,1100105,45,1,1,0.0,6.0,103,1,0 +11237,1100105,45,1,1,0.0,6.0,9563,1,0 +11238,1100105,45,1,1,0.0,6.0,9563,1,0 +11239,1100105,45,1,1,0.0,6.0,7192,1,0 +11240,1100105,45,1,1,2.0,4.0,21413,1,0 +11241,1100105,45,1,1,0.0,4.0,11394,1,0 +11242,1100105,45,1,1,1.0,6.0,10706,1,0 +11243,1100105,45,1,1,0.0,6.0,10358,1,0 +11244,1100105,45,1,1,0.0,6.0,8286,1,0 +11245,1100105,45,1,1,0.0,6.0,5774,1,0 +11246,1100105,45,1,1,0.0,6.0,1697,1,0 +11247,1100105,45,1,1,1.0,4.0,22286,1,0 +11248,1100105,45,1,1,0.0,6.0,5774,1,0 +11249,1100105,45,1,1,1.0,6.0,1581,1,0 +11250,1100105,45,1,1,0.0,6.0,10358,1,0 +11251,1100105,45,1,1,0.0,4.0,14082,1,0 +11252,1100105,45,1,1,0.0,6.0,18852,0,0 +11253,1100105,45,1,1,0.0,6.0,11497,0,0 +11254,1100105,45,1,1,0.0,6.0,8779,0,0 +11255,1100105,45,1,1,0.0,6.0,12863,0,0 +11256,1100105,45,1,1,0.0,4.0,0,0,0 +11257,1100105,45,1,1,0.0,6.0,9067,0,0 +11258,1100105,45,1,1,0.0,4.0,20613,0,0 +11259,1100105,45,1,1,1.0,4.0,15281,0,0 +11260,1100105,45,1,1,0.0,6.0,15815,0,0 +11261,1100105,45,1,1,1.0,4.0,19189,0,0 +11262,1100105,45,1,1,0.0,4.0,9421,0,0 +11263,1100105,45,1,1,0.0,6.0,15281,0,0 +11264,1100105,45,1,1,1.0,4.0,2741,0,0 +11265,1100105,45,1,1,0.0,4.0,9207,0,0 +11266,1100105,45,1,1,1.0,6.0,5166,0,0 +11267,1100105,45,1,1,0.0,6.0,24249,0,0 +11268,1100105,45,1,1,0.0,4.0,18843,0,0 +11269,1100105,45,1,1,1.0,4.0,15069,0,0 +11270,1100105,45,1,1,0.0,4.0,23876,0,0 +11271,1100105,45,1,1,0.0,4.0,23876,0,0 +11272,1100105,45,1,1,0.0,6.0,3936,0,0 +11273,1100105,45,1,1,1.0,6.0,22592,0,0 +11274,1100105,45,1,1,0.0,6.0,1391,0,0 +11275,1100105,45,1,1,1.0,4.0,13372,0,0 +11276,1100105,45,1,1,0.0,6.0,9126,0,0 +11277,1100105,45,1,1,1.0,4.0,13372,0,0 +11278,1100105,45,1,1,0.0,6.0,9126,0,0 +11279,1100105,45,1,1,2.0,4.0,20261,0,0 +11280,1100105,45,1,1,0.0,6.0,0,0,0 +11281,1100105,45,1,1,1.0,6.0,24860,0,0 +11282,1100105,45,1,1,0.0,6.0,12633,0,0 +11283,1100105,45,1,1,0.0,6.0,3795,0,0 +11284,1100105,45,1,1,0.0,6.0,10434,0,0 +11285,1100105,45,1,1,0.0,4.0,3163,0,0 +11286,1100105,45,1,1,0.0,6.0,0,0,0 +11287,1100105,45,1,1,0.0,4.0,1035,0,0 +11288,1100105,45,1,1,0.0,4.0,23199,0,0 +11289,1100105,45,1,1,1.0,4.0,10,0,0 +11290,1100105,45,1,1,0.0,6.0,0,0,0 +11291,1100105,45,1,1,0.0,4.0,23199,0,0 +11292,1100105,45,1,1,0.0,6.0,13253,0,0 +11293,1100105,45,1,1,0.0,4.0,23199,0,0 +11294,1100105,45,1,1,0.0,6.0,0,0,0 +11295,1100105,45,1,1,0.0,4.0,0,0,0 +11296,1100105,45,1,1,0.0,4.0,1035,0,0 +11297,1100105,45,1,1,1.0,6.0,21330,0,0 +11298,1100105,45,1,1,0.0,6.0,3502,0,0 +11299,1100105,45,1,1,0.0,6.0,0,0,0 +11300,1100105,45,1,1,0.0,6.0,0,0,0 +11301,1100105,45,1,1,0.0,4.0,0,0,0 +11302,1100105,45,1,1,1.0,6.0,760,0,0 +11303,1100105,45,1,1,0.0,6.0,5353,0,0 +11304,1100105,45,1,1,0.0,4.0,20261,0,0 +11305,1100105,45,1,1,0.0,6.0,5353,0,0 +11306,1100105,45,1,1,0.0,4.0,527,0,0 +11307,1100105,45,1,1,0.0,6.0,0,0,0 +11308,1100105,45,1,1,0.0,6.0,4143,0,0 +11309,1100105,45,1,1,0.0,6.0,0,0,0 +11310,1100105,46,1,11,3.0,1.0,60493,4,1 +11311,1100105,46,1,3,3.0,7.0,203488,3,0 +11312,1100105,46,1,3,2.0,1.0,285580,2,0 +11313,1100105,46,1,3,2.0,1.0,322145,2,1 +11314,1100105,46,1,3,1.0,1.0,403976,2,1 +11315,1100105,46,1,3,1.0,1.0,231956,2,1 +11316,1100105,46,1,3,0.0,1.0,261477,2,1 +11317,1100105,46,1,3,1.0,1.0,323208,2,1 +11318,1100105,46,1,3,1.0,1.0,218249,1,1 +11319,1100105,46,1,3,1.0,1.0,235595,1,1 +11320,1100105,46,1,3,2.0,5.0,168841,2,0 +11321,1100105,46,1,3,1.0,1.0,191890,2,1 +11322,1100105,46,1,3,1.0,1.0,133830,0,0 +11323,1100105,46,1,3,0.0,7.0,64240,2,0 +11324,1100105,46,1,3,0.0,7.0,42469,2,0 +11325,1100105,46,1,3,0.0,5.0,30776,1,0 +11326,1100105,46,1,3,0.0,5.0,30776,1,0 +11327,1100105,46,1,3,2.0,3.0,476,1,1 +11328,1100105,46,1,3,0.0,3.0,2741,0,1 +11329,1100105,46,1,2,1.0,1.0,222881,2,0 +11330,1100105,46,1,2,1.0,5.0,379924,2,0 +11331,1100105,46,1,2,0.0,1.0,223813,2,0 +11332,1100105,46,1,2,1.0,1.0,259379,2,0 +11333,1100105,46,1,2,0.0,5.0,419524,2,0 +11334,1100105,46,1,2,2.0,1.0,265310,2,0 +11335,1100105,46,1,2,1.0,7.0,313889,2,0 +11336,1100105,46,1,2,2.0,7.0,297658,2,0 +11337,1100105,46,1,2,2.0,1.0,319917,2,0 +11338,1100105,46,1,2,2.0,1.0,332015,2,0 +11339,1100105,46,1,2,1.0,1.0,301929,2,0 +11340,1100105,46,1,2,2.0,5.0,208781,2,0 +11341,1100105,46,1,2,0.0,5.0,248601,2,0 +11342,1100105,46,1,2,1.0,5.0,271093,2,0 +11343,1100105,46,1,2,1.0,1.0,210869,2,0 +11344,1100105,46,1,2,0.0,5.0,236171,2,0 +11345,1100105,46,1,2,1.0,7.0,204819,2,0 +11346,1100105,46,1,2,1.0,5.0,216493,2,0 +11347,1100105,46,1,2,1.0,1.0,253780,2,0 +11348,1100105,46,1,2,1.0,1.0,217525,2,0 +11349,1100105,46,1,2,2.0,1.0,230991,1,0 +11350,1100105,46,1,2,1.0,1.0,238483,1,0 +11351,1100105,46,1,2,1.0,1.0,765455,1,0 +11352,1100105,46,1,2,1.0,1.0,217815,1,0 +11353,1100105,46,1,2,2.0,7.0,220738,1,0 +11354,1100105,46,1,2,1.0,5.0,207464,1,0 +11355,1100105,46,1,2,2.0,1.0,290345,0,0 +11356,1100105,46,1,2,0.0,1.0,359761,0,0 +11357,1100105,46,1,2,2.0,1.0,189782,2,0 +11358,1100105,46,1,2,2.0,5.0,156254,2,0 +11359,1100105,46,1,2,1.0,1.0,186407,2,0 +11360,1100105,46,1,2,2.0,5.0,150771,2,0 +11361,1100105,46,1,2,1.0,5.0,189782,2,0 +11362,1100105,46,1,2,1.0,1.0,178952,2,0 +11363,1100105,46,1,2,1.0,1.0,158172,2,0 +11364,1100105,46,1,2,0.0,5.0,177762,2,0 +11365,1100105,46,1,2,2.0,1.0,153200,1,0 +11366,1100105,46,1,2,0.0,1.0,171307,1,0 +11367,1100105,46,1,2,0.0,1.0,164794,1,0 +11368,1100105,46,1,2,1.0,1.0,154622,1,0 +11369,1100105,46,1,2,1.0,7.0,189782,1,0 +11370,1100105,46,1,2,2.0,1.0,159726,0,0 +11371,1100105,46,1,2,2.0,1.0,146053,2,0 +11372,1100105,46,1,2,0.0,7.0,126693,2,0 +11373,1100105,46,1,2,1.0,5.0,132587,2,0 +11374,1100105,46,1,2,0.0,5.0,121299,2,0 +11375,1100105,46,1,2,1.0,1.0,131551,2,0 +11376,1100105,46,1,2,0.0,1.0,136900,2,0 +11377,1100105,46,1,2,0.0,7.0,128480,2,0 +11378,1100105,46,1,2,1.0,7.0,131793,2,0 +11379,1100105,46,1,2,0.0,1.0,133424,1,0 +11380,1100105,46,1,2,1.0,7.0,119328,1,0 +11381,1100105,46,1,2,1.0,1.0,131266,0,0 +11382,1100105,46,1,2,0.0,2.0,75161,2,0 +11383,1100105,46,1,2,0.0,7.0,89619,2,0 +11384,1100105,46,1,2,1.0,3.0,87936,2,0 +11385,1100105,46,1,2,0.0,5.0,74590,2,0 +11386,1100105,46,1,2,1.0,1.0,55502,1,0 +11387,1100105,46,1,2,0.0,7.0,73225,1,0 +11388,1100105,46,1,2,1.0,7.0,54193,1,0 +11389,1100105,46,1,2,1.0,1.0,71952,1,0 +11390,1100105,46,1,2,1.0,1.0,70041,1,0 +11391,1100105,46,1,2,1.0,5.0,65340,1,0 +11392,1100105,46,1,2,0.0,1.0,65851,1,0 +11393,1100105,46,1,2,1.0,1.0,99440,0,0 +11394,1100105,46,1,2,0.0,7.0,39614,2,0 +11395,1100105,46,1,2,0.0,5.0,31735,1,0 +11396,1100105,46,1,2,0.0,5.0,31837,1,0 +11397,1100105,46,1,2,0.0,1.0,36772,0,0 +11398,1100105,46,1,2,0.0,7.0,5306,1,0 +11399,1100105,46,1,2,0.0,7.0,5074,1,0 +11400,1100105,46,1,2,1.0,7.0,21275,0,0 +11401,1100105,46,1,1,1.0,4.0,623131,1,0 +11402,1100105,46,1,1,0.0,4.0,207710,1,0 +11403,1100105,46,1,1,1.0,6.0,241972,1,0 +11404,1100105,46,1,1,1.0,4.0,299788,1,0 +11405,1100105,46,1,1,1.0,4.0,414335,1,0 +11406,1100105,46,1,1,1.0,4.0,623131,1,0 +11407,1100105,46,1,1,1.0,6.0,325253,1,0 +11408,1100105,46,1,1,1.0,4.0,213382,1,0 +11409,1100105,46,1,1,1.0,6.0,414438,1,0 +11410,1100105,46,1,1,1.0,6.0,623185,1,0 +11411,1100105,46,1,1,1.0,6.0,623131,1,0 +11412,1100105,46,1,1,1.0,6.0,443036,0,0 +11413,1100105,46,1,1,1.0,4.0,167161,1,0 +11414,1100105,46,1,1,1.0,4.0,156523,1,0 +11415,1100105,46,1,1,1.0,4.0,176092,1,0 +11416,1100105,46,1,1,1.0,6.0,192488,1,0 +11417,1100105,46,1,1,1.0,4.0,159186,1,0 +11418,1100105,46,1,1,1.0,4.0,182357,1,0 +11419,1100105,46,1,1,0.0,6.0,196809,1,0 +11420,1100105,46,1,1,0.0,6.0,121193,1,0 +11421,1100105,46,1,1,0.0,4.0,105434,1,0 +11422,1100105,46,1,1,0.0,4.0,124408,1,0 +11423,1100105,46,1,1,0.0,6.0,101816,1,0 +11424,1100105,46,1,1,1.0,4.0,139187,1,0 +11425,1100105,46,1,1,1.0,4.0,139187,1,0 +11426,1100105,46,1,1,1.0,4.0,131793,1,0 +11427,1100105,46,1,1,0.0,4.0,103325,1,0 +11428,1100105,46,1,1,0.0,4.0,143256,1,0 +11429,1100105,46,1,1,0.0,6.0,105434,1,0 +11430,1100105,46,1,1,0.0,4.0,131743,1,0 +11431,1100105,46,1,1,2.0,4.0,113466,1,0 +11432,1100105,46,1,1,0.0,4.0,106124,1,0 +11433,1100105,46,1,1,1.0,4.0,124818,1,0 +11434,1100105,46,1,1,0.0,4.0,114562,1,0 +11435,1100105,46,1,1,1.0,4.0,131702,1,0 +11436,1100105,46,1,1,1.0,4.0,107067,1,0 +11437,1100105,46,1,1,1.0,4.0,128052,1,0 +11438,1100105,46,1,1,1.0,6.0,113466,1,0 +11439,1100105,46,1,1,0.0,4.0,106124,1,0 +11440,1100105,46,1,1,0.0,4.0,106124,1,0 +11441,1100105,46,1,1,0.0,4.0,142399,1,0 +11442,1100105,46,1,1,2.0,6.0,128865,0,0 +11443,1100105,46,1,1,0.0,4.0,81184,1,0 +11444,1100105,46,1,1,1.0,6.0,87010,1,0 +11445,1100105,46,1,1,0.0,4.0,73804,1,0 +11446,1100105,46,1,1,0.0,6.0,74286,1,0 +11447,1100105,46,1,1,0.0,6.0,75982,1,0 +11448,1100105,46,1,1,1.0,6.0,60785,1,0 +11449,1100105,46,1,1,0.0,6.0,55237,1,0 +11450,1100105,46,1,1,0.0,4.0,76338,1,0 +11451,1100105,46,1,1,1.0,4.0,93432,1,0 +11452,1100105,46,1,1,1.0,4.0,73804,1,0 +11453,1100105,46,1,1,1.0,6.0,96360,1,0 +11454,1100105,46,1,1,0.0,6.0,68532,1,0 +11455,1100105,46,1,1,0.0,6.0,99756,1,0 +11456,1100105,46,1,1,0.0,4.0,64315,1,0 +11457,1100105,46,1,1,1.0,4.0,92189,1,0 +11458,1100105,46,1,1,0.0,6.0,63674,1,0 +11459,1100105,46,1,1,0.0,6.0,62150,1,0 +11460,1100105,46,1,1,1.0,4.0,88046,1,0 +11461,1100105,46,1,1,0.0,6.0,69401,1,0 +11462,1100105,46,1,1,1.0,6.0,96332,1,0 +11463,1100105,46,1,1,1.0,4.0,69829,1,0 +11464,1100105,46,1,1,0.0,6.0,95511,1,0 +11465,1100105,46,1,1,1.0,4.0,99626,1,0 +11466,1100105,46,1,1,0.0,6.0,72222,1,0 +11467,1100105,46,1,1,1.0,6.0,70641,1,0 +11468,1100105,46,1,1,0.0,6.0,72508,1,0 +11469,1100105,46,1,1,0.0,4.0,99636,1,0 +11470,1100105,46,1,1,0.0,4.0,84899,1,0 +11471,1100105,46,1,1,0.0,4.0,58887,1,0 +11472,1100105,46,1,1,1.0,6.0,92597,0,0 +11473,1100105,46,1,1,1.0,4.0,74062,0,0 +11474,1100105,46,1,1,1.0,6.0,51364,0,0 +11475,1100105,46,1,1,1.0,6.0,59886,0,0 +11476,1100105,46,1,1,0.0,6.0,86724,0,0 +11477,1100105,46,1,1,0.0,4.0,42184,1,0 +11478,1100105,46,1,1,0.0,4.0,31841,1,0 +11479,1100105,46,1,1,0.0,4.0,42449,1,0 +11480,1100105,46,1,1,0.0,4.0,45589,1,0 +11481,1100105,46,1,1,0.0,6.0,26766,1,0 +11482,1100105,46,1,1,0.0,6.0,42173,1,0 +11483,1100105,46,1,1,1.0,4.0,25696,1,0 +11484,1100105,46,1,1,0.0,6.0,46391,1,0 +11485,1100105,46,1,1,0.0,6.0,43723,1,0 +11486,1100105,46,1,1,1.0,4.0,47130,1,0 +11487,1100105,46,1,1,1.0,4.0,47755,1,0 +11488,1100105,46,1,1,0.0,4.0,33871,1,0 +11489,1100105,46,1,1,1.0,6.0,29521,0,0 +11490,1100105,46,1,1,1.0,6.0,37143,0,0 +11491,1100105,46,1,1,1.0,6.0,32580,0,0 +11492,1100105,46,1,1,1.0,6.0,40327,0,0 +11493,1100105,46,1,1,0.0,4.0,27412,0,0 +11494,1100105,46,1,1,1.0,4.0,19030,1,0 +11495,1100105,46,1,1,0.0,6.0,15815,1,0 +11496,1100105,46,1,1,1.0,4.0,6367,1,0 +11497,1100105,46,1,1,0.0,4.0,7216,1,0 +11498,1100105,46,1,1,0.0,6.0,5271,1,0 +11499,1100105,46,1,1,0.0,6.0,10358,1,0 +11500,1100105,46,1,1,0.0,6.0,9636,1,0 +11501,1100105,46,1,1,0.0,6.0,1697,1,0 +11502,1100105,46,1,1,0.0,6.0,19314,0,0 +11503,1100105,46,1,1,0.0,6.0,8510,0,0 +11504,1100105,46,1,1,0.0,4.0,24111,0,0 +11505,1100105,46,1,1,0.0,6.0,1450,0,0 +11506,1100105,46,1,1,0.0,6.0,18235,0,0 +11507,1100105,46,1,1,0.0,4.0,18843,0,0 +11508,1100105,46,1,1,0.0,6.0,9636,0,0 +11509,1100105,46,1,1,0.0,6.0,15804,0,0 +11510,1100105,46,1,1,0.0,6.0,13068,0,0 +11511,1100105,46,1,1,0.0,6.0,9126,0,0 +11512,1100105,46,1,1,0.0,6.0,6102,0,0 +11513,1100105,46,1,1,1.0,4.0,13918,0,0 +11514,1100105,46,1,1,0.0,4.0,9489,0,0 +11515,1100105,46,1,1,0.0,6.0,0,0,0 +11516,1100105,46,1,1,0.0,6.0,0,0,0 +11517,1100105,46,1,1,0.0,4.0,8886,0,0 +11518,1100105,46,1,1,1.0,4.0,3039,0,0 +11519,1100105,46,1,1,1.0,6.0,0,0,0 +11520,1100105,46,1,1,0.0,4.0,0,0,0 +11521,1100105,46,1,1,0.0,4.0,20261,0,0 +11522,1100105,46,1,1,0.0,6.0,5306,0,0 +11523,1100105,47,1,6,1.0,5.0,400426,6,0 +11524,1100105,47,1,7,0.0,5.0,492416,7,0 +11525,1100105,47,1,7,6.0,5.0,374292,7,0 +11526,1100105,47,1,10,2.0,5.0,579643,9,0 +11527,1100105,47,1,10,2.0,5.0,579643,9,0 +11528,1100105,47,1,6,1.0,1.0,279085,2,1 +11529,1100105,47,1,6,1.0,1.0,279085,2,1 +11530,1100105,47,1,6,1.0,1.0,279085,2,1 +11531,1100105,47,1,6,1.0,1.0,279085,2,1 +11532,1100105,47,1,6,1.0,1.0,279085,2,1 +11533,1100105,47,1,6,1.0,1.0,279085,2,1 +11534,1100105,47,1,6,1.0,1.0,279085,2,1 +11535,1100105,47,1,6,1.0,1.0,279085,2,1 +11536,1100105,47,1,11,3.0,1.0,60493,4,1 +11537,1100105,47,1,6,1.0,1.0,42449,2,1 +11538,1100105,47,1,6,1.0,1.0,42449,2,1 +11539,1100105,47,1,6,1.0,1.0,42449,2,1 +11540,1100105,47,1,6,1.0,1.0,42449,2,1 +11541,1100105,47,1,6,1.0,1.0,42449,2,1 +11542,1100105,47,1,6,1.0,1.0,42449,2,1 +11543,1100105,47,1,6,1.0,1.0,42449,2,1 +11544,1100105,47,1,6,1.0,1.0,42449,2,1 +11545,1100105,47,1,6,1.0,1.0,42449,2,1 +11546,1100105,47,1,6,1.0,1.0,42449,2,1 +11547,1100105,47,1,6,1.0,1.0,42449,2,1 +11548,1100105,47,1,6,1.0,1.0,42449,2,1 +11549,1100105,47,1,6,1.0,1.0,42449,2,1 +11550,1100105,47,1,6,1.0,1.0,42449,2,1 +11551,1100105,47,1,6,1.0,1.0,42449,2,1 +11552,1100105,47,1,6,1.0,1.0,42449,2,1 +11553,1100105,47,1,9,0.0,2.0,17192,2,1 +11554,1100105,47,1,3,1.0,5.0,415371,3,0 +11555,1100105,47,1,3,0.0,7.0,261477,3,0 +11556,1100105,47,1,3,1.0,7.0,206942,3,0 +11557,1100105,47,1,3,1.0,7.0,206942,3,0 +11558,1100105,47,1,3,2.0,1.0,322145,2,1 +11559,1100105,47,1,3,1.0,1.0,298717,2,1 +11560,1100105,47,1,3,2.0,1.0,361887,2,1 +11561,1100105,47,1,3,1.0,1.0,278601,2,1 +11562,1100105,47,1,3,1.0,1.0,389475,2,1 +11563,1100105,47,1,3,1.0,1.0,282290,2,1 +11564,1100105,47,1,3,2.0,1.0,271509,2,1 +11565,1100105,47,1,3,1.0,1.0,218249,1,1 +11566,1100105,47,1,3,1.0,1.0,769627,1,1 +11567,1100105,47,1,3,0.0,5.0,173449,3,0 +11568,1100105,47,1,3,2.0,7.0,182014,3,0 +11569,1100105,47,1,3,2.0,5.0,168841,2,0 +11570,1100105,47,1,3,2.0,1.0,162095,2,1 +11571,1100105,47,1,3,1.0,1.0,158151,2,1 +11572,1100105,47,1,3,0.0,7.0,132847,3,0 +11573,1100105,47,1,3,2.0,7.0,105062,3,0 +11574,1100105,47,1,3,0.0,5.0,123597,3,0 +11575,1100105,47,1,3,1.0,1.0,107067,1,1 +11576,1100105,47,1,3,1.0,1.0,133830,0,0 +11577,1100105,47,1,3,0.0,7.0,64240,2,0 +11578,1100105,47,1,3,0.0,7.0,42469,2,0 +11579,1100105,47,1,3,0.0,5.0,30776,1,0 +11580,1100105,47,1,2,1.0,5.0,283819,2,0 +11581,1100105,47,1,2,1.0,1.0,225004,2,0 +11582,1100105,47,1,2,3.0,1.0,288657,2,0 +11583,1100105,47,1,2,2.0,1.0,353322,2,0 +11584,1100105,47,1,2,2.0,1.0,845809,2,0 +11585,1100105,47,1,2,2.0,1.0,305891,2,0 +11586,1100105,47,1,2,1.0,5.0,311032,2,0 +11587,1100105,47,1,2,1.0,1.0,362543,2,0 +11588,1100105,47,1,2,1.0,1.0,290580,2,0 +11589,1100105,47,1,2,2.0,7.0,217554,2,0 +11590,1100105,47,1,2,2.0,7.0,342722,2,0 +11591,1100105,47,1,2,1.0,1.0,290580,2,0 +11592,1100105,47,1,2,2.0,7.0,209393,2,0 +11593,1100105,47,1,2,1.0,1.0,768339,2,0 +11594,1100105,47,1,2,2.0,5.0,217195,2,0 +11595,1100105,47,1,2,2.0,1.0,233473,2,0 +11596,1100105,47,1,2,2.0,1.0,265310,2,0 +11597,1100105,47,1,2,2.0,1.0,274129,2,0 +11598,1100105,47,1,2,1.0,1.0,219842,2,0 +11599,1100105,47,1,2,2.0,7.0,223428,2,0 +11600,1100105,47,1,2,1.0,5.0,269317,2,0 +11601,1100105,47,1,2,0.0,7.0,329767,2,0 +11602,1100105,47,1,2,1.0,1.0,316966,2,0 +11603,1100105,47,1,2,1.0,5.0,419535,2,0 +11604,1100105,47,1,2,0.0,5.0,253832,2,0 +11605,1100105,47,1,2,1.0,1.0,262004,2,0 +11606,1100105,47,1,2,1.0,5.0,413279,2,0 +11607,1100105,47,1,2,1.0,1.0,344452,2,0 +11608,1100105,47,1,2,0.0,7.0,329767,2,0 +11609,1100105,47,1,2,1.0,5.0,269317,2,0 +11610,1100105,47,1,2,1.0,5.0,419535,2,0 +11611,1100105,47,1,2,1.0,7.0,313889,2,0 +11612,1100105,47,1,2,1.0,1.0,824660,2,0 +11613,1100105,47,1,2,1.0,5.0,321201,2,0 +11614,1100105,47,1,2,1.0,1.0,393618,2,0 +11615,1100105,47,1,2,1.0,1.0,291223,2,0 +11616,1100105,47,1,2,2.0,1.0,297147,2,0 +11617,1100105,47,1,2,1.0,1.0,291223,2,0 +11618,1100105,47,1,2,1.0,1.0,384976,2,0 +11619,1100105,47,1,2,2.0,2.0,412776,2,0 +11620,1100105,47,1,2,1.0,1.0,527173,2,0 +11621,1100105,47,1,2,2.0,1.0,284412,2,0 +11622,1100105,47,1,2,1.0,1.0,295824,2,0 +11623,1100105,47,1,2,0.0,5.0,380618,2,0 +11624,1100105,47,1,2,1.0,5.0,248208,2,0 +11625,1100105,47,1,2,0.0,1.0,245253,2,0 +11626,1100105,47,1,2,0.0,1.0,266210,2,0 +11627,1100105,47,1,2,1.0,1.0,207472,2,0 +11628,1100105,47,1,2,0.0,1.0,219842,2,0 +11629,1100105,47,1,2,1.0,1.0,265695,2,0 +11630,1100105,47,1,2,1.0,1.0,342615,2,0 +11631,1100105,47,1,2,2.0,1.0,332015,2,0 +11632,1100105,47,1,2,0.0,5.0,209814,2,0 +11633,1100105,47,1,2,1.0,1.0,301929,2,0 +11634,1100105,47,1,2,0.0,1.0,219842,2,0 +11635,1100105,47,1,2,0.0,1.0,245253,2,0 +11636,1100105,47,1,2,1.0,5.0,265310,2,0 +11637,1100105,47,1,2,3.0,5.0,643474,2,0 +11638,1100105,47,1,2,1.0,5.0,265310,2,0 +11639,1100105,47,1,2,1.0,1.0,309977,2,0 +11640,1100105,47,1,2,1.0,1.0,209814,2,0 +11641,1100105,47,1,2,1.0,5.0,254392,2,0 +11642,1100105,47,1,2,1.0,1.0,209814,2,0 +11643,1100105,47,1,2,0.0,1.0,1452888,2,0 +11644,1100105,47,1,2,0.0,7.0,203427,2,0 +11645,1100105,47,1,2,1.0,1.0,444329,2,0 +11646,1100105,47,1,2,1.0,1.0,291771,2,0 +11647,1100105,47,1,2,1.0,5.0,233581,2,0 +11648,1100105,47,1,2,1.0,1.0,405923,2,0 +11649,1100105,47,1,2,0.0,7.0,207684,2,0 +11650,1100105,47,1,2,0.0,1.0,329256,2,0 +11651,1100105,47,1,2,0.0,1.0,234025,2,0 +11652,1100105,47,1,2,2.0,1.0,227738,2,0 +11653,1100105,47,1,2,0.0,1.0,342615,2,0 +11654,1100105,47,1,2,2.0,1.0,212750,2,0 +11655,1100105,47,1,2,0.0,1.0,238935,2,0 +11656,1100105,47,1,2,1.0,1.0,283351,2,0 +11657,1100105,47,1,2,1.0,5.0,216493,2,0 +11658,1100105,47,1,2,1.0,7.0,245169,2,0 +11659,1100105,47,1,2,1.0,1.0,233477,2,0 +11660,1100105,47,1,2,0.0,5.0,236171,2,0 +11661,1100105,47,1,2,2.0,5.0,280627,2,0 +11662,1100105,47,1,2,1.0,7.0,216275,2,0 +11663,1100105,47,1,2,1.0,1.0,217525,2,0 +11664,1100105,47,1,2,1.0,1.0,233477,2,0 +11665,1100105,47,1,2,0.0,1.0,212248,2,0 +11666,1100105,47,1,2,1.0,5.0,240901,2,0 +11667,1100105,47,1,2,1.0,5.0,328985,2,0 +11668,1100105,47,1,2,0.0,1.0,210342,2,0 +11669,1100105,47,1,2,1.0,5.0,203427,2,0 +11670,1100105,47,1,2,1.0,1.0,201635,2,0 +11671,1100105,47,1,2,1.0,5.0,328985,2,0 +11672,1100105,47,1,2,1.0,5.0,222860,2,0 +11673,1100105,47,1,2,0.0,1.0,212248,2,0 +11674,1100105,47,1,2,1.0,1.0,210869,2,0 +11675,1100105,47,1,2,1.0,1.0,405923,2,0 +11676,1100105,47,1,2,1.0,1.0,267246,2,0 +11677,1100105,47,1,2,0.0,5.0,205597,2,0 +11678,1100105,47,1,2,1.0,7.0,204819,2,0 +11679,1100105,47,1,2,0.0,7.0,203095,2,0 +11680,1100105,47,1,2,0.0,5.0,231999,2,0 +11681,1100105,47,1,2,0.0,5.0,380152,2,0 +11682,1100105,47,1,2,1.0,5.0,233581,2,0 +11683,1100105,47,1,2,1.0,1.0,230194,2,0 +11684,1100105,47,1,2,1.0,1.0,450205,2,0 +11685,1100105,47,1,2,1.0,1.0,242710,1,0 +11686,1100105,47,1,2,2.0,1.0,230991,1,0 +11687,1100105,47,1,2,1.0,1.0,318112,1,0 +11688,1100105,47,1,2,1.0,1.0,242710,1,0 +11689,1100105,47,1,2,2.0,1.0,230991,1,0 +11690,1100105,47,1,2,1.0,1.0,242710,1,0 +11691,1100105,47,1,2,1.0,1.0,318112,1,0 +11692,1100105,47,1,2,2.0,1.0,230991,1,0 +11693,1100105,47,1,2,2.0,1.0,230991,1,0 +11694,1100105,47,1,2,2.0,1.0,230991,1,0 +11695,1100105,47,1,2,2.0,1.0,230991,1,0 +11696,1100105,47,1,2,1.0,5.0,243578,1,0 +11697,1100105,47,1,2,1.0,1.0,247461,1,0 +11698,1100105,47,1,2,1.0,1.0,332911,1,0 +11699,1100105,47,1,2,1.0,1.0,765455,1,0 +11700,1100105,47,1,2,1.0,1.0,657911,1,0 +11701,1100105,47,1,2,1.0,1.0,247461,1,0 +11702,1100105,47,1,2,1.0,1.0,657911,1,0 +11703,1100105,47,1,2,1.0,1.0,247461,1,0 +11704,1100105,47,1,2,1.0,1.0,247461,1,0 +11705,1100105,47,1,2,1.0,1.0,238483,1,0 +11706,1100105,47,1,2,1.0,1.0,490469,1,0 +11707,1100105,47,1,2,2.0,1.0,304705,1,0 +11708,1100105,47,1,2,2.0,5.0,333539,1,0 +11709,1100105,47,1,2,2.0,5.0,333539,1,0 +11710,1100105,47,1,2,0.0,1.0,329820,1,0 +11711,1100105,47,1,2,0.0,1.0,246146,1,0 +11712,1100105,47,1,2,2.0,1.0,249636,1,0 +11713,1100105,47,1,2,0.0,1.0,246146,1,0 +11714,1100105,47,1,2,1.0,1.0,305141,1,0 +11715,1100105,47,1,2,0.0,1.0,329820,1,0 +11716,1100105,47,1,2,3.0,1.0,758074,1,0 +11717,1100105,47,1,2,1.0,1.0,214875,1,0 +11718,1100105,47,1,2,1.0,5.0,581123,1,0 +11719,1100105,47,1,2,1.0,5.0,207464,1,0 +11720,1100105,47,1,2,1.0,5.0,207464,1,0 +11721,1100105,47,1,2,1.0,2.0,362543,1,0 +11722,1100105,47,1,2,0.0,1.0,206305,1,0 +11723,1100105,47,1,2,1.0,1.0,203645,0,0 +11724,1100105,47,1,2,2.0,1.0,616323,0,0 +11725,1100105,47,1,2,2.0,1.0,616323,0,0 +11726,1100105,47,1,2,1.0,1.0,886704,0,0 +11727,1100105,47,1,2,1.0,1.0,886704,0,0 +11728,1100105,47,1,2,1.0,1.0,203645,0,0 +11729,1100105,47,1,2,2.0,1.0,616323,0,0 +11730,1100105,47,1,2,1.0,1.0,392871,0,0 +11731,1100105,47,1,2,1.0,1.0,392871,0,0 +11732,1100105,47,1,2,2.0,1.0,290345,0,0 +11733,1100105,47,1,2,1.0,2.0,311426,0,0 +11734,1100105,47,1,2,1.0,2.0,311426,0,0 +11735,1100105,47,1,2,1.0,2.0,311426,0,0 +11736,1100105,47,1,2,0.0,1.0,366701,0,0 +11737,1100105,47,1,2,0.0,5.0,198217,2,0 +11738,1100105,47,1,2,0.0,5.0,198217,2,0 +11739,1100105,47,1,2,1.0,1.0,152463,2,0 +11740,1100105,47,1,2,1.0,1.0,178305,2,0 +11741,1100105,47,1,2,1.0,1.0,169533,2,0 +11742,1100105,47,1,2,2.0,1.0,189782,2,0 +11743,1100105,47,1,2,0.0,7.0,175759,2,0 +11744,1100105,47,1,2,1.0,1.0,189962,2,0 +11745,1100105,47,1,2,1.0,1.0,189962,2,0 +11746,1100105,47,1,2,0.0,7.0,152818,2,0 +11747,1100105,47,1,2,2.0,3.0,158655,2,0 +11748,1100105,47,1,2,0.0,1.0,160279,2,0 +11749,1100105,47,1,2,1.0,1.0,186619,2,0 +11750,1100105,47,1,2,0.0,1.0,160279,2,0 +11751,1100105,47,1,2,1.0,5.0,187146,2,0 +11752,1100105,47,1,2,1.0,1.0,196540,2,0 +11753,1100105,47,1,2,2.0,1.0,198074,2,0 +11754,1100105,47,1,2,2.0,1.0,198074,2,0 +11755,1100105,47,1,2,2.0,1.0,198074,2,0 +11756,1100105,47,1,2,0.0,5.0,160682,2,0 +11757,1100105,47,1,2,0.0,7.0,172984,2,0 +11758,1100105,47,1,2,0.0,7.0,172984,2,0 +11759,1100105,47,1,2,1.0,1.0,172912,2,0 +11760,1100105,47,1,2,0.0,5.0,171921,2,0 +11761,1100105,47,1,2,0.0,5.0,171921,2,0 +11762,1100105,47,1,2,0.0,5.0,158483,2,0 +11763,1100105,47,1,2,2.0,7.0,172226,2,0 +11764,1100105,47,1,2,1.0,5.0,176166,2,0 +11765,1100105,47,1,2,1.0,5.0,176166,2,0 +11766,1100105,47,1,2,1.0,1.0,174362,2,0 +11767,1100105,47,1,2,1.0,1.0,174362,2,0 +11768,1100105,47,1,2,0.0,1.0,151232,2,0 +11769,1100105,47,1,2,0.0,5.0,177762,2,0 +11770,1100105,47,1,2,1.0,1.0,178952,2,0 +11771,1100105,47,1,2,1.0,5.0,159522,2,0 +11772,1100105,47,1,2,1.0,1.0,158172,2,0 +11773,1100105,47,1,2,1.0,5.0,189782,2,0 +11774,1100105,47,1,2,1.0,1.0,158172,2,0 +11775,1100105,47,1,2,1.0,1.0,158172,2,0 +11776,1100105,47,1,2,1.0,1.0,158172,2,0 +11777,1100105,47,1,2,1.0,1.0,158172,2,0 +11778,1100105,47,1,2,1.0,5.0,162626,2,0 +11779,1100105,47,1,2,1.0,7.0,181344,2,0 +11780,1100105,47,1,2,0.0,5.0,158043,2,0 +11781,1100105,47,1,2,1.0,7.0,191630,2,0 +11782,1100105,47,1,2,1.0,7.0,196540,2,0 +11783,1100105,47,1,2,1.0,7.0,178305,2,0 +11784,1100105,47,1,2,1.0,5.0,189782,2,0 +11785,1100105,47,1,2,1.0,1.0,165941,2,0 +11786,1100105,47,1,2,1.0,1.0,165532,2,0 +11787,1100105,47,1,2,1.0,5.0,189247,2,0 +11788,1100105,47,1,2,0.0,7.0,171307,2,0 +11789,1100105,47,1,2,1.0,1.0,157654,2,0 +11790,1100105,47,1,2,2.0,5.0,193701,2,0 +11791,1100105,47,1,2,1.0,7.0,156318,2,0 +11792,1100105,47,1,2,2.0,7.0,163423,2,0 +11793,1100105,47,1,2,1.0,7.0,196540,2,0 +11794,1100105,47,1,2,1.0,5.0,189782,2,0 +11795,1100105,47,1,2,2.0,5.0,184656,2,0 +11796,1100105,47,1,2,0.0,5.0,180293,2,0 +11797,1100105,47,1,2,1.0,5.0,159522,2,0 +11798,1100105,47,1,2,1.0,1.0,158172,2,0 +11799,1100105,47,1,2,1.0,7.0,165734,2,0 +11800,1100105,47,1,2,1.0,5.0,169812,2,0 +11801,1100105,47,1,2,1.0,5.0,174043,2,0 +11802,1100105,47,1,2,0.0,1.0,194207,2,0 +11803,1100105,47,1,2,1.0,1.0,167024,2,0 +11804,1100105,47,1,2,0.0,1.0,198074,2,0 +11805,1100105,47,1,2,1.0,1.0,167024,2,0 +11806,1100105,47,1,2,1.0,5.0,159522,2,0 +11807,1100105,47,1,2,0.0,1.0,156043,2,0 +11808,1100105,47,1,2,0.0,7.0,189782,2,0 +11809,1100105,47,1,2,0.0,7.0,189782,2,0 +11810,1100105,47,1,2,1.0,5.0,182014,2,0 +11811,1100105,47,1,2,1.0,1.0,175468,1,0 +11812,1100105,47,1,2,1.0,1.0,170129,1,0 +11813,1100105,47,1,2,2.0,1.0,153200,1,0 +11814,1100105,47,1,2,1.0,1.0,170809,1,0 +11815,1100105,47,1,2,1.0,1.0,170129,1,0 +11816,1100105,47,1,2,2.0,1.0,153200,1,0 +11817,1100105,47,1,2,1.0,1.0,170809,1,0 +11818,1100105,47,1,2,2.0,1.0,153200,1,0 +11819,1100105,47,1,2,1.0,1.0,170129,1,0 +11820,1100105,47,1,2,0.0,5.0,197194,1,0 +11821,1100105,47,1,2,0.0,1.0,171307,1,0 +11822,1100105,47,1,2,1.0,7.0,154176,1,0 +11823,1100105,47,1,2,1.0,1.0,160069,1,0 +11824,1100105,47,1,2,1.0,7.0,154176,1,0 +11825,1100105,47,1,2,0.0,5.0,153106,1,0 +11826,1100105,47,1,2,0.0,1.0,189782,1,0 +11827,1100105,47,1,2,0.0,1.0,189782,1,0 +11828,1100105,47,1,2,0.0,5.0,184155,1,0 +11829,1100105,47,1,2,1.0,1.0,162095,1,0 +11830,1100105,47,1,2,1.0,1.0,162095,1,0 +11831,1100105,47,1,2,1.0,1.0,154339,1,0 +11832,1100105,47,1,2,0.0,7.0,169877,1,0 +11833,1100105,47,1,2,1.0,1.0,154622,1,0 +11834,1100105,47,1,2,1.0,1.0,154339,1,0 +11835,1100105,47,1,2,1.0,1.0,154339,1,0 +11836,1100105,47,1,2,0.0,1.0,177291,1,0 +11837,1100105,47,1,2,2.0,7.0,179873,1,0 +11838,1100105,47,1,2,1.0,1.0,169798,1,0 +11839,1100105,47,1,2,1.0,7.0,189782,1,0 +11840,1100105,47,1,2,1.0,7.0,189782,1,0 +11841,1100105,47,1,2,1.0,7.0,189782,1,0 +11842,1100105,47,1,2,0.0,1.0,159551,1,0 +11843,1100105,47,1,2,1.0,7.0,189782,1,0 +11844,1100105,47,1,2,1.0,1.0,153821,0,0 +11845,1100105,47,1,2,1.0,1.0,153821,0,0 +11846,1100105,47,1,2,2.0,1.0,159726,0,0 +11847,1100105,47,1,2,1.0,1.0,153821,0,0 +11848,1100105,47,1,2,2.0,7.0,190076,0,0 +11849,1100105,47,1,2,2.0,7.0,190076,0,0 +11850,1100105,47,1,2,1.0,5.0,126521,2,0 +11851,1100105,47,1,2,2.0,1.0,127349,2,0 +11852,1100105,47,1,2,1.0,5.0,120195,2,0 +11853,1100105,47,1,2,0.0,7.0,120769,2,0 +11854,1100105,47,1,2,1.0,5.0,117032,2,0 +11855,1100105,47,1,2,1.0,1.0,131793,2,0 +11856,1100105,47,1,2,1.0,5.0,103583,2,0 +11857,1100105,47,1,2,0.0,1.0,137064,2,0 +11858,1100105,47,1,2,0.0,1.0,137064,2,0 +11859,1100105,47,1,2,1.0,1.0,106375,2,0 +11860,1100105,47,1,2,1.0,5.0,124610,2,0 +11861,1100105,47,1,2,1.0,7.0,127408,2,0 +11862,1100105,47,1,2,2.0,7.0,130622,2,0 +11863,1100105,47,1,2,1.0,5.0,118844,2,0 +11864,1100105,47,1,2,2.0,7.0,130622,2,0 +11865,1100105,47,1,2,1.0,7.0,111249,2,0 +11866,1100105,47,1,2,1.0,7.0,144872,2,0 +11867,1100105,47,1,2,1.0,5.0,134904,2,0 +11868,1100105,47,1,2,1.0,5.0,118086,2,0 +11869,1100105,47,1,2,1.0,5.0,120558,2,0 +11870,1100105,47,1,2,0.0,5.0,124271,2,0 +11871,1100105,47,1,2,0.0,1.0,104001,2,0 +11872,1100105,47,1,2,0.0,7.0,112393,2,0 +11873,1100105,47,1,2,0.0,1.0,105997,2,0 +11874,1100105,47,1,2,2.0,7.0,141833,2,0 +11875,1100105,47,1,2,0.0,7.0,112393,2,0 +11876,1100105,47,1,2,0.0,7.0,119920,2,0 +11877,1100105,47,1,2,0.0,5.0,121299,2,0 +11878,1100105,47,1,2,0.0,5.0,124271,2,0 +11879,1100105,47,1,2,0.0,5.0,140820,2,0 +11880,1100105,47,1,2,1.0,1.0,133834,2,0 +11881,1100105,47,1,2,0.0,7.0,132587,2,0 +11882,1100105,47,1,2,1.0,5.0,128443,2,0 +11883,1100105,47,1,2,1.0,1.0,134658,2,0 +11884,1100105,47,1,2,0.0,5.0,121299,2,0 +11885,1100105,47,1,2,2.0,5.0,134658,2,0 +11886,1100105,47,1,2,1.0,7.0,117049,2,0 +11887,1100105,47,1,2,0.0,5.0,121299,2,0 +11888,1100105,47,1,2,1.0,7.0,103335,2,0 +11889,1100105,47,1,2,0.0,1.0,122056,2,0 +11890,1100105,47,1,2,1.0,7.0,108603,2,0 +11891,1100105,47,1,2,0.0,5.0,124271,2,0 +11892,1100105,47,1,2,2.0,7.0,148662,2,0 +11893,1100105,47,1,2,1.0,1.0,117032,2,0 +11894,1100105,47,1,2,1.0,7.0,145611,2,0 +11895,1100105,47,1,2,1.0,5.0,118086,2,0 +11896,1100105,47,1,2,2.0,3.0,143479,2,0 +11897,1100105,47,1,2,0.0,5.0,137781,2,0 +11898,1100105,47,1,2,1.0,5.0,137064,2,0 +11899,1100105,47,1,2,0.0,5.0,137781,2,0 +11900,1100105,47,1,2,1.0,1.0,134658,2,0 +11901,1100105,47,1,2,0.0,5.0,102784,2,0 +11902,1100105,47,1,2,2.0,5.0,117401,1,0 +11903,1100105,47,1,2,0.0,3.0,118532,1,0 +11904,1100105,47,1,2,0.0,1.0,118859,1,0 +11905,1100105,47,1,2,1.0,5.0,101083,1,0 +11906,1100105,47,1,2,2.0,1.0,114923,1,0 +11907,1100105,47,1,2,0.0,1.0,137046,1,0 +11908,1100105,47,1,2,1.0,7.0,149057,1,0 +11909,1100105,47,1,2,1.0,1.0,139807,1,0 +11910,1100105,47,1,2,0.0,7.0,103656,1,0 +11911,1100105,47,1,2,1.0,7.0,126521,1,0 +11912,1100105,47,1,2,1.0,7.0,126521,1,0 +11913,1100105,47,1,2,2.0,1.0,107067,1,0 +11914,1100105,47,1,2,0.0,1.0,126786,1,0 +11915,1100105,47,1,2,2.0,7.0,108401,1,0 +11916,1100105,47,1,2,0.0,1.0,105062,1,0 +11917,1100105,47,1,2,0.0,1.0,112920,1,0 +11918,1100105,47,1,2,1.0,1.0,105223,1,0 +11919,1100105,47,1,2,0.0,1.0,105062,1,0 +11920,1100105,47,1,2,2.0,7.0,108401,1,0 +11921,1100105,47,1,2,0.0,5.0,122304,1,0 +11922,1100105,47,1,2,0.0,5.0,122304,1,0 +11923,1100105,47,1,2,1.0,1.0,126339,1,0 +11924,1100105,47,1,2,1.0,1.0,126339,1,0 +11925,1100105,47,1,2,1.0,1.0,122382,0,0 +11926,1100105,47,1,2,1.0,1.0,121144,0,0 +11927,1100105,47,1,2,1.0,1.0,122382,0,0 +11928,1100105,47,1,2,1.0,1.0,122382,0,0 +11929,1100105,47,1,2,1.0,7.0,100900,0,0 +11930,1100105,47,1,2,1.0,1.0,91178,2,0 +11931,1100105,47,1,2,1.0,1.0,94891,2,0 +11932,1100105,47,1,2,0.0,5.0,69586,2,0 +11933,1100105,47,1,2,0.0,7.0,83838,2,0 +11934,1100105,47,1,2,2.0,7.0,89082,2,0 +11935,1100105,47,1,2,2.0,7.0,89082,2,0 +11936,1100105,47,1,2,1.0,5.0,82977,2,0 +11937,1100105,47,1,2,1.0,7.0,82458,2,0 +11938,1100105,47,1,2,1.0,7.0,89557,2,0 +11939,1100105,47,1,2,0.0,5.0,95511,2,0 +11940,1100105,47,1,2,0.0,5.0,95511,2,0 +11941,1100105,47,1,2,0.0,5.0,95511,2,0 +11942,1100105,47,1,2,1.0,7.0,82458,2,0 +11943,1100105,47,1,2,1.0,5.0,99108,2,0 +11944,1100105,47,1,2,1.0,5.0,58368,2,0 +11945,1100105,47,1,2,1.0,5.0,78205,2,0 +11946,1100105,47,1,2,0.0,5.0,58253,2,0 +11947,1100105,47,1,2,1.0,7.0,91178,2,0 +11948,1100105,47,1,2,1.0,5.0,78205,2,0 +11949,1100105,47,1,2,0.0,5.0,79593,2,0 +11950,1100105,47,1,2,1.0,7.0,96360,2,0 +11951,1100105,47,1,2,1.0,5.0,58368,2,0 +11952,1100105,47,1,2,1.0,5.0,85100,2,0 +11953,1100105,47,1,2,1.0,7.0,56971,2,0 +11954,1100105,47,1,2,0.0,7.0,90117,2,0 +11955,1100105,47,1,2,0.0,1.0,55935,2,0 +11956,1100105,47,1,2,1.0,7.0,91178,2,0 +11957,1100105,47,1,2,0.0,7.0,78565,2,0 +11958,1100105,47,1,2,0.0,5.0,78008,2,0 +11959,1100105,47,1,2,1.0,5.0,79021,2,0 +11960,1100105,47,1,2,1.0,5.0,64438,2,0 +11961,1100105,47,1,2,0.0,7.0,71103,2,0 +11962,1100105,47,1,2,0.0,5.0,74590,2,0 +11963,1100105,47,1,2,2.0,5.0,91178,2,0 +11964,1100105,47,1,2,2.0,5.0,91178,2,0 +11965,1100105,47,1,2,1.0,1.0,79041,2,0 +11966,1100105,47,1,2,0.0,5.0,74590,2,0 +11967,1100105,47,1,2,2.0,7.0,98404,2,0 +11968,1100105,47,1,2,2.0,7.0,98404,2,0 +11969,1100105,47,1,2,1.0,7.0,54899,1,0 +11970,1100105,47,1,2,1.0,7.0,54899,1,0 +11971,1100105,47,1,2,2.0,1.0,50756,1,0 +11972,1100105,47,1,2,2.0,1.0,50756,1,0 +11973,1100105,47,1,2,1.0,7.0,90739,1,0 +11974,1100105,47,1,2,1.0,7.0,90739,1,0 +11975,1100105,47,1,2,1.0,1.0,55502,1,0 +11976,1100105,47,1,2,1.0,1.0,55502,1,0 +11977,1100105,47,1,2,1.0,1.0,55502,1,0 +11978,1100105,47,1,2,1.0,1.0,55502,1,0 +11979,1100105,47,1,2,1.0,1.0,55502,1,0 +11980,1100105,47,1,2,1.0,1.0,55502,1,0 +11981,1100105,47,1,2,1.0,1.0,93225,1,0 +11982,1100105,47,1,2,0.0,1.0,98054,1,0 +11983,1100105,47,1,2,0.0,5.0,91649,1,0 +11984,1100105,47,1,2,0.0,5.0,91649,1,0 +11985,1100105,47,1,2,0.0,5.0,91649,1,0 +11986,1100105,47,1,2,1.0,7.0,54193,1,0 +11987,1100105,47,1,2,2.0,3.0,65851,1,0 +11988,1100105,47,1,2,0.0,5.0,83488,1,0 +11989,1100105,47,1,2,1.0,7.0,54193,1,0 +11990,1100105,47,1,2,1.0,3.0,95639,1,0 +11991,1100105,47,1,2,2.0,3.0,65851,1,0 +11992,1100105,47,1,2,1.0,7.0,54193,1,0 +11993,1100105,47,1,2,1.0,7.0,54193,1,0 +11994,1100105,47,1,2,1.0,7.0,84899,1,0 +11995,1100105,47,1,2,1.0,7.0,84899,1,0 +11996,1100105,47,1,2,1.0,5.0,80977,1,0 +11997,1100105,47,1,2,1.0,2.0,89152,1,0 +11998,1100105,47,1,2,0.0,1.0,66423,1,0 +11999,1100105,47,1,2,0.0,1.0,66423,1,0 +12000,1100105,47,1,2,0.0,7.0,53104,1,0 +12001,1100105,47,1,2,1.0,1.0,71952,1,0 +12002,1100105,47,1,2,2.0,3.0,71199,1,0 +12003,1100105,47,1,2,0.0,7.0,53104,1,0 +12004,1100105,47,1,2,1.0,1.0,88046,1,0 +12005,1100105,47,1,2,0.0,7.0,82364,1,0 +12006,1100105,47,1,2,1.0,1.0,69586,1,0 +12007,1100105,47,1,2,1.0,5.0,65340,1,0 +12008,1100105,47,1,2,0.0,7.0,75454,1,0 +12009,1100105,47,1,2,1.0,1.0,88046,1,0 +12010,1100105,47,1,2,0.0,5.0,51796,1,0 +12011,1100105,47,1,2,2.0,3.0,66423,1,0 +12012,1100105,47,1,2,0.0,5.0,51796,1,0 +12013,1100105,47,1,2,1.0,1.0,70041,1,0 +12014,1100105,47,1,2,1.0,1.0,88046,1,0 +12015,1100105,47,1,2,1.0,1.0,88046,1,0 +12016,1100105,47,1,2,0.0,5.0,51796,1,0 +12017,1100105,47,1,2,1.0,5.0,58887,1,0 +12018,1100105,47,1,2,1.0,1.0,88046,1,0 +12019,1100105,47,1,2,1.0,5.0,58887,1,0 +12020,1100105,47,1,2,1.0,5.0,65340,1,0 +12021,1100105,47,1,2,0.0,1.0,88667,1,0 +12022,1100105,47,1,2,0.0,1.0,65851,1,0 +12023,1100105,47,1,2,0.0,1.0,65851,1,0 +12024,1100105,47,1,2,0.0,1.0,65851,1,0 +12025,1100105,47,1,2,1.0,5.0,81831,1,0 +12026,1100105,47,1,2,0.0,1.0,64838,1,0 +12027,1100105,47,1,2,1.0,1.0,95289,0,0 +12028,1100105,47,1,2,1.0,1.0,95289,0,0 +12029,1100105,47,1,2,1.0,1.0,54720,0,0 +12030,1100105,47,1,2,1.0,1.0,99440,0,0 +12031,1100105,47,1,2,1.0,1.0,99440,0,0 +12032,1100105,47,1,2,1.0,1.0,93362,0,0 +12033,1100105,47,1,2,1.0,5.0,52355,0,0 +12034,1100105,47,1,2,0.0,7.0,33146,2,0 +12035,1100105,47,1,2,0.0,7.0,29003,2,0 +12036,1100105,47,1,2,0.0,7.0,27758,2,0 +12037,1100105,47,1,2,0.0,5.0,37956,2,0 +12038,1100105,47,1,2,0.0,5.0,37290,2,0 +12039,1100105,47,1,2,1.0,1.0,46095,1,0 +12040,1100105,47,1,2,0.0,7.0,47855,1,0 +12041,1100105,47,1,2,0.0,7.0,47855,1,0 +12042,1100105,47,1,2,0.0,7.0,33106,1,0 +12043,1100105,47,1,2,1.0,5.0,48180,1,0 +12044,1100105,47,1,2,1.0,5.0,25895,1,0 +12045,1100105,47,1,2,0.0,5.0,37473,1,0 +12046,1100105,47,1,2,0.0,7.0,25304,1,0 +12047,1100105,47,1,2,1.0,1.0,43041,1,0 +12048,1100105,47,1,2,0.0,7.0,48628,1,0 +12049,1100105,47,1,2,0.0,1.0,42469,0,0 +12050,1100105,47,1,2,0.0,1.0,28920,0,0 +12051,1100105,47,1,2,1.0,1.0,36066,0,0 +12052,1100105,47,1,2,0.0,1.0,28920,0,0 +12053,1100105,47,1,2,0.0,1.0,42469,0,0 +12054,1100105,47,1,2,1.0,7.0,31000,0,0 +12055,1100105,47,1,2,1.0,1.0,26948,0,0 +12056,1100105,47,1,2,1.0,1.0,26948,0,0 +12057,1100105,47,1,2,1.0,3.0,12741,1,0 +12058,1100105,47,1,2,0.0,2.0,10706,1,0 +12059,1100105,47,1,2,0.0,7.0,5306,1,0 +12060,1100105,47,1,2,1.0,5.0,23301,1,0 +12061,1100105,47,1,2,0.0,7.0,5074,1,0 +12062,1100105,47,1,2,0.0,5.0,10850,1,0 +12063,1100105,47,1,2,0.0,1.0,16661,0,0 +12064,1100105,47,1,2,0.0,3.0,20243,0,0 +12065,1100105,47,1,2,0.0,1.0,8565,0,0 +12066,1100105,47,1,2,0.0,7.0,4246,0,0 +12067,1100105,47,1,2,1.0,7.0,1519,0,0 +12068,1100105,47,1,2,1.0,7.0,21275,0,0 +12069,1100105,47,1,2,1.0,1.0,21224,0,0 +12070,1100105,47,1,1,1.0,4.0,288732,1,0 +12071,1100105,47,1,1,1.0,4.0,1080379,1,0 +12072,1100105,47,1,1,1.0,4.0,623131,1,0 +12073,1100105,47,1,1,1.0,4.0,1080379,1,0 +12074,1100105,47,1,1,1.0,6.0,414885,1,0 +12075,1100105,47,1,1,1.0,4.0,1080379,1,0 +12076,1100105,47,1,1,1.0,4.0,288732,1,0 +12077,1100105,47,1,1,1.0,4.0,288732,1,0 +12078,1100105,47,1,1,1.0,4.0,288732,1,0 +12079,1100105,47,1,1,0.0,4.0,771675,1,0 +12080,1100105,47,1,1,1.0,4.0,623131,1,0 +12081,1100105,47,1,1,1.0,6.0,676541,1,0 +12082,1100105,47,1,1,0.0,6.0,291070,1,0 +12083,1100105,47,1,1,1.0,4.0,269274,1,0 +12084,1100105,47,1,1,1.0,4.0,458456,1,0 +12085,1100105,47,1,1,0.0,6.0,291070,1,0 +12086,1100105,47,1,1,1.0,6.0,327625,1,0 +12087,1100105,47,1,1,0.0,6.0,291070,1,0 +12088,1100105,47,1,1,1.0,4.0,233012,1,0 +12089,1100105,47,1,1,1.0,4.0,233012,1,0 +12090,1100105,47,1,1,1.0,4.0,303929,1,0 +12091,1100105,47,1,1,0.0,4.0,329256,1,0 +12092,1100105,47,1,1,1.0,4.0,211993,1,0 +12093,1100105,47,1,1,2.0,4.0,212750,1,0 +12094,1100105,47,1,1,1.0,6.0,254698,1,0 +12095,1100105,47,1,1,1.0,4.0,213382,1,0 +12096,1100105,47,1,1,1.0,4.0,624416,1,0 +12097,1100105,47,1,1,1.0,6.0,421738,1,0 +12098,1100105,47,1,1,1.0,4.0,623131,1,0 +12099,1100105,47,1,1,1.0,4.0,488808,1,0 +12100,1100105,47,1,1,2.0,4.0,212750,1,0 +12101,1100105,47,1,1,0.0,4.0,414335,1,0 +12102,1100105,47,1,1,1.0,4.0,414335,1,0 +12103,1100105,47,1,1,0.0,6.0,254698,1,0 +12104,1100105,47,1,1,0.0,6.0,310751,1,0 +12105,1100105,47,1,1,0.0,4.0,257260,1,0 +12106,1100105,47,1,1,1.0,4.0,310751,1,0 +12107,1100105,47,1,1,1.0,4.0,212301,1,0 +12108,1100105,47,1,1,1.0,6.0,337707,1,0 +12109,1100105,47,1,1,1.0,4.0,267668,1,0 +12110,1100105,47,1,1,0.0,4.0,263586,1,0 +12111,1100105,47,1,1,0.0,4.0,677255,1,0 +12112,1100105,47,1,1,2.0,6.0,308994,1,0 +12113,1100105,47,1,1,0.0,4.0,233012,1,0 +12114,1100105,47,1,1,1.0,4.0,329357,1,0 +12115,1100105,47,1,1,1.0,4.0,233063,1,0 +12116,1100105,47,1,1,1.0,4.0,213382,1,0 +12117,1100105,47,1,1,1.0,6.0,231372,1,0 +12118,1100105,47,1,1,1.0,4.0,219514,1,0 +12119,1100105,47,1,1,1.0,6.0,421738,1,0 +12120,1100105,47,1,1,1.0,4.0,623131,1,0 +12121,1100105,47,1,1,1.0,4.0,623131,1,0 +12122,1100105,47,1,1,1.0,6.0,231372,1,0 +12123,1100105,47,1,1,0.0,4.0,207710,1,0 +12124,1100105,47,1,1,0.0,6.0,237469,1,0 +12125,1100105,47,1,1,1.0,4.0,228167,1,0 +12126,1100105,47,1,1,1.0,6.0,414438,1,0 +12127,1100105,47,1,1,0.0,6.0,202697,1,0 +12128,1100105,47,1,1,2.0,4.0,765455,1,0 +12129,1100105,47,1,1,1.0,6.0,210869,1,0 +12130,1100105,47,1,1,0.0,4.0,207710,1,0 +12131,1100105,47,1,1,1.0,4.0,299788,1,0 +12132,1100105,47,1,1,0.0,6.0,363701,1,0 +12133,1100105,47,1,1,1.0,6.0,326555,1,0 +12134,1100105,47,1,1,1.0,4.0,247665,1,0 +12135,1100105,47,1,1,1.0,4.0,237227,1,0 +12136,1100105,47,1,1,1.0,4.0,414335,1,0 +12137,1100105,47,1,1,0.0,4.0,233012,1,0 +12138,1100105,47,1,1,2.0,6.0,308994,1,0 +12139,1100105,47,1,1,0.0,4.0,717272,1,0 +12140,1100105,47,1,1,1.0,6.0,765484,1,0 +12141,1100105,47,1,1,0.0,4.0,329256,1,0 +12142,1100105,47,1,1,1.0,4.0,233063,1,0 +12143,1100105,47,1,1,1.0,4.0,768488,1,0 +12144,1100105,47,1,1,1.0,6.0,229156,1,0 +12145,1100105,47,1,1,0.0,6.0,254698,1,0 +12146,1100105,47,1,1,1.0,4.0,245146,1,0 +12147,1100105,47,1,1,1.0,4.0,623131,1,0 +12148,1100105,47,1,1,1.0,4.0,228167,1,0 +12149,1100105,47,1,1,0.0,6.0,325265,1,0 +12150,1100105,47,1,1,0.0,6.0,233012,1,0 +12151,1100105,47,1,1,1.0,4.0,228167,1,0 +12152,1100105,47,1,1,2.0,6.0,308994,1,0 +12153,1100105,47,1,1,1.0,4.0,247665,1,0 +12154,1100105,47,1,1,1.0,6.0,325253,1,0 +12155,1100105,47,1,1,0.0,4.0,207710,1,0 +12156,1100105,47,1,1,0.0,6.0,233012,1,0 +12157,1100105,47,1,1,1.0,4.0,624416,1,0 +12158,1100105,47,1,1,0.0,4.0,233012,1,0 +12159,1100105,47,1,1,0.0,6.0,204139,1,0 +12160,1100105,47,1,1,0.0,4.0,235569,1,0 +12161,1100105,47,1,1,1.0,6.0,456848,1,0 +12162,1100105,47,1,1,1.0,4.0,271843,1,0 +12163,1100105,47,1,1,0.0,6.0,215789,1,0 +12164,1100105,47,1,1,0.0,6.0,215789,1,0 +12165,1100105,47,1,1,1.0,6.0,278601,1,0 +12166,1100105,47,1,1,1.0,6.0,303929,1,0 +12167,1100105,47,1,1,1.0,4.0,210869,1,0 +12168,1100105,47,1,1,0.0,4.0,235569,1,0 +12169,1100105,47,1,1,1.0,6.0,456848,1,0 +12170,1100105,47,1,1,0.0,6.0,202619,1,0 +12171,1100105,47,1,1,0.0,6.0,202619,1,0 +12172,1100105,47,1,1,0.0,6.0,202619,1,0 +12173,1100105,47,1,1,1.0,4.0,200220,1,0 +12174,1100105,47,1,1,0.0,6.0,214134,1,0 +12175,1100105,47,1,1,1.0,6.0,243421,1,0 +12176,1100105,47,1,1,0.0,4.0,257923,1,0 +12177,1100105,47,1,1,1.0,6.0,243421,1,0 +12178,1100105,47,1,1,1.0,4.0,231897,1,0 +12179,1100105,47,1,1,0.0,6.0,204060,1,0 +12180,1100105,47,1,1,1.0,4.0,275562,1,0 +12181,1100105,47,1,1,1.0,4.0,215847,1,0 +12182,1100105,47,1,1,1.0,4.0,231897,1,0 +12183,1100105,47,1,1,0.0,4.0,257923,1,0 +12184,1100105,47,1,1,1.0,6.0,326847,1,0 +12185,1100105,47,1,1,0.0,4.0,257923,1,0 +12186,1100105,47,1,1,0.0,6.0,206131,1,0 +12187,1100105,47,1,1,0.0,6.0,238077,1,0 +12188,1100105,47,1,1,0.0,6.0,214134,1,0 +12189,1100105,47,1,1,0.0,6.0,307760,1,0 +12190,1100105,47,1,1,2.0,6.0,633388,0,0 +12191,1100105,47,1,1,2.0,6.0,633388,0,0 +12192,1100105,47,1,1,0.0,6.0,227136,0,0 +12193,1100105,47,1,1,1.0,4.0,450205,0,0 +12194,1100105,47,1,1,1.0,6.0,443036,0,0 +12195,1100105,47,1,1,1.0,4.0,204060,0,0 +12196,1100105,47,1,1,1.0,6.0,443036,0,0 +12197,1100105,47,1,1,0.0,6.0,445566,0,0 +12198,1100105,47,1,1,1.0,6.0,443036,0,0 +12199,1100105,47,1,1,1.0,6.0,429645,0,0 +12200,1100105,47,1,1,1.0,6.0,353393,0,0 +12201,1100105,47,1,1,0.0,6.0,505151,0,0 +12202,1100105,47,1,1,1.0,6.0,286927,0,0 +12203,1100105,47,1,1,0.0,6.0,165734,1,0 +12204,1100105,47,1,1,0.0,4.0,168484,1,0 +12205,1100105,47,1,1,0.0,6.0,165734,1,0 +12206,1100105,47,1,1,0.0,6.0,165734,1,0 +12207,1100105,47,1,1,0.0,6.0,165734,1,0 +12208,1100105,47,1,1,0.0,4.0,168484,1,0 +12209,1100105,47,1,1,0.0,6.0,165734,1,0 +12210,1100105,47,1,1,0.0,6.0,165734,1,0 +12211,1100105,47,1,1,6.0,4.0,180411,1,0 +12212,1100105,47,1,1,0.0,4.0,162896,1,0 +12213,1100105,47,1,1,6.0,4.0,180411,1,0 +12214,1100105,47,1,1,0.0,4.0,162896,1,0 +12215,1100105,47,1,1,0.0,4.0,162896,1,0 +12216,1100105,47,1,1,6.0,4.0,180411,1,0 +12217,1100105,47,1,1,0.0,4.0,193256,1,0 +12218,1100105,47,1,1,1.0,4.0,196809,1,0 +12219,1100105,47,1,1,0.0,6.0,192721,1,0 +12220,1100105,47,1,1,1.0,4.0,167161,1,0 +12221,1100105,47,1,1,1.0,4.0,175265,1,0 +12222,1100105,47,1,1,1.0,6.0,156570,1,0 +12223,1100105,47,1,1,1.0,4.0,164545,1,0 +12224,1100105,47,1,1,1.0,4.0,165610,1,0 +12225,1100105,47,1,1,1.0,6.0,171521,1,0 +12226,1100105,47,1,1,1.0,6.0,169798,1,0 +12227,1100105,47,1,1,1.0,6.0,176299,1,0 +12228,1100105,47,1,1,1.0,4.0,165610,1,0 +12229,1100105,47,1,1,1.0,4.0,176092,1,0 +12230,1100105,47,1,1,0.0,4.0,179238,1,0 +12231,1100105,47,1,1,0.0,6.0,150908,1,0 +12232,1100105,47,1,1,1.0,4.0,164492,1,0 +12233,1100105,47,1,1,0.0,6.0,158125,1,0 +12234,1100105,47,1,1,1.0,6.0,150745,1,0 +12235,1100105,47,1,1,0.0,4.0,189782,1,0 +12236,1100105,47,1,1,0.0,6.0,151964,1,0 +12237,1100105,47,1,1,1.0,6.0,171521,1,0 +12238,1100105,47,1,1,1.0,6.0,169798,1,0 +12239,1100105,47,1,1,0.0,4.0,150244,1,0 +12240,1100105,47,1,1,1.0,4.0,164492,1,0 +12241,1100105,47,1,1,1.0,4.0,152035,1,0 +12242,1100105,47,1,1,1.0,4.0,199580,1,0 +12243,1100105,47,1,1,1.0,4.0,156523,1,0 +12244,1100105,47,1,1,1.0,6.0,154339,1,0 +12245,1100105,47,1,1,1.0,4.0,199580,1,0 +12246,1100105,47,1,1,1.0,6.0,150196,1,0 +12247,1100105,47,1,1,1.0,6.0,162095,1,0 +12248,1100105,47,1,1,0.0,6.0,153990,1,0 +12249,1100105,47,1,1,1.0,4.0,165610,1,0 +12250,1100105,47,1,1,1.0,6.0,178802,1,0 +12251,1100105,47,1,1,1.0,6.0,176299,1,0 +12252,1100105,47,1,1,1.0,6.0,176299,1,0 +12253,1100105,47,1,1,1.0,6.0,165734,1,0 +12254,1100105,47,1,1,1.0,6.0,150196,1,0 +12255,1100105,47,1,1,0.0,6.0,155375,1,0 +12256,1100105,47,1,1,1.0,6.0,165734,1,0 +12257,1100105,47,1,1,1.0,4.0,163662,1,0 +12258,1100105,47,1,1,1.0,6.0,176299,1,0 +12259,1100105,47,1,1,1.0,6.0,154339,1,0 +12260,1100105,47,1,1,1.0,4.0,182610,1,0 +12261,1100105,47,1,1,1.0,4.0,159186,1,0 +12262,1100105,47,1,1,0.0,6.0,176092,1,0 +12263,1100105,47,1,1,1.0,4.0,182610,1,0 +12264,1100105,47,1,1,0.0,4.0,159056,1,0 +12265,1100105,47,1,1,0.0,6.0,180729,1,0 +12266,1100105,47,1,1,0.0,6.0,171307,1,0 +12267,1100105,47,1,1,1.0,6.0,186450,1,0 +12268,1100105,47,1,1,0.0,6.0,159186,1,0 +12269,1100105,47,1,1,0.0,6.0,167161,1,0 +12270,1100105,47,1,1,1.0,4.0,159186,1,0 +12271,1100105,47,1,1,0.0,4.0,180411,1,0 +12272,1100105,47,1,1,1.0,4.0,184510,1,0 +12273,1100105,47,1,1,1.0,4.0,184510,1,0 +12274,1100105,47,1,1,0.0,6.0,166703,1,0 +12275,1100105,47,1,1,0.0,6.0,159186,1,0 +12276,1100105,47,1,1,0.0,4.0,180650,1,0 +12277,1100105,47,1,1,0.0,6.0,162095,1,0 +12278,1100105,47,1,1,1.0,4.0,159187,1,0 +12279,1100105,47,1,1,1.0,6.0,157030,1,0 +12280,1100105,47,1,1,1.0,6.0,160787,1,0 +12281,1100105,47,1,1,1.0,6.0,161590,1,0 +12282,1100105,47,1,1,0.0,6.0,167161,1,0 +12283,1100105,47,1,1,0.0,4.0,151825,1,0 +12284,1100105,47,1,1,0.0,4.0,152880,1,0 +12285,1100105,47,1,1,0.0,4.0,175104,1,0 +12286,1100105,47,1,1,0.0,6.0,196809,1,0 +12287,1100105,47,1,1,0.0,4.0,174019,1,0 +12288,1100105,47,1,1,1.0,6.0,180411,1,0 +12289,1100105,47,1,1,0.0,6.0,177291,1,0 +12290,1100105,47,1,1,0.0,4.0,174019,1,0 +12291,1100105,47,1,1,0.0,4.0,152880,1,0 +12292,1100105,47,1,1,1.0,4.0,182401,1,0 +12293,1100105,47,1,1,1.0,6.0,188438,1,0 +12294,1100105,47,1,1,0.0,4.0,180650,1,0 +12295,1100105,47,1,1,1.0,6.0,157030,1,0 +12296,1100105,47,1,1,0.0,4.0,175104,1,0 +12297,1100105,47,1,1,0.0,4.0,196329,1,0 +12298,1100105,47,1,1,0.0,6.0,177291,1,0 +12299,1100105,47,1,1,1.0,4.0,191023,0,0 +12300,1100105,47,1,1,1.0,4.0,191023,0,0 +12301,1100105,47,1,1,1.0,4.0,183807,0,0 +12302,1100105,47,1,1,0.0,6.0,124383,1,0 +12303,1100105,47,1,1,1.0,6.0,134969,1,0 +12304,1100105,47,1,1,1.0,4.0,108762,1,0 +12305,1100105,47,1,1,0.0,6.0,140932,1,0 +12306,1100105,47,1,1,1.0,4.0,108762,1,0 +12307,1100105,47,1,1,0.0,6.0,140932,1,0 +12308,1100105,47,1,1,0.0,6.0,111671,1,0 +12309,1100105,47,1,1,0.0,4.0,104380,1,0 +12310,1100105,47,1,1,0.0,4.0,104380,1,0 +12311,1100105,47,1,1,0.0,6.0,111671,1,0 +12312,1100105,47,1,1,1.0,6.0,149894,1,0 +12313,1100105,47,1,1,1.0,4.0,127349,1,0 +12314,1100105,47,1,1,1.0,4.0,101512,1,0 +12315,1100105,47,1,1,1.0,4.0,101512,1,0 +12316,1100105,47,1,1,1.0,4.0,101512,1,0 +12317,1100105,47,1,1,1.0,4.0,127349,1,0 +12318,1100105,47,1,1,1.0,4.0,101512,1,0 +12319,1100105,47,1,1,1.0,4.0,103583,1,0 +12320,1100105,47,1,1,0.0,6.0,111430,1,0 +12321,1100105,47,1,1,1.0,4.0,127349,1,0 +12322,1100105,47,1,1,0.0,6.0,121193,1,0 +12323,1100105,47,1,1,0.0,4.0,103583,1,0 +12324,1100105,47,1,1,0.0,4.0,105434,1,0 +12325,1100105,47,1,1,0.0,4.0,143267,1,0 +12326,1100105,47,1,1,0.0,6.0,101309,1,0 +12327,1100105,47,1,1,1.0,6.0,124300,1,0 +12328,1100105,47,1,1,1.0,6.0,124300,1,0 +12329,1100105,47,1,1,1.0,4.0,123127,1,0 +12330,1100105,47,1,1,1.0,6.0,148573,1,0 +12331,1100105,47,1,1,0.0,4.0,113063,1,0 +12332,1100105,47,1,1,0.0,6.0,128480,1,0 +12333,1100105,47,1,1,0.0,4.0,100817,1,0 +12334,1100105,47,1,1,1.0,6.0,123127,1,0 +12335,1100105,47,1,1,1.0,4.0,103583,1,0 +12336,1100105,47,1,1,1.0,6.0,140083,1,0 +12337,1100105,47,1,1,0.0,6.0,139187,1,0 +12338,1100105,47,1,1,1.0,6.0,105434,1,0 +12339,1100105,47,1,1,1.0,4.0,106177,1,0 +12340,1100105,47,1,1,0.0,4.0,127349,1,0 +12341,1100105,47,1,1,0.0,4.0,117032,1,0 +12342,1100105,47,1,1,0.0,4.0,126521,1,0 +12343,1100105,47,1,1,0.0,6.0,107067,1,0 +12344,1100105,47,1,1,0.0,4.0,106124,1,0 +12345,1100105,47,1,1,0.0,6.0,107727,1,0 +12346,1100105,47,1,1,0.0,6.0,107727,1,0 +12347,1100105,47,1,1,0.0,4.0,106375,1,0 +12348,1100105,47,1,1,1.0,4.0,139187,1,0 +12349,1100105,47,1,1,1.0,6.0,100373,1,0 +12350,1100105,47,1,1,0.0,6.0,101309,1,0 +12351,1100105,47,1,1,1.0,6.0,137961,1,0 +12352,1100105,47,1,1,1.0,6.0,124610,1,0 +12353,1100105,47,1,1,1.0,6.0,136900,1,0 +12354,1100105,47,1,1,0.0,4.0,111440,1,0 +12355,1100105,47,1,1,0.0,6.0,134658,1,0 +12356,1100105,47,1,1,0.0,6.0,133834,1,0 +12357,1100105,47,1,1,1.0,4.0,123358,1,0 +12358,1100105,47,1,1,1.0,6.0,140083,1,0 +12359,1100105,47,1,1,0.0,6.0,115493,1,0 +12360,1100105,47,1,1,1.0,6.0,129684,1,0 +12361,1100105,47,1,1,0.0,6.0,133834,1,0 +12362,1100105,47,1,1,1.0,4.0,109307,1,0 +12363,1100105,47,1,1,1.0,6.0,102809,1,0 +12364,1100105,47,1,1,1.0,6.0,128480,1,0 +12365,1100105,47,1,1,0.0,6.0,107727,1,0 +12366,1100105,47,1,1,0.0,4.0,131743,1,0 +12367,1100105,47,1,1,0.0,4.0,139838,1,0 +12368,1100105,47,1,1,1.0,6.0,124610,1,0 +12369,1100105,47,1,1,0.0,6.0,126637,1,0 +12370,1100105,47,1,1,0.0,6.0,129479,1,0 +12371,1100105,47,1,1,1.0,6.0,129684,1,0 +12372,1100105,47,1,1,0.0,6.0,101309,1,0 +12373,1100105,47,1,1,0.0,6.0,107727,1,0 +12374,1100105,47,1,1,1.0,4.0,101309,1,0 +12375,1100105,47,1,1,0.0,4.0,126521,1,0 +12376,1100105,47,1,1,1.0,6.0,124610,1,0 +12377,1100105,47,1,1,1.0,6.0,103583,1,0 +12378,1100105,47,1,1,0.0,4.0,103325,1,0 +12379,1100105,47,1,1,1.0,4.0,113942,1,0 +12380,1100105,47,1,1,1.0,4.0,123358,1,0 +12381,1100105,47,1,1,0.0,6.0,124300,1,0 +12382,1100105,47,1,1,1.0,6.0,129684,1,0 +12383,1100105,47,1,1,0.0,4.0,131743,1,0 +12384,1100105,47,1,1,0.0,4.0,126416,1,0 +12385,1100105,47,1,1,0.0,4.0,127349,1,0 +12386,1100105,47,1,1,1.0,6.0,136768,1,0 +12387,1100105,47,1,1,1.0,6.0,148573,1,0 +12388,1100105,47,1,1,1.0,4.0,143728,1,0 +12389,1100105,47,1,1,1.0,4.0,146682,1,0 +12390,1100105,47,1,1,0.0,6.0,134658,1,0 +12391,1100105,47,1,1,1.0,4.0,138802,1,0 +12392,1100105,47,1,1,1.0,4.0,108762,1,0 +12393,1100105,47,1,1,1.0,6.0,141833,1,0 +12394,1100105,47,1,1,0.0,4.0,134658,1,0 +12395,1100105,47,1,1,0.0,6.0,124300,1,0 +12396,1100105,47,1,1,1.0,6.0,139187,1,0 +12397,1100105,47,1,1,0.0,4.0,111135,1,0 +12398,1100105,47,1,1,0.0,6.0,107067,1,0 +12399,1100105,47,1,1,0.0,4.0,116506,1,0 +12400,1100105,47,1,1,1.0,4.0,107067,1,0 +12401,1100105,47,1,1,0.0,4.0,128568,1,0 +12402,1100105,47,1,1,1.0,6.0,139173,1,0 +12403,1100105,47,1,1,1.0,4.0,146682,1,0 +12404,1100105,47,1,1,1.0,4.0,105593,1,0 +12405,1100105,47,1,1,1.0,6.0,123127,1,0 +12406,1100105,47,1,1,1.0,6.0,116810,1,0 +12407,1100105,47,1,1,0.0,6.0,107727,1,0 +12408,1100105,47,1,1,0.0,6.0,103583,1,0 +12409,1100105,47,1,1,1.0,6.0,123127,1,0 +12410,1100105,47,1,1,1.0,4.0,137064,1,0 +12411,1100105,47,1,1,0.0,6.0,115493,1,0 +12412,1100105,47,1,1,1.0,4.0,105434,1,0 +12413,1100105,47,1,1,0.0,4.0,120981,1,0 +12414,1100105,47,1,1,1.0,6.0,144540,1,0 +12415,1100105,47,1,1,0.0,6.0,133834,1,0 +12416,1100105,47,1,1,0.0,6.0,101309,1,0 +12417,1100105,47,1,1,0.0,6.0,115493,1,0 +12418,1100105,47,1,1,1.0,4.0,126521,1,0 +12419,1100105,47,1,1,1.0,6.0,121249,1,0 +12420,1100105,47,1,1,0.0,6.0,148823,1,0 +12421,1100105,47,1,1,2.0,4.0,113466,1,0 +12422,1100105,47,1,1,1.0,4.0,138802,1,0 +12423,1100105,47,1,1,0.0,6.0,129684,1,0 +12424,1100105,47,1,1,1.0,4.0,105434,1,0 +12425,1100105,47,1,1,1.0,6.0,124610,1,0 +12426,1100105,47,1,1,0.0,4.0,100817,1,0 +12427,1100105,47,1,1,0.0,6.0,117774,1,0 +12428,1100105,47,1,1,0.0,6.0,101309,1,0 +12429,1100105,47,1,1,0.0,6.0,101309,1,0 +12430,1100105,47,1,1,1.0,4.0,111760,1,0 +12431,1100105,47,1,1,1.0,4.0,111760,1,0 +12432,1100105,47,1,1,1.0,4.0,130407,1,0 +12433,1100105,47,1,1,0.0,4.0,101217,1,0 +12434,1100105,47,1,1,0.0,6.0,123104,1,0 +12435,1100105,47,1,1,0.0,6.0,117774,1,0 +12436,1100105,47,1,1,0.0,4.0,101217,1,0 +12437,1100105,47,1,1,1.0,4.0,111760,1,0 +12438,1100105,47,1,1,0.0,4.0,105362,1,0 +12439,1100105,47,1,1,1.0,6.0,106375,1,0 +12440,1100105,47,1,1,1.0,4.0,124818,1,0 +12441,1100105,47,1,1,0.0,4.0,136768,1,0 +12442,1100105,47,1,1,0.0,4.0,111430,1,0 +12443,1100105,47,1,1,0.0,6.0,108597,1,0 +12444,1100105,47,1,1,0.0,6.0,108597,1,0 +12445,1100105,47,1,1,1.0,4.0,101217,1,0 +12446,1100105,47,1,1,0.0,4.0,111430,1,0 +12447,1100105,47,1,1,0.0,4.0,117774,1,0 +12448,1100105,47,1,1,0.0,4.0,119121,1,0 +12449,1100105,47,1,1,0.0,4.0,114562,1,0 +12450,1100105,47,1,1,1.0,4.0,114614,1,0 +12451,1100105,47,1,1,0.0,6.0,105434,1,0 +12452,1100105,47,1,1,0.0,6.0,119915,1,0 +12453,1100105,47,1,1,1.0,4.0,131905,1,0 +12454,1100105,47,1,1,0.0,6.0,125322,1,0 +12455,1100105,47,1,1,1.0,4.0,145017,1,0 +12456,1100105,47,1,1,1.0,6.0,111430,1,0 +12457,1100105,47,1,1,1.0,4.0,131702,1,0 +12458,1100105,47,1,1,1.0,4.0,116703,1,0 +12459,1100105,47,1,1,0.0,6.0,116736,1,0 +12460,1100105,47,1,1,1.0,6.0,105686,1,0 +12461,1100105,47,1,1,1.0,4.0,111430,1,0 +12462,1100105,47,1,1,0.0,4.0,121571,1,0 +12463,1100105,47,1,1,1.0,4.0,131702,1,0 +12464,1100105,47,1,1,0.0,4.0,116506,1,0 +12465,1100105,47,1,1,0.0,6.0,101309,1,0 +12466,1100105,47,1,1,0.0,6.0,104516,1,0 +12467,1100105,47,1,1,1.0,6.0,113869,1,0 +12468,1100105,47,1,1,0.0,4.0,122228,1,0 +12469,1100105,47,1,1,0.0,6.0,122056,1,0 +12470,1100105,47,1,1,1.0,4.0,116703,1,0 +12471,1100105,47,1,1,1.0,4.0,108401,1,0 +12472,1100105,47,1,1,0.0,6.0,131702,1,0 +12473,1100105,47,1,1,1.0,4.0,116703,1,0 +12474,1100105,47,1,1,0.0,6.0,131702,1,0 +12475,1100105,47,1,1,0.0,4.0,111430,1,0 +12476,1100105,47,1,1,0.0,6.0,134658,1,0 +12477,1100105,47,1,1,1.0,4.0,131702,1,0 +12478,1100105,47,1,1,1.0,4.0,121774,1,0 +12479,1100105,47,1,1,1.0,4.0,131702,1,0 +12480,1100105,47,1,1,0.0,6.0,122228,1,0 +12481,1100105,47,1,1,0.0,4.0,106124,1,0 +12482,1100105,47,1,1,1.0,4.0,121774,1,0 +12483,1100105,47,1,1,1.0,6.0,105686,1,0 +12484,1100105,47,1,1,0.0,6.0,113770,1,0 +12485,1100105,47,1,1,0.0,4.0,111430,1,0 +12486,1100105,47,1,1,0.0,4.0,108246,1,0 +12487,1100105,47,1,1,1.0,4.0,116703,1,0 +12488,1100105,47,1,1,0.0,6.0,148573,1,0 +12489,1100105,47,1,1,1.0,4.0,103335,1,0 +12490,1100105,47,1,1,0.0,6.0,116736,1,0 +12491,1100105,47,1,1,0.0,4.0,142945,1,0 +12492,1100105,47,1,1,1.0,4.0,116703,1,0 +12493,1100105,47,1,1,0.0,4.0,108762,1,0 +12494,1100105,47,1,1,0.0,6.0,100643,1,0 +12495,1100105,47,1,1,1.0,6.0,108762,1,0 +12496,1100105,47,1,1,0.0,6.0,108597,1,0 +12497,1100105,47,1,1,1.0,4.0,116703,1,0 +12498,1100105,47,1,1,0.0,4.0,106124,1,0 +12499,1100105,47,1,1,1.0,4.0,131905,1,0 +12500,1100105,47,1,1,0.0,4.0,143391,1,0 +12501,1100105,47,1,1,0.0,6.0,102784,1,0 +12502,1100105,47,1,1,0.0,6.0,111339,1,0 +12503,1100105,47,1,1,0.0,6.0,108597,1,0 +12504,1100105,47,1,1,1.0,6.0,106124,1,0 +12505,1100105,47,1,1,1.0,6.0,123127,1,0 +12506,1100105,47,1,1,0.0,6.0,117681,1,0 +12507,1100105,47,1,1,1.0,4.0,145017,1,0 +12508,1100105,47,1,1,0.0,4.0,103325,1,0 +12509,1100105,47,1,1,0.0,6.0,114479,1,0 +12510,1100105,47,1,1,1.0,6.0,108762,1,0 +12511,1100105,47,1,1,0.0,6.0,125322,1,0 +12512,1100105,47,1,1,1.0,6.0,123127,1,0 +12513,1100105,47,1,1,1.0,4.0,111430,1,0 +12514,1100105,47,1,1,0.0,6.0,131702,1,0 +12515,1100105,47,1,1,0.0,4.0,131793,1,0 +12516,1100105,47,1,1,0.0,4.0,106124,1,0 +12517,1100105,47,1,1,0.0,6.0,120157,1,0 +12518,1100105,47,1,1,2.0,4.0,108597,1,0 +12519,1100105,47,1,1,0.0,6.0,102784,1,0 +12520,1100105,47,1,1,1.0,6.0,149894,1,0 +12521,1100105,47,1,1,0.0,6.0,131702,1,0 +12522,1100105,47,1,1,1.0,6.0,111430,1,0 +12523,1100105,47,1,1,0.0,6.0,101713,1,0 +12524,1100105,47,1,1,0.0,6.0,100476,1,0 +12525,1100105,47,1,1,0.0,4.0,101309,1,0 +12526,1100105,47,1,1,0.0,4.0,101309,1,0 +12527,1100105,47,1,1,0.0,6.0,120157,1,0 +12528,1100105,47,1,1,0.0,4.0,108907,1,0 +12529,1100105,47,1,1,0.0,4.0,142399,1,0 +12530,1100105,47,1,1,1.0,4.0,107727,1,0 +12531,1100105,47,1,1,0.0,4.0,108907,1,0 +12532,1100105,47,1,1,1.0,4.0,117519,0,0 +12533,1100105,47,1,1,1.0,4.0,109307,0,0 +12534,1100105,47,1,1,1.0,6.0,131551,0,0 +12535,1100105,47,1,1,0.0,6.0,122483,0,0 +12536,1100105,47,1,1,2.0,6.0,128865,0,0 +12537,1100105,47,1,1,0.0,4.0,112502,0,0 +12538,1100105,47,1,1,1.0,4.0,117519,0,0 +12539,1100105,47,1,1,0.0,4.0,103471,0,0 +12540,1100105,47,1,1,1.0,6.0,101005,0,0 +12541,1100105,47,1,1,1.0,6.0,126372,0,0 +12542,1100105,47,1,1,0.0,4.0,124610,0,0 +12543,1100105,47,1,1,0.0,6.0,61528,1,0 +12544,1100105,47,1,1,0.0,4.0,81184,1,0 +12545,1100105,47,1,1,1.0,4.0,52998,1,0 +12546,1100105,47,1,1,1.0,4.0,74732,1,0 +12547,1100105,47,1,1,1.0,4.0,54604,1,0 +12548,1100105,47,1,1,1.0,6.0,82441,1,0 +12549,1100105,47,1,1,1.0,6.0,82441,1,0 +12550,1100105,47,1,1,0.0,6.0,87227,1,0 +12551,1100105,47,1,1,0.0,4.0,65775,1,0 +12552,1100105,47,1,1,0.0,6.0,81831,1,0 +12553,1100105,47,1,1,1.0,4.0,86703,1,0 +12554,1100105,47,1,1,1.0,4.0,86703,1,0 +12555,1100105,47,1,1,0.0,4.0,65775,1,0 +12556,1100105,47,1,1,1.0,4.0,66433,1,0 +12557,1100105,47,1,1,1.0,4.0,52998,1,0 +12558,1100105,47,1,1,1.0,4.0,54604,1,0 +12559,1100105,47,1,1,1.0,4.0,86703,1,0 +12560,1100105,47,1,1,0.0,6.0,87227,1,0 +12561,1100105,47,1,1,0.0,6.0,87227,1,0 +12562,1100105,47,1,1,1.0,6.0,61135,1,0 +12563,1100105,47,1,1,0.0,4.0,65775,1,0 +12564,1100105,47,1,1,0.0,4.0,99272,1,0 +12565,1100105,47,1,1,0.0,4.0,99272,1,0 +12566,1100105,47,1,1,0.0,4.0,99272,1,0 +12567,1100105,47,1,1,0.0,4.0,99272,1,0 +12568,1100105,47,1,1,0.0,6.0,88645,1,0 +12569,1100105,47,1,1,0.0,4.0,99272,1,0 +12570,1100105,47,1,1,1.0,4.0,81047,1,0 +12571,1100105,47,1,1,1.0,6.0,75982,1,0 +12572,1100105,47,1,1,1.0,6.0,57989,1,0 +12573,1100105,47,1,1,1.0,4.0,63825,1,0 +12574,1100105,47,1,1,1.0,6.0,87010,1,0 +12575,1100105,47,1,1,1.0,6.0,57989,1,0 +12576,1100105,47,1,1,0.0,6.0,79241,1,0 +12577,1100105,47,1,1,0.0,4.0,91728,1,0 +12578,1100105,47,1,1,1.0,6.0,69593,1,0 +12579,1100105,47,1,1,0.0,6.0,72222,1,0 +12580,1100105,47,1,1,1.0,4.0,84899,1,0 +12581,1100105,47,1,1,0.0,4.0,81371,1,0 +12582,1100105,47,1,1,0.0,4.0,76017,1,0 +12583,1100105,47,1,1,1.0,4.0,83985,1,0 +12584,1100105,47,1,1,0.0,4.0,98695,1,0 +12585,1100105,47,1,1,0.0,6.0,95511,1,0 +12586,1100105,47,1,1,1.0,4.0,82867,1,0 +12587,1100105,47,1,1,1.0,6.0,58887,1,0 +12588,1100105,47,1,1,0.0,6.0,88865,1,0 +12589,1100105,47,1,1,1.0,4.0,74947,1,0 +12590,1100105,47,1,1,0.0,6.0,81047,1,0 +12591,1100105,47,1,1,0.0,6.0,89619,1,0 +12592,1100105,47,1,1,1.0,6.0,95075,1,0 +12593,1100105,47,1,1,1.0,6.0,51364,1,0 +12594,1100105,47,1,1,1.0,4.0,74947,1,0 +12595,1100105,47,1,1,0.0,4.0,76017,1,0 +12596,1100105,47,1,1,1.0,6.0,50654,1,0 +12597,1100105,47,1,1,1.0,6.0,51364,1,0 +12598,1100105,47,1,1,1.0,4.0,74947,1,0 +12599,1100105,47,1,1,1.0,6.0,93225,1,0 +12600,1100105,47,1,1,0.0,6.0,79593,1,0 +12601,1100105,47,1,1,0.0,6.0,90117,1,0 +12602,1100105,47,1,1,0.0,6.0,75982,1,0 +12603,1100105,47,1,1,1.0,4.0,82867,1,0 +12604,1100105,47,1,1,1.0,4.0,83985,1,0 +12605,1100105,47,1,1,1.0,4.0,93432,1,0 +12606,1100105,47,1,1,1.0,6.0,60785,1,0 +12607,1100105,47,1,1,0.0,6.0,63674,1,0 +12608,1100105,47,1,1,0.0,6.0,95511,1,0 +12609,1100105,47,1,1,0.0,4.0,94922,1,0 +12610,1100105,47,1,1,1.0,4.0,70436,1,0 +12611,1100105,47,1,1,1.0,4.0,77501,1,0 +12612,1100105,47,1,1,1.0,6.0,51364,1,0 +12613,1100105,47,1,1,0.0,6.0,55237,1,0 +12614,1100105,47,1,1,1.0,6.0,70641,1,0 +12615,1100105,47,1,1,1.0,6.0,96244,1,0 +12616,1100105,47,1,1,1.0,4.0,77501,1,0 +12617,1100105,47,1,1,1.0,4.0,84899,1,0 +12618,1100105,47,1,1,1.0,4.0,93432,1,0 +12619,1100105,47,1,1,1.0,4.0,94450,1,0 +12620,1100105,47,1,1,0.0,6.0,88865,1,0 +12621,1100105,47,1,1,1.0,6.0,95075,1,0 +12622,1100105,47,1,1,0.0,4.0,72942,1,0 +12623,1100105,47,1,1,0.0,4.0,81371,1,0 +12624,1100105,47,1,1,1.0,4.0,94891,1,0 +12625,1100105,47,1,1,1.0,4.0,98270,1,0 +12626,1100105,47,1,1,1.0,6.0,54707,1,0 +12627,1100105,47,1,1,1.0,6.0,74947,1,0 +12628,1100105,47,1,1,0.0,6.0,95511,1,0 +12629,1100105,47,1,1,1.0,6.0,63186,1,0 +12630,1100105,47,1,1,1.0,6.0,51791,1,0 +12631,1100105,47,1,1,1.0,6.0,93225,1,0 +12632,1100105,47,1,1,0.0,6.0,89619,1,0 +12633,1100105,47,1,1,0.0,6.0,89619,1,0 +12634,1100105,47,1,1,1.0,4.0,61028,1,0 +12635,1100105,47,1,1,0.0,4.0,75982,1,0 +12636,1100105,47,1,1,0.0,6.0,79593,1,0 +12637,1100105,47,1,1,0.0,6.0,79593,1,0 +12638,1100105,47,1,1,0.0,6.0,71929,1,0 +12639,1100105,47,1,1,1.0,4.0,61028,1,0 +12640,1100105,47,1,1,1.0,6.0,90165,1,0 +12641,1100105,47,1,1,1.0,4.0,90165,1,0 +12642,1100105,47,1,1,1.0,4.0,90165,1,0 +12643,1100105,47,1,1,0.0,6.0,95289,1,0 +12644,1100105,47,1,1,1.0,6.0,90523,1,0 +12645,1100105,47,1,1,0.0,6.0,96022,1,0 +12646,1100105,47,1,1,0.0,4.0,74580,1,0 +12647,1100105,47,1,1,0.0,6.0,75982,1,0 +12648,1100105,47,1,1,0.0,6.0,96022,1,0 +12649,1100105,47,1,1,1.0,4.0,90205,1,0 +12650,1100105,47,1,1,0.0,4.0,74580,1,0 +12651,1100105,47,1,1,0.0,6.0,75982,1,0 +12652,1100105,47,1,1,0.0,6.0,95289,1,0 +12653,1100105,47,1,1,1.0,4.0,64525,1,0 +12654,1100105,47,1,1,1.0,4.0,55720,1,0 +12655,1100105,47,1,1,1.0,4.0,73804,1,0 +12656,1100105,47,1,1,1.0,6.0,84347,1,0 +12657,1100105,47,1,1,1.0,6.0,62150,1,0 +12658,1100105,47,1,1,0.0,4.0,66423,1,0 +12659,1100105,47,1,1,1.0,6.0,62150,1,0 +12660,1100105,47,1,1,1.0,6.0,96360,1,0 +12661,1100105,47,1,1,1.0,6.0,88046,1,0 +12662,1100105,47,1,1,0.0,4.0,66423,1,0 +12663,1100105,47,1,1,0.0,6.0,75982,1,0 +12664,1100105,47,1,1,1.0,6.0,62150,1,0 +12665,1100105,47,1,1,1.0,4.0,69182,1,0 +12666,1100105,47,1,1,0.0,6.0,79593,1,0 +12667,1100105,47,1,1,0.0,6.0,93836,1,0 +12668,1100105,47,1,1,1.0,6.0,87010,1,0 +12669,1100105,47,1,1,1.0,6.0,96360,1,0 +12670,1100105,47,1,1,1.0,6.0,88046,1,0 +12671,1100105,47,1,1,1.0,6.0,96360,1,0 +12672,1100105,47,1,1,0.0,4.0,90205,1,0 +12673,1100105,47,1,1,0.0,4.0,62099,1,0 +12674,1100105,47,1,1,0.0,6.0,75982,1,0 +12675,1100105,47,1,1,0.0,6.0,70612,1,0 +12676,1100105,47,1,1,1.0,4.0,69182,1,0 +12677,1100105,47,1,1,1.0,6.0,88046,1,0 +12678,1100105,47,1,1,1.0,6.0,88046,1,0 +12679,1100105,47,1,1,1.0,6.0,96360,1,0 +12680,1100105,47,1,1,1.0,6.0,96360,1,0 +12681,1100105,47,1,1,1.0,6.0,96360,1,0 +12682,1100105,47,1,1,0.0,4.0,62099,1,0 +12683,1100105,47,1,1,0.0,6.0,75982,1,0 +12684,1100105,47,1,1,0.0,6.0,75982,1,0 +12685,1100105,47,1,1,1.0,6.0,97368,1,0 +12686,1100105,47,1,1,0.0,6.0,90165,1,0 +12687,1100105,47,1,1,1.0,6.0,96360,1,0 +12688,1100105,47,1,1,0.0,6.0,79593,1,0 +12689,1100105,47,1,1,0.0,6.0,58017,1,0 +12690,1100105,47,1,1,0.0,6.0,97644,1,0 +12691,1100105,47,1,1,0.0,6.0,68532,1,0 +12692,1100105,47,1,1,1.0,4.0,96360,1,0 +12693,1100105,47,1,1,0.0,6.0,57989,1,0 +12694,1100105,47,1,1,0.0,6.0,68532,1,0 +12695,1100105,47,1,1,0.0,4.0,74947,1,0 +12696,1100105,47,1,1,1.0,6.0,61152,1,0 +12697,1100105,47,1,1,1.0,6.0,87328,1,0 +12698,1100105,47,1,1,1.0,6.0,58368,1,0 +12699,1100105,47,1,1,1.0,4.0,50939,1,0 +12700,1100105,47,1,1,0.0,4.0,75912,1,0 +12701,1100105,47,1,1,0.0,6.0,97644,1,0 +12702,1100105,47,1,1,0.0,4.0,76652,1,0 +12703,1100105,47,1,1,0.0,6.0,97644,1,0 +12704,1100105,47,1,1,1.0,6.0,64240,1,0 +12705,1100105,47,1,1,0.0,6.0,73804,1,0 +12706,1100105,47,1,1,0.0,6.0,99756,1,0 +12707,1100105,47,1,1,1.0,6.0,60785,1,0 +12708,1100105,47,1,1,0.0,6.0,81047,1,0 +12709,1100105,47,1,1,1.0,6.0,79075,1,0 +12710,1100105,47,1,1,1.0,6.0,98404,1,0 +12711,1100105,47,1,1,1.0,6.0,62812,1,0 +12712,1100105,47,1,1,0.0,4.0,50939,1,0 +12713,1100105,47,1,1,0.0,6.0,72222,1,0 +12714,1100105,47,1,1,0.0,6.0,74947,1,0 +12715,1100105,47,1,1,1.0,4.0,89144,1,0 +12716,1100105,47,1,1,0.0,6.0,75616,1,0 +12717,1100105,47,1,1,1.0,6.0,54604,1,0 +12718,1100105,47,1,1,1.0,6.0,75982,1,0 +12719,1100105,47,1,1,0.0,6.0,72942,1,0 +12720,1100105,47,1,1,0.0,6.0,70916,1,0 +12721,1100105,47,1,1,0.0,4.0,79593,1,0 +12722,1100105,47,1,1,0.0,6.0,80300,1,0 +12723,1100105,47,1,1,0.0,4.0,84347,1,0 +12724,1100105,47,1,1,1.0,4.0,68980,1,0 +12725,1100105,47,1,1,0.0,6.0,76967,1,0 +12726,1100105,47,1,1,0.0,6.0,52717,1,0 +12727,1100105,47,1,1,1.0,6.0,96332,1,0 +12728,1100105,47,1,1,1.0,6.0,84347,1,0 +12729,1100105,47,1,1,0.0,4.0,53533,1,0 +12730,1100105,47,1,1,1.0,6.0,64325,1,0 +12731,1100105,47,1,1,0.0,6.0,57746,1,0 +12732,1100105,47,1,1,0.0,6.0,70878,1,0 +12733,1100105,47,1,1,1.0,4.0,88342,1,0 +12734,1100105,47,1,1,0.0,6.0,96332,1,0 +12735,1100105,47,1,1,1.0,6.0,92189,1,0 +12736,1100105,47,1,1,0.0,4.0,64315,1,0 +12737,1100105,47,1,1,0.0,6.0,61798,1,0 +12738,1100105,47,1,1,1.0,6.0,55674,1,0 +12739,1100105,47,1,1,1.0,4.0,89936,1,0 +12740,1100105,47,1,1,1.0,6.0,85960,1,0 +12741,1100105,47,1,1,0.0,4.0,52717,1,0 +12742,1100105,47,1,1,0.0,4.0,94891,1,0 +12743,1100105,47,1,1,1.0,6.0,53863,1,0 +12744,1100105,47,1,1,0.0,4.0,84347,1,0 +12745,1100105,47,1,1,0.0,6.0,96332,1,0 +12746,1100105,47,1,1,1.0,6.0,62978,1,0 +12747,1100105,47,1,1,1.0,4.0,92189,1,0 +12748,1100105,47,1,1,1.0,6.0,64240,1,0 +12749,1100105,47,1,1,0.0,6.0,67329,1,0 +12750,1100105,47,1,1,1.0,4.0,98404,1,0 +12751,1100105,47,1,1,0.0,4.0,74286,1,0 +12752,1100105,47,1,1,0.0,6.0,52717,1,0 +12753,1100105,47,1,1,1.0,6.0,99388,1,0 +12754,1100105,47,1,1,0.0,4.0,64315,1,0 +12755,1100105,47,1,1,0.0,6.0,94891,1,0 +12756,1100105,47,1,1,1.0,6.0,91178,1,0 +12757,1100105,47,1,1,0.0,6.0,52681,1,0 +12758,1100105,47,1,1,0.0,6.0,54608,1,0 +12759,1100105,47,1,1,1.0,6.0,62154,1,0 +12760,1100105,47,1,1,0.0,4.0,52717,1,0 +12761,1100105,47,1,1,1.0,4.0,69829,1,0 +12762,1100105,47,1,1,1.0,6.0,99388,1,0 +12763,1100105,47,1,1,0.0,6.0,56245,1,0 +12764,1100105,47,1,1,0.0,4.0,77687,1,0 +12765,1100105,47,1,1,0.0,6.0,80300,1,0 +12766,1100105,47,1,1,0.0,4.0,64315,1,0 +12767,1100105,47,1,1,1.0,4.0,88046,1,0 +12768,1100105,47,1,1,0.0,6.0,89152,1,0 +12769,1100105,47,1,1,0.0,6.0,54707,1,0 +12770,1100105,47,1,1,1.0,6.0,60785,1,0 +12771,1100105,47,1,1,0.0,6.0,73956,1,0 +12772,1100105,47,1,1,1.0,6.0,61114,1,0 +12773,1100105,47,1,1,0.0,6.0,96332,1,0 +12774,1100105,47,1,1,0.0,6.0,54608,1,0 +12775,1100105,47,1,1,0.0,6.0,80300,1,0 +12776,1100105,47,1,1,1.0,6.0,96332,1,0 +12777,1100105,47,1,1,0.0,6.0,63674,1,0 +12778,1100105,47,1,1,1.0,6.0,70641,1,0 +12779,1100105,47,1,1,0.0,6.0,55720,1,0 +12780,1100105,47,1,1,0.0,6.0,72942,1,0 +12781,1100105,47,1,1,0.0,6.0,70878,1,0 +12782,1100105,47,1,1,0.0,6.0,52801,1,0 +12783,1100105,47,1,1,0.0,6.0,72508,1,0 +12784,1100105,47,1,1,0.0,6.0,74947,1,0 +12785,1100105,47,1,1,1.0,6.0,60785,1,0 +12786,1100105,47,1,1,0.0,4.0,60785,1,0 +12787,1100105,47,1,1,1.0,6.0,54604,1,0 +12788,1100105,47,1,1,0.0,6.0,63674,1,0 +12789,1100105,47,1,1,0.0,4.0,63674,1,0 +12790,1100105,47,1,1,0.0,6.0,83236,1,0 +12791,1100105,47,1,1,1.0,6.0,61292,1,0 +12792,1100105,47,1,1,0.0,4.0,74286,1,0 +12793,1100105,47,1,1,0.0,6.0,63260,1,0 +12794,1100105,47,1,1,0.0,4.0,53533,1,0 +12795,1100105,47,1,1,1.0,6.0,92077,1,0 +12796,1100105,47,1,1,1.0,6.0,96332,1,0 +12797,1100105,47,1,1,0.0,6.0,82867,1,0 +12798,1100105,47,1,1,0.0,6.0,64838,1,0 +12799,1100105,47,1,1,0.0,6.0,83838,1,0 +12800,1100105,47,1,1,1.0,6.0,54899,1,0 +12801,1100105,47,1,1,0.0,6.0,86724,1,0 +12802,1100105,47,1,1,1.0,6.0,54604,1,0 +12803,1100105,47,1,1,0.0,6.0,62099,1,0 +12804,1100105,47,1,1,3.0,4.0,69647,1,0 +12805,1100105,47,1,1,0.0,4.0,89672,1,0 +12806,1100105,47,1,1,0.0,4.0,62150,1,0 +12807,1100105,47,1,1,0.0,4.0,62150,1,0 +12808,1100105,47,1,1,0.0,4.0,50939,1,0 +12809,1100105,47,1,1,0.0,6.0,61798,1,0 +12810,1100105,47,1,1,0.0,6.0,85960,1,0 +12811,1100105,47,1,1,0.0,6.0,63674,1,0 +12812,1100105,47,1,1,0.0,6.0,63260,1,0 +12813,1100105,47,1,1,0.0,4.0,84347,1,0 +12814,1100105,47,1,1,0.0,6.0,52801,1,0 +12815,1100105,47,1,1,0.0,6.0,67329,1,0 +12816,1100105,47,1,1,1.0,6.0,98404,1,0 +12817,1100105,47,1,1,0.0,4.0,84347,1,0 +12818,1100105,47,1,1,0.0,4.0,64315,1,0 +12819,1100105,47,1,1,1.0,6.0,84347,1,0 +12820,1100105,47,1,1,0.0,6.0,95511,1,0 +12821,1100105,47,1,1,1.0,6.0,62978,1,0 +12822,1100105,47,1,1,0.0,6.0,53062,1,0 +12823,1100105,47,1,1,0.0,4.0,74499,1,0 +12824,1100105,47,1,1,1.0,4.0,77687,1,0 +12825,1100105,47,1,1,0.0,6.0,65851,1,0 +12826,1100105,47,1,1,0.0,6.0,51667,1,0 +12827,1100105,47,1,1,0.0,6.0,72942,1,0 +12828,1100105,47,1,1,1.0,6.0,84347,1,0 +12829,1100105,47,1,1,0.0,6.0,63674,1,0 +12830,1100105,47,1,1,0.0,4.0,84347,1,0 +12831,1100105,47,1,1,0.0,6.0,55720,1,0 +12832,1100105,47,1,1,0.0,6.0,67329,1,0 +12833,1100105,47,1,1,0.0,6.0,81047,1,0 +12834,1100105,47,1,1,1.0,6.0,67329,1,0 +12835,1100105,47,1,1,0.0,6.0,79283,1,0 +12836,1100105,47,1,1,0.0,4.0,74286,1,0 +12837,1100105,47,1,1,0.0,4.0,56733,1,0 +12838,1100105,47,1,1,0.0,6.0,81098,1,0 +12839,1100105,47,1,1,1.0,6.0,84347,1,0 +12840,1100105,47,1,1,0.0,6.0,65851,1,0 +12841,1100105,47,1,1,0.0,6.0,86724,1,0 +12842,1100105,47,1,1,1.0,6.0,71472,1,0 +12843,1100105,47,1,1,0.0,4.0,52717,1,0 +12844,1100105,47,1,1,1.0,6.0,69903,1,0 +12845,1100105,47,1,1,1.0,6.0,52717,1,0 +12846,1100105,47,1,1,0.0,4.0,63674,1,0 +12847,1100105,47,1,1,1.0,6.0,75992,1,0 +12848,1100105,47,1,1,1.0,6.0,70641,1,0 +12849,1100105,47,1,1,0.0,6.0,52801,1,0 +12850,1100105,47,1,1,0.0,6.0,66864,1,0 +12851,1100105,47,1,1,0.0,4.0,91178,1,0 +12852,1100105,47,1,1,0.0,4.0,75385,1,0 +12853,1100105,47,1,1,1.0,4.0,89619,1,0 +12854,1100105,47,1,1,1.0,6.0,60785,1,0 +12855,1100105,47,1,1,0.0,4.0,84347,1,0 +12856,1100105,47,1,1,1.0,6.0,69903,1,0 +12857,1100105,47,1,1,1.0,6.0,73808,1,0 +12858,1100105,47,1,1,0.0,6.0,93235,1,0 +12859,1100105,47,1,1,1.0,6.0,54604,1,0 +12860,1100105,47,1,1,0.0,6.0,63674,1,0 +12861,1100105,47,1,1,0.0,6.0,84347,1,0 +12862,1100105,47,1,1,0.0,4.0,66293,1,0 +12863,1100105,47,1,1,1.0,6.0,69903,1,0 +12864,1100105,47,1,1,0.0,6.0,63674,1,0 +12865,1100105,47,1,1,0.0,4.0,69593,1,0 +12866,1100105,47,1,1,0.0,6.0,64221,1,0 +12867,1100105,47,1,1,0.0,4.0,73956,1,0 +12868,1100105,47,1,1,0.0,6.0,63674,1,0 +12869,1100105,47,1,1,0.0,6.0,76967,1,0 +12870,1100105,47,1,1,0.0,6.0,64838,1,0 +12871,1100105,47,1,1,0.0,4.0,64315,1,0 +12872,1100105,47,1,1,0.0,6.0,67877,1,0 +12873,1100105,47,1,1,1.0,4.0,92189,1,0 +12874,1100105,47,1,1,0.0,6.0,52801,1,0 +12875,1100105,47,1,1,0.0,4.0,73956,1,0 +12876,1100105,47,1,1,0.0,4.0,91178,1,0 +12877,1100105,47,1,1,0.0,6.0,67877,1,0 +12878,1100105,47,1,1,0.0,4.0,56733,1,0 +12879,1100105,47,1,1,0.0,4.0,64315,1,0 +12880,1100105,47,1,1,0.0,6.0,83838,1,0 +12881,1100105,47,1,1,0.0,6.0,82867,1,0 +12882,1100105,47,1,1,0.0,4.0,77687,1,0 +12883,1100105,47,1,1,1.0,6.0,73804,1,0 +12884,1100105,47,1,1,0.0,6.0,67329,1,0 +12885,1100105,47,1,1,0.0,6.0,80300,1,0 +12886,1100105,47,1,1,0.0,4.0,90117,1,0 +12887,1100105,47,1,1,0.0,6.0,61152,1,0 +12888,1100105,47,1,1,0.0,6.0,72508,1,0 +12889,1100105,47,1,1,0.0,4.0,89672,1,0 +12890,1100105,47,1,1,0.0,4.0,80816,1,0 +12891,1100105,47,1,1,1.0,4.0,65851,1,0 +12892,1100105,47,1,1,0.0,6.0,72508,1,0 +12893,1100105,47,1,1,0.0,4.0,72164,1,0 +12894,1100105,47,1,1,0.0,6.0,72508,1,0 +12895,1100105,47,1,1,0.0,4.0,50654,1,0 +12896,1100105,47,1,1,0.0,6.0,50397,1,0 +12897,1100105,47,1,1,1.0,4.0,65598,1,0 +12898,1100105,47,1,1,0.0,4.0,58887,1,0 +12899,1100105,47,1,1,0.0,6.0,66858,1,0 +12900,1100105,47,1,1,1.0,6.0,62150,1,0 +12901,1100105,47,1,1,0.0,4.0,50654,1,0 +12902,1100105,47,1,1,0.0,6.0,72508,1,0 +12903,1100105,47,1,1,0.0,6.0,56245,1,0 +12904,1100105,47,1,1,0.0,6.0,50397,1,0 +12905,1100105,47,1,1,1.0,6.0,91007,1,0 +12906,1100105,47,1,1,0.0,6.0,72508,1,0 +12907,1100105,47,1,1,1.0,6.0,83512,1,0 +12908,1100105,47,1,1,0.0,4.0,58887,1,0 +12909,1100105,47,1,1,0.0,4.0,72164,1,0 +12910,1100105,47,1,1,0.0,4.0,80816,1,0 +12911,1100105,47,1,1,1.0,4.0,65851,1,0 +12912,1100105,47,1,1,0.0,6.0,66858,1,0 +12913,1100105,47,1,1,0.0,4.0,84899,1,0 +12914,1100105,47,1,1,1.0,6.0,91007,1,0 +12915,1100105,47,1,1,1.0,6.0,66423,1,0 +12916,1100105,47,1,1,1.0,4.0,65851,1,0 +12917,1100105,47,1,1,0.0,4.0,84899,1,0 +12918,1100105,47,1,1,0.0,4.0,62812,1,0 +12919,1100105,47,1,1,0.0,6.0,66858,1,0 +12920,1100105,47,1,1,0.0,6.0,56245,1,0 +12921,1100105,47,1,1,0.0,6.0,72508,1,0 +12922,1100105,47,1,1,1.0,4.0,65851,1,0 +12923,1100105,47,1,1,0.0,6.0,72508,1,0 +12924,1100105,47,1,1,0.0,4.0,87795,1,0 +12925,1100105,47,1,1,0.0,4.0,58887,1,0 +12926,1100105,47,1,1,0.0,6.0,72508,1,0 +12927,1100105,47,1,1,1.0,4.0,65851,1,0 +12928,1100105,47,1,1,0.0,4.0,72164,1,0 +12929,1100105,47,1,1,0.0,4.0,72164,1,0 +12930,1100105,47,1,1,0.0,4.0,80816,1,0 +12931,1100105,47,1,1,1.0,6.0,61010,0,0 +12932,1100105,47,1,1,1.0,6.0,61010,0,0 +12933,1100105,47,1,1,1.0,6.0,61010,0,0 +12934,1100105,47,1,1,1.0,4.0,89861,0,0 +12935,1100105,47,1,1,1.0,4.0,68181,0,0 +12936,1100105,47,1,1,1.0,4.0,65797,0,0 +12937,1100105,47,1,1,1.0,4.0,52174,0,0 +12938,1100105,47,1,1,0.0,6.0,64331,0,0 +12939,1100105,47,1,1,1.0,4.0,88083,0,0 +12940,1100105,47,1,1,0.0,4.0,50408,0,0 +12941,1100105,47,1,1,0.0,4.0,59975,0,0 +12942,1100105,47,1,1,0.0,4.0,55184,0,0 +12943,1100105,47,1,1,0.0,4.0,50408,0,0 +12944,1100105,47,1,1,1.0,4.0,72695,0,0 +12945,1100105,47,1,1,0.0,4.0,94219,0,0 +12946,1100105,47,1,1,0.0,4.0,94219,0,0 +12947,1100105,47,1,1,0.0,4.0,59975,0,0 +12948,1100105,47,1,1,1.0,4.0,69165,0,0 +12949,1100105,47,1,1,1.0,4.0,74062,0,0 +12950,1100105,47,1,1,1.0,6.0,51364,0,0 +12951,1100105,47,1,1,1.0,4.0,52174,0,0 +12952,1100105,47,1,1,0.0,6.0,56564,0,0 +12953,1100105,47,1,1,1.0,6.0,51364,0,0 +12954,1100105,47,1,1,1.0,4.0,68181,0,0 +12955,1100105,47,1,1,1.0,4.0,72695,0,0 +12956,1100105,47,1,1,0.0,6.0,67583,0,0 +12957,1100105,47,1,1,0.0,4.0,83074,0,0 +12958,1100105,47,1,1,0.0,4.0,51396,0,0 +12959,1100105,47,1,1,0.0,6.0,67583,0,0 +12960,1100105,47,1,1,1.0,4.0,65797,0,0 +12961,1100105,47,1,1,1.0,4.0,68181,0,0 +12962,1100105,47,1,1,0.0,6.0,88865,0,0 +12963,1100105,47,1,1,0.0,4.0,55184,0,0 +12964,1100105,47,1,1,0.0,4.0,51396,0,0 +12965,1100105,47,1,1,1.0,4.0,55821,0,0 +12966,1100105,47,1,1,0.0,6.0,56745,0,0 +12967,1100105,47,1,1,1.0,4.0,55821,0,0 +12968,1100105,47,1,1,0.0,4.0,63217,0,0 +12969,1100105,47,1,1,0.0,4.0,63217,0,0 +12970,1100105,47,1,1,0.0,6.0,86724,0,0 +12971,1100105,47,1,1,1.0,6.0,79593,0,0 +12972,1100105,47,1,1,1.0,6.0,79593,0,0 +12973,1100105,47,1,1,2.0,6.0,70916,0,0 +12974,1100105,47,1,1,2.0,6.0,70916,0,0 +12975,1100105,47,1,1,1.0,4.0,61152,0,0 +12976,1100105,47,1,1,1.0,6.0,46391,1,0 +12977,1100105,47,1,1,0.0,6.0,48477,1,0 +12978,1100105,47,1,1,1.0,6.0,46391,1,0 +12979,1100105,47,1,1,0.0,4.0,42184,1,0 +12980,1100105,47,1,1,1.0,6.0,46391,1,0 +12981,1100105,47,1,1,1.0,4.0,42077,1,0 +12982,1100105,47,1,1,0.0,6.0,31837,1,0 +12983,1100105,47,1,1,0.0,6.0,31837,1,0 +12984,1100105,47,1,1,1.0,4.0,40397,1,0 +12985,1100105,47,1,1,0.0,4.0,46270,1,0 +12986,1100105,47,1,1,1.0,4.0,44572,1,0 +12987,1100105,47,1,1,0.0,4.0,26358,1,0 +12988,1100105,47,1,1,0.0,6.0,43829,1,0 +12989,1100105,47,1,1,1.0,4.0,32214,1,0 +12990,1100105,47,1,1,0.0,6.0,43829,1,0 +12991,1100105,47,1,1,1.0,6.0,42449,1,0 +12992,1100105,47,1,1,0.0,6.0,42131,1,0 +12993,1100105,47,1,1,0.0,4.0,42701,1,0 +12994,1100105,47,1,1,1.0,4.0,31075,1,0 +12995,1100105,47,1,1,0.0,4.0,42173,1,0 +12996,1100105,47,1,1,0.0,4.0,48180,1,0 +12997,1100105,47,1,1,0.0,6.0,27837,1,0 +12998,1100105,47,1,1,0.0,4.0,48180,1,0 +12999,1100105,47,1,1,0.0,4.0,28381,1,0 +13000,1100105,47,1,1,0.0,6.0,43897,1,0 +13001,1100105,47,1,1,0.0,4.0,28381,1,0 +13002,1100105,47,1,1,0.0,6.0,32120,1,0 +13003,1100105,47,1,1,0.0,4.0,28381,1,0 +13004,1100105,47,1,1,0.0,4.0,28381,1,0 +13005,1100105,47,1,1,1.0,4.0,29582,1,0 +13006,1100105,47,1,1,0.0,6.0,45589,1,0 +13007,1100105,47,1,1,1.0,6.0,47109,1,0 +13008,1100105,47,1,1,1.0,6.0,47109,1,0 +13009,1100105,47,1,1,0.0,4.0,36254,1,0 +13010,1100105,47,1,1,0.0,6.0,39537,1,0 +13011,1100105,47,1,1,0.0,6.0,46391,1,0 +13012,1100105,47,1,1,0.0,4.0,45589,1,0 +13013,1100105,47,1,1,1.0,4.0,25696,1,0 +13014,1100105,47,1,1,0.0,6.0,36902,1,0 +13015,1100105,47,1,1,1.0,4.0,47130,1,0 +13016,1100105,47,1,1,0.0,4.0,47755,1,0 +13017,1100105,47,1,1,0.0,6.0,39265,1,0 +13018,1100105,47,1,1,0.0,6.0,45336,1,0 +13019,1100105,47,1,1,0.0,4.0,45589,1,0 +13020,1100105,47,1,1,1.0,6.0,31630,1,0 +13021,1100105,47,1,1,1.0,4.0,41537,1,0 +13022,1100105,47,1,1,1.0,4.0,47755,1,0 +13023,1100105,47,1,1,1.0,6.0,36902,1,0 +13024,1100105,47,1,1,0.0,4.0,31837,1,0 +13025,1100105,47,1,1,0.0,6.0,32120,1,0 +13026,1100105,47,1,1,0.0,4.0,36254,1,0 +13027,1100105,47,1,1,0.0,4.0,36254,1,0 +13028,1100105,47,1,1,1.0,4.0,47130,1,0 +13029,1100105,47,1,1,1.0,4.0,47755,1,0 +13030,1100105,47,1,1,0.0,4.0,26931,1,0 +13031,1100105,47,1,1,1.0,4.0,47130,1,0 +13032,1100105,47,1,1,0.0,6.0,46612,1,0 +13033,1100105,47,1,1,0.0,4.0,47755,1,0 +13034,1100105,47,1,1,0.0,4.0,42826,1,0 +13035,1100105,47,1,1,0.0,6.0,42173,1,0 +13036,1100105,47,1,1,0.0,6.0,36979,1,0 +13037,1100105,47,1,1,0.0,4.0,45633,1,0 +13038,1100105,47,1,1,1.0,6.0,48817,1,0 +13039,1100105,47,1,1,0.0,6.0,42173,1,0 +13040,1100105,47,1,1,1.0,6.0,45336,1,0 +13041,1100105,47,1,1,0.0,4.0,26931,1,0 +13042,1100105,47,1,1,0.0,6.0,27910,1,0 +13043,1100105,47,1,1,0.0,6.0,46612,1,0 +13044,1100105,47,1,1,0.0,4.0,40397,1,0 +13045,1100105,47,1,1,0.0,4.0,28174,1,0 +13046,1100105,47,1,1,0.0,6.0,41919,1,0 +13047,1100105,47,1,1,0.0,6.0,47755,1,0 +13048,1100105,47,1,1,0.0,6.0,48684,1,0 +13049,1100105,47,1,1,0.0,6.0,47755,1,0 +13050,1100105,47,1,1,0.0,6.0,37143,1,0 +13051,1100105,47,1,1,0.0,6.0,46745,1,0 +13052,1100105,47,1,1,0.0,6.0,47755,1,0 +13053,1100105,47,1,1,0.0,6.0,46745,1,0 +13054,1100105,47,1,1,1.0,6.0,29521,0,0 +13055,1100105,47,1,1,1.0,6.0,29521,0,0 +13056,1100105,47,1,1,1.0,6.0,29521,0,0 +13057,1100105,47,1,1,1.0,6.0,29521,0,0 +13058,1100105,47,1,1,1.0,6.0,29521,0,0 +13059,1100105,47,1,1,1.0,6.0,29521,0,0 +13060,1100105,47,1,1,1.0,6.0,29521,0,0 +13061,1100105,47,1,1,1.0,6.0,25327,0,0 +13062,1100105,47,1,1,0.0,4.0,29210,0,0 +13063,1100105,47,1,1,0.0,6.0,30453,0,0 +13064,1100105,47,1,1,0.0,6.0,32419,0,0 +13065,1100105,47,1,1,0.0,6.0,30453,0,0 +13066,1100105,47,1,1,1.0,6.0,37788,0,0 +13067,1100105,47,1,1,0.0,6.0,39713,0,0 +13068,1100105,47,1,1,0.0,6.0,43157,0,0 +13069,1100105,47,1,1,0.0,6.0,30453,0,0 +13070,1100105,47,1,1,1.0,6.0,33528,0,0 +13071,1100105,47,1,1,1.0,6.0,26931,0,0 +13072,1100105,47,1,1,1.0,4.0,38544,0,0 +13073,1100105,47,1,1,0.0,6.0,28151,0,0 +13074,1100105,47,1,1,1.0,6.0,37788,0,0 +13075,1100105,47,1,1,1.0,4.0,37045,0,0 +13076,1100105,47,1,1,0.0,6.0,32475,0,0 +13077,1100105,47,1,1,0.0,6.0,43157,0,0 +13078,1100105,47,1,1,0.0,4.0,37383,0,0 +13079,1100105,47,1,1,0.0,4.0,25327,0,0 +13080,1100105,47,1,1,0.0,6.0,30576,0,0 +13081,1100105,47,1,1,0.0,4.0,27412,0,0 +13082,1100105,47,1,1,0.0,4.0,32684,0,0 +13083,1100105,47,1,1,0.0,4.0,27412,0,0 +13084,1100105,47,1,1,1.0,6.0,35109,0,0 +13085,1100105,47,1,1,0.0,4.0,41739,0,0 +13086,1100105,47,1,1,0.0,4.0,41739,0,0 +13087,1100105,47,1,1,1.0,4.0,19030,1,0 +13088,1100105,47,1,1,1.0,4.0,7498,1,0 +13089,1100105,47,1,1,1.0,4.0,20906,1,0 +13090,1100105,47,1,1,1.0,4.0,7498,1,0 +13091,1100105,47,1,1,0.0,6.0,19700,1,0 +13092,1100105,47,1,1,0.0,6.0,19700,1,0 +13093,1100105,47,1,1,0.0,4.0,13880,1,0 +13094,1100105,47,1,1,0.0,4.0,5851,1,0 +13095,1100105,47,1,1,0.0,4.0,5851,1,0 +13096,1100105,47,1,1,0.0,6.0,8565,1,0 +13097,1100105,47,1,1,1.0,4.0,14989,1,0 +13098,1100105,47,1,1,0.0,4.0,20716,1,0 +13099,1100105,47,1,1,0.0,6.0,14347,1,0 +13100,1100105,47,1,1,0.0,6.0,103,1,0 +13101,1100105,47,1,1,0.0,6.0,7192,1,0 +13102,1100105,47,1,1,1.0,4.0,24408,1,0 +13103,1100105,47,1,1,2.0,4.0,21413,1,0 +13104,1100105,47,1,1,1.0,6.0,8244,1,0 +13105,1100105,47,1,1,2.0,4.0,21413,1,0 +13106,1100105,47,1,1,0.0,6.0,10706,1,0 +13107,1100105,47,1,1,0.0,4.0,11394,1,0 +13108,1100105,47,1,1,0.0,6.0,10706,1,0 +13109,1100105,47,1,1,0.0,6.0,10706,1,0 +13110,1100105,47,1,1,0.0,4.0,11394,1,0 +13111,1100105,47,1,1,1.0,6.0,10706,1,0 +13112,1100105,47,1,1,0.0,6.0,10358,1,0 +13113,1100105,47,1,1,1.0,6.0,6326,1,0 +13114,1100105,47,1,1,0.0,6.0,21224,1,0 +13115,1100105,47,1,1,1.0,6.0,8234,1,0 +13116,1100105,47,1,1,0.0,6.0,1697,1,0 +13117,1100105,47,1,1,0.0,4.0,5271,1,0 +13118,1100105,47,1,1,0.0,4.0,21086,1,0 +13119,1100105,47,1,1,0.0,4.0,20032,1,0 +13120,1100105,47,1,1,0.0,6.0,14857,1,0 +13121,1100105,47,1,1,0.0,4.0,21162,1,0 +13122,1100105,47,1,1,0.0,4.0,5271,1,0 +13123,1100105,47,1,1,1.0,4.0,5271,1,0 +13124,1100105,47,1,1,0.0,6.0,6424,1,0 +13125,1100105,47,1,1,0.0,6.0,1897,1,0 +13126,1100105,47,1,1,0.0,6.0,18852,0,0 +13127,1100105,47,1,1,0.0,6.0,11497,0,0 +13128,1100105,47,1,1,0.0,6.0,12157,0,0 +13129,1100105,47,1,1,0.0,6.0,18852,0,0 +13130,1100105,47,1,1,0.0,6.0,18852,0,0 +13131,1100105,47,1,1,0.0,6.0,19314,0,0 +13132,1100105,47,1,1,0.0,6.0,8779,0,0 +13133,1100105,47,1,1,0.0,4.0,15417,0,0 +13134,1100105,47,1,1,1.0,6.0,8351,0,0 +13135,1100105,47,1,1,1.0,6.0,22592,0,0 +13136,1100105,47,1,1,1.0,4.0,9278,0,0 +13137,1100105,47,1,1,0.0,6.0,12989,0,0 +13138,1100105,47,1,1,1.0,6.0,22592,0,0 +13139,1100105,47,1,1,0.0,6.0,3936,0,0 +13140,1100105,47,1,1,1.0,4.0,15069,0,0 +13141,1100105,47,1,1,0.0,6.0,1391,0,0 +13142,1100105,47,1,1,0.0,6.0,911,0,0 +13143,1100105,47,1,1,0.0,4.0,15865,0,0 +13144,1100105,47,1,1,0.0,4.0,23876,0,0 +13145,1100105,47,1,1,0.0,4.0,9207,0,0 +13146,1100105,47,1,1,1.0,6.0,5166,0,0 +13147,1100105,47,1,1,0.0,6.0,20198,0,0 +13148,1100105,47,1,1,0.0,6.0,13362,0,0 +13149,1100105,47,1,1,0.0,6.0,9126,0,0 +13150,1100105,47,1,1,1.0,4.0,13372,0,0 +13151,1100105,47,1,1,0.0,6.0,7250,0,0 +13152,1100105,47,1,1,0.0,6.0,13068,0,0 +13153,1100105,47,1,1,0.0,6.0,9126,0,0 +13154,1100105,47,1,1,0.0,6.0,7250,0,0 +13155,1100105,47,1,1,0.0,6.0,9126,0,0 +13156,1100105,47,1,1,0.0,6.0,13068,0,0 +13157,1100105,47,1,1,2.0,4.0,20261,0,0 +13158,1100105,47,1,1,1.0,6.0,0,0,0 +13159,1100105,47,1,1,0.0,6.0,9207,0,0 +13160,1100105,47,1,1,1.0,4.0,24726,0,0 +13161,1100105,47,1,1,0.0,6.0,0,0,0 +13162,1100105,47,1,1,1.0,6.0,2569,0,0 +13163,1100105,47,1,1,0.0,4.0,9489,0,0 +13164,1100105,47,1,1,1.0,4.0,10,0,0 +13165,1100105,47,1,1,0.0,4.0,9489,0,0 +13166,1100105,47,1,1,0.0,4.0,9489,0,0 +13167,1100105,47,1,1,1.0,4.0,10,0,0 +13168,1100105,47,1,1,0.0,6.0,0,0,0 +13169,1100105,47,1,1,0.0,6.0,3502,0,0 +13170,1100105,47,1,1,0.0,6.0,15918,0,0 +13171,1100105,47,1,1,0.0,6.0,0,0,0 +13172,1100105,47,1,1,0.0,6.0,0,0,0 +13173,1100105,47,1,1,1.0,4.0,0,0,0 +13174,1100105,47,1,1,0.0,4.0,527,0,0 +13175,1100105,47,1,1,0.0,6.0,2653,0,0 +13176,1100105,47,1,1,1.0,6.0,2890,0,0 +13177,1100105,47,1,1,0.0,4.0,20261,0,0 +13178,1100105,47,1,1,0.0,6.0,0,0,0 +13179,1100105,47,1,1,0.0,6.0,13465,0,0 +13180,1100105,47,1,1,0.0,4.0,10543,0,0 +13181,1100105,47,1,1,0.0,6.0,5306,0,0 +13182,1100105,47,1,1,0.0,4.0,10543,0,0 +13183,1100105,47,1,1,1.0,6.0,0,0,0 +13184,1100105,49,1,4,2.0,1.0,263586,2,1 +13185,1100105,49,1,4,2.0,1.0,686623,1,1 +13186,1100105,49,1,4,1.0,3.0,105434,1,1 +13187,1100105,49,1,4,0.0,1.0,49250,2,0 +13188,1100105,49,1,4,0.0,1.0,49250,2,0 +13189,1100105,49,1,4,0.0,1.0,20261,1,1 +13190,1100105,49,1,4,1.0,3.0,11597,1,1 +13191,1100105,49,1,4,1.0,3.0,11597,1,1 +13192,1100105,49,1,4,1.0,3.0,11597,1,1 +13193,1100105,49,1,3,1.0,1.0,301700,3,0 +13194,1100105,49,1,3,1.0,1.0,381188,3,0 +13195,1100105,49,1,3,0.0,5.0,230301,3,0 +13196,1100105,49,1,3,2.0,1.0,331468,3,0 +13197,1100105,49,1,3,0.0,7.0,261477,3,0 +13198,1100105,49,1,3,1.0,7.0,206942,3,0 +13199,1100105,49,1,3,0.0,5.0,211737,3,0 +13200,1100105,49,1,3,2.0,1.0,559432,3,0 +13201,1100105,49,1,3,3.0,7.0,203488,3,0 +13202,1100105,49,1,3,2.0,1.0,431925,2,0 +13203,1100105,49,1,3,2.0,1.0,285580,2,0 +13204,1100105,49,1,3,1.0,1.0,254097,2,0 +13205,1100105,49,1,3,2.0,1.0,340790,2,1 +13206,1100105,49,1,3,2.0,1.0,340790,2,1 +13207,1100105,49,1,3,2.0,1.0,354392,2,1 +13208,1100105,49,1,3,2.0,1.0,227946,2,1 +13209,1100105,49,1,3,1.0,1.0,403976,2,1 +13210,1100105,49,1,3,1.0,1.0,319125,2,1 +13211,1100105,49,1,3,1.0,1.0,435761,2,1 +13212,1100105,49,1,3,1.0,1.0,298717,2,1 +13213,1100105,49,1,3,1.0,1.0,448097,2,1 +13214,1100105,49,1,3,1.0,1.0,403976,2,1 +13215,1100105,49,1,3,1.0,1.0,448097,2,1 +13216,1100105,49,1,3,1.0,3.0,279676,2,1 +13217,1100105,49,1,3,1.0,1.0,403976,2,1 +13218,1100105,49,1,3,1.0,3.0,279676,2,1 +13219,1100105,49,1,3,1.0,1.0,231956,2,1 +13220,1100105,49,1,3,2.0,1.0,361887,2,1 +13221,1100105,49,1,3,1.0,1.0,231956,2,1 +13222,1100105,49,1,3,1.0,1.0,303979,2,1 +13223,1100105,49,1,3,1.0,1.0,416466,2,1 +13224,1100105,49,1,3,1.0,1.0,278601,2,1 +13225,1100105,49,1,3,1.0,1.0,203758,2,1 +13226,1100105,49,1,3,1.0,1.0,205095,2,1 +13227,1100105,49,1,3,1.0,1.0,389475,2,1 +13228,1100105,49,1,3,1.0,1.0,389475,2,1 +13229,1100105,49,1,3,1.0,1.0,241350,2,1 +13230,1100105,49,1,3,1.0,1.0,241350,2,1 +13231,1100105,49,1,3,1.0,1.0,389475,2,1 +13232,1100105,49,1,3,0.0,1.0,940154,2,1 +13233,1100105,49,1,3,0.0,1.0,256266,2,1 +13234,1100105,49,1,3,0.0,1.0,256266,2,1 +13235,1100105,49,1,3,1.0,1.0,282290,2,1 +13236,1100105,49,1,3,1.0,1.0,332118,2,1 +13237,1100105,49,1,3,2.0,1.0,271509,2,1 +13238,1100105,49,1,3,1.0,1.0,240259,2,1 +13239,1100105,49,1,3,2.0,1.0,271509,2,1 +13240,1100105,49,1,3,2.0,1.0,271509,2,1 +13241,1100105,49,1,3,2.0,1.0,271509,2,1 +13242,1100105,49,1,3,2.0,1.0,271509,2,1 +13243,1100105,49,1,3,1.0,5.0,267254,1,0 +13244,1100105,49,1,3,2.0,1.0,208849,1,0 +13245,1100105,49,1,3,1.0,1.0,238760,1,1 +13246,1100105,49,1,3,1.0,1.0,218249,1,1 +13247,1100105,49,1,3,1.0,1.0,218249,1,1 +13248,1100105,49,1,3,1.0,1.0,219753,1,1 +13249,1100105,49,1,3,1.0,2.0,212248,1,1 +13250,1100105,49,1,3,1.0,1.0,769627,1,1 +13251,1100105,49,1,3,1.0,1.0,769627,1,1 +13252,1100105,49,1,3,1.0,1.0,769627,1,1 +13253,1100105,49,1,3,1.0,1.0,769627,1,1 +13254,1100105,49,1,3,1.0,7.0,193701,3,0 +13255,1100105,49,1,3,0.0,7.0,179318,3,0 +13256,1100105,49,1,3,1.0,7.0,187839,3,0 +13257,1100105,49,1,3,0.0,5.0,173449,3,0 +13258,1100105,49,1,3,2.0,5.0,168841,2,0 +13259,1100105,49,1,3,2.0,5.0,168841,2,0 +13260,1100105,49,1,3,1.0,3.0,168790,2,0 +13261,1100105,49,1,3,1.0,1.0,179137,2,1 +13262,1100105,49,1,3,2.0,1.0,162095,2,1 +13263,1100105,49,1,3,1.0,1.0,179137,2,1 +13264,1100105,49,1,3,1.0,1.0,181271,2,1 +13265,1100105,49,1,3,1.0,1.0,158151,2,1 +13266,1100105,49,1,3,1.0,1.0,162804,2,1 +13267,1100105,49,1,3,1.0,1.0,152818,1,1 +13268,1100105,49,1,3,1.0,1.0,152818,1,1 +13269,1100105,49,1,3,1.0,1.0,172881,1,1 +13270,1100105,49,1,3,1.0,5.0,141328,3,0 +13271,1100105,49,1,3,2.0,7.0,105062,3,0 +13272,1100105,49,1,3,0.0,5.0,123597,3,0 +13273,1100105,49,1,3,0.0,7.0,110700,2,0 +13274,1100105,49,1,3,1.0,1.0,119131,2,1 +13275,1100105,49,1,3,0.0,1.0,139022,2,1 +13276,1100105,49,1,3,0.0,1.0,121571,2,1 +13277,1100105,49,1,3,2.0,7.0,124610,1,0 +13278,1100105,49,1,3,0.0,2.0,103790,1,1 +13279,1100105,49,1,3,0.0,2.0,103790,1,1 +13280,1100105,49,1,3,1.0,1.0,101348,1,1 +13281,1100105,49,1,3,1.0,1.0,107067,1,1 +13282,1100105,49,1,3,1.0,1.0,107067,1,1 +13283,1100105,49,1,3,1.0,1.0,107067,1,1 +13284,1100105,49,1,3,1.0,1.0,133830,0,0 +13285,1100105,49,1,3,1.0,1.0,133830,0,0 +13286,1100105,49,1,3,0.0,7.0,64240,2,0 +13287,1100105,49,1,3,1.0,1.0,68532,2,1 +13288,1100105,49,1,3,1.0,1.0,79021,1,0 +13289,1100105,49,1,3,0.0,5.0,30776,3,0 +13290,1100105,49,1,3,0.0,7.0,42469,2,0 +13291,1100105,49,1,3,0.0,7.0,42469,2,0 +13292,1100105,49,1,3,0.0,3.0,31179,2,0 +13293,1100105,49,1,3,0.0,2.0,27837,2,1 +13294,1100105,49,1,3,0.0,7.0,43505,1,0 +13295,1100105,49,1,3,0.0,5.0,30776,1,0 +13296,1100105,49,1,3,0.0,5.0,30776,1,0 +13297,1100105,49,1,3,0.0,5.0,30776,1,0 +13298,1100105,49,1,3,0.0,5.0,30776,1,0 +13299,1100105,49,1,3,1.0,2.0,44437,1,0 +13300,1100105,49,1,3,1.0,3.0,28908,1,1 +13301,1100105,49,1,3,1.0,1.0,16918,2,1 +13302,1100105,49,1,3,2.0,3.0,476,1,1 +13303,1100105,49,1,3,2.0,3.0,476,1,1 +13304,1100105,49,1,3,2.0,3.0,476,1,1 +13305,1100105,49,1,3,0.0,1.0,15983,0,0 +13306,1100105,49,1,3,0.0,3.0,19112,0,0 +13307,1100105,49,1,3,0.0,3.0,19112,0,0 +13308,1100105,49,1,3,0.0,3.0,19112,0,0 +13309,1100105,49,1,3,0.0,3.0,2741,0,1 +13310,1100105,49,1,3,0.0,3.0,2741,0,1 +13311,1100105,49,1,3,1.0,3.0,6367,0,1 +13312,1100105,49,1,3,0.0,3.0,6836,0,1 +13313,1100105,49,1,3,0.0,3.0,6836,0,1 +13314,1100105,49,1,3,0.0,3.0,6836,0,1 +13315,1100105,49,1,2,0.0,7.0,509693,2,0 +13316,1100105,49,1,2,1.0,1.0,225004,2,0 +13317,1100105,49,1,2,3.0,1.0,288657,2,0 +13318,1100105,49,1,2,2.0,1.0,305891,2,0 +13319,1100105,49,1,2,2.0,1.0,305891,2,0 +13320,1100105,49,1,2,1.0,1.0,243661,2,0 +13321,1100105,49,1,2,1.0,7.0,221054,2,0 +13322,1100105,49,1,2,1.0,1.0,337683,2,0 +13323,1100105,49,1,2,1.0,1.0,291771,2,0 +13324,1100105,49,1,2,1.0,1.0,291771,2,0 +13325,1100105,49,1,2,1.0,1.0,222881,2,0 +13326,1100105,49,1,2,1.0,1.0,310751,2,0 +13327,1100105,49,1,2,1.0,1.0,310751,2,0 +13328,1100105,49,1,2,1.0,1.0,569089,2,0 +13329,1100105,49,1,2,2.0,1.0,328281,2,0 +13330,1100105,49,1,2,2.0,1.0,328281,2,0 +13331,1100105,49,1,2,2.0,1.0,328281,2,0 +13332,1100105,49,1,2,2.0,1.0,995444,2,0 +13333,1100105,49,1,2,1.0,1.0,276233,2,0 +13334,1100105,49,1,2,1.0,1.0,284412,2,0 +13335,1100105,49,1,2,2.0,1.0,303929,2,0 +13336,1100105,49,1,2,2.0,7.0,223428,2,0 +13337,1100105,49,1,2,1.0,7.0,262400,2,0 +13338,1100105,49,1,2,1.0,1.0,530621,2,0 +13339,1100105,49,1,2,1.0,1.0,221412,2,0 +13340,1100105,49,1,2,0.0,5.0,339387,2,0 +13341,1100105,49,1,2,0.0,1.0,215630,2,0 +13342,1100105,49,1,2,2.0,1.0,303929,2,0 +13343,1100105,49,1,2,2.0,1.0,280516,2,0 +13344,1100105,49,1,2,2.0,5.0,295213,2,0 +13345,1100105,49,1,2,1.0,1.0,409156,2,0 +13346,1100105,49,1,2,2.0,1.0,265310,2,0 +13347,1100105,49,1,2,2.0,7.0,223428,2,0 +13348,1100105,49,1,2,1.0,1.0,233473,2,0 +13349,1100105,49,1,2,1.0,1.0,1397655,2,0 +13350,1100105,49,1,2,1.0,1.0,247432,2,0 +13351,1100105,49,1,2,1.0,1.0,359649,2,0 +13352,1100105,49,1,2,1.0,1.0,233270,2,0 +13353,1100105,49,1,2,1.0,1.0,284673,2,0 +13354,1100105,49,1,2,2.0,5.0,234477,2,0 +13355,1100105,49,1,2,0.0,1.0,202824,2,0 +13356,1100105,49,1,2,0.0,7.0,329767,2,0 +13357,1100105,49,1,2,1.0,1.0,316966,2,0 +13358,1100105,49,1,2,1.0,5.0,321201,2,0 +13359,1100105,49,1,2,0.0,7.0,241117,2,0 +13360,1100105,49,1,2,1.0,1.0,355516,2,0 +13361,1100105,49,1,2,2.0,1.0,995444,2,0 +13362,1100105,49,1,2,1.0,1.0,530621,2,0 +13363,1100105,49,1,2,1.0,1.0,355516,2,0 +13364,1100105,49,1,2,2.0,1.0,206942,2,0 +13365,1100105,49,1,2,1.0,1.0,284412,2,0 +13366,1100105,49,1,2,2.0,1.0,206671,2,0 +13367,1100105,49,1,2,2.0,1.0,747665,2,0 +13368,1100105,49,1,2,1.0,1.0,230194,2,0 +13369,1100105,49,1,2,1.0,1.0,409156,2,0 +13370,1100105,49,1,2,1.0,1.0,824660,2,0 +13371,1100105,49,1,2,1.0,1.0,284412,2,0 +13372,1100105,49,1,2,2.0,5.0,449682,2,0 +13373,1100105,49,1,2,1.0,7.0,262400,2,0 +13374,1100105,49,1,2,2.0,1.0,837266,2,0 +13375,1100105,49,1,2,1.0,1.0,255334,2,0 +13376,1100105,49,1,2,1.0,1.0,255334,2,0 +13377,1100105,49,1,2,2.0,7.0,390510,2,0 +13378,1100105,49,1,2,2.0,5.0,234555,2,0 +13379,1100105,49,1,2,2.0,7.0,216875,2,0 +13380,1100105,49,1,2,1.0,1.0,384976,2,0 +13381,1100105,49,1,2,3.0,1.0,316303,2,0 +13382,1100105,49,1,2,1.0,5.0,211993,2,0 +13383,1100105,49,1,2,2.0,1.0,284412,2,0 +13384,1100105,49,1,2,0.0,5.0,380618,2,0 +13385,1100105,49,1,2,2.0,5.0,305572,2,0 +13386,1100105,49,1,2,0.0,5.0,282564,2,0 +13387,1100105,49,1,2,0.0,7.0,210125,2,0 +13388,1100105,49,1,2,1.0,5.0,476485,2,0 +13389,1100105,49,1,2,1.0,1.0,433622,2,0 +13390,1100105,49,1,2,1.0,1.0,212248,2,0 +13391,1100105,49,1,2,0.0,7.0,210125,2,0 +13392,1100105,49,1,2,0.0,1.0,245253,2,0 +13393,1100105,49,1,2,1.0,5.0,476485,2,0 +13394,1100105,49,1,2,1.0,1.0,222881,2,0 +13395,1100105,49,1,2,0.0,5.0,315930,2,0 +13396,1100105,49,1,2,1.0,1.0,212248,2,0 +13397,1100105,49,1,2,1.0,1.0,274497,2,0 +13398,1100105,49,1,2,0.0,5.0,518738,2,0 +13399,1100105,49,1,2,1.0,5.0,476485,2,0 +13400,1100105,49,1,2,1.0,1.0,274497,2,0 +13401,1100105,49,1,2,0.0,5.0,843172,2,0 +13402,1100105,49,1,2,0.0,5.0,518738,2,0 +13403,1100105,49,1,2,1.0,5.0,291841,2,0 +13404,1100105,49,1,2,1.0,1.0,245169,2,0 +13405,1100105,49,1,2,3.0,5.0,643474,2,0 +13406,1100105,49,1,2,1.0,1.0,245169,2,0 +13407,1100105,49,1,2,1.0,5.0,323678,2,0 +13408,1100105,49,1,2,2.0,7.0,206639,2,0 +13409,1100105,49,1,2,1.0,1.0,209814,2,0 +13410,1100105,49,1,2,1.0,5.0,243649,2,0 +13411,1100105,49,1,2,1.0,5.0,310943,2,0 +13412,1100105,49,1,2,0.0,1.0,1452888,2,0 +13413,1100105,49,1,2,1.0,1.0,203758,2,0 +13414,1100105,49,1,2,0.0,5.0,208697,2,0 +13415,1100105,49,1,2,1.0,1.0,657757,2,0 +13416,1100105,49,1,2,1.0,7.0,216275,2,0 +13417,1100105,49,1,2,1.0,1.0,725086,2,0 +13418,1100105,49,1,2,1.0,5.0,222860,2,0 +13419,1100105,49,1,2,2.0,5.0,208721,2,0 +13420,1100105,49,1,2,1.0,1.0,323678,2,0 +13421,1100105,49,1,2,1.0,1.0,444329,2,0 +13422,1100105,49,1,2,1.0,1.0,287962,2,0 +13423,1100105,49,1,2,0.0,1.0,231956,2,0 +13424,1100105,49,1,2,1.0,5.0,419190,2,0 +13425,1100105,49,1,2,0.0,5.0,231999,2,0 +13426,1100105,49,1,2,0.0,1.0,234025,2,0 +13427,1100105,49,1,2,0.0,5.0,273021,2,0 +13428,1100105,49,1,2,1.0,1.0,210869,2,0 +13429,1100105,49,1,2,1.0,1.0,207684,2,0 +13430,1100105,49,1,2,1.0,7.0,295213,2,0 +13431,1100105,49,1,2,2.0,1.0,800346,2,0 +13432,1100105,49,1,2,1.0,1.0,291771,2,0 +13433,1100105,49,1,2,2.0,1.0,212750,2,0 +13434,1100105,49,1,2,0.0,1.0,342615,2,0 +13435,1100105,49,1,2,1.0,7.0,245169,2,0 +13436,1100105,49,1,2,1.0,1.0,204598,2,0 +13437,1100105,49,1,2,1.0,5.0,222860,2,0 +13438,1100105,49,1,2,2.0,1.0,212750,2,0 +13439,1100105,49,1,2,1.0,1.0,331468,2,0 +13440,1100105,49,1,2,1.0,5.0,216493,2,0 +13441,1100105,49,1,2,1.0,7.0,215205,2,0 +13442,1100105,49,1,2,1.0,1.0,291771,2,0 +13443,1100105,49,1,2,2.0,1.0,227738,2,0 +13444,1100105,49,1,2,1.0,5.0,203427,2,0 +13445,1100105,49,1,2,0.0,5.0,205597,2,0 +13446,1100105,49,1,2,1.0,5.0,222860,2,0 +13447,1100105,49,1,2,1.0,1.0,228167,2,0 +13448,1100105,49,1,2,0.0,1.0,342615,2,0 +13449,1100105,49,1,2,1.0,5.0,328985,2,0 +13450,1100105,49,1,2,0.0,1.0,212248,2,0 +13451,1100105,49,1,2,1.0,7.0,378080,2,0 +13452,1100105,49,1,2,0.0,5.0,286535,2,0 +13453,1100105,49,1,2,1.0,1.0,204598,2,0 +13454,1100105,49,1,2,1.0,1.0,417442,2,0 +13455,1100105,49,1,2,1.0,1.0,253106,2,0 +13456,1100105,49,1,2,1.0,1.0,253780,2,0 +13457,1100105,49,1,2,0.0,1.0,210342,2,0 +13458,1100105,49,1,2,0.0,1.0,329256,2,0 +13459,1100105,49,1,2,1.0,7.0,245169,2,0 +13460,1100105,49,1,2,0.0,1.0,210342,2,0 +13461,1100105,49,1,2,0.0,5.0,212790,2,0 +13462,1100105,49,1,2,1.0,1.0,450205,2,0 +13463,1100105,49,1,2,2.0,1.0,230991,1,0 +13464,1100105,49,1,2,1.0,1.0,242710,1,0 +13465,1100105,49,1,2,0.0,1.0,322617,1,0 +13466,1100105,49,1,2,1.0,1.0,318112,1,0 +13467,1100105,49,1,2,0.0,1.0,322617,1,0 +13468,1100105,49,1,2,2.0,1.0,230991,1,0 +13469,1100105,49,1,2,1.0,5.0,243578,1,0 +13470,1100105,49,1,2,2.0,1.0,1039585,1,0 +13471,1100105,49,1,2,1.0,1.0,490469,1,0 +13472,1100105,49,1,2,1.0,1.0,247461,1,0 +13473,1100105,49,1,2,1.0,1.0,765455,1,0 +13474,1100105,49,1,2,1.0,7.0,664591,1,0 +13475,1100105,49,1,2,1.0,1.0,247461,1,0 +13476,1100105,49,1,2,1.0,1.0,490469,1,0 +13477,1100105,49,1,2,1.0,7.0,664591,1,0 +13478,1100105,49,1,2,1.0,1.0,332911,1,0 +13479,1100105,49,1,2,1.0,1.0,247461,1,0 +13480,1100105,49,1,2,1.0,1.0,765455,1,0 +13481,1100105,49,1,2,1.0,1.0,490469,1,0 +13482,1100105,49,1,2,2.0,5.0,333539,1,0 +13483,1100105,49,1,2,0.0,1.0,283667,1,0 +13484,1100105,49,1,2,1.0,1.0,355630,1,0 +13485,1100105,49,1,2,1.0,5.0,581123,1,0 +13486,1100105,49,1,2,2.0,1.0,249636,1,0 +13487,1100105,49,1,2,1.0,1.0,767808,1,0 +13488,1100105,49,1,2,0.0,1.0,246146,1,0 +13489,1100105,49,1,2,3.0,1.0,758074,1,0 +13490,1100105,49,1,2,2.0,5.0,201635,1,0 +13491,1100105,49,1,2,1.0,1.0,415992,1,0 +13492,1100105,49,1,2,1.0,5.0,581123,1,0 +13493,1100105,49,1,2,3.0,1.0,758074,1,0 +13494,1100105,49,1,2,1.0,5.0,581123,1,0 +13495,1100105,49,1,2,1.0,5.0,581123,1,0 +13496,1100105,49,1,2,1.0,5.0,581123,1,0 +13497,1100105,49,1,2,1.0,1.0,217815,1,0 +13498,1100105,49,1,2,1.0,5.0,212248,1,0 +13499,1100105,49,1,2,1.0,5.0,207464,1,0 +13500,1100105,49,1,2,1.0,2.0,362543,1,0 +13501,1100105,49,1,2,0.0,1.0,206305,1,0 +13502,1100105,49,1,2,1.0,1.0,384710,0,0 +13503,1100105,49,1,2,1.0,1.0,410035,0,0 +13504,1100105,49,1,2,2.0,1.0,616323,0,0 +13505,1100105,49,1,2,1.0,1.0,392871,0,0 +13506,1100105,49,1,2,1.0,1.0,392871,0,0 +13507,1100105,49,1,2,1.0,1.0,410035,0,0 +13508,1100105,49,1,2,2.0,1.0,616323,0,0 +13509,1100105,49,1,2,2.0,1.0,290345,0,0 +13510,1100105,49,1,2,2.0,1.0,616323,0,0 +13511,1100105,49,1,2,1.0,2.0,311426,0,0 +13512,1100105,49,1,2,1.0,2.0,311426,0,0 +13513,1100105,49,1,2,0.0,1.0,359761,0,0 +13514,1100105,49,1,2,1.0,2.0,311426,0,0 +13515,1100105,49,1,2,0.0,1.0,366701,0,0 +13516,1100105,49,1,2,0.0,5.0,198217,2,0 +13517,1100105,49,1,2,2.0,5.0,190579,2,0 +13518,1100105,49,1,2,0.0,5.0,160600,2,0 +13519,1100105,49,1,2,1.0,1.0,178305,2,0 +13520,1100105,49,1,2,0.0,5.0,160600,2,0 +13521,1100105,49,1,2,1.0,5.0,178802,2,0 +13522,1100105,49,1,2,1.0,1.0,170237,2,0 +13523,1100105,49,1,2,0.0,5.0,173967,2,0 +13524,1100105,49,1,2,2.0,5.0,168695,2,0 +13525,1100105,49,1,2,2.0,5.0,168695,2,0 +13526,1100105,49,1,2,0.0,1.0,159519,2,0 +13527,1100105,49,1,2,0.0,1.0,178507,2,0 +13528,1100105,49,1,2,0.0,1.0,189558,2,0 +13529,1100105,49,1,2,0.0,1.0,197553,2,0 +13530,1100105,49,1,2,2.0,3.0,158655,2,0 +13531,1100105,49,1,2,1.0,1.0,171949,2,0 +13532,1100105,49,1,2,1.0,1.0,186619,2,0 +13533,1100105,49,1,2,1.0,5.0,187146,2,0 +13534,1100105,49,1,2,0.0,1.0,150196,2,0 +13535,1100105,49,1,2,1.0,1.0,156002,2,0 +13536,1100105,49,1,2,0.0,5.0,160682,2,0 +13537,1100105,49,1,2,2.0,1.0,198074,2,0 +13538,1100105,49,1,2,2.0,1.0,198074,2,0 +13539,1100105,49,1,2,1.0,5.0,159271,2,0 +13540,1100105,49,1,2,0.0,5.0,160682,2,0 +13541,1100105,49,1,2,1.0,5.0,158125,2,0 +13542,1100105,49,1,2,0.0,5.0,178289,2,0 +13543,1100105,49,1,2,2.0,1.0,166147,2,0 +13544,1100105,49,1,2,0.0,5.0,158483,2,0 +13545,1100105,49,1,2,2.0,5.0,180087,2,0 +13546,1100105,49,1,2,1.0,1.0,174362,2,0 +13547,1100105,49,1,2,1.0,1.0,186407,2,0 +13548,1100105,49,1,2,1.0,5.0,197553,2,0 +13549,1100105,49,1,2,1.0,7.0,168695,2,0 +13550,1100105,49,1,2,1.0,5.0,186554,2,0 +13551,1100105,49,1,2,1.0,1.0,158172,2,0 +13552,1100105,49,1,2,1.0,1.0,175376,2,0 +13553,1100105,49,1,2,1.0,5.0,173967,2,0 +13554,1100105,49,1,2,1.0,5.0,151964,2,0 +13555,1100105,49,1,2,1.0,7.0,196540,2,0 +13556,1100105,49,1,2,1.0,5.0,180235,2,0 +13557,1100105,49,1,2,2.0,7.0,163423,2,0 +13558,1100105,49,1,2,2.0,7.0,182014,2,0 +13559,1100105,49,1,2,0.0,5.0,171213,2,0 +13560,1100105,49,1,2,1.0,5.0,159522,2,0 +13561,1100105,49,1,2,0.0,1.0,161590,2,0 +13562,1100105,49,1,2,1.0,5.0,173967,2,0 +13563,1100105,49,1,2,1.0,1.0,175376,2,0 +13564,1100105,49,1,2,1.0,1.0,157654,2,0 +13565,1100105,49,1,2,1.0,1.0,158172,2,0 +13566,1100105,49,1,2,1.0,1.0,175056,2,0 +13567,1100105,49,1,2,1.0,5.0,189782,2,0 +13568,1100105,49,1,2,2.0,7.0,187367,2,0 +13569,1100105,49,1,2,0.0,1.0,192523,2,0 +13570,1100105,49,1,2,1.0,1.0,152889,2,0 +13571,1100105,49,1,2,1.0,5.0,153934,2,0 +13572,1100105,49,1,2,1.0,7.0,178819,2,0 +13573,1100105,49,1,2,1.0,1.0,158172,2,0 +13574,1100105,49,1,2,0.0,5.0,163108,2,0 +13575,1100105,49,1,2,0.0,1.0,192523,2,0 +13576,1100105,49,1,2,1.0,5.0,174043,2,0 +13577,1100105,49,1,2,0.0,1.0,171307,2,0 +13578,1100105,49,1,2,2.0,5.0,150771,2,0 +13579,1100105,49,1,2,0.0,1.0,171307,2,0 +13580,1100105,49,1,2,1.0,1.0,189803,2,0 +13581,1100105,49,1,2,1.0,5.0,169812,2,0 +13582,1100105,49,1,2,1.0,5.0,174043,2,0 +13583,1100105,49,1,2,1.0,7.0,165734,2,0 +13584,1100105,49,1,2,1.0,5.0,174043,2,0 +13585,1100105,49,1,2,1.0,5.0,159522,2,0 +13586,1100105,49,1,2,0.0,5.0,156043,2,0 +13587,1100105,49,1,2,1.0,5.0,170913,2,0 +13588,1100105,49,1,2,1.0,1.0,191630,2,0 +13589,1100105,49,1,2,1.0,1.0,175468,1,0 +13590,1100105,49,1,2,1.0,1.0,170129,1,0 +13591,1100105,49,1,2,1.0,1.0,170809,1,0 +13592,1100105,49,1,2,1.0,1.0,170809,1,0 +13593,1100105,49,1,2,2.0,1.0,153200,1,0 +13594,1100105,49,1,2,0.0,5.0,197194,1,0 +13595,1100105,49,1,2,1.0,1.0,194525,1,0 +13596,1100105,49,1,2,0.0,1.0,171307,1,0 +13597,1100105,49,1,2,0.0,1.0,151964,1,0 +13598,1100105,49,1,2,0.0,1.0,171307,1,0 +13599,1100105,49,1,2,0.0,1.0,164794,1,0 +13600,1100105,49,1,2,0.0,1.0,189782,1,0 +13601,1100105,49,1,2,1.0,1.0,162095,1,0 +13602,1100105,49,1,2,1.0,1.0,162095,1,0 +13603,1100105,49,1,2,0.0,1.0,177291,1,0 +13604,1100105,49,1,2,1.0,1.0,154339,1,0 +13605,1100105,49,1,2,0.0,7.0,169877,1,0 +13606,1100105,49,1,2,1.0,1.0,154339,1,0 +13607,1100105,49,1,2,1.0,1.0,154339,1,0 +13608,1100105,49,1,2,0.0,1.0,159551,1,0 +13609,1100105,49,1,2,1.0,1.0,169798,1,0 +13610,1100105,49,1,2,1.0,1.0,169798,1,0 +13611,1100105,49,1,2,2.0,1.0,159726,0,0 +13612,1100105,49,1,2,2.0,1.0,159726,0,0 +13613,1100105,49,1,2,2.0,1.0,159726,0,0 +13614,1100105,49,1,2,2.0,7.0,190076,0,0 +13615,1100105,49,1,2,2.0,1.0,108762,2,0 +13616,1100105,49,1,2,2.0,5.0,135754,2,0 +13617,1100105,49,1,2,2.0,1.0,146053,2,0 +13618,1100105,49,1,2,1.0,5.0,126521,2,0 +13619,1100105,49,1,2,2.0,5.0,141833,2,0 +13620,1100105,49,1,2,0.0,7.0,120769,2,0 +13621,1100105,49,1,2,1.0,5.0,117032,2,0 +13622,1100105,49,1,2,1.0,1.0,144550,2,0 +13623,1100105,49,1,2,1.0,1.0,144550,2,0 +13624,1100105,49,1,2,0.0,5.0,111430,2,0 +13625,1100105,49,1,2,1.0,5.0,103583,2,0 +13626,1100105,49,1,2,0.0,1.0,111324,2,0 +13627,1100105,49,1,2,1.0,1.0,106375,2,0 +13628,1100105,49,1,2,0.0,5.0,149160,2,0 +13629,1100105,49,1,2,0.0,7.0,122584,2,0 +13630,1100105,49,1,2,1.0,7.0,124169,2,0 +13631,1100105,49,1,2,1.0,7.0,117053,2,0 +13632,1100105,49,1,2,1.0,7.0,132056,2,0 +13633,1100105,49,1,2,2.0,7.0,148662,2,0 +13634,1100105,49,1,2,1.0,5.0,149104,2,0 +13635,1100105,49,1,2,0.0,7.0,111450,2,0 +13636,1100105,49,1,2,1.0,1.0,119915,2,0 +13637,1100105,49,1,2,1.0,1.0,145535,2,0 +13638,1100105,49,1,2,2.0,1.0,113942,2,0 +13639,1100105,49,1,2,1.0,5.0,118086,2,0 +13640,1100105,49,1,2,1.0,7.0,108603,2,0 +13641,1100105,49,1,2,0.0,7.0,149358,2,0 +13642,1100105,49,1,2,1.0,1.0,142916,2,0 +13643,1100105,49,1,2,1.0,7.0,132006,2,0 +13644,1100105,49,1,2,1.0,1.0,117032,2,0 +13645,1100105,49,1,2,0.0,1.0,123264,2,0 +13646,1100105,49,1,2,0.0,7.0,149160,2,0 +13647,1100105,49,1,2,1.0,5.0,111870,2,0 +13648,1100105,49,1,2,2.0,7.0,131594,2,0 +13649,1100105,49,1,2,0.0,7.0,121571,2,0 +13650,1100105,49,1,2,2.0,5.0,111440,2,0 +13651,1100105,49,1,2,0.0,5.0,148573,2,0 +13652,1100105,49,1,2,0.0,5.0,121521,2,0 +13653,1100105,49,1,2,1.0,5.0,120558,2,0 +13654,1100105,49,1,2,1.0,5.0,148573,2,0 +13655,1100105,49,1,2,2.0,1.0,113942,2,0 +13656,1100105,49,1,2,0.0,7.0,126018,2,0 +13657,1100105,49,1,2,0.0,5.0,121299,2,0 +13658,1100105,49,1,2,1.0,1.0,112605,2,0 +13659,1100105,49,1,2,2.0,7.0,107105,2,0 +13660,1100105,49,1,2,2.0,7.0,108246,2,0 +13661,1100105,49,1,2,0.0,5.0,135975,2,0 +13662,1100105,49,1,2,0.0,7.0,134777,2,0 +13663,1100105,49,1,2,2.0,7.0,124412,2,0 +13664,1100105,49,1,2,0.0,5.0,121299,2,0 +13665,1100105,49,1,2,2.0,7.0,145390,2,0 +13666,1100105,49,1,2,0.0,5.0,137781,2,0 +13667,1100105,49,1,2,0.0,5.0,137781,2,0 +13668,1100105,49,1,2,0.0,5.0,137781,2,0 +13669,1100105,49,1,2,2.0,5.0,117401,1,0 +13670,1100105,49,1,2,0.0,3.0,118532,1,0 +13671,1100105,49,1,2,0.0,1.0,107227,1,0 +13672,1100105,49,1,2,0.0,1.0,118859,1,0 +13673,1100105,49,1,2,1.0,5.0,101083,1,0 +13674,1100105,49,1,2,2.0,1.0,114923,1,0 +13675,1100105,49,1,2,2.0,1.0,121571,1,0 +13676,1100105,49,1,2,1.0,1.0,117238,1,0 +13677,1100105,49,1,2,1.0,1.0,139807,1,0 +13678,1100105,49,1,2,0.0,7.0,103656,1,0 +13679,1100105,49,1,2,2.0,1.0,107067,1,0 +13680,1100105,49,1,2,0.0,1.0,112920,1,0 +13681,1100105,49,1,2,0.0,1.0,126786,1,0 +13682,1100105,49,1,2,2.0,7.0,108401,1,0 +13683,1100105,49,1,2,0.0,1.0,105062,1,0 +13684,1100105,49,1,2,0.0,1.0,112920,1,0 +13685,1100105,49,1,2,0.0,1.0,105062,1,0 +13686,1100105,49,1,2,1.0,7.0,106173,1,0 +13687,1100105,49,1,2,1.0,1.0,126339,1,0 +13688,1100105,49,1,2,1.0,1.0,122382,0,0 +13689,1100105,49,1,2,1.0,1.0,122382,0,0 +13690,1100105,49,1,2,1.0,1.0,122382,0,0 +13691,1100105,49,1,2,0.0,1.0,116013,0,0 +13692,1100105,49,1,2,1.0,7.0,100900,0,0 +13693,1100105,49,1,2,1.0,7.0,100900,0,0 +13694,1100105,49,1,2,1.0,1.0,91178,2,0 +13695,1100105,49,1,2,0.0,5.0,94219,2,0 +13696,1100105,49,1,2,2.0,1.0,90257,2,0 +13697,1100105,49,1,2,1.0,1.0,94891,2,0 +13698,1100105,49,1,2,0.0,2.0,75161,2,0 +13699,1100105,49,1,2,0.0,7.0,83838,2,0 +13700,1100105,49,1,2,0.0,7.0,71110,2,0 +13701,1100105,49,1,2,1.0,1.0,81184,2,0 +13702,1100105,49,1,2,1.0,5.0,82977,2,0 +13703,1100105,49,1,2,0.0,5.0,79593,2,0 +13704,1100105,49,1,2,0.0,5.0,95511,2,0 +13705,1100105,49,1,2,0.0,5.0,95511,2,0 +13706,1100105,49,1,2,1.0,5.0,99108,2,0 +13707,1100105,49,1,2,0.0,5.0,91266,2,0 +13708,1100105,49,1,2,1.0,5.0,58368,2,0 +13709,1100105,49,1,2,0.0,7.0,83512,2,0 +13710,1100105,49,1,2,1.0,7.0,60814,2,0 +13711,1100105,49,1,2,0.0,5.0,68890,2,0 +13712,1100105,49,1,2,0.0,5.0,58253,2,0 +13713,1100105,49,1,2,0.0,5.0,68890,2,0 +13714,1100105,49,1,2,0.0,7.0,64240,2,0 +13715,1100105,49,1,2,1.0,3.0,87936,2,0 +13716,1100105,49,1,2,2.0,7.0,81715,2,0 +13717,1100105,49,1,2,1.0,5.0,85100,2,0 +13718,1100105,49,1,2,1.0,7.0,58727,2,0 +13719,1100105,49,1,2,0.0,7.0,83512,2,0 +13720,1100105,49,1,2,1.0,7.0,96360,2,0 +13721,1100105,49,1,2,0.0,3.0,98695,2,0 +13722,1100105,49,1,2,1.0,5.0,97634,2,0 +13723,1100105,49,1,2,1.0,5.0,78205,2,0 +13724,1100105,49,1,2,1.0,1.0,75803,2,0 +13725,1100105,49,1,2,1.0,1.0,75803,2,0 +13726,1100105,49,1,2,1.0,5.0,85100,2,0 +13727,1100105,49,1,2,1.0,5.0,79021,2,0 +13728,1100105,49,1,2,2.0,5.0,91178,2,0 +13729,1100105,49,1,2,0.0,1.0,53062,2,0 +13730,1100105,49,1,2,2.0,3.0,77470,2,0 +13731,1100105,49,1,2,1.0,1.0,79041,2,0 +13732,1100105,49,1,2,0.0,7.0,59641,2,0 +13733,1100105,49,1,2,1.0,7.0,54899,1,0 +13734,1100105,49,1,2,1.0,7.0,90739,1,0 +13735,1100105,49,1,2,2.0,1.0,50756,1,0 +13736,1100105,49,1,2,1.0,3.0,72436,1,0 +13737,1100105,49,1,2,1.0,1.0,55502,1,0 +13738,1100105,49,1,2,1.0,1.0,93225,1,0 +13739,1100105,49,1,2,0.0,1.0,98054,1,0 +13740,1100105,49,1,2,1.0,1.0,95711,1,0 +13741,1100105,49,1,2,1.0,1.0,95711,1,0 +13742,1100105,49,1,2,0.0,5.0,91649,1,0 +13743,1100105,49,1,2,1.0,1.0,95711,1,0 +13744,1100105,49,1,2,1.0,7.0,54193,1,0 +13745,1100105,49,1,2,1.0,7.0,54193,1,0 +13746,1100105,49,1,2,1.0,3.0,95639,1,0 +13747,1100105,49,1,2,1.0,7.0,54193,1,0 +13748,1100105,49,1,2,1.0,7.0,54193,1,0 +13749,1100105,49,1,2,1.0,7.0,54193,1,0 +13750,1100105,49,1,2,1.0,7.0,54193,1,0 +13751,1100105,49,1,2,1.0,1.0,99572,1,0 +13752,1100105,49,1,2,1.0,7.0,84899,1,0 +13753,1100105,49,1,2,1.0,5.0,80977,1,0 +13754,1100105,49,1,2,0.0,1.0,66423,1,0 +13755,1100105,49,1,2,0.0,1.0,66423,1,0 +13756,1100105,49,1,2,1.0,1.0,71952,1,0 +13757,1100105,49,1,2,1.0,1.0,71952,1,0 +13758,1100105,49,1,2,1.0,1.0,71952,1,0 +13759,1100105,49,1,2,0.0,7.0,53104,1,0 +13760,1100105,49,1,2,2.0,7.0,75348,1,0 +13761,1100105,49,1,2,1.0,1.0,88046,1,0 +13762,1100105,49,1,2,1.0,5.0,58887,1,0 +13763,1100105,49,1,2,2.0,3.0,66423,1,0 +13764,1100105,49,1,2,0.0,1.0,78531,1,0 +13765,1100105,49,1,2,1.0,1.0,70041,1,0 +13766,1100105,49,1,2,2.0,7.0,75348,1,0 +13767,1100105,49,1,2,1.0,7.0,94339,1,0 +13768,1100105,49,1,2,0.0,1.0,78531,1,0 +13769,1100105,49,1,2,1.0,1.0,70041,1,0 +13770,1100105,49,1,2,0.0,5.0,56882,1,0 +13771,1100105,49,1,2,1.0,1.0,70041,1,0 +13772,1100105,49,1,2,0.0,7.0,53694,1,0 +13773,1100105,49,1,2,0.0,1.0,65851,1,0 +13774,1100105,49,1,2,0.0,1.0,65851,1,0 +13775,1100105,49,1,2,1.0,1.0,54720,0,0 +13776,1100105,49,1,2,1.0,1.0,97217,0,0 +13777,1100105,49,1,2,1.0,1.0,99440,0,0 +13778,1100105,49,1,2,1.0,1.0,54720,0,0 +13779,1100105,49,1,2,1.0,1.0,93362,0,0 +13780,1100105,49,1,2,0.0,1.0,73909,0,0 +13781,1100105,49,1,2,1.0,5.0,52355,0,0 +13782,1100105,49,1,2,1.0,1.0,47972,2,0 +13783,1100105,49,1,2,1.0,7.0,46405,2,0 +13784,1100105,49,1,2,0.0,7.0,27202,2,0 +13785,1100105,49,1,2,0.0,7.0,34793,2,0 +13786,1100105,49,1,2,2.0,1.0,34702,2,0 +13787,1100105,49,1,2,0.0,5.0,49720,2,0 +13788,1100105,49,1,2,0.0,5.0,41649,2,0 +13789,1100105,49,1,2,0.0,5.0,37290,2,0 +13790,1100105,49,1,2,1.0,1.0,46095,1,0 +13791,1100105,49,1,2,0.0,7.0,47855,1,0 +13792,1100105,49,1,2,1.0,1.0,31837,1,0 +13793,1100105,49,1,2,1.0,1.0,37704,1,0 +13794,1100105,49,1,2,0.0,7.0,33106,1,0 +13795,1100105,49,1,2,1.0,3.0,40465,1,0 +13796,1100105,49,1,2,1.0,5.0,48180,1,0 +13797,1100105,49,1,2,0.0,5.0,31735,1,0 +13798,1100105,49,1,2,1.0,5.0,25895,1,0 +13799,1100105,49,1,2,2.0,7.0,31975,1,0 +13800,1100105,49,1,2,0.0,1.0,46612,1,0 +13801,1100105,49,1,2,0.0,1.0,46694,1,0 +13802,1100105,49,1,2,0.0,1.0,46612,1,0 +13803,1100105,49,1,2,0.0,5.0,38326,1,0 +13804,1100105,49,1,2,0.0,5.0,33940,1,0 +13805,1100105,49,1,2,0.0,1.0,36506,0,0 +13806,1100105,49,1,2,1.0,7.0,31000,0,0 +13807,1100105,49,1,2,0.0,1.0,28920,0,0 +13808,1100105,49,1,2,1.0,7.0,31000,0,0 +13809,1100105,49,1,2,1.0,7.0,31000,0,0 +13810,1100105,49,1,2,1.0,1.0,36066,0,0 +13811,1100105,49,1,2,1.0,7.0,31000,0,0 +13812,1100105,49,1,2,0.0,1.0,28920,0,0 +13813,1100105,49,1,2,0.0,1.0,42469,0,0 +13814,1100105,49,1,2,1.0,1.0,26948,0,0 +13815,1100105,49,1,2,0.0,7.0,23202,2,0 +13816,1100105,49,1,2,1.0,3.0,12741,1,0 +13817,1100105,49,1,2,1.0,3.0,12741,1,0 +13818,1100105,49,1,2,0.0,1.0,10612,1,0 +13819,1100105,49,1,2,1.0,3.0,23098,1,0 +13820,1100105,49,1,2,0.0,2.0,10706,1,0 +13821,1100105,49,1,2,0.0,7.0,5306,1,0 +13822,1100105,49,1,2,0.0,7.0,5306,1,0 +13823,1100105,49,1,2,1.0,1.0,17609,1,0 +13824,1100105,49,1,2,0.0,7.0,5306,1,0 +13825,1100105,49,1,2,1.0,5.0,23301,1,0 +13826,1100105,49,1,2,0.0,7.0,5074,1,0 +13827,1100105,49,1,2,0.0,7.0,5074,1,0 +13828,1100105,49,1,2,1.0,7.0,4244,1,0 +13829,1100105,49,1,2,0.0,7.0,5074,1,0 +13830,1100105,49,1,2,0.0,3.0,14864,0,0 +13831,1100105,49,1,2,0.0,1.0,16661,0,0 +13832,1100105,49,1,2,0.0,1.0,16661,0,0 +13833,1100105,49,1,2,0.0,5.0,14916,0,0 +13834,1100105,49,1,2,0.0,1.0,8565,0,0 +13835,1100105,49,1,2,0.0,1.0,8565,0,0 +13836,1100105,49,1,2,1.0,5.0,0,0,0 +13837,1100105,49,1,2,0.0,3.0,6747,0,0 +13838,1100105,49,1,2,0.0,3.0,24213,0,0 +13839,1100105,49,1,2,0.0,5.0,4280,0,0 +13840,1100105,49,1,2,0.0,5.0,4280,0,0 +13841,1100105,49,1,2,0.0,5.0,4280,0,0 +13842,1100105,49,1,2,0.0,7.0,0,0,0 +13843,1100105,49,1,2,2.0,7.0,13465,0,0 +13844,1100105,49,1,2,2.0,7.0,13465,0,0 +13845,1100105,49,1,2,2.0,7.0,13465,0,0 +13846,1100105,49,1,2,0.0,5.0,6367,0,0 +13847,1100105,49,1,2,0.0,5.0,7730,0,0 +13848,1100105,49,1,2,2.0,7.0,19102,0,0 +13849,1100105,49,1,1,1.0,6.0,299788,1,0 +13850,1100105,49,1,1,1.0,4.0,1080379,1,0 +13851,1100105,49,1,1,1.0,4.0,623131,1,0 +13852,1100105,49,1,1,1.0,6.0,414885,1,0 +13853,1100105,49,1,1,1.0,4.0,623131,1,0 +13854,1100105,49,1,1,0.0,4.0,752018,1,0 +13855,1100105,49,1,1,0.0,4.0,752018,1,0 +13856,1100105,49,1,1,0.0,6.0,291070,1,0 +13857,1100105,49,1,1,1.0,6.0,327625,1,0 +13858,1100105,49,1,1,1.0,4.0,200325,1,0 +13859,1100105,49,1,1,0.0,6.0,327625,1,0 +13860,1100105,49,1,1,1.0,4.0,233012,1,0 +13861,1100105,49,1,1,1.0,4.0,243042,1,0 +13862,1100105,49,1,1,0.0,6.0,518947,1,0 +13863,1100105,49,1,1,1.0,4.0,329357,1,0 +13864,1100105,49,1,1,0.0,4.0,222860,1,0 +13865,1100105,49,1,1,0.0,6.0,237227,1,0 +13866,1100105,49,1,1,1.0,4.0,299788,1,0 +13867,1100105,49,1,1,1.0,6.0,241972,1,0 +13868,1100105,49,1,1,1.0,6.0,229156,1,0 +13869,1100105,49,1,1,0.0,6.0,308994,1,0 +13870,1100105,49,1,1,2.0,6.0,308994,1,0 +13871,1100105,49,1,1,0.0,4.0,329256,1,0 +13872,1100105,49,1,1,1.0,6.0,231372,1,0 +13873,1100105,49,1,1,0.0,4.0,238242,1,0 +13874,1100105,49,1,1,1.0,6.0,325253,1,0 +13875,1100105,49,1,1,2.0,6.0,308994,1,0 +13876,1100105,49,1,1,1.0,6.0,211080,1,0 +13877,1100105,49,1,1,1.0,4.0,623131,1,0 +13878,1100105,49,1,1,1.0,6.0,210869,1,0 +13879,1100105,49,1,1,1.0,6.0,421738,1,0 +13880,1100105,49,1,1,1.0,4.0,1148263,1,0 +13881,1100105,49,1,1,2.0,4.0,200325,1,0 +13882,1100105,49,1,1,0.0,6.0,237469,1,0 +13883,1100105,49,1,1,0.0,4.0,284673,1,0 +13884,1100105,49,1,1,1.0,6.0,421738,1,0 +13885,1100105,49,1,1,1.0,4.0,247665,1,0 +13886,1100105,49,1,1,1.0,4.0,256961,1,0 +13887,1100105,49,1,1,1.0,4.0,219514,1,0 +13888,1100105,49,1,1,1.0,6.0,421738,1,0 +13889,1100105,49,1,1,1.0,4.0,303929,1,0 +13890,1100105,49,1,1,1.0,4.0,228167,1,0 +13891,1100105,49,1,1,1.0,6.0,421738,1,0 +13892,1100105,49,1,1,1.0,4.0,1148263,1,0 +13893,1100105,49,1,1,0.0,6.0,236656,1,0 +13894,1100105,49,1,1,1.0,4.0,414335,1,0 +13895,1100105,49,1,1,0.0,4.0,233012,1,0 +13896,1100105,49,1,1,1.0,4.0,488808,1,0 +13897,1100105,49,1,1,1.0,6.0,220569,1,0 +13898,1100105,49,1,1,1.0,6.0,220569,1,0 +13899,1100105,49,1,1,1.0,6.0,421738,1,0 +13900,1100105,49,1,1,0.0,6.0,262532,1,0 +13901,1100105,49,1,1,1.0,6.0,269912,1,0 +13902,1100105,49,1,1,1.0,6.0,421738,1,0 +13903,1100105,49,1,1,0.0,4.0,222860,1,0 +13904,1100105,49,1,1,1.0,4.0,228167,1,0 +13905,1100105,49,1,1,0.0,4.0,257260,1,0 +13906,1100105,49,1,1,1.0,4.0,414335,1,0 +13907,1100105,49,1,1,1.0,4.0,778058,1,0 +13908,1100105,49,1,1,0.0,4.0,233012,1,0 +13909,1100105,49,1,1,1.0,4.0,623131,1,0 +13910,1100105,49,1,1,1.0,4.0,217525,1,0 +13911,1100105,49,1,1,1.0,6.0,229156,1,0 +13912,1100105,49,1,1,0.0,6.0,204139,1,0 +13913,1100105,49,1,1,0.0,4.0,414335,1,0 +13914,1100105,49,1,1,0.0,4.0,238242,1,0 +13915,1100105,49,1,1,1.0,6.0,217554,1,0 +13916,1100105,49,1,1,1.0,6.0,241972,1,0 +13917,1100105,49,1,1,1.0,4.0,212301,1,0 +13918,1100105,49,1,1,0.0,6.0,237469,1,0 +13919,1100105,49,1,1,1.0,4.0,414335,1,0 +13920,1100105,49,1,1,0.0,4.0,788272,1,0 +13921,1100105,49,1,1,0.0,4.0,263586,1,0 +13922,1100105,49,1,1,1.0,6.0,220569,1,0 +13923,1100105,49,1,1,0.0,4.0,222860,1,0 +13924,1100105,49,1,1,0.0,6.0,308994,1,0 +13925,1100105,49,1,1,0.0,6.0,254698,1,0 +13926,1100105,49,1,1,0.0,4.0,257260,1,0 +13927,1100105,49,1,1,1.0,6.0,456848,1,0 +13928,1100105,49,1,1,0.0,4.0,235569,1,0 +13929,1100105,49,1,1,0.0,6.0,215789,1,0 +13930,1100105,49,1,1,0.0,6.0,215789,1,0 +13931,1100105,49,1,1,1.0,6.0,456848,1,0 +13932,1100105,49,1,1,1.0,6.0,278601,1,0 +13933,1100105,49,1,1,0.0,6.0,202619,1,0 +13934,1100105,49,1,1,0.0,6.0,324191,1,0 +13935,1100105,49,1,1,0.0,6.0,214134,1,0 +13936,1100105,49,1,1,0.0,4.0,257923,1,0 +13937,1100105,49,1,1,0.0,4.0,257923,1,0 +13938,1100105,49,1,1,1.0,4.0,215847,1,0 +13939,1100105,49,1,1,1.0,4.0,275562,1,0 +13940,1100105,49,1,1,1.0,6.0,243421,1,0 +13941,1100105,49,1,1,0.0,6.0,256887,1,0 +13942,1100105,49,1,1,1.0,6.0,326847,1,0 +13943,1100105,49,1,1,1.0,4.0,215847,1,0 +13944,1100105,49,1,1,0.0,6.0,204060,1,0 +13945,1100105,49,1,1,0.0,6.0,214134,1,0 +13946,1100105,49,1,1,1.0,4.0,243143,1,0 +13947,1100105,49,1,1,1.0,6.0,353393,0,0 +13948,1100105,49,1,1,1.0,4.0,450205,0,0 +13949,1100105,49,1,1,1.0,6.0,427010,0,0 +13950,1100105,49,1,1,1.0,6.0,429645,0,0 +13951,1100105,49,1,1,1.0,6.0,443036,0,0 +13952,1100105,49,1,1,1.0,6.0,443036,0,0 +13953,1100105,49,1,1,0.0,6.0,227136,0,0 +13954,1100105,49,1,1,1.0,6.0,443036,0,0 +13955,1100105,49,1,1,1.0,6.0,443036,0,0 +13956,1100105,49,1,1,1.0,4.0,243143,0,0 +13957,1100105,49,1,1,1.0,4.0,283667,0,0 +13958,1100105,49,1,1,1.0,4.0,283667,0,0 +13959,1100105,49,1,1,0.0,6.0,183603,1,0 +13960,1100105,49,1,1,1.0,6.0,163423,1,0 +13961,1100105,49,1,1,0.0,4.0,168484,1,0 +13962,1100105,49,1,1,0.0,6.0,183603,1,0 +13963,1100105,49,1,1,6.0,4.0,180411,1,0 +13964,1100105,49,1,1,0.0,4.0,193256,1,0 +13965,1100105,49,1,1,1.0,6.0,192721,1,0 +13966,1100105,49,1,1,1.0,4.0,192488,1,0 +13967,1100105,49,1,1,1.0,4.0,192488,1,0 +13968,1100105,49,1,1,1.0,6.0,154339,1,0 +13969,1100105,49,1,1,1.0,6.0,192488,1,0 +13970,1100105,49,1,1,0.0,6.0,155375,1,0 +13971,1100105,49,1,1,1.0,6.0,166636,1,0 +13972,1100105,49,1,1,1.0,6.0,171521,1,0 +13973,1100105,49,1,1,0.0,4.0,194210,1,0 +13974,1100105,49,1,1,1.0,4.0,154176,1,0 +13975,1100105,49,1,1,1.0,4.0,161308,1,0 +13976,1100105,49,1,1,1.0,4.0,164545,1,0 +13977,1100105,49,1,1,1.0,6.0,165553,1,0 +13978,1100105,49,1,1,1.0,4.0,176092,1,0 +13979,1100105,49,1,1,1.0,6.0,178802,1,0 +13980,1100105,49,1,1,1.0,6.0,166636,1,0 +13981,1100105,49,1,1,0.0,6.0,150951,1,0 +13982,1100105,49,1,1,1.0,4.0,172226,1,0 +13983,1100105,49,1,1,1.0,4.0,154176,1,0 +13984,1100105,49,1,1,1.0,6.0,165734,1,0 +13985,1100105,49,1,1,1.0,6.0,171521,1,0 +13986,1100105,49,1,1,1.0,4.0,164545,1,0 +13987,1100105,49,1,1,0.0,4.0,166769,1,0 +13988,1100105,49,1,1,0.0,6.0,192721,1,0 +13989,1100105,49,1,1,1.0,4.0,172226,1,0 +13990,1100105,49,1,1,1.0,6.0,162095,1,0 +13991,1100105,49,1,1,0.0,6.0,158125,1,0 +13992,1100105,49,1,1,2.0,4.0,156960,1,0 +13993,1100105,49,1,1,1.0,4.0,172226,1,0 +13994,1100105,49,1,1,1.0,6.0,162095,1,0 +13995,1100105,49,1,1,1.0,6.0,162791,1,0 +13996,1100105,49,1,1,1.0,6.0,192488,1,0 +13997,1100105,49,1,1,1.0,4.0,164545,1,0 +13998,1100105,49,1,1,1.0,4.0,182610,1,0 +13999,1100105,49,1,1,1.0,4.0,179873,1,0 +14000,1100105,49,1,1,0.0,6.0,157550,1,0 +14001,1100105,49,1,1,0.0,6.0,197553,1,0 +14002,1100105,49,1,1,0.0,6.0,167161,1,0 +14003,1100105,49,1,1,1.0,4.0,159186,1,0 +14004,1100105,49,1,1,0.0,6.0,166703,1,0 +14005,1100105,49,1,1,0.0,4.0,196329,1,0 +14006,1100105,49,1,1,1.0,6.0,161590,1,0 +14007,1100105,49,1,1,0.0,6.0,166703,1,0 +14008,1100105,49,1,1,1.0,4.0,184510,1,0 +14009,1100105,49,1,1,1.0,6.0,180411,1,0 +14010,1100105,49,1,1,0.0,4.0,182408,1,0 +14011,1100105,49,1,1,0.0,6.0,166703,1,0 +14012,1100105,49,1,1,0.0,6.0,196809,1,0 +14013,1100105,49,1,1,1.0,4.0,153304,1,0 +14014,1100105,49,1,1,0.0,4.0,151825,1,0 +14015,1100105,49,1,1,0.0,6.0,166703,1,0 +14016,1100105,49,1,1,0.0,4.0,152880,1,0 +14017,1100105,49,1,1,0.0,4.0,196329,1,0 +14018,1100105,49,1,1,1.0,6.0,160787,1,0 +14019,1100105,49,1,1,1.0,4.0,164883,1,0 +14020,1100105,49,1,1,0.0,4.0,192190,0,0 +14021,1100105,49,1,1,1.0,4.0,191023,0,0 +14022,1100105,49,1,1,1.0,6.0,151964,0,0 +14023,1100105,49,1,1,1.0,4.0,115418,1,0 +14024,1100105,49,1,1,1.0,6.0,130106,1,0 +14025,1100105,49,1,1,1.0,6.0,130106,1,0 +14026,1100105,49,1,1,0.0,6.0,124383,1,0 +14027,1100105,49,1,1,0.0,4.0,104380,1,0 +14028,1100105,49,1,1,0.0,6.0,121193,1,0 +14029,1100105,49,1,1,1.0,6.0,132587,1,0 +14030,1100105,49,1,1,1.0,4.0,127349,1,0 +14031,1100105,49,1,1,0.0,4.0,105434,1,0 +14032,1100105,49,1,1,0.0,6.0,137961,1,0 +14033,1100105,49,1,1,0.0,6.0,105434,1,0 +14034,1100105,49,1,1,0.0,6.0,105434,1,0 +14035,1100105,49,1,1,0.0,6.0,141757,1,0 +14036,1100105,49,1,1,0.0,4.0,105434,1,0 +14037,1100105,49,1,1,0.0,6.0,101309,1,0 +14038,1100105,49,1,1,0.0,4.0,142368,1,0 +14039,1100105,49,1,1,0.0,4.0,140820,1,0 +14040,1100105,49,1,1,1.0,6.0,121571,1,0 +14041,1100105,49,1,1,0.0,4.0,124408,1,0 +14042,1100105,49,1,1,1.0,4.0,105593,1,0 +14043,1100105,49,1,1,1.0,6.0,105434,1,0 +14044,1100105,49,1,1,0.0,6.0,101309,1,0 +14045,1100105,49,1,1,1.0,6.0,102809,1,0 +14046,1100105,49,1,1,0.0,6.0,115493,1,0 +14047,1100105,49,1,1,0.0,4.0,110279,1,0 +14048,1100105,49,1,1,1.0,4.0,139187,1,0 +14049,1100105,49,1,1,2.0,4.0,117774,1,0 +14050,1100105,49,1,1,1.0,6.0,101309,1,0 +14051,1100105,49,1,1,0.0,4.0,117774,1,0 +14052,1100105,49,1,1,1.0,6.0,131702,1,0 +14053,1100105,49,1,1,1.0,6.0,136900,1,0 +14054,1100105,49,1,1,1.0,6.0,116736,1,0 +14055,1100105,49,1,1,1.0,4.0,123358,1,0 +14056,1100105,49,1,1,1.0,6.0,129684,1,0 +14057,1100105,49,1,1,1.0,4.0,113942,1,0 +14058,1100105,49,1,1,1.0,6.0,123127,1,0 +14059,1100105,49,1,1,1.0,4.0,137064,1,0 +14060,1100105,49,1,1,0.0,6.0,129684,1,0 +14061,1100105,49,1,1,1.0,4.0,143728,1,0 +14062,1100105,49,1,1,0.0,6.0,128480,1,0 +14063,1100105,49,1,1,1.0,6.0,136768,1,0 +14064,1100105,49,1,1,1.0,4.0,146682,1,0 +14065,1100105,49,1,1,1.0,4.0,123358,1,0 +14066,1100105,49,1,1,1.0,4.0,134658,1,0 +14067,1100105,49,1,1,1.0,6.0,120157,1,0 +14068,1100105,49,1,1,1.0,4.0,126521,1,0 +14069,1100105,49,1,1,0.0,6.0,139187,1,0 +14070,1100105,49,1,1,1.0,6.0,100373,1,0 +14071,1100105,49,1,1,0.0,6.0,139838,1,0 +14072,1100105,49,1,1,0.0,6.0,107727,1,0 +14073,1100105,49,1,1,0.0,4.0,127349,1,0 +14074,1100105,49,1,1,1.0,6.0,129684,1,0 +14075,1100105,49,1,1,0.0,6.0,125624,1,0 +14076,1100105,49,1,1,0.0,6.0,105434,1,0 +14077,1100105,49,1,1,0.0,4.0,102784,1,0 +14078,1100105,49,1,1,0.0,4.0,108342,1,0 +14079,1100105,49,1,1,0.0,6.0,128480,1,0 +14080,1100105,49,1,1,1.0,6.0,137961,1,0 +14081,1100105,49,1,1,1.0,4.0,139187,1,0 +14082,1100105,49,1,1,1.0,6.0,131702,1,0 +14083,1100105,49,1,1,0.0,4.0,113063,1,0 +14084,1100105,49,1,1,1.0,6.0,113491,1,0 +14085,1100105,49,1,1,0.0,6.0,124300,1,0 +14086,1100105,49,1,1,1.0,6.0,136768,1,0 +14087,1100105,49,1,1,1.0,4.0,127408,1,0 +14088,1100105,49,1,1,1.0,4.0,106375,1,0 +14089,1100105,49,1,1,1.0,4.0,107067,1,0 +14090,1100105,49,1,1,1.0,4.0,126521,1,0 +14091,1100105,49,1,1,1.0,6.0,137961,1,0 +14092,1100105,49,1,1,1.0,6.0,103583,1,0 +14093,1100105,49,1,1,1.0,4.0,123358,1,0 +14094,1100105,49,1,1,0.0,4.0,113063,1,0 +14095,1100105,49,1,1,0.0,4.0,106124,1,0 +14096,1100105,49,1,1,1.0,4.0,146682,1,0 +14097,1100105,49,1,1,1.0,4.0,116703,1,0 +14098,1100105,49,1,1,0.0,6.0,139838,1,0 +14099,1100105,49,1,1,1.0,4.0,141833,1,0 +14100,1100105,49,1,1,1.0,4.0,123358,1,0 +14101,1100105,49,1,1,1.0,4.0,139187,1,0 +14102,1100105,49,1,1,1.0,6.0,138116,1,0 +14103,1100105,49,1,1,1.0,6.0,137961,1,0 +14104,1100105,49,1,1,0.0,4.0,100817,1,0 +14105,1100105,49,1,1,1.0,4.0,105434,1,0 +14106,1100105,49,1,1,0.0,6.0,101816,1,0 +14107,1100105,49,1,1,1.0,4.0,103583,1,0 +14108,1100105,49,1,1,0.0,4.0,147608,1,0 +14109,1100105,49,1,1,1.0,6.0,126521,1,0 +14110,1100105,49,1,1,1.0,6.0,114045,1,0 +14111,1100105,49,1,1,1.0,4.0,130585,1,0 +14112,1100105,49,1,1,1.0,4.0,145499,1,0 +14113,1100105,49,1,1,1.0,4.0,125226,1,0 +14114,1100105,49,1,1,1.0,4.0,101309,1,0 +14115,1100105,49,1,1,0.0,4.0,127349,1,0 +14116,1100105,49,1,1,1.0,4.0,113942,1,0 +14117,1100105,49,1,1,1.0,4.0,106177,1,0 +14118,1100105,49,1,1,1.0,4.0,134658,1,0 +14119,1100105,49,1,1,0.0,4.0,145611,1,0 +14120,1100105,49,1,1,1.0,6.0,125226,1,0 +14121,1100105,49,1,1,1.0,4.0,143728,1,0 +14122,1100105,49,1,1,1.0,4.0,101309,1,0 +14123,1100105,49,1,1,1.0,4.0,100296,1,0 +14124,1100105,49,1,1,0.0,6.0,101309,1,0 +14125,1100105,49,1,1,0.0,6.0,147608,1,0 +14126,1100105,49,1,1,1.0,4.0,100296,1,0 +14127,1100105,49,1,1,1.0,4.0,148124,1,0 +14128,1100105,49,1,1,1.0,4.0,100296,1,0 +14129,1100105,49,1,1,1.0,4.0,124818,1,0 +14130,1100105,49,1,1,1.0,6.0,137961,1,0 +14131,1100105,49,1,1,0.0,6.0,108597,1,0 +14132,1100105,49,1,1,1.0,4.0,114614,1,0 +14133,1100105,49,1,1,0.0,4.0,117519,1,0 +14134,1100105,49,1,1,0.0,6.0,105434,1,0 +14135,1100105,49,1,1,0.0,4.0,117519,1,0 +14136,1100105,49,1,1,1.0,6.0,105655,1,0 +14137,1100105,49,1,1,0.0,6.0,142336,1,0 +14138,1100105,49,1,1,0.0,6.0,107388,1,0 +14139,1100105,49,1,1,1.0,4.0,112420,1,0 +14140,1100105,49,1,1,0.0,4.0,107388,1,0 +14141,1100105,49,1,1,0.0,4.0,143267,1,0 +14142,1100105,49,1,1,1.0,6.0,108762,1,0 +14143,1100105,49,1,1,1.0,6.0,105686,1,0 +14144,1100105,49,1,1,1.0,6.0,149894,1,0 +14145,1100105,49,1,1,0.0,6.0,141833,1,0 +14146,1100105,49,1,1,0.0,4.0,104925,1,0 +14147,1100105,49,1,1,0.0,4.0,131793,1,0 +14148,1100105,49,1,1,1.0,6.0,111430,1,0 +14149,1100105,49,1,1,1.0,4.0,128480,1,0 +14150,1100105,49,1,1,1.0,6.0,119141,1,0 +14151,1100105,49,1,1,1.0,4.0,115978,1,0 +14152,1100105,49,1,1,0.0,4.0,143267,1,0 +14153,1100105,49,1,1,0.0,4.0,106124,1,0 +14154,1100105,49,1,1,1.0,6.0,106124,1,0 +14155,1100105,49,1,1,1.0,4.0,109360,1,0 +14156,1100105,49,1,1,0.0,6.0,125322,1,0 +14157,1100105,49,1,1,0.0,6.0,102784,1,0 +14158,1100105,49,1,1,0.0,6.0,134658,1,0 +14159,1100105,49,1,1,0.0,4.0,141833,1,0 +14160,1100105,49,1,1,0.0,6.0,111339,1,0 +14161,1100105,49,1,1,1.0,6.0,104925,1,0 +14162,1100105,49,1,1,1.0,6.0,121249,1,0 +14163,1100105,49,1,1,1.0,4.0,131702,1,0 +14164,1100105,49,1,1,0.0,6.0,134658,1,0 +14165,1100105,49,1,1,1.0,4.0,115978,1,0 +14166,1100105,49,1,1,0.0,6.0,115632,1,0 +14167,1100105,49,1,1,0.0,6.0,104516,1,0 +14168,1100105,49,1,1,1.0,4.0,145017,1,0 +14169,1100105,49,1,1,1.0,6.0,113466,1,0 +14170,1100105,49,1,1,0.0,6.0,122056,1,0 +14171,1100105,49,1,1,1.0,4.0,112420,1,0 +14172,1100105,49,1,1,0.0,4.0,105434,1,0 +14173,1100105,49,1,1,0.0,4.0,131793,1,0 +14174,1100105,49,1,1,0.0,6.0,116736,1,0 +14175,1100105,49,1,1,1.0,4.0,115978,1,0 +14176,1100105,49,1,1,1.0,6.0,122584,1,0 +14177,1100105,49,1,1,1.0,4.0,121571,1,0 +14178,1100105,49,1,1,1.0,6.0,149894,1,0 +14179,1100105,49,1,1,1.0,4.0,131702,1,0 +14180,1100105,49,1,1,0.0,4.0,122228,1,0 +14181,1100105,49,1,1,0.0,6.0,102784,1,0 +14182,1100105,49,1,1,0.0,6.0,111339,1,0 +14183,1100105,49,1,1,1.0,4.0,101309,1,0 +14184,1100105,49,1,1,1.0,6.0,107185,1,0 +14185,1100105,49,1,1,0.0,4.0,142399,1,0 +14186,1100105,49,1,1,1.0,4.0,101309,1,0 +14187,1100105,49,1,1,2.0,6.0,128865,0,0 +14188,1100105,49,1,1,0.0,4.0,103471,0,0 +14189,1100105,49,1,1,1.0,4.0,109307,0,0 +14190,1100105,49,1,1,0.0,4.0,112502,0,0 +14191,1100105,49,1,1,1.0,4.0,109307,0,0 +14192,1100105,49,1,1,1.0,4.0,117519,0,0 +14193,1100105,49,1,1,1.0,4.0,107727,0,0 +14194,1100105,49,1,1,0.0,4.0,71735,1,0 +14195,1100105,49,1,1,1.0,4.0,92191,1,0 +14196,1100105,49,1,1,1.0,4.0,54604,1,0 +14197,1100105,49,1,1,0.0,4.0,65775,1,0 +14198,1100105,49,1,1,0.0,6.0,81831,1,0 +14199,1100105,49,1,1,1.0,6.0,82441,1,0 +14200,1100105,49,1,1,0.0,6.0,74867,1,0 +14201,1100105,49,1,1,1.0,6.0,82441,1,0 +14202,1100105,49,1,1,1.0,4.0,66433,1,0 +14203,1100105,49,1,1,1.0,4.0,75912,1,0 +14204,1100105,49,1,1,0.0,6.0,81831,1,0 +14205,1100105,49,1,1,0.0,6.0,81831,1,0 +14206,1100105,49,1,1,0.0,4.0,99272,1,0 +14207,1100105,49,1,1,0.0,6.0,88645,1,0 +14208,1100105,49,1,1,1.0,6.0,99440,1,0 +14209,1100105,49,1,1,0.0,4.0,93225,1,0 +14210,1100105,49,1,1,1.0,6.0,75982,1,0 +14211,1100105,49,1,1,1.0,4.0,82867,1,0 +14212,1100105,49,1,1,0.0,6.0,60490,1,0 +14213,1100105,49,1,1,1.0,6.0,87010,1,0 +14214,1100105,49,1,1,2.0,6.0,87010,1,0 +14215,1100105,49,1,1,1.0,6.0,70916,1,0 +14216,1100105,49,1,1,1.0,6.0,87010,1,0 +14217,1100105,49,1,1,0.0,6.0,90673,1,0 +14218,1100105,49,1,1,1.0,6.0,69593,1,0 +14219,1100105,49,1,1,0.0,6.0,77687,1,0 +14220,1100105,49,1,1,0.0,6.0,77687,1,0 +14221,1100105,49,1,1,0.0,4.0,78008,1,0 +14222,1100105,49,1,1,1.0,6.0,79229,1,0 +14223,1100105,49,1,1,0.0,4.0,69593,1,0 +14224,1100105,49,1,1,0.0,6.0,95511,1,0 +14225,1100105,49,1,1,1.0,6.0,92782,1,0 +14226,1100105,49,1,1,0.0,6.0,58368,1,0 +14227,1100105,49,1,1,1.0,4.0,61028,1,0 +14228,1100105,49,1,1,0.0,4.0,95289,1,0 +14229,1100105,49,1,1,1.0,6.0,78266,1,0 +14230,1100105,49,1,1,1.0,4.0,85653,1,0 +14231,1100105,49,1,1,0.0,6.0,75982,1,0 +14232,1100105,49,1,1,1.0,6.0,60785,1,0 +14233,1100105,49,1,1,0.0,4.0,59772,1,0 +14234,1100105,49,1,1,0.0,6.0,75982,1,0 +14235,1100105,49,1,1,1.0,6.0,51791,1,0 +14236,1100105,49,1,1,1.0,4.0,72508,1,0 +14237,1100105,49,1,1,0.0,4.0,99756,1,0 +14238,1100105,49,1,1,1.0,6.0,68980,1,0 +14239,1100105,49,1,1,1.0,4.0,93432,1,0 +14240,1100105,49,1,1,1.0,4.0,74947,1,0 +14241,1100105,49,1,1,1.0,6.0,87126,1,0 +14242,1100105,49,1,1,1.0,6.0,74947,1,0 +14243,1100105,49,1,1,1.0,6.0,70641,1,0 +14244,1100105,49,1,1,0.0,4.0,76338,1,0 +14245,1100105,49,1,1,0.0,6.0,75982,1,0 +14246,1100105,49,1,1,1.0,4.0,70436,1,0 +14247,1100105,49,1,1,1.0,6.0,68980,1,0 +14248,1100105,49,1,1,0.0,4.0,76338,1,0 +14249,1100105,49,1,1,1.0,6.0,92782,1,0 +14250,1100105,49,1,1,0.0,6.0,72222,1,0 +14251,1100105,49,1,1,1.0,6.0,50654,1,0 +14252,1100105,49,1,1,0.0,4.0,72942,1,0 +14253,1100105,49,1,1,1.0,6.0,63186,1,0 +14254,1100105,49,1,1,0.0,4.0,98801,1,0 +14255,1100105,49,1,1,0.0,4.0,75982,1,0 +14256,1100105,49,1,1,1.0,4.0,65797,1,0 +14257,1100105,49,1,1,0.0,4.0,63260,1,0 +14258,1100105,49,1,1,1.0,4.0,65797,1,0 +14259,1100105,49,1,1,1.0,6.0,51791,1,0 +14260,1100105,49,1,1,0.0,4.0,95289,1,0 +14261,1100105,49,1,1,1.0,4.0,63674,1,0 +14262,1100105,49,1,1,0.0,6.0,63674,1,0 +14263,1100105,49,1,1,1.0,4.0,74947,1,0 +14264,1100105,49,1,1,1.0,6.0,96244,1,0 +14265,1100105,49,1,1,1.0,4.0,74947,1,0 +14266,1100105,49,1,1,1.0,6.0,60785,1,0 +14267,1100105,49,1,1,1.0,4.0,61028,1,0 +14268,1100105,49,1,1,0.0,4.0,75982,1,0 +14269,1100105,49,1,1,0.0,6.0,79593,1,0 +14270,1100105,49,1,1,1.0,6.0,75982,1,0 +14271,1100105,49,1,1,1.0,4.0,63674,1,0 +14272,1100105,49,1,1,1.0,6.0,74947,1,0 +14273,1100105,49,1,1,1.0,4.0,74947,1,0 +14274,1100105,49,1,1,0.0,6.0,79593,1,0 +14275,1100105,49,1,1,0.0,6.0,96022,1,0 +14276,1100105,49,1,1,1.0,4.0,73804,1,0 +14277,1100105,49,1,1,1.0,4.0,55720,1,0 +14278,1100105,49,1,1,1.0,4.0,81047,1,0 +14279,1100105,49,1,1,0.0,6.0,75982,1,0 +14280,1100105,49,1,1,0.0,4.0,83293,1,0 +14281,1100105,49,1,1,1.0,4.0,73804,1,0 +14282,1100105,49,1,1,0.0,4.0,62099,1,0 +14283,1100105,49,1,1,0.0,6.0,93836,1,0 +14284,1100105,49,1,1,0.0,6.0,93836,1,0 +14285,1100105,49,1,1,1.0,6.0,62150,1,0 +14286,1100105,49,1,1,0.0,4.0,62099,1,0 +14287,1100105,49,1,1,1.0,6.0,88046,1,0 +14288,1100105,49,1,1,0.0,4.0,66423,1,0 +14289,1100105,49,1,1,0.0,6.0,68532,1,0 +14290,1100105,49,1,1,1.0,6.0,62150,1,0 +14291,1100105,49,1,1,1.0,6.0,61152,1,0 +14292,1100105,49,1,1,0.0,4.0,81047,1,0 +14293,1100105,49,1,1,1.0,4.0,50939,1,0 +14294,1100105,49,1,1,1.0,6.0,58368,1,0 +14295,1100105,49,1,1,1.0,6.0,61152,1,0 +14296,1100105,49,1,1,0.0,4.0,75912,1,0 +14297,1100105,49,1,1,0.0,4.0,71472,1,0 +14298,1100105,49,1,1,0.0,6.0,89936,1,0 +14299,1100105,49,1,1,0.0,4.0,76652,1,0 +14300,1100105,49,1,1,0.0,6.0,97644,1,0 +14301,1100105,49,1,1,0.0,6.0,73804,1,0 +14302,1100105,49,1,1,0.0,6.0,68532,1,0 +14303,1100105,49,1,1,0.0,4.0,98695,1,0 +14304,1100105,49,1,1,0.0,6.0,82060,1,0 +14305,1100105,49,1,1,0.0,4.0,83384,1,0 +14306,1100105,49,1,1,0.0,6.0,89619,1,0 +14307,1100105,49,1,1,1.0,6.0,58887,1,0 +14308,1100105,49,1,1,0.0,4.0,66293,1,0 +14309,1100105,49,1,1,1.0,6.0,60785,1,0 +14310,1100105,49,1,1,0.0,4.0,71990,1,0 +14311,1100105,49,1,1,0.0,4.0,70916,1,0 +14312,1100105,49,1,1,0.0,6.0,86724,1,0 +14313,1100105,49,1,1,0.0,6.0,72942,1,0 +14314,1100105,49,1,1,0.0,6.0,63674,1,0 +14315,1100105,49,1,1,1.0,6.0,69903,1,0 +14316,1100105,49,1,1,0.0,6.0,79283,1,0 +14317,1100105,49,1,1,0.0,6.0,52801,1,0 +14318,1100105,49,1,1,0.0,6.0,63674,1,0 +14319,1100105,49,1,1,1.0,4.0,87795,1,0 +14320,1100105,49,1,1,0.0,6.0,79593,1,0 +14321,1100105,49,1,1,1.0,4.0,69829,1,0 +14322,1100105,49,1,1,0.0,6.0,82867,1,0 +14323,1100105,49,1,1,0.0,4.0,79593,1,0 +14324,1100105,49,1,1,1.0,4.0,82867,1,0 +14325,1100105,49,1,1,1.0,6.0,62154,1,0 +14326,1100105,49,1,1,0.0,4.0,70916,1,0 +14327,1100105,49,1,1,1.0,6.0,85960,1,0 +14328,1100105,49,1,1,0.0,4.0,50939,1,0 +14329,1100105,49,1,1,0.0,4.0,63260,1,0 +14330,1100105,49,1,1,0.0,6.0,61798,1,0 +14331,1100105,49,1,1,0.0,6.0,62150,1,0 +14332,1100105,49,1,1,0.0,4.0,63674,1,0 +14333,1100105,49,1,1,0.0,6.0,76652,1,0 +14334,1100105,49,1,1,0.0,6.0,76995,1,0 +14335,1100105,49,1,1,1.0,4.0,69829,1,0 +14336,1100105,49,1,1,0.0,6.0,67329,1,0 +14337,1100105,49,1,1,0.0,6.0,81098,1,0 +14338,1100105,49,1,1,0.0,4.0,69593,1,0 +14339,1100105,49,1,1,0.0,6.0,63674,1,0 +14340,1100105,49,1,1,0.0,6.0,85960,1,0 +14341,1100105,49,1,1,0.0,4.0,98270,1,0 +14342,1100105,49,1,1,0.0,6.0,94891,1,0 +14343,1100105,49,1,1,0.0,6.0,61798,1,0 +14344,1100105,49,1,1,0.0,4.0,79593,1,0 +14345,1100105,49,1,1,1.0,6.0,60785,1,0 +14346,1100105,49,1,1,0.0,6.0,54615,1,0 +14347,1100105,49,1,1,0.0,6.0,85960,1,0 +14348,1100105,49,1,1,0.0,6.0,82867,1,0 +14349,1100105,49,1,1,1.0,4.0,77687,1,0 +14350,1100105,49,1,1,0.0,6.0,61552,1,0 +14351,1100105,49,1,1,0.0,6.0,65580,1,0 +14352,1100105,49,1,1,0.0,4.0,64315,1,0 +14353,1100105,49,1,1,0.0,6.0,73804,1,0 +14354,1100105,49,1,1,1.0,6.0,73808,1,0 +14355,1100105,49,1,1,1.0,6.0,53863,1,0 +14356,1100105,49,1,1,1.0,6.0,58887,1,0 +14357,1100105,49,1,1,1.0,4.0,99440,1,0 +14358,1100105,49,1,1,1.0,4.0,69829,1,0 +14359,1100105,49,1,1,1.0,4.0,66595,1,0 +14360,1100105,49,1,1,1.0,6.0,54604,1,0 +14361,1100105,49,1,1,0.0,6.0,70916,1,0 +14362,1100105,49,1,1,0.0,6.0,76967,1,0 +14363,1100105,49,1,1,1.0,6.0,54604,1,0 +14364,1100105,49,1,1,1.0,4.0,92951,1,0 +14365,1100105,49,1,1,0.0,6.0,79283,1,0 +14366,1100105,49,1,1,1.0,6.0,71472,1,0 +14367,1100105,49,1,1,0.0,6.0,60203,1,0 +14368,1100105,49,1,1,1.0,6.0,67329,1,0 +14369,1100105,49,1,1,0.0,6.0,62150,1,0 +14370,1100105,49,1,1,1.0,6.0,54653,1,0 +14371,1100105,49,1,1,0.0,4.0,84347,1,0 +14372,1100105,49,1,1,1.0,4.0,95297,1,0 +14373,1100105,49,1,1,1.0,6.0,55674,1,0 +14374,1100105,49,1,1,0.0,6.0,67877,1,0 +14375,1100105,49,1,1,0.0,4.0,70916,1,0 +14376,1100105,49,1,1,0.0,6.0,82867,1,0 +14377,1100105,49,1,1,1.0,4.0,92189,1,0 +14378,1100105,49,1,1,1.0,6.0,62154,1,0 +14379,1100105,49,1,1,0.0,6.0,65851,1,0 +14380,1100105,49,1,1,1.0,6.0,91178,1,0 +14381,1100105,49,1,1,1.0,4.0,87795,1,0 +14382,1100105,49,1,1,0.0,4.0,75385,1,0 +14383,1100105,49,1,1,1.0,6.0,63260,1,0 +14384,1100105,49,1,1,0.0,4.0,53533,1,0 +14385,1100105,49,1,1,1.0,4.0,56971,1,0 +14386,1100105,49,1,1,0.0,4.0,53062,1,0 +14387,1100105,49,1,1,0.0,6.0,53062,1,0 +14388,1100105,49,1,1,1.0,6.0,92077,1,0 +14389,1100105,49,1,1,0.0,6.0,52801,1,0 +14390,1100105,49,1,1,1.0,6.0,99388,1,0 +14391,1100105,49,1,1,1.0,4.0,69829,1,0 +14392,1100105,49,1,1,1.0,6.0,62978,1,0 +14393,1100105,49,1,1,1.0,4.0,77687,1,0 +14394,1100105,49,1,1,0.0,6.0,63674,1,0 +14395,1100105,49,1,1,0.0,4.0,70916,1,0 +14396,1100105,49,1,1,0.0,4.0,53533,1,0 +14397,1100105,49,1,1,1.0,4.0,79759,1,0 +14398,1100105,49,1,1,0.0,6.0,76995,1,0 +14399,1100105,49,1,1,1.0,6.0,55674,1,0 +14400,1100105,49,1,1,0.0,4.0,62150,1,0 +14401,1100105,49,1,1,1.0,4.0,92951,1,0 +14402,1100105,49,1,1,0.0,6.0,83838,1,0 +14403,1100105,49,1,1,1.0,4.0,87126,1,0 +14404,1100105,49,1,1,0.0,6.0,65580,1,0 +14405,1100105,49,1,1,1.0,4.0,92189,1,0 +14406,1100105,49,1,1,0.0,6.0,73956,1,0 +14407,1100105,49,1,1,3.0,4.0,69647,1,0 +14408,1100105,49,1,1,0.0,4.0,73804,1,0 +14409,1100105,49,1,1,1.0,6.0,84347,1,0 +14410,1100105,49,1,1,0.0,6.0,72942,1,0 +14411,1100105,49,1,1,0.0,4.0,81047,1,0 +14412,1100105,49,1,1,1.0,4.0,89936,1,0 +14413,1100105,49,1,1,1.0,6.0,62978,1,0 +14414,1100105,49,1,1,0.0,6.0,63674,1,0 +14415,1100105,49,1,1,1.0,4.0,79075,1,0 +14416,1100105,49,1,1,1.0,6.0,54604,1,0 +14417,1100105,49,1,1,0.0,6.0,83236,1,0 +14418,1100105,49,1,1,0.0,6.0,62099,1,0 +14419,1100105,49,1,1,0.0,6.0,53345,1,0 +14420,1100105,49,1,1,0.0,6.0,85653,1,0 +14421,1100105,49,1,1,0.0,6.0,67329,1,0 +14422,1100105,49,1,1,0.0,4.0,58887,1,0 +14423,1100105,49,1,1,0.0,4.0,84899,1,0 +14424,1100105,49,1,1,1.0,4.0,65598,1,0 +14425,1100105,49,1,1,1.0,6.0,92191,1,0 +14426,1100105,49,1,1,0.0,6.0,56245,1,0 +14427,1100105,49,1,1,0.0,6.0,72508,1,0 +14428,1100105,49,1,1,0.0,6.0,56245,1,0 +14429,1100105,49,1,1,0.0,4.0,58887,1,0 +14430,1100105,49,1,1,0.0,4.0,87126,1,0 +14431,1100105,49,1,1,1.0,6.0,92191,1,0 +14432,1100105,49,1,1,0.0,6.0,72508,1,0 +14433,1100105,49,1,1,0.0,4.0,50654,1,0 +14434,1100105,49,1,1,0.0,6.0,72508,1,0 +14435,1100105,49,1,1,0.0,4.0,87126,1,0 +14436,1100105,49,1,1,0.0,4.0,84899,1,0 +14437,1100105,49,1,1,0.0,6.0,50397,1,0 +14438,1100105,49,1,1,0.0,6.0,72508,1,0 +14439,1100105,49,1,1,1.0,6.0,61010,0,0 +14440,1100105,49,1,1,1.0,4.0,89861,0,0 +14441,1100105,49,1,1,0.0,4.0,61798,0,0 +14442,1100105,49,1,1,1.0,6.0,82870,0,0 +14443,1100105,49,1,1,0.0,4.0,56745,0,0 +14444,1100105,49,1,1,0.0,4.0,55184,0,0 +14445,1100105,49,1,1,1.0,6.0,59886,0,0 +14446,1100105,49,1,1,0.0,6.0,56564,0,0 +14447,1100105,49,1,1,0.0,4.0,94219,0,0 +14448,1100105,49,1,1,0.0,4.0,51396,0,0 +14449,1100105,49,1,1,1.0,4.0,69165,0,0 +14450,1100105,49,1,1,0.0,4.0,51396,0,0 +14451,1100105,49,1,1,0.0,6.0,88865,0,0 +14452,1100105,49,1,1,0.0,4.0,50408,0,0 +14453,1100105,49,1,1,0.0,4.0,59975,0,0 +14454,1100105,49,1,1,1.0,6.0,59886,0,0 +14455,1100105,49,1,1,1.0,6.0,83715,0,0 +14456,1100105,49,1,1,1.0,6.0,74158,0,0 +14457,1100105,49,1,1,1.0,4.0,88083,0,0 +14458,1100105,49,1,1,0.0,6.0,77895,0,0 +14459,1100105,49,1,1,0.0,6.0,67583,0,0 +14460,1100105,49,1,1,0.0,4.0,59975,0,0 +14461,1100105,49,1,1,0.0,6.0,67583,0,0 +14462,1100105,49,1,1,1.0,6.0,59886,0,0 +14463,1100105,49,1,1,1.0,4.0,72695,0,0 +14464,1100105,49,1,1,0.0,4.0,62206,0,0 +14465,1100105,49,1,1,1.0,6.0,51178,0,0 +14466,1100105,49,1,1,1.0,4.0,55821,0,0 +14467,1100105,49,1,1,1.0,4.0,82776,0,0 +14468,1100105,49,1,1,0.0,6.0,62222,0,0 +14469,1100105,49,1,1,0.0,4.0,58214,0,0 +14470,1100105,49,1,1,0.0,4.0,58214,0,0 +14471,1100105,49,1,1,0.0,4.0,79593,0,0 +14472,1100105,49,1,1,1.0,6.0,79593,0,0 +14473,1100105,49,1,1,1.0,6.0,79593,0,0 +14474,1100105,49,1,1,1.0,4.0,76660,0,0 +14475,1100105,49,1,1,0.0,6.0,33739,1,0 +14476,1100105,49,1,1,1.0,4.0,27967,1,0 +14477,1100105,49,1,1,0.0,4.0,42184,1,0 +14478,1100105,49,1,1,0.0,6.0,48477,1,0 +14479,1100105,49,1,1,0.0,4.0,34182,1,0 +14480,1100105,49,1,1,0.0,4.0,42184,1,0 +14481,1100105,49,1,1,1.0,4.0,42077,1,0 +14482,1100105,49,1,1,0.0,6.0,31837,1,0 +14483,1100105,49,1,1,1.0,4.0,40397,1,0 +14484,1100105,49,1,1,1.0,4.0,30392,1,0 +14485,1100105,49,1,1,0.0,4.0,45633,1,0 +14486,1100105,49,1,1,0.0,6.0,40523,1,0 +14487,1100105,49,1,1,0.0,6.0,30392,1,0 +14488,1100105,49,1,1,1.0,6.0,46612,1,0 +14489,1100105,49,1,1,1.0,6.0,42449,1,0 +14490,1100105,49,1,1,0.0,6.0,42131,1,0 +14491,1100105,49,1,1,1.0,4.0,25895,1,0 +14492,1100105,49,1,1,1.0,4.0,25895,1,0 +14493,1100105,49,1,1,0.0,6.0,42131,1,0 +14494,1100105,49,1,1,0.0,6.0,42131,1,0 +14495,1100105,49,1,1,0.0,4.0,42449,1,0 +14496,1100105,49,1,1,0.0,6.0,42131,1,0 +14497,1100105,49,1,1,0.0,6.0,43829,1,0 +14498,1100105,49,1,1,0.0,6.0,26147,1,0 +14499,1100105,49,1,1,1.0,6.0,42449,1,0 +14500,1100105,49,1,1,1.0,4.0,40523,1,0 +14501,1100105,49,1,1,0.0,4.0,26358,1,0 +14502,1100105,49,1,1,1.0,4.0,35332,1,0 +14503,1100105,49,1,1,1.0,6.0,33146,1,0 +14504,1100105,49,1,1,0.0,4.0,48180,1,0 +14505,1100105,49,1,1,0.0,6.0,27837,1,0 +14506,1100105,49,1,1,0.0,6.0,27837,1,0 +14507,1100105,49,1,1,0.0,6.0,43897,1,0 +14508,1100105,49,1,1,0.0,6.0,42173,1,0 +14509,1100105,49,1,1,0.0,6.0,27967,1,0 +14510,1100105,49,1,1,0.0,4.0,42449,1,0 +14511,1100105,49,1,1,0.0,6.0,45589,1,0 +14512,1100105,49,1,1,1.0,6.0,47109,1,0 +14513,1100105,49,1,1,1.0,4.0,43829,1,0 +14514,1100105,49,1,1,0.0,6.0,45589,1,0 +14515,1100105,49,1,1,0.0,4.0,37484,1,0 +14516,1100105,49,1,1,2.0,4.0,42449,1,0 +14517,1100105,49,1,1,0.0,4.0,45633,1,0 +14518,1100105,49,1,1,0.0,4.0,41433,1,0 +14519,1100105,49,1,1,1.0,4.0,47130,1,0 +14520,1100105,49,1,1,1.0,6.0,25469,1,0 +14521,1100105,49,1,1,0.0,6.0,31075,1,0 +14522,1100105,49,1,1,0.0,6.0,47755,1,0 +14523,1100105,49,1,1,0.0,4.0,26931,1,0 +14524,1100105,49,1,1,1.0,6.0,48817,1,0 +14525,1100105,49,1,1,0.0,4.0,45633,1,0 +14526,1100105,49,1,1,0.0,6.0,25895,1,0 +14527,1100105,49,1,1,1.0,4.0,41537,1,0 +14528,1100105,49,1,1,1.0,6.0,46694,1,0 +14529,1100105,49,1,1,0.0,4.0,42826,1,0 +14530,1100105,49,1,1,0.0,6.0,39265,1,0 +14531,1100105,49,1,1,0.0,6.0,39510,1,0 +14532,1100105,49,1,1,0.0,4.0,45633,1,0 +14533,1100105,49,1,1,0.0,6.0,39510,1,0 +14534,1100105,49,1,1,0.0,4.0,48122,1,0 +14535,1100105,49,1,1,0.0,4.0,40397,1,0 +14536,1100105,49,1,1,1.0,6.0,34261,1,0 +14537,1100105,49,1,1,0.0,4.0,47755,1,0 +14538,1100105,49,1,1,0.0,4.0,40397,1,0 +14539,1100105,49,1,1,0.0,4.0,31075,1,0 +14540,1100105,49,1,1,0.0,6.0,29728,1,0 +14541,1100105,49,1,1,0.0,6.0,31075,1,0 +14542,1100105,49,1,1,0.0,4.0,40397,1,0 +14543,1100105,49,1,1,0.0,4.0,36254,1,0 +14544,1100105,49,1,1,1.0,6.0,48817,1,0 +14545,1100105,49,1,1,0.0,6.0,25895,1,0 +14546,1100105,49,1,1,0.0,4.0,44282,1,0 +14547,1100105,49,1,1,0.0,4.0,38204,1,0 +14548,1100105,49,1,1,1.0,4.0,49554,1,0 +14549,1100105,49,1,1,0.0,6.0,32120,1,0 +14550,1100105,49,1,1,0.0,4.0,36254,1,0 +14551,1100105,49,1,1,0.0,4.0,36254,1,0 +14552,1100105,49,1,1,1.0,6.0,45680,1,0 +14553,1100105,49,1,1,1.0,4.0,41537,1,0 +14554,1100105,49,1,1,0.0,6.0,49237,1,0 +14555,1100105,49,1,1,0.0,6.0,37143,1,0 +14556,1100105,49,1,1,0.0,4.0,41433,1,0 +14557,1100105,49,1,1,0.0,4.0,33871,1,0 +14558,1100105,49,1,1,0.0,6.0,46745,1,0 +14559,1100105,49,1,1,0.0,6.0,49720,1,0 +14560,1100105,49,1,1,0.0,6.0,48684,1,0 +14561,1100105,49,1,1,0.0,6.0,49720,1,0 +14562,1100105,49,1,1,1.0,6.0,29521,0,0 +14563,1100105,49,1,1,1.0,6.0,29521,0,0 +14564,1100105,49,1,1,1.0,6.0,29521,0,0 +14565,1100105,49,1,1,0.0,6.0,27346,0,0 +14566,1100105,49,1,1,0.0,6.0,34445,0,0 +14567,1100105,49,1,1,0.0,4.0,40294,0,0 +14568,1100105,49,1,1,0.0,6.0,27346,0,0 +14569,1100105,49,1,1,0.0,6.0,38497,0,0 +14570,1100105,49,1,1,0.0,6.0,42490,0,0 +14571,1100105,49,1,1,0.0,6.0,39713,0,0 +14572,1100105,49,1,1,0.0,6.0,28386,0,0 +14573,1100105,49,1,1,0.0,6.0,43157,0,0 +14574,1100105,49,1,1,0.0,6.0,30453,0,0 +14575,1100105,49,1,1,1.0,4.0,38544,0,0 +14576,1100105,49,1,1,0.0,4.0,29210,0,0 +14577,1100105,49,1,1,0.0,4.0,27967,0,0 +14578,1100105,49,1,1,1.0,6.0,32580,0,0 +14579,1100105,49,1,1,1.0,6.0,33528,0,0 +14580,1100105,49,1,1,0.0,6.0,32475,0,0 +14581,1100105,49,1,1,1.0,4.0,38544,0,0 +14582,1100105,49,1,1,0.0,6.0,43157,0,0 +14583,1100105,49,1,1,0.0,6.0,27760,0,0 +14584,1100105,49,1,1,1.0,4.0,38544,0,0 +14585,1100105,49,1,1,1.0,6.0,26931,0,0 +14586,1100105,49,1,1,0.0,6.0,32475,0,0 +14587,1100105,49,1,1,0.0,6.0,43157,0,0 +14588,1100105,49,1,1,0.0,4.0,36506,0,0 +14589,1100105,49,1,1,0.0,6.0,30453,0,0 +14590,1100105,49,1,1,1.0,6.0,37788,0,0 +14591,1100105,49,1,1,0.0,4.0,37383,0,0 +14592,1100105,49,1,1,0.0,4.0,25327,0,0 +14593,1100105,49,1,1,0.0,4.0,39584,0,0 +14594,1100105,49,1,1,0.0,6.0,44572,0,0 +14595,1100105,49,1,1,0.0,4.0,34850,0,0 +14596,1100105,49,1,1,1.0,6.0,44541,0,0 +14597,1100105,49,1,1,1.0,6.0,44541,0,0 +14598,1100105,49,1,1,0.0,4.0,27412,0,0 +14599,1100105,49,1,1,0.0,4.0,27412,0,0 +14600,1100105,49,1,1,0.0,6.0,27592,0,0 +14601,1100105,49,1,1,0.0,6.0,27592,0,0 +14602,1100105,49,1,1,0.0,6.0,36357,0,0 +14603,1100105,49,1,1,0.0,6.0,42826,0,0 +14604,1100105,49,1,1,1.0,6.0,42826,0,0 +14605,1100105,49,1,1,0.0,4.0,41739,0,0 +14606,1100105,49,1,1,0.0,4.0,41739,0,0 +14607,1100105,49,1,1,1.0,6.0,22816,1,0 +14608,1100105,49,1,1,1.0,4.0,20906,1,0 +14609,1100105,49,1,1,0.0,6.0,21959,1,0 +14610,1100105,49,1,1,1.0,4.0,20906,1,0 +14611,1100105,49,1,1,1.0,6.0,13062,1,0 +14612,1100105,49,1,1,1.0,4.0,20906,1,0 +14613,1100105,49,1,1,1.0,4.0,20906,1,0 +14614,1100105,49,1,1,0.0,6.0,19700,1,0 +14615,1100105,49,1,1,0.0,4.0,13880,1,0 +14616,1100105,49,1,1,0.0,4.0,13880,1,0 +14617,1100105,49,1,1,0.0,6.0,8489,1,0 +14618,1100105,49,1,1,1.0,4.0,18645,1,0 +14619,1100105,49,1,1,1.0,4.0,18201,1,0 +14620,1100105,49,1,1,1.0,4.0,18201,1,0 +14621,1100105,49,1,1,0.0,4.0,16780,1,0 +14622,1100105,49,1,1,1.0,4.0,16595,1,0 +14623,1100105,49,1,1,0.0,6.0,19505,1,0 +14624,1100105,49,1,1,0.0,6.0,7192,1,0 +14625,1100105,49,1,1,0.0,6.0,14347,1,0 +14626,1100105,49,1,1,0.0,6.0,103,1,0 +14627,1100105,49,1,1,0.0,4.0,955,1,0 +14628,1100105,49,1,1,0.0,4.0,15815,1,0 +14629,1100105,49,1,1,0.0,6.0,7192,1,0 +14630,1100105,49,1,1,0.0,6.0,14347,1,0 +14631,1100105,49,1,1,1.0,4.0,24408,1,0 +14632,1100105,49,1,1,0.0,4.0,16573,1,0 +14633,1100105,49,1,1,0.0,6.0,8565,1,0 +14634,1100105,49,1,1,0.0,4.0,20716,1,0 +14635,1100105,49,1,1,1.0,6.0,8244,1,0 +14636,1100105,49,1,1,1.0,6.0,8244,1,0 +14637,1100105,49,1,1,2.0,4.0,21413,1,0 +14638,1100105,49,1,1,0.0,4.0,12238,1,0 +14639,1100105,49,1,1,0.0,4.0,7747,1,0 +14640,1100105,49,1,1,0.0,4.0,11394,1,0 +14641,1100105,49,1,1,1.0,6.0,10706,1,0 +14642,1100105,49,1,1,1.0,6.0,10706,1,0 +14643,1100105,49,1,1,1.0,6.0,12652,1,0 +14644,1100105,49,1,1,1.0,6.0,10706,1,0 +14645,1100105,49,1,1,0.0,6.0,4282,1,0 +14646,1100105,49,1,1,1.0,6.0,4558,1,0 +14647,1100105,49,1,1,0.0,6.0,24882,1,0 +14648,1100105,49,1,1,1.0,4.0,22286,1,0 +14649,1100105,49,1,1,0.0,4.0,11703,1,0 +14650,1100105,49,1,1,0.0,4.0,7091,1,0 +14651,1100105,49,1,1,0.0,4.0,20032,1,0 +14652,1100105,49,1,1,0.0,6.0,14857,1,0 +14653,1100105,49,1,1,1.0,6.0,6326,1,0 +14654,1100105,49,1,1,0.0,4.0,11703,1,0 +14655,1100105,49,1,1,0.0,4.0,5271,1,0 +14656,1100105,49,1,1,0.0,6.0,21224,1,0 +14657,1100105,49,1,1,0.0,6.0,18235,1,0 +14658,1100105,49,1,1,0.0,6.0,5271,1,0 +14659,1100105,49,1,1,1.0,4.0,17344,1,0 +14660,1100105,49,1,1,0.0,4.0,5271,1,0 +14661,1100105,49,1,1,0.0,6.0,10543,1,0 +14662,1100105,49,1,1,0.0,6.0,20565,1,0 +14663,1100105,49,1,1,0.0,4.0,21224,1,0 +14664,1100105,49,1,1,0.0,6.0,6424,1,0 +14665,1100105,49,1,1,0.0,6.0,6424,1,0 +14666,1100105,49,1,1,1.0,6.0,17923,1,0 +14667,1100105,49,1,1,0.0,6.0,11497,0,0 +14668,1100105,49,1,1,0.0,6.0,11497,0,0 +14669,1100105,49,1,1,0.0,6.0,23126,0,0 +14670,1100105,49,1,1,0.0,6.0,23126,0,0 +14671,1100105,49,1,1,0.0,6.0,8779,0,0 +14672,1100105,49,1,1,0.0,4.0,2108,0,0 +14673,1100105,49,1,1,0.0,6.0,8779,0,0 +14674,1100105,49,1,1,0.0,6.0,11144,0,0 +14675,1100105,49,1,1,0.0,6.0,9117,0,0 +14676,1100105,49,1,1,0.0,6.0,22035,0,0 +14677,1100105,49,1,1,0.0,6.0,21752,0,0 +14678,1100105,49,1,1,0.0,6.0,13918,0,0 +14679,1100105,49,1,1,1.0,6.0,8351,0,0 +14680,1100105,49,1,1,0.0,6.0,8510,0,0 +14681,1100105,49,1,1,1.0,6.0,24040,0,0 +14682,1100105,49,1,1,0.0,4.0,0,0,0 +14683,1100105,49,1,1,0.0,4.0,7380,0,0 +14684,1100105,49,1,1,0.0,6.0,8510,0,0 +14685,1100105,49,1,1,0.0,6.0,8993,0,0 +14686,1100105,49,1,1,0.0,6.0,20375,0,0 +14687,1100105,49,1,1,0.0,6.0,20375,0,0 +14688,1100105,49,1,1,0.0,6.0,10029,0,0 +14689,1100105,49,1,1,0.0,6.0,9172,0,0 +14690,1100105,49,1,1,0.0,4.0,24111,0,0 +14691,1100105,49,1,1,0.0,6.0,5673,0,0 +14692,1100105,49,1,1,0.0,4.0,3647,0,0 +14693,1100105,49,1,1,0.0,6.0,8104,0,0 +14694,1100105,49,1,1,0.0,4.0,12441,0,0 +14695,1100105,49,1,1,0.0,4.0,9944,0,0 +14696,1100105,49,1,1,0.0,6.0,0,0,0 +14697,1100105,49,1,1,1.0,6.0,8351,0,0 +14698,1100105,49,1,1,0.0,4.0,9944,0,0 +14699,1100105,49,1,1,0.0,6.0,15815,0,0 +14700,1100105,49,1,1,0.0,4.0,23876,0,0 +14701,1100105,49,1,1,0.0,6.0,20198,0,0 +14702,1100105,49,1,1,0.0,6.0,3936,0,0 +14703,1100105,49,1,1,0.0,6.0,24249,0,0 +14704,1100105,49,1,1,0.0,6.0,6536,0,0 +14705,1100105,49,1,1,0.0,4.0,23876,0,0 +14706,1100105,49,1,1,0.0,6.0,15804,0,0 +14707,1100105,49,1,1,0.0,4.0,23876,0,0 +14708,1100105,49,1,1,0.0,6.0,24249,0,0 +14709,1100105,49,1,1,0.0,6.0,20198,0,0 +14710,1100105,49,1,1,0.0,6.0,911,0,0 +14711,1100105,49,1,1,0.0,6.0,20198,0,0 +14712,1100105,49,1,1,0.0,6.0,20198,0,0 +14713,1100105,49,1,1,1.0,6.0,22592,0,0 +14714,1100105,49,1,1,0.0,6.0,1391,0,0 +14715,1100105,49,1,1,0.0,4.0,12947,0,0 +14716,1100105,49,1,1,1.0,4.0,9278,0,0 +14717,1100105,49,1,1,1.0,6.0,23768,0,0 +14718,1100105,49,1,1,0.0,4.0,18843,0,0 +14719,1100105,49,1,1,0.0,4.0,12947,0,0 +14720,1100105,49,1,1,0.0,6.0,13362,0,0 +14721,1100105,49,1,1,0.0,4.0,18843,0,0 +14722,1100105,49,1,1,0.0,4.0,23876,0,0 +14723,1100105,49,1,1,0.0,6.0,20198,0,0 +14724,1100105,49,1,1,0.0,4.0,23876,0,0 +14725,1100105,49,1,1,0.0,6.0,13068,0,0 +14726,1100105,49,1,1,0.0,6.0,7250,0,0 +14727,1100105,49,1,1,0.0,6.0,9126,0,0 +14728,1100105,49,1,1,0.0,6.0,9126,0,0 +14729,1100105,49,1,1,0.0,4.0,10536,0,0 +14730,1100105,49,1,1,0.0,6.0,13068,0,0 +14731,1100105,49,1,1,0.0,4.0,10536,0,0 +14732,1100105,49,1,1,0.0,6.0,9126,0,0 +14733,1100105,49,1,1,1.0,4.0,13372,0,0 +14734,1100105,49,1,1,0.0,4.0,10536,0,0 +14735,1100105,49,1,1,0.0,4.0,4650,0,0 +14736,1100105,49,1,1,0.0,6.0,0,0,0 +14737,1100105,49,1,1,1.0,6.0,0,0,0 +14738,1100105,49,1,1,1.0,6.0,23402,0,0 +14739,1100105,49,1,1,0.0,4.0,278,0,0 +14740,1100105,49,1,1,0.0,4.0,10543,0,0 +14741,1100105,49,1,1,1.0,4.0,6115,0,0 +14742,1100105,49,1,1,0.0,6.0,9117,0,0 +14743,1100105,49,1,1,0.0,4.0,278,0,0 +14744,1100105,49,1,1,0.0,4.0,3533,0,0 +14745,1100105,49,1,1,1.0,6.0,24860,0,0 +14746,1100105,49,1,1,0.0,4.0,9338,0,0 +14747,1100105,49,1,1,1.0,6.0,24860,0,0 +14748,1100105,49,1,1,0.0,6.0,9117,0,0 +14749,1100105,49,1,1,0.0,6.0,0,0,0 +14750,1100105,49,1,1,0.0,4.0,1379,0,0 +14751,1100105,49,1,1,0.0,6.0,7802,0,0 +14752,1100105,49,1,1,1.0,4.0,9117,0,0 +14753,1100105,49,1,1,0.0,4.0,10637,0,0 +14754,1100105,49,1,1,1.0,6.0,0,0,0 +14755,1100105,49,1,1,0.0,4.0,0,0,0 +14756,1100105,49,1,1,0.0,6.0,0,0,0 +14757,1100105,49,1,1,0.0,4.0,9489,0,0 +14758,1100105,49,1,1,1.0,4.0,1243,0,0 +14759,1100105,49,1,1,0.0,6.0,0,0,0 +14760,1100105,49,1,1,0.0,4.0,5888,0,0 +14761,1100105,49,1,1,0.0,6.0,0,0,0 +14762,1100105,49,1,1,1.0,6.0,22286,0,0 +14763,1100105,49,1,1,0.0,6.0,0,0,0 +14764,1100105,49,1,1,1.0,4.0,1243,0,0 +14765,1100105,49,1,1,1.0,6.0,1284,0,0 +14766,1100105,49,1,1,0.0,6.0,0,0,0 +14767,1100105,49,1,1,1.0,4.0,10,0,0 +14768,1100105,49,1,1,0.0,6.0,0,0,0 +14769,1100105,49,1,1,1.0,4.0,10053,0,0 +14770,1100105,49,1,1,1.0,4.0,10,0,0 +14771,1100105,49,1,1,1.0,4.0,1243,0,0 +14772,1100105,49,1,1,0.0,6.0,0,0,0 +14773,1100105,49,1,1,0.0,6.0,0,0,0 +14774,1100105,49,1,1,0.0,4.0,0,0,0 +14775,1100105,49,1,1,0.0,4.0,23199,0,0 +14776,1100105,49,1,1,0.0,4.0,9489,0,0 +14777,1100105,49,1,1,0.0,4.0,9489,0,0 +14778,1100105,49,1,1,0.0,6.0,0,0,0 +14779,1100105,49,1,1,0.0,4.0,1035,0,0 +14780,1100105,49,1,1,1.0,4.0,3039,0,0 +14781,1100105,49,1,1,0.0,6.0,1657,0,0 +14782,1100105,49,1,1,0.0,6.0,3502,0,0 +14783,1100105,49,1,1,1.0,6.0,21330,0,0 +14784,1100105,49,1,1,0.0,4.0,0,0,0 +14785,1100105,49,1,1,0.0,6.0,0,0,0 +14786,1100105,49,1,1,0.0,4.0,8351,0,0 +14787,1100105,49,1,1,0.0,6.0,15918,0,0 +14788,1100105,49,1,1,0.0,6.0,792,0,0 +14789,1100105,49,1,1,0.0,4.0,7250,0,0 +14790,1100105,49,1,1,0.0,6.0,0,0,0 +14791,1100105,49,1,1,0.0,6.0,0,0,0 +14792,1100105,49,1,1,0.0,6.0,0,0,0 +14793,1100105,49,1,1,0.0,4.0,20261,0,0 +14794,1100105,49,1,1,1.0,4.0,6129,0,0 +14795,1100105,49,1,1,0.0,4.0,527,0,0 +14796,1100105,49,1,1,0.0,4.0,5268,0,0 +14797,1100105,49,1,1,0.0,6.0,7380,0,0 +14798,1100105,49,1,1,0.0,4.0,5268,0,0 +14799,1100105,49,1,1,0.0,4.0,6215,0,0 +14800,1100105,49,1,1,0.0,4.0,20261,0,0 +14801,1100105,49,1,1,0.0,6.0,10130,0,0 +14802,1100105,49,1,1,0.0,4.0,3163,0,0 +14803,1100105,49,1,1,0.0,4.0,23402,0,0 +14804,1100105,49,1,1,0.0,6.0,24314,0,0 +14805,1100105,49,1,1,0.0,6.0,4244,0,0 +14806,1100105,49,1,1,0.0,4.0,10543,0,0 +14807,1100105,49,1,1,0.0,6.0,0,0,0 +14808,1100105,49,1,1,0.0,6.0,5306,0,0 +14809,1100105,49,1,1,1.0,6.0,0,0,0 +14810,1100105,49,1,1,0.0,6.0,5306,0,0 +14811,1100105,49,1,1,0.0,6.0,5306,0,0 +14812,1100105,50,1,7,6.0,5.0,374292,7,0 +14813,1100105,50,1,8,1.0,5.0,609517,8,0 +14814,1100105,50,1,8,0.0,7.0,403271,8,0 +14815,1100105,50,1,11,3.0,1.0,60493,4,1 +14816,1100105,50,1,9,0.0,2.0,17192,2,1 +14817,1100105,50,1,9,0.0,2.0,17192,2,1 +14818,1100105,50,1,9,0.0,2.0,17192,2,1 +14819,1100105,50,1,3,1.0,1.0,301392,3,0 +14820,1100105,50,1,3,0.0,5.0,256554,3,0 +14821,1100105,50,1,3,2.0,1.0,431925,2,0 +14822,1100105,50,1,3,1.0,1.0,254097,2,0 +14823,1100105,50,1,3,2.0,1.0,285580,2,0 +14824,1100105,50,1,3,1.0,1.0,1013567,2,1 +14825,1100105,50,1,3,1.0,1.0,352184,2,1 +14826,1100105,50,1,3,0.0,1.0,273461,2,1 +14827,1100105,50,1,3,0.0,1.0,273461,2,1 +14828,1100105,50,1,3,2.0,1.0,241009,2,1 +14829,1100105,50,1,3,2.0,1.0,340790,2,1 +14830,1100105,50,1,3,2.0,1.0,354392,2,1 +14831,1100105,50,1,3,1.0,1.0,403976,2,1 +14832,1100105,50,1,3,1.0,1.0,298717,2,1 +14833,1100105,50,1,3,1.0,3.0,279676,2,1 +14834,1100105,50,1,3,1.0,1.0,205597,2,1 +14835,1100105,50,1,3,2.0,1.0,361887,2,1 +14836,1100105,50,1,3,1.0,1.0,278601,2,1 +14837,1100105,50,1,3,1.0,1.0,241350,2,1 +14838,1100105,50,1,3,1.0,1.0,389475,2,1 +14839,1100105,50,1,3,0.0,1.0,940154,2,1 +14840,1100105,50,1,3,0.0,1.0,256266,2,1 +14841,1100105,50,1,3,1.0,1.0,282290,2,1 +14842,1100105,50,1,3,2.0,1.0,271509,2,1 +14843,1100105,50,1,3,2.0,1.0,271509,2,1 +14844,1100105,50,1,3,1.0,5.0,267254,1,0 +14845,1100105,50,1,3,2.0,2.0,201380,1,1 +14846,1100105,50,1,3,1.0,1.0,218249,1,1 +14847,1100105,50,1,3,1.0,1.0,219753,1,1 +14848,1100105,50,1,3,1.0,1.0,769627,1,1 +14849,1100105,50,1,3,2.0,7.0,180504,3,0 +14850,1100105,50,1,3,2.0,5.0,169693,2,0 +14851,1100105,50,1,3,2.0,5.0,172226,2,0 +14852,1100105,50,1,3,1.0,1.0,191890,2,1 +14853,1100105,50,1,3,1.0,1.0,152818,1,1 +14854,1100105,50,1,3,2.0,5.0,135838,2,0 +14855,1100105,50,1,3,1.0,1.0,119131,2,1 +14856,1100105,50,1,3,2.0,7.0,124610,1,0 +14857,1100105,50,1,3,1.0,1.0,136730,1,1 +14858,1100105,50,1,3,1.0,1.0,107067,1,1 +14859,1100105,50,1,3,1.0,1.0,133830,0,0 +14860,1100105,50,1,3,1.0,1.0,133830,0,0 +14861,1100105,50,1,3,0.0,7.0,64240,2,0 +14862,1100105,50,1,3,1.0,3.0,78159,2,1 +14863,1100105,50,1,3,1.0,1.0,68532,2,1 +14864,1100105,50,1,3,1.0,1.0,79021,1,0 +14865,1100105,50,1,3,1.0,1.0,79021,1,0 +14866,1100105,50,1,3,0.0,7.0,42469,2,0 +14867,1100105,50,1,3,0.0,7.0,42469,2,0 +14868,1100105,50,1,3,0.0,7.0,43505,1,0 +14869,1100105,50,1,3,0.0,5.0,30776,1,0 +14870,1100105,50,1,3,0.0,5.0,30776,1,0 +14871,1100105,50,1,3,0.0,5.0,30776,1,0 +14872,1100105,50,1,3,0.0,5.0,30776,1,0 +14873,1100105,50,1,3,0.0,1.0,15983,0,0 +14874,1100105,50,1,2,1.0,5.0,283819,2,0 +14875,1100105,50,1,2,2.0,1.0,845809,2,0 +14876,1100105,50,1,2,1.0,7.0,221054,2,0 +14877,1100105,50,1,2,0.0,1.0,211993,2,0 +14878,1100105,50,1,2,1.0,1.0,222881,2,0 +14879,1100105,50,1,2,2.0,7.0,209393,2,0 +14880,1100105,50,1,2,1.0,7.0,265431,2,0 +14881,1100105,50,1,2,1.0,5.0,442187,2,0 +14882,1100105,50,1,2,2.0,7.0,223428,2,0 +14883,1100105,50,1,2,1.0,1.0,773058,2,0 +14884,1100105,50,1,2,2.0,1.0,747665,2,0 +14885,1100105,50,1,2,2.0,5.0,310943,2,0 +14886,1100105,50,1,2,1.0,1.0,355516,2,0 +14887,1100105,50,1,2,1.0,7.0,313889,2,0 +14888,1100105,50,1,2,1.0,1.0,258339,2,0 +14889,1100105,50,1,2,1.0,1.0,242499,2,0 +14890,1100105,50,1,2,1.0,1.0,773058,2,0 +14891,1100105,50,1,2,1.0,1.0,230194,2,0 +14892,1100105,50,1,2,2.0,1.0,206942,2,0 +14893,1100105,50,1,2,1.0,5.0,375526,2,0 +14894,1100105,50,1,2,1.0,5.0,419535,2,0 +14895,1100105,50,1,2,0.0,5.0,339387,2,0 +14896,1100105,50,1,2,1.0,1.0,247432,2,0 +14897,1100105,50,1,2,2.0,5.0,449682,2,0 +14898,1100105,50,1,2,2.0,5.0,310943,2,0 +14899,1100105,50,1,2,1.0,1.0,295213,2,0 +14900,1100105,50,1,2,2.0,5.0,291841,2,0 +14901,1100105,50,1,2,2.0,5.0,234555,2,0 +14902,1100105,50,1,2,2.0,5.0,234555,2,0 +14903,1100105,50,1,2,1.0,1.0,384976,2,0 +14904,1100105,50,1,2,1.0,5.0,211993,2,0 +14905,1100105,50,1,2,0.0,5.0,315930,2,0 +14906,1100105,50,1,2,1.0,5.0,409696,2,0 +14907,1100105,50,1,2,1.0,1.0,265062,2,0 +14908,1100105,50,1,2,1.0,5.0,476485,2,0 +14909,1100105,50,1,2,1.0,5.0,281229,2,0 +14910,1100105,50,1,2,0.0,1.0,266210,2,0 +14911,1100105,50,1,2,0.0,1.0,202619,2,0 +14912,1100105,50,1,2,0.0,5.0,518738,2,0 +14913,1100105,50,1,2,3.0,5.0,643474,2,0 +14914,1100105,50,1,2,2.0,7.0,206639,2,0 +14915,1100105,50,1,2,1.0,5.0,271093,2,0 +14916,1100105,50,1,2,1.0,5.0,300393,2,0 +14917,1100105,50,1,2,0.0,5.0,380152,2,0 +14918,1100105,50,1,2,1.0,7.0,295213,2,0 +14919,1100105,50,1,2,0.0,5.0,258959,2,0 +14920,1100105,50,1,2,1.0,5.0,328985,2,0 +14921,1100105,50,1,2,1.0,1.0,323678,2,0 +14922,1100105,50,1,2,0.0,7.0,203095,2,0 +14923,1100105,50,1,2,1.0,7.0,292075,2,0 +14924,1100105,50,1,2,0.0,5.0,212790,2,0 +14925,1100105,50,1,2,1.0,1.0,239192,2,0 +14926,1100105,50,1,2,0.0,5.0,203427,2,0 +14927,1100105,50,1,2,0.0,7.0,209239,2,0 +14928,1100105,50,1,2,0.0,1.0,238935,2,0 +14929,1100105,50,1,2,1.0,1.0,233477,2,0 +14930,1100105,50,1,2,1.0,7.0,295213,2,0 +14931,1100105,50,1,2,2.0,1.0,254018,2,0 +14932,1100105,50,1,2,2.0,1.0,254018,2,0 +14933,1100105,50,1,2,0.0,5.0,236171,2,0 +14934,1100105,50,1,2,2.0,7.0,220358,2,0 +14935,1100105,50,1,2,2.0,1.0,230991,1,0 +14936,1100105,50,1,2,2.0,1.0,230991,1,0 +14937,1100105,50,1,2,0.0,1.0,322617,1,0 +14938,1100105,50,1,2,1.0,5.0,243578,1,0 +14939,1100105,50,1,2,2.0,1.0,1039585,1,0 +14940,1100105,50,1,2,1.0,1.0,490469,1,0 +14941,1100105,50,1,2,1.0,1.0,247461,1,0 +14942,1100105,50,1,2,1.0,1.0,247461,1,0 +14943,1100105,50,1,2,1.0,1.0,490469,1,0 +14944,1100105,50,1,2,1.0,1.0,657911,1,0 +14945,1100105,50,1,2,1.0,1.0,247461,1,0 +14946,1100105,50,1,2,2.0,5.0,333539,1,0 +14947,1100105,50,1,2,1.0,1.0,1049303,1,0 +14948,1100105,50,1,2,0.0,1.0,329820,1,0 +14949,1100105,50,1,2,2.0,5.0,201635,1,0 +14950,1100105,50,1,2,1.0,5.0,581123,1,0 +14951,1100105,50,1,2,2.0,7.0,220738,1,0 +14952,1100105,50,1,2,1.0,1.0,214875,1,0 +14953,1100105,50,1,2,2.0,1.0,249636,1,0 +14954,1100105,50,1,2,1.0,5.0,207464,1,0 +14955,1100105,50,1,2,1.0,5.0,207684,1,0 +14956,1100105,50,1,2,1.0,1.0,384710,0,0 +14957,1100105,50,1,2,2.0,1.0,290345,0,0 +14958,1100105,50,1,2,2.0,1.0,290345,0,0 +14959,1100105,50,1,2,2.0,1.0,616323,0,0 +14960,1100105,50,1,2,2.0,1.0,290345,0,0 +14961,1100105,50,1,2,0.0,1.0,359761,0,0 +14962,1100105,50,1,2,0.0,1.0,359761,0,0 +14963,1100105,50,1,2,0.0,1.0,366701,0,0 +14964,1100105,50,1,2,2.0,5.0,190579,2,0 +14965,1100105,50,1,2,1.0,1.0,164883,2,0 +14966,1100105,50,1,2,1.0,1.0,196213,2,0 +14967,1100105,50,1,2,0.0,7.0,175759,2,0 +14968,1100105,50,1,2,0.0,5.0,173967,2,0 +14969,1100105,50,1,2,0.0,1.0,178507,2,0 +14970,1100105,50,1,2,0.0,7.0,152818,2,0 +14971,1100105,50,1,2,2.0,7.0,184484,2,0 +14972,1100105,50,1,2,1.0,1.0,156002,2,0 +14973,1100105,50,1,2,0.0,5.0,192721,2,0 +14974,1100105,50,1,2,2.0,5.0,172239,2,0 +14975,1100105,50,1,2,0.0,5.0,178289,2,0 +14976,1100105,50,1,2,0.0,5.0,159056,2,0 +14977,1100105,50,1,2,2.0,5.0,180087,2,0 +14978,1100105,50,1,2,1.0,1.0,151232,2,0 +14979,1100105,50,1,2,1.0,1.0,189803,2,0 +14980,1100105,50,1,2,2.0,5.0,178164,2,0 +14981,1100105,50,1,2,0.0,1.0,161590,2,0 +14982,1100105,50,1,2,0.0,1.0,187625,2,0 +14983,1100105,50,1,2,0.0,1.0,153880,2,0 +14984,1100105,50,1,2,0.0,5.0,165553,2,0 +14985,1100105,50,1,2,0.0,5.0,156043,2,0 +14986,1100105,50,1,2,2.0,7.0,182014,2,0 +14987,1100105,50,1,2,1.0,5.0,195054,2,0 +14988,1100105,50,1,2,1.0,5.0,169812,2,0 +14989,1100105,50,1,2,1.0,7.0,165536,2,0 +14990,1100105,50,1,2,1.0,7.0,174043,2,0 +14991,1100105,50,1,2,1.0,1.0,182357,2,0 +14992,1100105,50,1,2,0.0,5.0,183085,2,0 +14993,1100105,50,1,2,1.0,5.0,169812,2,0 +14994,1100105,50,1,2,2.0,5.0,187146,2,0 +14995,1100105,50,1,2,1.0,1.0,170809,1,0 +14996,1100105,50,1,2,1.0,1.0,170129,1,0 +14997,1100105,50,1,2,0.0,5.0,197194,1,0 +14998,1100105,50,1,2,1.0,1.0,194525,1,0 +14999,1100105,50,1,2,1.0,7.0,154176,1,0 +15000,1100105,50,1,2,0.0,5.0,153106,1,0 +15001,1100105,50,1,2,0.0,5.0,153106,1,0 +15002,1100105,50,1,2,1.0,1.0,162095,1,0 +15003,1100105,50,1,2,2.0,7.0,190563,1,0 +15004,1100105,50,1,2,1.0,7.0,175317,1,0 +15005,1100105,50,1,2,1.0,7.0,189782,1,0 +15006,1100105,50,1,2,1.0,7.0,189782,1,0 +15007,1100105,50,1,2,1.0,1.0,153821,0,0 +15008,1100105,50,1,2,1.0,1.0,153821,0,0 +15009,1100105,50,1,2,2.0,7.0,190076,0,0 +15010,1100105,50,1,2,1.0,1.0,128480,2,0 +15011,1100105,50,1,2,2.0,1.0,146053,2,0 +15012,1100105,50,1,2,0.0,1.0,116506,2,0 +15013,1100105,50,1,2,0.0,7.0,120769,2,0 +15014,1100105,50,1,2,1.0,1.0,144550,2,0 +15015,1100105,50,1,2,2.0,1.0,134904,2,0 +15016,1100105,50,1,2,0.0,1.0,111324,2,0 +15017,1100105,50,1,2,0.0,5.0,149160,2,0 +15018,1100105,50,1,2,1.0,7.0,144872,2,0 +15019,1100105,50,1,2,2.0,5.0,111440,2,0 +15020,1100105,50,1,2,2.0,1.0,146682,2,0 +15021,1100105,50,1,2,0.0,7.0,108762,2,0 +15022,1100105,50,1,2,1.0,5.0,128443,2,0 +15023,1100105,50,1,2,1.0,5.0,121571,2,0 +15024,1100105,50,1,2,0.0,1.0,136900,2,0 +15025,1100105,50,1,2,2.0,5.0,148642,2,0 +15026,1100105,50,1,2,0.0,7.0,149358,2,0 +15027,1100105,50,1,2,0.0,5.0,106898,2,0 +15028,1100105,50,1,2,1.0,5.0,148573,2,0 +15029,1100105,50,1,2,1.0,1.0,142916,2,0 +15030,1100105,50,1,2,2.0,7.0,143267,2,0 +15031,1100105,50,1,2,1.0,7.0,142399,2,0 +15032,1100105,50,1,2,0.0,5.0,137781,2,0 +15033,1100105,50,1,2,2.0,1.0,121571,1,0 +15034,1100105,50,1,2,0.0,1.0,125268,1,0 +15035,1100105,50,1,2,1.0,1.0,117238,1,0 +15036,1100105,50,1,2,1.0,1.0,119915,1,0 +15037,1100105,50,1,2,1.0,7.0,119328,1,0 +15038,1100105,50,1,2,2.0,7.0,108401,1,0 +15039,1100105,50,1,2,2.0,7.0,108401,1,0 +15040,1100105,50,1,2,0.0,1.0,118085,1,0 +15041,1100105,50,1,2,1.0,1.0,122382,0,0 +15042,1100105,50,1,2,1.0,1.0,122382,0,0 +15043,1100105,50,1,2,1.0,7.0,100900,0,0 +15044,1100105,50,1,2,1.0,1.0,79075,2,0 +15045,1100105,50,1,2,1.0,5.0,88046,2,0 +15046,1100105,50,1,2,2.0,7.0,89082,2,0 +15047,1100105,50,1,2,0.0,5.0,95511,2,0 +15048,1100105,50,1,2,1.0,5.0,99108,2,0 +15049,1100105,50,1,2,0.0,3.0,98695,2,0 +15050,1100105,50,1,2,1.0,5.0,78205,2,0 +15051,1100105,50,1,2,1.0,5.0,61900,2,0 +15052,1100105,50,1,2,0.0,5.0,67024,2,0 +15053,1100105,50,1,2,0.0,7.0,71103,2,0 +15054,1100105,50,1,2,0.0,7.0,64240,2,0 +15055,1100105,50,1,2,1.0,5.0,58368,2,0 +15056,1100105,50,1,2,1.0,7.0,99756,2,0 +15057,1100105,50,1,2,0.0,1.0,53062,2,0 +15058,1100105,50,1,2,1.0,7.0,71695,2,0 +15059,1100105,50,1,2,2.0,7.0,98404,2,0 +15060,1100105,50,1,2,1.0,7.0,54899,1,0 +15061,1100105,50,1,2,1.0,7.0,90739,1,0 +15062,1100105,50,1,2,1.0,1.0,55502,1,0 +15063,1100105,50,1,2,1.0,1.0,93225,1,0 +15064,1100105,50,1,2,1.0,5.0,68532,1,0 +15065,1100105,50,1,2,1.0,5.0,68532,1,0 +15066,1100105,50,1,2,1.0,7.0,54193,1,0 +15067,1100105,50,1,2,0.0,5.0,83488,1,0 +15068,1100105,50,1,2,1.0,3.0,95639,1,0 +15069,1100105,50,1,2,1.0,7.0,54193,1,0 +15070,1100105,50,1,2,1.0,7.0,84899,1,0 +15071,1100105,50,1,2,0.0,1.0,66423,1,0 +15072,1100105,50,1,2,0.0,7.0,53104,1,0 +15073,1100105,50,1,2,1.0,1.0,71952,1,0 +15074,1100105,50,1,2,1.0,7.0,94339,1,0 +15075,1100105,50,1,2,0.0,1.0,78531,1,0 +15076,1100105,50,1,2,2.0,7.0,75348,1,0 +15077,1100105,50,1,2,0.0,7.0,75454,1,0 +15078,1100105,50,1,2,1.0,5.0,58887,1,0 +15079,1100105,50,1,2,1.0,1.0,88046,1,0 +15080,1100105,50,1,2,0.0,1.0,64838,1,0 +15081,1100105,50,1,2,1.0,1.0,99440,0,0 +15082,1100105,50,1,2,1.0,1.0,54720,0,0 +15083,1100105,50,1,2,1.0,1.0,93362,0,0 +15084,1100105,50,1,2,0.0,7.0,33146,2,0 +15085,1100105,50,1,2,0.0,5.0,48531,2,0 +15086,1100105,50,1,2,0.0,5.0,37956,2,0 +15087,1100105,50,1,2,0.0,7.0,47855,1,0 +15088,1100105,50,1,2,1.0,1.0,37704,1,0 +15089,1100105,50,1,2,1.0,5.0,48180,1,0 +15090,1100105,50,1,2,0.0,7.0,25304,1,0 +15091,1100105,50,1,2,0.0,7.0,25304,1,0 +15092,1100105,50,1,2,0.0,5.0,33940,1,0 +15093,1100105,50,1,2,1.0,3.0,33429,1,1 +15094,1100105,50,1,2,1.0,3.0,42550,1,1 +15095,1100105,50,1,2,0.0,1.0,28920,0,0 +15096,1100105,50,1,2,0.0,1.0,36772,0,0 +15097,1100105,50,1,2,0.0,1.0,42469,0,0 +15098,1100105,50,1,2,1.0,7.0,31000,0,0 +15099,1100105,50,1,2,1.0,1.0,26948,0,0 +15100,1100105,50,1,2,1.0,3.0,12741,1,0 +15101,1100105,50,1,2,0.0,2.0,10706,1,0 +15102,1100105,50,1,2,0.0,7.0,5306,1,0 +15103,1100105,50,1,2,1.0,1.0,17609,1,0 +15104,1100105,50,1,2,0.0,7.0,5074,1,0 +15105,1100105,50,1,2,1.0,7.0,4244,1,0 +15106,1100105,50,1,2,0.0,2.0,10130,1,1 +15107,1100105,50,1,2,0.0,1.0,16661,0,0 +15108,1100105,50,1,2,1.0,3.0,9850,0,0 +15109,1100105,50,1,2,1.0,5.0,0,0,0 +15110,1100105,50,1,2,1.0,5.0,0,0,0 +15111,1100105,50,1,2,0.0,3.0,24213,0,0 +15112,1100105,50,1,2,0.0,5.0,4280,0,0 +15113,1100105,50,1,2,0.0,7.0,5271,0,0 +15114,1100105,50,1,2,0.0,5.0,7730,0,0 +15115,1100105,50,1,2,0.0,7.0,0,0,0 +15116,1100105,50,1,1,1.0,4.0,623131,1,0 +15117,1100105,50,1,1,0.0,4.0,752018,1,0 +15118,1100105,50,1,1,0.0,6.0,221412,1,0 +15119,1100105,50,1,1,1.0,6.0,676541,1,0 +15120,1100105,50,1,1,1.0,4.0,303929,1,0 +15121,1100105,50,1,1,1.0,6.0,677761,1,0 +15122,1100105,50,1,1,1.0,6.0,337707,1,0 +15123,1100105,50,1,1,0.0,6.0,237469,1,0 +15124,1100105,50,1,1,1.0,6.0,306212,1,0 +15125,1100105,50,1,1,1.0,4.0,768488,1,0 +15126,1100105,50,1,1,1.0,6.0,325253,1,0 +15127,1100105,50,1,1,0.0,6.0,237469,1,0 +15128,1100105,50,1,1,1.0,6.0,337707,1,0 +15129,1100105,50,1,1,0.0,4.0,238242,1,0 +15130,1100105,50,1,1,1.0,4.0,235135,1,0 +15131,1100105,50,1,1,0.0,4.0,233012,1,0 +15132,1100105,50,1,1,1.0,6.0,754911,1,0 +15133,1100105,50,1,1,1.0,4.0,245146,1,0 +15134,1100105,50,1,1,0.0,6.0,310751,1,0 +15135,1100105,50,1,1,1.0,6.0,325253,1,0 +15136,1100105,50,1,1,1.0,4.0,303929,1,0 +15137,1100105,50,1,1,2.0,4.0,212750,1,0 +15138,1100105,50,1,1,0.0,4.0,414335,1,0 +15139,1100105,50,1,1,1.0,4.0,235135,1,0 +15140,1100105,50,1,1,1.0,6.0,325253,1,0 +15141,1100105,50,1,1,1.0,4.0,267668,1,0 +15142,1100105,50,1,1,0.0,6.0,237227,1,0 +15143,1100105,50,1,1,1.0,6.0,231372,1,0 +15144,1100105,50,1,1,1.0,4.0,768488,1,0 +15145,1100105,50,1,1,1.0,6.0,306212,1,0 +15146,1100105,50,1,1,1.0,4.0,256961,1,0 +15147,1100105,50,1,1,1.0,6.0,337707,1,0 +15148,1100105,50,1,1,1.0,6.0,210869,1,0 +15149,1100105,50,1,1,1.0,6.0,456848,1,0 +15150,1100105,50,1,1,0.0,4.0,235569,1,0 +15151,1100105,50,1,1,0.0,4.0,235569,1,0 +15152,1100105,50,1,1,0.0,4.0,258339,1,0 +15153,1100105,50,1,1,1.0,4.0,215847,1,0 +15154,1100105,50,1,1,0.0,6.0,256887,1,0 +15155,1100105,50,1,1,0.0,6.0,214134,1,0 +15156,1100105,50,1,1,0.0,6.0,307760,1,0 +15157,1100105,50,1,1,1.0,6.0,429645,0,0 +15158,1100105,50,1,1,0.0,6.0,505151,0,0 +15159,1100105,50,1,1,1.0,4.0,243143,0,0 +15160,1100105,50,1,1,2.0,6.0,633388,0,0 +15161,1100105,50,1,1,1.0,6.0,286927,0,0 +15162,1100105,50,1,1,0.0,6.0,181136,1,0 +15163,1100105,50,1,1,1.0,6.0,163423,1,0 +15164,1100105,50,1,1,6.0,4.0,180411,1,0 +15165,1100105,50,1,1,1.0,6.0,192721,1,0 +15166,1100105,50,1,1,1.0,4.0,174252,1,0 +15167,1100105,50,1,1,1.0,6.0,165734,1,0 +15168,1100105,50,1,1,1.0,4.0,164492,1,0 +15169,1100105,50,1,1,1.0,6.0,162095,1,0 +15170,1100105,50,1,1,1.0,4.0,176092,1,0 +15171,1100105,50,1,1,1.0,4.0,163662,1,0 +15172,1100105,50,1,1,1.0,4.0,161308,1,0 +15173,1100105,50,1,1,0.0,4.0,162095,1,0 +15174,1100105,50,1,1,1.0,4.0,186450,1,0 +15175,1100105,50,1,1,1.0,4.0,161308,1,0 +15176,1100105,50,1,1,0.0,4.0,157097,1,0 +15177,1100105,50,1,1,1.0,4.0,176092,1,0 +15178,1100105,50,1,1,1.0,4.0,152035,1,0 +15179,1100105,50,1,1,1.0,6.0,165734,1,0 +15180,1100105,50,1,1,1.0,4.0,159186,1,0 +15181,1100105,50,1,1,1.0,4.0,151964,1,0 +15182,1100105,50,1,1,0.0,6.0,162095,1,0 +15183,1100105,50,1,1,0.0,4.0,175104,1,0 +15184,1100105,50,1,1,1.0,4.0,182401,1,0 +15185,1100105,50,1,1,0.0,6.0,166703,1,0 +15186,1100105,50,1,1,0.0,6.0,179238,1,0 +15187,1100105,50,1,1,1.0,6.0,186450,1,0 +15188,1100105,50,1,1,0.0,4.0,175104,1,0 +15189,1100105,50,1,1,0.0,4.0,192190,0,0 +15190,1100105,50,1,1,1.0,4.0,115418,1,0 +15191,1100105,50,1,1,1.0,6.0,134969,1,0 +15192,1100105,50,1,1,0.0,4.0,104380,1,0 +15193,1100105,50,1,1,1.0,4.0,101512,1,0 +15194,1100105,50,1,1,1.0,6.0,132587,1,0 +15195,1100105,50,1,1,0.0,6.0,141757,1,0 +15196,1100105,50,1,1,1.0,4.0,123127,1,0 +15197,1100105,50,1,1,1.0,4.0,111430,1,0 +15198,1100105,50,1,1,1.0,6.0,139187,1,0 +15199,1100105,50,1,1,0.0,4.0,143391,1,0 +15200,1100105,50,1,1,0.0,6.0,139187,1,0 +15201,1100105,50,1,1,1.0,6.0,124610,1,0 +15202,1100105,50,1,1,0.0,6.0,113869,1,0 +15203,1100105,50,1,1,1.0,4.0,120157,1,0 +15204,1100105,50,1,1,1.0,6.0,100373,1,0 +15205,1100105,50,1,1,0.0,6.0,133834,1,0 +15206,1100105,50,1,1,0.0,4.0,127349,1,0 +15207,1100105,50,1,1,1.0,6.0,131702,1,0 +15208,1100105,50,1,1,0.0,4.0,139838,1,0 +15209,1100105,50,1,1,1.0,4.0,148925,1,0 +15210,1100105,50,1,1,1.0,4.0,108970,1,0 +15211,1100105,50,1,1,0.0,6.0,113869,1,0 +15212,1100105,50,1,1,0.0,6.0,115493,1,0 +15213,1100105,50,1,1,1.0,4.0,143728,1,0 +15214,1100105,50,1,1,1.0,6.0,137961,1,0 +15215,1100105,50,1,1,1.0,4.0,142427,1,0 +15216,1100105,50,1,1,1.0,6.0,119121,1,0 +15217,1100105,50,1,1,0.0,4.0,139838,1,0 +15218,1100105,50,1,1,0.0,6.0,113869,1,0 +15219,1100105,50,1,1,0.0,4.0,126416,1,0 +15220,1100105,50,1,1,1.0,6.0,100373,1,0 +15221,1100105,50,1,1,0.0,6.0,124509,1,0 +15222,1100105,50,1,1,1.0,6.0,124300,1,0 +15223,1100105,50,1,1,1.0,4.0,103583,1,0 +15224,1100105,50,1,1,1.0,4.0,108762,1,0 +15225,1100105,50,1,1,0.0,4.0,139838,1,0 +15226,1100105,50,1,1,1.0,6.0,136900,1,0 +15227,1100105,50,1,1,0.0,6.0,113869,1,0 +15228,1100105,50,1,1,1.0,6.0,136768,1,0 +15229,1100105,50,1,1,0.0,4.0,116506,1,0 +15230,1100105,50,1,1,1.0,6.0,103583,1,0 +15231,1100105,50,1,1,0.0,6.0,107067,1,0 +15232,1100105,50,1,1,2.0,4.0,117774,1,0 +15233,1100105,50,1,1,0.0,4.0,106375,1,0 +15234,1100105,50,1,1,0.0,6.0,124300,1,0 +15235,1100105,50,1,1,0.0,4.0,101217,1,0 +15236,1100105,50,1,1,1.0,4.0,100296,1,0 +15237,1100105,50,1,1,1.0,4.0,146392,1,0 +15238,1100105,50,1,1,0.0,4.0,111430,1,0 +15239,1100105,50,1,1,1.0,4.0,114614,1,0 +15240,1100105,50,1,1,1.0,4.0,123127,1,0 +15241,1100105,50,1,1,0.0,6.0,102784,1,0 +15242,1100105,50,1,1,0.0,4.0,143267,1,0 +15243,1100105,50,1,1,0.0,4.0,121571,1,0 +15244,1100105,50,1,1,0.0,4.0,103325,1,0 +15245,1100105,50,1,1,1.0,4.0,106124,1,0 +15246,1100105,50,1,1,0.0,6.0,102784,1,0 +15247,1100105,50,1,1,1.0,6.0,108762,1,0 +15248,1100105,50,1,1,0.0,6.0,130729,1,0 +15249,1100105,50,1,1,0.0,4.0,127349,1,0 +15250,1100105,50,1,1,1.0,6.0,113869,1,0 +15251,1100105,50,1,1,0.0,4.0,131793,1,0 +15252,1100105,50,1,1,0.0,4.0,106124,1,0 +15253,1100105,50,1,1,0.0,6.0,101713,1,0 +15254,1100105,50,1,1,0.0,4.0,106124,1,0 +15255,1100105,50,1,1,0.0,6.0,148573,1,0 +15256,1100105,50,1,1,1.0,4.0,132847,1,0 +15257,1100105,50,1,1,0.0,6.0,142336,1,0 +15258,1100105,50,1,1,0.0,4.0,142399,1,0 +15259,1100105,50,1,1,0.0,4.0,142399,1,0 +15260,1100105,50,1,1,1.0,6.0,131551,0,0 +15261,1100105,50,1,1,1.0,6.0,131551,0,0 +15262,1100105,50,1,1,1.0,6.0,131551,0,0 +15263,1100105,50,1,1,1.0,4.0,98270,1,0 +15264,1100105,50,1,1,1.0,4.0,74732,1,0 +15265,1100105,50,1,1,0.0,4.0,81184,1,0 +15266,1100105,50,1,1,1.0,4.0,66433,1,0 +15267,1100105,50,1,1,1.0,4.0,86703,1,0 +15268,1100105,50,1,1,0.0,4.0,99272,1,0 +15269,1100105,50,1,1,1.0,6.0,97257,1,0 +15270,1100105,50,1,1,1.0,4.0,82867,1,0 +15271,1100105,50,1,1,1.0,6.0,75982,1,0 +15272,1100105,50,1,1,0.0,6.0,69401,1,0 +15273,1100105,50,1,1,1.0,6.0,79229,1,0 +15274,1100105,50,1,1,1.0,6.0,68980,1,0 +15275,1100105,50,1,1,1.0,4.0,82867,1,0 +15276,1100105,50,1,1,1.0,4.0,94450,1,0 +15277,1100105,50,1,1,0.0,6.0,81047,1,0 +15278,1100105,50,1,1,0.0,4.0,59772,1,0 +15279,1100105,50,1,1,1.0,6.0,60785,1,0 +15280,1100105,50,1,1,0.0,6.0,55237,1,0 +15281,1100105,50,1,1,0.0,6.0,55237,1,0 +15282,1100105,50,1,1,0.0,4.0,74286,1,0 +15283,1100105,50,1,1,1.0,6.0,60785,1,0 +15284,1100105,50,1,1,1.0,4.0,82867,1,0 +15285,1100105,50,1,1,0.0,4.0,81371,1,0 +15286,1100105,50,1,1,1.0,4.0,82867,1,0 +15287,1100105,50,1,1,0.0,6.0,95511,1,0 +15288,1100105,50,1,1,1.0,4.0,95511,1,0 +15289,1100105,50,1,1,0.0,4.0,98695,1,0 +15290,1100105,50,1,1,1.0,4.0,84899,1,0 +15291,1100105,50,1,1,0.0,6.0,89619,1,0 +15292,1100105,50,1,1,1.0,4.0,77501,1,0 +15293,1100105,50,1,1,0.0,4.0,69593,1,0 +15294,1100105,50,1,1,0.0,4.0,83609,1,0 +15295,1100105,50,1,1,1.0,4.0,84899,1,0 +15296,1100105,50,1,1,0.0,6.0,71949,1,0 +15297,1100105,50,1,1,0.0,4.0,83609,1,0 +15298,1100105,50,1,1,0.0,4.0,83293,1,0 +15299,1100105,50,1,1,1.0,4.0,99440,1,0 +15300,1100105,50,1,1,1.0,4.0,55720,1,0 +15301,1100105,50,1,1,0.0,6.0,95289,1,0 +15302,1100105,50,1,1,0.0,6.0,79593,1,0 +15303,1100105,50,1,1,0.0,6.0,79593,1,0 +15304,1100105,50,1,1,0.0,4.0,66423,1,0 +15305,1100105,50,1,1,0.0,6.0,97644,1,0 +15306,1100105,50,1,1,1.0,6.0,84899,1,0 +15307,1100105,50,1,1,1.0,6.0,84899,1,0 +15308,1100105,50,1,1,0.0,6.0,58017,1,0 +15309,1100105,50,1,1,1.0,6.0,64240,1,0 +15310,1100105,50,1,1,0.0,4.0,83384,1,0 +15311,1100105,50,1,1,0.0,4.0,53533,1,0 +15312,1100105,50,1,1,0.0,6.0,89152,1,0 +15313,1100105,50,1,1,1.0,6.0,96360,1,0 +15314,1100105,50,1,1,1.0,4.0,87126,1,0 +15315,1100105,50,1,1,0.0,4.0,69593,1,0 +15316,1100105,50,1,1,0.0,6.0,61798,1,0 +15317,1100105,50,1,1,1.0,6.0,62978,1,0 +15318,1100105,50,1,1,0.0,6.0,86724,1,0 +15319,1100105,50,1,1,0.0,6.0,82867,1,0 +15320,1100105,50,1,1,1.0,4.0,80930,1,0 +15321,1100105,50,1,1,1.0,6.0,54899,1,0 +15322,1100105,50,1,1,0.0,4.0,64315,1,0 +15323,1100105,50,1,1,1.0,6.0,96360,1,0 +15324,1100105,50,1,1,1.0,4.0,88342,1,0 +15325,1100105,50,1,1,0.0,4.0,74499,1,0 +15326,1100105,50,1,1,0.0,6.0,72508,1,0 +15327,1100105,50,1,1,1.0,6.0,97431,1,0 +15328,1100105,50,1,1,0.0,4.0,60785,1,0 +15329,1100105,50,1,1,1.0,6.0,70641,1,0 +15330,1100105,50,1,1,0.0,6.0,83838,1,0 +15331,1100105,50,1,1,0.0,6.0,84087,1,0 +15332,1100105,50,1,1,1.0,6.0,54899,1,0 +15333,1100105,50,1,1,0.0,4.0,91178,1,0 +15334,1100105,50,1,1,0.0,6.0,75616,1,0 +15335,1100105,50,1,1,1.0,4.0,68980,1,0 +15336,1100105,50,1,1,0.0,6.0,72508,1,0 +15337,1100105,50,1,1,1.0,6.0,62154,1,0 +15338,1100105,50,1,1,0.0,6.0,89152,1,0 +15339,1100105,50,1,1,0.0,6.0,89152,1,0 +15340,1100105,50,1,1,0.0,6.0,74947,1,0 +15341,1100105,50,1,1,0.0,6.0,67329,1,0 +15342,1100105,50,1,1,0.0,6.0,52717,1,0 +15343,1100105,50,1,1,1.0,4.0,72508,1,0 +15344,1100105,50,1,1,0.0,6.0,51667,1,0 +15345,1100105,50,1,1,0.0,6.0,63260,1,0 +15346,1100105,50,1,1,0.0,6.0,67329,1,0 +15347,1100105,50,1,1,0.0,6.0,94891,1,0 +15348,1100105,50,1,1,1.0,6.0,50939,1,0 +15349,1100105,50,1,1,1.0,6.0,75982,1,0 +15350,1100105,50,1,1,1.0,6.0,96332,1,0 +15351,1100105,50,1,1,1.0,6.0,98404,1,0 +15352,1100105,50,1,1,1.0,6.0,67329,1,0 +15353,1100105,50,1,1,1.0,4.0,99626,1,0 +15354,1100105,50,1,1,0.0,6.0,54615,1,0 +15355,1100105,50,1,1,1.0,6.0,60785,1,0 +15356,1100105,50,1,1,0.0,6.0,82867,1,0 +15357,1100105,50,1,1,0.0,4.0,91178,1,0 +15358,1100105,50,1,1,0.0,6.0,56245,1,0 +15359,1100105,50,1,1,0.0,4.0,87795,1,0 +15360,1100105,50,1,1,0.0,6.0,66858,1,0 +15361,1100105,50,1,1,0.0,6.0,72508,1,0 +15362,1100105,50,1,1,0.0,6.0,81047,1,0 +15363,1100105,50,1,1,0.0,4.0,80816,1,0 +15364,1100105,50,1,1,1.0,4.0,65598,1,0 +15365,1100105,50,1,1,0.0,6.0,66858,1,0 +15366,1100105,50,1,1,1.0,6.0,57307,0,0 +15367,1100105,50,1,1,1.0,4.0,74062,0,0 +15368,1100105,50,1,1,0.0,4.0,62206,0,0 +15369,1100105,50,1,1,1.0,6.0,87870,0,0 +15370,1100105,50,1,1,0.0,6.0,67583,0,0 +15371,1100105,50,1,1,1.0,6.0,59886,0,0 +15372,1100105,50,1,1,0.0,6.0,67583,0,0 +15373,1100105,50,1,1,1.0,4.0,68181,0,0 +15374,1100105,50,1,1,0.0,6.0,88865,0,0 +15375,1100105,50,1,1,1.0,6.0,59886,0,0 +15376,1100105,50,1,1,1.0,6.0,87870,0,0 +15377,1100105,50,1,1,1.0,4.0,55821,0,0 +15378,1100105,50,1,1,0.0,6.0,63705,0,0 +15379,1100105,50,1,1,1.0,6.0,83944,0,0 +15380,1100105,50,1,1,1.0,6.0,79593,0,0 +15381,1100105,50,1,1,1.0,6.0,35193,1,0 +15382,1100105,50,1,1,0.0,4.0,42184,1,0 +15383,1100105,50,1,1,1.0,4.0,42077,1,0 +15384,1100105,50,1,1,1.0,4.0,30576,1,0 +15385,1100105,50,1,1,0.0,6.0,35332,1,0 +15386,1100105,50,1,1,1.0,4.0,44572,1,0 +15387,1100105,50,1,1,1.0,4.0,47755,1,0 +15388,1100105,50,1,1,0.0,6.0,26147,1,0 +15389,1100105,50,1,1,1.0,4.0,32214,1,0 +15390,1100105,50,1,1,0.0,4.0,42449,1,0 +15391,1100105,50,1,1,0.0,4.0,25895,1,0 +15392,1100105,50,1,1,0.0,6.0,27837,1,0 +15393,1100105,50,1,1,0.0,4.0,28381,1,0 +15394,1100105,50,1,1,1.0,4.0,43829,1,0 +15395,1100105,50,1,1,1.0,4.0,29582,1,0 +15396,1100105,50,1,1,1.0,6.0,36254,1,0 +15397,1100105,50,1,1,1.0,4.0,47755,1,0 +15398,1100105,50,1,1,0.0,6.0,32120,1,0 +15399,1100105,50,1,1,0.0,4.0,40397,1,0 +15400,1100105,50,1,1,1.0,6.0,47615,1,0 +15401,1100105,50,1,1,1.0,6.0,45336,1,0 +15402,1100105,50,1,1,0.0,6.0,25482,1,0 +15403,1100105,50,1,1,0.0,6.0,37143,1,0 +15404,1100105,50,1,1,0.0,6.0,46391,1,0 +15405,1100105,50,1,1,0.0,4.0,26931,1,0 +15406,1100105,50,1,1,0.0,4.0,48180,1,0 +15407,1100105,50,1,1,1.0,4.0,47130,1,0 +15408,1100105,50,1,1,0.0,6.0,26358,1,0 +15409,1100105,50,1,1,0.0,6.0,48180,1,0 +15410,1100105,50,1,1,1.0,4.0,47130,1,0 +15411,1100105,50,1,1,0.0,4.0,28174,1,0 +15412,1100105,50,1,1,0.0,6.0,49720,1,0 +15413,1100105,50,1,1,0.0,6.0,47755,1,0 +15414,1100105,50,1,1,1.0,6.0,29521,0,0 +15415,1100105,50,1,1,1.0,6.0,29521,0,0 +15416,1100105,50,1,1,1.0,6.0,37143,0,0 +15417,1100105,50,1,1,0.0,6.0,38497,0,0 +15418,1100105,50,1,1,1.0,6.0,32580,0,0 +15419,1100105,50,1,1,1.0,4.0,46694,0,0 +15420,1100105,50,1,1,1.0,4.0,37045,0,0 +15421,1100105,50,1,1,0.0,6.0,32475,0,0 +15422,1100105,50,1,1,1.0,6.0,47543,0,0 +15423,1100105,50,1,1,1.0,6.0,32580,0,0 +15424,1100105,50,1,1,2.0,6.0,48628,0,0 +15425,1100105,50,1,1,1.0,4.0,37045,0,0 +15426,1100105,50,1,1,0.0,4.0,37383,0,0 +15427,1100105,50,1,1,0.0,4.0,25327,0,0 +15428,1100105,50,1,1,0.0,6.0,40219,0,0 +15429,1100105,50,1,1,0.0,6.0,27592,0,0 +15430,1100105,50,1,1,0.0,6.0,27592,0,0 +15431,1100105,50,1,1,1.0,6.0,42826,0,0 +15432,1100105,50,1,1,0.0,4.0,41739,0,0 +15433,1100105,50,1,1,0.0,6.0,21959,1,0 +15434,1100105,50,1,1,1.0,6.0,13062,1,0 +15435,1100105,50,1,1,0.0,6.0,19700,1,0 +15436,1100105,50,1,1,1.0,4.0,9197,1,0 +15437,1100105,50,1,1,0.0,4.0,16060,1,0 +15438,1100105,50,1,1,0.0,6.0,8489,1,0 +15439,1100105,50,1,1,0.0,6.0,14347,1,0 +15440,1100105,50,1,1,0.0,6.0,103,1,0 +15441,1100105,50,1,1,0.0,6.0,103,1,0 +15442,1100105,50,1,1,0.0,6.0,103,1,0 +15443,1100105,50,1,1,0.0,4.0,19272,1,0 +15444,1100105,50,1,1,0.0,4.0,15815,1,0 +15445,1100105,50,1,1,1.0,6.0,8244,1,0 +15446,1100105,50,1,1,2.0,4.0,21413,1,0 +15447,1100105,50,1,1,0.0,4.0,11394,1,0 +15448,1100105,50,1,1,0.0,6.0,10358,1,0 +15449,1100105,50,1,1,1.0,6.0,10706,1,0 +15450,1100105,50,1,1,0.0,6.0,3183,1,0 +15451,1100105,50,1,1,0.0,4.0,3163,1,0 +15452,1100105,50,1,1,0.0,6.0,10358,1,0 +15453,1100105,50,1,1,0.0,4.0,19526,1,0 +15454,1100105,50,1,1,1.0,6.0,21352,1,0 +15455,1100105,50,1,1,0.0,4.0,18451,1,0 +15456,1100105,50,1,1,0.0,6.0,1697,1,0 +15457,1100105,50,1,1,1.0,6.0,17923,1,0 +15458,1100105,50,1,1,0.0,6.0,18852,0,0 +15459,1100105,50,1,1,0.0,6.0,18852,0,0 +15460,1100105,50,1,1,0.0,6.0,21023,0,0 +15461,1100105,50,1,1,0.0,6.0,12734,0,0 +15462,1100105,50,1,1,1.0,6.0,21199,0,0 +15463,1100105,50,1,1,0.0,4.0,6006,0,0 +15464,1100105,50,1,1,0.0,6.0,21413,0,0 +15465,1100105,50,1,1,0.0,4.0,16555,0,0 +15466,1100105,50,1,1,0.0,6.0,1450,0,0 +15467,1100105,50,1,1,0.0,4.0,14760,0,0 +15468,1100105,50,1,1,0.0,6.0,12734,0,0 +15469,1100105,50,1,1,1.0,6.0,7387,0,0 +15470,1100105,50,1,1,0.0,4.0,23876,0,0 +15471,1100105,50,1,1,0.0,4.0,23876,0,0 +15472,1100105,50,1,1,0.0,4.0,23876,0,0 +15473,1100105,50,1,1,0.0,6.0,3936,0,0 +15474,1100105,50,1,1,0.0,6.0,12989,0,0 +15475,1100105,50,1,1,0.0,4.0,23876,0,0 +15476,1100105,50,1,1,0.0,6.0,13362,0,0 +15477,1100105,50,1,1,0.0,6.0,15804,0,0 +15478,1100105,50,1,1,0.0,6.0,13362,0,0 +15479,1100105,50,1,1,0.0,4.0,15865,0,0 +15480,1100105,50,1,1,0.0,6.0,15804,0,0 +15481,1100105,50,1,1,0.0,6.0,9944,0,0 +15482,1100105,50,1,1,0.0,6.0,9126,0,0 +15483,1100105,50,1,1,0.0,6.0,13068,0,0 +15484,1100105,50,1,1,0.0,6.0,9126,0,0 +15485,1100105,50,1,1,1.0,4.0,13372,0,0 +15486,1100105,50,1,1,0.0,4.0,4650,0,0 +15487,1100105,50,1,1,0.0,4.0,32,0,0 +15488,1100105,50,1,1,0.0,6.0,9100,0,0 +15489,1100105,50,1,1,0.0,4.0,3533,0,0 +15490,1100105,50,1,1,0.0,4.0,9338,0,0 +15491,1100105,50,1,1,1.0,6.0,24860,0,0 +15492,1100105,50,1,1,0.0,4.0,1606,0,0 +15493,1100105,50,1,1,0.0,6.0,0,0,0 +15494,1100105,50,1,1,0.0,4.0,0,0,0 +15495,1100105,50,1,1,1.0,6.0,2569,0,0 +15496,1100105,50,1,1,0.0,4.0,9489,0,0 +15497,1100105,50,1,1,1.0,4.0,10053,0,0 +15498,1100105,50,1,1,1.0,4.0,10,0,0 +15499,1100105,50,1,1,0.0,6.0,0,0,0 +15500,1100105,50,1,1,1.0,6.0,1284,0,0 +15501,1100105,50,1,1,0.0,6.0,12741,0,0 +15502,1100105,50,1,1,0.0,6.0,0,0,0 +15503,1100105,50,1,1,0.0,4.0,0,0,0 +15504,1100105,50,1,1,0.0,6.0,1581,0,0 +15505,1100105,50,1,1,0.0,6.0,3502,0,0 +15506,1100105,50,1,1,0.0,4.0,8351,0,0 +15507,1100105,50,1,1,0.0,6.0,2026,0,0 +15508,1100105,50,1,1,0.0,4.0,20261,0,0 +15509,1100105,50,1,1,0.0,6.0,4244,0,0 +15510,1100105,50,1,1,0.0,4.0,7250,0,0 +15511,1100105,50,1,1,0.0,6.0,3268,0,0 +15512,1100105,50,1,1,0.0,6.0,3268,0,0 +15513,1100105,50,1,1,0.0,4.0,527,0,0 +15514,1100105,50,1,1,1.0,4.0,4603,0,0 +15515,1100105,50,1,1,1.0,6.0,0,0,0 +15516,1100105,50,1,1,0.0,4.0,0,0,0 +15517,1100105,50,1,1,0.0,6.0,5306,0,0 +15518,1100105,53,1,6,1.0,1.0,42449,2,1 +15519,1100105,53,1,6,1.0,1.0,42449,2,1 +15520,1100105,53,1,6,1.0,1.0,42449,2,1 +15521,1100105,53,1,6,1.0,1.0,42449,2,1 +15522,1100105,53,1,6,1.0,1.0,42449,2,1 +15523,1100105,53,1,6,1.0,1.0,42449,2,1 +15524,1100105,53,1,6,1.0,1.0,42449,2,1 +15525,1100105,53,1,6,1.0,1.0,42449,2,1 +15526,1100105,53,1,6,1.0,1.0,42449,2,1 +15527,1100105,53,1,9,0.0,2.0,17192,2,1 +15528,1100105,53,1,9,0.0,2.0,17192,2,1 +15529,1100105,53,1,9,0.0,2.0,17192,2,1 +15530,1100105,53,1,3,1.0,1.0,301700,3,0 +15531,1100105,53,1,3,0.0,5.0,230301,3,0 +15532,1100105,53,1,3,2.0,5.0,353322,3,0 +15533,1100105,53,1,3,0.0,7.0,261477,3,0 +15534,1100105,53,1,3,0.0,7.0,619850,3,0 +15535,1100105,53,1,3,1.0,1.0,226848,3,0 +15536,1100105,53,1,3,0.0,5.0,211737,3,0 +15537,1100105,53,1,3,2.0,7.0,182014,3,0 +15538,1100105,53,1,3,2.0,7.0,182014,3,0 +15539,1100105,53,1,3,1.0,3.0,168790,2,0 +15540,1100105,53,1,3,1.0,3.0,168790,2,0 +15541,1100105,53,1,3,1.0,3.0,168790,2,0 +15542,1100105,53,1,3,1.0,3.0,168790,2,0 +15543,1100105,53,1,3,1.0,3.0,168790,2,0 +15544,1100105,53,1,3,1.0,5.0,141328,3,0 +15545,1100105,53,1,3,2.0,7.0,105062,3,0 +15546,1100105,53,1,3,0.0,5.0,123597,3,0 +15547,1100105,53,1,3,0.0,2.0,103790,1,1 +15548,1100105,53,1,3,1.0,3.0,123597,0,1 +15549,1100105,53,1,3,1.0,3.0,123597,0,1 +15550,1100105,53,1,3,1.0,3.0,123597,0,1 +15551,1100105,53,1,3,1.0,7.0,52827,2,0 +15552,1100105,53,1,3,0.0,7.0,60785,2,0 +15553,1100105,53,1,3,2.0,3.0,476,1,1 +15554,1100105,53,1,3,2.0,3.0,476,1,1 +15555,1100105,53,1,3,2.0,3.0,476,1,1 +15556,1100105,53,1,3,2.0,3.0,476,1,1 +15557,1100105,53,1,3,0.0,3.0,19112,0,0 +15558,1100105,53,1,3,0.0,3.0,19112,0,0 +15559,1100105,53,1,2,1.0,1.0,225004,2,0 +15560,1100105,53,1,2,2.0,1.0,845809,2,0 +15561,1100105,53,1,2,1.0,1.0,379564,2,0 +15562,1100105,53,1,2,1.0,1.0,310751,2,0 +15563,1100105,53,1,2,1.0,1.0,227884,2,0 +15564,1100105,53,1,2,1.0,1.0,409156,2,0 +15565,1100105,53,1,2,1.0,5.0,286782,2,0 +15566,1100105,53,1,2,1.0,1.0,409156,2,0 +15567,1100105,53,1,2,1.0,5.0,269317,2,0 +15568,1100105,53,1,2,1.0,1.0,227738,2,0 +15569,1100105,53,1,2,2.0,1.0,284412,2,0 +15570,1100105,53,1,2,0.0,5.0,373937,2,0 +15571,1100105,53,1,2,1.0,1.0,254816,2,0 +15572,1100105,53,1,2,1.0,1.0,312086,2,0 +15573,1100105,53,1,2,1.0,1.0,433622,2,0 +15574,1100105,53,1,2,3.0,5.0,643474,2,0 +15575,1100105,53,1,2,1.0,1.0,202434,2,0 +15576,1100105,53,1,2,2.0,7.0,206639,2,0 +15577,1100105,53,1,2,1.0,5.0,323678,2,0 +15578,1100105,53,1,2,1.0,1.0,238760,2,0 +15579,1100105,53,1,2,2.0,5.0,260534,2,0 +15580,1100105,53,1,2,2.0,5.0,260534,2,0 +15581,1100105,53,1,2,1.0,5.0,310943,2,0 +15582,1100105,53,1,2,2.0,1.0,800346,2,0 +15583,1100105,53,1,2,0.0,5.0,208697,2,0 +15584,1100105,53,1,2,1.0,1.0,233477,2,0 +15585,1100105,53,1,2,1.0,1.0,291771,2,0 +15586,1100105,53,1,2,2.0,1.0,800346,2,0 +15587,1100105,53,1,2,1.0,1.0,240901,2,0 +15588,1100105,53,1,2,0.0,1.0,238242,2,0 +15589,1100105,53,1,2,2.0,5.0,280627,2,0 +15590,1100105,53,1,2,1.0,5.0,227884,2,0 +15591,1100105,53,1,2,1.0,7.0,292075,2,0 +15592,1100105,53,1,2,0.0,5.0,380152,2,0 +15593,1100105,53,1,2,1.0,1.0,210869,2,0 +15594,1100105,53,1,2,1.0,5.0,211310,2,0 +15595,1100105,53,1,2,1.0,7.0,319433,2,0 +15596,1100105,53,1,2,0.0,5.0,258959,2,0 +15597,1100105,53,1,2,2.0,1.0,212750,2,0 +15598,1100105,53,1,2,1.0,7.0,295213,2,0 +15599,1100105,53,1,2,1.0,1.0,263586,2,0 +15600,1100105,53,1,2,1.0,1.0,323678,2,0 +15601,1100105,53,1,2,1.0,7.0,245169,2,0 +15602,1100105,53,1,2,0.0,5.0,286535,2,0 +15603,1100105,53,1,2,0.0,1.0,231956,2,0 +15604,1100105,53,1,2,2.0,7.0,220358,2,0 +15605,1100105,53,1,2,2.0,1.0,230991,1,0 +15606,1100105,53,1,2,1.0,1.0,318112,1,0 +15607,1100105,53,1,2,0.0,1.0,322617,1,0 +15608,1100105,53,1,2,1.0,1.0,332911,1,0 +15609,1100105,53,1,2,1.0,1.0,247461,1,0 +15610,1100105,53,1,2,2.0,5.0,333539,1,0 +15611,1100105,53,1,2,2.0,5.0,201635,1,0 +15612,1100105,53,1,2,1.0,1.0,410035,0,0 +15613,1100105,53,1,2,1.0,1.0,392871,0,0 +15614,1100105,53,1,2,2.0,1.0,290345,0,0 +15615,1100105,53,1,2,2.0,1.0,290345,0,0 +15616,1100105,53,1,2,1.0,1.0,392871,0,0 +15617,1100105,53,1,2,1.0,2.0,311426,0,0 +15618,1100105,53,1,2,0.0,5.0,198217,2,0 +15619,1100105,53,1,2,0.0,1.0,165734,2,0 +15620,1100105,53,1,2,0.0,5.0,159186,2,0 +15621,1100105,53,1,2,0.0,1.0,150196,2,0 +15622,1100105,53,1,2,1.0,5.0,196809,2,0 +15623,1100105,53,1,2,0.0,5.0,171921,2,0 +15624,1100105,53,1,2,0.0,5.0,158483,2,0 +15625,1100105,53,1,2,1.0,5.0,176166,2,0 +15626,1100105,53,1,2,1.0,1.0,177227,2,0 +15627,1100105,53,1,2,0.0,7.0,189509,2,0 +15628,1100105,53,1,2,1.0,1.0,189803,2,0 +15629,1100105,53,1,2,1.0,1.0,158172,2,0 +15630,1100105,53,1,2,1.0,5.0,169812,2,0 +15631,1100105,53,1,2,1.0,5.0,174043,2,0 +15632,1100105,53,1,2,1.0,1.0,178952,2,0 +15633,1100105,53,1,2,2.0,5.0,193701,2,0 +15634,1100105,53,1,2,0.0,5.0,158043,2,0 +15635,1100105,53,1,2,0.0,1.0,198074,2,0 +15636,1100105,53,1,2,0.0,5.0,156043,2,0 +15637,1100105,53,1,2,1.0,1.0,189803,2,0 +15638,1100105,53,1,2,1.0,5.0,172982,2,0 +15639,1100105,53,1,2,2.0,5.0,193701,2,0 +15640,1100105,53,1,2,0.0,7.0,152977,2,0 +15641,1100105,53,1,2,0.0,1.0,192523,2,0 +15642,1100105,53,1,2,0.0,7.0,189782,2,0 +15643,1100105,53,1,2,1.0,1.0,175468,1,0 +15644,1100105,53,1,2,1.0,1.0,170809,1,0 +15645,1100105,53,1,2,1.0,1.0,154339,1,0 +15646,1100105,53,1,2,1.0,7.0,175317,1,0 +15647,1100105,53,1,2,1.0,7.0,189782,1,0 +15648,1100105,53,1,2,1.0,1.0,169798,1,0 +15649,1100105,53,1,2,1.0,1.0,153821,0,0 +15650,1100105,53,1,2,2.0,1.0,159726,0,0 +15651,1100105,53,1,2,2.0,7.0,190076,0,0 +15652,1100105,53,1,2,0.0,7.0,120769,2,0 +15653,1100105,53,1,2,1.0,1.0,142399,2,0 +15654,1100105,53,1,2,0.0,1.0,111324,2,0 +15655,1100105,53,1,2,1.0,1.0,106375,2,0 +15656,1100105,53,1,2,0.0,7.0,122584,2,0 +15657,1100105,53,1,2,0.0,7.0,122584,2,0 +15658,1100105,53,1,2,1.0,5.0,124610,2,0 +15659,1100105,53,1,2,1.0,7.0,117053,2,0 +15660,1100105,53,1,2,1.0,7.0,132870,2,0 +15661,1100105,53,1,2,0.0,5.0,136768,2,0 +15662,1100105,53,1,2,0.0,5.0,137961,2,0 +15663,1100105,53,1,2,1.0,1.0,112605,2,0 +15664,1100105,53,1,2,0.0,7.0,100296,2,0 +15665,1100105,53,1,2,2.0,5.0,134658,2,0 +15666,1100105,53,1,2,1.0,1.0,145535,2,0 +15667,1100105,53,1,2,0.0,5.0,149160,2,0 +15668,1100105,53,1,2,1.0,7.0,100162,2,0 +15669,1100105,53,1,2,2.0,1.0,149894,2,0 +15670,1100105,53,1,2,0.0,7.0,149160,2,0 +15671,1100105,53,1,2,0.0,7.0,108762,2,0 +15672,1100105,53,1,2,1.0,7.0,149938,2,0 +15673,1100105,53,1,2,2.0,5.0,148642,2,0 +15674,1100105,53,1,2,0.0,1.0,104001,2,0 +15675,1100105,53,1,2,0.0,5.0,133834,2,0 +15676,1100105,53,1,2,1.0,1.0,101713,2,0 +15677,1100105,53,1,2,0.0,7.0,106124,2,0 +15678,1100105,53,1,2,1.0,7.0,131793,2,0 +15679,1100105,53,1,2,0.0,5.0,137781,2,0 +15680,1100105,53,1,2,1.0,5.0,101083,1,0 +15681,1100105,53,1,2,1.0,7.0,126521,1,0 +15682,1100105,53,1,2,2.0,1.0,107067,1,0 +15683,1100105,53,1,2,1.0,5.0,143981,1,0 +15684,1100105,53,1,2,0.0,1.0,105062,1,0 +15685,1100105,53,1,2,1.0,1.0,105223,1,0 +15686,1100105,53,1,2,0.0,1.0,118085,1,0 +15687,1100105,53,1,2,1.0,1.0,126339,1,0 +15688,1100105,53,1,2,1.0,1.0,121144,0,0 +15689,1100105,53,1,2,1.0,1.0,131266,0,0 +15690,1100105,53,1,2,1.0,7.0,100900,0,0 +15691,1100105,53,1,2,0.0,7.0,71110,2,0 +15692,1100105,53,1,2,1.0,5.0,82977,2,0 +15693,1100105,53,1,2,0.0,5.0,95511,2,0 +15694,1100105,53,1,2,0.0,7.0,80090,2,0 +15695,1100105,53,1,2,0.0,5.0,91266,2,0 +15696,1100105,53,1,2,0.0,7.0,89619,2,0 +15697,1100105,53,1,2,0.0,7.0,95231,2,0 +15698,1100105,53,1,2,1.0,5.0,78205,2,0 +15699,1100105,53,1,2,2.0,7.0,81715,2,0 +15700,1100105,53,1,2,1.0,7.0,85402,2,0 +15701,1100105,53,1,2,1.0,5.0,58368,2,0 +15702,1100105,53,1,2,0.0,7.0,95231,2,0 +15703,1100105,53,1,2,0.0,5.0,79593,2,0 +15704,1100105,53,1,2,0.0,5.0,74590,2,0 +15705,1100105,53,1,2,0.0,7.0,98054,2,0 +15706,1100105,53,1,2,2.0,7.0,98404,2,0 +15707,1100105,53,1,2,1.0,7.0,54899,1,0 +15708,1100105,53,1,2,2.0,1.0,50756,1,0 +15709,1100105,53,1,2,1.0,1.0,55502,1,0 +15710,1100105,53,1,2,1.0,7.0,54193,1,0 +15711,1100105,53,1,2,1.0,7.0,54193,1,0 +15712,1100105,53,1,2,1.0,7.0,84899,1,0 +15713,1100105,53,1,2,0.0,1.0,66423,1,0 +15714,1100105,53,1,2,0.0,1.0,66423,1,0 +15715,1100105,53,1,2,0.0,7.0,53104,1,0 +15716,1100105,53,1,2,1.0,1.0,71952,1,0 +15717,1100105,53,1,2,0.0,7.0,53104,1,0 +15718,1100105,53,1,2,2.0,5.0,54017,1,0 +15719,1100105,53,1,2,0.0,7.0,75454,1,0 +15720,1100105,53,1,2,0.0,7.0,75454,1,0 +15721,1100105,53,1,2,1.0,5.0,58887,1,0 +15722,1100105,53,1,2,0.0,5.0,56882,1,0 +15723,1100105,53,1,2,1.0,5.0,65340,1,0 +15724,1100105,53,1,2,1.0,5.0,81831,1,0 +15725,1100105,53,1,2,0.0,1.0,64838,1,0 +15726,1100105,53,1,2,1.0,1.0,54720,0,0 +15727,1100105,53,1,2,1.0,1.0,54720,0,0 +15728,1100105,53,1,2,1.0,1.0,54720,0,0 +15729,1100105,53,1,2,1.0,5.0,52355,0,0 +15730,1100105,53,1,2,0.0,7.0,39614,2,0 +15731,1100105,53,1,2,0.0,5.0,37956,2,0 +15732,1100105,53,1,2,1.0,5.0,25895,1,0 +15733,1100105,53,1,2,2.0,7.0,31975,1,0 +15734,1100105,53,1,2,0.0,1.0,28920,0,0 +15735,1100105,53,1,2,0.0,1.0,42469,0,0 +15736,1100105,53,1,2,1.0,1.0,26948,0,0 +15737,1100105,53,1,2,1.0,3.0,12741,1,0 +15738,1100105,53,1,2,0.0,2.0,10706,1,0 +15739,1100105,53,1,2,1.0,1.0,17609,1,0 +15740,1100105,53,1,2,1.0,1.0,17609,1,0 +15741,1100105,53,1,2,1.0,1.0,17609,1,0 +15742,1100105,53,1,2,1.0,1.0,17609,1,0 +15743,1100105,53,1,2,0.0,7.0,5306,1,0 +15744,1100105,53,1,2,0.0,7.0,8187,1,0 +15745,1100105,53,1,2,0.0,7.0,5074,1,0 +15746,1100105,53,1,2,0.0,5.0,3183,1,0 +15747,1100105,53,1,2,0.0,1.0,16661,0,0 +15748,1100105,53,1,2,0.0,1.0,16661,0,0 +15749,1100105,53,1,2,0.0,3.0,20243,0,0 +15750,1100105,53,1,2,1.0,5.0,0,0,0 +15751,1100105,53,1,2,0.0,3.0,24213,0,0 +15752,1100105,53,1,2,0.0,7.0,0,0,0 +15753,1100105,53,1,2,0.0,7.0,4246,0,0 +15754,1100105,53,1,2,0.0,5.0,4280,0,0 +15755,1100105,53,1,2,0.0,5.0,4280,0,0 +15756,1100105,53,1,2,1.0,7.0,21275,0,0 +15757,1100105,53,1,2,0.0,5.0,7730,0,0 +15758,1100105,53,1,2,0.0,7.0,5271,0,0 +15759,1100105,53,1,2,0.0,7.0,0,0,0 +15760,1100105,53,1,2,2.0,7.0,19102,0,0 +15761,1100105,53,1,1,0.0,4.0,771675,1,0 +15762,1100105,53,1,1,1.0,4.0,288732,1,0 +15763,1100105,53,1,1,0.0,4.0,771675,1,0 +15764,1100105,53,1,1,1.0,6.0,327625,1,0 +15765,1100105,53,1,1,0.0,6.0,210869,1,0 +15766,1100105,53,1,1,0.0,4.0,233012,1,0 +15767,1100105,53,1,1,1.0,4.0,692991,1,0 +15768,1100105,53,1,1,0.0,4.0,316303,1,0 +15769,1100105,53,1,1,1.0,6.0,421738,1,0 +15770,1100105,53,1,1,1.0,4.0,228167,1,0 +15771,1100105,53,1,1,1.0,4.0,623131,1,0 +15772,1100105,53,1,1,1.0,4.0,559274,1,0 +15773,1100105,53,1,1,0.0,6.0,204139,1,0 +15774,1100105,53,1,1,1.0,6.0,306212,1,0 +15775,1100105,53,1,1,1.0,6.0,325253,1,0 +15776,1100105,53,1,1,0.0,6.0,310751,1,0 +15777,1100105,53,1,1,1.0,6.0,337707,1,0 +15778,1100105,53,1,1,0.0,6.0,237469,1,0 +15779,1100105,53,1,1,0.0,4.0,257260,1,0 +15780,1100105,53,1,1,1.0,6.0,456848,1,0 +15781,1100105,53,1,1,0.0,6.0,374735,1,0 +15782,1100105,53,1,1,0.0,6.0,202619,1,0 +15783,1100105,53,1,1,0.0,6.0,324191,1,0 +15784,1100105,53,1,1,1.0,4.0,253274,1,0 +15785,1100105,53,1,1,0.0,4.0,258339,1,0 +15786,1100105,53,1,1,1.0,4.0,231897,1,0 +15787,1100105,53,1,1,1.0,4.0,243143,1,0 +15788,1100105,53,1,1,0.0,4.0,257923,1,0 +15789,1100105,53,1,1,1.0,6.0,243421,1,0 +15790,1100105,53,1,1,0.0,6.0,227136,0,0 +15791,1100105,53,1,1,1.0,6.0,427010,0,0 +15792,1100105,53,1,1,1.0,6.0,429645,0,0 +15793,1100105,53,1,1,0.0,6.0,227136,0,0 +15794,1100105,53,1,1,1.0,6.0,353393,0,0 +15795,1100105,53,1,1,0.0,6.0,227136,0,0 +15796,1100105,53,1,1,1.0,6.0,443036,0,0 +15797,1100105,53,1,1,1.0,6.0,427010,0,0 +15798,1100105,53,1,1,1.0,6.0,412823,0,0 +15799,1100105,53,1,1,0.0,6.0,165734,1,0 +15800,1100105,53,1,1,0.0,6.0,183603,1,0 +15801,1100105,53,1,1,6.0,4.0,180411,1,0 +15802,1100105,53,1,1,1.0,4.0,196809,1,0 +15803,1100105,53,1,1,0.0,4.0,187367,1,0 +15804,1100105,53,1,1,1.0,6.0,160922,1,0 +15805,1100105,53,1,1,0.0,4.0,189782,1,0 +15806,1100105,53,1,1,1.0,4.0,164545,1,0 +15807,1100105,53,1,1,1.0,4.0,181271,1,0 +15808,1100105,53,1,1,1.0,4.0,199580,1,0 +15809,1100105,53,1,1,1.0,4.0,159186,1,0 +15810,1100105,53,1,1,0.0,6.0,171307,1,0 +15811,1100105,53,1,1,0.0,4.0,175104,1,0 +15812,1100105,53,1,1,0.0,6.0,163431,1,0 +15813,1100105,53,1,1,0.0,4.0,175104,1,0 +15814,1100105,53,1,1,0.0,4.0,152880,1,0 +15815,1100105,53,1,1,0.0,6.0,196809,1,0 +15816,1100105,53,1,1,1.0,4.0,161601,1,0 +15817,1100105,53,1,1,1.0,4.0,161601,1,0 +15818,1100105,53,1,1,1.0,6.0,157030,1,0 +15819,1100105,53,1,1,0.0,4.0,192190,0,0 +15820,1100105,53,1,1,1.0,6.0,127838,1,0 +15821,1100105,53,1,1,0.0,6.0,124383,1,0 +15822,1100105,53,1,1,0.0,4.0,104380,1,0 +15823,1100105,53,1,1,0.0,6.0,121193,1,0 +15824,1100105,53,1,1,1.0,6.0,149894,1,0 +15825,1100105,53,1,1,0.0,6.0,105434,1,0 +15826,1100105,53,1,1,0.0,4.0,103583,1,0 +15827,1100105,53,1,1,0.0,6.0,105434,1,0 +15828,1100105,53,1,1,1.0,6.0,144540,1,0 +15829,1100105,53,1,1,0.0,6.0,103583,1,0 +15830,1100105,53,1,1,0.0,6.0,129684,1,0 +15831,1100105,53,1,1,1.0,6.0,100817,1,0 +15832,1100105,53,1,1,0.0,4.0,106124,1,0 +15833,1100105,53,1,1,1.0,4.0,113942,1,0 +15834,1100105,53,1,1,0.0,6.0,105434,1,0 +15835,1100105,53,1,1,1.0,6.0,124610,1,0 +15836,1100105,53,1,1,1.0,6.0,148573,1,0 +15837,1100105,53,1,1,1.0,4.0,113974,1,0 +15838,1100105,53,1,1,0.0,6.0,134658,1,0 +15839,1100105,53,1,1,0.0,4.0,111135,1,0 +15840,1100105,53,1,1,1.0,6.0,140083,1,0 +15841,1100105,53,1,1,1.0,4.0,126521,1,0 +15842,1100105,53,1,1,1.0,4.0,105434,1,0 +15843,1100105,53,1,1,0.0,4.0,106124,1,0 +15844,1100105,53,1,1,1.0,4.0,123358,1,0 +15845,1100105,53,1,1,1.0,4.0,108970,1,0 +15846,1100105,53,1,1,1.0,4.0,105593,1,0 +15847,1100105,53,1,1,1.0,4.0,109307,1,0 +15848,1100105,53,1,1,1.0,4.0,100296,1,0 +15849,1100105,53,1,1,0.0,6.0,123104,1,0 +15850,1100105,53,1,1,0.0,4.0,101217,1,0 +15851,1100105,53,1,1,1.0,4.0,101217,1,0 +15852,1100105,53,1,1,1.0,4.0,101217,1,0 +15853,1100105,53,1,1,0.0,6.0,105434,1,0 +15854,1100105,53,1,1,0.0,4.0,148573,1,0 +15855,1100105,53,1,1,0.0,4.0,148573,1,0 +15856,1100105,53,1,1,1.0,4.0,116729,1,0 +15857,1100105,53,1,1,0.0,4.0,106124,1,0 +15858,1100105,53,1,1,0.0,4.0,106124,1,0 +15859,1100105,53,1,1,1.0,4.0,105434,1,0 +15860,1100105,53,1,1,1.0,6.0,122584,1,0 +15861,1100105,53,1,1,0.0,6.0,142336,1,0 +15862,1100105,53,1,1,1.0,6.0,111440,1,0 +15863,1100105,53,1,1,0.0,4.0,108762,1,0 +15864,1100105,53,1,1,0.0,6.0,102784,1,0 +15865,1100105,53,1,1,0.0,6.0,102784,1,0 +15866,1100105,53,1,1,0.0,6.0,114479,1,0 +15867,1100105,53,1,1,1.0,6.0,123127,1,0 +15868,1100105,53,1,1,1.0,4.0,116729,1,0 +15869,1100105,53,1,1,1.0,4.0,131702,1,0 +15870,1100105,53,1,1,0.0,6.0,117049,1,0 +15871,1100105,53,1,1,0.0,6.0,120986,1,0 +15872,1100105,53,1,1,1.0,6.0,106124,1,0 +15873,1100105,53,1,1,1.0,4.0,105655,1,0 +15874,1100105,53,1,1,1.0,6.0,104925,1,0 +15875,1100105,53,1,1,1.0,4.0,115978,1,0 +15876,1100105,53,1,1,0.0,4.0,106124,1,0 +15877,1100105,53,1,1,0.0,6.0,102784,1,0 +15878,1100105,53,1,1,0.0,6.0,120157,1,0 +15879,1100105,53,1,1,0.0,4.0,116506,1,0 +15880,1100105,53,1,1,1.0,4.0,101713,1,0 +15881,1100105,53,1,1,1.0,6.0,149894,1,0 +15882,1100105,53,1,1,1.0,4.0,101309,1,0 +15883,1100105,53,1,1,0.0,4.0,108907,1,0 +15884,1100105,53,1,1,0.0,4.0,101309,1,0 +15885,1100105,53,1,1,1.0,6.0,131551,0,0 +15886,1100105,53,1,1,1.0,4.0,117519,0,0 +15887,1100105,53,1,1,0.0,6.0,111643,0,0 +15888,1100105,53,1,1,0.0,4.0,112502,0,0 +15889,1100105,53,1,1,2.0,6.0,128865,0,0 +15890,1100105,53,1,1,0.0,4.0,124610,0,0 +15891,1100105,53,1,1,1.0,4.0,74732,1,0 +15892,1100105,53,1,1,1.0,6.0,73204,1,0 +15893,1100105,53,1,1,0.0,6.0,87227,1,0 +15894,1100105,53,1,1,0.0,4.0,81184,1,0 +15895,1100105,53,1,1,1.0,6.0,89619,1,0 +15896,1100105,53,1,1,0.0,4.0,99272,1,0 +15897,1100105,53,1,1,1.0,6.0,70916,1,0 +15898,1100105,53,1,1,1.0,6.0,97257,1,0 +15899,1100105,53,1,1,1.0,6.0,70916,1,0 +15900,1100105,53,1,1,1.0,6.0,78266,1,0 +15901,1100105,53,1,1,1.0,4.0,94450,1,0 +15902,1100105,53,1,1,0.0,6.0,74286,1,0 +15903,1100105,53,1,1,0.0,6.0,96360,1,0 +15904,1100105,53,1,1,1.0,6.0,95075,1,0 +15905,1100105,53,1,1,1.0,4.0,75982,1,0 +15906,1100105,53,1,1,0.0,4.0,94922,1,0 +15907,1100105,53,1,1,1.0,4.0,95511,1,0 +15908,1100105,53,1,1,0.0,6.0,90117,1,0 +15909,1100105,53,1,1,1.0,6.0,69593,1,0 +15910,1100105,53,1,1,1.0,6.0,90165,1,0 +15911,1100105,53,1,1,0.0,6.0,95289,1,0 +15912,1100105,53,1,1,1.0,4.0,99440,1,0 +15913,1100105,53,1,1,1.0,6.0,96360,1,0 +15914,1100105,53,1,1,0.0,6.0,79593,1,0 +15915,1100105,53,1,1,1.0,4.0,63674,1,0 +15916,1100105,53,1,1,0.0,4.0,66423,1,0 +15917,1100105,53,1,1,1.0,6.0,88046,1,0 +15918,1100105,53,1,1,0.0,6.0,90165,1,0 +15919,1100105,53,1,1,0.0,6.0,70612,1,0 +15920,1100105,53,1,1,0.0,6.0,90165,1,0 +15921,1100105,53,1,1,0.0,6.0,79593,1,0 +15922,1100105,53,1,1,0.0,4.0,81047,1,0 +15923,1100105,53,1,1,0.0,6.0,57989,1,0 +15924,1100105,53,1,1,1.0,6.0,84899,1,0 +15925,1100105,53,1,1,0.0,6.0,82060,1,0 +15926,1100105,53,1,1,0.0,6.0,89936,1,0 +15927,1100105,53,1,1,0.0,6.0,89936,1,0 +15928,1100105,53,1,1,0.0,6.0,73804,1,0 +15929,1100105,53,1,1,0.0,4.0,76652,1,0 +15930,1100105,53,1,1,0.0,6.0,89936,1,0 +15931,1100105,53,1,1,0.0,4.0,76652,1,0 +15932,1100105,53,1,1,1.0,6.0,71251,1,0 +15933,1100105,53,1,1,0.0,6.0,82867,1,0 +15934,1100105,53,1,1,0.0,6.0,52717,1,0 +15935,1100105,53,1,1,0.0,6.0,61552,1,0 +15936,1100105,53,1,1,0.0,4.0,73804,1,0 +15937,1100105,53,1,1,1.0,6.0,54604,1,0 +15938,1100105,53,1,1,0.0,4.0,98270,1,0 +15939,1100105,53,1,1,0.0,4.0,74286,1,0 +15940,1100105,53,1,1,0.0,4.0,53533,1,0 +15941,1100105,53,1,1,0.0,6.0,64525,1,0 +15942,1100105,53,1,1,1.0,6.0,92189,1,0 +15943,1100105,53,1,1,0.0,6.0,84347,1,0 +15944,1100105,53,1,1,0.0,6.0,84087,1,0 +15945,1100105,53,1,1,1.0,6.0,61292,1,0 +15946,1100105,53,1,1,0.0,6.0,67329,1,0 +15947,1100105,53,1,1,0.0,4.0,64315,1,0 +15948,1100105,53,1,1,1.0,6.0,70592,1,0 +15949,1100105,53,1,1,1.0,4.0,92189,1,0 +15950,1100105,53,1,1,1.0,6.0,62978,1,0 +15951,1100105,53,1,1,0.0,6.0,67877,1,0 +15952,1100105,53,1,1,0.0,6.0,76652,1,0 +15953,1100105,53,1,1,1.0,4.0,79759,1,0 +15954,1100105,53,1,1,0.0,6.0,72942,1,0 +15955,1100105,53,1,1,0.0,6.0,79229,1,0 +15956,1100105,53,1,1,1.0,6.0,67329,1,0 +15957,1100105,53,1,1,0.0,4.0,62150,1,0 +15958,1100105,53,1,1,1.0,4.0,79593,1,0 +15959,1100105,53,1,1,1.0,6.0,67329,1,0 +15960,1100105,53,1,1,3.0,4.0,69647,1,0 +15961,1100105,53,1,1,1.0,4.0,89936,1,0 +15962,1100105,53,1,1,0.0,4.0,86456,1,0 +15963,1100105,53,1,1,1.0,4.0,98404,1,0 +15964,1100105,53,1,1,0.0,4.0,99636,1,0 +15965,1100105,53,1,1,1.0,6.0,62154,1,0 +15966,1100105,53,1,1,1.0,6.0,60490,1,0 +15967,1100105,53,1,1,1.0,6.0,62978,1,0 +15968,1100105,53,1,1,1.0,4.0,92189,1,0 +15969,1100105,53,1,1,0.0,6.0,61798,1,0 +15970,1100105,53,1,1,0.0,4.0,86561,1,0 +15971,1100105,53,1,1,0.0,6.0,56245,1,0 +15972,1100105,53,1,1,1.0,6.0,70641,1,0 +15973,1100105,53,1,1,1.0,4.0,87795,1,0 +15974,1100105,53,1,1,1.0,4.0,77687,1,0 +15975,1100105,53,1,1,1.0,6.0,73804,1,0 +15976,1100105,53,1,1,0.0,4.0,62150,1,0 +15977,1100105,53,1,1,1.0,4.0,89936,1,0 +15978,1100105,53,1,1,1.0,6.0,62154,1,0 +15979,1100105,53,1,1,0.0,6.0,62099,1,0 +15980,1100105,53,1,1,3.0,4.0,69647,1,0 +15981,1100105,53,1,1,0.0,6.0,62150,1,0 +15982,1100105,53,1,1,1.0,6.0,71251,1,0 +15983,1100105,53,1,1,1.0,6.0,62154,1,0 +15984,1100105,53,1,1,0.0,6.0,84087,1,0 +15985,1100105,53,1,1,1.0,4.0,79759,1,0 +15986,1100105,53,1,1,0.0,6.0,65580,1,0 +15987,1100105,53,1,1,0.0,6.0,96360,1,0 +15988,1100105,53,1,1,0.0,4.0,72164,1,0 +15989,1100105,53,1,1,0.0,6.0,56245,1,0 +15990,1100105,53,1,1,0.0,6.0,50397,1,0 +15991,1100105,53,1,1,1.0,6.0,70916,1,0 +15992,1100105,53,1,1,0.0,6.0,72508,1,0 +15993,1100105,53,1,1,0.0,4.0,72164,1,0 +15994,1100105,53,1,1,1.0,4.0,65851,1,0 +15995,1100105,53,1,1,0.0,6.0,56245,1,0 +15996,1100105,53,1,1,1.0,6.0,91007,1,0 +15997,1100105,53,1,1,0.0,6.0,66858,1,0 +15998,1100105,53,1,1,0.0,4.0,58887,1,0 +15999,1100105,53,1,1,0.0,6.0,81047,1,0 +16000,1100105,53,1,1,1.0,6.0,61010,0,0 +16001,1100105,53,1,1,1.0,4.0,89861,0,0 +16002,1100105,53,1,1,0.0,6.0,56564,0,0 +16003,1100105,53,1,1,0.0,4.0,55184,0,0 +16004,1100105,53,1,1,0.0,6.0,56564,0,0 +16005,1100105,53,1,1,1.0,6.0,59886,0,0 +16006,1100105,53,1,1,0.0,4.0,61292,0,0 +16007,1100105,53,1,1,1.0,4.0,88083,0,0 +16008,1100105,53,1,1,1.0,6.0,87870,0,0 +16009,1100105,53,1,1,0.0,4.0,62206,0,0 +16010,1100105,53,1,1,1.0,4.0,69165,0,0 +16011,1100105,53,1,1,0.0,4.0,61292,0,0 +16012,1100105,53,1,1,0.0,4.0,62206,0,0 +16013,1100105,53,1,1,0.0,4.0,94219,0,0 +16014,1100105,53,1,1,1.0,6.0,59886,0,0 +16015,1100105,53,1,1,0.0,6.0,67583,0,0 +16016,1100105,53,1,1,0.0,6.0,67583,0,0 +16017,1100105,53,1,1,1.0,4.0,55821,0,0 +16018,1100105,53,1,1,0.0,4.0,63217,0,0 +16019,1100105,53,1,1,1.0,6.0,79593,0,0 +16020,1100105,53,1,1,2.0,6.0,70916,0,0 +16021,1100105,53,1,1,0.0,4.0,42184,1,0 +16022,1100105,53,1,1,0.0,6.0,43829,1,0 +16023,1100105,53,1,1,0.0,6.0,38544,1,0 +16024,1100105,53,1,1,1.0,6.0,47109,1,0 +16025,1100105,53,1,1,0.0,6.0,45589,1,0 +16026,1100105,53,1,1,0.0,6.0,47755,1,0 +16027,1100105,53,1,1,0.0,4.0,47755,1,0 +16028,1100105,53,1,1,0.0,4.0,40397,1,0 +16029,1100105,53,1,1,0.0,6.0,49236,1,0 +16030,1100105,53,1,1,0.0,6.0,46391,1,0 +16031,1100105,53,1,1,0.0,4.0,42449,1,0 +16032,1100105,53,1,1,1.0,6.0,36254,1,0 +16033,1100105,53,1,1,1.0,6.0,36254,1,0 +16034,1100105,53,1,1,0.0,6.0,48684,1,0 +16035,1100105,53,1,1,1.0,6.0,29521,0,0 +16036,1100105,53,1,1,1.0,6.0,29521,0,0 +16037,1100105,53,1,1,0.0,4.0,40294,0,0 +16038,1100105,53,1,1,0.0,6.0,43157,0,0 +16039,1100105,53,1,1,0.0,4.0,27967,0,0 +16040,1100105,53,1,1,1.0,6.0,37788,0,0 +16041,1100105,53,1,1,1.0,6.0,37788,0,0 +16042,1100105,53,1,1,0.0,6.0,28151,0,0 +16043,1100105,53,1,1,1.0,6.0,47543,0,0 +16044,1100105,53,1,1,0.0,4.0,37383,0,0 +16045,1100105,53,1,1,1.0,6.0,47323,0,0 +16046,1100105,53,1,1,0.0,4.0,41739,0,0 +16047,1100105,53,1,1,1.0,4.0,20906,1,0 +16048,1100105,53,1,1,1.0,4.0,7498,1,0 +16049,1100105,53,1,1,0.0,6.0,21959,1,0 +16050,1100105,53,1,1,1.0,4.0,20906,1,0 +16051,1100105,53,1,1,0.0,6.0,19700,1,0 +16052,1100105,53,1,1,0.0,6.0,19700,1,0 +16053,1100105,53,1,1,1.0,4.0,9197,1,0 +16054,1100105,53,1,1,0.0,4.0,5851,1,0 +16055,1100105,53,1,1,0.0,4.0,955,1,0 +16056,1100105,53,1,1,1.0,4.0,6367,1,0 +16057,1100105,53,1,1,0.0,4.0,7216,1,0 +16058,1100105,53,1,1,1.0,4.0,14989,1,0 +16059,1100105,53,1,1,1.0,4.0,10358,1,0 +16060,1100105,53,1,1,0.0,6.0,5271,1,0 +16061,1100105,53,1,1,1.0,6.0,8244,1,0 +16062,1100105,53,1,1,0.0,4.0,11394,1,0 +16063,1100105,53,1,1,0.0,4.0,11394,1,0 +16064,1100105,53,1,1,0.0,6.0,10706,1,0 +16065,1100105,53,1,1,0.0,4.0,11394,1,0 +16066,1100105,53,1,1,0.0,4.0,11394,1,0 +16067,1100105,53,1,1,0.0,6.0,12157,1,0 +16068,1100105,53,1,1,1.0,6.0,12652,1,0 +16069,1100105,53,1,1,0.0,6.0,5798,1,0 +16070,1100105,53,1,1,1.0,6.0,10706,1,0 +16071,1100105,53,1,1,1.0,6.0,12652,1,0 +16072,1100105,53,1,1,0.0,4.0,3163,1,0 +16073,1100105,53,1,1,0.0,6.0,10358,1,0 +16074,1100105,53,1,1,0.0,4.0,5271,1,0 +16075,1100105,53,1,1,0.0,6.0,1697,1,0 +16076,1100105,53,1,1,0.0,4.0,3163,1,0 +16077,1100105,53,1,1,0.0,4.0,21086,1,0 +16078,1100105,53,1,1,0.0,4.0,11703,1,0 +16079,1100105,53,1,1,0.0,4.0,3163,1,0 +16080,1100105,53,1,1,0.0,4.0,19526,1,0 +16081,1100105,53,1,1,0.0,4.0,5271,1,0 +16082,1100105,53,1,1,0.0,4.0,7091,1,0 +16083,1100105,53,1,1,0.0,6.0,14857,1,0 +16084,1100105,53,1,1,0.0,4.0,14082,1,0 +16085,1100105,53,1,1,0.0,4.0,14082,1,0 +16086,1100105,53,1,1,0.0,6.0,6424,1,0 +16087,1100105,53,1,1,0.0,4.0,14082,1,0 +16088,1100105,53,1,1,0.0,6.0,18852,0,0 +16089,1100105,53,1,1,0.0,6.0,18852,0,0 +16090,1100105,53,1,1,0.0,6.0,18852,0,0 +16091,1100105,53,1,1,0.0,6.0,18852,0,0 +16092,1100105,53,1,1,0.0,6.0,11497,0,0 +16093,1100105,53,1,1,0.0,6.0,19314,0,0 +16094,1100105,53,1,1,0.0,6.0,12157,0,0 +16095,1100105,53,1,1,0.0,6.0,23126,0,0 +16096,1100105,53,1,1,0.0,6.0,19314,0,0 +16097,1100105,53,1,1,0.0,6.0,23126,0,0 +16098,1100105,53,1,1,0.0,4.0,8914,0,0 +16099,1100105,53,1,1,0.0,4.0,2108,0,0 +16100,1100105,53,1,1,0.0,6.0,8779,0,0 +16101,1100105,53,1,1,0.0,6.0,21023,0,0 +16102,1100105,53,1,1,0.0,6.0,8779,0,0 +16103,1100105,53,1,1,0.0,6.0,0,0,0 +16104,1100105,53,1,1,1.0,6.0,0,0,0 +16105,1100105,53,1,1,1.0,6.0,0,0,0 +16106,1100105,53,1,1,0.0,6.0,12734,0,0 +16107,1100105,53,1,1,0.0,6.0,1450,0,0 +16108,1100105,53,1,1,0.0,6.0,17934,0,0 +16109,1100105,53,1,1,0.0,4.0,23876,0,0 +16110,1100105,53,1,1,0.0,4.0,12947,0,0 +16111,1100105,53,1,1,1.0,6.0,5166,0,0 +16112,1100105,53,1,1,0.0,4.0,12947,0,0 +16113,1100105,53,1,1,0.0,6.0,911,0,0 +16114,1100105,53,1,1,0.0,4.0,23876,0,0 +16115,1100105,53,1,1,1.0,6.0,12989,0,0 +16116,1100105,53,1,1,0.0,6.0,15804,0,0 +16117,1100105,53,1,1,1.0,6.0,22592,0,0 +16118,1100105,53,1,1,0.0,6.0,3936,0,0 +16119,1100105,53,1,1,0.0,6.0,911,0,0 +16120,1100105,53,1,1,0.0,6.0,13362,0,0 +16121,1100105,53,1,1,0.0,4.0,23876,0,0 +16122,1100105,53,1,1,0.0,4.0,12947,0,0 +16123,1100105,53,1,1,1.0,6.0,5166,0,0 +16124,1100105,53,1,1,0.0,6.0,24249,0,0 +16125,1100105,53,1,1,0.0,6.0,24249,0,0 +16126,1100105,53,1,1,0.0,6.0,9636,0,0 +16127,1100105,53,1,1,0.0,6.0,911,0,0 +16128,1100105,53,1,1,0.0,4.0,23876,0,0 +16129,1100105,53,1,1,0.0,6.0,911,0,0 +16130,1100105,53,1,1,0.0,6.0,3936,0,0 +16131,1100105,53,1,1,1.0,6.0,21224,0,0 +16132,1100105,53,1,1,0.0,6.0,24249,0,0 +16133,1100105,53,1,1,0.0,4.0,12947,0,0 +16134,1100105,53,1,1,0.0,6.0,19505,0,0 +16135,1100105,53,1,1,0.0,6.0,13068,0,0 +16136,1100105,53,1,1,0.0,6.0,13068,0,0 +16137,1100105,53,1,1,0.0,6.0,7250,0,0 +16138,1100105,53,1,1,0.0,6.0,9126,0,0 +16139,1100105,53,1,1,0.0,6.0,13068,0,0 +16140,1100105,53,1,1,0.0,6.0,9126,0,0 +16141,1100105,53,1,1,0.0,6.0,9126,0,0 +16142,1100105,53,1,1,0.0,6.0,7250,0,0 +16143,1100105,53,1,1,0.0,4.0,10536,0,0 +16144,1100105,53,1,1,1.0,4.0,13372,0,0 +16145,1100105,53,1,1,0.0,6.0,9126,0,0 +16146,1100105,53,1,1,0.0,6.0,9126,0,0 +16147,1100105,53,1,1,0.0,6.0,9126,0,0 +16148,1100105,53,1,1,1.0,4.0,13372,0,0 +16149,1100105,53,1,1,0.0,4.0,4650,0,0 +16150,1100105,53,1,1,2.0,4.0,20261,0,0 +16151,1100105,53,1,1,1.0,6.0,0,0,0 +16152,1100105,53,1,1,1.0,6.0,0,0,0 +16153,1100105,53,1,1,0.0,4.0,1606,0,0 +16154,1100105,53,1,1,1.0,4.0,10706,0,0 +16155,1100105,53,1,1,0.0,4.0,0,0,0 +16156,1100105,53,1,1,0.0,6.0,12741,0,0 +16157,1100105,53,1,1,1.0,6.0,0,0,0 +16158,1100105,53,1,1,0.0,4.0,23199,0,0 +16159,1100105,53,1,1,1.0,6.0,0,0,0 +16160,1100105,53,1,1,0.0,4.0,0,0,0 +16161,1100105,53,1,1,0.0,4.0,0,0,0 +16162,1100105,53,1,1,0.0,4.0,0,0,0 +16163,1100105,53,1,1,1.0,6.0,0,0,0 +16164,1100105,53,1,1,0.0,4.0,23199,0,0 +16165,1100105,53,1,1,0.0,4.0,0,0,0 +16166,1100105,53,1,1,0.0,6.0,3502,0,0 +16167,1100105,53,1,1,0.0,6.0,15393,0,0 +16168,1100105,53,1,1,0.0,6.0,1657,0,0 +16169,1100105,53,1,1,0.0,4.0,8351,0,0 +16170,1100105,53,1,1,1.0,6.0,0,0,0 +16171,1100105,53,1,1,0.0,6.0,15918,0,0 +16172,1100105,53,1,1,0.0,6.0,15918,0,0 +16173,1100105,53,1,1,1.0,6.0,233,0,0 +16174,1100105,53,1,1,0.0,6.0,0,0,0 +16175,1100105,53,1,1,0.0,4.0,527,0,0 +16176,1100105,53,1,1,0.0,4.0,527,0,0 +16177,1100105,53,1,1,0.0,6.0,0,0,0 +16178,1100105,53,1,1,0.0,6.0,3268,0,0 +16179,1100105,53,1,1,0.0,4.0,5268,0,0 +16180,1100105,53,1,1,0.0,6.0,0,0,0 +16181,1100105,53,1,1,0.0,6.0,0,0,0 +16182,1100105,53,1,1,0.0,6.0,2653,0,0 +16183,1100105,53,1,1,0.0,4.0,20261,0,0 +16184,1100105,53,1,1,0.0,6.0,0,0,0 +16185,1100105,53,1,1,0.0,4.0,0,0,0 +16186,1100105,53,1,1,0.0,6.0,1591,0,0 +16187,1100105,53,1,1,0.0,6.0,0,0,0 +16188,1100105,53,1,1,0.0,4.0,20261,0,0 +16189,1100105,53,1,1,0.0,6.0,0,0,0 +16190,1100105,53,1,1,0.0,4.0,20261,0,0 +16191,1100105,53,1,1,0.0,6.0,0,0,0 +16192,1100105,53,1,1,1.0,6.0,0,0,0 +16193,1100105,53,1,1,0.0,6.0,5306,0,0 +16194,1100105,53,1,1,0.0,6.0,7387,0,0 +16195,1100105,53,1,1,0.0,4.0,0,0,0 +16196,1100105,53,1,1,0.0,6.0,5306,0,0 +16197,1100105,53,1,1,0.0,6.0,5306,0,0 +16198,1100105,53,1,1,1.0,6.0,0,0,0 +16199,1100105,53,1,1,0.0,6.0,0,0,0 +16200,1100105,53,1,1,0.0,6.0,4143,0,0 +16201,1100105,54,1,6,1.0,1.0,42449,2,1 +16202,1100105,54,1,6,1.0,1.0,42449,2,1 +16203,1100105,54,1,6,1.0,1.0,42449,2,1 +16204,1100105,54,1,6,1.0,1.0,42449,2,1 +16205,1100105,54,1,6,1.0,1.0,42449,2,1 +16206,1100105,54,1,6,1.0,1.0,42449,2,1 +16207,1100105,54,1,6,1.0,1.0,42449,2,1 +16208,1100105,54,1,6,1.0,1.0,42449,2,1 +16209,1100105,54,1,6,1.0,1.0,42449,2,1 +16210,1100105,54,1,6,1.0,1.0,42449,2,1 +16211,1100105,54,1,6,1.0,1.0,42449,2,1 +16212,1100105,54,1,6,1.0,1.0,42449,2,1 +16213,1100105,54,1,6,1.0,1.0,42449,2,1 +16214,1100105,54,1,9,0.0,2.0,17192,2,1 +16215,1100105,54,1,9,0.0,2.0,17192,2,1 +16216,1100105,54,1,9,0.0,2.0,17192,2,1 +16217,1100105,54,1,9,0.0,2.0,17192,2,1 +16218,1100105,54,1,9,0.0,2.0,17192,2,1 +16219,1100105,54,1,9,0.0,2.0,17192,2,1 +16220,1100105,54,1,9,0.0,2.0,17192,2,1 +16221,1100105,54,1,3,2.0,1.0,311156,3,0 +16222,1100105,54,1,3,1.0,1.0,301392,3,0 +16223,1100105,54,1,3,0.0,5.0,230301,3,0 +16224,1100105,54,1,3,0.0,5.0,230301,3,0 +16225,1100105,54,1,3,1.0,5.0,210922,3,0 +16226,1100105,54,1,3,0.0,7.0,261477,3,0 +16227,1100105,54,1,3,1.0,7.0,206942,3,0 +16228,1100105,54,1,3,2.0,5.0,289745,3,0 +16229,1100105,54,1,3,0.0,5.0,256554,3,0 +16230,1100105,54,1,3,1.0,7.0,342615,3,0 +16231,1100105,54,1,3,0.0,7.0,619850,3,0 +16232,1100105,54,1,3,1.0,5.0,305955,3,0 +16233,1100105,54,1,3,2.0,1.0,210762,2,0 +16234,1100105,54,1,3,2.0,1.0,431925,2,0 +16235,1100105,54,1,3,2.0,1.0,285580,2,0 +16236,1100105,54,1,3,1.0,1.0,254097,2,0 +16237,1100105,54,1,3,1.0,1.0,1013567,2,1 +16238,1100105,54,1,3,1.0,1.0,1013567,2,1 +16239,1100105,54,1,3,1.0,1.0,352184,2,1 +16240,1100105,54,1,3,1.0,1.0,352184,2,1 +16241,1100105,54,1,3,2.0,1.0,253274,2,1 +16242,1100105,54,1,3,2.0,1.0,241009,2,1 +16243,1100105,54,1,3,1.0,1.0,208781,2,1 +16244,1100105,54,1,3,2.0,1.0,354392,2,1 +16245,1100105,54,1,3,1.0,1.0,298717,2,1 +16246,1100105,54,1,3,1.0,1.0,298717,2,1 +16247,1100105,54,1,3,1.0,1.0,298717,2,1 +16248,1100105,54,1,3,1.0,1.0,231956,2,1 +16249,1100105,54,1,3,1.0,1.0,416466,2,1 +16250,1100105,54,1,3,1.0,1.0,205095,2,1 +16251,1100105,54,1,3,1.0,1.0,241350,2,1 +16252,1100105,54,1,3,0.0,1.0,940154,2,1 +16253,1100105,54,1,3,1.0,1.0,308715,2,1 +16254,1100105,54,1,3,0.0,1.0,256266,2,1 +16255,1100105,54,1,3,1.0,1.0,282290,2,1 +16256,1100105,54,1,3,1.0,1.0,332118,2,1 +16257,1100105,54,1,3,2.0,1.0,271509,2,1 +16258,1100105,54,1,3,2.0,1.0,248208,2,1 +16259,1100105,54,1,3,2.0,1.0,208849,1,0 +16260,1100105,54,1,3,2.0,2.0,201380,1,1 +16261,1100105,54,1,3,1.0,1.0,218249,1,1 +16262,1100105,54,1,3,1.0,2.0,212248,1,1 +16263,1100105,54,1,3,1.0,1.0,235595,1,1 +16264,1100105,54,1,3,1.0,1.0,769627,1,1 +16265,1100105,54,1,3,0.0,7.0,166586,3,0 +16266,1100105,54,1,3,0.0,5.0,173449,3,0 +16267,1100105,54,1,3,2.0,7.0,182014,3,0 +16268,1100105,54,1,3,2.0,7.0,182014,3,0 +16269,1100105,54,1,3,2.0,5.0,182401,3,0 +16270,1100105,54,1,3,0.0,7.0,179318,3,0 +16271,1100105,54,1,3,2.0,5.0,172226,2,0 +16272,1100105,54,1,3,2.0,5.0,168841,2,0 +16273,1100105,54,1,3,2.0,5.0,168841,2,0 +16274,1100105,54,1,3,2.0,5.0,168841,2,0 +16275,1100105,54,1,3,2.0,1.0,162095,2,1 +16276,1100105,54,1,3,1.0,1.0,158151,2,1 +16277,1100105,54,1,3,1.0,1.0,152818,1,1 +16278,1100105,54,1,3,1.0,7.0,116757,3,0 +16279,1100105,54,1,3,1.0,7.0,141833,3,0 +16280,1100105,54,1,3,2.0,7.0,105062,3,0 +16281,1100105,54,1,3,0.0,5.0,123597,3,0 +16282,1100105,54,1,3,2.0,5.0,135838,2,0 +16283,1100105,54,1,3,1.0,7.0,136748,2,0 +16284,1100105,54,1,3,0.0,1.0,121571,2,1 +16285,1100105,54,1,3,2.0,7.0,124610,1,0 +16286,1100105,54,1,3,1.0,1.0,136730,1,1 +16287,1100105,54,1,3,0.0,2.0,103790,1,1 +16288,1100105,54,1,3,0.0,2.0,103790,1,1 +16289,1100105,54,1,3,0.0,2.0,103790,1,1 +16290,1100105,54,1,3,1.0,1.0,107067,1,1 +16291,1100105,54,1,3,1.0,1.0,133830,0,0 +16292,1100105,54,1,3,1.0,1.0,133830,0,0 +16293,1100105,54,1,3,1.0,1.0,133830,0,0 +16294,1100105,54,1,3,1.0,3.0,123597,0,1 +16295,1100105,54,1,3,1.0,3.0,123597,0,1 +16296,1100105,54,1,3,1.0,3.0,123597,0,1 +16297,1100105,54,1,3,1.0,7.0,52827,2,0 +16298,1100105,54,1,3,1.0,7.0,52827,2,0 +16299,1100105,54,1,3,0.0,7.0,64240,2,0 +16300,1100105,54,1,3,0.0,7.0,64240,2,0 +16301,1100105,54,1,3,0.0,7.0,64240,2,0 +16302,1100105,54,1,3,1.0,3.0,78159,2,1 +16303,1100105,54,1,3,1.0,1.0,68532,2,1 +16304,1100105,54,1,3,1.0,1.0,79021,1,0 +16305,1100105,54,1,3,1.0,5.0,78516,1,0 +16306,1100105,54,1,3,0.0,5.0,30776,3,0 +16307,1100105,54,1,3,0.0,7.0,42469,2,0 +16308,1100105,54,1,3,0.0,7.0,42469,2,0 +16309,1100105,54,1,3,0.0,7.0,42469,2,0 +16310,1100105,54,1,3,0.0,2.0,27837,2,1 +16311,1100105,54,1,3,0.0,7.0,43505,1,0 +16312,1100105,54,1,3,0.0,7.0,43505,1,0 +16313,1100105,54,1,3,0.0,5.0,30776,1,0 +16314,1100105,54,1,3,0.0,5.0,30776,1,0 +16315,1100105,54,1,3,0.0,5.0,30776,1,0 +16316,1100105,54,1,3,0.0,5.0,30776,1,0 +16317,1100105,54,1,3,0.0,5.0,30776,1,0 +16318,1100105,54,1,3,0.0,5.0,30776,1,0 +16319,1100105,54,1,3,0.0,7.0,26991,1,0 +16320,1100105,54,1,3,1.0,3.0,28908,1,1 +16321,1100105,54,1,3,2.0,3.0,476,1,1 +16322,1100105,54,1,3,2.0,3.0,476,1,1 +16323,1100105,54,1,3,2.0,3.0,476,1,1 +16324,1100105,54,1,3,2.0,3.0,476,1,1 +16325,1100105,54,1,3,2.0,3.0,476,1,1 +16326,1100105,54,1,3,2.0,3.0,476,1,1 +16327,1100105,54,1,3,2.0,3.0,476,1,1 +16328,1100105,54,1,3,0.0,1.0,15983,0,0 +16329,1100105,54,1,3,0.0,1.0,15983,0,0 +16330,1100105,54,1,3,0.0,3.0,19112,0,0 +16331,1100105,54,1,3,1.0,3.0,3608,0,1 +16332,1100105,54,1,3,1.0,3.0,6367,0,1 +16333,1100105,54,1,2,0.0,7.0,509693,2,0 +16334,1100105,54,1,2,1.0,1.0,225004,2,0 +16335,1100105,54,1,2,1.0,5.0,283819,2,0 +16336,1100105,54,1,2,3.0,1.0,288657,2,0 +16337,1100105,54,1,2,2.0,1.0,353322,2,0 +16338,1100105,54,1,2,2.0,1.0,305891,2,0 +16339,1100105,54,1,2,2.0,1.0,305891,2,0 +16340,1100105,54,1,2,1.0,1.0,337683,2,0 +16341,1100105,54,1,2,0.0,1.0,211993,2,0 +16342,1100105,54,1,2,1.0,1.0,379564,2,0 +16343,1100105,54,1,2,2.0,7.0,217554,2,0 +16344,1100105,54,1,2,1.0,5.0,272425,2,0 +16345,1100105,54,1,2,2.0,7.0,217554,2,0 +16346,1100105,54,1,2,1.0,5.0,391055,2,0 +16347,1100105,54,1,2,1.0,7.0,265431,2,0 +16348,1100105,54,1,2,2.0,1.0,328281,2,0 +16349,1100105,54,1,2,2.0,5.0,291841,2,0 +16350,1100105,54,1,2,2.0,1.0,326217,2,0 +16351,1100105,54,1,2,0.0,1.0,503028,2,0 +16352,1100105,54,1,2,0.0,1.0,503028,2,0 +16353,1100105,54,1,2,2.0,1.0,374618,2,0 +16354,1100105,54,1,2,1.0,1.0,314060,2,0 +16355,1100105,54,1,2,1.0,5.0,612923,2,0 +16356,1100105,54,1,2,2.0,1.0,265310,2,0 +16357,1100105,54,1,2,0.0,1.0,215630,2,0 +16358,1100105,54,1,2,0.0,1.0,503028,2,0 +16359,1100105,54,1,2,1.0,1.0,234534,2,0 +16360,1100105,54,1,2,1.0,1.0,355516,2,0 +16361,1100105,54,1,2,2.0,1.0,233473,2,0 +16362,1100105,54,1,2,0.0,7.0,329767,2,0 +16363,1100105,54,1,2,1.0,1.0,269809,2,0 +16364,1100105,54,1,2,2.0,5.0,217195,2,0 +16365,1100105,54,1,2,0.0,5.0,253832,2,0 +16366,1100105,54,1,2,0.0,1.0,503028,2,0 +16367,1100105,54,1,2,1.0,1.0,530621,2,0 +16368,1100105,54,1,2,1.0,1.0,247432,2,0 +16369,1100105,54,1,2,1.0,1.0,269809,2,0 +16370,1100105,54,1,2,1.0,1.0,344452,2,0 +16371,1100105,54,1,2,0.0,1.0,294435,2,0 +16372,1100105,54,1,2,2.0,1.0,280516,2,0 +16373,1100105,54,1,2,1.0,1.0,211315,2,0 +16374,1100105,54,1,2,1.0,1.0,207167,2,0 +16375,1100105,54,1,2,2.0,1.0,297147,2,0 +16376,1100105,54,1,2,1.0,1.0,263930,2,0 +16377,1100105,54,1,2,1.0,1.0,321201,2,0 +16378,1100105,54,1,2,1.0,1.0,226982,2,0 +16379,1100105,54,1,2,1.0,1.0,295824,2,0 +16380,1100105,54,1,2,1.0,1.0,295824,2,0 +16381,1100105,54,1,2,1.0,1.0,295824,2,0 +16382,1100105,54,1,2,0.0,1.0,980981,2,0 +16383,1100105,54,1,2,1.0,1.0,433622,2,0 +16384,1100105,54,1,2,0.0,1.0,219842,2,0 +16385,1100105,54,1,2,1.0,5.0,291841,2,0 +16386,1100105,54,1,2,2.0,1.0,332015,2,0 +16387,1100105,54,1,2,0.0,5.0,518738,2,0 +16388,1100105,54,1,2,1.0,1.0,212248,2,0 +16389,1100105,54,1,2,1.0,7.0,242507,2,0 +16390,1100105,54,1,2,0.0,1.0,245253,2,0 +16391,1100105,54,1,2,1.0,5.0,424693,2,0 +16392,1100105,54,1,2,0.0,1.0,219842,2,0 +16393,1100105,54,1,2,1.0,1.0,274497,2,0 +16394,1100105,54,1,2,1.0,5.0,424693,2,0 +16395,1100105,54,1,2,2.0,5.0,305572,2,0 +16396,1100105,54,1,2,1.0,1.0,222881,2,0 +16397,1100105,54,1,2,0.0,5.0,373937,2,0 +16398,1100105,54,1,2,1.0,5.0,307869,2,0 +16399,1100105,54,1,2,1.0,5.0,265310,2,0 +16400,1100105,54,1,2,0.0,1.0,205350,2,0 +16401,1100105,54,1,2,1.0,1.0,202434,2,0 +16402,1100105,54,1,2,1.0,1.0,309977,2,0 +16403,1100105,54,1,2,1.0,1.0,309977,2,0 +16404,1100105,54,1,2,2.0,7.0,206639,2,0 +16405,1100105,54,1,2,1.0,5.0,254392,2,0 +16406,1100105,54,1,2,1.0,5.0,254392,2,0 +16407,1100105,54,1,2,1.0,5.0,243649,2,0 +16408,1100105,54,1,2,1.0,5.0,271093,2,0 +16409,1100105,54,1,2,1.0,5.0,310943,2,0 +16410,1100105,54,1,2,1.0,5.0,243649,2,0 +16411,1100105,54,1,2,1.0,5.0,243649,2,0 +16412,1100105,54,1,2,1.0,5.0,222860,2,0 +16413,1100105,54,1,2,1.0,1.0,204598,2,0 +16414,1100105,54,1,2,0.0,5.0,203427,2,0 +16415,1100105,54,1,2,1.0,1.0,405923,2,0 +16416,1100105,54,1,2,0.0,1.0,342615,2,0 +16417,1100105,54,1,2,2.0,1.0,254018,2,0 +16418,1100105,54,1,2,0.0,5.0,231999,2,0 +16419,1100105,54,1,2,1.0,5.0,233581,2,0 +16420,1100105,54,1,2,1.0,5.0,211310,2,0 +16421,1100105,54,1,2,1.0,7.0,215205,2,0 +16422,1100105,54,1,2,1.0,1.0,323678,2,0 +16423,1100105,54,1,2,1.0,1.0,210869,2,0 +16424,1100105,54,1,2,1.0,1.0,233477,2,0 +16425,1100105,54,1,2,0.0,5.0,236171,2,0 +16426,1100105,54,1,2,1.0,1.0,240901,2,0 +16427,1100105,54,1,2,0.0,7.0,227884,2,0 +16428,1100105,54,1,2,1.0,7.0,215205,2,0 +16429,1100105,54,1,2,0.0,1.0,329256,2,0 +16430,1100105,54,1,2,1.0,1.0,657757,2,0 +16431,1100105,54,1,2,1.0,5.0,216493,2,0 +16432,1100105,54,1,2,0.0,1.0,212248,2,0 +16433,1100105,54,1,2,0.0,5.0,261596,2,0 +16434,1100105,54,1,2,1.0,5.0,211310,2,0 +16435,1100105,54,1,2,1.0,1.0,409086,2,0 +16436,1100105,54,1,2,2.0,5.0,208721,2,0 +16437,1100105,54,1,2,0.0,5.0,270616,2,0 +16438,1100105,54,1,2,0.0,7.0,209711,2,0 +16439,1100105,54,1,2,0.0,7.0,203095,2,0 +16440,1100105,54,1,2,1.0,7.0,204819,2,0 +16441,1100105,54,1,2,1.0,1.0,201635,2,0 +16442,1100105,54,1,2,2.0,5.0,226982,2,0 +16443,1100105,54,1,2,1.0,1.0,267246,2,0 +16444,1100105,54,1,2,0.0,7.0,207684,2,0 +16445,1100105,54,1,2,1.0,1.0,204598,2,0 +16446,1100105,54,1,2,0.0,7.0,209239,2,0 +16447,1100105,54,1,2,2.0,7.0,301392,2,0 +16448,1100105,54,1,2,1.0,1.0,323678,2,0 +16449,1100105,54,1,2,1.0,7.0,295213,2,0 +16450,1100105,54,1,2,1.0,5.0,240901,2,0 +16451,1100105,54,1,2,1.0,5.0,328985,2,0 +16452,1100105,54,1,2,1.0,1.0,283351,2,0 +16453,1100105,54,1,2,1.0,5.0,216493,2,0 +16454,1100105,54,1,2,1.0,1.0,247301,2,0 +16455,1100105,54,1,2,1.0,7.0,216275,2,0 +16456,1100105,54,1,2,0.0,1.0,212248,2,0 +16457,1100105,54,1,2,1.0,1.0,263586,2,0 +16458,1100105,54,1,2,1.0,1.0,228167,2,0 +16459,1100105,54,1,2,1.0,1.0,323678,2,0 +16460,1100105,54,1,2,1.0,1.0,444329,2,0 +16461,1100105,54,1,2,1.0,1.0,323678,2,0 +16462,1100105,54,1,2,0.0,1.0,212248,2,0 +16463,1100105,54,1,2,0.0,5.0,380152,2,0 +16464,1100105,54,1,2,2.0,7.0,220358,2,0 +16465,1100105,54,1,2,2.0,7.0,220358,2,0 +16466,1100105,54,1,2,2.0,1.0,230991,1,0 +16467,1100105,54,1,2,2.0,1.0,230991,1,0 +16468,1100105,54,1,2,1.0,1.0,318112,1,0 +16469,1100105,54,1,2,1.0,1.0,318112,1,0 +16470,1100105,54,1,2,1.0,1.0,318112,1,0 +16471,1100105,54,1,2,0.0,1.0,322617,1,0 +16472,1100105,54,1,2,1.0,1.0,318112,1,0 +16473,1100105,54,1,2,1.0,5.0,243578,1,0 +16474,1100105,54,1,2,2.0,1.0,1039585,1,0 +16475,1100105,54,1,2,1.0,7.0,664591,1,0 +16476,1100105,54,1,2,1.0,1.0,247461,1,0 +16477,1100105,54,1,2,1.0,1.0,657911,1,0 +16478,1100105,54,1,2,2.0,1.0,304705,1,0 +16479,1100105,54,1,2,1.0,1.0,657911,1,0 +16480,1100105,54,1,2,1.0,1.0,765455,1,0 +16481,1100105,54,1,2,1.0,1.0,247461,1,0 +16482,1100105,54,1,2,1.0,1.0,657911,1,0 +16483,1100105,54,1,2,1.0,1.0,657911,1,0 +16484,1100105,54,1,2,2.0,5.0,333539,1,0 +16485,1100105,54,1,2,2.0,5.0,333539,1,0 +16486,1100105,54,1,2,0.0,1.0,283667,1,0 +16487,1100105,54,1,2,1.0,1.0,217815,1,0 +16488,1100105,54,1,2,1.0,1.0,305141,1,0 +16489,1100105,54,1,2,1.0,1.0,415992,1,0 +16490,1100105,54,1,2,1.0,1.0,217815,1,0 +16491,1100105,54,1,2,1.0,1.0,224892,1,0 +16492,1100105,54,1,2,0.0,1.0,329820,1,0 +16493,1100105,54,1,2,2.0,1.0,249636,1,0 +16494,1100105,54,1,2,1.0,1.0,305141,1,0 +16495,1100105,54,1,2,1.0,5.0,212248,1,0 +16496,1100105,54,1,2,1.0,5.0,207464,1,0 +16497,1100105,54,1,2,0.0,1.0,206305,1,0 +16498,1100105,54,1,2,1.0,1.0,384710,0,0 +16499,1100105,54,1,2,1.0,1.0,886704,0,0 +16500,1100105,54,1,2,2.0,1.0,616323,0,0 +16501,1100105,54,1,2,2.0,1.0,616323,0,0 +16502,1100105,54,1,2,2.0,1.0,616323,0,0 +16503,1100105,54,1,2,2.0,1.0,616323,0,0 +16504,1100105,54,1,2,2.0,1.0,290345,0,0 +16505,1100105,54,1,2,2.0,1.0,616323,0,0 +16506,1100105,54,1,2,1.0,1.0,410035,0,0 +16507,1100105,54,1,2,1.0,1.0,392871,0,0 +16508,1100105,54,1,2,1.0,1.0,392871,0,0 +16509,1100105,54,1,2,2.0,1.0,616323,0,0 +16510,1100105,54,1,2,1.0,1.0,203645,0,0 +16511,1100105,54,1,2,1.0,2.0,311426,0,0 +16512,1100105,54,1,2,1.0,2.0,311426,0,0 +16513,1100105,54,1,2,0.0,1.0,359761,0,0 +16514,1100105,54,1,2,1.0,2.0,311426,0,0 +16515,1100105,54,1,2,1.0,2.0,311426,0,0 +16516,1100105,54,1,2,0.0,1.0,366701,0,0 +16517,1100105,54,1,2,0.0,5.0,198217,2,0 +16518,1100105,54,1,2,2.0,5.0,190579,2,0 +16519,1100105,54,1,2,0.0,1.0,198567,2,0 +16520,1100105,54,1,2,0.0,5.0,160600,2,0 +16521,1100105,54,1,2,1.0,1.0,186450,2,0 +16522,1100105,54,1,2,2.0,1.0,194207,2,0 +16523,1100105,54,1,2,0.0,5.0,197391,2,0 +16524,1100105,54,1,2,2.0,1.0,194207,2,0 +16525,1100105,54,1,2,0.0,1.0,159519,2,0 +16526,1100105,54,1,2,0.0,1.0,155247,2,0 +16527,1100105,54,1,2,1.0,7.0,191630,2,0 +16528,1100105,54,1,2,0.0,5.0,159186,2,0 +16529,1100105,54,1,2,2.0,7.0,184484,2,0 +16530,1100105,54,1,2,1.0,7.0,163108,2,0 +16531,1100105,54,1,2,0.0,1.0,150196,2,0 +16532,1100105,54,1,2,2.0,5.0,156254,2,0 +16533,1100105,54,1,2,2.0,1.0,198074,2,0 +16534,1100105,54,1,2,1.0,5.0,159271,2,0 +16535,1100105,54,1,2,2.0,1.0,198074,2,0 +16536,1100105,54,1,2,0.0,5.0,178289,2,0 +16537,1100105,54,1,2,0.0,5.0,178289,2,0 +16538,1100105,54,1,2,1.0,1.0,172912,2,0 +16539,1100105,54,1,2,0.0,5.0,171921,2,0 +16540,1100105,54,1,2,2.0,5.0,193999,2,0 +16541,1100105,54,1,2,2.0,5.0,193999,2,0 +16542,1100105,54,1,2,2.0,7.0,172226,2,0 +16543,1100105,54,1,2,1.0,5.0,176166,2,0 +16544,1100105,54,1,2,1.0,1.0,151232,2,0 +16545,1100105,54,1,2,1.0,7.0,151964,2,0 +16546,1100105,54,1,2,1.0,5.0,197553,2,0 +16547,1100105,54,1,2,1.0,1.0,174362,2,0 +16548,1100105,54,1,2,1.0,5.0,174043,2,0 +16549,1100105,54,1,2,0.0,1.0,168841,2,0 +16550,1100105,54,1,2,1.0,5.0,163545,2,0 +16551,1100105,54,1,2,2.0,5.0,193701,2,0 +16552,1100105,54,1,2,1.0,1.0,175056,2,0 +16553,1100105,54,1,2,1.0,1.0,167024,2,0 +16554,1100105,54,1,2,2.0,5.0,167024,2,0 +16555,1100105,54,1,2,1.0,1.0,189803,2,0 +16556,1100105,54,1,2,1.0,7.0,165536,2,0 +16557,1100105,54,1,2,0.0,1.0,153880,2,0 +16558,1100105,54,1,2,0.0,1.0,192523,2,0 +16559,1100105,54,1,2,1.0,1.0,158172,2,0 +16560,1100105,54,1,2,0.0,7.0,171307,2,0 +16561,1100105,54,1,2,1.0,5.0,151964,2,0 +16562,1100105,54,1,2,1.0,7.0,172378,2,0 +16563,1100105,54,1,2,1.0,5.0,174043,2,0 +16564,1100105,54,1,2,0.0,5.0,156043,2,0 +16565,1100105,54,1,2,1.0,7.0,156318,2,0 +16566,1100105,54,1,2,1.0,1.0,182357,2,0 +16567,1100105,54,1,2,1.0,1.0,158172,2,0 +16568,1100105,54,1,2,0.0,1.0,193701,2,0 +16569,1100105,54,1,2,1.0,5.0,173967,2,0 +16570,1100105,54,1,2,1.0,5.0,153880,2,0 +16571,1100105,54,1,2,0.0,5.0,151964,2,0 +16572,1100105,54,1,2,1.0,7.0,178819,2,0 +16573,1100105,54,1,2,1.0,1.0,175056,2,0 +16574,1100105,54,1,2,1.0,1.0,158172,2,0 +16575,1100105,54,1,2,0.0,5.0,183085,2,0 +16576,1100105,54,1,2,1.0,5.0,169812,2,0 +16577,1100105,54,1,2,1.0,1.0,176232,2,0 +16578,1100105,54,1,2,1.0,7.0,196540,2,0 +16579,1100105,54,1,2,1.0,7.0,165734,2,0 +16580,1100105,54,1,2,0.0,5.0,156043,2,0 +16581,1100105,54,1,2,1.0,5.0,189782,2,0 +16582,1100105,54,1,2,1.0,1.0,175056,2,0 +16583,1100105,54,1,2,0.0,5.0,165553,2,0 +16584,1100105,54,1,2,0.0,5.0,169187,2,0 +16585,1100105,54,1,2,1.0,5.0,195054,2,0 +16586,1100105,54,1,2,2.0,7.0,163423,2,0 +16587,1100105,54,1,2,1.0,1.0,191630,2,0 +16588,1100105,54,1,2,2.0,5.0,187146,2,0 +16589,1100105,54,1,2,0.0,7.0,189782,2,0 +16590,1100105,54,1,2,1.0,1.0,175468,1,0 +16591,1100105,54,1,2,1.0,1.0,170129,1,0 +16592,1100105,54,1,2,2.0,1.0,153200,1,0 +16593,1100105,54,1,2,1.0,1.0,170809,1,0 +16594,1100105,54,1,2,1.0,1.0,170129,1,0 +16595,1100105,54,1,2,0.0,5.0,197194,1,0 +16596,1100105,54,1,2,1.0,7.0,154176,1,0 +16597,1100105,54,1,2,0.0,1.0,151964,1,0 +16598,1100105,54,1,2,2.0,7.0,156318,1,0 +16599,1100105,54,1,2,0.0,5.0,153106,1,0 +16600,1100105,54,1,2,0.0,5.0,153106,1,0 +16601,1100105,54,1,2,1.0,1.0,162095,1,0 +16602,1100105,54,1,2,1.0,1.0,162095,1,0 +16603,1100105,54,1,2,0.0,7.0,169877,1,0 +16604,1100105,54,1,2,1.0,7.0,171307,1,0 +16605,1100105,54,1,2,1.0,1.0,154339,1,0 +16606,1100105,54,1,2,1.0,1.0,154339,1,0 +16607,1100105,54,1,2,1.0,1.0,154339,1,0 +16608,1100105,54,1,2,1.0,1.0,169798,1,0 +16609,1100105,54,1,2,1.0,7.0,189782,1,0 +16610,1100105,54,1,2,1.0,1.0,169798,1,0 +16611,1100105,54,1,2,0.0,1.0,159551,1,0 +16612,1100105,54,1,2,2.0,1.0,159726,0,0 +16613,1100105,54,1,2,2.0,1.0,159726,0,0 +16614,1100105,54,1,2,2.0,1.0,159726,0,0 +16615,1100105,54,1,2,1.0,1.0,153821,0,0 +16616,1100105,54,1,2,2.0,7.0,190076,0,0 +16617,1100105,54,1,2,1.0,1.0,124610,2,0 +16618,1100105,54,1,2,2.0,1.0,111744,2,0 +16619,1100105,54,1,2,0.0,1.0,131476,2,0 +16620,1100105,54,1,2,0.0,1.0,124300,2,0 +16621,1100105,54,1,2,0.0,5.0,145499,2,0 +16622,1100105,54,1,2,0.0,7.0,120769,2,0 +16623,1100105,54,1,2,0.0,1.0,123127,2,0 +16624,1100105,54,1,2,1.0,1.0,142399,2,0 +16625,1100105,54,1,2,1.0,5.0,103583,2,0 +16626,1100105,54,1,2,0.0,1.0,111324,2,0 +16627,1100105,54,1,2,1.0,1.0,139807,2,0 +16628,1100105,54,1,2,0.0,7.0,122584,2,0 +16629,1100105,54,1,2,1.0,5.0,118844,2,0 +16630,1100105,54,1,2,0.0,5.0,149160,2,0 +16631,1100105,54,1,2,1.0,5.0,118844,2,0 +16632,1100105,54,1,2,1.0,7.0,136730,2,0 +16633,1100105,54,1,2,0.0,5.0,137064,2,0 +16634,1100105,54,1,2,1.0,7.0,137776,2,0 +16635,1100105,54,1,2,0.0,7.0,126693,2,0 +16636,1100105,54,1,2,1.0,1.0,110811,2,0 +16637,1100105,54,1,2,1.0,5.0,106898,2,0 +16638,1100105,54,1,2,2.0,5.0,147608,2,0 +16639,1100105,54,1,2,2.0,7.0,131594,2,0 +16640,1100105,54,1,2,0.0,7.0,125804,2,0 +16641,1100105,54,1,2,0.0,7.0,110369,2,0 +16642,1100105,54,1,2,0.0,1.0,105997,2,0 +16643,1100105,54,1,2,2.0,7.0,131594,2,0 +16644,1100105,54,1,2,1.0,7.0,121571,2,0 +16645,1100105,54,1,2,0.0,5.0,121299,2,0 +16646,1100105,54,1,2,2.0,1.0,113942,2,0 +16647,1100105,54,1,2,0.0,5.0,103855,2,0 +16648,1100105,54,1,2,1.0,5.0,149104,2,0 +16649,1100105,54,1,2,2.0,7.0,131594,2,0 +16650,1100105,54,1,2,0.0,5.0,148573,2,0 +16651,1100105,54,1,2,1.0,1.0,112605,2,0 +16652,1100105,54,1,2,0.0,7.0,149358,2,0 +16653,1100105,54,1,2,0.0,5.0,135975,2,0 +16654,1100105,54,1,2,1.0,7.0,142399,2,0 +16655,1100105,54,1,2,2.0,1.0,113942,2,0 +16656,1100105,54,1,2,2.0,5.0,111440,2,0 +16657,1100105,54,1,2,0.0,7.0,112393,2,0 +16658,1100105,54,1,2,2.0,7.0,143267,2,0 +16659,1100105,54,1,2,0.0,7.0,100296,2,0 +16660,1100105,54,1,2,1.0,1.0,101713,2,0 +16661,1100105,54,1,2,1.0,1.0,142916,2,0 +16662,1100105,54,1,2,2.0,7.0,131594,2,0 +16663,1100105,54,1,2,1.0,1.0,117032,2,0 +16664,1100105,54,1,2,1.0,1.0,117032,2,0 +16665,1100105,54,1,2,1.0,7.0,126521,2,0 +16666,1100105,54,1,2,0.0,7.0,149160,2,0 +16667,1100105,54,1,2,0.0,1.0,115675,2,0 +16668,1100105,54,1,2,0.0,7.0,119920,2,0 +16669,1100105,54,1,2,1.0,5.0,120558,2,0 +16670,1100105,54,1,2,2.0,5.0,148642,2,0 +16671,1100105,54,1,2,1.0,7.0,117049,2,0 +16672,1100105,54,1,2,0.0,7.0,111450,2,0 +16673,1100105,54,1,2,1.0,7.0,108603,2,0 +16674,1100105,54,1,2,1.0,7.0,131793,2,0 +16675,1100105,54,1,2,1.0,7.0,131793,2,0 +16676,1100105,54,1,2,0.0,5.0,137781,2,0 +16677,1100105,54,1,2,0.0,5.0,137781,2,0 +16678,1100105,54,1,2,2.0,5.0,122042,2,0 +16679,1100105,54,1,2,2.0,5.0,117401,1,0 +16680,1100105,54,1,2,0.0,3.0,118532,1,0 +16681,1100105,54,1,2,0.0,1.0,107227,1,0 +16682,1100105,54,1,2,0.0,1.0,118859,1,0 +16683,1100105,54,1,2,1.0,5.0,101083,1,0 +16684,1100105,54,1,2,0.0,1.0,137046,1,0 +16685,1100105,54,1,2,0.0,1.0,133424,1,0 +16686,1100105,54,1,2,1.0,7.0,149057,1,0 +16687,1100105,54,1,2,1.0,1.0,139807,1,0 +16688,1100105,54,1,2,1.0,7.0,130532,1,0 +16689,1100105,54,1,2,1.0,7.0,126521,1,0 +16690,1100105,54,1,2,2.0,1.0,107067,1,0 +16691,1100105,54,1,2,0.0,1.0,126786,1,0 +16692,1100105,54,1,2,1.0,7.0,119328,1,0 +16693,1100105,54,1,2,0.0,1.0,126786,1,0 +16694,1100105,54,1,2,2.0,7.0,108401,1,0 +16695,1100105,54,1,2,0.0,1.0,112920,1,0 +16696,1100105,54,1,2,1.0,1.0,139187,1,0 +16697,1100105,54,1,2,2.0,7.0,108401,1,0 +16698,1100105,54,1,2,0.0,5.0,122304,1,0 +16699,1100105,54,1,2,0.0,5.0,122304,1,0 +16700,1100105,54,1,2,1.0,1.0,126339,1,0 +16701,1100105,54,1,2,1.0,1.0,122382,0,0 +16702,1100105,54,1,2,2.0,1.0,132655,0,0 +16703,1100105,54,1,2,1.0,1.0,131266,0,0 +16704,1100105,54,1,2,2.0,1.0,132655,0,0 +16705,1100105,54,1,2,1.0,1.0,122382,0,0 +16706,1100105,54,1,2,1.0,7.0,100900,0,0 +16707,1100105,54,1,2,1.0,7.0,100900,0,0 +16708,1100105,54,1,2,0.0,1.0,120450,0,0 +16709,1100105,54,1,2,1.0,1.0,91178,2,0 +16710,1100105,54,1,2,1.0,1.0,79528,2,0 +16711,1100105,54,1,2,2.0,1.0,90257,2,0 +16712,1100105,54,1,2,0.0,7.0,83838,2,0 +16713,1100105,54,1,2,2.0,7.0,89082,2,0 +16714,1100105,54,1,2,1.0,5.0,82977,2,0 +16715,1100105,54,1,2,0.0,5.0,79593,2,0 +16716,1100105,54,1,2,1.0,7.0,82458,2,0 +16717,1100105,54,1,2,0.0,5.0,95511,2,0 +16718,1100105,54,1,2,0.0,5.0,95511,2,0 +16719,1100105,54,1,2,0.0,5.0,95511,2,0 +16720,1100105,54,1,2,0.0,7.0,93508,2,0 +16721,1100105,54,1,2,1.0,7.0,92698,2,0 +16722,1100105,54,1,2,1.0,7.0,99756,2,0 +16723,1100105,54,1,2,1.0,1.0,78373,2,0 +16724,1100105,54,1,2,0.0,5.0,78008,2,0 +16725,1100105,54,1,2,0.0,7.0,64240,2,0 +16726,1100105,54,1,2,1.0,5.0,58368,2,0 +16727,1100105,54,1,2,1.0,5.0,58887,2,0 +16728,1100105,54,1,2,1.0,7.0,91178,2,0 +16729,1100105,54,1,2,1.0,7.0,70041,2,0 +16730,1100105,54,1,2,0.0,7.0,89619,2,0 +16731,1100105,54,1,2,1.0,1.0,92399,2,0 +16732,1100105,54,1,2,0.0,7.0,97634,2,0 +16733,1100105,54,1,2,1.0,1.0,78373,2,0 +16734,1100105,54,1,2,1.0,1.0,88083,2,0 +16735,1100105,54,1,2,1.0,5.0,85100,2,0 +16736,1100105,54,1,2,1.0,5.0,85243,2,0 +16737,1100105,54,1,2,0.0,7.0,78565,2,0 +16738,1100105,54,1,2,1.0,5.0,79021,2,0 +16739,1100105,54,1,2,1.0,7.0,91178,2,0 +16740,1100105,54,1,2,1.0,7.0,56971,2,0 +16741,1100105,54,1,2,1.0,5.0,85100,2,0 +16742,1100105,54,1,2,1.0,1.0,92399,2,0 +16743,1100105,54,1,2,1.0,7.0,60064,2,0 +16744,1100105,54,1,2,0.0,5.0,74286,2,0 +16745,1100105,54,1,2,0.0,1.0,53062,2,0 +16746,1100105,54,1,2,0.0,1.0,53062,2,0 +16747,1100105,54,1,2,0.0,1.0,53062,2,0 +16748,1100105,54,1,2,2.0,7.0,98404,2,0 +16749,1100105,54,1,2,2.0,7.0,98404,2,0 +16750,1100105,54,1,2,1.0,7.0,54899,1,0 +16751,1100105,54,1,2,1.0,7.0,54899,1,0 +16752,1100105,54,1,2,2.0,1.0,50756,1,0 +16753,1100105,54,1,2,1.0,7.0,90739,1,0 +16754,1100105,54,1,2,1.0,1.0,55502,1,0 +16755,1100105,54,1,2,1.0,1.0,55502,1,0 +16756,1100105,54,1,2,1.0,1.0,93225,1,0 +16757,1100105,54,1,2,0.0,1.0,98054,1,0 +16758,1100105,54,1,2,0.0,5.0,91649,1,0 +16759,1100105,54,1,2,1.0,1.0,95711,1,0 +16760,1100105,54,1,2,0.0,5.0,83488,1,0 +16761,1100105,54,1,2,1.0,7.0,54193,1,0 +16762,1100105,54,1,2,1.0,7.0,54193,1,0 +16763,1100105,54,1,2,1.0,7.0,54193,1,0 +16764,1100105,54,1,2,1.0,7.0,54193,1,0 +16765,1100105,54,1,2,1.0,7.0,54193,1,0 +16766,1100105,54,1,2,1.0,7.0,84899,1,0 +16767,1100105,54,1,2,1.0,7.0,84899,1,0 +16768,1100105,54,1,2,1.0,5.0,80977,1,0 +16769,1100105,54,1,2,0.0,1.0,66423,1,0 +16770,1100105,54,1,2,0.0,1.0,66423,1,0 +16771,1100105,54,1,2,0.0,1.0,66423,1,0 +16772,1100105,54,1,2,0.0,7.0,53104,1,0 +16773,1100105,54,1,2,1.0,1.0,71952,1,0 +16774,1100105,54,1,2,1.0,1.0,71952,1,0 +16775,1100105,54,1,2,1.0,1.0,71952,1,0 +16776,1100105,54,1,2,1.0,1.0,71952,1,0 +16777,1100105,54,1,2,0.0,7.0,53104,1,0 +16778,1100105,54,1,2,0.0,7.0,82364,1,0 +16779,1100105,54,1,2,2.0,5.0,54017,1,0 +16780,1100105,54,1,2,1.0,7.0,62613,1,0 +16781,1100105,54,1,2,1.0,1.0,88046,1,0 +16782,1100105,54,1,2,1.0,1.0,88046,1,0 +16783,1100105,54,1,2,0.0,1.0,78531,1,0 +16784,1100105,54,1,2,0.0,5.0,56882,1,0 +16785,1100105,54,1,2,1.0,5.0,65340,1,0 +16786,1100105,54,1,2,1.0,7.0,94339,1,0 +16787,1100105,54,1,2,0.0,1.0,78531,1,0 +16788,1100105,54,1,2,1.0,5.0,58887,1,0 +16789,1100105,54,1,2,0.0,7.0,53694,1,0 +16790,1100105,54,1,2,2.0,7.0,75348,1,0 +16791,1100105,54,1,2,0.0,7.0,53694,1,0 +16792,1100105,54,1,2,1.0,1.0,88046,1,0 +16793,1100105,54,1,2,0.0,1.0,88667,1,0 +16794,1100105,54,1,2,0.0,1.0,65851,1,0 +16795,1100105,54,1,2,0.0,1.0,64838,1,0 +16796,1100105,54,1,2,0.0,1.0,65851,1,0 +16797,1100105,54,1,2,1.0,1.0,99440,0,0 +16798,1100105,54,1,2,1.0,1.0,99440,0,0 +16799,1100105,54,1,2,1.0,1.0,54720,0,0 +16800,1100105,54,1,2,1.0,1.0,54720,0,0 +16801,1100105,54,1,2,1.0,1.0,99440,0,0 +16802,1100105,54,1,2,1.0,1.0,95289,0,0 +16803,1100105,54,1,2,1.0,1.0,93362,0,0 +16804,1100105,54,1,2,0.0,1.0,73909,0,0 +16805,1100105,54,1,2,1.0,5.0,52355,0,0 +16806,1100105,54,1,2,0.0,1.0,47658,2,0 +16807,1100105,54,1,2,1.0,1.0,40751,2,0 +16808,1100105,54,1,2,0.0,5.0,41649,2,0 +16809,1100105,54,1,2,0.0,7.0,34793,2,0 +16810,1100105,54,1,2,0.0,1.0,36082,2,0 +16811,1100105,54,1,2,0.0,5.0,37956,2,0 +16812,1100105,54,1,2,0.0,7.0,47855,1,0 +16813,1100105,54,1,2,1.0,1.0,37704,1,0 +16814,1100105,54,1,2,1.0,3.0,40465,1,0 +16815,1100105,54,1,2,1.0,5.0,25895,1,0 +16816,1100105,54,1,2,1.0,5.0,48180,1,0 +16817,1100105,54,1,2,1.0,5.0,48180,1,0 +16818,1100105,54,1,2,2.0,7.0,31975,1,0 +16819,1100105,54,1,2,0.0,5.0,38326,1,0 +16820,1100105,54,1,2,1.0,1.0,43041,1,0 +16821,1100105,54,1,2,0.0,7.0,48628,1,0 +16822,1100105,54,1,2,0.0,3.0,32898,1,1 +16823,1100105,54,1,2,1.0,1.0,36066,0,0 +16824,1100105,54,1,2,0.0,1.0,36772,0,0 +16825,1100105,54,1,2,0.0,1.0,42469,0,0 +16826,1100105,54,1,2,0.0,1.0,36772,0,0 +16827,1100105,54,1,2,0.0,1.0,42469,0,0 +16828,1100105,54,1,2,0.0,1.0,36772,0,0 +16829,1100105,54,1,2,1.0,1.0,36066,0,0 +16830,1100105,54,1,2,1.0,1.0,26948,0,0 +16831,1100105,54,1,2,0.0,2.0,23195,2,0 +16832,1100105,54,1,2,1.0,5.0,14432,2,0 +16833,1100105,54,1,2,1.0,3.0,12741,1,0 +16834,1100105,54,1,2,1.0,3.0,12741,1,0 +16835,1100105,54,1,2,0.0,1.0,10612,1,0 +16836,1100105,54,1,2,1.0,3.0,23098,1,0 +16837,1100105,54,1,2,0.0,2.0,10706,1,0 +16838,1100105,54,1,2,0.0,2.0,10706,1,0 +16839,1100105,54,1,2,0.0,7.0,5306,1,0 +16840,1100105,54,1,2,0.0,7.0,5306,1,0 +16841,1100105,54,1,2,0.0,5.0,105,1,0 +16842,1100105,54,1,2,0.0,7.0,5306,1,0 +16843,1100105,54,1,2,0.0,7.0,5306,1,0 +16844,1100105,54,1,2,0.0,7.0,5306,1,0 +16845,1100105,54,1,2,1.0,1.0,17609,1,0 +16846,1100105,54,1,2,0.0,7.0,5074,1,0 +16847,1100105,54,1,2,0.0,7.0,5074,1,0 +16848,1100105,54,1,2,0.0,7.0,8187,1,0 +16849,1100105,54,1,2,0.0,5.0,3183,1,0 +16850,1100105,54,1,2,0.0,5.0,3183,1,0 +16851,1100105,54,1,2,0.0,5.0,10850,1,0 +16852,1100105,54,1,2,0.0,5.0,3183,1,0 +16853,1100105,54,1,2,0.0,2.0,10130,1,1 +16854,1100105,54,1,2,0.0,1.0,4972,0,0 +16855,1100105,54,1,2,0.0,1.0,16661,0,0 +16856,1100105,54,1,2,0.0,1.0,16661,0,0 +16857,1100105,54,1,2,0.0,1.0,16661,0,0 +16858,1100105,54,1,2,0.0,1.0,16661,0,0 +16859,1100105,54,1,2,0.0,3.0,20243,0,0 +16860,1100105,54,1,2,0.0,1.0,15905,0,0 +16861,1100105,54,1,2,1.0,5.0,0,0,0 +16862,1100105,54,1,2,1.0,5.0,0,0,0 +16863,1100105,54,1,2,0.0,3.0,6747,0,0 +16864,1100105,54,1,2,0.0,3.0,24213,0,0 +16865,1100105,54,1,2,0.0,3.0,24213,0,0 +16866,1100105,54,1,2,0.0,7.0,0,0,0 +16867,1100105,54,1,2,0.0,7.0,4246,0,0 +16868,1100105,54,1,2,0.0,7.0,4246,0,0 +16869,1100105,54,1,2,0.0,7.0,4246,0,0 +16870,1100105,54,1,2,0.0,7.0,4246,0,0 +16871,1100105,54,1,2,0.0,5.0,4280,0,0 +16872,1100105,54,1,2,0.0,7.0,0,0,0 +16873,1100105,54,1,2,1.0,7.0,1519,0,0 +16874,1100105,54,1,2,0.0,5.0,7730,0,0 +16875,1100105,54,1,2,1.0,7.0,9957,0,0 +16876,1100105,54,1,2,0.0,7.0,0,0,0 +16877,1100105,54,1,2,0.0,7.0,0,0,0 +16878,1100105,54,1,2,0.0,7.0,0,0,0 +16879,1100105,54,1,2,0.0,7.0,5271,0,0 +16880,1100105,54,1,2,0.0,7.0,0,0,0 +16881,1100105,54,1,2,0.0,5.0,0,0,0 +16882,1100105,54,1,2,1.0,1.0,21224,0,0 +16883,1100105,54,1,2,1.0,1.0,21224,0,0 +16884,1100105,54,1,1,1.0,6.0,299788,1,0 +16885,1100105,54,1,1,1.0,6.0,414885,1,0 +16886,1100105,54,1,1,0.0,4.0,752018,1,0 +16887,1100105,54,1,1,1.0,4.0,1080379,1,0 +16888,1100105,54,1,1,1.0,4.0,1080379,1,0 +16889,1100105,54,1,1,1.0,4.0,1080379,1,0 +16890,1100105,54,1,1,0.0,6.0,221412,1,0 +16891,1100105,54,1,1,0.0,6.0,221412,1,0 +16892,1100105,54,1,1,0.0,6.0,291070,1,0 +16893,1100105,54,1,1,1.0,6.0,327625,1,0 +16894,1100105,54,1,1,1.0,6.0,327625,1,0 +16895,1100105,54,1,1,0.0,6.0,210869,1,0 +16896,1100105,54,1,1,1.0,4.0,200325,1,0 +16897,1100105,54,1,1,1.0,4.0,303929,1,0 +16898,1100105,54,1,1,1.0,6.0,677761,1,0 +16899,1100105,54,1,1,1.0,4.0,623131,1,0 +16900,1100105,54,1,1,1.0,4.0,768488,1,0 +16901,1100105,54,1,1,0.0,4.0,329256,1,0 +16902,1100105,54,1,1,1.0,4.0,414335,1,0 +16903,1100105,54,1,1,0.0,6.0,237469,1,0 +16904,1100105,54,1,1,1.0,6.0,269912,1,0 +16905,1100105,54,1,1,1.0,4.0,233063,1,0 +16906,1100105,54,1,1,1.0,4.0,414335,1,0 +16907,1100105,54,1,1,1.0,4.0,488808,1,0 +16908,1100105,54,1,1,0.0,4.0,257260,1,0 +16909,1100105,54,1,1,1.0,4.0,310751,1,0 +16910,1100105,54,1,1,1.0,4.0,219514,1,0 +16911,1100105,54,1,1,1.0,4.0,624416,1,0 +16912,1100105,54,1,1,1.0,4.0,228167,1,0 +16913,1100105,54,1,1,1.0,4.0,247665,1,0 +16914,1100105,54,1,1,1.0,6.0,217554,1,0 +16915,1100105,54,1,1,1.0,4.0,414335,1,0 +16916,1100105,54,1,1,0.0,4.0,237227,1,0 +16917,1100105,54,1,1,0.0,4.0,207710,1,0 +16918,1100105,54,1,1,0.0,6.0,262532,1,0 +16919,1100105,54,1,1,1.0,6.0,325253,1,0 +16920,1100105,54,1,1,0.0,4.0,222860,1,0 +16921,1100105,54,1,1,1.0,4.0,768488,1,0 +16922,1100105,54,1,1,0.0,6.0,363701,1,0 +16923,1100105,54,1,1,1.0,6.0,306212,1,0 +16924,1100105,54,1,1,1.0,4.0,793451,1,0 +16925,1100105,54,1,1,0.0,6.0,202697,1,0 +16926,1100105,54,1,1,1.0,4.0,247665,1,0 +16927,1100105,54,1,1,0.0,4.0,788272,1,0 +16928,1100105,54,1,1,1.0,4.0,488808,1,0 +16929,1100105,54,1,1,0.0,6.0,237227,1,0 +16930,1100105,54,1,1,0.0,4.0,237227,1,0 +16931,1100105,54,1,1,1.0,6.0,754911,1,0 +16932,1100105,54,1,1,1.0,6.0,207177,1,0 +16933,1100105,54,1,1,0.0,6.0,325265,1,0 +16934,1100105,54,1,1,1.0,6.0,223691,1,0 +16935,1100105,54,1,1,1.0,6.0,231372,1,0 +16936,1100105,54,1,1,2.0,4.0,765455,1,0 +16937,1100105,54,1,1,1.0,4.0,414335,1,0 +16938,1100105,54,1,1,1.0,6.0,325253,1,0 +16939,1100105,54,1,1,1.0,4.0,209594,1,0 +16940,1100105,54,1,1,0.0,4.0,222860,1,0 +16941,1100105,54,1,1,1.0,4.0,559274,1,0 +16942,1100105,54,1,1,1.0,4.0,1148263,1,0 +16943,1100105,54,1,1,0.0,6.0,262532,1,0 +16944,1100105,54,1,1,0.0,6.0,237469,1,0 +16945,1100105,54,1,1,1.0,4.0,256961,1,0 +16946,1100105,54,1,1,0.0,4.0,238242,1,0 +16947,1100105,54,1,1,0.0,4.0,233012,1,0 +16948,1100105,54,1,1,1.0,4.0,338739,1,0 +16949,1100105,54,1,1,1.0,4.0,414335,1,0 +16950,1100105,54,1,1,1.0,6.0,306212,1,0 +16951,1100105,54,1,1,0.0,4.0,414335,1,0 +16952,1100105,54,1,1,1.0,4.0,228167,1,0 +16953,1100105,54,1,1,1.0,4.0,329357,1,0 +16954,1100105,54,1,1,1.0,6.0,456848,1,0 +16955,1100105,54,1,1,1.0,6.0,623185,1,0 +16956,1100105,54,1,1,1.0,6.0,623185,1,0 +16957,1100105,54,1,1,0.0,4.0,235569,1,0 +16958,1100105,54,1,1,1.0,6.0,278601,1,0 +16959,1100105,54,1,1,0.0,6.0,215789,1,0 +16960,1100105,54,1,1,1.0,6.0,623185,1,0 +16961,1100105,54,1,1,0.0,6.0,202619,1,0 +16962,1100105,54,1,1,1.0,4.0,200220,1,0 +16963,1100105,54,1,1,1.0,6.0,328446,1,0 +16964,1100105,54,1,1,1.0,4.0,215847,1,0 +16965,1100105,54,1,1,1.0,6.0,326847,1,0 +16966,1100105,54,1,1,0.0,6.0,238077,1,0 +16967,1100105,54,1,1,1.0,4.0,445762,1,0 +16968,1100105,54,1,1,1.0,4.0,215847,1,0 +16969,1100105,54,1,1,1.0,6.0,212750,1,0 +16970,1100105,54,1,1,0.0,6.0,214134,1,0 +16971,1100105,54,1,1,0.0,6.0,307760,1,0 +16972,1100105,54,1,1,0.0,4.0,257923,1,0 +16973,1100105,54,1,1,1.0,4.0,445762,1,0 +16974,1100105,54,1,1,0.0,6.0,206131,1,0 +16975,1100105,54,1,1,0.0,6.0,206131,1,0 +16976,1100105,54,1,1,0.0,4.0,257923,1,0 +16977,1100105,54,1,1,1.0,4.0,204060,0,0 +16978,1100105,54,1,1,0.0,6.0,445566,0,0 +16979,1100105,54,1,1,1.0,4.0,204060,0,0 +16980,1100105,54,1,1,1.0,6.0,429645,0,0 +16981,1100105,54,1,1,1.0,6.0,427010,0,0 +16982,1100105,54,1,1,0.0,6.0,505151,0,0 +16983,1100105,54,1,1,0.0,6.0,227136,0,0 +16984,1100105,54,1,1,1.0,6.0,353393,0,0 +16985,1100105,54,1,1,1.0,4.0,204060,0,0 +16986,1100105,54,1,1,0.0,6.0,227136,0,0 +16987,1100105,54,1,1,2.0,6.0,633388,0,0 +16988,1100105,54,1,1,1.0,6.0,443036,0,0 +16989,1100105,54,1,1,1.0,6.0,443036,0,0 +16990,1100105,54,1,1,1.0,4.0,204060,0,0 +16991,1100105,54,1,1,0.0,6.0,227136,0,0 +16992,1100105,54,1,1,1.0,4.0,283667,0,0 +16993,1100105,54,1,1,1.0,6.0,286927,0,0 +16994,1100105,54,1,1,0.0,4.0,156016,1,0 +16995,1100105,54,1,1,0.0,6.0,165734,1,0 +16996,1100105,54,1,1,0.0,4.0,168484,1,0 +16997,1100105,54,1,1,0.0,4.0,168484,1,0 +16998,1100105,54,1,1,0.0,4.0,181452,1,0 +16999,1100105,54,1,1,0.0,4.0,162896,1,0 +17000,1100105,54,1,1,1.0,6.0,171858,1,0 +17001,1100105,54,1,1,0.0,4.0,189782,1,0 +17002,1100105,54,1,1,1.0,6.0,176661,1,0 +17003,1100105,54,1,1,1.0,6.0,154339,1,0 +17004,1100105,54,1,1,1.0,4.0,199580,1,0 +17005,1100105,54,1,1,0.0,4.0,150244,1,0 +17006,1100105,54,1,1,0.0,6.0,153990,1,0 +17007,1100105,54,1,1,0.0,6.0,192721,1,0 +17008,1100105,54,1,1,0.0,4.0,194210,1,0 +17009,1100105,54,1,1,1.0,6.0,192488,1,0 +17010,1100105,54,1,1,1.0,4.0,172226,1,0 +17011,1100105,54,1,1,0.0,4.0,194210,1,0 +17012,1100105,54,1,1,0.0,6.0,150908,1,0 +17013,1100105,54,1,1,1.0,4.0,154176,1,0 +17014,1100105,54,1,1,0.0,6.0,155375,1,0 +17015,1100105,54,1,1,0.0,4.0,150244,1,0 +17016,1100105,54,1,1,1.0,6.0,176299,1,0 +17017,1100105,54,1,1,1.0,4.0,199580,1,0 +17018,1100105,54,1,1,1.0,4.0,176092,1,0 +17019,1100105,54,1,1,0.0,6.0,150951,1,0 +17020,1100105,54,1,1,1.0,6.0,162095,1,0 +17021,1100105,54,1,1,0.0,4.0,150244,1,0 +17022,1100105,54,1,1,1.0,6.0,192488,1,0 +17023,1100105,54,1,1,1.0,6.0,156570,1,0 +17024,1100105,54,1,1,0.0,4.0,187367,1,0 +17025,1100105,54,1,1,1.0,6.0,178802,1,0 +17026,1100105,54,1,1,1.0,4.0,181271,1,0 +17027,1100105,54,1,1,1.0,4.0,164492,1,0 +17028,1100105,54,1,1,1.0,4.0,179873,1,0 +17029,1100105,54,1,1,1.0,4.0,182610,1,0 +17030,1100105,54,1,1,0.0,6.0,171307,1,0 +17031,1100105,54,1,1,0.0,6.0,157550,1,0 +17032,1100105,54,1,1,1.0,6.0,184510,1,0 +17033,1100105,54,1,1,1.0,4.0,184510,1,0 +17034,1100105,54,1,1,1.0,4.0,164883,1,0 +17035,1100105,54,1,1,0.0,6.0,166703,1,0 +17036,1100105,54,1,1,1.0,6.0,180411,1,0 +17037,1100105,54,1,1,0.0,4.0,152880,1,0 +17038,1100105,54,1,1,0.0,6.0,167161,1,0 +17039,1100105,54,1,1,1.0,4.0,153304,1,0 +17040,1100105,54,1,1,0.0,4.0,196329,1,0 +17041,1100105,54,1,1,1.0,6.0,180411,1,0 +17042,1100105,54,1,1,1.0,4.0,161601,1,0 +17043,1100105,54,1,1,0.0,4.0,175104,1,0 +17044,1100105,54,1,1,1.0,6.0,188438,1,0 +17045,1100105,54,1,1,0.0,4.0,151825,1,0 +17046,1100105,54,1,1,0.0,6.0,177291,1,0 +17047,1100105,54,1,1,1.0,4.0,155375,1,0 +17048,1100105,54,1,1,0.0,6.0,166703,1,0 +17049,1100105,54,1,1,0.0,4.0,152880,1,0 +17050,1100105,54,1,1,1.0,6.0,160787,1,0 +17051,1100105,54,1,1,0.0,6.0,163431,1,0 +17052,1100105,54,1,1,0.0,4.0,151825,1,0 +17053,1100105,54,1,1,0.0,6.0,159186,1,0 +17054,1100105,54,1,1,1.0,4.0,191023,0,0 +17055,1100105,54,1,1,0.0,4.0,192190,0,0 +17056,1100105,54,1,1,1.0,4.0,183807,0,0 +17057,1100105,54,1,1,1.0,4.0,115087,1,0 +17058,1100105,54,1,1,0.0,6.0,124383,1,0 +17059,1100105,54,1,1,1.0,4.0,108762,1,0 +17060,1100105,54,1,1,1.0,6.0,130106,1,0 +17061,1100105,54,1,1,0.0,6.0,124383,1,0 +17062,1100105,54,1,1,0.0,6.0,111671,1,0 +17063,1100105,54,1,1,0.0,6.0,111671,1,0 +17064,1100105,54,1,1,0.0,6.0,111430,1,0 +17065,1100105,54,1,1,1.0,6.0,149894,1,0 +17066,1100105,54,1,1,1.0,4.0,127349,1,0 +17067,1100105,54,1,1,1.0,6.0,132587,1,0 +17068,1100105,54,1,1,1.0,4.0,127349,1,0 +17069,1100105,54,1,1,0.0,6.0,107599,1,0 +17070,1100105,54,1,1,0.0,4.0,121571,1,0 +17071,1100105,54,1,1,1.0,4.0,123127,1,0 +17072,1100105,54,1,1,0.0,4.0,143267,1,0 +17073,1100105,54,1,1,0.0,4.0,121571,1,0 +17074,1100105,54,1,1,0.0,4.0,105434,1,0 +17075,1100105,54,1,1,0.0,6.0,137961,1,0 +17076,1100105,54,1,1,1.0,4.0,111430,1,0 +17077,1100105,54,1,1,1.0,6.0,139187,1,0 +17078,1100105,54,1,1,1.0,4.0,113942,1,0 +17079,1100105,54,1,1,0.0,6.0,113942,1,0 +17080,1100105,54,1,1,0.0,6.0,128480,1,0 +17081,1100105,54,1,1,1.0,4.0,105434,1,0 +17082,1100105,54,1,1,1.0,6.0,131702,1,0 +17083,1100105,54,1,1,0.0,6.0,139838,1,0 +17084,1100105,54,1,1,1.0,6.0,148573,1,0 +17085,1100105,54,1,1,1.0,6.0,129684,1,0 +17086,1100105,54,1,1,1.0,6.0,136768,1,0 +17087,1100105,54,1,1,1.0,4.0,131692,1,0 +17088,1100105,54,1,1,1.0,4.0,137961,1,0 +17089,1100105,54,1,1,0.0,4.0,101309,1,0 +17090,1100105,54,1,1,0.0,4.0,139838,1,0 +17091,1100105,54,1,1,1.0,4.0,113974,1,0 +17092,1100105,54,1,1,1.0,6.0,125226,1,0 +17093,1100105,54,1,1,1.0,4.0,127349,1,0 +17094,1100105,54,1,1,1.0,6.0,124610,1,0 +17095,1100105,54,1,1,0.0,6.0,133834,1,0 +17096,1100105,54,1,1,0.0,4.0,106124,1,0 +17097,1100105,54,1,1,0.0,4.0,112420,1,0 +17098,1100105,54,1,1,1.0,4.0,109307,1,0 +17099,1100105,54,1,1,0.0,4.0,117032,1,0 +17100,1100105,54,1,1,1.0,6.0,100373,1,0 +17101,1100105,54,1,1,1.0,6.0,119121,1,0 +17102,1100105,54,1,1,0.0,4.0,110279,1,0 +17103,1100105,54,1,1,1.0,4.0,139187,1,0 +17104,1100105,54,1,1,1.0,6.0,131702,1,0 +17105,1100105,54,1,1,0.0,6.0,115493,1,0 +17106,1100105,54,1,1,0.0,6.0,124300,1,0 +17107,1100105,54,1,1,1.0,4.0,108970,1,0 +17108,1100105,54,1,1,1.0,4.0,106375,1,0 +17109,1100105,54,1,1,1.0,4.0,134658,1,0 +17110,1100105,54,1,1,1.0,4.0,137064,1,0 +17111,1100105,54,1,1,1.0,6.0,136768,1,0 +17112,1100105,54,1,1,1.0,4.0,123358,1,0 +17113,1100105,54,1,1,1.0,4.0,143981,1,0 +17114,1100105,54,1,1,0.0,4.0,117032,1,0 +17115,1100105,54,1,1,1.0,4.0,146682,1,0 +17116,1100105,54,1,1,1.0,6.0,137961,1,0 +17117,1100105,54,1,1,1.0,6.0,140083,1,0 +17118,1100105,54,1,1,1.0,4.0,118613,1,0 +17119,1100105,54,1,1,0.0,4.0,127349,1,0 +17120,1100105,54,1,1,1.0,6.0,148573,1,0 +17121,1100105,54,1,1,1.0,6.0,120157,1,0 +17122,1100105,54,1,1,1.0,6.0,136900,1,0 +17123,1100105,54,1,1,1.0,6.0,102809,1,0 +17124,1100105,54,1,1,0.0,6.0,101309,1,0 +17125,1100105,54,1,1,1.0,6.0,124610,1,0 +17126,1100105,54,1,1,0.0,6.0,131793,1,0 +17127,1100105,54,1,1,1.0,4.0,106177,1,0 +17128,1100105,54,1,1,1.0,4.0,148925,1,0 +17129,1100105,54,1,1,1.0,6.0,136900,1,0 +17130,1100105,54,1,1,1.0,6.0,100817,1,0 +17131,1100105,54,1,1,1.0,4.0,139187,1,0 +17132,1100105,54,1,1,0.0,6.0,107727,1,0 +17133,1100105,54,1,1,1.0,6.0,123127,1,0 +17134,1100105,54,1,1,0.0,4.0,121249,1,0 +17135,1100105,54,1,1,0.0,4.0,121571,1,0 +17136,1100105,54,1,1,0.0,6.0,139838,1,0 +17137,1100105,54,1,1,0.0,4.0,101309,1,0 +17138,1100105,54,1,1,2.0,4.0,113466,1,0 +17139,1100105,54,1,1,1.0,4.0,113974,1,0 +17140,1100105,54,1,1,0.0,4.0,134658,1,0 +17141,1100105,54,1,1,1.0,4.0,109307,1,0 +17142,1100105,54,1,1,1.0,4.0,106375,1,0 +17143,1100105,54,1,1,1.0,4.0,120157,1,0 +17144,1100105,54,1,1,0.0,6.0,134658,1,0 +17145,1100105,54,1,1,1.0,6.0,139173,1,0 +17146,1100105,54,1,1,0.0,4.0,120981,1,0 +17147,1100105,54,1,1,2.0,4.0,113466,1,0 +17148,1100105,54,1,1,0.0,6.0,126637,1,0 +17149,1100105,54,1,1,1.0,4.0,111760,1,0 +17150,1100105,54,1,1,0.0,6.0,117774,1,0 +17151,1100105,54,1,1,1.0,4.0,100296,1,0 +17152,1100105,54,1,1,0.0,4.0,101217,1,0 +17153,1100105,54,1,1,1.0,4.0,100296,1,0 +17154,1100105,54,1,1,1.0,4.0,111760,1,0 +17155,1100105,54,1,1,0.0,6.0,101309,1,0 +17156,1100105,54,1,1,0.0,4.0,136768,1,0 +17157,1100105,54,1,1,1.0,4.0,130407,1,0 +17158,1100105,54,1,1,0.0,4.0,117774,1,0 +17159,1100105,54,1,1,0.0,4.0,117774,1,0 +17160,1100105,54,1,1,1.0,6.0,114978,1,0 +17161,1100105,54,1,1,1.0,6.0,134866,1,0 +17162,1100105,54,1,1,0.0,4.0,100817,1,0 +17163,1100105,54,1,1,0.0,6.0,105434,1,0 +17164,1100105,54,1,1,0.0,4.0,100817,1,0 +17165,1100105,54,1,1,0.0,6.0,105434,1,0 +17166,1100105,54,1,1,0.0,4.0,143267,1,0 +17167,1100105,54,1,1,0.0,6.0,107388,1,0 +17168,1100105,54,1,1,1.0,4.0,131702,1,0 +17169,1100105,54,1,1,1.0,4.0,116703,1,0 +17170,1100105,54,1,1,0.0,6.0,111339,1,0 +17171,1100105,54,1,1,0.0,4.0,143267,1,0 +17172,1100105,54,1,1,0.0,6.0,103583,1,0 +17173,1100105,54,1,1,1.0,6.0,110706,1,0 +17174,1100105,54,1,1,1.0,4.0,109360,1,0 +17175,1100105,54,1,1,1.0,4.0,121774,1,0 +17176,1100105,54,1,1,0.0,6.0,130729,1,0 +17177,1100105,54,1,1,0.0,6.0,122056,1,0 +17178,1100105,54,1,1,1.0,6.0,122584,1,0 +17179,1100105,54,1,1,1.0,4.0,145017,1,0 +17180,1100105,54,1,1,0.0,4.0,119545,1,0 +17181,1100105,54,1,1,0.0,6.0,122056,1,0 +17182,1100105,54,1,1,0.0,4.0,121571,1,0 +17183,1100105,54,1,1,1.0,4.0,109360,1,0 +17184,1100105,54,1,1,0.0,4.0,133749,1,0 +17185,1100105,54,1,1,0.0,4.0,141833,1,0 +17186,1100105,54,1,1,0.0,4.0,127349,1,0 +17187,1100105,54,1,1,1.0,6.0,111430,1,0 +17188,1100105,54,1,1,1.0,6.0,149894,1,0 +17189,1100105,54,1,1,0.0,6.0,119121,1,0 +17190,1100105,54,1,1,0.0,6.0,134658,1,0 +17191,1100105,54,1,1,1.0,6.0,149894,1,0 +17192,1100105,54,1,1,1.0,4.0,118532,1,0 +17193,1100105,54,1,1,1.0,4.0,107553,1,0 +17194,1100105,54,1,1,1.0,6.0,113466,1,0 +17195,1100105,54,1,1,1.0,6.0,123127,1,0 +17196,1100105,54,1,1,0.0,4.0,127349,1,0 +17197,1100105,54,1,1,1.0,4.0,108246,1,0 +17198,1100105,54,1,1,0.0,6.0,102784,1,0 +17199,1100105,54,1,1,1.0,4.0,128480,1,0 +17200,1100105,54,1,1,1.0,4.0,116703,1,0 +17201,1100105,54,1,1,1.0,4.0,106375,1,0 +17202,1100105,54,1,1,0.0,6.0,142336,1,0 +17203,1100105,54,1,1,1.0,4.0,131702,1,0 +17204,1100105,54,1,1,0.0,6.0,134658,1,0 +17205,1100105,54,1,1,1.0,4.0,103335,1,0 +17206,1100105,54,1,1,0.0,6.0,125322,1,0 +17207,1100105,54,1,1,1.0,4.0,116703,1,0 +17208,1100105,54,1,1,0.0,6.0,116736,1,0 +17209,1100105,54,1,1,0.0,4.0,143391,1,0 +17210,1100105,54,1,1,0.0,6.0,108597,1,0 +17211,1100105,54,1,1,0.0,6.0,134658,1,0 +17212,1100105,54,1,1,1.0,6.0,123127,1,0 +17213,1100105,54,1,1,0.0,4.0,122228,1,0 +17214,1100105,54,1,1,0.0,4.0,121571,1,0 +17215,1100105,54,1,1,0.0,4.0,116506,1,0 +17216,1100105,54,1,1,1.0,4.0,106124,1,0 +17217,1100105,54,1,1,0.0,6.0,134658,1,0 +17218,1100105,54,1,1,0.0,6.0,142336,1,0 +17219,1100105,54,1,1,0.0,6.0,115632,1,0 +17220,1100105,54,1,1,0.0,6.0,133105,1,0 +17221,1100105,54,1,1,0.0,6.0,100476,1,0 +17222,1100105,54,1,1,0.0,4.0,142399,1,0 +17223,1100105,54,1,1,0.0,4.0,108907,1,0 +17224,1100105,54,1,1,0.0,4.0,101309,1,0 +17225,1100105,54,1,1,0.0,6.0,120157,1,0 +17226,1100105,54,1,1,2.0,6.0,128865,0,0 +17227,1100105,54,1,1,0.0,6.0,111643,0,0 +17228,1100105,54,1,1,2.0,6.0,128865,0,0 +17229,1100105,54,1,1,0.0,4.0,112502,0,0 +17230,1100105,54,1,1,0.0,4.0,112502,0,0 +17231,1100105,54,1,1,0.0,4.0,112502,0,0 +17232,1100105,54,1,1,1.0,4.0,119224,0,0 +17233,1100105,54,1,1,1.0,6.0,131551,0,0 +17234,1100105,54,1,1,1.0,4.0,129157,0,0 +17235,1100105,54,1,1,1.0,6.0,126372,0,0 +17236,1100105,54,1,1,0.0,4.0,124610,0,0 +17237,1100105,54,1,1,0.0,6.0,72164,1,0 +17238,1100105,54,1,1,1.0,4.0,86703,1,0 +17239,1100105,54,1,1,1.0,4.0,74732,1,0 +17240,1100105,54,1,1,1.0,6.0,89619,1,0 +17241,1100105,54,1,1,1.0,6.0,82441,1,0 +17242,1100105,54,1,1,1.0,6.0,82441,1,0 +17243,1100105,54,1,1,1.0,6.0,73204,1,0 +17244,1100105,54,1,1,1.0,6.0,82441,1,0 +17245,1100105,54,1,1,1.0,4.0,86703,1,0 +17246,1100105,54,1,1,1.0,6.0,58137,1,0 +17247,1100105,54,1,1,1.0,4.0,66433,1,0 +17248,1100105,54,1,1,0.0,4.0,65775,1,0 +17249,1100105,54,1,1,0.0,4.0,99272,1,0 +17250,1100105,54,1,1,0.0,4.0,99272,1,0 +17251,1100105,54,1,1,0.0,6.0,88645,1,0 +17252,1100105,54,1,1,1.0,6.0,57989,1,0 +17253,1100105,54,1,1,1.0,6.0,99440,1,0 +17254,1100105,54,1,1,0.0,6.0,60490,1,0 +17255,1100105,54,1,1,1.0,6.0,57989,1,0 +17256,1100105,54,1,1,0.0,4.0,99283,1,0 +17257,1100105,54,1,1,1.0,4.0,81047,1,0 +17258,1100105,54,1,1,0.0,4.0,93225,1,0 +17259,1100105,54,1,1,1.0,6.0,75982,1,0 +17260,1100105,54,1,1,1.0,4.0,81047,1,0 +17261,1100105,54,1,1,1.0,6.0,87126,1,0 +17262,1100105,54,1,1,0.0,4.0,73804,1,0 +17263,1100105,54,1,1,1.0,6.0,90165,1,0 +17264,1100105,54,1,1,1.0,4.0,61028,1,0 +17265,1100105,54,1,1,0.0,4.0,98801,1,0 +17266,1100105,54,1,1,0.0,6.0,97634,1,0 +17267,1100105,54,1,1,0.0,4.0,69593,1,0 +17268,1100105,54,1,1,1.0,4.0,98270,1,0 +17269,1100105,54,1,1,1.0,6.0,60785,1,0 +17270,1100105,54,1,1,0.0,4.0,83609,1,0 +17271,1100105,54,1,1,1.0,6.0,63186,1,0 +17272,1100105,54,1,1,1.0,4.0,59043,1,0 +17273,1100105,54,1,1,0.0,4.0,69593,1,0 +17274,1100105,54,1,1,1.0,4.0,74947,1,0 +17275,1100105,54,1,1,0.0,4.0,94922,1,0 +17276,1100105,54,1,1,0.0,6.0,58368,1,0 +17277,1100105,54,1,1,1.0,6.0,92782,1,0 +17278,1100105,54,1,1,0.0,4.0,75982,1,0 +17279,1100105,54,1,1,1.0,6.0,74947,1,0 +17280,1100105,54,1,1,1.0,4.0,64221,1,0 +17281,1100105,54,1,1,0.0,6.0,58368,1,0 +17282,1100105,54,1,1,1.0,4.0,74947,1,0 +17283,1100105,54,1,1,1.0,6.0,60785,1,0 +17284,1100105,54,1,1,1.0,4.0,85653,1,0 +17285,1100105,54,1,1,1.0,4.0,61028,1,0 +17286,1100105,54,1,1,1.0,6.0,95075,1,0 +17287,1100105,54,1,1,0.0,4.0,95289,1,0 +17288,1100105,54,1,1,0.0,6.0,95511,1,0 +17289,1100105,54,1,1,0.0,4.0,94922,1,0 +17290,1100105,54,1,1,0.0,6.0,58368,1,0 +17291,1100105,54,1,1,1.0,4.0,93432,1,0 +17292,1100105,54,1,1,1.0,6.0,65851,1,0 +17293,1100105,54,1,1,1.0,6.0,82238,1,0 +17294,1100105,54,1,1,0.0,4.0,93225,1,0 +17295,1100105,54,1,1,1.0,6.0,51791,1,0 +17296,1100105,54,1,1,0.0,4.0,72942,1,0 +17297,1100105,54,1,1,0.0,4.0,99756,1,0 +17298,1100105,54,1,1,1.0,6.0,54707,1,0 +17299,1100105,54,1,1,1.0,6.0,51791,1,0 +17300,1100105,54,1,1,1.0,6.0,75982,1,0 +17301,1100105,54,1,1,1.0,6.0,69593,1,0 +17302,1100105,54,1,1,1.0,4.0,95511,1,0 +17303,1100105,54,1,1,1.0,6.0,63186,1,0 +17304,1100105,54,1,1,1.0,4.0,72508,1,0 +17305,1100105,54,1,1,1.0,6.0,74947,1,0 +17306,1100105,54,1,1,0.0,6.0,95289,1,0 +17307,1100105,54,1,1,1.0,4.0,99440,1,0 +17308,1100105,54,1,1,1.0,6.0,84347,1,0 +17309,1100105,54,1,1,1.0,4.0,73804,1,0 +17310,1100105,54,1,1,0.0,4.0,83293,1,0 +17311,1100105,54,1,1,1.0,4.0,73804,1,0 +17312,1100105,54,1,1,1.0,4.0,73804,1,0 +17313,1100105,54,1,1,1.0,6.0,74286,1,0 +17314,1100105,54,1,1,0.0,6.0,90165,1,0 +17315,1100105,54,1,1,0.0,6.0,75982,1,0 +17316,1100105,54,1,1,0.0,6.0,67329,1,0 +17317,1100105,54,1,1,1.0,6.0,96360,1,0 +17318,1100105,54,1,1,1.0,6.0,96360,1,0 +17319,1100105,54,1,1,0.0,6.0,90165,1,0 +17320,1100105,54,1,1,0.0,6.0,90165,1,0 +17321,1100105,54,1,1,0.0,4.0,52620,1,0 +17322,1100105,54,1,1,0.0,4.0,62099,1,0 +17323,1100105,54,1,1,1.0,6.0,62150,1,0 +17324,1100105,54,1,1,0.0,6.0,70612,1,0 +17325,1100105,54,1,1,0.0,6.0,90165,1,0 +17326,1100105,54,1,1,0.0,6.0,79593,1,0 +17327,1100105,54,1,1,1.0,6.0,88046,1,0 +17328,1100105,54,1,1,1.0,4.0,80300,1,0 +17329,1100105,54,1,1,1.0,4.0,80300,1,0 +17330,1100105,54,1,1,0.0,4.0,62150,1,0 +17331,1100105,54,1,1,0.0,6.0,82060,1,0 +17332,1100105,54,1,1,0.0,4.0,74947,1,0 +17333,1100105,54,1,1,0.0,4.0,71472,1,0 +17334,1100105,54,1,1,0.0,6.0,79021,1,0 +17335,1100105,54,1,1,1.0,4.0,80300,1,0 +17336,1100105,54,1,1,0.0,6.0,57989,1,0 +17337,1100105,54,1,1,0.0,6.0,84347,1,0 +17338,1100105,54,1,1,0.0,4.0,81047,1,0 +17339,1100105,54,1,1,1.0,4.0,80300,1,0 +17340,1100105,54,1,1,0.0,4.0,76652,1,0 +17341,1100105,54,1,1,1.0,4.0,80300,1,0 +17342,1100105,54,1,1,0.0,4.0,75912,1,0 +17343,1100105,54,1,1,1.0,6.0,87328,1,0 +17344,1100105,54,1,1,0.0,4.0,71472,1,0 +17345,1100105,54,1,1,0.0,6.0,73804,1,0 +17346,1100105,54,1,1,1.0,6.0,93177,1,0 +17347,1100105,54,1,1,1.0,6.0,93177,1,0 +17348,1100105,54,1,1,1.0,6.0,92189,1,0 +17349,1100105,54,1,1,1.0,6.0,62154,1,0 +17350,1100105,54,1,1,0.0,6.0,56245,1,0 +17351,1100105,54,1,1,1.0,6.0,73804,1,0 +17352,1100105,54,1,1,0.0,6.0,76652,1,0 +17353,1100105,54,1,1,0.0,6.0,94891,1,0 +17354,1100105,54,1,1,0.0,6.0,63674,1,0 +17355,1100105,54,1,1,0.0,6.0,53345,1,0 +17356,1100105,54,1,1,1.0,4.0,79075,1,0 +17357,1100105,54,1,1,0.0,6.0,89152,1,0 +17358,1100105,54,1,1,1.0,6.0,94450,1,0 +17359,1100105,54,1,1,0.0,6.0,63674,1,0 +17360,1100105,54,1,1,0.0,4.0,52717,1,0 +17361,1100105,54,1,1,0.0,4.0,71990,1,0 +17362,1100105,54,1,1,0.0,4.0,53533,1,0 +17363,1100105,54,1,1,0.0,6.0,75992,1,0 +17364,1100105,54,1,1,1.0,6.0,60816,1,0 +17365,1100105,54,1,1,1.0,6.0,54899,1,0 +17366,1100105,54,1,1,0.0,6.0,52717,1,0 +17367,1100105,54,1,1,0.0,6.0,93235,1,0 +17368,1100105,54,1,1,0.0,6.0,67329,1,0 +17369,1100105,54,1,1,1.0,6.0,54604,1,0 +17370,1100105,54,1,1,0.0,4.0,73956,1,0 +17371,1100105,54,1,1,0.0,4.0,56733,1,0 +17372,1100105,54,1,1,0.0,4.0,53533,1,0 +17373,1100105,54,1,1,0.0,6.0,54608,1,0 +17374,1100105,54,1,1,1.0,6.0,85960,1,0 +17375,1100105,54,1,1,0.0,6.0,58759,1,0 +17376,1100105,54,1,1,0.0,6.0,67536,1,0 +17377,1100105,54,1,1,0.0,4.0,75385,1,0 +17378,1100105,54,1,1,0.0,6.0,67329,1,0 +17379,1100105,54,1,1,0.0,6.0,76967,1,0 +17380,1100105,54,1,1,0.0,6.0,83838,1,0 +17381,1100105,54,1,1,1.0,6.0,75982,1,0 +17382,1100105,54,1,1,0.0,6.0,95511,1,0 +17383,1100105,54,1,1,1.0,6.0,75992,1,0 +17384,1100105,54,1,1,0.0,6.0,67919,1,0 +17385,1100105,54,1,1,1.0,6.0,71251,1,0 +17386,1100105,54,1,1,0.0,6.0,72222,1,0 +17387,1100105,54,1,1,0.0,6.0,70878,1,0 +17388,1100105,54,1,1,0.0,4.0,74286,1,0 +17389,1100105,54,1,1,0.0,6.0,54608,1,0 +17390,1100105,54,1,1,0.0,6.0,76995,1,0 +17391,1100105,54,1,1,0.0,4.0,50939,1,0 +17392,1100105,54,1,1,1.0,6.0,92077,1,0 +17393,1100105,54,1,1,3.0,4.0,69647,1,0 +17394,1100105,54,1,1,1.0,6.0,54604,1,0 +17395,1100105,54,1,1,0.0,6.0,73956,1,0 +17396,1100105,54,1,1,1.0,6.0,69903,1,0 +17397,1100105,54,1,1,0.0,6.0,81047,1,0 +17398,1100105,54,1,1,1.0,6.0,60785,1,0 +17399,1100105,54,1,1,0.0,6.0,55720,1,0 +17400,1100105,54,1,1,1.0,6.0,70916,1,0 +17401,1100105,54,1,1,0.0,6.0,63674,1,0 +17402,1100105,54,1,1,1.0,4.0,87795,1,0 +17403,1100105,54,1,1,1.0,6.0,92189,1,0 +17404,1100105,54,1,1,0.0,4.0,60785,1,0 +17405,1100105,54,1,1,0.0,6.0,93235,1,0 +17406,1100105,54,1,1,0.0,6.0,52717,1,0 +17407,1100105,54,1,1,0.0,6.0,52717,1,0 +17408,1100105,54,1,1,1.0,6.0,60785,1,0 +17409,1100105,54,1,1,1.0,4.0,89936,1,0 +17410,1100105,54,1,1,1.0,4.0,87126,1,0 +17411,1100105,54,1,1,1.0,6.0,73804,1,0 +17412,1100105,54,1,1,1.0,6.0,54604,1,0 +17413,1100105,54,1,1,0.0,4.0,74286,1,0 +17414,1100105,54,1,1,1.0,4.0,68980,1,0 +17415,1100105,54,1,1,0.0,4.0,99636,1,0 +17416,1100105,54,1,1,0.0,4.0,66293,1,0 +17417,1100105,54,1,1,0.0,6.0,63260,1,0 +17418,1100105,54,1,1,0.0,6.0,72942,1,0 +17419,1100105,54,1,1,0.0,6.0,75616,1,0 +17420,1100105,54,1,1,1.0,6.0,98404,1,0 +17421,1100105,54,1,1,0.0,6.0,76995,1,0 +17422,1100105,54,1,1,0.0,6.0,55720,1,0 +17423,1100105,54,1,1,0.0,6.0,99108,1,0 +17424,1100105,54,1,1,1.0,6.0,84347,1,0 +17425,1100105,54,1,1,1.0,6.0,85960,1,0 +17426,1100105,54,1,1,1.0,4.0,71929,1,0 +17427,1100105,54,1,1,0.0,6.0,67329,1,0 +17428,1100105,54,1,1,1.0,4.0,74947,1,0 +17429,1100105,54,1,1,0.0,6.0,95511,1,0 +17430,1100105,54,1,1,1.0,6.0,54899,1,0 +17431,1100105,54,1,1,0.0,6.0,81047,1,0 +17432,1100105,54,1,1,1.0,4.0,98404,1,0 +17433,1100105,54,1,1,0.0,6.0,52801,1,0 +17434,1100105,54,1,1,0.0,6.0,55674,1,0 +17435,1100105,54,1,1,0.0,6.0,61552,1,0 +17436,1100105,54,1,1,0.0,6.0,81047,1,0 +17437,1100105,54,1,1,0.0,6.0,76967,1,0 +17438,1100105,54,1,1,0.0,6.0,65580,1,0 +17439,1100105,54,1,1,1.0,6.0,92077,1,0 +17440,1100105,54,1,1,0.0,6.0,79283,1,0 +17441,1100105,54,1,1,1.0,6.0,75982,1,0 +17442,1100105,54,1,1,1.0,4.0,87795,1,0 +17443,1100105,54,1,1,1.0,6.0,67329,1,0 +17444,1100105,54,1,1,0.0,6.0,66864,1,0 +17445,1100105,54,1,1,1.0,6.0,75982,1,0 +17446,1100105,54,1,1,0.0,4.0,66293,1,0 +17447,1100105,54,1,1,0.0,4.0,86456,1,0 +17448,1100105,54,1,1,0.0,6.0,81047,1,0 +17449,1100105,54,1,1,0.0,6.0,76995,1,0 +17450,1100105,54,1,1,0.0,4.0,91178,1,0 +17451,1100105,54,1,1,0.0,4.0,56733,1,0 +17452,1100105,54,1,1,0.0,6.0,73956,1,0 +17453,1100105,54,1,1,0.0,6.0,72222,1,0 +17454,1100105,54,1,1,0.0,4.0,66293,1,0 +17455,1100105,54,1,1,0.0,6.0,52801,1,0 +17456,1100105,54,1,1,1.0,4.0,88046,1,0 +17457,1100105,54,1,1,0.0,6.0,75616,1,0 +17458,1100105,54,1,1,1.0,6.0,79075,1,0 +17459,1100105,54,1,1,1.0,6.0,96332,1,0 +17460,1100105,54,1,1,0.0,4.0,91178,1,0 +17461,1100105,54,1,1,1.0,6.0,62812,1,0 +17462,1100105,54,1,1,0.0,6.0,72222,1,0 +17463,1100105,54,1,1,0.0,6.0,63674,1,0 +17464,1100105,54,1,1,0.0,6.0,65797,1,0 +17465,1100105,54,1,1,0.0,6.0,67877,1,0 +17466,1100105,54,1,1,0.0,6.0,67329,1,0 +17467,1100105,54,1,1,0.0,6.0,65797,1,0 +17468,1100105,54,1,1,1.0,6.0,85960,1,0 +17469,1100105,54,1,1,0.0,6.0,80300,1,0 +17470,1100105,54,1,1,0.0,4.0,58368,1,0 +17471,1100105,54,1,1,0.0,4.0,73804,1,0 +17472,1100105,54,1,1,0.0,4.0,50939,1,0 +17473,1100105,54,1,1,1.0,6.0,54604,1,0 +17474,1100105,54,1,1,0.0,6.0,99108,1,0 +17475,1100105,54,1,1,0.0,6.0,63674,1,0 +17476,1100105,54,1,1,0.0,6.0,72508,1,0 +17477,1100105,54,1,1,0.0,6.0,56245,1,0 +17478,1100105,54,1,1,0.0,4.0,50654,1,0 +17479,1100105,54,1,1,0.0,6.0,50397,1,0 +17480,1100105,54,1,1,0.0,6.0,72508,1,0 +17481,1100105,54,1,1,0.0,6.0,72508,1,0 +17482,1100105,54,1,1,0.0,6.0,81047,1,0 +17483,1100105,54,1,1,0.0,6.0,50397,1,0 +17484,1100105,54,1,1,0.0,4.0,84899,1,0 +17485,1100105,54,1,1,0.0,4.0,80816,1,0 +17486,1100105,54,1,1,0.0,4.0,87795,1,0 +17487,1100105,54,1,1,0.0,4.0,80816,1,0 +17488,1100105,54,1,1,0.0,6.0,66858,1,0 +17489,1100105,54,1,1,0.0,4.0,72164,1,0 +17490,1100105,54,1,1,1.0,4.0,65851,1,0 +17491,1100105,54,1,1,1.0,6.0,66423,1,0 +17492,1100105,54,1,1,0.0,6.0,56245,1,0 +17493,1100105,54,1,1,0.0,4.0,80816,1,0 +17494,1100105,54,1,1,1.0,6.0,62150,1,0 +17495,1100105,54,1,1,0.0,6.0,72508,1,0 +17496,1100105,54,1,1,1.0,6.0,92191,1,0 +17497,1100105,54,1,1,0.0,4.0,58887,1,0 +17498,1100105,54,1,1,0.0,6.0,50397,1,0 +17499,1100105,54,1,1,1.0,6.0,61010,0,0 +17500,1100105,54,1,1,1.0,6.0,61010,0,0 +17501,1100105,54,1,1,0.0,6.0,83377,0,0 +17502,1100105,54,1,1,0.0,6.0,83377,0,0 +17503,1100105,54,1,1,0.0,4.0,99283,0,0 +17504,1100105,54,1,1,0.0,4.0,93625,0,0 +17505,1100105,54,1,1,0.0,6.0,56564,0,0 +17506,1100105,54,1,1,0.0,4.0,50408,0,0 +17507,1100105,54,1,1,0.0,4.0,59975,0,0 +17508,1100105,54,1,1,1.0,6.0,59886,0,0 +17509,1100105,54,1,1,0.0,6.0,67583,0,0 +17510,1100105,54,1,1,1.0,4.0,88083,0,0 +17511,1100105,54,1,1,0.0,6.0,63260,0,0 +17512,1100105,54,1,1,0.0,6.0,64417,0,0 +17513,1100105,54,1,1,0.0,6.0,88865,0,0 +17514,1100105,54,1,1,0.0,6.0,69692,0,0 +17515,1100105,54,1,1,1.0,6.0,59886,0,0 +17516,1100105,54,1,1,0.0,4.0,94219,0,0 +17517,1100105,54,1,1,1.0,4.0,88083,0,0 +17518,1100105,54,1,1,0.0,4.0,94219,0,0 +17519,1100105,54,1,1,0.0,4.0,61292,0,0 +17520,1100105,54,1,1,1.0,4.0,88083,0,0 +17521,1100105,54,1,1,0.0,4.0,83074,0,0 +17522,1100105,54,1,1,0.0,4.0,61292,0,0 +17523,1100105,54,1,1,0.0,4.0,51396,0,0 +17524,1100105,54,1,1,0.0,6.0,69692,0,0 +17525,1100105,54,1,1,0.0,6.0,56564,0,0 +17526,1100105,54,1,1,1.0,4.0,68181,0,0 +17527,1100105,54,1,1,1.0,4.0,88083,0,0 +17528,1100105,54,1,1,1.0,6.0,59886,0,0 +17529,1100105,54,1,1,0.0,4.0,59975,0,0 +17530,1100105,54,1,1,0.0,6.0,69692,0,0 +17531,1100105,54,1,1,1.0,6.0,51364,0,0 +17532,1100105,54,1,1,0.0,4.0,59975,0,0 +17533,1100105,54,1,1,0.0,4.0,55184,0,0 +17534,1100105,54,1,1,1.0,4.0,88083,0,0 +17535,1100105,54,1,1,1.0,4.0,55821,0,0 +17536,1100105,54,1,1,0.0,6.0,56745,0,0 +17537,1100105,54,1,1,1.0,4.0,55821,0,0 +17538,1100105,54,1,1,1.0,4.0,82776,0,0 +17539,1100105,54,1,1,1.0,6.0,83944,0,0 +17540,1100105,54,1,1,1.0,6.0,83944,0,0 +17541,1100105,54,1,1,0.0,6.0,86724,0,0 +17542,1100105,54,1,1,1.0,6.0,79593,0,0 +17543,1100105,54,1,1,1.0,6.0,79593,0,0 +17544,1100105,54,1,1,2.0,6.0,70916,0,0 +17545,1100105,54,1,1,1.0,4.0,61152,0,0 +17546,1100105,54,1,1,1.0,4.0,34261,1,0 +17547,1100105,54,1,1,0.0,4.0,34182,1,0 +17548,1100105,54,1,1,0.0,4.0,42184,1,0 +17549,1100105,54,1,1,0.0,4.0,42184,1,0 +17550,1100105,54,1,1,0.0,4.0,34182,1,0 +17551,1100105,54,1,1,0.0,6.0,31837,1,0 +17552,1100105,54,1,1,0.0,6.0,31837,1,0 +17553,1100105,54,1,1,0.0,6.0,35332,1,0 +17554,1100105,54,1,1,1.0,4.0,31075,1,0 +17555,1100105,54,1,1,1.0,4.0,40523,1,0 +17556,1100105,54,1,1,1.0,4.0,35332,1,0 +17557,1100105,54,1,1,0.0,4.0,42173,1,0 +17558,1100105,54,1,1,1.0,6.0,42449,1,0 +17559,1100105,54,1,1,1.0,4.0,30392,1,0 +17560,1100105,54,1,1,1.0,4.0,25895,1,0 +17561,1100105,54,1,1,0.0,6.0,42131,1,0 +17562,1100105,54,1,1,1.0,4.0,40523,1,0 +17563,1100105,54,1,1,0.0,4.0,48180,1,0 +17564,1100105,54,1,1,0.0,6.0,27837,1,0 +17565,1100105,54,1,1,0.0,4.0,29003,1,0 +17566,1100105,54,1,1,0.0,6.0,43897,1,0 +17567,1100105,54,1,1,0.0,4.0,28381,1,0 +17568,1100105,54,1,1,1.0,6.0,47109,1,0 +17569,1100105,54,1,1,1.0,4.0,42173,1,0 +17570,1100105,54,1,1,1.0,6.0,42826,1,0 +17571,1100105,54,1,1,1.0,6.0,42826,1,0 +17572,1100105,54,1,1,1.0,4.0,43829,1,0 +17573,1100105,54,1,1,0.0,4.0,37484,1,0 +17574,1100105,54,1,1,0.0,4.0,47755,1,0 +17575,1100105,54,1,1,1.0,6.0,48180,1,0 +17576,1100105,54,1,1,0.0,6.0,42550,1,0 +17577,1100105,54,1,1,0.0,6.0,39537,1,0 +17578,1100105,54,1,1,1.0,4.0,41537,1,0 +17579,1100105,54,1,1,1.0,6.0,48817,1,0 +17580,1100105,54,1,1,0.0,4.0,42826,1,0 +17581,1100105,54,1,1,0.0,6.0,27910,1,0 +17582,1100105,54,1,1,0.0,6.0,39510,1,0 +17583,1100105,54,1,1,0.0,6.0,42173,1,0 +17584,1100105,54,1,1,1.0,4.0,25696,1,0 +17585,1100105,54,1,1,0.0,6.0,39265,1,0 +17586,1100105,54,1,1,0.0,6.0,31075,1,0 +17587,1100105,54,1,1,1.0,6.0,42173,1,0 +17588,1100105,54,1,1,0.0,4.0,47755,1,0 +17589,1100105,54,1,1,0.0,6.0,48180,1,0 +17590,1100105,54,1,1,0.0,6.0,48180,1,0 +17591,1100105,54,1,1,0.0,4.0,31837,1,0 +17592,1100105,54,1,1,0.0,6.0,49236,1,0 +17593,1100105,54,1,1,1.0,6.0,42173,1,0 +17594,1100105,54,1,1,0.0,6.0,49554,1,0 +17595,1100105,54,1,1,0.0,4.0,36254,1,0 +17596,1100105,54,1,1,1.0,6.0,45680,1,0 +17597,1100105,54,1,1,0.0,4.0,42449,1,0 +17598,1100105,54,1,1,1.0,6.0,48817,1,0 +17599,1100105,54,1,1,1.0,4.0,45183,1,0 +17600,1100105,54,1,1,0.0,4.0,44282,1,0 +17601,1100105,54,1,1,0.0,4.0,48122,1,0 +17602,1100105,54,1,1,0.0,4.0,41433,1,0 +17603,1100105,54,1,1,1.0,6.0,30892,1,0 +17604,1100105,54,1,1,0.0,4.0,47755,1,0 +17605,1100105,54,1,1,0.0,6.0,48684,1,0 +17606,1100105,54,1,1,0.0,6.0,49720,1,0 +17607,1100105,54,1,1,0.0,6.0,49720,1,0 +17608,1100105,54,1,1,0.0,6.0,49720,1,0 +17609,1100105,54,1,1,1.0,6.0,29521,0,0 +17610,1100105,54,1,1,1.0,6.0,29521,0,0 +17611,1100105,54,1,1,1.0,6.0,29521,0,0 +17612,1100105,54,1,1,1.0,6.0,29521,0,0 +17613,1100105,54,1,1,1.0,6.0,29521,0,0 +17614,1100105,54,1,1,1.0,4.0,47755,0,0 +17615,1100105,54,1,1,0.0,6.0,27346,0,0 +17616,1100105,54,1,1,0.0,6.0,28653,0,0 +17617,1100105,54,1,1,1.0,6.0,26931,0,0 +17618,1100105,54,1,1,0.0,6.0,39713,0,0 +17619,1100105,54,1,1,1.0,4.0,37045,0,0 +17620,1100105,54,1,1,1.0,4.0,37045,0,0 +17621,1100105,54,1,1,0.0,4.0,27967,0,0 +17622,1100105,54,1,1,1.0,6.0,32580,0,0 +17623,1100105,54,1,1,1.0,4.0,47644,0,0 +17624,1100105,54,1,1,0.0,6.0,30453,0,0 +17625,1100105,54,1,1,0.0,4.0,27967,0,0 +17626,1100105,54,1,1,0.0,6.0,30453,0,0 +17627,1100105,54,1,1,1.0,6.0,26931,0,0 +17628,1100105,54,1,1,0.0,6.0,30453,0,0 +17629,1100105,54,1,1,1.0,6.0,32580,0,0 +17630,1100105,54,1,1,0.0,6.0,39713,0,0 +17631,1100105,54,1,1,1.0,4.0,38544,0,0 +17632,1100105,54,1,1,2.0,6.0,48628,0,0 +17633,1100105,54,1,1,0.0,6.0,27760,0,0 +17634,1100105,54,1,1,1.0,4.0,37045,0,0 +17635,1100105,54,1,1,2.0,6.0,48628,0,0 +17636,1100105,54,1,1,0.0,4.0,37383,0,0 +17637,1100105,54,1,1,0.0,4.0,25327,0,0 +17638,1100105,54,1,1,0.0,4.0,25327,0,0 +17639,1100105,54,1,1,0.0,4.0,34850,0,0 +17640,1100105,54,1,1,0.0,6.0,27592,0,0 +17641,1100105,54,1,1,0.0,6.0,27592,0,0 +17642,1100105,54,1,1,0.0,6.0,27592,0,0 +17643,1100105,54,1,1,0.0,6.0,27592,0,0 +17644,1100105,54,1,1,1.0,6.0,49720,0,0 +17645,1100105,54,1,1,0.0,4.0,41739,0,0 +17646,1100105,54,1,1,0.0,4.0,41739,0,0 +17647,1100105,54,1,1,1.0,6.0,22816,1,0 +17648,1100105,54,1,1,1.0,4.0,20906,1,0 +17649,1100105,54,1,1,1.0,6.0,13062,1,0 +17650,1100105,54,1,1,0.0,6.0,21959,1,0 +17651,1100105,54,1,1,0.0,6.0,21959,1,0 +17652,1100105,54,1,1,1.0,4.0,20906,1,0 +17653,1100105,54,1,1,0.0,6.0,21959,1,0 +17654,1100105,54,1,1,1.0,4.0,20906,1,0 +17655,1100105,54,1,1,1.0,4.0,20906,1,0 +17656,1100105,54,1,1,0.0,6.0,19700,1,0 +17657,1100105,54,1,1,0.0,6.0,19700,1,0 +17658,1100105,54,1,1,0.0,4.0,13880,1,0 +17659,1100105,54,1,1,0.0,4.0,13880,1,0 +17660,1100105,54,1,1,1.0,4.0,9197,1,0 +17661,1100105,54,1,1,1.0,4.0,9197,1,0 +17662,1100105,54,1,1,0.0,4.0,24197,1,0 +17663,1100105,54,1,1,0.0,6.0,13704,1,0 +17664,1100105,54,1,1,1.0,6.0,5065,1,0 +17665,1100105,54,1,1,1.0,4.0,6367,1,0 +17666,1100105,54,1,1,1.0,6.0,5065,1,0 +17667,1100105,54,1,1,0.0,4.0,16573,1,0 +17668,1100105,54,1,1,0.0,4.0,16573,1,0 +17669,1100105,54,1,1,1.0,4.0,14989,1,0 +17670,1100105,54,1,1,0.0,6.0,9563,1,0 +17671,1100105,54,1,1,0.0,6.0,14347,1,0 +17672,1100105,54,1,1,0.0,6.0,7192,1,0 +17673,1100105,54,1,1,0.0,4.0,16780,1,0 +17674,1100105,54,1,1,1.0,4.0,6367,1,0 +17675,1100105,54,1,1,0.0,4.0,15815,1,0 +17676,1100105,54,1,1,0.0,6.0,14347,1,0 +17677,1100105,54,1,1,1.0,4.0,16595,1,0 +17678,1100105,54,1,1,1.0,4.0,14989,1,0 +17679,1100105,54,1,1,0.0,4.0,12238,1,0 +17680,1100105,54,1,1,2.0,4.0,21413,1,0 +17681,1100105,54,1,1,2.0,4.0,21413,1,0 +17682,1100105,54,1,1,0.0,6.0,5271,1,0 +17683,1100105,54,1,1,0.0,4.0,12238,1,0 +17684,1100105,54,1,1,0.0,4.0,11394,1,0 +17685,1100105,54,1,1,0.0,6.0,10706,1,0 +17686,1100105,54,1,1,0.0,6.0,10706,1,0 +17687,1100105,54,1,1,0.0,6.0,10706,1,0 +17688,1100105,54,1,1,0.0,4.0,11394,1,0 +17689,1100105,54,1,1,0.0,4.0,11394,1,0 +17690,1100105,54,1,1,0.0,4.0,11394,1,0 +17691,1100105,54,1,1,1.0,6.0,12652,1,0 +17692,1100105,54,1,1,0.0,6.0,10358,1,0 +17693,1100105,54,1,1,0.0,6.0,10358,1,0 +17694,1100105,54,1,1,0.0,6.0,10358,1,0 +17695,1100105,54,1,1,1.0,6.0,10706,1,0 +17696,1100105,54,1,1,0.0,6.0,10358,1,0 +17697,1100105,54,1,1,0.0,6.0,12157,1,0 +17698,1100105,54,1,1,1.0,6.0,12652,1,0 +17699,1100105,54,1,1,0.0,4.0,19189,1,0 +17700,1100105,54,1,1,0.0,6.0,24882,1,0 +17701,1100105,54,1,1,0.0,4.0,11703,1,0 +17702,1100105,54,1,1,0.0,6.0,22484,1,0 +17703,1100105,54,1,1,1.0,6.0,6326,1,0 +17704,1100105,54,1,1,0.0,4.0,11703,1,0 +17705,1100105,54,1,1,0.0,4.0,5271,1,0 +17706,1100105,54,1,1,0.0,4.0,20032,1,0 +17707,1100105,54,1,1,0.0,6.0,10612,1,0 +17708,1100105,54,1,1,0.0,6.0,10543,1,0 +17709,1100105,54,1,1,0.0,6.0,10358,1,0 +17710,1100105,54,1,1,0.0,4.0,7091,1,0 +17711,1100105,54,1,1,0.0,6.0,1697,1,0 +17712,1100105,54,1,1,1.0,6.0,1581,1,0 +17713,1100105,54,1,1,0.0,6.0,22484,1,0 +17714,1100105,54,1,1,0.0,4.0,21086,1,0 +17715,1100105,54,1,1,0.0,6.0,21224,1,0 +17716,1100105,54,1,1,1.0,6.0,1581,1,0 +17717,1100105,54,1,1,1.0,6.0,6326,1,0 +17718,1100105,54,1,1,1.0,6.0,8234,1,0 +17719,1100105,54,1,1,1.0,4.0,16209,1,0 +17720,1100105,54,1,1,1.0,6.0,21352,1,0 +17721,1100105,54,1,1,0.0,6.0,2741,1,0 +17722,1100105,54,1,1,0.0,6.0,1697,1,0 +17723,1100105,54,1,1,0.0,4.0,14082,1,0 +17724,1100105,54,1,1,0.0,4.0,5306,1,0 +17725,1100105,54,1,1,0.0,6.0,6424,1,0 +17726,1100105,54,1,1,0.0,6.0,6424,1,0 +17727,1100105,54,1,1,0.0,4.0,14082,1,0 +17728,1100105,54,1,1,0.0,4.0,14082,1,0 +17729,1100105,54,1,1,0.0,4.0,8914,0,0 +17730,1100105,54,1,1,0.0,6.0,19314,0,0 +17731,1100105,54,1,1,0.0,6.0,18852,0,0 +17732,1100105,54,1,1,0.0,6.0,11497,0,0 +17733,1100105,54,1,1,0.0,6.0,12157,0,0 +17734,1100105,54,1,1,0.0,6.0,12157,0,0 +17735,1100105,54,1,1,0.0,6.0,18852,0,0 +17736,1100105,54,1,1,0.0,6.0,18852,0,0 +17737,1100105,54,1,1,0.0,6.0,12157,0,0 +17738,1100105,54,1,1,0.0,6.0,18852,0,0 +17739,1100105,54,1,1,0.0,6.0,11497,0,0 +17740,1100105,54,1,1,0.0,6.0,12157,0,0 +17741,1100105,54,1,1,0.0,4.0,8914,0,0 +17742,1100105,54,1,1,0.0,4.0,2108,0,0 +17743,1100105,54,1,1,0.0,6.0,8779,0,0 +17744,1100105,54,1,1,0.0,4.0,2108,0,0 +17745,1100105,54,1,1,1.0,6.0,7091,0,0 +17746,1100105,54,1,1,0.0,4.0,2108,0,0 +17747,1100105,54,1,1,0.0,6.0,8779,0,0 +17748,1100105,54,1,1,0.0,4.0,8857,0,0 +17749,1100105,54,1,1,0.0,6.0,15815,0,0 +17750,1100105,54,1,1,1.0,6.0,11492,0,0 +17751,1100105,54,1,1,0.0,6.0,1346,0,0 +17752,1100105,54,1,1,1.0,6.0,0,0,0 +17753,1100105,54,1,1,0.0,6.0,9117,0,0 +17754,1100105,54,1,1,0.0,6.0,9314,0,0 +17755,1100105,54,1,1,0.0,4.0,16060,0,0 +17756,1100105,54,1,1,0.0,6.0,21752,0,0 +17757,1100105,54,1,1,1.0,4.0,19189,0,0 +17758,1100105,54,1,1,1.0,6.0,8351,0,0 +17759,1100105,54,1,1,1.0,4.0,19189,0,0 +17760,1100105,54,1,1,0.0,4.0,21086,0,0 +17761,1100105,54,1,1,1.0,4.0,19189,0,0 +17762,1100105,54,1,1,0.0,6.0,1968,0,0 +17763,1100105,54,1,1,0.0,6.0,21413,0,0 +17764,1100105,54,1,1,0.0,6.0,8104,0,0 +17765,1100105,54,1,1,1.0,6.0,0,0,0 +17766,1100105,54,1,1,1.0,4.0,2741,0,0 +17767,1100105,54,1,1,0.0,6.0,8104,0,0 +17768,1100105,54,1,1,1.0,4.0,3163,0,0 +17769,1100105,54,1,1,0.0,4.0,0,0,0 +17770,1100105,54,1,1,0.0,6.0,0,0,0 +17771,1100105,54,1,1,0.0,6.0,3936,0,0 +17772,1100105,54,1,1,0.0,4.0,12947,0,0 +17773,1100105,54,1,1,0.0,6.0,3936,0,0 +17774,1100105,54,1,1,0.0,6.0,3936,0,0 +17775,1100105,54,1,1,0.0,4.0,15865,0,0 +17776,1100105,54,1,1,0.0,4.0,23876,0,0 +17777,1100105,54,1,1,0.0,4.0,9207,0,0 +17778,1100105,54,1,1,0.0,6.0,15804,0,0 +17779,1100105,54,1,1,1.0,4.0,9278,0,0 +17780,1100105,54,1,1,0.0,4.0,12947,0,0 +17781,1100105,54,1,1,1.0,6.0,12989,0,0 +17782,1100105,54,1,1,0.0,4.0,9207,0,0 +17783,1100105,54,1,1,0.0,6.0,911,0,0 +17784,1100105,54,1,1,0.0,6.0,9636,0,0 +17785,1100105,54,1,1,0.0,6.0,1391,0,0 +17786,1100105,54,1,1,0.0,4.0,18843,0,0 +17787,1100105,54,1,1,1.0,6.0,22592,0,0 +17788,1100105,54,1,1,0.0,6.0,1391,0,0 +17789,1100105,54,1,1,0.0,6.0,911,0,0 +17790,1100105,54,1,1,0.0,4.0,23876,0,0 +17791,1100105,54,1,1,0.0,6.0,20198,0,0 +17792,1100105,54,1,1,1.0,6.0,23768,0,0 +17793,1100105,54,1,1,0.0,6.0,911,0,0 +17794,1100105,54,1,1,1.0,4.0,15069,0,0 +17795,1100105,54,1,1,0.0,6.0,13362,0,0 +17796,1100105,54,1,1,1.0,4.0,9278,0,0 +17797,1100105,54,1,1,0.0,6.0,24249,0,0 +17798,1100105,54,1,1,0.0,6.0,19505,0,0 +17799,1100105,54,1,1,0.0,4.0,12947,0,0 +17800,1100105,54,1,1,0.0,6.0,19505,0,0 +17801,1100105,54,1,1,0.0,6.0,15804,0,0 +17802,1100105,54,1,1,0.0,6.0,6536,0,0 +17803,1100105,54,1,1,0.0,4.0,12947,0,0 +17804,1100105,54,1,1,0.0,6.0,1391,0,0 +17805,1100105,54,1,1,0.0,4.0,23876,0,0 +17806,1100105,54,1,1,1.0,6.0,12989,0,0 +17807,1100105,54,1,1,0.0,6.0,1391,0,0 +17808,1100105,54,1,1,0.0,6.0,20198,0,0 +17809,1100105,54,1,1,0.0,4.0,0,0,0 +17810,1100105,54,1,1,0.0,4.0,9207,0,0 +17811,1100105,54,1,1,0.0,6.0,13362,0,0 +17812,1100105,54,1,1,0.0,6.0,12989,0,0 +17813,1100105,54,1,1,0.0,4.0,0,0,0 +17814,1100105,54,1,1,0.0,6.0,11808,0,0 +17815,1100105,54,1,1,1.0,6.0,11991,0,0 +17816,1100105,54,1,1,0.0,4.0,10536,0,0 +17817,1100105,54,1,1,0.0,6.0,9126,0,0 +17818,1100105,54,1,1,0.0,6.0,13068,0,0 +17819,1100105,54,1,1,2.0,6.0,14561,0,0 +17820,1100105,54,1,1,0.0,6.0,13068,0,0 +17821,1100105,54,1,1,0.0,6.0,9126,0,0 +17822,1100105,54,1,1,1.0,6.0,10648,0,0 +17823,1100105,54,1,1,0.0,6.0,9126,0,0 +17824,1100105,54,1,1,0.0,6.0,13068,0,0 +17825,1100105,54,1,1,0.0,6.0,9126,0,0 +17826,1100105,54,1,1,0.0,6.0,11808,0,0 +17827,1100105,54,1,1,0.0,6.0,11808,0,0 +17828,1100105,54,1,1,0.0,6.0,9944,0,0 +17829,1100105,54,1,1,0.0,6.0,11808,0,0 +17830,1100105,54,1,1,0.0,6.0,13068,0,0 +17831,1100105,54,1,1,0.0,6.0,13068,0,0 +17832,1100105,54,1,1,0.0,6.0,7250,0,0 +17833,1100105,54,1,1,1.0,4.0,13372,0,0 +17834,1100105,54,1,1,2.0,4.0,20261,0,0 +17835,1100105,54,1,1,2.0,4.0,20261,0,0 +17836,1100105,54,1,1,2.0,4.0,20261,0,0 +17837,1100105,54,1,1,0.0,6.0,0,0,0 +17838,1100105,54,1,1,1.0,6.0,23402,0,0 +17839,1100105,54,1,1,0.0,6.0,0,0,0 +17840,1100105,54,1,1,0.0,6.0,0,0,0 +17841,1100105,54,1,1,0.0,6.0,9207,0,0 +17842,1100105,54,1,1,0.0,6.0,5531,0,0 +17843,1100105,54,1,1,0.0,6.0,0,0,0 +17844,1100105,54,1,1,0.0,4.0,10543,0,0 +17845,1100105,54,1,1,0.0,6.0,0,0,0 +17846,1100105,54,1,1,0.0,6.0,0,0,0 +17847,1100105,54,1,1,0.0,4.0,3163,0,0 +17848,1100105,54,1,1,0.0,4.0,1606,0,0 +17849,1100105,54,1,1,0.0,4.0,3163,0,0 +17850,1100105,54,1,1,0.0,6.0,5531,0,0 +17851,1100105,54,1,1,1.0,4.0,10,0,0 +17852,1100105,54,1,1,0.0,6.0,0,0,0 +17853,1100105,54,1,1,0.0,4.0,9489,0,0 +17854,1100105,54,1,1,0.0,4.0,9489,0,0 +17855,1100105,54,1,1,0.0,4.0,5888,0,0 +17856,1100105,54,1,1,0.0,6.0,0,0,0 +17857,1100105,54,1,1,1.0,6.0,1284,0,0 +17858,1100105,54,1,1,0.0,6.0,0,0,0 +17859,1100105,54,1,1,1.0,6.0,22286,0,0 +17860,1100105,54,1,1,1.0,4.0,24726,0,0 +17861,1100105,54,1,1,1.0,6.0,1284,0,0 +17862,1100105,54,1,1,1.0,6.0,22286,0,0 +17863,1100105,54,1,1,1.0,6.0,1284,0,0 +17864,1100105,54,1,1,0.0,4.0,1035,0,0 +17865,1100105,54,1,1,1.0,4.0,1243,0,0 +17866,1100105,54,1,1,1.0,4.0,10,0,0 +17867,1100105,54,1,1,1.0,6.0,2569,0,0 +17868,1100105,54,1,1,0.0,6.0,0,0,0 +17869,1100105,54,1,1,0.0,6.0,0,0,0 +17870,1100105,54,1,1,0.0,4.0,5888,0,0 +17871,1100105,54,1,1,0.0,4.0,0,0,0 +17872,1100105,54,1,1,0.0,4.0,0,0,0 +17873,1100105,54,1,1,1.0,4.0,10053,0,0 +17874,1100105,54,1,1,0.0,6.0,0,0,0 +17875,1100105,54,1,1,0.0,6.0,13253,0,0 +17876,1100105,54,1,1,1.0,4.0,1243,0,0 +17877,1100105,54,1,1,1.0,6.0,2569,0,0 +17878,1100105,54,1,1,0.0,4.0,9489,0,0 +17879,1100105,54,1,1,0.0,4.0,9489,0,0 +17880,1100105,54,1,1,0.0,4.0,5888,0,0 +17881,1100105,54,1,1,1.0,4.0,10,0,0 +17882,1100105,54,1,1,1.0,4.0,3039,0,0 +17883,1100105,54,1,1,1.0,6.0,21330,0,0 +17884,1100105,54,1,1,0.0,6.0,3502,0,0 +17885,1100105,54,1,1,0.0,6.0,3502,0,0 +17886,1100105,54,1,1,0.0,6.0,1657,0,0 +17887,1100105,54,1,1,1.0,6.0,21330,0,0 +17888,1100105,54,1,1,0.0,4.0,8351,0,0 +17889,1100105,54,1,1,0.0,4.0,5271,0,0 +17890,1100105,54,1,1,0.0,6.0,792,0,0 +17891,1100105,54,1,1,0.0,6.0,0,0,0 +17892,1100105,54,1,1,1.0,6.0,0,0,0 +17893,1100105,54,1,1,1.0,4.0,0,0,0 +17894,1100105,54,1,1,0.0,6.0,15918,0,0 +17895,1100105,54,1,1,1.0,6.0,233,0,0 +17896,1100105,54,1,1,1.0,6.0,0,0,0 +17897,1100105,54,1,1,0.0,4.0,20261,0,0 +17898,1100105,54,1,1,0.0,6.0,0,0,0 +17899,1100105,54,1,1,0.0,6.0,0,0,0 +17900,1100105,54,1,1,0.0,6.0,0,0,0 +17901,1100105,54,1,1,0.0,6.0,24314,0,0 +17902,1100105,54,1,1,0.0,6.0,0,0,0 +17903,1100105,54,1,1,1.0,6.0,21680,0,0 +17904,1100105,54,1,1,1.0,6.0,535,0,0 +17905,1100105,54,1,1,0.0,4.0,5268,0,0 +17906,1100105,54,1,1,0.0,6.0,3268,0,0 +17907,1100105,54,1,1,0.0,6.0,13465,0,0 +17908,1100105,54,1,1,0.0,6.0,0,0,0 +17909,1100105,54,1,1,0.0,6.0,0,0,0 +17910,1100105,54,1,1,0.0,6.0,0,0,0 +17911,1100105,54,1,1,0.0,4.0,20261,0,0 +17912,1100105,54,1,1,0.0,4.0,20261,0,0 +17913,1100105,54,1,1,0.0,6.0,0,0,0 +17914,1100105,54,1,1,0.0,6.0,0,0,0 +17915,1100105,54,1,1,0.0,4.0,0,0,0 +17916,1100105,54,1,1,0.0,6.0,2653,0,0 +17917,1100105,54,1,1,0.0,6.0,5353,0,0 +17918,1100105,54,1,1,0.0,4.0,527,0,0 +17919,1100105,54,1,1,1.0,4.0,4603,0,0 +17920,1100105,54,1,1,0.0,6.0,0,0,0 +17921,1100105,54,1,1,0.0,4.0,23402,0,0 +17922,1100105,54,1,1,0.0,4.0,11673,0,0 +17923,1100105,54,1,1,0.0,6.0,0,0,0 +17924,1100105,54,1,1,0.0,6.0,0,0,0 +17925,1100105,54,1,1,0.0,6.0,267,0,0 +17926,1100105,54,1,1,0.0,6.0,4143,0,0 +17927,1100105,54,1,1,0.0,4.0,0,0,0 +17928,1100105,54,1,1,0.0,4.0,0,0,0 +17929,1100105,54,1,1,0.0,6.0,4143,0,0 +17930,1100105,54,1,1,0.0,6.0,5306,0,0 +17931,1100105,54,1,1,1.0,6.0,0,0,0 +17932,1100105,54,1,1,1.0,6.0,0,0,0 +17933,1100105,54,1,1,0.0,6.0,0,0,0 +17934,1100105,54,1,1,0.0,6.0,5369,0,0 +17935,1100105,54,1,1,0.0,6.0,182,0,0 +17936,1100105,54,1,1,0.0,4.0,10543,0,0 +17937,1100105,54,1,1,0.0,4.0,4143,0,0 +17938,1100105,55,1,4,1.0,5.0,251514,4,0 +17939,1100105,55,1,4,2.0,1.0,263586,2,1 +17940,1100105,55,1,5,1.0,1.0,227884,1,1 +17941,1100105,55,1,5,1.0,1.0,144706,2,1 +17942,1100105,55,1,4,0.0,3.0,51151,1,1 +17943,1100105,55,1,4,0.0,1.0,49250,2,0 +17944,1100105,55,1,5,0.0,3.0,44539,2,1 +17945,1100105,55,1,4,0.0,1.0,20261,1,1 +17946,1100105,55,1,5,0.0,3.0,0,0,0 +17947,1100105,55,1,5,0.0,3.0,0,0,0 +17948,1100105,55,1,3,0.0,5.0,233063,3,0 +17949,1100105,55,1,3,0.0,5.0,230301,3,0 +17950,1100105,55,1,3,0.0,7.0,261477,3,0 +17951,1100105,55,1,3,0.0,7.0,619850,3,0 +17952,1100105,55,1,3,2.0,3.0,233063,3,0 +17953,1100105,55,1,3,0.0,7.0,619850,3,0 +17954,1100105,55,1,3,1.0,1.0,254097,2,0 +17955,1100105,55,1,3,2.0,1.0,340790,2,1 +17956,1100105,55,1,3,1.0,1.0,324191,2,1 +17957,1100105,55,1,3,1.0,1.0,319125,2,1 +17958,1100105,55,1,3,1.0,1.0,231956,2,1 +17959,1100105,55,1,3,1.0,1.0,278601,2,1 +17960,1100105,55,1,3,0.0,1.0,261477,2,1 +17961,1100105,55,1,3,1.0,1.0,241350,2,1 +17962,1100105,55,1,3,0.0,1.0,256266,2,1 +17963,1100105,55,1,3,1.0,1.0,282290,2,1 +17964,1100105,55,1,3,2.0,1.0,271509,2,1 +17965,1100105,55,1,3,2.0,1.0,271509,2,1 +17966,1100105,55,1,3,1.0,1.0,218249,1,1 +17967,1100105,55,1,3,1.0,1.0,219753,1,1 +17968,1100105,55,1,3,1.0,1.0,769627,1,1 +17969,1100105,55,1,3,1.0,5.0,183370,3,0 +17970,1100105,55,1,3,1.0,5.0,183370,3,0 +17971,1100105,55,1,3,0.0,5.0,173449,3,0 +17972,1100105,55,1,3,2.0,5.0,168841,2,0 +17973,1100105,55,1,3,2.0,1.0,162095,2,1 +17974,1100105,55,1,3,1.0,1.0,152818,1,1 +17975,1100105,55,1,3,1.0,7.0,116757,3,0 +17976,1100105,55,1,3,0.0,5.0,123597,3,0 +17977,1100105,55,1,3,1.0,1.0,119131,2,1 +17978,1100105,55,1,3,2.0,7.0,124610,1,0 +17979,1100105,55,1,3,1.0,1.0,107067,1,1 +17980,1100105,55,1,3,1.0,1.0,107067,1,1 +17981,1100105,55,1,3,1.0,1.0,133830,0,0 +17982,1100105,55,1,3,0.0,7.0,64240,2,0 +17983,1100105,55,1,3,1.0,1.0,68532,2,1 +17984,1100105,55,1,3,0.0,5.0,30776,3,0 +17985,1100105,55,1,3,0.0,7.0,42469,2,0 +17986,1100105,55,1,3,0.0,7.0,43505,1,0 +17987,1100105,55,1,3,0.0,5.0,30776,1,0 +17988,1100105,55,1,3,0.0,5.0,30776,1,0 +17989,1100105,55,1,3,0.0,5.0,30776,1,0 +17990,1100105,55,1,2,2.0,1.0,353322,2,0 +17991,1100105,55,1,2,1.0,1.0,362543,2,0 +17992,1100105,55,1,2,1.0,5.0,272425,2,0 +17993,1100105,55,1,2,0.0,1.0,208438,2,0 +17994,1100105,55,1,2,2.0,1.0,374618,2,0 +17995,1100105,55,1,2,1.0,7.0,262400,2,0 +17996,1100105,55,1,2,1.0,1.0,359244,2,0 +17997,1100105,55,1,2,2.0,1.0,274129,2,0 +17998,1100105,55,1,2,1.0,1.0,208207,2,0 +17999,1100105,55,1,2,2.0,1.0,206671,2,0 +18000,1100105,55,1,2,1.0,1.0,276575,2,0 +18001,1100105,55,1,2,1.0,7.0,262400,2,0 +18002,1100105,55,1,2,1.0,1.0,230194,2,0 +18003,1100105,55,1,2,1.0,1.0,255334,2,0 +18004,1100105,55,1,2,1.0,1.0,295824,2,0 +18005,1100105,55,1,2,1.0,1.0,433622,2,0 +18006,1100105,55,1,2,1.0,7.0,242507,2,0 +18007,1100105,55,1,2,1.0,7.0,242507,2,0 +18008,1100105,55,1,2,1.0,1.0,342615,2,0 +18009,1100105,55,1,2,2.0,1.0,332015,2,0 +18010,1100105,55,1,2,3.0,5.0,643474,2,0 +18011,1100105,55,1,2,1.0,5.0,252575,2,0 +18012,1100105,55,1,2,2.0,5.0,260534,2,0 +18013,1100105,55,1,2,0.0,7.0,203427,2,0 +18014,1100105,55,1,2,1.0,1.0,287962,2,0 +18015,1100105,55,1,2,0.0,5.0,236171,2,0 +18016,1100105,55,1,2,0.0,7.0,228697,2,0 +18017,1100105,55,1,2,1.0,1.0,291771,2,0 +18018,1100105,55,1,2,1.0,7.0,215205,2,0 +18019,1100105,55,1,2,1.0,7.0,292075,2,0 +18020,1100105,55,1,2,1.0,1.0,331468,2,0 +18021,1100105,55,1,2,1.0,5.0,211310,2,0 +18022,1100105,55,1,2,1.0,1.0,657757,2,0 +18023,1100105,55,1,2,1.0,5.0,216493,2,0 +18024,1100105,55,1,2,1.0,1.0,331468,2,0 +18025,1100105,55,1,2,0.0,5.0,261596,2,0 +18026,1100105,55,1,2,0.0,5.0,258959,2,0 +18027,1100105,55,1,2,1.0,1.0,323678,2,0 +18028,1100105,55,1,2,0.0,5.0,212790,2,0 +18029,1100105,55,1,2,1.0,1.0,247301,2,0 +18030,1100105,55,1,2,1.0,1.0,210869,2,0 +18031,1100105,55,1,2,1.0,1.0,318112,1,0 +18032,1100105,55,1,2,2.0,1.0,230991,1,0 +18033,1100105,55,1,2,2.0,1.0,1039585,1,0 +18034,1100105,55,1,2,1.0,1.0,657911,1,0 +18035,1100105,55,1,2,1.0,1.0,490469,1,0 +18036,1100105,55,1,2,1.0,1.0,490469,1,0 +18037,1100105,55,1,2,2.0,5.0,333539,1,0 +18038,1100105,55,1,2,1.0,1.0,224892,1,0 +18039,1100105,55,1,2,1.0,1.0,767808,1,0 +18040,1100105,55,1,2,1.0,1.0,415992,1,0 +18041,1100105,55,1,2,1.0,1.0,217815,1,0 +18042,1100105,55,1,2,1.0,5.0,212248,1,0 +18043,1100105,55,1,2,0.0,1.0,206305,1,0 +18044,1100105,55,1,2,1.0,1.0,384710,0,0 +18045,1100105,55,1,2,1.0,1.0,203645,0,0 +18046,1100105,55,1,2,1.0,1.0,203645,0,0 +18047,1100105,55,1,2,0.0,1.0,359761,0,0 +18048,1100105,55,1,2,1.0,1.0,164883,2,0 +18049,1100105,55,1,2,0.0,1.0,165734,2,0 +18050,1100105,55,1,2,2.0,7.0,159851,2,0 +18051,1100105,55,1,2,0.0,1.0,197553,2,0 +18052,1100105,55,1,2,0.0,5.0,159186,2,0 +18053,1100105,55,1,2,1.0,7.0,163108,2,0 +18054,1100105,55,1,2,1.0,5.0,196809,2,0 +18055,1100105,55,1,2,2.0,1.0,198074,2,0 +18056,1100105,55,1,2,1.0,1.0,199088,2,0 +18057,1100105,55,1,2,0.0,5.0,159056,2,0 +18058,1100105,55,1,2,1.0,5.0,176166,2,0 +18059,1100105,55,1,2,1.0,7.0,168695,2,0 +18060,1100105,55,1,2,1.0,1.0,177227,2,0 +18061,1100105,55,1,2,1.0,5.0,155074,2,0 +18062,1100105,55,1,2,0.0,1.0,193701,2,0 +18063,1100105,55,1,2,2.0,5.0,178164,2,0 +18064,1100105,55,1,2,0.0,1.0,187625,2,0 +18065,1100105,55,1,2,1.0,5.0,174043,2,0 +18066,1100105,55,1,2,1.0,1.0,175376,2,0 +18067,1100105,55,1,2,1.0,5.0,189782,2,0 +18068,1100105,55,1,2,0.0,1.0,198074,2,0 +18069,1100105,55,1,2,1.0,5.0,154516,2,0 +18070,1100105,55,1,2,1.0,7.0,191630,2,0 +18071,1100105,55,1,2,1.0,7.0,178819,2,0 +18072,1100105,55,1,2,1.0,5.0,154516,2,0 +18073,1100105,55,1,2,2.0,5.0,150771,2,0 +18074,1100105,55,1,2,0.0,1.0,161590,2,0 +18075,1100105,55,1,2,1.0,5.0,178184,2,0 +18076,1100105,55,1,2,1.0,5.0,182014,2,0 +18077,1100105,55,1,2,1.0,1.0,170129,1,0 +18078,1100105,55,1,2,0.0,1.0,151964,1,0 +18079,1100105,55,1,2,0.0,1.0,164794,1,0 +18080,1100105,55,1,2,1.0,1.0,162095,1,0 +18081,1100105,55,1,2,2.0,7.0,190563,1,0 +18082,1100105,55,1,2,0.0,7.0,169877,1,0 +18083,1100105,55,1,2,0.0,1.0,159551,1,0 +18084,1100105,55,1,2,2.0,7.0,179873,1,0 +18085,1100105,55,1,2,1.0,1.0,153821,0,0 +18086,1100105,55,1,2,2.0,5.0,135754,2,0 +18087,1100105,55,1,2,0.0,7.0,120769,2,0 +18088,1100105,55,1,2,1.0,1.0,131793,2,0 +18089,1100105,55,1,2,1.0,1.0,126521,2,0 +18090,1100105,55,1,2,0.0,1.0,139838,2,0 +18091,1100105,55,1,2,0.0,5.0,149160,2,0 +18092,1100105,55,1,2,1.0,7.0,137776,2,0 +18093,1100105,55,1,2,0.0,7.0,126693,2,0 +18094,1100105,55,1,2,0.0,1.0,111947,2,0 +18095,1100105,55,1,2,0.0,7.0,137064,2,0 +18096,1100105,55,1,2,1.0,1.0,142916,2,0 +18097,1100105,55,1,2,0.0,5.0,137961,2,0 +18098,1100105,55,1,2,2.0,7.0,134583,2,0 +18099,1100105,55,1,2,2.0,7.0,134583,2,0 +18100,1100105,55,1,2,2.0,7.0,141833,2,0 +18101,1100105,55,1,2,1.0,1.0,117032,2,0 +18102,1100105,55,1,2,1.0,2.0,100803,2,0 +18103,1100105,55,1,2,0.0,5.0,124271,2,0 +18104,1100105,55,1,2,2.0,7.0,148662,2,0 +18105,1100105,55,1,2,0.0,5.0,121521,2,0 +18106,1100105,55,1,2,0.0,5.0,149160,2,0 +18107,1100105,55,1,2,2.0,7.0,143267,2,0 +18108,1100105,55,1,2,1.0,5.0,134904,2,0 +18109,1100105,55,1,2,2.0,7.0,131594,2,0 +18110,1100105,55,1,2,0.0,7.0,132587,2,0 +18111,1100105,55,1,2,0.0,7.0,128480,2,0 +18112,1100105,55,1,2,0.0,5.0,137781,2,0 +18113,1100105,55,1,2,0.0,5.0,137781,2,0 +18114,1100105,55,1,2,0.0,1.0,118859,1,0 +18115,1100105,55,1,2,0.0,1.0,133424,1,0 +18116,1100105,55,1,2,1.0,5.0,101083,1,0 +18117,1100105,55,1,2,1.0,1.0,119915,1,0 +18118,1100105,55,1,2,2.0,1.0,107067,1,0 +18119,1100105,55,1,2,1.0,1.0,105223,1,0 +18120,1100105,55,1,2,1.0,1.0,139187,1,0 +18121,1100105,55,1,2,2.0,7.0,108401,1,0 +18122,1100105,55,1,2,0.0,1.0,105062,1,0 +18123,1100105,55,1,2,1.0,7.0,106173,1,0 +18124,1100105,55,1,2,1.0,1.0,131266,0,0 +18125,1100105,55,1,2,1.0,7.0,100900,0,0 +18126,1100105,55,1,2,1.0,1.0,94891,2,0 +18127,1100105,55,1,2,0.0,5.0,69586,2,0 +18128,1100105,55,1,2,0.0,7.0,71110,2,0 +18129,1100105,55,1,2,1.0,3.0,85653,2,0 +18130,1100105,55,1,2,0.0,5.0,95511,2,0 +18131,1100105,55,1,2,1.0,7.0,92698,2,0 +18132,1100105,55,1,2,1.0,7.0,60814,2,0 +18133,1100105,55,1,2,1.0,1.0,75803,2,0 +18134,1100105,55,1,2,1.0,7.0,85402,2,0 +18135,1100105,55,1,2,0.0,5.0,87795,2,0 +18136,1100105,55,1,2,0.0,5.0,97031,2,0 +18137,1100105,55,1,2,1.0,1.0,94891,2,0 +18138,1100105,55,1,2,0.0,7.0,82162,2,0 +18139,1100105,55,1,2,1.0,5.0,85243,2,0 +18140,1100105,55,1,2,1.0,7.0,80130,2,0 +18141,1100105,55,1,2,1.0,5.0,64438,2,0 +18142,1100105,55,1,2,2.0,3.0,77470,2,0 +18143,1100105,55,1,2,0.0,5.0,74286,2,0 +18144,1100105,55,1,2,2.0,7.0,98404,2,0 +18145,1100105,55,1,2,1.0,7.0,90739,1,0 +18146,1100105,55,1,2,1.0,1.0,77623,1,0 +18147,1100105,55,1,2,1.0,1.0,55502,1,0 +18148,1100105,55,1,2,1.0,1.0,93225,1,0 +18149,1100105,55,1,2,1.0,5.0,68532,1,0 +18150,1100105,55,1,2,1.0,7.0,54193,1,0 +18151,1100105,55,1,2,1.0,7.0,54193,1,0 +18152,1100105,55,1,2,0.0,5.0,83488,1,0 +18153,1100105,55,1,2,0.0,5.0,83488,1,0 +18154,1100105,55,1,2,1.0,7.0,84899,1,0 +18155,1100105,55,1,2,0.0,1.0,66423,1,0 +18156,1100105,55,1,2,1.0,1.0,71952,1,0 +18157,1100105,55,1,2,1.0,5.0,55078,1,0 +18158,1100105,55,1,2,0.0,7.0,53104,1,0 +18159,1100105,55,1,2,0.0,7.0,82364,1,0 +18160,1100105,55,1,2,0.0,5.0,56882,1,0 +18161,1100105,55,1,2,1.0,1.0,88046,1,0 +18162,1100105,55,1,2,1.0,1.0,88046,1,0 +18163,1100105,55,1,2,2.0,3.0,66423,1,0 +18164,1100105,55,1,2,0.0,5.0,51796,1,0 +18165,1100105,55,1,2,1.0,1.0,88046,1,0 +18166,1100105,55,1,2,2.0,7.0,75348,1,0 +18167,1100105,55,1,2,0.0,1.0,65851,1,0 +18168,1100105,55,1,2,1.0,1.0,54720,0,0 +18169,1100105,55,1,2,1.0,1.0,54720,0,0 +18170,1100105,55,1,2,0.0,1.0,50939,0,0 +18171,1100105,55,1,2,0.0,1.0,47658,2,0 +18172,1100105,55,1,2,0.0,7.0,39614,2,0 +18173,1100105,55,1,2,2.0,5.0,38326,2,0 +18174,1100105,55,1,2,0.0,5.0,41649,2,0 +18175,1100105,55,1,2,0.0,5.0,37956,2,0 +18176,1100105,55,1,2,0.0,7.0,47855,1,0 +18177,1100105,55,1,2,1.0,1.0,37704,1,0 +18178,1100105,55,1,2,1.0,3.0,40465,1,0 +18179,1100105,55,1,2,1.0,5.0,48180,1,0 +18180,1100105,55,1,2,1.0,5.0,25895,1,0 +18181,1100105,55,1,2,0.0,5.0,38326,1,0 +18182,1100105,55,1,2,2.0,7.0,31975,1,0 +18183,1100105,55,1,2,2.0,7.0,31975,1,0 +18184,1100105,55,1,2,0.0,5.0,42980,1,0 +18185,1100105,55,1,2,0.0,5.0,33940,1,0 +18186,1100105,55,1,2,0.0,3.0,32898,1,1 +18187,1100105,55,1,2,1.0,1.0,26338,0,0 +18188,1100105,55,1,2,0.0,1.0,42469,0,0 +18189,1100105,55,1,2,0.0,1.0,28920,0,0 +18190,1100105,55,1,2,0.0,1.0,42469,0,0 +18191,1100105,55,1,2,1.0,7.0,31000,0,0 +18192,1100105,55,1,2,1.0,1.0,26948,0,0 +18193,1100105,55,1,2,1.0,3.0,12741,1,0 +18194,1100105,55,1,2,0.0,2.0,10706,1,0 +18195,1100105,55,1,2,0.0,7.0,5306,1,0 +18196,1100105,55,1,2,0.0,7.0,5306,1,0 +18197,1100105,55,1,2,0.0,5.0,105,1,0 +18198,1100105,55,1,2,0.0,7.0,8187,1,0 +18199,1100105,55,1,2,0.0,7.0,5074,1,0 +18200,1100105,55,1,2,0.0,7.0,5074,1,0 +18201,1100105,55,1,2,0.0,3.0,13875,0,0 +18202,1100105,55,1,2,0.0,1.0,16661,0,0 +18203,1100105,55,1,2,1.0,3.0,9850,0,0 +18204,1100105,55,1,2,0.0,1.0,8565,0,0 +18205,1100105,55,1,2,0.0,7.0,4246,0,0 +18206,1100105,55,1,2,0.0,5.0,4280,0,0 +18207,1100105,55,1,2,1.0,7.0,1519,0,0 +18208,1100105,55,1,2,0.0,7.0,0,0,0 +18209,1100105,55,1,2,2.0,7.0,13465,0,0 +18210,1100105,55,1,2,1.0,1.0,21224,0,0 +18211,1100105,55,1,1,1.0,4.0,1080379,1,0 +18212,1100105,55,1,1,1.0,4.0,288732,1,0 +18213,1100105,55,1,1,0.0,6.0,291070,1,0 +18214,1100105,55,1,1,1.0,4.0,303929,1,0 +18215,1100105,55,1,1,1.0,4.0,230194,1,0 +18216,1100105,55,1,1,0.0,6.0,204139,1,0 +18217,1100105,55,1,1,1.0,4.0,219677,1,0 +18218,1100105,55,1,1,2.0,4.0,269274,1,0 +18219,1100105,55,1,1,1.0,4.0,219677,1,0 +18220,1100105,55,1,1,1.0,4.0,414335,1,0 +18221,1100105,55,1,1,1.0,4.0,256961,1,0 +18222,1100105,55,1,1,1.0,4.0,211993,1,0 +18223,1100105,55,1,1,1.0,4.0,219514,1,0 +18224,1100105,55,1,1,0.0,4.0,207710,1,0 +18225,1100105,55,1,1,1.0,4.0,219514,1,0 +18226,1100105,55,1,1,0.0,4.0,257260,1,0 +18227,1100105,55,1,1,0.0,4.0,237227,1,0 +18228,1100105,55,1,1,1.0,4.0,299788,1,0 +18229,1100105,55,1,1,0.0,6.0,325265,1,0 +18230,1100105,55,1,1,2.0,4.0,765455,1,0 +18231,1100105,55,1,1,1.0,4.0,692991,1,0 +18232,1100105,55,1,1,1.0,4.0,212301,1,0 +18233,1100105,55,1,1,1.0,4.0,414335,1,0 +18234,1100105,55,1,1,0.0,6.0,222699,1,0 +18235,1100105,55,1,1,0.0,6.0,222699,1,0 +18236,1100105,55,1,1,1.0,6.0,253274,1,0 +18237,1100105,55,1,1,0.0,6.0,214134,1,0 +18238,1100105,55,1,1,0.0,4.0,257923,1,0 +18239,1100105,55,1,1,1.0,4.0,346479,1,0 +18240,1100105,55,1,1,0.0,6.0,227136,0,0 +18241,1100105,55,1,1,1.0,4.0,243143,0,0 +18242,1100105,55,1,1,0.0,6.0,227136,0,0 +18243,1100105,55,1,1,0.0,4.0,168484,1,0 +18244,1100105,55,1,1,0.0,4.0,162896,1,0 +18245,1100105,55,1,1,1.0,4.0,196809,1,0 +18246,1100105,55,1,1,1.0,4.0,192488,1,0 +18247,1100105,55,1,1,1.0,4.0,152035,1,0 +18248,1100105,55,1,1,1.0,4.0,165610,1,0 +18249,1100105,55,1,1,1.0,4.0,186450,1,0 +18250,1100105,55,1,1,1.0,6.0,176299,1,0 +18251,1100105,55,1,1,0.0,4.0,187367,1,0 +18252,1100105,55,1,1,1.0,6.0,176299,1,0 +18253,1100105,55,1,1,1.0,4.0,164492,1,0 +18254,1100105,55,1,1,1.0,4.0,181271,1,0 +18255,1100105,55,1,1,1.0,4.0,163529,1,0 +18256,1100105,55,1,1,0.0,4.0,159056,1,0 +18257,1100105,55,1,1,1.0,4.0,151964,1,0 +18258,1100105,55,1,1,1.0,4.0,159187,1,0 +18259,1100105,55,1,1,0.0,6.0,166703,1,0 +18260,1100105,55,1,1,0.0,6.0,179238,1,0 +18261,1100105,55,1,1,0.0,4.0,175104,1,0 +18262,1100105,55,1,1,1.0,6.0,180411,1,0 +18263,1100105,55,1,1,1.0,4.0,182357,1,0 +18264,1100105,55,1,1,1.0,6.0,188438,1,0 +18265,1100105,55,1,1,0.0,4.0,192190,0,0 +18266,1100105,55,1,1,1.0,4.0,145611,1,0 +18267,1100105,55,1,1,0.0,6.0,124383,1,0 +18268,1100105,55,1,1,0.0,6.0,111671,1,0 +18269,1100105,55,1,1,1.0,4.0,127349,1,0 +18270,1100105,55,1,1,1.0,6.0,132587,1,0 +18271,1100105,55,1,1,0.0,4.0,105434,1,0 +18272,1100105,55,1,1,0.0,6.0,109902,1,0 +18273,1100105,55,1,1,0.0,6.0,137961,1,0 +18274,1100105,55,1,1,0.0,6.0,137961,1,0 +18275,1100105,55,1,1,0.0,4.0,124408,1,0 +18276,1100105,55,1,1,1.0,6.0,118532,1,0 +18277,1100105,55,1,1,1.0,4.0,137064,1,0 +18278,1100105,55,1,1,1.0,4.0,116703,1,0 +18279,1100105,55,1,1,1.0,6.0,124300,1,0 +18280,1100105,55,1,1,1.0,6.0,100373,1,0 +18281,1100105,55,1,1,1.0,4.0,134658,1,0 +18282,1100105,55,1,1,0.0,6.0,101816,1,0 +18283,1100105,55,1,1,0.0,6.0,115493,1,0 +18284,1100105,55,1,1,0.0,6.0,139838,1,0 +18285,1100105,55,1,1,0.0,4.0,127349,1,0 +18286,1100105,55,1,1,0.0,6.0,139187,1,0 +18287,1100105,55,1,1,1.0,4.0,138802,1,0 +18288,1100105,55,1,1,1.0,6.0,124610,1,0 +18289,1100105,55,1,1,1.0,6.0,140083,1,0 +18290,1100105,55,1,1,1.0,4.0,109307,1,0 +18291,1100105,55,1,1,0.0,6.0,105434,1,0 +18292,1100105,55,1,1,0.0,4.0,106375,1,0 +18293,1100105,55,1,1,0.0,6.0,107727,1,0 +18294,1100105,55,1,1,1.0,6.0,139187,1,0 +18295,1100105,55,1,1,0.0,4.0,139838,1,0 +18296,1100105,55,1,1,2.0,4.0,113466,1,0 +18297,1100105,55,1,1,1.0,6.0,103583,1,0 +18298,1100105,55,1,1,1.0,6.0,124610,1,0 +18299,1100105,55,1,1,1.0,4.0,137961,1,0 +18300,1100105,55,1,1,1.0,4.0,134658,1,0 +18301,1100105,55,1,1,0.0,4.0,117774,1,0 +18302,1100105,55,1,1,0.0,4.0,121571,1,0 +18303,1100105,55,1,1,1.0,6.0,136768,1,0 +18304,1100105,55,1,1,2.0,4.0,103583,1,0 +18305,1100105,55,1,1,1.0,4.0,143728,1,0 +18306,1100105,55,1,1,1.0,4.0,118613,1,0 +18307,1100105,55,1,1,1.0,4.0,108762,1,0 +18308,1100105,55,1,1,0.0,4.0,108342,1,0 +18309,1100105,55,1,1,1.0,6.0,103583,1,0 +18310,1100105,55,1,1,0.0,4.0,101217,1,0 +18311,1100105,55,1,1,1.0,4.0,148124,1,0 +18312,1100105,55,1,1,1.0,4.0,124818,1,0 +18313,1100105,55,1,1,0.0,6.0,147608,1,0 +18314,1100105,55,1,1,0.0,4.0,117774,1,0 +18315,1100105,55,1,1,0.0,6.0,105434,1,0 +18316,1100105,55,1,1,0.0,6.0,105434,1,0 +18317,1100105,55,1,1,1.0,6.0,137275,1,0 +18318,1100105,55,1,1,1.0,4.0,116703,1,0 +18319,1100105,55,1,1,0.0,6.0,111339,1,0 +18320,1100105,55,1,1,0.0,4.0,106124,1,0 +18321,1100105,55,1,1,1.0,4.0,128480,1,0 +18322,1100105,55,1,1,0.0,6.0,142336,1,0 +18323,1100105,55,1,1,1.0,6.0,113869,1,0 +18324,1100105,55,1,1,0.0,6.0,102784,1,0 +18325,1100105,55,1,1,0.0,4.0,118085,1,0 +18326,1100105,55,1,1,0.0,4.0,108762,1,0 +18327,1100105,55,1,1,0.0,6.0,104516,1,0 +18328,1100105,55,1,1,0.0,6.0,107388,1,0 +18329,1100105,55,1,1,1.0,4.0,120157,1,0 +18330,1100105,55,1,1,0.0,6.0,108597,1,0 +18331,1100105,55,1,1,0.0,4.0,138492,1,0 +18332,1100105,55,1,1,1.0,4.0,124695,1,0 +18333,1100105,55,1,1,1.0,4.0,116703,1,0 +18334,1100105,55,1,1,0.0,6.0,116736,1,0 +18335,1100105,55,1,1,0.0,4.0,103325,1,0 +18336,1100105,55,1,1,1.0,4.0,109346,1,0 +18337,1100105,55,1,1,1.0,6.0,149894,1,0 +18338,1100105,55,1,1,1.0,4.0,120157,1,0 +18339,1100105,55,1,1,0.0,6.0,119915,1,0 +18340,1100105,55,1,1,1.0,4.0,126637,1,0 +18341,1100105,55,1,1,0.0,6.0,122228,1,0 +18342,1100105,55,1,1,1.0,4.0,116703,1,0 +18343,1100105,55,1,1,0.0,6.0,120157,1,0 +18344,1100105,55,1,1,0.0,4.0,101309,1,0 +18345,1100105,55,1,1,1.0,4.0,117519,0,0 +18346,1100105,55,1,1,1.0,6.0,131551,0,0 +18347,1100105,55,1,1,0.0,6.0,61528,1,0 +18348,1100105,55,1,1,0.0,6.0,81831,1,0 +18349,1100105,55,1,1,1.0,6.0,82441,1,0 +18350,1100105,55,1,1,0.0,4.0,65775,1,0 +18351,1100105,55,1,1,1.0,6.0,82441,1,0 +18352,1100105,55,1,1,0.0,4.0,99272,1,0 +18353,1100105,55,1,1,1.0,6.0,87010,1,0 +18354,1100105,55,1,1,0.0,6.0,79241,1,0 +18355,1100105,55,1,1,1.0,6.0,99440,1,0 +18356,1100105,55,1,1,1.0,6.0,56745,1,0 +18357,1100105,55,1,1,0.0,4.0,89861,1,0 +18358,1100105,55,1,1,0.0,4.0,73804,1,0 +18359,1100105,55,1,1,1.0,6.0,79229,1,0 +18360,1100105,55,1,1,1.0,4.0,70436,1,0 +18361,1100105,55,1,1,0.0,4.0,95289,1,0 +18362,1100105,55,1,1,1.0,4.0,65797,1,0 +18363,1100105,55,1,1,1.0,6.0,95504,1,0 +18364,1100105,55,1,1,0.0,4.0,93225,1,0 +18365,1100105,55,1,1,1.0,4.0,68237,1,0 +18366,1100105,55,1,1,1.0,6.0,87126,1,0 +18367,1100105,55,1,1,0.0,6.0,90117,1,0 +18368,1100105,55,1,1,0.0,4.0,76338,1,0 +18369,1100105,55,1,1,0.0,6.0,75982,1,0 +18370,1100105,55,1,1,0.0,6.0,95511,1,0 +18371,1100105,55,1,1,1.0,4.0,82867,1,0 +18372,1100105,55,1,1,0.0,4.0,59772,1,0 +18373,1100105,55,1,1,0.0,4.0,69593,1,0 +18374,1100105,55,1,1,0.0,6.0,55237,1,0 +18375,1100105,55,1,1,0.0,4.0,69593,1,0 +18376,1100105,55,1,1,0.0,6.0,74286,1,0 +18377,1100105,55,1,1,0.0,4.0,81371,1,0 +18378,1100105,55,1,1,1.0,6.0,92782,1,0 +18379,1100105,55,1,1,1.0,6.0,60785,1,0 +18380,1100105,55,1,1,1.0,6.0,90523,1,0 +18381,1100105,55,1,1,1.0,4.0,55720,1,0 +18382,1100105,55,1,1,1.0,6.0,84347,1,0 +18383,1100105,55,1,1,0.0,4.0,90205,1,0 +18384,1100105,55,1,1,1.0,6.0,88046,1,0 +18385,1100105,55,1,1,0.0,6.0,79593,1,0 +18386,1100105,55,1,1,0.0,6.0,79593,1,0 +18387,1100105,55,1,1,0.0,4.0,63260,1,0 +18388,1100105,55,1,1,0.0,6.0,68532,1,0 +18389,1100105,55,1,1,0.0,4.0,81047,1,0 +18390,1100105,55,1,1,0.0,6.0,88046,1,0 +18391,1100105,55,1,1,1.0,6.0,58368,1,0 +18392,1100105,55,1,1,0.0,4.0,75912,1,0 +18393,1100105,55,1,1,0.0,6.0,73804,1,0 +18394,1100105,55,1,1,0.0,6.0,97644,1,0 +18395,1100105,55,1,1,0.0,6.0,81047,1,0 +18396,1100105,55,1,1,0.0,4.0,81184,1,0 +18397,1100105,55,1,1,0.0,6.0,99756,1,0 +18398,1100105,55,1,1,0.0,6.0,75992,1,0 +18399,1100105,55,1,1,0.0,4.0,91178,1,0 +18400,1100105,55,1,1,0.0,4.0,90117,1,0 +18401,1100105,55,1,1,0.0,6.0,81098,1,0 +18402,1100105,55,1,1,0.0,4.0,74499,1,0 +18403,1100105,55,1,1,0.0,4.0,88652,1,0 +18404,1100105,55,1,1,1.0,6.0,54653,1,0 +18405,1100105,55,1,1,0.0,6.0,73804,1,0 +18406,1100105,55,1,1,0.0,6.0,63674,1,0 +18407,1100105,55,1,1,1.0,6.0,98404,1,0 +18408,1100105,55,1,1,1.0,6.0,53863,1,0 +18409,1100105,55,1,1,0.0,4.0,90117,1,0 +18410,1100105,55,1,1,0.0,6.0,63674,1,0 +18411,1100105,55,1,1,1.0,4.0,88046,1,0 +18412,1100105,55,1,1,0.0,4.0,56733,1,0 +18413,1100105,55,1,1,0.0,6.0,64525,1,0 +18414,1100105,55,1,1,0.0,4.0,64315,1,0 +18415,1100105,55,1,1,1.0,4.0,87126,1,0 +18416,1100105,55,1,1,1.0,6.0,67329,1,0 +18417,1100105,55,1,1,0.0,6.0,52801,1,0 +18418,1100105,55,1,1,0.0,6.0,80300,1,0 +18419,1100105,55,1,1,1.0,6.0,60816,1,0 +18420,1100105,55,1,1,0.0,4.0,63674,1,0 +18421,1100105,55,1,1,1.0,6.0,96332,1,0 +18422,1100105,55,1,1,0.0,6.0,63674,1,0 +18423,1100105,55,1,1,0.0,6.0,93235,1,0 +18424,1100105,55,1,1,1.0,4.0,92189,1,0 +18425,1100105,55,1,1,1.0,4.0,87126,1,0 +18426,1100105,55,1,1,1.0,4.0,71929,1,0 +18427,1100105,55,1,1,0.0,6.0,67919,1,0 +18428,1100105,55,1,1,0.0,6.0,72222,1,0 +18429,1100105,55,1,1,1.0,6.0,97431,1,0 +18430,1100105,55,1,1,0.0,6.0,72222,1,0 +18431,1100105,55,1,1,1.0,6.0,60816,1,0 +18432,1100105,55,1,1,0.0,4.0,91178,1,0 +18433,1100105,55,1,1,0.0,4.0,86456,1,0 +18434,1100105,55,1,1,0.0,6.0,66864,1,0 +18435,1100105,55,1,1,1.0,6.0,91178,1,0 +18436,1100105,55,1,1,0.0,4.0,63674,1,0 +18437,1100105,55,1,1,1.0,6.0,84347,1,0 +18438,1100105,55,1,1,0.0,4.0,75385,1,0 +18439,1100105,55,1,1,0.0,4.0,70916,1,0 +18440,1100105,55,1,1,0.0,6.0,83512,1,0 +18441,1100105,55,1,1,1.0,6.0,71472,1,0 +18442,1100105,55,1,1,0.0,4.0,75385,1,0 +18443,1100105,55,1,1,0.0,6.0,72508,1,0 +18444,1100105,55,1,1,1.0,6.0,91178,1,0 +18445,1100105,55,1,1,1.0,4.0,89619,1,0 +18446,1100105,55,1,1,0.0,4.0,77687,1,0 +18447,1100105,55,1,1,0.0,6.0,72508,1,0 +18448,1100105,55,1,1,0.0,6.0,63674,1,0 +18449,1100105,55,1,1,0.0,4.0,56733,1,0 +18450,1100105,55,1,1,0.0,6.0,84347,1,0 +18451,1100105,55,1,1,0.0,4.0,66858,1,0 +18452,1100105,55,1,1,0.0,6.0,92189,1,0 +18453,1100105,55,1,1,0.0,6.0,53345,1,0 +18454,1100105,55,1,1,0.0,6.0,72942,1,0 +18455,1100105,55,1,1,0.0,6.0,56245,1,0 +18456,1100105,55,1,1,1.0,6.0,66423,1,0 +18457,1100105,55,1,1,0.0,4.0,72164,1,0 +18458,1100105,55,1,1,0.0,4.0,72164,1,0 +18459,1100105,55,1,1,0.0,4.0,80816,1,0 +18460,1100105,55,1,1,0.0,4.0,50654,1,0 +18461,1100105,55,1,1,0.0,6.0,56245,1,0 +18462,1100105,55,1,1,0.0,4.0,84899,1,0 +18463,1100105,55,1,1,0.0,4.0,80816,1,0 +18464,1100105,55,1,1,1.0,6.0,59429,0,0 +18465,1100105,55,1,1,0.0,6.0,77895,0,0 +18466,1100105,55,1,1,0.0,6.0,88865,0,0 +18467,1100105,55,1,1,1.0,6.0,59886,0,0 +18468,1100105,55,1,1,1.0,6.0,51364,0,0 +18469,1100105,55,1,1,0.0,4.0,55184,0,0 +18470,1100105,55,1,1,1.0,4.0,52174,0,0 +18471,1100105,55,1,1,1.0,6.0,59886,0,0 +18472,1100105,55,1,1,0.0,4.0,59975,0,0 +18473,1100105,55,1,1,1.0,4.0,55821,0,0 +18474,1100105,55,1,1,0.0,6.0,86724,0,0 +18475,1100105,55,1,1,1.0,6.0,79593,0,0 +18476,1100105,55,1,1,1.0,6.0,35193,1,0 +18477,1100105,55,1,1,1.0,4.0,42077,1,0 +18478,1100105,55,1,1,0.0,6.0,48477,1,0 +18479,1100105,55,1,1,0.0,4.0,42184,1,0 +18480,1100105,55,1,1,2.0,4.0,30595,1,0 +18481,1100105,55,1,1,0.0,6.0,40523,1,0 +18482,1100105,55,1,1,1.0,4.0,30392,1,0 +18483,1100105,55,1,1,0.0,4.0,25895,1,0 +18484,1100105,55,1,1,0.0,4.0,25895,1,0 +18485,1100105,55,1,1,0.0,4.0,45589,1,0 +18486,1100105,55,1,1,1.0,4.0,40523,1,0 +18487,1100105,55,1,1,1.0,4.0,35332,1,0 +18488,1100105,55,1,1,0.0,4.0,42701,1,0 +18489,1100105,55,1,1,0.0,6.0,42131,1,0 +18490,1100105,55,1,1,0.0,4.0,39159,1,0 +18491,1100105,55,1,1,0.0,4.0,39159,1,0 +18492,1100105,55,1,1,0.0,6.0,27837,1,0 +18493,1100105,55,1,1,0.0,6.0,43897,1,0 +18494,1100105,55,1,1,0.0,4.0,29003,1,0 +18495,1100105,55,1,1,0.0,6.0,27967,1,0 +18496,1100105,55,1,1,0.0,4.0,42449,1,0 +18497,1100105,55,1,1,1.0,4.0,42173,1,0 +18498,1100105,55,1,1,0.0,6.0,45589,1,0 +18499,1100105,55,1,1,2.0,4.0,42449,1,0 +18500,1100105,55,1,1,1.0,6.0,48180,1,0 +18501,1100105,55,1,1,1.0,6.0,45589,1,0 +18502,1100105,55,1,1,0.0,4.0,42826,1,0 +18503,1100105,55,1,1,0.0,6.0,48180,1,0 +18504,1100105,55,1,1,0.0,6.0,32120,1,0 +18505,1100105,55,1,1,0.0,6.0,47755,1,0 +18506,1100105,55,1,1,0.0,6.0,42826,1,0 +18507,1100105,55,1,1,0.0,4.0,41536,1,0 +18508,1100105,55,1,1,0.0,4.0,40397,1,0 +18509,1100105,55,1,1,0.0,6.0,27910,1,0 +18510,1100105,55,1,1,0.0,4.0,45633,1,0 +18511,1100105,55,1,1,0.0,6.0,49720,1,0 +18512,1100105,55,1,1,0.0,6.0,49554,1,0 +18513,1100105,55,1,1,0.0,6.0,46612,1,0 +18514,1100105,55,1,1,1.0,6.0,36254,1,0 +18515,1100105,55,1,1,0.0,4.0,45633,1,0 +18516,1100105,55,1,1,0.0,6.0,43723,1,0 +18517,1100105,55,1,1,0.0,6.0,39265,1,0 +18518,1100105,55,1,1,0.0,4.0,36254,1,0 +18519,1100105,55,1,1,0.0,6.0,48180,1,0 +18520,1100105,55,1,1,0.0,6.0,49554,1,0 +18521,1100105,55,1,1,1.0,4.0,41537,1,0 +18522,1100105,55,1,1,0.0,4.0,42826,1,0 +18523,1100105,55,1,1,1.0,6.0,45680,1,0 +18524,1100105,55,1,1,0.0,4.0,44282,1,0 +18525,1100105,55,1,1,0.0,6.0,31075,1,0 +18526,1100105,55,1,1,0.0,6.0,49720,1,0 +18527,1100105,55,1,1,0.0,6.0,47755,1,0 +18528,1100105,55,1,1,0.0,6.0,28994,1,0 +18529,1100105,55,1,1,1.0,6.0,29521,0,0 +18530,1100105,55,1,1,1.0,6.0,29521,0,0 +18531,1100105,55,1,1,0.0,6.0,47449,0,0 +18532,1100105,55,1,1,0.0,6.0,27346,0,0 +18533,1100105,55,1,1,0.0,6.0,31709,0,0 +18534,1100105,55,1,1,0.0,4.0,31103,0,0 +18535,1100105,55,1,1,0.0,4.0,27967,0,0 +18536,1100105,55,1,1,1.0,6.0,40327,0,0 +18537,1100105,55,1,1,1.0,6.0,32580,0,0 +18538,1100105,55,1,1,2.0,6.0,48628,0,0 +18539,1100105,55,1,1,2.0,6.0,48628,0,0 +18540,1100105,55,1,1,1.0,6.0,37788,0,0 +18541,1100105,55,1,1,1.0,6.0,37788,0,0 +18542,1100105,55,1,1,1.0,4.0,37045,0,0 +18543,1100105,55,1,1,1.0,6.0,37788,0,0 +18544,1100105,55,1,1,1.0,6.0,37788,0,0 +18545,1100105,55,1,1,0.0,4.0,37383,0,0 +18546,1100105,55,1,1,0.0,4.0,25327,0,0 +18547,1100105,55,1,1,0.0,6.0,44572,0,0 +18548,1100105,55,1,1,0.0,4.0,27412,0,0 +18549,1100105,55,1,1,1.0,6.0,44541,0,0 +18550,1100105,55,1,1,0.0,4.0,27412,0,0 +18551,1100105,55,1,1,0.0,6.0,36357,0,0 +18552,1100105,55,1,1,0.0,6.0,42826,0,0 +18553,1100105,55,1,1,0.0,4.0,41739,0,0 +18554,1100105,55,1,1,1.0,4.0,20906,1,0 +18555,1100105,55,1,1,1.0,4.0,20906,1,0 +18556,1100105,55,1,1,0.0,4.0,13880,1,0 +18557,1100105,55,1,1,0.0,6.0,2569,1,0 +18558,1100105,55,1,1,0.0,4.0,16060,1,0 +18559,1100105,55,1,1,0.0,4.0,16573,1,0 +18560,1100105,55,1,1,1.0,4.0,10358,1,0 +18561,1100105,55,1,1,0.0,4.0,955,1,0 +18562,1100105,55,1,1,0.0,4.0,15815,1,0 +18563,1100105,55,1,1,0.0,6.0,9563,1,0 +18564,1100105,55,1,1,0.0,6.0,14347,1,0 +18565,1100105,55,1,1,1.0,6.0,8244,1,0 +18566,1100105,55,1,1,0.0,4.0,12238,1,0 +18567,1100105,55,1,1,0.0,6.0,10706,1,0 +18568,1100105,55,1,1,0.0,4.0,11394,1,0 +18569,1100105,55,1,1,2.0,4.0,4558,1,0 +18570,1100105,55,1,1,0.0,6.0,12157,1,0 +18571,1100105,55,1,1,0.0,6.0,12157,1,0 +18572,1100105,55,1,1,0.0,6.0,12430,1,0 +18573,1100105,55,1,1,0.0,6.0,10358,1,0 +18574,1100105,55,1,1,0.0,6.0,12652,1,0 +18575,1100105,55,1,1,0.0,4.0,9624,1,0 +18576,1100105,55,1,1,1.0,6.0,6326,1,0 +18577,1100105,55,1,1,0.0,4.0,4217,1,0 +18578,1100105,55,1,1,0.0,6.0,15936,1,0 +18579,1100105,55,1,1,0.0,4.0,18451,1,0 +18580,1100105,55,1,1,0.0,6.0,15936,1,0 +18581,1100105,55,1,1,0.0,6.0,6424,1,0 +18582,1100105,55,1,1,0.0,4.0,14082,1,0 +18583,1100105,55,1,1,0.0,6.0,19314,0,0 +18584,1100105,55,1,1,0.0,6.0,23126,0,0 +18585,1100105,55,1,1,0.0,6.0,8779,0,0 +18586,1100105,55,1,1,1.0,4.0,15281,0,0 +18587,1100105,55,1,1,0.0,4.0,12441,0,0 +18588,1100105,55,1,1,0.0,6.0,24445,0,0 +18589,1100105,55,1,1,0.0,6.0,8993,0,0 +18590,1100105,55,1,1,1.0,6.0,10016,0,0 +18591,1100105,55,1,1,0.0,6.0,0,0,0 +18592,1100105,55,1,1,1.0,6.0,0,0,0 +18593,1100105,55,1,1,1.0,4.0,18023,0,0 +18594,1100105,55,1,1,0.0,6.0,8993,0,0 +18595,1100105,55,1,1,0.0,6.0,15709,0,0 +18596,1100105,55,1,1,1.0,4.0,19189,0,0 +18597,1100105,55,1,1,0.0,4.0,14760,0,0 +18598,1100105,55,1,1,0.0,6.0,11349,0,0 +18599,1100105,55,1,1,0.0,4.0,6006,0,0 +18600,1100105,55,1,1,1.0,6.0,21224,0,0 +18601,1100105,55,1,1,0.0,4.0,0,0,0 +18602,1100105,55,1,1,0.0,6.0,24249,0,0 +18603,1100105,55,1,1,0.0,4.0,23876,0,0 +18604,1100105,55,1,1,0.0,6.0,13362,0,0 +18605,1100105,55,1,1,0.0,6.0,24249,0,0 +18606,1100105,55,1,1,1.0,6.0,21224,0,0 +18607,1100105,55,1,1,0.0,4.0,0,0,0 +18608,1100105,55,1,1,0.0,4.0,12947,0,0 +18609,1100105,55,1,1,0.0,6.0,20198,0,0 +18610,1100105,55,1,1,0.0,6.0,13068,0,0 +18611,1100105,55,1,1,0.0,6.0,9944,0,0 +18612,1100105,55,1,1,0.0,6.0,13068,0,0 +18613,1100105,55,1,1,1.0,6.0,11991,0,0 +18614,1100105,55,1,1,0.0,4.0,4650,0,0 +18615,1100105,55,1,1,0.0,4.0,32,0,0 +18616,1100105,55,1,1,1.0,4.0,6115,0,0 +18617,1100105,55,1,1,0.0,6.0,13673,0,0 +18618,1100105,55,1,1,1.0,6.0,24860,0,0 +18619,1100105,55,1,1,1.0,4.0,6115,0,0 +18620,1100105,55,1,1,0.0,6.0,984,0,0 +18621,1100105,55,1,1,0.0,6.0,24249,0,0 +18622,1100105,55,1,1,0.0,6.0,0,0,0 +18623,1100105,55,1,1,0.0,4.0,0,0,0 +18624,1100105,55,1,1,1.0,4.0,1243,0,0 +18625,1100105,55,1,1,1.0,6.0,1284,0,0 +18626,1100105,55,1,1,1.0,4.0,24726,0,0 +18627,1100105,55,1,1,1.0,4.0,10053,0,0 +18628,1100105,55,1,1,1.0,6.0,2569,0,0 +18629,1100105,55,1,1,0.0,4.0,5888,0,0 +18630,1100105,55,1,1,1.0,4.0,24726,0,0 +18631,1100105,55,1,1,0.0,6.0,0,0,0 +18632,1100105,55,1,1,1.0,4.0,10053,0,0 +18633,1100105,55,1,1,0.0,6.0,3502,0,0 +18634,1100105,55,1,1,0.0,6.0,15918,0,0 +18635,1100105,55,1,1,0.0,6.0,0,0,0 +18636,1100105,55,1,1,1.0,6.0,0,0,0 +18637,1100105,55,1,1,1.0,4.0,0,0,0 +18638,1100105,55,1,1,0.0,4.0,527,0,0 +18639,1100105,55,1,1,0.0,6.0,24314,0,0 +18640,1100105,55,1,1,1.0,6.0,0,0,0 +18641,1100105,55,1,1,1.0,6.0,0,0,0 +18642,1100105,55,1,1,0.0,6.0,0,0,0 +18643,1100105,55,1,1,0.0,6.0,848,0,0 +18644,1100105,55,1,1,1.0,6.0,535,0,0 +18645,1100105,55,1,1,1.0,6.0,0,0,0 +18646,1100105,55,1,1,0.0,6.0,5369,0,0 +18647,1100105,55,1,1,0.0,6.0,4143,0,0 +18648,1100105,56,1,11,3.0,1.0,60493,4,1 +18649,1100105,56,1,11,3.0,1.0,60493,4,1 +18650,1100105,56,1,6,1.0,1.0,42449,2,1 +18651,1100105,56,1,6,1.0,1.0,42449,2,1 +18652,1100105,56,1,6,1.0,1.0,42449,2,1 +18653,1100105,56,1,6,1.0,1.0,42449,2,1 +18654,1100105,56,1,6,1.0,1.0,42449,2,1 +18655,1100105,56,1,6,1.0,1.0,42449,2,1 +18656,1100105,56,1,6,1.0,1.0,42449,2,1 +18657,1100105,56,1,6,1.0,1.0,42449,2,1 +18658,1100105,56,1,6,1.0,1.0,42449,2,1 +18659,1100105,56,1,6,1.0,1.0,42449,2,1 +18660,1100105,56,1,6,1.0,1.0,42449,2,1 +18661,1100105,56,1,6,1.0,1.0,42449,2,1 +18662,1100105,56,1,3,0.0,5.0,211737,3,0 +18663,1100105,56,1,3,0.0,7.0,619850,3,0 +18664,1100105,56,1,3,2.0,7.0,180331,3,0 +18665,1100105,56,1,3,2.0,7.0,180504,3,0 +18666,1100105,56,1,3,1.0,5.0,191650,3,0 +18667,1100105,56,1,3,1.0,7.0,141833,3,0 +18668,1100105,56,1,3,1.0,3.0,123597,0,1 +18669,1100105,56,1,3,1.0,3.0,123597,0,1 +18670,1100105,56,1,3,1.0,3.0,123597,0,1 +18671,1100105,56,1,3,1.0,3.0,123597,0,1 +18672,1100105,56,1,3,1.0,3.0,123597,0,1 +18673,1100105,56,1,3,1.0,3.0,123597,0,1 +18674,1100105,56,1,3,1.0,3.0,123597,0,1 +18675,1100105,56,1,3,1.0,3.0,123597,0,1 +18676,1100105,56,1,3,1.0,3.0,123597,0,1 +18677,1100105,56,1,3,1.0,3.0,123597,0,1 +18678,1100105,56,1,2,1.0,5.0,323678,2,0 +18679,1100105,56,1,2,1.0,5.0,271093,2,0 +18680,1100105,56,1,2,1.0,5.0,211310,2,0 +18681,1100105,56,1,2,2.0,1.0,800346,2,0 +18682,1100105,56,1,2,1.0,1.0,291771,2,0 +18683,1100105,56,1,2,0.0,5.0,270616,2,0 +18684,1100105,56,1,2,1.0,1.0,369337,2,0 +18685,1100105,56,1,2,1.0,1.0,233477,2,0 +18686,1100105,56,1,2,1.0,1.0,444329,2,0 +18687,1100105,56,1,2,0.0,1.0,231956,2,0 +18688,1100105,56,1,2,1.0,1.0,253780,2,0 +18689,1100105,56,1,2,0.0,7.0,207684,2,0 +18690,1100105,56,1,2,0.0,1.0,342615,2,0 +18691,1100105,56,1,2,1.0,7.0,245169,2,0 +18692,1100105,56,1,2,1.0,1.0,287962,2,0 +18693,1100105,56,1,2,2.0,5.0,226982,2,0 +18694,1100105,56,1,2,2.0,3.0,223138,1,0 +18695,1100105,56,1,2,2.0,3.0,223138,1,0 +18696,1100105,56,1,2,2.0,3.0,223138,1,0 +18697,1100105,56,1,2,2.0,3.0,223138,1,0 +18698,1100105,56,1,2,2.0,3.0,223138,1,0 +18699,1100105,56,1,2,2.0,3.0,223138,1,0 +18700,1100105,56,1,2,2.0,3.0,223138,1,0 +18701,1100105,56,1,2,2.0,3.0,223138,1,0 +18702,1100105,56,1,2,2.0,3.0,223138,1,0 +18703,1100105,56,1,2,2.0,3.0,223138,1,0 +18704,1100105,56,1,2,0.0,5.0,159056,2,0 +18705,1100105,56,1,2,1.0,1.0,177227,2,0 +18706,1100105,56,1,2,1.0,1.0,186407,2,0 +18707,1100105,56,1,2,0.0,1.0,194207,2,0 +18708,1100105,56,1,2,0.0,1.0,194207,2,0 +18709,1100105,56,1,2,0.0,5.0,183085,2,0 +18710,1100105,56,1,2,1.0,5.0,153880,2,0 +18711,1100105,56,1,2,1.0,1.0,182357,2,0 +18712,1100105,56,1,2,1.0,7.0,172378,2,0 +18713,1100105,56,1,2,0.0,5.0,170913,2,0 +18714,1100105,56,1,2,0.0,7.0,152880,2,0 +18715,1100105,56,1,2,1.0,1.0,165532,2,0 +18716,1100105,56,1,2,1.0,1.0,189803,2,0 +18717,1100105,56,1,2,0.0,1.0,168841,2,0 +18718,1100105,56,1,2,0.0,1.0,192523,2,0 +18719,1100105,56,1,2,2.0,5.0,167024,2,0 +18720,1100105,56,1,2,0.0,1.0,192523,2,0 +18721,1100105,56,1,2,1.0,5.0,172982,2,0 +18722,1100105,56,1,2,1.0,5.0,159522,2,0 +18723,1100105,56,1,2,1.0,7.0,157030,2,0 +18724,1100105,56,1,2,0.0,1.0,161590,2,0 +18725,1100105,56,1,2,1.0,5.0,159522,2,0 +18726,1100105,56,1,2,0.0,1.0,177291,1,0 +18727,1100105,56,1,2,1.0,7.0,111249,2,0 +18728,1100105,56,1,2,1.0,1.0,113342,2,0 +18729,1100105,56,1,2,0.0,7.0,137064,2,0 +18730,1100105,56,1,2,2.0,7.0,141833,2,0 +18731,1100105,56,1,2,1.0,7.0,108603,2,0 +18732,1100105,56,1,2,1.0,1.0,134141,2,0 +18733,1100105,56,1,2,1.0,1.0,110811,2,0 +18734,1100105,56,1,2,0.0,1.0,111947,2,0 +18735,1100105,56,1,2,0.0,1.0,105062,1,0 +18736,1100105,56,1,2,1.0,7.0,100900,0,0 +18737,1100105,56,1,2,0.0,7.0,78565,2,0 +18738,1100105,56,1,2,0.0,5.0,58253,2,0 +18739,1100105,56,1,2,1.0,5.0,88253,2,0 +18740,1100105,56,1,2,1.0,5.0,58368,2,0 +18741,1100105,56,1,2,0.0,7.0,89619,2,0 +18742,1100105,56,1,2,0.0,7.0,53104,1,0 +18743,1100105,56,1,2,2.0,3.0,66423,1,0 +18744,1100105,56,1,2,1.0,3.0,59042,1,0 +18745,1100105,56,1,2,1.0,7.0,40857,2,0 +18746,1100105,56,1,2,0.0,7.0,39614,2,0 +18747,1100105,56,1,2,0.0,5.0,31837,1,0 +18748,1100105,56,1,2,0.0,3.0,27454,1,0 +18749,1100105,56,1,2,0.0,3.0,27454,1,0 +18750,1100105,56,1,2,0.0,3.0,27454,1,0 +18751,1100105,56,1,2,0.0,3.0,27454,1,0 +18752,1100105,56,1,2,0.0,3.0,27454,1,0 +18753,1100105,56,1,2,0.0,3.0,27454,1,0 +18754,1100105,56,1,2,0.0,3.0,27454,1,0 +18755,1100105,56,1,2,0.0,3.0,27454,1,0 +18756,1100105,56,1,2,0.0,3.0,27454,1,0 +18757,1100105,56,1,2,0.0,3.0,27454,1,0 +18758,1100105,56,1,2,0.0,3.0,27454,1,0 +18759,1100105,56,1,2,0.0,3.0,27454,1,0 +18760,1100105,56,1,2,0.0,3.0,27454,1,0 +18761,1100105,56,1,2,0.0,3.0,27454,1,0 +18762,1100105,56,1,2,1.0,3.0,33429,1,1 +18763,1100105,56,1,2,0.0,7.0,5306,1,0 +18764,1100105,56,1,2,0.0,7.0,5074,1,0 +18765,1100105,56,1,2,1.0,3.0,21649,1,0 +18766,1100105,56,1,2,1.0,3.0,21649,1,0 +18767,1100105,56,1,2,1.0,3.0,21649,1,0 +18768,1100105,56,1,2,1.0,3.0,21649,1,0 +18769,1100105,56,1,2,1.0,3.0,21649,1,0 +18770,1100105,56,1,2,1.0,3.0,21649,1,0 +18771,1100105,56,1,2,1.0,3.0,21649,1,0 +18772,1100105,56,1,2,1.0,3.0,21649,1,0 +18773,1100105,56,1,2,1.0,3.0,21649,1,0 +18774,1100105,56,1,2,1.0,3.0,21649,1,0 +18775,1100105,56,1,2,1.0,3.0,21649,1,0 +18776,1100105,56,1,2,1.0,3.0,21649,1,0 +18777,1100105,56,1,2,1.0,3.0,21649,1,0 +18778,1100105,56,1,2,1.0,3.0,21649,1,0 +18779,1100105,56,1,2,1.0,3.0,21649,1,0 +18780,1100105,56,1,2,1.0,3.0,21649,1,0 +18781,1100105,56,1,2,1.0,3.0,21649,1,0 +18782,1100105,56,1,2,1.0,3.0,21649,1,0 +18783,1100105,56,1,2,1.0,3.0,21649,1,0 +18784,1100105,56,1,2,1.0,3.0,21649,1,0 +18785,1100105,56,1,2,1.0,3.0,21649,1,0 +18786,1100105,56,1,2,1.0,3.0,21649,1,0 +18787,1100105,56,1,2,1.0,3.0,21649,1,0 +18788,1100105,56,1,2,1.0,3.0,21649,1,0 +18789,1100105,56,1,2,1.0,3.0,21649,1,0 +18790,1100105,56,1,2,1.0,3.0,21649,1,0 +18791,1100105,56,1,2,0.0,2.0,10130,1,1 +18792,1100105,56,1,2,0.0,5.0,4280,0,0 +18793,1100105,56,1,2,1.0,7.0,9957,0,0 +18794,1100105,56,1,2,1.0,7.0,9957,0,0 +18795,1100105,56,1,1,1.0,6.0,328446,1,0 +18796,1100105,56,1,1,1.0,4.0,215847,1,0 +18797,1100105,56,1,1,1.0,4.0,215847,1,0 +18798,1100105,56,1,1,0.0,4.0,257923,1,0 +18799,1100105,56,1,1,0.0,4.0,258339,1,0 +18800,1100105,56,1,1,1.0,4.0,445762,1,0 +18801,1100105,56,1,1,0.0,6.0,307760,1,0 +18802,1100105,56,1,1,0.0,4.0,257923,1,0 +18803,1100105,56,1,1,0.0,4.0,257923,1,0 +18804,1100105,56,1,1,0.0,4.0,257923,1,0 +18805,1100105,56,1,1,0.0,6.0,307760,1,0 +18806,1100105,56,1,1,1.0,6.0,427010,0,0 +18807,1100105,56,1,1,2.0,6.0,633388,0,0 +18808,1100105,56,1,1,1.0,4.0,243143,0,0 +18809,1100105,56,1,1,1.0,4.0,231956,0,0 +18810,1100105,56,1,1,1.0,4.0,231956,0,0 +18811,1100105,56,1,1,0.0,6.0,157550,1,0 +18812,1100105,56,1,1,0.0,6.0,171307,1,0 +18813,1100105,56,1,1,1.0,6.0,180411,1,0 +18814,1100105,56,1,1,1.0,4.0,155375,1,0 +18815,1100105,56,1,1,0.0,4.0,180411,1,0 +18816,1100105,56,1,1,1.0,6.0,188438,1,0 +18817,1100105,56,1,1,1.0,4.0,182401,1,0 +18818,1100105,56,1,1,0.0,4.0,174019,1,0 +18819,1100105,56,1,1,1.0,6.0,160787,1,0 +18820,1100105,56,1,1,0.0,4.0,151825,1,0 +18821,1100105,56,1,1,0.0,6.0,167161,1,0 +18822,1100105,56,1,1,1.0,6.0,157030,1,0 +18823,1100105,56,1,1,1.0,4.0,161601,1,0 +18824,1100105,56,1,1,1.0,6.0,186450,1,0 +18825,1100105,56,1,1,0.0,6.0,161308,1,0 +18826,1100105,56,1,1,0.0,4.0,152880,1,0 +18827,1100105,56,1,1,1.0,6.0,186450,1,0 +18828,1100105,56,1,1,1.0,6.0,157030,1,0 +18829,1100105,56,1,1,0.0,6.0,167161,1,0 +18830,1100105,56,1,1,0.0,6.0,167161,1,0 +18831,1100105,56,1,1,1.0,4.0,153304,1,0 +18832,1100105,56,1,1,1.0,6.0,157030,1,0 +18833,1100105,56,1,1,0.0,6.0,166703,1,0 +18834,1100105,56,1,1,1.0,4.0,161601,1,0 +18835,1100105,56,1,1,0.0,6.0,166703,1,0 +18836,1100105,56,1,1,1.0,4.0,153304,1,0 +18837,1100105,56,1,1,0.0,6.0,166703,1,0 +18838,1100105,56,1,1,0.0,4.0,182408,1,0 +18839,1100105,56,1,1,1.0,4.0,191023,0,0 +18840,1100105,56,1,1,0.0,4.0,100817,1,0 +18841,1100105,56,1,1,0.0,4.0,100817,1,0 +18842,1100105,56,1,1,1.0,6.0,149894,1,0 +18843,1100105,56,1,1,0.0,4.0,131793,1,0 +18844,1100105,56,1,1,1.0,4.0,131702,1,0 +18845,1100105,56,1,1,0.0,6.0,102784,1,0 +18846,1100105,56,1,1,0.0,6.0,114479,1,0 +18847,1100105,56,1,1,1.0,6.0,105686,1,0 +18848,1100105,56,1,1,1.0,4.0,108246,1,0 +18849,1100105,56,1,1,1.0,4.0,115978,1,0 +18850,1100105,56,1,1,1.0,4.0,108246,1,0 +18851,1100105,56,1,1,0.0,6.0,119915,1,0 +18852,1100105,56,1,1,0.0,6.0,102784,1,0 +18853,1100105,56,1,1,0.0,6.0,102784,1,0 +18854,1100105,56,1,1,0.0,4.0,106124,1,0 +18855,1100105,56,1,1,0.0,4.0,131793,1,0 +18856,1100105,56,1,1,0.0,4.0,143267,1,0 +18857,1100105,56,1,1,1.0,4.0,105655,1,0 +18858,1100105,56,1,1,0.0,6.0,107388,1,0 +18859,1100105,56,1,1,0.0,6.0,117049,1,0 +18860,1100105,56,1,1,1.0,6.0,102993,1,0 +18861,1100105,56,1,1,1.0,4.0,116703,1,0 +18862,1100105,56,1,1,0.0,6.0,100643,1,0 +18863,1100105,56,1,1,0.0,6.0,120157,1,0 +18864,1100105,56,1,1,0.0,6.0,108597,1,0 +18865,1100105,56,1,1,0.0,4.0,116506,1,0 +18866,1100105,56,1,1,1.0,4.0,116703,1,0 +18867,1100105,56,1,1,1.0,6.0,106124,1,0 +18868,1100105,56,1,1,1.0,4.0,109307,0,0 +18869,1100105,56,1,1,0.0,6.0,87227,1,0 +18870,1100105,56,1,1,1.0,6.0,96360,1,0 +18871,1100105,56,1,1,0.0,4.0,75912,1,0 +18872,1100105,56,1,1,0.0,6.0,57989,1,0 +18873,1100105,56,1,1,0.0,4.0,60490,1,0 +18874,1100105,56,1,1,0.0,4.0,74947,1,0 +18875,1100105,56,1,1,0.0,6.0,88046,1,0 +18876,1100105,56,1,1,0.0,6.0,57989,1,0 +18877,1100105,56,1,1,0.0,4.0,82441,1,0 +18878,1100105,56,1,1,1.0,6.0,61152,1,0 +18879,1100105,56,1,1,0.0,4.0,76652,1,0 +18880,1100105,56,1,1,1.0,4.0,50939,1,0 +18881,1100105,56,1,1,0.0,4.0,52717,1,0 +18882,1100105,56,1,1,0.0,6.0,54615,1,0 +18883,1100105,56,1,1,1.0,4.0,69829,1,0 +18884,1100105,56,1,1,0.0,4.0,53533,1,0 +18885,1100105,56,1,1,0.0,4.0,81047,1,0 +18886,1100105,56,1,1,0.0,6.0,79229,1,0 +18887,1100105,56,1,1,0.0,6.0,76967,1,0 +18888,1100105,56,1,1,0.0,4.0,77687,1,0 +18889,1100105,56,1,1,1.0,4.0,68980,1,0 +18890,1100105,56,1,1,0.0,6.0,66864,1,0 +18891,1100105,56,1,1,1.0,4.0,95102,1,0 +18892,1100105,56,1,1,1.0,6.0,60816,1,0 +18893,1100105,56,1,1,1.0,6.0,91178,1,0 +18894,1100105,56,1,1,0.0,4.0,63674,1,0 +18895,1100105,56,1,1,0.0,6.0,62150,1,0 +18896,1100105,56,1,1,0.0,6.0,86724,1,0 +18897,1100105,56,1,1,0.0,4.0,73956,1,0 +18898,1100105,56,1,1,0.0,6.0,54615,1,0 +18899,1100105,56,1,1,0.0,6.0,55720,1,0 +18900,1100105,56,1,1,1.0,6.0,67329,1,0 +18901,1100105,56,1,1,0.0,4.0,62150,1,0 +18902,1100105,56,1,1,0.0,6.0,92189,1,0 +18903,1100105,56,1,1,1.0,4.0,95297,1,0 +18904,1100105,56,1,1,1.0,6.0,63674,1,0 +18905,1100105,56,1,1,1.0,6.0,68890,1,0 +18906,1100105,56,1,1,1.0,4.0,69829,1,0 +18907,1100105,56,1,1,0.0,6.0,63674,1,0 +18908,1100105,56,1,1,0.0,4.0,91178,1,0 +18909,1100105,56,1,1,1.0,6.0,58887,1,0 +18910,1100105,56,1,1,1.0,4.0,98404,1,0 +18911,1100105,56,1,1,0.0,4.0,73956,1,0 +18912,1100105,56,1,1,0.0,4.0,91178,1,0 +18913,1100105,56,1,1,0.0,4.0,50939,1,0 +18914,1100105,56,1,1,0.0,4.0,50939,1,0 +18915,1100105,56,1,1,0.0,6.0,67877,1,0 +18916,1100105,56,1,1,1.0,4.0,89936,1,0 +18917,1100105,56,1,1,1.0,4.0,87126,1,0 +18918,1100105,56,1,1,1.0,4.0,79759,1,0 +18919,1100105,56,1,1,0.0,6.0,83838,1,0 +18920,1100105,56,1,1,0.0,4.0,70916,1,0 +18921,1100105,56,1,1,0.0,6.0,67536,1,0 +18922,1100105,56,1,1,1.0,6.0,71103,1,0 +18923,1100105,56,1,1,0.0,6.0,51667,1,0 +18924,1100105,56,1,1,0.0,6.0,67329,1,0 +18925,1100105,56,1,1,0.0,6.0,51667,1,0 +18926,1100105,56,1,1,1.0,6.0,69903,1,0 +18927,1100105,56,1,1,0.0,6.0,80300,1,0 +18928,1100105,56,1,1,0.0,6.0,63674,1,0 +18929,1100105,56,1,1,0.0,6.0,80300,1,0 +18930,1100105,56,1,1,0.0,6.0,60203,1,0 +18931,1100105,56,1,1,0.0,4.0,70916,1,0 +18932,1100105,56,1,1,0.0,4.0,73956,1,0 +18933,1100105,56,1,1,1.0,4.0,88046,1,0 +18934,1100105,56,1,1,1.0,6.0,60490,1,0 +18935,1100105,56,1,1,0.0,6.0,82867,1,0 +18936,1100105,56,1,1,0.0,4.0,50939,1,0 +18937,1100105,56,1,1,0.0,6.0,63674,1,0 +18938,1100105,56,1,1,0.0,6.0,81098,1,0 +18939,1100105,56,1,1,0.0,6.0,52717,1,0 +18940,1100105,56,1,1,0.0,6.0,67877,1,0 +18941,1100105,56,1,1,1.0,6.0,55674,1,0 +18942,1100105,56,1,1,1.0,6.0,71103,1,0 +18943,1100105,56,1,1,0.0,6.0,63674,1,0 +18944,1100105,56,1,1,1.0,6.0,54604,1,0 +18945,1100105,56,1,1,0.0,6.0,65797,1,0 +18946,1100105,56,1,1,1.0,6.0,75982,1,0 +18947,1100105,56,1,1,0.0,6.0,76967,1,0 +18948,1100105,56,1,1,1.0,4.0,99626,1,0 +18949,1100105,56,1,1,0.0,4.0,77687,1,0 +18950,1100105,56,1,1,0.0,6.0,96360,1,0 +18951,1100105,56,1,1,0.0,6.0,79593,1,0 +18952,1100105,56,1,1,0.0,4.0,75385,1,0 +18953,1100105,56,1,1,0.0,6.0,89152,1,0 +18954,1100105,56,1,1,1.0,4.0,98404,1,0 +18955,1100105,56,1,1,1.0,6.0,70592,1,0 +18956,1100105,56,1,1,0.0,6.0,53062,1,0 +18957,1100105,56,1,1,1.0,6.0,62150,1,0 +18958,1100105,56,1,1,1.0,6.0,83715,0,0 +18959,1100105,56,1,1,1.0,4.0,74062,0,0 +18960,1100105,56,1,1,1.0,6.0,59886,0,0 +18961,1100105,56,1,1,0.0,6.0,67583,0,0 +18962,1100105,56,1,1,0.0,4.0,51396,0,0 +18963,1100105,56,1,1,0.0,4.0,71103,0,0 +18964,1100105,56,1,1,0.0,6.0,86724,0,0 +18965,1100105,56,1,1,1.0,4.0,43829,1,0 +18966,1100105,56,1,1,1.0,6.0,47109,1,0 +18967,1100105,56,1,1,1.0,4.0,42173,1,0 +18968,1100105,56,1,1,0.0,6.0,27967,1,0 +18969,1100105,56,1,1,0.0,6.0,42826,1,0 +18970,1100105,56,1,1,0.0,6.0,31075,1,0 +18971,1100105,56,1,1,0.0,6.0,34261,1,0 +18972,1100105,56,1,1,0.0,4.0,31085,1,0 +18973,1100105,56,1,1,0.0,4.0,41536,1,0 +18974,1100105,56,1,1,1.0,6.0,36254,1,0 +18975,1100105,56,1,1,1.0,4.0,25696,1,0 +18976,1100105,56,1,1,0.0,4.0,41536,1,0 +18977,1100105,56,1,1,0.0,6.0,31075,1,0 +18978,1100105,56,1,1,0.0,6.0,46602,1,0 +18979,1100105,56,1,1,1.0,6.0,30892,1,0 +18980,1100105,56,1,1,0.0,4.0,45633,1,0 +18981,1100105,56,1,1,0.0,6.0,32120,1,0 +18982,1100105,56,1,1,0.0,4.0,47755,1,0 +18983,1100105,56,1,1,0.0,4.0,42826,1,0 +18984,1100105,56,1,1,0.0,6.0,49554,1,0 +18985,1100105,56,1,1,0.0,6.0,41919,1,0 +18986,1100105,56,1,1,1.0,4.0,25696,1,0 +18987,1100105,56,1,1,0.0,4.0,36254,1,0 +18988,1100105,56,1,1,0.0,4.0,44282,1,0 +18989,1100105,56,1,1,0.0,4.0,42826,1,0 +18990,1100105,56,1,1,1.0,4.0,41537,1,0 +18991,1100105,56,1,1,0.0,6.0,32120,1,0 +18992,1100105,56,1,1,0.0,6.0,42826,1,0 +18993,1100105,56,1,1,0.0,6.0,31630,1,0 +18994,1100105,56,1,1,0.0,6.0,46602,1,0 +18995,1100105,56,1,1,1.0,4.0,25696,1,0 +18996,1100105,56,1,1,0.0,4.0,36254,1,0 +18997,1100105,56,1,1,1.0,4.0,47130,1,0 +18998,1100105,56,1,1,0.0,4.0,42826,1,0 +18999,1100105,56,1,1,1.0,4.0,49554,1,0 +19000,1100105,56,1,1,0.0,4.0,31085,1,0 +19001,1100105,56,1,1,1.0,4.0,47755,1,0 +19002,1100105,56,1,1,0.0,6.0,27760,0,0 +19003,1100105,56,1,1,1.0,4.0,46694,0,0 +19004,1100105,56,1,1,0.0,6.0,30453,0,0 +19005,1100105,56,1,1,2.0,6.0,48628,0,0 +19006,1100105,56,1,1,1.0,6.0,40327,0,0 +19007,1100105,56,1,1,1.0,6.0,35109,0,0 +19008,1100105,56,1,1,1.0,6.0,42826,0,0 +19009,1100105,56,1,1,1.0,6.0,42826,0,0 +19010,1100105,56,1,1,1.0,6.0,49720,0,0 +19011,1100105,56,1,1,0.0,6.0,40327,0,0 +19012,1100105,56,1,1,1.0,6.0,10706,1,0 +19013,1100105,56,1,1,1.0,6.0,10706,1,0 +19014,1100105,56,1,1,0.0,6.0,5798,1,0 +19015,1100105,56,1,1,1.0,6.0,10706,1,0 +19016,1100105,56,1,1,0.0,6.0,13706,1,0 +19017,1100105,56,1,1,1.0,6.0,10612,1,0 +19018,1100105,56,1,1,1.0,6.0,21352,1,0 +19019,1100105,56,1,1,0.0,4.0,11703,1,0 +19020,1100105,56,1,1,0.0,6.0,14857,1,0 +19021,1100105,56,1,1,0.0,6.0,10358,1,0 +19022,1100105,56,1,1,1.0,6.0,21352,1,0 +19023,1100105,56,1,1,0.0,4.0,5271,1,0 +19024,1100105,56,1,1,1.0,6.0,8234,1,0 +19025,1100105,56,1,1,0.0,6.0,10612,1,0 +19026,1100105,56,1,1,0.0,6.0,21224,1,0 +19027,1100105,56,1,1,0.0,6.0,14857,1,0 +19028,1100105,56,1,1,0.0,6.0,21224,1,0 +19029,1100105,56,1,1,0.0,6.0,6215,1,0 +19030,1100105,56,1,1,0.0,6.0,6215,1,0 +19031,1100105,56,1,1,0.0,6.0,6215,1,0 +19032,1100105,56,1,1,0.0,6.0,6215,1,0 +19033,1100105,56,1,1,0.0,6.0,6215,1,0 +19034,1100105,56,1,1,0.0,6.0,6215,1,0 +19035,1100105,56,1,1,0.0,6.0,6215,1,0 +19036,1100105,56,1,1,0.0,6.0,6215,1,0 +19037,1100105,56,1,1,1.0,6.0,7091,0,0 +19038,1100105,56,1,1,0.0,6.0,15804,0,0 +19039,1100105,56,1,1,0.0,4.0,9207,0,0 +19040,1100105,56,1,1,0.0,4.0,23876,0,0 +19041,1100105,56,1,1,0.0,6.0,911,0,0 +19042,1100105,56,1,1,0.0,6.0,13362,0,0 +19043,1100105,56,1,1,0.0,6.0,9636,0,0 +19044,1100105,56,1,1,0.0,4.0,8351,0,0 +19045,1100105,56,1,1,1.0,6.0,233,0,0 +19046,1100105,56,1,1,0.0,6.0,0,0,0 +19047,1100105,56,1,1,0.0,4.0,0,0,0 +19048,1100105,56,1,1,0.0,4.0,0,0,0 +19049,1100105,56,1,1,0.0,6.0,0,0,0 +19050,1100105,56,1,1,0.0,6.0,0,0,0 +19051,1100105,56,1,1,1.0,6.0,0,0,0 +19052,1100105,56,1,1,0.0,6.0,15918,0,0 +19053,1100105,56,1,1,0.0,6.0,792,0,0 +19054,1100105,56,1,1,0.0,6.0,0,0,0 +19055,1100105,56,1,1,0.0,6.0,0,0,0 +19056,1100105,56,1,1,0.0,6.0,15918,0,0 +19057,1100105,56,1,1,1.0,6.0,233,0,0 +19058,1100105,56,1,1,0.0,6.0,0,0,0 +19059,1100105,56,1,1,0.0,4.0,20261,0,0 +19060,1100105,56,1,1,0.0,6.0,0,0,0 +19061,1100105,56,1,1,0.0,6.0,0,0,0 +19062,1100105,56,1,1,0.0,4.0,527,0,0 +19063,1100105,56,1,1,0.0,4.0,20261,0,0 +19064,1100105,56,1,1,1.0,6.0,760,0,0 +19065,1100105,56,1,1,1.0,6.0,0,0,0 +19066,1100105,56,1,1,0.0,6.0,0,0,0 +19067,1100105,56,1,1,0.0,6.0,5353,0,0 +19068,1100105,56,1,1,0.0,6.0,4244,0,0 +19069,1100105,56,1,1,0.0,4.0,20261,0,0 +19070,1100105,56,1,1,0.0,4.0,6215,0,0 +19071,1100105,56,1,1,0.0,4.0,20261,0,0 +19072,1100105,56,1,1,0.0,6.0,0,0,0 +19073,1100105,56,1,1,0.0,6.0,0,0,0 +19074,1100105,56,1,1,0.0,4.0,20261,0,0 +19075,1100105,56,1,1,0.0,6.0,0,0,0 +19076,1100105,56,1,1,0.0,6.0,848,0,0 +19077,1100105,56,1,1,0.0,6.0,0,0,0 +19078,1100105,56,1,1,0.0,4.0,23402,0,0 +19079,1100105,56,1,1,0.0,6.0,0,0,0 +19080,1100105,56,1,1,0.0,4.0,0,0,0 +19081,1100105,56,1,1,0.0,4.0,23402,0,0 +19082,1100105,56,1,1,0.0,6.0,1591,0,0 +19083,1100105,56,1,1,0.0,4.0,5268,0,0 +19084,1100105,56,1,1,0.0,6.0,13465,0,0 +19085,1100105,56,1,1,0.0,6.0,0,0,0 +19086,1100105,56,1,1,0.0,6.0,0,0,0 +19087,1100105,56,1,1,0.0,6.0,4244,0,0 +19088,1100105,56,1,1,1.0,4.0,4603,0,0 +19089,1100105,56,1,1,1.0,6.0,21680,0,0 +19090,1100105,56,1,1,0.0,6.0,4244,0,0 +19091,1100105,56,1,1,0.0,4.0,20261,0,0 +19092,1100105,56,1,1,0.0,4.0,20261,0,0 +19093,1100105,56,1,1,0.0,6.0,5353,0,0 +19094,1100105,56,1,1,1.0,6.0,0,0,0 +19095,1100105,56,1,1,0.0,6.0,0,0,0 +19096,1100105,56,1,1,0.0,6.0,0,0,0 +19097,1100105,56,1,1,0.0,6.0,267,0,0 +19098,1100105,56,1,1,0.0,4.0,0,0,0 +19099,1100105,56,1,1,0.0,6.0,5353,0,0 +19100,1100105,56,1,1,0.0,4.0,0,0,0 +19101,1100105,56,1,1,0.0,4.0,23402,0,0 +19102,1100105,56,1,1,1.0,6.0,0,0,0 +19103,1100105,56,1,1,0.0,6.0,0,0,0 +19104,1100105,56,1,1,0.0,6.0,4244,0,0 +19105,1100105,56,1,1,0.0,4.0,20261,0,0 +19106,1100105,56,1,1,0.0,6.0,4244,0,0 +19107,1100105,56,1,1,1.0,4.0,0,0,0 +19108,1100105,56,1,1,0.0,6.0,0,0,0 +19109,1100105,56,1,1,1.0,6.0,12848,0,0 +19110,1100105,56,1,1,0.0,6.0,0,0,0 +19111,1100105,56,1,1,0.0,6.0,0,0,0 +19112,1100105,56,1,1,0.0,6.0,0,0,0 +19113,1100105,56,1,1,0.0,6.0,0,0,0 +19114,1100105,56,1,1,0.0,6.0,0,0,0 +19115,1100105,57,1,6,1.0,1.0,42449,2,1 +19116,1100105,57,1,6,1.0,1.0,42449,2,1 +19117,1100105,57,1,6,1.0,1.0,42449,2,1 +19118,1100105,57,1,9,0.0,2.0,17192,2,1 +19119,1100105,57,1,9,0.0,2.0,17192,2,1 +19120,1100105,57,1,9,0.0,2.0,17192,2,1 +19121,1100105,57,1,9,0.0,2.0,17192,2,1 +19122,1100105,57,1,4,1.0,3.0,11597,1,1 +19123,1100105,57,1,4,1.0,3.0,11597,1,1 +19124,1100105,57,1,4,1.0,3.0,11597,1,1 +19125,1100105,57,1,4,1.0,3.0,11597,1,1 +19126,1100105,57,1,4,1.0,3.0,11597,1,1 +19127,1100105,57,1,4,1.0,3.0,11597,1,1 +19128,1100105,57,1,4,1.0,3.0,11597,1,1 +19129,1100105,57,1,4,1.0,3.0,11597,1,1 +19130,1100105,57,1,4,1.0,3.0,11597,1,1 +19131,1100105,57,1,4,1.0,3.0,11597,1,1 +19132,1100105,57,1,4,1.0,3.0,11597,1,1 +19133,1100105,57,1,5,0.0,3.0,0,0,0 +19134,1100105,57,1,3,0.0,5.0,233063,3,0 +19135,1100105,57,1,3,0.0,5.0,230301,3,0 +19136,1100105,57,1,3,2.0,5.0,353322,3,0 +19137,1100105,57,1,3,0.0,7.0,261477,3,0 +19138,1100105,57,1,3,0.0,7.0,261477,3,0 +19139,1100105,57,1,3,0.0,5.0,211737,3,0 +19140,1100105,57,1,3,2.0,1.0,559432,3,0 +19141,1100105,57,1,3,1.0,1.0,226848,3,0 +19142,1100105,57,1,3,1.0,7.0,206942,3,0 +19143,1100105,57,1,3,0.0,7.0,166586,3,0 +19144,1100105,57,1,3,1.0,5.0,183370,3,0 +19145,1100105,57,1,3,2.0,7.0,182014,3,0 +19146,1100105,57,1,3,2.0,7.0,180331,3,0 +19147,1100105,57,1,3,1.0,3.0,168790,2,0 +19148,1100105,57,1,3,1.0,3.0,168790,2,0 +19149,1100105,57,1,3,1.0,3.0,168790,2,0 +19150,1100105,57,1,3,1.0,3.0,168790,2,0 +19151,1100105,57,1,3,1.0,3.0,168790,2,0 +19152,1100105,57,1,3,1.0,3.0,168790,2,0 +19153,1100105,57,1,3,1.0,3.0,168790,2,0 +19154,1100105,57,1,3,1.0,3.0,168790,2,0 +19155,1100105,57,1,3,3.0,7.0,145611,3,0 +19156,1100105,57,1,3,2.0,7.0,105062,3,0 +19157,1100105,57,1,3,2.0,7.0,105062,3,0 +19158,1100105,57,1,3,0.0,7.0,128805,3,0 +19159,1100105,57,1,3,0.0,5.0,123597,3,0 +19160,1100105,57,1,3,0.0,2.0,103790,1,1 +19161,1100105,57,1,3,0.0,2.0,103790,1,1 +19162,1100105,57,1,3,0.0,2.0,103790,1,1 +19163,1100105,57,1,3,1.0,3.0,123597,0,1 +19164,1100105,57,1,3,1.0,3.0,123597,0,1 +19165,1100105,57,1,3,1.0,3.0,123597,0,1 +19166,1100105,57,1,3,1.0,3.0,123597,0,1 +19167,1100105,57,1,3,1.0,3.0,123597,0,1 +19168,1100105,57,1,3,1.0,3.0,123597,0,1 +19169,1100105,57,1,3,0.0,7.0,60785,2,0 +19170,1100105,57,1,3,0.0,7.0,60785,2,0 +19171,1100105,57,1,3,2.0,3.0,476,1,1 +19172,1100105,57,1,3,2.0,3.0,476,1,1 +19173,1100105,57,1,3,2.0,3.0,476,1,1 +19174,1100105,57,1,3,2.0,3.0,476,1,1 +19175,1100105,57,1,3,2.0,3.0,476,1,1 +19176,1100105,57,1,3,2.0,3.0,476,1,1 +19177,1100105,57,1,3,2.0,3.0,476,1,1 +19178,1100105,57,1,3,0.0,3.0,19112,0,0 +19179,1100105,57,1,3,1.0,3.0,3608,0,1 +19180,1100105,57,1,3,0.0,3.0,6836,0,1 +19181,1100105,57,1,3,0.0,3.0,6836,0,1 +19182,1100105,57,1,2,0.0,7.0,509693,2,0 +19183,1100105,57,1,2,1.0,5.0,283819,2,0 +19184,1100105,57,1,2,3.0,1.0,288657,2,0 +19185,1100105,57,1,2,1.0,1.0,243661,2,0 +19186,1100105,57,1,2,1.0,1.0,337683,2,0 +19187,1100105,57,1,2,1.0,1.0,362543,2,0 +19188,1100105,57,1,2,1.0,1.0,222881,2,0 +19189,1100105,57,1,2,1.0,1.0,227884,2,0 +19190,1100105,57,1,2,2.0,1.0,274129,2,0 +19191,1100105,57,1,2,2.0,1.0,995444,2,0 +19192,1100105,57,1,2,2.0,1.0,233473,2,0 +19193,1100105,57,1,2,2.0,1.0,303929,2,0 +19194,1100105,57,1,2,1.0,5.0,316552,2,0 +19195,1100105,57,1,2,0.0,1.0,223813,2,0 +19196,1100105,57,1,2,1.0,5.0,305572,2,0 +19197,1100105,57,1,2,1.0,1.0,384976,2,0 +19198,1100105,57,1,2,2.0,1.0,284412,2,0 +19199,1100105,57,1,2,1.0,1.0,295824,2,0 +19200,1100105,57,1,2,0.0,1.0,980981,2,0 +19201,1100105,57,1,2,1.0,5.0,291841,2,0 +19202,1100105,57,1,2,1.0,1.0,265695,2,0 +19203,1100105,57,1,2,1.0,1.0,207472,2,0 +19204,1100105,57,1,2,1.0,1.0,433622,2,0 +19205,1100105,57,1,2,1.0,1.0,254816,2,0 +19206,1100105,57,1,2,1.0,5.0,424693,2,0 +19207,1100105,57,1,2,0.0,5.0,248601,2,0 +19208,1100105,57,1,2,1.0,1.0,245169,2,0 +19209,1100105,57,1,2,1.0,1.0,202434,2,0 +19210,1100105,57,1,2,1.0,5.0,252575,2,0 +19211,1100105,57,1,2,1.0,5.0,323678,2,0 +19212,1100105,57,1,2,2.0,7.0,206639,2,0 +19213,1100105,57,1,2,1.0,1.0,309977,2,0 +19214,1100105,57,1,2,1.0,1.0,238760,2,0 +19215,1100105,57,1,2,1.0,1.0,209814,2,0 +19216,1100105,57,1,2,0.0,1.0,1452888,2,0 +19217,1100105,57,1,2,0.0,7.0,203427,2,0 +19218,1100105,57,1,2,1.0,1.0,289516,2,0 +19219,1100105,57,1,2,1.0,5.0,310943,2,0 +19220,1100105,57,1,2,0.0,7.0,209711,2,0 +19221,1100105,57,1,2,1.0,1.0,287962,2,0 +19222,1100105,57,1,2,1.0,1.0,261031,2,0 +19223,1100105,57,1,2,2.0,5.0,208721,2,0 +19224,1100105,57,1,2,1.0,1.0,261031,2,0 +19225,1100105,57,1,2,0.0,1.0,329256,2,0 +19226,1100105,57,1,2,1.0,1.0,261031,2,0 +19227,1100105,57,1,2,1.0,7.0,215205,2,0 +19228,1100105,57,1,2,2.0,5.0,280627,2,0 +19229,1100105,57,1,2,1.0,7.0,216275,2,0 +19230,1100105,57,1,2,1.0,5.0,240901,2,0 +19231,1100105,57,1,2,1.0,1.0,254698,2,0 +19232,1100105,57,1,2,1.0,1.0,263586,2,0 +19233,1100105,57,1,2,0.0,5.0,380152,2,0 +19234,1100105,57,1,2,1.0,1.0,444329,2,0 +19235,1100105,57,1,2,2.0,5.0,334715,2,0 +19236,1100105,57,1,2,1.0,5.0,233581,2,0 +19237,1100105,57,1,2,1.0,1.0,267246,2,0 +19238,1100105,57,1,2,0.0,5.0,208697,2,0 +19239,1100105,57,1,2,1.0,5.0,211310,2,0 +19240,1100105,57,1,2,1.0,1.0,405923,2,0 +19241,1100105,57,1,2,1.0,1.0,291771,2,0 +19242,1100105,57,1,2,0.0,1.0,234025,2,0 +19243,1100105,57,1,2,1.0,7.0,292075,2,0 +19244,1100105,57,1,2,1.0,1.0,254698,2,0 +19245,1100105,57,1,2,0.0,1.0,238935,2,0 +19246,1100105,57,1,2,0.0,1.0,329256,2,0 +19247,1100105,57,1,2,1.0,1.0,234064,2,0 +19248,1100105,57,1,2,1.0,1.0,228167,2,0 +19249,1100105,57,1,2,1.0,7.0,292075,2,0 +19250,1100105,57,1,2,0.0,5.0,212790,2,0 +19251,1100105,57,1,2,0.0,1.0,238242,2,0 +19252,1100105,57,1,2,1.0,1.0,323678,2,0 +19253,1100105,57,1,2,2.0,1.0,800346,2,0 +19254,1100105,57,1,2,1.0,1.0,405923,2,0 +19255,1100105,57,1,2,1.0,1.0,450205,2,0 +19256,1100105,57,1,2,2.0,7.0,220358,2,0 +19257,1100105,57,1,2,1.0,1.0,242710,1,0 +19258,1100105,57,1,2,0.0,1.0,322617,1,0 +19259,1100105,57,1,2,0.0,1.0,322617,1,0 +19260,1100105,57,1,2,0.0,1.0,322617,1,0 +19261,1100105,57,1,2,1.0,5.0,243578,1,0 +19262,1100105,57,1,2,1.0,1.0,247461,1,0 +19263,1100105,57,1,2,1.0,1.0,490469,1,0 +19264,1100105,57,1,2,1.0,1.0,247461,1,0 +19265,1100105,57,1,2,2.0,5.0,333539,1,0 +19266,1100105,57,1,2,3.0,1.0,758074,1,0 +19267,1100105,57,1,2,3.0,1.0,758074,1,0 +19268,1100105,57,1,2,0.0,1.0,206305,1,0 +19269,1100105,57,1,2,2.0,1.0,616323,0,0 +19270,1100105,57,1,2,2.0,1.0,616323,0,0 +19271,1100105,57,1,2,2.0,1.0,290345,0,0 +19272,1100105,57,1,2,1.0,1.0,410035,0,0 +19273,1100105,57,1,2,1.0,1.0,410035,0,0 +19274,1100105,57,1,2,1.0,1.0,203645,0,0 +19275,1100105,57,1,2,2.0,1.0,616323,0,0 +19276,1100105,57,1,2,1.0,2.0,311426,0,0 +19277,1100105,57,1,2,1.0,2.0,311426,0,0 +19278,1100105,57,1,2,0.0,5.0,198217,2,0 +19279,1100105,57,1,2,1.0,1.0,178305,2,0 +19280,1100105,57,1,2,2.0,5.0,168695,2,0 +19281,1100105,57,1,2,0.0,1.0,160279,2,0 +19282,1100105,57,1,2,1.0,7.0,163108,2,0 +19283,1100105,57,1,2,2.0,5.0,156254,2,0 +19284,1100105,57,1,2,0.0,5.0,178289,2,0 +19285,1100105,57,1,2,0.0,5.0,171921,2,0 +19286,1100105,57,1,2,2.0,5.0,193999,2,0 +19287,1100105,57,1,2,0.0,5.0,158483,2,0 +19288,1100105,57,1,2,1.0,5.0,176166,2,0 +19289,1100105,57,1,2,1.0,1.0,159530,2,0 +19290,1100105,57,1,2,1.0,1.0,186407,2,0 +19291,1100105,57,1,2,1.0,7.0,168695,2,0 +19292,1100105,57,1,2,1.0,1.0,151232,2,0 +19293,1100105,57,1,2,1.0,1.0,176092,2,0 +19294,1100105,57,1,2,1.0,7.0,165536,2,0 +19295,1100105,57,1,2,1.0,7.0,191630,2,0 +19296,1100105,57,1,2,1.0,7.0,191630,2,0 +19297,1100105,57,1,2,1.0,5.0,153934,2,0 +19298,1100105,57,1,2,1.0,7.0,156318,2,0 +19299,1100105,57,1,2,1.0,5.0,180235,2,0 +19300,1100105,57,1,2,1.0,5.0,173967,2,0 +19301,1100105,57,1,2,1.0,5.0,178184,2,0 +19302,1100105,57,1,2,1.0,1.0,175376,2,0 +19303,1100105,57,1,2,2.0,7.0,162095,2,0 +19304,1100105,57,1,2,2.0,7.0,163423,2,0 +19305,1100105,57,1,2,0.0,7.0,152977,2,0 +19306,1100105,57,1,2,1.0,1.0,168174,2,0 +19307,1100105,57,1,2,1.0,5.0,173967,2,0 +19308,1100105,57,1,2,0.0,1.0,153880,2,0 +19309,1100105,57,1,2,1.0,7.0,191630,2,0 +19310,1100105,57,1,2,1.0,7.0,157030,2,0 +19311,1100105,57,1,2,2.0,5.0,150771,2,0 +19312,1100105,57,1,2,2.0,5.0,150771,2,0 +19313,1100105,57,1,2,1.0,5.0,189782,2,0 +19314,1100105,57,1,2,0.0,1.0,171307,2,0 +19315,1100105,57,1,2,0.0,7.0,152977,2,0 +19316,1100105,57,1,2,1.0,7.0,178305,2,0 +19317,1100105,57,1,2,0.0,1.0,153880,2,0 +19318,1100105,57,1,2,1.0,7.0,196840,2,0 +19319,1100105,57,1,2,1.0,5.0,182014,2,0 +19320,1100105,57,1,2,1.0,5.0,170913,2,0 +19321,1100105,57,1,2,1.0,1.0,175468,1,0 +19322,1100105,57,1,2,2.0,1.0,153200,1,0 +19323,1100105,57,1,2,2.0,1.0,153200,1,0 +19324,1100105,57,1,2,1.0,7.0,154176,1,0 +19325,1100105,57,1,2,0.0,5.0,153106,1,0 +19326,1100105,57,1,2,1.0,1.0,162095,1,0 +19327,1100105,57,1,2,1.0,7.0,171307,1,0 +19328,1100105,57,1,2,1.0,1.0,154339,1,0 +19329,1100105,57,1,2,1.0,7.0,189782,1,0 +19330,1100105,57,1,2,2.0,7.0,179873,1,0 +19331,1100105,57,1,2,0.0,1.0,159551,1,0 +19332,1100105,57,1,2,2.0,1.0,159726,0,0 +19333,1100105,57,1,2,1.0,1.0,153821,0,0 +19334,1100105,57,1,2,2.0,7.0,190076,0,0 +19335,1100105,57,1,2,1.0,1.0,124610,2,0 +19336,1100105,57,1,2,2.0,1.0,146053,2,0 +19337,1100105,57,1,2,0.0,7.0,120769,2,0 +19338,1100105,57,1,2,1.0,5.0,131793,2,0 +19339,1100105,57,1,2,1.0,5.0,103583,2,0 +19340,1100105,57,1,2,0.0,1.0,137064,2,0 +19341,1100105,57,1,2,0.0,1.0,139838,2,0 +19342,1100105,57,1,2,1.0,1.0,139807,2,0 +19343,1100105,57,1,2,1.0,7.0,124412,2,0 +19344,1100105,57,1,2,0.0,5.0,149160,2,0 +19345,1100105,57,1,2,1.0,7.0,124412,2,0 +19346,1100105,57,1,2,1.0,5.0,118844,2,0 +19347,1100105,57,1,2,1.0,7.0,136730,2,0 +19348,1100105,57,1,2,1.0,7.0,124169,2,0 +19349,1100105,57,1,2,0.0,7.0,111430,2,0 +19350,1100105,57,1,2,1.0,7.0,136730,2,0 +19351,1100105,57,1,2,0.0,7.0,145017,2,0 +19352,1100105,57,1,2,0.0,5.0,148573,2,0 +19353,1100105,57,1,2,1.0,1.0,112605,2,0 +19354,1100105,57,1,2,1.0,7.0,103335,2,0 +19355,1100105,57,1,2,0.0,7.0,112393,2,0 +19356,1100105,57,1,2,0.0,7.0,149160,2,0 +19357,1100105,57,1,2,0.0,7.0,119920,2,0 +19358,1100105,57,1,2,1.0,5.0,120558,2,0 +19359,1100105,57,1,2,1.0,1.0,142916,2,0 +19360,1100105,57,1,2,2.0,7.0,134583,2,0 +19361,1100105,57,1,2,0.0,1.0,110706,2,0 +19362,1100105,57,1,2,0.0,7.0,121571,2,0 +19363,1100105,57,1,2,1.0,7.0,100904,2,0 +19364,1100105,57,1,2,0.0,7.0,145017,2,0 +19365,1100105,57,1,2,0.0,7.0,149160,2,0 +19366,1100105,57,1,2,1.0,5.0,118086,2,0 +19367,1100105,57,1,2,0.0,5.0,124271,2,0 +19368,1100105,57,1,2,0.0,5.0,124271,2,0 +19369,1100105,57,1,2,1.0,7.0,121571,2,0 +19370,1100105,57,1,2,1.0,1.0,117032,2,0 +19371,1100105,57,1,2,0.0,5.0,133728,2,0 +19372,1100105,57,1,2,0.0,7.0,138541,2,0 +19373,1100105,57,1,2,0.0,7.0,145017,2,0 +19374,1100105,57,1,2,2.0,1.0,146682,2,0 +19375,1100105,57,1,2,0.0,1.0,136900,2,0 +19376,1100105,57,1,2,0.0,1.0,115675,2,0 +19377,1100105,57,1,2,1.0,7.0,142399,2,0 +19378,1100105,57,1,2,0.0,5.0,137781,2,0 +19379,1100105,57,1,2,0.0,5.0,137781,2,0 +19380,1100105,57,1,2,0.0,5.0,137781,2,0 +19381,1100105,57,1,2,0.0,5.0,137781,2,0 +19382,1100105,57,1,2,0.0,5.0,102784,2,0 +19383,1100105,57,1,2,1.0,5.0,101083,1,0 +19384,1100105,57,1,2,1.0,1.0,139807,1,0 +19385,1100105,57,1,2,1.0,7.0,126521,1,0 +19386,1100105,57,1,2,2.0,1.0,107067,1,0 +19387,1100105,57,1,2,2.0,7.0,108401,1,0 +19388,1100105,57,1,2,0.0,1.0,105062,1,0 +19389,1100105,57,1,2,1.0,5.0,143981,1,0 +19390,1100105,57,1,2,0.0,7.0,115978,1,0 +19391,1100105,57,1,2,0.0,5.0,122304,1,0 +19392,1100105,57,1,2,1.0,1.0,126339,1,0 +19393,1100105,57,1,2,2.0,1.0,132655,0,0 +19394,1100105,57,1,2,1.0,1.0,121144,0,0 +19395,1100105,57,1,2,1.0,1.0,131266,0,0 +19396,1100105,57,1,2,1.0,7.0,100900,0,0 +19397,1100105,57,1,2,1.0,1.0,91178,2,0 +19398,1100105,57,1,2,0.0,2.0,75161,2,0 +19399,1100105,57,1,2,2.0,7.0,89082,2,0 +19400,1100105,57,1,2,0.0,5.0,84583,2,0 +19401,1100105,57,1,2,0.0,7.0,76967,2,0 +19402,1100105,57,1,2,0.0,5.0,95511,2,0 +19403,1100105,57,1,2,0.0,7.0,76967,2,0 +19404,1100105,57,1,2,1.0,7.0,82458,2,0 +19405,1100105,57,1,2,0.0,7.0,93508,2,0 +19406,1100105,57,1,2,0.0,7.0,93508,2,0 +19407,1100105,57,1,2,1.0,5.0,85243,2,0 +19408,1100105,57,1,2,0.0,7.0,70851,2,0 +19409,1100105,57,1,2,0.0,7.0,89619,2,0 +19410,1100105,57,1,2,1.0,5.0,61900,2,0 +19411,1100105,57,1,2,0.0,7.0,78565,2,0 +19412,1100105,57,1,2,1.0,5.0,58368,2,0 +19413,1100105,57,1,2,1.0,7.0,96360,2,0 +19414,1100105,57,1,2,1.0,5.0,64438,2,0 +19415,1100105,57,1,2,1.0,5.0,85100,2,0 +19416,1100105,57,1,2,0.0,5.0,67024,2,0 +19417,1100105,57,1,2,1.0,7.0,56971,2,0 +19418,1100105,57,1,2,1.0,5.0,85100,2,0 +19419,1100105,57,1,2,1.0,3.0,87936,2,0 +19420,1100105,57,1,2,1.0,5.0,58368,2,0 +19421,1100105,57,1,2,1.0,7.0,60064,2,0 +19422,1100105,57,1,2,0.0,7.0,82334,2,0 +19423,1100105,57,1,2,1.0,1.0,79041,2,0 +19424,1100105,57,1,2,0.0,7.0,98054,2,0 +19425,1100105,57,1,2,1.0,5.0,87010,2,0 +19426,1100105,57,1,2,2.0,7.0,98404,2,0 +19427,1100105,57,1,2,1.0,7.0,54899,1,0 +19428,1100105,57,1,2,1.0,7.0,90739,1,0 +19429,1100105,57,1,2,1.0,1.0,55502,1,0 +19430,1100105,57,1,2,2.0,3.0,65851,1,0 +19431,1100105,57,1,2,1.0,3.0,95639,1,0 +19432,1100105,57,1,2,1.0,7.0,84899,1,0 +19433,1100105,57,1,2,0.0,1.0,66423,1,0 +19434,1100105,57,1,2,0.0,1.0,66423,1,0 +19435,1100105,57,1,2,0.0,7.0,53104,1,0 +19436,1100105,57,1,2,0.0,7.0,53104,1,0 +19437,1100105,57,1,2,2.0,3.0,71199,1,0 +19438,1100105,57,1,2,2.0,3.0,71199,1,0 +19439,1100105,57,1,2,2.0,5.0,54017,1,0 +19440,1100105,57,1,2,1.0,1.0,69586,1,0 +19441,1100105,57,1,2,0.0,7.0,82364,1,0 +19442,1100105,57,1,2,0.0,1.0,73876,1,0 +19443,1100105,57,1,2,2.0,5.0,54017,1,0 +19444,1100105,57,1,2,0.0,5.0,51796,1,0 +19445,1100105,57,1,2,0.0,5.0,51796,1,0 +19446,1100105,57,1,2,0.0,1.0,65851,1,0 +19447,1100105,57,1,2,0.0,1.0,65851,1,0 +19448,1100105,57,1,2,0.0,1.0,65851,1,0 +19449,1100105,57,1,2,1.0,1.0,95289,0,0 +19450,1100105,57,1,2,1.0,1.0,95289,0,0 +19451,1100105,57,1,2,1.0,1.0,99440,0,0 +19452,1100105,57,1,2,1.0,1.0,93362,0,0 +19453,1100105,57,1,2,1.0,5.0,52355,0,0 +19454,1100105,57,1,2,0.0,1.0,47658,2,0 +19455,1100105,57,1,2,0.0,5.0,48531,2,0 +19456,1100105,57,1,2,0.0,7.0,27202,2,0 +19457,1100105,57,1,2,0.0,1.0,36082,2,0 +19458,1100105,57,1,2,0.0,7.0,47855,1,0 +19459,1100105,57,1,2,1.0,3.0,40465,1,0 +19460,1100105,57,1,2,0.0,5.0,31735,1,0 +19461,1100105,57,1,2,0.0,5.0,38326,1,0 +19462,1100105,57,1,2,0.0,7.0,48628,1,0 +19463,1100105,57,1,2,0.0,1.0,28920,0,0 +19464,1100105,57,1,2,0.0,1.0,28920,0,0 +19465,1100105,57,1,2,0.0,1.0,42469,0,0 +19466,1100105,57,1,2,1.0,1.0,26948,0,0 +19467,1100105,57,1,2,0.0,5.0,1411,2,0 +19468,1100105,57,1,2,1.0,3.0,12741,1,0 +19469,1100105,57,1,2,0.0,2.0,10706,1,0 +19470,1100105,57,1,2,0.0,7.0,5306,1,0 +19471,1100105,57,1,2,2.0,5.0,942,1,0 +19472,1100105,57,1,2,0.0,5.0,105,1,0 +19473,1100105,57,1,2,0.0,7.0,5306,1,0 +19474,1100105,57,1,2,2.0,5.0,942,1,0 +19475,1100105,57,1,2,0.0,7.0,5306,1,0 +19476,1100105,57,1,2,0.0,7.0,5074,1,0 +19477,1100105,57,1,2,0.0,7.0,5074,1,0 +19478,1100105,57,1,2,0.0,7.0,8187,1,0 +19479,1100105,57,1,2,0.0,7.0,5074,1,0 +19480,1100105,57,1,2,0.0,1.0,4972,0,0 +19481,1100105,57,1,2,0.0,1.0,16661,0,0 +19482,1100105,57,1,2,0.0,1.0,16661,0,0 +19483,1100105,57,1,2,0.0,3.0,20243,0,0 +19484,1100105,57,1,2,0.0,3.0,20243,0,0 +19485,1100105,57,1,2,0.0,1.0,8565,0,0 +19486,1100105,57,1,2,0.0,3.0,6747,0,0 +19487,1100105,57,1,2,0.0,3.0,24213,0,0 +19488,1100105,57,1,2,0.0,7.0,0,0,0 +19489,1100105,57,1,2,0.0,5.0,4280,0,0 +19490,1100105,57,1,2,0.0,7.0,0,0,0 +19491,1100105,57,1,2,0.0,5.0,4280,0,0 +19492,1100105,57,1,2,0.0,7.0,4246,0,0 +19493,1100105,57,1,2,1.0,7.0,1519,0,0 +19494,1100105,57,1,2,0.0,7.0,0,0,0 +19495,1100105,57,1,2,0.0,7.0,0,0,0 +19496,1100105,57,1,2,2.0,7.0,13465,0,0 +19497,1100105,57,1,2,1.0,7.0,9957,0,0 +19498,1100105,57,1,2,1.0,1.0,21224,0,0 +19499,1100105,57,1,2,2.0,7.0,19102,0,0 +19500,1100105,57,1,1,1.0,4.0,623131,1,0 +19501,1100105,57,1,1,0.0,6.0,221412,1,0 +19502,1100105,57,1,1,0.0,4.0,771675,1,0 +19503,1100105,57,1,1,1.0,6.0,414885,1,0 +19504,1100105,57,1,1,1.0,4.0,1080379,1,0 +19505,1100105,57,1,1,1.0,4.0,269274,1,0 +19506,1100105,57,1,1,1.0,6.0,327625,1,0 +19507,1100105,57,1,1,1.0,4.0,233012,1,0 +19508,1100105,57,1,1,0.0,4.0,238760,1,0 +19509,1100105,57,1,1,1.0,6.0,325253,1,0 +19510,1100105,57,1,1,1.0,6.0,210869,1,0 +19511,1100105,57,1,1,0.0,4.0,222860,1,0 +19512,1100105,57,1,1,1.0,4.0,213382,1,0 +19513,1100105,57,1,1,1.0,4.0,329357,1,0 +19514,1100105,57,1,1,1.0,6.0,220569,1,0 +19515,1100105,57,1,1,0.0,4.0,414335,1,0 +19516,1100105,57,1,1,1.0,4.0,310751,1,0 +19517,1100105,57,1,1,0.0,6.0,204139,1,0 +19518,1100105,57,1,1,1.0,6.0,211080,1,0 +19519,1100105,57,1,1,0.0,4.0,257260,1,0 +19520,1100105,57,1,1,0.0,6.0,255016,1,0 +19521,1100105,57,1,1,1.0,6.0,325253,1,0 +19522,1100105,57,1,1,0.0,4.0,207710,1,0 +19523,1100105,57,1,1,1.0,4.0,414335,1,0 +19524,1100105,57,1,1,2.0,4.0,212750,1,0 +19525,1100105,57,1,1,0.0,6.0,233012,1,0 +19526,1100105,57,1,1,0.0,4.0,329256,1,0 +19527,1100105,57,1,1,1.0,4.0,247665,1,0 +19528,1100105,57,1,1,0.0,6.0,262532,1,0 +19529,1100105,57,1,1,0.0,4.0,234534,1,0 +19530,1100105,57,1,1,1.0,4.0,212248,1,0 +19531,1100105,57,1,1,0.0,4.0,414335,1,0 +19532,1100105,57,1,1,1.0,6.0,623185,1,0 +19533,1100105,57,1,1,1.0,4.0,210869,1,0 +19534,1100105,57,1,1,1.0,6.0,623185,1,0 +19535,1100105,57,1,1,1.0,6.0,278601,1,0 +19536,1100105,57,1,1,0.0,6.0,202619,1,0 +19537,1100105,57,1,1,0.0,6.0,324191,1,0 +19538,1100105,57,1,1,1.0,6.0,326847,1,0 +19539,1100105,57,1,1,1.0,4.0,253274,1,0 +19540,1100105,57,1,1,1.0,4.0,215847,1,0 +19541,1100105,57,1,1,0.0,6.0,204060,1,0 +19542,1100105,57,1,1,1.0,6.0,212750,1,0 +19543,1100105,57,1,1,1.0,6.0,326847,1,0 +19544,1100105,57,1,1,0.0,6.0,206131,1,0 +19545,1100105,57,1,1,1.0,4.0,275562,1,0 +19546,1100105,57,1,1,1.0,4.0,231897,1,0 +19547,1100105,57,1,1,1.0,4.0,450205,0,0 +19548,1100105,57,1,1,1.0,4.0,204060,0,0 +19549,1100105,57,1,1,1.0,4.0,450205,0,0 +19550,1100105,57,1,1,0.0,6.0,227136,0,0 +19551,1100105,57,1,1,1.0,4.0,450205,0,0 +19552,1100105,57,1,1,1.0,6.0,353393,0,0 +19553,1100105,57,1,1,1.0,6.0,443036,0,0 +19554,1100105,57,1,1,1.0,4.0,450205,0,0 +19555,1100105,57,1,1,1.0,6.0,353393,0,0 +19556,1100105,57,1,1,0.0,6.0,445566,0,0 +19557,1100105,57,1,1,0.0,6.0,227136,0,0 +19558,1100105,57,1,1,1.0,6.0,427010,0,0 +19559,1100105,57,1,1,1.0,6.0,286927,0,0 +19560,1100105,57,1,1,0.0,4.0,168484,1,0 +19561,1100105,57,1,1,0.0,6.0,165734,1,0 +19562,1100105,57,1,1,1.0,6.0,163423,1,0 +19563,1100105,57,1,1,6.0,4.0,180411,1,0 +19564,1100105,57,1,1,0.0,4.0,189782,1,0 +19565,1100105,57,1,1,1.0,4.0,163662,1,0 +19566,1100105,57,1,1,1.0,4.0,164492,1,0 +19567,1100105,57,1,1,2.0,4.0,156960,1,0 +19568,1100105,57,1,1,0.0,6.0,153990,1,0 +19569,1100105,57,1,1,1.0,4.0,164492,1,0 +19570,1100105,57,1,1,1.0,4.0,176092,1,0 +19571,1100105,57,1,1,1.0,6.0,154339,1,0 +19572,1100105,57,1,1,0.0,4.0,157097,1,0 +19573,1100105,57,1,1,1.0,4.0,172226,1,0 +19574,1100105,57,1,1,1.0,4.0,182610,1,0 +19575,1100105,57,1,1,0.0,6.0,180729,1,0 +19576,1100105,57,1,1,1.0,6.0,157030,1,0 +19577,1100105,57,1,1,0.0,6.0,196809,1,0 +19578,1100105,57,1,1,0.0,4.0,180411,1,0 +19579,1100105,57,1,1,1.0,6.0,161590,1,0 +19580,1100105,57,1,1,0.0,4.0,175104,1,0 +19581,1100105,57,1,1,0.0,4.0,196329,1,0 +19582,1100105,57,1,1,0.0,6.0,167161,1,0 +19583,1100105,57,1,1,0.0,4.0,161631,1,0 +19584,1100105,57,1,1,1.0,4.0,182357,1,0 +19585,1100105,57,1,1,1.0,4.0,179238,1,0 +19586,1100105,57,1,1,1.0,6.0,188438,1,0 +19587,1100105,57,1,1,0.0,6.0,162095,1,0 +19588,1100105,57,1,1,1.0,4.0,191023,0,0 +19589,1100105,57,1,1,1.0,4.0,191023,0,0 +19590,1100105,57,1,1,1.0,6.0,130106,1,0 +19591,1100105,57,1,1,1.0,6.0,127838,1,0 +19592,1100105,57,1,1,0.0,6.0,140932,1,0 +19593,1100105,57,1,1,0.0,4.0,104380,1,0 +19594,1100105,57,1,1,0.0,6.0,111671,1,0 +19595,1100105,57,1,1,1.0,4.0,127349,1,0 +19596,1100105,57,1,1,1.0,4.0,111430,1,0 +19597,1100105,57,1,1,1.0,6.0,149894,1,0 +19598,1100105,57,1,1,0.0,6.0,107599,1,0 +19599,1100105,57,1,1,1.0,6.0,113466,1,0 +19600,1100105,57,1,1,0.0,6.0,141757,1,0 +19601,1100105,57,1,1,1.0,6.0,113466,1,0 +19602,1100105,57,1,1,0.0,6.0,141757,1,0 +19603,1100105,57,1,1,1.0,6.0,137961,1,0 +19604,1100105,57,1,1,0.0,4.0,106375,1,0 +19605,1100105,57,1,1,0.0,4.0,117774,1,0 +19606,1100105,57,1,1,1.0,4.0,134658,1,0 +19607,1100105,57,1,1,1.0,4.0,141833,1,0 +19608,1100105,57,1,1,0.0,4.0,106124,1,0 +19609,1100105,57,1,1,0.0,4.0,121571,1,0 +19610,1100105,57,1,1,0.0,4.0,145611,1,0 +19611,1100105,57,1,1,0.0,6.0,115493,1,0 +19612,1100105,57,1,1,1.0,4.0,139187,1,0 +19613,1100105,57,1,1,0.0,6.0,133834,1,0 +19614,1100105,57,1,1,1.0,6.0,136768,1,0 +19615,1100105,57,1,1,1.0,6.0,136900,1,0 +19616,1100105,57,1,1,0.0,4.0,112420,1,0 +19617,1100105,57,1,1,1.0,6.0,100373,1,0 +19618,1100105,57,1,1,0.0,4.0,106124,1,0 +19619,1100105,57,1,1,1.0,6.0,136768,1,0 +19620,1100105,57,1,1,1.0,4.0,137961,1,0 +19621,1100105,57,1,1,1.0,4.0,108762,1,0 +19622,1100105,57,1,1,1.0,6.0,131702,1,0 +19623,1100105,57,1,1,1.0,4.0,103583,1,0 +19624,1100105,57,1,1,1.0,4.0,143904,1,0 +19625,1100105,57,1,1,1.0,6.0,116810,1,0 +19626,1100105,57,1,1,1.0,6.0,137961,1,0 +19627,1100105,57,1,1,1.0,4.0,143981,1,0 +19628,1100105,57,1,1,1.0,4.0,105593,1,0 +19629,1100105,57,1,1,1.0,6.0,136900,1,0 +19630,1100105,57,1,1,1.0,4.0,123358,1,0 +19631,1100105,57,1,1,1.0,4.0,113942,1,0 +19632,1100105,57,1,1,0.0,4.0,106375,1,0 +19633,1100105,57,1,1,1.0,6.0,113491,1,0 +19634,1100105,57,1,1,0.0,4.0,105362,1,0 +19635,1100105,57,1,1,0.0,6.0,123104,1,0 +19636,1100105,57,1,1,0.0,6.0,124300,1,0 +19637,1100105,57,1,1,1.0,4.0,111760,1,0 +19638,1100105,57,1,1,0.0,6.0,101309,1,0 +19639,1100105,57,1,1,1.0,6.0,114978,1,0 +19640,1100105,57,1,1,1.0,4.0,101217,1,0 +19641,1100105,57,1,1,1.0,4.0,101217,1,0 +19642,1100105,57,1,1,0.0,6.0,105434,1,0 +19643,1100105,57,1,1,0.0,6.0,105434,1,0 +19644,1100105,57,1,1,0.0,6.0,105434,1,0 +19645,1100105,57,1,1,0.0,4.0,100817,1,0 +19646,1100105,57,1,1,1.0,4.0,114614,1,0 +19647,1100105,57,1,1,1.0,4.0,128052,1,0 +19648,1100105,57,1,1,1.0,4.0,137117,1,0 +19649,1100105,57,1,1,1.0,4.0,137117,1,0 +19650,1100105,57,1,1,0.0,4.0,131793,1,0 +19651,1100105,57,1,1,1.0,4.0,109360,1,0 +19652,1100105,57,1,1,1.0,6.0,149894,1,0 +19653,1100105,57,1,1,1.0,6.0,105686,1,0 +19654,1100105,57,1,1,0.0,4.0,103325,1,0 +19655,1100105,57,1,1,0.0,4.0,143267,1,0 +19656,1100105,57,1,1,0.0,6.0,119915,1,0 +19657,1100105,57,1,1,0.0,6.0,131702,1,0 +19658,1100105,57,1,1,0.0,6.0,142336,1,0 +19659,1100105,57,1,1,1.0,4.0,126637,1,0 +19660,1100105,57,1,1,0.0,4.0,131793,1,0 +19661,1100105,57,1,1,0.0,4.0,138492,1,0 +19662,1100105,57,1,1,1.0,6.0,122584,1,0 +19663,1100105,57,1,1,1.0,6.0,111430,1,0 +19664,1100105,57,1,1,0.0,4.0,104925,1,0 +19665,1100105,57,1,1,1.0,4.0,106124,1,0 +19666,1100105,57,1,1,0.0,6.0,114479,1,0 +19667,1100105,57,1,1,0.0,6.0,125322,1,0 +19668,1100105,57,1,1,0.0,4.0,121571,1,0 +19669,1100105,57,1,1,1.0,4.0,116703,1,0 +19670,1100105,57,1,1,1.0,6.0,105686,1,0 +19671,1100105,57,1,1,0.0,4.0,104925,1,0 +19672,1100105,57,1,1,1.0,4.0,107174,1,0 +19673,1100105,57,1,1,1.0,6.0,108762,1,0 +19674,1100105,57,1,1,1.0,4.0,109346,1,0 +19675,1100105,57,1,1,1.0,4.0,137117,1,0 +19676,1100105,57,1,1,0.0,4.0,138492,1,0 +19677,1100105,57,1,1,1.0,4.0,131702,1,0 +19678,1100105,57,1,1,0.0,6.0,130729,1,0 +19679,1100105,57,1,1,0.0,4.0,131793,1,0 +19680,1100105,57,1,1,1.0,4.0,118532,1,0 +19681,1100105,57,1,1,1.0,4.0,124695,1,0 +19682,1100105,57,1,1,0.0,6.0,103583,1,0 +19683,1100105,57,1,1,0.0,4.0,116506,1,0 +19684,1100105,57,1,1,1.0,4.0,131905,1,0 +19685,1100105,57,1,1,1.0,6.0,108762,1,0 +19686,1100105,57,1,1,1.0,4.0,116703,1,0 +19687,1100105,57,1,1,0.0,4.0,101309,1,0 +19688,1100105,57,1,1,0.0,4.0,101309,1,0 +19689,1100105,57,1,1,0.0,4.0,101309,1,0 +19690,1100105,57,1,1,0.0,4.0,142399,1,0 +19691,1100105,57,1,1,0.0,4.0,108907,1,0 +19692,1100105,57,1,1,1.0,6.0,131551,0,0 +19693,1100105,57,1,1,0.0,6.0,122483,0,0 +19694,1100105,57,1,1,1.0,4.0,119224,0,0 +19695,1100105,57,1,1,0.0,6.0,122483,0,0 +19696,1100105,57,1,1,0.0,6.0,122483,0,0 +19697,1100105,57,1,1,1.0,4.0,117519,0,0 +19698,1100105,57,1,1,0.0,4.0,112502,0,0 +19699,1100105,57,1,1,1.0,4.0,119224,0,0 +19700,1100105,57,1,1,1.0,4.0,107727,0,0 +19701,1100105,57,1,1,0.0,4.0,124610,0,0 +19702,1100105,57,1,1,1.0,4.0,98270,1,0 +19703,1100105,57,1,1,1.0,4.0,86703,1,0 +19704,1100105,57,1,1,0.0,6.0,87227,1,0 +19705,1100105,57,1,1,1.0,6.0,61135,1,0 +19706,1100105,57,1,1,1.0,4.0,75912,1,0 +19707,1100105,57,1,1,0.0,4.0,81184,1,0 +19708,1100105,57,1,1,1.0,4.0,54604,1,0 +19709,1100105,57,1,1,1.0,6.0,82441,1,0 +19710,1100105,57,1,1,1.0,4.0,52998,1,0 +19711,1100105,57,1,1,0.0,4.0,99272,1,0 +19712,1100105,57,1,1,0.0,4.0,99272,1,0 +19713,1100105,57,1,1,1.0,4.0,81047,1,0 +19714,1100105,57,1,1,1.0,6.0,87010,1,0 +19715,1100105,57,1,1,0.0,6.0,68365,1,0 +19716,1100105,57,1,1,0.0,4.0,91728,1,0 +19717,1100105,57,1,1,1.0,6.0,75982,1,0 +19718,1100105,57,1,1,0.0,4.0,74286,1,0 +19719,1100105,57,1,1,1.0,4.0,82867,1,0 +19720,1100105,57,1,1,0.0,6.0,95511,1,0 +19721,1100105,57,1,1,1.0,4.0,74947,1,0 +19722,1100105,57,1,1,1.0,4.0,70436,1,0 +19723,1100105,57,1,1,0.0,4.0,99756,1,0 +19724,1100105,57,1,1,1.0,6.0,50654,1,0 +19725,1100105,57,1,1,1.0,6.0,58887,1,0 +19726,1100105,57,1,1,1.0,4.0,93432,1,0 +19727,1100105,57,1,1,1.0,4.0,59043,1,0 +19728,1100105,57,1,1,1.0,6.0,70641,1,0 +19729,1100105,57,1,1,0.0,4.0,59772,1,0 +19730,1100105,57,1,1,0.0,4.0,75982,1,0 +19731,1100105,57,1,1,0.0,4.0,94922,1,0 +19732,1100105,57,1,1,0.0,4.0,76017,1,0 +19733,1100105,57,1,1,1.0,4.0,95511,1,0 +19734,1100105,57,1,1,1.0,6.0,96244,1,0 +19735,1100105,57,1,1,0.0,6.0,75982,1,0 +19736,1100105,57,1,1,0.0,6.0,95289,1,0 +19737,1100105,57,1,1,1.0,4.0,73804,1,0 +19738,1100105,57,1,1,1.0,4.0,99440,1,0 +19739,1100105,57,1,1,0.0,4.0,83293,1,0 +19740,1100105,57,1,1,1.0,6.0,88046,1,0 +19741,1100105,57,1,1,1.0,6.0,96360,1,0 +19742,1100105,57,1,1,0.0,6.0,79593,1,0 +19743,1100105,57,1,1,1.0,6.0,62150,1,0 +19744,1100105,57,1,1,0.0,4.0,52620,1,0 +19745,1100105,57,1,1,1.0,6.0,88046,1,0 +19746,1100105,57,1,1,1.0,4.0,69182,1,0 +19747,1100105,57,1,1,0.0,4.0,90205,1,0 +19748,1100105,57,1,1,1.0,6.0,96360,1,0 +19749,1100105,57,1,1,0.0,4.0,62099,1,0 +19750,1100105,57,1,1,0.0,6.0,67329,1,0 +19751,1100105,57,1,1,0.0,6.0,93836,1,0 +19752,1100105,57,1,1,0.0,6.0,79593,1,0 +19753,1100105,57,1,1,0.0,6.0,70612,1,0 +19754,1100105,57,1,1,1.0,6.0,61152,1,0 +19755,1100105,57,1,1,0.0,6.0,89936,1,0 +19756,1100105,57,1,1,1.0,6.0,64240,1,0 +19757,1100105,57,1,1,0.0,6.0,84347,1,0 +19758,1100105,57,1,1,0.0,4.0,75912,1,0 +19759,1100105,57,1,1,1.0,6.0,58368,1,0 +19760,1100105,57,1,1,0.0,6.0,60097,1,0 +19761,1100105,57,1,1,1.0,6.0,58368,1,0 +19762,1100105,57,1,1,0.0,6.0,84347,1,0 +19763,1100105,57,1,1,0.0,4.0,81047,1,0 +19764,1100105,57,1,1,1.0,6.0,62150,1,0 +19765,1100105,57,1,1,0.0,6.0,60097,1,0 +19766,1100105,57,1,1,1.0,4.0,96360,1,0 +19767,1100105,57,1,1,0.0,6.0,82060,1,0 +19768,1100105,57,1,1,0.0,6.0,89936,1,0 +19769,1100105,57,1,1,0.0,4.0,71472,1,0 +19770,1100105,57,1,1,0.0,6.0,99756,1,0 +19771,1100105,57,1,1,0.0,6.0,79593,1,0 +19772,1100105,57,1,1,1.0,6.0,64325,1,0 +19773,1100105,57,1,1,0.0,6.0,85653,1,0 +19774,1100105,57,1,1,0.0,6.0,80300,1,0 +19775,1100105,57,1,1,0.0,4.0,91178,1,0 +19776,1100105,57,1,1,0.0,4.0,79593,1,0 +19777,1100105,57,1,1,1.0,6.0,60490,1,0 +19778,1100105,57,1,1,1.0,4.0,89619,1,0 +19779,1100105,57,1,1,1.0,6.0,79075,1,0 +19780,1100105,57,1,1,1.0,6.0,52717,1,0 +19781,1100105,57,1,1,0.0,6.0,80300,1,0 +19782,1100105,57,1,1,1.0,6.0,96360,1,0 +19783,1100105,57,1,1,0.0,6.0,79283,1,0 +19784,1100105,57,1,1,0.0,6.0,63674,1,0 +19785,1100105,57,1,1,1.0,6.0,96332,1,0 +19786,1100105,57,1,1,0.0,6.0,63674,1,0 +19787,1100105,57,1,1,0.0,4.0,52717,1,0 +19788,1100105,57,1,1,0.0,4.0,96244,1,0 +19789,1100105,57,1,1,1.0,6.0,67329,1,0 +19790,1100105,57,1,1,0.0,4.0,72942,1,0 +19791,1100105,57,1,1,1.0,6.0,55139,1,0 +19792,1100105,57,1,1,0.0,6.0,94891,1,0 +19793,1100105,57,1,1,1.0,4.0,56971,1,0 +19794,1100105,57,1,1,1.0,4.0,69829,1,0 +19795,1100105,57,1,1,0.0,6.0,54608,1,0 +19796,1100105,57,1,1,0.0,6.0,54608,1,0 +19797,1100105,57,1,1,1.0,6.0,67329,1,0 +19798,1100105,57,1,1,0.0,6.0,65797,1,0 +19799,1100105,57,1,1,0.0,6.0,76652,1,0 +19800,1100105,57,1,1,0.0,6.0,63674,1,0 +19801,1100105,57,1,1,0.0,4.0,91178,1,0 +19802,1100105,57,1,1,0.0,4.0,52717,1,0 +19803,1100105,57,1,1,0.0,6.0,76652,1,0 +19804,1100105,57,1,1,0.0,6.0,92189,1,0 +19805,1100105,57,1,1,0.0,4.0,56733,1,0 +19806,1100105,57,1,1,0.0,6.0,81047,1,0 +19807,1100105,57,1,1,0.0,6.0,67877,1,0 +19808,1100105,57,1,1,1.0,6.0,79075,1,0 +19809,1100105,57,1,1,0.0,4.0,88046,1,0 +19810,1100105,57,1,1,0.0,6.0,67877,1,0 +19811,1100105,57,1,1,1.0,6.0,58368,1,0 +19812,1100105,57,1,1,0.0,6.0,76652,1,0 +19813,1100105,57,1,1,1.0,4.0,87126,1,0 +19814,1100105,57,1,1,0.0,6.0,71929,1,0 +19815,1100105,57,1,1,0.0,6.0,63674,1,0 +19816,1100105,57,1,1,1.0,6.0,75992,1,0 +19817,1100105,57,1,1,0.0,6.0,96332,1,0 +19818,1100105,57,1,1,0.0,6.0,92189,1,0 +19819,1100105,57,1,1,1.0,6.0,70641,1,0 +19820,1100105,57,1,1,1.0,6.0,62150,1,0 +19821,1100105,57,1,1,0.0,6.0,67329,1,0 +19822,1100105,57,1,1,1.0,6.0,71472,1,0 +19823,1100105,57,1,1,1.0,4.0,99626,1,0 +19824,1100105,57,1,1,1.0,6.0,91178,1,0 +19825,1100105,57,1,1,0.0,4.0,64315,1,0 +19826,1100105,57,1,1,0.0,4.0,50939,1,0 +19827,1100105,57,1,1,0.0,6.0,53062,1,0 +19828,1100105,57,1,1,0.0,6.0,63260,1,0 +19829,1100105,57,1,1,0.0,6.0,67877,1,0 +19830,1100105,57,1,1,1.0,4.0,79075,1,0 +19831,1100105,57,1,1,0.0,4.0,64315,1,0 +19832,1100105,57,1,1,0.0,4.0,52717,1,0 +19833,1100105,57,1,1,0.0,6.0,93235,1,0 +19834,1100105,57,1,1,0.0,4.0,95289,1,0 +19835,1100105,57,1,1,0.0,4.0,91178,1,0 +19836,1100105,57,1,1,0.0,4.0,91178,1,0 +19837,1100105,57,1,1,0.0,6.0,81047,1,0 +19838,1100105,57,1,1,1.0,4.0,98404,1,0 +19839,1100105,57,1,1,1.0,4.0,89619,1,0 +19840,1100105,57,1,1,0.0,4.0,95289,1,0 +19841,1100105,57,1,1,1.0,4.0,56971,1,0 +19842,1100105,57,1,1,0.0,6.0,96360,1,0 +19843,1100105,57,1,1,1.0,6.0,91178,1,0 +19844,1100105,57,1,1,0.0,4.0,52717,1,0 +19845,1100105,57,1,1,0.0,6.0,83838,1,0 +19846,1100105,57,1,1,1.0,6.0,60816,1,0 +19847,1100105,57,1,1,0.0,4.0,73956,1,0 +19848,1100105,57,1,1,1.0,4.0,71929,1,0 +19849,1100105,57,1,1,0.0,6.0,61552,1,0 +19850,1100105,57,1,1,1.0,4.0,71929,1,0 +19851,1100105,57,1,1,1.0,6.0,79075,1,0 +19852,1100105,57,1,1,3.0,4.0,69647,1,0 +19853,1100105,57,1,1,0.0,4.0,64315,1,0 +19854,1100105,57,1,1,0.0,4.0,64315,1,0 +19855,1100105,57,1,1,1.0,6.0,96332,1,0 +19856,1100105,57,1,1,1.0,4.0,68980,1,0 +19857,1100105,57,1,1,0.0,6.0,56245,1,0 +19858,1100105,57,1,1,0.0,4.0,72164,1,0 +19859,1100105,57,1,1,1.0,4.0,65851,1,0 +19860,1100105,57,1,1,0.0,6.0,50397,1,0 +19861,1100105,57,1,1,0.0,6.0,56245,1,0 +19862,1100105,57,1,1,0.0,4.0,62812,1,0 +19863,1100105,57,1,1,1.0,6.0,62150,1,0 +19864,1100105,57,1,1,0.0,6.0,50397,1,0 +19865,1100105,57,1,1,1.0,6.0,62150,1,0 +19866,1100105,57,1,1,0.0,6.0,72508,1,0 +19867,1100105,57,1,1,0.0,6.0,72508,1,0 +19868,1100105,57,1,1,1.0,4.0,65851,1,0 +19869,1100105,57,1,1,0.0,6.0,56245,1,0 +19870,1100105,57,1,1,0.0,6.0,56245,1,0 +19871,1100105,57,1,1,0.0,4.0,84899,1,0 +19872,1100105,57,1,1,0.0,4.0,58887,1,0 +19873,1100105,57,1,1,0.0,6.0,72508,1,0 +19874,1100105,57,1,1,1.0,6.0,70916,1,0 +19875,1100105,57,1,1,0.0,6.0,72508,1,0 +19876,1100105,57,1,1,1.0,4.0,65598,1,0 +19877,1100105,57,1,1,0.0,6.0,72508,1,0 +19878,1100105,57,1,1,1.0,6.0,61010,0,0 +19879,1100105,57,1,1,1.0,6.0,61010,0,0 +19880,1100105,57,1,1,1.0,6.0,61010,0,0 +19881,1100105,57,1,1,0.0,6.0,83377,0,0 +19882,1100105,57,1,1,0.0,6.0,83377,0,0 +19883,1100105,57,1,1,1.0,6.0,82870,0,0 +19884,1100105,57,1,1,0.0,6.0,67583,0,0 +19885,1100105,57,1,1,0.0,6.0,67583,0,0 +19886,1100105,57,1,1,0.0,6.0,56564,0,0 +19887,1100105,57,1,1,0.0,4.0,59975,0,0 +19888,1100105,57,1,1,1.0,6.0,59886,0,0 +19889,1100105,57,1,1,1.0,6.0,59886,0,0 +19890,1100105,57,1,1,0.0,6.0,63260,0,0 +19891,1100105,57,1,1,1.0,6.0,51364,0,0 +19892,1100105,57,1,1,1.0,4.0,68181,0,0 +19893,1100105,57,1,1,0.0,6.0,64331,0,0 +19894,1100105,57,1,1,1.0,4.0,52174,0,0 +19895,1100105,57,1,1,0.0,4.0,61292,0,0 +19896,1100105,57,1,1,0.0,4.0,61292,0,0 +19897,1100105,57,1,1,0.0,6.0,56564,0,0 +19898,1100105,57,1,1,0.0,4.0,94219,0,0 +19899,1100105,57,1,1,0.0,6.0,69692,0,0 +19900,1100105,57,1,1,0.0,4.0,61292,0,0 +19901,1100105,57,1,1,1.0,4.0,88083,0,0 +19902,1100105,57,1,1,1.0,6.0,59886,0,0 +19903,1100105,57,1,1,0.0,4.0,55184,0,0 +19904,1100105,57,1,1,0.0,6.0,56564,0,0 +19905,1100105,57,1,1,1.0,4.0,68181,0,0 +19906,1100105,57,1,1,1.0,6.0,59886,0,0 +19907,1100105,57,1,1,0.0,4.0,94219,0,0 +19908,1100105,57,1,1,1.0,6.0,51178,0,0 +19909,1100105,57,1,1,1.0,4.0,55821,0,0 +19910,1100105,57,1,1,1.0,4.0,55821,0,0 +19911,1100105,57,1,1,1.0,4.0,55821,0,0 +19912,1100105,57,1,1,0.0,4.0,63217,0,0 +19913,1100105,57,1,1,1.0,6.0,83944,0,0 +19914,1100105,57,1,1,1.0,6.0,79593,0,0 +19915,1100105,57,1,1,2.0,6.0,70916,0,0 +19916,1100105,57,1,1,0.0,4.0,71103,0,0 +19917,1100105,57,1,1,0.0,4.0,42184,1,0 +19918,1100105,57,1,1,0.0,4.0,42184,1,0 +19919,1100105,57,1,1,1.0,6.0,42449,1,0 +19920,1100105,57,1,1,0.0,4.0,42701,1,0 +19921,1100105,57,1,1,1.0,6.0,33146,1,0 +19922,1100105,57,1,1,0.0,6.0,27837,1,0 +19923,1100105,57,1,1,0.0,6.0,32120,1,0 +19924,1100105,57,1,1,0.0,4.0,29003,1,0 +19925,1100105,57,1,1,0.0,6.0,45589,1,0 +19926,1100105,57,1,1,1.0,4.0,43829,1,0 +19927,1100105,57,1,1,0.0,6.0,45589,1,0 +19928,1100105,57,1,1,0.0,4.0,26931,1,0 +19929,1100105,57,1,1,0.0,4.0,31837,1,0 +19930,1100105,57,1,1,1.0,4.0,42780,1,0 +19931,1100105,57,1,1,0.0,6.0,36902,1,0 +19932,1100105,57,1,1,0.0,4.0,36254,1,0 +19933,1100105,57,1,1,1.0,4.0,49554,1,0 +19934,1100105,57,1,1,1.0,4.0,41537,1,0 +19935,1100105,57,1,1,0.0,4.0,38204,1,0 +19936,1100105,57,1,1,0.0,6.0,32628,1,0 +19937,1100105,57,1,1,0.0,6.0,32628,1,0 +19938,1100105,57,1,1,0.0,6.0,49554,1,0 +19939,1100105,57,1,1,0.0,6.0,37143,1,0 +19940,1100105,57,1,1,1.0,4.0,47755,1,0 +19941,1100105,57,1,1,1.0,6.0,36254,1,0 +19942,1100105,57,1,1,0.0,4.0,42826,1,0 +19943,1100105,57,1,1,0.0,6.0,37143,1,0 +19944,1100105,57,1,1,0.0,6.0,46745,1,0 +19945,1100105,57,1,1,0.0,6.0,32120,1,0 +19946,1100105,57,1,1,1.0,6.0,29521,0,0 +19947,1100105,57,1,1,1.0,6.0,29521,0,0 +19948,1100105,57,1,1,1.0,6.0,29521,0,0 +19949,1100105,57,1,1,1.0,6.0,29521,0,0 +19950,1100105,57,1,1,1.0,6.0,25327,0,0 +19951,1100105,57,1,1,1.0,6.0,26931,0,0 +19952,1100105,57,1,1,0.0,6.0,43157,0,0 +19953,1100105,57,1,1,1.0,4.0,38544,0,0 +19954,1100105,57,1,1,1.0,6.0,26931,0,0 +19955,1100105,57,1,1,2.0,6.0,48628,0,0 +19956,1100105,57,1,1,0.0,6.0,43157,0,0 +19957,1100105,57,1,1,1.0,6.0,32580,0,0 +19958,1100105,57,1,1,0.0,6.0,30453,0,0 +19959,1100105,57,1,1,0.0,6.0,39713,0,0 +19960,1100105,57,1,1,0.0,4.0,29210,0,0 +19961,1100105,57,1,1,0.0,6.0,30453,0,0 +19962,1100105,57,1,1,0.0,4.0,37383,0,0 +19963,1100105,57,1,1,0.0,6.0,30576,0,0 +19964,1100105,57,1,1,0.0,4.0,32684,0,0 +19965,1100105,57,1,1,1.0,6.0,35109,0,0 +19966,1100105,57,1,1,0.0,4.0,41739,0,0 +19967,1100105,57,1,1,0.0,4.0,41739,0,0 +19968,1100105,57,1,1,1.0,4.0,20906,1,0 +19969,1100105,57,1,1,1.0,6.0,13062,1,0 +19970,1100105,57,1,1,1.0,4.0,7498,1,0 +19971,1100105,57,1,1,1.0,4.0,20906,1,0 +19972,1100105,57,1,1,0.0,6.0,21959,1,0 +19973,1100105,57,1,1,1.0,6.0,13062,1,0 +19974,1100105,57,1,1,0.0,6.0,19700,1,0 +19975,1100105,57,1,1,0.0,6.0,19700,1,0 +19976,1100105,57,1,1,0.0,6.0,19700,1,0 +19977,1100105,57,1,1,0.0,4.0,5851,1,0 +19978,1100105,57,1,1,1.0,4.0,9197,1,0 +19979,1100105,57,1,1,1.0,4.0,9197,1,0 +19980,1100105,57,1,1,1.0,4.0,14989,1,0 +19981,1100105,57,1,1,0.0,4.0,7216,1,0 +19982,1100105,57,1,1,0.0,4.0,7216,1,0 +19983,1100105,57,1,1,0.0,6.0,7192,1,0 +19984,1100105,57,1,1,0.0,6.0,103,1,0 +19985,1100105,57,1,1,1.0,4.0,7380,1,0 +19986,1100105,57,1,1,1.0,6.0,15815,1,0 +19987,1100105,57,1,1,2.0,4.0,21413,1,0 +19988,1100105,57,1,1,2.0,4.0,21413,1,0 +19989,1100105,57,1,1,0.0,4.0,12238,1,0 +19990,1100105,57,1,1,0.0,4.0,11394,1,0 +19991,1100105,57,1,1,0.0,4.0,7747,1,0 +19992,1100105,57,1,1,0.0,4.0,7747,1,0 +19993,1100105,57,1,1,0.0,6.0,10706,1,0 +19994,1100105,57,1,1,0.0,4.0,11394,1,0 +19995,1100105,57,1,1,0.0,4.0,7747,1,0 +19996,1100105,57,1,1,0.0,4.0,11394,1,0 +19997,1100105,57,1,1,1.0,6.0,10706,1,0 +19998,1100105,57,1,1,0.0,6.0,10358,1,0 +19999,1100105,57,1,1,1.0,6.0,10706,1,0 +20000,1100105,57,1,1,1.0,6.0,12652,1,0 +20001,1100105,57,1,1,1.0,6.0,10706,1,0 +20002,1100105,57,1,1,1.0,6.0,10706,1,0 +20003,1100105,57,1,1,2.0,4.0,4558,1,0 +20004,1100105,57,1,1,0.0,6.0,10358,1,0 +20005,1100105,57,1,1,0.0,6.0,8286,1,0 +20006,1100105,57,1,1,0.0,6.0,1697,1,0 +20007,1100105,57,1,1,0.0,6.0,18235,1,0 +20008,1100105,57,1,1,1.0,6.0,6326,1,0 +20009,1100105,57,1,1,0.0,6.0,20716,1,0 +20010,1100105,57,1,1,0.0,4.0,21086,1,0 +20011,1100105,57,1,1,0.0,4.0,11703,1,0 +20012,1100105,57,1,1,0.0,6.0,14857,1,0 +20013,1100105,57,1,1,1.0,6.0,8234,1,0 +20014,1100105,57,1,1,0.0,6.0,10358,1,0 +20015,1100105,57,1,1,0.0,4.0,11703,1,0 +20016,1100105,57,1,1,1.0,6.0,1581,1,0 +20017,1100105,57,1,1,0.0,6.0,10612,1,0 +20018,1100105,57,1,1,0.0,4.0,11703,1,0 +20019,1100105,57,1,1,0.0,6.0,10358,1,0 +20020,1100105,57,1,1,0.0,4.0,21162,1,0 +20021,1100105,57,1,1,1.0,6.0,6326,1,0 +20022,1100105,57,1,1,0.0,4.0,11703,1,0 +20023,1100105,57,1,1,0.0,4.0,14082,1,0 +20024,1100105,57,1,1,0.0,4.0,14082,1,0 +20025,1100105,57,1,1,0.0,4.0,14082,1,0 +20026,1100105,57,1,1,1.0,6.0,17923,1,0 +20027,1100105,57,1,1,0.0,4.0,5306,1,0 +20028,1100105,57,1,1,1.0,4.0,5271,1,0 +20029,1100105,57,1,1,0.0,6.0,12157,0,0 +20030,1100105,57,1,1,0.0,4.0,8914,0,0 +20031,1100105,57,1,1,0.0,6.0,23126,0,0 +20032,1100105,57,1,1,0.0,6.0,23126,0,0 +20033,1100105,57,1,1,0.0,6.0,12157,0,0 +20034,1100105,57,1,1,0.0,6.0,11497,0,0 +20035,1100105,57,1,1,0.0,6.0,18852,0,0 +20036,1100105,57,1,1,0.0,6.0,12157,0,0 +20037,1100105,57,1,1,0.0,6.0,11497,0,0 +20038,1100105,57,1,1,0.0,6.0,18852,0,0 +20039,1100105,57,1,1,0.0,6.0,19314,0,0 +20040,1100105,57,1,1,0.0,4.0,8914,0,0 +20041,1100105,57,1,1,0.0,6.0,18852,0,0 +20042,1100105,57,1,1,0.0,6.0,11497,0,0 +20043,1100105,57,1,1,0.0,6.0,11497,0,0 +20044,1100105,57,1,1,0.0,6.0,19314,0,0 +20045,1100105,57,1,1,0.0,6.0,19314,0,0 +20046,1100105,57,1,1,0.0,6.0,8779,0,0 +20047,1100105,57,1,1,0.0,4.0,2108,0,0 +20048,1100105,57,1,1,1.0,6.0,7091,0,0 +20049,1100105,57,1,1,0.0,6.0,21023,0,0 +20050,1100105,57,1,1,0.0,6.0,21023,0,0 +20051,1100105,57,1,1,0.0,4.0,2108,0,0 +20052,1100105,57,1,1,0.0,6.0,8779,0,0 +20053,1100105,57,1,1,0.0,4.0,16555,0,0 +20054,1100105,57,1,1,0.0,6.0,1450,0,0 +20055,1100105,57,1,1,0.0,6.0,1346,0,0 +20056,1100105,57,1,1,0.0,6.0,13495,0,0 +20057,1100105,57,1,1,1.0,6.0,0,0,0 +20058,1100105,57,1,1,0.0,6.0,9314,0,0 +20059,1100105,57,1,1,0.0,4.0,12734,0,0 +20060,1100105,57,1,1,0.0,6.0,21752,0,0 +20061,1100105,57,1,1,0.0,6.0,9172,0,0 +20062,1100105,57,1,1,0.0,6.0,17344,0,0 +20063,1100105,57,1,1,0.0,6.0,1391,0,0 +20064,1100105,57,1,1,1.0,4.0,9278,0,0 +20065,1100105,57,1,1,0.0,4.0,23876,0,0 +20066,1100105,57,1,1,0.0,4.0,23876,0,0 +20067,1100105,57,1,1,0.0,6.0,6536,0,0 +20068,1100105,57,1,1,0.0,4.0,23876,0,0 +20069,1100105,57,1,1,0.0,6.0,15804,0,0 +20070,1100105,57,1,1,0.0,6.0,911,0,0 +20071,1100105,57,1,1,0.0,4.0,18843,0,0 +20072,1100105,57,1,1,0.0,4.0,23876,0,0 +20073,1100105,57,1,1,1.0,4.0,15069,0,0 +20074,1100105,57,1,1,0.0,4.0,0,0,0 +20075,1100105,57,1,1,0.0,6.0,15804,0,0 +20076,1100105,57,1,1,0.0,6.0,3936,0,0 +20077,1100105,57,1,1,0.0,4.0,23876,0,0 +20078,1100105,57,1,1,0.0,4.0,21275,0,0 +20079,1100105,57,1,1,0.0,4.0,23876,0,0 +20080,1100105,57,1,1,0.0,6.0,1391,0,0 +20081,1100105,57,1,1,0.0,4.0,23876,0,0 +20082,1100105,57,1,1,0.0,4.0,21275,0,0 +20083,1100105,57,1,1,1.0,4.0,15069,0,0 +20084,1100105,57,1,1,0.0,6.0,20198,0,0 +20085,1100105,57,1,1,1.0,6.0,12989,0,0 +20086,1100105,57,1,1,0.0,6.0,1391,0,0 +20087,1100105,57,1,1,1.0,6.0,23768,0,0 +20088,1100105,57,1,1,0.0,6.0,911,0,0 +20089,1100105,57,1,1,1.0,4.0,9278,0,0 +20090,1100105,57,1,1,1.0,6.0,5166,0,0 +20091,1100105,57,1,1,0.0,6.0,6536,0,0 +20092,1100105,57,1,1,0.0,4.0,23876,0,0 +20093,1100105,57,1,1,0.0,4.0,23876,0,0 +20094,1100105,57,1,1,0.0,4.0,0,0,0 +20095,1100105,57,1,1,0.0,6.0,1391,0,0 +20096,1100105,57,1,1,0.0,6.0,911,0,0 +20097,1100105,57,1,1,0.0,6.0,3936,0,0 +20098,1100105,57,1,1,0.0,4.0,23876,0,0 +20099,1100105,57,1,1,0.0,6.0,15804,0,0 +20100,1100105,57,1,1,0.0,4.0,23876,0,0 +20101,1100105,57,1,1,0.0,4.0,21275,0,0 +20102,1100105,57,1,1,1.0,6.0,10648,0,0 +20103,1100105,57,1,1,0.0,6.0,9126,0,0 +20104,1100105,57,1,1,0.0,6.0,13068,0,0 +20105,1100105,57,1,1,0.0,6.0,9126,0,0 +20106,1100105,57,1,1,0.0,4.0,10536,0,0 +20107,1100105,57,1,1,0.0,6.0,11808,0,0 +20108,1100105,57,1,1,0.0,6.0,9126,0,0 +20109,1100105,57,1,1,0.0,4.0,10536,0,0 +20110,1100105,57,1,1,1.0,6.0,10648,0,0 +20111,1100105,57,1,1,0.0,6.0,9126,0,0 +20112,1100105,57,1,1,0.0,6.0,9126,0,0 +20113,1100105,57,1,1,0.0,6.0,11808,0,0 +20114,1100105,57,1,1,1.0,4.0,13372,0,0 +20115,1100105,57,1,1,0.0,6.0,9126,0,0 +20116,1100105,57,1,1,0.0,6.0,9126,0,0 +20117,1100105,57,1,1,1.0,4.0,13372,0,0 +20118,1100105,57,1,1,0.0,6.0,7250,0,0 +20119,1100105,57,1,1,0.0,4.0,10536,0,0 +20120,1100105,57,1,1,2.0,6.0,14561,0,0 +20121,1100105,57,1,1,1.0,6.0,11991,0,0 +20122,1100105,57,1,1,0.0,6.0,9944,0,0 +20123,1100105,57,1,1,0.0,6.0,11808,0,0 +20124,1100105,57,1,1,1.0,4.0,13372,0,0 +20125,1100105,57,1,1,0.0,6.0,9944,0,0 +20126,1100105,57,1,1,1.0,4.0,13372,0,0 +20127,1100105,57,1,1,0.0,4.0,4650,0,0 +20128,1100105,57,1,1,0.0,4.0,4650,0,0 +20129,1100105,57,1,1,2.0,4.0,20261,0,0 +20130,1100105,57,1,1,0.0,6.0,0,0,0 +20131,1100105,57,1,1,1.0,6.0,0,0,0 +20132,1100105,57,1,1,0.0,6.0,0,0,0 +20133,1100105,57,1,1,0.0,6.0,0,0,0 +20134,1100105,57,1,1,0.0,6.0,7548,0,0 +20135,1100105,57,1,1,0.0,4.0,8886,0,0 +20136,1100105,57,1,1,0.0,4.0,0,0,0 +20137,1100105,57,1,1,0.0,4.0,5888,0,0 +20138,1100105,57,1,1,0.0,6.0,0,0,0 +20139,1100105,57,1,1,0.0,4.0,9489,0,0 +20140,1100105,57,1,1,1.0,4.0,1243,0,0 +20141,1100105,57,1,1,0.0,4.0,5888,0,0 +20142,1100105,57,1,1,1.0,4.0,10,0,0 +20143,1100105,57,1,1,0.0,4.0,0,0,0 +20144,1100105,57,1,1,1.0,6.0,1284,0,0 +20145,1100105,57,1,1,1.0,6.0,0,0,0 +20146,1100105,57,1,1,1.0,6.0,2569,0,0 +20147,1100105,57,1,1,1.0,4.0,24726,0,0 +20148,1100105,57,1,1,0.0,4.0,9489,0,0 +20149,1100105,57,1,1,1.0,4.0,1243,0,0 +20150,1100105,57,1,1,0.0,4.0,9489,0,0 +20151,1100105,57,1,1,0.0,6.0,0,0,0 +20152,1100105,57,1,1,1.0,4.0,3039,0,0 +20153,1100105,57,1,1,0.0,6.0,15393,0,0 +20154,1100105,57,1,1,0.0,6.0,15918,0,0 +20155,1100105,57,1,1,0.0,6.0,15918,0,0 +20156,1100105,57,1,1,0.0,6.0,15918,0,0 +20157,1100105,57,1,1,0.0,6.0,0,0,0 +20158,1100105,57,1,1,0.0,6.0,0,0,0 +20159,1100105,57,1,1,0.0,6.0,0,0,0 +20160,1100105,57,1,1,1.0,6.0,0,0,0 +20161,1100105,57,1,1,1.0,6.0,233,0,0 +20162,1100105,57,1,1,0.0,4.0,0,0,0 +20163,1100105,57,1,1,1.0,4.0,0,0,0 +20164,1100105,57,1,1,0.0,6.0,0,0,0 +20165,1100105,57,1,1,0.0,4.0,0,0,0 +20166,1100105,57,1,1,0.0,6.0,15918,0,0 +20167,1100105,57,1,1,0.0,4.0,527,0,0 +20168,1100105,57,1,1,1.0,6.0,0,0,0 +20169,1100105,57,1,1,0.0,6.0,0,0,0 +20170,1100105,57,1,1,0.0,4.0,527,0,0 +20171,1100105,57,1,1,0.0,6.0,24314,0,0 +20172,1100105,57,1,1,1.0,6.0,2890,0,0 +20173,1100105,57,1,1,0.0,6.0,0,0,0 +20174,1100105,57,1,1,0.0,4.0,20261,0,0 +20175,1100105,57,1,1,0.0,6.0,24314,0,0 +20176,1100105,57,1,1,0.0,4.0,20261,0,0 +20177,1100105,57,1,1,0.0,6.0,0,0,0 +20178,1100105,57,1,1,0.0,6.0,1591,0,0 +20179,1100105,57,1,1,0.0,6.0,13465,0,0 +20180,1100105,57,1,1,0.0,6.0,24314,0,0 +20181,1100105,57,1,1,0.0,6.0,0,0,0 +20182,1100105,57,1,1,0.0,6.0,2653,0,0 +20183,1100105,57,1,1,0.0,6.0,5353,0,0 +20184,1100105,57,1,1,1.0,4.0,4603,0,0 +20185,1100105,57,1,1,1.0,6.0,2890,0,0 +20186,1100105,57,1,1,1.0,6.0,21680,0,0 +20187,1100105,57,1,1,1.0,4.0,6129,0,0 +20188,1100105,57,1,1,0.0,6.0,267,0,0 +20189,1100105,57,1,1,0.0,4.0,11673,0,0 +20190,1100105,57,1,1,0.0,6.0,267,0,0 +20191,1100105,57,1,1,1.0,6.0,0,0,0 +20192,1100105,57,1,1,0.0,6.0,5306,0,0 +20193,1100105,57,1,1,1.0,6.0,0,0,0 +20194,1100105,57,1,1,0.0,6.0,5369,0,0 +20195,1100105,57,1,1,0.0,6.0,5369,0,0 +20196,1100105,57,1,1,1.0,6.0,0,0,0 +20197,1100105,57,1,1,0.0,4.0,10543,0,0 +20198,1100105,57,1,1,0.0,4.0,10543,0,0 +20199,1100105,57,1,1,1.0,6.0,0,0,0 +20200,1100105,57,1,1,0.0,6.0,5306,0,0 +20201,1100105,57,1,1,0.0,4.0,10543,0,0 +20202,1100105,57,1,1,0.0,6.0,0,0,0 +20203,1100105,57,1,1,0.0,6.0,0,0,0 +20204,1100105,57,1,1,0.0,6.0,5306,0,0 +20205,1100105,57,1,1,0.0,6.0,5306,0,0 +20206,1100105,57,1,1,0.0,6.0,0,0,0 +20207,1100105,58,1,4,2.0,5.0,556694,4,0 +20208,1100105,58,1,4,2.0,5.0,556694,4,0 +20209,1100105,58,1,4,2.0,5.0,556694,4,0 +20210,1100105,58,1,4,2.0,5.0,556694,4,0 +20211,1100105,58,1,4,2.0,5.0,556694,4,0 +20212,1100105,58,1,4,2.0,5.0,556694,4,0 +20213,1100105,58,1,4,2.0,5.0,556694,4,0 +20214,1100105,58,1,2,1.0,5.0,328985,2,0 +20215,1100105,58,1,2,1.0,1.0,158172,2,0 +20216,1100105,58,1,2,2.0,5.0,178925,2,0 +20217,1100105,58,1,2,1.0,3.0,59042,1,0 +20218,1100105,58,1,2,1.0,3.0,59042,1,0 +20219,1100105,58,1,2,1.0,3.0,59042,1,0 +20220,1100105,58,1,2,1.0,3.0,59042,1,0 +20221,1100105,58,1,2,1.0,3.0,59042,1,0 +20222,1100105,58,1,2,1.0,3.0,59042,1,0 +20223,1100105,58,1,2,1.0,3.0,59042,1,0 +20224,1100105,58,1,2,1.0,3.0,59042,1,0 +20225,1100105,58,1,2,1.0,3.0,59042,1,0 +20226,1100105,58,1,2,1.0,3.0,59042,1,0 +20227,1100105,58,1,2,1.0,3.0,59042,1,0 +20228,1100105,58,1,2,1.0,3.0,59042,1,0 +20229,1100105,58,1,2,1.0,2.0,42826,2,0 +20230,1100105,58,1,2,1.0,2.0,42826,2,0 +20231,1100105,58,1,2,1.0,2.0,42826,2,0 +20232,1100105,58,1,2,1.0,2.0,42826,2,0 +20233,1100105,58,1,2,1.0,2.0,42826,2,0 +20234,1100105,58,1,2,1.0,2.0,42826,2,0 +20235,1100105,58,1,2,1.0,2.0,42826,2,0 +20236,1100105,58,1,2,1.0,3.0,32120,2,0 +20237,1100105,58,1,2,1.0,3.0,32120,2,0 +20238,1100105,58,1,2,1.0,3.0,32120,2,0 +20239,1100105,58,1,2,1.0,3.0,32120,2,0 +20240,1100105,58,1,2,1.0,3.0,26780,2,0 +20241,1100105,58,1,2,1.0,3.0,26780,2,0 +20242,1100105,58,1,2,1.0,3.0,26780,2,0 +20243,1100105,58,1,2,1.0,3.0,26780,2,0 +20244,1100105,58,1,2,1.0,3.0,26780,2,0 +20245,1100105,58,1,2,1.0,3.0,26780,2,0 +20246,1100105,58,1,2,1.0,3.0,26780,2,0 +20247,1100105,58,1,2,1.0,3.0,26780,2,0 +20248,1100105,58,1,2,1.0,3.0,26780,2,0 +20249,1100105,58,1,2,1.0,3.0,26780,2,0 +20250,1100105,58,1,2,1.0,3.0,25267,0,0 +20251,1100105,58,1,2,1.0,3.0,25267,0,0 +20252,1100105,58,1,2,1.0,3.0,25267,0,0 +20253,1100105,58,1,2,1.0,3.0,25267,0,0 +20254,1100105,58,1,2,1.0,3.0,25267,0,0 +20255,1100105,58,1,2,1.0,3.0,25267,0,0 +20256,1100105,58,1,2,1.0,3.0,25267,0,0 +20257,1100105,58,1,2,1.0,3.0,25267,0,0 +20258,1100105,58,1,2,0.0,3.0,18201,1,0 +20259,1100105,58,1,2,0.0,3.0,18201,1,0 +20260,1100105,58,1,2,0.0,3.0,18201,1,0 +20261,1100105,58,1,2,0.0,3.0,18201,1,0 +20262,1100105,58,1,2,0.0,3.0,18201,1,0 +20263,1100105,58,1,2,0.0,3.0,18201,1,0 +20264,1100105,58,1,2,0.0,3.0,18201,1,0 +20265,1100105,58,1,2,0.0,3.0,18201,1,0 +20266,1100105,58,1,2,0.0,3.0,18201,1,0 +20267,1100105,58,1,2,0.0,3.0,18201,1,0 +20268,1100105,58,1,2,0.0,3.0,18201,1,0 +20269,1100105,58,1,2,0.0,3.0,18201,1,0 +20270,1100105,58,1,2,0.0,3.0,18201,1,0 +20271,1100105,58,1,2,0.0,3.0,18201,1,0 +20272,1100105,58,1,2,0.0,3.0,18201,1,0 +20273,1100105,58,1,2,0.0,3.0,18201,1,0 +20274,1100105,58,1,2,0.0,3.0,18201,1,0 +20275,1100105,58,1,2,0.0,3.0,18201,1,0 +20276,1100105,58,1,2,0.0,3.0,18201,1,0 +20277,1100105,58,1,2,0.0,3.0,18201,1,0 +20278,1100105,58,1,1,1.0,6.0,243421,1,0 +20279,1100105,58,1,1,0.0,6.0,256887,1,0 +20280,1100105,58,1,1,1.0,6.0,212750,1,0 +20281,1100105,58,1,1,1.0,4.0,346479,1,0 +20282,1100105,58,1,1,0.0,4.0,151964,1,0 +20283,1100105,58,1,1,0.0,4.0,151964,1,0 +20284,1100105,58,1,1,0.0,6.0,177291,1,0 +20285,1100105,58,1,1,1.0,4.0,159187,1,0 +20286,1100105,58,1,1,1.0,4.0,184510,1,0 +20287,1100105,58,1,1,0.0,4.0,196329,1,0 +20288,1100105,58,1,1,1.0,4.0,179238,1,0 +20289,1100105,58,1,1,1.0,4.0,159187,1,0 +20290,1100105,58,1,1,1.0,4.0,153304,1,0 +20291,1100105,58,1,1,0.0,6.0,166703,1,0 +20292,1100105,58,1,1,1.0,6.0,180411,1,0 +20293,1100105,58,1,1,0.0,6.0,196809,1,0 +20294,1100105,58,1,1,0.0,4.0,151825,1,0 +20295,1100105,58,1,1,0.0,6.0,179238,1,0 +20296,1100105,58,1,1,0.0,4.0,182408,1,0 +20297,1100105,58,1,1,0.0,6.0,196809,1,0 +20298,1100105,58,1,1,0.0,4.0,175104,1,0 +20299,1100105,58,1,1,1.0,6.0,180411,1,0 +20300,1100105,58,1,1,0.0,4.0,175104,1,0 +20301,1100105,58,1,1,0.0,6.0,163431,1,0 +20302,1100105,58,1,1,1.0,4.0,171307,1,0 +20303,1100105,58,1,1,1.0,6.0,161590,1,0 +20304,1100105,58,1,1,1.0,4.0,161601,1,0 +20305,1100105,58,1,1,1.0,4.0,184510,1,0 +20306,1100105,58,1,1,1.0,4.0,155375,1,0 +20307,1100105,58,1,1,1.0,4.0,159186,1,0 +20308,1100105,58,1,1,0.0,6.0,162095,1,0 +20309,1100105,58,1,1,1.0,6.0,180411,1,0 +20310,1100105,58,1,1,0.0,6.0,167161,1,0 +20311,1100105,58,1,1,1.0,4.0,182401,1,0 +20312,1100105,58,1,1,0.0,4.0,151825,1,0 +20313,1100105,58,1,1,1.0,4.0,182357,1,0 +20314,1100105,58,1,1,0.0,6.0,166703,1,0 +20315,1100105,58,1,1,0.0,4.0,151825,1,0 +20316,1100105,58,1,1,0.0,6.0,166703,1,0 +20317,1100105,58,1,1,1.0,6.0,188438,1,0 +20318,1100105,58,1,1,1.0,4.0,179238,1,0 +20319,1100105,58,1,1,1.0,4.0,184510,1,0 +20320,1100105,58,1,1,1.0,4.0,179238,1,0 +20321,1100105,58,1,1,0.0,4.0,151825,1,0 +20322,1100105,58,1,1,0.0,6.0,166703,1,0 +20323,1100105,58,1,1,1.0,4.0,182357,1,0 +20324,1100105,58,1,1,1.0,4.0,164883,1,0 +20325,1100105,58,1,1,0.0,4.0,161631,1,0 +20326,1100105,58,1,1,0.0,6.0,107388,1,0 +20327,1100105,58,1,1,0.0,4.0,118085,1,0 +20328,1100105,58,1,1,0.0,4.0,116506,1,0 +20329,1100105,58,1,1,0.0,6.0,125322,1,0 +20330,1100105,58,1,1,1.0,4.0,116703,1,0 +20331,1100105,58,1,1,0.0,4.0,122228,1,0 +20332,1100105,58,1,1,0.0,6.0,119915,1,0 +20333,1100105,58,1,1,1.0,4.0,128480,1,0 +20334,1100105,58,1,1,0.0,6.0,101309,1,0 +20335,1100105,58,1,1,1.0,4.0,116703,1,0 +20336,1100105,58,1,1,0.0,4.0,106124,1,0 +20337,1100105,58,1,1,1.0,4.0,80300,1,0 +20338,1100105,58,1,1,1.0,6.0,87328,1,0 +20339,1100105,58,1,1,0.0,6.0,88046,1,0 +20340,1100105,58,1,1,0.0,6.0,72222,1,0 +20341,1100105,58,1,1,1.0,6.0,50939,1,0 +20342,1100105,58,1,1,0.0,6.0,66864,1,0 +20343,1100105,58,1,1,1.0,4.0,88046,1,0 +20344,1100105,58,1,1,0.0,6.0,92189,1,0 +20345,1100105,58,1,1,0.0,6.0,52717,1,0 +20346,1100105,58,1,1,1.0,6.0,60490,1,0 +20347,1100105,58,1,1,1.0,6.0,60490,1,0 +20348,1100105,58,1,1,1.0,6.0,63260,1,0 +20349,1100105,58,1,1,1.0,6.0,62150,1,0 +20350,1100105,58,1,1,0.0,4.0,84899,1,0 +20351,1100105,58,1,1,0.0,6.0,72508,1,0 +20352,1100105,58,1,1,1.0,4.0,89144,1,0 +20353,1100105,58,1,1,1.0,6.0,67329,1,0 +20354,1100105,58,1,1,0.0,6.0,52717,1,0 +20355,1100105,58,1,1,0.0,4.0,64315,1,0 +20356,1100105,58,1,1,0.0,6.0,76967,1,0 +20357,1100105,58,1,1,0.0,4.0,98270,1,0 +20358,1100105,58,1,1,1.0,6.0,96332,1,0 +20359,1100105,58,1,1,0.0,6.0,53062,1,0 +20360,1100105,58,1,1,1.0,4.0,92189,1,0 +20361,1100105,58,1,1,1.0,6.0,54604,1,0 +20362,1100105,58,1,1,1.0,6.0,50939,1,0 +20363,1100105,58,1,1,1.0,4.0,87126,1,0 +20364,1100105,58,1,1,0.0,6.0,52717,1,0 +20365,1100105,58,1,1,0.0,6.0,63674,1,0 +20366,1100105,58,1,1,1.0,4.0,52717,1,0 +20367,1100105,58,1,1,1.0,6.0,64325,1,0 +20368,1100105,58,1,1,1.0,6.0,62154,1,0 +20369,1100105,58,1,1,0.0,4.0,75385,1,0 +20370,1100105,58,1,1,1.0,6.0,75992,1,0 +20371,1100105,58,1,1,0.0,6.0,52717,1,0 +20372,1100105,58,1,1,1.0,4.0,87795,1,0 +20373,1100105,58,1,1,1.0,6.0,54899,1,0 +20374,1100105,58,1,1,0.0,4.0,73956,1,0 +20375,1100105,58,1,1,0.0,6.0,63674,1,0 +20376,1100105,58,1,1,1.0,6.0,67329,1,0 +20377,1100105,58,1,1,0.0,4.0,79593,1,0 +20378,1100105,58,1,1,1.0,4.0,92189,1,0 +20379,1100105,58,1,1,0.0,6.0,76652,1,0 +20380,1100105,58,1,1,0.0,6.0,63260,1,0 +20381,1100105,58,1,1,0.0,6.0,80300,1,0 +20382,1100105,58,1,1,0.0,6.0,89152,1,0 +20383,1100105,58,1,1,1.0,4.0,98404,1,0 +20384,1100105,58,1,1,1.0,6.0,67329,1,0 +20385,1100105,58,1,1,1.0,4.0,95102,1,0 +20386,1100105,58,1,1,0.0,6.0,83512,1,0 +20387,1100105,58,1,1,0.0,4.0,91178,1,0 +20388,1100105,58,1,1,0.0,6.0,89152,1,0 +20389,1100105,58,1,1,0.0,4.0,71103,0,0 +20390,1100105,58,1,1,1.0,4.0,43829,1,0 +20391,1100105,58,1,1,0.0,4.0,42449,1,0 +20392,1100105,58,1,1,0.0,4.0,40397,1,0 +20393,1100105,58,1,1,0.0,6.0,32120,1,0 +20394,1100105,58,1,1,0.0,6.0,42173,1,0 +20395,1100105,58,1,1,1.0,6.0,43510,1,0 +20396,1100105,58,1,1,1.0,6.0,48817,1,0 +20397,1100105,58,1,1,0.0,6.0,32120,1,0 +20398,1100105,58,1,1,1.0,4.0,43490,1,0 +20399,1100105,58,1,1,1.0,6.0,32525,1,0 +20400,1100105,58,1,1,1.0,6.0,32525,1,0 +20401,1100105,58,1,1,0.0,6.0,42550,1,0 +20402,1100105,58,1,1,1.0,6.0,43510,1,0 +20403,1100105,58,1,1,1.0,6.0,47615,1,0 +20404,1100105,58,1,1,0.0,6.0,42826,1,0 +20405,1100105,58,1,1,0.0,4.0,48122,1,0 +20406,1100105,58,1,1,0.0,6.0,31075,1,0 +20407,1100105,58,1,1,0.0,4.0,42826,1,0 +20408,1100105,58,1,1,1.0,4.0,43490,1,0 +20409,1100105,58,1,1,0.0,6.0,26358,1,0 +20410,1100105,58,1,1,1.0,6.0,45680,1,0 +20411,1100105,58,1,1,0.0,4.0,28174,1,0 +20412,1100105,58,1,1,0.0,6.0,39510,1,0 +20413,1100105,58,1,1,1.0,6.0,42826,0,0 +20414,1100105,58,1,1,1.0,6.0,35109,0,0 +20415,1100105,58,1,1,0.0,6.0,40327,0,0 +20416,1100105,58,1,1,0.0,6.0,6326,1,0 +20417,1100105,58,1,1,2.0,4.0,4558,1,0 +20418,1100105,58,1,1,0.0,6.0,4282,1,0 +20419,1100105,58,1,1,0.0,6.0,2741,1,0 +20420,1100105,58,1,1,0.0,6.0,22484,1,0 +20421,1100105,58,1,1,1.0,6.0,21352,1,0 +20422,1100105,58,1,1,0.0,4.0,18451,1,0 +20423,1100105,58,1,1,0.0,6.0,12652,1,0 +20424,1100105,58,1,1,0.0,6.0,1697,1,0 +20425,1100105,58,1,1,0.0,4.0,18451,1,0 +20426,1100105,58,1,1,0.0,6.0,13706,1,0 +20427,1100105,58,1,1,0.0,6.0,20565,1,0 +20428,1100105,58,1,1,0.0,6.0,11144,1,0 +20429,1100105,58,1,1,0.0,4.0,7091,1,0 +20430,1100105,58,1,1,0.0,4.0,5271,1,0 +20431,1100105,58,1,1,0.0,4.0,11703,1,0 +20432,1100105,58,1,1,0.0,4.0,5271,1,0 +20433,1100105,58,1,1,0.0,4.0,4217,1,0 +20434,1100105,58,1,1,0.0,6.0,1697,1,0 +20435,1100105,58,1,1,0.0,6.0,13706,1,0 +20436,1100105,58,1,1,0.0,6.0,10543,1,0 +20437,1100105,58,1,1,0.0,6.0,6215,1,0 +20438,1100105,58,1,1,0.0,6.0,6215,1,0 +20439,1100105,58,1,1,0.0,6.0,6215,1,0 +20440,1100105,58,1,1,0.0,6.0,6215,1,0 +20441,1100105,58,1,1,0.0,6.0,6215,1,0 +20442,1100105,58,1,1,0.0,6.0,6215,1,0 +20443,1100105,58,1,1,0.0,4.0,5271,0,0 +20444,1100105,58,1,1,1.0,4.0,0,0,0 +20445,1100105,58,1,1,1.0,6.0,233,0,0 +20446,1100105,58,1,1,1.0,4.0,0,0,0 +20447,1100105,58,1,1,0.0,6.0,792,0,0 +20448,1100105,58,1,1,0.0,6.0,0,0,0 +20449,1100105,58,1,1,1.0,4.0,0,0,0 +20450,1100105,58,1,1,1.0,6.0,0,0,0 +20451,1100105,58,1,1,0.0,4.0,8351,0,0 +20452,1100105,58,1,1,0.0,6.0,0,0,0 +20453,1100105,58,1,1,0.0,4.0,20261,0,0 +20454,1100105,58,1,1,1.0,6.0,2890,0,0 +20455,1100105,58,1,1,0.0,6.0,13465,0,0 +20456,1100105,58,1,1,0.0,4.0,20261,0,0 +20457,1100105,58,1,1,0.0,4.0,20261,0,0 +20458,1100105,58,1,1,0.0,4.0,527,0,0 +20459,1100105,58,1,1,0.0,4.0,527,0,0 +20460,1100105,58,1,1,0.0,4.0,5268,0,0 +20461,1100105,58,1,1,0.0,6.0,2653,0,0 +20462,1100105,58,1,1,0.0,6.0,0,0,0 +20463,1100105,58,1,1,0.0,6.0,0,0,0 +20464,1100105,58,1,1,0.0,6.0,0,0,0 +20465,1100105,58,1,1,0.0,6.0,1591,0,0 +20466,1100105,58,1,1,0.0,4.0,527,0,0 +20467,1100105,58,1,1,0.0,4.0,527,0,0 +20468,1100105,58,1,1,0.0,6.0,0,0,0 +20469,1100105,58,1,1,0.0,6.0,0,0,0 +20470,1100105,58,1,1,0.0,4.0,20261,0,0 +20471,1100105,58,1,1,0.0,6.0,0,0,0 +20472,1100105,58,1,1,0.0,6.0,0,0,0 +20473,1100105,58,1,1,0.0,6.0,0,0,0 +20474,1100105,58,1,1,0.0,6.0,267,0,0 +20475,1100105,58,1,1,0.0,6.0,848,0,0 +20476,1100105,58,1,1,0.0,6.0,0,0,0 +20477,1100105,58,1,1,0.0,6.0,4244,0,0 +20478,1100105,58,1,1,1.0,4.0,4603,0,0 +20479,1100105,58,1,1,0.0,6.0,0,0,0 +20480,1100105,58,1,1,1.0,6.0,12848,0,0 +20481,1100105,58,1,1,0.0,4.0,0,0,0 +20482,1100105,58,1,1,0.0,6.0,2653,0,0 +20483,1100105,58,1,1,0.0,4.0,3163,0,0 +20484,1100105,58,1,1,1.0,6.0,12848,0,0 +20485,1100105,58,1,1,0.0,6.0,24314,0,0 +20486,1100105,58,1,1,0.0,6.0,3268,0,0 +20487,1100105,58,1,1,0.0,6.0,0,0,0 +20488,1100105,58,1,1,0.0,6.0,0,0,0 +20489,1100105,58,1,1,0.0,4.0,3163,0,0 +20490,1100105,58,1,1,0.0,6.0,0,0,0 +20491,1100105,58,1,1,0.0,4.0,7250,0,0 +20492,1100105,58,1,1,1.0,6.0,0,0,0 +20493,1100105,58,1,1,0.0,4.0,20261,0,0 +20494,1100105,58,1,1,0.0,4.0,20261,0,0 +20495,1100105,58,1,1,0.0,6.0,5353,0,0 +20496,1100105,58,1,1,0.0,4.0,20261,0,0 +20497,1100105,58,1,1,0.0,6.0,3268,0,0 +20498,1100105,58,1,1,0.0,4.0,0,0,0 +20499,1100105,58,1,1,0.0,4.0,11673,0,0 +20500,1100105,58,1,1,0.0,4.0,0,0,0 +20501,1100105,58,1,1,0.0,6.0,848,0,0 +20502,1100105,58,1,1,0.0,4.0,20261,0,0 +20503,1100105,58,1,1,0.0,6.0,4244,0,0 +20504,1100105,58,1,1,0.0,6.0,0,0,0 +20505,1100105,58,1,1,0.0,4.0,20261,0,0 +20506,1100105,58,1,1,0.0,6.0,0,0,0 +20507,1100105,58,1,1,0.0,4.0,20261,0,0 +20508,1100105,58,1,1,1.0,4.0,6129,0,0 +20509,1100105,58,1,1,0.0,6.0,0,0,0 +20510,1100105,58,1,1,0.0,6.0,0,0,0 +20511,1100105,58,1,1,1.0,6.0,0,0,0 +20512,1100105,58,1,1,0.0,4.0,0,0,0 +20513,1100105,58,1,1,1.0,6.0,21680,0,0 +20514,1100105,58,1,1,0.0,6.0,267,0,0 +20515,1100105,58,1,1,0.0,6.0,0,0,0 +20516,1100105,58,1,1,0.0,6.0,0,0,0 +20517,1100105,58,1,1,1.0,6.0,21680,0,0 +20518,1100105,58,1,1,0.0,4.0,7250,0,0 +20519,1100105,58,1,1,0.0,6.0,0,0,0 +20520,1100105,58,1,1,0.0,4.0,20261,0,0 +20521,1100105,58,1,1,0.0,6.0,4244,0,0 +20522,1100105,58,1,1,0.0,6.0,0,0,0 +20523,1100105,58,1,1,0.0,6.0,0,0,0 +20524,1100105,58,1,1,0.0,6.0,0,0,0 +20525,1100105,58,1,1,0.0,6.0,0,0,0 +20526,1100105,58,1,1,0.0,6.0,0,0,0 +20527,1100105,59,1,6,1.0,1.0,42449,2,1 +20528,1100105,59,1,6,1.0,1.0,42449,2,1 +20529,1100105,59,1,6,1.0,1.0,42449,2,1 +20530,1100105,59,1,6,1.0,1.0,42449,2,1 +20531,1100105,59,1,6,1.0,1.0,42449,2,1 +20532,1100105,59,1,6,1.0,1.0,42449,2,1 +20533,1100105,59,1,6,1.0,1.0,42449,2,1 +20534,1100105,59,1,6,1.0,1.0,42449,2,1 +20535,1100105,59,1,6,1.0,1.0,42449,2,1 +20536,1100105,59,1,6,1.0,1.0,42449,2,1 +20537,1100105,59,1,9,0.0,2.0,17192,2,1 +20538,1100105,59,1,9,0.0,2.0,17192,2,1 +20539,1100105,59,1,9,0.0,2.0,17192,2,1 +20540,1100105,59,1,3,1.0,5.0,415371,3,0 +20541,1100105,59,1,3,0.0,5.0,230301,3,0 +20542,1100105,59,1,3,2.0,5.0,353322,3,0 +20543,1100105,59,1,3,0.0,7.0,261477,3,0 +20544,1100105,59,1,3,0.0,5.0,211737,3,0 +20545,1100105,59,1,3,1.0,7.0,342615,3,0 +20546,1100105,59,1,3,1.0,7.0,206942,3,0 +20547,1100105,59,1,3,2.0,7.0,180504,3,0 +20548,1100105,59,1,3,1.0,7.0,193701,3,0 +20549,1100105,59,1,3,1.0,3.0,168790,2,0 +20550,1100105,59,1,3,1.0,3.0,168790,2,0 +20551,1100105,59,1,3,1.0,3.0,168790,2,0 +20552,1100105,59,1,3,1.0,3.0,168790,2,0 +20553,1100105,59,1,3,1.0,3.0,168790,2,0 +20554,1100105,59,1,3,1.0,7.0,141833,3,0 +20555,1100105,59,1,3,2.0,7.0,105062,3,0 +20556,1100105,59,1,3,0.0,7.0,128805,3,0 +20557,1100105,59,1,3,0.0,7.0,131702,3,0 +20558,1100105,59,1,3,0.0,2.0,103790,1,1 +20559,1100105,59,1,3,0.0,2.0,103790,1,1 +20560,1100105,59,1,3,1.0,3.0,123597,0,1 +20561,1100105,59,1,3,1.0,3.0,123597,0,1 +20562,1100105,59,1,3,1.0,3.0,123597,0,1 +20563,1100105,59,1,3,0.0,7.0,60785,2,0 +20564,1100105,59,1,3,0.0,3.0,31179,2,0 +20565,1100105,59,1,3,0.0,5.0,30776,1,0 +20566,1100105,59,1,3,2.0,3.0,476,1,1 +20567,1100105,59,1,3,2.0,3.0,476,1,1 +20568,1100105,59,1,3,2.0,3.0,476,1,1 +20569,1100105,59,1,3,2.0,3.0,476,1,1 +20570,1100105,59,1,3,2.0,3.0,476,1,1 +20571,1100105,59,1,3,0.0,1.0,15983,0,0 +20572,1100105,59,1,3,0.0,3.0,19112,0,0 +20573,1100105,59,1,2,1.0,5.0,283819,2,0 +20574,1100105,59,1,2,2.0,1.0,845809,2,0 +20575,1100105,59,1,2,1.0,1.0,379564,2,0 +20576,1100105,59,1,2,1.0,1.0,222881,2,0 +20577,1100105,59,1,2,1.0,1.0,227884,2,0 +20578,1100105,59,1,2,1.0,1.0,233270,2,0 +20579,1100105,59,1,2,1.0,7.0,268858,2,0 +20580,1100105,59,1,2,1.0,1.0,247432,2,0 +20581,1100105,59,1,2,0.0,1.0,503028,2,0 +20582,1100105,59,1,2,1.0,1.0,207167,2,0 +20583,1100105,59,1,2,1.0,5.0,211993,2,0 +20584,1100105,59,1,2,0.0,5.0,380618,2,0 +20585,1100105,59,1,2,1.0,5.0,248208,2,0 +20586,1100105,59,1,2,1.0,1.0,274497,2,0 +20587,1100105,59,1,2,0.0,5.0,518738,2,0 +20588,1100105,59,1,2,0.0,1.0,266210,2,0 +20589,1100105,59,1,2,0.0,5.0,248601,2,0 +20590,1100105,59,1,2,1.0,1.0,202434,2,0 +20591,1100105,59,1,2,2.0,7.0,206639,2,0 +20592,1100105,59,1,2,1.0,5.0,252575,2,0 +20593,1100105,59,1,2,1.0,1.0,238760,2,0 +20594,1100105,59,1,2,0.0,1.0,1452888,2,0 +20595,1100105,59,1,2,2.0,5.0,260534,2,0 +20596,1100105,59,1,2,1.0,1.0,203758,2,0 +20597,1100105,59,1,2,0.0,1.0,342615,2,0 +20598,1100105,59,1,2,1.0,7.0,215205,2,0 +20599,1100105,59,1,2,1.0,1.0,239192,2,0 +20600,1100105,59,1,2,1.0,1.0,323678,2,0 +20601,1100105,59,1,2,1.0,1.0,323678,2,0 +20602,1100105,59,1,2,1.0,5.0,222860,2,0 +20603,1100105,59,1,2,1.0,1.0,657757,2,0 +20604,1100105,59,1,2,1.0,1.0,261031,2,0 +20605,1100105,59,1,2,1.0,1.0,331468,2,0 +20606,1100105,59,1,2,0.0,5.0,273021,2,0 +20607,1100105,59,1,2,1.0,1.0,291771,2,0 +20608,1100105,59,1,2,1.0,1.0,353407,2,0 +20609,1100105,59,1,2,2.0,1.0,254018,2,0 +20610,1100105,59,1,2,1.0,7.0,245169,2,0 +20611,1100105,59,1,2,1.0,1.0,323678,2,0 +20612,1100105,59,1,2,0.0,1.0,212248,2,0 +20613,1100105,59,1,2,1.0,1.0,253106,2,0 +20614,1100105,59,1,2,0.0,7.0,203095,2,0 +20615,1100105,59,1,2,1.0,1.0,368758,2,0 +20616,1100105,59,1,2,0.0,1.0,234025,2,0 +20617,1100105,59,1,2,1.0,1.0,409086,2,0 +20618,1100105,59,1,2,1.0,5.0,300393,2,0 +20619,1100105,59,1,2,0.0,5.0,212750,2,0 +20620,1100105,59,1,2,2.0,1.0,800346,2,0 +20621,1100105,59,1,2,1.0,1.0,450205,2,0 +20622,1100105,59,1,2,1.0,1.0,318112,1,0 +20623,1100105,59,1,2,1.0,1.0,318112,1,0 +20624,1100105,59,1,2,1.0,1.0,242710,1,0 +20625,1100105,59,1,2,2.0,1.0,304705,1,0 +20626,1100105,59,1,2,1.0,1.0,490469,1,0 +20627,1100105,59,1,2,1.0,1.0,415992,1,0 +20628,1100105,59,1,2,0.0,1.0,206305,1,0 +20629,1100105,59,1,2,1.0,1.0,203645,0,0 +20630,1100105,59,1,2,2.0,1.0,616323,0,0 +20631,1100105,59,1,2,2.0,1.0,616323,0,0 +20632,1100105,59,1,2,1.0,1.0,410035,0,0 +20633,1100105,59,1,2,2.0,1.0,290345,0,0 +20634,1100105,59,1,2,2.0,1.0,616323,0,0 +20635,1100105,59,1,2,0.0,1.0,359761,0,0 +20636,1100105,59,1,2,0.0,5.0,198217,2,0 +20637,1100105,59,1,2,0.0,1.0,198567,2,0 +20638,1100105,59,1,2,0.0,5.0,173967,2,0 +20639,1100105,59,1,2,1.0,1.0,186619,2,0 +20640,1100105,59,1,2,1.0,7.0,163108,2,0 +20641,1100105,59,1,2,2.0,1.0,197003,2,0 +20642,1100105,59,1,2,1.0,5.0,158125,2,0 +20643,1100105,59,1,2,0.0,5.0,171921,2,0 +20644,1100105,59,1,2,2.0,5.0,193999,2,0 +20645,1100105,59,1,2,2.0,7.0,172226,2,0 +20646,1100105,59,1,2,1.0,7.0,168695,2,0 +20647,1100105,59,1,2,1.0,7.0,168695,2,0 +20648,1100105,59,1,2,1.0,5.0,159522,2,0 +20649,1100105,59,1,2,1.0,7.0,157030,2,0 +20650,1100105,59,1,2,0.0,1.0,192523,2,0 +20651,1100105,59,1,2,1.0,5.0,154516,2,0 +20652,1100105,59,1,2,1.0,1.0,154092,2,0 +20653,1100105,59,1,2,1.0,5.0,159398,2,0 +20654,1100105,59,1,2,0.0,1.0,192523,2,0 +20655,1100105,59,1,2,1.0,5.0,159398,2,0 +20656,1100105,59,1,2,1.0,5.0,167641,2,0 +20657,1100105,59,1,2,0.0,1.0,171307,2,0 +20658,1100105,59,1,2,1.0,7.0,150196,2,0 +20659,1100105,59,1,2,1.0,5.0,152268,2,0 +20660,1100105,59,1,2,0.0,1.0,192523,2,0 +20661,1100105,59,1,2,0.0,5.0,170913,2,0 +20662,1100105,59,1,2,1.0,1.0,178952,2,0 +20663,1100105,59,1,2,1.0,1.0,158172,2,0 +20664,1100105,59,1,2,2.0,1.0,193470,2,0 +20665,1100105,59,1,2,1.0,1.0,175468,1,0 +20666,1100105,59,1,2,1.0,1.0,170129,1,0 +20667,1100105,59,1,2,2.0,1.0,153200,1,0 +20668,1100105,59,1,2,1.0,7.0,154176,1,0 +20669,1100105,59,1,2,1.0,1.0,154622,1,0 +20670,1100105,59,1,2,1.0,1.0,154339,1,0 +20671,1100105,59,1,2,1.0,7.0,189782,1,0 +20672,1100105,59,1,2,1.0,1.0,169798,1,0 +20673,1100105,59,1,2,1.0,1.0,153821,0,0 +20674,1100105,59,1,2,2.0,1.0,159726,0,0 +20675,1100105,59,1,2,2.0,7.0,190076,0,0 +20676,1100105,59,1,2,1.0,1.0,136768,2,0 +20677,1100105,59,1,2,0.0,7.0,120769,2,0 +20678,1100105,59,1,2,1.0,5.0,117032,2,0 +20679,1100105,59,1,2,1.0,5.0,103583,2,0 +20680,1100105,59,1,2,0.0,1.0,137064,2,0 +20681,1100105,59,1,2,0.0,1.0,139838,2,0 +20682,1100105,59,1,2,1.0,5.0,124610,2,0 +20683,1100105,59,1,2,1.0,5.0,124610,2,0 +20684,1100105,59,1,2,0.0,5.0,149160,2,0 +20685,1100105,59,1,2,1.0,7.0,124169,2,0 +20686,1100105,59,1,2,0.0,5.0,137064,2,0 +20687,1100105,59,1,2,1.0,7.0,111249,2,0 +20688,1100105,59,1,2,0.0,1.0,105997,2,0 +20689,1100105,59,1,2,0.0,5.0,124271,2,0 +20690,1100105,59,1,2,2.0,5.0,134399,2,0 +20691,1100105,59,1,2,0.0,5.0,133728,2,0 +20692,1100105,59,1,2,1.0,2.0,100803,2,0 +20693,1100105,59,1,2,1.0,5.0,133834,2,0 +20694,1100105,59,1,2,0.0,7.0,112393,2,0 +20695,1100105,59,1,2,0.0,7.0,128463,2,0 +20696,1100105,59,1,2,1.0,5.0,149104,2,0 +20697,1100105,59,1,2,1.0,1.0,134141,2,0 +20698,1100105,59,1,2,1.0,7.0,132006,2,0 +20699,1100105,59,1,2,2.0,5.0,134399,2,0 +20700,1100105,59,1,2,1.0,1.0,117032,2,0 +20701,1100105,59,1,2,0.0,5.0,124271,2,0 +20702,1100105,59,1,2,0.0,5.0,103855,2,0 +20703,1100105,59,1,2,1.0,1.0,106691,2,0 +20704,1100105,59,1,2,0.0,5.0,149160,2,0 +20705,1100105,59,1,2,2.0,1.0,146682,2,0 +20706,1100105,59,1,2,1.0,5.0,137064,2,0 +20707,1100105,59,1,2,0.0,5.0,137781,2,0 +20708,1100105,59,1,2,2.0,1.0,114923,1,0 +20709,1100105,59,1,2,1.0,7.0,126521,1,0 +20710,1100105,59,1,2,2.0,1.0,107067,1,0 +20711,1100105,59,1,2,1.0,5.0,143981,1,0 +20712,1100105,59,1,2,1.0,7.0,119328,1,0 +20713,1100105,59,1,2,2.0,7.0,108401,1,0 +20714,1100105,59,1,2,0.0,5.0,122304,1,0 +20715,1100105,59,1,2,1.0,1.0,126339,1,0 +20716,1100105,59,1,2,1.0,1.0,121144,0,0 +20717,1100105,59,1,2,1.0,1.0,121144,0,0 +20718,1100105,59,1,2,1.0,1.0,131266,0,0 +20719,1100105,59,1,2,1.0,7.0,100900,0,0 +20720,1100105,59,1,2,2.0,7.0,89082,2,0 +20721,1100105,59,1,2,1.0,5.0,82977,2,0 +20722,1100105,59,1,2,0.0,5.0,95511,2,0 +20723,1100105,59,1,2,0.0,5.0,95511,2,0 +20724,1100105,59,1,2,1.0,7.0,82458,2,0 +20725,1100105,59,1,2,0.0,7.0,93508,2,0 +20726,1100105,59,1,2,1.0,7.0,82867,2,0 +20727,1100105,59,1,2,0.0,7.0,95231,2,0 +20728,1100105,59,1,2,1.0,5.0,58368,2,0 +20729,1100105,59,1,2,0.0,5.0,79593,2,0 +20730,1100105,59,1,2,1.0,7.0,60814,2,0 +20731,1100105,59,1,2,0.0,7.0,89619,2,0 +20732,1100105,59,1,2,0.0,7.0,71103,2,0 +20733,1100105,59,1,2,1.0,7.0,67794,2,0 +20734,1100105,59,1,2,0.0,7.0,90117,2,0 +20735,1100105,59,1,2,1.0,1.0,79041,2,0 +20736,1100105,59,1,2,0.0,5.0,74286,2,0 +20737,1100105,59,1,2,1.0,1.0,79041,2,0 +20738,1100105,59,1,2,2.0,7.0,98404,2,0 +20739,1100105,59,1,2,1.0,7.0,54899,1,0 +20740,1100105,59,1,2,1.0,7.0,90739,1,0 +20741,1100105,59,1,2,1.0,1.0,55502,1,0 +20742,1100105,59,1,2,1.0,7.0,54193,1,0 +20743,1100105,59,1,2,1.0,7.0,54193,1,0 +20744,1100105,59,1,2,1.0,7.0,84899,1,0 +20745,1100105,59,1,2,0.0,1.0,66423,1,0 +20746,1100105,59,1,2,0.0,1.0,66423,1,0 +20747,1100105,59,1,2,2.0,3.0,71199,1,0 +20748,1100105,59,1,2,1.0,1.0,71952,1,0 +20749,1100105,59,1,2,1.0,1.0,71952,1,0 +20750,1100105,59,1,2,1.0,5.0,65340,1,0 +20751,1100105,59,1,2,2.0,7.0,75348,1,0 +20752,1100105,59,1,2,1.0,1.0,88046,1,0 +20753,1100105,59,1,2,2.0,3.0,66423,1,0 +20754,1100105,59,1,2,0.0,1.0,78531,1,0 +20755,1100105,59,1,2,1.0,1.0,70041,1,0 +20756,1100105,59,1,2,0.0,1.0,65851,1,0 +20757,1100105,59,1,2,0.0,1.0,64838,1,0 +20758,1100105,59,1,2,1.0,1.0,95289,0,0 +20759,1100105,59,1,2,1.0,1.0,99440,0,0 +20760,1100105,59,1,2,1.0,1.0,95289,0,0 +20761,1100105,59,1,2,1.0,5.0,52355,0,0 +20762,1100105,59,1,2,0.0,7.0,27202,2,0 +20763,1100105,59,1,2,0.0,5.0,37956,2,0 +20764,1100105,59,1,2,1.0,5.0,48180,1,0 +20765,1100105,59,1,2,2.0,7.0,31975,1,0 +20766,1100105,59,1,2,0.0,1.0,28920,0,0 +20767,1100105,59,1,2,1.0,1.0,36066,0,0 +20768,1100105,59,1,2,1.0,1.0,26948,0,0 +20769,1100105,59,1,2,1.0,3.0,12741,1,0 +20770,1100105,59,1,2,0.0,2.0,10706,1,0 +20771,1100105,59,1,2,1.0,1.0,17609,1,0 +20772,1100105,59,1,2,1.0,1.0,17609,1,0 +20773,1100105,59,1,2,0.0,7.0,5306,1,0 +20774,1100105,59,1,2,1.0,1.0,17609,1,0 +20775,1100105,59,1,2,0.0,7.0,5306,1,0 +20776,1100105,59,1,2,1.0,5.0,23301,1,0 +20777,1100105,59,1,2,0.0,7.0,5074,1,0 +20778,1100105,59,1,2,0.0,5.0,3183,1,0 +20779,1100105,59,1,2,0.0,7.0,5074,1,0 +20780,1100105,59,1,2,0.0,1.0,16661,0,0 +20781,1100105,59,1,2,0.0,1.0,16661,0,0 +20782,1100105,59,1,2,0.0,3.0,20243,0,0 +20783,1100105,59,1,2,1.0,5.0,0,0,0 +20784,1100105,59,1,2,0.0,3.0,24213,0,0 +20785,1100105,59,1,2,1.0,7.0,0,0,0 +20786,1100105,59,1,2,0.0,7.0,4246,0,0 +20787,1100105,59,1,2,0.0,5.0,4280,0,0 +20788,1100105,59,1,2,0.0,7.0,4246,0,0 +20789,1100105,59,1,2,0.0,7.0,0,0,0 +20790,1100105,59,1,2,0.0,5.0,7730,0,0 +20791,1100105,59,1,2,1.0,7.0,9957,0,0 +20792,1100105,59,1,2,1.0,7.0,21275,0,0 +20793,1100105,59,1,2,0.0,7.0,5271,0,0 +20794,1100105,59,1,2,2.0,7.0,19102,0,0 +20795,1100105,59,1,2,1.0,1.0,21224,0,0 +20796,1100105,59,1,1,0.0,4.0,752018,1,0 +20797,1100105,59,1,1,1.0,6.0,414885,1,0 +20798,1100105,59,1,1,0.0,4.0,442926,1,0 +20799,1100105,59,1,1,1.0,4.0,623131,1,0 +20800,1100105,59,1,1,1.0,4.0,269274,1,0 +20801,1100105,59,1,1,1.0,6.0,327625,1,0 +20802,1100105,59,1,1,0.0,6.0,210869,1,0 +20803,1100105,59,1,1,0.0,6.0,236656,1,0 +20804,1100105,59,1,1,1.0,4.0,211993,1,0 +20805,1100105,59,1,1,1.0,4.0,247665,1,0 +20806,1100105,59,1,1,0.0,6.0,310751,1,0 +20807,1100105,59,1,1,1.0,6.0,326555,1,0 +20808,1100105,59,1,1,1.0,6.0,325253,1,0 +20809,1100105,59,1,1,1.0,4.0,212301,1,0 +20810,1100105,59,1,1,1.0,6.0,325253,1,0 +20811,1100105,59,1,1,1.0,4.0,245146,1,0 +20812,1100105,59,1,1,0.0,4.0,717272,1,0 +20813,1100105,59,1,1,2.0,6.0,308994,1,0 +20814,1100105,59,1,1,0.0,4.0,329256,1,0 +20815,1100105,59,1,1,1.0,4.0,793451,1,0 +20816,1100105,59,1,1,1.0,6.0,229156,1,0 +20817,1100105,59,1,1,1.0,4.0,212248,1,0 +20818,1100105,59,1,1,1.0,4.0,241117,1,0 +20819,1100105,59,1,1,0.0,6.0,215789,1,0 +20820,1100105,59,1,1,1.0,6.0,623185,1,0 +20821,1100105,59,1,1,0.0,6.0,202619,1,0 +20822,1100105,59,1,1,1.0,6.0,328446,1,0 +20823,1100105,59,1,1,0.0,4.0,257923,1,0 +20824,1100105,59,1,1,1.0,6.0,212750,1,0 +20825,1100105,59,1,1,1.0,6.0,243421,1,0 +20826,1100105,59,1,1,1.0,4.0,445762,1,0 +20827,1100105,59,1,1,0.0,6.0,204060,1,0 +20828,1100105,59,1,1,1.0,6.0,623131,1,0 +20829,1100105,59,1,1,0.0,6.0,307760,1,0 +20830,1100105,59,1,1,0.0,6.0,227136,0,0 +20831,1100105,59,1,1,1.0,6.0,427010,0,0 +20832,1100105,59,1,1,1.0,6.0,427010,0,0 +20833,1100105,59,1,1,1.0,6.0,443036,0,0 +20834,1100105,59,1,1,0.0,6.0,505151,0,0 +20835,1100105,59,1,1,0.0,6.0,227136,0,0 +20836,1100105,59,1,1,1.0,4.0,243143,0,0 +20837,1100105,59,1,1,1.0,6.0,429645,0,0 +20838,1100105,59,1,1,1.0,4.0,283667,0,0 +20839,1100105,59,1,1,0.0,4.0,156016,1,0 +20840,1100105,59,1,1,0.0,4.0,168484,1,0 +20841,1100105,59,1,1,0.0,4.0,181452,1,0 +20842,1100105,59,1,1,1.0,6.0,192721,1,0 +20843,1100105,59,1,1,1.0,4.0,165610,1,0 +20844,1100105,59,1,1,1.0,4.0,172226,1,0 +20845,1100105,59,1,1,0.0,6.0,150908,1,0 +20846,1100105,59,1,1,1.0,4.0,167161,1,0 +20847,1100105,59,1,1,1.0,4.0,152035,1,0 +20848,1100105,59,1,1,0.0,4.0,166769,1,0 +20849,1100105,59,1,1,1.0,4.0,179873,1,0 +20850,1100105,59,1,1,0.0,6.0,180729,1,0 +20851,1100105,59,1,1,1.0,6.0,180411,1,0 +20852,1100105,59,1,1,1.0,4.0,159187,1,0 +20853,1100105,59,1,1,1.0,6.0,180411,1,0 +20854,1100105,59,1,1,0.0,4.0,196329,1,0 +20855,1100105,59,1,1,0.0,6.0,166703,1,0 +20856,1100105,59,1,1,1.0,4.0,161601,1,0 +20857,1100105,59,1,1,0.0,6.0,196809,1,0 +20858,1100105,59,1,1,0.0,6.0,166703,1,0 +20859,1100105,59,1,1,1.0,4.0,159186,1,0 +20860,1100105,59,1,1,1.0,4.0,191023,0,0 +20861,1100105,59,1,1,1.0,6.0,130106,1,0 +20862,1100105,59,1,1,1.0,4.0,108762,1,0 +20863,1100105,59,1,1,0.0,6.0,111671,1,0 +20864,1100105,59,1,1,1.0,4.0,127349,1,0 +20865,1100105,59,1,1,1.0,6.0,132587,1,0 +20866,1100105,59,1,1,0.0,6.0,107599,1,0 +20867,1100105,59,1,1,0.0,6.0,137961,1,0 +20868,1100105,59,1,1,0.0,4.0,121571,1,0 +20869,1100105,59,1,1,2.0,4.0,117774,1,0 +20870,1100105,59,1,1,1.0,6.0,129684,1,0 +20871,1100105,59,1,1,1.0,4.0,126521,1,0 +20872,1100105,59,1,1,1.0,6.0,141833,1,0 +20873,1100105,59,1,1,0.0,6.0,105434,1,0 +20874,1100105,59,1,1,1.0,4.0,107067,1,0 +20875,1100105,59,1,1,1.0,6.0,124610,1,0 +20876,1100105,59,1,1,1.0,6.0,129684,1,0 +20877,1100105,59,1,1,1.0,6.0,102322,1,0 +20878,1100105,59,1,1,1.0,6.0,102784,1,0 +20879,1100105,59,1,1,1.0,4.0,134658,1,0 +20880,1100105,59,1,1,0.0,4.0,103855,1,0 +20881,1100105,59,1,1,0.0,4.0,113063,1,0 +20882,1100105,59,1,1,1.0,6.0,107727,1,0 +20883,1100105,59,1,1,0.0,6.0,122797,1,0 +20884,1100105,59,1,1,1.0,6.0,123127,1,0 +20885,1100105,59,1,1,0.0,6.0,124300,1,0 +20886,1100105,59,1,1,1.0,6.0,148573,1,0 +20887,1100105,59,1,1,1.0,6.0,140083,1,0 +20888,1100105,59,1,1,1.0,4.0,139187,1,0 +20889,1100105,59,1,1,1.0,4.0,134658,1,0 +20890,1100105,59,1,1,1.0,4.0,123358,1,0 +20891,1100105,59,1,1,0.0,4.0,148573,1,0 +20892,1100105,59,1,1,0.0,4.0,101217,1,0 +20893,1100105,59,1,1,0.0,4.0,136768,1,0 +20894,1100105,59,1,1,1.0,4.0,101217,1,0 +20895,1100105,59,1,1,0.0,4.0,117774,1,0 +20896,1100105,59,1,1,0.0,4.0,114562,1,0 +20897,1100105,59,1,1,0.0,4.0,114562,1,0 +20898,1100105,59,1,1,0.0,4.0,117519,1,0 +20899,1100105,59,1,1,1.0,4.0,121571,1,0 +20900,1100105,59,1,1,0.0,6.0,114479,1,0 +20901,1100105,59,1,1,0.0,4.0,131793,1,0 +20902,1100105,59,1,1,0.0,6.0,119915,1,0 +20903,1100105,59,1,1,1.0,4.0,116703,1,0 +20904,1100105,59,1,1,0.0,4.0,104925,1,0 +20905,1100105,59,1,1,1.0,4.0,116703,1,0 +20906,1100105,59,1,1,0.0,4.0,122228,1,0 +20907,1100105,59,1,1,0.0,6.0,133105,1,0 +20908,1100105,59,1,1,1.0,4.0,106124,1,0 +20909,1100105,59,1,1,1.0,6.0,122584,1,0 +20910,1100105,59,1,1,1.0,6.0,108762,1,0 +20911,1100105,59,1,1,0.0,6.0,142336,1,0 +20912,1100105,59,1,1,1.0,4.0,115978,1,0 +20913,1100105,59,1,1,0.0,6.0,102784,1,0 +20914,1100105,59,1,1,0.0,6.0,117049,1,0 +20915,1100105,59,1,1,0.0,4.0,122228,1,0 +20916,1100105,59,1,1,0.0,4.0,105434,1,0 +20917,1100105,59,1,1,1.0,6.0,106691,1,0 +20918,1100105,59,1,1,0.0,4.0,121571,1,0 +20919,1100105,59,1,1,1.0,6.0,100162,1,0 +20920,1100105,59,1,1,1.0,6.0,122584,1,0 +20921,1100105,59,1,1,1.0,4.0,116703,1,0 +20922,1100105,59,1,1,1.0,6.0,121249,1,0 +20923,1100105,59,1,1,0.0,6.0,131702,1,0 +20924,1100105,59,1,1,0.0,4.0,141833,1,0 +20925,1100105,59,1,1,0.0,4.0,122228,1,0 +20926,1100105,59,1,1,0.0,6.0,134658,1,0 +20927,1100105,59,1,1,0.0,6.0,101309,1,0 +20928,1100105,59,1,1,1.0,4.0,101309,1,0 +20929,1100105,59,1,1,0.0,4.0,108907,1,0 +20930,1100105,59,1,1,0.0,4.0,101309,1,0 +20931,1100105,59,1,1,1.0,4.0,117519,0,0 +20932,1100105,59,1,1,0.0,4.0,112502,0,0 +20933,1100105,59,1,1,1.0,4.0,129157,0,0 +20934,1100105,59,1,1,1.0,4.0,117519,0,0 +20935,1100105,59,1,1,1.0,6.0,131551,0,0 +20936,1100105,59,1,1,0.0,4.0,124610,0,0 +20937,1100105,59,1,1,0.0,6.0,87227,1,0 +20938,1100105,59,1,1,1.0,4.0,74732,1,0 +20939,1100105,59,1,1,1.0,4.0,66433,1,0 +20940,1100105,59,1,1,0.0,4.0,65775,1,0 +20941,1100105,59,1,1,1.0,6.0,82441,1,0 +20942,1100105,59,1,1,0.0,4.0,81184,1,0 +20943,1100105,59,1,1,0.0,6.0,88645,1,0 +20944,1100105,59,1,1,0.0,4.0,99283,1,0 +20945,1100105,59,1,1,1.0,4.0,81047,1,0 +20946,1100105,59,1,1,1.0,6.0,97257,1,0 +20947,1100105,59,1,1,0.0,6.0,79593,1,0 +20948,1100105,59,1,1,1.0,6.0,75982,1,0 +20949,1100105,59,1,1,1.0,6.0,96244,1,0 +20950,1100105,59,1,1,0.0,4.0,99756,1,0 +20951,1100105,59,1,1,0.0,4.0,64240,1,0 +20952,1100105,59,1,1,0.0,6.0,63674,1,0 +20953,1100105,59,1,1,0.0,6.0,72222,1,0 +20954,1100105,59,1,1,0.0,6.0,55237,1,0 +20955,1100105,59,1,1,1.0,4.0,90165,1,0 +20956,1100105,59,1,1,0.0,4.0,94922,1,0 +20957,1100105,59,1,1,0.0,4.0,95289,1,0 +20958,1100105,59,1,1,0.0,6.0,75982,1,0 +20959,1100105,59,1,1,1.0,6.0,74286,1,0 +20960,1100105,59,1,1,1.0,4.0,73804,1,0 +20961,1100105,59,1,1,1.0,4.0,73804,1,0 +20962,1100105,59,1,1,1.0,6.0,62150,1,0 +20963,1100105,59,1,1,0.0,4.0,90205,1,0 +20964,1100105,59,1,1,1.0,6.0,96360,1,0 +20965,1100105,59,1,1,1.0,6.0,88046,1,0 +20966,1100105,59,1,1,0.0,4.0,62099,1,0 +20967,1100105,59,1,1,1.0,6.0,96360,1,0 +20968,1100105,59,1,1,0.0,6.0,75982,1,0 +20969,1100105,59,1,1,1.0,6.0,88046,1,0 +20970,1100105,59,1,1,1.0,4.0,69182,1,0 +20971,1100105,59,1,1,0.0,6.0,70612,1,0 +20972,1100105,59,1,1,0.0,4.0,82441,1,0 +20973,1100105,59,1,1,0.0,6.0,58017,1,0 +20974,1100105,59,1,1,0.0,4.0,74947,1,0 +20975,1100105,59,1,1,1.0,6.0,84899,1,0 +20976,1100105,59,1,1,0.0,6.0,97644,1,0 +20977,1100105,59,1,1,1.0,6.0,61152,1,0 +20978,1100105,59,1,1,0.0,4.0,76652,1,0 +20979,1100105,59,1,1,0.0,4.0,75912,1,0 +20980,1100105,59,1,1,1.0,6.0,87328,1,0 +20981,1100105,59,1,1,0.0,4.0,71472,1,0 +20982,1100105,59,1,1,0.0,4.0,74947,1,0 +20983,1100105,59,1,1,0.0,6.0,81047,1,0 +20984,1100105,59,1,1,0.0,6.0,83838,1,0 +20985,1100105,59,1,1,0.0,6.0,52801,1,0 +20986,1100105,59,1,1,0.0,6.0,72222,1,0 +20987,1100105,59,1,1,0.0,6.0,55720,1,0 +20988,1100105,59,1,1,0.0,4.0,73956,1,0 +20989,1100105,59,1,1,0.0,6.0,75616,1,0 +20990,1100105,59,1,1,0.0,6.0,52717,1,0 +20991,1100105,59,1,1,0.0,4.0,58368,1,0 +20992,1100105,59,1,1,0.0,6.0,54615,1,0 +20993,1100105,59,1,1,0.0,4.0,84347,1,0 +20994,1100105,59,1,1,0.0,4.0,84347,1,0 +20995,1100105,59,1,1,1.0,6.0,60785,1,0 +20996,1100105,59,1,1,1.0,4.0,92951,1,0 +20997,1100105,59,1,1,0.0,4.0,74286,1,0 +20998,1100105,59,1,1,1.0,4.0,95297,1,0 +20999,1100105,59,1,1,1.0,4.0,95102,1,0 +21000,1100105,59,1,1,1.0,6.0,97431,1,0 +21001,1100105,59,1,1,1.0,6.0,54604,1,0 +21002,1100105,59,1,1,1.0,4.0,89619,1,0 +21003,1100105,59,1,1,1.0,4.0,74947,1,0 +21004,1100105,59,1,1,1.0,6.0,58887,1,0 +21005,1100105,59,1,1,0.0,6.0,89152,1,0 +21006,1100105,59,1,1,0.0,4.0,69593,1,0 +21007,1100105,59,1,1,1.0,6.0,54653,1,0 +21008,1100105,59,1,1,1.0,4.0,68980,1,0 +21009,1100105,59,1,1,1.0,6.0,67329,1,0 +21010,1100105,59,1,1,1.0,6.0,55139,1,0 +21011,1100105,59,1,1,0.0,6.0,64838,1,0 +21012,1100105,59,1,1,0.0,6.0,56245,1,0 +21013,1100105,59,1,1,0.0,6.0,72222,1,0 +21014,1100105,59,1,1,1.0,6.0,60785,1,0 +21015,1100105,59,1,1,0.0,4.0,84899,1,0 +21016,1100105,59,1,1,0.0,6.0,95511,1,0 +21017,1100105,59,1,1,0.0,4.0,74286,1,0 +21018,1100105,59,1,1,0.0,6.0,67877,1,0 +21019,1100105,59,1,1,0.0,4.0,84347,1,0 +21020,1100105,59,1,1,0.0,4.0,74499,1,0 +21021,1100105,59,1,1,0.0,6.0,61552,1,0 +21022,1100105,59,1,1,1.0,4.0,89936,1,0 +21023,1100105,59,1,1,1.0,4.0,77687,1,0 +21024,1100105,59,1,1,0.0,6.0,89152,1,0 +21025,1100105,59,1,1,0.0,6.0,72508,1,0 +21026,1100105,59,1,1,1.0,6.0,67329,1,0 +21027,1100105,59,1,1,1.0,6.0,54604,1,0 +21028,1100105,59,1,1,0.0,4.0,74286,1,0 +21029,1100105,59,1,1,0.0,6.0,53062,1,0 +21030,1100105,59,1,1,1.0,4.0,87126,1,0 +21031,1100105,59,1,1,0.0,6.0,56245,1,0 +21032,1100105,59,1,1,0.0,6.0,82867,1,0 +21033,1100105,59,1,1,1.0,6.0,73804,1,0 +21034,1100105,59,1,1,0.0,6.0,65851,1,0 +21035,1100105,59,1,1,0.0,6.0,65851,1,0 +21036,1100105,59,1,1,0.0,6.0,81047,1,0 +21037,1100105,59,1,1,0.0,4.0,70916,1,0 +21038,1100105,59,1,1,0.0,6.0,83512,1,0 +21039,1100105,59,1,1,1.0,6.0,60816,1,0 +21040,1100105,59,1,1,0.0,6.0,63674,1,0 +21041,1100105,59,1,1,0.0,6.0,61798,1,0 +21042,1100105,59,1,1,0.0,6.0,63674,1,0 +21043,1100105,59,1,1,1.0,6.0,96360,1,0 +21044,1100105,59,1,1,0.0,4.0,63674,1,0 +21045,1100105,59,1,1,0.0,4.0,87126,1,0 +21046,1100105,59,1,1,0.0,4.0,84899,1,0 +21047,1100105,59,1,1,0.0,4.0,58887,1,0 +21048,1100105,59,1,1,0.0,4.0,80816,1,0 +21049,1100105,59,1,1,0.0,6.0,72508,1,0 +21050,1100105,59,1,1,0.0,6.0,50397,1,0 +21051,1100105,59,1,1,1.0,6.0,62150,1,0 +21052,1100105,59,1,1,1.0,6.0,70916,1,0 +21053,1100105,59,1,1,0.0,4.0,84899,1,0 +21054,1100105,59,1,1,0.0,6.0,72508,1,0 +21055,1100105,59,1,1,1.0,6.0,92191,1,0 +21056,1100105,59,1,1,0.0,6.0,72508,1,0 +21057,1100105,59,1,1,0.0,6.0,56245,1,0 +21058,1100105,59,1,1,1.0,6.0,61010,0,0 +21059,1100105,59,1,1,1.0,6.0,61010,0,0 +21060,1100105,59,1,1,1.0,4.0,89861,0,0 +21061,1100105,59,1,1,1.0,6.0,57989,0,0 +21062,1100105,59,1,1,1.0,6.0,59886,0,0 +21063,1100105,59,1,1,0.0,4.0,61292,0,0 +21064,1100105,59,1,1,0.0,6.0,64331,0,0 +21065,1100105,59,1,1,1.0,4.0,52174,0,0 +21066,1100105,59,1,1,0.0,4.0,50408,0,0 +21067,1100105,59,1,1,0.0,4.0,51396,0,0 +21068,1100105,59,1,1,0.0,6.0,88865,0,0 +21069,1100105,59,1,1,1.0,6.0,51364,0,0 +21070,1100105,59,1,1,1.0,6.0,51364,0,0 +21071,1100105,59,1,1,0.0,4.0,59975,0,0 +21072,1100105,59,1,1,0.0,4.0,94219,0,0 +21073,1100105,59,1,1,0.0,6.0,77895,0,0 +21074,1100105,59,1,1,0.0,6.0,88865,0,0 +21075,1100105,59,1,1,0.0,6.0,64417,0,0 +21076,1100105,59,1,1,0.0,6.0,77895,0,0 +21077,1100105,59,1,1,1.0,4.0,52174,0,0 +21078,1100105,59,1,1,1.0,4.0,55821,0,0 +21079,1100105,59,1,1,1.0,4.0,55821,0,0 +21080,1100105,59,1,1,0.0,4.0,58214,0,0 +21081,1100105,59,1,1,1.0,6.0,79593,0,0 +21082,1100105,59,1,1,2.0,6.0,70916,0,0 +21083,1100105,59,1,1,0.0,4.0,42184,1,0 +21084,1100105,59,1,1,1.0,4.0,31075,1,0 +21085,1100105,59,1,1,0.0,6.0,42173,1,0 +21086,1100105,59,1,1,0.0,6.0,45589,1,0 +21087,1100105,59,1,1,1.0,6.0,47109,1,0 +21088,1100105,59,1,1,0.0,4.0,38204,1,0 +21089,1100105,59,1,1,0.0,6.0,26358,1,0 +21090,1100105,59,1,1,0.0,6.0,47755,1,0 +21091,1100105,59,1,1,0.0,6.0,49720,1,0 +21092,1100105,59,1,1,1.0,4.0,49554,1,0 +21093,1100105,59,1,1,0.0,4.0,36254,1,0 +21094,1100105,59,1,1,0.0,4.0,42449,1,0 +21095,1100105,59,1,1,0.0,6.0,49720,1,0 +21096,1100105,59,1,1,0.0,6.0,46612,1,0 +21097,1100105,59,1,1,0.0,6.0,48684,1,0 +21098,1100105,59,1,1,1.0,6.0,29521,0,0 +21099,1100105,59,1,1,1.0,6.0,29521,0,0 +21100,1100105,59,1,1,0.0,6.0,28653,0,0 +21101,1100105,59,1,1,1.0,6.0,37788,0,0 +21102,1100105,59,1,1,0.0,6.0,28386,0,0 +21103,1100105,59,1,1,1.0,4.0,37045,0,0 +21104,1100105,59,1,1,1.0,4.0,38544,0,0 +21105,1100105,59,1,1,1.0,6.0,33528,0,0 +21106,1100105,59,1,1,0.0,4.0,36506,0,0 +21107,1100105,59,1,1,0.0,4.0,37383,0,0 +21108,1100105,59,1,1,0.0,6.0,27592,0,0 +21109,1100105,59,1,1,0.0,4.0,41739,0,0 +21110,1100105,59,1,1,1.0,4.0,20906,1,0 +21111,1100105,59,1,1,1.0,4.0,20906,1,0 +21112,1100105,59,1,1,1.0,4.0,7498,1,0 +21113,1100105,59,1,1,1.0,4.0,20906,1,0 +21114,1100105,59,1,1,1.0,4.0,20906,1,0 +21115,1100105,59,1,1,0.0,6.0,19700,1,0 +21116,1100105,59,1,1,0.0,6.0,19700,1,0 +21117,1100105,59,1,1,0.0,4.0,13880,1,0 +21118,1100105,59,1,1,1.0,4.0,9197,1,0 +21119,1100105,59,1,1,0.0,4.0,955,1,0 +21120,1100105,59,1,1,0.0,4.0,16573,1,0 +21121,1100105,59,1,1,0.0,6.0,14347,1,0 +21122,1100105,59,1,1,0.0,4.0,20716,1,0 +21123,1100105,59,1,1,0.0,4.0,19272,1,0 +21124,1100105,59,1,1,0.0,6.0,5271,1,0 +21125,1100105,59,1,1,2.0,4.0,21413,1,0 +21126,1100105,59,1,1,0.0,4.0,7747,1,0 +21127,1100105,59,1,1,0.0,6.0,10706,1,0 +21128,1100105,59,1,1,0.0,4.0,11394,1,0 +21129,1100105,59,1,1,0.0,6.0,10706,1,0 +21130,1100105,59,1,1,0.0,4.0,11394,1,0 +21131,1100105,59,1,1,0.0,4.0,11394,1,0 +21132,1100105,59,1,1,0.0,6.0,1760,1,0 +21133,1100105,59,1,1,2.0,4.0,4558,1,0 +21134,1100105,59,1,1,0.0,6.0,12157,1,0 +21135,1100105,59,1,1,0.0,6.0,10358,1,0 +21136,1100105,59,1,1,0.0,6.0,849,1,0 +21137,1100105,59,1,1,1.0,6.0,10706,1,0 +21138,1100105,59,1,1,1.0,6.0,6326,1,0 +21139,1100105,59,1,1,0.0,6.0,13706,1,0 +21140,1100105,59,1,1,0.0,4.0,4217,1,0 +21141,1100105,59,1,1,0.0,6.0,10543,1,0 +21142,1100105,59,1,1,0.0,6.0,1697,1,0 +21143,1100105,59,1,1,0.0,6.0,20716,1,0 +21144,1100105,59,1,1,0.0,4.0,18451,1,0 +21145,1100105,59,1,1,1.0,4.0,17344,1,0 +21146,1100105,59,1,1,0.0,6.0,18235,1,0 +21147,1100105,59,1,1,0.0,4.0,4217,1,0 +21148,1100105,59,1,1,0.0,6.0,21224,1,0 +21149,1100105,59,1,1,0.0,4.0,21086,1,0 +21150,1100105,59,1,1,0.0,4.0,5271,1,0 +21151,1100105,59,1,1,0.0,4.0,14082,1,0 +21152,1100105,59,1,1,0.0,4.0,14082,1,0 +21153,1100105,59,1,1,0.0,4.0,14082,1,0 +21154,1100105,59,1,1,1.0,6.0,17923,1,0 +21155,1100105,59,1,1,0.0,6.0,11497,0,0 +21156,1100105,59,1,1,0.0,6.0,19314,0,0 +21157,1100105,59,1,1,0.0,6.0,23126,0,0 +21158,1100105,59,1,1,0.0,6.0,12157,0,0 +21159,1100105,59,1,1,0.0,6.0,12157,0,0 +21160,1100105,59,1,1,0.0,4.0,8914,0,0 +21161,1100105,59,1,1,0.0,6.0,12157,0,0 +21162,1100105,59,1,1,0.0,6.0,23126,0,0 +21163,1100105,59,1,1,0.0,6.0,12157,0,0 +21164,1100105,59,1,1,0.0,6.0,12157,0,0 +21165,1100105,59,1,1,0.0,6.0,11497,0,0 +21166,1100105,59,1,1,0.0,6.0,11497,0,0 +21167,1100105,59,1,1,0.0,6.0,12157,0,0 +21168,1100105,59,1,1,0.0,6.0,8779,0,0 +21169,1100105,59,1,1,0.0,6.0,8779,0,0 +21170,1100105,59,1,1,0.0,6.0,21023,0,0 +21171,1100105,59,1,1,0.0,6.0,21023,0,0 +21172,1100105,59,1,1,0.0,6.0,8779,0,0 +21173,1100105,59,1,1,0.0,6.0,9067,0,0 +21174,1100105,59,1,1,0.0,6.0,9314,0,0 +21175,1100105,59,1,1,0.0,4.0,3647,0,0 +21176,1100105,59,1,1,0.0,4.0,0,0,0 +21177,1100105,59,1,1,0.0,4.0,9944,0,0 +21178,1100105,59,1,1,0.0,4.0,12441,0,0 +21179,1100105,59,1,1,1.0,6.0,5166,0,0 +21180,1100105,59,1,1,0.0,6.0,1391,0,0 +21181,1100105,59,1,1,0.0,6.0,1391,0,0 +21182,1100105,59,1,1,0.0,6.0,20198,0,0 +21183,1100105,59,1,1,0.0,6.0,3936,0,0 +21184,1100105,59,1,1,0.0,6.0,15804,0,0 +21185,1100105,59,1,1,0.0,4.0,23876,0,0 +21186,1100105,59,1,1,0.0,6.0,20198,0,0 +21187,1100105,59,1,1,0.0,6.0,6536,0,0 +21188,1100105,59,1,1,1.0,6.0,21224,0,0 +21189,1100105,59,1,1,0.0,4.0,18843,0,0 +21190,1100105,59,1,1,0.0,4.0,23876,0,0 +21191,1100105,59,1,1,0.0,6.0,6536,0,0 +21192,1100105,59,1,1,1.0,4.0,9278,0,0 +21193,1100105,59,1,1,1.0,6.0,12989,0,0 +21194,1100105,59,1,1,0.0,4.0,0,0,0 +21195,1100105,59,1,1,0.0,6.0,6536,0,0 +21196,1100105,59,1,1,0.0,4.0,23876,0,0 +21197,1100105,59,1,1,0.0,6.0,1391,0,0 +21198,1100105,59,1,1,0.0,6.0,3936,0,0 +21199,1100105,59,1,1,1.0,6.0,5166,0,0 +21200,1100105,59,1,1,0.0,4.0,21275,0,0 +21201,1100105,59,1,1,0.0,6.0,20198,0,0 +21202,1100105,59,1,1,0.0,4.0,12947,0,0 +21203,1100105,59,1,1,0.0,4.0,23876,0,0 +21204,1100105,59,1,1,0.0,4.0,23876,0,0 +21205,1100105,59,1,1,0.0,4.0,12947,0,0 +21206,1100105,59,1,1,0.0,4.0,23876,0,0 +21207,1100105,59,1,1,0.0,6.0,13068,0,0 +21208,1100105,59,1,1,1.0,6.0,10648,0,0 +21209,1100105,59,1,1,0.0,6.0,13068,0,0 +21210,1100105,59,1,1,0.0,6.0,9126,0,0 +21211,1100105,59,1,1,0.0,6.0,9126,0,0 +21212,1100105,59,1,1,0.0,6.0,13068,0,0 +21213,1100105,59,1,1,1.0,6.0,10648,0,0 +21214,1100105,59,1,1,0.0,6.0,9126,0,0 +21215,1100105,59,1,1,0.0,6.0,9126,0,0 +21216,1100105,59,1,1,1.0,4.0,13372,0,0 +21217,1100105,59,1,1,0.0,6.0,7250,0,0 +21218,1100105,59,1,1,0.0,6.0,11808,0,0 +21219,1100105,59,1,1,1.0,6.0,11991,0,0 +21220,1100105,59,1,1,0.0,6.0,13068,0,0 +21221,1100105,59,1,1,1.0,4.0,13372,0,0 +21222,1100105,59,1,1,0.0,6.0,11808,0,0 +21223,1100105,59,1,1,0.0,4.0,4650,0,0 +21224,1100105,59,1,1,0.0,4.0,4650,0,0 +21225,1100105,59,1,1,1.0,6.0,0,0,0 +21226,1100105,59,1,1,1.0,6.0,0,0,0 +21227,1100105,59,1,1,0.0,6.0,13673,0,0 +21228,1100105,59,1,1,1.0,6.0,14132,0,0 +21229,1100105,59,1,1,0.0,6.0,3373,0,0 +21230,1100105,59,1,1,1.0,4.0,10053,0,0 +21231,1100105,59,1,1,1.0,4.0,10,0,0 +21232,1100105,59,1,1,0.0,6.0,0,0,0 +21233,1100105,59,1,1,0.0,4.0,0,0,0 +21234,1100105,59,1,1,0.0,6.0,0,0,0 +21235,1100105,59,1,1,0.0,4.0,9489,0,0 +21236,1100105,59,1,1,1.0,6.0,2569,0,0 +21237,1100105,59,1,1,1.0,4.0,10,0,0 +21238,1100105,59,1,1,0.0,6.0,0,0,0 +21239,1100105,59,1,1,0.0,4.0,0,0,0 +21240,1100105,59,1,1,1.0,6.0,0,0,0 +21241,1100105,59,1,1,0.0,6.0,3502,0,0 +21242,1100105,59,1,1,0.0,6.0,1657,0,0 +21243,1100105,59,1,1,0.0,6.0,15393,0,0 +21244,1100105,59,1,1,0.0,6.0,0,0,0 +21245,1100105,59,1,1,1.0,4.0,0,0,0 +21246,1100105,59,1,1,0.0,6.0,0,0,0 +21247,1100105,59,1,1,0.0,6.0,2026,0,0 +21248,1100105,59,1,1,0.0,6.0,0,0,0 +21249,1100105,59,1,1,0.0,6.0,0,0,0 +21250,1100105,59,1,1,0.0,6.0,15918,0,0 +21251,1100105,59,1,1,0.0,6.0,24314,0,0 +21252,1100105,59,1,1,0.0,6.0,20261,0,0 +21253,1100105,59,1,1,0.0,4.0,20261,0,0 +21254,1100105,59,1,1,0.0,4.0,20261,0,0 +21255,1100105,59,1,1,0.0,6.0,24314,0,0 +21256,1100105,59,1,1,0.0,6.0,2653,0,0 +21257,1100105,59,1,1,1.0,6.0,21680,0,0 +21258,1100105,59,1,1,0.0,4.0,11673,0,0 +21259,1100105,59,1,1,0.0,4.0,7250,0,0 +21260,1100105,59,1,1,1.0,6.0,0,0,0 +21261,1100105,59,1,1,0.0,6.0,0,0,0 +21262,1100105,59,1,1,0.0,4.0,20261,0,0 +21263,1100105,59,1,1,0.0,6.0,0,0,0 +21264,1100105,59,1,1,1.0,4.0,0,0,0 +21265,1100105,59,1,1,0.0,6.0,0,0,0 +21266,1100105,59,1,1,0.0,4.0,11673,0,0 +21267,1100105,59,1,1,0.0,4.0,20261,0,0 +21268,1100105,59,1,1,0.0,6.0,3268,0,0 +21269,1100105,59,1,1,0.0,6.0,5306,0,0 +21270,1100105,59,1,1,1.0,6.0,0,0,0 +21271,1100105,59,1,1,0.0,4.0,10543,0,0 +21272,1100105,59,1,1,0.0,6.0,5306,0,0 +21273,1100105,59,1,1,0.0,6.0,0,0,0 +21274,1100105,59,1,1,0.0,6.0,5306,0,0 +21275,1100105,59,1,1,0.0,6.0,0,0,0 +21276,1100105,59,1,1,0.0,6.0,5306,0,0 +21277,1100105,59,1,1,0.0,6.0,7387,0,0 +21278,1100105,59,1,1,0.0,4.0,10543,0,0 +21279,1100105,60,1,6,1.0,1.0,42449,2,1 +21280,1100105,60,1,9,0.0,2.0,17192,2,1 +21281,1100105,60,1,4,1.0,3.0,11597,1,1 +21282,1100105,60,1,4,1.0,3.0,11597,1,1 +21283,1100105,60,1,4,1.0,3.0,11597,1,1 +21284,1100105,60,1,4,1.0,3.0,11597,1,1 +21285,1100105,60,1,4,1.0,3.0,11597,1,1 +21286,1100105,60,1,4,1.0,3.0,11597,1,1 +21287,1100105,60,1,5,0.0,3.0,0,0,0 +21288,1100105,60,1,3,0.0,5.0,230301,3,0 +21289,1100105,60,1,3,0.0,7.0,261477,3,0 +21290,1100105,60,1,3,0.0,5.0,211737,3,0 +21291,1100105,60,1,3,1.0,5.0,247195,3,0 +21292,1100105,60,1,3,1.0,7.0,167805,3,0 +21293,1100105,60,1,3,1.0,3.0,168790,2,0 +21294,1100105,60,1,3,1.0,3.0,168790,2,0 +21295,1100105,60,1,3,1.0,3.0,168790,2,0 +21296,1100105,60,1,3,1.0,7.0,111760,3,0 +21297,1100105,60,1,3,2.0,7.0,105062,3,0 +21298,1100105,60,1,3,0.0,5.0,123597,3,0 +21299,1100105,60,1,3,0.0,2.0,103790,1,1 +21300,1100105,60,1,3,1.0,3.0,123597,0,1 +21301,1100105,60,1,3,1.0,3.0,123597,0,1 +21302,1100105,60,1,3,0.0,7.0,60785,2,0 +21303,1100105,60,1,3,2.0,3.0,476,1,1 +21304,1100105,60,1,3,2.0,3.0,476,1,1 +21305,1100105,60,1,3,2.0,3.0,476,1,1 +21306,1100105,60,1,3,0.0,3.0,19112,0,0 +21307,1100105,60,1,3,0.0,3.0,2741,0,1 +21308,1100105,60,1,3,0.0,3.0,6836,0,1 +21309,1100105,60,1,2,2.0,1.0,845809,2,0 +21310,1100105,60,1,2,1.0,1.0,379564,2,0 +21311,1100105,60,1,2,1.0,5.0,272425,2,0 +21312,1100105,60,1,2,2.0,1.0,328281,2,0 +21313,1100105,60,1,2,1.0,1.0,230194,2,0 +21314,1100105,60,1,2,1.0,1.0,359649,2,0 +21315,1100105,60,1,2,2.0,1.0,265310,2,0 +21316,1100105,60,1,2,2.0,7.0,390510,2,0 +21317,1100105,60,1,2,1.0,5.0,211993,2,0 +21318,1100105,60,1,2,0.0,5.0,843172,2,0 +21319,1100105,60,1,2,0.0,1.0,219842,2,0 +21320,1100105,60,1,2,0.0,5.0,209814,2,0 +21321,1100105,60,1,2,1.0,5.0,265310,2,0 +21322,1100105,60,1,2,2.0,7.0,206639,2,0 +21323,1100105,60,1,2,2.0,7.0,206639,2,0 +21324,1100105,60,1,2,1.0,1.0,209814,2,0 +21325,1100105,60,1,2,2.0,5.0,260534,2,0 +21326,1100105,60,1,2,1.0,1.0,334322,2,0 +21327,1100105,60,1,2,0.0,1.0,210342,2,0 +21328,1100105,60,1,2,2.0,1.0,212750,2,0 +21329,1100105,60,1,2,1.0,1.0,254698,2,0 +21330,1100105,60,1,2,0.0,5.0,208697,2,0 +21331,1100105,60,1,2,1.0,1.0,657757,2,0 +21332,1100105,60,1,2,1.0,1.0,323678,2,0 +21333,1100105,60,1,2,0.0,1.0,234025,2,0 +21334,1100105,60,1,2,0.0,7.0,207684,2,0 +21335,1100105,60,1,2,0.0,7.0,238282,2,0 +21336,1100105,60,1,2,1.0,7.0,215205,2,0 +21337,1100105,60,1,2,1.0,1.0,267246,2,0 +21338,1100105,60,1,2,0.0,5.0,203427,2,0 +21339,1100105,60,1,2,0.0,1.0,210342,2,0 +21340,1100105,60,1,2,1.0,1.0,657757,2,0 +21341,1100105,60,1,2,0.0,1.0,329256,2,0 +21342,1100105,60,1,2,1.0,7.0,292075,2,0 +21343,1100105,60,1,2,2.0,7.0,220358,2,0 +21344,1100105,60,1,2,1.0,1.0,318112,1,0 +21345,1100105,60,1,2,1.0,1.0,318112,1,0 +21346,1100105,60,1,2,1.0,1.0,657911,1,0 +21347,1100105,60,1,2,2.0,5.0,201635,1,0 +21348,1100105,60,1,2,1.0,1.0,203645,0,0 +21349,1100105,60,1,2,1.0,1.0,392871,0,0 +21350,1100105,60,1,2,1.0,1.0,203645,0,0 +21351,1100105,60,1,2,1.0,2.0,311426,0,0 +21352,1100105,60,1,2,1.0,1.0,164883,2,0 +21353,1100105,60,1,2,1.0,1.0,186450,2,0 +21354,1100105,60,1,2,1.0,1.0,186619,2,0 +21355,1100105,60,1,2,0.0,5.0,160682,2,0 +21356,1100105,60,1,2,2.0,5.0,193999,2,0 +21357,1100105,60,1,2,2.0,7.0,172226,2,0 +21358,1100105,60,1,2,1.0,1.0,174362,2,0 +21359,1100105,60,1,2,2.0,1.0,173967,2,0 +21360,1100105,60,1,2,1.0,1.0,158172,2,0 +21361,1100105,60,1,2,1.0,1.0,175376,2,0 +21362,1100105,60,1,2,1.0,5.0,189247,2,0 +21363,1100105,60,1,2,0.0,1.0,168841,2,0 +21364,1100105,60,1,2,1.0,5.0,154516,2,0 +21365,1100105,60,1,2,1.0,5.0,189782,2,0 +21366,1100105,60,1,2,2.0,7.0,187367,2,0 +21367,1100105,60,1,2,0.0,1.0,192523,2,0 +21368,1100105,60,1,2,0.0,5.0,183085,2,0 +21369,1100105,60,1,2,1.0,5.0,159522,2,0 +21370,1100105,60,1,2,1.0,5.0,167641,2,0 +21371,1100105,60,1,2,2.0,5.0,187146,2,0 +21372,1100105,60,1,2,1.0,1.0,175468,1,0 +21373,1100105,60,1,2,1.0,1.0,170809,1,0 +21374,1100105,60,1,2,2.0,7.0,190563,1,0 +21375,1100105,60,1,2,1.0,7.0,189782,1,0 +21376,1100105,60,1,2,2.0,1.0,159726,0,0 +21377,1100105,60,1,2,0.0,7.0,120769,2,0 +21378,1100105,60,1,2,0.0,1.0,137064,2,0 +21379,1100105,60,1,2,1.0,1.0,139807,2,0 +21380,1100105,60,1,2,2.0,7.0,130622,2,0 +21381,1100105,60,1,2,2.0,7.0,130622,2,0 +21382,1100105,60,1,2,1.0,7.0,111249,2,0 +21383,1100105,60,1,2,1.0,7.0,111249,2,0 +21384,1100105,60,1,2,0.0,5.0,123104,2,0 +21385,1100105,60,1,2,2.0,5.0,141833,2,0 +21386,1100105,60,1,2,1.0,5.0,120558,2,0 +21387,1100105,60,1,2,2.0,7.0,124412,2,0 +21388,1100105,60,1,2,2.0,5.0,134658,2,0 +21389,1100105,60,1,2,1.0,1.0,141833,2,0 +21390,1100105,60,1,2,0.0,1.0,105997,2,0 +21391,1100105,60,1,2,0.0,7.0,125804,2,0 +21392,1100105,60,1,2,0.0,7.0,138541,2,0 +21393,1100105,60,1,2,1.0,1.0,143267,2,0 +21394,1100105,60,1,2,0.0,7.0,111947,2,0 +21395,1100105,60,1,2,1.0,7.0,111760,2,0 +21396,1100105,60,1,2,1.0,5.0,129676,2,0 +21397,1100105,60,1,2,1.0,7.0,118859,2,0 +21398,1100105,60,1,2,1.0,7.0,107543,1,0 +21399,1100105,60,1,2,1.0,1.0,132549,1,0 +21400,1100105,60,1,2,1.0,1.0,105223,1,0 +21401,1100105,60,1,2,0.0,5.0,122304,1,0 +21402,1100105,60,1,2,1.0,1.0,131266,0,0 +21403,1100105,60,1,2,2.0,1.0,132655,0,0 +21404,1100105,60,1,2,1.0,7.0,100900,0,0 +21405,1100105,60,1,2,0.0,5.0,84583,2,0 +21406,1100105,60,1,2,1.0,7.0,82458,2,0 +21407,1100105,60,1,2,0.0,7.0,76967,2,0 +21408,1100105,60,1,2,0.0,7.0,93508,2,0 +21409,1100105,60,1,2,1.0,5.0,58368,2,0 +21410,1100105,60,1,2,1.0,5.0,85243,2,0 +21411,1100105,60,1,2,1.0,1.0,88083,2,0 +21412,1100105,60,1,2,1.0,7.0,98501,2,0 +21413,1100105,60,1,2,0.0,7.0,71103,2,0 +21414,1100105,60,1,2,0.0,5.0,79593,2,0 +21415,1100105,60,1,2,0.0,1.0,53062,2,0 +21416,1100105,60,1,2,0.0,1.0,53062,2,0 +21417,1100105,60,1,2,2.0,7.0,98404,2,0 +21418,1100105,60,1,2,1.0,7.0,90739,1,0 +21419,1100105,60,1,2,1.0,1.0,55502,1,0 +21420,1100105,60,1,2,1.0,7.0,54193,1,0 +21421,1100105,60,1,2,1.0,7.0,84899,1,0 +21422,1100105,60,1,2,0.0,1.0,66423,1,0 +21423,1100105,60,1,2,0.0,7.0,53104,1,0 +21424,1100105,60,1,2,0.0,7.0,53104,1,0 +21425,1100105,60,1,2,1.0,7.0,94339,1,0 +21426,1100105,60,1,2,0.0,1.0,73876,1,0 +21427,1100105,60,1,2,2.0,3.0,66423,1,0 +21428,1100105,60,1,2,0.0,1.0,65851,1,0 +21429,1100105,60,1,2,1.0,1.0,99440,0,0 +21430,1100105,60,1,2,1.0,1.0,99440,0,0 +21431,1100105,60,1,2,0.0,7.0,39614,2,0 +21432,1100105,60,1,2,0.0,5.0,37956,2,0 +21433,1100105,60,1,2,1.0,5.0,48180,1,0 +21434,1100105,60,1,2,2.0,7.0,31975,1,0 +21435,1100105,60,1,2,0.0,1.0,36772,0,0 +21436,1100105,60,1,2,0.0,1.0,42469,0,0 +21437,1100105,60,1,2,1.0,3.0,12741,1,0 +21438,1100105,60,1,2,0.0,2.0,10706,1,0 +21439,1100105,60,1,2,0.0,7.0,5306,1,0 +21440,1100105,60,1,2,2.0,5.0,942,1,0 +21441,1100105,60,1,2,1.0,1.0,17609,1,0 +21442,1100105,60,1,2,0.0,7.0,5074,1,0 +21443,1100105,60,1,2,0.0,5.0,3183,1,0 +21444,1100105,60,1,2,0.0,1.0,16661,0,0 +21445,1100105,60,1,2,0.0,3.0,20243,0,0 +21446,1100105,60,1,2,0.0,3.0,24213,0,0 +21447,1100105,60,1,2,0.0,7.0,0,0,0 +21448,1100105,60,1,2,0.0,7.0,4246,0,0 +21449,1100105,60,1,2,2.0,7.0,13465,0,0 +21450,1100105,60,1,2,1.0,7.0,21275,0,0 +21451,1100105,60,1,2,2.0,7.0,19102,0,0 +21452,1100105,60,1,1,1.0,4.0,623131,1,0 +21453,1100105,60,1,1,1.0,4.0,1080379,1,0 +21454,1100105,60,1,1,1.0,6.0,327625,1,0 +21455,1100105,60,1,1,0.0,4.0,217554,1,0 +21456,1100105,60,1,1,1.0,6.0,421738,1,0 +21457,1100105,60,1,1,1.0,4.0,559274,1,0 +21458,1100105,60,1,1,1.0,6.0,223691,1,0 +21459,1100105,60,1,1,1.0,6.0,765484,1,0 +21460,1100105,60,1,1,1.0,4.0,488808,1,0 +21461,1100105,60,1,1,1.0,4.0,233063,1,0 +21462,1100105,60,1,1,1.0,6.0,326555,1,0 +21463,1100105,60,1,1,1.0,6.0,207177,1,0 +21464,1100105,60,1,1,0.0,4.0,329256,1,0 +21465,1100105,60,1,1,1.0,4.0,256961,1,0 +21466,1100105,60,1,1,1.0,6.0,303929,1,0 +21467,1100105,60,1,1,0.0,4.0,235569,1,0 +21468,1100105,60,1,1,0.0,6.0,202619,1,0 +21469,1100105,60,1,1,1.0,6.0,328446,1,0 +21470,1100105,60,1,1,1.0,6.0,212750,1,0 +21471,1100105,60,1,1,0.0,6.0,204060,1,0 +21472,1100105,60,1,1,0.0,4.0,258339,1,0 +21473,1100105,60,1,1,1.0,6.0,326847,1,0 +21474,1100105,60,1,1,1.0,6.0,353393,0,0 +21475,1100105,60,1,1,1.0,4.0,450205,0,0 +21476,1100105,60,1,1,1.0,6.0,353393,0,0 +21477,1100105,60,1,1,1.0,6.0,443036,0,0 +21478,1100105,60,1,1,1.0,6.0,443036,0,0 +21479,1100105,60,1,1,1.0,6.0,163423,1,0 +21480,1100105,60,1,1,6.0,4.0,180411,1,0 +21481,1100105,60,1,1,1.0,6.0,171858,1,0 +21482,1100105,60,1,1,0.0,4.0,194210,1,0 +21483,1100105,60,1,1,0.0,6.0,155375,1,0 +21484,1100105,60,1,1,1.0,4.0,165610,1,0 +21485,1100105,60,1,1,1.0,4.0,199580,1,0 +21486,1100105,60,1,1,1.0,4.0,182610,1,0 +21487,1100105,60,1,1,0.0,4.0,151964,1,0 +21488,1100105,60,1,1,0.0,6.0,161308,1,0 +21489,1100105,60,1,1,1.0,4.0,179238,1,0 +21490,1100105,60,1,1,1.0,4.0,171307,1,0 +21491,1100105,60,1,1,0.0,4.0,196329,1,0 +21492,1100105,60,1,1,0.0,6.0,163431,1,0 +21493,1100105,60,1,1,1.0,4.0,191023,0,0 +21494,1100105,60,1,1,1.0,6.0,130106,1,0 +21495,1100105,60,1,1,0.0,4.0,104380,1,0 +21496,1100105,60,1,1,1.0,4.0,101512,1,0 +21497,1100105,60,1,1,1.0,4.0,103583,1,0 +21498,1100105,60,1,1,0.0,6.0,109902,1,0 +21499,1100105,60,1,1,0.0,6.0,137961,1,0 +21500,1100105,60,1,1,0.0,6.0,100162,1,0 +21501,1100105,60,1,1,0.0,6.0,113942,1,0 +21502,1100105,60,1,1,0.0,4.0,106124,1,0 +21503,1100105,60,1,1,1.0,6.0,100817,1,0 +21504,1100105,60,1,1,1.0,4.0,101309,1,0 +21505,1100105,60,1,1,1.0,6.0,139173,1,0 +21506,1100105,60,1,1,1.0,6.0,142945,1,0 +21507,1100105,60,1,1,1.0,6.0,116736,1,0 +21508,1100105,60,1,1,0.0,6.0,117774,1,0 +21509,1100105,60,1,1,0.0,4.0,121249,1,0 +21510,1100105,60,1,1,1.0,4.0,134658,1,0 +21511,1100105,60,1,1,1.0,4.0,115978,1,0 +21512,1100105,60,1,1,1.0,4.0,125226,1,0 +21513,1100105,60,1,1,2.0,4.0,103583,1,0 +21514,1100105,60,1,1,0.0,6.0,123104,1,0 +21515,1100105,60,1,1,1.0,4.0,146392,1,0 +21516,1100105,60,1,1,0.0,4.0,105362,1,0 +21517,1100105,60,1,1,0.0,4.0,117774,1,0 +21518,1100105,60,1,1,0.0,6.0,105434,1,0 +21519,1100105,60,1,1,0.0,6.0,105434,1,0 +21520,1100105,60,1,1,0.0,6.0,102784,1,0 +21521,1100105,60,1,1,1.0,4.0,121571,1,0 +21522,1100105,60,1,1,1.0,4.0,120157,1,0 +21523,1100105,60,1,1,0.0,6.0,131702,1,0 +21524,1100105,60,1,1,0.0,6.0,131702,1,0 +21525,1100105,60,1,1,0.0,6.0,111339,1,0 +21526,1100105,60,1,1,1.0,4.0,128480,1,0 +21527,1100105,60,1,1,1.0,4.0,107067,1,0 +21528,1100105,60,1,1,0.0,4.0,108762,1,0 +21529,1100105,60,1,1,1.0,6.0,106124,1,0 +21530,1100105,60,1,1,1.0,4.0,101713,1,0 +21531,1100105,60,1,1,0.0,6.0,120157,1,0 +21532,1100105,60,1,1,1.0,6.0,149894,1,0 +21533,1100105,60,1,1,0.0,4.0,100162,1,0 +21534,1100105,60,1,1,0.0,4.0,143391,1,0 +21535,1100105,60,1,1,0.0,6.0,116736,1,0 +21536,1100105,60,1,1,0.0,6.0,100643,1,0 +21537,1100105,60,1,1,1.0,6.0,106124,1,0 +21538,1100105,60,1,1,1.0,6.0,107185,1,0 +21539,1100105,60,1,1,0.0,4.0,108907,1,0 +21540,1100105,60,1,1,0.0,6.0,111643,0,0 +21541,1100105,60,1,1,1.0,4.0,117519,0,0 +21542,1100105,60,1,1,0.0,4.0,112502,0,0 +21543,1100105,60,1,1,0.0,4.0,112502,0,0 +21544,1100105,60,1,1,1.0,4.0,52998,1,0 +21545,1100105,60,1,1,1.0,4.0,54604,1,0 +21546,1100105,60,1,1,0.0,4.0,65775,1,0 +21547,1100105,60,1,1,1.0,4.0,75912,1,0 +21548,1100105,60,1,1,0.0,4.0,99272,1,0 +21549,1100105,60,1,1,1.0,6.0,87010,1,0 +21550,1100105,60,1,1,1.0,6.0,87010,1,0 +21551,1100105,60,1,1,0.0,4.0,74286,1,0 +21552,1100105,60,1,1,1.0,4.0,77501,1,0 +21553,1100105,60,1,1,1.0,6.0,95075,1,0 +21554,1100105,60,1,1,1.0,4.0,98270,1,0 +21555,1100105,60,1,1,1.0,6.0,65851,1,0 +21556,1100105,60,1,1,1.0,6.0,60785,1,0 +21557,1100105,60,1,1,1.0,6.0,51791,1,0 +21558,1100105,60,1,1,0.0,6.0,79593,1,0 +21559,1100105,60,1,1,0.0,6.0,84899,1,0 +21560,1100105,60,1,1,1.0,6.0,95945,1,0 +21561,1100105,60,1,1,1.0,6.0,96360,1,0 +21562,1100105,60,1,1,1.0,6.0,62150,1,0 +21563,1100105,60,1,1,0.0,4.0,63260,1,0 +21564,1100105,60,1,1,1.0,6.0,62150,1,0 +21565,1100105,60,1,1,0.0,4.0,62099,1,0 +21566,1100105,60,1,1,1.0,6.0,96360,1,0 +21567,1100105,60,1,1,0.0,4.0,75912,1,0 +21568,1100105,60,1,1,1.0,4.0,96360,1,0 +21569,1100105,60,1,1,0.0,4.0,76652,1,0 +21570,1100105,60,1,1,0.0,4.0,71472,1,0 +21571,1100105,60,1,1,0.0,6.0,73804,1,0 +21572,1100105,60,1,1,1.0,4.0,96360,1,0 +21573,1100105,60,1,1,1.0,4.0,68532,1,0 +21574,1100105,60,1,1,0.0,6.0,61152,1,0 +21575,1100105,60,1,1,1.0,6.0,55139,1,0 +21576,1100105,60,1,1,1.0,6.0,52717,1,0 +21577,1100105,60,1,1,1.0,4.0,69829,1,0 +21578,1100105,60,1,1,0.0,6.0,52717,1,0 +21579,1100105,60,1,1,1.0,6.0,75992,1,0 +21580,1100105,60,1,1,1.0,6.0,54604,1,0 +21581,1100105,60,1,1,0.0,6.0,81047,1,0 +21582,1100105,60,1,1,0.0,6.0,80300,1,0 +21583,1100105,60,1,1,0.0,6.0,95511,1,0 +21584,1100105,60,1,1,1.0,6.0,94450,1,0 +21585,1100105,60,1,1,0.0,6.0,64525,1,0 +21586,1100105,60,1,1,1.0,6.0,54604,1,0 +21587,1100105,60,1,1,1.0,4.0,89144,1,0 +21588,1100105,60,1,1,0.0,6.0,72942,1,0 +21589,1100105,60,1,1,1.0,6.0,58887,1,0 +21590,1100105,60,1,1,0.0,4.0,74286,1,0 +21591,1100105,60,1,1,1.0,6.0,71472,1,0 +21592,1100105,60,1,1,0.0,4.0,96360,1,0 +21593,1100105,60,1,1,0.0,4.0,64315,1,0 +21594,1100105,60,1,1,0.0,4.0,79593,1,0 +21595,1100105,60,1,1,0.0,6.0,72508,1,0 +21596,1100105,60,1,1,1.0,6.0,84347,1,0 +21597,1100105,60,1,1,1.0,6.0,67329,1,0 +21598,1100105,60,1,1,1.0,4.0,88046,1,0 +21599,1100105,60,1,1,0.0,6.0,63260,1,0 +21600,1100105,60,1,1,0.0,6.0,52801,1,0 +21601,1100105,60,1,1,0.0,6.0,52717,1,0 +21602,1100105,60,1,1,0.0,4.0,94891,1,0 +21603,1100105,60,1,1,1.0,6.0,67329,1,0 +21604,1100105,60,1,1,0.0,6.0,75992,1,0 +21605,1100105,60,1,1,0.0,6.0,92189,1,0 +21606,1100105,60,1,1,0.0,6.0,85653,1,0 +21607,1100105,60,1,1,0.0,4.0,86456,1,0 +21608,1100105,60,1,1,0.0,6.0,67919,1,0 +21609,1100105,60,1,1,1.0,6.0,73804,1,0 +21610,1100105,60,1,1,1.0,6.0,61292,1,0 +21611,1100105,60,1,1,0.0,4.0,74286,1,0 +21612,1100105,60,1,1,1.0,4.0,56971,1,0 +21613,1100105,60,1,1,0.0,6.0,72508,1,0 +21614,1100105,60,1,1,0.0,4.0,72164,1,0 +21615,1100105,60,1,1,1.0,4.0,65598,1,0 +21616,1100105,60,1,1,1.0,6.0,66423,1,0 +21617,1100105,60,1,1,0.0,6.0,56245,1,0 +21618,1100105,60,1,1,0.0,4.0,58887,1,0 +21619,1100105,60,1,1,0.0,4.0,58887,1,0 +21620,1100105,60,1,1,0.0,4.0,58887,1,0 +21621,1100105,60,1,1,0.0,6.0,72508,1,0 +21622,1100105,60,1,1,1.0,6.0,61010,0,0 +21623,1100105,60,1,1,0.0,6.0,83377,0,0 +21624,1100105,60,1,1,1.0,4.0,98270,0,0 +21625,1100105,60,1,1,1.0,6.0,87870,0,0 +21626,1100105,60,1,1,1.0,4.0,69165,0,0 +21627,1100105,60,1,1,0.0,6.0,88865,0,0 +21628,1100105,60,1,1,1.0,6.0,59886,0,0 +21629,1100105,60,1,1,0.0,6.0,64331,0,0 +21630,1100105,60,1,1,1.0,4.0,69165,0,0 +21631,1100105,60,1,1,1.0,6.0,83715,0,0 +21632,1100105,60,1,1,1.0,4.0,69165,0,0 +21633,1100105,60,1,1,1.0,4.0,68181,0,0 +21634,1100105,60,1,1,0.0,6.0,67583,0,0 +21635,1100105,60,1,1,1.0,4.0,88083,0,0 +21636,1100105,60,1,1,0.0,6.0,56745,0,0 +21637,1100105,60,1,1,0.0,4.0,58214,0,0 +21638,1100105,60,1,1,1.0,6.0,79593,0,0 +21639,1100105,60,1,1,2.0,6.0,70916,0,0 +21640,1100105,60,1,1,0.0,4.0,42184,1,0 +21641,1100105,60,1,1,0.0,6.0,42131,1,0 +21642,1100105,60,1,1,0.0,6.0,43897,1,0 +21643,1100105,60,1,1,1.0,6.0,25895,1,0 +21644,1100105,60,1,1,1.0,4.0,43829,1,0 +21645,1100105,60,1,1,0.0,4.0,36254,1,0 +21646,1100105,60,1,1,1.0,4.0,41537,1,0 +21647,1100105,60,1,1,0.0,4.0,42826,1,0 +21648,1100105,60,1,1,1.0,6.0,36254,1,0 +21649,1100105,60,1,1,0.0,6.0,49236,1,0 +21650,1100105,60,1,1,1.0,6.0,43510,1,0 +21651,1100105,60,1,1,0.0,4.0,42826,1,0 +21652,1100105,60,1,1,0.0,6.0,49720,1,0 +21653,1100105,60,1,1,1.0,6.0,29521,0,0 +21654,1100105,60,1,1,1.0,6.0,29521,0,0 +21655,1100105,60,1,1,0.0,6.0,31709,0,0 +21656,1100105,60,1,1,2.0,6.0,48628,0,0 +21657,1100105,60,1,1,0.0,6.0,43157,0,0 +21658,1100105,60,1,1,0.0,6.0,43157,0,0 +21659,1100105,60,1,1,0.0,6.0,27760,0,0 +21660,1100105,60,1,1,0.0,6.0,27760,0,0 +21661,1100105,60,1,1,1.0,6.0,44541,0,0 +21662,1100105,60,1,1,0.0,4.0,41739,0,0 +21663,1100105,60,1,1,0.0,6.0,21959,1,0 +21664,1100105,60,1,1,0.0,6.0,21959,1,0 +21665,1100105,60,1,1,1.0,6.0,13062,1,0 +21666,1100105,60,1,1,0.0,6.0,19700,1,0 +21667,1100105,60,1,1,0.0,4.0,5851,1,0 +21668,1100105,60,1,1,0.0,6.0,7192,1,0 +21669,1100105,60,1,1,0.0,6.0,8565,1,0 +21670,1100105,60,1,1,0.0,6.0,8565,1,0 +21671,1100105,60,1,1,2.0,4.0,21413,1,0 +21672,1100105,60,1,1,0.0,6.0,10706,1,0 +21673,1100105,60,1,1,0.0,4.0,7747,1,0 +21674,1100105,60,1,1,0.0,4.0,11394,1,0 +21675,1100105,60,1,1,1.0,6.0,10706,1,0 +21676,1100105,60,1,1,1.0,6.0,10706,1,0 +21677,1100105,60,1,1,0.0,6.0,4282,1,0 +21678,1100105,60,1,1,0.0,4.0,22995,1,0 +21679,1100105,60,1,1,0.0,6.0,1697,1,0 +21680,1100105,60,1,1,1.0,4.0,3183,1,0 +21681,1100105,60,1,1,0.0,4.0,11703,1,0 +21682,1100105,60,1,1,1.0,6.0,6326,1,0 +21683,1100105,60,1,1,0.0,4.0,11703,1,0 +21684,1100105,60,1,1,1.0,6.0,8234,1,0 +21685,1100105,60,1,1,0.0,4.0,4217,1,0 +21686,1100105,60,1,1,0.0,4.0,14082,1,0 +21687,1100105,60,1,1,0.0,4.0,14082,1,0 +21688,1100105,60,1,1,0.0,6.0,6424,1,0 +21689,1100105,60,1,1,0.0,6.0,18852,0,0 +21690,1100105,60,1,1,0.0,6.0,18852,0,0 +21691,1100105,60,1,1,0.0,6.0,18852,0,0 +21692,1100105,60,1,1,0.0,6.0,18852,0,0 +21693,1100105,60,1,1,0.0,6.0,23126,0,0 +21694,1100105,60,1,1,0.0,6.0,23126,0,0 +21695,1100105,60,1,1,0.0,6.0,18852,0,0 +21696,1100105,60,1,1,0.0,6.0,12157,0,0 +21697,1100105,60,1,1,1.0,6.0,7091,0,0 +21698,1100105,60,1,1,1.0,6.0,7091,0,0 +21699,1100105,60,1,1,0.0,6.0,21023,0,0 +21700,1100105,60,1,1,0.0,4.0,7380,0,0 +21701,1100105,60,1,1,0.0,6.0,21752,0,0 +21702,1100105,60,1,1,1.0,6.0,0,0,0 +21703,1100105,60,1,1,0.0,4.0,10772,0,0 +21704,1100105,60,1,1,0.0,6.0,1391,0,0 +21705,1100105,60,1,1,0.0,4.0,21275,0,0 +21706,1100105,60,1,1,0.0,4.0,18843,0,0 +21707,1100105,60,1,1,0.0,4.0,12947,0,0 +21708,1100105,60,1,1,0.0,6.0,12989,0,0 +21709,1100105,60,1,1,1.0,4.0,9278,0,0 +21710,1100105,60,1,1,1.0,6.0,5166,0,0 +21711,1100105,60,1,1,0.0,6.0,20198,0,0 +21712,1100105,60,1,1,0.0,4.0,0,0,0 +21713,1100105,60,1,1,0.0,6.0,12989,0,0 +21714,1100105,60,1,1,0.0,6.0,1391,0,0 +21715,1100105,60,1,1,0.0,6.0,19505,0,0 +21716,1100105,60,1,1,0.0,6.0,1391,0,0 +21717,1100105,60,1,1,0.0,6.0,12989,0,0 +21718,1100105,60,1,1,0.0,6.0,911,0,0 +21719,1100105,60,1,1,0.0,6.0,13362,0,0 +21720,1100105,60,1,1,1.0,6.0,5166,0,0 +21721,1100105,60,1,1,0.0,6.0,3936,0,0 +21722,1100105,60,1,1,0.0,4.0,10536,0,0 +21723,1100105,60,1,1,0.0,4.0,10536,0,0 +21724,1100105,60,1,1,0.0,6.0,7250,0,0 +21725,1100105,60,1,1,0.0,6.0,9126,0,0 +21726,1100105,60,1,1,0.0,6.0,7250,0,0 +21727,1100105,60,1,1,0.0,6.0,9126,0,0 +21728,1100105,60,1,1,0.0,6.0,9126,0,0 +21729,1100105,60,1,1,0.0,6.0,9126,0,0 +21730,1100105,60,1,1,1.0,4.0,13372,0,0 +21731,1100105,60,1,1,0.0,6.0,9126,0,0 +21732,1100105,60,1,1,0.0,6.0,13068,0,0 +21733,1100105,60,1,1,2.0,4.0,20261,0,0 +21734,1100105,60,1,1,0.0,6.0,0,0,0 +21735,1100105,60,1,1,0.0,6.0,3795,0,0 +21736,1100105,60,1,1,0.0,4.0,0,0,0 +21737,1100105,60,1,1,0.0,4.0,9489,0,0 +21738,1100105,60,1,1,1.0,6.0,1284,0,0 +21739,1100105,60,1,1,1.0,4.0,24726,0,0 +21740,1100105,60,1,1,0.0,6.0,0,0,0 +21741,1100105,60,1,1,1.0,6.0,1284,0,0 +21742,1100105,60,1,1,0.0,4.0,9489,0,0 +21743,1100105,60,1,1,0.0,4.0,0,0,0 +21744,1100105,60,1,1,0.0,6.0,15918,0,0 +21745,1100105,60,1,1,0.0,6.0,3502,0,0 +21746,1100105,60,1,1,0.0,6.0,792,0,0 +21747,1100105,60,1,1,0.0,6.0,0,0,0 +21748,1100105,60,1,1,0.0,6.0,15918,0,0 +21749,1100105,60,1,1,0.0,6.0,0,0,0 +21750,1100105,60,1,1,0.0,6.0,0,0,0 +21751,1100105,60,1,1,1.0,4.0,0,0,0 +21752,1100105,60,1,1,0.0,6.0,0,0,0 +21753,1100105,60,1,1,1.0,6.0,21680,0,0 +21754,1100105,60,1,1,0.0,4.0,527,0,0 +21755,1100105,60,1,1,1.0,4.0,4603,0,0 +21756,1100105,60,1,1,1.0,6.0,0,0,0 +21757,1100105,60,1,1,1.0,6.0,0,0,0 +21758,1100105,60,1,1,0.0,6.0,2653,0,0 +21759,1100105,60,1,1,0.0,4.0,3163,0,0 +21760,1100105,60,1,1,0.0,6.0,0,0,0 +21761,1100105,60,1,1,0.0,6.0,0,0,0 +21762,1100105,60,1,1,0.0,4.0,4143,0,0 +21763,1100105,60,1,1,0.0,6.0,182,0,0 +21764,1100105,60,1,1,0.0,4.0,10543,0,0 +21765,1100105,60,1,1,0.0,4.0,4143,0,0 +21766,1100105,60,1,1,0.0,4.0,10543,0,0 +21767,1100105,60,1,1,0.0,6.0,5369,0,0 +97244,1100105,32,1,2,0.0,1.0,153880,2,0 +2704397,1100105,16,3,1,-9.0,4.0,632,0,-9 +2704398,1100105,16,3,1,-9.0,6.0,0,0,-9 +2704399,1100105,16,3,1,-9.0,4.0,10706,1,-9 +2704400,1100105,16,3,1,-9.0,4.0,10358,0,-9 +2704401,1100105,16,3,1,-9.0,4.0,15918,0,-9 +2704402,1100105,16,3,1,-9.0,6.0,9115,0,-9 +2704403,1100105,16,3,1,-9.0,4.0,632,0,-9 +2704404,1100105,16,3,1,-9.0,6.0,0,0,-9 +2704405,1100105,16,3,1,-9.0,4.0,8808,0,-9 +2704406,1100105,16,3,1,-9.0,4.0,15918,0,-9 +2704407,1100105,16,3,1,-9.0,4.0,24839,1,-9 +2704408,1100105,18,3,1,-9.0,4.0,10358,0,-9 +2704409,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704410,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704411,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704412,1100105,18,3,1,-9.0,4.0,530,1,-9 +2704413,1100105,18,3,1,-9.0,4.0,2122,1,-9 +2704414,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704415,1100105,18,3,1,-9.0,4.0,318,0,-9 +2704416,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704417,1100105,18,3,1,-9.0,6.0,1927,0,-9 +2704418,1100105,18,3,1,-9.0,4.0,10358,0,-9 +2704419,1100105,18,3,1,-9.0,4.0,8030,1,-9 +2704420,1100105,18,3,1,-9.0,4.0,9117,0,-9 +2704421,1100105,18,3,1,-9.0,6.0,1927,0,-9 +2704422,1100105,18,3,1,-9.0,4.0,5674,1,-9 +2704423,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704424,1100105,18,3,1,-9.0,4.0,24839,1,-9 +2704425,1100105,18,3,1,-9.0,4.0,24839,1,-9 +2704426,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704427,1100105,18,3,1,-9.0,4.0,9529,1,-9 +2704428,1100105,18,3,1,-9.0,6.0,18571,0,-9 +2704429,1100105,18,3,1,-9.0,4.0,10358,0,-9 +2704430,1100105,18,3,1,-9.0,6.0,26231,1,-9 +2704431,1100105,18,3,1,-9.0,4.0,20021,1,-9 +2704432,1100105,18,3,1,-9.0,6.0,20261,1,-9 +2704433,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704434,1100105,18,3,1,-9.0,4.0,5674,1,-9 +2704435,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704436,1100105,18,3,1,-9.0,4.0,12430,0,-9 +2704437,1100105,18,3,1,-9.0,4.0,6215,1,-9 +2704438,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704439,1100105,18,3,1,-9.0,6.0,4967,0,-9 +2704440,1100105,18,3,1,-9.0,4.0,10358,0,-9 +2704441,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704442,1100105,18,3,1,-9.0,4.0,24839,1,-9 +2704443,1100105,18,3,1,-9.0,6.0,4557,0,-9 +2704444,1100105,18,3,1,-9.0,6.0,9115,0,-9 +2704445,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704446,1100105,18,3,1,-9.0,6.0,1927,0,-9 +2704447,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704448,1100105,18,3,1,-9.0,4.0,33739,1,-9 +2704449,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704450,1100105,18,3,1,-9.0,4.0,2653,0,-9 +2704451,1100105,18,3,1,-9.0,4.0,258,0,-9 +2704452,1100105,18,3,1,-9.0,6.0,25267,0,-9 +2704453,1100105,18,3,1,-9.0,4.0,9117,0,-9 +2704454,1100105,18,3,1,-9.0,4.0,10930,0,-9 +2704455,1100105,18,3,1,-9.0,4.0,16817,0,-9 +2704456,1100105,18,3,1,-9.0,4.0,9100,0,-9 +2704457,1100105,18,3,1,-9.0,4.0,29521,0,-9 +2704458,1100105,18,3,1,-9.0,4.0,10706,1,-9 +2704459,1100105,18,3,1,-9.0,6.0,17987,0,-9 +2704460,1100105,18,3,1,-9.0,6.0,19059,0,-9 +2704461,1100105,18,3,1,-9.0,4.0,12230,0,-9 +2704462,1100105,18,3,1,-9.0,4.0,632,0,-9 +2704463,1100105,18,3,1,-9.0,4.0,5572,1,-9 +2704464,1100105,18,3,1,-9.0,6.0,5460,0,-9 +2704465,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704466,1100105,18,3,1,-9.0,4.0,20021,1,-9 +2704467,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704468,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704469,1100105,18,3,1,-9.0,4.0,15918,0,-9 +2704470,1100105,18,3,1,-9.0,4.0,12230,0,-9 +2704471,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704472,1100105,18,3,1,-9.0,4.0,632,0,-9 +2704473,1100105,18,3,1,-9.0,4.0,10358,0,-9 +2704474,1100105,18,3,1,-9.0,6.0,19059,0,-9 +2704475,1100105,18,3,1,-9.0,4.0,15918,0,-9 +2704476,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704477,1100105,18,3,1,-9.0,4.0,9117,0,-9 +2704478,1100105,18,3,1,-9.0,4.0,258,0,-9 +2704479,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704480,1100105,18,3,1,-9.0,4.0,16817,0,-9 +2704481,1100105,18,3,1,-9.0,4.0,9100,0,-9 +2704482,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704483,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704484,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704485,1100105,18,3,1,-9.0,4.0,632,0,-9 +2704486,1100105,18,3,1,-9.0,4.0,2122,1,-9 +2704487,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704488,1100105,18,3,1,-9.0,4.0,8886,0,-9 +2704489,1100105,18,3,1,-9.0,4.0,16817,0,-9 +2704490,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704491,1100105,18,3,1,-9.0,4.0,8808,0,-9 +2704492,1100105,18,3,1,-9.0,6.0,9850,1,-9 +2704493,1100105,18,3,1,-9.0,4.0,6473,1,-9 +2704494,1100105,18,3,1,-9.0,6.0,10813,0,-9 +2704495,1100105,18,3,1,-9.0,6.0,15631,0,-9 +2704496,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704497,1100105,18,3,1,-9.0,4.0,8030,1,-9 +2704498,1100105,18,3,1,-9.0,6.0,5697,0,-9 +2704499,1100105,18,3,1,-9.0,4.0,29521,0,-9 +2704500,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704501,1100105,18,3,1,-9.0,6.0,15631,0,-9 +2704502,1100105,18,3,1,-9.0,4.0,632,0,-9 +2704503,1100105,18,3,1,-9.0,4.0,5572,1,-9 +2704504,1100105,18,3,1,-9.0,6.0,10813,0,-9 +2704505,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704506,1100105,18,3,1,-9.0,4.0,16661,0,-9 +2704507,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704508,1100105,18,3,1,-9.0,4.0,5572,1,-9 +2704509,1100105,18,3,1,-9.0,6.0,1927,0,-9 +2704510,1100105,18,3,1,-9.0,4.0,24839,1,-9 +2704511,1100105,18,3,1,-9.0,4.0,9763,0,-9 +2704512,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704513,1100105,18,3,1,-9.0,6.0,9115,0,-9 +2704514,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704515,1100105,18,3,1,-9.0,4.0,12230,0,-9 +2704516,1100105,18,3,1,-9.0,4.0,2122,1,-9 +2704517,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704518,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704519,1100105,18,3,1,-9.0,4.0,12947,0,-9 +2704520,1100105,18,3,1,-9.0,4.0,535,0,-9 +2704521,1100105,18,3,1,-9.0,6.0,15631,0,-9 +2704522,1100105,18,3,1,-9.0,6.0,15631,0,-9 +2704523,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704524,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704525,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704526,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704527,1100105,18,3,1,-9.0,6.0,4557,0,-9 +2704528,1100105,18,3,1,-9.0,6.0,12430,1,-9 +2704529,1100105,18,3,1,-9.0,4.0,5572,1,-9 +2704530,1100105,18,3,1,-9.0,4.0,12230,0,-9 +2704531,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704532,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704533,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704534,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704535,1100105,18,3,1,-9.0,4.0,318,0,-9 +2704536,1100105,18,3,1,-9.0,4.0,0,0,-9 +2704537,1100105,18,3,1,-9.0,4.0,12230,0,-9 +2704538,1100105,18,3,1,-9.0,4.0,5674,1,-9 +2704539,1100105,18,3,1,-9.0,4.0,10930,0,-9 +2704540,1100105,18,3,1,-9.0,4.0,535,0,-9 +2704541,1100105,18,3,1,-9.0,4.0,29521,0,-9 +2704542,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704543,1100105,18,3,1,-9.0,4.0,6473,1,-9 +2704544,1100105,18,3,1,-9.0,6.0,0,0,-9 +2704545,1100105,18,3,1,-9.0,4.0,8030,1,-9 +2704546,1100105,18,3,1,-9.0,4.0,258,0,-9 +2704547,1100105,20,3,1,-9.0,4.0,0,0,-9 +2704548,1100105,20,3,1,-9.0,6.0,8489,1,-9 +2704549,1100105,20,3,1,-9.0,4.0,530,1,-9 +2704550,1100105,20,3,1,-9.0,4.0,8030,1,-9 +2704551,1100105,21,3,1,-9.0,6.0,17987,0,-9 +2704552,1100105,21,3,1,-9.0,4.0,10706,1,-9 +2704553,1100105,21,3,1,-9.0,4.0,0,0,-9 +2704554,1100105,21,3,1,-9.0,6.0,0,0,-9 +2704555,1100105,21,3,1,-9.0,4.0,6473,1,-9 +2704556,1100105,21,3,1,-9.0,4.0,10706,1,-9 +2704557,1100105,21,3,1,-9.0,6.0,15631,0,-9 +2704558,1100105,21,3,1,-9.0,4.0,10358,0,-9 +2704559,1100105,21,3,1,-9.0,4.0,0,0,-9 +2704560,1100105,23,3,1,-9.0,6.0,0,0,-9 +2704561,1100105,23,3,1,-9.0,4.0,12230,0,-9 +2704562,1100105,23,3,1,-9.0,4.0,6473,1,-9 +2704563,1100105,23,3,1,-9.0,4.0,5674,1,-9 +2704564,1100105,24,3,1,-9.0,4.0,12947,0,-9 +2704565,1100105,24,3,1,-9.0,6.0,15631,0,-9 +2704566,1100105,24,3,1,-9.0,6.0,10813,0,-9 +2704567,1100105,24,3,1,-9.0,4.0,0,0,-9 +2704568,1100105,24,3,1,-9.0,4.0,3820,0,-9 +2704569,1100105,24,3,1,-9.0,4.0,535,0,-9 +2704570,1100105,24,3,1,-9.0,6.0,0,0,-9 +2704571,1100105,26,3,1,-9.0,4.0,632,0,-9 +2704572,1100105,26,3,1,-9.0,4.0,5674,1,-9 +2704573,1100105,26,3,1,-9.0,6.0,0,0,-9 +2704574,1100105,26,3,1,-9.0,4.0,0,0,-9 +2704575,1100105,26,3,1,-9.0,4.0,0,0,-9 +2704576,1100105,26,3,1,-9.0,4.0,20021,1,-9 +2704577,1100105,26,3,1,-9.0,6.0,2071,0,-9 +2704578,1100105,26,3,1,-9.0,4.0,15918,0,-9 +2704579,1100105,26,3,1,-9.0,4.0,632,0,-9 +2704580,1100105,27,3,1,-9.0,4.0,33739,1,-9 +2704581,1100105,28,3,1,-9.0,6.0,0,0,-9 +2704582,1100105,28,3,1,-9.0,6.0,0,0,-9 +2704583,1100105,28,3,1,-9.0,6.0,1927,0,-9 +2704584,1100105,28,3,1,-9.0,4.0,16661,0,-9 +2704585,1100105,28,3,1,-9.0,6.0,0,0,-9 +2704586,1100105,28,3,1,-9.0,6.0,4557,0,-9 +2704587,1100105,28,3,1,-9.0,4.0,34389,0,-9 +2704588,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704589,1100105,28,3,1,-9.0,4.0,258,0,-9 +2704590,1100105,28,3,1,-9.0,4.0,5572,1,-9 +2704591,1100105,28,3,1,-9.0,4.0,12947,0,-9 +2704592,1100105,28,3,1,-9.0,6.0,18571,0,-9 +2704593,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704594,1100105,28,3,1,-9.0,4.0,6473,1,-9 +2704595,1100105,28,3,1,-9.0,4.0,2122,1,-9 +2704596,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704597,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704598,1100105,28,3,1,-9.0,4.0,15918,0,-9 +2704599,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704600,1100105,28,3,1,-9.0,6.0,15631,0,-9 +2704601,1100105,28,3,1,-9.0,6.0,0,0,-9 +2704602,1100105,28,3,1,-9.0,4.0,20021,1,-9 +2704603,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704604,1100105,28,3,1,-9.0,4.0,6367,1,-9 +2704605,1100105,28,3,1,-9.0,4.0,20021,1,-9 +2704606,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704607,1100105,28,3,1,-9.0,6.0,17987,0,-9 +2704608,1100105,28,3,1,-9.0,6.0,15631,0,-9 +2704609,1100105,28,3,1,-9.0,4.0,5572,1,-9 +2704610,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704611,1100105,28,3,1,-9.0,4.0,16817,0,-9 +2704612,1100105,28,3,1,-9.0,4.0,12230,0,-9 +2704613,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704614,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704615,1100105,28,3,1,-9.0,4.0,12230,0,-9 +2704616,1100105,28,3,1,-9.0,4.0,5572,1,-9 +2704617,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704618,1100105,28,3,1,-9.0,4.0,258,0,-9 +2704619,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704620,1100105,28,3,1,-9.0,4.0,8030,1,-9 +2704621,1100105,28,3,1,-9.0,6.0,19059,0,-9 +2704622,1100105,28,3,1,-9.0,6.0,0,0,-9 +2704623,1100105,28,3,1,-9.0,4.0,12230,0,-9 +2704624,1100105,28,3,1,-9.0,4.0,12947,0,-9 +2704625,1100105,28,3,1,-9.0,4.0,9100,0,-9 +2704626,1100105,28,3,1,-9.0,6.0,0,0,-9 +2704627,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704628,1100105,28,3,1,-9.0,4.0,0,0,-9 +2704629,1100105,28,3,1,-9.0,4.0,258,0,-9 +2704630,1100105,28,3,1,-9.0,4.0,16817,0,-9 +2704631,1100105,28,3,1,-9.0,6.0,15631,0,-9 +2704632,1100105,28,3,1,-9.0,4.0,9117,0,-9 +2704633,1100105,28,3,1,-9.0,4.0,15918,0,-9 +2704634,1100105,29,3,1,-9.0,6.0,0,0,-9 +2704635,1100105,29,3,1,-9.0,4.0,10706,1,-9 +2704636,1100105,29,3,1,-9.0,4.0,12430,0,-9 +2704637,1100105,29,3,1,-9.0,6.0,12430,1,-9 +2704638,1100105,29,3,1,-9.0,4.0,33739,1,-9 +2704639,1100105,29,3,1,-9.0,4.0,0,0,-9 +2704640,1100105,29,3,1,-9.0,4.0,15918,0,-9 +2704641,1100105,29,3,1,-9.0,4.0,5572,1,-9 +2704642,1100105,29,3,1,-9.0,4.0,6473,1,-9 +2704643,1100105,29,3,1,-9.0,6.0,8030,0,-9 +2704644,1100105,29,3,1,-9.0,4.0,20021,1,-9 +2704645,1100105,29,3,1,-9.0,6.0,15631,0,-9 +2704646,1100105,29,3,1,-9.0,4.0,10358,0,-9 +2704647,1100105,29,3,1,-9.0,6.0,0,0,-9 +2704648,1100105,29,3,1,-9.0,6.0,18571,0,-9 +2704649,1100105,29,3,1,-9.0,4.0,16817,0,-9 +2704650,1100105,29,3,1,-9.0,6.0,15631,0,-9 +2704651,1100105,29,3,1,-9.0,6.0,15631,0,-9 +2704652,1100105,29,3,1,-9.0,6.0,2071,0,-9 +2704653,1100105,29,3,1,-9.0,6.0,0,0,-9 +2704654,1100105,29,3,1,-9.0,4.0,0,0,-9 +2704655,1100105,29,3,1,-9.0,4.0,0,0,-9 +2704656,1100105,29,3,1,-9.0,6.0,2071,0,-9 +2704657,1100105,29,3,1,-9.0,4.0,3820,0,-9 +2704658,1100105,29,3,1,-9.0,6.0,26231,1,-9 +2704659,1100105,29,3,1,-9.0,4.0,0,0,-9 +2704660,1100105,29,3,1,-9.0,4.0,9763,0,-9 +2704661,1100105,29,3,1,-9.0,4.0,6473,1,-9 +2704662,1100105,29,3,1,-9.0,6.0,19059,0,-9 +2704663,1100105,29,3,1,-9.0,4.0,20021,1,-9 +2704664,1100105,29,3,1,-9.0,6.0,-1114,0,-9 +2704665,1100105,29,3,1,-9.0,4.0,12947,0,-9 +2704666,1100105,29,3,1,-9.0,6.0,15631,0,-9 +2704667,1100105,29,3,1,-9.0,4.0,5572,1,-9 +2704668,1100105,29,3,1,-9.0,4.0,10358,0,-9 +2704669,1100105,29,3,1,-9.0,4.0,20021,1,-9 +2704670,1100105,29,3,1,-9.0,4.0,0,0,-9 +2704671,1100105,29,3,1,-9.0,4.0,0,0,-9 +2704672,1100105,29,3,1,-9.0,4.0,318,0,-9 +2704673,1100105,29,3,1,-9.0,6.0,17987,0,-9 +2704674,1100105,33,3,1,-9.0,6.0,0,0,-9 +2704675,1100105,33,3,1,-9.0,4.0,0,0,-9 +2704676,1100105,33,3,1,-9.0,4.0,530,1,-9 +2704677,1100105,33,3,1,-9.0,4.0,632,0,-9 +2704678,1100105,33,3,1,-9.0,4.0,15918,0,-9 +2704679,1100105,33,3,1,-9.0,4.0,16817,0,-9 +2704680,1100105,33,3,1,-9.0,6.0,0,0,-9 +2704681,1100105,33,3,1,-9.0,4.0,0,0,-9 +2704682,1100105,33,3,1,-9.0,4.0,258,0,-9 +2704683,1100105,33,3,1,-9.0,4.0,5572,1,-9 +2704684,1100105,33,3,1,-9.0,4.0,8886,0,-9 +2704685,1100105,33,3,1,-9.0,4.0,9100,0,-9 +2704686,1100105,33,3,1,-9.0,4.0,0,0,-9 +2704687,1100105,33,3,1,-9.0,4.0,12947,0,-9 +2704688,1100105,33,3,1,-9.0,4.0,0,0,-9 +2704689,1100105,33,3,1,-9.0,4.0,8030,1,-9 +2704690,1100105,36,3,1,-9.0,4.0,15918,0,-9 +2704691,1100105,36,3,1,-9.0,4.0,10706,1,-9 +2704692,1100105,36,3,1,-9.0,4.0,5674,1,-9 +2704693,1100105,36,3,1,-9.0,6.0,8489,1,-9 +2704694,1100105,36,3,1,-9.0,6.0,9115,0,-9 +2704695,1100105,36,3,1,-9.0,4.0,15918,0,-9 +2704696,1100105,36,3,1,-9.0,4.0,5572,1,-9 +2704697,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704698,1100105,36,3,1,-9.0,4.0,3820,0,-9 +2704699,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704700,1100105,36,3,1,-9.0,4.0,16817,0,-9 +2704701,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704702,1100105,36,3,1,-9.0,6.0,9115,0,-9 +2704703,1100105,36,3,1,-9.0,4.0,20021,1,-9 +2704704,1100105,36,3,1,-9.0,4.0,632,0,-9 +2704705,1100105,36,3,1,-9.0,6.0,0,0,-9 +2704706,1100105,36,3,1,-9.0,4.0,16661,0,-9 +2704707,1100105,36,3,1,-9.0,4.0,29521,0,-9 +2704708,1100105,36,3,1,-9.0,4.0,9529,1,-9 +2704709,1100105,36,3,1,-9.0,6.0,0,0,-9 +2704710,1100105,36,3,1,-9.0,4.0,6473,1,-9 +2704711,1100105,36,3,1,-9.0,4.0,16817,0,-9 +2704712,1100105,36,3,1,-9.0,6.0,0,0,-9 +2704713,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704714,1100105,36,3,1,-9.0,4.0,3820,0,-9 +2704715,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704716,1100105,36,3,1,-9.0,4.0,20021,1,-9 +2704717,1100105,36,3,1,-9.0,4.0,10706,1,-9 +2704718,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704719,1100105,36,3,1,-9.0,6.0,4557,0,-9 +2704720,1100105,36,3,1,-9.0,6.0,2071,0,-9 +2704721,1100105,36,3,1,-9.0,6.0,1927,0,-9 +2704722,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704723,1100105,36,3,1,-9.0,6.0,11187,0,-9 +2704724,1100105,36,3,1,-9.0,4.0,258,0,-9 +2704725,1100105,36,3,1,-9.0,6.0,0,0,-9 +2704726,1100105,36,3,1,-9.0,4.0,632,0,-9 +2704727,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704728,1100105,36,3,1,-9.0,4.0,5572,1,-9 +2704729,1100105,36,3,1,-9.0,4.0,8030,1,-9 +2704730,1100105,36,3,1,-9.0,4.0,15918,0,-9 +2704731,1100105,36,3,1,-9.0,6.0,1927,0,-9 +2704732,1100105,36,3,1,-9.0,4.0,8030,1,-9 +2704733,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704734,1100105,36,3,1,-9.0,4.0,6367,1,-9 +2704735,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704736,1100105,36,3,1,-9.0,4.0,20021,1,-9 +2704737,1100105,36,3,1,-9.0,4.0,6215,1,-9 +2704738,1100105,36,3,1,-9.0,4.0,9763,0,-9 +2704739,1100105,36,3,1,-9.0,4.0,530,1,-9 +2704740,1100105,36,3,1,-9.0,4.0,5572,1,-9 +2704741,1100105,36,3,1,-9.0,6.0,0,0,-9 +2704742,1100105,36,3,1,-9.0,6.0,5460,0,-9 +2704743,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704744,1100105,36,3,1,-9.0,4.0,5674,1,-9 +2704745,1100105,36,3,1,-9.0,6.0,15631,0,-9 +2704746,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704747,1100105,36,3,1,-9.0,4.0,6473,1,-9 +2704748,1100105,36,3,1,-9.0,4.0,9117,0,-9 +2704749,1100105,36,3,1,-9.0,4.0,8030,1,-9 +2704750,1100105,36,3,1,-9.0,4.0,15918,0,-9 +2704751,1100105,36,3,1,-9.0,6.0,0,0,-9 +2704752,1100105,36,3,1,-9.0,4.0,5674,1,-9 +2704753,1100105,36,3,1,-9.0,6.0,9115,0,-9 +2704754,1100105,36,3,1,-9.0,6.0,162,0,-9 +2704755,1100105,36,3,1,-9.0,6.0,15631,0,-9 +2704756,1100105,36,3,1,-9.0,6.0,5697,0,-9 +2704757,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704758,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704759,1100105,36,3,1,-9.0,6.0,15631,0,-9 +2704760,1100105,36,3,1,-9.0,6.0,5697,0,-9 +2704761,1100105,36,3,1,-9.0,6.0,2071,0,-9 +2704762,1100105,36,3,1,-9.0,4.0,16661,0,-9 +2704763,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704764,1100105,36,3,1,-9.0,4.0,6367,1,-9 +2704765,1100105,36,3,1,-9.0,4.0,0,0,-9 +2704766,1100105,36,3,1,-9.0,4.0,16817,0,-9 +2704767,1100105,36,3,1,-9.0,4.0,9117,0,-9 +2704768,1100105,42,3,1,-9.0,4.0,632,0,-9 +2704769,1100105,42,3,1,-9.0,6.0,0,0,-9 +2704770,1100105,42,3,1,-9.0,4.0,258,0,-9 +2704771,1100105,42,3,1,-9.0,4.0,29521,0,-9 +2704772,1100105,42,3,1,-9.0,4.0,5674,1,-9 +2704773,1100105,42,3,1,-9.0,4.0,5572,1,-9 +2704774,1100105,42,3,1,-9.0,6.0,0,0,-9 +2704775,1100105,42,3,1,-9.0,4.0,53062,1,-9 +2704776,1100105,42,3,1,-9.0,6.0,5697,0,-9 +2704777,1100105,42,3,1,-9.0,4.0,29521,0,-9 +2704778,1100105,42,3,1,-9.0,4.0,10706,1,-9 +2704779,1100105,42,3,1,-9.0,4.0,9117,0,-9 +2704780,1100105,42,3,1,-9.0,4.0,0,0,-9 +2704781,1100105,42,3,1,-9.0,6.0,5697,0,-9 +2704782,1100105,42,3,1,-9.0,6.0,0,0,-9 +2704783,1100105,43,3,1,-9.0,4.0,535,0,-9 +2704784,1100105,43,3,1,-9.0,4.0,15918,0,-9 +2704785,1100105,43,3,1,-9.0,4.0,12430,0,-9 +2704786,1100105,43,3,1,-9.0,4.0,9117,0,-9 +2704787,1100105,43,3,1,-9.0,6.0,162,0,-9 +2704788,1100105,43,3,1,-9.0,4.0,8030,1,-9 +2704789,1100105,43,3,1,-9.0,4.0,10706,1,-9 +2704790,1100105,43,3,1,-9.0,6.0,5697,0,-9 +2704791,1100105,43,3,1,-9.0,4.0,9117,0,-9 +2704792,1100105,43,3,1,-9.0,4.0,0,0,-9 +2704793,1100105,43,3,1,-9.0,6.0,-1114,0,-9 +2704794,1100105,43,3,1,-9.0,4.0,318,0,-9 +2704795,1100105,43,3,1,-9.0,4.0,15918,0,-9 +2704796,1100105,43,3,1,-9.0,4.0,16817,0,-9 +2704797,1100105,43,3,1,-9.0,4.0,0,0,-9 +2704798,1100105,43,3,1,-9.0,4.0,2653,0,-9 +2704799,1100105,43,3,1,-9.0,6.0,5697,0,-9 +2704800,1100105,43,3,1,-9.0,6.0,20261,1,-9 +2704801,1100105,43,3,1,-9.0,4.0,34389,0,-9 +2704802,1100105,43,3,1,-9.0,4.0,12230,0,-9 +2704803,1100105,43,3,1,-9.0,6.0,15631,0,-9 +2704804,1100105,43,3,1,-9.0,6.0,1927,0,-9 +2704805,1100105,43,3,1,-9.0,4.0,15918,0,-9 +2704806,1100105,43,3,1,-9.0,4.0,12230,0,-9 +2704807,1100105,45,3,1,-9.0,4.0,15203,0,-9 +2704808,1100105,45,3,1,-9.0,4.0,12230,0,-9 +2704809,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704810,1100105,45,3,1,-9.0,4.0,9529,1,-9 +2704811,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704812,1100105,45,3,1,-9.0,4.0,16661,0,-9 +2704813,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704814,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704815,1100105,45,3,1,-9.0,6.0,-1114,0,-9 +2704816,1100105,45,3,1,-9.0,6.0,8030,0,-9 +2704817,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704818,1100105,45,3,1,-9.0,6.0,1927,0,-9 +2704819,1100105,45,3,1,-9.0,4.0,27656,1,-9 +2704820,1100105,45,3,1,-9.0,4.0,2122,1,-9 +2704821,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704822,1100105,45,3,1,-9.0,6.0,12430,1,-9 +2704823,1100105,45,3,1,-9.0,4.0,10706,1,-9 +2704824,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704825,1100105,45,3,1,-9.0,4.0,8030,1,-9 +2704826,1100105,45,3,1,-9.0,4.0,9100,0,-9 +2704827,1100105,45,3,1,-9.0,6.0,1927,0,-9 +2704828,1100105,45,3,1,-9.0,4.0,15918,0,-9 +2704829,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2704830,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704831,1100105,45,3,1,-9.0,4.0,9100,0,-9 +2704832,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704833,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704834,1100105,45,3,1,-9.0,6.0,11563,0,-9 +2704835,1100105,45,3,1,-9.0,4.0,8030,1,-9 +2704836,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704837,1100105,45,3,1,-9.0,6.0,20261,1,-9 +2704838,1100105,45,3,1,-9.0,4.0,15918,0,-9 +2704839,1100105,45,3,1,-9.0,4.0,9100,0,-9 +2704840,1100105,45,3,1,-9.0,4.0,6367,1,-9 +2704841,1100105,45,3,1,-9.0,4.0,8808,0,-9 +2704842,1100105,45,3,1,-9.0,4.0,9100,0,-9 +2704843,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704844,1100105,45,3,1,-9.0,4.0,12230,0,-9 +2704845,1100105,45,3,1,-9.0,6.0,5697,0,-9 +2704846,1100105,45,3,1,-9.0,6.0,5697,0,-9 +2704847,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704848,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704849,1100105,45,3,1,-9.0,4.0,10706,1,-9 +2704850,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704851,1100105,45,3,1,-9.0,4.0,632,0,-9 +2704852,1100105,45,3,1,-9.0,6.0,11187,0,-9 +2704853,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704854,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704855,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704856,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704857,1100105,45,3,1,-9.0,4.0,12230,0,-9 +2704858,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704859,1100105,45,3,1,-9.0,4.0,12430,1,-9 +2704860,1100105,45,3,1,-9.0,4.0,29521,0,-9 +2704861,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704862,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704863,1100105,45,3,1,-9.0,6.0,9115,0,-9 +2704864,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704865,1100105,45,3,1,-9.0,6.0,15631,0,-9 +2704866,1100105,45,3,1,-9.0,4.0,6367,1,-9 +2704867,1100105,45,3,1,-9.0,6.0,5697,0,-9 +2704868,1100105,45,3,1,-9.0,4.0,5572,1,-9 +2704869,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704870,1100105,45,3,1,-9.0,6.0,15631,0,-9 +2704871,1100105,45,3,1,-9.0,4.0,3820,0,-9 +2704872,1100105,45,3,1,-9.0,4.0,2122,1,-9 +2704873,1100105,45,3,1,-9.0,4.0,6367,1,-9 +2704874,1100105,45,3,1,-9.0,4.0,20021,1,-9 +2704875,1100105,45,3,1,-9.0,4.0,12230,0,-9 +2704876,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704877,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704878,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2704879,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704880,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704881,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704882,1100105,45,3,1,-9.0,4.0,9117,0,-9 +2704883,1100105,45,3,1,-9.0,6.0,18571,0,-9 +2704884,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2704885,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704886,1100105,45,3,1,-9.0,4.0,16661,0,-9 +2704887,1100105,45,3,1,-9.0,4.0,3820,0,-9 +2704888,1100105,45,3,1,-9.0,4.0,8886,0,-9 +2704889,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704890,1100105,45,3,1,-9.0,4.0,27656,1,-9 +2704891,1100105,45,3,1,-9.0,6.0,162,0,-9 +2704892,1100105,45,3,1,-9.0,4.0,16817,0,-9 +2704893,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704894,1100105,45,3,1,-9.0,4.0,12430,0,-9 +2704895,1100105,45,3,1,-9.0,4.0,632,0,-9 +2704896,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704897,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704898,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704899,1100105,45,3,1,-9.0,4.0,27656,1,-9 +2704900,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704901,1100105,45,3,1,-9.0,4.0,24839,1,-9 +2704902,1100105,45,3,1,-9.0,6.0,12430,1,-9 +2704903,1100105,45,3,1,-9.0,4.0,6367,1,-9 +2704904,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2704905,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704906,1100105,45,3,1,-9.0,6.0,8030,0,-9 +2704907,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704908,1100105,45,3,1,-9.0,4.0,12947,0,-9 +2704909,1100105,45,3,1,-9.0,4.0,632,0,-9 +2704910,1100105,45,3,1,-9.0,4.0,5572,1,-9 +2704911,1100105,45,3,1,-9.0,6.0,15196,0,-9 +2704912,1100105,45,3,1,-9.0,6.0,1927,0,-9 +2704913,1100105,45,3,1,-9.0,4.0,8886,0,-9 +2704914,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2704915,1100105,45,3,1,-9.0,6.0,15631,0,-9 +2704916,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704917,1100105,45,3,1,-9.0,4.0,8030,1,-9 +2704918,1100105,45,3,1,-9.0,4.0,16661,0,-9 +2704919,1100105,45,3,1,-9.0,6.0,2071,0,-9 +2704920,1100105,45,3,1,-9.0,4.0,15918,0,-9 +2704921,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704922,1100105,45,3,1,-9.0,6.0,9850,1,-9 +2704923,1100105,45,3,1,-9.0,4.0,6367,1,-9 +2704924,1100105,45,3,1,-9.0,4.0,5572,1,-9 +2704925,1100105,45,3,1,-9.0,4.0,29521,0,-9 +2704926,1100105,45,3,1,-9.0,4.0,9100,0,-9 +2704927,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704928,1100105,45,3,1,-9.0,4.0,12157,1,-9 +2704929,1100105,45,3,1,-9.0,4.0,9117,0,-9 +2704930,1100105,45,3,1,-9.0,4.0,2122,1,-9 +2704931,1100105,45,3,1,-9.0,6.0,12430,1,-9 +2704932,1100105,45,3,1,-9.0,4.0,15918,0,-9 +2704933,1100105,45,3,1,-9.0,4.0,16817,0,-9 +2704934,1100105,45,3,1,-9.0,4.0,5572,1,-9 +2704935,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704936,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704937,1100105,45,3,1,-9.0,4.0,8030,1,-9 +2704938,1100105,45,3,1,-9.0,4.0,10706,1,-9 +2704939,1100105,45,3,1,-9.0,4.0,9117,0,-9 +2704940,1100105,45,3,1,-9.0,4.0,29521,0,-9 +2704941,1100105,45,3,1,-9.0,4.0,27656,1,-9 +2704942,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2704943,1100105,45,3,1,-9.0,6.0,17987,0,-9 +2704944,1100105,45,3,1,-9.0,6.0,162,0,-9 +2704945,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2704946,1100105,45,3,1,-9.0,6.0,-1114,0,-9 +2704947,1100105,45,3,1,-9.0,4.0,10706,1,-9 +2704948,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704949,1100105,45,3,1,-9.0,4.0,632,0,-9 +2704950,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704951,1100105,45,3,1,-9.0,6.0,8030,0,-9 +2704952,1100105,45,3,1,-9.0,4.0,15918,0,-9 +2704953,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704954,1100105,45,3,1,-9.0,4.0,6367,1,-9 +2704955,1100105,45,3,1,-9.0,4.0,15918,0,-9 +2704956,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704957,1100105,45,3,1,-9.0,4.0,2122,1,-9 +2704958,1100105,45,3,1,-9.0,4.0,12947,0,-9 +2704959,1100105,45,3,1,-9.0,4.0,632,0,-9 +2704960,1100105,45,3,1,-9.0,4.0,16661,0,-9 +2704961,1100105,45,3,1,-9.0,4.0,530,1,-9 +2704962,1100105,45,3,1,-9.0,4.0,2122,1,-9 +2704963,1100105,45,3,1,-9.0,4.0,2122,1,-9 +2704964,1100105,45,3,1,-9.0,6.0,9850,1,-9 +2704965,1100105,45,3,1,-9.0,4.0,8030,1,-9 +2704966,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704967,1100105,45,3,1,-9.0,6.0,15631,0,-9 +2704968,1100105,45,3,1,-9.0,4.0,5572,1,-9 +2704969,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704970,1100105,45,3,1,-9.0,4.0,12230,0,-9 +2704971,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704972,1100105,45,3,1,-9.0,4.0,9117,0,-9 +2704973,1100105,45,3,1,-9.0,6.0,15196,0,-9 +2704974,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704975,1100105,45,3,1,-9.0,4.0,3820,0,-9 +2704976,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704977,1100105,45,3,1,-9.0,4.0,2122,1,-9 +2704978,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704979,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704980,1100105,45,3,1,-9.0,4.0,20021,1,-9 +2704981,1100105,45,3,1,-9.0,4.0,3820,0,-9 +2704982,1100105,45,3,1,-9.0,4.0,27656,1,-9 +2704983,1100105,45,3,1,-9.0,4.0,12230,0,-9 +2704984,1100105,45,3,1,-9.0,6.0,10813,0,-9 +2704985,1100105,45,3,1,-9.0,6.0,15631,0,-9 +2704986,1100105,45,3,1,-9.0,4.0,6367,1,-9 +2704987,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704988,1100105,45,3,1,-9.0,4.0,5572,1,-9 +2704989,1100105,45,3,1,-9.0,4.0,15918,0,-9 +2704990,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704991,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704992,1100105,45,3,1,-9.0,4.0,6215,1,-9 +2704993,1100105,45,3,1,-9.0,4.0,0,0,-9 +2704994,1100105,45,3,1,-9.0,6.0,0,0,-9 +2704995,1100105,45,3,1,-9.0,4.0,6473,1,-9 +2704996,1100105,45,3,1,-9.0,4.0,5572,1,-9 +2704997,1100105,45,3,1,-9.0,4.0,16817,0,-9 +2704998,1100105,45,3,1,-9.0,4.0,12230,0,-9 +2704999,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705000,1100105,45,3,1,-9.0,6.0,12430,1,-9 +2705001,1100105,45,3,1,-9.0,4.0,258,0,-9 +2705002,1100105,45,3,1,-9.0,4.0,258,0,-9 +2705003,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2705004,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705005,1100105,45,3,1,-9.0,6.0,19059,0,-9 +2705006,1100105,45,3,1,-9.0,4.0,9100,0,-9 +2705007,1100105,45,3,1,-9.0,6.0,10813,0,-9 +2705008,1100105,45,3,1,-9.0,4.0,9100,0,-9 +2705009,1100105,45,3,1,-9.0,4.0,535,0,-9 +2705010,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705011,1100105,45,3,1,-9.0,6.0,15631,0,-9 +2705012,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2705013,1100105,45,3,1,-9.0,4.0,8065,0,-9 +2705014,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2705015,1100105,45,3,1,-9.0,4.0,16661,0,-9 +2705016,1100105,45,3,1,-9.0,4.0,5572,1,-9 +2705017,1100105,45,3,1,-9.0,4.0,8065,0,-9 +2705018,1100105,45,3,1,-9.0,4.0,16817,0,-9 +2705019,1100105,45,3,1,-9.0,6.0,15631,0,-9 +2705020,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705021,1100105,45,3,1,-9.0,4.0,632,0,-9 +2705022,1100105,45,3,1,-9.0,4.0,6473,1,-9 +2705023,1100105,45,3,1,-9.0,4.0,6473,1,-9 +2705024,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705025,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705026,1100105,45,3,1,-9.0,4.0,20021,1,-9 +2705027,1100105,45,3,1,-9.0,4.0,258,0,-9 +2705028,1100105,45,3,1,-9.0,4.0,3820,0,-9 +2705029,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705030,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705031,1100105,45,3,1,-9.0,6.0,9850,1,-9 +2705032,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705033,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705034,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705035,1100105,45,3,1,-9.0,4.0,632,0,-9 +2705036,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2705037,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705038,1100105,45,3,1,-9.0,4.0,632,0,-9 +2705039,1100105,45,3,1,-9.0,4.0,530,1,-9 +2705040,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705041,1100105,45,3,1,-9.0,4.0,16661,0,-9 +2705042,1100105,45,3,1,-9.0,4.0,8886,0,-9 +2705043,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2705044,1100105,45,3,1,-9.0,4.0,8030,1,-9 +2705045,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705046,1100105,45,3,1,-9.0,4.0,3820,0,-9 +2705047,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705048,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705049,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705050,1100105,45,3,1,-9.0,4.0,5674,1,-9 +2705051,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705052,1100105,45,3,1,-9.0,4.0,9100,0,-9 +2705053,1100105,45,3,1,-9.0,4.0,16817,0,-9 +2705054,1100105,45,3,1,-9.0,4.0,318,0,-9 +2705055,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705056,1100105,45,3,1,-9.0,4.0,8030,1,-9 +2705057,1100105,45,3,1,-9.0,4.0,318,0,-9 +2705058,1100105,45,3,1,-9.0,4.0,15918,0,-9 +2705059,1100105,45,3,1,-9.0,4.0,2122,1,-9 +2705060,1100105,45,3,1,-9.0,4.0,6473,1,-9 +2705061,1100105,45,3,1,-9.0,4.0,15918,0,-9 +2705062,1100105,45,3,1,-9.0,4.0,16817,0,-9 +2705063,1100105,45,3,1,-9.0,6.0,2071,0,-9 +2705064,1100105,45,3,1,-9.0,6.0,15631,0,-9 +2705065,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705066,1100105,45,3,1,-9.0,4.0,16661,0,-9 +2705067,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2705068,1100105,45,3,1,-9.0,4.0,10358,0,-9 +2705069,1100105,45,3,1,-9.0,6.0,1927,0,-9 +2705070,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705071,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705072,1100105,45,3,1,-9.0,4.0,9117,0,-9 +2705073,1100105,45,3,1,-9.0,6.0,12430,1,-9 +2705074,1100105,45,3,1,-9.0,4.0,5572,1,-9 +2705075,1100105,45,3,1,-9.0,4.0,2122,1,-9 +2705076,1100105,45,3,1,-9.0,4.0,9117,0,-9 +2705077,1100105,45,3,1,-9.0,6.0,8489,1,-9 +2705078,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705079,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705080,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705081,1100105,45,3,1,-9.0,4.0,9100,0,-9 +2705082,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705083,1100105,45,3,1,-9.0,4.0,9117,0,-9 +2705084,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705085,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705086,1100105,45,3,1,-9.0,4.0,8886,0,-9 +2705087,1100105,45,3,1,-9.0,4.0,5572,1,-9 +2705088,1100105,45,3,1,-9.0,6.0,15631,0,-9 +2705089,1100105,45,3,1,-9.0,6.0,0,0,-9 +2705090,1100105,45,3,1,-9.0,4.0,15918,0,-9 +2705091,1100105,45,3,1,-9.0,4.0,8808,0,-9 +2705092,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705093,1100105,45,3,1,-9.0,4.0,8030,1,-9 +2705094,1100105,45,3,1,-9.0,4.0,6367,1,-9 +2705095,1100105,45,3,1,-9.0,4.0,16817,0,-9 +2705096,1100105,45,3,1,-9.0,6.0,15196,1,-9 +2705097,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705098,1100105,45,3,1,-9.0,4.0,12230,0,-9 +2705099,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705100,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705101,1100105,45,3,1,-9.0,4.0,8030,1,-9 +2705102,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705103,1100105,45,3,1,-9.0,4.0,6367,1,-9 +2705104,1100105,45,3,1,-9.0,6.0,17987,0,-9 +2705105,1100105,45,3,1,-9.0,4.0,8030,1,-9 +2705106,1100105,45,3,1,-9.0,4.0,6473,1,-9 +2705107,1100105,45,3,1,-9.0,4.0,0,0,-9 +2705108,1100105,45,3,1,-9.0,6.0,8030,0,-9 +2705109,1100105,45,3,1,-9.0,6.0,4557,0,-9 +2705110,1100105,45,3,1,-9.0,6.0,11751,0,-9 +2705111,1100105,45,3,1,-9.0,4.0,29521,0,-9 +2705112,1100105,45,3,1,-9.0,4.0,258,0,-9 +2705113,1100105,45,3,1,-9.0,6.0,10813,0,-9 +2705114,1100105,45,3,1,-9.0,4.0,5674,1,-9 +2705115,1100105,45,3,1,-9.0,4.0,12947,0,-9 +2705116,1100105,46,3,1,-9.0,4.0,9100,0,-9 +2705117,1100105,46,3,1,-9.0,4.0,29521,0,-9 +2705118,1100105,46,3,1,-9.0,4.0,12230,0,-9 +2705119,1100105,46,3,1,-9.0,4.0,0,0,-9 +2705120,1100105,46,3,1,-9.0,4.0,15918,0,-9 +2705121,1100105,46,3,1,-9.0,6.0,0,0,-9 +2705122,1100105,46,3,1,-9.0,4.0,0,0,-9 +2705123,1100105,46,3,1,-9.0,4.0,9117,0,-9 +2705124,1100105,46,3,1,-9.0,4.0,0,0,-9 +2705125,1100105,47,3,1,-9.0,6.0,1177,0,-9 +2705126,1100105,47,3,1,-9.0,4.0,20716,0,-9 +2705127,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705128,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705129,1100105,47,3,1,-9.0,4.0,2228,1,-9 +2705130,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705131,1100105,47,3,1,-9.0,4.0,3849,0,-9 +2705132,1100105,47,3,1,-9.0,6.0,1167,1,-9 +2705133,1100105,47,3,1,-9.0,6.0,4775,1,-9 +2705134,1100105,47,3,1,-9.0,4.0,16869,1,-9 +2705135,1100105,47,3,1,-9.0,6.0,2735,1,-9 +2705136,1100105,47,3,1,-9.0,6.0,4775,1,-9 +2705137,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705138,1100105,47,3,1,-9.0,6.0,2676,0,-9 +2705139,1100105,47,3,1,-9.0,4.0,0,0,-9 +2705140,1100105,47,3,1,-9.0,6.0,1054,0,-9 +2705141,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705142,1100105,47,3,1,-9.0,4.0,189,0,-9 +2705143,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705144,1100105,47,3,1,-9.0,4.0,2144,1,-9 +2705145,1100105,47,3,1,-9.0,6.0,310,0,-9 +2705146,1100105,47,3,1,-9.0,6.0,856,0,-9 +2705147,1100105,47,3,1,-9.0,4.0,21841,1,-9 +2705148,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705149,1100105,47,3,1,-9.0,6.0,1159,0,-9 +2705150,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705151,1100105,47,3,1,-9.0,4.0,2141,0,-9 +2705152,1100105,47,3,1,-9.0,4.0,9219,0,-9 +2705153,1100105,47,3,1,-9.0,4.0,880,0,-9 +2705154,1100105,47,3,1,-9.0,4.0,4661,1,-9 +2705155,1100105,47,3,1,-9.0,6.0,17510,1,-9 +2705156,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705157,1100105,47,3,1,-9.0,6.0,2034,0,-9 +2705158,1100105,47,3,1,-9.0,4.0,2141,0,-9 +2705159,1100105,47,3,1,-9.0,4.0,0,0,-9 +2705160,1100105,47,3,1,-9.0,6.0,4775,1,-9 +2705161,1100105,47,3,1,-9.0,6.0,9489,1,-9 +2705162,1100105,47,3,1,-9.0,4.0,1070,1,-9 +2705163,1100105,47,3,1,-9.0,6.0,1070,1,-9 +2705164,1100105,47,3,1,-9.0,4.0,7395,0,-9 +2705165,1100105,47,3,1,-9.0,4.0,10637,1,-9 +2705166,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705167,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705168,1100105,47,3,1,-9.0,6.0,3107,1,-9 +2705169,1100105,47,3,1,-9.0,4.0,4217,0,-9 +2705170,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705171,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705172,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705173,1100105,47,3,1,-9.0,6.0,374,0,-9 +2705174,1100105,47,3,1,-9.0,6.0,6326,0,-9 +2705175,1100105,47,3,1,-9.0,6.0,310,0,-9 +2705176,1100105,47,3,1,-9.0,4.0,0,0,-9 +2705177,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705178,1100105,47,3,1,-9.0,4.0,2796,0,-9 +2705179,1100105,47,3,1,-9.0,4.0,0,0,-9 +2705180,1100105,47,3,1,-9.0,6.0,414,0,-9 +2705181,1100105,47,3,1,-9.0,4.0,0,0,-9 +2705182,1100105,47,3,1,-9.0,6.0,11394,1,-9 +2705183,1100105,47,3,1,-9.0,6.0,7802,1,-9 +2705184,1100105,47,3,1,-9.0,4.0,1013,0,-9 +2705185,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705186,1100105,47,3,1,-9.0,6.0,2122,1,-9 +2705187,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705188,1100105,47,3,1,-9.0,4.0,4868,1,-9 +2705189,1100105,47,3,1,-9.0,6.0,856,1,-9 +2705190,1100105,47,3,1,-9.0,4.0,6424,1,-9 +2705191,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705192,1100105,47,3,1,-9.0,4.0,2141,0,-9 +2705193,1100105,47,3,1,-9.0,4.0,2144,1,-9 +2705194,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705195,1100105,47,3,1,-9.0,6.0,2071,1,-9 +2705196,1100105,47,3,1,-9.0,6.0,856,1,-9 +2705197,1100105,47,3,1,-9.0,4.0,5836,1,-9 +2705198,1100105,47,3,1,-9.0,6.0,442,0,-9 +2705199,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705200,1100105,47,3,1,-9.0,6.0,1070,0,-9 +2705201,1100105,47,3,1,-9.0,4.0,2141,0,-9 +2705202,1100105,47,3,1,-9.0,6.0,3039,0,-9 +2705203,1100105,47,3,1,-9.0,4.0,632,0,-9 +2705204,1100105,47,3,1,-9.0,4.0,1897,0,-9 +2705205,1100105,47,3,1,-9.0,4.0,4244,1,-9 +2705206,1100105,47,3,1,-9.0,4.0,1284,0,-9 +2705207,1100105,47,3,1,-9.0,6.0,6215,0,-9 +2705208,1100105,47,3,1,-9.0,4.0,2122,0,-9 +2705209,1100105,47,3,1,-9.0,6.0,1273,0,-9 +2705210,1100105,47,3,1,-9.0,6.0,210,0,-9 +2705211,1100105,47,3,1,-9.0,4.0,8104,1,-9 +2705212,1100105,47,3,1,-9.0,4.0,2890,0,-9 +2705213,1100105,47,3,1,-9.0,4.0,2141,0,-9 +2705214,1100105,47,3,1,-9.0,4.0,2144,1,-9 +2705215,1100105,47,3,1,-9.0,4.0,4052,0,-9 +2705216,1100105,47,3,1,-9.0,4.0,1070,1,-9 +2705217,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705218,1100105,47,3,1,-9.0,4.0,5139,0,-9 +2705219,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705220,1100105,47,3,1,-9.0,4.0,5489,0,-9 +2705221,1100105,47,3,1,-9.0,4.0,1823,1,-9 +2705222,1100105,47,3,1,-9.0,6.0,8434,0,-9 +2705223,1100105,47,3,1,-9.0,4.0,2796,0,-9 +2705224,1100105,47,3,1,-9.0,6.0,7485,1,-9 +2705225,1100105,47,3,1,-9.0,4.0,54825,1,-9 +2705226,1100105,47,3,1,-9.0,6.0,9489,1,-9 +2705227,1100105,47,3,1,-9.0,6.0,2141,1,-9 +2705228,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705229,1100105,47,3,1,-9.0,6.0,424,0,-9 +2705230,1100105,47,3,1,-9.0,6.0,3901,1,-9 +2705231,1100105,47,3,1,-9.0,4.0,2071,0,-9 +2705232,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705233,1100105,47,3,1,-9.0,6.0,0,0,-9 +2705234,1100105,49,3,1,-9.0,6.0,1243,0,-9 +2705235,1100105,49,3,1,-9.0,4.0,20716,0,-9 +2705236,1100105,49,3,1,-9.0,6.0,2735,1,-9 +2705237,1100105,49,3,1,-9.0,4.0,5836,1,-9 +2705238,1100105,49,3,1,-9.0,4.0,11242,1,-9 +2705239,1100105,49,3,1,-9.0,4.0,0,0,-9 +2705240,1100105,49,3,1,-9.0,4.0,2122,0,-9 +2705241,1100105,49,3,1,-9.0,4.0,0,0,-9 +2705242,1100105,49,3,1,-9.0,4.0,0,0,-9 +2705243,1100105,49,3,1,-9.0,4.0,4143,0,-9 +2705244,1100105,49,3,1,-9.0,4.0,4143,0,-9 +2705245,1100105,49,3,1,-9.0,4.0,4082,1,-9 +2705246,1100105,49,3,1,-9.0,4.0,0,0,-9 +2705247,1100105,49,3,1,-9.0,6.0,8779,0,-9 +2705248,1100105,49,3,1,-9.0,6.0,4052,0,-9 +2705249,1100105,49,3,1,-9.0,6.0,0,0,-9 +2705250,1100105,49,3,1,-9.0,4.0,4868,1,-9 +2705251,1100105,49,3,1,-9.0,4.0,843,1,-9 +2705252,1100105,49,3,1,-9.0,6.0,5065,0,-9 +2705253,1100105,49,3,1,-9.0,4.0,3184,0,-9 +2705254,1100105,49,3,1,-9.0,4.0,2141,0,-9 +2705255,1100105,49,3,1,-9.0,6.0,1968,0,-9 +2705256,1100105,49,3,1,-9.0,6.0,6078,1,-9 +2705257,1100105,49,3,1,-9.0,6.0,0,0,-9 +2705258,1100105,49,3,1,-9.0,6.0,0,0,-9 +2705259,1100105,49,3,1,-9.0,6.0,0,0,-9 +2705260,1100105,49,3,1,-9.0,6.0,530,0,-9 +2705261,1100105,49,3,1,-9.0,6.0,0,0,-9 +2705262,1100105,49,3,1,-9.0,6.0,25304,1,-9 +2705263,1100105,49,3,1,-9.0,4.0,3163,0,-9 +2705264,1100105,49,3,1,-9.0,6.0,0,0,-9 +2705265,1100105,49,3,1,-9.0,6.0,1722,0,-9 +2705266,1100105,49,3,1,-9.0,6.0,1013,0,-9 +2705267,1100105,49,3,1,-9.0,6.0,0,0,-9 +2705268,1100105,49,3,1,-9.0,6.0,2071,1,-9 +2705269,1100105,49,3,1,-9.0,6.0,0,0,-9 +2705270,1100105,49,3,1,-9.0,6.0,1686,0,-9 +2705271,1100105,49,3,1,-9.0,4.0,11242,1,-9 +2705272,1100105,49,3,1,-9.0,6.0,0,0,-9 +2705273,1100105,49,3,1,-9.0,6.0,0,0,-9 +2705274,1100105,49,3,1,-9.0,6.0,310,0,-9 +2705275,1100105,49,3,1,-9.0,4.0,14561,1,-9 +2705276,1100105,49,3,1,-9.0,4.0,3184,0,-9 +2705277,1100105,49,3,1,-9.0,6.0,3163,1,-9 +2705278,1100105,49,3,1,-9.0,6.0,2108,1,-9 +2705279,1100105,49,3,1,-9.0,4.0,2122,0,-9 +2705280,1100105,49,3,1,-9.0,4.0,3104,0,-9 +2705281,1100105,49,3,1,-9.0,4.0,2071,0,-9 +2705282,1100105,49,3,1,-9.0,6.0,4052,0,-9 +2705283,1100105,49,3,1,-9.0,6.0,8458,1,-9 +2705284,1100105,49,3,1,-9.0,6.0,0,0,-9 +2705285,1100105,49,3,1,-9.0,4.0,6078,1,-9 +2705286,1100105,50,3,1,-9.0,6.0,9115,0,-9 +2705287,1100105,50,3,1,-9.0,4.0,27656,1,-9 +2705288,1100105,50,3,1,-9.0,6.0,1927,0,-9 +2705289,1100105,50,3,1,-9.0,4.0,3820,0,-9 +2705290,1100105,50,3,1,-9.0,4.0,10358,0,-9 +2705291,1100105,50,3,1,-9.0,4.0,0,0,-9 +2705292,1100105,50,3,1,-9.0,6.0,1927,0,-9 +2705293,1100105,50,3,1,-9.0,4.0,6367,1,-9 +2705294,1100105,50,3,1,-9.0,6.0,0,0,-9 +2705295,1100105,50,3,1,-9.0,4.0,12947,0,-9 +2705296,1100105,50,3,1,-9.0,4.0,0,0,-9 +2705297,1100105,50,3,1,-9.0,4.0,8030,1,-9 +2705298,1100105,50,3,1,-9.0,6.0,12430,1,-9 +2705299,1100105,50,3,1,-9.0,4.0,535,0,-9 +2705300,1100105,50,3,1,-9.0,4.0,0,0,-9 +2705301,1100105,50,3,1,-9.0,4.0,9100,0,-9 +2705302,1100105,50,3,1,-9.0,4.0,15203,0,-9 +2705303,1100105,50,3,1,-9.0,6.0,162,0,-9 +2705304,1100105,50,3,1,-9.0,6.0,0,0,-9 +2705305,1100105,50,3,1,-9.0,4.0,33739,1,-9 +2705306,1100105,50,3,1,-9.0,6.0,0,0,-9 +2705307,1100105,50,3,1,-9.0,4.0,6473,1,-9 +2705308,1100105,50,3,1,-9.0,4.0,8030,1,-9 +2705309,1100105,50,3,1,-9.0,4.0,0,0,-9 +2705310,1100105,50,3,1,-9.0,4.0,8065,0,-9 +2705311,1100105,50,3,1,-9.0,4.0,530,1,-9 +2705312,1100105,50,3,1,-9.0,4.0,12230,0,-9 +2705313,1100105,50,3,1,-9.0,4.0,2653,0,-9 +2705314,1100105,50,3,1,-9.0,4.0,12430,0,-9 +2705315,1100105,50,3,1,-9.0,4.0,33739,1,-9 +2705316,1100105,50,3,1,-9.0,4.0,530,1,-9 +2705317,1100105,50,3,1,-9.0,6.0,10813,0,-9 +2705318,1100105,50,3,1,-9.0,4.0,632,0,-9 +2705319,1100105,50,3,1,-9.0,6.0,9115,0,-9 +2705320,1100105,50,3,1,-9.0,4.0,0,0,-9 +2705321,1100105,50,3,1,-9.0,4.0,0,0,-9 +2705322,1100105,50,3,1,-9.0,6.0,17987,0,-9 +2705323,1100105,50,3,1,-9.0,4.0,20021,1,-9 +2705324,1100105,50,3,1,-9.0,4.0,0,0,-9 +2705325,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705326,1100105,53,3,1,-9.0,4.0,0,0,-9 +2705327,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705328,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705329,1100105,53,3,1,-9.0,4.0,5572,1,-9 +2705330,1100105,53,3,1,-9.0,6.0,1177,0,-9 +2705331,1100105,53,3,1,-9.0,4.0,1013,1,-9 +2705332,1100105,53,3,1,-9.0,4.0,0,0,-9 +2705333,1100105,53,3,1,-9.0,6.0,5075,1,-9 +2705334,1100105,53,3,1,-9.0,4.0,10637,1,-9 +2705335,1100105,53,3,1,-9.0,4.0,3184,0,-9 +2705336,1100105,53,3,1,-9.0,4.0,1061,0,-9 +2705337,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705338,1100105,53,3,1,-9.0,6.0,1070,1,-9 +2705339,1100105,53,3,1,-9.0,4.0,2122,0,-9 +2705340,1100105,53,3,1,-9.0,4.0,5624,1,-9 +2705341,1100105,53,3,1,-9.0,4.0,632,0,-9 +2705342,1100105,53,3,1,-9.0,4.0,1159,1,-9 +2705343,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705344,1100105,53,3,1,-9.0,6.0,8434,0,-9 +2705345,1100105,53,3,1,-9.0,4.0,3039,1,-9 +2705346,1100105,53,3,1,-9.0,4.0,15196,0,-9 +2705347,1100105,53,3,1,-9.0,4.0,21086,1,-9 +2705348,1100105,53,3,1,-9.0,4.0,0,0,-9 +2705349,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705350,1100105,53,3,1,-9.0,6.0,3901,1,-9 +2705351,1100105,53,3,1,-9.0,4.0,2676,1,-9 +2705352,1100105,53,3,1,-9.0,4.0,7902,0,-9 +2705353,1100105,53,3,1,-9.0,6.0,1070,0,-9 +2705354,1100105,53,3,1,-9.0,6.0,2122,1,-9 +2705355,1100105,53,3,1,-9.0,6.0,1013,0,-9 +2705356,1100105,53,3,1,-9.0,6.0,1581,1,-9 +2705357,1100105,53,3,1,-9.0,4.0,1284,0,-9 +2705358,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705359,1100105,53,3,1,-9.0,4.0,517,0,-9 +2705360,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705361,1100105,53,3,1,-9.0,4.0,1713,1,-9 +2705362,1100105,53,3,1,-9.0,4.0,2141,0,-9 +2705363,1100105,53,3,1,-9.0,6.0,2741,1,-9 +2705364,1100105,53,3,1,-9.0,4.0,0,0,-9 +2705365,1100105,53,3,1,-9.0,4.0,4143,0,-9 +2705366,1100105,53,3,1,-9.0,6.0,3039,1,-9 +2705367,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705368,1100105,53,3,1,-9.0,4.0,642,0,-9 +2705369,1100105,53,3,1,-9.0,4.0,3104,0,-9 +2705370,1100105,53,3,1,-9.0,6.0,1070,1,-9 +2705371,1100105,53,3,1,-9.0,6.0,414,0,-9 +2705372,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705373,1100105,53,3,1,-9.0,4.0,0,0,-9 +2705374,1100105,53,3,1,-9.0,4.0,2071,1,-9 +2705375,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705376,1100105,53,3,1,-9.0,6.0,210,0,-9 +2705377,1100105,53,3,1,-9.0,6.0,4052,0,-9 +2705378,1100105,53,3,1,-9.0,6.0,8779,0,-9 +2705379,1100105,53,3,1,-9.0,6.0,421,0,-9 +2705380,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705381,1100105,53,3,1,-9.0,6.0,1370,1,-9 +2705382,1100105,53,3,1,-9.0,4.0,10438,1,-9 +2705383,1100105,53,3,1,-9.0,6.0,53062,1,-9 +2705384,1100105,53,3,1,-9.0,4.0,16869,1,-9 +2705385,1100105,53,3,1,-9.0,6.0,2071,1,-9 +2705386,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705387,1100105,53,3,1,-9.0,4.0,2122,0,-9 +2705388,1100105,53,3,1,-9.0,6.0,530,0,-9 +2705389,1100105,53,3,1,-9.0,4.0,1591,0,-9 +2705390,1100105,53,3,1,-9.0,4.0,2635,1,-9 +2705391,1100105,53,3,1,-9.0,6.0,1054,0,-9 +2705392,1100105,53,3,1,-9.0,4.0,20261,0,-9 +2705393,1100105,53,3,1,-9.0,4.0,21086,1,-9 +2705394,1100105,53,3,1,-9.0,6.0,3163,1,-9 +2705395,1100105,53,3,1,-9.0,6.0,4775,1,-9 +2705396,1100105,53,3,1,-9.0,6.0,535,0,-9 +2705397,1100105,53,3,1,-9.0,4.0,1581,1,-9 +2705398,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705399,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705400,1100105,53,3,1,-9.0,4.0,3241,0,-9 +2705401,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705402,1100105,53,3,1,-9.0,4.0,3039,0,-9 +2705403,1100105,53,3,1,-9.0,4.0,16869,1,-9 +2705404,1100105,53,3,1,-9.0,4.0,1177,1,-9 +2705405,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705406,1100105,53,3,1,-9.0,6.0,2122,1,-9 +2705407,1100105,53,3,1,-9.0,4.0,16869,1,-9 +2705408,1100105,53,3,1,-9.0,6.0,421,0,-9 +2705409,1100105,53,3,1,-9.0,4.0,4454,1,-9 +2705410,1100105,53,3,1,-9.0,4.0,1159,1,-9 +2705411,1100105,53,3,1,-9.0,4.0,0,0,-9 +2705412,1100105,53,3,1,-9.0,4.0,9219,0,-9 +2705413,1100105,53,3,1,-9.0,6.0,2735,1,-9 +2705414,1100105,53,3,1,-9.0,4.0,632,0,-9 +2705415,1100105,53,3,1,-9.0,4.0,527,0,-9 +2705416,1100105,53,3,1,-9.0,4.0,10358,1,-9 +2705417,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705418,1100105,53,3,1,-9.0,6.0,4775,1,-9 +2705419,1100105,53,3,1,-9.0,4.0,2071,0,-9 +2705420,1100105,53,3,1,-9.0,6.0,828,0,-9 +2705421,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705422,1100105,53,3,1,-9.0,6.0,1070,0,-9 +2705423,1100105,53,3,1,-9.0,6.0,769,0,-9 +2705424,1100105,53,3,1,-9.0,6.0,4775,1,-9 +2705425,1100105,53,3,1,-9.0,4.0,7598,1,-9 +2705426,1100105,53,3,1,-9.0,6.0,2122,1,-9 +2705427,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705428,1100105,53,3,1,-9.0,4.0,2144,1,-9 +2705429,1100105,53,3,1,-9.0,6.0,1823,0,-9 +2705430,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705431,1100105,53,3,1,-9.0,6.0,1061,1,-9 +2705432,1100105,53,3,1,-9.0,4.0,2071,0,-9 +2705433,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705434,1100105,53,3,1,-9.0,4.0,11242,1,-9 +2705435,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705436,1100105,53,3,1,-9.0,4.0,148,0,-9 +2705437,1100105,53,3,1,-9.0,6.0,4052,0,-9 +2705438,1100105,53,3,1,-9.0,6.0,3647,0,-9 +2705439,1100105,53,3,1,-9.0,6.0,3647,0,-9 +2705440,1100105,53,3,1,-9.0,4.0,2141,0,-9 +2705441,1100105,53,3,1,-9.0,4.0,2635,0,-9 +2705442,1100105,53,3,1,-9.0,6.0,2122,1,-9 +2705443,1100105,53,3,1,-9.0,6.0,10612,0,-9 +2705444,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705445,1100105,53,3,1,-9.0,4.0,0,0,-9 +2705446,1100105,53,3,1,-9.0,6.0,1054,0,-9 +2705447,1100105,53,3,1,-9.0,4.0,4244,1,-9 +2705448,1100105,53,3,1,-9.0,6.0,17510,1,-9 +2705449,1100105,53,3,1,-9.0,4.0,3163,0,-9 +2705450,1100105,53,3,1,-9.0,6.0,3747,0,-9 +2705451,1100105,53,3,1,-9.0,6.0,856,1,-9 +2705452,1100105,53,3,1,-9.0,6.0,1391,0,-9 +2705453,1100105,53,3,1,-9.0,6.0,8779,0,-9 +2705454,1100105,53,3,1,-9.0,6.0,2071,0,-9 +2705455,1100105,53,3,1,-9.0,4.0,2676,0,-9 +2705456,1100105,53,3,1,-9.0,6.0,2071,0,-9 +2705457,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705458,1100105,53,3,1,-9.0,6.0,5518,1,-9 +2705459,1100105,53,3,1,-9.0,6.0,2900,1,-9 +2705460,1100105,53,3,1,-9.0,4.0,10400,1,-9 +2705461,1100105,53,3,1,-9.0,6.0,530,0,-9 +2705462,1100105,53,3,1,-9.0,4.0,8961,1,-9 +2705463,1100105,53,3,1,-9.0,4.0,428,0,-9 +2705464,1100105,53,3,1,-9.0,6.0,8779,0,-9 +2705465,1100105,53,3,1,-9.0,6.0,442,0,-9 +2705466,1100105,53,3,1,-9.0,4.0,1013,0,-9 +2705467,1100105,53,3,1,-9.0,6.0,3212,1,-9 +2705468,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705469,1100105,53,3,1,-9.0,6.0,10612,0,-9 +2705470,1100105,53,3,1,-9.0,4.0,0,0,-9 +2705471,1100105,53,3,1,-9.0,4.0,8489,1,-9 +2705472,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705473,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705474,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705475,1100105,53,3,1,-9.0,6.0,8434,0,-9 +2705476,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705477,1100105,53,3,1,-9.0,4.0,-1114,0,-9 +2705478,1100105,53,3,1,-9.0,4.0,0,0,-9 +2705479,1100105,53,3,1,-9.0,4.0,64,0,-9 +2705480,1100105,53,3,1,-9.0,6.0,414,0,-9 +2705481,1100105,53,3,1,-9.0,6.0,1686,0,-9 +2705482,1100105,53,3,1,-9.0,6.0,1054,0,-9 +2705483,1100105,53,3,1,-9.0,4.0,2122,0,-9 +2705484,1100105,53,3,1,-9.0,6.0,1070,0,-9 +2705485,1100105,53,3,1,-9.0,6.0,1519,0,-9 +2705486,1100105,53,3,1,-9.0,4.0,15196,0,-9 +2705487,1100105,53,3,1,-9.0,6.0,4775,1,-9 +2705488,1100105,53,3,1,-9.0,4.0,2141,0,-9 +2705489,1100105,53,3,1,-9.0,4.0,955,0,-9 +2705490,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705491,1100105,53,3,1,-9.0,4.0,2144,1,-9 +2705492,1100105,53,3,1,-9.0,4.0,2676,0,-9 +2705493,1100105,53,3,1,-9.0,6.0,8104,1,-9 +2705494,1100105,53,3,1,-9.0,6.0,4052,1,-9 +2705495,1100105,53,3,1,-9.0,4.0,4868,1,-9 +2705496,1100105,53,3,1,-9.0,6.0,48628,0,-9 +2705497,1100105,53,3,1,-9.0,4.0,1070,1,-9 +2705498,1100105,53,3,1,-9.0,6.0,1070,1,-9 +2705499,1100105,53,3,1,-9.0,4.0,1177,1,-9 +2705500,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705501,1100105,53,3,1,-9.0,6.0,15399,1,-9 +2705502,1100105,53,3,1,-9.0,6.0,2676,1,-9 +2705503,1100105,53,3,1,-9.0,6.0,265,1,-9 +2705504,1100105,53,3,1,-9.0,6.0,2141,0,-9 +2705505,1100105,53,3,1,-9.0,4.0,20261,0,-9 +2705506,1100105,53,3,1,-9.0,6.0,12098,1,-9 +2705507,1100105,53,3,1,-9.0,6.0,828,0,-9 +2705508,1100105,53,3,1,-9.0,4.0,2108,1,-9 +2705509,1100105,53,3,1,-9.0,6.0,212,0,-9 +2705510,1100105,53,3,1,-9.0,4.0,4082,1,-9 +2705511,1100105,53,3,1,-9.0,4.0,2071,0,-9 +2705512,1100105,53,3,1,-9.0,6.0,5075,1,-9 +2705513,1100105,53,3,1,-9.0,6.0,5271,1,-9 +2705514,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705515,1100105,53,3,1,-9.0,6.0,4052,0,-9 +2705516,1100105,53,3,1,-9.0,4.0,21086,1,-9 +2705517,1100105,53,3,1,-9.0,6.0,3163,1,-9 +2705518,1100105,53,3,1,-9.0,6.0,3747,0,-9 +2705519,1100105,53,3,1,-9.0,6.0,856,0,-9 +2705520,1100105,53,3,1,-9.0,6.0,3107,1,-9 +2705521,1100105,53,3,1,-9.0,4.0,1284,0,-9 +2705522,1100105,53,3,1,-9.0,4.0,2071,0,-9 +2705523,1100105,53,3,1,-9.0,4.0,955,0,-9 +2705524,1100105,53,3,1,-9.0,6.0,8458,1,-9 +2705525,1100105,53,3,1,-9.0,6.0,1346,0,-9 +2705526,1100105,53,3,1,-9.0,4.0,15709,1,-9 +2705527,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705528,1100105,53,3,1,-9.0,6.0,1823,0,-9 +2705529,1100105,53,3,1,-9.0,6.0,0,0,-9 +2705530,1100105,54,3,1,-9.0,4.0,0,0,-9 +2705531,1100105,54,3,1,-9.0,4.0,16817,0,-9 +2705532,1100105,54,3,1,-9.0,6.0,15196,0,-9 +2705533,1100105,54,3,1,-9.0,4.0,318,0,-9 +2705534,1100105,54,3,1,-9.0,4.0,10358,0,-9 +2705535,1100105,54,3,1,-9.0,4.0,0,0,-9 +2705536,1100105,54,3,1,-9.0,4.0,10706,1,-9 +2705537,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705538,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705539,1100105,54,3,1,-9.0,4.0,0,0,-9 +2705540,1100105,54,3,1,-9.0,4.0,0,0,-9 +2705541,1100105,54,3,1,-9.0,6.0,17987,0,-9 +2705542,1100105,54,3,1,-9.0,4.0,2122,1,-9 +2705543,1100105,54,3,1,-9.0,6.0,1927,0,-9 +2705544,1100105,54,3,1,-9.0,4.0,0,0,-9 +2705545,1100105,54,3,1,-9.0,4.0,29521,0,-9 +2705546,1100105,54,3,1,-9.0,4.0,6367,1,-9 +2705547,1100105,54,3,1,-9.0,4.0,10706,1,-9 +2705548,1100105,54,3,1,-9.0,4.0,10358,0,-9 +2705549,1100105,54,3,1,-9.0,4.0,5572,1,-9 +2705550,1100105,54,3,1,-9.0,4.0,16817,0,-9 +2705551,1100105,54,3,1,-9.0,4.0,16817,0,-9 +2705552,1100105,54,3,1,-9.0,4.0,8065,0,-9 +2705553,1100105,54,3,1,-9.0,4.0,0,0,-9 +2705554,1100105,54,3,1,-9.0,4.0,12230,0,-9 +2705555,1100105,54,3,1,-9.0,4.0,12230,0,-9 +2705556,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705557,1100105,54,3,1,-9.0,4.0,33739,1,-9 +2705558,1100105,54,3,1,-9.0,4.0,0,0,-9 +2705559,1100105,54,3,1,-9.0,4.0,0,0,-9 +2705560,1100105,54,3,1,-9.0,4.0,8886,0,-9 +2705561,1100105,54,3,1,-9.0,6.0,1177,0,-9 +2705562,1100105,54,3,1,-9.0,6.0,210,0,-9 +2705563,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705564,1100105,54,3,1,-9.0,4.0,2796,0,-9 +2705565,1100105,54,3,1,-9.0,4.0,0,0,-9 +2705566,1100105,54,3,1,-9.0,6.0,421,0,-9 +2705567,1100105,54,3,1,-9.0,4.0,2355,0,-9 +2705568,1100105,54,3,1,-9.0,6.0,1591,0,-9 +2705569,1100105,54,3,1,-9.0,6.0,1035,0,-9 +2705570,1100105,54,3,1,-9.0,6.0,2141,1,-9 +2705571,1100105,54,3,1,-9.0,6.0,1581,0,-9 +2705572,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705573,1100105,54,3,1,-9.0,6.0,1159,0,-9 +2705574,1100105,54,3,1,-9.0,4.0,2228,1,-9 +2705575,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705576,1100105,54,3,1,-9.0,6.0,1013,0,-9 +2705577,1100105,54,3,1,-9.0,6.0,2122,1,-9 +2705578,1100105,54,3,1,-9.0,6.0,530,0,-9 +2705579,1100105,54,3,1,-9.0,6.0,1370,1,-9 +2705580,1100105,54,3,1,-9.0,6.0,424,0,-9 +2705581,1100105,54,3,1,-9.0,6.0,1013,0,-9 +2705582,1100105,54,3,1,-9.0,6.0,374,0,-9 +2705583,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705584,1100105,54,3,1,-9.0,6.0,1519,0,-9 +2705585,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705586,1100105,54,3,1,-9.0,6.0,2071,1,-9 +2705587,1100105,54,3,1,-9.0,4.0,4082,1,-9 +2705588,1100105,54,3,1,-9.0,6.0,1177,0,-9 +2705589,1100105,54,3,1,-9.0,6.0,1450,0,-9 +2705590,1100105,54,3,1,-9.0,4.0,6078,1,-9 +2705591,1100105,54,3,1,-9.0,6.0,414,0,-9 +2705592,1100105,54,3,1,-9.0,6.0,1823,1,-9 +2705593,1100105,54,3,1,-9.0,4.0,2141,0,-9 +2705594,1100105,54,3,1,-9.0,4.0,177291,0,-9 +2705595,1100105,54,3,1,-9.0,4.0,759,0,-9 +2705596,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705597,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705598,1100105,54,3,1,-9.0,6.0,8779,0,-9 +2705599,1100105,54,3,1,-9.0,4.0,22484,1,-9 +2705600,1100105,54,3,1,-9.0,4.0,7902,0,-9 +2705601,1100105,54,3,1,-9.0,6.0,530,0,-9 +2705602,1100105,54,3,1,-9.0,4.0,0,0,-9 +2705603,1100105,54,3,1,-9.0,6.0,2141,0,-9 +2705604,1100105,54,3,1,-9.0,6.0,4925,0,-9 +2705605,1100105,54,3,1,-9.0,4.0,527,0,-9 +2705606,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705607,1100105,54,3,1,-9.0,4.0,4052,0,-9 +2705608,1100105,54,3,1,-9.0,6.0,421,0,-9 +2705609,1100105,54,3,1,-9.0,6.0,5271,1,-9 +2705610,1100105,54,3,1,-9.0,4.0,22484,1,-9 +2705611,1100105,54,3,1,-9.0,6.0,15918,1,-9 +2705612,1100105,54,3,1,-9.0,4.0,64,1,-9 +2705613,1100105,54,3,1,-9.0,4.0,1713,1,-9 +2705614,1100105,54,3,1,-9.0,6.0,4244,1,-9 +2705615,1100105,54,3,1,-9.0,6.0,856,0,-9 +2705616,1100105,54,3,1,-9.0,6.0,12098,1,-9 +2705617,1100105,54,3,1,-9.0,4.0,1284,0,-9 +2705618,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705619,1100105,54,3,1,-9.0,4.0,4143,0,-9 +2705620,1100105,54,3,1,-9.0,4.0,16869,1,-9 +2705621,1100105,54,3,1,-9.0,6.0,7250,1,-9 +2705622,1100105,54,3,1,-9.0,6.0,5518,1,-9 +2705623,1100105,54,3,1,-9.0,6.0,0,0,-9 +2705624,1100105,54,3,1,-9.0,6.0,1581,0,-9 +2705625,1100105,54,3,1,-9.0,6.0,5271,1,-9 +2705626,1100105,54,3,1,-9.0,4.0,527,0,-9 +2705627,1100105,54,3,1,-9.0,6.0,1346,0,-9 +2705628,1100105,54,3,1,-9.0,6.0,421,0,-9 +2705629,1100105,55,3,1,-9.0,4.0,7598,1,-9 +2705630,1100105,55,3,1,-9.0,4.0,5836,1,-9 +2705631,1100105,55,3,1,-9.0,6.0,1686,0,-9 +2705632,1100105,55,3,1,-9.0,6.0,1054,0,-9 +2705633,1100105,55,3,1,-9.0,4.0,0,0,-9 +2705634,1100105,55,3,1,-9.0,6.0,414,0,-9 +2705635,1100105,55,3,1,-9.0,6.0,9322,1,-9 +2705636,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705637,1100105,55,3,1,-9.0,6.0,3395,0,-9 +2705638,1100105,55,3,1,-9.0,6.0,856,1,-9 +2705639,1100105,55,3,1,-9.0,6.0,2141,1,-9 +2705640,1100105,55,3,1,-9.0,6.0,8434,0,-9 +2705641,1100105,55,3,1,-9.0,4.0,0,0,-9 +2705642,1100105,55,3,1,-9.0,6.0,2122,1,-9 +2705643,1100105,55,3,1,-9.0,4.0,1864,0,-9 +2705644,1100105,55,3,1,-9.0,6.0,856,1,-9 +2705645,1100105,55,3,1,-9.0,6.0,6326,1,-9 +2705646,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705647,1100105,55,3,1,-9.0,6.0,1013,0,-9 +2705648,1100105,55,3,1,-9.0,6.0,5353,0,-9 +2705649,1100105,55,3,1,-9.0,6.0,210,0,-9 +2705650,1100105,55,3,1,-9.0,6.0,6215,0,-9 +2705651,1100105,55,3,1,-9.0,6.0,51392,1,-9 +2705652,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705653,1100105,55,3,1,-9.0,4.0,0,0,-9 +2705654,1100105,55,3,1,-9.0,6.0,856,0,-9 +2705655,1100105,55,3,1,-9.0,6.0,3107,1,-9 +2705656,1100105,55,3,1,-9.0,4.0,3241,0,-9 +2705657,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705658,1100105,55,3,1,-9.0,4.0,12157,1,-9 +2705659,1100105,55,3,1,-9.0,4.0,0,0,-9 +2705660,1100105,55,3,1,-9.0,4.0,1713,1,-9 +2705661,1100105,55,3,1,-9.0,6.0,6215,0,-9 +2705662,1100105,55,3,1,-9.0,4.0,3212,0,-9 +2705663,1100105,55,3,1,-9.0,4.0,50727,1,-9 +2705664,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705665,1100105,55,3,1,-9.0,6.0,4775,1,-9 +2705666,1100105,55,3,1,-9.0,4.0,2071,0,-9 +2705667,1100105,55,3,1,-9.0,6.0,856,0,-9 +2705668,1100105,55,3,1,-9.0,6.0,2122,1,-9 +2705669,1100105,55,3,1,-9.0,4.0,0,0,-9 +2705670,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705671,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705672,1100105,55,3,1,-9.0,6.0,3647,0,-9 +2705673,1100105,55,3,1,-9.0,4.0,0,0,-9 +2705674,1100105,55,3,1,-9.0,6.0,1013,0,-9 +2705675,1100105,55,3,1,-9.0,4.0,5836,1,-9 +2705676,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705677,1100105,55,3,1,-9.0,4.0,17222,1,-9 +2705678,1100105,55,3,1,-9.0,6.0,1177,0,-9 +2705679,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705680,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705681,1100105,55,3,1,-9.0,4.0,4217,0,-9 +2705682,1100105,55,3,1,-9.0,4.0,3184,0,-9 +2705683,1100105,55,3,1,-9.0,6.0,2141,1,-9 +2705684,1100105,55,3,1,-9.0,4.0,5489,0,-9 +2705685,1100105,55,3,1,-9.0,6.0,1396,0,-9 +2705686,1100105,55,3,1,-9.0,6.0,9322,1,-9 +2705687,1100105,55,3,1,-9.0,6.0,2141,1,-9 +2705688,1100105,55,3,1,-9.0,6.0,3107,1,-9 +2705689,1100105,55,3,1,-9.0,6.0,4052,0,-9 +2705690,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705691,1100105,55,3,1,-9.0,4.0,0,0,-9 +2705692,1100105,55,3,1,-9.0,4.0,2122,1,-9 +2705693,1100105,55,3,1,-9.0,4.0,214,0,-9 +2705694,1100105,55,3,1,-9.0,4.0,2635,1,-9 +2705695,1100105,55,3,1,-9.0,6.0,151,0,-9 +2705696,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705697,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705698,1100105,55,3,1,-9.0,4.0,3373,0,-9 +2705699,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705700,1100105,55,3,1,-9.0,6.0,15918,1,-9 +2705701,1100105,55,3,1,-9.0,4.0,3212,0,-9 +2705702,1100105,55,3,1,-9.0,4.0,7380,0,-9 +2705703,1100105,55,3,1,-9.0,4.0,3545,0,-9 +2705704,1100105,55,3,1,-9.0,6.0,1686,0,-9 +2705705,1100105,55,3,1,-9.0,4.0,36254,0,-9 +2705706,1100105,55,3,1,-9.0,4.0,267,0,-9 +2705707,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705708,1100105,55,3,1,-9.0,4.0,632,0,-9 +2705709,1100105,55,3,1,-9.0,6.0,1519,0,-9 +2705710,1100105,55,3,1,-9.0,4.0,1013,0,-9 +2705711,1100105,55,3,1,-9.0,4.0,7902,0,-9 +2705712,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705713,1100105,55,3,1,-9.0,6.0,4775,1,-9 +2705714,1100105,55,3,1,-9.0,4.0,2122,0,-9 +2705715,1100105,55,3,1,-9.0,4.0,8489,1,-9 +2705716,1100105,55,3,1,-9.0,6.0,2071,1,-9 +2705717,1100105,55,3,1,-9.0,4.0,10637,1,-9 +2705718,1100105,55,3,1,-9.0,4.0,50727,1,-9 +2705719,1100105,55,3,1,-9.0,6.0,1013,0,-9 +2705720,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705721,1100105,55,3,1,-9.0,6.0,1054,0,-9 +2705722,1100105,55,3,1,-9.0,6.0,7250,1,-9 +2705723,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705724,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705725,1100105,55,3,1,-9.0,4.0,8961,1,-9 +2705726,1100105,55,3,1,-9.0,6.0,5065,0,-9 +2705727,1100105,55,3,1,-9.0,4.0,0,0,-9 +2705728,1100105,55,3,1,-9.0,6.0,424,0,-9 +2705729,1100105,55,3,1,-9.0,6.0,5489,0,-9 +2705730,1100105,55,3,1,-9.0,6.0,1159,0,-9 +2705731,1100105,55,3,1,-9.0,6.0,5518,1,-9 +2705732,1100105,55,3,1,-9.0,4.0,0,0,-9 +2705733,1100105,55,3,1,-9.0,6.0,2735,1,-9 +2705734,1100105,55,3,1,-9.0,4.0,1968,1,-9 +2705735,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705736,1100105,55,3,1,-9.0,4.0,0,0,-9 +2705737,1100105,55,3,1,-9.0,4.0,5306,0,-9 +2705738,1100105,55,3,1,-9.0,6.0,4775,1,-9 +2705739,1100105,55,3,1,-9.0,6.0,8434,0,-9 +2705740,1100105,55,3,1,-9.0,6.0,12848,1,-9 +2705741,1100105,55,3,1,-9.0,6.0,12098,1,-9 +2705742,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705743,1100105,55,3,1,-9.0,4.0,4143,0,-9 +2705744,1100105,55,3,1,-9.0,6.0,210,0,-9 +2705745,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705746,1100105,55,3,1,-9.0,6.0,3212,1,-9 +2705747,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705748,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705749,1100105,55,3,1,-9.0,4.0,16869,1,-9 +2705750,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705751,1100105,55,3,1,-9.0,4.0,2676,0,-9 +2705752,1100105,55,3,1,-9.0,4.0,632,0,-9 +2705753,1100105,55,3,1,-9.0,6.0,5075,1,-9 +2705754,1100105,55,3,1,-9.0,6.0,6326,1,-9 +2705755,1100105,55,3,1,-9.0,6.0,2676,1,-9 +2705756,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705757,1100105,55,3,1,-9.0,6.0,0,0,-9 +2705758,1100105,55,3,1,-9.0,6.0,535,0,-9 +2705759,1100105,55,3,1,-9.0,4.0,1657,1,-9 +2705760,1100105,55,3,1,-9.0,4.0,21841,1,-9 +2705761,1100105,55,3,1,-9.0,6.0,8779,0,-9 +2705762,1100105,55,3,1,-9.0,4.0,1061,0,-9 +2705763,1100105,55,3,1,-9.0,6.0,8458,1,-9 +2705764,1100105,55,3,1,-9.0,4.0,2141,0,-9 +2705765,1100105,56,3,1,-9.0,6.0,25267,0,-9 +2705766,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705767,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705768,1100105,56,3,1,-9.0,4.0,1054,1,-9 +2705769,1100105,56,3,1,-9.0,6.0,1450,0,-9 +2705770,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2705771,1100105,56,3,1,-9.0,4.0,530,0,-9 +2705772,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705773,1100105,56,3,1,-9.0,4.0,4244,1,-9 +2705774,1100105,56,3,1,-9.0,6.0,137,0,-9 +2705775,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2705776,1100105,56,3,1,-9.0,4.0,2890,0,-9 +2705777,1100105,56,3,1,-9.0,6.0,421,0,-9 +2705778,1100105,56,3,1,-9.0,6.0,2741,1,-9 +2705779,1100105,56,3,1,-9.0,4.0,7598,1,-9 +2705780,1100105,56,3,1,-9.0,4.0,29379,0,-9 +2705781,1100105,56,3,1,-9.0,4.0,11242,1,-9 +2705782,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705783,1100105,56,3,1,-9.0,6.0,212,0,-9 +2705784,1100105,56,3,1,-9.0,6.0,1167,1,-9 +2705785,1100105,56,3,1,-9.0,4.0,16869,1,-9 +2705786,1100105,56,3,1,-9.0,4.0,20716,0,-9 +2705787,1100105,56,3,1,-9.0,4.0,20261,0,-9 +2705788,1100105,56,3,1,-9.0,6.0,1070,0,-9 +2705789,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2705790,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705791,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705792,1100105,56,3,1,-9.0,4.0,3039,0,-9 +2705793,1100105,56,3,1,-9.0,6.0,3140,1,-9 +2705794,1100105,56,3,1,-9.0,6.0,3747,0,-9 +2705795,1100105,56,3,1,-9.0,4.0,3212,0,-9 +2705796,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705797,1100105,56,3,1,-9.0,6.0,212,0,-9 +2705798,1100105,56,3,1,-9.0,6.0,10612,0,-9 +2705799,1100105,56,3,1,-9.0,6.0,4052,0,-9 +2705800,1100105,56,3,1,-9.0,4.0,22484,1,-9 +2705801,1100105,56,3,1,-9.0,4.0,632,0,-9 +2705802,1100105,56,3,1,-9.0,6.0,310,0,-9 +2705803,1100105,56,3,1,-9.0,6.0,856,0,-9 +2705804,1100105,56,3,1,-9.0,6.0,8458,1,-9 +2705805,1100105,56,3,1,-9.0,4.0,880,0,-9 +2705806,1100105,56,3,1,-9.0,6.0,7428,1,-9 +2705807,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2705808,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705809,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2705810,1100105,56,3,1,-9.0,6.0,23554,0,-9 +2705811,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705812,1100105,56,3,1,-9.0,4.0,4661,1,-9 +2705813,1100105,56,3,1,-9.0,4.0,2127,0,-9 +2705814,1100105,56,3,1,-9.0,6.0,2071,1,-9 +2705815,1100105,56,3,1,-9.0,6.0,1070,0,-9 +2705816,1100105,56,3,1,-9.0,6.0,3039,1,-9 +2705817,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2705818,1100105,56,3,1,-9.0,4.0,6424,1,-9 +2705819,1100105,56,3,1,-9.0,4.0,1177,1,-9 +2705820,1100105,56,3,1,-9.0,6.0,8458,1,-9 +2705821,1100105,56,3,1,-9.0,6.0,1167,1,-9 +2705822,1100105,56,3,1,-9.0,6.0,7802,1,-9 +2705823,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705824,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2705825,1100105,56,3,1,-9.0,6.0,997,0,-9 +2705826,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705827,1100105,56,3,1,-9.0,6.0,5065,0,-9 +2705828,1100105,56,3,1,-9.0,6.0,25696,0,-9 +2705829,1100105,56,3,1,-9.0,4.0,1713,1,-9 +2705830,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705831,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2705832,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2705833,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705834,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2705835,1100105,56,3,1,-9.0,6.0,1070,1,-9 +2705836,1100105,56,3,1,-9.0,4.0,3163,1,-9 +2705837,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705838,1100105,56,3,1,-9.0,6.0,1722,0,-9 +2705839,1100105,56,3,1,-9.0,6.0,421,0,-9 +2705840,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705841,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705842,1100105,56,3,1,-9.0,4.0,7598,1,-9 +2705843,1100105,56,3,1,-9.0,4.0,2635,1,-9 +2705844,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2705845,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705846,1100105,56,3,1,-9.0,4.0,2796,0,-9 +2705847,1100105,56,3,1,-9.0,4.0,2532,0,-9 +2705848,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705849,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705850,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2705851,1100105,56,3,1,-9.0,6.0,51392,1,-9 +2705852,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2705853,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2705854,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705855,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705856,1100105,56,3,1,-9.0,6.0,3039,0,-9 +2705857,1100105,56,3,1,-9.0,4.0,880,0,-9 +2705858,1100105,56,3,1,-9.0,6.0,15537,0,-9 +2705859,1100105,56,3,1,-9.0,6.0,856,1,-9 +2705860,1100105,56,3,1,-9.0,4.0,8489,1,-9 +2705861,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705862,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2705863,1100105,56,3,1,-9.0,6.0,2900,1,-9 +2705864,1100105,56,3,1,-9.0,6.0,310,0,-9 +2705865,1100105,56,3,1,-9.0,6.0,5518,1,-9 +2705866,1100105,56,3,1,-9.0,4.0,1054,1,-9 +2705867,1100105,56,3,1,-9.0,6.0,856,0,-9 +2705868,1100105,56,3,1,-9.0,6.0,6078,0,-9 +2705869,1100105,56,3,1,-9.0,6.0,2676,1,-9 +2705870,1100105,56,3,1,-9.0,4.0,20261,0,-9 +2705871,1100105,56,3,1,-9.0,6.0,212,0,-9 +2705872,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705873,1100105,56,3,1,-9.0,4.0,1864,0,-9 +2705874,1100105,56,3,1,-9.0,6.0,5075,1,-9 +2705875,1100105,56,3,1,-9.0,6.0,4818,1,-9 +2705876,1100105,56,3,1,-9.0,6.0,997,0,-9 +2705877,1100105,56,3,1,-9.0,6.0,3039,0,-9 +2705878,1100105,56,3,1,-9.0,4.0,5139,0,-9 +2705879,1100105,56,3,1,-9.0,6.0,642,0,-9 +2705880,1100105,56,3,1,-9.0,6.0,3849,0,-9 +2705881,1100105,56,3,1,-9.0,6.0,1215,0,-9 +2705882,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705883,1100105,56,3,1,-9.0,6.0,1177,0,-9 +2705884,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705885,1100105,56,3,1,-9.0,6.0,265,1,-9 +2705886,1100105,56,3,1,-9.0,6.0,5306,1,-9 +2705887,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705888,1100105,56,3,1,-9.0,4.0,5624,1,-9 +2705889,1100105,56,3,1,-9.0,6.0,1722,0,-9 +2705890,1100105,56,3,1,-9.0,6.0,14183,1,-9 +2705891,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705892,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2705893,1100105,56,3,1,-9.0,6.0,2735,1,-9 +2705894,1100105,56,3,1,-9.0,6.0,5065,0,-9 +2705895,1100105,56,3,1,-9.0,4.0,2635,1,-9 +2705896,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2705897,1100105,56,3,1,-9.0,6.0,310,0,-9 +2705898,1100105,56,3,1,-9.0,6.0,421,0,-9 +2705899,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2705900,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705901,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2705902,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2705903,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705904,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2705905,1100105,56,3,1,-9.0,6.0,2071,1,-9 +2705906,1100105,56,3,1,-9.0,6.0,5271,1,-9 +2705907,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705908,1100105,56,3,1,-9.0,6.0,7250,1,-9 +2705909,1100105,56,3,1,-9.0,4.0,2796,0,-9 +2705910,1100105,56,3,1,-9.0,4.0,1061,0,-9 +2705911,1100105,56,3,1,-9.0,6.0,1035,0,-9 +2705912,1100105,56,3,1,-9.0,4.0,2144,1,-9 +2705913,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2705914,1100105,56,3,1,-9.0,4.0,64,0,-9 +2705915,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705916,1100105,56,3,1,-9.0,6.0,2676,1,-9 +2705917,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705918,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705919,1100105,56,3,1,-9.0,6.0,9322,1,-9 +2705920,1100105,56,3,1,-9.0,6.0,7802,1,-9 +2705921,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705922,1100105,56,3,1,-9.0,6.0,151,0,-9 +2705923,1100105,56,3,1,-9.0,4.0,8489,1,-9 +2705924,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2705925,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2705926,1100105,56,3,1,-9.0,6.0,442,0,-9 +2705927,1100105,56,3,1,-9.0,6.0,856,1,-9 +2705928,1100105,56,3,1,-9.0,4.0,3039,1,-9 +2705929,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705930,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705931,1100105,56,3,1,-9.0,4.0,1581,1,-9 +2705932,1100105,56,3,1,-9.0,4.0,2144,1,-9 +2705933,1100105,56,3,1,-9.0,4.0,4082,1,-9 +2705934,1100105,56,3,1,-9.0,6.0,2071,1,-9 +2705935,1100105,56,3,1,-9.0,4.0,12222,0,-9 +2705936,1100105,56,3,1,-9.0,4.0,1035,0,-9 +2705937,1100105,56,3,1,-9.0,4.0,1620,0,-9 +2705938,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705939,1100105,56,3,1,-9.0,6.0,769,0,-9 +2705940,1100105,56,3,1,-9.0,6.0,848,1,-9 +2705941,1100105,56,3,1,-9.0,4.0,53533,1,-9 +2705942,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2705943,1100105,56,3,1,-9.0,6.0,3107,1,-9 +2705944,1100105,56,3,1,-9.0,4.0,527,0,-9 +2705945,1100105,56,3,1,-9.0,6.0,414,0,-9 +2705946,1100105,56,3,1,-9.0,6.0,1215,0,-9 +2705947,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2705948,1100105,56,3,1,-9.0,4.0,1284,0,-9 +2705949,1100105,56,3,1,-9.0,6.0,1792,0,-9 +2705950,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705951,1100105,56,3,1,-9.0,6.0,8712,1,-9 +2705952,1100105,56,3,1,-9.0,6.0,10612,0,-9 +2705953,1100105,56,3,1,-9.0,6.0,414,0,-9 +2705954,1100105,56,3,1,-9.0,6.0,5065,0,-9 +2705955,1100105,56,3,1,-9.0,4.0,256,1,-9 +2705956,1100105,56,3,1,-9.0,6.0,3212,1,-9 +2705957,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705958,1100105,56,3,1,-9.0,4.0,8104,0,-9 +2705959,1100105,56,3,1,-9.0,6.0,5075,1,-9 +2705960,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705961,1100105,56,3,1,-9.0,6.0,1792,0,-9 +2705962,1100105,56,3,1,-9.0,4.0,1864,0,-9 +2705963,1100105,56,3,1,-9.0,4.0,12222,0,-9 +2705964,1100105,56,3,1,-9.0,4.0,1070,1,-9 +2705965,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2705966,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2705967,1100105,56,3,1,-9.0,4.0,880,0,-9 +2705968,1100105,56,3,1,-9.0,4.0,5489,0,-9 +2705969,1100105,56,3,1,-9.0,6.0,1657,1,-9 +2705970,1100105,56,3,1,-9.0,4.0,2355,0,-9 +2705971,1100105,56,3,1,-9.0,4.0,10637,1,-9 +2705972,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705973,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2705974,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2705975,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705976,1100105,56,3,1,-9.0,6.0,3039,1,-9 +2705977,1100105,56,3,1,-9.0,6.0,2026,0,-9 +2705978,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2705979,1100105,56,3,1,-9.0,6.0,535,0,-9 +2705980,1100105,56,3,1,-9.0,4.0,1620,0,-9 +2705981,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2705982,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2705983,1100105,56,3,1,-9.0,6.0,1686,0,-9 +2705984,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705985,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705986,1100105,56,3,1,-9.0,4.0,880,0,-9 +2705987,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705988,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2705989,1100105,56,3,1,-9.0,4.0,3849,0,-9 +2705990,1100105,56,3,1,-9.0,4.0,4868,1,-9 +2705991,1100105,56,3,1,-9.0,6.0,0,0,-9 +2705992,1100105,56,3,1,-9.0,4.0,1054,0,-9 +2705993,1100105,56,3,1,-9.0,4.0,0,0,-9 +2705994,1100105,56,3,1,-9.0,4.0,1713,1,-9 +2705995,1100105,56,3,1,-9.0,6.0,4052,0,-9 +2705996,1100105,56,3,1,-9.0,6.0,16159,0,-9 +2705997,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2705998,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2705999,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706000,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706001,1100105,56,3,1,-9.0,6.0,2071,0,-9 +2706002,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706003,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706004,1100105,56,3,1,-9.0,6.0,4818,1,-9 +2706005,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706006,1100105,56,3,1,-9.0,6.0,1346,0,-9 +2706007,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706008,1100105,56,3,1,-9.0,6.0,1167,1,-9 +2706009,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2706010,1100105,56,3,1,-9.0,6.0,435,0,-9 +2706011,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2706012,1100105,56,3,1,-9.0,4.0,880,0,-9 +2706013,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706014,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706015,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706016,1100105,56,3,1,-9.0,6.0,12098,1,-9 +2706017,1100105,56,3,1,-9.0,4.0,5353,0,-9 +2706018,1100105,56,3,1,-9.0,4.0,1061,0,-9 +2706019,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2706020,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706021,1100105,56,3,1,-9.0,6.0,4282,1,-9 +2706022,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706023,1100105,56,3,1,-9.0,6.0,1722,0,-9 +2706024,1100105,56,3,1,-9.0,6.0,8779,0,-9 +2706025,1100105,56,3,1,-9.0,6.0,25304,1,-9 +2706026,1100105,56,3,1,-9.0,6.0,828,0,-9 +2706027,1100105,56,3,1,-9.0,4.0,379,0,-9 +2706028,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706029,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2706030,1100105,56,3,1,-9.0,6.0,3647,0,-9 +2706031,1100105,56,3,1,-9.0,6.0,2431,1,-9 +2706032,1100105,56,3,1,-9.0,6.0,435,0,-9 +2706033,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706034,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2706035,1100105,56,3,1,-9.0,6.0,1968,0,-9 +2706036,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706037,1100105,56,3,1,-9.0,4.0,1159,1,-9 +2706038,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706039,1100105,56,3,1,-9.0,6.0,4925,0,-9 +2706040,1100105,56,3,1,-9.0,6.0,24839,0,-9 +2706041,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706042,1100105,56,3,1,-9.0,4.0,1606,0,-9 +2706043,1100105,56,3,1,-9.0,4.0,25696,0,-9 +2706044,1100105,56,3,1,-9.0,4.0,2144,1,-9 +2706045,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706046,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706047,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706048,1100105,56,3,1,-9.0,4.0,54825,1,-9 +2706049,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706050,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706051,1100105,56,3,1,-9.0,6.0,4454,1,-9 +2706052,1100105,56,3,1,-9.0,6.0,210,0,-9 +2706053,1100105,56,3,1,-9.0,6.0,4454,1,-9 +2706054,1100105,56,3,1,-9.0,4.0,803,1,-9 +2706055,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706056,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706057,1100105,56,3,1,-9.0,4.0,29379,0,-9 +2706058,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706059,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706060,1100105,56,3,1,-9.0,4.0,1284,0,-9 +2706061,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706062,1100105,56,3,1,-9.0,4.0,2589,0,-9 +2706063,1100105,56,3,1,-9.0,4.0,1284,0,-9 +2706064,1100105,56,3,1,-9.0,4.0,759,0,-9 +2706065,1100105,56,3,1,-9.0,6.0,1346,0,-9 +2706066,1100105,56,3,1,-9.0,4.0,11242,1,-9 +2706067,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706068,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706069,1100105,56,3,1,-9.0,4.0,1823,1,-9 +2706070,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706071,1100105,56,3,1,-9.0,4.0,53062,0,-9 +2706072,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706073,1100105,56,3,1,-9.0,6.0,1167,1,-9 +2706074,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706075,1100105,56,3,1,-9.0,4.0,1054,0,-9 +2706076,1100105,56,3,1,-9.0,6.0,2676,0,-9 +2706077,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706078,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2706079,1100105,56,3,1,-9.0,6.0,997,0,-9 +2706080,1100105,56,3,1,-9.0,4.0,12157,1,-9 +2706081,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706082,1100105,56,3,1,-9.0,4.0,2532,0,-9 +2706083,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706084,1100105,56,3,1,-9.0,6.0,1061,0,-9 +2706085,1100105,56,3,1,-9.0,4.0,2532,0,-9 +2706086,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706087,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706088,1100105,56,3,1,-9.0,6.0,1070,1,-9 +2706089,1100105,56,3,1,-9.0,6.0,828,0,-9 +2706090,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706091,1100105,56,3,1,-9.0,4.0,3107,1,-9 +2706092,1100105,56,3,1,-9.0,6.0,4244,1,-9 +2706093,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706094,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706095,1100105,56,3,1,-9.0,4.0,4143,0,-9 +2706096,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706097,1100105,56,3,1,-9.0,4.0,5489,0,-9 +2706098,1100105,56,3,1,-9.0,6.0,997,0,-9 +2706099,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706100,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706101,1100105,56,3,1,-9.0,6.0,535,0,-9 +2706102,1100105,56,3,1,-9.0,6.0,3747,0,-9 +2706103,1100105,56,3,1,-9.0,4.0,7598,1,-9 +2706104,1100105,56,3,1,-9.0,4.0,2532,1,-9 +2706105,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706106,1100105,56,3,1,-9.0,4.0,955,0,-9 +2706107,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706108,1100105,56,3,1,-9.0,6.0,8779,0,-9 +2706109,1100105,56,3,1,-9.0,6.0,9489,1,-9 +2706110,1100105,56,3,1,-9.0,6.0,5489,0,-9 +2706111,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706112,1100105,56,3,1,-9.0,6.0,18235,1,-9 +2706113,1100105,56,3,1,-9.0,6.0,5489,0,-9 +2706114,1100105,56,3,1,-9.0,6.0,5271,1,-9 +2706115,1100105,56,3,1,-9.0,4.0,1013,1,-9 +2706116,1100105,56,3,1,-9.0,6.0,1686,0,-9 +2706117,1100105,56,3,1,-9.0,4.0,10400,1,-9 +2706118,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706119,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706120,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706121,1100105,56,3,1,-9.0,4.0,1864,0,-9 +2706122,1100105,56,3,1,-9.0,6.0,1792,0,-9 +2706123,1100105,56,3,1,-9.0,6.0,1581,1,-9 +2706124,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706125,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706126,1100105,56,3,1,-9.0,6.0,10637,1,-9 +2706127,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706128,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706129,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706130,1100105,56,3,1,-9.0,4.0,2532,0,-9 +2706131,1100105,56,3,1,-9.0,6.0,7354,1,-9 +2706132,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706133,1100105,56,3,1,-9.0,4.0,15196,0,-9 +2706134,1100105,56,3,1,-9.0,6.0,442,0,-9 +2706135,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706136,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706137,1100105,56,3,1,-9.0,4.0,1035,1,-9 +2706138,1100105,56,3,1,-9.0,6.0,214,1,-9 +2706139,1100105,56,3,1,-9.0,6.0,8458,1,-9 +2706140,1100105,56,3,1,-9.0,6.0,12098,1,-9 +2706141,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706142,1100105,56,3,1,-9.0,4.0,24625,1,-9 +2706143,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706144,1100105,56,3,1,-9.0,6.0,2735,1,-9 +2706145,1100105,56,3,1,-9.0,4.0,1061,0,-9 +2706146,1100105,56,3,1,-9.0,6.0,3395,0,-9 +2706147,1100105,56,3,1,-9.0,6.0,421,0,-9 +2706148,1100105,56,3,1,-9.0,4.0,3039,0,-9 +2706149,1100105,56,3,1,-9.0,6.0,3107,0,-9 +2706150,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706151,1100105,56,3,1,-9.0,6.0,16716,0,-9 +2706152,1100105,56,3,1,-9.0,4.0,428,0,-9 +2706153,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706154,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706155,1100105,56,3,1,-9.0,6.0,2214,1,-9 +2706156,1100105,56,3,1,-9.0,4.0,527,0,-9 +2706157,1100105,56,3,1,-9.0,4.0,1897,0,-9 +2706158,1100105,56,3,1,-9.0,6.0,12098,1,-9 +2706159,1100105,56,3,1,-9.0,6.0,856,1,-9 +2706160,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706161,1100105,56,3,1,-9.0,4.0,4868,1,-9 +2706162,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706163,1100105,56,3,1,-9.0,4.0,1713,1,-9 +2706164,1100105,56,3,1,-9.0,4.0,8489,1,-9 +2706165,1100105,56,3,1,-9.0,4.0,2228,1,-9 +2706166,1100105,56,3,1,-9.0,6.0,9489,1,-9 +2706167,1100105,56,3,1,-9.0,4.0,4143,0,-9 +2706168,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706169,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706170,1100105,56,3,1,-9.0,4.0,7598,1,-9 +2706171,1100105,56,3,1,-9.0,4.0,1498,0,-9 +2706172,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706173,1100105,56,3,1,-9.0,6.0,15399,1,-9 +2706174,1100105,56,3,1,-9.0,4.0,4868,1,-9 +2706175,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706176,1100105,56,3,1,-9.0,6.0,5075,1,-9 +2706177,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706178,1100105,56,3,1,-9.0,6.0,1519,0,-9 +2706179,1100105,56,3,1,-9.0,6.0,310,0,-9 +2706180,1100105,56,3,1,-9.0,6.0,13676,0,-9 +2706181,1100105,56,3,1,-9.0,4.0,148,0,-9 +2706182,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706183,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706184,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706185,1100105,56,3,1,-9.0,6.0,374,0,-9 +2706186,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706187,1100105,56,3,1,-9.0,6.0,3140,1,-9 +2706188,1100105,56,3,1,-9.0,6.0,2141,0,-9 +2706189,1100105,56,3,1,-9.0,4.0,4868,1,-9 +2706190,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706191,1100105,56,3,1,-9.0,6.0,828,0,-9 +2706192,1100105,56,3,1,-9.0,6.0,3140,1,-9 +2706193,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706194,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706195,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706196,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706197,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706198,1100105,56,3,1,-9.0,6.0,2071,1,-9 +2706199,1100105,56,3,1,-9.0,6.0,997,0,-9 +2706200,1100105,56,3,1,-9.0,6.0,2735,1,-9 +2706201,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706202,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706203,1100105,56,3,1,-9.0,4.0,10637,1,-9 +2706204,1100105,56,3,1,-9.0,6.0,1391,0,-9 +2706205,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706206,1100105,56,3,1,-9.0,6.0,18235,1,-9 +2706207,1100105,56,3,1,-9.0,4.0,2122,1,-9 +2706208,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706209,1100105,56,3,1,-9.0,6.0,15399,1,-9 +2706210,1100105,56,3,1,-9.0,4.0,4143,0,-9 +2706211,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706212,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706213,1100105,56,3,1,-9.0,6.0,214,1,-9 +2706214,1100105,56,3,1,-9.0,6.0,4052,0,-9 +2706215,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706216,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706217,1100105,56,3,1,-9.0,6.0,25304,1,-9 +2706218,1100105,56,3,1,-9.0,6.0,4454,1,-9 +2706219,1100105,56,3,1,-9.0,6.0,1581,1,-9 +2706220,1100105,56,3,1,-9.0,4.0,4868,1,-9 +2706221,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2706222,1100105,56,3,1,-9.0,4.0,2071,1,-9 +2706223,1100105,56,3,1,-9.0,6.0,6215,1,-9 +2706224,1100105,56,3,1,-9.0,4.0,6078,1,-9 +2706225,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2706226,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706227,1100105,56,3,1,-9.0,4.0,5489,0,-9 +2706228,1100105,56,3,1,-9.0,4.0,20716,0,-9 +2706229,1100105,56,3,1,-9.0,4.0,1284,0,-9 +2706230,1100105,56,3,1,-9.0,4.0,21841,1,-9 +2706231,1100105,56,3,1,-9.0,4.0,3163,1,-9 +2706232,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706233,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706234,1100105,56,3,1,-9.0,6.0,2676,0,-9 +2706235,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706236,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706237,1100105,56,3,1,-9.0,6.0,3212,1,-9 +2706238,1100105,56,3,1,-9.0,4.0,4217,0,-9 +2706239,1100105,56,3,1,-9.0,6.0,4925,0,-9 +2706240,1100105,56,3,1,-9.0,6.0,856,1,-9 +2706241,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706242,1100105,56,3,1,-9.0,4.0,7091,0,-9 +2706243,1100105,56,3,1,-9.0,4.0,527,0,-9 +2706244,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706245,1100105,56,3,1,-9.0,4.0,1591,0,-9 +2706246,1100105,56,3,1,-9.0,4.0,21841,1,-9 +2706247,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706248,1100105,56,3,1,-9.0,6.0,1581,0,-9 +2706249,1100105,56,3,1,-9.0,4.0,955,0,-9 +2706250,1100105,56,3,1,-9.0,6.0,15399,1,-9 +2706251,1100105,56,3,1,-9.0,4.0,3212,0,-9 +2706252,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706253,1100105,56,3,1,-9.0,4.0,4082,1,-9 +2706254,1100105,56,3,1,-9.0,6.0,2532,0,-9 +2706255,1100105,56,3,1,-9.0,6.0,310,0,-9 +2706256,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2706257,1100105,56,3,1,-9.0,4.0,4217,0,-9 +2706258,1100105,56,3,1,-9.0,6.0,4052,1,-9 +2706259,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706260,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2706261,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706262,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706263,1100105,56,3,1,-9.0,4.0,1054,0,-9 +2706264,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706265,1100105,56,3,1,-9.0,6.0,2071,1,-9 +2706266,1100105,56,3,1,-9.0,6.0,374,0,-9 +2706267,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706268,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706269,1100105,56,3,1,-9.0,4.0,12430,1,-9 +2706270,1100105,56,3,1,-9.0,4.0,1591,0,-9 +2706271,1100105,56,3,1,-9.0,6.0,12098,1,-9 +2706272,1100105,56,3,1,-9.0,4.0,2144,1,-9 +2706273,1100105,56,3,1,-9.0,4.0,7598,1,-9 +2706274,1100105,56,3,1,-9.0,6.0,1346,0,-9 +2706275,1100105,56,3,1,-9.0,4.0,1061,0,-9 +2706276,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706277,1100105,56,3,1,-9.0,6.0,3395,0,-9 +2706278,1100105,56,3,1,-9.0,6.0,2532,0,-9 +2706279,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2706280,1100105,56,3,1,-9.0,6.0,856,0,-9 +2706281,1100105,56,3,1,-9.0,6.0,1968,0,-9 +2706282,1100105,56,3,1,-9.0,6.0,1061,0,-9 +2706283,1100105,56,3,1,-9.0,6.0,2676,1,-9 +2706284,1100105,56,3,1,-9.0,6.0,3849,0,-9 +2706285,1100105,56,3,1,-9.0,6.0,414,0,-9 +2706286,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706287,1100105,56,3,1,-9.0,4.0,2635,1,-9 +2706288,1100105,56,3,1,-9.0,4.0,2589,0,-9 +2706289,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706290,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706291,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706292,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706293,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706294,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706295,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706296,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706297,1100105,56,3,1,-9.0,6.0,535,0,-9 +2706298,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706299,1100105,56,3,1,-9.0,6.0,5489,0,-9 +2706300,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706301,1100105,56,3,1,-9.0,4.0,3241,0,-9 +2706302,1100105,56,3,1,-9.0,4.0,7380,0,-9 +2706303,1100105,56,3,1,-9.0,6.0,2431,1,-9 +2706304,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706305,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706306,1100105,56,3,1,-9.0,4.0,2144,1,-9 +2706307,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706308,1100105,56,3,1,-9.0,4.0,1054,1,-9 +2706309,1100105,56,3,1,-9.0,6.0,1450,0,-9 +2706310,1100105,56,3,1,-9.0,6.0,6326,1,-9 +2706311,1100105,56,3,1,-9.0,6.0,1391,0,-9 +2706312,1100105,56,3,1,-9.0,4.0,1035,0,-9 +2706313,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706314,1100105,56,3,1,-9.0,4.0,10543,1,-9 +2706315,1100105,56,3,1,-9.0,6.0,51392,1,-9 +2706316,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706317,1100105,56,3,1,-9.0,6.0,9322,1,-9 +2706318,1100105,56,3,1,-9.0,6.0,7091,1,-9 +2706319,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706320,1100105,56,3,1,-9.0,4.0,1657,1,-9 +2706321,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706322,1100105,56,3,1,-9.0,4.0,1820,0,-9 +2706323,1100105,56,3,1,-9.0,6.0,53062,1,-9 +2706324,1100105,56,3,1,-9.0,4.0,3184,0,-9 +2706325,1100105,56,3,1,-9.0,6.0,1519,0,-9 +2706326,1100105,56,3,1,-9.0,6.0,997,0,-9 +2706327,1100105,56,3,1,-9.0,4.0,54825,1,-9 +2706328,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706329,1100105,56,3,1,-9.0,4.0,517,0,-9 +2706330,1100105,56,3,1,-9.0,6.0,1273,0,-9 +2706331,1100105,56,3,1,-9.0,6.0,2900,1,-9 +2706332,1100105,56,3,1,-9.0,4.0,1864,0,-9 +2706333,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706334,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706335,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706336,1100105,56,3,1,-9.0,6.0,2141,1,-9 +2706337,1100105,56,3,1,-9.0,6.0,310,0,-9 +2706338,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706339,1100105,56,3,1,-9.0,6.0,3140,1,-9 +2706340,1100105,56,3,1,-9.0,6.0,530,0,-9 +2706341,1100105,56,3,1,-9.0,6.0,2214,1,-9 +2706342,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2706343,1100105,56,3,1,-9.0,6.0,51392,1,-9 +2706344,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2706345,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706346,1100105,56,3,1,-9.0,6.0,25304,1,-9 +2706347,1100105,56,3,1,-9.0,6.0,2034,0,-9 +2706348,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706349,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706350,1100105,56,3,1,-9.0,6.0,1035,1,-9 +2706351,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2706352,1100105,56,3,1,-9.0,4.0,2796,0,-9 +2706353,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706354,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706355,1100105,56,3,1,-9.0,4.0,4143,0,-9 +2706356,1100105,56,3,1,-9.0,6.0,23554,0,-9 +2706357,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706358,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706359,1100105,56,3,1,-9.0,4.0,3373,0,-9 +2706360,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706361,1100105,56,3,1,-9.0,6.0,8458,1,-9 +2706362,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706363,1100105,56,3,1,-9.0,4.0,642,0,-9 +2706364,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706365,1100105,56,3,1,-9.0,6.0,2071,1,-9 +2706366,1100105,56,3,1,-9.0,6.0,7802,1,-9 +2706367,1100105,56,3,1,-9.0,4.0,1284,0,-9 +2706368,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2706369,1100105,56,3,1,-9.0,6.0,4818,1,-9 +2706370,1100105,56,3,1,-9.0,6.0,17510,1,-9 +2706371,1100105,56,3,1,-9.0,4.0,64,1,-9 +2706372,1100105,56,3,1,-9.0,4.0,2589,0,-9 +2706373,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706374,1100105,56,3,1,-9.0,4.0,2144,1,-9 +2706375,1100105,56,3,1,-9.0,6.0,2735,1,-9 +2706376,1100105,56,3,1,-9.0,4.0,2127,0,-9 +2706377,1100105,56,3,1,-9.0,6.0,3747,0,-9 +2706378,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706379,1100105,56,3,1,-9.0,4.0,1591,0,-9 +2706380,1100105,56,3,1,-9.0,6.0,1054,0,-9 +2706381,1100105,56,3,1,-9.0,4.0,7598,1,-9 +2706382,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706383,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706384,1100105,56,3,1,-9.0,6.0,421,0,-9 +2706385,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706386,1100105,56,3,1,-9.0,6.0,856,0,-9 +2706387,1100105,56,3,1,-9.0,6.0,1346,0,-9 +2706388,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2706389,1100105,56,3,1,-9.0,6.0,3212,1,-9 +2706390,1100105,56,3,1,-9.0,6.0,2141,1,-9 +2706391,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706392,1100105,56,3,1,-9.0,6.0,1968,0,-9 +2706393,1100105,56,3,1,-9.0,6.0,6326,0,-9 +2706394,1100105,56,3,1,-9.0,4.0,2635,0,-9 +2706395,1100105,56,3,1,-9.0,6.0,2676,0,-9 +2706396,1100105,56,3,1,-9.0,4.0,2122,1,-9 +2706397,1100105,56,3,1,-9.0,4.0,527,0,-9 +2706398,1100105,56,3,1,-9.0,4.0,4661,1,-9 +2706399,1100105,56,3,1,-9.0,6.0,15399,1,-9 +2706400,1100105,56,3,1,-9.0,6.0,414,0,-9 +2706401,1100105,56,3,1,-9.0,6.0,8779,0,-9 +2706402,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706403,1100105,56,3,1,-9.0,4.0,21841,1,-9 +2706404,1100105,56,3,1,-9.0,6.0,2440,0,-9 +2706405,1100105,56,3,1,-9.0,4.0,517,0,-9 +2706406,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706407,1100105,56,3,1,-9.0,4.0,1713,1,-9 +2706408,1100105,56,3,1,-9.0,6.0,3163,1,-9 +2706409,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706410,1100105,56,3,1,-9.0,4.0,2532,0,-9 +2706411,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706412,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706413,1100105,56,3,1,-9.0,6.0,4356,1,-9 +2706414,1100105,56,3,1,-9.0,6.0,2431,1,-9 +2706415,1100105,56,3,1,-9.0,6.0,23554,0,-9 +2706416,1100105,56,3,1,-9.0,4.0,4868,1,-9 +2706417,1100105,56,3,1,-9.0,6.0,2676,1,-9 +2706418,1100105,56,3,1,-9.0,6.0,2141,1,-9 +2706419,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706420,1100105,56,3,1,-9.0,6.0,3107,1,-9 +2706421,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706422,1100105,56,3,1,-9.0,6.0,8458,1,-9 +2706423,1100105,56,3,1,-9.0,6.0,3107,0,-9 +2706424,1100105,56,3,1,-9.0,6.0,1215,0,-9 +2706425,1100105,56,3,1,-9.0,6.0,2900,1,-9 +2706426,1100105,56,3,1,-9.0,6.0,7091,1,-9 +2706427,1100105,56,3,1,-9.0,6.0,6078,0,-9 +2706428,1100105,56,3,1,-9.0,6.0,1159,0,-9 +2706429,1100105,56,3,1,-9.0,6.0,535,0,-9 +2706430,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2706431,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706432,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706433,1100105,56,3,1,-9.0,4.0,2071,1,-9 +2706434,1100105,56,3,1,-9.0,6.0,4282,0,-9 +2706435,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706436,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706437,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706438,1100105,56,3,1,-9.0,6.0,18235,1,-9 +2706439,1100105,56,3,1,-9.0,6.0,1391,0,-9 +2706440,1100105,56,3,1,-9.0,6.0,2676,1,-9 +2706441,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706442,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706443,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706444,1100105,56,3,1,-9.0,6.0,2071,1,-9 +2706445,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706446,1100105,56,3,1,-9.0,4.0,3107,1,-9 +2706447,1100105,56,3,1,-9.0,4.0,5353,0,-9 +2706448,1100105,56,3,1,-9.0,6.0,1450,0,-9 +2706449,1100105,56,3,1,-9.0,6.0,2741,1,-9 +2706450,1100105,56,3,1,-9.0,6.0,8104,1,-9 +2706451,1100105,56,3,1,-9.0,4.0,8961,1,-9 +2706452,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706453,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2706454,1100105,56,3,1,-9.0,6.0,5075,1,-9 +2706455,1100105,56,3,1,-9.0,6.0,421,0,-9 +2706456,1100105,56,3,1,-9.0,6.0,2735,1,-9 +2706457,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706458,1100105,56,3,1,-9.0,6.0,7428,1,-9 +2706459,1100105,56,3,1,-9.0,6.0,530,0,-9 +2706460,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706461,1100105,56,3,1,-9.0,4.0,3545,0,-9 +2706462,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2706463,1100105,56,3,1,-9.0,6.0,1391,0,-9 +2706464,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2706465,1100105,56,3,1,-9.0,6.0,7250,1,-9 +2706466,1100105,56,3,1,-9.0,4.0,2071,1,-9 +2706467,1100105,56,3,1,-9.0,6.0,856,1,-9 +2706468,1100105,56,3,1,-9.0,4.0,22484,1,-9 +2706469,1100105,56,3,1,-9.0,4.0,1159,1,-9 +2706470,1100105,56,3,1,-9.0,6.0,3395,0,-9 +2706471,1100105,56,3,1,-9.0,4.0,2676,0,-9 +2706472,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706473,1100105,56,3,1,-9.0,4.0,3104,0,-9 +2706474,1100105,56,3,1,-9.0,6.0,2532,0,-9 +2706475,1100105,56,3,1,-9.0,4.0,7598,1,-9 +2706476,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706477,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706478,1100105,56,3,1,-9.0,6.0,2141,1,-9 +2706479,1100105,56,3,1,-9.0,6.0,151,0,-9 +2706480,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706481,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706482,1100105,56,3,1,-9.0,4.0,1591,0,-9 +2706483,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706484,1100105,56,3,1,-9.0,4.0,6424,1,-9 +2706485,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706486,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706487,1100105,56,3,1,-9.0,4.0,955,0,-9 +2706488,1100105,56,3,1,-9.0,4.0,527,0,-9 +2706489,1100105,56,3,1,-9.0,6.0,4052,0,-9 +2706490,1100105,56,3,1,-9.0,6.0,4052,0,-9 +2706491,1100105,56,3,1,-9.0,4.0,29379,0,-9 +2706492,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706493,1100105,56,3,1,-9.0,6.0,310,0,-9 +2706494,1100105,56,3,1,-9.0,6.0,1070,0,-9 +2706495,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706496,1100105,56,3,1,-9.0,6.0,1035,1,-9 +2706497,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706498,1100105,56,3,1,-9.0,6.0,1070,0,-9 +2706499,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706500,1100105,56,3,1,-9.0,6.0,9322,1,-9 +2706501,1100105,56,3,1,-9.0,4.0,12222,0,-9 +2706502,1100105,56,3,1,-9.0,4.0,8104,1,-9 +2706503,1100105,56,3,1,-9.0,4.0,3241,0,-9 +2706504,1100105,56,3,1,-9.0,6.0,7802,1,-9 +2706505,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706506,1100105,56,3,1,-9.0,4.0,54825,1,-9 +2706507,1100105,56,3,1,-9.0,6.0,1519,0,-9 +2706508,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706509,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2706510,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706511,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706512,1100105,56,3,1,-9.0,6.0,7091,1,-9 +2706513,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706514,1100105,56,3,1,-9.0,4.0,1284,0,-9 +2706515,1100105,56,3,1,-9.0,6.0,1519,0,-9 +2706516,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2706517,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706518,1100105,56,3,1,-9.0,4.0,1013,1,-9 +2706519,1100105,56,3,1,-9.0,4.0,4661,1,-9 +2706520,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706521,1100105,56,3,1,-9.0,6.0,1418,0,-9 +2706522,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706523,1100105,56,3,1,-9.0,6.0,4052,0,-9 +2706524,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706525,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706526,1100105,56,3,1,-9.0,4.0,1054,0,-9 +2706527,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706528,1100105,56,3,1,-9.0,6.0,642,0,-9 +2706529,1100105,56,3,1,-9.0,6.0,5075,1,-9 +2706530,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706531,1100105,56,3,1,-9.0,6.0,5271,1,-9 +2706532,1100105,56,3,1,-9.0,6.0,4052,0,-9 +2706533,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706534,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706535,1100105,56,3,1,-9.0,4.0,1284,0,-9 +2706536,1100105,56,3,1,-9.0,6.0,4972,1,-9 +2706537,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2706538,1100105,56,3,1,-9.0,6.0,4052,0,-9 +2706539,1100105,56,3,1,-9.0,6.0,4818,1,-9 +2706540,1100105,56,3,1,-9.0,6.0,10637,1,-9 +2706541,1100105,56,3,1,-9.0,4.0,3184,0,-9 +2706542,1100105,56,3,1,-9.0,4.0,2676,0,-9 +2706543,1100105,56,3,1,-9.0,4.0,527,0,-9 +2706544,1100105,56,3,1,-9.0,6.0,16974,1,-9 +2706545,1100105,56,3,1,-9.0,4.0,2355,0,-9 +2706546,1100105,56,3,1,-9.0,6.0,414,0,-9 +2706547,1100105,56,3,1,-9.0,6.0,16159,0,-9 +2706548,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706549,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706550,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706551,1100105,56,3,1,-9.0,6.0,1265,0,-9 +2706552,1100105,56,3,1,-9.0,6.0,9322,1,-9 +2706553,1100105,56,3,1,-9.0,6.0,4052,1,-9 +2706554,1100105,56,3,1,-9.0,4.0,6531,1,-9 +2706555,1100105,56,3,1,-9.0,6.0,1370,1,-9 +2706556,1100105,56,3,1,-9.0,6.0,2735,1,-9 +2706557,1100105,56,3,1,-9.0,6.0,18235,1,-9 +2706558,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706559,1100105,56,3,1,-9.0,6.0,51392,1,-9 +2706560,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706561,1100105,56,3,1,-9.0,6.0,421,0,-9 +2706562,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2706563,1100105,56,3,1,-9.0,6.0,8779,0,-9 +2706564,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706565,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706566,1100105,56,3,1,-9.0,4.0,11242,1,-9 +2706567,1100105,56,3,1,-9.0,6.0,2141,0,-9 +2706568,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706569,1100105,56,3,1,-9.0,4.0,177291,0,-9 +2706570,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2706571,1100105,56,3,1,-9.0,4.0,6531,1,-9 +2706572,1100105,56,3,1,-9.0,6.0,1215,0,-9 +2706573,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706574,1100105,56,3,1,-9.0,6.0,4744,1,-9 +2706575,1100105,56,3,1,-9.0,4.0,1061,0,-9 +2706576,1100105,56,3,1,-9.0,6.0,7091,1,-9 +2706577,1100105,56,3,1,-9.0,6.0,4052,1,-9 +2706578,1100105,56,3,1,-9.0,4.0,632,0,-9 +2706579,1100105,56,3,1,-9.0,6.0,1391,0,-9 +2706580,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2706581,1100105,56,3,1,-9.0,6.0,15399,1,-9 +2706582,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706583,1100105,56,3,1,-9.0,4.0,5075,0,-9 +2706584,1100105,56,3,1,-9.0,6.0,3747,0,-9 +2706585,1100105,56,3,1,-9.0,6.0,48628,0,-9 +2706586,1100105,56,3,1,-9.0,4.0,224,1,-9 +2706587,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706588,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706589,1100105,56,3,1,-9.0,4.0,5624,1,-9 +2706590,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2706591,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2706592,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706593,1100105,56,3,1,-9.0,4.0,12222,0,-9 +2706594,1100105,56,3,1,-9.0,4.0,2532,0,-9 +2706595,1100105,56,3,1,-9.0,4.0,1284,0,-9 +2706596,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706597,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2706598,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706599,1100105,56,3,1,-9.0,4.0,148,0,-9 +2706600,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706601,1100105,56,3,1,-9.0,6.0,12848,1,-9 +2706602,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706603,1100105,56,3,1,-9.0,4.0,5489,0,-9 +2706604,1100105,56,3,1,-9.0,4.0,8489,1,-9 +2706605,1100105,56,3,1,-9.0,6.0,2071,1,-9 +2706606,1100105,56,3,1,-9.0,6.0,8779,0,-9 +2706607,1100105,56,3,1,-9.0,6.0,18235,1,-9 +2706608,1100105,56,3,1,-9.0,4.0,10438,1,-9 +2706609,1100105,56,3,1,-9.0,6.0,1159,0,-9 +2706610,1100105,56,3,1,-9.0,4.0,2635,1,-9 +2706611,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706612,1100105,56,3,1,-9.0,6.0,5489,0,-9 +2706613,1100105,56,3,1,-9.0,6.0,1823,1,-9 +2706614,1100105,56,3,1,-9.0,6.0,4217,1,-9 +2706615,1100105,56,3,1,-9.0,4.0,9219,0,-9 +2706616,1100105,56,3,1,-9.0,6.0,2653,1,-9 +2706617,1100105,56,3,1,-9.0,6.0,787,0,-9 +2706618,1100105,56,3,1,-9.0,6.0,16060,0,-9 +2706619,1100105,56,3,1,-9.0,4.0,527,0,-9 +2706620,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2706621,1100105,56,3,1,-9.0,4.0,8489,1,-9 +2706622,1100105,56,3,1,-9.0,4.0,880,0,-9 +2706623,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706624,1100105,56,3,1,-9.0,4.0,256,1,-9 +2706625,1100105,56,3,1,-9.0,4.0,2589,0,-9 +2706626,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706627,1100105,56,3,1,-9.0,6.0,10130,1,-9 +2706628,1100105,56,3,1,-9.0,6.0,11394,1,-9 +2706629,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706630,1100105,56,3,1,-9.0,4.0,10637,1,-9 +2706631,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706632,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706633,1100105,56,3,1,-9.0,4.0,8434,0,-9 +2706634,1100105,56,3,1,-9.0,6.0,3395,0,-9 +2706635,1100105,56,3,1,-9.0,4.0,1035,1,-9 +2706636,1100105,56,3,1,-9.0,4.0,2127,0,-9 +2706637,1100105,56,3,1,-9.0,6.0,6102,1,-9 +2706638,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706639,1100105,56,3,1,-9.0,6.0,1215,0,-9 +2706640,1100105,56,3,1,-9.0,4.0,1284,0,-9 +2706641,1100105,56,3,1,-9.0,6.0,10130,1,-9 +2706642,1100105,56,3,1,-9.0,6.0,310,0,-9 +2706643,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706644,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706645,1100105,56,3,1,-9.0,6.0,14347,1,-9 +2706646,1100105,56,3,1,-9.0,6.0,1167,1,-9 +2706647,1100105,56,3,1,-9.0,6.0,2034,0,-9 +2706648,1100105,56,3,1,-9.0,4.0,10438,1,-9 +2706649,1100105,56,3,1,-9.0,6.0,2248,1,-9 +2706650,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706651,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706652,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706653,1100105,56,3,1,-9.0,4.0,64,0,-9 +2706654,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706655,1100105,56,3,1,-9.0,6.0,414,0,-9 +2706656,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706657,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706658,1100105,56,3,1,-9.0,4.0,15196,1,-9 +2706659,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2706660,1100105,56,3,1,-9.0,6.0,414,0,-9 +2706661,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706662,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706663,1100105,56,3,1,-9.0,4.0,4868,1,-9 +2706664,1100105,56,3,1,-9.0,6.0,151,0,-9 +2706665,1100105,56,3,1,-9.0,4.0,1013,1,-9 +2706666,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706667,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706668,1100105,56,3,1,-9.0,4.0,880,0,-9 +2706669,1100105,56,3,1,-9.0,6.0,1177,0,-9 +2706670,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706671,1100105,56,3,1,-9.0,4.0,2122,1,-9 +2706672,1100105,56,3,1,-9.0,6.0,8458,1,-9 +2706673,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706674,1100105,56,3,1,-9.0,6.0,1450,0,-9 +2706675,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706676,1100105,56,3,1,-9.0,4.0,3163,0,-9 +2706677,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706678,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706679,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706680,1100105,56,3,1,-9.0,6.0,787,0,-9 +2706681,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706682,1100105,56,3,1,-9.0,6.0,2071,1,-9 +2706683,1100105,56,3,1,-9.0,6.0,1054,0,-9 +2706684,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2706685,1100105,56,3,1,-9.0,6.0,1581,0,-9 +2706686,1100105,56,3,1,-9.0,6.0,3747,0,-9 +2706687,1100105,56,3,1,-9.0,4.0,4244,1,-9 +2706688,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706689,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706690,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706691,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706692,1100105,56,3,1,-9.0,4.0,1713,1,-9 +2706693,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706694,1100105,56,3,1,-9.0,4.0,10543,1,-9 +2706695,1100105,56,3,1,-9.0,4.0,256,1,-9 +2706696,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706697,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706698,1100105,56,3,1,-9.0,4.0,4282,1,-9 +2706699,1100105,56,3,1,-9.0,4.0,10637,1,-9 +2706700,1100105,56,3,1,-9.0,4.0,527,0,-9 +2706701,1100105,56,3,1,-9.0,4.0,2532,0,-9 +2706702,1100105,56,3,1,-9.0,4.0,8104,0,-9 +2706703,1100105,56,3,1,-9.0,6.0,310,0,-9 +2706704,1100105,56,3,1,-9.0,6.0,3747,0,-9 +2706705,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706706,1100105,56,3,1,-9.0,6.0,1897,1,-9 +2706707,1100105,56,3,1,-9.0,6.0,421,0,-9 +2706708,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706709,1100105,56,3,1,-9.0,4.0,24625,1,-9 +2706710,1100105,56,3,1,-9.0,4.0,7598,1,-9 +2706711,1100105,56,3,1,-9.0,6.0,1346,0,-9 +2706712,1100105,56,3,1,-9.0,6.0,2431,0,-9 +2706713,1100105,56,3,1,-9.0,6.0,3039,0,-9 +2706714,1100105,56,3,1,-9.0,6.0,1061,0,-9 +2706715,1100105,56,3,1,-9.0,4.0,1054,0,-9 +2706716,1100105,56,3,1,-9.0,4.0,17222,1,-9 +2706717,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706718,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706719,1100105,56,3,1,-9.0,4.0,1897,0,-9 +2706720,1100105,56,3,1,-9.0,6.0,137,0,-9 +2706721,1100105,56,3,1,-9.0,6.0,310,0,-9 +2706722,1100105,56,3,1,-9.0,4.0,955,0,-9 +2706723,1100105,56,3,1,-9.0,6.0,14347,1,-9 +2706724,1100105,56,3,1,-9.0,4.0,1061,0,-9 +2706725,1100105,56,3,1,-9.0,6.0,2141,0,-9 +2706726,1100105,56,3,1,-9.0,6.0,1581,0,-9 +2706727,1100105,56,3,1,-9.0,4.0,843,1,-9 +2706728,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706729,1100105,56,3,1,-9.0,6.0,10612,0,-9 +2706730,1100105,56,3,1,-9.0,4.0,2071,1,-9 +2706731,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706732,1100105,56,3,1,-9.0,4.0,8104,0,-9 +2706733,1100105,56,3,1,-9.0,6.0,4052,1,-9 +2706734,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706735,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706736,1100105,56,3,1,-9.0,6.0,1265,0,-9 +2706737,1100105,56,3,1,-9.0,4.0,1820,0,-9 +2706738,1100105,56,3,1,-9.0,6.0,2676,0,-9 +2706739,1100105,56,3,1,-9.0,6.0,25833,1,-9 +2706740,1100105,56,3,1,-9.0,6.0,1591,0,-9 +2706741,1100105,56,3,1,-9.0,4.0,2355,0,-9 +2706742,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706743,1100105,56,3,1,-9.0,4.0,2355,0,-9 +2706744,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706745,1100105,56,3,1,-9.0,6.0,856,1,-9 +2706746,1100105,56,3,1,-9.0,6.0,1061,1,-9 +2706747,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706748,1100105,56,3,1,-9.0,4.0,2144,1,-9 +2706749,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2706750,1100105,56,3,1,-9.0,6.0,374,0,-9 +2706751,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2706752,1100105,56,3,1,-9.0,6.0,856,1,-9 +2706753,1100105,56,3,1,-9.0,4.0,4661,1,-9 +2706754,1100105,56,3,1,-9.0,6.0,2071,1,-9 +2706755,1100105,56,3,1,-9.0,4.0,10438,1,-9 +2706756,1100105,56,3,1,-9.0,6.0,1396,0,-9 +2706757,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706758,1100105,56,3,1,-9.0,6.0,1054,0,-9 +2706759,1100105,56,3,1,-9.0,6.0,18235,1,-9 +2706760,1100105,56,3,1,-9.0,4.0,2071,1,-9 +2706761,1100105,56,3,1,-9.0,4.0,4082,1,-9 +2706762,1100105,56,3,1,-9.0,4.0,1054,0,-9 +2706763,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2706764,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706765,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706766,1100105,56,3,1,-9.0,4.0,527,0,-9 +2706767,1100105,56,3,1,-9.0,6.0,7091,1,-9 +2706768,1100105,56,3,1,-9.0,6.0,997,0,-9 +2706769,1100105,56,3,1,-9.0,6.0,1686,0,-9 +2706770,1100105,56,3,1,-9.0,6.0,18235,1,-9 +2706771,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706772,1100105,56,3,1,-9.0,6.0,1035,0,-9 +2706773,1100105,56,3,1,-9.0,6.0,3395,0,-9 +2706774,1100105,56,3,1,-9.0,6.0,856,1,-9 +2706775,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706776,1100105,56,3,1,-9.0,6.0,1370,1,-9 +2706777,1100105,56,3,1,-9.0,4.0,1897,0,-9 +2706778,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706779,1100105,56,3,1,-9.0,4.0,256,1,-9 +2706780,1100105,56,3,1,-9.0,4.0,955,0,-9 +2706781,1100105,56,3,1,-9.0,4.0,3849,0,-9 +2706782,1100105,56,3,1,-9.0,6.0,2532,0,-9 +2706783,1100105,56,3,1,-9.0,4.0,2676,1,-9 +2706784,1100105,56,3,1,-9.0,6.0,310,0,-9 +2706785,1100105,56,3,1,-9.0,6.0,2741,1,-9 +2706786,1100105,56,3,1,-9.0,4.0,7598,1,-9 +2706787,1100105,56,3,1,-9.0,6.0,1054,0,-9 +2706788,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2706789,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706790,1100105,56,3,1,-9.0,4.0,1070,1,-9 +2706791,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706792,1100105,56,3,1,-9.0,6.0,3849,0,-9 +2706793,1100105,56,3,1,-9.0,6.0,1265,0,-9 +2706794,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706795,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706796,1100105,56,3,1,-9.0,4.0,10637,1,-9 +2706797,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706798,1100105,56,3,1,-9.0,6.0,4052,0,-9 +2706799,1100105,56,3,1,-9.0,6.0,25833,1,-9 +2706800,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706801,1100105,56,3,1,-9.0,4.0,16869,1,-9 +2706802,1100105,56,3,1,-9.0,4.0,4868,1,-9 +2706803,1100105,56,3,1,-9.0,6.0,4244,1,-9 +2706804,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706805,1100105,56,3,1,-9.0,6.0,8458,1,-9 +2706806,1100105,56,3,1,-9.0,6.0,4052,1,-9 +2706807,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706808,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706809,1100105,56,3,1,-9.0,6.0,14916,1,-9 +2706810,1100105,56,3,1,-9.0,4.0,3545,0,-9 +2706811,1100105,56,3,1,-9.0,6.0,18235,1,-9 +2706812,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706813,1100105,56,3,1,-9.0,6.0,1686,0,-9 +2706814,1100105,56,3,1,-9.0,4.0,8489,1,-9 +2706815,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706816,1100105,56,3,1,-9.0,6.0,8779,0,-9 +2706817,1100105,56,3,1,-9.0,4.0,5353,0,-9 +2706818,1100105,56,3,1,-9.0,4.0,1864,0,-9 +2706819,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706820,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706821,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706822,1100105,56,3,1,-9.0,4.0,12222,0,-9 +2706823,1100105,56,3,1,-9.0,6.0,1177,0,-9 +2706824,1100105,56,3,1,-9.0,6.0,1581,1,-9 +2706825,1100105,56,3,1,-9.0,4.0,21086,1,-9 +2706826,1100105,56,3,1,-9.0,4.0,4661,1,-9 +2706827,1100105,56,3,1,-9.0,6.0,8779,0,-9 +2706828,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706829,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706830,1100105,56,3,1,-9.0,6.0,2900,1,-9 +2706831,1100105,56,3,1,-9.0,4.0,6078,1,-9 +2706832,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706833,1100105,56,3,1,-9.0,6.0,1061,1,-9 +2706834,1100105,56,3,1,-9.0,6.0,3395,0,-9 +2706835,1100105,56,3,1,-9.0,6.0,3107,0,-9 +2706836,1100105,56,3,1,-9.0,4.0,1606,0,-9 +2706837,1100105,56,3,1,-9.0,6.0,3039,1,-9 +2706838,1100105,56,3,1,-9.0,6.0,7250,1,-9 +2706839,1100105,56,3,1,-9.0,6.0,421,0,-9 +2706840,1100105,56,3,1,-9.0,6.0,6732,1,-9 +2706841,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706842,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706843,1100105,56,3,1,-9.0,6.0,2141,0,-9 +2706844,1100105,56,3,1,-9.0,4.0,4082,1,-9 +2706845,1100105,56,3,1,-9.0,6.0,642,0,-9 +2706846,1100105,56,3,1,-9.0,6.0,530,0,-9 +2706847,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706848,1100105,56,3,1,-9.0,6.0,13676,0,-9 +2706849,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706850,1100105,56,3,1,-9.0,6.0,4052,0,-9 +2706851,1100105,56,3,1,-9.0,6.0,2532,0,-9 +2706852,1100105,56,3,1,-9.0,6.0,5518,1,-9 +2706853,1100105,56,3,1,-9.0,6.0,1215,0,-9 +2706854,1100105,56,3,1,-9.0,4.0,7395,0,-9 +2706855,1100105,56,3,1,-9.0,4.0,5624,1,-9 +2706856,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706857,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706858,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706859,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706860,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706861,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2706862,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706863,1100105,56,3,1,-9.0,6.0,1215,0,-9 +2706864,1100105,56,3,1,-9.0,4.0,527,0,-9 +2706865,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706866,1100105,56,3,1,-9.0,4.0,2635,0,-9 +2706867,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706868,1100105,56,3,1,-9.0,6.0,828,0,-9 +2706869,1100105,56,3,1,-9.0,6.0,1519,0,-9 +2706870,1100105,56,3,1,-9.0,6.0,8458,1,-9 +2706871,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706872,1100105,56,3,1,-9.0,4.0,506,0,-9 +2706873,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706874,1100105,56,3,1,-9.0,4.0,10543,1,-9 +2706875,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706876,1100105,56,3,1,-9.0,6.0,1070,0,-9 +2706877,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706878,1100105,56,3,1,-9.0,6.0,5306,1,-9 +2706879,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706880,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706881,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706882,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706883,1100105,56,3,1,-9.0,6.0,7250,1,-9 +2706884,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706885,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706886,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706887,1100105,56,3,1,-9.0,4.0,8489,1,-9 +2706888,1100105,56,3,1,-9.0,4.0,3373,0,-9 +2706889,1100105,56,3,1,-9.0,4.0,1620,0,-9 +2706890,1100105,56,3,1,-9.0,4.0,15196,1,-9 +2706891,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706892,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706893,1100105,56,3,1,-9.0,4.0,10438,1,-9 +2706894,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2706895,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706896,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706897,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706898,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706899,1100105,56,3,1,-9.0,6.0,3107,1,-9 +2706900,1100105,56,3,1,-9.0,6.0,2141,0,-9 +2706901,1100105,56,3,1,-9.0,4.0,2108,1,-9 +2706902,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706903,1100105,56,3,1,-9.0,6.0,828,0,-9 +2706904,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706905,1100105,56,3,1,-9.0,4.0,1606,0,-9 +2706906,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706907,1100105,56,3,1,-9.0,6.0,3747,0,-9 +2706908,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706909,1100105,56,3,1,-9.0,6.0,151,0,-9 +2706910,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706911,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706912,1100105,56,3,1,-9.0,4.0,4217,0,-9 +2706913,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2706914,1100105,56,3,1,-9.0,4.0,2796,0,-9 +2706915,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706916,1100105,56,3,1,-9.0,6.0,2735,1,-9 +2706917,1100105,56,3,1,-9.0,4.0,2532,0,-9 +2706918,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706919,1100105,56,3,1,-9.0,4.0,3183,0,-9 +2706920,1100105,56,3,1,-9.0,6.0,2141,1,-9 +2706921,1100105,56,3,1,-9.0,6.0,414,0,-9 +2706922,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706923,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2706924,1100105,56,3,1,-9.0,6.0,1591,0,-9 +2706925,1100105,56,3,1,-9.0,4.0,2355,0,-9 +2706926,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706927,1100105,56,3,1,-9.0,6.0,5065,0,-9 +2706928,1100105,56,3,1,-9.0,6.0,25833,1,-9 +2706929,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706930,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706931,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706932,1100105,56,3,1,-9.0,6.0,53062,1,-9 +2706933,1100105,56,3,1,-9.0,6.0,8779,0,-9 +2706934,1100105,56,3,1,-9.0,4.0,1498,0,-9 +2706935,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706936,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706937,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706938,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706939,1100105,56,3,1,-9.0,4.0,5075,0,-9 +2706940,1100105,56,3,1,-9.0,6.0,4217,1,-9 +2706941,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706942,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2706943,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706944,1100105,56,3,1,-9.0,4.0,15709,1,-9 +2706945,1100105,56,3,1,-9.0,4.0,4244,1,-9 +2706946,1100105,56,3,1,-9.0,4.0,177291,0,-9 +2706947,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2706948,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706949,1100105,56,3,1,-9.0,4.0,6424,1,-9 +2706950,1100105,56,3,1,-9.0,4.0,3107,1,-9 +2706951,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706952,1100105,56,3,1,-9.0,4.0,527,0,-9 +2706953,1100105,56,3,1,-9.0,6.0,1061,1,-9 +2706954,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706955,1100105,56,3,1,-9.0,6.0,848,1,-9 +2706956,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706957,1100105,56,3,1,-9.0,6.0,2071,1,-9 +2706958,1100105,56,3,1,-9.0,6.0,4052,0,-9 +2706959,1100105,56,3,1,-9.0,6.0,2462,0,-9 +2706960,1100105,56,3,1,-9.0,6.0,2440,0,-9 +2706961,1100105,56,3,1,-9.0,6.0,2141,1,-9 +2706962,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706963,1100105,56,3,1,-9.0,6.0,212,0,-9 +2706964,1100105,56,3,1,-9.0,6.0,6326,0,-9 +2706965,1100105,56,3,1,-9.0,4.0,7598,1,-9 +2706966,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706967,1100105,56,3,1,-9.0,6.0,5093,1,-9 +2706968,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706969,1100105,56,3,1,-9.0,6.0,5075,1,-9 +2706970,1100105,56,3,1,-9.0,4.0,64,0,-9 +2706971,1100105,56,3,1,-9.0,6.0,2532,0,-9 +2706972,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706973,1100105,56,3,1,-9.0,4.0,8104,0,-9 +2706974,1100105,56,3,1,-9.0,4.0,267,0,-9 +2706975,1100105,56,3,1,-9.0,6.0,7802,1,-9 +2706976,1100105,56,3,1,-9.0,4.0,4143,0,-9 +2706977,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2706978,1100105,56,3,1,-9.0,4.0,1284,0,-9 +2706979,1100105,56,3,1,-9.0,6.0,7250,1,-9 +2706980,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2706981,1100105,56,3,1,-9.0,4.0,4661,1,-9 +2706982,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706983,1100105,56,3,1,-9.0,6.0,5065,0,-9 +2706984,1100105,56,3,1,-9.0,6.0,642,0,-9 +2706985,1100105,56,3,1,-9.0,6.0,2735,1,-9 +2706986,1100105,56,3,1,-9.0,6.0,3212,1,-9 +2706987,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706988,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2706989,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2706990,1100105,56,3,1,-9.0,4.0,15709,1,-9 +2706991,1100105,56,3,1,-9.0,4.0,64,0,-9 +2706992,1100105,56,3,1,-9.0,6.0,2735,1,-9 +2706993,1100105,56,3,1,-9.0,4.0,0,0,-9 +2706994,1100105,56,3,1,-9.0,6.0,0,0,-9 +2706995,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2706996,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2706997,1100105,56,3,1,-9.0,4.0,5075,0,-9 +2706998,1100105,56,3,1,-9.0,4.0,3212,0,-9 +2706999,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707000,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707001,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707002,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2707003,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707004,1100105,56,3,1,-9.0,6.0,828,0,-9 +2707005,1100105,56,3,1,-9.0,4.0,8489,1,-9 +2707006,1100105,56,3,1,-9.0,6.0,997,0,-9 +2707007,1100105,56,3,1,-9.0,4.0,8489,1,-9 +2707008,1100105,56,3,1,-9.0,6.0,1035,0,-9 +2707009,1100105,56,3,1,-9.0,6.0,5489,0,-9 +2707010,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2707011,1100105,56,3,1,-9.0,4.0,3714,0,-9 +2707012,1100105,56,3,1,-9.0,4.0,214,0,-9 +2707013,1100105,56,3,1,-9.0,4.0,4217,0,-9 +2707014,1100105,56,3,1,-9.0,6.0,1968,0,-9 +2707015,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707016,1100105,56,3,1,-9.0,4.0,54825,1,-9 +2707017,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707018,1100105,56,3,1,-9.0,6.0,3212,1,-9 +2707019,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2707020,1100105,56,3,1,-9.0,6.0,1657,1,-9 +2707021,1100105,56,3,1,-9.0,4.0,0,0,-9 +2707022,1100105,56,3,1,-9.0,4.0,20261,0,-9 +2707023,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707024,1100105,56,3,1,-9.0,4.0,6424,1,-9 +2707025,1100105,56,3,1,-9.0,6.0,769,0,-9 +2707026,1100105,56,3,1,-9.0,6.0,4282,0,-9 +2707027,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2707028,1100105,56,3,1,-9.0,4.0,1820,0,-9 +2707029,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707030,1100105,56,3,1,-9.0,6.0,2532,0,-9 +2707031,1100105,56,3,1,-9.0,6.0,6078,0,-9 +2707032,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2707033,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707034,1100105,56,3,1,-9.0,6.0,4818,1,-9 +2707035,1100105,56,3,1,-9.0,4.0,5353,0,-9 +2707036,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707037,1100105,56,3,1,-9.0,4.0,54825,1,-9 +2707038,1100105,56,3,1,-9.0,4.0,0,0,-9 +2707039,1100105,56,3,1,-9.0,4.0,0,0,-9 +2707040,1100105,56,3,1,-9.0,6.0,10130,1,-9 +2707041,1100105,56,3,1,-9.0,6.0,530,0,-9 +2707042,1100105,56,3,1,-9.0,4.0,0,0,-9 +2707043,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707044,1100105,56,3,1,-9.0,6.0,310,0,-9 +2707045,1100105,56,3,1,-9.0,4.0,0,0,-9 +2707046,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2707047,1100105,56,3,1,-9.0,4.0,256,1,-9 +2707048,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707049,1100105,56,3,1,-9.0,4.0,5139,0,-9 +2707050,1100105,56,3,1,-9.0,4.0,2635,1,-9 +2707051,1100105,56,3,1,-9.0,6.0,5065,0,-9 +2707052,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2707053,1100105,56,3,1,-9.0,6.0,5065,0,-9 +2707054,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707055,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2707056,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2707057,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707058,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707059,1100105,56,3,1,-9.0,6.0,1013,0,-9 +2707060,1100105,56,3,1,-9.0,4.0,2589,0,-9 +2707061,1100105,56,3,1,-9.0,4.0,2796,0,-9 +2707062,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707063,1100105,56,3,1,-9.0,4.0,4052,0,-9 +2707064,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2707065,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707066,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707067,1100105,56,3,1,-9.0,6.0,2141,1,-9 +2707068,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2707069,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2707070,1100105,56,3,1,-9.0,4.0,9219,0,-9 +2707071,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707072,1100105,56,3,1,-9.0,6.0,6215,0,-9 +2707073,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707074,1100105,56,3,1,-9.0,6.0,6326,1,-9 +2707075,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2707076,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707077,1100105,56,3,1,-9.0,6.0,2108,0,-9 +2707078,1100105,56,3,1,-9.0,4.0,4143,0,-9 +2707079,1100105,56,3,1,-9.0,4.0,0,0,-9 +2707080,1100105,56,3,1,-9.0,6.0,7091,1,-9 +2707081,1100105,56,3,1,-9.0,4.0,2141,0,-9 +2707082,1100105,56,3,1,-9.0,4.0,2796,0,-9 +2707083,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707084,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707085,1100105,56,3,1,-9.0,6.0,5271,1,-9 +2707086,1100105,56,3,1,-9.0,4.0,0,0,-9 +2707087,1100105,56,3,1,-9.0,4.0,3241,0,-9 +2707088,1100105,56,3,1,-9.0,6.0,1061,1,-9 +2707089,1100105,56,3,1,-9.0,6.0,265,1,-9 +2707090,1100105,56,3,1,-9.0,4.0,527,0,-9 +2707091,1100105,56,3,1,-9.0,6.0,3901,1,-9 +2707092,1100105,56,3,1,-9.0,6.0,1215,0,-9 +2707093,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707094,1100105,56,3,1,-9.0,6.0,1061,0,-9 +2707095,1100105,56,3,1,-9.0,6.0,8434,0,-9 +2707096,1100105,56,3,1,-9.0,6.0,4356,1,-9 +2707097,1100105,56,3,1,-9.0,4.0,5353,0,-9 +2707098,1100105,56,3,1,-9.0,6.0,4052,1,-9 +2707099,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707100,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707101,1100105,56,3,1,-9.0,4.0,214,0,-9 +2707102,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707103,1100105,56,3,1,-9.0,6.0,3140,1,-9 +2707104,1100105,56,3,1,-9.0,6.0,5489,0,-9 +2707105,1100105,56,3,1,-9.0,4.0,4082,1,-9 +2707106,1100105,56,3,1,-9.0,4.0,2122,0,-9 +2707107,1100105,56,3,1,-9.0,6.0,5271,1,-9 +2707108,1100105,56,3,1,-9.0,6.0,5065,0,-9 +2707109,1100105,56,3,1,-9.0,6.0,310,0,-9 +2707110,1100105,56,3,1,-9.0,4.0,10438,1,-9 +2707111,1100105,56,3,1,-9.0,4.0,2796,0,-9 +2707112,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707113,1100105,56,3,1,-9.0,4.0,2071,0,-9 +2707114,1100105,56,3,1,-9.0,4.0,4558,0,-9 +2707115,1100105,56,3,1,-9.0,4.0,8489,1,-9 +2707116,1100105,56,3,1,-9.0,4.0,15196,1,-9 +2707117,1100105,56,3,1,-9.0,6.0,6326,0,-9 +2707118,1100105,56,3,1,-9.0,6.0,2122,1,-9 +2707119,1100105,56,3,1,-9.0,4.0,843,1,-9 +2707120,1100105,56,3,1,-9.0,4.0,1013,1,-9 +2707121,1100105,56,3,1,-9.0,6.0,2676,1,-9 +2707122,1100105,56,3,1,-9.0,4.0,1713,1,-9 +2707123,1100105,56,3,1,-9.0,6.0,1167,1,-9 +2707124,1100105,56,3,1,-9.0,4.0,2676,0,-9 +2707125,1100105,56,3,1,-9.0,6.0,1159,0,-9 +2707126,1100105,56,3,1,-9.0,6.0,0,0,-9 +2707127,1100105,56,3,1,-9.0,4.0,5836,1,-9 +2707128,1100105,56,3,1,-9.0,6.0,25304,1,-9 +2707129,1100105,56,3,1,-9.0,4.0,0,0,-9 +2707130,1100105,56,3,1,-9.0,6.0,1167,1,-9 +2707131,1100105,56,3,1,-9.0,6.0,4775,1,-9 +2707132,1100105,56,3,1,-9.0,6.0,5306,1,-9 +2707133,1100105,56,3,1,-9.0,6.0,3747,0,-9 +2707134,1100105,56,3,1,-9.0,6.0,8779,0,-9 +2707135,1100105,60,3,1,-9.0,4.0,29521,0,-9 +2707136,1100105,60,3,1,-9.0,4.0,0,0,-9 +2707137,1100105,60,3,1,-9.0,4.0,0,0,-9 +2707138,1100105,60,3,1,-9.0,4.0,16817,0,-9 +2707139,1100105,60,3,1,-9.0,4.0,16817,0,-9 +2707140,1100105,60,3,1,-9.0,6.0,15631,0,-9 +2707141,1100105,60,3,1,-9.0,4.0,0,0,-9 +2707142,1100105,60,3,1,-9.0,4.0,8886,0,-9 +2714035,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714036,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714037,1100105,35,3,1,-9.0,6.0,4744,1,-9 +2714038,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714039,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714040,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2714041,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2714042,1100105,35,3,1,-9.0,4.0,1591,0,-9 +2714043,1100105,35,3,1,-9.0,4.0,5489,0,-9 +2714044,1100105,35,3,1,-9.0,6.0,535,0,-9 +2714045,1100105,35,3,1,-9.0,6.0,6215,0,-9 +2714046,1100105,35,3,1,-9.0,6.0,1370,1,-9 +2714047,1100105,35,3,1,-9.0,4.0,4052,0,-9 +2714048,1100105,35,3,1,-9.0,6.0,12848,1,-9 +2714049,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714050,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714051,1100105,35,3,1,-9.0,6.0,137,0,-9 +2714052,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714053,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714054,1100105,35,3,1,-9.0,4.0,1054,0,-9 +2714055,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2714056,1100105,35,3,1,-9.0,6.0,51392,1,-9 +2714057,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714058,1100105,35,3,1,-9.0,6.0,3373,0,-9 +2714059,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2714060,1100105,35,3,1,-9.0,6.0,25833,1,-9 +2714061,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714062,1100105,35,3,1,-9.0,4.0,5353,0,-9 +2714063,1100105,35,3,1,-9.0,4.0,7598,1,-9 +2714064,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714065,1100105,35,3,1,-9.0,6.0,1215,0,-9 +2714066,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714067,1100105,35,3,1,-9.0,4.0,3039,0,-9 +2714068,1100105,35,3,1,-9.0,6.0,2214,1,-9 +2714069,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2714070,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2714071,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2714072,1100105,35,3,1,-9.0,6.0,25833,1,-9 +2714073,1100105,35,3,1,-9.0,4.0,2796,0,-9 +2714074,1100105,35,3,1,-9.0,4.0,10400,1,-9 +2714075,1100105,35,3,1,-9.0,6.0,7802,1,-9 +2714076,1100105,35,3,1,-9.0,4.0,4143,0,-9 +2714077,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714078,1100105,35,3,1,-9.0,4.0,7598,1,-9 +2714079,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714080,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714081,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2714082,1100105,35,3,1,-9.0,4.0,10438,1,-9 +2714083,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714084,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714085,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714086,1100105,35,3,1,-9.0,6.0,1061,1,-9 +2714087,1100105,35,3,1,-9.0,4.0,1054,0,-9 +2714088,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714089,1100105,35,3,1,-9.0,4.0,78021,0,-9 +2714090,1100105,35,3,1,-9.0,6.0,997,0,-9 +2714091,1100105,35,3,1,-9.0,6.0,1061,1,-9 +2714092,1100105,35,3,1,-9.0,6.0,3039,1,-9 +2714093,1100105,35,3,1,-9.0,4.0,3849,0,-9 +2714094,1100105,35,3,1,-9.0,4.0,8489,1,-9 +2714095,1100105,35,3,1,-9.0,6.0,3212,1,-9 +2714096,1100105,35,3,1,-9.0,6.0,1061,1,-9 +2714097,1100105,35,3,1,-9.0,4.0,10637,1,-9 +2714098,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714099,1100105,35,3,1,-9.0,6.0,1450,0,-9 +2714100,1100105,35,3,1,-9.0,6.0,2741,1,-9 +2714101,1100105,35,3,1,-9.0,4.0,527,0,-9 +2714102,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714103,1100105,35,3,1,-9.0,6.0,6215,0,-9 +2714104,1100105,35,3,1,-9.0,6.0,9489,1,-9 +2714105,1100105,35,3,1,-9.0,6.0,1968,0,-9 +2714106,1100105,35,3,1,-9.0,4.0,8104,0,-9 +2714107,1100105,35,3,1,-9.0,6.0,7091,1,-9 +2714108,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714109,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2714110,1100105,35,3,1,-9.0,6.0,2108,0,-9 +2714111,1100105,35,3,1,-9.0,4.0,1013,1,-9 +2714112,1100105,35,3,1,-9.0,6.0,997,0,-9 +2714113,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714114,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714115,1100105,35,3,1,-9.0,6.0,9322,1,-9 +2714116,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714117,1100105,35,3,1,-9.0,4.0,3163,0,-9 +2714118,1100105,35,3,1,-9.0,6.0,2532,0,-9 +2714119,1100105,35,3,1,-9.0,6.0,25304,1,-9 +2714120,1100105,35,3,1,-9.0,6.0,7091,1,-9 +2714121,1100105,35,3,1,-9.0,6.0,10612,0,-9 +2714122,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714123,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714124,1100105,35,3,1,-9.0,4.0,4143,0,-9 +2714125,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714126,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714127,1100105,35,3,1,-9.0,6.0,787,0,-9 +2714128,1100105,35,3,1,-9.0,4.0,10400,1,-9 +2714129,1100105,35,3,1,-9.0,6.0,2141,1,-9 +2714130,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714131,1100105,35,3,1,-9.0,6.0,17510,1,-9 +2714132,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714133,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714134,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2714135,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2714136,1100105,35,3,1,-9.0,6.0,151,0,-9 +2714137,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714138,1100105,35,3,1,-9.0,6.0,10130,1,-9 +2714139,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714140,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714141,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714142,1100105,35,3,1,-9.0,4.0,2532,0,-9 +2714143,1100105,35,3,1,-9.0,4.0,1284,0,-9 +2714144,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714145,1100105,35,3,1,-9.0,6.0,1686,0,-9 +2714146,1100105,35,3,1,-9.0,6.0,5353,0,-9 +2714147,1100105,35,3,1,-9.0,6.0,3395,0,-9 +2714148,1100105,35,3,1,-9.0,4.0,9219,0,-9 +2714149,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714150,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714151,1100105,35,3,1,-9.0,6.0,214,1,-9 +2714152,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2714153,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714154,1100105,35,3,1,-9.0,4.0,20716,0,-9 +2714155,1100105,35,3,1,-9.0,4.0,632,0,-9 +2714156,1100105,35,3,1,-9.0,4.0,1054,1,-9 +2714157,1100105,35,3,1,-9.0,4.0,7598,1,-9 +2714158,1100105,35,3,1,-9.0,6.0,3747,0,-9 +2714159,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714160,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2714161,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714162,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2714163,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2714164,1100105,35,3,1,-9.0,4.0,527,0,-9 +2714165,1100105,35,3,1,-9.0,6.0,48628,0,-9 +2714166,1100105,35,3,1,-9.0,6.0,5271,1,-9 +2714167,1100105,35,3,1,-9.0,6.0,1591,0,-9 +2714168,1100105,35,3,1,-9.0,6.0,5489,0,-9 +2714169,1100105,35,3,1,-9.0,6.0,3647,0,-9 +2714170,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714171,1100105,35,3,1,-9.0,4.0,5139,0,-9 +2714172,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714173,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714174,1100105,35,3,1,-9.0,6.0,4244,1,-9 +2714175,1100105,35,3,1,-9.0,4.0,1159,1,-9 +2714176,1100105,35,3,1,-9.0,4.0,6424,1,-9 +2714177,1100105,35,3,1,-9.0,6.0,414,0,-9 +2714178,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714179,1100105,35,3,1,-9.0,6.0,424,0,-9 +2714180,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2714181,1100105,35,3,1,-9.0,6.0,3163,1,-9 +2714182,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714183,1100105,35,3,1,-9.0,6.0,5271,1,-9 +2714184,1100105,35,3,1,-9.0,6.0,2741,1,-9 +2714185,1100105,35,3,1,-9.0,6.0,1273,0,-9 +2714186,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714187,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714188,1100105,35,3,1,-9.0,4.0,1606,1,-9 +2714189,1100105,35,3,1,-9.0,4.0,3184,0,-9 +2714190,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714191,1100105,35,3,1,-9.0,4.0,2890,0,-9 +2714192,1100105,35,3,1,-9.0,6.0,8712,1,-9 +2714193,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714194,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2714195,1100105,35,3,1,-9.0,6.0,1396,0,-9 +2714196,1100105,35,3,1,-9.0,4.0,6531,1,-9 +2714197,1100105,35,3,1,-9.0,6.0,16716,0,-9 +2714198,1100105,35,3,1,-9.0,6.0,2676,0,-9 +2714199,1100105,35,3,1,-9.0,6.0,1265,0,-9 +2714200,1100105,35,3,1,-9.0,6.0,527,0,-9 +2714201,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714202,1100105,35,3,1,-9.0,4.0,2676,0,-9 +2714203,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714204,1100105,35,3,1,-9.0,6.0,2141,1,-9 +2714205,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714206,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714207,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714208,1100105,35,3,1,-9.0,6.0,5271,1,-9 +2714209,1100105,35,3,1,-9.0,6.0,856,0,-9 +2714210,1100105,35,3,1,-9.0,6.0,828,0,-9 +2714211,1100105,35,3,1,-9.0,6.0,15537,0,-9 +2714212,1100105,35,3,1,-9.0,4.0,5624,1,-9 +2714213,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2714214,1100105,35,3,1,-9.0,6.0,18235,1,-9 +2714215,1100105,35,3,1,-9.0,4.0,4868,1,-9 +2714216,1100105,35,3,1,-9.0,6.0,12098,1,-9 +2714217,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714218,1100105,35,3,1,-9.0,4.0,7598,1,-9 +2714219,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714220,1100105,35,3,1,-9.0,6.0,2676,0,-9 +2714221,1100105,35,3,1,-9.0,6.0,4972,1,-9 +2714222,1100105,35,3,1,-9.0,6.0,1519,0,-9 +2714223,1100105,35,3,1,-9.0,4.0,4082,1,-9 +2714224,1100105,35,3,1,-9.0,4.0,3212,0,-9 +2714225,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714226,1100105,35,3,1,-9.0,6.0,3395,0,-9 +2714227,1100105,35,3,1,-9.0,6.0,4282,0,-9 +2714228,1100105,35,3,1,-9.0,6.0,2900,1,-9 +2714229,1100105,35,3,1,-9.0,6.0,1035,1,-9 +2714230,1100105,35,3,1,-9.0,6.0,1167,1,-9 +2714231,1100105,35,3,1,-9.0,6.0,4972,1,-9 +2714232,1100105,35,3,1,-9.0,4.0,379,0,-9 +2714233,1100105,35,3,1,-9.0,6.0,4818,1,-9 +2714234,1100105,35,3,1,-9.0,4.0,1284,0,-9 +2714235,1100105,35,3,1,-9.0,4.0,6424,1,-9 +2714236,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714237,1100105,35,3,1,-9.0,4.0,2635,1,-9 +2714238,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714239,1100105,35,3,1,-9.0,6.0,3747,0,-9 +2714240,1100105,35,3,1,-9.0,6.0,1519,0,-9 +2714241,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714242,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714243,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714244,1100105,35,3,1,-9.0,6.0,2676,1,-9 +2714245,1100105,35,3,1,-9.0,4.0,12157,1,-9 +2714246,1100105,35,3,1,-9.0,6.0,6326,0,-9 +2714247,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714248,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714249,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714250,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714251,1100105,35,3,1,-9.0,6.0,18235,1,-9 +2714252,1100105,35,3,1,-9.0,4.0,4558,0,-9 +2714253,1100105,35,3,1,-9.0,4.0,10637,1,-9 +2714254,1100105,35,3,1,-9.0,6.0,1273,0,-9 +2714255,1100105,35,3,1,-9.0,6.0,530,0,-9 +2714256,1100105,35,3,1,-9.0,6.0,5065,0,-9 +2714257,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714258,1100105,35,3,1,-9.0,4.0,1864,0,-9 +2714259,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714260,1100105,35,3,1,-9.0,4.0,3163,0,-9 +2714261,1100105,35,3,1,-9.0,6.0,535,0,-9 +2714262,1100105,35,3,1,-9.0,6.0,787,0,-9 +2714263,1100105,35,3,1,-9.0,4.0,4282,1,-9 +2714264,1100105,35,3,1,-9.0,4.0,2144,1,-9 +2714265,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714266,1100105,35,3,1,-9.0,4.0,2635,1,-9 +2714267,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714268,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2714269,1100105,35,3,1,-9.0,6.0,2676,1,-9 +2714270,1100105,35,3,1,-9.0,4.0,2108,1,-9 +2714271,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2714272,1100105,35,3,1,-9.0,4.0,4661,1,-9 +2714273,1100105,35,3,1,-9.0,4.0,12222,0,-9 +2714274,1100105,35,3,1,-9.0,4.0,2144,1,-9 +2714275,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2714276,1100105,35,3,1,-9.0,6.0,1035,1,-9 +2714277,1100105,35,3,1,-9.0,6.0,2676,1,-9 +2714278,1100105,35,3,1,-9.0,6.0,769,0,-9 +2714279,1100105,35,3,1,-9.0,4.0,4052,0,-9 +2714280,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714281,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714282,1100105,35,3,1,-9.0,4.0,54825,1,-9 +2714283,1100105,35,3,1,-9.0,4.0,5489,0,-9 +2714284,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714285,1100105,35,3,1,-9.0,6.0,3747,0,-9 +2714286,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714287,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714288,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714289,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2714290,1100105,35,3,1,-9.0,6.0,1061,0,-9 +2714291,1100105,35,3,1,-9.0,6.0,25304,1,-9 +2714292,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714293,1100105,35,3,1,-9.0,4.0,12222,0,-9 +2714294,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2714295,1100105,35,3,1,-9.0,4.0,50727,1,-9 +2714296,1100105,35,3,1,-9.0,4.0,54825,1,-9 +2714297,1100105,35,3,1,-9.0,4.0,1061,0,-9 +2714298,1100105,35,3,1,-9.0,4.0,1657,1,-9 +2714299,1100105,35,3,1,-9.0,4.0,15196,1,-9 +2714300,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714301,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2714302,1100105,35,3,1,-9.0,4.0,2635,1,-9 +2714303,1100105,35,3,1,-9.0,4.0,2796,0,-9 +2714304,1100105,35,3,1,-9.0,4.0,1035,1,-9 +2714305,1100105,35,3,1,-9.0,4.0,4454,1,-9 +2714306,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714307,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714308,1100105,35,3,1,-9.0,6.0,137,0,-9 +2714309,1100105,35,3,1,-9.0,4.0,379,0,-9 +2714310,1100105,35,3,1,-9.0,6.0,8779,0,-9 +2714311,1100105,35,3,1,-9.0,4.0,148,0,-9 +2714312,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714313,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714314,1100105,35,3,1,-9.0,6.0,25696,0,-9 +2714315,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714316,1100105,35,3,1,-9.0,4.0,7091,0,-9 +2714317,1100105,35,3,1,-9.0,4.0,4052,0,-9 +2714318,1100105,35,3,1,-9.0,6.0,421,0,-9 +2714319,1100105,35,3,1,-9.0,6.0,1061,0,-9 +2714320,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714321,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714322,1100105,35,3,1,-9.0,4.0,2071,1,-9 +2714323,1100105,35,3,1,-9.0,6.0,5489,0,-9 +2714324,1100105,35,3,1,-9.0,6.0,530,0,-9 +2714325,1100105,35,3,1,-9.0,4.0,2355,0,-9 +2714326,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714327,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714328,1100105,35,3,1,-9.0,6.0,4052,1,-9 +2714329,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714330,1100105,35,3,1,-9.0,4.0,1013,0,-9 +2714331,1100105,35,3,1,-9.0,6.0,414,0,-9 +2714332,1100105,35,3,1,-9.0,4.0,2589,0,-9 +2714333,1100105,35,3,1,-9.0,4.0,20261,0,-9 +2714334,1100105,35,3,1,-9.0,4.0,22484,1,-9 +2714335,1100105,35,3,1,-9.0,4.0,1284,0,-9 +2714336,1100105,35,3,1,-9.0,6.0,856,1,-9 +2714337,1100105,35,3,1,-9.0,4.0,20261,0,-9 +2714338,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714339,1100105,35,3,1,-9.0,6.0,10637,1,-9 +2714340,1100105,35,3,1,-9.0,6.0,5065,0,-9 +2714341,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714342,1100105,35,3,1,-9.0,6.0,25696,0,-9 +2714343,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2714344,1100105,35,3,1,-9.0,4.0,15709,1,-9 +2714345,1100105,35,3,1,-9.0,6.0,25833,1,-9 +2714346,1100105,35,3,1,-9.0,4.0,2676,0,-9 +2714347,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714348,1100105,35,3,1,-9.0,6.0,8458,1,-9 +2714349,1100105,35,3,1,-9.0,4.0,5836,1,-9 +2714350,1100105,35,3,1,-9.0,6.0,769,0,-9 +2714351,1100105,35,3,1,-9.0,4.0,267,0,-9 +2714352,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714353,1100105,35,3,1,-9.0,6.0,12098,1,-9 +2714354,1100105,35,3,1,-9.0,4.0,9219,0,-9 +2714355,1100105,35,3,1,-9.0,6.0,1215,0,-9 +2714356,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714357,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714358,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714359,1100105,35,3,1,-9.0,4.0,12222,0,-9 +2714360,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2714361,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714362,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714363,1100105,35,3,1,-9.0,4.0,1897,0,-9 +2714364,1100105,35,3,1,-9.0,4.0,632,0,-9 +2714365,1100105,35,3,1,-9.0,4.0,1054,1,-9 +2714366,1100105,35,3,1,-9.0,6.0,1823,1,-9 +2714367,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714368,1100105,35,3,1,-9.0,6.0,3107,0,-9 +2714369,1100105,35,3,1,-9.0,4.0,7091,0,-9 +2714370,1100105,35,3,1,-9.0,4.0,632,0,-9 +2714371,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714372,1100105,35,3,1,-9.0,6.0,7091,1,-9 +2714373,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2714374,1100105,35,3,1,-9.0,6.0,1823,1,-9 +2714375,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714376,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714377,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714378,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714379,1100105,35,3,1,-9.0,4.0,1061,0,-9 +2714380,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714381,1100105,35,3,1,-9.0,6.0,1265,0,-9 +2714382,1100105,35,3,1,-9.0,4.0,2108,1,-9 +2714383,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714384,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714385,1100105,35,3,1,-9.0,6.0,13676,0,-9 +2714386,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2714387,1100105,35,3,1,-9.0,4.0,1968,1,-9 +2714388,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714389,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714390,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714391,1100105,35,3,1,-9.0,6.0,48628,0,-9 +2714392,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2714393,1100105,35,3,1,-9.0,6.0,3647,0,-9 +2714394,1100105,35,3,1,-9.0,4.0,880,0,-9 +2714395,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714396,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714397,1100105,35,3,1,-9.0,6.0,7091,1,-9 +2714398,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2714399,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714400,1100105,35,3,1,-9.0,6.0,5075,1,-9 +2714401,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2714402,1100105,35,3,1,-9.0,6.0,1054,0,-9 +2714403,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714404,1100105,35,3,1,-9.0,4.0,4868,1,-9 +2714405,1100105,35,3,1,-9.0,4.0,4052,0,-9 +2714406,1100105,35,3,1,-9.0,4.0,148,0,-9 +2714407,1100105,35,3,1,-9.0,4.0,22484,1,-9 +2714408,1100105,35,3,1,-9.0,6.0,4052,1,-9 +2714409,1100105,35,3,1,-9.0,4.0,53062,0,-9 +2714410,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2714411,1100105,35,3,1,-9.0,4.0,29379,0,-9 +2714412,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714413,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2714414,1100105,35,3,1,-9.0,4.0,267,0,-9 +2714415,1100105,35,3,1,-9.0,6.0,1061,0,-9 +2714416,1100105,35,3,1,-9.0,6.0,828,0,-9 +2714417,1100105,35,3,1,-9.0,4.0,4052,0,-9 +2714418,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714419,1100105,35,3,1,-9.0,6.0,1519,0,-9 +2714420,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2714421,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714422,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714423,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714424,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714425,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714426,1100105,35,3,1,-9.0,4.0,1606,1,-9 +2714427,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714428,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714429,1100105,35,3,1,-9.0,6.0,530,0,-9 +2714430,1100105,35,3,1,-9.0,4.0,2635,0,-9 +2714431,1100105,35,3,1,-9.0,4.0,5836,1,-9 +2714432,1100105,35,3,1,-9.0,6.0,3212,1,-9 +2714433,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714434,1100105,35,3,1,-9.0,6.0,856,0,-9 +2714435,1100105,35,3,1,-9.0,4.0,2796,0,-9 +2714436,1100105,35,3,1,-9.0,6.0,4356,1,-9 +2714437,1100105,35,3,1,-9.0,6.0,10130,1,-9 +2714438,1100105,35,3,1,-9.0,4.0,880,0,-9 +2714439,1100105,35,3,1,-9.0,6.0,10637,1,-9 +2714440,1100105,35,3,1,-9.0,6.0,2141,1,-9 +2714441,1100105,35,3,1,-9.0,6.0,13676,0,-9 +2714442,1100105,35,3,1,-9.0,6.0,6215,0,-9 +2714443,1100105,35,3,1,-9.0,4.0,148,0,-9 +2714444,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2714445,1100105,35,3,1,-9.0,4.0,15196,1,-9 +2714446,1100105,35,3,1,-9.0,4.0,21086,1,-9 +2714447,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714448,1100105,35,3,1,-9.0,4.0,8104,0,-9 +2714449,1100105,35,3,1,-9.0,6.0,4282,0,-9 +2714450,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714451,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714452,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714453,1100105,35,3,1,-9.0,6.0,1273,0,-9 +2714454,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2714455,1100105,35,3,1,-9.0,6.0,2108,0,-9 +2714456,1100105,35,3,1,-9.0,4.0,267,0,-9 +2714457,1100105,35,3,1,-9.0,4.0,1035,0,-9 +2714458,1100105,35,3,1,-9.0,6.0,11144,1,-9 +2714459,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714460,1100105,35,3,1,-9.0,4.0,3212,0,-9 +2714461,1100105,35,3,1,-9.0,6.0,7802,1,-9 +2714462,1100105,35,3,1,-9.0,6.0,3107,1,-9 +2714463,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2714464,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714465,1100105,35,3,1,-9.0,4.0,8489,1,-9 +2714466,1100105,35,3,1,-9.0,4.0,530,0,-9 +2714467,1100105,35,3,1,-9.0,4.0,2796,0,-9 +2714468,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2714469,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714470,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714471,1100105,35,3,1,-9.0,6.0,2532,0,-9 +2714472,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714473,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2714474,1100105,35,3,1,-9.0,6.0,5075,1,-9 +2714475,1100105,35,3,1,-9.0,6.0,4925,0,-9 +2714476,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714477,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714478,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714479,1100105,35,3,1,-9.0,4.0,5489,0,-9 +2714480,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714481,1100105,35,3,1,-9.0,6.0,1061,0,-9 +2714482,1100105,35,3,1,-9.0,6.0,856,1,-9 +2714483,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714484,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714485,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714486,1100105,35,3,1,-9.0,6.0,421,0,-9 +2714487,1100105,35,3,1,-9.0,4.0,1013,0,-9 +2714488,1100105,35,3,1,-9.0,4.0,26103,1,-9 +2714489,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2714490,1100105,35,3,1,-9.0,6.0,6078,0,-9 +2714491,1100105,35,3,1,-9.0,4.0,1035,0,-9 +2714492,1100105,35,3,1,-9.0,4.0,3212,0,-9 +2714493,1100105,35,3,1,-9.0,4.0,4217,0,-9 +2714494,1100105,35,3,1,-9.0,6.0,3395,0,-9 +2714495,1100105,35,3,1,-9.0,6.0,10130,1,-9 +2714496,1100105,35,3,1,-9.0,6.0,1591,0,-9 +2714497,1100105,35,3,1,-9.0,6.0,2440,0,-9 +2714498,1100105,35,3,1,-9.0,4.0,10358,1,-9 +2714499,1100105,35,3,1,-9.0,4.0,527,0,-9 +2714500,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714501,1100105,35,3,1,-9.0,6.0,4282,0,-9 +2714502,1100105,35,3,1,-9.0,4.0,4217,0,-9 +2714503,1100105,35,3,1,-9.0,6.0,5306,1,-9 +2714504,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714505,1100105,35,3,1,-9.0,6.0,51392,1,-9 +2714506,1100105,35,3,1,-9.0,6.0,6215,0,-9 +2714507,1100105,35,3,1,-9.0,6.0,1215,0,-9 +2714508,1100105,35,3,1,-9.0,6.0,435,0,-9 +2714509,1100105,35,3,1,-9.0,4.0,7380,0,-9 +2714510,1100105,35,3,1,-9.0,4.0,3163,0,-9 +2714511,1100105,35,3,1,-9.0,6.0,2676,1,-9 +2714512,1100105,35,3,1,-9.0,4.0,2796,0,-9 +2714513,1100105,35,3,1,-9.0,6.0,214,1,-9 +2714514,1100105,35,3,1,-9.0,4.0,4244,1,-9 +2714515,1100105,35,3,1,-9.0,6.0,5518,1,-9 +2714516,1100105,35,3,1,-9.0,6.0,4244,1,-9 +2714517,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714518,1100105,35,3,1,-9.0,6.0,2141,1,-9 +2714519,1100105,35,3,1,-9.0,4.0,5306,0,-9 +2714520,1100105,35,3,1,-9.0,6.0,1686,0,-9 +2714521,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714522,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714523,1100105,35,3,1,-9.0,4.0,3373,0,-9 +2714524,1100105,35,3,1,-9.0,4.0,3163,0,-9 +2714525,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714526,1100105,35,3,1,-9.0,6.0,3107,1,-9 +2714527,1100105,35,3,1,-9.0,6.0,51392,1,-9 +2714528,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714529,1100105,35,3,1,-9.0,4.0,1498,0,-9 +2714530,1100105,35,3,1,-9.0,4.0,1013,0,-9 +2714531,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714532,1100105,35,3,1,-9.0,6.0,210,0,-9 +2714533,1100105,35,3,1,-9.0,4.0,2144,1,-9 +2714534,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714535,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714536,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714537,1100105,35,3,1,-9.0,4.0,8489,1,-9 +2714538,1100105,35,3,1,-9.0,6.0,2741,1,-9 +2714539,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714540,1100105,35,3,1,-9.0,6.0,4052,1,-9 +2714541,1100105,35,3,1,-9.0,6.0,7250,1,-9 +2714542,1100105,35,3,1,-9.0,6.0,421,0,-9 +2714543,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714544,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714545,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714546,1100105,35,3,1,-9.0,4.0,20261,0,-9 +2714547,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714548,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714549,1100105,35,3,1,-9.0,4.0,17121,1,-9 +2714550,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714551,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2714552,1100105,35,3,1,-9.0,4.0,2144,1,-9 +2714553,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2714554,1100105,35,3,1,-9.0,4.0,1061,0,-9 +2714555,1100105,35,3,1,-9.0,4.0,1035,0,-9 +2714556,1100105,35,3,1,-9.0,4.0,10438,1,-9 +2714557,1100105,35,3,1,-9.0,4.0,7598,1,-9 +2714558,1100105,35,3,1,-9.0,4.0,2532,0,-9 +2714559,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714560,1100105,35,3,1,-9.0,6.0,3395,0,-9 +2714561,1100105,35,3,1,-9.0,4.0,148,0,-9 +2714562,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2714563,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714564,1100105,35,3,1,-9.0,6.0,5489,0,-9 +2714565,1100105,35,3,1,-9.0,6.0,265,1,-9 +2714566,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714567,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714568,1100105,35,3,1,-9.0,6.0,1035,1,-9 +2714569,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714570,1100105,35,3,1,-9.0,4.0,2532,1,-9 +2714571,1100105,35,3,1,-9.0,6.0,210,0,-9 +2714572,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2714573,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714574,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2714575,1100105,35,3,1,-9.0,4.0,22484,1,-9 +2714576,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714577,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714578,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714579,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2714580,1100105,35,3,1,-9.0,6.0,2141,1,-9 +2714581,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714582,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714583,1100105,35,3,1,-9.0,6.0,27837,1,-9 +2714584,1100105,35,3,1,-9.0,6.0,2676,1,-9 +2714585,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714586,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714587,1100105,35,3,1,-9.0,4.0,3163,0,-9 +2714588,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714589,1100105,35,3,1,-9.0,6.0,642,0,-9 +2714590,1100105,35,3,1,-9.0,4.0,177291,0,-9 +2714591,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714592,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714593,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714594,1100105,35,3,1,-9.0,6.0,4972,1,-9 +2714595,1100105,35,3,1,-9.0,6.0,3901,1,-9 +2714596,1100105,35,3,1,-9.0,4.0,1054,0,-9 +2714597,1100105,35,3,1,-9.0,6.0,210,0,-9 +2714598,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714599,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714600,1100105,35,3,1,-9.0,6.0,10130,1,-9 +2714601,1100105,35,3,1,-9.0,6.0,5075,1,-9 +2714602,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714603,1100105,35,3,1,-9.0,6.0,5075,1,-9 +2714604,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2714605,1100105,35,3,1,-9.0,6.0,5075,1,-9 +2714606,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2714607,1100105,35,3,1,-9.0,4.0,50727,1,-9 +2714608,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714609,1100105,35,3,1,-9.0,4.0,1061,0,-9 +2714610,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714611,1100105,35,3,1,-9.0,6.0,265,1,-9 +2714612,1100105,35,3,1,-9.0,4.0,4082,1,-9 +2714613,1100105,35,3,1,-9.0,6.0,7091,1,-9 +2714614,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714615,1100105,35,3,1,-9.0,6.0,7250,1,-9 +2714616,1100105,35,3,1,-9.0,4.0,1054,0,-9 +2714617,1100105,35,3,1,-9.0,4.0,5836,1,-9 +2714618,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714619,1100105,35,3,1,-9.0,4.0,16869,1,-9 +2714620,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2714621,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714622,1100105,35,3,1,-9.0,6.0,5306,1,-9 +2714623,1100105,35,3,1,-9.0,4.0,2890,0,-9 +2714624,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714625,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714626,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714627,1100105,35,3,1,-9.0,4.0,15196,1,-9 +2714628,1100105,35,3,1,-9.0,4.0,1284,0,-9 +2714629,1100105,35,3,1,-9.0,4.0,1284,0,-9 +2714630,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714631,1100105,35,3,1,-9.0,4.0,20716,0,-9 +2714632,1100105,35,3,1,-9.0,4.0,20261,0,-9 +2714633,1100105,35,3,1,-9.0,4.0,22484,1,-9 +2714634,1100105,35,3,1,-9.0,4.0,64,1,-9 +2714635,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714636,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714637,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714638,1100105,35,3,1,-9.0,4.0,3107,1,-9 +2714639,1100105,35,3,1,-9.0,6.0,1686,0,-9 +2714640,1100105,35,3,1,-9.0,6.0,2676,0,-9 +2714641,1100105,35,3,1,-9.0,4.0,2532,0,-9 +2714642,1100105,35,3,1,-9.0,6.0,4217,1,-9 +2714643,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714644,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714645,1100105,35,3,1,-9.0,4.0,2355,0,-9 +2714646,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714647,1100105,35,3,1,-9.0,6.0,3212,0,-9 +2714648,1100105,35,3,1,-9.0,4.0,21086,1,-9 +2714649,1100105,35,3,1,-9.0,4.0,1581,1,-9 +2714650,1100105,35,3,1,-9.0,4.0,2108,1,-9 +2714651,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714652,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2714653,1100105,35,3,1,-9.0,4.0,1159,1,-9 +2714654,1100105,35,3,1,-9.0,6.0,1215,0,-9 +2714655,1100105,35,3,1,-9.0,4.0,3373,0,-9 +2714656,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714657,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714658,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714659,1100105,35,3,1,-9.0,4.0,5271,0,-9 +2714660,1100105,35,3,1,-9.0,4.0,10637,1,-9 +2714661,1100105,35,3,1,-9.0,6.0,24839,0,-9 +2714662,1100105,35,3,1,-9.0,4.0,4143,0,-9 +2714663,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714664,1100105,35,3,1,-9.0,4.0,1713,1,-9 +2714665,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2714666,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714667,1100105,35,3,1,-9.0,6.0,7802,1,-9 +2714668,1100105,35,3,1,-9.0,4.0,12157,1,-9 +2714669,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714670,1100105,35,3,1,-9.0,6.0,2108,0,-9 +2714671,1100105,35,3,1,-9.0,6.0,15537,0,-9 +2714672,1100105,35,3,1,-9.0,4.0,10400,1,-9 +2714673,1100105,35,3,1,-9.0,6.0,6078,0,-9 +2714674,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714675,1100105,35,3,1,-9.0,6.0,3039,1,-9 +2714676,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714677,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714678,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714679,1100105,35,3,1,-9.0,4.0,12157,1,-9 +2714680,1100105,35,3,1,-9.0,4.0,2676,0,-9 +2714681,1100105,35,3,1,-9.0,6.0,7802,1,-9 +2714682,1100105,35,3,1,-9.0,4.0,2071,1,-9 +2714683,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714684,1100105,35,3,1,-9.0,6.0,1391,0,-9 +2714685,1100105,35,3,1,-9.0,6.0,530,0,-9 +2714686,1100105,35,3,1,-9.0,6.0,2141,1,-9 +2714687,1100105,35,3,1,-9.0,6.0,4282,1,-9 +2714688,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714689,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2714690,1100105,35,3,1,-9.0,6.0,6215,0,-9 +2714691,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714692,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2714693,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714694,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714695,1100105,35,3,1,-9.0,6.0,2741,1,-9 +2714696,1100105,35,3,1,-9.0,4.0,31075,1,-9 +2714697,1100105,35,3,1,-9.0,4.0,803,1,-9 +2714698,1100105,35,3,1,-9.0,6.0,421,0,-9 +2714699,1100105,35,3,1,-9.0,4.0,4244,1,-9 +2714700,1100105,35,3,1,-9.0,6.0,5489,0,-9 +2714701,1100105,35,3,1,-9.0,4.0,7380,0,-9 +2714702,1100105,35,3,1,-9.0,4.0,843,1,-9 +2714703,1100105,35,3,1,-9.0,4.0,4244,1,-9 +2714704,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2714705,1100105,35,3,1,-9.0,6.0,2676,1,-9 +2714706,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2714707,1100105,35,3,1,-9.0,4.0,1713,1,-9 +2714708,1100105,35,3,1,-9.0,4.0,4661,1,-9 +2714709,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714710,1100105,35,3,1,-9.0,6.0,3163,1,-9 +2714711,1100105,35,3,1,-9.0,4.0,256,1,-9 +2714712,1100105,35,3,1,-9.0,6.0,828,0,-9 +2714713,1100105,35,3,1,-9.0,6.0,856,0,-9 +2714714,1100105,35,3,1,-9.0,4.0,1070,1,-9 +2714715,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714716,1100105,35,3,1,-9.0,6.0,2141,1,-9 +2714717,1100105,35,3,1,-9.0,4.0,1897,0,-9 +2714718,1100105,35,3,1,-9.0,4.0,2653,1,-9 +2714719,1100105,35,3,1,-9.0,4.0,2144,1,-9 +2714720,1100105,35,3,1,-9.0,6.0,414,0,-9 +2714721,1100105,35,3,1,-9.0,6.0,5065,0,-9 +2714722,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2714723,1100105,35,3,1,-9.0,6.0,1968,0,-9 +2714724,1100105,35,3,1,-9.0,4.0,10400,1,-9 +2714725,1100105,35,3,1,-9.0,4.0,3184,0,-9 +2714726,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714727,1100105,35,3,1,-9.0,4.0,1606,0,-9 +2714728,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714729,1100105,35,3,1,-9.0,4.0,1284,0,-9 +2714730,1100105,35,3,1,-9.0,6.0,3395,0,-9 +2714731,1100105,35,3,1,-9.0,4.0,3039,1,-9 +2714732,1100105,35,3,1,-9.0,6.0,1391,0,-9 +2714733,1100105,35,3,1,-9.0,6.0,8104,1,-9 +2714734,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714735,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714736,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2714737,1100105,35,3,1,-9.0,6.0,24839,0,-9 +2714738,1100105,35,3,1,-9.0,6.0,1054,0,-9 +2714739,1100105,35,3,1,-9.0,4.0,1061,0,-9 +2714740,1100105,35,3,1,-9.0,6.0,310,0,-9 +2714741,1100105,35,3,1,-9.0,4.0,5836,1,-9 +2714742,1100105,35,3,1,-9.0,4.0,1581,1,-9 +2714743,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714744,1100105,35,3,1,-9.0,4.0,1620,0,-9 +2714745,1100105,35,3,1,-9.0,6.0,25833,1,-9 +2714746,1100105,35,3,1,-9.0,6.0,3212,1,-9 +2714747,1100105,35,3,1,-9.0,6.0,535,0,-9 +2714748,1100105,35,3,1,-9.0,6.0,4052,1,-9 +2714749,1100105,35,3,1,-9.0,4.0,2676,0,-9 +2714750,1100105,35,3,1,-9.0,4.0,26103,1,-9 +2714751,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2714752,1100105,35,3,1,-9.0,4.0,9219,0,-9 +2714753,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714754,1100105,35,3,1,-9.0,6.0,12098,1,-9 +2714755,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714756,1100105,35,3,1,-9.0,4.0,2228,1,-9 +2714757,1100105,35,3,1,-9.0,6.0,5271,1,-9 +2714758,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2714759,1100105,35,3,1,-9.0,4.0,29379,0,-9 +2714760,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714761,1100105,35,3,1,-9.0,4.0,5271,0,-9 +2714762,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714763,1100105,35,3,1,-9.0,6.0,1519,0,-9 +2714764,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2714765,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714766,1100105,35,3,1,-9.0,6.0,1697,0,-9 +2714767,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714768,1100105,35,3,1,-9.0,4.0,3039,1,-9 +2714769,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714770,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714771,1100105,35,3,1,-9.0,6.0,27837,1,-9 +2714772,1100105,35,3,1,-9.0,4.0,3184,0,-9 +2714773,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714774,1100105,35,3,1,-9.0,6.0,4818,1,-9 +2714775,1100105,35,3,1,-9.0,6.0,6102,1,-9 +2714776,1100105,35,3,1,-9.0,4.0,9219,0,-9 +2714777,1100105,35,3,1,-9.0,6.0,23554,0,-9 +2714778,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714779,1100105,35,3,1,-9.0,6.0,1686,0,-9 +2714780,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714781,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714782,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714783,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714784,1100105,35,3,1,-9.0,6.0,2248,1,-9 +2714785,1100105,35,3,1,-9.0,4.0,8961,1,-9 +2714786,1100105,35,3,1,-9.0,4.0,4052,0,-9 +2714787,1100105,35,3,1,-9.0,6.0,5518,1,-9 +2714788,1100105,35,3,1,-9.0,4.0,3545,0,-9 +2714789,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714790,1100105,35,3,1,-9.0,4.0,15196,1,-9 +2714791,1100105,35,3,1,-9.0,6.0,1167,1,-9 +2714792,1100105,35,3,1,-9.0,4.0,955,0,-9 +2714793,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714794,1100105,35,3,1,-9.0,6.0,3901,1,-9 +2714795,1100105,35,3,1,-9.0,6.0,15399,1,-9 +2714796,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714797,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714798,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714799,1100105,35,3,1,-9.0,6.0,535,0,-9 +2714800,1100105,35,3,1,-9.0,6.0,1070,1,-9 +2714801,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714802,1100105,35,3,1,-9.0,6.0,2676,0,-9 +2714803,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2714804,1100105,35,3,1,-9.0,6.0,1686,0,-9 +2714805,1100105,35,3,1,-9.0,6.0,5075,1,-9 +2714806,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714807,1100105,35,3,1,-9.0,6.0,1070,1,-9 +2714808,1100105,35,3,1,-9.0,6.0,10130,1,-9 +2714809,1100105,35,3,1,-9.0,4.0,2108,1,-9 +2714810,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714811,1100105,35,3,1,-9.0,4.0,3039,0,-9 +2714812,1100105,35,3,1,-9.0,6.0,12848,1,-9 +2714813,1100105,35,3,1,-9.0,4.0,2108,0,-9 +2714814,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714815,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714816,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2714817,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714818,1100105,35,3,1,-9.0,4.0,12222,0,-9 +2714819,1100105,35,3,1,-9.0,4.0,6531,1,-9 +2714820,1100105,35,3,1,-9.0,4.0,20716,0,-9 +2714821,1100105,35,3,1,-9.0,6.0,1450,0,-9 +2714822,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714823,1100105,35,3,1,-9.0,6.0,15918,1,-9 +2714824,1100105,35,3,1,-9.0,4.0,5836,1,-9 +2714825,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714826,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714827,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714828,1100105,35,3,1,-9.0,6.0,1391,0,-9 +2714829,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714830,1100105,35,3,1,-9.0,4.0,955,0,-9 +2714831,1100105,35,3,1,-9.0,4.0,8434,0,-9 +2714832,1100105,35,3,1,-9.0,6.0,7802,1,-9 +2714833,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714834,1100105,35,3,1,-9.0,6.0,997,0,-9 +2714835,1100105,35,3,1,-9.0,6.0,421,0,-9 +2714836,1100105,35,3,1,-9.0,6.0,3107,0,-9 +2714837,1100105,35,3,1,-9.0,6.0,5271,1,-9 +2714838,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714839,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714840,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714841,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2714842,1100105,35,3,1,-9.0,6.0,1823,1,-9 +2714843,1100105,35,3,1,-9.0,6.0,3212,1,-9 +2714844,1100105,35,3,1,-9.0,4.0,26103,1,-9 +2714845,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714846,1100105,35,3,1,-9.0,6.0,12848,1,-9 +2714847,1100105,35,3,1,-9.0,4.0,1864,0,-9 +2714848,1100105,35,3,1,-9.0,6.0,2676,1,-9 +2714849,1100105,35,3,1,-9.0,6.0,856,1,-9 +2714850,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714851,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2714852,1100105,35,3,1,-9.0,6.0,1519,0,-9 +2714853,1100105,35,3,1,-9.0,6.0,4818,1,-9 +2714854,1100105,35,3,1,-9.0,6.0,1215,0,-9 +2714855,1100105,35,3,1,-9.0,6.0,1792,0,-9 +2714856,1100105,35,3,1,-9.0,6.0,3901,1,-9 +2714857,1100105,35,3,1,-9.0,6.0,530,0,-9 +2714858,1100105,35,3,1,-9.0,4.0,1498,0,-9 +2714859,1100105,35,3,1,-9.0,6.0,7354,1,-9 +2714860,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714861,1100105,35,3,1,-9.0,6.0,1061,0,-9 +2714862,1100105,35,3,1,-9.0,6.0,3212,1,-9 +2714863,1100105,35,3,1,-9.0,4.0,1013,0,-9 +2714864,1100105,35,3,1,-9.0,6.0,1167,1,-9 +2714865,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714866,1100105,35,3,1,-9.0,6.0,828,0,-9 +2714867,1100105,35,3,1,-9.0,4.0,3212,0,-9 +2714868,1100105,35,3,1,-9.0,4.0,2144,1,-9 +2714869,1100105,35,3,1,-9.0,4.0,21086,1,-9 +2714870,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714871,1100105,35,3,1,-9.0,6.0,1591,0,-9 +2714872,1100105,35,3,1,-9.0,4.0,4052,0,-9 +2714873,1100105,35,3,1,-9.0,6.0,18235,1,-9 +2714874,1100105,35,3,1,-9.0,4.0,4868,1,-9 +2714875,1100105,35,3,1,-9.0,6.0,4052,1,-9 +2714876,1100105,35,3,1,-9.0,6.0,4052,1,-9 +2714877,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714878,1100105,35,3,1,-9.0,6.0,3395,0,-9 +2714879,1100105,35,3,1,-9.0,4.0,1284,0,-9 +2714880,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714881,1100105,35,3,1,-9.0,4.0,21086,1,-9 +2714882,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714883,1100105,35,3,1,-9.0,4.0,29379,0,-9 +2714884,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714885,1100105,35,3,1,-9.0,6.0,1167,1,-9 +2714886,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714887,1100105,35,3,1,-9.0,4.0,759,0,-9 +2714888,1100105,35,3,1,-9.0,6.0,3183,1,-9 +2714889,1100105,35,3,1,-9.0,4.0,1054,1,-9 +2714890,1100105,35,3,1,-9.0,6.0,4356,1,-9 +2714891,1100105,35,3,1,-9.0,4.0,527,0,-9 +2714892,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714893,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714894,1100105,35,3,1,-9.0,6.0,2108,0,-9 +2714895,1100105,35,3,1,-9.0,6.0,7250,1,-9 +2714896,1100105,35,3,1,-9.0,6.0,5306,1,-9 +2714897,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714898,1100105,35,3,1,-9.0,6.0,4744,1,-9 +2714899,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714900,1100105,35,3,1,-9.0,4.0,1284,0,-9 +2714901,1100105,35,3,1,-9.0,6.0,9489,1,-9 +2714902,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714903,1100105,35,3,1,-9.0,4.0,12157,1,-9 +2714904,1100105,35,3,1,-9.0,6.0,902,0,-9 +2714905,1100105,35,3,1,-9.0,4.0,527,0,-9 +2714906,1100105,35,3,1,-9.0,4.0,11242,1,-9 +2714907,1100105,35,3,1,-9.0,4.0,5489,0,-9 +2714908,1100105,35,3,1,-9.0,6.0,4972,1,-9 +2714909,1100105,35,3,1,-9.0,4.0,5139,0,-9 +2714910,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714911,1100105,35,3,1,-9.0,6.0,11394,1,-9 +2714912,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2714913,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714914,1100105,35,3,1,-9.0,4.0,1035,1,-9 +2714915,1100105,35,3,1,-9.0,4.0,632,0,-9 +2714916,1100105,35,3,1,-9.0,4.0,3241,0,-9 +2714917,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714918,1100105,35,3,1,-9.0,6.0,1215,0,-9 +2714919,1100105,35,3,1,-9.0,6.0,53062,1,-9 +2714920,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714921,1100105,35,3,1,-9.0,4.0,2635,1,-9 +2714922,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714923,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714924,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714925,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714926,1100105,35,3,1,-9.0,6.0,10612,0,-9 +2714927,1100105,35,3,1,-9.0,4.0,4143,0,-9 +2714928,1100105,35,3,1,-9.0,6.0,1519,0,-9 +2714929,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2714930,1100105,35,3,1,-9.0,4.0,1035,1,-9 +2714931,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714932,1100105,35,3,1,-9.0,6.0,310,0,-9 +2714933,1100105,35,3,1,-9.0,6.0,214,1,-9 +2714934,1100105,35,3,1,-9.0,6.0,3212,1,-9 +2714935,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2714936,1100105,35,3,1,-9.0,4.0,17222,1,-9 +2714937,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714938,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714939,1100105,35,3,1,-9.0,6.0,1519,0,-9 +2714940,1100105,35,3,1,-9.0,6.0,2532,0,-9 +2714941,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2714942,1100105,35,3,1,-9.0,4.0,3212,0,-9 +2714943,1100105,35,3,1,-9.0,4.0,3163,0,-9 +2714944,1100105,35,3,1,-9.0,4.0,1035,0,-9 +2714945,1100105,35,3,1,-9.0,4.0,4052,0,-9 +2714946,1100105,35,3,1,-9.0,6.0,7802,1,-9 +2714947,1100105,35,3,1,-9.0,4.0,9219,0,-9 +2714948,1100105,35,3,1,-9.0,6.0,14183,1,-9 +2714949,1100105,35,3,1,-9.0,6.0,1035,1,-9 +2714950,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714951,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714952,1100105,35,3,1,-9.0,6.0,2141,1,-9 +2714953,1100105,35,3,1,-9.0,6.0,414,0,-9 +2714954,1100105,35,3,1,-9.0,6.0,7091,1,-9 +2714955,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714956,1100105,35,3,1,-9.0,4.0,21086,1,-9 +2714957,1100105,35,3,1,-9.0,6.0,787,0,-9 +2714958,1100105,35,3,1,-9.0,6.0,3212,1,-9 +2714959,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714960,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714961,1100105,35,3,1,-9.0,6.0,6102,1,-9 +2714962,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2714963,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2714964,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714965,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714966,1100105,35,3,1,-9.0,4.0,256,1,-9 +2714967,1100105,35,3,1,-9.0,4.0,5139,0,-9 +2714968,1100105,35,3,1,-9.0,4.0,148,0,-9 +2714969,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714970,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714971,1100105,35,3,1,-9.0,4.0,1061,0,-9 +2714972,1100105,35,3,1,-9.0,4.0,1897,0,-9 +2714973,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714974,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714975,1100105,35,3,1,-9.0,6.0,530,0,-9 +2714976,1100105,35,3,1,-9.0,4.0,2108,1,-9 +2714977,1100105,35,3,1,-9.0,4.0,0,0,-9 +2714978,1100105,35,3,1,-9.0,6.0,2026,0,-9 +2714979,1100105,35,3,1,-9.0,4.0,1054,1,-9 +2714980,1100105,35,3,1,-9.0,4.0,4143,0,-9 +2714981,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714982,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2714983,1100105,35,3,1,-9.0,4.0,10400,1,-9 +2714984,1100105,35,3,1,-9.0,6.0,10637,1,-9 +2714985,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714986,1100105,35,3,1,-9.0,4.0,880,0,-9 +2714987,1100105,35,3,1,-9.0,6.0,1968,0,-9 +2714988,1100105,35,3,1,-9.0,6.0,1167,1,-9 +2714989,1100105,35,3,1,-9.0,4.0,4868,1,-9 +2714990,1100105,35,3,1,-9.0,4.0,8961,1,-9 +2714991,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714992,1100105,35,3,1,-9.0,4.0,2589,0,-9 +2714993,1100105,35,3,1,-9.0,6.0,5075,1,-9 +2714994,1100105,35,3,1,-9.0,4.0,3545,0,-9 +2714995,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2714996,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2714997,1100105,35,3,1,-9.0,6.0,0,0,-9 +2714998,1100105,35,3,1,-9.0,4.0,1054,0,-9 +2714999,1100105,35,3,1,-9.0,4.0,3545,0,-9 +2715000,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715001,1100105,35,3,1,-9.0,6.0,1722,0,-9 +2715002,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715003,1100105,35,3,1,-9.0,4.0,495,1,-9 +2715004,1100105,35,3,1,-9.0,4.0,4558,0,-9 +2715005,1100105,35,3,1,-9.0,6.0,4282,0,-9 +2715006,1100105,35,3,1,-9.0,4.0,8489,1,-9 +2715007,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715008,1100105,35,3,1,-9.0,6.0,4282,0,-9 +2715009,1100105,35,3,1,-9.0,6.0,8779,0,-9 +2715010,1100105,35,3,1,-9.0,6.0,15399,1,-9 +2715011,1100105,35,3,1,-9.0,4.0,1897,0,-9 +2715012,1100105,35,3,1,-9.0,4.0,2144,1,-9 +2715013,1100105,35,3,1,-9.0,6.0,535,0,-9 +2715014,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715015,1100105,35,3,1,-9.0,4.0,15196,1,-9 +2715016,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715017,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2715018,1100105,35,3,1,-9.0,6.0,12098,1,-9 +2715019,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715020,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715021,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715022,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715023,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715024,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715025,1100105,35,3,1,-9.0,4.0,15196,0,-9 +2715026,1100105,35,3,1,-9.0,4.0,5489,0,-9 +2715027,1100105,35,3,1,-9.0,4.0,1897,0,-9 +2715028,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2715029,1100105,35,3,1,-9.0,6.0,787,0,-9 +2715030,1100105,35,3,1,-9.0,6.0,18235,1,-9 +2715031,1100105,35,3,1,-9.0,4.0,4082,1,-9 +2715032,1100105,35,3,1,-9.0,6.0,1391,0,-9 +2715033,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715034,1100105,35,3,1,-9.0,6.0,1054,0,-9 +2715035,1100105,35,3,1,-9.0,6.0,3039,1,-9 +2715036,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715037,1100105,35,3,1,-9.0,4.0,2589,0,-9 +2715038,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715039,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715040,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715041,1100105,35,3,1,-9.0,6.0,2440,0,-9 +2715042,1100105,35,3,1,-9.0,6.0,6078,0,-9 +2715043,1100105,35,3,1,-9.0,4.0,1061,0,-9 +2715044,1100105,35,3,1,-9.0,4.0,1591,0,-9 +2715045,1100105,35,3,1,-9.0,4.0,64,1,-9 +2715046,1100105,35,3,1,-9.0,4.0,8104,1,-9 +2715047,1100105,35,3,1,-9.0,6.0,828,0,-9 +2715048,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715049,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715050,1100105,35,3,1,-9.0,4.0,2676,0,-9 +2715051,1100105,35,3,1,-9.0,6.0,2141,1,-9 +2715052,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715053,1100105,35,3,1,-9.0,6.0,3747,0,-9 +2715054,1100105,35,3,1,-9.0,4.0,4143,0,-9 +2715055,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715056,1100105,35,3,1,-9.0,4.0,9219,0,-9 +2715057,1100105,35,3,1,-9.0,6.0,1391,0,-9 +2715058,1100105,35,3,1,-9.0,4.0,8489,1,-9 +2715059,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715060,1100105,35,3,1,-9.0,4.0,4217,0,-9 +2715061,1100105,35,3,1,-9.0,6.0,4744,1,-9 +2715062,1100105,35,3,1,-9.0,4.0,1054,0,-9 +2715063,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715064,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2715065,1100105,35,3,1,-9.0,6.0,530,0,-9 +2715066,1100105,35,3,1,-9.0,6.0,828,0,-9 +2715067,1100105,35,3,1,-9.0,4.0,1177,1,-9 +2715068,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715069,1100105,35,3,1,-9.0,6.0,3395,0,-9 +2715070,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715071,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2715072,1100105,35,3,1,-9.0,6.0,1054,0,-9 +2715073,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715074,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2715075,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715076,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715077,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715078,1100105,35,3,1,-9.0,6.0,6102,1,-9 +2715079,1100105,35,3,1,-9.0,4.0,12157,1,-9 +2715080,1100105,35,3,1,-9.0,6.0,1215,0,-9 +2715081,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2715082,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715083,1100105,35,3,1,-9.0,4.0,3163,1,-9 +2715084,1100105,35,3,1,-9.0,6.0,1823,1,-9 +2715085,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715086,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715087,1100105,35,3,1,-9.0,6.0,6078,0,-9 +2715088,1100105,35,3,1,-9.0,4.0,2635,0,-9 +2715089,1100105,35,3,1,-9.0,4.0,2144,1,-9 +2715090,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715091,1100105,35,3,1,-9.0,4.0,8489,1,-9 +2715092,1100105,35,3,1,-9.0,6.0,7354,1,-9 +2715093,1100105,35,3,1,-9.0,6.0,1070,1,-9 +2715094,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2715095,1100105,35,3,1,-9.0,6.0,856,1,-9 +2715096,1100105,35,3,1,-9.0,4.0,527,0,-9 +2715097,1100105,35,3,1,-9.0,6.0,1215,0,-9 +2715098,1100105,35,3,1,-9.0,6.0,1722,0,-9 +2715099,1100105,35,3,1,-9.0,6.0,2462,0,-9 +2715100,1100105,35,3,1,-9.0,6.0,51392,1,-9 +2715101,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2715102,1100105,35,3,1,-9.0,4.0,5353,0,-9 +2715103,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715104,1100105,35,3,1,-9.0,6.0,12848,1,-9 +2715105,1100105,35,3,1,-9.0,6.0,6424,1,-9 +2715106,1100105,35,3,1,-9.0,6.0,421,0,-9 +2715107,1100105,35,3,1,-9.0,4.0,50727,1,-9 +2715108,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715109,1100105,35,3,1,-9.0,4.0,12430,1,-9 +2715110,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715111,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2715112,1100105,35,3,1,-9.0,4.0,3373,0,-9 +2715113,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715114,1100105,35,3,1,-9.0,6.0,3107,0,-9 +2715115,1100105,35,3,1,-9.0,4.0,1657,1,-9 +2715116,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2715117,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715118,1100105,35,3,1,-9.0,6.0,25327,1,-9 +2715119,1100105,35,3,1,-9.0,6.0,5489,0,-9 +2715120,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2715121,1100105,35,3,1,-9.0,6.0,5489,0,-9 +2715122,1100105,35,3,1,-9.0,6.0,2900,1,-9 +2715123,1100105,35,3,1,-9.0,4.0,4082,1,-9 +2715124,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715125,1100105,35,3,1,-9.0,6.0,442,0,-9 +2715126,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2715127,1100105,35,3,1,-9.0,4.0,16869,1,-9 +2715128,1100105,35,3,1,-9.0,4.0,880,0,-9 +2715129,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2715130,1100105,35,3,1,-9.0,6.0,3039,0,-9 +2715131,1100105,35,3,1,-9.0,6.0,25696,0,-9 +2715132,1100105,35,3,1,-9.0,4.0,26103,1,-9 +2715133,1100105,35,3,1,-9.0,6.0,6078,0,-9 +2715134,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715135,1100105,35,3,1,-9.0,4.0,2676,1,-9 +2715136,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715137,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715138,1100105,35,3,1,-9.0,6.0,10130,1,-9 +2715139,1100105,35,3,1,-9.0,4.0,5836,1,-9 +2715140,1100105,35,3,1,-9.0,4.0,4082,1,-9 +2715141,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2715142,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2715143,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715144,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715145,1100105,35,3,1,-9.0,4.0,1054,1,-9 +2715146,1100105,35,3,1,-9.0,6.0,2532,0,-9 +2715147,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715148,1100105,35,3,1,-9.0,4.0,177291,0,-9 +2715149,1100105,35,3,1,-9.0,6.0,8458,1,-9 +2715150,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715151,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2715152,1100105,35,3,1,-9.0,4.0,3039,0,-9 +2715153,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715154,1100105,35,3,1,-9.0,4.0,9219,0,-9 +2715155,1100105,35,3,1,-9.0,4.0,4661,1,-9 +2715156,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2715157,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715158,1100105,35,3,1,-9.0,4.0,64,0,-9 +2715159,1100105,35,3,1,-9.0,6.0,1686,0,-9 +2715160,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2715161,1100105,35,3,1,-9.0,6.0,4244,1,-9 +2715162,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2715163,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715164,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715165,1100105,35,3,1,-9.0,4.0,1070,1,-9 +2715166,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715167,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2715168,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715169,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715170,1100105,35,3,1,-9.0,6.0,212,0,-9 +2715171,1100105,35,3,1,-9.0,6.0,1686,0,-9 +2715172,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715173,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2715174,1100105,35,3,1,-9.0,6.0,24839,0,-9 +2715175,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715176,1100105,35,3,1,-9.0,4.0,3107,1,-9 +2715177,1100105,35,3,1,-9.0,4.0,527,0,-9 +2715178,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715179,1100105,35,3,1,-9.0,4.0,517,0,-9 +2715180,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715181,1100105,35,3,1,-9.0,6.0,1054,1,-9 +2715182,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715183,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2715184,1100105,35,3,1,-9.0,6.0,14916,1,-9 +2715185,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715186,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715187,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715188,1100105,35,3,1,-9.0,4.0,22484,1,-9 +2715189,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715190,1100105,35,3,1,-9.0,6.0,10130,1,-9 +2715191,1100105,35,3,1,-9.0,4.0,2796,0,-9 +2715192,1100105,35,3,1,-9.0,4.0,1054,1,-9 +2715193,1100105,35,3,1,-9.0,4.0,8489,1,-9 +2715194,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715195,1100105,35,3,1,-9.0,4.0,759,0,-9 +2715196,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715197,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715198,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2715199,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715200,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715201,1100105,35,3,1,-9.0,4.0,7091,0,-9 +2715202,1100105,35,3,1,-9.0,4.0,15709,1,-9 +2715203,1100105,35,3,1,-9.0,4.0,29379,0,-9 +2715204,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715205,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715206,1100105,35,3,1,-9.0,6.0,14347,1,-9 +2715207,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715208,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2715209,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715210,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715211,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715212,1100105,35,3,1,-9.0,4.0,4143,0,-9 +2715213,1100105,35,3,1,-9.0,4.0,24625,1,-9 +2715214,1100105,35,3,1,-9.0,6.0,2900,1,-9 +2715215,1100105,35,3,1,-9.0,4.0,2144,1,-9 +2715216,1100105,35,3,1,-9.0,6.0,5065,0,-9 +2715217,1100105,35,3,1,-9.0,6.0,1346,0,-9 +2715218,1100105,35,3,1,-9.0,6.0,2900,1,-9 +2715219,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715220,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715221,1100105,35,3,1,-9.0,6.0,424,0,-9 +2715222,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715223,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715224,1100105,35,3,1,-9.0,6.0,12098,1,-9 +2715225,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715226,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2715227,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715228,1100105,35,3,1,-9.0,4.0,1054,0,-9 +2715229,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715230,1100105,35,3,1,-9.0,4.0,5139,0,-9 +2715231,1100105,35,3,1,-9.0,4.0,6990,1,-9 +2715232,1100105,35,3,1,-9.0,4.0,1713,1,-9 +2715233,1100105,35,3,1,-9.0,4.0,8489,1,-9 +2715234,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715235,1100105,35,3,1,-9.0,4.0,5836,1,-9 +2715236,1100105,35,3,1,-9.0,4.0,148,0,-9 +2715237,1100105,35,3,1,-9.0,6.0,9489,1,-9 +2715238,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715239,1100105,35,3,1,-9.0,4.0,527,0,-9 +2715240,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715241,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715242,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715243,1100105,35,3,1,-9.0,6.0,442,0,-9 +2715244,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715245,1100105,35,3,1,-9.0,6.0,856,1,-9 +2715246,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2715247,1100105,35,3,1,-9.0,4.0,4217,0,-9 +2715248,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715249,1100105,35,3,1,-9.0,6.0,8458,1,-9 +2715250,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715251,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2715252,1100105,35,3,1,-9.0,4.0,8489,1,-9 +2715253,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715254,1100105,35,3,1,-9.0,4.0,53533,1,-9 +2715255,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2715256,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715257,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715258,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715259,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715260,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715261,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715262,1100105,35,3,1,-9.0,6.0,2900,1,-9 +2715263,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715264,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715265,1100105,35,3,1,-9.0,4.0,2532,0,-9 +2715266,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715267,1100105,35,3,1,-9.0,6.0,6326,1,-9 +2715268,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715269,1100105,35,3,1,-9.0,4.0,24625,1,-9 +2715270,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2715271,1100105,35,3,1,-9.0,4.0,16869,1,-9 +2715272,1100105,35,3,1,-9.0,6.0,214,1,-9 +2715273,1100105,35,3,1,-9.0,4.0,5624,1,-9 +2715274,1100105,35,3,1,-9.0,6.0,2141,1,-9 +2715275,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715276,1100105,35,3,1,-9.0,6.0,25833,1,-9 +2715277,1100105,35,3,1,-9.0,4.0,21086,1,-9 +2715278,1100105,35,3,1,-9.0,4.0,3714,0,-9 +2715279,1100105,35,3,1,-9.0,4.0,642,0,-9 +2715280,1100105,35,3,1,-9.0,4.0,7598,1,-9 +2715281,1100105,35,3,1,-9.0,4.0,527,0,-9 +2715282,1100105,35,3,1,-9.0,4.0,6078,1,-9 +2715283,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715284,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2715285,1100105,35,3,1,-9.0,6.0,1581,0,-9 +2715286,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715287,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715288,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715289,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715290,1100105,35,3,1,-9.0,6.0,3212,0,-9 +2715291,1100105,35,3,1,-9.0,6.0,6215,0,-9 +2715292,1100105,35,3,1,-9.0,4.0,5489,0,-9 +2715293,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715294,1100105,35,3,1,-9.0,4.0,8961,1,-9 +2715295,1100105,35,3,1,-9.0,4.0,2890,0,-9 +2715296,1100105,35,3,1,-9.0,4.0,3183,0,-9 +2715297,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715298,1100105,35,3,1,-9.0,6.0,421,0,-9 +2715299,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715300,1100105,35,3,1,-9.0,6.0,8458,1,-9 +2715301,1100105,35,3,1,-9.0,6.0,769,0,-9 +2715302,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715303,1100105,35,3,1,-9.0,6.0,3212,1,-9 +2715304,1100105,35,3,1,-9.0,4.0,5836,1,-9 +2715305,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715306,1100105,35,3,1,-9.0,4.0,4244,1,-9 +2715307,1100105,35,3,1,-9.0,4.0,8434,0,-9 +2715308,1100105,35,3,1,-9.0,6.0,769,0,-9 +2715309,1100105,35,3,1,-9.0,6.0,1215,0,-9 +2715310,1100105,35,3,1,-9.0,6.0,4282,0,-9 +2715311,1100105,35,3,1,-9.0,4.0,10543,1,-9 +2715312,1100105,35,3,1,-9.0,6.0,3747,0,-9 +2715313,1100105,35,3,1,-9.0,4.0,4244,1,-9 +2715314,1100105,35,3,1,-9.0,6.0,5489,0,-9 +2715315,1100105,35,3,1,-9.0,6.0,6326,0,-9 +2715316,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715317,1100105,35,3,1,-9.0,6.0,5075,1,-9 +2715318,1100105,35,3,1,-9.0,6.0,1897,1,-9 +2715319,1100105,35,3,1,-9.0,6.0,1054,0,-9 +2715320,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715321,1100105,35,3,1,-9.0,4.0,1070,1,-9 +2715322,1100105,35,3,1,-9.0,4.0,1581,1,-9 +2715323,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715324,1100105,35,3,1,-9.0,4.0,880,0,-9 +2715325,1100105,35,3,1,-9.0,6.0,2462,0,-9 +2715326,1100105,35,3,1,-9.0,4.0,24625,1,-9 +2715327,1100105,35,3,1,-9.0,4.0,10637,1,-9 +2715328,1100105,35,3,1,-9.0,6.0,5075,1,-9 +2715329,1100105,35,3,1,-9.0,6.0,828,0,-9 +2715330,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2715331,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715332,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715333,1100105,35,3,1,-9.0,6.0,1273,0,-9 +2715334,1100105,35,3,1,-9.0,4.0,2108,1,-9 +2715335,1100105,35,3,1,-9.0,4.0,2635,1,-9 +2715336,1100105,35,3,1,-9.0,6.0,1061,0,-9 +2715337,1100105,35,3,1,-9.0,6.0,5306,1,-9 +2715338,1100105,35,3,1,-9.0,4.0,21841,1,-9 +2715339,1100105,35,3,1,-9.0,6.0,4818,1,-9 +2715340,1100105,35,3,1,-9.0,6.0,1391,0,-9 +2715341,1100105,35,3,1,-9.0,6.0,527,0,-9 +2715342,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715343,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715344,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715345,1100105,35,3,1,-9.0,4.0,2532,0,-9 +2715346,1100105,35,3,1,-9.0,6.0,3647,0,-9 +2715347,1100105,35,3,1,-9.0,6.0,828,0,-9 +2715348,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715349,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715350,1100105,35,3,1,-9.0,4.0,4282,1,-9 +2715351,1100105,35,3,1,-9.0,6.0,6424,1,-9 +2715352,1100105,35,3,1,-9.0,4.0,4661,1,-9 +2715353,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715354,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715355,1100105,35,3,1,-9.0,6.0,18235,1,-9 +2715356,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715357,1100105,35,3,1,-9.0,6.0,828,0,-9 +2715358,1100105,35,3,1,-9.0,6.0,7091,1,-9 +2715359,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715360,1100105,35,3,1,-9.0,4.0,7598,1,-9 +2715361,1100105,35,3,1,-9.0,4.0,527,0,-9 +2715362,1100105,35,3,1,-9.0,6.0,310,0,-9 +2715363,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715364,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715365,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715366,1100105,35,3,1,-9.0,4.0,1013,1,-9 +2715367,1100105,35,3,1,-9.0,4.0,527,0,-9 +2715368,1100105,35,3,1,-9.0,4.0,527,0,-9 +2715369,1100105,35,3,1,-9.0,6.0,2071,0,-9 +2715370,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715371,1100105,35,3,1,-9.0,4.0,4052,0,-9 +2715372,1100105,35,3,1,-9.0,6.0,7091,1,-9 +2715373,1100105,35,3,1,-9.0,6.0,2741,1,-9 +2715374,1100105,35,3,1,-9.0,6.0,25696,0,-9 +2715375,1100105,35,3,1,-9.0,6.0,4052,1,-9 +2715376,1100105,35,3,1,-9.0,6.0,25696,0,-9 +2715377,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2715378,1100105,35,3,1,-9.0,6.0,3107,0,-9 +2715379,1100105,35,3,1,-9.0,4.0,10438,1,-9 +2715380,1100105,35,3,1,-9.0,6.0,4818,1,-9 +2715381,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2715382,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715383,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715384,1100105,35,3,1,-9.0,6.0,10130,1,-9 +2715385,1100105,35,3,1,-9.0,4.0,2676,0,-9 +2715386,1100105,35,3,1,-9.0,4.0,955,0,-9 +2715387,1100105,35,3,1,-9.0,6.0,2071,0,-9 +2715388,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715389,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715390,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715391,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715392,1100105,35,3,1,-9.0,6.0,2026,0,-9 +2715393,1100105,35,3,1,-9.0,4.0,1581,1,-9 +2715394,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2715395,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715396,1100105,35,3,1,-9.0,6.0,535,0,-9 +2715397,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715398,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2715399,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715400,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715401,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715402,1100105,35,3,1,-9.0,4.0,4661,1,-9 +2715403,1100105,35,3,1,-9.0,6.0,856,0,-9 +2715404,1100105,35,3,1,-9.0,6.0,1243,0,-9 +2715405,1100105,35,3,1,-9.0,4.0,29379,0,-9 +2715406,1100105,35,3,1,-9.0,4.0,64,0,-9 +2715407,1100105,35,3,1,-9.0,6.0,6215,0,-9 +2715408,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715409,1100105,35,3,1,-9.0,6.0,7428,1,-9 +2715410,1100105,35,3,1,-9.0,6.0,414,0,-9 +2715411,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715412,1100105,35,3,1,-9.0,4.0,8434,0,-9 +2715413,1100105,35,3,1,-9.0,4.0,7598,1,-9 +2715414,1100105,35,3,1,-9.0,6.0,1581,1,-9 +2715415,1100105,35,3,1,-9.0,6.0,5075,1,-9 +2715416,1100105,35,3,1,-9.0,4.0,15196,0,-9 +2715417,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715418,1100105,35,3,1,-9.0,6.0,6424,1,-9 +2715419,1100105,35,3,1,-9.0,6.0,642,0,-9 +2715420,1100105,35,3,1,-9.0,6.0,3107,0,-9 +2715421,1100105,35,3,1,-9.0,6.0,8779,0,-9 +2715422,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715423,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715424,1100105,35,3,1,-9.0,4.0,1035,1,-9 +2715425,1100105,35,3,1,-9.0,6.0,4282,0,-9 +2715426,1100105,35,3,1,-9.0,6.0,8104,1,-9 +2715427,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715428,1100105,35,3,1,-9.0,6.0,17510,1,-9 +2715429,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715430,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715431,1100105,35,3,1,-9.0,4.0,15196,0,-9 +2715432,1100105,35,3,1,-9.0,4.0,4143,0,-9 +2715433,1100105,35,3,1,-9.0,4.0,4661,1,-9 +2715434,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715435,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2715436,1100105,35,3,1,-9.0,4.0,1284,0,-9 +2715437,1100105,35,3,1,-9.0,4.0,224,1,-9 +2715438,1100105,35,3,1,-9.0,6.0,1061,1,-9 +2715439,1100105,35,3,1,-9.0,6.0,1722,0,-9 +2715440,1100105,35,3,1,-9.0,4.0,4282,1,-9 +2715441,1100105,35,3,1,-9.0,6.0,1686,0,-9 +2715442,1100105,35,3,1,-9.0,4.0,3039,0,-9 +2715443,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2715444,1100105,35,3,1,-9.0,6.0,1968,0,-9 +2715445,1100105,35,3,1,-9.0,6.0,5065,0,-9 +2715446,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715447,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715448,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715449,1100105,35,3,1,-9.0,6.0,3373,0,-9 +2715450,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715451,1100105,35,3,1,-9.0,6.0,12848,1,-9 +2715452,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715453,1100105,35,3,1,-9.0,6.0,1167,1,-9 +2715454,1100105,35,3,1,-9.0,4.0,78021,0,-9 +2715455,1100105,35,3,1,-9.0,4.0,2144,1,-9 +2715456,1100105,35,3,1,-9.0,4.0,2228,1,-9 +2715457,1100105,35,3,1,-9.0,4.0,29379,0,-9 +2715458,1100105,35,3,1,-9.0,6.0,2440,0,-9 +2715459,1100105,35,3,1,-9.0,6.0,2532,0,-9 +2715460,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715461,1100105,35,3,1,-9.0,6.0,2431,0,-9 +2715462,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715463,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2715464,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715465,1100105,35,3,1,-9.0,4.0,8104,1,-9 +2715466,1100105,35,3,1,-9.0,4.0,3107,1,-9 +2715467,1100105,35,3,1,-9.0,6.0,13676,0,-9 +2715468,1100105,35,3,1,-9.0,6.0,1273,0,-9 +2715469,1100105,35,3,1,-9.0,4.0,5836,1,-9 +2715470,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715471,1100105,35,3,1,-9.0,4.0,8489,1,-9 +2715472,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715473,1100105,35,3,1,-9.0,6.0,535,0,-9 +2715474,1100105,35,3,1,-9.0,6.0,5518,1,-9 +2715475,1100105,35,3,1,-9.0,4.0,1284,0,-9 +2715476,1100105,35,3,1,-9.0,6.0,2108,0,-9 +2715477,1100105,35,3,1,-9.0,6.0,1265,0,-9 +2715478,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715479,1100105,35,3,1,-9.0,6.0,1346,0,-9 +2715480,1100105,35,3,1,-9.0,4.0,1591,0,-9 +2715481,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2715482,1100105,35,3,1,-9.0,4.0,3163,1,-9 +2715483,1100105,35,3,1,-9.0,6.0,1823,1,-9 +2715484,1100105,35,3,1,-9.0,6.0,5306,1,-9 +2715485,1100105,35,3,1,-9.0,6.0,10612,0,-9 +2715486,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715487,1100105,35,3,1,-9.0,6.0,2741,1,-9 +2715488,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2715489,1100105,35,3,1,-9.0,4.0,4868,1,-9 +2715490,1100105,35,3,1,-9.0,6.0,2653,1,-9 +2715491,1100105,35,3,1,-9.0,4.0,3104,0,-9 +2715492,1100105,35,3,1,-9.0,6.0,25833,1,-9 +2715493,1100105,35,3,1,-9.0,4.0,7598,1,-9 +2715494,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715495,1100105,35,3,1,-9.0,4.0,64,1,-9 +2715496,1100105,35,3,1,-9.0,6.0,4818,1,-9 +2715497,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2715498,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2715499,1100105,35,3,1,-9.0,6.0,3107,1,-9 +2715500,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2715501,1100105,35,3,1,-9.0,6.0,1968,0,-9 +2715502,1100105,35,3,1,-9.0,4.0,21086,1,-9 +2715503,1100105,35,3,1,-9.0,4.0,2635,0,-9 +2715504,1100105,35,3,1,-9.0,6.0,13676,0,-9 +2715505,1100105,35,3,1,-9.0,4.0,148,0,-9 +2715506,1100105,35,3,1,-9.0,6.0,3107,0,-9 +2715507,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2715508,1100105,35,3,1,-9.0,6.0,4972,1,-9 +2715509,1100105,35,3,1,-9.0,4.0,1159,1,-9 +2715510,1100105,35,3,1,-9.0,6.0,442,0,-9 +2715511,1100105,35,3,1,-9.0,6.0,3849,0,-9 +2715512,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715513,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715514,1100105,35,3,1,-9.0,4.0,1864,0,-9 +2715515,1100105,35,3,1,-9.0,4.0,1498,0,-9 +2715516,1100105,35,3,1,-9.0,4.0,5489,0,-9 +2715517,1100105,35,3,1,-9.0,6.0,828,0,-9 +2715518,1100105,35,3,1,-9.0,4.0,4244,1,-9 +2715519,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715520,1100105,35,3,1,-9.0,6.0,3183,1,-9 +2715521,1100105,35,3,1,-9.0,6.0,1061,0,-9 +2715522,1100105,35,3,1,-9.0,6.0,9489,1,-9 +2715523,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715524,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715525,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715526,1100105,35,3,1,-9.0,6.0,10612,0,-9 +2715527,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715528,1100105,35,3,1,-9.0,4.0,1581,1,-9 +2715529,1100105,35,3,1,-9.0,4.0,1061,0,-9 +2715530,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715531,1100105,35,3,1,-9.0,4.0,527,0,-9 +2715532,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715533,1100105,35,3,1,-9.0,6.0,212,0,-9 +2715534,1100105,35,3,1,-9.0,6.0,424,0,-9 +2715535,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715536,1100105,35,3,1,-9.0,6.0,8458,1,-9 +2715537,1100105,35,3,1,-9.0,6.0,4052,1,-9 +2715538,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715539,1100105,35,3,1,-9.0,6.0,2741,1,-9 +2715540,1100105,35,3,1,-9.0,4.0,5489,0,-9 +2715541,1100105,35,3,1,-9.0,6.0,14916,1,-9 +2715542,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715543,1100105,35,3,1,-9.0,6.0,4052,1,-9 +2715544,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715545,1100105,35,3,1,-9.0,4.0,4082,1,-9 +2715546,1100105,35,3,1,-9.0,6.0,15399,1,-9 +2715547,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715548,1100105,35,3,1,-9.0,6.0,3107,0,-9 +2715549,1100105,35,3,1,-9.0,4.0,2635,1,-9 +2715550,1100105,35,3,1,-9.0,6.0,3107,0,-9 +2715551,1100105,35,3,1,-9.0,6.0,1265,0,-9 +2715552,1100105,35,3,1,-9.0,6.0,2108,0,-9 +2715553,1100105,35,3,1,-9.0,6.0,2532,0,-9 +2715554,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715555,1100105,35,3,1,-9.0,6.0,5065,0,-9 +2715556,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715557,1100105,35,3,1,-9.0,4.0,10438,1,-9 +2715558,1100105,35,3,1,-9.0,6.0,2676,1,-9 +2715559,1100105,35,3,1,-9.0,6.0,527,0,-9 +2715560,1100105,35,3,1,-9.0,4.0,1035,1,-9 +2715561,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2715562,1100105,35,3,1,-9.0,6.0,15399,1,-9 +2715563,1100105,35,3,1,-9.0,6.0,15399,1,-9 +2715564,1100105,35,3,1,-9.0,6.0,1450,0,-9 +2715565,1100105,35,3,1,-9.0,4.0,7395,0,-9 +2715566,1100105,35,3,1,-9.0,6.0,1035,0,-9 +2715567,1100105,35,3,1,-9.0,6.0,1265,0,-9 +2715568,1100105,35,3,1,-9.0,6.0,2676,1,-9 +2715569,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715570,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715571,1100105,35,3,1,-9.0,6.0,769,0,-9 +2715572,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715573,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715574,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2715575,1100105,35,3,1,-9.0,4.0,11938,1,-9 +2715576,1100105,35,3,1,-9.0,4.0,4661,1,-9 +2715577,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715578,1100105,35,3,1,-9.0,6.0,3039,0,-9 +2715579,1100105,35,3,1,-9.0,4.0,2532,0,-9 +2715580,1100105,35,3,1,-9.0,6.0,10130,1,-9 +2715581,1100105,35,3,1,-9.0,6.0,8458,1,-9 +2715582,1100105,35,3,1,-9.0,4.0,3183,0,-9 +2715583,1100105,35,3,1,-9.0,6.0,14183,1,-9 +2715584,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715585,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715586,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715587,1100105,35,3,1,-9.0,6.0,7428,1,-9 +2715588,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715589,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2715590,1100105,35,3,1,-9.0,4.0,1820,0,-9 +2715591,1100105,35,3,1,-9.0,6.0,6215,0,-9 +2715592,1100105,35,3,1,-9.0,4.0,7902,0,-9 +2715593,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2715594,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715595,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2715596,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2715597,1100105,35,3,1,-9.0,6.0,421,0,-9 +2715598,1100105,35,3,1,-9.0,4.0,2796,0,-9 +2715599,1100105,35,3,1,-9.0,4.0,7598,1,-9 +2715600,1100105,35,3,1,-9.0,4.0,16869,1,-9 +2715601,1100105,35,3,1,-9.0,4.0,1864,0,-9 +2715602,1100105,35,3,1,-9.0,4.0,2676,0,-9 +2715603,1100105,35,3,1,-9.0,6.0,1054,0,-9 +2715604,1100105,35,3,1,-9.0,6.0,310,0,-9 +2715605,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715606,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715607,1100105,35,3,1,-9.0,4.0,1061,0,-9 +2715608,1100105,35,3,1,-9.0,6.0,2108,0,-9 +2715609,1100105,35,3,1,-9.0,6.0,4744,1,-9 +2715610,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715611,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2715612,1100105,35,3,1,-9.0,4.0,517,0,-9 +2715613,1100105,35,3,1,-9.0,4.0,3184,0,-9 +2715614,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715615,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715616,1100105,35,3,1,-9.0,4.0,6367,0,-9 +2715617,1100105,35,3,1,-9.0,4.0,54825,1,-9 +2715618,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715619,1100105,35,3,1,-9.0,6.0,414,0,-9 +2715620,1100105,35,3,1,-9.0,4.0,527,0,-9 +2715621,1100105,35,3,1,-9.0,4.0,2635,0,-9 +2715622,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2715623,1100105,35,3,1,-9.0,6.0,1035,1,-9 +2715624,1100105,35,3,1,-9.0,4.0,1284,0,-9 +2715625,1100105,35,3,1,-9.0,4.0,7091,0,-9 +2715626,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715627,1100105,35,3,1,-9.0,6.0,4818,1,-9 +2715628,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715629,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715630,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715631,1100105,35,3,1,-9.0,6.0,848,1,-9 +2715632,1100105,35,3,1,-9.0,4.0,4558,0,-9 +2715633,1100105,35,3,1,-9.0,6.0,4282,0,-9 +2715634,1100105,35,3,1,-9.0,4.0,10358,1,-9 +2715635,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715636,1100105,35,3,1,-9.0,4.0,148,0,-9 +2715637,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715638,1100105,35,3,1,-9.0,4.0,1897,0,-9 +2715639,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715640,1100105,35,3,1,-9.0,4.0,2589,0,-9 +2715641,1100105,35,3,1,-9.0,6.0,856,1,-9 +2715642,1100105,35,3,1,-9.0,4.0,1054,0,-9 +2715643,1100105,35,3,1,-9.0,4.0,495,1,-9 +2715644,1100105,35,3,1,-9.0,6.0,1686,0,-9 +2715645,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2715646,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2715647,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715648,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2715649,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2715650,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2715651,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715652,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715653,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715654,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715655,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715656,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715657,1100105,35,3,1,-9.0,6.0,12098,1,-9 +2715658,1100105,35,3,1,-9.0,4.0,517,0,-9 +2715659,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715660,1100105,35,3,1,-9.0,6.0,2676,1,-9 +2715661,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2715662,1100105,35,3,1,-9.0,6.0,2676,0,-9 +2715663,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2715664,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715665,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715666,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715667,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715668,1100105,35,3,1,-9.0,4.0,495,1,-9 +2715669,1100105,35,3,1,-9.0,6.0,1159,0,-9 +2715670,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715671,1100105,35,3,1,-9.0,4.0,7902,0,-9 +2715672,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715673,1100105,35,3,1,-9.0,6.0,10612,0,-9 +2715674,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715675,1100105,35,3,1,-9.0,4.0,3849,0,-9 +2715676,1100105,35,3,1,-9.0,4.0,2635,1,-9 +2715677,1100105,35,3,1,-9.0,6.0,1167,1,-9 +2715678,1100105,35,3,1,-9.0,6.0,1061,0,-9 +2715679,1100105,35,3,1,-9.0,6.0,1968,0,-9 +2715680,1100105,35,3,1,-9.0,6.0,1054,0,-9 +2715681,1100105,35,3,1,-9.0,4.0,1061,0,-9 +2715682,1100105,35,3,1,-9.0,6.0,1215,0,-9 +2715683,1100105,35,3,1,-9.0,6.0,2735,1,-9 +2715684,1100105,35,3,1,-9.0,6.0,5518,1,-9 +2715685,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715686,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2715687,1100105,35,3,1,-9.0,4.0,517,0,-9 +2715688,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715689,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715690,1100105,35,3,1,-9.0,4.0,2635,1,-9 +2715691,1100105,35,3,1,-9.0,6.0,4282,1,-9 +2715692,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715693,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2715694,1100105,35,3,1,-9.0,6.0,15399,1,-9 +2715695,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715696,1100105,35,3,1,-9.0,6.0,3395,0,-9 +2715697,1100105,35,3,1,-9.0,6.0,14916,1,-9 +2715698,1100105,35,3,1,-9.0,4.0,2122,1,-9 +2715699,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715700,1100105,35,3,1,-9.0,4.0,24625,1,-9 +2715701,1100105,35,3,1,-9.0,4.0,2144,1,-9 +2715702,1100105,35,3,1,-9.0,4.0,2108,1,-9 +2715703,1100105,35,3,1,-9.0,4.0,880,0,-9 +2715704,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715705,1100105,35,3,1,-9.0,6.0,5489,0,-9 +2715706,1100105,35,3,1,-9.0,4.0,3373,0,-9 +2715707,1100105,35,3,1,-9.0,6.0,3212,1,-9 +2715708,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715709,1100105,35,3,1,-9.0,6.0,1722,0,-9 +2715710,1100105,35,3,1,-9.0,4.0,8104,0,-9 +2715711,1100105,35,3,1,-9.0,6.0,4052,1,-9 +2715712,1100105,35,3,1,-9.0,6.0,2034,0,-9 +2715713,1100105,35,3,1,-9.0,4.0,8489,1,-9 +2715714,1100105,35,3,1,-9.0,6.0,1167,1,-9 +2715715,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715716,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715717,1100105,35,3,1,-9.0,6.0,9489,1,-9 +2715718,1100105,35,3,1,-9.0,6.0,1054,0,-9 +2715719,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715720,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715721,1100105,35,3,1,-9.0,4.0,3184,0,-9 +2715722,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715723,1100105,35,3,1,-9.0,4.0,189,0,-9 +2715724,1100105,35,3,1,-9.0,6.0,414,0,-9 +2715725,1100105,35,3,1,-9.0,6.0,18235,1,-9 +2715726,1100105,35,3,1,-9.0,6.0,1792,0,-9 +2715727,1100105,35,3,1,-9.0,6.0,6102,1,-9 +2715728,1100105,35,3,1,-9.0,6.0,1070,0,-9 +2715729,1100105,35,3,1,-9.0,4.0,148,0,-9 +2715730,1100105,35,3,1,-9.0,4.0,3212,0,-9 +2715731,1100105,35,3,1,-9.0,4.0,26103,1,-9 +2715732,1100105,35,3,1,-9.0,4.0,1061,0,-9 +2715733,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715734,1100105,35,3,1,-9.0,6.0,1177,0,-9 +2715735,1100105,35,3,1,-9.0,4.0,12222,0,-9 +2715736,1100105,35,3,1,-9.0,6.0,14183,1,-9 +2715737,1100105,35,3,1,-9.0,6.0,1167,1,-9 +2715738,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715739,1100105,35,3,1,-9.0,6.0,8458,1,-9 +2715740,1100105,35,3,1,-9.0,4.0,3714,0,-9 +2715741,1100105,35,3,1,-9.0,4.0,2108,1,-9 +2715742,1100105,35,3,1,-9.0,4.0,2796,0,-9 +2715743,1100105,35,3,1,-9.0,4.0,379,0,-9 +2715744,1100105,35,3,1,-9.0,6.0,1657,1,-9 +2715745,1100105,35,3,1,-9.0,6.0,8779,0,-9 +2715746,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715747,1100105,35,3,1,-9.0,4.0,4868,1,-9 +2715748,1100105,35,3,1,-9.0,4.0,20716,0,-9 +2715749,1100105,35,3,1,-9.0,6.0,442,0,-9 +2715750,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715751,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2715752,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715753,1100105,35,3,1,-9.0,6.0,4775,1,-9 +2715754,1100105,35,3,1,-9.0,4.0,5075,0,-9 +2715755,1100105,35,3,1,-9.0,6.0,2141,0,-9 +2715756,1100105,35,3,1,-9.0,6.0,535,0,-9 +2715757,1100105,35,3,1,-9.0,6.0,3183,1,-9 +2715758,1100105,35,3,1,-9.0,6.0,1686,0,-9 +2715759,1100105,35,3,1,-9.0,6.0,1273,0,-9 +2715760,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715761,1100105,35,3,1,-9.0,6.0,3747,0,-9 +2715762,1100105,35,3,1,-9.0,4.0,1864,0,-9 +2715763,1100105,35,3,1,-9.0,6.0,8458,1,-9 +2715764,1100105,35,3,1,-9.0,4.0,7598,1,-9 +2715765,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715766,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715767,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715768,1100105,35,3,1,-9.0,4.0,2653,1,-9 +2715769,1100105,35,3,1,-9.0,4.0,2071,1,-9 +2715770,1100105,35,3,1,-9.0,6.0,1346,0,-9 +2715771,1100105,35,3,1,-9.0,6.0,1897,1,-9 +2715772,1100105,35,3,1,-9.0,4.0,1054,1,-9 +2715773,1100105,35,3,1,-9.0,6.0,6078,0,-9 +2715774,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715775,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715776,1100105,35,3,1,-9.0,4.0,4661,1,-9 +2715777,1100105,35,3,1,-9.0,6.0,1823,1,-9 +2715778,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715779,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2715780,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2715781,1100105,35,3,1,-9.0,6.0,1686,0,-9 +2715782,1100105,35,3,1,-9.0,4.0,7380,0,-9 +2715783,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2715784,1100105,35,3,1,-9.0,6.0,1823,0,-9 +2715785,1100105,35,3,1,-9.0,6.0,210,0,-9 +2715786,1100105,35,3,1,-9.0,6.0,15399,1,-9 +2715787,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715788,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715789,1100105,35,3,1,-9.0,6.0,214,1,-9 +2715790,1100105,35,3,1,-9.0,6.0,15918,1,-9 +2715791,1100105,35,3,1,-9.0,4.0,2676,0,-9 +2715792,1100105,35,3,1,-9.0,6.0,1450,0,-9 +2715793,1100105,35,3,1,-9.0,6.0,7802,1,-9 +2715794,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715795,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715796,1100105,35,3,1,-9.0,6.0,421,0,-9 +2715797,1100105,35,3,1,-9.0,6.0,3212,1,-9 +2715798,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715799,1100105,35,3,1,-9.0,4.0,2122,0,-9 +2715800,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715801,1100105,35,3,1,-9.0,4.0,148,0,-9 +2715802,1100105,35,3,1,-9.0,4.0,2532,0,-9 +2715803,1100105,35,3,1,-9.0,4.0,709,0,-9 +2715804,1100105,35,3,1,-9.0,6.0,4244,1,-9 +2715805,1100105,35,3,1,-9.0,4.0,177291,0,-9 +2715806,1100105,35,3,1,-9.0,6.0,8434,0,-9 +2715807,1100105,35,3,1,-9.0,4.0,880,0,-9 +2715808,1100105,35,3,1,-9.0,4.0,759,0,-9 +2715809,1100105,35,3,1,-9.0,6.0,4972,1,-9 +2715810,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715811,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715812,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715813,1100105,35,3,1,-9.0,6.0,856,1,-9 +2715814,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2715815,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715816,1100105,35,3,1,-9.0,6.0,414,0,-9 +2715817,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715818,1100105,35,3,1,-9.0,6.0,2071,1,-9 +2715819,1100105,35,3,1,-9.0,6.0,421,0,-9 +2715820,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715821,1100105,35,3,1,-9.0,6.0,2214,1,-9 +2715822,1100105,35,3,1,-9.0,4.0,2676,0,-9 +2715823,1100105,35,3,1,-9.0,6.0,2026,0,-9 +2715824,1100105,35,3,1,-9.0,6.0,1061,0,-9 +2715825,1100105,35,3,1,-9.0,4.0,10543,1,-9 +2715826,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2715827,1100105,35,3,1,-9.0,6.0,1013,0,-9 +2715828,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715829,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715830,1100105,35,3,1,-9.0,6.0,3140,1,-9 +2715831,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715832,1100105,35,3,1,-9.0,4.0,177291,0,-9 +2715833,1100105,35,3,1,-9.0,4.0,1713,1,-9 +2715834,1100105,35,3,1,-9.0,4.0,517,0,-9 +2715835,1100105,35,3,1,-9.0,4.0,2071,1,-9 +2715836,1100105,35,3,1,-9.0,6.0,1061,0,-9 +2715837,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715838,1100105,35,3,1,-9.0,4.0,2141,0,-9 +2715839,1100105,35,3,1,-9.0,4.0,4661,1,-9 +2715840,1100105,35,3,1,-9.0,4.0,4082,1,-9 +2715841,1100105,35,3,1,-9.0,6.0,2440,0,-9 +2715842,1100105,35,3,1,-9.0,6.0,997,0,-9 +2715843,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715844,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2715845,1100105,35,3,1,-9.0,4.0,5836,1,-9 +2715846,1100105,35,3,1,-9.0,4.0,1054,0,-9 +2715847,1100105,35,3,1,-9.0,6.0,1215,0,-9 +2715848,1100105,35,3,1,-9.0,6.0,414,0,-9 +2715849,1100105,35,3,1,-9.0,4.0,4558,0,-9 +2715850,1100105,35,3,1,-9.0,6.0,10130,1,-9 +2715851,1100105,35,3,1,-9.0,6.0,8779,0,-9 +2715852,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715853,1100105,35,3,1,-9.0,4.0,5836,1,-9 +2715854,1100105,35,3,1,-9.0,4.0,177291,0,-9 +2715855,1100105,35,3,1,-9.0,6.0,4052,0,-9 +2715856,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715857,1100105,35,3,1,-9.0,6.0,2676,1,-9 +2715858,1100105,35,3,1,-9.0,6.0,856,0,-9 +2715859,1100105,35,3,1,-9.0,6.0,0,0,-9 +2715860,1100105,35,3,1,-9.0,4.0,2071,0,-9 +2715861,1100105,35,3,1,-9.0,4.0,15196,1,-9 +2715862,1100105,35,3,1,-9.0,6.0,2122,1,-9 +2715863,1100105,35,3,1,-9.0,6.0,151,0,-9 +2715864,1100105,35,3,1,-9.0,6.0,214,1,-9 +2715865,1100105,35,3,1,-9.0,4.0,0,0,-9 +2715866,1100105,57,3,1,-9.0,4.0,530,1,-9 +2715867,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715868,1100105,57,3,1,-9.0,4.0,632,0,-9 +2715869,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715870,1100105,57,3,1,-9.0,4.0,10358,0,-9 +2715871,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715872,1100105,57,3,1,-9.0,4.0,12230,0,-9 +2715873,1100105,57,3,1,-9.0,4.0,258,0,-9 +2715874,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715875,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715876,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715877,1100105,57,3,1,-9.0,4.0,10706,1,-9 +2715878,1100105,57,3,1,-9.0,6.0,9115,0,-9 +2715879,1100105,57,3,1,-9.0,6.0,4967,0,-9 +2715880,1100105,57,3,1,-9.0,4.0,16817,0,-9 +2715881,1100105,57,3,1,-9.0,6.0,15631,0,-9 +2715882,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2715883,1100105,57,3,1,-9.0,4.0,6473,1,-9 +2715884,1100105,57,3,1,-9.0,4.0,29521,0,-9 +2715885,1100105,57,3,1,-9.0,4.0,10358,0,-9 +2715886,1100105,57,3,1,-9.0,6.0,1927,0,-9 +2715887,1100105,57,3,1,-9.0,4.0,16817,0,-9 +2715888,1100105,57,3,1,-9.0,4.0,10358,0,-9 +2715889,1100105,57,3,1,-9.0,4.0,8886,0,-9 +2715890,1100105,57,3,1,-9.0,4.0,318,0,-9 +2715891,1100105,57,3,1,-9.0,4.0,16817,0,-9 +2715892,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715893,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715894,1100105,57,3,1,-9.0,4.0,5572,1,-9 +2715895,1100105,57,3,1,-9.0,4.0,16661,0,-9 +2715896,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715897,1100105,57,3,1,-9.0,4.0,632,0,-9 +2715898,1100105,57,3,1,-9.0,4.0,632,0,-9 +2715899,1100105,57,3,1,-9.0,4.0,33739,1,-9 +2715900,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715901,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715902,1100105,57,3,1,-9.0,4.0,16817,0,-9 +2715903,1100105,57,3,1,-9.0,6.0,25267,0,-9 +2715904,1100105,57,3,1,-9.0,4.0,9100,0,-9 +2715905,1100105,57,3,1,-9.0,4.0,12230,0,-9 +2715906,1100105,57,3,1,-9.0,4.0,15203,0,-9 +2715907,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2715908,1100105,57,3,1,-9.0,4.0,8886,0,-9 +2715909,1100105,57,3,1,-9.0,4.0,6367,1,-9 +2715910,1100105,57,3,1,-9.0,4.0,33739,1,-9 +2715911,1100105,57,3,1,-9.0,6.0,12430,1,-9 +2715912,1100105,57,3,1,-9.0,4.0,15203,0,-9 +2715913,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715914,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715915,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715916,1100105,57,3,1,-9.0,6.0,5697,0,-9 +2715917,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715918,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715919,1100105,57,3,1,-9.0,6.0,17987,0,-9 +2715920,1100105,57,3,1,-9.0,6.0,12430,1,-9 +2715921,1100105,57,3,1,-9.0,6.0,8030,0,-9 +2715922,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715923,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715924,1100105,57,3,1,-9.0,4.0,8030,1,-9 +2715925,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715926,1100105,57,3,1,-9.0,4.0,8065,0,-9 +2715927,1100105,57,3,1,-9.0,4.0,15918,0,-9 +2715928,1100105,57,3,1,-9.0,4.0,16661,0,-9 +2715929,1100105,57,3,1,-9.0,6.0,19059,0,-9 +2715930,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715931,1100105,57,3,1,-9.0,4.0,258,0,-9 +2715932,1100105,57,3,1,-9.0,6.0,15631,0,-9 +2715933,1100105,57,3,1,-9.0,4.0,10358,0,-9 +2715934,1100105,57,3,1,-9.0,4.0,6473,1,-9 +2715935,1100105,57,3,1,-9.0,4.0,16661,0,-9 +2715936,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715937,1100105,57,3,1,-9.0,4.0,10358,0,-9 +2715938,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715939,1100105,57,3,1,-9.0,4.0,530,1,-9 +2715940,1100105,57,3,1,-9.0,4.0,12947,0,-9 +2715941,1100105,57,3,1,-9.0,4.0,10706,1,-9 +2715942,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715943,1100105,57,3,1,-9.0,4.0,535,0,-9 +2715944,1100105,57,3,1,-9.0,4.0,16817,0,-9 +2715945,1100105,57,3,1,-9.0,4.0,10358,0,-9 +2715946,1100105,57,3,1,-9.0,4.0,12157,1,-9 +2715947,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2715948,1100105,57,3,1,-9.0,4.0,258,0,-9 +2715949,1100105,57,3,1,-9.0,6.0,-1114,0,-9 +2715950,1100105,57,3,1,-9.0,4.0,6473,1,-9 +2715951,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715952,1100105,57,3,1,-9.0,4.0,15918,0,-9 +2715953,1100105,57,3,1,-9.0,4.0,29521,0,-9 +2715954,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2715955,1100105,57,3,1,-9.0,4.0,15918,0,-9 +2715956,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715957,1100105,57,3,1,-9.0,6.0,4557,0,-9 +2715958,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715959,1100105,57,3,1,-9.0,4.0,9117,0,-9 +2715960,1100105,57,3,1,-9.0,4.0,9117,0,-9 +2715961,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715962,1100105,57,3,1,-9.0,6.0,10813,0,-9 +2715963,1100105,57,3,1,-9.0,4.0,5572,1,-9 +2715964,1100105,57,3,1,-9.0,6.0,9115,0,-9 +2715965,1100105,57,3,1,-9.0,4.0,10358,0,-9 +2715966,1100105,57,3,1,-9.0,4.0,8808,0,-9 +2715967,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715968,1100105,57,3,1,-9.0,4.0,29521,0,-9 +2715969,1100105,57,3,1,-9.0,4.0,12230,0,-9 +2715970,1100105,57,3,1,-9.0,4.0,15918,0,-9 +2715971,1100105,57,3,1,-9.0,4.0,12430,0,-9 +2715972,1100105,57,3,1,-9.0,6.0,2071,0,-9 +2715973,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2715974,1100105,57,3,1,-9.0,4.0,6473,1,-9 +2715975,1100105,57,3,1,-9.0,6.0,12430,1,-9 +2715976,1100105,57,3,1,-9.0,4.0,16817,0,-9 +2715977,1100105,57,3,1,-9.0,4.0,16817,0,-9 +2715978,1100105,57,3,1,-9.0,6.0,11563,0,-9 +2715979,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715980,1100105,57,3,1,-9.0,4.0,12430,0,-9 +2715981,1100105,57,3,1,-9.0,4.0,5674,1,-9 +2715982,1100105,57,3,1,-9.0,6.0,4557,0,-9 +2715983,1100105,57,3,1,-9.0,4.0,258,0,-9 +2715984,1100105,57,3,1,-9.0,4.0,20021,1,-9 +2715985,1100105,57,3,1,-9.0,6.0,0,0,-9 +2715986,1100105,57,3,1,-9.0,6.0,1927,0,-9 +2715987,1100105,57,3,1,-9.0,4.0,8030,1,-9 +2715988,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715989,1100105,57,3,1,-9.0,4.0,318,0,-9 +2715990,1100105,57,3,1,-9.0,4.0,5572,1,-9 +2715991,1100105,57,3,1,-9.0,4.0,16661,0,-9 +2715992,1100105,57,3,1,-9.0,4.0,12230,0,-9 +2715993,1100105,57,3,1,-9.0,4.0,20021,1,-9 +2715994,1100105,57,3,1,-9.0,6.0,2071,0,-9 +2715995,1100105,57,3,1,-9.0,4.0,0,0,-9 +2715996,1100105,57,3,1,-9.0,4.0,5179,1,-9 +2715997,1100105,57,3,1,-9.0,4.0,5572,1,-9 +2715998,1100105,57,3,1,-9.0,6.0,17987,0,-9 +2715999,1100105,57,3,1,-9.0,4.0,530,1,-9 +2716000,1100105,57,3,1,-9.0,4.0,6367,1,-9 +2716001,1100105,57,3,1,-9.0,4.0,16661,0,-9 +2716002,1100105,57,3,1,-9.0,4.0,8030,1,-9 +2716003,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2716004,1100105,57,3,1,-9.0,6.0,15631,0,-9 +2716005,1100105,57,3,1,-9.0,4.0,632,0,-9 +2716006,1100105,57,3,1,-9.0,6.0,9115,0,-9 +2716007,1100105,57,3,1,-9.0,4.0,632,0,-9 +2716008,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716009,1100105,57,3,1,-9.0,4.0,6473,1,-9 +2716010,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716011,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716012,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716013,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2716014,1100105,57,3,1,-9.0,4.0,258,0,-9 +2716015,1100105,57,3,1,-9.0,4.0,6215,1,-9 +2716016,1100105,57,3,1,-9.0,4.0,8886,0,-9 +2716017,1100105,57,3,1,-9.0,6.0,18571,0,-9 +2716018,1100105,57,3,1,-9.0,4.0,5674,1,-9 +2716019,1100105,57,3,1,-9.0,6.0,18571,0,-9 +2716020,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716021,1100105,57,3,1,-9.0,6.0,8489,1,-9 +2716022,1100105,57,3,1,-9.0,4.0,6473,1,-9 +2716023,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716024,1100105,57,3,1,-9.0,4.0,632,0,-9 +2716025,1100105,57,3,1,-9.0,4.0,12230,0,-9 +2716026,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716027,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716028,1100105,57,3,1,-9.0,4.0,10358,0,-9 +2716029,1100105,57,3,1,-9.0,4.0,16661,0,-9 +2716030,1100105,57,3,1,-9.0,4.0,8030,1,-9 +2716031,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716032,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716033,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716034,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716035,1100105,57,3,1,-9.0,4.0,12230,0,-9 +2716036,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716037,1100105,57,3,1,-9.0,4.0,9100,0,-9 +2716038,1100105,57,3,1,-9.0,4.0,530,1,-9 +2716039,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716040,1100105,57,3,1,-9.0,4.0,5572,1,-9 +2716041,1100105,57,3,1,-9.0,4.0,12947,0,-9 +2716042,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716043,1100105,57,3,1,-9.0,4.0,12230,0,-9 +2716044,1100105,57,3,1,-9.0,4.0,12157,1,-9 +2716045,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716046,1100105,57,3,1,-9.0,4.0,15918,0,-9 +2716047,1100105,57,3,1,-9.0,4.0,20021,1,-9 +2716048,1100105,57,3,1,-9.0,4.0,8030,1,-9 +2716049,1100105,57,3,1,-9.0,6.0,25267,0,-9 +2716050,1100105,57,3,1,-9.0,4.0,12230,0,-9 +2716051,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2716052,1100105,57,3,1,-9.0,6.0,15631,0,-9 +2716053,1100105,57,3,1,-9.0,6.0,34261,1,-9 +2716054,1100105,57,3,1,-9.0,4.0,10358,0,-9 +2716055,1100105,57,3,1,-9.0,4.0,20021,1,-9 +2716056,1100105,57,3,1,-9.0,4.0,9100,0,-9 +2716057,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716058,1100105,57,3,1,-9.0,4.0,20021,1,-9 +2716059,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716060,1100105,57,3,1,-9.0,6.0,5697,0,-9 +2716061,1100105,57,3,1,-9.0,4.0,6473,1,-9 +2716062,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716063,1100105,57,3,1,-9.0,6.0,9850,1,-9 +2716064,1100105,57,3,1,-9.0,4.0,8065,0,-9 +2716065,1100105,57,3,1,-9.0,4.0,29521,0,-9 +2716066,1100105,57,3,1,-9.0,4.0,20021,1,-9 +2716067,1100105,57,3,1,-9.0,4.0,24839,1,-9 +2716068,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716069,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2716070,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716071,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716072,1100105,57,3,1,-9.0,6.0,9115,0,-9 +2716073,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716074,1100105,57,3,1,-9.0,4.0,12230,0,-9 +2716075,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716076,1100105,57,3,1,-9.0,4.0,12947,0,-9 +2716077,1100105,57,3,1,-9.0,4.0,16661,0,-9 +2716078,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716079,1100105,57,3,1,-9.0,6.0,15631,0,-9 +2716080,1100105,57,3,1,-9.0,4.0,632,0,-9 +2716081,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716082,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716083,1100105,57,3,1,-9.0,4.0,10358,0,-9 +2716084,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716085,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716086,1100105,57,3,1,-9.0,4.0,24839,1,-9 +2716087,1100105,57,3,1,-9.0,4.0,6367,1,-9 +2716088,1100105,57,3,1,-9.0,6.0,34261,1,-9 +2716089,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716090,1100105,57,3,1,-9.0,4.0,8030,1,-9 +2716091,1100105,57,3,1,-9.0,6.0,15631,0,-9 +2716092,1100105,57,3,1,-9.0,4.0,12230,0,-9 +2716093,1100105,57,3,1,-9.0,6.0,4967,0,-9 +2716094,1100105,57,3,1,-9.0,4.0,10930,0,-9 +2716095,1100105,57,3,1,-9.0,4.0,9117,0,-9 +2716096,1100105,57,3,1,-9.0,4.0,8886,0,-9 +2716097,1100105,57,3,1,-9.0,4.0,10706,1,-9 +2716098,1100105,57,3,1,-9.0,4.0,9100,0,-9 +2716099,1100105,57,3,1,-9.0,4.0,9100,0,-9 +2716100,1100105,57,3,1,-9.0,4.0,16661,0,-9 +2716101,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716102,1100105,57,3,1,-9.0,4.0,632,0,-9 +2716103,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716104,1100105,57,3,1,-9.0,6.0,17987,0,-9 +2716105,1100105,57,3,1,-9.0,4.0,6473,1,-9 +2716106,1100105,57,3,1,-9.0,6.0,5697,0,-9 +2716107,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716108,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716109,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716110,1100105,57,3,1,-9.0,4.0,9529,1,-9 +2716111,1100105,57,3,1,-9.0,4.0,27656,1,-9 +2716112,1100105,57,3,1,-9.0,6.0,15631,0,-9 +2716113,1100105,57,3,1,-9.0,4.0,5572,1,-9 +2716114,1100105,57,3,1,-9.0,4.0,16817,0,-9 +2716115,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716116,1100105,57,3,1,-9.0,6.0,17987,0,-9 +2716117,1100105,57,3,1,-9.0,4.0,258,0,-9 +2716118,1100105,57,3,1,-9.0,4.0,15203,0,-9 +2716119,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716120,1100105,57,3,1,-9.0,6.0,2071,0,-9 +2716121,1100105,57,3,1,-9.0,4.0,12947,0,-9 +2716122,1100105,57,3,1,-9.0,4.0,8565,1,-9 +2716123,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716124,1100105,57,3,1,-9.0,4.0,632,0,-9 +2716125,1100105,57,3,1,-9.0,4.0,9117,0,-9 +2716126,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716127,1100105,57,3,1,-9.0,4.0,258,0,-9 +2716128,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716129,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716130,1100105,57,3,1,-9.0,4.0,10358,0,-9 +2716131,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716132,1100105,57,3,1,-9.0,6.0,1061,0,-9 +2716133,1100105,57,3,1,-9.0,4.0,4217,0,-9 +2716134,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716135,1100105,57,3,1,-9.0,4.0,2796,0,-9 +2716136,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716137,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716138,1100105,57,3,1,-9.0,4.0,1054,0,-9 +2716139,1100105,57,3,1,-9.0,4.0,4244,1,-9 +2716140,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716141,1100105,57,3,1,-9.0,6.0,4818,1,-9 +2716142,1100105,57,3,1,-9.0,6.0,5075,1,-9 +2716143,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716144,1100105,57,3,1,-9.0,6.0,530,0,-9 +2716145,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2716146,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716147,1100105,57,3,1,-9.0,4.0,4282,1,-9 +2716148,1100105,57,3,1,-9.0,4.0,379,0,-9 +2716149,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716150,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716151,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716152,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716153,1100105,57,3,1,-9.0,4.0,2532,0,-9 +2716154,1100105,57,3,1,-9.0,6.0,1035,1,-9 +2716155,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716156,1100105,57,3,1,-9.0,4.0,3373,0,-9 +2716157,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716158,1100105,57,3,1,-9.0,6.0,2034,0,-9 +2716159,1100105,57,3,1,-9.0,6.0,7091,1,-9 +2716160,1100105,57,3,1,-9.0,6.0,7250,1,-9 +2716161,1100105,57,3,1,-9.0,4.0,1284,0,-9 +2716162,1100105,57,3,1,-9.0,6.0,2462,0,-9 +2716163,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716164,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716165,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716166,1100105,57,3,1,-9.0,4.0,632,0,-9 +2716167,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2716168,1100105,57,3,1,-9.0,4.0,803,1,-9 +2716169,1100105,57,3,1,-9.0,6.0,137,0,-9 +2716170,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716171,1100105,57,3,1,-9.0,4.0,6424,1,-9 +2716172,1100105,57,3,1,-9.0,4.0,8489,1,-9 +2716173,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716174,1100105,57,3,1,-9.0,4.0,10543,1,-9 +2716175,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2716176,1100105,57,3,1,-9.0,6.0,2900,1,-9 +2716177,1100105,57,3,1,-9.0,4.0,6531,1,-9 +2716178,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716179,1100105,57,3,1,-9.0,6.0,1243,0,-9 +2716180,1100105,57,3,1,-9.0,4.0,2890,0,-9 +2716181,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716182,1100105,57,3,1,-9.0,4.0,1054,0,-9 +2716183,1100105,57,3,1,-9.0,6.0,787,0,-9 +2716184,1100105,57,3,1,-9.0,6.0,642,0,-9 +2716185,1100105,57,3,1,-9.0,4.0,4082,1,-9 +2716186,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716187,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716188,1100105,57,3,1,-9.0,4.0,4454,1,-9 +2716189,1100105,57,3,1,-9.0,4.0,177291,0,-9 +2716190,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716191,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716192,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716193,1100105,57,3,1,-9.0,6.0,2108,0,-9 +2716194,1100105,57,3,1,-9.0,6.0,25833,1,-9 +2716195,1100105,57,3,1,-9.0,6.0,8779,0,-9 +2716196,1100105,57,3,1,-9.0,4.0,2071,1,-9 +2716197,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716198,1100105,57,3,1,-9.0,4.0,2635,0,-9 +2716199,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716200,1100105,57,3,1,-9.0,6.0,8779,0,-9 +2716201,1100105,57,3,1,-9.0,6.0,27837,1,-9 +2716202,1100105,57,3,1,-9.0,6.0,7802,1,-9 +2716203,1100105,57,3,1,-9.0,4.0,1284,0,-9 +2716204,1100105,57,3,1,-9.0,4.0,3184,0,-9 +2716205,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716206,1100105,57,3,1,-9.0,4.0,50727,1,-9 +2716207,1100105,57,3,1,-9.0,6.0,12098,1,-9 +2716208,1100105,57,3,1,-9.0,4.0,1054,1,-9 +2716209,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716210,1100105,57,3,1,-9.0,4.0,379,0,-9 +2716211,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716212,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716213,1100105,57,3,1,-9.0,6.0,12098,1,-9 +2716214,1100105,57,3,1,-9.0,6.0,2034,0,-9 +2716215,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716216,1100105,57,3,1,-9.0,6.0,3107,0,-9 +2716217,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716218,1100105,57,3,1,-9.0,6.0,424,0,-9 +2716219,1100105,57,3,1,-9.0,6.0,2108,0,-9 +2716220,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716221,1100105,57,3,1,-9.0,6.0,10637,1,-9 +2716222,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716223,1100105,57,3,1,-9.0,6.0,7802,1,-9 +2716224,1100105,57,3,1,-9.0,6.0,1792,0,-9 +2716225,1100105,57,3,1,-9.0,4.0,2532,0,-9 +2716226,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2716227,1100105,57,3,1,-9.0,6.0,8779,0,-9 +2716228,1100105,57,3,1,-9.0,6.0,828,0,-9 +2716229,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716230,1100105,57,3,1,-9.0,6.0,1391,0,-9 +2716231,1100105,57,3,1,-9.0,6.0,1273,0,-9 +2716232,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716233,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716234,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716235,1100105,57,3,1,-9.0,4.0,6367,0,-9 +2716236,1100105,57,3,1,-9.0,6.0,2248,1,-9 +2716237,1100105,57,3,1,-9.0,4.0,4244,1,-9 +2716238,1100105,57,3,1,-9.0,6.0,8779,0,-9 +2716239,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716240,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716241,1100105,57,3,1,-9.0,6.0,2431,1,-9 +2716242,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716243,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2716244,1100105,57,3,1,-9.0,4.0,7598,1,-9 +2716245,1100105,57,3,1,-9.0,4.0,20716,0,-9 +2716246,1100105,57,3,1,-9.0,4.0,12430,1,-9 +2716247,1100105,57,3,1,-9.0,6.0,2071,1,-9 +2716248,1100105,57,3,1,-9.0,6.0,1159,0,-9 +2716249,1100105,57,3,1,-9.0,4.0,1284,0,-9 +2716250,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716251,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716252,1100105,57,3,1,-9.0,6.0,4052,1,-9 +2716253,1100105,57,3,1,-9.0,6.0,5271,1,-9 +2716254,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716255,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716256,1100105,57,3,1,-9.0,6.0,3647,0,-9 +2716257,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716258,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716259,1100105,57,3,1,-9.0,6.0,1167,1,-9 +2716260,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716261,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2716262,1100105,57,3,1,-9.0,6.0,15399,1,-9 +2716263,1100105,57,3,1,-9.0,4.0,1061,0,-9 +2716264,1100105,57,3,1,-9.0,4.0,2122,0,-9 +2716265,1100105,57,3,1,-9.0,6.0,6326,1,-9 +2716266,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716267,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716268,1100105,57,3,1,-9.0,6.0,1968,0,-9 +2716269,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2716270,1100105,57,3,1,-9.0,6.0,2900,1,-9 +2716271,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716272,1100105,57,3,1,-9.0,6.0,3212,1,-9 +2716273,1100105,57,3,1,-9.0,6.0,424,0,-9 +2716274,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716275,1100105,57,3,1,-9.0,6.0,6215,0,-9 +2716276,1100105,57,3,1,-9.0,6.0,310,0,-9 +2716277,1100105,57,3,1,-9.0,6.0,7802,1,-9 +2716278,1100105,57,3,1,-9.0,6.0,1823,1,-9 +2716279,1100105,57,3,1,-9.0,6.0,1243,0,-9 +2716280,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716281,1100105,57,3,1,-9.0,4.0,4282,1,-9 +2716282,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2716283,1100105,57,3,1,-9.0,4.0,3373,0,-9 +2716284,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716285,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716286,1100105,57,3,1,-9.0,4.0,7902,0,-9 +2716287,1100105,57,3,1,-9.0,4.0,1498,0,-9 +2716288,1100105,57,3,1,-9.0,4.0,2653,1,-9 +2716289,1100105,57,3,1,-9.0,6.0,25696,0,-9 +2716290,1100105,57,3,1,-9.0,6.0,1686,0,-9 +2716291,1100105,57,3,1,-9.0,6.0,1792,0,-9 +2716292,1100105,57,3,1,-9.0,4.0,880,0,-9 +2716293,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716294,1100105,57,3,1,-9.0,6.0,3212,1,-9 +2716295,1100105,57,3,1,-9.0,6.0,8458,1,-9 +2716296,1100105,57,3,1,-9.0,4.0,2071,1,-9 +2716297,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716298,1100105,57,3,1,-9.0,6.0,3395,0,-9 +2716299,1100105,57,3,1,-9.0,6.0,2462,0,-9 +2716300,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716301,1100105,57,3,1,-9.0,4.0,50727,1,-9 +2716302,1100105,57,3,1,-9.0,6.0,535,0,-9 +2716303,1100105,57,3,1,-9.0,4.0,21086,1,-9 +2716304,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2716305,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2716306,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716307,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716308,1100105,57,3,1,-9.0,4.0,2532,1,-9 +2716309,1100105,57,3,1,-9.0,4.0,20261,0,-9 +2716310,1100105,57,3,1,-9.0,6.0,6215,1,-9 +2716311,1100105,57,3,1,-9.0,4.0,2122,0,-9 +2716312,1100105,57,3,1,-9.0,6.0,1159,0,-9 +2716313,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716314,1100105,57,3,1,-9.0,4.0,8104,1,-9 +2716315,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716316,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716317,1100105,57,3,1,-9.0,6.0,1061,1,-9 +2716318,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716319,1100105,57,3,1,-9.0,6.0,902,0,-9 +2716320,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716321,1100105,57,3,1,-9.0,6.0,1823,0,-9 +2716322,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2716323,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716324,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716325,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716326,1100105,57,3,1,-9.0,6.0,421,0,-9 +2716327,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716328,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716329,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2716330,1100105,57,3,1,-9.0,6.0,16716,0,-9 +2716331,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2716332,1100105,57,3,1,-9.0,6.0,3039,0,-9 +2716333,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2716334,1100105,57,3,1,-9.0,6.0,23554,0,-9 +2716335,1100105,57,3,1,-9.0,6.0,12848,1,-9 +2716336,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716337,1100105,57,3,1,-9.0,4.0,3163,0,-9 +2716338,1100105,57,3,1,-9.0,4.0,7902,0,-9 +2716339,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716340,1100105,57,3,1,-9.0,6.0,1167,1,-9 +2716341,1100105,57,3,1,-9.0,6.0,10637,1,-9 +2716342,1100105,57,3,1,-9.0,4.0,1498,0,-9 +2716343,1100105,57,3,1,-9.0,6.0,2462,0,-9 +2716344,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716345,1100105,57,3,1,-9.0,6.0,15918,1,-9 +2716346,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716347,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716348,1100105,57,3,1,-9.0,4.0,1177,1,-9 +2716349,1100105,57,3,1,-9.0,4.0,24625,1,-9 +2716350,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716351,1100105,57,3,1,-9.0,4.0,8489,1,-9 +2716352,1100105,57,3,1,-9.0,4.0,7395,0,-9 +2716353,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716354,1100105,57,3,1,-9.0,6.0,2676,1,-9 +2716355,1100105,57,3,1,-9.0,6.0,2034,0,-9 +2716356,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716357,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716358,1100105,57,3,1,-9.0,4.0,2228,1,-9 +2716359,1100105,57,3,1,-9.0,6.0,3107,1,-9 +2716360,1100105,57,3,1,-9.0,4.0,7598,1,-9 +2716361,1100105,57,3,1,-9.0,4.0,7380,0,-9 +2716362,1100105,57,3,1,-9.0,4.0,10543,1,-9 +2716363,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2716364,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716365,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716366,1100105,57,3,1,-9.0,6.0,2741,1,-9 +2716367,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716368,1100105,57,3,1,-9.0,6.0,2141,1,-9 +2716369,1100105,57,3,1,-9.0,6.0,3849,0,-9 +2716370,1100105,57,3,1,-9.0,4.0,7902,0,-9 +2716371,1100105,57,3,1,-9.0,4.0,4244,1,-9 +2716372,1100105,57,3,1,-9.0,4.0,4868,1,-9 +2716373,1100105,57,3,1,-9.0,6.0,3395,0,-9 +2716374,1100105,57,3,1,-9.0,6.0,1061,0,-9 +2716375,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716376,1100105,57,3,1,-9.0,6.0,5065,0,-9 +2716377,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716378,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716379,1100105,57,3,1,-9.0,6.0,1035,1,-9 +2716380,1100105,57,3,1,-9.0,4.0,1591,0,-9 +2716381,1100105,57,3,1,-9.0,4.0,22484,1,-9 +2716382,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716383,1100105,57,3,1,-9.0,4.0,177291,0,-9 +2716384,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716385,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716386,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2716387,1100105,57,3,1,-9.0,4.0,3039,0,-9 +2716388,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716389,1100105,57,3,1,-9.0,6.0,4244,1,-9 +2716390,1100105,57,3,1,-9.0,4.0,1013,1,-9 +2716391,1100105,57,3,1,-9.0,4.0,1070,1,-9 +2716392,1100105,57,3,1,-9.0,6.0,1686,0,-9 +2716393,1100105,57,3,1,-9.0,4.0,6990,1,-9 +2716394,1100105,57,3,1,-9.0,6.0,17510,1,-9 +2716395,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716396,1100105,57,3,1,-9.0,4.0,148,0,-9 +2716397,1100105,57,3,1,-9.0,6.0,1591,0,-9 +2716398,1100105,57,3,1,-9.0,6.0,1591,0,-9 +2716399,1100105,57,3,1,-9.0,4.0,2589,0,-9 +2716400,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716401,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716402,1100105,57,3,1,-9.0,6.0,1167,1,-9 +2716403,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716404,1100105,57,3,1,-9.0,6.0,2141,1,-9 +2716405,1100105,57,3,1,-9.0,4.0,2676,0,-9 +2716406,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2716407,1100105,57,3,1,-9.0,6.0,530,0,-9 +2716408,1100105,57,3,1,-9.0,6.0,6424,1,-9 +2716409,1100105,57,3,1,-9.0,4.0,3107,1,-9 +2716410,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716411,1100105,57,3,1,-9.0,4.0,29379,0,-9 +2716412,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716413,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716414,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716415,1100105,57,3,1,-9.0,6.0,1265,0,-9 +2716416,1100105,57,3,1,-9.0,4.0,5139,0,-9 +2716417,1100105,57,3,1,-9.0,6.0,6326,0,-9 +2716418,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716419,1100105,57,3,1,-9.0,4.0,7091,0,-9 +2716420,1100105,57,3,1,-9.0,4.0,4052,0,-9 +2716421,1100105,57,3,1,-9.0,4.0,3373,0,-9 +2716422,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2716423,1100105,57,3,1,-9.0,4.0,4217,0,-9 +2716424,1100105,57,3,1,-9.0,6.0,4052,0,-9 +2716425,1100105,57,3,1,-9.0,6.0,2141,1,-9 +2716426,1100105,57,3,1,-9.0,6.0,10612,0,-9 +2716427,1100105,57,3,1,-9.0,6.0,421,0,-9 +2716428,1100105,57,3,1,-9.0,6.0,210,0,-9 +2716429,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2716430,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716431,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716432,1100105,57,3,1,-9.0,6.0,1581,1,-9 +2716433,1100105,57,3,1,-9.0,4.0,7380,0,-9 +2716434,1100105,57,3,1,-9.0,4.0,4282,1,-9 +2716435,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716436,1100105,57,3,1,-9.0,4.0,53533,1,-9 +2716437,1100105,57,3,1,-9.0,6.0,14347,1,-9 +2716438,1100105,57,3,1,-9.0,4.0,1657,1,-9 +2716439,1100105,57,3,1,-9.0,4.0,530,0,-9 +2716440,1100105,57,3,1,-9.0,6.0,2355,1,-9 +2716441,1100105,57,3,1,-9.0,6.0,1823,0,-9 +2716442,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2716443,1100105,57,3,1,-9.0,6.0,1591,0,-9 +2716444,1100105,57,3,1,-9.0,6.0,421,0,-9 +2716445,1100105,57,3,1,-9.0,6.0,2431,1,-9 +2716446,1100105,57,3,1,-9.0,4.0,10637,1,-9 +2716447,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2716448,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716449,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716450,1100105,57,3,1,-9.0,4.0,4052,0,-9 +2716451,1100105,57,3,1,-9.0,6.0,1215,0,-9 +2716452,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2716453,1100105,57,3,1,-9.0,4.0,7380,0,-9 +2716454,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716455,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716456,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716457,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716458,1100105,57,3,1,-9.0,6.0,530,0,-9 +2716459,1100105,57,3,1,-9.0,6.0,6215,0,-9 +2716460,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716461,1100105,57,3,1,-9.0,6.0,1391,0,-9 +2716462,1100105,57,3,1,-9.0,4.0,8489,1,-9 +2716463,1100105,57,3,1,-9.0,6.0,8779,0,-9 +2716464,1100105,57,3,1,-9.0,6.0,530,0,-9 +2716465,1100105,57,3,1,-9.0,6.0,10612,0,-9 +2716466,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716467,1100105,57,3,1,-9.0,6.0,310,0,-9 +2716468,1100105,57,3,1,-9.0,4.0,4082,1,-9 +2716469,1100105,57,3,1,-9.0,6.0,535,0,-9 +2716470,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716471,1100105,57,3,1,-9.0,4.0,21841,1,-9 +2716472,1100105,57,3,1,-9.0,6.0,18235,1,-9 +2716473,1100105,57,3,1,-9.0,4.0,7380,0,-9 +2716474,1100105,57,3,1,-9.0,4.0,1284,0,-9 +2716475,1100105,57,3,1,-9.0,4.0,1823,1,-9 +2716476,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716477,1100105,57,3,1,-9.0,6.0,265,1,-9 +2716478,1100105,57,3,1,-9.0,4.0,4868,1,-9 +2716479,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716480,1100105,57,3,1,-9.0,6.0,3212,1,-9 +2716481,1100105,57,3,1,-9.0,6.0,2141,1,-9 +2716482,1100105,57,3,1,-9.0,6.0,16060,0,-9 +2716483,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716484,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716485,1100105,57,3,1,-9.0,4.0,6990,1,-9 +2716486,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716487,1100105,57,3,1,-9.0,4.0,2122,0,-9 +2716488,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716489,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716490,1100105,57,3,1,-9.0,4.0,12157,1,-9 +2716491,1100105,57,3,1,-9.0,6.0,1897,1,-9 +2716492,1100105,57,3,1,-9.0,6.0,14916,1,-9 +2716493,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716494,1100105,57,3,1,-9.0,6.0,2653,0,-9 +2716495,1100105,57,3,1,-9.0,4.0,1284,0,-9 +2716496,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716497,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716498,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716499,1100105,57,3,1,-9.0,4.0,3241,0,-9 +2716500,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2716501,1100105,57,3,1,-9.0,6.0,16159,0,-9 +2716502,1100105,57,3,1,-9.0,6.0,1061,0,-9 +2716503,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716504,1100105,57,3,1,-9.0,4.0,1061,0,-9 +2716505,1100105,57,3,1,-9.0,6.0,421,0,-9 +2716506,1100105,57,3,1,-9.0,6.0,2532,0,-9 +2716507,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2716508,1100105,57,3,1,-9.0,4.0,1591,0,-9 +2716509,1100105,57,3,1,-9.0,6.0,5271,1,-9 +2716510,1100105,57,3,1,-9.0,4.0,2890,0,-9 +2716511,1100105,57,3,1,-9.0,4.0,7380,0,-9 +2716512,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716513,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716514,1100105,57,3,1,-9.0,6.0,2071,1,-9 +2716515,1100105,57,3,1,-9.0,6.0,2034,0,-9 +2716516,1100105,57,3,1,-9.0,4.0,10637,1,-9 +2716517,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716518,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716519,1100105,57,3,1,-9.0,6.0,10612,0,-9 +2716520,1100105,57,3,1,-9.0,6.0,3107,0,-9 +2716521,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2716522,1100105,57,3,1,-9.0,4.0,1591,0,-9 +2716523,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716524,1100105,57,3,1,-9.0,4.0,4454,1,-9 +2716525,1100105,57,3,1,-9.0,6.0,1054,0,-9 +2716526,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716527,1100105,57,3,1,-9.0,4.0,4661,1,-9 +2716528,1100105,57,3,1,-9.0,6.0,1792,0,-9 +2716529,1100105,57,3,1,-9.0,4.0,8489,1,-9 +2716530,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716531,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716532,1100105,57,3,1,-9.0,6.0,1897,1,-9 +2716533,1100105,57,3,1,-9.0,6.0,2741,1,-9 +2716534,1100105,57,3,1,-9.0,6.0,310,0,-9 +2716535,1100105,57,3,1,-9.0,6.0,1391,0,-9 +2716536,1100105,57,3,1,-9.0,6.0,6215,1,-9 +2716537,1100105,57,3,1,-9.0,4.0,3107,1,-9 +2716538,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2716539,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2716540,1100105,57,3,1,-9.0,6.0,535,0,-9 +2716541,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2716542,1100105,57,3,1,-9.0,4.0,8489,1,-9 +2716543,1100105,57,3,1,-9.0,6.0,4744,1,-9 +2716544,1100105,57,3,1,-9.0,4.0,5075,0,-9 +2716545,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716546,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716547,1100105,57,3,1,-9.0,4.0,2796,0,-9 +2716548,1100105,57,3,1,-9.0,6.0,12098,1,-9 +2716549,1100105,57,3,1,-9.0,6.0,1722,0,-9 +2716550,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716551,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2716552,1100105,57,3,1,-9.0,6.0,15399,1,-9 +2716553,1100105,57,3,1,-9.0,6.0,2141,0,-9 +2716554,1100105,57,3,1,-9.0,4.0,517,0,-9 +2716555,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2716556,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716557,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716558,1100105,57,3,1,-9.0,6.0,2141,0,-9 +2716559,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716560,1100105,57,3,1,-9.0,4.0,5624,1,-9 +2716561,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716562,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2716563,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716564,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716565,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2716566,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716567,1100105,57,3,1,-9.0,4.0,1591,0,-9 +2716568,1100105,57,3,1,-9.0,6.0,5271,1,-9 +2716569,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716570,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716571,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716572,1100105,57,3,1,-9.0,4.0,2653,1,-9 +2716573,1100105,57,3,1,-9.0,6.0,14183,1,-9 +2716574,1100105,57,3,1,-9.0,4.0,1054,0,-9 +2716575,1100105,57,3,1,-9.0,6.0,15918,1,-9 +2716576,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2716577,1100105,57,3,1,-9.0,6.0,3212,1,-9 +2716578,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716579,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716580,1100105,57,3,1,-9.0,4.0,4244,1,-9 +2716581,1100105,57,3,1,-9.0,6.0,5518,1,-9 +2716582,1100105,57,3,1,-9.0,4.0,1498,0,-9 +2716583,1100105,57,3,1,-9.0,4.0,642,0,-9 +2716584,1100105,57,3,1,-9.0,6.0,3212,1,-9 +2716585,1100105,57,3,1,-9.0,4.0,2589,0,-9 +2716586,1100105,57,3,1,-9.0,4.0,5075,0,-9 +2716587,1100105,57,3,1,-9.0,4.0,1061,0,-9 +2716588,1100105,57,3,1,-9.0,4.0,2144,1,-9 +2716589,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716590,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716591,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716592,1100105,57,3,1,-9.0,6.0,6215,0,-9 +2716593,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716594,1100105,57,3,1,-9.0,4.0,7598,1,-9 +2716595,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716596,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716597,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716598,1100105,57,3,1,-9.0,6.0,5065,0,-9 +2716599,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2716600,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716601,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716602,1100105,57,3,1,-9.0,6.0,1061,0,-9 +2716603,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716604,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716605,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2716606,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2716607,1100105,57,3,1,-9.0,6.0,53062,1,-9 +2716608,1100105,57,3,1,-9.0,4.0,16869,1,-9 +2716609,1100105,57,3,1,-9.0,4.0,16869,1,-9 +2716610,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716611,1100105,57,3,1,-9.0,4.0,29379,0,-9 +2716612,1100105,57,3,1,-9.0,4.0,1054,1,-9 +2716613,1100105,57,3,1,-9.0,6.0,2900,1,-9 +2716614,1100105,57,3,1,-9.0,6.0,7485,1,-9 +2716615,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2716616,1100105,57,3,1,-9.0,6.0,4052,0,-9 +2716617,1100105,57,3,1,-9.0,6.0,2676,0,-9 +2716618,1100105,57,3,1,-9.0,4.0,2108,0,-9 +2716619,1100105,57,3,1,-9.0,4.0,12222,0,-9 +2716620,1100105,57,3,1,-9.0,4.0,3039,0,-9 +2716621,1100105,57,3,1,-9.0,4.0,803,1,-9 +2716622,1100105,57,3,1,-9.0,4.0,4082,1,-9 +2716623,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716624,1100105,57,3,1,-9.0,4.0,50727,1,-9 +2716625,1100105,57,3,1,-9.0,6.0,8458,1,-9 +2716626,1100105,57,3,1,-9.0,6.0,8458,1,-9 +2716627,1100105,57,3,1,-9.0,6.0,1792,0,-9 +2716628,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2716629,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716630,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716631,1100105,57,3,1,-9.0,6.0,18235,1,-9 +2716632,1100105,57,3,1,-9.0,6.0,1450,0,-9 +2716633,1100105,57,3,1,-9.0,4.0,1159,1,-9 +2716634,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716635,1100105,57,3,1,-9.0,6.0,6326,1,-9 +2716636,1100105,57,3,1,-9.0,6.0,2735,1,-9 +2716637,1100105,57,3,1,-9.0,4.0,2355,0,-9 +2716638,1100105,57,3,1,-9.0,6.0,8779,0,-9 +2716639,1100105,57,3,1,-9.0,4.0,148,0,-9 +2716640,1100105,57,3,1,-9.0,4.0,24625,1,-9 +2716641,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716642,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716643,1100105,57,3,1,-9.0,4.0,20261,0,-9 +2716644,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2716645,1100105,57,3,1,-9.0,6.0,15918,1,-9 +2716646,1100105,57,3,1,-9.0,6.0,856,0,-9 +2716647,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716648,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716649,1100105,57,3,1,-9.0,6.0,6215,0,-9 +2716650,1100105,57,3,1,-9.0,4.0,2122,0,-9 +2716651,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716652,1100105,57,3,1,-9.0,4.0,7380,0,-9 +2716653,1100105,57,3,1,-9.0,4.0,2532,0,-9 +2716654,1100105,57,3,1,-9.0,6.0,1167,1,-9 +2716655,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716656,1100105,57,3,1,-9.0,4.0,1061,0,-9 +2716657,1100105,57,3,1,-9.0,4.0,2796,0,-9 +2716658,1100105,57,3,1,-9.0,4.0,177291,0,-9 +2716659,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716660,1100105,57,3,1,-9.0,6.0,18235,1,-9 +2716661,1100105,57,3,1,-9.0,6.0,535,0,-9 +2716662,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716663,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716664,1100105,57,3,1,-9.0,6.0,1054,0,-9 +2716665,1100105,57,3,1,-9.0,6.0,11394,1,-9 +2716666,1100105,57,3,1,-9.0,6.0,3849,0,-9 +2716667,1100105,57,3,1,-9.0,6.0,2071,1,-9 +2716668,1100105,57,3,1,-9.0,6.0,1346,0,-9 +2716669,1100105,57,3,1,-9.0,4.0,2635,0,-9 +2716670,1100105,57,3,1,-9.0,6.0,535,0,-9 +2716671,1100105,57,3,1,-9.0,6.0,5065,0,-9 +2716672,1100105,57,3,1,-9.0,4.0,20261,0,-9 +2716673,1100105,57,3,1,-9.0,6.0,8779,0,-9 +2716674,1100105,57,3,1,-9.0,4.0,2071,1,-9 +2716675,1100105,57,3,1,-9.0,6.0,1054,0,-9 +2716676,1100105,57,3,1,-9.0,4.0,1054,1,-9 +2716677,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716678,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716679,1100105,57,3,1,-9.0,6.0,2676,1,-9 +2716680,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716681,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716682,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716683,1100105,57,3,1,-9.0,4.0,2653,1,-9 +2716684,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716685,1100105,57,3,1,-9.0,4.0,3212,0,-9 +2716686,1100105,57,3,1,-9.0,6.0,4818,1,-9 +2716687,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716688,1100105,57,3,1,-9.0,4.0,4217,0,-9 +2716689,1100105,57,3,1,-9.0,6.0,8712,1,-9 +2716690,1100105,57,3,1,-9.0,6.0,2141,1,-9 +2716691,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716692,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716693,1100105,57,3,1,-9.0,6.0,16159,0,-9 +2716694,1100105,57,3,1,-9.0,4.0,6367,0,-9 +2716695,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716696,1100105,57,3,1,-9.0,4.0,4661,1,-9 +2716697,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716698,1100105,57,3,1,-9.0,4.0,2071,1,-9 +2716699,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716700,1100105,57,3,1,-9.0,6.0,642,0,-9 +2716701,1100105,57,3,1,-9.0,6.0,1167,1,-9 +2716702,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716703,1100105,57,3,1,-9.0,6.0,997,0,-9 +2716704,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716705,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716706,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716707,1100105,57,3,1,-9.0,6.0,11394,1,-9 +2716708,1100105,57,3,1,-9.0,6.0,3107,1,-9 +2716709,1100105,57,3,1,-9.0,4.0,10543,1,-9 +2716710,1100105,57,3,1,-9.0,4.0,2635,1,-9 +2716711,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716712,1100105,57,3,1,-9.0,6.0,25696,0,-9 +2716713,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716714,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716715,1100105,57,3,1,-9.0,4.0,2122,0,-9 +2716716,1100105,57,3,1,-9.0,4.0,2355,0,-9 +2716717,1100105,57,3,1,-9.0,6.0,3107,1,-9 +2716718,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716719,1100105,57,3,1,-9.0,6.0,1823,0,-9 +2716720,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2716721,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716722,1100105,57,3,1,-9.0,4.0,3183,0,-9 +2716723,1100105,57,3,1,-9.0,6.0,9489,1,-9 +2716724,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2716725,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716726,1100105,57,3,1,-9.0,4.0,177291,0,-9 +2716727,1100105,57,3,1,-9.0,4.0,289,0,-9 +2716728,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716729,1100105,57,3,1,-9.0,4.0,880,0,-9 +2716730,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2716731,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716732,1100105,57,3,1,-9.0,6.0,421,0,-9 +2716733,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716734,1100105,57,3,1,-9.0,6.0,3107,1,-9 +2716735,1100105,57,3,1,-9.0,4.0,177291,0,-9 +2716736,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716737,1100105,57,3,1,-9.0,6.0,3107,0,-9 +2716738,1100105,57,3,1,-9.0,4.0,2228,1,-9 +2716739,1100105,57,3,1,-9.0,4.0,3241,0,-9 +2716740,1100105,57,3,1,-9.0,6.0,1346,0,-9 +2716741,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716742,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716743,1100105,57,3,1,-9.0,6.0,6424,1,-9 +2716744,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716745,1100105,57,3,1,-9.0,6.0,4744,1,-9 +2716746,1100105,57,3,1,-9.0,6.0,310,0,-9 +2716747,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716748,1100105,57,3,1,-9.0,6.0,374,0,-9 +2716749,1100105,57,3,1,-9.0,6.0,1657,1,-9 +2716750,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716751,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716752,1100105,57,3,1,-9.0,6.0,6215,1,-9 +2716753,1100105,57,3,1,-9.0,4.0,5271,0,-9 +2716754,1100105,57,3,1,-9.0,6.0,25833,1,-9 +2716755,1100105,57,3,1,-9.0,6.0,8779,0,-9 +2716756,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716757,1100105,57,3,1,-9.0,4.0,530,0,-9 +2716758,1100105,57,3,1,-9.0,6.0,4356,1,-9 +2716759,1100105,57,3,1,-9.0,6.0,1054,0,-9 +2716760,1100105,57,3,1,-9.0,4.0,1070,1,-9 +2716761,1100105,57,3,1,-9.0,6.0,442,0,-9 +2716762,1100105,57,3,1,-9.0,6.0,3107,0,-9 +2716763,1100105,57,3,1,-9.0,4.0,36254,0,-9 +2716764,1100105,57,3,1,-9.0,6.0,2532,0,-9 +2716765,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716766,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716767,1100105,57,3,1,-9.0,6.0,828,0,-9 +2716768,1100105,57,3,1,-9.0,4.0,2796,0,-9 +2716769,1100105,57,3,1,-9.0,6.0,1657,1,-9 +2716770,1100105,57,3,1,-9.0,6.0,421,0,-9 +2716771,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716772,1100105,57,3,1,-9.0,6.0,2676,0,-9 +2716773,1100105,57,3,1,-9.0,6.0,4282,1,-9 +2716774,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2716775,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716776,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716777,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716778,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716779,1100105,57,3,1,-9.0,4.0,3183,0,-9 +2716780,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716781,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716782,1100105,57,3,1,-9.0,4.0,1823,1,-9 +2716783,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716784,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716785,1100105,57,3,1,-9.0,6.0,1591,0,-9 +2716786,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716787,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716788,1100105,57,3,1,-9.0,6.0,6102,1,-9 +2716789,1100105,57,3,1,-9.0,4.0,17121,1,-9 +2716790,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716791,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716792,1100105,57,3,1,-9.0,4.0,1581,1,-9 +2716793,1100105,57,3,1,-9.0,6.0,421,0,-9 +2716794,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716795,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716796,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716797,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716798,1100105,57,3,1,-9.0,6.0,1167,1,-9 +2716799,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716800,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716801,1100105,57,3,1,-9.0,4.0,2796,0,-9 +2716802,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716803,1100105,57,3,1,-9.0,6.0,1215,0,-9 +2716804,1100105,57,3,1,-9.0,4.0,29379,0,-9 +2716805,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716806,1100105,57,3,1,-9.0,4.0,16869,1,-9 +2716807,1100105,57,3,1,-9.0,6.0,2141,1,-9 +2716808,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2716809,1100105,57,3,1,-9.0,4.0,10637,1,-9 +2716810,1100105,57,3,1,-9.0,6.0,151,0,-9 +2716811,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716812,1100105,57,3,1,-9.0,4.0,1968,1,-9 +2716813,1100105,57,3,1,-9.0,6.0,828,0,-9 +2716814,1100105,57,3,1,-9.0,4.0,20716,0,-9 +2716815,1100105,57,3,1,-9.0,6.0,828,0,-9 +2716816,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716817,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716818,1100105,57,3,1,-9.0,6.0,997,0,-9 +2716819,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716820,1100105,57,3,1,-9.0,4.0,10438,1,-9 +2716821,1100105,57,3,1,-9.0,6.0,535,0,-9 +2716822,1100105,57,3,1,-9.0,6.0,18235,1,-9 +2716823,1100105,57,3,1,-9.0,4.0,15196,0,-9 +2716824,1100105,57,3,1,-9.0,4.0,1054,0,-9 +2716825,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716826,1100105,57,3,1,-9.0,4.0,21086,1,-9 +2716827,1100105,57,3,1,-9.0,6.0,3140,1,-9 +2716828,1100105,57,3,1,-9.0,4.0,10637,1,-9 +2716829,1100105,57,3,1,-9.0,6.0,1061,1,-9 +2716830,1100105,57,3,1,-9.0,4.0,22484,1,-9 +2716831,1100105,57,3,1,-9.0,6.0,2214,1,-9 +2716832,1100105,57,3,1,-9.0,4.0,2532,0,-9 +2716833,1100105,57,3,1,-9.0,4.0,9219,0,-9 +2716834,1100105,57,3,1,-9.0,4.0,517,0,-9 +2716835,1100105,57,3,1,-9.0,4.0,4082,1,-9 +2716836,1100105,57,3,1,-9.0,6.0,4052,1,-9 +2716837,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716838,1100105,57,3,1,-9.0,6.0,530,0,-9 +2716839,1100105,57,3,1,-9.0,4.0,7902,0,-9 +2716840,1100105,57,3,1,-9.0,6.0,2141,0,-9 +2716841,1100105,57,3,1,-9.0,6.0,310,0,-9 +2716842,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716843,1100105,57,3,1,-9.0,4.0,3373,0,-9 +2716844,1100105,57,3,1,-9.0,4.0,1591,0,-9 +2716845,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2716846,1100105,57,3,1,-9.0,4.0,1823,1,-9 +2716847,1100105,57,3,1,-9.0,6.0,535,0,-9 +2716848,1100105,57,3,1,-9.0,6.0,2676,1,-9 +2716849,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716850,1100105,57,3,1,-9.0,4.0,2796,0,-9 +2716851,1100105,57,3,1,-9.0,6.0,10612,0,-9 +2716852,1100105,57,3,1,-9.0,6.0,4052,1,-9 +2716853,1100105,57,3,1,-9.0,4.0,7598,1,-9 +2716854,1100105,57,3,1,-9.0,6.0,856,0,-9 +2716855,1100105,57,3,1,-9.0,4.0,16869,1,-9 +2716856,1100105,57,3,1,-9.0,6.0,6215,1,-9 +2716857,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716858,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716859,1100105,57,3,1,-9.0,6.0,2141,1,-9 +2716860,1100105,57,3,1,-9.0,4.0,22484,1,-9 +2716861,1100105,57,3,1,-9.0,4.0,1657,1,-9 +2716862,1100105,57,3,1,-9.0,6.0,997,0,-9 +2716863,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716864,1100105,57,3,1,-9.0,6.0,1167,1,-9 +2716865,1100105,57,3,1,-9.0,6.0,3212,1,-9 +2716866,1100105,57,3,1,-9.0,6.0,3107,0,-9 +2716867,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716868,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716869,1100105,57,3,1,-9.0,6.0,3107,0,-9 +2716870,1100105,57,3,1,-9.0,4.0,3849,0,-9 +2716871,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2716872,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716873,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2716874,1100105,57,3,1,-9.0,6.0,10612,0,-9 +2716875,1100105,57,3,1,-9.0,6.0,11394,1,-9 +2716876,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716877,1100105,57,3,1,-9.0,4.0,54825,1,-9 +2716878,1100105,57,3,1,-9.0,4.0,7380,0,-9 +2716879,1100105,57,3,1,-9.0,4.0,3184,0,-9 +2716880,1100105,57,3,1,-9.0,6.0,6078,0,-9 +2716881,1100105,57,3,1,-9.0,6.0,1823,1,-9 +2716882,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716883,1100105,57,3,1,-9.0,4.0,1864,0,-9 +2716884,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716885,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716886,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716887,1100105,57,3,1,-9.0,6.0,10612,0,-9 +2716888,1100105,57,3,1,-9.0,4.0,7902,0,-9 +2716889,1100105,57,3,1,-9.0,4.0,4661,1,-9 +2716890,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716891,1100105,57,3,1,-9.0,4.0,3163,0,-9 +2716892,1100105,57,3,1,-9.0,4.0,10358,1,-9 +2716893,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716894,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716895,1100105,57,3,1,-9.0,4.0,7380,0,-9 +2716896,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716897,1100105,57,3,1,-9.0,6.0,1215,0,-9 +2716898,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2716899,1100105,57,3,1,-9.0,4.0,1061,0,-9 +2716900,1100105,57,3,1,-9.0,6.0,1061,0,-9 +2716901,1100105,57,3,1,-9.0,4.0,4868,1,-9 +2716902,1100105,57,3,1,-9.0,6.0,1273,0,-9 +2716903,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716904,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716905,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716906,1100105,57,3,1,-9.0,4.0,3545,0,-9 +2716907,1100105,57,3,1,-9.0,6.0,4052,0,-9 +2716908,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716909,1100105,57,3,1,-9.0,4.0,3107,1,-9 +2716910,1100105,57,3,1,-9.0,4.0,267,0,-9 +2716911,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2716912,1100105,57,3,1,-9.0,6.0,1686,0,-9 +2716913,1100105,57,3,1,-9.0,6.0,3107,0,-9 +2716914,1100105,57,3,1,-9.0,6.0,4356,1,-9 +2716915,1100105,57,3,1,-9.0,6.0,374,0,-9 +2716916,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716917,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716918,1100105,57,3,1,-9.0,4.0,1591,0,-9 +2716919,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716920,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716921,1100105,57,3,1,-9.0,4.0,148,0,-9 +2716922,1100105,57,3,1,-9.0,6.0,1346,0,-9 +2716923,1100105,57,3,1,-9.0,6.0,5353,0,-9 +2716924,1100105,57,3,1,-9.0,4.0,2071,1,-9 +2716925,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2716926,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716927,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716928,1100105,57,3,1,-9.0,6.0,1167,1,-9 +2716929,1100105,57,3,1,-9.0,4.0,759,0,-9 +2716930,1100105,57,3,1,-9.0,4.0,16869,1,-9 +2716931,1100105,57,3,1,-9.0,4.0,54825,1,-9 +2716932,1100105,57,3,1,-9.0,4.0,8489,1,-9 +2716933,1100105,57,3,1,-9.0,6.0,6215,0,-9 +2716934,1100105,57,3,1,-9.0,6.0,2440,0,-9 +2716935,1100105,57,3,1,-9.0,6.0,25304,1,-9 +2716936,1100105,57,3,1,-9.0,6.0,16159,0,-9 +2716937,1100105,57,3,1,-9.0,4.0,803,1,-9 +2716938,1100105,57,3,1,-9.0,6.0,6215,0,-9 +2716939,1100105,57,3,1,-9.0,4.0,53533,1,-9 +2716940,1100105,57,3,1,-9.0,4.0,759,0,-9 +2716941,1100105,57,3,1,-9.0,6.0,1581,0,-9 +2716942,1100105,57,3,1,-9.0,6.0,2071,1,-9 +2716943,1100105,57,3,1,-9.0,4.0,7380,0,-9 +2716944,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716945,1100105,57,3,1,-9.0,6.0,1265,0,-9 +2716946,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716947,1100105,57,3,1,-9.0,6.0,48628,0,-9 +2716948,1100105,57,3,1,-9.0,4.0,1013,0,-9 +2716949,1100105,57,3,1,-9.0,6.0,4282,1,-9 +2716950,1100105,57,3,1,-9.0,6.0,2026,0,-9 +2716951,1100105,57,3,1,-9.0,4.0,1713,1,-9 +2716952,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2716953,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2716954,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716955,1100105,57,3,1,-9.0,6.0,535,0,-9 +2716956,1100105,57,3,1,-9.0,6.0,2676,1,-9 +2716957,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716958,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716959,1100105,57,3,1,-9.0,6.0,2026,0,-9 +2716960,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716961,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716962,1100105,57,3,1,-9.0,4.0,8434,0,-9 +2716963,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716964,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716965,1100105,57,3,1,-9.0,6.0,15537,0,-9 +2716966,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716967,1100105,57,3,1,-9.0,6.0,15537,0,-9 +2716968,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716969,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716970,1100105,57,3,1,-9.0,6.0,8712,1,-9 +2716971,1100105,57,3,1,-9.0,6.0,1215,0,-9 +2716972,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716973,1100105,57,3,1,-9.0,4.0,527,0,-9 +2716974,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716975,1100105,57,3,1,-9.0,4.0,4143,0,-9 +2716976,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716977,1100105,57,3,1,-9.0,6.0,2653,0,-9 +2716978,1100105,57,3,1,-9.0,6.0,5065,0,-9 +2716979,1100105,57,3,1,-9.0,6.0,2108,0,-9 +2716980,1100105,57,3,1,-9.0,4.0,2635,1,-9 +2716981,1100105,57,3,1,-9.0,6.0,8104,1,-9 +2716982,1100105,57,3,1,-9.0,6.0,1450,0,-9 +2716983,1100105,57,3,1,-9.0,4.0,1159,1,-9 +2716984,1100105,57,3,1,-9.0,4.0,0,0,-9 +2716985,1100105,57,3,1,-9.0,6.0,2735,1,-9 +2716986,1100105,57,3,1,-9.0,4.0,2122,0,-9 +2716987,1100105,57,3,1,-9.0,6.0,2676,1,-9 +2716988,1100105,57,3,1,-9.0,6.0,3212,1,-9 +2716989,1100105,57,3,1,-9.0,4.0,843,1,-9 +2716990,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716991,1100105,57,3,1,-9.0,6.0,6215,0,-9 +2716992,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2716993,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2716994,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716995,1100105,57,3,1,-9.0,6.0,1061,0,-9 +2716996,1100105,57,3,1,-9.0,6.0,1897,1,-9 +2716997,1100105,57,3,1,-9.0,4.0,1864,0,-9 +2716998,1100105,57,3,1,-9.0,6.0,0,0,-9 +2716999,1100105,57,3,1,-9.0,4.0,880,0,-9 +2717000,1100105,57,3,1,-9.0,6.0,4818,1,-9 +2717001,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717002,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717003,1100105,57,3,1,-9.0,4.0,29379,0,-9 +2717004,1100105,57,3,1,-9.0,6.0,6326,0,-9 +2717005,1100105,57,3,1,-9.0,6.0,1657,1,-9 +2717006,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717007,1100105,57,3,1,-9.0,6.0,8779,0,-9 +2717008,1100105,57,3,1,-9.0,6.0,787,0,-9 +2717009,1100105,57,3,1,-9.0,4.0,6531,1,-9 +2717010,1100105,57,3,1,-9.0,4.0,256,1,-9 +2717011,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2717012,1100105,57,3,1,-9.0,4.0,148,0,-9 +2717013,1100105,57,3,1,-9.0,4.0,2532,0,-9 +2717014,1100105,57,3,1,-9.0,6.0,2741,1,-9 +2717015,1100105,57,3,1,-9.0,4.0,4868,1,-9 +2717016,1100105,57,3,1,-9.0,6.0,48628,0,-9 +2717017,1100105,57,3,1,-9.0,4.0,10438,1,-9 +2717018,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717019,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2717020,1100105,57,3,1,-9.0,6.0,8458,1,-9 +2717021,1100105,57,3,1,-9.0,6.0,3395,0,-9 +2717022,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2717023,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717024,1100105,57,3,1,-9.0,6.0,4052,0,-9 +2717025,1100105,57,3,1,-9.0,4.0,7395,0,-9 +2717026,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717027,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2717028,1100105,57,3,1,-9.0,6.0,2108,0,-9 +2717029,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717030,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2717031,1100105,57,3,1,-9.0,6.0,2108,0,-9 +2717032,1100105,57,3,1,-9.0,6.0,902,0,-9 +2717033,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717034,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2717035,1100105,57,3,1,-9.0,4.0,632,0,-9 +2717036,1100105,57,3,1,-9.0,6.0,4244,1,-9 +2717037,1100105,57,3,1,-9.0,4.0,16869,1,-9 +2717038,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2717039,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717040,1100105,57,3,1,-9.0,4.0,2355,0,-9 +2717041,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717042,1100105,57,3,1,-9.0,4.0,1620,0,-9 +2717043,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717044,1100105,57,3,1,-9.0,6.0,10612,0,-9 +2717045,1100105,57,3,1,-9.0,6.0,856,1,-9 +2717046,1100105,57,3,1,-9.0,6.0,48628,0,-9 +2717047,1100105,57,3,1,-9.0,4.0,1591,0,-9 +2717048,1100105,57,3,1,-9.0,4.0,1591,0,-9 +2717049,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2717050,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2717051,1100105,57,3,1,-9.0,4.0,1713,1,-9 +2717052,1100105,57,3,1,-9.0,4.0,22484,1,-9 +2717053,1100105,57,3,1,-9.0,6.0,5518,1,-9 +2717054,1100105,57,3,1,-9.0,4.0,8489,1,-9 +2717055,1100105,57,3,1,-9.0,6.0,214,1,-9 +2717056,1100105,57,3,1,-9.0,6.0,1070,1,-9 +2717057,1100105,57,3,1,-9.0,4.0,3545,0,-9 +2717058,1100105,57,3,1,-9.0,6.0,1167,1,-9 +2717059,1100105,57,3,1,-9.0,4.0,1284,0,-9 +2717060,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717061,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717062,1100105,57,3,1,-9.0,4.0,2144,1,-9 +2717063,1100105,57,3,1,-9.0,6.0,421,0,-9 +2717064,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717065,1100105,57,3,1,-9.0,6.0,997,0,-9 +2717066,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2717067,1100105,57,3,1,-9.0,6.0,1346,0,-9 +2717068,1100105,57,3,1,-9.0,6.0,51392,1,-9 +2717069,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717070,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717071,1100105,57,3,1,-9.0,4.0,6958,1,-9 +2717072,1100105,57,3,1,-9.0,4.0,955,0,-9 +2717073,1100105,57,3,1,-9.0,6.0,10130,1,-9 +2717074,1100105,57,3,1,-9.0,6.0,25833,1,-9 +2717075,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717076,1100105,57,3,1,-9.0,4.0,1177,1,-9 +2717077,1100105,57,3,1,-9.0,4.0,2355,0,-9 +2717078,1100105,57,3,1,-9.0,4.0,4244,1,-9 +2717079,1100105,57,3,1,-9.0,6.0,7354,1,-9 +2717080,1100105,57,3,1,-9.0,4.0,22484,1,-9 +2717081,1100105,57,3,1,-9.0,6.0,1273,0,-9 +2717082,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717083,1100105,57,3,1,-9.0,4.0,1713,1,-9 +2717084,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717085,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717086,1100105,57,3,1,-9.0,4.0,4217,0,-9 +2717087,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2717088,1100105,57,3,1,-9.0,4.0,2122,0,-9 +2717089,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2717090,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717091,1100105,57,3,1,-9.0,6.0,3395,0,-9 +2717092,1100105,57,3,1,-9.0,4.0,2532,0,-9 +2717093,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717094,1100105,57,3,1,-9.0,6.0,2071,1,-9 +2717095,1100105,57,3,1,-9.0,4.0,1713,1,-9 +2717096,1100105,57,3,1,-9.0,4.0,527,0,-9 +2717097,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717098,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2717099,1100105,57,3,1,-9.0,4.0,1054,0,-9 +2717100,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717101,1100105,57,3,1,-9.0,4.0,20261,0,-9 +2717102,1100105,57,3,1,-9.0,4.0,3241,0,-9 +2717103,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717104,1100105,57,3,1,-9.0,6.0,8458,1,-9 +2717105,1100105,57,3,1,-9.0,6.0,4818,1,-9 +2717106,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717107,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2717108,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717109,1100105,57,3,1,-9.0,6.0,18235,1,-9 +2717110,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717111,1100105,57,3,1,-9.0,4.0,1498,0,-9 +2717112,1100105,57,3,1,-9.0,6.0,848,1,-9 +2717113,1100105,57,3,1,-9.0,6.0,856,1,-9 +2717114,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717115,1100105,57,3,1,-9.0,6.0,769,0,-9 +2717116,1100105,57,3,1,-9.0,6.0,16974,1,-9 +2717117,1100105,57,3,1,-9.0,6.0,856,0,-9 +2717118,1100105,57,3,1,-9.0,6.0,828,0,-9 +2717119,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2717120,1100105,57,3,1,-9.0,6.0,48628,0,-9 +2717121,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717122,1100105,57,3,1,-9.0,6.0,13676,0,-9 +2717123,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717124,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717125,1100105,57,3,1,-9.0,4.0,4052,0,-9 +2717126,1100105,57,3,1,-9.0,6.0,1823,1,-9 +2717127,1100105,57,3,1,-9.0,4.0,632,0,-9 +2717128,1100105,57,3,1,-9.0,6.0,4052,1,-9 +2717129,1100105,57,3,1,-9.0,6.0,5518,1,-9 +2717130,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717131,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717132,1100105,57,3,1,-9.0,4.0,224,1,-9 +2717133,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717134,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717135,1100105,57,3,1,-9.0,6.0,2108,1,-9 +2717136,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717137,1100105,57,3,1,-9.0,6.0,6215,0,-9 +2717138,1100105,57,3,1,-9.0,6.0,12098,1,-9 +2717139,1100105,57,3,1,-9.0,6.0,10612,0,-9 +2717140,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717141,1100105,57,3,1,-9.0,6.0,1054,0,-9 +2717142,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2717143,1100105,57,3,1,-9.0,6.0,48628,0,-9 +2717144,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2717145,1100105,57,3,1,-9.0,6.0,8458,1,-9 +2717146,1100105,57,3,1,-9.0,6.0,25833,1,-9 +2717147,1100105,57,3,1,-9.0,6.0,8779,0,-9 +2717148,1100105,57,3,1,-9.0,4.0,4244,1,-9 +2717149,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717150,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717151,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717152,1100105,57,3,1,-9.0,6.0,15399,1,-9 +2717153,1100105,57,3,1,-9.0,6.0,6078,0,-9 +2717154,1100105,57,3,1,-9.0,4.0,17222,1,-9 +2717155,1100105,57,3,1,-9.0,4.0,2796,0,-9 +2717156,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717157,1100105,57,3,1,-9.0,4.0,5306,0,-9 +2717158,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717159,1100105,57,3,1,-9.0,6.0,2440,0,-9 +2717160,1100105,57,3,1,-9.0,6.0,1686,0,-9 +2717161,1100105,57,3,1,-9.0,4.0,3107,1,-9 +2717162,1100105,57,3,1,-9.0,4.0,11242,1,-9 +2717163,1100105,57,3,1,-9.0,6.0,2532,0,-9 +2717164,1100105,57,3,1,-9.0,6.0,2141,1,-9 +2717165,1100105,57,3,1,-9.0,6.0,1519,0,-9 +2717166,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717167,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2717168,1100105,57,3,1,-9.0,6.0,1519,0,-9 +2717169,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717170,1100105,57,3,1,-9.0,4.0,15709,1,-9 +2717171,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717172,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717173,1100105,57,3,1,-9.0,4.0,2890,0,-9 +2717174,1100105,57,3,1,-9.0,6.0,2071,1,-9 +2717175,1100105,57,3,1,-9.0,6.0,51392,1,-9 +2717176,1100105,57,3,1,-9.0,6.0,18235,1,-9 +2717177,1100105,57,3,1,-9.0,6.0,212,0,-9 +2717178,1100105,57,3,1,-9.0,6.0,1519,0,-9 +2717179,1100105,57,3,1,-9.0,6.0,856,0,-9 +2717180,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717181,1100105,57,3,1,-9.0,6.0,25833,1,-9 +2717182,1100105,57,3,1,-9.0,6.0,14347,1,-9 +2717183,1100105,57,3,1,-9.0,4.0,4217,0,-9 +2717184,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717185,1100105,57,3,1,-9.0,6.0,3212,1,-9 +2717186,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717187,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717188,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717189,1100105,57,3,1,-9.0,4.0,11242,1,-9 +2717190,1100105,57,3,1,-9.0,6.0,15537,0,-9 +2717191,1100105,57,3,1,-9.0,6.0,137,0,-9 +2717192,1100105,57,3,1,-9.0,4.0,2635,0,-9 +2717193,1100105,57,3,1,-9.0,6.0,5489,0,-9 +2717194,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717195,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2717196,1100105,57,3,1,-9.0,6.0,530,0,-9 +2717197,1100105,57,3,1,-9.0,4.0,148,0,-9 +2717198,1100105,57,3,1,-9.0,6.0,11394,1,-9 +2717199,1100105,57,3,1,-9.0,6.0,7354,1,-9 +2717200,1100105,57,3,1,-9.0,4.0,4082,1,-9 +2717201,1100105,57,3,1,-9.0,4.0,2635,1,-9 +2717202,1100105,57,3,1,-9.0,6.0,4052,0,-9 +2717203,1100105,57,3,1,-9.0,6.0,2141,0,-9 +2717204,1100105,57,3,1,-9.0,4.0,3545,0,-9 +2717205,1100105,57,3,1,-9.0,4.0,1061,0,-9 +2717206,1100105,57,3,1,-9.0,6.0,856,0,-9 +2717207,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2717208,1100105,57,3,1,-9.0,4.0,2635,0,-9 +2717209,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717210,1100105,57,3,1,-9.0,6.0,1273,0,-9 +2717211,1100105,57,3,1,-9.0,4.0,8104,0,-9 +2717212,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717213,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717214,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717215,1100105,57,3,1,-9.0,4.0,26552,1,-9 +2717216,1100105,57,3,1,-9.0,4.0,2355,0,-9 +2717217,1100105,57,3,1,-9.0,4.0,3212,0,-9 +2717218,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2717219,1100105,57,3,1,-9.0,4.0,5306,0,-9 +2717220,1100105,57,3,1,-9.0,6.0,4244,1,-9 +2717221,1100105,57,3,1,-9.0,4.0,4143,0,-9 +2717222,1100105,57,3,1,-9.0,4.0,1284,0,-9 +2717223,1100105,57,3,1,-9.0,6.0,4454,1,-9 +2717224,1100105,57,3,1,-9.0,6.0,10130,1,-9 +2717225,1100105,57,3,1,-9.0,6.0,6215,1,-9 +2717226,1100105,57,3,1,-9.0,6.0,5075,1,-9 +2717227,1100105,57,3,1,-9.0,6.0,530,0,-9 +2717228,1100105,57,3,1,-9.0,6.0,2108,0,-9 +2717229,1100105,57,3,1,-9.0,6.0,10612,0,-9 +2717230,1100105,57,3,1,-9.0,6.0,2532,0,-9 +2717231,1100105,57,3,1,-9.0,4.0,2127,0,-9 +2717232,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2717233,1100105,57,3,1,-9.0,6.0,2900,1,-9 +2717234,1100105,57,3,1,-9.0,4.0,4052,0,-9 +2717235,1100105,57,3,1,-9.0,6.0,7802,1,-9 +2717236,1100105,57,3,1,-9.0,6.0,1061,0,-9 +2717237,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717238,1100105,57,3,1,-9.0,4.0,177291,0,-9 +2717239,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717240,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717241,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717242,1100105,57,3,1,-9.0,6.0,5075,1,-9 +2717243,1100105,57,3,1,-9.0,4.0,2108,1,-9 +2717244,1100105,57,3,1,-9.0,6.0,421,0,-9 +2717245,1100105,57,3,1,-9.0,4.0,2589,0,-9 +2717246,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717247,1100105,57,3,1,-9.0,6.0,1346,0,-9 +2717248,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2717249,1100105,57,3,1,-9.0,4.0,530,0,-9 +2717250,1100105,57,3,1,-9.0,6.0,12848,1,-9 +2717251,1100105,57,3,1,-9.0,4.0,1606,1,-9 +2717252,1100105,57,3,1,-9.0,6.0,25833,1,-9 +2717253,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717254,1100105,57,3,1,-9.0,6.0,8458,1,-9 +2717255,1100105,57,3,1,-9.0,6.0,2676,1,-9 +2717256,1100105,57,3,1,-9.0,4.0,54825,1,-9 +2717257,1100105,57,3,1,-9.0,6.0,212,0,-9 +2717258,1100105,57,3,1,-9.0,4.0,148,0,-9 +2717259,1100105,57,3,1,-9.0,4.0,4661,1,-9 +2717260,1100105,57,3,1,-9.0,6.0,2071,1,-9 +2717261,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717262,1100105,57,3,1,-9.0,6.0,1167,1,-9 +2717263,1100105,57,3,1,-9.0,4.0,1864,0,-9 +2717264,1100105,57,3,1,-9.0,6.0,1519,0,-9 +2717265,1100105,57,3,1,-9.0,4.0,2635,1,-9 +2717266,1100105,57,3,1,-9.0,6.0,5489,0,-9 +2717267,1100105,57,3,1,-9.0,4.0,1864,0,-9 +2717268,1100105,57,3,1,-9.0,6.0,4052,0,-9 +2717269,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2717270,1100105,57,3,1,-9.0,4.0,5075,0,-9 +2717271,1100105,57,3,1,-9.0,6.0,2735,1,-9 +2717272,1100105,57,3,1,-9.0,4.0,6367,0,-9 +2717273,1100105,57,3,1,-9.0,4.0,4082,1,-9 +2717274,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717275,1100105,57,3,1,-9.0,6.0,2141,1,-9 +2717276,1100105,57,3,1,-9.0,4.0,6424,1,-9 +2717277,1100105,57,3,1,-9.0,4.0,2653,1,-9 +2717278,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2717279,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2717280,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717281,1100105,57,3,1,-9.0,6.0,3545,0,-9 +2717282,1100105,57,3,1,-9.0,4.0,2676,0,-9 +2717283,1100105,57,3,1,-9.0,4.0,2355,0,-9 +2717284,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2717285,1100105,57,3,1,-9.0,6.0,310,0,-9 +2717286,1100105,57,3,1,-9.0,4.0,1061,0,-9 +2717287,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717288,1100105,57,3,1,-9.0,4.0,1606,0,-9 +2717289,1100105,57,3,1,-9.0,6.0,2034,0,-9 +2717290,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717291,1100105,57,3,1,-9.0,6.0,1013,0,-9 +2717292,1100105,57,3,1,-9.0,4.0,1159,1,-9 +2717293,1100105,57,3,1,-9.0,6.0,4052,1,-9 +2717294,1100105,57,3,1,-9.0,4.0,3545,0,-9 +2717295,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717296,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717297,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717298,1100105,57,3,1,-9.0,6.0,8458,1,-9 +2717299,1100105,57,3,1,-9.0,4.0,3107,1,-9 +2717300,1100105,57,3,1,-9.0,6.0,3039,1,-9 +2717301,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2717302,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717303,1100105,57,3,1,-9.0,4.0,8104,1,-9 +2717304,1100105,57,3,1,-9.0,4.0,3039,0,-9 +2717305,1100105,57,3,1,-9.0,4.0,5489,0,-9 +2717306,1100105,57,3,1,-9.0,4.0,4052,0,-9 +2717307,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2717308,1100105,57,3,1,-9.0,6.0,4818,1,-9 +2717309,1100105,57,3,1,-9.0,6.0,2214,1,-9 +2717310,1100105,57,3,1,-9.0,4.0,3373,0,-9 +2717311,1100105,57,3,1,-9.0,6.0,2735,1,-9 +2717312,1100105,57,3,1,-9.0,6.0,5075,1,-9 +2717313,1100105,57,3,1,-9.0,4.0,12430,1,-9 +2717314,1100105,57,3,1,-9.0,4.0,21086,1,-9 +2717315,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2717316,1100105,57,3,1,-9.0,6.0,3373,0,-9 +2717317,1100105,57,3,1,-9.0,4.0,5489,0,-9 +2717318,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2717319,1100105,57,3,1,-9.0,6.0,5065,0,-9 +2717320,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717321,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717322,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717323,1100105,57,3,1,-9.0,6.0,6326,1,-9 +2717324,1100105,57,3,1,-9.0,4.0,7395,0,-9 +2717325,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717326,1100105,57,3,1,-9.0,6.0,2071,1,-9 +2717327,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717328,1100105,57,3,1,-9.0,6.0,2026,0,-9 +2717329,1100105,57,3,1,-9.0,4.0,11242,1,-9 +2717330,1100105,57,3,1,-9.0,4.0,527,0,-9 +2717331,1100105,57,3,1,-9.0,4.0,1013,0,-9 +2717332,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717333,1100105,57,3,1,-9.0,4.0,2676,0,-9 +2717334,1100105,57,3,1,-9.0,4.0,10637,1,-9 +2717335,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717336,1100105,57,3,1,-9.0,4.0,2122,0,-9 +2717337,1100105,57,3,1,-9.0,6.0,151,0,-9 +2717338,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2717339,1100105,57,3,1,-9.0,4.0,6367,0,-9 +2717340,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717341,1100105,57,3,1,-9.0,4.0,21086,1,-9 +2717342,1100105,57,3,1,-9.0,6.0,7802,1,-9 +2717343,1100105,57,3,1,-9.0,4.0,64,1,-9 +2717344,1100105,57,3,1,-9.0,6.0,3140,1,-9 +2717345,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717346,1100105,57,3,1,-9.0,6.0,310,0,-9 +2717347,1100105,57,3,1,-9.0,6.0,2676,1,-9 +2717348,1100105,57,3,1,-9.0,6.0,3212,1,-9 +2717349,1100105,57,3,1,-9.0,6.0,421,0,-9 +2717350,1100105,57,3,1,-9.0,4.0,4868,1,-9 +2717351,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717352,1100105,57,3,1,-9.0,6.0,3212,1,-9 +2717353,1100105,57,3,1,-9.0,6.0,1450,0,-9 +2717354,1100105,57,3,1,-9.0,4.0,8489,1,-9 +2717355,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717356,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2717357,1100105,57,3,1,-9.0,6.0,1897,1,-9 +2717358,1100105,57,3,1,-9.0,4.0,5139,0,-9 +2717359,1100105,57,3,1,-9.0,6.0,856,1,-9 +2717360,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717361,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2717362,1100105,57,3,1,-9.0,4.0,5489,0,-9 +2717363,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717364,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717365,1100105,57,3,1,-9.0,4.0,24625,1,-9 +2717366,1100105,57,3,1,-9.0,4.0,14561,1,-9 +2717367,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717368,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717369,1100105,57,3,1,-9.0,6.0,1686,0,-9 +2717370,1100105,57,3,1,-9.0,4.0,12157,1,-9 +2717371,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2717372,1100105,57,3,1,-9.0,6.0,642,0,-9 +2717373,1100105,57,3,1,-9.0,4.0,1657,1,-9 +2717374,1100105,57,3,1,-9.0,4.0,2108,0,-9 +2717375,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2717376,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717377,1100105,57,3,1,-9.0,4.0,1061,0,-9 +2717378,1100105,57,3,1,-9.0,4.0,880,0,-9 +2717379,1100105,57,3,1,-9.0,6.0,2741,1,-9 +2717380,1100105,57,3,1,-9.0,6.0,4282,0,-9 +2717381,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2717382,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717383,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717384,1100105,57,3,1,-9.0,4.0,6367,0,-9 +2717385,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717386,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717387,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717388,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717389,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717390,1100105,57,3,1,-9.0,6.0,8434,0,-9 +2717391,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717392,1100105,57,3,1,-9.0,6.0,1035,1,-9 +2717393,1100105,57,3,1,-9.0,4.0,4244,1,-9 +2717394,1100105,57,3,1,-9.0,6.0,1054,0,-9 +2717395,1100105,57,3,1,-9.0,4.0,7091,0,-9 +2717396,1100105,57,3,1,-9.0,4.0,148,0,-9 +2717397,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717398,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2717399,1100105,57,3,1,-9.0,6.0,1035,1,-9 +2717400,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2717401,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2717402,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717403,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717404,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717405,1100105,57,3,1,-9.0,6.0,1657,1,-9 +2717406,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2717407,1100105,57,3,1,-9.0,4.0,4661,1,-9 +2717408,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717409,1100105,57,3,1,-9.0,4.0,1713,1,-9 +2717410,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717411,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717412,1100105,57,3,1,-9.0,6.0,6215,0,-9 +2717413,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717414,1100105,57,3,1,-9.0,6.0,442,0,-9 +2717415,1100105,57,3,1,-9.0,6.0,5075,1,-9 +2717416,1100105,57,3,1,-9.0,6.0,2122,1,-9 +2717417,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717418,1100105,57,3,1,-9.0,4.0,148,0,-9 +2717419,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717420,1100105,57,3,1,-9.0,6.0,2141,1,-9 +2717421,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717422,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717423,1100105,57,3,1,-9.0,4.0,21086,1,-9 +2717424,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717425,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717426,1100105,57,3,1,-9.0,6.0,5271,1,-9 +2717427,1100105,57,3,1,-9.0,6.0,6078,0,-9 +2717428,1100105,57,3,1,-9.0,4.0,1054,0,-9 +2717429,1100105,57,3,1,-9.0,6.0,2676,1,-9 +2717430,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717431,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2717432,1100105,57,3,1,-9.0,4.0,527,0,-9 +2717433,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717434,1100105,57,3,1,-9.0,4.0,3107,1,-9 +2717435,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717436,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717437,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717438,1100105,57,3,1,-9.0,6.0,2108,0,-9 +2717439,1100105,57,3,1,-9.0,4.0,7598,1,-9 +2717440,1100105,57,3,1,-9.0,6.0,1061,0,-9 +2717441,1100105,57,3,1,-9.0,6.0,6326,0,-9 +2717442,1100105,57,3,1,-9.0,4.0,2122,1,-9 +2717443,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717444,1100105,57,3,1,-9.0,4.0,7902,0,-9 +2717445,1100105,57,3,1,-9.0,6.0,5489,0,-9 +2717446,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717447,1100105,57,3,1,-9.0,6.0,5518,1,-9 +2717448,1100105,57,3,1,-9.0,4.0,6990,1,-9 +2717449,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717450,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2717451,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717452,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717453,1100105,57,3,1,-9.0,4.0,10358,1,-9 +2717454,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717455,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717456,1100105,57,3,1,-9.0,6.0,25833,1,-9 +2717457,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717458,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717459,1100105,57,3,1,-9.0,4.0,3184,0,-9 +2717460,1100105,57,3,1,-9.0,4.0,5624,1,-9 +2717461,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717462,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717463,1100105,57,3,1,-9.0,6.0,2071,1,-9 +2717464,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2717465,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2717466,1100105,57,3,1,-9.0,4.0,1864,0,-9 +2717467,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2717468,1100105,57,3,1,-9.0,4.0,8489,1,-9 +2717469,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717470,1100105,57,3,1,-9.0,6.0,310,0,-9 +2717471,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717472,1100105,57,3,1,-9.0,6.0,2532,0,-9 +2717473,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717474,1100105,57,3,1,-9.0,4.0,1013,1,-9 +2717475,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717476,1100105,57,3,1,-9.0,4.0,2122,0,-9 +2717477,1100105,57,3,1,-9.0,6.0,4052,0,-9 +2717478,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717479,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717480,1100105,57,3,1,-9.0,4.0,20261,0,-9 +2717481,1100105,57,3,1,-9.0,6.0,1177,0,-9 +2717482,1100105,57,3,1,-9.0,6.0,18235,1,-9 +2717483,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717484,1100105,57,3,1,-9.0,4.0,2127,0,-9 +2717485,1100105,57,3,1,-9.0,4.0,5836,1,-9 +2717486,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717487,1100105,57,3,1,-9.0,4.0,1620,0,-9 +2717488,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717489,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717490,1100105,57,3,1,-9.0,4.0,7380,0,-9 +2717491,1100105,57,3,1,-9.0,4.0,0,0,-9 +2717492,1100105,57,3,1,-9.0,4.0,2141,0,-9 +2717493,1100105,57,3,1,-9.0,6.0,4282,1,-9 +2717494,1100105,57,3,1,-9.0,6.0,2108,0,-9 +2717495,1100105,57,3,1,-9.0,4.0,1061,0,-9 +2717496,1100105,57,3,1,-9.0,6.0,1070,0,-9 +2717497,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717498,1100105,57,3,1,-9.0,4.0,1606,1,-9 +2717499,1100105,57,3,1,-9.0,6.0,15537,0,-9 +2717500,1100105,57,3,1,-9.0,6.0,1581,1,-9 +2717501,1100105,57,3,1,-9.0,6.0,856,1,-9 +2717502,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717503,1100105,57,3,1,-9.0,4.0,1013,0,-9 +2717504,1100105,57,3,1,-9.0,6.0,1061,0,-9 +2717505,1100105,57,3,1,-9.0,6.0,1519,0,-9 +2717506,1100105,57,3,1,-9.0,6.0,25833,1,-9 +2717507,1100105,57,3,1,-9.0,6.0,4052,0,-9 +2717508,1100105,57,3,1,-9.0,6.0,2676,1,-9 +2717509,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717510,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717511,1100105,57,3,1,-9.0,6.0,5306,1,-9 +2717512,1100105,57,3,1,-9.0,4.0,1581,1,-9 +2717513,1100105,57,3,1,-9.0,6.0,1686,0,-9 +2717514,1100105,57,3,1,-9.0,4.0,2127,0,-9 +2717515,1100105,57,3,1,-9.0,4.0,2676,0,-9 +2717516,1100105,57,3,1,-9.0,4.0,4217,0,-9 +2717517,1100105,57,3,1,-9.0,6.0,642,0,-9 +2717518,1100105,57,3,1,-9.0,6.0,1519,0,-9 +2717519,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2717520,1100105,57,3,1,-9.0,6.0,2735,1,-9 +2717521,1100105,57,3,1,-9.0,6.0,24839,0,-9 +2717522,1100105,57,3,1,-9.0,6.0,8458,1,-9 +2717523,1100105,57,3,1,-9.0,6.0,1070,1,-9 +2717524,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2717525,1100105,57,3,1,-9.0,6.0,3647,0,-9 +2717526,1100105,57,3,1,-9.0,4.0,1013,0,-9 +2717527,1100105,57,3,1,-9.0,4.0,2532,0,-9 +2717528,1100105,57,3,1,-9.0,4.0,10637,1,-9 +2717529,1100105,57,3,1,-9.0,6.0,7802,1,-9 +2717530,1100105,57,3,1,-9.0,4.0,29379,0,-9 +2717531,1100105,57,3,1,-9.0,6.0,1054,0,-9 +2717532,1100105,57,3,1,-9.0,6.0,2071,1,-9 +2717533,1100105,57,3,1,-9.0,4.0,1581,1,-9 +2717534,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717535,1100105,57,3,1,-9.0,4.0,26103,1,-9 +2717536,1100105,57,3,1,-9.0,6.0,16716,0,-9 +2717537,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717538,1100105,57,3,1,-9.0,4.0,4244,1,-9 +2717539,1100105,57,3,1,-9.0,6.0,0,0,-9 +2717540,1100105,57,3,1,-9.0,4.0,527,0,-9 +2717541,1100105,57,3,1,-9.0,6.0,4775,1,-9 +2717542,1100105,57,3,1,-9.0,4.0,2071,0,-9 +2717543,1100105,57,3,1,-9.0,4.0,8104,0,-9 +2717544,1100105,57,3,1,-9.0,6.0,1159,0,-9 +2717545,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2717546,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717547,1100105,58,3,1,-9.0,6.0,1792,0,-9 +2717548,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2717549,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2717550,1100105,58,3,1,-9.0,6.0,210,0,-9 +2717551,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717552,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2717553,1100105,58,3,1,-9.0,6.0,25833,1,-9 +2717554,1100105,58,3,1,-9.0,4.0,2796,0,-9 +2717555,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717556,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2717557,1100105,58,3,1,-9.0,4.0,709,0,-9 +2717558,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717559,1100105,58,3,1,-9.0,4.0,3107,1,-9 +2717560,1100105,58,3,1,-9.0,6.0,5271,1,-9 +2717561,1100105,58,3,1,-9.0,4.0,21841,1,-9 +2717562,1100105,58,3,1,-9.0,4.0,21086,1,-9 +2717563,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717564,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717565,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717566,1100105,58,3,1,-9.0,6.0,642,0,-9 +2717567,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717568,1100105,58,3,1,-9.0,4.0,15196,0,-9 +2717569,1100105,58,3,1,-9.0,6.0,2532,0,-9 +2717570,1100105,58,3,1,-9.0,4.0,21086,1,-9 +2717571,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2717572,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717573,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2717574,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717575,1100105,58,3,1,-9.0,6.0,53062,1,-9 +2717576,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717577,1100105,58,3,1,-9.0,4.0,2890,0,-9 +2717578,1100105,58,3,1,-9.0,6.0,3647,0,-9 +2717579,1100105,58,3,1,-9.0,4.0,1713,1,-9 +2717580,1100105,58,3,1,-9.0,6.0,1177,0,-9 +2717581,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2717582,1100105,58,3,1,-9.0,4.0,7598,1,-9 +2717583,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717584,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717585,1100105,58,3,1,-9.0,4.0,6424,1,-9 +2717586,1100105,58,3,1,-9.0,6.0,3545,0,-9 +2717587,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717588,1100105,58,3,1,-9.0,4.0,7598,1,-9 +2717589,1100105,58,3,1,-9.0,6.0,12848,1,-9 +2717590,1100105,58,3,1,-9.0,6.0,3039,0,-9 +2717591,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717592,1100105,58,3,1,-9.0,6.0,212,0,-9 +2717593,1100105,58,3,1,-9.0,4.0,20261,0,-9 +2717594,1100105,58,3,1,-9.0,6.0,2034,0,-9 +2717595,1100105,58,3,1,-9.0,6.0,2735,1,-9 +2717596,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717597,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717598,1100105,58,3,1,-9.0,6.0,214,1,-9 +2717599,1100105,58,3,1,-9.0,6.0,14916,1,-9 +2717600,1100105,58,3,1,-9.0,6.0,442,0,-9 +2717601,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2717602,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2717603,1100105,58,3,1,-9.0,6.0,421,0,-9 +2717604,1100105,58,3,1,-9.0,4.0,148,0,-9 +2717605,1100105,58,3,1,-9.0,6.0,214,1,-9 +2717606,1100105,58,3,1,-9.0,4.0,20261,0,-9 +2717607,1100105,58,3,1,-9.0,6.0,3373,0,-9 +2717608,1100105,58,3,1,-9.0,6.0,902,0,-9 +2717609,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2717610,1100105,58,3,1,-9.0,4.0,177291,0,-9 +2717611,1100105,58,3,1,-9.0,6.0,6078,0,-9 +2717612,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717613,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2717614,1100105,58,3,1,-9.0,4.0,7598,1,-9 +2717615,1100105,58,3,1,-9.0,4.0,64,0,-9 +2717616,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2717617,1100105,58,3,1,-9.0,4.0,3163,0,-9 +2717618,1100105,58,3,1,-9.0,6.0,1061,1,-9 +2717619,1100105,58,3,1,-9.0,6.0,2532,0,-9 +2717620,1100105,58,3,1,-9.0,6.0,48628,0,-9 +2717621,1100105,58,3,1,-9.0,6.0,1792,0,-9 +2717622,1100105,58,3,1,-9.0,4.0,506,0,-9 +2717623,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717624,1100105,58,3,1,-9.0,6.0,13676,0,-9 +2717625,1100105,58,3,1,-9.0,6.0,2141,1,-9 +2717626,1100105,58,3,1,-9.0,4.0,1823,1,-9 +2717627,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2717628,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2717629,1100105,58,3,1,-9.0,6.0,997,0,-9 +2717630,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717631,1100105,58,3,1,-9.0,6.0,1061,0,-9 +2717632,1100105,58,3,1,-9.0,6.0,3039,0,-9 +2717633,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717634,1100105,58,3,1,-9.0,4.0,1620,0,-9 +2717635,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717636,1100105,58,3,1,-9.0,6.0,1035,1,-9 +2717637,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717638,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717639,1100105,58,3,1,-9.0,4.0,4661,1,-9 +2717640,1100105,58,3,1,-9.0,6.0,4972,1,-9 +2717641,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2717642,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2717643,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2717644,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717645,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2717646,1100105,58,3,1,-9.0,4.0,527,0,-9 +2717647,1100105,58,3,1,-9.0,4.0,4868,1,-9 +2717648,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717649,1100105,58,3,1,-9.0,4.0,1591,0,-9 +2717650,1100105,58,3,1,-9.0,4.0,880,0,-9 +2717651,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717652,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2717653,1100105,58,3,1,-9.0,6.0,1391,0,-9 +2717654,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717655,1100105,58,3,1,-9.0,6.0,6078,0,-9 +2717656,1100105,58,3,1,-9.0,6.0,2141,1,-9 +2717657,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717658,1100105,58,3,1,-9.0,6.0,18235,1,-9 +2717659,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2717660,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717661,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717662,1100105,58,3,1,-9.0,6.0,2141,1,-9 +2717663,1100105,58,3,1,-9.0,4.0,1061,0,-9 +2717664,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717665,1100105,58,3,1,-9.0,6.0,3107,1,-9 +2717666,1100105,58,3,1,-9.0,4.0,4217,0,-9 +2717667,1100105,58,3,1,-9.0,6.0,2034,0,-9 +2717668,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717669,1100105,58,3,1,-9.0,4.0,4217,0,-9 +2717670,1100105,58,3,1,-9.0,6.0,1519,0,-9 +2717671,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2717672,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717673,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2717674,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2717675,1100105,58,3,1,-9.0,6.0,51392,1,-9 +2717676,1100105,58,3,1,-9.0,6.0,421,0,-9 +2717677,1100105,58,3,1,-9.0,6.0,4282,1,-9 +2717678,1100105,58,3,1,-9.0,6.0,310,0,-9 +2717679,1100105,58,3,1,-9.0,6.0,421,0,-9 +2717680,1100105,58,3,1,-9.0,6.0,10130,1,-9 +2717681,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717682,1100105,58,3,1,-9.0,6.0,4282,0,-9 +2717683,1100105,58,3,1,-9.0,4.0,3163,0,-9 +2717684,1100105,58,3,1,-9.0,4.0,2108,0,-9 +2717685,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2717686,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717687,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717688,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717689,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717690,1100105,58,3,1,-9.0,6.0,1070,1,-9 +2717691,1100105,58,3,1,-9.0,4.0,3107,1,-9 +2717692,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717693,1100105,58,3,1,-9.0,4.0,1591,0,-9 +2717694,1100105,58,3,1,-9.0,6.0,3747,0,-9 +2717695,1100105,58,3,1,-9.0,6.0,1273,0,-9 +2717696,1100105,58,3,1,-9.0,6.0,856,0,-9 +2717697,1100105,58,3,1,-9.0,4.0,3212,0,-9 +2717698,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717699,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717700,1100105,58,3,1,-9.0,4.0,1035,0,-9 +2717701,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717702,1100105,58,3,1,-9.0,6.0,2108,0,-9 +2717703,1100105,58,3,1,-9.0,6.0,10612,0,-9 +2717704,1100105,58,3,1,-9.0,6.0,642,0,-9 +2717705,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2717706,1100105,58,3,1,-9.0,6.0,212,0,-9 +2717707,1100105,58,3,1,-9.0,6.0,421,0,-9 +2717708,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2717709,1100105,58,3,1,-9.0,6.0,8458,1,-9 +2717710,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717711,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2717712,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2717713,1100105,58,3,1,-9.0,6.0,4818,1,-9 +2717714,1100105,58,3,1,-9.0,4.0,1061,0,-9 +2717715,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2717716,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2717717,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2717718,1100105,58,3,1,-9.0,6.0,1070,1,-9 +2717719,1100105,58,3,1,-9.0,6.0,2026,0,-9 +2717720,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717721,1100105,58,3,1,-9.0,6.0,3395,0,-9 +2717722,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2717723,1100105,58,3,1,-9.0,4.0,3039,1,-9 +2717724,1100105,58,3,1,-9.0,4.0,3104,0,-9 +2717725,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717726,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717727,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717728,1100105,58,3,1,-9.0,6.0,2431,0,-9 +2717729,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717730,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717731,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717732,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2717733,1100105,58,3,1,-9.0,4.0,11242,1,-9 +2717734,1100105,58,3,1,-9.0,6.0,3039,1,-9 +2717735,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2717736,1100105,58,3,1,-9.0,6.0,1061,1,-9 +2717737,1100105,58,3,1,-9.0,4.0,26103,1,-9 +2717738,1100105,58,3,1,-9.0,4.0,527,0,-9 +2717739,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717740,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2717741,1100105,58,3,1,-9.0,6.0,787,0,-9 +2717742,1100105,58,3,1,-9.0,4.0,4661,1,-9 +2717743,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717744,1100105,58,3,1,-9.0,6.0,24839,0,-9 +2717745,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717746,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2717747,1100105,58,3,1,-9.0,4.0,1713,1,-9 +2717748,1100105,58,3,1,-9.0,4.0,15196,0,-9 +2717749,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717750,1100105,58,3,1,-9.0,4.0,3714,0,-9 +2717751,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717752,1100105,58,3,1,-9.0,4.0,3373,0,-9 +2717753,1100105,58,3,1,-9.0,4.0,3163,1,-9 +2717754,1100105,58,3,1,-9.0,6.0,856,1,-9 +2717755,1100105,58,3,1,-9.0,4.0,527,0,-9 +2717756,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717757,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2717758,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717759,1100105,58,3,1,-9.0,6.0,4818,1,-9 +2717760,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717761,1100105,58,3,1,-9.0,4.0,2355,0,-9 +2717762,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2717763,1100105,58,3,1,-9.0,6.0,7802,1,-9 +2717764,1100105,58,3,1,-9.0,4.0,3163,0,-9 +2717765,1100105,58,3,1,-9.0,4.0,3212,0,-9 +2717766,1100105,58,3,1,-9.0,4.0,530,0,-9 +2717767,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717768,1100105,58,3,1,-9.0,4.0,2589,0,-9 +2717769,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2717770,1100105,58,3,1,-9.0,4.0,148,0,-9 +2717771,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717772,1100105,58,3,1,-9.0,6.0,3373,0,-9 +2717773,1100105,58,3,1,-9.0,4.0,1061,0,-9 +2717774,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717775,1100105,58,3,1,-9.0,6.0,4744,1,-9 +2717776,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717777,1100105,58,3,1,-9.0,6.0,14183,1,-9 +2717778,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2717779,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717780,1100105,58,3,1,-9.0,4.0,527,0,-9 +2717781,1100105,58,3,1,-9.0,6.0,12098,1,-9 +2717782,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2717783,1100105,58,3,1,-9.0,4.0,880,0,-9 +2717784,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717785,1100105,58,3,1,-9.0,4.0,5836,1,-9 +2717786,1100105,58,3,1,-9.0,6.0,18235,1,-9 +2717787,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717788,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717789,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717790,1100105,58,3,1,-9.0,6.0,856,1,-9 +2717791,1100105,58,3,1,-9.0,4.0,5139,0,-9 +2717792,1100105,58,3,1,-9.0,6.0,535,0,-9 +2717793,1100105,58,3,1,-9.0,6.0,8458,1,-9 +2717794,1100105,58,3,1,-9.0,6.0,2214,1,-9 +2717795,1100105,58,3,1,-9.0,6.0,7354,1,-9 +2717796,1100105,58,3,1,-9.0,6.0,9489,1,-9 +2717797,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2717798,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717799,1100105,58,3,1,-9.0,6.0,1177,0,-9 +2717800,1100105,58,3,1,-9.0,4.0,2796,0,-9 +2717801,1100105,58,3,1,-9.0,4.0,3212,0,-9 +2717802,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717803,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717804,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717805,1100105,58,3,1,-9.0,6.0,10130,1,-9 +2717806,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717807,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2717808,1100105,58,3,1,-9.0,6.0,310,0,-9 +2717809,1100105,58,3,1,-9.0,6.0,1450,0,-9 +2717810,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717811,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717812,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717813,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717814,1100105,58,3,1,-9.0,4.0,880,0,-9 +2717815,1100105,58,3,1,-9.0,6.0,3163,1,-9 +2717816,1100105,58,3,1,-9.0,6.0,374,0,-9 +2717817,1100105,58,3,1,-9.0,4.0,2676,0,-9 +2717818,1100105,58,3,1,-9.0,4.0,5489,0,-9 +2717819,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717820,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2717821,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717822,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2717823,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717824,1100105,58,3,1,-9.0,6.0,7091,1,-9 +2717825,1100105,58,3,1,-9.0,6.0,828,0,-9 +2717826,1100105,58,3,1,-9.0,6.0,10637,1,-9 +2717827,1100105,58,3,1,-9.0,4.0,148,0,-9 +2717828,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717829,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2717830,1100105,58,3,1,-9.0,4.0,2122,1,-9 +2717831,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717832,1100105,58,3,1,-9.0,6.0,8712,1,-9 +2717833,1100105,58,3,1,-9.0,4.0,7395,0,-9 +2717834,1100105,58,3,1,-9.0,6.0,10130,1,-9 +2717835,1100105,58,3,1,-9.0,4.0,2532,0,-9 +2717836,1100105,58,3,1,-9.0,4.0,1620,0,-9 +2717837,1100105,58,3,1,-9.0,4.0,495,1,-9 +2717838,1100105,58,3,1,-9.0,6.0,374,0,-9 +2717839,1100105,58,3,1,-9.0,4.0,2228,1,-9 +2717840,1100105,58,3,1,-9.0,6.0,25304,1,-9 +2717841,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2717842,1100105,58,3,1,-9.0,4.0,1713,1,-9 +2717843,1100105,58,3,1,-9.0,4.0,4661,1,-9 +2717844,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717845,1100105,58,3,1,-9.0,6.0,442,0,-9 +2717846,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717847,1100105,58,3,1,-9.0,4.0,24625,1,-9 +2717848,1100105,58,3,1,-9.0,4.0,1054,0,-9 +2717849,1100105,58,3,1,-9.0,6.0,25833,1,-9 +2717850,1100105,58,3,1,-9.0,4.0,3212,0,-9 +2717851,1100105,58,3,1,-9.0,4.0,1606,1,-9 +2717852,1100105,58,3,1,-9.0,6.0,16159,0,-9 +2717853,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2717854,1100105,58,3,1,-9.0,6.0,4818,1,-9 +2717855,1100105,58,3,1,-9.0,4.0,2144,1,-9 +2717856,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717857,1100105,58,3,1,-9.0,4.0,7380,0,-9 +2717858,1100105,58,3,1,-9.0,6.0,4244,1,-9 +2717859,1100105,58,3,1,-9.0,4.0,3545,0,-9 +2717860,1100105,58,3,1,-9.0,4.0,5489,0,-9 +2717861,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2717862,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717863,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717864,1100105,58,3,1,-9.0,4.0,4143,0,-9 +2717865,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2717866,1100105,58,3,1,-9.0,6.0,856,1,-9 +2717867,1100105,58,3,1,-9.0,6.0,6215,0,-9 +2717868,1100105,58,3,1,-9.0,4.0,3107,1,-9 +2717869,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2717870,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2717871,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2717872,1100105,58,3,1,-9.0,4.0,2589,0,-9 +2717873,1100105,58,3,1,-9.0,6.0,7250,1,-9 +2717874,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2717875,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717876,1100105,58,3,1,-9.0,6.0,2676,0,-9 +2717877,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717878,1100105,58,3,1,-9.0,4.0,955,0,-9 +2717879,1100105,58,3,1,-9.0,4.0,31075,1,-9 +2717880,1100105,58,3,1,-9.0,6.0,4052,1,-9 +2717881,1100105,58,3,1,-9.0,4.0,5353,0,-9 +2717882,1100105,58,3,1,-9.0,4.0,256,1,-9 +2717883,1100105,58,3,1,-9.0,6.0,4972,1,-9 +2717884,1100105,58,3,1,-9.0,6.0,4052,1,-9 +2717885,1100105,58,3,1,-9.0,4.0,7380,0,-9 +2717886,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717887,1100105,58,3,1,-9.0,6.0,25833,1,-9 +2717888,1100105,58,3,1,-9.0,4.0,495,1,-9 +2717889,1100105,58,3,1,-9.0,6.0,2108,0,-9 +2717890,1100105,58,3,1,-9.0,4.0,955,0,-9 +2717891,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2717892,1100105,58,3,1,-9.0,6.0,3747,0,-9 +2717893,1100105,58,3,1,-9.0,4.0,148,0,-9 +2717894,1100105,58,3,1,-9.0,4.0,3545,0,-9 +2717895,1100105,58,3,1,-9.0,4.0,7902,0,-9 +2717896,1100105,58,3,1,-9.0,6.0,1061,0,-9 +2717897,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717898,1100105,58,3,1,-9.0,6.0,10612,0,-9 +2717899,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2717900,1100105,58,3,1,-9.0,4.0,10637,1,-9 +2717901,1100105,58,3,1,-9.0,6.0,2026,0,-9 +2717902,1100105,58,3,1,-9.0,6.0,1346,0,-9 +2717903,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717904,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717905,1100105,58,3,1,-9.0,4.0,1897,0,-9 +2717906,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2717907,1100105,58,3,1,-9.0,6.0,1159,0,-9 +2717908,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2717909,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717910,1100105,58,3,1,-9.0,6.0,1167,1,-9 +2717911,1100105,58,3,1,-9.0,4.0,-1114,0,-9 +2717912,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717913,1100105,58,3,1,-9.0,6.0,48628,0,-9 +2717914,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2717915,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2717916,1100105,58,3,1,-9.0,6.0,1215,0,-9 +2717917,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2717918,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2717919,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717920,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2717921,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717922,1100105,58,3,1,-9.0,4.0,955,0,-9 +2717923,1100105,58,3,1,-9.0,4.0,1620,0,-9 +2717924,1100105,58,3,1,-9.0,6.0,3039,1,-9 +2717925,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2717926,1100105,58,3,1,-9.0,6.0,15399,1,-9 +2717927,1100105,58,3,1,-9.0,6.0,2431,1,-9 +2717928,1100105,58,3,1,-9.0,4.0,1864,0,-9 +2717929,1100105,58,3,1,-9.0,4.0,955,0,-9 +2717930,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717931,1100105,58,3,1,-9.0,4.0,3039,0,-9 +2717932,1100105,58,3,1,-9.0,6.0,4818,1,-9 +2717933,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2717934,1100105,58,3,1,-9.0,6.0,535,0,-9 +2717935,1100105,58,3,1,-9.0,4.0,1620,0,-9 +2717936,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2717937,1100105,58,3,1,-9.0,6.0,7091,1,-9 +2717938,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717939,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2717940,1100105,58,3,1,-9.0,4.0,29379,0,-9 +2717941,1100105,58,3,1,-9.0,6.0,535,0,-9 +2717942,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717943,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2717944,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717945,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717946,1100105,58,3,1,-9.0,6.0,7802,1,-9 +2717947,1100105,58,3,1,-9.0,4.0,4143,0,-9 +2717948,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717949,1100105,58,3,1,-9.0,4.0,16869,1,-9 +2717950,1100105,58,3,1,-9.0,6.0,997,0,-9 +2717951,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717952,1100105,58,3,1,-9.0,6.0,18235,1,-9 +2717953,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717954,1100105,58,3,1,-9.0,4.0,5624,1,-9 +2717955,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717956,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2717957,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2717958,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717959,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717960,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2717961,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717962,1100105,58,3,1,-9.0,4.0,1054,0,-9 +2717963,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717964,1100105,58,3,1,-9.0,6.0,1061,1,-9 +2717965,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717966,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717967,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717968,1100105,58,3,1,-9.0,4.0,3545,0,-9 +2717969,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2717970,1100105,58,3,1,-9.0,4.0,379,0,-9 +2717971,1100105,58,3,1,-9.0,6.0,7354,1,-9 +2717972,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717973,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717974,1100105,58,3,1,-9.0,4.0,1159,1,-9 +2717975,1100105,58,3,1,-9.0,4.0,1159,1,-9 +2717976,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717977,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2717978,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717979,1100105,58,3,1,-9.0,6.0,1581,1,-9 +2717980,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2717981,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2717982,1100105,58,3,1,-9.0,4.0,53533,1,-9 +2717983,1100105,58,3,1,-9.0,6.0,1450,0,-9 +2717984,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717985,1100105,58,3,1,-9.0,6.0,24839,0,-9 +2717986,1100105,58,3,1,-9.0,4.0,2676,0,-9 +2717987,1100105,58,3,1,-9.0,4.0,0,0,-9 +2717988,1100105,58,3,1,-9.0,6.0,3107,1,-9 +2717989,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717990,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2717991,1100105,58,3,1,-9.0,6.0,15399,1,-9 +2717992,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717993,1100105,58,3,1,-9.0,6.0,14347,1,-9 +2717994,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2717995,1100105,58,3,1,-9.0,4.0,25696,0,-9 +2717996,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717997,1100105,58,3,1,-9.0,4.0,632,0,-9 +2717998,1100105,58,3,1,-9.0,6.0,0,0,-9 +2717999,1100105,58,3,1,-9.0,6.0,2532,0,-9 +2718000,1100105,58,3,1,-9.0,6.0,2440,0,-9 +2718001,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718002,1100105,58,3,1,-9.0,6.0,1591,0,-9 +2718003,1100105,58,3,1,-9.0,4.0,7380,0,-9 +2718004,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718005,1100105,58,3,1,-9.0,6.0,265,1,-9 +2718006,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2718007,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718008,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718009,1100105,58,3,1,-9.0,4.0,53533,1,-9 +2718010,1100105,58,3,1,-9.0,6.0,5489,0,-9 +2718011,1100105,58,3,1,-9.0,4.0,12157,1,-9 +2718012,1100105,58,3,1,-9.0,4.0,54825,1,-9 +2718013,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718014,1100105,58,3,1,-9.0,6.0,856,1,-9 +2718015,1100105,58,3,1,-9.0,4.0,527,0,-9 +2718016,1100105,58,3,1,-9.0,4.0,20261,0,-9 +2718017,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718018,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2718019,1100105,58,3,1,-9.0,6.0,3140,1,-9 +2718020,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718021,1100105,58,3,1,-9.0,4.0,8104,1,-9 +2718022,1100105,58,3,1,-9.0,6.0,2653,1,-9 +2718023,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718024,1100105,58,3,1,-9.0,6.0,12098,1,-9 +2718025,1100105,58,3,1,-9.0,4.0,1968,1,-9 +2718026,1100105,58,3,1,-9.0,4.0,527,0,-9 +2718027,1100105,58,3,1,-9.0,6.0,7428,1,-9 +2718028,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718029,1100105,58,3,1,-9.0,6.0,7250,1,-9 +2718030,1100105,58,3,1,-9.0,4.0,5836,1,-9 +2718031,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2718032,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2718033,1100105,58,3,1,-9.0,6.0,4143,1,-9 +2718034,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718035,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718036,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718037,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718038,1100105,58,3,1,-9.0,4.0,2122,1,-9 +2718039,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2718040,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718041,1100105,58,3,1,-9.0,6.0,5271,1,-9 +2718042,1100105,58,3,1,-9.0,6.0,1215,0,-9 +2718043,1100105,58,3,1,-9.0,4.0,5489,0,-9 +2718044,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2718045,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718046,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718047,1100105,58,3,1,-9.0,6.0,828,0,-9 +2718048,1100105,58,3,1,-9.0,4.0,1054,1,-9 +2718049,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718050,1100105,58,3,1,-9.0,6.0,15537,0,-9 +2718051,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2718052,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718053,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718054,1100105,58,3,1,-9.0,4.0,267,0,-9 +2718055,1100105,58,3,1,-9.0,4.0,148,0,-9 +2718056,1100105,58,3,1,-9.0,6.0,8458,1,-9 +2718057,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2718058,1100105,58,3,1,-9.0,6.0,2141,0,-9 +2718059,1100105,58,3,1,-9.0,4.0,4454,1,-9 +2718060,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718061,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718062,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2718063,1100105,58,3,1,-9.0,4.0,3212,0,-9 +2718064,1100105,58,3,1,-9.0,4.0,1061,0,-9 +2718065,1100105,58,3,1,-9.0,4.0,8104,0,-9 +2718066,1100105,58,3,1,-9.0,4.0,5353,0,-9 +2718067,1100105,58,3,1,-9.0,4.0,24625,1,-9 +2718068,1100105,58,3,1,-9.0,4.0,3714,0,-9 +2718069,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718070,1100105,58,3,1,-9.0,4.0,54825,1,-9 +2718071,1100105,58,3,1,-9.0,6.0,2431,0,-9 +2718072,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2718073,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718074,1100105,58,3,1,-9.0,4.0,2635,0,-9 +2718075,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718076,1100105,58,3,1,-9.0,4.0,4661,1,-9 +2718077,1100105,58,3,1,-9.0,4.0,428,0,-9 +2718078,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718079,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2718080,1100105,58,3,1,-9.0,6.0,6215,0,-9 +2718081,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718082,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718083,1100105,58,3,1,-9.0,6.0,1823,0,-9 +2718084,1100105,58,3,1,-9.0,6.0,3395,0,-9 +2718085,1100105,58,3,1,-9.0,4.0,4558,0,-9 +2718086,1100105,58,3,1,-9.0,6.0,8458,1,-9 +2718087,1100105,58,3,1,-9.0,6.0,10612,0,-9 +2718088,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718089,1100105,58,3,1,-9.0,6.0,4744,1,-9 +2718090,1100105,58,3,1,-9.0,4.0,1606,1,-9 +2718091,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718092,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718093,1100105,58,3,1,-9.0,6.0,3107,1,-9 +2718094,1100105,58,3,1,-9.0,6.0,856,0,-9 +2718095,1100105,58,3,1,-9.0,6.0,3107,1,-9 +2718096,1100105,58,3,1,-9.0,4.0,5489,0,-9 +2718097,1100105,58,3,1,-9.0,6.0,2108,0,-9 +2718098,1100105,58,3,1,-9.0,6.0,481,0,-9 +2718099,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718100,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718101,1100105,58,3,1,-9.0,6.0,1177,0,-9 +2718102,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718103,1100105,58,3,1,-9.0,6.0,902,0,-9 +2718104,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718105,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718106,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718107,1100105,58,3,1,-9.0,4.0,3545,0,-9 +2718108,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718109,1100105,58,3,1,-9.0,6.0,310,0,-9 +2718110,1100105,58,3,1,-9.0,6.0,1273,0,-9 +2718111,1100105,58,3,1,-9.0,6.0,1215,0,-9 +2718112,1100105,58,3,1,-9.0,6.0,4052,1,-9 +2718113,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2718114,1100105,58,3,1,-9.0,6.0,310,0,-9 +2718115,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718116,1100105,58,3,1,-9.0,4.0,6367,0,-9 +2718117,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718118,1100105,58,3,1,-9.0,4.0,21086,1,-9 +2718119,1100105,58,3,1,-9.0,6.0,856,1,-9 +2718120,1100105,58,3,1,-9.0,6.0,8104,1,-9 +2718121,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718122,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718123,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718124,1100105,58,3,1,-9.0,4.0,36254,0,-9 +2718125,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718126,1100105,58,3,1,-9.0,4.0,6424,1,-9 +2718127,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718128,1100105,58,3,1,-9.0,6.0,2141,1,-9 +2718129,1100105,58,3,1,-9.0,6.0,48628,0,-9 +2718130,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2718131,1100105,58,3,1,-9.0,6.0,2141,1,-9 +2718132,1100105,58,3,1,-9.0,4.0,3241,0,-9 +2718133,1100105,58,3,1,-9.0,4.0,5836,1,-9 +2718134,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718135,1100105,58,3,1,-9.0,6.0,1070,1,-9 +2718136,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2718137,1100105,58,3,1,-9.0,6.0,10130,1,-9 +2718138,1100105,58,3,1,-9.0,6.0,11394,1,-9 +2718139,1100105,58,3,1,-9.0,6.0,6424,1,-9 +2718140,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718141,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718142,1100105,58,3,1,-9.0,6.0,414,0,-9 +2718143,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718144,1100105,58,3,1,-9.0,4.0,20261,0,-9 +2718145,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718146,1100105,58,3,1,-9.0,4.0,1713,1,-9 +2718147,1100105,58,3,1,-9.0,6.0,856,1,-9 +2718148,1100105,58,3,1,-9.0,6.0,642,0,-9 +2718149,1100105,58,3,1,-9.0,6.0,1070,1,-9 +2718150,1100105,58,3,1,-9.0,6.0,1273,0,-9 +2718151,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718152,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718153,1100105,58,3,1,-9.0,6.0,3747,0,-9 +2718154,1100105,58,3,1,-9.0,6.0,1722,0,-9 +2718155,1100105,58,3,1,-9.0,6.0,1418,0,-9 +2718156,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718157,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718158,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2718159,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2718160,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2718161,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718162,1100105,58,3,1,-9.0,6.0,2741,1,-9 +2718163,1100105,58,3,1,-9.0,6.0,3849,0,-9 +2718164,1100105,58,3,1,-9.0,6.0,2108,0,-9 +2718165,1100105,58,3,1,-9.0,4.0,10438,1,-9 +2718166,1100105,58,3,1,-9.0,6.0,1581,1,-9 +2718167,1100105,58,3,1,-9.0,4.0,7598,1,-9 +2718168,1100105,58,3,1,-9.0,6.0,12098,1,-9 +2718169,1100105,58,3,1,-9.0,4.0,880,0,-9 +2718170,1100105,58,3,1,-9.0,6.0,23554,0,-9 +2718171,1100105,58,3,1,-9.0,4.0,10543,1,-9 +2718172,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718173,1100105,58,3,1,-9.0,6.0,2026,0,-9 +2718174,1100105,58,3,1,-9.0,4.0,1498,0,-9 +2718175,1100105,58,3,1,-9.0,4.0,1713,1,-9 +2718176,1100105,58,3,1,-9.0,6.0,4052,1,-9 +2718177,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2718178,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2718179,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718180,1100105,58,3,1,-9.0,4.0,20261,0,-9 +2718181,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718182,1100105,58,3,1,-9.0,4.0,1054,0,-9 +2718183,1100105,58,3,1,-9.0,4.0,177291,0,-9 +2718184,1100105,58,3,1,-9.0,6.0,4454,1,-9 +2718185,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718186,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718187,1100105,58,3,1,-9.0,6.0,1243,0,-9 +2718188,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718189,1100105,58,3,1,-9.0,4.0,2144,1,-9 +2718190,1100105,58,3,1,-9.0,6.0,23554,0,-9 +2718191,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2718192,1100105,58,3,1,-9.0,6.0,787,0,-9 +2718193,1100105,58,3,1,-9.0,4.0,3163,1,-9 +2718194,1100105,58,3,1,-9.0,4.0,2122,1,-9 +2718195,1100105,58,3,1,-9.0,6.0,6215,0,-9 +2718196,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718197,1100105,58,3,1,-9.0,6.0,7091,1,-9 +2718198,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718199,1100105,58,3,1,-9.0,4.0,2653,1,-9 +2718200,1100105,58,3,1,-9.0,6.0,6326,0,-9 +2718201,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718202,1100105,58,3,1,-9.0,4.0,1864,0,-9 +2718203,1100105,58,3,1,-9.0,4.0,7091,0,-9 +2718204,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718205,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2718206,1100105,58,3,1,-9.0,4.0,26103,1,-9 +2718207,1100105,58,3,1,-9.0,4.0,5353,0,-9 +2718208,1100105,58,3,1,-9.0,4.0,2108,0,-9 +2718209,1100105,58,3,1,-9.0,4.0,2108,1,-9 +2718210,1100105,58,3,1,-9.0,4.0,2635,1,-9 +2718211,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718212,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718213,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718214,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718215,1100105,58,3,1,-9.0,4.0,6990,1,-9 +2718216,1100105,58,3,1,-9.0,6.0,4282,1,-9 +2718217,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718218,1100105,58,3,1,-9.0,6.0,2735,1,-9 +2718219,1100105,58,3,1,-9.0,4.0,759,0,-9 +2718220,1100105,58,3,1,-9.0,4.0,4082,1,-9 +2718221,1100105,58,3,1,-9.0,4.0,20261,0,-9 +2718222,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718223,1100105,58,3,1,-9.0,6.0,2026,0,-9 +2718224,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718225,1100105,58,3,1,-9.0,6.0,6424,1,-9 +2718226,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718227,1100105,58,3,1,-9.0,6.0,9322,1,-9 +2718228,1100105,58,3,1,-9.0,4.0,3849,0,-9 +2718229,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718230,1100105,58,3,1,-9.0,6.0,4818,1,-9 +2718231,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718232,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718233,1100105,58,3,1,-9.0,6.0,2532,0,-9 +2718234,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718235,1100105,58,3,1,-9.0,4.0,4244,1,-9 +2718236,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2718237,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718238,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718239,1100105,58,3,1,-9.0,6.0,3901,1,-9 +2718240,1100105,58,3,1,-9.0,6.0,4282,0,-9 +2718241,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718242,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718243,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718244,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718245,1100105,58,3,1,-9.0,6.0,787,0,-9 +2718246,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718247,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718248,1100105,58,3,1,-9.0,6.0,1070,1,-9 +2718249,1100105,58,3,1,-9.0,4.0,4868,1,-9 +2718250,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718251,1100105,58,3,1,-9.0,4.0,3241,0,-9 +2718252,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718253,1100105,58,3,1,-9.0,6.0,4356,1,-9 +2718254,1100105,58,3,1,-9.0,6.0,421,0,-9 +2718255,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718256,1100105,58,3,1,-9.0,6.0,3395,0,-9 +2718257,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2718258,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718259,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718260,1100105,58,3,1,-9.0,6.0,7250,1,-9 +2718261,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718262,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718263,1100105,58,3,1,-9.0,6.0,212,0,-9 +2718264,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718265,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718266,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718267,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2718268,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2718269,1100105,58,3,1,-9.0,6.0,8458,1,-9 +2718270,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718271,1100105,58,3,1,-9.0,6.0,3545,0,-9 +2718272,1100105,58,3,1,-9.0,6.0,4972,1,-9 +2718273,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2718274,1100105,58,3,1,-9.0,6.0,310,0,-9 +2718275,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2718276,1100105,58,3,1,-9.0,6.0,1792,0,-9 +2718277,1100105,58,3,1,-9.0,6.0,530,0,-9 +2718278,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2718279,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718280,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718281,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718282,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718283,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2718284,1100105,58,3,1,-9.0,6.0,1159,0,-9 +2718285,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718286,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718287,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2718288,1100105,58,3,1,-9.0,4.0,10400,1,-9 +2718289,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718290,1100105,58,3,1,-9.0,6.0,1035,1,-9 +2718291,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718292,1100105,58,3,1,-9.0,6.0,15399,1,-9 +2718293,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2718294,1100105,58,3,1,-9.0,4.0,2676,0,-9 +2718295,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2718296,1100105,58,3,1,-9.0,4.0,1061,0,-9 +2718297,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2718298,1100105,58,3,1,-9.0,6.0,535,0,-9 +2718299,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718300,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718301,1100105,58,3,1,-9.0,6.0,151,0,-9 +2718302,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718303,1100105,58,3,1,-9.0,4.0,2589,0,-9 +2718304,1100105,58,3,1,-9.0,6.0,421,0,-9 +2718305,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2718306,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718307,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2718308,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718309,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718310,1100105,58,3,1,-9.0,6.0,6215,0,-9 +2718311,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718312,1100105,58,3,1,-9.0,4.0,4082,1,-9 +2718313,1100105,58,3,1,-9.0,6.0,1722,0,-9 +2718314,1100105,58,3,1,-9.0,6.0,1722,0,-9 +2718315,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718316,1100105,58,3,1,-9.0,6.0,769,0,-9 +2718317,1100105,58,3,1,-9.0,4.0,1061,0,-9 +2718318,1100105,58,3,1,-9.0,6.0,1722,0,-9 +2718319,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2718320,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718321,1100105,58,3,1,-9.0,4.0,1864,0,-9 +2718322,1100105,58,3,1,-9.0,6.0,787,0,-9 +2718323,1100105,58,3,1,-9.0,6.0,1167,1,-9 +2718324,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718325,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718326,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718327,1100105,58,3,1,-9.0,4.0,2122,1,-9 +2718328,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718329,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718330,1100105,58,3,1,-9.0,4.0,4454,1,-9 +2718331,1100105,58,3,1,-9.0,4.0,54825,1,-9 +2718332,1100105,58,3,1,-9.0,4.0,20261,0,-9 +2718333,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718334,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718335,1100105,58,3,1,-9.0,4.0,10637,1,-9 +2718336,1100105,58,3,1,-9.0,6.0,2141,0,-9 +2718337,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2718338,1100105,58,3,1,-9.0,4.0,289,0,-9 +2718339,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718340,1100105,58,3,1,-9.0,6.0,424,0,-9 +2718341,1100105,58,3,1,-9.0,6.0,787,0,-9 +2718342,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718343,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718344,1100105,58,3,1,-9.0,4.0,8104,0,-9 +2718345,1100105,58,3,1,-9.0,4.0,517,0,-9 +2718346,1100105,58,3,1,-9.0,6.0,14916,1,-9 +2718347,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718348,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718349,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718350,1100105,58,3,1,-9.0,4.0,1013,0,-9 +2718351,1100105,58,3,1,-9.0,6.0,137,0,-9 +2718352,1100105,58,3,1,-9.0,4.0,3849,0,-9 +2718353,1100105,58,3,1,-9.0,4.0,224,1,-9 +2718354,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718355,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2718356,1100105,58,3,1,-9.0,6.0,2741,1,-9 +2718357,1100105,58,3,1,-9.0,4.0,5139,0,-9 +2718358,1100105,58,3,1,-9.0,4.0,267,0,-9 +2718359,1100105,58,3,1,-9.0,4.0,6531,1,-9 +2718360,1100105,58,3,1,-9.0,6.0,12098,1,-9 +2718361,1100105,58,3,1,-9.0,6.0,18235,1,-9 +2718362,1100105,58,3,1,-9.0,6.0,828,0,-9 +2718363,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2718364,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718365,1100105,58,3,1,-9.0,4.0,2108,0,-9 +2718366,1100105,58,3,1,-9.0,4.0,3373,0,-9 +2718367,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718368,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718369,1100105,58,3,1,-9.0,6.0,6078,1,-9 +2718370,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2718371,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718372,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718373,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2718374,1100105,58,3,1,-9.0,6.0,14916,1,-9 +2718375,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718376,1100105,58,3,1,-9.0,6.0,1215,0,-9 +2718377,1100105,58,3,1,-9.0,6.0,4454,1,-9 +2718378,1100105,58,3,1,-9.0,6.0,1391,0,-9 +2718379,1100105,58,3,1,-9.0,4.0,5139,0,-9 +2718380,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718381,1100105,58,3,1,-9.0,6.0,2900,1,-9 +2718382,1100105,58,3,1,-9.0,6.0,5518,1,-9 +2718383,1100105,58,3,1,-9.0,6.0,25696,0,-9 +2718384,1100105,58,3,1,-9.0,6.0,2141,0,-9 +2718385,1100105,58,3,1,-9.0,4.0,15196,1,-9 +2718386,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2718387,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2718388,1100105,58,3,1,-9.0,6.0,1167,1,-9 +2718389,1100105,58,3,1,-9.0,6.0,10612,0,-9 +2718390,1100105,58,3,1,-9.0,6.0,421,0,-9 +2718391,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718392,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718393,1100105,58,3,1,-9.0,6.0,1897,1,-9 +2718394,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718395,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718396,1100105,58,3,1,-9.0,6.0,3395,0,-9 +2718397,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718398,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718399,1100105,58,3,1,-9.0,4.0,1606,0,-9 +2718400,1100105,58,3,1,-9.0,4.0,6990,1,-9 +2718401,1100105,58,3,1,-9.0,6.0,310,0,-9 +2718402,1100105,58,3,1,-9.0,6.0,10612,0,-9 +2718403,1100105,58,3,1,-9.0,4.0,530,0,-9 +2718404,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2718405,1100105,58,3,1,-9.0,4.0,5353,0,-9 +2718406,1100105,58,3,1,-9.0,4.0,880,0,-9 +2718407,1100105,58,3,1,-9.0,4.0,632,0,-9 +2718408,1100105,58,3,1,-9.0,4.0,709,0,-9 +2718409,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718410,1100105,58,3,1,-9.0,6.0,3545,0,-9 +2718411,1100105,58,3,1,-9.0,6.0,2108,0,-9 +2718412,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718413,1100105,58,3,1,-9.0,6.0,1792,0,-9 +2718414,1100105,58,3,1,-9.0,6.0,9322,1,-9 +2718415,1100105,58,3,1,-9.0,6.0,2034,0,-9 +2718416,1100105,58,3,1,-9.0,4.0,1159,1,-9 +2718417,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2718418,1100105,58,3,1,-9.0,6.0,3039,1,-9 +2718419,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718420,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718421,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718422,1100105,58,3,1,-9.0,6.0,5489,0,-9 +2718423,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718424,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2718425,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2718426,1100105,58,3,1,-9.0,6.0,2108,0,-9 +2718427,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718428,1100105,58,3,1,-9.0,4.0,2144,1,-9 +2718429,1100105,58,3,1,-9.0,4.0,2532,0,-9 +2718430,1100105,58,3,1,-9.0,6.0,2141,1,-9 +2718431,1100105,58,3,1,-9.0,4.0,1864,0,-9 +2718432,1100105,58,3,1,-9.0,6.0,1391,0,-9 +2718433,1100105,58,3,1,-9.0,4.0,6531,1,-9 +2718434,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2718435,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718436,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718437,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718438,1100105,58,3,1,-9.0,4.0,3184,0,-9 +2718439,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718440,1100105,58,3,1,-9.0,6.0,481,0,-9 +2718441,1100105,58,3,1,-9.0,6.0,5306,1,-9 +2718442,1100105,58,3,1,-9.0,6.0,1167,1,-9 +2718443,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718444,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718445,1100105,58,3,1,-9.0,6.0,1657,1,-9 +2718446,1100105,58,3,1,-9.0,6.0,2026,0,-9 +2718447,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718448,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718449,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2718450,1100105,58,3,1,-9.0,6.0,51392,1,-9 +2718451,1100105,58,3,1,-9.0,4.0,2589,0,-9 +2718452,1100105,58,3,1,-9.0,6.0,14916,1,-9 +2718453,1100105,58,3,1,-9.0,6.0,2462,0,-9 +2718454,1100105,58,3,1,-9.0,4.0,15196,0,-9 +2718455,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718456,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2718457,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718458,1100105,58,3,1,-9.0,6.0,3107,1,-9 +2718459,1100105,58,3,1,-9.0,6.0,2141,1,-9 +2718460,1100105,58,3,1,-9.0,4.0,3163,0,-9 +2718461,1100105,58,3,1,-9.0,6.0,421,0,-9 +2718462,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718463,1100105,58,3,1,-9.0,4.0,1159,1,-9 +2718464,1100105,58,3,1,-9.0,4.0,1620,0,-9 +2718465,1100105,58,3,1,-9.0,4.0,527,0,-9 +2718466,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718467,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2718468,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718469,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718470,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2718471,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718472,1100105,58,3,1,-9.0,4.0,5489,0,-9 +2718473,1100105,58,3,1,-9.0,6.0,12098,1,-9 +2718474,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718475,1100105,58,3,1,-9.0,4.0,21086,1,-9 +2718476,1100105,58,3,1,-9.0,4.0,20261,0,-9 +2718477,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2718478,1100105,58,3,1,-9.0,4.0,1070,1,-9 +2718479,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718480,1100105,58,3,1,-9.0,4.0,2589,0,-9 +2718481,1100105,58,3,1,-9.0,4.0,1035,1,-9 +2718482,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718483,1100105,58,3,1,-9.0,6.0,3039,0,-9 +2718484,1100105,58,3,1,-9.0,6.0,8458,1,-9 +2718485,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718486,1100105,58,3,1,-9.0,6.0,5518,1,-9 +2718487,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718488,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2718489,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718490,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718491,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718492,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2718493,1100105,58,3,1,-9.0,6.0,25696,0,-9 +2718494,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718495,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718496,1100105,58,3,1,-9.0,6.0,15918,1,-9 +2718497,1100105,58,3,1,-9.0,6.0,5353,0,-9 +2718498,1100105,58,3,1,-9.0,6.0,421,0,-9 +2718499,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718500,1100105,58,3,1,-9.0,4.0,5306,0,-9 +2718501,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2718502,1100105,58,3,1,-9.0,6.0,310,0,-9 +2718503,1100105,58,3,1,-9.0,4.0,15196,1,-9 +2718504,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718505,1100105,58,3,1,-9.0,6.0,424,0,-9 +2718506,1100105,58,3,1,-9.0,4.0,3184,0,-9 +2718507,1100105,58,3,1,-9.0,6.0,48628,0,-9 +2718508,1100105,58,3,1,-9.0,6.0,2653,0,-9 +2718509,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2718510,1100105,58,3,1,-9.0,4.0,4661,1,-9 +2718511,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718512,1100105,58,3,1,-9.0,6.0,1035,1,-9 +2718513,1100105,58,3,1,-9.0,6.0,3647,0,-9 +2718514,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718515,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718516,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718517,1100105,58,3,1,-9.0,6.0,421,0,-9 +2718518,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718519,1100105,58,3,1,-9.0,4.0,3545,0,-9 +2718520,1100105,58,3,1,-9.0,4.0,5306,0,-9 +2718521,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718522,1100105,58,3,1,-9.0,4.0,2532,0,-9 +2718523,1100105,58,3,1,-9.0,6.0,1054,1,-9 +2718524,1100105,58,3,1,-9.0,4.0,3184,0,-9 +2718525,1100105,58,3,1,-9.0,6.0,3747,0,-9 +2718526,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718527,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718528,1100105,58,3,1,-9.0,4.0,517,0,-9 +2718529,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2718530,1100105,58,3,1,-9.0,6.0,435,0,-9 +2718531,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718532,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718533,1100105,58,3,1,-9.0,4.0,3104,0,-9 +2718534,1100105,58,3,1,-9.0,4.0,29379,0,-9 +2718535,1100105,58,3,1,-9.0,6.0,1035,1,-9 +2718536,1100105,58,3,1,-9.0,6.0,15918,1,-9 +2718537,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718538,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718539,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718540,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718541,1100105,58,3,1,-9.0,6.0,4244,1,-9 +2718542,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718543,1100105,58,3,1,-9.0,6.0,6102,1,-9 +2718544,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718545,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718546,1100105,58,3,1,-9.0,4.0,3212,0,-9 +2718547,1100105,58,3,1,-9.0,4.0,4217,0,-9 +2718548,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718549,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718550,1100105,58,3,1,-9.0,6.0,1035,1,-9 +2718551,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718552,1100105,58,3,1,-9.0,6.0,210,0,-9 +2718553,1100105,58,3,1,-9.0,6.0,1035,0,-9 +2718554,1100105,58,3,1,-9.0,4.0,12222,0,-9 +2718555,1100105,58,3,1,-9.0,4.0,7598,1,-9 +2718556,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718557,1100105,58,3,1,-9.0,6.0,1177,0,-9 +2718558,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718559,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718560,1100105,58,3,1,-9.0,4.0,2355,0,-9 +2718561,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718562,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718563,1100105,58,3,1,-9.0,4.0,8961,1,-9 +2718564,1100105,58,3,1,-9.0,4.0,4217,0,-9 +2718565,1100105,58,3,1,-9.0,4.0,1591,0,-9 +2718566,1100105,58,3,1,-9.0,6.0,2532,0,-9 +2718567,1100105,58,3,1,-9.0,4.0,22484,1,-9 +2718568,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718569,1100105,58,3,1,-9.0,6.0,1346,0,-9 +2718570,1100105,58,3,1,-9.0,6.0,5093,1,-9 +2718571,1100105,58,3,1,-9.0,6.0,2532,0,-9 +2718572,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718573,1100105,58,3,1,-9.0,6.0,10612,0,-9 +2718574,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718575,1100105,58,3,1,-9.0,4.0,1054,1,-9 +2718576,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718577,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718578,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718579,1100105,58,3,1,-9.0,4.0,1054,0,-9 +2718580,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718581,1100105,58,3,1,-9.0,4.0,3039,0,-9 +2718582,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718583,1100105,58,3,1,-9.0,4.0,4217,0,-9 +2718584,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718585,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2718586,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718587,1100105,58,3,1,-9.0,6.0,2653,0,-9 +2718588,1100105,58,3,1,-9.0,4.0,4558,0,-9 +2718589,1100105,58,3,1,-9.0,4.0,3545,0,-9 +2718590,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718591,1100105,58,3,1,-9.0,6.0,530,0,-9 +2718592,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718593,1100105,58,3,1,-9.0,6.0,1070,1,-9 +2718594,1100105,58,3,1,-9.0,6.0,997,0,-9 +2718595,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718596,1100105,58,3,1,-9.0,4.0,7598,1,-9 +2718597,1100105,58,3,1,-9.0,4.0,1070,1,-9 +2718598,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2718599,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718600,1100105,58,3,1,-9.0,6.0,15399,1,-9 +2718601,1100105,58,3,1,-9.0,4.0,1013,1,-9 +2718602,1100105,58,3,1,-9.0,4.0,21086,1,-9 +2718603,1100105,58,3,1,-9.0,6.0,3039,0,-9 +2718604,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2718605,1100105,58,3,1,-9.0,4.0,36254,0,-9 +2718606,1100105,58,3,1,-9.0,4.0,4868,1,-9 +2718607,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718608,1100105,58,3,1,-9.0,6.0,2141,1,-9 +2718609,1100105,58,3,1,-9.0,4.0,1061,0,-9 +2718610,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718611,1100105,58,3,1,-9.0,6.0,414,0,-9 +2718612,1100105,58,3,1,-9.0,6.0,374,0,-9 +2718613,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2718614,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718615,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718616,1100105,58,3,1,-9.0,6.0,1215,0,-9 +2718617,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718618,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718619,1100105,58,3,1,-9.0,4.0,2122,1,-9 +2718620,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2718621,1100105,58,3,1,-9.0,6.0,16974,1,-9 +2718622,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718623,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718624,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2718625,1100105,58,3,1,-9.0,4.0,4082,1,-9 +2718626,1100105,58,3,1,-9.0,6.0,1823,0,-9 +2718627,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718628,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718629,1100105,58,3,1,-9.0,4.0,9219,0,-9 +2718630,1100105,58,3,1,-9.0,4.0,709,0,-9 +2718631,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718632,1100105,58,3,1,-9.0,6.0,856,1,-9 +2718633,1100105,58,3,1,-9.0,6.0,2532,0,-9 +2718634,1100105,58,3,1,-9.0,6.0,18235,1,-9 +2718635,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718636,1100105,58,3,1,-9.0,6.0,7354,1,-9 +2718637,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2718638,1100105,58,3,1,-9.0,6.0,414,0,-9 +2718639,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718640,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2718641,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718642,1100105,58,3,1,-9.0,4.0,2108,1,-9 +2718643,1100105,58,3,1,-9.0,6.0,4818,1,-9 +2718644,1100105,58,3,1,-9.0,4.0,4244,1,-9 +2718645,1100105,58,3,1,-9.0,6.0,6102,1,-9 +2718646,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2718647,1100105,58,3,1,-9.0,4.0,26103,1,-9 +2718648,1100105,58,3,1,-9.0,4.0,527,0,-9 +2718649,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2718650,1100105,58,3,1,-9.0,6.0,11144,1,-9 +2718651,1100105,58,3,1,-9.0,4.0,506,0,-9 +2718652,1100105,58,3,1,-9.0,4.0,3184,0,-9 +2718653,1100105,58,3,1,-9.0,6.0,3747,0,-9 +2718654,1100105,58,3,1,-9.0,6.0,4282,0,-9 +2718655,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718656,1100105,58,3,1,-9.0,6.0,2026,0,-9 +2718657,1100105,58,3,1,-9.0,6.0,5489,0,-9 +2718658,1100105,58,3,1,-9.0,4.0,880,0,-9 +2718659,1100105,58,3,1,-9.0,4.0,955,0,-9 +2718660,1100105,58,3,1,-9.0,4.0,2890,0,-9 +2718661,1100105,58,3,1,-9.0,4.0,3163,0,-9 +2718662,1100105,58,3,1,-9.0,4.0,16869,1,-9 +2718663,1100105,58,3,1,-9.0,4.0,21086,1,-9 +2718664,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718665,1100105,58,3,1,-9.0,4.0,189,0,-9 +2718666,1100105,58,3,1,-9.0,4.0,1159,1,-9 +2718667,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2718668,1100105,58,3,1,-9.0,4.0,5836,1,-9 +2718669,1100105,58,3,1,-9.0,4.0,2635,1,-9 +2718670,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2718671,1100105,58,3,1,-9.0,6.0,856,0,-9 +2718672,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2718673,1100105,58,3,1,-9.0,4.0,3163,0,-9 +2718674,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2718675,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718676,1100105,58,3,1,-9.0,4.0,20261,0,-9 +2718677,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718678,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2718679,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718680,1100105,58,3,1,-9.0,4.0,25696,0,-9 +2718681,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718682,1100105,58,3,1,-9.0,6.0,17510,1,-9 +2718683,1100105,58,3,1,-9.0,4.0,17121,1,-9 +2718684,1100105,58,3,1,-9.0,4.0,2589,0,-9 +2718685,1100105,58,3,1,-9.0,6.0,4818,1,-9 +2718686,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718687,1100105,58,3,1,-9.0,4.0,7902,0,-9 +2718688,1100105,58,3,1,-9.0,4.0,2071,1,-9 +2718689,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2718690,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2718691,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718692,1100105,58,3,1,-9.0,4.0,4217,0,-9 +2718693,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2718694,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718695,1100105,58,3,1,-9.0,4.0,20716,0,-9 +2718696,1100105,58,3,1,-9.0,4.0,8434,0,-9 +2718697,1100105,58,3,1,-9.0,6.0,25833,1,-9 +2718698,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718699,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718700,1100105,58,3,1,-9.0,4.0,15709,1,-9 +2718701,1100105,58,3,1,-9.0,4.0,3107,1,-9 +2718702,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2718703,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718704,1100105,58,3,1,-9.0,6.0,8104,1,-9 +2718705,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718706,1100105,58,3,1,-9.0,4.0,10438,1,-9 +2718707,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718708,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718709,1100105,58,3,1,-9.0,6.0,1167,1,-9 +2718710,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718711,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2718712,1100105,58,3,1,-9.0,4.0,8104,1,-9 +2718713,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718714,1100105,58,3,1,-9.0,4.0,214,0,-9 +2718715,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2718716,1100105,58,3,1,-9.0,6.0,12848,1,-9 +2718717,1100105,58,3,1,-9.0,4.0,2796,0,-9 +2718718,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718719,1100105,58,3,1,-9.0,4.0,64,0,-9 +2718720,1100105,58,3,1,-9.0,4.0,1013,0,-9 +2718721,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718722,1100105,58,3,1,-9.0,6.0,4972,1,-9 +2718723,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718724,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2718725,1100105,58,3,1,-9.0,4.0,10637,1,-9 +2718726,1100105,58,3,1,-9.0,4.0,2635,1,-9 +2718727,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718728,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718729,1100105,58,3,1,-9.0,6.0,10612,0,-9 +2718730,1100105,58,3,1,-9.0,6.0,5489,0,-9 +2718731,1100105,58,3,1,-9.0,4.0,5489,0,-9 +2718732,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718733,1100105,58,3,1,-9.0,6.0,15537,0,-9 +2718734,1100105,58,3,1,-9.0,4.0,4868,1,-9 +2718735,1100105,58,3,1,-9.0,4.0,4244,1,-9 +2718736,1100105,58,3,1,-9.0,4.0,1864,0,-9 +2718737,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718738,1100105,58,3,1,-9.0,6.0,7802,1,-9 +2718739,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718740,1100105,58,3,1,-9.0,6.0,1177,0,-9 +2718741,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718742,1100105,58,3,1,-9.0,4.0,2144,1,-9 +2718743,1100105,58,3,1,-9.0,6.0,1061,0,-9 +2718744,1100105,58,3,1,-9.0,4.0,2108,0,-9 +2718745,1100105,58,3,1,-9.0,4.0,2796,0,-9 +2718746,1100105,58,3,1,-9.0,6.0,4244,1,-9 +2718747,1100105,58,3,1,-9.0,4.0,22484,1,-9 +2718748,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718749,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718750,1100105,58,3,1,-9.0,4.0,15196,0,-9 +2718751,1100105,58,3,1,-9.0,6.0,4818,1,-9 +2718752,1100105,58,3,1,-9.0,4.0,3163,1,-9 +2718753,1100105,58,3,1,-9.0,6.0,6326,0,-9 +2718754,1100105,58,3,1,-9.0,6.0,1167,1,-9 +2718755,1100105,58,3,1,-9.0,4.0,189,0,-9 +2718756,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718757,1100105,58,3,1,-9.0,6.0,25833,1,-9 +2718758,1100105,58,3,1,-9.0,4.0,8104,0,-9 +2718759,1100105,58,3,1,-9.0,6.0,1177,0,-9 +2718760,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2718761,1100105,58,3,1,-9.0,4.0,5075,0,-9 +2718762,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2718763,1100105,58,3,1,-9.0,4.0,527,0,-9 +2718764,1100105,58,3,1,-9.0,6.0,787,0,-9 +2718765,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718766,1100105,58,3,1,-9.0,4.0,7380,0,-9 +2718767,1100105,58,3,1,-9.0,4.0,10637,1,-9 +2718768,1100105,58,3,1,-9.0,6.0,1265,0,-9 +2718769,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2718770,1100105,58,3,1,-9.0,6.0,1177,0,-9 +2718771,1100105,58,3,1,-9.0,6.0,17510,1,-9 +2718772,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2718773,1100105,58,3,1,-9.0,4.0,267,0,-9 +2718774,1100105,58,3,1,-9.0,4.0,26103,1,-9 +2718775,1100105,58,3,1,-9.0,6.0,2532,0,-9 +2718776,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718777,1100105,58,3,1,-9.0,4.0,1591,0,-9 +2718778,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2718779,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718780,1100105,58,3,1,-9.0,4.0,7380,0,-9 +2718781,1100105,58,3,1,-9.0,6.0,12848,1,-9 +2718782,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718783,1100105,58,3,1,-9.0,4.0,1035,1,-9 +2718784,1100105,58,3,1,-9.0,4.0,189,0,-9 +2718785,1100105,58,3,1,-9.0,6.0,212,0,-9 +2718786,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718787,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718788,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2718789,1100105,58,3,1,-9.0,4.0,5075,0,-9 +2718790,1100105,58,3,1,-9.0,6.0,5075,1,-9 +2718791,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718792,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718793,1100105,58,3,1,-9.0,4.0,1054,0,-9 +2718794,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718795,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718796,1100105,58,3,1,-9.0,6.0,1215,0,-9 +2718797,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718798,1100105,58,3,1,-9.0,4.0,1054,0,-9 +2718799,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718800,1100105,58,3,1,-9.0,4.0,53062,0,-9 +2718801,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718802,1100105,58,3,1,-9.0,4.0,5139,0,-9 +2718803,1100105,58,3,1,-9.0,4.0,3545,0,-9 +2718804,1100105,58,3,1,-9.0,4.0,54825,1,-9 +2718805,1100105,58,3,1,-9.0,6.0,997,0,-9 +2718806,1100105,58,3,1,-9.0,4.0,2108,0,-9 +2718807,1100105,58,3,1,-9.0,6.0,1346,0,-9 +2718808,1100105,58,3,1,-9.0,6.0,1177,0,-9 +2718809,1100105,58,3,1,-9.0,6.0,12098,1,-9 +2718810,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718811,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718812,1100105,58,3,1,-9.0,6.0,414,0,-9 +2718813,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718814,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718815,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2718816,1100105,58,3,1,-9.0,4.0,1035,0,-9 +2718817,1100105,58,3,1,-9.0,6.0,3533,1,-9 +2718818,1100105,58,3,1,-9.0,4.0,2532,1,-9 +2718819,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718820,1100105,58,3,1,-9.0,6.0,1792,0,-9 +2718821,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718822,1100105,58,3,1,-9.0,4.0,4082,1,-9 +2718823,1100105,58,3,1,-9.0,4.0,5836,1,-9 +2718824,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718825,1100105,58,3,1,-9.0,6.0,7354,1,-9 +2718826,1100105,58,3,1,-9.0,6.0,5271,1,-9 +2718827,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718828,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718829,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718830,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2718831,1100105,58,3,1,-9.0,6.0,12098,1,-9 +2718832,1100105,58,3,1,-9.0,6.0,2532,0,-9 +2718833,1100105,58,3,1,-9.0,6.0,1035,1,-9 +2718834,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2718835,1100105,58,3,1,-9.0,4.0,3107,1,-9 +2718836,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718837,1100105,58,3,1,-9.0,6.0,8712,1,-9 +2718838,1100105,58,3,1,-9.0,4.0,4082,1,-9 +2718839,1100105,58,3,1,-9.0,6.0,1177,0,-9 +2718840,1100105,58,3,1,-9.0,4.0,3241,0,-9 +2718841,1100105,58,3,1,-9.0,6.0,7802,1,-9 +2718842,1100105,58,3,1,-9.0,6.0,4972,1,-9 +2718843,1100105,58,3,1,-9.0,6.0,2741,1,-9 +2718844,1100105,58,3,1,-9.0,4.0,4143,0,-9 +2718845,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2718846,1100105,58,3,1,-9.0,6.0,18235,1,-9 +2718847,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2718848,1100105,58,3,1,-9.0,4.0,4558,0,-9 +2718849,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718850,1100105,58,3,1,-9.0,6.0,10612,0,-9 +2718851,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718852,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718853,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2718854,1100105,58,3,1,-9.0,6.0,18235,1,-9 +2718855,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718856,1100105,58,3,1,-9.0,4.0,2355,0,-9 +2718857,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2718858,1100105,58,3,1,-9.0,4.0,2071,1,-9 +2718859,1100105,58,3,1,-9.0,4.0,1864,0,-9 +2718860,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718861,1100105,58,3,1,-9.0,4.0,3039,0,-9 +2718862,1100105,58,3,1,-9.0,4.0,29379,0,-9 +2718863,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718864,1100105,58,3,1,-9.0,4.0,3183,0,-9 +2718865,1100105,58,3,1,-9.0,4.0,843,1,-9 +2718866,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718867,1100105,58,3,1,-9.0,6.0,7250,1,-9 +2718868,1100105,58,3,1,-9.0,4.0,2144,1,-9 +2718869,1100105,58,3,1,-9.0,4.0,6367,0,-9 +2718870,1100105,58,3,1,-9.0,6.0,2108,1,-9 +2718871,1100105,58,3,1,-9.0,4.0,2144,1,-9 +2718872,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718873,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718874,1100105,58,3,1,-9.0,4.0,21086,1,-9 +2718875,1100105,58,3,1,-9.0,4.0,10358,1,-9 +2718876,1100105,58,3,1,-9.0,6.0,1167,1,-9 +2718877,1100105,58,3,1,-9.0,4.0,527,0,-9 +2718878,1100105,58,3,1,-9.0,4.0,15196,0,-9 +2718879,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718880,1100105,58,3,1,-9.0,6.0,435,0,-9 +2718881,1100105,58,3,1,-9.0,6.0,310,0,-9 +2718882,1100105,58,3,1,-9.0,4.0,632,0,-9 +2718883,1100105,58,3,1,-9.0,6.0,1519,0,-9 +2718884,1100105,58,3,1,-9.0,6.0,7091,1,-9 +2718885,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718886,1100105,58,3,1,-9.0,6.0,6078,0,-9 +2718887,1100105,58,3,1,-9.0,4.0,8104,1,-9 +2718888,1100105,58,3,1,-9.0,6.0,1591,0,-9 +2718889,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2718890,1100105,58,3,1,-9.0,6.0,2108,0,-9 +2718891,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718892,1100105,58,3,1,-9.0,4.0,3107,1,-9 +2718893,1100105,58,3,1,-9.0,6.0,2141,1,-9 +2718894,1100105,58,3,1,-9.0,4.0,3545,0,-9 +2718895,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718896,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2718897,1100105,58,3,1,-9.0,4.0,1013,0,-9 +2718898,1100105,58,3,1,-9.0,6.0,12098,1,-9 +2718899,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718900,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718901,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718902,1100105,58,3,1,-9.0,4.0,1013,0,-9 +2718903,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718904,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718905,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718906,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718907,1100105,58,3,1,-9.0,6.0,25833,1,-9 +2718908,1100105,58,3,1,-9.0,6.0,2108,0,-9 +2718909,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718910,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2718911,1100105,58,3,1,-9.0,4.0,20716,0,-9 +2718912,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718913,1100105,58,3,1,-9.0,6.0,4052,1,-9 +2718914,1100105,58,3,1,-9.0,4.0,4082,1,-9 +2718915,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718916,1100105,58,3,1,-9.0,4.0,2144,1,-9 +2718917,1100105,58,3,1,-9.0,6.0,13676,0,-9 +2718918,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718919,1100105,58,3,1,-9.0,6.0,6078,0,-9 +2718920,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718921,1100105,58,3,1,-9.0,4.0,3184,0,-9 +2718922,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2718923,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2718924,1100105,58,3,1,-9.0,4.0,2676,1,-9 +2718925,1100105,58,3,1,-9.0,6.0,7250,1,-9 +2718926,1100105,58,3,1,-9.0,6.0,214,1,-9 +2718927,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718928,1100105,58,3,1,-9.0,6.0,1215,0,-9 +2718929,1100105,58,3,1,-9.0,4.0,7380,0,-9 +2718930,1100105,58,3,1,-9.0,6.0,2735,1,-9 +2718931,1100105,58,3,1,-9.0,4.0,5075,0,-9 +2718932,1100105,58,3,1,-9.0,6.0,1591,0,-9 +2718933,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718934,1100105,58,3,1,-9.0,6.0,10130,1,-9 +2718935,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718936,1100105,58,3,1,-9.0,6.0,51392,1,-9 +2718937,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718938,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2718939,1100105,58,3,1,-9.0,6.0,7485,1,-9 +2718940,1100105,58,3,1,-9.0,4.0,530,0,-9 +2718941,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718942,1100105,58,3,1,-9.0,4.0,22484,1,-9 +2718943,1100105,58,3,1,-9.0,4.0,177291,0,-9 +2718944,1100105,58,3,1,-9.0,6.0,1519,0,-9 +2718945,1100105,58,3,1,-9.0,6.0,442,0,-9 +2718946,1100105,58,3,1,-9.0,6.0,1215,0,-9 +2718947,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718948,1100105,58,3,1,-9.0,4.0,2890,0,-9 +2718949,1100105,58,3,1,-9.0,4.0,16869,1,-9 +2718950,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2718951,1100105,58,3,1,-9.0,6.0,310,0,-9 +2718952,1100105,58,3,1,-9.0,6.0,15537,0,-9 +2718953,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718954,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2718955,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718956,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718957,1100105,58,3,1,-9.0,4.0,1159,1,-9 +2718958,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2718959,1100105,58,3,1,-9.0,4.0,2122,1,-9 +2718960,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718961,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718962,1100105,58,3,1,-9.0,6.0,1177,0,-9 +2718963,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718964,1100105,58,3,1,-9.0,6.0,2034,0,-9 +2718965,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718966,1100105,58,3,1,-9.0,4.0,4661,1,-9 +2718967,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718968,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718969,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718970,1100105,58,3,1,-9.0,4.0,4082,1,-9 +2718971,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718972,1100105,58,3,1,-9.0,4.0,3373,0,-9 +2718973,1100105,58,3,1,-9.0,4.0,2635,0,-9 +2718974,1100105,58,3,1,-9.0,6.0,5093,1,-9 +2718975,1100105,58,3,1,-9.0,6.0,12848,1,-9 +2718976,1100105,58,3,1,-9.0,4.0,3241,0,-9 +2718977,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718978,1100105,58,3,1,-9.0,6.0,6215,0,-9 +2718979,1100105,58,3,1,-9.0,4.0,7598,1,-9 +2718980,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718981,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718982,1100105,58,3,1,-9.0,4.0,0,0,-9 +2718983,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718984,1100105,58,3,1,-9.0,6.0,310,0,-9 +2718985,1100105,58,3,1,-9.0,6.0,828,0,-9 +2718986,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718987,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718988,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718989,1100105,58,3,1,-9.0,6.0,997,0,-9 +2718990,1100105,58,3,1,-9.0,6.0,1346,0,-9 +2718991,1100105,58,3,1,-9.0,4.0,2532,0,-9 +2718992,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2718993,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718994,1100105,58,3,1,-9.0,4.0,4143,0,-9 +2718995,1100105,58,3,1,-9.0,4.0,26103,1,-9 +2718996,1100105,58,3,1,-9.0,6.0,0,0,-9 +2718997,1100105,58,3,1,-9.0,4.0,15196,1,-9 +2718998,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2718999,1100105,58,3,1,-9.0,6.0,5075,1,-9 +2719000,1100105,58,3,1,-9.0,4.0,5306,0,-9 +2719001,1100105,58,3,1,-9.0,4.0,1820,0,-9 +2719002,1100105,58,3,1,-9.0,4.0,2589,0,-9 +2719003,1100105,58,3,1,-9.0,6.0,1581,0,-9 +2719004,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2719005,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719006,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2719007,1100105,58,3,1,-9.0,6.0,2741,1,-9 +2719008,1100105,58,3,1,-9.0,6.0,2026,0,-9 +2719009,1100105,58,3,1,-9.0,6.0,14183,1,-9 +2719010,1100105,58,3,1,-9.0,6.0,1823,0,-9 +2719011,1100105,58,3,1,-9.0,4.0,506,0,-9 +2719012,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2719013,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719014,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2719015,1100105,58,3,1,-9.0,4.0,2071,1,-9 +2719016,1100105,58,3,1,-9.0,6.0,4244,1,-9 +2719017,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719018,1100105,58,3,1,-9.0,6.0,3107,0,-9 +2719019,1100105,58,3,1,-9.0,6.0,5353,0,-9 +2719020,1100105,58,3,1,-9.0,6.0,151,0,-9 +2719021,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2719022,1100105,58,3,1,-9.0,6.0,2532,0,-9 +2719023,1100105,58,3,1,-9.0,4.0,1013,0,-9 +2719024,1100105,58,3,1,-9.0,6.0,5518,1,-9 +2719025,1100105,58,3,1,-9.0,6.0,2071,0,-9 +2719026,1100105,58,3,1,-9.0,4.0,3039,0,-9 +2719027,1100105,58,3,1,-9.0,4.0,6424,1,-9 +2719028,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719029,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719030,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2719031,1100105,58,3,1,-9.0,6.0,856,0,-9 +2719032,1100105,58,3,1,-9.0,6.0,435,0,-9 +2719033,1100105,58,3,1,-9.0,4.0,2144,1,-9 +2719034,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719035,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2719036,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719037,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2719038,1100105,58,3,1,-9.0,6.0,3747,0,-9 +2719039,1100105,58,3,1,-9.0,4.0,2796,0,-9 +2719040,1100105,58,3,1,-9.0,4.0,5353,0,-9 +2719041,1100105,58,3,1,-9.0,4.0,2144,1,-9 +2719042,1100105,58,3,1,-9.0,6.0,16716,0,-9 +2719043,1100105,58,3,1,-9.0,4.0,2532,1,-9 +2719044,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2719045,1100105,58,3,1,-9.0,4.0,16869,1,-9 +2719046,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2719047,1100105,58,3,1,-9.0,6.0,7091,1,-9 +2719048,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719049,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719050,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2719051,1100105,58,3,1,-9.0,6.0,2735,1,-9 +2719052,1100105,58,3,1,-9.0,6.0,3373,0,-9 +2719053,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719054,1100105,58,3,1,-9.0,6.0,2071,0,-9 +2719055,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719056,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719057,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2719058,1100105,58,3,1,-9.0,6.0,2108,0,-9 +2719059,1100105,58,3,1,-9.0,6.0,24839,0,-9 +2719060,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2719061,1100105,58,3,1,-9.0,6.0,2141,1,-9 +2719062,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719063,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2719064,1100105,58,3,1,-9.0,4.0,527,0,-9 +2719065,1100105,58,3,1,-9.0,4.0,24625,1,-9 +2719066,1100105,58,3,1,-9.0,4.0,12157,1,-9 +2719067,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719068,1100105,58,3,1,-9.0,4.0,4282,1,-9 +2719069,1100105,58,3,1,-9.0,6.0,8458,1,-9 +2719070,1100105,58,3,1,-9.0,4.0,15196,0,-9 +2719071,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719072,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719073,1100105,58,3,1,-9.0,6.0,4818,1,-9 +2719074,1100105,58,3,1,-9.0,6.0,5271,1,-9 +2719075,1100105,58,3,1,-9.0,4.0,15196,0,-9 +2719076,1100105,58,3,1,-9.0,6.0,3647,0,-9 +2719077,1100105,58,3,1,-9.0,6.0,1167,1,-9 +2719078,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719079,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2719080,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719081,1100105,58,3,1,-9.0,6.0,1657,1,-9 +2719082,1100105,58,3,1,-9.0,6.0,3395,0,-9 +2719083,1100105,58,3,1,-9.0,6.0,4972,1,-9 +2719084,1100105,58,3,1,-9.0,4.0,2796,0,-9 +2719085,1100105,58,3,1,-9.0,6.0,856,1,-9 +2719086,1100105,58,3,1,-9.0,4.0,1013,1,-9 +2719087,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2719088,1100105,58,3,1,-9.0,4.0,2635,1,-9 +2719089,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2719090,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2719091,1100105,58,3,1,-9.0,6.0,1061,0,-9 +2719092,1100105,58,3,1,-9.0,6.0,530,0,-9 +2719093,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719094,1100105,58,3,1,-9.0,6.0,421,0,-9 +2719095,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2719096,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2719097,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719098,1100105,58,3,1,-9.0,6.0,2462,0,-9 +2719099,1100105,58,3,1,-9.0,4.0,4868,1,-9 +2719100,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2719101,1100105,58,3,1,-9.0,4.0,3107,1,-9 +2719102,1100105,58,3,1,-9.0,6.0,3107,1,-9 +2719103,1100105,58,3,1,-9.0,6.0,1418,0,-9 +2719104,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719105,1100105,58,3,1,-9.0,6.0,856,1,-9 +2719106,1100105,58,3,1,-9.0,4.0,54825,1,-9 +2719107,1100105,58,3,1,-9.0,4.0,5489,0,-9 +2719108,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2719109,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2719110,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719111,1100105,58,3,1,-9.0,4.0,4143,0,-9 +2719112,1100105,58,3,1,-9.0,6.0,997,0,-9 +2719113,1100105,58,3,1,-9.0,4.0,955,0,-9 +2719114,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719115,1100105,58,3,1,-9.0,4.0,29379,0,-9 +2719116,1100105,58,3,1,-9.0,6.0,1177,0,-9 +2719117,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719118,1100105,58,3,1,-9.0,4.0,2532,0,-9 +2719119,1100105,58,3,1,-9.0,4.0,1897,0,-9 +2719120,1100105,58,3,1,-9.0,6.0,1215,0,-9 +2719121,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719122,1100105,58,3,1,-9.0,4.0,2127,0,-9 +2719123,1100105,58,3,1,-9.0,4.0,5271,0,-9 +2719124,1100105,58,3,1,-9.0,4.0,4217,0,-9 +2719125,1100105,58,3,1,-9.0,6.0,1519,0,-9 +2719126,1100105,58,3,1,-9.0,6.0,4052,1,-9 +2719127,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2719128,1100105,58,3,1,-9.0,6.0,8712,1,-9 +2719129,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2719130,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719131,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719132,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2719133,1100105,58,3,1,-9.0,6.0,25327,1,-9 +2719134,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2719135,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719136,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2719137,1100105,58,3,1,-9.0,6.0,7802,1,-9 +2719138,1100105,58,3,1,-9.0,4.0,2796,0,-9 +2719139,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2719140,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719141,1100105,58,3,1,-9.0,6.0,902,0,-9 +2719142,1100105,58,3,1,-9.0,4.0,2796,0,-9 +2719143,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2719144,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719145,1100105,58,3,1,-9.0,6.0,9322,1,-9 +2719146,1100105,58,3,1,-9.0,4.0,54825,1,-9 +2719147,1100105,58,3,1,-9.0,6.0,1273,0,-9 +2719148,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719149,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2719150,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719151,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2719152,1100105,58,3,1,-9.0,6.0,424,0,-9 +2719153,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2719154,1100105,58,3,1,-9.0,6.0,25696,0,-9 +2719155,1100105,58,3,1,-9.0,6.0,2034,0,-9 +2719156,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719157,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719158,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2719159,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719160,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719161,1100105,58,3,1,-9.0,6.0,4244,1,-9 +2719162,1100105,58,3,1,-9.0,6.0,2141,1,-9 +2719163,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719164,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719165,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719166,1100105,58,3,1,-9.0,6.0,3039,1,-9 +2719167,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719168,1100105,58,3,1,-9.0,4.0,2108,1,-9 +2719169,1100105,58,3,1,-9.0,6.0,6215,0,-9 +2719170,1100105,58,3,1,-9.0,6.0,997,0,-9 +2719171,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719172,1100105,58,3,1,-9.0,6.0,2741,1,-9 +2719173,1100105,58,3,1,-9.0,6.0,530,0,-9 +2719174,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719175,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719176,1100105,58,3,1,-9.0,4.0,5306,0,-9 +2719177,1100105,58,3,1,-9.0,4.0,5075,0,-9 +2719178,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2719179,1100105,58,3,1,-9.0,4.0,20716,0,-9 +2719180,1100105,58,3,1,-9.0,4.0,4868,1,-9 +2719181,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2719182,1100105,58,3,1,-9.0,4.0,517,0,-9 +2719183,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2719184,1100105,58,3,1,-9.0,4.0,5271,0,-9 +2719185,1100105,58,3,1,-9.0,4.0,1035,0,-9 +2719186,1100105,58,3,1,-9.0,6.0,414,0,-9 +2719187,1100105,58,3,1,-9.0,4.0,8104,0,-9 +2719188,1100105,58,3,1,-9.0,4.0,495,1,-9 +2719189,1100105,58,3,1,-9.0,4.0,11242,1,-9 +2719190,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719191,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2719192,1100105,58,3,1,-9.0,6.0,3039,1,-9 +2719193,1100105,58,3,1,-9.0,4.0,5836,1,-9 +2719194,1100105,58,3,1,-9.0,6.0,7802,1,-9 +2719195,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2719196,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2719197,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719198,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2719199,1100105,58,3,1,-9.0,6.0,374,0,-9 +2719200,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2719201,1100105,58,3,1,-9.0,4.0,1823,1,-9 +2719202,1100105,58,3,1,-9.0,4.0,4244,1,-9 +2719203,1100105,58,3,1,-9.0,4.0,530,0,-9 +2719204,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719205,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719206,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719207,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2719208,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2719209,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2719210,1100105,58,3,1,-9.0,6.0,5271,1,-9 +2719211,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719212,1100105,58,3,1,-9.0,6.0,2440,0,-9 +2719213,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719214,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719215,1100105,58,3,1,-9.0,6.0,1070,0,-9 +2719216,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719217,1100105,58,3,1,-9.0,4.0,20261,0,-9 +2719218,1100105,58,3,1,-9.0,6.0,856,0,-9 +2719219,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719220,1100105,58,3,1,-9.0,4.0,1864,0,-9 +2719221,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719222,1100105,58,3,1,-9.0,4.0,7598,1,-9 +2719223,1100105,58,3,1,-9.0,4.0,4244,1,-9 +2719224,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719225,1100105,58,3,1,-9.0,6.0,1391,0,-9 +2719226,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719227,1100105,58,3,1,-9.0,4.0,1013,0,-9 +2719228,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2719229,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719230,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719231,1100105,58,3,1,-9.0,6.0,828,0,-9 +2719232,1100105,58,3,1,-9.0,6.0,14183,1,-9 +2719233,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2719234,1100105,58,3,1,-9.0,6.0,5271,1,-9 +2719235,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2719236,1100105,58,3,1,-9.0,6.0,6326,0,-9 +2719237,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719238,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719239,1100105,58,3,1,-9.0,6.0,14916,1,-9 +2719240,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719241,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719242,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719243,1100105,58,3,1,-9.0,4.0,148,0,-9 +2719244,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2719245,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719246,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2719247,1100105,58,3,1,-9.0,6.0,48628,0,-9 +2719248,1100105,58,3,1,-9.0,6.0,3395,0,-9 +2719249,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719250,1100105,58,3,1,-9.0,6.0,25327,1,-9 +2719251,1100105,58,3,1,-9.0,4.0,1864,0,-9 +2719252,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719253,1100105,58,3,1,-9.0,4.0,7902,0,-9 +2719254,1100105,58,3,1,-9.0,4.0,3545,0,-9 +2719255,1100105,58,3,1,-9.0,4.0,2108,1,-9 +2719256,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719257,1100105,58,3,1,-9.0,6.0,4052,1,-9 +2719258,1100105,58,3,1,-9.0,4.0,7091,0,-9 +2719259,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2719260,1100105,58,3,1,-9.0,6.0,4244,1,-9 +2719261,1100105,58,3,1,-9.0,4.0,2071,1,-9 +2719262,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719263,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719264,1100105,58,3,1,-9.0,6.0,14916,1,-9 +2719265,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2719266,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2719267,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2719268,1100105,58,3,1,-9.0,6.0,421,0,-9 +2719269,1100105,58,3,1,-9.0,4.0,1159,1,-9 +2719270,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2719271,1100105,58,3,1,-9.0,4.0,1897,0,-9 +2719272,1100105,58,3,1,-9.0,6.0,12848,1,-9 +2719273,1100105,58,3,1,-9.0,6.0,1061,0,-9 +2719274,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719275,1100105,58,3,1,-9.0,6.0,3212,1,-9 +2719276,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719277,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719278,1100105,58,3,1,-9.0,6.0,2071,0,-9 +2719279,1100105,58,3,1,-9.0,6.0,1686,0,-9 +2719280,1100105,58,3,1,-9.0,6.0,856,1,-9 +2719281,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719282,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719283,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2719284,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719285,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2719286,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2719287,1100105,58,3,1,-9.0,4.0,7380,0,-9 +2719288,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719289,1100105,58,3,1,-9.0,4.0,20716,0,-9 +2719290,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719291,1100105,58,3,1,-9.0,4.0,53533,1,-9 +2719292,1100105,58,3,1,-9.0,6.0,210,0,-9 +2719293,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719294,1100105,58,3,1,-9.0,4.0,148,0,-9 +2719295,1100105,58,3,1,-9.0,6.0,1265,0,-9 +2719296,1100105,58,3,1,-9.0,6.0,4744,1,-9 +2719297,1100105,58,3,1,-9.0,4.0,4082,1,-9 +2719298,1100105,58,3,1,-9.0,6.0,1070,1,-9 +2719299,1100105,58,3,1,-9.0,4.0,3714,0,-9 +2719300,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719301,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719302,1100105,58,3,1,-9.0,4.0,17222,1,-9 +2719303,1100105,58,3,1,-9.0,4.0,1013,1,-9 +2719304,1100105,58,3,1,-9.0,4.0,3163,1,-9 +2719305,1100105,58,3,1,-9.0,4.0,2228,1,-9 +2719306,1100105,58,3,1,-9.0,6.0,856,0,-9 +2719307,1100105,58,3,1,-9.0,4.0,2635,0,-9 +2719308,1100105,58,3,1,-9.0,6.0,2214,1,-9 +2719309,1100105,58,3,1,-9.0,6.0,1722,0,-9 +2719310,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2719311,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2719312,1100105,58,3,1,-9.0,4.0,1897,0,-9 +2719313,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719314,1100105,58,3,1,-9.0,6.0,16159,0,-9 +2719315,1100105,58,3,1,-9.0,4.0,2532,0,-9 +2719316,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2719317,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719318,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2719319,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719320,1100105,58,3,1,-9.0,4.0,527,0,-9 +2719321,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719322,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719323,1100105,58,3,1,-9.0,4.0,506,0,-9 +2719324,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719325,1100105,58,3,1,-9.0,6.0,6215,0,-9 +2719326,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2719327,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719328,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2719329,1100105,58,3,1,-9.0,4.0,428,0,-9 +2719330,1100105,58,3,1,-9.0,6.0,3747,0,-9 +2719331,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719332,1100105,58,3,1,-9.0,6.0,3163,1,-9 +2719333,1100105,58,3,1,-9.0,6.0,265,1,-9 +2719334,1100105,58,3,1,-9.0,4.0,4217,0,-9 +2719335,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719336,1100105,58,3,1,-9.0,4.0,1498,0,-9 +2719337,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2719338,1100105,58,3,1,-9.0,6.0,4052,1,-9 +2719339,1100105,58,3,1,-9.0,6.0,6215,0,-9 +2719340,1100105,58,3,1,-9.0,6.0,3373,0,-9 +2719341,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719342,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719343,1100105,58,3,1,-9.0,4.0,4217,0,-9 +2719344,1100105,58,3,1,-9.0,6.0,1013,0,-9 +2719345,1100105,58,3,1,-9.0,6.0,1273,0,-9 +2719346,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719347,1100105,58,3,1,-9.0,6.0,902,0,-9 +2719348,1100105,58,3,1,-9.0,6.0,11394,1,-9 +2719349,1100105,58,3,1,-9.0,4.0,2532,0,-9 +2719350,1100105,58,3,1,-9.0,6.0,1792,0,-9 +2719351,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719352,1100105,58,3,1,-9.0,4.0,6431,1,-9 +2719353,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2719354,1100105,58,3,1,-9.0,6.0,8779,0,-9 +2719355,1100105,58,3,1,-9.0,4.0,2141,0,-9 +2719356,1100105,58,3,1,-9.0,6.0,856,0,-9 +2719357,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719358,1100105,58,3,1,-9.0,6.0,1061,1,-9 +2719359,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719360,1100105,58,3,1,-9.0,4.0,5836,1,-9 +2719361,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719362,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719363,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719364,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719365,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719366,1100105,58,3,1,-9.0,6.0,769,0,-9 +2719367,1100105,58,3,1,-9.0,4.0,2796,0,-9 +2719368,1100105,58,3,1,-9.0,4.0,3107,1,-9 +2719369,1100105,58,3,1,-9.0,4.0,1897,0,-9 +2719370,1100105,58,3,1,-9.0,4.0,256,1,-9 +2719371,1100105,58,3,1,-9.0,4.0,2532,0,-9 +2719372,1100105,58,3,1,-9.0,6.0,3849,0,-9 +2719373,1100105,58,3,1,-9.0,6.0,2431,1,-9 +2719374,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719375,1100105,58,3,1,-9.0,4.0,4143,0,-9 +2719376,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719377,1100105,58,3,1,-9.0,6.0,8434,0,-9 +2719378,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719379,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719380,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719381,1100105,58,3,1,-9.0,4.0,177291,0,-9 +2719382,1100105,58,3,1,-9.0,6.0,5075,1,-9 +2719383,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719384,1100105,58,3,1,-9.0,6.0,856,0,-9 +2719385,1100105,58,3,1,-9.0,6.0,1167,1,-9 +2719386,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719387,1100105,58,3,1,-9.0,4.0,53062,0,-9 +2719388,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719389,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2719390,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2719391,1100105,58,3,1,-9.0,4.0,3163,0,-9 +2719392,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719393,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719394,1100105,58,3,1,-9.0,4.0,5836,1,-9 +2719395,1100105,58,3,1,-9.0,6.0,18235,1,-9 +2719396,1100105,58,3,1,-9.0,4.0,2108,1,-9 +2719397,1100105,58,3,1,-9.0,4.0,1591,0,-9 +2719398,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719399,1100105,58,3,1,-9.0,6.0,2108,0,-9 +2719400,1100105,58,3,1,-9.0,6.0,3849,0,-9 +2719401,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719402,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719403,1100105,58,3,1,-9.0,4.0,2796,0,-9 +2719404,1100105,58,3,1,-9.0,6.0,5065,0,-9 +2719405,1100105,58,3,1,-9.0,4.0,4082,1,-9 +2719406,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719407,1100105,58,3,1,-9.0,4.0,16869,1,-9 +2719408,1100105,58,3,1,-9.0,4.0,2122,0,-9 +2719409,1100105,58,3,1,-9.0,6.0,2900,1,-9 +2719410,1100105,58,3,1,-9.0,6.0,2676,1,-9 +2719411,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719412,1100105,58,3,1,-9.0,6.0,1054,0,-9 +2719413,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719414,1100105,58,3,1,-9.0,6.0,4052,0,-9 +2719415,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719416,1100105,58,3,1,-9.0,4.0,880,0,-9 +2719417,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2719418,1100105,58,3,1,-9.0,6.0,2141,0,-9 +2719419,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719420,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2719421,1100105,58,3,1,-9.0,6.0,1061,0,-9 +2719422,1100105,58,3,1,-9.0,6.0,2440,0,-9 +2719423,1100105,58,3,1,-9.0,6.0,12848,1,-9 +2719424,1100105,58,3,1,-9.0,4.0,1620,0,-9 +2719425,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719426,1100105,58,3,1,-9.0,6.0,1215,0,-9 +2719427,1100105,58,3,1,-9.0,4.0,7380,0,-9 +2719428,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719429,1100105,58,3,1,-9.0,6.0,1243,0,-9 +2719430,1100105,58,3,1,-9.0,6.0,2900,1,-9 +2719431,1100105,58,3,1,-9.0,6.0,3901,1,-9 +2719432,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719433,1100105,58,3,1,-9.0,4.0,2653,1,-9 +2719434,1100105,58,3,1,-9.0,4.0,5489,0,-9 +2719435,1100105,58,3,1,-9.0,4.0,2635,1,-9 +2719436,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2719437,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2719438,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2719439,1100105,58,3,1,-9.0,6.0,1061,1,-9 +2719440,1100105,58,3,1,-9.0,4.0,8489,1,-9 +2719441,1100105,58,3,1,-9.0,6.0,2108,0,-9 +2719442,1100105,58,3,1,-9.0,4.0,1968,1,-9 +2719443,1100105,58,3,1,-9.0,4.0,26103,1,-9 +2719444,1100105,58,3,1,-9.0,6.0,828,0,-9 +2719445,1100105,58,3,1,-9.0,4.0,4868,1,-9 +2719446,1100105,58,3,1,-9.0,6.0,2532,0,-9 +2719447,1100105,58,3,1,-9.0,6.0,8712,1,-9 +2719448,1100105,58,3,1,-9.0,4.0,8961,1,-9 +2719449,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2719450,1100105,58,3,1,-9.0,6.0,24839,0,-9 +2719451,1100105,58,3,1,-9.0,4.0,2071,1,-9 +2719452,1100105,58,3,1,-9.0,6.0,2122,1,-9 +2719453,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719454,1100105,58,3,1,-9.0,6.0,13676,0,-9 +2719455,1100105,58,3,1,-9.0,4.0,880,0,-9 +2719456,1100105,58,3,1,-9.0,6.0,4775,1,-9 +2719457,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719458,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719459,1100105,58,3,1,-9.0,6.0,2026,0,-9 +2719460,1100105,58,3,1,-9.0,4.0,21086,1,-9 +2719461,1100105,58,3,1,-9.0,6.0,1968,0,-9 +2719462,1100105,58,3,1,-9.0,4.0,7902,0,-9 +2719463,1100105,58,3,1,-9.0,4.0,2071,0,-9 +2719464,1100105,58,3,1,-9.0,4.0,4558,0,-9 +2719465,1100105,58,3,1,-9.0,4.0,4052,0,-9 +2719466,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719467,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719468,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719469,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719470,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719471,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719472,1100105,58,3,1,-9.0,4.0,3107,1,-9 +2719473,1100105,58,3,1,-9.0,4.0,527,0,-9 +2719474,1100105,58,3,1,-9.0,6.0,12098,1,-9 +2719475,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719476,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719477,1100105,58,3,1,-9.0,6.0,6424,1,-9 +2719478,1100105,58,3,1,-9.0,6.0,5075,1,-9 +2719479,1100105,58,3,1,-9.0,4.0,0,0,-9 +2719480,1100105,58,3,1,-9.0,4.0,1284,0,-9 +2719481,1100105,58,3,1,-9.0,4.0,148,0,-9 +2719482,1100105,58,3,1,-9.0,4.0,4661,1,-9 +2719483,1100105,58,3,1,-9.0,4.0,2122,1,-9 +2719484,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719485,1100105,58,3,1,-9.0,4.0,6367,0,-9 +2719486,1100105,58,3,1,-9.0,6.0,2440,0,-9 +2719487,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719488,1100105,58,3,1,-9.0,4.0,22484,1,-9 +2719489,1100105,58,3,1,-9.0,6.0,2071,1,-9 +2719490,1100105,58,3,1,-9.0,4.0,4661,1,-9 +2719491,1100105,58,3,1,-9.0,6.0,0,0,-9 +2719492,1100105,58,3,1,-9.0,6.0,2122,1,-9 diff --git a/activitysim/examples/prototype_mwcog/data/combined_synthetic_per_2018.csv b/activitysim/examples/prototype_mwcog/data/combined_synthetic_per_2018.csv new file mode 100644 index 0000000000..26eda2b111 --- /dev/null +++ b/activitysim/examples/prototype_mwcog/data/combined_synthetic_per_2018.csv @@ -0,0 +1,40138 @@ +puma_geoid,TAZ,household_id,per_num,AGEP,SEX,WKHP,WKW,ESR,RAC1P,HISP,SCHG,MIL,NAICSP,INDP,person_id +1100105,11,1,1,37,1,45,1,1,9,1,-9,4,92MP,9470.0,101 +1100105,11,1,2,37,2,50,1,1,6,1,-9,4,5416,7390.0,102 +1100105,11,1,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,103 +1100105,11,1,4,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,104 +1100105,11,2,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,201 +1100105,11,2,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,202 +1100105,11,2,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,203 +1100105,11,2,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,204 +1100105,11,3,1,37,2,-9,-9,6,2,1,-9,4,0,0.0,301 +1100105,11,3,2,14,1,-9,-9,-9,2,1,10,-9,0,0.0,302 +1100105,11,3,3,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,303 +1100105,11,3,4,2,1,-9,-9,-9,2,1,-9,-9,0,0.0,304 +1100105,11,4,1,23,2,40,3,1,1,1,-9,4,5411,7270.0,401 +1100105,11,4,2,29,1,50,1,1,1,1,16,4,928P,9590.0,402 +1100105,11,4,3,25,2,50,1,1,1,1,-9,4,813M,9170.0,403 +1100105,11,5,1,27,1,60,1,1,1,1,-9,4,5415,7380.0,501 +1100105,11,5,2,28,1,60,1,1,1,1,-9,4,5415,7380.0,502 +1100105,11,5,3,23,1,60,1,1,1,1,-9,4,923,9480.0,503 +1100105,11,6,1,31,2,40,3,1,2,1,-9,4,6111,7860.0,601 +1100105,11,6,2,12,1,-9,-9,-9,2,1,8,-9,0,0.0,602 +1100105,11,6,3,9,2,-9,-9,-9,2,1,6,-9,0,0.0,603 +1100105,11,7,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,701 +1100105,11,7,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,702 +1100105,11,7,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,703 +1100105,11,8,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,801 +1100105,11,8,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,802 +1100105,11,8,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,803 +1100105,11,9,1,81,2,25,1,1,1,1,-9,4,51111,6470.0,901 +1100105,11,9,2,48,2,40,1,1,1,1,-9,4,622M,8191.0,902 +1100105,11,10,1,37,1,40,1,1,1,1,-9,4,23,770.0,1001 +1100105,11,10,2,49,1,40,1,1,1,1,-9,2,23,770.0,1002 +1100105,11,11,1,49,1,50,1,1,1,1,-9,4,5411,7270.0,1101 +1100105,11,11,2,46,2,40,1,1,8,2,-9,4,5417,7460.0,1102 +1100105,11,12,1,34,2,50,1,1,1,1,-9,4,52M2,6970.0,1201 +1100105,11,12,2,49,1,40,1,1,1,1,-9,4,92M2,9570.0,1202 +1100105,11,13,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,1301 +1100105,11,13,2,32,2,24,1,1,1,1,-9,4,6213ZM,8080.0,1302 +1100105,11,14,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,1401 +1100105,11,14,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,1402 +1100105,11,15,1,79,1,50,1,1,1,1,-9,2,5241,6991.0,1501 +1100105,11,15,2,79,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1502 +1100105,11,16,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,1601 +1100105,11,16,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,1602 +1100105,11,17,1,67,1,5,5,1,2,1,-9,4,5411,7270.0,1701 +1100105,11,17,2,66,2,60,1,1,2,1,-9,4,712,8570.0,1702 +1100105,11,18,1,39,2,40,1,1,1,1,-9,4,5413,7290.0,1801 +1100105,11,18,2,46,1,40,1,1,1,1,-9,4,5416,7390.0,1802 +1100105,11,19,1,32,1,40,1,1,1,1,15,4,5415,7380.0,1901 +1100105,11,19,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,1902 +1100105,11,20,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,2001 +1100105,11,20,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,2002 +1100105,11,21,1,74,1,16,3,6,1,1,-9,4,5417,7460.0,2101 +1100105,11,21,2,72,2,18,1,1,1,1,-9,4,5112,6490.0,2102 +1100105,11,22,1,70,2,40,1,1,2,1,-9,4,51912,6770.0,2201 +1100105,11,22,2,36,1,40,1,1,2,1,-9,4,23,770.0,2202 +1100105,11,23,1,43,1,40,1,1,1,1,-9,4,5415,7380.0,2301 +1100105,11,23,2,36,2,50,1,1,1,1,-9,4,5413,7290.0,2302 +1100105,11,24,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,2401 +1100105,11,24,2,52,1,45,1,1,2,1,-9,4,481,6070.0,2402 +1100105,11,25,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,2501 +1100105,11,25,2,32,2,40,4,1,3,1,-9,4,6214,8090.0,2502 +1100105,11,26,1,24,2,40,1,1,6,1,-9,4,813M,9170.0,2601 +1100105,11,26,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,2602 +1100105,11,27,1,22,2,40,1,1,1,1,-9,4,5416,7390.0,2701 +1100105,11,27,2,22,2,45,1,1,1,1,16,4,722Z,8680.0,2702 +1100105,11,28,1,30,2,40,1,1,1,1,-9,4,51912,6770.0,2801 +1100105,11,28,2,32,1,40,1,1,1,1,-9,4,5415,7380.0,2802 +1100105,11,29,1,33,1,40,1,1,1,1,16,4,6111,7860.0,2901 +1100105,11,29,2,29,1,40,1,1,1,1,-9,4,813M,9170.0,2902 +1100105,11,30,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,3001 +1100105,11,30,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,3002 +1100105,11,31,1,21,1,40,1,1,1,1,-9,4,722Z,8680.0,3101 +1100105,11,31,2,21,1,40,1,1,1,1,-9,4,52M1,6870.0,3102 +1100105,11,32,1,23,2,45,1,1,1,1,-9,4,454110,5593.0,3201 +1100105,11,32,2,23,2,45,6,1,8,3,-9,4,5111Z,6480.0,3202 +1100105,11,33,1,84,2,-9,-9,6,2,1,-9,4,0,0.0,3301 +1100105,11,33,2,47,1,40,1,1,2,1,-9,4,722Z,8680.0,3302 +1100105,11,34,1,82,1,-9,-9,6,2,1,-9,4,0,0.0,3401 +1100105,11,34,2,73,2,-9,-9,6,2,1,-9,4,44511,4971.0,3402 +1100105,11,35,1,44,1,60,1,1,1,1,-9,2,5416,7390.0,3501 +1100105,11,36,1,51,1,80,1,1,2,1,-9,4,522M,6890.0,3601 +1100105,11,37,1,40,2,40,1,1,1,1,-9,4,813M,9170.0,3701 +1100105,11,38,1,26,2,55,1,1,1,1,-9,4,5411,7270.0,3801 +1100105,11,39,1,69,2,40,1,1,2,1,-9,4,611M1,7870.0,3901 +1100105,11,40,1,44,2,40,1,1,9,1,-9,4,813M,9170.0,4001 +1100105,11,41,1,58,2,40,1,1,6,1,-9,4,531M,7071.0,4101 +1100105,11,42,1,35,2,50,1,1,2,1,-9,4,5416,7390.0,4201 +1100105,11,43,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,4301 +1100105,11,44,1,48,2,40,1,1,1,1,15,4,334M2,3390.0,4401 +1100105,11,45,1,40,1,40,1,1,1,1,-9,4,923,9480.0,4501 +1100105,11,46,1,37,1,50,1,4,1,1,-9,1,928110P2,9680.0,4601 +1100105,11,47,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,4701 +1100105,11,48,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,4801 +1100105,11,49,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,4901 +1100105,11,50,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,5001 +1100105,11,51,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,5101 +1100105,11,52,1,26,1,40,1,1,1,1,-9,4,52M2,6970.0,5201 +1100105,11,53,1,78,1,-9,-9,6,1,1,-9,2,0,0.0,5301 +1100105,11,54,1,65,1,40,1,1,2,1,-9,2,92119,9390.0,5401 +1100105,11,55,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,5501 +1100105,11,56,1,45,2,60,1,1,6,1,-9,4,5414,7370.0,5601 +1100105,11,57,1,48,1,40,1,1,2,1,-9,4,722Z,8680.0,5701 +1100105,11,58,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,5801 +1100105,11,59,1,49,2,15,3,1,1,1,-9,4,5614,7590.0,5901 +1100105,11,60,1,40,2,40,1,1,1,21,-9,4,813M,9170.0,6001 +1100105,11,61,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,6101 +1100105,11,62,1,22,2,70,1,1,6,1,-9,4,5416,7390.0,6201 +1100105,11,63,1,31,1,45,2,1,2,1,-9,4,5416,7390.0,6301 +1100105,11,64,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,6401 +1100105,11,65,1,33,2,40,4,1,1,1,-9,4,8139Z,9190.0,6501 +1100105,11,66,1,28,2,35,1,1,1,1,-9,4,6216,8170.0,6601 +1100105,11,67,1,30,2,40,1,1,1,1,-9,4,443142,4795.0,6701 +1100105,11,68,1,29,1,30,1,2,1,2,-9,4,711M,8563.0,6801 +1100105,11,69,1,80,2,-9,-9,6,2,1,-9,4,0,0.0,6901 +1100105,11,70,1,71,2,20,4,6,1,1,-9,4,5111Z,6480.0,7001 +1100105,11,71,1,70,2,5,6,1,2,1,-9,4,5613,7580.0,7101 +1100105,11,72,1,41,1,40,1,1,2,1,-9,4,5414,7370.0,7201 +1100105,11,73,1,28,2,50,1,1,1,1,16,4,611M1,7870.0,7301 +1100105,11,74,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,7401 +1100105,11,75,1,67,2,-9,-9,6,1,1,-9,4,5415,7380.0,7501 +1100105,11,76,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,7601 +1100105,11,77,1,59,2,-9,-9,6,2,1,-9,4,0,0.0,7701 +1100105,17,78,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,7801 +1100105,17,78,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,7802 +1100105,17,78,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,7803 +1100105,17,78,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,7804 +1100105,17,79,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,7901 +1100105,17,79,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,7902 +1100105,17,79,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,7903 +1100105,17,79,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,7904 +1100105,17,80,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,8001 +1100105,17,80,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,8002 +1100105,17,80,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,8003 +1100105,17,81,1,29,2,45,1,1,1,1,16,4,9211MP,9370.0,8101 +1100105,17,81,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,8102 +1100105,17,81,3,25,1,45,1,1,1,1,-9,4,5417,7460.0,8103 +1100105,17,82,1,26,2,45,1,1,1,1,-9,4,813M,9170.0,8201 +1100105,17,82,2,26,2,45,1,1,1,1,-9,4,813M,9170.0,8202 +1100105,17,82,3,26,2,40,1,1,1,1,-9,4,5121,6570.0,8203 +1100105,17,83,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,8301 +1100105,17,83,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,8302 +1100105,17,83,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,8303 +1100105,17,84,1,28,2,40,1,1,2,1,-9,4,928P,9590.0,8401 +1100105,17,84,2,25,2,20,4,1,1,2,16,4,114,280.0,8402 +1100105,17,84,3,24,1,42,1,2,1,1,-9,4,52M1,6870.0,8403 +1100105,17,85,1,27,2,-9,-9,6,1,4,16,4,0,0.0,8501 +1100105,17,85,2,32,2,40,1,1,1,1,-9,4,923,9480.0,8502 +1100105,17,85,3,25,2,-9,-9,6,2,1,16,4,0,0.0,8503 +1100105,17,86,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,8601 +1100105,17,86,2,17,2,-9,-9,6,3,1,12,4,0,0.0,8602 +1100105,17,86,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,8603 +1100105,17,87,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,8701 +1100105,17,87,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,8702 +1100105,17,87,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,8703 +1100105,17,88,1,50,1,40,1,1,1,1,-9,4,9211MP,9370.0,8801 +1100105,17,88,2,52,1,45,1,1,1,1,-9,4,92M2,9570.0,8802 +1100105,17,89,1,35,1,85,1,1,1,1,-9,4,5411,7270.0,8901 +1100105,17,89,2,34,2,50,1,1,1,1,-9,4,3254,2190.0,8902 +1100105,17,90,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,9001 +1100105,17,90,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,9002 +1100105,17,91,1,30,2,40,1,1,1,1,-9,4,5417,7460.0,9101 +1100105,17,91,2,31,1,40,1,1,6,1,-9,4,6214,8090.0,9102 +1100105,17,92,1,33,1,55,1,1,1,1,-9,4,5415,7380.0,9201 +1100105,17,92,2,31,1,45,1,1,1,1,-9,4,928P,9590.0,9202 +1100105,17,93,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,9301 +1100105,17,93,2,34,2,50,1,1,1,1,-9,4,928P,9590.0,9302 +1100105,17,94,1,28,2,45,1,1,1,1,-9,4,8139Z,9190.0,9401 +1100105,17,94,2,27,1,45,1,1,1,1,-9,4,5416,7390.0,9402 +1100105,17,95,1,38,1,50,1,1,9,1,-9,4,5417,7460.0,9501 +1100105,17,95,2,34,1,40,1,1,1,1,-9,4,6111,7860.0,9502 +1100105,17,96,1,32,1,41,1,1,1,1,-9,4,5121,6570.0,9601 +1100105,17,96,2,32,2,42,1,1,6,1,-9,4,515,6670.0,9602 +1100105,17,97,1,30,2,50,1,1,1,1,-9,4,6241,8370.0,9701 +1100105,17,97,2,29,1,45,1,1,1,1,-9,4,5415,7380.0,9702 +1100105,17,98,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,9801 +1100105,17,98,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,9802 +1100105,17,99,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,9901 +1100105,17,99,2,52,1,45,1,1,2,1,-9,4,481,6070.0,9902 +1100105,17,100,1,27,2,40,1,1,9,1,-9,4,928P,9590.0,10001 +1100105,17,100,2,28,2,50,1,1,1,1,-9,4,928P,9590.0,10002 +1100105,17,101,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,10101 +1100105,17,101,2,25,2,40,4,1,6,1,-9,4,813M,9170.0,10102 +1100105,17,102,1,30,2,40,1,1,1,1,-9,4,8139Z,9190.0,10201 +1100105,17,102,2,29,2,48,1,1,1,1,-9,4,813M,9170.0,10202 +1100105,17,103,1,28,1,45,1,1,1,1,16,4,92119,9390.0,10301 +1100105,17,103,2,29,2,45,1,1,1,1,-9,4,5191ZM,6780.0,10302 +1100105,17,104,1,32,1,50,1,1,1,1,16,4,8139Z,9190.0,10401 +1100105,17,104,2,27,1,40,1,1,1,1,-9,4,5417,7460.0,10402 +1100105,17,105,1,28,1,40,2,1,1,1,-9,4,5419Z,7490.0,10501 +1100105,17,105,2,26,2,40,4,6,1,1,16,4,6111,7860.0,10502 +1100105,17,106,1,29,1,40,3,1,2,1,-9,4,5417,7460.0,10601 +1100105,17,106,2,27,1,40,1,1,6,1,-9,4,722Z,8680.0,10602 +1100105,17,107,1,27,2,48,2,1,1,1,-9,4,6111,7860.0,10701 +1100105,17,107,2,30,1,90,4,1,1,1,-9,4,611M3,7890.0,10702 +1100105,17,108,1,29,1,40,1,1,6,1,-9,4,5416,7390.0,10801 +1100105,17,108,2,30,2,35,6,6,1,1,-9,4,8139Z,9190.0,10802 +1100105,17,109,1,25,1,40,1,1,1,1,-9,4,5313,7072.0,10901 +1100105,17,109,2,25,2,35,6,6,1,1,16,4,8139Z,9190.0,10902 +1100105,17,110,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,11001 +1100105,17,110,2,24,2,-9,-9,6,6,1,16,4,0,0.0,11002 +1100105,17,111,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,11101 +1100105,17,111,2,62,2,-9,-9,6,2,1,-9,4,813M,9170.0,11102 +1100105,17,112,1,22,2,45,6,6,1,1,-9,4,531M,7071.0,11201 +1100105,17,112,2,22,2,40,4,3,1,1,-9,4,5614,7590.0,11202 +1100105,17,113,1,36,1,40,1,1,1,1,-9,4,6211,7970.0,11301 +1100105,17,114,1,38,2,40,1,1,1,1,-9,4,5411,7270.0,11401 +1100105,17,115,1,33,1,45,1,1,1,1,-9,4,6212,7980.0,11501 +1100105,17,116,1,38,1,40,1,1,2,1,-9,4,522M,6890.0,11601 +1100105,17,117,1,60,2,60,1,1,1,1,-9,4,813M,9170.0,11701 +1100105,17,118,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,11801 +1100105,17,119,1,39,2,50,1,1,9,1,-9,4,813M,9170.0,11901 +1100105,17,120,1,38,1,50,1,1,6,1,-9,4,5415,7380.0,12001 +1100105,17,121,1,59,1,40,1,1,2,1,-9,4,92M2,9570.0,12101 +1100105,17,122,1,43,2,47,1,1,1,1,-9,4,928P,9590.0,12201 +1100105,17,123,1,51,1,40,1,1,1,1,-9,4,923,9480.0,12301 +1100105,17,124,1,58,1,50,1,1,1,1,-9,4,722Z,8680.0,12401 +1100105,17,125,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,12501 +1100105,17,126,1,39,2,50,3,1,8,2,-9,4,6241,8370.0,12601 +1100105,17,127,1,28,1,55,1,1,6,1,-9,4,5416,7390.0,12701 +1100105,17,128,1,32,2,55,1,1,1,1,-9,4,928P,9590.0,12801 +1100105,17,129,1,31,2,40,1,1,1,1,-9,4,923,9480.0,12901 +1100105,17,130,1,33,1,40,1,1,1,1,-9,4,9211MP,9370.0,13001 +1100105,17,131,1,32,2,50,1,1,1,1,-9,4,52M2,6970.0,13101 +1100105,17,132,1,29,2,40,1,1,1,1,-9,4,5411,7270.0,13201 +1100105,17,133,1,44,2,45,1,1,6,1,-9,4,813M,9170.0,13301 +1100105,17,134,1,38,2,30,1,1,2,1,-9,4,5111Z,6480.0,13401 +1100105,17,135,1,49,2,15,3,1,1,1,-9,4,5614,7590.0,13501 +1100105,17,136,1,37,1,35,1,1,1,1,-9,4,6111,7860.0,13601 +1100105,17,137,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,13701 +1100105,17,138,1,32,1,80,1,1,6,1,-9,4,622M,8191.0,13801 +1100105,17,139,1,30,2,50,1,1,2,1,-9,4,622M,8191.0,13901 +1100105,17,140,1,29,1,50,1,1,1,1,-9,4,3116,1180.0,14001 +1100105,17,141,1,25,2,40,1,1,1,1,-9,4,51913,6672.0,14101 +1100105,17,142,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,14201 +1100105,17,143,1,25,1,38,1,1,1,1,-9,4,5411,7270.0,14301 +1100105,17,144,1,27,2,37,1,1,1,1,-9,4,622M,8191.0,14401 +1100105,17,145,1,28,2,48,2,1,1,1,-9,4,928P,9590.0,14501 +1100105,17,146,1,30,2,37,1,1,1,3,-9,4,81393,9180.0,14601 +1100105,17,147,1,75,2,-9,-9,6,2,1,-9,4,8131,9160.0,14701 +1100105,17,148,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,14801 +1100105,17,149,1,41,1,40,1,1,2,1,-9,4,5414,7370.0,14901 +1100105,17,150,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,15001 +1100105,17,151,1,28,2,45,4,1,1,1,-9,4,92MP,9470.0,15101 +1100105,17,152,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,15201 +1100105,17,153,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,15301 +1100105,17,154,1,54,2,12,5,1,2,1,-9,4,6214,8090.0,15401 +1100105,17,155,1,25,2,40,6,1,2,1,16,4,928P,9590.0,15501 +1100105,17,156,1,25,1,35,1,1,1,1,16,4,813M,9170.0,15601 +1100105,17,157,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,15701 +1100105,17,158,1,73,1,-9,-9,6,2,1,-9,4,0,0.0,15801 +1100105,17,159,1,80,2,-9,-9,6,2,1,-9,4,0,0.0,15901 +1100105,17,160,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,16001 +1100105,17,161,1,56,1,-9,-9,6,2,1,-9,4,0,0.0,16101 +1100105,17,162,1,60,1,-9,-9,6,2,1,-9,4,4853,6190.0,16201 +1100105,17,163,1,38,1,10,5,3,2,1,-9,4,5416,7390.0,16301 +1100105,17,164,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,16401 +1100105,17,165,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,16501 +1100105,17,166,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,16601 +1100105,17,167,1,50,2,-9,-9,6,2,3,-9,4,0,0.0,16701 +1100105,17,168,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,16801 +1100105,17,169,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,16901 +1100105,17,170,1,21,2,12,6,6,1,1,16,4,611M1,7870.0,17001 +1100105,17,171,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,17101 +1100105,18,172,1,34,2,50,1,1,1,1,-9,4,5415,7380.0,17201 +1100105,18,172,2,23,2,35,5,3,1,1,-9,4,5417,7460.0,17202 +1100105,18,173,1,33,2,40,1,1,1,1,-9,4,611M3,7890.0,17301 +1100105,19,174,1,45,1,40,1,1,1,1,-9,4,522M,6890.0,17401 +1100105,19,174,2,39,2,-9,-9,6,1,13,-9,4,0,0.0,17402 +1100105,19,174,3,8,2,-9,-9,-9,1,13,4,-9,0,0.0,17403 +1100105,19,174,4,6,2,-9,-9,-9,1,13,2,-9,0,0.0,17404 +1100105,19,174,5,3,1,-9,-9,-9,1,13,1,-9,0,0.0,17405 +1100105,19,175,1,40,1,45,1,1,8,1,-9,4,621M,8180.0,17501 +1100105,19,175,2,42,2,50,1,1,6,1,-9,4,722Z,8680.0,17502 +1100105,19,175,3,9,2,-9,-9,-9,8,1,5,-9,0,0.0,17503 +1100105,19,175,4,7,2,-9,-9,-9,8,1,4,-9,0,0.0,17504 +1100105,19,175,5,5,2,-9,-9,-9,8,1,2,-9,0,0.0,17505 +1100105,19,176,1,40,1,45,1,1,8,1,-9,4,621M,8180.0,17601 +1100105,19,176,2,42,2,50,1,1,6,1,-9,4,722Z,8680.0,17602 +1100105,19,176,3,9,2,-9,-9,-9,8,1,5,-9,0,0.0,17603 +1100105,19,176,4,7,2,-9,-9,-9,8,1,4,-9,0,0.0,17604 +1100105,19,176,5,5,2,-9,-9,-9,8,1,2,-9,0,0.0,17605 +1100105,19,177,1,32,2,40,1,1,1,11,-9,4,722Z,8680.0,17701 +1100105,19,177,2,16,2,-9,-9,6,1,11,13,-9,0,0.0,17702 +1100105,19,177,3,13,1,-9,-9,-9,1,11,9,-9,0,0.0,17703 +1100105,19,177,4,6,1,-9,-9,-9,1,11,3,-9,0,0.0,17704 +1100105,19,177,5,35,1,40,1,1,1,11,-9,4,4MS,5790.0,17705 +1100105,19,178,1,40,2,-9,-9,6,8,11,-9,4,0,0.0,17801 +1100105,19,178,2,20,1,-9,-9,6,8,11,-9,4,0,0.0,17802 +1100105,19,178,3,19,1,-9,-9,6,8,11,-9,4,0,0.0,17803 +1100105,19,178,4,36,2,-9,-9,6,8,11,-9,4,0,0.0,17804 +1100105,19,178,5,18,2,-9,-9,6,8,11,12,4,0,0.0,17805 +1100105,19,179,1,40,2,-9,-9,6,8,11,-9,4,0,0.0,17901 +1100105,19,179,2,20,1,-9,-9,6,8,11,-9,4,0,0.0,17902 +1100105,19,179,3,19,1,-9,-9,6,8,11,-9,4,0,0.0,17903 +1100105,19,179,4,36,2,-9,-9,6,8,11,-9,4,0,0.0,17904 +1100105,19,179,5,18,2,-9,-9,6,8,11,12,4,0,0.0,17905 +1100105,19,180,1,36,1,40,1,1,1,1,-9,4,6111,7860.0,18001 +1100105,19,180,2,39,1,40,1,1,1,1,16,4,4441Z,4870.0,18002 +1100105,19,180,3,33,1,40,1,1,1,1,15,4,3399ZM,3980.0,18003 +1100105,19,181,1,53,2,40,1,1,1,1,-9,4,928P,9590.0,18101 +1100105,19,181,2,54,1,40,1,1,1,1,-9,4,928P,9590.0,18102 +1100105,19,181,3,21,1,-9,-9,6,1,1,-9,4,722Z,8680.0,18103 +1100105,19,182,1,53,2,40,1,1,1,1,-9,4,928P,9590.0,18201 +1100105,19,182,2,54,1,40,1,1,1,1,-9,4,928P,9590.0,18202 +1100105,19,182,3,21,1,-9,-9,6,1,1,-9,4,722Z,8680.0,18203 +1100105,19,183,1,55,2,40,1,1,9,1,-9,4,52M2,6970.0,18301 +1100105,19,183,2,65,1,50,1,1,1,1,-9,4,44511,4971.0,18302 +1100105,19,183,3,15,2,-9,-9,-9,6,1,12,-9,0,0.0,18303 +1100105,19,184,1,41,1,50,1,1,1,1,-9,4,611M1,7870.0,18401 +1100105,19,184,2,42,2,40,1,1,6,1,-9,4,611M1,7870.0,18402 +1100105,19,184,3,6,2,-9,-9,-9,9,1,2,-9,0,0.0,18403 +1100105,19,185,1,48,1,50,1,1,1,1,-9,4,92MP,9470.0,18501 +1100105,19,185,2,47,2,50,1,1,1,1,-9,4,92MP,9470.0,18502 +1100105,19,185,3,8,2,-9,-9,-9,1,1,4,-9,0,0.0,18503 +1100105,19,186,1,50,1,40,1,1,1,1,-9,4,454110,5593.0,18601 +1100105,19,186,2,48,2,40,1,1,1,1,-9,4,5413,7290.0,18602 +1100105,19,186,3,15,2,-9,-9,-9,1,2,12,-9,0,0.0,18603 +1100105,19,187,1,37,1,50,1,1,1,1,-9,4,5416,7390.0,18701 +1100105,19,187,2,35,2,50,1,1,6,1,-9,4,5416,7390.0,18702 +1100105,19,187,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,18703 +1100105,19,188,1,37,1,50,1,1,1,1,-9,4,5416,7390.0,18801 +1100105,19,188,2,35,2,50,1,1,6,1,-9,4,5416,7390.0,18802 +1100105,19,188,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,18803 +1100105,19,189,1,45,1,40,1,1,1,1,-9,4,515,6670.0,18901 +1100105,19,189,2,42,2,40,1,1,6,1,-9,4,515,6670.0,18902 +1100105,19,189,3,2,1,-9,-9,-9,8,1,-9,-9,0,0.0,18903 +1100105,19,190,1,43,1,50,1,1,1,1,-9,4,485M,6180.0,19001 +1100105,19,190,2,35,2,40,1,1,9,1,-9,4,92M1,9490.0,19002 +1100105,19,190,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,19003 +1100105,19,191,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,19101 +1100105,19,191,2,35,2,50,1,1,6,1,-9,4,92MP,9470.0,19102 +1100105,19,191,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,19103 +1100105,19,192,1,42,1,40,3,1,1,1,-9,4,928P,9590.0,19201 +1100105,19,192,2,42,2,40,1,1,1,1,-9,4,5417,7460.0,19202 +1100105,19,192,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,19203 +1100105,19,193,1,42,1,40,3,1,1,1,-9,4,928P,9590.0,19301 +1100105,19,193,2,42,2,40,1,1,1,1,-9,4,5417,7460.0,19302 +1100105,19,193,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,19303 +1100105,19,194,1,37,2,40,1,1,1,1,-9,4,5616,7680.0,19401 +1100105,19,194,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,19402 +1100105,19,194,3,37,1,50,1,1,1,1,-9,4,611M1,7870.0,19403 +1100105,19,195,1,40,2,45,1,1,1,1,-9,4,928P,9590.0,19501 +1100105,19,195,2,42,1,45,1,1,1,1,-9,4,9211MP,9370.0,19502 +1100105,19,195,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,19503 +1100105,19,196,1,37,1,50,1,1,1,1,-9,4,722Z,8680.0,19601 +1100105,19,196,2,41,2,45,1,1,1,1,-9,4,5411,7270.0,19602 +1100105,19,196,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,19603 +1100105,19,197,1,45,1,65,1,1,1,1,-9,4,5418,7470.0,19701 +1100105,19,197,2,40,2,50,1,1,1,1,-9,4,5415,7380.0,19702 +1100105,19,197,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,19703 +1100105,19,198,1,41,2,24,1,1,1,1,-9,4,813M,9170.0,19801 +1100105,19,198,2,43,1,40,1,1,1,1,-9,4,92M2,9570.0,19802 +1100105,19,198,3,1,2,-9,-9,-9,9,3,-9,-9,0,0.0,19803 +1100105,19,199,1,45,1,45,1,1,1,1,-9,4,5416,7390.0,19901 +1100105,19,199,2,50,1,40,1,1,1,1,-9,4,622M,8191.0,19902 +1100105,19,199,3,3,1,-9,-9,-9,1,7,1,-9,0,0.0,19903 +1100105,19,200,1,42,2,45,1,1,1,1,-9,4,92MP,9470.0,20001 +1100105,19,200,2,43,1,45,1,1,1,2,-9,2,9211MP,9370.0,20002 +1100105,19,200,3,4,2,-9,-9,-9,1,2,1,-9,0,0.0,20003 +1100105,19,201,1,34,2,40,2,1,1,1,-9,4,5417,7460.0,20101 +1100105,19,201,2,37,1,40,2,1,6,1,-9,4,5416,7390.0,20102 +1100105,19,201,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,20103 +1100105,19,202,1,35,2,50,1,1,1,1,-9,4,928P,9590.0,20201 +1100105,19,202,2,32,1,40,1,1,1,1,-9,4,5419Z,7490.0,20202 +1100105,19,202,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,20203 +1100105,19,203,1,39,1,45,1,1,1,1,-9,4,5415,7380.0,20301 +1100105,19,203,2,33,2,40,1,1,1,1,-9,4,5415,7380.0,20302 +1100105,19,203,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,20303 +1100105,19,204,1,33,2,60,1,1,1,3,-9,4,51913,6672.0,20401 +1100105,19,204,2,36,1,60,1,1,1,1,-9,4,5416,7390.0,20402 +1100105,19,204,3,0,1,-9,-9,-9,1,3,-9,-9,0,0.0,20403 +1100105,19,205,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,20501 +1100105,19,205,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,20502 +1100105,19,205,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,20503 +1100105,19,206,1,34,1,40,1,1,6,1,-9,4,9211MP,9370.0,20601 +1100105,19,206,2,33,2,40,1,1,6,1,-9,4,5416,7390.0,20602 +1100105,19,206,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,20603 +1100105,19,207,1,31,1,50,1,1,1,1,-9,4,6111,7860.0,20701 +1100105,19,207,2,31,2,45,1,1,1,1,-9,4,5419Z,7490.0,20702 +1100105,19,207,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,20703 +1100105,19,208,1,51,1,-9,-9,3,1,1,-9,4,8139Z,9190.0,20801 +1100105,19,208,2,40,1,42,1,1,1,1,-9,4,5416,7390.0,20802 +1100105,19,208,3,37,1,-9,-9,6,1,1,-9,4,6214,8090.0,20803 +1100105,19,209,1,73,1,-9,-9,6,2,1,-9,2,928110P1,9670.0,20901 +1100105,19,209,2,58,2,-9,-9,6,1,1,-9,4,6212,7980.0,20902 +1100105,19,209,3,24,2,40,1,1,2,1,-9,4,4481,5170.0,20903 +1100105,19,210,1,62,1,40,6,6,6,1,16,4,5411,7270.0,21001 +1100105,19,210,2,62,2,44,1,1,6,1,15,4,712,8570.0,21002 +1100105,19,210,3,22,2,-9,-9,6,6,1,15,4,0,0.0,21003 +1100105,19,211,1,62,1,40,6,6,6,1,16,4,5411,7270.0,21101 +1100105,19,211,2,62,2,44,1,1,6,1,15,4,712,8570.0,21102 +1100105,19,211,3,22,2,-9,-9,6,6,1,15,4,0,0.0,21103 +1100105,19,212,1,44,1,20,5,6,1,1,-9,4,23,770.0,21201 +1100105,19,212,2,9,2,-9,-9,-9,1,1,5,-9,0,0.0,21202 +1100105,19,212,3,40,2,20,1,1,1,1,-9,4,712,8570.0,21203 +1100105,19,213,1,35,1,50,2,1,6,1,-9,4,5416,7390.0,21301 +1100105,19,213,2,35,2,-9,-9,6,6,1,-9,4,0,0.0,21302 +1100105,19,213,3,4,2,-9,-9,-9,6,1,1,-9,0,0.0,21303 +1100105,19,214,1,35,1,50,2,1,6,1,-9,4,5416,7390.0,21401 +1100105,19,214,2,35,2,-9,-9,6,6,1,-9,4,0,0.0,21402 +1100105,19,214,3,4,2,-9,-9,-9,6,1,1,-9,0,0.0,21403 +1100105,19,215,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,21501 +1100105,19,215,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,21502 +1100105,19,215,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,21503 +1100105,19,216,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,21601 +1100105,19,216,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,21602 +1100105,19,216,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,21603 +1100105,19,217,1,40,1,60,1,1,1,1,-9,4,92M2,9570.0,21701 +1100105,19,217,2,30,2,40,6,6,1,1,-9,4,5416,7390.0,21702 +1100105,19,217,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,21703 +1100105,19,218,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,21801 +1100105,19,218,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,21802 +1100105,19,218,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,21803 +1100105,19,219,1,25,2,58,1,1,1,1,-9,4,531M,7071.0,21901 +1100105,19,219,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,21902 +1100105,19,219,3,24,2,50,1,1,1,1,-9,4,5418,7470.0,21903 +1100105,19,220,1,54,1,40,1,1,2,1,-9,4,92119,9390.0,22001 +1100105,19,220,2,52,2,40,1,1,1,19,-9,4,92113,9380.0,22002 +1100105,19,220,3,75,2,-9,-9,6,1,19,-9,4,0,0.0,22003 +1100105,19,221,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,22101 +1100105,19,221,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,22102 +1100105,19,221,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,22103 +1100105,19,222,1,37,2,50,6,1,1,1,-9,4,813M,9170.0,22201 +1100105,19,222,2,37,1,66,1,1,1,1,-9,4,611M1,7870.0,22202 +1100105,19,222,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,22203 +1100105,19,223,1,47,1,40,1,1,1,1,-9,4,813M,9170.0,22301 +1100105,19,223,2,39,2,40,1,1,1,1,-9,4,81393,9180.0,22302 +1100105,19,223,3,3,1,-9,-9,-9,1,1,-9,-9,0,0.0,22303 +1100105,19,224,1,37,2,50,6,1,1,1,-9,4,813M,9170.0,22401 +1100105,19,224,2,37,1,66,1,1,1,1,-9,4,611M1,7870.0,22402 +1100105,19,224,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,22403 +1100105,19,225,1,47,1,45,3,1,1,23,-9,4,611M2,7880.0,22501 +1100105,19,225,2,44,2,50,1,1,1,23,-9,4,928P,9590.0,22502 +1100105,19,225,3,2,2,-9,-9,-9,1,1,-9,-9,0,0.0,22503 +1100105,19,226,1,48,1,60,1,1,9,1,-9,4,8139Z,9190.0,22601 +1100105,19,226,2,33,2,50,1,1,1,1,-9,4,813M,9170.0,22602 +1100105,19,226,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,22603 +1100105,19,227,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,22701 +1100105,19,227,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,22702 +1100105,19,227,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,22703 +1100105,19,228,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,22801 +1100105,19,228,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,22802 +1100105,19,228,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,22803 +1100105,19,229,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,22901 +1100105,19,229,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,22902 +1100105,19,229,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,22903 +1100105,19,230,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,23001 +1100105,19,230,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,23002 +1100105,19,230,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,23003 +1100105,19,231,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,23101 +1100105,19,231,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,23102 +1100105,19,231,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,23103 +1100105,19,232,1,58,1,40,4,6,1,1,-9,4,522M,6890.0,23201 +1100105,19,232,2,54,2,40,1,1,9,1,-9,4,44413,4880.0,23202 +1100105,19,232,3,41,1,45,1,1,9,1,-9,4,8129,9090.0,23203 +1100105,19,233,1,39,2,50,1,1,1,1,-9,4,92M2,9570.0,23301 +1100105,19,233,2,37,1,20,5,1,1,1,16,4,611M1,7870.0,23302 +1100105,19,233,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,23303 +1100105,19,234,1,46,1,40,1,1,1,1,-9,4,92M2,9570.0,23401 +1100105,19,234,2,43,2,40,1,1,1,1,-9,4,92M2,9570.0,23402 +1100105,19,234,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,23403 +1100105,19,235,1,27,2,-9,-9,6,1,4,16,4,0,0.0,23501 +1100105,19,235,2,32,2,40,1,1,1,1,-9,4,923,9480.0,23502 +1100105,19,235,3,25,2,-9,-9,6,2,1,16,4,0,0.0,23503 +1100105,19,236,1,37,1,55,2,1,6,1,-9,4,52M2,6970.0,23601 +1100105,19,236,2,35,2,-9,-9,6,6,1,-9,4,5418,7470.0,23602 +1100105,19,236,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,23603 +1100105,19,237,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,23701 +1100105,19,237,2,32,2,-9,-9,6,1,1,-9,4,5413,7290.0,23702 +1100105,19,237,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,23703 +1100105,19,238,1,94,2,-9,-9,6,2,1,-9,4,0,0.0,23801 +1100105,19,238,2,53,1,-9,-9,3,2,1,-9,4,6214,8090.0,23802 +1100105,19,238,3,82,2,-9,-9,6,2,1,-9,4,6111,7860.0,23803 +1100105,19,239,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,23901 +1100105,19,239,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,23902 +1100105,19,239,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,23903 +1100105,19,240,1,24,2,19,4,6,6,1,15,4,611M1,7870.0,24001 +1100105,19,240,2,30,1,19,5,2,6,1,15,4,611M1,7870.0,24002 +1100105,19,240,3,25,2,45,1,1,6,1,-9,4,5416,7390.0,24003 +1100105,19,241,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,24101 +1100105,19,241,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,24102 +1100105,19,241,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,24103 +1100105,19,242,1,57,1,-9,-9,6,1,1,-9,4,5411,7270.0,24201 +1100105,19,242,2,58,2,-9,-9,6,1,1,-9,4,0,0.0,24202 +1100105,19,242,3,30,2,40,1,1,1,1,-9,4,6244,8470.0,24203 +1100105,19,243,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,24301 +1100105,19,243,2,17,2,-9,-9,6,3,1,12,4,0,0.0,24302 +1100105,19,243,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,24303 +1100105,19,244,1,65,1,-9,-9,6,6,1,-9,4,623M,8290.0,24401 +1100105,19,244,2,55,2,12,3,6,6,1,-9,4,4523,5391.0,24402 +1100105,19,244,3,34,2,12,6,3,6,1,-9,4,722Z,8680.0,24403 +1100105,19,245,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,24501 +1100105,19,245,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,24502 +1100105,19,245,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,24503 +1100105,19,246,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,24601 +1100105,19,246,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,24602 +1100105,19,246,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,24603 +1100105,19,247,1,66,1,40,1,1,1,1,-9,4,52M2,6970.0,24701 +1100105,19,247,2,60,2,40,1,1,6,1,-9,4,928P,9590.0,24702 +1100105,19,248,1,81,2,25,1,1,1,1,-9,4,51111,6470.0,24801 +1100105,19,248,2,48,2,40,1,1,1,1,-9,4,622M,8191.0,24802 +1100105,19,249,1,81,2,25,1,1,1,1,-9,4,51111,6470.0,24901 +1100105,19,249,2,48,2,40,1,1,1,1,-9,4,622M,8191.0,24902 +1100105,19,250,1,37,1,40,1,1,9,1,-9,2,928P,9590.0,25001 +1100105,19,250,2,35,2,50,1,1,6,1,-9,4,622M,8191.0,25002 +1100105,19,251,1,46,2,35,1,2,6,1,-9,4,6111,7860.0,25101 +1100105,19,251,2,45,1,40,1,1,6,1,-9,4,722Z,8680.0,25102 +1100105,19,252,1,45,1,45,1,1,6,1,-9,4,5411,7270.0,25201 +1100105,19,252,2,44,2,40,1,1,6,1,-9,4,5411,7270.0,25202 +1100105,19,253,1,46,2,35,1,2,6,1,-9,4,6111,7860.0,25301 +1100105,19,253,2,45,1,40,1,1,6,1,-9,4,722Z,8680.0,25302 +1100105,19,254,1,46,2,35,1,2,6,1,-9,4,6111,7860.0,25401 +1100105,19,254,2,45,1,40,1,1,6,1,-9,4,722Z,8680.0,25402 +1100105,19,255,1,45,1,45,1,1,6,1,-9,4,5411,7270.0,25501 +1100105,19,255,2,44,2,40,1,1,6,1,-9,4,5411,7270.0,25502 +1100105,19,256,1,47,2,45,1,1,2,1,-9,4,5417,7460.0,25601 +1100105,19,256,2,47,1,50,1,1,9,1,-9,4,51111,6470.0,25602 +1100105,19,257,1,35,2,40,1,1,2,1,-9,4,51111,6470.0,25701 +1100105,19,257,2,36,1,60,1,1,2,1,-9,4,5415,7380.0,25702 +1100105,19,258,1,44,1,40,6,1,9,1,-9,4,813M,9170.0,25801 +1100105,19,258,2,50,1,40,1,1,1,1,-9,4,611M3,7890.0,25802 +1100105,19,259,1,36,1,40,3,1,9,1,-9,4,5413,7290.0,25901 +1100105,19,259,2,39,1,70,1,1,1,1,-9,4,531M,7071.0,25902 +1100105,19,260,1,36,2,45,1,1,1,1,-9,4,5411,7270.0,26001 +1100105,19,260,2,37,1,40,1,1,9,1,-9,4,92113,9380.0,26002 +1100105,19,261,1,51,1,55,1,1,1,1,-9,4,5417,7460.0,26101 +1100105,19,261,2,43,1,40,1,1,6,1,-9,4,51912,6770.0,26102 +1100105,19,262,1,47,1,40,1,1,1,1,-9,4,52M1,6870.0,26201 +1100105,19,262,2,52,1,40,1,1,6,1,-9,4,923,9480.0,26202 +1100105,19,263,1,39,2,40,1,1,6,1,-9,4,92MP,9470.0,26301 +1100105,19,263,2,42,1,40,1,1,1,1,-9,4,928P,9590.0,26302 +1100105,19,264,1,55,1,50,1,1,1,1,-9,4,8139Z,9190.0,26401 +1100105,19,264,2,47,1,40,1,1,6,1,-9,4,51912,6770.0,26402 +1100105,19,265,1,39,2,40,1,1,6,1,-9,4,92MP,9470.0,26501 +1100105,19,265,2,42,1,40,1,1,1,1,-9,4,928P,9590.0,26502 +1100105,19,266,1,47,1,40,1,1,1,1,-9,4,52M1,6870.0,26601 +1100105,19,266,2,52,1,40,1,1,6,1,-9,4,923,9480.0,26602 +1100105,19,267,1,51,1,40,3,1,1,1,-9,4,531M,7071.0,26701 +1100105,19,267,2,44,1,60,1,1,2,1,-9,4,928P,9590.0,26702 +1100105,19,268,1,64,1,40,1,1,1,1,-9,4,5412,7280.0,26801 +1100105,19,268,2,58,2,40,1,1,1,1,-9,4,5111Z,6480.0,26802 +1100105,19,269,1,36,2,50,1,1,1,1,-9,4,3254,2190.0,26901 +1100105,19,269,2,36,1,60,1,1,1,1,-9,4,9211MP,9370.0,26902 +1100105,19,270,1,51,1,50,1,1,1,1,-9,4,923,9480.0,27001 +1100105,19,270,2,52,1,40,1,1,1,1,15,4,611M1,7870.0,27002 +1100105,19,271,1,38,1,60,1,1,1,1,-9,4,5415,7380.0,27101 +1100105,19,271,2,35,2,40,1,1,1,1,-9,4,5313,7072.0,27102 +1100105,19,272,1,37,1,95,1,1,1,1,-9,4,8139Z,9190.0,27201 +1100105,19,272,2,40,1,40,1,1,1,1,-9,4,5121,6570.0,27202 +1100105,19,273,1,42,2,45,1,1,1,1,-9,4,5416,7390.0,27301 +1100105,19,273,2,41,1,40,1,1,1,1,-9,4,5415,7380.0,27302 +1100105,19,274,1,56,1,52,1,1,1,1,15,2,5416,7390.0,27401 +1100105,19,274,2,43,2,52,1,1,1,1,-9,4,813M,9170.0,27402 +1100105,19,275,1,42,1,55,1,4,1,1,-9,1,928110P3,9690.0,27501 +1100105,19,275,2,39,2,55,1,4,1,1,-9,1,928110P3,9690.0,27502 +1100105,19,276,1,39,2,52,1,1,1,1,-9,4,813M,9170.0,27601 +1100105,19,276,2,50,1,60,1,1,1,1,-9,4,5417,7460.0,27602 +1100105,19,277,1,48,1,46,1,1,1,1,-9,4,622M,8191.0,27701 +1100105,19,277,2,46,1,40,1,1,1,1,-9,4,5411,7270.0,27702 +1100105,19,278,1,61,1,50,1,1,1,1,-9,4,515,6670.0,27801 +1100105,19,278,2,47,1,16,3,1,1,1,-9,4,611M1,7870.0,27802 +1100105,19,279,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,27901 +1100105,19,279,2,36,1,40,1,1,1,1,-9,2,92113,9380.0,27902 +1100105,19,280,1,44,1,58,1,4,1,1,-9,1,928110P3,9690.0,28001 +1100105,19,280,2,46,2,40,1,1,1,1,-9,4,5416,7390.0,28002 +1100105,19,281,1,50,2,55,1,1,1,1,-9,4,5415,7380.0,28101 +1100105,19,281,2,51,1,60,1,1,1,1,-9,4,4539,5580.0,28102 +1100105,19,282,1,43,1,50,1,1,1,1,-9,4,813M,9170.0,28201 +1100105,19,282,2,44,1,50,1,1,1,1,-9,4,713Z,8590.0,28202 +1100105,19,283,1,35,1,40,1,1,1,1,-9,4,5411,7270.0,28301 +1100105,19,283,2,36,2,50,1,1,1,1,-9,4,5416,7390.0,28302 +1100105,19,284,1,48,1,50,1,1,1,1,-9,4,928P,9590.0,28401 +1100105,19,284,2,61,1,60,1,1,1,1,-9,4,6111,7860.0,28402 +1100105,19,285,1,41,2,40,1,1,1,1,-9,4,92M2,9570.0,28501 +1100105,19,285,2,36,1,40,1,1,1,1,-9,4,923,9480.0,28502 +1100105,19,286,1,40,1,80,1,2,1,1,-9,4,928P,9590.0,28601 +1100105,19,286,2,37,2,60,1,1,1,1,-9,4,6213ZM,8080.0,28602 +1100105,19,287,1,48,1,46,1,1,1,1,-9,4,622M,8191.0,28701 +1100105,19,287,2,46,1,40,1,1,1,1,-9,4,5411,7270.0,28702 +1100105,19,288,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,28801 +1100105,19,288,2,49,1,40,1,1,1,1,-9,4,5415,7380.0,28802 +1100105,19,289,1,56,1,52,1,1,1,1,15,2,5416,7390.0,28901 +1100105,19,289,2,43,2,52,1,1,1,1,-9,4,813M,9170.0,28902 +1100105,19,290,1,50,2,40,1,1,1,1,-9,4,928P,9590.0,29001 +1100105,19,290,2,59,1,40,1,1,1,1,-9,2,923,9480.0,29002 +1100105,19,291,1,42,1,55,1,4,1,1,-9,1,928110P3,9690.0,29101 +1100105,19,291,2,39,2,55,1,4,1,1,-9,1,928110P3,9690.0,29102 +1100105,19,292,1,46,2,40,1,1,1,1,-9,4,5111Z,6480.0,29201 +1100105,19,292,2,54,1,60,1,1,1,1,-9,4,4539,5580.0,29202 +1100105,19,293,1,41,1,50,1,1,1,1,-9,4,52M1,6870.0,29301 +1100105,19,293,2,39,1,60,1,1,1,1,-9,4,531M,7071.0,29302 +1100105,19,294,1,43,1,50,1,1,1,1,-9,4,813M,9170.0,29401 +1100105,19,294,2,44,1,50,1,1,1,1,-9,4,713Z,8590.0,29402 +1100105,19,295,1,53,2,36,1,1,1,1,-9,4,6214,8090.0,29501 +1100105,19,295,2,54,1,60,1,1,1,1,-9,2,5411,7270.0,29502 +1100105,19,296,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,29601 +1100105,19,296,2,36,1,40,1,1,1,1,-9,2,92113,9380.0,29602 +1100105,19,297,1,35,1,40,1,1,1,1,-9,4,5411,7270.0,29701 +1100105,19,297,2,36,2,50,1,1,1,1,-9,4,5416,7390.0,29702 +1100105,19,298,1,57,1,45,1,1,1,1,-9,4,9211MP,9370.0,29801 +1100105,19,298,2,53,2,40,1,1,1,1,-9,4,923,9480.0,29802 +1100105,19,299,1,40,1,45,1,1,1,1,-9,4,9211MP,9370.0,29901 +1100105,19,299,2,41,1,45,1,1,1,1,-9,4,9211MP,9370.0,29902 +1100105,19,300,1,36,2,50,1,1,1,1,-9,4,3254,2190.0,30001 +1100105,19,300,2,36,1,60,1,1,1,1,-9,4,9211MP,9370.0,30002 +1100105,19,301,1,37,2,40,1,1,1,1,-9,4,8139Z,9190.0,30101 +1100105,19,301,2,36,1,65,1,1,1,1,-9,4,522M,6890.0,30102 +1100105,19,302,1,50,2,50,1,1,1,1,-9,4,92MP,9470.0,30201 +1100105,19,302,2,51,1,60,1,1,1,1,-9,4,5411,7270.0,30202 +1100105,19,303,1,60,1,50,1,1,1,1,-9,4,6211,7970.0,30301 +1100105,19,303,2,61,1,60,1,1,1,1,-9,4,6211,7970.0,30302 +1100105,19,304,1,42,1,55,1,4,1,1,-9,1,928110P3,9690.0,30401 +1100105,19,304,2,39,2,55,1,4,1,1,-9,1,928110P3,9690.0,30402 +1100105,19,305,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,30501 +1100105,19,305,2,36,1,40,1,1,1,1,-9,2,92113,9380.0,30502 +1100105,19,306,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,30601 +1100105,19,306,2,49,1,40,1,1,1,1,-9,4,5415,7380.0,30602 +1100105,19,307,1,50,2,50,1,1,1,24,-9,4,9211MP,9370.0,30701 +1100105,19,307,2,48,1,50,1,1,1,1,-9,4,531M,7071.0,30702 +1100105,19,308,1,60,2,40,1,1,1,1,-9,4,5411,7270.0,30801 +1100105,19,308,2,54,2,35,3,1,9,19,-9,4,6111,7860.0,30802 +1100105,19,309,1,37,2,40,1,1,1,5,-9,4,52M1,6870.0,30901 +1100105,19,309,2,35,2,40,1,1,1,1,-9,4,928P,9590.0,30902 +1100105,19,310,1,37,2,40,1,1,1,5,-9,4,522M,6890.0,31001 +1100105,19,310,2,35,2,40,1,1,1,1,-9,4,928P,9590.0,31002 +1100105,19,311,1,60,2,40,1,1,1,1,-9,4,5411,7270.0,31101 +1100105,19,311,2,54,2,35,3,1,9,19,-9,4,6111,7860.0,31102 +1100105,19,312,1,36,2,50,1,1,1,23,-9,4,4234,4170.0,31201 +1100105,19,312,2,35,1,40,1,1,9,23,-9,4,611M1,7870.0,31202 +1100105,19,313,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,31301 +1100105,19,313,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,31302 +1100105,19,314,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,31401 +1100105,19,314,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,31402 +1100105,19,315,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,31501 +1100105,19,315,2,30,1,40,1,1,6,1,-9,4,6214,8090.0,31502 +1100105,19,316,1,62,2,40,1,1,1,1,-9,4,712,8570.0,31601 +1100105,19,316,2,28,2,50,5,1,1,1,16,2,92MP,9470.0,31602 +1100105,19,317,1,26,1,40,1,1,1,1,-9,4,51111,6470.0,31701 +1100105,19,317,2,39,1,50,1,1,1,1,-9,4,7224,8690.0,31702 +1100105,19,318,1,34,2,50,1,1,1,1,-9,4,92M2,9570.0,31801 +1100105,19,318,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,31802 +1100105,19,319,1,39,1,44,1,1,1,1,-9,4,6212,7980.0,31901 +1100105,19,319,2,32,1,50,1,1,1,1,-9,4,813M,9170.0,31902 +1100105,19,320,1,37,1,40,1,1,1,1,-9,4,813M,9170.0,32001 +1100105,19,320,2,33,2,40,4,1,1,1,-9,4,5415,7380.0,32002 +1100105,19,321,1,38,2,40,1,1,1,1,-9,4,522M,6890.0,32101 +1100105,19,321,2,29,1,40,1,1,1,1,-9,4,928P,9590.0,32102 +1100105,19,322,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,32201 +1100105,19,322,2,32,2,50,4,1,1,1,-9,4,8139Z,9190.0,32202 +1100105,19,323,1,33,2,60,1,1,1,1,-9,4,5615,7670.0,32301 +1100105,19,323,2,41,1,50,1,1,1,1,-9,4,7115,8564.0,32302 +1100105,19,324,1,35,1,55,1,1,1,1,-9,4,5415,7380.0,32401 +1100105,19,324,2,28,2,40,1,1,1,1,-9,4,5415,7380.0,32402 +1100105,19,325,1,62,2,40,1,1,1,1,-9,4,712,8570.0,32501 +1100105,19,325,2,28,2,50,5,1,1,1,16,2,92MP,9470.0,32502 +1100105,19,326,1,39,1,60,1,1,8,3,-9,4,5416,7390.0,32601 +1100105,19,326,2,29,2,40,1,1,1,1,-9,4,6211,7970.0,32602 +1100105,19,327,1,41,1,40,1,1,1,1,-9,4,92M2,9570.0,32701 +1100105,19,327,2,32,1,40,1,1,1,16,-9,4,92M2,9570.0,32702 +1100105,19,328,1,32,2,40,1,1,6,1,-9,4,5413,7290.0,32801 +1100105,19,328,2,34,1,80,1,1,6,1,-9,4,5416,7390.0,32802 +1100105,19,329,1,27,1,55,1,1,6,1,-9,4,5416,7390.0,32901 +1100105,19,329,2,28,2,35,1,1,6,1,-9,4,5415,7380.0,32902 +1100105,19,330,1,30,2,40,1,1,1,1,-9,4,5417,7460.0,33001 +1100105,19,330,2,31,1,40,1,1,6,1,-9,4,6214,8090.0,33002 +1100105,19,331,1,31,2,40,1,1,1,1,-9,4,8139Z,9190.0,33101 +1100105,19,331,2,31,1,40,2,1,6,1,-9,4,5418,7470.0,33102 +1100105,19,332,1,32,1,50,1,1,1,1,-9,4,621M,8180.0,33201 +1100105,19,332,2,31,2,60,1,1,1,1,-9,4,5416,7390.0,33202 +1100105,19,333,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,33301 +1100105,19,333,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,33302 +1100105,19,334,1,33,2,40,1,1,1,1,-9,4,92M2,9570.0,33401 +1100105,19,334,2,33,1,40,1,1,1,1,-9,4,52M2,6970.0,33402 +1100105,19,335,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,33501 +1100105,19,335,2,32,1,50,1,1,1,1,-9,4,4481,5170.0,33502 +1100105,19,336,1,33,1,40,1,1,1,1,-9,4,443142,4795.0,33601 +1100105,19,336,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,33602 +1100105,19,337,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,33701 +1100105,19,337,2,26,2,50,1,1,1,1,-9,4,5411,7270.0,33702 +1100105,19,338,1,34,1,55,1,1,1,1,-9,4,51913,6672.0,33801 +1100105,19,338,2,32,2,60,1,1,1,1,-9,4,5411,7270.0,33802 +1100105,19,339,1,31,1,50,1,1,1,1,-9,4,5411,7270.0,33901 +1100105,19,339,2,29,2,45,1,1,1,1,-9,4,5411,7270.0,33902 +1100105,19,340,1,29,1,70,1,1,1,1,-9,4,51111,6470.0,34001 +1100105,19,340,2,25,1,60,1,1,1,1,16,4,9211MP,9370.0,34002 +1100105,19,341,1,30,2,50,1,1,1,1,-9,4,5419Z,7490.0,34101 +1100105,19,341,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,34102 +1100105,19,342,1,31,1,40,1,1,1,1,-9,4,92MP,9470.0,34201 +1100105,19,342,2,34,1,40,1,1,1,1,-9,4,92MP,9470.0,34202 +1100105,19,343,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,34301 +1100105,19,343,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,34302 +1100105,19,344,1,34,1,50,1,1,1,1,-9,4,5411,7270.0,34401 +1100105,19,344,2,33,2,40,1,1,1,1,-9,4,5416,7390.0,34402 +1100105,19,345,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,34501 +1100105,19,345,2,31,1,55,1,1,1,1,-9,4,522M,6890.0,34502 +1100105,19,346,1,30,2,55,1,1,1,1,-9,4,515,6670.0,34601 +1100105,19,346,2,29,1,50,1,1,1,13,-9,4,92113,9380.0,34602 +1100105,19,347,1,79,1,50,1,1,1,1,-9,2,5241,6991.0,34701 +1100105,19,347,2,79,2,-9,-9,6,1,1,-9,4,611M3,7890.0,34702 +1100105,19,348,1,74,1,-9,-9,6,1,1,-9,4,611M1,7870.0,34801 +1100105,19,348,2,61,1,60,1,1,6,1,-9,4,813M,9170.0,34802 +1100105,19,349,1,67,1,16,6,6,2,1,-9,4,5416,7390.0,34901 +1100105,19,349,2,50,2,5,6,1,1,1,-9,4,5416,7390.0,34902 +1100105,19,350,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,35001 +1100105,19,350,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,35002 +1100105,19,351,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,35101 +1100105,19,351,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,35102 +1100105,19,352,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,35201 +1100105,19,352,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,35202 +1100105,19,353,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,35301 +1100105,19,353,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,35302 +1100105,19,354,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,35401 +1100105,19,354,2,67,1,50,1,1,1,1,-9,4,5411,7270.0,35402 +1100105,19,355,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,35501 +1100105,19,355,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,35502 +1100105,19,356,1,58,1,50,1,1,6,1,-9,4,5417,7460.0,35601 +1100105,19,356,2,57,2,40,3,6,6,1,-9,4,611M1,7870.0,35602 +1100105,19,357,1,58,1,50,1,1,6,1,-9,4,5417,7460.0,35701 +1100105,19,357,2,57,2,40,3,6,6,1,-9,4,611M1,7870.0,35702 +1100105,19,358,1,37,1,91,3,3,2,1,-9,4,8139Z,9190.0,35801 +1100105,19,358,2,36,2,50,1,1,1,1,-9,4,5417,7460.0,35802 +1100105,19,359,1,64,1,40,1,1,1,1,-9,2,5415,7380.0,35901 +1100105,19,359,2,63,2,-9,-9,6,1,1,-9,4,0,0.0,35902 +1100105,19,360,1,59,2,60,1,1,1,1,-9,4,813M,9170.0,36001 +1100105,19,360,2,59,1,-9,-9,6,1,1,-9,4,0,0.0,36002 +1100105,19,361,1,40,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,36101 +1100105,19,361,2,49,1,45,1,1,1,1,-9,4,5417,7460.0,36102 +1100105,19,362,1,61,1,40,1,1,1,1,-9,4,8139Z,9190.0,36201 +1100105,19,362,2,60,2,-9,-9,6,1,1,-9,4,4511M,5275.0,36202 +1100105,19,363,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,36301 +1100105,19,363,2,61,1,45,1,1,1,1,-9,4,492,6380.0,36302 +1100105,19,364,1,62,1,40,1,1,1,1,-9,4,5411,7270.0,36401 +1100105,19,364,2,55,2,-9,-9,6,1,1,-9,4,0,0.0,36402 +1100105,19,365,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,36501 +1100105,19,365,2,61,1,45,1,1,1,1,-9,4,492,6380.0,36502 +1100105,19,366,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,36601 +1100105,19,366,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,36602 +1100105,19,367,1,40,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,36701 +1100105,19,367,2,49,1,45,1,1,1,1,-9,4,5417,7460.0,36702 +1100105,19,368,1,59,2,60,1,1,1,1,-9,4,813M,9170.0,36801 +1100105,19,368,2,59,1,-9,-9,6,1,1,-9,4,0,0.0,36802 +1100105,19,369,1,42,1,-9,-9,6,1,6,-9,4,0,0.0,36901 +1100105,19,369,2,52,1,40,1,1,1,1,-9,2,622M,8191.0,36902 +1100105,19,370,1,59,1,-9,-9,6,1,1,-9,4,92M2,9570.0,37001 +1100105,19,370,2,56,1,40,1,1,1,3,-9,4,33641M1,3580.0,37002 +1100105,19,371,1,87,1,-9,-9,6,2,1,-9,2,0,0.0,37101 +1100105,19,371,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,37102 +1100105,19,372,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,37201 +1100105,19,372,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,37202 +1100105,19,373,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,37301 +1100105,19,373,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,37302 +1100105,19,374,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,37401 +1100105,19,374,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,37402 +1100105,19,375,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,37501 +1100105,19,375,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,37502 +1100105,19,376,1,57,2,-9,-9,6,1,1,-9,4,0,0.0,37601 +1100105,19,376,2,58,1,50,2,6,1,1,-9,4,5411,7270.0,37602 +1100105,19,377,1,74,1,60,1,1,8,11,-9,4,23,770.0,37701 +1100105,19,377,2,70,2,20,3,1,8,11,-9,4,5617Z,7690.0,37702 +1100105,19,378,1,40,2,45,1,1,6,1,-9,4,92113,9380.0,37801 +1100105,19,378,2,46,1,45,1,1,2,1,-9,2,5416,7390.0,37802 +1100105,19,379,1,52,1,40,3,1,1,1,16,4,6111,7860.0,37901 +1100105,19,379,2,47,1,40,1,1,8,1,-9,4,5413,7290.0,37902 +1100105,19,380,1,41,1,30,1,1,6,1,-9,4,923,9480.0,38001 +1100105,19,380,2,41,2,35,1,1,1,1,-9,4,5411,7270.0,38002 +1100105,19,381,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,38101 +1100105,19,381,2,35,2,40,1,1,6,1,16,4,5417,7460.0,38102 +1100105,19,382,1,41,1,30,1,1,6,1,-9,4,923,9480.0,38201 +1100105,19,382,2,41,2,35,1,1,1,1,-9,4,5411,7270.0,38202 +1100105,19,383,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,38301 +1100105,19,383,2,35,2,40,1,1,6,1,16,4,5417,7460.0,38302 +1100105,19,384,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,38401 +1100105,19,384,2,35,2,40,1,1,6,1,16,4,5417,7460.0,38402 +1100105,19,385,1,35,2,50,1,1,1,1,-9,4,92M2,9570.0,38501 +1100105,19,385,2,36,1,45,3,1,1,1,-9,4,611M1,7870.0,38502 +1100105,19,386,1,49,1,38,1,1,1,1,-9,4,5416,7390.0,38601 +1100105,19,386,2,39,2,40,1,1,1,1,-9,4,5416,7390.0,38602 +1100105,19,387,1,51,1,40,1,1,1,1,-9,4,92MP,9470.0,38701 +1100105,19,387,2,51,2,40,1,1,1,1,-9,4,446Z,5080.0,38702 +1100105,19,388,1,41,2,45,1,1,1,1,-9,4,6244,8470.0,38801 +1100105,19,388,2,41,1,40,1,1,1,1,-9,2,92MP,9470.0,38802 +1100105,19,389,1,57,2,80,1,1,1,1,-9,4,611M1,7870.0,38901 +1100105,19,389,2,61,1,30,1,1,1,1,-9,4,52M2,6970.0,38902 +1100105,19,390,1,52,1,50,1,1,1,1,-9,4,44511,4971.0,39001 +1100105,19,390,2,45,1,40,1,1,1,1,-9,4,92MP,9470.0,39002 +1100105,19,391,1,44,2,45,1,1,1,1,-9,2,928P,9590.0,39101 +1100105,19,391,2,48,2,30,1,1,1,1,-9,4,8129,9090.0,39102 +1100105,19,392,1,49,1,38,1,1,1,1,-9,4,5416,7390.0,39201 +1100105,19,392,2,39,2,40,1,1,1,1,-9,4,5416,7390.0,39202 +1100105,19,393,1,47,1,55,1,1,1,1,-9,4,722Z,8680.0,39301 +1100105,19,393,2,35,2,40,1,1,1,1,-9,4,5417,7460.0,39302 +1100105,19,394,1,35,1,40,1,1,2,3,-9,4,55,7570.0,39401 +1100105,19,394,2,35,2,45,1,1,1,1,-9,4,5416,7390.0,39402 +1100105,19,395,1,36,2,60,1,1,1,1,-9,4,611M3,7890.0,39501 +1100105,19,395,2,36,2,45,1,1,8,17,-9,4,813M,9170.0,39502 +1100105,19,396,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,39601 +1100105,19,396,2,35,1,60,1,1,6,1,-9,4,92MP,9470.0,39602 +1100105,19,397,1,35,1,45,1,1,9,1,-9,4,813M,9170.0,39701 +1100105,19,397,2,28,2,55,1,1,1,1,-9,4,928P,9590.0,39702 +1100105,19,398,1,34,2,50,1,1,1,1,-9,4,813M,9170.0,39801 +1100105,19,398,2,37,1,40,1,1,9,1,-9,4,5417,7460.0,39802 +1100105,19,399,1,33,2,40,1,1,6,1,15,4,928P,9590.0,39901 +1100105,19,399,2,40,1,50,1,1,1,1,-9,4,51111,6470.0,39902 +1100105,19,400,1,30,2,40,1,1,6,1,-9,4,6111,7860.0,40001 +1100105,19,400,2,41,1,40,1,1,1,1,-9,4,517Z,6690.0,40002 +1100105,19,401,1,37,2,45,3,1,1,1,-9,4,928P,9590.0,40101 +1100105,19,401,2,34,1,40,1,1,1,1,-9,4,5417,7460.0,40102 +1100105,19,402,1,37,2,45,3,1,1,1,-9,4,928P,9590.0,40201 +1100105,19,402,2,34,1,40,1,1,1,1,-9,4,5417,7460.0,40202 +1100105,19,403,1,32,2,40,1,1,1,1,-9,4,92M1,9490.0,40301 +1100105,19,403,2,40,1,40,1,1,1,1,-9,4,8139Z,9190.0,40302 +1100105,19,404,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,40401 +1100105,19,404,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,40402 +1100105,19,405,1,44,1,40,1,4,1,3,16,1,928110P3,9690.0,40501 +1100105,19,405,2,33,1,60,1,1,1,21,-9,4,492,6380.0,40502 +1100105,19,406,1,32,1,40,1,1,6,1,-9,4,9211MP,9370.0,40601 +1100105,19,406,2,32,2,38,1,1,6,1,-9,4,5418,7470.0,40602 +1100105,19,407,1,26,2,40,1,1,1,1,-9,4,713Z,8590.0,40701 +1100105,19,407,2,26,1,55,1,1,9,1,-9,4,722Z,8680.0,40702 +1100105,19,408,1,32,2,40,1,1,6,1,-9,4,9211MP,9370.0,40801 +1100105,19,408,2,32,1,40,1,1,1,1,-9,4,5221M,6880.0,40802 +1100105,19,409,1,29,2,50,1,1,6,1,-9,4,5411,7270.0,40901 +1100105,19,409,2,31,1,60,1,1,1,1,-9,4,6216,8170.0,40902 +1100105,19,410,1,29,1,40,1,1,1,1,16,4,6111,7860.0,41001 +1100105,19,410,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,41002 +1100105,19,411,1,26,2,50,1,1,1,1,-9,4,5415,7380.0,41101 +1100105,19,411,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,41102 +1100105,19,412,1,34,1,45,1,1,1,1,-9,4,491,6370.0,41201 +1100105,19,412,2,31,1,60,1,1,1,1,-9,4,52M1,6870.0,41202 +1100105,19,413,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,41301 +1100105,19,413,2,31,2,40,1,1,1,1,-9,4,923,9480.0,41302 +1100105,19,414,1,32,2,45,1,1,1,1,-9,4,713Z,8590.0,41401 +1100105,19,414,2,34,1,67,1,1,1,1,-9,4,928P,9590.0,41402 +1100105,19,415,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,41501 +1100105,19,415,2,31,2,40,1,1,1,1,-9,4,923,9480.0,41502 +1100105,19,416,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,41601 +1100105,19,416,2,30,1,50,1,1,1,1,-9,4,5415,7380.0,41602 +1100105,19,417,1,30,2,40,1,1,1,1,-9,4,928P,9590.0,41701 +1100105,19,417,2,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,41702 +1100105,19,418,1,32,2,45,1,1,1,1,-9,4,713Z,8590.0,41801 +1100105,19,418,2,34,1,67,1,1,1,1,-9,4,928P,9590.0,41802 +1100105,19,419,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,41901 +1100105,19,419,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,41902 +1100105,19,420,1,31,1,40,1,1,1,1,-9,4,5241,6991.0,42001 +1100105,19,420,2,29,2,50,1,1,1,1,-9,4,8139Z,9190.0,42002 +1100105,19,421,1,25,1,50,1,1,1,1,-9,4,5418,7470.0,42101 +1100105,19,421,2,26,1,45,1,1,1,1,-9,4,813M,9170.0,42102 +1100105,19,422,1,29,1,50,1,1,1,1,-9,4,5415,7380.0,42201 +1100105,19,422,2,27,2,40,1,1,1,1,16,4,5416,7390.0,42202 +1100105,19,423,1,31,1,55,1,1,8,2,-9,4,813M,9170.0,42301 +1100105,19,423,2,33,1,60,1,1,1,1,-9,4,6216,8170.0,42302 +1100105,19,424,1,68,1,40,1,1,6,1,-9,4,92M1,9490.0,42401 +1100105,19,424,2,68,2,-9,-9,6,6,1,-9,4,6111,7860.0,42402 +1100105,19,425,1,74,2,40,1,1,1,1,-9,2,923,9480.0,42501 +1100105,19,425,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,42502 +1100105,19,426,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,42601 +1100105,19,426,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,42602 +1100105,19,427,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,42701 +1100105,19,427,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,42702 +1100105,19,428,1,64,1,-9,-9,6,2,1,-9,4,92MP,9470.0,42801 +1100105,19,428,2,64,1,40,1,1,2,1,-9,2,92119,9390.0,42802 +1100105,19,429,1,49,2,40,1,1,1,1,-9,4,928P,9590.0,42901 +1100105,19,429,2,44,1,8,6,6,1,1,-9,4,5419Z,7490.0,42902 +1100105,19,430,1,60,2,40,1,1,1,1,-9,4,8139Z,9190.0,43001 +1100105,19,430,2,57,2,-9,-9,6,1,1,-9,4,5416,7390.0,43002 +1100105,19,431,1,43,1,40,4,3,1,1,-9,4,9211MP,9370.0,43101 +1100105,19,431,2,54,2,45,4,1,1,1,-9,4,488,6290.0,43102 +1100105,19,432,1,49,2,40,1,1,1,1,-9,4,928P,9590.0,43201 +1100105,19,432,2,44,1,8,6,6,1,1,-9,4,5419Z,7490.0,43202 +1100105,19,433,1,40,1,-9,-9,3,8,3,-9,4,813M,9170.0,43301 +1100105,19,433,2,42,1,50,1,1,1,1,-9,4,522M,6890.0,43302 +1100105,19,434,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,43401 +1100105,19,434,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,43402 +1100105,19,435,1,46,1,40,1,1,1,2,-9,4,813M,9170.0,43501 +1100105,19,435,2,45,1,40,4,3,1,1,-9,4,7115,8564.0,43502 +1100105,19,436,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,43601 +1100105,19,436,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,43602 +1100105,19,437,1,30,2,50,1,1,1,1,-9,4,81393,9180.0,43701 +1100105,19,437,2,33,1,65,3,3,1,1,-9,4,8139Z,9190.0,43702 +1100105,19,438,1,32,2,-9,-9,6,1,1,-9,4,3121,1370.0,43801 +1100105,19,438,2,31,2,60,1,1,1,2,16,4,454110,5593.0,43802 +1100105,19,439,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,43901 +1100105,19,439,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,43902 +1100105,19,440,1,51,1,15,1,1,6,1,-9,4,5413,7290.0,44001 +1100105,19,440,2,47,2,45,1,1,6,1,-9,4,5415,7380.0,44002 +1100105,19,441,1,64,1,40,1,1,6,1,-9,4,5313,7072.0,44101 +1100105,19,441,2,55,2,40,1,1,6,1,-9,4,531M,7071.0,44102 +1100105,19,442,1,35,1,40,1,1,1,1,-9,4,5416,7390.0,44201 +1100105,19,442,2,35,2,40,4,1,6,1,-9,4,515,6670.0,44202 +1100105,19,443,1,47,1,40,1,1,1,1,-9,4,813M,9170.0,44301 +1100105,19,443,2,42,1,40,3,1,1,1,-9,4,6111,7860.0,44302 +1100105,19,444,1,43,2,40,1,1,1,1,-9,4,5241,6991.0,44401 +1100105,19,444,2,43,1,80,1,1,1,1,-9,4,722Z,8680.0,44402 +1100105,19,445,1,47,1,40,1,1,1,1,-9,4,813M,9170.0,44501 +1100105,19,445,2,42,1,40,3,1,1,1,-9,4,6111,7860.0,44502 +1100105,19,446,1,46,1,40,3,1,8,3,-9,4,23,770.0,44601 +1100105,19,446,2,46,1,40,3,1,2,1,-9,4,611M1,7870.0,44602 +1100105,19,447,1,37,2,45,1,1,1,1,-9,4,8139Z,9190.0,44701 +1100105,19,447,2,37,1,40,1,1,8,15,-9,4,5415,7380.0,44702 +1100105,19,448,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,44801 +1100105,19,448,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,44802 +1100105,19,449,1,36,2,45,1,1,1,1,-9,4,5241,6991.0,44901 +1100105,19,449,2,33,1,35,1,1,1,1,-9,4,531M,7071.0,44902 +1100105,19,450,1,28,1,50,1,1,1,1,-9,4,9211MP,9370.0,45001 +1100105,19,450,2,35,2,40,1,1,1,1,-9,4,6111,7860.0,45002 +1100105,19,451,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,45101 +1100105,19,451,2,52,1,45,1,1,2,1,-9,4,481,6070.0,45102 +1100105,19,452,1,32,1,50,1,1,1,2,-9,4,51111,6470.0,45201 +1100105,19,452,2,35,2,40,1,1,1,1,-9,4,5414,7370.0,45202 +1100105,19,453,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,45301 +1100105,19,453,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,45302 +1100105,19,454,1,29,2,40,1,1,6,1,-9,4,622M,8191.0,45401 +1100105,19,454,2,29,1,40,1,1,6,1,-9,4,5121,6570.0,45402 +1100105,19,455,1,27,2,40,1,1,9,1,-9,4,928P,9590.0,45501 +1100105,19,455,2,28,2,50,1,1,1,1,-9,4,928P,9590.0,45502 +1100105,19,456,1,27,2,40,1,1,6,1,-9,4,622M,8191.0,45601 +1100105,19,456,2,27,1,50,1,1,1,1,16,4,51111,6470.0,45602 +1100105,19,457,1,24,2,40,1,1,6,1,-9,4,813M,9170.0,45701 +1100105,19,457,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,45702 +1100105,19,458,1,23,2,50,1,2,1,1,-9,4,5411,7270.0,45801 +1100105,19,458,2,24,2,40,1,1,1,1,16,4,611M1,7870.0,45802 +1100105,19,459,1,26,2,40,1,1,1,1,-9,4,5414,7370.0,45901 +1100105,19,459,2,26,1,40,1,1,1,1,-9,4,5414,7370.0,45902 +1100105,19,460,1,26,2,50,3,1,1,1,16,4,6111,7860.0,46001 +1100105,19,460,2,26,1,50,1,1,1,1,-9,4,621M,8180.0,46002 +1100105,19,461,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,46101 +1100105,19,461,2,30,1,45,1,1,1,1,-9,4,4248,4560.0,46102 +1100105,19,462,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,46201 +1100105,19,462,2,30,1,45,1,1,1,1,-9,4,4248,4560.0,46202 +1100105,19,463,1,25,1,60,1,1,1,1,-9,4,5415,7380.0,46301 +1100105,19,463,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,46302 +1100105,19,464,1,28,2,45,1,1,1,1,-9,4,813M,9170.0,46401 +1100105,19,464,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,46402 +1100105,19,465,1,28,2,55,1,1,1,1,-9,4,722Z,8680.0,46501 +1100105,19,465,2,32,2,55,1,1,1,1,-9,4,722Z,8680.0,46502 +1100105,19,466,1,25,1,40,1,1,1,1,-9,4,531M,7071.0,46601 +1100105,19,466,2,24,1,46,1,1,1,1,-9,4,5416,7390.0,46602 +1100105,19,467,1,28,2,40,1,1,1,1,-9,4,928P,9590.0,46701 +1100105,19,467,2,29,1,40,1,1,1,1,-9,4,712,8570.0,46702 +1100105,19,468,1,29,2,40,3,1,1,1,-9,4,6111,7860.0,46801 +1100105,19,468,2,29,1,40,1,1,1,1,-9,4,5419Z,7490.0,46802 +1100105,19,469,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,46901 +1100105,19,469,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,46902 +1100105,19,470,1,40,2,40,3,1,6,1,-9,4,5415,7380.0,47001 +1100105,19,470,2,79,2,-9,-9,6,6,1,-9,4,0,0.0,47002 +1100105,19,471,1,51,2,45,1,1,2,1,-9,4,813M,9170.0,47101 +1100105,19,471,2,75,2,-9,-9,6,2,1,-9,4,0,0.0,47102 +1100105,19,472,1,38,1,60,1,1,6,1,-9,4,522M,6890.0,47201 +1100105,19,472,2,43,2,-9,-9,6,6,1,-9,4,0,0.0,47202 +1100105,19,473,1,38,1,60,1,1,6,1,-9,4,522M,6890.0,47301 +1100105,19,473,2,43,2,-9,-9,6,6,1,-9,4,0,0.0,47302 +1100105,19,474,1,40,1,42,3,1,1,1,-9,2,5415,7380.0,47401 +1100105,19,474,2,36,2,-9,-9,6,6,1,-9,4,611M1,7870.0,47402 +1100105,19,475,1,36,2,-9,-9,6,1,1,-9,4,5414,7370.0,47501 +1100105,19,475,2,37,1,40,1,1,1,1,-9,4,92M2,9570.0,47502 +1100105,19,476,1,36,2,-9,-9,6,1,1,-9,4,5414,7370.0,47601 +1100105,19,476,2,37,1,40,1,1,1,1,-9,4,92M2,9570.0,47602 +1100105,19,477,1,36,2,-9,-9,6,1,1,-9,4,5414,7370.0,47701 +1100105,19,477,2,37,1,40,1,1,1,1,-9,4,92M2,9570.0,47702 +1100105,19,478,1,49,2,40,1,1,1,14,-9,4,92M2,9570.0,47801 +1100105,19,478,2,41,1,-9,-9,3,2,1,-9,4,8129,9090.0,47802 +1100105,19,479,1,37,1,60,1,1,1,1,-9,4,611M1,7870.0,47901 +1100105,19,479,2,31,1,-9,-9,3,6,1,15,4,44611,5070.0,47902 +1100105,19,480,1,26,2,40,1,1,6,1,-9,4,813M,9170.0,48001 +1100105,19,480,2,32,2,60,4,3,1,1,-9,4,813M,9170.0,48002 +1100105,19,481,1,34,2,50,1,1,1,1,-9,4,5415,7380.0,48101 +1100105,19,481,2,23,2,35,5,3,1,1,-9,4,5417,7460.0,48102 +1100105,19,482,1,28,1,40,2,1,1,1,-9,4,5419Z,7490.0,48201 +1100105,19,482,2,26,2,40,4,6,1,1,16,4,6111,7860.0,48202 +1100105,19,483,1,27,1,42,1,1,1,1,-9,4,928P,9590.0,48301 +1100105,19,483,2,28,1,16,4,6,1,23,-9,4,722Z,8680.0,48302 +1100105,19,484,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,48401 +1100105,19,484,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,48402 +1100105,19,485,1,24,2,50,4,6,1,1,16,4,5411,7270.0,48501 +1100105,19,485,2,25,2,40,4,6,1,1,16,4,813M,9170.0,48502 +1100105,19,486,1,45,1,40,3,1,6,1,-9,2,928P,9590.0,48601 +1100105,19,486,2,35,2,50,1,1,1,1,-9,4,92MP,9470.0,48602 +1100105,19,487,1,38,2,40,1,1,2,1,-9,4,7224,8690.0,48701 +1100105,19,487,2,42,1,25,1,1,1,1,-9,4,7224,8690.0,48702 +1100105,19,488,1,51,1,40,1,1,1,1,-9,4,5416,7390.0,48801 +1100105,19,488,2,43,2,40,1,1,1,1,-9,4,5416,7390.0,48802 +1100105,19,489,1,37,1,40,1,1,1,11,-9,4,7211,8660.0,48901 +1100105,19,489,2,35,1,40,1,1,8,11,-9,4,811192,8780.0,48902 +1100105,19,490,1,28,1,60,1,1,6,1,-9,4,5417,7460.0,49001 +1100105,19,490,2,23,1,12,5,1,6,1,16,4,722Z,8680.0,49002 +1100105,19,491,1,29,1,40,3,1,2,1,-9,4,5417,7460.0,49101 +1100105,19,491,2,27,1,40,1,1,6,1,-9,4,722Z,8680.0,49102 +1100105,19,492,1,29,1,40,1,1,1,1,-9,4,712,8570.0,49201 +1100105,19,492,2,28,2,40,1,1,6,1,-9,4,5417,7460.0,49202 +1100105,19,493,1,24,2,45,1,1,1,1,-9,4,722Z,8680.0,49301 +1100105,19,493,2,24,2,60,1,1,1,1,-9,4,9211MP,9370.0,49302 +1100105,19,494,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,49401 +1100105,19,494,2,26,2,55,3,1,1,1,-9,4,5418,7470.0,49402 +1100105,19,495,1,26,2,20,1,1,1,1,16,4,5417,7460.0,49501 +1100105,19,495,2,27,1,30,4,1,1,1,16,4,8139Z,9190.0,49502 +1100105,19,496,1,32,2,40,1,1,1,1,-9,4,561M,7780.0,49601 +1100105,19,496,2,27,1,60,1,1,2,5,-9,4,9211MP,9370.0,49602 +1100105,19,497,1,69,2,51,1,1,2,1,-9,4,6214,8090.0,49701 +1100105,19,497,2,62,2,-9,-9,6,2,1,-9,4,0,0.0,49702 +1100105,19,498,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,49801 +1100105,19,498,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,49802 +1100105,19,499,1,35,2,40,1,2,6,1,16,4,5411,7270.0,49901 +1100105,19,499,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,49902 +1100105,19,500,1,35,2,40,1,2,6,1,16,4,5411,7270.0,50001 +1100105,19,500,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,50002 +1100105,19,501,1,38,1,40,1,1,1,1,-9,4,5417,7460.0,50101 +1100105,19,501,2,42,2,-9,-9,6,6,1,-9,4,0,0.0,50102 +1100105,19,502,1,60,2,35,1,1,1,1,-9,4,928P,9590.0,50201 +1100105,19,502,2,60,2,35,3,3,1,1,-9,4,928P,9590.0,50202 +1100105,19,503,1,45,2,-9,-9,6,1,1,-9,4,0,0.0,50301 +1100105,19,503,2,43,1,40,1,1,1,1,-9,4,51111,6470.0,50302 +1100105,19,504,1,35,2,50,1,1,1,1,16,4,5417,7460.0,50401 +1100105,19,504,2,26,2,-9,-9,6,1,1,16,4,0,0.0,50402 +1100105,19,505,1,35,2,50,1,1,1,1,16,4,5417,7460.0,50501 +1100105,19,505,2,26,2,-9,-9,6,1,1,16,4,0,0.0,50502 +1100105,19,506,1,32,2,40,1,1,1,23,16,4,712,8570.0,50601 +1100105,19,506,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,50602 +1100105,19,507,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,50701 +1100105,19,507,2,30,1,-9,-9,6,6,1,16,4,0,0.0,50702 +1100105,19,508,1,28,1,40,6,3,1,1,-9,4,337,3895.0,50801 +1100105,19,508,2,26,2,50,1,1,6,1,16,4,5411,7270.0,50802 +1100105,19,509,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,50901 +1100105,19,509,2,25,2,-9,-9,6,1,1,16,4,5418,7470.0,50902 +1100105,19,510,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,51001 +1100105,19,510,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,51002 +1100105,19,511,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,51101 +1100105,19,511,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,51102 +1100105,19,512,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,51201 +1100105,19,512,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,51202 +1100105,19,513,1,63,1,-9,-9,6,6,1,-9,4,0,0.0,51301 +1100105,19,513,2,63,2,-9,-9,6,6,1,-9,4,0,0.0,51302 +1100105,19,514,1,44,1,40,1,1,6,1,-9,4,7211,8660.0,51401 +1100105,19,514,2,41,2,40,4,1,6,1,-9,4,6111,7860.0,51402 +1100105,19,515,1,23,1,50,1,1,1,1,-9,4,531M,7071.0,51501 +1100105,19,515,2,23,1,40,1,1,1,1,-9,4,5419Z,7490.0,51502 +1100105,19,516,1,52,2,25,1,1,1,1,-9,4,562,7790.0,51601 +1100105,19,516,2,51,1,35,4,6,1,1,-9,4,562,7790.0,51602 +1100105,19,517,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,51701 +1100105,19,517,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,51702 +1100105,19,518,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,51801 +1100105,19,518,2,29,1,45,1,1,1,1,16,4,6111,7860.0,51802 +1100105,19,519,1,40,2,24,4,1,6,1,16,4,6111,7860.0,51901 +1100105,19,519,2,6,1,-9,-9,-9,6,1,3,-9,0,0.0,51902 +1100105,19,520,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,52001 +1100105,19,520,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,52002 +1100105,19,521,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,52101 +1100105,19,521,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,52102 +1100105,19,522,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,52201 +1100105,19,522,2,24,2,-9,-9,6,6,1,16,4,0,0.0,52202 +1100105,19,523,1,25,2,-9,-9,6,1,1,16,4,611M1,7870.0,52301 +1100105,19,523,2,27,2,20,1,2,1,1,16,4,611M1,7870.0,52302 +1100105,19,524,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,52401 +1100105,19,524,2,75,2,-9,-9,6,2,1,-9,2,0,0.0,52402 +1100105,19,525,1,84,2,-9,-9,6,2,1,-9,4,0,0.0,52501 +1100105,19,525,2,61,1,-9,-9,6,2,1,-9,4,0,0.0,52502 +1100105,19,526,1,55,2,-9,-9,3,1,1,-9,4,712,8570.0,52601 +1100105,19,526,2,61,1,-9,-9,3,1,1,-9,4,712,8570.0,52602 +1100105,19,527,1,23,2,-9,-9,6,1,1,16,4,0,0.0,52701 +1100105,19,527,2,23,2,-9,-9,6,6,1,16,4,0,0.0,52702 +1100105,19,528,1,23,2,-9,-9,6,1,1,16,4,611M3,7890.0,52801 +1100105,19,528,2,24,2,-9,-9,6,1,1,16,4,813M,9170.0,52802 +1100105,19,529,1,70,2,40,1,1,2,1,-9,4,611M1,7870.0,52901 +1100105,19,530,1,74,1,50,1,1,1,1,-9,4,5416,7390.0,53001 +1100105,19,531,1,66,2,45,1,1,1,1,-9,4,5416,7390.0,53101 +1100105,19,532,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,53201 +1100105,19,533,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,53301 +1100105,19,534,1,35,2,80,1,1,9,1,-9,4,5418,7470.0,53401 +1100105,19,535,1,53,2,40,1,1,6,1,-9,4,52M2,6970.0,53501 +1100105,19,536,1,53,1,60,1,1,6,1,-9,4,23,770.0,53601 +1100105,19,537,1,39,2,55,1,1,6,1,-9,4,5411,7270.0,53701 +1100105,19,538,1,35,1,40,1,1,6,1,-9,4,5242,6992.0,53801 +1100105,19,539,1,53,1,60,1,1,6,1,-9,4,23,770.0,53901 +1100105,19,540,1,36,1,40,1,1,2,1,16,2,928P,9590.0,54001 +1100105,19,541,1,58,1,50,1,1,2,1,-9,4,5411,7270.0,54101 +1100105,19,542,1,36,1,40,1,1,2,1,16,2,928P,9590.0,54201 +1100105,19,543,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,54301 +1100105,19,544,1,57,2,60,1,1,1,1,-9,4,712,8570.0,54401 +1100105,19,545,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,54501 +1100105,19,546,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,54601 +1100105,19,547,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,54701 +1100105,19,548,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,54801 +1100105,19,549,1,38,2,55,1,1,1,1,-9,4,5411,7270.0,54901 +1100105,19,550,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,55001 +1100105,19,551,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,55101 +1100105,19,552,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,55201 +1100105,19,553,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,55301 +1100105,19,554,1,57,1,55,1,1,1,1,-9,4,928P,9590.0,55401 +1100105,19,555,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,55501 +1100105,19,556,1,35,2,40,1,1,1,1,-9,4,5415,7380.0,55601 +1100105,19,557,1,63,2,65,1,1,1,1,-9,2,622M,8191.0,55701 +1100105,19,558,1,46,1,46,1,1,1,1,-9,4,5241,6991.0,55801 +1100105,19,559,1,57,1,60,1,1,1,1,-9,4,5416,7390.0,55901 +1100105,19,560,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,56001 +1100105,19,561,1,51,1,50,1,1,1,1,-9,4,515,6670.0,56101 +1100105,19,562,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,56201 +1100105,19,563,1,55,2,70,1,1,1,1,-9,4,6214,8090.0,56301 +1100105,19,564,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,56401 +1100105,19,565,1,51,1,50,1,1,1,1,-9,4,515,6670.0,56501 +1100105,19,566,1,48,2,40,1,1,1,1,-9,4,813M,9170.0,56601 +1100105,19,567,1,48,1,60,1,1,1,1,-9,4,5411,7270.0,56701 +1100105,19,568,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,56801 +1100105,19,569,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,56901 +1100105,19,570,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,57001 +1100105,19,571,1,49,2,80,1,1,1,1,-9,4,488,6290.0,57101 +1100105,19,572,1,43,2,50,1,1,1,1,-9,4,928P,9590.0,57201 +1100105,19,573,1,55,2,50,1,1,1,1,-9,4,5614,7590.0,57301 +1100105,19,574,1,57,2,35,1,1,1,1,-9,4,52M2,6970.0,57401 +1100105,19,575,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,57501 +1100105,19,576,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,57601 +1100105,19,577,1,46,2,40,1,2,1,1,-9,4,5418,7470.0,57701 +1100105,19,578,1,60,1,40,1,1,1,1,-9,4,5411,7270.0,57801 +1100105,19,579,1,46,2,40,1,2,1,1,-9,4,5418,7470.0,57901 +1100105,19,580,1,44,2,50,1,1,1,1,-9,4,5241,6991.0,58001 +1100105,19,581,1,56,1,55,1,1,1,1,-9,4,5416,7390.0,58101 +1100105,19,582,1,63,1,50,1,1,1,1,-9,4,6211,7970.0,58201 +1100105,19,583,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,58301 +1100105,19,584,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,58401 +1100105,19,585,1,61,2,80,1,1,1,1,-9,4,9211MP,9370.0,58501 +1100105,19,586,1,39,2,60,1,1,1,1,-9,4,52M1,6870.0,58601 +1100105,19,587,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,58701 +1100105,19,588,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,58801 +1100105,19,589,1,62,1,50,3,1,1,1,-9,4,52M2,6970.0,58901 +1100105,19,590,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,59001 +1100105,19,591,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,59101 +1100105,19,592,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,59201 +1100105,19,593,1,48,1,60,1,1,1,1,-9,4,5411,7270.0,59301 +1100105,19,594,1,57,1,55,1,1,1,1,-9,4,928P,9590.0,59401 +1100105,19,595,1,61,2,40,1,1,1,1,-9,4,8139Z,9190.0,59501 +1100105,19,596,1,51,1,65,1,1,1,1,-9,4,622M,8191.0,59601 +1100105,19,597,1,63,2,50,1,1,1,1,-9,4,611M1,7870.0,59701 +1100105,19,598,1,60,1,32,1,1,1,1,-9,4,6212,7980.0,59801 +1100105,19,599,1,62,1,50,3,1,1,1,-9,4,52M2,6970.0,59901 +1100105,19,600,1,46,1,46,1,1,1,1,-9,4,5241,6991.0,60001 +1100105,19,601,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,60101 +1100105,19,602,1,64,2,60,1,1,1,3,-9,4,5416,7390.0,60201 +1100105,19,603,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,60301 +1100105,19,604,1,63,2,60,1,1,1,10,-9,4,81393,9180.0,60401 +1100105,19,605,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,60501 +1100105,19,606,1,47,1,50,1,1,1,3,-9,2,5413,7290.0,60601 +1100105,19,607,1,35,2,50,1,1,2,3,-9,4,6211,7970.0,60701 +1100105,19,608,1,33,1,50,1,1,6,1,-9,4,33641M1,3580.0,60801 +1100105,19,609,1,28,2,55,1,1,1,1,-9,4,5411,7270.0,60901 +1100105,19,610,1,33,1,45,1,1,1,1,-9,4,6212,7980.0,61001 +1100105,19,611,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,61101 +1100105,19,612,1,28,2,55,1,1,1,1,-9,4,5411,7270.0,61201 +1100105,19,613,1,30,2,60,1,1,1,1,-9,4,9211MP,9370.0,61301 +1100105,19,614,1,33,2,60,1,1,1,1,-9,4,5411,7270.0,61401 +1100105,19,615,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,61501 +1100105,19,616,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,61601 +1100105,19,617,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,61701 +1100105,19,618,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,61801 +1100105,19,619,1,65,2,-9,-9,6,1,1,-9,4,813M,9170.0,61901 +1100105,19,620,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,62001 +1100105,19,621,1,53,1,40,6,6,1,1,-9,4,44611,5070.0,62101 +1100105,19,622,1,71,1,50,1,1,1,1,-9,4,5416,7390.0,62201 +1100105,19,623,1,73,2,50,1,1,1,1,-9,4,92119,9390.0,62301 +1100105,19,624,1,47,1,50,1,1,9,1,-9,4,611M1,7870.0,62401 +1100105,19,625,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,62501 +1100105,19,626,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,62601 +1100105,19,627,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,62701 +1100105,19,628,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,62801 +1100105,19,629,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,62901 +1100105,19,630,1,46,1,40,1,1,2,1,-9,4,5415,7380.0,63001 +1100105,19,631,1,46,1,40,1,1,2,1,-9,4,5415,7380.0,63101 +1100105,19,632,1,55,2,40,1,1,2,1,-9,4,92MP,9470.0,63201 +1100105,19,633,1,46,1,40,1,1,2,1,-9,4,5415,7380.0,63301 +1100105,19,634,1,53,1,48,1,1,2,1,-9,4,928P,9590.0,63401 +1100105,19,635,1,51,1,80,1,1,2,1,-9,4,522M,6890.0,63501 +1100105,19,636,1,43,1,55,1,1,1,1,16,4,92MP,9470.0,63601 +1100105,19,637,1,43,1,55,1,1,1,1,16,4,92MP,9470.0,63701 +1100105,19,638,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,63801 +1100105,19,639,1,48,1,40,1,1,1,1,-9,2,928P,9590.0,63901 +1100105,19,640,1,39,1,43,1,1,1,1,-9,4,481,6070.0,64001 +1100105,19,641,1,47,2,40,1,1,1,1,-9,4,92M2,9570.0,64101 +1100105,19,642,1,40,2,40,1,1,1,1,-9,4,92MP,9470.0,64201 +1100105,19,643,1,50,2,70,1,1,1,1,-9,4,92M2,9570.0,64301 +1100105,19,644,1,49,2,50,2,1,1,1,-9,4,813M,9170.0,64401 +1100105,19,645,1,48,2,40,1,1,1,1,-9,4,515,6670.0,64501 +1100105,19,646,1,63,2,28,1,1,1,1,-9,4,6213ZM,8080.0,64601 +1100105,19,647,1,38,2,50,1,1,1,1,-9,4,928P,9590.0,64701 +1100105,19,648,1,56,1,50,1,1,1,1,-9,4,517311,6680.0,64801 +1100105,19,649,1,40,2,40,1,1,1,1,-9,4,92MP,9470.0,64901 +1100105,19,650,1,60,1,45,1,1,1,1,-9,4,5416,7390.0,65001 +1100105,19,651,1,49,1,40,1,1,1,1,-9,4,923,9480.0,65101 +1100105,19,652,1,50,2,70,1,1,1,1,-9,4,92M2,9570.0,65201 +1100105,19,653,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,65301 +1100105,19,654,1,43,2,50,1,1,1,1,-9,4,5416,7390.0,65401 +1100105,19,655,1,40,2,40,1,1,1,1,-9,4,92MP,9470.0,65501 +1100105,19,656,1,48,2,40,1,1,1,1,-9,4,515,6670.0,65601 +1100105,19,657,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,65701 +1100105,19,658,1,50,2,50,1,1,1,1,-9,4,5411,7270.0,65801 +1100105,19,659,1,51,1,40,1,1,1,1,-9,4,522M,6890.0,65901 +1100105,19,660,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,66001 +1100105,19,661,1,57,1,40,1,1,1,1,-9,4,92113,9380.0,66101 +1100105,19,662,1,45,2,35,3,1,1,1,-9,4,813M,9170.0,66201 +1100105,19,663,1,36,2,50,1,1,1,1,-9,4,8139Z,9190.0,66301 +1100105,19,664,1,49,2,50,2,1,1,1,-9,4,813M,9170.0,66401 +1100105,19,665,1,39,1,40,1,1,1,1,-9,4,5415,7380.0,66501 +1100105,19,666,1,47,2,40,1,1,1,1,-9,4,923,9480.0,66601 +1100105,19,667,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,66701 +1100105,19,668,1,50,2,70,1,1,1,1,-9,4,92M2,9570.0,66801 +1100105,19,669,1,39,1,45,1,1,1,3,-9,4,5415,7380.0,66901 +1100105,19,670,1,35,2,55,1,1,1,13,-9,4,5411,7270.0,67001 +1100105,19,671,1,37,2,60,1,1,1,13,-9,4,5416,7390.0,67101 +1100105,19,672,1,29,1,84,1,1,6,1,-9,4,5613,7580.0,67201 +1100105,19,673,1,27,1,45,1,1,2,1,-9,4,5411,7270.0,67301 +1100105,19,674,1,27,1,45,1,1,2,1,-9,4,5411,7270.0,67401 +1100105,19,675,1,27,1,55,1,1,1,1,-9,4,522M,6890.0,67501 +1100105,19,676,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,67601 +1100105,19,677,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,67701 +1100105,19,678,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,67801 +1100105,19,679,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,67901 +1100105,19,680,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,68001 +1100105,19,681,1,29,2,50,1,1,1,1,-9,4,5241,6991.0,68101 +1100105,19,682,1,27,1,50,1,1,1,1,-9,4,5411,7270.0,68201 +1100105,19,683,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,68301 +1100105,19,684,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,68401 +1100105,19,685,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,68501 +1100105,19,686,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,68601 +1100105,19,687,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,68701 +1100105,19,688,1,51,1,60,3,3,1,1,-9,4,3254,2190.0,68801 +1100105,19,689,1,69,2,40,1,1,2,1,-9,4,611M1,7870.0,68901 +1100105,19,690,1,83,1,18,5,1,1,1,-9,2,5411,7270.0,69001 +1100105,19,691,1,67,2,32,1,1,1,1,-9,4,5416,7390.0,69101 +1100105,19,692,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,69201 +1100105,19,693,1,36,2,40,1,1,9,1,-9,4,928P,9590.0,69301 +1100105,19,694,1,42,1,50,1,1,9,1,-9,4,813M,9170.0,69401 +1100105,19,695,1,42,1,50,1,1,9,1,-9,4,813M,9170.0,69501 +1100105,19,696,1,39,2,50,1,1,9,1,-9,4,813M,9170.0,69601 +1100105,19,697,1,37,1,40,1,1,6,1,-9,4,515,6670.0,69701 +1100105,19,698,1,37,2,40,1,1,6,1,-9,4,5411,7270.0,69801 +1100105,19,699,1,42,2,50,1,1,6,1,-9,4,813M,9170.0,69901 +1100105,19,700,1,36,2,40,1,1,6,1,-9,4,5416,7390.0,70001 +1100105,19,701,1,35,2,60,1,1,6,1,-9,4,488,6290.0,70101 +1100105,19,702,1,46,2,55,1,1,6,1,-9,4,5613,7580.0,70201 +1100105,19,703,1,39,2,40,1,1,6,1,-9,4,42S,4590.0,70301 +1100105,19,704,1,35,2,60,1,1,6,1,-9,4,488,6290.0,70401 +1100105,19,705,1,37,1,11,1,1,6,1,-9,4,5415,7380.0,70501 +1100105,19,706,1,43,1,40,1,1,6,1,-9,4,5415,7380.0,70601 +1100105,19,707,1,37,1,11,1,1,6,1,-9,4,5415,7380.0,70701 +1100105,19,708,1,37,1,40,1,1,6,1,-9,4,515,6670.0,70801 +1100105,19,709,1,42,2,50,1,1,6,1,-9,4,813M,9170.0,70901 +1100105,19,710,1,35,2,60,1,1,6,1,-9,4,488,6290.0,71001 +1100105,19,711,1,52,2,99,1,4,2,1,16,1,928110P1,9670.0,71101 +1100105,19,712,1,46,2,40,1,1,2,1,-9,4,923,9480.0,71201 +1100105,19,713,1,63,1,40,1,1,2,1,-9,4,4539,5580.0,71301 +1100105,19,714,1,46,2,40,1,1,2,1,-9,4,923,9480.0,71401 +1100105,19,715,1,55,2,40,1,1,2,1,-9,2,9211MP,9370.0,71501 +1100105,19,716,1,42,2,40,1,1,2,1,-9,4,928P,9590.0,71601 +1100105,19,717,1,60,2,60,1,1,2,1,-9,4,5416,7390.0,71701 +1100105,19,718,1,40,2,45,1,1,1,1,-9,4,813M,9170.0,71801 +1100105,19,719,1,53,1,40,1,1,1,1,-9,4,33641M1,3580.0,71901 +1100105,19,720,1,36,1,40,1,1,1,1,-9,4,813M,9170.0,72001 +1100105,19,721,1,36,1,50,1,1,1,1,16,2,928P,9590.0,72101 +1100105,19,722,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,72201 +1100105,19,723,1,43,2,40,1,1,1,1,-9,4,5416,7390.0,72301 +1100105,19,724,1,43,2,40,1,1,1,1,-9,4,5416,7390.0,72401 +1100105,19,725,1,38,1,43,1,1,1,1,-9,4,5112,6490.0,72501 +1100105,19,726,1,53,1,40,1,1,1,1,-9,4,4232,4080.0,72601 +1100105,19,727,1,38,1,40,1,1,1,1,-9,4,712,8570.0,72701 +1100105,19,728,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,72801 +1100105,19,729,1,47,1,35,1,1,1,1,-9,4,611M1,7870.0,72901 +1100105,19,730,1,63,1,40,1,1,1,1,-9,4,3333,3095.0,73001 +1100105,19,731,1,40,2,45,1,1,1,1,-9,4,813M,9170.0,73101 +1100105,19,732,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,73201 +1100105,19,733,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,73301 +1100105,19,734,1,38,1,40,1,1,1,1,-9,4,712,8570.0,73401 +1100105,19,735,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,73501 +1100105,19,736,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,73601 +1100105,19,737,1,35,1,40,1,1,1,1,-9,4,5417,7460.0,73701 +1100105,19,738,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,73801 +1100105,19,739,1,49,2,40,1,1,1,1,-9,4,92M2,9570.0,73901 +1100105,19,740,1,36,1,50,1,1,1,1,16,2,928P,9590.0,74001 +1100105,19,741,1,62,1,50,1,1,1,1,-9,4,5191ZM,6780.0,74101 +1100105,19,742,1,42,2,52,1,1,1,1,-9,4,5417,7460.0,74201 +1100105,19,743,1,58,2,50,1,1,1,1,-9,4,23,770.0,74301 +1100105,19,744,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,74401 +1100105,19,745,1,38,1,50,1,1,1,1,-9,4,443142,4795.0,74501 +1100105,19,746,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,74601 +1100105,19,747,1,57,1,40,1,1,1,1,-9,4,92M1,9490.0,74701 +1100105,19,748,1,51,1,40,1,1,1,1,-9,4,5416,7390.0,74801 +1100105,19,749,1,40,1,40,1,1,1,1,-9,4,5415,7380.0,74901 +1100105,19,750,1,36,1,50,1,1,1,1,16,2,928P,9590.0,75001 +1100105,19,751,1,62,2,50,1,1,1,1,-9,4,928P,9590.0,75101 +1100105,19,752,1,39,2,60,1,1,1,1,15,4,923,9480.0,75201 +1100105,19,753,1,58,1,40,1,1,1,1,-9,4,92M1,9490.0,75301 +1100105,19,754,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,75401 +1100105,19,755,1,36,1,80,1,1,1,1,-9,4,6111,7860.0,75501 +1100105,19,756,1,45,2,60,1,1,1,1,-9,2,92MP,9470.0,75601 +1100105,19,757,1,47,2,40,1,1,1,1,16,4,928P,9590.0,75701 +1100105,19,758,1,39,2,60,1,1,1,1,15,4,923,9480.0,75801 +1100105,19,759,1,58,1,40,1,1,1,1,-9,4,813M,9170.0,75901 +1100105,19,760,1,48,2,40,1,1,1,1,15,4,334M2,3390.0,76001 +1100105,19,761,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,76101 +1100105,19,762,1,43,2,47,1,1,1,1,-9,4,928P,9590.0,76201 +1100105,19,763,1,48,2,40,1,1,1,1,15,4,334M2,3390.0,76301 +1100105,19,764,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,76401 +1100105,19,765,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,76501 +1100105,19,766,1,38,2,50,1,1,1,1,-9,4,522M,6890.0,76601 +1100105,19,767,1,59,1,45,1,1,1,1,-9,4,5221M,6880.0,76701 +1100105,19,768,1,36,1,50,1,1,1,1,16,2,928P,9590.0,76801 +1100105,19,769,1,47,1,50,1,1,1,1,-9,4,6241,8370.0,76901 +1100105,19,770,1,39,1,50,1,1,1,1,-9,4,52M2,6970.0,77001 +1100105,19,771,1,58,1,40,1,1,1,1,-9,4,92M1,9490.0,77101 +1100105,19,772,1,53,2,40,1,1,1,1,-9,4,522M,6890.0,77201 +1100105,19,773,1,42,1,50,1,1,1,1,-9,4,928P,9590.0,77301 +1100105,19,774,1,50,2,45,1,1,1,1,-9,4,813M,9170.0,77401 +1100105,19,775,1,51,1,40,1,1,1,1,-9,4,5415,7380.0,77501 +1100105,19,776,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,77601 +1100105,19,777,1,36,2,50,1,1,1,1,-9,4,813M,9170.0,77701 +1100105,19,778,1,37,1,40,2,1,1,1,-9,4,5417,7460.0,77801 +1100105,19,779,1,40,1,50,4,1,1,1,-9,4,611M1,7870.0,77901 +1100105,19,780,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,78001 +1100105,19,781,1,38,2,55,1,1,1,1,-9,4,8139Z,9190.0,78101 +1100105,19,782,1,36,2,40,1,1,1,1,16,4,5419Z,7490.0,78201 +1100105,19,783,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,78301 +1100105,19,784,1,53,1,40,4,1,1,1,-9,4,5415,7380.0,78401 +1100105,19,785,1,40,1,40,1,1,1,1,-9,4,92M2,9570.0,78501 +1100105,19,786,1,36,1,50,1,1,1,1,16,2,928P,9590.0,78601 +1100105,19,787,1,35,2,40,1,1,1,1,-9,4,5418,7470.0,78701 +1100105,19,788,1,38,1,40,1,1,1,1,-9,2,5415,7380.0,78801 +1100105,19,789,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,78901 +1100105,19,790,1,57,1,50,1,1,1,1,-9,4,813M,9170.0,79001 +1100105,19,791,1,40,1,40,1,1,1,1,-9,4,92M2,9570.0,79101 +1100105,19,792,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,79201 +1100105,19,793,1,50,2,40,1,1,1,1,-9,4,928P,9590.0,79301 +1100105,19,794,1,58,2,50,1,1,1,1,-9,4,515,6670.0,79401 +1100105,19,795,1,53,1,50,1,1,1,1,-9,4,8139Z,9190.0,79501 +1100105,19,796,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,79601 +1100105,19,797,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,79701 +1100105,19,798,1,49,2,40,1,1,1,1,-9,4,92M2,9570.0,79801 +1100105,19,799,1,47,1,35,1,1,1,1,-9,4,611M1,7870.0,79901 +1100105,19,800,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,80001 +1100105,19,801,1,51,1,40,1,1,1,1,-9,2,5417,7460.0,80101 +1100105,19,802,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,80201 +1100105,19,803,1,40,2,40,1,1,1,24,-9,4,923,9480.0,80301 +1100105,19,804,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,80401 +1100105,19,805,1,44,1,40,1,1,1,16,-9,2,23,770.0,80501 +1100105,19,806,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,80601 +1100105,19,807,1,51,2,65,1,1,2,3,-9,4,813M,9170.0,80701 +1100105,19,808,1,57,2,70,1,1,1,16,-9,4,813M,9170.0,80801 +1100105,19,809,1,36,1,45,1,1,1,11,-9,4,5411,7270.0,80901 +1100105,19,810,1,44,1,40,1,1,1,16,-9,2,23,770.0,81001 +1100105,19,811,1,38,2,40,1,1,8,19,-9,4,813M,9170.0,81101 +1100105,19,812,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,81201 +1100105,19,813,1,31,1,40,1,1,9,1,-9,4,53M,7190.0,81301 +1100105,19,814,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,81401 +1100105,19,815,1,29,1,45,1,1,6,1,-9,4,5411,7270.0,81501 +1100105,19,816,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,81601 +1100105,19,817,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,81701 +1100105,19,818,1,27,2,50,1,1,2,1,-9,4,6111,7860.0,81801 +1100105,19,819,1,29,1,50,1,1,1,1,-9,4,5418,7470.0,81901 +1100105,19,820,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,82001 +1100105,19,821,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,82101 +1100105,19,822,1,28,2,50,1,1,1,1,-9,4,92113,9380.0,82201 +1100105,19,823,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,82301 +1100105,19,824,1,28,1,40,1,1,1,1,-9,4,92113,9380.0,82401 +1100105,19,825,1,32,1,50,1,1,1,1,-9,4,9211MP,9370.0,82501 +1100105,19,826,1,32,1,40,2,1,1,1,-9,4,928P,9590.0,82601 +1100105,19,827,1,32,1,50,1,1,1,1,-9,4,9211MP,9370.0,82701 +1100105,19,828,1,33,2,50,1,1,1,1,-9,4,621M,8180.0,82801 +1100105,19,829,1,29,2,45,1,1,1,1,-9,4,813M,9170.0,82901 +1100105,19,830,1,29,1,40,1,4,1,1,-9,1,928110P3,9690.0,83001 +1100105,19,831,1,31,2,40,1,1,1,1,-9,4,5413,7290.0,83101 +1100105,19,832,1,29,2,50,1,1,1,1,-9,4,531M,7071.0,83201 +1100105,19,833,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,83301 +1100105,19,834,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,83401 +1100105,19,835,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,83501 +1100105,19,836,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,83601 +1100105,19,837,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,83701 +1100105,19,838,1,31,2,40,1,1,1,1,-9,4,923,9480.0,83801 +1100105,19,839,1,26,2,45,1,1,1,1,-9,4,51111,6470.0,83901 +1100105,19,840,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,84001 +1100105,19,841,1,25,2,40,1,1,1,1,16,4,3391,3960.0,84101 +1100105,19,842,1,34,2,45,1,1,1,1,-9,4,92M2,9570.0,84201 +1100105,19,843,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,84301 +1100105,19,844,1,25,1,60,1,1,1,1,-9,4,7211,8660.0,84401 +1100105,19,845,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,84501 +1100105,19,846,1,29,2,45,1,1,8,14,-9,4,52M2,6970.0,84601 +1100105,19,847,1,33,1,50,1,1,1,3,-9,4,622M,8191.0,84701 +1100105,19,848,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,84801 +1100105,19,849,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,84901 +1100105,19,850,1,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,85001 +1100105,19,851,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,85101 +1100105,19,852,1,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,85201 +1100105,19,853,1,57,1,-9,-9,6,6,1,-9,4,0,0.0,85301 +1100105,19,854,1,60,2,-9,-9,6,1,1,-9,4,447,5090.0,85401 +1100105,19,855,1,74,1,12,3,1,2,1,-9,4,722Z,8680.0,85501 +1100105,19,856,1,67,1,28,1,1,2,1,-9,4,531M,7071.0,85601 +1100105,19,857,1,67,2,39,3,1,1,1,-9,4,51912,6770.0,85701 +1100105,19,858,1,67,2,39,3,1,1,1,-9,4,51912,6770.0,85801 +1100105,19,859,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,85901 +1100105,19,860,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,86001 +1100105,19,861,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,86101 +1100105,19,862,1,43,2,60,1,1,6,1,-9,4,6244,8470.0,86201 +1100105,19,863,1,48,1,40,1,1,6,1,-9,4,622M,8191.0,86301 +1100105,19,864,1,37,1,60,1,1,6,1,-9,4,5415,7380.0,86401 +1100105,19,865,1,55,2,40,1,1,6,1,-9,4,92113,9380.0,86501 +1100105,19,866,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,86601 +1100105,19,867,1,36,1,40,1,1,6,1,-9,4,813M,9170.0,86701 +1100105,19,868,1,44,2,45,1,1,6,1,-9,4,813M,9170.0,86801 +1100105,19,869,1,62,1,20,6,1,2,1,-9,3,4853,6190.0,86901 +1100105,19,870,1,43,2,40,1,1,2,1,-9,4,5413,7290.0,87001 +1100105,19,871,1,51,1,45,1,1,2,1,-9,4,92MP,9470.0,87101 +1100105,19,872,1,64,2,40,1,2,2,1,-9,4,8139Z,9190.0,87201 +1100105,19,873,1,44,1,30,1,1,2,1,-9,4,33641M1,3580.0,87301 +1100105,19,874,1,49,1,37,1,1,2,1,15,4,5411,7270.0,87401 +1100105,19,875,1,38,1,40,1,1,2,1,-9,4,9211MP,9370.0,87501 +1100105,19,876,1,59,2,40,1,1,1,1,-9,4,713Z,8590.0,87601 +1100105,19,877,1,55,1,40,3,1,1,1,-9,2,531M,7071.0,87701 +1100105,19,878,1,38,1,40,1,1,1,1,-9,4,5413,7290.0,87801 +1100105,19,879,1,36,2,50,1,1,1,1,-9,4,813M,9170.0,87901 +1100105,19,880,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,88001 +1100105,19,881,1,35,1,60,1,1,1,1,-9,4,5121,6570.0,88101 +1100105,19,882,1,54,1,60,1,1,1,1,-9,4,5414,7370.0,88201 +1100105,19,883,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,88301 +1100105,19,884,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,88401 +1100105,19,885,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,88501 +1100105,19,886,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,88601 +1100105,19,887,1,38,1,40,1,1,1,1,-9,4,5413,7290.0,88701 +1100105,19,888,1,55,1,40,1,1,1,1,-9,4,5411,7270.0,88801 +1100105,19,889,1,35,1,45,1,1,1,1,-9,4,515,6670.0,88901 +1100105,19,890,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,89001 +1100105,19,891,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,89101 +1100105,19,892,1,36,2,50,1,1,1,1,-9,4,813M,9170.0,89201 +1100105,19,893,1,35,1,40,1,1,1,1,-9,4,92MP,9470.0,89301 +1100105,19,894,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,89401 +1100105,19,895,1,38,2,40,1,1,1,1,-9,4,515,6670.0,89501 +1100105,19,896,1,38,1,40,1,1,1,1,-9,4,5413,7290.0,89601 +1100105,19,897,1,35,1,50,2,1,1,1,-9,4,928P,9590.0,89701 +1100105,19,898,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,89801 +1100105,19,899,1,37,1,35,1,1,1,1,-9,4,6111,7860.0,89901 +1100105,19,900,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,90001 +1100105,19,901,1,35,2,45,1,1,1,1,-9,4,9211MP,9370.0,90101 +1100105,19,902,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,90201 +1100105,19,903,1,48,1,40,1,1,1,6,-9,4,531M,7071.0,90301 +1100105,19,904,1,59,2,45,1,1,1,8,-9,4,813M,9170.0,90401 +1100105,19,905,1,61,2,50,1,1,1,23,16,4,6111,7860.0,90501 +1100105,19,906,1,48,1,40,1,1,1,6,-9,4,531M,7071.0,90601 +1100105,19,907,1,38,2,60,1,1,8,2,-9,4,81393,9180.0,90701 +1100105,19,908,1,32,2,55,1,1,9,1,-9,4,5415,7380.0,90801 +1100105,19,909,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,90901 +1100105,19,910,1,32,1,40,1,1,9,1,-9,4,92113,9380.0,91001 +1100105,19,911,1,32,2,40,1,1,6,1,-9,4,5412,7280.0,91101 +1100105,19,912,1,32,2,38,1,1,6,1,-9,4,928P,9590.0,91201 +1100105,19,913,1,28,2,45,1,1,6,1,-9,4,92M1,9490.0,91301 +1100105,19,914,1,32,2,38,1,1,6,1,-9,4,928P,9590.0,91401 +1100105,19,915,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,91501 +1100105,19,916,1,30,1,40,1,1,6,1,-9,4,5413,7290.0,91601 +1100105,19,917,1,25,2,40,1,1,6,1,-9,4,5416,7390.0,91701 +1100105,19,918,1,30,1,40,1,1,2,1,-9,4,5417,7460.0,91801 +1100105,19,919,1,34,2,40,1,1,2,1,-9,4,92MP,9470.0,91901 +1100105,19,920,1,30,2,50,1,1,2,1,-9,4,622M,8191.0,92001 +1100105,19,921,1,33,1,42,1,1,1,1,-9,4,5416,7390.0,92101 +1100105,19,922,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,92201 +1100105,19,923,1,33,2,40,1,1,1,1,-9,4,211,370.0,92301 +1100105,19,924,1,29,2,55,1,1,1,1,-9,4,712,8570.0,92401 +1100105,19,925,1,24,1,55,1,1,1,1,-9,4,9211MP,9370.0,92501 +1100105,19,926,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,92601 +1100105,19,927,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,92701 +1100105,19,928,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,92801 +1100105,19,929,1,27,2,55,1,1,1,1,-9,4,5416,7390.0,92901 +1100105,19,930,1,29,1,40,1,1,1,1,-9,4,5417,7460.0,93001 +1100105,19,931,1,33,2,40,4,1,1,1,-9,4,8139Z,9190.0,93101 +1100105,19,932,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,93201 +1100105,19,933,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,93301 +1100105,19,934,1,33,1,45,1,1,1,1,-9,4,5413,7290.0,93401 +1100105,19,935,1,34,2,55,1,1,1,1,15,4,515,6670.0,93501 +1100105,19,936,1,26,2,80,2,1,1,1,-9,4,5416,7390.0,93601 +1100105,19,937,1,25,2,40,1,1,1,1,-9,4,51913,6672.0,93701 +1100105,19,938,1,26,2,4,1,1,1,1,-9,4,5418,7470.0,93801 +1100105,19,939,1,27,2,40,1,1,1,1,-9,4,5613,7580.0,93901 +1100105,19,940,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,94001 +1100105,19,941,1,34,2,38,1,1,1,1,-9,4,611M3,7890.0,94101 +1100105,19,942,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,94201 +1100105,19,943,1,33,1,40,1,1,1,1,-9,4,55,7570.0,94301 +1100105,19,944,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,94401 +1100105,19,945,1,32,1,50,1,1,1,1,-9,4,52M2,6970.0,94501 +1100105,19,946,1,24,2,45,2,1,1,1,-9,4,81393,9180.0,94601 +1100105,19,947,1,26,2,40,1,1,1,1,-9,4,52M2,6970.0,94701 +1100105,19,948,1,24,2,55,4,1,1,1,16,4,5416,7390.0,94801 +1100105,19,949,1,29,1,40,1,1,1,1,-9,4,5416,7390.0,94901 +1100105,19,950,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,95001 +1100105,19,951,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,95101 +1100105,19,952,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,95201 +1100105,19,953,1,31,2,40,1,1,1,1,15,4,5416,7390.0,95301 +1100105,19,954,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,95401 +1100105,19,955,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,95501 +1100105,19,956,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,95601 +1100105,19,957,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,95701 +1100105,19,958,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,95801 +1100105,19,959,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,95901 +1100105,19,960,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,96001 +1100105,19,961,1,75,2,-9,-9,6,2,1,-9,4,8131,9160.0,96101 +1100105,19,962,1,67,1,-9,-9,6,2,1,-9,4,4481,5170.0,96201 +1100105,19,963,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,96301 +1100105,19,964,1,83,2,-9,-9,6,1,1,-9,4,0,0.0,96401 +1100105,19,965,1,71,1,-9,-9,6,1,1,-9,2,0,0.0,96501 +1100105,19,966,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,96601 +1100105,19,967,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,96701 +1100105,19,968,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,96801 +1100105,19,969,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,96901 +1100105,19,970,1,93,2,-9,-9,6,1,2,-9,4,928P,9590.0,97001 +1100105,19,971,1,62,1,-9,-9,6,2,1,-9,2,92M2,9570.0,97101 +1100105,19,972,1,62,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,97201 +1100105,19,973,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,97301 +1100105,19,974,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,97401 +1100105,19,975,1,68,2,40,1,1,2,1,-9,4,622M,8191.0,97501 +1100105,19,976,1,82,1,18,6,1,1,1,-9,4,611M3,7890.0,97601 +1100105,19,977,1,61,1,35,4,1,2,1,-9,4,484,6170.0,97701 +1100105,19,978,1,40,1,40,1,1,2,1,-9,4,722Z,8680.0,97801 +1100105,19,979,1,41,1,40,1,1,2,1,-9,4,5414,7370.0,97901 +1100105,19,980,1,59,1,40,1,1,2,1,-9,2,6214,8090.0,98001 +1100105,19,981,1,46,1,40,1,1,2,1,-9,4,722Z,8680.0,98101 +1100105,19,982,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,98201 +1100105,19,983,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,98301 +1100105,19,984,1,55,1,60,1,1,1,1,-9,4,722Z,8680.0,98401 +1100105,19,985,1,58,1,30,1,1,1,1,-9,4,8131,9160.0,98501 +1100105,19,986,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,98601 +1100105,19,987,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,98701 +1100105,19,988,1,34,2,40,3,1,9,1,-9,4,5416,7390.0,98801 +1100105,19,989,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,98901 +1100105,19,990,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,99001 +1100105,19,991,1,29,2,35,3,1,2,1,-9,4,6111,7860.0,99101 +1100105,19,992,1,25,1,50,1,1,1,1,16,4,5412,7280.0,99201 +1100105,19,993,1,25,2,45,1,1,1,1,-9,4,813M,9170.0,99301 +1100105,19,994,1,24,2,45,1,1,1,1,-9,4,5416,7390.0,99401 +1100105,19,995,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,99501 +1100105,19,996,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,99601 +1100105,19,997,1,22,2,60,1,1,1,1,-9,4,92MP,9470.0,99701 +1100105,19,998,1,23,2,40,1,1,1,1,-9,4,5411,7270.0,99801 +1100105,19,999,1,31,1,20,1,1,1,1,16,4,443142,4795.0,99901 +1100105,19,1000,1,23,2,50,1,1,1,11,-9,4,52M1,6870.0,100001 +1100105,19,1001,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,100101 +1100105,19,1002,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,100201 +1100105,19,1003,1,79,2,-9,-9,6,2,1,-9,4,0,0.0,100301 +1100105,19,1004,1,84,1,-9,-9,6,2,1,-9,2,0,0.0,100401 +1100105,19,1005,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,100501 +1100105,19,1006,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,100601 +1100105,19,1007,1,67,2,-9,-9,6,1,1,-9,4,0,0.0,100701 +1100105,19,1008,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,100801 +1100105,19,1009,1,53,1,40,3,6,3,1,-9,4,562,7790.0,100901 +1100105,19,1010,1,40,1,30,6,6,2,1,-9,2,5617Z,7690.0,101001 +1100105,19,1011,1,64,2,-9,-9,6,2,1,-9,4,0,0.0,101101 +1100105,19,1012,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,101201 +1100105,19,1013,1,42,2,-9,-9,6,1,1,16,4,0,0.0,101301 +1100105,19,1014,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,101401 +1100105,19,1015,1,66,2,40,3,2,2,1,-9,4,611M1,7870.0,101501 +1100105,19,1016,1,71,2,18,1,1,1,1,-9,4,4MS,5790.0,101601 +1100105,19,1017,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,101701 +1100105,19,1018,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,101801 +1100105,19,1019,1,61,2,20,1,1,2,1,-9,4,5617Z,7690.0,101901 +1100105,19,1020,1,64,1,25,5,1,2,1,-9,4,44511,4971.0,102001 +1100105,19,1021,1,48,1,40,1,1,2,1,-9,4,5419Z,7490.0,102101 +1100105,19,1022,1,56,2,40,3,1,2,1,-9,4,481,6070.0,102201 +1100105,19,1023,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,102301 +1100105,19,1024,1,54,1,32,3,1,1,1,-9,2,9211MP,9370.0,102401 +1100105,19,1025,1,59,1,30,2,1,1,1,-9,4,4853,6190.0,102501 +1100105,19,1026,1,53,1,23,4,1,1,1,-9,4,928P,9590.0,102601 +1100105,19,1027,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,102701 +1100105,19,1028,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,102801 +1100105,19,1029,1,40,1,30,6,1,9,19,-9,4,111,170.0,102901 +1100105,19,1030,1,40,1,30,6,1,9,19,-9,4,111,170.0,103001 +1100105,19,1031,1,27,1,30,1,1,9,1,-9,4,712,8570.0,103101 +1100105,19,1032,1,21,1,20,6,1,6,1,16,4,611M1,7870.0,103201 +1100105,19,1033,1,20,2,40,4,1,6,1,15,4,5412,7280.0,103301 +1100105,19,1034,1,26,2,40,1,1,2,1,-9,4,6214,8090.0,103401 +1100105,19,1035,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,103501 +1100105,19,1036,1,26,2,30,1,1,1,1,16,4,611M1,7870.0,103601 +1100105,19,1037,1,21,2,20,1,1,1,1,15,4,622M,8191.0,103701 +1100105,19,1038,1,33,2,40,1,1,1,1,15,2,483,6090.0,103801 +1100105,19,1039,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,103901 +1100105,19,1040,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,104001 +1100105,19,1041,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,104101 +1100105,19,1042,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,104201 +1100105,19,1043,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,104301 +1100105,19,1044,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,104401 +1100105,19,1045,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,104501 +1100105,19,1046,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,104601 +1100105,19,1047,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,104701 +1100105,19,1048,1,82,2,-9,-9,6,2,1,-9,4,0,0.0,104801 +1100105,19,1049,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,104901 +1100105,19,1050,1,93,2,-9,-9,6,2,1,-9,4,0,0.0,105001 +1100105,19,1051,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,105101 +1100105,19,1052,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,105201 +1100105,19,1053,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,105301 +1100105,19,1054,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,105401 +1100105,19,1055,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,105501 +1100105,19,1056,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,105601 +1100105,19,1057,1,72,1,-9,-9,6,2,1,-9,4,0,0.0,105701 +1100105,19,1058,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,105801 +1100105,19,1059,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,105901 +1100105,19,1060,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,106001 +1100105,19,1061,1,82,2,-9,-9,6,1,1,-9,4,0,0.0,106101 +1100105,19,1062,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,106201 +1100105,19,1063,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,106301 +1100105,19,1064,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,106401 +1100105,19,1065,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,106501 +1100105,19,1066,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,106601 +1100105,19,1067,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,106701 +1100105,19,1068,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,106801 +1100105,19,1069,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,106901 +1100105,19,1070,1,43,2,-9,-9,6,2,1,-9,4,0,0.0,107001 +1100105,19,1071,1,60,1,-9,-9,6,2,1,-9,4,4853,6190.0,107101 +1100105,19,1072,1,55,2,-9,-9,6,2,1,-9,4,6111,7860.0,107201 +1100105,19,1073,1,60,2,-9,-9,6,2,1,-9,4,0,0.0,107301 +1100105,19,1074,1,62,1,-9,-9,6,2,1,-9,4,5615,7670.0,107401 +1100105,19,1075,1,36,2,-9,-9,6,2,1,-9,4,0,0.0,107501 +1100105,19,1076,1,56,1,-9,-9,6,2,1,-9,4,0,0.0,107601 +1100105,19,1077,1,56,2,-9,-9,6,2,1,-9,4,0,0.0,107701 +1100105,19,1078,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,107801 +1100105,19,1079,1,60,2,-9,-9,6,2,1,-9,4,0,0.0,107901 +1100105,19,1080,1,56,2,-9,-9,6,2,1,-9,4,0,0.0,108001 +1100105,19,1081,1,53,1,-9,-9,3,2,1,-9,2,4411,4670.0,108101 +1100105,19,1082,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,108201 +1100105,19,1083,1,49,2,-9,-9,6,2,1,16,4,6241,8370.0,108301 +1100105,19,1084,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,108401 +1100105,19,1085,1,55,2,-9,-9,6,2,1,-9,4,6111,7860.0,108501 +1100105,19,1086,1,54,2,-9,-9,6,1,1,-9,4,0,0.0,108601 +1100105,19,1087,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,108701 +1100105,19,1088,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,108801 +1100105,19,1089,1,55,2,-9,-9,6,1,1,-9,4,0,0.0,108901 +1100105,19,1090,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,109001 +1100105,19,1091,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,109101 +1100105,19,1092,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,109201 +1100105,19,1093,1,56,1,-9,-9,6,1,1,-9,4,5241,6991.0,109301 +1100105,19,1094,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,109401 +1100105,19,1095,1,44,1,-9,-9,6,1,1,-9,4,0,0.0,109501 +1100105,19,1096,1,60,1,-9,-9,6,1,1,-9,2,0,0.0,109601 +1100105,19,1097,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,109701 +1100105,19,1098,1,50,2,-9,-9,6,2,3,-9,4,0,0.0,109801 +1100105,19,1099,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,109901 +1100105,19,1100,1,38,1,35,5,3,1,16,-9,4,5416,7390.0,110001 +1100105,19,1101,1,22,2,45,3,6,6,1,16,4,23,770.0,110101 +1100105,19,1102,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,110201 +1100105,19,1103,1,24,2,20,6,6,1,1,16,4,5411,7270.0,110301 +1100105,19,1104,1,27,1,30,4,6,1,1,16,4,52M2,6970.0,110401 +1100105,19,1105,1,24,1,-9,-9,6,1,1,16,4,622M,8191.0,110501 +1100105,19,1106,1,21,2,20,3,6,1,1,16,4,611M1,7870.0,110601 +1100105,19,1107,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,110701 +1100105,19,1108,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,110801 +1100105,20,1109,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,110901 +1100105,20,1109,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,110902 +1100105,20,1109,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,110903 +1100105,20,1109,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,110904 +1100105,20,1110,1,45,1,40,1,1,1,1,-9,4,515,6670.0,111001 +1100105,20,1110,2,42,2,40,1,1,6,1,-9,4,515,6670.0,111002 +1100105,20,1110,3,2,1,-9,-9,-9,8,1,-9,-9,0,0.0,111003 +1100105,20,1111,1,45,1,65,1,1,1,1,-9,4,5418,7470.0,111101 +1100105,20,1111,2,40,2,50,1,1,1,1,-9,4,5415,7380.0,111102 +1100105,20,1111,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,111103 +1100105,20,1112,1,45,1,45,1,1,1,1,-9,4,5416,7390.0,111201 +1100105,20,1112,2,50,1,40,1,1,1,1,-9,4,622M,8191.0,111202 +1100105,20,1112,3,3,1,-9,-9,-9,1,7,1,-9,0,0.0,111203 +1100105,20,1113,1,35,2,50,1,1,1,1,-9,4,928P,9590.0,111301 +1100105,20,1113,2,32,1,40,1,1,1,1,-9,4,5419Z,7490.0,111302 +1100105,20,1113,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,111303 +1100105,20,1114,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,111401 +1100105,20,1114,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,111402 +1100105,20,1114,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,111403 +1100105,20,1115,1,62,1,40,6,6,6,1,16,4,5411,7270.0,111501 +1100105,20,1115,2,62,2,44,1,1,6,1,15,4,712,8570.0,111502 +1100105,20,1115,3,22,2,-9,-9,6,6,1,15,4,0,0.0,111503 +1100105,20,1116,1,35,1,50,2,1,6,1,-9,4,5416,7390.0,111601 +1100105,20,1116,2,35,2,-9,-9,6,6,1,-9,4,0,0.0,111602 +1100105,20,1116,3,4,2,-9,-9,-9,6,1,1,-9,0,0.0,111603 +1100105,20,1117,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,111701 +1100105,20,1117,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,111702 +1100105,20,1117,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,111703 +1100105,20,1118,1,35,2,80,1,1,1,1,-9,4,622M,8191.0,111801 +1100105,20,1118,2,40,1,40,1,1,1,1,-9,4,611M1,7870.0,111802 +1100105,20,1118,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,111803 +1100105,20,1119,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,111901 +1100105,20,1119,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,111902 +1100105,20,1119,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,111903 +1100105,20,1120,1,58,1,40,4,6,1,1,-9,4,522M,6890.0,112001 +1100105,20,1120,2,54,2,40,1,1,9,1,-9,4,44413,4880.0,112002 +1100105,20,1120,3,41,1,45,1,1,9,1,-9,4,8129,9090.0,112003 +1100105,20,1121,1,38,1,40,1,1,1,1,-9,4,92M2,9570.0,112101 +1100105,20,1121,2,37,2,72,1,1,1,1,-9,4,813M,9170.0,112102 +1100105,20,1121,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,112103 +1100105,20,1122,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,112201 +1100105,20,1122,2,17,2,-9,-9,6,3,1,12,4,0,0.0,112202 +1100105,20,1122,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,112203 +1100105,20,1123,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,112301 +1100105,20,1123,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,112302 +1100105,20,1123,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,112303 +1100105,20,1124,1,35,2,-9,-9,3,2,1,14,4,6212,7980.0,112401 +1100105,20,1124,2,17,2,-9,-9,6,2,1,14,4,6241,8370.0,112402 +1100105,20,1124,3,15,1,-9,-9,-9,2,1,12,-9,0,0.0,112403 +1100105,20,1125,1,43,2,40,1,1,6,1,-9,4,5416,7390.0,112501 +1100105,20,1125,2,45,1,55,1,1,6,1,-9,4,622M,8191.0,112502 +1100105,20,1126,1,44,1,40,6,1,9,1,-9,4,813M,9170.0,112601 +1100105,20,1126,2,50,1,40,1,1,1,1,-9,4,611M3,7890.0,112602 +1100105,20,1127,1,38,1,50,1,1,1,1,-9,4,8139Z,9190.0,112701 +1100105,20,1127,2,35,2,40,1,1,6,1,-9,4,5613,7580.0,112702 +1100105,20,1128,1,54,2,60,1,1,1,1,-9,4,5413,7290.0,112801 +1100105,20,1128,2,44,1,60,1,1,1,1,-9,4,5413,7290.0,112802 +1100105,20,1129,1,56,1,52,1,1,1,1,15,2,5416,7390.0,112901 +1100105,20,1129,2,43,2,52,1,1,1,1,-9,4,813M,9170.0,112902 +1100105,20,1130,1,48,1,46,1,1,1,1,-9,4,622M,8191.0,113001 +1100105,20,1130,2,46,1,40,1,1,1,1,-9,4,5411,7270.0,113002 +1100105,20,1131,1,38,2,42,1,1,1,1,-9,4,813M,9170.0,113101 +1100105,20,1131,2,36,1,40,1,1,1,1,-9,4,5411,7270.0,113102 +1100105,20,1132,1,38,2,60,1,1,1,1,-9,4,52M2,6970.0,113201 +1100105,20,1132,2,39,1,48,1,1,1,1,-9,4,5419Z,7490.0,113202 +1100105,20,1133,1,53,2,40,1,1,1,1,-9,4,8139Z,9190.0,113301 +1100105,20,1133,2,54,1,50,1,1,1,1,-9,4,92113,9380.0,113302 +1100105,20,1134,1,53,1,20,5,1,1,1,-9,4,611M3,7890.0,113401 +1100105,20,1134,2,55,1,40,1,1,1,1,-9,4,92M1,9490.0,113402 +1100105,20,1135,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,113501 +1100105,20,1135,2,36,1,40,1,1,1,1,-9,2,92113,9380.0,113502 +1100105,20,1136,1,44,2,46,1,1,1,1,-9,4,5415,7380.0,113601 +1100105,20,1136,2,39,1,50,1,1,1,1,-9,4,611M3,7890.0,113602 +1100105,20,1137,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,113701 +1100105,20,1137,2,38,1,50,1,1,1,16,-9,4,928P,9590.0,113702 +1100105,20,1138,1,37,2,40,1,1,1,24,-9,4,928P,9590.0,113801 +1100105,20,1138,2,40,1,40,1,1,6,19,-9,4,928P,9590.0,113802 +1100105,20,1139,1,46,1,60,1,1,1,1,-9,4,5411,7270.0,113901 +1100105,20,1139,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,113902 +1100105,20,1140,1,37,1,60,1,1,1,1,-9,4,2211P,570.0,114001 +1100105,20,1140,2,25,1,50,1,1,1,1,-9,4,5413,7290.0,114002 +1100105,20,1141,1,44,1,40,1,4,1,19,16,1,928110P3,9690.0,114101 +1100105,20,1141,2,27,2,50,1,1,1,1,-9,4,8139Z,9190.0,114102 +1100105,20,1142,1,30,1,50,1,1,6,1,-9,4,5411,7270.0,114201 +1100105,20,1142,2,27,2,50,1,1,6,1,-9,4,5411,7270.0,114202 +1100105,20,1143,1,30,1,50,1,1,1,1,-9,4,531M,7071.0,114301 +1100105,20,1143,2,32,2,44,1,1,6,1,-9,4,6111,7860.0,114302 +1100105,20,1144,1,34,1,50,1,1,1,1,-9,2,6241,8370.0,114401 +1100105,20,1144,2,31,2,40,1,1,1,1,-9,4,92M1,9490.0,114402 +1100105,20,1145,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,114501 +1100105,20,1145,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,114502 +1100105,20,1146,1,30,1,60,1,1,1,1,-9,4,611M3,7890.0,114601 +1100105,20,1146,2,31,2,40,1,1,1,1,-9,4,491,6370.0,114602 +1100105,20,1147,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,114701 +1100105,20,1147,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,114702 +1100105,20,1148,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,114801 +1100105,20,1148,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,114802 +1100105,20,1149,1,62,1,40,1,1,1,1,-9,4,5411,7270.0,114901 +1100105,20,1149,2,55,2,-9,-9,6,1,1,-9,4,0,0.0,114902 +1100105,20,1150,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,115001 +1100105,20,1150,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,115002 +1100105,20,1151,1,42,1,-9,-9,6,1,6,-9,4,0,0.0,115101 +1100105,20,1151,2,52,1,40,1,1,1,1,-9,2,622M,8191.0,115102 +1100105,20,1152,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,115201 +1100105,20,1152,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,115202 +1100105,20,1153,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,115301 +1100105,20,1153,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,115302 +1100105,20,1154,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,115401 +1100105,20,1154,2,35,2,40,1,1,6,1,16,4,5417,7460.0,115402 +1100105,20,1155,1,35,1,70,1,1,1,1,-9,2,928P,9590.0,115501 +1100105,20,1155,2,35,2,24,1,1,1,1,-9,4,7224,8690.0,115502 +1100105,20,1156,1,41,1,40,1,1,1,1,-9,4,51913,6672.0,115601 +1100105,20,1156,2,35,2,40,1,1,1,1,-9,4,92113,9380.0,115602 +1100105,20,1157,1,36,2,60,1,1,1,1,-9,4,611M3,7890.0,115701 +1100105,20,1157,2,36,2,45,1,1,8,17,-9,4,813M,9170.0,115702 +1100105,20,1158,1,35,1,45,1,1,9,1,-9,4,813M,9170.0,115801 +1100105,20,1158,2,28,2,55,1,1,1,1,-9,4,928P,9590.0,115802 +1100105,20,1159,1,33,2,40,1,1,6,1,15,4,928P,9590.0,115901 +1100105,20,1159,2,40,1,50,1,1,1,1,-9,4,51111,6470.0,115902 +1100105,20,1160,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,116001 +1100105,20,1160,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,116002 +1100105,20,1161,1,30,1,50,1,1,1,1,-9,4,424M,4380.0,116101 +1100105,20,1161,2,30,2,50,1,1,6,1,-9,4,5415,7380.0,116102 +1100105,20,1162,1,33,2,40,1,1,1,1,-9,4,5417,7460.0,116201 +1100105,20,1162,2,32,1,40,1,1,1,1,-9,4,8139Z,9190.0,116202 +1100105,20,1163,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,116301 +1100105,20,1163,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,116302 +1100105,20,1164,1,28,1,42,5,1,1,1,-9,4,5416,7390.0,116401 +1100105,20,1164,2,27,2,55,1,1,1,1,-9,4,5416,7390.0,116402 +1100105,20,1165,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,116501 +1100105,20,1165,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,116502 +1100105,20,1166,1,60,2,40,1,1,1,1,-9,4,8139Z,9190.0,116601 +1100105,20,1166,2,57,2,-9,-9,6,1,1,-9,4,5416,7390.0,116602 +1100105,20,1167,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,116701 +1100105,20,1167,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,116702 +1100105,20,1168,1,24,2,-9,-9,6,6,2,16,4,813M,9170.0,116801 +1100105,20,1168,2,26,2,70,1,1,1,1,-9,4,5411,7270.0,116802 +1100105,20,1169,1,64,1,40,1,1,6,1,-9,4,5313,7072.0,116901 +1100105,20,1169,2,55,2,40,1,1,6,1,-9,4,531M,7071.0,116902 +1100105,20,1170,1,43,2,40,1,1,1,1,-9,4,5241,6991.0,117001 +1100105,20,1170,2,43,1,80,1,1,1,1,-9,4,722Z,8680.0,117002 +1100105,20,1171,1,26,2,37,1,1,1,1,-9,4,5418,7470.0,117101 +1100105,20,1171,2,26,2,50,1,1,6,1,-9,4,5416,7390.0,117102 +1100105,20,1172,1,31,1,50,1,1,1,1,-9,4,5415,7380.0,117201 +1100105,20,1172,2,29,2,57,1,1,1,1,16,4,6241,8370.0,117202 +1100105,20,1173,1,26,1,40,1,1,1,1,-9,4,5416,7390.0,117301 +1100105,20,1173,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,117302 +1100105,20,1174,1,27,1,50,1,1,1,1,-9,4,515,6670.0,117401 +1100105,20,1174,2,26,1,40,1,1,1,1,-9,4,5416,7390.0,117402 +1100105,20,1175,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,117501 +1100105,20,1175,2,26,2,60,1,1,1,3,16,4,6111,7860.0,117502 +1100105,20,1176,1,35,2,-9,-9,6,1,1,-9,4,0,0.0,117601 +1100105,20,1176,2,35,1,45,1,1,6,1,-9,4,515,6670.0,117602 +1100105,20,1177,1,52,1,40,6,3,1,1,-9,4,5411,7270.0,117701 +1100105,20,1177,2,50,2,50,1,1,1,1,-9,4,484,6170.0,117702 +1100105,20,1178,1,34,1,40,1,1,1,1,-9,4,5418,7470.0,117801 +1100105,20,1178,2,32,1,20,4,6,1,1,-9,4,5417,7460.0,117802 +1100105,20,1179,1,22,2,40,1,1,1,1,-9,4,5614,7590.0,117901 +1100105,20,1179,2,22,2,40,1,1,1,1,-9,4,8139Z,9190.0,117902 +1100105,20,1180,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,118001 +1100105,20,1180,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,118002 +1100105,20,1181,1,35,2,40,1,2,6,1,16,4,5411,7270.0,118101 +1100105,20,1181,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,118102 +1100105,20,1182,1,37,1,38,3,3,1,1,-9,4,722Z,8680.0,118201 +1100105,20,1182,2,33,2,60,1,1,1,1,-9,4,531M,7071.0,118202 +1100105,20,1183,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,118301 +1100105,20,1183,2,25,2,-9,-9,6,1,1,16,4,5418,7470.0,118302 +1100105,20,1184,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,118401 +1100105,20,1184,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,118402 +1100105,20,1185,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,118501 +1100105,20,1185,2,24,2,-9,-9,6,6,1,16,4,0,0.0,118502 +1100105,20,1186,1,72,1,50,1,1,1,1,-9,4,923,9480.0,118601 +1100105,20,1187,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,118701 +1100105,20,1188,1,35,1,40,1,1,6,1,-9,4,5242,6992.0,118801 +1100105,20,1189,1,45,2,45,1,1,2,1,-9,4,6211,7970.0,118901 +1100105,20,1190,1,54,1,60,1,1,1,1,-9,4,92M2,9570.0,119001 +1100105,20,1191,1,43,2,60,1,1,1,1,-9,4,622M,8191.0,119101 +1100105,20,1192,1,54,1,60,1,1,1,1,-9,4,5416,7390.0,119201 +1100105,20,1193,1,54,1,60,1,1,1,1,-9,4,92M2,9570.0,119301 +1100105,20,1194,1,48,1,50,1,1,1,1,-9,4,5415,7380.0,119401 +1100105,20,1195,1,46,2,40,1,2,1,1,-9,4,5418,7470.0,119501 +1100105,20,1196,1,42,1,40,1,1,1,1,-9,4,531M,7071.0,119601 +1100105,20,1197,1,54,1,60,1,1,1,1,-9,4,92M2,9570.0,119701 +1100105,20,1198,1,55,2,50,1,1,1,1,-9,4,5614,7590.0,119801 +1100105,20,1199,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,119901 +1100105,20,1200,1,43,2,40,1,1,1,1,-9,4,522M,6890.0,120001 +1100105,20,1201,1,63,2,50,1,1,1,1,-9,4,611M1,7870.0,120101 +1100105,20,1202,1,57,1,55,1,1,1,1,-9,4,928P,9590.0,120201 +1100105,20,1203,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,120301 +1100105,20,1204,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,120401 +1100105,20,1205,1,30,1,50,1,1,1,1,-9,4,443142,4795.0,120501 +1100105,20,1206,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,120601 +1100105,20,1207,1,68,2,45,1,1,1,1,-9,4,611M1,7870.0,120701 +1100105,20,1208,1,47,1,50,1,1,9,1,-9,4,611M1,7870.0,120801 +1100105,20,1209,1,37,2,75,1,1,6,1,-9,4,9211MP,9370.0,120901 +1100105,20,1210,1,46,1,40,1,1,2,1,-9,4,5415,7380.0,121001 +1100105,20,1211,1,51,1,40,1,1,1,1,-9,4,522M,6890.0,121101 +1100105,20,1212,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,121201 +1100105,20,1213,1,53,1,50,1,1,1,1,-9,4,4238,4270.0,121301 +1100105,20,1214,1,48,1,40,1,1,1,1,-9,4,928P,9590.0,121401 +1100105,20,1215,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,121501 +1100105,20,1216,1,51,1,40,1,1,1,1,-9,4,522M,6890.0,121601 +1100105,20,1217,1,59,1,40,1,1,1,1,-9,4,92M2,9570.0,121701 +1100105,20,1218,1,35,2,55,1,1,1,13,-9,4,5411,7270.0,121801 +1100105,20,1219,1,32,1,60,1,1,1,1,-9,4,5416,7390.0,121901 +1100105,20,1220,1,25,2,40,1,1,1,1,-9,4,5416,7390.0,122001 +1100105,20,1221,1,25,2,40,1,1,1,1,-9,4,5416,7390.0,122101 +1100105,20,1222,1,39,2,50,1,1,9,1,-9,4,813M,9170.0,122201 +1100105,20,1223,1,42,1,40,1,1,6,1,-9,4,8139Z,9190.0,122301 +1100105,20,1224,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,122401 +1100105,20,1225,1,37,2,40,1,1,6,1,-9,4,5411,7270.0,122501 +1100105,20,1226,1,35,2,50,1,1,2,1,-9,4,5416,7390.0,122601 +1100105,20,1227,1,38,1,40,1,1,1,1,-9,2,5415,7380.0,122701 +1100105,20,1228,1,53,1,50,1,1,1,1,-9,4,8139Z,9190.0,122801 +1100105,20,1229,1,36,1,40,1,1,1,1,-9,4,813M,9170.0,122901 +1100105,20,1230,1,57,1,40,1,1,1,1,-9,4,712,8570.0,123001 +1100105,20,1231,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,123101 +1100105,20,1232,1,54,2,50,1,1,1,1,-9,4,5241,6991.0,123201 +1100105,20,1233,1,39,2,40,1,1,1,1,-9,4,9211MP,9370.0,123301 +1100105,20,1234,1,39,1,40,1,1,1,1,-9,4,928P,9590.0,123401 +1100105,20,1235,1,40,2,45,1,1,1,1,-9,4,8121M,8990.0,123501 +1100105,20,1236,1,53,2,40,1,1,1,1,-9,4,51912,6770.0,123601 +1100105,20,1237,1,48,2,43,1,1,1,1,-9,4,92M2,9570.0,123701 +1100105,20,1238,1,51,2,40,1,1,1,1,-9,4,51912,6770.0,123801 +1100105,20,1239,1,42,2,40,1,1,1,1,-9,4,92M2,9570.0,123901 +1100105,20,1240,1,40,1,40,1,1,1,1,-9,4,5415,7380.0,124001 +1100105,20,1241,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,124101 +1100105,20,1242,1,57,1,40,1,1,1,1,-9,4,23,770.0,124201 +1100105,20,1243,1,49,2,40,1,1,1,1,-9,4,92M2,9570.0,124301 +1100105,20,1244,1,55,1,45,1,1,1,1,-9,4,8139Z,9190.0,124401 +1100105,20,1245,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,124501 +1100105,20,1246,1,51,2,65,1,1,2,3,-9,4,813M,9170.0,124601 +1100105,20,1247,1,44,1,40,1,1,1,16,-9,2,23,770.0,124701 +1100105,20,1248,1,38,2,40,1,1,8,19,-9,4,813M,9170.0,124801 +1100105,20,1249,1,29,1,45,1,1,6,1,-9,4,5411,7270.0,124901 +1100105,20,1250,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,125001 +1100105,20,1251,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,125101 +1100105,20,1252,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,125201 +1100105,20,1253,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,125301 +1100105,20,1254,1,33,2,40,1,1,1,1,-9,4,5416,7390.0,125401 +1100105,20,1255,1,34,2,45,1,1,1,1,-9,4,92M2,9570.0,125501 +1100105,20,1256,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,125601 +1100105,20,1257,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,125701 +1100105,20,1258,1,72,2,40,1,1,2,1,-9,4,5411,7270.0,125801 +1100105,20,1259,1,66,1,20,1,1,1,1,-9,2,92119,9390.0,125901 +1100105,20,1260,1,36,1,47,2,1,6,1,-9,4,5417,7460.0,126001 +1100105,20,1261,1,36,1,40,1,1,6,1,-9,4,813M,9170.0,126101 +1100105,20,1262,1,37,2,35,1,1,2,1,-9,4,6212,7980.0,126201 +1100105,20,1263,1,47,2,60,1,1,2,1,-9,4,9211MP,9370.0,126301 +1100105,20,1264,1,38,2,40,1,1,1,1,-9,4,515,6670.0,126401 +1100105,20,1265,1,51,1,40,1,1,1,1,-9,4,561M,7780.0,126501 +1100105,20,1266,1,47,2,50,1,1,1,1,-9,4,611M1,7870.0,126601 +1100105,20,1267,1,35,1,60,1,1,1,1,-9,4,9211MP,9370.0,126701 +1100105,20,1268,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,126801 +1100105,20,1269,1,37,2,40,1,1,1,1,-9,4,92119,9390.0,126901 +1100105,20,1270,1,59,2,45,1,1,1,8,-9,4,813M,9170.0,127001 +1100105,20,1271,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,127101 +1100105,20,1272,1,26,2,40,1,1,6,1,-9,4,611M1,7870.0,127201 +1100105,20,1273,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,127301 +1100105,20,1274,1,31,1,45,2,1,2,1,-9,4,5416,7390.0,127401 +1100105,20,1275,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,127501 +1100105,20,1276,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,127601 +1100105,20,1277,1,24,2,55,4,1,1,1,16,4,5416,7390.0,127701 +1100105,20,1278,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,127801 +1100105,20,1279,1,30,1,42,1,1,1,1,-9,4,51912,6770.0,127901 +1100105,20,1280,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,128001 +1100105,20,1281,1,32,2,50,1,1,1,1,-9,4,813M,9170.0,128101 +1100105,20,1282,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,128201 +1100105,20,1283,1,76,1,-9,-9,6,2,1,-9,2,0,0.0,128301 +1100105,20,1284,1,71,2,20,4,6,1,1,-9,4,5111Z,6480.0,128401 +1100105,20,1285,1,71,2,40,4,6,1,1,-9,4,611M1,7870.0,128501 +1100105,20,1286,1,35,1,25,2,1,2,1,16,4,9211MP,9370.0,128601 +1100105,20,1287,1,47,2,40,1,1,1,1,-9,4,8139Z,9190.0,128701 +1100105,20,1288,1,30,2,40,1,1,6,1,-9,4,5411,7270.0,128801 +1100105,20,1289,1,25,2,55,1,1,1,1,16,4,487,6280.0,128901 +1100105,20,1290,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,129001 +1100105,20,1291,1,68,2,16,4,6,2,1,16,4,5242,6992.0,129101 +1100105,20,1292,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,129201 +1100105,20,1293,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,129301 +1100105,20,1294,1,50,2,20,6,3,1,1,-9,4,531M,7071.0,129401 +1100105,20,1295,1,48,1,40,1,1,2,1,-9,4,5419Z,7490.0,129501 +1100105,20,1296,1,50,1,40,1,1,1,1,-9,4,7115,8564.0,129601 +1100105,20,1297,1,40,1,30,6,1,9,19,-9,4,111,170.0,129701 +1100105,20,1298,1,21,2,25,1,1,6,1,15,4,5417,7460.0,129801 +1100105,20,1299,1,22,1,55,1,1,1,1,15,4,722Z,8680.0,129901 +1100105,20,1300,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,130001 +1100105,20,1301,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,130101 +1100105,20,1302,1,80,2,-9,-9,6,2,1,-9,4,0,0.0,130201 +1100105,20,1303,1,73,1,-9,-9,6,2,1,-9,3,0,0.0,130301 +1100105,20,1304,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,130401 +1100105,20,1305,1,70,2,-9,-9,6,2,3,-9,4,0,0.0,130501 +1100105,20,1306,1,44,2,-9,-9,3,6,1,-9,4,92M1,9490.0,130601 +1100105,20,1307,1,56,1,-9,-9,6,2,1,-9,2,0,0.0,130701 +1100105,20,1308,1,60,2,-9,-9,6,2,1,-9,4,0,0.0,130801 +1100105,20,1309,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,130901 +1100105,20,1310,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,131001 +1100105,20,1311,1,53,1,-9,-9,3,1,1,-9,4,814,9290.0,131101 +1100105,20,1312,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,131201 +1100105,20,1313,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,131301 +1100105,20,1314,1,21,2,-9,-9,6,1,1,15,4,722Z,8680.0,131401 +1100105,20,1315,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,131501 +1100105,24,1316,1,62,2,-9,-9,6,2,1,-9,4,531M,7071.0,131601 +1100105,24,1316,2,71,2,8,6,6,2,1,-9,4,6231,8270.0,131602 +1100105,24,1316,3,67,1,-9,-9,6,2,1,-9,4,0,0.0,131603 +1100105,24,1316,4,61,1,-9,-9,6,2,1,-9,2,5241,6991.0,131604 +1100105,24,1316,5,25,1,-9,-9,3,2,1,-9,4,712,8570.0,131605 +1100105,24,1316,6,51,2,40,1,1,2,1,-9,4,488,6290.0,131606 +1100105,24,1317,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,131701 +1100105,24,1317,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,131702 +1100105,24,1317,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,131703 +1100105,24,1317,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,131704 +1100105,24,1317,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,131705 +1100105,24,1317,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,131706 +1100105,24,1317,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,131707 +1100105,24,1317,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,131708 +1100105,24,1317,9,26,2,40,3,1,2,1,15,4,4533,5490.0,131709 +1100105,24,1318,1,49,1,40,1,1,1,1,-9,2,92M2,9570.0,131801 +1100105,24,1318,2,44,2,40,1,1,1,1,-9,4,5416,7390.0,131802 +1100105,24,1318,3,23,1,10,6,6,1,1,15,4,5416,7390.0,131803 +1100105,24,1319,1,55,2,40,1,1,9,1,-9,4,52M2,6970.0,131901 +1100105,24,1319,2,65,1,50,1,1,1,1,-9,4,44511,4971.0,131902 +1100105,24,1319,3,15,2,-9,-9,-9,6,1,12,-9,0,0.0,131903 +1100105,24,1320,1,43,1,45,1,1,1,1,-9,4,55,7570.0,132001 +1100105,24,1320,2,46,2,40,1,1,6,1,-9,4,812112,8980.0,132002 +1100105,24,1320,3,6,1,-9,-9,-9,9,1,3,-9,0,0.0,132003 +1100105,24,1321,1,48,2,45,1,1,1,1,-9,4,9211MP,9370.0,132101 +1100105,24,1321,2,44,1,42,1,1,1,1,-9,4,92MP,9470.0,132102 +1100105,24,1321,3,11,2,-9,-9,-9,1,1,8,-9,0,0.0,132103 +1100105,24,1322,1,45,1,40,1,1,1,1,-9,4,515,6670.0,132201 +1100105,24,1322,2,42,2,40,1,1,6,1,-9,4,515,6670.0,132202 +1100105,24,1322,3,2,1,-9,-9,-9,8,1,-9,-9,0,0.0,132203 +1100105,24,1323,1,37,2,40,1,1,1,1,-9,4,5616,7680.0,132301 +1100105,24,1323,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,132302 +1100105,24,1323,3,37,1,50,1,1,1,1,-9,4,611M1,7870.0,132303 +1100105,24,1324,1,45,1,45,1,1,1,1,-9,4,5416,7390.0,132401 +1100105,24,1324,2,50,1,40,1,1,1,1,-9,4,622M,8191.0,132402 +1100105,24,1324,3,3,1,-9,-9,-9,1,7,1,-9,0,0.0,132403 +1100105,24,1325,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,132501 +1100105,24,1325,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,132502 +1100105,24,1325,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,132503 +1100105,24,1326,1,62,1,40,6,6,6,1,16,4,5411,7270.0,132601 +1100105,24,1326,2,62,2,44,1,1,6,1,15,4,712,8570.0,132602 +1100105,24,1326,3,22,2,-9,-9,6,6,1,15,4,0,0.0,132603 +1100105,24,1327,1,44,1,20,5,6,1,1,-9,4,23,770.0,132701 +1100105,24,1327,2,9,2,-9,-9,-9,1,1,5,-9,0,0.0,132702 +1100105,24,1327,3,40,2,20,1,1,1,1,-9,4,712,8570.0,132703 +1100105,24,1328,1,35,1,50,2,1,6,1,-9,4,5416,7390.0,132801 +1100105,24,1328,2,35,2,-9,-9,6,6,1,-9,4,0,0.0,132802 +1100105,24,1328,3,4,2,-9,-9,-9,6,1,1,-9,0,0.0,132803 +1100105,24,1329,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,132901 +1100105,24,1329,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,132902 +1100105,24,1329,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,132903 +1100105,24,1330,1,47,1,40,1,1,1,1,-9,4,813M,9170.0,133001 +1100105,24,1330,2,39,2,40,1,1,1,1,-9,4,81393,9180.0,133002 +1100105,24,1330,3,3,1,-9,-9,-9,1,1,-9,-9,0,0.0,133003 +1100105,24,1331,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,133101 +1100105,24,1331,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,133102 +1100105,24,1331,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,133103 +1100105,24,1332,1,58,1,40,4,6,1,1,-9,4,522M,6890.0,133201 +1100105,24,1332,2,54,2,40,1,1,9,1,-9,4,44413,4880.0,133202 +1100105,24,1332,3,41,1,45,1,1,9,1,-9,4,8129,9090.0,133203 +1100105,24,1333,1,46,1,40,1,1,1,1,-9,4,92M2,9570.0,133301 +1100105,24,1333,2,43,2,40,1,1,1,1,-9,4,92M2,9570.0,133302 +1100105,24,1333,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,133303 +1100105,24,1334,1,27,2,-9,-9,6,1,4,16,4,0,0.0,133401 +1100105,24,1334,2,32,2,40,1,1,1,1,-9,4,923,9480.0,133402 +1100105,24,1334,3,25,2,-9,-9,6,2,1,16,4,0,0.0,133403 +1100105,24,1335,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,133501 +1100105,24,1335,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,133502 +1100105,24,1335,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,133503 +1100105,24,1336,1,65,1,-9,-9,6,6,1,-9,4,623M,8290.0,133601 +1100105,24,1336,2,55,2,12,3,6,6,1,-9,4,4523,5391.0,133602 +1100105,24,1336,3,34,2,12,6,3,6,1,-9,4,722Z,8680.0,133603 +1100105,24,1337,1,45,1,45,1,1,6,1,-9,4,5411,7270.0,133701 +1100105,24,1337,2,44,2,40,1,1,6,1,-9,4,5411,7270.0,133702 +1100105,24,1338,1,36,2,45,1,1,1,1,-9,4,5411,7270.0,133801 +1100105,24,1338,2,37,1,40,1,1,9,1,-9,4,92113,9380.0,133802 +1100105,24,1339,1,38,1,50,1,1,1,1,-9,4,8139Z,9190.0,133901 +1100105,24,1339,2,35,2,40,1,1,6,1,-9,4,5613,7580.0,133902 +1100105,24,1340,1,51,1,55,1,1,1,1,-9,4,5417,7460.0,134001 +1100105,24,1340,2,43,1,40,1,1,6,1,-9,4,51912,6770.0,134002 +1100105,24,1341,1,53,1,50,1,1,1,1,-9,2,5413,7290.0,134101 +1100105,24,1341,2,46,2,40,1,1,1,1,-9,4,622M,8191.0,134102 +1100105,24,1342,1,37,1,50,1,1,1,1,-9,4,531M,7071.0,134201 +1100105,24,1342,2,36,2,40,1,1,1,1,-9,4,813M,9170.0,134202 +1100105,24,1343,1,56,1,52,1,1,1,1,15,2,5416,7390.0,134301 +1100105,24,1343,2,43,2,52,1,1,1,1,-9,4,813M,9170.0,134302 +1100105,24,1344,1,42,1,60,1,1,1,1,-9,4,7115,8564.0,134401 +1100105,24,1344,2,37,1,75,1,1,1,1,-9,4,92M2,9570.0,134402 +1100105,24,1345,1,39,2,52,1,1,1,1,-9,4,813M,9170.0,134501 +1100105,24,1345,2,50,1,60,1,1,1,1,-9,4,5417,7460.0,134502 +1100105,24,1346,1,48,1,50,1,1,1,1,-9,4,928P,9590.0,134601 +1100105,24,1346,2,61,1,60,1,1,1,1,-9,4,6111,7860.0,134602 +1100105,24,1347,1,40,1,43,1,1,1,1,-9,4,5112,6490.0,134701 +1100105,24,1347,2,35,1,60,1,1,1,1,-9,4,5415,7380.0,134702 +1100105,24,1348,1,36,2,50,1,1,1,1,-9,4,3254,2190.0,134801 +1100105,24,1348,2,36,1,60,1,1,1,1,-9,4,9211MP,9370.0,134802 +1100105,24,1349,1,53,1,20,5,1,1,1,-9,4,611M3,7890.0,134901 +1100105,24,1349,2,55,1,40,1,1,1,1,-9,4,92M1,9490.0,134902 +1100105,24,1350,1,39,2,50,1,1,1,1,-9,4,928P,9590.0,135001 +1100105,24,1350,2,38,2,50,1,1,1,1,-9,4,928P,9590.0,135002 +1100105,24,1351,1,60,2,40,1,1,1,1,-9,4,5411,7270.0,135101 +1100105,24,1351,2,54,2,35,3,1,9,19,-9,4,6111,7860.0,135102 +1100105,24,1352,1,37,2,40,1,1,1,5,-9,4,522M,6890.0,135201 +1100105,24,1352,2,35,2,40,1,1,1,1,-9,4,928P,9590.0,135202 +1100105,24,1353,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,135301 +1100105,24,1353,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,135302 +1100105,24,1354,1,34,2,45,1,1,1,1,-9,4,522M,6890.0,135401 +1100105,24,1354,2,36,1,40,1,1,1,1,-9,2,92MP,9470.0,135402 +1100105,24,1355,1,37,1,60,1,1,1,1,-9,4,2211P,570.0,135501 +1100105,24,1355,2,25,1,50,1,1,1,1,-9,4,5413,7290.0,135502 +1100105,24,1356,1,62,2,40,1,1,1,1,-9,4,712,8570.0,135601 +1100105,24,1356,2,28,2,50,5,1,1,1,16,2,92MP,9470.0,135602 +1100105,24,1357,1,39,1,60,1,1,8,3,-9,4,5416,7390.0,135701 +1100105,24,1357,2,29,2,40,1,1,1,1,-9,4,6211,7970.0,135702 +1100105,24,1358,1,27,1,55,1,1,6,1,-9,4,5416,7390.0,135801 +1100105,24,1358,2,28,2,35,1,1,6,1,-9,4,5415,7380.0,135802 +1100105,24,1359,1,26,1,65,1,1,1,1,-9,4,52M2,6970.0,135901 +1100105,24,1359,2,25,2,65,1,1,6,1,-9,4,6214,8090.0,135902 +1100105,24,1360,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,136001 +1100105,24,1360,2,28,2,50,1,1,1,1,16,4,52M2,6970.0,136002 +1100105,24,1361,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,136101 +1100105,24,1361,2,34,2,50,1,1,1,1,-9,4,928P,9590.0,136102 +1100105,24,1362,1,29,1,60,1,1,1,1,-9,4,813M,9170.0,136201 +1100105,24,1362,2,27,2,50,1,1,1,1,-9,4,611M1,7870.0,136202 +1100105,24,1363,1,79,1,50,1,1,1,1,-9,2,5241,6991.0,136301 +1100105,24,1363,2,79,2,-9,-9,6,1,1,-9,4,611M3,7890.0,136302 +1100105,24,1364,1,63,1,-9,-9,6,1,1,-9,4,611M1,7870.0,136401 +1100105,24,1364,2,66,1,40,1,1,1,1,-9,4,92M2,9570.0,136402 +1100105,24,1365,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,136501 +1100105,24,1365,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,136502 +1100105,24,1366,1,54,2,40,6,6,1,1,-9,4,5411,7270.0,136601 +1100105,24,1366,2,54,1,60,1,1,1,1,-9,4,5412,7280.0,136602 +1100105,24,1367,1,55,1,45,1,1,1,1,-9,4,722Z,8680.0,136701 +1100105,24,1367,2,56,2,-9,-9,6,1,1,-9,4,0,0.0,136702 +1100105,24,1368,1,42,1,-9,-9,6,1,6,-9,4,0,0.0,136801 +1100105,24,1368,2,52,1,40,1,1,1,1,-9,2,622M,8191.0,136802 +1100105,24,1369,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,136901 +1100105,24,1369,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,136902 +1100105,24,1370,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,137001 +1100105,24,1370,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,137002 +1100105,24,1371,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,137101 +1100105,24,1371,2,35,2,40,1,1,6,1,16,4,5417,7460.0,137102 +1100105,24,1372,1,57,1,35,1,1,1,1,-9,4,5416,7390.0,137201 +1100105,24,1372,2,57,2,40,4,1,1,1,-9,4,611M1,7870.0,137202 +1100105,24,1373,1,47,1,55,1,1,1,1,-9,4,722Z,8680.0,137301 +1100105,24,1373,2,35,2,40,1,1,1,1,-9,4,5417,7460.0,137302 +1100105,24,1374,1,64,2,40,1,1,1,1,-9,4,6111,7860.0,137401 +1100105,24,1374,2,61,1,45,1,1,1,1,-9,4,5416,7390.0,137402 +1100105,24,1375,1,35,1,40,1,1,2,3,-9,4,55,7570.0,137501 +1100105,24,1375,2,35,2,45,1,1,1,1,-9,4,5416,7390.0,137502 +1100105,24,1376,1,35,1,55,1,1,9,1,-9,4,5416,7390.0,137601 +1100105,24,1376,2,28,2,60,1,1,1,1,16,4,5416,7390.0,137602 +1100105,24,1377,1,35,2,50,1,1,6,1,-9,4,928P,9590.0,137701 +1100105,24,1377,2,28,1,50,1,1,1,1,-9,4,621M,8180.0,137702 +1100105,24,1378,1,36,1,50,1,1,1,1,-9,4,443142,4795.0,137801 +1100105,24,1378,2,34,1,40,1,1,1,1,-9,4,5416,7390.0,137802 +1100105,24,1379,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,137901 +1100105,24,1379,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,137902 +1100105,24,1380,1,32,1,41,1,1,1,1,-9,4,5121,6570.0,138001 +1100105,24,1380,2,32,2,42,1,1,6,1,-9,4,515,6670.0,138002 +1100105,24,1381,1,34,1,40,1,1,1,1,-9,4,813M,9170.0,138101 +1100105,24,1381,2,33,2,40,1,1,1,1,-9,4,928P,9590.0,138102 +1100105,24,1382,1,32,1,40,1,1,1,1,-9,4,813M,9170.0,138201 +1100105,24,1382,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,138202 +1100105,24,1383,1,26,2,45,1,1,1,1,-9,4,522M,6890.0,138301 +1100105,24,1383,2,30,1,50,1,1,1,1,16,4,5242,6992.0,138302 +1100105,24,1384,1,32,2,45,1,1,1,1,-9,4,713Z,8590.0,138401 +1100105,24,1384,2,34,1,67,1,1,1,1,-9,4,928P,9590.0,138402 +1100105,24,1385,1,74,1,16,3,6,1,1,-9,4,5417,7460.0,138501 +1100105,24,1385,2,72,2,18,1,1,1,1,-9,4,5112,6490.0,138502 +1100105,24,1386,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,138601 +1100105,24,1386,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,138602 +1100105,24,1387,1,54,1,60,1,1,1,1,-9,4,522M,6890.0,138701 +1100105,24,1387,2,54,2,-9,-9,6,1,1,-9,4,0,0.0,138702 +1100105,24,1388,1,46,1,40,1,1,1,2,-9,4,813M,9170.0,138801 +1100105,24,1388,2,45,1,40,4,3,1,1,-9,4,7115,8564.0,138802 +1100105,24,1389,1,31,2,50,3,3,1,1,-9,4,454110,5593.0,138901 +1100105,24,1389,2,32,1,60,1,1,1,1,-9,4,9211MP,9370.0,138902 +1100105,24,1390,1,24,2,-9,-9,6,6,2,16,4,813M,9170.0,139001 +1100105,24,1390,2,26,2,70,1,1,1,1,-9,4,5411,7270.0,139002 +1100105,24,1391,1,51,1,15,1,1,6,1,-9,4,5413,7290.0,139101 +1100105,24,1391,2,47,2,45,1,1,6,1,-9,4,5415,7380.0,139102 +1100105,24,1392,1,36,1,50,1,1,1,1,16,4,6111,7860.0,139201 +1100105,24,1392,2,40,1,40,1,1,1,1,-9,4,5413,7290.0,139202 +1100105,24,1393,1,45,1,30,4,2,1,1,-9,4,928P,9590.0,139301 +1100105,24,1393,2,40,2,45,1,1,1,14,-9,4,611M3,7890.0,139302 +1100105,24,1394,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,139401 +1100105,24,1394,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,139402 +1100105,24,1395,1,25,2,50,1,1,6,1,16,4,611M3,7890.0,139501 +1100105,24,1395,2,25,2,60,1,1,1,1,16,4,6111,7860.0,139502 +1100105,24,1396,1,33,1,45,1,1,1,1,-9,4,92M2,9570.0,139601 +1100105,24,1396,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,139602 +1100105,24,1397,1,28,2,55,1,1,1,1,-9,4,722Z,8680.0,139701 +1100105,24,1397,2,32,2,55,1,1,1,1,-9,4,722Z,8680.0,139702 +1100105,24,1398,1,27,1,38,1,1,1,1,-9,4,92113,9380.0,139801 +1100105,24,1398,2,26,2,50,1,1,1,1,-9,4,611M1,7870.0,139802 +1100105,24,1399,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,139901 +1100105,24,1399,2,26,2,60,1,1,1,3,16,4,6111,7860.0,139902 +1100105,24,1400,1,38,1,60,1,1,6,1,-9,4,522M,6890.0,140001 +1100105,24,1400,2,43,2,-9,-9,6,6,1,-9,4,0,0.0,140002 +1100105,24,1401,1,40,1,42,3,1,1,1,-9,2,5415,7380.0,140101 +1100105,24,1401,2,36,2,-9,-9,6,6,1,-9,4,611M1,7870.0,140102 +1100105,24,1402,1,36,2,-9,-9,6,1,1,-9,4,5414,7370.0,140201 +1100105,24,1402,2,37,1,40,1,1,1,1,-9,4,92M2,9570.0,140202 +1100105,24,1403,1,28,2,-9,-9,6,1,1,16,4,0,0.0,140301 +1100105,24,1403,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,140302 +1100105,24,1404,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,140401 +1100105,24,1404,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,140402 +1100105,24,1405,1,56,1,40,6,1,1,5,-9,4,7211,8660.0,140501 +1100105,24,1405,2,52,2,60,5,1,1,19,-9,4,7211,8660.0,140502 +1100105,24,1406,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,140601 +1100105,24,1406,2,33,2,20,1,1,1,1,-9,4,611M1,7870.0,140602 +1100105,24,1407,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,140701 +1100105,24,1407,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,140702 +1100105,24,1408,1,35,2,40,1,2,6,1,16,4,5411,7270.0,140801 +1100105,24,1408,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,140802 +1100105,24,1409,1,51,1,50,4,3,1,1,-9,4,722Z,8680.0,140901 +1100105,24,1409,2,38,2,60,3,1,1,1,-9,4,722Z,8680.0,140902 +1100105,24,1410,1,55,2,38,1,1,1,1,-9,4,928P,9590.0,141001 +1100105,24,1410,2,20,1,-9,-9,6,1,1,15,4,0,0.0,141002 +1100105,24,1411,1,28,1,40,6,3,1,1,-9,4,337,3895.0,141101 +1100105,24,1411,2,26,2,50,1,1,6,1,16,4,5411,7270.0,141102 +1100105,24,1412,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,141201 +1100105,24,1412,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,141202 +1100105,24,1413,1,81,1,-9,-9,6,1,1,-9,4,7115,8564.0,141301 +1100105,24,1413,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,141302 +1100105,24,1414,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,141401 +1100105,24,1414,2,24,2,-9,-9,6,6,1,16,4,0,0.0,141402 +1100105,24,1415,1,72,1,50,1,1,1,1,-9,4,923,9480.0,141501 +1100105,24,1416,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,141601 +1100105,24,1417,1,53,2,40,1,1,6,1,-9,4,52M2,6970.0,141701 +1100105,24,1418,1,47,2,60,4,1,2,1,-9,4,8139Z,9190.0,141801 +1100105,24,1419,1,42,1,40,1,1,1,1,-9,4,52M1,6870.0,141901 +1100105,24,1420,1,58,1,60,1,1,1,1,-9,4,5411,7270.0,142001 +1100105,24,1421,1,61,2,40,1,1,1,1,-9,4,8139Z,9190.0,142101 +1100105,24,1422,1,57,2,60,1,1,1,1,-9,4,712,8570.0,142201 +1100105,24,1423,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,142301 +1100105,24,1424,1,51,1,65,1,1,1,1,-9,4,622M,8191.0,142401 +1100105,24,1425,1,47,1,55,1,1,1,1,-9,4,813M,9170.0,142501 +1100105,24,1426,1,37,1,60,1,1,1,1,-9,4,5411,7270.0,142601 +1100105,24,1427,1,51,1,65,1,1,1,1,-9,4,622M,8191.0,142701 +1100105,24,1428,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,142801 +1100105,24,1429,1,62,1,50,3,1,1,1,-9,4,52M2,6970.0,142901 +1100105,24,1430,1,46,1,65,1,1,1,1,-9,4,5416,7390.0,143001 +1100105,24,1431,1,50,1,50,1,1,1,1,16,4,2211P,570.0,143101 +1100105,24,1432,1,62,1,50,3,1,1,1,-9,4,52M2,6970.0,143201 +1100105,24,1433,1,51,1,50,1,1,1,1,-9,4,515,6670.0,143301 +1100105,24,1434,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,143401 +1100105,24,1435,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,143501 +1100105,24,1436,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,143601 +1100105,24,1437,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,143701 +1100105,24,1438,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,143801 +1100105,24,1439,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,143901 +1100105,24,1440,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,144001 +1100105,24,1441,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,144101 +1100105,24,1442,1,46,2,60,1,1,2,1,-9,4,522M,6890.0,144201 +1100105,24,1443,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,144301 +1100105,24,1444,1,50,2,50,1,1,1,1,-9,4,5411,7270.0,144401 +1100105,24,1445,1,59,1,40,1,1,1,1,-9,4,92M2,9570.0,144501 +1100105,24,1446,1,60,2,50,1,1,1,1,-9,4,8139Z,9190.0,144601 +1100105,24,1447,1,43,2,50,1,1,1,1,-9,4,4247,4490.0,144701 +1100105,24,1448,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,144801 +1100105,24,1449,1,43,2,50,1,1,1,1,-9,4,4247,4490.0,144901 +1100105,24,1450,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,145001 +1100105,24,1451,1,50,1,60,1,1,1,1,-9,4,611M3,7890.0,145101 +1100105,24,1452,1,39,1,40,1,1,1,2,-9,4,9211MP,9370.0,145201 +1100105,24,1453,1,32,1,60,1,1,1,1,-9,4,5416,7390.0,145301 +1100105,24,1454,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,145401 +1100105,24,1455,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,145501 +1100105,24,1456,1,66,2,40,1,1,1,1,16,4,6111,7860.0,145601 +1100105,24,1457,1,44,2,40,1,1,9,1,-9,4,813M,9170.0,145701 +1100105,24,1458,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,145801 +1100105,24,1459,1,37,1,40,1,1,6,1,-9,4,515,6670.0,145901 +1100105,24,1460,1,57,1,42,1,1,6,1,-9,4,928P,9590.0,146001 +1100105,24,1461,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,146101 +1100105,24,1462,1,46,1,50,1,1,2,1,-9,4,8139Z,9190.0,146201 +1100105,24,1463,1,37,2,50,1,4,1,1,16,1,928110P1,9670.0,146301 +1100105,24,1464,1,53,1,40,4,1,1,1,-9,4,5415,7380.0,146401 +1100105,24,1465,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,146501 +1100105,24,1466,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,146601 +1100105,24,1467,1,39,2,60,1,1,1,1,-9,4,928P,9590.0,146701 +1100105,24,1468,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,146801 +1100105,24,1469,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,146901 +1100105,24,1470,1,51,2,40,1,1,1,1,-9,4,51912,6770.0,147001 +1100105,24,1471,1,51,1,40,1,1,1,1,-9,4,5415,7380.0,147101 +1100105,24,1472,1,42,2,40,1,1,1,1,-9,4,92M2,9570.0,147201 +1100105,24,1473,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,147301 +1100105,24,1474,1,46,1,40,1,1,1,1,-9,4,443142,4795.0,147401 +1100105,24,1475,1,55,1,45,1,1,1,1,-9,4,8139Z,9190.0,147501 +1100105,24,1476,1,51,1,40,1,1,1,1,-9,4,5416,7390.0,147601 +1100105,24,1477,1,36,1,80,1,1,1,1,-9,4,6111,7860.0,147701 +1100105,24,1478,1,58,2,50,1,1,1,1,-9,4,23,770.0,147801 +1100105,24,1479,1,37,2,50,1,1,1,1,-9,4,515,6670.0,147901 +1100105,24,1480,1,42,2,44,1,1,1,1,-9,4,5416,7390.0,148001 +1100105,24,1481,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,148101 +1100105,24,1482,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,148201 +1100105,24,1483,1,60,1,40,1,1,1,1,-9,4,814,9290.0,148301 +1100105,24,1484,1,61,1,40,3,1,1,1,-9,4,923,9480.0,148401 +1100105,24,1485,1,41,2,50,1,1,1,1,-9,4,622M,8191.0,148501 +1100105,24,1486,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,148601 +1100105,24,1487,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,148701 +1100105,24,1488,1,39,1,42,1,1,1,2,-9,2,9211MP,9370.0,148801 +1100105,24,1489,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,148901 +1100105,24,1490,1,29,1,40,1,1,1,1,16,4,5412,7280.0,149001 +1100105,24,1491,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,149101 +1100105,24,1492,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,149201 +1100105,24,1493,1,27,1,40,1,1,1,1,16,4,52M2,6970.0,149301 +1100105,24,1494,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,149401 +1100105,24,1495,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,149501 +1100105,24,1496,1,30,1,50,1,1,1,1,-9,4,5411,7270.0,149601 +1100105,24,1497,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,149701 +1100105,24,1498,1,65,1,-9,-9,6,1,1,-9,2,92M2,9570.0,149801 +1100105,24,1499,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,149901 +1100105,24,1500,1,40,2,60,1,1,6,1,-9,4,813M,9170.0,150001 +1100105,24,1501,1,43,2,60,1,1,6,1,-9,4,6244,8470.0,150101 +1100105,24,1502,1,43,1,40,1,1,2,1,-9,4,5416,7390.0,150201 +1100105,24,1503,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,150301 +1100105,24,1504,1,35,2,45,1,1,1,1,-9,4,9211MP,9370.0,150401 +1100105,24,1505,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,150501 +1100105,24,1506,1,48,1,48,1,4,1,1,-9,1,928110P1,9670.0,150601 +1100105,24,1507,1,40,1,40,1,1,1,1,-9,4,813M,9170.0,150701 +1100105,24,1508,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,150801 +1100105,24,1509,1,35,1,40,4,1,1,1,-9,4,5121,6570.0,150901 +1100105,24,1510,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,151001 +1100105,24,1511,1,40,2,40,1,1,1,21,-9,4,813M,9170.0,151101 +1100105,24,1512,1,38,1,45,1,1,1,13,-9,4,8139Z,9190.0,151201 +1100105,24,1513,1,32,2,40,1,1,9,1,-9,4,92MP,9470.0,151301 +1100105,24,1514,1,28,2,45,1,1,6,1,-9,4,92M1,9490.0,151401 +1100105,24,1515,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,151501 +1100105,24,1516,1,26,2,50,1,1,2,1,16,4,515,6670.0,151601 +1100105,24,1517,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,151701 +1100105,24,1518,1,26,2,80,2,1,1,1,-9,4,5416,7390.0,151801 +1100105,24,1519,1,23,2,45,1,1,1,1,-9,4,611M1,7870.0,151901 +1100105,24,1520,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,152001 +1100105,24,1521,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,152101 +1100105,24,1522,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,152201 +1100105,24,1523,1,26,2,4,1,1,1,1,-9,4,5418,7470.0,152301 +1100105,24,1524,1,30,1,50,1,1,1,1,-9,4,7111,8561.0,152401 +1100105,24,1525,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,152501 +1100105,24,1526,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,152601 +1100105,24,1527,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,152701 +1100105,24,1528,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,152801 +1100105,24,1529,1,71,2,40,4,6,1,1,-9,4,611M1,7870.0,152901 +1100105,24,1530,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,153001 +1100105,24,1531,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,153101 +1100105,24,1532,1,40,1,40,1,1,2,1,-9,4,722Z,8680.0,153201 +1100105,24,1533,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,153301 +1100105,24,1534,1,47,2,40,1,1,1,1,-9,4,8139Z,9190.0,153401 +1100105,24,1535,1,45,1,40,1,1,1,9,-9,4,5419Z,7490.0,153501 +1100105,24,1536,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,153601 +1100105,24,1537,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,153701 +1100105,24,1538,1,29,1,40,4,1,1,1,-9,2,5613,7580.0,153801 +1100105,24,1539,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,153901 +1100105,24,1540,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,154001 +1100105,24,1541,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,154101 +1100105,24,1542,1,64,2,-9,-9,6,2,1,-9,4,0,0.0,154201 +1100105,24,1543,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,154301 +1100105,24,1544,1,56,2,35,1,1,2,1,-9,4,8129,9090.0,154401 +1100105,24,1545,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,154501 +1100105,24,1546,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,154601 +1100105,24,1547,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,154701 +1100105,24,1548,1,29,2,30,5,1,6,1,-9,4,8139Z,9190.0,154801 +1100105,24,1549,1,22,2,25,4,1,1,1,-9,4,611M1,7870.0,154901 +1100105,24,1550,1,76,1,-9,-9,6,9,1,-9,2,0,0.0,155001 +1100105,24,1551,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,155101 +1100105,24,1552,1,86,2,-9,-9,6,2,1,-9,4,0,0.0,155201 +1100105,24,1553,1,73,2,-9,-9,6,2,1,-9,4,0,0.0,155301 +1100105,24,1554,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,155401 +1100105,24,1555,1,71,2,-9,-9,6,1,1,-9,4,611M3,7890.0,155501 +1100105,24,1556,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,155601 +1100105,24,1557,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,155701 +1100105,24,1558,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,155801 +1100105,24,1559,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,155901 +1100105,24,1560,1,60,2,-9,-9,6,2,1,-9,4,0,0.0,156001 +1100105,24,1561,1,56,1,-9,-9,6,2,1,-9,4,0,0.0,156101 +1100105,24,1562,1,62,1,-9,-9,6,2,1,-9,4,5615,7670.0,156201 +1100105,24,1563,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,156301 +1100105,24,1564,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,156401 +1100105,24,1565,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,156501 +1100105,24,1566,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,156601 +1100105,24,1567,1,45,2,35,5,3,1,16,-9,4,6211,7970.0,156701 +1100105,24,1568,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,156801 +1100105,24,1569,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,156901 +1100105,24,1570,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,157001 +1100105,25,1571,1,26,1,40,1,1,6,1,-9,4,5415,7380.0,157101 +1100105,25,1571,2,40,1,-9,-9,6,1,1,-9,4,5416,7390.0,157102 +1100105,25,1571,3,28,1,40,1,1,1,1,-9,4,923,9480.0,157103 +1100105,25,1571,4,28,2,40,4,1,1,11,-9,4,611M3,7890.0,157104 +1100105,25,1571,5,26,2,47,1,1,9,1,-9,4,6241,8370.0,157105 +1100105,25,1571,6,26,1,40,1,1,1,1,-9,4,923,9480.0,157106 +1100105,25,1571,7,24,1,40,4,1,9,1,-9,4,517Z,6690.0,157107 +1100105,25,1571,8,23,1,43,1,1,1,1,-9,4,7115,8564.0,157108 +1100105,25,1571,9,23,1,50,3,1,1,1,16,4,6111,7860.0,157109 +1100105,25,1571,10,22,1,43,3,1,9,19,-9,4,5417,7460.0,157110 +1100105,25,1572,1,26,1,40,1,1,6,1,-9,4,5415,7380.0,157201 +1100105,25,1572,2,40,1,-9,-9,6,1,1,-9,4,5416,7390.0,157202 +1100105,25,1572,3,28,1,40,1,1,1,1,-9,4,923,9480.0,157203 +1100105,25,1572,4,28,2,40,4,1,1,11,-9,4,611M3,7890.0,157204 +1100105,25,1572,5,26,2,47,1,1,9,1,-9,4,6241,8370.0,157205 +1100105,25,1572,6,26,1,40,1,1,1,1,-9,4,923,9480.0,157206 +1100105,25,1572,7,24,1,40,4,1,9,1,-9,4,517Z,6690.0,157207 +1100105,25,1572,8,23,1,43,1,1,1,1,-9,4,7115,8564.0,157208 +1100105,25,1572,9,23,1,50,3,1,1,1,16,4,6111,7860.0,157209 +1100105,25,1572,10,22,1,43,3,1,9,19,-9,4,5417,7460.0,157210 +1100105,25,1573,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,157301 +1100105,25,1573,2,62,2,-9,-9,6,1,1,-9,4,928P,9590.0,157302 +1100105,25,1573,3,61,1,-9,-9,6,1,1,-9,4,928P,9590.0,157303 +1100105,25,1573,4,60,2,24,5,3,1,1,-9,4,5411,7270.0,157304 +1100105,25,1573,5,33,1,40,1,1,1,1,-9,4,92113,9380.0,157305 +1100105,25,1574,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,157401 +1100105,25,1574,2,62,2,-9,-9,6,1,1,-9,4,928P,9590.0,157402 +1100105,25,1574,3,61,1,-9,-9,6,1,1,-9,4,928P,9590.0,157403 +1100105,25,1574,4,60,2,24,5,3,1,1,-9,4,5411,7270.0,157404 +1100105,25,1574,5,33,1,40,1,1,1,1,-9,4,92113,9380.0,157405 +1100105,25,1575,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,157501 +1100105,25,1575,2,62,2,-9,-9,6,1,1,-9,4,928P,9590.0,157502 +1100105,25,1575,3,61,1,-9,-9,6,1,1,-9,4,928P,9590.0,157503 +1100105,25,1575,4,60,2,24,5,3,1,1,-9,4,5411,7270.0,157504 +1100105,25,1575,5,33,1,40,1,1,1,1,-9,4,92113,9380.0,157505 +1100105,25,1576,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,157601 +1100105,25,1576,2,62,2,-9,-9,6,1,1,-9,4,928P,9590.0,157602 +1100105,25,1576,3,61,1,-9,-9,6,1,1,-9,4,928P,9590.0,157603 +1100105,25,1576,4,60,2,24,5,3,1,1,-9,4,5411,7270.0,157604 +1100105,25,1576,5,33,1,40,1,1,1,1,-9,4,92113,9380.0,157605 +1100105,25,1577,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,157701 +1100105,25,1577,2,62,2,-9,-9,6,1,1,-9,4,928P,9590.0,157702 +1100105,25,1577,3,61,1,-9,-9,6,1,1,-9,4,928P,9590.0,157703 +1100105,25,1577,4,60,2,24,5,3,1,1,-9,4,5411,7270.0,157704 +1100105,25,1577,5,33,1,40,1,1,1,1,-9,4,92113,9380.0,157705 +1100105,25,1578,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,157801 +1100105,25,1578,2,62,2,-9,-9,6,1,1,-9,4,928P,9590.0,157802 +1100105,25,1578,3,61,1,-9,-9,6,1,1,-9,4,928P,9590.0,157803 +1100105,25,1578,4,60,2,24,5,3,1,1,-9,4,5411,7270.0,157804 +1100105,25,1578,5,33,1,40,1,1,1,1,-9,4,92113,9380.0,157805 +1100105,25,1579,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,157901 +1100105,25,1579,2,62,2,-9,-9,6,1,1,-9,4,928P,9590.0,157902 +1100105,25,1579,3,61,1,-9,-9,6,1,1,-9,4,928P,9590.0,157903 +1100105,25,1579,4,60,2,24,5,3,1,1,-9,4,5411,7270.0,157904 +1100105,25,1579,5,33,1,40,1,1,1,1,-9,4,92113,9380.0,157905 +1100105,25,1580,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,158001 +1100105,25,1580,2,62,2,-9,-9,6,1,1,-9,4,928P,9590.0,158002 +1100105,25,1580,3,61,1,-9,-9,6,1,1,-9,4,928P,9590.0,158003 +1100105,25,1580,4,60,2,24,5,3,1,1,-9,4,5411,7270.0,158004 +1100105,25,1580,5,33,1,40,1,1,1,1,-9,4,92113,9380.0,158005 +1100105,25,1581,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,158101 +1100105,25,1581,2,62,2,-9,-9,6,1,1,-9,4,928P,9590.0,158102 +1100105,25,1581,3,61,1,-9,-9,6,1,1,-9,4,928P,9590.0,158103 +1100105,25,1581,4,60,2,24,5,3,1,1,-9,4,5411,7270.0,158104 +1100105,25,1581,5,33,1,40,1,1,1,1,-9,4,92113,9380.0,158105 +1100105,25,1582,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,158201 +1100105,25,1582,2,62,2,-9,-9,6,1,1,-9,4,928P,9590.0,158202 +1100105,25,1582,3,61,1,-9,-9,6,1,1,-9,4,928P,9590.0,158203 +1100105,25,1582,4,60,2,24,5,3,1,1,-9,4,5411,7270.0,158204 +1100105,25,1582,5,33,1,40,1,1,1,1,-9,4,92113,9380.0,158205 +1100105,25,1583,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,158301 +1100105,25,1583,2,62,2,-9,-9,6,1,1,-9,4,928P,9590.0,158302 +1100105,25,1583,3,61,1,-9,-9,6,1,1,-9,4,928P,9590.0,158303 +1100105,25,1583,4,60,2,24,5,3,1,1,-9,4,5411,7270.0,158304 +1100105,25,1583,5,33,1,40,1,1,1,1,-9,4,92113,9380.0,158305 +1100105,25,1584,1,62,2,-9,-9,6,2,1,-9,4,531M,7071.0,158401 +1100105,25,1584,2,71,2,8,6,6,2,1,-9,4,6231,8270.0,158402 +1100105,25,1584,3,67,1,-9,-9,6,2,1,-9,4,0,0.0,158403 +1100105,25,1584,4,61,1,-9,-9,6,2,1,-9,2,5241,6991.0,158404 +1100105,25,1584,5,25,1,-9,-9,3,2,1,-9,4,712,8570.0,158405 +1100105,25,1584,6,51,2,40,1,1,2,1,-9,4,488,6290.0,158406 +1100105,25,1585,1,62,2,-9,-9,6,2,1,-9,4,531M,7071.0,158501 +1100105,25,1585,2,71,2,8,6,6,2,1,-9,4,6231,8270.0,158502 +1100105,25,1585,3,67,1,-9,-9,6,2,1,-9,4,0,0.0,158503 +1100105,25,1585,4,61,1,-9,-9,6,2,1,-9,2,5241,6991.0,158504 +1100105,25,1585,5,25,1,-9,-9,3,2,1,-9,4,712,8570.0,158505 +1100105,25,1585,6,51,2,40,1,1,2,1,-9,4,488,6290.0,158506 +1100105,25,1586,1,62,2,-9,-9,6,2,1,-9,4,531M,7071.0,158601 +1100105,25,1586,2,71,2,8,6,6,2,1,-9,4,6231,8270.0,158602 +1100105,25,1586,3,67,1,-9,-9,6,2,1,-9,4,0,0.0,158603 +1100105,25,1586,4,61,1,-9,-9,6,2,1,-9,2,5241,6991.0,158604 +1100105,25,1586,5,25,1,-9,-9,3,2,1,-9,4,712,8570.0,158605 +1100105,25,1586,6,51,2,40,1,1,2,1,-9,4,488,6290.0,158606 +1100105,25,1587,1,62,2,-9,-9,6,2,1,-9,4,531M,7071.0,158701 +1100105,25,1587,2,71,2,8,6,6,2,1,-9,4,6231,8270.0,158702 +1100105,25,1587,3,67,1,-9,-9,6,2,1,-9,4,0,0.0,158703 +1100105,25,1587,4,61,1,-9,-9,6,2,1,-9,2,5241,6991.0,158704 +1100105,25,1587,5,25,1,-9,-9,3,2,1,-9,4,712,8570.0,158705 +1100105,25,1587,6,51,2,40,1,1,2,1,-9,4,488,6290.0,158706 +1100105,25,1588,1,62,2,-9,-9,6,2,1,-9,4,531M,7071.0,158801 +1100105,25,1588,2,71,2,8,6,6,2,1,-9,4,6231,8270.0,158802 +1100105,25,1588,3,67,1,-9,-9,6,2,1,-9,4,0,0.0,158803 +1100105,25,1588,4,61,1,-9,-9,6,2,1,-9,2,5241,6991.0,158804 +1100105,25,1588,5,25,1,-9,-9,3,2,1,-9,4,712,8570.0,158805 +1100105,25,1588,6,51,2,40,1,1,2,1,-9,4,488,6290.0,158806 +1100105,25,1589,1,47,2,27,1,1,6,1,-9,4,812112,8980.0,158901 +1100105,25,1589,2,44,1,40,1,2,6,1,-9,4,6214,8090.0,158902 +1100105,25,1589,3,20,1,-9,-9,6,6,1,15,4,0,0.0,158903 +1100105,25,1589,4,17,2,-9,-9,6,6,1,14,4,0,0.0,158904 +1100105,25,1589,5,1,2,-9,-9,-9,6,1,-9,-9,0,0.0,158905 +1100105,25,1589,6,71,1,-9,-9,6,6,1,-9,4,0,0.0,158906 +1100105,25,1589,7,69,2,-9,-9,6,6,1,-9,4,0,0.0,158907 +1100105,25,1589,8,61,2,18,6,1,6,1,-9,4,722Z,8680.0,158908 +1100105,25,1589,9,59,1,40,6,3,6,1,-9,4,722Z,8680.0,158909 +1100105,25,1589,10,57,1,40,5,1,6,1,-9,4,487,6280.0,158910 +1100105,25,1589,11,14,1,-9,-9,-9,6,1,8,-9,0,0.0,158911 +1100105,25,1590,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,159001 +1100105,25,1590,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,159002 +1100105,25,1590,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,159003 +1100105,25,1590,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,159004 +1100105,25,1590,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,159005 +1100105,25,1590,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,159006 +1100105,25,1590,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,159007 +1100105,25,1590,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,159008 +1100105,25,1590,9,26,2,40,3,1,2,1,15,4,4533,5490.0,159009 +1100105,25,1591,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,159101 +1100105,25,1591,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,159102 +1100105,25,1591,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,159103 +1100105,25,1591,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,159104 +1100105,25,1591,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,159105 +1100105,25,1591,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,159106 +1100105,25,1591,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,159107 +1100105,25,1591,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,159108 +1100105,25,1591,9,26,2,40,3,1,2,1,15,4,4533,5490.0,159109 +1100105,25,1592,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,159201 +1100105,25,1592,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,159202 +1100105,25,1592,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,159203 +1100105,25,1592,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,159204 +1100105,25,1592,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,159205 +1100105,25,1592,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,159206 +1100105,25,1592,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,159207 +1100105,25,1592,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,159208 +1100105,25,1592,9,26,2,40,3,1,2,1,15,4,4533,5490.0,159209 +1100105,25,1593,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,159301 +1100105,25,1593,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,159302 +1100105,25,1593,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,159303 +1100105,25,1593,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,159304 +1100105,25,1593,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,159305 +1100105,25,1593,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,159306 +1100105,25,1593,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,159307 +1100105,25,1593,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,159308 +1100105,25,1593,9,26,2,40,3,1,2,1,15,4,4533,5490.0,159309 +1100105,25,1594,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,159401 +1100105,25,1594,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,159402 +1100105,25,1594,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,159403 +1100105,25,1594,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,159404 +1100105,25,1594,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,159405 +1100105,25,1594,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,159406 +1100105,25,1594,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,159407 +1100105,25,1594,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,159408 +1100105,25,1594,9,26,2,40,3,1,2,1,15,4,4533,5490.0,159409 +1100105,25,1595,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,159501 +1100105,25,1595,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,159502 +1100105,25,1595,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,159503 +1100105,25,1595,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,159504 +1100105,25,1595,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,159505 +1100105,25,1595,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,159506 +1100105,25,1595,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,159507 +1100105,25,1595,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,159508 +1100105,25,1595,9,26,2,40,3,1,2,1,15,4,4533,5490.0,159509 +1100105,25,1596,1,49,1,40,1,1,1,1,-9,2,92M2,9570.0,159601 +1100105,25,1596,2,44,2,40,1,1,1,1,-9,4,5416,7390.0,159602 +1100105,25,1596,3,23,1,10,6,6,1,1,15,4,5416,7390.0,159603 +1100105,25,1597,1,55,2,40,1,1,9,1,-9,4,52M2,6970.0,159701 +1100105,25,1597,2,65,1,50,1,1,1,1,-9,4,44511,4971.0,159702 +1100105,25,1597,3,15,2,-9,-9,-9,6,1,12,-9,0,0.0,159703 +1100105,25,1598,1,41,1,50,1,1,1,1,-9,4,611M1,7870.0,159801 +1100105,25,1598,2,42,2,40,1,1,6,1,-9,4,611M1,7870.0,159802 +1100105,25,1598,3,6,2,-9,-9,-9,9,1,2,-9,0,0.0,159803 +1100105,25,1599,1,41,1,50,1,1,1,1,-9,4,611M1,7870.0,159901 +1100105,25,1599,2,42,2,40,1,1,6,1,-9,4,611M1,7870.0,159902 +1100105,25,1599,3,6,2,-9,-9,-9,9,1,2,-9,0,0.0,159903 +1100105,25,1600,1,48,2,45,1,1,1,1,-9,4,9211MP,9370.0,160001 +1100105,25,1600,2,44,1,42,1,1,1,1,-9,4,92MP,9470.0,160002 +1100105,25,1600,3,11,2,-9,-9,-9,1,1,8,-9,0,0.0,160003 +1100105,25,1601,1,50,1,40,1,1,1,1,-9,4,454110,5593.0,160101 +1100105,25,1601,2,48,2,40,1,1,1,1,-9,4,5413,7290.0,160102 +1100105,25,1601,3,15,2,-9,-9,-9,1,2,12,-9,0,0.0,160103 +1100105,25,1602,1,48,1,40,1,1,1,1,-9,4,8139Z,9190.0,160201 +1100105,25,1602,2,51,2,40,1,1,8,2,-9,4,9211MP,9370.0,160202 +1100105,25,1602,3,8,1,-9,-9,-9,8,2,5,-9,0,0.0,160203 +1100105,25,1603,1,45,1,40,1,1,1,1,-9,4,515,6670.0,160301 +1100105,25,1603,2,42,2,40,1,1,6,1,-9,4,515,6670.0,160302 +1100105,25,1603,3,2,1,-9,-9,-9,8,1,-9,-9,0,0.0,160303 +1100105,25,1604,1,37,2,40,1,1,1,1,-9,4,5415,7380.0,160401 +1100105,25,1604,2,40,1,40,1,1,6,1,-9,4,622M,8191.0,160402 +1100105,25,1604,3,0,1,-9,-9,-9,8,1,-9,-9,0,0.0,160403 +1100105,25,1605,1,43,1,50,1,1,1,1,-9,4,485M,6180.0,160501 +1100105,25,1605,2,35,2,40,1,1,9,1,-9,4,92M1,9490.0,160502 +1100105,25,1605,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,160503 +1100105,25,1606,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,160601 +1100105,25,1606,2,35,2,50,1,1,6,1,-9,4,92MP,9470.0,160602 +1100105,25,1606,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,160603 +1100105,25,1607,1,35,1,40,1,1,1,1,-9,4,5413,7290.0,160701 +1100105,25,1607,2,35,2,40,1,1,1,1,-9,4,5413,7290.0,160702 +1100105,25,1607,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,160703 +1100105,25,1608,1,38,1,45,2,1,1,1,-9,4,5415,7380.0,160801 +1100105,25,1608,2,37,2,40,5,2,1,1,-9,4,517Z,6690.0,160802 +1100105,25,1608,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,160803 +1100105,25,1609,1,35,2,40,3,1,1,1,-9,4,92MP,9470.0,160901 +1100105,25,1609,2,36,1,60,1,1,1,1,-9,4,5411,7270.0,160902 +1100105,25,1609,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,160903 +1100105,25,1610,1,45,1,45,1,1,1,1,-9,4,5416,7390.0,161001 +1100105,25,1610,2,50,1,40,1,1,1,1,-9,4,622M,8191.0,161002 +1100105,25,1610,3,3,1,-9,-9,-9,1,7,1,-9,0,0.0,161003 +1100105,25,1611,1,42,2,45,1,1,1,1,-9,4,92MP,9470.0,161101 +1100105,25,1611,2,43,1,45,1,1,1,2,-9,2,9211MP,9370.0,161102 +1100105,25,1611,3,4,2,-9,-9,-9,1,2,1,-9,0,0.0,161103 +1100105,25,1612,1,34,2,40,2,1,1,1,-9,4,5417,7460.0,161201 +1100105,25,1612,2,37,1,40,2,1,6,1,-9,4,5416,7390.0,161202 +1100105,25,1612,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,161203 +1100105,25,1613,1,32,2,40,3,1,1,1,-9,4,928P,9590.0,161301 +1100105,25,1613,2,38,1,40,3,1,1,1,-9,4,813M,9170.0,161302 +1100105,25,1613,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,161303 +1100105,25,1614,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,161401 +1100105,25,1614,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,161402 +1100105,25,1614,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,161403 +1100105,25,1615,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,161501 +1100105,25,1615,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,161502 +1100105,25,1615,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,161503 +1100105,25,1616,1,62,1,40,6,6,6,1,16,4,5411,7270.0,161601 +1100105,25,1616,2,62,2,44,1,1,6,1,15,4,712,8570.0,161602 +1100105,25,1616,3,22,2,-9,-9,6,6,1,15,4,0,0.0,161603 +1100105,25,1617,1,44,1,20,5,6,1,1,-9,4,23,770.0,161701 +1100105,25,1617,2,9,2,-9,-9,-9,1,1,5,-9,0,0.0,161702 +1100105,25,1617,3,40,2,20,1,1,1,1,-9,4,712,8570.0,161703 +1100105,25,1618,1,35,1,50,2,1,6,1,-9,4,5416,7390.0,161801 +1100105,25,1618,2,35,2,-9,-9,6,6,1,-9,4,0,0.0,161802 +1100105,25,1618,3,4,2,-9,-9,-9,6,1,1,-9,0,0.0,161803 +1100105,25,1619,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,161901 +1100105,25,1619,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,161902 +1100105,25,1619,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,161903 +1100105,25,1620,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,162001 +1100105,25,1620,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,162002 +1100105,25,1620,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,162003 +1100105,25,1621,1,50,2,30,1,1,1,1,-9,4,611M3,7890.0,162101 +1100105,25,1621,2,49,1,40,1,1,1,1,-9,4,5411,7270.0,162102 +1100105,25,1621,3,13,2,-9,-9,-9,1,1,10,-9,0,0.0,162103 +1100105,25,1622,1,35,2,80,1,1,1,1,-9,4,622M,8191.0,162201 +1100105,25,1622,2,40,1,40,1,1,1,1,-9,4,611M1,7870.0,162202 +1100105,25,1622,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,162203 +1100105,25,1623,1,47,1,45,3,1,1,23,-9,4,611M2,7880.0,162301 +1100105,25,1623,2,44,2,50,1,1,1,23,-9,4,928P,9590.0,162302 +1100105,25,1623,3,2,2,-9,-9,-9,1,1,-9,-9,0,0.0,162303 +1100105,25,1624,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,162401 +1100105,25,1624,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,162402 +1100105,25,1624,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,162403 +1100105,25,1625,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,162501 +1100105,25,1625,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,162502 +1100105,25,1625,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,162503 +1100105,25,1626,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,162601 +1100105,25,1626,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,162602 +1100105,25,1626,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,162603 +1100105,25,1627,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,162701 +1100105,25,1627,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,162702 +1100105,25,1627,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,162703 +1100105,25,1628,1,58,1,40,4,6,1,1,-9,4,522M,6890.0,162801 +1100105,25,1628,2,54,2,40,1,1,9,1,-9,4,44413,4880.0,162802 +1100105,25,1628,3,41,1,45,1,1,9,1,-9,4,8129,9090.0,162803 +1100105,25,1629,1,46,1,40,1,1,1,1,-9,4,92M2,9570.0,162901 +1100105,25,1629,2,43,2,40,1,1,1,1,-9,4,92M2,9570.0,162902 +1100105,25,1629,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,162903 +1100105,25,1630,1,56,2,-9,-9,3,1,1,-9,4,999920,9920.0,163001 +1100105,25,1630,2,51,1,40,1,1,1,1,-9,4,92M1,9490.0,163002 +1100105,25,1630,3,15,1,-9,-9,-9,1,1,12,-9,0,0.0,163003 +1100105,25,1631,1,37,1,55,2,1,6,1,-9,4,52M2,6970.0,163101 +1100105,25,1631,2,35,2,-9,-9,6,6,1,-9,4,5418,7470.0,163102 +1100105,25,1631,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,163103 +1100105,25,1632,1,34,1,60,1,1,1,1,-9,4,92113,9380.0,163201 +1100105,25,1632,2,33,2,-9,-9,6,1,1,16,4,5413,7290.0,163202 +1100105,25,1632,3,3,1,-9,-9,-9,1,1,1,-9,0,0.0,163203 +1100105,25,1633,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,163301 +1100105,25,1633,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,163302 +1100105,25,1633,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,163303 +1100105,25,1634,1,24,2,19,4,6,6,1,15,4,611M1,7870.0,163401 +1100105,25,1634,2,30,1,19,5,2,6,1,15,4,611M1,7870.0,163402 +1100105,25,1634,3,25,2,45,1,1,6,1,-9,4,5416,7390.0,163403 +1100105,25,1635,1,27,2,20,1,1,1,1,16,4,923,9480.0,163501 +1100105,25,1635,2,24,2,-9,-9,6,1,1,15,4,0,0.0,163502 +1100105,25,1635,3,23,2,20,1,1,1,24,15,4,5415,7380.0,163503 +1100105,25,1636,1,65,2,30,1,1,1,15,15,4,814,9290.0,163601 +1100105,25,1636,2,26,2,40,1,1,1,11,-9,4,5313,7072.0,163602 +1100105,25,1636,3,6,1,-9,-9,-9,1,11,3,-9,0,0.0,163603 +1100105,25,1637,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,163701 +1100105,25,1637,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,163702 +1100105,25,1637,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,163703 +1100105,25,1638,1,57,1,-9,-9,6,1,1,-9,4,5411,7270.0,163801 +1100105,25,1638,2,58,2,-9,-9,6,1,1,-9,4,0,0.0,163802 +1100105,25,1638,3,30,2,40,1,1,1,1,-9,4,6244,8470.0,163803 +1100105,25,1639,1,20,1,12,4,2,1,1,15,4,5313,7072.0,163901 +1100105,25,1639,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,163902 +1100105,25,1639,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,163903 +1100105,25,1640,1,65,1,-9,-9,6,6,1,-9,4,623M,8290.0,164001 +1100105,25,1640,2,55,2,12,3,6,6,1,-9,4,4523,5391.0,164002 +1100105,25,1640,3,34,2,12,6,3,6,1,-9,4,722Z,8680.0,164003 +1100105,25,1641,1,66,1,40,1,1,1,1,-9,4,52M2,6970.0,164101 +1100105,25,1641,2,60,2,40,1,1,6,1,-9,4,928P,9590.0,164102 +1100105,25,1642,1,81,2,25,1,1,1,1,-9,4,51111,6470.0,164201 +1100105,25,1642,2,48,2,40,1,1,1,1,-9,4,622M,8191.0,164202 +1100105,25,1643,1,37,1,40,1,1,9,1,-9,2,928P,9590.0,164301 +1100105,25,1643,2,35,2,50,1,1,6,1,-9,4,622M,8191.0,164302 +1100105,25,1644,1,36,1,55,1,1,6,1,-9,4,5415,7380.0,164401 +1100105,25,1644,2,35,2,60,1,1,6,1,-9,4,92M2,9570.0,164402 +1100105,25,1645,1,45,1,45,1,1,6,1,-9,4,5411,7270.0,164501 +1100105,25,1645,2,44,2,40,1,1,6,1,-9,4,5411,7270.0,164502 +1100105,25,1646,1,43,2,40,1,1,6,1,-9,4,5416,7390.0,164601 +1100105,25,1646,2,45,1,55,1,1,6,1,-9,4,622M,8191.0,164602 +1100105,25,1647,1,44,1,40,6,1,9,1,-9,4,813M,9170.0,164701 +1100105,25,1647,2,50,1,40,1,1,1,1,-9,4,611M3,7890.0,164702 +1100105,25,1648,1,44,1,40,6,1,9,1,-9,4,813M,9170.0,164801 +1100105,25,1648,2,50,1,40,1,1,1,1,-9,4,611M3,7890.0,164802 +1100105,25,1649,1,56,1,84,1,1,1,1,-9,4,5411,7270.0,164901 +1100105,25,1649,2,36,2,60,1,1,6,1,-9,4,81393,9180.0,164902 +1100105,25,1650,1,37,1,60,1,1,1,1,-9,4,5418,7470.0,165001 +1100105,25,1650,2,42,1,50,1,1,6,1,-9,4,9211MP,9370.0,165002 +1100105,25,1651,1,39,2,40,1,1,6,1,-9,4,92MP,9470.0,165101 +1100105,25,1651,2,42,1,40,1,1,1,1,-9,4,928P,9590.0,165102 +1100105,25,1652,1,55,1,50,1,1,1,1,-9,4,8139Z,9190.0,165201 +1100105,25,1652,2,47,1,40,1,1,6,1,-9,4,51912,6770.0,165202 +1100105,25,1653,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,165301 +1100105,25,1653,2,40,2,40,1,1,1,1,-9,4,5417,7460.0,165302 +1100105,25,1654,1,42,1,50,1,1,1,1,-9,4,2211P,570.0,165401 +1100105,25,1654,2,39,2,40,1,2,1,1,16,4,5416,7390.0,165402 +1100105,25,1655,1,38,2,60,1,1,1,1,-9,4,52M2,6970.0,165501 +1100105,25,1655,2,39,1,48,1,1,1,1,-9,4,5419Z,7490.0,165502 +1100105,25,1656,1,48,1,40,1,1,1,1,-9,4,92113,9380.0,165601 +1100105,25,1656,2,51,1,40,1,1,1,1,-9,2,5241,6991.0,165602 +1100105,25,1657,1,40,1,50,1,1,1,1,-9,4,6111,7860.0,165701 +1100105,25,1657,2,36,1,50,1,1,1,1,-9,4,5417,7460.0,165702 +1100105,25,1658,1,36,2,55,1,1,1,1,-9,4,531M,7071.0,165801 +1100105,25,1658,2,41,2,70,1,1,1,1,-9,4,531M,7071.0,165802 +1100105,25,1659,1,36,2,55,1,1,1,1,-9,4,531M,7071.0,165901 +1100105,25,1659,2,41,2,70,1,1,1,1,-9,4,531M,7071.0,165902 +1100105,25,1660,1,42,1,55,1,4,1,1,-9,1,928110P3,9690.0,166001 +1100105,25,1660,2,39,2,55,1,4,1,1,-9,1,928110P3,9690.0,166002 +1100105,25,1661,1,39,2,50,1,1,1,1,-9,4,928P,9590.0,166101 +1100105,25,1661,2,38,2,50,1,1,1,1,-9,4,928P,9590.0,166102 +1100105,25,1662,1,37,1,40,1,1,1,1,-9,4,23,770.0,166201 +1100105,25,1662,2,49,1,40,1,1,1,1,-9,2,23,770.0,166202 +1100105,25,1663,1,39,2,50,1,1,1,1,-9,4,928P,9590.0,166301 +1100105,25,1663,2,38,2,50,1,1,1,1,-9,4,928P,9590.0,166302 +1100105,25,1664,1,46,2,40,1,1,1,1,-9,4,928P,9590.0,166401 +1100105,25,1664,2,45,1,50,1,1,1,1,-9,4,5112,6490.0,166402 +1100105,25,1665,1,53,1,50,1,1,1,1,-9,2,5413,7290.0,166501 +1100105,25,1665,2,46,2,40,1,1,1,1,-9,4,622M,8191.0,166502 +1100105,25,1666,1,50,1,40,1,1,1,1,-9,4,9211MP,9370.0,166601 +1100105,25,1666,2,52,1,45,1,1,1,1,-9,4,92M2,9570.0,166602 +1100105,25,1667,1,41,2,40,1,1,1,1,-9,4,92M2,9570.0,166701 +1100105,25,1667,2,36,1,40,1,1,1,1,-9,4,923,9480.0,166702 +1100105,25,1668,1,37,2,40,1,1,1,1,-9,4,8139Z,9190.0,166801 +1100105,25,1668,2,36,1,65,1,1,1,1,-9,4,522M,6890.0,166802 +1100105,25,1669,1,40,1,45,1,1,1,1,-9,4,9211MP,9370.0,166901 +1100105,25,1669,2,41,1,45,1,1,1,1,-9,4,9211MP,9370.0,166902 +1100105,25,1670,1,35,1,50,1,1,1,1,-9,4,5416,7390.0,167001 +1100105,25,1670,2,37,2,50,1,1,1,1,16,4,8139Z,9190.0,167002 +1100105,25,1671,1,37,2,40,1,1,1,1,-9,4,8139Z,9190.0,167101 +1100105,25,1671,2,36,1,65,1,1,1,1,-9,4,522M,6890.0,167102 +1100105,25,1672,1,35,2,60,1,1,1,1,-9,4,622M,8191.0,167201 +1100105,25,1672,2,36,1,40,1,1,1,1,-9,4,928P,9590.0,167202 +1100105,25,1673,1,42,1,60,1,1,1,1,-9,4,7115,8564.0,167301 +1100105,25,1673,2,37,1,75,1,1,1,1,-9,4,92M2,9570.0,167302 +1100105,25,1674,1,62,1,52,1,1,1,1,-9,2,611M3,7890.0,167401 +1100105,25,1674,2,62,2,40,1,1,1,1,-9,4,5415,7380.0,167402 +1100105,25,1675,1,61,1,40,1,1,1,1,-9,4,611M1,7870.0,167501 +1100105,25,1675,2,52,2,40,1,1,1,1,-9,4,5242,6992.0,167502 +1100105,25,1676,1,42,1,60,1,1,1,1,-9,4,7115,8564.0,167601 +1100105,25,1676,2,37,1,75,1,1,1,1,-9,4,92M2,9570.0,167602 +1100105,25,1677,1,38,1,40,1,1,1,1,-9,4,92113,9380.0,167701 +1100105,25,1677,2,38,1,50,1,1,8,3,-9,4,6214,8090.0,167702 +1100105,25,1678,1,37,1,40,1,1,1,1,-9,4,92M2,9570.0,167801 +1100105,25,1678,2,35,2,43,1,1,1,3,-9,4,5416,7390.0,167802 +1100105,25,1679,1,37,1,40,1,1,1,1,-9,4,92M2,9570.0,167901 +1100105,25,1679,2,35,2,43,1,1,1,3,-9,4,5416,7390.0,167902 +1100105,25,1680,1,35,2,45,1,1,1,1,-9,4,923,9480.0,168001 +1100105,25,1680,2,35,1,45,1,1,1,23,-9,4,92113,9380.0,168002 +1100105,25,1681,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,168101 +1100105,25,1681,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,168102 +1100105,25,1682,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,168201 +1100105,25,1682,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,168202 +1100105,25,1683,1,35,1,70,1,1,9,1,-9,4,5411,7270.0,168301 +1100105,25,1683,2,33,2,67,1,1,1,1,-9,4,5411,7270.0,168302 +1100105,25,1684,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,168401 +1100105,25,1684,2,30,1,40,1,1,6,1,-9,4,6214,8090.0,168402 +1100105,25,1685,1,35,1,60,1,1,1,1,-9,4,5416,7390.0,168501 +1100105,25,1685,2,33,2,46,1,1,1,1,-9,4,5416,7390.0,168502 +1100105,25,1686,1,34,2,45,1,1,1,1,-9,4,522M,6890.0,168601 +1100105,25,1686,2,36,1,40,1,1,1,1,-9,2,92MP,9470.0,168602 +1100105,25,1687,1,36,1,45,1,1,1,1,-9,4,928P,9590.0,168701 +1100105,25,1687,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,168702 +1100105,25,1688,1,34,1,50,1,1,1,1,-9,4,611M1,7870.0,168801 +1100105,25,1688,2,36,2,60,1,1,1,1,-9,4,813M,9170.0,168802 +1100105,25,1689,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,168901 +1100105,25,1689,2,35,1,40,1,1,1,1,-9,4,5411,7270.0,168902 +1100105,25,1690,1,34,1,50,1,1,1,1,-9,4,611M1,7870.0,169001 +1100105,25,1690,2,36,2,60,1,1,1,1,-9,4,813M,9170.0,169002 +1100105,25,1691,1,39,1,40,1,1,1,1,-9,4,923,9480.0,169101 +1100105,25,1691,2,33,1,50,1,1,1,1,-9,4,7211,8660.0,169102 +1100105,25,1692,1,39,1,40,1,1,1,6,-9,4,622M,8191.0,169201 +1100105,25,1692,2,30,2,40,6,1,1,1,16,4,622M,8191.0,169202 +1100105,25,1693,1,39,1,40,1,1,1,6,-9,4,622M,8191.0,169301 +1100105,25,1693,2,30,2,40,6,1,1,1,16,4,622M,8191.0,169302 +1100105,25,1694,1,32,2,40,1,1,6,1,-9,4,5413,7290.0,169401 +1100105,25,1694,2,34,1,80,1,1,6,1,-9,4,5416,7390.0,169402 +1100105,25,1695,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,169501 +1100105,25,1695,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,169502 +1100105,25,1696,1,30,2,40,1,1,1,1,-9,4,5417,7460.0,169601 +1100105,25,1696,2,31,1,40,1,1,6,1,-9,4,6214,8090.0,169602 +1100105,25,1697,1,30,1,50,1,1,1,1,-9,4,531M,7071.0,169701 +1100105,25,1697,2,32,2,44,1,1,6,1,-9,4,6111,7860.0,169702 +1100105,25,1698,1,33,1,40,1,1,1,1,-9,4,92113,9380.0,169801 +1100105,25,1698,2,33,2,50,1,1,1,1,-9,4,923,9480.0,169802 +1100105,25,1699,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,169901 +1100105,25,1699,2,34,2,50,1,1,1,1,-9,4,928P,9590.0,169902 +1100105,25,1700,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,170001 +1100105,25,1700,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,170002 +1100105,25,1701,1,30,2,40,1,1,1,1,-9,4,5411,7270.0,170101 +1100105,25,1701,2,33,1,50,1,1,1,1,-9,4,5411,7270.0,170102 +1100105,25,1702,1,29,1,40,1,1,1,1,-9,4,52M2,6970.0,170201 +1100105,25,1702,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,170202 +1100105,25,1703,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,170301 +1100105,25,1703,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,170302 +1100105,25,1704,1,31,1,35,1,2,1,1,-9,4,7112,8562.0,170401 +1100105,25,1704,2,27,2,40,1,1,1,1,-9,4,92113,9380.0,170402 +1100105,25,1705,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,170501 +1100105,25,1705,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,170502 +1100105,25,1706,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,170601 +1100105,25,1706,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,170602 +1100105,25,1707,1,34,1,50,1,1,1,1,-9,2,6241,8370.0,170701 +1100105,25,1707,2,31,2,40,1,1,1,1,-9,4,92M1,9490.0,170702 +1100105,25,1708,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,170801 +1100105,25,1708,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,170802 +1100105,25,1709,1,74,1,-9,-9,6,1,1,-9,4,611M1,7870.0,170901 +1100105,25,1709,2,61,1,60,1,1,6,1,-9,4,813M,9170.0,170902 +1100105,25,1710,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,171001 +1100105,25,1710,2,67,1,50,1,1,1,1,-9,4,5411,7270.0,171002 +1100105,25,1711,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,171101 +1100105,25,1711,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,171102 +1100105,25,1712,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,171201 +1100105,25,1712,2,67,1,50,1,1,1,1,-9,4,5411,7270.0,171202 +1100105,25,1713,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,171301 +1100105,25,1713,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,171302 +1100105,25,1714,1,58,1,50,1,1,6,1,-9,4,5417,7460.0,171401 +1100105,25,1714,2,57,2,40,3,6,6,1,-9,4,611M1,7870.0,171402 +1100105,25,1715,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,171501 +1100105,25,1715,2,61,1,45,1,1,1,1,-9,4,492,6380.0,171502 +1100105,25,1716,1,40,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,171601 +1100105,25,1716,2,49,1,45,1,1,1,1,-9,4,5417,7460.0,171602 +1100105,25,1717,1,60,1,40,5,6,1,1,-9,2,481,6070.0,171701 +1100105,25,1717,2,55,2,40,1,1,1,1,-9,2,928P,9590.0,171702 +1100105,25,1718,1,57,1,50,3,3,1,1,-9,4,8139Z,9190.0,171801 +1100105,25,1718,2,51,1,40,1,1,1,1,-9,4,8131,9160.0,171802 +1100105,25,1719,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,171901 +1100105,25,1719,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,171902 +1100105,25,1720,1,61,1,40,1,1,1,1,-9,4,8139Z,9190.0,172001 +1100105,25,1720,2,60,2,-9,-9,6,1,1,-9,4,4511M,5275.0,172002 +1100105,25,1721,1,42,1,-9,-9,6,1,6,-9,4,0,0.0,172101 +1100105,25,1721,2,52,1,40,1,1,1,1,-9,2,622M,8191.0,172102 +1100105,25,1722,1,59,1,-9,-9,6,1,1,-9,4,92M2,9570.0,172201 +1100105,25,1722,2,56,1,40,1,1,1,3,-9,4,33641M1,3580.0,172202 +1100105,25,1723,1,57,1,45,1,1,1,14,-9,4,7211,8660.0,172301 +1100105,25,1723,2,57,2,-9,-9,6,1,14,-9,4,0,0.0,172302 +1100105,25,1724,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,172401 +1100105,25,1724,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,172402 +1100105,25,1725,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,172501 +1100105,25,1725,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,172502 +1100105,25,1726,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,172601 +1100105,25,1726,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,172602 +1100105,25,1727,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,172701 +1100105,25,1727,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,172702 +1100105,25,1728,1,63,1,4,6,6,1,1,-9,4,928P,9590.0,172801 +1100105,25,1728,2,63,2,-9,-9,6,1,1,-9,4,0,0.0,172802 +1100105,25,1729,1,74,1,60,1,1,8,11,-9,4,23,770.0,172901 +1100105,25,1729,2,70,2,20,3,1,8,11,-9,4,5617Z,7690.0,172902 +1100105,25,1730,1,37,2,45,1,1,1,1,-9,4,813M,9170.0,173001 +1100105,25,1730,2,37,2,40,1,1,9,1,-9,4,923,9480.0,173002 +1100105,25,1731,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,173101 +1100105,25,1731,2,35,2,40,1,1,6,1,16,4,5417,7460.0,173102 +1100105,25,1732,1,37,1,40,1,1,6,1,16,4,81393,9180.0,173201 +1100105,25,1732,2,53,1,40,1,1,1,1,-9,4,52M2,6970.0,173202 +1100105,25,1733,1,41,1,30,1,1,6,1,-9,4,923,9480.0,173301 +1100105,25,1733,2,41,2,35,1,1,1,1,-9,4,5411,7270.0,173302 +1100105,25,1734,1,37,1,40,1,1,6,1,16,4,81393,9180.0,173401 +1100105,25,1734,2,53,1,40,1,1,1,1,-9,4,52M2,6970.0,173402 +1100105,25,1735,1,42,1,55,1,1,1,1,-9,4,5411,7270.0,173501 +1100105,25,1735,2,47,1,55,1,1,1,1,-9,4,7111,8561.0,173502 +1100105,25,1736,1,37,1,40,1,1,1,1,-9,4,928P,9590.0,173601 +1100105,25,1736,2,36,2,40,1,1,1,1,-9,4,611M1,7870.0,173602 +1100105,25,1737,1,52,1,50,1,1,1,1,-9,4,44511,4971.0,173701 +1100105,25,1737,2,45,1,40,1,1,1,1,-9,4,92MP,9470.0,173702 +1100105,25,1738,1,35,1,45,1,1,1,1,-9,4,92M2,9570.0,173801 +1100105,25,1738,2,35,2,45,1,1,1,1,-9,4,813M,9170.0,173802 +1100105,25,1739,1,49,1,38,1,1,1,1,-9,4,5416,7390.0,173901 +1100105,25,1739,2,39,2,40,1,1,1,1,-9,4,5416,7390.0,173902 +1100105,25,1740,1,44,2,45,1,1,1,1,-9,2,928P,9590.0,174001 +1100105,25,1740,2,48,2,30,1,1,1,1,-9,4,8129,9090.0,174002 +1100105,25,1741,1,41,1,40,1,1,1,1,-9,4,51913,6672.0,174101 +1100105,25,1741,2,35,2,40,1,1,1,1,-9,4,92113,9380.0,174102 +1100105,25,1742,1,36,2,60,1,1,1,1,-9,4,611M3,7890.0,174201 +1100105,25,1742,2,36,2,45,1,1,8,17,-9,4,813M,9170.0,174202 +1100105,25,1743,1,35,2,46,1,1,1,23,-9,4,722Z,8680.0,174301 +1100105,25,1743,2,36,1,50,1,1,1,1,-9,4,5417,7460.0,174302 +1100105,25,1744,1,33,2,40,1,1,6,1,-9,4,5417,7460.0,174401 +1100105,25,1744,2,35,1,43,2,1,6,1,-9,4,5413,7290.0,174402 +1100105,25,1745,1,34,2,50,1,1,1,1,-9,4,813M,9170.0,174501 +1100105,25,1745,2,37,1,40,1,1,9,1,-9,4,5417,7460.0,174502 +1100105,25,1746,1,35,1,45,1,1,9,1,-9,4,813M,9170.0,174601 +1100105,25,1746,2,28,2,55,1,1,1,1,-9,4,928P,9590.0,174602 +1100105,25,1747,1,33,2,40,1,1,6,1,15,4,928P,9590.0,174701 +1100105,25,1747,2,40,1,50,1,1,1,1,-9,4,51111,6470.0,174702 +1100105,25,1748,1,30,2,40,1,1,6,1,-9,4,6111,7860.0,174801 +1100105,25,1748,2,41,1,40,1,1,1,1,-9,4,517Z,6690.0,174802 +1100105,25,1749,1,37,2,45,3,1,1,1,-9,4,928P,9590.0,174901 +1100105,25,1749,2,34,1,40,1,1,1,1,-9,4,5417,7460.0,174902 +1100105,25,1750,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,175001 +1100105,25,1750,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,175002 +1100105,25,1751,1,32,2,40,1,1,1,1,-9,4,92M1,9490.0,175101 +1100105,25,1751,2,40,1,40,1,1,1,1,-9,4,8139Z,9190.0,175102 +1100105,25,1752,1,34,1,40,1,1,8,2,-9,4,5413,7290.0,175201 +1100105,25,1752,2,38,1,40,1,1,1,1,-9,4,923,9480.0,175202 +1100105,25,1753,1,44,1,40,1,4,1,3,16,1,928110P3,9690.0,175301 +1100105,25,1753,2,33,1,60,1,1,1,21,-9,4,492,6380.0,175302 +1100105,25,1754,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,175401 +1100105,25,1754,2,27,2,40,1,1,6,1,16,4,6231,8270.0,175402 +1100105,25,1755,1,27,1,40,1,1,1,1,-9,4,5412,7280.0,175501 +1100105,25,1755,2,26,2,40,1,1,9,1,-9,4,928P,9590.0,175502 +1100105,25,1756,1,32,1,41,1,1,1,1,-9,4,5121,6570.0,175601 +1100105,25,1756,2,32,2,42,1,1,6,1,-9,4,515,6670.0,175602 +1100105,25,1757,1,28,2,40,1,1,6,1,-9,4,92M2,9570.0,175701 +1100105,25,1757,2,30,1,40,1,1,1,1,-9,4,92M2,9570.0,175702 +1100105,25,1758,1,31,2,50,1,1,1,1,16,4,5413,7290.0,175801 +1100105,25,1758,2,31,1,60,1,1,1,1,-9,4,5413,7290.0,175802 +1100105,25,1759,1,28,1,40,1,1,1,1,-9,4,531M,7071.0,175901 +1100105,25,1759,2,27,2,40,1,1,1,1,-9,4,722Z,8680.0,175902 +1100105,25,1760,1,26,2,45,1,1,1,1,-9,4,522M,6890.0,176001 +1100105,25,1760,2,30,1,50,1,1,1,1,16,4,5242,6992.0,176002 +1100105,25,1761,1,27,1,50,1,1,1,1,-9,4,7115,8564.0,176101 +1100105,25,1761,2,27,2,45,1,1,1,1,-9,4,5191ZM,6780.0,176102 +1100105,25,1762,1,30,1,45,1,1,1,1,-9,4,9211MP,9370.0,176201 +1100105,25,1762,2,25,1,45,1,1,1,1,-9,4,9211MP,9370.0,176202 +1100105,25,1763,1,27,1,50,1,1,1,1,-9,4,7115,8564.0,176301 +1100105,25,1763,2,27,2,45,1,1,1,1,-9,4,5191ZM,6780.0,176302 +1100105,25,1764,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,176401 +1100105,25,1764,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,176402 +1100105,25,1765,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,176501 +1100105,25,1765,2,27,2,40,1,1,1,1,-9,4,4481,5170.0,176502 +1100105,25,1766,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,176601 +1100105,25,1766,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,176602 +1100105,25,1767,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,176701 +1100105,25,1767,2,27,2,40,1,1,1,1,-9,4,5415,7380.0,176702 +1100105,25,1768,1,28,1,40,1,1,1,1,-9,4,55,7570.0,176801 +1100105,25,1768,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,176802 +1100105,25,1769,1,33,1,60,1,1,1,1,-9,4,5411,7270.0,176901 +1100105,25,1769,2,27,2,50,1,1,1,1,-9,4,5416,7390.0,176902 +1100105,25,1770,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,177001 +1100105,25,1770,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,177002 +1100105,25,1771,1,29,2,45,1,1,1,3,-9,4,515,6670.0,177101 +1100105,25,1771,2,34,1,45,1,1,1,1,-9,2,5413,7290.0,177102 +1100105,25,1772,1,68,1,40,1,1,6,1,-9,4,92M1,9490.0,177201 +1100105,25,1772,2,68,2,-9,-9,6,6,1,-9,4,6111,7860.0,177202 +1100105,25,1773,1,74,1,16,3,6,1,1,-9,4,5417,7460.0,177301 +1100105,25,1773,2,72,2,18,1,1,1,1,-9,4,5112,6490.0,177302 +1100105,25,1774,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,177401 +1100105,25,1774,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,177402 +1100105,25,1775,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,177501 +1100105,25,1775,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,177502 +1100105,25,1776,1,49,2,40,1,1,1,1,-9,4,928P,9590.0,177601 +1100105,25,1776,2,44,1,8,6,6,1,1,-9,4,5419Z,7490.0,177602 +1100105,25,1777,1,54,1,60,1,1,1,1,-9,4,522M,6890.0,177701 +1100105,25,1777,2,54,2,-9,-9,6,1,1,-9,4,0,0.0,177702 +1100105,25,1778,1,54,1,60,1,1,1,1,-9,4,522M,6890.0,177801 +1100105,25,1778,2,54,2,-9,-9,6,1,1,-9,4,0,0.0,177802 +1100105,25,1779,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,177901 +1100105,25,1779,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,177902 +1100105,25,1780,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,178001 +1100105,25,1780,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,178002 +1100105,25,1781,1,46,1,40,1,1,1,2,-9,4,813M,9170.0,178101 +1100105,25,1781,2,45,1,40,4,3,1,1,-9,4,7115,8564.0,178102 +1100105,25,1782,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,178201 +1100105,25,1782,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,178202 +1100105,25,1783,1,33,2,-9,-9,3,1,1,-9,4,4233,4090.0,178301 +1100105,25,1783,2,30,1,70,1,1,1,1,-9,4,52M2,6970.0,178302 +1100105,25,1784,1,32,2,-9,-9,6,1,1,-9,4,3121,1370.0,178401 +1100105,25,1784,2,31,2,60,1,1,1,2,16,4,454110,5593.0,178402 +1100105,25,1785,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,178501 +1100105,25,1785,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,178502 +1100105,25,1786,1,78,2,-9,-9,6,1,16,-9,4,611M1,7870.0,178601 +1100105,25,1786,2,75,1,-9,-9,6,1,1,-9,4,0,0.0,178602 +1100105,25,1787,1,51,1,15,1,1,6,1,-9,4,5413,7290.0,178701 +1100105,25,1787,2,47,2,45,1,1,6,1,-9,4,5415,7380.0,178702 +1100105,25,1788,1,51,1,15,1,1,6,1,-9,4,5413,7290.0,178801 +1100105,25,1788,2,47,2,45,1,1,6,1,-9,4,5415,7380.0,178802 +1100105,25,1789,1,35,1,40,1,1,1,1,-9,4,5416,7390.0,178901 +1100105,25,1789,2,35,2,40,4,1,6,1,-9,4,515,6670.0,178902 +1100105,25,1790,1,41,2,10,1,1,1,1,-9,4,5111Z,6480.0,179001 +1100105,25,1790,2,43,1,40,1,1,1,1,-9,4,52M2,6970.0,179002 +1100105,25,1791,1,43,1,40,1,1,1,1,-9,4,5415,7380.0,179101 +1100105,25,1791,2,36,2,50,1,1,1,1,-9,4,5413,7290.0,179102 +1100105,25,1792,1,35,2,40,1,1,1,2,-9,4,5417,7460.0,179201 +1100105,25,1792,2,37,2,50,1,2,1,1,-9,4,712,8570.0,179202 +1100105,25,1793,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,179301 +1100105,25,1793,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,179302 +1100105,25,1794,1,28,1,50,1,1,1,1,-9,4,9211MP,9370.0,179401 +1100105,25,1794,2,35,2,40,1,1,1,1,-9,4,6111,7860.0,179402 +1100105,25,1795,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,179501 +1100105,25,1795,2,52,1,45,1,1,2,1,-9,4,481,6070.0,179502 +1100105,25,1796,1,33,2,40,1,1,1,3,-9,4,6111,7860.0,179601 +1100105,25,1796,2,36,1,40,1,1,1,1,-9,4,92M2,9570.0,179602 +1100105,25,1797,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,179701 +1100105,25,1797,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,179702 +1100105,25,1798,1,29,2,40,1,1,6,1,-9,4,622M,8191.0,179801 +1100105,25,1798,2,29,1,40,1,1,6,1,-9,4,5121,6570.0,179802 +1100105,25,1799,1,24,1,45,1,1,9,1,-9,4,5419Z,7490.0,179901 +1100105,25,1799,2,24,2,45,1,1,1,1,-9,4,5419Z,7490.0,179902 +1100105,25,1800,1,31,1,60,1,1,6,1,-9,4,813M,9170.0,180001 +1100105,25,1800,2,27,1,50,1,1,1,1,-9,4,8139Z,9190.0,180002 +1100105,25,1801,1,28,2,50,1,1,6,1,-9,4,92MP,9470.0,180101 +1100105,25,1801,2,29,2,40,1,1,1,1,-9,4,5221M,6880.0,180102 +1100105,25,1802,1,26,2,41,1,1,1,1,-9,4,5413,7290.0,180201 +1100105,25,1802,2,26,2,40,1,1,1,1,-9,4,813M,9170.0,180202 +1100105,25,1803,1,24,2,40,1,1,1,1,-9,4,5415,7380.0,180301 +1100105,25,1803,2,25,1,53,1,1,1,1,-9,4,23,770.0,180302 +1100105,25,1804,1,33,1,40,1,1,1,1,-9,4,611M1,7870.0,180401 +1100105,25,1804,2,31,2,40,1,1,1,1,-9,4,813M,9170.0,180402 +1100105,25,1805,1,29,1,45,2,1,1,1,-9,4,5111Z,6480.0,180501 +1100105,25,1805,2,32,1,40,1,1,1,1,-9,4,622M,8191.0,180502 +1100105,25,1806,1,28,1,45,1,1,1,1,-9,4,5417,7460.0,180601 +1100105,25,1806,2,30,2,45,1,1,1,1,-9,4,5417,7460.0,180602 +1100105,25,1807,1,25,1,35,1,1,1,1,-9,4,611M3,7890.0,180701 +1100105,25,1807,2,25,2,35,1,1,1,1,-9,4,611M3,7890.0,180702 +1100105,25,1808,1,27,1,50,1,1,1,1,-9,4,515,6670.0,180801 +1100105,25,1808,2,26,1,40,1,1,1,1,-9,4,5416,7390.0,180802 +1100105,25,1809,1,26,1,40,1,1,1,1,-9,4,5416,7390.0,180901 +1100105,25,1809,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,180902 +1100105,25,1810,1,31,1,70,1,1,1,1,-9,4,5416,7390.0,181001 +1100105,25,1810,2,26,2,40,1,1,1,1,-9,4,6111,7860.0,181002 +1100105,25,1811,1,24,2,55,1,1,1,1,-9,4,722Z,8680.0,181101 +1100105,25,1811,2,33,1,50,1,1,1,1,-9,4,722Z,8680.0,181102 +1100105,25,1812,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,181201 +1100105,25,1812,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,181202 +1100105,25,1813,1,38,1,60,1,1,6,1,-9,4,522M,6890.0,181301 +1100105,25,1813,2,43,2,-9,-9,6,6,1,-9,4,0,0.0,181302 +1100105,25,1814,1,40,1,42,3,1,1,1,-9,2,5415,7380.0,181401 +1100105,25,1814,2,36,2,-9,-9,6,6,1,-9,4,611M1,7870.0,181402 +1100105,25,1815,1,35,1,40,4,3,1,1,-9,4,7115,8564.0,181501 +1100105,25,1815,2,41,1,36,1,1,1,1,-9,4,7115,8564.0,181502 +1100105,25,1816,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,181601 +1100105,25,1816,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,181602 +1100105,25,1817,1,54,1,45,1,1,1,1,-9,4,928P,9590.0,181701 +1100105,25,1817,2,49,1,10,6,6,1,1,-9,4,812112,8980.0,181702 +1100105,25,1818,1,35,1,40,1,1,6,1,-9,4,5415,7380.0,181801 +1100105,25,1818,2,28,2,40,5,3,1,1,-9,4,5613,7580.0,181802 +1100105,25,1819,1,26,2,40,1,1,6,1,-9,4,813M,9170.0,181901 +1100105,25,1819,2,32,2,60,4,3,1,1,-9,4,813M,9170.0,181902 +1100105,25,1820,1,28,1,40,2,1,1,1,-9,4,5419Z,7490.0,182001 +1100105,25,1820,2,26,2,40,4,6,1,1,16,4,6111,7860.0,182002 +1100105,25,1821,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,182101 +1100105,25,1821,2,29,2,35,5,3,1,1,-9,4,813M,9170.0,182102 +1100105,25,1822,1,28,2,50,1,1,1,3,-9,4,611M3,7890.0,182201 +1100105,25,1822,2,27,2,40,6,6,1,1,-9,4,5411,7270.0,182202 +1100105,25,1823,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,182301 +1100105,25,1823,2,77,1,-9,-9,6,1,1,-9,4,0,0.0,182302 +1100105,25,1824,1,24,2,50,4,6,1,1,16,4,5411,7270.0,182401 +1100105,25,1824,2,25,2,40,4,6,1,1,16,4,813M,9170.0,182402 +1100105,25,1825,1,36,2,40,3,1,6,1,16,4,611M1,7870.0,182501 +1100105,25,1825,2,49,1,50,1,1,1,1,-9,4,611M1,7870.0,182502 +1100105,25,1826,1,41,1,32,1,1,1,1,-9,4,531M,7071.0,182601 +1100105,25,1826,2,43,2,32,1,1,1,1,15,4,531M,7071.0,182602 +1100105,25,1827,1,37,1,40,1,1,1,11,-9,4,7211,8660.0,182701 +1100105,25,1827,2,35,1,40,1,1,8,11,-9,4,811192,8780.0,182702 +1100105,25,1828,1,37,1,40,1,1,1,11,-9,4,7211,8660.0,182801 +1100105,25,1828,2,35,1,40,1,1,8,11,-9,4,811192,8780.0,182802 +1100105,25,1829,1,31,2,70,1,4,1,1,-9,1,928110P3,9690.0,182901 +1100105,25,1829,2,39,2,70,1,4,3,1,-9,1,928110P2,9680.0,182902 +1100105,25,1830,1,28,1,60,1,1,6,1,-9,4,5417,7460.0,183001 +1100105,25,1830,2,23,1,12,5,1,6,1,16,4,722Z,8680.0,183002 +1100105,25,1831,1,26,2,40,4,1,1,1,-9,4,92M2,9570.0,183101 +1100105,25,1831,2,31,1,40,5,1,9,1,-9,4,813M,9170.0,183102 +1100105,25,1832,1,26,2,40,1,1,1,1,-9,4,92119,9390.0,183201 +1100105,25,1832,2,32,2,50,1,1,6,1,-9,4,928P,9590.0,183202 +1100105,25,1833,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,183301 +1100105,25,1833,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,183302 +1100105,25,1834,1,23,2,40,4,1,1,1,-9,4,8139Z,9190.0,183401 +1100105,25,1834,2,24,2,60,1,1,1,1,-9,4,9211MP,9370.0,183402 +1100105,25,1835,1,26,1,24,6,1,1,1,16,4,92MP,9470.0,183501 +1100105,25,1835,2,30,2,40,1,1,1,1,-9,4,611M1,7870.0,183502 +1100105,25,1836,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,183601 +1100105,25,1836,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,183602 +1100105,25,1837,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,183701 +1100105,25,1837,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,183702 +1100105,25,1838,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,183801 +1100105,25,1838,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,183802 +1100105,25,1839,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,183901 +1100105,25,1839,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,183902 +1100105,25,1840,1,35,2,40,1,2,6,1,16,4,5411,7270.0,184001 +1100105,25,1840,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,184002 +1100105,25,1841,1,35,2,40,1,2,6,1,16,4,5411,7270.0,184101 +1100105,25,1841,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,184102 +1100105,25,1842,1,38,1,40,1,1,1,1,-9,4,5417,7460.0,184201 +1100105,25,1842,2,42,2,-9,-9,6,6,1,-9,4,0,0.0,184202 +1100105,25,1843,1,64,1,-9,-9,6,1,1,-9,4,0,0.0,184301 +1100105,25,1843,2,55,1,40,1,1,1,1,-9,4,5411,7270.0,184302 +1100105,25,1844,1,60,2,35,1,1,1,1,-9,4,928P,9590.0,184401 +1100105,25,1844,2,60,2,35,3,3,1,1,-9,4,928P,9590.0,184402 +1100105,25,1845,1,35,2,50,1,1,1,1,16,4,5417,7460.0,184501 +1100105,25,1845,2,26,2,-9,-9,6,1,1,16,4,0,0.0,184502 +1100105,25,1846,1,49,1,20,6,3,1,1,-9,4,51111,6470.0,184601 +1100105,25,1846,2,32,1,50,1,1,1,1,-9,4,81393,9180.0,184602 +1100105,25,1847,1,32,2,40,1,1,1,23,16,4,712,8570.0,184701 +1100105,25,1847,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,184702 +1100105,25,1848,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,184801 +1100105,25,1848,2,30,1,-9,-9,6,6,1,16,4,0,0.0,184802 +1100105,25,1849,1,28,1,40,6,3,1,1,-9,4,337,3895.0,184901 +1100105,25,1849,2,26,2,50,1,1,6,1,16,4,5411,7270.0,184902 +1100105,25,1850,1,24,1,40,5,6,1,1,16,4,5416,7390.0,185001 +1100105,25,1850,2,26,2,40,1,1,1,1,-9,4,712,8570.0,185002 +1100105,25,1851,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,185101 +1100105,25,1851,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,185102 +1100105,25,1852,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,185201 +1100105,25,1852,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,185202 +1100105,25,1853,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,185301 +1100105,25,1853,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,185302 +1100105,25,1854,1,64,1,-9,-9,6,1,1,-9,4,5419Z,7490.0,185401 +1100105,25,1854,2,65,2,-9,-9,6,1,1,-9,4,6244,8470.0,185402 +1100105,25,1855,1,63,1,-9,-9,6,6,1,-9,4,0,0.0,185501 +1100105,25,1855,2,63,2,-9,-9,6,6,1,-9,4,0,0.0,185502 +1100105,25,1856,1,44,1,40,1,1,6,1,-9,4,7211,8660.0,185601 +1100105,25,1856,2,41,2,40,4,1,6,1,-9,4,6111,7860.0,185602 +1100105,25,1857,1,30,1,16,3,1,1,1,16,4,6214,8090.0,185701 +1100105,25,1857,2,28,2,37,1,1,1,1,-9,4,5111Z,6480.0,185702 +1100105,25,1858,1,25,1,50,1,1,1,16,16,4,5417,7460.0,185801 +1100105,25,1858,2,23,2,40,1,1,1,24,16,4,814,9290.0,185802 +1100105,25,1859,1,60,2,40,1,1,8,19,-9,4,7211,8660.0,185901 +1100105,25,1859,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,185902 +1100105,25,1860,1,61,2,40,1,1,6,1,-9,4,7211,8660.0,186001 +1100105,25,1860,2,59,1,-9,-9,3,6,1,-9,4,999920,9920.0,186002 +1100105,25,1861,1,52,2,25,1,1,1,1,-9,4,562,7790.0,186101 +1100105,25,1861,2,51,1,35,4,6,1,1,-9,4,562,7790.0,186102 +1100105,25,1862,1,28,1,45,6,6,1,1,16,4,5411,7270.0,186201 +1100105,25,1862,2,28,2,20,5,1,6,1,16,4,8139Z,9190.0,186202 +1100105,25,1863,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,186301 +1100105,25,1863,2,29,1,45,1,1,1,1,16,4,6111,7860.0,186302 +1100105,25,1864,1,40,2,24,4,1,6,1,16,4,6111,7860.0,186401 +1100105,25,1864,2,6,1,-9,-9,-9,6,1,3,-9,0,0.0,186402 +1100105,25,1865,1,81,1,-9,-9,6,1,1,-9,4,7115,8564.0,186501 +1100105,25,1865,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,186502 +1100105,25,1866,1,81,1,-9,-9,6,1,1,-9,4,7115,8564.0,186601 +1100105,25,1866,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,186602 +1100105,25,1867,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,186701 +1100105,25,1867,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,186702 +1100105,25,1868,1,63,1,20,1,1,6,1,-9,4,722Z,8680.0,186801 +1100105,25,1868,2,64,2,-9,-9,6,6,1,-9,4,0,0.0,186802 +1100105,25,1869,1,55,2,-9,-9,6,1,11,-9,4,0,0.0,186901 +1100105,25,1869,2,48,1,35,1,1,1,11,-9,4,7211,8660.0,186902 +1100105,25,1870,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,187001 +1100105,25,1870,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,187002 +1100105,25,1871,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,187101 +1100105,25,1871,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,187102 +1100105,25,1872,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,187201 +1100105,25,1872,2,24,2,-9,-9,6,6,1,16,4,0,0.0,187202 +1100105,25,1873,1,25,2,-9,-9,6,1,1,16,4,611M1,7870.0,187301 +1100105,25,1873,2,27,2,20,1,2,1,1,16,4,611M1,7870.0,187302 +1100105,25,1874,1,48,1,20,1,1,6,1,-9,4,722Z,8680.0,187401 +1100105,25,1874,2,14,1,-9,-9,-9,6,1,10,-9,0,0.0,187402 +1100105,25,1875,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,187501 +1100105,25,1875,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,187502 +1100105,25,1876,1,50,2,-9,-9,6,6,1,-9,4,4MS,5790.0,187601 +1100105,25,1876,2,22,2,-9,-9,6,6,1,15,4,0,0.0,187602 +1100105,25,1877,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,187701 +1100105,25,1877,2,20,1,30,5,6,1,1,15,4,44413,4880.0,187702 +1100105,25,1878,1,24,1,50,6,6,1,1,16,4,92M2,9570.0,187801 +1100105,25,1878,2,23,1,50,6,6,1,1,16,4,92MP,9470.0,187802 +1100105,25,1879,1,74,1,50,1,1,1,1,-9,4,5416,7390.0,187901 +1100105,25,1880,1,68,2,80,1,1,1,1,-9,4,8139Z,9190.0,188001 +1100105,25,1881,1,35,2,80,1,1,9,1,-9,4,5418,7470.0,188101 +1100105,25,1882,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,188201 +1100105,25,1883,1,35,1,99,2,1,6,1,-9,4,5416,7390.0,188301 +1100105,25,1884,1,35,1,99,2,1,6,1,-9,4,5416,7390.0,188401 +1100105,25,1885,1,35,1,99,2,1,6,1,-9,4,5416,7390.0,188501 +1100105,25,1886,1,36,1,40,1,1,2,1,16,2,928P,9590.0,188601 +1100105,25,1887,1,38,2,55,1,1,1,1,-9,4,5411,7270.0,188701 +1100105,25,1888,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,188801 +1100105,25,1889,1,63,2,50,1,1,1,1,-9,4,611M1,7870.0,188901 +1100105,25,1890,1,43,2,60,1,1,1,1,-9,4,622M,8191.0,189001 +1100105,25,1891,1,42,1,40,1,1,1,1,-9,4,531M,7071.0,189101 +1100105,25,1892,1,63,2,65,1,1,1,1,-9,2,622M,8191.0,189201 +1100105,25,1893,1,46,1,70,1,1,1,1,-9,4,515,6670.0,189301 +1100105,25,1894,1,50,1,55,1,1,1,1,-9,4,8139Z,9190.0,189401 +1100105,25,1895,1,61,2,40,1,1,1,1,-9,4,5416,7390.0,189501 +1100105,25,1896,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,189601 +1100105,25,1897,1,61,2,40,1,1,1,1,-9,4,5416,7390.0,189701 +1100105,25,1898,1,44,2,45,1,1,1,1,-9,4,7112,8562.0,189801 +1100105,25,1899,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,189901 +1100105,25,1900,1,38,2,55,1,1,1,1,-9,4,5411,7270.0,190001 +1100105,25,1901,1,49,2,80,1,1,1,1,-9,4,488,6290.0,190101 +1100105,25,1902,1,50,1,50,1,1,1,1,-9,4,52M2,6970.0,190201 +1100105,25,1903,1,42,1,40,1,1,1,1,-9,4,52M1,6870.0,190301 +1100105,25,1904,1,38,2,45,1,1,1,1,-9,4,52M2,6970.0,190401 +1100105,25,1905,1,46,1,55,1,1,1,1,-9,4,8139Z,9190.0,190501 +1100105,25,1906,1,35,2,55,1,1,1,1,-9,4,52M2,6970.0,190601 +1100105,25,1907,1,63,2,65,1,1,1,1,-9,2,622M,8191.0,190701 +1100105,25,1908,1,56,1,55,1,1,1,1,-9,4,5416,7390.0,190801 +1100105,25,1909,1,61,2,80,1,1,1,1,-9,4,9211MP,9370.0,190901 +1100105,25,1910,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,191001 +1100105,25,1911,1,50,1,55,1,1,1,1,-9,4,8139Z,9190.0,191101 +1100105,25,1912,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,191201 +1100105,25,1913,1,46,1,55,1,1,1,1,-9,4,8139Z,9190.0,191301 +1100105,25,1914,1,56,2,50,1,1,1,1,-9,4,92M1,9490.0,191401 +1100105,25,1915,1,38,1,50,1,1,1,1,-9,4,5411,7270.0,191501 +1100105,25,1916,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,191601 +1100105,25,1917,1,57,1,60,1,1,1,1,-9,4,5416,7390.0,191701 +1100105,25,1918,1,42,1,40,1,1,1,1,-9,4,52M1,6870.0,191801 +1100105,25,1919,1,39,1,80,1,1,1,1,-9,4,5191ZM,6780.0,191901 +1100105,25,1920,1,42,1,40,1,1,1,1,-9,4,52M1,6870.0,192001 +1100105,25,1921,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,192101 +1100105,25,1922,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,192201 +1100105,25,1923,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,192301 +1100105,25,1924,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,192401 +1100105,25,1925,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,192501 +1100105,25,1926,1,33,1,50,1,1,6,1,-9,4,33641M1,3580.0,192601 +1100105,25,1927,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,192701 +1100105,25,1928,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,192801 +1100105,25,1929,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,192901 +1100105,25,1930,1,29,1,55,1,1,1,1,-9,4,5411,7270.0,193001 +1100105,25,1931,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,193101 +1100105,25,1932,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,193201 +1100105,25,1933,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,193301 +1100105,25,1934,1,81,1,-9,-9,6,1,1,-9,4,0,0.0,193401 +1100105,25,1935,1,38,2,-9,-9,3,1,1,-9,4,928P,9590.0,193501 +1100105,25,1936,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,193601 +1100105,25,1937,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,193701 +1100105,25,1938,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,193801 +1100105,25,1939,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,193901 +1100105,25,1940,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,194001 +1100105,25,1941,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,194101 +1100105,25,1942,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,194201 +1100105,25,1943,1,52,2,60,1,1,2,1,-9,4,92M2,9570.0,194301 +1100105,25,1944,1,55,2,40,1,1,2,1,-9,4,92MP,9470.0,194401 +1100105,25,1945,1,58,2,40,1,1,1,1,-9,4,9211MP,9370.0,194501 +1100105,25,1946,1,51,1,40,1,1,1,1,-9,4,522M,6890.0,194601 +1100105,25,1947,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,194701 +1100105,25,1948,1,52,2,60,1,1,1,1,-9,4,9211MP,9370.0,194801 +1100105,25,1949,1,56,1,50,1,1,1,1,-9,4,517311,6680.0,194901 +1100105,25,1950,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,195001 +1100105,25,1951,1,41,1,55,1,1,1,1,-9,4,928P,9590.0,195101 +1100105,25,1952,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,195201 +1100105,25,1953,1,48,2,40,1,1,1,1,-9,4,515,6670.0,195301 +1100105,25,1954,1,39,1,43,1,1,1,1,-9,4,481,6070.0,195401 +1100105,25,1955,1,49,2,55,1,1,1,1,-9,4,5415,7380.0,195501 +1100105,25,1956,1,59,1,40,1,1,1,1,-9,4,92M2,9570.0,195601 +1100105,25,1957,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,195701 +1100105,25,1958,1,43,1,60,1,4,1,1,-9,1,928110P4,9770.0,195801 +1100105,25,1959,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,195901 +1100105,25,1960,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,196001 +1100105,25,1961,1,44,1,40,1,1,1,1,-9,4,52M2,6970.0,196101 +1100105,25,1962,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,196201 +1100105,25,1963,1,49,1,40,1,1,1,1,-9,4,923,9480.0,196301 +1100105,25,1964,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,196401 +1100105,25,1965,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,196501 +1100105,25,1966,1,45,2,35,3,1,1,1,-9,4,813M,9170.0,196601 +1100105,25,1967,1,50,2,50,1,1,1,1,-9,4,5411,7270.0,196701 +1100105,25,1968,1,46,1,50,1,1,1,1,-9,4,928P,9590.0,196801 +1100105,25,1969,1,35,2,50,1,1,1,1,-9,4,5411,7270.0,196901 +1100105,25,1970,1,41,1,40,1,1,1,23,-9,4,3254,2190.0,197001 +1100105,25,1971,1,35,2,55,1,1,1,13,-9,4,5411,7270.0,197101 +1100105,25,1972,1,39,1,45,1,1,1,3,-9,4,5415,7380.0,197201 +1100105,25,1973,1,29,1,40,1,1,6,1,-9,4,2211P,570.0,197301 +1100105,25,1974,1,28,1,70,1,1,2,1,-9,4,5416,7390.0,197401 +1100105,25,1975,1,30,1,50,1,1,1,1,-9,4,561M,7780.0,197501 +1100105,25,1976,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,197601 +1100105,25,1977,1,27,1,55,1,1,1,1,-9,4,522M,6890.0,197701 +1100105,25,1978,1,27,1,35,1,1,1,1,-9,4,454110,5593.0,197801 +1100105,25,1979,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,197901 +1100105,25,1980,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,198001 +1100105,25,1981,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,198101 +1100105,25,1982,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,198201 +1100105,25,1983,1,33,1,40,1,1,1,1,-9,4,5412,7280.0,198301 +1100105,25,1984,1,33,1,60,1,1,1,1,-9,4,515,6670.0,198401 +1100105,25,1985,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,198501 +1100105,25,1986,1,51,1,60,3,3,1,1,-9,4,3254,2190.0,198601 +1100105,25,1987,1,70,1,40,1,1,2,1,-9,4,5413,7290.0,198701 +1100105,25,1988,1,65,2,40,1,1,1,1,-9,2,92MP,9470.0,198801 +1100105,25,1989,1,83,1,18,5,1,1,1,-9,2,5411,7270.0,198901 +1100105,25,1990,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,199001 +1100105,25,1991,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,199101 +1100105,25,1992,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,199201 +1100105,25,1993,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,199301 +1100105,25,1994,1,42,1,50,1,1,9,1,-9,4,813M,9170.0,199401 +1100105,25,1995,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,199501 +1100105,25,1996,1,58,2,40,1,1,6,1,-9,4,531M,7071.0,199601 +1100105,25,1997,1,37,2,40,1,1,6,1,-9,4,5411,7270.0,199701 +1100105,25,1998,1,42,1,40,1,1,6,1,-9,4,8139Z,9190.0,199801 +1100105,25,1999,1,35,2,60,1,1,6,1,-9,4,488,6290.0,199901 +1100105,25,2000,1,42,1,40,1,1,6,1,-9,4,8139Z,9190.0,200001 +1100105,25,2001,1,37,2,40,1,1,6,1,-9,4,5411,7270.0,200101 +1100105,25,2002,1,46,2,55,1,1,6,1,-9,4,5613,7580.0,200201 +1100105,25,2003,1,39,2,40,1,1,6,1,-9,4,42S,4590.0,200301 +1100105,25,2004,1,59,2,40,1,1,6,1,-9,4,928P,9590.0,200401 +1100105,25,2005,1,37,2,40,1,1,6,1,-9,4,5411,7270.0,200501 +1100105,25,2006,1,46,2,40,1,1,2,1,-9,4,928P,9590.0,200601 +1100105,25,2007,1,54,2,40,1,1,2,1,-9,4,517311,6680.0,200701 +1100105,25,2008,1,51,1,40,1,1,1,1,-9,2,5417,7460.0,200801 +1100105,25,2009,1,36,1,50,1,1,1,1,16,2,928P,9590.0,200901 +1100105,25,2010,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,201001 +1100105,25,2011,1,62,2,40,1,1,1,1,-9,4,5416,7390.0,201101 +1100105,25,2012,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,201201 +1100105,25,2013,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,201301 +1100105,25,2014,1,48,2,43,1,1,1,1,-9,4,92M2,9570.0,201401 +1100105,25,2015,1,37,2,50,1,4,1,1,16,1,928110P1,9670.0,201501 +1100105,25,2016,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,201601 +1100105,25,2017,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,201701 +1100105,25,2018,1,42,2,52,1,1,1,1,-9,4,5417,7460.0,201801 +1100105,25,2019,1,38,2,50,1,1,1,1,-9,4,522M,6890.0,201901 +1100105,25,2020,1,60,1,40,1,1,1,1,-9,4,814,9290.0,202001 +1100105,25,2021,1,57,1,40,1,1,1,1,-9,4,23,770.0,202101 +1100105,25,2022,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,202201 +1100105,25,2023,1,41,1,40,1,1,1,1,-9,2,3254,2190.0,202301 +1100105,25,2024,1,58,2,50,1,1,1,1,-9,4,23,770.0,202401 +1100105,25,2025,1,37,1,50,1,1,1,1,-9,4,5417,7460.0,202501 +1100105,25,2026,1,54,2,40,1,1,1,1,-9,4,515,6670.0,202601 +1100105,25,2027,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,202701 +1100105,25,2028,1,38,2,50,1,1,1,1,-9,4,561M,7780.0,202801 +1100105,25,2029,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,202901 +1100105,25,2030,1,49,2,48,1,1,1,1,-9,4,928P,9590.0,203001 +1100105,25,2031,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,203101 +1100105,25,2032,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,203201 +1100105,25,2033,1,38,2,45,1,1,1,1,-9,4,928P,9590.0,203301 +1100105,25,2034,1,36,1,50,2,1,1,1,-9,4,92MP,9470.0,203401 +1100105,25,2035,1,48,2,40,1,1,1,1,15,4,334M2,3390.0,203501 +1100105,25,2036,1,37,2,40,1,1,1,1,-9,4,923,9480.0,203601 +1100105,25,2037,1,57,1,40,1,1,1,1,-9,4,712,8570.0,203701 +1100105,25,2038,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,203801 +1100105,25,2039,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,203901 +1100105,25,2040,1,39,1,40,1,1,1,1,-9,4,928P,9590.0,204001 +1100105,25,2041,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,204101 +1100105,25,2042,1,35,1,40,1,1,1,1,-9,4,5417,7460.0,204201 +1100105,25,2043,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,204301 +1100105,25,2044,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,204401 +1100105,25,2045,1,37,1,40,1,1,1,1,-9,4,923,9480.0,204501 +1100105,25,2046,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,204601 +1100105,25,2047,1,47,2,40,1,1,1,1,16,4,928P,9590.0,204701 +1100105,25,2048,1,51,1,40,1,1,1,1,-9,4,23,770.0,204801 +1100105,25,2049,1,55,1,45,1,1,1,1,-9,4,8139Z,9190.0,204901 +1100105,25,2050,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,205001 +1100105,25,2051,1,38,1,50,1,1,1,1,-9,4,443142,4795.0,205101 +1100105,25,2052,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,205201 +1100105,25,2053,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,205301 +1100105,25,2054,1,37,1,40,1,1,1,1,-9,4,923,9480.0,205401 +1100105,25,2055,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,205501 +1100105,25,2056,1,53,1,40,1,1,1,1,-9,4,4232,4080.0,205601 +1100105,25,2057,1,47,1,50,1,1,1,1,-9,4,5415,7380.0,205701 +1100105,25,2058,1,37,1,50,1,1,1,1,-9,4,813M,9170.0,205801 +1100105,25,2059,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,205901 +1100105,25,2060,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,206001 +1100105,25,2061,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,206101 +1100105,25,2062,1,60,1,40,1,1,1,1,-9,4,814,9290.0,206201 +1100105,25,2063,1,63,2,80,1,1,1,1,-9,4,5418,7470.0,206301 +1100105,25,2064,1,41,1,32,1,1,1,1,-9,4,62132,8070.0,206401 +1100105,25,2065,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,206501 +1100105,25,2066,1,36,1,80,1,1,1,1,-9,4,6111,7860.0,206601 +1100105,25,2067,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,206701 +1100105,25,2068,1,60,1,50,1,1,1,1,-9,4,5417,7460.0,206801 +1100105,25,2069,1,62,1,45,1,1,1,24,-9,2,611M3,7890.0,206901 +1100105,25,2070,1,36,2,90,1,1,1,2,-9,4,813M,9170.0,207001 +1100105,25,2071,1,47,1,40,1,1,1,9,-9,4,92M2,9570.0,207101 +1100105,25,2072,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,207201 +1100105,25,2073,1,57,2,70,1,1,1,16,-9,4,813M,9170.0,207301 +1100105,25,2074,1,39,2,50,3,1,8,2,-9,4,6241,8370.0,207401 +1100105,25,2075,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,207501 +1100105,25,2076,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,207601 +1100105,25,2077,1,38,2,40,1,1,8,19,-9,4,813M,9170.0,207701 +1100105,25,2078,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,207801 +1100105,25,2079,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,207901 +1100105,25,2080,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,208001 +1100105,25,2081,1,28,1,55,1,1,6,1,-9,4,5416,7390.0,208101 +1100105,25,2082,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,208201 +1100105,25,2083,1,32,1,50,1,1,1,1,-9,4,4231,4070.0,208301 +1100105,25,2084,1,31,2,40,1,1,1,1,16,4,813M,9170.0,208401 +1100105,25,2085,1,25,2,40,1,1,1,1,16,4,3391,3960.0,208501 +1100105,25,2086,1,27,1,60,1,1,1,1,-9,4,5419Z,7490.0,208601 +1100105,25,2087,1,31,2,40,1,1,1,1,16,4,813M,9170.0,208701 +1100105,25,2088,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,208801 +1100105,25,2089,1,31,2,40,1,1,1,1,-9,4,923,9480.0,208901 +1100105,25,2090,1,29,2,50,1,1,1,1,-9,4,928P,9590.0,209001 +1100105,25,2091,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,209101 +1100105,25,2092,1,33,2,50,1,1,1,1,-9,4,928P,9590.0,209201 +1100105,25,2093,1,31,2,40,1,1,1,1,16,4,813M,9170.0,209301 +1100105,25,2094,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,209401 +1100105,25,2095,1,33,2,50,1,1,1,1,-9,4,621M,8180.0,209501 +1100105,25,2096,1,32,2,60,1,1,1,1,-9,4,5418,7470.0,209601 +1100105,25,2097,1,25,1,60,1,1,1,1,-9,4,7211,8660.0,209701 +1100105,25,2098,1,29,1,40,1,1,1,1,-9,4,813M,9170.0,209801 +1100105,25,2099,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,209901 +1100105,25,2100,1,32,1,50,1,1,1,1,-9,4,4231,4070.0,210001 +1100105,25,2101,1,31,2,40,1,1,1,1,16,4,813M,9170.0,210101 +1100105,25,2102,1,32,2,50,1,1,1,1,-9,4,5416,7390.0,210201 +1100105,25,2103,1,29,2,45,1,1,8,14,-9,4,52M2,6970.0,210301 +1100105,25,2104,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,210401 +1100105,25,2105,1,32,2,40,1,1,9,11,-9,4,813M,9170.0,210501 +1100105,25,2106,1,77,2,-9,-9,6,1,1,-9,4,5412,7280.0,210601 +1100105,25,2107,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,210701 +1100105,25,2108,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,210801 +1100105,25,2109,1,57,1,-9,-9,6,1,1,-9,4,813M,9170.0,210901 +1100105,25,2110,1,65,1,40,1,1,2,1,-9,2,92119,9390.0,211001 +1100105,25,2111,1,70,2,40,1,1,1,1,-9,4,5411,7270.0,211101 +1100105,25,2112,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,211201 +1100105,25,2113,1,72,1,40,1,2,1,1,-9,4,8129,9090.0,211301 +1100105,25,2114,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,211401 +1100105,25,2115,1,53,2,40,1,1,6,1,-9,4,5414,7370.0,211501 +1100105,25,2116,1,53,1,40,1,1,6,1,-9,4,712,8570.0,211601 +1100105,25,2117,1,41,1,40,1,1,6,1,-9,4,6111,7860.0,211701 +1100105,25,2118,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,211801 +1100105,25,2119,1,42,2,30,4,1,6,1,-9,4,813M,9170.0,211901 +1100105,25,2120,1,53,1,40,1,1,6,1,-9,4,712,8570.0,212001 +1100105,25,2121,1,45,2,60,1,1,6,1,-9,4,5414,7370.0,212101 +1100105,25,2122,1,49,2,45,3,1,6,1,16,4,6111,7860.0,212201 +1100105,25,2123,1,63,1,20,4,1,2,1,-9,4,23,770.0,212301 +1100105,25,2124,1,51,2,45,1,1,2,1,-9,4,622M,8191.0,212401 +1100105,25,2125,1,64,1,38,1,1,2,1,-9,4,5418,7470.0,212501 +1100105,25,2126,1,56,1,40,1,1,1,1,-9,4,8139Z,9190.0,212601 +1100105,25,2127,1,45,1,45,1,1,1,1,-9,4,928P,9590.0,212701 +1100105,25,2128,1,60,1,40,1,1,1,1,-9,4,5417,7460.0,212801 +1100105,25,2129,1,38,2,70,1,1,1,1,-9,4,7211,8660.0,212901 +1100105,25,2130,1,56,1,40,1,1,1,1,-9,4,482,6080.0,213001 +1100105,25,2131,1,45,1,45,1,1,1,1,-9,4,928P,9590.0,213101 +1100105,25,2132,1,35,1,60,1,1,1,1,-9,4,5121,6570.0,213201 +1100105,25,2133,1,35,1,50,2,1,1,1,-9,4,928P,9590.0,213301 +1100105,25,2134,1,37,2,45,1,1,1,1,-9,4,813M,9170.0,213401 +1100105,25,2135,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,213501 +1100105,25,2136,1,42,2,40,1,1,1,1,-9,4,6241,8370.0,213601 +1100105,25,2137,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,213701 +1100105,25,2138,1,38,1,50,1,1,1,1,-9,4,5413,7290.0,213801 +1100105,25,2139,1,37,2,40,3,1,1,1,-9,4,923,9480.0,213901 +1100105,25,2140,1,38,2,40,1,1,1,1,-9,4,515,6670.0,214001 +1100105,25,2141,1,53,1,50,1,1,1,1,-9,4,482,6080.0,214101 +1100105,25,2142,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,214201 +1100105,25,2143,1,56,2,55,1,1,1,1,16,4,6111,7860.0,214301 +1100105,25,2144,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,214401 +1100105,25,2145,1,52,2,40,4,1,1,1,-9,2,813M,9170.0,214501 +1100105,25,2146,1,38,2,70,1,1,1,1,-9,4,7211,8660.0,214601 +1100105,25,2147,1,47,2,50,1,1,1,1,-9,4,611M1,7870.0,214701 +1100105,25,2148,1,57,2,55,1,1,1,1,-9,3,6111,7860.0,214801 +1100105,25,2149,1,43,1,40,1,1,1,1,-9,4,522M,6890.0,214901 +1100105,25,2150,1,40,2,40,1,1,1,1,-9,4,9211MP,9370.0,215001 +1100105,25,2151,1,38,2,70,1,1,1,1,-9,4,7211,8660.0,215101 +1100105,25,2152,1,59,2,40,1,1,1,1,-9,4,713Z,8590.0,215201 +1100105,25,2153,1,39,1,60,3,1,5,2,-9,4,7224,8690.0,215301 +1100105,25,2154,1,45,1,40,1,1,1,23,-9,4,52M1,6870.0,215401 +1100105,25,2155,1,59,2,45,1,1,1,8,-9,4,813M,9170.0,215501 +1100105,25,2156,1,48,1,40,1,1,1,6,-9,4,531M,7071.0,215601 +1100105,25,2157,1,38,1,45,1,1,1,13,-9,4,8139Z,9190.0,215701 +1100105,25,2158,1,58,1,40,1,1,1,2,-9,4,92113,9380.0,215801 +1100105,25,2159,1,29,2,45,1,1,9,1,-9,4,5413,7290.0,215901 +1100105,25,2160,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,216001 +1100105,25,2161,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,216101 +1100105,25,2162,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,216201 +1100105,25,2163,1,31,2,28,1,1,6,1,-9,4,5419Z,7490.0,216301 +1100105,25,2164,1,25,2,50,4,1,6,1,-9,4,5411,7270.0,216401 +1100105,25,2165,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,216501 +1100105,25,2166,1,30,1,45,5,1,6,1,-9,4,5416,7390.0,216601 +1100105,25,2167,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,216701 +1100105,25,2168,1,32,2,40,1,1,6,1,-9,4,5412,7280.0,216801 +1100105,25,2169,1,26,2,48,1,1,6,1,-9,4,5413,7290.0,216901 +1100105,25,2170,1,34,2,40,1,1,2,1,-9,4,92MP,9470.0,217001 +1100105,25,2171,1,32,1,50,1,1,1,1,-9,4,424M,4380.0,217101 +1100105,25,2172,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,217201 +1100105,25,2173,1,33,1,40,1,1,1,1,-9,4,55,7570.0,217301 +1100105,25,2174,1,30,1,70,1,1,1,1,-9,4,6211,7970.0,217401 +1100105,25,2175,1,22,2,70,1,1,1,1,-9,4,6111,7860.0,217501 +1100105,25,2176,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,217601 +1100105,25,2177,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,217701 +1100105,25,2178,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,217801 +1100105,25,2179,1,30,2,45,1,1,1,1,-9,4,814,9290.0,217901 +1100105,25,2180,1,28,2,54,1,1,1,1,-9,4,5416,7390.0,218001 +1100105,25,2181,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,218101 +1100105,25,2182,1,27,2,40,1,1,1,1,-9,4,3391,3960.0,218201 +1100105,25,2183,1,27,2,45,1,1,1,1,-9,4,611M1,7870.0,218301 +1100105,25,2184,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,218401 +1100105,25,2185,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,218501 +1100105,25,2186,1,29,2,55,1,1,1,1,-9,4,712,8570.0,218601 +1100105,25,2187,1,31,1,45,1,1,1,1,-9,4,923,9480.0,218701 +1100105,25,2188,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,218801 +1100105,25,2189,1,32,2,32,1,1,1,1,-9,4,814,9290.0,218901 +1100105,25,2190,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,219001 +1100105,25,2191,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,219101 +1100105,25,2192,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,219201 +1100105,25,2193,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,219301 +1100105,25,2194,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,219401 +1100105,25,2195,1,30,1,45,1,1,1,1,16,4,522M,6890.0,219501 +1100105,25,2196,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,219601 +1100105,25,2197,1,32,1,50,1,1,1,1,-9,4,92M2,9570.0,219701 +1100105,25,2198,1,27,2,20,1,1,1,1,-9,4,5415,7380.0,219801 +1100105,25,2199,1,24,2,48,1,1,1,1,-9,4,5418,7470.0,219901 +1100105,25,2200,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,220001 +1100105,25,2201,1,29,1,45,1,4,1,1,-9,1,928110P3,9690.0,220101 +1100105,25,2202,1,31,2,60,1,1,1,1,-9,4,6111,7860.0,220201 +1100105,25,2203,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,220301 +1100105,25,2204,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,220401 +1100105,25,2205,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,220501 +1100105,25,2206,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,220601 +1100105,25,2207,1,26,2,4,1,1,1,1,-9,4,5418,7470.0,220701 +1100105,25,2208,1,26,2,45,1,1,1,3,-9,4,23,770.0,220801 +1100105,25,2209,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,220901 +1100105,25,2210,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,221001 +1100105,25,2211,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,221101 +1100105,25,2212,1,31,2,55,1,1,1,4,-9,4,5411,7270.0,221201 +1100105,25,2213,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,221301 +1100105,25,2214,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,221401 +1100105,25,2215,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,221501 +1100105,25,2216,1,27,2,40,1,1,1,2,-9,4,923,9480.0,221601 +1100105,25,2217,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,221701 +1100105,25,2218,1,89,1,-9,-9,6,6,1,-9,2,0,0.0,221801 +1100105,25,2219,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,221901 +1100105,25,2220,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,222001 +1100105,25,2221,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,222101 +1100105,25,2222,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,222201 +1100105,25,2223,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,222301 +1100105,25,2224,1,71,1,-9,-9,6,1,1,-9,2,0,0.0,222401 +1100105,25,2225,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,222501 +1100105,25,2226,1,65,1,-9,-9,6,1,1,-9,4,923,9480.0,222601 +1100105,25,2227,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,222701 +1100105,25,2228,1,77,1,65,5,6,1,1,-9,4,621M,8180.0,222801 +1100105,25,2229,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,222901 +1100105,25,2230,1,49,1,40,4,3,6,1,-9,4,5413,7290.0,223001 +1100105,25,2231,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,223101 +1100105,25,2232,1,62,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,223201 +1100105,25,2233,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,223301 +1100105,25,2234,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,223401 +1100105,25,2235,1,71,1,20,1,2,2,1,-9,4,481,6070.0,223501 +1100105,25,2236,1,80,1,40,1,1,1,1,-9,2,92M1,9490.0,223601 +1100105,25,2237,1,80,1,40,1,1,1,1,-9,2,92M1,9490.0,223701 +1100105,25,2238,1,46,1,40,1,1,2,1,-9,4,5411,7270.0,223801 +1100105,25,2239,1,51,1,40,4,1,2,1,-9,2,6241,8370.0,223901 +1100105,25,2240,1,57,2,10,2,1,2,1,-9,4,812112,8980.0,224001 +1100105,25,2241,1,39,1,40,1,1,1,1,-9,4,5416,7390.0,224101 +1100105,25,2242,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,224201 +1100105,25,2243,1,54,1,60,1,1,1,1,-9,4,814,9290.0,224301 +1100105,25,2244,1,58,2,40,1,1,1,1,-9,4,713Z,8590.0,224401 +1100105,25,2245,1,37,1,20,1,1,1,1,-9,4,5411,7270.0,224501 +1100105,25,2246,1,58,1,40,1,1,1,1,-9,4,522M,6890.0,224601 +1100105,25,2247,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,224701 +1100105,25,2248,1,58,2,40,1,1,1,7,-9,4,5617Z,7690.0,224801 +1100105,25,2249,1,58,2,40,1,1,1,7,-9,4,5617Z,7690.0,224901 +1100105,25,2250,1,34,2,40,3,1,9,1,-9,4,5416,7390.0,225001 +1100105,25,2251,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,225101 +1100105,25,2252,1,27,1,55,1,1,6,1,16,4,5191ZM,6780.0,225201 +1100105,25,2253,1,27,1,55,1,1,6,1,16,4,5191ZM,6780.0,225301 +1100105,25,2254,1,29,1,60,3,2,2,1,-9,4,5616,7680.0,225401 +1100105,25,2255,1,25,2,45,1,1,1,1,-9,4,515,6670.0,225501 +1100105,25,2256,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,225601 +1100105,25,2257,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,225701 +1100105,25,2258,1,30,2,40,1,1,1,1,-9,4,623M,8290.0,225801 +1100105,25,2259,1,27,2,40,3,1,1,1,-9,4,482,6080.0,225901 +1100105,25,2260,1,25,1,50,1,1,1,1,16,4,5412,7280.0,226001 +1100105,25,2261,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,226101 +1100105,25,2262,1,34,1,39,1,1,1,1,-9,4,44511,4971.0,226201 +1100105,25,2263,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,226301 +1100105,25,2264,1,25,2,45,1,1,1,1,-9,4,5415,7380.0,226401 +1100105,25,2265,1,30,2,55,1,1,1,1,-9,4,928P,9590.0,226501 +1100105,25,2266,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,226601 +1100105,25,2267,1,28,1,50,1,1,1,23,-9,4,722Z,8680.0,226701 +1100105,25,2268,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,226801 +1100105,25,2269,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,226901 +1100105,25,2270,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,227001 +1100105,25,2271,1,67,2,-9,-9,6,2,1,-9,4,491,6370.0,227101 +1100105,25,2272,1,67,2,-9,-9,6,1,1,-9,4,5415,7380.0,227201 +1100105,25,2273,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,227301 +1100105,25,2274,1,89,2,-9,-9,6,1,1,-9,4,0,0.0,227401 +1100105,25,2275,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,227501 +1100105,25,2276,1,70,2,-9,-9,6,1,1,-9,4,5412,7280.0,227601 +1100105,25,2277,1,70,2,-9,-9,6,1,1,-9,4,5412,7280.0,227701 +1100105,25,2278,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,227801 +1100105,25,2279,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,227901 +1100105,25,2280,1,53,1,40,3,6,3,1,-9,4,562,7790.0,228001 +1100105,25,2281,1,64,2,-9,-9,6,2,1,-9,4,0,0.0,228101 +1100105,25,2282,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,228201 +1100105,25,2283,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,228301 +1100105,25,2284,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,228401 +1100105,25,2285,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,228501 +1100105,25,2286,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,228601 +1100105,25,2287,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,228701 +1100105,25,2288,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,228801 +1100105,25,2289,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,228901 +1100105,25,2290,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,229001 +1100105,25,2291,1,64,1,25,5,1,2,1,-9,4,44511,4971.0,229101 +1100105,25,2292,1,54,2,12,5,1,2,1,-9,4,6214,8090.0,229201 +1100105,25,2293,1,53,1,23,4,1,1,1,-9,4,928P,9590.0,229301 +1100105,25,2294,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,229401 +1100105,25,2295,1,59,2,20,6,1,1,1,-9,4,6244,8470.0,229501 +1100105,25,2296,1,52,2,25,1,1,1,1,-9,4,442,4770.0,229601 +1100105,25,2297,1,53,1,23,4,1,1,1,-9,4,928P,9590.0,229701 +1100105,25,2298,1,55,1,20,6,2,1,1,-9,4,23,770.0,229801 +1100105,25,2299,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,229901 +1100105,25,2300,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,230001 +1100105,25,2301,1,28,1,40,6,1,9,1,-9,4,92M2,9570.0,230101 +1100105,25,2302,1,29,2,30,5,1,6,1,-9,4,8139Z,9190.0,230201 +1100105,25,2303,1,21,2,10,3,1,6,1,15,4,45121,5370.0,230301 +1100105,25,2304,1,24,2,17,1,1,2,1,-9,4,722Z,8680.0,230401 +1100105,25,2305,1,23,1,40,1,1,1,1,16,4,5415,7380.0,230501 +1100105,25,2306,1,26,2,20,6,1,1,1,-9,4,611M1,7870.0,230601 +1100105,25,2307,1,27,2,30,3,1,1,1,16,4,611M1,7870.0,230701 +1100105,25,2308,1,23,2,20,1,1,1,1,16,4,611M1,7870.0,230801 +1100105,25,2309,1,25,1,30,1,2,1,23,16,4,713Z,8590.0,230901 +1100105,25,2310,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,231001 +1100105,25,2311,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,231101 +1100105,25,2312,1,85,2,-9,-9,6,6,1,-9,4,0,0.0,231201 +1100105,25,2313,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,231301 +1100105,25,2314,1,72,1,-9,-9,6,2,1,-9,4,0,0.0,231401 +1100105,25,2315,1,65,2,-9,-9,6,2,1,-9,4,0,0.0,231501 +1100105,25,2316,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,231601 +1100105,25,2317,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,231701 +1100105,25,2318,1,65,2,-9,-9,6,2,1,-9,4,0,0.0,231801 +1100105,25,2319,1,71,1,-9,-9,6,2,1,-9,2,0,0.0,231901 +1100105,25,2320,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,232001 +1100105,25,2321,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,232101 +1100105,25,2322,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,232201 +1100105,25,2323,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,232301 +1100105,25,2324,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,232401 +1100105,25,2325,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,232501 +1100105,25,2326,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,232601 +1100105,25,2327,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,232701 +1100105,25,2328,1,71,1,-9,-9,6,1,1,-9,4,611M1,7870.0,232801 +1100105,25,2329,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,232901 +1100105,25,2330,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,233001 +1100105,25,2331,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,233101 +1100105,25,2332,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,233201 +1100105,25,2333,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,233301 +1100105,25,2334,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,233401 +1100105,25,2335,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,233501 +1100105,25,2336,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,233601 +1100105,25,2337,1,38,1,-9,-9,6,6,1,-9,4,928P,9590.0,233701 +1100105,25,2338,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,233801 +1100105,25,2339,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,233901 +1100105,25,2340,1,36,2,-9,-9,6,2,1,-9,4,0,0.0,234001 +1100105,25,2341,1,36,2,-9,-9,6,2,1,-9,4,0,0.0,234101 +1100105,25,2342,1,60,1,-9,-9,6,2,1,-9,4,4853,6190.0,234201 +1100105,25,2343,1,56,1,-9,-9,6,2,1,-9,4,0,0.0,234301 +1100105,25,2344,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,234401 +1100105,25,2345,1,38,2,-9,-9,6,2,1,-9,4,0,0.0,234501 +1100105,25,2346,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,234601 +1100105,25,2347,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,234701 +1100105,25,2348,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,234801 +1100105,25,2349,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,234901 +1100105,25,2350,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,235001 +1100105,25,2351,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,235101 +1100105,25,2352,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,235201 +1100105,25,2353,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,235301 +1100105,25,2354,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,235401 +1100105,25,2355,1,63,2,-9,-9,6,1,1,-9,4,0,0.0,235501 +1100105,25,2356,1,55,2,-9,-9,6,1,1,-9,4,0,0.0,235601 +1100105,25,2357,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,235701 +1100105,25,2358,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,235801 +1100105,25,2359,1,54,2,-9,-9,6,1,1,-9,4,0,0.0,235901 +1100105,25,2360,1,54,2,-9,-9,6,1,23,-9,4,0,0.0,236001 +1100105,25,2361,1,50,2,-9,-9,6,2,3,-9,4,0,0.0,236101 +1100105,25,2362,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,236201 +1100105,25,2363,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,236301 +1100105,25,2364,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,236401 +1100105,25,2365,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,236501 +1100105,25,2366,1,34,2,-9,-9,6,1,1,16,4,0,0.0,236601 +1100105,25,2367,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,236701 +1100105,25,2368,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,236801 +1100105,25,2369,1,34,2,-9,-9,6,1,1,16,4,0,0.0,236901 +1100105,25,2370,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,237001 +1100105,25,2371,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,237101 +1100105,25,2372,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,237201 +1100105,26,2373,1,39,1,40,1,1,1,2,-9,2,5411,7270.0,237301 +1100105,26,2373,2,31,1,50,1,1,1,1,-9,4,722Z,8680.0,237302 +1100105,26,2373,3,29,1,-9,-9,6,1,1,-9,4,611M1,7870.0,237303 +1100105,26,2373,4,24,1,40,3,1,1,1,-9,4,6231,8270.0,237304 +1100105,26,2373,5,23,1,30,1,1,1,1,-9,4,5416,7390.0,237305 +1100105,26,2374,1,64,1,40,1,1,1,1,-9,4,923,9480.0,237401 +1100105,26,2374,2,30,1,40,6,1,1,1,-9,4,6241,8370.0,237402 +1100105,26,2374,3,45,2,-9,-9,6,1,1,-9,4,814,9290.0,237403 +1100105,26,2374,4,3,2,-9,-9,-9,9,1,1,-9,0,0.0,237404 +1100105,26,2375,1,68,1,-9,-9,6,2,1,-9,4,0,0.0,237501 +1100105,26,2375,2,71,2,-9,-9,6,9,1,-9,4,0,0.0,237502 +1100105,26,2375,3,47,1,40,1,1,2,1,-9,4,6242,8380.0,237503 +1100105,26,2375,4,77,1,-9,-9,6,2,1,-9,4,0,0.0,237504 +1100105,26,2376,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,237601 +1100105,26,2376,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,237602 +1100105,26,2376,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,237603 +1100105,26,2376,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,237604 +1100105,26,2377,1,34,2,36,3,1,8,11,14,4,722Z,8680.0,237701 +1100105,26,2377,2,33,1,40,3,1,8,11,15,4,722Z,8680.0,237702 +1100105,26,2377,3,31,2,-9,-9,6,8,11,-9,4,0,0.0,237703 +1100105,26,2377,4,8,1,-9,-9,-9,8,11,5,-9,0,0.0,237704 +1100105,26,2377,5,0,2,-9,-9,-9,8,11,-9,-9,0,0.0,237705 +1100105,26,2378,1,40,2,-9,-9,6,8,11,-9,4,0,0.0,237801 +1100105,26,2378,2,20,1,-9,-9,6,8,11,-9,4,0,0.0,237802 +1100105,26,2378,3,19,1,-9,-9,6,8,11,-9,4,0,0.0,237803 +1100105,26,2378,4,36,2,-9,-9,6,8,11,-9,4,0,0.0,237804 +1100105,26,2378,5,18,2,-9,-9,6,8,11,12,4,0,0.0,237805 +1100105,26,2379,1,42,1,40,3,1,1,1,-9,4,928P,9590.0,237901 +1100105,26,2379,2,42,2,40,1,1,1,1,-9,4,5417,7460.0,237902 +1100105,26,2379,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,237903 +1100105,26,2380,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,238001 +1100105,26,2380,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,238002 +1100105,26,2380,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,238003 +1100105,26,2381,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,238101 +1100105,26,2381,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,238102 +1100105,26,2381,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,238103 +1100105,26,2382,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,238201 +1100105,26,2382,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,238202 +1100105,26,2382,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,238203 +1100105,26,2383,1,46,2,35,1,2,6,1,-9,4,6111,7860.0,238301 +1100105,26,2383,2,45,1,40,1,1,6,1,-9,4,722Z,8680.0,238302 +1100105,26,2384,1,47,1,40,1,1,1,1,-9,4,52M1,6870.0,238401 +1100105,26,2384,2,52,1,40,1,1,6,1,-9,4,923,9480.0,238402 +1100105,26,2385,1,61,1,40,1,1,1,1,-9,4,611M1,7870.0,238501 +1100105,26,2385,2,52,2,40,1,1,1,1,-9,4,5242,6992.0,238502 +1100105,26,2386,1,35,2,50,1,1,1,1,-9,4,928P,9590.0,238601 +1100105,26,2386,2,42,1,80,1,1,1,1,-9,2,813M,9170.0,238602 +1100105,26,2387,1,48,1,45,2,1,1,1,-9,4,92113,9380.0,238701 +1100105,26,2387,2,46,1,30,1,1,1,1,-9,4,7111,8561.0,238702 +1100105,26,2388,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,238801 +1100105,26,2388,2,38,1,50,1,1,1,16,-9,4,928P,9590.0,238802 +1100105,26,2389,1,36,1,37,1,1,1,1,-9,4,5411,7270.0,238901 +1100105,26,2389,2,33,2,70,1,1,1,1,-9,4,51111,6470.0,238902 +1100105,26,2390,1,30,1,50,1,1,6,1,-9,4,5411,7270.0,239001 +1100105,26,2390,2,27,2,50,1,1,6,1,-9,4,5411,7270.0,239002 +1100105,26,2391,1,32,1,40,1,1,1,1,-9,4,611M3,7890.0,239101 +1100105,26,2391,2,32,2,50,1,1,1,1,-9,4,712,8570.0,239102 +1100105,26,2392,1,27,2,50,1,1,1,1,-9,4,5416,7390.0,239201 +1100105,26,2392,2,25,1,50,1,1,1,1,-9,4,5412,7280.0,239202 +1100105,26,2393,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,239301 +1100105,26,2393,2,67,1,50,1,1,1,1,-9,4,5411,7270.0,239302 +1100105,26,2394,1,57,1,50,3,3,1,1,-9,4,8139Z,9190.0,239401 +1100105,26,2394,2,51,1,40,1,1,1,1,-9,4,8131,9160.0,239402 +1100105,26,2395,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,239501 +1100105,26,2395,2,35,2,40,1,1,6,1,16,4,5417,7460.0,239502 +1100105,26,2396,1,44,2,45,1,1,1,1,-9,2,928P,9590.0,239601 +1100105,26,2396,2,48,2,30,1,1,1,1,-9,4,8129,9090.0,239602 +1100105,26,2397,1,55,2,40,1,1,9,1,-9,4,928P,9590.0,239701 +1100105,26,2397,2,33,1,40,1,1,1,1,-9,4,23,770.0,239702 +1100105,26,2398,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,239801 +1100105,26,2398,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,239802 +1100105,26,2399,1,24,2,40,1,1,1,1,-9,4,5416,7390.0,239901 +1100105,26,2399,2,23,2,40,1,1,6,1,-9,4,5416,7390.0,239902 +1100105,26,2400,1,32,1,40,1,1,1,1,15,4,5415,7380.0,240001 +1100105,26,2400,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,240002 +1100105,26,2401,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,240101 +1100105,26,2401,2,24,2,45,1,1,1,1,-9,4,5416,7390.0,240102 +1100105,26,2402,1,32,1,50,1,1,1,1,-9,4,92113,9380.0,240201 +1100105,26,2402,2,32,2,45,1,1,1,1,-9,4,813M,9170.0,240202 +1100105,26,2403,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,240301 +1100105,26,2403,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,240302 +1100105,26,2404,1,60,2,40,1,1,1,1,-9,4,8139Z,9190.0,240401 +1100105,26,2404,2,57,2,-9,-9,6,1,1,-9,4,5416,7390.0,240402 +1100105,26,2405,1,46,1,40,1,1,1,2,-9,4,813M,9170.0,240501 +1100105,26,2405,2,45,1,40,4,3,1,1,-9,4,7115,8564.0,240502 +1100105,26,2406,1,26,2,37,1,1,1,1,-9,4,5418,7470.0,240601 +1100105,26,2406,2,26,2,50,1,1,6,1,-9,4,5416,7390.0,240602 +1100105,26,2407,1,26,1,50,1,1,1,1,-9,4,5242,6992.0,240701 +1100105,26,2407,2,24,2,32,1,1,1,1,-9,4,6211,7970.0,240702 +1100105,26,2408,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,240801 +1100105,26,2408,2,24,2,60,1,1,1,1,-9,4,5416,7390.0,240802 +1100105,26,2409,1,35,1,40,4,3,1,1,-9,4,7115,8564.0,240901 +1100105,26,2409,2,41,1,36,1,1,1,1,-9,4,7115,8564.0,240902 +1100105,26,2410,1,28,2,40,1,1,1,1,-9,4,5615,7670.0,241001 +1100105,26,2410,2,28,1,40,1,1,1,1,-9,4,332M,2870.0,241002 +1100105,26,2411,1,35,2,50,1,1,1,1,16,4,5417,7460.0,241101 +1100105,26,2411,2,26,2,-9,-9,6,1,1,16,4,0,0.0,241102 +1100105,26,2412,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,241201 +1100105,26,2412,2,30,1,-9,-9,6,6,1,16,4,0,0.0,241202 +1100105,26,2413,1,28,1,40,6,3,1,1,-9,4,337,3895.0,241301 +1100105,26,2413,2,26,2,50,1,1,6,1,16,4,5411,7270.0,241302 +1100105,26,2414,1,26,2,50,3,3,1,1,-9,4,6212,7980.0,241401 +1100105,26,2414,2,29,1,40,4,1,1,1,-9,4,52M2,6970.0,241402 +1100105,26,2415,1,81,1,-9,-9,6,1,1,-9,4,7115,8564.0,241501 +1100105,26,2415,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,241502 +1100105,26,2416,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,241601 +1100105,26,2416,2,24,2,-9,-9,6,6,1,16,4,0,0.0,241602 +1100105,26,2417,1,57,2,60,1,1,1,1,-9,4,712,8570.0,241701 +1100105,26,2418,1,49,2,80,1,1,1,1,-9,4,488,6290.0,241801 +1100105,26,2419,1,50,1,55,1,1,1,1,-9,4,8139Z,9190.0,241901 +1100105,26,2420,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,242001 +1100105,26,2421,1,41,2,44,1,2,2,1,-9,4,5415,7380.0,242101 +1100105,26,2422,1,39,1,43,1,1,1,1,-9,4,481,6070.0,242201 +1100105,26,2423,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,242301 +1100105,26,2424,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,242401 +1100105,26,2425,1,32,1,60,1,1,1,1,-9,4,5416,7390.0,242501 +1100105,26,2426,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,242601 +1100105,26,2427,1,46,1,40,1,1,6,1,-9,4,6231,8270.0,242701 +1100105,26,2428,1,46,2,40,1,1,2,1,-9,4,923,9480.0,242801 +1100105,26,2429,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,242901 +1100105,26,2430,1,44,2,50,1,1,1,1,-9,4,5416,7390.0,243001 +1100105,26,2431,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,243101 +1100105,26,2432,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,243201 +1100105,26,2433,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,243301 +1100105,26,2434,1,37,1,40,1,1,1,1,-9,4,928P,9590.0,243401 +1100105,26,2435,1,62,1,45,1,1,1,24,-9,2,611M3,7890.0,243501 +1100105,26,2436,1,34,1,45,1,1,1,1,-9,2,928P,9590.0,243601 +1100105,26,2437,1,31,2,40,1,1,1,1,16,4,813M,9170.0,243701 +1100105,26,2438,1,32,2,50,1,1,1,1,-9,4,52M2,6970.0,243801 +1100105,26,2439,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,243901 +1100105,26,2440,1,71,1,56,5,1,1,1,-9,4,5416,7390.0,244001 +1100105,26,2441,1,39,2,40,1,1,6,1,-9,4,5221M,6880.0,244101 +1100105,26,2442,1,38,2,30,1,1,2,1,-9,4,5111Z,6480.0,244201 +1100105,26,2443,1,42,2,40,1,1,1,1,-9,4,6241,8370.0,244301 +1100105,26,2444,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,244401 +1100105,26,2445,1,49,2,40,1,1,1,1,-9,4,6111,7860.0,244501 +1100105,26,2446,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,244601 +1100105,26,2447,1,39,1,60,3,1,5,2,-9,4,7224,8690.0,244701 +1100105,26,2448,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,244801 +1100105,26,2449,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,244901 +1100105,26,2450,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,245001 +1100105,26,2451,1,34,2,40,1,1,2,1,-9,4,9211MP,9370.0,245101 +1100105,26,2452,1,27,2,55,1,1,1,1,-9,4,5416,7390.0,245201 +1100105,26,2453,1,28,1,45,1,1,1,1,-9,4,531M,7071.0,245301 +1100105,26,2454,1,27,2,55,1,1,1,1,-9,4,5416,7390.0,245401 +1100105,26,2455,1,34,1,40,1,1,1,1,-9,4,515,6670.0,245501 +1100105,26,2456,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,245601 +1100105,26,2457,1,28,2,40,1,1,1,1,-9,4,611M1,7870.0,245701 +1100105,26,2458,1,33,1,45,1,1,1,1,-9,4,5413,7290.0,245801 +1100105,26,2459,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,245901 +1100105,26,2460,1,70,1,-9,-9,6,2,1,-9,4,0,0.0,246001 +1100105,26,2461,1,83,2,-9,-9,6,1,1,-9,4,0,0.0,246101 +1100105,26,2462,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,246201 +1100105,26,2463,1,63,1,40,1,1,2,1,-9,4,335M,3490.0,246301 +1100105,26,2464,1,58,2,40,1,1,1,1,-9,4,713Z,8590.0,246401 +1100105,26,2465,1,28,2,45,1,1,6,1,-9,4,6111,7860.0,246501 +1100105,26,2466,1,31,1,40,5,1,1,1,-9,4,5417,7460.0,246601 +1100105,26,2467,1,26,2,37,1,1,1,1,-9,4,928P,9590.0,246701 +1100105,26,2468,1,33,2,40,2,1,8,16,-9,4,712,8570.0,246801 +1100105,26,2469,1,72,1,-9,-9,6,2,1,-9,3,4248,4560.0,246901 +1100105,26,2470,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,247001 +1100105,26,2471,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,247101 +1100105,26,2472,1,54,1,40,6,1,2,1,-9,4,531M,7071.0,247201 +1100105,26,2473,1,47,1,40,4,1,1,1,-9,4,722Z,8680.0,247301 +1100105,26,2474,1,21,2,10,3,1,6,1,15,4,45121,5370.0,247401 +1100105,26,2475,1,26,2,20,4,1,1,1,-9,4,52M2,6970.0,247501 +1100105,26,2476,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,247601 +1100105,26,2477,1,73,1,-9,-9,6,2,1,-9,4,623M,8290.0,247701 +1100105,26,2478,1,82,2,-9,-9,6,2,1,-9,4,0,0.0,247801 +1100105,26,2479,1,73,1,-9,-9,6,2,1,-9,4,623M,8290.0,247901 +1100105,26,2480,1,67,2,30,4,6,1,1,-9,4,7115,8564.0,248001 +1100105,26,2481,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,248101 +1100105,26,2482,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,248201 +1100105,26,2483,1,56,1,-9,-9,6,2,1,-9,2,0,0.0,248301 +1100105,26,2484,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,248401 +1100105,26,2485,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,248501 +1100105,26,2486,1,27,1,-9,-9,6,1,1,-9,4,611M1,7870.0,248601 +1100105,27,2487,1,33,1,40,1,1,1,1,-9,4,928P,9590.0,248701 +1100105,27,2487,2,38,1,40,1,1,1,1,-9,4,52M2,6970.0,248702 +1100105,27,2487,3,38,2,45,1,1,1,1,-9,4,52M1,6870.0,248703 +1100105,27,2487,4,28,1,32,1,1,1,23,-9,4,5191ZM,6780.0,248704 +1100105,27,2488,1,26,1,40,1,1,1,1,-9,4,5416,7390.0,248801 +1100105,27,2488,2,28,1,70,1,1,1,1,-9,4,5412,7280.0,248802 +1100105,27,2488,3,25,1,70,1,1,1,1,-9,4,5412,7280.0,248803 +1100105,27,2488,4,24,1,50,1,1,1,1,-9,4,813M,9170.0,248804 +1100105,27,2489,1,25,1,40,1,1,1,1,-9,4,5416,7390.0,248901 +1100105,27,2489,2,26,1,45,1,1,1,1,-9,4,52M2,6970.0,248902 +1100105,27,2489,3,25,1,50,1,1,1,1,-9,4,484,6170.0,248903 +1100105,27,2489,4,25,1,45,1,1,1,1,-9,4,5242,6992.0,248904 +1100105,27,2490,1,29,1,45,1,1,1,2,-9,4,928P,9590.0,249001 +1100105,27,2490,2,27,2,40,1,1,6,1,-9,4,7211,8660.0,249002 +1100105,27,2490,3,26,1,60,1,1,1,1,-9,4,52M2,6970.0,249003 +1100105,27,2490,4,26,1,50,1,1,6,1,-9,4,52M1,6870.0,249004 +1100105,27,2491,1,36,1,45,1,1,1,1,-9,4,611M2,7880.0,249101 +1100105,27,2491,2,37,2,36,3,1,1,1,-9,4,5417,7460.0,249102 +1100105,27,2491,3,9,2,-9,-9,-9,1,1,6,-9,0,0.0,249103 +1100105,27,2491,4,6,1,-9,-9,-9,1,1,2,-9,0,0.0,249104 +1100105,27,2492,1,64,1,40,1,1,1,1,-9,4,923,9480.0,249201 +1100105,27,2492,2,30,1,40,6,1,1,1,-9,4,6241,8370.0,249202 +1100105,27,2492,3,45,2,-9,-9,6,1,1,-9,4,814,9290.0,249203 +1100105,27,2492,4,3,2,-9,-9,-9,9,1,1,-9,0,0.0,249204 +1100105,27,2493,1,64,1,40,1,1,1,1,-9,4,923,9480.0,249301 +1100105,27,2493,2,30,1,40,6,1,1,1,-9,4,6241,8370.0,249302 +1100105,27,2493,3,45,2,-9,-9,6,1,1,-9,4,814,9290.0,249303 +1100105,27,2493,4,3,2,-9,-9,-9,9,1,1,-9,0,0.0,249304 +1100105,27,2494,1,64,1,40,1,1,1,1,-9,4,923,9480.0,249401 +1100105,27,2494,2,30,1,40,6,1,1,1,-9,4,6241,8370.0,249402 +1100105,27,2494,3,45,2,-9,-9,6,1,1,-9,4,814,9290.0,249403 +1100105,27,2494,4,3,2,-9,-9,-9,9,1,1,-9,0,0.0,249404 +1100105,27,2495,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,249501 +1100105,27,2495,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,249502 +1100105,27,2495,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,249503 +1100105,27,2495,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,249504 +1100105,27,2496,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,249601 +1100105,27,2496,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,249602 +1100105,27,2496,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,249603 +1100105,27,2496,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,249604 +1100105,27,2497,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,249701 +1100105,27,2497,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,249702 +1100105,27,2497,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,249703 +1100105,27,2497,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,249704 +1100105,27,2498,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,249801 +1100105,27,2498,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,249802 +1100105,27,2498,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,249803 +1100105,27,2498,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,249804 +1100105,27,2499,1,42,2,24,1,1,1,1,-9,4,52M2,6970.0,249901 +1100105,27,2499,2,42,1,50,1,1,1,1,-9,4,55,7570.0,249902 +1100105,27,2499,3,5,2,-9,-9,-9,1,1,2,-9,0,0.0,249903 +1100105,27,2499,4,3,1,-9,-9,-9,1,1,1,-9,0,0.0,249904 +1100105,27,2500,1,36,1,40,1,1,6,1,-9,4,928P,9590.0,250001 +1100105,27,2500,2,36,2,40,1,1,6,1,-9,4,6241,8370.0,250002 +1100105,27,2500,3,4,1,-9,-9,-9,6,1,1,-9,0,0.0,250003 +1100105,27,2500,4,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,250004 +1100105,27,2501,1,37,2,40,1,1,6,1,-9,4,92M2,9570.0,250101 +1100105,27,2501,2,35,1,50,1,1,2,1,-9,4,621M,8180.0,250102 +1100105,27,2501,3,2,2,-9,-9,-9,9,1,-9,-9,0,0.0,250103 +1100105,27,2501,4,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,250104 +1100105,27,2502,1,36,2,75,1,1,1,1,-9,4,5111Z,6480.0,250201 +1100105,27,2502,2,37,1,60,1,1,1,1,-9,2,622M,8191.0,250202 +1100105,27,2502,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,250203 +1100105,27,2502,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,250204 +1100105,27,2503,1,36,2,75,1,1,1,1,-9,4,5111Z,6480.0,250301 +1100105,27,2503,2,37,1,60,1,1,1,1,-9,2,622M,8191.0,250302 +1100105,27,2503,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,250303 +1100105,27,2503,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,250304 +1100105,27,2504,1,36,1,40,1,1,1,1,-9,4,92113,9380.0,250401 +1100105,27,2504,2,36,2,40,1,1,1,2,-9,4,928P,9590.0,250402 +1100105,27,2504,3,4,1,-9,-9,-9,1,2,1,-9,0,0.0,250403 +1100105,27,2504,4,2,1,-9,-9,-9,1,2,-9,-9,0,0.0,250404 +1100105,27,2505,1,52,2,-9,-9,6,1,1,-9,4,0,0.0,250501 +1100105,27,2505,2,69,1,56,1,1,1,1,-9,4,5411,7270.0,250502 +1100105,27,2505,3,15,2,-9,-9,-9,1,1,11,-9,0,0.0,250503 +1100105,27,2505,4,13,1,-9,-9,-9,1,1,9,-9,0,0.0,250504 +1100105,27,2506,1,39,2,-9,-9,6,1,1,-9,4,0,0.0,250601 +1100105,27,2506,2,39,1,50,1,1,1,1,-9,4,5416,7390.0,250602 +1100105,27,2506,3,6,2,-9,-9,-9,1,1,2,-9,0,0.0,250603 +1100105,27,2506,4,3,2,-9,-9,-9,1,1,1,-9,0,0.0,250604 +1100105,27,2507,1,48,1,60,1,1,1,1,-9,4,5111Z,6480.0,250701 +1100105,27,2507,2,40,2,20,1,1,1,1,-9,4,928P,9590.0,250702 +1100105,27,2507,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,250703 +1100105,27,2507,4,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,250704 +1100105,27,2508,1,48,1,60,1,1,1,1,-9,4,5111Z,6480.0,250801 +1100105,27,2508,2,40,2,20,1,1,1,1,-9,4,928P,9590.0,250802 +1100105,27,2508,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,250803 +1100105,27,2508,4,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,250804 +1100105,27,2509,1,77,2,-9,-9,6,2,1,-9,4,0,0.0,250901 +1100105,27,2509,2,54,2,70,1,1,2,1,-9,4,531M,7071.0,250902 +1100105,27,2509,3,85,2,-9,-9,6,2,1,-9,4,0,0.0,250903 +1100105,27,2509,4,74,1,-9,-9,6,2,1,-9,4,484,6170.0,250904 +1100105,27,2510,1,46,1,40,1,1,1,1,-9,4,325M,2290.0,251001 +1100105,27,2510,2,43,2,-9,-9,3,1,1,-9,4,52M1,6870.0,251002 +1100105,27,2510,3,9,1,-9,-9,-9,1,1,6,-9,0,0.0,251003 +1100105,27,2510,4,4,1,-9,-9,-9,1,1,1,-9,0,0.0,251004 +1100105,27,2511,1,52,2,-9,-9,3,1,24,-9,4,622M,8191.0,251101 +1100105,27,2511,2,27,2,40,1,1,1,11,16,4,5416,7390.0,251102 +1100105,27,2511,3,14,2,-9,-9,-9,1,11,-9,-9,0,0.0,251103 +1100105,27,2511,4,3,1,-9,-9,-9,1,11,1,-9,0,0.0,251104 +1100105,27,2512,1,37,2,50,1,1,1,1,-9,4,2211P,570.0,251201 +1100105,27,2512,2,42,1,25,5,6,1,1,-9,4,5412,7280.0,251202 +1100105,27,2512,3,3,2,-9,-9,-9,1,1,1,-9,0,0.0,251203 +1100105,27,2512,4,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,251204 +1100105,27,2513,1,68,1,-9,-9,6,2,1,-9,4,0,0.0,251301 +1100105,27,2513,2,71,2,-9,-9,6,9,1,-9,4,0,0.0,251302 +1100105,27,2513,3,47,1,40,1,1,2,1,-9,4,6242,8380.0,251303 +1100105,27,2513,4,77,1,-9,-9,6,2,1,-9,4,0,0.0,251304 +1100105,27,2514,1,68,1,-9,-9,6,2,1,-9,4,0,0.0,251401 +1100105,27,2514,2,71,2,-9,-9,6,9,1,-9,4,0,0.0,251402 +1100105,27,2514,3,47,1,40,1,1,2,1,-9,4,6242,8380.0,251403 +1100105,27,2514,4,77,1,-9,-9,6,2,1,-9,4,0,0.0,251404 +1100105,27,2515,1,63,1,50,1,1,1,1,-9,4,23,770.0,251501 +1100105,27,2515,2,28,1,-9,-9,6,1,1,-9,4,713Z,8590.0,251502 +1100105,27,2515,3,25,2,-9,-9,6,1,1,15,4,0,0.0,251503 +1100105,27,2515,4,21,1,-9,-9,6,1,1,-9,4,0,0.0,251504 +1100105,27,2516,1,43,2,50,1,1,8,8,-9,4,813M,9170.0,251601 +1100105,27,2516,2,39,1,40,4,3,1,1,-9,4,5121,6570.0,251602 +1100105,27,2516,3,9,1,-9,-9,-9,8,8,6,-9,0,0.0,251603 +1100105,27,2516,4,4,2,-9,-9,-9,8,8,1,-9,0,0.0,251604 +1100105,27,2517,1,24,2,40,1,1,2,1,-9,4,6241,8370.0,251701 +1100105,27,2517,2,33,2,40,1,1,1,1,-9,4,6242,8380.0,251702 +1100105,27,2517,3,31,2,40,4,6,1,1,-9,4,813M,9170.0,251703 +1100105,27,2517,4,27,2,40,1,1,1,1,-9,4,5416,7390.0,251704 +1100105,27,2518,1,22,1,30,4,1,8,21,15,4,5417,7460.0,251801 +1100105,27,2518,2,23,1,40,1,1,6,1,-9,4,52M2,6970.0,251802 +1100105,27,2518,3,22,1,40,6,6,1,1,15,4,713Z,8590.0,251803 +1100105,27,2518,4,21,1,20,3,1,1,1,15,4,7115,8564.0,251804 +1100105,27,2519,1,80,1,-9,-9,6,2,1,-9,4,0,0.0,251901 +1100105,27,2519,2,72,2,-9,-9,6,2,1,-9,4,0,0.0,251902 +1100105,27,2519,3,42,2,40,1,1,2,1,-9,4,488,6290.0,251903 +1100105,27,2519,4,40,1,40,1,1,2,1,-9,4,485M,6180.0,251904 +1100105,27,2520,1,44,2,35,1,1,1,1,-9,4,7211,8660.0,252001 +1100105,27,2520,2,49,1,20,2,1,1,1,-9,4,722Z,8680.0,252002 +1100105,27,2520,3,16,2,-9,-9,6,1,1,13,-9,0,0.0,252003 +1100105,27,2520,4,11,2,-9,-9,-9,1,1,8,-9,0,0.0,252004 +1100105,27,2521,1,40,2,40,1,1,8,11,-9,4,5617Z,7690.0,252101 +1100105,27,2521,2,41,1,40,1,1,8,11,-9,4,7211,8660.0,252102 +1100105,27,2521,3,6,2,-9,-9,-9,8,24,3,-9,0,0.0,252103 +1100105,27,2521,4,3,1,-9,-9,-9,8,24,1,-9,0,0.0,252104 +1100105,27,2522,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,252201 +1100105,27,2522,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,252202 +1100105,27,2522,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,252203 +1100105,27,2522,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,252204 +1100105,27,2523,1,49,2,32,1,1,2,1,-9,4,622M,8191.0,252301 +1100105,27,2523,2,46,1,40,1,1,2,1,-9,4,712,8570.0,252302 +1100105,27,2523,3,48,2,-9,-9,6,2,1,-9,4,0,0.0,252303 +1100105,27,2523,4,88,2,-9,-9,6,2,1,-9,4,0,0.0,252304 +1100105,27,2524,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,252401 +1100105,27,2524,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,252402 +1100105,27,2524,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,252403 +1100105,27,2524,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,252404 +1100105,27,2525,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,252501 +1100105,27,2525,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,252502 +1100105,27,2525,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,252503 +1100105,27,2525,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,252504 +1100105,27,2526,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,252601 +1100105,27,2526,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,252602 +1100105,27,2526,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,252603 +1100105,27,2526,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,252604 +1100105,27,2527,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,252701 +1100105,27,2527,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,252702 +1100105,27,2527,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,252703 +1100105,27,2527,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,252704 +1100105,27,2528,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,252801 +1100105,27,2528,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,252802 +1100105,27,2528,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,252803 +1100105,27,2528,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,252804 +1100105,27,2529,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,252901 +1100105,27,2529,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,252902 +1100105,27,2529,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,252903 +1100105,27,2529,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,252904 +1100105,27,2530,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,253001 +1100105,27,2530,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,253002 +1100105,27,2530,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,253003 +1100105,27,2530,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,253004 +1100105,27,2531,1,46,2,-9,-9,6,8,11,-9,4,722Z,8680.0,253101 +1100105,27,2531,2,43,1,40,1,1,8,11,-9,4,928P,9590.0,253102 +1100105,27,2531,3,20,2,20,4,1,8,24,-9,4,5617Z,7690.0,253103 +1100105,27,2531,4,15,2,-9,-9,-9,8,11,11,-9,0,0.0,253104 +1100105,27,2532,1,35,2,20,1,1,2,2,14,4,722Z,8680.0,253201 +1100105,27,2532,2,34,1,40,1,1,2,2,-9,4,722Z,8680.0,253202 +1100105,27,2532,3,13,1,-9,-9,-9,8,2,9,-9,0,0.0,253203 +1100105,27,2532,4,9,1,-9,-9,-9,8,2,5,-9,0,0.0,253204 +1100105,27,2533,1,32,2,40,1,1,1,11,-9,4,722Z,8680.0,253301 +1100105,27,2533,2,16,2,-9,-9,6,1,11,13,-9,0,0.0,253302 +1100105,27,2533,3,13,1,-9,-9,-9,1,11,9,-9,0,0.0,253303 +1100105,27,2533,4,6,1,-9,-9,-9,1,11,3,-9,0,0.0,253304 +1100105,27,2533,5,35,1,40,1,1,1,11,-9,4,4MS,5790.0,253305 +1100105,27,2534,1,28,1,40,1,1,8,2,-9,4,23,770.0,253401 +1100105,27,2534,2,35,2,-9,-9,6,8,2,-9,4,0,0.0,253402 +1100105,27,2534,3,6,2,-9,-9,-9,8,2,2,-9,0,0.0,253403 +1100105,27,2534,4,4,1,-9,-9,-9,8,2,1,-9,0,0.0,253404 +1100105,27,2535,1,62,1,40,1,1,8,11,-9,4,44511,4971.0,253501 +1100105,27,2535,2,52,2,-9,-9,6,8,11,-9,4,0,0.0,253502 +1100105,27,2535,3,17,2,-9,-9,6,8,11,13,4,0,0.0,253503 +1100105,27,2535,4,13,2,-9,-9,-9,8,11,9,-9,0,0.0,253504 +1100105,27,2536,1,62,1,40,1,1,8,11,-9,4,44511,4971.0,253601 +1100105,27,2536,2,52,2,-9,-9,6,8,11,-9,4,0,0.0,253602 +1100105,27,2536,3,17,2,-9,-9,6,8,11,13,4,0,0.0,253603 +1100105,27,2536,4,13,2,-9,-9,-9,8,11,9,-9,0,0.0,253604 +1100105,27,2537,1,23,1,-9,-9,6,6,1,16,4,0,0.0,253701 +1100105,27,2537,2,23,1,-9,-9,6,6,1,16,4,0,0.0,253702 +1100105,27,2537,3,22,2,-9,-9,6,6,1,16,4,0,0.0,253703 +1100105,27,2537,4,22,2,-9,-9,6,6,1,16,4,0,0.0,253704 +1100105,27,2538,1,23,1,-9,-9,6,6,1,16,4,0,0.0,253801 +1100105,27,2538,2,23,1,-9,-9,6,6,1,16,4,0,0.0,253802 +1100105,27,2538,3,22,2,-9,-9,6,6,1,16,4,0,0.0,253803 +1100105,27,2538,4,22,2,-9,-9,6,6,1,16,4,0,0.0,253804 +1100105,27,2539,1,37,1,50,1,1,1,1,-9,4,5416,7390.0,253901 +1100105,27,2539,2,35,2,50,1,1,6,1,-9,4,5416,7390.0,253902 +1100105,27,2539,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,253903 +1100105,27,2540,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,254001 +1100105,27,2540,2,35,2,50,1,1,6,1,-9,4,92MP,9470.0,254002 +1100105,27,2540,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,254003 +1100105,27,2541,1,35,2,40,3,1,1,1,-9,4,92MP,9470.0,254101 +1100105,27,2541,2,36,1,60,1,1,1,1,-9,4,5411,7270.0,254102 +1100105,27,2541,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,254103 +1100105,27,2542,1,45,1,65,1,1,1,1,-9,4,5418,7470.0,254201 +1100105,27,2542,2,40,2,50,1,1,1,1,-9,4,5415,7380.0,254202 +1100105,27,2542,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,254203 +1100105,27,2543,1,41,2,24,1,1,1,1,-9,4,813M,9170.0,254301 +1100105,27,2543,2,43,1,40,1,1,1,1,-9,4,92M2,9570.0,254302 +1100105,27,2543,3,1,2,-9,-9,-9,9,3,-9,-9,0,0.0,254303 +1100105,27,2544,1,35,1,40,1,1,1,1,-9,4,51111,6470.0,254401 +1100105,27,2544,2,33,2,50,1,1,6,1,-9,4,52M1,6870.0,254402 +1100105,27,2544,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,254403 +1100105,27,2545,1,36,1,50,1,1,1,1,16,4,515,6670.0,254501 +1100105,27,2545,2,29,2,60,1,1,1,1,-9,4,813M,9170.0,254502 +1100105,27,2545,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,254503 +1100105,27,2546,1,34,1,40,1,1,6,1,-9,4,9211MP,9370.0,254601 +1100105,27,2546,2,33,2,40,1,1,6,1,-9,4,5416,7390.0,254602 +1100105,27,2546,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,254603 +1100105,27,2547,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,254701 +1100105,27,2547,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,254702 +1100105,27,2547,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,254703 +1100105,27,2548,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,254801 +1100105,27,2548,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,254802 +1100105,27,2548,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,254803 +1100105,27,2549,1,35,1,50,2,1,6,1,-9,4,5416,7390.0,254901 +1100105,27,2549,2,35,2,-9,-9,6,6,1,-9,4,0,0.0,254902 +1100105,27,2549,3,4,2,-9,-9,-9,6,1,1,-9,0,0.0,254903 +1100105,27,2550,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,255001 +1100105,27,2550,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,255002 +1100105,27,2550,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,255003 +1100105,27,2551,1,26,2,40,1,1,1,1,-9,4,6241,8370.0,255101 +1100105,27,2551,2,30,2,45,1,1,1,1,-9,4,481,6070.0,255102 +1100105,27,2551,3,26,2,40,1,1,1,1,-9,4,92M2,9570.0,255103 +1100105,27,2552,1,37,2,50,6,1,1,1,-9,4,813M,9170.0,255201 +1100105,27,2552,2,37,1,66,1,1,1,1,-9,4,611M1,7870.0,255202 +1100105,27,2552,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,255203 +1100105,27,2553,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,255301 +1100105,27,2553,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,255302 +1100105,27,2553,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,255303 +1100105,27,2554,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,255401 +1100105,27,2554,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,255402 +1100105,27,2554,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,255403 +1100105,27,2555,1,38,1,40,1,1,1,1,-9,4,92M2,9570.0,255501 +1100105,27,2555,2,37,2,72,1,1,1,1,-9,4,813M,9170.0,255502 +1100105,27,2555,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,255503 +1100105,27,2556,1,34,1,60,1,1,1,1,-9,4,92113,9380.0,255601 +1100105,27,2556,2,33,2,-9,-9,6,1,1,16,4,5413,7290.0,255602 +1100105,27,2556,3,3,1,-9,-9,-9,1,1,1,-9,0,0.0,255603 +1100105,27,2557,1,24,2,19,4,6,6,1,15,4,611M1,7870.0,255701 +1100105,27,2557,2,30,1,19,5,2,6,1,15,4,611M1,7870.0,255702 +1100105,27,2557,3,25,2,45,1,1,6,1,-9,4,5416,7390.0,255703 +1100105,27,2558,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,255801 +1100105,27,2558,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,255802 +1100105,27,2558,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,255803 +1100105,27,2559,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,255901 +1100105,27,2559,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,255902 +1100105,27,2559,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,255903 +1100105,27,2560,1,66,1,40,1,1,1,1,-9,4,52M2,6970.0,256001 +1100105,27,2560,2,60,2,40,1,1,6,1,-9,4,928P,9590.0,256002 +1100105,27,2561,1,81,2,25,1,1,1,1,-9,4,51111,6470.0,256101 +1100105,27,2561,2,48,2,40,1,1,1,1,-9,4,622M,8191.0,256102 +1100105,27,2562,1,46,2,35,1,2,6,1,-9,4,6111,7860.0,256201 +1100105,27,2562,2,45,1,40,1,1,6,1,-9,4,722Z,8680.0,256202 +1100105,27,2563,1,45,1,45,1,1,6,1,-9,4,5411,7270.0,256301 +1100105,27,2563,2,44,2,40,1,1,6,1,-9,4,5411,7270.0,256302 +1100105,27,2564,1,35,2,40,1,1,2,1,-9,4,51111,6470.0,256401 +1100105,27,2564,2,36,1,60,1,1,2,1,-9,4,5415,7380.0,256402 +1100105,27,2565,1,35,2,55,2,1,9,1,-9,4,51111,6470.0,256501 +1100105,27,2565,2,46,1,55,1,1,1,1,-9,4,51913,6672.0,256502 +1100105,27,2566,1,38,1,50,1,1,1,1,-9,4,8139Z,9190.0,256601 +1100105,27,2566,2,35,2,40,1,1,6,1,-9,4,5613,7580.0,256602 +1100105,27,2567,1,47,1,40,1,1,1,1,-9,4,52M1,6870.0,256701 +1100105,27,2567,2,52,1,40,1,1,6,1,-9,4,923,9480.0,256702 +1100105,27,2568,1,38,2,40,1,1,6,1,-9,4,813M,9170.0,256801 +1100105,27,2568,2,38,1,50,1,1,1,1,-9,4,92M2,9570.0,256802 +1100105,27,2569,1,53,1,20,5,1,1,1,-9,4,611M3,7890.0,256901 +1100105,27,2569,2,55,1,40,1,1,1,1,-9,4,92M1,9490.0,256902 +1100105,27,2570,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,257001 +1100105,27,2570,2,49,1,40,1,1,1,1,-9,4,5415,7380.0,257002 +1100105,27,2571,1,40,1,70,1,1,1,1,-9,4,531M,7071.0,257101 +1100105,27,2571,2,37,2,50,1,1,1,1,-9,4,4441Z,4870.0,257102 +1100105,27,2572,1,37,1,95,1,1,1,1,-9,4,8139Z,9190.0,257201 +1100105,27,2572,2,40,1,40,1,1,1,1,-9,4,5121,6570.0,257202 +1100105,27,2573,1,40,1,45,1,1,1,1,-9,4,9211MP,9370.0,257301 +1100105,27,2573,2,41,1,45,1,1,1,1,-9,4,9211MP,9370.0,257302 +1100105,27,2574,1,56,1,40,1,1,1,1,-9,4,8139Z,9190.0,257401 +1100105,27,2574,2,55,2,10,6,1,1,1,-9,4,5111Z,6480.0,257402 +1100105,27,2575,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,257501 +1100105,27,2575,2,49,1,40,1,1,1,1,-9,4,5415,7380.0,257502 +1100105,27,2576,1,37,1,40,1,1,1,1,-9,4,23,770.0,257601 +1100105,27,2576,2,49,1,40,1,1,1,1,-9,2,23,770.0,257602 +1100105,27,2577,1,37,2,40,1,1,1,1,-9,4,8139Z,9190.0,257701 +1100105,27,2577,2,36,1,65,1,1,1,1,-9,4,522M,6890.0,257702 +1100105,27,2578,1,48,1,46,1,1,1,1,-9,4,622M,8191.0,257801 +1100105,27,2578,2,46,1,40,1,1,1,1,-9,4,5411,7270.0,257802 +1100105,27,2579,1,39,2,52,1,1,1,1,-9,4,813M,9170.0,257901 +1100105,27,2579,2,50,1,60,1,1,1,1,-9,4,5417,7460.0,257902 +1100105,27,2580,1,48,1,40,1,1,1,1,-9,4,92113,9380.0,258001 +1100105,27,2580,2,51,1,40,1,1,1,1,-9,2,5241,6991.0,258002 +1100105,27,2581,1,46,1,60,1,1,1,1,-9,4,424M,4380.0,258101 +1100105,27,2581,2,50,1,40,1,1,1,1,15,4,5313,7072.0,258102 +1100105,27,2582,1,35,1,50,1,1,1,1,-9,4,5416,7390.0,258201 +1100105,27,2582,2,37,2,50,1,1,1,1,16,4,8139Z,9190.0,258202 +1100105,27,2583,1,56,1,40,1,1,1,1,-9,4,8139Z,9190.0,258301 +1100105,27,2583,2,55,2,10,6,1,1,1,-9,4,5111Z,6480.0,258302 +1100105,27,2584,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,258401 +1100105,27,2584,2,38,1,50,1,1,1,16,-9,4,928P,9590.0,258402 +1100105,27,2585,1,60,2,40,1,1,1,1,-9,4,5411,7270.0,258501 +1100105,27,2585,2,54,2,35,3,1,9,19,-9,4,6111,7860.0,258502 +1100105,27,2586,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,258601 +1100105,27,2586,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,258602 +1100105,27,2587,1,36,1,60,1,1,1,1,-9,3,5415,7380.0,258701 +1100105,27,2587,2,34,2,60,1,1,6,1,-9,4,515,6670.0,258702 +1100105,27,2588,1,46,1,60,1,1,1,1,-9,4,5411,7270.0,258801 +1100105,27,2588,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,258802 +1100105,27,2589,1,34,2,50,1,1,1,1,-9,4,92M2,9570.0,258901 +1100105,27,2589,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,258902 +1100105,27,2590,1,37,1,55,1,1,1,1,-9,4,443142,4795.0,259001 +1100105,27,2590,2,29,2,40,1,1,1,1,-9,4,5417,7460.0,259002 +1100105,27,2591,1,34,2,35,1,1,1,1,16,4,928P,9590.0,259101 +1100105,27,2591,2,36,1,40,1,1,1,1,16,4,622M,8191.0,259102 +1100105,27,2592,1,48,2,50,1,1,1,1,-9,4,5415,7380.0,259201 +1100105,27,2592,2,30,1,50,1,1,1,1,-9,4,621M,8180.0,259202 +1100105,27,2593,1,38,1,60,1,1,1,1,-9,4,923,9480.0,259301 +1100105,27,2593,2,31,1,60,1,1,1,1,-9,4,5416,7390.0,259302 +1100105,27,2594,1,39,1,60,1,1,8,3,-9,4,5416,7390.0,259401 +1100105,27,2594,2,29,2,40,1,1,1,1,-9,4,6211,7970.0,259402 +1100105,27,2595,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,259501 +1100105,27,2595,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,259502 +1100105,27,2596,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,259601 +1100105,27,2596,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,259602 +1100105,27,2597,1,27,1,55,1,1,6,1,-9,4,5416,7390.0,259701 +1100105,27,2597,2,28,2,35,1,1,6,1,-9,4,5415,7380.0,259702 +1100105,27,2598,1,30,2,40,1,1,1,1,-9,4,5417,7460.0,259801 +1100105,27,2598,2,31,1,40,1,1,6,1,-9,4,6214,8090.0,259802 +1100105,27,2599,1,31,2,40,1,1,1,1,-9,4,8139Z,9190.0,259901 +1100105,27,2599,2,31,1,40,2,1,6,1,-9,4,5418,7470.0,259902 +1100105,27,2600,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,260001 +1100105,27,2600,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,260002 +1100105,27,2601,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,260101 +1100105,27,2601,2,33,1,40,1,1,1,1,-9,4,5411,7270.0,260102 +1100105,27,2602,1,31,2,55,1,1,1,1,-9,4,5411,7270.0,260201 +1100105,27,2602,2,32,1,40,1,1,1,1,-9,4,923,9480.0,260202 +1100105,27,2603,1,30,1,40,1,1,1,1,-9,4,2211P,570.0,260301 +1100105,27,2603,2,29,2,55,1,1,1,1,-9,4,5416,7390.0,260302 +1100105,27,2604,1,33,1,40,1,1,1,1,-9,4,2212P,580.0,260401 +1100105,27,2604,2,32,2,40,1,1,1,1,-9,4,5416,7390.0,260402 +1100105,27,2605,1,30,1,60,1,1,1,1,-9,4,611M3,7890.0,260501 +1100105,27,2605,2,31,2,40,1,1,1,1,-9,4,491,6370.0,260502 +1100105,27,2606,1,34,2,50,1,1,1,1,-9,4,5241,6991.0,260601 +1100105,27,2606,2,34,1,45,1,1,1,1,-9,4,92M2,9570.0,260602 +1100105,27,2607,1,33,1,40,1,1,1,1,-9,4,2212P,580.0,260701 +1100105,27,2607,2,32,2,40,1,1,1,1,-9,4,5416,7390.0,260702 +1100105,27,2608,1,31,1,45,1,1,1,1,-9,4,52M2,6970.0,260801 +1100105,27,2608,2,30,2,45,1,1,1,1,-9,4,454110,5593.0,260802 +1100105,27,2609,1,33,2,46,1,1,1,1,-9,4,5416,7390.0,260901 +1100105,27,2609,2,34,1,48,1,1,1,1,-9,4,928P,9590.0,260902 +1100105,27,2610,1,29,1,60,1,1,1,1,-9,4,813M,9170.0,261001 +1100105,27,2610,2,27,2,50,1,1,1,1,-9,4,611M1,7870.0,261002 +1100105,27,2611,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,261101 +1100105,27,2611,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,261102 +1100105,27,2612,1,34,1,60,1,1,1,1,-9,2,92M2,9570.0,261201 +1100105,27,2612,2,32,2,60,1,1,1,1,-9,4,92M2,9570.0,261202 +1100105,27,2613,1,33,2,60,1,1,1,1,-9,4,5418,7470.0,261301 +1100105,27,2613,2,34,1,50,1,1,1,1,-9,4,813M,9170.0,261302 +1100105,27,2614,1,32,1,43,1,1,1,13,-9,4,23,770.0,261401 +1100105,27,2614,2,31,2,55,1,1,1,1,-9,4,5411,7270.0,261402 +1100105,27,2615,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,261501 +1100105,27,2615,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,261502 +1100105,27,2616,1,67,1,16,6,6,2,1,-9,4,5416,7390.0,261601 +1100105,27,2616,2,50,2,5,6,1,1,1,-9,4,5416,7390.0,261602 +1100105,27,2617,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,261701 +1100105,27,2617,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,261702 +1100105,27,2618,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,261801 +1100105,27,2618,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,261802 +1100105,27,2619,1,52,2,48,1,1,1,1,-9,2,5411,7270.0,261901 +1100105,27,2619,2,63,1,40,6,6,1,1,-9,2,92113,9380.0,261902 +1100105,27,2620,1,59,2,60,1,1,1,1,-9,4,813M,9170.0,262001 +1100105,27,2620,2,59,1,-9,-9,6,1,1,-9,4,0,0.0,262002 +1100105,27,2621,1,86,1,-9,-9,6,1,1,-9,2,0,0.0,262101 +1100105,27,2621,2,79,2,4,6,6,1,1,-9,4,7111,8561.0,262102 +1100105,27,2622,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,262201 +1100105,27,2622,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,262202 +1100105,27,2623,1,52,1,40,3,1,1,1,16,4,6111,7860.0,262301 +1100105,27,2623,2,47,1,40,1,1,8,1,-9,4,5413,7290.0,262302 +1100105,27,2624,1,37,1,40,1,1,6,1,16,4,81393,9180.0,262401 +1100105,27,2624,2,53,1,40,1,1,1,1,-9,4,52M2,6970.0,262402 +1100105,27,2625,1,37,1,40,1,1,6,1,16,4,81393,9180.0,262501 +1100105,27,2625,2,53,1,40,1,1,1,1,-9,4,52M2,6970.0,262502 +1100105,27,2626,1,37,1,40,1,1,6,1,16,4,81393,9180.0,262601 +1100105,27,2626,2,53,1,40,1,1,1,1,-9,4,52M2,6970.0,262602 +1100105,27,2627,1,43,1,40,1,1,1,1,-9,4,92MP,9470.0,262701 +1100105,27,2627,2,37,1,50,1,1,1,1,-9,2,531M,7071.0,262702 +1100105,27,2628,1,35,1,45,1,1,1,1,-9,4,92M2,9570.0,262801 +1100105,27,2628,2,35,2,45,1,1,1,1,-9,4,813M,9170.0,262802 +1100105,27,2629,1,45,2,40,1,1,1,1,-9,4,813M,9170.0,262901 +1100105,27,2629,2,48,1,40,1,1,1,1,-9,4,6111,7860.0,262902 +1100105,27,2630,1,64,2,40,1,1,1,1,-9,4,6111,7860.0,263001 +1100105,27,2630,2,61,1,45,1,1,1,1,-9,4,5416,7390.0,263002 +1100105,27,2631,1,49,1,38,1,1,1,1,-9,4,5416,7390.0,263101 +1100105,27,2631,2,39,2,40,1,1,1,1,-9,4,5416,7390.0,263102 +1100105,27,2632,1,43,1,40,1,1,1,1,-9,4,92MP,9470.0,263201 +1100105,27,2632,2,37,1,50,1,1,1,1,-9,2,531M,7071.0,263202 +1100105,27,2633,1,35,2,46,1,1,1,23,-9,4,722Z,8680.0,263301 +1100105,27,2633,2,36,1,50,1,1,1,1,-9,4,5417,7460.0,263302 +1100105,27,2634,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,263401 +1100105,27,2634,2,35,1,60,1,1,6,1,-9,4,92MP,9470.0,263402 +1100105,27,2635,1,55,2,40,1,1,9,1,-9,4,928P,9590.0,263501 +1100105,27,2635,2,33,1,40,1,1,1,1,-9,4,23,770.0,263502 +1100105,27,2636,1,35,2,50,1,1,6,1,-9,4,928P,9590.0,263601 +1100105,27,2636,2,28,1,50,1,1,1,1,-9,4,621M,8180.0,263602 +1100105,27,2637,1,36,1,50,1,1,6,1,-9,4,611M1,7870.0,263701 +1100105,27,2637,2,30,2,50,1,1,1,1,-9,4,928P,9590.0,263702 +1100105,27,2638,1,39,1,40,1,1,1,1,-9,4,5415,7380.0,263801 +1100105,27,2638,2,29,2,55,1,1,1,1,-9,4,5614,7590.0,263802 +1100105,27,2639,1,32,2,40,1,1,1,1,-9,4,92M1,9490.0,263901 +1100105,27,2639,2,40,1,40,1,1,1,1,-9,4,8139Z,9190.0,263902 +1100105,27,2640,1,35,1,40,1,4,1,1,-9,1,928110P1,9670.0,264001 +1100105,27,2640,2,27,2,40,1,1,1,1,-9,4,5417,7460.0,264002 +1100105,27,2641,1,35,1,40,1,1,1,16,-9,4,5415,7380.0,264101 +1100105,27,2641,2,33,2,40,1,1,1,1,-9,4,92MP,9470.0,264102 +1100105,27,2642,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,264201 +1100105,27,2642,2,27,2,40,1,1,6,1,16,4,6231,8270.0,264202 +1100105,27,2643,1,26,1,40,1,1,6,1,-9,4,923,9480.0,264301 +1100105,27,2643,2,27,1,40,1,1,6,1,-9,4,52M1,6870.0,264302 +1100105,27,2644,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,264401 +1100105,27,2644,2,27,2,40,1,1,6,1,16,4,6231,8270.0,264402 +1100105,27,2645,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,264501 +1100105,27,2645,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,264502 +1100105,27,2646,1,25,2,40,1,1,6,1,-9,4,92113,9380.0,264601 +1100105,27,2646,2,25,1,40,1,1,1,1,-9,4,336M,3570.0,264602 +1100105,27,2647,1,30,2,55,1,1,6,1,-9,4,6111,7860.0,264701 +1100105,27,2647,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,264702 +1100105,27,2648,1,24,2,40,1,1,1,1,-9,4,5416,7390.0,264801 +1100105,27,2648,2,23,2,40,1,1,6,1,-9,4,5416,7390.0,264802 +1100105,27,2649,1,29,2,50,1,1,6,1,-9,4,5417,7460.0,264901 +1100105,27,2649,2,27,1,40,1,1,1,1,-9,4,92113,9380.0,264902 +1100105,27,2650,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,265001 +1100105,27,2650,2,28,2,24,2,1,1,1,-9,4,5411,7270.0,265002 +1100105,27,2651,1,32,1,90,1,1,1,1,-9,4,713Z,8590.0,265101 +1100105,27,2651,2,26,2,80,1,1,1,1,-9,4,71395,8580.0,265102 +1100105,27,2652,1,32,2,40,1,1,1,1,-9,4,5415,7380.0,265201 +1100105,27,2652,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,265202 +1100105,27,2653,1,31,1,45,1,1,1,1,-9,4,5416,7390.0,265301 +1100105,27,2653,2,30,2,39,1,1,1,1,-9,4,622M,8191.0,265302 +1100105,27,2654,1,30,2,50,1,1,1,1,-9,4,5416,7390.0,265401 +1100105,27,2654,2,24,2,55,1,1,1,1,-9,4,722Z,8680.0,265402 +1100105,27,2655,1,30,1,45,1,1,1,1,16,4,611M1,7870.0,265501 +1100105,27,2655,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,265502 +1100105,27,2656,1,30,1,50,1,1,1,1,-9,4,4237,4265.0,265601 +1100105,27,2656,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,265602 +1100105,27,2657,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,265701 +1100105,27,2657,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,265702 +1100105,27,2658,1,29,2,40,1,1,1,1,-9,4,92MP,9470.0,265801 +1100105,27,2658,2,34,1,60,1,1,1,1,-9,2,5616,7680.0,265802 +1100105,27,2659,1,26,2,50,1,1,1,1,-9,4,5415,7380.0,265901 +1100105,27,2659,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,265902 +1100105,27,2660,1,34,1,40,1,1,1,1,-9,4,813M,9170.0,266001 +1100105,27,2660,2,33,2,40,1,1,1,1,-9,4,928P,9590.0,266002 +1100105,27,2661,1,30,2,50,1,1,1,1,-9,4,6241,8370.0,266101 +1100105,27,2661,2,29,1,45,1,1,1,1,-9,4,5415,7380.0,266102 +1100105,27,2662,1,30,1,40,1,1,1,1,-9,4,8139Z,9190.0,266201 +1100105,27,2662,2,30,2,70,1,1,1,1,-9,4,92M2,9570.0,266202 +1100105,27,2663,1,25,1,50,1,1,1,1,-9,4,5418,7470.0,266301 +1100105,27,2663,2,26,1,45,1,1,1,1,-9,4,813M,9170.0,266302 +1100105,27,2664,1,25,1,50,1,1,1,1,-9,4,5418,7470.0,266401 +1100105,27,2664,2,26,1,45,1,1,1,1,-9,4,813M,9170.0,266402 +1100105,27,2665,1,32,2,50,1,1,1,1,-9,4,5412,7280.0,266501 +1100105,27,2665,2,30,1,40,1,1,1,1,-9,2,5416,7390.0,266502 +1100105,27,2666,1,31,1,45,1,1,1,1,-9,4,5416,7390.0,266601 +1100105,27,2666,2,30,2,39,1,1,1,1,-9,4,622M,8191.0,266602 +1100105,27,2667,1,26,1,55,1,1,1,1,-9,4,5418,7470.0,266701 +1100105,27,2667,2,26,2,60,1,1,1,1,-9,4,5414,7370.0,266702 +1100105,27,2668,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,266801 +1100105,27,2668,2,28,2,24,2,1,1,1,-9,4,5411,7270.0,266802 +1100105,27,2669,1,28,1,40,1,1,1,1,-9,4,531M,7071.0,266901 +1100105,27,2669,2,27,2,40,1,1,1,1,-9,4,722Z,8680.0,266902 +1100105,27,2670,1,30,2,40,1,1,1,1,-9,4,928P,9590.0,267001 +1100105,27,2670,2,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,267002 +1100105,27,2671,1,32,1,50,1,1,1,13,-9,4,8139Z,9190.0,267101 +1100105,27,2671,2,29,2,50,1,1,1,1,-9,4,6111,7860.0,267102 +1100105,27,2672,1,28,2,50,1,1,1,1,16,4,52M2,6970.0,267201 +1100105,27,2672,2,28,1,60,1,1,1,9,-9,4,492,6380.0,267202 +1100105,27,2673,1,68,1,40,1,1,6,1,-9,4,92M1,9490.0,267301 +1100105,27,2673,2,68,2,-9,-9,6,6,1,-9,4,6111,7860.0,267302 +1100105,27,2674,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,267401 +1100105,27,2674,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,267402 +1100105,27,2675,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,267501 +1100105,27,2675,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,267502 +1100105,27,2676,1,61,1,45,1,1,2,1,-9,4,5411,7270.0,267601 +1100105,27,2676,2,61,2,-9,-9,6,2,1,-9,4,0,0.0,267602 +1100105,27,2677,1,58,1,40,3,3,1,1,-9,4,5415,7380.0,267701 +1100105,27,2677,2,57,2,40,1,1,1,1,-9,4,8139Z,9190.0,267702 +1100105,27,2678,1,46,1,40,1,1,1,2,-9,4,813M,9170.0,267801 +1100105,27,2678,2,45,1,40,4,3,1,1,-9,4,7115,8564.0,267802 +1100105,27,2679,1,28,2,48,1,1,1,1,-9,4,5411,7270.0,267901 +1100105,27,2679,2,36,1,45,5,6,1,1,15,4,45121,5370.0,267902 +1100105,27,2680,1,31,2,46,1,1,1,1,-9,4,814,9290.0,268001 +1100105,27,2680,2,33,1,-9,-9,6,1,1,16,4,814,9290.0,268002 +1100105,27,2681,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,268101 +1100105,27,2681,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,268102 +1100105,27,2682,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,268201 +1100105,27,2682,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,268202 +1100105,27,2683,1,51,1,15,1,1,6,1,-9,4,5413,7290.0,268301 +1100105,27,2683,2,47,2,45,1,1,6,1,-9,4,5415,7380.0,268302 +1100105,27,2684,1,44,1,40,1,1,1,1,-9,4,52M1,6870.0,268401 +1100105,27,2684,2,40,1,60,1,1,1,1,-9,4,56173,7770.0,268402 +1100105,27,2685,1,48,1,60,1,1,1,1,-9,4,6111,7860.0,268501 +1100105,27,2685,2,43,2,45,1,1,1,1,-9,4,515,6670.0,268502 +1100105,27,2686,1,37,2,45,1,1,1,1,-9,4,8139Z,9190.0,268601 +1100105,27,2686,2,37,1,40,1,1,8,15,-9,4,5415,7380.0,268602 +1100105,27,2687,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,268701 +1100105,27,2687,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,268702 +1100105,27,2688,1,51,1,30,3,1,1,1,-9,4,611M3,7890.0,268801 +1100105,27,2688,2,34,1,42,1,1,1,1,-9,4,813M,9170.0,268802 +1100105,27,2689,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,268901 +1100105,27,2689,2,52,1,45,1,1,2,1,-9,4,481,6070.0,268902 +1100105,27,2690,1,33,2,40,1,1,1,3,-9,4,6111,7860.0,269001 +1100105,27,2690,2,36,1,40,1,1,1,1,-9,4,92M2,9570.0,269002 +1100105,27,2691,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,269101 +1100105,27,2691,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,269102 +1100105,27,2692,1,29,2,40,1,1,6,1,-9,4,622M,8191.0,269201 +1100105,27,2692,2,29,1,40,1,1,6,1,-9,4,5121,6570.0,269202 +1100105,27,2693,1,29,2,40,1,1,6,1,-9,4,622M,8191.0,269301 +1100105,27,2693,2,29,1,40,1,1,6,1,-9,4,5121,6570.0,269302 +1100105,27,2694,1,29,1,50,1,1,1,1,-9,4,5313,7072.0,269401 +1100105,27,2694,2,28,2,40,1,1,9,1,-9,4,5417,7460.0,269402 +1100105,27,2695,1,24,2,40,1,1,6,1,-9,4,813M,9170.0,269501 +1100105,27,2695,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,269502 +1100105,27,2696,1,25,2,50,1,1,6,1,16,4,611M3,7890.0,269601 +1100105,27,2696,2,25,2,60,1,1,1,1,16,4,6111,7860.0,269602 +1100105,27,2697,1,27,2,40,1,1,6,1,-9,4,622M,8191.0,269701 +1100105,27,2697,2,27,1,50,1,1,1,1,16,4,51111,6470.0,269702 +1100105,27,2698,1,26,2,50,1,1,1,1,-9,4,5418,7470.0,269801 +1100105,27,2698,2,27,1,50,1,1,1,1,16,4,3345,3380.0,269802 +1100105,27,2699,1,27,2,40,3,2,1,1,-9,4,6111,7860.0,269901 +1100105,27,2699,2,27,2,50,1,1,1,1,-9,4,813M,9170.0,269902 +1100105,27,2700,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,270001 +1100105,27,2700,2,30,1,45,1,1,1,1,-9,4,4248,4560.0,270002 +1100105,27,2701,1,33,1,65,1,1,1,1,-9,4,928P,9590.0,270101 +1100105,27,2701,2,30,2,40,1,1,1,1,16,4,611M1,7870.0,270102 +1100105,27,2702,1,31,2,50,1,1,1,1,-9,4,928P,9590.0,270201 +1100105,27,2702,2,33,1,40,1,1,1,1,-9,4,611M1,7870.0,270202 +1100105,27,2703,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,270301 +1100105,27,2703,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,270302 +1100105,27,2704,1,33,1,45,1,1,1,1,-9,4,92M2,9570.0,270401 +1100105,27,2704,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,270402 +1100105,27,2705,1,33,1,65,1,1,1,1,-9,4,928P,9590.0,270501 +1100105,27,2705,2,30,2,40,1,1,1,1,16,4,611M1,7870.0,270502 +1100105,27,2706,1,31,1,70,1,1,1,1,-9,4,8139Z,9190.0,270601 +1100105,27,2706,2,27,2,50,1,1,1,1,-9,4,6111,7860.0,270602 +1100105,27,2707,1,26,2,50,1,1,1,1,-9,4,5418,7470.0,270701 +1100105,27,2707,2,27,1,50,1,1,1,1,16,4,3345,3380.0,270702 +1100105,27,2708,1,32,1,60,1,1,1,1,-9,4,622M,8191.0,270801 +1100105,27,2708,2,26,2,40,2,1,1,1,16,4,622M,8191.0,270802 +1100105,27,2709,1,26,1,45,1,1,1,1,-9,4,5411,7270.0,270901 +1100105,27,2709,2,26,1,50,1,1,1,1,16,4,5411,7270.0,270902 +1100105,27,2710,1,30,2,40,1,1,1,1,-9,4,8139Z,9190.0,271001 +1100105,27,2710,2,29,2,48,1,1,1,1,-9,4,813M,9170.0,271002 +1100105,27,2711,1,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,271101 +1100105,27,2711,2,26,2,40,1,1,1,1,-9,4,3391,3960.0,271102 +1100105,27,2712,1,25,2,45,1,1,1,1,-9,4,517Z,6690.0,271201 +1100105,27,2712,2,28,2,40,1,1,1,1,-9,4,5415,7380.0,271202 +1100105,27,2713,1,31,1,40,1,1,1,4,-9,4,928P,9590.0,271301 +1100105,27,2713,2,23,2,35,1,1,1,1,-9,4,5416,7390.0,271302 +1100105,27,2714,1,38,1,60,1,1,6,1,-9,4,522M,6890.0,271401 +1100105,27,2714,2,43,2,-9,-9,6,6,1,-9,4,0,0.0,271402 +1100105,27,2715,1,35,2,-9,-9,6,1,1,-9,4,0,0.0,271501 +1100105,27,2715,2,35,1,45,1,1,6,1,-9,4,515,6670.0,271502 +1100105,27,2716,1,54,1,45,1,1,1,1,-9,4,928P,9590.0,271601 +1100105,27,2716,2,49,1,10,6,6,1,1,-9,4,812112,8980.0,271602 +1100105,27,2717,1,35,1,40,1,1,6,1,-9,4,5415,7380.0,271701 +1100105,27,2717,2,28,2,40,5,3,1,1,-9,4,5613,7580.0,271702 +1100105,27,2718,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,271801 +1100105,27,2718,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,271802 +1100105,27,2719,1,28,2,-9,-9,6,1,1,16,4,0,0.0,271901 +1100105,27,2719,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,271902 +1100105,27,2720,1,70,2,-9,-9,6,1,1,-9,4,0,0.0,272001 +1100105,27,2720,2,74,1,40,6,6,1,1,-9,2,5416,7390.0,272002 +1100105,27,2721,1,61,1,20,1,1,6,1,-9,4,722Z,8680.0,272101 +1100105,27,2721,2,56,2,20,1,1,6,1,-9,4,7211,8660.0,272102 +1100105,27,2722,1,61,1,40,1,1,1,1,-9,4,4452,4980.0,272201 +1100105,27,2722,2,43,1,40,1,1,6,1,-9,4,4234,4170.0,272202 +1100105,27,2723,1,38,2,40,1,1,2,1,-9,4,7224,8690.0,272301 +1100105,27,2723,2,42,1,25,1,1,1,1,-9,4,7224,8690.0,272302 +1100105,27,2724,1,54,2,32,4,1,1,1,-9,4,23,770.0,272401 +1100105,27,2724,2,57,1,50,1,1,1,1,-9,4,5415,7380.0,272402 +1100105,27,2725,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,272501 +1100105,27,2725,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,272502 +1100105,27,2726,1,31,2,70,1,4,1,1,-9,1,928110P3,9690.0,272601 +1100105,27,2726,2,39,2,70,1,4,3,1,-9,1,928110P2,9680.0,272602 +1100105,27,2727,1,28,1,60,1,1,6,1,-9,4,5417,7460.0,272701 +1100105,27,2727,2,23,1,12,5,1,6,1,16,4,722Z,8680.0,272702 +1100105,27,2728,1,26,2,40,1,1,6,1,-9,4,92119,9390.0,272801 +1100105,27,2728,2,23,1,40,1,1,6,1,-9,4,5416,7390.0,272802 +1100105,27,2729,1,29,1,40,3,1,2,1,-9,4,5417,7460.0,272901 +1100105,27,2729,2,27,1,40,1,1,6,1,-9,4,722Z,8680.0,272902 +1100105,27,2730,1,29,1,40,3,1,2,1,-9,4,5417,7460.0,273001 +1100105,27,2730,2,27,1,40,1,1,6,1,-9,4,722Z,8680.0,273002 +1100105,27,2731,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,273101 +1100105,27,2731,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,273102 +1100105,27,2732,1,29,1,40,1,1,1,1,-9,4,712,8570.0,273201 +1100105,27,2732,2,28,2,40,1,1,6,1,-9,4,5417,7460.0,273202 +1100105,27,2733,1,24,1,50,1,4,6,1,16,1,928110P1,9670.0,273301 +1100105,27,2733,2,24,2,3,1,1,1,1,16,4,713Z,8590.0,273302 +1100105,27,2734,1,27,2,48,2,1,1,1,-9,4,6111,7860.0,273401 +1100105,27,2734,2,30,1,90,4,1,1,1,-9,4,611M3,7890.0,273402 +1100105,27,2735,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,273501 +1100105,27,2735,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,273502 +1100105,27,2736,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,273601 +1100105,27,2736,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,273602 +1100105,27,2737,1,26,1,24,6,1,1,1,16,4,92MP,9470.0,273701 +1100105,27,2737,2,30,2,40,1,1,1,1,-9,4,611M1,7870.0,273702 +1100105,27,2738,1,24,2,40,1,1,1,1,-9,4,7115,8564.0,273801 +1100105,27,2738,2,23,2,40,1,1,1,1,-9,4,813M,9170.0,273802 +1100105,27,2739,1,23,1,43,1,1,1,1,-9,4,5411,7270.0,273901 +1100105,27,2739,2,24,1,40,1,1,1,1,16,4,611M1,7870.0,273902 +1100105,27,2740,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,274001 +1100105,27,2740,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,274002 +1100105,27,2741,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,274101 +1100105,27,2741,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,274102 +1100105,27,2742,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,274201 +1100105,27,2742,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,274202 +1100105,27,2743,1,21,2,40,6,1,1,1,15,4,5191ZM,6780.0,274301 +1100105,27,2743,2,23,2,40,1,1,1,1,-9,4,622M,8191.0,274302 +1100105,27,2744,1,30,1,35,3,1,1,1,-9,4,7115,8564.0,274401 +1100105,27,2744,2,32,1,48,1,1,1,21,-9,4,722Z,8680.0,274402 +1100105,27,2745,1,24,2,40,1,1,1,4,-9,4,9211MP,9370.0,274501 +1100105,27,2745,2,24,2,40,1,1,1,1,-9,4,9211MP,9370.0,274502 +1100105,27,2746,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,274601 +1100105,27,2746,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,274602 +1100105,27,2747,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,274701 +1100105,27,2747,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,274702 +1100105,27,2748,1,72,2,-9,-9,6,2,1,-9,4,0,0.0,274801 +1100105,27,2748,2,53,1,40,1,1,2,1,-9,4,611M3,7890.0,274802 +1100105,27,2749,1,35,2,40,1,2,6,1,16,4,5411,7270.0,274901 +1100105,27,2749,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,274902 +1100105,27,2750,1,51,1,50,4,3,1,1,-9,4,722Z,8680.0,275001 +1100105,27,2750,2,38,2,60,3,1,1,1,-9,4,722Z,8680.0,275002 +1100105,27,2751,1,35,2,50,1,1,1,1,16,4,5417,7460.0,275101 +1100105,27,2751,2,26,2,-9,-9,6,1,1,16,4,0,0.0,275102 +1100105,27,2752,1,35,2,50,1,1,1,1,16,4,5417,7460.0,275201 +1100105,27,2752,2,26,2,-9,-9,6,1,1,16,4,0,0.0,275202 +1100105,27,2753,1,32,2,40,1,1,1,23,16,4,712,8570.0,275301 +1100105,27,2753,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,275302 +1100105,27,2754,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,275401 +1100105,27,2754,2,30,1,-9,-9,6,6,1,16,4,0,0.0,275402 +1100105,27,2755,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,275501 +1100105,27,2755,2,30,1,-9,-9,6,6,1,16,4,0,0.0,275502 +1100105,27,2756,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,275601 +1100105,27,2756,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,275602 +1100105,27,2757,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,275701 +1100105,27,2757,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,275702 +1100105,27,2758,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,275801 +1100105,27,2758,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,275802 +1100105,27,2759,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,275901 +1100105,27,2759,2,30,1,35,6,6,1,1,-9,4,5411,7270.0,275902 +1100105,27,2760,1,25,1,40,1,1,1,1,-9,4,5313,7072.0,276001 +1100105,27,2760,2,25,2,35,6,6,1,1,16,4,8139Z,9190.0,276002 +1100105,27,2761,1,27,2,40,1,1,1,16,16,4,52M1,6870.0,276101 +1100105,27,2761,2,32,1,-9,-9,6,1,16,-9,4,7211,8660.0,276102 +1100105,27,2762,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,276201 +1100105,27,2762,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,276202 +1100105,27,2763,1,63,1,-9,-9,6,6,1,-9,4,0,0.0,276301 +1100105,27,2763,2,63,2,-9,-9,6,6,1,-9,4,0,0.0,276302 +1100105,27,2764,1,44,1,40,1,1,6,1,-9,4,7211,8660.0,276401 +1100105,27,2764,2,41,2,40,4,1,6,1,-9,4,6111,7860.0,276402 +1100105,27,2765,1,29,1,20,3,1,1,1,16,4,611M1,7870.0,276501 +1100105,27,2765,2,29,2,20,1,1,6,1,16,4,611M1,7870.0,276502 +1100105,27,2766,1,21,2,40,1,1,1,1,15,4,611M1,7870.0,276601 +1100105,27,2766,2,20,2,30,1,1,1,1,15,4,713Z,8590.0,276602 +1100105,27,2767,1,23,1,50,1,1,1,1,-9,4,531M,7071.0,276701 +1100105,27,2767,2,23,1,40,1,1,1,1,-9,4,5419Z,7490.0,276702 +1100105,27,2768,1,25,1,50,1,1,1,16,16,4,5417,7460.0,276801 +1100105,27,2768,2,23,2,40,1,1,1,24,16,4,814,9290.0,276802 +1100105,27,2769,1,61,2,40,1,1,6,1,-9,4,7211,8660.0,276901 +1100105,27,2769,2,59,1,-9,-9,3,6,1,-9,4,999920,9920.0,276902 +1100105,27,2770,1,59,2,-9,-9,6,1,1,-9,4,0,0.0,277001 +1100105,27,2770,2,61,1,40,1,1,1,1,-9,4,7211,8660.0,277002 +1100105,27,2771,1,65,2,-9,-9,6,6,1,-9,4,0,0.0,277101 +1100105,27,2771,2,29,2,35,1,1,6,1,16,4,813M,9170.0,277102 +1100105,27,2772,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,277201 +1100105,27,2772,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,277202 +1100105,27,2773,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,277301 +1100105,27,2773,2,29,1,45,1,1,1,1,16,4,6111,7860.0,277302 +1100105,27,2774,1,40,2,24,4,1,6,1,16,4,6111,7860.0,277401 +1100105,27,2774,2,6,1,-9,-9,-9,6,1,3,-9,0,0.0,277402 +1100105,27,2775,1,72,2,-9,-9,6,2,1,-9,4,622M,8191.0,277501 +1100105,27,2775,2,65,1,-9,-9,6,2,1,-9,4,0,0.0,277502 +1100105,27,2776,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,277601 +1100105,27,2776,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,277602 +1100105,27,2777,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,277701 +1100105,27,2777,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,277702 +1100105,27,2778,1,79,2,-9,-9,6,2,1,-9,4,0,0.0,277801 +1100105,27,2778,2,36,1,-9,-9,3,2,1,-9,4,999920,9920.0,277802 +1100105,27,2779,1,25,1,5,5,2,6,1,16,4,611M1,7870.0,277901 +1100105,27,2779,2,25,1,15,4,2,6,1,16,4,611M1,7870.0,277902 +1100105,27,2780,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,278001 +1100105,27,2780,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,278002 +1100105,27,2781,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,278101 +1100105,27,2781,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,278102 +1100105,27,2782,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,278201 +1100105,27,2782,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,278202 +1100105,27,2783,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,278301 +1100105,27,2783,2,20,2,10,3,1,1,1,15,4,7115,8564.0,278302 +1100105,27,2784,1,93,1,-9,-9,6,2,1,-9,4,0,0.0,278401 +1100105,27,2784,2,93,1,-9,-9,6,2,1,-9,2,0,0.0,278402 +1100105,27,2785,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,278501 +1100105,27,2785,2,62,2,-9,-9,6,2,1,-9,4,813M,9170.0,278502 +1100105,27,2786,1,55,2,-9,-9,3,1,1,-9,4,712,8570.0,278601 +1100105,27,2786,2,61,1,-9,-9,3,1,1,-9,4,712,8570.0,278602 +1100105,27,2787,1,50,2,-9,-9,6,6,1,-9,4,4MS,5790.0,278701 +1100105,27,2787,2,22,2,-9,-9,6,6,1,15,4,0,0.0,278702 +1100105,27,2788,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,278801 +1100105,27,2788,2,20,1,30,5,6,1,1,15,4,44413,4880.0,278802 +1100105,27,2789,1,33,2,40,3,6,1,1,-9,4,52M1,6870.0,278901 +1100105,27,2789,2,24,2,-9,-9,6,1,1,-9,4,0,0.0,278902 +1100105,27,2790,1,70,2,40,1,1,2,1,-9,4,611M1,7870.0,279001 +1100105,27,2791,1,68,2,80,1,1,1,1,-9,4,8139Z,9190.0,279101 +1100105,27,2792,1,72,1,50,1,1,1,1,-9,4,923,9480.0,279201 +1100105,27,2793,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,279301 +1100105,27,2794,1,49,1,90,1,1,6,1,-9,4,9211MP,9370.0,279401 +1100105,27,2795,1,35,1,99,2,1,6,1,-9,4,5416,7390.0,279501 +1100105,27,2796,1,63,2,60,1,1,2,1,-9,4,5416,7390.0,279601 +1100105,27,2797,1,38,2,50,1,1,1,1,-9,4,52M2,6970.0,279701 +1100105,27,2798,1,50,1,50,1,1,1,1,16,4,2211P,570.0,279801 +1100105,27,2799,1,60,1,32,1,1,1,1,-9,4,6212,7980.0,279901 +1100105,27,2800,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,280001 +1100105,27,2801,1,51,1,50,1,1,1,1,-9,4,515,6670.0,280101 +1100105,27,2802,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,280201 +1100105,27,2803,1,51,1,65,1,1,1,1,-9,4,622M,8191.0,280301 +1100105,27,2804,1,39,2,60,1,1,1,1,-9,4,52M1,6870.0,280401 +1100105,27,2805,1,46,1,70,1,1,1,1,-9,4,515,6670.0,280501 +1100105,27,2806,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,280601 +1100105,27,2807,1,45,1,40,1,1,1,1,-9,2,5415,7380.0,280701 +1100105,27,2808,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,280801 +1100105,27,2809,1,60,1,32,1,1,1,1,-9,4,6212,7980.0,280901 +1100105,27,2810,1,63,2,50,1,1,1,1,-9,4,611M1,7870.0,281001 +1100105,27,2811,1,48,1,60,1,1,1,1,-9,4,5411,7270.0,281101 +1100105,27,2812,1,35,2,40,1,1,1,1,-9,4,5415,7380.0,281201 +1100105,27,2813,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,281301 +1100105,27,2814,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,281401 +1100105,27,2815,1,63,2,65,1,1,1,1,-9,2,622M,8191.0,281501 +1100105,27,2816,1,48,1,60,1,1,1,1,-9,4,5411,7270.0,281601 +1100105,27,2817,1,41,2,60,1,1,1,1,-9,4,622M,8191.0,281701 +1100105,27,2818,1,35,2,50,1,1,2,3,-9,4,6211,7970.0,281801 +1100105,27,2819,1,50,1,45,1,1,1,3,-9,4,51913,6672.0,281901 +1100105,27,2820,1,30,2,60,1,1,6,1,-9,4,5411,7270.0,282001 +1100105,27,2821,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,282101 +1100105,27,2822,1,33,2,60,1,1,1,1,-9,4,5411,7270.0,282201 +1100105,27,2823,1,30,2,75,1,1,1,1,-9,4,5411,7270.0,282301 +1100105,27,2824,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,282401 +1100105,27,2825,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,282501 +1100105,27,2826,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,282601 +1100105,27,2827,1,68,2,45,1,1,1,1,-9,4,611M1,7870.0,282701 +1100105,27,2828,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,282801 +1100105,27,2829,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,282901 +1100105,27,2830,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,283001 +1100105,27,2831,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,283101 +1100105,27,2832,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,283201 +1100105,27,2833,1,46,2,60,1,1,2,1,-9,4,522M,6890.0,283301 +1100105,27,2834,1,46,2,60,1,1,2,1,-9,4,522M,6890.0,283401 +1100105,27,2835,1,51,1,80,1,1,2,1,-9,4,522M,6890.0,283501 +1100105,27,2836,1,55,2,50,1,1,2,1,-9,2,928P,9590.0,283601 +1100105,27,2837,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,283701 +1100105,27,2838,1,36,2,50,1,1,1,1,-9,4,8139Z,9190.0,283801 +1100105,27,2839,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,283901 +1100105,27,2840,1,49,1,40,1,1,1,1,-9,4,923,9480.0,284001 +1100105,27,2841,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,284101 +1100105,27,2842,1,50,2,70,1,1,1,1,-9,4,92M2,9570.0,284201 +1100105,27,2843,1,60,1,45,1,1,1,1,-9,4,812112,8980.0,284301 +1100105,27,2844,1,39,1,50,1,1,1,1,-9,4,92MP,9470.0,284401 +1100105,27,2845,1,60,1,45,1,1,1,1,-9,4,5416,7390.0,284501 +1100105,27,2846,1,59,1,40,1,1,1,1,-9,4,92M2,9570.0,284601 +1100105,27,2847,1,39,1,40,1,1,1,1,-9,4,5415,7380.0,284701 +1100105,27,2848,1,57,1,40,1,1,1,1,-9,4,928P,9590.0,284801 +1100105,27,2849,1,57,1,40,1,1,1,1,-9,4,928P,9590.0,284901 +1100105,27,2850,1,43,2,50,1,1,1,1,-9,4,4247,4490.0,285001 +1100105,27,2851,1,50,1,60,1,1,1,1,-9,4,611M3,7890.0,285101 +1100105,27,2852,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,285201 +1100105,27,2853,1,49,1,40,1,1,1,1,-9,4,923,9480.0,285301 +1100105,27,2854,1,49,1,40,1,1,1,1,-9,4,923,9480.0,285401 +1100105,27,2855,1,57,1,40,1,1,1,1,-9,4,928P,9590.0,285501 +1100105,27,2856,1,35,2,55,1,1,1,13,-9,4,5411,7270.0,285601 +1100105,27,2857,1,39,1,45,1,1,1,3,-9,4,5415,7380.0,285701 +1100105,27,2858,1,29,1,84,1,1,6,1,-9,4,5613,7580.0,285801 +1100105,27,2859,1,28,1,70,1,1,2,1,-9,4,5416,7390.0,285901 +1100105,27,2860,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,286001 +1100105,27,2861,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,286101 +1100105,27,2862,1,34,2,50,1,1,1,1,-9,4,522M,6890.0,286201 +1100105,27,2863,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,286301 +1100105,27,2864,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,286401 +1100105,27,2865,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,286501 +1100105,27,2866,1,30,2,50,1,1,1,1,-9,4,5411,7270.0,286601 +1100105,27,2867,1,33,1,40,1,1,1,1,-9,2,5411,7270.0,286701 +1100105,27,2868,1,27,1,65,1,1,1,1,-9,4,5411,7270.0,286801 +1100105,27,2869,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,286901 +1100105,27,2870,1,28,1,20,1,1,1,1,-9,4,5615,7670.0,287001 +1100105,27,2871,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,287101 +1100105,27,2872,1,68,1,40,1,1,2,1,-9,3,92MP,9470.0,287201 +1100105,27,2873,1,83,1,18,5,1,1,1,-9,2,5411,7270.0,287301 +1100105,27,2874,1,72,1,35,4,1,1,11,-9,4,611M1,7870.0,287401 +1100105,27,2875,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,287501 +1100105,27,2876,1,46,1,40,1,1,9,1,-9,4,928P,9590.0,287601 +1100105,27,2877,1,35,2,60,1,1,6,1,-9,4,488,6290.0,287701 +1100105,27,2878,1,43,1,40,1,1,6,1,-9,4,5415,7380.0,287801 +1100105,27,2879,1,38,1,50,1,1,6,1,-9,4,5415,7380.0,287901 +1100105,27,2880,1,37,2,40,1,1,6,1,-9,4,5411,7270.0,288001 +1100105,27,2881,1,35,2,60,1,1,6,1,-9,4,488,6290.0,288101 +1100105,27,2882,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,288201 +1100105,27,2883,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,288301 +1100105,27,2884,1,36,2,40,1,1,6,1,-9,4,5416,7390.0,288401 +1100105,27,2885,1,53,2,50,1,1,2,1,-9,4,7211,8660.0,288501 +1100105,27,2886,1,42,2,40,1,1,2,1,-9,4,928P,9590.0,288601 +1100105,27,2887,1,64,2,60,1,1,2,1,-9,4,813M,9170.0,288701 +1100105,27,2888,1,58,1,40,1,1,1,1,-9,4,813M,9170.0,288801 +1100105,27,2889,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,288901 +1100105,27,2890,1,36,1,50,1,1,1,1,16,2,928P,9590.0,289001 +1100105,27,2891,1,47,2,40,1,1,1,1,16,4,928P,9590.0,289101 +1100105,27,2892,1,42,1,50,1,1,1,1,-9,4,928P,9590.0,289201 +1100105,27,2893,1,58,2,50,1,1,1,1,-9,4,23,770.0,289301 +1100105,27,2894,1,46,1,50,1,1,1,1,-9,2,92MP,9470.0,289401 +1100105,27,2895,1,39,2,47,1,1,1,1,-9,4,928P,9590.0,289501 +1100105,27,2896,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,289601 +1100105,27,2897,1,40,2,40,1,1,1,1,-9,4,483,6090.0,289701 +1100105,27,2898,1,49,2,48,1,1,1,1,-9,4,928P,9590.0,289801 +1100105,27,2899,1,37,2,50,1,1,1,1,-9,4,92119,9390.0,289901 +1100105,27,2900,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,290001 +1100105,27,2901,1,53,1,40,1,1,1,1,-9,4,33641M1,3580.0,290101 +1100105,27,2902,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,290201 +1100105,27,2903,1,38,1,40,1,1,1,1,-9,4,712,8570.0,290301 +1100105,27,2904,1,54,2,40,1,1,1,1,-9,4,928P,9590.0,290401 +1100105,27,2905,1,52,1,45,1,1,1,1,-9,4,928P,9590.0,290501 +1100105,27,2906,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,290601 +1100105,27,2907,1,38,2,50,1,1,1,1,-9,4,522M,6890.0,290701 +1100105,27,2908,1,50,2,40,1,1,1,1,-9,4,928P,9590.0,290801 +1100105,27,2909,1,59,1,45,1,1,1,1,-9,4,5221M,6880.0,290901 +1100105,27,2910,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,291001 +1100105,27,2911,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,291101 +1100105,27,2912,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,291201 +1100105,27,2913,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,291301 +1100105,27,2914,1,42,2,52,1,1,1,1,-9,4,5417,7460.0,291401 +1100105,27,2915,1,43,2,45,1,1,1,1,-9,4,5417,7460.0,291501 +1100105,27,2916,1,54,1,40,1,1,1,1,-9,4,23,770.0,291601 +1100105,27,2917,1,42,1,50,1,1,1,1,-9,4,928P,9590.0,291701 +1100105,27,2918,1,37,1,40,1,1,1,1,-9,4,928P,9590.0,291801 +1100105,27,2919,1,45,2,60,1,1,1,1,-9,2,92MP,9470.0,291901 +1100105,27,2920,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,292001 +1100105,27,2921,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,292101 +1100105,27,2922,1,47,1,50,1,1,1,1,-9,4,6241,8370.0,292201 +1100105,27,2923,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,292301 +1100105,27,2924,1,41,1,32,1,1,1,1,-9,4,62132,8070.0,292401 +1100105,27,2925,1,62,2,50,1,1,1,1,-9,2,8139Z,9190.0,292501 +1100105,27,2926,1,41,1,50,1,1,1,1,-9,4,531M,7071.0,292601 +1100105,27,2927,1,54,2,50,1,1,1,1,-9,4,5241,6991.0,292701 +1100105,27,2928,1,57,2,70,1,1,1,16,-9,4,813M,9170.0,292801 +1100105,27,2929,1,39,2,50,3,1,8,2,-9,4,6241,8370.0,292901 +1100105,27,2930,1,39,2,50,3,1,8,2,-9,4,6241,8370.0,293001 +1100105,27,2931,1,62,1,45,1,1,1,24,-9,2,611M3,7890.0,293101 +1100105,27,2932,1,26,2,45,2,1,9,1,-9,4,9211MP,9370.0,293201 +1100105,27,2933,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,293301 +1100105,27,2934,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,293401 +1100105,27,2935,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,293501 +1100105,27,2936,1,34,2,60,1,1,2,1,-9,4,5416,7390.0,293601 +1100105,27,2937,1,29,1,40,1,1,1,1,16,4,5412,7280.0,293701 +1100105,27,2938,1,31,2,40,1,1,1,1,-9,4,5413,7290.0,293801 +1100105,27,2939,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,293901 +1100105,27,2940,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,294001 +1100105,27,2941,1,29,1,40,1,1,1,1,-9,4,813M,9170.0,294101 +1100105,27,2942,1,33,2,50,1,1,1,1,-9,4,92MP,9470.0,294201 +1100105,27,2943,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,294301 +1100105,27,2944,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,294401 +1100105,27,2945,1,33,1,40,3,1,1,1,-9,4,928P,9590.0,294501 +1100105,27,2946,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,294601 +1100105,27,2947,1,34,2,50,1,1,1,1,-9,4,92MP,9470.0,294701 +1100105,27,2948,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,294801 +1100105,27,2949,1,33,2,60,1,1,1,1,-9,4,928P,9590.0,294901 +1100105,27,2950,1,31,1,40,1,1,1,1,-9,2,5413,7290.0,295001 +1100105,27,2951,1,34,2,45,1,1,1,1,-9,4,9211MP,9370.0,295101 +1100105,27,2952,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,295201 +1100105,27,2953,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,295301 +1100105,27,2954,1,32,1,50,1,1,1,1,-9,4,9211MP,9370.0,295401 +1100105,27,2955,1,34,1,40,1,1,1,1,-9,2,5416,7390.0,295501 +1100105,27,2956,1,31,2,40,1,1,1,1,-9,4,923,9480.0,295601 +1100105,27,2957,1,29,1,40,1,1,1,1,16,4,5412,7280.0,295701 +1100105,27,2958,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,295801 +1100105,27,2959,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,295901 +1100105,27,2960,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,296001 +1100105,27,2961,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,296101 +1100105,27,2962,1,77,2,-9,-9,6,1,1,-9,4,5412,7280.0,296201 +1100105,27,2963,1,65,2,40,1,1,2,1,-9,4,5411,7270.0,296301 +1100105,27,2964,1,72,2,40,1,1,2,1,-9,4,5411,7270.0,296401 +1100105,27,2965,1,71,1,40,4,1,2,1,-9,2,484,6170.0,296501 +1100105,27,2966,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,296601 +1100105,27,2967,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,296701 +1100105,27,2968,1,67,2,39,3,1,1,1,-9,4,51912,6770.0,296801 +1100105,27,2969,1,72,1,40,1,2,1,1,-9,4,8129,9090.0,296901 +1100105,27,2970,1,65,1,45,4,1,1,1,-9,4,92M2,9570.0,297001 +1100105,27,2971,1,71,1,56,5,1,1,1,-9,4,5416,7390.0,297101 +1100105,27,2972,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,297201 +1100105,27,2973,1,53,1,40,1,1,6,1,-9,4,712,8570.0,297301 +1100105,27,2974,1,45,2,60,1,1,6,1,-9,4,5414,7370.0,297401 +1100105,27,2975,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,297501 +1100105,27,2976,1,48,1,40,1,1,6,1,-9,4,622M,8191.0,297601 +1100105,27,2977,1,42,2,32,3,1,6,1,-9,4,5417,7460.0,297701 +1100105,27,2978,1,48,1,40,1,1,6,1,-9,4,622M,8191.0,297801 +1100105,27,2979,1,36,1,47,2,1,6,1,-9,4,5417,7460.0,297901 +1100105,27,2980,1,55,2,40,1,1,6,1,-9,4,92113,9380.0,298001 +1100105,27,2981,1,48,1,40,1,1,6,1,-9,4,622M,8191.0,298101 +1100105,27,2982,1,40,2,60,1,1,6,1,-9,4,813M,9170.0,298201 +1100105,27,2983,1,48,1,40,1,1,2,1,-9,4,722Z,8680.0,298301 +1100105,27,2984,1,36,2,40,1,1,2,1,-9,4,92M2,9570.0,298401 +1100105,27,2985,1,64,2,40,1,2,2,1,-9,4,8139Z,9190.0,298501 +1100105,27,2986,1,38,1,40,1,1,2,1,-9,4,9211MP,9370.0,298601 +1100105,27,2987,1,62,1,20,6,1,2,1,-9,3,4853,6190.0,298701 +1100105,27,2988,1,39,2,40,1,1,2,1,-9,4,923,9480.0,298801 +1100105,27,2989,1,43,2,40,1,1,2,1,-9,4,5413,7290.0,298901 +1100105,27,2990,1,43,1,40,1,1,2,1,-9,4,5416,7390.0,299001 +1100105,27,2991,1,52,2,40,4,1,1,1,-9,2,813M,9170.0,299101 +1100105,27,2992,1,35,1,60,1,1,1,1,-9,4,9211MP,9370.0,299201 +1100105,27,2993,1,42,1,40,1,1,1,1,-9,4,9211MP,9370.0,299301 +1100105,27,2994,1,48,2,45,1,1,1,1,-9,4,5411,7270.0,299401 +1100105,27,2995,1,35,1,40,1,1,1,1,-9,4,92MP,9470.0,299501 +1100105,27,2996,1,35,1,55,1,4,1,1,-9,1,928110P5,9780.0,299601 +1100105,27,2997,1,38,2,40,1,1,1,1,-9,4,515,6670.0,299701 +1100105,27,2998,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,299801 +1100105,27,2999,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,299901 +1100105,27,3000,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,300001 +1100105,27,3001,1,35,2,40,1,1,1,1,-9,4,611M1,7870.0,300101 +1100105,27,3002,1,55,1,40,3,1,1,1,-9,2,531M,7071.0,300201 +1100105,27,3003,1,35,2,40,1,1,1,1,-9,4,531M,7071.0,300301 +1100105,27,3004,1,54,1,60,1,1,1,1,-9,4,5414,7370.0,300401 +1100105,27,3005,1,38,2,40,1,1,1,1,-9,4,515,6670.0,300501 +1100105,27,3006,1,43,1,40,1,1,1,1,-9,4,522M,6890.0,300601 +1100105,27,3007,1,57,1,40,4,1,1,1,-9,4,813M,9170.0,300701 +1100105,27,3008,1,48,1,48,1,4,1,1,-9,1,928110P1,9670.0,300801 +1100105,27,3009,1,38,1,50,1,1,1,1,-9,4,5413,7290.0,300901 +1100105,27,3010,1,64,2,40,1,1,1,1,-9,4,621M,8180.0,301001 +1100105,27,3011,1,35,1,50,2,1,1,1,-9,4,928P,9590.0,301101 +1100105,27,3012,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,301201 +1100105,27,3013,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,301301 +1100105,27,3014,1,50,1,25,6,1,1,1,-9,4,5416,7390.0,301401 +1100105,27,3015,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,301501 +1100105,27,3016,1,47,2,50,1,1,1,1,-9,4,611M1,7870.0,301601 +1100105,27,3017,1,48,2,45,1,1,1,1,-9,4,5411,7270.0,301701 +1100105,27,3018,1,35,1,40,1,1,1,1,-9,4,92MP,9470.0,301801 +1100105,27,3019,1,35,1,40,1,1,1,1,-9,4,92MP,9470.0,301901 +1100105,27,3020,1,52,2,40,1,1,1,1,-9,4,8139Z,9190.0,302001 +1100105,27,3021,1,38,1,40,1,1,1,1,-9,4,928P,9590.0,302101 +1100105,27,3022,1,40,2,40,1,1,1,21,-9,4,813M,9170.0,302201 +1100105,27,3023,1,44,2,40,1,1,1,21,-9,4,52M2,6970.0,302301 +1100105,27,3024,1,39,1,50,1,1,1,2,-9,4,481,6070.0,302401 +1100105,27,3025,1,58,1,40,1,1,1,2,-9,4,92113,9380.0,302501 +1100105,27,3026,1,44,2,42,1,1,1,23,-9,4,7211,8660.0,302601 +1100105,27,3027,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,302701 +1100105,27,3028,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,302801 +1100105,27,3029,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,302901 +1100105,27,3030,1,25,1,40,3,1,9,1,-9,4,5413,7290.0,303001 +1100105,27,3031,1,25,2,42,1,1,6,1,-9,4,5416,7390.0,303101 +1100105,27,3032,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,303201 +1100105,27,3033,1,26,2,40,1,1,6,1,16,2,622M,8191.0,303301 +1100105,27,3034,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,303401 +1100105,27,3035,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,303501 +1100105,27,3036,1,26,2,40,1,1,6,1,16,2,622M,8191.0,303601 +1100105,27,3037,1,30,1,42,1,1,6,1,-9,4,813M,9170.0,303701 +1100105,27,3038,1,26,2,40,1,1,6,1,-9,4,611M1,7870.0,303801 +1100105,27,3039,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,303901 +1100105,27,3040,1,26,2,40,1,1,6,1,16,2,92M2,9570.0,304001 +1100105,27,3041,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,304101 +1100105,27,3042,1,31,1,50,1,1,6,1,-9,4,622M,8191.0,304201 +1100105,27,3043,1,25,2,50,4,1,6,1,-9,4,5411,7270.0,304301 +1100105,27,3044,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,304401 +1100105,27,3045,1,30,2,50,1,1,2,1,-9,4,622M,8191.0,304501 +1100105,27,3046,1,34,2,50,1,1,2,1,-9,4,5417,7460.0,304601 +1100105,27,3047,1,34,2,40,1,1,2,1,-9,4,92MP,9470.0,304701 +1100105,27,3048,1,30,2,40,1,1,2,1,-9,4,611M1,7870.0,304801 +1100105,27,3049,1,26,2,50,1,1,2,1,16,4,515,6670.0,304901 +1100105,27,3050,1,24,2,40,1,1,1,1,-9,4,4236,4195.0,305001 +1100105,27,3051,1,26,2,55,1,1,1,1,-9,4,5416,7390.0,305101 +1100105,27,3052,1,30,2,45,1,1,1,1,-9,4,928P,9590.0,305201 +1100105,27,3053,1,29,1,65,1,1,1,1,-9,4,5416,7390.0,305301 +1100105,27,3054,1,27,2,55,1,1,1,1,-9,4,8139Z,9190.0,305401 +1100105,27,3055,1,30,2,40,1,1,1,1,-9,4,443142,4795.0,305501 +1100105,27,3056,1,34,2,55,1,1,1,1,15,4,515,6670.0,305601 +1100105,27,3057,1,30,2,40,1,1,1,1,-9,4,443142,4795.0,305701 +1100105,27,3058,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,305801 +1100105,27,3059,1,34,1,40,1,1,1,1,-9,4,515,6670.0,305901 +1100105,27,3060,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,306001 +1100105,27,3061,1,34,1,40,1,1,1,1,-9,4,813M,9170.0,306101 +1100105,27,3062,1,31,2,50,1,1,1,1,-9,4,92M2,9570.0,306201 +1100105,27,3063,1,27,2,55,1,1,1,1,-9,4,622M,8191.0,306301 +1100105,27,3064,1,33,2,40,4,1,1,1,-9,4,8139Z,9190.0,306401 +1100105,27,3065,1,27,2,45,1,1,1,1,-9,4,611M1,7870.0,306501 +1100105,27,3066,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,306601 +1100105,27,3067,1,28,2,54,1,1,1,1,-9,4,5416,7390.0,306701 +1100105,27,3068,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,306801 +1100105,27,3069,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,306901 +1100105,27,3070,1,29,1,45,1,4,1,1,-9,1,928110P3,9690.0,307001 +1100105,27,3071,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,307101 +1100105,27,3072,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,307201 +1100105,27,3073,1,28,2,40,1,1,1,1,-9,4,6241,8370.0,307301 +1100105,27,3074,1,27,2,40,1,1,1,1,-9,4,92M1,9490.0,307401 +1100105,27,3075,1,29,1,50,1,1,1,1,-9,4,7211,8660.0,307501 +1100105,27,3076,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,307601 +1100105,27,3077,1,34,2,38,1,1,1,1,-9,4,611M3,7890.0,307701 +1100105,27,3078,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,307801 +1100105,27,3079,1,23,2,45,5,1,1,1,-9,4,5416,7390.0,307901 +1100105,27,3080,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,308001 +1100105,27,3081,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,308101 +1100105,27,3082,1,24,2,40,1,1,1,1,-9,4,622M,8191.0,308201 +1100105,27,3083,1,33,1,50,1,1,1,1,-9,4,9211MP,9370.0,308301 +1100105,27,3084,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,308401 +1100105,27,3085,1,34,1,40,1,1,1,1,-9,4,531M,7071.0,308501 +1100105,27,3086,1,27,1,99,1,1,1,1,-9,4,522M,6890.0,308601 +1100105,27,3087,1,24,2,55,4,1,1,1,16,4,5416,7390.0,308701 +1100105,27,3088,1,31,1,50,1,1,1,1,-9,4,813M,9170.0,308801 +1100105,27,3089,1,26,2,4,1,1,1,1,-9,4,5418,7470.0,308901 +1100105,27,3090,1,33,1,50,1,1,1,1,-9,2,5416,7390.0,309001 +1100105,27,3091,1,33,1,40,1,4,1,1,16,1,928110P2,9680.0,309101 +1100105,27,3092,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,309201 +1100105,27,3093,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,309301 +1100105,27,3094,1,25,1,55,1,1,1,1,-9,4,488,6290.0,309401 +1100105,27,3095,1,24,2,40,1,1,1,1,16,4,5416,7390.0,309501 +1100105,27,3096,1,29,1,60,1,1,1,1,-9,4,5111Z,6480.0,309601 +1100105,27,3097,1,31,2,40,1,1,1,1,-9,4,52M2,6970.0,309701 +1100105,27,3098,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,309801 +1100105,27,3099,1,27,2,55,1,1,1,1,-9,4,8139Z,9190.0,309901 +1100105,27,3100,1,29,2,40,1,1,1,1,-9,4,611M1,7870.0,310001 +1100105,27,3101,1,27,2,50,1,1,1,1,-9,4,5417,7460.0,310101 +1100105,27,3102,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,310201 +1100105,27,3103,1,29,2,47,1,1,1,1,-9,4,9211MP,9370.0,310301 +1100105,27,3104,1,27,2,50,1,1,1,1,-9,4,813M,9170.0,310401 +1100105,27,3105,1,25,1,55,1,1,1,1,-9,4,488,6290.0,310501 +1100105,27,3106,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,310601 +1100105,27,3107,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,310701 +1100105,27,3108,1,27,1,43,1,1,1,1,-9,3,5416,7390.0,310801 +1100105,27,3109,1,29,1,50,1,1,1,1,-9,4,3116,1180.0,310901 +1100105,27,3110,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,311001 +1100105,27,3111,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,311101 +1100105,27,3112,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,311201 +1100105,27,3113,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,311301 +1100105,27,3114,1,28,1,40,1,1,1,23,-9,4,813M,9170.0,311401 +1100105,27,3115,1,28,1,40,1,1,1,23,-9,4,813M,9170.0,311501 +1100105,27,3116,1,31,2,55,1,1,1,4,-9,4,5411,7270.0,311601 +1100105,27,3117,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,311701 +1100105,27,3118,1,33,2,40,1,1,2,10,-9,4,5416,7390.0,311801 +1100105,27,3119,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,311901 +1100105,27,3120,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,312001 +1100105,27,3121,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,312101 +1100105,27,3122,1,89,1,-9,-9,6,6,1,-9,2,0,0.0,312201 +1100105,27,3123,1,67,1,-9,-9,6,2,1,-9,4,4481,5170.0,312301 +1100105,27,3124,1,67,1,-9,-9,6,2,1,-9,4,4481,5170.0,312401 +1100105,27,3125,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,312501 +1100105,27,3126,1,65,1,-9,-9,6,1,1,-9,4,923,9480.0,312601 +1100105,27,3127,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,312701 +1100105,27,3128,1,83,2,-9,-9,6,1,1,-9,4,0,0.0,312801 +1100105,27,3129,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,312901 +1100105,27,3130,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,313001 +1100105,27,3131,1,71,2,40,4,6,1,1,-9,4,611M1,7870.0,313101 +1100105,27,3132,1,68,1,-9,-9,6,1,1,-9,3,0,0.0,313201 +1100105,27,3133,1,71,2,20,4,6,1,1,-9,4,5111Z,6480.0,313301 +1100105,27,3134,1,70,2,-9,-9,6,1,1,-9,4,611M3,7890.0,313401 +1100105,27,3135,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,313501 +1100105,27,3136,1,67,1,35,2,6,1,1,15,4,7111,8561.0,313601 +1100105,27,3137,1,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,313701 +1100105,27,3138,1,93,2,-9,-9,6,1,2,-9,4,928P,9590.0,313801 +1100105,27,3139,1,43,2,45,3,3,6,1,-9,4,5416,7390.0,313901 +1100105,27,3140,1,62,1,-9,-9,6,2,1,-9,2,92M2,9570.0,314001 +1100105,27,3141,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,314101 +1100105,27,3142,1,62,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,314201 +1100105,27,3143,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,314301 +1100105,27,3144,1,71,1,20,1,2,2,1,-9,4,481,6070.0,314401 +1100105,27,3145,1,68,2,40,1,1,2,1,-9,4,6214,8090.0,314501 +1100105,27,3146,1,80,1,40,1,1,1,1,-9,2,92M1,9490.0,314601 +1100105,27,3147,1,80,1,40,1,1,1,1,-9,2,92M1,9490.0,314701 +1100105,27,3148,1,80,1,40,1,1,1,1,-9,2,92M1,9490.0,314801 +1100105,27,3149,1,51,1,40,4,1,2,1,-9,2,6241,8370.0,314901 +1100105,27,3150,1,61,1,40,1,1,2,1,-9,2,92119,9390.0,315001 +1100105,27,3151,1,59,1,40,1,1,2,1,-9,2,6214,8090.0,315101 +1100105,27,3152,1,41,1,40,1,1,2,1,-9,4,5414,7370.0,315201 +1100105,27,3153,1,61,1,40,1,1,2,1,-9,2,92119,9390.0,315301 +1100105,27,3154,1,61,1,40,1,1,2,1,-9,2,92119,9390.0,315401 +1100105,27,3155,1,40,1,40,1,1,2,1,-9,4,722Z,8680.0,315501 +1100105,27,3156,1,61,1,40,1,1,2,1,-9,2,92119,9390.0,315601 +1100105,27,3157,1,37,1,50,1,1,1,1,-9,4,9211MP,9370.0,315701 +1100105,27,3158,1,61,1,99,1,1,1,1,-9,4,713Z,8590.0,315801 +1100105,27,3159,1,48,1,65,1,1,1,1,-9,4,813M,9170.0,315901 +1100105,27,3160,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,316001 +1100105,27,3161,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,316101 +1100105,27,3162,1,37,1,40,1,1,1,1,-9,4,813M,9170.0,316201 +1100105,27,3163,1,58,2,40,1,1,1,1,-9,4,713Z,8590.0,316301 +1100105,27,3164,1,42,1,50,1,1,1,1,-9,4,5419Z,7490.0,316401 +1100105,27,3165,1,58,2,40,1,1,1,7,-9,4,5617Z,7690.0,316501 +1100105,27,3166,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,316601 +1100105,27,3167,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,316701 +1100105,27,3168,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,316801 +1100105,27,3169,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,316901 +1100105,27,3170,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,317001 +1100105,27,3171,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,317101 +1100105,27,3172,1,24,1,40,1,1,6,1,-9,2,813M,9170.0,317201 +1100105,27,3173,1,26,2,50,1,1,2,1,-9,4,9211MP,9370.0,317301 +1100105,27,3174,1,25,2,40,4,1,2,1,-9,4,6214,8090.0,317401 +1100105,27,3175,1,24,2,40,1,1,1,1,-9,4,9211MP,9370.0,317501 +1100105,27,3176,1,25,2,60,4,1,1,1,-9,4,611M1,7870.0,317601 +1100105,27,3177,1,28,2,40,5,1,1,1,-9,4,5418,7470.0,317701 +1100105,27,3178,1,27,2,40,3,1,1,1,-9,4,482,6080.0,317801 +1100105,27,3179,1,28,2,50,1,1,1,1,-9,4,722Z,8680.0,317901 +1100105,27,3180,1,27,2,40,3,1,1,1,-9,4,482,6080.0,318001 +1100105,27,3181,1,26,2,40,3,1,1,1,-9,4,611M1,7870.0,318101 +1100105,27,3182,1,28,2,50,5,1,1,1,-9,4,92MP,9470.0,318201 +1100105,27,3183,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,318301 +1100105,27,3184,1,22,2,40,1,1,1,1,15,4,522M,6890.0,318401 +1100105,27,3185,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,318501 +1100105,27,3186,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,318601 +1100105,27,3187,1,27,2,40,3,1,1,1,-9,4,482,6080.0,318701 +1100105,27,3188,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,318801 +1100105,27,3189,1,23,1,45,3,1,1,1,-9,4,454110,5593.0,318901 +1100105,27,3190,1,28,2,50,1,1,1,1,-9,4,722Z,8680.0,319001 +1100105,27,3191,1,28,2,50,1,1,1,1,16,4,611M1,7870.0,319101 +1100105,27,3192,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,319201 +1100105,27,3193,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,319301 +1100105,27,3194,1,34,2,40,5,1,1,1,-9,4,813M,9170.0,319401 +1100105,27,3195,1,23,2,50,1,1,1,11,-9,4,52M1,6870.0,319501 +1100105,27,3196,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,319601 +1100105,27,3197,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,319701 +1100105,27,3198,1,71,1,-9,-9,6,2,1,-9,4,0,0.0,319801 +1100105,27,3199,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,319901 +1100105,27,3200,1,84,1,-9,-9,6,2,1,-9,2,0,0.0,320001 +1100105,27,3201,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,320101 +1100105,27,3202,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,320201 +1100105,27,3203,1,94,2,-9,-9,6,2,1,-9,4,0,0.0,320301 +1100105,27,3204,1,71,1,-9,-9,6,2,1,-9,4,0,0.0,320401 +1100105,27,3205,1,89,2,-9,-9,6,1,1,-9,4,0,0.0,320501 +1100105,27,3206,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,320601 +1100105,27,3207,1,74,2,-9,-9,6,1,1,-9,4,5411,7270.0,320701 +1100105,27,3208,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,320801 +1100105,27,3209,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,320901 +1100105,27,3210,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,321001 +1100105,27,3211,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,321101 +1100105,27,3212,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,321201 +1100105,27,3213,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,321301 +1100105,27,3214,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,321401 +1100105,27,3215,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,321501 +1100105,27,3216,1,53,1,40,3,6,3,1,-9,4,562,7790.0,321601 +1100105,27,3217,1,40,1,30,6,6,2,1,-9,2,5617Z,7690.0,321701 +1100105,27,3218,1,55,1,-9,-9,6,2,1,-9,4,722Z,8680.0,321801 +1100105,27,3219,1,40,1,30,6,6,2,1,-9,2,5617Z,7690.0,321901 +1100105,27,3220,1,42,2,-9,-9,6,1,1,16,4,0,0.0,322001 +1100105,27,3221,1,42,2,-9,-9,6,1,1,16,4,0,0.0,322101 +1100105,27,3222,1,62,1,-9,-9,6,1,1,-9,4,0,0.0,322201 +1100105,27,3223,1,24,2,40,4,6,2,1,16,4,5411,7270.0,322301 +1100105,27,3224,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,322401 +1100105,27,3225,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,322501 +1100105,27,3226,1,69,2,24,1,1,2,1,-9,4,6211,7970.0,322601 +1100105,27,3227,1,67,1,20,1,1,1,1,-9,4,23,770.0,322701 +1100105,27,3228,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,322801 +1100105,27,3229,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,322901 +1100105,27,3230,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,323001 +1100105,27,3231,1,54,1,40,6,1,2,1,-9,4,531M,7071.0,323101 +1100105,27,3232,1,45,1,20,1,1,2,1,-9,4,488,6290.0,323201 +1100105,27,3233,1,56,2,40,3,1,2,1,-9,4,481,6070.0,323301 +1100105,27,3234,1,36,1,8,3,1,2,1,-9,4,8123,9070.0,323401 +1100105,27,3235,1,47,1,40,4,1,1,1,-9,4,722Z,8680.0,323501 +1100105,27,3236,1,53,1,23,4,1,1,1,-9,4,928P,9590.0,323601 +1100105,27,3237,1,60,1,50,1,1,1,1,-9,4,5411,7270.0,323701 +1100105,27,3238,1,64,1,30,1,1,1,1,-9,4,5419Z,7490.0,323801 +1100105,27,3239,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,323901 +1100105,27,3240,1,60,1,50,1,1,1,1,-9,4,5411,7270.0,324001 +1100105,27,3241,1,64,2,4,5,1,1,11,-9,4,7211,8660.0,324101 +1100105,27,3242,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,324201 +1100105,27,3243,1,27,1,30,1,1,9,1,-9,4,712,8570.0,324301 +1100105,27,3244,1,31,2,16,2,1,6,1,-9,4,722Z,8680.0,324401 +1100105,27,3245,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,324501 +1100105,27,3246,1,20,2,40,4,1,6,1,15,4,5412,7280.0,324601 +1100105,27,3247,1,34,2,24,4,1,6,1,-9,4,722Z,8680.0,324701 +1100105,27,3248,1,22,1,30,5,1,2,1,-9,4,611M1,7870.0,324801 +1100105,27,3249,1,24,2,17,1,1,2,1,-9,4,722Z,8680.0,324901 +1100105,27,3250,1,25,1,35,1,1,1,1,16,4,813M,9170.0,325001 +1100105,27,3251,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,325101 +1100105,27,3252,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,325201 +1100105,27,3253,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,325301 +1100105,27,3254,1,26,2,20,6,1,1,1,-9,4,611M1,7870.0,325401 +1100105,27,3255,1,27,1,40,6,1,1,1,-9,4,5415,7380.0,325501 +1100105,27,3256,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,325601 +1100105,27,3257,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,325701 +1100105,27,3258,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,325801 +1100105,27,3259,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,325901 +1100105,27,3260,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,326001 +1100105,27,3261,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,326101 +1100105,27,3262,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,326201 +1100105,27,3263,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,326301 +1100105,27,3264,1,79,2,-9,-9,6,2,1,-9,4,0,0.0,326401 +1100105,27,3265,1,68,1,-9,-9,6,2,1,-9,2,0,0.0,326501 +1100105,27,3266,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,326601 +1100105,27,3267,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,326701 +1100105,27,3268,1,70,2,15,6,6,2,1,-9,4,722Z,8680.0,326801 +1100105,27,3269,1,70,2,15,6,6,2,1,-9,4,722Z,8680.0,326901 +1100105,27,3270,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,327001 +1100105,27,3271,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,327101 +1100105,27,3272,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,327201 +1100105,27,3273,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,327301 +1100105,27,3274,1,94,2,-9,-9,6,2,1,-9,4,0,0.0,327401 +1100105,27,3275,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,327501 +1100105,27,3276,1,70,2,15,6,6,2,1,-9,4,722Z,8680.0,327601 +1100105,27,3277,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,327701 +1100105,27,3278,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,327801 +1100105,27,3279,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,327901 +1100105,27,3280,1,69,1,-9,-9,6,2,1,-9,2,0,0.0,328001 +1100105,27,3281,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,328101 +1100105,27,3282,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,328201 +1100105,27,3283,1,73,2,-9,-9,6,2,1,-9,4,0,0.0,328301 +1100105,27,3284,1,80,1,-9,-9,6,2,1,-9,4,0,0.0,328401 +1100105,27,3285,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,328501 +1100105,27,3286,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,328601 +1100105,27,3287,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,328701 +1100105,27,3288,1,77,2,-9,-9,6,1,1,-9,4,611M3,7890.0,328801 +1100105,27,3289,1,71,2,-9,-9,6,1,1,-9,4,611M3,7890.0,328901 +1100105,27,3290,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,329001 +1100105,27,3291,1,71,2,-9,-9,6,1,1,-9,4,611M3,7890.0,329101 +1100105,27,3292,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,329201 +1100105,27,3293,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,329301 +1100105,27,3294,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,329401 +1100105,27,3295,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,329501 +1100105,27,3296,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,329601 +1100105,27,3297,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,329701 +1100105,27,3298,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,329801 +1100105,27,3299,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,329901 +1100105,27,3300,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,330001 +1100105,27,3301,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,330101 +1100105,27,3302,1,44,2,-9,-9,3,6,1,-9,4,92M1,9490.0,330201 +1100105,27,3303,1,55,2,-9,-9,6,2,1,-9,4,6111,7860.0,330301 +1100105,27,3304,1,56,1,-9,-9,6,2,1,-9,2,0,0.0,330401 +1100105,27,3305,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,330501 +1100105,27,3306,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,330601 +1100105,27,3307,1,56,2,-9,-9,6,2,1,-9,4,0,0.0,330701 +1100105,27,3308,1,51,1,40,5,6,2,1,-9,4,2213M,670.0,330801 +1100105,27,3309,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,330901 +1100105,27,3310,1,53,1,-9,-9,3,2,1,-9,2,4411,4670.0,331001 +1100105,27,3311,1,56,2,-9,-9,6,2,1,-9,4,92M2,9570.0,331101 +1100105,27,3312,1,46,2,-9,-9,6,2,1,-9,4,0,0.0,331201 +1100105,27,3313,1,51,1,-9,-9,6,2,1,-9,4,0,0.0,331301 +1100105,27,3314,1,51,1,40,5,6,2,1,-9,4,2213M,670.0,331401 +1100105,27,3315,1,60,2,-9,-9,6,2,1,-9,4,4523,5391.0,331501 +1100105,27,3316,1,56,1,-9,-9,6,2,1,-9,4,0,0.0,331601 +1100105,27,3317,1,56,1,-9,-9,6,2,1,-9,2,0,0.0,331701 +1100105,27,3318,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,331801 +1100105,27,3319,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,331901 +1100105,27,3320,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,332001 +1100105,27,3321,1,53,1,-9,-9,3,1,1,-9,4,814,9290.0,332101 +1100105,27,3322,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,332201 +1100105,27,3323,1,56,1,29,5,3,1,1,-9,4,5613,7580.0,332301 +1100105,27,3324,1,56,1,29,5,3,1,1,-9,4,5613,7580.0,332401 +1100105,27,3325,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,332501 +1100105,27,3326,1,56,2,-9,-9,3,1,1,16,4,5413,7290.0,332601 +1100105,27,3327,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,332701 +1100105,27,3328,1,44,1,-9,-9,6,1,1,-9,4,0,0.0,332801 +1100105,27,3329,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,332901 +1100105,27,3330,1,45,2,35,5,3,1,16,-9,4,6211,7970.0,333001 +1100105,27,3331,1,26,1,-9,-9,6,6,1,-9,4,0,0.0,333101 +1100105,27,3332,1,22,2,45,3,6,6,1,16,4,23,770.0,333201 +1100105,27,3333,1,23,2,40,6,6,6,1,15,4,611M1,7870.0,333301 +1100105,27,3334,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,333401 +1100105,27,3335,1,34,2,-9,-9,6,1,1,16,4,0,0.0,333501 +1100105,27,3336,1,28,1,55,5,6,1,1,16,4,52M1,6870.0,333601 +1100105,27,3337,1,34,2,-9,-9,6,1,1,16,4,0,0.0,333701 +1100105,27,3338,1,24,2,20,6,6,1,1,16,4,5411,7270.0,333801 +1100105,27,3339,1,28,1,55,5,6,1,1,16,4,52M1,6870.0,333901 +1100105,27,3340,1,24,2,20,6,6,1,1,16,4,5411,7270.0,334001 +1100105,27,3341,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,334101 +1100105,27,3342,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,334201 +1100105,27,3343,1,28,2,8,6,3,8,19,-9,4,814,9290.0,334301 +1100105,28,3344,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,334401 +1100105,28,3344,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,334402 +1100105,28,3344,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,334403 +1100105,28,3344,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,334404 +1100105,28,3345,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,334501 +1100105,28,3345,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,334502 +1100105,28,3345,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,334503 +1100105,28,3345,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,334504 +1100105,28,3346,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,334601 +1100105,28,3346,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,334602 +1100105,28,3346,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,334603 +1100105,28,3346,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,334604 +1100105,28,3347,1,32,2,40,1,1,1,11,-9,4,722Z,8680.0,334701 +1100105,28,3347,2,16,2,-9,-9,6,1,11,13,-9,0,0.0,334702 +1100105,28,3347,3,13,1,-9,-9,-9,1,11,9,-9,0,0.0,334703 +1100105,28,3347,4,6,1,-9,-9,-9,1,11,3,-9,0,0.0,334704 +1100105,28,3347,5,35,1,40,1,1,1,11,-9,4,4MS,5790.0,334705 +1100105,28,3348,1,33,1,40,1,1,6,1,-9,4,928P,9590.0,334801 +1100105,28,3348,2,32,2,40,3,1,6,1,-9,4,92MP,9470.0,334802 +1100105,28,3348,3,0,2,-9,-9,-9,6,1,-9,-9,0,0.0,334803 +1100105,28,3349,1,25,2,58,1,1,1,1,-9,4,531M,7071.0,334901 +1100105,28,3349,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,334902 +1100105,28,3349,3,24,2,50,1,1,1,1,-9,4,5418,7470.0,334903 +1100105,28,3350,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,335001 +1100105,28,3350,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,335002 +1100105,28,3350,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,335003 +1100105,28,3351,1,37,1,60,1,1,1,1,-9,4,5418,7470.0,335101 +1100105,28,3351,2,42,1,50,1,1,6,1,-9,4,9211MP,9370.0,335102 +1100105,28,3352,1,56,2,40,1,1,1,1,-9,4,92M2,9570.0,335201 +1100105,28,3352,2,55,1,40,1,1,1,1,-9,4,9211MP,9370.0,335202 +1100105,28,3353,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,335301 +1100105,28,3353,2,35,1,40,1,1,1,1,-9,4,5411,7270.0,335302 +1100105,28,3354,1,27,2,65,3,1,1,1,-9,4,5411,7270.0,335401 +1100105,28,3354,2,27,1,50,1,1,1,1,-9,4,5416,7390.0,335402 +1100105,28,3355,1,30,1,60,1,1,1,1,-9,4,611M3,7890.0,335501 +1100105,28,3355,2,31,2,40,1,1,1,1,-9,4,491,6370.0,335502 +1100105,28,3356,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,335601 +1100105,28,3356,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,335602 +1100105,28,3357,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,335701 +1100105,28,3357,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,335702 +1100105,28,3358,1,37,1,40,1,1,6,1,16,4,81393,9180.0,335801 +1100105,28,3358,2,53,1,40,1,1,1,1,-9,4,52M2,6970.0,335802 +1100105,28,3359,1,52,1,50,1,1,1,1,-9,4,44511,4971.0,335901 +1100105,28,3359,2,45,1,40,1,1,1,1,-9,4,92MP,9470.0,335902 +1100105,28,3360,1,36,1,40,1,1,1,1,-9,4,5419Z,7490.0,336001 +1100105,28,3360,2,30,1,45,1,1,1,1,16,4,813M,9170.0,336002 +1100105,28,3361,1,29,1,40,1,1,6,1,-9,4,92MP,9470.0,336101 +1100105,28,3361,2,33,2,40,1,1,1,1,-9,4,722Z,8680.0,336102 +1100105,28,3362,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,336201 +1100105,28,3362,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,336202 +1100105,28,3363,1,32,1,50,1,1,1,1,-9,4,92MP,9470.0,336301 +1100105,28,3363,2,28,1,40,1,1,1,1,-9,4,522M,6890.0,336302 +1100105,28,3364,1,28,2,50,1,1,6,1,-9,4,92MP,9470.0,336401 +1100105,28,3364,2,29,2,40,1,1,1,1,-9,4,5221M,6880.0,336402 +1100105,28,3365,1,29,1,40,1,1,1,1,-9,2,5411,7270.0,336501 +1100105,28,3365,2,27,2,40,1,1,1,1,-9,4,5418,7470.0,336502 +1100105,28,3366,1,29,2,40,1,1,1,1,-9,4,5415,7380.0,336601 +1100105,28,3366,2,22,2,45,4,1,1,1,-9,4,5418,7470.0,336602 +1100105,28,3367,1,24,2,40,1,1,1,1,-9,4,5614,7590.0,336701 +1100105,28,3367,2,24,2,48,1,1,1,1,-9,4,622M,8191.0,336702 +1100105,28,3368,1,28,1,40,6,3,1,1,-9,4,337,3895.0,336801 +1100105,28,3368,2,26,2,50,1,1,6,1,16,4,5411,7270.0,336802 +1100105,28,3369,1,30,1,40,1,4,1,1,16,1,928110P3,9690.0,336901 +1100105,28,3369,2,29,2,-9,-9,6,1,1,16,4,6111,7860.0,336902 +1100105,28,3370,1,21,2,40,1,1,1,1,15,4,611M1,7870.0,337001 +1100105,28,3370,2,20,2,30,1,1,1,1,15,4,713Z,8590.0,337002 +1100105,28,3371,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,337101 +1100105,28,3371,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,337102 +1100105,28,3372,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,337201 +1100105,28,3372,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,337202 +1100105,28,3373,1,48,2,40,1,1,1,1,-9,4,813M,9170.0,337301 +1100105,28,3374,1,43,2,60,1,1,1,1,-9,4,622M,8191.0,337401 +1100105,28,3375,1,49,1,40,1,1,1,1,-9,4,923,9480.0,337501 +1100105,28,3376,1,49,1,40,1,1,1,1,-9,4,923,9480.0,337601 +1100105,28,3377,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,337701 +1100105,28,3378,1,46,2,55,1,1,6,1,-9,4,5613,7580.0,337801 +1100105,28,3379,1,35,2,50,1,1,2,1,-9,4,5416,7390.0,337901 +1100105,28,3380,1,39,2,40,1,1,1,1,-9,4,92M2,9570.0,338001 +1100105,28,3381,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,338101 +1100105,28,3382,1,43,1,60,2,1,1,1,-9,4,92MP,9470.0,338201 +1100105,28,3383,1,35,1,40,1,1,1,1,-9,4,5417,7460.0,338301 +1100105,28,3384,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,338401 +1100105,28,3385,1,25,2,40,1,1,1,1,16,4,3391,3960.0,338501 +1100105,28,3386,1,27,1,60,1,1,1,1,-9,4,5419Z,7490.0,338601 +1100105,28,3387,1,25,2,60,1,1,1,1,16,4,5416,7390.0,338701 +1100105,28,3388,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,338801 +1100105,28,3389,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,338901 +1100105,28,3390,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,339001 +1100105,28,3391,1,43,2,40,1,1,2,1,-9,4,5413,7290.0,339101 +1100105,28,3392,1,41,1,36,1,1,1,1,-9,4,812112,8980.0,339201 +1100105,28,3393,1,35,1,45,1,1,1,1,-9,4,515,6670.0,339301 +1100105,28,3394,1,35,1,50,2,1,1,1,-9,4,928P,9590.0,339401 +1100105,28,3395,1,59,2,45,1,1,1,8,-9,4,813M,9170.0,339501 +1100105,28,3396,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,339601 +1100105,28,3397,1,31,2,28,1,1,6,1,-9,4,5419Z,7490.0,339701 +1100105,28,3398,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,339801 +1100105,28,3399,1,30,2,50,1,1,2,1,-9,4,622M,8191.0,339901 +1100105,28,3400,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,340001 +1100105,28,3401,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,340101 +1100105,28,3402,1,30,2,45,1,1,1,1,-9,4,814,9290.0,340201 +1100105,28,3403,1,33,1,50,1,1,1,1,-9,4,9211MP,9370.0,340301 +1100105,28,3404,1,30,2,45,1,1,1,1,-9,4,814,9290.0,340401 +1100105,28,3405,1,33,2,50,1,1,1,1,-9,4,5413,7290.0,340501 +1100105,28,3406,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,340601 +1100105,28,3407,1,76,1,-9,-9,6,2,1,-9,2,0,0.0,340701 +1100105,28,3408,1,65,1,-9,-9,6,1,1,-9,4,923,9480.0,340801 +1100105,28,3409,1,61,1,35,4,1,2,1,-9,4,484,6170.0,340901 +1100105,28,3410,1,61,1,99,1,1,1,1,-9,4,713Z,8590.0,341001 +1100105,28,3411,1,30,2,40,1,1,6,1,-9,4,5411,7270.0,341101 +1100105,28,3412,1,27,2,50,1,1,1,1,16,4,611M1,7870.0,341201 +1100105,28,3413,1,25,1,35,1,1,1,1,-9,4,813M,9170.0,341301 +1100105,28,3414,1,23,2,50,1,1,1,11,-9,4,52M1,6870.0,341401 +1100105,28,3415,1,86,2,-9,-9,6,2,1,-9,4,0,0.0,341501 +1100105,28,3416,1,67,2,-9,-9,6,1,1,-9,4,0,0.0,341601 +1100105,28,3417,1,64,1,25,5,1,2,1,-9,4,44511,4971.0,341701 +1100105,28,3418,1,47,1,40,4,1,1,1,-9,4,722Z,8680.0,341801 +1100105,28,3419,1,26,2,30,1,1,1,1,16,4,611M1,7870.0,341901 +1100105,28,3420,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,342001 +1100105,28,3421,1,87,1,-9,-9,6,2,1,-9,4,0,0.0,342101 +1100105,28,3422,1,73,1,-9,-9,6,2,1,-9,4,0,0.0,342201 +1100105,28,3423,1,73,2,-9,-9,6,2,1,-9,4,5613,7580.0,342301 +1100105,28,3424,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,342401 +1100105,28,3425,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,342501 +1100105,28,3426,1,53,1,-9,-9,6,2,1,-9,2,0,0.0,342601 +1100105,28,3427,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,342701 +1100105,28,3428,1,53,1,-9,-9,3,1,1,-9,4,814,9290.0,342801 +1100105,28,3429,1,34,2,-9,-9,6,1,1,16,4,0,0.0,342901 +1100105,29,3430,1,26,1,42,1,1,1,1,-9,4,5121,6570.0,343001 +1100105,29,3430,2,30,1,40,1,1,1,1,-9,4,517311,6680.0,343002 +1100105,29,3430,3,28,1,40,1,1,1,1,-9,4,492,6380.0,343003 +1100105,29,3430,4,23,1,50,1,1,1,1,-9,4,7211,8660.0,343004 +1100105,29,3431,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,343101 +1100105,29,3431,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,343102 +1100105,29,3431,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,343103 +1100105,29,3431,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,343104 +1100105,29,3432,1,68,1,-9,-9,6,2,1,-9,4,0,0.0,343201 +1100105,29,3432,2,71,2,-9,-9,6,9,1,-9,4,0,0.0,343202 +1100105,29,3432,3,47,1,40,1,1,2,1,-9,4,6242,8380.0,343203 +1100105,29,3432,4,77,1,-9,-9,6,2,1,-9,4,0,0.0,343204 +1100105,29,3433,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,343301 +1100105,29,3433,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,343302 +1100105,29,3433,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,343303 +1100105,29,3433,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,343304 +1100105,29,3434,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,343401 +1100105,29,3434,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,343402 +1100105,29,3434,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,343403 +1100105,29,3434,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,343404 +1100105,29,3435,1,62,1,40,1,1,8,11,-9,4,44511,4971.0,343501 +1100105,29,3435,2,52,2,-9,-9,6,8,11,-9,4,0,0.0,343502 +1100105,29,3435,3,17,2,-9,-9,6,8,11,13,4,0,0.0,343503 +1100105,29,3435,4,13,2,-9,-9,-9,8,11,9,-9,0,0.0,343504 +1100105,29,3436,1,45,1,40,1,1,1,1,-9,4,515,6670.0,343601 +1100105,29,3436,2,42,2,40,1,1,6,1,-9,4,515,6670.0,343602 +1100105,29,3436,3,2,1,-9,-9,-9,8,1,-9,-9,0,0.0,343603 +1100105,29,3437,1,40,1,60,1,1,1,1,-9,4,5411,7270.0,343701 +1100105,29,3437,2,37,2,30,1,1,1,1,-9,4,713Z,8590.0,343702 +1100105,29,3437,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,343703 +1100105,29,3438,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,343801 +1100105,29,3438,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,343802 +1100105,29,3438,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,343803 +1100105,29,3439,1,47,1,40,1,1,1,1,-9,4,813M,9170.0,343901 +1100105,29,3439,2,39,2,40,1,1,1,1,-9,4,81393,9180.0,343902 +1100105,29,3439,3,3,1,-9,-9,-9,1,1,-9,-9,0,0.0,343903 +1100105,29,3440,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,344001 +1100105,29,3440,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,344002 +1100105,29,3440,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,344003 +1100105,29,3441,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,344101 +1100105,29,3441,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,344102 +1100105,29,3441,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,344103 +1100105,29,3442,1,46,2,35,1,2,6,1,-9,4,6111,7860.0,344201 +1100105,29,3442,2,45,1,40,1,1,6,1,-9,4,722Z,8680.0,344202 +1100105,29,3443,1,59,1,45,1,1,1,1,-9,4,5417,7460.0,344301 +1100105,29,3443,2,49,1,43,2,1,9,1,-9,4,5411,7270.0,344302 +1100105,29,3444,1,38,2,40,1,1,6,1,-9,4,813M,9170.0,344401 +1100105,29,3444,2,38,1,50,1,1,1,1,-9,4,92M2,9570.0,344402 +1100105,29,3445,1,46,2,40,1,1,1,1,-9,4,928P,9590.0,344501 +1100105,29,3445,2,45,1,50,1,1,1,1,-9,4,5112,6490.0,344502 +1100105,29,3446,1,41,1,40,1,1,1,1,-9,4,5411,7270.0,344601 +1100105,29,3446,2,60,1,40,1,1,1,1,-9,4,928P,9590.0,344602 +1100105,29,3447,1,41,1,60,1,1,1,1,-9,4,5191ZM,6780.0,344701 +1100105,29,3447,2,40,2,30,1,1,1,1,-9,4,8122,9080.0,344702 +1100105,29,3448,1,61,1,40,1,1,1,1,-9,4,611M1,7870.0,344801 +1100105,29,3448,2,52,2,40,1,1,1,1,-9,4,5242,6992.0,344802 +1100105,29,3449,1,37,2,40,1,1,1,5,-9,4,522M,6890.0,344901 +1100105,29,3449,2,35,2,40,1,1,1,1,-9,4,928P,9590.0,344902 +1100105,29,3450,1,37,1,55,1,1,1,1,-9,4,443142,4795.0,345001 +1100105,29,3450,2,29,2,40,1,1,1,1,-9,4,5417,7460.0,345002 +1100105,29,3451,1,27,1,55,1,1,6,1,-9,4,5416,7390.0,345101 +1100105,29,3451,2,28,2,35,1,1,6,1,-9,4,5415,7380.0,345102 +1100105,29,3452,1,32,1,45,1,1,1,1,-9,4,52M1,6870.0,345201 +1100105,29,3452,2,34,2,45,1,1,6,1,-9,4,522M,6890.0,345202 +1100105,29,3453,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,345301 +1100105,29,3453,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,345302 +1100105,29,3454,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,345401 +1100105,29,3454,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,345402 +1100105,29,3455,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,345501 +1100105,29,3455,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,345502 +1100105,29,3456,1,40,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,345601 +1100105,29,3456,2,49,1,45,1,1,1,1,-9,4,5417,7460.0,345602 +1100105,29,3457,1,86,1,-9,-9,6,1,1,-9,2,0,0.0,345701 +1100105,29,3457,2,79,2,4,6,6,1,1,-9,4,7111,8561.0,345702 +1100105,29,3458,1,37,1,40,1,1,6,1,16,4,81393,9180.0,345801 +1100105,29,3458,2,53,1,40,1,1,1,1,-9,4,52M2,6970.0,345802 +1100105,29,3459,1,41,2,45,1,1,1,1,-9,4,6244,8470.0,345901 +1100105,29,3459,2,41,1,40,1,1,1,1,-9,2,92MP,9470.0,345902 +1100105,29,3460,1,35,1,50,1,1,9,1,-9,4,92M2,9570.0,346001 +1100105,29,3460,2,27,2,40,1,1,1,1,-9,4,4481,5170.0,346002 +1100105,29,3461,1,35,2,50,1,1,6,1,-9,4,928P,9590.0,346101 +1100105,29,3461,2,28,1,50,1,1,1,1,-9,4,621M,8180.0,346102 +1100105,29,3462,1,37,2,45,3,1,1,1,-9,4,928P,9590.0,346201 +1100105,29,3462,2,34,1,40,1,1,1,1,-9,4,5417,7460.0,346202 +1100105,29,3463,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,346301 +1100105,29,3463,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,346302 +1100105,29,3464,1,30,1,45,1,1,1,1,-9,4,9211MP,9370.0,346401 +1100105,29,3464,2,25,1,45,1,1,1,1,-9,4,9211MP,9370.0,346402 +1100105,29,3465,1,32,1,90,1,1,1,1,-9,4,713Z,8590.0,346501 +1100105,29,3465,2,26,2,80,1,1,1,1,-9,4,71395,8580.0,346502 +1100105,29,3466,1,26,2,45,1,1,1,1,-9,4,522M,6890.0,346601 +1100105,29,3466,2,30,1,50,1,1,1,1,16,4,5242,6992.0,346602 +1100105,29,3467,1,60,2,40,1,1,1,1,-9,4,8139Z,9190.0,346701 +1100105,29,3467,2,57,2,-9,-9,6,1,1,-9,4,5416,7390.0,346702 +1100105,29,3468,1,46,1,40,1,1,1,2,-9,4,813M,9170.0,346801 +1100105,29,3468,2,45,1,40,4,3,1,1,-9,4,7115,8564.0,346802 +1100105,29,3469,1,47,1,40,1,1,1,1,-9,4,813M,9170.0,346901 +1100105,29,3469,2,42,1,40,3,1,1,1,-9,4,6111,7860.0,346902 +1100105,29,3470,1,26,2,37,1,1,1,1,-9,4,5418,7470.0,347001 +1100105,29,3470,2,26,2,50,1,1,6,1,-9,4,5416,7390.0,347002 +1100105,29,3471,1,24,1,76,1,1,1,1,-9,4,622M,8191.0,347101 +1100105,29,3471,2,24,1,30,3,1,1,1,16,4,92M2,9570.0,347102 +1100105,29,3472,1,29,1,40,1,1,1,1,-9,2,5411,7270.0,347201 +1100105,29,3472,2,27,2,40,1,1,1,1,-9,4,5418,7470.0,347202 +1100105,29,3473,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,347301 +1100105,29,3473,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,347302 +1100105,29,3474,1,27,2,8,6,6,1,1,16,4,813M,9170.0,347401 +1100105,29,3474,2,29,1,50,1,1,1,1,-9,4,52M2,6970.0,347402 +1100105,29,3475,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,347501 +1100105,29,3475,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,347502 +1100105,29,3476,1,26,1,24,6,1,1,1,16,4,92MP,9470.0,347601 +1100105,29,3476,2,30,2,40,1,1,1,1,-9,4,611M1,7870.0,347602 +1100105,29,3477,1,35,2,50,1,1,1,1,16,4,5417,7460.0,347701 +1100105,29,3477,2,26,2,-9,-9,6,1,1,16,4,0,0.0,347702 +1100105,29,3478,1,28,1,40,6,3,1,1,-9,4,337,3895.0,347801 +1100105,29,3478,2,26,2,50,1,1,6,1,16,4,5411,7270.0,347802 +1100105,29,3479,1,26,1,-9,-9,6,1,1,16,4,92M2,9570.0,347901 +1100105,29,3479,2,26,2,45,1,1,1,1,-9,4,611M1,7870.0,347902 +1100105,29,3480,1,81,1,-9,-9,6,1,1,-9,4,7115,8564.0,348001 +1100105,29,3480,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,348002 +1100105,29,3481,1,24,1,-9,-9,6,6,1,16,4,0,0.0,348101 +1100105,29,3481,2,23,1,5,6,1,6,1,16,4,611M1,7870.0,348102 +1100105,29,3482,1,50,2,-9,-9,6,2,1,-9,4,6216,8170.0,348201 +1100105,29,3482,2,65,1,-9,-9,6,2,1,-9,2,0,0.0,348202 +1100105,29,3483,1,37,1,45,1,1,1,1,-9,4,52M1,6870.0,348301 +1100105,29,3484,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,348401 +1100105,29,3485,1,55,2,50,1,1,1,1,-9,4,5614,7590.0,348501 +1100105,29,3486,1,51,1,65,1,1,1,1,-9,4,622M,8191.0,348601 +1100105,29,3487,1,61,2,40,1,1,1,1,-9,4,8139Z,9190.0,348701 +1100105,29,3488,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,348801 +1100105,29,3489,1,64,2,60,1,1,1,3,-9,4,5416,7390.0,348901 +1100105,29,3490,1,32,1,60,1,1,1,1,-9,4,522M,6890.0,349001 +1100105,29,3491,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,349101 +1100105,29,3492,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,349201 +1100105,29,3493,1,53,1,48,1,1,2,1,-9,4,928P,9590.0,349301 +1100105,29,3494,1,50,2,50,1,1,1,1,-9,4,5411,7270.0,349401 +1100105,29,3495,1,51,1,40,1,1,1,1,-9,4,522M,6890.0,349501 +1100105,29,3496,1,49,1,40,1,1,1,1,-9,4,92M2,9570.0,349601 +1100105,29,3497,1,50,1,60,1,1,1,1,-9,4,611M3,7890.0,349701 +1100105,29,3498,1,23,1,40,4,1,1,1,-9,4,5241,6991.0,349801 +1100105,29,3499,1,28,1,20,1,1,1,1,-9,4,5615,7670.0,349901 +1100105,29,3500,1,39,2,50,1,1,9,1,-9,4,813M,9170.0,350001 +1100105,29,3501,1,57,1,42,1,1,6,1,-9,4,928P,9590.0,350101 +1100105,29,3502,1,37,1,40,1,1,6,1,-9,4,515,6670.0,350201 +1100105,29,3503,1,60,2,60,1,1,2,1,-9,4,5416,7390.0,350301 +1100105,29,3504,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,350401 +1100105,29,3505,1,36,1,45,1,1,1,1,-9,4,5419Z,7490.0,350501 +1100105,29,3506,1,36,1,45,1,1,1,1,-9,4,5419Z,7490.0,350601 +1100105,29,3507,1,58,2,50,1,1,1,1,-9,4,23,770.0,350701 +1100105,29,3508,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,350801 +1100105,29,3509,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,350901 +1100105,29,3510,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,351001 +1100105,29,3511,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,351101 +1100105,29,3512,1,39,2,60,1,1,1,1,15,4,923,9480.0,351201 +1100105,29,3513,1,53,1,50,1,1,1,1,-9,4,8139Z,9190.0,351301 +1100105,29,3514,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,351401 +1100105,29,3515,1,28,1,55,1,1,6,1,-9,4,5416,7390.0,351501 +1100105,29,3516,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,351601 +1100105,29,3517,1,29,2,45,1,1,1,1,-9,4,813M,9170.0,351701 +1100105,29,3518,1,33,1,40,1,1,1,1,-9,4,9211MP,9370.0,351801 +1100105,29,3519,1,34,2,45,1,1,1,1,-9,4,92M2,9570.0,351901 +1100105,29,3520,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,352001 +1100105,29,3521,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,352101 +1100105,29,3522,1,43,2,60,1,1,6,1,-9,4,6244,8470.0,352201 +1100105,29,3523,1,43,1,40,1,1,2,1,-9,4,5416,7390.0,352301 +1100105,29,3524,1,36,2,50,1,1,1,1,-9,4,813M,9170.0,352401 +1100105,29,3525,1,41,2,50,1,1,1,1,-9,4,8139Z,9190.0,352501 +1100105,29,3526,1,41,1,36,1,1,1,1,-9,4,812112,8980.0,352601 +1100105,29,3527,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,352701 +1100105,29,3528,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,352801 +1100105,29,3529,1,39,1,50,1,1,1,2,-9,4,481,6070.0,352901 +1100105,29,3530,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,353001 +1100105,29,3531,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,353101 +1100105,29,3532,1,30,1,42,1,1,6,1,-9,4,813M,9170.0,353201 +1100105,29,3533,1,31,1,45,2,1,2,1,-9,4,5416,7390.0,353301 +1100105,29,3534,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,353401 +1100105,29,3535,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,353501 +1100105,29,3536,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,353601 +1100105,29,3537,1,28,1,60,1,1,1,1,-9,4,92MP,9470.0,353701 +1100105,29,3538,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,353801 +1100105,29,3539,1,29,1,50,1,1,1,1,-9,4,3116,1180.0,353901 +1100105,29,3540,1,26,2,80,2,1,1,1,-9,4,5416,7390.0,354001 +1100105,29,3541,1,27,2,55,1,1,1,1,16,4,813M,9170.0,354101 +1100105,29,3542,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,354201 +1100105,29,3543,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,354301 +1100105,29,3544,1,83,2,-9,-9,6,1,1,-9,4,0,0.0,354401 +1100105,29,3545,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,354501 +1100105,29,3546,1,71,1,20,1,2,2,1,-9,4,481,6070.0,354601 +1100105,29,3547,1,51,2,50,1,1,2,1,-9,4,7211,8660.0,354701 +1100105,29,3548,1,36,1,40,3,2,1,1,-9,4,5417,7460.0,354801 +1100105,29,3549,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,354901 +1100105,29,3550,1,25,2,40,1,1,1,1,-9,4,92M2,9570.0,355001 +1100105,29,3551,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,355101 +1100105,29,3552,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,355201 +1100105,29,3553,1,86,2,-9,-9,6,2,1,-9,4,0,0.0,355301 +1100105,29,3554,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,355401 +1100105,29,3555,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,355501 +1100105,29,3556,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,355601 +1100105,29,3557,1,54,1,40,6,1,2,1,-9,4,531M,7071.0,355701 +1100105,29,3558,1,55,1,20,6,2,1,1,-9,4,23,770.0,355801 +1100105,29,3559,1,20,2,40,4,1,6,1,15,4,5412,7280.0,355901 +1100105,29,3560,1,22,1,55,1,1,1,1,15,4,722Z,8680.0,356001 +1100105,29,3561,1,66,1,-9,-9,6,2,1,-9,4,45321,5480.0,356101 +1100105,29,3562,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,356201 +1100105,29,3563,1,82,2,-9,-9,6,2,1,-9,4,0,0.0,356301 +1100105,29,3564,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,356401 +1100105,29,3565,1,82,2,-9,-9,6,1,1,-9,4,0,0.0,356501 +1100105,29,3566,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,356601 +1100105,29,3567,1,56,1,-9,-9,6,2,1,-9,2,0,0.0,356701 +1100105,29,3568,1,42,2,-9,-9,6,2,1,-9,4,0,0.0,356801 +1100105,29,3569,1,40,2,-9,-9,6,2,1,-9,4,0,0.0,356901 +1100105,29,3570,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,357001 +1100105,29,3571,1,63,2,-9,-9,6,1,1,-9,4,4442,4890.0,357101 +1100105,29,3572,1,24,2,-9,-9,6,1,1,-9,4,5417,7460.0,357201 +1100105,29,3573,1,26,2,40,6,6,1,23,16,4,722Z,8680.0,357301 +1100105,35,3574,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,357401 +1100105,35,3574,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,357402 +1100105,35,3574,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,357403 +1100105,35,3574,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,357404 +1100105,35,3575,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,357501 +1100105,35,3575,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,357502 +1100105,35,3575,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,357503 +1100105,35,3575,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,357504 +1100105,35,3576,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,357601 +1100105,35,3576,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,357602 +1100105,35,3576,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,357603 +1100105,35,3576,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,357604 +1100105,35,3577,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,357701 +1100105,35,3577,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,357702 +1100105,35,3577,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,357703 +1100105,35,3577,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,357704 +1100105,35,3578,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,357801 +1100105,35,3578,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,357802 +1100105,35,3578,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,357803 +1100105,35,3578,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,357804 +1100105,35,3579,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,357901 +1100105,35,3579,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,357902 +1100105,35,3579,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,357903 +1100105,35,3579,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,357904 +1100105,35,3580,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,358001 +1100105,35,3580,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,358002 +1100105,35,3580,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,358003 +1100105,35,3580,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,358004 +1100105,35,3581,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,358101 +1100105,35,3581,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,358102 +1100105,35,3581,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,358103 +1100105,35,3581,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,358104 +1100105,35,3582,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,358201 +1100105,35,3582,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,358202 +1100105,35,3582,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,358203 +1100105,35,3582,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,358204 +1100105,35,3583,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,358301 +1100105,35,3583,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,358302 +1100105,35,3583,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,358303 +1100105,35,3583,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,358304 +1100105,35,3584,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,358401 +1100105,35,3584,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,358402 +1100105,35,3584,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,358403 +1100105,35,3584,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,358404 +1100105,35,3585,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,358501 +1100105,35,3585,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,358502 +1100105,35,3585,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,358503 +1100105,35,3585,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,358504 +1100105,35,3586,1,40,2,-9,-9,6,8,11,-9,4,0,0.0,358601 +1100105,35,3586,2,20,1,-9,-9,6,8,11,-9,4,0,0.0,358602 +1100105,35,3586,3,19,1,-9,-9,6,8,11,-9,4,0,0.0,358603 +1100105,35,3586,4,36,2,-9,-9,6,8,11,-9,4,0,0.0,358604 +1100105,35,3586,5,18,2,-9,-9,6,8,11,12,4,0,0.0,358605 +1100105,35,3587,1,40,2,-9,-9,6,8,11,-9,4,0,0.0,358701 +1100105,35,3587,2,20,1,-9,-9,6,8,11,-9,4,0,0.0,358702 +1100105,35,3587,3,19,1,-9,-9,6,8,11,-9,4,0,0.0,358703 +1100105,35,3587,4,36,2,-9,-9,6,8,11,-9,4,0,0.0,358704 +1100105,35,3587,5,18,2,-9,-9,6,8,11,12,4,0,0.0,358705 +1100105,35,3588,1,40,2,-9,-9,6,8,11,-9,4,0,0.0,358801 +1100105,35,3588,2,20,1,-9,-9,6,8,11,-9,4,0,0.0,358802 +1100105,35,3588,3,19,1,-9,-9,6,8,11,-9,4,0,0.0,358803 +1100105,35,3588,4,36,2,-9,-9,6,8,11,-9,4,0,0.0,358804 +1100105,35,3588,5,18,2,-9,-9,6,8,11,12,4,0,0.0,358805 +1100105,35,3589,1,40,2,-9,-9,6,8,11,-9,4,0,0.0,358901 +1100105,35,3589,2,20,1,-9,-9,6,8,11,-9,4,0,0.0,358902 +1100105,35,3589,3,19,1,-9,-9,6,8,11,-9,4,0,0.0,358903 +1100105,35,3589,4,36,2,-9,-9,6,8,11,-9,4,0,0.0,358904 +1100105,35,3589,5,18,2,-9,-9,6,8,11,12,4,0,0.0,358905 +1100105,35,3590,1,33,1,40,1,1,1,1,-9,4,443142,4795.0,359001 +1100105,35,3590,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,359002 +1100105,35,3591,1,28,1,43,1,1,1,1,-9,4,5419Z,7490.0,359101 +1100105,35,3591,2,28,2,60,1,1,1,1,-9,4,5411,7270.0,359102 +1100105,35,3592,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,359201 +1100105,35,3592,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,359202 +1100105,35,3593,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,359301 +1100105,35,3593,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,359302 +1100105,35,3594,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,359401 +1100105,35,3594,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,359402 +1100105,35,3595,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,359501 +1100105,35,3595,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,359502 +1100105,35,3596,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,359601 +1100105,35,3596,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,359602 +1100105,35,3597,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,359701 +1100105,35,3597,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,359702 +1100105,35,3598,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,359801 +1100105,35,3598,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,359802 +1100105,35,3599,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,359901 +1100105,35,3599,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,359902 +1100105,35,3600,1,29,2,40,1,1,1,1,-9,4,6111,7860.0,360001 +1100105,35,3600,2,31,1,45,1,1,6,1,-9,4,5416,7390.0,360002 +1100105,35,3601,1,32,1,40,1,1,1,1,-9,4,813M,9170.0,360101 +1100105,35,3601,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,360102 +1100105,35,3602,1,30,2,50,1,1,1,1,-9,4,5416,7390.0,360201 +1100105,35,3602,2,24,2,55,1,1,1,1,-9,4,722Z,8680.0,360202 +1100105,35,3603,1,29,1,40,1,1,1,1,16,4,6111,7860.0,360301 +1100105,35,3603,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,360302 +1100105,35,3604,1,24,2,55,1,1,1,1,-9,4,5418,7470.0,360401 +1100105,35,3604,2,25,2,40,1,1,1,1,-9,4,5415,7380.0,360402 +1100105,35,3605,1,32,1,40,1,1,1,1,15,4,5415,7380.0,360501 +1100105,35,3605,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,360502 +1100105,35,3606,1,26,1,55,1,1,1,1,-9,4,5418,7470.0,360601 +1100105,35,3606,2,26,2,60,1,1,1,1,-9,4,5414,7370.0,360602 +1100105,35,3607,1,28,1,65,1,1,1,1,-9,4,522M,6890.0,360701 +1100105,35,3607,2,27,2,40,1,1,1,1,-9,4,5413,7290.0,360702 +1100105,35,3608,1,23,1,45,1,1,1,1,-9,4,5418,7470.0,360801 +1100105,35,3608,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,360802 +1100105,35,3609,1,32,2,40,1,1,1,1,-9,4,928P,9590.0,360901 +1100105,35,3609,2,33,1,40,1,1,1,1,-9,4,92113,9380.0,360902 +1100105,35,3610,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,361001 +1100105,35,3610,2,31,2,40,1,1,1,1,-9,4,923,9480.0,361002 +1100105,35,3611,1,30,1,50,1,1,1,1,-9,4,4237,4265.0,361101 +1100105,35,3611,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,361102 +1100105,35,3612,1,32,2,50,1,1,1,1,-9,4,5412,7280.0,361201 +1100105,35,3612,2,30,1,40,1,1,1,1,-9,2,5416,7390.0,361202 +1100105,35,3613,1,32,2,40,1,1,1,1,16,4,6214,8090.0,361301 +1100105,35,3613,2,31,1,40,1,1,1,1,-9,4,611M3,7890.0,361302 +1100105,35,3614,1,27,1,38,1,1,1,1,-9,4,5416,7390.0,361401 +1100105,35,3614,2,26,2,50,1,1,1,1,-9,4,52M2,6970.0,361402 +1100105,35,3615,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,361501 +1100105,35,3615,2,30,1,45,1,1,1,1,-9,4,4248,4560.0,361502 +1100105,35,3616,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,361601 +1100105,35,3616,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,361602 +1100105,35,3617,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,361701 +1100105,35,3617,2,33,2,20,1,1,1,1,-9,4,611M1,7870.0,361702 +1100105,35,3618,1,48,2,40,1,1,6,1,-9,4,712,8570.0,361801 +1100105,35,3618,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,361802 +1100105,35,3619,1,48,2,40,1,1,6,1,-9,4,712,8570.0,361901 +1100105,35,3619,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,361902 +1100105,35,3620,1,48,2,40,1,1,6,1,-9,4,712,8570.0,362001 +1100105,35,3620,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,362002 +1100105,35,3621,1,48,2,40,1,1,6,1,-9,4,712,8570.0,362101 +1100105,35,3621,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,362102 +1100105,35,3622,1,48,2,40,1,1,6,1,-9,4,712,8570.0,362201 +1100105,35,3622,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,362202 +1100105,35,3623,1,48,2,40,1,1,6,1,-9,4,712,8570.0,362301 +1100105,35,3623,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,362302 +1100105,35,3624,1,48,2,40,1,1,6,1,-9,4,712,8570.0,362401 +1100105,35,3624,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,362402 +1100105,35,3625,1,48,2,40,1,1,6,1,-9,4,712,8570.0,362501 +1100105,35,3625,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,362502 +1100105,35,3626,1,48,2,40,1,1,6,1,-9,4,712,8570.0,362601 +1100105,35,3626,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,362602 +1100105,35,3627,1,48,2,40,1,1,6,1,-9,4,712,8570.0,362701 +1100105,35,3627,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,362702 +1100105,35,3628,1,48,2,40,1,1,6,1,-9,4,712,8570.0,362801 +1100105,35,3628,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,362802 +1100105,35,3629,1,48,2,40,1,1,6,1,-9,4,712,8570.0,362901 +1100105,35,3629,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,362902 +1100105,35,3630,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,363001 +1100105,35,3630,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,363002 +1100105,35,3631,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,363101 +1100105,35,3631,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,363102 +1100105,35,3632,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,363201 +1100105,35,3632,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,363202 +1100105,35,3633,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,363301 +1100105,35,3633,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,363302 +1100105,35,3634,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,363401 +1100105,35,3634,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,363402 +1100105,35,3635,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,363501 +1100105,35,3635,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,363502 +1100105,35,3636,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,363601 +1100105,35,3636,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,363602 +1100105,35,3637,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,363701 +1100105,35,3637,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,363702 +1100105,35,3638,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,363801 +1100105,35,3638,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,363802 +1100105,35,3639,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,363901 +1100105,35,3639,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,363902 +1100105,35,3640,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,364001 +1100105,35,3640,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,364002 +1100105,35,3641,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,364101 +1100105,35,3641,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,364102 +1100105,35,3642,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,364201 +1100105,35,3642,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,364202 +1100105,35,3643,1,51,2,40,1,1,8,5,-9,4,814,9290.0,364301 +1100105,35,3643,2,19,2,30,1,1,8,5,-9,4,722Z,8680.0,364302 +1100105,35,3644,1,51,2,40,1,1,8,5,-9,4,814,9290.0,364401 +1100105,35,3644,2,19,2,30,1,1,8,5,-9,4,722Z,8680.0,364402 +1100105,35,3645,1,51,2,40,1,1,8,5,-9,4,814,9290.0,364501 +1100105,35,3645,2,19,2,30,1,1,8,5,-9,4,722Z,8680.0,364502 +1100105,35,3646,1,51,2,40,1,1,8,5,-9,4,814,9290.0,364601 +1100105,35,3646,2,19,2,30,1,1,8,5,-9,4,722Z,8680.0,364602 +1100105,35,3647,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,364701 +1100105,35,3647,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,364702 +1100105,35,3648,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,364801 +1100105,35,3648,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,364802 +1100105,35,3649,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,364901 +1100105,35,3649,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,364902 +1100105,35,3650,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,365001 +1100105,35,3650,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,365002 +1100105,35,3651,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,365101 +1100105,35,3651,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,365102 +1100105,35,3652,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,365201 +1100105,35,3652,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,365202 +1100105,35,3653,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,365301 +1100105,35,3653,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,365302 +1100105,35,3654,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,365401 +1100105,35,3654,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,365402 +1100105,35,3655,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,365501 +1100105,35,3655,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,365502 +1100105,35,3656,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,365601 +1100105,35,3656,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,365602 +1100105,35,3657,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,365701 +1100105,35,3657,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,365702 +1100105,35,3658,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,365801 +1100105,35,3658,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,365802 +1100105,35,3659,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,365901 +1100105,35,3659,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,365902 +1100105,35,3660,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,366001 +1100105,35,3660,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,366002 +1100105,35,3661,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,366101 +1100105,35,3661,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,366102 +1100105,35,3662,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,366201 +1100105,35,3662,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,366202 +1100105,35,3663,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,366301 +1100105,35,3663,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,366302 +1100105,35,3664,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,366401 +1100105,35,3664,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,366402 +1100105,35,3665,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,366501 +1100105,35,3665,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,366502 +1100105,35,3666,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,366601 +1100105,35,3666,2,19,2,-9,-9,6,2,1,15,4,0,0.0,366602 +1100105,35,3667,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,366701 +1100105,35,3667,2,19,2,-9,-9,6,2,1,15,4,0,0.0,366702 +1100105,35,3668,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,366801 +1100105,35,3668,2,19,2,-9,-9,6,2,1,15,4,0,0.0,366802 +1100105,35,3669,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,366901 +1100105,35,3669,2,19,2,-9,-9,6,2,1,15,4,0,0.0,366902 +1100105,35,3670,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,367001 +1100105,35,3670,2,19,2,-9,-9,6,2,1,15,4,0,0.0,367002 +1100105,35,3671,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,367101 +1100105,35,3671,2,19,2,-9,-9,6,2,1,15,4,0,0.0,367102 +1100105,35,3672,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,367201 +1100105,35,3672,2,19,2,-9,-9,6,2,1,15,4,0,0.0,367202 +1100105,35,3673,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,367301 +1100105,35,3673,2,19,2,-9,-9,6,2,1,15,4,0,0.0,367302 +1100105,35,3674,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,367401 +1100105,35,3674,2,19,2,-9,-9,6,2,1,15,4,0,0.0,367402 +1100105,35,3675,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,367501 +1100105,35,3675,2,19,2,-9,-9,6,2,1,15,4,0,0.0,367502 +1100105,35,3676,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,367601 +1100105,35,3676,2,19,2,-9,-9,6,2,1,15,4,0,0.0,367602 +1100105,35,3677,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,367701 +1100105,35,3677,2,19,2,-9,-9,6,2,1,15,4,0,0.0,367702 +1100105,35,3678,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,367801 +1100105,35,3678,2,19,2,-9,-9,6,2,1,15,4,0,0.0,367802 +1100105,35,3679,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,367901 +1100105,35,3679,2,19,2,-9,-9,6,2,1,15,4,0,0.0,367902 +1100105,35,3680,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,368001 +1100105,35,3680,2,19,2,-9,-9,6,2,1,15,4,0,0.0,368002 +1100105,35,3681,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,368101 +1100105,35,3681,2,19,2,-9,-9,6,2,1,15,4,0,0.0,368102 +1100105,35,3682,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,368201 +1100105,35,3682,2,18,1,30,6,6,2,1,14,4,5613,7580.0,368202 +1100105,35,3683,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,368301 +1100105,35,3683,2,18,1,30,6,6,2,1,14,4,5613,7580.0,368302 +1100105,35,3684,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,368401 +1100105,35,3684,2,18,1,30,6,6,2,1,14,4,5613,7580.0,368402 +1100105,35,3685,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,368501 +1100105,35,3685,2,18,1,30,6,6,2,1,14,4,5613,7580.0,368502 +1100105,35,3686,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,368601 +1100105,35,3686,2,18,1,30,6,6,2,1,14,4,5613,7580.0,368602 +1100105,35,3687,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,368701 +1100105,35,3687,2,18,1,30,6,6,2,1,14,4,5613,7580.0,368702 +1100105,35,3688,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,368801 +1100105,35,3688,2,18,1,30,6,6,2,1,14,4,5613,7580.0,368802 +1100105,35,3689,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,368901 +1100105,35,3689,2,18,1,30,6,6,2,1,14,4,5613,7580.0,368902 +1100105,35,3690,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,369001 +1100105,35,3690,2,18,1,30,6,6,2,1,14,4,5613,7580.0,369002 +1100105,35,3691,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,369101 +1100105,35,3691,2,18,1,30,6,6,2,1,14,4,5613,7580.0,369102 +1100105,35,3692,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,369201 +1100105,35,3692,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,369202 +1100105,35,3693,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,369301 +1100105,35,3693,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,369302 +1100105,35,3694,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,369401 +1100105,35,3694,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,369402 +1100105,35,3695,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,369501 +1100105,35,3695,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,369502 +1100105,35,3696,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,369601 +1100105,35,3696,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,369602 +1100105,35,3697,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,369701 +1100105,35,3697,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,369702 +1100105,35,3698,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,369801 +1100105,35,3698,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,369802 +1100105,35,3699,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,369901 +1100105,35,3699,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,369902 +1100105,35,3700,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,370001 +1100105,35,3700,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,370002 +1100105,35,3701,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,370101 +1100105,35,3701,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,370102 +1100105,35,3702,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,370201 +1100105,35,3702,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,370202 +1100105,35,3703,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,370301 +1100105,35,3703,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,370302 +1100105,35,3704,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,370401 +1100105,35,3704,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,370402 +1100105,35,3705,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,370501 +1100105,35,3705,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,370502 +1100105,35,3706,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,370601 +1100105,35,3706,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,370602 +1100105,35,3707,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,370701 +1100105,35,3707,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,370702 +1100105,35,3708,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,370801 +1100105,35,3708,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,370802 +1100105,35,3709,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,370901 +1100105,35,3709,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,370902 +1100105,35,3710,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,371001 +1100105,35,3710,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,371002 +1100105,35,3711,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,371101 +1100105,35,3711,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,371102 +1100105,35,3712,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,371201 +1100105,35,3712,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,371202 +1100105,35,3713,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,371301 +1100105,35,3713,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,371302 +1100105,35,3714,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,371401 +1100105,35,3714,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,371402 +1100105,35,3715,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,371501 +1100105,35,3715,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,371502 +1100105,35,3716,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,371601 +1100105,35,3716,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,371602 +1100105,35,3717,1,28,2,55,1,1,1,1,-9,4,5411,7270.0,371701 +1100105,35,3718,1,29,1,55,1,1,1,1,-9,4,5411,7270.0,371801 +1100105,35,3719,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,371901 +1100105,35,3720,1,30,2,60,1,1,1,1,-9,4,9211MP,9370.0,372001 +1100105,35,3721,1,32,2,35,1,1,6,1,16,4,5411,7270.0,372101 +1100105,35,3722,1,26,2,48,1,1,6,1,-9,4,5411,7270.0,372201 +1100105,35,3723,1,26,2,48,1,1,6,1,-9,4,5411,7270.0,372301 +1100105,35,3724,1,32,2,35,1,1,6,1,16,4,5411,7270.0,372401 +1100105,35,3725,1,29,1,40,1,1,6,1,-9,4,2211P,570.0,372501 +1100105,35,3726,1,33,2,40,1,1,1,1,-9,4,5411,7270.0,372601 +1100105,35,3727,1,34,1,45,1,1,1,1,-9,4,8139Z,9190.0,372701 +1100105,35,3728,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,372801 +1100105,35,3729,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,372901 +1100105,35,3730,1,33,2,40,1,1,1,1,-9,4,5411,7270.0,373001 +1100105,35,3731,1,33,1,60,1,1,1,1,-9,4,515,6670.0,373101 +1100105,35,3732,1,32,2,80,1,1,1,1,-9,4,611M3,7890.0,373201 +1100105,35,3733,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,373301 +1100105,35,3734,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,373401 +1100105,35,3735,1,27,1,50,1,1,1,1,-9,4,5411,7270.0,373501 +1100105,35,3736,1,25,2,40,1,1,1,1,-9,4,5416,7390.0,373601 +1100105,35,3737,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,373701 +1100105,35,3738,1,33,2,40,1,1,1,1,-9,4,5411,7270.0,373801 +1100105,35,3739,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,373901 +1100105,35,3740,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,374001 +1100105,35,3741,1,29,1,70,1,1,1,1,-9,4,5411,7270.0,374101 +1100105,35,3742,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,374201 +1100105,35,3743,1,26,2,55,1,1,1,1,-9,4,5411,7270.0,374301 +1100105,35,3744,1,27,1,50,1,1,1,1,-9,4,5411,7270.0,374401 +1100105,35,3745,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,374501 +1100105,35,3746,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,374601 +1100105,35,3747,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,374701 +1100105,35,3748,1,32,2,80,1,1,1,1,-9,4,611M3,7890.0,374801 +1100105,35,3749,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,374901 +1100105,35,3750,1,33,2,40,1,1,1,1,-9,4,5411,7270.0,375001 +1100105,35,3751,1,25,2,40,1,1,1,1,-9,4,5416,7390.0,375101 +1100105,35,3752,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,375201 +1100105,35,3753,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,375301 +1100105,35,3754,1,25,2,40,1,1,1,1,-9,4,5416,7390.0,375401 +1100105,35,3755,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,375501 +1100105,35,3756,1,33,1,60,1,1,1,1,-9,4,515,6670.0,375601 +1100105,35,3757,1,30,2,45,1,1,1,1,-9,4,5221M,6880.0,375701 +1100105,35,3758,1,33,1,60,1,1,1,1,-9,4,515,6670.0,375801 +1100105,35,3759,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,375901 +1100105,35,3760,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,376001 +1100105,35,3761,1,33,2,40,1,1,1,1,-9,4,5411,7270.0,376101 +1100105,35,3762,1,33,1,60,1,1,1,1,-9,4,515,6670.0,376201 +1100105,35,3763,1,27,1,55,1,1,1,1,-9,4,522M,6890.0,376301 +1100105,35,3764,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,376401 +1100105,35,3765,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,376501 +1100105,35,3766,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,376601 +1100105,35,3767,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,376701 +1100105,35,3768,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,376801 +1100105,35,3769,1,26,2,60,1,1,1,1,-9,4,5411,7270.0,376901 +1100105,35,3770,1,33,1,40,1,1,1,1,-9,4,5412,7280.0,377001 +1100105,35,3771,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,377101 +1100105,35,3772,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,377201 +1100105,35,3773,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,377301 +1100105,35,3774,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,377401 +1100105,35,3775,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,377501 +1100105,35,3776,1,33,1,60,1,1,1,1,-9,4,515,6670.0,377601 +1100105,35,3777,1,28,1,20,1,1,1,1,-9,4,5615,7670.0,377701 +1100105,35,3778,1,27,1,55,1,1,1,1,-9,4,522M,6890.0,377801 +1100105,35,3779,1,30,2,45,1,1,1,1,-9,4,5221M,6880.0,377901 +1100105,35,3780,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,378001 +1100105,35,3781,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,378101 +1100105,35,3782,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,378201 +1100105,35,3783,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,378301 +1100105,35,3784,1,30,2,45,1,1,1,1,-9,4,5221M,6880.0,378401 +1100105,35,3785,1,33,2,40,1,1,1,1,-9,4,5411,7270.0,378501 +1100105,35,3786,1,27,1,35,1,1,1,1,-9,4,454110,5593.0,378601 +1100105,35,3787,1,33,1,60,1,1,1,1,-9,4,515,6670.0,378701 +1100105,35,3788,1,32,1,60,1,1,1,1,-9,4,5416,7390.0,378801 +1100105,35,3789,1,33,2,50,1,1,1,1,-9,4,51913,6672.0,378901 +1100105,35,3790,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,379001 +1100105,35,3791,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,379101 +1100105,35,3792,1,32,1,60,1,1,1,1,-9,4,5416,7390.0,379201 +1100105,35,3793,1,27,1,35,1,1,1,1,-9,4,454110,5593.0,379301 +1100105,35,3794,1,33,2,50,1,1,1,1,-9,4,51913,6672.0,379401 +1100105,35,3795,1,27,1,35,1,1,1,1,-9,4,454110,5593.0,379501 +1100105,35,3796,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,379601 +1100105,35,3797,1,27,1,50,1,1,1,1,-9,4,5411,7270.0,379701 +1100105,35,3798,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,379801 +1100105,35,3799,1,27,1,50,1,1,1,1,-9,4,5411,7270.0,379901 +1100105,35,3800,1,26,2,55,1,1,1,1,-9,4,5411,7270.0,380001 +1100105,35,3801,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,380101 +1100105,35,3802,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,380201 +1100105,35,3803,1,34,2,40,1,1,6,1,-9,4,622M,8191.0,380301 +1100105,35,3804,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,380401 +1100105,35,3805,1,32,2,50,1,1,1,1,-9,4,52M2,6970.0,380501 +1100105,35,3806,1,29,1,40,1,1,1,1,-9,4,928P,9590.0,380601 +1100105,35,3807,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,380701 +1100105,35,3808,1,32,1,45,1,1,1,1,-9,4,92MP,9470.0,380801 +1100105,35,3809,1,26,2,45,1,1,1,1,-9,4,51111,6470.0,380901 +1100105,35,3810,1,33,1,55,1,1,1,1,-9,2,92MP,9470.0,381001 +1100105,35,3811,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,381101 +1100105,35,3812,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,381201 +1100105,35,3813,1,31,2,40,1,1,1,1,-9,4,923,9480.0,381301 +1100105,35,3814,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,381401 +1100105,35,3815,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,381501 +1100105,35,3816,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,381601 +1100105,35,3817,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,381701 +1100105,35,3818,1,33,2,50,1,1,1,1,-9,4,621M,8180.0,381801 +1100105,35,3819,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,381901 +1100105,35,3820,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,382001 +1100105,35,3821,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,382101 +1100105,35,3822,1,32,1,45,1,1,1,1,-9,4,522M,6890.0,382201 +1100105,35,3823,1,30,1,40,1,1,1,1,-9,4,8139Z,9190.0,382301 +1100105,35,3824,1,31,2,28,1,1,6,1,-9,4,5419Z,7490.0,382401 +1100105,35,3825,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,382501 +1100105,35,3826,1,25,2,40,1,1,6,1,-9,4,5416,7390.0,382601 +1100105,35,3827,1,32,2,38,1,1,6,1,-9,4,928P,9590.0,382701 +1100105,35,3828,1,26,2,48,1,1,6,1,-9,4,5413,7290.0,382801 +1100105,35,3829,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,382901 +1100105,35,3830,1,32,1,80,1,1,6,1,-9,4,622M,8191.0,383001 +1100105,35,3831,1,31,1,50,1,1,6,1,-9,4,622M,8191.0,383101 +1100105,35,3832,1,31,1,50,1,1,6,1,-9,4,622M,8191.0,383201 +1100105,35,3833,1,32,1,80,1,1,6,1,-9,4,622M,8191.0,383301 +1100105,35,3834,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,383401 +1100105,35,3835,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,383501 +1100105,35,3836,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,383601 +1100105,35,3837,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,383701 +1100105,35,3838,1,29,1,50,1,1,1,1,-9,4,3116,1180.0,383801 +1100105,35,3839,1,24,2,48,1,1,1,1,-9,4,5418,7470.0,383901 +1100105,35,3840,1,27,2,45,1,1,1,1,-9,4,5416,7390.0,384001 +1100105,35,3841,1,34,2,38,1,1,1,1,-9,4,611M3,7890.0,384101 +1100105,35,3842,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,384201 +1100105,35,3843,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,384301 +1100105,35,3844,1,31,1,45,1,1,1,1,-9,4,923,9480.0,384401 +1100105,35,3845,1,24,1,50,1,1,1,1,-9,4,813M,9170.0,384501 +1100105,35,3846,1,24,2,55,4,1,1,1,16,4,5416,7390.0,384601 +1100105,35,3847,1,28,2,35,1,1,1,1,-9,4,6216,8170.0,384701 +1100105,35,3848,1,31,1,70,1,1,1,1,-9,4,424M,4380.0,384801 +1100105,35,3849,1,31,2,40,1,1,1,1,15,4,5416,7390.0,384901 +1100105,35,3850,1,28,2,35,1,1,1,1,-9,4,6216,8170.0,385001 +1100105,35,3851,1,27,2,20,1,1,1,1,-9,4,5415,7380.0,385101 +1100105,35,3852,1,27,2,40,1,1,1,1,-9,4,522M,6890.0,385201 +1100105,35,3853,1,33,2,40,1,1,1,1,-9,4,6111,7860.0,385301 +1100105,35,3854,1,29,2,40,1,1,1,1,-9,4,928P,9590.0,385401 +1100105,35,3855,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,385501 +1100105,35,3856,1,29,2,40,1,1,1,1,-9,4,611M1,7870.0,385601 +1100105,35,3857,1,28,1,45,1,1,1,1,-9,4,531M,7071.0,385701 +1100105,35,3858,1,29,1,45,1,4,1,1,-9,1,928110P3,9690.0,385801 +1100105,35,3859,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,385901 +1100105,35,3860,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,386001 +1100105,35,3861,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,386101 +1100105,35,3862,1,25,2,40,1,1,1,1,-9,4,51913,6672.0,386201 +1100105,35,3863,1,24,2,48,1,1,1,1,-9,4,5418,7470.0,386301 +1100105,35,3864,1,32,1,50,1,1,1,1,-9,4,52M2,6970.0,386401 +1100105,35,3865,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,386501 +1100105,35,3866,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,386601 +1100105,35,3867,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,386701 +1100105,35,3868,1,25,1,45,1,1,1,1,-9,4,52M2,6970.0,386801 +1100105,35,3869,1,24,2,55,4,1,1,1,16,4,5416,7390.0,386901 +1100105,35,3870,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,387001 +1100105,35,3871,1,27,1,40,1,1,1,1,-9,4,8139Z,9190.0,387101 +1100105,35,3872,1,34,2,45,1,1,1,1,-9,4,923,9480.0,387201 +1100105,35,3873,1,30,2,40,1,1,1,1,-9,4,443142,4795.0,387301 +1100105,35,3874,1,29,2,60,1,1,1,1,-9,4,622M,8191.0,387401 +1100105,35,3875,1,33,1,40,1,1,1,1,-9,4,5415,7380.0,387501 +1100105,35,3876,1,27,2,45,1,1,1,1,-9,4,5416,7390.0,387601 +1100105,35,3877,1,27,2,55,1,1,1,1,-9,4,8139Z,9190.0,387701 +1100105,35,3878,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,387801 +1100105,35,3879,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,387901 +1100105,35,3880,1,29,1,40,1,1,1,1,-9,4,5416,7390.0,388001 +1100105,35,3881,1,27,2,50,1,1,1,1,-9,4,5417,7460.0,388101 +1100105,35,3882,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,388201 +1100105,35,3883,1,31,2,40,1,1,1,1,-9,4,52M2,6970.0,388301 +1100105,35,3884,1,29,2,45,1,1,1,1,-9,4,5418,7470.0,388401 +1100105,35,3885,1,29,2,45,1,1,1,1,-9,4,5418,7470.0,388501 +1100105,35,3886,1,29,2,55,1,1,1,1,-9,4,712,8570.0,388601 +1100105,35,3887,1,34,1,45,1,1,1,1,-9,4,6111,7860.0,388701 +1100105,35,3888,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,388801 +1100105,35,3889,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,388901 +1100105,35,3890,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,389001 +1100105,35,3891,1,31,2,45,1,1,1,1,16,4,5416,7390.0,389101 +1100105,35,3892,1,33,1,40,1,4,1,1,16,1,928110P2,9680.0,389201 +1100105,35,3893,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,389301 +1100105,35,3894,1,33,2,40,1,1,1,1,-9,4,211,370.0,389401 +1100105,35,3895,1,26,2,45,1,1,1,1,-9,4,531M,7071.0,389501 +1100105,35,3896,1,30,2,45,1,1,1,1,-9,4,814,9290.0,389601 +1100105,35,3897,1,26,2,40,1,1,1,1,-9,4,92M2,9570.0,389701 +1100105,35,3898,1,27,2,55,1,1,1,1,-9,4,622M,8191.0,389801 +1100105,35,3899,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,389901 +1100105,35,3900,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,390001 +1100105,35,3901,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,390101 +1100105,35,3902,1,28,2,54,1,1,1,1,-9,4,5416,7390.0,390201 +1100105,35,3903,1,27,2,55,1,1,1,1,-9,4,622M,8191.0,390301 +1100105,35,3904,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,390401 +1100105,35,3905,1,27,2,20,1,1,1,1,-9,4,5415,7380.0,390501 +1100105,35,3906,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,390601 +1100105,35,3907,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,390701 +1100105,35,3908,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,390801 +1100105,35,3909,1,33,2,50,1,1,1,1,-9,4,5413,7290.0,390901 +1100105,35,3910,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,391001 +1100105,35,3911,1,27,2,55,1,1,1,1,16,4,813M,9170.0,391101 +1100105,35,3912,1,33,2,60,1,1,1,1,-9,4,611M3,7890.0,391201 +1100105,35,3913,1,29,2,40,1,1,1,1,-9,4,611M1,7870.0,391301 +1100105,35,3914,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,391401 +1100105,35,3915,1,33,1,40,1,1,1,1,-9,4,5415,7380.0,391501 +1100105,35,3916,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,391601 +1100105,35,3917,1,30,2,45,1,1,1,1,-9,4,814,9290.0,391701 +1100105,35,3918,1,33,2,40,1,1,1,1,-9,4,211,370.0,391801 +1100105,35,3919,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,391901 +1100105,35,3920,1,33,1,40,1,1,1,1,-9,4,55,7570.0,392001 +1100105,35,3921,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,392101 +1100105,35,3922,1,27,2,45,1,1,1,1,-9,4,5416,7390.0,392201 +1100105,35,3923,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,392301 +1100105,35,3924,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,392401 +1100105,35,3925,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,392501 +1100105,35,3926,1,31,2,40,1,1,1,1,15,4,5416,7390.0,392601 +1100105,35,3927,1,33,1,50,1,1,1,1,-9,2,5416,7390.0,392701 +1100105,35,3928,1,31,1,40,1,1,1,1,-9,4,522M,6890.0,392801 +1100105,35,3929,1,29,1,65,1,1,1,1,-9,4,622M,8191.0,392901 +1100105,35,3930,1,33,1,50,1,1,1,1,-9,2,5416,7390.0,393001 +1100105,35,3931,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,393101 +1100105,35,3932,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,393201 +1100105,35,3933,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,393301 +1100105,35,3934,1,26,1,50,3,1,1,1,-9,4,5416,7390.0,393401 +1100105,35,3935,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,393501 +1100105,35,3936,1,26,2,40,1,1,1,1,-9,4,52M2,6970.0,393601 +1100105,35,3937,1,28,2,40,1,1,1,1,-9,4,8139Z,9190.0,393701 +1100105,35,3938,1,34,1,40,1,1,1,1,-9,4,5416,7390.0,393801 +1100105,35,3939,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,393901 +1100105,35,3940,1,26,2,40,1,1,1,1,-9,4,52M2,6970.0,394001 +1100105,35,3941,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,394101 +1100105,35,3942,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,394201 +1100105,35,3943,1,31,2,36,1,1,1,1,15,4,813M,9170.0,394301 +1100105,35,3944,1,23,2,-9,-9,6,1,1,16,4,5411,7270.0,394401 +1100105,35,3945,1,21,1,-9,-9,6,1,1,15,4,0,0.0,394501 +1100105,35,3946,1,26,1,45,3,3,1,1,-9,4,5416,7390.0,394601 +1100105,35,3947,1,32,1,20,3,1,6,1,16,4,611M1,7870.0,394701 +1100105,35,3948,1,27,1,55,1,1,6,1,16,4,5191ZM,6780.0,394801 +1100105,35,3949,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,394901 +1100105,35,3950,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,395001 +1100105,35,3951,1,25,2,40,2,1,6,1,-9,4,5415,7380.0,395101 +1100105,35,3952,1,32,1,20,3,1,6,1,16,4,611M1,7870.0,395201 +1100105,35,3953,1,24,2,30,5,1,6,1,-9,4,813M,9170.0,395301 +1100105,35,3954,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,395401 +1100105,35,3955,1,25,2,45,1,1,1,1,-9,4,5614,7590.0,395501 +1100105,35,3956,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,395601 +1100105,35,3957,1,26,1,50,1,1,1,1,-9,4,9211MP,9370.0,395701 +1100105,35,3958,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,395801 +1100105,35,3959,1,33,1,40,1,1,1,1,-9,4,515,6670.0,395901 +1100105,35,3960,1,26,1,50,1,1,1,1,-9,4,9211MP,9370.0,396001 +1100105,35,3961,1,27,2,40,3,1,1,1,-9,4,482,6080.0,396101 +1100105,35,3962,1,26,1,90,1,1,1,1,16,4,5417,7460.0,396201 +1100105,35,3963,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,396301 +1100105,35,3964,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,396401 +1100105,35,3965,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,396501 +1100105,35,3966,1,23,2,35,1,1,1,1,16,4,5417,7460.0,396601 +1100105,35,3967,1,28,2,40,5,1,1,1,-9,4,5418,7470.0,396701 +1100105,35,3968,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,396801 +1100105,35,3969,1,25,2,45,1,1,1,1,-9,4,515,6670.0,396901 +1100105,35,3970,1,31,1,30,3,1,1,1,-9,4,813M,9170.0,397001 +1100105,35,3971,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,397101 +1100105,35,3972,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,397201 +1100105,35,3973,1,26,2,35,3,1,1,1,15,4,7112,8562.0,397301 +1100105,35,3974,1,22,2,60,1,1,1,1,-9,4,92MP,9470.0,397401 +1100105,35,3975,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,397501 +1100105,35,3976,1,27,2,40,3,1,1,1,-9,4,482,6080.0,397601 +1100105,35,3977,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,397701 +1100105,35,3978,1,30,2,40,1,1,1,1,-9,4,5615,7670.0,397801 +1100105,35,3979,1,28,2,42,1,1,1,1,-9,4,812112,8980.0,397901 +1100105,35,3980,1,33,1,40,1,1,1,1,-9,4,515,6670.0,398001 +1100105,35,3981,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,398101 +1100105,35,3982,1,26,1,40,3,1,1,1,-9,4,813M,9170.0,398201 +1100105,35,3983,1,26,2,40,3,1,1,1,-9,4,611M1,7870.0,398301 +1100105,35,3984,1,25,2,45,1,1,1,1,-9,4,515,6670.0,398401 +1100105,35,3985,1,26,1,40,3,1,1,1,-9,4,813M,9170.0,398501 +1100105,35,3986,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,398601 +1100105,35,3987,1,24,2,40,6,1,1,1,16,4,928P,9590.0,398701 +1100105,35,3988,1,33,1,40,1,1,1,1,-9,4,515,6670.0,398801 +1100105,35,3989,1,30,2,40,1,1,1,1,-9,4,5615,7670.0,398901 +1100105,35,3990,1,22,2,60,1,1,1,1,-9,4,92MP,9470.0,399001 +1100105,35,3991,1,31,1,20,1,1,1,1,16,4,443142,4795.0,399101 +1100105,35,3992,1,26,1,90,1,1,1,1,16,4,5417,7460.0,399201 +1100105,35,3993,1,22,2,40,1,1,1,1,15,4,522M,6890.0,399301 +1100105,35,3994,1,31,1,40,1,1,1,1,-9,4,531M,7071.0,399401 +1100105,35,3995,1,26,2,40,3,1,1,1,-9,4,611M1,7870.0,399501 +1100105,35,3996,1,25,2,55,1,1,1,1,-9,4,813M,9170.0,399601 +1100105,35,3997,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,399701 +1100105,35,3998,1,23,2,60,1,1,1,1,-9,4,517Z,6690.0,399801 +1100105,35,3999,1,34,1,45,5,1,1,1,-9,4,5122,6590.0,399901 +1100105,35,4000,1,25,2,40,1,1,1,1,-9,4,92M2,9570.0,400001 +1100105,35,4001,1,30,2,40,1,1,1,1,-9,4,5615,7670.0,400101 +1100105,35,4002,1,26,1,90,1,1,1,1,16,4,5417,7460.0,400201 +1100105,35,4003,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,400301 +1100105,35,4004,1,25,1,50,1,1,1,1,16,4,5412,7280.0,400401 +1100105,35,4005,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,400501 +1100105,35,4006,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,400601 +1100105,35,4007,1,34,2,-9,-9,6,1,1,-9,4,611M1,7870.0,400701 +1100105,35,4008,1,28,2,-9,-9,6,1,1,16,4,92MP,9470.0,400801 +1100105,35,4009,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,400901 +1100105,35,4010,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,401001 +1100105,35,4011,1,29,2,55,3,3,1,1,-9,4,92113,9380.0,401101 +1100105,35,4012,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,401201 +1100105,35,4013,1,29,2,30,5,1,6,1,-9,4,8139Z,9190.0,401301 +1100105,35,4014,1,20,2,40,4,1,6,1,15,4,5412,7280.0,401401 +1100105,35,4015,1,31,1,40,1,1,6,1,-9,4,5415,7380.0,401501 +1100105,35,4016,1,22,2,40,6,1,6,1,16,4,813M,9170.0,401601 +1100105,35,4017,1,29,2,30,5,1,6,1,-9,4,8139Z,9190.0,401701 +1100105,35,4018,1,20,2,40,4,1,6,1,15,4,5412,7280.0,401801 +1100105,35,4019,1,34,2,24,4,1,6,1,-9,4,722Z,8680.0,401901 +1100105,35,4020,1,31,1,40,1,1,6,1,-9,4,5415,7380.0,402001 +1100105,35,4021,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,402101 +1100105,35,4022,1,31,2,16,2,1,6,1,-9,4,722Z,8680.0,402201 +1100105,35,4023,1,24,1,35,4,1,1,1,-9,4,5417,7460.0,402301 +1100105,35,4024,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,402401 +1100105,35,4025,1,21,2,20,1,1,1,1,15,4,622M,8191.0,402501 +1100105,35,4026,1,27,1,3,6,1,1,1,16,4,611M3,7890.0,402601 +1100105,35,4027,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,402701 +1100105,35,4028,1,22,2,20,6,2,1,1,-9,4,517Z,6690.0,402801 +1100105,35,4029,1,27,1,3,6,1,1,1,16,4,611M3,7890.0,402901 +1100105,35,4030,1,27,1,3,6,1,1,1,16,4,611M3,7890.0,403001 +1100105,35,4031,1,33,2,40,1,1,1,1,15,2,483,6090.0,403101 +1100105,35,4032,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,403201 +1100105,35,4033,1,22,1,40,4,1,1,1,-9,4,5313,7072.0,403301 +1100105,35,4034,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,403401 +1100105,35,4035,1,22,2,35,5,1,1,1,-9,4,5411,7270.0,403501 +1100105,35,4036,1,29,1,40,4,1,1,1,-9,4,5411,7270.0,403601 +1100105,35,4037,1,24,2,4,3,1,1,1,15,4,713Z,8590.0,403701 +1100105,35,4038,1,22,2,35,5,1,1,1,-9,4,5411,7270.0,403801 +1100105,35,4039,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,403901 +1100105,35,4040,1,22,2,35,5,1,1,1,-9,4,5411,7270.0,404001 +1100105,35,4041,1,25,1,35,1,1,1,1,16,4,813M,9170.0,404101 +1100105,35,4042,1,24,1,15,4,1,1,1,-9,4,9211MP,9370.0,404201 +1100105,35,4043,1,33,2,40,5,1,1,1,-9,4,813M,9170.0,404301 +1100105,35,4044,1,25,1,35,1,1,1,1,16,4,813M,9170.0,404401 +1100105,35,4045,1,24,2,40,1,1,1,1,16,4,813M,9170.0,404501 +1100105,35,4046,1,26,2,20,6,1,1,1,-9,4,611M1,7870.0,404601 +1100105,35,4047,1,25,1,35,1,1,1,1,16,4,813M,9170.0,404701 +1100105,35,4048,1,22,1,40,6,1,1,1,-9,4,5417,7460.0,404801 +1100105,35,4049,1,24,1,35,4,1,1,1,-9,4,5417,7460.0,404901 +1100105,35,4050,1,26,2,30,1,1,1,1,16,4,611M1,7870.0,405001 +1100105,35,4051,1,26,2,20,4,1,1,1,-9,4,52M2,6970.0,405101 +1100105,35,4052,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,405201 +1100105,35,4053,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,405301 +1100105,35,4054,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,405401 +1100105,35,4055,1,33,1,12,5,1,1,1,16,4,9211MP,9370.0,405501 +1100105,35,4056,1,20,2,35,4,1,1,1,15,4,5416,7390.0,405601 +1100105,35,4057,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,405701 +1100105,35,4058,1,26,2,20,6,1,1,1,-9,4,611M1,7870.0,405801 +1100105,35,4059,1,24,2,4,3,1,1,1,15,4,713Z,8590.0,405901 +1100105,35,4060,1,21,2,20,1,1,1,1,15,4,622M,8191.0,406001 +1100105,35,4061,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,406101 +1100105,35,4062,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,406201 +1100105,35,4063,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,406301 +1100105,35,4064,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,406401 +1100105,35,4065,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,406501 +1100105,35,4066,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,406601 +1100105,35,4067,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,406701 +1100105,35,4068,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,406801 +1100105,35,4069,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,406901 +1100105,35,4070,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,407001 +1100105,35,4071,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,407101 +1100105,35,4072,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,407201 +1100105,35,4073,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,407301 +1100105,35,4074,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,407401 +1100105,35,4075,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,407501 +1100105,35,4076,1,26,1,-9,-9,6,6,1,-9,4,0,0.0,407601 +1100105,35,4077,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,407701 +1100105,35,4078,1,26,1,-9,-9,6,6,1,-9,4,0,0.0,407801 +1100105,35,4079,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,407901 +1100105,35,4080,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,408001 +1100105,35,4081,1,26,1,-9,-9,6,6,1,15,4,928P,9590.0,408101 +1100105,35,4082,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,408201 +1100105,35,4083,1,22,2,45,3,6,6,1,16,4,23,770.0,408301 +1100105,35,4084,1,22,2,-9,-9,6,6,1,15,4,0,0.0,408401 +1100105,35,4085,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,408501 +1100105,35,4086,1,23,2,40,6,6,6,1,15,4,611M1,7870.0,408601 +1100105,35,4087,1,23,1,-9,-9,6,6,1,16,4,0,0.0,408701 +1100105,35,4088,1,23,2,40,6,6,6,1,15,4,611M1,7870.0,408801 +1100105,35,4089,1,23,2,40,6,6,6,1,15,4,611M1,7870.0,408901 +1100105,35,4090,1,22,2,45,3,6,6,1,16,4,23,770.0,409001 +1100105,35,4091,1,29,2,8,6,6,6,1,16,4,6212,7980.0,409101 +1100105,35,4092,1,26,1,-9,-9,6,6,1,-9,4,0,0.0,409201 +1100105,35,4093,1,24,2,60,6,6,6,1,16,4,531M,7071.0,409301 +1100105,35,4094,1,34,2,-9,-9,6,6,1,16,4,928P,9590.0,409401 +1100105,35,4095,1,23,2,40,6,6,6,1,15,4,611M1,7870.0,409501 +1100105,35,4096,1,25,1,-9,-9,6,6,1,16,4,0,0.0,409601 +1100105,35,4097,1,34,2,-9,-9,6,6,1,16,4,928P,9590.0,409701 +1100105,35,4098,1,25,1,-9,-9,6,6,1,16,4,0,0.0,409801 +1100105,35,4099,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,409901 +1100105,35,4100,1,29,2,8,6,6,6,1,16,4,6212,7980.0,410001 +1100105,35,4101,1,25,1,-9,-9,6,6,1,16,4,51913,6672.0,410101 +1100105,35,4102,1,22,2,45,3,6,6,1,16,4,23,770.0,410201 +1100105,35,4103,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,410301 +1100105,35,4104,1,26,1,-9,-9,6,6,1,15,4,928P,9590.0,410401 +1100105,35,4105,1,22,2,45,3,6,6,1,16,4,23,770.0,410501 +1100105,35,4106,1,23,2,40,6,6,6,1,15,4,611M1,7870.0,410601 +1100105,35,4107,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,410701 +1100105,35,4108,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,410801 +1100105,35,4109,1,21,2,12,6,6,1,1,16,4,611M1,7870.0,410901 +1100105,35,4110,1,24,2,-9,-9,6,1,1,15,4,0,0.0,411001 +1100105,35,4111,1,21,2,20,3,6,1,1,16,4,611M1,7870.0,411101 +1100105,35,4112,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,411201 +1100105,35,4113,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,411301 +1100105,35,4114,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,411401 +1100105,35,4115,1,34,2,-9,-9,6,1,1,16,4,0,0.0,411501 +1100105,35,4116,1,24,1,-9,-9,6,1,1,16,4,622M,8191.0,411601 +1100105,35,4117,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,411701 +1100105,35,4118,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,411801 +1100105,35,4119,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,411901 +1100105,35,4120,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,412001 +1100105,35,4121,1,25,1,20,4,3,1,1,15,4,6241,8370.0,412101 +1100105,35,4122,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,412201 +1100105,35,4123,1,24,1,10,4,6,1,1,16,4,611M1,7870.0,412301 +1100105,35,4124,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,412401 +1100105,35,4125,1,31,2,-9,-9,3,1,1,16,4,311811,1190.0,412501 +1100105,35,4126,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,412601 +1100105,35,4127,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,412701 +1100105,35,4128,1,24,2,-9,-9,6,1,1,-9,4,5417,7460.0,412801 +1100105,35,4129,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,412901 +1100105,35,4130,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,413001 +1100105,35,4131,1,23,2,20,6,3,1,1,16,4,5417,7460.0,413101 +1100105,35,4132,1,24,2,20,6,6,1,1,16,4,5411,7270.0,413201 +1100105,35,4133,1,26,1,7,3,6,1,1,16,4,611M1,7870.0,413301 +1100105,35,4134,1,24,1,10,4,6,1,1,16,4,611M1,7870.0,413401 +1100105,35,4135,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,413501 +1100105,35,4136,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,413601 +1100105,35,4137,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,413701 +1100105,35,4138,1,24,2,10,5,6,1,1,16,4,712,8570.0,413801 +1100105,35,4139,1,24,2,10,5,6,1,1,16,4,712,8570.0,413901 +1100105,35,4140,1,27,2,-9,-9,6,1,1,16,4,44611,5070.0,414001 +1100105,35,4141,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,414101 +1100105,35,4142,1,31,2,-9,-9,3,1,1,16,4,311811,1190.0,414201 +1100105,35,4143,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,414301 +1100105,35,4144,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,414401 +1100105,35,4145,1,23,1,-9,-9,6,1,1,-9,4,4523,5391.0,414501 +1100105,35,4146,1,26,2,-9,-9,6,1,1,16,4,611M1,7870.0,414601 +1100105,35,4147,1,27,2,-9,-9,6,1,1,16,4,44611,5070.0,414701 +1100105,35,4148,1,24,2,20,6,6,1,1,16,4,5411,7270.0,414801 +1100105,35,4149,1,26,2,-9,-9,6,1,1,16,4,611M1,7870.0,414901 +1100105,35,4150,1,34,2,-9,-9,6,1,1,16,4,0,0.0,415001 +1100105,35,4151,1,27,1,-9,-9,6,1,1,-9,4,611M1,7870.0,415101 +1100105,35,4152,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,415201 +1100105,35,4153,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,415301 +1100105,35,4154,1,24,2,10,5,6,1,1,16,4,712,8570.0,415401 +1100105,35,4155,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,415501 +1100105,35,4156,1,27,2,-9,-9,6,1,1,16,4,44611,5070.0,415601 +1100105,35,4157,1,24,2,-9,-9,6,1,1,15,4,0,0.0,415701 +1100105,35,4158,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,415801 +1100105,35,4159,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,415901 +1100105,35,4160,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,416001 +1100105,35,4161,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,416101 +1100105,35,4162,1,31,2,-9,-9,3,1,1,16,4,311811,1190.0,416201 +1100105,35,4163,1,24,2,20,6,6,1,1,16,4,5411,7270.0,416301 +1100105,35,4164,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,416401 +1100105,35,4165,1,34,2,-9,-9,6,1,1,16,4,0,0.0,416501 +1100105,35,4166,1,26,2,-9,-9,6,1,1,16,4,611M1,7870.0,416601 +1100105,35,4167,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,416701 +1100105,35,4168,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,416801 +1100105,35,4169,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,416901 +1100105,35,4170,1,26,1,7,3,6,1,1,16,4,611M1,7870.0,417001 +1100105,35,4171,1,24,2,-9,-9,6,1,1,16,4,6244,8470.0,417101 +1100105,35,4172,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,417201 +1100105,35,4173,1,28,1,55,5,6,1,1,16,4,52M1,6870.0,417301 +1100105,35,4174,1,26,1,7,3,6,1,1,16,4,611M1,7870.0,417401 +1100105,35,4175,1,26,1,7,3,6,1,1,16,4,611M1,7870.0,417501 +1100105,35,4176,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,417601 +1100105,35,4177,1,24,2,20,6,6,1,1,16,4,5411,7270.0,417701 +1100105,35,4178,1,24,2,10,5,6,1,1,16,4,712,8570.0,417801 +1100105,35,4179,1,34,2,-9,-9,6,1,1,16,4,0,0.0,417901 +1100105,35,4180,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,418001 +1100105,35,4181,1,23,2,-9,-9,6,1,1,16,4,5416,7390.0,418101 +1100105,35,4182,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,418201 +1100105,35,4183,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,418301 +1100105,35,4184,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,418401 +1100105,35,4185,1,23,2,-9,-9,6,1,1,16,4,0,0.0,418501 +1100105,35,4186,1,33,1,-9,-9,3,1,1,-9,4,486,6270.0,418601 +1100105,35,4187,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,418701 +1100105,35,4188,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,418801 +1100105,35,4189,1,24,2,10,5,6,1,1,16,4,712,8570.0,418901 +1100105,35,4190,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,419001 +1100105,35,4191,1,23,2,-9,-9,6,1,1,16,4,0,0.0,419101 +1100105,35,4192,1,24,1,-9,-9,6,1,1,16,4,622M,8191.0,419201 +1100105,35,4193,1,26,2,-9,-9,6,1,1,16,4,611M1,7870.0,419301 +1100105,35,4194,1,26,2,-9,-9,6,1,1,16,4,611M1,7870.0,419401 +1100105,35,4195,1,27,1,30,4,6,1,1,16,4,52M2,6970.0,419501 +1100105,35,4196,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,419601 +1100105,35,4197,1,27,2,-9,-9,6,1,1,16,4,44611,5070.0,419701 +1100105,35,4198,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,419801 +1100105,35,4199,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,419901 +1100105,35,4200,1,26,1,7,3,6,1,1,16,4,611M1,7870.0,420001 +1100105,35,4201,1,24,2,20,6,6,1,1,16,4,5411,7270.0,420101 +1100105,35,4202,1,31,2,-9,-9,3,1,1,16,4,311811,1190.0,420201 +1100105,35,4203,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,420301 +1100105,35,4204,1,25,1,20,4,3,1,1,15,4,6241,8370.0,420401 +1100105,35,4205,1,33,1,-9,-9,3,1,1,-9,4,486,6270.0,420501 +1100105,35,4206,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,420601 +1100105,35,4207,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,420701 +1100105,35,4208,1,24,2,10,5,6,1,1,16,4,712,8570.0,420801 +1100105,35,4209,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,420901 +1100105,35,4210,1,27,1,30,4,6,1,1,16,4,52M2,6970.0,421001 +1100105,35,4211,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,421101 +1100105,35,4212,1,21,2,-9,-9,6,1,1,15,4,722Z,8680.0,421201 +1100105,35,4213,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,421301 +1100105,35,4214,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,421401 +1100105,35,4215,1,20,1,40,6,6,1,1,15,4,52M2,6970.0,421501 +1100105,35,4216,1,21,2,-9,-9,6,1,1,15,4,722Z,8680.0,421601 +1100105,35,4217,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,421701 +1100105,35,4218,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,421801 +1100105,35,4219,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,421901 +1100105,35,4220,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,422001 +1100105,35,4221,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,422101 +1100105,35,4222,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,422201 +1100105,35,4223,1,24,2,20,6,6,1,1,16,4,5411,7270.0,422301 +1100105,35,4224,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,422401 +1100105,35,4225,1,24,2,-9,-9,6,1,1,15,4,0,0.0,422501 +1100105,35,4226,1,27,1,30,4,6,1,1,16,4,52M2,6970.0,422601 +1100105,35,4227,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,422701 +1100105,35,4228,1,25,1,20,4,3,1,1,15,4,6241,8370.0,422801 +1100105,35,4229,1,27,2,-9,-9,6,1,1,16,4,44611,5070.0,422901 +1100105,35,4230,1,28,2,50,6,3,1,1,-9,4,5411,7270.0,423001 +1100105,35,4231,1,25,2,-9,-9,6,1,1,-9,4,92M2,9570.0,423101 +1100105,35,4232,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,423201 +1100105,35,4233,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,423301 +1100105,35,4234,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,423401 +1100105,35,4235,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,423501 +1100105,35,4236,1,25,1,20,4,3,1,1,15,4,6241,8370.0,423601 +1100105,35,4237,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,423701 +1100105,35,4238,1,25,1,20,4,3,1,1,15,4,6241,8370.0,423801 +1100105,35,4239,1,18,2,-9,-9,6,8,1,15,4,0,0.0,423901 +1100105,35,4240,1,18,2,-9,-9,6,8,1,15,4,0,0.0,424001 +1100105,35,4241,1,18,2,-9,-9,6,8,1,15,4,0,0.0,424101 +1100105,35,4242,1,18,2,-9,-9,6,8,1,15,4,0,0.0,424201 +1100105,35,4243,1,18,2,-9,-9,6,8,1,15,4,0,0.0,424301 +1100105,35,4244,1,18,2,-9,-9,6,8,1,15,4,0,0.0,424401 +1100105,35,4245,1,18,2,-9,-9,6,8,1,15,4,0,0.0,424501 +1100105,35,4246,1,18,2,-9,-9,6,8,1,15,4,0,0.0,424601 +1100105,35,4247,1,18,2,-9,-9,6,8,1,15,4,0,0.0,424701 +1100105,35,4248,1,18,2,-9,-9,6,8,1,15,4,0,0.0,424801 +1100105,35,4249,1,18,2,-9,-9,6,8,1,15,4,0,0.0,424901 +1100105,39,4250,1,26,1,40,1,1,6,1,-9,4,5415,7380.0,425001 +1100105,39,4250,2,40,1,-9,-9,6,1,1,-9,4,5416,7390.0,425002 +1100105,39,4250,3,28,1,40,1,1,1,1,-9,4,923,9480.0,425003 +1100105,39,4250,4,28,2,40,4,1,1,11,-9,4,611M3,7890.0,425004 +1100105,39,4250,5,26,2,47,1,1,9,1,-9,4,6241,8370.0,425005 +1100105,39,4250,6,26,1,40,1,1,1,1,-9,4,923,9480.0,425006 +1100105,39,4250,7,24,1,40,4,1,9,1,-9,4,517Z,6690.0,425007 +1100105,39,4250,8,23,1,43,1,1,1,1,-9,4,7115,8564.0,425008 +1100105,39,4250,9,23,1,50,3,1,1,1,16,4,6111,7860.0,425009 +1100105,39,4250,10,22,1,43,3,1,9,19,-9,4,5417,7460.0,425010 +1100105,39,4251,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,425101 +1100105,39,4251,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,425102 +1100105,39,4251,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,425103 +1100105,39,4252,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,425201 +1100105,39,4252,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,425202 +1100105,39,4253,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,425301 +1100105,39,4253,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,425302 +1100105,39,4254,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,425401 +1100105,39,4254,2,27,1,45,1,1,1,1,-9,4,8139Z,9190.0,425402 +1100105,39,4255,1,24,1,18,5,1,1,1,16,4,33641M2,3590.0,425501 +1100105,39,4255,2,23,2,45,1,1,1,1,-9,4,337,3895.0,425502 +1100105,39,4256,1,24,2,50,6,6,1,1,16,4,5411,7270.0,425601 +1100105,39,4256,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,425602 +1100105,39,4257,1,22,1,20,1,1,6,1,16,4,611M1,7870.0,425701 +1100105,39,4257,2,21,1,10,5,6,1,1,16,4,5111Z,6480.0,425702 +1100105,39,4258,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,425801 +1100105,39,4258,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,425802 +1100105,39,4259,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,425901 +1100105,39,4259,2,24,2,-9,-9,6,6,1,16,4,0,0.0,425902 +1100105,39,4260,1,53,1,50,1,1,1,1,-9,4,4238,4270.0,426001 +1100105,39,4261,1,35,2,40,1,1,1,1,-9,4,5418,7470.0,426101 +1100105,39,4262,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,426201 +1100105,39,4263,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,426301 +1100105,39,4264,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,426401 +1100105,39,4265,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,426501 +1100105,39,4266,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,426601 +1100105,39,4267,1,26,2,40,1,1,6,1,16,2,92M2,9570.0,426701 +1100105,39,4268,1,34,2,55,1,1,1,1,15,4,515,6670.0,426801 +1100105,39,4269,1,29,2,50,1,1,1,1,-9,4,9211MP,9370.0,426901 +1100105,39,4270,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,427001 +1100105,39,4271,1,31,2,55,1,1,1,4,-9,4,5411,7270.0,427101 +1100105,39,4272,1,58,1,30,1,1,1,1,-9,4,8131,9160.0,427201 +1100105,39,4273,1,28,2,42,1,1,1,1,-9,4,812112,8980.0,427301 +1100105,39,4274,1,31,1,20,1,1,1,1,16,4,443142,4795.0,427401 +1100105,39,4275,1,74,2,-9,-9,6,1,1,-9,4,5411,7270.0,427501 +1100105,39,4276,1,33,2,40,1,1,1,1,15,2,483,6090.0,427601 +1100105,39,4277,1,77,2,-9,-9,6,1,1,-9,4,611M3,7890.0,427701 +1100105,39,4278,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,427801 +1100105,40,4279,1,33,1,40,1,1,1,1,-9,4,928P,9590.0,427901 +1100105,40,4279,2,38,1,40,1,1,1,1,-9,4,52M2,6970.0,427902 +1100105,40,4279,3,38,2,45,1,1,1,1,-9,4,52M1,6870.0,427903 +1100105,40,4279,4,28,1,32,1,1,1,23,-9,4,5191ZM,6780.0,427904 +1100105,40,4280,1,23,2,40,6,1,1,1,-9,4,928P,9590.0,428001 +1100105,40,4280,2,27,2,40,1,1,1,1,-9,4,5412,7280.0,428002 +1100105,40,4280,3,26,2,48,1,1,1,1,-9,4,722Z,8680.0,428003 +1100105,40,4280,4,24,1,40,1,1,1,1,-9,4,722Z,8680.0,428004 +1100105,40,4281,1,29,1,45,1,1,1,2,-9,4,928P,9590.0,428101 +1100105,40,4281,2,27,2,40,1,1,6,1,-9,4,7211,8660.0,428102 +1100105,40,4281,3,26,1,60,1,1,1,1,-9,4,52M2,6970.0,428103 +1100105,40,4281,4,26,1,50,1,1,6,1,-9,4,52M1,6870.0,428104 +1100105,40,4282,1,53,1,70,1,1,1,1,-9,4,5411,7270.0,428201 +1100105,40,4282,2,45,2,50,1,1,1,1,-9,4,8131,9160.0,428202 +1100105,40,4282,3,15,2,-9,-9,-9,1,1,12,-9,0,0.0,428203 +1100105,40,4282,4,11,1,-9,-9,-9,1,1,8,-9,0,0.0,428204 +1100105,40,4283,1,64,1,40,1,1,1,1,-9,4,923,9480.0,428301 +1100105,40,4283,2,30,1,40,6,1,1,1,-9,4,6241,8370.0,428302 +1100105,40,4283,3,45,2,-9,-9,6,1,1,-9,4,814,9290.0,428303 +1100105,40,4283,4,3,2,-9,-9,-9,9,1,1,-9,0,0.0,428304 +1100105,40,4284,1,64,1,40,1,1,1,1,-9,4,923,9480.0,428401 +1100105,40,4284,2,30,1,40,6,1,1,1,-9,4,6241,8370.0,428402 +1100105,40,4284,3,45,2,-9,-9,6,1,1,-9,4,814,9290.0,428403 +1100105,40,4284,4,3,2,-9,-9,-9,9,1,1,-9,0,0.0,428404 +1100105,40,4285,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,428501 +1100105,40,4285,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,428502 +1100105,40,4285,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,428503 +1100105,40,4285,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,428504 +1100105,40,4286,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,428601 +1100105,40,4286,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,428602 +1100105,40,4286,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,428603 +1100105,40,4286,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,428604 +1100105,40,4287,1,37,1,45,1,1,9,1,-9,4,92MP,9470.0,428701 +1100105,40,4287,2,37,2,50,1,1,6,1,-9,4,5416,7390.0,428702 +1100105,40,4287,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,428703 +1100105,40,4287,4,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,428704 +1100105,40,4288,1,47,1,60,1,1,1,1,-9,4,443142,4795.0,428801 +1100105,40,4288,2,39,2,6,1,1,1,1,-9,4,9211MP,9370.0,428802 +1100105,40,4288,3,7,1,-9,-9,-9,1,1,3,-9,0,0.0,428803 +1100105,40,4288,4,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,428804 +1100105,40,4289,1,36,1,40,1,1,6,1,-9,4,928P,9590.0,428901 +1100105,40,4289,2,36,2,40,1,1,6,1,-9,4,6241,8370.0,428902 +1100105,40,4289,3,4,1,-9,-9,-9,6,1,1,-9,0,0.0,428903 +1100105,40,4289,4,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,428904 +1100105,40,4290,1,40,1,48,1,1,1,1,-9,4,928P,9590.0,429001 +1100105,40,4290,2,4,2,-9,-9,-9,1,1,-9,-9,0,0.0,429002 +1100105,40,4290,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,429003 +1100105,40,4290,4,39,2,40,1,1,1,1,-9,4,928P,9590.0,429004 +1100105,40,4291,1,39,2,-9,-9,6,1,1,-9,4,0,0.0,429101 +1100105,40,4291,2,39,1,50,1,1,1,1,-9,4,5416,7390.0,429102 +1100105,40,4291,3,6,2,-9,-9,-9,1,1,2,-9,0,0.0,429103 +1100105,40,4291,4,3,2,-9,-9,-9,1,1,1,-9,0,0.0,429104 +1100105,40,4292,1,48,1,60,1,1,1,1,-9,4,5111Z,6480.0,429201 +1100105,40,4292,2,40,2,20,1,1,1,1,-9,4,928P,9590.0,429202 +1100105,40,4292,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,429203 +1100105,40,4292,4,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,429204 +1100105,40,4293,1,52,2,-9,-9,3,1,24,-9,4,622M,8191.0,429301 +1100105,40,4293,2,27,2,40,1,1,1,11,16,4,5416,7390.0,429302 +1100105,40,4293,3,14,2,-9,-9,-9,1,11,-9,-9,0,0.0,429303 +1100105,40,4293,4,3,1,-9,-9,-9,1,11,1,-9,0,0.0,429304 +1100105,40,4294,1,68,1,-9,-9,6,2,1,-9,4,0,0.0,429401 +1100105,40,4294,2,71,2,-9,-9,6,9,1,-9,4,0,0.0,429402 +1100105,40,4294,3,47,1,40,1,1,2,1,-9,4,6242,8380.0,429403 +1100105,40,4294,4,77,1,-9,-9,6,2,1,-9,4,0,0.0,429404 +1100105,40,4295,1,63,1,50,1,1,1,1,-9,4,23,770.0,429501 +1100105,40,4295,2,28,1,-9,-9,6,1,1,-9,4,713Z,8590.0,429502 +1100105,40,4295,3,25,2,-9,-9,6,1,1,15,4,0,0.0,429503 +1100105,40,4295,4,21,1,-9,-9,6,1,1,-9,4,0,0.0,429504 +1100105,40,4296,1,43,2,50,1,1,8,8,-9,4,813M,9170.0,429601 +1100105,40,4296,2,39,1,40,4,3,1,1,-9,4,5121,6570.0,429602 +1100105,40,4296,3,9,1,-9,-9,-9,8,8,6,-9,0,0.0,429603 +1100105,40,4296,4,4,2,-9,-9,-9,8,8,1,-9,0,0.0,429604 +1100105,40,4297,1,22,1,30,4,1,8,21,15,4,5417,7460.0,429701 +1100105,40,4297,2,23,1,40,1,1,6,1,-9,4,52M2,6970.0,429702 +1100105,40,4297,3,22,1,40,6,6,1,1,15,4,713Z,8590.0,429703 +1100105,40,4297,4,21,1,20,3,1,1,1,15,4,7115,8564.0,429704 +1100105,40,4298,1,44,2,35,1,1,1,1,-9,4,7211,8660.0,429801 +1100105,40,4298,2,49,1,20,2,1,1,1,-9,4,722Z,8680.0,429802 +1100105,40,4298,3,16,2,-9,-9,6,1,1,13,-9,0,0.0,429803 +1100105,40,4298,4,11,2,-9,-9,-9,1,1,8,-9,0,0.0,429804 +1100105,40,4299,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,429901 +1100105,40,4299,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,429902 +1100105,40,4299,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,429903 +1100105,40,4299,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,429904 +1100105,40,4300,1,49,2,32,1,1,2,1,-9,4,622M,8191.0,430001 +1100105,40,4300,2,46,1,40,1,1,2,1,-9,4,712,8570.0,430002 +1100105,40,4300,3,48,2,-9,-9,6,2,1,-9,4,0,0.0,430003 +1100105,40,4300,4,88,2,-9,-9,6,2,1,-9,4,0,0.0,430004 +1100105,40,4301,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,430101 +1100105,40,4301,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,430102 +1100105,40,4301,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,430103 +1100105,40,4301,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,430104 +1100105,40,4302,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,430201 +1100105,40,4302,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,430202 +1100105,40,4302,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,430203 +1100105,40,4302,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,430204 +1100105,40,4303,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,430301 +1100105,40,4303,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,430302 +1100105,40,4303,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,430303 +1100105,40,4303,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,430304 +1100105,40,4304,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,430401 +1100105,40,4304,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,430402 +1100105,40,4304,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,430403 +1100105,40,4304,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,430404 +1100105,40,4305,1,46,2,-9,-9,6,8,11,-9,4,722Z,8680.0,430501 +1100105,40,4305,2,43,1,40,1,1,8,11,-9,4,928P,9590.0,430502 +1100105,40,4305,3,20,2,20,4,1,8,24,-9,4,5617Z,7690.0,430503 +1100105,40,4305,4,15,2,-9,-9,-9,8,11,11,-9,0,0.0,430504 +1100105,40,4306,1,35,2,20,1,1,2,2,14,4,722Z,8680.0,430601 +1100105,40,4306,2,34,1,40,1,1,2,2,-9,4,722Z,8680.0,430602 +1100105,40,4306,3,13,1,-9,-9,-9,8,2,9,-9,0,0.0,430603 +1100105,40,4306,4,9,1,-9,-9,-9,8,2,5,-9,0,0.0,430604 +1100105,40,4307,1,28,1,40,1,1,8,2,-9,4,23,770.0,430701 +1100105,40,4307,2,35,2,-9,-9,6,8,2,-9,4,0,0.0,430702 +1100105,40,4307,3,6,2,-9,-9,-9,8,2,2,-9,0,0.0,430703 +1100105,40,4307,4,4,1,-9,-9,-9,8,2,1,-9,0,0.0,430704 +1100105,40,4308,1,62,1,40,1,1,8,11,-9,4,44511,4971.0,430801 +1100105,40,4308,2,52,2,-9,-9,6,8,11,-9,4,0,0.0,430802 +1100105,40,4308,3,17,2,-9,-9,6,8,11,13,4,0,0.0,430803 +1100105,40,4308,4,13,2,-9,-9,-9,8,11,9,-9,0,0.0,430804 +1100105,40,4309,1,23,1,-9,-9,6,6,1,16,4,0,0.0,430901 +1100105,40,4309,2,23,1,-9,-9,6,6,1,16,4,0,0.0,430902 +1100105,40,4309,3,22,2,-9,-9,6,6,1,16,4,0,0.0,430903 +1100105,40,4309,4,22,2,-9,-9,6,6,1,16,4,0,0.0,430904 +1100105,40,4310,1,37,2,40,1,1,1,1,-9,4,5415,7380.0,431001 +1100105,40,4310,2,40,1,40,1,1,6,1,-9,4,622M,8191.0,431002 +1100105,40,4310,3,0,1,-9,-9,-9,8,1,-9,-9,0,0.0,431003 +1100105,40,4311,1,40,1,60,1,1,1,1,-9,4,5411,7270.0,431101 +1100105,40,4311,2,37,2,30,1,1,1,1,-9,4,713Z,8590.0,431102 +1100105,40,4311,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,431103 +1100105,40,4312,1,34,2,40,2,1,1,1,-9,4,5417,7460.0,431201 +1100105,40,4312,2,37,1,40,2,1,6,1,-9,4,5416,7390.0,431202 +1100105,40,4312,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,431203 +1100105,40,4313,1,40,1,50,1,1,1,1,-9,4,3391,3960.0,431301 +1100105,40,4313,2,32,2,40,1,1,1,1,-9,4,923,9480.0,431302 +1100105,40,4313,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,431303 +1100105,40,4314,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,431401 +1100105,40,4314,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,431402 +1100105,40,4314,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,431403 +1100105,40,4315,1,30,2,40,1,1,1,1,-9,4,23,770.0,431501 +1100105,40,4315,2,30,1,50,1,1,1,1,-9,4,517311,6680.0,431502 +1100105,40,4315,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,431503 +1100105,40,4316,1,35,1,50,2,1,6,1,-9,4,5416,7390.0,431601 +1100105,40,4316,2,35,2,-9,-9,6,6,1,-9,4,0,0.0,431602 +1100105,40,4316,3,4,2,-9,-9,-9,6,1,1,-9,0,0.0,431603 +1100105,40,4317,1,42,2,30,1,1,1,1,-9,4,5413,7290.0,431701 +1100105,40,4317,2,41,1,40,1,1,1,1,-9,4,3231,1990.0,431702 +1100105,40,4317,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,431703 +1100105,40,4318,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,431801 +1100105,40,4318,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,431802 +1100105,40,4318,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,431803 +1100105,40,4319,1,46,1,40,1,1,1,1,-9,4,92M2,9570.0,431901 +1100105,40,4319,2,43,2,40,1,1,1,1,-9,4,92M2,9570.0,431902 +1100105,40,4319,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,431903 +1100105,40,4320,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,432001 +1100105,40,4320,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,432002 +1100105,40,4320,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,432003 +1100105,40,4321,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,432101 +1100105,40,4321,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,432102 +1100105,40,4321,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,432103 +1100105,40,4322,1,67,1,40,1,1,1,1,-9,3,5411,7270.0,432201 +1100105,40,4322,2,64,2,10,1,1,1,1,-9,4,611M1,7870.0,432202 +1100105,40,4323,1,45,1,45,1,1,6,1,-9,4,5411,7270.0,432301 +1100105,40,4323,2,44,2,40,1,1,6,1,-9,4,5411,7270.0,432302 +1100105,40,4324,1,35,2,55,2,1,9,1,-9,4,51111,6470.0,432401 +1100105,40,4324,2,46,1,55,1,1,1,1,-9,4,51913,6672.0,432402 +1100105,40,4325,1,47,1,40,1,1,1,1,-9,4,52M1,6870.0,432501 +1100105,40,4325,2,52,1,40,1,1,6,1,-9,4,923,9480.0,432502 +1100105,40,4326,1,37,1,60,1,1,1,1,-9,4,5418,7470.0,432601 +1100105,40,4326,2,42,1,50,1,1,6,1,-9,4,9211MP,9370.0,432602 +1100105,40,4327,1,52,1,40,1,1,1,1,16,4,92119,9390.0,432701 +1100105,40,4327,2,48,2,40,1,1,1,1,-9,4,92119,9390.0,432702 +1100105,40,4328,1,53,1,20,5,1,1,1,-9,4,611M3,7890.0,432801 +1100105,40,4328,2,55,1,40,1,1,1,1,-9,4,92M1,9490.0,432802 +1100105,40,4329,1,48,1,40,1,1,1,1,-9,4,92113,9380.0,432901 +1100105,40,4329,2,51,1,40,1,1,1,1,-9,2,5241,6991.0,432902 +1100105,40,4330,1,53,2,40,1,1,1,1,-9,4,8139Z,9190.0,433001 +1100105,40,4330,2,54,1,50,1,1,1,1,-9,4,92113,9380.0,433002 +1100105,40,4331,1,38,1,40,1,1,1,1,-9,4,92MP,9470.0,433101 +1100105,40,4331,2,36,2,40,1,1,1,1,-9,4,5413,7290.0,433102 +1100105,40,4332,1,37,1,40,1,1,1,1,-9,4,23,770.0,433201 +1100105,40,4332,2,49,1,40,1,1,1,1,-9,2,23,770.0,433202 +1100105,40,4333,1,38,2,50,1,1,1,1,-9,4,8139Z,9190.0,433301 +1100105,40,4333,2,39,1,45,1,1,1,1,-9,4,611M1,7870.0,433302 +1100105,40,4334,1,56,2,40,1,1,1,1,-9,4,92M2,9570.0,433401 +1100105,40,4334,2,55,1,40,1,1,1,1,-9,4,9211MP,9370.0,433402 +1100105,40,4335,1,37,1,40,3,1,1,1,16,2,7115,8564.0,433501 +1100105,40,4335,2,36,1,60,1,1,1,1,-9,4,722Z,8680.0,433502 +1100105,40,4336,1,37,1,40,1,1,1,1,-9,4,92M2,9570.0,433601 +1100105,40,4336,2,35,2,43,1,1,1,3,-9,4,5416,7390.0,433602 +1100105,40,4337,1,37,1,40,1,1,9,1,-9,4,5416,7390.0,433701 +1100105,40,4337,2,34,2,55,3,1,1,1,-9,4,5418,7470.0,433702 +1100105,40,4338,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,433801 +1100105,40,4338,2,30,1,40,1,1,6,1,-9,4,6214,8090.0,433802 +1100105,40,4339,1,33,2,80,1,1,1,1,-9,4,5416,7390.0,433901 +1100105,40,4339,2,35,1,50,2,1,1,1,16,4,5416,7390.0,433902 +1100105,40,4340,1,39,1,44,1,1,1,1,-9,4,6212,7980.0,434001 +1100105,40,4340,2,32,1,50,1,1,1,1,-9,4,813M,9170.0,434002 +1100105,40,4341,1,26,1,40,1,1,1,1,-9,4,51111,6470.0,434101 +1100105,40,4341,2,39,1,50,1,1,1,1,-9,4,7224,8690.0,434102 +1100105,40,4342,1,38,2,40,1,1,1,1,-9,4,522M,6890.0,434201 +1100105,40,4342,2,29,1,40,1,1,1,1,-9,4,928P,9590.0,434202 +1100105,40,4343,1,44,1,40,1,4,1,19,16,1,928110P3,9690.0,434301 +1100105,40,4343,2,27,2,50,1,1,1,1,-9,4,8139Z,9190.0,434302 +1100105,40,4344,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,434401 +1100105,40,4344,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,434402 +1100105,40,4345,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,434501 +1100105,40,4345,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,434502 +1100105,40,4346,1,33,1,50,1,1,6,1,-9,4,5416,7390.0,434601 +1100105,40,4346,2,31,2,45,1,1,1,1,-9,4,52M1,6870.0,434602 +1100105,40,4347,1,29,1,60,1,1,1,1,-9,4,9211MP,9370.0,434701 +1100105,40,4347,2,30,2,60,1,1,1,1,-9,4,9211MP,9370.0,434702 +1100105,40,4348,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,434801 +1100105,40,4348,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,434802 +1100105,40,4349,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,434901 +1100105,40,4349,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,434902 +1100105,40,4350,1,29,2,50,1,1,1,1,-9,4,6214,8090.0,435001 +1100105,40,4350,2,29,1,60,1,1,1,1,-9,4,5411,7270.0,435002 +1100105,40,4351,1,31,2,55,1,1,1,1,-9,4,5417,7460.0,435101 +1100105,40,4351,2,31,1,50,1,1,1,1,-9,4,928P,9590.0,435102 +1100105,40,4352,1,28,2,45,1,1,1,1,-9,4,8139Z,9190.0,435201 +1100105,40,4352,2,27,1,45,1,1,1,1,-9,4,5416,7390.0,435202 +1100105,40,4353,1,27,2,65,3,1,1,1,-9,4,5411,7270.0,435301 +1100105,40,4353,2,27,1,50,1,1,1,1,-9,4,5416,7390.0,435302 +1100105,40,4354,1,30,1,60,1,1,1,1,-9,4,611M3,7890.0,435401 +1100105,40,4354,2,31,2,40,1,1,1,1,-9,4,491,6370.0,435402 +1100105,40,4355,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,435501 +1100105,40,4355,2,28,2,50,1,1,1,1,16,4,52M2,6970.0,435502 +1100105,40,4356,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,435601 +1100105,40,4356,2,67,2,50,1,1,1,1,-9,4,5413,7290.0,435602 +1100105,40,4357,1,63,1,-9,-9,6,1,1,-9,4,611M1,7870.0,435701 +1100105,40,4357,2,66,1,40,1,1,1,1,-9,4,92M2,9570.0,435702 +1100105,40,4358,1,55,1,45,1,1,1,1,-9,4,722Z,8680.0,435801 +1100105,40,4358,2,56,2,-9,-9,6,1,1,-9,4,0,0.0,435802 +1100105,40,4359,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,435901 +1100105,40,4359,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,435902 +1100105,40,4360,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,436001 +1100105,40,4360,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,436002 +1100105,40,4361,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,436101 +1100105,40,4361,2,35,2,40,1,1,6,1,16,4,5417,7460.0,436102 +1100105,40,4362,1,57,1,38,1,1,1,1,-9,2,485M,6180.0,436201 +1100105,40,4362,2,60,2,40,1,1,6,1,-9,4,5613,7580.0,436202 +1100105,40,4363,1,43,1,40,1,1,1,1,-9,4,92MP,9470.0,436301 +1100105,40,4363,2,37,1,50,1,1,1,1,-9,2,531M,7071.0,436302 +1100105,40,4364,1,37,1,45,1,1,1,1,-9,4,928P,9590.0,436401 +1100105,40,4364,2,37,2,50,3,1,1,1,-9,4,928P,9590.0,436402 +1100105,40,4365,1,36,2,40,1,1,1,1,-9,4,928P,9590.0,436501 +1100105,40,4365,2,35,1,40,4,1,1,1,-9,3,5417,7460.0,436502 +1100105,40,4366,1,36,2,60,1,1,1,1,-9,4,611M3,7890.0,436601 +1100105,40,4366,2,36,2,45,1,1,8,17,-9,4,813M,9170.0,436602 +1100105,40,4367,1,33,2,40,1,1,6,1,-9,4,5417,7460.0,436701 +1100105,40,4367,2,35,1,43,2,1,6,1,-9,4,5413,7290.0,436702 +1100105,40,4368,1,35,1,50,1,1,9,1,-9,4,92M2,9570.0,436801 +1100105,40,4368,2,27,2,40,1,1,1,1,-9,4,4481,5170.0,436802 +1100105,40,4369,1,35,2,50,1,1,6,1,-9,4,928P,9590.0,436901 +1100105,40,4369,2,28,1,50,1,1,1,1,-9,4,621M,8180.0,436902 +1100105,40,4370,1,37,1,55,1,1,1,1,-9,4,813M,9170.0,437001 +1100105,40,4370,2,34,2,55,1,1,1,1,-9,4,712,8570.0,437002 +1100105,40,4371,1,36,1,50,1,1,1,1,-9,4,443142,4795.0,437101 +1100105,40,4371,2,34,1,40,1,1,1,1,-9,4,5416,7390.0,437102 +1100105,40,4372,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,437201 +1100105,40,4372,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,437202 +1100105,40,4373,1,26,1,40,1,1,6,1,-9,4,923,9480.0,437301 +1100105,40,4373,2,27,1,40,1,1,6,1,-9,4,52M1,6870.0,437302 +1100105,40,4374,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,437401 +1100105,40,4374,2,27,2,40,1,1,6,1,16,4,6231,8270.0,437402 +1100105,40,4375,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,437501 +1100105,40,4375,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,437502 +1100105,40,4376,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,437601 +1100105,40,4376,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,437602 +1100105,40,4377,1,24,2,40,1,1,1,1,-9,4,5416,7390.0,437701 +1100105,40,4377,2,23,2,40,1,1,6,1,-9,4,5416,7390.0,437702 +1100105,40,4378,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,437801 +1100105,40,4378,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,437802 +1100105,40,4379,1,30,1,50,1,1,1,1,-9,4,4237,4265.0,437901 +1100105,40,4379,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,437902 +1100105,40,4380,1,33,2,40,1,1,1,1,-9,4,8139Z,9190.0,438001 +1100105,40,4380,2,32,1,40,1,1,1,1,-9,4,6241,8370.0,438002 +1100105,40,4381,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,438101 +1100105,40,4381,2,31,2,40,1,1,1,1,-9,4,92M2,9570.0,438102 +1100105,40,4382,1,29,2,45,1,1,1,1,-9,4,5418,7470.0,438201 +1100105,40,4382,2,31,1,50,1,1,1,1,-9,4,23,770.0,438202 +1100105,40,4383,1,27,2,60,1,1,1,1,-9,4,713Z,8590.0,438301 +1100105,40,4383,2,29,1,65,1,1,1,1,-9,4,52M1,6870.0,438302 +1100105,40,4384,1,30,1,40,1,1,1,1,-9,4,611M1,7870.0,438401 +1100105,40,4384,2,30,2,50,1,1,1,1,-9,4,5111Z,6480.0,438402 +1100105,40,4385,1,33,2,40,1,1,1,1,-9,4,8139Z,9190.0,438501 +1100105,40,4385,2,32,1,40,1,1,1,1,-9,4,6241,8370.0,438502 +1100105,40,4386,1,32,2,40,1,1,1,1,-9,4,5415,7380.0,438601 +1100105,40,4386,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,438602 +1100105,40,4387,1,31,2,60,1,1,1,1,-9,4,5614,7590.0,438701 +1100105,40,4387,2,33,1,50,1,1,1,1,-9,4,5112,6490.0,438702 +1100105,40,4388,1,32,1,40,1,1,1,1,15,4,5415,7380.0,438801 +1100105,40,4388,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,438802 +1100105,40,4389,1,28,2,43,1,1,1,1,-9,4,9211MP,9370.0,438901 +1100105,40,4389,2,30,1,50,1,1,1,1,-9,4,531M,7071.0,438902 +1100105,40,4390,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,439001 +1100105,40,4390,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,439002 +1100105,40,4391,1,33,1,40,1,1,1,3,-9,4,923,9480.0,439101 +1100105,40,4391,2,32,2,40,1,1,1,1,-9,4,454110,5593.0,439102 +1100105,40,4392,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,439201 +1100105,40,4392,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,439202 +1100105,40,4393,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,439301 +1100105,40,4393,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,439302 +1100105,40,4394,1,60,2,40,1,1,1,1,-9,4,8139Z,9190.0,439401 +1100105,40,4394,2,57,2,-9,-9,6,1,1,-9,4,5416,7390.0,439402 +1100105,40,4395,1,40,1,-9,-9,3,8,3,-9,4,813M,9170.0,439501 +1100105,40,4395,2,42,1,50,1,1,1,1,-9,4,522M,6890.0,439502 +1100105,40,4396,1,31,2,50,3,3,1,1,-9,4,454110,5593.0,439601 +1100105,40,4396,2,32,1,60,1,1,1,1,-9,4,9211MP,9370.0,439602 +1100105,40,4397,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,439701 +1100105,40,4397,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,439702 +1100105,40,4398,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,439801 +1100105,40,4398,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,439802 +1100105,40,4399,1,51,1,15,1,1,6,1,-9,4,5413,7290.0,439901 +1100105,40,4399,2,47,2,45,1,1,6,1,-9,4,5415,7380.0,439902 +1100105,40,4400,1,36,1,50,1,1,1,1,16,4,6111,7860.0,440001 +1100105,40,4400,2,40,1,40,1,1,1,1,-9,4,5413,7290.0,440002 +1100105,40,4401,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,440101 +1100105,40,4401,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,440102 +1100105,40,4402,1,36,2,45,1,1,1,1,-9,4,5241,6991.0,440201 +1100105,40,4402,2,33,1,35,1,1,1,1,-9,4,531M,7071.0,440202 +1100105,40,4403,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,440301 +1100105,40,4403,2,52,1,45,1,1,2,1,-9,4,481,6070.0,440302 +1100105,40,4404,1,32,1,50,1,1,6,1,-9,4,9211MP,9370.0,440401 +1100105,40,4404,2,32,2,30,1,1,6,1,16,4,611M1,7870.0,440402 +1100105,40,4405,1,27,2,40,1,1,9,1,-9,4,928P,9590.0,440501 +1100105,40,4405,2,28,2,50,1,1,1,1,-9,4,928P,9590.0,440502 +1100105,40,4406,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,440601 +1100105,40,4406,2,25,2,40,4,1,6,1,-9,4,813M,9170.0,440602 +1100105,40,4407,1,22,2,40,1,1,6,1,-9,4,5418,7470.0,440701 +1100105,40,4407,2,24,2,40,1,1,1,1,-9,4,813M,9170.0,440702 +1100105,40,4408,1,33,1,40,1,1,1,1,16,4,6111,7860.0,440801 +1100105,40,4408,2,29,1,40,1,1,1,1,-9,4,813M,9170.0,440802 +1100105,40,4409,1,28,1,55,1,1,1,1,-9,4,8139Z,9190.0,440901 +1100105,40,4409,2,23,1,40,1,1,1,1,-9,4,5419Z,7490.0,440902 +1100105,40,4410,1,26,1,40,1,1,1,1,16,4,522M,6890.0,441001 +1100105,40,4410,2,26,2,40,1,1,1,1,-9,4,6111,7860.0,441002 +1100105,40,4411,1,28,2,50,1,1,1,1,-9,4,92MP,9470.0,441101 +1100105,40,4411,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,441102 +1100105,40,4412,1,28,2,50,1,1,1,1,-9,4,8131,9160.0,441201 +1100105,40,4412,2,32,1,40,1,1,1,1,-9,4,611M3,7890.0,441202 +1100105,40,4413,1,25,1,50,1,1,1,1,-9,4,5415,7380.0,441301 +1100105,40,4413,2,25,2,45,1,1,1,1,-9,4,522M,6890.0,441302 +1100105,40,4414,1,28,1,45,1,1,1,1,-9,4,5417,7460.0,441401 +1100105,40,4414,2,30,2,45,1,1,1,1,-9,4,5417,7460.0,441402 +1100105,40,4415,1,34,1,40,1,1,1,1,-9,4,5415,7380.0,441501 +1100105,40,4415,2,31,2,40,1,1,1,1,-9,4,813M,9170.0,441502 +1100105,40,4416,1,33,1,40,1,1,1,1,-9,4,611M1,7870.0,441601 +1100105,40,4416,2,31,2,40,1,1,1,1,-9,4,813M,9170.0,441602 +1100105,40,4417,1,26,1,50,1,1,1,1,-9,4,5242,6992.0,441701 +1100105,40,4417,2,24,2,32,1,1,1,1,-9,4,6211,7970.0,441702 +1100105,40,4418,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,441801 +1100105,40,4418,2,26,2,60,1,1,1,3,16,4,6111,7860.0,441802 +1100105,40,4419,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,441901 +1100105,40,4419,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,441902 +1100105,40,4420,1,28,2,-9,-9,6,1,1,16,4,0,0.0,442001 +1100105,40,4420,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,442002 +1100105,40,4421,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,442101 +1100105,40,4421,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,442102 +1100105,40,4422,1,36,2,40,3,1,6,1,16,4,611M1,7870.0,442201 +1100105,40,4422,2,49,1,50,1,1,1,1,-9,4,611M1,7870.0,442202 +1100105,40,4423,1,54,2,32,4,1,1,1,-9,4,23,770.0,442301 +1100105,40,4423,2,57,1,50,1,1,1,1,-9,4,5415,7380.0,442302 +1100105,40,4424,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,442401 +1100105,40,4424,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,442402 +1100105,40,4425,1,26,2,40,1,1,6,1,-9,4,92119,9390.0,442501 +1100105,40,4425,2,23,1,40,1,1,6,1,-9,4,5416,7390.0,442502 +1100105,40,4426,1,29,1,40,3,1,2,1,-9,4,5417,7460.0,442601 +1100105,40,4426,2,27,1,40,1,1,6,1,-9,4,722Z,8680.0,442602 +1100105,40,4427,1,25,2,40,3,1,9,1,-9,4,5242,6992.0,442701 +1100105,40,4427,2,28,1,52,1,1,1,1,-9,4,52M2,6970.0,442702 +1100105,40,4428,1,26,2,40,1,1,1,1,-9,4,92119,9390.0,442801 +1100105,40,4428,2,32,2,50,1,1,6,1,-9,4,928P,9590.0,442802 +1100105,40,4429,1,23,2,40,1,1,1,1,-9,4,515,6670.0,442901 +1100105,40,4429,2,26,2,40,1,1,1,1,-9,4,515,6670.0,442902 +1100105,40,4430,1,20,2,60,4,1,1,1,15,4,6211,7970.0,443001 +1100105,40,4430,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,443002 +1100105,40,4431,1,31,2,45,1,1,1,1,-9,4,611M1,7870.0,443101 +1100105,40,4431,2,27,2,40,3,1,1,1,-9,4,6241,8370.0,443102 +1100105,40,4432,1,26,2,45,1,1,1,1,-9,4,722Z,8680.0,443201 +1100105,40,4432,2,29,1,50,1,1,1,1,-9,4,722Z,8680.0,443202 +1100105,40,4433,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,443301 +1100105,40,4433,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,443302 +1100105,40,4434,1,27,2,70,1,1,1,1,-9,4,6111,7860.0,443401 +1100105,40,4434,2,23,2,12,5,1,1,1,15,4,722Z,8680.0,443402 +1100105,40,4435,1,32,1,45,1,1,1,1,-9,4,5411,7270.0,443501 +1100105,40,4435,2,32,2,40,1,1,1,4,-9,4,5411,7270.0,443502 +1100105,40,4436,1,72,2,-9,-9,6,2,1,-9,4,0,0.0,443601 +1100105,40,4436,2,53,1,40,1,1,2,1,-9,4,611M3,7890.0,443602 +1100105,40,4437,1,35,2,40,1,2,6,1,16,4,5411,7270.0,443701 +1100105,40,4437,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,443702 +1100105,40,4438,1,54,1,40,1,3,1,1,-9,4,7211,8660.0,443801 +1100105,40,4438,2,54,1,40,1,1,1,1,-9,4,7211,8660.0,443802 +1100105,40,4439,1,35,2,50,1,1,1,1,16,4,5417,7460.0,443901 +1100105,40,4439,2,26,2,-9,-9,6,1,1,16,4,0,0.0,443902 +1100105,40,4440,1,32,2,40,1,1,1,23,16,4,712,8570.0,444001 +1100105,40,4440,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,444002 +1100105,40,4441,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,444101 +1100105,40,4441,2,30,1,-9,-9,6,6,1,16,4,0,0.0,444102 +1100105,40,4442,1,28,1,40,6,3,1,1,-9,4,337,3895.0,444201 +1100105,40,4442,2,26,2,50,1,1,6,1,16,4,5411,7270.0,444202 +1100105,40,4443,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,444301 +1100105,40,4443,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,444302 +1100105,40,4444,1,26,1,-9,-9,6,1,1,16,4,92M2,9570.0,444401 +1100105,40,4444,2,26,2,45,1,1,1,1,-9,4,611M1,7870.0,444402 +1100105,40,4445,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,444501 +1100105,40,4445,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,444502 +1100105,40,4446,1,63,1,-9,-9,6,6,1,-9,4,0,0.0,444601 +1100105,40,4446,2,63,2,-9,-9,6,6,1,-9,4,0,0.0,444602 +1100105,40,4447,1,44,1,40,1,1,6,1,-9,4,7211,8660.0,444701 +1100105,40,4447,2,41,2,40,4,1,6,1,-9,4,6111,7860.0,444702 +1100105,40,4448,1,24,2,20,1,1,1,1,15,4,7224,8690.0,444801 +1100105,40,4448,2,23,1,70,1,4,1,1,-9,1,928110P4,9770.0,444802 +1100105,40,4449,1,22,2,8,1,1,1,1,16,4,611M1,7870.0,444901 +1100105,40,4449,2,22,2,40,1,1,1,1,15,4,813M,9170.0,444902 +1100105,40,4450,1,29,1,44,1,1,1,15,-9,4,923,9480.0,445001 +1100105,40,4450,2,29,2,45,1,1,1,15,-9,4,5418,7470.0,445002 +1100105,40,4451,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,445101 +1100105,40,4451,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,445102 +1100105,40,4452,1,22,1,50,1,1,1,1,-9,4,722Z,8680.0,445201 +1100105,40,4452,2,22,1,10,6,6,1,1,15,4,5416,7390.0,445202 +1100105,40,4453,1,72,2,-9,-9,6,2,1,-9,4,622M,8191.0,445301 +1100105,40,4453,2,65,1,-9,-9,6,2,1,-9,4,0,0.0,445302 +1100105,40,4454,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,445401 +1100105,40,4454,2,66,2,-9,-9,6,1,1,-9,4,0,0.0,445402 +1100105,40,4455,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,445501 +1100105,40,4455,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,445502 +1100105,40,4456,1,24,1,-9,-9,6,6,1,16,4,0,0.0,445601 +1100105,40,4456,2,26,1,6,1,1,6,1,16,4,5415,7380.0,445602 +1100105,40,4457,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,445701 +1100105,40,4457,2,24,2,-9,-9,6,6,1,16,4,0,0.0,445702 +1100105,40,4458,1,22,1,40,6,1,1,1,15,4,6211,7970.0,445801 +1100105,40,4458,2,21,1,-9,-9,6,1,1,15,4,0,0.0,445802 +1100105,40,4459,1,79,1,-9,-9,6,2,1,-9,4,4853,6190.0,445901 +1100105,40,4459,2,79,2,-9,-9,6,2,1,-9,4,92MP,9470.0,445902 +1100105,40,4460,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,446001 +1100105,40,4460,2,61,2,-9,-9,6,2,1,-9,4,0,0.0,446002 +1100105,40,4461,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,446101 +1100105,40,4461,2,20,1,30,5,6,1,1,15,4,44413,4880.0,446102 +1100105,40,4462,1,23,2,-9,-9,6,1,1,16,4,611M3,7890.0,446201 +1100105,40,4462,2,24,2,-9,-9,6,1,1,16,4,813M,9170.0,446202 +1100105,40,4463,1,70,2,40,1,1,2,1,-9,4,611M1,7870.0,446301 +1100105,40,4464,1,72,1,50,1,1,1,1,-9,4,923,9480.0,446401 +1100105,40,4465,1,39,2,55,1,1,6,1,-9,4,5411,7270.0,446501 +1100105,40,4466,1,45,2,45,1,1,2,1,-9,4,6211,7970.0,446601 +1100105,40,4467,1,60,1,40,1,1,1,1,-9,4,5411,7270.0,446701 +1100105,40,4468,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,446801 +1100105,40,4469,1,45,1,40,1,1,1,1,-9,2,5415,7380.0,446901 +1100105,40,4470,1,57,2,60,1,1,1,1,-9,4,712,8570.0,447001 +1100105,40,4471,1,57,1,40,1,1,1,1,-9,4,5221M,6880.0,447101 +1100105,40,4472,1,55,2,50,1,1,1,1,-9,4,5614,7590.0,447201 +1100105,40,4473,1,48,1,50,1,1,1,1,-9,4,813M,9170.0,447301 +1100105,40,4474,1,61,2,40,1,1,1,1,-9,4,8139Z,9190.0,447401 +1100105,40,4475,1,43,1,50,3,1,1,1,-9,4,6211,7970.0,447501 +1100105,40,4476,1,42,1,40,1,1,1,1,-9,4,52M1,6870.0,447601 +1100105,40,4477,1,62,1,50,3,1,1,1,-9,4,52M2,6970.0,447701 +1100105,40,4478,1,46,1,70,1,1,1,1,-9,4,515,6670.0,447801 +1100105,40,4479,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,447901 +1100105,40,4480,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,448001 +1100105,40,4481,1,27,1,55,1,1,1,1,-9,4,5411,7270.0,448101 +1100105,40,4482,1,30,2,75,1,1,1,1,-9,4,5411,7270.0,448201 +1100105,40,4483,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,448301 +1100105,40,4484,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,448401 +1100105,40,4485,1,73,2,50,1,1,1,1,-9,4,92119,9390.0,448501 +1100105,40,4486,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,448601 +1100105,40,4487,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,448701 +1100105,40,4488,1,46,1,40,1,1,2,1,-9,4,5415,7380.0,448801 +1100105,40,4489,1,55,2,40,1,1,2,1,-9,4,92MP,9470.0,448901 +1100105,40,4490,1,35,1,40,1,1,1,1,-9,4,92M2,9570.0,449001 +1100105,40,4491,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,449101 +1100105,40,4492,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,449201 +1100105,40,4493,1,60,1,75,1,1,1,1,-9,4,5411,7270.0,449301 +1100105,40,4494,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,449401 +1100105,40,4495,1,50,2,50,1,1,1,1,-9,4,5411,7270.0,449501 +1100105,40,4496,1,53,1,50,1,1,1,1,-9,2,92MP,9470.0,449601 +1100105,40,4497,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,449701 +1100105,40,4498,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,449801 +1100105,40,4499,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,449901 +1100105,40,4500,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,450001 +1100105,40,4501,1,49,2,55,1,1,1,1,-9,4,5415,7380.0,450101 +1100105,40,4502,1,39,1,45,1,1,1,3,-9,4,5415,7380.0,450201 +1100105,40,4503,1,26,2,48,1,1,6,1,-9,4,5411,7270.0,450301 +1100105,40,4504,1,34,2,45,1,1,2,1,-9,4,5411,7270.0,450401 +1100105,40,4505,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,450501 +1100105,40,4506,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,450601 +1100105,40,4507,1,34,2,50,1,1,1,1,-9,4,522M,6890.0,450701 +1100105,40,4508,1,34,2,50,1,1,1,1,-9,4,522M,6890.0,450801 +1100105,40,4509,1,28,1,20,1,1,1,1,-9,4,5615,7670.0,450901 +1100105,40,4510,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,451001 +1100105,40,4511,1,29,2,50,1,1,1,1,-9,4,5241,6991.0,451101 +1100105,40,4512,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,451201 +1100105,40,4513,1,68,1,40,1,1,2,1,-9,3,92MP,9470.0,451301 +1100105,40,4514,1,70,2,12,3,1,1,1,-9,4,6213ZM,8080.0,451401 +1100105,40,4515,1,72,1,35,4,1,1,11,-9,4,611M1,7870.0,451501 +1100105,40,4516,1,42,2,70,1,1,7,1,-9,4,44511,4971.0,451601 +1100105,40,4517,1,35,2,60,1,1,6,1,-9,4,488,6290.0,451701 +1100105,40,4518,1,40,1,40,1,1,6,1,-9,4,7211,8660.0,451801 +1100105,40,4519,1,59,2,40,1,1,6,1,-9,4,928P,9590.0,451901 +1100105,40,4520,1,38,1,50,1,1,6,1,-9,4,5415,7380.0,452001 +1100105,40,4521,1,59,2,40,1,1,6,1,-9,4,928P,9590.0,452101 +1100105,40,4522,1,42,2,40,1,1,2,1,-9,4,928P,9590.0,452201 +1100105,40,4523,1,55,2,40,1,1,2,1,-9,2,9211MP,9370.0,452301 +1100105,40,4524,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,452401 +1100105,40,4525,1,37,2,50,1,1,1,1,-9,4,515,6670.0,452501 +1100105,40,4526,1,40,2,40,1,1,1,1,-9,4,483,6090.0,452601 +1100105,40,4527,1,36,1,50,1,1,1,1,16,2,928P,9590.0,452701 +1100105,40,4528,1,38,2,55,1,1,1,1,-9,4,7211,8660.0,452801 +1100105,40,4529,1,53,1,50,1,1,1,1,-9,4,8139Z,9190.0,452901 +1100105,40,4530,1,59,2,40,1,1,1,1,-9,4,5416,7390.0,453001 +1100105,40,4531,1,48,2,40,1,1,1,1,15,4,334M2,3390.0,453101 +1100105,40,4532,1,37,1,40,2,1,1,1,-9,4,5417,7460.0,453201 +1100105,40,4533,1,54,2,40,1,1,1,1,-9,4,515,6670.0,453301 +1100105,40,4534,1,38,1,40,1,1,1,1,-9,4,712,8570.0,453401 +1100105,40,4535,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,453501 +1100105,40,4536,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,453601 +1100105,40,4537,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,453701 +1100105,40,4538,1,39,1,40,1,1,1,1,-9,4,928P,9590.0,453801 +1100105,40,4539,1,52,1,45,1,1,1,1,-9,4,928P,9590.0,453901 +1100105,40,4540,1,49,1,40,1,1,1,1,-9,4,5415,7380.0,454001 +1100105,40,4541,1,43,2,40,1,1,1,1,-9,4,5416,7390.0,454101 +1100105,40,4542,1,53,2,40,1,1,1,1,-9,4,522M,6890.0,454201 +1100105,40,4543,1,48,2,43,1,1,1,1,-9,4,92M2,9570.0,454301 +1100105,40,4544,1,35,2,40,1,1,1,1,-9,4,5418,7470.0,454401 +1100105,40,4545,1,53,1,50,1,1,1,1,-9,4,8139Z,9190.0,454501 +1100105,40,4546,1,35,1,45,1,1,1,1,-9,4,923,9480.0,454601 +1100105,40,4547,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,454701 +1100105,40,4548,1,39,2,60,1,1,1,1,-9,4,928P,9590.0,454801 +1100105,40,4549,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,454901 +1100105,40,4550,1,44,1,40,1,1,1,16,-9,2,23,770.0,455001 +1100105,40,4551,1,39,1,40,1,1,1,16,-9,4,923,9480.0,455101 +1100105,40,4552,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,455201 +1100105,40,4553,1,30,2,45,1,1,6,1,-9,4,5415,7380.0,455301 +1100105,40,4554,1,31,2,25,1,1,2,1,-9,4,5613,7580.0,455401 +1100105,40,4555,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,455501 +1100105,40,4556,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,455601 +1100105,40,4557,1,33,1,40,3,1,1,1,-9,4,928P,9590.0,455701 +1100105,40,4558,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,455801 +1100105,40,4559,1,32,1,40,2,1,1,1,-9,4,928P,9590.0,455901 +1100105,40,4560,1,30,1,48,1,1,1,1,-9,4,7211,8660.0,456001 +1100105,40,4561,1,31,2,45,1,1,1,1,-9,4,928P,9590.0,456101 +1100105,40,4562,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,456201 +1100105,40,4563,1,34,2,60,1,1,1,1,-9,4,5417,7460.0,456301 +1100105,40,4564,1,29,1,40,1,1,1,1,-9,4,813M,9170.0,456401 +1100105,40,4565,1,29,2,45,1,1,1,1,-9,4,813M,9170.0,456501 +1100105,40,4566,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,456601 +1100105,40,4567,1,27,2,40,1,1,1,1,-9,4,5417,7460.0,456701 +1100105,40,4568,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,456801 +1100105,40,4569,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,456901 +1100105,40,4570,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,457001 +1100105,40,4571,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,457101 +1100105,40,4572,1,65,1,40,1,1,2,1,-9,2,92119,9390.0,457201 +1100105,40,4573,1,65,1,40,1,1,2,1,-9,4,92M2,9570.0,457301 +1100105,40,4574,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,457401 +1100105,40,4575,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,457501 +1100105,40,4576,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,457601 +1100105,40,4577,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,457701 +1100105,40,4578,1,36,1,40,1,1,6,1,-9,4,813M,9170.0,457801 +1100105,40,4579,1,49,2,45,3,1,6,1,16,4,6111,7860.0,457901 +1100105,40,4580,1,36,1,47,2,1,6,1,-9,4,5417,7460.0,458001 +1100105,40,4581,1,37,1,60,1,1,6,1,-9,4,5415,7380.0,458101 +1100105,40,4582,1,53,1,40,1,1,6,1,-9,4,712,8570.0,458201 +1100105,40,4583,1,37,1,60,1,1,6,1,-9,4,5415,7380.0,458301 +1100105,40,4584,1,49,1,37,1,1,2,1,15,4,5411,7270.0,458401 +1100105,40,4585,1,43,1,40,1,1,2,1,-9,4,5416,7390.0,458501 +1100105,40,4586,1,64,2,40,1,2,2,1,-9,4,8139Z,9190.0,458601 +1100105,40,4587,1,44,1,30,1,1,2,1,-9,4,33641M1,3580.0,458701 +1100105,40,4588,1,64,2,40,1,1,2,1,-9,4,92119,9390.0,458801 +1100105,40,4589,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,458901 +1100105,40,4590,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,459001 +1100105,40,4591,1,35,1,60,1,1,1,1,-9,4,5121,6570.0,459101 +1100105,40,4592,1,36,1,60,1,1,1,1,-9,4,6111,7860.0,459201 +1100105,40,4593,1,56,1,40,1,1,1,1,-9,4,8139Z,9190.0,459301 +1100105,40,4594,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,459401 +1100105,40,4595,1,35,1,40,1,1,1,1,-9,4,92M1,9490.0,459501 +1100105,40,4596,1,47,2,50,1,1,1,1,-9,4,611M1,7870.0,459601 +1100105,40,4597,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,459701 +1100105,40,4598,1,35,1,40,1,1,1,1,-9,4,92MP,9470.0,459801 +1100105,40,4599,1,48,2,40,1,1,1,1,-9,4,517311,6680.0,459901 +1100105,40,4600,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,460001 +1100105,40,4601,1,40,2,40,1,1,1,1,-9,4,9211MP,9370.0,460101 +1100105,40,4602,1,35,1,45,1,1,1,1,-9,4,515,6670.0,460201 +1100105,40,4603,1,43,1,40,1,1,1,1,-9,4,522M,6890.0,460301 +1100105,40,4604,1,40,1,40,1,1,1,1,-9,4,813M,9170.0,460401 +1100105,40,4605,1,35,1,60,1,1,1,1,-9,4,9211MP,9370.0,460501 +1100105,40,4606,1,35,1,45,1,1,1,1,-9,4,515,6670.0,460601 +1100105,40,4607,1,46,2,40,1,1,1,1,-9,4,928P,9590.0,460701 +1100105,40,4608,1,38,2,60,1,1,8,2,-9,4,81393,9180.0,460801 +1100105,40,4609,1,59,2,45,1,1,1,8,-9,4,813M,9170.0,460901 +1100105,40,4610,1,38,2,60,1,1,8,2,-9,4,81393,9180.0,461001 +1100105,40,4611,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,461101 +1100105,40,4612,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,461201 +1100105,40,4613,1,31,2,28,1,1,6,1,-9,4,5419Z,7490.0,461301 +1100105,40,4614,1,30,1,45,5,1,6,1,-9,4,5416,7390.0,461401 +1100105,40,4615,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,461501 +1100105,40,4616,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,461601 +1100105,40,4617,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,461701 +1100105,40,4618,1,28,2,45,1,1,6,1,-9,4,92M1,9490.0,461801 +1100105,40,4619,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,461901 +1100105,40,4620,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,462001 +1100105,40,4621,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,462101 +1100105,40,4622,1,31,1,45,2,1,2,1,-9,4,5416,7390.0,462201 +1100105,40,4623,1,30,1,40,1,1,2,1,-9,4,5416,7390.0,462301 +1100105,40,4624,1,31,1,45,2,1,2,1,-9,4,5416,7390.0,462401 +1100105,40,4625,1,29,2,40,1,1,1,1,-9,4,611M1,7870.0,462501 +1100105,40,4626,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,462601 +1100105,40,4627,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,462701 +1100105,40,4628,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,462801 +1100105,40,4629,1,33,1,60,1,1,1,1,-9,4,5313,7072.0,462901 +1100105,40,4630,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,463001 +1100105,40,4631,1,34,2,40,1,1,1,1,-9,4,712,8570.0,463101 +1100105,40,4632,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,463201 +1100105,40,4633,1,33,1,50,1,1,1,1,-9,4,9211MP,9370.0,463301 +1100105,40,4634,1,29,2,45,1,1,1,1,-9,4,5417,7460.0,463401 +1100105,40,4635,1,29,2,65,1,1,1,1,-9,4,5411,7270.0,463501 +1100105,40,4636,1,33,1,45,1,1,1,1,-9,4,5413,7290.0,463601 +1100105,40,4637,1,28,2,42,1,1,1,1,-9,4,44511,4971.0,463701 +1100105,40,4638,1,30,2,40,1,1,1,1,-9,4,443142,4795.0,463801 +1100105,40,4639,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,463901 +1100105,40,4640,1,34,2,45,1,1,1,1,-9,4,923,9480.0,464001 +1100105,40,4641,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,464101 +1100105,40,4642,1,32,1,50,1,1,1,1,-9,4,52M2,6970.0,464201 +1100105,40,4643,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,464301 +1100105,40,4644,1,33,1,50,1,1,1,1,-9,2,5416,7390.0,464401 +1100105,40,4645,1,29,2,55,1,1,1,1,-9,4,712,8570.0,464501 +1100105,40,4646,1,28,2,40,1,1,1,1,-9,4,611M1,7870.0,464601 +1100105,40,4647,1,34,1,45,1,1,1,1,-9,4,6111,7860.0,464701 +1100105,40,4648,1,28,1,60,1,4,1,1,-9,1,928110P3,9690.0,464801 +1100105,40,4649,1,31,2,50,1,1,1,1,-9,4,92MP,9470.0,464901 +1100105,40,4650,1,31,2,50,1,1,1,1,-9,4,92M2,9570.0,465001 +1100105,40,4651,1,30,1,40,1,1,1,1,-9,4,813M,9170.0,465101 +1100105,40,4652,1,27,2,40,1,1,1,1,-9,4,51912,6770.0,465201 +1100105,40,4653,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,465301 +1100105,40,4654,1,31,2,40,1,1,1,1,-9,4,92MP,9470.0,465401 +1100105,40,4655,1,29,2,47,1,1,1,1,-9,4,9211MP,9370.0,465501 +1100105,40,4656,1,31,2,50,1,1,1,1,-9,4,92M2,9570.0,465601 +1100105,40,4657,1,34,2,55,1,1,1,1,15,4,515,6670.0,465701 +1100105,40,4658,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,465801 +1100105,40,4659,1,31,2,40,1,1,1,1,-9,4,81393,9180.0,465901 +1100105,40,4660,1,33,2,50,1,1,1,1,-9,4,5413,7290.0,466001 +1100105,40,4661,1,27,2,55,1,1,1,1,-9,4,5416,7390.0,466101 +1100105,40,4662,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,466201 +1100105,40,4663,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,466301 +1100105,40,4664,1,29,1,30,1,2,1,2,-9,4,711M,8563.0,466401 +1100105,40,4665,1,30,2,37,1,1,1,3,-9,4,81393,9180.0,466501 +1100105,40,4666,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,466601 +1100105,40,4667,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,466701 +1100105,40,4668,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,466801 +1100105,40,4669,1,89,1,-9,-9,6,6,1,-9,2,0,0.0,466901 +1100105,40,4670,1,70,1,-9,-9,6,2,1,-9,4,0,0.0,467001 +1100105,40,4671,1,85,1,-9,-9,6,2,1,-9,2,0,0.0,467101 +1100105,40,4672,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,467201 +1100105,40,4673,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,467301 +1100105,40,4674,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,467401 +1100105,40,4675,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,467501 +1100105,40,4676,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,467601 +1100105,40,4677,1,69,2,-9,-9,6,1,1,-9,4,92M2,9570.0,467701 +1100105,40,4678,1,67,1,-9,-9,6,1,1,16,2,923,9480.0,467801 +1100105,40,4679,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,467901 +1100105,40,4680,1,61,1,-9,-9,6,1,1,-9,4,0,0.0,468001 +1100105,40,4681,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,468101 +1100105,40,4682,1,67,1,35,1,1,2,1,-9,4,4853,6190.0,468201 +1100105,40,4683,1,66,2,50,1,1,1,1,-9,4,6214,8090.0,468301 +1100105,40,4684,1,67,1,50,1,1,1,1,-9,4,23,770.0,468401 +1100105,40,4685,1,60,2,40,2,2,2,1,-9,4,622M,8191.0,468501 +1100105,40,4686,1,60,2,40,2,2,2,1,-9,4,622M,8191.0,468601 +1100105,40,4687,1,54,2,40,1,1,2,1,-9,4,531M,7071.0,468701 +1100105,40,4688,1,35,1,25,2,1,2,1,16,4,9211MP,9370.0,468801 +1100105,40,4689,1,40,1,40,1,1,2,1,-9,4,722Z,8680.0,468901 +1100105,40,4690,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,469001 +1100105,40,4691,1,55,2,20,3,1,1,1,-9,4,814,9290.0,469101 +1100105,40,4692,1,42,1,50,1,1,1,1,-9,4,5416,7390.0,469201 +1100105,40,4693,1,42,1,50,1,1,1,1,-9,4,5419Z,7490.0,469301 +1100105,40,4694,1,61,1,99,1,1,1,1,-9,4,713Z,8590.0,469401 +1100105,40,4695,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,469501 +1100105,40,4696,1,23,1,40,4,1,9,1,-9,4,5417,7460.0,469601 +1100105,40,4697,1,24,1,40,1,1,6,1,-9,2,813M,9170.0,469701 +1100105,40,4698,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,469801 +1100105,40,4699,1,24,2,40,3,2,6,1,16,4,9211MP,9370.0,469901 +1100105,40,4700,1,28,2,15,5,2,6,1,16,4,611M1,7870.0,470001 +1100105,40,4701,1,29,1,60,3,2,2,1,-9,4,5616,7680.0,470101 +1100105,40,4702,1,25,1,45,3,1,1,1,-9,4,928P,9590.0,470201 +1100105,40,4703,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,470301 +1100105,40,4704,1,28,2,45,4,1,1,1,-9,4,92MP,9470.0,470401 +1100105,40,4705,1,23,1,40,1,1,1,1,-9,4,5417,7460.0,470501 +1100105,40,4706,1,34,1,50,1,1,1,1,-9,4,7115,8564.0,470601 +1100105,40,4707,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,470701 +1100105,40,4708,1,24,2,40,1,1,1,1,16,4,8139Z,9190.0,470801 +1100105,40,4709,1,26,2,68,1,1,1,1,-9,4,7115,8564.0,470901 +1100105,40,4710,1,27,2,40,2,1,1,1,-9,4,5241,6991.0,471001 +1100105,40,4711,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,471101 +1100105,40,4712,1,24,2,40,1,1,1,1,16,4,8139Z,9190.0,471201 +1100105,40,4713,1,26,2,40,3,1,1,1,-9,4,611M1,7870.0,471301 +1100105,40,4714,1,25,2,45,1,1,1,1,-9,4,5614,7590.0,471401 +1100105,40,4715,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,471501 +1100105,40,4716,1,32,2,38,4,1,1,2,-9,4,928P,9590.0,471601 +1100105,40,4717,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,471701 +1100105,40,4718,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,471801 +1100105,40,4719,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,471901 +1100105,40,4720,1,94,2,-9,-9,6,2,1,-9,4,0,0.0,472001 +1100105,40,4721,1,72,1,-9,-9,6,2,1,-9,4,0,0.0,472101 +1100105,40,4722,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,472201 +1100105,40,4723,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,472301 +1100105,40,4724,1,74,2,-9,-9,6,1,1,-9,4,5411,7270.0,472401 +1100105,40,4725,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,472501 +1100105,40,4726,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,472601 +1100105,40,4727,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,472701 +1100105,40,4728,1,40,1,30,6,6,2,1,-9,2,5617Z,7690.0,472801 +1100105,40,4729,1,64,2,-9,-9,6,2,1,-9,4,0,0.0,472901 +1100105,40,4730,1,42,2,-9,-9,6,1,1,16,4,0,0.0,473001 +1100105,40,4731,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,473101 +1100105,40,4732,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,473201 +1100105,40,4733,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,473301 +1100105,40,4734,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,473401 +1100105,40,4735,1,54,1,40,6,1,2,1,-9,4,531M,7071.0,473501 +1100105,40,4736,1,54,1,40,6,1,2,1,-9,4,531M,7071.0,473601 +1100105,40,4737,1,53,1,40,1,1,2,1,-9,4,6231,8270.0,473701 +1100105,40,4738,1,64,1,30,1,1,1,1,-9,4,5419Z,7490.0,473801 +1100105,40,4739,1,55,1,20,6,2,1,1,-9,4,23,770.0,473901 +1100105,40,4740,1,48,2,45,1,1,1,1,-9,4,5416,7390.0,474001 +1100105,40,4741,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,474101 +1100105,40,4742,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,474201 +1100105,40,4743,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,474301 +1100105,40,4744,1,29,2,30,5,1,6,1,-9,4,8139Z,9190.0,474401 +1100105,40,4745,1,21,1,20,6,1,6,1,16,4,611M1,7870.0,474501 +1100105,40,4746,1,22,1,30,5,1,2,1,-9,4,611M1,7870.0,474601 +1100105,40,4747,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,474701 +1100105,40,4748,1,26,2,20,6,1,1,1,-9,4,611M1,7870.0,474801 +1100105,40,4749,1,24,2,4,3,1,1,1,15,4,713Z,8590.0,474901 +1100105,40,4750,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,475001 +1100105,40,4751,1,25,1,30,1,2,1,23,16,4,713Z,8590.0,475101 +1100105,40,4752,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,475201 +1100105,40,4753,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,475301 +1100105,40,4754,1,72,2,-9,-9,6,2,1,-9,4,6242,8380.0,475401 +1100105,40,4755,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,475501 +1100105,40,4756,1,73,2,-9,-9,6,2,1,-9,4,5613,7580.0,475601 +1100105,40,4757,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,475701 +1100105,40,4758,1,86,2,-9,-9,6,2,1,-9,4,0,0.0,475801 +1100105,40,4759,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,475901 +1100105,40,4760,1,93,2,-9,-9,6,2,1,-9,4,0,0.0,476001 +1100105,40,4761,1,80,1,-9,-9,6,2,1,-9,4,0,0.0,476101 +1100105,40,4762,1,80,2,-9,-9,6,2,1,-9,4,0,0.0,476201 +1100105,40,4763,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,476301 +1100105,40,4764,1,72,1,-9,-9,6,2,1,-9,4,0,0.0,476401 +1100105,40,4765,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,476501 +1100105,40,4766,1,68,2,-9,-9,6,2,1,-9,4,0,0.0,476601 +1100105,40,4767,1,80,2,-9,-9,6,2,1,-9,4,0,0.0,476701 +1100105,40,4768,1,73,1,-9,-9,6,2,1,-9,3,23,770.0,476801 +1100105,40,4769,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,476901 +1100105,40,4770,1,71,1,-9,-9,6,1,1,-9,4,611M1,7870.0,477001 +1100105,40,4771,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,477101 +1100105,40,4772,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,477201 +1100105,40,4773,1,81,1,-9,-9,6,1,1,-9,2,0,0.0,477301 +1100105,40,4774,1,82,2,-9,-9,6,1,1,-9,4,0,0.0,477401 +1100105,40,4775,1,70,2,-9,-9,6,2,3,-9,4,0,0.0,477501 +1100105,40,4776,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,477601 +1100105,40,4777,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,477701 +1100105,40,4778,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,477801 +1100105,40,4779,1,53,1,-9,-9,3,2,1,-9,2,4411,4670.0,477901 +1100105,40,4780,1,49,2,-9,-9,6,2,1,16,4,6241,8370.0,478001 +1100105,40,4781,1,40,2,-9,-9,6,2,1,-9,4,0,0.0,478101 +1100105,40,4782,1,61,1,8,6,6,2,1,-9,2,23,770.0,478201 +1100105,40,4783,1,55,2,-9,-9,6,2,1,-9,4,6111,7860.0,478301 +1100105,40,4784,1,51,1,40,5,6,2,1,-9,4,2213M,670.0,478401 +1100105,40,4785,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,478501 +1100105,40,4786,1,42,2,-9,-9,6,2,1,-9,4,0,0.0,478601 +1100105,40,4787,1,46,2,-9,-9,6,2,1,-9,4,0,0.0,478701 +1100105,40,4788,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,478801 +1100105,40,4789,1,54,2,-9,-9,6,1,1,-9,4,0,0.0,478901 +1100105,40,4790,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,479001 +1100105,40,4791,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,479101 +1100105,40,4792,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,479201 +1100105,40,4793,1,44,1,-9,-9,6,1,1,-9,4,0,0.0,479301 +1100105,40,4794,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,479401 +1100105,40,4795,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,479501 +1100105,40,4796,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,479601 +1100105,40,4797,1,22,2,45,3,6,6,1,16,4,23,770.0,479701 +1100105,40,4798,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,479801 +1100105,40,4799,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,479901 +1100105,40,4800,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,480001 +1100105,40,4801,1,27,1,-9,-9,6,1,1,-9,4,611M1,7870.0,480101 +1100105,40,4802,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,480201 +1100105,40,4803,1,25,1,35,6,6,1,10,-9,4,611M1,7870.0,480301 +1100105,41,4804,1,56,2,45,2,1,1,1,-9,4,813M,9170.0,480401 +1100105,41,4804,2,53,1,12,5,1,9,7,-9,4,5419Z,7490.0,480402 +1100105,41,4804,3,10,1,-9,-9,-9,8,11,7,-9,0,0.0,480403 +1100105,41,4804,4,7,2,-9,-9,-9,8,11,3,-9,0,0.0,480404 +1100105,41,4805,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,480501 +1100105,41,4805,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,480502 +1100105,41,4805,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,480503 +1100105,41,4805,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,480504 +1100105,41,4806,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,480601 +1100105,41,4806,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,480602 +1100105,41,4806,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,480603 +1100105,41,4806,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,480604 +1100105,41,4807,1,37,1,45,1,1,9,1,-9,4,92MP,9470.0,480701 +1100105,41,4807,2,37,2,50,1,1,6,1,-9,4,5416,7390.0,480702 +1100105,41,4807,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,480703 +1100105,41,4807,4,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,480704 +1100105,41,4808,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,480801 +1100105,41,4808,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,480802 +1100105,41,4808,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,480803 +1100105,41,4808,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,480804 +1100105,41,4809,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,480901 +1100105,41,4809,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,480902 +1100105,41,4809,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,480903 +1100105,41,4809,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,480904 +1100105,41,4810,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,481001 +1100105,41,4810,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,481002 +1100105,41,4810,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,481003 +1100105,41,4810,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,481004 +1100105,41,4811,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,481101 +1100105,41,4811,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,481102 +1100105,41,4811,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,481103 +1100105,41,4811,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,481104 +1100105,41,4812,1,37,1,45,1,1,9,1,-9,4,92MP,9470.0,481201 +1100105,41,4812,2,37,2,50,1,1,6,1,-9,4,5416,7390.0,481202 +1100105,41,4812,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,481203 +1100105,41,4812,4,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,481204 +1100105,41,4813,1,37,1,45,1,1,9,1,-9,4,92MP,9470.0,481301 +1100105,41,4813,2,37,2,50,1,1,6,1,-9,4,5416,7390.0,481302 +1100105,41,4813,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,481303 +1100105,41,4813,4,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,481304 +1100105,41,4814,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,481401 +1100105,41,4814,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,481402 +1100105,41,4814,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,481403 +1100105,41,4814,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,481404 +1100105,41,4815,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,481501 +1100105,41,4815,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,481502 +1100105,41,4815,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,481503 +1100105,41,4815,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,481504 +1100105,41,4816,1,35,1,40,1,1,2,1,-9,4,52M1,6870.0,481601 +1100105,41,4816,2,38,2,45,1,1,9,1,-9,4,813M,9170.0,481602 +1100105,41,4816,3,4,2,-9,-9,-9,9,1,1,-9,0,0.0,481603 +1100105,41,4816,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,481604 +1100105,41,4817,1,46,1,40,1,1,1,1,-9,4,5411,7270.0,481701 +1100105,41,4817,2,42,2,-9,-9,6,6,19,-9,4,0,0.0,481702 +1100105,41,4817,3,7,1,-9,-9,-9,9,1,4,-9,0,0.0,481703 +1100105,41,4817,4,5,1,-9,-9,-9,9,1,2,-9,0,0.0,481704 +1100105,41,4818,1,52,2,-9,-9,3,1,24,-9,4,622M,8191.0,481801 +1100105,41,4818,2,27,2,40,1,1,1,11,16,4,5416,7390.0,481802 +1100105,41,4818,3,14,2,-9,-9,-9,1,11,-9,-9,0,0.0,481803 +1100105,41,4818,4,3,1,-9,-9,-9,1,11,1,-9,0,0.0,481804 +1100105,41,4819,1,51,2,40,1,1,1,1,-9,4,611M1,7870.0,481901 +1100105,41,4819,2,16,2,-9,-9,6,1,1,13,-9,0,0.0,481902 +1100105,41,4819,3,10,2,-9,-9,-9,1,1,5,-9,0,0.0,481903 +1100105,41,4819,4,10,2,-9,-9,-9,1,1,6,-9,0,0.0,481904 +1100105,41,4820,1,43,2,50,1,1,8,8,-9,4,813M,9170.0,482001 +1100105,41,4820,2,39,1,40,4,3,1,1,-9,4,5121,6570.0,482002 +1100105,41,4820,3,9,1,-9,-9,-9,8,8,6,-9,0,0.0,482003 +1100105,41,4820,4,4,2,-9,-9,-9,8,8,1,-9,0,0.0,482004 +1100105,41,4821,1,40,2,40,1,1,8,11,-9,4,5617Z,7690.0,482101 +1100105,41,4821,2,41,1,40,1,1,8,11,-9,4,7211,8660.0,482102 +1100105,41,4821,3,6,2,-9,-9,-9,8,24,3,-9,0,0.0,482103 +1100105,41,4821,4,3,1,-9,-9,-9,8,24,1,-9,0,0.0,482104 +1100105,41,4822,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,482201 +1100105,41,4822,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,482202 +1100105,41,4822,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,482203 +1100105,41,4822,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,482204 +1100105,41,4823,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,482301 +1100105,41,4823,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,482302 +1100105,41,4823,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,482303 +1100105,41,4823,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,482304 +1100105,41,4824,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,482401 +1100105,41,4824,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,482402 +1100105,41,4824,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,482403 +1100105,41,4824,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,482404 +1100105,41,4825,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,482501 +1100105,41,4825,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,482502 +1100105,41,4825,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,482503 +1100105,41,4825,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,482504 +1100105,41,4826,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,482601 +1100105,41,4826,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,482602 +1100105,41,4826,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,482603 +1100105,41,4826,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,482604 +1100105,41,4827,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,482701 +1100105,41,4827,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,482702 +1100105,41,4827,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,482703 +1100105,41,4827,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,482704 +1100105,41,4828,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,482801 +1100105,41,4828,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,482802 +1100105,41,4828,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,482803 +1100105,41,4828,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,482804 +1100105,41,4829,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,482901 +1100105,41,4829,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,482902 +1100105,41,4829,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,482903 +1100105,41,4829,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,482904 +1100105,41,4830,1,35,2,20,1,1,2,2,14,4,722Z,8680.0,483001 +1100105,41,4830,2,34,1,40,1,1,2,2,-9,4,722Z,8680.0,483002 +1100105,41,4830,3,13,1,-9,-9,-9,8,2,9,-9,0,0.0,483003 +1100105,41,4830,4,9,1,-9,-9,-9,8,2,5,-9,0,0.0,483004 +1100105,41,4831,1,49,1,40,1,1,1,3,-9,4,531M,7071.0,483101 +1100105,41,4831,2,33,2,-9,-9,6,1,3,-9,4,6211,7970.0,483102 +1100105,41,4831,3,11,2,-9,-9,-9,1,3,8,-9,0,0.0,483103 +1100105,41,4831,4,5,1,-9,-9,-9,1,3,2,-9,0,0.0,483104 +1100105,41,4832,1,28,1,40,1,1,8,2,-9,4,23,770.0,483201 +1100105,41,4832,2,35,2,-9,-9,6,8,2,-9,4,0,0.0,483202 +1100105,41,4832,3,6,2,-9,-9,-9,8,2,2,-9,0,0.0,483203 +1100105,41,4832,4,4,1,-9,-9,-9,8,2,1,-9,0,0.0,483204 +1100105,41,4833,1,62,1,40,1,1,8,11,-9,4,44511,4971.0,483301 +1100105,41,4833,2,52,2,-9,-9,6,8,11,-9,4,0,0.0,483302 +1100105,41,4833,3,17,2,-9,-9,6,8,11,13,4,0,0.0,483303 +1100105,41,4833,4,13,2,-9,-9,-9,8,11,9,-9,0,0.0,483304 +1100105,41,4834,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,483401 +1100105,41,4834,2,18,1,-9,-9,6,8,2,14,4,0,0.0,483402 +1100105,41,4834,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,483403 +1100105,41,4834,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,483404 +1100105,41,4835,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,483501 +1100105,41,4835,2,18,1,-9,-9,6,8,2,14,4,0,0.0,483502 +1100105,41,4835,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,483503 +1100105,41,4835,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,483504 +1100105,41,4836,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,483601 +1100105,41,4836,2,18,1,-9,-9,6,8,2,14,4,0,0.0,483602 +1100105,41,4836,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,483603 +1100105,41,4836,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,483604 +1100105,41,4837,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,483701 +1100105,41,4837,2,18,1,-9,-9,6,8,2,14,4,0,0.0,483702 +1100105,41,4837,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,483703 +1100105,41,4837,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,483704 +1100105,41,4838,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,483801 +1100105,41,4838,2,18,1,-9,-9,6,8,2,14,4,0,0.0,483802 +1100105,41,4838,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,483803 +1100105,41,4838,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,483804 +1100105,41,4839,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,483901 +1100105,41,4839,2,18,1,-9,-9,6,8,2,14,4,0,0.0,483902 +1100105,41,4839,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,483903 +1100105,41,4839,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,483904 +1100105,41,4840,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,484001 +1100105,41,4840,2,18,1,-9,-9,6,8,2,14,4,0,0.0,484002 +1100105,41,4840,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,484003 +1100105,41,4840,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,484004 +1100105,41,4841,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,484101 +1100105,41,4841,2,18,1,-9,-9,6,8,2,14,4,0,0.0,484102 +1100105,41,4841,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,484103 +1100105,41,4841,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,484104 +1100105,41,4842,1,44,1,40,1,1,3,1,-9,4,515,6670.0,484201 +1100105,41,4842,2,42,2,40,1,1,1,1,-9,4,5191ZM,6780.0,484202 +1100105,41,4842,3,29,1,40,1,1,3,1,-9,4,5415,7380.0,484203 +1100105,41,4843,1,52,1,40,1,1,1,1,-9,2,92MP,9470.0,484301 +1100105,41,4843,2,53,2,40,1,1,1,1,-9,2,92MP,9470.0,484302 +1100105,41,4843,3,22,2,40,1,1,1,1,-9,4,7211,8660.0,484303 +1100105,41,4844,1,52,1,40,1,1,1,1,-9,2,92MP,9470.0,484401 +1100105,41,4844,2,53,2,40,1,1,1,1,-9,2,92MP,9470.0,484402 +1100105,41,4844,3,22,2,40,1,1,1,1,-9,4,7211,8660.0,484403 +1100105,41,4845,1,63,1,50,1,1,1,1,-9,4,5241,6991.0,484501 +1100105,41,4845,2,63,2,20,3,1,1,21,-9,4,5411,7270.0,484502 +1100105,41,4845,3,28,2,50,1,1,1,1,-9,4,5411,7270.0,484503 +1100105,41,4846,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,484601 +1100105,41,4846,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,484602 +1100105,41,4846,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,484603 +1100105,41,4847,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,484701 +1100105,41,4847,2,36,1,50,1,1,1,1,-9,4,522M,6890.0,484702 +1100105,41,4847,3,31,1,40,1,1,1,1,-9,4,5416,7390.0,484703 +1100105,41,4848,1,31,2,40,1,1,1,1,-9,4,92M2,9570.0,484801 +1100105,41,4848,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,484802 +1100105,41,4848,3,27,1,40,2,1,9,1,-9,4,9211MP,9370.0,484803 +1100105,41,4849,1,31,2,40,1,1,1,1,-9,4,92M2,9570.0,484901 +1100105,41,4849,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,484902 +1100105,41,4849,3,27,1,40,2,1,9,1,-9,4,9211MP,9370.0,484903 +1100105,41,4850,1,25,2,50,1,1,1,1,-9,4,9211MP,9370.0,485001 +1100105,41,4850,2,29,2,42,1,1,1,1,-9,4,5418,7470.0,485002 +1100105,41,4850,3,29,2,50,1,1,1,1,-9,4,813M,9170.0,485003 +1100105,41,4851,1,27,2,40,1,1,1,1,-9,4,813M,9170.0,485101 +1100105,41,4851,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,485102 +1100105,41,4851,3,34,2,40,1,1,1,1,-9,4,713Z,8590.0,485103 +1100105,41,4852,1,27,1,40,1,1,1,1,-9,4,6111,7860.0,485201 +1100105,41,4852,2,29,1,40,1,1,1,1,-9,4,5413,7290.0,485202 +1100105,41,4852,3,27,1,40,1,1,1,1,-9,4,562,7790.0,485203 +1100105,41,4853,1,31,2,40,1,1,1,1,-9,4,9211MP,9370.0,485301 +1100105,41,4853,2,26,1,45,1,1,1,1,-9,4,562,7790.0,485302 +1100105,41,4853,3,31,2,45,1,1,1,1,-9,4,622M,8191.0,485303 +1100105,41,4854,1,27,1,40,1,1,1,1,-9,4,6111,7860.0,485401 +1100105,41,4854,2,29,1,40,1,1,1,1,-9,4,5413,7290.0,485402 +1100105,41,4854,3,27,1,40,1,1,1,1,-9,4,562,7790.0,485403 +1100105,41,4855,1,25,1,40,1,1,1,16,-9,4,5412,7280.0,485501 +1100105,41,4855,2,25,1,60,1,1,1,1,-9,3,5419Z,7490.0,485502 +1100105,41,4855,3,24,1,43,1,1,1,1,-9,4,5418,7470.0,485503 +1100105,41,4856,1,41,1,50,1,1,1,1,-9,4,611M1,7870.0,485601 +1100105,41,4856,2,42,2,40,1,1,6,1,-9,4,611M1,7870.0,485602 +1100105,41,4856,3,6,2,-9,-9,-9,9,1,2,-9,0,0.0,485603 +1100105,41,4857,1,37,2,40,1,1,1,1,-9,4,5415,7380.0,485701 +1100105,41,4857,2,40,1,40,1,1,6,1,-9,4,622M,8191.0,485702 +1100105,41,4857,3,0,1,-9,-9,-9,8,1,-9,-9,0,0.0,485703 +1100105,41,4858,1,37,2,40,1,1,1,1,-9,4,5415,7380.0,485801 +1100105,41,4858,2,40,1,40,1,1,6,1,-9,4,622M,8191.0,485802 +1100105,41,4858,3,0,1,-9,-9,-9,8,1,-9,-9,0,0.0,485803 +1100105,41,4859,1,37,2,40,1,1,1,1,-9,4,5415,7380.0,485901 +1100105,41,4859,2,40,1,40,1,1,6,1,-9,4,622M,8191.0,485902 +1100105,41,4859,3,0,1,-9,-9,-9,8,1,-9,-9,0,0.0,485903 +1100105,41,4860,1,39,1,50,1,1,1,1,-9,4,5416,7390.0,486001 +1100105,41,4860,2,35,2,50,1,1,2,1,-9,4,8139Z,9190.0,486002 +1100105,41,4860,3,2,2,-9,-9,-9,8,1,-9,-9,0,0.0,486003 +1100105,41,4861,1,43,1,50,1,1,1,1,-9,4,485M,6180.0,486101 +1100105,41,4861,2,35,2,40,1,1,9,1,-9,4,92M1,9490.0,486102 +1100105,41,4861,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,486103 +1100105,41,4862,1,43,1,50,1,1,1,1,-9,4,485M,6180.0,486201 +1100105,41,4862,2,35,2,40,1,1,9,1,-9,4,92M1,9490.0,486202 +1100105,41,4862,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,486203 +1100105,41,4863,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,486301 +1100105,41,4863,2,35,2,50,1,1,6,1,-9,4,92MP,9470.0,486302 +1100105,41,4863,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,486303 +1100105,41,4864,1,43,2,50,1,1,1,1,-9,4,4523,5391.0,486401 +1100105,41,4864,2,38,1,50,1,1,1,1,-9,4,23,770.0,486402 +1100105,41,4864,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,486403 +1100105,41,4865,1,42,1,40,3,1,1,1,-9,4,928P,9590.0,486501 +1100105,41,4865,2,42,2,40,1,1,1,1,-9,4,5417,7460.0,486502 +1100105,41,4865,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,486503 +1100105,41,4866,1,37,2,40,1,1,1,1,-9,4,5616,7680.0,486601 +1100105,41,4866,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,486602 +1100105,41,4866,3,37,1,50,1,1,1,1,-9,4,611M1,7870.0,486603 +1100105,41,4867,1,37,1,40,1,1,1,1,-9,4,8139Z,9190.0,486701 +1100105,41,4867,2,35,2,40,1,1,1,1,-9,4,813M,9170.0,486702 +1100105,41,4867,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,486703 +1100105,41,4868,1,35,2,40,3,1,1,1,-9,4,92MP,9470.0,486801 +1100105,41,4868,2,36,1,60,1,1,1,1,-9,4,5411,7270.0,486802 +1100105,41,4868,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,486803 +1100105,41,4869,1,45,1,45,1,1,1,1,-9,4,5416,7390.0,486901 +1100105,41,4869,2,50,1,40,1,1,1,1,-9,4,622M,8191.0,486902 +1100105,41,4869,3,3,1,-9,-9,-9,1,7,1,-9,0,0.0,486903 +1100105,41,4870,1,45,1,45,1,1,1,1,-9,4,5416,7390.0,487001 +1100105,41,4870,2,50,1,40,1,1,1,1,-9,4,622M,8191.0,487002 +1100105,41,4870,3,3,1,-9,-9,-9,1,7,1,-9,0,0.0,487003 +1100105,41,4871,1,42,2,45,1,1,1,1,-9,4,92MP,9470.0,487101 +1100105,41,4871,2,43,1,45,1,1,1,2,-9,2,9211MP,9370.0,487102 +1100105,41,4871,3,4,2,-9,-9,-9,1,2,1,-9,0,0.0,487103 +1100105,41,4872,1,34,2,40,2,1,1,1,-9,4,5417,7460.0,487201 +1100105,41,4872,2,37,1,40,2,1,6,1,-9,4,5416,7390.0,487202 +1100105,41,4872,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,487203 +1100105,41,4873,1,35,1,40,1,1,1,1,-9,4,51111,6470.0,487301 +1100105,41,4873,2,33,2,50,1,1,6,1,-9,4,52M1,6870.0,487302 +1100105,41,4873,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,487303 +1100105,41,4874,1,32,2,40,1,1,1,1,-9,4,23,770.0,487401 +1100105,41,4874,2,38,1,40,1,1,9,1,-9,4,5419Z,7490.0,487402 +1100105,41,4874,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,487403 +1100105,41,4875,1,32,2,40,1,1,1,1,-9,4,23,770.0,487501 +1100105,41,4875,2,38,1,40,1,1,9,1,-9,4,5419Z,7490.0,487502 +1100105,41,4875,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,487503 +1100105,41,4876,1,40,1,50,1,1,1,1,-9,4,3391,3960.0,487601 +1100105,41,4876,2,32,2,40,1,1,1,1,-9,4,923,9480.0,487602 +1100105,41,4876,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,487603 +1100105,41,4877,1,40,1,50,1,1,1,1,-9,4,3391,3960.0,487701 +1100105,41,4877,2,32,2,40,1,1,1,1,-9,4,923,9480.0,487702 +1100105,41,4877,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,487703 +1100105,41,4878,1,40,1,50,1,1,1,1,-9,4,3391,3960.0,487801 +1100105,41,4878,2,32,2,40,1,1,1,1,-9,4,923,9480.0,487802 +1100105,41,4878,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,487803 +1100105,41,4879,1,39,1,45,1,1,1,1,-9,4,5415,7380.0,487901 +1100105,41,4879,2,33,2,40,1,1,1,1,-9,4,5415,7380.0,487902 +1100105,41,4879,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,487903 +1100105,41,4880,1,33,2,60,1,1,1,3,-9,4,51913,6672.0,488001 +1100105,41,4880,2,36,1,60,1,1,1,1,-9,4,5416,7390.0,488002 +1100105,41,4880,3,0,1,-9,-9,-9,1,3,-9,-9,0,0.0,488003 +1100105,41,4881,1,33,2,60,1,1,1,3,-9,4,51913,6672.0,488101 +1100105,41,4881,2,36,1,60,1,1,1,1,-9,4,5416,7390.0,488102 +1100105,41,4881,3,0,1,-9,-9,-9,1,3,-9,-9,0,0.0,488103 +1100105,41,4882,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,488201 +1100105,41,4882,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,488202 +1100105,41,4882,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,488203 +1100105,41,4883,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,488301 +1100105,41,4883,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,488302 +1100105,41,4883,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,488303 +1100105,41,4884,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,488401 +1100105,41,4884,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,488402 +1100105,41,4884,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,488403 +1100105,41,4885,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,488501 +1100105,41,4885,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,488502 +1100105,41,4885,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,488503 +1100105,41,4886,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,488601 +1100105,41,4886,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,488602 +1100105,41,4886,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,488603 +1100105,41,4887,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,488701 +1100105,41,4887,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,488702 +1100105,41,4887,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,488703 +1100105,41,4888,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,488801 +1100105,41,4888,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,488802 +1100105,41,4888,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,488803 +1100105,41,4889,1,34,2,40,1,1,1,1,-9,4,622M,8191.0,488901 +1100105,41,4889,2,34,1,55,1,1,6,1,-9,4,5411,7270.0,488902 +1100105,41,4889,3,1,1,-9,-9,-9,9,1,-9,-9,0,0.0,488903 +1100105,41,4890,1,32,1,40,1,1,1,1,-9,4,92M1,9490.0,489001 +1100105,41,4890,2,32,2,50,1,2,1,1,-9,4,5411,7270.0,489002 +1100105,41,4890,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,489003 +1100105,41,4891,1,32,1,40,1,1,1,1,-9,4,92M1,9490.0,489101 +1100105,41,4891,2,32,2,50,1,2,1,1,-9,4,5411,7270.0,489102 +1100105,41,4891,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,489103 +1100105,41,4892,1,30,2,40,1,1,1,1,-9,4,23,770.0,489201 +1100105,41,4892,2,30,1,50,1,1,1,1,-9,4,517311,6680.0,489202 +1100105,41,4892,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,489203 +1100105,41,4893,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,489301 +1100105,41,4893,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,489302 +1100105,41,4893,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,489303 +1100105,41,4894,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,489401 +1100105,41,4894,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,489402 +1100105,41,4894,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,489403 +1100105,41,4895,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,489501 +1100105,41,4895,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,489502 +1100105,41,4895,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,489503 +1100105,41,4896,1,26,2,40,1,1,1,1,-9,4,611M1,7870.0,489601 +1100105,41,4896,2,26,2,40,1,1,8,1,-9,4,6111,7860.0,489602 +1100105,41,4896,3,26,2,40,3,1,8,1,-9,4,5416,7390.0,489603 +1100105,41,4897,1,29,1,40,1,1,1,1,-9,4,813M,9170.0,489701 +1100105,41,4897,2,30,1,40,1,1,1,1,-9,4,813M,9170.0,489702 +1100105,41,4897,3,26,1,40,1,1,1,1,-9,4,8139Z,9190.0,489703 +1100105,41,4898,1,29,1,50,1,1,1,1,-9,4,5416,7390.0,489801 +1100105,41,4898,2,29,1,40,5,1,1,1,-9,4,92MP,9470.0,489802 +1100105,41,4898,3,27,2,40,1,1,1,1,-9,4,6111,7860.0,489803 +1100105,41,4899,1,32,2,50,1,1,1,1,-9,4,722Z,8680.0,489901 +1100105,41,4899,2,28,1,40,1,1,1,1,-9,4,928P,9590.0,489902 +1100105,41,4899,3,25,2,40,1,1,1,1,-9,4,5111Z,6480.0,489903 +1100105,41,4900,1,26,2,40,1,1,1,1,-9,4,6241,8370.0,490001 +1100105,41,4900,2,30,2,45,1,1,1,1,-9,4,481,6070.0,490002 +1100105,41,4900,3,26,2,40,1,1,1,1,-9,4,92M2,9570.0,490003 +1100105,41,4901,1,26,2,45,1,1,1,1,-9,4,5416,7390.0,490101 +1100105,41,4901,2,25,2,1,1,1,1,1,-9,4,5411,7270.0,490102 +1100105,41,4901,3,25,1,36,1,1,1,1,-9,4,928P,9590.0,490103 +1100105,41,4902,1,27,2,35,1,1,1,1,-9,4,813M,9170.0,490201 +1100105,41,4902,2,28,2,40,1,1,1,4,-9,4,928P,9590.0,490202 +1100105,41,4902,3,26,2,40,1,1,1,2,-9,4,611M1,7870.0,490203 +1100105,41,4903,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,490301 +1100105,41,4903,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,490302 +1100105,41,4903,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,490303 +1100105,41,4904,1,50,2,40,1,1,1,1,-9,4,712,8570.0,490401 +1100105,41,4904,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,490402 +1100105,41,4904,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,490403 +1100105,41,4905,1,50,2,40,1,1,1,1,-9,4,712,8570.0,490501 +1100105,41,4905,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,490502 +1100105,41,4905,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,490503 +1100105,41,4906,1,43,1,40,1,1,1,1,-9,4,9211MP,9370.0,490601 +1100105,41,4906,2,41,2,40,1,1,1,1,-9,4,611M1,7870.0,490602 +1100105,41,4906,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,490603 +1100105,41,4907,1,43,1,40,1,1,1,1,-9,4,9211MP,9370.0,490701 +1100105,41,4907,2,41,2,40,1,1,1,1,-9,4,611M1,7870.0,490702 +1100105,41,4907,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,490703 +1100105,41,4908,1,47,1,45,3,1,1,23,-9,4,611M2,7880.0,490801 +1100105,41,4908,2,44,2,50,1,1,1,23,-9,4,928P,9590.0,490802 +1100105,41,4908,3,2,2,-9,-9,-9,1,1,-9,-9,0,0.0,490803 +1100105,41,4909,1,48,1,60,1,1,9,1,-9,4,8139Z,9190.0,490901 +1100105,41,4909,2,33,2,50,1,1,1,1,-9,4,813M,9170.0,490902 +1100105,41,4909,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,490903 +1100105,41,4910,1,48,1,60,1,1,9,1,-9,4,8139Z,9190.0,491001 +1100105,41,4910,2,33,2,50,1,1,1,1,-9,4,813M,9170.0,491002 +1100105,41,4910,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,491003 +1100105,41,4911,1,48,1,60,1,1,9,1,-9,4,8139Z,9190.0,491101 +1100105,41,4911,2,33,2,50,1,1,1,1,-9,4,813M,9170.0,491102 +1100105,41,4911,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,491103 +1100105,41,4912,1,31,2,40,1,1,1,16,-9,4,92M1,9490.0,491201 +1100105,41,4912,2,39,1,40,1,1,1,1,-9,4,5418,7470.0,491202 +1100105,41,4912,3,0,2,-9,-9,-9,1,16,-9,-9,0,0.0,491203 +1100105,41,4913,1,27,1,40,1,1,9,1,15,4,23,770.0,491301 +1100105,41,4913,2,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,491302 +1100105,41,4913,3,24,2,40,1,1,2,1,-9,4,4511M,5275.0,491303 +1100105,41,4914,1,34,1,60,1,1,1,1,-9,4,5412,7280.0,491401 +1100105,41,4914,2,32,2,45,1,1,2,1,-9,4,33641M1,3580.0,491402 +1100105,41,4914,3,1,1,-9,-9,-9,9,1,-9,-9,0,0.0,491403 +1100105,41,4915,1,34,1,60,1,1,1,1,-9,4,923,9480.0,491501 +1100105,41,4915,2,34,2,30,1,1,1,1,16,4,9211MP,9370.0,491502 +1100105,41,4915,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,491503 +1100105,41,4916,1,47,1,40,1,1,2,1,-9,4,4236,4195.0,491601 +1100105,41,4916,2,13,2,-9,-9,-9,2,1,10,-9,0,0.0,491602 +1100105,41,4916,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,491603 +1100105,41,4917,1,35,1,50,1,1,8,7,-9,4,23,770.0,491701 +1100105,41,4917,2,41,1,55,1,1,8,7,-9,4,56173,7770.0,491702 +1100105,41,4917,3,31,1,55,1,1,8,7,-9,2,813M,9170.0,491703 +1100105,41,4918,1,24,1,45,1,1,1,1,-9,4,611M3,7890.0,491801 +1100105,41,4918,2,24,1,40,1,1,1,1,-9,4,5415,7380.0,491802 +1100105,41,4918,3,23,1,55,1,1,1,1,-9,4,522M,6890.0,491803 +1100105,41,4919,1,23,1,30,5,1,1,1,15,4,332MZ,2980.0,491901 +1100105,41,4919,2,25,1,50,1,1,1,1,16,4,611M1,7870.0,491902 +1100105,41,4919,3,25,1,45,1,4,1,1,-9,1,928110P6,9790.0,491903 +1100105,41,4920,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,492001 +1100105,41,4920,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,492002 +1100105,41,4920,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,492003 +1100105,41,4921,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,492101 +1100105,41,4921,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,492102 +1100105,41,4921,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,492103 +1100105,41,4922,1,28,2,40,1,1,2,1,-9,4,928P,9590.0,492201 +1100105,41,4922,2,25,2,20,4,1,1,2,16,4,114,280.0,492202 +1100105,41,4922,3,24,1,42,1,2,1,1,-9,4,52M1,6870.0,492203 +1100105,41,4923,1,25,1,40,1,1,1,21,-9,4,9211MP,9370.0,492301 +1100105,41,4923,2,24,1,40,2,1,1,1,-9,4,5416,7390.0,492302 +1100105,41,4923,3,22,1,40,5,1,1,1,-9,4,5417,7460.0,492303 +1100105,41,4924,1,25,1,40,1,1,1,21,-9,4,9211MP,9370.0,492401 +1100105,41,4924,2,24,1,40,2,1,1,1,-9,4,5416,7390.0,492402 +1100105,41,4924,3,22,1,40,5,1,1,1,-9,4,5417,7460.0,492403 +1100105,41,4925,1,58,1,40,4,6,1,1,-9,4,522M,6890.0,492501 +1100105,41,4925,2,54,2,40,1,1,9,1,-9,4,44413,4880.0,492502 +1100105,41,4925,3,41,1,45,1,1,9,1,-9,4,8129,9090.0,492503 +1100105,41,4926,1,38,1,45,1,1,1,1,-9,4,5419Z,7490.0,492601 +1100105,41,4926,2,38,2,40,1,1,1,1,-9,4,928P,9590.0,492602 +1100105,41,4926,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,492603 +1100105,41,4927,1,46,1,40,1,1,1,1,-9,4,92M2,9570.0,492701 +1100105,41,4927,2,43,2,40,1,1,1,1,-9,4,92M2,9570.0,492702 +1100105,41,4927,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,492703 +1100105,41,4928,1,43,2,55,1,4,1,2,-9,3,928110P5,9780.0,492801 +1100105,41,4928,2,31,2,40,1,4,1,2,-9,1,928110P5,9780.0,492802 +1100105,41,4928,3,0,2,-9,-9,-9,1,2,-9,-9,0,0.0,492803 +1100105,41,4929,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,492901 +1100105,41,4929,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,492902 +1100105,41,4929,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,492903 +1100105,41,4930,1,34,1,60,1,1,1,1,-9,4,92113,9380.0,493001 +1100105,41,4930,2,33,2,-9,-9,6,1,1,16,4,5413,7290.0,493002 +1100105,41,4930,3,3,1,-9,-9,-9,1,1,1,-9,0,0.0,493003 +1100105,41,4931,1,27,2,20,1,1,1,1,16,4,923,9480.0,493101 +1100105,41,4931,2,24,2,-9,-9,6,1,1,15,4,0,0.0,493102 +1100105,41,4931,3,23,2,20,1,1,1,24,15,4,5415,7380.0,493103 +1100105,41,4932,1,65,2,30,1,1,1,15,15,4,814,9290.0,493201 +1100105,41,4932,2,26,2,40,1,1,1,11,-9,4,5313,7072.0,493202 +1100105,41,4932,3,6,1,-9,-9,-9,1,11,3,-9,0,0.0,493203 +1100105,41,4933,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,493301 +1100105,41,4933,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,493302 +1100105,41,4933,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,493303 +1100105,41,4934,1,21,1,30,4,1,1,1,15,4,332M,2870.0,493401 +1100105,41,4934,2,21,1,40,6,1,1,1,15,4,5416,7390.0,493402 +1100105,41,4934,3,21,1,40,6,1,1,1,15,4,487,6280.0,493403 +1100105,41,4935,1,63,2,-9,-9,6,2,1,-9,2,0,0.0,493501 +1100105,41,4935,2,22,1,30,6,1,2,1,15,4,722Z,8680.0,493502 +1100105,41,4935,3,19,2,20,6,1,2,1,-9,4,45221,5381.0,493503 +1100105,41,4936,1,63,2,-9,-9,6,2,1,-9,2,0,0.0,493601 +1100105,41,4936,2,22,1,30,6,1,2,1,15,4,722Z,8680.0,493602 +1100105,41,4936,3,19,2,20,6,1,2,1,-9,4,45221,5381.0,493603 +1100105,41,4937,1,63,2,-9,-9,6,2,1,-9,2,0,0.0,493701 +1100105,41,4937,2,22,1,30,6,1,2,1,15,4,722Z,8680.0,493702 +1100105,41,4937,3,19,2,20,6,1,2,1,-9,4,45221,5381.0,493703 +1100105,41,4938,1,28,1,40,1,1,8,2,-9,4,722Z,8680.0,493801 +1100105,41,4938,2,2,2,-9,-9,-9,8,2,-9,-9,0,0.0,493802 +1100105,41,4938,3,20,2,40,1,1,8,2,-9,4,722Z,8680.0,493803 +1100105,41,4939,1,28,1,40,1,1,8,2,-9,4,722Z,8680.0,493901 +1100105,41,4939,2,2,2,-9,-9,-9,8,2,-9,-9,0,0.0,493902 +1100105,41,4939,3,20,2,40,1,1,8,2,-9,4,722Z,8680.0,493903 +1100105,41,4940,1,31,2,40,3,1,2,1,-9,4,6111,7860.0,494001 +1100105,41,4940,2,12,1,-9,-9,-9,2,1,8,-9,0,0.0,494002 +1100105,41,4940,3,9,2,-9,-9,-9,2,1,6,-9,0,0.0,494003 +1100105,41,4941,1,31,2,40,3,1,2,1,-9,4,6111,7860.0,494101 +1100105,41,4941,2,12,1,-9,-9,-9,2,1,8,-9,0,0.0,494102 +1100105,41,4941,3,9,2,-9,-9,-9,2,1,6,-9,0,0.0,494103 +1100105,41,4942,1,31,2,40,3,1,2,1,-9,4,6111,7860.0,494201 +1100105,41,4942,2,12,1,-9,-9,-9,2,1,8,-9,0,0.0,494202 +1100105,41,4942,3,9,2,-9,-9,-9,2,1,6,-9,0,0.0,494203 +1100105,41,4943,1,31,2,40,3,1,2,1,-9,4,6111,7860.0,494301 +1100105,41,4943,2,12,1,-9,-9,-9,2,1,8,-9,0,0.0,494302 +1100105,41,4943,3,9,2,-9,-9,-9,2,1,6,-9,0,0.0,494303 +1100105,41,4944,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,494401 +1100105,41,4944,2,17,2,-9,-9,6,3,1,12,4,0,0.0,494402 +1100105,41,4944,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,494403 +1100105,41,4945,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,494501 +1100105,41,4945,2,17,2,-9,-9,6,3,1,12,4,0,0.0,494502 +1100105,41,4945,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,494503 +1100105,41,4946,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,494601 +1100105,41,4946,2,17,2,-9,-9,6,3,1,12,4,0,0.0,494602 +1100105,41,4946,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,494603 +1100105,41,4947,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,494701 +1100105,41,4947,2,17,2,-9,-9,6,3,1,12,4,0,0.0,494702 +1100105,41,4947,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,494703 +1100105,41,4948,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,494801 +1100105,41,4948,2,17,2,-9,-9,6,3,1,12,4,0,0.0,494802 +1100105,41,4948,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,494803 +1100105,41,4949,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,494901 +1100105,41,4949,2,17,2,-9,-9,6,3,1,12,4,0,0.0,494902 +1100105,41,4949,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,494903 +1100105,41,4950,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,495001 +1100105,41,4950,2,17,2,-9,-9,6,3,1,12,4,0,0.0,495002 +1100105,41,4950,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,495003 +1100105,41,4951,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,495101 +1100105,41,4951,2,17,2,-9,-9,6,3,1,12,4,0,0.0,495102 +1100105,41,4951,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,495103 +1100105,41,4952,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,495201 +1100105,41,4952,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,495202 +1100105,41,4952,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,495203 +1100105,41,4953,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,495301 +1100105,41,4953,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,495302 +1100105,41,4953,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,495303 +1100105,41,4954,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,495401 +1100105,41,4954,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,495402 +1100105,41,4954,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,495403 +1100105,41,4955,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,495501 +1100105,41,4955,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,495502 +1100105,41,4955,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,495503 +1100105,41,4956,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,495601 +1100105,41,4956,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,495602 +1100105,41,4956,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,495603 +1100105,41,4957,1,31,2,-9,-9,3,2,1,15,4,6216,8170.0,495701 +1100105,41,4957,2,11,2,-9,-9,-9,2,1,8,-9,0,0.0,495702 +1100105,41,4957,3,9,2,-9,-9,-9,2,1,6,-9,0,0.0,495703 +1100105,41,4958,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,495801 +1100105,41,4958,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,495802 +1100105,41,4958,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,495803 +1100105,41,4959,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,495901 +1100105,41,4959,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,495902 +1100105,41,4959,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,495903 +1100105,41,4960,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,496001 +1100105,41,4960,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,496002 +1100105,41,4960,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,496003 +1100105,41,4961,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,496101 +1100105,41,4961,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,496102 +1100105,41,4961,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,496103 +1100105,41,4962,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,496201 +1100105,41,4962,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,496202 +1100105,41,4962,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,496203 +1100105,41,4963,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,496301 +1100105,41,4963,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,496302 +1100105,41,4963,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,496303 +1100105,41,4964,1,65,1,42,1,1,1,1,-9,4,92M2,9570.0,496401 +1100105,41,4964,2,71,1,38,1,1,1,1,-9,4,5615,7670.0,496402 +1100105,41,4965,1,66,1,40,1,1,1,1,-9,4,52M2,6970.0,496501 +1100105,41,4965,2,60,2,40,1,1,6,1,-9,4,928P,9590.0,496502 +1100105,41,4966,1,81,2,25,1,1,1,1,-9,4,51111,6470.0,496601 +1100105,41,4966,2,48,2,40,1,1,1,1,-9,4,622M,8191.0,496602 +1100105,41,4967,1,81,2,25,1,1,1,1,-9,4,51111,6470.0,496701 +1100105,41,4967,2,48,2,40,1,1,1,1,-9,4,622M,8191.0,496702 +1100105,41,4968,1,64,1,45,1,2,1,1,-9,4,8139Z,9190.0,496801 +1100105,41,4968,2,65,2,40,1,1,1,1,-9,4,531M,7071.0,496802 +1100105,41,4969,1,42,1,45,1,1,9,1,-9,4,5415,7380.0,496901 +1100105,41,4969,2,59,2,60,1,1,6,1,-9,4,3254,2190.0,496902 +1100105,41,4970,1,37,1,40,1,1,9,1,-9,2,928P,9590.0,497001 +1100105,41,4970,2,35,2,50,1,1,6,1,-9,4,622M,8191.0,497002 +1100105,41,4971,1,43,2,40,1,1,6,1,-9,4,5416,7390.0,497101 +1100105,41,4971,2,45,1,55,1,1,6,1,-9,4,622M,8191.0,497102 +1100105,41,4972,1,43,2,40,1,1,6,1,-9,4,5416,7390.0,497201 +1100105,41,4972,2,45,1,55,1,1,6,1,-9,4,622M,8191.0,497202 +1100105,41,4973,1,40,2,40,1,1,9,1,-9,4,813M,9170.0,497301 +1100105,41,4973,2,44,1,50,1,1,2,1,-9,4,5411,7270.0,497302 +1100105,41,4974,1,47,2,45,1,1,2,1,-9,4,5417,7460.0,497401 +1100105,41,4974,2,47,1,50,1,1,9,1,-9,4,51111,6470.0,497402 +1100105,41,4975,1,47,2,45,1,1,2,1,-9,4,5417,7460.0,497501 +1100105,41,4975,2,47,1,50,1,1,9,1,-9,4,51111,6470.0,497502 +1100105,41,4976,1,35,2,40,1,1,2,1,-9,4,51111,6470.0,497601 +1100105,41,4976,2,36,1,60,1,1,2,1,-9,4,5415,7380.0,497602 +1100105,41,4977,1,54,2,45,1,1,2,1,-9,4,923,9480.0,497701 +1100105,41,4977,2,57,1,40,1,1,2,1,-9,3,52M1,6870.0,497702 +1100105,41,4978,1,36,2,45,1,1,1,1,-9,4,5411,7270.0,497801 +1100105,41,4978,2,37,1,40,1,1,9,1,-9,4,92113,9380.0,497802 +1100105,41,4979,1,35,2,55,2,1,9,1,-9,4,51111,6470.0,497901 +1100105,41,4979,2,46,1,55,1,1,1,1,-9,4,51913,6672.0,497902 +1100105,41,4980,1,38,2,60,1,1,1,1,-9,4,7111,8561.0,498001 +1100105,41,4980,2,40,1,40,1,1,9,1,-9,4,7111,8561.0,498002 +1100105,41,4981,1,36,1,40,3,1,9,1,-9,4,5413,7290.0,498101 +1100105,41,4981,2,39,1,70,1,1,1,1,-9,4,531M,7071.0,498102 +1100105,41,4982,1,38,2,60,1,1,1,1,-9,4,7111,8561.0,498201 +1100105,41,4982,2,40,1,40,1,1,9,1,-9,4,7111,8561.0,498202 +1100105,41,4983,1,35,2,55,2,1,9,1,-9,4,51111,6470.0,498301 +1100105,41,4983,2,46,1,55,1,1,1,1,-9,4,51913,6672.0,498302 +1100105,41,4984,1,44,1,40,6,1,9,1,-9,4,813M,9170.0,498401 +1100105,41,4984,2,50,1,40,1,1,1,1,-9,4,611M3,7890.0,498402 +1100105,41,4985,1,36,2,45,1,1,1,1,-9,4,5411,7270.0,498501 +1100105,41,4985,2,37,1,40,1,1,9,1,-9,4,92113,9380.0,498502 +1100105,41,4986,1,38,2,60,1,1,1,1,-9,4,7111,8561.0,498601 +1100105,41,4986,2,40,1,40,1,1,9,1,-9,4,7111,8561.0,498602 +1100105,41,4987,1,36,2,45,1,1,1,1,-9,4,5411,7270.0,498701 +1100105,41,4987,2,37,1,40,1,1,9,1,-9,4,92113,9380.0,498702 +1100105,41,4988,1,44,1,40,6,1,9,1,-9,4,813M,9170.0,498801 +1100105,41,4988,2,50,1,40,1,1,1,1,-9,4,611M3,7890.0,498802 +1100105,41,4989,1,38,2,60,1,1,1,1,-9,4,7111,8561.0,498901 +1100105,41,4989,2,40,1,40,1,1,9,1,-9,4,7111,8561.0,498902 +1100105,41,4990,1,39,2,40,1,1,6,1,-9,4,92MP,9470.0,499001 +1100105,41,4990,2,42,1,40,1,1,1,1,-9,4,928P,9590.0,499002 +1100105,41,4991,1,39,2,40,1,1,6,1,-9,4,92MP,9470.0,499101 +1100105,41,4991,2,42,1,40,1,1,1,1,-9,4,928P,9590.0,499102 +1100105,41,4992,1,55,1,50,1,1,1,1,-9,4,8139Z,9190.0,499201 +1100105,41,4992,2,47,1,40,1,1,6,1,-9,4,51912,6770.0,499202 +1100105,41,4993,1,38,1,50,1,1,1,1,-9,4,8139Z,9190.0,499301 +1100105,41,4993,2,35,2,40,1,1,6,1,-9,4,5613,7580.0,499302 +1100105,41,4994,1,57,1,40,1,1,1,1,-9,4,52M1,6870.0,499401 +1100105,41,4994,2,45,1,40,1,1,2,1,-9,4,712,8570.0,499402 +1100105,41,4995,1,48,1,50,1,1,1,1,-9,4,928P,9590.0,499501 +1100105,41,4995,2,61,1,60,1,1,1,1,-9,4,6111,7860.0,499502 +1100105,41,4996,1,58,1,30,6,1,1,1,-9,2,5416,7390.0,499601 +1100105,41,4996,2,47,1,70,1,1,1,1,-9,4,5411,7270.0,499602 +1100105,41,4997,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,499701 +1100105,41,4997,2,36,1,40,1,1,1,1,-9,2,92113,9380.0,499702 +1100105,41,4998,1,36,2,55,1,1,1,1,-9,4,531M,7071.0,499801 +1100105,41,4998,2,41,2,70,1,1,1,1,-9,4,531M,7071.0,499802 +1100105,41,4999,1,40,1,80,1,2,1,1,-9,4,928P,9590.0,499901 +1100105,41,4999,2,37,2,60,1,1,1,1,-9,4,6213ZM,8080.0,499902 +1100105,41,5000,1,50,1,40,1,1,1,1,-9,4,9211MP,9370.0,500001 +1100105,41,5000,2,52,1,45,1,1,1,1,-9,4,92M2,9570.0,500002 +1100105,41,5001,1,59,1,40,1,1,1,1,-9,2,622M,8191.0,500101 +1100105,41,5001,2,58,2,45,1,1,1,1,-9,2,611M1,7870.0,500102 +1100105,41,5002,1,41,2,40,1,1,1,1,-9,4,92M2,9570.0,500201 +1100105,41,5002,2,36,1,40,1,1,1,1,-9,4,923,9480.0,500202 +1100105,41,5003,1,50,2,55,1,1,1,1,-9,4,5415,7380.0,500301 +1100105,41,5003,2,51,1,60,1,1,1,1,-9,4,4539,5580.0,500302 +1100105,41,5004,1,38,1,45,1,1,1,1,-9,4,9211MP,9370.0,500401 +1100105,41,5004,2,35,2,48,1,1,1,1,-9,4,92119,9390.0,500402 +1100105,41,5005,1,42,1,55,1,1,1,1,-9,4,5112,6490.0,500501 +1100105,41,5005,2,46,1,60,1,1,1,1,-9,4,92MP,9470.0,500502 +1100105,41,5006,1,36,2,50,1,1,1,1,-9,4,3254,2190.0,500601 +1100105,41,5006,2,36,1,60,1,1,1,1,-9,4,9211MP,9370.0,500602 +1100105,41,5007,1,39,2,50,1,1,1,1,-9,4,813M,9170.0,500701 +1100105,41,5007,2,45,1,40,1,1,1,1,-9,4,3231,1990.0,500702 +1100105,41,5008,1,48,1,50,1,1,1,1,-9,4,928P,9590.0,500801 +1100105,41,5008,2,61,1,60,1,1,1,1,-9,4,6111,7860.0,500802 +1100105,41,5009,1,61,1,50,1,1,1,1,-9,4,515,6670.0,500901 +1100105,41,5009,2,47,1,16,3,1,1,1,-9,4,611M1,7870.0,500902 +1100105,41,5010,1,39,1,40,1,1,1,1,-9,4,92113,9380.0,501001 +1100105,41,5010,2,38,2,40,1,1,1,1,-9,4,8139Z,9190.0,501002 +1100105,41,5011,1,36,2,50,1,1,1,1,-9,4,3254,2190.0,501101 +1100105,41,5011,2,36,1,60,1,1,1,1,-9,4,9211MP,9370.0,501102 +1100105,41,5012,1,38,1,45,1,1,1,1,-9,4,3254,2190.0,501201 +1100105,41,5012,2,43,2,55,1,1,1,1,-9,4,928P,9590.0,501202 +1100105,41,5013,1,50,2,55,1,1,1,1,-9,4,5415,7380.0,501301 +1100105,41,5013,2,51,1,60,1,1,1,1,-9,4,4539,5580.0,501302 +1100105,41,5014,1,38,1,55,1,1,1,1,-9,4,5413,7290.0,501401 +1100105,41,5014,2,39,1,50,1,1,1,1,-9,4,5241,6991.0,501402 +1100105,41,5015,1,35,1,60,1,1,1,1,-9,4,5417,7460.0,501501 +1100105,41,5015,2,36,2,20,1,1,1,1,16,4,611M1,7870.0,501502 +1100105,41,5016,1,64,1,40,1,1,1,1,-9,4,5412,7280.0,501601 +1100105,41,5016,2,58,2,40,1,1,1,1,-9,4,5111Z,6480.0,501602 +1100105,41,5017,1,60,1,50,1,1,1,1,-9,4,6211,7970.0,501701 +1100105,41,5017,2,61,1,60,1,1,1,1,-9,4,6211,7970.0,501702 +1100105,41,5018,1,58,1,50,1,1,1,1,-9,4,485M,6180.0,501801 +1100105,41,5018,2,60,2,40,1,1,1,1,-9,4,611M1,7870.0,501802 +1100105,41,5019,1,39,2,52,1,1,1,1,-9,4,813M,9170.0,501901 +1100105,41,5019,2,50,1,60,1,1,1,1,-9,4,5417,7460.0,501902 +1100105,41,5020,1,53,1,40,1,1,1,1,-9,4,928P,9590.0,502001 +1100105,41,5020,2,44,2,20,4,1,1,1,16,4,5416,7390.0,502002 +1100105,41,5021,1,42,1,50,1,1,1,1,-9,4,2211P,570.0,502101 +1100105,41,5021,2,39,2,40,1,2,1,1,16,4,5416,7390.0,502102 +1100105,41,5022,1,48,1,46,1,1,1,1,-9,4,622M,8191.0,502201 +1100105,41,5022,2,46,1,40,1,1,1,1,-9,4,5411,7270.0,502202 +1100105,41,5023,1,35,1,60,1,1,1,1,-9,4,5417,7460.0,502301 +1100105,41,5023,2,36,2,20,1,1,1,1,16,4,611M1,7870.0,502302 +1100105,41,5024,1,61,1,40,1,1,1,1,-9,4,611M1,7870.0,502401 +1100105,41,5024,2,52,2,40,1,1,1,1,-9,4,5242,6992.0,502402 +1100105,41,5025,1,37,1,40,1,1,1,1,-9,4,23,770.0,502501 +1100105,41,5025,2,49,1,40,1,1,1,1,-9,2,23,770.0,502502 +1100105,41,5026,1,44,1,45,1,1,1,1,-9,4,52M2,6970.0,502601 +1100105,41,5026,2,40,2,50,1,1,1,1,-9,4,8139Z,9190.0,502602 +1100105,41,5027,1,61,1,40,1,1,1,1,-9,4,611M1,7870.0,502701 +1100105,41,5027,2,52,2,40,1,1,1,1,-9,4,5242,6992.0,502702 +1100105,41,5028,1,36,2,55,1,1,1,1,-9,4,531M,7071.0,502801 +1100105,41,5028,2,41,2,70,1,1,1,1,-9,4,531M,7071.0,502802 +1100105,41,5029,1,39,2,50,1,1,1,1,-9,4,813M,9170.0,502901 +1100105,41,5029,2,45,1,40,1,1,1,1,-9,4,3231,1990.0,502902 +1100105,41,5030,1,44,1,45,1,1,1,1,-9,4,52M2,6970.0,503001 +1100105,41,5030,2,40,2,50,1,1,1,1,-9,4,8139Z,9190.0,503002 +1100105,41,5031,1,48,1,50,1,1,1,1,-9,4,928P,9590.0,503101 +1100105,41,5031,2,61,1,60,1,1,1,1,-9,4,6111,7860.0,503102 +1100105,41,5032,1,64,1,40,1,1,1,1,-9,4,5412,7280.0,503201 +1100105,41,5032,2,58,2,40,1,1,1,1,-9,4,5111Z,6480.0,503202 +1100105,41,5033,1,38,1,40,1,1,1,1,-9,4,92MP,9470.0,503301 +1100105,41,5033,2,36,2,40,1,1,1,1,-9,4,5413,7290.0,503302 +1100105,41,5034,1,42,1,60,1,1,1,1,-9,4,7115,8564.0,503401 +1100105,41,5034,2,37,1,75,1,1,1,1,-9,4,92M2,9570.0,503402 +1100105,41,5035,1,38,2,50,1,1,1,1,-9,4,8139Z,9190.0,503501 +1100105,41,5035,2,39,1,45,1,1,1,1,-9,4,611M1,7870.0,503502 +1100105,41,5036,1,43,1,40,1,1,1,1,-9,4,5416,7390.0,503601 +1100105,41,5036,2,36,2,50,1,1,1,1,-9,4,5416,7390.0,503602 +1100105,41,5037,1,38,1,55,1,1,1,1,-9,4,5413,7290.0,503701 +1100105,41,5037,2,39,1,50,1,1,1,1,-9,4,5241,6991.0,503702 +1100105,41,5038,1,41,1,60,1,1,1,1,-9,4,5191ZM,6780.0,503801 +1100105,41,5038,2,40,2,30,1,1,1,1,-9,4,8122,9080.0,503802 +1100105,41,5039,1,44,1,45,1,1,1,1,-9,4,52M2,6970.0,503901 +1100105,41,5039,2,40,2,50,1,1,1,1,-9,4,8139Z,9190.0,503902 +1100105,41,5040,1,37,1,50,1,1,1,1,-9,4,531M,7071.0,504001 +1100105,41,5040,2,36,2,40,1,1,1,1,-9,4,813M,9170.0,504002 +1100105,41,5041,1,42,1,55,1,4,1,1,-9,1,928110P3,9690.0,504101 +1100105,41,5041,2,39,2,55,1,4,1,1,-9,1,928110P3,9690.0,504102 +1100105,41,5042,1,37,1,50,1,1,1,1,-9,4,531M,7071.0,504201 +1100105,41,5042,2,36,2,40,1,1,1,1,-9,4,813M,9170.0,504202 +1100105,41,5043,1,39,2,52,1,1,1,1,-9,4,813M,9170.0,504301 +1100105,41,5043,2,50,1,60,1,1,1,1,-9,4,5417,7460.0,504302 +1100105,41,5044,1,43,1,50,1,1,1,1,-9,4,813M,9170.0,504401 +1100105,41,5044,2,44,1,50,1,1,1,1,-9,4,713Z,8590.0,504402 +1100105,41,5045,1,64,1,40,1,1,1,1,-9,4,5412,7280.0,504501 +1100105,41,5045,2,58,2,40,1,1,1,1,-9,4,5111Z,6480.0,504502 +1100105,41,5046,1,61,1,40,1,1,1,1,-9,4,611M1,7870.0,504601 +1100105,41,5046,2,52,2,40,1,1,1,1,-9,4,5242,6992.0,504602 +1100105,41,5047,1,38,1,40,1,1,1,1,-9,4,5614,7590.0,504701 +1100105,41,5047,2,46,1,40,1,1,1,1,-9,2,92M2,9570.0,504702 +1100105,41,5048,1,41,1,50,1,1,1,1,-9,4,52M1,6870.0,504801 +1100105,41,5048,2,39,1,60,1,1,1,1,-9,4,531M,7071.0,504802 +1100105,41,5049,1,41,1,40,1,1,1,1,-9,4,5411,7270.0,504901 +1100105,41,5049,2,60,1,40,1,1,1,1,-9,4,928P,9590.0,504902 +1100105,41,5050,1,37,1,40,3,1,1,1,16,2,7115,8564.0,505001 +1100105,41,5050,2,36,1,60,1,1,1,1,-9,4,722Z,8680.0,505002 +1100105,41,5051,1,40,1,45,1,1,1,1,-9,4,9211MP,9370.0,505101 +1100105,41,5051,2,41,1,45,1,1,1,1,-9,4,9211MP,9370.0,505102 +1100105,41,5052,1,56,2,40,1,1,1,1,-9,4,92M2,9570.0,505201 +1100105,41,5052,2,55,1,40,1,1,1,1,-9,4,9211MP,9370.0,505202 +1100105,41,5053,1,56,2,34,4,1,1,1,-9,4,814,9290.0,505301 +1100105,41,5053,2,57,1,45,1,1,1,1,-9,4,5411,7270.0,505302 +1100105,41,5054,1,39,2,52,1,1,1,1,-9,4,813M,9170.0,505401 +1100105,41,5054,2,50,1,60,1,1,1,1,-9,4,5417,7460.0,505402 +1100105,41,5055,1,41,1,60,1,1,1,1,-9,4,5191ZM,6780.0,505501 +1100105,41,5055,2,40,2,30,1,1,1,1,-9,4,8122,9080.0,505502 +1100105,41,5056,1,42,2,45,1,1,1,1,-9,4,5416,7390.0,505601 +1100105,41,5056,2,41,1,40,1,1,1,1,-9,4,5415,7380.0,505602 +1100105,41,5057,1,41,1,50,1,1,1,1,-9,4,52M1,6870.0,505701 +1100105,41,5057,2,39,1,60,1,1,1,1,-9,4,531M,7071.0,505702 +1100105,41,5058,1,39,1,40,1,1,2,1,-9,4,928P,9590.0,505801 +1100105,41,5058,2,40,1,50,1,1,1,2,-9,4,515,6670.0,505802 +1100105,41,5059,1,43,1,45,1,1,1,1,-9,4,92M2,9570.0,505901 +1100105,41,5059,2,42,2,40,1,1,1,3,-9,4,3345,3380.0,505902 +1100105,41,5060,1,35,2,45,1,1,1,1,-9,4,923,9480.0,506001 +1100105,41,5060,2,35,1,45,1,1,1,23,-9,4,92113,9380.0,506002 +1100105,41,5061,1,35,2,45,1,1,1,1,-9,4,923,9480.0,506101 +1100105,41,5061,2,35,1,45,1,1,1,23,-9,4,92113,9380.0,506102 +1100105,41,5062,1,37,2,40,1,1,1,5,-9,4,52M1,6870.0,506201 +1100105,41,5062,2,35,2,40,1,1,1,1,-9,4,928P,9590.0,506202 +1100105,41,5063,1,54,2,40,1,1,1,1,-9,4,3222M,1890.0,506301 +1100105,41,5063,2,63,1,55,1,1,1,2,-9,4,928P,9590.0,506302 +1100105,41,5064,1,37,2,40,1,1,1,5,-9,4,522M,6890.0,506401 +1100105,41,5064,2,35,2,40,1,1,1,1,-9,4,928P,9590.0,506402 +1100105,41,5065,1,35,2,45,1,1,1,1,-9,4,923,9480.0,506501 +1100105,41,5065,2,35,1,45,1,1,1,23,-9,4,92113,9380.0,506502 +1100105,41,5066,1,49,1,50,1,1,1,1,-9,4,5411,7270.0,506601 +1100105,41,5066,2,46,2,40,1,1,8,2,-9,4,5417,7460.0,506602 +1100105,41,5067,1,39,2,40,1,1,1,1,-9,4,813M,9170.0,506701 +1100105,41,5067,2,39,2,40,1,1,1,24,-9,4,813M,9170.0,506702 +1100105,41,5068,1,35,2,45,1,1,1,1,-9,4,923,9480.0,506801 +1100105,41,5068,2,35,1,45,1,1,1,23,-9,4,92113,9380.0,506802 +1100105,41,5069,1,49,1,50,1,1,1,1,-9,4,5411,7270.0,506901 +1100105,41,5069,2,46,2,40,1,1,8,2,-9,4,5417,7460.0,506902 +1100105,41,5070,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,507001 +1100105,41,5070,2,38,1,50,1,1,1,16,-9,4,928P,9590.0,507002 +1100105,41,5071,1,54,2,40,1,1,1,4,-9,4,813M,9170.0,507101 +1100105,41,5071,2,55,1,45,1,1,1,1,-9,4,5415,7380.0,507102 +1100105,41,5072,1,36,2,50,1,1,1,23,-9,4,4234,4170.0,507201 +1100105,41,5072,2,35,1,40,1,1,9,23,-9,4,611M1,7870.0,507202 +1100105,41,5073,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,507301 +1100105,41,5073,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,507302 +1100105,41,5074,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,507401 +1100105,41,5074,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,507402 +1100105,41,5075,1,37,2,40,1,1,1,24,-9,4,928P,9590.0,507501 +1100105,41,5075,2,40,1,40,1,1,6,19,-9,4,928P,9590.0,507502 +1100105,41,5076,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,507601 +1100105,41,5076,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,507602 +1100105,41,5077,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,507701 +1100105,41,5077,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,507702 +1100105,41,5078,1,66,1,40,1,1,1,1,-9,4,5417,7460.0,507801 +1100105,41,5078,2,31,2,40,1,1,1,1,-9,4,5413,7290.0,507802 +1100105,41,5079,1,57,1,45,1,1,9,1,-9,4,531M,7071.0,507901 +1100105,41,5079,2,22,1,10,4,1,9,1,15,4,5413,7290.0,507902 +1100105,41,5080,1,57,1,45,1,1,9,1,-9,4,531M,7071.0,508001 +1100105,41,5080,2,22,1,10,4,1,9,1,15,4,5413,7290.0,508002 +1100105,41,5081,1,57,1,45,1,1,9,1,-9,4,531M,7071.0,508101 +1100105,41,5081,2,22,1,10,4,1,9,1,15,4,5413,7290.0,508102 +1100105,41,5082,1,37,1,40,1,1,9,1,-9,4,5416,7390.0,508201 +1100105,41,5082,2,34,2,55,3,1,1,1,-9,4,5418,7470.0,508202 +1100105,41,5083,1,37,1,40,1,1,9,1,-9,4,5416,7390.0,508301 +1100105,41,5083,2,34,2,55,3,1,1,1,-9,4,5418,7470.0,508302 +1100105,41,5084,1,40,1,65,1,1,9,1,-9,4,5419Z,7490.0,508401 +1100105,41,5084,2,29,2,52,1,1,1,1,-9,4,928P,9590.0,508402 +1100105,41,5085,1,40,1,65,1,1,9,1,-9,4,5419Z,7490.0,508501 +1100105,41,5085,2,29,2,52,1,1,1,1,-9,4,928P,9590.0,508502 +1100105,41,5086,1,40,1,65,1,1,9,1,-9,4,5419Z,7490.0,508601 +1100105,41,5086,2,29,2,52,1,1,1,1,-9,4,928P,9590.0,508602 +1100105,41,5087,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,508701 +1100105,41,5087,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,508702 +1100105,41,5088,1,37,1,40,1,1,9,1,-9,4,5416,7390.0,508801 +1100105,41,5088,2,34,2,55,3,1,1,1,-9,4,5418,7470.0,508802 +1100105,41,5089,1,40,1,65,1,1,9,1,-9,4,5419Z,7490.0,508901 +1100105,41,5089,2,29,2,52,1,1,1,1,-9,4,928P,9590.0,508902 +1100105,41,5090,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,509001 +1100105,41,5090,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,509002 +1100105,41,5091,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,509101 +1100105,41,5091,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,509102 +1100105,41,5092,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,509201 +1100105,41,5092,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,509202 +1100105,41,5093,1,36,1,60,1,1,1,1,-9,3,5415,7380.0,509301 +1100105,41,5093,2,34,2,60,1,1,6,1,-9,4,515,6670.0,509302 +1100105,41,5094,1,39,1,40,1,1,1,1,-9,4,92119,9390.0,509401 +1100105,41,5094,2,29,1,40,1,1,6,1,-9,4,5415,7380.0,509402 +1100105,41,5095,1,38,2,40,1,1,1,1,-9,4,923,9480.0,509501 +1100105,41,5095,2,33,1,40,1,1,1,1,-9,4,5416,7390.0,509502 +1100105,41,5096,1,35,1,65,1,1,1,1,-9,4,5411,7270.0,509601 +1100105,41,5096,2,33,1,40,1,1,1,1,-9,4,5112,6490.0,509602 +1100105,41,5097,1,62,2,40,1,1,1,1,-9,4,712,8570.0,509701 +1100105,41,5097,2,28,2,50,5,1,1,1,16,2,92MP,9470.0,509702 +1100105,41,5098,1,36,1,45,1,1,1,1,-9,4,928P,9590.0,509801 +1100105,41,5098,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,509802 +1100105,41,5099,1,35,1,85,1,1,1,1,-9,4,5411,7270.0,509901 +1100105,41,5099,2,34,2,50,1,1,1,1,-9,4,3254,2190.0,509902 +1100105,41,5100,1,38,2,40,1,1,1,1,-9,4,923,9480.0,510001 +1100105,41,5100,2,33,1,40,1,1,1,1,-9,4,5416,7390.0,510002 +1100105,41,5101,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,510101 +1100105,41,5101,2,35,1,40,1,1,1,1,-9,4,5411,7270.0,510102 +1100105,41,5102,1,35,1,60,1,1,1,1,-9,4,5416,7390.0,510201 +1100105,41,5102,2,33,2,46,1,1,1,1,-9,4,5416,7390.0,510202 +1100105,41,5103,1,38,2,40,1,1,1,1,-9,4,923,9480.0,510301 +1100105,41,5103,2,33,1,40,1,1,1,1,-9,4,5416,7390.0,510302 +1100105,41,5104,1,35,1,65,1,1,1,1,-9,4,5411,7270.0,510401 +1100105,41,5104,2,33,1,40,1,1,1,1,-9,4,5112,6490.0,510402 +1100105,41,5105,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,510501 +1100105,41,5105,2,32,2,50,4,1,1,1,-9,4,8139Z,9190.0,510502 +1100105,41,5106,1,29,1,60,1,1,1,1,-9,2,5411,7270.0,510601 +1100105,41,5106,2,35,2,40,1,1,1,1,-9,4,813M,9170.0,510602 +1100105,41,5107,1,33,2,60,1,1,1,1,-9,4,5615,7670.0,510701 +1100105,41,5107,2,41,1,50,1,1,1,1,-9,4,7115,8564.0,510702 +1100105,41,5108,1,41,1,20,3,1,1,1,-9,4,5411,7270.0,510801 +1100105,41,5108,2,31,2,40,1,1,1,1,-9,4,5411,7270.0,510802 +1100105,41,5109,1,35,1,85,1,1,1,1,-9,4,5411,7270.0,510901 +1100105,41,5109,2,34,2,50,1,1,1,1,-9,4,3254,2190.0,510902 +1100105,41,5110,1,39,1,50,1,1,1,1,-9,4,561M,7780.0,511001 +1100105,41,5110,2,24,2,50,1,1,1,1,-9,4,443142,4795.0,511002 +1100105,41,5111,1,35,1,40,1,1,1,1,-9,4,92113,9380.0,511101 +1100105,41,5111,2,32,2,40,1,1,1,1,-9,4,5411,7270.0,511102 +1100105,41,5112,1,38,2,40,1,1,1,1,-9,4,522M,6890.0,511201 +1100105,41,5112,2,29,1,40,1,1,1,1,-9,4,928P,9590.0,511202 +1100105,41,5113,1,34,2,50,1,1,1,1,-9,4,52M2,6970.0,511301 +1100105,41,5113,2,49,1,40,1,1,1,1,-9,4,92M2,9570.0,511302 +1100105,41,5114,1,34,2,45,1,1,1,1,-9,4,5111Z,6480.0,511401 +1100105,41,5114,2,36,1,45,1,1,1,1,-9,4,5418,7470.0,511402 +1100105,41,5115,1,38,2,40,1,1,1,1,-9,4,522M,6890.0,511501 +1100105,41,5115,2,29,1,40,1,1,1,1,-9,4,928P,9590.0,511502 +1100105,41,5116,1,36,1,37,1,1,1,1,-9,4,5411,7270.0,511601 +1100105,41,5116,2,33,2,70,1,1,1,1,-9,4,51111,6470.0,511602 +1100105,41,5117,1,46,1,60,1,1,1,1,-9,4,5411,7270.0,511701 +1100105,41,5117,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,511702 +1100105,41,5118,1,35,1,50,2,1,1,1,-9,4,6211,7970.0,511801 +1100105,41,5118,2,34,1,50,2,1,1,1,-9,4,51111,6470.0,511802 +1100105,41,5119,1,41,1,20,3,1,1,1,-9,4,5411,7270.0,511901 +1100105,41,5119,2,31,2,40,1,1,1,1,-9,4,5411,7270.0,511902 +1100105,41,5120,1,34,2,35,1,1,1,1,16,4,928P,9590.0,512001 +1100105,41,5120,2,36,1,40,1,1,1,1,16,4,622M,8191.0,512002 +1100105,41,5121,1,39,1,44,1,1,1,1,-9,4,6212,7980.0,512101 +1100105,41,5121,2,32,1,50,1,1,1,1,-9,4,813M,9170.0,512102 +1100105,41,5122,1,37,1,60,1,1,1,1,-9,4,2211P,570.0,512201 +1100105,41,5122,2,25,1,50,1,1,1,1,-9,4,5413,7290.0,512202 +1100105,41,5123,1,36,1,45,1,1,1,1,-9,4,928P,9590.0,512301 +1100105,41,5123,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,512302 +1100105,41,5124,1,34,2,45,1,1,1,1,-9,4,522M,6890.0,512401 +1100105,41,5124,2,36,1,40,1,1,1,1,-9,2,92MP,9470.0,512402 +1100105,41,5125,1,34,2,50,1,1,1,1,-9,4,92M2,9570.0,512501 +1100105,41,5125,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,512502 +1100105,41,5126,1,34,1,70,1,1,1,1,-9,4,812112,8980.0,512601 +1100105,41,5126,2,46,1,60,1,1,1,1,-9,4,7211,8660.0,512602 +1100105,41,5127,1,35,1,85,1,1,1,1,-9,4,5411,7270.0,512701 +1100105,41,5127,2,34,2,50,1,1,1,1,-9,4,3254,2190.0,512702 +1100105,41,5128,1,34,2,50,1,1,1,1,-9,4,92M2,9570.0,512801 +1100105,41,5128,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,512802 +1100105,41,5129,1,44,1,40,1,4,1,19,16,1,928110P3,9690.0,512901 +1100105,41,5129,2,27,2,50,1,1,1,1,-9,4,8139Z,9190.0,512902 +1100105,41,5130,1,44,1,40,1,4,1,19,16,1,928110P3,9690.0,513001 +1100105,41,5130,2,27,2,50,1,1,1,1,-9,4,8139Z,9190.0,513002 +1100105,41,5131,1,39,1,60,1,1,8,3,-9,4,5416,7390.0,513101 +1100105,41,5131,2,29,2,40,1,1,1,1,-9,4,6211,7970.0,513102 +1100105,41,5132,1,39,1,60,1,1,8,3,-9,4,5416,7390.0,513201 +1100105,41,5132,2,29,2,40,1,1,1,1,-9,4,6211,7970.0,513202 +1100105,41,5133,1,34,1,40,1,1,1,2,-9,2,928P,9590.0,513301 +1100105,41,5133,2,38,2,40,1,1,1,1,-9,4,92MP,9470.0,513302 +1100105,41,5134,1,39,1,50,1,1,1,1,-9,4,92113,9380.0,513401 +1100105,41,5134,2,30,2,40,1,1,1,19,-9,4,515,6670.0,513402 +1100105,41,5135,1,41,1,40,1,1,1,1,-9,4,92M2,9570.0,513501 +1100105,41,5135,2,32,1,40,1,1,1,16,-9,4,92M2,9570.0,513502 +1100105,41,5136,1,39,1,60,1,1,8,3,-9,4,5416,7390.0,513601 +1100105,41,5136,2,29,2,40,1,1,1,1,-9,4,6211,7970.0,513602 +1100105,41,5137,1,44,1,40,1,4,1,19,16,1,928110P3,9690.0,513701 +1100105,41,5137,2,27,2,50,1,1,1,1,-9,4,8139Z,9190.0,513702 +1100105,41,5138,1,39,1,40,1,1,1,6,-9,4,622M,8191.0,513801 +1100105,41,5138,2,30,2,40,6,1,1,1,16,4,622M,8191.0,513802 +1100105,41,5139,1,39,1,40,1,1,1,6,-9,4,622M,8191.0,513901 +1100105,41,5139,2,30,2,40,6,1,1,1,16,4,622M,8191.0,513902 +1100105,41,5140,1,30,1,40,1,1,9,1,-9,4,928P,9590.0,514001 +1100105,41,5140,2,30,2,40,1,1,6,1,-9,4,92M2,9570.0,514002 +1100105,41,5141,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,514101 +1100105,41,5141,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,514102 +1100105,41,5142,1,32,2,40,1,1,6,1,-9,4,5413,7290.0,514201 +1100105,41,5142,2,34,1,80,1,1,6,1,-9,4,5416,7390.0,514202 +1100105,41,5143,1,27,1,55,1,1,6,1,-9,4,5416,7390.0,514301 +1100105,41,5143,2,28,2,35,1,1,6,1,-9,4,5415,7380.0,514302 +1100105,41,5144,1,27,1,40,1,1,9,1,-9,4,5111Z,6480.0,514401 +1100105,41,5144,2,26,2,60,1,1,1,1,16,4,5411,7270.0,514402 +1100105,41,5145,1,27,1,40,1,1,9,1,-9,4,5111Z,6480.0,514501 +1100105,41,5145,2,26,2,60,1,1,1,1,16,4,5411,7270.0,514502 +1100105,41,5146,1,30,1,45,1,1,9,1,-9,4,611M3,7890.0,514601 +1100105,41,5146,2,29,2,45,1,1,1,1,-9,4,5413,7290.0,514602 +1100105,41,5147,1,31,1,50,1,1,1,1,-9,4,5418,7470.0,514701 +1100105,41,5147,2,32,2,50,1,1,9,1,-9,4,5416,7390.0,514702 +1100105,41,5148,1,31,1,50,1,1,1,1,-9,4,5418,7470.0,514801 +1100105,41,5148,2,32,2,50,1,1,9,1,-9,4,5416,7390.0,514802 +1100105,41,5149,1,31,1,50,1,1,1,1,-9,4,5418,7470.0,514901 +1100105,41,5149,2,32,2,50,1,1,9,1,-9,4,5416,7390.0,514902 +1100105,41,5150,1,27,1,40,1,1,9,1,-9,4,5111Z,6480.0,515001 +1100105,41,5150,2,26,2,60,1,1,1,1,16,4,5411,7270.0,515002 +1100105,41,5151,1,30,1,45,1,1,9,1,-9,4,611M3,7890.0,515101 +1100105,41,5151,2,29,2,45,1,1,1,1,-9,4,5413,7290.0,515102 +1100105,41,5152,1,33,1,40,1,1,1,1,-9,4,923,9480.0,515201 +1100105,41,5152,2,33,1,40,1,1,6,1,-9,4,5416,7390.0,515202 +1100105,41,5153,1,31,2,40,1,1,1,1,-9,4,8139Z,9190.0,515301 +1100105,41,5153,2,31,1,40,2,1,6,1,-9,4,5418,7470.0,515302 +1100105,41,5154,1,26,1,65,1,1,1,1,-9,4,52M2,6970.0,515401 +1100105,41,5154,2,25,2,65,1,1,6,1,-9,4,6214,8090.0,515402 +1100105,41,5155,1,30,1,50,1,1,1,1,-9,4,531M,7071.0,515501 +1100105,41,5155,2,32,2,44,1,1,6,1,-9,4,6111,7860.0,515502 +1100105,41,5156,1,30,2,40,1,1,1,1,-9,4,5417,7460.0,515601 +1100105,41,5156,2,31,1,40,1,1,6,1,-9,4,6214,8090.0,515602 +1100105,41,5157,1,33,1,50,1,1,6,1,-9,4,5416,7390.0,515701 +1100105,41,5157,2,31,2,45,1,1,1,1,-9,4,52M1,6870.0,515702 +1100105,41,5158,1,34,1,55,1,1,1,1,-9,4,5416,7390.0,515801 +1100105,41,5158,2,31,1,50,1,1,2,1,-9,4,531M,7071.0,515802 +1100105,41,5159,1,29,1,50,1,1,2,1,-9,4,5411,7270.0,515901 +1100105,41,5159,2,27,2,40,1,1,1,1,-9,4,531M,7071.0,515902 +1100105,41,5160,1,31,1,50,1,1,1,1,-9,4,5411,7270.0,516001 +1100105,41,5160,2,29,2,45,1,1,1,1,-9,4,5411,7270.0,516002 +1100105,41,5161,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,516101 +1100105,41,5161,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,516102 +1100105,41,5162,1,31,1,50,1,1,1,1,-9,4,5411,7270.0,516201 +1100105,41,5162,2,29,2,45,1,1,1,1,-9,4,5411,7270.0,516202 +1100105,41,5163,1,31,1,70,1,1,1,1,-9,4,3345,3380.0,516301 +1100105,41,5163,2,30,2,55,1,1,1,1,16,4,622M,8191.0,516302 +1100105,41,5164,1,30,1,65,1,1,1,1,-9,4,5411,7270.0,516401 +1100105,41,5164,2,31,2,65,1,1,1,1,-9,4,5416,7390.0,516402 +1100105,41,5165,1,33,2,40,1,1,1,1,-9,4,622M,8191.0,516501 +1100105,41,5165,2,32,1,80,1,1,1,1,-9,4,7211,8660.0,516502 +1100105,41,5166,1,31,1,35,1,2,1,1,-9,4,7112,8562.0,516601 +1100105,41,5166,2,27,2,40,1,1,1,1,-9,4,92113,9380.0,516602 +1100105,41,5167,1,27,2,65,3,1,1,1,-9,4,5411,7270.0,516701 +1100105,41,5167,2,27,1,50,1,1,1,1,-9,4,5416,7390.0,516702 +1100105,41,5168,1,32,1,42,1,1,1,1,-9,4,92MP,9470.0,516801 +1100105,41,5168,2,31,2,45,1,1,1,1,-9,4,92M2,9570.0,516802 +1100105,41,5169,1,28,1,45,1,1,1,1,-9,4,5416,7390.0,516901 +1100105,41,5169,2,28,2,45,1,1,1,1,-9,4,5613,7580.0,516902 +1100105,41,5170,1,30,1,40,1,1,1,1,-9,4,2211P,570.0,517001 +1100105,41,5170,2,29,2,55,1,1,1,1,-9,4,5416,7390.0,517002 +1100105,41,5171,1,30,1,55,1,1,1,1,-9,4,5411,7270.0,517101 +1100105,41,5171,2,28,2,55,1,1,1,1,-9,4,4234,4170.0,517102 +1100105,41,5172,1,34,1,50,1,1,1,1,-9,2,6241,8370.0,517201 +1100105,41,5172,2,31,2,40,1,1,1,1,-9,4,92M1,9490.0,517202 +1100105,41,5173,1,31,1,50,1,1,1,1,-9,4,5411,7270.0,517301 +1100105,41,5173,2,29,2,45,1,1,1,1,-9,4,5411,7270.0,517302 +1100105,41,5174,1,33,2,50,1,1,1,1,-9,4,5417,7460.0,517401 +1100105,41,5174,2,32,1,38,1,1,1,1,-9,4,5241,6991.0,517402 +1100105,41,5175,1,31,1,40,1,1,1,1,-9,4,928P,9590.0,517501 +1100105,41,5175,2,30,2,40,1,1,1,1,-9,4,5417,7460.0,517502 +1100105,41,5176,1,34,1,20,1,1,1,1,-9,4,611M3,7890.0,517601 +1100105,41,5176,2,33,2,50,1,1,1,1,-9,4,6111,7860.0,517602 +1100105,41,5177,1,28,1,20,3,1,1,1,16,4,611M1,7870.0,517701 +1100105,41,5177,2,29,2,40,1,1,1,1,-9,4,5416,7390.0,517702 +1100105,41,5178,1,32,1,40,1,1,1,1,-9,4,611M3,7890.0,517801 +1100105,41,5178,2,32,2,50,1,1,1,1,-9,4,712,8570.0,517802 +1100105,41,5179,1,33,1,40,1,1,1,1,-9,4,92113,9380.0,517901 +1100105,41,5179,2,33,2,50,1,1,1,1,-9,4,923,9480.0,517902 +1100105,41,5180,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,518001 +1100105,41,5180,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,518002 +1100105,41,5181,1,28,2,45,1,1,1,1,-9,4,8139Z,9190.0,518101 +1100105,41,5181,2,27,1,45,1,1,1,1,-9,4,5416,7390.0,518102 +1100105,41,5182,1,32,1,42,1,1,1,1,-9,4,92MP,9470.0,518201 +1100105,41,5182,2,31,2,45,1,1,1,1,-9,4,92M2,9570.0,518202 +1100105,41,5183,1,32,1,45,1,1,1,1,-9,4,5418,7470.0,518301 +1100105,41,5183,2,29,2,50,1,1,1,1,-9,4,713Z,8590.0,518302 +1100105,41,5184,1,27,1,40,1,1,1,1,-9,4,5416,7390.0,518401 +1100105,41,5184,2,26,2,50,1,1,1,1,-9,4,928P,9590.0,518402 +1100105,41,5185,1,25,1,40,1,1,1,1,-9,4,5112,6490.0,518501 +1100105,41,5185,2,28,1,50,1,1,1,1,16,4,5411,7270.0,518502 +1100105,41,5186,1,33,2,46,1,1,1,1,-9,4,5416,7390.0,518601 +1100105,41,5186,2,34,1,48,1,1,1,1,-9,4,928P,9590.0,518602 +1100105,41,5187,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,518701 +1100105,41,5187,2,32,2,24,1,1,1,1,-9,4,6213ZM,8080.0,518702 +1100105,41,5188,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,518801 +1100105,41,5188,2,26,2,50,1,1,1,1,-9,4,5411,7270.0,518802 +1100105,41,5189,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,518901 +1100105,41,5189,2,27,1,50,1,1,1,1,-9,4,4481,5170.0,518902 +1100105,41,5190,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,519001 +1100105,41,5190,2,28,2,50,1,1,1,1,16,4,52M2,6970.0,519002 +1100105,41,5191,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,519101 +1100105,41,5191,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,519102 +1100105,41,5192,1,31,1,50,1,1,1,1,-9,4,5411,7270.0,519201 +1100105,41,5192,2,29,2,45,1,1,1,1,-9,4,5411,7270.0,519202 +1100105,41,5193,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,519301 +1100105,41,5193,2,29,2,40,1,1,1,1,-9,4,5413,7290.0,519302 +1100105,41,5194,1,28,2,45,1,1,1,1,-9,4,8139Z,9190.0,519401 +1100105,41,5194,2,27,1,45,1,1,1,1,-9,4,5416,7390.0,519402 +1100105,41,5195,1,31,1,50,1,1,1,1,-9,4,5411,7270.0,519501 +1100105,41,5195,2,29,2,45,1,1,1,1,-9,4,5411,7270.0,519502 +1100105,41,5196,1,23,2,55,1,1,1,1,-9,4,5416,7390.0,519601 +1100105,41,5196,2,27,1,64,1,1,1,1,-9,4,5416,7390.0,519602 +1100105,41,5197,1,33,2,50,1,1,1,1,-9,4,9211MP,9370.0,519701 +1100105,41,5197,2,33,1,60,1,1,1,1,-9,4,622M,8191.0,519702 +1100105,41,5198,1,27,1,20,1,1,1,1,16,4,5615,7670.0,519801 +1100105,41,5198,2,27,2,40,1,1,1,1,-9,4,611M3,7890.0,519802 +1100105,41,5199,1,29,1,70,1,1,1,1,-9,4,51111,6470.0,519901 +1100105,41,5199,2,25,1,60,1,1,1,1,16,4,9211MP,9370.0,519902 +1100105,41,5200,1,34,1,60,1,1,1,1,-9,4,928P,9590.0,520001 +1100105,41,5200,2,27,1,60,1,1,1,1,-9,4,92MP,9470.0,520002 +1100105,41,5201,1,33,1,40,1,1,1,1,-9,4,92113,9380.0,520101 +1100105,41,5201,2,33,2,50,1,1,1,1,-9,4,923,9480.0,520102 +1100105,41,5202,1,34,1,55,1,1,1,1,-9,4,51913,6672.0,520201 +1100105,41,5202,2,32,2,60,1,1,1,1,-9,4,5411,7270.0,520202 +1100105,41,5203,1,29,1,60,1,1,1,1,-9,4,813M,9170.0,520301 +1100105,41,5203,2,27,2,50,1,1,1,1,-9,4,611M1,7870.0,520302 +1100105,41,5204,1,32,1,40,1,1,1,1,-9,4,611M3,7890.0,520401 +1100105,41,5204,2,32,2,50,1,1,1,1,-9,4,712,8570.0,520402 +1100105,41,5205,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,520501 +1100105,41,5205,2,32,1,60,1,1,1,1,-9,4,5411,7270.0,520502 +1100105,41,5206,1,33,1,40,1,1,1,1,-9,4,5413,7290.0,520601 +1100105,41,5206,2,32,1,40,1,1,1,1,-9,4,5413,7290.0,520602 +1100105,41,5207,1,29,2,50,1,1,1,1,-9,4,6214,8090.0,520701 +1100105,41,5207,2,29,1,60,1,1,1,1,-9,4,5411,7270.0,520702 +1100105,41,5208,1,25,1,55,1,1,1,1,-9,4,5411,7270.0,520801 +1100105,41,5208,2,25,1,65,1,1,1,1,-9,4,531M,7071.0,520802 +1100105,41,5209,1,28,1,45,1,1,1,1,-9,4,5416,7390.0,520901 +1100105,41,5209,2,28,2,45,1,1,1,1,-9,4,5613,7580.0,520902 +1100105,41,5210,1,23,1,50,1,1,1,1,-9,4,5416,7390.0,521001 +1100105,41,5210,2,22,1,8,4,1,1,1,15,4,611M1,7870.0,521002 +1100105,41,5211,1,32,1,40,1,1,1,1,-9,4,611M3,7890.0,521101 +1100105,41,5211,2,32,2,50,1,1,1,1,-9,4,712,8570.0,521102 +1100105,41,5212,1,31,2,55,1,1,1,1,-9,4,5417,7460.0,521201 +1100105,41,5212,2,31,1,50,1,1,1,1,-9,4,928P,9590.0,521202 +1100105,41,5213,1,32,1,40,1,1,1,1,-9,4,611M3,7890.0,521301 +1100105,41,5213,2,32,2,50,1,1,1,1,-9,4,712,8570.0,521302 +1100105,41,5214,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,521401 +1100105,41,5214,2,32,1,50,1,1,1,1,-9,4,4481,5170.0,521402 +1100105,41,5215,1,31,2,55,1,1,1,1,-9,4,5417,7460.0,521501 +1100105,41,5215,2,31,1,50,1,1,1,1,-9,4,928P,9590.0,521502 +1100105,41,5216,1,27,1,60,1,1,1,1,-9,4,9211MP,9370.0,521601 +1100105,41,5216,2,26,2,40,1,1,1,1,-9,4,481,6070.0,521602 +1100105,41,5217,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,521701 +1100105,41,5217,2,32,1,50,1,1,1,1,-9,4,5418,7470.0,521702 +1100105,41,5218,1,27,2,50,1,1,1,1,-9,4,5411,7270.0,521801 +1100105,41,5218,2,27,1,50,1,1,1,1,-9,4,5411,7270.0,521802 +1100105,41,5219,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,521901 +1100105,41,5219,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,521902 +1100105,41,5220,1,33,1,40,1,1,1,1,-9,4,443142,4795.0,522001 +1100105,41,5220,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,522002 +1100105,41,5221,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,522101 +1100105,41,5221,2,30,2,60,1,1,1,1,-9,4,5411,7270.0,522102 +1100105,41,5222,1,34,1,20,1,1,1,1,-9,4,611M3,7890.0,522201 +1100105,41,5222,2,33,2,50,1,1,1,1,-9,4,6111,7860.0,522202 +1100105,41,5223,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,522301 +1100105,41,5223,2,34,2,50,1,1,1,1,-9,4,928P,9590.0,522302 +1100105,41,5224,1,31,1,70,1,1,1,1,-9,4,3345,3380.0,522401 +1100105,41,5224,2,30,2,55,1,1,1,1,16,4,622M,8191.0,522402 +1100105,41,5225,1,32,1,42,1,1,1,1,-9,4,92MP,9470.0,522501 +1100105,41,5225,2,31,2,45,1,1,1,1,-9,4,92M2,9570.0,522502 +1100105,41,5226,1,33,2,50,1,1,1,1,-9,4,9211MP,9370.0,522601 +1100105,41,5226,2,33,1,60,1,1,1,1,-9,4,622M,8191.0,522602 +1100105,41,5227,1,34,1,50,1,1,1,1,-9,4,5411,7270.0,522701 +1100105,41,5227,2,33,2,40,1,1,1,1,-9,4,5416,7390.0,522702 +1100105,41,5228,1,34,1,20,1,1,1,1,-9,4,611M3,7890.0,522801 +1100105,41,5228,2,33,2,50,1,1,1,1,-9,4,6111,7860.0,522802 +1100105,41,5229,1,28,2,45,1,1,1,1,-9,4,9211MP,9370.0,522901 +1100105,41,5229,2,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,522902 +1100105,41,5230,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,523001 +1100105,41,5230,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,523002 +1100105,41,5231,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,523101 +1100105,41,5231,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,523102 +1100105,41,5232,1,31,2,55,1,1,1,1,-9,4,5417,7460.0,523201 +1100105,41,5232,2,31,1,50,1,1,1,1,-9,4,928P,9590.0,523202 +1100105,41,5233,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,523301 +1100105,41,5233,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,523302 +1100105,41,5234,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,523401 +1100105,41,5234,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,523402 +1100105,41,5235,1,30,2,40,1,1,1,1,-9,4,5412,7280.0,523501 +1100105,41,5235,2,30,2,50,1,1,1,1,-9,4,622M,8191.0,523502 +1100105,41,5236,1,32,1,45,1,1,1,1,-9,4,5418,7470.0,523601 +1100105,41,5236,2,29,2,50,1,1,1,1,-9,4,713Z,8590.0,523602 +1100105,41,5237,1,30,2,40,1,1,1,1,-9,4,5412,7280.0,523701 +1100105,41,5237,2,30,2,50,1,1,1,1,-9,4,622M,8191.0,523702 +1100105,41,5238,1,32,1,50,1,1,1,1,-9,4,621M,8180.0,523801 +1100105,41,5238,2,31,2,60,1,1,1,1,-9,4,5416,7390.0,523802 +1100105,41,5239,1,28,1,45,1,1,1,1,-9,4,5416,7390.0,523901 +1100105,41,5239,2,28,2,45,1,1,1,1,-9,4,5613,7580.0,523902 +1100105,41,5240,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,524001 +1100105,41,5240,2,30,2,60,1,1,1,1,-9,4,5411,7270.0,524002 +1100105,41,5241,1,28,2,40,1,1,1,1,-9,4,928P,9590.0,524101 +1100105,41,5241,2,29,2,50,1,1,1,1,-9,4,5313,7072.0,524102 +1100105,41,5242,1,30,1,65,1,1,1,1,-9,4,5411,7270.0,524201 +1100105,41,5242,2,31,2,65,1,1,1,1,-9,4,5416,7390.0,524202 +1100105,41,5243,1,27,1,20,1,1,1,1,16,4,5615,7670.0,524301 +1100105,41,5243,2,27,2,40,1,1,1,1,-9,4,611M3,7890.0,524302 +1100105,41,5244,1,31,1,40,1,1,1,1,-9,4,92MP,9470.0,524401 +1100105,41,5244,2,34,1,40,1,1,1,1,-9,4,92MP,9470.0,524402 +1100105,41,5245,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,524501 +1100105,41,5245,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,524502 +1100105,41,5246,1,30,2,40,1,1,1,1,-9,4,5411,7270.0,524601 +1100105,41,5246,2,33,1,50,1,1,1,1,-9,4,5411,7270.0,524602 +1100105,41,5247,1,30,1,55,1,1,1,1,-9,4,5411,7270.0,524701 +1100105,41,5247,2,28,2,55,1,1,1,1,-9,4,4234,4170.0,524702 +1100105,41,5248,1,31,1,70,1,1,1,1,-9,4,3345,3380.0,524801 +1100105,41,5248,2,30,2,55,1,1,1,1,16,4,622M,8191.0,524802 +1100105,41,5249,1,30,2,50,1,1,1,1,-9,4,52M2,6970.0,524901 +1100105,41,5249,2,32,1,55,1,1,1,1,-9,4,5411,7270.0,524902 +1100105,41,5250,1,33,2,40,1,1,1,1,-9,4,622M,8191.0,525001 +1100105,41,5250,2,32,1,80,1,1,1,1,-9,4,7211,8660.0,525002 +1100105,41,5251,1,34,1,20,1,1,1,1,-9,4,611M3,7890.0,525101 +1100105,41,5251,2,33,2,50,1,1,1,1,-9,4,6111,7860.0,525102 +1100105,41,5252,1,34,1,50,1,1,1,1,-9,4,5411,7270.0,525201 +1100105,41,5252,2,33,2,40,1,1,1,1,-9,4,5416,7390.0,525202 +1100105,41,5253,1,28,1,45,1,1,1,1,-9,4,5416,7390.0,525301 +1100105,41,5253,2,28,2,45,1,1,1,1,-9,4,5613,7580.0,525302 +1100105,41,5254,1,34,1,65,1,1,1,1,-9,4,5416,7390.0,525401 +1100105,41,5254,2,34,2,45,1,1,1,1,-9,4,92MP,9470.0,525402 +1100105,41,5255,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,525501 +1100105,41,5255,2,27,1,50,1,1,1,1,-9,4,4481,5170.0,525502 +1100105,41,5256,1,31,2,55,1,1,1,1,-9,4,5411,7270.0,525601 +1100105,41,5256,2,32,1,40,1,1,1,1,-9,4,923,9480.0,525602 +1100105,41,5257,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,525701 +1100105,41,5257,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,525702 +1100105,41,5258,1,32,1,45,1,1,1,1,-9,4,5418,7470.0,525801 +1100105,41,5258,2,29,2,50,1,1,1,1,-9,4,713Z,8590.0,525802 +1100105,41,5259,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,525901 +1100105,41,5259,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,525902 +1100105,41,5260,1,33,2,50,1,1,1,1,-9,4,5417,7460.0,526001 +1100105,41,5260,2,32,1,38,1,1,1,1,-9,4,5241,6991.0,526002 +1100105,41,5261,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,526101 +1100105,41,5261,2,27,1,50,1,1,1,1,-9,4,4481,5170.0,526102 +1100105,41,5262,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,526201 +1100105,41,5262,2,29,2,40,1,1,1,1,-9,4,5413,7290.0,526202 +1100105,41,5263,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,526301 +1100105,41,5263,2,32,2,24,1,1,1,1,-9,4,6213ZM,8080.0,526302 +1100105,41,5264,1,27,2,50,1,1,1,1,-9,4,5416,7390.0,526401 +1100105,41,5264,2,25,1,50,1,1,1,1,-9,4,5412,7280.0,526402 +1100105,41,5265,1,32,1,40,1,1,1,1,-9,4,611M3,7890.0,526501 +1100105,41,5265,2,32,2,50,1,1,1,1,-9,4,712,8570.0,526502 +1100105,41,5266,1,33,1,45,1,1,1,11,-9,4,5412,7280.0,526601 +1100105,41,5266,2,31,2,45,1,1,1,1,-9,4,5413,7290.0,526602 +1100105,41,5267,1,32,1,43,1,1,1,13,-9,4,23,770.0,526701 +1100105,41,5267,2,31,2,55,1,1,1,1,-9,4,5411,7270.0,526702 +1100105,41,5268,1,30,2,55,1,1,1,1,-9,4,515,6670.0,526801 +1100105,41,5268,2,29,1,50,1,1,1,13,-9,4,92113,9380.0,526802 +1100105,41,5269,1,32,1,43,1,1,1,13,-9,4,23,770.0,526901 +1100105,41,5269,2,31,2,55,1,1,1,1,-9,4,5411,7270.0,526902 +1100105,41,5270,1,32,1,43,1,1,1,13,-9,4,23,770.0,527001 +1100105,41,5270,2,31,2,55,1,1,1,1,-9,4,5411,7270.0,527002 +1100105,41,5271,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,527101 +1100105,41,5271,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,527102 +1100105,41,5272,1,67,1,16,6,6,2,1,-9,4,5416,7390.0,527201 +1100105,41,5272,2,50,2,5,6,1,1,1,-9,4,5416,7390.0,527202 +1100105,41,5273,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,527301 +1100105,41,5273,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,527302 +1100105,41,5274,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,527401 +1100105,41,5274,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,527402 +1100105,41,5275,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,527501 +1100105,41,5275,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,527502 +1100105,41,5276,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,527601 +1100105,41,5276,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,527602 +1100105,41,5277,1,36,2,40,1,1,1,1,-9,4,5412,7280.0,527701 +1100105,41,5277,2,43,1,40,3,3,2,1,-9,4,52M2,6970.0,527702 +1100105,41,5278,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,527801 +1100105,41,5278,2,61,1,45,1,1,1,1,-9,4,492,6380.0,527802 +1100105,41,5279,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,527901 +1100105,41,5279,2,61,1,45,1,1,1,1,-9,4,492,6380.0,527902 +1100105,41,5280,1,61,1,40,1,1,1,1,-9,4,8139Z,9190.0,528001 +1100105,41,5280,2,60,2,-9,-9,6,1,1,-9,4,4511M,5275.0,528002 +1100105,41,5281,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,528101 +1100105,41,5281,2,61,1,45,1,1,1,1,-9,4,492,6380.0,528102 +1100105,41,5282,1,61,1,40,1,1,1,1,-9,4,8139Z,9190.0,528201 +1100105,41,5282,2,60,2,-9,-9,6,1,1,-9,4,4511M,5275.0,528202 +1100105,41,5283,1,42,1,-9,-9,6,1,6,-9,4,0,0.0,528301 +1100105,41,5283,2,52,1,40,1,1,1,1,-9,2,622M,8191.0,528302 +1100105,41,5284,1,42,1,-9,-9,6,1,6,-9,4,0,0.0,528401 +1100105,41,5284,2,52,1,40,1,1,1,1,-9,2,622M,8191.0,528402 +1100105,41,5285,1,34,1,40,4,3,1,1,-9,2,5411,7270.0,528501 +1100105,41,5285,2,32,2,40,1,1,1,1,-9,4,5412,7280.0,528502 +1100105,41,5286,1,87,1,-9,-9,6,2,1,-9,2,0,0.0,528601 +1100105,41,5286,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,528602 +1100105,41,5287,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,528701 +1100105,41,5287,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,528702 +1100105,41,5288,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,528801 +1100105,41,5288,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,528802 +1100105,41,5289,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,528901 +1100105,41,5289,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,528902 +1100105,41,5290,1,74,1,60,1,1,8,11,-9,4,23,770.0,529001 +1100105,41,5290,2,70,2,20,3,1,8,11,-9,4,5617Z,7690.0,529002 +1100105,41,5291,1,37,2,45,1,1,1,1,-9,4,813M,9170.0,529101 +1100105,41,5291,2,37,2,40,1,1,9,1,-9,4,923,9480.0,529102 +1100105,41,5292,1,52,1,40,3,1,1,1,16,4,6111,7860.0,529201 +1100105,41,5292,2,47,1,40,1,1,8,1,-9,4,5413,7290.0,529202 +1100105,41,5293,1,52,1,40,3,1,1,1,16,4,6111,7860.0,529301 +1100105,41,5293,2,47,1,40,1,1,8,1,-9,4,5413,7290.0,529302 +1100105,41,5294,1,52,1,40,3,1,1,1,16,4,6111,7860.0,529401 +1100105,41,5294,2,47,1,40,1,1,8,1,-9,4,5413,7290.0,529402 +1100105,41,5295,1,57,1,38,1,1,1,1,-9,2,485M,6180.0,529501 +1100105,41,5295,2,60,2,40,1,1,6,1,-9,4,5613,7580.0,529502 +1100105,41,5296,1,41,1,30,1,1,6,1,-9,4,923,9480.0,529601 +1100105,41,5296,2,41,2,35,1,1,1,1,-9,4,5411,7270.0,529602 +1100105,41,5297,1,41,1,30,1,1,6,1,-9,4,923,9480.0,529701 +1100105,41,5297,2,41,2,35,1,1,1,1,-9,4,5411,7270.0,529702 +1100105,41,5298,1,37,1,45,1,1,1,1,-9,4,92M2,9570.0,529801 +1100105,41,5298,2,42,1,45,1,1,1,1,-9,4,442,4770.0,529802 +1100105,41,5299,1,37,1,45,1,1,1,1,-9,4,928P,9590.0,529901 +1100105,41,5299,2,37,2,50,3,1,1,1,-9,4,928P,9590.0,529902 +1100105,41,5300,1,49,1,38,1,1,1,1,-9,4,5416,7390.0,530001 +1100105,41,5300,2,39,2,40,1,1,1,1,-9,4,5416,7390.0,530002 +1100105,41,5301,1,37,1,40,1,1,1,1,-9,4,928P,9590.0,530101 +1100105,41,5301,2,36,2,40,1,1,1,1,-9,4,611M1,7870.0,530102 +1100105,41,5302,1,41,2,45,1,1,1,1,-9,4,6244,8470.0,530201 +1100105,41,5302,2,41,1,40,1,1,1,1,-9,2,92MP,9470.0,530202 +1100105,41,5303,1,35,1,45,1,1,1,1,-9,4,92M2,9570.0,530301 +1100105,41,5303,2,35,2,45,1,1,1,1,-9,4,813M,9170.0,530302 +1100105,41,5304,1,37,1,45,1,1,1,1,-9,4,92M2,9570.0,530401 +1100105,41,5304,2,42,1,45,1,1,1,1,-9,4,442,4770.0,530402 +1100105,41,5305,1,35,1,45,1,1,1,1,-9,4,92M2,9570.0,530501 +1100105,41,5305,2,35,2,45,1,1,1,1,-9,4,813M,9170.0,530502 +1100105,41,5306,1,39,2,40,1,1,1,1,-9,4,5413,7290.0,530601 +1100105,41,5306,2,46,1,40,1,1,1,1,-9,4,5416,7390.0,530602 +1100105,41,5307,1,35,1,70,1,1,1,1,-9,2,928P,9590.0,530701 +1100105,41,5307,2,35,2,24,1,1,1,1,-9,4,7224,8690.0,530702 +1100105,41,5308,1,35,1,45,1,1,1,1,-9,4,92M2,9570.0,530801 +1100105,41,5308,2,35,2,45,1,1,1,1,-9,4,813M,9170.0,530802 +1100105,41,5309,1,35,1,45,1,1,1,1,-9,4,92M2,9570.0,530901 +1100105,41,5309,2,35,2,45,1,1,1,1,-9,4,813M,9170.0,530902 +1100105,41,5310,1,35,2,46,1,1,1,23,-9,4,722Z,8680.0,531001 +1100105,41,5310,2,36,1,50,1,1,1,1,-9,4,5417,7460.0,531002 +1100105,41,5311,1,35,1,40,1,1,2,3,-9,4,55,7570.0,531101 +1100105,41,5311,2,35,2,45,1,1,1,1,-9,4,5416,7390.0,531102 +1100105,41,5312,1,35,2,46,1,1,1,23,-9,4,722Z,8680.0,531201 +1100105,41,5312,2,36,1,50,1,1,1,1,-9,4,5417,7460.0,531202 +1100105,41,5313,1,35,1,40,1,1,2,3,-9,4,55,7570.0,531301 +1100105,41,5313,2,35,2,45,1,1,1,1,-9,4,5416,7390.0,531302 +1100105,41,5314,1,73,2,25,1,1,1,1,-9,4,52M2,6970.0,531401 +1100105,41,5314,2,31,1,16,1,1,1,1,-9,4,7111,8561.0,531402 +1100105,41,5315,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,531501 +1100105,41,5315,2,35,1,60,1,1,6,1,-9,4,92MP,9470.0,531502 +1100105,41,5316,1,35,1,55,1,1,9,1,-9,4,5416,7390.0,531601 +1100105,41,5316,2,28,2,60,1,1,1,1,16,4,5416,7390.0,531602 +1100105,41,5317,1,35,1,50,1,1,9,1,-9,4,92M2,9570.0,531701 +1100105,41,5317,2,27,2,40,1,1,1,1,-9,4,4481,5170.0,531702 +1100105,41,5318,1,34,2,50,1,1,1,1,-9,4,813M,9170.0,531801 +1100105,41,5318,2,37,1,40,1,1,9,1,-9,4,5417,7460.0,531802 +1100105,41,5319,1,34,2,50,1,1,1,1,-9,4,813M,9170.0,531901 +1100105,41,5319,2,37,1,40,1,1,9,1,-9,4,5417,7460.0,531902 +1100105,41,5320,1,35,1,45,1,1,9,1,-9,4,813M,9170.0,532001 +1100105,41,5320,2,28,2,55,1,1,1,1,-9,4,928P,9590.0,532002 +1100105,41,5321,1,35,1,45,1,1,9,1,-9,4,813M,9170.0,532101 +1100105,41,5321,2,28,2,55,1,1,1,1,-9,4,928P,9590.0,532102 +1100105,41,5322,1,55,2,40,1,1,9,1,-9,4,928P,9590.0,532201 +1100105,41,5322,2,33,1,40,1,1,1,1,-9,4,23,770.0,532202 +1100105,41,5323,1,35,1,55,1,1,9,1,-9,4,5416,7390.0,532301 +1100105,41,5323,2,28,2,60,1,1,1,1,16,4,5416,7390.0,532302 +1100105,41,5324,1,55,2,40,1,1,9,1,-9,4,928P,9590.0,532401 +1100105,41,5324,2,33,1,40,1,1,1,1,-9,4,23,770.0,532402 +1100105,41,5325,1,35,1,55,1,1,9,1,-9,4,5416,7390.0,532501 +1100105,41,5325,2,28,2,60,1,1,1,1,16,4,5416,7390.0,532502 +1100105,41,5326,1,33,2,40,1,1,6,1,15,4,928P,9590.0,532601 +1100105,41,5326,2,40,1,50,1,1,1,1,-9,4,51111,6470.0,532602 +1100105,41,5327,1,35,2,50,1,1,6,1,-9,4,928P,9590.0,532701 +1100105,41,5327,2,28,1,50,1,1,1,1,-9,4,621M,8180.0,532702 +1100105,41,5328,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,532801 +1100105,41,5328,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,532802 +1100105,41,5329,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,532901 +1100105,41,5329,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,532902 +1100105,41,5330,1,36,1,50,1,1,1,1,-9,4,443142,4795.0,533001 +1100105,41,5330,2,34,1,40,1,1,1,1,-9,4,5416,7390.0,533002 +1100105,41,5331,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,533101 +1100105,41,5331,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,533102 +1100105,41,5332,1,36,1,40,1,1,1,1,-9,4,5419Z,7490.0,533201 +1100105,41,5332,2,30,1,45,1,1,1,1,16,4,813M,9170.0,533202 +1100105,41,5333,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,533301 +1100105,41,5333,2,23,2,40,1,1,1,1,-9,4,5417,7460.0,533302 +1100105,41,5334,1,39,1,40,1,1,1,1,-9,4,5415,7380.0,533401 +1100105,41,5334,2,29,2,55,1,1,1,1,-9,4,5614,7590.0,533402 +1100105,41,5335,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,533501 +1100105,41,5335,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,533502 +1100105,41,5336,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,533601 +1100105,41,5336,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,533602 +1100105,41,5337,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,533701 +1100105,41,5337,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,533702 +1100105,41,5338,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,533801 +1100105,41,5338,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,533802 +1100105,41,5339,1,35,1,40,1,1,1,16,-9,4,5415,7380.0,533901 +1100105,41,5339,2,33,2,40,1,1,1,1,-9,4,92MP,9470.0,533902 +1100105,41,5340,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,534001 +1100105,41,5340,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,534002 +1100105,41,5341,1,54,2,40,1,1,1,1,-9,4,5411,7270.0,534101 +1100105,41,5341,2,33,1,40,1,1,1,2,16,4,5415,7380.0,534102 +1100105,41,5342,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,534201 +1100105,41,5342,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,534202 +1100105,41,5343,1,35,1,40,1,1,6,19,16,4,92M2,9570.0,534301 +1100105,41,5343,2,33,2,40,1,1,1,19,-9,4,6231,8270.0,534302 +1100105,41,5344,1,35,1,40,1,1,6,19,16,4,92M2,9570.0,534401 +1100105,41,5344,2,33,2,40,1,1,1,19,-9,4,6231,8270.0,534402 +1100105,41,5345,1,35,1,40,1,1,6,19,16,4,92M2,9570.0,534501 +1100105,41,5345,2,33,2,40,1,1,1,19,-9,4,6231,8270.0,534502 +1100105,41,5346,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,534601 +1100105,41,5346,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,534602 +1100105,41,5347,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,534701 +1100105,41,5347,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,534702 +1100105,41,5348,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,534801 +1100105,41,5348,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,534802 +1100105,41,5349,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,534901 +1100105,41,5349,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,534902 +1100105,41,5350,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,535001 +1100105,41,5350,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,535002 +1100105,41,5351,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,535101 +1100105,41,5351,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,535102 +1100105,41,5352,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,535201 +1100105,41,5352,2,27,2,40,1,1,6,1,16,4,6231,8270.0,535202 +1100105,41,5353,1,32,1,40,1,1,6,1,-9,4,9211MP,9370.0,535301 +1100105,41,5353,2,32,2,38,1,1,6,1,-9,4,5418,7470.0,535302 +1100105,41,5354,1,31,1,40,1,1,2,1,-9,4,92MP,9470.0,535401 +1100105,41,5354,2,31,1,55,1,1,2,1,-9,4,622M,8191.0,535402 +1100105,41,5355,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,535501 +1100105,41,5355,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,535502 +1100105,41,5356,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,535601 +1100105,41,5356,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,535602 +1100105,41,5357,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,535701 +1100105,41,5357,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,535702 +1100105,41,5358,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,535801 +1100105,41,5358,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,535802 +1100105,41,5359,1,27,1,40,1,1,1,1,-9,4,5412,7280.0,535901 +1100105,41,5359,2,26,2,40,1,1,9,1,-9,4,928P,9590.0,535902 +1100105,41,5360,1,27,1,40,1,1,1,1,-9,4,5412,7280.0,536001 +1100105,41,5360,2,26,2,40,1,1,9,1,-9,4,928P,9590.0,536002 +1100105,41,5361,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,536101 +1100105,41,5361,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,536102 +1100105,41,5362,1,29,2,40,1,1,1,1,-9,4,6111,7860.0,536201 +1100105,41,5362,2,31,1,45,1,1,6,1,-9,4,5416,7390.0,536202 +1100105,41,5363,1,25,2,40,1,1,6,1,-9,4,92113,9380.0,536301 +1100105,41,5363,2,25,1,40,1,1,1,1,-9,4,336M,3570.0,536302 +1100105,41,5364,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,536401 +1100105,41,5364,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,536402 +1100105,41,5365,1,25,2,40,1,1,6,1,-9,4,92113,9380.0,536501 +1100105,41,5365,2,25,1,40,1,1,1,1,-9,4,336M,3570.0,536502 +1100105,41,5366,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,536601 +1100105,41,5366,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,536602 +1100105,41,5367,1,28,2,40,1,1,6,1,-9,4,92M2,9570.0,536701 +1100105,41,5367,2,30,1,40,1,1,1,1,-9,4,92M2,9570.0,536702 +1100105,41,5368,1,30,1,40,1,1,1,1,-9,4,8139Z,9190.0,536801 +1100105,41,5368,2,30,2,70,1,1,1,1,-9,4,92M2,9570.0,536802 +1100105,41,5369,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,536901 +1100105,41,5369,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,536902 +1100105,41,5370,1,29,1,45,1,1,1,1,-9,4,9211MP,9370.0,537001 +1100105,41,5370,2,27,1,45,1,1,1,1,-9,4,5411,7270.0,537002 +1100105,41,5371,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,537101 +1100105,41,5371,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,537102 +1100105,41,5372,1,32,1,40,1,1,1,1,15,4,5415,7380.0,537201 +1100105,41,5372,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,537202 +1100105,41,5373,1,30,1,40,1,1,1,1,-9,4,611M2,7880.0,537301 +1100105,41,5373,2,29,1,40,3,1,1,1,-9,4,5417,7460.0,537302 +1100105,41,5374,1,25,1,50,1,1,1,1,-9,4,5418,7470.0,537401 +1100105,41,5374,2,26,1,45,1,1,1,1,-9,4,813M,9170.0,537402 +1100105,41,5375,1,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,537501 +1100105,41,5375,2,30,1,50,1,1,1,1,-9,4,531M,7071.0,537502 +1100105,41,5376,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,537601 +1100105,41,5376,2,32,1,40,1,1,1,1,-9,4,9211MP,9370.0,537602 +1100105,41,5377,1,32,2,50,1,1,1,1,-9,4,5412,7280.0,537701 +1100105,41,5377,2,30,1,40,1,1,1,1,-9,2,5416,7390.0,537702 +1100105,41,5378,1,32,1,50,1,1,1,1,-9,4,92MP,9470.0,537801 +1100105,41,5378,2,28,1,40,1,1,1,1,-9,4,522M,6890.0,537802 +1100105,41,5379,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,537901 +1100105,41,5379,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,537902 +1100105,41,5380,1,29,1,40,1,1,1,1,16,4,6111,7860.0,538001 +1100105,41,5380,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,538002 +1100105,41,5381,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,538101 +1100105,41,5381,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,538102 +1100105,41,5382,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,538201 +1100105,41,5382,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,538202 +1100105,41,5383,1,31,1,40,1,1,1,1,-9,4,5241,6991.0,538301 +1100105,41,5383,2,29,2,50,1,1,1,1,-9,4,8139Z,9190.0,538302 +1100105,41,5384,1,30,1,40,1,1,1,1,-9,4,8139Z,9190.0,538401 +1100105,41,5384,2,30,2,70,1,1,1,1,-9,4,92M2,9570.0,538402 +1100105,41,5385,1,32,2,40,1,1,1,1,-9,4,928P,9590.0,538501 +1100105,41,5385,2,33,1,40,1,1,1,1,-9,4,92113,9380.0,538502 +1100105,41,5386,1,26,1,60,2,1,1,1,-9,4,531M,7071.0,538601 +1100105,41,5386,2,27,2,45,1,1,1,1,-9,4,9211MP,9370.0,538602 +1100105,41,5387,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,538701 +1100105,41,5387,2,28,2,24,2,1,1,1,-9,4,5411,7270.0,538702 +1100105,41,5388,1,31,2,50,1,1,1,1,16,4,5413,7290.0,538801 +1100105,41,5388,2,31,1,60,1,1,1,1,-9,4,5413,7290.0,538802 +1100105,41,5389,1,30,1,40,1,1,1,1,-9,4,92119,9390.0,538901 +1100105,41,5389,2,27,2,40,1,1,1,1,-9,4,531M,7071.0,538902 +1100105,41,5390,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,539001 +1100105,41,5390,2,32,1,40,1,1,1,1,-9,4,9211MP,9370.0,539002 +1100105,41,5391,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,539101 +1100105,41,5391,2,24,2,45,1,1,1,1,-9,4,5416,7390.0,539102 +1100105,41,5392,1,28,2,43,1,1,1,1,-9,4,928P,9590.0,539201 +1100105,41,5392,2,28,1,50,1,1,1,1,-9,4,9211MP,9370.0,539202 +1100105,41,5393,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,539301 +1100105,41,5393,2,30,1,50,1,1,1,1,-9,4,5415,7380.0,539302 +1100105,41,5394,1,33,1,50,1,1,1,1,-9,4,454110,5593.0,539401 +1100105,41,5394,2,32,2,45,1,1,1,1,-9,4,6241,8370.0,539402 +1100105,41,5395,1,27,1,50,1,1,1,1,-9,4,7115,8564.0,539501 +1100105,41,5395,2,27,2,45,1,1,1,1,-9,4,5191ZM,6780.0,539502 +1100105,41,5396,1,29,2,45,1,1,1,1,-9,4,5418,7470.0,539601 +1100105,41,5396,2,31,1,50,1,1,1,1,-9,4,23,770.0,539602 +1100105,41,5397,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,539701 +1100105,41,5397,2,26,2,47,1,1,1,1,-9,4,44511,4971.0,539702 +1100105,41,5398,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,539801 +1100105,41,5398,2,27,2,40,1,1,1,1,-9,4,4481,5170.0,539802 +1100105,41,5399,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,539901 +1100105,41,5399,2,28,2,24,2,1,1,1,-9,4,5411,7270.0,539902 +1100105,41,5400,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,540001 +1100105,41,5400,2,32,1,40,1,1,1,1,-9,4,5416,7390.0,540002 +1100105,41,5401,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,540101 +1100105,41,5401,2,31,2,40,1,1,1,1,-9,4,923,9480.0,540102 +1100105,41,5402,1,26,1,50,1,1,1,1,-9,4,5413,7290.0,540201 +1100105,41,5402,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,540202 +1100105,41,5403,1,29,1,45,1,1,1,1,-9,4,9211MP,9370.0,540301 +1100105,41,5403,2,27,1,45,1,1,1,1,-9,4,5411,7270.0,540302 +1100105,41,5404,1,28,1,50,1,1,1,1,16,4,611M1,7870.0,540401 +1100105,41,5404,2,30,1,50,1,1,1,1,-9,4,611M1,7870.0,540402 +1100105,41,5405,1,26,1,55,1,1,1,1,-9,4,5418,7470.0,540501 +1100105,41,5405,2,26,2,60,1,1,1,1,-9,4,5414,7370.0,540502 +1100105,41,5406,1,28,1,40,1,1,1,1,-9,4,531M,7071.0,540601 +1100105,41,5406,2,27,2,40,1,1,1,1,-9,4,722Z,8680.0,540602 +1100105,41,5407,1,31,1,45,1,1,1,1,-9,4,5416,7390.0,540701 +1100105,41,5407,2,30,2,39,1,1,1,1,-9,4,622M,8191.0,540702 +1100105,41,5408,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,540801 +1100105,41,5408,2,31,2,40,1,1,1,1,-9,4,92M2,9570.0,540802 +1100105,41,5409,1,32,2,45,1,1,1,1,-9,4,713Z,8590.0,540901 +1100105,41,5409,2,34,1,67,1,1,1,1,-9,4,928P,9590.0,540902 +1100105,41,5410,1,29,1,45,1,1,1,1,-9,4,9211MP,9370.0,541001 +1100105,41,5410,2,27,1,45,1,1,1,1,-9,4,5411,7270.0,541002 +1100105,41,5411,1,31,2,40,1,1,1,1,-9,4,611M3,7890.0,541101 +1100105,41,5411,2,32,1,40,1,1,1,1,-9,4,5416,7390.0,541102 +1100105,41,5412,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,541201 +1100105,41,5412,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,541202 +1100105,41,5413,1,31,1,50,1,1,1,1,-9,4,5415,7380.0,541301 +1100105,41,5413,2,30,2,40,1,1,1,1,-9,4,561M,7780.0,541302 +1100105,41,5414,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,541401 +1100105,41,5414,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,541402 +1100105,41,5415,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,541501 +1100105,41,5415,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,541502 +1100105,41,5416,1,31,1,40,1,1,1,1,-9,4,5241,6991.0,541601 +1100105,41,5416,2,29,2,50,1,1,1,1,-9,4,8139Z,9190.0,541602 +1100105,41,5417,1,23,1,40,1,1,1,1,-9,4,5416,7390.0,541701 +1100105,41,5417,2,23,1,40,1,1,1,1,-9,4,5415,7380.0,541702 +1100105,41,5418,1,30,2,50,1,1,1,1,-9,4,6241,8370.0,541801 +1100105,41,5418,2,29,1,45,1,1,1,1,-9,4,5415,7380.0,541802 +1100105,41,5419,1,26,2,50,1,1,1,1,-9,4,5415,7380.0,541901 +1100105,41,5419,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,541902 +1100105,41,5420,1,24,2,40,1,1,1,1,-9,4,5416,7390.0,542001 +1100105,41,5420,2,26,1,50,4,1,1,1,-9,4,443142,4795.0,542002 +1100105,41,5421,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,542101 +1100105,41,5421,2,31,2,40,1,1,1,1,-9,4,923,9480.0,542102 +1100105,41,5422,1,31,2,50,1,1,1,1,16,4,5413,7290.0,542201 +1100105,41,5422,2,31,1,60,1,1,1,1,-9,4,5413,7290.0,542202 +1100105,41,5423,1,32,1,40,1,1,1,1,15,4,5415,7380.0,542301 +1100105,41,5423,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,542302 +1100105,41,5424,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,542401 +1100105,41,5424,2,31,2,40,1,1,1,1,-9,4,923,9480.0,542402 +1100105,41,5425,1,33,2,40,1,1,1,1,-9,4,5417,7460.0,542501 +1100105,41,5425,2,32,1,40,1,1,1,1,-9,4,8139Z,9190.0,542502 +1100105,41,5426,1,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,542601 +1100105,41,5426,2,30,1,50,1,1,1,1,-9,4,531M,7071.0,542602 +1100105,41,5427,1,32,1,40,1,1,1,1,-9,4,813M,9170.0,542701 +1100105,41,5427,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,542702 +1100105,41,5428,1,32,2,45,1,1,1,1,-9,4,713Z,8590.0,542801 +1100105,41,5428,2,34,1,67,1,1,1,1,-9,4,928P,9590.0,542802 +1100105,41,5429,1,30,2,50,1,1,1,1,-9,4,5415,7380.0,542901 +1100105,41,5429,2,30,2,40,1,1,1,1,-9,4,622M,8191.0,542902 +1100105,41,5430,1,27,2,60,1,1,1,1,-9,4,713Z,8590.0,543001 +1100105,41,5430,2,29,1,65,1,1,1,1,-9,4,52M1,6870.0,543002 +1100105,41,5431,1,25,1,50,1,1,1,1,-9,4,5418,7470.0,543101 +1100105,41,5431,2,26,1,45,1,1,1,1,-9,4,813M,9170.0,543102 +1100105,41,5432,1,26,2,50,1,1,1,1,-9,4,5415,7380.0,543201 +1100105,41,5432,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,543202 +1100105,41,5433,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,543301 +1100105,41,5433,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,543302 +1100105,41,5434,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,543401 +1100105,41,5434,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,543402 +1100105,41,5435,1,28,1,50,1,1,1,1,16,4,611M1,7870.0,543501 +1100105,41,5435,2,30,1,50,1,1,1,1,-9,4,611M1,7870.0,543502 +1100105,41,5436,1,32,1,50,1,1,1,1,-9,4,92MP,9470.0,543601 +1100105,41,5436,2,28,1,40,1,1,1,1,-9,4,522M,6890.0,543602 +1100105,41,5437,1,32,2,40,1,1,1,1,-9,4,928P,9590.0,543701 +1100105,41,5437,2,33,1,40,1,1,1,1,-9,4,92113,9380.0,543702 +1100105,41,5438,1,29,1,40,1,1,1,1,16,4,6111,7860.0,543801 +1100105,41,5438,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,543802 +1100105,41,5439,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,543901 +1100105,41,5439,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,543902 +1100105,41,5440,1,26,1,50,1,1,1,1,-9,4,5413,7290.0,544001 +1100105,41,5440,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,544002 +1100105,41,5441,1,28,1,42,5,1,1,1,-9,4,5416,7390.0,544101 +1100105,41,5441,2,27,2,55,1,1,1,1,-9,4,5416,7390.0,544102 +1100105,41,5442,1,28,1,50,1,1,1,1,16,4,611M1,7870.0,544201 +1100105,41,5442,2,30,1,50,1,1,1,1,-9,4,611M1,7870.0,544202 +1100105,41,5443,1,31,1,50,1,1,1,1,-9,4,5415,7380.0,544301 +1100105,41,5443,2,30,2,40,1,1,1,1,-9,4,561M,7780.0,544302 +1100105,41,5444,1,29,1,40,1,1,1,1,16,4,6111,7860.0,544401 +1100105,41,5444,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,544402 +1100105,41,5445,1,31,2,50,1,1,1,1,16,4,5413,7290.0,544501 +1100105,41,5445,2,31,1,60,1,1,1,1,-9,4,5413,7290.0,544502 +1100105,41,5446,1,27,1,38,1,1,1,1,-9,4,5416,7390.0,544601 +1100105,41,5446,2,26,2,50,1,1,1,1,-9,4,52M2,6970.0,544602 +1100105,41,5447,1,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,544701 +1100105,41,5447,2,30,1,50,1,1,1,1,-9,4,531M,7071.0,544702 +1100105,41,5448,1,32,1,40,1,1,1,1,-9,4,813M,9170.0,544801 +1100105,41,5448,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,544802 +1100105,41,5449,1,26,2,55,1,1,1,1,-9,4,5412,7280.0,544901 +1100105,41,5449,2,26,1,65,1,1,1,1,16,4,531M,7071.0,544902 +1100105,41,5450,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,545001 +1100105,41,5450,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,545002 +1100105,41,5451,1,33,2,40,1,1,9,24,16,4,5417,7460.0,545101 +1100105,41,5451,2,34,1,40,1,1,2,1,-9,4,522M,6890.0,545102 +1100105,41,5452,1,33,2,40,1,1,9,24,16,4,5417,7460.0,545201 +1100105,41,5452,2,34,1,40,1,1,2,1,-9,4,522M,6890.0,545202 +1100105,41,5453,1,29,2,45,1,1,1,3,-9,4,515,6670.0,545301 +1100105,41,5453,2,34,1,45,1,1,1,1,-9,2,5413,7290.0,545302 +1100105,41,5454,1,31,1,50,1,1,1,1,-9,4,92MP,9470.0,545401 +1100105,41,5454,2,32,2,35,4,1,1,24,-9,4,622M,8191.0,545402 +1100105,41,5455,1,31,1,50,1,1,1,1,-9,4,92MP,9470.0,545501 +1100105,41,5455,2,32,2,35,4,1,1,24,-9,4,622M,8191.0,545502 +1100105,41,5456,1,30,2,50,3,1,1,1,-9,4,813M,9170.0,545601 +1100105,41,5456,2,33,1,50,1,1,1,2,-9,4,5415,7380.0,545602 +1100105,41,5457,1,23,1,40,1,1,1,19,-9,4,5419Z,7490.0,545701 +1100105,41,5457,2,23,1,45,1,1,1,1,-9,4,5412,7280.0,545702 +1100105,41,5458,1,28,1,60,1,1,1,1,-9,4,813M,9170.0,545801 +1100105,41,5458,2,29,2,60,1,1,8,2,-9,4,5191ZM,6780.0,545802 +1100105,41,5459,1,30,2,50,3,1,1,1,-9,4,813M,9170.0,545901 +1100105,41,5459,2,33,1,50,1,1,1,2,-9,4,5415,7380.0,545902 +1100105,41,5460,1,31,1,50,1,1,1,1,-9,4,92MP,9470.0,546001 +1100105,41,5460,2,32,2,35,4,1,1,24,-9,4,622M,8191.0,546002 +1100105,41,5461,1,33,1,40,1,1,1,3,-9,4,923,9480.0,546101 +1100105,41,5461,2,32,2,40,1,1,1,1,-9,4,454110,5593.0,546102 +1100105,41,5462,1,28,2,50,1,1,1,1,16,4,52M2,6970.0,546201 +1100105,41,5462,2,28,1,60,1,1,1,9,-9,4,492,6380.0,546202 +1100105,41,5463,1,74,2,40,1,1,1,1,-9,2,923,9480.0,546301 +1100105,41,5463,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,546302 +1100105,41,5464,1,59,2,40,1,1,2,1,-9,4,92MP,9470.0,546401 +1100105,41,5464,2,64,1,-9,-9,6,2,1,-9,2,0,0.0,546402 +1100105,41,5465,1,54,1,60,1,1,1,1,-9,4,522M,6890.0,546501 +1100105,41,5465,2,54,2,-9,-9,6,1,1,-9,4,0,0.0,546502 +1100105,41,5466,1,43,1,40,4,3,1,1,-9,4,9211MP,9370.0,546601 +1100105,41,5466,2,54,2,45,4,1,1,1,-9,4,488,6290.0,546602 +1100105,41,5467,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,546701 +1100105,41,5467,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,546702 +1100105,41,5468,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,546801 +1100105,41,5468,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,546802 +1100105,41,5469,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,546901 +1100105,41,5469,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,546902 +1100105,41,5470,1,30,2,50,1,1,1,1,-9,4,81393,9180.0,547001 +1100105,41,5470,2,33,1,65,3,3,1,1,-9,4,8139Z,9190.0,547002 +1100105,41,5471,1,31,2,50,3,3,1,1,-9,4,454110,5593.0,547101 +1100105,41,5471,2,32,1,60,1,1,1,1,-9,4,9211MP,9370.0,547102 +1100105,41,5472,1,30,1,40,1,1,1,1,-9,4,92MP,9470.0,547201 +1100105,41,5472,2,27,2,18,3,6,1,1,-9,4,713Z,8590.0,547202 +1100105,41,5473,1,24,2,-9,-9,6,6,2,16,4,813M,9170.0,547301 +1100105,41,5473,2,26,2,70,1,1,1,1,-9,4,5411,7270.0,547302 +1100105,41,5474,1,32,2,-9,-9,6,1,1,-9,4,3121,1370.0,547401 +1100105,41,5474,2,31,2,60,1,1,1,2,16,4,454110,5593.0,547402 +1100105,41,5475,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,547501 +1100105,41,5475,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,547502 +1100105,41,5476,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,547601 +1100105,41,5476,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,547602 +1100105,41,5477,1,70,2,40,1,1,2,1,-9,4,51912,6770.0,547701 +1100105,41,5477,2,36,1,40,1,1,2,1,-9,4,23,770.0,547702 +1100105,41,5478,1,51,1,15,1,1,6,1,-9,4,5413,7290.0,547801 +1100105,41,5478,2,47,2,45,1,1,6,1,-9,4,5415,7380.0,547802 +1100105,41,5479,1,35,2,45,1,1,2,1,-9,4,7211,8660.0,547901 +1100105,41,5479,2,40,1,50,1,1,2,1,-9,4,488,6290.0,547902 +1100105,41,5480,1,35,1,40,1,1,1,1,-9,4,5415,7380.0,548001 +1100105,41,5480,2,35,2,10,5,1,6,1,-9,4,611M3,7890.0,548002 +1100105,41,5481,1,43,1,40,1,1,2,1,-9,3,812112,8980.0,548101 +1100105,41,5481,2,43,1,40,1,1,1,1,-9,4,5411,7270.0,548102 +1100105,41,5482,1,41,2,10,1,1,1,1,-9,4,5111Z,6480.0,548201 +1100105,41,5482,2,43,1,40,1,1,1,1,-9,4,52M2,6970.0,548202 +1100105,41,5483,1,43,1,40,1,1,1,1,-9,4,5415,7380.0,548301 +1100105,41,5483,2,36,2,50,1,1,1,1,-9,4,5413,7290.0,548302 +1100105,41,5484,1,48,1,60,1,1,1,1,-9,4,6111,7860.0,548401 +1100105,41,5484,2,43,2,45,1,1,1,1,-9,4,515,6670.0,548402 +1100105,41,5485,1,39,1,40,1,1,1,1,-9,4,5417,7460.0,548501 +1100105,41,5485,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,548502 +1100105,41,5486,1,39,1,40,1,1,1,1,-9,4,5417,7460.0,548601 +1100105,41,5486,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,548602 +1100105,41,5487,1,41,2,10,1,1,1,1,-9,4,5111Z,6480.0,548701 +1100105,41,5487,2,43,1,40,1,1,1,1,-9,4,52M2,6970.0,548702 +1100105,41,5488,1,46,1,40,3,1,8,3,-9,4,23,770.0,548801 +1100105,41,5488,2,46,1,40,3,1,2,1,-9,4,611M1,7870.0,548802 +1100105,41,5489,1,46,1,40,3,1,8,3,-9,4,23,770.0,548901 +1100105,41,5489,2,46,1,40,3,1,2,1,-9,4,611M1,7870.0,548902 +1100105,41,5490,1,63,1,40,5,1,1,1,-9,4,611M1,7870.0,549001 +1100105,41,5490,2,44,2,42,1,1,1,13,16,4,814,9290.0,549002 +1100105,41,5491,1,63,1,40,5,1,1,1,-9,4,611M1,7870.0,549101 +1100105,41,5491,2,44,2,42,1,1,1,13,16,4,814,9290.0,549102 +1100105,41,5492,1,45,1,30,4,2,1,1,-9,4,928P,9590.0,549201 +1100105,41,5492,2,40,2,45,1,1,1,14,-9,4,611M3,7890.0,549202 +1100105,41,5493,1,63,1,40,5,1,1,1,-9,4,611M1,7870.0,549301 +1100105,41,5493,2,44,2,42,1,1,1,13,16,4,814,9290.0,549302 +1100105,41,5494,1,51,1,38,1,1,2,3,-9,2,6111,7860.0,549401 +1100105,41,5494,2,40,1,40,1,1,5,10,-9,4,4539,5580.0,549402 +1100105,41,5495,1,51,1,38,1,1,2,3,-9,2,6111,7860.0,549501 +1100105,41,5495,2,40,1,40,1,1,5,10,-9,4,4539,5580.0,549502 +1100105,41,5496,1,51,2,40,1,1,2,1,-9,4,622M,8191.0,549601 +1100105,41,5496,2,33,1,40,1,1,2,1,-9,4,611M1,7870.0,549602 +1100105,41,5497,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,549701 +1100105,41,5497,2,32,1,40,1,1,9,1,-9,4,52M2,6970.0,549702 +1100105,41,5498,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,549801 +1100105,41,5498,2,32,1,40,1,1,9,1,-9,4,52M2,6970.0,549802 +1100105,41,5499,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,549901 +1100105,41,5499,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,549902 +1100105,41,5500,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,550001 +1100105,41,5500,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,550002 +1100105,41,5501,1,37,1,70,1,1,1,1,-9,4,5415,7380.0,550101 +1100105,41,5501,2,31,2,50,1,1,1,1,16,4,6111,7860.0,550102 +1100105,41,5502,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,550201 +1100105,41,5502,2,42,1,40,1,1,1,1,-9,4,5415,7380.0,550202 +1100105,41,5503,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,550301 +1100105,41,5503,2,42,1,40,1,1,1,1,-9,4,5415,7380.0,550302 +1100105,41,5504,1,51,1,30,3,1,1,1,-9,4,611M3,7890.0,550401 +1100105,41,5504,2,34,1,42,1,1,1,1,-9,4,813M,9170.0,550402 +1100105,41,5505,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,550501 +1100105,41,5505,2,42,1,40,1,1,1,1,-9,4,5415,7380.0,550502 +1100105,41,5506,1,51,1,30,3,1,1,1,-9,4,611M3,7890.0,550601 +1100105,41,5506,2,34,1,42,1,1,1,1,-9,4,813M,9170.0,550602 +1100105,41,5507,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,550701 +1100105,41,5507,2,52,1,45,1,1,2,1,-9,4,481,6070.0,550702 +1100105,41,5508,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,550801 +1100105,41,5508,2,52,1,45,1,1,2,1,-9,4,481,6070.0,550802 +1100105,41,5509,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,550901 +1100105,41,5509,2,52,1,45,1,1,2,1,-9,4,481,6070.0,550902 +1100105,41,5510,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,551001 +1100105,41,5510,2,52,1,45,1,1,2,1,-9,4,481,6070.0,551002 +1100105,41,5511,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,551101 +1100105,41,5511,2,52,1,45,1,1,2,1,-9,4,481,6070.0,551102 +1100105,41,5512,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,551201 +1100105,41,5512,2,52,1,45,1,1,2,1,-9,4,481,6070.0,551202 +1100105,41,5513,1,33,2,40,1,1,1,3,-9,4,6111,7860.0,551301 +1100105,41,5513,2,36,1,40,1,1,1,1,-9,4,92M2,9570.0,551302 +1100105,41,5514,1,39,1,45,1,1,1,1,-9,2,51913,6672.0,551401 +1100105,41,5514,2,30,1,50,2,1,8,7,-9,4,4481,5170.0,551402 +1100105,41,5515,1,39,1,45,1,1,1,1,-9,2,51913,6672.0,551501 +1100105,41,5515,2,30,1,50,2,1,8,7,-9,4,4481,5170.0,551502 +1100105,41,5516,1,32,1,50,1,1,1,2,-9,4,51111,6470.0,551601 +1100105,41,5516,2,35,2,40,1,1,1,1,-9,4,5414,7370.0,551602 +1100105,41,5517,1,39,1,45,1,1,1,1,-9,2,51913,6672.0,551701 +1100105,41,5517,2,30,1,50,2,1,8,7,-9,4,4481,5170.0,551702 +1100105,41,5518,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,551801 +1100105,41,5518,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,551802 +1100105,41,5519,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,551901 +1100105,41,5519,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,551902 +1100105,41,5520,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,552001 +1100105,41,5520,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,552002 +1100105,41,5521,1,37,2,40,3,1,8,13,-9,4,52M1,6870.0,552101 +1100105,41,5521,2,34,1,40,3,1,8,23,-9,4,52M1,6870.0,552102 +1100105,41,5522,1,37,2,40,3,1,8,13,-9,4,52M1,6870.0,552201 +1100105,41,5522,2,34,1,40,3,1,8,23,-9,4,52M1,6870.0,552202 +1100105,41,5523,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,552301 +1100105,41,5523,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,552302 +1100105,41,5524,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,552401 +1100105,41,5524,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,552402 +1100105,41,5525,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,552501 +1100105,41,5525,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,552502 +1100105,41,5526,1,27,2,80,2,1,9,1,-9,4,622M,8191.0,552601 +1100105,41,5526,2,25,2,45,1,1,6,1,-9,4,5416,7390.0,552602 +1100105,41,5527,1,32,1,50,1,1,6,1,-9,4,9211MP,9370.0,552701 +1100105,41,5527,2,32,2,30,1,1,6,1,16,4,611M1,7870.0,552702 +1100105,41,5528,1,34,2,37,1,1,9,1,-9,4,5416,7390.0,552801 +1100105,41,5528,2,31,1,40,1,1,2,1,-9,4,7111,8561.0,552802 +1100105,41,5529,1,34,2,37,1,1,9,1,-9,4,5416,7390.0,552901 +1100105,41,5529,2,31,1,40,1,1,2,1,-9,4,7111,8561.0,552902 +1100105,41,5530,1,33,2,40,1,1,6,1,16,4,813M,9170.0,553001 +1100105,41,5530,2,29,1,40,1,1,2,1,-9,4,713Z,8590.0,553002 +1100105,41,5531,1,30,2,40,1,1,2,1,-9,4,561M,7780.0,553101 +1100105,41,5531,2,29,2,35,3,1,2,1,-9,4,5412,7280.0,553102 +1100105,41,5532,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,553201 +1100105,41,5532,2,25,2,40,3,1,9,1,-9,4,6111,7860.0,553202 +1100105,41,5533,1,27,2,40,1,1,9,1,-9,4,928P,9590.0,553301 +1100105,41,5533,2,28,2,50,1,1,1,1,-9,4,928P,9590.0,553302 +1100105,41,5534,1,27,2,40,1,1,9,1,-9,4,928P,9590.0,553401 +1100105,41,5534,2,28,2,50,1,1,1,1,-9,4,928P,9590.0,553402 +1100105,41,5535,1,29,1,50,1,1,1,1,-9,4,5313,7072.0,553501 +1100105,41,5535,2,28,2,40,1,1,9,1,-9,4,5417,7460.0,553502 +1100105,41,5536,1,24,2,40,1,1,9,1,-9,4,23,770.0,553601 +1100105,41,5536,2,27,1,57,1,1,1,1,-9,4,7211,8660.0,553602 +1100105,41,5537,1,28,2,40,1,1,9,1,-9,4,928P,9590.0,553701 +1100105,41,5537,2,25,1,40,1,1,1,1,16,4,928P,9590.0,553702 +1100105,41,5538,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,553801 +1100105,41,5538,2,32,2,40,4,1,3,1,-9,4,6214,8090.0,553802 +1100105,41,5539,1,27,2,40,1,1,9,1,-9,4,928P,9590.0,553901 +1100105,41,5539,2,28,2,50,1,1,1,1,-9,4,928P,9590.0,553902 +1100105,41,5540,1,27,2,40,1,1,9,1,-9,4,5416,7390.0,554001 +1100105,41,5540,2,27,2,40,1,1,1,1,-9,4,713Z,8590.0,554002 +1100105,41,5541,1,24,2,40,1,1,1,1,16,4,5413,7290.0,554101 +1100105,41,5541,2,25,2,40,1,1,9,1,-9,4,622M,8191.0,554102 +1100105,41,5542,1,27,2,40,1,1,9,1,-9,4,928P,9590.0,554201 +1100105,41,5542,2,28,2,50,1,1,1,1,-9,4,928P,9590.0,554202 +1100105,41,5543,1,24,1,45,1,1,9,1,-9,4,5419Z,7490.0,554301 +1100105,41,5543,2,24,2,45,1,1,1,1,-9,4,5419Z,7490.0,554302 +1100105,41,5544,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,554401 +1100105,41,5544,2,32,2,40,4,1,3,1,-9,4,6214,8090.0,554402 +1100105,41,5545,1,27,2,40,1,1,9,1,-9,4,5416,7390.0,554501 +1100105,41,5545,2,27,2,40,1,1,1,1,-9,4,713Z,8590.0,554502 +1100105,41,5546,1,27,2,40,1,1,9,1,-9,4,928P,9590.0,554601 +1100105,41,5546,2,28,2,50,1,1,1,1,-9,4,928P,9590.0,554602 +1100105,41,5547,1,27,2,40,1,1,9,1,-9,4,928P,9590.0,554701 +1100105,41,5547,2,28,2,50,1,1,1,1,-9,4,928P,9590.0,554702 +1100105,41,5548,1,29,1,50,1,1,1,1,-9,4,5313,7072.0,554801 +1100105,41,5548,2,28,2,40,1,1,9,1,-9,4,5417,7460.0,554802 +1100105,41,5549,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,554901 +1100105,41,5549,2,32,2,40,4,1,3,1,-9,4,6214,8090.0,554902 +1100105,41,5550,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,555001 +1100105,41,5550,2,25,2,40,4,1,6,1,-9,4,813M,9170.0,555002 +1100105,41,5551,1,27,2,40,1,1,6,1,-9,4,622M,8191.0,555101 +1100105,41,5551,2,27,1,50,1,1,1,1,16,4,51111,6470.0,555102 +1100105,41,5552,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,555201 +1100105,41,5552,2,25,2,40,4,1,6,1,-9,4,813M,9170.0,555202 +1100105,41,5553,1,28,2,50,1,1,6,1,-9,4,92MP,9470.0,555301 +1100105,41,5553,2,29,2,40,1,1,1,1,-9,4,5221M,6880.0,555302 +1100105,41,5554,1,25,2,50,1,1,6,1,16,4,611M3,7890.0,555401 +1100105,41,5554,2,25,2,60,1,1,1,1,16,4,6111,7860.0,555402 +1100105,41,5555,1,25,2,50,1,1,6,1,16,4,611M3,7890.0,555501 +1100105,41,5555,2,25,2,60,1,1,1,1,16,4,6111,7860.0,555502 +1100105,41,5556,1,26,2,37,1,1,1,1,-9,4,5418,7470.0,555601 +1100105,41,5556,2,26,2,50,1,1,6,1,-9,4,5416,7390.0,555602 +1100105,41,5557,1,24,2,65,1,1,1,1,-9,4,7224,8690.0,555701 +1100105,41,5557,2,24,2,50,3,1,2,1,-9,4,722Z,8680.0,555702 +1100105,41,5558,1,29,2,40,1,1,1,1,-9,4,5419Z,7490.0,555801 +1100105,41,5558,2,31,1,45,1,1,2,1,-9,4,23,770.0,555802 +1100105,41,5559,1,28,2,70,1,1,1,1,-9,4,928P,9590.0,555901 +1100105,41,5559,2,31,2,40,1,1,1,1,-9,4,531M,7071.0,555902 +1100105,41,5560,1,33,1,60,1,1,1,1,-9,4,622M,8191.0,556001 +1100105,41,5560,2,30,2,40,1,1,1,1,-9,4,923,9480.0,556002 +1100105,41,5561,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,556101 +1100105,41,5561,2,27,2,50,1,1,1,1,-9,4,5121,6570.0,556102 +1100105,41,5562,1,31,1,70,1,1,1,1,-9,4,8139Z,9190.0,556201 +1100105,41,5562,2,27,2,50,1,1,1,1,-9,4,6111,7860.0,556202 +1100105,41,5563,1,34,1,40,1,1,1,1,-9,4,5415,7380.0,556301 +1100105,41,5563,2,31,2,40,1,1,1,1,-9,4,813M,9170.0,556302 +1100105,41,5564,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,556401 +1100105,41,5564,2,29,2,50,1,1,1,1,16,4,611M1,7870.0,556402 +1100105,41,5565,1,24,2,48,1,1,1,1,-9,4,5416,7390.0,556501 +1100105,41,5565,2,27,2,48,1,1,1,1,-9,4,5416,7390.0,556502 +1100105,41,5566,1,28,2,40,1,1,1,1,-9,4,928P,9590.0,556601 +1100105,41,5566,2,29,1,40,1,1,1,1,-9,4,712,8570.0,556602 +1100105,41,5567,1,28,1,45,1,1,1,1,-9,4,5417,7460.0,556701 +1100105,41,5567,2,30,2,45,1,1,1,1,-9,4,5417,7460.0,556702 +1100105,41,5568,1,27,2,30,1,1,1,1,-9,4,5417,7460.0,556801 +1100105,41,5568,2,27,1,45,1,1,1,1,-9,4,8139Z,9190.0,556802 +1100105,41,5569,1,30,2,40,1,1,1,1,-9,4,8139Z,9190.0,556901 +1100105,41,5569,2,29,2,48,1,1,1,1,-9,4,813M,9170.0,556902 +1100105,41,5570,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,557001 +1100105,41,5570,2,29,1,55,6,1,1,1,-9,4,5411,7270.0,557002 +1100105,41,5571,1,24,2,48,1,1,1,1,-9,4,5416,7390.0,557101 +1100105,41,5571,2,27,2,48,1,1,1,1,-9,4,5416,7390.0,557102 +1100105,41,5572,1,27,1,40,1,1,1,1,-9,4,5121,6570.0,557201 +1100105,41,5572,2,30,1,40,1,1,1,1,-9,4,813M,9170.0,557202 +1100105,41,5573,1,29,2,45,1,1,1,1,-9,4,5416,7390.0,557301 +1100105,41,5573,2,31,1,45,1,1,1,1,-9,4,81393,9180.0,557302 +1100105,41,5574,1,32,1,40,1,1,1,1,-9,4,4453,4990.0,557401 +1100105,41,5574,2,32,2,45,1,1,1,1,-9,4,722Z,8680.0,557402 +1100105,41,5575,1,26,1,50,1,1,1,1,-9,4,5242,6992.0,557501 +1100105,41,5575,2,24,2,32,1,1,1,1,-9,4,6211,7970.0,557502 +1100105,41,5576,1,26,1,50,1,1,1,1,-9,4,923,9480.0,557601 +1100105,41,5576,2,29,2,50,1,1,1,1,-9,4,611M3,7890.0,557602 +1100105,41,5577,1,24,1,50,1,1,1,1,-9,4,5415,7380.0,557701 +1100105,41,5577,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,557702 +1100105,41,5578,1,30,1,50,1,1,1,1,-9,4,5111Z,6480.0,557801 +1100105,41,5578,2,30,2,40,1,1,1,1,-9,4,813M,9170.0,557802 +1100105,41,5579,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,557901 +1100105,41,5579,2,24,2,60,1,1,1,1,-9,4,5416,7390.0,557902 +1100105,41,5580,1,28,2,45,1,1,1,1,-9,4,92MP,9470.0,558001 +1100105,41,5580,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,558002 +1100105,41,5581,1,28,2,45,1,1,1,1,-9,4,813M,9170.0,558101 +1100105,41,5581,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,558102 +1100105,41,5582,1,29,2,40,3,1,1,1,-9,4,6111,7860.0,558201 +1100105,41,5582,2,29,1,40,1,1,1,1,-9,4,5419Z,7490.0,558202 +1100105,41,5583,1,28,2,40,2,1,1,1,-9,4,622M,8191.0,558301 +1100105,41,5583,2,27,1,50,1,1,1,1,-9,4,5412,7280.0,558302 +1100105,41,5584,1,29,2,40,1,1,1,1,-9,4,55,7570.0,558401 +1100105,41,5584,2,31,1,40,1,1,1,1,-9,4,722Z,8680.0,558402 +1100105,41,5585,1,31,1,70,1,1,1,1,-9,4,8139Z,9190.0,558501 +1100105,41,5585,2,27,2,50,1,1,1,1,-9,4,6111,7860.0,558502 +1100105,41,5586,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,558601 +1100105,41,5586,2,33,1,50,1,1,1,1,-9,4,6111,7860.0,558602 +1100105,41,5587,1,25,2,45,1,1,1,1,-9,4,81393,9180.0,558701 +1100105,41,5587,2,25,2,40,1,1,1,1,16,4,5416,7390.0,558702 +1100105,41,5588,1,29,1,40,1,1,1,1,-9,4,92M2,9570.0,558801 +1100105,41,5588,2,28,2,35,1,1,1,1,-9,4,713Z,8590.0,558802 +1100105,41,5589,1,24,2,40,1,1,1,1,16,4,5416,7390.0,558901 +1100105,41,5589,2,23,2,40,1,1,1,1,-9,4,722Z,8680.0,558902 +1100105,41,5590,1,33,1,60,1,1,1,1,-9,4,622M,8191.0,559001 +1100105,41,5590,2,30,2,40,1,1,1,1,-9,4,923,9480.0,559002 +1100105,41,5591,1,33,1,40,1,1,1,1,16,4,6111,7860.0,559101 +1100105,41,5591,2,29,1,40,1,1,1,1,-9,4,813M,9170.0,559102 +1100105,41,5592,1,26,1,45,1,1,1,1,-9,4,5411,7270.0,559201 +1100105,41,5592,2,26,1,50,1,1,1,1,16,4,5411,7270.0,559202 +1100105,41,5593,1,25,1,50,1,1,1,1,-9,4,5415,7380.0,559301 +1100105,41,5593,2,25,2,45,1,1,1,1,-9,4,522M,6890.0,559302 +1100105,41,5594,1,28,2,45,1,1,1,1,-9,4,92MP,9470.0,559401 +1100105,41,5594,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,559402 +1100105,41,5595,1,27,2,30,1,1,1,1,-9,4,5417,7460.0,559501 +1100105,41,5595,2,27,1,45,1,1,1,1,-9,4,8139Z,9190.0,559502 +1100105,41,5596,1,31,2,50,1,1,1,1,-9,4,928P,9590.0,559601 +1100105,41,5596,2,33,1,40,1,1,1,1,-9,4,611M1,7870.0,559602 +1100105,41,5597,1,26,2,40,1,1,1,1,-9,4,5417,7460.0,559701 +1100105,41,5597,2,27,2,40,1,1,1,1,-9,4,622M,8191.0,559702 +1100105,41,5598,1,33,1,40,1,1,1,1,-9,4,611M1,7870.0,559801 +1100105,41,5598,2,31,2,40,1,1,1,1,-9,4,813M,9170.0,559802 +1100105,41,5599,1,24,1,76,1,1,1,1,-9,4,622M,8191.0,559901 +1100105,41,5599,2,24,1,30,3,1,1,1,16,4,92M2,9570.0,559902 +1100105,41,5600,1,29,2,40,1,1,1,1,-9,4,55,7570.0,560001 +1100105,41,5600,2,31,1,40,1,1,1,1,-9,4,722Z,8680.0,560002 +1100105,41,5601,1,24,1,76,1,1,1,1,-9,4,622M,8191.0,560101 +1100105,41,5601,2,24,1,30,3,1,1,1,16,4,92M2,9570.0,560102 +1100105,41,5602,1,34,1,40,1,1,1,1,-9,4,5415,7380.0,560201 +1100105,41,5602,2,31,2,40,1,1,1,1,-9,4,813M,9170.0,560202 +1100105,41,5603,1,27,2,40,1,1,1,1,-9,4,5417,7460.0,560301 +1100105,41,5603,2,29,1,40,1,1,1,1,-9,4,5415,7380.0,560302 +1100105,41,5604,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,560401 +1100105,41,5604,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,560402 +1100105,41,5605,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,560501 +1100105,41,5605,2,27,2,50,1,1,1,1,-9,4,5121,6570.0,560502 +1100105,41,5606,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,560601 +1100105,41,5606,2,30,1,45,1,1,1,1,-9,4,4248,4560.0,560602 +1100105,41,5607,1,25,1,60,1,1,1,1,-9,4,5415,7380.0,560701 +1100105,41,5607,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,560702 +1100105,41,5608,1,30,2,40,1,1,1,1,-9,4,8139Z,9190.0,560801 +1100105,41,5608,2,29,2,48,1,1,1,1,-9,4,813M,9170.0,560802 +1100105,41,5609,1,27,2,30,1,1,1,1,-9,4,5417,7460.0,560901 +1100105,41,5609,2,27,1,45,1,1,1,1,-9,4,8139Z,9190.0,560902 +1100105,41,5610,1,28,2,45,3,1,1,1,-9,4,6111,7860.0,561001 +1100105,41,5610,2,28,1,42,2,1,1,1,-9,4,813M,9170.0,561002 +1100105,41,5611,1,25,1,60,1,1,1,1,-9,4,5415,7380.0,561101 +1100105,41,5611,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,561102 +1100105,41,5612,1,22,2,40,1,1,1,1,-9,4,5416,7390.0,561201 +1100105,41,5612,2,22,2,45,1,1,1,1,16,4,722Z,8680.0,561202 +1100105,41,5613,1,32,1,65,1,1,1,1,-9,4,9211MP,9370.0,561301 +1100105,41,5613,2,29,1,50,1,1,1,1,-9,4,515,6670.0,561302 +1100105,41,5614,1,28,1,45,1,1,1,1,-9,4,5417,7460.0,561401 +1100105,41,5614,2,30,2,45,1,1,1,1,-9,4,5417,7460.0,561402 +1100105,41,5615,1,26,2,41,1,1,1,1,-9,4,5413,7290.0,561501 +1100105,41,5615,2,26,2,40,1,1,1,1,-9,4,813M,9170.0,561502 +1100105,41,5616,1,26,2,41,1,1,1,1,-9,4,5413,7290.0,561601 +1100105,41,5616,2,26,2,40,1,1,1,1,-9,4,813M,9170.0,561602 +1100105,41,5617,1,32,1,65,1,1,1,1,-9,4,9211MP,9370.0,561701 +1100105,41,5617,2,29,1,50,1,1,1,1,-9,4,515,6670.0,561702 +1100105,41,5618,1,32,1,60,1,1,1,1,-9,4,622M,8191.0,561801 +1100105,41,5618,2,26,2,40,2,1,1,1,16,4,622M,8191.0,561802 +1100105,41,5619,1,33,1,45,1,1,1,1,-9,4,92M2,9570.0,561901 +1100105,41,5619,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,561902 +1100105,41,5620,1,26,2,40,1,1,1,1,-9,4,92M2,9570.0,562001 +1100105,41,5620,2,26,1,40,1,1,1,1,-9,4,44511,4971.0,562002 +1100105,41,5621,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,562101 +1100105,41,5621,2,29,2,50,1,1,1,1,16,4,611M1,7870.0,562102 +1100105,41,5622,1,31,1,70,1,1,1,1,-9,4,8139Z,9190.0,562201 +1100105,41,5622,2,27,2,50,1,1,1,1,-9,4,6111,7860.0,562202 +1100105,41,5623,1,31,1,55,1,1,1,1,-9,4,5416,7390.0,562301 +1100105,41,5623,2,28,2,55,1,1,1,1,-9,4,6242,8380.0,562302 +1100105,41,5624,1,28,1,45,1,1,1,1,-9,4,5417,7460.0,562401 +1100105,41,5624,2,30,2,45,1,1,1,1,-9,4,5417,7460.0,562402 +1100105,41,5625,1,28,1,40,1,1,1,1,-9,4,5417,7460.0,562501 +1100105,41,5625,2,28,2,40,1,1,1,1,-9,4,611M3,7890.0,562502 +1100105,41,5626,1,29,1,50,1,1,1,1,-9,4,5417,7460.0,562601 +1100105,41,5626,2,28,2,50,1,1,1,1,-9,4,8139Z,9190.0,562602 +1100105,41,5627,1,33,1,45,1,1,1,1,-9,4,92M2,9570.0,562701 +1100105,41,5627,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,562702 +1100105,41,5628,1,27,1,40,1,1,1,1,-9,4,5121,6570.0,562801 +1100105,41,5628,2,30,1,40,1,1,1,1,-9,4,813M,9170.0,562802 +1100105,41,5629,1,22,2,40,1,1,1,1,-9,4,5416,7390.0,562901 +1100105,41,5629,2,22,2,45,1,1,1,1,16,4,722Z,8680.0,562902 +1100105,41,5630,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,563001 +1100105,41,5630,2,27,1,45,1,1,1,1,-9,4,5411,7270.0,563002 +1100105,41,5631,1,28,2,50,1,1,1,1,-9,4,92MP,9470.0,563101 +1100105,41,5631,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,563102 +1100105,41,5632,1,27,1,50,1,1,1,1,-9,4,515,6670.0,563201 +1100105,41,5632,2,26,1,40,1,1,1,1,-9,4,5416,7390.0,563202 +1100105,41,5633,1,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,563301 +1100105,41,5633,2,26,2,40,1,1,1,1,-9,4,3391,3960.0,563302 +1100105,41,5634,1,33,1,45,1,1,1,1,-9,4,92M2,9570.0,563401 +1100105,41,5634,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,563402 +1100105,41,5635,1,27,1,40,1,1,1,1,-9,4,5121,6570.0,563501 +1100105,41,5635,2,30,1,40,1,1,1,1,-9,4,813M,9170.0,563502 +1100105,41,5636,1,25,1,40,1,1,1,1,-9,4,531M,7071.0,563601 +1100105,41,5636,2,24,1,46,1,1,1,1,-9,4,5416,7390.0,563602 +1100105,41,5637,1,28,2,50,1,1,1,1,-9,4,8131,9160.0,563701 +1100105,41,5637,2,32,1,40,1,1,1,1,-9,4,611M3,7890.0,563702 +1100105,41,5638,1,31,2,50,1,1,1,1,-9,4,928P,9590.0,563801 +1100105,41,5638,2,33,1,40,1,1,1,1,-9,4,611M1,7870.0,563802 +1100105,41,5639,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,563901 +1100105,41,5639,2,30,1,45,1,1,1,1,-9,4,4248,4560.0,563902 +1100105,41,5640,1,29,1,40,1,1,1,1,-9,2,5411,7270.0,564001 +1100105,41,5640,2,27,2,40,1,1,1,1,-9,4,5418,7470.0,564002 +1100105,41,5641,1,26,2,41,1,1,1,1,-9,4,5413,7290.0,564101 +1100105,41,5641,2,26,2,40,1,1,1,1,-9,4,813M,9170.0,564102 +1100105,41,5642,1,29,1,40,1,1,1,1,-9,4,92M2,9570.0,564201 +1100105,41,5642,2,28,2,35,1,1,1,1,-9,4,713Z,8590.0,564202 +1100105,41,5643,1,27,2,40,1,1,1,1,-9,4,813M,9170.0,564301 +1100105,41,5643,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,564302 +1100105,41,5644,1,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,564401 +1100105,41,5644,2,26,2,40,1,1,1,1,-9,4,3391,3960.0,564402 +1100105,41,5645,1,28,1,45,1,1,1,1,16,4,92119,9390.0,564501 +1100105,41,5645,2,29,2,45,1,1,1,1,-9,4,5191ZM,6780.0,564502 +1100105,41,5646,1,27,1,45,3,1,1,1,-9,4,531M,7071.0,564601 +1100105,41,5646,2,27,1,50,1,1,1,1,-9,4,9211MP,9370.0,564602 +1100105,41,5647,1,30,1,50,1,1,1,1,-9,4,23,770.0,564701 +1100105,41,5647,2,30,2,50,1,1,1,1,-9,4,611M1,7870.0,564702 +1100105,41,5648,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,564801 +1100105,41,5648,2,23,2,45,1,1,1,1,-9,4,5416,7390.0,564802 +1100105,41,5649,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,564901 +1100105,41,5649,2,27,1,45,1,1,1,1,-9,4,5411,7270.0,564902 +1100105,41,5650,1,29,1,40,1,1,1,1,-9,4,92M2,9570.0,565001 +1100105,41,5650,2,28,2,35,1,1,1,1,-9,4,713Z,8590.0,565002 +1100105,41,5651,1,26,1,50,1,1,1,1,-9,4,5242,6992.0,565101 +1100105,41,5651,2,24,2,32,1,1,1,1,-9,4,6211,7970.0,565102 +1100105,41,5652,1,26,2,50,1,1,1,1,-9,4,5418,7470.0,565201 +1100105,41,5652,2,27,1,50,1,1,1,1,16,4,3345,3380.0,565202 +1100105,41,5653,1,23,2,50,6,1,1,1,-9,4,5416,7390.0,565301 +1100105,41,5653,2,22,2,40,4,1,1,1,-9,4,5411,7270.0,565302 +1100105,41,5654,1,24,2,40,1,1,1,1,16,4,5416,7390.0,565401 +1100105,41,5654,2,23,2,40,1,1,1,1,-9,4,722Z,8680.0,565402 +1100105,41,5655,1,32,1,50,1,1,1,1,-9,4,23,770.0,565501 +1100105,41,5655,2,28,2,50,1,1,1,1,-9,4,813M,9170.0,565502 +1100105,41,5656,1,27,2,40,1,1,1,1,-9,4,813M,9170.0,565601 +1100105,41,5656,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,565602 +1100105,41,5657,1,28,2,45,1,1,1,1,-9,4,813M,9170.0,565701 +1100105,41,5657,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,565702 +1100105,41,5658,1,28,1,45,1,1,1,1,-9,4,5417,7460.0,565801 +1100105,41,5658,2,30,2,45,1,1,1,1,-9,4,5417,7460.0,565802 +1100105,41,5659,1,29,2,45,1,1,1,1,-9,4,5416,7390.0,565901 +1100105,41,5659,2,31,1,45,1,1,1,1,-9,4,81393,9180.0,565902 +1100105,41,5660,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,566001 +1100105,41,5660,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,566002 +1100105,41,5661,1,30,1,50,1,1,1,1,-9,4,23,770.0,566101 +1100105,41,5661,2,30,2,50,1,1,1,1,-9,4,611M1,7870.0,566102 +1100105,41,5662,1,25,2,40,1,1,1,1,-9,4,722Z,8680.0,566201 +1100105,41,5662,2,30,1,40,1,1,1,4,-9,4,722Z,8680.0,566202 +1100105,41,5663,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,566301 +1100105,41,5663,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,566302 +1100105,41,5664,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,566401 +1100105,41,5664,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,566402 +1100105,41,5665,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,566501 +1100105,41,5665,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,566502 +1100105,41,5666,1,31,1,40,1,1,1,4,-9,4,928P,9590.0,566601 +1100105,41,5666,2,23,2,35,1,1,1,1,-9,4,5416,7390.0,566602 +1100105,41,5667,1,25,1,40,1,1,1,1,-9,4,5419Z,7490.0,566701 +1100105,41,5667,2,31,1,50,1,1,1,3,-9,4,9211MP,9370.0,566702 +1100105,41,5668,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,566801 +1100105,41,5668,2,26,2,60,1,1,1,3,16,4,6111,7860.0,566802 +1100105,41,5669,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,566901 +1100105,41,5669,2,26,2,60,1,1,1,3,16,4,6111,7860.0,566902 +1100105,41,5670,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,567001 +1100105,41,5670,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,567002 +1100105,41,5671,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,567101 +1100105,41,5671,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,567102 +1100105,41,5672,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,567201 +1100105,41,5672,2,27,2,60,1,1,1,2,-9,4,6111,7860.0,567202 +1100105,41,5673,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,567301 +1100105,41,5673,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,567302 +1100105,41,5674,1,31,1,40,1,1,1,4,-9,4,928P,9590.0,567401 +1100105,41,5674,2,23,2,35,1,1,1,1,-9,4,5416,7390.0,567402 +1100105,41,5675,1,25,1,40,1,1,1,1,-9,4,5419Z,7490.0,567501 +1100105,41,5675,2,31,1,50,1,1,1,3,-9,4,9211MP,9370.0,567502 +1100105,41,5676,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,567601 +1100105,41,5676,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,567602 +1100105,41,5677,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,567701 +1100105,41,5677,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,567702 +1100105,41,5678,1,26,1,40,1,1,1,3,-9,4,712,8570.0,567801 +1100105,41,5678,2,26,2,40,1,1,1,17,-9,4,7211,8660.0,567802 +1100105,41,5679,1,26,1,40,1,1,1,3,-9,4,712,8570.0,567901 +1100105,41,5679,2,26,2,40,1,1,1,17,-9,4,7211,8660.0,567902 +1100105,41,5680,1,26,1,40,1,1,1,3,-9,4,712,8570.0,568001 +1100105,41,5680,2,26,2,40,1,1,1,17,-9,4,7211,8660.0,568002 +1100105,41,5681,1,26,1,40,1,1,1,3,-9,4,712,8570.0,568101 +1100105,41,5681,2,26,2,40,1,1,1,17,-9,4,7211,8660.0,568102 +1100105,41,5682,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,568201 +1100105,41,5682,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,568202 +1100105,41,5683,1,35,1,52,1,4,1,1,-9,1,928110P3,9690.0,568301 +1100105,41,5683,2,36,2,-9,-9,3,1,1,-9,4,5417,7460.0,568302 +1100105,41,5684,1,64,1,-9,-9,6,2,1,-9,4,0,0.0,568401 +1100105,41,5684,2,54,1,60,1,1,1,3,-9,4,813M,9170.0,568402 +1100105,41,5685,1,28,2,47,1,1,9,1,-9,4,44611,5070.0,568501 +1100105,41,5685,2,26,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,568502 +1100105,41,5686,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,568601 +1100105,41,5686,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,568602 +1100105,41,5687,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,568701 +1100105,41,5687,2,29,2,35,5,3,1,1,-9,4,813M,9170.0,568702 +1100105,41,5688,1,28,1,40,2,1,1,1,-9,4,5419Z,7490.0,568801 +1100105,41,5688,2,26,2,40,4,6,1,1,16,4,6111,7860.0,568802 +1100105,41,5689,1,27,2,8,6,6,1,1,16,4,813M,9170.0,568901 +1100105,41,5689,2,29,1,50,1,1,1,1,-9,4,52M2,6970.0,568902 +1100105,41,5690,1,26,2,55,1,1,1,1,-9,4,5416,7390.0,569001 +1100105,41,5690,2,25,2,50,4,6,1,1,-9,4,92MP,9470.0,569002 +1100105,41,5691,1,28,2,50,1,1,1,3,-9,4,611M3,7890.0,569101 +1100105,41,5691,2,27,2,40,6,6,1,1,-9,4,5411,7270.0,569102 +1100105,41,5692,1,28,2,50,1,1,1,3,-9,4,611M3,7890.0,569201 +1100105,41,5692,2,27,2,40,6,6,1,1,-9,4,5411,7270.0,569202 +1100105,41,5693,1,30,1,40,1,1,1,23,-9,4,5416,7390.0,569301 +1100105,41,5693,2,31,2,40,6,6,1,23,16,4,4539,5580.0,569302 +1100105,41,5694,1,34,2,40,1,1,2,1,-9,4,92M2,9570.0,569401 +1100105,41,5694,2,0,1,-9,-9,-9,2,1,-9,-9,0,0.0,569402 +1100105,41,5695,1,70,2,-9,-9,6,1,1,-9,4,0,0.0,569501 +1100105,41,5695,2,74,1,40,6,6,1,1,-9,2,5416,7390.0,569502 +1100105,41,5696,1,24,2,50,4,6,1,1,16,4,5411,7270.0,569601 +1100105,41,5696,2,25,2,40,4,6,1,1,16,4,813M,9170.0,569602 +1100105,41,5697,1,24,2,50,4,6,1,1,16,4,5411,7270.0,569701 +1100105,41,5697,2,25,2,40,4,6,1,1,16,4,813M,9170.0,569702 +1100105,41,5698,1,26,2,40,4,6,1,19,-9,4,45439,5690.0,569801 +1100105,41,5698,2,29,1,40,4,6,1,19,16,4,23,770.0,569802 +1100105,41,5699,1,69,1,40,1,1,1,1,-9,4,712,8570.0,569901 +1100105,41,5699,2,70,2,75,1,1,1,1,-9,4,6111,7860.0,569902 +1100105,41,5700,1,60,1,40,1,1,2,1,-9,4,9211MP,9370.0,570001 +1100105,41,5700,2,50,2,40,1,2,2,1,-9,4,5615,7670.0,570002 +1100105,41,5701,1,45,1,40,3,1,6,1,-9,2,928P,9590.0,570101 +1100105,41,5701,2,35,2,50,1,1,1,1,-9,4,92MP,9470.0,570102 +1100105,41,5702,1,38,2,40,1,1,2,1,-9,4,7224,8690.0,570201 +1100105,41,5702,2,42,1,25,1,1,1,1,-9,4,7224,8690.0,570202 +1100105,41,5703,1,38,2,40,1,1,2,1,-9,4,7224,8690.0,570301 +1100105,41,5703,2,42,1,25,1,1,1,1,-9,4,7224,8690.0,570302 +1100105,41,5704,1,41,1,40,1,1,1,1,-9,2,621M,8180.0,570401 +1100105,41,5704,2,39,2,40,1,1,1,1,-9,4,4MS,5790.0,570402 +1100105,41,5705,1,44,1,24,1,1,1,1,-9,4,5413,7290.0,570501 +1100105,41,5705,2,46,1,40,5,1,1,1,-9,4,621M,8180.0,570502 +1100105,41,5706,1,44,1,24,1,1,1,1,-9,4,5413,7290.0,570601 +1100105,41,5706,2,46,1,40,5,1,1,1,-9,4,621M,8180.0,570602 +1100105,41,5707,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,570701 +1100105,41,5707,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,570702 +1100105,41,5708,1,51,1,40,1,1,1,11,-9,4,8123,9070.0,570801 +1100105,41,5708,2,52,2,15,1,1,1,11,-9,4,5617Z,7690.0,570802 +1100105,41,5709,1,37,1,40,1,1,1,11,-9,4,7211,8660.0,570901 +1100105,41,5709,2,35,1,40,1,1,8,11,-9,4,811192,8780.0,570902 +1100105,41,5710,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,571001 +1100105,41,5710,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,571002 +1100105,41,5711,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,571101 +1100105,41,5711,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,571102 +1100105,41,5712,1,37,1,40,1,1,1,11,-9,4,7211,8660.0,571201 +1100105,41,5712,2,35,1,40,1,1,8,11,-9,4,811192,8780.0,571202 +1100105,41,5713,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,571301 +1100105,41,5713,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,571302 +1100105,41,5714,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,571401 +1100105,41,5714,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,571402 +1100105,41,5715,1,59,2,40,1,1,9,1,-9,4,6214,8090.0,571501 +1100105,41,5715,2,29,1,40,1,1,9,1,-9,4,5416,7390.0,571502 +1100105,41,5716,1,37,1,40,1,1,2,1,-9,4,92119,9390.0,571601 +1100105,41,5716,2,30,2,40,1,1,2,1,-9,4,92119,9390.0,571602 +1100105,41,5717,1,27,2,55,1,1,1,1,-9,4,722Z,8680.0,571701 +1100105,41,5717,2,37,2,15,1,1,9,1,16,4,6241,8370.0,571702 +1100105,41,5718,1,50,2,60,1,1,1,1,-9,4,4481,5170.0,571801 +1100105,41,5718,2,32,1,60,1,1,9,1,-9,4,4481,5170.0,571802 +1100105,41,5719,1,31,2,70,1,4,1,1,-9,1,928110P3,9690.0,571901 +1100105,41,5719,2,39,2,70,1,4,3,1,-9,1,928110P2,9680.0,571902 +1100105,41,5720,1,27,2,55,1,1,1,1,-9,4,722Z,8680.0,572001 +1100105,41,5720,2,37,2,15,1,1,9,1,16,4,6241,8370.0,572002 +1100105,41,5721,1,50,2,60,1,1,1,1,-9,4,4481,5170.0,572101 +1100105,41,5721,2,32,1,60,1,1,9,1,-9,4,4481,5170.0,572102 +1100105,41,5722,1,50,2,60,1,1,1,1,-9,4,4481,5170.0,572201 +1100105,41,5722,2,32,1,60,1,1,9,1,-9,4,4481,5170.0,572202 +1100105,41,5723,1,31,2,40,5,1,1,1,-9,4,51111,6470.0,572301 +1100105,41,5723,2,37,1,40,1,1,1,1,-9,4,443142,4795.0,572302 +1100105,41,5724,1,35,2,50,1,1,1,23,-9,4,6111,7860.0,572401 +1100105,41,5724,2,27,1,35,6,1,2,1,-9,4,722Z,8680.0,572402 +1100105,41,5725,1,24,2,45,1,1,6,1,-9,4,813M,9170.0,572501 +1100105,41,5725,2,26,2,40,1,1,9,1,16,4,611M3,7890.0,572502 +1100105,41,5726,1,25,1,40,1,1,6,1,-9,4,5241,6991.0,572601 +1100105,41,5726,2,25,2,40,3,1,6,1,-9,4,5416,7390.0,572602 +1100105,41,5727,1,29,1,40,3,1,2,1,-9,4,5417,7460.0,572701 +1100105,41,5727,2,27,1,40,1,1,6,1,-9,4,722Z,8680.0,572702 +1100105,41,5728,1,29,1,40,3,1,2,1,-9,4,5417,7460.0,572801 +1100105,41,5728,2,27,1,40,1,1,6,1,-9,4,722Z,8680.0,572802 +1100105,41,5729,1,27,2,40,1,1,2,1,-9,4,6111,7860.0,572901 +1100105,41,5729,2,25,1,45,1,1,2,1,-9,4,45121,5370.0,572902 +1100105,41,5730,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,573001 +1100105,41,5730,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,573002 +1100105,41,5731,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,573101 +1100105,41,5731,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,573102 +1100105,41,5732,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,573201 +1100105,41,5732,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,573202 +1100105,41,5733,1,26,2,40,4,1,1,1,-9,4,92M2,9570.0,573301 +1100105,41,5733,2,31,1,40,5,1,9,1,-9,4,813M,9170.0,573302 +1100105,41,5734,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,573401 +1100105,41,5734,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,573402 +1100105,41,5735,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,573501 +1100105,41,5735,2,32,1,35,1,1,3,1,-9,4,712,8570.0,573502 +1100105,41,5736,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,573601 +1100105,41,5736,2,32,1,35,1,1,3,1,-9,4,712,8570.0,573602 +1100105,41,5737,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,573701 +1100105,41,5737,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,573702 +1100105,41,5738,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,573801 +1100105,41,5738,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,573802 +1100105,41,5739,1,25,2,40,3,1,9,1,-9,4,5242,6992.0,573901 +1100105,41,5739,2,28,1,52,1,1,1,1,-9,4,52M2,6970.0,573902 +1100105,41,5740,1,26,2,40,4,1,1,1,-9,4,92M2,9570.0,574001 +1100105,41,5740,2,31,1,40,5,1,9,1,-9,4,813M,9170.0,574002 +1100105,41,5741,1,26,2,40,4,1,1,1,-9,4,92M2,9570.0,574101 +1100105,41,5741,2,31,1,40,5,1,9,1,-9,4,813M,9170.0,574102 +1100105,41,5742,1,26,2,40,4,1,9,1,-9,4,928P,9590.0,574201 +1100105,41,5742,2,27,2,32,4,1,1,1,-9,4,813M,9170.0,574202 +1100105,41,5743,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,574301 +1100105,41,5743,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,574302 +1100105,41,5744,1,25,2,40,3,1,9,1,-9,4,5242,6992.0,574401 +1100105,41,5744,2,28,1,52,1,1,1,1,-9,4,52M2,6970.0,574402 +1100105,41,5745,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,574501 +1100105,41,5745,2,32,1,35,1,1,3,1,-9,4,712,8570.0,574502 +1100105,41,5746,1,26,2,40,1,1,1,1,-9,4,92119,9390.0,574601 +1100105,41,5746,2,32,2,50,1,1,6,1,-9,4,928P,9590.0,574602 +1100105,41,5747,1,24,1,50,1,4,6,1,16,1,928110P1,9670.0,574701 +1100105,41,5747,2,24,2,3,1,1,1,1,16,4,713Z,8590.0,574702 +1100105,41,5748,1,26,2,40,1,1,1,1,-9,4,92119,9390.0,574801 +1100105,41,5748,2,32,2,50,1,1,6,1,-9,4,928P,9590.0,574802 +1100105,41,5749,1,30,2,60,1,1,1,1,-9,4,611M3,7890.0,574901 +1100105,41,5749,2,31,1,10,4,1,2,1,16,4,23,770.0,574902 +1100105,41,5750,1,23,1,55,1,1,1,1,-9,4,531M,7071.0,575001 +1100105,41,5750,2,24,1,55,1,1,1,1,-9,4,5121,6570.0,575002 +1100105,41,5751,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,575101 +1100105,41,5751,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,575102 +1100105,41,5752,1,24,2,40,1,1,1,1,-9,4,5614,7590.0,575201 +1100105,41,5752,2,24,2,48,1,1,1,1,-9,4,622M,8191.0,575202 +1100105,41,5753,1,25,2,41,1,1,1,1,-9,4,8139Z,9190.0,575301 +1100105,41,5753,2,29,1,45,1,1,1,1,-9,4,5418,7470.0,575302 +1100105,41,5754,1,21,1,40,1,1,1,1,-9,4,722Z,8680.0,575401 +1100105,41,5754,2,21,1,40,1,1,1,1,-9,4,52M1,6870.0,575402 +1100105,41,5755,1,27,2,38,1,1,1,1,-9,4,813M,9170.0,575501 +1100105,41,5755,2,25,1,40,1,1,1,1,-9,4,5411,7270.0,575502 +1100105,41,5756,1,26,2,40,1,1,1,1,-9,4,5412,7280.0,575601 +1100105,41,5756,2,23,2,40,1,1,1,1,-9,4,611M1,7870.0,575602 +1100105,41,5757,1,21,1,40,1,1,1,1,-9,4,722Z,8680.0,575701 +1100105,41,5757,2,21,1,40,1,1,1,1,-9,4,52M1,6870.0,575702 +1100105,41,5758,1,31,2,45,1,1,1,1,-9,4,611M1,7870.0,575801 +1100105,41,5758,2,27,2,40,3,1,1,1,-9,4,6241,8370.0,575802 +1100105,41,5759,1,25,2,41,1,1,1,1,-9,4,8139Z,9190.0,575901 +1100105,41,5759,2,29,1,45,1,1,1,1,-9,4,5418,7470.0,575902 +1100105,41,5760,1,30,2,60,1,1,1,1,-9,4,7224,8690.0,576001 +1100105,41,5760,2,26,1,60,1,1,1,1,16,4,44512,4972.0,576002 +1100105,41,5761,1,33,2,50,6,1,1,1,-9,4,5416,7390.0,576101 +1100105,41,5761,2,33,1,45,1,1,1,1,-9,4,5415,7380.0,576102 +1100105,41,5762,1,25,1,50,1,1,1,1,-9,4,5417,7460.0,576201 +1100105,41,5762,2,29,1,40,1,1,1,1,-9,4,5417,7460.0,576202 +1100105,41,5763,1,28,1,40,3,1,1,1,-9,4,813M,9170.0,576301 +1100105,41,5763,2,27,2,80,5,1,1,1,-9,4,622M,8191.0,576302 +1100105,41,5764,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,576401 +1100105,41,5764,2,26,2,55,3,1,1,1,-9,4,5418,7470.0,576402 +1100105,41,5765,1,33,1,20,3,1,1,1,-9,4,611M1,7870.0,576501 +1100105,41,5765,2,31,2,55,1,1,1,1,-9,4,622M,8191.0,576502 +1100105,41,5766,1,20,2,60,4,1,1,1,15,4,6211,7970.0,576601 +1100105,41,5766,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,576602 +1100105,41,5767,1,28,2,40,1,1,1,1,-9,4,5615,7670.0,576701 +1100105,41,5767,2,28,1,40,1,1,1,1,-9,4,332M,2870.0,576702 +1100105,41,5768,1,26,2,20,1,1,1,1,16,4,5417,7460.0,576801 +1100105,41,5768,2,27,1,30,4,1,1,1,16,4,8139Z,9190.0,576802 +1100105,41,5769,1,25,2,40,1,1,1,1,-9,4,5191ZM,6780.0,576901 +1100105,41,5769,2,27,1,40,1,1,1,1,-9,4,7112,8562.0,576902 +1100105,41,5770,1,20,2,60,4,1,1,1,15,4,6211,7970.0,577001 +1100105,41,5770,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,577002 +1100105,41,5771,1,24,2,50,1,1,1,1,-9,4,52M2,6970.0,577101 +1100105,41,5771,2,23,1,40,1,1,1,1,-9,4,8131,9160.0,577102 +1100105,41,5772,1,28,1,40,3,1,1,1,-9,4,813M,9170.0,577201 +1100105,41,5772,2,27,2,80,5,1,1,1,-9,4,622M,8191.0,577202 +1100105,41,5773,1,23,2,40,1,1,1,1,-9,4,621M,8180.0,577301 +1100105,41,5773,2,23,2,45,1,1,1,1,-9,4,8139Z,9190.0,577302 +1100105,41,5774,1,33,2,50,6,1,1,1,-9,4,5416,7390.0,577401 +1100105,41,5774,2,33,1,45,1,1,1,1,-9,4,5415,7380.0,577402 +1100105,41,5775,1,20,2,60,4,1,1,1,15,4,6211,7970.0,577501 +1100105,41,5775,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,577502 +1100105,41,5776,1,28,2,70,1,1,1,1,-9,4,5418,7470.0,577601 +1100105,41,5776,2,29,2,50,1,1,1,1,-9,4,92M2,9570.0,577602 +1100105,41,5777,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,577701 +1100105,41,5777,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,577702 +1100105,41,5778,1,22,1,20,4,1,1,1,16,4,6241,8370.0,577801 +1100105,41,5778,2,21,1,40,1,1,1,1,-9,4,44511,4971.0,577802 +1100105,41,5779,1,24,2,40,1,1,1,1,-9,4,8139Z,9190.0,577901 +1100105,41,5779,2,23,2,40,1,1,1,1,-9,4,5418,7470.0,577902 +1100105,41,5780,1,28,1,50,1,1,1,1,-9,4,722Z,8680.0,578001 +1100105,41,5780,2,25,2,50,1,2,1,1,-9,4,7211,8660.0,578002 +1100105,41,5781,1,30,2,60,1,1,1,1,-9,4,7224,8690.0,578101 +1100105,41,5781,2,26,1,60,1,1,1,1,16,4,44512,4972.0,578102 +1100105,41,5782,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,578201 +1100105,41,5782,2,33,2,20,1,1,1,1,-9,4,611M1,7870.0,578202 +1100105,41,5783,1,25,2,41,1,1,1,1,-9,4,8139Z,9190.0,578301 +1100105,41,5783,2,29,1,45,1,1,1,1,-9,4,5418,7470.0,578302 +1100105,41,5784,1,24,2,50,1,1,1,1,-9,4,5419Z,7490.0,578401 +1100105,41,5784,2,25,1,15,3,1,1,1,-9,4,5416,7390.0,578402 +1100105,41,5785,1,33,2,50,6,1,1,1,-9,4,5416,7390.0,578501 +1100105,41,5785,2,33,1,45,1,1,1,1,-9,4,5415,7380.0,578502 +1100105,41,5786,1,24,2,40,1,1,1,1,-9,4,5614,7590.0,578601 +1100105,41,5786,2,24,2,48,1,1,1,1,-9,4,622M,8191.0,578602 +1100105,41,5787,1,20,2,60,4,1,1,1,15,4,6211,7970.0,578701 +1100105,41,5787,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,578702 +1100105,41,5788,1,22,1,42,1,1,1,1,16,4,813M,9170.0,578801 +1100105,41,5788,2,22,2,40,3,1,1,1,-9,4,8139Z,9190.0,578802 +1100105,41,5789,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,578901 +1100105,41,5789,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,578902 +1100105,41,5790,1,26,1,45,1,1,1,1,16,4,8139Z,9190.0,579001 +1100105,41,5790,2,27,1,40,1,1,1,1,-9,4,7224,8690.0,579002 +1100105,41,5791,1,25,1,50,1,1,1,1,-9,4,5417,7460.0,579101 +1100105,41,5791,2,29,1,40,1,1,1,1,-9,4,5417,7460.0,579102 +1100105,41,5792,1,20,2,60,4,1,1,1,15,4,6211,7970.0,579201 +1100105,41,5792,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,579202 +1100105,41,5793,1,25,2,41,1,1,1,1,-9,4,8139Z,9190.0,579301 +1100105,41,5793,2,29,1,45,1,1,1,1,-9,4,5418,7470.0,579302 +1100105,41,5794,1,25,2,48,1,1,1,1,-9,4,5416,7390.0,579401 +1100105,41,5794,2,24,2,70,1,1,1,1,-9,4,5416,7390.0,579402 +1100105,41,5795,1,29,2,40,6,1,1,1,-9,4,813M,9170.0,579501 +1100105,41,5795,2,27,1,40,1,1,9,19,-9,4,923,9480.0,579502 +1100105,41,5796,1,30,1,35,3,1,1,1,-9,4,7115,8564.0,579601 +1100105,41,5796,2,32,1,48,1,1,1,21,-9,4,722Z,8680.0,579602 +1100105,41,5797,1,26,1,50,1,1,8,7,-9,4,5415,7380.0,579701 +1100105,41,5797,2,27,2,40,1,1,1,1,-9,4,711M,8563.0,579702 +1100105,41,5798,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,579801 +1100105,41,5798,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,579802 +1100105,41,5799,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,579901 +1100105,41,5799,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,579902 +1100105,41,5800,1,23,2,40,1,1,1,1,-9,4,522M,6890.0,580001 +1100105,41,5800,2,24,1,40,1,1,8,8,-9,4,5415,7380.0,580002 +1100105,41,5801,1,24,2,40,1,1,1,4,-9,4,9211MP,9370.0,580101 +1100105,41,5801,2,24,2,40,1,1,1,1,-9,4,9211MP,9370.0,580102 +1100105,41,5802,1,32,2,40,1,1,1,1,-9,4,561M,7780.0,580201 +1100105,41,5802,2,27,1,60,1,1,2,5,-9,4,9211MP,9370.0,580202 +1100105,41,5803,1,30,1,60,1,1,1,1,-9,4,622M,8191.0,580301 +1100105,41,5803,2,27,2,60,1,1,1,4,-9,4,622M,8191.0,580302 +1100105,41,5804,1,26,1,50,1,1,8,7,-9,4,5415,7380.0,580401 +1100105,41,5804,2,27,2,40,1,1,1,1,-9,4,711M,8563.0,580402 +1100105,41,5805,1,30,1,35,3,1,1,1,-9,4,7115,8564.0,580501 +1100105,41,5805,2,32,1,48,1,1,1,21,-9,4,722Z,8680.0,580502 +1100105,41,5806,1,32,2,40,1,1,1,1,-9,4,561M,7780.0,580601 +1100105,41,5806,2,27,1,60,1,1,2,5,-9,4,9211MP,9370.0,580602 +1100105,41,5807,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,580701 +1100105,41,5807,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,580702 +1100105,41,5808,1,23,2,45,1,1,1,1,-9,4,454110,5593.0,580801 +1100105,41,5808,2,23,2,45,6,1,8,3,-9,4,5111Z,6480.0,580802 +1100105,41,5809,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,580901 +1100105,41,5809,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,580902 +1100105,41,5810,1,23,2,40,1,1,1,1,-9,4,522M,6890.0,581001 +1100105,41,5810,2,24,1,40,1,1,8,8,-9,4,5415,7380.0,581002 +1100105,41,5811,1,32,1,40,4,1,8,3,-9,4,813M,9170.0,581101 +1100105,41,5811,2,30,2,40,6,1,8,3,-9,4,722Z,8680.0,581102 +1100105,41,5812,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,581201 +1100105,41,5812,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,581202 +1100105,41,5813,1,32,1,40,4,1,8,3,-9,4,813M,9170.0,581301 +1100105,41,5813,2,30,2,40,6,1,8,3,-9,4,722Z,8680.0,581302 +1100105,41,5814,1,32,1,40,4,1,8,3,-9,4,813M,9170.0,581401 +1100105,41,5814,2,30,2,40,6,1,8,3,-9,4,722Z,8680.0,581402 +1100105,41,5815,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,581501 +1100105,41,5815,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,581502 +1100105,41,5816,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,581601 +1100105,41,5816,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,581602 +1100105,41,5817,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,581701 +1100105,41,5817,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,581702 +1100105,41,5818,1,32,1,40,4,1,8,3,-9,4,813M,9170.0,581801 +1100105,41,5818,2,30,2,40,6,1,8,3,-9,4,722Z,8680.0,581802 +1100105,41,5819,1,72,2,-9,-9,6,2,1,-9,4,0,0.0,581901 +1100105,41,5819,2,53,1,40,1,1,2,1,-9,4,611M3,7890.0,581902 +1100105,41,5820,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,582001 +1100105,41,5820,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,582002 +1100105,41,5821,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,582101 +1100105,41,5821,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,582102 +1100105,41,5822,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,582201 +1100105,41,5822,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,582202 +1100105,41,5823,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,582301 +1100105,41,5823,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,582302 +1100105,41,5824,1,51,1,50,4,3,1,1,-9,4,722Z,8680.0,582401 +1100105,41,5824,2,38,2,60,3,1,1,1,-9,4,722Z,8680.0,582402 +1100105,41,5825,1,29,2,55,1,1,1,1,-9,4,5411,7270.0,582501 +1100105,41,5825,2,55,2,-9,-9,3,1,1,-9,4,5411,7270.0,582502 +1100105,41,5826,1,35,2,50,1,1,1,1,16,4,5417,7460.0,582601 +1100105,41,5826,2,26,2,-9,-9,6,1,1,16,4,0,0.0,582602 +1100105,41,5827,1,49,1,20,6,3,1,1,-9,4,51111,6470.0,582701 +1100105,41,5827,2,32,1,50,1,1,1,1,-9,4,81393,9180.0,582702 +1100105,41,5828,1,49,1,20,6,3,1,1,-9,4,51111,6470.0,582801 +1100105,41,5828,2,32,1,50,1,1,1,1,-9,4,81393,9180.0,582802 +1100105,41,5829,1,32,2,40,1,1,1,23,16,4,712,8570.0,582901 +1100105,41,5829,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,582902 +1100105,41,5830,1,49,1,25,5,1,1,2,-9,4,928P,9590.0,583001 +1100105,41,5830,2,31,1,15,4,6,1,1,15,4,722Z,8680.0,583002 +1100105,41,5831,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,583101 +1100105,41,5831,2,30,1,-9,-9,6,6,1,16,4,0,0.0,583102 +1100105,41,5832,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,583201 +1100105,41,5832,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,583202 +1100105,41,5833,1,28,1,40,6,3,1,1,-9,4,337,3895.0,583301 +1100105,41,5833,2,26,2,50,1,1,6,1,16,4,5411,7270.0,583302 +1100105,41,5834,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,583401 +1100105,41,5834,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,583402 +1100105,41,5835,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,583501 +1100105,41,5835,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,583502 +1100105,41,5836,1,24,2,50,6,6,1,1,16,4,5411,7270.0,583601 +1100105,41,5836,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,583602 +1100105,41,5837,1,25,1,40,1,1,1,1,-9,4,5313,7072.0,583701 +1100105,41,5837,2,25,2,35,6,6,1,1,16,4,8139Z,9190.0,583702 +1100105,41,5838,1,26,2,50,3,3,1,1,-9,4,6212,7980.0,583801 +1100105,41,5838,2,29,1,40,4,1,1,1,-9,4,52M2,6970.0,583802 +1100105,41,5839,1,24,2,50,6,6,1,1,16,4,5411,7270.0,583901 +1100105,41,5839,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,583902 +1100105,41,5840,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,584001 +1100105,41,5840,2,30,1,35,6,6,1,1,-9,4,5411,7270.0,584002 +1100105,41,5841,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,584101 +1100105,41,5841,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,584102 +1100105,41,5842,1,27,2,40,1,1,1,16,16,4,52M1,6870.0,584201 +1100105,41,5842,2,32,1,-9,-9,6,1,16,-9,4,7211,8660.0,584202 +1100105,41,5843,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,584301 +1100105,41,5843,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,584302 +1100105,41,5844,1,39,1,40,3,1,9,1,-9,4,722Z,8680.0,584401 +1100105,41,5844,2,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,584402 +1100105,41,5845,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,584501 +1100105,41,5845,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,584502 +1100105,41,5846,1,25,1,40,6,6,1,4,16,4,92MP,9470.0,584601 +1100105,41,5846,2,25,1,15,4,6,1,1,16,4,92M2,9570.0,584602 +1100105,41,5847,1,25,2,25,3,1,2,4,-9,4,923,9480.0,584701 +1100105,41,5847,2,42,1,25,1,1,1,1,-9,4,531M,7071.0,584702 +1100105,41,5848,1,29,1,20,3,1,1,1,16,4,611M1,7870.0,584801 +1100105,41,5848,2,29,2,20,1,1,6,1,16,4,611M1,7870.0,584802 +1100105,41,5849,1,23,2,43,1,1,1,1,-9,4,5416,7390.0,584901 +1100105,41,5849,2,23,2,15,1,1,1,1,-9,4,4481,5170.0,584902 +1100105,41,5850,1,32,2,35,4,1,1,1,15,4,6111,7860.0,585001 +1100105,41,5850,2,29,1,30,1,1,1,1,-9,4,611M3,7890.0,585002 +1100105,41,5851,1,23,2,43,1,1,1,1,-9,4,5416,7390.0,585101 +1100105,41,5851,2,23,2,15,1,1,1,1,-9,4,4481,5170.0,585102 +1100105,41,5852,1,23,2,43,1,1,1,1,-9,4,5416,7390.0,585201 +1100105,41,5852,2,23,2,15,1,1,1,1,-9,4,4481,5170.0,585202 +1100105,41,5853,1,24,1,45,3,1,1,1,16,4,9211MP,9370.0,585301 +1100105,41,5853,2,25,1,11,5,1,1,1,-9,4,611M1,7870.0,585302 +1100105,41,5854,1,25,2,45,1,1,1,1,-9,4,531M,7071.0,585401 +1100105,41,5854,2,28,2,30,1,1,1,1,-9,4,6212,7980.0,585402 +1100105,41,5855,1,25,1,50,1,1,1,16,16,4,5417,7460.0,585501 +1100105,41,5855,2,23,2,40,1,1,1,24,16,4,814,9290.0,585502 +1100105,41,5856,1,25,1,50,1,1,1,16,16,4,5417,7460.0,585601 +1100105,41,5856,2,23,2,40,1,1,1,24,16,4,814,9290.0,585602 +1100105,41,5857,1,25,1,50,1,1,1,16,16,4,5417,7460.0,585701 +1100105,41,5857,2,23,2,40,1,1,1,24,16,4,814,9290.0,585702 +1100105,41,5858,1,25,1,50,1,1,1,16,16,4,5417,7460.0,585801 +1100105,41,5858,2,23,2,40,1,1,1,24,16,4,814,9290.0,585802 +1100105,41,5859,1,25,1,50,1,1,1,16,16,4,5417,7460.0,585901 +1100105,41,5859,2,23,2,40,1,1,1,24,16,4,814,9290.0,585902 +1100105,41,5860,1,25,1,50,1,1,1,16,16,4,5417,7460.0,586001 +1100105,41,5860,2,23,2,40,1,1,1,24,16,4,814,9290.0,586002 +1100105,41,5861,1,29,1,44,1,1,1,15,-9,4,923,9480.0,586101 +1100105,41,5861,2,29,2,45,1,1,1,15,-9,4,5418,7470.0,586102 +1100105,41,5862,1,52,2,25,1,1,1,1,-9,4,562,7790.0,586201 +1100105,41,5862,2,51,1,35,4,6,1,1,-9,4,562,7790.0,586202 +1100105,41,5863,1,28,1,45,6,6,1,1,16,4,5411,7270.0,586301 +1100105,41,5863,2,28,2,20,5,1,6,1,16,4,8139Z,9190.0,586302 +1100105,41,5864,1,26,2,41,1,1,1,1,-9,4,7111,8561.0,586401 +1100105,41,5864,2,26,1,-9,-9,6,1,1,15,4,334M2,3390.0,586402 +1100105,41,5865,1,25,1,-9,-9,6,1,1,-9,4,5411,7270.0,586501 +1100105,41,5865,2,25,1,40,5,1,1,1,-9,4,92MP,9470.0,586502 +1100105,41,5866,1,26,1,20,6,6,1,2,16,4,611M1,7870.0,586601 +1100105,41,5866,2,27,2,40,1,1,1,1,16,4,611M1,7870.0,586602 +1100105,41,5867,1,81,1,-9,-9,6,1,1,-9,4,7115,8564.0,586701 +1100105,41,5867,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,586702 +1100105,41,5868,1,22,2,55,1,1,1,1,-9,4,813M,9170.0,586801 +1100105,41,5868,2,24,2,50,4,1,1,1,-9,4,9211MP,9370.0,586802 +1100105,41,5869,1,21,2,10,4,1,1,16,15,4,611M1,7870.0,586901 +1100105,41,5869,2,21,2,3,1,1,1,1,15,4,713Z,8590.0,586902 +1100105,41,5870,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,587001 +1100105,41,5870,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,587002 +1100105,41,5871,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,587101 +1100105,41,5871,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,587102 +1100105,41,5872,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,587201 +1100105,41,5872,2,20,2,10,3,1,1,1,15,4,7115,8564.0,587202 +1100105,41,5873,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,587301 +1100105,41,5873,2,20,2,10,3,1,1,1,15,4,7115,8564.0,587302 +1100105,41,5874,1,67,1,-9,-9,6,2,1,-9,4,0,0.0,587401 +1100105,41,5874,2,64,2,-9,-9,6,2,1,-9,4,0,0.0,587402 +1100105,41,5875,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,587501 +1100105,41,5875,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,587502 +1100105,41,5876,1,58,2,-9,-9,6,1,1,-9,4,813M,9170.0,587601 +1100105,41,5876,2,26,1,-9,-9,6,9,1,-9,4,0,0.0,587602 +1100105,41,5877,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,587701 +1100105,41,5877,2,20,1,30,5,6,1,1,15,4,44413,4880.0,587702 +1100105,41,5878,1,23,2,35,3,6,1,1,16,4,928P,9590.0,587801 +1100105,41,5878,2,22,1,20,5,6,1,1,16,4,52M2,6970.0,587802 +1100105,41,5879,1,22,2,-9,-9,6,1,1,15,4,0,0.0,587901 +1100105,41,5879,2,22,2,-9,-9,6,1,1,15,4,0,0.0,587902 +1100105,41,5880,1,26,2,50,3,6,8,4,16,4,6212,7980.0,588001 +1100105,41,5880,2,26,2,30,4,6,6,4,16,4,6214,8090.0,588002 +1100105,41,5881,1,70,2,40,1,1,2,1,-9,4,611M1,7870.0,588101 +1100105,41,5882,1,70,2,40,1,1,2,1,-9,4,611M1,7870.0,588201 +1100105,41,5883,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,588301 +1100105,41,5884,1,68,1,40,1,1,1,1,-9,4,5411,7270.0,588401 +1100105,41,5885,1,68,2,80,1,1,1,1,-9,4,8139Z,9190.0,588501 +1100105,41,5886,1,72,1,50,1,1,1,1,-9,4,923,9480.0,588601 +1100105,41,5887,1,65,1,60,1,1,1,1,-9,4,928P,9590.0,588701 +1100105,41,5888,1,55,1,70,1,1,9,1,-9,4,7211,8660.0,588801 +1100105,41,5889,1,40,2,52,1,1,9,1,-9,4,5415,7380.0,588901 +1100105,41,5890,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,589001 +1100105,41,5891,1,40,2,52,1,1,9,1,-9,4,5415,7380.0,589101 +1100105,41,5892,1,40,2,52,1,1,9,1,-9,4,5415,7380.0,589201 +1100105,41,5893,1,40,2,52,1,1,9,1,-9,4,5415,7380.0,589301 +1100105,41,5894,1,48,1,55,1,1,9,1,-9,4,515,6670.0,589401 +1100105,41,5895,1,40,2,52,1,1,9,1,-9,4,5415,7380.0,589501 +1100105,41,5896,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,589601 +1100105,41,5897,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,589701 +1100105,41,5898,1,53,2,40,1,1,6,1,-9,4,52M2,6970.0,589801 +1100105,41,5899,1,40,1,55,1,1,6,1,-9,4,92113,9380.0,589901 +1100105,41,5900,1,53,1,60,1,1,6,1,-9,4,23,770.0,590001 +1100105,41,5901,1,36,1,40,1,1,2,1,16,2,928P,9590.0,590101 +1100105,41,5902,1,36,1,40,1,1,2,1,16,2,928P,9590.0,590201 +1100105,41,5903,1,44,1,50,1,1,2,1,-9,4,622M,8191.0,590301 +1100105,41,5904,1,36,1,40,1,1,2,1,16,2,928P,9590.0,590401 +1100105,41,5905,1,36,1,40,1,1,2,1,16,2,928P,9590.0,590501 +1100105,41,5906,1,57,1,45,1,1,1,1,-9,4,5411,7270.0,590601 +1100105,41,5907,1,45,1,55,1,1,1,1,-9,4,515,6670.0,590701 +1100105,41,5908,1,57,2,35,1,1,1,1,-9,4,52M2,6970.0,590801 +1100105,41,5909,1,52,1,55,1,1,1,1,-9,4,611M1,7870.0,590901 +1100105,41,5910,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,591001 +1100105,41,5911,1,46,1,65,1,1,1,1,-9,4,5416,7390.0,591101 +1100105,41,5912,1,51,1,50,1,1,1,1,-9,4,515,6670.0,591201 +1100105,41,5913,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,591301 +1100105,41,5914,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,591401 +1100105,41,5915,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,591501 +1100105,41,5916,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,591601 +1100105,41,5917,1,61,2,40,1,1,1,1,-9,4,5416,7390.0,591701 +1100105,41,5918,1,37,1,55,1,1,1,1,-9,4,5411,7270.0,591801 +1100105,41,5919,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,591901 +1100105,41,5920,1,61,2,40,1,1,1,1,-9,4,5416,7390.0,592001 +1100105,41,5921,1,54,1,60,1,1,1,1,-9,4,92M2,9570.0,592101 +1100105,41,5922,1,42,1,40,1,1,1,1,-9,4,531M,7071.0,592201 +1100105,41,5923,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,592301 +1100105,41,5924,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,592401 +1100105,41,5925,1,35,2,55,1,1,1,1,-9,4,52M2,6970.0,592501 +1100105,41,5926,1,63,2,60,1,1,1,1,-9,4,5411,7270.0,592601 +1100105,41,5927,1,49,2,80,1,1,1,1,-9,4,488,6290.0,592701 +1100105,41,5928,1,46,1,55,1,1,1,1,-9,4,8139Z,9190.0,592801 +1100105,41,5929,1,44,2,50,1,1,1,1,-9,4,5241,6991.0,592901 +1100105,41,5930,1,46,1,70,1,1,1,1,-9,4,515,6670.0,593001 +1100105,41,5931,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,593101 +1100105,41,5932,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,593201 +1100105,41,5933,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,593301 +1100105,41,5934,1,46,1,70,1,1,1,1,-9,4,515,6670.0,593401 +1100105,41,5935,1,49,2,80,1,1,1,1,-9,4,488,6290.0,593501 +1100105,41,5936,1,63,2,60,1,1,1,1,-9,4,5411,7270.0,593601 +1100105,41,5937,1,50,1,50,1,1,1,1,16,4,2211P,570.0,593701 +1100105,41,5938,1,40,1,50,1,1,1,1,-9,4,522M,6890.0,593801 +1100105,41,5939,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,593901 +1100105,41,5940,1,44,1,60,1,1,1,1,-9,2,5416,7390.0,594001 +1100105,41,5941,1,46,2,40,1,2,1,1,-9,4,5418,7470.0,594101 +1100105,41,5942,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,594201 +1100105,41,5943,1,57,2,60,1,1,1,1,-9,4,712,8570.0,594301 +1100105,41,5944,1,58,1,60,1,1,1,1,-9,4,5411,7270.0,594401 +1100105,41,5945,1,56,1,60,1,1,1,1,-9,4,7115,8564.0,594501 +1100105,41,5946,1,35,1,65,1,1,1,1,-9,4,488,6290.0,594601 +1100105,41,5947,1,50,1,55,1,1,1,1,-9,4,8139Z,9190.0,594701 +1100105,41,5948,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,594801 +1100105,41,5949,1,43,1,60,1,1,1,1,-9,4,621M,8180.0,594901 +1100105,41,5950,1,50,1,50,1,1,1,1,-9,4,52M2,6970.0,595001 +1100105,41,5951,1,63,2,65,1,1,1,1,-9,2,622M,8191.0,595101 +1100105,41,5952,1,57,2,60,1,1,1,1,-9,4,712,8570.0,595201 +1100105,41,5953,1,43,1,60,1,1,1,1,-9,4,621M,8180.0,595301 +1100105,41,5954,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,595401 +1100105,41,5955,1,54,1,60,1,1,1,1,-9,4,92M2,9570.0,595501 +1100105,41,5956,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,595601 +1100105,41,5957,1,48,1,60,1,1,1,1,-9,4,5411,7270.0,595701 +1100105,41,5958,1,63,1,40,1,1,1,1,-9,4,454110,5593.0,595801 +1100105,41,5959,1,38,2,50,1,1,1,1,-9,4,52M2,6970.0,595901 +1100105,41,5960,1,45,1,55,1,1,1,1,-9,4,515,6670.0,596001 +1100105,41,5961,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,596101 +1100105,41,5962,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,596201 +1100105,41,5963,1,41,2,60,1,1,1,1,-9,4,622M,8191.0,596301 +1100105,41,5964,1,38,2,45,1,1,1,1,-9,4,52M2,6970.0,596401 +1100105,41,5965,1,38,1,50,1,1,1,1,-9,4,5411,7270.0,596501 +1100105,41,5966,1,42,1,40,1,1,1,1,-9,4,52M1,6870.0,596601 +1100105,41,5967,1,37,1,55,1,1,1,1,-9,4,5411,7270.0,596701 +1100105,41,5968,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,596801 +1100105,41,5969,1,57,1,40,1,1,1,1,-9,4,5221M,6880.0,596901 +1100105,41,5970,1,63,2,50,1,1,1,1,-9,4,611M1,7870.0,597001 +1100105,41,5971,1,54,1,60,1,1,1,1,-9,4,92M2,9570.0,597101 +1100105,41,5972,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,597201 +1100105,41,5973,1,35,2,40,1,1,1,1,-9,4,5415,7380.0,597301 +1100105,41,5974,1,63,2,50,1,1,1,1,-9,4,611M1,7870.0,597401 +1100105,41,5975,1,49,2,80,1,1,1,1,-9,4,488,6290.0,597501 +1100105,41,5976,1,57,1,55,1,1,1,1,-9,4,928P,9590.0,597601 +1100105,41,5977,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,597701 +1100105,41,5978,1,54,1,60,1,1,1,1,-9,4,5416,7390.0,597801 +1100105,41,5979,1,57,2,60,1,1,1,1,-9,4,712,8570.0,597901 +1100105,41,5980,1,38,2,40,1,1,1,1,-9,4,5411,7270.0,598001 +1100105,41,5981,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,598101 +1100105,41,5982,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,598201 +1100105,41,5983,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,598301 +1100105,41,5984,1,52,1,55,1,1,1,1,-9,4,611M1,7870.0,598401 +1100105,41,5985,1,35,1,65,1,1,1,1,-9,4,488,6290.0,598501 +1100105,41,5986,1,54,1,60,1,1,1,1,-9,4,92M2,9570.0,598601 +1100105,41,5987,1,56,1,60,1,1,1,1,-9,4,7115,8564.0,598701 +1100105,41,5988,1,44,2,50,1,1,1,1,-9,4,5241,6991.0,598801 +1100105,41,5989,1,56,1,55,1,1,1,1,-9,4,5416,7390.0,598901 +1100105,41,5990,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,599001 +1100105,41,5991,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,599101 +1100105,41,5992,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,599201 +1100105,41,5993,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,599301 +1100105,41,5994,1,57,1,55,1,1,1,1,-9,4,928P,9590.0,599401 +1100105,41,5995,1,50,1,45,1,1,1,3,-9,4,51913,6672.0,599501 +1100105,41,5996,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,599601 +1100105,41,5997,1,64,2,60,1,1,1,3,-9,4,5416,7390.0,599701 +1100105,41,5998,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,599801 +1100105,41,5999,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,599901 +1100105,41,6000,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,600001 +1100105,41,6001,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,600101 +1100105,41,6002,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,600201 +1100105,41,6003,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,600301 +1100105,41,6004,1,64,2,60,1,1,1,3,-9,4,5416,7390.0,600401 +1100105,41,6005,1,47,1,50,1,1,1,3,-9,2,5413,7290.0,600501 +1100105,41,6006,1,50,1,45,1,1,1,3,-9,4,51913,6672.0,600601 +1100105,41,6007,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,600701 +1100105,41,6008,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,600801 +1100105,41,6009,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,600901 +1100105,41,6010,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,601001 +1100105,41,6011,1,35,2,50,1,1,2,3,-9,4,6211,7970.0,601101 +1100105,41,6012,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,601201 +1100105,41,6013,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,601301 +1100105,41,6014,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,601401 +1100105,41,6015,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,601501 +1100105,41,6016,1,32,2,50,1,1,6,1,-9,4,5411,7270.0,601601 +1100105,41,6017,1,33,1,50,1,1,6,1,-9,4,33641M1,3580.0,601701 +1100105,41,6018,1,29,2,54,1,1,1,1,-9,4,5411,7270.0,601801 +1100105,41,6019,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,601901 +1100105,41,6020,1,27,2,60,1,1,1,1,-9,4,5411,7270.0,602001 +1100105,41,6021,1,33,1,45,1,1,1,1,-9,4,6212,7980.0,602101 +1100105,41,6022,1,30,2,60,1,1,1,1,-9,4,9211MP,9370.0,602201 +1100105,41,6023,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,602301 +1100105,41,6024,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,602401 +1100105,41,6025,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,602501 +1100105,41,6026,1,30,2,45,1,1,1,1,-9,4,5411,7270.0,602601 +1100105,41,6027,1,33,2,60,1,1,1,1,-9,4,5411,7270.0,602701 +1100105,41,6028,1,27,2,60,1,1,1,1,-9,4,5411,7270.0,602801 +1100105,41,6029,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,602901 +1100105,41,6030,1,32,1,60,1,1,1,1,-9,4,522M,6890.0,603001 +1100105,41,6031,1,29,1,55,1,1,1,1,-9,4,5411,7270.0,603101 +1100105,41,6032,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,603201 +1100105,41,6033,1,33,1,45,1,1,1,1,-9,4,6212,7980.0,603301 +1100105,41,6034,1,32,1,60,1,1,1,1,-9,4,522M,6890.0,603401 +1100105,41,6035,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,603501 +1100105,41,6036,1,27,2,60,1,1,1,1,-9,4,5411,7270.0,603601 +1100105,41,6037,1,31,2,60,1,1,1,1,-9,4,5411,7270.0,603701 +1100105,41,6038,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,603801 +1100105,41,6039,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,603901 +1100105,41,6040,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,604001 +1100105,41,6041,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,604101 +1100105,41,6042,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,604201 +1100105,41,6043,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,604301 +1100105,41,6044,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,604401 +1100105,41,6045,1,81,1,-9,-9,6,1,1,-9,4,0,0.0,604501 +1100105,41,6046,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,604601 +1100105,41,6047,1,75,2,17,5,6,1,1,-9,4,813M,9170.0,604701 +1100105,41,6048,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,604801 +1100105,41,6049,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,604901 +1100105,41,6050,1,53,1,40,6,6,1,1,-9,4,44611,5070.0,605001 +1100105,41,6051,1,53,1,40,6,6,1,1,-9,4,44611,5070.0,605101 +1100105,41,6052,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,605201 +1100105,41,6053,1,34,1,50,3,3,1,1,-9,4,2211P,570.0,605301 +1100105,41,6054,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,605401 +1100105,41,6055,1,71,1,50,1,1,1,1,-9,4,5416,7390.0,605501 +1100105,41,6056,1,73,2,50,1,1,1,1,-9,4,92119,9390.0,605601 +1100105,41,6057,1,71,1,50,1,1,1,1,-9,4,5416,7390.0,605701 +1100105,41,6058,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,605801 +1100105,41,6059,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,605901 +1100105,41,6060,1,47,1,50,1,1,9,1,-9,4,611M1,7870.0,606001 +1100105,41,6061,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,606101 +1100105,41,6062,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,606201 +1100105,41,6063,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,606301 +1100105,41,6064,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,606401 +1100105,41,6065,1,37,2,75,1,1,6,1,-9,4,9211MP,9370.0,606501 +1100105,41,6066,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,606601 +1100105,41,6067,1,55,2,40,1,1,2,1,-9,4,92MP,9470.0,606701 +1100105,41,6068,1,52,2,60,1,1,2,1,-9,4,92M2,9570.0,606801 +1100105,41,6069,1,53,1,48,1,1,2,1,-9,4,928P,9590.0,606901 +1100105,41,6070,1,46,1,40,1,1,2,1,-9,4,5415,7380.0,607001 +1100105,41,6071,1,46,2,60,1,1,2,1,-9,4,522M,6890.0,607101 +1100105,41,6072,1,46,1,40,1,1,2,1,-9,4,5415,7380.0,607201 +1100105,41,6073,1,46,1,40,1,1,2,1,-9,4,5415,7380.0,607301 +1100105,41,6074,1,55,2,40,1,1,2,1,-9,4,92MP,9470.0,607401 +1100105,41,6075,1,40,2,40,1,1,1,1,-9,4,813M,9170.0,607501 +1100105,41,6076,1,51,1,40,1,1,1,1,-9,4,522M,6890.0,607601 +1100105,41,6077,1,38,1,50,1,1,1,1,-9,4,722Z,8680.0,607701 +1100105,41,6078,1,64,1,45,1,1,1,1,-9,4,92MP,9470.0,607801 +1100105,41,6079,1,52,2,60,1,1,1,1,-9,4,9211MP,9370.0,607901 +1100105,41,6080,1,48,1,40,1,1,1,1,-9,2,928P,9590.0,608001 +1100105,41,6081,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,608101 +1100105,41,6082,1,60,2,50,1,1,1,1,-9,4,8139Z,9190.0,608201 +1100105,41,6083,1,52,2,60,1,1,1,1,-9,4,9211MP,9370.0,608301 +1100105,41,6084,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,608401 +1100105,41,6085,1,64,1,45,1,1,1,1,-9,4,92MP,9470.0,608501 +1100105,41,6086,1,64,1,45,1,1,1,1,-9,4,92MP,9470.0,608601 +1100105,41,6087,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,608701 +1100105,41,6088,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,608801 +1100105,41,6089,1,39,1,50,1,1,1,1,-9,4,92MP,9470.0,608901 +1100105,41,6090,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,609001 +1100105,41,6091,1,50,1,60,1,1,1,1,-9,4,611M3,7890.0,609101 +1100105,41,6092,1,39,1,43,1,1,1,1,-9,4,481,6070.0,609201 +1100105,41,6093,1,61,2,42,1,1,1,1,-9,4,5415,7380.0,609301 +1100105,41,6094,1,59,1,40,1,1,1,1,-9,4,92M2,9570.0,609401 +1100105,41,6095,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,609501 +1100105,41,6096,1,48,1,40,1,1,1,1,-9,4,928P,9590.0,609601 +1100105,41,6097,1,53,1,50,1,1,1,1,-9,4,4238,4270.0,609701 +1100105,41,6098,1,48,1,40,1,1,1,1,-9,4,928P,9590.0,609801 +1100105,41,6099,1,49,2,55,1,1,1,1,-9,4,5415,7380.0,609901 +1100105,41,6100,1,46,1,50,1,1,1,1,-9,4,928P,9590.0,610001 +1100105,41,6101,1,48,2,40,1,1,1,1,-9,4,515,6670.0,610101 +1100105,41,6102,1,47,2,40,1,1,1,1,-9,4,92M2,9570.0,610201 +1100105,41,6103,1,49,2,60,1,1,1,1,-9,4,92MP,9470.0,610301 +1100105,41,6104,1,60,2,50,1,1,1,1,-9,4,8139Z,9190.0,610401 +1100105,41,6105,1,60,1,45,1,1,1,1,-9,4,812112,8980.0,610501 +1100105,41,6106,1,47,2,40,1,1,1,1,-9,4,92M2,9570.0,610601 +1100105,41,6107,1,61,2,42,1,1,1,1,-9,4,5415,7380.0,610701 +1100105,41,6108,1,50,2,70,1,1,1,1,-9,4,92M2,9570.0,610801 +1100105,41,6109,1,35,2,50,1,1,1,1,-9,4,5411,7270.0,610901 +1100105,41,6110,1,43,2,50,1,1,1,1,-9,4,5416,7390.0,611001 +1100105,41,6111,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,611101 +1100105,41,6112,1,40,2,40,1,1,1,1,-9,4,813M,9170.0,611201 +1100105,41,6113,1,50,1,60,1,1,1,1,-9,4,611M3,7890.0,611301 +1100105,41,6114,1,60,2,50,1,1,1,1,-9,4,8139Z,9190.0,611401 +1100105,41,6115,1,64,1,45,1,1,1,1,-9,4,92MP,9470.0,611501 +1100105,41,6116,1,39,1,50,1,1,1,1,-9,4,92MP,9470.0,611601 +1100105,41,6117,1,41,1,40,1,1,1,23,-9,4,3254,2190.0,611701 +1100105,41,6118,1,39,1,40,1,1,1,2,-9,4,9211MP,9370.0,611801 +1100105,41,6119,1,41,1,40,1,1,1,23,-9,4,3254,2190.0,611901 +1100105,41,6120,1,39,1,40,1,1,1,2,-9,4,9211MP,9370.0,612001 +1100105,41,6121,1,41,1,40,1,1,1,23,-9,4,3254,2190.0,612101 +1100105,41,6122,1,39,1,40,1,1,1,2,-9,4,9211MP,9370.0,612201 +1100105,41,6123,1,29,1,84,1,1,6,1,-9,4,5613,7580.0,612301 +1100105,41,6124,1,26,2,48,1,1,6,1,-9,4,5411,7270.0,612401 +1100105,41,6125,1,27,1,45,1,1,2,1,-9,4,5411,7270.0,612501 +1100105,41,6126,1,28,1,70,1,1,2,1,-9,4,5416,7390.0,612601 +1100105,41,6127,1,28,1,70,1,1,2,1,-9,4,5416,7390.0,612701 +1100105,41,6128,1,28,1,70,1,1,2,1,-9,4,5416,7390.0,612801 +1100105,41,6129,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,612901 +1100105,41,6130,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,613001 +1100105,41,6131,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,613101 +1100105,41,6132,1,33,1,60,1,1,1,1,-9,4,515,6670.0,613201 +1100105,41,6133,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,613301 +1100105,41,6134,1,26,2,55,1,1,1,1,-9,4,5411,7270.0,613401 +1100105,41,6135,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,613501 +1100105,41,6136,1,33,1,50,1,1,1,1,-9,4,5415,7380.0,613601 +1100105,41,6137,1,32,1,60,1,1,1,1,-9,4,5416,7390.0,613701 +1100105,41,6138,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,613801 +1100105,41,6139,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,613901 +1100105,41,6140,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,614001 +1100105,41,6141,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,614101 +1100105,41,6142,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,614201 +1100105,41,6143,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,614301 +1100105,41,6144,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,614401 +1100105,41,6145,1,23,1,40,4,1,1,1,-9,4,5241,6991.0,614501 +1100105,41,6146,1,27,1,55,1,1,1,1,-9,4,522M,6890.0,614601 +1100105,41,6147,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,614701 +1100105,41,6148,1,25,2,40,1,1,1,1,-9,4,5416,7390.0,614801 +1100105,41,6149,1,33,1,60,1,1,1,1,-9,4,515,6670.0,614901 +1100105,41,6150,1,30,1,50,1,1,1,1,-9,4,561M,7780.0,615001 +1100105,41,6151,1,32,2,80,1,1,1,1,-9,4,611M3,7890.0,615101 +1100105,41,6152,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,615201 +1100105,41,6153,1,26,2,60,1,1,1,1,-9,4,5411,7270.0,615301 +1100105,41,6154,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,615401 +1100105,41,6155,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,615501 +1100105,41,6156,1,33,1,50,1,1,1,1,-9,4,5415,7380.0,615601 +1100105,41,6157,1,32,2,80,1,1,1,1,-9,4,611M3,7890.0,615701 +1100105,41,6158,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,615801 +1100105,41,6159,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,615901 +1100105,41,6160,1,28,1,20,1,1,1,1,-9,4,5615,7670.0,616001 +1100105,41,6161,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,616101 +1100105,41,6162,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,616201 +1100105,41,6163,1,49,2,20,4,6,1,1,-9,4,722Z,8680.0,616301 +1100105,41,6164,1,51,1,60,3,3,1,1,-9,4,3254,2190.0,616401 +1100105,41,6165,1,69,2,40,1,1,2,1,-9,4,611M1,7870.0,616501 +1100105,41,6166,1,67,1,40,1,1,2,1,-9,4,92M2,9570.0,616601 +1100105,41,6167,1,67,1,40,1,1,2,1,-9,4,92M2,9570.0,616701 +1100105,41,6168,1,66,2,40,1,1,1,1,16,4,6111,7860.0,616801 +1100105,41,6169,1,66,2,40,1,1,1,1,16,4,6111,7860.0,616901 +1100105,41,6170,1,66,2,40,1,1,1,1,16,4,6111,7860.0,617001 +1100105,41,6171,1,83,1,18,5,1,1,1,-9,2,5411,7270.0,617101 +1100105,41,6172,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,617201 +1100105,41,6173,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,617301 +1100105,41,6174,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,617401 +1100105,41,6175,1,46,1,40,1,1,9,1,-9,4,928P,9590.0,617501 +1100105,41,6176,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,617601 +1100105,41,6177,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,617701 +1100105,41,6178,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,617801 +1100105,41,6179,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,617901 +1100105,41,6180,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,618001 +1100105,41,6181,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,618101 +1100105,41,6182,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,618201 +1100105,41,6183,1,42,2,70,1,1,7,1,-9,4,44511,4971.0,618301 +1100105,41,6184,1,42,1,50,1,1,9,1,-9,4,813M,9170.0,618401 +1100105,41,6185,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,618501 +1100105,41,6186,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,618601 +1100105,41,6187,1,42,2,70,1,1,7,1,-9,4,44511,4971.0,618701 +1100105,41,6188,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,618801 +1100105,41,6189,1,42,1,50,1,1,9,1,-9,4,813M,9170.0,618901 +1100105,41,6190,1,36,2,40,1,1,9,1,-9,4,928P,9590.0,619001 +1100105,41,6191,1,46,1,40,1,1,9,1,-9,4,928P,9590.0,619101 +1100105,41,6192,1,46,1,40,1,1,9,1,-9,4,928P,9590.0,619201 +1100105,41,6193,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,619301 +1100105,41,6194,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,619401 +1100105,41,6195,1,39,2,40,1,1,6,1,-9,4,42S,4590.0,619501 +1100105,41,6196,1,42,2,50,1,1,6,1,-9,4,813M,9170.0,619601 +1100105,41,6197,1,43,2,40,1,1,6,1,-9,4,928P,9590.0,619701 +1100105,41,6198,1,36,1,50,1,1,6,1,15,4,813M,9170.0,619801 +1100105,41,6199,1,40,1,40,1,1,6,1,-9,4,7211,8660.0,619901 +1100105,41,6200,1,42,2,50,1,1,6,1,-9,4,813M,9170.0,620001 +1100105,41,6201,1,39,2,40,1,1,6,1,-9,4,42S,4590.0,620101 +1100105,41,6202,1,37,1,40,1,1,6,1,-9,4,515,6670.0,620201 +1100105,41,6203,1,35,2,60,1,1,6,1,-9,4,488,6290.0,620301 +1100105,41,6204,1,42,1,40,1,1,6,1,-9,4,8139Z,9190.0,620401 +1100105,41,6205,1,46,2,55,1,1,6,1,-9,4,5613,7580.0,620501 +1100105,41,6206,1,37,1,11,1,1,6,1,-9,4,5415,7380.0,620601 +1100105,41,6207,1,46,2,40,1,1,2,1,-9,4,923,9480.0,620701 +1100105,41,6208,1,35,2,50,1,1,2,1,-9,4,5416,7390.0,620801 +1100105,41,6209,1,44,1,50,1,1,2,1,-9,4,5613,7580.0,620901 +1100105,41,6210,1,35,2,50,1,1,2,1,-9,4,5416,7390.0,621001 +1100105,41,6211,1,52,2,40,1,1,2,1,-9,4,928P,9590.0,621101 +1100105,41,6212,1,42,2,40,1,1,2,1,-9,4,928P,9590.0,621201 +1100105,41,6213,1,35,2,50,1,1,2,1,-9,4,5416,7390.0,621301 +1100105,41,6214,1,42,2,40,1,1,2,1,-9,4,928P,9590.0,621401 +1100105,41,6215,1,40,2,40,1,1,2,1,-9,4,928P,9590.0,621501 +1100105,41,6216,1,55,2,40,1,1,2,1,-9,2,9211MP,9370.0,621601 +1100105,41,6217,1,50,1,50,1,1,2,1,-9,4,52M2,6970.0,621701 +1100105,41,6218,1,64,2,60,1,1,2,1,-9,4,813M,9170.0,621801 +1100105,41,6219,1,59,1,40,1,1,2,1,-9,4,92M2,9570.0,621901 +1100105,41,6220,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,622001 +1100105,41,6221,1,36,1,50,2,1,1,1,-9,4,92MP,9470.0,622101 +1100105,41,6222,1,54,1,40,1,1,1,1,-9,4,23,770.0,622201 +1100105,41,6223,1,42,2,52,1,1,1,1,-9,4,5417,7460.0,622301 +1100105,41,6224,1,38,2,50,1,1,1,1,-9,4,561M,7780.0,622401 +1100105,41,6225,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,622501 +1100105,41,6226,1,50,1,40,1,1,1,1,-9,4,92119,9390.0,622601 +1100105,41,6227,1,48,2,40,1,1,1,1,15,4,334M2,3390.0,622701 +1100105,41,6228,1,35,1,40,1,1,1,1,-9,4,5417,7460.0,622801 +1100105,41,6229,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,622901 +1100105,41,6230,1,42,2,46,1,1,1,1,16,4,5415,7380.0,623001 +1100105,41,6231,1,59,1,45,1,1,1,1,-9,4,5221M,6880.0,623101 +1100105,41,6232,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,623201 +1100105,41,6233,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,623301 +1100105,41,6234,1,35,1,40,1,1,1,1,-9,4,5417,7460.0,623401 +1100105,41,6235,1,59,1,45,1,1,1,1,-9,4,5221M,6880.0,623501 +1100105,41,6236,1,44,2,50,1,1,1,1,-9,4,5416,7390.0,623601 +1100105,41,6237,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,623701 +1100105,41,6238,1,36,2,40,1,1,1,1,16,4,5419Z,7490.0,623801 +1100105,41,6239,1,53,1,50,1,1,1,1,-9,4,8139Z,9190.0,623901 +1100105,41,6240,1,43,2,47,1,1,1,1,-9,4,928P,9590.0,624001 +1100105,41,6241,1,57,1,40,1,1,1,1,-9,4,712,8570.0,624101 +1100105,41,6242,1,51,1,40,1,1,1,1,-9,4,23,770.0,624201 +1100105,41,6243,1,40,1,40,1,1,1,1,-9,4,92M2,9570.0,624301 +1100105,41,6244,1,42,2,40,1,1,1,1,-9,4,92M2,9570.0,624401 +1100105,41,6245,1,63,1,40,1,1,1,1,-9,4,3333,3095.0,624501 +1100105,41,6246,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,624601 +1100105,41,6247,1,49,2,40,1,1,1,1,-9,4,92M2,9570.0,624701 +1100105,41,6248,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,624801 +1100105,41,6249,1,60,1,40,1,1,1,1,-9,4,814,9290.0,624901 +1100105,41,6250,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,625001 +1100105,41,6251,1,55,1,45,1,1,1,1,-9,4,8139Z,9190.0,625101 +1100105,41,6252,1,58,2,50,1,1,1,1,-9,4,515,6670.0,625201 +1100105,41,6253,1,51,1,40,1,1,1,1,-9,4,23,770.0,625301 +1100105,41,6254,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,625401 +1100105,41,6255,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,625501 +1100105,41,6256,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,625601 +1100105,41,6257,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,625701 +1100105,41,6258,1,63,2,80,1,1,1,1,-9,4,5418,7470.0,625801 +1100105,41,6259,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,625901 +1100105,41,6260,1,39,1,50,1,1,1,1,-9,4,52M2,6970.0,626001 +1100105,41,6261,1,42,1,50,1,1,1,1,-9,4,928P,9590.0,626101 +1100105,41,6262,1,54,2,50,1,1,1,1,-9,4,5241,6991.0,626201 +1100105,41,6263,1,46,1,50,1,1,1,1,-9,2,92MP,9470.0,626301 +1100105,41,6264,1,58,2,50,1,1,1,1,-9,4,23,770.0,626401 +1100105,41,6265,1,38,1,40,1,1,1,1,-9,4,712,8570.0,626501 +1100105,41,6266,1,35,1,45,1,1,1,1,-9,4,923,9480.0,626601 +1100105,41,6267,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,626701 +1100105,41,6268,1,36,1,50,1,1,1,1,16,2,928P,9590.0,626801 +1100105,41,6269,1,60,1,50,1,1,1,1,-9,4,5417,7460.0,626901 +1100105,41,6270,1,53,1,50,1,1,1,1,-9,4,8139Z,9190.0,627001 +1100105,41,6271,1,41,1,40,1,1,1,1,-9,2,3254,2190.0,627101 +1100105,41,6272,1,54,2,50,1,1,1,1,-9,4,5241,6991.0,627201 +1100105,41,6273,1,52,1,50,1,1,1,1,-9,4,611M1,7870.0,627301 +1100105,41,6274,1,44,2,50,1,1,1,1,-9,4,928P,9590.0,627401 +1100105,41,6275,1,39,2,40,1,1,1,1,-9,4,92M2,9570.0,627501 +1100105,41,6276,1,39,2,60,1,1,1,1,15,4,923,9480.0,627601 +1100105,41,6277,1,60,1,40,1,1,1,1,-9,4,814,9290.0,627701 +1100105,41,6278,1,44,2,50,1,1,1,1,-9,4,5416,7390.0,627801 +1100105,41,6279,1,42,2,47,1,1,1,1,-9,4,813M,9170.0,627901 +1100105,41,6280,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,628001 +1100105,41,6281,1,36,1,50,1,1,1,1,16,2,928P,9590.0,628101 +1100105,41,6282,1,35,1,45,1,1,1,1,-9,4,923,9480.0,628201 +1100105,41,6283,1,42,2,52,1,1,1,1,-9,4,5417,7460.0,628301 +1100105,41,6284,1,36,2,40,1,1,1,1,16,4,5419Z,7490.0,628401 +1100105,41,6285,1,36,1,50,1,1,1,1,-9,4,7211,8660.0,628501 +1100105,41,6286,1,37,2,40,1,1,1,1,-9,4,9211MP,9370.0,628601 +1100105,41,6287,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,628701 +1100105,41,6288,1,46,1,50,1,1,1,1,-9,2,92MP,9470.0,628801 +1100105,41,6289,1,38,1,40,1,1,1,1,-9,2,5415,7380.0,628901 +1100105,41,6290,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,629001 +1100105,41,6291,1,42,1,50,1,1,1,1,-9,4,5416,7390.0,629101 +1100105,41,6292,1,37,2,50,1,1,1,1,-9,4,515,6670.0,629201 +1100105,41,6293,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,629301 +1100105,41,6294,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,629401 +1100105,41,6295,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,629501 +1100105,41,6296,1,35,1,45,1,1,1,1,-9,4,923,9480.0,629601 +1100105,41,6297,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,629701 +1100105,41,6298,1,58,1,40,1,1,1,1,-9,4,92M1,9490.0,629801 +1100105,41,6299,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,629901 +1100105,41,6300,1,42,1,50,1,1,1,1,-9,4,928P,9590.0,630001 +1100105,41,6301,1,42,1,50,1,1,1,1,-9,4,5416,7390.0,630101 +1100105,41,6302,1,42,2,44,1,1,1,1,-9,4,5416,7390.0,630201 +1100105,41,6303,1,40,1,40,1,1,1,1,-9,4,923,9480.0,630301 +1100105,41,6304,1,36,1,50,1,1,1,1,-9,4,7211,8660.0,630401 +1100105,41,6305,1,59,1,45,1,1,1,1,-9,4,5221M,6880.0,630501 +1100105,41,6306,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,630601 +1100105,41,6307,1,53,1,40,1,1,1,1,-9,4,33641M1,3580.0,630701 +1100105,41,6308,1,39,2,60,1,1,1,1,15,4,923,9480.0,630801 +1100105,41,6309,1,37,1,40,1,1,1,1,-9,4,923,9480.0,630901 +1100105,41,6310,1,49,2,40,1,1,1,1,-9,4,92M2,9570.0,631001 +1100105,41,6311,1,37,1,40,2,1,1,1,-9,4,5417,7460.0,631101 +1100105,41,6312,1,51,1,40,1,1,1,1,-9,4,23,770.0,631201 +1100105,41,6313,1,40,1,40,1,1,1,1,-9,4,5415,7380.0,631301 +1100105,41,6314,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,631401 +1100105,41,6315,1,57,1,40,1,1,1,1,-9,4,23,770.0,631501 +1100105,41,6316,1,40,1,40,1,1,1,1,-9,4,923,9480.0,631601 +1100105,41,6317,1,39,2,60,1,1,1,1,-9,4,928P,9590.0,631701 +1100105,41,6318,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,631801 +1100105,41,6319,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,631901 +1100105,41,6320,1,42,2,40,1,1,1,1,-9,4,92M2,9570.0,632001 +1100105,41,6321,1,47,1,35,1,1,1,1,-9,4,611M1,7870.0,632101 +1100105,41,6322,1,41,1,32,1,1,1,1,-9,4,62132,8070.0,632201 +1100105,41,6323,1,44,2,50,1,1,1,1,-9,4,5416,7390.0,632301 +1100105,41,6324,1,54,2,40,1,1,1,1,-9,4,928P,9590.0,632401 +1100105,41,6325,1,51,1,40,1,1,1,1,-9,4,23,770.0,632501 +1100105,41,6326,1,53,1,40,1,1,1,1,-9,4,33641M1,3580.0,632601 +1100105,41,6327,1,54,1,40,1,1,1,1,-9,4,6111,7860.0,632701 +1100105,41,6328,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,632801 +1100105,41,6329,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,632901 +1100105,41,6330,1,41,1,40,1,1,1,1,-9,2,3254,2190.0,633001 +1100105,41,6331,1,52,2,40,1,1,1,1,-9,4,92M2,9570.0,633101 +1100105,41,6332,1,58,1,40,1,1,1,1,-9,4,813M,9170.0,633201 +1100105,41,6333,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,633301 +1100105,41,6334,1,54,2,40,1,1,1,1,-9,4,928P,9590.0,633401 +1100105,41,6335,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,633501 +1100105,41,6336,1,51,1,40,1,1,1,1,-9,4,5416,7390.0,633601 +1100105,41,6337,1,51,1,40,1,1,1,1,-9,4,23,770.0,633701 +1100105,41,6338,1,54,1,40,1,1,1,1,-9,4,23,770.0,633801 +1100105,41,6339,1,39,2,60,1,1,1,1,15,4,923,9480.0,633901 +1100105,41,6340,1,42,2,44,1,1,1,1,-9,4,5416,7390.0,634001 +1100105,41,6341,1,53,1,50,1,1,1,1,-9,4,8139Z,9190.0,634101 +1100105,41,6342,1,40,1,40,1,1,1,1,-9,4,5415,7380.0,634201 +1100105,41,6343,1,44,2,50,1,1,1,1,-9,4,928P,9590.0,634301 +1100105,41,6344,1,62,2,50,1,1,1,1,-9,2,8139Z,9190.0,634401 +1100105,41,6345,1,53,1,40,4,1,1,1,-9,4,5415,7380.0,634501 +1100105,41,6346,1,53,1,40,1,1,1,1,-9,4,4232,4080.0,634601 +1100105,41,6347,1,44,2,50,1,1,1,1,-9,4,5416,7390.0,634701 +1100105,41,6348,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,634801 +1100105,41,6349,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,634901 +1100105,41,6350,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,635001 +1100105,41,6351,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,635101 +1100105,41,6352,1,62,2,60,1,1,1,1,-9,4,611M1,7870.0,635201 +1100105,41,6353,1,40,1,50,1,1,1,1,15,4,813M,9170.0,635301 +1100105,41,6354,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,635401 +1100105,41,6355,1,38,1,50,1,1,1,1,-9,4,443142,4795.0,635501 +1100105,41,6356,1,58,1,40,1,1,1,1,-9,4,92M1,9490.0,635601 +1100105,41,6357,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,635701 +1100105,41,6358,1,51,1,40,1,1,1,1,-9,2,5417,7460.0,635801 +1100105,41,6359,1,37,2,40,1,1,1,1,-9,4,9211MP,9370.0,635901 +1100105,41,6360,1,54,2,40,1,1,1,1,-9,4,928P,9590.0,636001 +1100105,41,6361,1,53,1,38,1,1,1,1,-9,4,52M2,6970.0,636101 +1100105,41,6362,1,36,1,50,1,1,1,1,16,2,928P,9590.0,636201 +1100105,41,6363,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,636301 +1100105,41,6364,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,636401 +1100105,41,6365,1,39,1,40,1,1,1,1,-9,4,928P,9590.0,636501 +1100105,41,6366,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,636601 +1100105,41,6367,1,53,1,40,1,1,1,1,-9,4,33641M1,3580.0,636701 +1100105,41,6368,1,48,2,40,1,1,1,1,15,4,334M2,3390.0,636801 +1100105,41,6369,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,636901 +1100105,41,6370,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,637001 +1100105,41,6371,1,53,1,40,1,1,1,1,-9,4,4232,4080.0,637101 +1100105,41,6372,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,637201 +1100105,41,6373,1,35,2,40,1,1,1,1,-9,4,928P,9590.0,637301 +1100105,41,6374,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,637401 +1100105,41,6375,1,58,2,50,1,1,1,1,-9,4,23,770.0,637501 +1100105,41,6376,1,44,1,40,1,1,1,16,-9,2,23,770.0,637601 +1100105,41,6377,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,637701 +1100105,41,6378,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,637801 +1100105,41,6379,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,637901 +1100105,41,6380,1,39,1,40,1,1,1,16,-9,4,923,9480.0,638001 +1100105,41,6381,1,39,1,42,1,1,1,2,-9,2,9211MP,9370.0,638101 +1100105,41,6382,1,37,1,70,1,1,1,24,-9,4,8139Z,9190.0,638201 +1100105,41,6383,1,36,1,45,1,1,1,11,-9,4,5411,7270.0,638301 +1100105,41,6384,1,35,2,50,1,1,1,2,-9,4,33641M1,3580.0,638401 +1100105,41,6385,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,638501 +1100105,41,6386,1,44,2,40,1,1,1,5,16,4,621M,8180.0,638601 +1100105,41,6387,1,62,1,45,1,1,1,24,-9,2,611M3,7890.0,638701 +1100105,41,6388,1,40,2,40,1,1,1,24,-9,4,923,9480.0,638801 +1100105,41,6389,1,57,2,70,1,1,1,16,-9,4,813M,9170.0,638901 +1100105,41,6390,1,39,1,42,1,1,1,2,-9,2,9211MP,9370.0,639001 +1100105,41,6391,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,639101 +1100105,41,6392,1,36,1,45,1,1,1,11,-9,4,5411,7270.0,639201 +1100105,41,6393,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,639301 +1100105,41,6394,1,39,2,45,1,1,1,23,-9,4,51111,6470.0,639401 +1100105,41,6395,1,39,1,40,1,1,1,16,-9,4,923,9480.0,639501 +1100105,41,6396,1,36,1,45,1,1,1,11,-9,4,5411,7270.0,639601 +1100105,41,6397,1,37,1,70,1,1,1,24,-9,4,8139Z,9190.0,639701 +1100105,41,6398,1,36,2,90,1,1,1,2,-9,4,813M,9170.0,639801 +1100105,41,6399,1,36,1,45,1,1,1,11,-9,4,5411,7270.0,639901 +1100105,41,6400,1,37,1,70,1,1,1,24,-9,4,8139Z,9190.0,640001 +1100105,41,6401,1,44,1,40,1,1,1,16,-9,2,23,770.0,640101 +1100105,41,6402,1,40,2,40,1,1,1,24,-9,4,923,9480.0,640201 +1100105,41,6403,1,57,2,70,1,1,1,16,-9,4,813M,9170.0,640301 +1100105,41,6404,1,36,2,90,1,1,1,2,-9,4,813M,9170.0,640401 +1100105,41,6405,1,44,1,40,1,1,1,16,-9,2,23,770.0,640501 +1100105,41,6406,1,30,2,60,1,1,9,1,-9,4,5182,6695.0,640601 +1100105,41,6407,1,31,1,40,1,1,9,1,-9,4,53M,7190.0,640701 +1100105,41,6408,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,640801 +1100105,41,6409,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,640901 +1100105,41,6410,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,641001 +1100105,41,6411,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,641101 +1100105,41,6412,1,30,2,60,1,1,9,1,-9,4,5182,6695.0,641201 +1100105,41,6413,1,26,2,45,2,1,9,1,-9,4,9211MP,9370.0,641301 +1100105,41,6414,1,30,2,60,1,1,9,1,-9,4,5182,6695.0,641401 +1100105,41,6415,1,26,2,45,2,1,9,1,-9,4,9211MP,9370.0,641501 +1100105,41,6416,1,31,1,40,1,1,6,1,-9,4,53M,7190.0,641601 +1100105,41,6417,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,641701 +1100105,41,6418,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,641801 +1100105,41,6419,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,641901 +1100105,41,6420,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,642001 +1100105,41,6421,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,642101 +1100105,41,6422,1,27,2,40,1,1,2,1,-9,4,5416,7390.0,642201 +1100105,41,6423,1,24,1,50,1,1,2,1,-9,4,5415,7380.0,642301 +1100105,41,6424,1,24,1,50,1,1,2,1,-9,4,5415,7380.0,642401 +1100105,41,6425,1,31,2,25,1,1,2,1,-9,4,5613,7580.0,642501 +1100105,41,6426,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,642601 +1100105,41,6427,1,32,2,55,1,1,1,1,-9,4,928P,9590.0,642701 +1100105,41,6428,1,31,1,50,1,1,1,1,-9,4,621M,8180.0,642801 +1100105,41,6429,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,642901 +1100105,41,6430,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,643001 +1100105,41,6431,1,32,1,45,1,1,1,1,-9,4,92MP,9470.0,643101 +1100105,41,6432,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,643201 +1100105,41,6433,1,29,2,40,1,1,1,1,-9,4,5411,7270.0,643301 +1100105,41,6434,1,33,2,40,1,1,1,1,-9,4,611M3,7890.0,643401 +1100105,41,6435,1,23,1,50,1,1,1,1,-9,4,23,770.0,643501 +1100105,41,6436,1,29,1,40,1,1,1,1,-9,4,928P,9590.0,643601 +1100105,41,6437,1,34,2,60,1,1,1,1,-9,4,5417,7460.0,643701 +1100105,41,6438,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,643801 +1100105,41,6439,1,29,2,50,1,1,1,1,-9,4,531M,7071.0,643901 +1100105,41,6440,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,644001 +1100105,41,6441,1,32,2,40,1,1,1,1,-9,4,92MP,9470.0,644101 +1100105,41,6442,1,33,2,50,1,1,1,1,-9,4,928P,9590.0,644201 +1100105,41,6443,1,23,1,50,1,1,1,1,-9,4,23,770.0,644301 +1100105,41,6444,1,33,1,40,3,1,1,1,-9,4,928P,9590.0,644401 +1100105,41,6445,1,34,1,40,1,1,1,1,16,4,5415,7380.0,644501 +1100105,41,6446,1,33,1,40,1,1,1,1,-9,4,9211MP,9370.0,644601 +1100105,41,6447,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,644701 +1100105,41,6448,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,644801 +1100105,41,6449,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,644901 +1100105,41,6450,1,29,2,45,1,1,1,1,-9,4,813M,9170.0,645001 +1100105,41,6451,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,645101 +1100105,41,6452,1,27,1,60,1,1,1,1,-9,4,5419Z,7490.0,645201 +1100105,41,6453,1,29,1,40,1,4,1,1,-9,1,928110P3,9690.0,645301 +1100105,41,6454,1,30,2,50,1,1,1,1,-9,4,522M,6890.0,645401 +1100105,41,6455,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,645501 +1100105,41,6456,1,33,2,50,1,1,1,1,-9,4,621M,8180.0,645601 +1100105,41,6457,1,32,2,40,1,1,1,1,-9,4,92MP,9470.0,645701 +1100105,41,6458,1,34,2,45,1,1,1,1,-9,4,92M2,9570.0,645801 +1100105,41,6459,1,26,1,40,1,1,1,1,-9,4,52M2,6970.0,645901 +1100105,41,6460,1,29,1,60,1,1,1,1,-9,4,531M,7071.0,646001 +1100105,41,6461,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,646101 +1100105,41,6462,1,28,2,50,1,1,1,1,-9,4,92113,9380.0,646201 +1100105,41,6463,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,646301 +1100105,41,6464,1,33,2,50,1,1,1,1,-9,4,621M,8180.0,646401 +1100105,41,6465,1,29,2,50,1,1,1,1,-9,4,5418,7470.0,646501 +1100105,41,6466,1,29,1,40,1,1,1,1,-9,4,928P,9590.0,646601 +1100105,41,6467,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,646701 +1100105,41,6468,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,646801 +1100105,41,6469,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,646901 +1100105,41,6470,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,647001 +1100105,41,6471,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,647101 +1100105,41,6472,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,647201 +1100105,41,6473,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,647301 +1100105,41,6474,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,647401 +1100105,41,6475,1,34,1,45,1,1,1,1,-9,2,928P,9590.0,647501 +1100105,41,6476,1,31,1,42,1,1,1,1,-9,4,8139Z,9190.0,647601 +1100105,41,6477,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,647701 +1100105,41,6478,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,647801 +1100105,41,6479,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,647901 +1100105,41,6480,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,648001 +1100105,41,6481,1,34,1,40,1,1,1,1,16,4,5415,7380.0,648101 +1100105,41,6482,1,33,2,40,1,1,1,1,-9,4,5416,7390.0,648201 +1100105,41,6483,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,648301 +1100105,41,6484,1,33,1,40,1,1,1,1,-9,4,928P,9590.0,648401 +1100105,41,6485,1,34,2,50,1,1,1,1,-9,4,92MP,9470.0,648501 +1100105,41,6486,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,648601 +1100105,41,6487,1,30,1,48,1,1,1,1,-9,4,7211,8660.0,648701 +1100105,41,6488,1,29,1,60,1,1,1,1,-9,4,531M,7071.0,648801 +1100105,41,6489,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,648901 +1100105,41,6490,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,649001 +1100105,41,6491,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,649101 +1100105,41,6492,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,649201 +1100105,41,6493,1,32,2,50,1,1,1,1,-9,4,52M2,6970.0,649301 +1100105,41,6494,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,649401 +1100105,41,6495,1,31,1,60,1,1,1,1,16,4,5415,7380.0,649501 +1100105,41,6496,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,649601 +1100105,41,6497,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,649701 +1100105,41,6498,1,29,1,40,1,1,1,1,-9,4,928P,9590.0,649801 +1100105,41,6499,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,649901 +1100105,41,6500,1,31,2,40,1,1,1,1,16,4,813M,9170.0,650001 +1100105,41,6501,1,29,2,60,1,1,1,1,-9,4,5412,7280.0,650101 +1100105,41,6502,1,34,2,45,1,1,1,1,-9,4,9211MP,9370.0,650201 +1100105,41,6503,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,650301 +1100105,41,6504,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,650401 +1100105,41,6505,1,31,2,40,1,1,1,1,16,4,813M,9170.0,650501 +1100105,41,6506,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,650601 +1100105,41,6507,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,650701 +1100105,41,6508,1,32,1,45,1,1,1,1,-9,4,522M,6890.0,650801 +1100105,41,6509,1,29,2,50,1,1,1,1,-9,4,531M,7071.0,650901 +1100105,41,6510,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,651001 +1100105,41,6511,1,32,1,40,1,1,1,1,-9,4,6111,7860.0,651101 +1100105,41,6512,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,651201 +1100105,41,6513,1,25,1,40,1,1,1,1,-9,4,5416,7390.0,651301 +1100105,41,6514,1,29,1,50,1,1,1,1,-9,4,5418,7470.0,651401 +1100105,41,6515,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,651501 +1100105,41,6516,1,25,2,40,1,1,1,1,16,4,3391,3960.0,651601 +1100105,41,6517,1,31,2,40,1,1,1,1,16,4,813M,9170.0,651701 +1100105,41,6518,1,28,1,40,1,1,1,1,16,2,5414,7370.0,651801 +1100105,41,6519,1,29,1,40,1,1,1,1,-9,4,813M,9170.0,651901 +1100105,41,6520,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,652001 +1100105,41,6521,1,32,2,50,1,1,1,1,-9,4,5416,7390.0,652101 +1100105,41,6522,1,34,2,45,1,1,1,1,-9,4,9211MP,9370.0,652201 +1100105,41,6523,1,33,2,40,1,1,1,1,-9,4,611M3,7890.0,652301 +1100105,41,6524,1,34,2,50,1,1,1,1,-9,4,92MP,9470.0,652401 +1100105,41,6525,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,652501 +1100105,41,6526,1,28,2,50,1,1,1,1,-9,4,5614,7590.0,652601 +1100105,41,6527,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,652701 +1100105,41,6528,1,31,1,50,1,1,1,1,-9,4,923,9480.0,652801 +1100105,41,6529,1,33,1,55,1,1,1,1,-9,2,92MP,9470.0,652901 +1100105,41,6530,1,32,1,40,2,1,1,1,-9,4,928P,9590.0,653001 +1100105,41,6531,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,653101 +1100105,41,6532,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,653201 +1100105,41,6533,1,29,1,60,1,1,1,1,-9,4,531M,7071.0,653301 +1100105,41,6534,1,29,2,50,1,1,1,1,-9,4,531M,7071.0,653401 +1100105,41,6535,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,653501 +1100105,41,6536,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,653601 +1100105,41,6537,1,33,1,50,1,1,1,3,-9,4,622M,8191.0,653701 +1100105,41,6538,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,653801 +1100105,41,6539,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,653901 +1100105,41,6540,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,654001 +1100105,41,6541,1,33,1,50,1,1,1,3,-9,4,622M,8191.0,654101 +1100105,41,6542,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,654201 +1100105,41,6543,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,654301 +1100105,41,6544,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,654401 +1100105,41,6545,1,33,1,50,1,1,1,3,-9,4,622M,8191.0,654501 +1100105,41,6546,1,33,1,50,1,1,1,3,-9,4,622M,8191.0,654601 +1100105,41,6547,1,29,2,40,1,1,1,2,-9,4,928P,9590.0,654701 +1100105,41,6548,1,32,2,40,1,1,9,11,-9,4,813M,9170.0,654801 +1100105,41,6549,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,654901 +1100105,41,6550,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,655001 +1100105,41,6551,1,34,1,40,1,4,1,2,-9,1,928110P5,9780.0,655101 +1100105,41,6552,1,71,1,-9,-9,6,2,1,-9,4,0,0.0,655201 +1100105,41,6553,1,78,1,-9,-9,6,1,1,-9,2,0,0.0,655301 +1100105,41,6554,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,655401 +1100105,41,6555,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,655501 +1100105,41,6556,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,655601 +1100105,41,6557,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,655701 +1100105,41,6558,1,78,1,-9,-9,6,1,1,-9,2,0,0.0,655801 +1100105,41,6559,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,655901 +1100105,41,6560,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,656001 +1100105,41,6561,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,656101 +1100105,41,6562,1,47,2,50,5,3,9,1,-9,4,81393,9180.0,656201 +1100105,41,6563,1,47,2,50,5,3,9,1,-9,4,81393,9180.0,656301 +1100105,41,6564,1,57,1,-9,-9,6,1,1,-9,4,813M,9170.0,656401 +1100105,41,6565,1,57,1,-9,-9,6,1,1,-9,4,813M,9170.0,656501 +1100105,41,6566,1,57,1,-9,-9,6,1,1,-9,4,813M,9170.0,656601 +1100105,41,6567,1,34,1,60,1,3,9,1,-9,4,5416,7390.0,656701 +1100105,41,6568,1,34,1,60,1,3,9,1,-9,4,5416,7390.0,656801 +1100105,41,6569,1,34,1,60,1,3,9,1,-9,4,5416,7390.0,656901 +1100105,41,6570,1,69,1,40,1,1,2,1,-9,4,6214,8090.0,657001 +1100105,41,6571,1,67,1,28,1,1,2,1,-9,4,531M,7071.0,657101 +1100105,41,6572,1,65,1,40,1,1,2,1,-9,4,92M2,9570.0,657201 +1100105,41,6573,1,65,2,40,1,1,2,1,-9,4,5411,7270.0,657301 +1100105,41,6574,1,71,1,40,4,1,2,1,-9,2,484,6170.0,657401 +1100105,41,6575,1,67,2,39,3,1,1,1,-9,4,51912,6770.0,657501 +1100105,41,6576,1,66,1,20,1,1,1,1,-9,2,92119,9390.0,657601 +1100105,41,6577,1,65,1,45,4,1,1,1,-9,4,92M2,9570.0,657701 +1100105,41,6578,1,67,2,39,3,1,1,1,-9,4,51912,6770.0,657801 +1100105,41,6579,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,657901 +1100105,41,6580,1,76,2,8,3,1,1,1,-9,4,6211,7970.0,658001 +1100105,41,6581,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,658101 +1100105,41,6582,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,658201 +1100105,41,6583,1,67,2,39,3,1,1,1,-9,4,51912,6770.0,658301 +1100105,41,6584,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,658401 +1100105,41,6585,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,658501 +1100105,41,6586,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,658601 +1100105,41,6587,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,658701 +1100105,41,6588,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,658801 +1100105,41,6589,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,658901 +1100105,41,6590,1,46,2,40,3,1,9,1,-9,4,5191ZM,6780.0,659001 +1100105,41,6591,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,659101 +1100105,41,6592,1,53,1,40,1,1,6,1,-9,4,712,8570.0,659201 +1100105,41,6593,1,39,2,40,1,1,6,1,-9,4,5221M,6880.0,659301 +1100105,41,6594,1,53,1,40,1,1,6,1,-9,4,712,8570.0,659401 +1100105,41,6595,1,41,1,40,1,1,6,1,-9,4,6111,7860.0,659501 +1100105,41,6596,1,40,2,60,1,1,6,1,-9,4,813M,9170.0,659601 +1100105,41,6597,1,44,2,45,1,1,6,1,-9,4,813M,9170.0,659701 +1100105,41,6598,1,36,1,40,1,1,6,1,-9,4,813M,9170.0,659801 +1100105,41,6599,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,659901 +1100105,41,6600,1,39,1,40,1,1,6,1,-9,4,611M1,7870.0,660001 +1100105,41,6601,1,42,2,30,4,1,6,1,-9,4,813M,9170.0,660101 +1100105,41,6602,1,49,1,37,1,1,2,1,15,4,5411,7270.0,660201 +1100105,41,6603,1,50,1,40,1,1,2,1,15,4,9211MP,9370.0,660301 +1100105,41,6604,1,50,1,39,4,1,2,1,-9,4,611M1,7870.0,660401 +1100105,41,6605,1,63,1,20,4,1,2,1,-9,4,23,770.0,660501 +1100105,41,6606,1,51,1,40,1,1,2,1,-9,4,622M,8191.0,660601 +1100105,41,6607,1,48,1,40,1,1,2,1,-9,4,722Z,8680.0,660701 +1100105,41,6608,1,63,1,20,4,1,2,1,-9,4,23,770.0,660801 +1100105,41,6609,1,53,2,40,1,1,2,1,-9,4,923,9480.0,660901 +1100105,41,6610,1,48,1,40,1,1,2,1,-9,4,722Z,8680.0,661001 +1100105,41,6611,1,43,1,40,1,1,2,1,-9,4,5416,7390.0,661101 +1100105,41,6612,1,44,1,30,1,1,2,1,-9,4,33641M1,3580.0,661201 +1100105,41,6613,1,42,2,45,1,1,2,1,-9,4,7211,8660.0,661301 +1100105,41,6614,1,39,1,42,3,1,2,1,-9,4,5411,7270.0,661401 +1100105,41,6615,1,57,1,30,1,1,2,1,-9,4,4853,6190.0,661501 +1100105,41,6616,1,64,2,40,1,1,2,1,-9,4,92119,9390.0,661601 +1100105,41,6617,1,63,1,20,4,1,2,1,-9,4,23,770.0,661701 +1100105,41,6618,1,37,2,35,1,1,2,1,-9,4,6212,7980.0,661801 +1100105,41,6619,1,48,1,40,1,1,2,1,-9,4,722Z,8680.0,661901 +1100105,41,6620,1,37,2,35,1,1,2,1,-9,4,6212,7980.0,662001 +1100105,41,6621,1,48,1,40,1,1,2,1,-9,4,722Z,8680.0,662101 +1100105,41,6622,1,56,2,35,1,1,2,1,-9,4,813M,9170.0,662201 +1100105,41,6623,1,57,1,50,1,1,1,1,-9,4,722Z,8680.0,662301 +1100105,41,6624,1,42,2,40,1,1,1,1,-9,4,6241,8370.0,662401 +1100105,41,6625,1,35,1,60,1,1,1,1,-9,4,9211MP,9370.0,662501 +1100105,41,6626,1,41,1,40,1,1,1,1,-9,4,5415,7380.0,662601 +1100105,41,6627,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,662701 +1100105,41,6628,1,45,1,45,1,1,1,1,-9,4,928P,9590.0,662801 +1100105,41,6629,1,54,1,60,1,1,1,1,-9,4,5414,7370.0,662901 +1100105,41,6630,1,42,1,40,1,1,1,1,-9,4,9211MP,9370.0,663001 +1100105,41,6631,1,35,1,45,1,1,1,1,-9,4,515,6670.0,663101 +1100105,41,6632,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,663201 +1100105,41,6633,1,56,1,40,1,1,1,1,-9,4,8139Z,9190.0,663301 +1100105,41,6634,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,663401 +1100105,41,6635,1,35,1,50,2,1,1,1,-9,4,928P,9590.0,663501 +1100105,41,6636,1,36,1,60,1,1,1,1,-9,4,6111,7860.0,663601 +1100105,41,6637,1,38,1,40,1,1,1,1,-9,4,5413,7290.0,663701 +1100105,41,6638,1,56,2,55,1,1,1,1,-9,4,5411,7270.0,663801 +1100105,41,6639,1,37,1,35,1,1,1,1,-9,4,6111,7860.0,663901 +1100105,41,6640,1,56,1,40,1,1,1,1,-9,4,8139Z,9190.0,664001 +1100105,41,6641,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,664101 +1100105,41,6642,1,59,2,40,1,1,1,1,-9,4,713Z,8590.0,664201 +1100105,41,6643,1,35,1,40,4,1,1,1,-9,4,5121,6570.0,664301 +1100105,41,6644,1,59,2,40,1,1,1,1,-9,4,713Z,8590.0,664401 +1100105,41,6645,1,64,2,40,1,1,1,1,-9,4,92M2,9570.0,664501 +1100105,41,6646,1,35,1,60,1,1,1,1,-9,4,9211MP,9370.0,664601 +1100105,41,6647,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,664701 +1100105,41,6648,1,48,2,40,1,1,1,1,16,4,611M1,7870.0,664801 +1100105,41,6649,1,50,1,25,6,1,1,1,-9,4,5416,7390.0,664901 +1100105,41,6650,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,665001 +1100105,41,6651,1,39,1,48,1,1,1,1,-9,4,928P,9590.0,665101 +1100105,41,6652,1,37,2,45,1,1,1,1,-9,4,813M,9170.0,665201 +1100105,41,6653,1,41,1,36,1,1,1,1,-9,4,812112,8980.0,665301 +1100105,41,6654,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,665401 +1100105,41,6655,1,48,1,48,1,4,1,1,-9,1,928110P1,9670.0,665501 +1100105,41,6656,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,665601 +1100105,41,6657,1,45,1,45,1,1,1,1,-9,4,928P,9590.0,665701 +1100105,41,6658,1,35,2,40,1,1,1,1,-9,4,531M,7071.0,665801 +1100105,41,6659,1,43,1,40,1,1,1,1,-9,4,522M,6890.0,665901 +1100105,41,6660,1,49,2,40,1,1,1,1,-9,4,6111,7860.0,666001 +1100105,41,6661,1,48,2,45,1,1,1,1,-9,4,5411,7270.0,666101 +1100105,41,6662,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,666201 +1100105,41,6663,1,41,1,36,1,1,1,1,-9,4,812112,8980.0,666301 +1100105,41,6664,1,35,2,40,1,1,1,1,-9,4,531M,7071.0,666401 +1100105,41,6665,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,666501 +1100105,41,6666,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,666601 +1100105,41,6667,1,56,2,40,1,1,1,1,-9,4,923,9480.0,666701 +1100105,41,6668,1,47,2,50,1,1,1,1,-9,4,611M1,7870.0,666801 +1100105,41,6669,1,42,2,38,1,1,1,1,-9,4,5411,7270.0,666901 +1100105,41,6670,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,667001 +1100105,41,6671,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,667101 +1100105,41,6672,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,667201 +1100105,41,6673,1,48,2,45,1,1,1,1,-9,4,5411,7270.0,667301 +1100105,41,6674,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,667401 +1100105,41,6675,1,35,2,45,1,1,1,1,-9,4,9211MP,9370.0,667501 +1100105,41,6676,1,64,2,40,1,1,1,1,-9,4,92M2,9570.0,667601 +1100105,41,6677,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,667701 +1100105,41,6678,1,41,1,40,1,1,1,1,-9,4,5415,7380.0,667801 +1100105,41,6679,1,41,2,50,1,1,1,1,-9,4,8139Z,9190.0,667901 +1100105,41,6680,1,35,1,40,4,1,1,1,-9,4,5121,6570.0,668001 +1100105,41,6681,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,668101 +1100105,41,6682,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,668201 +1100105,41,6683,1,52,2,40,4,1,1,1,-9,2,813M,9170.0,668301 +1100105,41,6684,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,668401 +1100105,41,6685,1,38,1,40,1,1,1,1,-9,4,5413,7290.0,668501 +1100105,41,6686,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,668601 +1100105,41,6687,1,36,2,50,1,1,1,1,-9,4,813M,9170.0,668701 +1100105,41,6688,1,55,2,40,1,1,1,1,-9,4,51912,6770.0,668801 +1100105,41,6689,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,668901 +1100105,41,6690,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,669001 +1100105,41,6691,1,42,2,40,1,1,1,1,-9,4,6241,8370.0,669101 +1100105,41,6692,1,41,1,36,1,1,1,1,-9,4,812112,8980.0,669201 +1100105,41,6693,1,40,1,40,1,1,1,1,-9,4,813M,9170.0,669301 +1100105,41,6694,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,669401 +1100105,41,6695,1,48,2,40,1,2,1,1,-9,4,722Z,8680.0,669501 +1100105,41,6696,1,54,1,46,1,1,1,1,-9,4,6213ZM,8080.0,669601 +1100105,41,6697,1,48,1,45,1,1,1,1,-9,4,813M,9170.0,669701 +1100105,41,6698,1,40,2,40,1,1,1,21,-9,4,813M,9170.0,669801 +1100105,41,6699,1,38,1,45,1,1,1,13,-9,4,8139Z,9190.0,669901 +1100105,41,6700,1,38,2,60,1,1,8,2,-9,4,81393,9180.0,670001 +1100105,41,6701,1,40,2,40,1,1,1,21,-9,4,813M,9170.0,670101 +1100105,41,6702,1,38,2,40,1,1,1,3,15,4,813M,9170.0,670201 +1100105,41,6703,1,61,2,50,1,1,1,23,16,4,6111,7860.0,670301 +1100105,41,6704,1,38,1,45,1,1,1,13,-9,4,8139Z,9190.0,670401 +1100105,41,6705,1,45,1,40,1,1,1,23,-9,4,52M1,6870.0,670501 +1100105,41,6706,1,45,1,40,1,1,1,23,-9,4,52M1,6870.0,670601 +1100105,41,6707,1,39,1,50,1,1,1,2,-9,4,481,6070.0,670701 +1100105,41,6708,1,45,1,40,1,1,1,23,-9,4,52M1,6870.0,670801 +1100105,41,6709,1,38,2,40,1,1,1,3,15,4,813M,9170.0,670901 +1100105,41,6710,1,45,1,40,1,1,1,23,-9,4,52M1,6870.0,671001 +1100105,41,6711,1,44,2,40,1,1,1,21,-9,4,52M2,6970.0,671101 +1100105,41,6712,1,59,2,45,1,1,1,8,-9,4,813M,9170.0,671201 +1100105,41,6713,1,58,1,40,1,1,1,2,-9,4,92113,9380.0,671301 +1100105,41,6714,1,48,1,40,1,1,1,6,-9,4,531M,7071.0,671401 +1100105,41,6715,1,44,2,40,1,1,1,21,-9,4,52M2,6970.0,671501 +1100105,41,6716,1,38,1,45,1,1,1,13,-9,4,8139Z,9190.0,671601 +1100105,41,6717,1,39,1,50,1,1,1,2,-9,4,481,6070.0,671701 +1100105,41,6718,1,40,2,40,1,1,1,21,-9,4,813M,9170.0,671801 +1100105,41,6719,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,671901 +1100105,41,6720,1,29,2,45,1,1,9,1,-9,4,5413,7290.0,672001 +1100105,41,6721,1,27,2,40,2,1,9,1,-9,4,923,9480.0,672101 +1100105,41,6722,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,672201 +1100105,41,6723,1,32,2,55,1,1,9,1,-9,4,5415,7380.0,672301 +1100105,41,6724,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,672401 +1100105,41,6725,1,32,2,55,1,1,9,1,-9,4,5415,7380.0,672501 +1100105,41,6726,1,28,1,40,1,1,9,1,-9,4,51912,6770.0,672601 +1100105,41,6727,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,672701 +1100105,41,6728,1,32,2,40,1,1,9,1,-9,4,92MP,9470.0,672801 +1100105,41,6729,1,32,1,40,1,1,9,1,-9,4,92113,9380.0,672901 +1100105,41,6730,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,673001 +1100105,41,6731,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,673101 +1100105,41,6732,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,673201 +1100105,41,6733,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,673301 +1100105,41,6734,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,673401 +1100105,41,6735,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,673501 +1100105,41,6736,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,673601 +1100105,41,6737,1,27,1,45,1,1,9,1,-9,4,813M,9170.0,673701 +1100105,41,6738,1,32,2,40,1,1,9,1,-9,4,92MP,9470.0,673801 +1100105,41,6739,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,673901 +1100105,41,6740,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,674001 +1100105,41,6741,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,674101 +1100105,41,6742,1,29,1,40,1,1,9,1,-9,4,6111,7860.0,674201 +1100105,41,6743,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,674301 +1100105,41,6744,1,29,2,45,1,1,9,1,-9,4,5413,7290.0,674401 +1100105,41,6745,1,32,1,40,1,1,9,1,-9,4,92113,9380.0,674501 +1100105,41,6746,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,674601 +1100105,41,6747,1,32,2,40,1,1,9,1,-9,4,928P,9590.0,674701 +1100105,41,6748,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,674801 +1100105,41,6749,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,674901 +1100105,41,6750,1,29,1,40,1,1,9,1,-9,4,6111,7860.0,675001 +1100105,41,6751,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,675101 +1100105,41,6752,1,29,2,45,1,1,9,1,-9,4,5413,7290.0,675201 +1100105,41,6753,1,29,1,40,1,1,9,1,-9,4,6111,7860.0,675301 +1100105,41,6754,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,675401 +1100105,41,6755,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,675501 +1100105,41,6756,1,32,2,40,1,1,9,1,-9,4,92MP,9470.0,675601 +1100105,41,6757,1,25,1,40,3,1,9,1,-9,4,5413,7290.0,675701 +1100105,41,6758,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,675801 +1100105,41,6759,1,26,2,40,1,1,6,1,16,2,92M2,9570.0,675901 +1100105,41,6760,1,26,2,40,1,1,6,1,16,2,622M,8191.0,676001 +1100105,41,6761,1,25,2,40,1,1,6,1,-9,4,5416,7390.0,676101 +1100105,41,6762,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,676201 +1100105,41,6763,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,676301 +1100105,41,6764,1,32,2,40,1,1,6,1,-9,4,5412,7280.0,676401 +1100105,41,6765,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,676501 +1100105,41,6766,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,676601 +1100105,41,6767,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,676701 +1100105,41,6768,1,31,2,40,1,1,6,1,-9,4,5416,7390.0,676801 +1100105,41,6769,1,28,2,45,1,1,6,1,-9,4,92M1,9490.0,676901 +1100105,41,6770,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,677001 +1100105,41,6771,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,677101 +1100105,41,6772,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,677201 +1100105,41,6773,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,677301 +1100105,41,6774,1,31,2,28,1,1,6,1,-9,4,5419Z,7490.0,677401 +1100105,41,6775,1,30,1,42,1,1,6,1,-9,4,813M,9170.0,677501 +1100105,41,6776,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,677601 +1100105,41,6777,1,29,2,50,1,1,2,1,16,4,5241,6991.0,677701 +1100105,41,6778,1,34,2,40,1,1,2,1,-9,4,92MP,9470.0,677801 +1100105,41,6779,1,30,1,40,1,1,2,1,-9,4,5417,7460.0,677901 +1100105,41,6780,1,27,2,35,1,1,2,1,-9,4,9211MP,9370.0,678001 +1100105,41,6781,1,30,1,40,1,1,2,1,-9,4,5417,7460.0,678101 +1100105,41,6782,1,34,2,50,1,1,2,1,-9,4,5417,7460.0,678201 +1100105,41,6783,1,26,2,50,1,1,2,1,16,4,515,6670.0,678301 +1100105,41,6784,1,34,2,50,1,1,2,1,-9,4,5417,7460.0,678401 +1100105,41,6785,1,26,2,50,1,1,2,1,16,4,515,6670.0,678501 +1100105,41,6786,1,34,2,40,1,1,2,1,-9,4,92MP,9470.0,678601 +1100105,41,6787,1,24,2,40,1,1,2,1,-9,4,5416,7390.0,678701 +1100105,41,6788,1,34,2,40,1,1,2,1,-9,4,92MP,9470.0,678801 +1100105,41,6789,1,29,2,40,1,1,2,1,16,4,5417,7460.0,678901 +1100105,41,6790,1,34,2,50,1,1,2,1,-9,4,5417,7460.0,679001 +1100105,41,6791,1,34,2,40,1,1,2,1,-9,4,92MP,9470.0,679101 +1100105,41,6792,1,34,2,50,1,1,2,1,-9,4,5417,7460.0,679201 +1100105,41,6793,1,34,2,50,1,1,2,1,-9,4,5417,7460.0,679301 +1100105,41,6794,1,29,1,50,1,1,1,1,-9,4,3116,1180.0,679401 +1100105,41,6795,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,679501 +1100105,41,6796,1,33,1,60,1,1,1,1,-9,4,5313,7072.0,679601 +1100105,41,6797,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,679701 +1100105,41,6798,1,26,2,45,1,1,1,1,-9,4,531M,7071.0,679801 +1100105,41,6799,1,28,2,40,1,1,1,1,-9,4,6241,8370.0,679901 +1100105,41,6800,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,680001 +1100105,41,6801,1,29,2,50,1,1,1,1,-9,4,611M1,7870.0,680101 +1100105,41,6802,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,680201 +1100105,41,6803,1,28,1,60,1,4,1,1,-9,1,928110P3,9690.0,680301 +1100105,41,6804,1,26,2,80,2,1,1,1,-9,4,5416,7390.0,680401 +1100105,41,6805,1,32,1,50,1,1,1,1,-9,4,424M,4380.0,680501 +1100105,41,6806,1,29,1,15,1,1,1,1,-9,4,5417,7460.0,680601 +1100105,41,6807,1,31,1,60,1,1,1,1,-9,4,5416,7390.0,680701 +1100105,41,6808,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,680801 +1100105,41,6809,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,680901 +1100105,41,6810,1,33,1,40,1,1,1,1,-9,4,5415,7380.0,681001 +1100105,41,6811,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,681101 +1100105,41,6812,1,30,1,50,1,1,1,1,-9,4,7111,8561.0,681201 +1100105,41,6813,1,27,2,55,1,1,1,1,-9,4,8139Z,9190.0,681301 +1100105,41,6814,1,22,2,40,4,1,1,1,15,4,52M1,6870.0,681401 +1100105,41,6815,1,32,1,50,1,1,1,1,-9,4,52M2,6970.0,681501 +1100105,41,6816,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,681601 +1100105,41,6817,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,681701 +1100105,41,6818,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,681801 +1100105,41,6819,1,31,1,70,1,1,1,1,-9,4,424M,4380.0,681901 +1100105,41,6820,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,682001 +1100105,41,6821,1,28,2,45,1,1,1,1,-9,4,8139Z,9190.0,682101 +1100105,41,6822,1,27,2,50,1,1,1,1,-9,4,5417,7460.0,682201 +1100105,41,6823,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,682301 +1100105,41,6824,1,29,1,65,1,1,1,1,-9,4,622M,8191.0,682401 +1100105,41,6825,1,29,2,47,1,1,1,1,-9,4,9211MP,9370.0,682501 +1100105,41,6826,1,29,2,40,1,1,1,1,-9,4,611M1,7870.0,682601 +1100105,41,6827,1,34,2,40,1,1,1,1,-9,4,712,8570.0,682701 +1100105,41,6828,1,30,2,40,4,1,1,1,-9,4,5416,7390.0,682801 +1100105,41,6829,1,34,1,40,1,1,1,1,-9,4,5416,7390.0,682901 +1100105,41,6830,1,31,2,50,1,1,1,1,-9,4,92M2,9570.0,683001 +1100105,41,6831,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,683101 +1100105,41,6832,1,29,1,45,1,4,1,1,-9,1,928110P3,9690.0,683201 +1100105,41,6833,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,683301 +1100105,41,6834,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,683401 +1100105,41,6835,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,683501 +1100105,41,6836,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,683601 +1100105,41,6837,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,683701 +1100105,41,6838,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,683801 +1100105,41,6839,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,683901 +1100105,41,6840,1,26,2,45,1,1,1,1,-9,4,531M,7071.0,684001 +1100105,41,6841,1,31,2,50,1,1,1,1,-9,4,92M2,9570.0,684101 +1100105,41,6842,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,684201 +1100105,41,6843,1,32,2,50,1,1,1,1,-9,4,813M,9170.0,684301 +1100105,41,6844,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,684401 +1100105,41,6845,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,684501 +1100105,41,6846,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,684601 +1100105,41,6847,1,26,2,45,1,1,1,1,-9,4,531M,7071.0,684701 +1100105,41,6848,1,26,2,70,1,1,1,1,16,4,8139Z,9190.0,684801 +1100105,41,6849,1,33,1,42,1,1,1,1,-9,4,5416,7390.0,684901 +1100105,41,6850,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,685001 +1100105,41,6851,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,685101 +1100105,41,6852,1,34,2,40,1,1,1,1,-9,4,712,8570.0,685201 +1100105,41,6853,1,23,2,45,5,1,1,1,-9,4,5416,7390.0,685301 +1100105,41,6854,1,24,2,40,1,1,1,1,-9,4,622M,8191.0,685401 +1100105,41,6855,1,31,2,40,1,1,1,1,-9,4,5412,7280.0,685501 +1100105,41,6856,1,26,2,50,1,1,1,1,-9,4,5417,7460.0,685601 +1100105,41,6857,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,685701 +1100105,41,6858,1,28,2,54,1,1,1,1,-9,4,5416,7390.0,685801 +1100105,41,6859,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,685901 +1100105,41,6860,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,686001 +1100105,41,6861,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,686101 +1100105,41,6862,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,686201 +1100105,41,6863,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,686301 +1100105,41,6864,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,686401 +1100105,41,6865,1,28,1,60,1,1,1,1,-9,4,92MP,9470.0,686501 +1100105,41,6866,1,30,2,45,1,1,1,1,-9,4,814,9290.0,686601 +1100105,41,6867,1,30,2,40,4,1,1,1,-9,4,5416,7390.0,686701 +1100105,41,6868,1,29,2,45,1,1,1,1,-9,4,5415,7380.0,686801 +1100105,41,6869,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,686901 +1100105,41,6870,1,24,2,55,4,1,1,1,16,4,5416,7390.0,687001 +1100105,41,6871,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,687101 +1100105,41,6872,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,687201 +1100105,41,6873,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,687301 +1100105,41,6874,1,29,1,45,1,1,1,1,-9,4,561M,7780.0,687401 +1100105,41,6875,1,30,2,40,1,1,1,1,-9,4,443142,4795.0,687501 +1100105,41,6876,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,687601 +1100105,41,6877,1,33,1,45,1,1,1,1,-9,4,5413,7290.0,687701 +1100105,41,6878,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,687801 +1100105,41,6879,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,687901 +1100105,41,6880,1,28,1,60,1,4,1,1,-9,1,928110P3,9690.0,688001 +1100105,41,6881,1,27,1,40,1,1,1,1,-9,4,928P,9590.0,688101 +1100105,41,6882,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,688201 +1100105,41,6883,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,688301 +1100105,41,6884,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,688401 +1100105,41,6885,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,688501 +1100105,41,6886,1,33,1,40,1,1,1,1,-9,4,5415,7380.0,688601 +1100105,41,6887,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,688701 +1100105,41,6888,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,688801 +1100105,41,6889,1,33,1,60,1,1,1,1,-9,4,5313,7072.0,688901 +1100105,41,6890,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,689001 +1100105,41,6891,1,27,2,45,3,1,1,1,-9,4,5419Z,7490.0,689101 +1100105,41,6892,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,689201 +1100105,41,6893,1,27,1,40,1,1,1,1,-9,4,928P,9590.0,689301 +1100105,41,6894,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,689401 +1100105,41,6895,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,689501 +1100105,41,6896,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,689601 +1100105,41,6897,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,689701 +1100105,41,6898,1,29,2,60,1,1,1,1,-9,4,622M,8191.0,689801 +1100105,41,6899,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,689901 +1100105,41,6900,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,690001 +1100105,41,6901,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,690101 +1100105,41,6902,1,29,1,65,1,1,1,1,-9,4,622M,8191.0,690201 +1100105,41,6903,1,34,2,38,1,1,1,1,-9,4,611M3,7890.0,690301 +1100105,41,6904,1,33,1,40,1,1,1,1,-9,4,5415,7380.0,690401 +1100105,41,6905,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,690501 +1100105,41,6906,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,690601 +1100105,41,6907,1,27,1,40,1,1,1,1,-9,4,8139Z,9190.0,690701 +1100105,41,6908,1,27,2,37,1,1,1,1,-9,4,622M,8191.0,690801 +1100105,41,6909,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,690901 +1100105,41,6910,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,691001 +1100105,41,6911,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,691101 +1100105,41,6912,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,691201 +1100105,41,6913,1,29,1,65,1,1,1,1,-9,4,5416,7390.0,691301 +1100105,41,6914,1,24,2,40,1,1,1,1,16,4,5416,7390.0,691401 +1100105,41,6915,1,29,2,55,1,1,1,1,-9,4,712,8570.0,691501 +1100105,41,6916,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,691601 +1100105,41,6917,1,26,2,50,1,1,1,1,-9,4,5417,7460.0,691701 +1100105,41,6918,1,31,1,50,1,1,1,1,-9,4,813M,9170.0,691801 +1100105,41,6919,1,24,2,55,4,1,1,1,16,4,5416,7390.0,691901 +1100105,41,6920,1,24,1,45,1,1,1,1,-9,4,5416,7390.0,692001 +1100105,41,6921,1,29,1,65,1,1,1,1,-9,4,5416,7390.0,692101 +1100105,41,6922,1,33,2,40,1,1,1,1,-9,4,92M1,9490.0,692201 +1100105,41,6923,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,692301 +1100105,41,6924,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,692401 +1100105,41,6925,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,692501 +1100105,41,6926,1,26,1,50,3,1,1,1,-9,4,5416,7390.0,692601 +1100105,41,6927,1,27,2,50,1,1,1,1,-9,4,5417,7460.0,692701 +1100105,41,6928,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,692801 +1100105,41,6929,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,692901 +1100105,41,6930,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,693001 +1100105,41,6931,1,27,2,37,1,1,1,1,-9,4,622M,8191.0,693101 +1100105,41,6932,1,32,1,45,1,1,1,1,-9,4,712,8570.0,693201 +1100105,41,6933,1,29,1,40,1,1,1,1,-9,4,5416,7390.0,693301 +1100105,41,6934,1,27,2,55,1,1,1,1,-9,4,8139Z,9190.0,693401 +1100105,41,6935,1,23,2,45,5,1,1,1,-9,4,5416,7390.0,693501 +1100105,41,6936,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,693601 +1100105,41,6937,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,693701 +1100105,41,6938,1,30,2,45,1,1,1,1,-9,4,928P,9590.0,693801 +1100105,41,6939,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,693901 +1100105,41,6940,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,694001 +1100105,41,6941,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,694101 +1100105,41,6942,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,694201 +1100105,41,6943,1,28,1,60,1,1,1,1,-9,4,5416,7390.0,694301 +1100105,41,6944,1,28,2,40,1,1,1,1,-9,4,713Z,8590.0,694401 +1100105,41,6945,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,694501 +1100105,41,6946,1,31,1,50,1,1,1,1,16,2,9211MP,9370.0,694601 +1100105,41,6947,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,694701 +1100105,41,6948,1,26,1,50,3,1,1,1,-9,4,5416,7390.0,694801 +1100105,41,6949,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,694901 +1100105,41,6950,1,28,1,60,1,1,1,1,-9,4,5416,7390.0,695001 +1100105,41,6951,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,695101 +1100105,41,6952,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,695201 +1100105,41,6953,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,695301 +1100105,41,6954,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,695401 +1100105,41,6955,1,26,2,50,1,1,1,1,-9,4,5417,7460.0,695501 +1100105,41,6956,1,25,1,55,1,1,1,1,-9,4,488,6290.0,695601 +1100105,41,6957,1,34,1,45,1,1,1,1,-9,4,6111,7860.0,695701 +1100105,41,6958,1,33,2,40,4,1,1,1,-9,4,8139Z,9190.0,695801 +1100105,41,6959,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,695901 +1100105,41,6960,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,696001 +1100105,41,6961,1,33,2,60,1,1,1,1,-9,4,611M3,7890.0,696101 +1100105,41,6962,1,34,2,55,1,1,1,1,15,4,515,6670.0,696201 +1100105,41,6963,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,696301 +1100105,41,6964,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,696401 +1100105,41,6965,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,696501 +1100105,41,6966,1,27,1,40,1,1,1,1,-9,4,8139Z,9190.0,696601 +1100105,41,6967,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,696701 +1100105,41,6968,1,31,2,36,1,1,1,1,15,4,813M,9170.0,696801 +1100105,41,6969,1,27,2,40,1,1,1,1,-9,4,92M1,9490.0,696901 +1100105,41,6970,1,25,1,55,1,1,1,1,-9,4,488,6290.0,697001 +1100105,41,6971,1,29,2,45,1,1,1,1,-9,4,5418,7470.0,697101 +1100105,41,6972,1,26,2,80,2,1,1,1,-9,4,5416,7390.0,697201 +1100105,41,6973,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,697301 +1100105,41,6974,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,697401 +1100105,41,6975,1,34,2,55,1,1,1,1,15,4,515,6670.0,697501 +1100105,41,6976,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,697601 +1100105,41,6977,1,34,1,40,1,1,1,1,-9,4,515,6670.0,697701 +1100105,41,6978,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,697801 +1100105,41,6979,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,697901 +1100105,41,6980,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,698001 +1100105,41,6981,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,698101 +1100105,41,6982,1,30,1,42,1,1,1,1,-9,4,51912,6770.0,698201 +1100105,41,6983,1,28,1,60,1,4,1,1,-9,1,928110P3,9690.0,698301 +1100105,41,6984,1,24,2,55,4,1,1,1,16,4,5416,7390.0,698401 +1100105,41,6985,1,31,2,50,1,1,1,1,-9,4,92MP,9470.0,698501 +1100105,41,6986,1,26,2,55,1,1,1,1,-9,4,5416,7390.0,698601 +1100105,41,6987,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,698701 +1100105,41,6988,1,24,2,40,1,1,1,1,-9,4,622M,8191.0,698801 +1100105,41,6989,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,698901 +1100105,41,6990,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,699001 +1100105,41,6991,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,699101 +1100105,41,6992,1,31,2,36,1,1,1,1,15,4,813M,9170.0,699201 +1100105,41,6993,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,699301 +1100105,41,6994,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,699401 +1100105,41,6995,1,31,1,50,1,1,1,1,-9,4,813M,9170.0,699501 +1100105,41,6996,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,699601 +1100105,41,6997,1,27,2,40,1,1,1,2,-9,4,923,9480.0,699701 +1100105,41,6998,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,699801 +1100105,41,6999,1,26,2,45,1,1,1,3,-9,4,23,770.0,699901 +1100105,41,7000,1,27,2,40,1,1,8,17,-9,4,6111,7860.0,700001 +1100105,41,7001,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,700101 +1100105,41,7002,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,700201 +1100105,41,7003,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,700301 +1100105,41,7004,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,700401 +1100105,41,7005,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,700501 +1100105,41,7006,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,700601 +1100105,41,7007,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,700701 +1100105,41,7008,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,700801 +1100105,41,7009,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,700901 +1100105,41,7010,1,29,1,30,1,2,1,2,-9,4,711M,8563.0,701001 +1100105,41,7011,1,28,1,40,1,1,1,23,-9,4,813M,9170.0,701101 +1100105,41,7012,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,701201 +1100105,41,7013,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,701301 +1100105,41,7014,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,701401 +1100105,41,7015,1,27,2,40,1,1,1,2,-9,4,923,9480.0,701501 +1100105,41,7016,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,701601 +1100105,41,7017,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,701701 +1100105,41,7018,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,701801 +1100105,41,7019,1,30,2,37,1,1,1,3,-9,4,81393,9180.0,701901 +1100105,41,7020,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,702001 +1100105,41,7021,1,28,1,40,1,1,1,23,-9,4,813M,9170.0,702101 +1100105,41,7022,1,29,1,50,1,1,2,5,-9,4,5412,7280.0,702201 +1100105,41,7023,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,702301 +1100105,41,7024,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,702401 +1100105,41,7025,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,702501 +1100105,41,7026,1,27,2,40,1,1,8,17,-9,4,6111,7860.0,702601 +1100105,41,7027,1,29,1,50,1,1,2,5,-9,4,5412,7280.0,702701 +1100105,41,7028,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,702801 +1100105,41,7029,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,702901 +1100105,41,7030,1,28,1,40,1,1,1,23,-9,4,813M,9170.0,703001 +1100105,41,7031,1,33,2,40,1,1,2,10,-9,4,5416,7390.0,703101 +1100105,41,7032,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,703201 +1100105,41,7033,1,27,2,40,1,1,1,2,-9,4,923,9480.0,703301 +1100105,41,7034,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,703401 +1100105,41,7035,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,703501 +1100105,41,7036,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,703601 +1100105,41,7037,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,703701 +1100105,41,7038,1,28,1,40,1,1,1,23,-9,4,813M,9170.0,703801 +1100105,41,7039,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,703901 +1100105,41,7040,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,704001 +1100105,41,7041,1,33,2,40,1,1,1,2,-9,4,9211MP,9370.0,704101 +1100105,41,7042,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,704201 +1100105,41,7043,1,30,2,37,1,1,1,3,-9,4,81393,9180.0,704301 +1100105,41,7044,1,30,2,37,1,1,1,3,-9,4,81393,9180.0,704401 +1100105,41,7045,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,704501 +1100105,41,7046,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,704601 +1100105,41,7047,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,704701 +1100105,41,7048,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,704801 +1100105,41,7049,1,31,2,55,1,1,1,4,-9,4,5411,7270.0,704901 +1100105,41,7050,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,705001 +1100105,41,7051,1,30,2,37,1,1,1,3,-9,4,81393,9180.0,705101 +1100105,41,7052,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,705201 +1100105,41,7053,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,705301 +1100105,41,7054,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,705401 +1100105,41,7055,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,705501 +1100105,41,7056,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,705601 +1100105,41,7057,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,705701 +1100105,41,7058,1,89,1,-9,-9,6,6,1,-9,2,0,0.0,705801 +1100105,41,7059,1,76,1,-9,-9,6,2,1,-9,2,0,0.0,705901 +1100105,41,7060,1,73,2,-9,-9,6,2,1,-9,4,0,0.0,706001 +1100105,41,7061,1,66,2,-9,-9,6,2,1,-9,4,92119,9390.0,706101 +1100105,41,7062,1,67,1,-9,-9,6,2,1,-9,4,4481,5170.0,706201 +1100105,41,7063,1,66,2,-9,-9,6,2,1,-9,4,92119,9390.0,706301 +1100105,41,7064,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,706401 +1100105,41,7065,1,74,1,-9,-9,6,2,1,-9,4,0,0.0,706501 +1100105,41,7066,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,706601 +1100105,41,7067,1,77,1,65,5,6,1,1,-9,4,621M,8180.0,706701 +1100105,41,7068,1,70,2,-9,-9,6,1,1,-9,4,611M3,7890.0,706801 +1100105,41,7069,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,706901 +1100105,41,7070,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,707001 +1100105,41,7071,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,707101 +1100105,41,7072,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,707201 +1100105,41,7073,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,707301 +1100105,41,7074,1,69,2,-9,-9,6,1,1,-9,4,92M2,9570.0,707401 +1100105,41,7075,1,71,2,40,4,6,1,1,-9,4,611M1,7870.0,707501 +1100105,41,7076,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,707601 +1100105,41,7077,1,67,1,-9,-9,6,1,1,16,2,923,9480.0,707701 +1100105,41,7078,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,707801 +1100105,41,7079,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,707901 +1100105,41,7080,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,708001 +1100105,41,7081,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,708101 +1100105,41,7082,1,69,2,-9,-9,6,1,1,-9,4,92M2,9570.0,708201 +1100105,41,7083,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,708301 +1100105,41,7084,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,708401 +1100105,41,7085,1,83,2,-9,-9,6,1,1,-9,4,0,0.0,708501 +1100105,41,7086,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,708601 +1100105,41,7087,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,708701 +1100105,41,7088,1,70,2,-9,-9,6,1,1,-9,4,611M3,7890.0,708801 +1100105,41,7089,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,708901 +1100105,41,7090,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,709001 +1100105,41,7091,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,709101 +1100105,41,7092,1,93,2,-9,-9,6,1,2,-9,4,928P,9590.0,709201 +1100105,41,7093,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,709301 +1100105,41,7094,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,709401 +1100105,41,7095,1,43,2,45,3,3,6,1,-9,4,5416,7390.0,709501 +1100105,41,7096,1,60,2,-9,-9,6,2,1,-9,4,0,0.0,709601 +1100105,41,7097,1,60,2,-9,-9,6,2,1,-9,4,0,0.0,709701 +1100105,41,7098,1,49,1,55,4,3,1,1,-9,4,712,8570.0,709801 +1100105,41,7099,1,51,2,40,4,3,1,1,-9,4,531M,7071.0,709901 +1100105,41,7100,1,61,1,-9,-9,6,1,1,-9,4,0,0.0,710001 +1100105,41,7101,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,710101 +1100105,41,7102,1,61,1,-9,-9,6,1,1,-9,4,0,0.0,710201 +1100105,41,7103,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,710301 +1100105,41,7104,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,710401 +1100105,41,7105,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,710501 +1100105,41,7106,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,710601 +1100105,41,7107,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,710701 +1100105,41,7108,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,710801 +1100105,41,7109,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,710901 +1100105,41,7110,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,711001 +1100105,41,7111,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,711101 +1100105,41,7112,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,711201 +1100105,41,7113,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,711301 +1100105,41,7114,1,23,2,-9,-9,6,1,1,16,4,5411,7270.0,711401 +1100105,41,7115,1,26,1,45,3,3,1,1,-9,4,5416,7390.0,711501 +1100105,41,7116,1,68,2,40,1,1,2,1,-9,4,6214,8090.0,711601 +1100105,41,7117,1,71,1,20,1,2,2,1,-9,4,481,6070.0,711701 +1100105,41,7118,1,67,1,50,1,1,1,1,-9,4,23,770.0,711801 +1100105,41,7119,1,69,2,32,1,1,1,1,-9,4,8139Z,9190.0,711901 +1100105,41,7120,1,67,1,50,1,1,1,1,-9,4,23,770.0,712001 +1100105,41,7121,1,37,2,40,1,1,9,1,-9,4,7211,8660.0,712101 +1100105,41,7122,1,37,2,40,1,1,9,1,-9,4,7211,8660.0,712201 +1100105,41,7123,1,61,1,40,1,1,2,1,-9,2,92119,9390.0,712301 +1100105,41,7124,1,41,1,40,1,1,2,1,-9,4,5414,7370.0,712401 +1100105,41,7125,1,40,1,40,1,1,2,1,-9,4,722Z,8680.0,712501 +1100105,41,7126,1,57,2,40,1,1,2,1,-9,3,611M1,7870.0,712601 +1100105,41,7127,1,61,1,40,1,1,2,1,-9,2,92119,9390.0,712701 +1100105,41,7128,1,54,2,40,1,1,2,1,-9,4,531M,7071.0,712801 +1100105,41,7129,1,61,1,35,4,1,2,1,-9,4,484,6170.0,712901 +1100105,41,7130,1,35,1,25,2,1,2,1,16,4,9211MP,9370.0,713001 +1100105,41,7131,1,60,1,40,4,1,2,1,-9,4,23,770.0,713101 +1100105,41,7132,1,39,1,50,1,1,2,1,-9,4,7115,8564.0,713201 +1100105,41,7133,1,46,1,40,1,1,2,1,-9,4,722Z,8680.0,713301 +1100105,41,7134,1,57,2,20,6,1,2,1,16,4,5613,7580.0,713401 +1100105,41,7135,1,42,1,50,1,1,1,1,-9,4,5419Z,7490.0,713501 +1100105,41,7136,1,55,2,20,3,1,1,1,-9,4,814,9290.0,713601 +1100105,41,7137,1,58,2,40,1,1,1,1,-9,4,713Z,8590.0,713701 +1100105,41,7138,1,36,1,40,3,2,1,1,-9,4,5417,7460.0,713801 +1100105,41,7139,1,55,2,20,3,1,1,1,-9,4,814,9290.0,713901 +1100105,41,7140,1,61,1,99,1,1,1,1,-9,4,713Z,8590.0,714001 +1100105,41,7141,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,714101 +1100105,41,7142,1,37,1,50,1,1,1,1,-9,4,9211MP,9370.0,714201 +1100105,41,7143,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,714301 +1100105,41,7144,1,39,1,40,1,1,1,1,-9,4,5416,7390.0,714401 +1100105,41,7145,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,714501 +1100105,41,7146,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,714601 +1100105,41,7147,1,51,1,80,1,1,1,1,16,4,611M1,7870.0,714701 +1100105,41,7148,1,45,1,40,1,1,1,9,-9,4,5419Z,7490.0,714801 +1100105,41,7149,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,714901 +1100105,41,7150,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,715001 +1100105,41,7151,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,715101 +1100105,41,7152,1,23,1,40,4,1,9,1,-9,4,5417,7460.0,715201 +1100105,41,7153,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,715301 +1100105,41,7154,1,24,2,40,1,1,9,1,-9,2,8139Z,9190.0,715401 +1100105,41,7155,1,23,1,40,4,1,9,1,-9,4,5417,7460.0,715501 +1100105,41,7156,1,24,2,40,1,1,9,1,-9,2,8139Z,9190.0,715601 +1100105,41,7157,1,23,2,40,4,1,9,1,-9,4,813M,9170.0,715701 +1100105,41,7158,1,34,2,40,3,1,9,1,-9,4,5416,7390.0,715801 +1100105,41,7159,1,30,2,40,1,1,6,1,-9,4,5411,7270.0,715901 +1100105,41,7160,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,716001 +1100105,41,7161,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,716101 +1100105,41,7162,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,716201 +1100105,41,7163,1,27,1,55,1,1,6,1,16,4,5191ZM,6780.0,716301 +1100105,41,7164,1,27,1,40,1,1,2,1,-9,4,5417,7460.0,716401 +1100105,41,7165,1,29,1,60,3,2,2,1,-9,4,5616,7680.0,716501 +1100105,41,7166,1,34,1,35,1,1,2,1,16,4,6241,8370.0,716601 +1100105,41,7167,1,34,1,35,1,1,2,1,16,4,6241,8370.0,716701 +1100105,41,7168,1,23,1,40,1,1,1,1,-9,4,5415,7380.0,716801 +1100105,41,7169,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,716901 +1100105,41,7170,1,34,1,39,1,1,1,1,-9,4,44511,4971.0,717001 +1100105,41,7171,1,24,2,40,1,1,1,1,-9,4,9211MP,9370.0,717101 +1100105,41,7172,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,717201 +1100105,41,7173,1,27,2,40,3,1,1,1,-9,4,482,6080.0,717301 +1100105,41,7174,1,29,1,40,4,1,1,1,-9,2,5613,7580.0,717401 +1100105,41,7175,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,717501 +1100105,41,7176,1,25,2,55,1,1,1,1,16,4,487,6280.0,717601 +1100105,41,7177,1,28,2,50,5,1,1,1,-9,4,92MP,9470.0,717701 +1100105,41,7178,1,25,2,45,1,1,1,1,-9,4,5415,7380.0,717801 +1100105,41,7179,1,34,1,45,5,1,1,1,-9,4,5122,6590.0,717901 +1100105,41,7180,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,718001 +1100105,41,7181,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,718101 +1100105,41,7182,1,30,2,55,1,1,1,1,-9,4,928P,9590.0,718201 +1100105,41,7183,1,31,1,20,1,1,1,1,16,4,443142,4795.0,718301 +1100105,41,7184,1,27,2,40,3,1,1,1,-9,4,482,6080.0,718401 +1100105,41,7185,1,30,2,40,1,1,1,1,-9,4,5615,7670.0,718501 +1100105,41,7186,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,718601 +1100105,41,7187,1,25,1,50,1,1,1,1,16,4,5412,7280.0,718701 +1100105,41,7188,1,23,2,60,1,1,1,1,-9,4,517Z,6690.0,718801 +1100105,41,7189,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,718901 +1100105,41,7190,1,26,1,90,1,1,1,1,16,4,5417,7460.0,719001 +1100105,41,7191,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,719101 +1100105,41,7192,1,30,2,40,1,1,1,1,-9,4,623M,8290.0,719201 +1100105,41,7193,1,27,2,40,2,1,1,1,-9,4,5241,6991.0,719301 +1100105,41,7194,1,23,2,60,1,1,1,1,-9,4,517Z,6690.0,719401 +1100105,41,7195,1,30,2,55,1,1,1,1,-9,4,928P,9590.0,719501 +1100105,41,7196,1,26,1,55,5,1,1,1,-9,4,5411,7270.0,719601 +1100105,41,7197,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,719701 +1100105,41,7198,1,25,1,50,1,1,1,1,16,4,5412,7280.0,719801 +1100105,41,7199,1,28,2,50,1,1,1,1,-9,4,722Z,8680.0,719901 +1100105,41,7200,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,720001 +1100105,41,7201,1,30,2,40,1,1,1,1,-9,4,623M,8290.0,720101 +1100105,41,7202,1,26,1,50,1,1,1,1,-9,4,813M,9170.0,720201 +1100105,41,7203,1,30,2,55,1,1,1,1,-9,4,928P,9590.0,720301 +1100105,41,7204,1,23,2,43,1,1,1,1,16,4,92M2,9570.0,720401 +1100105,41,7205,1,31,1,40,5,1,1,1,-9,4,5417,7460.0,720501 +1100105,41,7206,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,720601 +1100105,41,7207,1,28,1,60,1,1,1,1,-9,4,722Z,8680.0,720701 +1100105,41,7208,1,30,2,40,1,1,1,1,-9,4,623M,8290.0,720801 +1100105,41,7209,1,30,2,55,1,1,1,1,-9,4,928P,9590.0,720901 +1100105,41,7210,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,721001 +1100105,41,7211,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,721101 +1100105,41,7212,1,27,2,45,1,1,8,14,-9,4,622M,8191.0,721201 +1100105,41,7213,1,27,2,45,1,1,8,14,-9,4,622M,8191.0,721301 +1100105,41,7214,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,721401 +1100105,41,7215,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,721501 +1100105,41,7216,1,32,2,38,4,1,1,2,-9,4,928P,9590.0,721601 +1100105,41,7217,1,33,2,40,2,1,8,16,-9,4,712,8570.0,721701 +1100105,41,7218,1,28,1,50,1,1,1,23,-9,4,722Z,8680.0,721801 +1100105,41,7219,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,721901 +1100105,41,7220,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,722001 +1100105,41,7221,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,722101 +1100105,41,7222,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,722201 +1100105,41,7223,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,722301 +1100105,41,7224,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,722401 +1100105,41,7225,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,722501 +1100105,41,7226,1,82,2,-9,-9,6,2,1,-9,4,5613,7580.0,722601 +1100105,41,7227,1,71,2,-9,-9,6,2,1,-9,4,0,0.0,722701 +1100105,41,7228,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,722801 +1100105,41,7229,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,722901 +1100105,41,7230,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,723001 +1100105,41,7231,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,723101 +1100105,41,7232,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,723201 +1100105,41,7233,1,71,1,-9,-9,6,2,1,-9,4,0,0.0,723301 +1100105,41,7234,1,72,1,-9,-9,6,2,1,-9,3,0,0.0,723401 +1100105,41,7235,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,723501 +1100105,41,7236,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,723601 +1100105,41,7237,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,723701 +1100105,41,7238,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,723801 +1100105,41,7239,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,723901 +1100105,41,7240,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,724001 +1100105,41,7241,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,724101 +1100105,41,7242,1,87,1,-9,-9,6,1,1,-9,2,0,0.0,724201 +1100105,41,7243,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,724301 +1100105,41,7244,1,77,1,-9,-9,6,1,1,-9,4,0,0.0,724401 +1100105,41,7245,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,724501 +1100105,41,7246,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,724601 +1100105,41,7247,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,724701 +1100105,41,7248,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,724801 +1100105,41,7249,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,724901 +1100105,41,7250,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,725001 +1100105,41,7251,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,725101 +1100105,41,7252,1,53,1,40,3,6,3,1,-9,4,562,7790.0,725201 +1100105,41,7253,1,61,2,-9,-9,6,9,1,-9,4,5614,7590.0,725301 +1100105,41,7254,1,61,2,-9,-9,6,9,1,-9,4,5614,7590.0,725401 +1100105,41,7255,1,61,2,-9,-9,6,9,1,-9,4,5614,7590.0,725501 +1100105,41,7256,1,36,2,-9,-9,6,2,1,-9,4,928P,9590.0,725601 +1100105,41,7257,1,55,1,-9,-9,6,2,1,-9,4,722Z,8680.0,725701 +1100105,41,7258,1,40,1,30,6,6,2,1,-9,2,5617Z,7690.0,725801 +1100105,41,7259,1,63,2,-9,-9,6,2,1,-9,4,814,9290.0,725901 +1100105,41,7260,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,726001 +1100105,41,7261,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,726101 +1100105,41,7262,1,50,2,20,6,3,1,1,-9,4,531M,7071.0,726201 +1100105,41,7263,1,42,2,-9,-9,6,1,1,16,4,0,0.0,726301 +1100105,41,7264,1,50,2,20,6,3,1,1,-9,4,531M,7071.0,726401 +1100105,41,7265,1,42,2,-9,-9,6,1,1,16,4,0,0.0,726501 +1100105,41,7266,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,726601 +1100105,41,7267,1,27,2,-9,-9,6,2,1,-9,4,5616,7680.0,726701 +1100105,41,7268,1,27,2,-9,-9,6,2,1,-9,4,5616,7680.0,726801 +1100105,41,7269,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,726901 +1100105,41,7270,1,28,2,-9,-9,6,1,1,16,4,92MP,9470.0,727001 +1100105,41,7271,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,727101 +1100105,41,7272,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,727201 +1100105,41,7273,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,727301 +1100105,41,7274,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,727401 +1100105,41,7275,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,727501 +1100105,41,7276,1,66,2,40,3,2,2,1,-9,4,611M1,7870.0,727601 +1100105,41,7277,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,727701 +1100105,41,7278,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,727801 +1100105,41,7279,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,727901 +1100105,41,7280,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,728001 +1100105,41,7281,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,728101 +1100105,41,7282,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,728201 +1100105,41,7283,1,62,1,20,3,1,9,1,-9,4,4249Z,4580.0,728301 +1100105,41,7284,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,728401 +1100105,41,7285,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,728501 +1100105,41,7286,1,56,2,35,1,1,2,1,-9,4,8129,9090.0,728601 +1100105,41,7287,1,64,1,25,5,1,2,1,-9,4,44511,4971.0,728701 +1100105,41,7288,1,48,1,40,1,1,2,1,-9,4,5419Z,7490.0,728801 +1100105,41,7289,1,48,1,40,1,1,2,1,-9,4,5419Z,7490.0,728901 +1100105,41,7290,1,48,1,40,1,1,2,1,-9,4,5419Z,7490.0,729001 +1100105,41,7291,1,64,1,25,5,1,2,1,-9,4,44511,4971.0,729101 +1100105,41,7292,1,54,1,40,6,1,2,1,-9,4,531M,7071.0,729201 +1100105,41,7293,1,52,1,60,1,1,1,1,-9,4,5415,7380.0,729301 +1100105,41,7294,1,48,2,45,1,1,1,1,-9,4,5416,7390.0,729401 +1100105,41,7295,1,53,1,23,4,1,1,1,-9,4,928P,9590.0,729501 +1100105,41,7296,1,50,2,10,5,1,1,1,-9,4,7111,8561.0,729601 +1100105,41,7297,1,52,1,60,1,1,1,1,-9,4,5415,7380.0,729701 +1100105,41,7298,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,729801 +1100105,41,7299,1,60,1,50,1,1,1,1,-9,4,5411,7270.0,729901 +1100105,41,7300,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,730001 +1100105,41,7301,1,50,2,10,5,1,1,1,-9,4,7111,8561.0,730101 +1100105,41,7302,1,50,2,10,5,1,1,1,-9,4,7111,8561.0,730201 +1100105,41,7303,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,730301 +1100105,41,7304,1,35,2,40,1,1,1,2,-9,4,722Z,8680.0,730401 +1100105,41,7305,1,40,1,30,6,1,9,19,-9,4,111,170.0,730501 +1100105,41,7306,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,730601 +1100105,41,7307,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,730701 +1100105,41,7308,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,730801 +1100105,41,7309,1,28,1,40,6,1,9,1,-9,4,92M2,9570.0,730901 +1100105,41,7310,1,28,1,40,6,1,9,1,-9,4,92M2,9570.0,731001 +1100105,41,7311,1,27,1,30,1,1,9,1,-9,4,712,8570.0,731101 +1100105,41,7312,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,731201 +1100105,41,7313,1,27,1,30,1,1,9,1,-9,4,712,8570.0,731301 +1100105,41,7314,1,27,1,30,1,1,9,1,-9,4,712,8570.0,731401 +1100105,41,7315,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,731501 +1100105,41,7316,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,731601 +1100105,41,7317,1,31,1,40,1,1,6,1,-9,4,5415,7380.0,731701 +1100105,41,7318,1,20,2,40,4,1,6,1,15,4,5412,7280.0,731801 +1100105,41,7319,1,20,2,40,4,1,6,1,15,4,5412,7280.0,731901 +1100105,41,7320,1,22,1,25,5,1,2,1,15,4,52M1,6870.0,732001 +1100105,41,7321,1,22,1,30,5,1,2,1,-9,4,611M1,7870.0,732101 +1100105,41,7322,1,25,2,40,6,1,2,1,16,4,928P,9590.0,732201 +1100105,41,7323,1,24,2,17,1,1,2,1,-9,4,722Z,8680.0,732301 +1100105,41,7324,1,24,2,17,1,1,2,1,-9,4,722Z,8680.0,732401 +1100105,41,7325,1,22,1,40,5,1,1,1,-9,4,5241,6991.0,732501 +1100105,41,7326,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,732601 +1100105,41,7327,1,25,1,35,1,1,1,1,16,4,813M,9170.0,732701 +1100105,41,7328,1,21,2,20,1,1,1,1,15,4,622M,8191.0,732801 +1100105,41,7329,1,24,2,4,3,1,1,1,15,4,713Z,8590.0,732901 +1100105,41,7330,1,26,2,50,5,1,1,1,-9,4,5416,7390.0,733001 +1100105,41,7331,1,33,2,40,1,1,1,1,15,2,483,6090.0,733101 +1100105,41,7332,1,26,2,50,5,1,1,1,-9,4,5416,7390.0,733201 +1100105,41,7333,1,27,2,30,3,1,1,1,16,4,611M1,7870.0,733301 +1100105,41,7334,1,29,1,40,4,1,1,1,-9,4,5411,7270.0,733401 +1100105,41,7335,1,25,1,6,4,1,1,1,16,4,713Z,8590.0,733501 +1100105,41,7336,1,22,2,15,3,1,1,1,15,4,611M1,7870.0,733601 +1100105,41,7337,1,23,2,20,1,1,1,1,16,4,611M1,7870.0,733701 +1100105,41,7338,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,733801 +1100105,41,7339,1,33,1,12,5,1,1,1,16,4,9211MP,9370.0,733901 +1100105,41,7340,1,28,1,5,4,1,1,3,16,4,611M1,7870.0,734001 +1100105,41,7341,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,734101 +1100105,41,7342,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,734201 +1100105,41,7343,1,28,1,5,4,1,1,3,16,4,611M1,7870.0,734301 +1100105,41,7344,1,25,1,30,1,2,1,23,16,4,713Z,8590.0,734401 +1100105,41,7345,1,25,1,30,1,2,1,23,16,4,713Z,8590.0,734501 +1100105,41,7346,1,76,1,-9,-9,6,9,1,-9,2,0,0.0,734601 +1100105,41,7347,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,734701 +1100105,41,7348,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,734801 +1100105,41,7349,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,734901 +1100105,41,7350,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,735001 +1100105,41,7351,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,735101 +1100105,41,7352,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,735201 +1100105,41,7353,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,735301 +1100105,41,7354,1,85,2,-9,-9,6,6,1,-9,4,0,0.0,735401 +1100105,41,7355,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,735501 +1100105,41,7356,1,87,1,-9,-9,6,2,1,-9,4,0,0.0,735601 +1100105,41,7357,1,75,2,-9,-9,6,2,1,-9,4,611M1,7870.0,735701 +1100105,41,7358,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,735801 +1100105,41,7359,1,79,2,-9,-9,6,2,1,-9,4,0,0.0,735901 +1100105,41,7360,1,77,2,-9,-9,6,2,1,-9,4,0,0.0,736001 +1100105,41,7361,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,736101 +1100105,41,7362,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,736201 +1100105,41,7363,1,94,2,-9,-9,6,2,1,-9,4,0,0.0,736301 +1100105,41,7364,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,736401 +1100105,41,7365,1,87,2,-9,-9,6,2,1,-9,2,0,0.0,736501 +1100105,41,7366,1,87,2,-9,-9,6,2,1,-9,2,0,0.0,736601 +1100105,41,7367,1,72,2,-9,-9,6,2,1,-9,4,0,0.0,736701 +1100105,41,7368,1,69,1,-9,-9,6,2,1,-9,2,0,0.0,736801 +1100105,41,7369,1,72,1,-9,-9,6,2,1,-9,4,0,0.0,736901 +1100105,41,7370,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,737001 +1100105,41,7371,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,737101 +1100105,41,7372,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,737201 +1100105,41,7373,1,72,2,-9,-9,6,2,1,-9,4,0,0.0,737301 +1100105,41,7374,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,737401 +1100105,41,7375,1,77,2,-9,-9,6,2,1,-9,4,813M,9170.0,737501 +1100105,41,7376,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,737601 +1100105,41,7377,1,66,1,-9,-9,6,2,1,-9,4,45321,5480.0,737701 +1100105,41,7378,1,77,2,-9,-9,6,2,1,-9,4,813M,9170.0,737801 +1100105,41,7379,1,87,1,-9,-9,6,2,1,-9,4,0,0.0,737901 +1100105,41,7380,1,68,1,-9,-9,6,2,1,-9,2,0,0.0,738001 +1100105,41,7381,1,65,2,-9,-9,6,2,1,-9,4,0,0.0,738101 +1100105,41,7382,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,738201 +1100105,41,7383,1,73,1,-9,-9,6,2,1,-9,4,623M,8290.0,738301 +1100105,41,7384,1,82,2,-9,-9,6,2,1,-9,4,0,0.0,738401 +1100105,41,7385,1,84,2,-9,-9,6,2,1,-9,4,0,0.0,738501 +1100105,41,7386,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,738601 +1100105,41,7387,1,84,2,-9,-9,6,2,1,-9,4,0,0.0,738701 +1100105,41,7388,1,77,2,-9,-9,6,2,1,-9,4,0,0.0,738801 +1100105,41,7389,1,73,1,-9,-9,6,2,1,-9,3,23,770.0,738901 +1100105,41,7390,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,739001 +1100105,41,7391,1,77,2,-9,-9,6,2,1,-9,4,0,0.0,739101 +1100105,41,7392,1,70,2,15,6,6,2,1,-9,4,722Z,8680.0,739201 +1100105,41,7393,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,739301 +1100105,41,7394,1,71,2,-9,-9,6,2,1,-9,4,0,0.0,739401 +1100105,41,7395,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,739501 +1100105,41,7396,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,739601 +1100105,41,7397,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,739701 +1100105,41,7398,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,739801 +1100105,41,7399,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,739901 +1100105,41,7400,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,740001 +1100105,41,7401,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,740101 +1100105,41,7402,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,740201 +1100105,41,7403,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,740301 +1100105,41,7404,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,740401 +1100105,41,7405,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,740501 +1100105,41,7406,1,71,2,-9,-9,6,1,1,-9,4,611M3,7890.0,740601 +1100105,41,7407,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,740701 +1100105,41,7408,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,740801 +1100105,41,7409,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,740901 +1100105,41,7410,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,741001 +1100105,41,7411,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,741101 +1100105,41,7412,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,741201 +1100105,41,7413,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,741301 +1100105,41,7414,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,741401 +1100105,41,7415,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,741501 +1100105,41,7416,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,741601 +1100105,41,7417,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,741701 +1100105,41,7418,1,79,2,-9,-9,3,1,3,-9,4,999920,9920.0,741801 +1100105,41,7419,1,71,2,-9,-9,6,2,3,-9,4,622M,8191.0,741901 +1100105,41,7420,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,742001 +1100105,41,7421,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,742101 +1100105,41,7422,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,742201 +1100105,41,7423,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,742301 +1100105,41,7424,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,742401 +1100105,41,7425,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,742501 +1100105,41,7426,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,742601 +1100105,41,7427,1,49,2,-9,-9,6,2,1,16,4,6241,8370.0,742701 +1100105,41,7428,1,63,1,-9,-9,6,2,1,-9,4,0,0.0,742801 +1100105,41,7429,1,60,1,-9,-9,6,2,1,-9,4,4853,6190.0,742901 +1100105,41,7430,1,59,1,-9,-9,6,2,1,-9,4,0,0.0,743001 +1100105,41,7431,1,56,1,-9,-9,6,2,1,-9,4,0,0.0,743101 +1100105,41,7432,1,53,1,-9,-9,3,2,1,-9,2,4411,4670.0,743201 +1100105,41,7433,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,743301 +1100105,41,7434,1,51,1,-9,-9,6,2,1,-9,4,0,0.0,743401 +1100105,41,7435,1,49,2,-9,-9,6,2,1,-9,4,0,0.0,743501 +1100105,41,7436,1,36,2,-9,-9,6,2,1,-9,4,0,0.0,743601 +1100105,41,7437,1,38,1,10,5,3,2,1,-9,4,5416,7390.0,743701 +1100105,41,7438,1,63,1,-9,-9,6,2,1,-9,4,0,0.0,743801 +1100105,41,7439,1,38,2,-9,-9,6,2,1,-9,4,0,0.0,743901 +1100105,41,7440,1,38,2,-9,-9,6,2,1,-9,4,0,0.0,744001 +1100105,41,7441,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,744101 +1100105,41,7442,1,56,2,-9,-9,6,2,1,-9,4,0,0.0,744201 +1100105,41,7443,1,61,2,-9,-9,6,2,1,-9,4,0,0.0,744301 +1100105,41,7444,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,744401 +1100105,41,7445,1,63,2,-9,-9,3,2,1,-9,4,713Z,8590.0,744501 +1100105,41,7446,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,744601 +1100105,41,7447,1,56,1,-9,-9,6,2,1,-9,4,0,0.0,744701 +1100105,41,7448,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,744801 +1100105,41,7449,1,60,2,-9,-9,6,2,1,-9,4,4523,5391.0,744901 +1100105,41,7450,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,745001 +1100105,41,7451,1,40,2,-9,-9,6,2,1,-9,4,0,0.0,745101 +1100105,41,7452,1,56,1,-9,-9,6,2,1,-9,2,0,0.0,745201 +1100105,41,7453,1,43,2,-9,-9,6,2,1,-9,4,0,0.0,745301 +1100105,41,7454,1,56,1,-9,-9,6,2,1,-9,4,0,0.0,745401 +1100105,41,7455,1,53,1,-9,-9,3,2,1,-9,2,4411,4670.0,745501 +1100105,41,7456,1,62,2,-9,-9,6,2,1,-9,4,0,0.0,745601 +1100105,41,7457,1,53,1,-9,-9,3,2,1,-9,2,4411,4670.0,745701 +1100105,41,7458,1,53,1,-9,-9,3,2,1,-9,2,4411,4670.0,745801 +1100105,41,7459,1,58,1,-9,-9,6,2,1,-9,4,0,0.0,745901 +1100105,41,7460,1,40,2,-9,-9,6,2,1,-9,4,0,0.0,746001 +1100105,41,7461,1,42,2,-9,-9,6,2,1,-9,4,0,0.0,746101 +1100105,41,7462,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,746201 +1100105,41,7463,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,746301 +1100105,41,7464,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,746401 +1100105,41,7465,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,746501 +1100105,41,7466,1,56,1,-9,-9,6,1,1,-9,4,5241,6991.0,746601 +1100105,41,7467,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,746701 +1100105,41,7468,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,746801 +1100105,41,7469,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,746901 +1100105,41,7470,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,747001 +1100105,41,7471,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,747101 +1100105,41,7472,1,53,1,-9,-9,3,1,1,-9,4,814,9290.0,747201 +1100105,41,7473,1,56,1,-9,-9,3,1,1,-9,4,611M1,7870.0,747301 +1100105,41,7474,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,747401 +1100105,41,7475,1,56,2,-9,-9,3,1,1,16,4,5413,7290.0,747501 +1100105,41,7476,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,747601 +1100105,41,7477,1,56,1,-9,-9,6,1,1,-9,4,5241,6991.0,747701 +1100105,41,7478,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,747801 +1100105,41,7479,1,37,2,8,6,3,1,1,-9,4,611M1,7870.0,747901 +1100105,41,7480,1,56,2,-9,-9,3,1,1,16,4,5413,7290.0,748001 +1100105,41,7481,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,748101 +1100105,41,7482,1,56,1,-9,-9,3,1,1,-9,4,611M1,7870.0,748201 +1100105,41,7483,1,53,1,-9,-9,3,1,1,-9,4,814,9290.0,748301 +1100105,41,7484,1,37,2,8,6,3,1,1,-9,4,611M1,7870.0,748401 +1100105,41,7485,1,38,1,35,5,3,1,16,-9,4,5416,7390.0,748501 +1100105,41,7486,1,50,2,-9,-9,6,2,3,-9,4,0,0.0,748601 +1100105,41,7487,1,38,1,35,5,3,1,16,-9,4,5416,7390.0,748701 +1100105,41,7488,1,50,2,-9,-9,6,2,3,-9,4,0,0.0,748801 +1100105,41,7489,1,38,1,35,5,3,1,16,-9,4,5416,7390.0,748901 +1100105,41,7490,1,36,2,45,6,6,1,23,-9,4,8139Z,9190.0,749001 +1100105,41,7491,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,749101 +1100105,41,7492,1,47,2,8,1,6,1,16,-9,4,713Z,8590.0,749201 +1100105,41,7493,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,749301 +1100105,41,7494,1,25,1,-9,-9,6,6,1,16,4,51913,6672.0,749401 +1100105,41,7495,1,23,1,-9,-9,6,6,1,16,4,0,0.0,749501 +1100105,41,7496,1,23,2,40,6,6,6,1,15,4,611M1,7870.0,749601 +1100105,41,7497,1,23,1,-9,-9,6,2,1,-9,4,0,0.0,749701 +1100105,41,7498,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,749801 +1100105,41,7499,1,24,2,-9,-9,6,1,1,16,4,6244,8470.0,749901 +1100105,41,7500,1,20,1,40,6,6,1,1,15,4,52M2,6970.0,750001 +1100105,41,7501,1,27,1,-9,-9,6,1,1,-9,4,611M1,7870.0,750101 +1100105,41,7502,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,750201 +1100105,41,7503,1,24,2,10,5,6,1,1,16,4,712,8570.0,750301 +1100105,41,7504,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,750401 +1100105,41,7505,1,23,2,20,6,3,1,1,16,4,5417,7460.0,750501 +1100105,41,7506,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,750601 +1100105,41,7507,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,750701 +1100105,41,7508,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,750801 +1100105,41,7509,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,750901 +1100105,41,7510,1,31,2,-9,-9,3,1,1,16,4,311811,1190.0,751001 +1100105,41,7511,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,751101 +1100105,41,7512,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,751201 +1100105,41,7513,1,26,2,-9,-9,6,1,1,16,4,611M1,7870.0,751301 +1100105,41,7514,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,751401 +1100105,41,7515,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,751501 +1100105,41,7516,1,34,2,-9,-9,6,1,1,16,4,0,0.0,751601 +1100105,41,7517,1,26,2,40,6,6,1,23,16,4,722Z,8680.0,751701 +1100105,41,7518,1,25,2,40,3,3,1,21,-9,4,5417,7460.0,751801 +1100105,41,7519,1,25,2,40,3,3,1,21,-9,4,5417,7460.0,751901 +1100105,41,7520,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,752001 +1100105,41,7521,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,752101 +1100105,41,7522,1,26,2,-9,-9,6,9,16,-9,4,5411,7270.0,752201 +1100105,41,7523,1,26,2,40,6,6,1,23,16,4,722Z,8680.0,752301 +1100105,41,7524,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,752401 +1100105,41,7525,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,752501 +1100105,41,7526,1,26,2,-9,-9,6,9,16,-9,4,5411,7270.0,752601 +1100105,41,7527,1,26,2,-9,-9,6,9,16,-9,4,5411,7270.0,752701 +1100105,41,7528,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,752801 +1100105,41,7529,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,752901 +1100105,42,7530,1,53,1,70,1,1,1,1,-9,4,5411,7270.0,753001 +1100105,42,7530,2,45,2,50,1,1,1,1,-9,4,8131,9160.0,753002 +1100105,42,7530,3,15,2,-9,-9,-9,1,1,12,-9,0,0.0,753003 +1100105,42,7530,4,11,1,-9,-9,-9,1,1,8,-9,0,0.0,753004 +1100105,42,7531,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,753101 +1100105,42,7531,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,753102 +1100105,42,7531,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,753103 +1100105,42,7531,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,753104 +1100105,42,7532,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,753201 +1100105,42,7532,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,753202 +1100105,42,7532,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,753203 +1100105,42,7532,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,753204 +1100105,42,7533,1,37,1,45,1,1,9,1,-9,4,92MP,9470.0,753301 +1100105,42,7533,2,37,2,50,1,1,6,1,-9,4,5416,7390.0,753302 +1100105,42,7533,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,753303 +1100105,42,7533,4,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,753304 +1100105,42,7534,1,37,1,45,1,1,9,1,-9,4,92MP,9470.0,753401 +1100105,42,7534,2,37,2,50,1,1,6,1,-9,4,5416,7390.0,753402 +1100105,42,7534,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,753403 +1100105,42,7534,4,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,753404 +1100105,42,7535,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,753501 +1100105,42,7535,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,753502 +1100105,42,7535,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,753503 +1100105,42,7535,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,753504 +1100105,42,7536,1,35,2,41,1,1,6,1,-9,4,5416,7390.0,753601 +1100105,42,7536,2,38,1,40,1,1,9,1,-9,4,928P,9590.0,753602 +1100105,42,7536,3,7,2,-9,-9,-9,9,1,4,-9,0,0.0,753603 +1100105,42,7536,4,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,753604 +1100105,42,7537,1,37,1,45,1,1,9,1,-9,4,92MP,9470.0,753701 +1100105,42,7537,2,37,2,50,1,1,6,1,-9,4,5416,7390.0,753702 +1100105,42,7537,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,753703 +1100105,42,7537,4,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,753704 +1100105,42,7538,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,753801 +1100105,42,7538,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,753802 +1100105,42,7538,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,753803 +1100105,42,7538,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,753804 +1100105,42,7539,1,47,1,60,1,1,1,1,-9,4,443142,4795.0,753901 +1100105,42,7539,2,39,2,6,1,1,1,1,-9,4,9211MP,9370.0,753902 +1100105,42,7539,3,7,1,-9,-9,-9,1,1,3,-9,0,0.0,753903 +1100105,42,7539,4,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,753904 +1100105,42,7540,1,47,1,60,1,1,1,1,-9,4,443142,4795.0,754001 +1100105,42,7540,2,39,2,6,1,1,1,1,-9,4,9211MP,9370.0,754002 +1100105,42,7540,3,7,1,-9,-9,-9,1,1,3,-9,0,0.0,754003 +1100105,42,7540,4,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,754004 +1100105,42,7541,1,37,2,40,1,1,6,1,-9,4,92M2,9570.0,754101 +1100105,42,7541,2,35,1,50,1,1,2,1,-9,4,621M,8180.0,754102 +1100105,42,7541,3,2,2,-9,-9,-9,9,1,-9,-9,0,0.0,754103 +1100105,42,7541,4,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,754104 +1100105,42,7542,1,36,2,75,1,1,1,1,-9,4,5111Z,6480.0,754201 +1100105,42,7542,2,37,1,60,1,1,1,1,-9,2,622M,8191.0,754202 +1100105,42,7542,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,754203 +1100105,42,7542,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,754204 +1100105,42,7543,1,39,1,45,1,1,1,1,-9,4,5417,7460.0,754301 +1100105,42,7543,2,36,2,40,1,1,1,1,-9,4,5411,7270.0,754302 +1100105,42,7543,3,3,2,-9,-9,-9,1,1,1,-9,0,0.0,754303 +1100105,42,7543,4,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,754304 +1100105,42,7544,1,36,2,75,1,1,1,1,-9,4,5111Z,6480.0,754401 +1100105,42,7544,2,37,1,60,1,1,1,1,-9,2,622M,8191.0,754402 +1100105,42,7544,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,754403 +1100105,42,7544,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,754404 +1100105,42,7545,1,35,2,40,1,1,1,1,-9,4,928P,9590.0,754501 +1100105,42,7545,2,36,1,50,1,1,1,1,-9,4,5416,7390.0,754502 +1100105,42,7545,3,3,1,-9,-9,-9,1,1,-9,-9,0,0.0,754503 +1100105,42,7545,4,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,754504 +1100105,42,7546,1,36,1,40,1,1,1,1,-9,4,92113,9380.0,754601 +1100105,42,7546,2,36,2,40,1,1,1,2,-9,4,928P,9590.0,754602 +1100105,42,7546,3,4,1,-9,-9,-9,1,2,1,-9,0,0.0,754603 +1100105,42,7546,4,2,1,-9,-9,-9,1,2,-9,-9,0,0.0,754604 +1100105,42,7547,1,34,1,45,1,1,1,1,-9,4,5616,7680.0,754701 +1100105,42,7547,2,37,2,50,1,1,1,1,-9,4,5417,7460.0,754702 +1100105,42,7547,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,754703 +1100105,42,7547,4,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,754704 +1100105,42,7548,1,46,1,40,1,1,1,1,-9,4,5411,7270.0,754801 +1100105,42,7548,2,42,2,-9,-9,6,6,19,-9,4,0,0.0,754802 +1100105,42,7548,3,7,1,-9,-9,-9,9,1,4,-9,0,0.0,754803 +1100105,42,7548,4,5,1,-9,-9,-9,9,1,2,-9,0,0.0,754804 +1100105,42,7549,1,39,2,-9,-9,6,1,1,-9,4,0,0.0,754901 +1100105,42,7549,2,39,1,50,1,1,1,1,-9,4,5416,7390.0,754902 +1100105,42,7549,3,6,2,-9,-9,-9,1,1,2,-9,0,0.0,754903 +1100105,42,7549,4,3,2,-9,-9,-9,1,1,1,-9,0,0.0,754904 +1100105,42,7550,1,36,1,60,1,1,1,1,-9,4,334M2,3390.0,755001 +1100105,42,7550,2,35,2,15,4,6,1,1,-9,4,713Z,8590.0,755002 +1100105,42,7550,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,755003 +1100105,42,7550,4,6,1,-9,-9,-9,1,1,2,-9,0,0.0,755004 +1100105,42,7551,1,36,1,60,1,1,1,1,-9,4,334M2,3390.0,755101 +1100105,42,7551,2,35,2,15,4,6,1,1,-9,4,713Z,8590.0,755102 +1100105,42,7551,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,755103 +1100105,42,7551,4,6,1,-9,-9,-9,1,1,2,-9,0,0.0,755104 +1100105,42,7552,1,48,1,60,1,1,1,1,-9,4,5111Z,6480.0,755201 +1100105,42,7552,2,40,2,20,1,1,1,1,-9,4,928P,9590.0,755202 +1100105,42,7552,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,755203 +1100105,42,7552,4,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,755204 +1100105,42,7553,1,48,1,60,1,1,1,1,-9,4,5111Z,6480.0,755301 +1100105,42,7553,2,40,2,20,1,1,1,1,-9,4,928P,9590.0,755302 +1100105,42,7553,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,755303 +1100105,42,7553,4,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,755304 +1100105,42,7554,1,48,1,60,1,1,1,1,-9,4,5111Z,6480.0,755401 +1100105,42,7554,2,40,2,20,1,1,1,1,-9,4,928P,9590.0,755402 +1100105,42,7554,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,755403 +1100105,42,7554,4,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,755404 +1100105,42,7555,1,46,1,40,1,1,1,1,-9,4,325M,2290.0,755501 +1100105,42,7555,2,43,2,-9,-9,3,1,1,-9,4,52M1,6870.0,755502 +1100105,42,7555,3,9,1,-9,-9,-9,1,1,6,-9,0,0.0,755503 +1100105,42,7555,4,4,1,-9,-9,-9,1,1,1,-9,0,0.0,755504 +1100105,42,7556,1,46,1,40,1,1,1,1,-9,4,325M,2290.0,755601 +1100105,42,7556,2,43,2,-9,-9,3,1,1,-9,4,52M1,6870.0,755602 +1100105,42,7556,3,9,1,-9,-9,-9,1,1,6,-9,0,0.0,755603 +1100105,42,7556,4,4,1,-9,-9,-9,1,1,1,-9,0,0.0,755604 +1100105,42,7557,1,52,2,-9,-9,3,1,24,-9,4,622M,8191.0,755701 +1100105,42,7557,2,27,2,40,1,1,1,11,16,4,5416,7390.0,755702 +1100105,42,7557,3,14,2,-9,-9,-9,1,11,-9,-9,0,0.0,755703 +1100105,42,7557,4,3,1,-9,-9,-9,1,11,1,-9,0,0.0,755704 +1100105,42,7558,1,37,2,50,1,1,1,1,-9,4,2211P,570.0,755801 +1100105,42,7558,2,42,1,25,5,6,1,1,-9,4,5412,7280.0,755802 +1100105,42,7558,3,3,2,-9,-9,-9,1,1,1,-9,0,0.0,755803 +1100105,42,7558,4,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,755804 +1100105,42,7559,1,33,1,40,1,1,1,1,-9,4,8139Z,9190.0,755901 +1100105,42,7559,2,33,2,40,4,6,1,1,-9,4,6244,8470.0,755902 +1100105,42,7559,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,755903 +1100105,42,7559,4,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,755904 +1100105,42,7560,1,33,1,40,1,1,1,1,-9,4,8139Z,9190.0,756001 +1100105,42,7560,2,33,2,40,4,6,1,1,-9,4,6244,8470.0,756002 +1100105,42,7560,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,756003 +1100105,42,7560,4,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,756004 +1100105,42,7561,1,40,2,30,1,1,1,1,-9,4,813M,9170.0,756101 +1100105,42,7561,2,40,1,40,1,1,1,1,-9,4,5411,7270.0,756102 +1100105,42,7561,3,6,2,-9,-9,-9,1,1,2,-9,0,0.0,756103 +1100105,42,7561,4,4,1,-9,-9,-9,1,1,1,-9,0,0.0,756104 +1100105,42,7562,1,51,2,40,1,1,1,1,-9,4,611M1,7870.0,756201 +1100105,42,7562,2,16,2,-9,-9,6,1,1,13,-9,0,0.0,756202 +1100105,42,7562,3,10,2,-9,-9,-9,1,1,5,-9,0,0.0,756203 +1100105,42,7562,4,10,2,-9,-9,-9,1,1,6,-9,0,0.0,756204 +1100105,42,7563,1,51,2,40,1,1,1,1,-9,4,611M1,7870.0,756301 +1100105,42,7563,2,16,2,-9,-9,6,1,1,13,-9,0,0.0,756302 +1100105,42,7563,3,10,2,-9,-9,-9,1,1,5,-9,0,0.0,756303 +1100105,42,7563,4,10,2,-9,-9,-9,1,1,6,-9,0,0.0,756304 +1100105,42,7564,1,51,2,40,1,1,1,1,-9,4,611M1,7870.0,756401 +1100105,42,7564,2,16,2,-9,-9,6,1,1,13,-9,0,0.0,756402 +1100105,42,7564,3,10,2,-9,-9,-9,1,1,5,-9,0,0.0,756403 +1100105,42,7564,4,10,2,-9,-9,-9,1,1,6,-9,0,0.0,756404 +1100105,42,7565,1,51,2,40,1,1,1,1,-9,4,611M1,7870.0,756501 +1100105,42,7565,2,16,2,-9,-9,6,1,1,13,-9,0,0.0,756502 +1100105,42,7565,3,10,2,-9,-9,-9,1,1,5,-9,0,0.0,756503 +1100105,42,7565,4,10,2,-9,-9,-9,1,1,6,-9,0,0.0,756504 +1100105,42,7566,1,51,2,40,1,1,1,1,-9,4,611M1,7870.0,756601 +1100105,42,7566,2,16,2,-9,-9,6,1,1,13,-9,0,0.0,756602 +1100105,42,7566,3,10,2,-9,-9,-9,1,1,5,-9,0,0.0,756603 +1100105,42,7566,4,10,2,-9,-9,-9,1,1,6,-9,0,0.0,756604 +1100105,42,7567,1,51,2,40,1,1,1,1,-9,4,611M1,7870.0,756701 +1100105,42,7567,2,16,2,-9,-9,6,1,1,13,-9,0,0.0,756702 +1100105,42,7567,3,10,2,-9,-9,-9,1,1,5,-9,0,0.0,756703 +1100105,42,7567,4,10,2,-9,-9,-9,1,1,6,-9,0,0.0,756704 +1100105,42,7568,1,51,2,40,1,1,1,1,-9,4,611M1,7870.0,756801 +1100105,42,7568,2,16,2,-9,-9,6,1,1,13,-9,0,0.0,756802 +1100105,42,7568,3,10,2,-9,-9,-9,1,1,5,-9,0,0.0,756803 +1100105,42,7568,4,10,2,-9,-9,-9,1,1,6,-9,0,0.0,756804 +1100105,42,7569,1,51,2,40,1,1,1,1,-9,4,611M1,7870.0,756901 +1100105,42,7569,2,16,2,-9,-9,6,1,1,13,-9,0,0.0,756902 +1100105,42,7569,3,10,2,-9,-9,-9,1,1,5,-9,0,0.0,756903 +1100105,42,7569,4,10,2,-9,-9,-9,1,1,6,-9,0,0.0,756904 +1100105,42,7570,1,43,2,50,1,1,8,8,-9,4,813M,9170.0,757001 +1100105,42,7570,2,39,1,40,4,3,1,1,-9,4,5121,6570.0,757002 +1100105,42,7570,3,9,1,-9,-9,-9,8,8,6,-9,0,0.0,757003 +1100105,42,7570,4,4,2,-9,-9,-9,8,8,1,-9,0,0.0,757004 +1100105,42,7571,1,43,2,50,1,1,8,8,-9,4,813M,9170.0,757101 +1100105,42,7571,2,39,1,40,4,3,1,1,-9,4,5121,6570.0,757102 +1100105,42,7571,3,9,1,-9,-9,-9,8,8,6,-9,0,0.0,757103 +1100105,42,7571,4,4,2,-9,-9,-9,8,8,1,-9,0,0.0,757104 +1100105,42,7572,1,42,1,-9,-9,6,1,1,-9,4,23,770.0,757201 +1100105,42,7572,2,35,2,50,1,1,1,13,-9,4,928P,9590.0,757202 +1100105,42,7572,3,4,2,-9,-9,-9,1,1,2,-9,0,0.0,757203 +1100105,42,7572,4,3,2,-9,-9,-9,1,1,2,-9,0,0.0,757204 +1100105,42,7573,1,44,2,35,1,1,1,1,-9,4,7211,8660.0,757301 +1100105,42,7573,2,49,1,20,2,1,1,1,-9,4,722Z,8680.0,757302 +1100105,42,7573,3,16,2,-9,-9,6,1,1,13,-9,0,0.0,757303 +1100105,42,7573,4,11,2,-9,-9,-9,1,1,8,-9,0,0.0,757304 +1100105,42,7574,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,757401 +1100105,42,7574,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,757402 +1100105,42,7574,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,757403 +1100105,42,7574,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,757404 +1100105,42,7575,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,757501 +1100105,42,7575,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,757502 +1100105,42,7575,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,757503 +1100105,42,7575,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,757504 +1100105,42,7576,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,757601 +1100105,42,7576,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,757602 +1100105,42,7576,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,757603 +1100105,42,7576,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,757604 +1100105,42,7577,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,757701 +1100105,42,7577,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,757702 +1100105,42,7577,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,757703 +1100105,42,7577,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,757704 +1100105,42,7578,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,757801 +1100105,42,7578,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,757802 +1100105,42,7578,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,757803 +1100105,42,7578,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,757804 +1100105,42,7579,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,757901 +1100105,42,7579,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,757902 +1100105,42,7579,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,757903 +1100105,42,7579,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,757904 +1100105,42,7580,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,758001 +1100105,42,7580,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,758002 +1100105,42,7580,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,758003 +1100105,42,7580,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,758004 +1100105,42,7581,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,758101 +1100105,42,7581,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,758102 +1100105,42,7581,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,758103 +1100105,42,7581,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,758104 +1100105,42,7582,1,30,1,45,1,4,1,1,-9,1,928110P3,9690.0,758201 +1100105,42,7582,2,25,2,-9,-9,6,1,1,-9,4,713Z,8590.0,758202 +1100105,42,7582,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,758203 +1100105,42,7582,4,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,758204 +1100105,42,7583,1,30,1,45,1,4,1,1,-9,1,928110P3,9690.0,758301 +1100105,42,7583,2,25,2,-9,-9,6,1,1,-9,4,713Z,8590.0,758302 +1100105,42,7583,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,758303 +1100105,42,7583,4,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,758304 +1100105,42,7584,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,758401 +1100105,42,7584,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,758402 +1100105,42,7584,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,758403 +1100105,42,7584,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,758404 +1100105,42,7585,1,28,1,40,1,1,8,2,-9,4,23,770.0,758501 +1100105,42,7585,2,35,2,-9,-9,6,8,2,-9,4,0,0.0,758502 +1100105,42,7585,3,6,2,-9,-9,-9,8,2,2,-9,0,0.0,758503 +1100105,42,7585,4,4,1,-9,-9,-9,8,2,1,-9,0,0.0,758504 +1100105,42,7586,1,28,1,40,1,1,8,2,-9,4,23,770.0,758601 +1100105,42,7586,2,35,2,-9,-9,6,8,2,-9,4,0,0.0,758602 +1100105,42,7586,3,6,2,-9,-9,-9,8,2,2,-9,0,0.0,758603 +1100105,42,7586,4,4,1,-9,-9,-9,8,2,1,-9,0,0.0,758604 +1100105,42,7587,1,62,1,40,1,1,8,11,-9,4,44511,4971.0,758701 +1100105,42,7587,2,52,2,-9,-9,6,8,11,-9,4,0,0.0,758702 +1100105,42,7587,3,17,2,-9,-9,6,8,11,13,4,0,0.0,758703 +1100105,42,7587,4,13,2,-9,-9,-9,8,11,9,-9,0,0.0,758704 +1100105,42,7588,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,758801 +1100105,42,7588,2,18,1,-9,-9,6,8,2,14,4,0,0.0,758802 +1100105,42,7588,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,758803 +1100105,42,7588,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,758804 +1100105,42,7589,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,758901 +1100105,42,7589,2,18,1,-9,-9,6,8,2,14,4,0,0.0,758902 +1100105,42,7589,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,758903 +1100105,42,7589,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,758904 +1100105,42,7590,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,759001 +1100105,42,7590,2,18,1,-9,-9,6,8,2,14,4,0,0.0,759002 +1100105,42,7590,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,759003 +1100105,42,7590,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,759004 +1100105,42,7591,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,759101 +1100105,42,7591,2,18,1,-9,-9,6,8,2,14,4,0,0.0,759102 +1100105,42,7591,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,759103 +1100105,42,7591,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,759104 +1100105,42,7592,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,759201 +1100105,42,7592,2,18,1,-9,-9,6,8,2,14,4,0,0.0,759202 +1100105,42,7592,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,759203 +1100105,42,7592,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,759204 +1100105,42,7593,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,759301 +1100105,42,7593,2,18,1,-9,-9,6,8,2,14,4,0,0.0,759302 +1100105,42,7593,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,759303 +1100105,42,7593,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,759304 +1100105,42,7594,1,45,1,40,1,1,1,1,-9,4,515,6670.0,759401 +1100105,42,7594,2,42,2,40,1,1,6,1,-9,4,515,6670.0,759402 +1100105,42,7594,3,2,1,-9,-9,-9,8,1,-9,-9,0,0.0,759403 +1100105,42,7595,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,759501 +1100105,42,7595,2,35,2,50,1,1,6,1,-9,4,92MP,9470.0,759502 +1100105,42,7595,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,759503 +1100105,42,7596,1,35,2,40,3,1,1,1,-9,4,92MP,9470.0,759601 +1100105,42,7596,2,36,1,60,1,1,1,1,-9,4,5411,7270.0,759602 +1100105,42,7596,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,759603 +1100105,42,7597,1,38,1,45,2,1,1,1,-9,4,5415,7380.0,759701 +1100105,42,7597,2,37,2,40,5,2,1,1,-9,4,517Z,6690.0,759702 +1100105,42,7597,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,759703 +1100105,42,7598,1,41,2,24,1,1,1,1,-9,4,813M,9170.0,759801 +1100105,42,7598,2,43,1,40,1,1,1,1,-9,4,92M2,9570.0,759802 +1100105,42,7598,3,1,2,-9,-9,-9,9,3,-9,-9,0,0.0,759803 +1100105,42,7599,1,35,1,40,1,1,1,1,-9,4,51111,6470.0,759901 +1100105,42,7599,2,33,2,50,1,1,6,1,-9,4,52M1,6870.0,759902 +1100105,42,7599,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,759903 +1100105,42,7600,1,40,1,50,1,1,1,1,-9,4,3391,3960.0,760001 +1100105,42,7600,2,32,2,40,1,1,1,1,-9,4,923,9480.0,760002 +1100105,42,7600,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,760003 +1100105,42,7601,1,35,2,50,1,1,1,1,-9,4,928P,9590.0,760101 +1100105,42,7601,2,32,1,40,1,1,1,1,-9,4,5419Z,7490.0,760102 +1100105,42,7601,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,760103 +1100105,42,7602,1,33,1,40,1,1,6,1,-9,4,928P,9590.0,760201 +1100105,42,7602,2,32,2,40,3,1,6,1,-9,4,92MP,9470.0,760202 +1100105,42,7602,3,0,2,-9,-9,-9,6,1,-9,-9,0,0.0,760203 +1100105,42,7603,1,34,1,40,1,1,6,1,-9,4,9211MP,9370.0,760301 +1100105,42,7603,2,33,2,40,1,1,6,1,-9,4,5416,7390.0,760302 +1100105,42,7603,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,760303 +1100105,42,7604,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,760401 +1100105,42,7604,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,760402 +1100105,42,7604,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,760403 +1100105,42,7605,1,30,2,40,1,1,1,1,-9,4,23,770.0,760501 +1100105,42,7605,2,30,1,50,1,1,1,1,-9,4,517311,6680.0,760502 +1100105,42,7605,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,760503 +1100105,42,7606,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,760601 +1100105,42,7606,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,760602 +1100105,42,7606,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,760603 +1100105,42,7607,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,760701 +1100105,42,7607,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,760702 +1100105,42,7607,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,760703 +1100105,42,7608,1,39,1,20,3,1,1,1,-9,4,7224,8690.0,760801 +1100105,42,7608,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,760802 +1100105,42,7608,3,27,2,-9,-9,6,1,1,-9,4,7224,8690.0,760803 +1100105,42,7609,1,33,1,50,1,1,1,1,-9,4,23,770.0,760901 +1100105,42,7609,2,32,2,-9,-9,6,1,1,-9,4,813M,9170.0,760902 +1100105,42,7609,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,760903 +1100105,42,7610,1,47,1,40,1,1,1,1,-9,4,813M,9170.0,761001 +1100105,42,7610,2,39,2,40,1,1,1,1,-9,4,81393,9180.0,761002 +1100105,42,7610,3,3,1,-9,-9,-9,1,1,-9,-9,0,0.0,761003 +1100105,42,7611,1,34,1,60,1,1,1,1,-9,4,923,9480.0,761101 +1100105,42,7611,2,34,2,30,1,1,1,1,16,4,9211MP,9370.0,761102 +1100105,42,7611,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,761103 +1100105,42,7612,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,761201 +1100105,42,7612,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,761202 +1100105,42,7612,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,761203 +1100105,42,7613,1,46,1,40,1,1,1,1,-9,4,92M2,9570.0,761301 +1100105,42,7613,2,43,2,40,1,1,1,1,-9,4,92M2,9570.0,761302 +1100105,42,7613,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,761303 +1100105,42,7614,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,761401 +1100105,42,7614,2,32,2,-9,-9,6,1,1,-9,4,5413,7290.0,761402 +1100105,42,7614,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,761403 +1100105,42,7615,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,761501 +1100105,42,7615,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,761502 +1100105,42,7615,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,761503 +1100105,42,7616,1,66,1,40,1,1,1,1,-9,4,52M2,6970.0,761601 +1100105,42,7616,2,60,2,40,1,1,6,1,-9,4,928P,9590.0,761602 +1100105,42,7617,1,64,1,45,1,2,1,1,-9,4,8139Z,9190.0,761701 +1100105,42,7617,2,65,2,40,1,1,1,1,-9,4,531M,7071.0,761702 +1100105,42,7618,1,67,1,40,1,1,1,1,-9,3,5411,7270.0,761801 +1100105,42,7618,2,64,2,10,1,1,1,1,-9,4,611M1,7870.0,761802 +1100105,42,7619,1,37,1,40,1,1,9,1,-9,2,928P,9590.0,761901 +1100105,42,7619,2,35,2,50,1,1,6,1,-9,4,622M,8191.0,761902 +1100105,42,7620,1,45,1,45,1,1,6,1,-9,4,5411,7270.0,762001 +1100105,42,7620,2,44,2,40,1,1,6,1,-9,4,5411,7270.0,762002 +1100105,42,7621,1,46,2,35,1,2,6,1,-9,4,6111,7860.0,762101 +1100105,42,7621,2,45,1,40,1,1,6,1,-9,4,722Z,8680.0,762102 +1100105,42,7622,1,44,1,40,6,1,9,1,-9,4,813M,9170.0,762201 +1100105,42,7622,2,50,1,40,1,1,1,1,-9,4,611M3,7890.0,762202 +1100105,42,7623,1,36,1,40,3,1,9,1,-9,4,5413,7290.0,762301 +1100105,42,7623,2,39,1,70,1,1,1,1,-9,4,531M,7071.0,762302 +1100105,42,7624,1,36,1,40,3,1,9,1,-9,4,5413,7290.0,762401 +1100105,42,7624,2,39,1,70,1,1,1,1,-9,4,531M,7071.0,762402 +1100105,42,7625,1,37,1,60,1,1,1,1,-9,4,5418,7470.0,762501 +1100105,42,7625,2,42,1,50,1,1,6,1,-9,4,9211MP,9370.0,762502 +1100105,42,7626,1,47,1,40,1,1,1,1,-9,4,52M1,6870.0,762601 +1100105,42,7626,2,52,1,40,1,1,6,1,-9,4,923,9480.0,762602 +1100105,42,7627,1,38,2,40,1,1,6,1,-9,4,813M,9170.0,762701 +1100105,42,7627,2,38,1,50,1,1,1,1,-9,4,92M2,9570.0,762702 +1100105,42,7628,1,55,1,50,1,1,1,1,-9,4,8139Z,9190.0,762801 +1100105,42,7628,2,47,1,40,1,1,6,1,-9,4,51912,6770.0,762802 +1100105,42,7629,1,44,2,46,1,1,1,1,-9,4,5415,7380.0,762901 +1100105,42,7629,2,39,1,50,1,1,1,1,-9,4,611M3,7890.0,762902 +1100105,42,7630,1,40,1,43,1,1,1,1,-9,4,5112,6490.0,763001 +1100105,42,7630,2,35,1,60,1,1,1,1,-9,4,5415,7380.0,763002 +1100105,42,7631,1,53,1,40,1,1,1,1,-9,4,928P,9590.0,763101 +1100105,42,7631,2,44,2,20,4,1,1,1,16,4,5416,7390.0,763102 +1100105,42,7632,1,37,1,95,1,1,1,1,-9,4,8139Z,9190.0,763201 +1100105,42,7632,2,40,1,40,1,1,1,1,-9,4,5121,6570.0,763202 +1100105,42,7633,1,37,1,50,1,1,1,1,-9,4,531M,7071.0,763301 +1100105,42,7633,2,36,2,40,1,1,1,1,-9,4,813M,9170.0,763302 +1100105,42,7634,1,39,2,70,1,1,1,1,-9,4,5415,7380.0,763401 +1100105,42,7634,2,46,1,40,4,1,1,1,-9,4,5415,7380.0,763402 +1100105,42,7635,1,60,2,50,1,1,1,1,-9,4,6212,7980.0,763501 +1100105,42,7635,2,59,1,40,1,1,1,1,-9,4,92M2,9570.0,763502 +1100105,42,7636,1,46,2,40,1,1,1,1,-9,4,5111Z,6480.0,763601 +1100105,42,7636,2,54,1,60,1,1,1,1,-9,4,4539,5580.0,763602 +1100105,42,7637,1,38,2,60,1,1,1,1,-9,4,52M2,6970.0,763701 +1100105,42,7637,2,39,1,48,1,1,1,1,-9,4,5419Z,7490.0,763702 +1100105,42,7638,1,62,1,52,1,1,1,1,-9,2,611M3,7890.0,763801 +1100105,42,7638,2,62,2,40,1,1,1,1,-9,4,5415,7380.0,763802 +1100105,42,7639,1,38,2,60,1,1,1,1,-9,4,52M2,6970.0,763901 +1100105,42,7639,2,39,1,48,1,1,1,1,-9,4,5419Z,7490.0,763902 +1100105,42,7640,1,38,2,50,1,1,1,1,-9,4,8139Z,9190.0,764001 +1100105,42,7640,2,39,1,45,1,1,1,1,-9,4,611M1,7870.0,764002 +1100105,42,7641,1,48,1,46,1,1,1,1,-9,4,622M,8191.0,764101 +1100105,42,7641,2,46,1,40,1,1,1,1,-9,4,5411,7270.0,764102 +1100105,42,7642,1,41,1,40,1,1,1,1,-9,4,5411,7270.0,764201 +1100105,42,7642,2,60,1,40,1,1,1,1,-9,4,928P,9590.0,764202 +1100105,42,7643,1,39,2,52,1,1,1,1,-9,4,813M,9170.0,764301 +1100105,42,7643,2,50,1,60,1,1,1,1,-9,4,5417,7460.0,764302 +1100105,42,7644,1,38,2,42,1,1,1,1,-9,4,813M,9170.0,764401 +1100105,42,7644,2,36,1,40,1,1,1,1,-9,4,5411,7270.0,764402 +1100105,42,7645,1,36,2,60,1,1,1,1,-9,4,51111,6470.0,764501 +1100105,42,7645,2,40,1,60,1,4,1,1,-9,1,928110P2,9680.0,764502 +1100105,42,7646,1,59,1,40,1,1,1,1,-9,2,622M,8191.0,764601 +1100105,42,7646,2,58,2,45,1,1,1,1,-9,2,611M1,7870.0,764602 +1100105,42,7647,1,39,2,70,1,1,1,1,-9,4,5415,7380.0,764701 +1100105,42,7647,2,46,1,40,4,1,1,1,-9,4,5415,7380.0,764702 +1100105,42,7648,1,48,1,45,2,1,1,1,-9,4,92113,9380.0,764801 +1100105,42,7648,2,46,1,30,1,1,1,1,-9,4,7111,8561.0,764802 +1100105,42,7649,1,53,1,20,5,1,1,1,-9,4,611M3,7890.0,764901 +1100105,42,7649,2,55,1,40,1,1,1,1,-9,4,92M1,9490.0,764902 +1100105,42,7650,1,64,2,28,1,1,1,1,-9,4,928P,9590.0,765001 +1100105,42,7650,2,56,2,40,1,1,1,1,-9,4,51912,6770.0,765002 +1100105,42,7651,1,42,1,60,1,1,1,1,-9,4,7115,8564.0,765101 +1100105,42,7651,2,37,1,75,1,1,1,1,-9,4,92M2,9570.0,765102 +1100105,42,7652,1,39,2,50,1,1,1,1,-9,4,813M,9170.0,765201 +1100105,42,7652,2,45,1,40,1,1,1,1,-9,4,3231,1990.0,765202 +1100105,42,7653,1,35,2,60,1,1,1,1,-9,4,622M,8191.0,765301 +1100105,42,7653,2,36,1,40,1,1,1,1,-9,4,928P,9590.0,765302 +1100105,42,7654,1,60,1,50,1,1,1,1,-9,4,6211,7970.0,765401 +1100105,42,7654,2,61,1,60,1,1,1,1,-9,4,6211,7970.0,765402 +1100105,42,7655,1,64,2,28,1,1,1,1,-9,4,928P,9590.0,765501 +1100105,42,7655,2,56,2,40,1,1,1,1,-9,4,51912,6770.0,765502 +1100105,42,7656,1,54,2,60,1,1,1,1,-9,4,5413,7290.0,765601 +1100105,42,7656,2,44,1,60,1,1,1,1,-9,4,5413,7290.0,765602 +1100105,42,7657,1,39,2,50,1,1,1,1,-9,4,928P,9590.0,765701 +1100105,42,7657,2,38,2,50,1,1,1,1,-9,4,928P,9590.0,765702 +1100105,42,7658,1,56,1,52,1,1,1,1,15,2,5416,7390.0,765801 +1100105,42,7658,2,43,2,52,1,1,1,1,-9,4,813M,9170.0,765802 +1100105,42,7659,1,38,1,45,1,1,1,1,-9,4,9211MP,9370.0,765901 +1100105,42,7659,2,35,2,48,1,1,1,1,-9,4,92119,9390.0,765902 +1100105,42,7660,1,56,2,40,1,1,1,1,-9,4,92M2,9570.0,766001 +1100105,42,7660,2,55,1,40,1,1,1,1,-9,4,9211MP,9370.0,766002 +1100105,42,7661,1,36,2,55,1,1,1,1,-9,4,531M,7071.0,766101 +1100105,42,7661,2,41,2,70,1,1,1,1,-9,4,531M,7071.0,766102 +1100105,42,7662,1,60,2,40,1,1,1,1,-9,4,5411,7270.0,766201 +1100105,42,7662,2,54,2,35,3,1,9,19,-9,4,6111,7860.0,766202 +1100105,42,7663,1,48,2,40,4,1,1,2,-9,2,5417,7460.0,766301 +1100105,42,7663,2,47,2,50,1,1,1,1,-9,4,611M1,7870.0,766302 +1100105,42,7664,1,60,2,40,1,1,1,1,-9,4,5411,7270.0,766401 +1100105,42,7664,2,54,2,35,3,1,9,19,-9,4,6111,7860.0,766402 +1100105,42,7665,1,36,2,50,1,1,1,23,-9,4,4234,4170.0,766501 +1100105,42,7665,2,35,1,40,1,1,9,23,-9,4,611M1,7870.0,766502 +1100105,42,7666,1,40,1,65,1,1,9,1,-9,4,5419Z,7490.0,766601 +1100105,42,7666,2,29,2,52,1,1,1,1,-9,4,928P,9590.0,766602 +1100105,42,7667,1,35,1,70,1,1,9,1,-9,4,5411,7270.0,766701 +1100105,42,7667,2,33,2,67,1,1,1,1,-9,4,5411,7270.0,766702 +1100105,42,7668,1,39,1,40,1,1,1,1,-9,4,92119,9390.0,766801 +1100105,42,7668,2,29,1,40,1,1,6,1,-9,4,5415,7380.0,766802 +1100105,42,7669,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,766901 +1100105,42,7669,2,30,1,40,1,1,6,1,-9,4,6214,8090.0,766902 +1100105,42,7670,1,34,2,35,1,1,1,1,16,4,928P,9590.0,767001 +1100105,42,7670,2,36,1,40,1,1,1,1,16,4,622M,8191.0,767002 +1100105,42,7671,1,37,1,40,1,1,1,1,-9,4,813M,9170.0,767101 +1100105,42,7671,2,33,2,40,4,1,1,1,-9,4,5415,7380.0,767102 +1100105,42,7672,1,62,2,40,1,1,1,1,-9,4,712,8570.0,767201 +1100105,42,7672,2,28,2,50,5,1,1,1,16,2,92MP,9470.0,767202 +1100105,42,7673,1,36,1,45,1,1,1,1,-9,4,928P,9590.0,767301 +1100105,42,7673,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,767302 +1100105,42,7674,1,34,2,45,1,1,1,1,-9,4,522M,6890.0,767401 +1100105,42,7674,2,36,1,40,1,1,1,1,-9,2,92MP,9470.0,767402 +1100105,42,7675,1,48,2,50,1,1,1,1,-9,4,5415,7380.0,767501 +1100105,42,7675,2,30,1,50,1,1,1,1,-9,4,621M,8180.0,767502 +1100105,42,7676,1,36,1,45,1,1,1,1,-9,4,928P,9590.0,767601 +1100105,42,7676,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,767602 +1100105,42,7677,1,35,1,85,1,1,1,1,-9,4,5411,7270.0,767701 +1100105,42,7677,2,34,2,50,1,1,1,1,-9,4,3254,2190.0,767702 +1100105,42,7678,1,38,2,40,1,1,1,1,-9,4,923,9480.0,767801 +1100105,42,7678,2,33,1,40,1,1,1,1,-9,4,5416,7390.0,767802 +1100105,42,7679,1,32,1,40,1,1,1,1,16,4,923,9480.0,767901 +1100105,42,7679,2,39,1,40,1,1,1,1,-9,4,813M,9170.0,767902 +1100105,42,7680,1,58,1,40,1,1,1,1,-9,4,5416,7390.0,768001 +1100105,42,7680,2,34,2,50,1,1,1,1,-9,4,622M,8191.0,768002 +1100105,42,7681,1,41,1,20,3,1,1,1,-9,4,5411,7270.0,768101 +1100105,42,7681,2,31,2,40,1,1,1,1,-9,4,5411,7270.0,768102 +1100105,42,7682,1,36,1,45,2,1,1,1,-9,2,5416,7390.0,768201 +1100105,42,7682,2,32,2,45,2,1,1,1,-9,4,928P,9590.0,768202 +1100105,42,7683,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,768301 +1100105,42,7683,2,32,2,50,4,1,1,1,-9,4,8139Z,9190.0,768302 +1100105,42,7684,1,35,1,55,1,1,1,1,-9,4,8139Z,9190.0,768401 +1100105,42,7684,2,34,1,50,1,1,1,1,-9,4,8139Z,9190.0,768402 +1100105,42,7685,1,35,1,65,1,1,1,1,-9,4,5411,7270.0,768501 +1100105,42,7685,2,33,1,40,1,1,1,1,-9,4,5112,6490.0,768502 +1100105,42,7686,1,48,2,50,1,1,1,1,-9,4,5415,7380.0,768601 +1100105,42,7686,2,30,1,50,1,1,1,1,-9,4,621M,8180.0,768602 +1100105,42,7687,1,36,1,45,1,1,1,1,-9,4,928P,9590.0,768701 +1100105,42,7687,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,768702 +1100105,42,7688,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,768801 +1100105,42,7688,2,32,2,50,4,1,1,1,-9,4,8139Z,9190.0,768802 +1100105,42,7689,1,41,1,40,1,1,1,1,-9,4,92M2,9570.0,768901 +1100105,42,7689,2,32,1,40,1,1,1,16,-9,4,92M2,9570.0,768902 +1100105,42,7690,1,44,1,40,1,4,1,19,16,1,928110P3,9690.0,769001 +1100105,42,7690,2,27,2,50,1,1,1,1,-9,4,8139Z,9190.0,769002 +1100105,42,7691,1,39,1,40,1,1,1,6,-9,4,622M,8191.0,769101 +1100105,42,7691,2,30,2,40,6,1,1,1,16,4,622M,8191.0,769102 +1100105,42,7692,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,769201 +1100105,42,7692,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,769202 +1100105,42,7693,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,769301 +1100105,42,7693,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,769302 +1100105,42,7694,1,27,1,55,1,1,6,1,-9,4,5416,7390.0,769401 +1100105,42,7694,2,28,2,35,1,1,6,1,-9,4,5415,7380.0,769402 +1100105,42,7695,1,32,2,40,1,1,6,1,-9,4,5413,7290.0,769501 +1100105,42,7695,2,34,1,80,1,1,6,1,-9,4,5416,7390.0,769502 +1100105,42,7696,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,769601 +1100105,42,7696,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,769602 +1100105,42,7697,1,31,1,50,1,1,1,1,-9,4,5418,7470.0,769701 +1100105,42,7697,2,32,2,50,1,1,9,1,-9,4,5416,7390.0,769702 +1100105,42,7698,1,30,1,45,1,1,9,1,-9,4,611M3,7890.0,769801 +1100105,42,7698,2,29,2,45,1,1,1,1,-9,4,5413,7290.0,769802 +1100105,42,7699,1,33,1,40,1,1,1,1,-9,4,923,9480.0,769901 +1100105,42,7699,2,33,1,40,1,1,6,1,-9,4,5416,7390.0,769902 +1100105,42,7700,1,33,1,40,1,1,1,1,-9,4,923,9480.0,770001 +1100105,42,7700,2,33,1,40,1,1,6,1,-9,4,5416,7390.0,770002 +1100105,42,7701,1,33,1,50,1,1,6,1,-9,4,5416,7390.0,770101 +1100105,42,7701,2,31,2,45,1,1,1,1,-9,4,52M1,6870.0,770102 +1100105,42,7702,1,31,2,55,1,1,6,1,-9,4,7211,8660.0,770201 +1100105,42,7702,2,31,1,60,1,1,1,1,-9,4,5411,7270.0,770202 +1100105,42,7703,1,27,1,50,1,1,1,1,-9,4,52M1,6870.0,770301 +1100105,42,7703,2,27,2,40,1,1,6,1,-9,4,8139Z,9190.0,770302 +1100105,42,7704,1,30,2,40,1,1,1,1,-9,4,5417,7460.0,770401 +1100105,42,7704,2,31,1,40,1,1,6,1,-9,4,6214,8090.0,770402 +1100105,42,7705,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,770501 +1100105,42,7705,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,770502 +1100105,42,7706,1,34,1,50,1,1,1,1,-9,2,6241,8370.0,770601 +1100105,42,7706,2,31,2,40,1,1,1,1,-9,4,92M1,9490.0,770602 +1100105,42,7707,1,23,1,50,1,1,1,1,-9,4,5416,7390.0,770701 +1100105,42,7707,2,22,1,8,4,1,1,1,15,4,611M1,7870.0,770702 +1100105,42,7708,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,770801 +1100105,42,7708,2,30,2,60,1,1,1,1,-9,4,5411,7270.0,770802 +1100105,42,7709,1,27,1,60,1,1,1,1,-9,4,9211MP,9370.0,770901 +1100105,42,7709,2,26,2,40,1,1,1,1,-9,4,481,6070.0,770902 +1100105,42,7710,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,771001 +1100105,42,7710,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,771002 +1100105,42,7711,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,771101 +1100105,42,7711,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,771102 +1100105,42,7712,1,23,2,55,1,1,1,1,-9,4,5416,7390.0,771201 +1100105,42,7712,2,27,1,64,1,1,1,1,-9,4,5416,7390.0,771202 +1100105,42,7713,1,30,2,50,1,1,1,1,-9,4,5419Z,7490.0,771301 +1100105,42,7713,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,771302 +1100105,42,7714,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,771401 +1100105,42,7714,2,29,2,40,1,1,1,1,-9,4,5413,7290.0,771402 +1100105,42,7715,1,32,1,50,1,1,1,1,-9,4,621M,8180.0,771501 +1100105,42,7715,2,31,2,60,1,1,1,1,-9,4,5416,7390.0,771502 +1100105,42,7716,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,771601 +1100105,42,7716,2,31,1,55,1,1,1,1,-9,4,522M,6890.0,771602 +1100105,42,7717,1,30,2,40,1,1,1,1,-9,4,5412,7280.0,771701 +1100105,42,7717,2,30,2,50,1,1,1,1,-9,4,622M,8191.0,771702 +1100105,42,7718,1,31,2,40,1,1,1,1,-9,4,713Z,8590.0,771801 +1100105,42,7718,2,32,1,60,1,1,1,1,-9,4,5416,7390.0,771802 +1100105,42,7719,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,771901 +1100105,42,7719,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,771902 +1100105,42,7720,1,34,1,50,1,1,1,1,-9,4,813M,9170.0,772001 +1100105,42,7720,2,33,2,50,1,1,1,1,-9,4,4853,6190.0,772002 +1100105,42,7721,1,34,1,50,1,1,1,1,-9,4,813M,9170.0,772101 +1100105,42,7721,2,33,2,50,1,1,1,1,-9,4,4853,6190.0,772102 +1100105,42,7722,1,27,1,40,1,1,1,1,-9,4,5416,7390.0,772201 +1100105,42,7722,2,26,2,50,1,1,1,1,-9,4,928P,9590.0,772202 +1100105,42,7723,1,34,1,55,1,1,1,1,-9,4,51913,6672.0,772301 +1100105,42,7723,2,32,2,60,1,1,1,1,-9,4,5411,7270.0,772302 +1100105,42,7724,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,772401 +1100105,42,7724,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,772402 +1100105,42,7725,1,33,2,50,1,1,1,1,-9,4,2211P,570.0,772501 +1100105,42,7725,2,31,1,60,1,1,1,1,-9,4,5412,7280.0,772502 +1100105,42,7726,1,32,1,40,1,1,1,1,-9,4,813M,9170.0,772601 +1100105,42,7726,2,28,2,40,1,1,1,1,-9,4,481,6070.0,772602 +1100105,42,7727,1,30,1,60,1,1,1,1,-9,4,611M3,7890.0,772701 +1100105,42,7727,2,31,2,40,1,1,1,1,-9,4,491,6370.0,772702 +1100105,42,7728,1,30,2,40,1,1,1,1,-9,4,5411,7270.0,772801 +1100105,42,7728,2,33,1,50,1,1,1,1,-9,4,5411,7270.0,772802 +1100105,42,7729,1,30,2,50,1,1,1,1,-9,4,5419Z,7490.0,772901 +1100105,42,7729,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,772902 +1100105,42,7730,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,773001 +1100105,42,7730,2,32,2,24,1,1,1,1,-9,4,6213ZM,8080.0,773002 +1100105,42,7731,1,32,1,42,1,1,1,1,-9,4,92MP,9470.0,773101 +1100105,42,7731,2,31,2,45,1,1,1,1,-9,4,92M2,9570.0,773102 +1100105,42,7732,1,32,1,45,1,1,1,1,-9,4,5418,7470.0,773201 +1100105,42,7732,2,29,2,50,1,1,1,1,-9,4,713Z,8590.0,773202 +1100105,42,7733,1,30,1,55,1,1,1,1,-9,4,5411,7270.0,773301 +1100105,42,7733,2,28,2,55,1,1,1,1,-9,4,4234,4170.0,773302 +1100105,42,7734,1,33,2,46,1,1,1,1,-9,4,5416,7390.0,773401 +1100105,42,7734,2,34,1,48,1,1,1,1,-9,4,928P,9590.0,773402 +1100105,42,7735,1,27,1,20,1,1,1,1,16,4,5615,7670.0,773501 +1100105,42,7735,2,27,2,40,1,1,1,1,-9,4,611M3,7890.0,773502 +1100105,42,7736,1,33,1,50,1,1,1,1,-9,4,5416,7390.0,773601 +1100105,42,7736,2,33,1,50,1,1,1,1,-9,4,515,6670.0,773602 +1100105,42,7737,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,773701 +1100105,42,7737,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,773702 +1100105,42,7738,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,773801 +1100105,42,7738,2,30,2,60,1,1,1,1,-9,4,5411,7270.0,773802 +1100105,42,7739,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,773901 +1100105,42,7739,2,29,2,40,1,1,1,1,-9,4,5413,7290.0,773902 +1100105,42,7740,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,774001 +1100105,42,7740,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,774002 +1100105,42,7741,1,28,2,40,1,1,1,1,-9,4,928P,9590.0,774101 +1100105,42,7741,2,29,2,50,1,1,1,1,-9,4,5313,7072.0,774102 +1100105,42,7742,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,774201 +1100105,42,7742,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,774202 +1100105,42,7743,1,34,1,20,1,1,1,1,-9,4,611M3,7890.0,774301 +1100105,42,7743,2,33,2,50,1,1,1,1,-9,4,6111,7860.0,774302 +1100105,42,7744,1,34,1,20,1,1,1,1,-9,4,611M3,7890.0,774401 +1100105,42,7744,2,33,2,50,1,1,1,1,-9,4,6111,7860.0,774402 +1100105,42,7745,1,33,2,50,1,1,1,1,-9,4,5417,7460.0,774501 +1100105,42,7745,2,32,1,38,1,1,1,1,-9,4,5241,6991.0,774502 +1100105,42,7746,1,29,2,40,1,1,1,1,-9,4,928P,9590.0,774601 +1100105,42,7746,2,29,2,40,1,1,1,1,16,4,4247,4490.0,774602 +1100105,42,7747,1,34,1,65,1,1,1,1,-9,4,5416,7390.0,774701 +1100105,42,7747,2,34,2,45,1,1,1,1,-9,4,92MP,9470.0,774702 +1100105,42,7748,1,33,2,50,1,1,1,1,-9,4,2211P,570.0,774801 +1100105,42,7748,2,31,1,60,1,1,1,1,-9,4,5412,7280.0,774802 +1100105,42,7749,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,774901 +1100105,42,7749,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,774902 +1100105,42,7750,1,31,1,50,1,1,1,1,-9,4,5411,7270.0,775001 +1100105,42,7750,2,29,2,45,1,1,1,1,-9,4,5411,7270.0,775002 +1100105,42,7751,1,33,1,40,1,1,1,1,-9,4,92113,9380.0,775101 +1100105,42,7751,2,33,2,50,1,1,1,1,-9,4,923,9480.0,775102 +1100105,42,7752,1,30,2,40,1,1,1,1,-9,4,5412,7280.0,775201 +1100105,42,7752,2,30,2,50,1,1,1,1,-9,4,622M,8191.0,775202 +1100105,42,7753,1,30,2,50,1,1,1,1,-9,4,52M2,6970.0,775301 +1100105,42,7753,2,32,1,55,1,1,1,1,-9,4,5411,7270.0,775302 +1100105,42,7754,1,34,1,50,1,1,1,1,-9,4,813M,9170.0,775401 +1100105,42,7754,2,33,2,50,1,1,1,1,-9,4,4853,6190.0,775402 +1100105,42,7755,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,775501 +1100105,42,7755,2,32,1,50,1,1,1,1,-9,4,5418,7470.0,775502 +1100105,42,7756,1,31,2,55,1,1,1,1,-9,4,5411,7270.0,775601 +1100105,42,7756,2,32,1,40,1,1,1,1,-9,4,923,9480.0,775602 +1100105,42,7757,1,33,2,40,1,1,1,1,-9,4,92M2,9570.0,775701 +1100105,42,7757,2,33,1,40,1,1,1,1,-9,4,52M2,6970.0,775702 +1100105,42,7758,1,31,2,55,1,1,1,1,-9,4,5417,7460.0,775801 +1100105,42,7758,2,31,1,50,1,1,1,1,-9,4,928P,9590.0,775802 +1100105,42,7759,1,30,1,50,1,1,1,1,-9,4,6211,7970.0,775901 +1100105,42,7759,2,28,2,70,1,1,1,1,-9,4,5411,7270.0,775902 +1100105,42,7760,1,30,1,65,1,1,1,1,-9,4,5411,7270.0,776001 +1100105,42,7760,2,31,2,65,1,1,1,1,-9,4,5416,7390.0,776002 +1100105,42,7761,1,28,2,45,1,1,1,1,-9,4,8139Z,9190.0,776101 +1100105,42,7761,2,27,1,45,1,1,1,1,-9,4,5416,7390.0,776102 +1100105,42,7762,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,776201 +1100105,42,7762,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,776202 +1100105,42,7763,1,34,1,55,1,1,1,1,-9,4,51913,6672.0,776301 +1100105,42,7763,2,32,2,60,1,1,1,1,-9,4,5411,7270.0,776302 +1100105,42,7764,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,776401 +1100105,42,7764,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,776402 +1100105,42,7765,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,776501 +1100105,42,7765,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,776502 +1100105,42,7766,1,33,2,40,1,1,1,1,-9,4,622M,8191.0,776601 +1100105,42,7766,2,32,1,80,1,1,1,1,-9,4,7211,8660.0,776602 +1100105,42,7767,1,34,1,60,1,1,1,1,-9,2,92M2,9570.0,776701 +1100105,42,7767,2,32,2,60,1,1,1,1,-9,4,92M2,9570.0,776702 +1100105,42,7768,1,32,1,43,1,1,1,13,-9,4,23,770.0,776801 +1100105,42,7768,2,31,2,55,1,1,1,1,-9,4,5411,7270.0,776802 +1100105,42,7769,1,32,1,43,1,1,1,13,-9,4,23,770.0,776901 +1100105,42,7769,2,31,2,55,1,1,1,1,-9,4,5411,7270.0,776902 +1100105,42,7770,1,80,1,30,1,6,1,1,-9,2,23,770.0,777001 +1100105,42,7770,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,777002 +1100105,42,7771,1,74,1,-9,-9,6,1,1,-9,4,611M1,7870.0,777101 +1100105,42,7771,2,61,1,60,1,1,6,1,-9,4,813M,9170.0,777102 +1100105,42,7772,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,777201 +1100105,42,7772,2,55,2,40,1,1,1,1,-9,4,92M2,9570.0,777202 +1100105,42,7773,1,67,2,15,5,6,1,1,-9,4,5416,7390.0,777301 +1100105,42,7773,2,60,1,55,1,1,1,1,-9,4,6241,8370.0,777302 +1100105,42,7774,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,777401 +1100105,42,7774,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,777402 +1100105,42,7775,1,58,1,50,1,1,6,1,-9,4,5417,7460.0,777501 +1100105,42,7775,2,57,2,40,3,6,6,1,-9,4,611M1,7870.0,777502 +1100105,42,7776,1,39,1,40,1,1,1,1,-9,4,5416,7390.0,777601 +1100105,42,7776,2,36,2,40,3,3,1,1,-9,4,5416,7390.0,777602 +1100105,42,7777,1,52,2,48,1,1,1,1,-9,2,5411,7270.0,777701 +1100105,42,7777,2,63,1,40,6,6,1,1,-9,2,92113,9380.0,777702 +1100105,42,7778,1,59,2,60,1,1,1,1,-9,4,813M,9170.0,777801 +1100105,42,7778,2,59,1,-9,-9,6,1,1,-9,4,0,0.0,777802 +1100105,42,7779,1,60,1,40,5,6,1,1,-9,2,481,6070.0,777901 +1100105,42,7779,2,55,2,40,1,1,1,1,-9,2,928P,9590.0,777902 +1100105,42,7780,1,61,1,40,1,1,1,1,-9,4,8139Z,9190.0,778001 +1100105,42,7780,2,60,2,-9,-9,6,1,1,-9,4,4511M,5275.0,778002 +1100105,42,7781,1,52,2,48,1,1,1,1,-9,2,5411,7270.0,778101 +1100105,42,7781,2,63,1,40,6,6,1,1,-9,2,92113,9380.0,778102 +1100105,42,7782,1,59,1,-9,-9,6,1,1,-9,4,92M2,9570.0,778201 +1100105,42,7782,2,56,1,40,1,1,1,3,-9,4,33641M1,3580.0,778202 +1100105,42,7783,1,34,1,40,4,3,1,1,-9,2,5411,7270.0,778301 +1100105,42,7783,2,32,2,40,1,1,1,1,-9,4,5412,7280.0,778302 +1100105,42,7784,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,778401 +1100105,42,7784,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,778402 +1100105,42,7785,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,778501 +1100105,42,7785,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,778502 +1100105,42,7786,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,778601 +1100105,42,7786,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,778602 +1100105,42,7787,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,778701 +1100105,42,7787,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,778702 +1100105,42,7788,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,778801 +1100105,42,7788,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,778802 +1100105,42,7789,1,57,2,-9,-9,6,1,1,-9,4,0,0.0,778901 +1100105,42,7789,2,58,1,50,2,6,1,1,-9,4,5411,7270.0,778902 +1100105,42,7790,1,52,1,40,3,1,1,1,16,4,6111,7860.0,779001 +1100105,42,7790,2,47,1,40,1,1,8,1,-9,4,5413,7290.0,779002 +1100105,42,7791,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,779101 +1100105,42,7791,2,35,2,40,1,1,6,1,16,4,5417,7460.0,779102 +1100105,42,7792,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,779201 +1100105,42,7792,2,35,2,40,1,1,6,1,16,4,5417,7460.0,779202 +1100105,42,7793,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,779301 +1100105,42,7793,2,35,2,40,1,1,6,1,16,4,5417,7460.0,779302 +1100105,42,7794,1,35,1,45,1,1,1,1,-9,4,92M2,9570.0,779401 +1100105,42,7794,2,35,2,45,1,1,1,1,-9,4,813M,9170.0,779402 +1100105,42,7795,1,44,2,40,1,1,1,1,-9,4,92113,9380.0,779501 +1100105,42,7795,2,45,1,40,1,1,1,1,-9,4,813M,9170.0,779502 +1100105,42,7796,1,41,2,50,1,1,1,1,-9,4,611M1,7870.0,779601 +1100105,42,7796,2,37,1,50,1,1,1,1,-9,4,5416,7390.0,779602 +1100105,42,7797,1,41,1,40,1,1,1,1,-9,4,51913,6672.0,779701 +1100105,42,7797,2,35,2,40,1,1,1,1,-9,4,92113,9380.0,779702 +1100105,42,7798,1,43,1,40,1,1,1,1,-9,4,92MP,9470.0,779801 +1100105,42,7798,2,37,1,50,1,1,1,1,-9,2,531M,7071.0,779802 +1100105,42,7799,1,41,2,45,1,1,1,1,-9,4,6244,8470.0,779901 +1100105,42,7799,2,41,1,40,1,1,1,1,-9,2,92MP,9470.0,779902 +1100105,42,7800,1,47,1,55,1,1,1,1,-9,4,722Z,8680.0,780001 +1100105,42,7800,2,35,2,40,1,1,1,1,-9,4,5417,7460.0,780002 +1100105,42,7801,1,35,1,45,1,1,1,1,-9,4,92M2,9570.0,780101 +1100105,42,7801,2,35,2,45,1,1,1,1,-9,4,813M,9170.0,780102 +1100105,42,7802,1,35,2,46,1,1,1,23,-9,4,722Z,8680.0,780201 +1100105,42,7802,2,36,1,50,1,1,1,1,-9,4,5417,7460.0,780202 +1100105,42,7803,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,780301 +1100105,42,7803,2,35,1,60,1,1,6,1,-9,4,92MP,9470.0,780302 +1100105,42,7804,1,35,1,45,1,1,9,1,-9,4,813M,9170.0,780401 +1100105,42,7804,2,28,2,55,1,1,1,1,-9,4,928P,9590.0,780402 +1100105,42,7805,1,35,1,55,1,1,9,1,-9,4,5416,7390.0,780501 +1100105,42,7805,2,28,2,60,1,1,1,1,16,4,5416,7390.0,780502 +1100105,42,7806,1,35,1,45,1,1,9,1,-9,4,813M,9170.0,780601 +1100105,42,7806,2,28,2,55,1,1,1,1,-9,4,928P,9590.0,780602 +1100105,42,7807,1,30,2,40,1,1,6,1,-9,4,6111,7860.0,780701 +1100105,42,7807,2,41,1,40,1,1,1,1,-9,4,517Z,6690.0,780702 +1100105,42,7808,1,30,2,40,1,1,6,1,-9,4,6111,7860.0,780801 +1100105,42,7808,2,41,1,40,1,1,1,1,-9,4,517Z,6690.0,780802 +1100105,42,7809,1,36,1,50,1,1,6,1,-9,4,611M1,7870.0,780901 +1100105,42,7809,2,30,2,50,1,1,1,1,-9,4,928P,9590.0,780902 +1100105,42,7810,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,781001 +1100105,42,7810,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,781002 +1100105,42,7811,1,36,1,40,1,1,1,1,-9,4,5419Z,7490.0,781101 +1100105,42,7811,2,30,1,45,1,1,1,1,16,4,813M,9170.0,781102 +1100105,42,7812,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,781201 +1100105,42,7812,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,781202 +1100105,42,7813,1,32,2,40,1,1,1,1,-9,4,92M1,9490.0,781301 +1100105,42,7813,2,40,1,40,1,1,1,1,-9,4,8139Z,9190.0,781302 +1100105,42,7814,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,781401 +1100105,42,7814,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,781402 +1100105,42,7815,1,37,1,55,1,1,1,1,-9,4,813M,9170.0,781501 +1100105,42,7815,2,34,2,55,1,1,1,1,-9,4,712,8570.0,781502 +1100105,42,7816,1,38,1,45,1,1,1,1,-9,4,5419Z,7490.0,781601 +1100105,42,7816,2,32,2,40,1,1,1,1,-9,4,813M,9170.0,781602 +1100105,42,7817,1,34,1,40,1,1,8,2,-9,4,5413,7290.0,781701 +1100105,42,7817,2,38,1,40,1,1,1,1,-9,4,923,9480.0,781702 +1100105,42,7818,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,781801 +1100105,42,7818,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,781802 +1100105,42,7819,1,35,1,40,1,1,6,19,16,4,92M2,9570.0,781901 +1100105,42,7819,2,33,2,40,1,1,1,19,-9,4,6231,8270.0,781902 +1100105,42,7820,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,782001 +1100105,42,7820,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,782002 +1100105,42,7821,1,26,1,40,1,1,6,1,-9,4,923,9480.0,782101 +1100105,42,7821,2,27,1,40,1,1,6,1,-9,4,52M1,6870.0,782102 +1100105,42,7822,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,782201 +1100105,42,7822,2,27,2,40,1,1,6,1,16,4,6231,8270.0,782202 +1100105,42,7823,1,26,1,40,1,1,6,1,-9,4,923,9480.0,782301 +1100105,42,7823,2,27,1,40,1,1,6,1,-9,4,52M1,6870.0,782302 +1100105,42,7824,1,26,2,40,1,1,1,1,-9,4,713Z,8590.0,782401 +1100105,42,7824,2,26,1,55,1,1,9,1,-9,4,722Z,8680.0,782402 +1100105,42,7825,1,26,2,40,1,1,1,1,-9,4,713Z,8590.0,782501 +1100105,42,7825,2,26,1,55,1,1,9,1,-9,4,722Z,8680.0,782502 +1100105,42,7826,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,782601 +1100105,42,7826,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,782602 +1100105,42,7827,1,24,2,40,1,1,1,1,-9,4,5416,7390.0,782701 +1100105,42,7827,2,23,2,40,1,1,6,1,-9,4,5416,7390.0,782702 +1100105,42,7828,1,32,1,41,1,1,1,1,-9,4,5121,6570.0,782801 +1100105,42,7828,2,32,2,42,1,1,6,1,-9,4,515,6670.0,782802 +1100105,42,7829,1,29,1,40,1,1,6,1,-9,4,92MP,9470.0,782901 +1100105,42,7829,2,33,2,40,1,1,1,1,-9,4,722Z,8680.0,782902 +1100105,42,7830,1,30,2,55,1,1,6,1,-9,4,6111,7860.0,783001 +1100105,42,7830,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,783002 +1100105,42,7831,1,25,2,40,1,1,6,1,-9,4,92113,9380.0,783101 +1100105,42,7831,2,25,1,40,1,1,1,1,-9,4,336M,3570.0,783102 +1100105,42,7832,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,783201 +1100105,42,7832,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,783202 +1100105,42,7833,1,32,1,41,1,1,1,1,-9,4,5121,6570.0,783301 +1100105,42,7833,2,32,2,42,1,1,6,1,-9,4,515,6670.0,783302 +1100105,42,7834,1,28,1,45,1,1,1,1,-9,4,8139Z,9190.0,783401 +1100105,42,7834,2,29,2,50,1,1,1,1,-9,4,8139Z,9190.0,783402 +1100105,42,7835,1,34,1,45,1,1,1,1,-9,4,8139Z,9190.0,783501 +1100105,42,7835,2,31,2,53,1,1,1,1,-9,4,7111,8561.0,783502 +1100105,42,7836,1,30,1,50,1,1,1,1,-9,4,4237,4265.0,783601 +1100105,42,7836,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,783602 +1100105,42,7837,1,29,1,50,1,1,1,1,-9,4,5415,7380.0,783701 +1100105,42,7837,2,27,2,40,1,1,1,1,16,4,5416,7390.0,783702 +1100105,42,7838,1,31,2,50,1,1,1,1,16,4,5413,7290.0,783801 +1100105,42,7838,2,31,1,60,1,1,1,1,-9,4,5413,7290.0,783802 +1100105,42,7839,1,28,1,40,1,1,1,1,-9,4,55,7570.0,783901 +1100105,42,7839,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,783902 +1100105,42,7840,1,29,2,40,1,1,1,1,-9,4,92MP,9470.0,784001 +1100105,42,7840,2,34,1,60,1,1,1,1,-9,2,5616,7680.0,784002 +1100105,42,7841,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,784101 +1100105,42,7841,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,784102 +1100105,42,7842,1,28,1,50,1,1,1,1,16,4,611M1,7870.0,784201 +1100105,42,7842,2,30,1,50,1,1,1,1,-9,4,611M1,7870.0,784202 +1100105,42,7843,1,30,1,45,1,1,1,1,16,4,611M1,7870.0,784301 +1100105,42,7843,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,784302 +1100105,42,7844,1,27,1,50,1,1,1,1,-9,4,7115,8564.0,784401 +1100105,42,7844,2,27,2,45,1,1,1,1,-9,4,5191ZM,6780.0,784402 +1100105,42,7845,1,31,2,40,1,1,1,1,-9,4,928P,9590.0,784501 +1100105,42,7845,2,30,2,40,1,1,1,1,-9,4,928P,9590.0,784502 +1100105,42,7846,1,29,1,40,1,1,1,1,16,4,6111,7860.0,784601 +1100105,42,7846,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,784602 +1100105,42,7847,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,784701 +1100105,42,7847,2,28,2,24,2,1,1,1,-9,4,5411,7270.0,784702 +1100105,42,7848,1,28,1,40,1,1,1,1,-9,4,55,7570.0,784801 +1100105,42,7848,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,784802 +1100105,42,7849,1,30,1,45,1,1,1,1,16,4,611M1,7870.0,784901 +1100105,42,7849,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,784902 +1100105,42,7850,1,26,1,50,1,1,1,1,-9,4,5413,7290.0,785001 +1100105,42,7850,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,785002 +1100105,42,7851,1,28,2,43,1,1,1,1,-9,4,9211MP,9370.0,785101 +1100105,42,7851,2,30,1,50,1,1,1,1,-9,4,531M,7071.0,785102 +1100105,42,7852,1,32,2,40,1,1,1,1,-9,4,5415,7380.0,785201 +1100105,42,7852,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,785202 +1100105,42,7853,1,30,2,50,1,1,1,1,-9,4,5415,7380.0,785301 +1100105,42,7853,2,30,2,40,1,1,1,1,-9,4,622M,8191.0,785302 +1100105,42,7854,1,34,1,45,1,1,1,1,-9,4,8139Z,9190.0,785401 +1100105,42,7854,2,31,2,53,1,1,1,1,-9,4,7111,8561.0,785402 +1100105,42,7855,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,785501 +1100105,42,7855,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,785502 +1100105,42,7856,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,785601 +1100105,42,7856,2,32,1,40,1,1,1,1,-9,4,9211MP,9370.0,785602 +1100105,42,7857,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,785701 +1100105,42,7857,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,785702 +1100105,42,7858,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,785801 +1100105,42,7858,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,785802 +1100105,42,7859,1,30,2,50,1,1,1,1,-9,4,5415,7380.0,785901 +1100105,42,7859,2,30,2,40,1,1,1,1,-9,4,622M,8191.0,785902 +1100105,42,7860,1,31,1,40,1,1,1,1,-9,4,5241,6991.0,786001 +1100105,42,7860,2,29,2,50,1,1,1,1,-9,4,8139Z,9190.0,786002 +1100105,42,7861,1,33,2,40,1,1,1,1,-9,4,8139Z,9190.0,786101 +1100105,42,7861,2,32,1,40,1,1,1,1,-9,4,6241,8370.0,786102 +1100105,42,7862,1,30,2,50,1,1,1,1,-9,4,6241,8370.0,786201 +1100105,42,7862,2,29,1,45,1,1,1,1,-9,4,5415,7380.0,786202 +1100105,42,7863,1,31,2,50,1,1,1,1,16,4,5413,7290.0,786301 +1100105,42,7863,2,31,1,60,1,1,1,1,-9,4,5413,7290.0,786302 +1100105,42,7864,1,34,1,45,1,1,1,1,-9,4,8139Z,9190.0,786401 +1100105,42,7864,2,31,2,53,1,1,1,1,-9,4,7111,8561.0,786402 +1100105,42,7865,1,28,1,50,1,1,1,1,16,4,611M1,7870.0,786501 +1100105,42,7865,2,30,1,50,1,1,1,1,-9,4,611M1,7870.0,786502 +1100105,42,7866,1,26,2,50,1,1,1,1,-9,4,5415,7380.0,786601 +1100105,42,7866,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,786602 +1100105,42,7867,1,27,2,40,1,1,1,1,-9,4,6213ZM,8080.0,786701 +1100105,42,7867,2,29,2,50,1,1,1,1,-9,4,6213ZM,8080.0,786702 +1100105,42,7868,1,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,786801 +1100105,42,7868,2,30,1,50,1,1,1,1,-9,4,531M,7071.0,786802 +1100105,42,7869,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,786901 +1100105,42,7869,2,31,2,40,1,1,1,1,-9,4,92M2,9570.0,786902 +1100105,42,7870,1,31,1,40,1,1,1,1,-9,4,5241,6991.0,787001 +1100105,42,7870,2,29,2,50,1,1,1,1,-9,4,8139Z,9190.0,787002 +1100105,42,7871,1,26,2,55,1,1,1,1,-9,4,5412,7280.0,787101 +1100105,42,7871,2,26,1,65,1,1,1,1,16,4,531M,7071.0,787102 +1100105,42,7872,1,25,2,42,1,1,1,1,-9,4,5416,7390.0,787201 +1100105,42,7872,2,25,2,40,1,1,1,1,-9,4,5417,7460.0,787202 +1100105,42,7873,1,30,2,50,1,1,1,1,-9,4,5415,7380.0,787301 +1100105,42,7873,2,30,2,40,1,1,1,1,-9,4,622M,8191.0,787302 +1100105,42,7874,1,30,1,50,1,1,1,1,-9,4,4237,4265.0,787401 +1100105,42,7874,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,787402 +1100105,42,7875,1,31,2,40,1,1,1,1,-9,4,928P,9590.0,787501 +1100105,42,7875,2,30,2,40,1,1,1,1,-9,4,928P,9590.0,787502 +1100105,42,7876,1,28,1,40,1,1,1,1,-9,4,55,7570.0,787601 +1100105,42,7876,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,787602 +1100105,42,7877,1,32,1,70,1,1,1,1,-9,4,51111,6470.0,787701 +1100105,42,7877,2,31,2,50,1,1,1,1,-9,4,424M,4380.0,787702 +1100105,42,7878,1,31,1,45,1,1,1,1,-9,4,5416,7390.0,787801 +1100105,42,7878,2,30,2,39,1,1,1,1,-9,4,622M,8191.0,787802 +1100105,42,7879,1,26,1,60,2,1,1,1,-9,4,531M,7071.0,787901 +1100105,42,7879,2,27,2,45,1,1,1,1,-9,4,9211MP,9370.0,787902 +1100105,42,7880,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,788001 +1100105,42,7880,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,788002 +1100105,42,7881,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,788101 +1100105,42,7881,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,788102 +1100105,42,7882,1,33,1,50,1,1,1,1,-9,4,454110,5593.0,788201 +1100105,42,7882,2,32,2,45,1,1,1,1,-9,4,6241,8370.0,788202 +1100105,42,7883,1,28,1,65,1,1,1,1,-9,4,522M,6890.0,788301 +1100105,42,7883,2,27,2,40,1,1,1,1,-9,4,5413,7290.0,788302 +1100105,42,7884,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,788401 +1100105,42,7884,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,788402 +1100105,42,7885,1,29,1,40,1,1,1,1,16,4,6111,7860.0,788501 +1100105,42,7885,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,788502 +1100105,42,7886,1,31,1,50,1,1,1,1,-9,4,5415,7380.0,788601 +1100105,42,7886,2,30,2,40,1,1,1,1,-9,4,561M,7780.0,788602 +1100105,42,7887,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,788701 +1100105,42,7887,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,788702 +1100105,42,7888,1,32,1,40,1,1,1,1,-9,4,5416,7390.0,788801 +1100105,42,7888,2,29,1,43,1,1,1,1,-9,4,531M,7071.0,788802 +1100105,42,7889,1,30,2,50,1,1,1,1,-9,4,5415,7380.0,788901 +1100105,42,7889,2,30,2,40,1,1,1,1,-9,4,622M,8191.0,788902 +1100105,42,7890,1,28,1,40,1,1,1,1,-9,4,531M,7071.0,789001 +1100105,42,7890,2,27,2,40,1,1,1,1,-9,4,722Z,8680.0,789002 +1100105,42,7891,1,26,1,60,2,1,1,1,-9,4,531M,7071.0,789101 +1100105,42,7891,2,27,2,45,1,1,1,1,-9,4,9211MP,9370.0,789102 +1100105,42,7892,1,26,1,56,1,1,1,1,-9,4,491,6370.0,789201 +1100105,42,7892,2,27,2,50,1,1,1,1,-9,4,5416,7390.0,789202 +1100105,42,7893,1,32,1,40,1,1,1,1,-9,4,813M,9170.0,789301 +1100105,42,7893,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,789302 +1100105,42,7894,1,26,1,45,1,1,1,1,-9,4,52M2,6970.0,789401 +1100105,42,7894,2,28,1,45,1,1,1,1,-9,4,7211,8660.0,789402 +1100105,42,7895,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,789501 +1100105,42,7895,2,32,1,40,1,1,1,1,-9,4,9211MP,9370.0,789502 +1100105,42,7896,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,789601 +1100105,42,7896,2,32,1,40,1,1,1,1,-9,4,5416,7390.0,789602 +1100105,42,7897,1,28,1,65,1,1,1,1,-9,4,522M,6890.0,789701 +1100105,42,7897,2,27,2,40,1,1,1,1,-9,4,5413,7290.0,789702 +1100105,42,7898,1,28,2,43,1,1,1,1,-9,4,9211MP,9370.0,789801 +1100105,42,7898,2,30,1,50,1,1,1,1,-9,4,531M,7071.0,789802 +1100105,42,7899,1,29,2,40,1,1,1,1,-9,4,92MP,9470.0,789901 +1100105,42,7899,2,34,1,60,1,1,1,1,-9,2,5616,7680.0,789902 +1100105,42,7900,1,32,1,50,1,1,1,1,-9,4,92113,9380.0,790001 +1100105,42,7900,2,32,2,45,1,1,1,1,-9,4,813M,9170.0,790002 +1100105,42,7901,1,31,1,50,1,1,1,1,-9,4,92MP,9470.0,790101 +1100105,42,7901,2,32,2,35,4,1,1,24,-9,4,622M,8191.0,790102 +1100105,42,7902,1,31,1,55,1,1,8,2,-9,4,813M,9170.0,790201 +1100105,42,7902,2,33,1,60,1,1,1,1,-9,4,6216,8170.0,790202 +1100105,42,7903,1,31,1,50,1,1,1,1,-9,4,92MP,9470.0,790301 +1100105,42,7903,2,32,2,35,4,1,1,24,-9,4,622M,8191.0,790302 +1100105,42,7904,1,30,2,50,3,1,1,1,-9,4,813M,9170.0,790401 +1100105,42,7904,2,33,1,50,1,1,1,2,-9,4,5415,7380.0,790402 +1100105,42,7905,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,790501 +1100105,42,7905,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,790502 +1100105,42,7906,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,790601 +1100105,42,7906,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,790602 +1100105,42,7907,1,49,2,40,1,1,1,1,-9,4,928P,9590.0,790701 +1100105,42,7907,2,44,1,8,6,6,1,1,-9,4,5419Z,7490.0,790702 +1100105,42,7908,1,54,1,60,1,1,1,1,-9,4,522M,6890.0,790801 +1100105,42,7908,2,54,2,-9,-9,6,1,1,-9,4,0,0.0,790802 +1100105,42,7909,1,54,1,60,1,1,1,1,-9,4,522M,6890.0,790901 +1100105,42,7909,2,54,2,-9,-9,6,1,1,-9,4,0,0.0,790902 +1100105,42,7910,1,46,1,40,1,1,1,2,-9,4,813M,9170.0,791001 +1100105,42,7910,2,45,1,40,4,3,1,1,-9,4,7115,8564.0,791002 +1100105,42,7911,1,40,1,-9,-9,3,8,3,-9,4,813M,9170.0,791101 +1100105,42,7911,2,42,1,50,1,1,1,1,-9,4,522M,6890.0,791102 +1100105,42,7912,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,791201 +1100105,42,7912,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,791202 +1100105,42,7913,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,791301 +1100105,42,7913,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,791302 +1100105,42,7914,1,30,1,40,1,1,1,1,-9,4,92MP,9470.0,791401 +1100105,42,7914,2,27,2,18,3,6,1,1,-9,4,713Z,8590.0,791402 +1100105,42,7915,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,791501 +1100105,42,7915,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,791502 +1100105,42,7916,1,25,2,35,4,6,1,1,-9,4,711M,8563.0,791601 +1100105,42,7916,2,28,1,40,1,1,1,1,-9,4,531M,7071.0,791602 +1100105,42,7917,1,31,2,46,1,1,1,1,-9,4,814,9290.0,791701 +1100105,42,7917,2,33,1,-9,-9,6,1,1,16,4,814,9290.0,791702 +1100105,42,7918,1,30,2,50,1,1,1,1,-9,4,81393,9180.0,791801 +1100105,42,7918,2,33,1,65,3,3,1,1,-9,4,8139Z,9190.0,791802 +1100105,42,7919,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,791901 +1100105,42,7919,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,791902 +1100105,42,7920,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,792001 +1100105,42,7920,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,792002 +1100105,42,7921,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,792101 +1100105,42,7921,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,792102 +1100105,42,7922,1,42,2,40,1,1,6,1,-9,4,611M1,7870.0,792201 +1100105,42,7922,2,7,1,-9,-9,-9,6,1,4,-9,0,0.0,792202 +1100105,42,7923,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,792301 +1100105,42,7923,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,792302 +1100105,42,7924,1,51,1,15,1,1,6,1,-9,4,5413,7290.0,792401 +1100105,42,7924,2,47,2,45,1,1,6,1,-9,4,5415,7380.0,792402 +1100105,42,7925,1,35,1,40,1,1,1,1,-9,4,5416,7390.0,792501 +1100105,42,7925,2,35,2,40,4,1,6,1,-9,4,515,6670.0,792502 +1100105,42,7926,1,35,2,45,1,1,1,1,-9,4,611M1,7870.0,792601 +1100105,42,7926,2,35,1,45,1,1,1,1,-9,4,5419Z,7490.0,792602 +1100105,42,7927,1,36,1,50,1,1,1,1,16,4,6111,7860.0,792701 +1100105,42,7927,2,40,1,40,1,1,1,1,-9,4,5413,7290.0,792702 +1100105,42,7928,1,39,1,40,1,1,1,1,-9,4,5417,7460.0,792801 +1100105,42,7928,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,792802 +1100105,42,7929,1,39,1,50,4,1,1,1,-9,4,611M1,7870.0,792901 +1100105,42,7929,2,37,1,50,1,1,1,1,-9,4,611M1,7870.0,792902 +1100105,42,7930,1,55,1,60,1,1,1,4,-9,4,812112,8980.0,793001 +1100105,42,7930,2,50,2,60,1,1,1,1,-9,4,812112,8980.0,793002 +1100105,42,7931,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,793101 +1100105,42,7931,2,32,1,40,1,1,9,1,-9,4,52M2,6970.0,793102 +1100105,42,7932,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,793201 +1100105,42,7932,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,793202 +1100105,42,7933,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,793301 +1100105,42,7933,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,793302 +1100105,42,7934,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,793401 +1100105,42,7934,2,42,1,40,1,1,1,1,-9,4,5415,7380.0,793402 +1100105,42,7935,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,793501 +1100105,42,7935,2,42,1,40,1,1,1,1,-9,4,5415,7380.0,793502 +1100105,42,7936,1,51,1,30,3,1,1,1,-9,4,611M3,7890.0,793601 +1100105,42,7936,2,34,1,42,1,1,1,1,-9,4,813M,9170.0,793602 +1100105,42,7937,1,37,1,70,1,1,1,1,-9,4,5415,7380.0,793701 +1100105,42,7937,2,31,2,50,1,1,1,1,16,4,6111,7860.0,793702 +1100105,42,7938,1,36,2,45,1,1,1,1,-9,4,5241,6991.0,793801 +1100105,42,7938,2,33,1,35,1,1,1,1,-9,4,531M,7071.0,793802 +1100105,42,7939,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,793901 +1100105,42,7939,2,52,1,45,1,1,2,1,-9,4,481,6070.0,793902 +1100105,42,7940,1,33,2,40,1,1,1,3,-9,4,6111,7860.0,794001 +1100105,42,7940,2,36,1,40,1,1,1,1,-9,4,92M2,9570.0,794002 +1100105,42,7941,1,39,1,45,1,1,1,1,-9,2,51913,6672.0,794101 +1100105,42,7941,2,30,1,50,2,1,8,7,-9,4,4481,5170.0,794102 +1100105,42,7942,1,36,2,40,1,1,1,2,-9,2,928P,9590.0,794201 +1100105,42,7942,2,26,1,45,1,1,1,3,-9,2,928P,9590.0,794202 +1100105,42,7943,1,29,2,40,1,1,6,1,-9,4,622M,8191.0,794301 +1100105,42,7943,2,29,1,40,1,1,6,1,-9,4,5121,6570.0,794302 +1100105,42,7944,1,29,2,40,1,1,6,1,-9,4,622M,8191.0,794401 +1100105,42,7944,2,29,1,40,1,1,6,1,-9,4,5121,6570.0,794402 +1100105,42,7945,1,32,1,50,1,1,6,1,-9,4,9211MP,9370.0,794501 +1100105,42,7945,2,32,2,30,1,1,6,1,16,4,611M1,7870.0,794502 +1100105,42,7946,1,27,2,40,1,1,9,1,-9,4,928P,9590.0,794601 +1100105,42,7946,2,28,2,50,1,1,1,1,-9,4,928P,9590.0,794602 +1100105,42,7947,1,27,2,40,1,1,9,1,-9,4,928P,9590.0,794701 +1100105,42,7947,2,28,2,50,1,1,1,1,-9,4,928P,9590.0,794702 +1100105,42,7948,1,27,2,40,1,1,9,1,-9,4,5416,7390.0,794801 +1100105,42,7948,2,27,2,40,1,1,1,1,-9,4,713Z,8590.0,794802 +1100105,42,7949,1,29,1,50,1,1,1,1,-9,4,5313,7072.0,794901 +1100105,42,7949,2,28,2,40,1,1,9,1,-9,4,5417,7460.0,794902 +1100105,42,7950,1,29,1,50,1,1,1,1,-9,4,5313,7072.0,795001 +1100105,42,7950,2,28,2,40,1,1,9,1,-9,4,5417,7460.0,795002 +1100105,42,7951,1,26,2,37,1,1,1,1,-9,4,5418,7470.0,795101 +1100105,42,7951,2,26,2,50,1,1,6,1,-9,4,5416,7390.0,795102 +1100105,42,7952,1,25,2,40,1,1,1,1,-9,4,813M,9170.0,795201 +1100105,42,7952,2,26,2,40,1,1,6,1,-9,4,5416,7390.0,795202 +1100105,42,7953,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,795301 +1100105,42,7953,2,25,2,40,4,1,6,1,-9,4,813M,9170.0,795302 +1100105,42,7954,1,25,2,50,1,1,6,1,16,4,611M3,7890.0,795401 +1100105,42,7954,2,25,2,60,1,1,1,1,16,4,6111,7860.0,795402 +1100105,42,7955,1,26,2,37,1,1,1,1,-9,4,5418,7470.0,795501 +1100105,42,7955,2,26,2,50,1,1,6,1,-9,4,5416,7390.0,795502 +1100105,42,7956,1,26,2,37,1,1,1,1,-9,4,5418,7470.0,795601 +1100105,42,7956,2,26,2,50,1,1,6,1,-9,4,5416,7390.0,795602 +1100105,42,7957,1,26,2,37,1,1,1,1,-9,4,5418,7470.0,795701 +1100105,42,7957,2,26,2,50,1,1,6,1,-9,4,5416,7390.0,795702 +1100105,42,7958,1,32,2,40,1,1,6,1,-9,4,813M,9170.0,795801 +1100105,42,7958,2,31,1,40,1,1,1,1,-9,4,5416,7390.0,795802 +1100105,42,7959,1,28,2,50,1,1,6,1,-9,4,92MP,9470.0,795901 +1100105,42,7959,2,29,2,40,1,1,1,1,-9,4,5221M,6880.0,795902 +1100105,42,7960,1,31,2,40,1,1,1,1,-9,4,5614,7590.0,796001 +1100105,42,7960,2,31,1,42,1,1,2,1,-9,4,5614,7590.0,796002 +1100105,42,7961,1,32,1,50,1,1,1,1,16,4,8139Z,9190.0,796101 +1100105,42,7961,2,27,1,40,1,1,1,1,-9,4,5417,7460.0,796102 +1100105,42,7962,1,24,1,50,1,1,1,1,-9,4,5415,7380.0,796201 +1100105,42,7962,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,796202 +1100105,42,7963,1,28,1,40,1,1,1,1,-9,4,5418,7470.0,796301 +1100105,42,7963,2,30,1,40,1,1,1,1,-9,4,92M2,9570.0,796302 +1100105,42,7964,1,26,2,40,1,1,1,1,-9,4,712,8570.0,796401 +1100105,42,7964,2,29,1,40,1,1,1,1,-9,4,712,8570.0,796402 +1100105,42,7965,1,25,1,45,2,1,1,1,-9,4,5416,7390.0,796501 +1100105,42,7965,2,26,2,50,2,1,1,1,16,4,92M1,9490.0,796502 +1100105,42,7966,1,27,1,50,1,1,1,1,-9,4,515,6670.0,796601 +1100105,42,7966,2,26,1,40,1,1,1,1,-9,4,5416,7390.0,796602 +1100105,42,7967,1,24,2,40,1,1,1,1,-9,4,52M1,6870.0,796701 +1100105,42,7967,2,23,2,40,1,1,1,1,-9,4,622M,8191.0,796702 +1100105,42,7968,1,26,2,40,1,1,1,1,-9,4,712,8570.0,796801 +1100105,42,7968,2,29,1,40,1,1,1,1,-9,4,712,8570.0,796802 +1100105,42,7969,1,30,1,50,1,1,1,1,-9,4,5111Z,6480.0,796901 +1100105,42,7969,2,30,2,40,1,1,1,1,-9,4,813M,9170.0,796902 +1100105,42,7970,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,797001 +1100105,42,7970,2,27,2,50,1,1,1,1,-9,4,5121,6570.0,797002 +1100105,42,7971,1,30,2,40,1,1,1,1,-9,4,51912,6770.0,797101 +1100105,42,7971,2,32,1,40,1,1,1,1,-9,4,5415,7380.0,797102 +1100105,42,7972,1,26,2,40,1,1,1,1,-9,4,5414,7370.0,797201 +1100105,42,7972,2,26,1,40,1,1,1,1,-9,4,5414,7370.0,797202 +1100105,42,7973,1,26,2,40,1,1,1,1,-9,4,712,8570.0,797301 +1100105,42,7973,2,29,1,40,1,1,1,1,-9,4,712,8570.0,797302 +1100105,42,7974,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,797401 +1100105,42,7974,2,23,2,45,1,1,1,1,-9,4,5416,7390.0,797402 +1100105,42,7975,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,797501 +1100105,42,7975,2,24,2,60,1,1,1,1,-9,4,5416,7390.0,797502 +1100105,42,7976,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,797601 +1100105,42,7976,2,30,1,45,1,1,1,1,-9,4,4248,4560.0,797602 +1100105,42,7977,1,27,1,60,1,1,1,1,-9,4,522M,6890.0,797701 +1100105,42,7977,2,26,2,60,1,1,1,1,-9,4,6211,7970.0,797702 +1100105,42,7978,1,31,2,50,1,1,1,1,-9,4,928P,9590.0,797801 +1100105,42,7978,2,33,1,40,1,1,1,1,-9,4,611M1,7870.0,797802 +1100105,42,7979,1,28,2,45,1,1,1,1,-9,4,813M,9170.0,797901 +1100105,42,7979,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,797902 +1100105,42,7980,1,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,798001 +1100105,42,7980,2,26,2,40,1,1,1,1,-9,4,3391,3960.0,798002 +1100105,42,7981,1,27,1,50,1,1,1,1,-9,4,5418,7470.0,798101 +1100105,42,7981,2,29,1,55,1,1,1,1,-9,4,5416,7390.0,798102 +1100105,42,7982,1,32,1,40,1,1,1,1,-9,4,622M,8191.0,798201 +1100105,42,7982,2,31,2,35,1,1,1,1,-9,4,611M1,7870.0,798202 +1100105,42,7983,1,29,1,40,1,1,1,1,-9,4,92M2,9570.0,798301 +1100105,42,7983,2,28,2,35,1,1,1,1,-9,4,713Z,8590.0,798302 +1100105,42,7984,1,28,2,50,1,1,1,1,-9,4,8131,9160.0,798401 +1100105,42,7984,2,32,1,40,1,1,1,1,-9,4,611M3,7890.0,798402 +1100105,42,7985,1,29,1,40,1,1,1,1,-9,4,92M2,9570.0,798501 +1100105,42,7985,2,28,2,35,1,1,1,1,-9,4,713Z,8590.0,798502 +1100105,42,7986,1,28,1,40,1,1,1,1,-9,4,5417,7460.0,798601 +1100105,42,7986,2,29,2,40,1,1,1,1,-9,4,813M,9170.0,798602 +1100105,42,7987,1,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,798701 +1100105,42,7987,2,26,2,40,1,1,1,1,-9,4,3391,3960.0,798702 +1100105,42,7988,1,27,2,30,1,1,1,1,-9,4,5417,7460.0,798801 +1100105,42,7988,2,27,1,45,1,1,1,1,-9,4,8139Z,9190.0,798802 +1100105,42,7989,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,798901 +1100105,42,7989,2,27,2,50,1,1,1,1,-9,4,5121,6570.0,798902 +1100105,42,7990,1,26,2,45,1,1,1,1,-9,4,3254,2190.0,799001 +1100105,42,7990,2,27,1,50,1,1,1,1,-9,4,8139Z,9190.0,799002 +1100105,42,7991,1,26,1,40,1,1,1,1,-9,4,5416,7390.0,799101 +1100105,42,7991,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,799102 +1100105,42,7992,1,29,1,50,1,1,1,1,-9,4,5417,7460.0,799201 +1100105,42,7992,2,28,2,50,1,1,1,1,-9,4,8139Z,9190.0,799202 +1100105,42,7993,1,26,2,40,1,1,1,1,-9,4,5414,7370.0,799301 +1100105,42,7993,2,26,1,40,1,1,1,1,-9,4,5414,7370.0,799302 +1100105,42,7994,1,27,2,50,1,1,1,1,16,4,51913,6672.0,799401 +1100105,42,7994,2,28,2,45,1,1,1,1,-9,4,5416,7390.0,799402 +1100105,42,7995,1,31,1,70,1,1,1,1,-9,4,5416,7390.0,799501 +1100105,42,7995,2,26,2,40,1,1,1,1,-9,4,6111,7860.0,799502 +1100105,42,7996,1,25,1,60,1,1,1,1,-9,4,5415,7380.0,799601 +1100105,42,7996,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,799602 +1100105,42,7997,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,799701 +1100105,42,7997,2,23,2,45,1,1,1,1,-9,4,5416,7390.0,799702 +1100105,42,7998,1,33,1,60,1,1,1,1,-9,4,622M,8191.0,799801 +1100105,42,7998,2,30,2,40,1,1,1,1,-9,4,923,9480.0,799802 +1100105,42,7999,1,33,1,65,1,1,1,1,-9,4,928P,9590.0,799901 +1100105,42,7999,2,30,2,40,1,1,1,1,16,4,611M1,7870.0,799902 +1100105,42,8000,1,26,1,50,1,1,1,1,-9,4,6241,8370.0,800001 +1100105,42,8000,2,25,2,40,1,1,1,1,-9,4,813M,9170.0,800002 +1100105,42,8001,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,800101 +1100105,42,8001,2,23,2,45,1,1,1,1,-9,4,5416,7390.0,800102 +1100105,42,8002,1,25,1,40,1,1,1,1,-9,4,531M,7071.0,800201 +1100105,42,8002,2,24,1,46,1,1,1,1,-9,4,5416,7390.0,800202 +1100105,42,8003,1,30,2,40,1,1,1,1,-9,4,8139Z,9190.0,800301 +1100105,42,8003,2,29,2,48,1,1,1,1,-9,4,813M,9170.0,800302 +1100105,42,8004,1,30,2,45,1,1,1,1,-9,4,5415,7380.0,800401 +1100105,42,8004,2,30,1,40,1,1,1,1,-9,4,5416,7390.0,800402 +1100105,42,8005,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,800501 +1100105,42,8005,2,28,1,40,1,1,1,1,-9,4,5416,7390.0,800502 +1100105,42,8006,1,27,2,40,1,1,1,1,-9,4,813M,9170.0,800601 +1100105,42,8006,2,29,2,40,1,1,1,1,-9,4,9211MP,9370.0,800602 +1100105,42,8007,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,800701 +1100105,42,8007,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,800702 +1100105,42,8008,1,30,2,40,1,1,1,1,-9,4,51912,6770.0,800801 +1100105,42,8008,2,32,1,40,1,1,1,1,-9,4,5415,7380.0,800802 +1100105,42,8009,1,28,2,70,1,1,1,1,-9,4,928P,9590.0,800901 +1100105,42,8009,2,31,2,40,1,1,1,1,-9,4,531M,7071.0,800902 +1100105,42,8010,1,30,2,38,3,1,1,1,-9,4,6111,7860.0,801001 +1100105,42,8010,2,30,1,50,3,1,1,1,-9,4,7115,8564.0,801002 +1100105,42,8011,1,29,1,50,1,1,1,1,-9,4,5417,7460.0,801101 +1100105,42,8011,2,28,2,50,1,1,1,1,-9,4,8139Z,9190.0,801102 +1100105,42,8012,1,25,2,45,1,1,1,1,-9,4,517Z,6690.0,801201 +1100105,42,8012,2,28,2,40,1,1,1,1,-9,4,5415,7380.0,801202 +1100105,42,8013,1,33,1,65,1,1,1,1,-9,4,928P,9590.0,801301 +1100105,42,8013,2,30,2,40,1,1,1,1,16,4,611M1,7870.0,801302 +1100105,42,8014,1,31,1,55,1,1,1,1,-9,4,5416,7390.0,801401 +1100105,42,8014,2,28,2,55,1,1,1,1,-9,4,6242,8380.0,801402 +1100105,42,8015,1,33,1,40,1,1,1,1,-9,4,611M1,7870.0,801501 +1100105,42,8015,2,31,2,40,1,1,1,1,-9,4,813M,9170.0,801502 +1100105,42,8016,1,28,2,40,2,1,1,1,-9,4,622M,8191.0,801601 +1100105,42,8016,2,27,1,50,1,1,1,1,-9,4,5412,7280.0,801602 +1100105,42,8017,1,27,2,40,1,1,1,1,-9,4,5417,7460.0,801701 +1100105,42,8017,2,29,1,40,1,1,1,1,-9,4,5415,7380.0,801702 +1100105,42,8018,1,31,1,70,1,1,1,1,-9,4,8139Z,9190.0,801801 +1100105,42,8018,2,27,2,50,1,1,1,1,-9,4,6111,7860.0,801802 +1100105,42,8019,1,26,1,45,1,1,1,1,-9,4,5411,7270.0,801901 +1100105,42,8019,2,26,1,50,1,1,1,1,16,4,5411,7270.0,801902 +1100105,42,8020,1,26,2,41,1,1,1,1,-9,4,5413,7290.0,802001 +1100105,42,8020,2,26,2,40,1,1,1,1,-9,4,813M,9170.0,802002 +1100105,42,8021,1,27,1,40,1,1,1,1,-9,4,5121,6570.0,802101 +1100105,42,8021,2,30,1,40,1,1,1,1,-9,4,813M,9170.0,802102 +1100105,42,8022,1,28,1,40,1,1,1,1,-9,4,5418,7470.0,802201 +1100105,42,8022,2,30,1,40,1,1,1,1,-9,4,92M2,9570.0,802202 +1100105,42,8023,1,27,2,40,1,1,1,1,-9,4,813M,9170.0,802301 +1100105,42,8023,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,802302 +1100105,42,8024,1,25,1,50,1,1,1,1,-9,4,5415,7380.0,802401 +1100105,42,8024,2,25,2,45,1,1,1,1,-9,4,522M,6890.0,802402 +1100105,42,8025,1,28,2,40,1,1,1,1,-9,4,928P,9590.0,802501 +1100105,42,8025,2,24,2,38,1,1,1,1,-9,4,928P,9590.0,802502 +1100105,42,8026,1,29,1,50,1,1,1,1,-9,4,5417,7460.0,802601 +1100105,42,8026,2,28,2,50,1,1,1,1,-9,4,8139Z,9190.0,802602 +1100105,42,8027,1,26,2,40,1,1,1,1,-9,4,712,8570.0,802701 +1100105,42,8027,2,29,1,40,1,1,1,1,-9,4,712,8570.0,802702 +1100105,42,8028,1,29,2,43,1,1,1,1,-9,4,8139Z,9190.0,802801 +1100105,42,8028,2,30,1,40,3,1,1,1,-9,4,5413,7290.0,802802 +1100105,42,8029,1,32,1,50,1,1,1,1,-9,4,23,770.0,802901 +1100105,42,8029,2,28,2,50,1,1,1,1,-9,4,813M,9170.0,802902 +1100105,42,8030,1,29,1,45,2,1,1,1,-9,4,5111Z,6480.0,803001 +1100105,42,8030,2,32,1,40,1,1,1,1,-9,4,622M,8191.0,803002 +1100105,42,8031,1,28,1,55,1,1,1,1,-9,4,8139Z,9190.0,803101 +1100105,42,8031,2,23,1,40,1,1,1,1,-9,4,5419Z,7490.0,803102 +1100105,42,8032,1,30,2,40,2,1,1,1,16,4,611M1,7870.0,803201 +1100105,42,8032,2,31,1,45,1,1,1,1,-9,4,5411,7270.0,803202 +1100105,42,8033,1,26,1,40,1,1,1,1,-9,4,5416,7390.0,803301 +1100105,42,8033,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,803302 +1100105,42,8034,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,803401 +1100105,42,8034,2,30,1,45,1,1,1,1,-9,4,4248,4560.0,803402 +1100105,42,8035,1,31,1,55,1,1,1,1,-9,4,5416,7390.0,803501 +1100105,42,8035,2,28,2,55,1,1,1,1,-9,4,6242,8380.0,803502 +1100105,42,8036,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,803601 +1100105,42,8036,2,31,2,25,2,1,1,1,-9,4,5416,7390.0,803602 +1100105,42,8037,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,803701 +1100105,42,8037,2,27,1,45,1,1,1,1,-9,4,8139Z,9190.0,803702 +1100105,42,8038,1,32,1,50,1,1,1,1,16,4,8139Z,9190.0,803801 +1100105,42,8038,2,27,1,40,1,1,1,1,-9,4,5417,7460.0,803802 +1100105,42,8039,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,803901 +1100105,42,8039,2,29,1,55,6,1,1,1,-9,4,5411,7270.0,803902 +1100105,42,8040,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,804001 +1100105,42,8040,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,804002 +1100105,42,8041,1,24,1,40,1,1,9,3,-9,4,92MP,9470.0,804101 +1100105,42,8041,2,29,1,50,1,1,1,1,-9,4,5313,7072.0,804102 +1100105,42,8042,1,25,2,40,1,1,1,1,-9,4,722Z,8680.0,804201 +1100105,42,8042,2,30,1,40,1,1,1,4,-9,4,722Z,8680.0,804202 +1100105,42,8043,1,25,2,40,1,1,1,1,-9,4,722Z,8680.0,804301 +1100105,42,8043,2,30,1,40,1,1,1,4,-9,4,722Z,8680.0,804302 +1100105,42,8044,1,31,1,40,1,1,1,4,-9,4,928P,9590.0,804401 +1100105,42,8044,2,23,2,35,1,1,1,1,-9,4,5416,7390.0,804402 +1100105,42,8045,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,804501 +1100105,42,8045,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,804502 +1100105,42,8046,1,28,1,38,1,1,1,2,-9,4,8131,9160.0,804601 +1100105,42,8046,2,28,2,40,1,1,1,2,-9,4,5111Z,6480.0,804602 +1100105,42,8047,1,60,1,60,1,1,1,1,-9,4,5415,7380.0,804701 +1100105,42,8047,2,65,1,3,6,6,1,1,-9,4,611M3,7890.0,804702 +1100105,42,8048,1,38,1,60,1,1,6,1,-9,4,522M,6890.0,804801 +1100105,42,8048,2,43,2,-9,-9,6,6,1,-9,4,0,0.0,804802 +1100105,42,8049,1,40,1,42,3,1,1,1,-9,2,5415,7380.0,804901 +1100105,42,8049,2,36,2,-9,-9,6,6,1,-9,4,611M1,7870.0,804902 +1100105,42,8050,1,63,1,-9,-9,6,1,1,-9,4,0,0.0,805001 +1100105,42,8050,2,61,1,60,1,1,1,1,-9,4,562,7790.0,805002 +1100105,42,8051,1,52,1,40,6,3,1,1,-9,4,5411,7270.0,805101 +1100105,42,8051,2,50,2,50,1,1,1,1,-9,4,484,6170.0,805102 +1100105,42,8052,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,805201 +1100105,42,8052,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,805202 +1100105,42,8053,1,35,1,40,1,1,6,1,-9,4,5415,7380.0,805301 +1100105,42,8053,2,28,2,40,5,3,1,1,-9,4,5613,7580.0,805302 +1100105,42,8054,1,34,2,40,1,1,1,1,-9,4,92M2,9570.0,805401 +1100105,42,8054,2,38,1,40,4,3,1,1,-9,4,5121,6570.0,805402 +1100105,42,8055,1,28,2,47,1,1,9,1,-9,4,44611,5070.0,805501 +1100105,42,8055,2,26,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,805502 +1100105,42,8056,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,805601 +1100105,42,8056,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,805602 +1100105,42,8057,1,26,2,40,1,1,6,1,-9,4,813M,9170.0,805701 +1100105,42,8057,2,32,2,60,4,3,1,1,-9,4,813M,9170.0,805702 +1100105,42,8058,1,34,1,40,1,1,1,1,-9,4,5418,7470.0,805801 +1100105,42,8058,2,32,1,20,4,6,1,1,-9,4,5417,7460.0,805802 +1100105,42,8059,1,28,2,-9,-9,6,1,1,16,4,0,0.0,805901 +1100105,42,8059,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,805902 +1100105,42,8060,1,34,2,50,1,1,1,1,-9,4,5415,7380.0,806001 +1100105,42,8060,2,23,2,35,5,3,1,1,-9,4,5417,7460.0,806002 +1100105,42,8061,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,806101 +1100105,42,8061,2,34,2,25,5,6,1,1,-9,4,928P,9590.0,806102 +1100105,42,8062,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,806201 +1100105,42,8062,2,29,2,35,5,3,1,1,-9,4,813M,9170.0,806202 +1100105,42,8063,1,34,2,50,1,1,1,1,-9,4,5415,7380.0,806301 +1100105,42,8063,2,23,2,35,5,3,1,1,-9,4,5417,7460.0,806302 +1100105,42,8064,1,34,2,50,1,1,1,1,-9,4,5415,7380.0,806401 +1100105,42,8064,2,23,2,35,5,3,1,1,-9,4,5417,7460.0,806402 +1100105,42,8065,1,26,2,55,1,1,1,1,-9,4,5416,7390.0,806501 +1100105,42,8065,2,25,2,50,4,6,1,1,-9,4,92MP,9470.0,806502 +1100105,42,8066,1,28,1,40,2,1,1,1,-9,4,5419Z,7490.0,806601 +1100105,42,8066,2,26,2,40,4,6,1,1,16,4,6111,7860.0,806602 +1100105,42,8067,1,21,1,40,1,1,9,4,-9,4,5411,7270.0,806701 +1100105,42,8067,2,21,1,40,1,6,1,1,15,4,5416,7390.0,806702 +1100105,42,8068,1,27,1,42,1,1,1,1,-9,4,928P,9590.0,806801 +1100105,42,8068,2,28,1,16,4,6,1,23,-9,4,722Z,8680.0,806802 +1100105,42,8069,1,30,1,40,1,1,1,23,-9,4,5416,7390.0,806901 +1100105,42,8069,2,31,2,40,6,6,1,23,16,4,4539,5580.0,806902 +1100105,42,8070,1,34,2,40,1,1,2,1,-9,4,92M2,9570.0,807001 +1100105,42,8070,2,0,1,-9,-9,-9,2,1,-9,-9,0,0.0,807002 +1100105,42,8071,1,31,1,40,1,1,1,1,-9,4,5416,7390.0,807101 +1100105,42,8071,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,807102 +1100105,42,8072,1,31,1,40,1,1,1,1,-9,4,5416,7390.0,807201 +1100105,42,8072,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,807202 +1100105,42,8073,1,31,1,40,1,1,1,1,-9,4,5416,7390.0,807301 +1100105,42,8073,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,807302 +1100105,42,8074,1,67,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,807401 +1100105,42,8074,2,69,1,-9,-9,6,1,1,-9,2,81393,9180.0,807402 +1100105,42,8075,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,807501 +1100105,42,8075,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,807502 +1100105,42,8076,1,62,1,36,5,6,1,1,-9,4,5416,7390.0,807601 +1100105,42,8076,2,58,2,-9,-9,6,1,1,-9,4,0,0.0,807602 +1100105,42,8077,1,24,2,50,4,6,1,1,16,4,5411,7270.0,807701 +1100105,42,8077,2,25,2,40,4,6,1,1,16,4,813M,9170.0,807702 +1100105,42,8078,1,24,2,50,4,6,1,1,16,4,5411,7270.0,807801 +1100105,42,8078,2,25,2,40,4,6,1,1,16,4,813M,9170.0,807802 +1100105,42,8079,1,24,2,50,4,6,1,1,16,4,5411,7270.0,807901 +1100105,42,8079,2,25,2,40,4,6,1,1,16,4,813M,9170.0,807902 +1100105,42,8080,1,24,2,50,4,6,1,1,16,4,5411,7270.0,808001 +1100105,42,8080,2,25,2,40,4,6,1,1,16,4,813M,9170.0,808002 +1100105,42,8081,1,26,2,40,4,6,1,19,-9,4,45439,5690.0,808101 +1100105,42,8081,2,29,1,40,4,6,1,19,16,4,23,770.0,808102 +1100105,42,8082,1,61,1,40,1,1,1,1,-9,4,4452,4980.0,808201 +1100105,42,8082,2,43,1,40,1,1,6,1,-9,4,4234,4170.0,808202 +1100105,42,8083,1,41,1,32,1,1,1,1,-9,4,531M,7071.0,808301 +1100105,42,8083,2,43,2,32,1,1,1,1,15,4,531M,7071.0,808302 +1100105,42,8084,1,54,2,32,4,1,1,1,-9,4,23,770.0,808401 +1100105,42,8084,2,57,1,50,1,1,1,1,-9,4,5415,7380.0,808402 +1100105,42,8085,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,808501 +1100105,42,8085,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,808502 +1100105,42,8086,1,31,2,70,1,4,1,1,-9,1,928110P3,9690.0,808601 +1100105,42,8086,2,39,2,70,1,4,3,1,-9,1,928110P2,9680.0,808602 +1100105,42,8087,1,50,2,60,1,1,1,1,-9,4,4481,5170.0,808701 +1100105,42,8087,2,32,1,60,1,1,9,1,-9,4,4481,5170.0,808702 +1100105,42,8088,1,31,2,40,5,1,1,1,-9,4,51111,6470.0,808801 +1100105,42,8088,2,37,1,40,1,1,1,1,-9,4,443142,4795.0,808802 +1100105,42,8089,1,25,1,40,1,1,6,1,-9,4,5241,6991.0,808901 +1100105,42,8089,2,25,2,40,3,1,6,1,-9,4,5416,7390.0,808902 +1100105,42,8090,1,28,1,60,1,1,6,1,-9,4,5417,7460.0,809001 +1100105,42,8090,2,23,1,12,5,1,6,1,16,4,722Z,8680.0,809002 +1100105,42,8091,1,26,2,40,1,1,6,1,-9,4,92119,9390.0,809101 +1100105,42,8091,2,23,1,40,1,1,6,1,-9,4,5416,7390.0,809102 +1100105,42,8092,1,29,1,40,3,1,2,1,-9,4,5417,7460.0,809201 +1100105,42,8092,2,27,1,40,1,1,6,1,-9,4,722Z,8680.0,809202 +1100105,42,8093,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,809301 +1100105,42,8093,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,809302 +1100105,42,8094,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,809401 +1100105,42,8094,2,32,1,35,1,1,3,1,-9,4,712,8570.0,809402 +1100105,42,8095,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,809501 +1100105,42,8095,2,32,1,35,1,1,3,1,-9,4,712,8570.0,809502 +1100105,42,8096,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,809601 +1100105,42,8096,2,32,1,35,1,1,3,1,-9,4,712,8570.0,809602 +1100105,42,8097,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,809701 +1100105,42,8097,2,32,1,35,1,1,3,1,-9,4,712,8570.0,809702 +1100105,42,8098,1,29,1,40,1,1,1,1,-9,4,712,8570.0,809801 +1100105,42,8098,2,28,2,40,1,1,6,1,-9,4,5417,7460.0,809802 +1100105,42,8099,1,29,1,40,1,1,1,1,-9,4,712,8570.0,809901 +1100105,42,8099,2,28,2,40,1,1,6,1,-9,4,5417,7460.0,809902 +1100105,42,8100,1,26,2,40,1,1,1,1,-9,4,92119,9390.0,810001 +1100105,42,8100,2,32,2,50,1,1,6,1,-9,4,928P,9590.0,810002 +1100105,42,8101,1,26,1,50,1,1,1,1,-9,4,5415,7380.0,810101 +1100105,42,8101,2,24,1,60,1,1,6,1,-9,4,611M3,7890.0,810102 +1100105,42,8102,1,21,1,40,1,1,1,1,-9,4,722Z,8680.0,810201 +1100105,42,8102,2,21,1,40,1,1,1,1,-9,4,52M1,6870.0,810202 +1100105,42,8103,1,24,1,32,1,1,1,1,-9,4,722Z,8680.0,810301 +1100105,42,8103,2,23,2,50,1,1,1,1,15,4,531M,7071.0,810302 +1100105,42,8104,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,810401 +1100105,42,8104,2,33,2,20,1,1,1,1,-9,4,611M1,7870.0,810402 +1100105,42,8105,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,810501 +1100105,42,8105,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,810502 +1100105,42,8106,1,24,1,54,3,1,1,1,-9,4,9211MP,9370.0,810601 +1100105,42,8106,2,25,1,50,1,1,1,1,-9,4,9211MP,9370.0,810602 +1100105,42,8107,1,20,2,60,4,1,1,1,15,4,6211,7970.0,810701 +1100105,42,8107,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,810702 +1100105,42,8108,1,29,1,45,1,1,1,1,-9,4,51913,6672.0,810801 +1100105,42,8108,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,810802 +1100105,42,8109,1,23,2,40,1,1,1,1,-9,4,515,6670.0,810901 +1100105,42,8109,2,26,2,40,1,1,1,1,-9,4,515,6670.0,810902 +1100105,42,8110,1,26,2,40,1,1,1,1,-9,4,5412,7280.0,811001 +1100105,42,8110,2,23,2,40,1,1,1,1,-9,4,611M1,7870.0,811002 +1100105,42,8111,1,28,2,70,1,1,1,1,-9,4,5418,7470.0,811101 +1100105,42,8111,2,29,2,50,1,1,1,1,-9,4,92M2,9570.0,811102 +1100105,42,8112,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,811201 +1100105,42,8112,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,811202 +1100105,42,8113,1,23,2,40,1,1,1,1,-9,4,621M,8180.0,811301 +1100105,42,8113,2,23,2,45,1,1,1,1,-9,4,8139Z,9190.0,811302 +1100105,42,8114,1,26,2,20,1,1,1,1,16,4,5417,7460.0,811401 +1100105,42,8114,2,27,1,30,4,1,1,1,16,4,8139Z,9190.0,811402 +1100105,42,8115,1,25,2,40,1,1,1,1,-9,4,5191ZM,6780.0,811501 +1100105,42,8115,2,27,1,40,1,1,1,1,-9,4,7112,8562.0,811502 +1100105,42,8116,1,31,2,45,1,1,1,1,-9,4,611M1,7870.0,811601 +1100105,42,8116,2,27,2,40,3,1,1,1,-9,4,6241,8370.0,811602 +1100105,42,8117,1,28,2,70,1,1,1,1,-9,4,5418,7470.0,811701 +1100105,42,8117,2,29,2,50,1,1,1,1,-9,4,92M2,9570.0,811702 +1100105,42,8118,1,21,2,40,6,1,1,1,15,4,5191ZM,6780.0,811801 +1100105,42,8118,2,23,2,40,1,1,1,1,-9,4,622M,8191.0,811802 +1100105,42,8119,1,26,1,24,6,1,1,1,16,4,92MP,9470.0,811901 +1100105,42,8119,2,30,2,40,1,1,1,1,-9,4,611M1,7870.0,811902 +1100105,42,8120,1,23,1,55,1,1,1,1,-9,4,531M,7071.0,812001 +1100105,42,8120,2,24,1,55,1,1,1,1,-9,4,5121,6570.0,812002 +1100105,42,8121,1,21,1,40,1,1,1,1,-9,4,722Z,8680.0,812101 +1100105,42,8121,2,21,1,40,1,1,1,1,-9,4,52M1,6870.0,812102 +1100105,42,8122,1,23,2,40,4,1,1,1,-9,4,6111,7860.0,812201 +1100105,42,8122,2,23,1,40,1,1,1,1,-9,4,52M1,6870.0,812202 +1100105,42,8123,1,29,1,40,4,1,1,1,-9,4,9211MP,9370.0,812301 +1100105,42,8123,2,24,2,40,1,1,1,1,-9,4,5415,7380.0,812302 +1100105,42,8124,1,27,2,70,1,1,1,1,-9,4,6111,7860.0,812401 +1100105,42,8124,2,23,2,12,5,1,1,1,15,4,722Z,8680.0,812402 +1100105,42,8125,1,24,2,40,1,1,1,1,-9,4,7115,8564.0,812501 +1100105,42,8125,2,23,2,40,1,1,1,1,-9,4,813M,9170.0,812502 +1100105,42,8126,1,27,1,45,1,1,1,1,-9,4,5411,7270.0,812601 +1100105,42,8126,2,23,1,45,4,1,1,1,-9,4,2211P,570.0,812602 +1100105,42,8127,1,28,1,43,4,1,1,1,-9,4,5413,7290.0,812701 +1100105,42,8127,2,29,2,40,1,1,1,1,-9,4,813M,9170.0,812702 +1100105,42,8128,1,23,2,50,1,1,1,1,-9,4,5411,7270.0,812801 +1100105,42,8128,2,23,2,45,1,1,1,1,-9,4,814,9290.0,812802 +1100105,42,8129,1,25,1,50,1,1,1,1,-9,4,5417,7460.0,812901 +1100105,42,8129,2,29,1,40,1,1,1,1,-9,4,5417,7460.0,812902 +1100105,42,8130,1,24,1,50,3,1,1,1,-9,4,52M2,6970.0,813001 +1100105,42,8130,2,24,1,45,4,1,1,1,15,4,336M,3570.0,813002 +1100105,42,8131,1,20,2,60,4,1,1,1,15,4,6211,7970.0,813101 +1100105,42,8131,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,813102 +1100105,42,8132,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,813201 +1100105,42,8132,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,813202 +1100105,42,8133,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,813301 +1100105,42,8133,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,813302 +1100105,42,8134,1,28,2,40,1,1,1,1,-9,4,5615,7670.0,813401 +1100105,42,8134,2,28,1,40,1,1,1,1,-9,4,332M,2870.0,813402 +1100105,42,8135,1,27,2,70,1,1,1,1,-9,4,6111,7860.0,813501 +1100105,42,8135,2,23,2,12,5,1,1,1,15,4,722Z,8680.0,813502 +1100105,42,8136,1,27,2,38,1,1,1,1,-9,4,813M,9170.0,813601 +1100105,42,8136,2,25,1,40,1,1,1,1,-9,4,5411,7270.0,813602 +1100105,42,8137,1,27,2,70,1,1,1,1,-9,4,6111,7860.0,813701 +1100105,42,8137,2,23,2,12,5,1,1,1,15,4,722Z,8680.0,813702 +1100105,42,8138,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,813801 +1100105,42,8138,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,813802 +1100105,42,8139,1,26,1,50,1,1,8,7,-9,4,5415,7380.0,813901 +1100105,42,8139,2,27,2,40,1,1,1,1,-9,4,711M,8563.0,813902 +1100105,42,8140,1,32,1,45,1,1,1,1,-9,4,5411,7270.0,814001 +1100105,42,8140,2,32,2,40,1,1,1,4,-9,4,5411,7270.0,814002 +1100105,42,8141,1,29,2,40,6,1,1,1,-9,4,813M,9170.0,814101 +1100105,42,8141,2,27,1,40,1,1,9,19,-9,4,923,9480.0,814102 +1100105,42,8142,1,27,2,20,3,1,1,4,-9,4,5411,7270.0,814201 +1100105,42,8142,2,30,2,50,1,1,1,1,16,4,622M,8191.0,814202 +1100105,42,8143,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,814301 +1100105,42,8143,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,814302 +1100105,42,8144,1,27,2,20,3,1,1,4,-9,4,5411,7270.0,814401 +1100105,42,8144,2,30,2,50,1,1,1,1,16,4,622M,8191.0,814402 +1100105,42,8145,1,23,2,40,1,1,1,1,-9,4,522M,6890.0,814501 +1100105,42,8145,2,24,1,40,1,1,8,8,-9,4,5415,7380.0,814502 +1100105,42,8146,1,32,1,40,4,1,8,3,-9,4,813M,9170.0,814601 +1100105,42,8146,2,30,2,40,6,1,8,3,-9,4,722Z,8680.0,814602 +1100105,42,8147,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,814701 +1100105,42,8147,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,814702 +1100105,42,8148,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,814801 +1100105,42,8148,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,814802 +1100105,42,8149,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,814901 +1100105,42,8149,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,814902 +1100105,42,8150,1,35,2,40,1,2,6,1,16,4,5411,7270.0,815001 +1100105,42,8150,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,815002 +1100105,42,8151,1,38,1,40,1,1,1,1,-9,4,5417,7460.0,815101 +1100105,42,8151,2,42,2,-9,-9,6,6,1,-9,4,0,0.0,815102 +1100105,42,8152,1,54,1,40,1,3,1,1,-9,4,7211,8660.0,815201 +1100105,42,8152,2,54,1,40,1,1,1,1,-9,4,7211,8660.0,815202 +1100105,42,8153,1,64,1,-9,-9,6,1,1,-9,4,0,0.0,815301 +1100105,42,8153,2,55,1,40,1,1,1,1,-9,4,5411,7270.0,815302 +1100105,42,8154,1,64,1,-9,-9,6,1,1,-9,4,0,0.0,815401 +1100105,42,8154,2,55,1,40,1,1,1,1,-9,4,5411,7270.0,815402 +1100105,42,8155,1,35,2,50,1,1,1,1,16,4,5417,7460.0,815501 +1100105,42,8155,2,26,2,-9,-9,6,1,1,16,4,0,0.0,815502 +1100105,42,8156,1,35,2,50,1,1,1,1,16,4,5417,7460.0,815601 +1100105,42,8156,2,26,2,-9,-9,6,1,1,16,4,0,0.0,815602 +1100105,42,8157,1,35,2,50,1,1,1,1,16,4,5417,7460.0,815701 +1100105,42,8157,2,26,2,-9,-9,6,1,1,16,4,0,0.0,815702 +1100105,42,8158,1,35,2,50,1,1,1,1,16,4,5417,7460.0,815801 +1100105,42,8158,2,26,2,-9,-9,6,1,1,16,4,0,0.0,815802 +1100105,42,8159,1,35,2,50,1,1,1,1,16,4,5417,7460.0,815901 +1100105,42,8159,2,26,2,-9,-9,6,1,1,16,4,0,0.0,815902 +1100105,42,8160,1,35,2,50,1,1,1,1,16,4,5417,7460.0,816001 +1100105,42,8160,2,26,2,-9,-9,6,1,1,16,4,0,0.0,816002 +1100105,42,8161,1,35,2,50,1,1,1,1,16,4,5417,7460.0,816101 +1100105,42,8161,2,26,2,-9,-9,6,1,1,16,4,0,0.0,816102 +1100105,42,8162,1,32,2,40,1,1,1,23,16,4,712,8570.0,816201 +1100105,42,8162,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,816202 +1100105,42,8163,1,49,1,25,5,1,1,2,-9,4,928P,9590.0,816301 +1100105,42,8163,2,31,1,15,4,6,1,1,15,4,722Z,8680.0,816302 +1100105,42,8164,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,816401 +1100105,42,8164,2,30,1,-9,-9,6,6,1,16,4,0,0.0,816402 +1100105,42,8165,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,816501 +1100105,42,8165,2,30,1,-9,-9,6,6,1,16,4,0,0.0,816502 +1100105,42,8166,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,816601 +1100105,42,8166,2,30,1,-9,-9,6,6,1,16,4,0,0.0,816602 +1100105,42,8167,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,816701 +1100105,42,8167,2,30,1,-9,-9,6,6,1,16,4,0,0.0,816702 +1100105,42,8168,1,28,1,40,6,3,1,1,-9,4,337,3895.0,816801 +1100105,42,8168,2,26,2,50,1,1,6,1,16,4,5411,7270.0,816802 +1100105,42,8169,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,816901 +1100105,42,8169,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,816902 +1100105,42,8170,1,28,1,40,6,3,1,1,-9,4,337,3895.0,817001 +1100105,42,8170,2,26,2,50,1,1,6,1,16,4,5411,7270.0,817002 +1100105,42,8171,1,28,1,40,6,3,1,1,-9,4,337,3895.0,817101 +1100105,42,8171,2,26,2,50,1,1,6,1,16,4,5411,7270.0,817102 +1100105,42,8172,1,28,1,40,6,3,1,1,-9,4,337,3895.0,817201 +1100105,42,8172,2,26,2,50,1,1,6,1,16,4,5411,7270.0,817202 +1100105,42,8173,1,28,1,40,6,3,1,1,-9,4,337,3895.0,817301 +1100105,42,8173,2,26,2,50,1,1,6,1,16,4,5411,7270.0,817302 +1100105,42,8174,1,28,1,40,6,3,1,1,-9,4,337,3895.0,817401 +1100105,42,8174,2,26,2,50,1,1,6,1,16,4,5411,7270.0,817402 +1100105,42,8175,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,817501 +1100105,42,8175,2,30,1,35,6,6,1,1,-9,4,5411,7270.0,817502 +1100105,42,8176,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,817601 +1100105,42,8176,2,30,1,35,6,6,1,1,-9,4,5411,7270.0,817602 +1100105,42,8177,1,26,2,50,3,3,1,1,-9,4,6212,7980.0,817701 +1100105,42,8177,2,29,1,40,4,1,1,1,-9,4,52M2,6970.0,817702 +1100105,42,8178,1,24,1,40,5,6,1,1,16,4,5416,7390.0,817801 +1100105,42,8178,2,26,2,40,1,1,1,1,-9,4,712,8570.0,817802 +1100105,42,8179,1,26,2,40,2,1,1,1,-9,4,5417,7460.0,817901 +1100105,42,8179,2,23,2,-9,-9,3,1,1,15,4,5418,7470.0,817902 +1100105,42,8180,1,24,2,50,6,6,1,1,16,4,5411,7270.0,818001 +1100105,42,8180,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,818002 +1100105,42,8181,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,818101 +1100105,42,8181,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,818102 +1100105,42,8182,1,24,2,50,6,6,1,1,16,4,5411,7270.0,818201 +1100105,42,8182,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,818202 +1100105,42,8183,1,26,2,50,3,3,1,1,-9,4,6212,7980.0,818301 +1100105,42,8183,2,29,1,40,4,1,1,1,-9,4,52M2,6970.0,818302 +1100105,42,8184,1,24,1,40,5,6,1,1,16,4,5416,7390.0,818401 +1100105,42,8184,2,26,2,40,1,1,1,1,-9,4,712,8570.0,818402 +1100105,42,8185,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,818501 +1100105,42,8185,2,30,1,35,6,6,1,1,-9,4,5411,7270.0,818502 +1100105,42,8186,1,25,2,35,3,1,1,1,-9,4,6111,7860.0,818601 +1100105,42,8186,2,23,2,40,4,6,1,1,-9,4,722Z,8680.0,818602 +1100105,42,8187,1,25,1,40,1,1,1,1,-9,4,5313,7072.0,818701 +1100105,42,8187,2,25,2,35,6,6,1,1,16,4,8139Z,9190.0,818702 +1100105,42,8188,1,25,1,-9,-9,6,1,1,16,4,5416,7390.0,818801 +1100105,42,8188,2,24,1,40,1,1,1,1,-9,4,813M,9170.0,818802 +1100105,42,8189,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,818901 +1100105,42,8189,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,818902 +1100105,42,8190,1,26,2,50,3,3,1,1,-9,4,6212,7980.0,819001 +1100105,42,8190,2,29,1,40,4,1,1,1,-9,4,52M2,6970.0,819002 +1100105,42,8191,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,819101 +1100105,42,8191,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,819102 +1100105,42,8192,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,819201 +1100105,42,8192,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,819202 +1100105,42,8193,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,819301 +1100105,42,8193,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,819302 +1100105,42,8194,1,39,1,40,3,1,9,1,-9,4,722Z,8680.0,819401 +1100105,42,8194,2,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,819402 +1100105,42,8195,1,39,1,40,3,1,9,1,-9,4,722Z,8680.0,819501 +1100105,42,8195,2,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,819502 +1100105,42,8196,1,39,1,40,3,1,9,1,-9,4,722Z,8680.0,819601 +1100105,42,8196,2,2,1,-9,-9,-9,9,1,-9,-9,0,0.0,819602 +1100105,42,8197,1,35,2,80,1,1,1,21,-9,4,454110,5593.0,819701 +1100105,42,8197,2,4,1,-9,-9,-9,1,21,1,-9,0,0.0,819702 +1100105,42,8198,1,29,2,80,1,1,1,1,-9,4,92M1,9490.0,819801 +1100105,42,8198,2,1,1,-9,-9,-9,9,19,-9,-9,0,0.0,819802 +1100105,42,8199,1,29,2,80,1,1,1,1,-9,4,92M1,9490.0,819901 +1100105,42,8199,2,1,1,-9,-9,-9,9,19,-9,-9,0,0.0,819902 +1100105,42,8200,1,29,2,80,1,1,1,1,-9,4,92M1,9490.0,820001 +1100105,42,8200,2,1,1,-9,-9,-9,9,19,-9,-9,0,0.0,820002 +1100105,42,8201,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,820101 +1100105,42,8201,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,820102 +1100105,42,8202,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,820201 +1100105,42,8202,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,820202 +1100105,42,8203,1,64,1,-9,-9,6,1,1,-9,4,5419Z,7490.0,820301 +1100105,42,8203,2,65,2,-9,-9,6,1,1,-9,4,6244,8470.0,820302 +1100105,42,8204,1,63,1,-9,-9,6,6,1,-9,4,0,0.0,820401 +1100105,42,8204,2,63,2,-9,-9,6,6,1,-9,4,0,0.0,820402 +1100105,42,8205,1,63,1,-9,-9,6,6,1,-9,4,0,0.0,820501 +1100105,42,8205,2,63,2,-9,-9,6,6,1,-9,4,0,0.0,820502 +1100105,42,8206,1,25,1,40,6,6,1,4,16,4,92MP,9470.0,820601 +1100105,42,8206,2,25,1,15,4,6,1,1,16,4,92M2,9570.0,820602 +1100105,42,8207,1,25,1,40,6,6,1,4,16,4,92MP,9470.0,820701 +1100105,42,8207,2,25,1,15,4,6,1,1,16,4,92M2,9570.0,820702 +1100105,42,8208,1,44,1,40,1,1,6,1,-9,4,7211,8660.0,820801 +1100105,42,8208,2,41,2,40,4,1,6,1,-9,4,6111,7860.0,820802 +1100105,42,8209,1,25,2,25,3,1,2,4,-9,4,923,9480.0,820901 +1100105,42,8209,2,42,1,25,1,1,1,1,-9,4,531M,7071.0,820902 +1100105,42,8210,1,33,2,20,1,1,6,1,16,4,611M1,7870.0,821001 +1100105,42,8210,2,30,1,40,1,1,1,1,-9,4,5417,7460.0,821002 +1100105,42,8211,1,33,2,20,1,1,6,1,16,4,611M1,7870.0,821101 +1100105,42,8211,2,30,1,40,1,1,1,1,-9,4,5417,7460.0,821102 +1100105,42,8212,1,22,2,40,6,1,1,1,-9,4,611M1,7870.0,821201 +1100105,42,8212,2,23,2,40,3,1,1,1,-9,4,611M1,7870.0,821202 +1100105,42,8213,1,23,2,43,1,1,1,1,-9,4,5416,7390.0,821301 +1100105,42,8213,2,23,2,15,1,1,1,1,-9,4,4481,5170.0,821302 +1100105,42,8214,1,23,2,43,1,1,1,1,-9,4,5416,7390.0,821401 +1100105,42,8214,2,23,2,15,1,1,1,1,-9,4,4481,5170.0,821402 +1100105,42,8215,1,22,2,8,1,1,1,1,16,4,611M1,7870.0,821501 +1100105,42,8215,2,22,2,40,1,1,1,1,15,4,813M,9170.0,821502 +1100105,42,8216,1,22,2,8,1,1,1,1,16,4,611M1,7870.0,821601 +1100105,42,8216,2,22,2,40,1,1,1,1,15,4,813M,9170.0,821602 +1100105,42,8217,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,821701 +1100105,42,8217,2,24,2,3,5,1,1,1,16,4,713Z,8590.0,821702 +1100105,42,8218,1,22,2,40,6,1,1,1,-9,4,611M1,7870.0,821801 +1100105,42,8218,2,23,2,40,3,1,1,1,-9,4,611M1,7870.0,821802 +1100105,42,8219,1,24,2,20,1,1,1,1,15,4,7224,8690.0,821901 +1100105,42,8219,2,23,1,70,1,4,1,1,-9,1,928110P4,9770.0,821902 +1100105,42,8220,1,30,1,16,3,1,1,1,16,4,6214,8090.0,822001 +1100105,42,8220,2,28,2,37,1,1,1,1,-9,4,5111Z,6480.0,822002 +1100105,42,8221,1,22,2,8,1,1,1,1,16,4,611M1,7870.0,822101 +1100105,42,8221,2,22,2,40,1,1,1,1,15,4,813M,9170.0,822102 +1100105,42,8222,1,29,1,44,1,1,1,15,-9,4,923,9480.0,822201 +1100105,42,8222,2,29,2,45,1,1,1,15,-9,4,5418,7470.0,822202 +1100105,42,8223,1,29,1,44,1,1,1,15,-9,4,923,9480.0,822301 +1100105,42,8223,2,29,2,45,1,1,1,15,-9,4,5418,7470.0,822302 +1100105,42,8224,1,60,2,40,1,1,8,19,-9,4,7211,8660.0,822401 +1100105,42,8224,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,822402 +1100105,42,8225,1,61,2,40,1,1,6,1,-9,4,7211,8660.0,822501 +1100105,42,8225,2,59,1,-9,-9,3,6,1,-9,4,999920,9920.0,822502 +1100105,42,8226,1,52,2,25,1,1,1,1,-9,4,562,7790.0,822601 +1100105,42,8226,2,51,1,35,4,6,1,1,-9,4,562,7790.0,822602 +1100105,42,8227,1,52,2,25,1,1,1,1,-9,4,562,7790.0,822701 +1100105,42,8227,2,51,1,35,4,6,1,1,-9,4,562,7790.0,822702 +1100105,42,8228,1,65,2,-9,-9,6,6,1,-9,4,0,0.0,822801 +1100105,42,8228,2,29,2,35,1,1,6,1,16,4,813M,9170.0,822802 +1100105,42,8229,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,822901 +1100105,42,8229,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,822902 +1100105,42,8230,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,823001 +1100105,42,8230,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,823002 +1100105,42,8231,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,823101 +1100105,42,8231,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,823102 +1100105,42,8232,1,22,1,20,1,1,6,1,16,4,611M1,7870.0,823201 +1100105,42,8232,2,21,1,10,5,6,1,1,16,4,5111Z,6480.0,823202 +1100105,42,8233,1,22,1,20,1,1,6,1,16,4,611M1,7870.0,823301 +1100105,42,8233,2,21,1,10,5,6,1,1,16,4,5111Z,6480.0,823302 +1100105,42,8234,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,823401 +1100105,42,8234,2,29,1,45,1,1,1,1,16,4,6111,7860.0,823402 +1100105,42,8235,1,24,2,36,5,3,1,1,16,4,813M,9170.0,823501 +1100105,42,8235,2,25,1,36,1,1,1,1,-9,4,928P,9590.0,823502 +1100105,42,8236,1,24,2,36,5,3,1,1,16,4,813M,9170.0,823601 +1100105,42,8236,2,25,1,36,1,1,1,1,-9,4,928P,9590.0,823602 +1100105,42,8237,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,823701 +1100105,42,8237,2,29,1,45,1,1,1,1,16,4,6111,7860.0,823702 +1100105,42,8238,1,25,2,40,1,1,1,1,16,4,5418,7470.0,823801 +1100105,42,8238,2,34,1,12,5,6,1,1,16,4,611M1,7870.0,823802 +1100105,42,8239,1,25,1,40,6,6,1,1,16,4,5411,7270.0,823901 +1100105,42,8239,2,25,1,11,5,1,1,1,16,4,611M1,7870.0,823902 +1100105,42,8240,1,26,1,20,6,6,1,2,16,4,611M1,7870.0,824001 +1100105,42,8240,2,27,2,40,1,1,1,1,16,4,611M1,7870.0,824002 +1100105,42,8241,1,45,2,40,1,1,6,1,-9,4,7211,8660.0,824101 +1100105,42,8241,2,17,1,8,5,6,6,1,13,4,722Z,8680.0,824102 +1100105,42,8242,1,40,2,24,4,1,6,1,16,4,6111,7860.0,824201 +1100105,42,8242,2,6,1,-9,-9,-9,6,1,3,-9,0,0.0,824202 +1100105,42,8243,1,40,2,24,4,1,6,1,16,4,6111,7860.0,824301 +1100105,42,8243,2,6,1,-9,-9,-9,6,1,3,-9,0,0.0,824302 +1100105,42,8244,1,38,2,40,1,1,1,1,-9,4,622M,8191.0,824401 +1100105,42,8244,2,17,1,-9,-9,6,1,1,14,4,0,0.0,824402 +1100105,42,8245,1,38,2,40,1,1,1,1,-9,4,622M,8191.0,824501 +1100105,42,8245,2,17,1,-9,-9,6,1,1,14,4,0,0.0,824502 +1100105,42,8246,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,824601 +1100105,42,8246,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,824602 +1100105,42,8247,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,824701 +1100105,42,8247,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,824702 +1100105,42,8248,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,824801 +1100105,42,8248,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,824802 +1100105,42,8249,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,824901 +1100105,42,8249,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,824902 +1100105,42,8250,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,825001 +1100105,42,8250,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,825002 +1100105,42,8251,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,825101 +1100105,42,8251,2,75,1,-9,-9,6,1,1,-9,2,51111,6470.0,825102 +1100105,42,8252,1,28,1,20,3,6,1,1,16,4,5411,7270.0,825201 +1100105,42,8252,2,28,2,20,5,6,1,1,16,4,611M1,7870.0,825202 +1100105,42,8253,1,22,1,20,6,1,6,1,16,4,611M1,7870.0,825301 +1100105,42,8253,2,23,1,20,6,1,6,1,16,4,611M1,7870.0,825302 +1100105,42,8254,1,21,1,45,6,1,1,1,15,4,923,9480.0,825401 +1100105,42,8254,2,22,1,12,2,1,1,1,15,4,9211MP,9370.0,825402 +1100105,42,8255,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,825501 +1100105,42,8255,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,825502 +1100105,42,8256,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,825601 +1100105,42,8256,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,825602 +1100105,42,8257,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,825701 +1100105,42,8257,2,24,2,-9,-9,6,6,1,16,4,0,0.0,825702 +1100105,42,8258,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,825801 +1100105,42,8258,2,24,2,-9,-9,6,6,1,16,4,0,0.0,825802 +1100105,42,8259,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,825901 +1100105,42,8259,2,24,2,-9,-9,6,6,1,16,4,0,0.0,825902 +1100105,42,8260,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,826001 +1100105,42,8260,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,826002 +1100105,42,8261,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,826101 +1100105,42,8261,2,20,2,10,3,1,1,1,15,4,7115,8564.0,826102 +1100105,42,8262,1,25,2,-9,-9,6,1,1,16,4,611M1,7870.0,826201 +1100105,42,8262,2,27,2,20,1,2,1,1,16,4,611M1,7870.0,826202 +1100105,42,8263,1,22,1,40,6,1,1,1,15,4,6211,7970.0,826301 +1100105,42,8263,2,21,1,-9,-9,6,1,1,15,4,0,0.0,826302 +1100105,42,8264,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,826401 +1100105,42,8264,2,20,2,10,3,1,1,1,15,4,7115,8564.0,826402 +1100105,42,8265,1,48,1,20,1,1,6,1,-9,4,722Z,8680.0,826501 +1100105,42,8265,2,14,1,-9,-9,-9,6,1,10,-9,0,0.0,826502 +1100105,42,8266,1,48,1,20,1,1,6,1,-9,4,722Z,8680.0,826601 +1100105,42,8266,2,14,1,-9,-9,-9,6,1,10,-9,0,0.0,826602 +1100105,42,8267,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,826701 +1100105,42,8267,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,826702 +1100105,42,8268,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,826801 +1100105,42,8268,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,826802 +1100105,42,8269,1,55,2,-9,-9,3,1,1,-9,4,712,8570.0,826901 +1100105,42,8269,2,61,1,-9,-9,3,1,1,-9,4,712,8570.0,826902 +1100105,42,8270,1,50,2,-9,-9,6,6,1,-9,4,4MS,5790.0,827001 +1100105,42,8270,2,22,2,-9,-9,6,6,1,15,4,0,0.0,827002 +1100105,42,8271,1,58,2,-9,-9,6,1,1,-9,4,813M,9170.0,827101 +1100105,42,8271,2,26,1,-9,-9,6,9,1,-9,4,0,0.0,827102 +1100105,42,8272,1,25,2,-9,-9,6,6,1,16,4,0,0.0,827201 +1100105,42,8272,2,23,2,-9,-9,6,6,1,16,4,0,0.0,827202 +1100105,42,8273,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,827301 +1100105,42,8273,2,20,1,30,5,6,1,1,15,4,44413,4880.0,827302 +1100105,42,8274,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,827401 +1100105,42,8274,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,827402 +1100105,42,8275,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,827501 +1100105,42,8275,2,20,1,30,5,6,1,1,15,4,44413,4880.0,827502 +1100105,42,8276,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,827601 +1100105,42,8276,2,20,1,30,5,6,1,1,15,4,44413,4880.0,827602 +1100105,42,8277,1,23,2,-9,-9,6,1,1,16,4,611M3,7890.0,827701 +1100105,42,8277,2,24,2,-9,-9,6,1,1,16,4,813M,9170.0,827702 +1100105,42,8278,1,22,2,-9,-9,6,1,1,15,4,0,0.0,827801 +1100105,42,8278,2,22,2,-9,-9,6,1,1,15,4,0,0.0,827802 +1100105,42,8279,1,33,2,40,3,6,1,1,-9,4,52M1,6870.0,827901 +1100105,42,8279,2,24,2,-9,-9,6,1,1,-9,4,0,0.0,827902 +1100105,42,8280,1,23,2,35,3,6,1,1,16,4,928P,9590.0,828001 +1100105,42,8280,2,22,1,20,5,6,1,1,16,4,52M2,6970.0,828002 +1100105,42,8281,1,33,2,40,3,6,1,1,-9,4,52M1,6870.0,828101 +1100105,42,8281,2,24,2,-9,-9,6,1,1,-9,4,0,0.0,828102 +1100105,42,8282,1,23,2,35,3,6,1,1,16,4,928P,9590.0,828201 +1100105,42,8282,2,22,1,20,5,6,1,1,16,4,52M2,6970.0,828202 +1100105,42,8283,1,25,2,10,5,6,1,1,16,4,611M1,7870.0,828301 +1100105,42,8283,2,25,2,-9,-9,6,1,1,16,4,5411,7270.0,828302 +1100105,42,8284,1,22,2,45,6,6,1,1,-9,4,531M,7071.0,828401 +1100105,42,8284,2,22,2,40,4,3,1,1,-9,4,5614,7590.0,828402 +1100105,42,8285,1,27,1,-9,-9,6,1,10,16,4,8139Z,9190.0,828501 +1100105,42,8285,2,32,1,-9,-9,6,1,1,-9,4,7111,8561.0,828502 +1100105,42,8286,1,23,1,35,1,3,8,2,-9,4,44511,4971.0,828601 +1100105,42,8286,2,25,1,-9,-9,6,8,2,15,3,0,0.0,828602 +1100105,42,8287,1,72,1,50,1,1,1,1,-9,4,923,9480.0,828701 +1100105,42,8288,1,72,1,50,1,1,1,1,-9,4,923,9480.0,828801 +1100105,42,8289,1,72,1,50,1,1,1,1,-9,4,923,9480.0,828901 +1100105,42,8290,1,55,1,70,1,1,9,1,-9,4,7211,8660.0,829001 +1100105,42,8291,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,829101 +1100105,42,8292,1,35,1,99,2,1,6,1,-9,4,5416,7390.0,829201 +1100105,42,8293,1,53,1,60,1,1,6,1,-9,4,23,770.0,829301 +1100105,42,8294,1,53,1,60,1,1,6,1,-9,4,23,770.0,829401 +1100105,42,8295,1,39,2,55,1,1,6,1,-9,4,5411,7270.0,829501 +1100105,42,8296,1,63,2,60,1,1,2,1,-9,4,5416,7390.0,829601 +1100105,42,8297,1,46,1,70,1,1,1,1,-9,4,515,6670.0,829701 +1100105,42,8298,1,48,1,60,1,1,1,1,-9,4,5411,7270.0,829801 +1100105,42,8299,1,52,1,55,1,1,1,1,-9,4,611M1,7870.0,829901 +1100105,42,8300,1,54,1,40,1,1,1,1,-9,4,52M2,6970.0,830001 +1100105,42,8301,1,50,1,50,1,1,1,1,16,4,2211P,570.0,830101 +1100105,42,8302,1,49,2,80,1,1,1,1,-9,4,488,6290.0,830201 +1100105,42,8303,1,62,1,50,3,1,1,1,-9,4,52M2,6970.0,830301 +1100105,42,8304,1,35,2,40,1,1,1,1,-9,4,5415,7380.0,830401 +1100105,42,8305,1,51,1,65,1,1,1,1,-9,4,622M,8191.0,830501 +1100105,42,8306,1,48,1,50,1,1,1,1,-9,4,5415,7380.0,830601 +1100105,42,8307,1,57,2,60,1,1,1,1,-9,4,712,8570.0,830701 +1100105,42,8308,1,39,1,80,1,1,1,1,-9,4,5191ZM,6780.0,830801 +1100105,42,8309,1,38,1,50,1,1,1,1,-9,4,5411,7270.0,830901 +1100105,42,8310,1,43,2,50,1,1,1,1,-9,4,928P,9590.0,831001 +1100105,42,8311,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,831101 +1100105,42,8312,1,38,1,50,1,1,1,1,-9,4,5411,7270.0,831201 +1100105,42,8313,1,63,2,50,1,1,1,1,-9,4,611M1,7870.0,831301 +1100105,42,8314,1,38,2,40,1,1,1,1,-9,4,5411,7270.0,831401 +1100105,42,8315,1,57,1,40,1,1,1,1,-9,4,5221M,6880.0,831501 +1100105,42,8316,1,36,1,45,1,1,1,1,-9,4,5416,7390.0,831601 +1100105,42,8317,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,831701 +1100105,42,8318,1,45,2,60,1,1,1,1,-9,4,813M,9170.0,831801 +1100105,42,8319,1,57,1,45,1,1,1,1,-9,4,5411,7270.0,831901 +1100105,42,8320,1,52,1,55,1,1,1,1,-9,4,611M1,7870.0,832001 +1100105,42,8321,1,49,2,80,1,1,1,1,-9,4,488,6290.0,832101 +1100105,42,8322,1,46,1,46,1,1,1,1,-9,4,5241,6991.0,832201 +1100105,42,8323,1,45,1,40,1,1,1,1,-9,2,5415,7380.0,832301 +1100105,42,8324,1,37,1,45,1,1,1,1,-9,4,52M1,6870.0,832401 +1100105,42,8325,1,50,1,50,1,1,1,1,-9,4,52M2,6970.0,832501 +1100105,42,8326,1,39,2,60,1,1,1,1,-9,4,52M1,6870.0,832601 +1100105,42,8327,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,832701 +1100105,42,8328,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,832801 +1100105,42,8329,1,49,2,80,1,1,1,1,-9,4,488,6290.0,832901 +1100105,42,8330,1,38,2,50,1,1,1,1,-9,4,5411,7270.0,833001 +1100105,42,8331,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,833101 +1100105,42,8332,1,35,1,65,1,1,1,1,-9,4,488,6290.0,833201 +1100105,42,8333,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,833301 +1100105,42,8334,1,48,1,60,1,1,1,1,-9,4,5411,7270.0,833401 +1100105,42,8335,1,48,1,50,1,1,1,1,-9,4,611M1,7870.0,833501 +1100105,42,8336,1,46,1,46,1,1,1,1,-9,4,5241,6991.0,833601 +1100105,42,8337,1,55,2,70,1,1,1,1,-9,4,6214,8090.0,833701 +1100105,42,8338,1,56,1,60,1,1,1,1,-9,4,7115,8564.0,833801 +1100105,42,8339,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,833901 +1100105,42,8340,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,834001 +1100105,42,8341,1,46,1,65,1,1,1,1,-9,4,5416,7390.0,834101 +1100105,42,8342,1,43,1,60,1,1,1,1,-9,4,621M,8180.0,834201 +1100105,42,8343,1,46,1,70,1,1,1,1,-9,4,515,6670.0,834301 +1100105,42,8344,1,39,2,60,1,1,1,1,-9,4,52M1,6870.0,834401 +1100105,42,8345,1,57,1,40,1,1,1,1,-9,4,5221M,6880.0,834501 +1100105,42,8346,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,834601 +1100105,42,8347,1,44,2,44,1,1,1,1,-9,4,928P,9590.0,834701 +1100105,42,8348,1,38,2,50,1,1,1,1,-9,4,5411,7270.0,834801 +1100105,42,8349,1,60,1,40,1,1,1,1,-9,4,5411,7270.0,834901 +1100105,42,8350,1,57,1,55,1,1,1,1,-9,4,928P,9590.0,835001 +1100105,42,8351,1,49,2,80,1,1,1,1,-9,4,488,6290.0,835101 +1100105,42,8352,1,51,2,50,1,1,1,1,-9,4,5111Z,6480.0,835201 +1100105,42,8353,1,48,1,60,1,1,1,1,-9,4,5411,7270.0,835301 +1100105,42,8354,1,56,1,55,1,1,1,1,-9,4,5416,7390.0,835401 +1100105,42,8355,1,49,2,80,1,1,1,1,-9,4,488,6290.0,835501 +1100105,42,8356,1,54,1,60,1,1,1,1,-9,4,92M2,9570.0,835601 +1100105,42,8357,1,60,1,32,1,1,1,1,-9,4,6212,7980.0,835701 +1100105,42,8358,1,58,1,60,1,1,1,1,-9,4,5411,7270.0,835801 +1100105,42,8359,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,835901 +1100105,42,8360,1,50,1,45,1,1,1,3,-9,4,51913,6672.0,836001 +1100105,42,8361,1,63,2,60,1,1,1,10,-9,4,81393,9180.0,836101 +1100105,42,8362,1,50,1,45,1,1,1,3,-9,4,51913,6672.0,836201 +1100105,42,8363,1,53,2,40,1,1,1,2,-9,4,531M,7071.0,836301 +1100105,42,8364,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,836401 +1100105,42,8365,1,32,2,50,1,1,6,1,-9,4,5411,7270.0,836501 +1100105,42,8366,1,32,2,50,1,1,6,1,-9,4,5411,7270.0,836601 +1100105,42,8367,1,30,2,45,1,1,1,1,-9,4,5411,7270.0,836701 +1100105,42,8368,1,30,2,75,1,1,1,1,-9,4,5411,7270.0,836801 +1100105,42,8369,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,836901 +1100105,42,8370,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,837001 +1100105,42,8371,1,29,2,54,1,1,1,1,-9,4,5411,7270.0,837101 +1100105,42,8372,1,33,2,60,1,1,1,1,-9,4,5411,7270.0,837201 +1100105,42,8373,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,837301 +1100105,42,8374,1,32,1,60,1,1,1,1,-9,4,522M,6890.0,837401 +1100105,42,8375,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,837501 +1100105,42,8376,1,33,2,60,1,1,1,1,-9,4,5411,7270.0,837601 +1100105,42,8377,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,837701 +1100105,42,8378,1,30,2,75,1,1,1,1,-9,4,5411,7270.0,837801 +1100105,42,8379,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,837901 +1100105,42,8380,1,30,2,75,1,1,1,1,-9,4,5411,7270.0,838001 +1100105,42,8381,1,30,2,60,1,1,1,1,-9,4,9211MP,9370.0,838101 +1100105,42,8382,1,75,2,17,5,6,1,1,-9,4,813M,9170.0,838201 +1100105,42,8383,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,838301 +1100105,42,8384,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,838401 +1100105,42,8385,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,838501 +1100105,42,8386,1,75,2,17,5,6,1,1,-9,4,813M,9170.0,838601 +1100105,42,8387,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,838701 +1100105,42,8388,1,75,2,17,5,6,1,1,-9,4,813M,9170.0,838801 +1100105,42,8389,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,838901 +1100105,42,8390,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,839001 +1100105,42,8391,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,839101 +1100105,42,8392,1,53,1,40,6,6,1,1,-9,4,44611,5070.0,839201 +1100105,42,8393,1,53,1,40,6,6,1,1,-9,4,44611,5070.0,839301 +1100105,42,8394,1,38,2,-9,-9,3,1,1,-9,4,928P,9590.0,839401 +1100105,42,8395,1,34,1,50,3,3,1,1,-9,4,2211P,570.0,839501 +1100105,42,8396,1,65,2,40,1,1,1,1,-9,4,92MP,9470.0,839601 +1100105,42,8397,1,71,1,50,1,1,1,1,-9,4,5416,7390.0,839701 +1100105,42,8398,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,839801 +1100105,42,8399,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,839901 +1100105,42,8400,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,840001 +1100105,42,8401,1,37,2,75,1,1,6,1,-9,4,9211MP,9370.0,840101 +1100105,42,8402,1,37,2,75,1,1,6,1,-9,4,9211MP,9370.0,840201 +1100105,42,8403,1,35,1,50,3,1,6,1,-9,4,622M,8191.0,840301 +1100105,42,8404,1,35,1,50,3,1,6,1,-9,4,622M,8191.0,840401 +1100105,42,8405,1,53,1,48,1,1,2,1,-9,4,928P,9590.0,840501 +1100105,42,8406,1,51,1,80,1,1,2,1,-9,4,522M,6890.0,840601 +1100105,42,8407,1,57,1,40,1,1,1,1,-9,4,928P,9590.0,840701 +1100105,42,8408,1,40,2,40,1,1,1,1,-9,4,92MP,9470.0,840801 +1100105,42,8409,1,52,1,40,1,1,1,1,-9,4,517311,6680.0,840901 +1100105,42,8410,1,50,1,60,1,1,1,1,-9,4,611M3,7890.0,841001 +1100105,42,8411,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,841101 +1100105,42,8412,1,45,2,35,3,1,1,1,-9,4,813M,9170.0,841201 +1100105,42,8413,1,50,2,70,1,1,1,1,-9,4,92M2,9570.0,841301 +1100105,42,8414,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,841401 +1100105,42,8415,1,44,1,40,1,1,1,1,-9,4,52M2,6970.0,841501 +1100105,42,8416,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,841601 +1100105,42,8417,1,39,1,50,1,1,1,1,-9,4,92MP,9470.0,841701 +1100105,42,8418,1,58,2,40,1,1,1,1,-9,4,9211MP,9370.0,841801 +1100105,42,8419,1,49,2,50,2,1,1,1,-9,4,813M,9170.0,841901 +1100105,42,8420,1,56,1,35,1,1,1,1,-9,4,5411,7270.0,842001 +1100105,42,8421,1,40,2,40,1,1,1,1,-9,4,92MP,9470.0,842101 +1100105,42,8422,1,39,1,43,1,1,1,1,-9,4,481,6070.0,842201 +1100105,42,8423,1,49,1,40,1,1,1,1,-9,4,923,9480.0,842301 +1100105,42,8424,1,50,2,50,1,1,1,1,-9,4,5411,7270.0,842401 +1100105,42,8425,1,43,1,60,1,4,1,1,-9,1,928110P4,9770.0,842501 +1100105,42,8426,1,52,1,40,1,1,1,1,-9,4,517311,6680.0,842601 +1100105,42,8427,1,41,1,55,1,1,1,1,-9,4,928P,9590.0,842701 +1100105,42,8428,1,43,2,50,1,1,1,1,-9,4,5416,7390.0,842801 +1100105,42,8429,1,57,1,40,1,1,1,1,-9,4,92113,9380.0,842901 +1100105,42,8430,1,43,2,50,1,1,1,1,-9,4,5416,7390.0,843001 +1100105,42,8431,1,40,2,40,1,1,1,1,-9,4,92MP,9470.0,843101 +1100105,42,8432,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,843201 +1100105,42,8433,1,60,2,50,1,1,1,1,-9,4,8139Z,9190.0,843301 +1100105,42,8434,1,46,1,50,1,1,1,1,-9,4,928P,9590.0,843401 +1100105,42,8435,1,49,1,40,1,1,1,1,-9,4,92M2,9570.0,843501 +1100105,42,8436,1,39,1,40,1,1,1,1,-9,4,5415,7380.0,843601 +1100105,42,8437,1,39,1,50,1,1,1,1,-9,4,92MP,9470.0,843701 +1100105,42,8438,1,39,1,43,1,1,1,1,-9,4,481,6070.0,843801 +1100105,42,8439,1,43,1,55,1,1,1,1,16,4,92MP,9470.0,843901 +1100105,42,8440,1,52,1,40,1,1,1,1,-9,4,517311,6680.0,844001 +1100105,42,8441,1,35,2,42,1,1,1,1,-9,4,92MP,9470.0,844101 +1100105,42,8442,1,36,2,50,1,1,1,1,-9,4,8139Z,9190.0,844201 +1100105,42,8443,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,844301 +1100105,42,8444,1,39,1,43,1,1,1,1,-9,4,481,6070.0,844401 +1100105,42,8445,1,49,2,55,1,1,1,1,-9,4,5415,7380.0,844501 +1100105,42,8446,1,39,1,45,1,1,1,3,-9,4,5415,7380.0,844601 +1100105,42,8447,1,41,1,40,1,1,1,23,-9,4,3254,2190.0,844701 +1100105,42,8448,1,37,2,60,1,1,1,13,-9,4,5416,7390.0,844801 +1100105,42,8449,1,29,1,40,1,1,6,1,-9,4,2211P,570.0,844901 +1100105,42,8450,1,26,2,48,1,1,6,1,-9,4,5411,7270.0,845001 +1100105,42,8451,1,32,2,35,1,1,6,1,16,4,5411,7270.0,845101 +1100105,42,8452,1,34,2,45,1,1,2,1,-9,4,5411,7270.0,845201 +1100105,42,8453,1,27,1,35,1,1,1,1,-9,4,454110,5593.0,845301 +1100105,42,8454,1,33,1,60,1,1,1,1,-9,4,515,6670.0,845401 +1100105,42,8455,1,30,2,50,1,1,1,1,-9,4,5411,7270.0,845501 +1100105,42,8456,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,845601 +1100105,42,8457,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,845701 +1100105,42,8458,1,34,1,45,1,1,1,1,-9,4,8139Z,9190.0,845801 +1100105,42,8459,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,845901 +1100105,42,8460,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,846001 +1100105,42,8461,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,846101 +1100105,42,8462,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,846201 +1100105,42,8463,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,846301 +1100105,42,8464,1,27,1,35,1,1,1,1,-9,4,454110,5593.0,846401 +1100105,42,8465,1,32,1,60,1,1,1,1,-9,4,5416,7390.0,846501 +1100105,42,8466,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,846601 +1100105,42,8467,1,33,1,50,1,1,1,1,-9,4,5415,7380.0,846701 +1100105,42,8468,1,27,1,55,1,1,1,1,-9,4,522M,6890.0,846801 +1100105,42,8469,1,23,1,40,4,1,1,1,-9,4,5241,6991.0,846901 +1100105,42,8470,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,847001 +1100105,42,8471,1,25,2,40,1,1,1,1,-9,4,5416,7390.0,847101 +1100105,42,8472,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,847201 +1100105,42,8473,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,847301 +1100105,42,8474,1,33,1,50,1,1,1,1,-9,4,5415,7380.0,847401 +1100105,42,8475,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,847501 +1100105,42,8476,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,847601 +1100105,42,8477,1,27,1,50,1,1,1,1,-9,4,5411,7270.0,847701 +1100105,42,8478,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,847801 +1100105,42,8479,1,29,2,50,1,1,1,1,-9,4,5241,6991.0,847901 +1100105,42,8480,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,848001 +1100105,42,8481,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,848101 +1100105,42,8482,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,848201 +1100105,42,8483,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,848301 +1100105,42,8484,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,848401 +1100105,42,8485,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,848501 +1100105,42,8486,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,848601 +1100105,42,8487,1,47,2,80,3,3,6,1,-9,4,928P,9590.0,848701 +1100105,42,8488,1,49,2,20,4,6,1,1,-9,4,722Z,8680.0,848801 +1100105,42,8489,1,51,1,60,3,3,1,1,-9,4,3254,2190.0,848901 +1100105,42,8490,1,70,1,40,1,1,2,1,-9,4,5413,7290.0,849001 +1100105,42,8491,1,70,2,12,3,1,1,1,-9,4,6213ZM,8080.0,849101 +1100105,42,8492,1,70,2,40,1,1,1,1,-9,4,2211P,570.0,849201 +1100105,42,8493,1,83,1,18,5,1,1,1,-9,2,5411,7270.0,849301 +1100105,42,8494,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,849401 +1100105,42,8495,1,42,1,50,1,1,9,1,-9,4,813M,9170.0,849501 +1100105,42,8496,1,39,2,50,1,1,9,1,-9,4,813M,9170.0,849601 +1100105,42,8497,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,849701 +1100105,42,8498,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,849801 +1100105,42,8499,1,46,1,40,1,1,9,1,-9,4,928P,9590.0,849901 +1100105,42,8500,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,850001 +1100105,42,8501,1,36,2,40,1,1,9,1,-9,4,928P,9590.0,850101 +1100105,42,8502,1,38,1,50,1,1,6,1,-9,4,5415,7380.0,850201 +1100105,42,8503,1,58,2,40,1,1,6,1,-9,4,531M,7071.0,850301 +1100105,42,8504,1,35,2,60,1,1,6,1,-9,4,488,6290.0,850401 +1100105,42,8505,1,39,2,40,1,1,6,1,-9,4,42S,4590.0,850501 +1100105,42,8506,1,46,1,40,1,1,6,1,-9,4,6231,8270.0,850601 +1100105,42,8507,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,850701 +1100105,42,8508,1,57,1,42,1,1,6,1,-9,4,928P,9590.0,850801 +1100105,42,8509,1,58,2,40,1,1,6,1,-9,4,531M,7071.0,850901 +1100105,42,8510,1,35,2,60,1,1,6,1,-9,4,488,6290.0,851001 +1100105,42,8511,1,58,2,40,1,1,6,1,-9,4,531M,7071.0,851101 +1100105,42,8512,1,35,2,60,1,1,6,1,-9,4,488,6290.0,851201 +1100105,42,8513,1,59,2,40,1,1,6,1,-9,4,928P,9590.0,851301 +1100105,42,8514,1,37,1,40,1,1,6,1,-9,4,515,6670.0,851401 +1100105,42,8515,1,58,2,40,1,1,6,1,-9,4,531M,7071.0,851501 +1100105,42,8516,1,43,2,40,1,1,6,1,-9,4,928P,9590.0,851601 +1100105,42,8517,1,59,2,40,1,1,6,1,-9,4,928P,9590.0,851701 +1100105,42,8518,1,42,1,40,1,1,6,1,-9,4,8139Z,9190.0,851801 +1100105,42,8519,1,40,2,40,1,1,2,1,-9,4,928P,9590.0,851901 +1100105,42,8520,1,49,1,40,1,1,2,1,-9,4,5616,7680.0,852001 +1100105,42,8521,1,40,2,45,1,1,1,1,-9,4,813M,9170.0,852101 +1100105,42,8522,1,35,1,45,1,1,1,1,-9,4,923,9480.0,852201 +1100105,42,8523,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,852301 +1100105,42,8524,1,41,1,40,1,1,1,1,-9,2,3254,2190.0,852401 +1100105,42,8525,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,852501 +1100105,42,8526,1,54,1,40,1,1,1,1,-9,4,23,770.0,852601 +1100105,42,8527,1,37,1,40,2,1,1,1,-9,4,5417,7460.0,852701 +1100105,42,8528,1,36,1,50,1,1,1,1,-9,4,7211,8660.0,852801 +1100105,42,8529,1,49,1,40,1,1,1,1,-9,4,5415,7380.0,852901 +1100105,42,8530,1,39,2,60,1,1,1,1,15,4,923,9480.0,853001 +1100105,42,8531,1,36,1,50,1,1,1,1,16,2,928P,9590.0,853101 +1100105,42,8532,1,49,2,40,1,1,1,1,-9,4,92M2,9570.0,853201 +1100105,42,8533,1,54,2,50,1,1,1,1,-9,4,5241,6991.0,853301 +1100105,42,8534,1,40,1,50,4,1,1,1,-9,4,611M1,7870.0,853401 +1100105,42,8535,1,35,1,45,1,1,1,1,-9,4,923,9480.0,853501 +1100105,42,8536,1,49,2,40,1,1,1,1,-9,4,92M2,9570.0,853601 +1100105,42,8537,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,853701 +1100105,42,8538,1,60,1,50,1,1,1,1,-9,4,5417,7460.0,853801 +1100105,42,8539,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,853901 +1100105,42,8540,1,36,1,50,1,1,1,1,16,2,928P,9590.0,854001 +1100105,42,8541,1,40,1,40,1,1,1,1,-9,4,923,9480.0,854101 +1100105,42,8542,1,43,2,40,1,1,1,1,-9,4,5416,7390.0,854201 +1100105,42,8543,1,54,2,40,1,1,1,1,-9,4,928P,9590.0,854301 +1100105,42,8544,1,40,1,50,1,1,1,1,15,4,813M,9170.0,854401 +1100105,42,8545,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,854501 +1100105,42,8546,1,37,2,50,1,1,1,1,-9,4,515,6670.0,854601 +1100105,42,8547,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,854701 +1100105,42,8548,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,854801 +1100105,42,8549,1,54,2,50,1,1,1,1,-9,4,5241,6991.0,854901 +1100105,42,8550,1,47,1,50,1,1,1,1,-9,4,5415,7380.0,855001 +1100105,42,8551,1,39,2,40,1,1,1,1,-9,4,9211MP,9370.0,855101 +1100105,42,8552,1,35,1,40,1,1,1,1,-9,4,5417,7460.0,855201 +1100105,42,8553,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,855301 +1100105,42,8554,1,37,1,50,1,4,1,1,-9,1,928110P2,9680.0,855401 +1100105,42,8555,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,855501 +1100105,42,8556,1,37,2,50,1,4,1,1,16,1,928110P1,9670.0,855601 +1100105,42,8557,1,54,1,40,1,1,1,1,-9,4,813M,9170.0,855701 +1100105,42,8558,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,855801 +1100105,42,8559,1,57,1,40,1,1,1,1,-9,4,92M1,9490.0,855901 +1100105,42,8560,1,40,2,40,1,1,1,1,-9,4,483,6090.0,856001 +1100105,42,8561,1,36,1,50,1,1,1,1,16,2,928P,9590.0,856101 +1100105,42,8562,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,856201 +1100105,42,8563,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,856301 +1100105,42,8564,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,856401 +1100105,42,8565,1,40,1,40,1,1,1,1,-9,4,92M2,9570.0,856501 +1100105,42,8566,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,856601 +1100105,42,8567,1,49,2,48,1,1,1,1,-9,4,928P,9590.0,856701 +1100105,42,8568,1,44,1,55,1,1,1,1,-9,4,92MP,9470.0,856801 +1100105,42,8569,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,856901 +1100105,42,8570,1,63,2,80,1,1,1,1,-9,4,5418,7470.0,857001 +1100105,42,8571,1,47,1,35,1,1,1,1,-9,4,611M1,7870.0,857101 +1100105,42,8572,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,857201 +1100105,42,8573,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,857301 +1100105,42,8574,1,42,2,52,1,1,1,1,-9,4,5417,7460.0,857401 +1100105,42,8575,1,41,1,40,1,1,1,1,-9,2,3254,2190.0,857501 +1100105,42,8576,1,37,1,40,2,1,1,1,-9,4,5417,7460.0,857601 +1100105,42,8577,1,39,2,60,1,1,1,1,15,4,923,9480.0,857701 +1100105,42,8578,1,51,1,40,1,1,1,1,-9,4,923,9480.0,857801 +1100105,42,8579,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,857901 +1100105,42,8580,1,40,1,50,4,1,1,1,-9,4,611M1,7870.0,858001 +1100105,42,8581,1,58,2,50,1,1,1,1,-9,4,23,770.0,858101 +1100105,42,8582,1,40,2,55,1,1,1,1,-9,4,5415,7380.0,858201 +1100105,42,8583,1,47,1,35,1,1,1,1,-9,4,611M1,7870.0,858301 +1100105,42,8584,1,37,1,40,1,1,1,1,-9,4,923,9480.0,858401 +1100105,42,8585,1,51,1,40,1,1,1,1,-9,2,5417,7460.0,858501 +1100105,42,8586,1,58,1,50,1,1,1,1,-9,4,722Z,8680.0,858601 +1100105,42,8587,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,858701 +1100105,42,8588,1,38,2,45,1,1,1,1,-9,4,928P,9590.0,858801 +1100105,42,8589,1,36,2,50,1,1,1,1,-9,4,813M,9170.0,858901 +1100105,42,8590,1,39,2,60,1,1,1,1,15,4,923,9480.0,859001 +1100105,42,8591,1,42,2,40,1,1,1,1,-9,4,92M2,9570.0,859101 +1100105,42,8592,1,39,2,60,1,1,1,1,15,4,923,9480.0,859201 +1100105,42,8593,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,859301 +1100105,42,8594,1,58,2,50,1,1,1,1,-9,4,23,770.0,859401 +1100105,42,8595,1,61,1,55,1,1,1,1,-9,4,813M,9170.0,859501 +1100105,42,8596,1,36,1,50,1,1,1,1,-9,4,7211,8660.0,859601 +1100105,42,8597,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,859701 +1100105,42,8598,1,51,1,40,1,1,1,1,-9,4,5415,7380.0,859801 +1100105,42,8599,1,36,1,50,1,1,1,1,16,2,928P,9590.0,859901 +1100105,42,8600,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,860001 +1100105,42,8601,1,38,1,45,1,1,1,1,-9,4,5416,7390.0,860101 +1100105,42,8602,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,860201 +1100105,42,8603,1,51,1,40,1,1,1,1,-9,4,5415,7380.0,860301 +1100105,42,8604,1,47,2,50,3,1,1,1,-9,4,5416,7390.0,860401 +1100105,42,8605,1,40,1,40,1,1,1,1,-9,4,5415,7380.0,860501 +1100105,42,8606,1,59,1,45,1,1,1,1,-9,4,5221M,6880.0,860601 +1100105,42,8607,1,57,1,40,1,1,1,1,-9,4,712,8570.0,860701 +1100105,42,8608,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,860801 +1100105,42,8609,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,860901 +1100105,42,8610,1,42,1,50,1,1,1,1,-9,4,5416,7390.0,861001 +1100105,42,8611,1,64,2,40,1,1,1,1,-9,4,6111,7860.0,861101 +1100105,42,8612,1,36,2,40,1,1,1,1,16,4,5419Z,7490.0,861201 +1100105,42,8613,1,53,2,40,1,1,1,1,-9,4,522M,6890.0,861301 +1100105,42,8614,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,861401 +1100105,42,8615,1,46,2,45,1,1,1,1,-9,4,8139Z,9190.0,861501 +1100105,42,8616,1,60,1,40,1,1,1,1,-9,4,814,9290.0,861601 +1100105,42,8617,1,37,2,42,1,1,1,1,-9,4,928P,9590.0,861701 +1100105,42,8618,1,37,1,50,1,4,1,1,-9,1,928110P2,9680.0,861801 +1100105,42,8619,1,42,2,52,1,1,1,1,-9,4,5417,7460.0,861901 +1100105,42,8620,1,39,2,60,1,1,1,1,-9,4,928P,9590.0,862001 +1100105,42,8621,1,40,1,40,1,1,1,1,-9,4,5415,7380.0,862101 +1100105,42,8622,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,862201 +1100105,42,8623,1,39,2,60,1,1,1,1,15,4,923,9480.0,862301 +1100105,42,8624,1,63,2,80,1,1,1,1,-9,4,5418,7470.0,862401 +1100105,42,8625,1,38,1,45,1,1,1,1,-9,4,5416,7390.0,862501 +1100105,42,8626,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,862601 +1100105,42,8627,1,58,1,40,1,1,1,1,-9,4,813M,9170.0,862701 +1100105,42,8628,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,862801 +1100105,42,8629,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,862901 +1100105,42,8630,1,54,1,40,1,1,1,1,-9,4,813M,9170.0,863001 +1100105,42,8631,1,57,1,50,1,1,1,1,-9,4,813M,9170.0,863101 +1100105,42,8632,1,60,1,40,1,1,1,1,-9,4,23,770.0,863201 +1100105,42,8633,1,44,1,55,1,1,1,1,-9,4,92MP,9470.0,863301 +1100105,42,8634,1,52,1,45,1,1,1,1,-9,4,928P,9590.0,863401 +1100105,42,8635,1,53,2,40,1,1,1,1,-9,4,522M,6890.0,863501 +1100105,42,8636,1,43,1,60,2,1,1,1,-9,4,92MP,9470.0,863601 +1100105,42,8637,1,39,2,60,1,1,1,1,-9,4,928P,9590.0,863701 +1100105,42,8638,1,38,2,50,1,1,1,1,-9,4,522M,6890.0,863801 +1100105,42,8639,1,36,2,50,1,1,1,1,-9,4,52M1,6870.0,863901 +1100105,42,8640,1,52,1,50,1,1,1,1,-9,4,611M1,7870.0,864001 +1100105,42,8641,1,63,1,40,1,1,1,1,-9,4,3333,3095.0,864101 +1100105,42,8642,1,54,2,40,1,1,1,1,-9,4,515,6670.0,864201 +1100105,42,8643,1,54,2,50,1,1,1,1,-9,4,5241,6991.0,864301 +1100105,42,8644,1,42,1,50,1,1,1,1,-9,4,5416,7390.0,864401 +1100105,42,8645,1,58,2,50,1,1,1,1,-9,4,515,6670.0,864501 +1100105,42,8646,1,46,1,40,1,1,1,1,-9,4,443142,4795.0,864601 +1100105,42,8647,1,38,2,50,1,1,1,1,-9,4,561M,7780.0,864701 +1100105,42,8648,1,38,1,40,1,1,1,1,-9,4,712,8570.0,864801 +1100105,42,8649,1,35,1,45,1,1,1,1,-9,4,923,9480.0,864901 +1100105,42,8650,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,865001 +1100105,42,8651,1,36,1,50,1,1,1,1,-9,4,7211,8660.0,865101 +1100105,42,8652,1,37,1,40,1,1,1,1,-9,4,923,9480.0,865201 +1100105,42,8653,1,50,2,40,1,1,1,1,-9,4,928P,9590.0,865301 +1100105,42,8654,1,42,2,52,1,1,1,1,-9,4,5417,7460.0,865401 +1100105,42,8655,1,39,2,60,1,1,1,1,15,4,923,9480.0,865501 +1100105,42,8656,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,865601 +1100105,42,8657,1,47,2,50,3,1,1,1,-9,4,5416,7390.0,865701 +1100105,42,8658,1,39,2,40,1,1,1,1,-9,4,9211MP,9370.0,865801 +1100105,42,8659,1,45,1,50,1,1,1,1,-9,4,92M2,9570.0,865901 +1100105,42,8660,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,866001 +1100105,42,8661,1,47,1,40,1,1,1,9,-9,4,92M2,9570.0,866101 +1100105,42,8662,1,37,1,70,1,1,1,24,-9,4,8139Z,9190.0,866201 +1100105,42,8663,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,866301 +1100105,42,8664,1,40,2,40,1,1,1,24,-9,4,923,9480.0,866401 +1100105,42,8665,1,62,1,45,1,1,1,24,-9,2,611M3,7890.0,866501 +1100105,42,8666,1,57,2,70,1,1,1,16,-9,4,813M,9170.0,866601 +1100105,42,8667,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,866701 +1100105,42,8668,1,62,1,45,1,1,1,24,-9,2,611M3,7890.0,866801 +1100105,42,8669,1,44,1,40,1,1,1,16,-9,2,23,770.0,866901 +1100105,42,8670,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,867001 +1100105,42,8671,1,47,1,40,1,1,1,9,-9,4,92M2,9570.0,867101 +1100105,42,8672,1,44,2,40,1,1,1,5,16,4,621M,8180.0,867201 +1100105,42,8673,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,867301 +1100105,42,8674,1,26,2,45,2,1,9,1,-9,4,9211MP,9370.0,867401 +1100105,42,8675,1,31,1,40,1,1,9,1,-9,4,53M,7190.0,867501 +1100105,42,8676,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,867601 +1100105,42,8677,1,30,2,60,1,1,9,1,-9,4,5182,6695.0,867701 +1100105,42,8678,1,28,1,55,1,1,6,1,-9,4,5416,7390.0,867801 +1100105,42,8679,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,867901 +1100105,42,8680,1,28,1,55,1,1,6,1,-9,4,5416,7390.0,868001 +1100105,42,8681,1,34,1,45,1,1,6,1,-9,4,522M,6890.0,868101 +1100105,42,8682,1,28,1,55,1,1,6,1,-9,4,5416,7390.0,868201 +1100105,42,8683,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,868301 +1100105,42,8684,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,868401 +1100105,42,8685,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,868501 +1100105,42,8686,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,868601 +1100105,42,8687,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,868701 +1100105,42,8688,1,27,2,40,1,1,2,1,-9,4,5416,7390.0,868801 +1100105,42,8689,1,29,2,50,1,1,1,1,-9,4,531M,7071.0,868901 +1100105,42,8690,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,869001 +1100105,42,8691,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,869101 +1100105,42,8692,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,869201 +1100105,42,8693,1,31,2,45,1,1,1,1,-9,4,928P,9590.0,869301 +1100105,42,8694,1,23,1,50,1,1,1,1,-9,4,23,770.0,869401 +1100105,42,8695,1,29,1,60,1,1,1,1,-9,4,531M,7071.0,869501 +1100105,42,8696,1,32,2,60,1,1,1,1,-9,4,5418,7470.0,869601 +1100105,42,8697,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,869701 +1100105,42,8698,1,31,2,40,1,1,1,1,-9,4,92113,9380.0,869801 +1100105,42,8699,1,23,1,50,1,1,1,1,-9,4,23,770.0,869901 +1100105,42,8700,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,870001 +1100105,42,8701,1,33,2,40,1,1,1,1,-9,4,611M3,7890.0,870101 +1100105,42,8702,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,870201 +1100105,42,8703,1,31,1,50,1,1,1,1,-9,4,621M,8180.0,870301 +1100105,42,8704,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,870401 +1100105,42,8705,1,31,2,40,1,1,1,1,-9,4,923,9480.0,870501 +1100105,42,8706,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,870601 +1100105,42,8707,1,33,2,40,1,1,1,1,-9,4,611M3,7890.0,870701 +1100105,42,8708,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,870801 +1100105,42,8709,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,870901 +1100105,42,8710,1,31,2,40,1,1,1,1,-9,4,5417,7460.0,871001 +1100105,42,8711,1,33,2,50,1,1,1,1,-9,4,92MP,9470.0,871101 +1100105,42,8712,1,29,1,50,1,1,1,1,-9,4,5418,7470.0,871201 +1100105,42,8713,1,29,1,60,1,1,1,1,-9,4,531M,7071.0,871301 +1100105,42,8714,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,871401 +1100105,42,8715,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,871501 +1100105,42,8716,1,26,1,40,1,1,1,1,-9,4,52M2,6970.0,871601 +1100105,42,8717,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,871701 +1100105,42,8718,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,871801 +1100105,42,8719,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,871901 +1100105,42,8720,1,31,2,40,1,1,1,1,16,4,813M,9170.0,872001 +1100105,42,8721,1,33,2,50,1,1,1,1,-9,4,621M,8180.0,872101 +1100105,42,8722,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,872201 +1100105,42,8723,1,30,1,48,1,1,1,1,-9,4,7211,8660.0,872301 +1100105,42,8724,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,872401 +1100105,42,8725,1,28,1,40,1,1,1,1,-9,4,92113,9380.0,872501 +1100105,42,8726,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,872601 +1100105,42,8727,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,872701 +1100105,42,8728,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,872801 +1100105,42,8729,1,32,1,45,1,1,1,1,-9,4,92MP,9470.0,872901 +1100105,42,8730,1,25,2,60,1,1,1,1,16,4,5416,7390.0,873001 +1100105,42,8731,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,873101 +1100105,42,8732,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,873201 +1100105,42,8733,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,873301 +1100105,42,8734,1,29,1,40,1,1,1,1,16,4,5412,7280.0,873401 +1100105,42,8735,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,873501 +1100105,42,8736,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,873601 +1100105,42,8737,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,873701 +1100105,42,8738,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,873801 +1100105,42,8739,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,873901 +1100105,42,8740,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,874001 +1100105,42,8741,1,25,2,60,1,1,1,1,16,4,5416,7390.0,874101 +1100105,42,8742,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,874201 +1100105,42,8743,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,874301 +1100105,42,8744,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,874401 +1100105,42,8745,1,29,2,50,1,1,1,1,-9,4,531M,7071.0,874501 +1100105,42,8746,1,31,2,40,1,1,1,1,-9,4,5417,7460.0,874601 +1100105,42,8747,1,31,1,42,1,1,1,1,-9,4,8139Z,9190.0,874701 +1100105,42,8748,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,874801 +1100105,42,8749,1,31,2,40,1,1,1,1,16,4,813M,9170.0,874901 +1100105,42,8750,1,33,2,50,1,1,1,1,-9,4,621M,8180.0,875001 +1100105,42,8751,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,875101 +1100105,42,8752,1,34,2,45,1,1,1,1,-9,4,92M2,9570.0,875201 +1100105,42,8753,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,875301 +1100105,42,8754,1,34,1,45,1,1,1,1,-9,2,928P,9590.0,875401 +1100105,42,8755,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,875501 +1100105,42,8756,1,27,2,40,1,1,1,1,-9,4,5417,7460.0,875601 +1100105,42,8757,1,32,1,45,1,1,1,1,-9,4,92MP,9470.0,875701 +1100105,42,8758,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,875801 +1100105,42,8759,1,34,2,45,1,1,1,1,-9,4,9211MP,9370.0,875901 +1100105,42,8760,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,876001 +1100105,42,8761,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,876101 +1100105,42,8762,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,876201 +1100105,42,8763,1,25,1,60,1,1,1,1,-9,4,7211,8660.0,876301 +1100105,42,8764,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,876401 +1100105,42,8765,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,876501 +1100105,42,8766,1,31,2,40,1,1,1,1,16,4,813M,9170.0,876601 +1100105,42,8767,1,28,1,40,1,1,1,1,-9,4,92113,9380.0,876701 +1100105,42,8768,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,876801 +1100105,42,8769,1,31,2,45,1,1,1,1,-9,4,928P,9590.0,876901 +1100105,42,8770,1,33,1,50,1,1,1,1,-9,4,9211MP,9370.0,877001 +1100105,42,8771,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,877101 +1100105,42,8772,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,877201 +1100105,42,8773,1,31,2,40,1,1,1,1,16,4,813M,9170.0,877301 +1100105,42,8774,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,877401 +1100105,42,8775,1,31,2,40,1,1,1,1,16,4,813M,9170.0,877501 +1100105,42,8776,1,33,2,50,1,1,1,1,-9,4,92MP,9470.0,877601 +1100105,42,8777,1,31,2,40,1,1,1,1,-9,4,923,9480.0,877701 +1100105,42,8778,1,33,1,40,1,1,1,1,-9,4,928P,9590.0,877801 +1100105,42,8779,1,28,2,55,1,1,1,1,-9,4,23,770.0,877901 +1100105,42,8780,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,878001 +1100105,42,8781,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,878101 +1100105,42,8782,1,29,1,40,1,1,1,1,16,4,5412,7280.0,878201 +1100105,42,8783,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,878301 +1100105,42,8784,1,30,2,50,1,1,1,1,-9,4,522M,6890.0,878401 +1100105,42,8785,1,31,2,40,1,1,1,1,-9,4,5417,7460.0,878501 +1100105,42,8786,1,34,2,50,1,1,1,1,-9,4,92MP,9470.0,878601 +1100105,42,8787,1,29,2,50,1,1,1,1,-9,4,5418,7470.0,878701 +1100105,42,8788,1,32,1,50,1,1,1,1,-9,4,9211MP,9370.0,878801 +1100105,42,8789,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,878901 +1100105,42,8790,1,25,2,40,1,1,1,1,16,4,3391,3960.0,879001 +1100105,42,8791,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,879101 +1100105,42,8792,1,28,1,40,1,1,1,1,-9,4,92113,9380.0,879201 +1100105,42,8793,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,879301 +1100105,42,8794,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,879401 +1100105,42,8795,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,879501 +1100105,42,8796,1,32,2,40,1,1,9,11,-9,4,813M,9170.0,879601 +1100105,42,8797,1,32,2,40,1,1,9,11,-9,4,813M,9170.0,879701 +1100105,42,8798,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,879801 +1100105,42,8799,1,34,1,40,1,4,1,2,-9,1,928110P5,9780.0,879901 +1100105,42,8800,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,880001 +1100105,42,8801,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,880101 +1100105,42,8802,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,880201 +1100105,42,8803,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,880301 +1100105,42,8804,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,880401 +1100105,42,8805,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,880501 +1100105,42,8806,1,68,1,-9,-9,6,1,1,-9,4,928P,9590.0,880601 +1100105,42,8807,1,68,1,-9,-9,6,1,1,-9,4,928P,9590.0,880701 +1100105,42,8808,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,880801 +1100105,42,8809,1,77,2,-9,-9,6,1,1,-9,4,5412,7280.0,880901 +1100105,42,8810,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,881001 +1100105,42,8811,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,881101 +1100105,42,8812,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,881201 +1100105,42,8813,1,47,2,50,5,3,9,1,-9,4,81393,9180.0,881301 +1100105,42,8814,1,57,1,-9,-9,6,6,1,-9,4,0,0.0,881401 +1100105,42,8815,1,60,2,-9,-9,6,1,1,-9,4,447,5090.0,881501 +1100105,42,8816,1,60,2,-9,-9,6,1,1,-9,4,447,5090.0,881601 +1100105,42,8817,1,60,2,-9,-9,6,1,1,-9,4,447,5090.0,881701 +1100105,42,8818,1,57,1,-9,-9,6,1,1,-9,4,813M,9170.0,881801 +1100105,42,8819,1,34,1,60,1,3,9,1,-9,4,5416,7390.0,881901 +1100105,42,8820,1,34,1,60,1,3,9,1,-9,4,5416,7390.0,882001 +1100105,42,8821,1,71,1,40,4,1,2,1,-9,2,484,6170.0,882101 +1100105,42,8822,1,67,2,39,3,1,1,1,-9,4,51912,6770.0,882201 +1100105,42,8823,1,72,1,40,1,2,1,1,-9,4,8129,9090.0,882301 +1100105,42,8824,1,65,2,12,4,1,1,1,-9,4,6111,7860.0,882401 +1100105,42,8825,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,882501 +1100105,42,8826,1,67,2,39,3,1,1,1,-9,4,51912,6770.0,882601 +1100105,42,8827,1,71,1,56,5,1,1,1,-9,4,5416,7390.0,882701 +1100105,42,8828,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,882801 +1100105,42,8829,1,66,1,20,1,1,1,1,-9,2,92119,9390.0,882901 +1100105,42,8830,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,883001 +1100105,42,8831,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,883101 +1100105,42,8832,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,883201 +1100105,42,8833,1,42,2,30,4,1,6,1,-9,4,813M,9170.0,883301 +1100105,42,8834,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,883401 +1100105,42,8835,1,43,2,60,1,1,6,1,-9,4,6244,8470.0,883501 +1100105,42,8836,1,39,1,40,1,1,6,1,-9,4,611M1,7870.0,883601 +1100105,42,8837,1,42,2,32,3,1,6,1,-9,4,5417,7460.0,883701 +1100105,42,8838,1,44,2,45,1,1,6,1,-9,4,813M,9170.0,883801 +1100105,42,8839,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,883901 +1100105,42,8840,1,37,1,60,1,1,6,1,-9,4,5415,7380.0,884001 +1100105,42,8841,1,36,1,40,1,1,6,1,-9,4,813M,9170.0,884101 +1100105,42,8842,1,36,1,47,2,1,6,1,-9,4,5417,7460.0,884201 +1100105,42,8843,1,49,2,45,3,1,6,1,16,4,6111,7860.0,884301 +1100105,42,8844,1,45,2,60,1,1,6,1,-9,4,5414,7370.0,884401 +1100105,42,8845,1,53,2,40,1,1,6,1,-9,4,5414,7370.0,884501 +1100105,42,8846,1,36,1,47,2,1,6,1,-9,4,5417,7460.0,884601 +1100105,42,8847,1,43,2,60,1,1,6,1,-9,4,6244,8470.0,884701 +1100105,42,8848,1,42,2,32,3,1,6,1,-9,4,5417,7460.0,884801 +1100105,42,8849,1,39,1,42,3,1,2,1,-9,4,5411,7270.0,884901 +1100105,42,8850,1,47,2,60,1,1,2,1,-9,4,9211MP,9370.0,885001 +1100105,42,8851,1,44,1,30,1,1,2,1,-9,4,33641M1,3580.0,885101 +1100105,42,8852,1,36,2,40,1,1,2,1,-9,4,92M2,9570.0,885201 +1100105,42,8853,1,56,1,40,1,1,1,1,-9,4,482,6080.0,885301 +1100105,42,8854,1,37,2,40,1,1,1,1,-9,4,92119,9390.0,885401 +1100105,42,8855,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,885501 +1100105,42,8856,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,885601 +1100105,42,8857,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,885701 +1100105,42,8858,1,38,1,40,1,1,1,1,-9,4,928P,9590.0,885801 +1100105,42,8859,1,38,2,70,1,1,1,1,-9,4,7211,8660.0,885901 +1100105,42,8860,1,61,2,55,1,1,1,1,-9,4,33641M1,3580.0,886001 +1100105,42,8861,1,37,2,40,3,1,1,1,-9,4,923,9480.0,886101 +1100105,42,8862,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,886201 +1100105,42,8863,1,40,1,40,1,1,1,1,-9,4,52M1,6870.0,886301 +1100105,42,8864,1,40,2,40,1,1,1,1,-9,4,9211MP,9370.0,886401 +1100105,42,8865,1,45,2,45,1,1,1,1,-9,4,813M,9170.0,886501 +1100105,42,8866,1,35,2,45,1,1,1,1,-9,4,9211MP,9370.0,886601 +1100105,42,8867,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,886701 +1100105,42,8868,1,42,2,38,1,1,1,1,-9,4,5411,7270.0,886801 +1100105,42,8869,1,35,1,45,1,1,1,1,-9,4,515,6670.0,886901 +1100105,42,8870,1,48,2,45,1,1,1,1,-9,4,5411,7270.0,887001 +1100105,42,8871,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,887101 +1100105,42,8872,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,887201 +1100105,42,8873,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,887301 +1100105,42,8874,1,35,1,40,4,1,1,1,-9,4,5121,6570.0,887401 +1100105,42,8875,1,48,1,45,1,1,1,1,-9,4,813M,9170.0,887501 +1100105,42,8876,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,887601 +1100105,42,8877,1,55,2,40,1,1,1,1,-9,4,51912,6770.0,887701 +1100105,42,8878,1,51,1,40,1,1,1,1,-9,4,561M,7780.0,887801 +1100105,42,8879,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,887901 +1100105,42,8880,1,60,2,12,3,1,1,1,-9,4,611M1,7870.0,888001 +1100105,42,8881,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,888101 +1100105,42,8882,1,42,1,40,1,1,1,1,-9,4,9211MP,9370.0,888201 +1100105,42,8883,1,38,2,40,1,1,1,1,-9,4,515,6670.0,888301 +1100105,42,8884,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,888401 +1100105,42,8885,1,43,1,40,1,1,1,1,-9,4,522M,6890.0,888501 +1100105,42,8886,1,35,1,40,1,1,1,1,-9,4,92MP,9470.0,888601 +1100105,42,8887,1,64,2,40,1,1,1,1,-9,4,92M2,9570.0,888701 +1100105,42,8888,1,35,1,45,1,1,1,1,-9,4,515,6670.0,888801 +1100105,42,8889,1,42,1,40,1,1,1,1,-9,4,9211MP,9370.0,888901 +1100105,42,8890,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,889001 +1100105,42,8891,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,889101 +1100105,42,8892,1,38,2,40,1,1,1,1,-9,4,515,6670.0,889201 +1100105,42,8893,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,889301 +1100105,42,8894,1,64,2,40,1,1,1,1,-9,4,621M,8180.0,889401 +1100105,42,8895,1,49,2,40,1,1,1,1,-9,4,6111,7860.0,889501 +1100105,42,8896,1,37,1,35,1,1,1,1,-9,4,6111,7860.0,889601 +1100105,42,8897,1,35,1,60,1,1,1,1,-9,4,5121,6570.0,889701 +1100105,42,8898,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,889801 +1100105,42,8899,1,42,1,40,1,1,1,1,-9,2,622M,8191.0,889901 +1100105,42,8900,1,45,2,45,1,1,1,1,-9,4,813M,9170.0,890001 +1100105,42,8901,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,890101 +1100105,42,8902,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,890201 +1100105,42,8903,1,42,2,38,1,1,1,1,-9,4,5411,7270.0,890301 +1100105,42,8904,1,35,1,45,1,1,1,1,-9,4,515,6670.0,890401 +1100105,42,8905,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,890501 +1100105,42,8906,1,38,1,40,1,1,1,1,-9,4,5413,7290.0,890601 +1100105,42,8907,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,890701 +1100105,42,8908,1,48,1,45,1,1,1,1,-9,4,813M,9170.0,890801 +1100105,42,8909,1,48,1,45,1,1,1,1,-9,4,813M,9170.0,890901 +1100105,42,8910,1,40,1,40,1,1,1,1,-9,4,52M1,6870.0,891001 +1100105,42,8911,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,891101 +1100105,42,8912,1,42,1,40,1,1,1,1,-9,4,9211MP,9370.0,891201 +1100105,42,8913,1,35,2,45,1,1,1,1,-9,4,9211MP,9370.0,891301 +1100105,42,8914,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,891401 +1100105,42,8915,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,891501 +1100105,42,8916,1,62,1,43,1,1,1,1,-9,4,22S,690.0,891601 +1100105,42,8917,1,38,2,40,1,1,1,1,-9,4,515,6670.0,891701 +1100105,42,8918,1,60,1,40,1,1,1,1,-9,4,5417,7460.0,891801 +1100105,42,8919,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,891901 +1100105,42,8920,1,56,1,40,1,1,1,1,-9,4,8139Z,9190.0,892001 +1100105,42,8921,1,42,1,40,1,1,1,1,-9,4,9211MP,9370.0,892101 +1100105,42,8922,1,38,1,40,1,1,1,1,-9,4,5413,7290.0,892201 +1100105,42,8923,1,41,1,36,1,1,1,1,-9,4,812112,8980.0,892301 +1100105,42,8924,1,38,2,40,1,1,1,1,-9,4,515,6670.0,892401 +1100105,42,8925,1,64,2,40,1,1,1,1,-9,4,92M2,9570.0,892501 +1100105,42,8926,1,51,1,48,1,1,1,14,-9,4,722Z,8680.0,892601 +1100105,42,8927,1,40,2,40,1,1,1,21,-9,4,813M,9170.0,892701 +1100105,42,8928,1,38,1,45,1,1,1,13,-9,4,8139Z,9190.0,892801 +1100105,42,8929,1,38,1,45,1,1,1,13,-9,4,8139Z,9190.0,892901 +1100105,42,8930,1,48,1,40,1,1,1,6,-9,4,531M,7071.0,893001 +1100105,42,8931,1,38,2,40,1,1,1,3,15,4,813M,9170.0,893101 +1100105,42,8932,1,61,2,50,1,1,1,23,16,4,6111,7860.0,893201 +1100105,42,8933,1,39,1,60,3,1,5,2,-9,4,7224,8690.0,893301 +1100105,42,8934,1,44,2,42,1,1,1,23,-9,4,7211,8660.0,893401 +1100105,42,8935,1,48,1,40,1,1,1,6,-9,4,531M,7071.0,893501 +1100105,42,8936,1,25,1,40,3,1,9,1,-9,4,5413,7290.0,893601 +1100105,42,8937,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,893701 +1100105,42,8938,1,25,1,40,3,1,9,1,-9,4,5413,7290.0,893801 +1100105,42,8939,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,893901 +1100105,42,8940,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,894001 +1100105,42,8941,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,894101 +1100105,42,8942,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,894201 +1100105,42,8943,1,28,1,40,1,1,9,1,-9,4,51912,6770.0,894301 +1100105,42,8944,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,894401 +1100105,42,8945,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,894501 +1100105,42,8946,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,894601 +1100105,42,8947,1,32,2,55,1,1,9,1,-9,4,5415,7380.0,894701 +1100105,42,8948,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,894801 +1100105,42,8949,1,23,1,65,1,1,9,1,15,4,5416,7390.0,894901 +1100105,42,8950,1,28,1,40,1,1,9,1,-9,4,51912,6770.0,895001 +1100105,42,8951,1,28,1,40,1,1,9,1,-9,4,51912,6770.0,895101 +1100105,42,8952,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,895201 +1100105,42,8953,1,32,1,80,1,1,6,1,-9,4,622M,8191.0,895301 +1100105,42,8954,1,30,1,45,5,1,6,1,-9,4,5416,7390.0,895401 +1100105,42,8955,1,25,2,42,1,1,6,1,-9,4,5416,7390.0,895501 +1100105,42,8956,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,895601 +1100105,42,8957,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,895701 +1100105,42,8958,1,31,2,40,1,1,6,1,-9,4,5416,7390.0,895801 +1100105,42,8959,1,26,2,40,1,1,6,1,16,2,622M,8191.0,895901 +1100105,42,8960,1,26,2,40,1,1,6,1,16,2,622M,8191.0,896001 +1100105,42,8961,1,29,1,50,1,1,6,1,-9,4,9211MP,9370.0,896101 +1100105,42,8962,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,896201 +1100105,42,8963,1,25,2,42,1,1,6,1,-9,4,5416,7390.0,896301 +1100105,42,8964,1,29,1,40,1,1,6,1,-9,4,622M,8191.0,896401 +1100105,42,8965,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,896501 +1100105,42,8966,1,26,2,40,1,1,6,1,16,2,622M,8191.0,896601 +1100105,42,8967,1,25,2,40,1,1,6,1,-9,4,5416,7390.0,896701 +1100105,42,8968,1,29,1,40,1,1,6,1,-9,4,622M,8191.0,896801 +1100105,42,8969,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,896901 +1100105,42,8970,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,897001 +1100105,42,8971,1,32,2,40,1,1,6,1,-9,4,5412,7280.0,897101 +1100105,42,8972,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,897201 +1100105,42,8973,1,26,2,40,1,1,6,1,16,2,622M,8191.0,897301 +1100105,42,8974,1,32,2,38,1,1,6,1,-9,4,928P,9590.0,897401 +1100105,42,8975,1,31,2,40,1,1,6,1,-9,4,5416,7390.0,897501 +1100105,42,8976,1,26,2,40,1,1,6,1,16,2,92M2,9570.0,897601 +1100105,42,8977,1,32,2,40,1,1,6,1,-9,4,5412,7280.0,897701 +1100105,42,8978,1,31,2,28,1,1,6,1,-9,4,5419Z,7490.0,897801 +1100105,42,8979,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,897901 +1100105,42,8980,1,26,2,40,1,1,6,1,16,2,622M,8191.0,898001 +1100105,42,8981,1,26,2,48,1,1,6,1,-9,4,5413,7290.0,898101 +1100105,42,8982,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,898201 +1100105,42,8983,1,26,2,40,1,1,6,1,-9,4,813M,9170.0,898301 +1100105,42,8984,1,34,2,50,1,1,2,1,-9,4,5417,7460.0,898401 +1100105,42,8985,1,34,2,40,1,1,2,1,-9,4,92MP,9470.0,898501 +1100105,42,8986,1,27,2,35,1,1,2,1,-9,4,9211MP,9370.0,898601 +1100105,42,8987,1,30,1,40,1,1,2,1,-9,4,5417,7460.0,898701 +1100105,42,8988,1,30,1,70,1,1,1,1,-9,4,6211,7970.0,898801 +1100105,42,8989,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,898901 +1100105,42,8990,1,31,2,50,1,1,1,1,-9,4,92MP,9470.0,899001 +1100105,42,8991,1,31,1,70,1,1,1,1,-9,4,424M,4380.0,899101 +1100105,42,8992,1,34,1,40,1,1,1,1,-9,4,813M,9170.0,899201 +1100105,42,8993,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,899301 +1100105,42,8994,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,899401 +1100105,42,8995,1,31,1,50,1,1,1,1,16,2,9211MP,9370.0,899501 +1100105,42,8996,1,33,2,50,1,1,1,1,-9,4,813M,9170.0,899601 +1100105,42,8997,1,34,2,40,1,1,1,1,-9,4,712,8570.0,899701 +1100105,42,8998,1,33,2,40,1,1,1,1,-9,4,211,370.0,899801 +1100105,42,8999,1,27,2,55,1,1,1,1,-9,4,8139Z,9190.0,899901 +1100105,42,9000,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,900001 +1100105,42,9001,1,33,1,60,1,1,1,1,-9,4,5313,7072.0,900101 +1100105,42,9002,1,28,2,54,1,1,1,1,-9,4,5416,7390.0,900201 +1100105,42,9003,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,900301 +1100105,42,9004,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,900401 +1100105,42,9005,1,32,1,50,1,1,1,1,-9,4,52M2,6970.0,900501 +1100105,42,9006,1,32,2,50,1,1,1,1,-9,4,813M,9170.0,900601 +1100105,42,9007,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,900701 +1100105,42,9008,1,28,1,55,1,1,1,1,-9,4,813M,9170.0,900801 +1100105,42,9009,1,34,2,55,1,1,1,1,15,4,515,6670.0,900901 +1100105,42,9010,1,29,1,65,1,1,1,1,-9,4,622M,8191.0,901001 +1100105,42,9011,1,26,2,37,1,1,1,1,-9,4,813M,9170.0,901101 +1100105,42,9012,1,34,1,40,1,1,1,1,-9,4,813M,9170.0,901201 +1100105,42,9013,1,33,1,50,1,1,1,1,-9,2,5416,7390.0,901301 +1100105,42,9014,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,901401 +1100105,42,9015,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,901501 +1100105,42,9016,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,901601 +1100105,42,9017,1,27,2,45,1,1,1,1,-9,4,5416,7390.0,901701 +1100105,42,9018,1,26,1,50,3,1,1,1,-9,4,5416,7390.0,901801 +1100105,42,9019,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,901901 +1100105,42,9020,1,34,2,45,1,1,1,1,-9,4,923,9480.0,902001 +1100105,42,9021,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,902101 +1100105,42,9022,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,902201 +1100105,42,9023,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,902301 +1100105,42,9024,1,31,2,55,1,1,1,1,-9,4,454110,5593.0,902401 +1100105,42,9025,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,902501 +1100105,42,9026,1,29,2,45,1,1,1,1,-9,4,5415,7380.0,902601 +1100105,42,9027,1,31,1,70,1,1,1,1,-9,4,424M,4380.0,902701 +1100105,42,9028,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,902801 +1100105,42,9029,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,902901 +1100105,42,9030,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,903001 +1100105,42,9031,1,29,1,65,1,1,1,1,-9,4,5416,7390.0,903101 +1100105,42,9032,1,28,2,40,1,1,1,1,-9,4,92M2,9570.0,903201 +1100105,42,9033,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,903301 +1100105,42,9034,1,29,1,40,1,1,1,1,-9,4,5416,7390.0,903401 +1100105,42,9035,1,31,2,40,1,1,1,1,-9,4,52M2,6970.0,903501 +1100105,42,9036,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,903601 +1100105,42,9037,1,29,1,45,1,1,1,1,-9,4,561M,7780.0,903701 +1100105,42,9038,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,903801 +1100105,42,9039,1,31,2,40,1,1,1,1,-9,4,52M2,6970.0,903901 +1100105,42,9040,1,26,2,37,1,1,1,1,-9,4,813M,9170.0,904001 +1100105,42,9041,1,27,2,45,1,1,1,1,-9,4,5416,7390.0,904101 +1100105,42,9042,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,904201 +1100105,42,9043,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,904301 +1100105,42,9044,1,27,2,55,1,1,1,1,-9,4,5416,7390.0,904401 +1100105,42,9045,1,33,1,42,1,1,1,1,-9,4,5416,7390.0,904501 +1100105,42,9046,1,28,2,40,1,1,1,1,-9,4,611M1,7870.0,904601 +1100105,42,9047,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,904701 +1100105,42,9048,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,904801 +1100105,42,9049,1,26,2,40,1,1,1,1,-9,4,8139Z,9190.0,904901 +1100105,42,9050,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,905001 +1100105,42,9051,1,22,2,40,4,1,1,1,15,4,52M1,6870.0,905101 +1100105,42,9052,1,27,2,40,1,1,1,1,-9,4,522M,6890.0,905201 +1100105,42,9053,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,905301 +1100105,42,9054,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,905401 +1100105,42,9055,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,905501 +1100105,42,9056,1,27,2,45,1,1,1,1,-9,4,611M1,7870.0,905601 +1100105,42,9057,1,28,2,60,1,1,1,1,-9,4,9211MP,9370.0,905701 +1100105,42,9058,1,29,2,40,1,1,1,1,-9,4,5411,7270.0,905801 +1100105,42,9059,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,905901 +1100105,42,9060,1,27,2,55,1,1,1,1,-9,4,622M,8191.0,906001 +1100105,42,9061,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,906101 +1100105,42,9062,1,22,2,40,4,1,1,1,15,4,52M1,6870.0,906201 +1100105,42,9063,1,29,1,50,1,1,1,1,-9,4,8139Z,9190.0,906301 +1100105,42,9064,1,28,2,60,1,1,1,1,-9,4,9211MP,9370.0,906401 +1100105,42,9065,1,27,2,37,1,1,1,1,-9,4,622M,8191.0,906501 +1100105,42,9066,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,906601 +1100105,42,9067,1,25,1,45,1,1,1,1,-9,4,52M2,6970.0,906701 +1100105,42,9068,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,906801 +1100105,42,9069,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,906901 +1100105,42,9070,1,34,1,40,1,1,1,1,-9,4,813M,9170.0,907001 +1100105,42,9071,1,30,1,40,1,1,1,1,-9,4,813M,9170.0,907101 +1100105,42,9072,1,29,1,40,1,1,1,1,-9,4,5417,7460.0,907201 +1100105,42,9073,1,29,1,65,1,1,1,1,-9,4,5416,7390.0,907301 +1100105,42,9074,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,907401 +1100105,42,9075,1,26,2,45,1,1,1,1,-9,4,531M,7071.0,907501 +1100105,42,9076,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,907601 +1100105,42,9077,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,907701 +1100105,42,9078,1,33,2,40,1,1,1,1,-9,4,92M1,9490.0,907801 +1100105,42,9079,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,907901 +1100105,42,9080,1,29,1,60,1,1,1,1,-9,4,5111Z,6480.0,908001 +1100105,42,9081,1,27,2,37,1,1,1,1,-9,4,622M,8191.0,908101 +1100105,42,9082,1,25,1,45,1,1,1,1,-9,4,5616,7680.0,908201 +1100105,42,9083,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,908301 +1100105,42,9084,1,32,1,50,1,1,1,1,-9,4,52M2,6970.0,908401 +1100105,42,9085,1,33,2,40,1,1,1,1,-9,4,211,370.0,908501 +1100105,42,9086,1,27,2,40,1,1,1,1,-9,4,3391,3960.0,908601 +1100105,42,9087,1,26,2,40,1,1,1,1,-9,4,52M2,6970.0,908701 +1100105,42,9088,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,908801 +1100105,42,9089,1,29,2,47,1,1,1,1,-9,4,9211MP,9370.0,908901 +1100105,42,9090,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,909001 +1100105,42,9091,1,33,2,60,1,1,1,1,-9,4,611M3,7890.0,909101 +1100105,42,9092,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,909201 +1100105,42,9093,1,28,2,40,1,1,1,1,-9,4,8139Z,9190.0,909301 +1100105,42,9094,1,29,1,50,1,1,1,1,-9,4,8139Z,9190.0,909401 +1100105,42,9095,1,28,2,40,1,1,1,1,-9,4,6241,8370.0,909501 +1100105,42,9096,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,909601 +1100105,42,9097,1,25,2,40,1,1,1,1,-9,4,51913,6672.0,909701 +1100105,42,9098,1,28,1,60,1,1,1,1,-9,4,5416,7390.0,909801 +1100105,42,9099,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,909901 +1100105,42,9100,1,31,2,50,1,1,1,1,-9,4,92M2,9570.0,910001 +1100105,42,9101,1,34,2,38,1,1,1,1,-9,4,611M3,7890.0,910101 +1100105,42,9102,1,24,2,55,4,1,1,1,16,4,5416,7390.0,910201 +1100105,42,9103,1,31,1,50,1,1,1,1,-9,2,5415,7380.0,910301 +1100105,42,9104,1,30,2,60,3,1,1,1,-9,4,92MP,9470.0,910401 +1100105,42,9105,1,31,1,40,1,1,1,1,-9,4,522M,6890.0,910501 +1100105,42,9106,1,26,2,50,1,1,1,1,-9,4,5417,7460.0,910601 +1100105,42,9107,1,31,2,36,1,1,1,1,15,4,813M,9170.0,910701 +1100105,42,9108,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,910801 +1100105,42,9109,1,33,2,60,1,1,1,1,-9,4,611M3,7890.0,910901 +1100105,42,9110,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,911001 +1100105,42,9111,1,28,2,60,1,1,1,1,-9,4,9211MP,9370.0,911101 +1100105,42,9112,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,911201 +1100105,42,9113,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,911301 +1100105,42,9114,1,34,1,40,1,1,1,1,-9,4,813M,9170.0,911401 +1100105,42,9115,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,911501 +1100105,42,9116,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,911601 +1100105,42,9117,1,27,2,50,1,1,1,1,-9,4,813M,9170.0,911701 +1100105,42,9118,1,30,1,50,1,1,1,1,-9,4,7111,8561.0,911801 +1100105,42,9119,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,911901 +1100105,42,9120,1,25,1,55,1,1,1,1,-9,4,488,6290.0,912001 +1100105,42,9121,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,912101 +1100105,42,9122,1,33,2,40,1,1,1,1,-9,4,92M1,9490.0,912201 +1100105,42,9123,1,24,1,60,1,1,1,1,-9,4,5416,7390.0,912301 +1100105,42,9124,1,27,2,50,1,1,1,1,-9,4,813M,9170.0,912401 +1100105,42,9125,1,25,2,40,1,1,1,1,-9,4,51913,6672.0,912501 +1100105,42,9126,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,912601 +1100105,42,9127,1,22,2,40,4,1,1,1,15,4,52M1,6870.0,912701 +1100105,42,9128,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,912801 +1100105,42,9129,1,29,2,65,1,1,1,1,-9,4,5411,7270.0,912901 +1100105,42,9130,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,913001 +1100105,42,9131,1,27,1,40,1,1,1,1,-9,4,928P,9590.0,913101 +1100105,42,9132,1,27,2,40,1,1,1,1,-9,4,51912,6770.0,913201 +1100105,42,9133,1,27,2,40,1,1,1,1,-9,4,5613,7580.0,913301 +1100105,42,9134,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,913401 +1100105,42,9135,1,33,2,60,1,1,1,1,-9,4,611M3,7890.0,913501 +1100105,42,9136,1,28,2,40,1,1,1,1,-9,4,722Z,8680.0,913601 +1100105,42,9137,1,26,2,45,1,1,1,1,-9,4,531M,7071.0,913701 +1100105,42,9138,1,28,2,45,1,1,1,1,16,4,5416,7390.0,913801 +1100105,42,9139,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,913901 +1100105,42,9140,1,28,2,60,1,1,1,1,-9,4,9211MP,9370.0,914001 +1100105,42,9141,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,914101 +1100105,42,9142,1,28,2,45,1,1,1,1,-9,4,5416,7390.0,914201 +1100105,42,9143,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,914301 +1100105,42,9144,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,914401 +1100105,42,9145,1,34,2,45,1,1,1,1,-9,4,923,9480.0,914501 +1100105,42,9146,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,914601 +1100105,42,9147,1,25,1,45,1,1,1,1,-9,4,52M2,6970.0,914701 +1100105,42,9148,1,33,2,25,3,1,1,1,-9,4,6111,7860.0,914801 +1100105,42,9149,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,914901 +1100105,42,9150,1,32,1,50,1,1,1,1,-9,4,424M,4380.0,915001 +1100105,42,9151,1,28,1,45,1,1,1,1,-9,4,531M,7071.0,915101 +1100105,42,9152,1,29,1,50,1,1,1,1,-9,4,7211,8660.0,915201 +1100105,42,9153,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,915301 +1100105,42,9154,1,30,2,45,1,1,1,1,-9,4,928P,9590.0,915401 +1100105,42,9155,1,30,1,50,1,1,1,1,-9,4,7111,8561.0,915501 +1100105,42,9156,1,27,2,45,1,1,1,1,-9,4,5416,7390.0,915601 +1100105,42,9157,1,31,2,40,1,1,1,1,-9,4,52M2,6970.0,915701 +1100105,42,9158,1,31,2,40,1,1,1,1,-9,4,52M2,6970.0,915801 +1100105,42,9159,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,915901 +1100105,42,9160,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,916001 +1100105,42,9161,1,32,2,50,1,1,1,1,-9,4,813M,9170.0,916101 +1100105,42,9162,1,26,2,37,1,1,1,1,-9,4,813M,9170.0,916201 +1100105,42,9163,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,916301 +1100105,42,9164,1,32,1,50,1,1,1,1,-9,4,424M,4380.0,916401 +1100105,42,9165,1,31,2,40,1,1,1,1,-9,4,5412,7280.0,916501 +1100105,42,9166,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,916601 +1100105,42,9167,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,916701 +1100105,42,9168,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,916801 +1100105,42,9169,1,28,1,45,1,1,1,1,-9,4,531M,7071.0,916901 +1100105,42,9170,1,25,2,50,1,1,1,1,-9,4,5416,7390.0,917001 +1100105,42,9171,1,26,2,45,1,1,1,1,-9,4,531M,7071.0,917101 +1100105,42,9172,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,917201 +1100105,42,9173,1,27,1,40,1,1,1,1,-9,4,928P,9590.0,917301 +1100105,42,9174,1,33,1,50,1,1,1,1,-9,4,9211MP,9370.0,917401 +1100105,42,9175,1,26,2,4,1,1,1,1,-9,4,5418,7470.0,917501 +1100105,42,9176,1,26,2,40,1,1,1,1,-9,4,52M2,6970.0,917601 +1100105,42,9177,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,917701 +1100105,42,9178,1,26,2,45,1,1,1,1,-9,4,531M,7071.0,917801 +1100105,42,9179,1,33,1,40,1,1,1,1,-9,4,5415,7380.0,917901 +1100105,42,9180,1,29,2,45,1,1,1,1,-9,4,5417,7460.0,918001 +1100105,42,9181,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,918101 +1100105,42,9182,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,918201 +1100105,42,9183,1,33,1,60,1,1,1,1,-9,4,5313,7072.0,918301 +1100105,42,9184,1,28,2,40,1,1,1,1,-9,4,6241,8370.0,918401 +1100105,42,9185,1,31,1,50,3,1,1,1,-9,4,611M1,7870.0,918501 +1100105,42,9186,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,918601 +1100105,42,9187,1,29,1,65,1,1,1,1,-9,4,5416,7390.0,918701 +1100105,42,9188,1,29,1,65,1,1,1,1,-9,4,622M,8191.0,918801 +1100105,42,9189,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,918901 +1100105,42,9190,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,919001 +1100105,42,9191,1,26,1,40,1,1,1,1,-9,4,928P,9590.0,919101 +1100105,42,9192,1,34,1,40,1,1,1,1,-9,4,515,6670.0,919201 +1100105,42,9193,1,27,2,40,1,1,1,1,-9,4,712,8570.0,919301 +1100105,42,9194,1,24,2,55,4,1,1,1,16,4,5416,7390.0,919401 +1100105,42,9195,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,919501 +1100105,42,9196,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,919601 +1100105,42,9197,1,33,1,42,1,1,1,1,-9,4,5416,7390.0,919701 +1100105,42,9198,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,919801 +1100105,42,9199,1,27,1,43,1,1,1,1,-9,3,5416,7390.0,919901 +1100105,42,9200,1,31,1,50,1,1,1,1,-9,4,813M,9170.0,920001 +1100105,42,9201,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,920101 +1100105,42,9202,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,920201 +1100105,42,9203,1,33,2,40,1,1,2,10,-9,4,5416,7390.0,920301 +1100105,42,9204,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,920401 +1100105,42,9205,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,920501 +1100105,42,9206,1,28,1,40,1,1,1,23,-9,4,813M,9170.0,920601 +1100105,42,9207,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,920701 +1100105,42,9208,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,920801 +1100105,42,9209,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,920901 +1100105,42,9210,1,31,2,55,1,1,1,4,-9,4,5411,7270.0,921001 +1100105,42,9211,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,921101 +1100105,42,9212,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,921201 +1100105,42,9213,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,921301 +1100105,42,9214,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,921401 +1100105,42,9215,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,921501 +1100105,42,9216,1,30,1,45,1,1,1,2,-9,4,92MP,9470.0,921601 +1100105,42,9217,1,33,2,40,1,1,1,2,-9,4,9211MP,9370.0,921701 +1100105,42,9218,1,29,1,50,1,1,2,5,-9,4,5412,7280.0,921801 +1100105,42,9219,1,33,2,40,1,1,2,10,-9,4,5416,7390.0,921901 +1100105,42,9220,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,922001 +1100105,42,9221,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,922101 +1100105,42,9222,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,922201 +1100105,42,9223,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,922301 +1100105,42,9224,1,31,2,55,1,1,1,4,-9,4,5411,7270.0,922401 +1100105,42,9225,1,27,2,40,1,1,1,2,-9,4,923,9480.0,922501 +1100105,42,9226,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,922601 +1100105,42,9227,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,922701 +1100105,42,9228,1,31,2,55,1,1,1,4,-9,4,5411,7270.0,922801 +1100105,42,9229,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,922901 +1100105,42,9230,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,923001 +1100105,42,9231,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,923101 +1100105,42,9232,1,89,1,-9,-9,6,6,1,-9,2,0,0.0,923201 +1100105,42,9233,1,80,2,-9,-9,6,6,1,-9,4,0,0.0,923301 +1100105,42,9234,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,923401 +1100105,42,9235,1,73,2,-9,-9,6,2,1,-9,4,0,0.0,923501 +1100105,42,9236,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,923601 +1100105,42,9237,1,82,2,-9,-9,6,1,1,-9,4,5313,7072.0,923701 +1100105,42,9238,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,923801 +1100105,42,9239,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,923901 +1100105,42,9240,1,94,1,-9,-9,6,1,1,-9,2,0,0.0,924001 +1100105,42,9241,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,924101 +1100105,42,9242,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,924201 +1100105,42,9243,1,70,2,-9,-9,6,1,1,-9,4,611M3,7890.0,924301 +1100105,42,9244,1,77,1,65,5,6,1,1,-9,4,621M,8180.0,924401 +1100105,42,9245,1,94,1,-9,-9,6,1,1,-9,2,0,0.0,924501 +1100105,42,9246,1,82,2,-9,-9,6,1,1,-9,4,5313,7072.0,924601 +1100105,42,9247,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,924701 +1100105,42,9248,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,924801 +1100105,42,9249,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,924901 +1100105,42,9250,1,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,925001 +1100105,42,9251,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,925101 +1100105,42,9252,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,925201 +1100105,42,9253,1,82,2,-9,-9,6,1,1,-9,4,5313,7072.0,925301 +1100105,42,9254,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,925401 +1100105,42,9255,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,925501 +1100105,42,9256,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,925601 +1100105,42,9257,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,925701 +1100105,42,9258,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,925801 +1100105,42,9259,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,925901 +1100105,42,9260,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,926001 +1100105,42,9261,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,926101 +1100105,42,9262,1,82,2,-9,-9,6,1,1,-9,4,5313,7072.0,926201 +1100105,42,9263,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,926301 +1100105,42,9264,1,82,2,-9,-9,6,1,1,-9,4,5313,7072.0,926401 +1100105,42,9265,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,926501 +1100105,42,9266,1,70,2,-9,-9,6,1,1,-9,4,611M3,7890.0,926601 +1100105,42,9267,1,82,2,-9,-9,6,1,1,-9,4,5313,7072.0,926701 +1100105,42,9268,1,93,2,-9,-9,6,1,2,-9,4,928P,9590.0,926801 +1100105,42,9269,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,926901 +1100105,42,9270,1,43,2,45,3,3,6,1,-9,4,5416,7390.0,927001 +1100105,42,9271,1,43,2,45,3,3,6,1,-9,4,5416,7390.0,927101 +1100105,42,9272,1,60,2,-9,-9,6,2,1,-9,4,0,0.0,927201 +1100105,42,9273,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,927301 +1100105,42,9274,1,59,2,-9,-9,6,1,1,-9,4,52M1,6870.0,927401 +1100105,42,9275,1,61,1,-9,-9,6,1,1,-9,4,0,0.0,927501 +1100105,42,9276,1,51,2,40,4,3,1,1,-9,4,531M,7071.0,927601 +1100105,42,9277,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,927701 +1100105,42,9278,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,927801 +1100105,42,9279,1,49,1,55,4,3,1,1,-9,4,712,8570.0,927901 +1100105,42,9280,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,928001 +1100105,42,9281,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,928101 +1100105,42,9282,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,928201 +1100105,42,9283,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,928301 +1100105,42,9284,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,928401 +1100105,42,9285,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,928501 +1100105,42,9286,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,928601 +1100105,42,9287,1,21,1,-9,-9,6,1,1,15,4,0,0.0,928701 +1100105,42,9288,1,26,1,45,3,3,1,1,-9,4,5416,7390.0,928801 +1100105,42,9289,1,26,1,45,3,3,1,1,-9,4,5416,7390.0,928901 +1100105,42,9290,1,67,1,35,1,1,2,1,-9,4,4853,6190.0,929001 +1100105,42,9291,1,67,1,50,1,1,1,1,-9,4,23,770.0,929101 +1100105,42,9292,1,67,1,50,1,1,1,1,-9,4,23,770.0,929201 +1100105,42,9293,1,67,1,50,1,1,1,1,-9,4,23,770.0,929301 +1100105,42,9294,1,67,1,50,1,1,1,1,-9,4,23,770.0,929401 +1100105,42,9295,1,67,1,50,1,1,1,1,-9,4,23,770.0,929501 +1100105,42,9296,1,37,2,40,1,1,9,1,-9,4,7211,8660.0,929601 +1100105,42,9297,1,44,1,27,1,1,2,1,-9,4,611M1,7870.0,929701 +1100105,42,9298,1,46,1,40,1,1,2,1,-9,4,5411,7270.0,929801 +1100105,42,9299,1,59,1,40,1,1,2,1,-9,2,6214,8090.0,929901 +1100105,42,9300,1,61,1,35,4,1,2,1,-9,4,484,6170.0,930001 +1100105,42,9301,1,46,1,40,1,1,2,1,-9,4,722Z,8680.0,930101 +1100105,42,9302,1,42,1,50,1,1,1,1,-9,4,5416,7390.0,930201 +1100105,42,9303,1,41,1,40,3,2,1,1,-9,4,7115,8564.0,930301 +1100105,42,9304,1,37,1,40,1,1,1,1,-9,4,813M,9170.0,930401 +1100105,42,9305,1,61,1,99,1,1,1,1,-9,4,713Z,8590.0,930501 +1100105,42,9306,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,930601 +1100105,42,9307,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,930701 +1100105,42,9308,1,36,1,40,3,2,1,1,-9,4,5417,7460.0,930801 +1100105,42,9309,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,930901 +1100105,42,9310,1,58,2,40,1,1,1,1,-9,4,713Z,8590.0,931001 +1100105,42,9311,1,54,1,60,1,1,1,1,-9,4,814,9290.0,931101 +1100105,42,9312,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,931201 +1100105,42,9313,1,37,1,50,1,1,1,1,-9,4,9211MP,9370.0,931301 +1100105,42,9314,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,931401 +1100105,42,9315,1,42,1,50,1,1,1,1,-9,4,5419Z,7490.0,931501 +1100105,42,9316,1,37,1,50,1,1,1,1,-9,4,9211MP,9370.0,931601 +1100105,42,9317,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,931701 +1100105,42,9318,1,58,1,40,1,1,1,1,-9,4,522M,6890.0,931801 +1100105,42,9319,1,61,1,99,1,1,1,1,-9,4,713Z,8590.0,931901 +1100105,42,9320,1,55,1,60,1,1,1,1,-9,4,722Z,8680.0,932001 +1100105,42,9321,1,54,1,60,1,1,1,1,-9,4,814,9290.0,932101 +1100105,42,9322,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,932201 +1100105,42,9323,1,36,1,40,3,2,1,1,-9,4,5417,7460.0,932301 +1100105,42,9324,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,932401 +1100105,42,9325,1,54,1,60,1,1,1,1,-9,4,814,9290.0,932501 +1100105,42,9326,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,932601 +1100105,42,9327,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,932701 +1100105,42,9328,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,932801 +1100105,42,9329,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,932901 +1100105,42,9330,1,23,2,40,4,1,9,1,-9,4,813M,9170.0,933001 +1100105,42,9331,1,23,2,40,4,1,9,1,-9,4,813M,9170.0,933101 +1100105,42,9332,1,31,1,42,5,1,8,1,-9,4,5412,7280.0,933201 +1100105,42,9333,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,933301 +1100105,42,9334,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,933401 +1100105,42,9335,1,24,2,40,3,2,6,1,16,4,9211MP,9370.0,933501 +1100105,42,9336,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,933601 +1100105,42,9337,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,933701 +1100105,42,9338,1,32,1,20,3,1,6,1,16,4,611M1,7870.0,933801 +1100105,42,9339,1,28,2,45,1,1,6,1,-9,4,6111,7860.0,933901 +1100105,42,9340,1,28,2,15,5,2,6,1,16,4,611M1,7870.0,934001 +1100105,42,9341,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,934101 +1100105,42,9342,1,28,2,15,5,2,6,1,16,4,611M1,7870.0,934201 +1100105,42,9343,1,24,1,50,2,1,6,1,-9,4,5417,7460.0,934301 +1100105,42,9344,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,934401 +1100105,42,9345,1,30,2,40,1,1,6,1,-9,4,5411,7270.0,934501 +1100105,42,9346,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,934601 +1100105,42,9347,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,934701 +1100105,42,9348,1,24,2,30,5,1,6,1,-9,4,813M,9170.0,934801 +1100105,42,9349,1,24,2,40,3,2,6,1,16,4,9211MP,9370.0,934901 +1100105,42,9350,1,26,2,50,1,1,2,1,-9,4,9211MP,9370.0,935001 +1100105,42,9351,1,34,1,35,1,1,2,1,16,4,6241,8370.0,935101 +1100105,42,9352,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,935201 +1100105,42,9353,1,25,2,55,1,1,1,1,-9,4,813M,9170.0,935301 +1100105,42,9354,1,28,1,40,1,1,1,1,-9,4,51111,6470.0,935401 +1100105,42,9355,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,935501 +1100105,42,9356,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,935601 +1100105,42,9357,1,25,1,50,1,1,1,1,16,4,5412,7280.0,935701 +1100105,42,9358,1,25,1,50,1,1,1,1,16,4,5412,7280.0,935801 +1100105,42,9359,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,935901 +1100105,42,9360,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,936001 +1100105,42,9361,1,27,2,40,3,1,1,1,-9,4,482,6080.0,936101 +1100105,42,9362,1,25,1,45,3,1,1,1,-9,4,928P,9590.0,936201 +1100105,42,9363,1,28,2,42,1,1,1,1,-9,4,812112,8980.0,936301 +1100105,42,9364,1,31,1,20,1,1,1,1,16,4,443142,4795.0,936401 +1100105,42,9365,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,936501 +1100105,42,9366,1,31,1,40,1,1,1,1,-9,4,531M,7071.0,936601 +1100105,42,9367,1,23,2,43,1,1,1,1,16,4,92M2,9570.0,936701 +1100105,42,9368,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,936801 +1100105,42,9369,1,26,1,50,1,1,1,1,-9,4,9211MP,9370.0,936901 +1100105,42,9370,1,34,1,39,1,1,1,1,-9,4,44511,4971.0,937001 +1100105,42,9371,1,25,2,55,1,1,1,1,16,4,487,6280.0,937101 +1100105,42,9372,1,25,1,35,1,1,1,1,-9,4,813M,9170.0,937201 +1100105,42,9373,1,30,2,40,1,1,1,1,-9,4,5615,7670.0,937301 +1100105,42,9374,1,25,2,40,1,1,1,1,-9,4,92M2,9570.0,937401 +1100105,42,9375,1,26,2,40,3,1,1,1,-9,4,611M1,7870.0,937501 +1100105,42,9376,1,27,2,40,3,1,1,1,-9,4,482,6080.0,937601 +1100105,42,9377,1,25,2,55,1,1,1,1,16,4,487,6280.0,937701 +1100105,42,9378,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,937801 +1100105,42,9379,1,26,1,50,1,1,1,1,-9,4,813M,9170.0,937901 +1100105,42,9380,1,25,1,50,1,1,1,1,16,4,5412,7280.0,938001 +1100105,42,9381,1,27,2,50,1,1,1,1,16,4,611M1,7870.0,938101 +1100105,42,9382,1,25,2,45,1,1,1,1,-9,4,5415,7380.0,938201 +1100105,42,9383,1,25,1,50,1,1,1,1,16,4,5412,7280.0,938301 +1100105,42,9384,1,31,1,40,5,1,1,1,-9,4,5417,7460.0,938401 +1100105,42,9385,1,34,1,39,1,1,1,1,-9,4,44511,4971.0,938501 +1100105,42,9386,1,25,1,45,3,1,1,1,-9,4,928P,9590.0,938601 +1100105,42,9387,1,34,1,45,5,1,1,1,-9,4,5122,6590.0,938701 +1100105,42,9388,1,34,1,39,1,1,1,1,-9,4,44511,4971.0,938801 +1100105,42,9389,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,938901 +1100105,42,9390,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,939001 +1100105,42,9391,1,25,1,50,1,1,1,1,16,4,5412,7280.0,939101 +1100105,42,9392,1,26,1,50,1,1,1,1,-9,4,813M,9170.0,939201 +1100105,42,9393,1,23,1,45,3,1,1,1,-9,4,454110,5593.0,939301 +1100105,42,9394,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,939401 +1100105,42,9395,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,939501 +1100105,42,9396,1,28,2,42,1,1,1,1,-9,4,812112,8980.0,939601 +1100105,42,9397,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,939701 +1100105,42,9398,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,939801 +1100105,42,9399,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,939901 +1100105,42,9400,1,31,1,30,3,1,1,1,-9,4,813M,9170.0,940001 +1100105,42,9401,1,22,2,40,1,1,1,1,15,4,522M,6890.0,940101 +1100105,42,9402,1,25,1,50,1,1,1,1,16,4,5412,7280.0,940201 +1100105,42,9403,1,28,2,50,5,1,1,1,-9,4,92MP,9470.0,940301 +1100105,42,9404,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,940401 +1100105,42,9405,1,25,2,40,1,1,1,1,-9,4,712,8570.0,940501 +1100105,42,9406,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,940601 +1100105,42,9407,1,25,2,55,1,1,1,1,16,4,487,6280.0,940701 +1100105,42,9408,1,25,2,55,1,1,1,1,-9,4,813M,9170.0,940801 +1100105,42,9409,1,34,2,40,5,1,1,1,-9,4,813M,9170.0,940901 +1100105,42,9410,1,25,1,35,1,1,1,1,-9,4,813M,9170.0,941001 +1100105,42,9411,1,25,2,55,1,1,1,1,-9,4,813M,9170.0,941101 +1100105,42,9412,1,23,1,40,1,1,1,1,-9,4,5417,7460.0,941201 +1100105,42,9413,1,25,2,55,1,1,1,1,16,4,487,6280.0,941301 +1100105,42,9414,1,25,2,40,1,1,1,1,-9,4,712,8570.0,941401 +1100105,42,9415,1,25,2,55,1,1,1,1,-9,4,813M,9170.0,941501 +1100105,42,9416,1,26,2,40,1,1,1,1,-9,4,5415,7380.0,941601 +1100105,42,9417,1,26,1,50,1,1,1,1,-9,4,9211MP,9370.0,941701 +1100105,42,9418,1,26,2,40,1,1,1,1,-9,4,5415,7380.0,941801 +1100105,42,9419,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,941901 +1100105,42,9420,1,26,1,50,1,1,1,1,-9,4,9211MP,9370.0,942001 +1100105,42,9421,1,27,2,40,3,1,1,1,-9,4,482,6080.0,942101 +1100105,42,9422,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,942201 +1100105,42,9423,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,942301 +1100105,42,9424,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,942401 +1100105,42,9425,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,942501 +1100105,42,9426,1,31,1,40,1,1,1,1,-9,4,531M,7071.0,942601 +1100105,42,9427,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,942701 +1100105,42,9428,1,26,2,37,1,1,1,1,-9,4,928P,9590.0,942801 +1100105,42,9429,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,942901 +1100105,42,9430,1,28,2,40,5,1,1,1,-9,4,5418,7470.0,943001 +1100105,42,9431,1,31,1,20,1,1,1,1,16,4,443142,4795.0,943101 +1100105,42,9432,1,23,1,45,3,1,1,1,-9,4,454110,5593.0,943201 +1100105,42,9433,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,943301 +1100105,42,9434,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,943401 +1100105,42,9435,1,33,2,40,2,1,8,16,-9,4,712,8570.0,943501 +1100105,42,9436,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,943601 +1100105,42,9437,1,33,2,40,1,1,1,2,-9,4,531M,7071.0,943701 +1100105,42,9438,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,943801 +1100105,42,9439,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,943901 +1100105,42,9440,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,944001 +1100105,42,9441,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,944101 +1100105,42,9442,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,944201 +1100105,42,9443,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,944301 +1100105,42,9444,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,944401 +1100105,42,9445,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,944501 +1100105,42,9446,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,944601 +1100105,42,9447,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,944701 +1100105,42,9448,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,944801 +1100105,42,9449,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,944901 +1100105,42,9450,1,67,1,-9,-9,6,6,1,-9,4,928P,9590.0,945001 +1100105,42,9451,1,68,2,16,4,6,2,1,16,4,5242,6992.0,945101 +1100105,42,9452,1,72,1,-9,-9,6,2,1,-9,3,4248,4560.0,945201 +1100105,42,9453,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,945301 +1100105,42,9454,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,945401 +1100105,42,9455,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,945501 +1100105,42,9456,1,77,1,-9,-9,6,1,1,-9,4,0,0.0,945601 +1100105,42,9457,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,945701 +1100105,42,9458,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,945801 +1100105,42,9459,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,945901 +1100105,42,9460,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,946001 +1100105,42,9461,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,946101 +1100105,42,9462,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,946201 +1100105,42,9463,1,71,1,-9,-9,6,1,1,-9,4,0,0.0,946301 +1100105,42,9464,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,946401 +1100105,42,9465,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,946501 +1100105,42,9466,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,946601 +1100105,42,9467,1,70,2,-9,-9,6,1,1,-9,4,5412,7280.0,946701 +1100105,42,9468,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,946801 +1100105,42,9469,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,946901 +1100105,42,9470,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,947001 +1100105,42,9471,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,947101 +1100105,42,9472,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,947201 +1100105,42,9473,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,947301 +1100105,42,9474,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,947401 +1100105,42,9475,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,947501 +1100105,42,9476,1,67,2,-9,-9,6,1,1,-9,4,5415,7380.0,947601 +1100105,42,9477,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,947701 +1100105,42,9478,1,67,2,-9,-9,6,1,1,-9,4,0,0.0,947801 +1100105,42,9479,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,947901 +1100105,42,9480,1,67,2,-9,-9,6,1,1,-9,4,5415,7380.0,948001 +1100105,42,9481,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,948101 +1100105,42,9482,1,67,2,-9,-9,6,1,1,-9,4,0,0.0,948201 +1100105,42,9483,1,89,2,-9,-9,6,1,1,-9,4,0,0.0,948301 +1100105,42,9484,1,65,1,-9,-9,6,1,1,-9,3,334M1,3370.0,948401 +1100105,42,9485,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,948501 +1100105,42,9486,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,948601 +1100105,42,9487,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,948701 +1100105,42,9488,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,948801 +1100105,42,9489,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,948901 +1100105,42,9490,1,61,2,-9,-9,6,9,1,-9,4,5614,7590.0,949001 +1100105,42,9491,1,53,1,40,3,6,3,1,-9,4,562,7790.0,949101 +1100105,42,9492,1,61,2,-9,-9,6,9,1,-9,4,5614,7590.0,949201 +1100105,42,9493,1,61,2,-9,-9,6,9,1,-9,4,5614,7590.0,949301 +1100105,42,9494,1,44,1,40,3,6,6,1,-9,4,622M,8191.0,949401 +1100105,42,9495,1,44,1,40,3,6,6,1,-9,4,622M,8191.0,949501 +1100105,42,9496,1,58,1,40,5,3,2,1,-9,4,813M,9170.0,949601 +1100105,42,9497,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,949701 +1100105,42,9498,1,64,2,-9,-9,6,2,1,-9,4,0,0.0,949801 +1100105,42,9499,1,42,2,-9,-9,6,1,1,16,4,0,0.0,949901 +1100105,42,9500,1,42,2,-9,-9,6,1,1,16,4,0,0.0,950001 +1100105,42,9501,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,950101 +1100105,42,9502,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,950201 +1100105,42,9503,1,62,1,-9,-9,6,1,1,-9,4,0,0.0,950301 +1100105,42,9504,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,950401 +1100105,42,9505,1,50,2,20,6,3,1,1,-9,4,531M,7071.0,950501 +1100105,42,9506,1,42,2,-9,-9,6,1,1,16,4,0,0.0,950601 +1100105,42,9507,1,42,2,-9,-9,6,1,1,16,4,0,0.0,950701 +1100105,42,9508,1,42,2,-9,-9,6,1,1,16,4,0,0.0,950801 +1100105,42,9509,1,62,1,-9,-9,6,1,1,-9,4,0,0.0,950901 +1100105,42,9510,1,42,2,-9,-9,6,1,1,16,4,0,0.0,951001 +1100105,42,9511,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,951101 +1100105,42,9512,1,42,2,-9,-9,6,1,1,16,4,0,0.0,951201 +1100105,42,9513,1,42,2,-9,-9,6,1,1,16,4,0,0.0,951301 +1100105,42,9514,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,951401 +1100105,42,9515,1,22,2,20,1,6,2,1,15,4,813M,9170.0,951501 +1100105,42,9516,1,34,2,-9,-9,6,1,1,-9,4,611M1,7870.0,951601 +1100105,42,9517,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,951701 +1100105,42,9518,1,28,2,-9,-9,6,1,1,16,4,92MP,9470.0,951801 +1100105,42,9519,1,29,2,55,3,3,1,1,-9,4,92113,9380.0,951901 +1100105,42,9520,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,952001 +1100105,42,9521,1,29,2,55,3,3,1,1,-9,4,92113,9380.0,952101 +1100105,42,9522,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,952201 +1100105,42,9523,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,952301 +1100105,42,9524,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,952401 +1100105,42,9525,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,952501 +1100105,42,9526,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,952601 +1100105,42,9527,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,952701 +1100105,42,9528,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,952801 +1100105,42,9529,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,952901 +1100105,42,9530,1,67,1,20,1,1,1,1,-9,4,23,770.0,953001 +1100105,42,9531,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,953101 +1100105,42,9532,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,953201 +1100105,42,9533,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,953301 +1100105,42,9534,1,45,1,20,1,1,2,1,-9,4,488,6290.0,953401 +1100105,42,9535,1,64,1,25,5,1,2,1,-9,4,44511,4971.0,953501 +1100105,42,9536,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,953601 +1100105,42,9537,1,55,1,20,6,2,1,1,-9,4,23,770.0,953701 +1100105,42,9538,1,50,2,10,5,1,1,1,-9,4,7111,8561.0,953801 +1100105,42,9539,1,64,1,30,1,1,1,1,-9,4,5419Z,7490.0,953901 +1100105,42,9540,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,954001 +1100105,42,9541,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,954101 +1100105,42,9542,1,38,2,50,1,1,1,1,-9,4,928P,9590.0,954201 +1100105,42,9543,1,53,1,23,4,1,1,1,-9,4,928P,9590.0,954301 +1100105,42,9544,1,59,2,20,6,1,1,1,-9,4,6244,8470.0,954401 +1100105,42,9545,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,954501 +1100105,42,9546,1,40,2,25,6,1,1,1,-9,4,6242,8380.0,954601 +1100105,42,9547,1,38,2,50,1,1,1,1,-9,4,928P,9590.0,954701 +1100105,42,9548,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,954801 +1100105,42,9549,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,954901 +1100105,42,9550,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,955001 +1100105,42,9551,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,955101 +1100105,42,9552,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,955201 +1100105,42,9553,1,27,1,30,1,1,9,1,-9,4,712,8570.0,955301 +1100105,42,9554,1,27,1,30,1,1,9,1,-9,4,712,8570.0,955401 +1100105,42,9555,1,27,1,30,1,1,9,1,-9,4,712,8570.0,955501 +1100105,42,9556,1,31,1,40,1,1,6,1,-9,4,5415,7380.0,955601 +1100105,42,9557,1,21,1,20,6,1,6,1,16,4,611M1,7870.0,955701 +1100105,42,9558,1,31,1,40,1,1,6,1,-9,4,5415,7380.0,955801 +1100105,42,9559,1,29,2,30,5,1,6,1,-9,4,8139Z,9190.0,955901 +1100105,42,9560,1,22,2,40,6,1,6,1,16,4,813M,9170.0,956001 +1100105,42,9561,1,20,2,40,4,1,6,1,15,4,5412,7280.0,956101 +1100105,42,9562,1,29,2,30,5,1,6,1,-9,4,8139Z,9190.0,956201 +1100105,42,9563,1,26,2,40,1,1,2,1,-9,4,6214,8090.0,956301 +1100105,42,9564,1,24,1,35,4,1,1,1,-9,4,5417,7460.0,956401 +1100105,42,9565,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,956501 +1100105,42,9566,1,24,1,24,1,1,1,1,16,4,6211,7970.0,956601 +1100105,42,9567,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,956701 +1100105,42,9568,1,22,1,55,1,1,1,1,15,4,722Z,8680.0,956801 +1100105,42,9569,1,23,1,40,1,1,1,1,16,4,5415,7380.0,956901 +1100105,42,9570,1,26,2,20,4,1,1,1,-9,4,52M2,6970.0,957001 +1100105,42,9571,1,24,2,40,1,1,1,1,16,4,813M,9170.0,957101 +1100105,42,9572,1,26,2,20,4,1,1,1,-9,4,52M2,6970.0,957201 +1100105,42,9573,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,957301 +1100105,42,9574,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,957401 +1100105,42,9575,1,25,1,6,4,1,1,1,16,4,713Z,8590.0,957501 +1100105,42,9576,1,22,2,20,6,2,1,1,-9,4,517Z,6690.0,957601 +1100105,42,9577,1,22,2,25,4,1,1,1,-9,4,611M1,7870.0,957701 +1100105,42,9578,1,25,1,35,1,1,1,1,16,4,813M,9170.0,957801 +1100105,42,9579,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,957901 +1100105,42,9580,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,958001 +1100105,42,9581,1,33,1,12,5,1,1,1,16,4,9211MP,9370.0,958101 +1100105,42,9582,1,27,1,3,6,1,1,1,16,4,611M3,7890.0,958201 +1100105,42,9583,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,958301 +1100105,42,9584,1,25,1,30,1,2,1,23,16,4,713Z,8590.0,958401 +1100105,42,9585,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,958501 +1100105,42,9586,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,958601 +1100105,42,9587,1,76,1,-9,-9,6,9,1,-9,2,0,0.0,958701 +1100105,42,9588,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,958801 +1100105,42,9589,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,958901 +1100105,42,9590,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,959001 +1100105,42,9591,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,959101 +1100105,42,9592,1,85,2,-9,-9,6,6,1,-9,4,0,0.0,959201 +1100105,42,9593,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,959301 +1100105,42,9594,1,70,2,15,6,6,2,1,-9,4,722Z,8680.0,959401 +1100105,42,9595,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,959501 +1100105,42,9596,1,70,1,-9,-9,6,2,1,-9,4,0,0.0,959601 +1100105,42,9597,1,72,2,-9,-9,6,2,1,-9,4,0,0.0,959701 +1100105,42,9598,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,959801 +1100105,42,9599,1,80,1,-9,-9,6,2,1,-9,4,0,0.0,959901 +1100105,42,9600,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,960001 +1100105,42,9601,1,77,2,-9,-9,6,2,1,-9,4,0,0.0,960101 +1100105,42,9602,1,66,1,-9,-9,6,2,1,-9,4,45321,5480.0,960201 +1100105,42,9603,1,71,2,-9,-9,6,2,1,-9,4,0,0.0,960301 +1100105,42,9604,1,77,2,-9,-9,6,2,1,-9,4,44511,4971.0,960401 +1100105,42,9605,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,960501 +1100105,42,9606,1,82,2,-9,-9,6,2,1,-9,4,0,0.0,960601 +1100105,42,9607,1,69,2,-9,-9,6,1,1,-9,4,622M,8191.0,960701 +1100105,42,9608,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,960801 +1100105,42,9609,1,69,2,-9,-9,6,1,1,-9,4,622M,8191.0,960901 +1100105,42,9610,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,961001 +1100105,42,9611,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,961101 +1100105,42,9612,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,961201 +1100105,42,9613,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,961301 +1100105,42,9614,1,77,2,-9,-9,6,1,1,-9,4,611M3,7890.0,961401 +1100105,42,9615,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,961501 +1100105,42,9616,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,961601 +1100105,42,9617,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,961701 +1100105,42,9618,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,961801 +1100105,42,9619,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,961901 +1100105,42,9620,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,962001 +1100105,42,9621,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,962101 +1100105,42,9622,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,962201 +1100105,42,9623,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,962301 +1100105,42,9624,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,962401 +1100105,42,9625,1,71,2,-9,-9,6,1,1,-9,4,611M3,7890.0,962501 +1100105,42,9626,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,962601 +1100105,42,9627,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,962701 +1100105,42,9628,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,962801 +1100105,42,9629,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,962901 +1100105,42,9630,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,963001 +1100105,42,9631,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,963101 +1100105,42,9632,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,963201 +1100105,42,9633,1,79,2,-9,-9,3,1,3,-9,4,999920,9920.0,963301 +1100105,42,9634,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,963401 +1100105,42,9635,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,963501 +1100105,42,9636,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,963601 +1100105,42,9637,1,79,2,-9,-9,3,1,3,-9,4,999920,9920.0,963701 +1100105,42,9638,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,963801 +1100105,42,9639,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,963901 +1100105,42,9640,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,964001 +1100105,42,9641,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,964101 +1100105,42,9642,1,44,2,-9,-9,3,6,1,-9,4,92M1,9490.0,964201 +1100105,42,9643,1,44,2,-9,-9,3,6,1,-9,4,92M1,9490.0,964301 +1100105,42,9644,1,38,1,-9,-9,6,6,1,-9,4,928P,9590.0,964401 +1100105,42,9645,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,964501 +1100105,42,9646,1,38,1,-9,-9,6,6,1,-9,4,928P,9590.0,964601 +1100105,42,9647,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,964701 +1100105,42,9648,1,60,2,-9,-9,6,2,1,-9,4,4523,5391.0,964801 +1100105,42,9649,1,61,1,8,6,6,2,1,-9,2,23,770.0,964901 +1100105,42,9650,1,60,2,-9,-9,6,2,1,-9,4,4523,5391.0,965001 +1100105,42,9651,1,64,2,-9,-9,6,2,1,-9,4,0,0.0,965101 +1100105,42,9652,1,55,2,-9,-9,6,2,1,-9,4,6111,7860.0,965201 +1100105,42,9653,1,49,2,-9,-9,6,2,1,16,4,6241,8370.0,965301 +1100105,42,9654,1,52,1,16,6,3,2,1,-9,4,5613,7580.0,965401 +1100105,42,9655,1,54,2,-9,-9,6,2,1,-9,4,0,0.0,965501 +1100105,42,9656,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,965601 +1100105,42,9657,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,965701 +1100105,42,9658,1,42,2,-9,-9,6,2,1,-9,4,0,0.0,965801 +1100105,42,9659,1,56,1,-9,-9,6,1,1,-9,4,5241,6991.0,965901 +1100105,42,9660,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,966001 +1100105,42,9661,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,966101 +1100105,42,9662,1,53,1,-9,-9,3,1,1,-9,4,814,9290.0,966201 +1100105,42,9663,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,966301 +1100105,42,9664,1,63,2,-9,-9,6,1,1,-9,4,4442,4890.0,966401 +1100105,42,9665,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,966501 +1100105,42,9666,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,966601 +1100105,42,9667,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,966701 +1100105,42,9668,1,38,1,-9,-9,6,1,1,16,4,92MP,9470.0,966801 +1100105,42,9669,1,37,2,8,6,3,1,1,-9,4,611M1,7870.0,966901 +1100105,42,9670,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,967001 +1100105,42,9671,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,967101 +1100105,42,9672,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,967201 +1100105,42,9673,1,56,1,29,5,3,1,1,-9,4,5613,7580.0,967301 +1100105,42,9674,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,967401 +1100105,42,9675,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,967501 +1100105,42,9676,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,967601 +1100105,42,9677,1,60,1,10,1,6,1,1,-9,4,5415,7380.0,967701 +1100105,42,9678,1,44,1,-9,-9,6,1,1,-9,4,0,0.0,967801 +1100105,42,9679,1,38,1,-9,-9,6,1,1,16,4,92MP,9470.0,967901 +1100105,42,9680,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,968001 +1100105,42,9681,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,968101 +1100105,42,9682,1,55,2,-9,-9,6,1,1,-9,4,0,0.0,968201 +1100105,42,9683,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,968301 +1100105,42,9684,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,968401 +1100105,42,9685,1,54,2,-9,-9,6,1,1,-9,4,0,0.0,968501 +1100105,42,9686,1,53,1,-9,-9,3,1,1,-9,4,814,9290.0,968601 +1100105,42,9687,1,56,1,-9,-9,3,1,1,-9,4,611M1,7870.0,968701 +1100105,42,9688,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,968801 +1100105,42,9689,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,968901 +1100105,42,9690,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,969001 +1100105,42,9691,1,63,2,-9,-9,6,1,1,-9,4,0,0.0,969101 +1100105,42,9692,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,969201 +1100105,42,9693,1,60,1,10,1,6,1,1,-9,4,5415,7380.0,969301 +1100105,42,9694,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,969401 +1100105,42,9695,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,969501 +1100105,42,9696,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,969601 +1100105,42,9697,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,969701 +1100105,42,9698,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,969801 +1100105,42,9699,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,969901 +1100105,42,9700,1,54,2,-9,-9,6,1,23,-9,4,0,0.0,970001 +1100105,42,9701,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,970101 +1100105,42,9702,1,36,2,45,6,6,1,23,-9,4,8139Z,9190.0,970201 +1100105,42,9703,1,45,2,35,5,3,1,16,-9,4,6211,7970.0,970301 +1100105,42,9704,1,47,2,8,1,6,1,16,-9,4,713Z,8590.0,970401 +1100105,42,9705,1,29,2,8,6,6,6,1,16,4,6212,7980.0,970501 +1100105,42,9706,1,23,1,-9,-9,6,6,1,16,4,0,0.0,970601 +1100105,42,9707,1,34,2,-9,-9,6,6,1,16,4,928P,9590.0,970701 +1100105,42,9708,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,970801 +1100105,42,9709,1,34,2,-9,-9,6,6,1,16,4,928P,9590.0,970901 +1100105,42,9710,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,971001 +1100105,42,9711,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,971101 +1100105,42,9712,1,25,1,-9,-9,6,6,1,16,4,51913,6672.0,971201 +1100105,42,9713,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,971301 +1100105,42,9714,1,22,2,45,3,6,6,1,16,4,23,770.0,971401 +1100105,42,9715,1,23,2,40,6,6,6,1,15,4,611M1,7870.0,971501 +1100105,42,9716,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,971601 +1100105,42,9717,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,971701 +1100105,42,9718,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,971801 +1100105,42,9719,1,34,2,-9,-9,6,1,1,16,4,0,0.0,971901 +1100105,42,9720,1,24,2,20,6,6,1,1,16,4,5411,7270.0,972001 +1100105,42,9721,1,24,2,10,5,6,1,1,16,4,712,8570.0,972101 +1100105,42,9722,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,972201 +1100105,42,9723,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,972301 +1100105,42,9724,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,972401 +1100105,42,9725,1,31,2,-9,-9,3,1,1,16,4,311811,1190.0,972501 +1100105,42,9726,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,972601 +1100105,42,9727,1,24,2,-9,-9,6,1,1,-9,4,5417,7460.0,972701 +1100105,42,9728,1,24,2,-9,-9,6,1,1,16,4,6244,8470.0,972801 +1100105,42,9729,1,21,2,20,3,6,1,1,16,4,611M1,7870.0,972901 +1100105,42,9730,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,973001 +1100105,42,9731,1,23,2,-9,-9,6,1,1,16,4,0,0.0,973101 +1100105,42,9732,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,973201 +1100105,42,9733,1,24,2,-9,-9,6,1,1,-9,4,5417,7460.0,973301 +1100105,42,9734,1,27,2,-9,-9,6,1,1,16,4,44611,5070.0,973401 +1100105,42,9735,1,28,2,50,6,3,1,1,-9,4,5411,7270.0,973501 +1100105,42,9736,1,24,2,20,6,6,1,1,16,4,5411,7270.0,973601 +1100105,42,9737,1,23,2,-9,-9,6,1,1,16,4,0,0.0,973701 +1100105,42,9738,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,973801 +1100105,42,9739,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,973901 +1100105,42,9740,1,34,2,-9,-9,6,1,1,16,4,0,0.0,974001 +1100105,42,9741,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,974101 +1100105,42,9742,1,21,2,-9,-9,6,1,1,15,4,722Z,8680.0,974201 +1100105,42,9743,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,974301 +1100105,42,9744,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,974401 +1100105,42,9745,1,23,2,-9,-9,6,1,1,16,4,0,0.0,974501 +1100105,42,9746,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,974601 +1100105,42,9747,1,24,2,10,5,6,1,1,16,4,712,8570.0,974701 +1100105,42,9748,1,24,2,-9,-9,6,1,1,-9,4,5417,7460.0,974801 +1100105,42,9749,1,27,2,-9,-9,6,1,1,16,4,44611,5070.0,974901 +1100105,42,9750,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,975001 +1100105,42,9751,1,24,2,-9,-9,6,1,1,15,4,0,0.0,975101 +1100105,42,9752,1,28,2,8,6,3,8,19,-9,4,814,9290.0,975201 +1100105,42,9753,1,24,2,8,6,6,1,16,16,4,5411,7270.0,975301 +1100105,42,9754,1,25,2,40,3,3,1,21,-9,4,5417,7460.0,975401 +1100105,42,9755,1,25,1,35,6,6,1,10,-9,4,611M1,7870.0,975501 +1100105,42,9756,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,975601 +1100105,42,9757,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,975701 +1100105,42,9758,1,27,2,-9,-9,6,1,2,-9,4,0,0.0,975801 +1100105,42,9759,1,27,2,-9,-9,6,1,2,-9,4,0,0.0,975901 +1100105,42,9760,1,24,2,8,6,6,1,16,16,4,5411,7270.0,976001 +1100105,42,9761,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,976101 +1100105,42,9762,1,27,1,-9,-9,6,6,14,16,4,6212,7980.0,976201 +1100105,42,9763,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,976301 +1100105,43,9764,1,25,1,45,1,1,1,1,-9,4,5416,7390.0,976401 +1100105,43,9764,2,25,1,45,1,1,1,1,16,4,5417,7460.0,976402 +1100105,43,9764,3,24,1,45,1,1,1,1,-9,4,5416,7390.0,976403 +1100105,43,9764,4,24,1,50,1,1,1,1,-9,4,9211MP,9370.0,976404 +1100105,43,9765,1,25,1,40,1,1,8,7,-9,4,722Z,8680.0,976501 +1100105,43,9765,2,23,1,40,1,1,8,7,-9,4,722Z,8680.0,976502 +1100105,43,9765,3,27,1,40,1,1,8,7,-9,4,722Z,8680.0,976503 +1100105,43,9765,4,24,1,20,5,1,8,7,-9,4,722Z,8680.0,976504 +1100105,43,9766,1,46,2,-9,-9,6,8,11,-9,4,722Z,8680.0,976601 +1100105,43,9766,2,43,1,40,1,1,8,11,-9,4,928P,9590.0,976602 +1100105,43,9766,3,20,2,20,4,1,8,24,-9,4,5617Z,7690.0,976603 +1100105,43,9766,4,15,2,-9,-9,-9,8,11,11,-9,0,0.0,976604 +1100105,43,9767,1,62,1,40,1,1,8,11,-9,4,44511,4971.0,976701 +1100105,43,9767,2,52,2,-9,-9,6,8,11,-9,4,0,0.0,976702 +1100105,43,9767,3,17,2,-9,-9,6,8,11,13,4,0,0.0,976703 +1100105,43,9767,4,13,2,-9,-9,-9,8,11,9,-9,0,0.0,976704 +1100105,43,9768,1,31,2,40,1,1,1,1,-9,4,9211MP,9370.0,976801 +1100105,43,9768,2,26,1,45,1,1,1,1,-9,4,562,7790.0,976802 +1100105,43,9768,3,31,2,45,1,1,1,1,-9,4,622M,8191.0,976803 +1100105,43,9769,1,25,2,58,1,1,1,1,-9,4,531M,7071.0,976901 +1100105,43,9769,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,976902 +1100105,43,9769,3,24,2,50,1,1,1,1,-9,4,5418,7470.0,976903 +1100105,43,9770,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,977001 +1100105,43,9770,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,977002 +1100105,43,9770,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,977003 +1100105,43,9771,1,34,1,60,1,1,1,1,-9,4,92113,9380.0,977101 +1100105,43,9771,2,33,2,-9,-9,6,1,1,16,4,5413,7290.0,977102 +1100105,43,9771,3,3,1,-9,-9,-9,1,1,1,-9,0,0.0,977103 +1100105,43,9772,1,52,1,45,2,1,1,1,-9,4,5418,7470.0,977201 +1100105,43,9772,2,52,1,65,1,1,1,1,-9,4,5415,7380.0,977202 +1100105,43,9773,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,977301 +1100105,43,9773,2,35,1,40,1,1,1,1,-9,4,5411,7270.0,977302 +1100105,43,9774,1,34,1,50,1,1,1,1,-9,4,813M,9170.0,977401 +1100105,43,9774,2,33,2,50,1,1,1,1,-9,4,4853,6190.0,977402 +1100105,43,9775,1,34,1,50,1,1,1,1,-9,4,5411,7270.0,977501 +1100105,43,9775,2,33,2,40,1,1,1,1,-9,4,5416,7390.0,977502 +1100105,43,9776,1,67,2,15,5,6,1,1,-9,4,5416,7390.0,977601 +1100105,43,9776,2,60,1,55,1,1,1,1,-9,4,6241,8370.0,977602 +1100105,43,9777,1,32,1,41,1,1,1,1,-9,4,5121,6570.0,977701 +1100105,43,9777,2,32,2,42,1,1,6,1,-9,4,515,6670.0,977702 +1100105,43,9778,1,26,1,55,1,1,1,1,-9,4,5418,7470.0,977801 +1100105,43,9778,2,26,2,60,1,1,1,1,-9,4,5414,7370.0,977802 +1100105,43,9779,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,977901 +1100105,43,9779,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,977902 +1100105,43,9780,1,26,1,50,1,1,1,1,-9,4,5413,7290.0,978001 +1100105,43,9780,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,978002 +1100105,43,9781,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,978101 +1100105,43,9781,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,978102 +1100105,43,9782,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,978201 +1100105,43,9782,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,978202 +1100105,43,9783,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,978301 +1100105,43,9783,2,25,2,40,3,1,9,1,-9,4,6111,7860.0,978302 +1100105,43,9784,1,25,2,45,1,1,1,1,-9,4,5419Z,7490.0,978401 +1100105,43,9784,2,29,1,60,3,1,6,1,-9,2,5415,7380.0,978402 +1100105,43,9785,1,26,1,45,1,1,1,1,-9,4,5411,7270.0,978501 +1100105,43,9785,2,26,1,50,1,1,1,1,16,4,5411,7270.0,978502 +1100105,43,9786,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,978601 +1100105,43,9786,2,33,1,50,1,1,1,1,-9,4,6111,7860.0,978602 +1100105,43,9787,1,27,2,30,1,1,1,1,-9,4,5417,7460.0,978701 +1100105,43,9787,2,27,1,45,1,1,1,1,-9,4,8139Z,9190.0,978702 +1100105,43,9788,1,29,1,40,1,1,1,1,-9,2,5411,7270.0,978801 +1100105,43,9788,2,27,2,40,1,1,1,1,-9,4,5418,7470.0,978802 +1100105,43,9789,1,31,1,70,1,1,1,1,-9,4,8139Z,9190.0,978901 +1100105,43,9789,2,27,2,50,1,1,1,1,-9,4,6111,7860.0,978902 +1100105,43,9790,1,24,1,40,1,1,9,3,-9,4,92MP,9470.0,979001 +1100105,43,9790,2,29,1,50,1,1,1,1,-9,4,5313,7072.0,979002 +1100105,43,9791,1,26,2,55,1,1,1,1,-9,4,5416,7390.0,979101 +1100105,43,9791,2,25,2,50,4,6,1,1,-9,4,92MP,9470.0,979102 +1100105,43,9792,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,979201 +1100105,43,9792,2,77,1,-9,-9,6,1,1,-9,4,0,0.0,979202 +1100105,43,9793,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,979301 +1100105,43,9793,2,32,1,35,1,1,3,1,-9,4,712,8570.0,979302 +1100105,43,9794,1,25,1,45,3,1,1,1,-9,4,92MP,9470.0,979401 +1100105,43,9794,2,23,1,40,3,1,1,1,-9,4,5411,7270.0,979402 +1100105,43,9795,1,26,1,24,6,1,1,1,16,4,92MP,9470.0,979501 +1100105,43,9795,2,30,2,40,1,1,1,1,-9,4,611M1,7870.0,979502 +1100105,43,9796,1,30,1,35,3,1,1,1,-9,4,7115,8564.0,979601 +1100105,43,9796,2,32,1,48,1,1,1,21,-9,4,722Z,8680.0,979602 +1100105,43,9797,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,979701 +1100105,43,9797,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,979702 +1100105,43,9798,1,35,2,50,1,1,1,1,16,4,5417,7460.0,979801 +1100105,43,9798,2,26,2,-9,-9,6,1,1,16,4,0,0.0,979802 +1100105,43,9799,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,979901 +1100105,43,9799,2,30,1,-9,-9,6,6,1,16,4,0,0.0,979902 +1100105,43,9800,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,980001 +1100105,43,9800,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,980002 +1100105,43,9801,1,24,1,40,5,6,1,1,16,4,5416,7390.0,980101 +1100105,43,9801,2,26,2,40,1,1,1,1,-9,4,712,8570.0,980102 +1100105,43,9802,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,980201 +1100105,43,9802,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,980202 +1100105,43,9803,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,980301 +1100105,43,9803,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,980302 +1100105,43,9804,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,980401 +1100105,43,9804,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,980402 +1100105,43,9805,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,980501 +1100105,43,9805,2,24,2,3,5,1,1,1,16,4,713Z,8590.0,980502 +1100105,43,9806,1,29,1,44,1,1,1,15,-9,4,923,9480.0,980601 +1100105,43,9806,2,29,2,45,1,1,1,15,-9,4,5418,7470.0,980602 +1100105,43,9807,1,22,1,20,1,1,6,1,16,4,611M1,7870.0,980701 +1100105,43,9807,2,21,1,10,5,6,1,1,16,4,5111Z,6480.0,980702 +1100105,43,9808,1,25,1,40,6,6,1,1,16,4,5411,7270.0,980801 +1100105,43,9808,2,25,1,11,5,1,1,1,16,4,611M1,7870.0,980802 +1100105,43,9809,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,980901 +1100105,43,9809,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,980902 +1100105,43,9810,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,981001 +1100105,43,9810,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,981002 +1100105,43,9811,1,22,1,40,6,1,1,1,15,4,6211,7970.0,981101 +1100105,43,9811,2,21,1,-9,-9,6,1,1,15,4,0,0.0,981102 +1100105,43,9812,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,981201 +1100105,43,9812,2,20,1,30,5,6,1,1,15,4,44413,4880.0,981202 +1100105,43,9813,1,23,2,-9,-9,6,1,1,16,4,611M3,7890.0,981301 +1100105,43,9813,2,24,2,-9,-9,6,1,1,16,4,813M,9170.0,981302 +1100105,43,9814,1,54,1,60,1,1,1,1,-9,4,5416,7390.0,981401 +1100105,43,9815,1,51,1,40,1,1,1,1,-9,4,522M,6890.0,981501 +1100105,43,9816,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,981601 +1100105,43,9817,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,981701 +1100105,43,9818,1,42,1,40,1,1,6,1,-9,4,8139Z,9190.0,981801 +1100105,43,9819,1,36,1,56,1,1,2,1,16,4,923,9480.0,981901 +1100105,43,9820,1,39,2,40,1,1,1,1,-9,4,6241,8370.0,982001 +1100105,43,9821,1,54,2,50,1,1,1,1,-9,4,5241,6991.0,982101 +1100105,43,9822,1,37,1,40,2,1,1,1,-9,4,5417,7460.0,982201 +1100105,43,9823,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,982301 +1100105,43,9824,1,39,2,60,1,1,1,1,15,4,923,9480.0,982401 +1100105,43,9825,1,38,1,40,1,1,1,1,-9,2,5415,7380.0,982501 +1100105,43,9826,1,62,1,45,1,1,1,24,-9,2,611M3,7890.0,982601 +1100105,43,9827,1,34,2,40,1,1,6,1,-9,4,622M,8191.0,982701 +1100105,43,9828,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,982801 +1100105,43,9829,1,29,1,60,1,1,1,1,-9,4,531M,7071.0,982901 +1100105,43,9830,1,31,1,40,1,1,1,1,16,4,33641M1,3580.0,983001 +1100105,43,9831,1,25,1,70,1,1,1,1,16,4,928P,9590.0,983101 +1100105,43,9832,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,983201 +1100105,43,9833,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,983301 +1100105,43,9834,1,30,1,50,1,1,1,1,-9,4,5411,7270.0,983401 +1100105,43,9835,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,983501 +1100105,43,9836,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,983601 +1100105,43,9837,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,983701 +1100105,43,9838,1,53,2,40,1,1,6,1,-9,4,5414,7370.0,983801 +1100105,43,9839,1,57,2,50,1,1,2,1,-9,4,7211,8660.0,983901 +1100105,43,9840,1,56,2,55,1,1,1,1,16,4,6111,7860.0,984001 +1100105,43,9841,1,64,2,40,1,1,1,1,-9,4,92M2,9570.0,984101 +1100105,43,9842,1,48,2,45,1,1,1,1,-9,4,5411,7270.0,984201 +1100105,43,9843,1,44,2,42,1,1,1,23,-9,4,7211,8660.0,984301 +1100105,43,9844,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,984401 +1100105,43,9845,1,32,2,55,1,1,9,1,-9,4,5415,7380.0,984501 +1100105,43,9846,1,25,2,50,4,1,6,1,-9,4,5411,7270.0,984601 +1100105,43,9847,1,31,2,40,1,1,6,1,-9,4,5416,7390.0,984701 +1100105,43,9848,1,29,2,50,1,1,2,1,16,4,5241,6991.0,984801 +1100105,43,9849,1,29,2,55,1,1,1,1,-9,4,712,8570.0,984901 +1100105,43,9850,1,24,2,55,4,1,1,1,16,4,5416,7390.0,985001 +1100105,43,9851,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,985101 +1100105,43,9852,1,26,2,40,1,1,1,1,-9,4,8139Z,9190.0,985201 +1100105,43,9853,1,24,2,55,4,1,1,1,16,4,5416,7390.0,985301 +1100105,43,9854,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,985401 +1100105,43,9855,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,985501 +1100105,43,9856,1,27,2,50,1,1,1,1,-9,4,813M,9170.0,985601 +1100105,43,9857,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,985701 +1100105,43,9858,1,27,2,55,1,1,1,1,-9,4,8139Z,9190.0,985801 +1100105,43,9859,1,33,1,45,1,1,1,1,-9,4,5413,7290.0,985901 +1100105,43,9860,1,33,1,45,1,1,1,1,-9,4,5413,7290.0,986001 +1100105,43,9861,1,22,2,45,1,1,1,1,-9,4,92113,9380.0,986101 +1100105,43,9862,1,31,2,40,1,1,1,1,-9,4,92MP,9470.0,986201 +1100105,43,9863,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,986301 +1100105,43,9864,1,26,2,70,1,1,1,1,16,4,8139Z,9190.0,986401 +1100105,43,9865,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,986501 +1100105,43,9866,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,986601 +1100105,43,9867,1,33,2,40,1,1,2,10,-9,4,5416,7390.0,986701 +1100105,43,9868,1,77,1,65,5,6,1,1,-9,4,621M,8180.0,986801 +1100105,43,9869,1,65,1,-9,-9,6,1,1,-9,4,923,9480.0,986901 +1100105,43,9870,1,68,2,40,1,1,2,1,-9,4,622M,8191.0,987001 +1100105,43,9871,1,80,1,40,1,1,1,1,-9,2,92M1,9490.0,987101 +1100105,43,9872,1,51,2,50,1,1,2,1,-9,4,7211,8660.0,987201 +1100105,43,9873,1,39,1,40,1,1,1,1,-9,4,5416,7390.0,987301 +1100105,43,9874,1,58,1,40,1,1,1,1,-9,4,522M,6890.0,987401 +1100105,43,9875,1,58,2,40,1,1,1,7,-9,4,5617Z,7690.0,987501 +1100105,43,9876,1,23,1,40,4,1,9,1,-9,4,5417,7460.0,987601 +1100105,43,9877,1,32,1,20,3,1,6,1,16,4,611M1,7870.0,987701 +1100105,43,9878,1,27,1,55,1,1,6,1,16,4,5191ZM,6780.0,987801 +1100105,43,9879,1,29,1,60,3,2,2,1,-9,4,5616,7680.0,987901 +1100105,43,9880,1,34,1,45,5,1,1,1,-9,4,5122,6590.0,988001 +1100105,43,9881,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,988101 +1100105,43,9882,1,34,2,45,1,1,1,1,-9,4,7111,8561.0,988201 +1100105,43,9883,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,988301 +1100105,43,9884,1,26,2,40,1,1,1,1,-9,4,5418,7470.0,988401 +1100105,43,9885,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,988501 +1100105,43,9886,1,25,2,40,1,1,1,1,-9,4,712,8570.0,988601 +1100105,43,9887,1,30,2,40,1,1,1,1,-9,4,623M,8290.0,988701 +1100105,43,9888,1,31,1,20,1,1,1,1,16,4,443142,4795.0,988801 +1100105,43,9889,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,988901 +1100105,43,9890,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,989001 +1100105,43,9891,1,68,2,16,4,6,2,1,16,4,5242,6992.0,989101 +1100105,43,9892,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,989201 +1100105,43,9893,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,989301 +1100105,43,9894,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,989401 +1100105,43,9895,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,989501 +1100105,43,9896,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,989601 +1100105,43,9897,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,989701 +1100105,43,9898,1,56,2,35,1,1,2,1,-9,4,8129,9090.0,989801 +1100105,43,9899,1,64,1,30,1,1,1,1,-9,4,5419Z,7490.0,989901 +1100105,43,9900,1,27,1,30,1,1,9,1,-9,4,712,8570.0,990001 +1100105,43,9901,1,29,2,30,5,1,6,1,-9,4,8139Z,9190.0,990101 +1100105,43,9902,1,23,2,40,1,1,1,1,16,4,622M,8191.0,990201 +1100105,43,9903,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,990301 +1100105,43,9904,1,28,1,5,4,1,1,3,16,4,611M1,7870.0,990401 +1100105,43,9905,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,990501 +1100105,43,9906,1,80,2,-9,-9,6,2,1,-9,4,0,0.0,990601 +1100105,43,9907,1,76,1,-9,-9,6,2,1,-9,4,0,0.0,990701 +1100105,43,9908,1,66,1,-9,-9,6,2,1,-9,4,45321,5480.0,990801 +1100105,43,9909,1,71,1,-9,-9,6,1,1,-9,4,611M1,7870.0,990901 +1100105,43,9910,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,991001 +1100105,43,9911,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,991101 +1100105,43,9912,1,53,1,-9,-9,3,2,1,-9,2,4411,4670.0,991201 +1100105,43,9913,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,991301 +1100105,43,9914,1,56,1,29,5,3,1,1,-9,4,5613,7580.0,991401 +1100105,43,9915,1,24,2,60,6,6,6,1,16,4,531M,7071.0,991501 +1100105,43,9916,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,991601 +1100105,43,9917,1,23,2,20,6,3,1,1,16,4,5417,7460.0,991701 +1100105,43,9918,1,26,2,40,6,6,1,23,16,4,722Z,8680.0,991801 +1100105,44,9919,1,26,2,45,1,1,1,1,-9,4,5416,7390.0,991901 +1100105,44,9919,2,34,2,55,1,1,1,1,-9,2,813M,9170.0,991902 +1100105,44,9919,3,28,2,40,1,1,9,1,-9,4,5415,7380.0,991903 +1100105,44,9919,4,27,2,40,1,1,1,1,-9,4,517Z,6690.0,991904 +1100105,44,9920,1,25,2,40,1,1,1,1,-9,4,52M2,6970.0,992001 +1100105,44,9920,2,26,2,40,1,1,1,1,-9,4,3341,3365.0,992002 +1100105,44,9920,3,25,2,40,1,1,1,1,-9,4,9211MP,9370.0,992003 +1100105,44,9920,4,23,2,40,1,1,1,1,-9,4,3341,3365.0,992004 +1100105,44,9921,1,25,1,40,1,1,1,1,-9,4,5416,7390.0,992101 +1100105,44,9921,2,26,1,45,1,1,1,1,-9,4,52M2,6970.0,992102 +1100105,44,9921,3,25,1,50,1,1,1,1,-9,4,484,6170.0,992103 +1100105,44,9921,4,25,1,45,1,1,1,1,-9,4,5242,6992.0,992104 +1100105,44,9922,1,29,1,45,1,1,1,2,-9,4,928P,9590.0,992201 +1100105,44,9922,2,27,2,40,1,1,6,1,-9,4,7211,8660.0,992202 +1100105,44,9922,3,26,1,60,1,1,1,1,-9,4,52M2,6970.0,992203 +1100105,44,9922,4,26,1,50,1,1,6,1,-9,4,52M1,6870.0,992204 +1100105,44,9923,1,37,1,45,1,1,9,1,-9,4,92MP,9470.0,992301 +1100105,44,9923,2,37,2,50,1,1,6,1,-9,4,5416,7390.0,992302 +1100105,44,9923,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,992303 +1100105,44,9923,4,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,992304 +1100105,44,9924,1,52,2,-9,-9,3,1,24,-9,4,622M,8191.0,992401 +1100105,44,9924,2,27,2,40,1,1,1,11,16,4,5416,7390.0,992402 +1100105,44,9924,3,14,2,-9,-9,-9,1,11,-9,-9,0,0.0,992403 +1100105,44,9924,4,3,1,-9,-9,-9,1,11,1,-9,0,0.0,992404 +1100105,44,9925,1,24,1,50,1,1,1,1,-9,4,515,6670.0,992501 +1100105,44,9925,2,24,1,40,1,1,1,1,-9,4,5416,7390.0,992502 +1100105,44,9925,3,24,2,40,1,1,1,1,-9,4,9211MP,9370.0,992503 +1100105,44,9925,4,24,2,-9,-9,6,1,1,16,4,0,0.0,992504 +1100105,44,9926,1,25,1,40,1,1,8,7,-9,4,722Z,8680.0,992601 +1100105,44,9926,2,23,1,40,1,1,8,7,-9,4,722Z,8680.0,992602 +1100105,44,9926,3,27,1,40,1,1,8,7,-9,4,722Z,8680.0,992603 +1100105,44,9926,4,24,1,20,5,1,8,7,-9,4,722Z,8680.0,992604 +1100105,44,9927,1,24,2,40,1,1,2,1,-9,4,6241,8370.0,992701 +1100105,44,9927,2,33,2,40,1,1,1,1,-9,4,6242,8380.0,992702 +1100105,44,9927,3,31,2,40,4,6,1,1,-9,4,813M,9170.0,992703 +1100105,44,9927,4,27,2,40,1,1,1,1,-9,4,5416,7390.0,992704 +1100105,44,9928,1,22,1,30,4,1,8,21,15,4,5417,7460.0,992801 +1100105,44,9928,2,23,1,40,1,1,6,1,-9,4,52M2,6970.0,992802 +1100105,44,9928,3,22,1,40,6,6,1,1,15,4,713Z,8590.0,992803 +1100105,44,9928,4,21,1,20,3,1,1,1,15,4,7115,8564.0,992804 +1100105,44,9929,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,992901 +1100105,44,9929,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,992902 +1100105,44,9929,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,992903 +1100105,44,9929,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,992904 +1100105,44,9930,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,993001 +1100105,44,9930,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,993002 +1100105,44,9930,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,993003 +1100105,44,9930,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,993004 +1100105,44,9931,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,993101 +1100105,44,9931,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,993102 +1100105,44,9931,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,993103 +1100105,44,9931,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,993104 +1100105,44,9932,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,993201 +1100105,44,9932,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,993202 +1100105,44,9932,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,993203 +1100105,44,9932,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,993204 +1100105,44,9933,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,993301 +1100105,44,9933,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,993302 +1100105,44,9933,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,993303 +1100105,44,9933,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,993304 +1100105,44,9934,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,993401 +1100105,44,9934,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,993402 +1100105,44,9934,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,993403 +1100105,44,9934,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,993404 +1100105,44,9935,1,35,2,20,1,1,2,2,14,4,722Z,8680.0,993501 +1100105,44,9935,2,34,1,40,1,1,2,2,-9,4,722Z,8680.0,993502 +1100105,44,9935,3,13,1,-9,-9,-9,8,2,9,-9,0,0.0,993503 +1100105,44,9935,4,9,1,-9,-9,-9,8,2,5,-9,0,0.0,993504 +1100105,44,9936,1,49,1,40,1,1,1,3,-9,4,531M,7071.0,993601 +1100105,44,9936,2,33,2,-9,-9,6,1,3,-9,4,6211,7970.0,993602 +1100105,44,9936,3,11,2,-9,-9,-9,1,3,8,-9,0,0.0,993603 +1100105,44,9936,4,5,1,-9,-9,-9,1,3,2,-9,0,0.0,993604 +1100105,44,9937,1,28,1,40,1,1,8,2,-9,4,23,770.0,993701 +1100105,44,9937,2,35,2,-9,-9,6,8,2,-9,4,0,0.0,993702 +1100105,44,9937,3,6,2,-9,-9,-9,8,2,2,-9,0,0.0,993703 +1100105,44,9937,4,4,1,-9,-9,-9,8,2,1,-9,0,0.0,993704 +1100105,44,9938,1,62,1,40,1,1,8,11,-9,4,44511,4971.0,993801 +1100105,44,9938,2,52,2,-9,-9,6,8,11,-9,4,0,0.0,993802 +1100105,44,9938,3,17,2,-9,-9,6,8,11,13,4,0,0.0,993803 +1100105,44,9938,4,13,2,-9,-9,-9,8,11,9,-9,0,0.0,993804 +1100105,44,9939,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,993901 +1100105,44,9939,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,993902 +1100105,44,9939,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,993903 +1100105,44,9940,1,29,2,40,2,1,9,1,-9,4,52M2,6970.0,994001 +1100105,44,9940,2,27,2,60,3,1,1,1,-9,4,5418,7470.0,994002 +1100105,44,9940,3,25,2,99,1,1,1,1,-9,4,92MP,9470.0,994003 +1100105,44,9941,1,30,2,50,1,1,1,1,-9,4,515,6670.0,994101 +1100105,44,9941,2,30,1,55,1,1,1,1,-9,4,5419Z,7490.0,994102 +1100105,44,9941,3,26,1,40,1,1,1,1,-9,4,5416,7390.0,994103 +1100105,44,9942,1,27,2,40,1,1,1,1,-9,4,813M,9170.0,994201 +1100105,44,9942,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,994202 +1100105,44,9942,3,34,2,40,1,1,1,1,-9,4,713Z,8590.0,994203 +1100105,44,9943,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,994301 +1100105,44,9943,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,994302 +1100105,44,9943,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,994303 +1100105,44,9944,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,994401 +1100105,44,9944,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,994402 +1100105,44,9944,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,994403 +1100105,44,9945,1,32,2,40,1,1,1,1,-9,4,712,8570.0,994501 +1100105,44,9945,2,29,2,40,1,1,1,1,-9,4,5418,7470.0,994502 +1100105,44,9945,3,27,2,30,3,1,1,1,16,4,611M1,7870.0,994503 +1100105,44,9946,1,27,1,60,1,1,1,1,-9,4,5415,7380.0,994601 +1100105,44,9946,2,28,1,60,1,1,1,1,-9,4,5415,7380.0,994602 +1100105,44,9946,3,23,1,60,1,1,1,1,-9,4,923,9480.0,994603 +1100105,44,9947,1,27,1,60,1,1,1,1,-9,4,5415,7380.0,994701 +1100105,44,9947,2,28,1,60,1,1,1,1,-9,4,5415,7380.0,994702 +1100105,44,9947,3,23,1,60,1,1,1,1,-9,4,923,9480.0,994703 +1100105,44,9948,1,25,2,40,6,1,1,1,-9,4,5613,7580.0,994801 +1100105,44,9948,2,27,2,48,1,1,1,1,-9,4,611M3,7890.0,994802 +1100105,44,9948,3,25,2,50,1,1,1,1,-9,4,5416,7390.0,994803 +1100105,44,9949,1,24,1,45,1,1,1,1,-9,4,611M3,7890.0,994901 +1100105,44,9949,2,24,1,40,1,1,1,1,-9,4,5415,7380.0,994902 +1100105,44,9949,3,23,1,55,1,1,1,1,-9,4,522M,6890.0,994903 +1100105,44,9950,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,995001 +1100105,44,9950,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,995002 +1100105,44,9950,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,995003 +1100105,44,9951,1,28,2,40,1,1,2,1,-9,4,928P,9590.0,995101 +1100105,44,9951,2,25,2,20,4,1,1,2,16,4,114,280.0,995102 +1100105,44,9951,3,24,1,42,1,2,1,1,-9,4,52M1,6870.0,995103 +1100105,44,9952,1,25,1,40,1,1,1,21,-9,4,9211MP,9370.0,995201 +1100105,44,9952,2,24,1,40,2,1,1,1,-9,4,5416,7390.0,995202 +1100105,44,9952,3,22,1,40,5,1,1,1,-9,4,5417,7460.0,995203 +1100105,44,9953,1,25,1,40,1,1,1,21,-9,4,9211MP,9370.0,995301 +1100105,44,9953,2,24,1,40,2,1,1,1,-9,4,5416,7390.0,995302 +1100105,44,9953,3,22,1,40,5,1,1,1,-9,4,5417,7460.0,995303 +1100105,44,9954,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,995401 +1100105,44,9954,2,32,2,-9,-9,6,1,1,-9,4,5413,7290.0,995402 +1100105,44,9954,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,995403 +1100105,44,9955,1,21,1,30,4,1,1,1,15,4,332M,2870.0,995501 +1100105,44,9955,2,21,1,40,6,1,1,1,15,4,5416,7390.0,995502 +1100105,44,9955,3,21,1,40,6,1,1,1,15,4,487,6280.0,995503 +1100105,44,9956,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,995601 +1100105,44,9956,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,995602 +1100105,44,9956,3,21,1,15,1,1,1,1,15,4,621M,8180.0,995603 +1100105,44,9957,1,20,2,10,6,6,1,1,15,4,6244,8470.0,995701 +1100105,44,9957,2,20,2,20,5,6,6,1,15,4,611M1,7870.0,995702 +1100105,44,9957,3,20,2,45,1,1,1,1,15,4,9211MP,9370.0,995703 +1100105,44,9958,1,20,1,12,4,2,1,1,15,4,5313,7072.0,995801 +1100105,44,9958,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,995802 +1100105,44,9958,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,995803 +1100105,44,9959,1,38,1,45,1,1,1,1,-9,4,3254,2190.0,995901 +1100105,44,9959,2,43,2,55,1,1,1,1,-9,4,928P,9590.0,995902 +1100105,44,9960,1,51,1,50,1,1,1,1,-9,4,923,9480.0,996001 +1100105,44,9960,2,52,1,40,1,1,1,1,15,4,611M1,7870.0,996002 +1100105,44,9961,1,35,1,65,1,1,1,1,-9,4,5411,7270.0,996101 +1100105,44,9961,2,33,1,40,1,1,1,1,-9,4,5112,6490.0,996102 +1100105,44,9962,1,37,1,40,1,1,1,1,-9,4,813M,9170.0,996201 +1100105,44,9962,2,33,2,40,4,1,1,1,-9,4,5415,7380.0,996202 +1100105,44,9963,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,996301 +1100105,44,9963,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,996302 +1100105,44,9964,1,27,1,40,1,1,9,1,-9,4,5111Z,6480.0,996401 +1100105,44,9964,2,26,2,60,1,1,1,1,16,4,5411,7270.0,996402 +1100105,44,9965,1,26,1,65,1,1,1,1,-9,4,52M2,6970.0,996501 +1100105,44,9965,2,25,2,65,1,1,6,1,-9,4,6214,8090.0,996502 +1100105,44,9966,1,34,1,60,1,1,1,1,-9,4,928P,9590.0,996601 +1100105,44,9966,2,27,1,60,1,1,1,1,-9,4,92MP,9470.0,996602 +1100105,44,9967,1,31,1,50,1,1,1,1,-9,4,5411,7270.0,996701 +1100105,44,9967,2,29,2,45,1,1,1,1,-9,4,5411,7270.0,996702 +1100105,44,9968,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,996801 +1100105,44,9968,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,996802 +1100105,44,9969,1,31,1,35,1,2,1,1,-9,4,7112,8562.0,996901 +1100105,44,9969,2,27,2,40,1,1,1,1,-9,4,92113,9380.0,996902 +1100105,44,9970,1,29,1,60,1,1,1,1,-9,4,813M,9170.0,997001 +1100105,44,9970,2,27,2,50,1,1,1,1,-9,4,611M1,7870.0,997002 +1100105,44,9971,1,33,1,40,1,1,1,1,-9,4,5413,7290.0,997101 +1100105,44,9971,2,32,1,40,1,1,1,1,-9,4,5413,7290.0,997102 +1100105,44,9972,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,997201 +1100105,44,9972,2,31,1,55,1,1,1,1,-9,4,522M,6890.0,997202 +1100105,44,9973,1,34,1,50,1,1,1,1,-9,4,813M,9170.0,997301 +1100105,44,9973,2,33,2,50,1,1,1,1,-9,4,4853,6190.0,997302 +1100105,44,9974,1,80,1,30,1,6,1,1,-9,2,23,770.0,997401 +1100105,44,9974,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,997402 +1100105,44,9975,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,997501 +1100105,44,9975,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,997502 +1100105,44,9976,1,54,2,40,6,6,1,1,-9,4,5411,7270.0,997601 +1100105,44,9976,2,54,1,60,1,1,1,1,-9,4,5412,7280.0,997602 +1100105,44,9977,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,997701 +1100105,44,9977,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,997702 +1100105,44,9978,1,35,1,45,1,1,1,1,-9,4,92M2,9570.0,997801 +1100105,44,9978,2,35,2,45,1,1,1,1,-9,4,813M,9170.0,997802 +1100105,44,9979,1,35,1,50,1,1,9,1,-9,4,92M2,9570.0,997901 +1100105,44,9979,2,27,2,40,1,1,1,1,-9,4,4481,5170.0,997902 +1100105,44,9980,1,36,1,50,1,1,1,1,-9,4,443142,4795.0,998001 +1100105,44,9980,2,34,1,40,1,1,1,1,-9,4,5416,7390.0,998002 +1100105,44,9981,1,26,1,40,1,1,6,1,-9,4,923,9480.0,998101 +1100105,44,9981,2,27,1,40,1,1,6,1,-9,4,52M1,6870.0,998102 +1100105,44,9982,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,998201 +1100105,44,9982,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,998202 +1100105,44,9983,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,998301 +1100105,44,9983,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,998302 +1100105,44,9984,1,30,1,50,1,1,1,1,-9,4,424M,4380.0,998401 +1100105,44,9984,2,30,2,50,1,1,6,1,-9,4,5415,7380.0,998402 +1100105,44,9985,1,29,2,45,1,1,1,1,-9,4,5418,7470.0,998501 +1100105,44,9985,2,31,1,50,1,1,1,1,-9,4,23,770.0,998502 +1100105,44,9986,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,998601 +1100105,44,9986,2,31,2,40,1,1,1,1,-9,4,92M2,9570.0,998602 +1100105,44,9987,1,30,1,40,1,1,1,1,-9,4,611M2,7880.0,998701 +1100105,44,9987,2,29,1,40,3,1,1,1,-9,4,5417,7460.0,998702 +1100105,44,9988,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,998801 +1100105,44,9988,2,31,2,40,1,1,1,1,-9,4,923,9480.0,998802 +1100105,44,9989,1,32,1,90,1,1,1,1,-9,4,713Z,8590.0,998901 +1100105,44,9989,2,26,2,80,1,1,1,1,-9,4,71395,8580.0,998902 +1100105,44,9990,1,31,2,40,1,1,1,1,-9,4,928P,9590.0,999001 +1100105,44,9990,2,30,2,40,1,1,1,1,-9,4,928P,9590.0,999002 +1100105,44,9991,1,25,2,42,1,1,1,1,-9,4,5416,7390.0,999101 +1100105,44,9991,2,25,2,40,1,1,1,1,-9,4,5417,7460.0,999102 +1100105,44,9992,1,31,2,40,1,1,1,1,-9,4,611M3,7890.0,999201 +1100105,44,9992,2,32,1,40,1,1,1,1,-9,4,5416,7390.0,999202 +1100105,44,9993,1,29,1,45,1,1,1,1,-9,4,9211MP,9370.0,999301 +1100105,44,9993,2,27,1,45,1,1,1,1,-9,4,5411,7270.0,999302 +1100105,44,9994,1,31,1,45,1,1,1,1,-9,4,5416,7390.0,999401 +1100105,44,9994,2,30,2,39,1,1,1,1,-9,4,622M,8191.0,999402 +1100105,44,9995,1,26,1,45,1,1,1,1,-9,4,52M2,6970.0,999501 +1100105,44,9995,2,28,1,45,1,1,1,1,-9,4,7211,8660.0,999502 +1100105,44,9996,1,31,1,45,1,1,1,1,-9,4,515,6670.0,999601 +1100105,44,9996,2,31,2,45,1,1,1,1,-9,4,6111,7860.0,999602 +1100105,44,9997,1,32,1,90,1,1,1,1,-9,4,713Z,8590.0,999701 +1100105,44,9997,2,26,2,80,1,1,1,1,-9,4,71395,8580.0,999702 +1100105,44,9998,1,28,1,60,1,1,1,1,-9,4,813M,9170.0,999801 +1100105,44,9998,2,29,2,60,1,1,8,2,-9,4,5191ZM,6780.0,999802 +1100105,44,9999,1,74,2,40,1,1,1,1,-9,2,923,9480.0,999901 +1100105,44,9999,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,999902 +1100105,44,10000,1,58,1,40,3,3,1,1,-9,4,5415,7380.0,1000001 +1100105,44,10000,2,57,2,40,1,1,1,1,-9,4,8139Z,9190.0,1000002 +1100105,44,10001,1,31,2,46,1,1,1,1,-9,4,814,9290.0,1000101 +1100105,44,10001,2,33,1,-9,-9,6,1,1,16,4,814,9290.0,1000102 +1100105,44,10002,1,33,2,-9,-9,3,1,1,-9,4,4233,4090.0,1000201 +1100105,44,10002,2,30,1,70,1,1,1,1,-9,4,52M2,6970.0,1000202 +1100105,44,10003,1,28,1,40,1,1,1,20,-9,4,52M1,6870.0,1000301 +1100105,44,10003,2,27,2,40,2,6,1,1,-9,4,5418,7470.0,1000302 +1100105,44,10004,1,32,2,-9,-9,6,1,1,-9,4,3121,1370.0,1000401 +1100105,44,10004,2,31,2,60,1,1,1,2,16,4,454110,5593.0,1000402 +1100105,44,10005,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1000501 +1100105,44,10005,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1000502 +1100105,44,10006,1,36,1,50,1,1,1,1,16,4,6111,7860.0,1000601 +1100105,44,10006,2,40,1,40,1,1,1,1,-9,4,5413,7290.0,1000602 +1100105,44,10007,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,1000701 +1100105,44,10007,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,1000702 +1100105,44,10008,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,1000801 +1100105,44,10008,2,42,1,40,1,1,1,1,-9,4,5415,7380.0,1000802 +1100105,44,10009,1,39,1,45,1,1,1,1,-9,2,51913,6672.0,1000901 +1100105,44,10009,2,30,1,50,2,1,8,7,-9,4,4481,5170.0,1000902 +1100105,44,10010,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,1001001 +1100105,44,10010,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,1001002 +1100105,44,10011,1,34,2,30,1,2,6,1,-9,4,8129,9090.0,1001101 +1100105,44,10011,2,30,1,40,1,1,6,1,-9,4,52M2,6970.0,1001102 +1100105,44,10012,1,27,2,40,1,1,9,1,-9,4,5416,7390.0,1001201 +1100105,44,10012,2,27,2,40,1,1,1,1,-9,4,713Z,8590.0,1001202 +1100105,44,10013,1,28,2,40,1,1,9,1,-9,4,928P,9590.0,1001301 +1100105,44,10013,2,25,1,40,1,1,1,1,16,4,928P,9590.0,1001302 +1100105,44,10014,1,28,2,40,1,1,9,1,-9,4,928P,9590.0,1001401 +1100105,44,10014,2,25,1,40,1,1,1,1,16,4,928P,9590.0,1001402 +1100105,44,10015,1,28,2,50,1,1,6,1,-9,4,92MP,9470.0,1001501 +1100105,44,10015,2,29,2,40,1,1,1,1,-9,4,5221M,6880.0,1001502 +1100105,44,10016,1,22,2,40,1,1,6,1,-9,4,5418,7470.0,1001601 +1100105,44,10016,2,24,2,40,1,1,1,1,-9,4,813M,9170.0,1001602 +1100105,44,10017,1,31,1,60,1,1,6,1,-9,4,813M,9170.0,1001701 +1100105,44,10017,2,27,1,50,1,1,1,1,-9,4,8139Z,9190.0,1001702 +1100105,44,10018,1,26,2,40,1,1,1,1,-9,4,6111,7860.0,1001801 +1100105,44,10018,2,27,2,40,1,1,1,1,-9,4,5413,7290.0,1001802 +1100105,44,10019,1,26,2,41,1,1,1,1,-9,4,5413,7290.0,1001901 +1100105,44,10019,2,26,2,40,1,1,1,1,-9,4,813M,9170.0,1001902 +1100105,44,10020,1,28,1,55,1,1,1,1,-9,4,8139Z,9190.0,1002001 +1100105,44,10020,2,23,1,40,1,1,1,1,-9,4,5419Z,7490.0,1002002 +1100105,44,10021,1,26,2,50,3,1,1,1,16,4,6111,7860.0,1002101 +1100105,44,10021,2,26,1,50,1,1,1,1,-9,4,621M,8180.0,1002102 +1100105,44,10022,1,26,1,55,1,1,1,1,-9,4,522M,6890.0,1002201 +1100105,44,10022,2,25,2,65,1,1,1,1,-9,4,5412,7280.0,1002202 +1100105,44,10023,1,33,1,40,1,1,1,1,16,4,6111,7860.0,1002301 +1100105,44,10023,2,29,1,40,1,1,1,1,-9,4,813M,9170.0,1002302 +1100105,44,10024,1,29,2,43,1,1,1,1,-9,4,8139Z,9190.0,1002401 +1100105,44,10024,2,30,1,40,3,1,1,1,-9,4,5413,7290.0,1002402 +1100105,44,10025,1,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,1002501 +1100105,44,10025,2,26,2,40,1,1,1,1,-9,4,3391,3960.0,1002502 +1100105,44,10026,1,27,2,40,1,1,1,1,-9,4,813M,9170.0,1002601 +1100105,44,10026,2,29,2,40,1,1,1,1,-9,4,9211MP,9370.0,1002602 +1100105,44,10027,1,31,2,50,1,1,1,1,-9,4,928P,9590.0,1002701 +1100105,44,10027,2,33,1,40,1,1,1,1,-9,4,611M1,7870.0,1002702 +1100105,44,10028,1,27,2,40,1,1,1,1,-9,4,52M1,6870.0,1002801 +1100105,44,10028,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,1002802 +1100105,44,10029,1,26,2,41,1,1,1,1,-9,4,5413,7290.0,1002901 +1100105,44,10029,2,26,2,40,1,1,1,1,-9,4,813M,9170.0,1002902 +1100105,44,10030,1,25,1,40,1,1,1,1,-9,4,531M,7071.0,1003001 +1100105,44,10030,2,24,1,46,1,1,1,1,-9,4,5416,7390.0,1003002 +1100105,44,10031,1,28,1,40,1,1,1,1,-9,4,5417,7460.0,1003101 +1100105,44,10031,2,29,2,40,1,1,1,1,-9,4,813M,9170.0,1003102 +1100105,44,10032,1,26,1,40,1,1,1,1,-9,4,5416,7390.0,1003201 +1100105,44,10032,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,1003202 +1100105,44,10033,1,26,2,40,1,1,1,1,-9,4,5417,7460.0,1003301 +1100105,44,10033,2,27,2,40,1,1,1,1,-9,4,622M,8191.0,1003302 +1100105,44,10034,1,29,1,40,1,1,1,1,-9,4,92M2,9570.0,1003401 +1100105,44,10034,2,28,2,35,1,1,1,1,-9,4,713Z,8590.0,1003402 +1100105,44,10035,1,25,1,40,1,1,1,1,-9,4,531M,7071.0,1003501 +1100105,44,10035,2,24,1,46,1,1,1,1,-9,4,5416,7390.0,1003502 +1100105,44,10036,1,27,2,50,1,1,1,1,16,4,51913,6672.0,1003601 +1100105,44,10036,2,28,2,45,1,1,1,1,-9,4,5416,7390.0,1003602 +1100105,44,10037,1,28,1,40,1,1,1,1,-9,4,5418,7470.0,1003701 +1100105,44,10037,2,30,1,40,1,1,1,1,-9,4,92M2,9570.0,1003702 +1100105,44,10038,1,26,2,40,1,1,1,1,-9,4,5414,7370.0,1003801 +1100105,44,10038,2,26,1,40,1,1,1,1,-9,4,5414,7370.0,1003802 +1100105,44,10039,1,29,1,40,1,1,1,1,-9,2,5411,7270.0,1003901 +1100105,44,10039,2,27,2,40,1,1,1,1,-9,4,5418,7470.0,1003902 +1100105,44,10040,1,33,1,60,1,1,1,1,-9,4,622M,8191.0,1004001 +1100105,44,10040,2,30,2,40,1,1,1,1,-9,4,923,9480.0,1004002 +1100105,44,10041,1,26,1,45,1,1,1,14,-9,4,813M,9170.0,1004101 +1100105,44,10041,2,29,2,45,1,1,1,1,-9,4,9211MP,9370.0,1004102 +1100105,44,10042,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1004201 +1100105,44,10042,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1004202 +1100105,44,10043,1,28,2,40,1,1,1,1,-9,4,5411,7270.0,1004301 +1100105,44,10043,2,28,1,50,1,1,8,2,-9,4,6111,7860.0,1004302 +1100105,44,10044,1,54,1,40,1,1,1,1,-9,2,92M2,9570.0,1004401 +1100105,44,10044,2,50,2,-9,-9,6,1,1,-9,4,0,0.0,1004402 +1100105,44,10045,1,35,1,40,1,1,6,1,-9,4,5415,7380.0,1004501 +1100105,44,10045,2,28,2,40,5,3,1,1,-9,4,5613,7580.0,1004502 +1100105,44,10046,1,28,2,47,1,1,9,1,-9,4,44611,5070.0,1004601 +1100105,44,10046,2,26,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1004602 +1100105,44,10047,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1004701 +1100105,44,10047,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,1004702 +1100105,44,10048,1,28,2,-9,-9,6,1,1,16,4,0,0.0,1004801 +1100105,44,10048,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,1004802 +1100105,44,10049,1,34,2,50,1,1,1,1,-9,4,5415,7380.0,1004901 +1100105,44,10049,2,23,2,35,5,3,1,1,-9,4,5417,7460.0,1004902 +1100105,44,10050,1,28,1,40,2,1,1,1,-9,4,5419Z,7490.0,1005001 +1100105,44,10050,2,26,2,40,4,6,1,1,16,4,6111,7860.0,1005002 +1100105,44,10051,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1005101 +1100105,44,10051,2,29,2,35,5,3,1,1,-9,4,813M,9170.0,1005102 +1100105,44,10052,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1005201 +1100105,44,10052,2,29,2,35,5,3,1,1,-9,4,813M,9170.0,1005202 +1100105,44,10053,1,28,2,-9,-9,6,1,1,16,4,0,0.0,1005301 +1100105,44,10053,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,1005302 +1100105,44,10054,1,28,2,50,1,1,1,3,-9,4,611M3,7890.0,1005401 +1100105,44,10054,2,27,2,40,6,6,1,1,-9,4,5411,7270.0,1005402 +1100105,44,10055,1,21,1,40,1,1,9,4,-9,4,5411,7270.0,1005501 +1100105,44,10055,2,21,1,40,1,6,1,1,15,4,5416,7390.0,1005502 +1100105,44,10056,1,30,1,40,1,1,1,23,-9,4,5416,7390.0,1005601 +1100105,44,10056,2,31,2,40,6,6,1,23,16,4,4539,5580.0,1005602 +1100105,44,10057,1,67,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1005701 +1100105,44,10057,2,69,1,-9,-9,6,1,1,-9,2,81393,9180.0,1005702 +1100105,44,10058,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1005801 +1100105,44,10058,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1005802 +1100105,44,10059,1,27,2,55,1,1,1,1,-9,4,722Z,8680.0,1005901 +1100105,44,10059,2,37,2,15,1,1,9,1,16,4,6241,8370.0,1005902 +1100105,44,10060,1,28,1,60,1,1,6,1,-9,4,5417,7460.0,1006001 +1100105,44,10060,2,23,1,12,5,1,6,1,16,4,722Z,8680.0,1006002 +1100105,44,10061,1,29,1,40,3,1,2,1,-9,4,5417,7460.0,1006101 +1100105,44,10061,2,27,1,40,1,1,6,1,-9,4,722Z,8680.0,1006102 +1100105,44,10062,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1006201 +1100105,44,10062,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1006202 +1100105,44,10063,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1006301 +1100105,44,10063,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1006302 +1100105,44,10064,1,25,2,40,3,1,9,1,-9,4,5242,6992.0,1006401 +1100105,44,10064,2,28,1,52,1,1,1,1,-9,4,52M2,6970.0,1006402 +1100105,44,10065,1,24,1,50,1,4,6,1,16,1,928110P1,9670.0,1006501 +1100105,44,10065,2,24,2,3,1,1,1,1,16,4,713Z,8590.0,1006502 +1100105,44,10066,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,1006601 +1100105,44,10066,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,1006602 +1100105,44,10067,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,1006701 +1100105,44,10067,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,1006702 +1100105,44,10068,1,23,2,40,1,1,1,1,-9,4,621M,8180.0,1006801 +1100105,44,10068,2,23,2,45,1,1,1,1,-9,4,8139Z,9190.0,1006802 +1100105,44,10069,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,1006901 +1100105,44,10069,2,26,2,55,3,1,1,1,-9,4,5418,7470.0,1006902 +1100105,44,10070,1,25,2,41,1,1,1,1,-9,4,8139Z,9190.0,1007001 +1100105,44,10070,2,29,1,45,1,1,1,1,-9,4,5418,7470.0,1007002 +1100105,44,10071,1,24,2,35,1,1,1,1,-9,4,5417,7460.0,1007101 +1100105,44,10071,2,22,2,24,4,1,1,1,-9,4,5419Z,7490.0,1007102 +1100105,44,10072,1,27,2,40,1,1,1,1,-9,4,5418,7470.0,1007201 +1100105,44,10072,2,28,1,44,1,1,1,1,-9,4,722Z,8680.0,1007202 +1100105,44,10073,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,1007301 +1100105,44,10073,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,1007302 +1100105,44,10074,1,24,2,45,1,1,1,1,-9,4,722Z,8680.0,1007401 +1100105,44,10074,2,24,2,60,1,1,1,1,-9,4,9211MP,9370.0,1007402 +1100105,44,10075,1,23,2,40,1,1,1,1,-9,4,515,6670.0,1007501 +1100105,44,10075,2,26,2,40,1,1,1,1,-9,4,515,6670.0,1007502 +1100105,44,10076,1,26,1,45,1,1,1,1,16,4,8139Z,9190.0,1007601 +1100105,44,10076,2,27,1,40,1,1,1,1,-9,4,7224,8690.0,1007602 +1100105,44,10077,1,23,2,40,1,1,1,1,-9,4,522M,6890.0,1007701 +1100105,44,10077,2,24,1,40,1,1,8,8,-9,4,5415,7380.0,1007702 +1100105,44,10078,1,21,2,40,1,1,1,2,-9,4,92MP,9470.0,1007801 +1100105,44,10078,2,24,1,40,1,1,1,1,-9,4,5416,7390.0,1007802 +1100105,44,10079,1,32,2,40,1,1,1,1,-9,4,561M,7780.0,1007901 +1100105,44,10079,2,27,1,60,1,1,2,5,-9,4,9211MP,9370.0,1007902 +1100105,44,10080,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,1008001 +1100105,44,10080,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,1008002 +1100105,44,10081,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1008101 +1100105,44,10081,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1008102 +1100105,44,10082,1,35,2,40,1,2,6,1,16,4,5411,7270.0,1008201 +1100105,44,10082,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,1008202 +1100105,44,10083,1,45,2,-9,-9,6,1,1,-9,4,0,0.0,1008301 +1100105,44,10083,2,43,1,40,1,1,1,1,-9,4,51111,6470.0,1008302 +1100105,44,10084,1,37,1,38,3,3,1,1,-9,4,722Z,8680.0,1008401 +1100105,44,10084,2,33,2,60,1,1,1,1,-9,4,531M,7071.0,1008402 +1100105,44,10085,1,49,1,20,6,3,1,1,-9,4,51111,6470.0,1008501 +1100105,44,10085,2,32,1,50,1,1,1,1,-9,4,81393,9180.0,1008502 +1100105,44,10086,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1008601 +1100105,44,10086,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1008602 +1100105,44,10087,1,32,2,40,1,1,1,23,16,4,712,8570.0,1008701 +1100105,44,10087,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,1008702 +1100105,44,10088,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1008801 +1100105,44,10088,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1008802 +1100105,44,10089,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1008901 +1100105,44,10089,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1008902 +1100105,44,10090,1,29,1,40,1,1,6,1,-9,4,5416,7390.0,1009001 +1100105,44,10090,2,30,2,35,6,6,1,1,-9,4,8139Z,9190.0,1009002 +1100105,44,10091,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1009101 +1100105,44,10091,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1009102 +1100105,44,10092,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1009201 +1100105,44,10092,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1009202 +1100105,44,10093,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1009301 +1100105,44,10093,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1009302 +1100105,44,10094,1,26,2,3,6,6,1,1,16,4,5415,7380.0,1009401 +1100105,44,10094,2,27,1,60,1,1,1,1,-9,4,5613,7580.0,1009402 +1100105,44,10095,1,24,2,50,6,6,1,1,16,4,5411,7270.0,1009501 +1100105,44,10095,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,1009502 +1100105,44,10096,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,1009601 +1100105,44,10096,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,1009602 +1100105,44,10097,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1009701 +1100105,44,10097,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1009702 +1100105,44,10098,1,25,2,40,6,1,1,1,16,4,5411,7270.0,1009801 +1100105,44,10098,2,28,1,40,6,6,1,1,16,4,5411,7270.0,1009802 +1100105,44,10099,1,30,1,40,1,4,1,1,16,1,928110P3,9690.0,1009901 +1100105,44,10099,2,29,2,-9,-9,6,1,1,16,4,6111,7860.0,1009902 +1100105,44,10100,1,26,1,-9,-9,6,1,1,16,4,92M2,9570.0,1010001 +1100105,44,10100,2,26,2,45,1,1,1,1,-9,4,611M1,7870.0,1010002 +1100105,44,10101,1,25,1,40,1,1,1,1,-9,4,5313,7072.0,1010101 +1100105,44,10101,2,25,2,35,6,6,1,1,16,4,8139Z,9190.0,1010102 +1100105,44,10102,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1010201 +1100105,44,10102,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1010202 +1100105,44,10103,1,24,2,50,6,6,1,1,16,4,5411,7270.0,1010301 +1100105,44,10103,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,1010302 +1100105,44,10104,1,28,1,40,2,1,9,3,-9,4,5413,7290.0,1010401 +1100105,44,10104,2,27,2,-9,-9,3,1,1,-9,4,23,770.0,1010402 +1100105,44,10105,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1010501 +1100105,44,10105,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1010502 +1100105,44,10106,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1010601 +1100105,44,10106,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1010602 +1100105,44,10107,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1010701 +1100105,44,10107,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1010702 +1100105,44,10108,1,25,1,40,6,6,1,4,16,4,92MP,9470.0,1010801 +1100105,44,10108,2,25,1,15,4,6,1,1,16,4,92M2,9570.0,1010802 +1100105,44,10109,1,29,1,20,3,1,1,1,16,4,611M1,7870.0,1010901 +1100105,44,10109,2,29,2,20,1,1,6,1,16,4,611M1,7870.0,1010902 +1100105,44,10110,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,1011001 +1100105,44,10110,2,24,2,3,5,1,1,1,16,4,713Z,8590.0,1011002 +1100105,44,10111,1,21,2,40,1,1,1,1,15,4,611M1,7870.0,1011101 +1100105,44,10111,2,20,2,30,1,1,1,1,15,4,713Z,8590.0,1011102 +1100105,44,10112,1,23,1,50,1,1,1,1,-9,4,531M,7071.0,1011201 +1100105,44,10112,2,23,1,40,1,1,1,1,-9,4,5419Z,7490.0,1011202 +1100105,44,10113,1,22,2,40,6,1,1,1,-9,4,611M1,7870.0,1011301 +1100105,44,10113,2,23,2,40,3,1,1,1,-9,4,611M1,7870.0,1011302 +1100105,44,10114,1,25,2,45,1,1,1,1,-9,4,531M,7071.0,1011401 +1100105,44,10114,2,28,2,30,1,1,1,1,-9,4,6212,7980.0,1011402 +1100105,44,10115,1,25,1,50,1,1,1,16,16,4,5417,7460.0,1011501 +1100105,44,10115,2,23,2,40,1,1,1,24,16,4,814,9290.0,1011502 +1100105,44,10116,1,25,1,50,1,1,1,16,16,4,5417,7460.0,1011601 +1100105,44,10116,2,23,2,40,1,1,1,24,16,4,814,9290.0,1011602 +1100105,44,10117,1,60,2,40,1,1,8,19,-9,4,7211,8660.0,1011701 +1100105,44,10117,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,1011702 +1100105,44,10118,1,64,2,-9,-9,3,1,1,-9,4,7211,8660.0,1011801 +1100105,44,10118,2,63,1,30,1,1,1,1,-9,4,722Z,8680.0,1011802 +1100105,44,10119,1,65,2,-9,-9,6,6,1,-9,4,0,0.0,1011901 +1100105,44,10119,2,29,2,35,1,1,6,1,16,4,813M,9170.0,1011902 +1100105,44,10120,1,22,1,20,1,1,6,1,16,4,611M1,7870.0,1012001 +1100105,44,10120,2,21,1,10,5,6,1,1,16,4,5111Z,6480.0,1012002 +1100105,44,10121,1,22,1,20,1,1,6,1,16,4,611M1,7870.0,1012101 +1100105,44,10121,2,21,1,10,5,6,1,1,16,4,5111Z,6480.0,1012102 +1100105,44,10122,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,1012201 +1100105,44,10122,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,1012202 +1100105,44,10123,1,28,1,45,6,6,1,1,16,4,5411,7270.0,1012301 +1100105,44,10123,2,28,2,20,5,1,6,1,16,4,8139Z,9190.0,1012302 +1100105,44,10124,1,22,1,20,1,1,6,1,16,4,611M1,7870.0,1012401 +1100105,44,10124,2,21,1,10,5,6,1,1,16,4,5111Z,6480.0,1012402 +1100105,44,10125,1,25,1,40,6,6,1,1,16,4,5411,7270.0,1012501 +1100105,44,10125,2,25,1,11,5,1,1,1,16,4,611M1,7870.0,1012502 +1100105,44,10126,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,1012601 +1100105,44,10126,2,29,1,45,1,1,1,1,16,4,6111,7860.0,1012602 +1100105,44,10127,1,26,2,41,1,1,1,1,-9,4,7111,8561.0,1012701 +1100105,44,10127,2,26,1,-9,-9,6,1,1,15,4,334M2,3390.0,1012702 +1100105,44,10128,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,1012801 +1100105,44,10128,2,29,1,45,1,1,1,1,16,4,6111,7860.0,1012802 +1100105,44,10129,1,25,1,40,6,6,1,1,16,4,5411,7270.0,1012901 +1100105,44,10129,2,25,1,11,5,1,1,1,16,4,611M1,7870.0,1012902 +1100105,44,10130,1,29,1,45,1,4,1,1,15,1,928110P3,9690.0,1013001 +1100105,44,10130,2,30,2,35,6,3,1,1,-9,4,7211,8660.0,1013002 +1100105,44,10131,1,23,2,40,1,1,1,23,-9,4,92M2,9570.0,1013101 +1100105,44,10131,2,23,2,-9,-9,6,1,1,16,4,4481,5170.0,1013102 +1100105,44,10132,1,23,2,40,1,1,1,23,-9,4,92M2,9570.0,1013201 +1100105,44,10132,2,23,2,-9,-9,6,1,1,16,4,4481,5170.0,1013202 +1100105,44,10133,1,40,2,24,4,1,6,1,16,4,6111,7860.0,1013301 +1100105,44,10133,2,6,1,-9,-9,-9,6,1,3,-9,0,0.0,1013302 +1100105,44,10134,1,72,2,-9,-9,6,2,1,-9,4,622M,8191.0,1013401 +1100105,44,10134,2,65,1,-9,-9,6,2,1,-9,4,0,0.0,1013402 +1100105,44,10135,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1013501 +1100105,44,10135,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,1013502 +1100105,44,10136,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1013601 +1100105,44,10136,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,1013602 +1100105,44,10137,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1013701 +1100105,44,10137,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,1013702 +1100105,44,10138,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,1013801 +1100105,44,10138,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,1013802 +1100105,44,10139,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,1013901 +1100105,44,10139,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,1013902 +1100105,44,10140,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,1014001 +1100105,44,10140,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,1014002 +1100105,44,10141,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,1014101 +1100105,44,10141,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,1014102 +1100105,44,10142,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1014201 +1100105,44,10142,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1014202 +1100105,44,10143,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,1014301 +1100105,44,10143,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,1014302 +1100105,44,10144,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,1014401 +1100105,44,10144,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,1014402 +1100105,44,10145,1,25,2,-9,-9,6,1,1,16,4,611M1,7870.0,1014501 +1100105,44,10145,2,27,2,20,1,2,1,1,16,4,611M1,7870.0,1014502 +1100105,44,10146,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1014601 +1100105,44,10146,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1014602 +1100105,44,10147,1,20,1,24,6,1,1,1,15,4,722Z,8680.0,1014701 +1100105,44,10147,2,20,1,-9,-9,6,1,1,15,4,0,0.0,1014702 +1100105,44,10148,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1014801 +1100105,44,10148,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1014802 +1100105,44,10149,1,93,1,-9,-9,6,2,1,-9,4,0,0.0,1014901 +1100105,44,10149,2,93,1,-9,-9,6,2,1,-9,2,0,0.0,1014902 +1100105,44,10150,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1015001 +1100105,44,10150,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1015002 +1100105,44,10151,1,67,1,-9,-9,6,2,1,-9,4,0,0.0,1015101 +1100105,44,10151,2,64,2,-9,-9,6,2,1,-9,4,0,0.0,1015102 +1100105,44,10152,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1015201 +1100105,44,10152,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,1015202 +1100105,44,10153,1,58,2,-9,-9,6,1,1,-9,4,813M,9170.0,1015301 +1100105,44,10153,2,26,1,-9,-9,6,9,1,-9,4,0,0.0,1015302 +1100105,44,10154,1,22,2,-9,-9,6,6,1,16,4,0,0.0,1015401 +1100105,44,10154,2,23,2,-9,-9,6,6,1,16,4,0,0.0,1015402 +1100105,44,10155,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,1015501 +1100105,44,10155,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,1015502 +1100105,44,10156,1,23,2,-9,-9,6,1,1,16,4,0,0.0,1015601 +1100105,44,10156,2,23,2,-9,-9,6,6,1,16,4,0,0.0,1015602 +1100105,44,10157,1,23,2,35,3,6,1,1,16,4,928P,9590.0,1015701 +1100105,44,10157,2,22,1,20,5,6,1,1,16,4,52M2,6970.0,1015702 +1100105,44,10158,1,25,2,35,4,6,1,1,16,4,6111,7860.0,1015801 +1100105,44,10158,2,23,2,18,5,6,1,1,16,4,6214,8090.0,1015802 +1100105,44,10159,1,23,2,-9,-9,6,1,1,16,4,611M3,7890.0,1015901 +1100105,44,10159,2,24,2,-9,-9,6,1,1,16,4,813M,9170.0,1015902 +1100105,44,10160,1,33,2,40,3,6,1,1,-9,4,52M1,6870.0,1016001 +1100105,44,10160,2,24,2,-9,-9,6,1,1,-9,4,0,0.0,1016002 +1100105,44,10161,1,23,1,35,1,3,8,2,-9,4,44511,4971.0,1016101 +1100105,44,10161,2,25,1,-9,-9,6,8,2,15,3,0,0.0,1016102 +1100105,44,10162,1,72,1,50,1,1,1,1,-9,4,923,9480.0,1016201 +1100105,44,10163,1,56,2,50,1,1,1,1,-9,4,92M1,9490.0,1016301 +1100105,44,10164,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,1016401 +1100105,44,10165,1,38,2,40,1,1,1,1,-9,4,5411,7270.0,1016501 +1100105,44,10166,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1016601 +1100105,44,10167,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,1016701 +1100105,44,10168,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,1016801 +1100105,44,10169,1,34,1,50,1,1,1,1,-9,4,611M1,7870.0,1016901 +1100105,44,10170,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,1017001 +1100105,44,10171,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1017101 +1100105,44,10172,1,71,1,50,1,1,1,1,-9,4,5416,7390.0,1017201 +1100105,44,10173,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,1017301 +1100105,44,10174,1,48,2,40,1,1,6,1,-9,4,92119,9390.0,1017401 +1100105,44,10175,1,51,1,80,1,1,2,1,-9,4,522M,6890.0,1017501 +1100105,44,10176,1,39,1,50,1,1,1,1,-9,4,92MP,9470.0,1017601 +1100105,44,10177,1,49,1,40,1,1,1,1,-9,4,923,9480.0,1017701 +1100105,44,10178,1,38,2,50,1,1,1,1,-9,4,928P,9590.0,1017801 +1100105,44,10179,1,63,2,28,1,1,1,1,-9,4,6213ZM,8080.0,1017901 +1100105,44,10180,1,49,1,40,1,1,1,1,-9,4,923,9480.0,1018001 +1100105,44,10181,1,32,2,35,1,1,6,1,16,4,5411,7270.0,1018101 +1100105,44,10182,1,34,2,45,1,1,2,1,-9,4,5411,7270.0,1018201 +1100105,44,10183,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1018301 +1100105,44,10184,1,27,1,55,1,1,1,1,-9,4,522M,6890.0,1018401 +1100105,44,10185,1,29,2,50,1,1,1,1,-9,4,5241,6991.0,1018501 +1100105,44,10186,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,1018601 +1100105,44,10187,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1018701 +1100105,44,10188,1,28,1,20,1,1,1,1,-9,4,5615,7670.0,1018801 +1100105,44,10189,1,26,2,55,1,1,1,1,-9,4,5411,7270.0,1018901 +1100105,44,10190,1,70,1,40,1,1,2,1,-9,4,5413,7290.0,1019001 +1100105,44,10191,1,66,2,40,1,1,1,1,16,4,6111,7860.0,1019101 +1100105,44,10192,1,72,1,35,4,1,1,11,-9,4,611M1,7870.0,1019201 +1100105,44,10193,1,44,2,40,1,1,9,1,-9,4,813M,9170.0,1019301 +1100105,44,10194,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,1019401 +1100105,44,10195,1,46,1,40,1,1,9,1,-9,4,928P,9590.0,1019501 +1100105,44,10196,1,40,1,40,1,1,6,1,-9,4,7211,8660.0,1019601 +1100105,44,10197,1,36,1,50,1,1,6,1,15,4,813M,9170.0,1019701 +1100105,44,10198,1,58,2,40,1,1,6,1,-9,4,531M,7071.0,1019801 +1100105,44,10199,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,1019901 +1100105,44,10200,1,36,1,56,1,1,2,1,16,4,923,9480.0,1020001 +1100105,44,10201,1,47,2,40,1,1,1,1,16,4,928P,9590.0,1020101 +1100105,44,10202,1,53,2,40,1,1,1,1,-9,4,522M,6890.0,1020201 +1100105,44,10203,1,50,2,40,1,1,1,1,-9,4,928P,9590.0,1020301 +1100105,44,10204,1,37,2,40,1,1,1,1,-9,4,9211MP,9370.0,1020401 +1100105,44,10205,1,40,1,50,1,1,1,1,15,4,813M,9170.0,1020501 +1100105,44,10206,1,36,2,50,1,1,1,1,-9,4,52M1,6870.0,1020601 +1100105,44,10207,1,54,1,40,1,1,1,1,-9,4,23,770.0,1020701 +1100105,44,10208,1,51,2,40,1,1,1,1,-9,4,51912,6770.0,1020801 +1100105,44,10209,1,41,1,40,1,1,1,1,-9,2,3254,2190.0,1020901 +1100105,44,10210,1,38,2,55,1,1,1,1,-9,4,8139Z,9190.0,1021001 +1100105,44,10211,1,58,1,40,1,1,1,1,-9,4,813M,9170.0,1021101 +1100105,44,10212,1,39,2,60,1,1,1,1,15,4,923,9480.0,1021201 +1100105,44,10213,1,36,1,45,1,1,1,1,-9,4,5419Z,7490.0,1021301 +1100105,44,10214,1,53,1,40,1,1,1,1,-9,4,33641M1,3580.0,1021401 +1100105,44,10215,1,43,2,40,1,1,1,1,-9,4,5416,7390.0,1021501 +1100105,44,10216,1,41,1,32,1,1,1,1,-9,4,62132,8070.0,1021601 +1100105,44,10217,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,1021701 +1100105,44,10218,1,38,1,43,1,1,1,1,-9,4,5112,6490.0,1021801 +1100105,44,10219,1,40,2,45,1,1,1,1,-9,4,813M,9170.0,1021901 +1100105,44,10220,1,62,2,60,1,1,1,1,-9,4,611M1,7870.0,1022001 +1100105,44,10221,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,1022101 +1100105,44,10222,1,43,2,40,1,1,1,1,-9,4,5416,7390.0,1022201 +1100105,44,10223,1,38,1,45,1,1,1,1,-9,4,5416,7390.0,1022301 +1100105,44,10224,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,1022401 +1100105,44,10225,1,62,2,40,1,1,1,1,-9,4,5416,7390.0,1022501 +1100105,44,10226,1,37,2,50,1,1,1,1,-9,4,515,6670.0,1022601 +1100105,44,10227,1,48,2,40,1,1,1,1,15,4,334M2,3390.0,1022701 +1100105,44,10228,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,1022801 +1100105,44,10229,1,42,2,40,1,1,1,1,-9,4,92M2,9570.0,1022901 +1100105,44,10230,1,55,1,50,1,1,8,7,-9,4,928P,9590.0,1023001 +1100105,44,10231,1,57,2,70,1,1,1,16,-9,4,813M,9170.0,1023101 +1100105,44,10232,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,1023201 +1100105,44,10233,1,57,2,70,1,1,1,16,-9,4,813M,9170.0,1023301 +1100105,44,10234,1,26,2,45,2,1,9,1,-9,4,9211MP,9370.0,1023401 +1100105,44,10235,1,31,1,40,1,1,9,1,-9,4,53M,7190.0,1023501 +1100105,44,10236,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1023601 +1100105,44,10237,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1023701 +1100105,44,10238,1,30,2,45,1,1,6,1,-9,4,5415,7380.0,1023801 +1100105,44,10239,1,34,2,60,1,1,2,1,-9,4,5416,7390.0,1023901 +1100105,44,10240,1,32,1,50,1,1,1,1,-9,4,9211MP,9370.0,1024001 +1100105,44,10241,1,32,2,50,1,1,1,1,-9,4,5416,7390.0,1024101 +1100105,44,10242,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,1024201 +1100105,44,10243,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,1024301 +1100105,44,10244,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,1024401 +1100105,44,10245,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,1024501 +1100105,44,10246,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1024601 +1100105,44,10247,1,32,2,50,1,1,1,1,-9,4,5416,7390.0,1024701 +1100105,44,10248,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,1024801 +1100105,44,10249,1,28,1,40,1,1,1,1,-9,4,446Z,5080.0,1024901 +1100105,44,10250,1,33,2,40,1,1,1,1,-9,4,611M3,7890.0,1025001 +1100105,44,10251,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,1025101 +1100105,44,10252,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1025201 +1100105,44,10253,1,30,2,50,1,1,1,1,-9,4,5416,7390.0,1025301 +1100105,44,10254,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1025401 +1100105,44,10255,1,29,1,40,1,1,1,1,-9,4,813M,9170.0,1025501 +1100105,44,10256,1,32,1,45,1,1,1,1,-9,4,928P,9590.0,1025601 +1100105,44,10257,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,1025701 +1100105,44,10258,1,30,1,40,1,1,1,1,-9,4,8139Z,9190.0,1025801 +1100105,44,10259,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1025901 +1100105,44,10260,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1026001 +1100105,44,10261,1,32,1,40,2,1,1,1,-9,4,928P,9590.0,1026101 +1100105,44,10262,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1026201 +1100105,44,10263,1,29,1,40,1,1,1,1,-9,4,928P,9590.0,1026301 +1100105,44,10264,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,1026401 +1100105,44,10265,1,34,1,45,1,1,1,1,-9,2,928P,9590.0,1026501 +1100105,44,10266,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,1026601 +1100105,44,10267,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,1026701 +1100105,44,10268,1,29,2,50,1,1,1,1,-9,4,928P,9590.0,1026801 +1100105,44,10269,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,1026901 +1100105,44,10270,1,25,1,70,1,1,1,1,16,4,928P,9590.0,1027001 +1100105,44,10271,1,31,2,40,1,1,1,1,-9,4,5417,7460.0,1027101 +1100105,44,10272,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,1027201 +1100105,44,10273,1,34,2,45,1,1,1,1,-9,4,92M2,9570.0,1027301 +1100105,44,10274,1,25,1,40,1,1,1,1,-9,4,5416,7390.0,1027401 +1100105,44,10275,1,32,1,45,1,1,1,1,-9,4,92MP,9470.0,1027501 +1100105,44,10276,1,29,1,60,1,1,1,1,-9,4,531M,7071.0,1027601 +1100105,44,10277,1,33,1,50,1,1,1,3,-9,4,622M,8191.0,1027701 +1100105,44,10278,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,1027801 +1100105,44,10279,1,29,2,45,1,1,8,14,-9,4,52M2,6970.0,1027901 +1100105,44,10280,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,1028001 +1100105,44,10281,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1028101 +1100105,44,10282,1,77,2,-9,-9,6,1,1,-9,4,5412,7280.0,1028201 +1100105,44,10283,1,68,1,-9,-9,6,1,1,-9,4,928P,9590.0,1028301 +1100105,44,10284,1,65,2,40,1,1,2,1,-9,4,5411,7270.0,1028401 +1100105,44,10285,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1028501 +1100105,44,10286,1,70,1,12,1,1,1,1,-9,2,8131,9160.0,1028601 +1100105,44,10287,1,65,1,45,4,1,1,1,-9,4,92M2,9570.0,1028701 +1100105,44,10288,1,65,1,45,4,1,1,1,-9,4,92M2,9570.0,1028801 +1100105,44,10289,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1028901 +1100105,44,10290,1,36,1,40,1,1,6,1,-9,4,813M,9170.0,1029001 +1100105,44,10291,1,52,2,40,1,1,6,1,-9,4,928P,9590.0,1029101 +1100105,44,10292,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,1029201 +1100105,44,10293,1,57,2,50,1,1,2,1,-9,4,7211,8660.0,1029301 +1100105,44,10294,1,44,1,30,1,1,2,1,-9,4,33641M1,3580.0,1029401 +1100105,44,10295,1,51,1,40,1,1,1,1,-9,4,561M,7780.0,1029501 +1100105,44,10296,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,1029601 +1100105,44,10297,1,40,2,40,1,1,1,1,-9,4,9211MP,9370.0,1029701 +1100105,44,10298,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,1029801 +1100105,44,10299,1,42,2,40,1,1,1,1,-9,4,6241,8370.0,1029901 +1100105,44,10300,1,36,2,50,1,1,1,1,-9,4,813M,9170.0,1030001 +1100105,44,10301,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,1030101 +1100105,44,10302,1,37,1,35,1,1,1,1,-9,4,6111,7860.0,1030201 +1100105,44,10303,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,1030301 +1100105,44,10304,1,41,1,40,1,1,1,1,-9,4,5415,7380.0,1030401 +1100105,44,10305,1,49,2,40,1,1,1,1,-9,4,6111,7860.0,1030501 +1100105,44,10306,1,35,1,45,1,1,1,1,-9,4,515,6670.0,1030601 +1100105,44,10307,1,35,1,45,1,1,1,1,-9,4,515,6670.0,1030701 +1100105,44,10308,1,35,1,40,1,1,1,1,-9,4,92M1,9490.0,1030801 +1100105,44,10309,1,38,2,70,1,1,1,1,-9,4,7211,8660.0,1030901 +1100105,44,10310,1,40,2,40,1,1,1,21,-9,4,813M,9170.0,1031001 +1100105,44,10311,1,38,2,40,1,1,1,7,-9,4,813M,9170.0,1031101 +1100105,44,10312,1,40,2,40,1,1,1,21,-9,4,813M,9170.0,1031201 +1100105,44,10313,1,27,1,45,1,1,9,1,-9,4,813M,9170.0,1031301 +1100105,44,10314,1,29,2,45,1,1,9,1,-9,4,5413,7290.0,1031401 +1100105,44,10315,1,25,1,40,3,1,9,1,-9,4,5413,7290.0,1031501 +1100105,44,10316,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,1031601 +1100105,44,10317,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1031701 +1100105,44,10318,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,1031801 +1100105,44,10319,1,29,1,40,1,1,9,1,-9,4,6111,7860.0,1031901 +1100105,44,10320,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,1032001 +1100105,44,10321,1,32,1,40,1,1,9,1,-9,4,92113,9380.0,1032101 +1100105,44,10322,1,23,1,65,1,1,9,1,15,4,5416,7390.0,1032201 +1100105,44,10323,1,31,2,28,1,1,6,1,-9,4,5419Z,7490.0,1032301 +1100105,44,10324,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,1032401 +1100105,44,10325,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,1032501 +1100105,44,10326,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,1032601 +1100105,44,10327,1,26,2,40,1,1,6,1,16,2,622M,8191.0,1032701 +1100105,44,10328,1,31,2,40,1,1,6,1,-9,4,5416,7390.0,1032801 +1100105,44,10329,1,30,1,40,1,1,6,1,-9,4,5413,7290.0,1032901 +1100105,44,10330,1,30,1,42,1,1,6,1,-9,4,813M,9170.0,1033001 +1100105,44,10331,1,25,2,40,1,1,6,1,-9,4,5416,7390.0,1033101 +1100105,44,10332,1,25,2,50,4,1,6,1,-9,4,5411,7270.0,1033201 +1100105,44,10333,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,1033301 +1100105,44,10334,1,34,2,50,1,1,2,1,-9,4,5417,7460.0,1033401 +1100105,44,10335,1,29,2,50,1,1,2,1,16,4,5241,6991.0,1033501 +1100105,44,10336,1,30,2,40,1,1,2,1,-9,4,611M1,7870.0,1033601 +1100105,44,10337,1,26,2,37,1,1,1,1,-9,4,813M,9170.0,1033701 +1100105,44,10338,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,1033801 +1100105,44,10339,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1033901 +1100105,44,10340,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,1034001 +1100105,44,10341,1,33,1,40,1,1,1,1,-9,4,55,7570.0,1034101 +1100105,44,10342,1,33,2,60,1,1,1,1,-9,4,611M3,7890.0,1034201 +1100105,44,10343,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,1034301 +1100105,44,10344,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,1034401 +1100105,44,10345,1,27,2,45,3,1,1,1,-9,4,5419Z,7490.0,1034501 +1100105,44,10346,1,31,2,40,1,1,1,1,-9,4,52M2,6970.0,1034601 +1100105,44,10347,1,31,2,36,1,1,1,1,15,4,813M,9170.0,1034701 +1100105,44,10348,1,31,2,45,1,1,1,1,-9,4,813M,9170.0,1034801 +1100105,44,10349,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,1034901 +1100105,44,10350,1,29,2,50,1,1,1,1,-9,4,611M1,7870.0,1035001 +1100105,44,10351,1,33,2,40,1,1,1,1,-9,4,211,370.0,1035101 +1100105,44,10352,1,26,1,50,3,1,1,1,-9,4,5416,7390.0,1035201 +1100105,44,10353,1,29,2,50,1,4,1,1,-9,1,928110P1,9670.0,1035301 +1100105,44,10354,1,27,2,40,1,1,1,1,-9,4,92M1,9490.0,1035401 +1100105,44,10355,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,1035501 +1100105,44,10356,1,31,1,50,1,1,1,1,-9,4,813M,9170.0,1035601 +1100105,44,10357,1,27,2,50,1,1,1,1,-9,4,813M,9170.0,1035701 +1100105,44,10358,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1035801 +1100105,44,10359,1,25,1,45,1,1,1,1,-9,4,52M2,6970.0,1035901 +1100105,44,10360,1,30,1,40,1,1,1,1,-9,4,813M,9170.0,1036001 +1100105,44,10361,1,31,1,40,1,1,1,1,-9,4,522M,6890.0,1036101 +1100105,44,10362,1,25,1,45,1,1,1,1,-9,4,52M2,6970.0,1036201 +1100105,44,10363,1,27,2,40,1,1,1,1,-9,4,92M1,9490.0,1036301 +1100105,44,10364,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,1036401 +1100105,44,10365,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,1036501 +1100105,44,10366,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,1036601 +1100105,44,10367,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1036701 +1100105,44,10368,1,27,2,45,1,1,1,1,-9,4,611M1,7870.0,1036801 +1100105,44,10369,1,28,2,40,1,1,1,1,-9,4,92M2,9570.0,1036901 +1100105,44,10370,1,32,1,50,1,1,1,1,-9,4,92M2,9570.0,1037001 +1100105,44,10371,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,1037101 +1100105,44,10372,1,32,2,50,1,1,1,1,-9,4,813M,9170.0,1037201 +1100105,44,10373,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,1037301 +1100105,44,10374,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,1037401 +1100105,44,10375,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,1037501 +1100105,44,10376,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,1037601 +1100105,44,10377,1,29,1,45,1,1,1,1,-9,4,561M,7780.0,1037701 +1100105,44,10378,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1037801 +1100105,44,10379,1,31,2,40,1,1,1,1,-9,4,5412,7280.0,1037901 +1100105,44,10380,1,28,2,42,1,1,1,1,-9,4,44511,4971.0,1038001 +1100105,44,10381,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1038101 +1100105,44,10382,1,31,1,50,1,1,1,1,-9,2,5415,7380.0,1038201 +1100105,44,10383,1,31,2,40,1,1,1,1,-9,4,81393,9180.0,1038301 +1100105,44,10384,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1038401 +1100105,44,10385,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,1038501 +1100105,44,10386,1,28,2,35,1,1,1,1,-9,4,6216,8170.0,1038601 +1100105,44,10387,1,27,2,40,1,1,1,1,-9,4,923,9480.0,1038701 +1100105,44,10388,1,30,1,42,1,1,1,1,-9,4,51912,6770.0,1038801 +1100105,44,10389,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,1038901 +1100105,44,10390,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,1039001 +1100105,44,10391,1,29,2,40,1,1,1,1,-9,4,928P,9590.0,1039101 +1100105,44,10392,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1039201 +1100105,44,10393,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,1039301 +1100105,44,10394,1,31,2,45,1,1,1,1,16,4,5416,7390.0,1039401 +1100105,44,10395,1,29,1,45,1,4,1,1,-9,1,928110P3,9690.0,1039501 +1100105,44,10396,1,29,1,45,1,1,1,1,-9,4,561M,7780.0,1039601 +1100105,44,10397,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,1039701 +1100105,44,10398,1,26,2,37,1,1,1,1,-9,4,813M,9170.0,1039801 +1100105,44,10399,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,1039901 +1100105,44,10400,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,1040001 +1100105,44,10401,1,27,2,45,1,1,1,1,-9,4,5416,7390.0,1040101 +1100105,44,10402,1,33,2,60,1,1,1,1,-9,4,611M3,7890.0,1040201 +1100105,44,10403,1,32,2,32,1,1,1,1,-9,4,814,9290.0,1040301 +1100105,44,10404,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,1040401 +1100105,44,10405,1,34,2,38,1,1,1,1,-9,4,611M3,7890.0,1040501 +1100105,44,10406,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,1040601 +1100105,44,10407,1,31,1,50,1,1,1,1,-9,2,5415,7380.0,1040701 +1100105,44,10408,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,1040801 +1100105,44,10409,1,24,2,48,1,1,1,1,-9,4,5418,7470.0,1040901 +1100105,44,10410,1,26,2,40,1,1,1,1,-9,4,8139Z,9190.0,1041001 +1100105,44,10411,1,27,2,45,3,1,1,1,-9,4,5419Z,7490.0,1041101 +1100105,44,10412,1,33,2,40,1,1,1,2,-9,4,9211MP,9370.0,1041201 +1100105,44,10413,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1041301 +1100105,44,10414,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1041401 +1100105,44,10415,1,33,2,40,1,1,2,10,-9,4,5416,7390.0,1041501 +1100105,44,10416,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,1041601 +1100105,44,10417,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,1041701 +1100105,44,10418,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1041801 +1100105,44,10419,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,1041901 +1100105,44,10420,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1042001 +1100105,44,10421,1,29,1,30,1,2,1,2,-9,4,711M,8563.0,1042101 +1100105,44,10422,1,33,2,40,1,1,1,2,-9,4,9211MP,9370.0,1042201 +1100105,44,10423,1,29,1,50,1,1,2,5,-9,4,5412,7280.0,1042301 +1100105,44,10424,1,26,2,45,1,1,1,3,-9,4,23,770.0,1042401 +1100105,44,10425,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1042501 +1100105,44,10426,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,1042601 +1100105,44,10427,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,1042701 +1100105,44,10428,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1042801 +1100105,44,10429,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1042901 +1100105,44,10430,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,1043001 +1100105,44,10431,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1043101 +1100105,44,10432,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1043201 +1100105,44,10433,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,1043301 +1100105,44,10434,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1043401 +1100105,44,10435,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1043501 +1100105,44,10436,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1043601 +1100105,44,10437,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1043701 +1100105,44,10438,1,62,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1043801 +1100105,44,10439,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1043901 +1100105,44,10440,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,1044001 +1100105,44,10441,1,67,2,25,5,1,2,1,-9,4,44611,5070.0,1044101 +1100105,44,10442,1,68,2,40,1,1,2,1,-9,4,6214,8090.0,1044201 +1100105,44,10443,1,80,1,40,1,1,1,1,-9,2,92M1,9490.0,1044301 +1100105,44,10444,1,67,1,50,1,1,1,1,-9,4,23,770.0,1044401 +1100105,44,10445,1,69,2,32,1,1,1,1,-9,4,8139Z,9190.0,1044501 +1100105,44,10446,1,69,2,32,1,1,1,1,-9,4,8139Z,9190.0,1044601 +1100105,44,10447,1,59,2,15,4,1,9,1,-9,4,52M2,6970.0,1044701 +1100105,44,10448,1,59,1,40,1,1,2,1,-9,2,6214,8090.0,1044801 +1100105,44,10449,1,39,1,50,1,1,2,1,-9,4,7115,8564.0,1044901 +1100105,44,10450,1,41,1,40,1,1,2,1,-9,4,5414,7370.0,1045001 +1100105,44,10451,1,35,1,25,2,1,2,1,16,4,9211MP,9370.0,1045101 +1100105,44,10452,1,58,2,40,1,1,1,1,-9,4,713Z,8590.0,1045201 +1100105,44,10453,1,55,1,60,1,1,1,1,-9,4,722Z,8680.0,1045301 +1100105,44,10454,1,54,1,60,1,1,1,1,-9,4,814,9290.0,1045401 +1100105,44,10455,1,36,1,40,3,2,1,1,-9,4,5417,7460.0,1045501 +1100105,44,10456,1,37,1,50,1,1,1,1,-9,4,9211MP,9370.0,1045601 +1100105,44,10457,1,36,1,40,3,2,1,1,-9,4,5417,7460.0,1045701 +1100105,44,10458,1,41,1,40,3,2,1,1,-9,4,7115,8564.0,1045801 +1100105,44,10459,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,1045901 +1100105,44,10460,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,1046001 +1100105,44,10461,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,1046101 +1100105,44,10462,1,23,1,40,4,1,9,1,-9,4,5417,7460.0,1046201 +1100105,44,10463,1,34,2,40,3,1,9,1,-9,4,5416,7390.0,1046301 +1100105,44,10464,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,1046401 +1100105,44,10465,1,34,2,40,3,1,9,1,-9,4,5416,7390.0,1046501 +1100105,44,10466,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,1046601 +1100105,44,10467,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,1046701 +1100105,44,10468,1,27,1,55,1,1,6,1,16,4,5191ZM,6780.0,1046801 +1100105,44,10469,1,25,2,40,2,1,6,1,-9,4,5415,7380.0,1046901 +1100105,44,10470,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,1047001 +1100105,44,10471,1,24,2,30,5,1,6,1,-9,4,813M,9170.0,1047101 +1100105,44,10472,1,24,1,40,1,1,6,1,-9,2,813M,9170.0,1047201 +1100105,44,10473,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,1047301 +1100105,44,10474,1,24,1,50,2,1,6,1,-9,4,5417,7460.0,1047401 +1100105,44,10475,1,32,1,20,3,1,6,1,16,4,611M1,7870.0,1047501 +1100105,44,10476,1,26,2,50,1,1,2,1,-9,4,9211MP,9370.0,1047601 +1100105,44,10477,1,26,2,50,1,1,2,1,-9,4,9211MP,9370.0,1047701 +1100105,44,10478,1,25,2,40,4,1,2,1,-9,4,6214,8090.0,1047801 +1100105,44,10479,1,26,1,40,1,1,1,1,-9,4,5417,7460.0,1047901 +1100105,44,10480,1,23,1,45,3,1,1,1,-9,4,454110,5593.0,1048001 +1100105,44,10481,1,30,2,40,1,1,1,1,-9,4,5615,7670.0,1048101 +1100105,44,10482,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1048201 +1100105,44,10483,1,24,2,40,1,1,1,1,-9,4,9211MP,9370.0,1048301 +1100105,44,10484,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,1048401 +1100105,44,10485,1,24,2,40,6,1,1,1,16,4,928P,9590.0,1048501 +1100105,44,10486,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,1048601 +1100105,44,10487,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1048701 +1100105,44,10488,1,25,1,50,1,1,1,1,16,4,5412,7280.0,1048801 +1100105,44,10489,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,1048901 +1100105,44,10490,1,31,1,20,1,1,1,1,16,4,443142,4795.0,1049001 +1100105,44,10491,1,31,1,20,1,1,1,1,16,4,443142,4795.0,1049101 +1100105,44,10492,1,24,2,40,1,1,1,1,-9,4,9211MP,9370.0,1049201 +1100105,44,10493,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,1049301 +1100105,44,10494,1,23,2,35,1,1,1,1,16,4,5417,7460.0,1049401 +1100105,44,10495,1,29,1,40,4,1,1,1,-9,2,5613,7580.0,1049501 +1100105,44,10496,1,25,2,40,1,1,1,1,-9,4,92M2,9570.0,1049601 +1100105,44,10497,1,26,1,90,1,1,1,1,16,4,5417,7460.0,1049701 +1100105,44,10498,1,25,1,35,1,1,1,1,-9,4,813M,9170.0,1049801 +1100105,44,10499,1,28,2,42,1,1,1,1,-9,4,812112,8980.0,1049901 +1100105,44,10500,1,28,2,40,5,1,1,1,-9,4,5418,7470.0,1050001 +1100105,44,10501,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1050101 +1100105,44,10502,1,28,2,50,1,1,1,1,-9,4,722Z,8680.0,1050201 +1100105,44,10503,1,30,2,45,3,1,1,1,-9,4,522M,6890.0,1050301 +1100105,44,10504,1,28,2,40,5,1,1,1,-9,4,5418,7470.0,1050401 +1100105,44,10505,1,29,1,40,4,1,1,1,-9,2,5613,7580.0,1050501 +1100105,44,10506,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,1050601 +1100105,44,10507,1,27,2,70,1,1,1,1,-9,4,481,6070.0,1050701 +1100105,44,10508,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1050801 +1100105,44,10509,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1050901 +1100105,44,10510,1,31,1,40,1,1,1,1,-9,4,531M,7071.0,1051001 +1100105,44,10511,1,34,2,40,5,1,1,1,-9,4,813M,9170.0,1051101 +1100105,44,10512,1,33,1,40,1,1,1,1,-9,4,515,6670.0,1051201 +1100105,44,10513,1,25,2,55,1,1,1,1,-9,4,813M,9170.0,1051301 +1100105,44,10514,1,25,1,35,1,1,1,1,-9,4,813M,9170.0,1051401 +1100105,44,10515,1,30,2,40,1,1,1,1,-9,4,5615,7670.0,1051501 +1100105,44,10516,1,26,2,68,1,1,1,1,-9,4,7115,8564.0,1051601 +1100105,44,10517,1,27,2,40,3,1,1,1,-9,4,482,6080.0,1051701 +1100105,44,10518,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,1051801 +1100105,44,10519,1,24,2,40,1,1,1,1,-9,4,9211MP,9370.0,1051901 +1100105,44,10520,1,27,2,70,1,1,1,1,-9,4,481,6070.0,1052001 +1100105,44,10521,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,1052101 +1100105,44,10522,1,28,1,40,1,1,1,1,-9,4,51111,6470.0,1052201 +1100105,44,10523,1,25,2,45,1,1,1,1,-9,4,515,6670.0,1052301 +1100105,44,10524,1,30,2,40,1,1,1,1,-9,4,623M,8290.0,1052401 +1100105,44,10525,1,23,2,40,3,1,1,4,-9,4,5417,7460.0,1052501 +1100105,44,10526,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,1052601 +1100105,44,10527,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,1052701 +1100105,44,10528,1,33,2,40,2,1,8,16,-9,4,712,8570.0,1052801 +1100105,44,10529,1,29,2,40,1,1,1,21,-9,4,928P,9590.0,1052901 +1100105,44,10530,1,32,2,38,4,1,1,2,-9,4,928P,9590.0,1053001 +1100105,44,10531,1,23,2,40,3,1,1,4,-9,4,5417,7460.0,1053101 +1100105,44,10532,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1053201 +1100105,44,10533,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1053301 +1100105,44,10534,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1053401 +1100105,44,10535,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1053501 +1100105,44,10536,1,84,1,-9,-9,6,2,1,-9,2,0,0.0,1053601 +1100105,44,10537,1,86,1,-9,-9,6,2,1,-9,2,0,0.0,1053701 +1100105,44,10538,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,1053801 +1100105,44,10539,1,82,1,-9,-9,6,2,1,-9,2,0,0.0,1053901 +1100105,44,10540,1,82,2,-9,-9,6,2,1,-9,4,5613,7580.0,1054001 +1100105,44,10541,1,71,1,-9,-9,6,1,1,-9,4,0,0.0,1054101 +1100105,44,10542,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,1054201 +1100105,44,10543,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1054301 +1100105,44,10544,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1054401 +1100105,44,10545,1,67,2,-9,-9,6,1,1,-9,4,5415,7380.0,1054501 +1100105,44,10546,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,1054601 +1100105,44,10547,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,1054701 +1100105,44,10548,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1054801 +1100105,44,10549,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,1054901 +1100105,44,10550,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,1055001 +1100105,44,10551,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1055101 +1100105,44,10552,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1055201 +1100105,44,10553,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,1055301 +1100105,44,10554,1,53,1,40,3,6,3,1,-9,4,562,7790.0,1055401 +1100105,44,10555,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,1055501 +1100105,44,10556,1,54,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1055601 +1100105,44,10557,1,42,2,-9,-9,6,1,1,16,4,0,0.0,1055701 +1100105,44,10558,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,1055801 +1100105,44,10559,1,27,2,-9,-9,6,2,1,-9,4,5616,7680.0,1055901 +1100105,44,10560,1,34,2,-9,-9,6,1,1,-9,4,611M1,7870.0,1056001 +1100105,44,10561,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1056101 +1100105,44,10562,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1056201 +1100105,44,10563,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,1056301 +1100105,44,10564,1,67,1,20,1,1,1,1,-9,4,23,770.0,1056401 +1100105,44,10565,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1056501 +1100105,44,10566,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,1056601 +1100105,44,10567,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,1056701 +1100105,44,10568,1,56,2,40,3,1,2,1,-9,4,481,6070.0,1056801 +1100105,44,10569,1,54,2,12,5,1,2,1,-9,4,6214,8090.0,1056901 +1100105,44,10570,1,38,1,20,3,1,1,1,-9,4,4481,5170.0,1057001 +1100105,44,10571,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,1057101 +1100105,44,10572,1,59,1,30,2,1,1,1,-9,4,4853,6190.0,1057201 +1100105,44,10573,1,64,1,30,1,1,1,1,-9,4,5419Z,7490.0,1057301 +1100105,44,10574,1,38,2,50,1,1,1,1,-9,4,928P,9590.0,1057401 +1100105,44,10575,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,1057501 +1100105,44,10576,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,1057601 +1100105,44,10577,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1057701 +1100105,44,10578,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1057801 +1100105,44,10579,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1057901 +1100105,44,10580,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1058001 +1100105,44,10581,1,21,2,10,3,1,6,1,15,4,45121,5370.0,1058101 +1100105,44,10582,1,31,2,16,2,1,6,1,-9,4,722Z,8680.0,1058201 +1100105,44,10583,1,20,2,40,4,1,6,1,15,4,5412,7280.0,1058301 +1100105,44,10584,1,20,2,40,4,1,6,1,15,4,5412,7280.0,1058401 +1100105,44,10585,1,24,2,17,1,1,2,1,-9,4,722Z,8680.0,1058501 +1100105,44,10586,1,26,2,40,1,1,2,1,-9,4,6214,8090.0,1058601 +1100105,44,10587,1,26,2,20,4,1,1,1,-9,4,52M2,6970.0,1058701 +1100105,44,10588,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,1058801 +1100105,44,10589,1,21,2,20,1,1,1,1,15,4,622M,8191.0,1058901 +1100105,44,10590,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,1059001 +1100105,44,10591,1,33,2,40,5,1,1,1,-9,4,813M,9170.0,1059101 +1100105,44,10592,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,1059201 +1100105,44,10593,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,1059301 +1100105,44,10594,1,25,1,35,1,1,1,1,16,4,813M,9170.0,1059401 +1100105,44,10595,1,26,2,35,5,1,1,1,-9,4,813M,9170.0,1059501 +1100105,44,10596,1,33,2,40,1,1,1,1,15,2,483,6090.0,1059601 +1100105,44,10597,1,22,2,15,3,1,1,1,15,4,611M1,7870.0,1059701 +1100105,44,10598,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,1059801 +1100105,44,10599,1,28,2,20,3,1,1,2,16,4,923,9480.0,1059901 +1100105,44,10600,1,28,2,40,5,1,1,23,-9,4,928P,9590.0,1060001 +1100105,44,10601,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,1060101 +1100105,44,10602,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,1060201 +1100105,44,10603,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,1060301 +1100105,44,10604,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,1060401 +1100105,44,10605,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,1060501 +1100105,44,10606,1,77,2,-9,-9,6,2,1,-9,4,813M,9170.0,1060601 +1100105,44,10607,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,1060701 +1100105,44,10608,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,1060801 +1100105,44,10609,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,1060901 +1100105,44,10610,1,66,1,-9,-9,6,2,1,-9,4,45321,5480.0,1061001 +1100105,44,10611,1,66,1,-9,-9,6,2,1,-9,4,45321,5480.0,1061101 +1100105,44,10612,1,73,2,-9,-9,6,2,1,-9,4,0,0.0,1061201 +1100105,44,10613,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1061301 +1100105,44,10614,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,1061401 +1100105,44,10615,1,70,1,-9,-9,6,2,1,-9,2,0,0.0,1061501 +1100105,44,10616,1,89,1,-9,-9,6,2,1,-9,4,0,0.0,1061601 +1100105,44,10617,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,1061701 +1100105,44,10618,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,1061801 +1100105,44,10619,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1061901 +1100105,44,10620,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,1062001 +1100105,44,10621,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,1062101 +1100105,44,10622,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1062201 +1100105,44,10623,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,1062301 +1100105,44,10624,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,1062401 +1100105,44,10625,1,82,2,-9,-9,6,1,1,-9,4,0,0.0,1062501 +1100105,44,10626,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1062601 +1100105,44,10627,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1062701 +1100105,44,10628,1,70,2,-9,-9,6,2,3,-9,4,0,0.0,1062801 +1100105,44,10629,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,1062901 +1100105,44,10630,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,1063001 +1100105,44,10631,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1063101 +1100105,44,10632,1,79,2,-9,-9,3,1,3,-9,4,999920,9920.0,1063201 +1100105,44,10633,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,1063301 +1100105,44,10634,1,38,1,-9,-9,6,6,1,-9,4,928P,9590.0,1063401 +1100105,44,10635,1,56,1,-9,-9,6,2,1,-9,4,0,0.0,1063501 +1100105,44,10636,1,56,1,-9,-9,6,2,1,-9,2,0,0.0,1063601 +1100105,44,10637,1,56,1,-9,-9,6,2,1,-9,2,0,0.0,1063701 +1100105,44,10638,1,49,2,-9,-9,6,2,1,16,4,6241,8370.0,1063801 +1100105,44,10639,1,56,2,-9,-9,6,2,1,-9,4,0,0.0,1063901 +1100105,44,10640,1,60,2,-9,-9,6,2,1,-9,4,4523,5391.0,1064001 +1100105,44,10641,1,48,1,-9,-9,6,1,1,-9,4,5313,7072.0,1064101 +1100105,44,10642,1,58,2,-9,-9,3,1,1,-9,4,999920,9920.0,1064201 +1100105,44,10643,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1064301 +1100105,44,10644,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,1064401 +1100105,44,10645,1,37,2,8,6,3,1,1,-9,4,611M1,7870.0,1064501 +1100105,44,10646,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,1064601 +1100105,44,10647,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,1064701 +1100105,44,10648,1,38,1,35,5,3,1,16,-9,4,5416,7390.0,1064801 +1100105,44,10649,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,1064901 +1100105,44,10650,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,1065001 +1100105,44,10651,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,1065101 +1100105,44,10652,1,26,1,-9,-9,6,6,1,-9,4,0,0.0,1065201 +1100105,44,10653,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1065301 +1100105,44,10654,1,27,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1065401 +1100105,44,10655,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1065501 +1100105,44,10656,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,1065601 +1100105,44,10657,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,1065701 +1100105,44,10658,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1065801 +1100105,44,10659,1,23,2,-9,-9,6,1,1,16,4,0,0.0,1065901 +1100105,44,10660,1,29,2,-9,-9,6,1,1,16,4,722Z,8680.0,1066001 +1100105,44,10661,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1066101 +1100105,44,10662,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1066201 +1100105,44,10663,1,26,2,-9,-9,6,9,16,-9,4,5411,7270.0,1066301 +1100105,44,10664,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1066401 +1100105,44,10665,1,28,2,8,6,3,8,19,-9,4,814,9290.0,1066501 +1100105,44,10666,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,1066601 +1100105,44,10667,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1066701 +1100105,45,10668,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,1066801 +1100105,45,10668,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,1066802 +1100105,45,10668,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,1066803 +1100105,45,10668,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,1066804 +1100105,45,10669,1,51,2,40,1,1,1,1,-9,4,611M1,7870.0,1066901 +1100105,45,10669,2,16,2,-9,-9,6,1,1,13,-9,0,0.0,1066902 +1100105,45,10669,3,10,2,-9,-9,-9,1,1,5,-9,0,0.0,1066903 +1100105,45,10669,4,10,2,-9,-9,-9,1,1,6,-9,0,0.0,1066904 +1100105,45,10670,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,1067001 +1100105,45,10670,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,1067002 +1100105,45,10670,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,1067003 +1100105,45,10670,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,1067004 +1100105,45,10671,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1067101 +1100105,45,10671,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1067102 +1100105,45,10671,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1067103 +1100105,45,10671,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1067104 +1100105,45,10672,1,52,1,40,1,1,1,1,-9,2,92MP,9470.0,1067201 +1100105,45,10672,2,53,2,40,1,1,1,1,-9,2,92MP,9470.0,1067202 +1100105,45,10672,3,22,2,40,1,1,1,1,-9,4,7211,8660.0,1067203 +1100105,45,10673,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,1067301 +1100105,45,10673,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,1067302 +1100105,45,10673,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,1067303 +1100105,45,10674,1,29,2,45,1,1,1,1,16,4,9211MP,9370.0,1067401 +1100105,45,10674,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,1067402 +1100105,45,10674,3,25,1,45,1,1,1,1,-9,4,5417,7460.0,1067403 +1100105,45,10675,1,23,2,40,3,1,1,1,-9,4,5411,7270.0,1067501 +1100105,45,10675,2,29,1,50,1,1,1,1,16,4,928P,9590.0,1067502 +1100105,45,10675,3,25,2,50,1,1,1,1,-9,4,813M,9170.0,1067503 +1100105,45,10676,1,53,2,40,1,1,1,1,-9,4,928P,9590.0,1067601 +1100105,45,10676,2,54,1,40,1,1,1,1,-9,4,928P,9590.0,1067602 +1100105,45,10676,3,21,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1067603 +1100105,45,10677,1,37,2,40,1,1,1,1,-9,4,5415,7380.0,1067701 +1100105,45,10677,2,40,1,40,1,1,6,1,-9,4,622M,8191.0,1067702 +1100105,45,10677,3,0,1,-9,-9,-9,8,1,-9,-9,0,0.0,1067703 +1100105,45,10678,1,43,1,50,1,1,1,1,-9,4,485M,6180.0,1067801 +1100105,45,10678,2,35,2,40,1,1,9,1,-9,4,92M1,9490.0,1067802 +1100105,45,10678,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1067803 +1100105,45,10679,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,1067901 +1100105,45,10679,2,35,2,50,1,1,6,1,-9,4,92MP,9470.0,1067902 +1100105,45,10679,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1067903 +1100105,45,10680,1,41,1,40,1,1,1,1,-9,4,92M1,9490.0,1068001 +1100105,45,10680,2,40,2,45,1,2,1,1,-9,4,52M1,6870.0,1068002 +1100105,45,10680,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1068003 +1100105,45,10681,1,40,1,60,1,1,1,1,-9,4,5411,7270.0,1068101 +1100105,45,10681,2,37,2,30,1,1,1,1,-9,4,713Z,8590.0,1068102 +1100105,45,10681,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1068103 +1100105,45,10682,1,41,1,40,1,1,1,1,-9,4,92M1,9490.0,1068201 +1100105,45,10682,2,40,2,45,1,2,1,1,-9,4,52M1,6870.0,1068202 +1100105,45,10682,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1068203 +1100105,45,10683,1,40,1,60,1,1,1,1,-9,4,5411,7270.0,1068301 +1100105,45,10683,2,37,2,30,1,1,1,1,-9,4,713Z,8590.0,1068302 +1100105,45,10683,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1068303 +1100105,45,10684,1,41,2,24,1,1,1,1,-9,4,813M,9170.0,1068401 +1100105,45,10684,2,43,1,40,1,1,1,1,-9,4,92M2,9570.0,1068402 +1100105,45,10684,3,1,2,-9,-9,-9,9,3,-9,-9,0,0.0,1068403 +1100105,45,10685,1,35,1,40,1,1,1,1,-9,4,51111,6470.0,1068501 +1100105,45,10685,2,33,2,50,1,1,6,1,-9,4,52M1,6870.0,1068502 +1100105,45,10685,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,1068503 +1100105,45,10686,1,36,1,40,1,1,1,1,-9,4,928P,9590.0,1068601 +1100105,45,10686,2,31,2,45,1,1,1,1,-9,4,5412,7280.0,1068602 +1100105,45,10686,3,2,2,-9,-9,-9,1,1,-9,-9,0,0.0,1068603 +1100105,45,10687,1,39,1,45,1,1,1,1,-9,4,5415,7380.0,1068701 +1100105,45,10687,2,33,2,40,1,1,1,1,-9,4,5415,7380.0,1068702 +1100105,45,10687,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1068703 +1100105,45,10688,1,32,2,40,3,1,1,1,-9,4,928P,9590.0,1068801 +1100105,45,10688,2,38,1,40,3,1,1,1,-9,4,813M,9170.0,1068802 +1100105,45,10688,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1068803 +1100105,45,10689,1,33,2,60,1,1,1,3,-9,4,51913,6672.0,1068901 +1100105,45,10689,2,36,1,60,1,1,1,1,-9,4,5416,7390.0,1068902 +1100105,45,10689,3,0,1,-9,-9,-9,1,3,-9,-9,0,0.0,1068903 +1100105,45,10690,1,34,1,40,1,1,6,1,-9,4,9211MP,9370.0,1069001 +1100105,45,10690,2,33,2,40,1,1,6,1,-9,4,5416,7390.0,1069002 +1100105,45,10690,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,1069003 +1100105,45,10691,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,1069101 +1100105,45,10691,2,31,1,50,1,1,1,1,-9,4,2211P,570.0,1069102 +1100105,45,10691,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1069103 +1100105,45,10692,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,1069201 +1100105,45,10692,2,31,1,50,1,1,1,1,-9,4,2211P,570.0,1069202 +1100105,45,10692,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1069203 +1100105,45,10693,1,35,1,50,2,1,6,1,-9,4,5416,7390.0,1069301 +1100105,45,10693,2,35,2,-9,-9,6,6,1,-9,4,0,0.0,1069302 +1100105,45,10693,3,4,2,-9,-9,-9,6,1,1,-9,0,0.0,1069303 +1100105,45,10694,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,1069401 +1100105,45,10694,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,1069402 +1100105,45,10694,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,1069403 +1100105,45,10695,1,40,1,60,1,1,1,1,-9,4,92M2,9570.0,1069501 +1100105,45,10695,2,30,2,40,6,6,1,1,-9,4,5416,7390.0,1069502 +1100105,45,10695,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1069503 +1100105,45,10696,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,1069601 +1100105,45,10696,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,1069602 +1100105,45,10696,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1069603 +1100105,45,10697,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,1069701 +1100105,45,10697,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,1069702 +1100105,45,10697,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1069703 +1100105,45,10698,1,25,1,50,1,1,1,1,-9,4,9211MP,9370.0,1069801 +1100105,45,10698,2,31,1,50,1,1,1,1,-9,4,5418,7470.0,1069802 +1100105,45,10698,3,29,1,50,1,1,1,1,-9,4,9211MP,9370.0,1069803 +1100105,45,10699,1,22,1,40,1,1,1,1,-9,4,5417,7460.0,1069901 +1100105,45,10699,2,23,2,40,4,1,1,1,-9,4,813M,9170.0,1069902 +1100105,45,10699,3,23,2,60,1,1,1,1,-9,4,5416,7390.0,1069903 +1100105,45,10700,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,1070001 +1100105,45,10700,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,1070002 +1100105,45,10700,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,1070003 +1100105,45,10701,1,47,1,40,1,1,1,1,-9,4,813M,9170.0,1070101 +1100105,45,10701,2,39,2,40,1,1,1,1,-9,4,81393,9180.0,1070102 +1100105,45,10701,3,3,1,-9,-9,-9,1,1,-9,-9,0,0.0,1070103 +1100105,45,10702,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,1070201 +1100105,45,10702,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,1070202 +1100105,45,10702,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,1070203 +1100105,45,10703,1,23,1,30,5,1,1,1,15,4,332MZ,2980.0,1070301 +1100105,45,10703,2,25,1,50,1,1,1,1,16,4,611M1,7870.0,1070302 +1100105,45,10703,3,25,1,45,1,4,1,1,-9,1,928110P6,9790.0,1070303 +1100105,45,10704,1,46,1,40,1,1,1,1,-9,4,92M2,9570.0,1070401 +1100105,45,10704,2,43,2,40,1,1,1,1,-9,4,92M2,9570.0,1070402 +1100105,45,10704,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,1070403 +1100105,45,10705,1,34,1,60,1,1,1,1,-9,4,92113,9380.0,1070501 +1100105,45,10705,2,33,2,-9,-9,6,1,1,16,4,5413,7290.0,1070502 +1100105,45,10705,3,3,1,-9,-9,-9,1,1,1,-9,0,0.0,1070503 +1100105,45,10706,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1070601 +1100105,45,10706,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,1070602 +1100105,45,10706,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,1070603 +1100105,45,10707,1,27,2,20,1,1,1,1,16,4,923,9480.0,1070701 +1100105,45,10707,2,24,2,-9,-9,6,1,1,15,4,0,0.0,1070702 +1100105,45,10707,3,23,2,20,1,1,1,24,15,4,5415,7380.0,1070703 +1100105,45,10708,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,1070801 +1100105,45,10708,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,1070802 +1100105,45,10708,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,1070803 +1100105,45,10709,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,1070901 +1100105,45,10709,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,1070902 +1100105,45,10709,3,21,1,15,1,1,1,1,15,4,621M,8180.0,1070903 +1100105,45,10710,1,63,2,-9,-9,6,2,1,-9,2,0,0.0,1071001 +1100105,45,10710,2,22,1,30,6,1,2,1,15,4,722Z,8680.0,1071002 +1100105,45,10710,3,19,2,20,6,1,2,1,-9,4,45221,5381.0,1071003 +1100105,45,10711,1,20,2,10,6,6,1,1,15,4,6244,8470.0,1071101 +1100105,45,10711,2,20,2,20,5,6,6,1,15,4,611M1,7870.0,1071102 +1100105,45,10711,3,20,2,45,1,1,1,1,15,4,9211MP,9370.0,1071103 +1100105,45,10712,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1071201 +1100105,45,10712,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1071202 +1100105,45,10712,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1071203 +1100105,45,10713,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1071301 +1100105,45,10713,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1071302 +1100105,45,10713,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1071303 +1100105,45,10714,1,52,1,40,2,1,2,1,-9,4,6111,7860.0,1071401 +1100105,45,10714,2,18,1,20,6,6,2,1,14,4,6111,7860.0,1071402 +1100105,45,10714,3,51,1,-9,-9,6,2,1,-9,2,23,770.0,1071403 +1100105,45,10715,1,31,2,40,3,1,2,1,-9,4,6111,7860.0,1071501 +1100105,45,10715,2,12,1,-9,-9,-9,2,1,8,-9,0,0.0,1071502 +1100105,45,10715,3,9,2,-9,-9,-9,2,1,6,-9,0,0.0,1071503 +1100105,45,10716,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1071601 +1100105,45,10716,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1071602 +1100105,45,10716,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1071603 +1100105,45,10717,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,1071701 +1100105,45,10717,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,1071702 +1100105,45,10717,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,1071703 +1100105,45,10718,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,1071801 +1100105,45,10718,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,1071802 +1100105,45,10718,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,1071803 +1100105,45,10719,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,1071901 +1100105,45,10719,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,1071902 +1100105,45,10719,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,1071903 +1100105,45,10720,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,1072001 +1100105,45,10720,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,1072002 +1100105,45,10720,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1072003 +1100105,45,10721,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,1072101 +1100105,45,10721,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,1072102 +1100105,45,10721,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1072103 +1100105,45,10722,1,65,1,42,1,1,1,1,-9,4,92M2,9570.0,1072201 +1100105,45,10722,2,71,1,38,1,1,1,1,-9,4,5615,7670.0,1072202 +1100105,45,10723,1,81,2,25,1,1,1,1,-9,4,51111,6470.0,1072301 +1100105,45,10723,2,48,2,40,1,1,1,1,-9,4,622M,8191.0,1072302 +1100105,45,10724,1,43,2,40,1,1,6,1,-9,4,5416,7390.0,1072401 +1100105,45,10724,2,45,1,55,1,1,6,1,-9,4,622M,8191.0,1072402 +1100105,45,10725,1,44,1,40,6,1,9,1,-9,4,813M,9170.0,1072501 +1100105,45,10725,2,50,1,40,1,1,1,1,-9,4,611M3,7890.0,1072502 +1100105,45,10726,1,38,1,50,1,1,1,1,-9,4,8139Z,9190.0,1072601 +1100105,45,10726,2,35,2,40,1,1,6,1,-9,4,5613,7580.0,1072602 +1100105,45,10727,1,39,2,40,1,1,6,1,-9,4,92MP,9470.0,1072701 +1100105,45,10727,2,42,1,40,1,1,1,1,-9,4,928P,9590.0,1072702 +1100105,45,10728,1,58,1,50,1,1,1,1,-9,4,485M,6180.0,1072801 +1100105,45,10728,2,60,2,40,1,1,1,1,-9,4,611M1,7870.0,1072802 +1100105,45,10729,1,56,1,52,1,1,1,1,15,2,5416,7390.0,1072901 +1100105,45,10729,2,43,2,52,1,1,1,1,-9,4,813M,9170.0,1072902 +1100105,45,10730,1,39,2,50,1,1,1,1,-9,4,813M,9170.0,1073001 +1100105,45,10730,2,45,1,40,1,1,1,1,-9,4,3231,1990.0,1073002 +1100105,45,10731,1,56,2,34,4,1,1,1,-9,4,814,9290.0,1073101 +1100105,45,10731,2,57,1,45,1,1,1,1,-9,4,5411,7270.0,1073102 +1100105,45,10732,1,56,2,34,4,1,1,1,-9,4,814,9290.0,1073201 +1100105,45,10732,2,57,1,45,1,1,1,1,-9,4,5411,7270.0,1073202 +1100105,45,10733,1,54,2,60,1,1,1,1,-9,4,5413,7290.0,1073301 +1100105,45,10733,2,44,1,60,1,1,1,1,-9,4,5413,7290.0,1073302 +1100105,45,10734,1,58,1,50,1,1,1,1,-9,4,485M,6180.0,1073401 +1100105,45,10734,2,60,2,40,1,1,1,1,-9,4,611M1,7870.0,1073402 +1100105,45,10735,1,36,2,50,1,1,1,1,-9,4,6213ZM,8080.0,1073501 +1100105,45,10735,2,39,1,40,1,1,1,1,-9,4,9211MP,9370.0,1073502 +1100105,45,10736,1,39,2,50,1,1,1,1,-9,4,813M,9170.0,1073601 +1100105,45,10736,2,45,1,40,1,1,1,1,-9,4,3231,1990.0,1073602 +1100105,45,10737,1,38,2,50,1,1,1,1,-9,4,8139Z,9190.0,1073701 +1100105,45,10737,2,39,1,45,1,1,1,1,-9,4,611M1,7870.0,1073702 +1100105,45,10738,1,42,2,45,1,1,1,1,-9,4,5416,7390.0,1073801 +1100105,45,10738,2,41,1,40,1,1,1,1,-9,4,5415,7380.0,1073802 +1100105,45,10739,1,53,1,20,5,1,1,1,-9,4,611M3,7890.0,1073901 +1100105,45,10739,2,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1073902 +1100105,45,10740,1,37,1,50,1,1,1,1,-9,4,928P,9590.0,1074001 +1100105,45,10740,2,36,2,60,1,1,1,1,-9,4,5411,7270.0,1074002 +1100105,45,10741,1,46,2,40,1,1,1,1,-9,4,5111Z,6480.0,1074101 +1100105,45,10741,2,54,1,60,1,1,1,1,-9,4,4539,5580.0,1074102 +1100105,45,10742,1,44,1,58,1,4,1,1,-9,1,928110P3,9690.0,1074201 +1100105,45,10742,2,46,2,40,1,1,1,1,-9,4,5416,7390.0,1074202 +1100105,45,10743,1,39,2,50,1,1,1,1,-9,4,813M,9170.0,1074301 +1100105,45,10743,2,45,1,40,1,1,1,1,-9,4,3231,1990.0,1074302 +1100105,45,10744,1,46,2,40,1,1,1,1,-9,4,928P,9590.0,1074401 +1100105,45,10744,2,45,1,50,1,1,1,1,-9,4,5112,6490.0,1074402 +1100105,45,10745,1,48,2,40,4,1,1,2,-9,2,5417,7460.0,1074501 +1100105,45,10745,2,47,2,50,1,1,1,1,-9,4,611M1,7870.0,1074502 +1100105,45,10746,1,37,1,40,1,1,1,1,-9,4,92M2,9570.0,1074601 +1100105,45,10746,2,35,2,43,1,1,1,3,-9,4,5416,7390.0,1074602 +1100105,45,10747,1,36,2,50,1,1,1,23,-9,4,4234,4170.0,1074701 +1100105,45,10747,2,35,1,40,1,1,9,23,-9,4,611M1,7870.0,1074702 +1100105,45,10748,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,1074801 +1100105,45,10748,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,1074802 +1100105,45,10749,1,34,1,50,1,1,1,1,-9,4,611M1,7870.0,1074901 +1100105,45,10749,2,36,2,60,1,1,1,1,-9,4,813M,9170.0,1074902 +1100105,45,10750,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,1075001 +1100105,45,10750,2,32,2,50,4,1,1,1,-9,4,8139Z,9190.0,1075002 +1100105,45,10751,1,34,2,50,1,1,1,1,-9,4,92M2,9570.0,1075101 +1100105,45,10751,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,1075102 +1100105,45,10752,1,37,1,55,1,1,1,1,-9,4,443142,4795.0,1075201 +1100105,45,10752,2,29,2,40,1,1,1,1,-9,4,5417,7460.0,1075202 +1100105,45,10753,1,46,1,60,1,1,1,1,-9,4,5411,7270.0,1075301 +1100105,45,10753,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,1075302 +1100105,45,10754,1,58,1,40,1,1,1,1,-9,4,5416,7390.0,1075401 +1100105,45,10754,2,34,2,50,1,1,1,1,-9,4,622M,8191.0,1075402 +1100105,45,10755,1,34,2,50,1,1,1,1,-9,4,92M2,9570.0,1075501 +1100105,45,10755,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,1075502 +1100105,45,10756,1,35,1,85,1,1,1,1,-9,4,5411,7270.0,1075601 +1100105,45,10756,2,34,2,50,1,1,1,1,-9,4,3254,2190.0,1075602 +1100105,45,10757,1,39,1,60,1,1,8,3,-9,4,5416,7390.0,1075701 +1100105,45,10757,2,29,2,40,1,1,1,1,-9,4,6211,7970.0,1075702 +1100105,45,10758,1,32,2,40,1,1,6,1,-9,4,5413,7290.0,1075801 +1100105,45,10758,2,34,1,80,1,1,6,1,-9,4,5416,7390.0,1075802 +1100105,45,10759,1,31,2,55,1,1,6,1,-9,4,7211,8660.0,1075901 +1100105,45,10759,2,31,1,60,1,1,1,1,-9,4,5411,7270.0,1075902 +1100105,45,10760,1,31,2,40,1,1,1,1,-9,4,8139Z,9190.0,1076001 +1100105,45,10760,2,31,1,40,2,1,6,1,-9,4,5418,7470.0,1076002 +1100105,45,10761,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,1076101 +1100105,45,10761,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1076102 +1100105,45,10762,1,23,1,50,1,1,1,1,-9,4,5416,7390.0,1076201 +1100105,45,10762,2,22,1,8,4,1,1,1,15,4,611M1,7870.0,1076202 +1100105,45,10763,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,1076301 +1100105,45,10763,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,1076302 +1100105,45,10764,1,33,2,40,1,1,1,1,-9,4,622M,8191.0,1076401 +1100105,45,10764,2,32,1,80,1,1,1,1,-9,4,7211,8660.0,1076402 +1100105,45,10765,1,27,1,40,1,1,1,1,-9,4,5416,7390.0,1076501 +1100105,45,10765,2,26,2,50,1,1,1,1,-9,4,928P,9590.0,1076502 +1100105,45,10766,1,30,1,50,1,1,1,1,-9,4,5411,7270.0,1076601 +1100105,45,10766,2,31,1,40,1,1,1,1,-9,4,5415,7380.0,1076602 +1100105,45,10767,1,32,1,40,1,1,1,1,-9,4,611M3,7890.0,1076701 +1100105,45,10767,2,32,2,50,1,1,1,1,-9,4,712,8570.0,1076702 +1100105,45,10768,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,1076801 +1100105,45,10768,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,1076802 +1100105,45,10769,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,1076901 +1100105,45,10769,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,1076902 +1100105,45,10770,1,27,1,40,1,1,1,1,-9,4,5416,7390.0,1077001 +1100105,45,10770,2,26,2,50,1,1,1,1,-9,4,928P,9590.0,1077002 +1100105,45,10771,1,32,1,40,1,1,1,1,-9,4,813M,9170.0,1077101 +1100105,45,10771,2,28,2,40,1,1,1,1,-9,4,481,6070.0,1077102 +1100105,45,10772,1,34,1,60,1,1,1,1,-9,4,928P,9590.0,1077201 +1100105,45,10772,2,27,1,60,1,1,1,1,-9,4,92MP,9470.0,1077202 +1100105,45,10773,1,34,1,50,1,1,1,1,-9,2,6241,8370.0,1077301 +1100105,45,10773,2,31,2,40,1,1,1,1,-9,4,92M1,9490.0,1077302 +1100105,45,10774,1,34,2,50,1,1,1,1,-9,4,5241,6991.0,1077401 +1100105,45,10774,2,34,1,45,1,1,1,1,-9,4,92M2,9570.0,1077402 +1100105,45,10775,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,1077501 +1100105,45,10775,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,1077502 +1100105,45,10776,1,31,2,40,1,1,1,1,-9,4,713Z,8590.0,1077601 +1100105,45,10776,2,32,1,60,1,1,1,1,-9,4,5416,7390.0,1077602 +1100105,45,10777,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,1077701 +1100105,45,10777,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,1077702 +1100105,45,10778,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,1077801 +1100105,45,10778,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1077802 +1100105,45,10779,1,27,2,50,1,1,1,1,-9,4,5416,7390.0,1077901 +1100105,45,10779,2,25,1,50,1,1,1,1,-9,4,5412,7280.0,1077902 +1100105,45,10780,1,32,1,43,1,1,1,13,-9,4,23,770.0,1078001 +1100105,45,10780,2,31,2,55,1,1,1,1,-9,4,5411,7270.0,1078002 +1100105,45,10781,1,79,1,50,1,1,1,1,-9,2,5241,6991.0,1078101 +1100105,45,10781,2,79,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1078102 +1100105,45,10782,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1078201 +1100105,45,10782,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,1078202 +1100105,45,10783,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1078301 +1100105,45,10783,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,1078302 +1100105,45,10784,1,74,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1078401 +1100105,45,10784,2,61,1,60,1,1,6,1,-9,4,813M,9170.0,1078402 +1100105,45,10785,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1078501 +1100105,45,10785,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1078502 +1100105,45,10786,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1078601 +1100105,45,10786,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1078602 +1100105,45,10787,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,1078701 +1100105,45,10787,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,1078702 +1100105,45,10788,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1078801 +1100105,45,10788,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,1078802 +1100105,45,10789,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,1078901 +1100105,45,10789,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,1078902 +1100105,45,10790,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,1079001 +1100105,45,10790,2,61,1,45,1,1,1,1,-9,4,492,6380.0,1079002 +1100105,45,10791,1,62,1,40,1,1,1,1,-9,4,5411,7270.0,1079101 +1100105,45,10791,2,55,2,-9,-9,6,1,1,-9,4,0,0.0,1079102 +1100105,45,10792,1,57,1,50,3,3,1,1,-9,4,8139Z,9190.0,1079201 +1100105,45,10792,2,51,1,40,1,1,1,1,-9,4,8131,9160.0,1079202 +1100105,45,10793,1,39,1,40,1,1,1,1,-9,4,5416,7390.0,1079301 +1100105,45,10793,2,36,2,40,3,3,1,1,-9,4,5416,7390.0,1079302 +1100105,45,10794,1,55,1,45,1,1,1,1,-9,4,722Z,8680.0,1079401 +1100105,45,10794,2,56,2,-9,-9,6,1,1,-9,4,0,0.0,1079402 +1100105,45,10795,1,59,1,-9,-9,6,1,1,-9,4,92M2,9570.0,1079501 +1100105,45,10795,2,56,1,40,1,1,1,3,-9,4,33641M1,3580.0,1079502 +1100105,45,10796,1,87,1,-9,-9,6,2,1,-9,2,0,0.0,1079601 +1100105,45,10796,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,1079602 +1100105,45,10797,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1079701 +1100105,45,10797,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1079702 +1100105,45,10798,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1079801 +1100105,45,10798,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,1079802 +1100105,45,10799,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1079901 +1100105,45,10799,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,1079902 +1100105,45,10800,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,1080001 +1100105,45,10800,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,1080002 +1100105,45,10801,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,1080101 +1100105,45,10801,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,1080102 +1100105,45,10802,1,41,1,30,1,1,6,1,-9,4,923,9480.0,1080201 +1100105,45,10802,2,41,2,35,1,1,1,1,-9,4,5411,7270.0,1080202 +1100105,45,10803,1,44,2,40,1,1,1,1,-9,4,92113,9380.0,1080301 +1100105,45,10803,2,45,1,40,1,1,1,1,-9,4,813M,9170.0,1080302 +1100105,45,10804,1,39,2,40,1,1,1,1,-9,4,5413,7290.0,1080401 +1100105,45,10804,2,46,1,40,1,1,1,1,-9,4,5416,7390.0,1080402 +1100105,45,10805,1,35,2,50,1,1,1,1,-9,4,92M2,9570.0,1080501 +1100105,45,10805,2,36,1,45,3,1,1,1,-9,4,611M1,7870.0,1080502 +1100105,45,10806,1,35,1,40,1,1,2,3,-9,4,55,7570.0,1080601 +1100105,45,10806,2,35,2,45,1,1,1,1,-9,4,5416,7390.0,1080602 +1100105,45,10807,1,35,1,50,1,1,9,1,-9,4,92M2,9570.0,1080701 +1100105,45,10807,2,27,2,40,1,1,1,1,-9,4,4481,5170.0,1080702 +1100105,45,10808,1,35,2,50,1,1,6,1,-9,4,928P,9590.0,1080801 +1100105,45,10808,2,28,1,50,1,1,1,1,-9,4,621M,8180.0,1080802 +1100105,45,10809,1,35,1,55,1,1,1,1,-9,4,531M,7071.0,1080901 +1100105,45,10809,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,1080902 +1100105,45,10810,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,1081001 +1100105,45,10810,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,1081002 +1100105,45,10811,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,1081101 +1100105,45,10811,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,1081102 +1100105,45,10812,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,1081201 +1100105,45,10812,2,27,2,40,1,1,6,1,16,4,6231,8270.0,1081202 +1100105,45,10813,1,25,2,40,1,1,6,1,-9,4,92113,9380.0,1081301 +1100105,45,10813,2,25,1,40,1,1,1,1,-9,4,336M,3570.0,1081302 +1100105,45,10814,1,24,2,40,1,1,1,1,-9,4,5416,7390.0,1081401 +1100105,45,10814,2,23,2,40,1,1,6,1,-9,4,5416,7390.0,1081402 +1100105,45,10815,1,31,2,40,1,1,1,1,-9,4,611M3,7890.0,1081501 +1100105,45,10815,2,32,1,40,1,1,1,1,-9,4,5416,7390.0,1081502 +1100105,45,10816,1,32,2,45,1,1,1,1,-9,4,713Z,8590.0,1081601 +1100105,45,10816,2,34,1,67,1,1,1,1,-9,4,928P,9590.0,1081602 +1100105,45,10817,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,1081701 +1100105,45,10817,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,1081702 +1100105,45,10818,1,28,1,50,1,1,1,1,16,4,611M1,7870.0,1081801 +1100105,45,10818,2,30,1,50,1,1,1,1,-9,4,611M1,7870.0,1081802 +1100105,45,10819,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,1081901 +1100105,45,10819,2,32,1,40,1,1,1,1,-9,4,5416,7390.0,1081902 +1100105,45,10820,1,32,2,40,1,1,1,1,16,4,6214,8090.0,1082001 +1100105,45,10820,2,31,1,40,1,1,1,1,-9,4,611M3,7890.0,1082002 +1100105,45,10821,1,30,2,50,1,1,1,1,-9,4,6241,8370.0,1082101 +1100105,45,10821,2,29,1,45,1,1,1,1,-9,4,5415,7380.0,1082102 +1100105,45,10822,1,26,1,50,1,1,1,1,-9,4,5413,7290.0,1082201 +1100105,45,10822,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,1082202 +1100105,45,10823,1,32,1,40,1,1,1,1,15,4,5415,7380.0,1082301 +1100105,45,10823,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,1082302 +1100105,45,10824,1,29,2,45,1,1,1,1,-9,4,5418,7470.0,1082401 +1100105,45,10824,2,31,1,50,1,1,1,1,-9,4,23,770.0,1082402 +1100105,45,10825,1,32,2,40,1,1,1,1,-9,4,5415,7380.0,1082501 +1100105,45,10825,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,1082502 +1100105,45,10826,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,1082601 +1100105,45,10826,2,27,2,40,1,1,1,1,-9,4,5415,7380.0,1082602 +1100105,45,10827,1,30,2,40,1,1,1,1,-9,4,928P,9590.0,1082701 +1100105,45,10827,2,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,1082702 +1100105,45,10828,1,30,1,45,1,1,1,1,16,4,611M1,7870.0,1082801 +1100105,45,10828,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,1082802 +1100105,45,10829,1,28,1,60,1,1,1,1,-9,4,813M,9170.0,1082901 +1100105,45,10829,2,29,2,60,1,1,8,2,-9,4,5191ZM,6780.0,1082902 +1100105,45,10830,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,1083001 +1100105,45,10830,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,1083002 +1100105,45,10831,1,74,2,40,1,1,1,1,-9,2,923,9480.0,1083101 +1100105,45,10831,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,1083102 +1100105,45,10832,1,45,2,40,1,1,1,1,-9,4,5241,6991.0,1083201 +1100105,45,10832,2,51,1,35,4,3,1,1,-9,2,5416,7390.0,1083202 +1100105,45,10833,1,54,1,60,1,1,1,1,-9,4,522M,6890.0,1083301 +1100105,45,10833,2,54,2,-9,-9,6,1,1,-9,4,0,0.0,1083302 +1100105,45,10834,1,46,1,40,1,1,1,2,-9,4,813M,9170.0,1083401 +1100105,45,10834,2,45,1,40,4,3,1,1,-9,4,7115,8564.0,1083402 +1100105,45,10835,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,1083501 +1100105,45,10835,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,1083502 +1100105,45,10836,1,31,2,50,3,3,1,1,-9,4,454110,5593.0,1083601 +1100105,45,10836,2,32,1,60,1,1,1,1,-9,4,9211MP,9370.0,1083602 +1100105,45,10837,1,31,2,50,3,3,1,1,-9,4,454110,5593.0,1083701 +1100105,45,10837,2,32,1,60,1,1,1,1,-9,4,9211MP,9370.0,1083702 +1100105,45,10838,1,28,1,40,1,1,1,20,-9,4,52M1,6870.0,1083801 +1100105,45,10838,2,27,2,40,2,6,1,1,-9,4,5418,7470.0,1083802 +1100105,45,10839,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1083901 +1100105,45,10839,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1083902 +1100105,45,10840,1,39,2,40,1,1,1,1,-9,4,712,8570.0,1084001 +1100105,45,10840,2,43,1,40,1,1,1,1,-9,4,712,8570.0,1084002 +1100105,45,10841,1,63,1,40,5,1,1,1,-9,4,611M1,7870.0,1084101 +1100105,45,10841,2,44,2,42,1,1,1,13,16,4,814,9290.0,1084102 +1100105,45,10842,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,1084201 +1100105,45,10842,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,1084202 +1100105,45,10843,1,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,1084301 +1100105,45,10843,2,35,1,50,2,1,1,1,-9,4,5416,7390.0,1084302 +1100105,45,10844,1,33,2,40,1,1,1,3,-9,4,6111,7860.0,1084401 +1100105,45,10844,2,36,1,40,1,1,1,1,-9,4,92M2,9570.0,1084402 +1100105,45,10845,1,36,2,40,1,1,1,2,-9,2,928P,9590.0,1084501 +1100105,45,10845,2,26,1,45,1,1,1,3,-9,2,928P,9590.0,1084502 +1100105,45,10846,1,32,1,50,1,1,6,1,-9,4,9211MP,9370.0,1084601 +1100105,45,10846,2,32,2,30,1,1,6,1,16,4,611M1,7870.0,1084602 +1100105,45,10847,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,1084701 +1100105,45,10847,2,32,2,40,4,1,3,1,-9,4,6214,8090.0,1084702 +1100105,45,10848,1,27,2,40,1,1,6,1,-9,4,622M,8191.0,1084801 +1100105,45,10848,2,27,1,50,1,1,1,1,16,4,51111,6470.0,1084802 +1100105,45,10849,1,26,2,40,1,1,1,1,-9,4,5417,7460.0,1084901 +1100105,45,10849,2,27,2,40,1,1,1,1,-9,4,622M,8191.0,1084902 +1100105,45,10850,1,31,1,50,1,1,1,1,-9,4,5415,7380.0,1085001 +1100105,45,10850,2,29,2,57,1,1,1,1,16,4,6241,8370.0,1085002 +1100105,45,10851,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,1085101 +1100105,45,10851,2,27,2,50,1,1,1,1,-9,4,5121,6570.0,1085102 +1100105,45,10852,1,33,2,40,1,1,1,1,-9,4,5417,7460.0,1085201 +1100105,45,10852,2,32,2,50,1,1,1,1,-9,4,7115,8564.0,1085202 +1100105,45,10853,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1085301 +1100105,45,10853,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,1085302 +1100105,45,10854,1,26,2,40,1,1,1,1,-9,4,5417,7460.0,1085401 +1100105,45,10854,2,27,2,40,1,1,1,1,-9,4,622M,8191.0,1085402 +1100105,45,10855,1,24,2,55,1,1,1,1,-9,4,722Z,8680.0,1085501 +1100105,45,10855,2,33,1,50,1,1,1,1,-9,4,722Z,8680.0,1085502 +1100105,45,10856,1,24,2,40,1,1,1,1,16,4,5416,7390.0,1085601 +1100105,45,10856,2,23,2,40,1,1,1,1,-9,4,722Z,8680.0,1085602 +1100105,45,10857,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,1085701 +1100105,45,10857,2,23,2,45,1,1,1,1,-9,4,5416,7390.0,1085702 +1100105,45,10858,1,26,1,50,1,1,1,1,-9,4,6241,8370.0,1085801 +1100105,45,10858,2,25,2,40,1,1,1,1,-9,4,813M,9170.0,1085802 +1100105,45,10859,1,24,2,48,1,1,1,1,-9,4,5416,7390.0,1085901 +1100105,45,10859,2,27,2,48,1,1,1,1,-9,4,5416,7390.0,1085902 +1100105,45,10860,1,25,2,60,1,1,1,1,-9,4,7112,8562.0,1086001 +1100105,45,10860,2,27,2,45,1,1,1,1,-9,4,5416,7390.0,1086002 +1100105,45,10861,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,1086101 +1100105,45,10861,2,30,1,45,1,1,1,1,-9,4,4248,4560.0,1086102 +1100105,45,10862,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1086201 +1100105,45,10862,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1086202 +1100105,45,10863,1,35,2,-9,-9,6,1,1,-9,4,0,0.0,1086301 +1100105,45,10863,2,35,1,45,1,1,6,1,-9,4,515,6670.0,1086302 +1100105,45,10864,1,36,2,-9,-9,6,1,1,-9,4,5414,7370.0,1086401 +1100105,45,10864,2,37,1,40,1,1,1,1,-9,4,92M2,9570.0,1086402 +1100105,45,10865,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,1086501 +1100105,45,10865,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,1086502 +1100105,45,10866,1,35,1,40,1,1,6,1,-9,4,5415,7380.0,1086601 +1100105,45,10866,2,28,2,40,5,3,1,1,-9,4,5613,7580.0,1086602 +1100105,45,10867,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1086701 +1100105,45,10867,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,1086702 +1100105,45,10868,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1086801 +1100105,45,10868,2,29,2,35,5,3,1,1,-9,4,813M,9170.0,1086802 +1100105,45,10869,1,26,2,55,1,1,1,1,-9,4,5416,7390.0,1086901 +1100105,45,10869,2,25,2,50,4,6,1,1,-9,4,92MP,9470.0,1086902 +1100105,45,10870,1,28,1,-9,-9,6,1,1,16,4,611M1,7870.0,1087001 +1100105,45,10870,2,28,2,60,1,1,1,1,-9,4,531M,7071.0,1087002 +1100105,45,10871,1,21,1,40,1,1,9,4,-9,4,5411,7270.0,1087101 +1100105,45,10871,2,21,1,40,1,6,1,1,15,4,5416,7390.0,1087102 +1100105,45,10872,1,70,2,-9,-9,6,1,1,-9,4,0,0.0,1087201 +1100105,45,10872,2,74,1,40,6,6,1,1,-9,2,5416,7390.0,1087202 +1100105,45,10873,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1087301 +1100105,45,10873,2,77,1,-9,-9,6,1,1,-9,4,0,0.0,1087302 +1100105,45,10874,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1087401 +1100105,45,10874,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1087402 +1100105,45,10875,1,41,1,32,1,1,1,1,-9,4,531M,7071.0,1087501 +1100105,45,10875,2,43,2,32,1,1,1,1,15,4,531M,7071.0,1087502 +1100105,45,10876,1,37,1,40,1,1,1,11,-9,4,7211,8660.0,1087601 +1100105,45,10876,2,35,1,40,1,1,8,11,-9,4,811192,8780.0,1087602 +1100105,45,10877,1,26,2,40,4,1,1,1,-9,4,92M2,9570.0,1087701 +1100105,45,10877,2,31,1,40,5,1,9,1,-9,4,813M,9170.0,1087702 +1100105,45,10878,1,24,1,50,1,4,6,1,16,1,928110P1,9670.0,1087801 +1100105,45,10878,2,24,2,3,1,1,1,1,16,4,713Z,8590.0,1087802 +1100105,45,10879,1,26,2,45,1,1,1,1,-9,4,813M,9170.0,1087901 +1100105,45,10879,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,1087902 +1100105,45,10880,1,23,2,40,1,1,1,1,-9,4,515,6670.0,1088001 +1100105,45,10880,2,26,2,40,1,1,1,1,-9,4,515,6670.0,1088002 +1100105,45,10881,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1088101 +1100105,45,10881,2,29,1,50,1,1,1,1,-9,4,8139Z,9190.0,1088102 +1100105,45,10882,1,25,2,40,1,1,1,1,-9,4,5191ZM,6780.0,1088201 +1100105,45,10882,2,27,1,40,1,1,1,1,-9,4,7112,8562.0,1088202 +1100105,45,10883,1,27,2,38,1,1,1,1,-9,4,813M,9170.0,1088301 +1100105,45,10883,2,25,1,40,1,1,1,1,-9,4,5411,7270.0,1088302 +1100105,45,10884,1,30,2,60,1,1,1,1,-9,4,7224,8690.0,1088401 +1100105,45,10884,2,26,1,60,1,1,1,1,16,4,44512,4972.0,1088402 +1100105,45,10885,1,26,1,75,1,4,1,1,16,1,928110P2,9680.0,1088501 +1100105,45,10885,2,22,1,80,1,1,1,1,-9,4,722Z,8680.0,1088502 +1100105,45,10886,1,23,2,40,1,1,1,1,-9,4,611M3,7890.0,1088601 +1100105,45,10886,2,25,2,40,1,1,1,1,-9,4,5417,7460.0,1088602 +1100105,45,10887,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,1088701 +1100105,45,10887,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,1088702 +1100105,45,10888,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1088801 +1100105,45,10888,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,1088802 +1100105,45,10889,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1088901 +1100105,45,10889,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1088902 +1100105,45,10890,1,35,2,40,1,2,6,1,16,4,5411,7270.0,1089001 +1100105,45,10890,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,1089002 +1100105,45,10891,1,64,1,-9,-9,6,1,1,-9,4,0,0.0,1089101 +1100105,45,10891,2,55,1,40,1,1,1,1,-9,4,5411,7270.0,1089102 +1100105,45,10892,1,64,1,-9,-9,6,1,1,-9,4,0,0.0,1089201 +1100105,45,10892,2,55,1,40,1,1,1,1,-9,4,5411,7270.0,1089202 +1100105,45,10893,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1089301 +1100105,45,10893,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1089302 +1100105,45,10894,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1089401 +1100105,45,10894,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1089402 +1100105,45,10895,1,49,1,20,6,3,1,1,-9,4,51111,6470.0,1089501 +1100105,45,10895,2,32,1,50,1,1,1,1,-9,4,81393,9180.0,1089502 +1100105,45,10896,1,32,2,40,1,1,1,23,16,4,712,8570.0,1089601 +1100105,45,10896,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,1089602 +1100105,45,10897,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1089701 +1100105,45,10897,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1089702 +1100105,45,10898,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1089801 +1100105,45,10898,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1089802 +1100105,45,10899,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1089901 +1100105,45,10899,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1089902 +1100105,45,10900,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,1090001 +1100105,45,10900,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,1090002 +1100105,45,10901,1,26,2,50,3,3,1,1,-9,4,6212,7980.0,1090101 +1100105,45,10901,2,29,1,40,4,1,1,1,-9,4,52M2,6970.0,1090102 +1100105,45,10902,1,26,1,-9,-9,6,1,1,16,4,92M2,9570.0,1090201 +1100105,45,10902,2,26,2,45,1,1,1,1,-9,4,611M1,7870.0,1090202 +1100105,45,10903,1,24,2,50,6,6,1,1,16,4,5411,7270.0,1090301 +1100105,45,10903,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,1090302 +1100105,45,10904,1,25,2,35,3,1,1,1,-9,4,6111,7860.0,1090401 +1100105,45,10904,2,23,2,40,4,6,1,1,-9,4,722Z,8680.0,1090402 +1100105,45,10905,1,30,1,40,1,4,1,1,16,1,928110P3,9690.0,1090501 +1100105,45,10905,2,29,2,-9,-9,6,1,1,16,4,6111,7860.0,1090502 +1100105,45,10906,1,26,1,40,1,1,1,6,-9,4,23,770.0,1090601 +1100105,45,10906,2,30,1,-9,-9,6,1,16,-9,4,0,0.0,1090602 +1100105,45,10907,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1090701 +1100105,45,10907,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1090702 +1100105,45,10908,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1090801 +1100105,45,10908,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1090802 +1100105,45,10909,1,64,1,-9,-9,6,1,1,-9,4,5419Z,7490.0,1090901 +1100105,45,10909,2,65,2,-9,-9,6,1,1,-9,4,6244,8470.0,1090902 +1100105,45,10910,1,27,1,36,1,1,1,1,-9,4,722Z,8680.0,1091001 +1100105,45,10910,2,24,2,20,4,1,1,1,16,4,611M1,7870.0,1091002 +1100105,45,10911,1,22,2,40,6,1,1,1,-9,4,611M1,7870.0,1091101 +1100105,45,10911,2,23,2,40,3,1,1,1,-9,4,611M1,7870.0,1091102 +1100105,45,10912,1,25,1,50,1,1,1,16,16,4,5417,7460.0,1091201 +1100105,45,10912,2,23,2,40,1,1,1,24,16,4,814,9290.0,1091202 +1100105,45,10913,1,60,2,40,1,1,8,19,-9,4,7211,8660.0,1091301 +1100105,45,10913,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,1091302 +1100105,45,10914,1,64,2,-9,-9,3,1,1,-9,4,7211,8660.0,1091401 +1100105,45,10914,2,63,1,30,1,1,1,1,-9,4,722Z,8680.0,1091402 +1100105,45,10915,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,1091501 +1100105,45,10915,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,1091502 +1100105,45,10916,1,29,2,45,6,6,1,1,16,4,92MP,9470.0,1091601 +1100105,45,10916,2,29,1,60,1,1,1,1,-9,4,611M1,7870.0,1091602 +1100105,45,10917,1,29,1,45,1,4,1,1,15,1,928110P3,9690.0,1091701 +1100105,45,10917,2,30,2,35,6,3,1,1,-9,4,7211,8660.0,1091702 +1100105,45,10918,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1091801 +1100105,45,10918,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,1091802 +1100105,45,10919,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1091901 +1100105,45,10919,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,1091902 +1100105,45,10920,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1092001 +1100105,45,10920,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,1092002 +1100105,45,10921,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,1092101 +1100105,45,10921,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,1092102 +1100105,45,10922,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,1092201 +1100105,45,10922,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,1092202 +1100105,45,10923,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,1092301 +1100105,45,10923,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,1092302 +1100105,45,10924,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,1092401 +1100105,45,10924,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,1092402 +1100105,45,10925,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1092501 +1100105,45,10925,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1092502 +1100105,45,10926,1,22,1,40,6,1,1,1,15,4,6211,7970.0,1092601 +1100105,45,10926,2,21,1,-9,-9,6,1,1,15,4,0,0.0,1092602 +1100105,45,10927,1,20,2,4,5,1,1,1,15,4,7115,8564.0,1092701 +1100105,45,10927,2,20,1,10,3,6,1,1,15,4,7112,8562.0,1092702 +1100105,45,10928,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1092801 +1100105,45,10928,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1092802 +1100105,45,10929,1,84,2,-9,-9,6,2,1,-9,4,0,0.0,1092901 +1100105,45,10929,2,61,1,-9,-9,6,2,1,-9,4,0,0.0,1092902 +1100105,45,10930,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1093001 +1100105,45,10930,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,1093002 +1100105,45,10931,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1093101 +1100105,45,10931,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1093102 +1100105,45,10932,1,25,2,10,5,6,1,1,16,4,611M1,7870.0,1093201 +1100105,45,10932,2,25,2,-9,-9,6,1,1,16,4,5411,7270.0,1093202 +1100105,45,10933,1,33,2,40,3,6,1,1,-9,4,52M1,6870.0,1093301 +1100105,45,10933,2,24,2,-9,-9,6,1,1,-9,4,0,0.0,1093302 +1100105,45,10934,1,68,1,40,1,1,1,1,-9,4,5411,7270.0,1093401 +1100105,45,10935,1,72,1,50,1,1,1,1,-9,4,923,9480.0,1093501 +1100105,45,10936,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,1093601 +1100105,45,10937,1,39,2,55,1,1,6,1,-9,4,5411,7270.0,1093701 +1100105,45,10938,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,1093801 +1100105,45,10939,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,1093901 +1100105,45,10940,1,48,1,50,1,1,1,1,-9,4,5415,7380.0,1094001 +1100105,45,10941,1,55,2,50,1,1,1,1,-9,4,5614,7590.0,1094101 +1100105,45,10942,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,1094201 +1100105,45,10943,1,52,1,55,1,1,1,1,-9,4,611M1,7870.0,1094301 +1100105,45,10944,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,1094401 +1100105,45,10945,1,59,1,45,1,1,1,1,-9,4,92M1,9490.0,1094501 +1100105,45,10946,1,51,2,50,1,1,1,1,-9,4,5111Z,6480.0,1094601 +1100105,45,10947,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1094701 +1100105,45,10948,1,38,2,45,1,1,1,1,-9,4,52M2,6970.0,1094801 +1100105,45,10949,1,37,1,60,1,1,1,1,-9,4,5411,7270.0,1094901 +1100105,45,10950,1,57,1,40,1,1,1,1,-9,4,5221M,6880.0,1095001 +1100105,45,10951,1,37,1,45,1,1,1,1,-9,4,52M1,6870.0,1095101 +1100105,45,10952,1,48,1,50,1,1,1,1,-9,4,5415,7380.0,1095201 +1100105,45,10953,1,38,2,50,1,1,1,1,-9,4,52M2,6970.0,1095301 +1100105,45,10954,1,61,2,40,1,1,1,1,-9,4,8139Z,9190.0,1095401 +1100105,45,10955,1,46,1,46,1,1,1,1,-9,4,5241,6991.0,1095501 +1100105,45,10956,1,43,1,50,3,1,1,1,-9,4,6211,7970.0,1095601 +1100105,45,10957,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,1095701 +1100105,45,10958,1,39,2,60,1,1,1,1,-9,4,52M1,6870.0,1095801 +1100105,45,10959,1,63,2,60,1,1,1,1,-9,4,5411,7270.0,1095901 +1100105,45,10960,1,57,1,45,1,1,1,1,-9,4,5411,7270.0,1096001 +1100105,45,10961,1,48,1,50,1,1,1,1,-9,4,611M1,7870.0,1096101 +1100105,45,10962,1,49,1,49,3,1,1,1,-9,4,454110,5593.0,1096201 +1100105,45,10963,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,1096301 +1100105,45,10964,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,1096401 +1100105,45,10965,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,1096501 +1100105,45,10966,1,32,1,60,1,1,1,1,-9,4,522M,6890.0,1096601 +1100105,45,10967,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,1096701 +1100105,45,10968,1,28,2,55,1,1,1,1,-9,4,5411,7270.0,1096801 +1100105,45,10969,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1096901 +1100105,45,10970,1,75,2,17,5,6,1,1,-9,4,813M,9170.0,1097001 +1100105,45,10971,1,75,2,17,5,6,1,1,-9,4,813M,9170.0,1097101 +1100105,45,10972,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1097201 +1100105,45,10973,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,1097301 +1100105,45,10974,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,1097401 +1100105,45,10975,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,1097501 +1100105,45,10976,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,1097601 +1100105,45,10977,1,35,1,50,1,1,6,1,-9,4,5416,7390.0,1097701 +1100105,45,10978,1,55,2,40,1,1,2,1,-9,4,92MP,9470.0,1097801 +1100105,45,10979,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,1097901 +1100105,45,10980,1,51,1,40,1,1,1,1,-9,4,522M,6890.0,1098001 +1100105,45,10981,1,60,1,45,1,1,1,1,-9,4,5416,7390.0,1098101 +1100105,45,10982,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,1098201 +1100105,45,10983,1,43,2,50,1,1,1,1,-9,4,5416,7390.0,1098301 +1100105,45,10984,1,52,2,60,1,1,1,1,-9,4,9211MP,9370.0,1098401 +1100105,45,10985,1,40,2,40,1,1,1,1,-9,4,92MP,9470.0,1098501 +1100105,45,10986,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,1098601 +1100105,45,10987,1,48,1,40,1,1,1,1,-9,2,928P,9590.0,1098701 +1100105,45,10988,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,1098801 +1100105,45,10989,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,1098901 +1100105,45,10990,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,1099001 +1100105,45,10991,1,41,1,40,1,1,1,23,-9,4,3254,2190.0,1099101 +1100105,45,10992,1,32,2,35,1,1,6,1,16,4,5411,7270.0,1099201 +1100105,45,10993,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,1099301 +1100105,45,10994,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1099401 +1100105,45,10995,1,33,2,40,1,1,1,1,-9,4,5411,7270.0,1099501 +1100105,45,10996,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1099601 +1100105,45,10997,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,1099701 +1100105,45,10998,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,1099801 +1100105,45,10999,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,1099901 +1100105,45,11000,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1100001 +1100105,45,11001,1,70,2,40,1,1,1,1,-9,4,2211P,570.0,1100101 +1100105,45,11002,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,1100201 +1100105,45,11003,1,46,1,40,1,1,9,1,-9,4,928P,9590.0,1100301 +1100105,45,11004,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,1100401 +1100105,45,11005,1,46,2,55,1,1,6,1,-9,4,5613,7580.0,1100501 +1100105,45,11006,1,37,1,40,1,1,6,1,-9,4,515,6670.0,1100601 +1100105,45,11007,1,46,1,50,1,1,2,1,-9,4,8139Z,9190.0,1100701 +1100105,45,11008,1,40,2,40,1,1,1,1,-9,4,483,6090.0,1100801 +1100105,45,11009,1,40,1,50,4,1,1,1,-9,4,611M1,7870.0,1100901 +1100105,45,11010,1,61,1,40,3,1,1,1,-9,4,923,9480.0,1101001 +1100105,45,11011,1,38,2,45,1,1,1,1,-9,4,928P,9590.0,1101101 +1100105,45,11012,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,1101201 +1100105,45,11013,1,42,2,52,1,1,1,1,-9,4,5417,7460.0,1101301 +1100105,45,11014,1,59,1,45,1,1,1,1,-9,4,5221M,6880.0,1101401 +1100105,45,11015,1,52,1,50,1,1,1,1,-9,4,611M1,7870.0,1101501 +1100105,45,11016,1,62,2,60,1,1,1,1,-9,4,611M1,7870.0,1101601 +1100105,45,11017,1,42,2,40,1,1,1,1,-9,4,92M2,9570.0,1101701 +1100105,45,11018,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,1101801 +1100105,45,11019,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,1101901 +1100105,45,11020,1,38,1,45,1,1,1,1,-9,4,5416,7390.0,1102001 +1100105,45,11021,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,1102101 +1100105,45,11022,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,1102201 +1100105,45,11023,1,55,1,45,1,1,1,1,-9,4,8139Z,9190.0,1102301 +1100105,45,11024,1,44,2,50,1,1,1,1,-9,4,5416,7390.0,1102401 +1100105,45,11025,1,36,2,50,1,1,1,1,-9,4,813M,9170.0,1102501 +1100105,45,11026,1,42,1,50,1,1,1,1,-9,4,928P,9590.0,1102601 +1100105,45,11027,1,37,1,40,1,1,1,1,-9,4,923,9480.0,1102701 +1100105,45,11028,1,60,1,40,1,1,1,1,-9,4,814,9290.0,1102801 +1100105,45,11029,1,37,2,40,1,1,1,1,-9,4,9211MP,9370.0,1102901 +1100105,45,11030,1,36,1,50,1,1,1,1,16,2,928P,9590.0,1103001 +1100105,45,11031,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,1103101 +1100105,45,11032,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1103201 +1100105,45,11033,1,38,1,40,1,1,1,1,-9,4,712,8570.0,1103301 +1100105,45,11034,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,1103401 +1100105,45,11035,1,54,1,40,1,1,1,1,-9,4,23,770.0,1103501 +1100105,45,11036,1,62,2,60,1,1,1,1,-9,4,611M1,7870.0,1103601 +1100105,45,11037,1,42,1,50,1,1,1,1,-9,4,928P,9590.0,1103701 +1100105,45,11038,1,43,2,47,1,1,1,1,-9,4,928P,9590.0,1103801 +1100105,45,11039,1,36,1,50,1,1,1,1,16,2,928P,9590.0,1103901 +1100105,45,11040,1,39,1,40,1,1,1,16,-9,4,923,9480.0,1104001 +1100105,45,11041,1,62,1,45,1,1,1,24,-9,2,611M3,7890.0,1104101 +1100105,45,11042,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,1104201 +1100105,45,11043,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1104301 +1100105,45,11044,1,31,2,40,1,1,1,1,-9,4,92113,9380.0,1104401 +1100105,45,11045,1,34,2,45,1,1,1,1,-9,4,92M2,9570.0,1104501 +1100105,45,11046,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,1104601 +1100105,45,11047,1,32,2,50,1,1,1,1,-9,4,52M2,6970.0,1104701 +1100105,45,11048,1,33,1,50,1,1,1,1,-9,4,9211MP,9370.0,1104801 +1100105,45,11049,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,1104901 +1100105,45,11050,1,34,2,45,1,1,1,1,-9,4,92M2,9570.0,1105001 +1100105,45,11051,1,29,2,50,1,1,1,1,-9,4,5418,7470.0,1105101 +1100105,45,11052,1,29,2,45,1,1,1,1,-9,4,5416,7390.0,1105201 +1100105,45,11053,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,1105301 +1100105,45,11054,1,32,1,50,1,1,1,1,-9,4,4231,4070.0,1105401 +1100105,45,11055,1,27,1,60,1,1,1,1,-9,4,5419Z,7490.0,1105501 +1100105,45,11056,1,33,1,50,1,1,1,1,-9,4,611M1,7870.0,1105601 +1100105,45,11057,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,1105701 +1100105,45,11058,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,1105801 +1100105,45,11059,1,31,1,60,1,1,1,1,16,4,5415,7380.0,1105901 +1100105,45,11060,1,31,2,40,1,1,1,1,-9,4,5413,7290.0,1106001 +1100105,45,11061,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,1106101 +1100105,45,11062,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,1106201 +1100105,45,11063,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,1106301 +1100105,45,11064,1,77,2,-9,-9,6,1,1,-9,4,5412,7280.0,1106401 +1100105,45,11065,1,57,1,-9,-9,6,1,1,-9,4,813M,9170.0,1106501 +1100105,45,11066,1,65,2,40,1,1,2,1,-9,4,5411,7270.0,1106601 +1100105,45,11067,1,72,1,40,1,2,1,1,-9,4,8129,9090.0,1106701 +1100105,45,11068,1,68,2,60,1,1,1,1,-9,4,5416,7390.0,1106801 +1100105,45,11069,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,1106901 +1100105,45,11070,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1107001 +1100105,45,11071,1,46,2,40,3,1,9,1,-9,4,5191ZM,6780.0,1107101 +1100105,45,11072,1,43,2,60,1,1,6,1,-9,4,6244,8470.0,1107201 +1100105,45,11073,1,53,1,40,1,1,6,1,-9,4,712,8570.0,1107301 +1100105,45,11074,1,40,2,60,1,1,6,1,-9,4,813M,9170.0,1107401 +1100105,45,11075,1,40,2,60,1,1,6,1,-9,4,813M,9170.0,1107501 +1100105,45,11076,1,44,1,30,1,1,2,1,-9,4,33641M1,3580.0,1107601 +1100105,45,11077,1,57,2,50,1,1,2,1,-9,4,7211,8660.0,1107701 +1100105,45,11078,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,1107801 +1100105,45,11079,1,48,1,48,1,4,1,1,-9,1,928110P1,9670.0,1107901 +1100105,45,11080,1,38,2,45,4,1,1,1,-9,4,8139Z,9190.0,1108001 +1100105,45,11081,1,49,2,40,1,1,1,1,-9,4,6111,7860.0,1108101 +1100105,45,11082,1,53,1,50,1,1,1,1,-9,4,482,6080.0,1108201 +1100105,45,11083,1,49,2,40,1,1,1,1,-9,4,6111,7860.0,1108301 +1100105,45,11084,1,56,2,40,1,1,1,1,-9,4,923,9480.0,1108401 +1100105,45,11085,1,60,1,40,1,1,1,1,-9,4,5417,7460.0,1108501 +1100105,45,11086,1,56,2,55,1,1,1,1,16,4,6111,7860.0,1108601 +1100105,45,11087,1,56,2,55,1,1,1,1,16,4,6111,7860.0,1108701 +1100105,45,11088,1,50,1,25,6,1,1,1,-9,4,5416,7390.0,1108801 +1100105,45,11089,1,56,2,40,1,1,1,1,-9,4,923,9480.0,1108901 +1100105,45,11090,1,56,1,40,1,1,1,1,-9,4,8139Z,9190.0,1109001 +1100105,45,11091,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,1109101 +1100105,45,11092,1,35,1,40,1,1,1,1,-9,4,92MP,9470.0,1109201 +1100105,45,11093,1,64,2,40,1,1,1,1,-9,4,92M2,9570.0,1109301 +1100105,45,11094,1,56,2,55,1,1,1,1,16,4,6111,7860.0,1109401 +1100105,45,11095,1,56,2,55,1,1,1,1,-9,4,5411,7270.0,1109501 +1100105,45,11096,1,48,1,48,1,4,1,1,-9,1,928110P1,9670.0,1109601 +1100105,45,11097,1,41,1,36,1,1,1,1,-9,4,812112,8980.0,1109701 +1100105,45,11098,1,48,2,40,1,1,1,1,16,4,611M1,7870.0,1109801 +1100105,45,11099,1,38,2,40,1,1,1,7,-9,4,813M,9170.0,1109901 +1100105,45,11100,1,59,2,45,1,1,1,8,-9,4,813M,9170.0,1110001 +1100105,45,11101,1,44,2,40,1,1,1,21,-9,4,52M2,6970.0,1110101 +1100105,45,11102,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1110201 +1100105,45,11103,1,32,2,40,1,1,9,1,-9,4,928P,9590.0,1110301 +1100105,45,11104,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,1110401 +1100105,45,11105,1,32,2,38,1,1,6,1,-9,4,928P,9590.0,1110501 +1100105,45,11106,1,26,2,40,1,1,6,1,16,2,622M,8191.0,1110601 +1100105,45,11107,1,30,1,42,1,1,6,1,-9,4,813M,9170.0,1110701 +1100105,45,11108,1,25,2,40,1,1,6,1,-9,4,5416,7390.0,1110801 +1100105,45,11109,1,25,2,42,1,1,6,1,-9,4,5416,7390.0,1110901 +1100105,45,11110,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,1111001 +1100105,45,11111,1,26,2,50,1,1,2,1,16,4,515,6670.0,1111101 +1100105,45,11112,1,34,2,45,1,1,1,1,-9,4,923,9480.0,1111201 +1100105,45,11113,1,34,1,45,1,1,1,1,-9,4,6111,7860.0,1111301 +1100105,45,11114,1,30,1,50,1,1,1,1,-9,4,7111,8561.0,1111401 +1100105,45,11115,1,24,1,50,1,1,1,1,-9,4,813M,9170.0,1111501 +1100105,45,11116,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1111601 +1100105,45,11117,1,34,2,38,1,1,1,1,-9,4,611M3,7890.0,1111701 +1100105,45,11118,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,1111801 +1100105,45,11119,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1111901 +1100105,45,11120,1,30,1,40,1,1,1,1,-9,4,813M,9170.0,1112001 +1100105,45,11121,1,27,2,45,1,1,1,1,-9,4,5416,7390.0,1112101 +1100105,45,11122,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,1112201 +1100105,45,11123,1,33,2,40,4,1,1,1,-9,4,8139Z,9190.0,1112301 +1100105,45,11124,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1112401 +1100105,45,11125,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,1112501 +1100105,45,11126,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1112601 +1100105,45,11127,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1112701 +1100105,45,11128,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1112801 +1100105,45,11129,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,1112901 +1100105,45,11130,1,30,2,60,3,1,1,1,-9,4,92MP,9470.0,1113001 +1100105,45,11131,1,33,1,40,1,1,1,1,-9,4,5415,7380.0,1113101 +1100105,45,11132,1,30,2,45,1,1,1,1,-9,4,814,9290.0,1113201 +1100105,45,11133,1,33,1,40,1,1,1,1,-9,4,5411,7270.0,1113301 +1100105,45,11134,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1113401 +1100105,45,11135,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,1113501 +1100105,45,11136,1,33,2,40,1,1,1,1,-9,4,211,370.0,1113601 +1100105,45,11137,1,33,2,40,1,1,1,1,-9,4,211,370.0,1113701 +1100105,45,11138,1,33,1,40,1,1,1,1,-9,4,55,7570.0,1113801 +1100105,45,11139,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,1113901 +1100105,45,11140,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,1114001 +1100105,45,11141,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,1114101 +1100105,45,11142,1,29,1,50,1,1,1,1,-9,4,7211,8660.0,1114201 +1100105,45,11143,1,33,1,40,1,1,1,1,-9,4,55,7570.0,1114301 +1100105,45,11144,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,1114401 +1100105,45,11145,1,24,2,40,1,1,1,1,-9,4,622M,8191.0,1114501 +1100105,45,11146,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,1114601 +1100105,45,11147,1,28,2,40,1,1,1,1,-9,4,8139Z,9190.0,1114701 +1100105,45,11148,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,1114801 +1100105,45,11149,1,28,2,45,1,1,1,1,16,4,5416,7390.0,1114901 +1100105,45,11150,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1115001 +1100105,45,11151,1,31,1,50,1,1,1,1,16,2,9211MP,9370.0,1115101 +1100105,45,11152,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,1115201 +1100105,45,11153,1,31,2,40,1,1,1,1,-9,4,52M2,6970.0,1115301 +1100105,45,11154,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,1115401 +1100105,45,11155,1,27,2,55,1,1,1,1,-9,4,5416,7390.0,1115501 +1100105,45,11156,1,34,1,40,1,1,1,1,-9,4,531M,7071.0,1115601 +1100105,45,11157,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,1115701 +1100105,45,11158,1,33,2,40,1,1,2,10,-9,4,5416,7390.0,1115801 +1100105,45,11159,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1115901 +1100105,45,11160,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,1116001 +1100105,45,11161,1,29,1,50,1,1,2,5,-9,4,5412,7280.0,1116101 +1100105,45,11162,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1116201 +1100105,45,11163,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,1116301 +1100105,45,11164,1,67,2,-9,-9,6,2,1,-9,4,0,0.0,1116401 +1100105,45,11165,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1116501 +1100105,45,11166,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1116601 +1100105,45,11167,1,67,1,35,2,6,1,1,15,4,7111,8561.0,1116701 +1100105,45,11168,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,1116801 +1100105,45,11169,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1116901 +1100105,45,11170,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,1117001 +1100105,45,11171,1,67,1,35,2,6,1,1,15,4,7111,8561.0,1117101 +1100105,45,11172,1,68,1,-9,-9,6,1,1,-9,3,0,0.0,1117201 +1100105,45,11173,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1117301 +1100105,45,11174,1,93,2,-9,-9,6,1,2,-9,4,928P,9590.0,1117401 +1100105,45,11175,1,62,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1117501 +1100105,45,11176,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1117601 +1100105,45,11177,1,71,1,20,1,2,2,1,-9,4,481,6070.0,1117701 +1100105,45,11178,1,67,1,50,1,1,1,1,-9,4,23,770.0,1117801 +1100105,45,11179,1,67,1,50,1,1,1,1,-9,4,23,770.0,1117901 +1100105,45,11180,1,60,1,40,4,1,2,1,-9,4,23,770.0,1118001 +1100105,45,11181,1,62,1,40,2,1,2,1,-9,4,8123,9070.0,1118101 +1100105,45,11182,1,37,1,20,1,1,1,1,-9,4,5411,7270.0,1118201 +1100105,45,11183,1,36,1,40,3,2,1,1,-9,4,5417,7460.0,1118301 +1100105,45,11184,1,37,1,40,1,1,1,1,-9,4,813M,9170.0,1118401 +1100105,45,11185,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,1118501 +1100105,45,11186,1,39,1,40,1,1,1,1,-9,4,5416,7390.0,1118601 +1100105,45,11187,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,1118701 +1100105,45,11188,1,58,2,40,1,1,1,7,-9,4,5617Z,7690.0,1118801 +1100105,45,11189,1,24,2,40,1,1,9,1,-9,2,8139Z,9190.0,1118901 +1100105,45,11190,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,1119001 +1100105,45,11191,1,30,2,40,1,1,6,1,-9,4,5411,7270.0,1119101 +1100105,45,11192,1,29,1,60,3,2,2,1,-9,4,5616,7680.0,1119201 +1100105,45,11193,1,26,2,37,1,1,1,1,-9,4,928P,9590.0,1119301 +1100105,45,11194,1,31,1,30,3,1,1,1,-9,4,813M,9170.0,1119401 +1100105,45,11195,1,25,2,40,1,1,1,1,-9,4,5413,7290.0,1119501 +1100105,45,11196,1,27,2,40,3,1,1,1,-9,4,482,6080.0,1119601 +1100105,45,11197,1,26,2,37,1,1,1,1,-9,4,928P,9590.0,1119701 +1100105,45,11198,1,24,2,42,4,1,1,1,-9,4,5413,7290.0,1119801 +1100105,45,11199,1,28,2,40,5,1,1,1,-9,4,5418,7470.0,1119901 +1100105,45,11200,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1120001 +1100105,45,11201,1,28,2,50,1,1,1,1,16,4,611M1,7870.0,1120101 +1100105,45,11202,1,25,2,40,1,1,1,1,-9,4,712,8570.0,1120201 +1100105,45,11203,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,1120301 +1100105,45,11204,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,1120401 +1100105,45,11205,1,26,1,90,1,1,1,1,16,4,5417,7460.0,1120501 +1100105,45,11206,1,34,2,45,1,1,1,1,-9,4,7111,8561.0,1120601 +1100105,45,11207,1,27,2,27,1,1,1,1,16,4,611M1,7870.0,1120701 +1100105,45,11208,1,25,2,45,1,1,1,1,-9,4,5415,7380.0,1120801 +1100105,45,11209,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,1120901 +1100105,45,11210,1,23,2,50,1,1,1,11,-9,4,52M1,6870.0,1121001 +1100105,45,11211,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1121101 +1100105,45,11212,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,1121201 +1100105,45,11213,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1121301 +1100105,45,11214,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,1121401 +1100105,45,11215,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1121501 +1100105,45,11216,1,70,2,-9,-9,6,1,1,-9,4,5412,7280.0,1121601 +1100105,45,11217,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,1121701 +1100105,45,11218,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,1121801 +1100105,45,11219,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,1121901 +1100105,45,11220,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,1122001 +1100105,45,11221,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1122101 +1100105,45,11222,1,53,1,40,3,6,3,1,-9,4,562,7790.0,1122201 +1100105,45,11223,1,40,1,30,6,6,2,1,-9,2,5617Z,7690.0,1122301 +1100105,45,11224,1,62,1,-9,-9,6,1,1,-9,4,0,0.0,1122401 +1100105,45,11225,1,62,1,-9,-9,6,1,1,-9,4,0,0.0,1122501 +1100105,45,11226,1,28,2,-9,-9,6,1,1,16,4,92MP,9470.0,1122601 +1100105,45,11227,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1122701 +1100105,45,11228,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,1122801 +1100105,45,11229,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1122901 +1100105,45,11230,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1123001 +1100105,45,11231,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,1123101 +1100105,45,11232,1,52,2,40,1,1,2,1,-9,4,5616,7680.0,1123201 +1100105,45,11233,1,37,2,40,5,1,2,1,-9,4,623M,8290.0,1123301 +1100105,45,11234,1,53,1,23,4,1,1,1,-9,4,928P,9590.0,1123401 +1100105,45,11235,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,1123501 +1100105,45,11236,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,1123601 +1100105,45,11237,1,48,2,45,1,1,1,1,-9,4,5416,7390.0,1123701 +1100105,45,11238,1,48,2,45,1,1,1,1,-9,4,5416,7390.0,1123801 +1100105,45,11239,1,59,2,20,6,1,1,1,-9,4,6244,8470.0,1123901 +1100105,45,11240,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,1124001 +1100105,45,11241,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1124101 +1100105,45,11242,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1124201 +1100105,45,11243,1,20,2,40,4,1,6,1,15,4,5412,7280.0,1124301 +1100105,45,11244,1,29,2,24,1,1,2,1,-9,4,7211,8660.0,1124401 +1100105,45,11245,1,26,2,20,6,1,1,1,-9,4,611M1,7870.0,1124501 +1100105,45,11246,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,1124601 +1100105,45,11247,1,24,1,24,1,1,1,1,16,4,6211,7970.0,1124701 +1100105,45,11248,1,26,2,20,6,1,1,1,-9,4,611M1,7870.0,1124801 +1100105,45,11249,1,24,2,4,3,1,1,1,15,4,713Z,8590.0,1124901 +1100105,45,11250,1,26,2,20,4,1,1,1,-9,4,52M2,6970.0,1125001 +1100105,45,11251,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,1125101 +1100105,45,11252,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1125201 +1100105,45,11253,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,1125301 +1100105,45,11254,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,1125401 +1100105,45,11255,1,85,2,-9,-9,6,2,1,-9,4,0,0.0,1125501 +1100105,45,11256,1,69,1,-9,-9,6,2,1,-9,2,0,0.0,1125601 +1100105,45,11257,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,1125701 +1100105,45,11258,1,66,1,-9,-9,6,2,1,-9,2,0,0.0,1125801 +1100105,45,11259,1,73,1,-9,-9,6,2,1,-9,4,623M,8290.0,1125901 +1100105,45,11260,1,72,2,-9,-9,6,2,1,-9,4,0,0.0,1126001 +1100105,45,11261,1,81,1,-9,-9,6,2,1,-9,2,0,0.0,1126101 +1100105,45,11262,1,76,1,-9,-9,6,2,1,-9,4,0,0.0,1126201 +1100105,45,11263,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,1126301 +1100105,45,11264,1,82,1,-9,-9,6,2,1,-9,2,0,0.0,1126401 +1100105,45,11265,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1126501 +1100105,45,11266,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1126601 +1100105,45,11267,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,1126701 +1100105,45,11268,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,1126801 +1100105,45,11269,1,71,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1126901 +1100105,45,11270,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1127001 +1100105,45,11271,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1127101 +1100105,45,11272,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,1127201 +1100105,45,11273,1,82,2,-9,-9,6,1,1,-9,4,0,0.0,1127301 +1100105,45,11274,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,1127401 +1100105,45,11275,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,1127501 +1100105,45,11276,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1127601 +1100105,45,11277,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,1127701 +1100105,45,11278,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1127801 +1100105,45,11279,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,1127901 +1100105,45,11280,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,1128001 +1100105,45,11281,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,1128101 +1100105,45,11282,1,61,2,-9,-9,6,2,1,-9,4,0,0.0,1128201 +1100105,45,11283,1,63,2,-9,-9,3,2,1,-9,4,713Z,8590.0,1128301 +1100105,45,11284,1,40,2,-9,-9,6,2,1,-9,4,0,0.0,1128401 +1100105,45,11285,1,56,1,-9,-9,6,2,1,-9,2,0,0.0,1128501 +1100105,45,11286,1,38,2,-9,-9,3,2,1,-9,4,999920,9920.0,1128601 +1100105,45,11287,1,53,1,-9,-9,3,1,1,-9,4,814,9290.0,1128701 +1100105,45,11288,1,56,1,-9,-9,6,1,1,-9,4,5241,6991.0,1128801 +1100105,45,11289,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,1128901 +1100105,45,11290,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1129001 +1100105,45,11291,1,56,1,-9,-9,6,1,1,-9,4,5241,6991.0,1129101 +1100105,45,11292,1,37,2,8,6,3,1,1,-9,4,611M1,7870.0,1129201 +1100105,45,11293,1,56,1,-9,-9,6,1,1,-9,4,5241,6991.0,1129301 +1100105,45,11294,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1129401 +1100105,45,11295,1,44,1,-9,-9,6,1,1,-9,4,0,0.0,1129501 +1100105,45,11296,1,53,1,-9,-9,3,1,1,-9,4,814,9290.0,1129601 +1100105,45,11297,1,45,2,35,5,3,1,16,-9,4,6211,7970.0,1129701 +1100105,45,11298,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,1129801 +1100105,45,11299,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,1129901 +1100105,45,11300,1,34,2,-9,-9,6,6,1,16,4,928P,9590.0,1130001 +1100105,45,11301,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,1130101 +1100105,45,11302,1,23,2,20,6,3,1,1,16,4,5417,7460.0,1130201 +1100105,45,11303,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,1130301 +1100105,45,11304,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1130401 +1100105,45,11305,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,1130501 +1100105,45,11306,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,1130601 +1100105,45,11307,1,21,2,-9,-9,6,1,1,15,4,722Z,8680.0,1130701 +1100105,45,11308,1,25,2,40,3,3,1,21,-9,4,5417,7460.0,1130801 +1100105,45,11309,1,26,2,-9,-9,6,9,16,-9,4,5411,7270.0,1130901 +1100105,46,11310,1,47,2,27,1,1,6,1,-9,4,812112,8980.0,1131001 +1100105,46,11310,2,44,1,40,1,2,6,1,-9,4,6214,8090.0,1131002 +1100105,46,11310,3,20,1,-9,-9,6,6,1,15,4,0,0.0,1131003 +1100105,46,11310,4,17,2,-9,-9,6,6,1,14,4,0,0.0,1131004 +1100105,46,11310,5,1,2,-9,-9,-9,6,1,-9,-9,0,0.0,1131005 +1100105,46,11310,6,71,1,-9,-9,6,6,1,-9,4,0,0.0,1131006 +1100105,46,11310,7,69,2,-9,-9,6,6,1,-9,4,0,0.0,1131007 +1100105,46,11310,8,61,2,18,6,1,6,1,-9,4,722Z,8680.0,1131008 +1100105,46,11310,9,59,1,40,6,3,6,1,-9,4,722Z,8680.0,1131009 +1100105,46,11310,10,57,1,40,5,1,6,1,-9,4,487,6280.0,1131010 +1100105,46,11310,11,14,1,-9,-9,-9,6,1,8,-9,0,0.0,1131011 +1100105,46,11311,1,29,2,45,1,1,1,1,16,4,9211MP,9370.0,1131101 +1100105,46,11311,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,1131102 +1100105,46,11311,3,25,1,45,1,1,1,1,-9,4,5417,7460.0,1131103 +1100105,46,11312,1,49,1,40,1,1,1,1,-9,2,92M2,9570.0,1131201 +1100105,46,11312,2,44,2,40,1,1,1,1,-9,4,5416,7390.0,1131202 +1100105,46,11312,3,23,1,10,6,6,1,1,15,4,5416,7390.0,1131203 +1100105,46,11313,1,37,2,40,1,1,1,1,-9,4,5415,7380.0,1131301 +1100105,46,11313,2,40,1,40,1,1,6,1,-9,4,622M,8191.0,1131302 +1100105,46,11313,3,0,1,-9,-9,-9,8,1,-9,-9,0,0.0,1131303 +1100105,46,11314,1,40,1,60,1,1,1,1,-9,4,5411,7270.0,1131401 +1100105,46,11314,2,37,2,30,1,1,1,1,-9,4,713Z,8590.0,1131402 +1100105,46,11314,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1131403 +1100105,46,11315,1,41,2,24,1,1,1,1,-9,4,813M,9170.0,1131501 +1100105,46,11315,2,43,1,40,1,1,1,1,-9,4,92M2,9570.0,1131502 +1100105,46,11315,3,1,2,-9,-9,-9,9,3,-9,-9,0,0.0,1131503 +1100105,46,11316,1,32,2,40,3,1,1,1,-9,4,928P,9590.0,1131601 +1100105,46,11316,2,38,1,40,3,1,1,1,-9,4,813M,9170.0,1131602 +1100105,46,11316,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1131603 +1100105,46,11317,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,1131701 +1100105,46,11317,2,31,1,50,1,1,1,1,-9,4,2211P,570.0,1131702 +1100105,46,11317,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1131703 +1100105,46,11318,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,1131801 +1100105,46,11318,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,1131802 +1100105,46,11318,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,1131803 +1100105,46,11319,1,33,1,50,1,1,1,1,-9,4,23,770.0,1131901 +1100105,46,11319,2,32,2,-9,-9,6,1,1,-9,4,813M,9170.0,1131902 +1100105,46,11319,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1131903 +1100105,46,11320,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,1132001 +1100105,46,11320,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,1132002 +1100105,46,11320,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,1132003 +1100105,46,11321,1,47,1,40,1,1,1,1,-9,4,813M,9170.0,1132101 +1100105,46,11321,2,39,2,40,1,1,1,1,-9,4,81393,9180.0,1132102 +1100105,46,11321,3,3,1,-9,-9,-9,1,1,-9,-9,0,0.0,1132103 +1100105,46,11322,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1132201 +1100105,46,11322,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,1132202 +1100105,46,11322,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,1132203 +1100105,46,11323,1,27,2,20,1,1,1,1,16,4,923,9480.0,1132301 +1100105,46,11323,2,24,2,-9,-9,6,1,1,15,4,0,0.0,1132302 +1100105,46,11323,3,23,2,20,1,1,1,24,15,4,5415,7380.0,1132303 +1100105,46,11324,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,1132401 +1100105,46,11324,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,1132402 +1100105,46,11324,3,21,1,15,1,1,1,1,15,4,621M,8180.0,1132403 +1100105,46,11325,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1132501 +1100105,46,11325,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1132502 +1100105,46,11325,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1132503 +1100105,46,11326,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1132601 +1100105,46,11326,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1132602 +1100105,46,11326,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1132603 +1100105,46,11327,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1132701 +1100105,46,11327,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1132702 +1100105,46,11327,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1132703 +1100105,46,11328,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,1132801 +1100105,46,11328,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,1132802 +1100105,46,11328,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,1132803 +1100105,46,11329,1,38,2,60,1,1,1,1,-9,4,7111,8561.0,1132901 +1100105,46,11329,2,40,1,40,1,1,9,1,-9,4,7111,8561.0,1132902 +1100105,46,11330,1,51,1,55,1,1,1,1,-9,4,5417,7460.0,1133001 +1100105,46,11330,2,43,1,40,1,1,6,1,-9,4,51912,6770.0,1133002 +1100105,46,11331,1,51,1,50,1,1,1,1,-9,4,923,9480.0,1133101 +1100105,46,11331,2,52,1,40,1,1,1,1,15,4,611M1,7870.0,1133102 +1100105,46,11332,1,56,2,34,4,1,1,1,-9,4,814,9290.0,1133201 +1100105,46,11332,2,57,1,45,1,1,1,1,-9,4,5411,7270.0,1133202 +1100105,46,11333,1,42,1,60,1,1,1,1,-9,4,7115,8564.0,1133301 +1100105,46,11333,2,37,1,75,1,1,1,1,-9,4,92M2,9570.0,1133302 +1100105,46,11334,1,44,1,58,1,4,1,1,-9,1,928110P3,9690.0,1133401 +1100105,46,11334,2,46,2,40,1,1,1,1,-9,4,5416,7390.0,1133402 +1100105,46,11335,1,39,2,50,1,1,1,1,-9,4,813M,9170.0,1133501 +1100105,46,11335,2,45,1,40,1,1,1,1,-9,4,3231,1990.0,1133502 +1100105,46,11336,1,42,2,45,1,1,1,1,-9,4,5416,7390.0,1133601 +1100105,46,11336,2,41,1,40,1,1,1,1,-9,4,5415,7380.0,1133602 +1100105,46,11337,1,48,2,40,4,1,1,2,-9,2,5417,7460.0,1133701 +1100105,46,11337,2,47,2,50,1,1,1,1,-9,4,611M1,7870.0,1133702 +1100105,46,11338,1,34,1,50,1,1,1,1,-9,4,611M1,7870.0,1133801 +1100105,46,11338,2,36,2,60,1,1,1,1,-9,4,813M,9170.0,1133802 +1100105,46,11339,1,33,2,60,1,1,1,1,-9,4,5615,7670.0,1133901 +1100105,46,11339,2,41,1,50,1,1,1,1,-9,4,7115,8564.0,1133902 +1100105,46,11340,1,39,1,50,1,1,1,1,-9,4,561M,7780.0,1134001 +1100105,46,11340,2,24,2,50,1,1,1,1,-9,4,443142,4795.0,1134002 +1100105,46,11341,1,41,1,40,1,1,1,1,-9,4,92M2,9570.0,1134101 +1100105,46,11341,2,32,1,40,1,1,1,16,-9,4,92M2,9570.0,1134102 +1100105,46,11342,1,33,1,50,1,1,6,1,-9,4,5416,7390.0,1134201 +1100105,46,11342,2,31,2,45,1,1,1,1,-9,4,52M1,6870.0,1134202 +1100105,46,11343,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,1134301 +1100105,46,11343,2,32,2,24,1,1,1,1,-9,4,6213ZM,8080.0,1134302 +1100105,46,11344,1,27,1,40,1,1,1,1,-9,4,5416,7390.0,1134401 +1100105,46,11344,2,26,2,50,1,1,1,1,-9,4,928P,9590.0,1134402 +1100105,46,11345,1,29,2,40,1,1,1,1,-9,4,928P,9590.0,1134501 +1100105,46,11345,2,29,2,40,1,1,1,1,16,4,4247,4490.0,1134502 +1100105,46,11346,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,1134601 +1100105,46,11346,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,1134602 +1100105,46,11347,1,34,1,65,1,1,1,1,-9,4,5416,7390.0,1134701 +1100105,46,11347,2,34,2,45,1,1,1,1,-9,4,92MP,9470.0,1134702 +1100105,46,11348,1,27,1,20,1,1,1,1,16,4,5615,7670.0,1134801 +1100105,46,11348,2,27,2,40,1,1,1,1,-9,4,611M3,7890.0,1134802 +1100105,46,11349,1,80,1,30,1,6,1,1,-9,2,23,770.0,1134901 +1100105,46,11349,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1134902 +1100105,46,11350,1,65,1,-9,-9,6,1,1,-9,2,0,0.0,1135001 +1100105,46,11350,2,46,1,55,1,1,1,1,-9,4,8139Z,9190.0,1135002 +1100105,46,11351,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,1135101 +1100105,46,11351,2,67,1,50,1,1,1,1,-9,4,5411,7270.0,1135102 +1100105,46,11352,1,62,1,40,1,1,1,1,-9,4,5411,7270.0,1135201 +1100105,46,11352,2,55,2,-9,-9,6,1,1,-9,4,0,0.0,1135202 +1100105,46,11353,1,57,2,55,1,1,1,1,-9,4,81393,9180.0,1135301 +1100105,46,11353,2,63,1,5,6,3,1,1,-9,4,3219ZM,3875.0,1135302 +1100105,46,11354,1,59,1,-9,-9,6,1,1,-9,4,92M2,9570.0,1135401 +1100105,46,11354,2,56,1,40,1,1,1,3,-9,4,33641M1,3580.0,1135402 +1100105,46,11355,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1135501 +1100105,46,11355,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1135502 +1100105,46,11356,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,1135601 +1100105,46,11356,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,1135602 +1100105,46,11357,1,44,2,45,1,1,1,1,-9,2,928P,9590.0,1135701 +1100105,46,11357,2,48,2,30,1,1,1,1,-9,4,8129,9090.0,1135702 +1100105,46,11358,1,39,1,40,1,1,1,1,-9,4,5415,7380.0,1135801 +1100105,46,11358,2,29,2,55,1,1,1,1,-9,4,5614,7590.0,1135802 +1100105,46,11359,1,32,1,41,1,1,1,1,-9,4,5121,6570.0,1135901 +1100105,46,11359,2,32,2,42,1,1,6,1,-9,4,515,6670.0,1135902 +1100105,46,11360,1,30,1,50,1,1,1,1,-9,4,4237,4265.0,1136001 +1100105,46,11360,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,1136002 +1100105,46,11361,1,33,1,60,1,1,1,1,-9,4,5411,7270.0,1136101 +1100105,46,11361,2,27,2,50,1,1,1,1,-9,4,5416,7390.0,1136102 +1100105,46,11362,1,30,2,50,1,1,1,1,-9,4,5415,7380.0,1136201 +1100105,46,11362,2,30,2,40,1,1,1,1,-9,4,622M,8191.0,1136202 +1100105,46,11363,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1136301 +1100105,46,11363,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1136302 +1100105,46,11364,1,28,1,40,1,1,1,1,-9,4,55,7570.0,1136401 +1100105,46,11364,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,1136402 +1100105,46,11365,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,1136501 +1100105,46,11365,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,1136502 +1100105,46,11366,1,54,1,60,1,1,1,1,-9,4,522M,6890.0,1136601 +1100105,46,11366,2,54,2,-9,-9,6,1,1,-9,4,0,0.0,1136602 +1100105,46,11367,1,46,1,40,1,1,1,2,-9,4,813M,9170.0,1136701 +1100105,46,11367,2,45,1,40,4,3,1,1,-9,4,7115,8564.0,1136702 +1100105,46,11368,1,30,1,40,1,1,1,1,-9,4,92MP,9470.0,1136801 +1100105,46,11368,2,27,2,18,3,6,1,1,-9,4,713Z,8590.0,1136802 +1100105,46,11369,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,1136901 +1100105,46,11369,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,1136902 +1100105,46,11370,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1137001 +1100105,46,11370,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1137002 +1100105,46,11371,1,49,1,50,1,1,1,1,-9,4,611M1,7870.0,1137101 +1100105,46,11371,2,60,2,50,1,1,1,1,-9,4,7111,8561.0,1137102 +1100105,46,11372,1,26,2,37,1,1,1,1,-9,4,5418,7470.0,1137201 +1100105,46,11372,2,26,2,50,1,1,6,1,-9,4,5416,7390.0,1137202 +1100105,46,11373,1,28,1,48,1,1,1,1,-9,4,7112,8562.0,1137301 +1100105,46,11373,2,26,2,50,1,1,1,1,-9,4,561M,7780.0,1137302 +1100105,46,11374,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1137401 +1100105,46,11374,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,1137402 +1100105,46,11375,1,32,1,50,1,1,1,1,-9,4,23,770.0,1137501 +1100105,46,11375,2,28,2,50,1,1,1,1,-9,4,813M,9170.0,1137502 +1100105,46,11376,1,30,2,40,1,1,1,1,-9,4,51912,6770.0,1137601 +1100105,46,11376,2,32,1,40,1,1,1,1,-9,4,5415,7380.0,1137602 +1100105,46,11377,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,1137701 +1100105,46,11377,2,24,2,60,1,1,1,1,-9,4,5416,7390.0,1137702 +1100105,46,11378,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,1137801 +1100105,46,11378,2,27,2,60,1,1,1,2,-9,4,6111,7860.0,1137802 +1100105,46,11379,1,54,1,45,1,1,1,1,-9,4,928P,9590.0,1137901 +1100105,46,11379,2,49,1,10,6,6,1,1,-9,4,812112,8980.0,1137902 +1100105,46,11380,1,34,2,50,1,1,1,1,-9,4,5415,7380.0,1138001 +1100105,46,11380,2,23,2,35,5,3,1,1,-9,4,5417,7460.0,1138002 +1100105,46,11381,1,70,2,-9,-9,6,1,1,-9,4,0,0.0,1138101 +1100105,46,11381,2,74,1,40,6,6,1,1,-9,2,5416,7390.0,1138102 +1100105,46,11382,1,37,1,40,1,1,1,11,-9,4,7211,8660.0,1138201 +1100105,46,11382,2,35,1,40,1,1,8,11,-9,4,811192,8780.0,1138202 +1100105,46,11383,1,20,2,60,4,1,1,1,15,4,6211,7970.0,1138301 +1100105,46,11383,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,1138302 +1100105,46,11384,1,23,2,40,1,1,1,1,-9,4,515,6670.0,1138401 +1100105,46,11384,2,26,2,40,1,1,1,1,-9,4,515,6670.0,1138402 +1100105,46,11385,1,30,1,35,3,1,1,1,-9,4,7115,8564.0,1138501 +1100105,46,11385,2,32,1,48,1,1,1,21,-9,4,722Z,8680.0,1138502 +1100105,46,11386,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1138601 +1100105,46,11386,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1138602 +1100105,46,11387,1,60,2,35,1,1,1,1,-9,4,928P,9590.0,1138701 +1100105,46,11387,2,60,2,35,3,3,1,1,-9,4,928P,9590.0,1138702 +1100105,46,11388,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1138801 +1100105,46,11388,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1138802 +1100105,46,11389,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1138901 +1100105,46,11389,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1138902 +1100105,46,11390,1,30,1,40,1,4,1,1,16,1,928110P3,9690.0,1139001 +1100105,46,11390,2,29,2,-9,-9,6,1,1,16,4,6111,7860.0,1139002 +1100105,46,11391,1,26,1,-9,-9,6,1,1,16,4,92M2,9570.0,1139101 +1100105,46,11391,2,26,2,45,1,1,1,1,-9,4,611M1,7870.0,1139102 +1100105,46,11392,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1139201 +1100105,46,11392,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1139202 +1100105,46,11393,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1139301 +1100105,46,11393,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1139302 +1100105,46,11394,1,23,2,43,1,1,1,1,-9,4,5416,7390.0,1139401 +1100105,46,11394,2,23,2,15,1,1,1,1,-9,4,4481,5170.0,1139402 +1100105,46,11395,1,22,1,20,1,1,6,1,16,4,611M1,7870.0,1139501 +1100105,46,11395,2,21,1,10,5,6,1,1,16,4,5111Z,6480.0,1139502 +1100105,46,11396,1,23,1,40,4,1,1,1,-9,4,5416,7390.0,1139601 +1100105,46,11396,2,23,1,-9,-9,6,1,1,16,4,611M1,7870.0,1139602 +1100105,46,11397,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1139701 +1100105,46,11397,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,1139702 +1100105,46,11398,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1139801 +1100105,46,11398,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1139802 +1100105,46,11399,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1139901 +1100105,46,11399,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1139902 +1100105,46,11400,1,23,2,35,3,6,1,1,16,4,928P,9590.0,1140001 +1100105,46,11400,2,22,1,20,5,6,1,1,16,4,52M2,6970.0,1140002 +1100105,46,11401,1,65,1,60,1,1,1,1,-9,4,928P,9590.0,1140101 +1100105,46,11402,1,46,1,70,1,1,1,1,-9,4,515,6670.0,1140201 +1100105,46,11403,1,38,2,55,1,1,1,1,-9,4,5411,7270.0,1140301 +1100105,46,11404,1,60,1,40,1,1,1,1,-9,4,5411,7270.0,1140401 +1100105,46,11405,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1140501 +1100105,46,11406,1,50,1,50,1,1,1,1,16,4,2211P,570.0,1140601 +1100105,46,11407,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1140701 +1100105,46,11408,1,63,1,50,1,1,1,1,-9,4,6211,7970.0,1140801 +1100105,46,11409,1,38,2,40,1,1,1,1,-9,4,5411,7270.0,1140901 +1100105,46,11410,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,1141001 +1100105,46,11411,1,30,2,60,1,1,1,1,-9,4,9211MP,9370.0,1141101 +1100105,46,11412,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1141201 +1100105,46,11413,1,51,1,40,1,1,1,1,-9,4,522M,6890.0,1141301 +1100105,46,11414,1,48,1,40,1,1,1,1,-9,4,928P,9590.0,1141401 +1100105,46,11415,1,53,1,50,1,1,1,1,-9,4,4238,4270.0,1141501 +1100105,46,11416,1,47,2,40,1,1,1,1,-9,4,92M2,9570.0,1141601 +1100105,46,11417,1,39,1,40,1,1,1,2,-9,4,9211MP,9370.0,1141701 +1100105,46,11418,1,30,1,50,1,1,1,1,-9,4,561M,7780.0,1141801 +1100105,46,11419,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,1141901 +1100105,46,11420,1,42,2,70,1,1,7,1,-9,4,44511,4971.0,1142001 +1100105,46,11421,1,37,1,40,1,1,6,1,-9,4,515,6670.0,1142101 +1100105,46,11422,1,63,1,40,1,1,2,1,-9,4,4539,5580.0,1142201 +1100105,46,11423,1,39,2,40,1,1,1,1,-9,4,92M2,9570.0,1142301 +1100105,46,11424,1,58,1,40,1,1,1,1,-9,4,813M,9170.0,1142401 +1100105,46,11425,1,51,1,40,1,1,1,1,-9,2,5417,7460.0,1142501 +1100105,46,11426,1,46,1,50,1,1,1,1,-9,2,92MP,9470.0,1142601 +1100105,46,11427,1,53,1,40,1,1,1,1,-9,4,4232,4080.0,1142701 +1100105,46,11428,1,36,1,50,2,1,1,1,-9,4,92MP,9470.0,1142801 +1100105,46,11429,1,37,2,50,1,1,1,1,-9,4,515,6670.0,1142901 +1100105,46,11430,1,54,1,40,1,1,1,1,-9,4,23,770.0,1143001 +1100105,46,11431,1,51,1,40,1,1,1,1,-9,4,23,770.0,1143101 +1100105,46,11432,1,36,1,80,1,1,1,1,-9,4,6111,7860.0,1143201 +1100105,46,11433,1,39,1,40,1,1,1,16,-9,4,923,9480.0,1143301 +1100105,46,11434,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,1143401 +1100105,46,11435,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,1143501 +1100105,46,11436,1,28,1,40,1,1,1,1,-9,4,446Z,5080.0,1143601 +1100105,46,11437,1,28,1,40,1,1,1,1,16,2,5414,7370.0,1143701 +1100105,46,11438,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,1143801 +1100105,46,11439,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1143901 +1100105,46,11440,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1144001 +1100105,46,11441,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,1144101 +1100105,46,11442,1,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,1144201 +1100105,46,11443,1,72,1,40,1,2,1,1,-9,4,8129,9090.0,1144301 +1100105,46,11444,1,39,2,40,1,1,6,1,-9,4,5221M,6880.0,1144401 +1100105,46,11445,1,48,1,40,1,1,2,1,-9,4,722Z,8680.0,1144501 +1100105,46,11446,1,38,2,70,1,1,1,1,-9,4,7211,8660.0,1144601 +1100105,46,11447,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,1144701 +1100105,46,11448,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,1144801 +1100105,46,11449,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,1144901 +1100105,46,11450,1,40,1,40,1,1,1,1,-9,4,52M1,6870.0,1145001 +1100105,46,11451,1,62,1,43,1,1,1,1,-9,4,22S,690.0,1145101 +1100105,46,11452,1,39,1,50,1,1,1,2,-9,4,481,6070.0,1145201 +1100105,46,11453,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1145301 +1100105,46,11454,1,31,2,40,1,1,6,1,-9,4,5416,7390.0,1145401 +1100105,46,11455,1,26,2,50,1,1,2,1,16,4,515,6670.0,1145501 +1100105,46,11456,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1145601 +1100105,46,11457,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,1145701 +1100105,46,11458,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,1145801 +1100105,46,11459,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,1145901 +1100105,46,11460,1,32,1,45,1,1,1,1,-9,4,712,8570.0,1146001 +1100105,46,11461,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,1146101 +1100105,46,11462,1,28,2,42,1,1,1,1,-9,4,44511,4971.0,1146201 +1100105,46,11463,1,28,1,55,1,1,1,1,-9,4,813M,9170.0,1146301 +1100105,46,11464,1,29,2,50,1,1,1,1,-9,4,611M1,7870.0,1146401 +1100105,46,11465,1,33,1,40,1,1,1,1,-9,4,5415,7380.0,1146501 +1100105,46,11466,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,1146601 +1100105,46,11467,1,27,2,40,1,1,1,1,-9,4,3391,3960.0,1146701 +1100105,46,11468,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,1146801 +1100105,46,11469,1,30,1,42,1,1,1,1,-9,4,51912,6770.0,1146901 +1100105,46,11470,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,1147001 +1100105,46,11471,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,1147101 +1100105,46,11472,1,73,2,-9,-9,6,2,1,-9,4,0,0.0,1147201 +1100105,46,11473,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,1147301 +1100105,46,11474,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,1147401 +1100105,46,11475,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1147501 +1100105,46,11476,1,59,2,-9,-9,6,1,1,-9,4,52M1,6870.0,1147601 +1100105,46,11477,1,67,1,50,1,1,1,1,-9,4,23,770.0,1147701 +1100105,46,11478,1,44,1,27,1,1,2,1,-9,4,611M1,7870.0,1147801 +1100105,46,11479,1,42,1,50,1,1,1,1,-9,4,5419Z,7490.0,1147901 +1100105,46,11480,1,37,1,40,1,1,1,1,-9,4,813M,9170.0,1148001 +1100105,46,11481,1,58,2,40,1,1,1,7,-9,4,5617Z,7690.0,1148101 +1100105,46,11482,1,25,2,40,2,1,6,1,-9,4,5415,7380.0,1148201 +1100105,46,11483,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,1148301 +1100105,46,11484,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,1148401 +1100105,46,11485,1,23,2,40,1,1,1,1,-9,4,5411,7270.0,1148501 +1100105,46,11486,1,33,1,40,1,1,1,1,-9,4,515,6670.0,1148601 +1100105,46,11487,1,25,1,35,1,1,1,1,-9,4,813M,9170.0,1148701 +1100105,46,11488,1,28,1,50,1,1,1,23,-9,4,722Z,8680.0,1148801 +1100105,46,11489,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1148901 +1100105,46,11490,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1149001 +1100105,46,11491,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1149101 +1100105,46,11492,1,89,2,-9,-9,6,1,1,-9,4,0,0.0,1149201 +1100105,46,11493,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,1149301 +1100105,46,11494,1,77,1,40,1,1,1,1,-9,2,812112,8980.0,1149401 +1100105,46,11495,1,61,2,18,1,1,2,1,-9,4,44511,4971.0,1149501 +1100105,46,11496,1,60,1,50,1,1,1,1,-9,4,5411,7270.0,1149601 +1100105,46,11497,1,50,1,40,1,1,1,1,-9,4,7115,8564.0,1149701 +1100105,46,11498,1,35,2,40,1,1,1,2,-9,4,722Z,8680.0,1149801 +1100105,46,11499,1,20,2,40,4,1,6,1,15,4,5412,7280.0,1149901 +1100105,46,11500,1,24,2,60,3,2,1,1,-9,4,813M,9170.0,1150001 +1100105,46,11501,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,1150101 +1100105,46,11502,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,1150201 +1100105,46,11503,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,1150301 +1100105,46,11504,1,70,1,-9,-9,6,2,1,-9,2,0,0.0,1150401 +1100105,46,11505,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1150501 +1100105,46,11506,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,1150601 +1100105,46,11507,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,1150701 +1100105,46,11508,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1150801 +1100105,46,11509,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,1150901 +1100105,46,11510,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1151001 +1100105,46,11511,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1151101 +1100105,46,11512,1,46,2,-9,-9,6,2,1,-9,4,0,0.0,1151201 +1100105,46,11513,1,51,1,40,5,6,2,1,-9,4,2213M,670.0,1151301 +1100105,46,11514,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1151401 +1100105,46,11515,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1151501 +1100105,46,11516,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1151601 +1100105,46,11517,1,60,1,-9,-9,6,1,1,-9,2,0,0.0,1151701 +1100105,46,11518,1,38,1,35,5,3,1,16,-9,4,5416,7390.0,1151801 +1100105,46,11519,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,1151901 +1100105,46,11520,1,24,1,-9,-9,6,1,1,16,4,622M,8191.0,1152001 +1100105,46,11521,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1152101 +1100105,46,11522,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1152201 +1100105,47,11523,1,26,1,50,1,1,1,1,-9,4,52M1,6870.0,1152301 +1100105,47,11523,2,28,1,50,1,1,1,1,-9,4,51111,6470.0,1152302 +1100105,47,11523,3,28,1,40,1,1,1,1,-9,4,5415,7380.0,1152303 +1100105,47,11523,4,26,1,40,1,1,1,1,-9,4,5417,7460.0,1152304 +1100105,47,11523,5,26,1,40,1,1,1,1,-9,4,5416,7390.0,1152305 +1100105,47,11523,6,26,1,45,1,1,1,1,-9,4,5416,7390.0,1152306 +1100105,47,11524,1,27,1,40,1,1,6,1,-9,4,621M,8180.0,1152401 +1100105,47,11524,2,30,1,50,1,1,1,1,-9,4,515,6670.0,1152402 +1100105,47,11524,3,30,1,40,1,1,1,1,-9,4,515,6670.0,1152403 +1100105,47,11524,4,30,2,40,1,1,9,1,-9,4,5614,7590.0,1152404 +1100105,47,11524,5,28,2,40,1,1,1,1,-9,4,4247,4490.0,1152405 +1100105,47,11524,6,28,2,70,1,1,1,1,16,4,928P,9590.0,1152406 +1100105,47,11524,7,27,1,50,1,1,1,1,-9,4,5412,7280.0,1152407 +1100105,47,11525,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1152501 +1100105,47,11525,2,32,2,40,4,1,1,1,16,4,5416,7390.0,1152502 +1100105,47,11525,3,30,1,48,1,1,1,1,-9,4,5415,7380.0,1152503 +1100105,47,11525,4,29,1,75,1,1,1,1,-9,2,7115,8564.0,1152504 +1100105,47,11525,5,29,1,40,1,1,1,1,-9,4,45121,5370.0,1152505 +1100105,47,11525,6,27,2,40,1,1,1,1,-9,4,3391,3960.0,1152506 +1100105,47,11525,7,27,2,40,1,1,1,1,-9,4,515,6670.0,1152507 +1100105,47,11526,1,26,1,40,1,1,6,1,-9,4,5415,7380.0,1152601 +1100105,47,11526,2,40,1,-9,-9,6,1,1,-9,4,5416,7390.0,1152602 +1100105,47,11526,3,28,1,40,1,1,1,1,-9,4,923,9480.0,1152603 +1100105,47,11526,4,28,2,40,4,1,1,11,-9,4,611M3,7890.0,1152604 +1100105,47,11526,5,26,2,47,1,1,9,1,-9,4,6241,8370.0,1152605 +1100105,47,11526,6,26,1,40,1,1,1,1,-9,4,923,9480.0,1152606 +1100105,47,11526,7,24,1,40,4,1,9,1,-9,4,517Z,6690.0,1152607 +1100105,47,11526,8,23,1,43,1,1,1,1,-9,4,7115,8564.0,1152608 +1100105,47,11526,9,23,1,50,3,1,1,1,16,4,6111,7860.0,1152609 +1100105,47,11526,10,22,1,43,3,1,9,19,-9,4,5417,7460.0,1152610 +1100105,47,11527,1,26,1,40,1,1,6,1,-9,4,5415,7380.0,1152701 +1100105,47,11527,2,40,1,-9,-9,6,1,1,-9,4,5416,7390.0,1152702 +1100105,47,11527,3,28,1,40,1,1,1,1,-9,4,923,9480.0,1152703 +1100105,47,11527,4,28,2,40,4,1,1,11,-9,4,611M3,7890.0,1152704 +1100105,47,11527,5,26,2,47,1,1,9,1,-9,4,6241,8370.0,1152705 +1100105,47,11527,6,26,1,40,1,1,1,1,-9,4,923,9480.0,1152706 +1100105,47,11527,7,24,1,40,4,1,9,1,-9,4,517Z,6690.0,1152707 +1100105,47,11527,8,23,1,43,1,1,1,1,-9,4,7115,8564.0,1152708 +1100105,47,11527,9,23,1,50,3,1,1,1,16,4,6111,7860.0,1152709 +1100105,47,11527,10,22,1,43,3,1,9,19,-9,4,5417,7460.0,1152710 +1100105,47,11528,1,35,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1152801 +1100105,47,11528,2,35,1,50,1,1,1,1,-9,4,5417,7460.0,1152802 +1100105,47,11528,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,1152803 +1100105,47,11528,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1152804 +1100105,47,11528,5,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1152805 +1100105,47,11528,6,27,2,45,2,1,1,1,16,4,814,9290.0,1152806 +1100105,47,11529,1,35,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1152901 +1100105,47,11529,2,35,1,50,1,1,1,1,-9,4,5417,7460.0,1152902 +1100105,47,11529,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,1152903 +1100105,47,11529,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1152904 +1100105,47,11529,5,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1152905 +1100105,47,11529,6,27,2,45,2,1,1,1,16,4,814,9290.0,1152906 +1100105,47,11530,1,35,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1153001 +1100105,47,11530,2,35,1,50,1,1,1,1,-9,4,5417,7460.0,1153002 +1100105,47,11530,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,1153003 +1100105,47,11530,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153004 +1100105,47,11530,5,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153005 +1100105,47,11530,6,27,2,45,2,1,1,1,16,4,814,9290.0,1153006 +1100105,47,11531,1,35,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1153101 +1100105,47,11531,2,35,1,50,1,1,1,1,-9,4,5417,7460.0,1153102 +1100105,47,11531,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,1153103 +1100105,47,11531,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153104 +1100105,47,11531,5,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153105 +1100105,47,11531,6,27,2,45,2,1,1,1,16,4,814,9290.0,1153106 +1100105,47,11532,1,35,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1153201 +1100105,47,11532,2,35,1,50,1,1,1,1,-9,4,5417,7460.0,1153202 +1100105,47,11532,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,1153203 +1100105,47,11532,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153204 +1100105,47,11532,5,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153205 +1100105,47,11532,6,27,2,45,2,1,1,1,16,4,814,9290.0,1153206 +1100105,47,11533,1,35,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1153301 +1100105,47,11533,2,35,1,50,1,1,1,1,-9,4,5417,7460.0,1153302 +1100105,47,11533,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,1153303 +1100105,47,11533,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153304 +1100105,47,11533,5,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153305 +1100105,47,11533,6,27,2,45,2,1,1,1,16,4,814,9290.0,1153306 +1100105,47,11534,1,35,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1153401 +1100105,47,11534,2,35,1,50,1,1,1,1,-9,4,5417,7460.0,1153402 +1100105,47,11534,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,1153403 +1100105,47,11534,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153404 +1100105,47,11534,5,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153405 +1100105,47,11534,6,27,2,45,2,1,1,1,16,4,814,9290.0,1153406 +1100105,47,11535,1,35,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1153501 +1100105,47,11535,2,35,1,50,1,1,1,1,-9,4,5417,7460.0,1153502 +1100105,47,11535,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,1153503 +1100105,47,11535,4,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153504 +1100105,47,11535,5,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1153505 +1100105,47,11535,6,27,2,45,2,1,1,1,16,4,814,9290.0,1153506 +1100105,47,11536,1,47,2,27,1,1,6,1,-9,4,812112,8980.0,1153601 +1100105,47,11536,2,44,1,40,1,2,6,1,-9,4,6214,8090.0,1153602 +1100105,47,11536,3,20,1,-9,-9,6,6,1,15,4,0,0.0,1153603 +1100105,47,11536,4,17,2,-9,-9,6,6,1,14,4,0,0.0,1153604 +1100105,47,11536,5,1,2,-9,-9,-9,6,1,-9,-9,0,0.0,1153605 +1100105,47,11536,6,71,1,-9,-9,6,6,1,-9,4,0,0.0,1153606 +1100105,47,11536,7,69,2,-9,-9,6,6,1,-9,4,0,0.0,1153607 +1100105,47,11536,8,61,2,18,6,1,6,1,-9,4,722Z,8680.0,1153608 +1100105,47,11536,9,59,1,40,6,3,6,1,-9,4,722Z,8680.0,1153609 +1100105,47,11536,10,57,1,40,5,1,6,1,-9,4,487,6280.0,1153610 +1100105,47,11536,11,14,1,-9,-9,-9,6,1,8,-9,0,0.0,1153611 +1100105,47,11537,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1153701 +1100105,47,11537,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1153702 +1100105,47,11537,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1153703 +1100105,47,11537,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1153704 +1100105,47,11537,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1153705 +1100105,47,11537,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1153706 +1100105,47,11538,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1153801 +1100105,47,11538,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1153802 +1100105,47,11538,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1153803 +1100105,47,11538,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1153804 +1100105,47,11538,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1153805 +1100105,47,11538,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1153806 +1100105,47,11539,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1153901 +1100105,47,11539,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1153902 +1100105,47,11539,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1153903 +1100105,47,11539,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1153904 +1100105,47,11539,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1153905 +1100105,47,11539,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1153906 +1100105,47,11540,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1154001 +1100105,47,11540,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1154002 +1100105,47,11540,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1154003 +1100105,47,11540,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1154004 +1100105,47,11540,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1154005 +1100105,47,11540,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1154006 +1100105,47,11541,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1154101 +1100105,47,11541,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1154102 +1100105,47,11541,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1154103 +1100105,47,11541,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1154104 +1100105,47,11541,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1154105 +1100105,47,11541,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1154106 +1100105,47,11542,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1154201 +1100105,47,11542,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1154202 +1100105,47,11542,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1154203 +1100105,47,11542,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1154204 +1100105,47,11542,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1154205 +1100105,47,11542,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1154206 +1100105,47,11543,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1154301 +1100105,47,11543,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1154302 +1100105,47,11543,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1154303 +1100105,47,11543,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1154304 +1100105,47,11543,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1154305 +1100105,47,11543,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1154306 +1100105,47,11544,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1154401 +1100105,47,11544,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1154402 +1100105,47,11544,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1154403 +1100105,47,11544,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1154404 +1100105,47,11544,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1154405 +1100105,47,11544,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1154406 +1100105,47,11545,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1154501 +1100105,47,11545,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1154502 +1100105,47,11545,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1154503 +1100105,47,11545,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1154504 +1100105,47,11545,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1154505 +1100105,47,11545,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1154506 +1100105,47,11546,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1154601 +1100105,47,11546,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1154602 +1100105,47,11546,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1154603 +1100105,47,11546,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1154604 +1100105,47,11546,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1154605 +1100105,47,11546,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1154606 +1100105,47,11547,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1154701 +1100105,47,11547,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1154702 +1100105,47,11547,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1154703 +1100105,47,11547,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1154704 +1100105,47,11547,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1154705 +1100105,47,11547,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1154706 +1100105,47,11548,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1154801 +1100105,47,11548,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1154802 +1100105,47,11548,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1154803 +1100105,47,11548,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1154804 +1100105,47,11548,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1154805 +1100105,47,11548,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1154806 +1100105,47,11549,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1154901 +1100105,47,11549,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1154902 +1100105,47,11549,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1154903 +1100105,47,11549,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1154904 +1100105,47,11549,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1154905 +1100105,47,11549,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1154906 +1100105,47,11550,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1155001 +1100105,47,11550,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1155002 +1100105,47,11550,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1155003 +1100105,47,11550,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1155004 +1100105,47,11550,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1155005 +1100105,47,11550,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1155006 +1100105,47,11551,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1155101 +1100105,47,11551,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1155102 +1100105,47,11551,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1155103 +1100105,47,11551,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1155104 +1100105,47,11551,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1155105 +1100105,47,11551,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1155106 +1100105,47,11552,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1155201 +1100105,47,11552,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1155202 +1100105,47,11552,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1155203 +1100105,47,11552,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1155204 +1100105,47,11552,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1155205 +1100105,47,11552,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1155206 +1100105,47,11553,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1155301 +1100105,47,11553,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1155302 +1100105,47,11553,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1155303 +1100105,47,11553,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1155304 +1100105,47,11553,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1155305 +1100105,47,11553,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1155306 +1100105,47,11553,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1155307 +1100105,47,11553,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1155308 +1100105,47,11553,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1155309 +1100105,47,11554,1,36,1,40,1,1,1,1,-9,4,6111,7860.0,1155401 +1100105,47,11554,2,39,1,40,1,1,1,1,16,4,4441Z,4870.0,1155402 +1100105,47,11554,3,33,1,40,1,1,1,1,15,4,3399ZM,3980.0,1155403 +1100105,47,11555,1,31,2,40,1,1,1,1,-9,4,92M2,9570.0,1155501 +1100105,47,11555,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,1155502 +1100105,47,11555,3,27,1,40,2,1,9,1,-9,4,9211MP,9370.0,1155503 +1100105,47,11556,1,23,2,40,3,1,1,1,-9,4,5411,7270.0,1155601 +1100105,47,11556,2,29,1,50,1,1,1,1,16,4,928P,9590.0,1155602 +1100105,47,11556,3,25,2,50,1,1,1,1,-9,4,813M,9170.0,1155603 +1100105,47,11557,1,23,2,40,3,1,1,1,-9,4,5411,7270.0,1155701 +1100105,47,11557,2,29,1,50,1,1,1,1,16,4,928P,9590.0,1155702 +1100105,47,11557,3,25,2,50,1,1,1,1,-9,4,813M,9170.0,1155703 +1100105,47,11558,1,37,2,40,1,1,1,1,-9,4,5415,7380.0,1155801 +1100105,47,11558,2,40,1,40,1,1,6,1,-9,4,622M,8191.0,1155802 +1100105,47,11558,3,0,1,-9,-9,-9,8,1,-9,-9,0,0.0,1155803 +1100105,47,11559,1,45,1,65,1,1,1,1,-9,4,5418,7470.0,1155901 +1100105,47,11559,2,40,2,50,1,1,1,1,-9,4,5415,7380.0,1155902 +1100105,47,11559,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1155903 +1100105,47,11560,1,45,1,45,1,1,1,1,-9,4,5416,7390.0,1156001 +1100105,47,11560,2,50,1,40,1,1,1,1,-9,4,622M,8191.0,1156002 +1100105,47,11560,3,3,1,-9,-9,-9,1,7,1,-9,0,0.0,1156003 +1100105,47,11561,1,34,2,40,2,1,1,1,-9,4,5417,7460.0,1156101 +1100105,47,11561,2,37,1,40,2,1,6,1,-9,4,5416,7390.0,1156102 +1100105,47,11561,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,1156103 +1100105,47,11562,1,40,1,50,1,1,1,1,-9,4,3391,3960.0,1156201 +1100105,47,11562,2,32,2,40,1,1,1,1,-9,4,923,9480.0,1156202 +1100105,47,11562,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1156203 +1100105,47,11563,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,1156301 +1100105,47,11563,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,1156302 +1100105,47,11563,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,1156303 +1100105,47,11564,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,1156401 +1100105,47,11564,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,1156402 +1100105,47,11564,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1156403 +1100105,47,11565,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,1156501 +1100105,47,11565,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,1156502 +1100105,47,11565,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,1156503 +1100105,47,11566,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,1156601 +1100105,47,11566,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,1156602 +1100105,47,11566,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1156603 +1100105,47,11567,1,27,1,60,1,1,1,1,-9,4,5415,7380.0,1156701 +1100105,47,11567,2,28,1,60,1,1,1,1,-9,4,5415,7380.0,1156702 +1100105,47,11567,3,23,1,60,1,1,1,1,-9,4,923,9480.0,1156703 +1100105,47,11568,1,25,2,58,1,1,1,1,-9,4,531M,7071.0,1156801 +1100105,47,11568,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,1156802 +1100105,47,11568,3,24,2,50,1,1,1,1,-9,4,5418,7470.0,1156803 +1100105,47,11569,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,1156901 +1100105,47,11569,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,1156902 +1100105,47,11569,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,1156903 +1100105,47,11570,1,37,2,50,6,1,1,1,-9,4,813M,9170.0,1157001 +1100105,47,11570,2,37,1,66,1,1,1,1,-9,4,611M1,7870.0,1157002 +1100105,47,11570,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1157003 +1100105,47,11571,1,48,1,60,1,1,9,1,-9,4,8139Z,9190.0,1157101 +1100105,47,11571,2,33,2,50,1,1,1,1,-9,4,813M,9170.0,1157102 +1100105,47,11571,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,1157103 +1100105,47,11572,1,23,2,40,1,1,1,1,-9,4,5417,7460.0,1157201 +1100105,47,11572,2,23,2,55,1,1,1,1,-9,4,5411,7270.0,1157202 +1100105,47,11572,3,23,2,40,1,1,1,1,-9,4,5416,7390.0,1157203 +1100105,47,11573,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,1157301 +1100105,47,11573,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,1157302 +1100105,47,11573,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,1157303 +1100105,47,11574,1,25,1,40,1,1,1,21,-9,4,9211MP,9370.0,1157401 +1100105,47,11574,2,24,1,40,2,1,1,1,-9,4,5416,7390.0,1157402 +1100105,47,11574,3,22,1,40,5,1,1,1,-9,4,5417,7460.0,1157403 +1100105,47,11575,1,34,1,60,1,1,1,1,-9,4,92113,9380.0,1157501 +1100105,47,11575,2,33,2,-9,-9,6,1,1,16,4,5413,7290.0,1157502 +1100105,47,11575,3,3,1,-9,-9,-9,1,1,1,-9,0,0.0,1157503 +1100105,47,11576,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1157601 +1100105,47,11576,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,1157602 +1100105,47,11576,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,1157603 +1100105,47,11577,1,27,2,20,1,1,1,1,16,4,923,9480.0,1157701 +1100105,47,11577,2,24,2,-9,-9,6,1,1,15,4,0,0.0,1157702 +1100105,47,11577,3,23,2,20,1,1,1,24,15,4,5415,7380.0,1157703 +1100105,47,11578,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,1157801 +1100105,47,11578,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,1157802 +1100105,47,11578,3,21,1,15,1,1,1,1,15,4,621M,8180.0,1157803 +1100105,47,11579,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1157901 +1100105,47,11579,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1157902 +1100105,47,11579,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1157903 +1100105,47,11580,1,65,1,42,1,1,1,1,-9,4,92M2,9570.0,1158001 +1100105,47,11580,2,71,1,38,1,1,1,1,-9,4,5615,7670.0,1158002 +1100105,47,11581,1,71,1,20,5,1,1,1,-9,4,5615,7670.0,1158101 +1100105,47,11581,2,68,1,40,1,1,1,1,-9,4,928P,9590.0,1158102 +1100105,47,11582,1,66,1,40,1,1,1,1,-9,4,52M2,6970.0,1158201 +1100105,47,11582,2,60,2,40,1,1,6,1,-9,4,928P,9590.0,1158202 +1100105,47,11583,1,64,1,45,1,2,1,1,-9,4,8139Z,9190.0,1158301 +1100105,47,11583,2,65,2,40,1,1,1,1,-9,4,531M,7071.0,1158302 +1100105,47,11584,1,67,1,40,1,1,1,1,-9,3,5411,7270.0,1158401 +1100105,47,11584,2,64,2,10,1,1,1,1,-9,4,611M1,7870.0,1158402 +1100105,47,11585,1,69,1,40,1,1,1,1,-9,4,923,9480.0,1158501 +1100105,47,11585,2,53,2,40,1,1,1,1,-9,4,923,9480.0,1158502 +1100105,47,11586,1,37,1,40,1,1,9,1,-9,2,928P,9590.0,1158601 +1100105,47,11586,2,35,2,50,1,1,6,1,-9,4,622M,8191.0,1158602 +1100105,47,11587,1,45,1,45,1,1,6,1,-9,4,5411,7270.0,1158701 +1100105,47,11587,2,44,2,40,1,1,6,1,-9,4,5411,7270.0,1158702 +1100105,47,11588,1,36,1,40,3,1,9,1,-9,4,5413,7290.0,1158801 +1100105,47,11588,2,39,1,70,1,1,1,1,-9,4,531M,7071.0,1158802 +1100105,47,11589,1,35,2,55,2,1,9,1,-9,4,51111,6470.0,1158901 +1100105,47,11589,2,46,1,55,1,1,1,1,-9,4,51913,6672.0,1158902 +1100105,47,11590,1,36,2,45,1,1,1,1,-9,4,5411,7270.0,1159001 +1100105,47,11590,2,37,1,40,1,1,9,1,-9,4,92113,9380.0,1159002 +1100105,47,11591,1,36,1,40,3,1,9,1,-9,4,5413,7290.0,1159101 +1100105,47,11591,2,39,1,70,1,1,1,1,-9,4,531M,7071.0,1159102 +1100105,47,11592,1,38,2,40,1,1,6,1,-9,4,813M,9170.0,1159201 +1100105,47,11592,2,38,1,50,1,1,1,1,-9,4,92M2,9570.0,1159202 +1100105,47,11593,1,58,1,30,6,1,1,1,-9,2,5416,7390.0,1159301 +1100105,47,11593,2,47,1,70,1,1,1,1,-9,4,5411,7270.0,1159302 +1100105,47,11594,1,48,1,45,2,1,1,1,-9,4,92113,9380.0,1159401 +1100105,47,11594,2,46,1,30,1,1,1,1,-9,4,7111,8561.0,1159402 +1100105,47,11595,1,46,2,40,1,1,1,1,-9,4,928P,9590.0,1159501 +1100105,47,11595,2,45,1,50,1,1,1,1,-9,4,5112,6490.0,1159502 +1100105,47,11596,1,44,1,58,1,4,1,1,-9,1,928110P3,9690.0,1159601 +1100105,47,11596,2,46,2,40,1,1,1,1,-9,4,5416,7390.0,1159602 +1100105,47,11597,1,36,2,55,1,1,1,1,-9,4,531M,7071.0,1159701 +1100105,47,11597,2,41,2,70,1,1,1,1,-9,4,531M,7071.0,1159702 +1100105,47,11598,1,53,2,40,1,1,1,1,-9,4,8139Z,9190.0,1159801 +1100105,47,11598,2,54,1,50,1,1,1,1,-9,4,92113,9380.0,1159802 +1100105,47,11599,1,64,2,28,1,1,1,1,-9,4,928P,9590.0,1159901 +1100105,47,11599,2,56,2,40,1,1,1,1,-9,4,51912,6770.0,1159902 +1100105,47,11600,1,38,1,40,1,1,1,1,-9,4,5614,7590.0,1160001 +1100105,47,11600,2,46,1,40,1,1,1,1,-9,2,92M2,9570.0,1160002 +1100105,47,11601,1,39,2,52,1,1,1,1,-9,4,813M,9170.0,1160101 +1100105,47,11601,2,50,1,60,1,1,1,1,-9,4,5417,7460.0,1160102 +1100105,47,11602,1,62,1,52,1,1,1,1,-9,2,611M3,7890.0,1160201 +1100105,47,11602,2,62,2,40,1,1,1,1,-9,4,5415,7380.0,1160202 +1100105,47,11603,1,48,1,46,1,1,1,1,-9,4,622M,8191.0,1160301 +1100105,47,11603,2,46,1,40,1,1,1,1,-9,4,5411,7270.0,1160302 +1100105,47,11604,1,57,1,45,1,1,1,1,-9,4,9211MP,9370.0,1160401 +1100105,47,11604,2,53,2,40,1,1,1,1,-9,4,923,9480.0,1160402 +1100105,47,11605,1,35,1,50,1,1,1,1,-9,4,5416,7390.0,1160501 +1100105,47,11605,2,37,2,50,1,1,1,1,16,4,8139Z,9190.0,1160502 +1100105,47,11606,1,40,1,43,1,1,1,1,-9,4,5112,6490.0,1160601 +1100105,47,11606,2,35,1,60,1,1,1,1,-9,4,5415,7380.0,1160602 +1100105,47,11607,1,48,1,50,1,1,1,1,-9,4,928P,9590.0,1160701 +1100105,47,11607,2,61,1,60,1,1,1,1,-9,4,6111,7860.0,1160702 +1100105,47,11608,1,39,2,52,1,1,1,1,-9,4,813M,9170.0,1160801 +1100105,47,11608,2,50,1,60,1,1,1,1,-9,4,5417,7460.0,1160802 +1100105,47,11609,1,38,1,40,1,1,1,1,-9,4,5614,7590.0,1160901 +1100105,47,11609,2,46,1,40,1,1,1,1,-9,2,92M2,9570.0,1160902 +1100105,47,11610,1,48,1,46,1,1,1,1,-9,4,622M,8191.0,1161001 +1100105,47,11610,2,46,1,40,1,1,1,1,-9,4,5411,7270.0,1161002 +1100105,47,11611,1,39,2,50,1,1,1,1,-9,4,813M,9170.0,1161101 +1100105,47,11611,2,45,1,40,1,1,1,1,-9,4,3231,1990.0,1161102 +1100105,47,11612,1,50,2,50,1,1,1,1,-9,4,92MP,9470.0,1161201 +1100105,47,11612,2,51,1,60,1,1,1,1,-9,4,5411,7270.0,1161202 +1100105,47,11613,1,41,1,40,1,1,1,1,-9,4,5411,7270.0,1161301 +1100105,47,11613,2,60,1,40,1,1,1,1,-9,4,928P,9590.0,1161302 +1100105,47,11614,1,50,2,50,1,1,1,24,-9,4,9211MP,9370.0,1161401 +1100105,47,11614,2,48,1,50,1,1,1,1,-9,4,531M,7071.0,1161402 +1100105,47,11615,1,54,2,40,1,1,1,1,-9,4,3222M,1890.0,1161501 +1100105,47,11615,2,63,1,55,1,1,1,2,-9,4,928P,9590.0,1161502 +1100105,47,11616,1,35,2,45,1,1,1,1,-9,4,923,9480.0,1161601 +1100105,47,11616,2,35,1,45,1,1,1,23,-9,4,92113,9380.0,1161602 +1100105,47,11617,1,54,2,40,1,1,1,1,-9,4,3222M,1890.0,1161701 +1100105,47,11617,2,63,1,55,1,1,1,2,-9,4,928P,9590.0,1161702 +1100105,47,11618,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,1161801 +1100105,47,11618,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,1161802 +1100105,47,11619,1,57,1,45,1,1,9,1,-9,4,531M,7071.0,1161901 +1100105,47,11619,2,22,1,10,4,1,9,1,15,4,5413,7290.0,1161902 +1100105,47,11620,1,35,1,70,1,1,9,1,-9,4,5411,7270.0,1162001 +1100105,47,11620,2,33,2,67,1,1,1,1,-9,4,5411,7270.0,1162002 +1100105,47,11621,1,40,1,65,1,1,9,1,-9,4,5419Z,7490.0,1162101 +1100105,47,11621,2,29,2,52,1,1,1,1,-9,4,928P,9590.0,1162102 +1100105,47,11622,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,1162201 +1100105,47,11622,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,1162202 +1100105,47,11623,1,39,1,40,1,1,1,1,-9,4,92119,9390.0,1162301 +1100105,47,11623,2,29,1,40,1,1,6,1,-9,4,5415,7380.0,1162302 +1100105,47,11624,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,1162401 +1100105,47,11624,2,35,1,40,1,1,1,1,-9,4,5411,7270.0,1162402 +1100105,47,11625,1,35,1,55,1,1,1,1,-9,4,8139Z,9190.0,1162501 +1100105,47,11625,2,34,1,50,1,1,1,1,-9,4,8139Z,9190.0,1162502 +1100105,47,11626,1,35,1,60,1,1,1,1,-9,4,5416,7390.0,1162601 +1100105,47,11626,2,33,2,46,1,1,1,1,-9,4,5416,7390.0,1162602 +1100105,47,11627,1,41,1,20,3,1,1,1,-9,4,5411,7270.0,1162701 +1100105,47,11627,2,31,2,40,1,1,1,1,-9,4,5411,7270.0,1162702 +1100105,47,11628,1,37,1,55,1,1,1,1,-9,4,443142,4795.0,1162801 +1100105,47,11628,2,29,2,40,1,1,1,1,-9,4,5417,7460.0,1162802 +1100105,47,11629,1,38,2,40,1,1,1,1,-9,4,522M,6890.0,1162901 +1100105,47,11629,2,29,1,40,1,1,1,1,-9,4,928P,9590.0,1162902 +1100105,47,11630,1,34,2,50,1,1,1,1,-9,4,52M2,6970.0,1163001 +1100105,47,11630,2,49,1,40,1,1,1,1,-9,4,92M2,9570.0,1163002 +1100105,47,11631,1,34,1,50,1,1,1,1,-9,4,611M1,7870.0,1163101 +1100105,47,11631,2,36,2,60,1,1,1,1,-9,4,813M,9170.0,1163102 +1100105,47,11632,1,32,1,40,1,1,1,1,16,4,923,9480.0,1163201 +1100105,47,11632,2,39,1,40,1,1,1,1,-9,4,813M,9170.0,1163202 +1100105,47,11633,1,33,2,60,1,1,1,1,-9,4,5615,7670.0,1163301 +1100105,47,11633,2,41,1,50,1,1,1,1,-9,4,7115,8564.0,1163302 +1100105,47,11634,1,37,1,55,1,1,1,1,-9,4,443142,4795.0,1163401 +1100105,47,11634,2,29,2,40,1,1,1,1,-9,4,5417,7460.0,1163402 +1100105,47,11635,1,35,1,55,1,1,1,1,-9,4,8139Z,9190.0,1163501 +1100105,47,11635,2,34,1,50,1,1,1,1,-9,4,8139Z,9190.0,1163502 +1100105,47,11636,1,44,1,40,1,4,1,19,16,1,928110P3,9690.0,1163601 +1100105,47,11636,2,27,2,50,1,1,1,1,-9,4,8139Z,9190.0,1163602 +1100105,47,11637,1,39,1,40,1,1,1,6,-9,4,622M,8191.0,1163701 +1100105,47,11637,2,30,2,40,6,1,1,1,16,4,622M,8191.0,1163702 +1100105,47,11638,1,44,1,40,1,4,1,19,16,1,928110P3,9690.0,1163801 +1100105,47,11638,2,27,2,50,1,1,1,1,-9,4,8139Z,9190.0,1163802 +1100105,47,11639,1,32,2,40,1,1,6,1,-9,4,5413,7290.0,1163901 +1100105,47,11639,2,34,1,80,1,1,6,1,-9,4,5416,7390.0,1163902 +1100105,47,11640,1,30,1,45,1,1,9,1,-9,4,611M3,7890.0,1164001 +1100105,47,11640,2,29,2,45,1,1,1,1,-9,4,5413,7290.0,1164002 +1100105,47,11641,1,31,1,50,1,1,1,1,-9,4,5418,7470.0,1164101 +1100105,47,11641,2,32,2,50,1,1,9,1,-9,4,5416,7390.0,1164102 +1100105,47,11642,1,30,1,45,1,1,9,1,-9,4,611M3,7890.0,1164201 +1100105,47,11642,2,29,2,45,1,1,1,1,-9,4,5413,7290.0,1164202 +1100105,47,11643,1,31,2,40,1,1,1,1,-9,4,8139Z,9190.0,1164301 +1100105,47,11643,2,31,1,40,2,1,6,1,-9,4,5418,7470.0,1164302 +1100105,47,11644,1,30,2,40,1,1,1,1,-9,4,5417,7460.0,1164401 +1100105,47,11644,2,31,1,40,1,1,6,1,-9,4,6214,8090.0,1164402 +1100105,47,11645,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,1164501 +1100105,47,11645,2,30,2,60,1,1,1,1,-9,4,5411,7270.0,1164502 +1100105,47,11646,1,28,1,60,1,1,1,1,-9,4,5411,7270.0,1164601 +1100105,47,11646,2,29,2,70,1,1,1,1,-9,4,9211MP,9370.0,1164602 +1100105,47,11647,1,32,1,40,1,1,1,1,-9,4,611M3,7890.0,1164701 +1100105,47,11647,2,32,2,50,1,1,1,1,-9,4,712,8570.0,1164702 +1100105,47,11648,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,1164801 +1100105,47,11648,2,31,1,55,1,1,1,1,-9,4,522M,6890.0,1164802 +1100105,47,11649,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,1164901 +1100105,47,11649,2,27,1,50,1,1,1,1,-9,4,4481,5170.0,1164902 +1100105,47,11650,1,29,2,50,1,1,1,1,-9,4,9211MP,9370.0,1165001 +1100105,47,11650,2,32,1,70,1,1,1,1,-9,4,5411,7270.0,1165002 +1100105,47,11651,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1165101 +1100105,47,11651,2,34,2,50,1,1,1,1,-9,4,928P,9590.0,1165102 +1100105,47,11652,1,32,1,50,1,1,1,1,-9,4,621M,8180.0,1165201 +1100105,47,11652,2,31,2,60,1,1,1,1,-9,4,5416,7390.0,1165202 +1100105,47,11653,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,1165301 +1100105,47,11653,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,1165302 +1100105,47,11654,1,33,2,40,1,1,1,1,-9,4,622M,8191.0,1165401 +1100105,47,11654,2,32,1,80,1,1,1,1,-9,4,7211,8660.0,1165402 +1100105,47,11655,1,31,2,52,1,1,1,1,-9,4,8139Z,9190.0,1165501 +1100105,47,11655,2,34,1,60,1,1,1,1,-9,4,928P,9590.0,1165502 +1100105,47,11656,1,29,1,60,1,1,1,1,-9,4,9211MP,9370.0,1165601 +1100105,47,11656,2,30,2,60,1,1,1,1,-9,4,9211MP,9370.0,1165602 +1100105,47,11657,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,1165701 +1100105,47,11657,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,1165702 +1100105,47,11658,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,1165801 +1100105,47,11658,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,1165802 +1100105,47,11659,1,32,1,45,1,1,1,1,-9,4,5418,7470.0,1165901 +1100105,47,11659,2,29,2,50,1,1,1,1,-9,4,713Z,8590.0,1165902 +1100105,47,11660,1,27,1,40,1,1,1,1,-9,4,5416,7390.0,1166001 +1100105,47,11660,2,26,2,50,1,1,1,1,-9,4,928P,9590.0,1166002 +1100105,47,11661,1,30,1,50,1,1,1,1,-9,4,6211,7970.0,1166101 +1100105,47,11661,2,28,2,70,1,1,1,1,-9,4,5411,7270.0,1166102 +1100105,47,11662,1,31,2,55,1,1,1,1,-9,4,5417,7460.0,1166201 +1100105,47,11662,2,31,1,50,1,1,1,1,-9,4,928P,9590.0,1166202 +1100105,47,11663,1,27,1,20,1,1,1,1,16,4,5615,7670.0,1166301 +1100105,47,11663,2,27,2,40,1,1,1,1,-9,4,611M3,7890.0,1166302 +1100105,47,11664,1,32,1,45,1,1,1,1,-9,4,5418,7470.0,1166401 +1100105,47,11664,2,29,2,50,1,1,1,1,-9,4,713Z,8590.0,1166402 +1100105,47,11665,1,30,2,50,1,1,1,1,-9,4,5419Z,7490.0,1166501 +1100105,47,11665,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1166502 +1100105,47,11666,1,31,1,40,1,1,1,1,-9,4,928P,9590.0,1166601 +1100105,47,11666,2,30,2,40,1,1,1,1,-9,4,5417,7460.0,1166602 +1100105,47,11667,1,30,1,55,1,1,1,1,-9,4,5411,7270.0,1166701 +1100105,47,11667,2,28,2,55,1,1,1,1,-9,4,4234,4170.0,1166702 +1100105,47,11668,1,33,1,40,1,1,1,1,-9,4,2212P,580.0,1166801 +1100105,47,11668,2,32,2,40,1,1,1,1,-9,4,5416,7390.0,1166802 +1100105,47,11669,1,34,1,60,1,1,1,1,-9,4,928P,9590.0,1166901 +1100105,47,11669,2,27,1,60,1,1,1,1,-9,4,92MP,9470.0,1166902 +1100105,47,11670,1,31,2,40,1,1,1,1,-9,4,713Z,8590.0,1167001 +1100105,47,11670,2,32,1,60,1,1,1,1,-9,4,5416,7390.0,1167002 +1100105,47,11671,1,30,1,55,1,1,1,1,-9,4,5411,7270.0,1167101 +1100105,47,11671,2,28,2,55,1,1,1,1,-9,4,4234,4170.0,1167102 +1100105,47,11672,1,31,1,45,1,1,1,1,-9,4,52M2,6970.0,1167201 +1100105,47,11672,2,30,2,45,1,1,1,1,-9,4,454110,5593.0,1167202 +1100105,47,11673,1,30,2,50,1,1,1,1,-9,4,5419Z,7490.0,1167301 +1100105,47,11673,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1167302 +1100105,47,11674,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,1167401 +1100105,47,11674,2,28,2,50,1,1,1,1,16,4,52M2,6970.0,1167402 +1100105,47,11675,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,1167501 +1100105,47,11675,2,31,1,55,1,1,1,1,-9,4,522M,6890.0,1167502 +1100105,47,11676,1,33,1,50,1,1,1,1,-9,4,5416,7390.0,1167601 +1100105,47,11676,2,33,1,50,1,1,1,1,-9,4,515,6670.0,1167602 +1100105,47,11677,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,1167701 +1100105,47,11677,2,29,2,40,1,1,1,1,-9,4,5413,7290.0,1167702 +1100105,47,11678,1,29,2,40,1,1,1,1,-9,4,928P,9590.0,1167801 +1100105,47,11678,2,29,2,40,1,1,1,1,16,4,4247,4490.0,1167802 +1100105,47,11679,1,30,2,40,1,1,1,1,-9,4,5412,7280.0,1167901 +1100105,47,11679,2,30,2,50,1,1,1,1,-9,4,622M,8191.0,1167902 +1100105,47,11680,1,30,1,50,1,1,1,1,-9,4,5411,7270.0,1168001 +1100105,47,11680,2,31,1,40,1,1,1,1,-9,4,5415,7380.0,1168002 +1100105,47,11681,1,28,1,20,3,1,1,1,16,4,611M1,7870.0,1168101 +1100105,47,11681,2,29,2,40,1,1,1,1,-9,4,5416,7390.0,1168102 +1100105,47,11682,1,32,1,40,1,1,1,1,-9,4,611M3,7890.0,1168201 +1100105,47,11682,2,32,2,50,1,1,1,1,-9,4,712,8570.0,1168202 +1100105,47,11683,1,30,2,55,1,1,1,1,-9,4,515,6670.0,1168301 +1100105,47,11683,2,29,1,50,1,1,1,13,-9,4,92113,9380.0,1168302 +1100105,47,11684,1,32,1,43,1,1,1,13,-9,4,23,770.0,1168401 +1100105,47,11684,2,31,2,55,1,1,1,1,-9,4,5411,7270.0,1168402 +1100105,47,11685,1,79,1,50,1,1,1,1,-9,2,5241,6991.0,1168501 +1100105,47,11685,2,79,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1168502 +1100105,47,11686,1,80,1,30,1,6,1,1,-9,2,23,770.0,1168601 +1100105,47,11686,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1168602 +1100105,47,11687,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1168701 +1100105,47,11687,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,1168702 +1100105,47,11688,1,79,1,50,1,1,1,1,-9,2,5241,6991.0,1168801 +1100105,47,11688,2,79,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1168802 +1100105,47,11689,1,80,1,30,1,6,1,1,-9,2,23,770.0,1168901 +1100105,47,11689,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1168902 +1100105,47,11690,1,79,1,50,1,1,1,1,-9,2,5241,6991.0,1169001 +1100105,47,11690,2,79,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1169002 +1100105,47,11691,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1169101 +1100105,47,11691,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,1169102 +1100105,47,11692,1,80,1,30,1,6,1,1,-9,2,23,770.0,1169201 +1100105,47,11692,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1169202 +1100105,47,11693,1,80,1,30,1,6,1,1,-9,2,23,770.0,1169301 +1100105,47,11693,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1169302 +1100105,47,11694,1,80,1,30,1,6,1,1,-9,2,23,770.0,1169401 +1100105,47,11694,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1169402 +1100105,47,11695,1,80,1,30,1,6,1,1,-9,2,23,770.0,1169501 +1100105,47,11695,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1169502 +1100105,47,11696,1,74,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1169601 +1100105,47,11696,2,61,1,60,1,1,6,1,-9,4,813M,9170.0,1169602 +1100105,47,11697,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1169701 +1100105,47,11697,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1169702 +1100105,47,11698,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1169801 +1100105,47,11698,2,55,2,40,1,1,1,1,-9,4,92M2,9570.0,1169802 +1100105,47,11699,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,1169901 +1100105,47,11699,2,67,1,50,1,1,1,1,-9,4,5411,7270.0,1169902 +1100105,47,11700,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,1170001 +1100105,47,11700,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,1170002 +1100105,47,11701,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1170101 +1100105,47,11701,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1170102 +1100105,47,11702,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,1170201 +1100105,47,11702,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,1170202 +1100105,47,11703,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1170301 +1100105,47,11703,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1170302 +1100105,47,11704,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1170401 +1100105,47,11704,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1170402 +1100105,47,11705,1,65,1,-9,-9,6,1,1,-9,2,0,0.0,1170501 +1100105,47,11705,2,46,1,55,1,1,1,1,-9,4,8139Z,9190.0,1170502 +1100105,47,11706,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1170601 +1100105,47,11706,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,1170602 +1100105,47,11707,1,63,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1170701 +1100105,47,11707,2,66,1,40,1,1,1,1,-9,4,92M2,9570.0,1170702 +1100105,47,11708,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,1170801 +1100105,47,11708,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,1170802 +1100105,47,11709,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,1170901 +1100105,47,11709,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,1170902 +1100105,47,11710,1,61,1,40,1,1,1,1,-9,4,8139Z,9190.0,1171001 +1100105,47,11710,2,60,2,-9,-9,6,1,1,-9,4,4511M,5275.0,1171002 +1100105,47,11711,1,39,1,40,1,1,1,1,-9,4,5416,7390.0,1171101 +1100105,47,11711,2,36,2,40,3,3,1,1,-9,4,5416,7390.0,1171102 +1100105,47,11712,1,40,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1171201 +1100105,47,11712,2,49,1,45,1,1,1,1,-9,4,5417,7460.0,1171202 +1100105,47,11713,1,39,1,40,1,1,1,1,-9,4,5416,7390.0,1171301 +1100105,47,11713,2,36,2,40,3,3,1,1,-9,4,5416,7390.0,1171302 +1100105,47,11714,1,60,1,40,5,6,1,1,-9,2,481,6070.0,1171401 +1100105,47,11714,2,55,2,40,1,1,1,1,-9,2,928P,9590.0,1171402 +1100105,47,11715,1,61,1,40,1,1,1,1,-9,4,8139Z,9190.0,1171501 +1100105,47,11715,2,60,2,-9,-9,6,1,1,-9,4,4511M,5275.0,1171502 +1100105,47,11716,1,54,2,40,6,6,1,1,-9,4,5411,7270.0,1171601 +1100105,47,11716,2,54,1,60,1,1,1,1,-9,4,5412,7280.0,1171602 +1100105,47,11717,1,59,2,60,1,1,1,1,-9,4,813M,9170.0,1171701 +1100105,47,11717,2,59,1,-9,-9,6,1,1,-9,4,0,0.0,1171702 +1100105,47,11718,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,1171801 +1100105,47,11718,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,1171802 +1100105,47,11719,1,59,1,-9,-9,6,1,1,-9,4,92M2,9570.0,1171901 +1100105,47,11719,2,56,1,40,1,1,1,3,-9,4,33641M1,3580.0,1171902 +1100105,47,11720,1,59,1,-9,-9,6,1,1,-9,4,92M2,9570.0,1172001 +1100105,47,11720,2,56,1,40,1,1,1,3,-9,4,33641M1,3580.0,1172002 +1100105,47,11721,1,57,1,45,1,1,1,14,-9,4,7211,8660.0,1172101 +1100105,47,11721,2,57,2,-9,-9,6,1,14,-9,4,0,0.0,1172102 +1100105,47,11722,1,34,1,60,1,1,1,1,-9,4,5416,7390.0,1172201 +1100105,47,11722,2,31,2,60,3,3,1,1,-9,4,813M,9170.0,1172202 +1100105,47,11723,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1172301 +1100105,47,11723,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,1172302 +1100105,47,11724,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1172401 +1100105,47,11724,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1172402 +1100105,47,11725,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1172501 +1100105,47,11725,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1172502 +1100105,47,11726,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1172601 +1100105,47,11726,2,71,1,-9,-9,6,1,1,-9,4,0,0.0,1172602 +1100105,47,11727,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1172701 +1100105,47,11727,2,71,1,-9,-9,6,1,1,-9,4,0,0.0,1172702 +1100105,47,11728,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1172801 +1100105,47,11728,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,1172802 +1100105,47,11729,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1172901 +1100105,47,11729,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1172902 +1100105,47,11730,1,86,1,-9,-9,6,1,1,-9,2,0,0.0,1173001 +1100105,47,11730,2,79,2,4,6,6,1,1,-9,4,7111,8561.0,1173002 +1100105,47,11731,1,86,1,-9,-9,6,1,1,-9,2,0,0.0,1173101 +1100105,47,11731,2,79,2,4,6,6,1,1,-9,4,7111,8561.0,1173102 +1100105,47,11732,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1173201 +1100105,47,11732,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1173202 +1100105,47,11733,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1173301 +1100105,47,11733,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1173302 +1100105,47,11734,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1173401 +1100105,47,11734,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1173402 +1100105,47,11735,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1173501 +1100105,47,11735,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1173502 +1100105,47,11736,1,63,1,4,6,6,1,1,-9,4,928P,9590.0,1173601 +1100105,47,11736,2,63,2,-9,-9,6,1,1,-9,4,0,0.0,1173602 +1100105,47,11737,1,74,1,60,1,1,8,11,-9,4,23,770.0,1173701 +1100105,47,11737,2,70,2,20,3,1,8,11,-9,4,5617Z,7690.0,1173702 +1100105,47,11738,1,74,1,60,1,1,8,11,-9,4,23,770.0,1173801 +1100105,47,11738,2,70,2,20,3,1,8,11,-9,4,5617Z,7690.0,1173802 +1100105,47,11739,1,49,1,40,1,1,9,1,-9,4,5417,7460.0,1173901 +1100105,47,11739,2,48,2,40,1,1,1,1,-9,4,611M1,7870.0,1173902 +1100105,47,11740,1,37,1,40,1,1,6,1,16,4,81393,9180.0,1174001 +1100105,47,11740,2,53,1,40,1,1,1,1,-9,4,52M2,6970.0,1174002 +1100105,47,11741,1,41,1,40,1,1,1,1,-9,4,51913,6672.0,1174101 +1100105,47,11741,2,35,2,40,1,1,1,1,-9,4,92113,9380.0,1174102 +1100105,47,11742,1,44,2,45,1,1,1,1,-9,2,928P,9590.0,1174201 +1100105,47,11742,2,48,2,30,1,1,1,1,-9,4,8129,9090.0,1174202 +1100105,47,11743,1,46,2,50,1,1,1,1,-9,4,7115,8564.0,1174301 +1100105,47,11743,2,36,1,50,1,1,1,1,-9,4,928P,9590.0,1174302 +1100105,47,11744,1,41,2,50,1,1,1,1,-9,4,611M1,7870.0,1174401 +1100105,47,11744,2,37,1,50,1,1,1,1,-9,4,5416,7390.0,1174402 +1100105,47,11745,1,41,2,50,1,1,1,1,-9,4,611M1,7870.0,1174501 +1100105,47,11745,2,37,1,50,1,1,1,1,-9,4,5416,7390.0,1174502 +1100105,47,11746,1,36,2,60,1,1,1,1,-9,4,611M3,7890.0,1174601 +1100105,47,11746,2,36,2,45,1,1,8,17,-9,4,813M,9170.0,1174602 +1100105,47,11747,1,73,2,25,1,1,1,1,-9,4,52M2,6970.0,1174701 +1100105,47,11747,2,31,1,16,1,1,1,1,-9,4,7111,8561.0,1174702 +1100105,47,11748,1,35,1,45,1,1,9,1,-9,4,813M,9170.0,1174801 +1100105,47,11748,2,28,2,55,1,1,1,1,-9,4,928P,9590.0,1174802 +1100105,47,11749,1,34,2,50,1,1,1,1,-9,4,813M,9170.0,1174901 +1100105,47,11749,2,37,1,40,1,1,9,1,-9,4,5417,7460.0,1174902 +1100105,47,11750,1,35,1,45,1,1,9,1,-9,4,813M,9170.0,1175001 +1100105,47,11750,2,28,2,55,1,1,1,1,-9,4,928P,9590.0,1175002 +1100105,47,11751,1,35,1,55,1,1,9,1,-9,4,5416,7390.0,1175101 +1100105,47,11751,2,28,2,60,1,1,1,1,16,4,5416,7390.0,1175102 +1100105,47,11752,1,33,2,40,1,1,6,1,15,4,928P,9590.0,1175201 +1100105,47,11752,2,40,1,50,1,1,1,1,-9,4,51111,6470.0,1175202 +1100105,47,11753,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,1175301 +1100105,47,11753,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,1175302 +1100105,47,11754,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,1175401 +1100105,47,11754,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,1175402 +1100105,47,11755,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,1175501 +1100105,47,11755,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,1175502 +1100105,47,11756,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,1175601 +1100105,47,11756,2,23,2,40,1,1,1,1,-9,4,5417,7460.0,1175602 +1100105,47,11757,1,54,2,40,1,1,1,1,-9,4,5411,7270.0,1175701 +1100105,47,11757,2,33,1,40,1,1,1,2,16,4,5415,7380.0,1175702 +1100105,47,11758,1,54,2,40,1,1,1,1,-9,4,5411,7270.0,1175801 +1100105,47,11758,2,33,1,40,1,1,1,2,16,4,5415,7380.0,1175802 +1100105,47,11759,1,35,1,40,1,1,6,19,16,4,92M2,9570.0,1175901 +1100105,47,11759,2,33,2,40,1,1,1,19,-9,4,6231,8270.0,1175902 +1100105,47,11760,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,1176001 +1100105,47,11760,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,1176002 +1100105,47,11761,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,1176101 +1100105,47,11761,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,1176102 +1100105,47,11762,1,26,1,40,1,1,6,1,-9,4,923,9480.0,1176201 +1100105,47,11762,2,27,1,40,1,1,6,1,-9,4,52M1,6870.0,1176202 +1100105,47,11763,1,26,2,40,1,1,1,1,-9,4,713Z,8590.0,1176301 +1100105,47,11763,2,26,1,55,1,1,9,1,-9,4,722Z,8680.0,1176302 +1100105,47,11764,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,1176401 +1100105,47,11764,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,1176402 +1100105,47,11765,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,1176501 +1100105,47,11765,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,1176502 +1100105,47,11766,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,1176601 +1100105,47,11766,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,1176602 +1100105,47,11767,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,1176701 +1100105,47,11767,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,1176702 +1100105,47,11768,1,29,2,50,1,1,6,1,-9,4,5417,7460.0,1176801 +1100105,47,11768,2,27,1,40,1,1,1,1,-9,4,92113,9380.0,1176802 +1100105,47,11769,1,28,1,40,1,1,1,1,-9,4,55,7570.0,1176901 +1100105,47,11769,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,1176902 +1100105,47,11770,1,30,2,50,1,1,1,1,-9,4,5415,7380.0,1177001 +1100105,47,11770,2,30,2,40,1,1,1,1,-9,4,622M,8191.0,1177002 +1100105,47,11771,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,1177101 +1100105,47,11771,2,31,2,40,1,1,1,1,-9,4,923,9480.0,1177102 +1100105,47,11772,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1177201 +1100105,47,11772,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1177202 +1100105,47,11773,1,33,1,60,1,1,1,1,-9,4,5411,7270.0,1177301 +1100105,47,11773,2,27,2,50,1,1,1,1,-9,4,5416,7390.0,1177302 +1100105,47,11774,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1177401 +1100105,47,11774,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1177402 +1100105,47,11775,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1177501 +1100105,47,11775,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1177502 +1100105,47,11776,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1177601 +1100105,47,11776,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1177602 +1100105,47,11777,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1177701 +1100105,47,11777,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1177702 +1100105,47,11778,1,27,1,40,1,1,1,1,-9,4,9211MP,9370.0,1177801 +1100105,47,11778,2,25,2,41,1,1,1,1,-9,4,813M,9170.0,1177802 +1100105,47,11779,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,1177901 +1100105,47,11779,2,24,2,45,1,1,1,1,-9,4,5416,7390.0,1177902 +1100105,47,11780,1,32,1,40,1,1,1,1,-9,4,813M,9170.0,1178001 +1100105,47,11780,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,1178002 +1100105,47,11781,1,31,2,40,1,1,1,1,-9,4,928P,9590.0,1178101 +1100105,47,11781,2,30,2,40,1,1,1,1,-9,4,928P,9590.0,1178102 +1100105,47,11782,1,26,2,45,1,1,1,1,-9,4,522M,6890.0,1178201 +1100105,47,11782,2,30,1,50,1,1,1,1,16,4,5242,6992.0,1178202 +1100105,47,11783,1,29,2,45,1,1,1,1,-9,4,5418,7470.0,1178301 +1100105,47,11783,2,31,1,50,1,1,1,1,-9,4,23,770.0,1178302 +1100105,47,11784,1,29,1,50,1,1,1,1,-9,4,5415,7380.0,1178401 +1100105,47,11784,2,27,2,40,1,1,1,1,16,4,5416,7390.0,1178402 +1100105,47,11785,1,26,1,45,1,1,1,1,-9,4,52M2,6970.0,1178501 +1100105,47,11785,2,28,1,45,1,1,1,1,-9,4,7211,8660.0,1178502 +1100105,47,11786,1,31,1,40,1,1,1,1,-9,4,5241,6991.0,1178601 +1100105,47,11786,2,29,2,50,1,1,1,1,-9,4,8139Z,9190.0,1178602 +1100105,47,11787,1,28,1,45,3,1,1,1,-9,4,5411,7270.0,1178701 +1100105,47,11787,2,29,2,45,1,1,1,1,-9,4,5417,7460.0,1178702 +1100105,47,11788,1,27,2,60,1,1,1,1,-9,4,713Z,8590.0,1178801 +1100105,47,11788,2,29,1,65,1,1,1,1,-9,4,52M1,6870.0,1178802 +1100105,47,11789,1,33,1,45,1,1,1,1,-9,4,5416,7390.0,1178901 +1100105,47,11789,2,34,2,50,1,1,1,1,-9,4,813M,9170.0,1178902 +1100105,47,11790,1,28,1,50,1,1,1,1,16,4,611M1,7870.0,1179001 +1100105,47,11790,2,30,1,50,1,1,1,1,-9,4,611M1,7870.0,1179002 +1100105,47,11791,1,30,2,40,1,1,1,1,-9,4,928P,9590.0,1179101 +1100105,47,11791,2,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,1179102 +1100105,47,11792,1,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,1179201 +1100105,47,11792,2,30,1,50,1,1,1,1,-9,4,531M,7071.0,1179202 +1100105,47,11793,1,26,2,45,1,1,1,1,-9,4,522M,6890.0,1179301 +1100105,47,11793,2,30,1,50,1,1,1,1,16,4,5242,6992.0,1179302 +1100105,47,11794,1,33,1,60,1,1,1,1,-9,4,5411,7270.0,1179401 +1100105,47,11794,2,27,2,50,1,1,1,1,-9,4,5416,7390.0,1179402 +1100105,47,11795,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1179501 +1100105,47,11795,2,28,2,24,2,1,1,1,-9,4,5411,7270.0,1179502 +1100105,47,11796,1,25,1,50,1,1,1,1,-9,4,5418,7470.0,1179601 +1100105,47,11796,2,26,1,45,1,1,1,1,-9,4,813M,9170.0,1179602 +1100105,47,11797,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,1179701 +1100105,47,11797,2,31,2,40,1,1,1,1,-9,4,923,9480.0,1179702 +1100105,47,11798,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1179801 +1100105,47,11798,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1179802 +1100105,47,11799,1,28,2,43,1,1,1,1,-9,4,928P,9590.0,1179901 +1100105,47,11799,2,28,1,50,1,1,1,1,-9,4,9211MP,9370.0,1179902 +1100105,47,11800,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,1180001 +1100105,47,11800,2,32,1,40,1,1,1,1,-9,4,9211MP,9370.0,1180002 +1100105,47,11801,1,32,1,40,1,1,1,1,15,4,5415,7380.0,1180101 +1100105,47,11801,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,1180102 +1100105,47,11802,1,32,1,70,1,1,1,1,-9,4,51111,6470.0,1180201 +1100105,47,11802,2,31,2,50,1,1,1,1,-9,4,424M,4380.0,1180202 +1100105,47,11803,1,32,2,40,1,1,1,1,-9,4,5415,7380.0,1180301 +1100105,47,11803,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,1180302 +1100105,47,11804,1,27,1,50,1,1,1,1,-9,4,7115,8564.0,1180401 +1100105,47,11804,2,27,2,45,1,1,1,1,-9,4,5191ZM,6780.0,1180402 +1100105,47,11805,1,32,2,40,1,1,1,1,-9,4,5415,7380.0,1180501 +1100105,47,11805,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,1180502 +1100105,47,11806,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,1180601 +1100105,47,11806,2,31,2,40,1,1,1,1,-9,4,923,9480.0,1180602 +1100105,47,11807,1,32,1,50,1,1,1,13,-9,4,8139Z,9190.0,1180701 +1100105,47,11807,2,29,2,50,1,1,1,1,-9,4,6111,7860.0,1180702 +1100105,47,11808,1,29,2,45,1,1,1,3,-9,4,515,6670.0,1180801 +1100105,47,11808,2,34,1,45,1,1,1,1,-9,2,5413,7290.0,1180802 +1100105,47,11809,1,29,2,45,1,1,1,3,-9,4,515,6670.0,1180901 +1100105,47,11809,2,34,1,45,1,1,1,1,-9,2,5413,7290.0,1180902 +1100105,47,11810,1,31,1,55,1,1,8,2,-9,4,813M,9170.0,1181001 +1100105,47,11810,2,33,1,60,1,1,1,1,-9,4,6216,8170.0,1181002 +1100105,47,11811,1,68,1,40,1,1,6,1,-9,4,92M1,9490.0,1181101 +1100105,47,11811,2,68,2,-9,-9,6,6,1,-9,4,6111,7860.0,1181102 +1100105,47,11812,1,74,2,40,1,1,1,1,-9,2,923,9480.0,1181201 +1100105,47,11812,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,1181202 +1100105,47,11813,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,1181301 +1100105,47,11813,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,1181302 +1100105,47,11814,1,74,1,16,3,6,1,1,-9,4,5417,7460.0,1181401 +1100105,47,11814,2,72,2,18,1,1,1,1,-9,4,5112,6490.0,1181402 +1100105,47,11815,1,74,2,40,1,1,1,1,-9,2,923,9480.0,1181501 +1100105,47,11815,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,1181502 +1100105,47,11816,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,1181601 +1100105,47,11816,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,1181602 +1100105,47,11817,1,74,1,16,3,6,1,1,-9,4,5417,7460.0,1181701 +1100105,47,11817,2,72,2,18,1,1,1,1,-9,4,5112,6490.0,1181702 +1100105,47,11818,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,1181801 +1100105,47,11818,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,1181802 +1100105,47,11819,1,74,2,40,1,1,1,1,-9,2,923,9480.0,1181901 +1100105,47,11819,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,1181902 +1100105,47,11820,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,1182001 +1100105,47,11820,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,1182002 +1100105,47,11821,1,54,1,60,1,1,1,1,-9,4,522M,6890.0,1182101 +1100105,47,11821,2,54,2,-9,-9,6,1,1,-9,4,0,0.0,1182102 +1100105,47,11822,1,60,2,40,1,1,1,1,-9,4,8139Z,9190.0,1182201 +1100105,47,11822,2,57,2,-9,-9,6,1,1,-9,4,5416,7390.0,1182202 +1100105,47,11823,1,43,1,40,4,3,1,1,-9,4,9211MP,9370.0,1182301 +1100105,47,11823,2,54,2,45,4,1,1,1,-9,4,488,6290.0,1182302 +1100105,47,11824,1,60,2,40,1,1,1,1,-9,4,8139Z,9190.0,1182401 +1100105,47,11824,2,57,2,-9,-9,6,1,1,-9,4,5416,7390.0,1182402 +1100105,47,11825,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,1182501 +1100105,47,11825,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,1182502 +1100105,47,11826,1,40,1,-9,-9,3,8,3,-9,4,813M,9170.0,1182601 +1100105,47,11826,2,42,1,50,1,1,1,1,-9,4,522M,6890.0,1182602 +1100105,47,11827,1,40,1,-9,-9,3,8,3,-9,4,813M,9170.0,1182701 +1100105,47,11827,2,42,1,50,1,1,1,1,-9,4,522M,6890.0,1182702 +1100105,47,11828,1,40,1,70,1,1,9,1,-9,4,5111Z,6480.0,1182801 +1100105,47,11828,2,28,2,-9,-9,6,1,1,-9,4,5416,7390.0,1182802 +1100105,47,11829,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,1182901 +1100105,47,11829,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,1182902 +1100105,47,11830,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,1183001 +1100105,47,11830,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,1183002 +1100105,47,11831,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,1183101 +1100105,47,11831,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,1183102 +1100105,47,11832,1,30,2,50,1,1,1,1,-9,4,81393,9180.0,1183201 +1100105,47,11832,2,33,1,65,3,3,1,1,-9,4,8139Z,9190.0,1183202 +1100105,47,11833,1,30,1,40,1,1,1,1,-9,4,92MP,9470.0,1183301 +1100105,47,11833,2,27,2,18,3,6,1,1,-9,4,713Z,8590.0,1183302 +1100105,47,11834,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,1183401 +1100105,47,11834,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,1183402 +1100105,47,11835,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,1183501 +1100105,47,11835,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,1183502 +1100105,47,11836,1,33,2,-9,-9,3,1,1,-9,4,4233,4090.0,1183601 +1100105,47,11836,2,30,1,70,1,1,1,1,-9,4,52M2,6970.0,1183602 +1100105,47,11837,1,32,2,-9,-9,6,1,1,-9,4,3121,1370.0,1183701 +1100105,47,11837,2,31,2,60,1,1,1,2,16,4,454110,5593.0,1183702 +1100105,47,11838,1,24,2,-9,-9,6,6,2,16,4,813M,9170.0,1183801 +1100105,47,11838,2,26,2,70,1,1,1,1,-9,4,5411,7270.0,1183802 +1100105,47,11839,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,1183901 +1100105,47,11839,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,1183902 +1100105,47,11840,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,1184001 +1100105,47,11840,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,1184002 +1100105,47,11841,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,1184101 +1100105,47,11841,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,1184102 +1100105,47,11842,1,28,1,40,1,1,1,20,-9,4,52M1,6870.0,1184201 +1100105,47,11842,2,27,2,40,2,6,1,1,-9,4,5418,7470.0,1184202 +1100105,47,11843,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,1184301 +1100105,47,11843,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,1184302 +1100105,47,11844,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1184401 +1100105,47,11844,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1184402 +1100105,47,11845,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1184501 +1100105,47,11845,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1184502 +1100105,47,11846,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1184601 +1100105,47,11846,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1184602 +1100105,47,11847,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1184701 +1100105,47,11847,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1184702 +1100105,47,11848,1,78,2,-9,-9,6,1,16,-9,4,611M1,7870.0,1184801 +1100105,47,11848,2,75,1,-9,-9,6,1,1,-9,4,0,0.0,1184802 +1100105,47,11849,1,78,2,-9,-9,6,1,16,-9,4,611M1,7870.0,1184901 +1100105,47,11849,2,75,1,-9,-9,6,1,1,-9,4,0,0.0,1184902 +1100105,47,11850,1,39,1,40,1,1,1,1,-9,4,5417,7460.0,1185001 +1100105,47,11850,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,1185002 +1100105,47,11851,1,35,2,45,1,1,1,1,-9,4,611M1,7870.0,1185101 +1100105,47,11851,2,35,1,45,1,1,1,1,-9,4,5419Z,7490.0,1185102 +1100105,47,11852,1,63,1,40,5,1,1,1,-9,4,611M1,7870.0,1185201 +1100105,47,11852,2,44,2,42,1,1,1,13,16,4,814,9290.0,1185202 +1100105,47,11853,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,1185301 +1100105,47,11853,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,1185302 +1100105,47,11854,1,51,1,30,3,1,1,1,-9,4,611M3,7890.0,1185401 +1100105,47,11854,2,34,1,42,1,1,1,1,-9,4,813M,9170.0,1185402 +1100105,47,11855,1,41,1,45,6,1,1,1,-9,2,488,6290.0,1185501 +1100105,47,11855,2,34,2,50,1,4,1,1,-9,1,928110P5,9780.0,1185502 +1100105,47,11856,1,39,1,45,1,1,1,1,-9,2,51913,6672.0,1185601 +1100105,47,11856,2,30,1,50,2,1,8,7,-9,4,4481,5170.0,1185602 +1100105,47,11857,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,1185701 +1100105,47,11857,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,1185702 +1100105,47,11858,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,1185801 +1100105,47,11858,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,1185802 +1100105,47,11859,1,29,2,40,1,1,6,1,-9,4,622M,8191.0,1185901 +1100105,47,11859,2,29,1,40,1,1,6,1,-9,4,5121,6570.0,1185902 +1100105,47,11860,1,24,1,45,1,1,9,1,-9,4,5419Z,7490.0,1186001 +1100105,47,11860,2,24,2,45,1,1,1,1,-9,4,5419Z,7490.0,1186002 +1100105,47,11861,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,1186101 +1100105,47,11861,2,25,2,40,3,1,9,1,-9,4,6111,7860.0,1186102 +1100105,47,11862,1,28,2,40,1,1,9,1,-9,4,928P,9590.0,1186201 +1100105,47,11862,2,25,1,40,1,1,1,1,16,4,928P,9590.0,1186202 +1100105,47,11863,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,1186301 +1100105,47,11863,2,32,2,40,4,1,3,1,-9,4,6214,8090.0,1186302 +1100105,47,11864,1,28,2,40,1,1,9,1,-9,4,928P,9590.0,1186401 +1100105,47,11864,2,25,1,40,1,1,1,1,16,4,928P,9590.0,1186402 +1100105,47,11865,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,1186501 +1100105,47,11865,2,25,2,40,4,1,6,1,-9,4,813M,9170.0,1186502 +1100105,47,11866,1,27,2,40,1,1,6,1,-9,4,622M,8191.0,1186601 +1100105,47,11866,2,27,1,50,1,1,1,1,16,4,51111,6470.0,1186602 +1100105,47,11867,1,24,1,76,1,1,1,1,-9,4,622M,8191.0,1186701 +1100105,47,11867,2,24,1,30,3,1,1,1,16,4,92M2,9570.0,1186702 +1100105,47,11868,1,26,1,40,1,1,1,1,-9,4,5416,7390.0,1186801 +1100105,47,11868,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,1186802 +1100105,47,11869,1,33,1,40,1,1,1,1,16,4,6111,7860.0,1186901 +1100105,47,11869,2,29,1,40,1,1,1,1,-9,4,813M,9170.0,1186902 +1100105,47,11870,1,30,1,50,1,1,1,1,-9,4,23,770.0,1187001 +1100105,47,11870,2,30,2,50,1,1,1,1,-9,4,611M1,7870.0,1187002 +1100105,47,11871,1,25,1,35,1,1,1,1,-9,4,611M3,7890.0,1187101 +1100105,47,11871,2,25,2,35,1,1,1,1,-9,4,611M3,7890.0,1187102 +1100105,47,11872,1,25,2,40,1,1,1,1,-9,4,531M,7071.0,1187201 +1100105,47,11872,2,26,1,45,1,1,1,1,-9,4,928P,9590.0,1187202 +1100105,47,11873,1,31,1,55,1,1,1,1,-9,4,5416,7390.0,1187301 +1100105,47,11873,2,28,2,55,1,1,1,1,-9,4,6242,8380.0,1187302 +1100105,47,11874,1,24,2,40,4,1,1,1,16,4,5416,7390.0,1187401 +1100105,47,11874,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,1187402 +1100105,47,11875,1,25,2,40,1,1,1,1,-9,4,531M,7071.0,1187501 +1100105,47,11875,2,26,1,45,1,1,1,1,-9,4,928P,9590.0,1187502 +1100105,47,11876,1,26,2,40,1,1,1,1,-9,4,712,8570.0,1187601 +1100105,47,11876,2,29,1,40,1,1,1,1,-9,4,712,8570.0,1187602 +1100105,47,11877,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1187701 +1100105,47,11877,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,1187702 +1100105,47,11878,1,30,1,50,1,1,1,1,-9,4,23,770.0,1187801 +1100105,47,11878,2,30,2,50,1,1,1,1,-9,4,611M1,7870.0,1187802 +1100105,47,11879,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,1187901 +1100105,47,11879,2,27,1,45,1,1,1,1,-9,4,8139Z,9190.0,1187902 +1100105,47,11880,1,29,2,40,3,1,1,1,-9,4,6111,7860.0,1188001 +1100105,47,11880,2,29,1,40,1,1,1,1,-9,4,5419Z,7490.0,1188002 +1100105,47,11881,1,27,2,40,1,1,1,1,-9,4,813M,9170.0,1188101 +1100105,47,11881,2,29,2,40,1,1,1,1,-9,4,9211MP,9370.0,1188102 +1100105,47,11882,1,26,1,50,1,1,1,1,-9,4,923,9480.0,1188201 +1100105,47,11882,2,29,2,50,1,1,1,1,-9,4,611M3,7890.0,1188202 +1100105,47,11883,1,34,1,40,1,1,1,1,-9,4,5415,7380.0,1188301 +1100105,47,11883,2,31,2,40,1,1,1,1,-9,4,813M,9170.0,1188302 +1100105,47,11884,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1188401 +1100105,47,11884,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,1188402 +1100105,47,11885,1,25,1,50,1,1,1,1,-9,4,5418,7470.0,1188501 +1100105,47,11885,2,25,2,50,1,1,1,1,-9,4,561M,7780.0,1188502 +1100105,47,11886,1,22,2,40,1,1,1,1,-9,4,5416,7390.0,1188601 +1100105,47,11886,2,22,2,45,1,1,1,1,16,4,722Z,8680.0,1188602 +1100105,47,11887,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1188701 +1100105,47,11887,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,1188702 +1100105,47,11888,1,27,2,40,3,2,1,1,-9,4,6111,7860.0,1188801 +1100105,47,11888,2,27,2,50,1,1,1,1,-9,4,813M,9170.0,1188802 +1100105,47,11889,1,29,1,50,1,1,1,1,-9,4,5417,7460.0,1188901 +1100105,47,11889,2,28,2,50,1,1,1,1,-9,4,8139Z,9190.0,1188902 +1100105,47,11890,1,27,2,40,1,1,1,1,-9,4,5417,7460.0,1189001 +1100105,47,11890,2,27,2,45,1,1,1,1,-9,4,6111,7860.0,1189002 +1100105,47,11891,1,30,1,50,1,1,1,1,-9,4,23,770.0,1189101 +1100105,47,11891,2,30,2,50,1,1,1,1,-9,4,611M1,7870.0,1189102 +1100105,47,11892,1,28,2,50,1,1,1,1,-9,4,92MP,9470.0,1189201 +1100105,47,11892,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,1189202 +1100105,47,11893,1,26,1,50,1,1,1,1,-9,4,5242,6992.0,1189301 +1100105,47,11893,2,24,2,32,1,1,1,1,-9,4,6211,7970.0,1189302 +1100105,47,11894,1,26,2,41,1,1,1,1,-9,4,5413,7290.0,1189401 +1100105,47,11894,2,26,2,40,1,1,1,1,-9,4,813M,9170.0,1189402 +1100105,47,11895,1,26,1,40,1,1,1,1,-9,4,5416,7390.0,1189501 +1100105,47,11895,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,1189502 +1100105,47,11896,1,33,2,40,1,1,1,1,-9,4,5417,7460.0,1189601 +1100105,47,11896,2,32,2,50,1,1,1,1,-9,4,7115,8564.0,1189602 +1100105,47,11897,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1189701 +1100105,47,11897,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1189702 +1100105,47,11898,1,31,1,40,1,1,1,4,-9,4,928P,9590.0,1189801 +1100105,47,11898,2,23,2,35,1,1,1,1,-9,4,5416,7390.0,1189802 +1100105,47,11899,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1189901 +1100105,47,11899,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1189902 +1100105,47,11900,1,28,2,40,1,1,1,1,-9,4,5411,7270.0,1190001 +1100105,47,11900,2,28,1,50,1,1,8,2,-9,4,6111,7860.0,1190002 +1100105,47,11901,1,26,1,40,1,1,1,3,-9,4,712,8570.0,1190101 +1100105,47,11901,2,26,2,40,1,1,1,17,-9,4,7211,8660.0,1190102 +1100105,47,11902,1,60,1,60,1,1,1,1,-9,4,5415,7380.0,1190201 +1100105,47,11902,2,65,1,3,6,6,1,1,-9,4,611M3,7890.0,1190202 +1100105,47,11903,1,39,2,40,1,2,1,7,-9,4,928P,9590.0,1190301 +1100105,47,11903,2,71,2,-9,-9,6,1,1,-9,4,0,0.0,1190302 +1100105,47,11904,1,35,2,-9,-9,6,1,1,-9,4,0,0.0,1190401 +1100105,47,11904,2,35,1,45,1,1,6,1,-9,4,515,6670.0,1190402 +1100105,47,11905,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,1190501 +1100105,47,11905,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,1190502 +1100105,47,11906,1,63,1,-9,-9,6,1,1,-9,4,0,0.0,1190601 +1100105,47,11906,2,61,1,60,1,1,1,1,-9,4,562,7790.0,1190602 +1100105,47,11907,1,35,1,40,4,3,1,1,-9,4,7115,8564.0,1190701 +1100105,47,11907,2,41,1,36,1,1,1,1,-9,4,7115,8564.0,1190702 +1100105,47,11908,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1190801 +1100105,47,11908,2,29,1,40,2,1,1,24,-9,4,928P,9590.0,1190802 +1100105,47,11909,1,35,1,40,1,1,6,1,-9,4,5415,7380.0,1190901 +1100105,47,11909,2,28,2,40,5,3,1,1,-9,4,5613,7580.0,1190902 +1100105,47,11910,1,34,2,40,1,1,1,1,-9,4,8139Z,9190.0,1191001 +1100105,47,11910,2,37,1,40,6,6,1,1,16,4,5411,7270.0,1191002 +1100105,47,11911,1,28,2,47,1,1,9,1,-9,4,44611,5070.0,1191101 +1100105,47,11911,2,26,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1191102 +1100105,47,11912,1,28,2,47,1,1,9,1,-9,4,44611,5070.0,1191201 +1100105,47,11912,2,26,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1191202 +1100105,47,11913,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1191301 +1100105,47,11913,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,1191302 +1100105,47,11914,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1191401 +1100105,47,11914,2,29,2,35,5,3,1,1,-9,4,813M,9170.0,1191402 +1100105,47,11915,1,28,2,-9,-9,6,1,1,16,4,0,0.0,1191501 +1100105,47,11915,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,1191502 +1100105,47,11916,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1191601 +1100105,47,11916,2,34,2,25,5,6,1,1,-9,4,928P,9590.0,1191602 +1100105,47,11917,1,28,1,40,2,1,1,1,-9,4,5419Z,7490.0,1191701 +1100105,47,11917,2,26,2,40,4,6,1,1,16,4,6111,7860.0,1191702 +1100105,47,11918,1,27,2,-9,-9,6,1,1,-9,4,813M,9170.0,1191801 +1100105,47,11918,2,34,1,40,1,1,1,1,-9,4,5417,7460.0,1191802 +1100105,47,11919,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1191901 +1100105,47,11919,2,34,2,25,5,6,1,1,-9,4,928P,9590.0,1191902 +1100105,47,11920,1,28,2,-9,-9,6,1,1,16,4,0,0.0,1192001 +1100105,47,11920,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,1192002 +1100105,47,11921,1,21,1,40,1,1,9,4,-9,4,5411,7270.0,1192101 +1100105,47,11921,2,21,1,40,1,6,1,1,15,4,5416,7390.0,1192102 +1100105,47,11922,1,21,1,40,1,1,9,4,-9,4,5411,7270.0,1192201 +1100105,47,11922,2,21,1,40,1,6,1,1,15,4,5416,7390.0,1192202 +1100105,47,11923,1,30,1,40,1,1,1,23,-9,4,5416,7390.0,1192301 +1100105,47,11923,2,31,2,40,6,6,1,23,16,4,4539,5580.0,1192302 +1100105,47,11924,1,30,1,40,1,1,1,23,-9,4,5416,7390.0,1192401 +1100105,47,11924,2,31,2,40,6,6,1,23,16,4,4539,5580.0,1192402 +1100105,47,11925,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,1192501 +1100105,47,11925,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1192502 +1100105,47,11926,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1192601 +1100105,47,11926,2,77,1,-9,-9,6,1,1,-9,4,0,0.0,1192602 +1100105,47,11927,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,1192701 +1100105,47,11927,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1192702 +1100105,47,11928,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,1192801 +1100105,47,11928,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1192802 +1100105,47,11929,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1192901 +1100105,47,11929,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1192902 +1100105,47,11930,1,69,1,40,1,1,1,1,-9,4,712,8570.0,1193001 +1100105,47,11930,2,70,2,75,1,1,1,1,-9,4,6111,7860.0,1193002 +1100105,47,11931,1,41,1,40,1,1,1,1,-9,2,621M,8180.0,1193101 +1100105,47,11931,2,39,2,40,1,1,1,1,-9,4,4MS,5790.0,1193102 +1100105,47,11932,1,51,1,40,1,1,1,11,-9,4,8123,9070.0,1193201 +1100105,47,11932,2,52,2,15,1,1,1,11,-9,4,5617Z,7690.0,1193202 +1100105,47,11933,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,1193301 +1100105,47,11933,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,1193302 +1100105,47,11934,1,50,2,60,1,1,1,1,-9,4,4481,5170.0,1193401 +1100105,47,11934,2,32,1,60,1,1,9,1,-9,4,4481,5170.0,1193402 +1100105,47,11935,1,50,2,60,1,1,1,1,-9,4,4481,5170.0,1193501 +1100105,47,11935,2,32,1,60,1,1,9,1,-9,4,4481,5170.0,1193502 +1100105,47,11936,1,28,1,60,1,1,6,1,-9,4,5417,7460.0,1193601 +1100105,47,11936,2,23,1,12,5,1,6,1,16,4,722Z,8680.0,1193602 +1100105,47,11937,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,1193701 +1100105,47,11937,2,32,1,35,1,1,3,1,-9,4,712,8570.0,1193702 +1100105,47,11938,1,26,2,40,4,1,1,1,-9,4,92M2,9570.0,1193801 +1100105,47,11938,2,31,1,40,5,1,9,1,-9,4,813M,9170.0,1193802 +1100105,47,11939,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1193901 +1100105,47,11939,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1193902 +1100105,47,11940,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1194001 +1100105,47,11940,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1194002 +1100105,47,11941,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1194101 +1100105,47,11941,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1194102 +1100105,47,11942,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,1194201 +1100105,47,11942,2,32,1,35,1,1,3,1,-9,4,712,8570.0,1194202 +1100105,47,11943,1,29,1,40,1,1,1,1,-9,4,712,8570.0,1194301 +1100105,47,11943,2,28,2,40,1,1,6,1,-9,4,5417,7460.0,1194302 +1100105,47,11944,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,1194401 +1100105,47,11944,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,1194402 +1100105,47,11945,1,23,1,55,1,1,1,1,-9,4,531M,7071.0,1194501 +1100105,47,11945,2,24,1,55,1,1,1,1,-9,4,5121,6570.0,1194502 +1100105,47,11946,1,23,1,40,4,1,1,1,-9,4,561M,7780.0,1194601 +1100105,47,11946,2,22,1,40,5,1,1,1,-9,4,5415,7380.0,1194602 +1100105,47,11947,1,24,2,40,1,1,1,1,-9,4,5614,7590.0,1194701 +1100105,47,11947,2,24,2,48,1,1,1,1,-9,4,622M,8191.0,1194702 +1100105,47,11948,1,23,1,55,1,1,1,1,-9,4,531M,7071.0,1194801 +1100105,47,11948,2,24,1,55,1,1,1,1,-9,4,5121,6570.0,1194802 +1100105,47,11949,1,22,1,20,4,1,1,1,16,4,6241,8370.0,1194901 +1100105,47,11949,2,21,1,40,1,1,1,1,-9,4,44511,4971.0,1194902 +1100105,47,11950,1,28,2,40,1,1,1,1,16,4,9211MP,9370.0,1195001 +1100105,47,11950,2,25,2,42,2,1,1,1,16,4,5418,7470.0,1195002 +1100105,47,11951,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,1195101 +1100105,47,11951,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,1195102 +1100105,47,11952,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,1195201 +1100105,47,11952,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,1195202 +1100105,47,11953,1,27,2,40,1,1,1,1,-9,4,5418,7470.0,1195301 +1100105,47,11953,2,28,1,44,1,1,1,1,-9,4,722Z,8680.0,1195302 +1100105,47,11954,1,26,2,45,1,1,1,1,-9,4,813M,9170.0,1195401 +1100105,47,11954,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,1195402 +1100105,47,11955,1,33,1,20,3,1,1,1,-9,4,611M1,7870.0,1195501 +1100105,47,11955,2,31,2,55,1,1,1,1,-9,4,622M,8191.0,1195502 +1100105,47,11956,1,24,2,40,1,1,1,1,-9,4,5614,7590.0,1195601 +1100105,47,11956,2,24,2,48,1,1,1,1,-9,4,622M,8191.0,1195602 +1100105,47,11957,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1195701 +1100105,47,11957,2,29,1,50,1,1,1,1,-9,4,8139Z,9190.0,1195702 +1100105,47,11958,1,24,1,32,1,1,1,1,-9,4,722Z,8680.0,1195801 +1100105,47,11958,2,23,2,50,1,1,1,1,15,4,531M,7071.0,1195802 +1100105,47,11959,1,24,1,18,5,1,1,1,16,4,33641M2,3590.0,1195901 +1100105,47,11959,2,23,2,45,1,1,1,1,-9,4,337,3895.0,1195902 +1100105,47,11960,1,26,1,24,6,1,1,1,16,4,92MP,9470.0,1196001 +1100105,47,11960,2,30,2,40,1,1,1,1,-9,4,611M1,7870.0,1196002 +1100105,47,11961,1,25,2,48,1,1,1,1,-9,4,5416,7390.0,1196101 +1100105,47,11961,2,24,2,70,1,1,1,1,-9,4,5416,7390.0,1196102 +1100105,47,11962,1,30,1,35,3,1,1,1,-9,4,7115,8564.0,1196201 +1100105,47,11962,2,32,1,48,1,1,1,21,-9,4,722Z,8680.0,1196202 +1100105,47,11963,1,26,1,50,1,1,8,7,-9,4,5415,7380.0,1196301 +1100105,47,11963,2,27,2,40,1,1,1,1,-9,4,711M,8563.0,1196302 +1100105,47,11964,1,26,1,50,1,1,8,7,-9,4,5415,7380.0,1196401 +1100105,47,11964,2,27,2,40,1,1,1,1,-9,4,711M,8563.0,1196402 +1100105,47,11965,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,1196501 +1100105,47,11965,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,1196502 +1100105,47,11966,1,30,1,35,3,1,1,1,-9,4,7115,8564.0,1196601 +1100105,47,11966,2,32,1,48,1,1,1,21,-9,4,722Z,8680.0,1196602 +1100105,47,11967,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,1196701 +1100105,47,11967,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,1196702 +1100105,47,11968,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,1196801 +1100105,47,11968,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,1196802 +1100105,47,11969,1,68,2,50,1,1,1,1,-9,4,7211,8660.0,1196901 +1100105,47,11969,2,65,1,-9,-9,6,6,1,-9,4,0,0.0,1196902 +1100105,47,11970,1,68,2,50,1,1,1,1,-9,4,7211,8660.0,1197001 +1100105,47,11970,2,65,1,-9,-9,6,6,1,-9,4,0,0.0,1197002 +1100105,47,11971,1,74,1,4,4,1,1,1,-9,4,5412,7280.0,1197101 +1100105,47,11971,2,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,1197102 +1100105,47,11972,1,74,1,4,4,1,1,1,-9,4,5412,7280.0,1197201 +1100105,47,11972,2,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,1197202 +1100105,47,11973,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1197301 +1100105,47,11973,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,1197302 +1100105,47,11974,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1197401 +1100105,47,11974,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,1197402 +1100105,47,11975,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1197501 +1100105,47,11975,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1197502 +1100105,47,11976,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1197601 +1100105,47,11976,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1197602 +1100105,47,11977,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1197701 +1100105,47,11977,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1197702 +1100105,47,11978,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1197801 +1100105,47,11978,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1197802 +1100105,47,11979,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1197901 +1100105,47,11979,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1197902 +1100105,47,11980,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1198001 +1100105,47,11980,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1198002 +1100105,47,11981,1,35,2,40,1,2,6,1,16,4,5411,7270.0,1198101 +1100105,47,11981,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,1198102 +1100105,47,11982,1,38,1,40,1,1,1,1,-9,4,5417,7460.0,1198201 +1100105,47,11982,2,42,2,-9,-9,6,6,1,-9,4,0,0.0,1198202 +1100105,47,11983,1,54,1,40,1,3,1,1,-9,4,7211,8660.0,1198301 +1100105,47,11983,2,54,1,40,1,1,1,1,-9,4,7211,8660.0,1198302 +1100105,47,11984,1,54,1,40,1,3,1,1,-9,4,7211,8660.0,1198401 +1100105,47,11984,2,54,1,40,1,1,1,1,-9,4,7211,8660.0,1198402 +1100105,47,11985,1,54,1,40,1,3,1,1,-9,4,7211,8660.0,1198501 +1100105,47,11985,2,54,1,40,1,1,1,1,-9,4,7211,8660.0,1198502 +1100105,47,11986,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1198601 +1100105,47,11986,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1198602 +1100105,47,11987,1,29,2,55,1,1,1,1,-9,4,5411,7270.0,1198701 +1100105,47,11987,2,55,2,-9,-9,3,1,1,-9,4,5411,7270.0,1198702 +1100105,47,11988,1,49,1,20,6,3,1,1,-9,4,51111,6470.0,1198801 +1100105,47,11988,2,32,1,50,1,1,1,1,-9,4,81393,9180.0,1198802 +1100105,47,11989,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1198901 +1100105,47,11989,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1198902 +1100105,47,11990,1,55,2,38,1,1,1,1,-9,4,928P,9590.0,1199001 +1100105,47,11990,2,20,1,-9,-9,6,1,1,15,4,0,0.0,1199002 +1100105,47,11991,1,29,2,55,1,1,1,1,-9,4,5411,7270.0,1199101 +1100105,47,11991,2,55,2,-9,-9,3,1,1,-9,4,5411,7270.0,1199102 +1100105,47,11992,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1199201 +1100105,47,11992,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1199202 +1100105,47,11993,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1199301 +1100105,47,11993,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1199302 +1100105,47,11994,1,32,2,40,1,1,1,23,16,4,712,8570.0,1199401 +1100105,47,11994,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,1199402 +1100105,47,11995,1,32,2,40,1,1,1,23,16,4,712,8570.0,1199501 +1100105,47,11995,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,1199502 +1100105,47,11996,1,49,1,25,5,1,1,2,-9,4,928P,9590.0,1199601 +1100105,47,11996,2,31,1,15,4,6,1,1,15,4,722Z,8680.0,1199602 +1100105,47,11997,1,28,1,80,1,1,9,4,-9,4,5417,7460.0,1199701 +1100105,47,11997,2,53,2,30,3,3,6,4,-9,4,5411,7270.0,1199702 +1100105,47,11998,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1199801 +1100105,47,11998,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1199802 +1100105,47,11999,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1199901 +1100105,47,11999,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1199902 +1100105,47,12000,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1200001 +1100105,47,12000,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1200002 +1100105,47,12001,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1200101 +1100105,47,12001,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1200102 +1100105,47,12002,1,27,2,50,1,1,6,1,-9,4,92119,9390.0,1200201 +1100105,47,12002,2,23,1,20,6,3,1,1,16,4,54194,7480.0,1200202 +1100105,47,12003,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1200301 +1100105,47,12003,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1200302 +1100105,47,12004,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1200401 +1100105,47,12004,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1200402 +1100105,47,12005,1,24,2,40,3,3,1,1,-9,4,5419Z,7490.0,1200501 +1100105,47,12005,2,25,2,50,1,1,1,1,-9,4,7111,8561.0,1200502 +1100105,47,12006,1,26,2,50,3,3,1,1,-9,4,6212,7980.0,1200601 +1100105,47,12006,2,29,1,40,4,1,1,1,-9,4,52M2,6970.0,1200602 +1100105,47,12007,1,26,1,-9,-9,6,1,1,16,4,92M2,9570.0,1200701 +1100105,47,12007,2,26,2,45,1,1,1,1,-9,4,611M1,7870.0,1200702 +1100105,47,12008,1,26,2,3,6,6,1,1,16,4,5415,7380.0,1200801 +1100105,47,12008,2,27,1,60,1,1,1,1,-9,4,5613,7580.0,1200802 +1100105,47,12009,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1200901 +1100105,47,12009,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1200902 +1100105,47,12010,1,25,1,-9,-9,6,1,1,16,4,5416,7390.0,1201001 +1100105,47,12010,2,24,1,40,1,1,1,1,-9,4,813M,9170.0,1201002 +1100105,47,12011,1,25,2,35,3,1,1,1,-9,4,6111,7860.0,1201101 +1100105,47,12011,2,23,2,40,4,6,1,1,-9,4,722Z,8680.0,1201102 +1100105,47,12012,1,25,1,-9,-9,6,1,1,16,4,5416,7390.0,1201201 +1100105,47,12012,2,24,1,40,1,1,1,1,-9,4,813M,9170.0,1201202 +1100105,47,12013,1,30,1,40,1,4,1,1,16,1,928110P3,9690.0,1201301 +1100105,47,12013,2,29,2,-9,-9,6,1,1,16,4,6111,7860.0,1201302 +1100105,47,12014,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1201401 +1100105,47,12014,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1201402 +1100105,47,12015,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1201501 +1100105,47,12015,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1201502 +1100105,47,12016,1,25,1,-9,-9,6,1,1,16,4,5416,7390.0,1201601 +1100105,47,12016,2,24,1,40,1,1,1,1,-9,4,813M,9170.0,1201602 +1100105,47,12017,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,1201701 +1100105,47,12017,2,25,2,-9,-9,6,1,1,16,4,5418,7470.0,1201702 +1100105,47,12018,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1201801 +1100105,47,12018,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1201802 +1100105,47,12019,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,1201901 +1100105,47,12019,2,25,2,-9,-9,6,1,1,16,4,5418,7470.0,1201902 +1100105,47,12020,1,26,1,-9,-9,6,1,1,16,4,92M2,9570.0,1202001 +1100105,47,12020,2,26,2,45,1,1,1,1,-9,4,611M1,7870.0,1202002 +1100105,47,12021,1,28,1,40,2,1,9,3,-9,4,5413,7290.0,1202101 +1100105,47,12021,2,27,2,-9,-9,3,1,1,-9,4,23,770.0,1202102 +1100105,47,12022,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1202201 +1100105,47,12022,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1202202 +1100105,47,12023,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1202301 +1100105,47,12023,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1202302 +1100105,47,12024,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1202401 +1100105,47,12024,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1202402 +1100105,47,12025,1,26,1,40,1,1,1,6,-9,4,23,770.0,1202501 +1100105,47,12025,2,30,1,-9,-9,6,1,16,-9,4,0,0.0,1202502 +1100105,47,12026,1,27,2,40,1,1,1,16,16,4,52M1,6870.0,1202601 +1100105,47,12026,2,32,1,-9,-9,6,1,16,-9,4,7211,8660.0,1202602 +1100105,47,12027,1,73,1,-9,-9,6,1,1,-9,4,5416,7390.0,1202701 +1100105,47,12027,2,83,2,-9,-9,6,1,1,-9,4,0,0.0,1202702 +1100105,47,12028,1,73,1,-9,-9,6,1,1,-9,4,5416,7390.0,1202801 +1100105,47,12028,2,83,2,-9,-9,6,1,1,-9,4,0,0.0,1202802 +1100105,47,12029,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1202901 +1100105,47,12029,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,1202902 +1100105,47,12030,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1203001 +1100105,47,12030,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1203002 +1100105,47,12031,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1203101 +1100105,47,12031,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1203102 +1100105,47,12032,1,69,1,40,6,6,1,1,-9,4,923,9480.0,1203201 +1100105,47,12032,2,53,1,-9,-9,6,1,1,-9,4,923,9480.0,1203202 +1100105,47,12033,1,25,1,40,6,6,1,4,16,4,92MP,9470.0,1203301 +1100105,47,12033,2,25,1,15,4,6,1,1,16,4,92M2,9570.0,1203302 +1100105,47,12034,1,32,2,35,4,1,1,1,15,4,6111,7860.0,1203401 +1100105,47,12034,2,29,1,30,1,1,1,1,-9,4,611M3,7890.0,1203402 +1100105,47,12035,1,23,2,25,1,1,1,1,16,4,722Z,8680.0,1203501 +1100105,47,12035,2,21,2,15,5,1,1,1,15,4,611M1,7870.0,1203502 +1100105,47,12036,1,22,2,40,5,1,1,1,-9,4,813M,9170.0,1203601 +1100105,47,12036,2,22,2,50,3,1,1,1,-9,4,5416,7390.0,1203602 +1100105,47,12037,1,25,1,50,1,1,1,16,16,4,5417,7460.0,1203701 +1100105,47,12037,2,23,2,40,1,1,1,24,16,4,814,9290.0,1203702 +1100105,47,12038,1,34,1,50,1,4,1,16,-9,1,928110P6,9790.0,1203801 +1100105,47,12038,2,31,2,45,5,1,1,4,16,4,6244,8470.0,1203802 +1100105,47,12039,1,62,2,61,1,1,1,1,-9,4,5615,7670.0,1203901 +1100105,47,12039,2,66,1,-9,-9,6,1,1,-9,4,0,0.0,1203902 +1100105,47,12040,1,60,2,40,1,1,8,19,-9,4,7211,8660.0,1204001 +1100105,47,12040,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,1204002 +1100105,47,12041,1,60,2,40,1,1,8,19,-9,4,7211,8660.0,1204101 +1100105,47,12041,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,1204102 +1100105,47,12042,1,64,2,-9,-9,3,1,1,-9,4,7211,8660.0,1204201 +1100105,47,12042,2,63,1,30,1,1,1,1,-9,4,722Z,8680.0,1204202 +1100105,47,12043,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,1204301 +1100105,47,12043,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,1204302 +1100105,47,12044,1,28,1,45,6,6,1,1,16,4,5411,7270.0,1204401 +1100105,47,12044,2,28,2,20,5,1,6,1,16,4,8139Z,9190.0,1204402 +1100105,47,12045,1,25,1,-9,-9,6,1,1,-9,4,5411,7270.0,1204501 +1100105,47,12045,2,25,1,40,5,1,1,1,-9,4,92MP,9470.0,1204502 +1100105,47,12046,1,29,2,45,6,6,1,1,16,4,92MP,9470.0,1204601 +1100105,47,12046,2,29,1,60,1,1,1,1,-9,4,611M1,7870.0,1204602 +1100105,47,12047,1,29,1,45,1,4,1,1,15,1,928110P3,9690.0,1204701 +1100105,47,12047,2,30,2,35,6,3,1,1,-9,4,7211,8660.0,1204702 +1100105,47,12048,1,23,2,40,1,1,1,23,-9,4,92M2,9570.0,1204801 +1100105,47,12048,2,23,2,-9,-9,6,1,1,16,4,4481,5170.0,1204802 +1100105,47,12049,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1204901 +1100105,47,12049,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,1204902 +1100105,47,12050,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1205001 +1100105,47,12050,2,66,2,-9,-9,6,1,1,-9,4,0,0.0,1205002 +1100105,47,12051,1,81,1,-9,-9,6,1,1,-9,4,7115,8564.0,1205101 +1100105,47,12051,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1205102 +1100105,47,12052,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1205201 +1100105,47,12052,2,66,2,-9,-9,6,1,1,-9,4,0,0.0,1205202 +1100105,47,12053,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1205301 +1100105,47,12053,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,1205302 +1100105,47,12054,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1205401 +1100105,47,12054,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,1205402 +1100105,47,12055,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,1205501 +1100105,47,12055,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,1205502 +1100105,47,12056,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,1205601 +1100105,47,12056,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,1205602 +1100105,47,12057,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,1205701 +1100105,47,12057,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,1205702 +1100105,47,12058,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,1205801 +1100105,47,12058,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,1205802 +1100105,47,12059,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1205901 +1100105,47,12059,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1205902 +1100105,47,12060,1,22,1,40,6,1,1,1,15,4,6211,7970.0,1206001 +1100105,47,12060,2,21,1,-9,-9,6,1,1,15,4,0,0.0,1206002 +1100105,47,12061,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1206101 +1100105,47,12061,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1206102 +1100105,47,12062,1,22,1,18,5,3,1,1,15,4,722Z,8680.0,1206201 +1100105,47,12062,2,21,2,15,1,1,1,1,15,4,5417,7460.0,1206202 +1100105,47,12063,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1206301 +1100105,47,12063,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1206302 +1100105,47,12064,1,85,2,-9,-9,6,9,16,-9,4,0,0.0,1206401 +1100105,47,12064,2,87,2,-9,-9,6,9,16,-9,4,0,0.0,1206402 +1100105,47,12065,1,55,2,-9,-9,3,1,1,-9,4,712,8570.0,1206501 +1100105,47,12065,2,61,1,-9,-9,3,1,1,-9,4,712,8570.0,1206502 +1100105,47,12066,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,1206601 +1100105,47,12066,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,1206602 +1100105,47,12067,1,25,2,10,5,6,1,1,16,4,611M1,7870.0,1206701 +1100105,47,12067,2,25,2,-9,-9,6,1,1,16,4,5411,7270.0,1206702 +1100105,47,12068,1,23,2,35,3,6,1,1,16,4,928P,9590.0,1206801 +1100105,47,12068,2,22,1,20,5,6,1,1,16,4,52M2,6970.0,1206802 +1100105,47,12069,1,23,1,35,1,3,8,2,-9,4,44511,4971.0,1206901 +1100105,47,12069,2,25,1,-9,-9,6,8,2,15,3,0,0.0,1206902 +1100105,47,12070,1,72,1,50,1,1,1,1,-9,4,923,9480.0,1207001 +1100105,47,12071,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,1207101 +1100105,47,12072,1,65,1,60,1,1,1,1,-9,4,928P,9590.0,1207201 +1100105,47,12073,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,1207301 +1100105,47,12074,1,68,2,80,1,1,1,1,-9,4,8139Z,9190.0,1207401 +1100105,47,12075,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,1207501 +1100105,47,12076,1,72,1,50,1,1,1,1,-9,4,923,9480.0,1207601 +1100105,47,12077,1,72,1,50,1,1,1,1,-9,4,923,9480.0,1207701 +1100105,47,12078,1,72,1,50,1,1,1,1,-9,4,923,9480.0,1207801 +1100105,47,12079,1,68,1,40,1,1,1,1,-9,4,5411,7270.0,1207901 +1100105,47,12080,1,65,1,60,1,1,1,1,-9,4,928P,9590.0,1208001 +1100105,47,12081,1,35,2,80,1,1,9,1,-9,4,5418,7470.0,1208101 +1100105,47,12082,1,40,2,52,1,1,9,1,-9,4,5415,7380.0,1208201 +1100105,47,12083,1,48,1,55,1,1,9,1,-9,4,515,6670.0,1208301 +1100105,47,12084,1,55,1,70,1,1,9,1,-9,4,7211,8660.0,1208401 +1100105,47,12085,1,40,2,52,1,1,9,1,-9,4,5415,7380.0,1208501 +1100105,47,12086,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,1208601 +1100105,47,12087,1,40,2,52,1,1,9,1,-9,4,5415,7380.0,1208701 +1100105,47,12088,1,35,1,40,1,1,6,1,-9,4,5242,6992.0,1208801 +1100105,47,12089,1,35,1,40,1,1,6,1,-9,4,5242,6992.0,1208901 +1100105,47,12090,1,53,1,60,1,1,6,1,-9,4,23,770.0,1209001 +1100105,47,12091,1,56,1,55,1,1,1,1,-9,4,5416,7390.0,1209101 +1100105,47,12092,1,38,1,50,1,1,1,1,-9,4,5411,7270.0,1209201 +1100105,47,12093,1,62,1,50,3,1,1,1,-9,4,52M2,6970.0,1209301 +1100105,47,12094,1,51,2,50,1,1,1,1,-9,4,5111Z,6480.0,1209401 +1100105,47,12095,1,63,1,50,1,1,1,1,-9,4,6211,7970.0,1209501 +1100105,47,12096,1,51,1,50,1,1,1,1,-9,4,515,6670.0,1209601 +1100105,47,12097,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,1209701 +1100105,47,12098,1,42,1,40,1,1,1,1,-9,4,52M1,6870.0,1209801 +1100105,47,12099,1,57,1,45,1,1,1,1,-9,4,5411,7270.0,1209901 +1100105,47,12100,1,62,1,50,3,1,1,1,-9,4,52M2,6970.0,1210001 +1100105,47,12101,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,1210101 +1100105,47,12102,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1210201 +1100105,47,12103,1,38,2,50,1,1,1,1,-9,4,5411,7270.0,1210301 +1100105,47,12104,1,63,2,60,1,1,1,1,-9,4,8139Z,9190.0,1210401 +1100105,47,12105,1,50,1,55,1,1,1,1,-9,4,8139Z,9190.0,1210501 +1100105,47,12106,1,52,1,55,1,1,1,1,-9,4,611M1,7870.0,1210601 +1100105,47,12107,1,57,1,40,1,1,1,1,-9,4,5221M,6880.0,1210701 +1100105,47,12108,1,41,2,60,1,1,1,1,-9,4,622M,8191.0,1210801 +1100105,47,12109,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,1210901 +1100105,47,12110,1,59,1,70,1,1,1,1,-9,4,813M,9170.0,1211001 +1100105,47,12111,1,48,1,60,1,1,1,1,-9,4,5416,7390.0,1211101 +1100105,47,12112,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,1211201 +1100105,47,12113,1,57,1,55,1,1,1,1,-9,4,928P,9590.0,1211301 +1100105,47,12114,1,46,1,46,1,1,1,1,-9,4,5241,6991.0,1211401 +1100105,47,12115,1,40,1,50,1,1,1,1,-9,4,522M,6890.0,1211501 +1100105,47,12116,1,63,1,50,1,1,1,1,-9,4,6211,7970.0,1211601 +1100105,47,12117,1,61,2,40,1,1,1,1,-9,4,8139Z,9190.0,1211701 +1100105,47,12118,1,43,1,60,1,1,1,1,-9,4,621M,8180.0,1211801 +1100105,47,12119,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,1211901 +1100105,47,12120,1,50,1,50,1,1,1,1,16,4,2211P,570.0,1212001 +1100105,47,12121,1,50,1,50,1,1,1,1,16,4,2211P,570.0,1212101 +1100105,47,12122,1,61,2,40,1,1,1,1,-9,4,8139Z,9190.0,1212201 +1100105,47,12123,1,46,1,70,1,1,1,1,-9,4,515,6670.0,1212301 +1100105,47,12124,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,1212401 +1100105,47,12125,1,48,1,50,1,1,1,1,-9,4,5415,7380.0,1212501 +1100105,47,12126,1,38,2,40,1,1,1,1,-9,4,5411,7270.0,1212601 +1100105,47,12127,1,56,2,50,1,1,1,1,-9,4,92M1,9490.0,1212701 +1100105,47,12128,1,60,1,32,1,1,1,1,-9,4,6212,7980.0,1212801 +1100105,47,12129,1,35,2,40,1,1,1,1,-9,4,5415,7380.0,1212901 +1100105,47,12130,1,46,1,70,1,1,1,1,-9,4,515,6670.0,1213001 +1100105,47,12131,1,48,1,50,1,1,1,1,-9,4,813M,9170.0,1213101 +1100105,47,12132,1,63,2,60,1,1,1,1,-9,4,5411,7270.0,1213201 +1100105,47,12133,1,39,2,60,1,1,1,1,-9,4,52M1,6870.0,1213301 +1100105,47,12134,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,1213401 +1100105,47,12135,1,37,1,60,1,1,1,1,-9,4,5411,7270.0,1213501 +1100105,47,12136,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1213601 +1100105,47,12137,1,57,1,55,1,1,1,1,-9,4,928P,9590.0,1213701 +1100105,47,12138,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,1213801 +1100105,47,12139,1,54,1,60,1,1,1,1,-9,4,92M2,9570.0,1213901 +1100105,47,12140,1,57,2,35,1,1,1,1,-9,4,52M2,6970.0,1214001 +1100105,47,12141,1,56,1,55,1,1,1,1,-9,4,5416,7390.0,1214101 +1100105,47,12142,1,40,1,50,1,1,1,1,-9,4,522M,6890.0,1214201 +1100105,47,12143,1,37,1,55,1,1,1,1,-9,4,5411,7270.0,1214301 +1100105,47,12144,1,43,2,50,1,1,1,1,-9,4,928P,9590.0,1214401 +1100105,47,12145,1,38,2,50,1,1,1,1,-9,4,5411,7270.0,1214501 +1100105,47,12146,1,36,1,42,1,1,1,1,-9,4,622M,8191.0,1214601 +1100105,47,12147,1,50,1,50,1,1,1,1,16,4,2211P,570.0,1214701 +1100105,47,12148,1,59,1,45,1,1,1,1,-9,4,92M1,9490.0,1214801 +1100105,47,12149,1,46,2,40,1,2,1,1,-9,4,5418,7470.0,1214901 +1100105,47,12150,1,63,2,50,1,1,1,1,-9,4,611M1,7870.0,1215001 +1100105,47,12151,1,59,1,45,1,1,1,1,-9,4,92M1,9490.0,1215101 +1100105,47,12152,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,1215201 +1100105,47,12153,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,1215301 +1100105,47,12154,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1215401 +1100105,47,12155,1,46,1,70,1,1,1,1,-9,4,515,6670.0,1215501 +1100105,47,12156,1,63,2,50,1,1,1,1,-9,4,611M1,7870.0,1215601 +1100105,47,12157,1,51,1,50,1,1,1,1,-9,4,515,6670.0,1215701 +1100105,47,12158,1,37,1,45,1,1,1,1,-9,4,52M1,6870.0,1215801 +1100105,47,12159,1,48,2,40,1,1,1,1,-9,4,813M,9170.0,1215901 +1100105,47,12160,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,1216001 +1100105,47,12161,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,1216101 +1100105,47,12162,1,47,1,50,1,1,1,3,-9,2,5413,7290.0,1216201 +1100105,47,12163,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,1216301 +1100105,47,12164,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,1216401 +1100105,47,12165,1,35,2,50,1,1,2,3,-9,4,6211,7970.0,1216501 +1100105,47,12166,1,63,2,60,1,1,1,10,-9,4,81393,9180.0,1216601 +1100105,47,12167,1,50,1,45,1,1,1,3,-9,4,51913,6672.0,1216701 +1100105,47,12168,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,1216801 +1100105,47,12169,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,1216901 +1100105,47,12170,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,1217001 +1100105,47,12171,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,1217101 +1100105,47,12172,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,1217201 +1100105,47,12173,1,33,1,50,1,1,6,1,-9,4,33641M1,3580.0,1217301 +1100105,47,12174,1,28,2,55,1,1,1,1,-9,4,5411,7270.0,1217401 +1100105,47,12175,1,30,2,75,1,1,1,1,-9,4,5411,7270.0,1217501 +1100105,47,12176,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1217601 +1100105,47,12177,1,30,2,75,1,1,1,1,-9,4,5411,7270.0,1217701 +1100105,47,12178,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,1217801 +1100105,47,12179,1,27,2,60,1,1,1,1,-9,4,5411,7270.0,1217901 +1100105,47,12180,1,30,1,50,1,1,1,1,-9,4,5411,7270.0,1218001 +1100105,47,12181,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,1218101 +1100105,47,12182,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,1218201 +1100105,47,12183,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1218301 +1100105,47,12184,1,31,2,60,1,1,1,1,-9,4,5411,7270.0,1218401 +1100105,47,12185,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1218501 +1100105,47,12186,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,1218601 +1100105,47,12187,1,30,2,45,1,1,1,1,-9,4,5411,7270.0,1218701 +1100105,47,12188,1,28,2,55,1,1,1,1,-9,4,5411,7270.0,1218801 +1100105,47,12189,1,33,2,60,1,1,1,1,-9,4,5411,7270.0,1218901 +1100105,47,12190,1,75,2,17,5,6,1,1,-9,4,813M,9170.0,1219001 +1100105,47,12191,1,75,2,17,5,6,1,1,-9,4,813M,9170.0,1219101 +1100105,47,12192,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1219201 +1100105,47,12193,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,1219301 +1100105,47,12194,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1219401 +1100105,47,12195,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,1219501 +1100105,47,12196,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1219601 +1100105,47,12197,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1219701 +1100105,47,12198,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1219801 +1100105,47,12199,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,1219901 +1100105,47,12200,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1220001 +1100105,47,12201,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1220101 +1100105,47,12202,1,38,2,-9,-9,3,1,1,-9,4,928P,9590.0,1220201 +1100105,47,12203,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,1220301 +1100105,47,12204,1,76,1,60,1,1,1,1,-9,4,7111,8561.0,1220401 +1100105,47,12205,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,1220501 +1100105,47,12206,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,1220601 +1100105,47,12207,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,1220701 +1100105,47,12208,1,76,1,60,1,1,1,1,-9,4,7111,8561.0,1220801 +1100105,47,12209,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,1220901 +1100105,47,12210,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,1221001 +1100105,47,12211,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,1221101 +1100105,47,12212,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,1221201 +1100105,47,12213,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,1221301 +1100105,47,12214,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,1221401 +1100105,47,12215,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,1221501 +1100105,47,12216,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,1221601 +1100105,47,12217,1,35,1,50,3,1,6,1,-9,4,622M,8191.0,1221701 +1100105,47,12218,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,1221801 +1100105,47,12219,1,60,2,50,1,1,1,1,-9,4,8139Z,9190.0,1221901 +1100105,47,12220,1,51,1,40,1,1,1,1,-9,4,522M,6890.0,1222001 +1100105,47,12221,1,41,1,55,1,1,1,1,-9,4,928P,9590.0,1222101 +1100105,47,12222,1,58,2,40,1,1,1,1,-9,4,9211MP,9370.0,1222201 +1100105,47,12223,1,64,1,45,1,1,1,1,-9,4,92MP,9470.0,1222301 +1100105,47,12224,1,39,1,43,1,1,1,1,-9,4,481,6070.0,1222401 +1100105,47,12225,1,49,2,60,1,1,1,1,-9,4,92MP,9470.0,1222501 +1100105,47,12226,1,50,2,50,1,1,1,1,-9,4,5411,7270.0,1222601 +1100105,47,12227,1,60,2,60,1,1,1,1,-9,4,813M,9170.0,1222701 +1100105,47,12228,1,39,1,43,1,1,1,1,-9,4,481,6070.0,1222801 +1100105,47,12229,1,60,1,75,1,1,1,1,-9,4,5411,7270.0,1222901 +1100105,47,12230,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,1223001 +1100105,47,12231,1,40,2,40,1,1,1,1,-9,4,813M,9170.0,1223101 +1100105,47,12232,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,1223201 +1100105,47,12233,1,58,2,40,1,1,1,1,-9,4,92M1,9490.0,1223301 +1100105,47,12234,1,35,2,50,1,1,1,1,-9,4,5411,7270.0,1223401 +1100105,47,12235,1,60,1,45,1,1,1,1,-9,4,812112,8980.0,1223501 +1100105,47,12236,1,49,2,55,1,1,1,1,-9,4,5415,7380.0,1223601 +1100105,47,12237,1,49,2,60,1,1,1,1,-9,4,92MP,9470.0,1223701 +1100105,47,12238,1,50,2,50,1,1,1,1,-9,4,5411,7270.0,1223801 +1100105,47,12239,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,1223901 +1100105,47,12240,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,1224001 +1100105,47,12241,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,1224101 +1100105,47,12242,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,1224201 +1100105,47,12243,1,48,1,40,1,1,1,1,-9,4,928P,9590.0,1224301 +1100105,47,12244,1,48,2,40,1,1,1,1,-9,4,515,6670.0,1224401 +1100105,47,12245,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,1224501 +1100105,47,12246,1,40,2,40,1,1,1,1,-9,4,92MP,9470.0,1224601 +1100105,47,12247,1,47,2,40,1,1,1,1,-9,4,923,9480.0,1224701 +1100105,47,12248,1,50,2,70,1,1,1,1,-9,4,92M2,9570.0,1224801 +1100105,47,12249,1,39,1,43,1,1,1,1,-9,4,481,6070.0,1224901 +1100105,47,12250,1,43,2,50,1,1,1,1,-9,4,4247,4490.0,1225001 +1100105,47,12251,1,60,2,60,1,1,1,1,-9,4,813M,9170.0,1225101 +1100105,47,12252,1,60,2,60,1,1,1,1,-9,4,813M,9170.0,1225201 +1100105,47,12253,1,49,2,50,2,1,1,1,-9,4,813M,9170.0,1225301 +1100105,47,12254,1,40,2,40,1,1,1,1,-9,4,92MP,9470.0,1225401 +1100105,47,12255,1,45,2,35,3,1,1,1,-9,4,813M,9170.0,1225501 +1100105,47,12256,1,49,2,50,2,1,1,1,-9,4,813M,9170.0,1225601 +1100105,47,12257,1,48,1,40,1,1,1,1,-9,2,928P,9590.0,1225701 +1100105,47,12258,1,60,2,60,1,1,1,1,-9,4,813M,9170.0,1225801 +1100105,47,12259,1,48,2,40,1,1,1,1,-9,4,515,6670.0,1225901 +1100105,47,12260,1,39,1,45,1,1,1,3,-9,4,5415,7380.0,1226001 +1100105,47,12261,1,39,1,40,1,1,1,2,-9,4,9211MP,9370.0,1226101 +1100105,47,12262,1,35,2,55,1,1,1,13,-9,4,5411,7270.0,1226201 +1100105,47,12263,1,39,1,45,1,1,1,3,-9,4,5415,7380.0,1226301 +1100105,47,12264,1,41,1,40,1,1,1,23,-9,4,3254,2190.0,1226401 +1100105,47,12265,1,33,2,55,1,1,6,1,-9,4,52M1,6870.0,1226501 +1100105,47,12266,1,26,2,48,1,1,6,1,-9,4,5411,7270.0,1226601 +1100105,47,12267,1,26,2,55,1,1,1,1,-9,4,5411,7270.0,1226701 +1100105,47,12268,1,29,2,50,1,1,1,1,-9,4,5241,6991.0,1226801 +1100105,47,12269,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,1226901 +1100105,47,12270,1,33,1,50,1,1,1,1,-9,4,5415,7380.0,1227001 +1100105,47,12271,1,29,1,70,1,1,1,1,-9,4,5411,7270.0,1227101 +1100105,47,12272,1,27,1,65,1,1,1,1,-9,4,5411,7270.0,1227201 +1100105,47,12273,1,27,1,65,1,1,1,1,-9,4,5411,7270.0,1227301 +1100105,47,12274,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1227401 +1100105,47,12275,1,29,2,50,1,1,1,1,-9,4,5241,6991.0,1227501 +1100105,47,12276,1,32,1,60,1,1,1,1,-9,4,5416,7390.0,1227601 +1100105,47,12277,1,30,2,50,1,1,1,1,-9,4,5411,7270.0,1227701 +1100105,47,12278,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,1227801 +1100105,47,12279,1,30,2,45,1,1,1,1,-9,4,5221M,6880.0,1227901 +1100105,47,12280,1,34,2,50,1,1,1,1,-9,4,522M,6890.0,1228001 +1100105,47,12281,1,33,2,50,1,1,1,1,-9,4,51913,6672.0,1228101 +1100105,47,12282,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,1228201 +1100105,47,12283,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,1228301 +1100105,47,12284,1,33,1,60,1,1,1,1,-9,4,515,6670.0,1228401 +1100105,47,12285,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1228501 +1100105,47,12286,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,1228601 +1100105,47,12287,1,27,1,55,1,1,1,1,-9,4,522M,6890.0,1228701 +1100105,47,12288,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,1228801 +1100105,47,12289,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,1228901 +1100105,47,12290,1,27,1,55,1,1,1,1,-9,4,522M,6890.0,1229001 +1100105,47,12291,1,33,1,60,1,1,1,1,-9,4,515,6670.0,1229101 +1100105,47,12292,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,1229201 +1100105,47,12293,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,1229301 +1100105,47,12294,1,32,1,60,1,1,1,1,-9,4,5416,7390.0,1229401 +1100105,47,12295,1,30,2,45,1,1,1,1,-9,4,5221M,6880.0,1229501 +1100105,47,12296,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1229601 +1100105,47,12297,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,1229701 +1100105,47,12298,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,1229801 +1100105,47,12299,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,1229901 +1100105,47,12300,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,1230001 +1100105,47,12301,1,51,1,60,3,3,1,1,-9,4,3254,2190.0,1230101 +1100105,47,12302,1,66,2,40,1,1,1,1,16,4,6111,7860.0,1230201 +1100105,47,12303,1,65,2,40,1,1,1,1,-9,2,92MP,9470.0,1230301 +1100105,47,12304,1,83,1,18,5,1,1,1,-9,2,5411,7270.0,1230401 +1100105,47,12305,1,70,2,40,1,1,1,1,-9,4,2211P,570.0,1230501 +1100105,47,12306,1,83,1,18,5,1,1,1,-9,2,5411,7270.0,1230601 +1100105,47,12307,1,70,2,40,1,1,1,1,-9,4,2211P,570.0,1230701 +1100105,47,12308,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,1230801 +1100105,47,12309,1,72,1,35,4,1,1,11,-9,4,611M1,7870.0,1230901 +1100105,47,12310,1,72,1,35,4,1,1,11,-9,4,611M1,7870.0,1231001 +1100105,47,12311,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,1231101 +1100105,47,12312,1,44,2,40,1,1,9,1,-9,4,813M,9170.0,1231201 +1100105,47,12313,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,1231301 +1100105,47,12314,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,1231401 +1100105,47,12315,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,1231501 +1100105,47,12316,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,1231601 +1100105,47,12317,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,1231701 +1100105,47,12318,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,1231801 +1100105,47,12319,1,46,1,40,1,1,9,1,-9,4,928P,9590.0,1231901 +1100105,47,12320,1,39,2,50,1,1,9,1,-9,4,813M,9170.0,1232001 +1100105,47,12321,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,1232101 +1100105,47,12322,1,42,2,70,1,1,7,1,-9,4,44511,4971.0,1232201 +1100105,47,12323,1,42,1,40,1,1,6,1,-9,4,8139Z,9190.0,1232301 +1100105,47,12324,1,37,1,40,1,1,6,1,-9,4,515,6670.0,1232401 +1100105,47,12325,1,38,1,50,1,1,6,1,-9,4,5415,7380.0,1232501 +1100105,47,12326,1,42,2,50,1,1,6,1,-9,4,813M,9170.0,1232601 +1100105,47,12327,1,39,2,40,1,1,6,1,-9,4,42S,4590.0,1232701 +1100105,47,12328,1,39,2,40,1,1,6,1,-9,4,42S,4590.0,1232801 +1100105,47,12329,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,1232901 +1100105,47,12330,1,38,2,50,1,1,1,1,-9,4,561M,7780.0,1233001 +1100105,47,12331,1,38,1,40,1,1,1,1,-9,2,5415,7380.0,1233101 +1100105,47,12332,1,46,2,45,1,1,1,1,-9,4,8139Z,9190.0,1233201 +1100105,47,12333,1,41,1,40,1,1,1,1,-9,2,3254,2190.0,1233301 +1100105,47,12334,1,39,2,60,1,1,1,1,15,4,923,9480.0,1233401 +1100105,47,12335,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,1233501 +1100105,47,12336,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,1233601 +1100105,47,12337,1,39,2,60,1,1,1,1,-9,4,928P,9590.0,1233701 +1100105,47,12338,1,63,2,80,1,1,1,1,-9,4,5418,7470.0,1233801 +1100105,47,12339,1,38,1,40,1,1,1,1,-9,4,712,8570.0,1233901 +1100105,47,12340,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,1234001 +1100105,47,12341,1,38,1,45,1,1,1,1,-9,4,5416,7390.0,1234101 +1100105,47,12342,1,50,1,40,1,1,1,1,-9,4,92119,9390.0,1234201 +1100105,47,12343,1,35,2,50,1,1,1,1,-9,4,928P,9590.0,1234301 +1100105,47,12344,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,1234401 +1100105,47,12345,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,1234501 +1100105,47,12346,1,53,2,40,1,1,1,1,-9,4,522M,6890.0,1234601 +1100105,47,12347,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,1234701 +1100105,47,12348,1,38,1,50,1,1,1,1,-9,4,443142,4795.0,1234801 +1100105,47,12349,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,1234901 +1100105,47,12350,1,44,2,50,1,1,1,1,-9,4,5416,7390.0,1235001 +1100105,47,12351,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,1235101 +1100105,47,12352,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,1235201 +1100105,47,12353,1,58,2,50,1,1,1,1,-9,4,23,770.0,1235301 +1100105,47,12354,1,35,1,40,1,1,1,1,-9,4,5417,7460.0,1235401 +1100105,47,12355,1,42,2,40,1,1,1,1,-9,4,92M2,9570.0,1235501 +1100105,47,12356,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,1235601 +1100105,47,12357,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1235701 +1100105,47,12358,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,1235801 +1100105,47,12359,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,1235901 +1100105,47,12360,1,38,2,55,1,1,1,1,-9,4,7211,8660.0,1236001 +1100105,47,12361,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,1236101 +1100105,47,12362,1,54,1,40,1,1,1,1,-9,4,813M,9170.0,1236201 +1100105,47,12363,1,35,2,40,1,1,1,1,-9,4,5418,7470.0,1236301 +1100105,47,12364,1,59,2,40,1,1,1,1,-9,4,5416,7390.0,1236401 +1100105,47,12365,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,1236501 +1100105,47,12366,1,54,1,40,1,1,1,1,-9,4,23,770.0,1236601 +1100105,47,12367,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,1236701 +1100105,47,12368,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,1236801 +1100105,47,12369,1,52,2,40,1,1,1,1,-9,4,92M2,9570.0,1236901 +1100105,47,12370,1,54,2,50,1,1,1,1,-9,4,5241,6991.0,1237001 +1100105,47,12371,1,38,2,55,1,1,1,1,-9,4,7211,8660.0,1237101 +1100105,47,12372,1,37,2,40,1,1,1,1,-9,4,9211MP,9370.0,1237201 +1100105,47,12373,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,1237301 +1100105,47,12374,1,40,1,50,1,1,1,1,15,4,813M,9170.0,1237401 +1100105,47,12375,1,50,1,40,1,1,1,1,-9,4,92119,9390.0,1237501 +1100105,47,12376,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,1237601 +1100105,47,12377,1,37,2,50,1,4,1,1,16,1,928110P1,9670.0,1237701 +1100105,47,12378,1,53,1,40,1,1,1,1,-9,4,4232,4080.0,1237801 +1100105,47,12379,1,36,1,50,1,1,1,1,16,2,928P,9590.0,1237901 +1100105,47,12380,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1238001 +1100105,47,12381,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,1238101 +1100105,47,12382,1,38,2,55,1,1,1,1,-9,4,7211,8660.0,1238201 +1100105,47,12383,1,54,1,40,1,1,1,1,-9,4,23,770.0,1238301 +1100105,47,12384,1,37,1,50,1,1,1,1,-9,4,5417,7460.0,1238401 +1100105,47,12385,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,1238501 +1100105,47,12386,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,1238601 +1100105,47,12387,1,38,2,50,1,1,1,1,-9,4,561M,7780.0,1238701 +1100105,47,12388,1,39,1,40,1,1,1,1,-9,4,928P,9590.0,1238801 +1100105,47,12389,1,49,1,40,1,1,1,1,-9,4,5415,7380.0,1238901 +1100105,47,12390,1,40,2,55,1,1,1,1,-9,4,5415,7380.0,1239001 +1100105,47,12391,1,51,1,40,1,1,1,1,-9,4,5415,7380.0,1239101 +1100105,47,12392,1,40,1,40,1,1,1,1,-9,4,92M2,9570.0,1239201 +1100105,47,12393,1,62,2,60,1,1,1,1,-9,4,611M1,7870.0,1239301 +1100105,47,12394,1,44,1,55,1,1,1,1,-9,4,92MP,9470.0,1239401 +1100105,47,12395,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,1239501 +1100105,47,12396,1,62,2,40,1,1,1,1,-9,4,5416,7390.0,1239601 +1100105,47,12397,1,36,1,45,1,1,1,1,-9,4,5419Z,7490.0,1239701 +1100105,47,12398,1,45,2,60,1,1,1,1,-9,2,92MP,9470.0,1239801 +1100105,47,12399,1,38,1,40,1,1,1,1,-9,4,5415,7380.0,1239901 +1100105,47,12400,1,58,1,50,1,1,1,1,-9,4,722Z,8680.0,1240001 +1100105,47,12401,1,42,1,50,1,1,1,1,-9,4,5416,7390.0,1240101 +1100105,47,12402,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,1240201 +1100105,47,12403,1,49,1,40,1,1,1,1,-9,4,5415,7380.0,1240301 +1100105,47,12404,1,53,1,40,4,1,1,1,-9,4,5415,7380.0,1240401 +1100105,47,12405,1,39,2,60,1,1,1,1,15,4,923,9480.0,1240501 +1100105,47,12406,1,42,2,47,1,1,1,1,-9,4,813M,9170.0,1240601 +1100105,47,12407,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,1240701 +1100105,47,12408,1,46,2,40,1,1,1,1,-9,4,51912,6770.0,1240801 +1100105,47,12409,1,39,2,60,1,1,1,1,15,4,923,9480.0,1240901 +1100105,47,12410,1,42,1,50,1,1,1,1,-9,4,928P,9590.0,1241001 +1100105,47,12411,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,1241101 +1100105,47,12412,1,40,1,40,1,1,1,1,-9,4,923,9480.0,1241201 +1100105,47,12413,1,46,1,40,1,1,1,1,-9,4,928P,9590.0,1241301 +1100105,47,12414,1,50,2,40,1,1,1,1,-9,4,928P,9590.0,1241401 +1100105,47,12415,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,1241501 +1100105,47,12416,1,37,2,40,1,1,1,1,-9,4,9211MP,9370.0,1241601 +1100105,47,12417,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,1241701 +1100105,47,12418,1,55,1,45,1,1,1,1,-9,4,8139Z,9190.0,1241801 +1100105,47,12419,1,38,2,45,1,1,1,1,-9,4,928P,9590.0,1241901 +1100105,47,12420,1,54,2,40,1,1,1,1,-9,4,928P,9590.0,1242001 +1100105,47,12421,1,51,1,40,1,1,1,1,-9,4,23,770.0,1242101 +1100105,47,12422,1,51,1,40,1,1,1,1,-9,4,5415,7380.0,1242201 +1100105,47,12423,1,50,2,45,1,1,1,1,-9,4,813M,9170.0,1242301 +1100105,47,12424,1,40,1,40,1,1,1,1,-9,4,923,9480.0,1242401 +1100105,47,12425,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,1242501 +1100105,47,12426,1,40,1,50,4,1,1,1,-9,4,611M1,7870.0,1242601 +1100105,47,12427,1,36,2,90,1,1,1,2,-9,4,813M,9170.0,1242701 +1100105,47,12428,1,39,2,45,1,1,1,23,-9,4,51111,6470.0,1242801 +1100105,47,12429,1,39,2,45,1,1,1,23,-9,4,51111,6470.0,1242901 +1100105,47,12430,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,1243001 +1100105,47,12431,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,1243101 +1100105,47,12432,1,39,1,42,1,1,1,2,-9,2,9211MP,9370.0,1243201 +1100105,47,12433,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,1243301 +1100105,47,12434,1,39,2,50,3,1,8,2,-9,4,6241,8370.0,1243401 +1100105,47,12435,1,36,2,90,1,1,1,2,-9,4,813M,9170.0,1243501 +1100105,47,12436,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,1243601 +1100105,47,12437,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,1243701 +1100105,47,12438,1,36,1,45,1,1,1,11,-9,4,5411,7270.0,1243801 +1100105,47,12439,1,40,2,40,1,1,1,24,-9,4,923,9480.0,1243901 +1100105,47,12440,1,39,1,40,1,1,1,16,-9,4,923,9480.0,1244001 +1100105,47,12441,1,44,1,40,1,1,1,16,-9,2,23,770.0,1244101 +1100105,47,12442,1,30,1,40,1,1,9,1,-9,4,5416,7390.0,1244201 +1100105,47,12443,1,26,2,45,2,1,9,1,-9,4,9211MP,9370.0,1244301 +1100105,47,12444,1,26,2,45,2,1,9,1,-9,4,9211MP,9370.0,1244401 +1100105,47,12445,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,1244501 +1100105,47,12446,1,30,1,40,1,1,9,1,-9,4,5416,7390.0,1244601 +1100105,47,12447,1,31,1,40,1,1,9,1,-9,4,53M,7190.0,1244701 +1100105,47,12448,1,29,1,45,1,1,6,1,-9,4,5411,7270.0,1244801 +1100105,47,12449,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,1244901 +1100105,47,12450,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,1245001 +1100105,47,12451,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1245101 +1100105,47,12452,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,1245201 +1100105,47,12453,1,30,1,48,1,1,1,1,-9,4,7211,8660.0,1245301 +1100105,47,12454,1,32,2,60,1,1,1,1,-9,4,5418,7470.0,1245401 +1100105,47,12455,1,31,1,60,1,1,1,1,16,4,5415,7380.0,1245501 +1100105,47,12456,1,32,2,50,1,1,1,1,-9,4,5416,7390.0,1245601 +1100105,47,12457,1,30,1,40,1,1,1,1,-9,4,5416,7390.0,1245701 +1100105,47,12458,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1245801 +1100105,47,12459,1,31,2,40,1,1,1,1,-9,4,923,9480.0,1245901 +1100105,47,12460,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,1246001 +1100105,47,12461,1,31,1,40,1,1,1,1,16,4,33641M1,3580.0,1246101 +1100105,47,12462,1,33,1,40,3,1,1,1,-9,4,928P,9590.0,1246201 +1100105,47,12463,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,1246301 +1100105,47,12464,1,26,1,40,1,1,1,1,-9,4,52M2,6970.0,1246401 +1100105,47,12465,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1246501 +1100105,47,12466,1,32,2,40,1,1,1,1,-9,4,92MP,9470.0,1246601 +1100105,47,12467,1,33,2,40,1,1,1,1,-9,4,611M3,7890.0,1246701 +1100105,47,12468,1,28,1,40,1,1,1,1,-9,4,92113,9380.0,1246801 +1100105,47,12469,1,30,2,50,1,1,1,1,-9,4,522M,6890.0,1246901 +1100105,47,12470,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1247001 +1100105,47,12471,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,1247101 +1100105,47,12472,1,34,2,45,1,1,1,1,-9,4,92M2,9570.0,1247201 +1100105,47,12473,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1247301 +1100105,47,12474,1,31,2,40,1,1,1,1,-9,4,5417,7460.0,1247401 +1100105,47,12475,1,34,1,40,1,1,1,1,16,4,5415,7380.0,1247501 +1100105,47,12476,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,1247601 +1100105,47,12477,1,30,1,40,1,1,1,1,-9,4,5416,7390.0,1247701 +1100105,47,12478,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1247801 +1100105,47,12479,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,1247901 +1100105,47,12480,1,34,2,60,1,1,1,1,-9,4,5417,7460.0,1248001 +1100105,47,12481,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1248101 +1100105,47,12482,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1248201 +1100105,47,12483,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,1248301 +1100105,47,12484,1,33,2,60,1,1,1,1,-9,4,928P,9590.0,1248401 +1100105,47,12485,1,34,1,40,1,1,1,1,16,4,5415,7380.0,1248501 +1100105,47,12486,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,1248601 +1100105,47,12487,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1248701 +1100105,47,12488,1,29,2,40,1,1,1,1,-9,4,5411,7270.0,1248801 +1100105,47,12489,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,1248901 +1100105,47,12490,1,31,2,40,1,1,1,1,-9,4,923,9480.0,1249001 +1100105,47,12491,1,33,1,40,1,1,1,1,-9,4,9211MP,9370.0,1249101 +1100105,47,12492,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1249201 +1100105,47,12493,1,32,1,45,1,1,1,1,-9,4,522M,6890.0,1249301 +1100105,47,12494,1,25,2,60,1,1,1,1,16,4,5416,7390.0,1249401 +1100105,47,12495,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,1249501 +1100105,47,12496,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,1249601 +1100105,47,12497,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1249701 +1100105,47,12498,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1249801 +1100105,47,12499,1,30,1,48,1,1,1,1,-9,4,7211,8660.0,1249901 +1100105,47,12500,1,31,1,42,1,1,1,1,-9,4,8139Z,9190.0,1250001 +1100105,47,12501,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1250101 +1100105,47,12502,1,31,2,40,1,1,1,1,-9,4,5413,7290.0,1250201 +1100105,47,12503,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,1250301 +1100105,47,12504,1,26,2,45,1,1,1,1,-9,4,51111,6470.0,1250401 +1100105,47,12505,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,1250501 +1100105,47,12506,1,29,2,60,3,1,1,1,-9,4,5411,7270.0,1250601 +1100105,47,12507,1,30,1,50,1,1,1,1,-9,4,5411,7270.0,1250701 +1100105,47,12508,1,32,1,45,1,1,1,1,-9,4,928P,9590.0,1250801 +1100105,47,12509,1,34,2,50,1,1,1,1,-9,4,92MP,9470.0,1250901 +1100105,47,12510,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,1251001 +1100105,47,12511,1,32,2,60,1,1,1,1,-9,4,5418,7470.0,1251101 +1100105,47,12512,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,1251201 +1100105,47,12513,1,31,1,40,1,1,1,1,16,4,33641M1,3580.0,1251301 +1100105,47,12514,1,31,2,40,1,1,1,1,-9,4,5417,7460.0,1251401 +1100105,47,12515,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,1251501 +1100105,47,12516,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1251601 +1100105,47,12517,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,1251701 +1100105,47,12518,1,23,1,50,1,1,1,1,-9,4,23,770.0,1251801 +1100105,47,12519,1,33,2,40,1,1,1,1,-9,4,5416,7390.0,1251901 +1100105,47,12520,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,1252001 +1100105,47,12521,1,31,2,40,1,1,1,1,-9,4,5417,7460.0,1252101 +1100105,47,12522,1,32,2,50,1,1,1,1,-9,4,5416,7390.0,1252201 +1100105,47,12523,1,32,2,55,1,1,1,1,-9,4,928P,9590.0,1252301 +1100105,47,12524,1,29,2,40,1,1,1,2,-9,4,928P,9590.0,1252401 +1100105,47,12525,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,1252501 +1100105,47,12526,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,1252601 +1100105,47,12527,1,32,2,40,1,1,9,11,-9,4,813M,9170.0,1252701 +1100105,47,12528,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,1252801 +1100105,47,12529,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,1252901 +1100105,47,12530,1,34,1,40,1,4,1,2,-9,1,928110P5,9780.0,1253001 +1100105,47,12531,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,1253101 +1100105,47,12532,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,1253201 +1100105,47,12533,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,1253301 +1100105,47,12534,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1253401 +1100105,47,12535,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1253501 +1100105,47,12536,1,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,1253601 +1100105,47,12537,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,1253701 +1100105,47,12538,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,1253801 +1100105,47,12539,1,78,1,-9,-9,6,1,1,-9,2,0,0.0,1253901 +1100105,47,12540,1,47,2,50,5,3,9,1,-9,4,81393,9180.0,1254001 +1100105,47,12541,1,60,2,-9,-9,6,1,1,-9,4,447,5090.0,1254101 +1100105,47,12542,1,34,1,60,1,3,9,1,-9,4,5416,7390.0,1254201 +1100105,47,12543,1,72,2,40,1,1,2,1,-9,4,5411,7270.0,1254301 +1100105,47,12544,1,72,1,40,1,2,1,1,-9,4,8129,9090.0,1254401 +1100105,47,12545,1,65,1,45,4,1,1,1,-9,4,92M2,9570.0,1254501 +1100105,47,12546,1,71,1,56,5,1,1,1,-9,4,5416,7390.0,1254601 +1100105,47,12547,1,66,1,20,1,1,1,1,-9,2,92119,9390.0,1254701 +1100105,47,12548,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1254801 +1100105,47,12549,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1254901 +1100105,47,12550,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,1255001 +1100105,47,12551,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,1255101 +1100105,47,12552,1,70,2,40,1,1,1,1,-9,4,5411,7270.0,1255201 +1100105,47,12553,1,70,1,40,6,1,1,1,-9,4,5411,7270.0,1255301 +1100105,47,12554,1,70,1,40,6,1,1,1,-9,4,5411,7270.0,1255401 +1100105,47,12555,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,1255501 +1100105,47,12556,1,70,1,12,1,1,1,1,-9,2,8131,9160.0,1255601 +1100105,47,12557,1,65,1,45,4,1,1,1,-9,4,92M2,9570.0,1255701 +1100105,47,12558,1,66,1,20,1,1,1,1,-9,2,92119,9390.0,1255801 +1100105,47,12559,1,70,1,40,6,1,1,1,-9,4,5411,7270.0,1255901 +1100105,47,12560,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,1256001 +1100105,47,12561,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,1256101 +1100105,47,12562,1,67,2,39,3,1,1,1,-9,4,51912,6770.0,1256201 +1100105,47,12563,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,1256301 +1100105,47,12564,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1256401 +1100105,47,12565,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1256501 +1100105,47,12566,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1256601 +1100105,47,12567,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1256701 +1100105,47,12568,1,46,2,40,3,1,9,1,-9,4,5191ZM,6780.0,1256801 +1100105,47,12569,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1256901 +1100105,47,12570,1,36,1,40,1,1,6,1,-9,4,813M,9170.0,1257001 +1100105,47,12571,1,45,2,60,1,1,6,1,-9,4,5414,7370.0,1257101 +1100105,47,12572,1,42,2,30,4,1,6,1,-9,4,813M,9170.0,1257201 +1100105,47,12573,1,39,1,40,1,1,6,1,-9,4,611M1,7870.0,1257301 +1100105,47,12574,1,39,2,40,1,1,6,1,-9,4,5221M,6880.0,1257401 +1100105,47,12575,1,42,2,30,4,1,6,1,-9,4,813M,9170.0,1257501 +1100105,47,12576,1,44,2,45,1,1,6,1,-9,4,813M,9170.0,1257601 +1100105,47,12577,1,41,1,40,1,1,6,1,-9,4,6111,7860.0,1257701 +1100105,47,12578,1,42,2,45,1,1,2,1,-9,4,7211,8660.0,1257801 +1100105,47,12579,1,49,2,15,3,1,1,1,-9,4,5614,7590.0,1257901 +1100105,47,12580,1,35,1,40,1,1,1,1,-9,4,92MP,9470.0,1258001 +1100105,47,12581,1,40,1,40,1,1,1,1,-9,4,813M,9170.0,1258101 +1100105,47,12582,1,35,1,50,1,1,1,1,-9,4,51111,6470.0,1258201 +1100105,47,12583,1,57,1,40,4,1,1,1,-9,4,813M,9170.0,1258301 +1100105,47,12584,1,35,1,40,1,1,1,1,-9,4,92M1,9490.0,1258401 +1100105,47,12585,1,56,2,40,1,1,1,1,-9,4,923,9480.0,1258501 +1100105,47,12586,1,50,1,25,6,1,1,1,-9,4,5416,7390.0,1258601 +1100105,47,12587,1,42,2,38,1,1,1,1,-9,4,5411,7270.0,1258701 +1100105,47,12588,1,45,2,45,1,1,1,1,-9,4,813M,9170.0,1258801 +1100105,47,12589,1,35,1,40,4,1,1,1,-9,4,5121,6570.0,1258901 +1100105,47,12590,1,36,2,50,1,1,1,1,-9,4,813M,9170.0,1259001 +1100105,47,12591,1,35,2,45,1,1,1,1,-9,4,9211MP,9370.0,1259101 +1100105,47,12592,1,48,2,40,1,1,1,1,16,4,611M1,7870.0,1259201 +1100105,47,12593,1,63,2,10,1,1,1,1,-9,4,8129,9090.0,1259301 +1100105,47,12594,1,35,1,40,4,1,1,1,-9,4,5121,6570.0,1259401 +1100105,47,12595,1,35,1,50,1,1,1,1,-9,4,51111,6470.0,1259501 +1100105,47,12596,1,37,2,40,3,1,1,1,-9,4,923,9480.0,1259601 +1100105,47,12597,1,63,2,10,1,1,1,1,-9,4,8129,9090.0,1259701 +1100105,47,12598,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,1259801 +1100105,47,12599,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,1259901 +1100105,47,12600,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,1260001 +1100105,47,12601,1,41,2,50,1,1,1,1,-9,4,8139Z,9190.0,1260101 +1100105,47,12602,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,1260201 +1100105,47,12603,1,55,1,40,1,1,1,1,-9,4,5411,7270.0,1260301 +1100105,47,12604,1,57,1,40,4,1,1,1,-9,4,813M,9170.0,1260401 +1100105,47,12605,1,62,1,43,1,1,1,1,-9,4,22S,690.0,1260501 +1100105,47,12606,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,1260601 +1100105,47,12607,1,38,2,40,1,1,1,1,-9,4,923,9480.0,1260701 +1100105,47,12608,1,56,2,40,1,1,1,1,-9,4,923,9480.0,1260801 +1100105,47,12609,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,1260901 +1100105,47,12610,1,37,1,35,1,1,1,1,-9,4,6111,7860.0,1261001 +1100105,47,12611,1,38,1,40,1,1,1,1,-9,4,5413,7290.0,1261101 +1100105,47,12612,1,63,2,10,1,1,1,1,-9,4,8129,9090.0,1261201 +1100105,47,12613,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,1261301 +1100105,47,12614,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,1261401 +1100105,47,12615,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,1261501 +1100105,47,12616,1,38,1,40,1,1,1,1,-9,4,5413,7290.0,1261601 +1100105,47,12617,1,54,1,60,1,1,1,1,-9,4,5414,7370.0,1261701 +1100105,47,12618,1,62,1,43,1,1,1,1,-9,4,22S,690.0,1261801 +1100105,47,12619,1,41,1,40,1,1,1,1,-9,4,5415,7380.0,1261901 +1100105,47,12620,1,45,2,45,1,1,1,1,-9,4,813M,9170.0,1262001 +1100105,47,12621,1,48,2,40,1,1,1,1,16,4,611M1,7870.0,1262101 +1100105,47,12622,1,45,1,45,1,1,1,1,-9,4,928P,9590.0,1262201 +1100105,47,12623,1,40,1,40,1,1,1,1,-9,4,813M,9170.0,1262301 +1100105,47,12624,1,43,1,40,1,1,1,1,-9,4,522M,6890.0,1262401 +1100105,47,12625,1,56,1,40,1,1,1,1,-9,4,8139Z,9190.0,1262501 +1100105,47,12626,1,55,2,40,1,1,1,1,-9,4,51912,6770.0,1262601 +1100105,47,12627,1,49,2,40,1,1,1,1,-9,4,6111,7860.0,1262701 +1100105,47,12628,1,56,2,40,1,1,1,1,-9,4,923,9480.0,1262801 +1100105,47,12629,1,57,2,55,1,1,1,1,-9,3,6111,7860.0,1262901 +1100105,47,12630,1,52,2,40,4,1,1,1,-9,2,813M,9170.0,1263001 +1100105,47,12631,1,44,2,45,1,1,1,1,-9,4,8139Z,9190.0,1263101 +1100105,47,12632,1,35,2,45,1,1,1,1,-9,4,9211MP,9370.0,1263201 +1100105,47,12633,1,35,2,45,1,1,1,1,-9,4,9211MP,9370.0,1263301 +1100105,47,12634,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,1263401 +1100105,47,12635,1,55,1,40,3,1,1,1,-9,2,531M,7071.0,1263501 +1100105,47,12636,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,1263601 +1100105,47,12637,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,1263701 +1100105,47,12638,1,48,2,45,1,1,1,1,-9,4,5411,7270.0,1263801 +1100105,47,12639,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,1263901 +1100105,47,12640,1,35,2,40,1,1,1,1,-9,4,611M1,7870.0,1264001 +1100105,47,12641,1,35,1,55,1,4,1,1,-9,1,928110P5,9780.0,1264101 +1100105,47,12642,1,35,1,55,1,4,1,1,-9,1,928110P5,9780.0,1264201 +1100105,47,12643,1,61,2,50,1,1,1,23,16,4,6111,7860.0,1264301 +1100105,47,12644,1,44,2,42,1,1,1,23,-9,4,7211,8660.0,1264401 +1100105,47,12645,1,38,2,40,1,1,1,3,15,4,813M,9170.0,1264501 +1100105,47,12646,1,45,1,40,1,1,1,23,-9,4,52M1,6870.0,1264601 +1100105,47,12647,1,59,2,45,1,1,1,8,-9,4,813M,9170.0,1264701 +1100105,47,12648,1,38,2,40,1,1,1,3,15,4,813M,9170.0,1264801 +1100105,47,12649,1,44,1,53,2,4,1,3,-9,1,928110P4,9770.0,1264901 +1100105,47,12650,1,45,1,40,1,1,1,23,-9,4,52M1,6870.0,1265001 +1100105,47,12651,1,59,2,45,1,1,1,8,-9,4,813M,9170.0,1265101 +1100105,47,12652,1,61,2,50,1,1,1,23,16,4,6111,7860.0,1265201 +1100105,47,12653,1,51,1,48,1,1,1,14,-9,4,722Z,8680.0,1265301 +1100105,47,12654,1,39,1,60,3,1,5,2,-9,4,7224,8690.0,1265401 +1100105,47,12655,1,39,1,50,1,1,1,2,-9,4,481,6070.0,1265501 +1100105,47,12656,1,38,2,60,1,1,8,2,-9,4,81393,9180.0,1265601 +1100105,47,12657,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,1265701 +1100105,47,12658,1,29,1,40,1,1,9,1,-9,4,6111,7860.0,1265801 +1100105,47,12659,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,1265901 +1100105,47,12660,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1266001 +1100105,47,12661,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1266101 +1100105,47,12662,1,29,1,40,1,1,9,1,-9,4,6111,7860.0,1266201 +1100105,47,12663,1,32,2,55,1,1,9,1,-9,4,5415,7380.0,1266301 +1100105,47,12664,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,1266401 +1100105,47,12665,1,28,1,40,1,1,9,1,-9,4,51912,6770.0,1266501 +1100105,47,12666,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,1266601 +1100105,47,12667,1,29,2,45,1,1,9,1,-9,4,5413,7290.0,1266701 +1100105,47,12668,1,32,2,40,1,1,9,1,-9,4,928P,9590.0,1266801 +1100105,47,12669,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1266901 +1100105,47,12670,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1267001 +1100105,47,12671,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1267101 +1100105,47,12672,1,32,1,40,1,1,9,1,-9,4,92113,9380.0,1267201 +1100105,47,12673,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,1267301 +1100105,47,12674,1,32,2,55,1,1,9,1,-9,4,5415,7380.0,1267401 +1100105,47,12675,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,1267501 +1100105,47,12676,1,28,1,40,1,1,9,1,-9,4,51912,6770.0,1267601 +1100105,47,12677,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1267701 +1100105,47,12678,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1267801 +1100105,47,12679,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1267901 +1100105,47,12680,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1268001 +1100105,47,12681,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1268101 +1100105,47,12682,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,1268201 +1100105,47,12683,1,32,2,55,1,1,9,1,-9,4,5415,7380.0,1268301 +1100105,47,12684,1,32,2,55,1,1,9,1,-9,4,5415,7380.0,1268401 +1100105,47,12685,1,32,2,40,1,1,9,1,-9,4,92MP,9470.0,1268501 +1100105,47,12686,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,1268601 +1100105,47,12687,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1268701 +1100105,47,12688,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,1268801 +1100105,47,12689,1,26,2,40,1,1,6,1,-9,4,611M1,7870.0,1268901 +1100105,47,12690,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,1269001 +1100105,47,12691,1,31,2,40,1,1,6,1,-9,4,5416,7390.0,1269101 +1100105,47,12692,1,29,1,60,1,1,6,1,-9,4,52M2,6970.0,1269201 +1100105,47,12693,1,26,2,40,1,1,6,1,-9,4,813M,9170.0,1269301 +1100105,47,12694,1,31,2,40,1,1,6,1,-9,4,5416,7390.0,1269401 +1100105,47,12695,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,1269501 +1100105,47,12696,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,1269601 +1100105,47,12697,1,28,2,45,1,1,6,1,-9,4,92M1,9490.0,1269701 +1100105,47,12698,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,1269801 +1100105,47,12699,1,29,1,40,1,1,6,1,-9,4,622M,8191.0,1269901 +1100105,47,12700,1,29,1,50,1,1,6,1,-9,4,9211MP,9370.0,1270001 +1100105,47,12701,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,1270101 +1100105,47,12702,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,1270201 +1100105,47,12703,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,1270301 +1100105,47,12704,1,26,2,40,1,1,6,1,16,2,622M,8191.0,1270401 +1100105,47,12705,1,31,2,28,1,1,6,1,-9,4,5419Z,7490.0,1270501 +1100105,47,12706,1,26,2,50,1,1,2,1,16,4,515,6670.0,1270601 +1100105,47,12707,1,27,2,55,1,1,1,1,-9,4,622M,8191.0,1270701 +1100105,47,12708,1,33,2,40,1,1,1,1,-9,4,211,370.0,1270801 +1100105,47,12709,1,31,2,50,1,1,1,1,-9,4,92M2,9570.0,1270901 +1100105,47,12710,1,31,2,45,1,1,1,1,16,4,5416,7390.0,1271001 +1100105,47,12711,1,22,2,70,1,1,1,1,-9,4,6111,7860.0,1271101 +1100105,47,12712,1,26,1,40,1,1,1,1,-9,4,928P,9590.0,1271201 +1100105,47,12713,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,1271301 +1100105,47,12714,1,34,2,45,1,1,1,1,-9,4,923,9480.0,1271401 +1100105,47,12715,1,33,1,50,1,1,1,1,-9,4,9211MP,9370.0,1271501 +1100105,47,12716,1,23,2,45,1,1,1,1,-9,4,611M1,7870.0,1271601 +1100105,47,12717,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1271701 +1100105,47,12718,1,29,2,45,1,1,1,1,-9,4,5415,7380.0,1271801 +1100105,47,12719,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,1271901 +1100105,47,12720,1,27,2,45,1,1,1,1,-9,4,5416,7390.0,1272001 +1100105,47,12721,1,31,1,40,1,1,1,1,-9,4,522M,6890.0,1272101 +1100105,47,12722,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1272201 +1100105,47,12723,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1272301 +1100105,47,12724,1,31,1,50,1,1,1,1,-9,4,813M,9170.0,1272401 +1100105,47,12725,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1272501 +1100105,47,12726,1,24,2,60,1,1,1,1,-9,4,515,6670.0,1272601 +1100105,47,12727,1,28,2,42,1,1,1,1,-9,4,44511,4971.0,1272701 +1100105,47,12728,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,1272801 +1100105,47,12729,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,1272901 +1100105,47,12730,1,31,2,40,1,1,1,1,-9,4,52M2,6970.0,1273001 +1100105,47,12731,1,27,2,40,1,1,1,1,-9,4,712,8570.0,1273101 +1100105,47,12732,1,27,2,45,3,1,1,1,-9,4,5419Z,7490.0,1273201 +1100105,47,12733,1,33,1,50,1,1,1,1,-9,2,5416,7390.0,1273301 +1100105,47,12734,1,30,2,60,3,1,1,1,-9,4,92MP,9470.0,1273401 +1100105,47,12735,1,26,2,50,1,1,1,1,-9,4,5417,7460.0,1273501 +1100105,47,12736,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1273601 +1100105,47,12737,1,34,2,40,1,1,1,1,-9,4,712,8570.0,1273701 +1100105,47,12738,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,1273801 +1100105,47,12739,1,30,1,50,1,1,1,1,-9,4,7111,8561.0,1273901 +1100105,47,12740,1,31,2,50,1,1,1,1,-9,4,92MP,9470.0,1274001 +1100105,47,12741,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,1274101 +1100105,47,12742,1,34,1,40,1,1,1,1,-9,4,5416,7390.0,1274201 +1100105,47,12743,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,1274301 +1100105,47,12744,1,29,1,50,1,1,1,1,-9,4,8139Z,9190.0,1274401 +1100105,47,12745,1,30,2,60,3,1,1,1,-9,4,92MP,9470.0,1274501 +1100105,47,12746,1,31,2,36,1,1,1,1,15,4,813M,9170.0,1274601 +1100105,47,12747,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,1274701 +1100105,47,12748,1,29,2,50,1,4,1,1,-9,1,928110P1,9670.0,1274801 +1100105,47,12749,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1274901 +1100105,47,12750,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,1275001 +1100105,47,12751,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,1275101 +1100105,47,12752,1,27,2,55,1,1,1,1,16,4,813M,9170.0,1275201 +1100105,47,12753,1,30,2,50,1,1,1,1,-9,4,81393,9180.0,1275301 +1100105,47,12754,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1275401 +1100105,47,12755,1,29,2,45,1,1,1,1,-9,4,928P,9590.0,1275501 +1100105,47,12756,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,1275601 +1100105,47,12757,1,24,2,48,1,1,1,1,-9,4,5418,7470.0,1275701 +1100105,47,12758,1,25,2,50,1,1,1,1,-9,4,5416,7390.0,1275801 +1100105,47,12759,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,1275901 +1100105,47,12760,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,1276001 +1100105,47,12761,1,28,1,55,1,1,1,1,-9,4,813M,9170.0,1276101 +1100105,47,12762,1,30,2,50,1,1,1,1,-9,4,81393,9180.0,1276201 +1100105,47,12763,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,1276301 +1100105,47,12764,1,29,1,50,1,1,1,1,-9,4,3116,1180.0,1276401 +1100105,47,12765,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1276501 +1100105,47,12766,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1276601 +1100105,47,12767,1,32,1,45,1,1,1,1,-9,4,712,8570.0,1276701 +1100105,47,12768,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,1276801 +1100105,47,12769,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,1276901 +1100105,47,12770,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,1277001 +1100105,47,12771,1,27,2,40,1,1,1,1,-9,4,522M,6890.0,1277101 +1100105,47,12772,1,29,2,50,1,1,1,1,-9,4,9211MP,9370.0,1277201 +1100105,47,12773,1,30,2,60,3,1,1,1,-9,4,92MP,9470.0,1277301 +1100105,47,12774,1,25,2,50,1,1,1,1,-9,4,5416,7390.0,1277401 +1100105,47,12775,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1277501 +1100105,47,12776,1,28,2,42,1,1,1,1,-9,4,44511,4971.0,1277601 +1100105,47,12777,1,27,2,45,1,1,1,1,-9,4,611M1,7870.0,1277701 +1100105,47,12778,1,27,2,40,1,1,1,1,-9,4,3391,3960.0,1277801 +1100105,47,12779,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,1277901 +1100105,47,12780,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,1278001 +1100105,47,12781,1,27,2,45,3,1,1,1,-9,4,5419Z,7490.0,1278101 +1100105,47,12782,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1278201 +1100105,47,12783,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,1278301 +1100105,47,12784,1,34,2,45,1,1,1,1,-9,4,923,9480.0,1278401 +1100105,47,12785,1,27,2,55,1,1,1,1,-9,4,622M,8191.0,1278501 +1100105,47,12786,1,24,1,60,1,1,1,1,-9,4,5416,7390.0,1278601 +1100105,47,12787,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1278701 +1100105,47,12788,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1278801 +1100105,47,12789,1,25,1,55,1,1,1,1,-9,4,488,6290.0,1278901 +1100105,47,12790,1,31,2,40,1,1,1,1,15,4,5416,7390.0,1279001 +1100105,47,12791,1,30,2,45,1,1,1,1,-9,4,814,9290.0,1279101 +1100105,47,12792,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,1279201 +1100105,47,12793,1,26,2,40,1,1,1,1,-9,4,8139Z,9190.0,1279301 +1100105,47,12794,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,1279401 +1100105,47,12795,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,1279501 +1100105,47,12796,1,30,2,40,4,1,1,1,-9,4,5416,7390.0,1279601 +1100105,47,12797,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,1279701 +1100105,47,12798,1,22,2,45,1,1,1,1,-9,4,92113,9380.0,1279801 +1100105,47,12799,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,1279901 +1100105,47,12800,1,27,2,37,1,1,1,1,-9,4,622M,8191.0,1280001 +1100105,47,12801,1,31,2,45,1,1,1,1,-9,4,813M,9170.0,1280101 +1100105,47,12802,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1280201 +1100105,47,12803,1,28,2,40,1,1,1,1,-9,4,8139Z,9190.0,1280301 +1100105,47,12804,1,28,1,60,1,4,1,1,-9,1,928110P3,9690.0,1280401 +1100105,47,12805,1,30,1,55,3,1,1,1,-9,4,92MP,9470.0,1280501 +1100105,47,12806,1,29,1,60,1,1,1,1,-9,4,5111Z,6480.0,1280601 +1100105,47,12807,1,29,1,50,1,1,1,1,-9,4,7211,8660.0,1280701 +1100105,47,12808,1,26,1,40,1,1,1,1,-9,4,928P,9590.0,1280801 +1100105,47,12809,1,34,2,40,1,1,1,1,-9,4,712,8570.0,1280901 +1100105,47,12810,1,30,2,40,1,1,1,1,-9,4,52M1,6870.0,1281001 +1100105,47,12811,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,1281101 +1100105,47,12812,1,26,2,40,1,1,1,1,-9,4,8139Z,9190.0,1281201 +1100105,47,12813,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1281301 +1100105,47,12814,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1281401 +1100105,47,12815,1,29,2,45,1,1,1,1,-9,4,5418,7470.0,1281501 +1100105,47,12816,1,31,2,45,1,1,1,1,16,4,5416,7390.0,1281601 +1100105,47,12817,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1281701 +1100105,47,12818,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1281801 +1100105,47,12819,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,1281901 +1100105,47,12820,1,29,2,50,1,1,1,1,-9,4,611M1,7870.0,1282001 +1100105,47,12821,1,31,2,36,1,1,1,1,15,4,813M,9170.0,1282101 +1100105,47,12822,1,29,2,40,1,1,1,1,-9,4,928P,9590.0,1282201 +1100105,47,12823,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,1282301 +1100105,47,12824,1,31,1,60,1,1,1,1,-9,4,5416,7390.0,1282401 +1100105,47,12825,1,30,2,40,1,1,1,1,-9,4,443142,4795.0,1282501 +1100105,47,12826,1,33,2,25,3,1,1,1,-9,4,6111,7860.0,1282601 +1100105,47,12827,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,1282701 +1100105,47,12828,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,1282801 +1100105,47,12829,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1282901 +1100105,47,12830,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1283001 +1100105,47,12831,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,1283101 +1100105,47,12832,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1283201 +1100105,47,12833,1,33,2,40,1,1,1,1,-9,4,211,370.0,1283301 +1100105,47,12834,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,1283401 +1100105,47,12835,1,27,2,40,1,1,1,1,-9,4,92M1,9490.0,1283501 +1100105,47,12836,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,1283601 +1100105,47,12837,1,32,1,50,1,1,1,1,-9,4,424M,4380.0,1283701 +1100105,47,12838,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,1283801 +1100105,47,12839,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,1283901 +1100105,47,12840,1,30,2,40,1,1,1,1,-9,4,443142,4795.0,1284001 +1100105,47,12841,1,27,2,40,1,1,1,1,-9,4,611M3,7890.0,1284101 +1100105,47,12842,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,1284201 +1100105,47,12843,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,1284301 +1100105,47,12844,1,29,2,60,1,1,1,1,-9,4,622M,8191.0,1284401 +1100105,47,12845,1,25,2,40,1,1,1,1,-9,4,51913,6672.0,1284501 +1100105,47,12846,1,25,1,55,1,1,1,1,-9,4,488,6290.0,1284601 +1100105,47,12847,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,1284701 +1100105,47,12848,1,29,2,40,1,1,1,1,-9,4,611M1,7870.0,1284801 +1100105,47,12849,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1284901 +1100105,47,12850,1,23,2,45,5,1,1,1,-9,4,5416,7390.0,1285001 +1100105,47,12851,1,32,1,50,1,1,1,1,-9,4,52M2,6970.0,1285101 +1100105,47,12852,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,1285201 +1100105,47,12853,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,1285301 +1100105,47,12854,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,1285401 +1100105,47,12855,1,29,1,50,1,1,1,1,-9,4,8139Z,9190.0,1285501 +1100105,47,12856,1,29,2,60,1,1,1,1,-9,4,622M,8191.0,1285601 +1100105,47,12857,1,31,2,40,1,1,1,1,-9,4,5412,7280.0,1285701 +1100105,47,12858,1,32,2,50,1,1,1,1,-9,4,813M,9170.0,1285801 +1100105,47,12859,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1285901 +1100105,47,12860,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1286001 +1100105,47,12861,1,29,2,65,1,1,1,1,-9,4,5411,7270.0,1286101 +1100105,47,12862,1,29,1,65,1,1,1,1,-9,4,5416,7390.0,1286201 +1100105,47,12863,1,29,2,60,1,1,1,1,-9,4,622M,8191.0,1286301 +1100105,47,12864,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1286401 +1100105,47,12865,1,26,1,50,3,1,1,1,-9,4,5416,7390.0,1286501 +1100105,47,12866,1,26,2,40,1,1,1,1,-9,4,92M2,9570.0,1286601 +1100105,47,12867,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,1286701 +1100105,47,12868,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,1286801 +1100105,47,12869,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1286901 +1100105,47,12870,1,22,2,45,1,1,1,1,-9,4,92113,9380.0,1287001 +1100105,47,12871,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1287101 +1100105,47,12872,1,26,2,37,1,1,1,1,-9,4,813M,9170.0,1287201 +1100105,47,12873,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,1287301 +1100105,47,12874,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1287401 +1100105,47,12875,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,1287501 +1100105,47,12876,1,27,1,40,1,1,1,1,-9,4,8139Z,9190.0,1287601 +1100105,47,12877,1,26,2,37,1,1,1,1,-9,4,813M,9170.0,1287701 +1100105,47,12878,1,32,1,50,1,1,1,1,-9,4,424M,4380.0,1287801 +1100105,47,12879,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1287901 +1100105,47,12880,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,1288001 +1100105,47,12881,1,33,2,50,1,1,1,1,-9,4,5413,7290.0,1288101 +1100105,47,12882,1,25,1,38,1,1,1,1,-9,4,5411,7270.0,1288201 +1100105,47,12883,1,28,2,35,1,1,1,1,-9,4,6216,8170.0,1288301 +1100105,47,12884,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1288401 +1100105,47,12885,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1288501 +1100105,47,12886,1,34,1,40,1,1,1,1,-9,4,813M,9170.0,1288601 +1100105,47,12887,1,26,2,4,1,1,1,1,-9,4,5418,7470.0,1288701 +1100105,47,12888,1,30,2,45,1,1,1,1,-9,4,928P,9590.0,1288801 +1100105,47,12889,1,30,1,55,3,1,1,1,-9,4,92MP,9470.0,1288901 +1100105,47,12890,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,1289001 +1100105,47,12891,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,1289101 +1100105,47,12892,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1289201 +1100105,47,12893,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,1289301 +1100105,47,12894,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1289401 +1100105,47,12895,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,1289501 +1100105,47,12896,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1289601 +1100105,47,12897,1,29,1,50,1,1,2,5,-9,4,5412,7280.0,1289701 +1100105,47,12898,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,1289801 +1100105,47,12899,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,1289901 +1100105,47,12900,1,27,2,40,1,1,8,17,-9,4,6111,7860.0,1290001 +1100105,47,12901,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,1290101 +1100105,47,12902,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1290201 +1100105,47,12903,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1290301 +1100105,47,12904,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1290401 +1100105,47,12905,1,33,2,40,1,1,1,2,-9,4,9211MP,9370.0,1290501 +1100105,47,12906,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1290601 +1100105,47,12907,1,33,2,40,1,1,2,10,-9,4,5416,7390.0,1290701 +1100105,47,12908,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,1290801 +1100105,47,12909,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,1290901 +1100105,47,12910,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,1291001 +1100105,47,12911,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,1291101 +1100105,47,12912,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,1291201 +1100105,47,12913,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,1291301 +1100105,47,12914,1,33,2,40,1,1,1,2,-9,4,9211MP,9370.0,1291401 +1100105,47,12915,1,27,2,40,1,1,1,2,-9,4,923,9480.0,1291501 +1100105,47,12916,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,1291601 +1100105,47,12917,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,1291701 +1100105,47,12918,1,28,1,40,1,1,1,23,-9,4,813M,9170.0,1291801 +1100105,47,12919,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,1291901 +1100105,47,12920,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1292001 +1100105,47,12921,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1292101 +1100105,47,12922,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,1292201 +1100105,47,12923,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1292301 +1100105,47,12924,1,29,1,30,1,2,1,2,-9,4,711M,8563.0,1292401 +1100105,47,12925,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,1292501 +1100105,47,12926,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1292601 +1100105,47,12927,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,1292701 +1100105,47,12928,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,1292801 +1100105,47,12929,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,1292901 +1100105,47,12930,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,1293001 +1100105,47,12931,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,1293101 +1100105,47,12932,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,1293201 +1100105,47,12933,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,1293301 +1100105,47,12934,1,89,1,-9,-9,6,6,1,-9,2,0,0.0,1293401 +1100105,47,12935,1,68,1,-9,-9,6,1,1,-9,3,0,0.0,1293501 +1100105,47,12936,1,77,1,65,5,6,1,1,-9,4,621M,8180.0,1293601 +1100105,47,12937,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1293701 +1100105,47,12938,1,82,2,-9,-9,6,1,1,-9,4,5313,7072.0,1293801 +1100105,47,12939,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,1293901 +1100105,47,12940,1,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1294001 +1100105,47,12941,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,1294101 +1100105,47,12942,1,70,1,-9,-9,6,1,1,-9,4,0,0.0,1294201 +1100105,47,12943,1,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1294301 +1100105,47,12944,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1294401 +1100105,47,12945,1,65,1,-9,-9,6,1,1,-9,4,923,9480.0,1294501 +1100105,47,12946,1,67,1,-9,-9,6,1,1,16,2,923,9480.0,1294601 +1100105,47,12947,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,1294701 +1100105,47,12948,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,1294801 +1100105,47,12949,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,1294901 +1100105,47,12950,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,1295001 +1100105,47,12951,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1295101 +1100105,47,12952,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1295201 +1100105,47,12953,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,1295301 +1100105,47,12954,1,68,1,-9,-9,6,1,1,-9,3,0,0.0,1295401 +1100105,47,12955,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1295501 +1100105,47,12956,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1295601 +1100105,47,12957,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1295701 +1100105,47,12958,1,71,1,-9,-9,6,1,1,-9,2,0,0.0,1295801 +1100105,47,12959,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1295901 +1100105,47,12960,1,77,1,65,5,6,1,1,-9,4,621M,8180.0,1296001 +1100105,47,12961,1,68,1,-9,-9,6,1,1,-9,3,0,0.0,1296101 +1100105,47,12962,1,69,2,-9,-9,6,1,1,-9,4,92M2,9570.0,1296201 +1100105,47,12963,1,70,1,-9,-9,6,1,1,-9,4,0,0.0,1296301 +1100105,47,12964,1,71,1,-9,-9,6,1,1,-9,2,0,0.0,1296401 +1100105,47,12965,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1296501 +1100105,47,12966,1,93,2,-9,-9,6,1,2,-9,4,928P,9590.0,1296601 +1100105,47,12967,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1296701 +1100105,47,12968,1,62,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1296801 +1100105,47,12969,1,62,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1296901 +1100105,47,12970,1,59,2,-9,-9,6,1,1,-9,4,52M1,6870.0,1297001 +1100105,47,12971,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1297101 +1100105,47,12972,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1297201 +1100105,47,12973,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,1297301 +1100105,47,12974,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,1297401 +1100105,47,12975,1,24,1,40,3,6,1,1,16,4,5241,6991.0,1297501 +1100105,47,12976,1,66,2,50,1,1,1,1,-9,4,6214,8090.0,1297601 +1100105,47,12977,1,69,2,32,1,1,1,1,-9,4,8139Z,9190.0,1297701 +1100105,47,12978,1,66,2,50,1,1,1,1,-9,4,6214,8090.0,1297801 +1100105,47,12979,1,67,1,50,1,1,1,1,-9,4,23,770.0,1297901 +1100105,47,12980,1,66,2,50,1,1,1,1,-9,4,6214,8090.0,1298001 +1100105,47,12981,1,80,1,40,1,1,1,1,-9,2,92M1,9490.0,1298101 +1100105,47,12982,1,37,2,40,1,1,9,1,-9,4,7211,8660.0,1298201 +1100105,47,12983,1,37,2,40,1,1,9,1,-9,4,7211,8660.0,1298301 +1100105,47,12984,1,61,1,40,1,1,2,1,-9,2,92119,9390.0,1298401 +1100105,47,12985,1,58,1,40,1,1,1,1,-9,4,522M,6890.0,1298501 +1100105,47,12986,1,55,1,60,1,1,1,1,-9,4,722Z,8680.0,1298601 +1100105,47,12987,1,61,1,99,1,1,1,1,-9,4,713Z,8590.0,1298701 +1100105,47,12988,1,47,2,40,1,1,1,1,-9,4,8139Z,9190.0,1298801 +1100105,47,12989,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,1298901 +1100105,47,12990,1,47,2,40,1,1,1,1,-9,4,8139Z,9190.0,1299001 +1100105,47,12991,1,58,2,40,1,1,1,1,-9,4,713Z,8590.0,1299101 +1100105,47,12992,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,1299201 +1100105,47,12993,1,36,1,40,3,2,1,1,-9,4,5417,7460.0,1299301 +1100105,47,12994,1,42,1,50,1,1,1,1,-9,4,5416,7390.0,1299401 +1100105,47,12995,1,48,1,65,1,1,1,1,-9,4,813M,9170.0,1299501 +1100105,47,12996,1,45,1,40,1,1,1,9,-9,4,5419Z,7490.0,1299601 +1100105,47,12997,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,1299701 +1100105,47,12998,1,45,1,40,1,1,1,9,-9,4,5419Z,7490.0,1299801 +1100105,47,12999,1,31,1,42,5,1,8,1,-9,4,5412,7280.0,1299901 +1100105,47,13000,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,1300001 +1100105,47,13001,1,31,1,42,5,1,8,1,-9,4,5412,7280.0,1300101 +1100105,47,13002,1,23,2,40,4,1,9,1,-9,4,813M,9170.0,1300201 +1100105,47,13003,1,31,1,42,5,1,8,1,-9,4,5412,7280.0,1300301 +1100105,47,13004,1,31,1,42,5,1,8,1,-9,4,5412,7280.0,1300401 +1100105,47,13005,1,32,1,20,3,1,6,1,16,4,611M1,7870.0,1300501 +1100105,47,13006,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,1300601 +1100105,47,13007,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,1300701 +1100105,47,13008,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,1300801 +1100105,47,13009,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,1300901 +1100105,47,13010,1,26,2,40,1,1,1,1,-9,4,5418,7470.0,1301001 +1100105,47,13011,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,1301101 +1100105,47,13012,1,23,1,40,1,1,1,1,-9,4,5417,7460.0,1301201 +1100105,47,13013,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,1301301 +1100105,47,13014,1,25,2,45,1,1,1,1,-9,4,5415,7380.0,1301401 +1100105,47,13015,1,33,1,40,1,1,1,1,-9,4,515,6670.0,1301501 +1100105,47,13016,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1301601 +1100105,47,13017,1,34,2,45,1,1,1,1,-9,4,7111,8561.0,1301701 +1100105,47,13018,1,24,2,45,1,1,1,1,-9,4,6111,7860.0,1301801 +1100105,47,13019,1,23,1,40,1,1,1,1,-9,4,5417,7460.0,1301901 +1100105,47,13020,1,23,2,60,1,1,1,1,-9,4,517Z,6690.0,1302001 +1100105,47,13021,1,26,1,90,1,1,1,1,16,4,5417,7460.0,1302101 +1100105,47,13022,1,25,1,35,1,1,1,1,-9,4,813M,9170.0,1302201 +1100105,47,13023,1,24,2,40,1,1,1,1,16,4,8139Z,9190.0,1302301 +1100105,47,13024,1,31,1,30,3,1,1,1,-9,4,813M,9170.0,1302401 +1100105,47,13025,1,27,2,40,3,1,1,1,-9,4,482,6080.0,1302501 +1100105,47,13026,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,1302601 +1100105,47,13027,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,1302701 +1100105,47,13028,1,33,1,40,1,1,1,1,-9,4,515,6670.0,1302801 +1100105,47,13029,1,25,1,35,1,1,1,1,-9,4,813M,9170.0,1302901 +1100105,47,13030,1,34,1,39,1,1,1,1,-9,4,44511,4971.0,1303001 +1100105,47,13031,1,33,1,40,1,1,1,1,-9,4,515,6670.0,1303101 +1100105,47,13032,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,1303201 +1100105,47,13033,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1303301 +1100105,47,13034,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,1303401 +1100105,47,13035,1,25,2,55,1,1,1,1,16,4,487,6280.0,1303501 +1100105,47,13036,1,23,2,43,1,1,1,1,16,4,92M2,9570.0,1303601 +1100105,47,13037,1,23,1,45,3,1,1,1,-9,4,454110,5593.0,1303701 +1100105,47,13038,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,1303801 +1100105,47,13039,1,25,2,55,1,1,1,1,16,4,487,6280.0,1303901 +1100105,47,13040,1,24,2,40,6,1,1,1,16,4,928P,9590.0,1304001 +1100105,47,13041,1,34,1,39,1,1,1,1,-9,4,44511,4971.0,1304101 +1100105,47,13042,1,28,2,50,5,1,1,1,-9,4,92MP,9470.0,1304201 +1100105,47,13043,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,1304301 +1100105,47,13044,1,26,1,50,1,1,1,1,-9,4,813M,9170.0,1304401 +1100105,47,13045,1,31,1,20,1,1,1,1,16,4,443142,4795.0,1304501 +1100105,47,13046,1,28,2,20,1,1,1,1,16,4,611M1,7870.0,1304601 +1100105,47,13047,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,1304701 +1100105,47,13048,1,33,2,40,1,1,1,2,-9,4,531M,7071.0,1304801 +1100105,47,13049,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,1304901 +1100105,47,13050,1,32,2,38,4,1,1,2,-9,4,928P,9590.0,1305001 +1100105,47,13051,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,1305101 +1100105,47,13052,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,1305201 +1100105,47,13053,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,1305301 +1100105,47,13054,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1305401 +1100105,47,13055,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1305501 +1100105,47,13056,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1305601 +1100105,47,13057,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1305701 +1100105,47,13058,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1305801 +1100105,47,13059,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1305901 +1100105,47,13060,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1306001 +1100105,47,13061,1,67,2,-9,-9,6,2,1,-9,4,491,6370.0,1306101 +1100105,47,13062,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1306201 +1100105,47,13063,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1306301 +1100105,47,13064,1,70,2,-9,-9,6,1,1,-9,4,5412,7280.0,1306401 +1100105,47,13065,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1306501 +1100105,47,13066,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1306601 +1100105,47,13067,1,74,2,-9,-9,6,1,1,-9,4,5411,7270.0,1306701 +1100105,47,13068,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,1306801 +1100105,47,13069,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1306901 +1100105,47,13070,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1307001 +1100105,47,13071,1,78,2,-9,-9,6,1,1,-9,4,0,0.0,1307101 +1100105,47,13072,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,1307201 +1100105,47,13073,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,1307301 +1100105,47,13074,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1307401 +1100105,47,13075,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,1307501 +1100105,47,13076,1,67,2,-9,-9,6,1,1,-9,4,0,0.0,1307601 +1100105,47,13077,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,1307701 +1100105,47,13078,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,1307801 +1100105,47,13079,1,53,1,40,3,6,3,1,-9,4,562,7790.0,1307901 +1100105,47,13080,1,61,2,-9,-9,6,9,1,-9,4,5614,7590.0,1308001 +1100105,47,13081,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,1308101 +1100105,47,13082,1,62,1,-9,-9,6,1,1,-9,4,0,0.0,1308201 +1100105,47,13083,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,1308301 +1100105,47,13084,1,23,2,35,4,6,1,1,-9,4,3254,2190.0,1308401 +1100105,47,13085,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1308501 +1100105,47,13086,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1308601 +1100105,47,13087,1,77,1,40,1,1,1,1,-9,2,812112,8980.0,1308701 +1100105,47,13088,1,67,1,20,1,1,1,1,-9,4,23,770.0,1308801 +1100105,47,13089,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1308901 +1100105,47,13090,1,67,1,20,1,1,1,1,-9,4,23,770.0,1309001 +1100105,47,13091,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1309101 +1100105,47,13092,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1309201 +1100105,47,13093,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,1309301 +1100105,47,13094,1,62,1,20,3,1,9,1,-9,4,4249Z,4580.0,1309401 +1100105,47,13095,1,62,1,20,3,1,9,1,-9,4,4249Z,4580.0,1309501 +1100105,47,13096,1,38,2,50,1,1,1,1,-9,4,928P,9590.0,1309601 +1100105,47,13097,1,38,1,20,3,1,1,1,-9,4,4481,5170.0,1309701 +1100105,47,13098,1,47,1,40,4,1,1,1,-9,4,722Z,8680.0,1309801 +1100105,47,13099,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,1309901 +1100105,47,13100,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,1310001 +1100105,47,13101,1,59,2,20,6,1,1,1,-9,4,6244,8470.0,1310101 +1100105,47,13102,1,64,1,30,1,1,1,1,-9,4,5419Z,7490.0,1310201 +1100105,47,13103,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,1310301 +1100105,47,13104,1,64,2,4,5,1,1,11,-9,4,7211,8660.0,1310401 +1100105,47,13105,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,1310501 +1100105,47,13106,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1310601 +1100105,47,13107,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1310701 +1100105,47,13108,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1310801 +1100105,47,13109,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1310901 +1100105,47,13110,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1311001 +1100105,47,13111,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1311101 +1100105,47,13112,1,20,2,40,4,1,6,1,15,4,5412,7280.0,1311201 +1100105,47,13113,1,33,2,40,1,1,1,1,15,2,483,6090.0,1311301 +1100105,47,13114,1,26,2,30,1,1,1,1,16,4,611M1,7870.0,1311401 +1100105,47,13115,1,33,2,40,5,1,1,1,-9,4,813M,9170.0,1311501 +1100105,47,13116,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,1311601 +1100105,47,13117,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,1311701 +1100105,47,13118,1,22,1,40,1,1,1,1,15,4,51111,6470.0,1311801 +1100105,47,13119,1,22,1,40,4,1,1,1,-9,4,5313,7072.0,1311901 +1100105,47,13120,1,22,2,25,4,1,1,1,-9,4,611M1,7870.0,1312001 +1100105,47,13121,1,27,1,3,6,1,1,1,16,4,611M3,7890.0,1312101 +1100105,47,13122,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,1312201 +1100105,47,13123,1,28,1,5,4,1,1,3,16,4,611M1,7870.0,1312301 +1100105,47,13124,1,28,2,40,5,1,1,23,-9,4,928P,9590.0,1312401 +1100105,47,13125,1,25,2,35,6,1,8,7,16,4,5411,7270.0,1312501 +1100105,47,13126,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1312601 +1100105,47,13127,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,1312701 +1100105,47,13128,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,1312801 +1100105,47,13129,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1312901 +1100105,47,13130,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1313001 +1100105,47,13131,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,1313101 +1100105,47,13132,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,1313201 +1100105,47,13133,1,73,1,-9,-9,6,2,1,-9,4,0,0.0,1313301 +1100105,47,13134,1,79,2,-9,-9,6,2,1,-9,4,0,0.0,1313401 +1100105,47,13135,1,82,2,-9,-9,6,1,1,-9,4,0,0.0,1313501 +1100105,47,13136,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1313601 +1100105,47,13137,1,77,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1313701 +1100105,47,13138,1,82,2,-9,-9,6,1,1,-9,4,0,0.0,1313801 +1100105,47,13139,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,1313901 +1100105,47,13140,1,71,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1314001 +1100105,47,13141,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,1314101 +1100105,47,13142,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1314201 +1100105,47,13143,1,81,1,-9,-9,6,1,1,-9,2,0,0.0,1314301 +1100105,47,13144,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1314401 +1100105,47,13145,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1314501 +1100105,47,13146,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1314601 +1100105,47,13147,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1314701 +1100105,47,13148,1,67,2,30,4,6,1,1,-9,4,7115,8564.0,1314801 +1100105,47,13149,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1314901 +1100105,47,13150,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,1315001 +1100105,47,13151,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,1315101 +1100105,47,13152,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1315201 +1100105,47,13153,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1315301 +1100105,47,13154,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,1315401 +1100105,47,13155,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1315501 +1100105,47,13156,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1315601 +1100105,47,13157,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,1315701 +1100105,47,13158,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,1315801 +1100105,47,13159,1,56,2,-9,-9,6,2,1,-9,4,0,0.0,1315901 +1100105,47,13160,1,45,1,30,5,6,1,1,-9,4,5411,7270.0,1316001 +1100105,47,13161,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1316101 +1100105,47,13162,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,1316201 +1100105,47,13163,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1316301 +1100105,47,13164,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,1316401 +1100105,47,13165,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1316501 +1100105,47,13166,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1316601 +1100105,47,13167,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,1316701 +1100105,47,13168,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1316801 +1100105,47,13169,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,1316901 +1100105,47,13170,1,36,2,45,6,6,1,23,-9,4,8139Z,9190.0,1317001 +1100105,47,13171,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,1317101 +1100105,47,13172,1,34,2,-9,-9,6,6,1,16,4,928P,9590.0,1317201 +1100105,47,13173,1,27,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1317301 +1100105,47,13174,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,1317401 +1100105,47,13175,1,24,2,20,6,6,1,1,16,4,5411,7270.0,1317501 +1100105,47,13176,1,21,2,20,3,6,1,1,16,4,611M1,7870.0,1317601 +1100105,47,13177,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1317701 +1100105,47,13178,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,1317801 +1100105,47,13179,1,31,2,-9,-9,3,1,1,16,4,311811,1190.0,1317901 +1100105,47,13180,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,1318001 +1100105,47,13181,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1318101 +1100105,47,13182,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,1318201 +1100105,47,13183,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,1318301 +1100105,49,13184,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,1318401 +1100105,49,13184,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,1318402 +1100105,49,13184,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,1318403 +1100105,49,13184,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,1318404 +1100105,49,13185,1,39,2,-9,-9,6,1,1,-9,4,0,0.0,1318501 +1100105,49,13185,2,39,1,50,1,1,1,1,-9,4,5416,7390.0,1318502 +1100105,49,13185,3,6,2,-9,-9,-9,1,1,2,-9,0,0.0,1318503 +1100105,49,13185,4,3,2,-9,-9,-9,1,1,1,-9,0,0.0,1318504 +1100105,49,13186,1,51,2,40,1,1,1,1,-9,4,611M1,7870.0,1318601 +1100105,49,13186,2,16,2,-9,-9,6,1,1,13,-9,0,0.0,1318602 +1100105,49,13186,3,10,2,-9,-9,-9,1,1,5,-9,0,0.0,1318603 +1100105,49,13186,4,10,2,-9,-9,-9,1,1,6,-9,0,0.0,1318604 +1100105,49,13187,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,1318701 +1100105,49,13187,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,1318702 +1100105,49,13187,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,1318703 +1100105,49,13187,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,1318704 +1100105,49,13188,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,1318801 +1100105,49,13188,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,1318802 +1100105,49,13188,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,1318803 +1100105,49,13188,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,1318804 +1100105,49,13189,1,62,1,40,1,1,8,11,-9,4,44511,4971.0,1318901 +1100105,49,13189,2,52,2,-9,-9,6,8,11,-9,4,0,0.0,1318902 +1100105,49,13189,3,17,2,-9,-9,6,8,11,13,4,0,0.0,1318903 +1100105,49,13189,4,13,2,-9,-9,-9,8,11,9,-9,0,0.0,1318904 +1100105,49,13190,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1319001 +1100105,49,13190,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1319002 +1100105,49,13190,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1319003 +1100105,49,13190,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1319004 +1100105,49,13191,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1319101 +1100105,49,13191,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1319102 +1100105,49,13191,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1319103 +1100105,49,13191,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1319104 +1100105,49,13192,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1319201 +1100105,49,13192,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1319202 +1100105,49,13192,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1319203 +1100105,49,13192,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1319204 +1100105,49,13193,1,52,1,40,1,1,1,1,-9,2,92MP,9470.0,1319301 +1100105,49,13193,2,53,2,40,1,1,1,1,-9,2,92MP,9470.0,1319302 +1100105,49,13193,3,22,2,40,1,1,1,1,-9,4,7211,8660.0,1319303 +1100105,49,13194,1,52,2,50,1,1,1,1,-9,4,92M2,9570.0,1319401 +1100105,49,13194,2,52,1,50,1,1,1,1,-9,2,6111,7860.0,1319402 +1100105,49,13194,3,24,2,40,1,1,1,1,-9,4,51111,6470.0,1319403 +1100105,49,13195,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,1319501 +1100105,49,13195,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,1319502 +1100105,49,13195,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,1319503 +1100105,49,13196,1,32,2,38,1,1,1,1,16,4,5417,7460.0,1319601 +1100105,49,13196,2,35,1,50,1,1,1,1,-9,4,5413,7290.0,1319602 +1100105,49,13196,3,31,2,50,1,1,1,1,-9,4,622M,8191.0,1319603 +1100105,49,13197,1,31,2,40,1,1,1,1,-9,4,92M2,9570.0,1319701 +1100105,49,13197,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,1319702 +1100105,49,13197,3,27,1,40,2,1,9,1,-9,4,9211MP,9370.0,1319703 +1100105,49,13198,1,23,2,40,3,1,1,1,-9,4,5411,7270.0,1319801 +1100105,49,13198,2,29,1,50,1,1,1,1,16,4,928P,9590.0,1319802 +1100105,49,13198,3,25,2,50,1,1,1,1,-9,4,813M,9170.0,1319803 +1100105,49,13199,1,28,1,40,1,1,1,1,-9,4,6111,7860.0,1319901 +1100105,49,13199,2,34,1,38,1,1,1,1,-9,4,5411,7270.0,1319902 +1100105,49,13199,3,31,1,50,1,1,1,1,-9,4,4441Z,4870.0,1319903 +1100105,49,13200,1,33,2,50,1,1,1,1,-9,4,813M,9170.0,1320001 +1100105,49,13200,2,32,1,50,1,1,1,1,-9,4,8139Z,9190.0,1320002 +1100105,49,13200,3,31,1,55,1,1,1,1,-9,4,5415,7380.0,1320003 +1100105,49,13201,1,29,2,45,1,1,1,1,16,4,9211MP,9370.0,1320101 +1100105,49,13201,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,1320102 +1100105,49,13201,3,25,1,45,1,1,1,1,-9,4,5417,7460.0,1320103 +1100105,49,13202,1,64,2,35,1,1,1,1,-9,4,6214,8090.0,1320201 +1100105,49,13202,2,70,1,8,6,3,1,1,-9,4,5416,7390.0,1320202 +1100105,49,13202,3,33,1,40,1,1,1,1,-9,4,52M2,6970.0,1320203 +1100105,49,13203,1,49,1,40,1,1,1,1,-9,2,92M2,9570.0,1320301 +1100105,49,13203,2,44,2,40,1,1,1,1,-9,4,5416,7390.0,1320302 +1100105,49,13203,3,23,1,10,6,6,1,1,15,4,5416,7390.0,1320303 +1100105,49,13204,1,53,2,40,1,1,1,1,-9,4,928P,9590.0,1320401 +1100105,49,13204,2,54,1,40,1,1,1,1,-9,4,928P,9590.0,1320402 +1100105,49,13204,3,21,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1320403 +1100105,49,13205,1,37,1,50,1,1,1,1,-9,4,5416,7390.0,1320501 +1100105,49,13205,2,35,2,50,1,1,6,1,-9,4,5416,7390.0,1320502 +1100105,49,13205,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,1320503 +1100105,49,13206,1,37,1,50,1,1,1,1,-9,4,5416,7390.0,1320601 +1100105,49,13206,2,35,2,50,1,1,6,1,-9,4,5416,7390.0,1320602 +1100105,49,13206,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,1320603 +1100105,49,13207,1,43,1,50,1,1,1,1,-9,4,485M,6180.0,1320701 +1100105,49,13207,2,35,2,40,1,1,9,1,-9,4,92M1,9490.0,1320702 +1100105,49,13207,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1320703 +1100105,49,13208,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,1320801 +1100105,49,13208,2,35,2,50,1,1,6,1,-9,4,92MP,9470.0,1320802 +1100105,49,13208,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1320803 +1100105,49,13209,1,40,1,60,1,1,1,1,-9,4,5411,7270.0,1320901 +1100105,49,13209,2,37,2,30,1,1,1,1,-9,4,713Z,8590.0,1320902 +1100105,49,13209,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1320903 +1100105,49,13210,1,37,1,50,1,1,1,1,-9,4,722Z,8680.0,1321001 +1100105,49,13210,2,41,2,45,1,1,1,1,-9,4,5411,7270.0,1321002 +1100105,49,13210,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1321003 +1100105,49,13211,1,35,2,40,3,1,1,1,-9,4,92MP,9470.0,1321101 +1100105,49,13211,2,36,1,60,1,1,1,1,-9,4,5411,7270.0,1321102 +1100105,49,13211,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1321103 +1100105,49,13212,1,45,1,65,1,1,1,1,-9,4,5418,7470.0,1321201 +1100105,49,13212,2,40,2,50,1,1,1,1,-9,4,5415,7380.0,1321202 +1100105,49,13212,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1321203 +1100105,49,13213,1,43,2,50,1,1,1,1,-9,4,4523,5391.0,1321301 +1100105,49,13213,2,38,1,50,1,1,1,1,-9,4,23,770.0,1321302 +1100105,49,13213,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1321303 +1100105,49,13214,1,40,1,60,1,1,1,1,-9,4,5411,7270.0,1321401 +1100105,49,13214,2,37,2,30,1,1,1,1,-9,4,713Z,8590.0,1321402 +1100105,49,13214,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1321403 +1100105,49,13215,1,43,2,50,1,1,1,1,-9,4,4523,5391.0,1321501 +1100105,49,13215,2,38,1,50,1,1,1,1,-9,4,23,770.0,1321502 +1100105,49,13215,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1321503 +1100105,49,13216,1,37,2,40,1,1,1,1,-9,4,5616,7680.0,1321601 +1100105,49,13216,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1321602 +1100105,49,13216,3,37,1,50,1,1,1,1,-9,4,611M1,7870.0,1321603 +1100105,49,13217,1,40,1,60,1,1,1,1,-9,4,5411,7270.0,1321701 +1100105,49,13217,2,37,2,30,1,1,1,1,-9,4,713Z,8590.0,1321702 +1100105,49,13217,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1321703 +1100105,49,13218,1,37,2,40,1,1,1,1,-9,4,5616,7680.0,1321801 +1100105,49,13218,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1321802 +1100105,49,13218,3,37,1,50,1,1,1,1,-9,4,611M1,7870.0,1321803 +1100105,49,13219,1,41,2,24,1,1,1,1,-9,4,813M,9170.0,1321901 +1100105,49,13219,2,43,1,40,1,1,1,1,-9,4,92M2,9570.0,1321902 +1100105,49,13219,3,1,2,-9,-9,-9,9,3,-9,-9,0,0.0,1321903 +1100105,49,13220,1,45,1,45,1,1,1,1,-9,4,5416,7390.0,1322001 +1100105,49,13220,2,50,1,40,1,1,1,1,-9,4,622M,8191.0,1322002 +1100105,49,13220,3,3,1,-9,-9,-9,1,7,1,-9,0,0.0,1322003 +1100105,49,13221,1,41,2,24,1,1,1,1,-9,4,813M,9170.0,1322101 +1100105,49,13221,2,43,1,40,1,1,1,1,-9,4,92M2,9570.0,1322102 +1100105,49,13221,3,1,2,-9,-9,-9,9,3,-9,-9,0,0.0,1322103 +1100105,49,13222,1,42,2,45,1,1,1,1,-9,4,92MP,9470.0,1322201 +1100105,49,13222,2,43,1,45,1,1,1,2,-9,2,9211MP,9370.0,1322202 +1100105,49,13222,3,4,2,-9,-9,-9,1,2,1,-9,0,0.0,1322203 +1100105,49,13223,1,35,1,40,1,1,1,1,-9,4,51111,6470.0,1322301 +1100105,49,13223,2,33,2,50,1,1,6,1,-9,4,52M1,6870.0,1322302 +1100105,49,13223,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,1322303 +1100105,49,13224,1,34,2,40,2,1,1,1,-9,4,5417,7460.0,1322401 +1100105,49,13224,2,37,1,40,2,1,6,1,-9,4,5416,7390.0,1322402 +1100105,49,13224,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,1322403 +1100105,49,13225,1,32,2,40,1,1,1,1,-9,4,23,770.0,1322501 +1100105,49,13225,2,38,1,40,1,1,9,1,-9,4,5419Z,7490.0,1322502 +1100105,49,13225,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,1322503 +1100105,49,13226,1,39,1,45,1,1,1,1,-9,4,5415,7380.0,1322601 +1100105,49,13226,2,33,2,40,1,1,1,1,-9,4,5415,7380.0,1322602 +1100105,49,13226,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1322603 +1100105,49,13227,1,40,1,50,1,1,1,1,-9,4,3391,3960.0,1322701 +1100105,49,13227,2,32,2,40,1,1,1,1,-9,4,923,9480.0,1322702 +1100105,49,13227,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1322703 +1100105,49,13228,1,40,1,50,1,1,1,1,-9,4,3391,3960.0,1322801 +1100105,49,13228,2,32,2,40,1,1,1,1,-9,4,923,9480.0,1322802 +1100105,49,13228,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1322803 +1100105,49,13229,1,36,1,50,1,1,1,1,16,4,515,6670.0,1322901 +1100105,49,13229,2,29,2,60,1,1,1,1,-9,4,813M,9170.0,1322902 +1100105,49,13229,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1322903 +1100105,49,13230,1,36,1,50,1,1,1,1,16,4,515,6670.0,1323001 +1100105,49,13230,2,29,2,60,1,1,1,1,-9,4,813M,9170.0,1323002 +1100105,49,13230,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1323003 +1100105,49,13231,1,40,1,50,1,1,1,1,-9,4,3391,3960.0,1323101 +1100105,49,13231,2,32,2,40,1,1,1,1,-9,4,923,9480.0,1323102 +1100105,49,13231,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1323103 +1100105,49,13232,1,33,2,60,1,1,1,3,-9,4,51913,6672.0,1323201 +1100105,49,13232,2,36,1,60,1,1,1,1,-9,4,5416,7390.0,1323202 +1100105,49,13232,3,0,1,-9,-9,-9,1,3,-9,-9,0,0.0,1323203 +1100105,49,13233,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,1323301 +1100105,49,13233,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,1323302 +1100105,49,13233,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,1323303 +1100105,49,13234,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,1323401 +1100105,49,13234,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,1323402 +1100105,49,13234,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,1323403 +1100105,49,13235,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,1323501 +1100105,49,13235,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,1323502 +1100105,49,13235,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,1323503 +1100105,49,13236,1,34,2,40,1,1,1,1,-9,4,622M,8191.0,1323601 +1100105,49,13236,2,34,1,55,1,1,6,1,-9,4,5411,7270.0,1323602 +1100105,49,13236,3,1,1,-9,-9,-9,9,1,-9,-9,0,0.0,1323603 +1100105,49,13237,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,1323701 +1100105,49,13237,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,1323702 +1100105,49,13237,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1323703 +1100105,49,13238,1,30,2,40,1,1,1,1,-9,4,23,770.0,1323801 +1100105,49,13238,2,30,1,50,1,1,1,1,-9,4,517311,6680.0,1323802 +1100105,49,13238,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1323803 +1100105,49,13239,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,1323901 +1100105,49,13239,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,1323902 +1100105,49,13239,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1323903 +1100105,49,13240,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,1324001 +1100105,49,13240,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,1324002 +1100105,49,13240,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1324003 +1100105,49,13241,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,1324101 +1100105,49,13241,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,1324102 +1100105,49,13241,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1324103 +1100105,49,13242,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,1324201 +1100105,49,13242,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,1324202 +1100105,49,13242,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1324203 +1100105,49,13243,1,51,1,-9,-9,3,1,1,-9,4,8139Z,9190.0,1324301 +1100105,49,13243,2,40,1,42,1,1,1,1,-9,4,5416,7390.0,1324302 +1100105,49,13243,3,37,1,-9,-9,6,1,1,-9,4,6214,8090.0,1324303 +1100105,49,13244,1,62,1,40,6,6,6,1,16,4,5411,7270.0,1324401 +1100105,49,13244,2,62,2,44,1,1,6,1,15,4,712,8570.0,1324402 +1100105,49,13244,3,22,2,-9,-9,6,6,1,15,4,0,0.0,1324403 +1100105,49,13245,1,35,1,50,2,1,6,1,-9,4,5416,7390.0,1324501 +1100105,49,13245,2,35,2,-9,-9,6,6,1,-9,4,0,0.0,1324502 +1100105,49,13245,3,4,2,-9,-9,-9,6,1,1,-9,0,0.0,1324503 +1100105,49,13246,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,1324601 +1100105,49,13246,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,1324602 +1100105,49,13246,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,1324603 +1100105,49,13247,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,1324701 +1100105,49,13247,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,1324702 +1100105,49,13247,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,1324703 +1100105,49,13248,1,40,1,60,1,1,1,1,-9,4,92M2,9570.0,1324801 +1100105,49,13248,2,30,2,40,6,6,1,1,-9,4,5416,7390.0,1324802 +1100105,49,13248,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1324803 +1100105,49,13249,1,39,1,20,3,1,1,1,-9,4,7224,8690.0,1324901 +1100105,49,13249,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1324902 +1100105,49,13249,3,27,2,-9,-9,6,1,1,-9,4,7224,8690.0,1324903 +1100105,49,13250,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,1325001 +1100105,49,13250,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,1325002 +1100105,49,13250,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1325003 +1100105,49,13251,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,1325101 +1100105,49,13251,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,1325102 +1100105,49,13251,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1325103 +1100105,49,13252,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,1325201 +1100105,49,13252,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,1325202 +1100105,49,13252,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1325203 +1100105,49,13253,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,1325301 +1100105,49,13253,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,1325302 +1100105,49,13253,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1325303 +1100105,49,13254,1,26,2,45,1,1,1,1,-9,4,5416,7390.0,1325401 +1100105,49,13254,2,25,2,1,1,1,1,1,-9,4,5411,7270.0,1325402 +1100105,49,13254,3,25,1,36,1,1,1,1,-9,4,928P,9590.0,1325403 +1100105,49,13255,1,26,2,45,1,1,1,1,-9,4,813M,9170.0,1325501 +1100105,49,13255,2,26,2,45,1,1,1,1,-9,4,813M,9170.0,1325502 +1100105,49,13255,3,26,2,40,1,1,1,1,-9,4,5121,6570.0,1325503 +1100105,49,13256,1,26,2,45,1,1,1,1,-9,4,8139Z,9190.0,1325601 +1100105,49,13256,2,25,2,50,1,1,1,1,-9,4,5416,7390.0,1325602 +1100105,49,13256,3,25,2,50,1,1,1,1,-9,4,813M,9170.0,1325603 +1100105,49,13257,1,27,1,60,1,1,1,1,-9,4,5415,7380.0,1325701 +1100105,49,13257,2,28,1,60,1,1,1,1,-9,4,5415,7380.0,1325702 +1100105,49,13257,3,23,1,60,1,1,1,1,-9,4,923,9480.0,1325703 +1100105,49,13258,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,1325801 +1100105,49,13258,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,1325802 +1100105,49,13258,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,1325803 +1100105,49,13259,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,1325901 +1100105,49,13259,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,1325902 +1100105,49,13259,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,1325903 +1100105,49,13260,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1326001 +1100105,49,13260,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1326002 +1100105,49,13260,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1326003 +1100105,49,13261,1,38,2,45,1,1,1,1,-9,4,6241,8370.0,1326101 +1100105,49,13261,2,39,1,40,1,1,1,1,-9,4,5413,7290.0,1326102 +1100105,49,13261,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,1326103 +1100105,49,13262,1,37,2,50,6,1,1,1,-9,4,813M,9170.0,1326201 +1100105,49,13262,2,37,1,66,1,1,1,1,-9,4,611M1,7870.0,1326202 +1100105,49,13262,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1326203 +1100105,49,13263,1,38,2,45,1,1,1,1,-9,4,6241,8370.0,1326301 +1100105,49,13263,2,39,1,40,1,1,1,1,-9,4,5413,7290.0,1326302 +1100105,49,13263,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,1326303 +1100105,49,13264,1,47,1,45,3,1,1,23,-9,4,611M2,7880.0,1326401 +1100105,49,13264,2,44,2,50,1,1,1,23,-9,4,928P,9590.0,1326402 +1100105,49,13264,3,2,2,-9,-9,-9,1,1,-9,-9,0,0.0,1326403 +1100105,49,13265,1,48,1,60,1,1,9,1,-9,4,8139Z,9190.0,1326501 +1100105,49,13265,2,33,2,50,1,1,1,1,-9,4,813M,9170.0,1326502 +1100105,49,13265,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,1326503 +1100105,49,13266,1,34,1,60,1,1,1,1,-9,4,923,9480.0,1326601 +1100105,49,13266,2,34,2,30,1,1,1,1,16,4,9211MP,9370.0,1326602 +1100105,49,13266,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1326603 +1100105,49,13267,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,1326701 +1100105,49,13267,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,1326702 +1100105,49,13267,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,1326703 +1100105,49,13268,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,1326801 +1100105,49,13268,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,1326802 +1100105,49,13268,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,1326803 +1100105,49,13269,1,35,1,60,1,1,1,1,-9,4,9211MP,9370.0,1326901 +1100105,49,13269,2,36,2,20,4,6,1,1,-9,4,5416,7390.0,1326902 +1100105,49,13269,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,1326903 +1100105,49,13270,1,24,1,45,1,1,1,1,-9,4,611M3,7890.0,1327001 +1100105,49,13270,2,24,1,40,1,1,1,1,-9,4,5415,7380.0,1327002 +1100105,49,13270,3,23,1,55,1,1,1,1,-9,4,522M,6890.0,1327003 +1100105,49,13271,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,1327101 +1100105,49,13271,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,1327102 +1100105,49,13271,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,1327103 +1100105,49,13272,1,25,1,40,1,1,1,21,-9,4,9211MP,9370.0,1327201 +1100105,49,13272,2,24,1,40,2,1,1,1,-9,4,5416,7390.0,1327202 +1100105,49,13272,3,22,1,40,5,1,1,1,-9,4,5417,7460.0,1327203 +1100105,49,13273,1,24,2,40,1,1,1,1,-9,4,5416,7390.0,1327301 +1100105,49,13273,2,24,2,30,4,6,1,1,-9,4,5417,7460.0,1327302 +1100105,49,13273,3,23,2,45,1,1,1,1,16,4,5418,7470.0,1327303 +1100105,49,13274,1,38,1,45,1,1,1,1,-9,4,5419Z,7490.0,1327401 +1100105,49,13274,2,38,2,40,1,1,1,1,-9,4,928P,9590.0,1327402 +1100105,49,13274,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,1327403 +1100105,49,13275,1,39,2,50,1,1,1,1,-9,4,92M2,9570.0,1327501 +1100105,49,13275,2,37,1,20,5,1,1,1,16,4,611M1,7870.0,1327502 +1100105,49,13275,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1327503 +1100105,49,13276,1,46,1,40,1,1,1,1,-9,4,92M2,9570.0,1327601 +1100105,49,13276,2,43,2,40,1,1,1,1,-9,4,92M2,9570.0,1327602 +1100105,49,13276,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,1327603 +1100105,49,13277,1,27,2,-9,-9,6,1,4,16,4,0,0.0,1327701 +1100105,49,13277,2,32,2,40,1,1,1,1,-9,4,923,9480.0,1327702 +1100105,49,13277,3,25,2,-9,-9,6,2,1,16,4,0,0.0,1327703 +1100105,49,13278,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,1327801 +1100105,49,13278,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,1327802 +1100105,49,13278,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,1327803 +1100105,49,13279,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,1327901 +1100105,49,13279,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,1327902 +1100105,49,13279,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,1327903 +1100105,49,13280,1,35,1,40,1,1,1,1,-9,2,92MP,9470.0,1328001 +1100105,49,13280,2,34,2,-9,-9,6,1,2,-9,4,6111,7860.0,1328002 +1100105,49,13280,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1328003 +1100105,49,13281,1,34,1,60,1,1,1,1,-9,4,92113,9380.0,1328101 +1100105,49,13281,2,33,2,-9,-9,6,1,1,16,4,5413,7290.0,1328102 +1100105,49,13281,3,3,1,-9,-9,-9,1,1,1,-9,0,0.0,1328103 +1100105,49,13282,1,34,1,60,1,1,1,1,-9,4,92113,9380.0,1328201 +1100105,49,13282,2,33,2,-9,-9,6,1,1,16,4,5413,7290.0,1328202 +1100105,49,13282,3,3,1,-9,-9,-9,1,1,1,-9,0,0.0,1328203 +1100105,49,13283,1,34,1,60,1,1,1,1,-9,4,92113,9380.0,1328301 +1100105,49,13283,2,33,2,-9,-9,6,1,1,16,4,5413,7290.0,1328302 +1100105,49,13283,3,3,1,-9,-9,-9,1,1,1,-9,0,0.0,1328303 +1100105,49,13284,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1328401 +1100105,49,13284,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,1328402 +1100105,49,13284,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,1328403 +1100105,49,13285,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1328501 +1100105,49,13285,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,1328502 +1100105,49,13285,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,1328503 +1100105,49,13286,1,27,2,20,1,1,1,1,16,4,923,9480.0,1328601 +1100105,49,13286,2,24,2,-9,-9,6,1,1,15,4,0,0.0,1328602 +1100105,49,13286,3,23,2,20,1,1,1,24,15,4,5415,7380.0,1328603 +1100105,49,13287,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,1328701 +1100105,49,13287,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,1328702 +1100105,49,13287,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,1328703 +1100105,49,13288,1,57,1,-9,-9,6,1,1,-9,4,5411,7270.0,1328801 +1100105,49,13288,2,58,2,-9,-9,6,1,1,-9,4,0,0.0,1328802 +1100105,49,13288,3,30,2,40,1,1,1,1,-9,4,6244,8470.0,1328803 +1100105,49,13289,1,21,1,30,4,1,1,1,15,4,332M,2870.0,1328901 +1100105,49,13289,2,21,1,40,6,1,1,1,15,4,5416,7390.0,1328902 +1100105,49,13289,3,21,1,40,6,1,1,1,15,4,487,6280.0,1328903 +1100105,49,13290,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,1329001 +1100105,49,13290,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,1329002 +1100105,49,13290,3,21,1,15,1,1,1,1,15,4,621M,8180.0,1329003 +1100105,49,13291,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,1329101 +1100105,49,13291,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,1329102 +1100105,49,13291,3,21,1,15,1,1,1,1,15,4,621M,8180.0,1329103 +1100105,49,13292,1,63,2,-9,-9,6,2,1,-9,2,0,0.0,1329201 +1100105,49,13292,2,22,1,30,6,1,2,1,15,4,722Z,8680.0,1329202 +1100105,49,13292,3,19,2,20,6,1,2,1,-9,4,45221,5381.0,1329203 +1100105,49,13293,1,28,1,40,1,1,8,2,-9,4,722Z,8680.0,1329301 +1100105,49,13293,2,2,2,-9,-9,-9,8,2,-9,-9,0,0.0,1329302 +1100105,49,13293,3,20,2,40,1,1,8,2,-9,4,722Z,8680.0,1329303 +1100105,49,13294,1,20,2,10,6,6,1,1,15,4,6244,8470.0,1329401 +1100105,49,13294,2,20,2,20,5,6,6,1,15,4,611M1,7870.0,1329402 +1100105,49,13294,3,20,2,45,1,1,1,1,15,4,9211MP,9370.0,1329403 +1100105,49,13295,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1329501 +1100105,49,13295,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1329502 +1100105,49,13295,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1329503 +1100105,49,13296,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1329601 +1100105,49,13296,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1329602 +1100105,49,13296,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1329603 +1100105,49,13297,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1329701 +1100105,49,13297,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1329702 +1100105,49,13297,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1329703 +1100105,49,13298,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1329801 +1100105,49,13298,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1329802 +1100105,49,13298,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1329803 +1100105,49,13299,1,52,1,40,2,1,2,1,-9,4,6111,7860.0,1329901 +1100105,49,13299,2,18,1,20,6,6,2,1,14,4,6111,7860.0,1329902 +1100105,49,13299,3,51,1,-9,-9,6,2,1,-9,2,23,770.0,1329903 +1100105,49,13300,1,31,2,40,3,1,2,1,-9,4,6111,7860.0,1330001 +1100105,49,13300,2,12,1,-9,-9,-9,2,1,8,-9,0,0.0,1330002 +1100105,49,13300,3,9,2,-9,-9,-9,2,1,6,-9,0,0.0,1330003 +1100105,49,13301,1,36,1,55,1,1,1,1,-9,4,92MP,9470.0,1330101 +1100105,49,13301,2,33,2,40,1,1,1,1,-9,4,6242,8380.0,1330102 +1100105,49,13301,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1330103 +1100105,49,13302,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1330201 +1100105,49,13302,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1330202 +1100105,49,13302,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1330203 +1100105,49,13303,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1330301 +1100105,49,13303,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1330302 +1100105,49,13303,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1330303 +1100105,49,13304,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1330401 +1100105,49,13304,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1330402 +1100105,49,13304,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1330403 +1100105,49,13305,1,65,1,-9,-9,6,6,1,-9,4,623M,8290.0,1330501 +1100105,49,13305,2,55,2,12,3,6,6,1,-9,4,4523,5391.0,1330502 +1100105,49,13305,3,34,2,12,6,3,6,1,-9,4,722Z,8680.0,1330503 +1100105,49,13306,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,1330601 +1100105,49,13306,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,1330602 +1100105,49,13306,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,1330603 +1100105,49,13307,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,1330701 +1100105,49,13307,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,1330702 +1100105,49,13307,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,1330703 +1100105,49,13308,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,1330801 +1100105,49,13308,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,1330802 +1100105,49,13308,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,1330803 +1100105,49,13309,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,1330901 +1100105,49,13309,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,1330902 +1100105,49,13309,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,1330903 +1100105,49,13310,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,1331001 +1100105,49,13310,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,1331002 +1100105,49,13310,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,1331003 +1100105,49,13311,1,31,2,-9,-9,3,2,1,15,4,6216,8170.0,1331101 +1100105,49,13311,2,11,2,-9,-9,-9,2,1,8,-9,0,0.0,1331102 +1100105,49,13311,3,9,2,-9,-9,-9,2,1,6,-9,0,0.0,1331103 +1100105,49,13312,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,1331201 +1100105,49,13312,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,1331202 +1100105,49,13312,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1331203 +1100105,49,13313,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,1331301 +1100105,49,13313,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,1331302 +1100105,49,13313,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1331303 +1100105,49,13314,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,1331401 +1100105,49,13314,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,1331402 +1100105,49,13314,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1331403 +1100105,49,13315,1,89,2,1,6,2,6,1,-9,4,813M,9170.0,1331501 +1100105,49,13315,2,93,1,3,6,2,1,1,-9,2,5416,7390.0,1331502 +1100105,49,13316,1,71,1,20,5,1,1,1,-9,4,5615,7670.0,1331601 +1100105,49,13316,2,68,1,40,1,1,1,1,-9,4,928P,9590.0,1331602 +1100105,49,13317,1,66,1,40,1,1,1,1,-9,4,52M2,6970.0,1331701 +1100105,49,13317,2,60,2,40,1,1,6,1,-9,4,928P,9590.0,1331702 +1100105,49,13318,1,69,1,40,1,1,1,1,-9,4,923,9480.0,1331801 +1100105,49,13318,2,53,2,40,1,1,1,1,-9,4,923,9480.0,1331802 +1100105,49,13319,1,69,1,40,1,1,1,1,-9,4,923,9480.0,1331901 +1100105,49,13319,2,53,2,40,1,1,1,1,-9,4,923,9480.0,1331902 +1100105,49,13320,1,62,1,60,1,1,1,1,-9,4,923,9480.0,1332001 +1100105,49,13320,2,65,1,40,1,1,1,1,-9,4,611M1,7870.0,1332002 +1100105,49,13321,1,81,2,25,1,1,1,1,-9,4,51111,6470.0,1332101 +1100105,49,13321,2,48,2,40,1,1,1,1,-9,4,622M,8191.0,1332102 +1100105,49,13322,1,42,1,45,1,1,9,1,-9,4,5415,7380.0,1332201 +1100105,49,13322,2,59,2,60,1,1,6,1,-9,4,3254,2190.0,1332202 +1100105,49,13323,1,36,1,55,1,1,6,1,-9,4,5415,7380.0,1332301 +1100105,49,13323,2,35,2,60,1,1,6,1,-9,4,92M2,9570.0,1332302 +1100105,49,13324,1,36,1,55,1,1,6,1,-9,4,5415,7380.0,1332401 +1100105,49,13324,2,35,2,60,1,1,6,1,-9,4,92M2,9570.0,1332402 +1100105,49,13325,1,38,2,60,1,1,1,1,-9,4,7111,8561.0,1332501 +1100105,49,13325,2,40,1,40,1,1,9,1,-9,4,7111,8561.0,1332502 +1100105,49,13326,1,44,1,40,6,1,9,1,-9,4,813M,9170.0,1332601 +1100105,49,13326,2,50,1,40,1,1,1,1,-9,4,611M3,7890.0,1332602 +1100105,49,13327,1,44,1,40,6,1,9,1,-9,4,813M,9170.0,1332701 +1100105,49,13327,2,50,1,40,1,1,1,1,-9,4,611M3,7890.0,1332702 +1100105,49,13328,1,37,1,60,1,1,1,1,-9,4,5418,7470.0,1332801 +1100105,49,13328,2,42,1,50,1,1,6,1,-9,4,9211MP,9370.0,1332802 +1100105,49,13329,1,47,1,40,1,1,1,1,-9,4,52M1,6870.0,1332901 +1100105,49,13329,2,52,1,40,1,1,6,1,-9,4,923,9480.0,1332902 +1100105,49,13330,1,47,1,40,1,1,1,1,-9,4,52M1,6870.0,1333001 +1100105,49,13330,2,52,1,40,1,1,6,1,-9,4,923,9480.0,1333002 +1100105,49,13331,1,47,1,40,1,1,1,1,-9,4,52M1,6870.0,1333101 +1100105,49,13331,2,52,1,40,1,1,6,1,-9,4,923,9480.0,1333102 +1100105,49,13332,1,64,1,40,1,1,1,1,-9,4,5412,7280.0,1333201 +1100105,49,13332,2,58,2,40,1,1,1,1,-9,4,5111Z,6480.0,1333202 +1100105,49,13333,1,38,1,40,1,1,1,1,-9,4,92MP,9470.0,1333301 +1100105,49,13333,2,36,2,40,1,1,1,1,-9,4,5413,7290.0,1333302 +1100105,49,13334,1,56,1,52,1,1,1,1,15,2,5416,7390.0,1333401 +1100105,49,13334,2,43,2,52,1,1,1,1,-9,4,813M,9170.0,1333402 +1100105,49,13335,1,50,2,55,1,1,1,1,-9,4,5415,7380.0,1333501 +1100105,49,13335,2,51,1,60,1,1,1,1,-9,4,4539,5580.0,1333502 +1100105,49,13336,1,64,2,28,1,1,1,1,-9,4,928P,9590.0,1333601 +1100105,49,13336,2,56,2,40,1,1,1,1,-9,4,51912,6770.0,1333602 +1100105,49,13337,1,35,2,50,1,1,1,1,-9,4,928P,9590.0,1333701 +1100105,49,13337,2,42,1,80,1,1,1,1,-9,2,813M,9170.0,1333702 +1100105,49,13338,1,44,1,45,1,1,1,1,-9,4,52M2,6970.0,1333801 +1100105,49,13338,2,40,2,50,1,1,1,1,-9,4,8139Z,9190.0,1333802 +1100105,49,13339,1,39,1,40,1,1,1,1,-9,4,92113,9380.0,1333901 +1100105,49,13339,2,38,2,40,1,1,1,1,-9,4,8139Z,9190.0,1333902 +1100105,49,13340,1,37,1,40,3,1,1,1,16,2,7115,8564.0,1334001 +1100105,49,13340,2,36,1,60,1,1,1,1,-9,4,722Z,8680.0,1334002 +1100105,49,13341,1,43,1,50,1,1,1,1,-9,4,813M,9170.0,1334101 +1100105,49,13341,2,44,1,50,1,1,1,1,-9,4,713Z,8590.0,1334102 +1100105,49,13342,1,46,2,40,1,1,1,1,-9,4,5111Z,6480.0,1334201 +1100105,49,13342,2,54,1,60,1,1,1,1,-9,4,4539,5580.0,1334202 +1100105,49,13343,1,54,2,60,1,1,1,1,-9,4,5413,7290.0,1334301 +1100105,49,13343,2,44,1,60,1,1,1,1,-9,4,5413,7290.0,1334302 +1100105,49,13344,1,50,1,40,1,1,1,1,-9,4,9211MP,9370.0,1334401 +1100105,49,13344,2,52,1,45,1,1,1,1,-9,4,92M2,9570.0,1334402 +1100105,49,13345,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,1334501 +1100105,49,13345,2,40,2,40,1,1,1,1,-9,4,5417,7460.0,1334502 +1100105,49,13346,1,44,1,58,1,4,1,1,-9,1,928110P3,9690.0,1334601 +1100105,49,13346,2,46,2,40,1,1,1,1,-9,4,5416,7390.0,1334602 +1100105,49,13347,1,64,2,28,1,1,1,1,-9,4,928P,9590.0,1334701 +1100105,49,13347,2,56,2,40,1,1,1,1,-9,4,51912,6770.0,1334702 +1100105,49,13348,1,41,1,60,1,1,1,1,-9,4,5191ZM,6780.0,1334801 +1100105,49,13348,2,40,2,30,1,1,1,1,-9,4,8122,9080.0,1334802 +1100105,49,13349,1,54,1,60,1,1,1,1,-9,4,8139Z,9190.0,1334901 +1100105,49,13349,2,54,2,15,4,1,1,1,-9,4,6241,8370.0,1334902 +1100105,49,13350,1,53,1,40,1,1,1,1,-9,4,928P,9590.0,1335001 +1100105,49,13350,2,44,2,20,4,1,1,1,16,4,5416,7390.0,1335002 +1100105,49,13351,1,59,1,40,1,1,1,1,-9,2,622M,8191.0,1335101 +1100105,49,13351,2,58,2,45,1,1,1,1,-9,2,611M1,7870.0,1335102 +1100105,49,13352,1,35,1,40,1,1,1,1,-9,4,5411,7270.0,1335201 +1100105,49,13352,2,36,2,50,1,1,1,1,-9,4,5416,7390.0,1335202 +1100105,49,13353,1,38,1,60,1,1,1,1,-9,4,928P,9590.0,1335301 +1100105,49,13353,2,36,2,50,1,1,1,1,-9,4,928P,9590.0,1335302 +1100105,49,13354,1,42,1,40,1,1,1,1,-9,4,6111,7860.0,1335401 +1100105,49,13354,2,36,1,50,1,1,1,1,-9,4,5416,7390.0,1335402 +1100105,49,13355,1,50,2,40,1,1,1,1,-9,4,928P,9590.0,1335501 +1100105,49,13355,2,59,1,40,1,1,1,1,-9,2,923,9480.0,1335502 +1100105,49,13356,1,39,2,52,1,1,1,1,-9,4,813M,9170.0,1335601 +1100105,49,13356,2,50,1,60,1,1,1,1,-9,4,5417,7460.0,1335602 +1100105,49,13357,1,62,1,52,1,1,1,1,-9,2,611M3,7890.0,1335701 +1100105,49,13357,2,62,2,40,1,1,1,1,-9,4,5415,7380.0,1335702 +1100105,49,13358,1,41,1,40,1,1,1,1,-9,4,5411,7270.0,1335801 +1100105,49,13358,2,60,1,40,1,1,1,1,-9,4,928P,9590.0,1335802 +1100105,49,13359,1,41,2,40,1,1,1,1,-9,4,92M2,9570.0,1335901 +1100105,49,13359,2,36,1,40,1,1,1,1,-9,4,923,9480.0,1335902 +1100105,49,13360,1,61,1,40,1,1,1,1,-9,4,611M1,7870.0,1336001 +1100105,49,13360,2,52,2,40,1,1,1,1,-9,4,5242,6992.0,1336002 +1100105,49,13361,1,64,1,40,1,1,1,1,-9,4,5412,7280.0,1336101 +1100105,49,13361,2,58,2,40,1,1,1,1,-9,4,5111Z,6480.0,1336102 +1100105,49,13362,1,44,1,45,1,1,1,1,-9,4,52M2,6970.0,1336201 +1100105,49,13362,2,40,2,50,1,1,1,1,-9,4,8139Z,9190.0,1336202 +1100105,49,13363,1,61,1,40,1,1,1,1,-9,4,611M1,7870.0,1336301 +1100105,49,13363,2,52,2,40,1,1,1,1,-9,4,5242,6992.0,1336302 +1100105,49,13364,1,53,2,36,1,1,1,1,-9,4,6214,8090.0,1336401 +1100105,49,13364,2,54,1,60,1,1,1,1,-9,2,5411,7270.0,1336402 +1100105,49,13365,1,56,1,52,1,1,1,1,15,2,5416,7390.0,1336501 +1100105,49,13365,2,43,2,52,1,1,1,1,-9,4,813M,9170.0,1336502 +1100105,49,13366,1,42,1,55,1,4,1,1,-9,1,928110P3,9690.0,1336601 +1100105,49,13366,2,39,2,55,1,4,1,1,-9,1,928110P3,9690.0,1336602 +1100105,49,13367,1,37,1,50,1,1,1,1,-9,4,531M,7071.0,1336701 +1100105,49,13367,2,36,2,40,1,1,1,1,-9,4,813M,9170.0,1336702 +1100105,49,13368,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,1336801 +1100105,49,13368,2,49,1,40,1,1,1,1,-9,4,5415,7380.0,1336802 +1100105,49,13369,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,1336901 +1100105,49,13369,2,40,2,40,1,1,1,1,-9,4,5417,7460.0,1336902 +1100105,49,13370,1,50,2,50,1,1,1,1,-9,4,92MP,9470.0,1337001 +1100105,49,13370,2,51,1,60,1,1,1,1,-9,4,5411,7270.0,1337002 +1100105,49,13371,1,56,1,52,1,1,1,1,15,2,5416,7390.0,1337101 +1100105,49,13371,2,43,2,52,1,1,1,1,-9,4,813M,9170.0,1337102 +1100105,49,13372,1,46,1,60,1,1,1,1,-9,4,424M,4380.0,1337201 +1100105,49,13372,2,50,1,40,1,1,1,1,15,4,5313,7072.0,1337202 +1100105,49,13373,1,35,2,50,1,1,1,1,-9,4,928P,9590.0,1337301 +1100105,49,13373,2,42,1,80,1,1,1,1,-9,2,813M,9170.0,1337302 +1100105,49,13374,1,52,1,45,2,1,1,1,-9,4,5418,7470.0,1337401 +1100105,49,13374,2,52,1,65,1,1,1,1,-9,4,5415,7380.0,1337402 +1100105,49,13375,1,38,1,40,1,1,1,1,-9,4,92113,9380.0,1337501 +1100105,49,13375,2,38,1,50,1,1,8,3,-9,4,6214,8090.0,1337502 +1100105,49,13376,1,38,1,40,1,1,1,1,-9,4,92113,9380.0,1337601 +1100105,49,13376,2,38,1,50,1,1,8,3,-9,4,6214,8090.0,1337602 +1100105,49,13377,1,60,2,40,1,1,1,1,-9,4,5411,7270.0,1337701 +1100105,49,13377,2,54,2,35,3,1,9,19,-9,4,6111,7860.0,1337702 +1100105,49,13378,1,43,1,45,1,1,1,1,-9,4,92M2,9570.0,1337801 +1100105,49,13378,2,42,2,40,1,1,1,3,-9,4,3345,3380.0,1337802 +1100105,49,13379,1,39,2,40,1,1,1,1,-9,4,813M,9170.0,1337901 +1100105,49,13379,2,39,2,40,1,1,1,24,-9,4,813M,9170.0,1337902 +1100105,49,13380,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,1338001 +1100105,49,13380,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,1338002 +1100105,49,13381,1,66,1,40,1,1,1,1,-9,4,5417,7460.0,1338101 +1100105,49,13381,2,31,2,40,1,1,1,1,-9,4,5413,7290.0,1338102 +1100105,49,13382,1,37,1,40,1,1,9,1,-9,4,5416,7390.0,1338201 +1100105,49,13382,2,34,2,55,3,1,1,1,-9,4,5418,7470.0,1338202 +1100105,49,13383,1,40,1,65,1,1,9,1,-9,4,5419Z,7490.0,1338301 +1100105,49,13383,2,29,2,52,1,1,1,1,-9,4,928P,9590.0,1338302 +1100105,49,13384,1,39,1,40,1,1,1,1,-9,4,92119,9390.0,1338401 +1100105,49,13384,2,29,1,40,1,1,6,1,-9,4,5415,7380.0,1338402 +1100105,49,13385,1,35,1,55,1,1,1,1,-9,4,5415,7380.0,1338501 +1100105,49,13385,2,28,2,40,1,1,1,1,-9,4,5415,7380.0,1338502 +1100105,49,13386,1,40,1,40,1,1,1,1,-9,4,5415,7380.0,1338601 +1100105,49,13386,2,31,1,40,1,1,1,1,-9,4,55,7570.0,1338602 +1100105,49,13387,1,38,2,40,1,1,1,1,-9,4,923,9480.0,1338701 +1100105,49,13387,2,33,1,40,1,1,1,1,-9,4,5416,7390.0,1338702 +1100105,49,13388,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,1338801 +1100105,49,13388,2,32,2,50,4,1,1,1,-9,4,8139Z,9190.0,1338802 +1100105,49,13389,1,35,1,85,1,1,1,1,-9,4,5411,7270.0,1338901 +1100105,49,13389,2,34,2,50,1,1,1,1,-9,4,3254,2190.0,1338902 +1100105,49,13390,1,33,2,50,1,1,1,1,-9,4,5417,7460.0,1339001 +1100105,49,13390,2,35,1,40,1,1,1,1,-9,4,5416,7390.0,1339002 +1100105,49,13391,1,38,2,40,1,1,1,1,-9,4,923,9480.0,1339101 +1100105,49,13391,2,33,1,40,1,1,1,1,-9,4,5416,7390.0,1339102 +1100105,49,13392,1,35,1,55,1,1,1,1,-9,4,8139Z,9190.0,1339201 +1100105,49,13392,2,34,1,50,1,1,1,1,-9,4,8139Z,9190.0,1339202 +1100105,49,13393,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,1339301 +1100105,49,13393,2,32,2,50,4,1,1,1,-9,4,8139Z,9190.0,1339302 +1100105,49,13394,1,36,1,37,1,1,1,1,-9,4,5411,7270.0,1339401 +1100105,49,13394,2,33,2,70,1,1,1,1,-9,4,51111,6470.0,1339402 +1100105,49,13395,1,38,1,60,1,1,1,1,-9,4,923,9480.0,1339501 +1100105,49,13395,2,31,1,60,1,1,1,1,-9,4,5416,7390.0,1339502 +1100105,49,13396,1,33,2,50,1,1,1,1,-9,4,5417,7460.0,1339601 +1100105,49,13396,2,35,1,40,1,1,1,1,-9,4,5416,7390.0,1339602 +1100105,49,13397,1,36,1,45,1,1,1,1,-9,4,928P,9590.0,1339701 +1100105,49,13397,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,1339702 +1100105,49,13398,1,35,1,40,1,1,1,1,-9,4,92113,9380.0,1339801 +1100105,49,13398,2,32,2,40,1,1,1,1,-9,4,5411,7270.0,1339802 +1100105,49,13399,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,1339901 +1100105,49,13399,2,32,2,50,4,1,1,1,-9,4,8139Z,9190.0,1339902 +1100105,49,13400,1,36,1,45,1,1,1,1,-9,4,928P,9590.0,1340001 +1100105,49,13400,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,1340002 +1100105,49,13401,1,46,1,60,1,1,1,1,-9,4,5411,7270.0,1340101 +1100105,49,13401,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,1340102 +1100105,49,13402,1,35,1,40,1,1,1,1,-9,4,92113,9380.0,1340201 +1100105,49,13402,2,32,2,40,1,1,1,1,-9,4,5411,7270.0,1340202 +1100105,49,13403,1,35,1,65,1,1,1,1,-9,4,5411,7270.0,1340301 +1100105,49,13403,2,33,1,40,1,1,1,1,-9,4,5112,6490.0,1340302 +1100105,49,13404,1,34,1,40,1,1,1,2,-9,2,928P,9590.0,1340401 +1100105,49,13404,2,38,2,40,1,1,1,1,-9,4,92MP,9470.0,1340402 +1100105,49,13405,1,39,1,40,1,1,1,6,-9,4,622M,8191.0,1340501 +1100105,49,13405,2,30,2,40,6,1,1,1,16,4,622M,8191.0,1340502 +1100105,49,13406,1,34,1,40,1,1,1,2,-9,2,928P,9590.0,1340601 +1100105,49,13406,2,38,2,40,1,1,1,1,-9,4,92MP,9470.0,1340602 +1100105,49,13407,1,30,1,50,1,1,6,1,-9,4,5411,7270.0,1340701 +1100105,49,13407,2,27,2,50,1,1,6,1,-9,4,5411,7270.0,1340702 +1100105,49,13408,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,1340801 +1100105,49,13408,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,1340802 +1100105,49,13409,1,30,1,45,1,1,9,1,-9,4,611M3,7890.0,1340901 +1100105,49,13409,2,29,2,45,1,1,1,1,-9,4,5413,7290.0,1340902 +1100105,49,13410,1,26,1,65,1,1,1,1,-9,4,52M2,6970.0,1341001 +1100105,49,13410,2,25,2,65,1,1,6,1,-9,4,6214,8090.0,1341002 +1100105,49,13411,1,30,1,50,1,1,1,1,-9,4,531M,7071.0,1341101 +1100105,49,13411,2,32,2,44,1,1,6,1,-9,4,6111,7860.0,1341102 +1100105,49,13412,1,31,2,40,1,1,1,1,-9,4,8139Z,9190.0,1341201 +1100105,49,13412,2,31,1,40,2,1,6,1,-9,4,5418,7470.0,1341202 +1100105,49,13413,1,28,1,60,1,1,1,1,-9,4,211,370.0,1341301 +1100105,49,13413,2,27,2,50,1,1,6,1,-9,4,92M2,9570.0,1341302 +1100105,49,13414,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,1341401 +1100105,49,13414,2,32,1,50,1,1,1,1,-9,4,4481,5170.0,1341402 +1100105,49,13415,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,1341501 +1100105,49,13415,2,32,1,60,1,1,1,1,-9,4,5411,7270.0,1341502 +1100105,49,13416,1,31,2,55,1,1,1,1,-9,4,5417,7460.0,1341601 +1100105,49,13416,2,31,1,50,1,1,1,1,-9,4,928P,9590.0,1341602 +1100105,49,13417,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,1341701 +1100105,49,13417,2,33,1,40,1,1,1,1,-9,4,5411,7270.0,1341702 +1100105,49,13418,1,31,1,45,1,1,1,1,-9,4,52M2,6970.0,1341801 +1100105,49,13418,2,30,2,45,1,1,1,1,-9,4,454110,5593.0,1341802 +1100105,49,13419,1,34,1,20,1,1,1,1,-9,4,611M3,7890.0,1341901 +1100105,49,13419,2,33,2,50,1,1,1,1,-9,4,6111,7860.0,1341902 +1100105,49,13420,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,1342001 +1100105,49,13420,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1342002 +1100105,49,13421,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,1342101 +1100105,49,13421,2,30,2,60,1,1,1,1,-9,4,5411,7270.0,1342102 +1100105,49,13422,1,31,1,70,1,1,1,1,-9,4,3345,3380.0,1342201 +1100105,49,13422,2,30,2,55,1,1,1,1,16,4,622M,8191.0,1342202 +1100105,49,13423,1,27,1,60,1,1,1,1,-9,4,9211MP,9370.0,1342301 +1100105,49,13423,2,26,2,40,1,1,1,1,-9,4,481,6070.0,1342302 +1100105,49,13424,1,30,1,65,1,1,1,1,-9,4,5411,7270.0,1342401 +1100105,49,13424,2,31,2,65,1,1,1,1,-9,4,5416,7390.0,1342402 +1100105,49,13425,1,30,1,50,1,1,1,1,-9,4,5411,7270.0,1342501 +1100105,49,13425,2,31,1,40,1,1,1,1,-9,4,5415,7380.0,1342502 +1100105,49,13426,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1342601 +1100105,49,13426,2,34,2,50,1,1,1,1,-9,4,928P,9590.0,1342602 +1100105,49,13427,1,28,1,43,1,1,1,1,-9,4,5419Z,7490.0,1342701 +1100105,49,13427,2,28,2,60,1,1,1,1,-9,4,5411,7270.0,1342702 +1100105,49,13428,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,1342801 +1100105,49,13428,2,32,2,24,1,1,1,1,-9,4,6213ZM,8080.0,1342802 +1100105,49,13429,1,29,1,60,1,1,1,1,-9,4,813M,9170.0,1342901 +1100105,49,13429,2,27,2,50,1,1,1,1,-9,4,611M1,7870.0,1342902 +1100105,49,13430,1,27,2,65,3,1,1,1,-9,4,5411,7270.0,1343001 +1100105,49,13430,2,27,1,50,1,1,1,1,-9,4,5416,7390.0,1343002 +1100105,49,13431,1,33,1,40,1,1,1,1,-9,4,443142,4795.0,1343101 +1100105,49,13431,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,1343102 +1100105,49,13432,1,33,2,40,1,1,1,1,-9,4,92M2,9570.0,1343201 +1100105,49,13432,2,33,1,40,1,1,1,1,-9,4,52M2,6970.0,1343202 +1100105,49,13433,1,33,2,40,1,1,1,1,-9,4,622M,8191.0,1343301 +1100105,49,13433,2,32,1,80,1,1,1,1,-9,4,7211,8660.0,1343302 +1100105,49,13434,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,1343401 +1100105,49,13434,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,1343402 +1100105,49,13435,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,1343501 +1100105,49,13435,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,1343502 +1100105,49,13436,1,33,2,46,1,1,1,1,-9,4,5416,7390.0,1343601 +1100105,49,13436,2,34,1,48,1,1,1,1,-9,4,928P,9590.0,1343602 +1100105,49,13437,1,31,1,45,1,1,1,1,-9,4,52M2,6970.0,1343701 +1100105,49,13437,2,30,2,45,1,1,1,1,-9,4,454110,5593.0,1343702 +1100105,49,13438,1,33,2,40,1,1,1,1,-9,4,622M,8191.0,1343801 +1100105,49,13438,2,32,1,80,1,1,1,1,-9,4,7211,8660.0,1343802 +1100105,49,13439,1,34,1,50,1,1,1,1,-9,4,5411,7270.0,1343901 +1100105,49,13439,2,33,2,40,1,1,1,1,-9,4,5416,7390.0,1343902 +1100105,49,13440,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,1344001 +1100105,49,13440,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,1344002 +1100105,49,13441,1,25,2,50,1,1,1,1,-9,4,6111,7860.0,1344101 +1100105,49,13441,2,31,1,50,1,1,1,1,-9,4,92113,9380.0,1344102 +1100105,49,13442,1,28,1,60,1,1,1,1,-9,4,5411,7270.0,1344201 +1100105,49,13442,2,29,2,70,1,1,1,1,-9,4,9211MP,9370.0,1344202 +1100105,49,13443,1,32,1,50,1,1,1,1,-9,4,621M,8180.0,1344301 +1100105,49,13443,2,31,2,60,1,1,1,1,-9,4,5416,7390.0,1344302 +1100105,49,13444,1,34,1,60,1,1,1,1,-9,4,928P,9590.0,1344401 +1100105,49,13444,2,27,1,60,1,1,1,1,-9,4,92MP,9470.0,1344402 +1100105,49,13445,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,1344501 +1100105,49,13445,2,29,2,40,1,1,1,1,-9,4,5413,7290.0,1344502 +1100105,49,13446,1,29,1,70,1,1,1,1,-9,4,51111,6470.0,1344601 +1100105,49,13446,2,25,1,60,1,1,1,1,16,4,9211MP,9370.0,1344602 +1100105,49,13447,1,33,1,40,1,1,1,1,-9,4,92113,9380.0,1344701 +1100105,49,13447,2,33,2,50,1,1,1,1,-9,4,923,9480.0,1344702 +1100105,49,13448,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,1344801 +1100105,49,13448,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,1344802 +1100105,49,13449,1,30,1,55,1,1,1,1,-9,4,5411,7270.0,1344901 +1100105,49,13449,2,28,2,55,1,1,1,1,-9,4,4234,4170.0,1344902 +1100105,49,13450,1,30,2,50,1,1,1,1,-9,4,5419Z,7490.0,1345001 +1100105,49,13450,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1345002 +1100105,49,13451,1,27,2,50,1,1,1,1,-9,4,5411,7270.0,1345101 +1100105,49,13451,2,27,1,50,1,1,1,1,-9,4,5411,7270.0,1345102 +1100105,49,13452,1,31,1,50,1,1,1,1,-9,4,5411,7270.0,1345201 +1100105,49,13452,2,29,2,45,1,1,1,1,-9,4,5411,7270.0,1345202 +1100105,49,13453,1,33,2,46,1,1,1,1,-9,4,5416,7390.0,1345301 +1100105,49,13453,2,34,1,48,1,1,1,1,-9,4,928P,9590.0,1345302 +1100105,49,13454,1,31,2,55,1,1,1,1,-9,4,5411,7270.0,1345401 +1100105,49,13454,2,32,1,40,1,1,1,1,-9,4,923,9480.0,1345402 +1100105,49,13455,1,30,2,50,1,1,1,1,-9,4,52M2,6970.0,1345501 +1100105,49,13455,2,32,1,55,1,1,1,1,-9,4,5411,7270.0,1345502 +1100105,49,13456,1,34,1,65,1,1,1,1,-9,4,5416,7390.0,1345601 +1100105,49,13456,2,34,2,45,1,1,1,1,-9,4,92MP,9470.0,1345602 +1100105,49,13457,1,33,1,40,1,1,1,1,-9,4,2212P,580.0,1345701 +1100105,49,13457,2,32,2,40,1,1,1,1,-9,4,5416,7390.0,1345702 +1100105,49,13458,1,29,2,50,1,1,1,1,-9,4,9211MP,9370.0,1345801 +1100105,49,13458,2,32,1,70,1,1,1,1,-9,4,5411,7270.0,1345802 +1100105,49,13459,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,1345901 +1100105,49,13459,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,1345902 +1100105,49,13460,1,33,1,40,1,1,1,1,-9,4,2212P,580.0,1346001 +1100105,49,13460,2,32,2,40,1,1,1,1,-9,4,5416,7390.0,1346002 +1100105,49,13461,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,1346101 +1100105,49,13461,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,1346102 +1100105,49,13462,1,32,1,43,1,1,1,13,-9,4,23,770.0,1346201 +1100105,49,13462,2,31,2,55,1,1,1,1,-9,4,5411,7270.0,1346202 +1100105,49,13463,1,80,1,30,1,6,1,1,-9,2,23,770.0,1346301 +1100105,49,13463,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1346302 +1100105,49,13464,1,79,1,50,1,1,1,1,-9,2,5241,6991.0,1346401 +1100105,49,13464,2,79,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1346402 +1100105,49,13465,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1346501 +1100105,49,13465,2,67,2,50,1,1,1,1,-9,4,5413,7290.0,1346502 +1100105,49,13466,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1346601 +1100105,49,13466,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,1346602 +1100105,49,13467,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1346701 +1100105,49,13467,2,67,2,50,1,1,1,1,-9,4,5413,7290.0,1346702 +1100105,49,13468,1,80,1,30,1,6,1,1,-9,2,23,770.0,1346801 +1100105,49,13468,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1346802 +1100105,49,13469,1,74,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1346901 +1100105,49,13469,2,61,1,60,1,1,6,1,-9,4,813M,9170.0,1346902 +1100105,49,13470,1,67,1,16,6,6,2,1,-9,4,5416,7390.0,1347001 +1100105,49,13470,2,50,2,5,6,1,1,1,-9,4,5416,7390.0,1347002 +1100105,49,13471,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1347101 +1100105,49,13471,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,1347102 +1100105,49,13472,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1347201 +1100105,49,13472,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1347202 +1100105,49,13473,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,1347301 +1100105,49,13473,2,67,1,50,1,1,1,1,-9,4,5411,7270.0,1347302 +1100105,49,13474,1,67,2,15,5,6,1,1,-9,4,5416,7390.0,1347401 +1100105,49,13474,2,60,1,55,1,1,1,1,-9,4,6241,8370.0,1347402 +1100105,49,13475,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1347501 +1100105,49,13475,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1347502 +1100105,49,13476,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1347601 +1100105,49,13476,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,1347602 +1100105,49,13477,1,67,2,15,5,6,1,1,-9,4,5416,7390.0,1347701 +1100105,49,13477,2,60,1,55,1,1,1,1,-9,4,6241,8370.0,1347702 +1100105,49,13478,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1347801 +1100105,49,13478,2,55,2,40,1,1,1,1,-9,4,92M2,9570.0,1347802 +1100105,49,13479,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1347901 +1100105,49,13479,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1347902 +1100105,49,13480,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,1348001 +1100105,49,13480,2,67,1,50,1,1,1,1,-9,4,5411,7270.0,1348002 +1100105,49,13481,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1348101 +1100105,49,13481,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,1348102 +1100105,49,13482,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,1348201 +1100105,49,13482,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,1348202 +1100105,49,13483,1,58,1,50,1,1,6,1,-9,4,5417,7460.0,1348301 +1100105,49,13483,2,57,2,40,3,6,6,1,-9,4,611M1,7870.0,1348302 +1100105,49,13484,1,37,1,91,3,3,2,1,-9,4,8139Z,9190.0,1348401 +1100105,49,13484,2,36,2,50,1,1,1,1,-9,4,5417,7460.0,1348402 +1100105,49,13485,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,1348501 +1100105,49,13485,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,1348502 +1100105,49,13486,1,40,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1348601 +1100105,49,13486,2,49,1,45,1,1,1,1,-9,4,5417,7460.0,1348602 +1100105,49,13487,1,52,2,48,1,1,1,1,-9,2,5411,7270.0,1348701 +1100105,49,13487,2,63,1,40,6,6,1,1,-9,2,92113,9380.0,1348702 +1100105,49,13488,1,39,1,40,1,1,1,1,-9,4,5416,7390.0,1348801 +1100105,49,13488,2,36,2,40,3,3,1,1,-9,4,5416,7390.0,1348802 +1100105,49,13489,1,54,2,40,6,6,1,1,-9,4,5411,7270.0,1348901 +1100105,49,13489,2,54,1,60,1,1,1,1,-9,4,5412,7280.0,1348902 +1100105,49,13490,1,57,1,50,3,3,1,1,-9,4,8139Z,9190.0,1349001 +1100105,49,13490,2,51,1,40,1,1,1,1,-9,4,8131,9160.0,1349002 +1100105,49,13491,1,55,1,45,1,1,1,1,-9,4,722Z,8680.0,1349101 +1100105,49,13491,2,56,2,-9,-9,6,1,1,-9,4,0,0.0,1349102 +1100105,49,13492,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,1349201 +1100105,49,13492,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,1349202 +1100105,49,13493,1,54,2,40,6,6,1,1,-9,4,5411,7270.0,1349301 +1100105,49,13493,2,54,1,60,1,1,1,1,-9,4,5412,7280.0,1349302 +1100105,49,13494,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,1349401 +1100105,49,13494,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,1349402 +1100105,49,13495,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,1349501 +1100105,49,13495,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,1349502 +1100105,49,13496,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,1349601 +1100105,49,13496,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,1349602 +1100105,49,13497,1,62,1,40,1,1,1,1,-9,4,5411,7270.0,1349701 +1100105,49,13497,2,55,2,-9,-9,6,1,1,-9,4,0,0.0,1349702 +1100105,49,13498,1,42,1,-9,-9,6,1,6,-9,4,0,0.0,1349801 +1100105,49,13498,2,52,1,40,1,1,1,1,-9,2,622M,8191.0,1349802 +1100105,49,13499,1,59,1,-9,-9,6,1,1,-9,4,92M2,9570.0,1349901 +1100105,49,13499,2,56,1,40,1,1,1,3,-9,4,33641M1,3580.0,1349902 +1100105,49,13500,1,57,1,45,1,1,1,14,-9,4,7211,8660.0,1350001 +1100105,49,13500,2,57,2,-9,-9,6,1,14,-9,4,0,0.0,1350002 +1100105,49,13501,1,34,1,60,1,1,1,1,-9,4,5416,7390.0,1350101 +1100105,49,13501,2,31,2,60,3,3,1,1,-9,4,813M,9170.0,1350102 +1100105,49,13502,1,87,1,-9,-9,6,2,1,-9,2,0,0.0,1350201 +1100105,49,13502,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,1350202 +1100105,49,13503,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1350301 +1100105,49,13503,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,1350302 +1100105,49,13504,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1350401 +1100105,49,13504,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1350402 +1100105,49,13505,1,86,1,-9,-9,6,1,1,-9,2,0,0.0,1350501 +1100105,49,13505,2,79,2,4,6,6,1,1,-9,4,7111,8561.0,1350502 +1100105,49,13506,1,86,1,-9,-9,6,1,1,-9,2,0,0.0,1350601 +1100105,49,13506,2,79,2,4,6,6,1,1,-9,4,7111,8561.0,1350602 +1100105,49,13507,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1350701 +1100105,49,13507,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,1350702 +1100105,49,13508,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1350801 +1100105,49,13508,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1350802 +1100105,49,13509,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1350901 +1100105,49,13509,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1350902 +1100105,49,13510,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1351001 +1100105,49,13510,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1351002 +1100105,49,13511,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1351101 +1100105,49,13511,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1351102 +1100105,49,13512,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1351201 +1100105,49,13512,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1351202 +1100105,49,13513,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,1351301 +1100105,49,13513,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,1351302 +1100105,49,13514,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1351401 +1100105,49,13514,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1351402 +1100105,49,13515,1,63,1,4,6,6,1,1,-9,4,928P,9590.0,1351501 +1100105,49,13515,2,63,2,-9,-9,6,1,1,-9,4,0,0.0,1351502 +1100105,49,13516,1,74,1,60,1,1,8,11,-9,4,23,770.0,1351601 +1100105,49,13516,2,70,2,20,3,1,8,11,-9,4,5617Z,7690.0,1351602 +1100105,49,13517,1,52,1,40,3,1,1,1,16,4,6111,7860.0,1351701 +1100105,49,13517,2,47,1,40,1,1,8,1,-9,4,5413,7290.0,1351702 +1100105,49,13518,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,1351801 +1100105,49,13518,2,35,2,40,1,1,6,1,16,4,5417,7460.0,1351802 +1100105,49,13519,1,37,1,40,1,1,6,1,16,4,81393,9180.0,1351901 +1100105,49,13519,2,53,1,40,1,1,1,1,-9,4,52M2,6970.0,1351902 +1100105,49,13520,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,1352001 +1100105,49,13520,2,35,2,40,1,1,6,1,16,4,5417,7460.0,1352002 +1100105,49,13521,1,51,1,50,1,1,1,1,-9,4,4453,4990.0,1352101 +1100105,49,13521,2,48,1,40,1,1,1,1,-9,4,531M,7071.0,1352102 +1100105,49,13522,1,41,2,45,1,1,1,1,-9,4,6244,8470.0,1352201 +1100105,49,13522,2,41,1,40,1,1,1,1,-9,2,92MP,9470.0,1352202 +1100105,49,13523,1,37,1,45,1,1,1,1,-9,4,928P,9590.0,1352301 +1100105,49,13523,2,37,2,50,3,1,1,1,-9,4,928P,9590.0,1352302 +1100105,49,13524,1,52,1,50,1,1,1,1,-9,4,44511,4971.0,1352401 +1100105,49,13524,2,45,1,40,1,1,1,1,-9,4,92MP,9470.0,1352402 +1100105,49,13525,1,52,1,50,1,1,1,1,-9,4,44511,4971.0,1352501 +1100105,49,13525,2,45,1,40,1,1,1,1,-9,4,92MP,9470.0,1352502 +1100105,49,13526,1,57,1,35,1,1,1,1,-9,4,5416,7390.0,1352601 +1100105,49,13526,2,57,2,40,4,1,1,1,-9,4,611M1,7870.0,1352602 +1100105,49,13527,1,35,1,45,1,1,1,1,-9,4,92M2,9570.0,1352701 +1100105,49,13527,2,35,2,45,1,1,1,1,-9,4,813M,9170.0,1352702 +1100105,49,13528,1,64,2,40,1,1,1,1,-9,4,6111,7860.0,1352801 +1100105,49,13528,2,61,1,45,1,1,1,1,-9,4,5416,7390.0,1352802 +1100105,49,13529,1,35,1,40,1,1,2,3,-9,4,55,7570.0,1352901 +1100105,49,13529,2,35,2,45,1,1,1,1,-9,4,5416,7390.0,1352902 +1100105,49,13530,1,73,2,25,1,1,1,1,-9,4,52M2,6970.0,1353001 +1100105,49,13530,2,31,1,16,1,1,1,1,-9,4,7111,8561.0,1353002 +1100105,49,13531,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,1353101 +1100105,49,13531,2,35,1,60,1,1,6,1,-9,4,92MP,9470.0,1353102 +1100105,49,13532,1,34,2,50,1,1,1,1,-9,4,813M,9170.0,1353201 +1100105,49,13532,2,37,1,40,1,1,9,1,-9,4,5417,7460.0,1353202 +1100105,49,13533,1,35,1,55,1,1,9,1,-9,4,5416,7390.0,1353301 +1100105,49,13533,2,28,2,60,1,1,1,1,16,4,5416,7390.0,1353302 +1100105,49,13534,1,30,2,40,1,1,6,1,-9,4,6111,7860.0,1353401 +1100105,49,13534,2,41,1,40,1,1,1,1,-9,4,517Z,6690.0,1353402 +1100105,49,13535,1,36,1,50,1,1,6,1,-9,4,611M1,7870.0,1353501 +1100105,49,13535,2,30,2,50,1,1,1,1,-9,4,928P,9590.0,1353502 +1100105,49,13536,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,1353601 +1100105,49,13536,2,23,2,40,1,1,1,1,-9,4,5417,7460.0,1353602 +1100105,49,13537,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,1353701 +1100105,49,13537,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,1353702 +1100105,49,13538,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,1353801 +1100105,49,13538,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,1353802 +1100105,49,13539,1,35,1,55,1,1,1,1,-9,4,531M,7071.0,1353901 +1100105,49,13539,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,1353902 +1100105,49,13540,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,1354001 +1100105,49,13540,2,23,2,40,1,1,1,1,-9,4,5417,7460.0,1354002 +1100105,49,13541,1,34,1,40,1,1,8,2,-9,4,5413,7290.0,1354101 +1100105,49,13541,2,38,1,40,1,1,1,1,-9,4,923,9480.0,1354102 +1100105,49,13542,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,1354201 +1100105,49,13542,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,1354202 +1100105,49,13543,1,44,1,40,1,4,1,3,16,1,928110P3,9690.0,1354301 +1100105,49,13543,2,33,1,60,1,1,1,21,-9,4,492,6380.0,1354302 +1100105,49,13544,1,26,1,40,1,1,6,1,-9,4,923,9480.0,1354401 +1100105,49,13544,2,27,1,40,1,1,6,1,-9,4,52M1,6870.0,1354402 +1100105,49,13545,1,27,1,40,1,1,1,1,-9,4,9211MP,9370.0,1354501 +1100105,49,13545,2,27,1,50,1,1,9,1,-9,4,5415,7380.0,1354502 +1100105,49,13546,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,1354601 +1100105,49,13546,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,1354602 +1100105,49,13547,1,32,1,41,1,1,1,1,-9,4,5121,6570.0,1354701 +1100105,49,13547,2,32,2,42,1,1,6,1,-9,4,515,6670.0,1354702 +1100105,49,13548,1,25,1,40,1,1,1,1,-9,4,5416,7390.0,1354801 +1100105,49,13548,2,26,1,50,1,1,6,1,-9,4,5416,7390.0,1354802 +1100105,49,13549,1,25,2,40,1,1,6,1,-9,4,92113,9380.0,1354901 +1100105,49,13549,2,25,1,40,1,1,1,1,-9,4,336M,3570.0,1354902 +1100105,49,13550,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,1355001 +1100105,49,13550,2,27,2,40,1,1,1,1,-9,4,5415,7380.0,1355002 +1100105,49,13551,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1355101 +1100105,49,13551,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1355102 +1100105,49,13552,1,30,2,50,1,1,1,1,-9,4,6241,8370.0,1355201 +1100105,49,13552,2,29,1,45,1,1,1,1,-9,4,5415,7380.0,1355202 +1100105,49,13553,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,1355301 +1100105,49,13553,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,1355302 +1100105,49,13554,1,28,1,40,1,1,1,1,-9,4,531M,7071.0,1355401 +1100105,49,13554,2,27,2,40,1,1,1,1,-9,4,722Z,8680.0,1355402 +1100105,49,13555,1,26,2,45,1,1,1,1,-9,4,522M,6890.0,1355501 +1100105,49,13555,2,30,1,50,1,1,1,1,16,4,5242,6992.0,1355502 +1100105,49,13556,1,32,1,50,1,1,1,1,-9,4,92MP,9470.0,1355601 +1100105,49,13556,2,28,1,40,1,1,1,1,-9,4,522M,6890.0,1355602 +1100105,49,13557,1,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,1355701 +1100105,49,13557,2,30,1,50,1,1,1,1,-9,4,531M,7071.0,1355702 +1100105,49,13558,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,1355801 +1100105,49,13558,2,32,1,40,1,1,1,1,-9,4,5416,7390.0,1355802 +1100105,49,13559,1,23,1,45,1,1,1,1,-9,4,5418,7470.0,1355901 +1100105,49,13559,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,1355902 +1100105,49,13560,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,1356001 +1100105,49,13560,2,31,2,40,1,1,1,1,-9,4,923,9480.0,1356002 +1100105,49,13561,1,32,2,45,1,1,1,1,-9,4,713Z,8590.0,1356101 +1100105,49,13561,2,34,1,67,1,1,1,1,-9,4,928P,9590.0,1356102 +1100105,49,13562,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,1356201 +1100105,49,13562,2,31,2,40,1,1,1,1,-9,4,92M2,9570.0,1356202 +1100105,49,13563,1,30,2,50,1,1,1,1,-9,4,6241,8370.0,1356301 +1100105,49,13563,2,29,1,45,1,1,1,1,-9,4,5415,7380.0,1356302 +1100105,49,13564,1,33,1,45,1,1,1,1,-9,4,5416,7390.0,1356401 +1100105,49,13564,2,34,2,50,1,1,1,1,-9,4,813M,9170.0,1356402 +1100105,49,13565,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1356501 +1100105,49,13565,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1356502 +1100105,49,13566,1,33,2,40,1,1,1,1,-9,4,8139Z,9190.0,1356601 +1100105,49,13566,2,32,1,40,1,1,1,1,-9,4,6241,8370.0,1356602 +1100105,49,13567,1,29,1,50,1,1,1,1,-9,4,5415,7380.0,1356701 +1100105,49,13567,2,27,2,40,1,1,1,1,16,4,5416,7390.0,1356702 +1100105,49,13568,1,32,2,50,1,1,1,1,-9,4,5412,7280.0,1356801 +1100105,49,13568,2,30,1,40,1,1,1,1,-9,2,5416,7390.0,1356802 +1100105,49,13569,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,1356901 +1100105,49,13569,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,1356902 +1100105,49,13570,1,33,1,50,1,1,1,1,-9,4,454110,5593.0,1357001 +1100105,49,13570,2,32,2,45,1,1,1,1,-9,4,6241,8370.0,1357002 +1100105,49,13571,1,31,1,50,1,1,1,1,-9,4,5415,7380.0,1357101 +1100105,49,13571,2,30,2,40,1,1,1,1,-9,4,561M,7780.0,1357102 +1100105,49,13572,1,26,2,55,1,1,1,1,-9,4,5412,7280.0,1357201 +1100105,49,13572,2,26,1,65,1,1,1,1,16,4,531M,7071.0,1357202 +1100105,49,13573,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1357301 +1100105,49,13573,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1357302 +1100105,49,13574,1,26,1,56,1,1,1,1,-9,4,491,6370.0,1357401 +1100105,49,13574,2,27,2,50,1,1,1,1,-9,4,5416,7390.0,1357402 +1100105,49,13575,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,1357501 +1100105,49,13575,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,1357502 +1100105,49,13576,1,32,1,40,1,1,1,1,15,4,5415,7380.0,1357601 +1100105,49,13576,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,1357602 +1100105,49,13577,1,31,2,50,1,1,1,1,16,4,5413,7290.0,1357701 +1100105,49,13577,2,31,1,60,1,1,1,1,-9,4,5413,7290.0,1357702 +1100105,49,13578,1,30,1,50,1,1,1,1,-9,4,4237,4265.0,1357801 +1100105,49,13578,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,1357802 +1100105,49,13579,1,31,2,50,1,1,1,1,16,4,5413,7290.0,1357901 +1100105,49,13579,2,31,1,60,1,1,1,1,-9,4,5413,7290.0,1357902 +1100105,49,13580,1,29,1,40,1,1,1,1,16,4,6111,7860.0,1358001 +1100105,49,13580,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,1358002 +1100105,49,13581,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,1358101 +1100105,49,13581,2,32,1,40,1,1,1,1,-9,4,9211MP,9370.0,1358102 +1100105,49,13582,1,32,1,40,1,1,1,1,15,4,5415,7380.0,1358201 +1100105,49,13582,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,1358202 +1100105,49,13583,1,28,2,43,1,1,1,1,-9,4,928P,9590.0,1358301 +1100105,49,13583,2,28,1,50,1,1,1,1,-9,4,9211MP,9370.0,1358302 +1100105,49,13584,1,32,1,40,1,1,1,1,15,4,5415,7380.0,1358401 +1100105,49,13584,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,1358402 +1100105,49,13585,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,1358501 +1100105,49,13585,2,31,2,40,1,1,1,1,-9,4,923,9480.0,1358502 +1100105,49,13586,1,26,1,50,1,1,1,1,-9,4,5413,7290.0,1358601 +1100105,49,13586,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,1358602 +1100105,49,13587,1,23,1,40,1,1,1,19,-9,4,5419Z,7490.0,1358701 +1100105,49,13587,2,23,1,45,1,1,1,1,-9,4,5412,7280.0,1358702 +1100105,49,13588,1,31,1,50,1,1,1,1,-9,4,92MP,9470.0,1358801 +1100105,49,13588,2,32,2,35,4,1,1,24,-9,4,622M,8191.0,1358802 +1100105,49,13589,1,68,1,40,1,1,6,1,-9,4,92M1,9490.0,1358901 +1100105,49,13589,2,68,2,-9,-9,6,6,1,-9,4,6111,7860.0,1358902 +1100105,49,13590,1,74,2,40,1,1,1,1,-9,2,923,9480.0,1359001 +1100105,49,13590,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,1359002 +1100105,49,13591,1,74,1,16,3,6,1,1,-9,4,5417,7460.0,1359101 +1100105,49,13591,2,72,2,18,1,1,1,1,-9,4,5112,6490.0,1359102 +1100105,49,13592,1,74,1,16,3,6,1,1,-9,4,5417,7460.0,1359201 +1100105,49,13592,2,72,2,18,1,1,1,1,-9,4,5112,6490.0,1359202 +1100105,49,13593,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,1359301 +1100105,49,13593,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,1359302 +1100105,49,13594,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,1359401 +1100105,49,13594,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,1359402 +1100105,49,13595,1,58,1,40,3,3,1,1,-9,4,5415,7380.0,1359501 +1100105,49,13595,2,57,2,40,1,1,1,1,-9,4,8139Z,9190.0,1359502 +1100105,49,13596,1,54,1,60,1,1,1,1,-9,4,522M,6890.0,1359601 +1100105,49,13596,2,54,2,-9,-9,6,1,1,-9,4,0,0.0,1359602 +1100105,49,13597,1,49,2,40,1,1,1,1,-9,4,928P,9590.0,1359701 +1100105,49,13597,2,44,1,8,6,6,1,1,-9,4,5419Z,7490.0,1359702 +1100105,49,13598,1,54,1,60,1,1,1,1,-9,4,522M,6890.0,1359801 +1100105,49,13598,2,54,2,-9,-9,6,1,1,-9,4,0,0.0,1359802 +1100105,49,13599,1,46,1,40,1,1,1,2,-9,4,813M,9170.0,1359901 +1100105,49,13599,2,45,1,40,4,3,1,1,-9,4,7115,8564.0,1359902 +1100105,49,13600,1,40,1,-9,-9,3,8,3,-9,4,813M,9170.0,1360001 +1100105,49,13600,2,42,1,50,1,1,1,1,-9,4,522M,6890.0,1360002 +1100105,49,13601,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,1360101 +1100105,49,13601,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,1360102 +1100105,49,13602,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,1360201 +1100105,49,13602,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,1360202 +1100105,49,13603,1,33,2,-9,-9,3,1,1,-9,4,4233,4090.0,1360301 +1100105,49,13603,2,30,1,70,1,1,1,1,-9,4,52M2,6970.0,1360302 +1100105,49,13604,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,1360401 +1100105,49,13604,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,1360402 +1100105,49,13605,1,30,2,50,1,1,1,1,-9,4,81393,9180.0,1360501 +1100105,49,13605,2,33,1,65,3,3,1,1,-9,4,8139Z,9190.0,1360502 +1100105,49,13606,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,1360601 +1100105,49,13606,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,1360602 +1100105,49,13607,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,1360701 +1100105,49,13607,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,1360702 +1100105,49,13608,1,28,1,40,1,1,1,20,-9,4,52M1,6870.0,1360801 +1100105,49,13608,2,27,2,40,2,6,1,1,-9,4,5418,7470.0,1360802 +1100105,49,13609,1,24,2,-9,-9,6,6,2,16,4,813M,9170.0,1360901 +1100105,49,13609,2,26,2,70,1,1,1,1,-9,4,5411,7270.0,1360902 +1100105,49,13610,1,24,2,-9,-9,6,6,2,16,4,813M,9170.0,1361001 +1100105,49,13610,2,26,2,70,1,1,1,1,-9,4,5411,7270.0,1361002 +1100105,49,13611,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1361101 +1100105,49,13611,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1361102 +1100105,49,13612,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1361201 +1100105,49,13612,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1361202 +1100105,49,13613,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1361301 +1100105,49,13613,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1361302 +1100105,49,13614,1,78,2,-9,-9,6,1,16,-9,4,611M1,7870.0,1361401 +1100105,49,13614,2,75,1,-9,-9,6,1,1,-9,4,0,0.0,1361402 +1100105,49,13615,1,64,1,40,1,1,6,1,-9,4,5313,7072.0,1361501 +1100105,49,13615,2,55,2,40,1,1,6,1,-9,4,531M,7071.0,1361502 +1100105,49,13616,1,36,1,50,1,1,1,1,16,4,6111,7860.0,1361601 +1100105,49,13616,2,40,1,40,1,1,1,1,-9,4,5413,7290.0,1361602 +1100105,49,13617,1,49,1,50,1,1,1,1,-9,4,611M1,7870.0,1361701 +1100105,49,13617,2,60,2,50,1,1,1,1,-9,4,7111,8561.0,1361702 +1100105,49,13618,1,39,1,40,1,1,1,1,-9,4,5417,7460.0,1361801 +1100105,49,13618,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,1361802 +1100105,49,13619,1,61,1,50,1,1,1,24,-9,4,5416,7390.0,1361901 +1100105,49,13619,2,49,1,40,1,1,1,1,-9,4,5416,7390.0,1361902 +1100105,49,13620,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,1362001 +1100105,49,13620,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,1362002 +1100105,49,13621,1,51,1,30,3,1,1,1,-9,4,611M3,7890.0,1362101 +1100105,49,13621,2,34,1,42,1,1,1,1,-9,4,813M,9170.0,1362102 +1100105,49,13622,1,36,2,45,1,1,1,1,-9,4,5241,6991.0,1362201 +1100105,49,13622,2,33,1,35,1,1,1,1,-9,4,531M,7071.0,1362202 +1100105,49,13623,1,36,2,45,1,1,1,1,-9,4,5241,6991.0,1362301 +1100105,49,13623,2,33,1,35,1,1,1,1,-9,4,531M,7071.0,1362302 +1100105,49,13624,1,31,1,50,1,1,8,2,-9,4,928P,9590.0,1362401 +1100105,49,13624,2,52,1,45,1,1,2,1,-9,4,481,6070.0,1362402 +1100105,49,13625,1,39,1,45,1,1,1,1,-9,2,51913,6672.0,1362501 +1100105,49,13625,2,30,1,50,2,1,8,7,-9,4,4481,5170.0,1362502 +1100105,49,13626,1,37,2,40,3,1,8,13,-9,4,52M1,6870.0,1362601 +1100105,49,13626,2,34,1,40,3,1,8,23,-9,4,52M1,6870.0,1362602 +1100105,49,13627,1,29,2,40,1,1,6,1,-9,4,622M,8191.0,1362701 +1100105,49,13627,2,29,1,40,1,1,6,1,-9,4,5121,6570.0,1362702 +1100105,49,13628,1,29,1,50,1,1,1,1,-9,4,5313,7072.0,1362801 +1100105,49,13628,2,28,2,40,1,1,9,1,-9,4,5417,7460.0,1362802 +1100105,49,13629,1,27,2,40,1,1,9,1,-9,4,5416,7390.0,1362901 +1100105,49,13629,2,27,2,40,1,1,1,1,-9,4,713Z,8590.0,1362902 +1100105,49,13630,1,25,2,50,1,1,6,1,16,4,611M3,7890.0,1363001 +1100105,49,13630,2,25,2,60,1,1,1,1,16,4,6111,7860.0,1363002 +1100105,49,13631,1,22,2,40,1,1,6,1,-9,4,5418,7470.0,1363101 +1100105,49,13631,2,24,2,40,1,1,1,1,-9,4,813M,9170.0,1363102 +1100105,49,13632,1,32,2,40,1,1,6,1,-9,4,813M,9170.0,1363201 +1100105,49,13632,2,31,1,40,1,1,1,1,-9,4,5416,7390.0,1363202 +1100105,49,13633,1,28,2,50,1,1,1,1,-9,4,92MP,9470.0,1363301 +1100105,49,13633,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,1363302 +1100105,49,13634,1,31,1,70,1,1,1,1,-9,4,8139Z,9190.0,1363401 +1100105,49,13634,2,27,2,50,1,1,1,1,-9,4,6111,7860.0,1363402 +1100105,49,13635,1,31,2,50,1,1,1,1,-9,4,928P,9590.0,1363501 +1100105,49,13635,2,33,1,40,1,1,1,1,-9,4,611M1,7870.0,1363502 +1100105,49,13636,1,28,2,40,1,1,1,1,-9,4,928P,9590.0,1363601 +1100105,49,13636,2,29,1,40,1,1,1,1,-9,4,712,8570.0,1363602 +1100105,49,13637,1,33,1,45,1,1,1,1,-9,4,92M2,9570.0,1363701 +1100105,49,13637,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,1363702 +1100105,49,13638,1,30,2,38,3,1,1,1,-9,4,6111,7860.0,1363801 +1100105,49,13638,2,30,1,50,3,1,1,1,-9,4,7115,8564.0,1363802 +1100105,49,13639,1,26,1,40,1,1,1,1,-9,4,5416,7390.0,1363901 +1100105,49,13639,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,1363902 +1100105,49,13640,1,27,2,40,1,1,1,1,-9,4,5417,7460.0,1364001 +1100105,49,13640,2,27,2,45,1,1,1,1,-9,4,6111,7860.0,1364002 +1100105,49,13641,1,28,2,45,1,1,1,1,-9,4,813M,9170.0,1364101 +1100105,49,13641,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,1364102 +1100105,49,13642,1,30,1,50,1,1,1,1,-9,4,5111Z,6480.0,1364201 +1100105,49,13642,2,30,2,40,1,1,1,1,-9,4,813M,9170.0,1364202 +1100105,49,13643,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,1364301 +1100105,49,13643,2,30,1,45,1,1,1,1,-9,4,4248,4560.0,1364302 +1100105,49,13644,1,26,1,50,1,1,1,1,-9,4,5242,6992.0,1364401 +1100105,49,13644,2,24,2,32,1,1,1,1,-9,4,6211,7970.0,1364402 +1100105,49,13645,1,29,2,50,1,1,1,1,16,4,5416,7390.0,1364501 +1100105,49,13645,2,30,1,40,1,1,1,1,-9,4,7115,8564.0,1364502 +1100105,49,13646,1,29,2,45,1,1,1,1,-9,4,5416,7390.0,1364601 +1100105,49,13646,2,31,1,45,1,1,1,1,-9,4,81393,9180.0,1364602 +1100105,49,13647,1,25,1,60,1,1,1,1,-9,4,5415,7380.0,1364701 +1100105,49,13647,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,1364702 +1100105,49,13648,1,27,2,40,1,1,1,1,-9,4,52M1,6870.0,1364801 +1100105,49,13648,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,1364802 +1100105,49,13649,1,28,2,70,1,1,1,1,-9,4,928P,9590.0,1364901 +1100105,49,13649,2,31,2,40,1,1,1,1,-9,4,531M,7071.0,1364902 +1100105,49,13650,1,28,1,45,1,1,1,1,-9,4,5417,7460.0,1365001 +1100105,49,13650,2,30,2,45,1,1,1,1,-9,4,5417,7460.0,1365002 +1100105,49,13651,1,27,1,50,1,1,1,1,-9,4,5418,7470.0,1365101 +1100105,49,13651,2,29,1,55,1,1,1,1,-9,4,5416,7390.0,1365102 +1100105,49,13652,1,32,1,50,1,1,1,1,16,4,8139Z,9190.0,1365201 +1100105,49,13652,2,27,1,40,1,1,1,1,-9,4,5417,7460.0,1365202 +1100105,49,13653,1,33,1,40,1,1,1,1,16,4,6111,7860.0,1365301 +1100105,49,13653,2,29,1,40,1,1,1,1,-9,4,813M,9170.0,1365302 +1100105,49,13654,1,26,1,40,1,1,1,1,16,4,522M,6890.0,1365401 +1100105,49,13654,2,26,2,40,1,1,1,1,-9,4,6111,7860.0,1365402 +1100105,49,13655,1,30,2,38,3,1,1,1,-9,4,6111,7860.0,1365501 +1100105,49,13655,2,30,1,50,3,1,1,1,-9,4,7115,8564.0,1365502 +1100105,49,13656,1,29,2,43,1,1,1,1,-9,4,8139Z,9190.0,1365601 +1100105,49,13656,2,30,1,40,3,1,1,1,-9,4,5413,7290.0,1365602 +1100105,49,13657,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1365701 +1100105,49,13657,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,1365702 +1100105,49,13658,1,26,2,45,1,1,1,1,-9,4,5415,7380.0,1365801 +1100105,49,13658,2,25,1,40,2,1,1,1,-9,4,23,770.0,1365802 +1100105,49,13659,1,29,2,40,1,1,1,1,-9,4,5415,7380.0,1365901 +1100105,49,13659,2,22,2,45,4,1,1,1,-9,4,5418,7470.0,1365902 +1100105,49,13660,1,26,2,40,1,1,1,1,-9,4,6111,7860.0,1366001 +1100105,49,13660,2,27,2,40,1,1,1,1,-9,4,5413,7290.0,1366002 +1100105,49,13661,1,27,1,50,1,1,1,1,-9,4,515,6670.0,1366101 +1100105,49,13661,2,26,1,40,1,1,1,1,-9,4,5416,7390.0,1366102 +1100105,49,13662,1,26,2,40,1,1,1,1,-9,4,5411,7270.0,1366201 +1100105,49,13662,2,30,1,40,1,1,1,1,-9,4,813M,9170.0,1366202 +1100105,49,13663,1,27,2,45,1,1,1,1,-9,4,712,8570.0,1366301 +1100105,49,13663,2,32,1,40,1,1,1,1,-9,2,45121,5370.0,1366302 +1100105,49,13664,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1366401 +1100105,49,13664,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,1366402 +1100105,49,13665,1,28,2,40,2,1,1,1,-9,4,622M,8191.0,1366501 +1100105,49,13665,2,27,1,50,1,1,1,1,-9,4,5412,7280.0,1366502 +1100105,49,13666,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1366601 +1100105,49,13666,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1366602 +1100105,49,13667,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1366701 +1100105,49,13667,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1366702 +1100105,49,13668,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1366801 +1100105,49,13668,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1366802 +1100105,49,13669,1,60,1,60,1,1,1,1,-9,4,5415,7380.0,1366901 +1100105,49,13669,2,65,1,3,6,6,1,1,-9,4,611M3,7890.0,1366902 +1100105,49,13670,1,39,2,40,1,2,1,7,-9,4,928P,9590.0,1367001 +1100105,49,13670,2,71,2,-9,-9,6,1,1,-9,4,0,0.0,1367002 +1100105,49,13671,1,38,1,60,1,1,6,1,-9,4,522M,6890.0,1367101 +1100105,49,13671,2,43,2,-9,-9,6,6,1,-9,4,0,0.0,1367102 +1100105,49,13672,1,35,2,-9,-9,6,1,1,-9,4,0,0.0,1367201 +1100105,49,13672,2,35,1,45,1,1,6,1,-9,4,515,6670.0,1367202 +1100105,49,13673,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,1367301 +1100105,49,13673,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,1367302 +1100105,49,13674,1,63,1,-9,-9,6,1,1,-9,4,0,0.0,1367401 +1100105,49,13674,2,61,1,60,1,1,1,1,-9,4,562,7790.0,1367402 +1100105,49,13675,1,36,2,-9,-9,6,1,1,-9,4,5414,7370.0,1367501 +1100105,49,13675,2,37,1,40,1,1,1,1,-9,4,92M2,9570.0,1367502 +1100105,49,13676,1,52,1,40,6,3,1,1,-9,4,5411,7270.0,1367601 +1100105,49,13676,2,50,2,50,1,1,1,1,-9,4,484,6170.0,1367602 +1100105,49,13677,1,35,1,40,1,1,6,1,-9,4,5415,7380.0,1367701 +1100105,49,13677,2,28,2,40,5,3,1,1,-9,4,5613,7580.0,1367702 +1100105,49,13678,1,34,2,40,1,1,1,1,-9,4,8139Z,9190.0,1367801 +1100105,49,13678,2,37,1,40,6,6,1,1,16,4,5411,7270.0,1367802 +1100105,49,13679,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1367901 +1100105,49,13679,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,1367902 +1100105,49,13680,1,28,1,40,2,1,1,1,-9,4,5419Z,7490.0,1368001 +1100105,49,13680,2,26,2,40,4,6,1,1,16,4,6111,7860.0,1368002 +1100105,49,13681,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1368101 +1100105,49,13681,2,29,2,35,5,3,1,1,-9,4,813M,9170.0,1368102 +1100105,49,13682,1,28,2,-9,-9,6,1,1,16,4,0,0.0,1368201 +1100105,49,13682,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,1368202 +1100105,49,13683,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1368301 +1100105,49,13683,2,34,2,25,5,6,1,1,-9,4,928P,9590.0,1368302 +1100105,49,13684,1,28,1,40,2,1,1,1,-9,4,5419Z,7490.0,1368401 +1100105,49,13684,2,26,2,40,4,6,1,1,16,4,6111,7860.0,1368402 +1100105,49,13685,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1368501 +1100105,49,13685,2,34,2,25,5,6,1,1,-9,4,928P,9590.0,1368502 +1100105,49,13686,1,28,2,50,1,1,1,3,-9,4,611M3,7890.0,1368601 +1100105,49,13686,2,27,2,40,6,6,1,1,-9,4,5411,7270.0,1368602 +1100105,49,13687,1,30,1,40,1,1,1,23,-9,4,5416,7390.0,1368701 +1100105,49,13687,2,31,2,40,6,6,1,23,16,4,4539,5580.0,1368702 +1100105,49,13688,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,1368801 +1100105,49,13688,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1368802 +1100105,49,13689,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,1368901 +1100105,49,13689,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1368902 +1100105,49,13690,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,1369001 +1100105,49,13690,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1369002 +1100105,49,13691,1,62,1,36,5,6,1,1,-9,4,5416,7390.0,1369101 +1100105,49,13691,2,58,2,-9,-9,6,1,1,-9,4,0,0.0,1369102 +1100105,49,13692,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1369201 +1100105,49,13692,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1369202 +1100105,49,13693,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1369301 +1100105,49,13693,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1369302 +1100105,49,13694,1,69,1,40,1,1,1,1,-9,4,712,8570.0,1369401 +1100105,49,13694,2,70,2,75,1,1,1,1,-9,4,6111,7860.0,1369402 +1100105,49,13695,1,61,1,40,1,1,1,1,-9,4,4452,4980.0,1369501 +1100105,49,13695,2,43,1,40,1,1,6,1,-9,4,4234,4170.0,1369502 +1100105,49,13696,1,44,1,24,1,1,1,1,-9,4,5413,7290.0,1369601 +1100105,49,13696,2,46,1,40,5,1,1,1,-9,4,621M,8180.0,1369602 +1100105,49,13697,1,41,1,40,1,1,1,1,-9,2,621M,8180.0,1369701 +1100105,49,13697,2,39,2,40,1,1,1,1,-9,4,4MS,5790.0,1369702 +1100105,49,13698,1,37,1,40,1,1,1,11,-9,4,7211,8660.0,1369801 +1100105,49,13698,2,35,1,40,1,1,8,11,-9,4,811192,8780.0,1369802 +1100105,49,13699,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,1369901 +1100105,49,13699,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,1369902 +1100105,49,13700,1,27,2,55,1,1,1,1,-9,4,722Z,8680.0,1370001 +1100105,49,13700,2,37,2,15,1,1,9,1,16,4,6241,8370.0,1370002 +1100105,49,13701,1,38,1,48,1,1,1,1,-9,4,531M,7071.0,1370101 +1100105,49,13701,2,29,1,40,1,1,1,1,-9,4,5415,7380.0,1370102 +1100105,49,13702,1,28,1,60,1,1,6,1,-9,4,5417,7460.0,1370201 +1100105,49,13702,2,23,1,12,5,1,6,1,16,4,722Z,8680.0,1370202 +1100105,49,13703,1,29,1,40,3,1,2,1,-9,4,5417,7460.0,1370301 +1100105,49,13703,2,27,1,40,1,1,6,1,-9,4,722Z,8680.0,1370302 +1100105,49,13704,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1370401 +1100105,49,13704,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1370402 +1100105,49,13705,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1370501 +1100105,49,13705,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1370502 +1100105,49,13706,1,29,1,40,1,1,1,1,-9,4,712,8570.0,1370601 +1100105,49,13706,2,28,2,40,1,1,6,1,-9,4,5417,7460.0,1370602 +1100105,49,13707,1,26,1,50,1,1,1,1,-9,4,5415,7380.0,1370701 +1100105,49,13707,2,24,1,60,1,1,6,1,-9,4,611M3,7890.0,1370702 +1100105,49,13708,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,1370801 +1100105,49,13708,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,1370802 +1100105,49,13709,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,1370901 +1100105,49,13709,2,26,2,55,3,1,1,1,-9,4,5418,7470.0,1370902 +1100105,49,13710,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,1371001 +1100105,49,13710,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,1371002 +1100105,49,13711,1,21,1,40,1,1,1,1,-9,4,722Z,8680.0,1371101 +1100105,49,13711,2,21,1,40,1,1,1,1,-9,4,52M1,6870.0,1371102 +1100105,49,13712,1,23,1,40,4,1,1,1,-9,4,561M,7780.0,1371201 +1100105,49,13712,2,22,1,40,5,1,1,1,-9,4,5415,7380.0,1371202 +1100105,49,13713,1,21,1,40,1,1,1,1,-9,4,722Z,8680.0,1371301 +1100105,49,13713,2,21,1,40,1,1,1,1,-9,4,52M1,6870.0,1371302 +1100105,49,13714,1,24,2,45,1,1,1,1,-9,4,722Z,8680.0,1371401 +1100105,49,13714,2,24,2,60,1,1,1,1,-9,4,9211MP,9370.0,1371402 +1100105,49,13715,1,23,2,40,1,1,1,1,-9,4,515,6670.0,1371501 +1100105,49,13715,2,26,2,40,1,1,1,1,-9,4,515,6670.0,1371502 +1100105,49,13716,1,31,2,45,1,1,1,1,-9,4,611M1,7870.0,1371601 +1100105,49,13716,2,27,2,40,3,1,1,1,-9,4,6241,8370.0,1371602 +1100105,49,13717,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,1371701 +1100105,49,13717,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,1371702 +1100105,49,13718,1,26,2,20,1,1,1,1,16,4,5417,7460.0,1371801 +1100105,49,13718,2,27,1,30,4,1,1,1,16,4,8139Z,9190.0,1371802 +1100105,49,13719,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,1371901 +1100105,49,13719,2,26,2,55,3,1,1,1,-9,4,5418,7470.0,1371902 +1100105,49,13720,1,28,2,40,1,1,1,1,16,4,9211MP,9370.0,1372001 +1100105,49,13720,2,25,2,42,2,1,1,1,16,4,5418,7470.0,1372002 +1100105,49,13721,1,25,2,40,1,1,1,1,-9,4,5191ZM,6780.0,1372101 +1100105,49,13721,2,27,1,40,1,1,1,1,-9,4,7112,8562.0,1372102 +1100105,49,13722,1,28,1,50,1,1,1,1,-9,4,722Z,8680.0,1372201 +1100105,49,13722,2,25,2,50,1,2,1,1,-9,4,7211,8660.0,1372202 +1100105,49,13723,1,23,1,55,1,1,1,1,-9,4,531M,7071.0,1372301 +1100105,49,13723,2,24,1,55,1,1,1,1,-9,4,5121,6570.0,1372302 +1100105,49,13724,1,28,1,40,3,1,1,1,-9,4,813M,9170.0,1372401 +1100105,49,13724,2,27,2,80,5,1,1,1,-9,4,622M,8191.0,1372402 +1100105,49,13725,1,28,1,40,3,1,1,1,-9,4,813M,9170.0,1372501 +1100105,49,13725,2,27,2,80,5,1,1,1,-9,4,622M,8191.0,1372502 +1100105,49,13726,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,1372601 +1100105,49,13726,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,1372602 +1100105,49,13727,1,24,1,18,5,1,1,1,16,4,33641M2,3590.0,1372701 +1100105,49,13727,2,23,2,45,1,1,1,1,-9,4,337,3895.0,1372702 +1100105,49,13728,1,26,1,50,1,1,8,7,-9,4,5415,7380.0,1372801 +1100105,49,13728,2,27,2,40,1,1,1,1,-9,4,711M,8563.0,1372802 +1100105,49,13729,1,29,2,40,6,1,1,1,-9,4,813M,9170.0,1372901 +1100105,49,13729,2,27,1,40,1,1,9,19,-9,4,923,9480.0,1372902 +1100105,49,13730,1,24,2,40,1,1,1,4,-9,4,9211MP,9370.0,1373001 +1100105,49,13730,2,24,2,40,1,1,1,1,-9,4,9211MP,9370.0,1373002 +1100105,49,13731,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,1373101 +1100105,49,13731,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,1373102 +1100105,49,13732,1,22,2,40,4,1,1,2,-9,4,52M1,6870.0,1373201 +1100105,49,13732,2,25,2,40,2,1,1,10,-9,4,928P,9590.0,1373202 +1100105,49,13733,1,68,2,50,1,1,1,1,-9,4,7211,8660.0,1373301 +1100105,49,13733,2,65,1,-9,-9,6,6,1,-9,4,0,0.0,1373302 +1100105,49,13734,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1373401 +1100105,49,13734,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,1373402 +1100105,49,13735,1,74,1,4,4,1,1,1,-9,4,5412,7280.0,1373501 +1100105,49,13735,2,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,1373502 +1100105,49,13736,1,84,2,-9,-9,6,2,1,-9,4,0,0.0,1373601 +1100105,49,13736,2,47,1,40,1,1,2,1,-9,4,722Z,8680.0,1373602 +1100105,49,13737,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1373701 +1100105,49,13737,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1373702 +1100105,49,13738,1,35,2,40,1,2,6,1,16,4,5411,7270.0,1373801 +1100105,49,13738,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,1373802 +1100105,49,13739,1,38,1,40,1,1,1,1,-9,4,5417,7460.0,1373901 +1100105,49,13739,2,42,2,-9,-9,6,6,1,-9,4,0,0.0,1373902 +1100105,49,13740,1,64,1,-9,-9,6,1,1,-9,4,0,0.0,1374001 +1100105,49,13740,2,55,1,40,1,1,1,1,-9,4,5411,7270.0,1374002 +1100105,49,13741,1,64,1,-9,-9,6,1,1,-9,4,0,0.0,1374101 +1100105,49,13741,2,55,1,40,1,1,1,1,-9,4,5411,7270.0,1374102 +1100105,49,13742,1,54,1,40,1,3,1,1,-9,4,7211,8660.0,1374201 +1100105,49,13742,2,54,1,40,1,1,1,1,-9,4,7211,8660.0,1374202 +1100105,49,13743,1,64,1,-9,-9,6,1,1,-9,4,0,0.0,1374301 +1100105,49,13743,2,55,1,40,1,1,1,1,-9,4,5411,7270.0,1374302 +1100105,49,13744,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1374401 +1100105,49,13744,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1374402 +1100105,49,13745,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1374501 +1100105,49,13745,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1374502 +1100105,49,13746,1,55,2,38,1,1,1,1,-9,4,928P,9590.0,1374601 +1100105,49,13746,2,20,1,-9,-9,6,1,1,15,4,0,0.0,1374602 +1100105,49,13747,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1374701 +1100105,49,13747,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1374702 +1100105,49,13748,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1374801 +1100105,49,13748,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1374802 +1100105,49,13749,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1374901 +1100105,49,13749,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1374902 +1100105,49,13750,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1375001 +1100105,49,13750,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1375002 +1100105,49,13751,1,37,1,38,3,3,1,1,-9,4,722Z,8680.0,1375101 +1100105,49,13751,2,33,2,60,1,1,1,1,-9,4,531M,7071.0,1375102 +1100105,49,13752,1,32,2,40,1,1,1,23,16,4,712,8570.0,1375201 +1100105,49,13752,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,1375202 +1100105,49,13753,1,49,1,25,5,1,1,2,-9,4,928P,9590.0,1375301 +1100105,49,13753,2,31,1,15,4,6,1,1,15,4,722Z,8680.0,1375302 +1100105,49,13754,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1375401 +1100105,49,13754,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1375402 +1100105,49,13755,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1375501 +1100105,49,13755,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1375502 +1100105,49,13756,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1375601 +1100105,49,13756,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1375602 +1100105,49,13757,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1375701 +1100105,49,13757,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1375702 +1100105,49,13758,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1375801 +1100105,49,13758,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1375802 +1100105,49,13759,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1375901 +1100105,49,13759,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1375902 +1100105,49,13760,1,24,2,50,6,6,1,1,16,4,5411,7270.0,1376001 +1100105,49,13760,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,1376002 +1100105,49,13761,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1376101 +1100105,49,13761,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1376102 +1100105,49,13762,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,1376201 +1100105,49,13762,2,25,2,-9,-9,6,1,1,16,4,5418,7470.0,1376202 +1100105,49,13763,1,25,2,35,3,1,1,1,-9,4,6111,7860.0,1376301 +1100105,49,13763,2,23,2,40,4,6,1,1,-9,4,722Z,8680.0,1376302 +1100105,49,13764,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,1376401 +1100105,49,13764,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,1376402 +1100105,49,13765,1,30,1,40,1,4,1,1,16,1,928110P3,9690.0,1376501 +1100105,49,13765,2,29,2,-9,-9,6,1,1,16,4,6111,7860.0,1376502 +1100105,49,13766,1,24,2,50,6,6,1,1,16,4,5411,7270.0,1376601 +1100105,49,13766,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,1376602 +1100105,49,13767,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,1376701 +1100105,49,13767,2,30,1,35,6,6,1,1,-9,4,5411,7270.0,1376702 +1100105,49,13768,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,1376801 +1100105,49,13768,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,1376802 +1100105,49,13769,1,30,1,40,1,4,1,1,16,1,928110P3,9690.0,1376901 +1100105,49,13769,2,29,2,-9,-9,6,1,1,16,4,6111,7860.0,1376902 +1100105,49,13770,1,24,1,40,5,6,1,1,16,4,5416,7390.0,1377001 +1100105,49,13770,2,26,2,40,1,1,1,1,-9,4,712,8570.0,1377002 +1100105,49,13771,1,30,1,40,1,4,1,1,16,1,928110P3,9690.0,1377101 +1100105,49,13771,2,29,2,-9,-9,6,1,1,16,4,6111,7860.0,1377102 +1100105,49,13772,1,26,2,40,2,1,1,1,-9,4,5417,7460.0,1377201 +1100105,49,13772,2,23,2,-9,-9,3,1,1,15,4,5418,7470.0,1377202 +1100105,49,13773,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1377301 +1100105,49,13773,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1377302 +1100105,49,13774,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1377401 +1100105,49,13774,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1377402 +1100105,49,13775,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1377501 +1100105,49,13775,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,1377502 +1100105,49,13776,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,1377601 +1100105,49,13776,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,1377602 +1100105,49,13777,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1377701 +1100105,49,13777,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1377702 +1100105,49,13778,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1377801 +1100105,49,13778,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,1377802 +1100105,49,13779,1,69,1,40,6,6,1,1,-9,4,923,9480.0,1377901 +1100105,49,13779,2,53,1,-9,-9,6,1,1,-9,4,923,9480.0,1377902 +1100105,49,13780,1,63,1,-9,-9,6,6,1,-9,4,0,0.0,1378001 +1100105,49,13780,2,63,2,-9,-9,6,6,1,-9,4,0,0.0,1378002 +1100105,49,13781,1,25,1,40,6,6,1,4,16,4,92MP,9470.0,1378101 +1100105,49,13781,2,25,1,15,4,6,1,1,16,4,92M2,9570.0,1378102 +1100105,49,13782,1,44,1,40,1,1,6,1,-9,4,7211,8660.0,1378201 +1100105,49,13782,2,41,2,40,4,1,6,1,-9,4,6111,7860.0,1378202 +1100105,49,13783,1,33,2,20,1,1,6,1,16,4,611M1,7870.0,1378301 +1100105,49,13783,2,30,1,40,1,1,1,1,-9,4,5417,7460.0,1378302 +1100105,49,13784,1,21,2,40,1,1,1,1,15,4,611M1,7870.0,1378401 +1100105,49,13784,2,20,2,30,1,1,1,1,15,4,713Z,8590.0,1378402 +1100105,49,13785,1,26,2,45,6,1,1,1,-9,4,5416,7390.0,1378501 +1100105,49,13785,2,26,1,60,6,1,1,1,-9,4,92MP,9470.0,1378502 +1100105,49,13786,1,24,2,20,1,1,1,1,15,4,7224,8690.0,1378601 +1100105,49,13786,2,23,1,70,1,4,1,1,-9,1,928110P4,9770.0,1378602 +1100105,49,13787,1,23,1,40,1,1,1,1,-9,4,722Z,8680.0,1378701 +1100105,49,13787,2,24,2,40,1,1,1,1,-9,4,5415,7380.0,1378702 +1100105,49,13788,1,23,1,50,1,1,1,1,-9,4,531M,7071.0,1378801 +1100105,49,13788,2,23,1,40,1,1,1,1,-9,4,5419Z,7490.0,1378802 +1100105,49,13789,1,34,1,50,1,4,1,16,-9,1,928110P6,9790.0,1378901 +1100105,49,13789,2,31,2,45,5,1,1,4,16,4,6244,8470.0,1378902 +1100105,49,13790,1,62,2,61,1,1,1,1,-9,4,5615,7670.0,1379001 +1100105,49,13790,2,66,1,-9,-9,6,1,1,-9,4,0,0.0,1379002 +1100105,49,13791,1,60,2,40,1,1,8,19,-9,4,7211,8660.0,1379101 +1100105,49,13791,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,1379102 +1100105,49,13792,1,61,2,40,1,1,6,1,-9,4,7211,8660.0,1379201 +1100105,49,13792,2,59,1,-9,-9,3,6,1,-9,4,999920,9920.0,1379202 +1100105,49,13793,1,52,2,25,1,1,1,1,-9,4,562,7790.0,1379301 +1100105,49,13793,2,51,1,35,4,6,1,1,-9,4,562,7790.0,1379302 +1100105,49,13794,1,64,2,-9,-9,3,1,1,-9,4,7211,8660.0,1379401 +1100105,49,13794,2,63,1,30,1,1,1,1,-9,4,722Z,8680.0,1379402 +1100105,49,13795,1,65,2,-9,-9,6,6,1,-9,4,0,0.0,1379501 +1100105,49,13795,2,29,2,35,1,1,6,1,16,4,813M,9170.0,1379502 +1100105,49,13796,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,1379601 +1100105,49,13796,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,1379602 +1100105,49,13797,1,22,1,20,1,1,6,1,16,4,611M1,7870.0,1379701 +1100105,49,13797,2,21,1,10,5,6,1,1,16,4,5111Z,6480.0,1379702 +1100105,49,13798,1,28,1,45,6,6,1,1,16,4,5411,7270.0,1379801 +1100105,49,13798,2,28,2,20,5,1,6,1,16,4,8139Z,9190.0,1379802 +1100105,49,13799,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,1379901 +1100105,49,13799,2,29,1,45,1,1,1,1,16,4,6111,7860.0,1379902 +1100105,49,13800,1,26,2,41,1,1,1,1,-9,4,7111,8561.0,1380001 +1100105,49,13800,2,26,1,-9,-9,6,1,1,15,4,334M2,3390.0,1380002 +1100105,49,13801,1,25,2,40,1,1,1,1,16,4,5418,7470.0,1380101 +1100105,49,13801,2,34,1,12,5,6,1,1,16,4,611M1,7870.0,1380102 +1100105,49,13802,1,26,2,41,1,1,1,1,-9,4,7111,8561.0,1380201 +1100105,49,13802,2,26,1,-9,-9,6,1,1,15,4,334M2,3390.0,1380202 +1100105,49,13803,1,25,1,40,6,6,1,1,16,4,5411,7270.0,1380301 +1100105,49,13803,2,25,1,11,5,1,1,1,16,4,611M1,7870.0,1380302 +1100105,49,13804,1,26,1,20,6,6,1,2,16,4,611M1,7870.0,1380401 +1100105,49,13804,2,27,2,40,1,1,1,1,16,4,611M1,7870.0,1380402 +1100105,49,13805,1,73,1,-9,-9,6,2,1,-9,4,0,0.0,1380501 +1100105,49,13805,2,73,2,-9,-9,6,2,1,-9,4,0,0.0,1380502 +1100105,49,13806,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1380601 +1100105,49,13806,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,1380602 +1100105,49,13807,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1380701 +1100105,49,13807,2,66,2,-9,-9,6,1,1,-9,4,0,0.0,1380702 +1100105,49,13808,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1380801 +1100105,49,13808,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,1380802 +1100105,49,13809,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1380901 +1100105,49,13809,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,1380902 +1100105,49,13810,1,81,1,-9,-9,6,1,1,-9,4,7115,8564.0,1381001 +1100105,49,13810,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1381002 +1100105,49,13811,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1381101 +1100105,49,13811,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,1381102 +1100105,49,13812,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1381201 +1100105,49,13812,2,66,2,-9,-9,6,1,1,-9,4,0,0.0,1381202 +1100105,49,13813,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1381301 +1100105,49,13813,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,1381302 +1100105,49,13814,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,1381401 +1100105,49,13814,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,1381402 +1100105,49,13815,1,21,2,13,6,1,1,1,15,4,52M2,6970.0,1381501 +1100105,49,13815,2,21,2,22,3,1,1,1,15,4,5416,7390.0,1381502 +1100105,49,13816,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,1381601 +1100105,49,13816,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,1381602 +1100105,49,13817,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,1381701 +1100105,49,13817,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,1381702 +1100105,49,13818,1,63,1,20,1,1,6,1,-9,4,722Z,8680.0,1381801 +1100105,49,13818,2,64,2,-9,-9,6,6,1,-9,4,0,0.0,1381802 +1100105,49,13819,1,55,2,-9,-9,6,1,11,-9,4,0,0.0,1381901 +1100105,49,13819,2,48,1,35,1,1,1,11,-9,4,7211,8660.0,1381902 +1100105,49,13820,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,1382001 +1100105,49,13820,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,1382002 +1100105,49,13821,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1382101 +1100105,49,13821,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1382102 +1100105,49,13822,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1382201 +1100105,49,13822,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1382202 +1100105,49,13823,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,1382301 +1100105,49,13823,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,1382302 +1100105,49,13824,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1382401 +1100105,49,13824,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1382402 +1100105,49,13825,1,22,1,40,6,1,1,1,15,4,6211,7970.0,1382501 +1100105,49,13825,2,21,1,-9,-9,6,1,1,15,4,0,0.0,1382502 +1100105,49,13826,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1382601 +1100105,49,13826,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1382602 +1100105,49,13827,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1382701 +1100105,49,13827,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1382702 +1100105,49,13828,1,25,2,-9,-9,6,1,1,16,4,611M1,7870.0,1382801 +1100105,49,13828,2,27,2,20,1,2,1,1,16,4,611M1,7870.0,1382802 +1100105,49,13829,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1382901 +1100105,49,13829,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1382902 +1100105,49,13830,1,76,2,-9,-9,6,2,1,-9,4,0,0.0,1383001 +1100105,49,13830,2,85,2,-9,-9,6,2,1,-9,4,0,0.0,1383002 +1100105,49,13831,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1383101 +1100105,49,13831,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1383102 +1100105,49,13832,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1383201 +1100105,49,13832,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1383202 +1100105,49,13833,1,67,1,-9,-9,6,2,1,-9,4,0,0.0,1383301 +1100105,49,13833,2,64,2,-9,-9,6,2,1,-9,4,0,0.0,1383302 +1100105,49,13834,1,55,2,-9,-9,3,1,1,-9,4,712,8570.0,1383401 +1100105,49,13834,2,61,1,-9,-9,3,1,1,-9,4,712,8570.0,1383402 +1100105,49,13835,1,55,2,-9,-9,3,1,1,-9,4,712,8570.0,1383501 +1100105,49,13835,2,61,1,-9,-9,3,1,1,-9,4,712,8570.0,1383502 +1100105,49,13836,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1383601 +1100105,49,13836,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,1383602 +1100105,49,13837,1,50,2,-9,-9,6,6,1,-9,4,4MS,5790.0,1383701 +1100105,49,13837,2,22,2,-9,-9,6,6,1,15,4,0,0.0,1383702 +1100105,49,13838,1,58,2,-9,-9,6,1,1,-9,4,813M,9170.0,1383801 +1100105,49,13838,2,26,1,-9,-9,6,9,1,-9,4,0,0.0,1383802 +1100105,49,13839,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1383901 +1100105,49,13839,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1383902 +1100105,49,13840,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1384001 +1100105,49,13840,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1384002 +1100105,49,13841,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1384101 +1100105,49,13841,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1384102 +1100105,49,13842,1,22,2,-9,-9,6,1,1,15,4,0,0.0,1384201 +1100105,49,13842,2,22,2,-9,-9,6,1,1,15,4,0,0.0,1384202 +1100105,49,13843,1,25,2,35,4,6,1,1,16,4,6111,7860.0,1384301 +1100105,49,13843,2,23,2,18,5,6,1,1,16,4,6214,8090.0,1384302 +1100105,49,13844,1,25,2,35,4,6,1,1,16,4,6111,7860.0,1384401 +1100105,49,13844,2,23,2,18,5,6,1,1,16,4,6214,8090.0,1384402 +1100105,49,13845,1,25,2,35,4,6,1,1,16,4,6111,7860.0,1384501 +1100105,49,13845,2,23,2,18,5,6,1,1,16,4,6214,8090.0,1384502 +1100105,49,13846,1,23,1,40,6,6,1,1,-9,4,5121,6570.0,1384601 +1100105,49,13846,2,24,1,-9,-9,6,1,1,16,4,515,6670.0,1384602 +1100105,49,13847,1,24,1,50,6,6,1,1,16,4,92M2,9570.0,1384701 +1100105,49,13847,2,23,1,50,6,6,1,1,16,4,92MP,9470.0,1384702 +1100105,49,13848,1,26,2,50,3,6,8,4,16,4,6212,7980.0,1384801 +1100105,49,13848,2,26,2,30,4,6,6,4,16,4,6214,8090.0,1384802 +1100105,49,13849,1,70,2,40,1,1,2,1,-9,4,611M1,7870.0,1384901 +1100105,49,13850,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,1385001 +1100105,49,13851,1,65,1,60,1,1,1,1,-9,4,928P,9590.0,1385101 +1100105,49,13852,1,68,2,80,1,1,1,1,-9,4,8139Z,9190.0,1385201 +1100105,49,13853,1,65,1,60,1,1,1,1,-9,4,928P,9590.0,1385301 +1100105,49,13854,1,74,1,50,1,1,1,1,-9,4,5416,7390.0,1385401 +1100105,49,13855,1,74,1,50,1,1,1,1,-9,4,5416,7390.0,1385501 +1100105,49,13856,1,40,2,52,1,1,9,1,-9,4,5415,7380.0,1385601 +1100105,49,13857,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,1385701 +1100105,49,13858,1,35,1,99,2,1,6,1,-9,4,5416,7390.0,1385801 +1100105,49,13859,1,53,2,40,1,1,6,1,-9,4,52M2,6970.0,1385901 +1100105,49,13860,1,35,1,40,1,1,6,1,-9,4,5242,6992.0,1386001 +1100105,49,13861,1,44,1,50,1,1,2,1,-9,4,622M,8191.0,1386101 +1100105,49,13862,1,55,2,85,1,1,2,1,-9,4,92MP,9470.0,1386201 +1100105,49,13863,1,46,1,46,1,1,1,1,-9,4,5241,6991.0,1386301 +1100105,49,13864,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,1386401 +1100105,49,13865,1,35,2,55,1,1,1,1,-9,4,52M2,6970.0,1386501 +1100105,49,13866,1,60,1,40,1,1,1,1,-9,4,5411,7270.0,1386601 +1100105,49,13867,1,38,2,55,1,1,1,1,-9,4,5411,7270.0,1386701 +1100105,49,13868,1,43,2,50,1,1,1,1,-9,4,928P,9590.0,1386801 +1100105,49,13869,1,44,2,45,1,1,1,1,-9,4,7112,8562.0,1386901 +1100105,49,13870,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,1387001 +1100105,49,13871,1,56,1,55,1,1,1,1,-9,4,5416,7390.0,1387101 +1100105,49,13872,1,61,2,40,1,1,1,1,-9,4,8139Z,9190.0,1387201 +1100105,49,13873,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,1387301 +1100105,49,13874,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1387401 +1100105,49,13875,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,1387501 +1100105,49,13876,1,38,2,45,1,1,1,1,-9,4,52M2,6970.0,1387601 +1100105,49,13877,1,50,1,50,1,1,1,1,16,4,2211P,570.0,1387701 +1100105,49,13878,1,35,2,40,1,1,1,1,-9,4,5415,7380.0,1387801 +1100105,49,13879,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,1387901 +1100105,49,13880,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,1388001 +1100105,49,13881,1,45,1,40,1,1,1,1,-9,2,5415,7380.0,1388101 +1100105,49,13882,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,1388201 +1100105,49,13883,1,54,1,60,1,1,1,1,-9,4,5416,7390.0,1388301 +1100105,49,13884,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,1388401 +1100105,49,13885,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,1388501 +1100105,49,13886,1,51,1,65,1,1,1,1,-9,4,622M,8191.0,1388601 +1100105,49,13887,1,43,1,60,1,1,1,1,-9,4,621M,8180.0,1388701 +1100105,49,13888,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,1388801 +1100105,49,13889,1,49,1,49,3,1,1,1,-9,4,454110,5593.0,1388901 +1100105,49,13890,1,59,1,45,1,1,1,1,-9,4,92M1,9490.0,1389001 +1100105,49,13891,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,1389101 +1100105,49,13892,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,1389201 +1100105,49,13893,1,43,2,40,1,1,1,1,-9,4,522M,6890.0,1389301 +1100105,49,13894,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1389401 +1100105,49,13895,1,37,1,45,1,1,1,1,-9,4,52M1,6870.0,1389501 +1100105,49,13896,1,57,1,45,1,1,1,1,-9,4,5411,7270.0,1389601 +1100105,49,13897,1,55,2,50,1,1,1,1,-9,4,5614,7590.0,1389701 +1100105,49,13898,1,55,2,50,1,1,1,1,-9,4,5614,7590.0,1389801 +1100105,49,13899,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,1389901 +1100105,49,13900,1,38,2,50,1,1,1,1,-9,4,52M2,6970.0,1390001 +1100105,49,13901,1,55,2,70,1,1,1,1,-9,4,6214,8090.0,1390101 +1100105,49,13902,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,1390201 +1100105,49,13903,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,1390301 +1100105,49,13904,1,59,1,45,1,1,1,1,-9,4,92M1,9490.0,1390401 +1100105,49,13905,1,50,1,55,1,1,1,1,-9,4,8139Z,9190.0,1390501 +1100105,49,13906,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1390601 +1100105,49,13907,1,57,1,60,1,1,1,1,-9,4,5416,7390.0,1390701 +1100105,49,13908,1,57,1,55,1,1,1,1,-9,4,928P,9590.0,1390801 +1100105,49,13909,1,42,1,40,1,1,1,1,-9,4,52M1,6870.0,1390901 +1100105,49,13910,1,56,1,60,1,1,1,1,-9,4,7115,8564.0,1391001 +1100105,49,13911,1,43,2,50,1,1,1,1,-9,4,928P,9590.0,1391101 +1100105,49,13912,1,48,2,40,1,1,1,1,-9,4,813M,9170.0,1391201 +1100105,49,13913,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,1391301 +1100105,49,13914,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,1391401 +1100105,49,13915,1,45,2,60,1,1,1,1,-9,4,813M,9170.0,1391501 +1100105,49,13916,1,38,2,55,1,1,1,1,-9,4,5411,7270.0,1391601 +1100105,49,13917,1,57,1,40,1,1,1,1,-9,4,5221M,6880.0,1391701 +1100105,49,13918,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,1391801 +1100105,49,13919,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1391901 +1100105,49,13920,1,46,1,55,1,1,1,1,-9,4,8139Z,9190.0,1392001 +1100105,49,13921,1,59,1,70,1,1,1,1,-9,4,813M,9170.0,1392101 +1100105,49,13922,1,55,2,50,1,1,1,1,-9,4,5614,7590.0,1392201 +1100105,49,13923,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,1392301 +1100105,49,13924,1,44,2,45,1,1,1,1,-9,4,7112,8562.0,1392401 +1100105,49,13925,1,38,2,50,1,1,1,1,-9,4,5411,7270.0,1392501 +1100105,49,13926,1,50,1,55,1,1,1,1,-9,4,8139Z,9190.0,1392601 +1100105,49,13927,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,1392701 +1100105,49,13928,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,1392801 +1100105,49,13929,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,1392901 +1100105,49,13930,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,1393001 +1100105,49,13931,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,1393101 +1100105,49,13932,1,35,2,50,1,1,2,3,-9,4,6211,7970.0,1393201 +1100105,49,13933,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,1393301 +1100105,49,13934,1,32,2,50,1,1,6,1,-9,4,5411,7270.0,1393401 +1100105,49,13935,1,28,2,55,1,1,1,1,-9,4,5411,7270.0,1393501 +1100105,49,13936,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1393601 +1100105,49,13937,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1393701 +1100105,49,13938,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,1393801 +1100105,49,13939,1,30,1,50,1,1,1,1,-9,4,5411,7270.0,1393901 +1100105,49,13940,1,30,2,75,1,1,1,1,-9,4,5411,7270.0,1394001 +1100105,49,13941,1,29,2,54,1,1,1,1,-9,4,5411,7270.0,1394101 +1100105,49,13942,1,31,2,60,1,1,1,1,-9,4,5411,7270.0,1394201 +1100105,49,13943,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,1394301 +1100105,49,13944,1,27,2,60,1,1,1,1,-9,4,5411,7270.0,1394401 +1100105,49,13945,1,28,2,55,1,1,1,1,-9,4,5411,7270.0,1394501 +1100105,49,13946,1,30,1,50,1,1,1,1,-9,4,443142,4795.0,1394601 +1100105,49,13947,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1394701 +1100105,49,13948,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,1394801 +1100105,49,13949,1,65,2,-9,-9,6,1,1,-9,4,813M,9170.0,1394901 +1100105,49,13950,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,1395001 +1100105,49,13951,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1395101 +1100105,49,13952,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1395201 +1100105,49,13953,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1395301 +1100105,49,13954,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1395401 +1100105,49,13955,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1395501 +1100105,49,13956,1,81,1,-9,-9,6,1,1,-9,4,0,0.0,1395601 +1100105,49,13957,1,53,1,40,6,6,1,1,-9,4,44611,5070.0,1395701 +1100105,49,13958,1,53,1,40,6,6,1,1,-9,4,44611,5070.0,1395801 +1100105,49,13959,1,68,2,45,1,1,1,1,-9,4,611M1,7870.0,1395901 +1100105,49,13960,1,73,2,50,1,1,1,1,-9,4,92119,9390.0,1396001 +1100105,49,13961,1,76,1,60,1,1,1,1,-9,4,7111,8561.0,1396101 +1100105,49,13962,1,68,2,45,1,1,1,1,-9,4,611M1,7870.0,1396201 +1100105,49,13963,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,1396301 +1100105,49,13964,1,35,1,50,3,1,6,1,-9,4,622M,8191.0,1396401 +1100105,49,13965,1,37,2,75,1,1,6,1,-9,4,9211MP,9370.0,1396501 +1100105,49,13966,1,38,1,40,1,1,2,1,-9,4,522M,6890.0,1396601 +1100105,49,13967,1,38,1,40,1,1,2,1,-9,4,522M,6890.0,1396701 +1100105,49,13968,1,48,2,40,1,1,1,1,-9,4,515,6670.0,1396801 +1100105,49,13969,1,47,2,40,1,1,1,1,-9,4,92M2,9570.0,1396901 +1100105,49,13970,1,45,2,35,3,1,1,1,-9,4,813M,9170.0,1397001 +1100105,49,13971,1,63,2,28,1,1,1,1,-9,4,6213ZM,8080.0,1397101 +1100105,49,13972,1,49,2,60,1,1,1,1,-9,4,92MP,9470.0,1397201 +1100105,49,13973,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,1397301 +1100105,49,13974,1,43,1,60,1,4,1,1,-9,1,928110P4,9770.0,1397401 +1100105,49,13975,1,39,1,40,1,1,1,1,-9,4,5415,7380.0,1397501 +1100105,49,13976,1,64,1,45,1,1,1,1,-9,4,92MP,9470.0,1397601 +1100105,49,13977,1,36,2,50,1,1,1,1,-9,4,8139Z,9190.0,1397701 +1100105,49,13978,1,53,1,50,1,1,1,1,-9,4,4238,4270.0,1397801 +1100105,49,13979,1,43,2,50,1,1,1,1,-9,4,4247,4490.0,1397901 +1100105,49,13980,1,63,2,28,1,1,1,1,-9,4,6213ZM,8080.0,1398001 +1100105,49,13981,1,43,2,50,1,1,1,1,-9,4,5416,7390.0,1398101 +1100105,49,13982,1,49,1,40,1,1,1,1,-9,4,923,9480.0,1398201 +1100105,49,13983,1,43,1,60,1,4,1,1,-9,1,928110P4,9770.0,1398301 +1100105,49,13984,1,38,2,50,1,1,1,1,-9,4,928P,9590.0,1398401 +1100105,49,13985,1,49,2,60,1,1,1,1,-9,4,92MP,9470.0,1398501 +1100105,49,13986,1,64,1,45,1,1,1,1,-9,4,92MP,9470.0,1398601 +1100105,49,13987,1,56,1,35,1,1,1,1,-9,4,5411,7270.0,1398701 +1100105,49,13988,1,60,2,50,1,1,1,1,-9,4,8139Z,9190.0,1398801 +1100105,49,13989,1,49,1,40,1,1,1,1,-9,4,923,9480.0,1398901 +1100105,49,13990,1,47,2,40,1,1,1,1,-9,4,923,9480.0,1399001 +1100105,49,13991,1,58,2,40,1,1,1,1,-9,4,92M1,9490.0,1399101 +1100105,49,13992,1,39,1,50,1,1,1,1,-9,4,92MP,9470.0,1399201 +1100105,49,13993,1,49,1,40,1,1,1,1,-9,4,923,9480.0,1399301 +1100105,49,13994,1,47,2,40,1,1,1,1,-9,4,923,9480.0,1399401 +1100105,49,13995,1,35,2,42,1,1,1,1,-9,4,92MP,9470.0,1399501 +1100105,49,13996,1,47,2,40,1,1,1,1,-9,4,92M2,9570.0,1399601 +1100105,49,13997,1,64,1,45,1,1,1,1,-9,4,92MP,9470.0,1399701 +1100105,49,13998,1,39,1,45,1,1,1,3,-9,4,5415,7380.0,1399801 +1100105,49,13999,1,37,1,55,1,1,1,3,-9,4,5416,7390.0,1399901 +1100105,49,14000,1,32,2,35,1,1,6,1,16,4,5411,7270.0,1400001 +1100105,49,14001,1,34,2,45,1,1,2,1,-9,4,5411,7270.0,1400101 +1100105,49,14002,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,1400201 +1100105,49,14003,1,33,1,50,1,1,1,1,-9,4,5415,7380.0,1400301 +1100105,49,14004,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1400401 +1100105,49,14005,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,1400501 +1100105,49,14006,1,33,2,50,1,1,1,1,-9,4,51913,6672.0,1400601 +1100105,49,14007,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1400701 +1100105,49,14008,1,27,1,65,1,1,1,1,-9,4,5411,7270.0,1400801 +1100105,49,14009,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,1400901 +1100105,49,14010,1,34,1,45,1,1,1,1,-9,4,8139Z,9190.0,1401001 +1100105,49,14011,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1401101 +1100105,49,14012,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,1401201 +1100105,49,14013,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,1401301 +1100105,49,14014,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,1401401 +1100105,49,14015,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1401501 +1100105,49,14016,1,33,1,60,1,1,1,1,-9,4,515,6670.0,1401601 +1100105,49,14017,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,1401701 +1100105,49,14018,1,34,2,50,1,1,1,1,-9,4,522M,6890.0,1401801 +1100105,49,14019,1,33,1,40,1,1,1,1,-9,2,5411,7270.0,1401901 +1100105,49,14020,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1402001 +1100105,49,14021,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,1402101 +1100105,49,14022,1,49,2,20,4,6,1,1,-9,4,722Z,8680.0,1402201 +1100105,49,14023,1,68,1,40,1,1,2,1,-9,3,92MP,9470.0,1402301 +1100105,49,14024,1,67,2,32,1,1,1,1,-9,4,5416,7390.0,1402401 +1100105,49,14025,1,67,2,32,1,1,1,1,-9,4,5416,7390.0,1402501 +1100105,49,14026,1,66,2,40,1,1,1,1,16,4,6111,7860.0,1402601 +1100105,49,14027,1,72,1,35,4,1,1,11,-9,4,611M1,7870.0,1402701 +1100105,49,14028,1,42,2,70,1,1,7,1,-9,4,44511,4971.0,1402801 +1100105,49,14029,1,35,2,55,1,1,9,1,-9,4,928P,9590.0,1402901 +1100105,49,14030,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,1403001 +1100105,49,14031,1,37,1,40,1,1,6,1,-9,4,515,6670.0,1403101 +1100105,49,14032,1,35,2,60,1,1,6,1,-9,4,488,6290.0,1403201 +1100105,49,14033,1,59,2,40,1,1,6,1,-9,4,928P,9590.0,1403301 +1100105,49,14034,1,59,2,40,1,1,6,1,-9,4,928P,9590.0,1403401 +1100105,49,14035,1,37,2,40,1,1,6,1,-9,4,5411,7270.0,1403501 +1100105,49,14036,1,43,1,40,1,1,6,1,-9,4,5415,7380.0,1403601 +1100105,49,14037,1,42,2,50,1,1,6,1,-9,4,813M,9170.0,1403701 +1100105,49,14038,1,37,1,11,1,1,6,1,-9,4,5415,7380.0,1403801 +1100105,49,14039,1,59,1,40,1,1,2,1,-9,4,92M2,9570.0,1403901 +1100105,49,14040,1,64,2,60,1,1,2,1,-9,4,813M,9170.0,1404001 +1100105,49,14041,1,63,1,40,1,1,2,1,-9,4,4539,5580.0,1404101 +1100105,49,14042,1,53,1,40,4,1,1,1,-9,4,5415,7380.0,1404201 +1100105,49,14043,1,63,2,80,1,1,1,1,-9,4,5418,7470.0,1404301 +1100105,49,14044,1,44,2,50,1,1,1,1,-9,4,5416,7390.0,1404401 +1100105,49,14045,1,35,2,40,1,1,1,1,-9,4,5418,7470.0,1404501 +1100105,49,14046,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,1404601 +1100105,49,14047,1,52,1,50,1,1,1,1,-9,4,611M1,7870.0,1404701 +1100105,49,14048,1,38,1,50,1,1,1,1,-9,4,443142,4795.0,1404801 +1100105,49,14049,1,41,1,50,1,1,1,1,-9,4,531M,7071.0,1404901 +1100105,49,14050,1,58,2,50,1,1,1,1,-9,4,515,6670.0,1405001 +1100105,49,14051,1,36,1,50,1,1,1,1,-9,4,7211,8660.0,1405101 +1100105,49,14052,1,39,2,40,1,1,1,1,-9,4,6241,8370.0,1405201 +1100105,49,14053,1,58,2,50,1,1,1,1,-9,4,23,770.0,1405301 +1100105,49,14054,1,36,2,50,1,1,1,1,-9,4,52M1,6870.0,1405401 +1100105,49,14055,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1405501 +1100105,49,14056,1,38,2,55,1,1,1,1,-9,4,7211,8660.0,1405601 +1100105,49,14057,1,36,1,50,1,1,1,1,16,2,928P,9590.0,1405701 +1100105,49,14058,1,39,2,60,1,1,1,1,15,4,923,9480.0,1405801 +1100105,49,14059,1,42,1,50,1,1,1,1,-9,4,928P,9590.0,1405901 +1100105,49,14060,1,50,2,45,1,1,1,1,-9,4,813M,9170.0,1406001 +1100105,49,14061,1,39,1,40,1,1,1,1,-9,4,928P,9590.0,1406101 +1100105,49,14062,1,46,2,45,1,1,1,1,-9,4,8139Z,9190.0,1406201 +1100105,49,14063,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,1406301 +1100105,49,14064,1,49,1,40,1,1,1,1,-9,4,5415,7380.0,1406401 +1100105,49,14065,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1406501 +1100105,49,14066,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,1406601 +1100105,49,14067,1,54,2,40,1,1,1,1,-9,4,515,6670.0,1406701 +1100105,49,14068,1,55,1,45,1,1,1,1,-9,4,8139Z,9190.0,1406801 +1100105,49,14069,1,39,2,60,1,1,1,1,-9,4,928P,9590.0,1406901 +1100105,49,14070,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,1407001 +1100105,49,14071,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,1407101 +1100105,49,14072,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,1407201 +1100105,49,14073,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,1407301 +1100105,49,14074,1,62,2,50,1,1,1,1,-9,4,928P,9590.0,1407401 +1100105,49,14075,1,49,2,40,1,1,1,1,-9,4,92M2,9570.0,1407501 +1100105,49,14076,1,37,2,50,1,1,1,1,-9,4,515,6670.0,1407601 +1100105,49,14077,1,37,1,40,1,1,1,1,-9,4,928P,9590.0,1407701 +1100105,49,14078,1,57,1,50,1,1,1,1,-9,4,813M,9170.0,1407801 +1100105,49,14079,1,46,2,45,1,1,1,1,-9,4,8139Z,9190.0,1407901 +1100105,49,14080,1,44,2,50,1,1,1,1,-9,4,928P,9590.0,1408001 +1100105,49,14081,1,51,1,40,1,1,1,1,-9,2,5417,7460.0,1408101 +1100105,49,14082,1,36,2,40,1,1,1,1,16,4,5419Z,7490.0,1408201 +1100105,49,14083,1,38,1,40,1,1,1,1,-9,2,5415,7380.0,1408301 +1100105,49,14084,1,42,2,46,1,1,1,1,16,4,5415,7380.0,1408401 +1100105,49,14085,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,1408501 +1100105,49,14086,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,1408601 +1100105,49,14087,1,41,1,40,1,1,1,1,-9,4,92M1,9490.0,1408701 +1100105,49,14088,1,35,1,40,1,1,1,1,-9,4,8139Z,9190.0,1408801 +1100105,49,14089,1,58,1,50,1,1,1,1,-9,4,722Z,8680.0,1408901 +1100105,49,14090,1,55,1,45,1,1,1,1,-9,4,8139Z,9190.0,1409001 +1100105,49,14091,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,1409101 +1100105,49,14092,1,37,2,50,1,4,1,1,16,1,928110P1,9670.0,1409201 +1100105,49,14093,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1409301 +1100105,49,14094,1,38,1,40,1,1,1,1,-9,2,5415,7380.0,1409401 +1100105,49,14095,1,36,1,80,1,1,1,1,-9,4,6111,7860.0,1409501 +1100105,49,14096,1,49,1,40,1,1,1,1,-9,4,5415,7380.0,1409601 +1100105,49,14097,1,35,1,42,1,1,1,1,-9,4,5415,7380.0,1409701 +1100105,49,14098,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,1409801 +1100105,49,14099,1,41,1,32,1,1,1,1,-9,4,62132,8070.0,1409901 +1100105,49,14100,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1410001 +1100105,49,14101,1,51,1,40,1,1,1,1,-9,2,5417,7460.0,1410101 +1100105,49,14102,1,37,2,40,1,1,1,1,-9,4,923,9480.0,1410201 +1100105,49,14103,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,1410301 +1100105,49,14104,1,40,1,50,4,1,1,1,-9,4,611M1,7870.0,1410401 +1100105,49,14105,1,40,1,40,1,1,1,1,-9,4,923,9480.0,1410501 +1100105,49,14106,1,39,2,40,1,1,1,1,-9,4,92M2,9570.0,1410601 +1100105,49,14107,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,1410701 +1100105,49,14108,1,45,1,50,4,1,1,1,-9,4,3254,2190.0,1410801 +1100105,49,14109,1,41,2,50,1,1,1,1,-9,4,622M,8191.0,1410901 +1100105,49,14110,1,48,2,43,1,1,1,1,-9,4,92M2,9570.0,1411001 +1100105,49,14111,1,53,1,40,1,1,1,1,-9,4,33641M1,3580.0,1411101 +1100105,49,14112,1,63,1,40,1,1,1,1,-9,4,3333,3095.0,1411201 +1100105,49,14113,1,51,1,40,1,1,1,1,-9,4,923,9480.0,1411301 +1100105,49,14114,1,40,1,50,1,1,1,1,15,4,813M,9170.0,1411401 +1100105,49,14115,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,1411501 +1100105,49,14116,1,36,1,50,1,1,1,1,16,2,928P,9590.0,1411601 +1100105,49,14117,1,38,1,40,1,1,1,1,-9,4,712,8570.0,1411701 +1100105,49,14118,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,1411801 +1100105,49,14119,1,38,1,43,1,1,1,1,-9,4,5112,6490.0,1411901 +1100105,49,14120,1,43,2,40,1,1,1,1,-9,4,5416,7390.0,1412001 +1100105,49,14121,1,39,1,40,1,1,1,1,-9,4,928P,9590.0,1412101 +1100105,49,14122,1,40,1,50,1,1,1,1,15,4,813M,9170.0,1412201 +1100105,49,14123,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,1412301 +1100105,49,14124,1,39,2,45,1,1,1,23,-9,4,51111,6470.0,1412401 +1100105,49,14125,1,57,2,70,1,1,1,16,-9,4,813M,9170.0,1412501 +1100105,49,14126,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,1412601 +1100105,49,14127,1,55,1,50,1,1,8,7,-9,4,928P,9590.0,1412701 +1100105,49,14128,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,1412801 +1100105,49,14129,1,39,1,40,1,1,1,16,-9,4,923,9480.0,1412901 +1100105,49,14130,1,35,2,50,1,1,1,2,-9,4,33641M1,3580.0,1413001 +1100105,49,14131,1,26,2,45,2,1,9,1,-9,4,9211MP,9370.0,1413101 +1100105,49,14132,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,1413201 +1100105,49,14133,1,28,1,55,1,1,6,1,-9,4,5416,7390.0,1413301 +1100105,49,14134,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1413401 +1100105,49,14135,1,28,1,55,1,1,6,1,-9,4,5416,7390.0,1413501 +1100105,49,14136,1,27,2,40,1,1,2,1,-9,4,5416,7390.0,1413601 +1100105,49,14137,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,1413701 +1100105,49,14138,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,1413801 +1100105,49,14139,1,25,1,60,1,1,1,1,-9,4,7211,8660.0,1413901 +1100105,49,14140,1,34,1,45,1,1,1,1,-9,2,928P,9590.0,1414001 +1100105,49,14141,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,1414101 +1100105,49,14142,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,1414201 +1100105,49,14143,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,1414301 +1100105,49,14144,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,1414401 +1100105,49,14145,1,33,2,50,1,1,1,1,-9,4,621M,8180.0,1414501 +1100105,49,14146,1,33,1,50,1,1,1,1,-9,4,611M1,7870.0,1414601 +1100105,49,14147,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,1414701 +1100105,49,14148,1,32,2,50,1,1,1,1,-9,4,5416,7390.0,1414801 +1100105,49,14149,1,33,1,55,1,1,1,1,-9,2,92MP,9470.0,1414901 +1100105,49,14150,1,31,2,45,1,1,1,1,-9,4,928P,9590.0,1415001 +1100105,49,14151,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,1415101 +1100105,49,14152,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,1415201 +1100105,49,14153,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1415301 +1100105,49,14154,1,26,2,45,1,1,1,1,-9,4,51111,6470.0,1415401 +1100105,49,14155,1,33,1,40,1,1,1,1,-9,4,928P,9590.0,1415501 +1100105,49,14156,1,32,2,60,1,1,1,1,-9,4,5418,7470.0,1415601 +1100105,49,14157,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1415701 +1100105,49,14158,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,1415801 +1100105,49,14159,1,27,1,60,1,1,1,1,-9,4,5419Z,7490.0,1415901 +1100105,49,14160,1,31,2,40,1,1,1,1,-9,4,5413,7290.0,1416001 +1100105,49,14161,1,25,2,40,1,1,1,1,16,4,3391,3960.0,1416101 +1100105,49,14162,1,28,2,50,1,1,1,1,-9,4,5614,7590.0,1416201 +1100105,49,14163,1,30,1,40,1,1,1,1,-9,4,5416,7390.0,1416301 +1100105,49,14164,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,1416401 +1100105,49,14165,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,1416501 +1100105,49,14166,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,1416601 +1100105,49,14167,1,32,2,40,1,1,1,1,-9,4,92MP,9470.0,1416701 +1100105,49,14168,1,30,1,50,1,1,1,1,-9,4,5411,7270.0,1416801 +1100105,49,14169,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,1416901 +1100105,49,14170,1,30,2,50,1,1,1,1,-9,4,522M,6890.0,1417001 +1100105,49,14171,1,25,1,60,1,1,1,1,-9,4,7211,8660.0,1417101 +1100105,49,14172,1,32,1,40,2,1,1,1,-9,4,928P,9590.0,1417201 +1100105,49,14173,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,1417301 +1100105,49,14174,1,31,2,40,1,1,1,1,-9,4,923,9480.0,1417401 +1100105,49,14175,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,1417501 +1100105,49,14176,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,1417601 +1100105,49,14177,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,1417701 +1100105,49,14178,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,1417801 +1100105,49,14179,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,1417901 +1100105,49,14180,1,28,1,40,1,1,1,1,-9,4,92113,9380.0,1418001 +1100105,49,14181,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1418101 +1100105,49,14182,1,31,2,40,1,1,1,1,-9,4,5413,7290.0,1418201 +1100105,49,14183,1,33,1,50,1,1,1,3,-9,4,622M,8191.0,1418301 +1100105,49,14184,1,29,2,45,1,1,8,14,-9,4,52M2,6970.0,1418401 +1100105,49,14185,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,1418501 +1100105,49,14186,1,33,1,50,1,1,1,3,-9,4,622M,8191.0,1418601 +1100105,49,14187,1,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,1418701 +1100105,49,14188,1,78,1,-9,-9,6,1,1,-9,2,0,0.0,1418801 +1100105,49,14189,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,1418901 +1100105,49,14190,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,1419001 +1100105,49,14191,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,1419101 +1100105,49,14192,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,1419201 +1100105,49,14193,1,57,1,-9,-9,6,1,1,-9,4,813M,9170.0,1419301 +1100105,49,14194,1,65,1,40,1,1,2,1,-9,2,517311,6680.0,1419401 +1100105,49,14195,1,65,1,40,1,1,2,1,-9,2,92119,9390.0,1419501 +1100105,49,14196,1,66,1,20,1,1,1,1,-9,2,92119,9390.0,1419601 +1100105,49,14197,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,1419701 +1100105,49,14198,1,70,2,40,1,1,1,1,-9,4,5411,7270.0,1419801 +1100105,49,14199,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1419901 +1100105,49,14200,1,68,2,60,1,1,1,1,-9,4,5416,7390.0,1420001 +1100105,49,14201,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1420101 +1100105,49,14202,1,70,1,12,1,1,1,1,-9,2,8131,9160.0,1420201 +1100105,49,14203,1,76,1,99,3,1,1,1,-9,2,712,8570.0,1420301 +1100105,49,14204,1,70,2,40,1,1,1,1,-9,4,5411,7270.0,1420401 +1100105,49,14205,1,70,2,40,1,1,1,1,-9,4,5411,7270.0,1420501 +1100105,49,14206,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1420601 +1100105,49,14207,1,46,2,40,3,1,9,1,-9,4,5191ZM,6780.0,1420701 +1100105,49,14208,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,1420801 +1100105,49,14209,1,48,1,40,1,1,6,1,-9,4,622M,8191.0,1420901 +1100105,49,14210,1,45,2,60,1,1,6,1,-9,4,5414,7370.0,1421001 +1100105,49,14211,1,37,1,60,1,1,6,1,-9,4,5415,7380.0,1421101 +1100105,49,14212,1,55,2,40,1,1,6,1,-9,4,92113,9380.0,1421201 +1100105,49,14213,1,39,2,40,1,1,6,1,-9,4,5221M,6880.0,1421301 +1100105,49,14214,1,53,2,40,1,1,6,1,-9,4,5414,7370.0,1421401 +1100105,49,14215,1,43,2,60,1,1,6,1,-9,4,6244,8470.0,1421501 +1100105,49,14216,1,39,2,40,1,1,6,1,-9,4,5221M,6880.0,1421601 +1100105,49,14217,1,36,2,40,1,1,2,1,-9,4,92M2,9570.0,1421701 +1100105,49,14218,1,42,2,45,1,1,2,1,-9,4,7211,8660.0,1421801 +1100105,49,14219,1,39,2,40,1,1,2,1,-9,4,923,9480.0,1421901 +1100105,49,14220,1,39,2,40,1,1,2,1,-9,4,923,9480.0,1422001 +1100105,49,14221,1,57,1,30,1,1,2,1,-9,4,4853,6190.0,1422101 +1100105,49,14222,1,46,2,38,1,1,2,1,-9,4,5417,7460.0,1422201 +1100105,49,14223,1,60,1,40,1,1,1,1,-9,4,5417,7460.0,1422301 +1100105,49,14224,1,56,2,40,1,1,1,1,-9,4,923,9480.0,1422401 +1100105,49,14225,1,37,2,40,1,1,1,1,-9,4,92119,9390.0,1422501 +1100105,49,14226,1,38,2,40,1,1,1,1,-9,4,515,6670.0,1422601 +1100105,49,14227,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,1422701 +1100105,49,14228,1,48,1,45,1,1,1,1,-9,4,813M,9170.0,1422801 +1100105,49,14229,1,64,2,40,1,1,1,1,-9,4,621M,8180.0,1422901 +1100105,49,14230,1,36,1,60,1,1,1,1,-9,4,6111,7860.0,1423001 +1100105,49,14231,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,1423101 +1100105,49,14232,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,1423201 +1100105,49,14233,1,38,1,40,1,1,1,1,-9,4,5417,7460.0,1423301 +1100105,49,14234,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,1423401 +1100105,49,14235,1,52,2,40,4,1,1,1,-9,2,813M,9170.0,1423501 +1100105,49,14236,1,57,1,50,1,1,1,1,-9,4,722Z,8680.0,1423601 +1100105,49,14237,1,38,1,40,1,1,1,1,-9,4,928P,9590.0,1423701 +1100105,49,14238,1,42,2,40,1,1,1,1,-9,4,6241,8370.0,1423801 +1100105,49,14239,1,62,1,43,1,1,1,1,-9,4,22S,690.0,1423901 +1100105,49,14240,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,1424001 +1100105,49,14241,1,48,2,40,1,2,1,1,-9,4,722Z,8680.0,1424101 +1100105,49,14242,1,49,2,40,1,1,1,1,-9,4,6111,7860.0,1424201 +1100105,49,14243,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,1424301 +1100105,49,14244,1,40,1,40,1,1,1,1,-9,4,52M1,6870.0,1424401 +1100105,49,14245,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,1424501 +1100105,49,14246,1,37,1,35,1,1,1,1,-9,4,6111,7860.0,1424601 +1100105,49,14247,1,42,2,40,1,1,1,1,-9,4,6241,8370.0,1424701 +1100105,49,14248,1,40,1,40,1,1,1,1,-9,4,52M1,6870.0,1424801 +1100105,49,14249,1,37,2,40,1,1,1,1,-9,4,92119,9390.0,1424901 +1100105,49,14250,1,49,2,15,3,1,1,1,-9,4,5614,7590.0,1425001 +1100105,49,14251,1,37,2,40,3,1,1,1,-9,4,923,9480.0,1425101 +1100105,49,14252,1,45,1,45,1,1,1,1,-9,4,928P,9590.0,1425201 +1100105,49,14253,1,57,2,55,1,1,1,1,-9,3,6111,7860.0,1425301 +1100105,49,14254,1,39,1,48,1,1,1,1,-9,4,928P,9590.0,1425401 +1100105,49,14255,1,55,1,40,3,1,1,1,-9,2,531M,7071.0,1425501 +1100105,49,14256,1,35,1,45,1,1,1,1,-9,4,515,6670.0,1425601 +1100105,49,14257,1,53,1,50,1,1,1,1,-9,4,482,6080.0,1425701 +1100105,49,14258,1,35,1,45,1,1,1,1,-9,4,515,6670.0,1425801 +1100105,49,14259,1,52,2,40,4,1,1,1,-9,2,813M,9170.0,1425901 +1100105,49,14260,1,48,1,45,1,1,1,1,-9,4,813M,9170.0,1426001 +1100105,49,14261,1,48,1,48,1,4,1,1,-9,1,928110P1,9670.0,1426101 +1100105,49,14262,1,38,2,40,1,1,1,1,-9,4,923,9480.0,1426201 +1100105,49,14263,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,1426301 +1100105,49,14264,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,1426401 +1100105,49,14265,1,35,1,40,4,1,1,1,-9,4,5121,6570.0,1426501 +1100105,49,14266,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,1426601 +1100105,49,14267,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,1426701 +1100105,49,14268,1,55,1,40,3,1,1,1,-9,2,531M,7071.0,1426801 +1100105,49,14269,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,1426901 +1100105,49,14270,1,55,2,70,1,1,1,1,-9,4,814,9290.0,1427001 +1100105,49,14271,1,48,1,48,1,4,1,1,-9,1,928110P1,9670.0,1427101 +1100105,49,14272,1,49,2,40,1,1,1,1,-9,4,6111,7860.0,1427201 +1100105,49,14273,1,35,1,40,4,1,1,1,-9,4,5121,6570.0,1427301 +1100105,49,14274,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,1427401 +1100105,49,14275,1,38,2,40,1,1,1,3,15,4,813M,9170.0,1427501 +1100105,49,14276,1,39,1,50,1,1,1,2,-9,4,481,6070.0,1427601 +1100105,49,14277,1,39,1,60,3,1,5,2,-9,4,7224,8690.0,1427701 +1100105,49,14278,1,58,1,40,1,1,1,2,-9,4,92113,9380.0,1427801 +1100105,49,14279,1,59,2,45,1,1,1,8,-9,4,813M,9170.0,1427901 +1100105,49,14280,1,48,1,40,1,1,1,6,-9,4,531M,7071.0,1428001 +1100105,49,14281,1,39,1,50,1,1,1,2,-9,4,481,6070.0,1428101 +1100105,49,14282,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,1428201 +1100105,49,14283,1,29,2,45,1,1,9,1,-9,4,5413,7290.0,1428301 +1100105,49,14284,1,29,2,45,1,1,9,1,-9,4,5413,7290.0,1428401 +1100105,49,14285,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,1428501 +1100105,49,14286,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,1428601 +1100105,49,14287,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1428701 +1100105,49,14288,1,29,1,40,1,1,9,1,-9,4,6111,7860.0,1428801 +1100105,49,14289,1,31,2,40,1,1,6,1,-9,4,5416,7390.0,1428901 +1100105,49,14290,1,26,2,40,1,1,6,1,16,2,92M2,9570.0,1429001 +1100105,49,14291,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,1429101 +1100105,49,14292,1,32,1,80,1,1,6,1,-9,4,622M,8191.0,1429201 +1100105,49,14293,1,29,1,40,1,1,6,1,-9,4,622M,8191.0,1429301 +1100105,49,14294,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,1429401 +1100105,49,14295,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,1429501 +1100105,49,14296,1,29,1,50,1,1,6,1,-9,4,9211MP,9370.0,1429601 +1100105,49,14297,1,30,1,42,1,1,6,1,-9,4,813M,9170.0,1429701 +1100105,49,14298,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,1429801 +1100105,49,14299,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,1429901 +1100105,49,14300,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,1430001 +1100105,49,14301,1,31,2,28,1,1,6,1,-9,4,5419Z,7490.0,1430101 +1100105,49,14302,1,31,2,40,1,1,6,1,-9,4,5416,7390.0,1430201 +1100105,49,14303,1,28,1,50,4,1,2,1,-9,4,5411,7270.0,1430301 +1100105,49,14304,1,34,2,40,1,1,2,1,-9,4,5411,7270.0,1430401 +1100105,49,14305,1,31,1,45,2,1,2,1,-9,4,5416,7390.0,1430501 +1100105,49,14306,1,27,2,35,1,1,2,1,-9,4,9211MP,9370.0,1430601 +1100105,49,14307,1,27,2,40,1,1,1,1,-9,4,5613,7580.0,1430701 +1100105,49,14308,1,29,1,65,1,1,1,1,-9,4,5416,7390.0,1430801 +1100105,49,14309,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,1430901 +1100105,49,14310,1,29,1,40,1,1,1,1,-9,4,5417,7460.0,1431001 +1100105,49,14311,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,1431101 +1100105,49,14312,1,27,2,40,1,1,1,1,-9,4,611M3,7890.0,1431201 +1100105,49,14313,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,1431301 +1100105,49,14314,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,1431401 +1100105,49,14315,1,29,2,60,1,1,1,1,-9,4,622M,8191.0,1431501 +1100105,49,14316,1,27,2,40,1,1,1,1,-9,4,92M1,9490.0,1431601 +1100105,49,14317,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1431701 +1100105,49,14318,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1431801 +1100105,49,14319,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,1431901 +1100105,49,14320,1,27,2,55,1,1,1,1,-9,4,8139Z,9190.0,1432001 +1100105,49,14321,1,28,1,55,1,1,1,1,-9,4,813M,9170.0,1432101 +1100105,49,14322,1,33,2,50,1,1,1,1,-9,4,5413,7290.0,1432201 +1100105,49,14323,1,31,1,40,1,1,1,1,-9,4,522M,6890.0,1432301 +1100105,49,14324,1,33,1,60,1,1,1,1,-9,4,5313,7072.0,1432401 +1100105,49,14325,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,1432501 +1100105,49,14326,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,1432601 +1100105,49,14327,1,31,2,50,1,1,1,1,-9,4,92MP,9470.0,1432701 +1100105,49,14328,1,26,1,40,1,1,1,1,-9,4,928P,9590.0,1432801 +1100105,49,14329,1,24,1,50,1,1,1,1,-9,4,813M,9170.0,1432901 +1100105,49,14330,1,34,2,40,1,1,1,1,-9,4,712,8570.0,1433001 +1100105,49,14331,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,1433101 +1100105,49,14332,1,25,1,55,1,1,1,1,-9,4,488,6290.0,1433201 +1100105,49,14333,1,34,2,55,1,1,1,1,15,4,515,6670.0,1433301 +1100105,49,14334,1,31,2,42,1,1,1,1,-9,4,92MP,9470.0,1433401 +1100105,49,14335,1,28,1,55,1,1,1,1,-9,4,813M,9170.0,1433501 +1100105,49,14336,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1433601 +1100105,49,14337,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,1433701 +1100105,49,14338,1,26,1,50,3,1,1,1,-9,4,5416,7390.0,1433801 +1100105,49,14339,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,1433901 +1100105,49,14340,1,30,2,40,1,1,1,1,-9,4,52M1,6870.0,1434001 +1100105,49,14341,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1434101 +1100105,49,14342,1,28,2,54,1,1,1,1,-9,4,5416,7390.0,1434201 +1100105,49,14343,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,1434301 +1100105,49,14344,1,31,1,40,1,1,1,1,-9,4,522M,6890.0,1434401 +1100105,49,14345,1,29,2,47,1,1,1,1,-9,4,9211MP,9370.0,1434501 +1100105,49,14346,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,1434601 +1100105,49,14347,1,30,2,40,1,1,1,1,-9,4,52M1,6870.0,1434701 +1100105,49,14348,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,1434801 +1100105,49,14349,1,31,1,60,1,1,1,1,-9,4,5416,7390.0,1434901 +1100105,49,14350,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,1435001 +1100105,49,14351,1,29,2,55,1,1,1,1,-9,4,712,8570.0,1435101 +1100105,49,14352,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1435201 +1100105,49,14353,1,28,2,40,1,1,1,1,-9,4,722Z,8680.0,1435301 +1100105,49,14354,1,31,2,40,1,1,1,1,-9,4,5412,7280.0,1435401 +1100105,49,14355,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,1435501 +1100105,49,14356,1,27,2,40,1,1,1,1,-9,4,5613,7580.0,1435601 +1100105,49,14357,1,27,1,43,1,1,1,1,-9,3,5416,7390.0,1435701 +1100105,49,14358,1,28,1,55,1,1,1,1,-9,4,813M,9170.0,1435801 +1100105,49,14359,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,1435901 +1100105,49,14360,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1436001 +1100105,49,14361,1,27,2,45,1,1,1,1,-9,4,5416,7390.0,1436101 +1100105,49,14362,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1436201 +1100105,49,14363,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1436301 +1100105,49,14364,1,34,1,45,1,1,1,1,-9,4,6111,7860.0,1436401 +1100105,49,14365,1,27,2,40,1,1,1,1,-9,4,92M1,9490.0,1436501 +1100105,49,14366,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,1436601 +1100105,49,14367,1,33,2,40,1,1,1,1,-9,4,6111,7860.0,1436701 +1100105,49,14368,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,1436801 +1100105,49,14369,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,1436901 +1100105,49,14370,1,28,2,40,1,1,1,1,-9,4,713Z,8590.0,1437001 +1100105,49,14371,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1437101 +1100105,49,14372,1,33,1,40,1,1,1,1,-9,4,5418,7470.0,1437201 +1100105,49,14373,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,1437301 +1100105,49,14374,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1437401 +1100105,49,14375,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,1437501 +1100105,49,14376,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,1437601 +1100105,49,14377,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,1437701 +1100105,49,14378,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,1437801 +1100105,49,14379,1,30,2,40,1,1,1,1,-9,4,443142,4795.0,1437901 +1100105,49,14380,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,1438001 +1100105,49,14381,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,1438101 +1100105,49,14382,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,1438201 +1100105,49,14383,1,31,2,40,1,1,1,1,-9,4,81393,9180.0,1438301 +1100105,49,14384,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,1438401 +1100105,49,14385,1,30,1,70,1,1,1,1,-9,4,6211,7970.0,1438501 +1100105,49,14386,1,31,1,50,3,1,1,1,-9,4,611M1,7870.0,1438601 +1100105,49,14387,1,29,2,40,1,1,1,1,-9,4,928P,9590.0,1438701 +1100105,49,14388,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,1438801 +1100105,49,14389,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1438901 +1100105,49,14390,1,30,2,50,1,1,1,1,-9,4,81393,9180.0,1439001 +1100105,49,14391,1,28,1,55,1,1,1,1,-9,4,813M,9170.0,1439101 +1100105,49,14392,1,31,2,36,1,1,1,1,15,4,813M,9170.0,1439201 +1100105,49,14393,1,31,1,60,1,1,1,1,-9,4,5416,7390.0,1439301 +1100105,49,14394,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,1439401 +1100105,49,14395,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,1439501 +1100105,49,14396,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,1439601 +1100105,49,14397,1,31,1,50,1,1,1,1,16,2,9211MP,9370.0,1439701 +1100105,49,14398,1,31,2,42,1,1,1,1,-9,4,92MP,9470.0,1439801 +1100105,49,14399,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,1439901 +1100105,49,14400,1,29,1,50,1,1,1,1,-9,4,7211,8660.0,1440001 +1100105,49,14401,1,34,1,45,1,1,1,1,-9,4,6111,7860.0,1440101 +1100105,49,14402,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,1440201 +1100105,49,14403,1,33,1,40,1,1,1,1,-9,4,55,7570.0,1440301 +1100105,49,14404,1,29,2,55,1,1,1,1,-9,4,712,8570.0,1440401 +1100105,49,14405,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,1440501 +1100105,49,14406,1,27,2,40,1,1,1,1,-9,4,522M,6890.0,1440601 +1100105,49,14407,1,28,1,60,1,4,1,1,-9,1,928110P3,9690.0,1440701 +1100105,49,14408,1,25,1,45,1,1,1,1,-9,4,52M2,6970.0,1440801 +1100105,49,14409,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,1440901 +1100105,49,14410,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,1441001 +1100105,49,14411,1,30,1,40,1,1,1,1,-9,4,813M,9170.0,1441101 +1100105,49,14412,1,30,1,50,1,1,1,1,-9,4,7111,8561.0,1441201 +1100105,49,14413,1,31,2,36,1,1,1,1,15,4,813M,9170.0,1441301 +1100105,49,14414,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1441401 +1100105,49,14415,1,33,1,40,1,4,1,1,16,1,928110P2,9680.0,1441501 +1100105,49,14416,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1441601 +1100105,49,14417,1,31,2,40,1,1,1,1,15,4,5416,7390.0,1441701 +1100105,49,14418,1,28,2,40,1,1,1,1,-9,4,8139Z,9190.0,1441801 +1100105,49,14419,1,28,2,40,1,1,1,1,-9,4,611M1,7870.0,1441901 +1100105,49,14420,1,27,2,55,1,1,1,1,-9,4,5416,7390.0,1442001 +1100105,49,14421,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1442101 +1100105,49,14422,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,1442201 +1100105,49,14423,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,1442301 +1100105,49,14424,1,29,1,50,1,1,2,5,-9,4,5412,7280.0,1442401 +1100105,49,14425,1,26,2,45,1,1,1,3,-9,4,23,770.0,1442501 +1100105,49,14426,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1442601 +1100105,49,14427,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1442701 +1100105,49,14428,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1442801 +1100105,49,14429,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,1442901 +1100105,49,14430,1,30,1,45,1,1,1,2,-9,4,92MP,9470.0,1443001 +1100105,49,14431,1,26,2,45,1,1,1,3,-9,4,23,770.0,1443101 +1100105,49,14432,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1443201 +1100105,49,14433,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,1443301 +1100105,49,14434,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1443401 +1100105,49,14435,1,30,1,45,1,1,1,2,-9,4,92MP,9470.0,1443501 +1100105,49,14436,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,1443601 +1100105,49,14437,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1443701 +1100105,49,14438,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1443801 +1100105,49,14439,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,1443901 +1100105,49,14440,1,89,1,-9,-9,6,6,1,-9,2,0,0.0,1444001 +1100105,49,14441,1,74,1,-9,-9,6,2,1,-9,4,0,0.0,1444101 +1100105,49,14442,1,80,2,-9,-9,6,2,1,-9,4,0,0.0,1444201 +1100105,49,14443,1,76,1,-9,-9,6,2,1,-9,2,0,0.0,1444301 +1100105,49,14444,1,70,1,-9,-9,6,1,1,-9,4,0,0.0,1444401 +1100105,49,14445,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1444501 +1100105,49,14446,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1444601 +1100105,49,14447,1,65,1,-9,-9,6,1,1,-9,4,923,9480.0,1444701 +1100105,49,14448,1,71,1,-9,-9,6,1,1,-9,2,0,0.0,1444801 +1100105,49,14449,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,1444901 +1100105,49,14450,1,71,1,-9,-9,6,1,1,-9,2,0,0.0,1445001 +1100105,49,14451,1,69,2,-9,-9,6,1,1,-9,4,92M2,9570.0,1445101 +1100105,49,14452,1,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1445201 +1100105,49,14453,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,1445301 +1100105,49,14454,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1445401 +1100105,49,14455,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,1445501 +1100105,49,14456,1,71,2,20,4,6,1,1,-9,4,5111Z,6480.0,1445601 +1100105,49,14457,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,1445701 +1100105,49,14458,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1445801 +1100105,49,14459,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1445901 +1100105,49,14460,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,1446001 +1100105,49,14461,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1446101 +1100105,49,14462,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1446201 +1100105,49,14463,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1446301 +1100105,49,14464,1,94,1,-9,-9,6,1,1,-9,2,0,0.0,1446401 +1100105,49,14465,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1446501 +1100105,49,14466,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1446601 +1100105,49,14467,1,49,1,40,4,3,6,1,-9,4,5413,7290.0,1446701 +1100105,49,14468,1,60,2,-9,-9,6,2,1,-9,4,0,0.0,1446801 +1100105,49,14469,1,61,1,-9,-9,6,1,1,-9,4,0,0.0,1446901 +1100105,49,14470,1,61,1,-9,-9,6,1,1,-9,4,0,0.0,1447001 +1100105,49,14471,1,49,1,55,4,3,1,1,-9,4,712,8570.0,1447101 +1100105,49,14472,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1447201 +1100105,49,14473,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1447301 +1100105,49,14474,1,26,1,45,3,3,1,1,-9,4,5416,7390.0,1447401 +1100105,49,14475,1,65,2,40,1,1,2,1,-9,4,5615,7670.0,1447501 +1100105,49,14476,1,67,1,35,1,1,2,1,-9,4,4853,6190.0,1447601 +1100105,49,14477,1,67,1,50,1,1,1,1,-9,4,23,770.0,1447701 +1100105,49,14478,1,69,2,32,1,1,1,1,-9,4,8139Z,9190.0,1447801 +1100105,49,14479,1,82,1,18,6,1,1,1,-9,4,611M3,7890.0,1447901 +1100105,49,14480,1,67,1,50,1,1,1,1,-9,4,23,770.0,1448001 +1100105,49,14481,1,80,1,40,1,1,1,1,-9,2,92M1,9490.0,1448101 +1100105,49,14482,1,37,2,40,1,1,9,1,-9,4,7211,8660.0,1448201 +1100105,49,14483,1,61,1,40,1,1,2,1,-9,2,92119,9390.0,1448301 +1100105,49,14484,1,40,1,40,1,1,2,1,-9,4,722Z,8680.0,1448401 +1100105,49,14485,1,46,1,40,1,1,2,1,-9,4,5411,7270.0,1448501 +1100105,49,14486,1,51,2,50,1,1,2,1,-9,4,7211,8660.0,1448601 +1100105,49,14487,1,55,2,60,1,1,2,1,-9,4,623M,8290.0,1448701 +1100105,49,14488,1,57,2,40,1,1,2,1,-9,3,611M1,7870.0,1448801 +1100105,49,14489,1,58,2,40,1,1,1,1,-9,4,713Z,8590.0,1448901 +1100105,49,14490,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,1449001 +1100105,49,14491,1,63,1,40,6,1,1,1,-9,4,515,6670.0,1449101 +1100105,49,14492,1,63,1,40,6,1,1,1,-9,4,515,6670.0,1449201 +1100105,49,14493,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,1449301 +1100105,49,14494,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,1449401 +1100105,49,14495,1,42,1,50,1,1,1,1,-9,4,5419Z,7490.0,1449501 +1100105,49,14496,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,1449601 +1100105,49,14497,1,47,2,40,1,1,1,1,-9,4,8139Z,9190.0,1449701 +1100105,49,14498,1,62,2,60,1,1,1,1,-9,4,92M2,9570.0,1449801 +1100105,49,14499,1,58,2,40,1,1,1,1,-9,4,713Z,8590.0,1449901 +1100105,49,14500,1,37,1,50,1,1,1,1,-9,4,9211MP,9370.0,1450001 +1100105,49,14501,1,61,1,99,1,1,1,1,-9,4,713Z,8590.0,1450101 +1100105,49,14502,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,1450201 +1100105,49,14503,1,55,2,20,3,1,1,1,-9,4,814,9290.0,1450301 +1100105,49,14504,1,45,1,40,1,1,1,9,-9,4,5419Z,7490.0,1450401 +1100105,49,14505,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,1450501 +1100105,49,14506,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,1450601 +1100105,49,14507,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,1450701 +1100105,49,14508,1,34,2,40,3,1,9,1,-9,4,5416,7390.0,1450801 +1100105,49,14509,1,28,2,15,5,2,6,1,16,4,611M1,7870.0,1450901 +1100105,49,14510,1,24,1,50,2,1,6,1,-9,4,5417,7460.0,1451001 +1100105,49,14511,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,1451101 +1100105,49,14512,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,1451201 +1100105,49,14513,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,1451301 +1100105,49,14514,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,1451401 +1100105,49,14515,1,34,1,35,1,1,2,1,16,4,6241,8370.0,1451501 +1100105,49,14516,1,29,1,60,3,2,2,1,-9,4,5616,7680.0,1451601 +1100105,49,14517,1,23,1,45,3,1,1,1,-9,4,454110,5593.0,1451701 +1100105,49,14518,1,25,1,50,1,1,1,1,16,4,5412,7280.0,1451801 +1100105,49,14519,1,33,1,40,1,1,1,1,-9,4,515,6670.0,1451901 +1100105,49,14520,1,27,2,70,1,1,1,1,-9,4,481,6070.0,1452001 +1100105,49,14521,1,26,2,37,1,1,1,1,-9,4,928P,9590.0,1452101 +1100105,49,14522,1,30,2,55,1,1,1,1,-9,4,928P,9590.0,1452201 +1100105,49,14523,1,34,1,39,1,1,1,1,-9,4,44511,4971.0,1452301 +1100105,49,14524,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,1452401 +1100105,49,14525,1,23,1,45,3,1,1,1,-9,4,454110,5593.0,1452501 +1100105,49,14526,1,24,2,40,3,1,1,1,-9,4,928P,9590.0,1452601 +1100105,49,14527,1,26,1,90,1,1,1,1,16,4,5417,7460.0,1452701 +1100105,49,14528,1,24,2,40,1,1,1,1,-9,4,6111,7860.0,1452801 +1100105,49,14529,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,1452901 +1100105,49,14530,1,34,2,45,1,1,1,1,-9,4,7111,8561.0,1453001 +1100105,49,14531,1,28,2,50,1,1,1,1,-9,4,722Z,8680.0,1453101 +1100105,49,14532,1,23,1,45,3,1,1,1,-9,4,454110,5593.0,1453201 +1100105,49,14533,1,28,2,50,1,1,1,1,-9,4,722Z,8680.0,1453301 +1100105,49,14534,1,26,1,40,1,1,1,1,-9,4,5417,7460.0,1453401 +1100105,49,14535,1,31,1,40,5,1,1,1,-9,4,5417,7460.0,1453501 +1100105,49,14536,1,27,2,50,1,1,1,1,16,4,611M1,7870.0,1453601 +1100105,49,14537,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1453701 +1100105,49,14538,1,26,1,50,1,1,1,1,-9,4,813M,9170.0,1453801 +1100105,49,14539,1,22,1,65,1,1,1,1,-9,4,8139Z,9190.0,1453901 +1100105,49,14540,1,24,2,42,4,1,1,1,-9,4,5413,7290.0,1454001 +1100105,49,14541,1,26,2,37,1,1,1,1,-9,4,928P,9590.0,1454101 +1100105,49,14542,1,26,1,50,1,1,1,1,-9,4,813M,9170.0,1454201 +1100105,49,14543,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,1454301 +1100105,49,14544,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,1454401 +1100105,49,14545,1,24,2,40,3,1,1,1,-9,4,928P,9590.0,1454501 +1100105,49,14546,1,26,1,55,5,1,1,1,-9,4,5411,7270.0,1454601 +1100105,49,14547,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,1454701 +1100105,49,14548,1,29,1,40,4,1,1,1,-9,2,5613,7580.0,1454801 +1100105,49,14549,1,27,2,40,3,1,1,1,-9,4,482,6080.0,1454901 +1100105,49,14550,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,1455001 +1100105,49,14551,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,1455101 +1100105,49,14552,1,25,2,40,1,1,1,1,-9,4,92M2,9570.0,1455201 +1100105,49,14553,1,26,1,90,1,1,1,1,16,4,5417,7460.0,1455301 +1100105,49,14554,1,28,2,50,1,1,1,1,16,4,611M1,7870.0,1455401 +1100105,49,14555,1,30,2,40,1,1,1,1,-9,4,712,8570.0,1455501 +1100105,49,14556,1,25,1,50,1,1,1,1,16,4,5412,7280.0,1455601 +1100105,49,14557,1,28,1,50,1,1,1,23,-9,4,722Z,8680.0,1455701 +1100105,49,14558,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,1455801 +1100105,49,14559,1,27,2,45,1,1,8,14,-9,4,622M,8191.0,1455901 +1100105,49,14560,1,33,2,40,1,1,1,2,-9,4,531M,7071.0,1456001 +1100105,49,14561,1,27,2,45,1,1,8,14,-9,4,622M,8191.0,1456101 +1100105,49,14562,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1456201 +1100105,49,14563,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1456301 +1100105,49,14564,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1456401 +1100105,49,14565,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,1456501 +1100105,49,14566,1,94,2,-9,-9,6,2,1,-9,4,0,0.0,1456601 +1100105,49,14567,1,86,1,-9,-9,6,2,1,-9,2,0,0.0,1456701 +1100105,49,14568,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,1456801 +1100105,49,14569,1,72,2,-9,-9,6,2,1,-9,4,0,0.0,1456901 +1100105,49,14570,1,79,2,-9,-9,6,2,1,-9,4,0,0.0,1457001 +1100105,49,14571,1,74,2,-9,-9,6,1,1,-9,4,5411,7270.0,1457101 +1100105,49,14572,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,1457201 +1100105,49,14573,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,1457301 +1100105,49,14574,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1457401 +1100105,49,14575,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,1457501 +1100105,49,14576,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1457601 +1100105,49,14577,1,71,1,-9,-9,6,1,1,-9,4,0,0.0,1457701 +1100105,49,14578,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1457801 +1100105,49,14579,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1457901 +1100105,49,14580,1,67,2,-9,-9,6,1,1,-9,4,0,0.0,1458001 +1100105,49,14581,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,1458101 +1100105,49,14582,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,1458201 +1100105,49,14583,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,1458301 +1100105,49,14584,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,1458401 +1100105,49,14585,1,78,2,-9,-9,6,1,1,-9,4,0,0.0,1458501 +1100105,49,14586,1,67,2,-9,-9,6,1,1,-9,4,0,0.0,1458601 +1100105,49,14587,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,1458701 +1100105,49,14588,1,87,1,-9,-9,6,1,1,-9,2,0,0.0,1458801 +1100105,49,14589,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1458901 +1100105,49,14590,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1459001 +1100105,49,14591,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,1459101 +1100105,49,14592,1,53,1,40,3,6,3,1,-9,4,562,7790.0,1459201 +1100105,49,14593,1,44,1,40,3,6,6,1,-9,4,622M,8191.0,1459301 +1100105,49,14594,1,63,2,-9,-9,6,2,1,-9,4,814,9290.0,1459401 +1100105,49,14595,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,1459501 +1100105,49,14596,1,50,2,20,6,3,1,1,-9,4,531M,7071.0,1459601 +1100105,49,14597,1,50,2,20,6,3,1,1,-9,4,531M,7071.0,1459701 +1100105,49,14598,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,1459801 +1100105,49,14599,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,1459901 +1100105,49,14600,1,42,2,-9,-9,6,1,1,16,4,0,0.0,1460001 +1100105,49,14601,1,42,2,-9,-9,6,1,1,16,4,0,0.0,1460101 +1100105,49,14602,1,27,2,-9,-9,6,2,1,-9,4,5616,7680.0,1460201 +1100105,49,14603,1,34,2,-9,-9,6,1,1,-9,4,611M1,7870.0,1460301 +1100105,49,14604,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,1460401 +1100105,49,14605,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1460501 +1100105,49,14606,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1460601 +1100105,49,14607,1,66,2,40,3,2,2,1,-9,4,611M1,7870.0,1460701 +1100105,49,14608,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1460801 +1100105,49,14609,1,71,2,18,1,1,1,1,-9,4,4MS,5790.0,1460901 +1100105,49,14610,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1461001 +1100105,49,14611,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,1461101 +1100105,49,14612,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1461201 +1100105,49,14613,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1461301 +1100105,49,14614,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1461401 +1100105,49,14615,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,1461501 +1100105,49,14616,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,1461601 +1100105,49,14617,1,56,2,40,3,1,2,1,-9,4,481,6070.0,1461701 +1100105,49,14618,1,48,1,40,1,1,2,1,-9,4,5419Z,7490.0,1461801 +1100105,49,14619,1,53,1,40,1,1,2,1,-9,4,6231,8270.0,1461901 +1100105,49,14620,1,53,1,40,1,1,2,1,-9,4,6231,8270.0,1462001 +1100105,49,14621,1,63,1,50,1,1,1,1,-9,4,611M3,7890.0,1462101 +1100105,49,14622,1,55,1,20,6,2,1,1,-9,4,23,770.0,1462201 +1100105,49,14623,1,40,2,25,6,1,1,1,-9,4,6242,8380.0,1462301 +1100105,49,14624,1,59,2,20,6,1,1,1,-9,4,6244,8470.0,1462401 +1100105,49,14625,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,1462501 +1100105,49,14626,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,1462601 +1100105,49,14627,1,52,1,60,1,1,1,1,-9,4,5415,7380.0,1462701 +1100105,49,14628,1,53,1,23,4,1,1,1,-9,4,928P,9590.0,1462801 +1100105,49,14629,1,59,2,20,6,1,1,1,-9,4,6244,8470.0,1462901 +1100105,49,14630,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,1463001 +1100105,49,14631,1,64,1,30,1,1,1,1,-9,4,5419Z,7490.0,1463101 +1100105,49,14632,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,1463201 +1100105,49,14633,1,38,2,50,1,1,1,1,-9,4,928P,9590.0,1463301 +1100105,49,14634,1,47,1,40,4,1,1,1,-9,4,722Z,8680.0,1463401 +1100105,49,14635,1,64,2,4,5,1,1,11,-9,4,7211,8660.0,1463501 +1100105,49,14636,1,64,2,4,5,1,1,11,-9,4,7211,8660.0,1463601 +1100105,49,14637,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,1463701 +1100105,49,14638,1,40,1,30,6,1,9,19,-9,4,111,170.0,1463801 +1100105,49,14639,1,28,1,40,6,1,9,1,-9,4,92M2,9570.0,1463901 +1100105,49,14640,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1464001 +1100105,49,14641,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1464101 +1100105,49,14642,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1464201 +1100105,49,14643,1,34,2,24,4,1,6,1,-9,4,722Z,8680.0,1464301 +1100105,49,14644,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1464401 +1100105,49,14645,1,21,2,10,3,1,6,1,15,4,45121,5370.0,1464501 +1100105,49,14646,1,26,2,40,1,1,2,1,-9,4,6214,8090.0,1464601 +1100105,49,14647,1,24,2,17,1,1,2,1,-9,4,722Z,8680.0,1464701 +1100105,49,14648,1,24,1,24,1,1,1,1,16,4,6211,7970.0,1464801 +1100105,49,14649,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,1464901 +1100105,49,14650,1,23,1,40,1,1,1,1,16,4,5415,7380.0,1465001 +1100105,49,14651,1,22,1,40,4,1,1,1,-9,4,5313,7072.0,1465101 +1100105,49,14652,1,22,2,25,4,1,1,1,-9,4,611M1,7870.0,1465201 +1100105,49,14653,1,33,2,40,1,1,1,1,15,2,483,6090.0,1465301 +1100105,49,14654,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,1465401 +1100105,49,14655,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,1465501 +1100105,49,14656,1,26,2,30,1,1,1,1,16,4,611M1,7870.0,1465601 +1100105,49,14657,1,23,2,40,3,1,1,1,-9,4,813M,9170.0,1465701 +1100105,49,14658,1,20,2,35,4,1,1,1,15,4,5416,7390.0,1465801 +1100105,49,14659,1,25,1,6,4,1,1,1,16,4,713Z,8590.0,1465901 +1100105,49,14660,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,1466001 +1100105,49,14661,1,21,2,20,1,1,1,1,15,4,622M,8191.0,1466101 +1100105,49,14662,1,26,2,50,5,1,1,1,-9,4,5416,7390.0,1466201 +1100105,49,14663,1,22,1,40,5,1,1,1,-9,4,5241,6991.0,1466301 +1100105,49,14664,1,28,2,40,5,1,1,23,-9,4,928P,9590.0,1466401 +1100105,49,14665,1,28,2,40,5,1,1,23,-9,4,928P,9590.0,1466501 +1100105,49,14666,1,28,2,20,3,1,1,2,16,4,923,9480.0,1466601 +1100105,49,14667,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,1466701 +1100105,49,14668,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,1466801 +1100105,49,14669,1,65,2,-9,-9,6,9,1,-9,4,0,0.0,1466901 +1100105,49,14670,1,65,2,-9,-9,6,9,1,-9,4,0,0.0,1467001 +1100105,49,14671,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,1467101 +1100105,49,14672,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,1467201 +1100105,49,14673,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,1467301 +1100105,49,14674,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,1467401 +1100105,49,14675,1,80,2,-9,-9,6,2,1,-9,4,0,0.0,1467501 +1100105,49,14676,1,65,2,-9,-9,6,2,1,-9,4,0,0.0,1467601 +1100105,49,14677,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1467701 +1100105,49,14678,1,93,2,-9,-9,6,2,1,-9,4,0,0.0,1467801 +1100105,49,14679,1,79,2,-9,-9,6,2,1,-9,4,0,0.0,1467901 +1100105,49,14680,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,1468001 +1100105,49,14681,1,80,2,-9,-9,6,2,1,-9,4,0,0.0,1468101 +1100105,49,14682,1,69,1,-9,-9,6,2,1,-9,2,0,0.0,1468201 +1100105,49,14683,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,1468301 +1100105,49,14684,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,1468401 +1100105,49,14685,1,93,2,-9,-9,6,2,1,-9,4,0,0.0,1468501 +1100105,49,14686,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,1468601 +1100105,49,14687,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,1468701 +1100105,49,14688,1,82,2,-9,-9,6,2,1,-9,4,0,0.0,1468801 +1100105,49,14689,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,1468901 +1100105,49,14690,1,70,1,-9,-9,6,2,1,-9,2,0,0.0,1469001 +1100105,49,14691,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,1469101 +1100105,49,14692,1,89,1,-9,-9,6,2,1,-9,4,0,0.0,1469201 +1100105,49,14693,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,1469301 +1100105,49,14694,1,80,1,-9,-9,6,2,1,-9,4,0,0.0,1469401 +1100105,49,14695,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,1469501 +1100105,49,14696,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,1469601 +1100105,49,14697,1,79,2,-9,-9,6,2,1,-9,4,0,0.0,1469701 +1100105,49,14698,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,1469801 +1100105,49,14699,1,72,2,-9,-9,6,2,1,-9,4,0,0.0,1469901 +1100105,49,14700,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1470001 +1100105,49,14701,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1470101 +1100105,49,14702,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,1470201 +1100105,49,14703,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,1470301 +1100105,49,14704,1,69,2,-9,-9,6,1,1,-9,4,622M,8191.0,1470401 +1100105,49,14705,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1470501 +1100105,49,14706,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,1470601 +1100105,49,14707,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1470701 +1100105,49,14708,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,1470801 +1100105,49,14709,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1470901 +1100105,49,14710,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1471001 +1100105,49,14711,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1471101 +1100105,49,14712,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1471201 +1100105,49,14713,1,82,2,-9,-9,6,1,1,-9,4,0,0.0,1471301 +1100105,49,14714,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,1471401 +1100105,49,14715,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1471501 +1100105,49,14716,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1471601 +1100105,49,14717,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1471701 +1100105,49,14718,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,1471801 +1100105,49,14719,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1471901 +1100105,49,14720,1,67,2,30,4,6,1,1,-9,4,7115,8564.0,1472001 +1100105,49,14721,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,1472101 +1100105,49,14722,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1472201 +1100105,49,14723,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1472301 +1100105,49,14724,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1472401 +1100105,49,14725,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1472501 +1100105,49,14726,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,1472601 +1100105,49,14727,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1472701 +1100105,49,14728,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1472801 +1100105,49,14729,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,1472901 +1100105,49,14730,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1473001 +1100105,49,14731,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,1473101 +1100105,49,14732,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1473201 +1100105,49,14733,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,1473301 +1100105,49,14734,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,1473401 +1100105,49,14735,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,1473501 +1100105,49,14736,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,1473601 +1100105,49,14737,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,1473701 +1100105,49,14738,1,44,2,-9,-9,3,6,1,-9,4,92M1,9490.0,1473801 +1100105,49,14739,1,53,1,-9,-9,3,2,1,-9,2,4411,4670.0,1473901 +1100105,49,14740,1,56,1,-9,-9,6,2,1,-9,4,0,0.0,1474001 +1100105,49,14741,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,1474101 +1100105,49,14742,1,38,2,-9,-9,6,2,1,-9,4,0,0.0,1474201 +1100105,49,14743,1,53,1,-9,-9,3,2,1,-9,2,4411,4670.0,1474301 +1100105,49,14744,1,51,1,-9,-9,6,2,1,-9,4,0,0.0,1474401 +1100105,49,14745,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,1474501 +1100105,49,14746,1,53,1,-9,-9,6,2,1,-9,2,0,0.0,1474601 +1100105,49,14747,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,1474701 +1100105,49,14748,1,38,2,-9,-9,6,2,1,-9,4,0,0.0,1474801 +1100105,49,14749,1,42,2,-9,-9,6,2,1,-9,4,0,0.0,1474901 +1100105,49,14750,1,43,1,-9,-9,6,2,1,15,4,4523,5391.0,1475001 +1100105,49,14751,1,36,2,-9,-9,6,2,1,-9,4,0,0.0,1475101 +1100105,49,14752,1,63,1,-9,-9,6,2,1,-9,4,0,0.0,1475201 +1100105,49,14753,1,62,1,-9,-9,6,2,1,-9,4,0,0.0,1475301 +1100105,49,14754,1,54,2,-9,-9,6,1,1,-9,4,0,0.0,1475401 +1100105,49,14755,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,1475501 +1100105,49,14756,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1475601 +1100105,49,14757,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1475701 +1100105,49,14758,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,1475801 +1100105,49,14759,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1475901 +1100105,49,14760,1,60,1,10,1,6,1,1,-9,4,5415,7380.0,1476001 +1100105,49,14761,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1476101 +1100105,49,14762,1,56,2,-9,-9,3,1,1,16,4,5413,7290.0,1476201 +1100105,49,14763,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1476301 +1100105,49,14764,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,1476401 +1100105,49,14765,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,1476501 +1100105,49,14766,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,1476601 +1100105,49,14767,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,1476701 +1100105,49,14768,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1476801 +1100105,49,14769,1,56,1,29,5,3,1,1,-9,4,5613,7580.0,1476901 +1100105,49,14770,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,1477001 +1100105,49,14771,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,1477101 +1100105,49,14772,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1477201 +1100105,49,14773,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1477301 +1100105,49,14774,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,1477401 +1100105,49,14775,1,56,1,-9,-9,6,1,1,-9,4,5241,6991.0,1477501 +1100105,49,14776,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1477601 +1100105,49,14777,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1477701 +1100105,49,14778,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,1477801 +1100105,49,14779,1,53,1,-9,-9,3,1,1,-9,4,814,9290.0,1477901 +1100105,49,14780,1,38,1,35,5,3,1,16,-9,4,5416,7390.0,1478001 +1100105,49,14781,1,54,2,-9,-9,6,1,23,-9,4,0,0.0,1478101 +1100105,49,14782,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,1478201 +1100105,49,14783,1,45,2,35,5,3,1,16,-9,4,6211,7970.0,1478301 +1100105,49,14784,1,25,1,-9,-9,6,6,1,16,4,51913,6672.0,1478401 +1100105,49,14785,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,1478501 +1100105,49,14786,1,26,1,-9,-9,6,6,1,-9,4,0,0.0,1478601 +1100105,49,14787,1,22,2,45,3,6,6,1,16,4,23,770.0,1478701 +1100105,49,14788,1,24,2,60,6,6,6,1,16,4,531M,7071.0,1478801 +1100105,49,14789,1,33,1,-9,-9,3,1,1,-9,4,486,6270.0,1478901 +1100105,49,14790,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,1479001 +1100105,49,14791,1,23,2,-9,-9,6,1,1,16,4,5416,7390.0,1479101 +1100105,49,14792,1,26,2,-9,-9,6,1,1,16,4,611M1,7870.0,1479201 +1100105,49,14793,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1479301 +1100105,49,14794,1,24,1,10,4,6,1,1,16,4,611M1,7870.0,1479401 +1100105,49,14795,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,1479501 +1100105,49,14796,1,28,1,55,5,6,1,1,16,4,52M1,6870.0,1479601 +1100105,49,14797,1,23,2,40,6,6,1,1,-9,4,5411,7270.0,1479701 +1100105,49,14798,1,28,1,55,5,6,1,1,16,4,52M1,6870.0,1479801 +1100105,49,14799,1,23,1,-9,-9,6,1,1,-9,4,4523,5391.0,1479901 +1100105,49,14800,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1480001 +1100105,49,14801,1,21,2,20,2,6,1,1,15,4,5411,7270.0,1480101 +1100105,49,14802,1,23,1,30,4,6,1,1,16,4,9211MP,9370.0,1480201 +1100105,49,14803,1,25,1,20,4,3,1,1,15,4,6241,8370.0,1480301 +1100105,49,14804,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,1480401 +1100105,49,14805,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,1480501 +1100105,49,14806,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,1480601 +1100105,49,14807,1,27,2,-9,-9,6,1,2,-9,4,0,0.0,1480701 +1100105,49,14808,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1480801 +1100105,49,14809,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,1480901 +1100105,49,14810,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1481001 +1100105,49,14811,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1481101 +1100105,50,14812,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1481201 +1100105,50,14812,2,32,2,40,4,1,1,1,16,4,5416,7390.0,1481202 +1100105,50,14812,3,30,1,48,1,1,1,1,-9,4,5415,7380.0,1481203 +1100105,50,14812,4,29,1,75,1,1,1,1,-9,2,7115,8564.0,1481204 +1100105,50,14812,5,29,1,40,1,1,1,1,-9,4,45121,5370.0,1481205 +1100105,50,14812,6,27,2,40,1,1,1,1,-9,4,3391,3960.0,1481206 +1100105,50,14812,7,27,2,40,1,1,1,1,-9,4,515,6670.0,1481207 +1100105,50,14813,1,39,1,40,1,1,1,1,-9,4,5411,7270.0,1481301 +1100105,50,14813,2,26,2,40,1,1,1,1,-9,4,5411,7270.0,1481302 +1100105,50,14813,3,30,2,40,1,1,1,1,-9,4,5417,7460.0,1481303 +1100105,50,14813,4,28,2,40,1,2,1,1,-9,4,813M,9170.0,1481304 +1100105,50,14813,5,27,1,40,1,1,1,1,-9,4,5111Z,6480.0,1481305 +1100105,50,14813,6,26,2,40,1,1,1,1,-9,4,5416,7390.0,1481306 +1100105,50,14813,7,26,1,40,1,1,6,1,-9,4,53M,7190.0,1481307 +1100105,50,14813,8,28,2,40,5,1,1,1,-9,4,2211P,570.0,1481308 +1100105,50,14814,1,24,2,50,1,1,1,1,-9,4,5419Z,7490.0,1481401 +1100105,50,14814,2,34,1,50,1,1,1,1,-9,4,5412,7280.0,1481402 +1100105,50,14814,3,34,1,40,1,1,6,1,-9,4,92M2,9570.0,1481403 +1100105,50,14814,4,33,1,40,1,1,1,1,-9,4,5416,7390.0,1481404 +1100105,50,14814,5,29,2,30,3,1,1,1,16,4,712,8570.0,1481405 +1100105,50,14814,6,27,1,40,1,1,1,1,-9,4,5415,7380.0,1481406 +1100105,50,14814,7,26,2,30,3,1,1,1,-9,4,712,8570.0,1481407 +1100105,50,14814,8,23,2,55,1,1,1,1,-9,4,9211MP,9370.0,1481408 +1100105,50,14815,1,47,2,27,1,1,6,1,-9,4,812112,8980.0,1481501 +1100105,50,14815,2,44,1,40,1,2,6,1,-9,4,6214,8090.0,1481502 +1100105,50,14815,3,20,1,-9,-9,6,6,1,15,4,0,0.0,1481503 +1100105,50,14815,4,17,2,-9,-9,6,6,1,14,4,0,0.0,1481504 +1100105,50,14815,5,1,2,-9,-9,-9,6,1,-9,-9,0,0.0,1481505 +1100105,50,14815,6,71,1,-9,-9,6,6,1,-9,4,0,0.0,1481506 +1100105,50,14815,7,69,2,-9,-9,6,6,1,-9,4,0,0.0,1481507 +1100105,50,14815,8,61,2,18,6,1,6,1,-9,4,722Z,8680.0,1481508 +1100105,50,14815,9,59,1,40,6,3,6,1,-9,4,722Z,8680.0,1481509 +1100105,50,14815,10,57,1,40,5,1,6,1,-9,4,487,6280.0,1481510 +1100105,50,14815,11,14,1,-9,-9,-9,6,1,8,-9,0,0.0,1481511 +1100105,50,14816,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1481601 +1100105,50,14816,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1481602 +1100105,50,14816,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1481603 +1100105,50,14816,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1481604 +1100105,50,14816,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1481605 +1100105,50,14816,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1481606 +1100105,50,14816,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1481607 +1100105,50,14816,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1481608 +1100105,50,14816,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1481609 +1100105,50,14817,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1481701 +1100105,50,14817,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1481702 +1100105,50,14817,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1481703 +1100105,50,14817,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1481704 +1100105,50,14817,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1481705 +1100105,50,14817,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1481706 +1100105,50,14817,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1481707 +1100105,50,14817,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1481708 +1100105,50,14817,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1481709 +1100105,50,14818,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1481801 +1100105,50,14818,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1481802 +1100105,50,14818,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1481803 +1100105,50,14818,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1481804 +1100105,50,14818,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1481805 +1100105,50,14818,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1481806 +1100105,50,14818,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1481807 +1100105,50,14818,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1481808 +1100105,50,14818,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1481809 +1100105,50,14819,1,57,1,55,1,1,1,1,-9,4,5416,7390.0,1481901 +1100105,50,14819,2,58,2,55,1,1,1,1,-9,2,5416,7390.0,1481902 +1100105,50,14819,3,23,2,40,4,1,1,1,-9,4,923,9480.0,1481903 +1100105,50,14820,1,27,1,40,1,1,1,1,-9,4,6111,7860.0,1482001 +1100105,50,14820,2,29,1,40,1,1,1,1,-9,4,5413,7290.0,1482002 +1100105,50,14820,3,27,1,40,1,1,1,1,-9,4,562,7790.0,1482003 +1100105,50,14821,1,64,2,35,1,1,1,1,-9,4,6214,8090.0,1482101 +1100105,50,14821,2,70,1,8,6,3,1,1,-9,4,5416,7390.0,1482102 +1100105,50,14821,3,33,1,40,1,1,1,1,-9,4,52M2,6970.0,1482103 +1100105,50,14822,1,53,2,40,1,1,1,1,-9,4,928P,9590.0,1482201 +1100105,50,14822,2,54,1,40,1,1,1,1,-9,4,928P,9590.0,1482202 +1100105,50,14822,3,21,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1482203 +1100105,50,14823,1,49,1,40,1,1,1,1,-9,2,92M2,9570.0,1482301 +1100105,50,14823,2,44,2,40,1,1,1,1,-9,4,5416,7390.0,1482302 +1100105,50,14823,3,23,1,10,6,6,1,1,15,4,5416,7390.0,1482303 +1100105,50,14824,1,55,2,40,1,1,9,1,-9,4,52M2,6970.0,1482401 +1100105,50,14824,2,65,1,50,1,1,1,1,-9,4,44511,4971.0,1482402 +1100105,50,14824,3,15,2,-9,-9,-9,6,1,12,-9,0,0.0,1482403 +1100105,50,14825,1,41,1,50,1,1,1,1,-9,4,611M1,7870.0,1482501 +1100105,50,14825,2,42,2,40,1,1,6,1,-9,4,611M1,7870.0,1482502 +1100105,50,14825,3,6,2,-9,-9,-9,9,1,2,-9,0,0.0,1482503 +1100105,50,14826,1,52,1,50,1,1,1,1,-9,4,5416,7390.0,1482601 +1100105,50,14826,2,51,2,20,5,1,1,1,-9,4,6111,7860.0,1482602 +1100105,50,14826,3,14,1,-9,-9,-9,1,1,10,-9,0,0.0,1482603 +1100105,50,14827,1,52,1,50,1,1,1,1,-9,4,5416,7390.0,1482701 +1100105,50,14827,2,51,2,20,5,1,1,1,-9,4,6111,7860.0,1482702 +1100105,50,14827,3,14,1,-9,-9,-9,1,1,10,-9,0,0.0,1482703 +1100105,50,14828,1,50,1,40,1,1,1,1,-9,4,454110,5593.0,1482801 +1100105,50,14828,2,48,2,40,1,1,1,1,-9,4,5413,7290.0,1482802 +1100105,50,14828,3,15,2,-9,-9,-9,1,2,12,-9,0,0.0,1482803 +1100105,50,14829,1,37,1,50,1,1,1,1,-9,4,5416,7390.0,1482901 +1100105,50,14829,2,35,2,50,1,1,6,1,-9,4,5416,7390.0,1482902 +1100105,50,14829,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,1482903 +1100105,50,14830,1,43,1,50,1,1,1,1,-9,4,485M,6180.0,1483001 +1100105,50,14830,2,35,2,40,1,1,9,1,-9,4,92M1,9490.0,1483002 +1100105,50,14830,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1483003 +1100105,50,14831,1,40,1,60,1,1,1,1,-9,4,5411,7270.0,1483101 +1100105,50,14831,2,37,2,30,1,1,1,1,-9,4,713Z,8590.0,1483102 +1100105,50,14831,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1483103 +1100105,50,14832,1,45,1,65,1,1,1,1,-9,4,5418,7470.0,1483201 +1100105,50,14832,2,40,2,50,1,1,1,1,-9,4,5415,7380.0,1483202 +1100105,50,14832,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1483203 +1100105,50,14833,1,37,2,40,1,1,1,1,-9,4,5616,7680.0,1483301 +1100105,50,14833,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1483302 +1100105,50,14833,3,37,1,50,1,1,1,1,-9,4,611M1,7870.0,1483303 +1100105,50,14834,1,42,1,40,3,1,1,1,-9,4,928P,9590.0,1483401 +1100105,50,14834,2,42,2,40,1,1,1,1,-9,4,5417,7460.0,1483402 +1100105,50,14834,3,4,2,-9,-9,-9,1,1,1,-9,0,0.0,1483403 +1100105,50,14835,1,45,1,45,1,1,1,1,-9,4,5416,7390.0,1483501 +1100105,50,14835,2,50,1,40,1,1,1,1,-9,4,622M,8191.0,1483502 +1100105,50,14835,3,3,1,-9,-9,-9,1,7,1,-9,0,0.0,1483503 +1100105,50,14836,1,34,2,40,2,1,1,1,-9,4,5417,7460.0,1483601 +1100105,50,14836,2,37,1,40,2,1,6,1,-9,4,5416,7390.0,1483602 +1100105,50,14836,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,1483603 +1100105,50,14837,1,36,1,50,1,1,1,1,16,4,515,6670.0,1483701 +1100105,50,14837,2,29,2,60,1,1,1,1,-9,4,813M,9170.0,1483702 +1100105,50,14837,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1483703 +1100105,50,14838,1,40,1,50,1,1,1,1,-9,4,3391,3960.0,1483801 +1100105,50,14838,2,32,2,40,1,1,1,1,-9,4,923,9480.0,1483802 +1100105,50,14838,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1483803 +1100105,50,14839,1,33,2,60,1,1,1,3,-9,4,51913,6672.0,1483901 +1100105,50,14839,2,36,1,60,1,1,1,1,-9,4,5416,7390.0,1483902 +1100105,50,14839,3,0,1,-9,-9,-9,1,3,-9,-9,0,0.0,1483903 +1100105,50,14840,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,1484001 +1100105,50,14840,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,1484002 +1100105,50,14840,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,1484003 +1100105,50,14841,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,1484101 +1100105,50,14841,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,1484102 +1100105,50,14841,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,1484103 +1100105,50,14842,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,1484201 +1100105,50,14842,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,1484202 +1100105,50,14842,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1484203 +1100105,50,14843,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,1484301 +1100105,50,14843,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,1484302 +1100105,50,14843,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1484303 +1100105,50,14844,1,51,1,-9,-9,3,1,1,-9,4,8139Z,9190.0,1484401 +1100105,50,14844,2,40,1,42,1,1,1,1,-9,4,5416,7390.0,1484402 +1100105,50,14844,3,37,1,-9,-9,6,1,1,-9,4,6214,8090.0,1484403 +1100105,50,14845,1,44,1,20,5,6,1,1,-9,4,23,770.0,1484501 +1100105,50,14845,2,9,2,-9,-9,-9,1,1,5,-9,0,0.0,1484502 +1100105,50,14845,3,40,2,20,1,1,1,1,-9,4,712,8570.0,1484503 +1100105,50,14846,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,1484601 +1100105,50,14846,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,1484602 +1100105,50,14846,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,1484603 +1100105,50,14847,1,40,1,60,1,1,1,1,-9,4,92M2,9570.0,1484701 +1100105,50,14847,2,30,2,40,6,6,1,1,-9,4,5416,7390.0,1484702 +1100105,50,14847,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1484703 +1100105,50,14848,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,1484801 +1100105,50,14848,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,1484802 +1100105,50,14848,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1484803 +1100105,50,14849,1,26,2,40,1,1,1,1,-9,4,6241,8370.0,1484901 +1100105,50,14849,2,30,2,45,1,1,1,1,-9,4,481,6070.0,1484902 +1100105,50,14849,3,26,2,40,1,1,1,1,-9,4,92M2,9570.0,1484903 +1100105,50,14850,1,25,1,50,1,1,1,1,-9,4,5416,7390.0,1485001 +1100105,50,14850,2,25,1,50,1,1,1,1,-9,4,5413,7290.0,1485002 +1100105,50,14850,3,24,1,-9,-9,6,1,1,16,4,0,0.0,1485003 +1100105,50,14851,1,25,1,30,3,6,1,1,16,4,92M2,9570.0,1485101 +1100105,50,14851,2,25,1,40,1,1,1,1,-9,4,5415,7380.0,1485102 +1100105,50,14851,3,25,1,50,1,1,1,1,-9,4,56173,7770.0,1485103 +1100105,50,14852,1,47,1,40,1,1,1,1,-9,4,813M,9170.0,1485201 +1100105,50,14852,2,39,2,40,1,1,1,1,-9,4,81393,9180.0,1485202 +1100105,50,14852,3,3,1,-9,-9,-9,1,1,-9,-9,0,0.0,1485203 +1100105,50,14853,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,1485301 +1100105,50,14853,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,1485302 +1100105,50,14853,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,1485303 +1100105,50,14854,1,58,1,40,4,6,1,1,-9,4,522M,6890.0,1485401 +1100105,50,14854,2,54,2,40,1,1,9,1,-9,4,44413,4880.0,1485402 +1100105,50,14854,3,41,1,45,1,1,9,1,-9,4,8129,9090.0,1485403 +1100105,50,14855,1,38,1,45,1,1,1,1,-9,4,5419Z,7490.0,1485501 +1100105,50,14855,2,38,2,40,1,1,1,1,-9,4,928P,9590.0,1485502 +1100105,50,14855,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,1485503 +1100105,50,14856,1,27,2,-9,-9,6,1,4,16,4,0,0.0,1485601 +1100105,50,14856,2,32,2,40,1,1,1,1,-9,4,923,9480.0,1485602 +1100105,50,14856,3,25,2,-9,-9,6,2,1,16,4,0,0.0,1485603 +1100105,50,14857,1,56,2,-9,-9,3,1,1,-9,4,999920,9920.0,1485701 +1100105,50,14857,2,51,1,40,1,1,1,1,-9,4,92M1,9490.0,1485702 +1100105,50,14857,3,15,1,-9,-9,-9,1,1,12,-9,0,0.0,1485703 +1100105,50,14858,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,1485801 +1100105,50,14858,2,32,2,-9,-9,6,1,1,-9,4,5413,7290.0,1485802 +1100105,50,14858,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1485803 +1100105,50,14859,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1485901 +1100105,50,14859,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,1485902 +1100105,50,14859,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,1485903 +1100105,50,14860,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1486001 +1100105,50,14860,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,1486002 +1100105,50,14860,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,1486003 +1100105,50,14861,1,27,2,20,1,1,1,1,16,4,923,9480.0,1486101 +1100105,50,14861,2,24,2,-9,-9,6,1,1,15,4,0,0.0,1486102 +1100105,50,14861,3,23,2,20,1,1,1,24,15,4,5415,7380.0,1486103 +1100105,50,14862,1,65,2,30,1,1,1,15,15,4,814,9290.0,1486201 +1100105,50,14862,2,26,2,40,1,1,1,11,-9,4,5313,7072.0,1486202 +1100105,50,14862,3,6,1,-9,-9,-9,1,11,3,-9,0,0.0,1486203 +1100105,50,14863,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,1486301 +1100105,50,14863,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,1486302 +1100105,50,14863,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,1486303 +1100105,50,14864,1,57,1,-9,-9,6,1,1,-9,4,5411,7270.0,1486401 +1100105,50,14864,2,58,2,-9,-9,6,1,1,-9,4,0,0.0,1486402 +1100105,50,14864,3,30,2,40,1,1,1,1,-9,4,6244,8470.0,1486403 +1100105,50,14865,1,57,1,-9,-9,6,1,1,-9,4,5411,7270.0,1486501 +1100105,50,14865,2,58,2,-9,-9,6,1,1,-9,4,0,0.0,1486502 +1100105,50,14865,3,30,2,40,1,1,1,1,-9,4,6244,8470.0,1486503 +1100105,50,14866,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,1486601 +1100105,50,14866,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,1486602 +1100105,50,14866,3,21,1,15,1,1,1,1,15,4,621M,8180.0,1486603 +1100105,50,14867,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,1486701 +1100105,50,14867,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,1486702 +1100105,50,14867,3,21,1,15,1,1,1,1,15,4,621M,8180.0,1486703 +1100105,50,14868,1,20,2,10,6,6,1,1,15,4,6244,8470.0,1486801 +1100105,50,14868,2,20,2,20,5,6,6,1,15,4,611M1,7870.0,1486802 +1100105,50,14868,3,20,2,45,1,1,1,1,15,4,9211MP,9370.0,1486803 +1100105,50,14869,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1486901 +1100105,50,14869,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1486902 +1100105,50,14869,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1486903 +1100105,50,14870,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1487001 +1100105,50,14870,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1487002 +1100105,50,14870,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1487003 +1100105,50,14871,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1487101 +1100105,50,14871,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1487102 +1100105,50,14871,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1487103 +1100105,50,14872,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1487201 +1100105,50,14872,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1487202 +1100105,50,14872,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1487203 +1100105,50,14873,1,65,1,-9,-9,6,6,1,-9,4,623M,8290.0,1487301 +1100105,50,14873,2,55,2,12,3,6,6,1,-9,4,4523,5391.0,1487302 +1100105,50,14873,3,34,2,12,6,3,6,1,-9,4,722Z,8680.0,1487303 +1100105,50,14874,1,65,1,42,1,1,1,1,-9,4,92M2,9570.0,1487401 +1100105,50,14874,2,71,1,38,1,1,1,1,-9,4,5615,7670.0,1487402 +1100105,50,14875,1,67,1,40,1,1,1,1,-9,3,5411,7270.0,1487501 +1100105,50,14875,2,64,2,10,1,1,1,1,-9,4,611M1,7870.0,1487502 +1100105,50,14876,1,81,2,25,1,1,1,1,-9,4,51111,6470.0,1487601 +1100105,50,14876,2,48,2,40,1,1,1,1,-9,4,622M,8191.0,1487602 +1100105,50,14877,1,46,2,35,1,2,6,1,-9,4,6111,7860.0,1487701 +1100105,50,14877,2,45,1,40,1,1,6,1,-9,4,722Z,8680.0,1487702 +1100105,50,14878,1,38,2,60,1,1,1,1,-9,4,7111,8561.0,1487801 +1100105,50,14878,2,40,1,40,1,1,9,1,-9,4,7111,8561.0,1487802 +1100105,50,14879,1,38,2,40,1,1,6,1,-9,4,813M,9170.0,1487901 +1100105,50,14879,2,38,1,50,1,1,1,1,-9,4,92M2,9570.0,1487902 +1100105,50,14880,1,39,2,40,1,1,6,1,-9,4,92MP,9470.0,1488001 +1100105,50,14880,2,42,1,40,1,1,1,1,-9,4,928P,9590.0,1488002 +1100105,50,14881,1,49,1,40,1,1,1,1,-9,4,5416,7390.0,1488101 +1100105,50,14881,2,45,1,49,1,1,1,1,-9,4,6214,8090.0,1488102 +1100105,50,14882,1,64,2,28,1,1,1,1,-9,4,928P,9590.0,1488201 +1100105,50,14882,2,56,2,40,1,1,1,1,-9,4,51912,6770.0,1488202 +1100105,50,14883,1,37,2,40,1,1,1,1,-9,4,8139Z,9190.0,1488301 +1100105,50,14883,2,36,1,65,1,1,1,1,-9,4,522M,6890.0,1488302 +1100105,50,14884,1,37,1,50,1,1,1,1,-9,4,531M,7071.0,1488401 +1100105,50,14884,2,36,2,40,1,1,1,1,-9,4,813M,9170.0,1488402 +1100105,50,14885,1,52,1,40,1,1,1,1,16,4,92119,9390.0,1488501 +1100105,50,14885,2,48,2,40,1,1,1,1,-9,4,92119,9390.0,1488502 +1100105,50,14886,1,61,1,40,1,1,1,1,-9,4,611M1,7870.0,1488601 +1100105,50,14886,2,52,2,40,1,1,1,1,-9,4,5242,6992.0,1488602 +1100105,50,14887,1,39,2,50,1,1,1,1,-9,4,813M,9170.0,1488701 +1100105,50,14887,2,45,1,40,1,1,1,1,-9,4,3231,1990.0,1488702 +1100105,50,14888,1,40,1,45,1,1,1,1,-9,4,9211MP,9370.0,1488801 +1100105,50,14888,2,41,1,45,1,1,1,1,-9,4,9211MP,9370.0,1488802 +1100105,50,14889,1,37,1,40,1,1,1,1,-9,4,23,770.0,1488901 +1100105,50,14889,2,49,1,40,1,1,1,1,-9,2,23,770.0,1488902 +1100105,50,14890,1,37,2,40,1,1,1,1,-9,4,8139Z,9190.0,1489001 +1100105,50,14890,2,36,1,65,1,1,1,1,-9,4,522M,6890.0,1489002 +1100105,50,14891,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,1489101 +1100105,50,14891,2,49,1,40,1,1,1,1,-9,4,5415,7380.0,1489102 +1100105,50,14892,1,53,2,36,1,1,1,1,-9,4,6214,8090.0,1489201 +1100105,50,14892,2,54,1,60,1,1,1,1,-9,2,5411,7270.0,1489202 +1100105,50,14893,1,48,1,40,1,1,1,1,-9,4,92113,9380.0,1489301 +1100105,50,14893,2,51,1,40,1,1,1,1,-9,2,5241,6991.0,1489302 +1100105,50,14894,1,48,1,46,1,1,1,1,-9,4,622M,8191.0,1489401 +1100105,50,14894,2,46,1,40,1,1,1,1,-9,4,5411,7270.0,1489402 +1100105,50,14895,1,37,1,40,3,1,1,1,16,2,7115,8564.0,1489501 +1100105,50,14895,2,36,1,60,1,1,1,1,-9,4,722Z,8680.0,1489502 +1100105,50,14896,1,53,1,40,1,1,1,1,-9,4,928P,9590.0,1489601 +1100105,50,14896,2,44,2,20,4,1,1,1,16,4,5416,7390.0,1489602 +1100105,50,14897,1,46,1,60,1,1,1,1,-9,4,424M,4380.0,1489701 +1100105,50,14897,2,50,1,40,1,1,1,1,15,4,5313,7072.0,1489702 +1100105,50,14898,1,52,1,40,1,1,1,1,16,4,92119,9390.0,1489801 +1100105,50,14898,2,48,2,40,1,1,1,1,-9,4,92119,9390.0,1489802 +1100105,50,14899,1,53,1,50,1,1,1,1,-9,2,5413,7290.0,1489901 +1100105,50,14899,2,46,2,40,1,1,1,1,-9,4,622M,8191.0,1489902 +1100105,50,14900,1,39,1,50,1,1,1,1,-9,4,5121,6570.0,1490001 +1100105,50,14900,2,37,2,12,1,1,1,1,-9,4,522M,6890.0,1490002 +1100105,50,14901,1,43,1,45,1,1,1,1,-9,4,92M2,9570.0,1490101 +1100105,50,14901,2,42,2,40,1,1,1,3,-9,4,3345,3380.0,1490102 +1100105,50,14902,1,43,1,45,1,1,1,1,-9,4,92M2,9570.0,1490201 +1100105,50,14902,2,42,2,40,1,1,1,3,-9,4,3345,3380.0,1490202 +1100105,50,14903,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,1490301 +1100105,50,14903,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,1490302 +1100105,50,14904,1,37,1,40,1,1,9,1,-9,4,5416,7390.0,1490401 +1100105,50,14904,2,34,2,55,3,1,1,1,-9,4,5418,7470.0,1490402 +1100105,50,14905,1,38,1,60,1,1,1,1,-9,4,923,9480.0,1490501 +1100105,50,14905,2,31,1,60,1,1,1,1,-9,4,5416,7390.0,1490502 +1100105,50,14906,1,35,1,60,1,1,1,1,-9,2,33641M1,3580.0,1490601 +1100105,50,14906,2,26,2,16,2,1,1,1,16,4,6244,8470.0,1490602 +1100105,50,14907,1,36,1,45,2,1,1,1,-9,2,5416,7390.0,1490701 +1100105,50,14907,2,32,2,45,2,1,1,1,-9,4,928P,9590.0,1490702 +1100105,50,14908,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,1490801 +1100105,50,14908,2,32,2,50,4,1,1,1,-9,4,8139Z,9190.0,1490802 +1100105,50,14909,1,37,1,50,1,1,1,1,-9,4,51111,6470.0,1490901 +1100105,50,14909,2,31,2,50,1,1,1,1,-9,4,51111,6470.0,1490902 +1100105,50,14910,1,35,1,60,1,1,1,1,-9,4,5416,7390.0,1491001 +1100105,50,14910,2,33,2,46,1,1,1,1,-9,4,5416,7390.0,1491002 +1100105,50,14911,1,33,2,80,1,1,1,1,-9,4,5416,7390.0,1491101 +1100105,50,14911,2,35,1,50,2,1,1,1,16,4,5416,7390.0,1491102 +1100105,50,14912,1,35,1,40,1,1,1,1,-9,4,92113,9380.0,1491201 +1100105,50,14912,2,32,2,40,1,1,1,1,-9,4,5411,7270.0,1491202 +1100105,50,14913,1,39,1,40,1,1,1,6,-9,4,622M,8191.0,1491301 +1100105,50,14913,2,30,2,40,6,1,1,1,16,4,622M,8191.0,1491302 +1100105,50,14914,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,1491401 +1100105,50,14914,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,1491402 +1100105,50,14915,1,33,1,50,1,1,6,1,-9,4,5416,7390.0,1491501 +1100105,50,14915,2,31,2,45,1,1,1,1,-9,4,52M1,6870.0,1491502 +1100105,50,14916,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,1491601 +1100105,50,14916,2,26,2,50,1,1,1,1,-9,4,5411,7270.0,1491602 +1100105,50,14917,1,28,1,20,3,1,1,1,16,4,611M1,7870.0,1491701 +1100105,50,14917,2,29,2,40,1,1,1,1,-9,4,5416,7390.0,1491702 +1100105,50,14918,1,27,2,65,3,1,1,1,-9,4,5411,7270.0,1491801 +1100105,50,14918,2,27,1,50,1,1,1,1,-9,4,5416,7390.0,1491802 +1100105,50,14919,1,31,1,35,1,2,1,1,-9,4,7112,8562.0,1491901 +1100105,50,14919,2,27,2,40,1,1,1,1,-9,4,92113,9380.0,1491902 +1100105,50,14920,1,30,1,55,1,1,1,1,-9,4,5411,7270.0,1492001 +1100105,50,14920,2,28,2,55,1,1,1,1,-9,4,4234,4170.0,1492002 +1100105,50,14921,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,1492101 +1100105,50,14921,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1492102 +1100105,50,14922,1,30,2,40,1,1,1,1,-9,4,5412,7280.0,1492201 +1100105,50,14922,2,30,2,50,1,1,1,1,-9,4,622M,8191.0,1492202 +1100105,50,14923,1,34,2,40,1,1,1,1,-9,4,923,9480.0,1492301 +1100105,50,14923,2,33,1,60,1,1,1,1,-9,4,5416,7390.0,1492302 +1100105,50,14924,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,1492401 +1100105,50,14924,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,1492402 +1100105,50,14925,1,29,1,40,1,1,1,1,-9,4,52M2,6970.0,1492501 +1100105,50,14925,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,1492502 +1100105,50,14926,1,25,1,40,1,1,1,1,-9,4,5112,6490.0,1492601 +1100105,50,14926,2,28,1,50,1,1,1,1,16,4,5411,7270.0,1492602 +1100105,50,14927,1,28,2,45,1,1,1,1,-9,4,8139Z,9190.0,1492701 +1100105,50,14927,2,27,1,45,1,1,1,1,-9,4,5416,7390.0,1492702 +1100105,50,14928,1,31,2,52,1,1,1,1,-9,4,8139Z,9190.0,1492801 +1100105,50,14928,2,34,1,60,1,1,1,1,-9,4,928P,9590.0,1492802 +1100105,50,14929,1,32,1,45,1,1,1,1,-9,4,5418,7470.0,1492901 +1100105,50,14929,2,29,2,50,1,1,1,1,-9,4,713Z,8590.0,1492902 +1100105,50,14930,1,27,2,65,3,1,1,1,-9,4,5411,7270.0,1493001 +1100105,50,14930,2,27,1,50,1,1,1,1,-9,4,5416,7390.0,1493002 +1100105,50,14931,1,32,1,42,1,1,1,1,-9,4,92MP,9470.0,1493101 +1100105,50,14931,2,31,2,45,1,1,1,1,-9,4,92M2,9570.0,1493102 +1100105,50,14932,1,32,1,42,1,1,1,1,-9,4,92MP,9470.0,1493201 +1100105,50,14932,2,31,2,45,1,1,1,1,-9,4,92M2,9570.0,1493202 +1100105,50,14933,1,27,1,40,1,1,1,1,-9,4,5416,7390.0,1493301 +1100105,50,14933,2,26,2,50,1,1,1,1,-9,4,928P,9590.0,1493302 +1100105,50,14934,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1493401 +1100105,50,14934,2,34,1,40,1,1,1,15,-9,2,5413,7290.0,1493402 +1100105,50,14935,1,80,1,30,1,6,1,1,-9,2,23,770.0,1493501 +1100105,50,14935,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1493502 +1100105,50,14936,1,80,1,30,1,6,1,1,-9,2,23,770.0,1493601 +1100105,50,14936,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1493602 +1100105,50,14937,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1493701 +1100105,50,14937,2,67,2,50,1,1,1,1,-9,4,5413,7290.0,1493702 +1100105,50,14938,1,74,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1493801 +1100105,50,14938,2,61,1,60,1,1,6,1,-9,4,813M,9170.0,1493802 +1100105,50,14939,1,67,1,16,6,6,2,1,-9,4,5416,7390.0,1493901 +1100105,50,14939,2,50,2,5,6,1,1,1,-9,4,5416,7390.0,1493902 +1100105,50,14940,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1494001 +1100105,50,14940,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,1494002 +1100105,50,14941,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1494101 +1100105,50,14941,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1494102 +1100105,50,14942,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1494201 +1100105,50,14942,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1494202 +1100105,50,14943,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1494301 +1100105,50,14943,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,1494302 +1100105,50,14944,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,1494401 +1100105,50,14944,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,1494402 +1100105,50,14945,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1494501 +1100105,50,14945,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1494502 +1100105,50,14946,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,1494601 +1100105,50,14946,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,1494602 +1100105,50,14947,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,1494701 +1100105,50,14947,2,61,1,45,1,1,1,1,-9,4,492,6380.0,1494702 +1100105,50,14948,1,61,1,40,1,1,1,1,-9,4,8139Z,9190.0,1494801 +1100105,50,14948,2,60,2,-9,-9,6,1,1,-9,4,4511M,5275.0,1494802 +1100105,50,14949,1,57,1,50,3,3,1,1,-9,4,8139Z,9190.0,1494901 +1100105,50,14949,2,51,1,40,1,1,1,1,-9,4,8131,9160.0,1494902 +1100105,50,14950,1,64,1,-9,-9,6,1,1,-9,4,52M1,6870.0,1495001 +1100105,50,14950,2,54,1,40,1,1,1,1,-9,4,5241,6991.0,1495002 +1100105,50,14951,1,57,2,55,1,1,1,1,-9,4,81393,9180.0,1495101 +1100105,50,14951,2,63,1,5,6,3,1,1,-9,4,3219ZM,3875.0,1495102 +1100105,50,14952,1,59,2,60,1,1,1,1,-9,4,813M,9170.0,1495201 +1100105,50,14952,2,59,1,-9,-9,6,1,1,-9,4,0,0.0,1495202 +1100105,50,14953,1,40,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1495301 +1100105,50,14953,2,49,1,45,1,1,1,1,-9,4,5417,7460.0,1495302 +1100105,50,14954,1,59,1,-9,-9,6,1,1,-9,4,92M2,9570.0,1495401 +1100105,50,14954,2,56,1,40,1,1,1,3,-9,4,33641M1,3580.0,1495402 +1100105,50,14955,1,34,1,40,4,3,1,1,-9,2,5411,7270.0,1495501 +1100105,50,14955,2,32,2,40,1,1,1,1,-9,4,5412,7280.0,1495502 +1100105,50,14956,1,87,1,-9,-9,6,2,1,-9,2,0,0.0,1495601 +1100105,50,14956,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,1495602 +1100105,50,14957,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1495701 +1100105,50,14957,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1495702 +1100105,50,14958,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1495801 +1100105,50,14958,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1495802 +1100105,50,14959,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1495901 +1100105,50,14959,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1495902 +1100105,50,14960,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1496001 +1100105,50,14960,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1496002 +1100105,50,14961,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,1496101 +1100105,50,14961,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,1496102 +1100105,50,14962,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,1496201 +1100105,50,14962,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,1496202 +1100105,50,14963,1,63,1,4,6,6,1,1,-9,4,928P,9590.0,1496301 +1100105,50,14963,2,63,2,-9,-9,6,1,1,-9,4,0,0.0,1496302 +1100105,50,14964,1,52,1,40,3,1,1,1,16,4,6111,7860.0,1496401 +1100105,50,14964,2,47,1,40,1,1,8,1,-9,4,5413,7290.0,1496402 +1100105,50,14965,1,57,1,38,1,1,1,1,-9,2,485M,6180.0,1496501 +1100105,50,14965,2,60,2,40,1,1,6,1,-9,4,5613,7580.0,1496502 +1100105,50,14966,1,51,1,40,1,1,1,1,-9,4,92MP,9470.0,1496601 +1100105,50,14966,2,51,2,40,1,1,1,1,-9,4,446Z,5080.0,1496602 +1100105,50,14967,1,46,2,50,1,1,1,1,-9,4,7115,8564.0,1496701 +1100105,50,14967,2,36,1,50,1,1,1,1,-9,4,928P,9590.0,1496702 +1100105,50,14968,1,37,1,45,1,1,1,1,-9,4,928P,9590.0,1496801 +1100105,50,14968,2,37,2,50,3,1,1,1,-9,4,928P,9590.0,1496802 +1100105,50,14969,1,35,1,45,1,1,1,1,-9,4,92M2,9570.0,1496901 +1100105,50,14969,2,35,2,45,1,1,1,1,-9,4,813M,9170.0,1496902 +1100105,50,14970,1,36,2,60,1,1,1,1,-9,4,611M3,7890.0,1497001 +1100105,50,14970,2,36,2,45,1,1,8,17,-9,4,813M,9170.0,1497002 +1100105,50,14971,1,55,2,40,1,1,9,1,-9,4,928P,9590.0,1497101 +1100105,50,14971,2,33,1,40,1,1,1,1,-9,4,23,770.0,1497102 +1100105,50,14972,1,36,1,50,1,1,6,1,-9,4,611M1,7870.0,1497201 +1100105,50,14972,2,30,2,50,1,1,1,1,-9,4,928P,9590.0,1497202 +1100105,50,14973,1,36,1,50,1,1,1,1,-9,4,443142,4795.0,1497301 +1100105,50,14973,2,34,1,40,1,1,1,1,-9,4,5416,7390.0,1497302 +1100105,50,14974,1,35,1,40,1,4,1,1,-9,1,928110P1,9670.0,1497401 +1100105,50,14974,2,27,2,40,1,1,1,1,-9,4,5417,7460.0,1497402 +1100105,50,14975,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,1497501 +1100105,50,14975,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,1497502 +1100105,50,14976,1,32,1,40,1,1,6,1,-9,4,9211MP,9370.0,1497601 +1100105,50,14976,2,32,2,38,1,1,6,1,-9,4,5418,7470.0,1497602 +1100105,50,14977,1,27,1,40,1,1,1,1,-9,4,9211MP,9370.0,1497701 +1100105,50,14977,2,27,1,50,1,1,9,1,-9,4,5415,7380.0,1497702 +1100105,50,14978,1,30,2,55,1,1,6,1,-9,4,6111,7860.0,1497801 +1100105,50,14978,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,1497802 +1100105,50,14979,1,29,1,40,1,1,1,1,16,4,6111,7860.0,1497901 +1100105,50,14979,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,1497902 +1100105,50,14980,1,30,1,45,1,1,1,1,-9,4,9211MP,9370.0,1498001 +1100105,50,14980,2,25,1,45,1,1,1,1,-9,4,9211MP,9370.0,1498002 +1100105,50,14981,1,32,2,45,1,1,1,1,-9,4,713Z,8590.0,1498101 +1100105,50,14981,2,34,1,67,1,1,1,1,-9,4,928P,9590.0,1498102 +1100105,50,14982,1,29,1,50,1,1,1,1,-9,4,522M,6890.0,1498201 +1100105,50,14982,2,31,1,40,1,1,1,1,-9,4,92M2,9570.0,1498202 +1100105,50,14983,1,28,1,65,1,1,1,1,-9,4,522M,6890.0,1498301 +1100105,50,14983,2,27,2,40,1,1,1,1,-9,4,5413,7290.0,1498302 +1100105,50,14984,1,31,1,45,1,1,1,1,-9,4,5415,7380.0,1498401 +1100105,50,14984,2,26,1,40,1,1,1,1,-9,4,8139Z,9190.0,1498402 +1100105,50,14985,1,26,1,50,1,1,1,1,-9,4,5413,7290.0,1498501 +1100105,50,14985,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,1498502 +1100105,50,14986,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,1498601 +1100105,50,14986,2,32,1,40,1,1,1,1,-9,4,5416,7390.0,1498602 +1100105,50,14987,1,34,1,40,1,1,1,1,-9,4,5121,6570.0,1498701 +1100105,50,14987,2,27,2,40,1,1,1,1,-9,4,5416,7390.0,1498702 +1100105,50,14988,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,1498801 +1100105,50,14988,2,32,1,40,1,1,1,1,-9,4,9211MP,9370.0,1498802 +1100105,50,14989,1,31,2,40,1,1,1,1,-9,4,611M3,7890.0,1498901 +1100105,50,14989,2,32,1,40,1,1,1,1,-9,4,5416,7390.0,1498902 +1100105,50,14990,1,32,2,40,1,1,1,1,16,4,6214,8090.0,1499001 +1100105,50,14990,2,31,1,40,1,1,1,1,-9,4,611M3,7890.0,1499002 +1100105,50,14991,1,31,1,45,1,1,1,1,-9,4,5416,7390.0,1499101 +1100105,50,14991,2,30,2,39,1,1,1,1,-9,4,622M,8191.0,1499102 +1100105,50,14992,1,34,1,45,1,1,1,1,-9,4,491,6370.0,1499201 +1100105,50,14992,2,31,1,60,1,1,1,1,-9,4,52M1,6870.0,1499202 +1100105,50,14993,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,1499301 +1100105,50,14993,2,32,1,40,1,1,1,1,-9,4,9211MP,9370.0,1499302 +1100105,50,14994,1,33,1,40,1,1,1,3,-9,4,923,9480.0,1499401 +1100105,50,14994,2,32,2,40,1,1,1,1,-9,4,454110,5593.0,1499402 +1100105,50,14995,1,74,1,16,3,6,1,1,-9,4,5417,7460.0,1499501 +1100105,50,14995,2,72,2,18,1,1,1,1,-9,4,5112,6490.0,1499502 +1100105,50,14996,1,74,2,40,1,1,1,1,-9,2,923,9480.0,1499601 +1100105,50,14996,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,1499602 +1100105,50,14997,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,1499701 +1100105,50,14997,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,1499702 +1100105,50,14998,1,58,1,40,3,3,1,1,-9,4,5415,7380.0,1499801 +1100105,50,14998,2,57,2,40,1,1,1,1,-9,4,8139Z,9190.0,1499802 +1100105,50,14999,1,60,2,40,1,1,1,1,-9,4,8139Z,9190.0,1499901 +1100105,50,14999,2,57,2,-9,-9,6,1,1,-9,4,5416,7390.0,1499902 +1100105,50,15000,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,1500001 +1100105,50,15000,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,1500002 +1100105,50,15001,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,1500101 +1100105,50,15001,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,1500102 +1100105,50,15002,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,1500201 +1100105,50,15002,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,1500202 +1100105,50,15003,1,25,2,35,4,6,1,1,-9,4,711M,8563.0,1500301 +1100105,50,15003,2,28,1,40,1,1,1,1,-9,4,531M,7071.0,1500302 +1100105,50,15004,1,31,2,50,3,3,1,1,-9,4,454110,5593.0,1500401 +1100105,50,15004,2,32,1,60,1,1,1,1,-9,4,9211MP,9370.0,1500402 +1100105,50,15005,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,1500501 +1100105,50,15005,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,1500502 +1100105,50,15006,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,1500601 +1100105,50,15006,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,1500602 +1100105,50,15007,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1500701 +1100105,50,15007,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1500702 +1100105,50,15008,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1500801 +1100105,50,15008,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1500802 +1100105,50,15009,1,78,2,-9,-9,6,1,16,-9,4,611M1,7870.0,1500901 +1100105,50,15009,2,75,1,-9,-9,6,1,1,-9,4,0,0.0,1500902 +1100105,50,15010,1,43,1,40,1,1,1,1,-9,4,5415,7380.0,1501001 +1100105,50,15010,2,36,2,50,1,1,1,1,-9,4,5413,7290.0,1501002 +1100105,50,15011,1,49,1,50,1,1,1,1,-9,4,611M1,7870.0,1501101 +1100105,50,15011,2,60,2,50,1,1,1,1,-9,4,7111,8561.0,1501102 +1100105,50,15012,1,37,2,45,1,1,1,1,-9,4,8139Z,9190.0,1501201 +1100105,50,15012,2,37,1,40,1,1,8,15,-9,4,5415,7380.0,1501202 +1100105,50,15013,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,1501301 +1100105,50,15013,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,1501302 +1100105,50,15014,1,36,2,45,1,1,1,1,-9,4,5241,6991.0,1501401 +1100105,50,15014,2,33,1,35,1,1,1,1,-9,4,531M,7071.0,1501402 +1100105,50,15015,1,32,1,50,1,1,1,2,-9,4,51111,6470.0,1501501 +1100105,50,15015,2,35,2,40,1,1,1,1,-9,4,5414,7370.0,1501502 +1100105,50,15016,1,37,2,40,3,1,8,13,-9,4,52M1,6870.0,1501601 +1100105,50,15016,2,34,1,40,3,1,8,23,-9,4,52M1,6870.0,1501602 +1100105,50,15017,1,29,1,50,1,1,1,1,-9,4,5313,7072.0,1501701 +1100105,50,15017,2,28,2,40,1,1,9,1,-9,4,5417,7460.0,1501702 +1100105,50,15018,1,27,2,40,1,1,6,1,-9,4,622M,8191.0,1501801 +1100105,50,15018,2,27,1,50,1,1,1,1,16,4,51111,6470.0,1501802 +1100105,50,15019,1,28,1,45,1,1,1,1,-9,4,5417,7460.0,1501901 +1100105,50,15019,2,30,2,45,1,1,1,1,-9,4,5417,7460.0,1501902 +1100105,50,15020,1,32,1,40,1,1,1,1,-9,4,622M,8191.0,1502001 +1100105,50,15020,2,31,2,35,1,1,1,1,-9,4,611M1,7870.0,1502002 +1100105,50,15021,1,25,2,45,1,1,1,1,-9,4,517Z,6690.0,1502101 +1100105,50,15021,2,28,2,40,1,1,1,1,-9,4,5415,7380.0,1502102 +1100105,50,15022,1,26,1,50,1,1,1,1,-9,4,923,9480.0,1502201 +1100105,50,15022,2,29,2,50,1,1,1,1,-9,4,611M3,7890.0,1502202 +1100105,50,15023,1,29,1,40,1,1,1,1,-9,2,5411,7270.0,1502301 +1100105,50,15023,2,27,2,40,1,1,1,1,-9,4,5418,7470.0,1502302 +1100105,50,15024,1,30,2,40,1,1,1,1,-9,4,51912,6770.0,1502401 +1100105,50,15024,2,32,1,40,1,1,1,1,-9,4,5415,7380.0,1502402 +1100105,50,15025,1,31,1,70,1,1,1,1,-9,4,5416,7390.0,1502501 +1100105,50,15025,2,26,2,40,1,1,1,1,-9,4,6111,7860.0,1502502 +1100105,50,15026,1,28,2,45,1,1,1,1,-9,4,813M,9170.0,1502601 +1100105,50,15026,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,1502602 +1100105,50,15027,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,1502701 +1100105,50,15027,2,23,2,45,1,1,1,1,-9,4,5416,7390.0,1502702 +1100105,50,15028,1,26,1,40,1,1,1,1,16,4,522M,6890.0,1502801 +1100105,50,15028,2,26,2,40,1,1,1,1,-9,4,6111,7860.0,1502802 +1100105,50,15029,1,30,1,50,1,1,1,1,-9,4,5111Z,6480.0,1502901 +1100105,50,15029,2,30,2,40,1,1,1,1,-9,4,813M,9170.0,1502902 +1100105,50,15030,1,30,2,40,2,1,1,1,16,4,611M1,7870.0,1503001 +1100105,50,15030,2,31,1,45,1,1,1,1,-9,4,5411,7270.0,1503002 +1100105,50,15031,1,28,2,45,1,1,1,1,-9,4,92MP,9470.0,1503101 +1100105,50,15031,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,1503102 +1100105,50,15032,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1503201 +1100105,50,15032,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1503202 +1100105,50,15033,1,40,1,42,3,1,1,1,-9,2,5415,7380.0,1503301 +1100105,50,15033,2,36,2,-9,-9,6,6,1,-9,4,611M1,7870.0,1503302 +1100105,50,15034,1,54,1,40,1,1,1,1,-9,2,92M2,9570.0,1503401 +1100105,50,15034,2,50,2,-9,-9,6,1,1,-9,4,0,0.0,1503402 +1100105,50,15035,1,52,1,40,6,3,1,1,-9,4,5411,7270.0,1503501 +1100105,50,15035,2,50,2,50,1,1,1,1,-9,4,484,6170.0,1503502 +1100105,50,15036,1,37,1,60,1,1,1,1,-9,4,611M1,7870.0,1503601 +1100105,50,15036,2,31,1,-9,-9,3,6,1,15,4,44611,5070.0,1503602 +1100105,50,15037,1,34,2,50,1,1,1,1,-9,4,5415,7380.0,1503701 +1100105,50,15037,2,23,2,35,5,3,1,1,-9,4,5417,7460.0,1503702 +1100105,50,15038,1,28,2,-9,-9,6,1,1,16,4,0,0.0,1503801 +1100105,50,15038,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,1503802 +1100105,50,15039,1,28,2,-9,-9,6,1,1,16,4,0,0.0,1503901 +1100105,50,15039,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,1503902 +1100105,50,15040,1,27,1,42,1,1,1,1,-9,4,928P,9590.0,1504001 +1100105,50,15040,2,28,1,16,4,6,1,23,-9,4,722Z,8680.0,1504002 +1100105,50,15041,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,1504101 +1100105,50,15041,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1504102 +1100105,50,15042,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,1504201 +1100105,50,15042,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1504202 +1100105,50,15043,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1504301 +1100105,50,15043,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1504302 +1100105,50,15044,1,41,1,32,1,1,1,1,-9,4,531M,7071.0,1504401 +1100105,50,15044,2,43,2,32,1,1,1,1,15,4,531M,7071.0,1504402 +1100105,50,15045,1,56,1,40,6,1,1,5,-9,4,7211,8660.0,1504501 +1100105,50,15045,2,52,2,60,5,1,1,19,-9,4,7211,8660.0,1504502 +1100105,50,15046,1,50,2,60,1,1,1,1,-9,4,4481,5170.0,1504601 +1100105,50,15046,2,32,1,60,1,1,9,1,-9,4,4481,5170.0,1504602 +1100105,50,15047,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1504701 +1100105,50,15047,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1504702 +1100105,50,15048,1,29,1,40,1,1,1,1,-9,4,712,8570.0,1504801 +1100105,50,15048,2,28,2,40,1,1,6,1,-9,4,5417,7460.0,1504802 +1100105,50,15049,1,25,2,40,1,1,1,1,-9,4,5191ZM,6780.0,1504901 +1100105,50,15049,2,27,1,40,1,1,1,1,-9,4,7112,8562.0,1504902 +1100105,50,15050,1,23,1,55,1,1,1,1,-9,4,531M,7071.0,1505001 +1100105,50,15050,2,24,1,55,1,1,1,1,-9,4,5121,6570.0,1505002 +1100105,50,15051,1,28,1,40,1,1,1,1,-9,4,5121,6570.0,1505101 +1100105,50,15051,2,28,1,40,1,1,1,1,-9,4,9211MP,9370.0,1505102 +1100105,50,15052,1,29,1,40,4,1,1,1,-9,4,9211MP,9370.0,1505201 +1100105,50,15052,2,24,2,40,1,1,1,1,-9,4,5415,7380.0,1505202 +1100105,50,15053,1,25,2,48,1,1,1,1,-9,4,5416,7390.0,1505301 +1100105,50,15053,2,24,2,70,1,1,1,1,-9,4,5416,7390.0,1505302 +1100105,50,15054,1,24,2,45,1,1,1,1,-9,4,722Z,8680.0,1505401 +1100105,50,15054,2,24,2,60,1,1,1,1,-9,4,9211MP,9370.0,1505402 +1100105,50,15055,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,1505501 +1100105,50,15055,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,1505502 +1100105,50,15056,1,26,2,45,1,1,1,1,-9,4,722Z,8680.0,1505601 +1100105,50,15056,2,29,1,50,1,1,1,1,-9,4,722Z,8680.0,1505602 +1100105,50,15057,1,29,2,40,6,1,1,1,-9,4,813M,9170.0,1505701 +1100105,50,15057,2,27,1,40,1,1,9,19,-9,4,923,9480.0,1505702 +1100105,50,15058,1,27,2,20,3,1,1,4,-9,4,5411,7270.0,1505801 +1100105,50,15058,2,30,2,50,1,1,1,1,16,4,622M,8191.0,1505802 +1100105,50,15059,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,1505901 +1100105,50,15059,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,1505902 +1100105,50,15060,1,68,2,50,1,1,1,1,-9,4,7211,8660.0,1506001 +1100105,50,15060,2,65,1,-9,-9,6,6,1,-9,4,0,0.0,1506002 +1100105,50,15061,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1506101 +1100105,50,15061,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,1506102 +1100105,50,15062,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1506201 +1100105,50,15062,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1506202 +1100105,50,15063,1,35,2,40,1,2,6,1,16,4,5411,7270.0,1506301 +1100105,50,15063,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,1506302 +1100105,50,15064,1,51,1,50,4,3,1,1,-9,4,722Z,8680.0,1506401 +1100105,50,15064,2,38,2,60,3,1,1,1,-9,4,722Z,8680.0,1506402 +1100105,50,15065,1,51,1,50,4,3,1,1,-9,4,722Z,8680.0,1506501 +1100105,50,15065,2,38,2,60,3,1,1,1,-9,4,722Z,8680.0,1506502 +1100105,50,15066,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1506601 +1100105,50,15066,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1506602 +1100105,50,15067,1,49,1,20,6,3,1,1,-9,4,51111,6470.0,1506701 +1100105,50,15067,2,32,1,50,1,1,1,1,-9,4,81393,9180.0,1506702 +1100105,50,15068,1,55,2,38,1,1,1,1,-9,4,928P,9590.0,1506801 +1100105,50,15068,2,20,1,-9,-9,6,1,1,15,4,0,0.0,1506802 +1100105,50,15069,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1506901 +1100105,50,15069,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1506902 +1100105,50,15070,1,32,2,40,1,1,1,23,16,4,712,8570.0,1507001 +1100105,50,15070,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,1507002 +1100105,50,15071,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1507101 +1100105,50,15071,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1507102 +1100105,50,15072,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1507201 +1100105,50,15072,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1507202 +1100105,50,15073,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1507301 +1100105,50,15073,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1507302 +1100105,50,15074,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,1507401 +1100105,50,15074,2,30,1,35,6,6,1,1,-9,4,5411,7270.0,1507402 +1100105,50,15075,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,1507501 +1100105,50,15075,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,1507502 +1100105,50,15076,1,24,2,50,6,6,1,1,16,4,5411,7270.0,1507601 +1100105,50,15076,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,1507602 +1100105,50,15077,1,26,2,3,6,6,1,1,16,4,5415,7380.0,1507701 +1100105,50,15077,2,27,1,60,1,1,1,1,-9,4,5613,7580.0,1507702 +1100105,50,15078,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,1507801 +1100105,50,15078,2,25,2,-9,-9,6,1,1,16,4,5418,7470.0,1507802 +1100105,50,15079,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1507901 +1100105,50,15079,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1507902 +1100105,50,15080,1,27,2,40,1,1,1,16,16,4,52M1,6870.0,1508001 +1100105,50,15080,2,32,1,-9,-9,6,1,16,-9,4,7211,8660.0,1508002 +1100105,50,15081,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1508101 +1100105,50,15081,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1508102 +1100105,50,15082,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1508201 +1100105,50,15082,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,1508202 +1100105,50,15083,1,69,1,40,6,6,1,1,-9,4,923,9480.0,1508301 +1100105,50,15083,2,53,1,-9,-9,6,1,1,-9,4,923,9480.0,1508302 +1100105,50,15084,1,32,2,35,4,1,1,1,15,4,6111,7860.0,1508401 +1100105,50,15084,2,29,1,30,1,1,1,1,-9,4,611M3,7890.0,1508402 +1100105,50,15085,1,27,1,36,1,1,1,1,-9,4,722Z,8680.0,1508501 +1100105,50,15085,2,24,2,20,4,1,1,1,16,4,611M1,7870.0,1508502 +1100105,50,15086,1,25,1,50,1,1,1,16,16,4,5417,7460.0,1508601 +1100105,50,15086,2,23,2,40,1,1,1,24,16,4,814,9290.0,1508602 +1100105,50,15087,1,60,2,40,1,1,8,19,-9,4,7211,8660.0,1508701 +1100105,50,15087,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,1508702 +1100105,50,15088,1,52,2,25,1,1,1,1,-9,4,562,7790.0,1508801 +1100105,50,15088,2,51,1,35,4,6,1,1,-9,4,562,7790.0,1508802 +1100105,50,15089,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,1508901 +1100105,50,15089,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,1508902 +1100105,50,15090,1,29,2,45,6,6,1,1,16,4,92MP,9470.0,1509001 +1100105,50,15090,2,29,1,60,1,1,1,1,-9,4,611M1,7870.0,1509002 +1100105,50,15091,1,29,2,45,6,6,1,1,16,4,92MP,9470.0,1509101 +1100105,50,15091,2,29,1,60,1,1,1,1,-9,4,611M1,7870.0,1509102 +1100105,50,15092,1,26,1,20,6,6,1,2,16,4,611M1,7870.0,1509201 +1100105,50,15092,2,27,2,40,1,1,1,1,16,4,611M1,7870.0,1509202 +1100105,50,15093,1,40,2,24,4,1,6,1,16,4,6111,7860.0,1509301 +1100105,50,15093,2,6,1,-9,-9,-9,6,1,3,-9,0,0.0,1509302 +1100105,50,15094,1,38,2,40,1,1,1,1,-9,4,622M,8191.0,1509401 +1100105,50,15094,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1509402 +1100105,50,15095,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1509501 +1100105,50,15095,2,66,2,-9,-9,6,1,1,-9,4,0,0.0,1509502 +1100105,50,15096,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1509601 +1100105,50,15096,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,1509602 +1100105,50,15097,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1509701 +1100105,50,15097,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,1509702 +1100105,50,15098,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1509801 +1100105,50,15098,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,1509802 +1100105,50,15099,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,1509901 +1100105,50,15099,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,1509902 +1100105,50,15100,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,1510001 +1100105,50,15100,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,1510002 +1100105,50,15101,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,1510101 +1100105,50,15101,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,1510102 +1100105,50,15102,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1510201 +1100105,50,15102,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1510202 +1100105,50,15103,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,1510301 +1100105,50,15103,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,1510302 +1100105,50,15104,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1510401 +1100105,50,15104,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1510402 +1100105,50,15105,1,25,2,-9,-9,6,1,1,16,4,611M1,7870.0,1510501 +1100105,50,15105,2,27,2,20,1,2,1,1,16,4,611M1,7870.0,1510502 +1100105,50,15106,1,48,1,20,1,1,6,1,-9,4,722Z,8680.0,1510601 +1100105,50,15106,2,14,1,-9,-9,-9,6,1,10,-9,0,0.0,1510602 +1100105,50,15107,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1510701 +1100105,50,15107,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1510702 +1100105,50,15108,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1510801 +1100105,50,15108,2,62,2,-9,-9,6,2,1,-9,4,813M,9170.0,1510802 +1100105,50,15109,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1510901 +1100105,50,15109,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,1510902 +1100105,50,15110,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1511001 +1100105,50,15110,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,1511002 +1100105,50,15111,1,58,2,-9,-9,6,1,1,-9,4,813M,9170.0,1511101 +1100105,50,15111,2,26,1,-9,-9,6,9,1,-9,4,0,0.0,1511102 +1100105,50,15112,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1511201 +1100105,50,15112,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1511202 +1100105,50,15113,1,33,2,40,3,6,1,1,-9,4,52M1,6870.0,1511301 +1100105,50,15113,2,24,2,-9,-9,6,1,1,-9,4,0,0.0,1511302 +1100105,50,15114,1,24,1,50,6,6,1,1,16,4,92M2,9570.0,1511401 +1100105,50,15114,2,23,1,50,6,6,1,1,16,4,92MP,9470.0,1511402 +1100105,50,15115,1,22,2,-9,-9,6,1,1,15,4,0,0.0,1511501 +1100105,50,15115,2,22,2,-9,-9,6,1,1,15,4,0,0.0,1511502 +1100105,50,15116,1,65,1,60,1,1,1,1,-9,4,928P,9590.0,1511601 +1100105,50,15117,1,74,1,50,1,1,1,1,-9,4,5416,7390.0,1511701 +1100105,50,15118,1,66,2,45,1,1,1,1,-9,4,5416,7390.0,1511801 +1100105,50,15119,1,35,2,80,1,1,9,1,-9,4,5418,7470.0,1511901 +1100105,50,15120,1,53,1,60,1,1,6,1,-9,4,23,770.0,1512001 +1100105,50,15121,1,63,2,60,1,1,2,1,-9,4,5416,7390.0,1512101 +1100105,50,15122,1,41,2,60,1,1,1,1,-9,4,622M,8191.0,1512201 +1100105,50,15123,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,1512301 +1100105,50,15124,1,57,2,60,1,1,1,1,-9,4,712,8570.0,1512401 +1100105,50,15125,1,37,1,55,1,1,1,1,-9,4,5411,7270.0,1512501 +1100105,50,15126,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1512601 +1100105,50,15127,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,1512701 +1100105,50,15128,1,41,2,60,1,1,1,1,-9,4,622M,8191.0,1512801 +1100105,50,15129,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,1512901 +1100105,50,15130,1,35,1,65,1,1,1,1,-9,4,488,6290.0,1513001 +1100105,50,15131,1,37,1,45,1,1,1,1,-9,4,52M1,6870.0,1513101 +1100105,50,15132,1,44,2,50,1,1,1,1,-9,4,5241,6991.0,1513201 +1100105,50,15133,1,36,1,42,1,1,1,1,-9,4,622M,8191.0,1513301 +1100105,50,15134,1,63,2,60,1,1,1,1,-9,4,8139Z,9190.0,1513401 +1100105,50,15135,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1513501 +1100105,50,15136,1,49,1,49,3,1,1,1,-9,4,454110,5593.0,1513601 +1100105,50,15137,1,62,1,50,3,1,1,1,-9,4,52M2,6970.0,1513701 +1100105,50,15138,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,1513801 +1100105,50,15139,1,35,1,65,1,1,1,1,-9,4,488,6290.0,1513901 +1100105,50,15140,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1514001 +1100105,50,15141,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,1514101 +1100105,50,15142,1,35,2,55,1,1,1,1,-9,4,52M2,6970.0,1514201 +1100105,50,15143,1,61,2,40,1,1,1,1,-9,4,8139Z,9190.0,1514301 +1100105,50,15144,1,37,1,55,1,1,1,1,-9,4,5411,7270.0,1514401 +1100105,50,15145,1,57,2,60,1,1,1,1,-9,4,712,8570.0,1514501 +1100105,50,15146,1,51,1,65,1,1,1,1,-9,4,622M,8191.0,1514601 +1100105,50,15147,1,41,2,60,1,1,1,1,-9,4,622M,8191.0,1514701 +1100105,50,15148,1,35,2,40,1,1,1,1,-9,4,5415,7380.0,1514801 +1100105,50,15149,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,1514901 +1100105,50,15150,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,1515001 +1100105,50,15151,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,1515101 +1100105,50,15152,1,29,1,55,1,1,1,1,-9,4,5411,7270.0,1515201 +1100105,50,15153,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,1515301 +1100105,50,15154,1,29,2,54,1,1,1,1,-9,4,5411,7270.0,1515401 +1100105,50,15155,1,28,2,55,1,1,1,1,-9,4,5411,7270.0,1515501 +1100105,50,15156,1,33,2,60,1,1,1,1,-9,4,5411,7270.0,1515601 +1100105,50,15157,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,1515701 +1100105,50,15158,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1515801 +1100105,50,15159,1,81,1,-9,-9,6,1,1,-9,4,0,0.0,1515901 +1100105,50,15160,1,75,2,17,5,6,1,1,-9,4,813M,9170.0,1516001 +1100105,50,15161,1,38,2,-9,-9,3,1,1,-9,4,928P,9590.0,1516101 +1100105,50,15162,1,65,2,40,1,1,1,1,-9,4,92MP,9470.0,1516201 +1100105,50,15163,1,73,2,50,1,1,1,1,-9,4,92119,9390.0,1516301 +1100105,50,15164,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,1516401 +1100105,50,15165,1,37,2,75,1,1,6,1,-9,4,9211MP,9370.0,1516501 +1100105,50,15166,1,46,1,40,1,1,2,1,-9,4,5415,7380.0,1516601 +1100105,50,15167,1,49,2,50,2,1,1,1,-9,4,813M,9170.0,1516701 +1100105,50,15168,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,1516801 +1100105,50,15169,1,47,2,40,1,1,1,1,-9,4,923,9480.0,1516901 +1100105,50,15170,1,53,1,50,1,1,1,1,-9,4,4238,4270.0,1517001 +1100105,50,15171,1,48,1,40,1,1,1,1,-9,2,928P,9590.0,1517101 +1100105,50,15172,1,39,1,40,1,1,1,1,-9,4,5415,7380.0,1517201 +1100105,50,15173,1,38,1,50,1,1,1,1,-9,4,722Z,8680.0,1517301 +1100105,50,15174,1,35,1,40,1,1,1,1,-9,4,92M2,9570.0,1517401 +1100105,50,15175,1,39,1,40,1,1,1,1,-9,4,5415,7380.0,1517501 +1100105,50,15176,1,49,1,40,1,1,1,1,-9,4,92M2,9570.0,1517601 +1100105,50,15177,1,53,1,50,1,1,1,1,-9,4,4238,4270.0,1517701 +1100105,50,15178,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,1517801 +1100105,50,15179,1,38,2,50,1,1,1,1,-9,4,928P,9590.0,1517901 +1100105,50,15180,1,39,1,40,1,1,1,2,-9,4,9211MP,9370.0,1518001 +1100105,50,15181,1,28,1,70,1,1,2,1,-9,4,5416,7390.0,1518101 +1100105,50,15182,1,30,2,50,1,1,1,1,-9,4,5411,7270.0,1518201 +1100105,50,15183,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1518301 +1100105,50,15184,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,1518401 +1100105,50,15185,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1518501 +1100105,50,15186,1,33,2,40,1,1,1,1,-9,4,5411,7270.0,1518601 +1100105,50,15187,1,26,2,55,1,1,1,1,-9,4,5411,7270.0,1518701 +1100105,50,15188,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1518801 +1100105,50,15189,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1518901 +1100105,50,15190,1,68,1,40,1,1,2,1,-9,3,92MP,9470.0,1519001 +1100105,50,15191,1,65,2,40,1,1,1,1,-9,2,92MP,9470.0,1519101 +1100105,50,15192,1,72,1,35,4,1,1,11,-9,4,611M1,7870.0,1519201 +1100105,50,15193,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,1519301 +1100105,50,15194,1,35,2,55,1,1,9,1,-9,4,928P,9590.0,1519401 +1100105,50,15195,1,37,2,40,1,1,6,1,-9,4,5411,7270.0,1519501 +1100105,50,15196,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,1519601 +1100105,50,15197,1,36,1,50,1,1,6,1,15,4,813M,9170.0,1519701 +1100105,50,15198,1,35,2,50,1,1,2,1,-9,4,5416,7390.0,1519801 +1100105,50,15199,1,57,1,40,1,1,1,1,-9,4,712,8570.0,1519901 +1100105,50,15200,1,39,2,60,1,1,1,1,-9,4,928P,9590.0,1520001 +1100105,50,15201,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,1520101 +1100105,50,15202,1,40,2,40,1,1,1,1,-9,4,483,6090.0,1520201 +1100105,50,15203,1,40,1,40,1,1,1,1,-9,4,5415,7380.0,1520301 +1100105,50,15204,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,1520401 +1100105,50,15205,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,1520501 +1100105,50,15206,1,43,1,60,1,1,1,1,-9,4,517Z,6690.0,1520601 +1100105,50,15207,1,36,2,40,1,1,1,1,16,4,5419Z,7490.0,1520701 +1100105,50,15208,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,1520801 +1100105,50,15209,1,52,1,45,1,1,1,1,-9,4,928P,9590.0,1520901 +1100105,50,15210,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,1521001 +1100105,50,15211,1,40,2,40,1,1,1,1,-9,4,483,6090.0,1521101 +1100105,50,15212,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,1521201 +1100105,50,15213,1,39,1,40,1,1,1,1,-9,4,928P,9590.0,1521301 +1100105,50,15214,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,1521401 +1100105,50,15215,1,59,1,45,1,1,1,1,-9,4,5221M,6880.0,1521501 +1100105,50,15216,1,39,2,40,1,1,1,1,-9,4,9211MP,9370.0,1521601 +1100105,50,15217,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,1521701 +1100105,50,15218,1,40,2,40,1,1,1,1,-9,4,483,6090.0,1521801 +1100105,50,15219,1,37,1,50,1,1,1,1,-9,4,5417,7460.0,1521901 +1100105,50,15220,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,1522001 +1100105,50,15221,1,37,2,42,1,1,1,1,-9,4,928P,9590.0,1522101 +1100105,50,15222,1,53,2,40,1,1,1,1,-9,4,51912,6770.0,1522201 +1100105,50,15223,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,1522301 +1100105,50,15224,1,40,1,40,1,1,1,1,-9,4,92M2,9570.0,1522401 +1100105,50,15225,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,1522501 +1100105,50,15226,1,58,2,50,1,1,1,1,-9,4,23,770.0,1522601 +1100105,50,15227,1,40,2,40,1,1,1,1,-9,4,483,6090.0,1522701 +1100105,50,15228,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,1522801 +1100105,50,15229,1,38,1,40,1,1,1,1,-9,4,5415,7380.0,1522901 +1100105,50,15230,1,37,2,50,1,4,1,1,16,1,928110P1,9670.0,1523001 +1100105,50,15231,1,48,2,40,1,1,1,1,15,4,334M2,3390.0,1523101 +1100105,50,15232,1,41,1,50,1,1,1,1,-9,4,531M,7071.0,1523201 +1100105,50,15233,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,1523301 +1100105,50,15234,1,38,2,40,1,1,8,19,-9,4,813M,9170.0,1523401 +1100105,50,15235,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,1523501 +1100105,50,15236,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,1523601 +1100105,50,15237,1,62,1,45,1,1,1,24,-9,2,611M3,7890.0,1523701 +1100105,50,15238,1,30,1,40,1,1,9,1,-9,4,5416,7390.0,1523801 +1100105,50,15239,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,1523901 +1100105,50,15240,1,34,1,50,1,1,1,1,-9,4,92113,9380.0,1524001 +1100105,50,15241,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1524101 +1100105,50,15242,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,1524201 +1100105,50,15243,1,33,1,40,3,1,1,1,-9,4,928P,9590.0,1524301 +1100105,50,15244,1,32,1,45,1,1,1,1,-9,4,928P,9590.0,1524401 +1100105,50,15245,1,29,1,50,1,1,1,1,-9,4,5418,7470.0,1524501 +1100105,50,15246,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1524601 +1100105,50,15247,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,1524701 +1100105,50,15248,1,29,2,60,1,1,1,1,-9,4,5412,7280.0,1524801 +1100105,50,15249,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1524901 +1100105,50,15250,1,33,2,40,1,1,1,1,-9,4,611M3,7890.0,1525001 +1100105,50,15251,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,1525101 +1100105,50,15252,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1525201 +1100105,50,15253,1,32,2,55,1,1,1,1,-9,4,928P,9590.0,1525301 +1100105,50,15254,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1525401 +1100105,50,15255,1,29,2,40,1,1,1,1,-9,4,5411,7270.0,1525501 +1100105,50,15256,1,31,1,50,1,1,1,1,-9,4,621M,8180.0,1525601 +1100105,50,15257,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,1525701 +1100105,50,15258,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,1525801 +1100105,50,15259,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,1525901 +1100105,50,15260,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1526001 +1100105,50,15261,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1526101 +1100105,50,15262,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1526201 +1100105,50,15263,1,65,1,40,1,1,2,1,-9,4,92M2,9570.0,1526301 +1100105,50,15264,1,71,1,56,5,1,1,1,-9,4,5416,7390.0,1526401 +1100105,50,15265,1,72,1,40,1,2,1,1,-9,4,8129,9090.0,1526501 +1100105,50,15266,1,70,1,12,1,1,1,1,-9,2,8131,9160.0,1526601 +1100105,50,15267,1,70,1,40,6,1,1,1,-9,4,5411,7270.0,1526701 +1100105,50,15268,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1526801 +1100105,50,15269,1,42,2,32,3,1,6,1,-9,4,5417,7460.0,1526901 +1100105,50,15270,1,36,1,47,2,1,6,1,-9,4,5417,7460.0,1527001 +1100105,50,15271,1,45,2,60,1,1,6,1,-9,4,5414,7370.0,1527101 +1100105,50,15272,1,49,2,45,3,1,6,1,16,4,6111,7860.0,1527201 +1100105,50,15273,1,46,2,38,1,1,2,1,-9,4,5417,7460.0,1527301 +1100105,50,15274,1,46,2,40,1,1,2,1,-9,4,6211,7970.0,1527401 +1100105,50,15275,1,55,1,40,1,1,1,1,-9,4,5411,7270.0,1527501 +1100105,50,15276,1,41,1,40,1,1,1,1,-9,4,5415,7380.0,1527601 +1100105,50,15277,1,36,2,50,1,1,1,1,-9,4,813M,9170.0,1527701 +1100105,50,15278,1,38,1,40,1,1,1,1,-9,4,5417,7460.0,1527801 +1100105,50,15279,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,1527901 +1100105,50,15280,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,1528001 +1100105,50,15281,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,1528101 +1100105,50,15282,1,41,1,36,1,1,1,1,-9,4,812112,8980.0,1528201 +1100105,50,15283,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,1528301 +1100105,50,15284,1,55,1,40,1,1,1,1,-9,4,5411,7270.0,1528401 +1100105,50,15285,1,40,1,40,1,1,1,1,-9,4,813M,9170.0,1528501 +1100105,50,15286,1,55,1,40,1,1,1,1,-9,4,5411,7270.0,1528601 +1100105,50,15287,1,56,2,40,1,1,1,1,-9,4,923,9480.0,1528701 +1100105,50,15288,1,42,1,40,1,1,1,1,-9,4,9211MP,9370.0,1528801 +1100105,50,15289,1,35,1,40,1,1,1,1,-9,4,92M1,9490.0,1528901 +1100105,50,15290,1,35,1,40,1,1,1,1,-9,4,92MP,9470.0,1529001 +1100105,50,15291,1,35,2,45,1,1,1,1,-9,4,9211MP,9370.0,1529101 +1100105,50,15292,1,38,1,40,1,1,1,1,-9,4,5413,7290.0,1529201 +1100105,50,15293,1,60,1,40,1,1,1,1,-9,4,5417,7460.0,1529301 +1100105,50,15294,1,35,1,50,2,1,1,1,-9,4,928P,9590.0,1529401 +1100105,50,15295,1,54,1,60,1,1,1,1,-9,4,5414,7370.0,1529501 +1100105,50,15296,1,46,2,40,1,1,1,1,-9,4,928P,9590.0,1529601 +1100105,50,15297,1,35,1,50,2,1,1,1,-9,4,928P,9590.0,1529701 +1100105,50,15298,1,48,1,40,1,1,1,6,-9,4,531M,7071.0,1529801 +1100105,50,15299,1,38,1,45,1,1,1,13,-9,4,8139Z,9190.0,1529901 +1100105,50,15300,1,39,1,60,3,1,5,2,-9,4,7224,8690.0,1530001 +1100105,50,15301,1,61,2,50,1,1,1,23,16,4,6111,7860.0,1530101 +1100105,50,15302,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,1530201 +1100105,50,15303,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,1530301 +1100105,50,15304,1,29,1,40,1,1,9,1,-9,4,6111,7860.0,1530401 +1100105,50,15305,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,1530501 +1100105,50,15306,1,32,2,40,1,1,6,1,-9,4,5412,7280.0,1530601 +1100105,50,15307,1,32,2,40,1,1,6,1,-9,4,5412,7280.0,1530701 +1100105,50,15308,1,26,2,40,1,1,6,1,-9,4,611M1,7870.0,1530801 +1100105,50,15309,1,26,2,40,1,1,6,1,16,2,622M,8191.0,1530901 +1100105,50,15310,1,31,1,45,2,1,2,1,-9,4,5416,7390.0,1531001 +1100105,50,15311,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,1531101 +1100105,50,15312,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,1531201 +1100105,50,15313,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,1531301 +1100105,50,15314,1,33,1,40,1,1,1,1,-9,4,55,7570.0,1531401 +1100105,50,15315,1,26,1,50,3,1,1,1,-9,4,5416,7390.0,1531501 +1100105,50,15316,1,34,2,40,1,1,1,1,-9,4,712,8570.0,1531601 +1100105,50,15317,1,31,2,36,1,1,1,1,15,4,813M,9170.0,1531701 +1100105,50,15318,1,31,2,45,1,1,1,1,-9,4,813M,9170.0,1531801 +1100105,50,15319,1,33,2,50,1,1,1,1,-9,4,5413,7290.0,1531901 +1100105,50,15320,1,25,1,45,1,1,1,1,-9,4,5616,7680.0,1532001 +1100105,50,15321,1,27,2,37,1,1,1,1,-9,4,622M,8191.0,1532101 +1100105,50,15322,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1532201 +1100105,50,15323,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,1532301 +1100105,50,15324,1,33,1,50,1,1,1,1,-9,2,5416,7390.0,1532401 +1100105,50,15325,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,1532501 +1100105,50,15326,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,1532601 +1100105,50,15327,1,31,2,45,1,1,1,1,-9,4,92M1,9490.0,1532701 +1100105,50,15328,1,24,1,60,1,1,1,1,-9,4,5416,7390.0,1532801 +1100105,50,15329,1,27,2,40,1,1,1,1,-9,4,3391,3960.0,1532901 +1100105,50,15330,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,1533001 +1100105,50,15331,1,31,2,40,1,1,1,1,-9,4,92MP,9470.0,1533101 +1100105,50,15332,1,27,2,37,1,1,1,1,-9,4,622M,8191.0,1533201 +1100105,50,15333,1,28,1,45,1,1,1,1,-9,4,531M,7071.0,1533301 +1100105,50,15334,1,23,2,45,1,1,1,1,-9,4,611M1,7870.0,1533401 +1100105,50,15335,1,31,1,50,1,1,1,1,-9,4,813M,9170.0,1533501 +1100105,50,15336,1,30,2,45,1,1,1,1,-9,4,928P,9590.0,1533601 +1100105,50,15337,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,1533701 +1100105,50,15338,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,1533801 +1100105,50,15339,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,1533901 +1100105,50,15340,1,34,2,45,1,1,1,1,-9,4,923,9480.0,1534001 +1100105,50,15341,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1534101 +1100105,50,15342,1,27,2,55,1,1,1,1,16,4,813M,9170.0,1534201 +1100105,50,15343,1,29,1,45,1,1,1,1,-9,4,482,6080.0,1534301 +1100105,50,15344,1,33,2,25,3,1,1,1,-9,4,6111,7860.0,1534401 +1100105,50,15345,1,34,2,38,1,1,1,1,-9,4,611M3,7890.0,1534501 +1100105,50,15346,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1534601 +1100105,50,15347,1,28,2,54,1,1,1,1,-9,4,5416,7390.0,1534701 +1100105,50,15348,1,26,2,80,2,1,1,1,-9,4,5416,7390.0,1534801 +1100105,50,15349,1,29,2,45,1,1,1,1,-9,4,5415,7380.0,1534901 +1100105,50,15350,1,30,2,40,4,1,1,1,-9,4,5416,7390.0,1535001 +1100105,50,15351,1,31,2,45,1,1,1,1,16,4,5416,7390.0,1535101 +1100105,50,15352,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,1535201 +1100105,50,15353,1,33,1,40,1,1,1,1,-9,4,5415,7380.0,1535301 +1100105,50,15354,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,1535401 +1100105,50,15355,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,1535501 +1100105,50,15356,1,33,2,50,1,1,1,1,-9,4,5413,7290.0,1535601 +1100105,50,15357,1,27,1,40,1,1,1,1,-9,4,8139Z,9190.0,1535701 +1100105,50,15358,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1535801 +1100105,50,15359,1,29,1,30,1,2,1,2,-9,4,711M,8563.0,1535901 +1100105,50,15360,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,1536001 +1100105,50,15361,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1536101 +1100105,50,15362,1,30,2,37,1,1,1,3,-9,4,81393,9180.0,1536201 +1100105,50,15363,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,1536301 +1100105,50,15364,1,29,1,50,1,1,2,5,-9,4,5412,7280.0,1536401 +1100105,50,15365,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,1536501 +1100105,50,15366,1,75,2,-9,-9,6,2,1,-9,4,8131,9160.0,1536601 +1100105,50,15367,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,1536701 +1100105,50,15368,1,94,1,-9,-9,6,1,1,-9,2,0,0.0,1536801 +1100105,50,15369,1,70,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1536901 +1100105,50,15370,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1537001 +1100105,50,15371,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1537101 +1100105,50,15372,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1537201 +1100105,50,15373,1,68,1,-9,-9,6,1,1,-9,3,0,0.0,1537301 +1100105,50,15374,1,69,2,-9,-9,6,1,1,-9,4,92M2,9570.0,1537401 +1100105,50,15375,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1537501 +1100105,50,15376,1,70,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1537601 +1100105,50,15377,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1537701 +1100105,50,15378,1,51,2,40,4,3,1,1,-9,4,531M,7071.0,1537801 +1100105,50,15379,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,1537901 +1100105,50,15380,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1538001 +1100105,50,15381,1,70,2,5,6,1,2,1,-9,4,5613,7580.0,1538101 +1100105,50,15382,1,67,1,50,1,1,1,1,-9,4,23,770.0,1538201 +1100105,50,15383,1,80,1,40,1,1,1,1,-9,2,92M1,9490.0,1538301 +1100105,50,15384,1,62,1,40,1,1,2,1,-9,2,485M,6180.0,1538401 +1100105,50,15385,1,46,2,35,1,1,2,1,-9,4,722Z,8680.0,1538501 +1100105,50,15386,1,55,1,60,1,1,1,1,-9,4,722Z,8680.0,1538601 +1100105,50,15387,1,39,1,40,1,1,1,1,-9,4,5416,7390.0,1538701 +1100105,50,15388,1,62,2,60,1,1,1,1,-9,4,92M2,9570.0,1538801 +1100105,50,15389,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,1538901 +1100105,50,15390,1,42,1,50,1,1,1,1,-9,4,5419Z,7490.0,1539001 +1100105,50,15391,1,54,1,60,1,1,1,1,-9,4,814,9290.0,1539101 +1100105,50,15392,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,1539201 +1100105,50,15393,1,31,1,42,5,1,8,1,-9,4,5412,7280.0,1539301 +1100105,50,15394,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,1539401 +1100105,50,15395,1,32,1,20,3,1,6,1,16,4,611M1,7870.0,1539501 +1100105,50,15396,1,26,2,50,3,1,2,1,16,4,5419Z,7490.0,1539601 +1100105,50,15397,1,25,1,35,1,1,1,1,-9,4,813M,9170.0,1539701 +1100105,50,15398,1,27,2,40,3,1,1,1,-9,4,482,6080.0,1539801 +1100105,50,15399,1,31,1,40,5,1,1,1,-9,4,5417,7460.0,1539901 +1100105,50,15400,1,26,2,40,1,1,1,1,-9,4,5415,7380.0,1540001 +1100105,50,15401,1,24,2,40,6,1,1,1,16,4,928P,9590.0,1540101 +1100105,50,15402,1,28,2,45,4,1,1,1,-9,4,92MP,9470.0,1540201 +1100105,50,15403,1,30,2,40,1,1,1,1,-9,4,712,8570.0,1540301 +1100105,50,15404,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,1540401 +1100105,50,15405,1,34,1,39,1,1,1,1,-9,4,44511,4971.0,1540501 +1100105,50,15406,1,26,1,50,1,1,1,1,-9,4,9211MP,9370.0,1540601 +1100105,50,15407,1,33,1,40,1,1,1,1,-9,4,515,6670.0,1540701 +1100105,50,15408,1,28,2,40,5,1,1,1,-9,4,5418,7470.0,1540801 +1100105,50,15409,1,22,2,40,1,1,1,1,15,4,522M,6890.0,1540901 +1100105,50,15410,1,33,1,40,1,1,1,1,-9,4,515,6670.0,1541001 +1100105,50,15411,1,31,1,20,1,1,1,1,16,4,443142,4795.0,1541101 +1100105,50,15412,1,27,2,45,1,1,8,14,-9,4,622M,8191.0,1541201 +1100105,50,15413,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,1541301 +1100105,50,15414,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1541401 +1100105,50,15415,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1541501 +1100105,50,15416,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1541601 +1100105,50,15417,1,72,2,-9,-9,6,2,1,-9,4,0,0.0,1541701 +1100105,50,15418,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1541801 +1100105,50,15419,1,65,1,-9,-9,6,1,1,-9,3,334M1,3370.0,1541901 +1100105,50,15420,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,1542001 +1100105,50,15421,1,67,2,-9,-9,6,1,1,-9,4,0,0.0,1542101 +1100105,50,15422,1,67,2,-9,-9,6,1,1,-9,4,5415,7380.0,1542201 +1100105,50,15423,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1542301 +1100105,50,15424,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1542401 +1100105,50,15425,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,1542501 +1100105,50,15426,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,1542601 +1100105,50,15427,1,53,1,40,3,6,3,1,-9,4,562,7790.0,1542701 +1100105,50,15428,1,64,2,-9,-9,6,2,1,-9,4,0,0.0,1542801 +1100105,50,15429,1,42,2,-9,-9,6,1,1,16,4,0,0.0,1542901 +1100105,50,15430,1,42,2,-9,-9,6,1,1,16,4,0,0.0,1543001 +1100105,50,15431,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,1543101 +1100105,50,15432,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1543201 +1100105,50,15433,1,71,2,18,1,1,1,1,-9,4,4MS,5790.0,1543301 +1100105,50,15434,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,1543401 +1100105,50,15435,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1543501 +1100105,50,15436,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,1543601 +1100105,50,15437,1,54,1,40,6,1,2,1,-9,4,531M,7071.0,1543701 +1100105,50,15438,1,56,2,40,3,1,2,1,-9,4,481,6070.0,1543801 +1100105,50,15439,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,1543901 +1100105,50,15440,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,1544001 +1100105,50,15441,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,1544101 +1100105,50,15442,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,1544201 +1100105,50,15443,1,54,1,32,3,1,1,1,-9,2,9211MP,9370.0,1544301 +1100105,50,15444,1,53,1,23,4,1,1,1,-9,4,928P,9590.0,1544401 +1100105,50,15445,1,64,2,4,5,1,1,11,-9,4,7211,8660.0,1544501 +1100105,50,15446,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,1544601 +1100105,50,15447,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1544701 +1100105,50,15448,1,20,2,40,4,1,6,1,15,4,5412,7280.0,1544801 +1100105,50,15449,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1544901 +1100105,50,15450,1,25,2,40,6,1,2,1,16,4,928P,9590.0,1545001 +1100105,50,15451,1,22,1,40,6,1,1,1,-9,4,5417,7460.0,1545101 +1100105,50,15452,1,24,2,40,1,1,1,1,16,4,813M,9170.0,1545201 +1100105,50,15453,1,24,1,15,4,1,1,1,-9,4,9211MP,9370.0,1545301 +1100105,50,15454,1,27,2,30,3,1,1,1,16,4,611M1,7870.0,1545401 +1100105,50,15455,1,29,1,40,4,1,1,1,-9,4,5411,7270.0,1545501 +1100105,50,15456,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,1545601 +1100105,50,15457,1,28,2,20,3,1,1,2,16,4,923,9480.0,1545701 +1100105,50,15458,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1545801 +1100105,50,15459,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1545901 +1100105,50,15460,1,85,2,-9,-9,6,6,1,-9,4,0,0.0,1546001 +1100105,50,15461,1,77,2,-9,-9,6,2,1,-9,4,0,0.0,1546101 +1100105,50,15462,1,69,2,-9,-9,6,2,1,-9,4,611M3,7890.0,1546201 +1100105,50,15463,1,65,1,-9,-9,3,2,1,-9,4,6111,7860.0,1546301 +1100105,50,15464,1,79,2,-9,-9,6,2,1,-9,4,0,0.0,1546401 +1100105,50,15465,1,87,1,-9,-9,6,2,1,-9,4,0,0.0,1546501 +1100105,50,15466,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1546601 +1100105,50,15467,1,66,1,-9,-9,6,2,1,-9,4,45321,5480.0,1546701 +1100105,50,15468,1,77,2,-9,-9,6,2,1,-9,4,0,0.0,1546801 +1100105,50,15469,1,77,2,-9,-9,6,2,1,-9,4,813M,9170.0,1546901 +1100105,50,15470,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1547001 +1100105,50,15471,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1547101 +1100105,50,15472,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1547201 +1100105,50,15473,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,1547301 +1100105,50,15474,1,77,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1547401 +1100105,50,15475,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1547501 +1100105,50,15476,1,67,2,30,4,6,1,1,-9,4,7115,8564.0,1547601 +1100105,50,15477,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,1547701 +1100105,50,15478,1,67,2,30,4,6,1,1,-9,4,7115,8564.0,1547801 +1100105,50,15479,1,81,1,-9,-9,6,1,1,-9,2,0,0.0,1547901 +1100105,50,15480,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,1548001 +1100105,50,15481,1,70,2,-9,-9,6,2,3,-9,4,0,0.0,1548101 +1100105,50,15482,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1548201 +1100105,50,15483,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1548301 +1100105,50,15484,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1548401 +1100105,50,15485,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,1548501 +1100105,50,15486,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,1548601 +1100105,50,15487,1,38,1,-9,-9,6,6,1,-9,4,928P,9590.0,1548701 +1100105,50,15488,1,60,2,-9,-9,6,2,1,-9,4,0,0.0,1548801 +1100105,50,15489,1,51,1,-9,-9,6,2,1,-9,4,0,0.0,1548901 +1100105,50,15490,1,53,1,-9,-9,6,2,1,-9,2,0,0.0,1549001 +1100105,50,15491,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,1549101 +1100105,50,15492,1,62,1,-9,-9,6,2,1,-9,4,5615,7670.0,1549201 +1100105,50,15493,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1549301 +1100105,50,15494,1,44,1,-9,-9,6,1,1,-9,4,0,0.0,1549401 +1100105,50,15495,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,1549501 +1100105,50,15496,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1549601 +1100105,50,15497,1,56,1,29,5,3,1,1,-9,4,5613,7580.0,1549701 +1100105,50,15498,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,1549801 +1100105,50,15499,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1549901 +1100105,50,15500,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,1550001 +1100105,50,15501,1,55,2,-9,-9,6,1,1,-9,4,0,0.0,1550101 +1100105,50,15502,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1550201 +1100105,50,15503,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,1550301 +1100105,50,15504,1,50,2,-9,-9,6,2,3,-9,4,0,0.0,1550401 +1100105,50,15505,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,1550501 +1100105,50,15506,1,26,1,-9,-9,6,6,1,-9,4,0,0.0,1550601 +1100105,50,15507,1,23,2,40,6,6,6,1,15,4,611M1,7870.0,1550701 +1100105,50,15508,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1550801 +1100105,50,15509,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,1550901 +1100105,50,15510,1,33,1,-9,-9,3,1,1,-9,4,486,6270.0,1551001 +1100105,50,15511,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,1551101 +1100105,50,15512,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,1551201 +1100105,50,15513,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,1551301 +1100105,50,15514,1,27,1,30,4,6,1,1,16,4,52M2,6970.0,1551401 +1100105,50,15515,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,1551501 +1100105,50,15516,1,27,1,-9,-9,6,6,14,16,4,6212,7980.0,1551601 +1100105,50,15517,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1551701 +1100105,53,15518,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1551801 +1100105,53,15518,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1551802 +1100105,53,15518,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1551803 +1100105,53,15518,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1551804 +1100105,53,15518,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1551805 +1100105,53,15518,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1551806 +1100105,53,15519,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1551901 +1100105,53,15519,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1551902 +1100105,53,15519,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1551903 +1100105,53,15519,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1551904 +1100105,53,15519,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1551905 +1100105,53,15519,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1551906 +1100105,53,15520,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1552001 +1100105,53,15520,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1552002 +1100105,53,15520,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1552003 +1100105,53,15520,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1552004 +1100105,53,15520,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1552005 +1100105,53,15520,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1552006 +1100105,53,15521,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1552101 +1100105,53,15521,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1552102 +1100105,53,15521,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1552103 +1100105,53,15521,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1552104 +1100105,53,15521,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1552105 +1100105,53,15521,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1552106 +1100105,53,15522,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1552201 +1100105,53,15522,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1552202 +1100105,53,15522,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1552203 +1100105,53,15522,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1552204 +1100105,53,15522,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1552205 +1100105,53,15522,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1552206 +1100105,53,15523,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1552301 +1100105,53,15523,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1552302 +1100105,53,15523,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1552303 +1100105,53,15523,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1552304 +1100105,53,15523,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1552305 +1100105,53,15523,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1552306 +1100105,53,15524,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1552401 +1100105,53,15524,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1552402 +1100105,53,15524,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1552403 +1100105,53,15524,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1552404 +1100105,53,15524,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1552405 +1100105,53,15524,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1552406 +1100105,53,15525,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1552501 +1100105,53,15525,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1552502 +1100105,53,15525,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1552503 +1100105,53,15525,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1552504 +1100105,53,15525,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1552505 +1100105,53,15525,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1552506 +1100105,53,15526,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1552601 +1100105,53,15526,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1552602 +1100105,53,15526,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1552603 +1100105,53,15526,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1552604 +1100105,53,15526,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1552605 +1100105,53,15526,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1552606 +1100105,53,15527,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1552701 +1100105,53,15527,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1552702 +1100105,53,15527,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1552703 +1100105,53,15527,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1552704 +1100105,53,15527,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1552705 +1100105,53,15527,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1552706 +1100105,53,15527,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1552707 +1100105,53,15527,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1552708 +1100105,53,15527,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1552709 +1100105,53,15528,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1552801 +1100105,53,15528,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1552802 +1100105,53,15528,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1552803 +1100105,53,15528,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1552804 +1100105,53,15528,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1552805 +1100105,53,15528,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1552806 +1100105,53,15528,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1552807 +1100105,53,15528,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1552808 +1100105,53,15528,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1552809 +1100105,53,15529,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1552901 +1100105,53,15529,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1552902 +1100105,53,15529,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1552903 +1100105,53,15529,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1552904 +1100105,53,15529,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1552905 +1100105,53,15529,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1552906 +1100105,53,15529,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1552907 +1100105,53,15529,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1552908 +1100105,53,15529,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1552909 +1100105,53,15530,1,52,1,40,1,1,1,1,-9,2,92MP,9470.0,1553001 +1100105,53,15530,2,53,2,40,1,1,1,1,-9,2,92MP,9470.0,1553002 +1100105,53,15530,3,22,2,40,1,1,1,1,-9,4,7211,8660.0,1553003 +1100105,53,15531,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,1553101 +1100105,53,15531,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,1553102 +1100105,53,15531,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,1553103 +1100105,53,15532,1,25,1,40,1,1,6,1,-9,4,92M1,9490.0,1553201 +1100105,53,15532,2,29,1,40,1,1,6,1,-9,4,92M2,9570.0,1553202 +1100105,53,15532,3,25,1,40,1,1,1,1,-9,4,92M2,9570.0,1553203 +1100105,53,15533,1,31,2,40,1,1,1,1,-9,4,92M2,9570.0,1553301 +1100105,53,15533,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,1553302 +1100105,53,15533,3,27,1,40,2,1,9,1,-9,4,9211MP,9370.0,1553303 +1100105,53,15534,1,25,2,50,1,1,1,1,-9,4,9211MP,9370.0,1553401 +1100105,53,15534,2,29,2,42,1,1,1,1,-9,4,5418,7470.0,1553402 +1100105,53,15534,3,29,2,50,1,1,1,1,-9,4,813M,9170.0,1553403 +1100105,53,15535,1,32,2,40,1,1,1,1,-9,4,813M,9170.0,1553501 +1100105,53,15535,2,29,1,40,1,1,1,1,-9,4,488,6290.0,1553502 +1100105,53,15535,3,30,2,50,1,1,1,1,-9,4,561M,7780.0,1553503 +1100105,53,15536,1,28,1,40,1,1,1,1,-9,4,6111,7860.0,1553601 +1100105,53,15536,2,34,1,38,1,1,1,1,-9,4,5411,7270.0,1553602 +1100105,53,15536,3,31,1,50,1,1,1,1,-9,4,4441Z,4870.0,1553603 +1100105,53,15537,1,25,2,58,1,1,1,1,-9,4,531M,7071.0,1553701 +1100105,53,15537,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,1553702 +1100105,53,15537,3,24,2,50,1,1,1,1,-9,4,5418,7470.0,1553703 +1100105,53,15538,1,25,2,58,1,1,1,1,-9,4,531M,7071.0,1553801 +1100105,53,15538,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,1553802 +1100105,53,15538,3,24,2,50,1,1,1,1,-9,4,5418,7470.0,1553803 +1100105,53,15539,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1553901 +1100105,53,15539,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1553902 +1100105,53,15539,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1553903 +1100105,53,15540,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1554001 +1100105,53,15540,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1554002 +1100105,53,15540,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1554003 +1100105,53,15541,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1554101 +1100105,53,15541,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1554102 +1100105,53,15541,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1554103 +1100105,53,15542,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1554201 +1100105,53,15542,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1554202 +1100105,53,15542,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1554203 +1100105,53,15543,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1554301 +1100105,53,15543,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1554302 +1100105,53,15543,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1554303 +1100105,53,15544,1,24,1,45,1,1,1,1,-9,4,611M3,7890.0,1554401 +1100105,53,15544,2,24,1,40,1,1,1,1,-9,4,5415,7380.0,1554402 +1100105,53,15544,3,23,1,55,1,1,1,1,-9,4,522M,6890.0,1554403 +1100105,53,15545,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,1554501 +1100105,53,15545,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,1554502 +1100105,53,15545,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,1554503 +1100105,53,15546,1,25,1,40,1,1,1,21,-9,4,9211MP,9370.0,1554601 +1100105,53,15546,2,24,1,40,2,1,1,1,-9,4,5416,7390.0,1554602 +1100105,53,15546,3,22,1,40,5,1,1,1,-9,4,5417,7460.0,1554603 +1100105,53,15547,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,1554701 +1100105,53,15547,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,1554702 +1100105,53,15547,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,1554703 +1100105,53,15548,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1554801 +1100105,53,15548,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1554802 +1100105,53,15548,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1554803 +1100105,53,15549,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1554901 +1100105,53,15549,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1554902 +1100105,53,15549,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1554903 +1100105,53,15550,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1555001 +1100105,53,15550,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1555002 +1100105,53,15550,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1555003 +1100105,53,15551,1,24,2,19,4,6,6,1,15,4,611M1,7870.0,1555101 +1100105,53,15551,2,30,1,19,5,2,6,1,15,4,611M1,7870.0,1555102 +1100105,53,15551,3,25,2,45,1,1,6,1,-9,4,5416,7390.0,1555103 +1100105,53,15552,1,19,2,-9,-9,6,6,1,16,4,0,0.0,1555201 +1100105,53,15552,2,23,2,45,1,1,6,1,-9,4,5415,7380.0,1555202 +1100105,53,15552,3,23,2,40,3,1,6,1,-9,4,5418,7470.0,1555203 +1100105,53,15553,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1555301 +1100105,53,15553,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1555302 +1100105,53,15553,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1555303 +1100105,53,15554,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1555401 +1100105,53,15554,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1555402 +1100105,53,15554,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1555403 +1100105,53,15555,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1555501 +1100105,53,15555,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1555502 +1100105,53,15555,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1555503 +1100105,53,15556,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1555601 +1100105,53,15556,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1555602 +1100105,53,15556,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1555603 +1100105,53,15557,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,1555701 +1100105,53,15557,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,1555702 +1100105,53,15557,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,1555703 +1100105,53,15558,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,1555801 +1100105,53,15558,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,1555802 +1100105,53,15558,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,1555803 +1100105,53,15559,1,71,1,20,5,1,1,1,-9,4,5615,7670.0,1555901 +1100105,53,15559,2,68,1,40,1,1,1,1,-9,4,928P,9590.0,1555902 +1100105,53,15560,1,67,1,40,1,1,1,1,-9,3,5411,7270.0,1556001 +1100105,53,15560,2,64,2,10,1,1,1,1,-9,4,611M1,7870.0,1556002 +1100105,53,15561,1,43,2,40,1,1,6,1,-9,4,5416,7390.0,1556101 +1100105,53,15561,2,45,1,55,1,1,6,1,-9,4,622M,8191.0,1556102 +1100105,53,15562,1,44,1,40,6,1,9,1,-9,4,813M,9170.0,1556201 +1100105,53,15562,2,50,1,40,1,1,1,1,-9,4,611M3,7890.0,1556202 +1100105,53,15563,1,38,1,50,1,1,1,1,-9,4,8139Z,9190.0,1556301 +1100105,53,15563,2,35,2,40,1,1,6,1,-9,4,5613,7580.0,1556302 +1100105,53,15564,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,1556401 +1100105,53,15564,2,40,2,40,1,1,1,1,-9,4,5417,7460.0,1556402 +1100105,53,15565,1,38,1,55,1,1,1,1,-9,4,5413,7290.0,1556501 +1100105,53,15565,2,39,1,50,1,1,1,1,-9,4,5241,6991.0,1556502 +1100105,53,15566,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,1556601 +1100105,53,15566,2,40,2,40,1,1,1,1,-9,4,5417,7460.0,1556602 +1100105,53,15567,1,38,1,40,1,1,1,1,-9,4,5614,7590.0,1556701 +1100105,53,15567,2,46,1,40,1,1,1,1,-9,2,92M2,9570.0,1556702 +1100105,53,15568,1,48,1,40,1,1,1,1,-9,4,813M,9170.0,1556801 +1100105,53,15568,2,40,1,40,1,1,1,19,15,4,6241,8370.0,1556802 +1100105,53,15569,1,40,1,65,1,1,9,1,-9,4,5419Z,7490.0,1556901 +1100105,53,15569,2,29,2,52,1,1,1,1,-9,4,928P,9590.0,1556902 +1100105,53,15570,1,58,1,40,1,1,1,1,-9,4,5416,7390.0,1557001 +1100105,53,15570,2,34,2,50,1,1,1,1,-9,4,622M,8191.0,1557002 +1100105,53,15571,1,34,2,45,1,1,1,1,-9,4,522M,6890.0,1557101 +1100105,53,15571,2,36,1,40,1,1,1,1,-9,2,92MP,9470.0,1557102 +1100105,53,15572,1,29,1,60,1,1,1,1,-9,2,5411,7270.0,1557201 +1100105,53,15572,2,35,2,40,1,1,1,1,-9,4,813M,9170.0,1557202 +1100105,53,15573,1,35,1,85,1,1,1,1,-9,4,5411,7270.0,1557301 +1100105,53,15573,2,34,2,50,1,1,1,1,-9,4,3254,2190.0,1557302 +1100105,53,15574,1,39,1,40,1,1,1,6,-9,4,622M,8191.0,1557401 +1100105,53,15574,2,30,2,40,6,1,1,1,16,4,622M,8191.0,1557402 +1100105,53,15575,1,30,1,40,1,1,9,1,-9,4,928P,9590.0,1557501 +1100105,53,15575,2,30,2,40,1,1,6,1,-9,4,92M2,9570.0,1557502 +1100105,53,15576,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,1557601 +1100105,53,15576,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,1557602 +1100105,53,15577,1,30,1,50,1,1,6,1,-9,4,5411,7270.0,1557701 +1100105,53,15577,2,27,2,50,1,1,6,1,-9,4,5411,7270.0,1557702 +1100105,53,15578,1,27,1,40,1,1,9,1,-9,4,5111Z,6480.0,1557801 +1100105,53,15578,2,26,2,60,1,1,1,1,16,4,5411,7270.0,1557802 +1100105,53,15579,1,33,1,40,1,1,1,1,-9,4,923,9480.0,1557901 +1100105,53,15579,2,33,1,40,1,1,6,1,-9,4,5416,7390.0,1557902 +1100105,53,15580,1,33,1,40,1,1,1,1,-9,4,923,9480.0,1558001 +1100105,53,15580,2,33,1,40,1,1,6,1,-9,4,5416,7390.0,1558002 +1100105,53,15581,1,30,1,50,1,1,1,1,-9,4,531M,7071.0,1558101 +1100105,53,15581,2,32,2,44,1,1,6,1,-9,4,6111,7860.0,1558102 +1100105,53,15582,1,33,1,40,1,1,1,1,-9,4,443142,4795.0,1558201 +1100105,53,15582,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,1558202 +1100105,53,15583,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,1558301 +1100105,53,15583,2,32,1,50,1,1,1,1,-9,4,4481,5170.0,1558302 +1100105,53,15584,1,32,1,45,1,1,1,1,-9,4,5418,7470.0,1558401 +1100105,53,15584,2,29,2,50,1,1,1,1,-9,4,713Z,8590.0,1558402 +1100105,53,15585,1,33,2,40,1,1,1,1,-9,4,92M2,9570.0,1558501 +1100105,53,15585,2,33,1,40,1,1,1,1,-9,4,52M2,6970.0,1558502 +1100105,53,15586,1,33,1,40,1,1,1,1,-9,4,443142,4795.0,1558601 +1100105,53,15586,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,1558602 +1100105,53,15587,1,32,1,40,1,1,1,1,-9,4,6111,7860.0,1558701 +1100105,53,15587,2,30,2,50,1,1,1,1,-9,4,5411,7270.0,1558702 +1100105,53,15588,1,33,2,50,1,1,1,1,-9,4,5417,7460.0,1558801 +1100105,53,15588,2,32,1,38,1,1,1,1,-9,4,5241,6991.0,1558802 +1100105,53,15589,1,30,1,50,1,1,1,1,-9,4,6211,7970.0,1558901 +1100105,53,15589,2,28,2,70,1,1,1,1,-9,4,5411,7270.0,1558902 +1100105,53,15590,1,30,1,40,1,1,1,1,-9,4,2211P,570.0,1559001 +1100105,53,15590,2,29,2,55,1,1,1,1,-9,4,5416,7390.0,1559002 +1100105,53,15591,1,34,2,40,1,1,1,1,-9,4,923,9480.0,1559101 +1100105,53,15591,2,33,1,60,1,1,1,1,-9,4,5416,7390.0,1559102 +1100105,53,15592,1,28,1,20,3,1,1,1,16,4,611M1,7870.0,1559201 +1100105,53,15592,2,29,2,40,1,1,1,1,-9,4,5416,7390.0,1559202 +1100105,53,15593,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,1559301 +1100105,53,15593,2,32,2,24,1,1,1,1,-9,4,6213ZM,8080.0,1559302 +1100105,53,15594,1,28,1,45,1,1,1,1,-9,4,5416,7390.0,1559401 +1100105,53,15594,2,28,2,45,1,1,1,1,-9,4,5613,7580.0,1559402 +1100105,53,15595,1,29,2,50,1,1,1,1,-9,4,6214,8090.0,1559501 +1100105,53,15595,2,29,1,60,1,1,1,1,-9,4,5411,7270.0,1559502 +1100105,53,15596,1,31,1,35,1,2,1,1,-9,4,7112,8562.0,1559601 +1100105,53,15596,2,27,2,40,1,1,1,1,-9,4,92113,9380.0,1559602 +1100105,53,15597,1,33,2,40,1,1,1,1,-9,4,622M,8191.0,1559701 +1100105,53,15597,2,32,1,80,1,1,1,1,-9,4,7211,8660.0,1559702 +1100105,53,15598,1,27,2,65,3,1,1,1,-9,4,5411,7270.0,1559801 +1100105,53,15598,2,27,1,50,1,1,1,1,-9,4,5416,7390.0,1559802 +1100105,53,15599,1,32,1,50,1,1,1,1,-9,4,9211MP,9370.0,1559901 +1100105,53,15599,2,34,2,60,1,1,1,1,-9,4,515,6670.0,1559902 +1100105,53,15600,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,1560001 +1100105,53,15600,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1560002 +1100105,53,15601,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,1560101 +1100105,53,15601,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,1560102 +1100105,53,15602,1,31,1,50,1,1,1,1,-9,4,5411,7270.0,1560201 +1100105,53,15602,2,29,2,45,1,1,1,1,-9,4,5411,7270.0,1560202 +1100105,53,15603,1,27,1,60,1,1,1,1,-9,4,9211MP,9370.0,1560301 +1100105,53,15603,2,26,2,40,1,1,1,1,-9,4,481,6070.0,1560302 +1100105,53,15604,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1560401 +1100105,53,15604,2,34,1,40,1,1,1,15,-9,2,5413,7290.0,1560402 +1100105,53,15605,1,80,1,30,1,6,1,1,-9,2,23,770.0,1560501 +1100105,53,15605,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1560502 +1100105,53,15606,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1560601 +1100105,53,15606,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,1560602 +1100105,53,15607,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1560701 +1100105,53,15607,2,67,2,50,1,1,1,1,-9,4,5413,7290.0,1560702 +1100105,53,15608,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1560801 +1100105,53,15608,2,55,2,40,1,1,1,1,-9,4,92M2,9570.0,1560802 +1100105,53,15609,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1560901 +1100105,53,15609,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1560902 +1100105,53,15610,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,1561001 +1100105,53,15610,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,1561002 +1100105,53,15611,1,57,1,50,3,3,1,1,-9,4,8139Z,9190.0,1561101 +1100105,53,15611,2,51,1,40,1,1,1,1,-9,4,8131,9160.0,1561102 +1100105,53,15612,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1561201 +1100105,53,15612,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,1561202 +1100105,53,15613,1,86,1,-9,-9,6,1,1,-9,2,0,0.0,1561301 +1100105,53,15613,2,79,2,4,6,6,1,1,-9,4,7111,8561.0,1561302 +1100105,53,15614,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1561401 +1100105,53,15614,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1561402 +1100105,53,15615,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1561501 +1100105,53,15615,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1561502 +1100105,53,15616,1,86,1,-9,-9,6,1,1,-9,2,0,0.0,1561601 +1100105,53,15616,2,79,2,4,6,6,1,1,-9,4,7111,8561.0,1561602 +1100105,53,15617,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1561701 +1100105,53,15617,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1561702 +1100105,53,15618,1,74,1,60,1,1,8,11,-9,4,23,770.0,1561801 +1100105,53,15618,2,70,2,20,3,1,8,11,-9,4,5617Z,7690.0,1561802 +1100105,53,15619,1,37,1,40,1,1,1,1,-9,4,928P,9590.0,1561901 +1100105,53,15619,2,36,2,40,1,1,1,1,-9,4,611M1,7870.0,1561902 +1100105,53,15620,1,35,1,50,1,1,9,1,-9,4,92M2,9570.0,1562001 +1100105,53,15620,2,27,2,40,1,1,1,1,-9,4,4481,5170.0,1562002 +1100105,53,15621,1,30,2,40,1,1,6,1,-9,4,6111,7860.0,1562101 +1100105,53,15621,2,41,1,40,1,1,1,1,-9,4,517Z,6690.0,1562102 +1100105,53,15622,1,37,1,55,1,1,1,1,-9,4,813M,9170.0,1562201 +1100105,53,15622,2,34,2,55,1,1,1,1,-9,4,712,8570.0,1562202 +1100105,53,15623,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,1562301 +1100105,53,15623,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,1562302 +1100105,53,15624,1,26,1,40,1,1,6,1,-9,4,923,9480.0,1562401 +1100105,53,15624,2,27,1,40,1,1,6,1,-9,4,52M1,6870.0,1562402 +1100105,53,15625,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,1562501 +1100105,53,15625,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,1562502 +1100105,53,15626,1,32,2,40,1,1,6,1,-9,4,9211MP,9370.0,1562601 +1100105,53,15626,2,32,1,40,1,1,1,1,-9,4,5221M,6880.0,1562602 +1100105,53,15627,1,29,2,50,1,1,6,1,-9,4,5411,7270.0,1562701 +1100105,53,15627,2,31,1,60,1,1,1,1,-9,4,6216,8170.0,1562702 +1100105,53,15628,1,29,1,40,1,1,1,1,16,4,6111,7860.0,1562801 +1100105,53,15628,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,1562802 +1100105,53,15629,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1562901 +1100105,53,15629,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1562902 +1100105,53,15630,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,1563001 +1100105,53,15630,2,32,1,40,1,1,1,1,-9,4,9211MP,9370.0,1563002 +1100105,53,15631,1,32,1,40,1,1,1,1,15,4,5415,7380.0,1563101 +1100105,53,15631,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,1563102 +1100105,53,15632,1,30,2,50,1,1,1,1,-9,4,5415,7380.0,1563201 +1100105,53,15632,2,30,2,40,1,1,1,1,-9,4,622M,8191.0,1563202 +1100105,53,15633,1,28,1,50,1,1,1,1,16,4,611M1,7870.0,1563301 +1100105,53,15633,2,30,1,50,1,1,1,1,-9,4,611M1,7870.0,1563302 +1100105,53,15634,1,32,1,40,1,1,1,1,-9,4,813M,9170.0,1563401 +1100105,53,15634,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,1563402 +1100105,53,15635,1,27,1,50,1,1,1,1,-9,4,7115,8564.0,1563501 +1100105,53,15635,2,27,2,45,1,1,1,1,-9,4,5191ZM,6780.0,1563502 +1100105,53,15636,1,26,1,50,1,1,1,1,-9,4,5413,7290.0,1563601 +1100105,53,15636,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,1563602 +1100105,53,15637,1,29,1,40,1,1,1,1,16,4,6111,7860.0,1563701 +1100105,53,15637,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,1563702 +1100105,53,15638,1,29,1,45,1,1,1,1,-9,4,5415,7380.0,1563801 +1100105,53,15638,2,31,2,50,1,1,1,1,-9,4,622M,8191.0,1563802 +1100105,53,15639,1,28,1,50,1,1,1,1,16,4,611M1,7870.0,1563901 +1100105,53,15639,2,30,1,50,1,1,1,1,-9,4,611M1,7870.0,1563902 +1100105,53,15640,1,26,2,50,1,1,1,1,-9,4,5415,7380.0,1564001 +1100105,53,15640,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,1564002 +1100105,53,15641,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,1564101 +1100105,53,15641,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,1564102 +1100105,53,15642,1,29,2,45,1,1,1,3,-9,4,515,6670.0,1564201 +1100105,53,15642,2,34,1,45,1,1,1,1,-9,2,5413,7290.0,1564202 +1100105,53,15643,1,68,1,40,1,1,6,1,-9,4,92M1,9490.0,1564301 +1100105,53,15643,2,68,2,-9,-9,6,6,1,-9,4,6111,7860.0,1564302 +1100105,53,15644,1,74,1,16,3,6,1,1,-9,4,5417,7460.0,1564401 +1100105,53,15644,2,72,2,18,1,1,1,1,-9,4,5112,6490.0,1564402 +1100105,53,15645,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,1564501 +1100105,53,15645,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,1564502 +1100105,53,15646,1,31,2,50,3,3,1,1,-9,4,454110,5593.0,1564601 +1100105,53,15646,2,32,1,60,1,1,1,1,-9,4,9211MP,9370.0,1564602 +1100105,53,15647,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,1564701 +1100105,53,15647,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,1564702 +1100105,53,15648,1,24,2,-9,-9,6,6,2,16,4,813M,9170.0,1564801 +1100105,53,15648,2,26,2,70,1,1,1,1,-9,4,5411,7270.0,1564802 +1100105,53,15649,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1564901 +1100105,53,15649,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1564902 +1100105,53,15650,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1565001 +1100105,53,15650,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1565002 +1100105,53,15651,1,78,2,-9,-9,6,1,16,-9,4,611M1,7870.0,1565101 +1100105,53,15651,2,75,1,-9,-9,6,1,1,-9,4,0,0.0,1565102 +1100105,53,15652,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,1565201 +1100105,53,15652,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,1565202 +1100105,53,15653,1,36,1,40,1,1,1,1,-9,4,531M,7071.0,1565301 +1100105,53,15653,2,27,1,45,1,1,1,1,15,4,5415,7380.0,1565302 +1100105,53,15654,1,37,2,40,3,1,8,13,-9,4,52M1,6870.0,1565401 +1100105,53,15654,2,34,1,40,3,1,8,23,-9,4,52M1,6870.0,1565402 +1100105,53,15655,1,29,2,40,1,1,6,1,-9,4,622M,8191.0,1565501 +1100105,53,15655,2,29,1,40,1,1,6,1,-9,4,5121,6570.0,1565502 +1100105,53,15656,1,27,2,40,1,1,9,1,-9,4,5416,7390.0,1565601 +1100105,53,15656,2,27,2,40,1,1,1,1,-9,4,713Z,8590.0,1565602 +1100105,53,15657,1,27,2,40,1,1,9,1,-9,4,5416,7390.0,1565701 +1100105,53,15657,2,27,2,40,1,1,1,1,-9,4,713Z,8590.0,1565702 +1100105,53,15658,1,24,1,45,1,1,9,1,-9,4,5419Z,7490.0,1565801 +1100105,53,15658,2,24,2,45,1,1,1,1,-9,4,5419Z,7490.0,1565802 +1100105,53,15659,1,22,2,40,1,1,6,1,-9,4,5418,7470.0,1565901 +1100105,53,15659,2,24,2,40,1,1,1,1,-9,4,813M,9170.0,1565902 +1100105,53,15660,1,25,2,45,1,1,1,1,-9,4,5419Z,7490.0,1566001 +1100105,53,15660,2,29,1,60,3,1,6,1,-9,2,5415,7380.0,1566002 +1100105,53,15661,1,28,1,40,1,1,1,1,-9,4,5417,7460.0,1566101 +1100105,53,15661,2,29,2,40,1,1,1,1,-9,4,813M,9170.0,1566102 +1100105,53,15662,1,32,1,65,1,1,1,1,-9,4,9211MP,9370.0,1566201 +1100105,53,15662,2,29,1,50,1,1,1,1,-9,4,515,6670.0,1566202 +1100105,53,15663,1,26,2,45,1,1,1,1,-9,4,5415,7380.0,1566301 +1100105,53,15663,2,25,1,40,2,1,1,1,-9,4,23,770.0,1566302 +1100105,53,15664,1,25,2,60,1,1,1,1,-9,4,7112,8562.0,1566401 +1100105,53,15664,2,27,2,45,1,1,1,1,-9,4,5416,7390.0,1566402 +1100105,53,15665,1,25,1,50,1,1,1,1,-9,4,5418,7470.0,1566501 +1100105,53,15665,2,25,2,50,1,1,1,1,-9,4,561M,7780.0,1566502 +1100105,53,15666,1,33,1,45,1,1,1,1,-9,4,92M2,9570.0,1566601 +1100105,53,15666,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,1566602 +1100105,53,15667,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,1566701 +1100105,53,15667,2,27,1,45,1,1,1,1,-9,4,5411,7270.0,1566702 +1100105,53,15668,1,25,2,45,1,1,1,1,-9,4,81393,9180.0,1566801 +1100105,53,15668,2,25,2,40,1,1,1,1,16,4,5416,7390.0,1566802 +1100105,53,15669,1,32,1,60,1,1,1,1,-9,4,622M,8191.0,1566901 +1100105,53,15669,2,26,2,40,2,1,1,1,16,4,622M,8191.0,1566902 +1100105,53,15670,1,29,2,45,1,1,1,1,-9,4,5416,7390.0,1567001 +1100105,53,15670,2,31,1,45,1,1,1,1,-9,4,81393,9180.0,1567002 +1100105,53,15671,1,25,2,45,1,1,1,1,-9,4,517Z,6690.0,1567101 +1100105,53,15671,2,28,2,40,1,1,1,1,-9,4,5415,7380.0,1567102 +1100105,53,15672,1,26,2,40,1,1,1,1,-9,4,92M2,9570.0,1567201 +1100105,53,15672,2,26,1,40,1,1,1,1,-9,4,44511,4971.0,1567202 +1100105,53,15673,1,31,1,70,1,1,1,1,-9,4,5416,7390.0,1567301 +1100105,53,15673,2,26,2,40,1,1,1,1,-9,4,6111,7860.0,1567302 +1100105,53,15674,1,25,1,35,1,1,1,1,-9,4,611M3,7890.0,1567401 +1100105,53,15674,2,25,2,35,1,1,1,1,-9,4,611M3,7890.0,1567402 +1100105,53,15675,1,24,1,50,1,1,1,1,-9,4,5415,7380.0,1567501 +1100105,53,15675,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,1567502 +1100105,53,15676,1,27,2,40,1,1,1,1,-9,4,813M,9170.0,1567601 +1100105,53,15676,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,1567602 +1100105,53,15677,1,28,2,40,1,1,1,1,-9,4,928P,9590.0,1567701 +1100105,53,15677,2,24,2,38,1,1,1,1,-9,4,928P,9590.0,1567702 +1100105,53,15678,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,1567801 +1100105,53,15678,2,27,2,60,1,1,1,2,-9,4,6111,7860.0,1567802 +1100105,53,15679,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1567901 +1100105,53,15679,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1567902 +1100105,53,15680,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,1568001 +1100105,53,15680,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,1568002 +1100105,53,15681,1,28,2,47,1,1,9,1,-9,4,44611,5070.0,1568101 +1100105,53,15681,2,26,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1568102 +1100105,53,15682,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1568201 +1100105,53,15682,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,1568202 +1100105,53,15683,1,34,1,40,1,1,1,1,-9,4,5418,7470.0,1568301 +1100105,53,15683,2,32,1,20,4,6,1,1,-9,4,5417,7460.0,1568302 +1100105,53,15684,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1568401 +1100105,53,15684,2,34,2,25,5,6,1,1,-9,4,928P,9590.0,1568402 +1100105,53,15685,1,27,2,-9,-9,6,1,1,-9,4,813M,9170.0,1568501 +1100105,53,15685,2,34,1,40,1,1,1,1,-9,4,5417,7460.0,1568502 +1100105,53,15686,1,27,1,42,1,1,1,1,-9,4,928P,9590.0,1568601 +1100105,53,15686,2,28,1,16,4,6,1,23,-9,4,722Z,8680.0,1568602 +1100105,53,15687,1,30,1,40,1,1,1,23,-9,4,5416,7390.0,1568701 +1100105,53,15687,2,31,2,40,6,6,1,23,16,4,4539,5580.0,1568702 +1100105,53,15688,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1568801 +1100105,53,15688,2,77,1,-9,-9,6,1,1,-9,4,0,0.0,1568802 +1100105,53,15689,1,70,2,-9,-9,6,1,1,-9,4,0,0.0,1568901 +1100105,53,15689,2,74,1,40,6,6,1,1,-9,2,5416,7390.0,1568902 +1100105,53,15690,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1569001 +1100105,53,15690,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1569002 +1100105,53,15691,1,27,2,55,1,1,1,1,-9,4,722Z,8680.0,1569101 +1100105,53,15691,2,37,2,15,1,1,9,1,16,4,6241,8370.0,1569102 +1100105,53,15692,1,28,1,60,1,1,6,1,-9,4,5417,7460.0,1569201 +1100105,53,15692,2,23,1,12,5,1,6,1,16,4,722Z,8680.0,1569202 +1100105,53,15693,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1569301 +1100105,53,15693,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1569302 +1100105,53,15694,1,26,2,40,4,1,9,1,-9,4,928P,9590.0,1569401 +1100105,53,15694,2,27,2,32,4,1,1,1,-9,4,813M,9170.0,1569402 +1100105,53,15695,1,26,1,50,1,1,1,1,-9,4,5415,7380.0,1569501 +1100105,53,15695,2,24,1,60,1,1,6,1,-9,4,611M3,7890.0,1569502 +1100105,53,15696,1,20,2,60,4,1,1,1,15,4,6211,7970.0,1569601 +1100105,53,15696,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,1569602 +1100105,53,15697,1,27,2,38,1,1,1,1,-9,4,813M,9170.0,1569701 +1100105,53,15697,2,25,1,40,1,1,1,1,-9,4,5411,7270.0,1569702 +1100105,53,15698,1,23,1,55,1,1,1,1,-9,4,531M,7071.0,1569801 +1100105,53,15698,2,24,1,55,1,1,1,1,-9,4,5121,6570.0,1569802 +1100105,53,15699,1,31,2,45,1,1,1,1,-9,4,611M1,7870.0,1569901 +1100105,53,15699,2,27,2,40,3,1,1,1,-9,4,6241,8370.0,1569902 +1100105,53,15700,1,30,2,60,1,1,1,1,-9,4,7224,8690.0,1570001 +1100105,53,15700,2,26,1,60,1,1,1,1,16,4,44512,4972.0,1570002 +1100105,53,15701,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,1570101 +1100105,53,15701,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,1570102 +1100105,53,15702,1,27,2,38,1,1,1,1,-9,4,813M,9170.0,1570201 +1100105,53,15702,2,25,1,40,1,1,1,1,-9,4,5411,7270.0,1570202 +1100105,53,15703,1,22,1,20,4,1,1,1,16,4,6241,8370.0,1570301 +1100105,53,15703,2,21,1,40,1,1,1,1,-9,4,44511,4971.0,1570302 +1100105,53,15704,1,30,1,35,3,1,1,1,-9,4,7115,8564.0,1570401 +1100105,53,15704,2,32,1,48,1,1,1,21,-9,4,722Z,8680.0,1570402 +1100105,53,15705,1,21,2,40,1,1,1,2,-9,4,92MP,9470.0,1570501 +1100105,53,15705,2,24,1,40,1,1,1,1,-9,4,5416,7390.0,1570502 +1100105,53,15706,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,1570601 +1100105,53,15706,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,1570602 +1100105,53,15707,1,68,2,50,1,1,1,1,-9,4,7211,8660.0,1570701 +1100105,53,15707,2,65,1,-9,-9,6,6,1,-9,4,0,0.0,1570702 +1100105,53,15708,1,74,1,4,4,1,1,1,-9,4,5412,7280.0,1570801 +1100105,53,15708,2,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,1570802 +1100105,53,15709,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1570901 +1100105,53,15709,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1570902 +1100105,53,15710,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1571001 +1100105,53,15710,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1571002 +1100105,53,15711,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1571101 +1100105,53,15711,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1571102 +1100105,53,15712,1,32,2,40,1,1,1,23,16,4,712,8570.0,1571201 +1100105,53,15712,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,1571202 +1100105,53,15713,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1571301 +1100105,53,15713,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1571302 +1100105,53,15714,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1571401 +1100105,53,15714,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1571402 +1100105,53,15715,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1571501 +1100105,53,15715,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1571502 +1100105,53,15716,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1571601 +1100105,53,15716,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1571602 +1100105,53,15717,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1571701 +1100105,53,15717,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1571702 +1100105,53,15718,1,25,1,40,1,1,1,1,-9,4,5313,7072.0,1571801 +1100105,53,15718,2,25,2,35,6,6,1,1,16,4,8139Z,9190.0,1571802 +1100105,53,15719,1,26,2,3,6,6,1,1,16,4,5415,7380.0,1571901 +1100105,53,15719,2,27,1,60,1,1,1,1,-9,4,5613,7580.0,1571902 +1100105,53,15720,1,26,2,3,6,6,1,1,16,4,5415,7380.0,1572001 +1100105,53,15720,2,27,1,60,1,1,1,1,-9,4,5613,7580.0,1572002 +1100105,53,15721,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,1572101 +1100105,53,15721,2,25,2,-9,-9,6,1,1,16,4,5418,7470.0,1572102 +1100105,53,15722,1,24,1,40,5,6,1,1,16,4,5416,7390.0,1572201 +1100105,53,15722,2,26,2,40,1,1,1,1,-9,4,712,8570.0,1572202 +1100105,53,15723,1,26,1,-9,-9,6,1,1,16,4,92M2,9570.0,1572301 +1100105,53,15723,2,26,2,45,1,1,1,1,-9,4,611M1,7870.0,1572302 +1100105,53,15724,1,26,1,40,1,1,1,6,-9,4,23,770.0,1572401 +1100105,53,15724,2,30,1,-9,-9,6,1,16,-9,4,0,0.0,1572402 +1100105,53,15725,1,27,2,40,1,1,1,16,16,4,52M1,6870.0,1572501 +1100105,53,15725,2,32,1,-9,-9,6,1,16,-9,4,7211,8660.0,1572502 +1100105,53,15726,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1572601 +1100105,53,15726,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,1572602 +1100105,53,15727,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1572701 +1100105,53,15727,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,1572702 +1100105,53,15728,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1572801 +1100105,53,15728,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,1572802 +1100105,53,15729,1,25,1,40,6,6,1,4,16,4,92MP,9470.0,1572901 +1100105,53,15729,2,25,1,15,4,6,1,1,16,4,92M2,9570.0,1572902 +1100105,53,15730,1,23,2,43,1,1,1,1,-9,4,5416,7390.0,1573001 +1100105,53,15730,2,23,2,15,1,1,1,1,-9,4,4481,5170.0,1573002 +1100105,53,15731,1,25,1,50,1,1,1,16,16,4,5417,7460.0,1573101 +1100105,53,15731,2,23,2,40,1,1,1,24,16,4,814,9290.0,1573102 +1100105,53,15732,1,28,1,45,6,6,1,1,16,4,5411,7270.0,1573201 +1100105,53,15732,2,28,2,20,5,1,6,1,16,4,8139Z,9190.0,1573202 +1100105,53,15733,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,1573301 +1100105,53,15733,2,29,1,45,1,1,1,1,16,4,6111,7860.0,1573302 +1100105,53,15734,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1573401 +1100105,53,15734,2,66,2,-9,-9,6,1,1,-9,4,0,0.0,1573402 +1100105,53,15735,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1573501 +1100105,53,15735,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,1573502 +1100105,53,15736,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,1573601 +1100105,53,15736,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,1573602 +1100105,53,15737,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,1573701 +1100105,53,15737,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,1573702 +1100105,53,15738,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,1573801 +1100105,53,15738,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,1573802 +1100105,53,15739,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,1573901 +1100105,53,15739,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,1573902 +1100105,53,15740,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,1574001 +1100105,53,15740,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,1574002 +1100105,53,15741,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,1574101 +1100105,53,15741,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,1574102 +1100105,53,15742,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,1574201 +1100105,53,15742,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,1574202 +1100105,53,15743,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1574301 +1100105,53,15743,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1574302 +1100105,53,15744,1,20,2,4,5,1,1,1,15,4,7115,8564.0,1574401 +1100105,53,15744,2,20,1,10,3,6,1,1,15,4,7112,8562.0,1574402 +1100105,53,15745,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1574501 +1100105,53,15745,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1574502 +1100105,53,15746,1,20,1,24,6,1,1,1,15,4,722Z,8680.0,1574601 +1100105,53,15746,2,20,1,-9,-9,6,1,1,15,4,0,0.0,1574602 +1100105,53,15747,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1574701 +1100105,53,15747,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1574702 +1100105,53,15748,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1574801 +1100105,53,15748,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1574802 +1100105,53,15749,1,85,2,-9,-9,6,9,16,-9,4,0,0.0,1574901 +1100105,53,15749,2,87,2,-9,-9,6,9,16,-9,4,0,0.0,1574902 +1100105,53,15750,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1575001 +1100105,53,15750,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,1575002 +1100105,53,15751,1,58,2,-9,-9,6,1,1,-9,4,813M,9170.0,1575101 +1100105,53,15751,2,26,1,-9,-9,6,9,1,-9,4,0,0.0,1575102 +1100105,53,15752,1,25,2,-9,-9,6,6,1,16,4,0,0.0,1575201 +1100105,53,15752,2,23,2,-9,-9,6,6,1,16,4,0,0.0,1575202 +1100105,53,15753,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,1575301 +1100105,53,15753,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,1575302 +1100105,53,15754,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1575401 +1100105,53,15754,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1575402 +1100105,53,15755,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1575501 +1100105,53,15755,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1575502 +1100105,53,15756,1,23,2,35,3,6,1,1,16,4,928P,9590.0,1575601 +1100105,53,15756,2,22,1,20,5,6,1,1,16,4,52M2,6970.0,1575602 +1100105,53,15757,1,24,1,50,6,6,1,1,16,4,92M2,9570.0,1575701 +1100105,53,15757,2,23,1,50,6,6,1,1,16,4,92MP,9470.0,1575702 +1100105,53,15758,1,33,2,40,3,6,1,1,-9,4,52M1,6870.0,1575801 +1100105,53,15758,2,24,2,-9,-9,6,1,1,-9,4,0,0.0,1575802 +1100105,53,15759,1,23,2,-9,-9,6,1,1,16,4,611M3,7890.0,1575901 +1100105,53,15759,2,24,2,-9,-9,6,1,1,16,4,813M,9170.0,1575902 +1100105,53,15760,1,26,2,50,3,6,8,4,16,4,6212,7980.0,1576001 +1100105,53,15760,2,26,2,30,4,6,6,4,16,4,6214,8090.0,1576002 +1100105,53,15761,1,68,1,40,1,1,1,1,-9,4,5411,7270.0,1576101 +1100105,53,15762,1,72,1,50,1,1,1,1,-9,4,923,9480.0,1576201 +1100105,53,15763,1,68,1,40,1,1,1,1,-9,4,5411,7270.0,1576301 +1100105,53,15764,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,1576401 +1100105,53,15765,1,39,2,55,1,1,6,1,-9,4,5411,7270.0,1576501 +1100105,53,15766,1,37,1,45,1,1,1,1,-9,4,52M1,6870.0,1576601 +1100105,53,15767,1,44,1,60,1,1,1,1,-9,2,5416,7390.0,1576701 +1100105,53,15768,1,63,1,40,1,1,1,1,-9,4,454110,5593.0,1576801 +1100105,53,15769,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,1576901 +1100105,53,15770,1,48,1,50,1,1,1,1,-9,4,5415,7380.0,1577001 +1100105,53,15771,1,50,1,50,1,1,1,1,16,4,2211P,570.0,1577101 +1100105,53,15772,1,43,1,50,3,1,1,1,-9,4,6211,7970.0,1577201 +1100105,53,15773,1,48,2,40,1,1,1,1,-9,4,813M,9170.0,1577301 +1100105,53,15774,1,57,2,60,1,1,1,1,-9,4,712,8570.0,1577401 +1100105,53,15775,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1577501 +1100105,53,15776,1,63,2,60,1,1,1,1,-9,4,8139Z,9190.0,1577601 +1100105,53,15777,1,41,2,60,1,1,1,1,-9,4,622M,8191.0,1577701 +1100105,53,15778,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,1577801 +1100105,53,15779,1,50,1,55,1,1,1,1,-9,4,8139Z,9190.0,1577901 +1100105,53,15780,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,1578001 +1100105,53,15781,1,53,2,40,1,1,1,2,-9,4,531M,7071.0,1578101 +1100105,53,15782,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,1578201 +1100105,53,15783,1,32,2,50,1,1,6,1,-9,4,5411,7270.0,1578301 +1100105,53,15784,1,34,1,50,1,1,1,1,-9,4,611M1,7870.0,1578401 +1100105,53,15785,1,29,1,55,1,1,1,1,-9,4,5411,7270.0,1578501 +1100105,53,15786,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,1578601 +1100105,53,15787,1,30,1,50,1,1,1,1,-9,4,443142,4795.0,1578701 +1100105,53,15788,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1578801 +1100105,53,15789,1,30,2,75,1,1,1,1,-9,4,5411,7270.0,1578901 +1100105,53,15790,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1579001 +1100105,53,15791,1,65,2,-9,-9,6,1,1,-9,4,813M,9170.0,1579101 +1100105,53,15792,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,1579201 +1100105,53,15793,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1579301 +1100105,53,15794,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1579401 +1100105,53,15795,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1579501 +1100105,53,15796,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1579601 +1100105,53,15797,1,65,2,-9,-9,6,1,1,-9,4,813M,9170.0,1579701 +1100105,53,15798,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,1579801 +1100105,53,15799,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,1579901 +1100105,53,15800,1,68,2,45,1,1,1,1,-9,4,611M1,7870.0,1580001 +1100105,53,15801,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,1580101 +1100105,53,15802,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,1580201 +1100105,53,15803,1,50,1,60,1,1,1,1,-9,4,611M3,7890.0,1580301 +1100105,53,15804,1,61,2,42,1,1,1,1,-9,4,5415,7380.0,1580401 +1100105,53,15805,1,60,1,45,1,1,1,1,-9,4,812112,8980.0,1580501 +1100105,53,15806,1,64,1,45,1,1,1,1,-9,4,92MP,9470.0,1580601 +1100105,53,15807,1,60,1,45,1,1,1,1,-9,4,5416,7390.0,1580701 +1100105,53,15808,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,1580801 +1100105,53,15809,1,39,1,40,1,1,1,2,-9,4,9211MP,9370.0,1580901 +1100105,53,15810,1,26,2,48,1,1,6,1,-9,4,5411,7270.0,1581001 +1100105,53,15811,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1581101 +1100105,53,15812,1,25,2,40,1,1,1,1,-9,4,5416,7390.0,1581201 +1100105,53,15813,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1581301 +1100105,53,15814,1,33,1,60,1,1,1,1,-9,4,515,6670.0,1581401 +1100105,53,15815,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,1581501 +1100105,53,15816,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,1581601 +1100105,53,15817,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,1581701 +1100105,53,15818,1,30,2,45,1,1,1,1,-9,4,5221M,6880.0,1581801 +1100105,53,15819,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1581901 +1100105,53,15820,1,70,2,12,3,1,1,1,-9,4,6213ZM,8080.0,1582001 +1100105,53,15821,1,66,2,40,1,1,1,1,16,4,6111,7860.0,1582101 +1100105,53,15822,1,72,1,35,4,1,1,11,-9,4,611M1,7870.0,1582201 +1100105,53,15823,1,42,2,70,1,1,7,1,-9,4,44511,4971.0,1582301 +1100105,53,15824,1,44,2,40,1,1,9,1,-9,4,813M,9170.0,1582401 +1100105,53,15825,1,59,2,40,1,1,6,1,-9,4,928P,9590.0,1582501 +1100105,53,15826,1,42,1,40,1,1,6,1,-9,4,8139Z,9190.0,1582601 +1100105,53,15827,1,59,2,40,1,1,6,1,-9,4,928P,9590.0,1582701 +1100105,53,15828,1,50,2,40,1,1,1,1,-9,4,928P,9590.0,1582801 +1100105,53,15829,1,46,2,40,1,1,1,1,-9,4,51912,6770.0,1582901 +1100105,53,15830,1,50,2,45,1,1,1,1,-9,4,813M,9170.0,1583001 +1100105,53,15831,1,40,2,45,1,1,1,1,-9,4,813M,9170.0,1583101 +1100105,53,15832,1,36,1,80,1,1,1,1,-9,4,6111,7860.0,1583201 +1100105,53,15833,1,36,1,50,1,1,1,1,16,2,928P,9590.0,1583301 +1100105,53,15834,1,37,2,50,1,1,1,1,-9,4,515,6670.0,1583401 +1100105,53,15835,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,1583501 +1100105,53,15836,1,38,2,50,1,1,1,1,-9,4,561M,7780.0,1583601 +1100105,53,15837,1,35,1,45,1,1,1,1,-9,4,923,9480.0,1583701 +1100105,53,15838,1,42,2,40,1,1,1,1,-9,4,92M2,9570.0,1583801 +1100105,53,15839,1,36,1,45,1,1,1,1,-9,4,5419Z,7490.0,1583901 +1100105,53,15840,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,1584001 +1100105,53,15841,1,55,1,45,1,1,1,1,-9,4,8139Z,9190.0,1584101 +1100105,53,15842,1,40,1,40,1,1,1,1,-9,4,923,9480.0,1584201 +1100105,53,15843,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,1584301 +1100105,53,15844,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1584401 +1100105,53,15845,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,1584501 +1100105,53,15846,1,53,1,40,4,1,1,1,-9,4,5415,7380.0,1584601 +1100105,53,15847,1,54,1,40,1,1,1,1,-9,4,813M,9170.0,1584701 +1100105,53,15848,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,1584801 +1100105,53,15849,1,39,2,50,3,1,8,2,-9,4,6241,8370.0,1584901 +1100105,53,15850,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,1585001 +1100105,53,15851,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,1585101 +1100105,53,15852,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,1585201 +1100105,53,15853,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1585301 +1100105,53,15854,1,34,1,45,1,1,6,1,-9,4,522M,6890.0,1585401 +1100105,53,15855,1,34,1,45,1,1,6,1,-9,4,522M,6890.0,1585501 +1100105,53,15856,1,32,1,50,1,1,1,1,-9,4,4231,4070.0,1585601 +1100105,53,15857,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1585701 +1100105,53,15858,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1585801 +1100105,53,15859,1,29,1,40,1,1,1,1,-9,4,813M,9170.0,1585901 +1100105,53,15860,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,1586001 +1100105,53,15861,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,1586101 +1100105,53,15862,1,28,2,55,1,1,1,1,-9,4,23,770.0,1586201 +1100105,53,15863,1,32,1,45,1,1,1,1,-9,4,522M,6890.0,1586301 +1100105,53,15864,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1586401 +1100105,53,15865,1,33,2,40,1,1,1,1,-9,4,5416,7390.0,1586501 +1100105,53,15866,1,34,2,50,1,1,1,1,-9,4,92MP,9470.0,1586601 +1100105,53,15867,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,1586701 +1100105,53,15868,1,32,1,50,1,1,1,1,-9,4,4231,4070.0,1586801 +1100105,53,15869,1,30,1,40,1,1,1,1,-9,4,5416,7390.0,1586901 +1100105,53,15870,1,31,2,40,1,1,1,1,-9,4,92113,9380.0,1587001 +1100105,53,15871,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,1587101 +1100105,53,15872,1,26,2,45,1,1,1,1,-9,4,51111,6470.0,1587201 +1100105,53,15873,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1587301 +1100105,53,15874,1,25,2,40,1,1,1,1,16,4,3391,3960.0,1587401 +1100105,53,15875,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,1587501 +1100105,53,15876,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1587601 +1100105,53,15877,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1587701 +1100105,53,15878,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,1587801 +1100105,53,15879,1,26,1,40,1,1,1,1,-9,4,52M2,6970.0,1587901 +1100105,53,15880,1,32,1,50,1,1,1,1,-9,4,9211MP,9370.0,1588001 +1100105,53,15881,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,1588101 +1100105,53,15882,1,33,1,50,1,1,1,3,-9,4,622M,8191.0,1588201 +1100105,53,15883,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,1588301 +1100105,53,15884,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,1588401 +1100105,53,15885,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1588501 +1100105,53,15886,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,1588601 +1100105,53,15887,1,77,2,-9,-9,6,1,1,-9,4,5412,7280.0,1588701 +1100105,53,15888,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,1588801 +1100105,53,15889,1,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,1588901 +1100105,53,15890,1,34,1,60,1,3,9,1,-9,4,5416,7390.0,1589001 +1100105,53,15891,1,71,1,56,5,1,1,1,-9,4,5416,7390.0,1589101 +1100105,53,15892,1,76,2,8,3,1,1,1,-9,4,6211,7970.0,1589201 +1100105,53,15893,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,1589301 +1100105,53,15894,1,72,1,40,1,2,1,1,-9,4,8129,9090.0,1589401 +1100105,53,15895,1,65,2,12,4,1,1,1,-9,4,6111,7860.0,1589501 +1100105,53,15896,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1589601 +1100105,53,15897,1,43,2,60,1,1,6,1,-9,4,6244,8470.0,1589701 +1100105,53,15898,1,42,2,32,3,1,6,1,-9,4,5417,7460.0,1589801 +1100105,53,15899,1,43,2,60,1,1,6,1,-9,4,6244,8470.0,1589901 +1100105,53,15900,1,64,2,40,1,1,1,1,-9,4,621M,8180.0,1590001 +1100105,53,15901,1,41,1,40,1,1,1,1,-9,4,5415,7380.0,1590101 +1100105,53,15902,1,38,2,70,1,1,1,1,-9,4,7211,8660.0,1590201 +1100105,53,15903,1,48,2,40,1,1,1,1,-9,4,517311,6680.0,1590301 +1100105,53,15904,1,48,2,40,1,1,1,1,16,4,611M1,7870.0,1590401 +1100105,53,15905,1,56,1,40,1,1,1,1,-9,4,482,6080.0,1590501 +1100105,53,15906,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,1590601 +1100105,53,15907,1,42,1,40,1,1,1,1,-9,4,9211MP,9370.0,1590701 +1100105,53,15908,1,41,2,50,1,1,1,1,-9,4,8139Z,9190.0,1590801 +1100105,53,15909,1,35,2,40,1,1,1,1,-9,4,531M,7071.0,1590901 +1100105,53,15910,1,35,2,40,1,1,1,1,-9,4,611M1,7870.0,1591001 +1100105,53,15911,1,61,2,50,1,1,1,23,16,4,6111,7860.0,1591101 +1100105,53,15912,1,38,1,45,1,1,1,13,-9,4,8139Z,9190.0,1591201 +1100105,53,15913,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1591301 +1100105,53,15914,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,1591401 +1100105,53,15915,1,25,1,40,3,1,9,1,-9,4,5413,7290.0,1591501 +1100105,53,15916,1,29,1,40,1,1,9,1,-9,4,6111,7860.0,1591601 +1100105,53,15917,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1591701 +1100105,53,15918,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,1591801 +1100105,53,15919,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,1591901 +1100105,53,15920,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,1592001 +1100105,53,15921,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,1592101 +1100105,53,15922,1,32,1,80,1,1,6,1,-9,4,622M,8191.0,1592201 +1100105,53,15923,1,26,2,40,1,1,6,1,-9,4,813M,9170.0,1592301 +1100105,53,15924,1,32,2,40,1,1,6,1,-9,4,5412,7280.0,1592401 +1100105,53,15925,1,25,2,40,1,1,6,1,-9,4,5416,7390.0,1592501 +1100105,53,15926,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,1592601 +1100105,53,15927,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,1592701 +1100105,53,15928,1,31,2,28,1,1,6,1,-9,4,5419Z,7490.0,1592801 +1100105,53,15929,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,1592901 +1100105,53,15930,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,1593001 +1100105,53,15931,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,1593101 +1100105,53,15932,1,27,2,40,1,1,1,1,-9,4,923,9480.0,1593201 +1100105,53,15933,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,1593301 +1100105,53,15934,1,24,2,40,1,1,1,1,16,4,5416,7390.0,1593401 +1100105,53,15935,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,1593501 +1100105,53,15936,1,25,1,45,1,1,1,1,-9,4,52M2,6970.0,1593601 +1100105,53,15937,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1593701 +1100105,53,15938,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1593801 +1100105,53,15939,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,1593901 +1100105,53,15940,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,1594001 +1100105,53,15941,1,28,2,60,1,1,1,1,-9,4,9211MP,9370.0,1594101 +1100105,53,15942,1,26,2,50,1,1,1,1,-9,4,5417,7460.0,1594201 +1100105,53,15943,1,29,2,65,1,1,1,1,-9,4,5411,7270.0,1594301 +1100105,53,15944,1,31,2,40,1,1,1,1,-9,4,92MP,9470.0,1594401 +1100105,53,15945,1,30,2,45,1,1,1,1,-9,4,814,9290.0,1594501 +1100105,53,15946,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1594601 +1100105,53,15947,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1594701 +1100105,53,15948,1,26,2,45,1,1,1,1,-9,4,5416,7390.0,1594801 +1100105,53,15949,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,1594901 +1100105,53,15950,1,31,2,36,1,1,1,1,15,4,813M,9170.0,1595001 +1100105,53,15951,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1595101 +1100105,53,15952,1,34,2,55,1,1,1,1,15,4,515,6670.0,1595201 +1100105,53,15953,1,31,1,50,1,1,1,1,16,2,9211MP,9370.0,1595301 +1100105,53,15954,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,1595401 +1100105,53,15955,1,31,2,55,1,1,1,1,-9,4,454110,5593.0,1595501 +1100105,53,15956,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,1595601 +1100105,53,15957,1,29,1,60,1,1,1,1,-9,4,5111Z,6480.0,1595701 +1100105,53,15958,1,33,1,45,1,1,1,1,-9,4,5413,7290.0,1595801 +1100105,53,15959,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,1595901 +1100105,53,15960,1,28,1,60,1,4,1,1,-9,1,928110P3,9690.0,1596001 +1100105,53,15961,1,30,1,50,1,1,1,1,-9,4,7111,8561.0,1596101 +1100105,53,15962,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,1596201 +1100105,53,15963,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,1596301 +1100105,53,15964,1,30,1,42,1,1,1,1,-9,4,51912,6770.0,1596401 +1100105,53,15965,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,1596501 +1100105,53,15966,1,28,2,40,1,1,1,1,-9,4,6241,8370.0,1596601 +1100105,53,15967,1,31,2,36,1,1,1,1,15,4,813M,9170.0,1596701 +1100105,53,15968,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,1596801 +1100105,53,15969,1,34,2,40,1,1,1,1,-9,4,712,8570.0,1596901 +1100105,53,15970,1,31,1,45,1,1,1,1,-9,4,923,9480.0,1597001 +1100105,53,15971,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,1597101 +1100105,53,15972,1,29,2,40,1,1,1,1,-9,4,611M1,7870.0,1597201 +1100105,53,15973,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,1597301 +1100105,53,15974,1,31,1,60,1,1,1,1,-9,4,5416,7390.0,1597401 +1100105,53,15975,1,28,2,35,1,1,1,1,-9,4,6216,8170.0,1597501 +1100105,53,15976,1,29,1,60,1,1,1,1,-9,4,5111Z,6480.0,1597601 +1100105,53,15977,1,30,1,50,1,1,1,1,-9,4,7111,8561.0,1597701 +1100105,53,15978,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,1597801 +1100105,53,15979,1,28,2,40,1,1,1,1,-9,4,8139Z,9190.0,1597901 +1100105,53,15980,1,28,1,60,1,4,1,1,-9,1,928110P3,9690.0,1598001 +1100105,53,15981,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,1598101 +1100105,53,15982,1,27,2,40,1,1,1,1,-9,4,923,9480.0,1598201 +1100105,53,15983,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,1598301 +1100105,53,15984,1,31,2,40,1,1,1,1,-9,4,92MP,9470.0,1598401 +1100105,53,15985,1,31,1,50,1,1,1,1,16,2,9211MP,9370.0,1598501 +1100105,53,15986,1,29,2,55,1,1,1,1,-9,4,712,8570.0,1598601 +1100105,53,15987,1,33,2,40,1,1,1,1,-9,4,92M1,9490.0,1598701 +1100105,53,15988,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,1598801 +1100105,53,15989,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1598901 +1100105,53,15990,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1599001 +1100105,53,15991,1,31,2,55,1,1,1,4,-9,4,5411,7270.0,1599101 +1100105,53,15992,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1599201 +1100105,53,15993,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,1599301 +1100105,53,15994,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,1599401 +1100105,53,15995,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1599501 +1100105,53,15996,1,33,2,40,1,1,1,2,-9,4,9211MP,9370.0,1599601 +1100105,53,15997,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,1599701 +1100105,53,15998,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,1599801 +1100105,53,15999,1,30,2,37,1,1,1,3,-9,4,81393,9180.0,1599901 +1100105,53,16000,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,1600001 +1100105,53,16001,1,89,1,-9,-9,6,6,1,-9,2,0,0.0,1600101 +1100105,53,16002,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1600201 +1100105,53,16003,1,70,1,-9,-9,6,1,1,-9,4,0,0.0,1600301 +1100105,53,16004,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1600401 +1100105,53,16005,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1600501 +1100105,53,16006,1,67,1,35,2,6,1,1,15,4,7111,8561.0,1600601 +1100105,53,16007,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,1600701 +1100105,53,16008,1,70,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1600801 +1100105,53,16009,1,94,1,-9,-9,6,1,1,-9,2,0,0.0,1600901 +1100105,53,16010,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,1601001 +1100105,53,16011,1,67,1,35,2,6,1,1,15,4,7111,8561.0,1601101 +1100105,53,16012,1,94,1,-9,-9,6,1,1,-9,2,0,0.0,1601201 +1100105,53,16013,1,67,1,-9,-9,6,1,1,16,2,923,9480.0,1601301 +1100105,53,16014,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1601401 +1100105,53,16015,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1601501 +1100105,53,16016,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1601601 +1100105,53,16017,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1601701 +1100105,53,16018,1,62,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1601801 +1100105,53,16019,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1601901 +1100105,53,16020,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,1602001 +1100105,53,16021,1,67,1,50,1,1,1,1,-9,4,23,770.0,1602101 +1100105,53,16022,1,47,2,40,1,1,1,1,-9,4,8139Z,9190.0,1602201 +1100105,53,16023,1,24,2,40,1,1,9,1,-9,2,8139Z,9190.0,1602301 +1100105,53,16024,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,1602401 +1100105,53,16025,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,1602501 +1100105,53,16026,1,30,2,55,1,1,1,1,-9,4,928P,9590.0,1602601 +1100105,53,16027,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1602701 +1100105,53,16028,1,26,1,50,1,1,1,1,-9,4,813M,9170.0,1602801 +1100105,53,16029,1,25,2,55,1,1,1,1,-9,4,813M,9170.0,1602901 +1100105,53,16030,1,27,2,40,1,1,1,1,-9,4,3254,2190.0,1603001 +1100105,53,16031,1,25,1,45,3,1,1,1,-9,4,928P,9590.0,1603101 +1100105,53,16032,1,28,2,42,1,1,1,1,-9,4,812112,8980.0,1603201 +1100105,53,16033,1,28,2,42,1,1,1,1,-9,4,812112,8980.0,1603301 +1100105,53,16034,1,33,2,40,1,1,1,2,-9,4,531M,7071.0,1603401 +1100105,53,16035,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1603501 +1100105,53,16036,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1603601 +1100105,53,16037,1,86,1,-9,-9,6,2,1,-9,2,0,0.0,1603701 +1100105,53,16038,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,1603801 +1100105,53,16039,1,71,1,-9,-9,6,1,1,-9,4,0,0.0,1603901 +1100105,53,16040,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1604001 +1100105,53,16041,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1604101 +1100105,53,16042,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,1604201 +1100105,53,16043,1,67,2,-9,-9,6,1,1,-9,4,5415,7380.0,1604301 +1100105,53,16044,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,1604401 +1100105,53,16045,1,54,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1604501 +1100105,53,16046,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1604601 +1100105,53,16047,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1604701 +1100105,53,16048,1,67,1,20,1,1,1,1,-9,4,23,770.0,1604801 +1100105,53,16049,1,71,2,18,1,1,1,1,-9,4,4MS,5790.0,1604901 +1100105,53,16050,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1605001 +1100105,53,16051,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1605101 +1100105,53,16052,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1605201 +1100105,53,16053,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,1605301 +1100105,53,16054,1,62,1,20,3,1,9,1,-9,4,4249Z,4580.0,1605401 +1100105,53,16055,1,52,1,60,1,1,1,1,-9,4,5415,7380.0,1605501 +1100105,53,16056,1,60,1,50,1,1,1,1,-9,4,5411,7270.0,1605601 +1100105,53,16057,1,50,1,40,1,1,1,1,-9,4,7115,8564.0,1605701 +1100105,53,16058,1,38,1,20,3,1,1,1,-9,4,4481,5170.0,1605801 +1100105,53,16059,1,59,1,30,2,1,1,1,-9,4,4853,6190.0,1605901 +1100105,53,16060,1,35,2,40,1,1,1,2,-9,4,722Z,8680.0,1606001 +1100105,53,16061,1,64,2,4,5,1,1,11,-9,4,7211,8660.0,1606101 +1100105,53,16062,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1606201 +1100105,53,16063,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1606301 +1100105,53,16064,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1606401 +1100105,53,16065,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1606501 +1100105,53,16066,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1606601 +1100105,53,16067,1,31,2,16,2,1,6,1,-9,4,722Z,8680.0,1606701 +1100105,53,16068,1,34,2,24,4,1,6,1,-9,4,722Z,8680.0,1606801 +1100105,53,16069,1,29,2,30,5,1,6,1,-9,4,8139Z,9190.0,1606901 +1100105,53,16070,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1607001 +1100105,53,16071,1,34,2,24,4,1,6,1,-9,4,722Z,8680.0,1607101 +1100105,53,16072,1,22,1,40,6,1,1,1,-9,4,5417,7460.0,1607201 +1100105,53,16073,1,26,2,20,4,1,1,1,-9,4,52M2,6970.0,1607301 +1100105,53,16074,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,1607401 +1100105,53,16075,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,1607501 +1100105,53,16076,1,22,1,40,6,1,1,1,-9,4,5417,7460.0,1607601 +1100105,53,16077,1,22,1,40,1,1,1,1,15,4,51111,6470.0,1607701 +1100105,53,16078,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,1607801 +1100105,53,16079,1,22,1,40,6,1,1,1,-9,4,5417,7460.0,1607901 +1100105,53,16080,1,24,1,15,4,1,1,1,-9,4,9211MP,9370.0,1608001 +1100105,53,16081,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,1608101 +1100105,53,16082,1,23,1,40,1,1,1,1,16,4,5415,7380.0,1608201 +1100105,53,16083,1,22,2,25,4,1,1,1,-9,4,611M1,7870.0,1608301 +1100105,53,16084,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,1608401 +1100105,53,16085,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,1608501 +1100105,53,16086,1,28,2,40,5,1,1,23,-9,4,928P,9590.0,1608601 +1100105,53,16087,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,1608701 +1100105,53,16088,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1608801 +1100105,53,16089,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1608901 +1100105,53,16090,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1609001 +1100105,53,16091,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1609101 +1100105,53,16092,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,1609201 +1100105,53,16093,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,1609301 +1100105,53,16094,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,1609401 +1100105,53,16095,1,65,2,-9,-9,6,9,1,-9,4,0,0.0,1609501 +1100105,53,16096,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,1609601 +1100105,53,16097,1,65,2,-9,-9,6,9,1,-9,4,0,0.0,1609701 +1100105,53,16098,1,76,1,-9,-9,6,9,1,-9,2,0,0.0,1609801 +1100105,53,16099,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,1609901 +1100105,53,16100,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,1610001 +1100105,53,16101,1,85,2,-9,-9,6,6,1,-9,4,0,0.0,1610101 +1100105,53,16102,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,1610201 +1100105,53,16103,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,1610301 +1100105,53,16104,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,1610401 +1100105,53,16105,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,1610501 +1100105,53,16106,1,77,2,-9,-9,6,2,1,-9,4,0,0.0,1610601 +1100105,53,16107,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1610701 +1100105,53,16108,1,94,2,-9,-9,6,2,1,-9,4,0,0.0,1610801 +1100105,53,16109,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1610901 +1100105,53,16110,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1611001 +1100105,53,16111,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1611101 +1100105,53,16112,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1611201 +1100105,53,16113,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1611301 +1100105,53,16114,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1611401 +1100105,53,16115,1,71,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1611501 +1100105,53,16116,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,1611601 +1100105,53,16117,1,82,2,-9,-9,6,1,1,-9,4,0,0.0,1611701 +1100105,53,16118,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,1611801 +1100105,53,16119,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1611901 +1100105,53,16120,1,67,2,30,4,6,1,1,-9,4,7115,8564.0,1612001 +1100105,53,16121,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1612101 +1100105,53,16122,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1612201 +1100105,53,16123,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1612301 +1100105,53,16124,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,1612401 +1100105,53,16125,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,1612501 +1100105,53,16126,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1612601 +1100105,53,16127,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1612701 +1100105,53,16128,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1612801 +1100105,53,16129,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1612901 +1100105,53,16130,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,1613001 +1100105,53,16131,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1613101 +1100105,53,16132,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,1613201 +1100105,53,16133,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1613301 +1100105,53,16134,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1613401 +1100105,53,16135,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1613501 +1100105,53,16136,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1613601 +1100105,53,16137,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,1613701 +1100105,53,16138,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1613801 +1100105,53,16139,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1613901 +1100105,53,16140,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1614001 +1100105,53,16141,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1614101 +1100105,53,16142,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,1614201 +1100105,53,16143,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,1614301 +1100105,53,16144,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,1614401 +1100105,53,16145,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1614501 +1100105,53,16146,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1614601 +1100105,53,16147,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1614701 +1100105,53,16148,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,1614801 +1100105,53,16149,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,1614901 +1100105,53,16150,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,1615001 +1100105,53,16151,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,1615101 +1100105,53,16152,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,1615201 +1100105,53,16153,1,62,1,-9,-9,6,2,1,-9,4,5615,7670.0,1615301 +1100105,53,16154,1,38,1,10,5,3,2,1,-9,4,5416,7390.0,1615401 +1100105,53,16155,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,1615501 +1100105,53,16156,1,55,2,-9,-9,6,1,1,-9,4,0,0.0,1615601 +1100105,53,16157,1,58,2,-9,-9,3,1,1,-9,4,999920,9920.0,1615701 +1100105,53,16158,1,56,1,-9,-9,6,1,1,-9,4,5241,6991.0,1615801 +1100105,53,16159,1,58,2,-9,-9,3,1,1,-9,4,999920,9920.0,1615901 +1100105,53,16160,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,1616001 +1100105,53,16161,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,1616101 +1100105,53,16162,1,44,1,-9,-9,6,1,1,-9,4,0,0.0,1616201 +1100105,53,16163,1,58,2,-9,-9,3,1,1,-9,4,999920,9920.0,1616301 +1100105,53,16164,1,56,1,-9,-9,6,1,1,-9,4,5241,6991.0,1616401 +1100105,53,16165,1,38,1,-9,-9,6,1,1,16,4,92MP,9470.0,1616501 +1100105,53,16166,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,1616601 +1100105,53,16167,1,47,2,8,1,6,1,16,-9,4,713Z,8590.0,1616701 +1100105,53,16168,1,54,2,-9,-9,6,1,23,-9,4,0,0.0,1616801 +1100105,53,16169,1,26,1,-9,-9,6,6,1,-9,4,0,0.0,1616901 +1100105,53,16170,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,1617001 +1100105,53,16171,1,22,2,45,3,6,6,1,16,4,23,770.0,1617101 +1100105,53,16172,1,22,2,45,3,6,6,1,16,4,23,770.0,1617201 +1100105,53,16173,1,29,2,8,6,6,6,1,16,4,6212,7980.0,1617301 +1100105,53,16174,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,1617401 +1100105,53,16175,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,1617501 +1100105,53,16176,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,1617601 +1100105,53,16177,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1617701 +1100105,53,16178,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,1617801 +1100105,53,16179,1,28,1,55,5,6,1,1,16,4,52M1,6870.0,1617901 +1100105,53,16180,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,1618001 +1100105,53,16181,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1618101 +1100105,53,16182,1,24,2,20,6,6,1,1,16,4,5411,7270.0,1618201 +1100105,53,16183,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1618301 +1100105,53,16184,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,1618401 +1100105,53,16185,1,24,1,-9,-9,6,1,1,16,4,622M,8191.0,1618501 +1100105,53,16186,1,24,2,10,5,6,1,1,16,4,712,8570.0,1618601 +1100105,53,16187,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1618701 +1100105,53,16188,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1618801 +1100105,53,16189,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,1618901 +1100105,53,16190,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1619001 +1100105,53,16191,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,1619101 +1100105,53,16192,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,1619201 +1100105,53,16193,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1619301 +1100105,53,16194,1,26,2,40,6,6,1,23,16,4,722Z,8680.0,1619401 +1100105,53,16195,1,27,1,-9,-9,6,6,14,16,4,6212,7980.0,1619501 +1100105,53,16196,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1619601 +1100105,53,16197,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1619701 +1100105,53,16198,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,1619801 +1100105,53,16199,1,20,2,-9,-9,3,1,13,15,4,999920,9920.0,1619901 +1100105,53,16200,1,25,2,40,3,3,1,21,-9,4,5417,7460.0,1620001 +1100105,54,16201,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1620101 +1100105,54,16201,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1620102 +1100105,54,16201,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1620103 +1100105,54,16201,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1620104 +1100105,54,16201,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1620105 +1100105,54,16201,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1620106 +1100105,54,16202,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1620201 +1100105,54,16202,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1620202 +1100105,54,16202,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1620203 +1100105,54,16202,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1620204 +1100105,54,16202,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1620205 +1100105,54,16202,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1620206 +1100105,54,16203,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1620301 +1100105,54,16203,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1620302 +1100105,54,16203,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1620303 +1100105,54,16203,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1620304 +1100105,54,16203,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1620305 +1100105,54,16203,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1620306 +1100105,54,16204,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1620401 +1100105,54,16204,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1620402 +1100105,54,16204,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1620403 +1100105,54,16204,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1620404 +1100105,54,16204,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1620405 +1100105,54,16204,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1620406 +1100105,54,16205,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1620501 +1100105,54,16205,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1620502 +1100105,54,16205,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1620503 +1100105,54,16205,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1620504 +1100105,54,16205,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1620505 +1100105,54,16205,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1620506 +1100105,54,16206,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1620601 +1100105,54,16206,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1620602 +1100105,54,16206,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1620603 +1100105,54,16206,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1620604 +1100105,54,16206,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1620605 +1100105,54,16206,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1620606 +1100105,54,16207,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1620701 +1100105,54,16207,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1620702 +1100105,54,16207,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1620703 +1100105,54,16207,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1620704 +1100105,54,16207,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1620705 +1100105,54,16207,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1620706 +1100105,54,16208,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1620801 +1100105,54,16208,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1620802 +1100105,54,16208,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1620803 +1100105,54,16208,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1620804 +1100105,54,16208,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1620805 +1100105,54,16208,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1620806 +1100105,54,16209,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1620901 +1100105,54,16209,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1620902 +1100105,54,16209,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1620903 +1100105,54,16209,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1620904 +1100105,54,16209,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1620905 +1100105,54,16209,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1620906 +1100105,54,16210,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1621001 +1100105,54,16210,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1621002 +1100105,54,16210,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1621003 +1100105,54,16210,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1621004 +1100105,54,16210,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1621005 +1100105,54,16210,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1621006 +1100105,54,16211,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1621101 +1100105,54,16211,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1621102 +1100105,54,16211,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1621103 +1100105,54,16211,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1621104 +1100105,54,16211,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1621105 +1100105,54,16211,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1621106 +1100105,54,16212,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1621201 +1100105,54,16212,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1621202 +1100105,54,16212,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1621203 +1100105,54,16212,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1621204 +1100105,54,16212,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1621205 +1100105,54,16212,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1621206 +1100105,54,16213,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1621301 +1100105,54,16213,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1621302 +1100105,54,16213,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1621303 +1100105,54,16213,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1621304 +1100105,54,16213,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1621305 +1100105,54,16213,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1621306 +1100105,54,16214,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1621401 +1100105,54,16214,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1621402 +1100105,54,16214,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1621403 +1100105,54,16214,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1621404 +1100105,54,16214,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621405 +1100105,54,16214,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1621406 +1100105,54,16214,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621407 +1100105,54,16214,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621408 +1100105,54,16214,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1621409 +1100105,54,16215,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1621501 +1100105,54,16215,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1621502 +1100105,54,16215,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1621503 +1100105,54,16215,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1621504 +1100105,54,16215,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621505 +1100105,54,16215,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1621506 +1100105,54,16215,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621507 +1100105,54,16215,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621508 +1100105,54,16215,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1621509 +1100105,54,16216,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1621601 +1100105,54,16216,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1621602 +1100105,54,16216,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1621603 +1100105,54,16216,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1621604 +1100105,54,16216,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621605 +1100105,54,16216,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1621606 +1100105,54,16216,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621607 +1100105,54,16216,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621608 +1100105,54,16216,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1621609 +1100105,54,16217,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1621701 +1100105,54,16217,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1621702 +1100105,54,16217,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1621703 +1100105,54,16217,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1621704 +1100105,54,16217,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621705 +1100105,54,16217,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1621706 +1100105,54,16217,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621707 +1100105,54,16217,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621708 +1100105,54,16217,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1621709 +1100105,54,16218,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1621801 +1100105,54,16218,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1621802 +1100105,54,16218,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1621803 +1100105,54,16218,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1621804 +1100105,54,16218,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621805 +1100105,54,16218,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1621806 +1100105,54,16218,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621807 +1100105,54,16218,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621808 +1100105,54,16218,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1621809 +1100105,54,16219,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1621901 +1100105,54,16219,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1621902 +1100105,54,16219,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1621903 +1100105,54,16219,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1621904 +1100105,54,16219,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621905 +1100105,54,16219,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1621906 +1100105,54,16219,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621907 +1100105,54,16219,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1621908 +1100105,54,16219,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1621909 +1100105,54,16220,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1622001 +1100105,54,16220,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1622002 +1100105,54,16220,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1622003 +1100105,54,16220,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1622004 +1100105,54,16220,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1622005 +1100105,54,16220,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1622006 +1100105,54,16220,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1622007 +1100105,54,16220,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1622008 +1100105,54,16220,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1622009 +1100105,54,16221,1,79,1,30,1,1,1,1,-9,2,5411,7270.0,1622101 +1100105,54,16221,2,65,2,35,1,1,1,1,-9,4,813M,9170.0,1622102 +1100105,54,16221,3,30,2,25,6,1,1,1,-9,4,6241,8370.0,1622103 +1100105,54,16222,1,57,1,55,1,1,1,1,-9,4,5416,7390.0,1622201 +1100105,54,16222,2,58,2,55,1,1,1,1,-9,2,5416,7390.0,1622202 +1100105,54,16222,3,23,2,40,4,1,1,1,-9,4,923,9480.0,1622203 +1100105,54,16223,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,1622301 +1100105,54,16223,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,1622302 +1100105,54,16223,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,1622303 +1100105,54,16224,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,1622401 +1100105,54,16224,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,1622402 +1100105,54,16224,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,1622403 +1100105,54,16225,1,33,1,50,1,1,1,1,-9,4,23,770.0,1622501 +1100105,54,16225,2,36,1,40,4,1,1,1,-9,4,611M1,7870.0,1622502 +1100105,54,16225,3,32,1,30,3,1,1,1,-9,4,5417,7460.0,1622503 +1100105,54,16226,1,31,2,40,1,1,1,1,-9,4,92M2,9570.0,1622601 +1100105,54,16226,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,1622602 +1100105,54,16226,3,27,1,40,2,1,9,1,-9,4,9211MP,9370.0,1622603 +1100105,54,16227,1,23,2,40,3,1,1,1,-9,4,5411,7270.0,1622701 +1100105,54,16227,2,29,1,50,1,1,1,1,16,4,928P,9590.0,1622702 +1100105,54,16227,3,25,2,50,1,1,1,1,-9,4,813M,9170.0,1622703 +1100105,54,16228,1,25,1,70,1,1,1,1,-9,4,531M,7071.0,1622801 +1100105,54,16228,2,30,1,40,1,1,1,1,-9,4,52M2,6970.0,1622802 +1100105,54,16228,3,29,1,40,1,1,1,1,-9,4,5416,7390.0,1622803 +1100105,54,16229,1,27,1,40,1,1,1,1,-9,4,6111,7860.0,1622901 +1100105,54,16229,2,29,1,40,1,1,1,1,-9,4,5413,7290.0,1622902 +1100105,54,16229,3,27,1,40,1,1,1,1,-9,4,562,7790.0,1622903 +1100105,54,16230,1,28,2,40,1,1,1,1,-9,2,928P,9590.0,1623001 +1100105,54,16230,2,29,1,45,1,1,1,1,16,4,3366,3680.0,1623002 +1100105,54,16230,3,28,1,55,1,1,1,1,-9,4,5413,7290.0,1623003 +1100105,54,16231,1,25,2,50,1,1,1,1,-9,4,9211MP,9370.0,1623101 +1100105,54,16231,2,29,2,42,1,1,1,1,-9,4,5418,7470.0,1623102 +1100105,54,16231,3,29,2,50,1,1,1,1,-9,4,813M,9170.0,1623103 +1100105,54,16232,1,25,1,40,1,1,1,16,-9,4,5412,7280.0,1623201 +1100105,54,16232,2,25,1,60,1,1,1,1,-9,3,5419Z,7490.0,1623202 +1100105,54,16232,3,24,1,43,1,1,1,1,-9,4,5418,7470.0,1623203 +1100105,54,16233,1,65,1,40,1,1,1,1,-9,4,611M1,7870.0,1623301 +1100105,54,16233,2,65,2,40,3,1,1,1,-9,4,611M1,7870.0,1623302 +1100105,54,16233,3,20,1,24,6,6,1,1,15,4,8139Z,9190.0,1623303 +1100105,54,16234,1,64,2,35,1,1,1,1,-9,4,6214,8090.0,1623401 +1100105,54,16234,2,70,1,8,6,3,1,1,-9,4,5416,7390.0,1623402 +1100105,54,16234,3,33,1,40,1,1,1,1,-9,4,52M2,6970.0,1623403 +1100105,54,16235,1,49,1,40,1,1,1,1,-9,2,92M2,9570.0,1623501 +1100105,54,16235,2,44,2,40,1,1,1,1,-9,4,5416,7390.0,1623502 +1100105,54,16235,3,23,1,10,6,6,1,1,15,4,5416,7390.0,1623503 +1100105,54,16236,1,53,2,40,1,1,1,1,-9,4,928P,9590.0,1623601 +1100105,54,16236,2,54,1,40,1,1,1,1,-9,4,928P,9590.0,1623602 +1100105,54,16236,3,21,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1623603 +1100105,54,16237,1,55,2,40,1,1,9,1,-9,4,52M2,6970.0,1623701 +1100105,54,16237,2,65,1,50,1,1,1,1,-9,4,44511,4971.0,1623702 +1100105,54,16237,3,15,2,-9,-9,-9,6,1,12,-9,0,0.0,1623703 +1100105,54,16238,1,55,2,40,1,1,9,1,-9,4,52M2,6970.0,1623801 +1100105,54,16238,2,65,1,50,1,1,1,1,-9,4,44511,4971.0,1623802 +1100105,54,16238,3,15,2,-9,-9,-9,6,1,12,-9,0,0.0,1623803 +1100105,54,16239,1,41,1,50,1,1,1,1,-9,4,611M1,7870.0,1623901 +1100105,54,16239,2,42,2,40,1,1,6,1,-9,4,611M1,7870.0,1623902 +1100105,54,16239,3,6,2,-9,-9,-9,9,1,2,-9,0,0.0,1623903 +1100105,54,16240,1,41,1,50,1,1,1,1,-9,4,611M1,7870.0,1624001 +1100105,54,16240,2,42,2,40,1,1,6,1,-9,4,611M1,7870.0,1624002 +1100105,54,16240,3,6,2,-9,-9,-9,9,1,2,-9,0,0.0,1624003 +1100105,54,16241,1,48,1,50,1,1,1,1,-9,4,92MP,9470.0,1624101 +1100105,54,16241,2,47,2,50,1,1,1,1,-9,4,92MP,9470.0,1624102 +1100105,54,16241,3,8,2,-9,-9,-9,1,1,4,-9,0,0.0,1624103 +1100105,54,16242,1,50,1,40,1,1,1,1,-9,4,454110,5593.0,1624201 +1100105,54,16242,2,48,2,40,1,1,1,1,-9,4,5413,7290.0,1624202 +1100105,54,16242,3,15,2,-9,-9,-9,1,2,12,-9,0,0.0,1624203 +1100105,54,16243,1,45,1,40,1,1,1,1,-9,4,515,6670.0,1624301 +1100105,54,16243,2,42,2,40,1,1,6,1,-9,4,515,6670.0,1624302 +1100105,54,16243,3,2,1,-9,-9,-9,8,1,-9,-9,0,0.0,1624303 +1100105,54,16244,1,43,1,50,1,1,1,1,-9,4,485M,6180.0,1624401 +1100105,54,16244,2,35,2,40,1,1,9,1,-9,4,92M1,9490.0,1624402 +1100105,54,16244,3,0,2,-9,-9,-9,1,1,-9,-9,0,0.0,1624403 +1100105,54,16245,1,45,1,65,1,1,1,1,-9,4,5418,7470.0,1624501 +1100105,54,16245,2,40,2,50,1,1,1,1,-9,4,5415,7380.0,1624502 +1100105,54,16245,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1624503 +1100105,54,16246,1,45,1,65,1,1,1,1,-9,4,5418,7470.0,1624601 +1100105,54,16246,2,40,2,50,1,1,1,1,-9,4,5415,7380.0,1624602 +1100105,54,16246,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1624603 +1100105,54,16247,1,45,1,65,1,1,1,1,-9,4,5418,7470.0,1624701 +1100105,54,16247,2,40,2,50,1,1,1,1,-9,4,5415,7380.0,1624702 +1100105,54,16247,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1624703 +1100105,54,16248,1,41,2,24,1,1,1,1,-9,4,813M,9170.0,1624801 +1100105,54,16248,2,43,1,40,1,1,1,1,-9,4,92M2,9570.0,1624802 +1100105,54,16248,3,1,2,-9,-9,-9,9,3,-9,-9,0,0.0,1624803 +1100105,54,16249,1,35,1,40,1,1,1,1,-9,4,51111,6470.0,1624901 +1100105,54,16249,2,33,2,50,1,1,6,1,-9,4,52M1,6870.0,1624902 +1100105,54,16249,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,1624903 +1100105,54,16250,1,39,1,45,1,1,1,1,-9,4,5415,7380.0,1625001 +1100105,54,16250,2,33,2,40,1,1,1,1,-9,4,5415,7380.0,1625002 +1100105,54,16250,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1625003 +1100105,54,16251,1,36,1,50,1,1,1,1,16,4,515,6670.0,1625101 +1100105,54,16251,2,29,2,60,1,1,1,1,-9,4,813M,9170.0,1625102 +1100105,54,16251,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1625103 +1100105,54,16252,1,33,2,60,1,1,1,3,-9,4,51913,6672.0,1625201 +1100105,54,16252,2,36,1,60,1,1,1,1,-9,4,5416,7390.0,1625202 +1100105,54,16252,3,0,1,-9,-9,-9,1,3,-9,-9,0,0.0,1625203 +1100105,54,16253,1,34,1,40,1,1,6,1,-9,4,9211MP,9370.0,1625301 +1100105,54,16253,2,33,2,40,1,1,6,1,-9,4,5416,7390.0,1625302 +1100105,54,16253,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,1625303 +1100105,54,16254,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,1625401 +1100105,54,16254,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,1625402 +1100105,54,16254,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,1625403 +1100105,54,16255,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,1625501 +1100105,54,16255,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,1625502 +1100105,54,16255,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,1625503 +1100105,54,16256,1,34,2,40,1,1,1,1,-9,4,622M,8191.0,1625601 +1100105,54,16256,2,34,1,55,1,1,6,1,-9,4,5411,7270.0,1625602 +1100105,54,16256,3,1,1,-9,-9,-9,9,1,-9,-9,0,0.0,1625603 +1100105,54,16257,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,1625701 +1100105,54,16257,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,1625702 +1100105,54,16257,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1625703 +1100105,54,16258,1,31,1,50,1,1,1,1,-9,4,6111,7860.0,1625801 +1100105,54,16258,2,31,2,45,1,1,1,1,-9,4,5419Z,7490.0,1625802 +1100105,54,16258,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,1625803 +1100105,54,16259,1,62,1,40,6,6,6,1,16,4,5411,7270.0,1625901 +1100105,54,16259,2,62,2,44,1,1,6,1,15,4,712,8570.0,1625902 +1100105,54,16259,3,22,2,-9,-9,6,6,1,15,4,0,0.0,1625903 +1100105,54,16260,1,44,1,20,5,6,1,1,-9,4,23,770.0,1626001 +1100105,54,16260,2,9,2,-9,-9,-9,1,1,5,-9,0,0.0,1626002 +1100105,54,16260,3,40,2,20,1,1,1,1,-9,4,712,8570.0,1626003 +1100105,54,16261,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,1626101 +1100105,54,16261,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,1626102 +1100105,54,16261,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,1626103 +1100105,54,16262,1,39,1,20,3,1,1,1,-9,4,7224,8690.0,1626201 +1100105,54,16262,2,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1626202 +1100105,54,16262,3,27,2,-9,-9,6,1,1,-9,4,7224,8690.0,1626203 +1100105,54,16263,1,33,1,50,1,1,1,1,-9,4,23,770.0,1626301 +1100105,54,16263,2,32,2,-9,-9,6,1,1,-9,4,813M,9170.0,1626302 +1100105,54,16263,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1626303 +1100105,54,16264,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,1626401 +1100105,54,16264,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,1626402 +1100105,54,16264,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1626403 +1100105,54,16265,1,26,2,40,1,1,1,1,-9,4,611M1,7870.0,1626501 +1100105,54,16265,2,26,2,40,1,1,8,1,-9,4,6111,7860.0,1626502 +1100105,54,16265,3,26,2,40,3,1,8,1,-9,4,5416,7390.0,1626503 +1100105,54,16266,1,27,1,60,1,1,1,1,-9,4,5415,7380.0,1626601 +1100105,54,16266,2,28,1,60,1,1,1,1,-9,4,5415,7380.0,1626602 +1100105,54,16266,3,23,1,60,1,1,1,1,-9,4,923,9480.0,1626603 +1100105,54,16267,1,25,2,58,1,1,1,1,-9,4,531M,7071.0,1626701 +1100105,54,16267,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,1626702 +1100105,54,16267,3,24,2,50,1,1,1,1,-9,4,5418,7470.0,1626703 +1100105,54,16268,1,25,2,58,1,1,1,1,-9,4,531M,7071.0,1626801 +1100105,54,16268,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,1626802 +1100105,54,16268,3,24,2,50,1,1,1,1,-9,4,5418,7470.0,1626803 +1100105,54,16269,1,25,1,50,1,1,1,1,-9,4,9211MP,9370.0,1626901 +1100105,54,16269,2,31,1,50,1,1,1,1,-9,4,5418,7470.0,1626902 +1100105,54,16269,3,29,1,50,1,1,1,1,-9,4,9211MP,9370.0,1626903 +1100105,54,16270,1,26,2,45,1,1,1,1,-9,4,813M,9170.0,1627001 +1100105,54,16270,2,26,2,45,1,1,1,1,-9,4,813M,9170.0,1627002 +1100105,54,16270,3,26,2,40,1,1,1,1,-9,4,5121,6570.0,1627003 +1100105,54,16271,1,25,1,30,3,6,1,1,16,4,92M2,9570.0,1627101 +1100105,54,16271,2,25,1,40,1,1,1,1,-9,4,5415,7380.0,1627102 +1100105,54,16271,3,25,1,50,1,1,1,1,-9,4,56173,7770.0,1627103 +1100105,54,16272,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,1627201 +1100105,54,16272,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,1627202 +1100105,54,16272,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,1627203 +1100105,54,16273,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,1627301 +1100105,54,16273,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,1627302 +1100105,54,16273,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,1627303 +1100105,54,16274,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,1627401 +1100105,54,16274,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,1627402 +1100105,54,16274,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,1627403 +1100105,54,16275,1,37,2,50,6,1,1,1,-9,4,813M,9170.0,1627501 +1100105,54,16275,2,37,1,66,1,1,1,1,-9,4,611M1,7870.0,1627502 +1100105,54,16275,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1627503 +1100105,54,16276,1,48,1,60,1,1,9,1,-9,4,8139Z,9190.0,1627601 +1100105,54,16276,2,33,2,50,1,1,1,1,-9,4,813M,9170.0,1627602 +1100105,54,16276,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,1627603 +1100105,54,16277,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,1627701 +1100105,54,16277,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,1627702 +1100105,54,16277,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,1627703 +1100105,54,16278,1,25,2,48,1,1,1,1,-9,4,928P,9590.0,1627801 +1100105,54,16278,2,25,2,40,6,1,1,1,-9,4,6111,7860.0,1627802 +1100105,54,16278,3,24,2,55,1,1,1,1,-9,4,9211MP,9370.0,1627803 +1100105,54,16279,1,25,2,40,6,1,1,1,-9,4,5613,7580.0,1627901 +1100105,54,16279,2,27,2,48,1,1,1,1,-9,4,611M3,7890.0,1627902 +1100105,54,16279,3,25,2,50,1,1,1,1,-9,4,5416,7390.0,1627903 +1100105,54,16280,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,1628001 +1100105,54,16280,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,1628002 +1100105,54,16280,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,1628003 +1100105,54,16281,1,25,1,40,1,1,1,21,-9,4,9211MP,9370.0,1628101 +1100105,54,16281,2,24,1,40,2,1,1,1,-9,4,5416,7390.0,1628102 +1100105,54,16281,3,22,1,40,5,1,1,1,-9,4,5417,7460.0,1628103 +1100105,54,16282,1,58,1,40,4,6,1,1,-9,4,522M,6890.0,1628201 +1100105,54,16282,2,54,2,40,1,1,9,1,-9,4,44413,4880.0,1628202 +1100105,54,16282,3,41,1,45,1,1,9,1,-9,4,8129,9090.0,1628203 +1100105,54,16283,1,24,2,60,6,6,1,1,-9,2,928110P3,9690.0,1628301 +1100105,54,16283,2,25,2,50,1,1,1,1,-9,4,5416,7390.0,1628302 +1100105,54,16283,3,23,2,40,1,1,1,1,-9,4,722Z,8680.0,1628303 +1100105,54,16284,1,46,1,40,1,1,1,1,-9,4,92M2,9570.0,1628401 +1100105,54,16284,2,43,2,40,1,1,1,1,-9,4,92M2,9570.0,1628402 +1100105,54,16284,3,1,2,-9,-9,-9,1,1,-9,-9,0,0.0,1628403 +1100105,54,16285,1,27,2,-9,-9,6,1,4,16,4,0,0.0,1628501 +1100105,54,16285,2,32,2,40,1,1,1,1,-9,4,923,9480.0,1628502 +1100105,54,16285,3,25,2,-9,-9,6,2,1,16,4,0,0.0,1628503 +1100105,54,16286,1,56,2,-9,-9,3,1,1,-9,4,999920,9920.0,1628601 +1100105,54,16286,2,51,1,40,1,1,1,1,-9,4,92M1,9490.0,1628602 +1100105,54,16286,3,15,1,-9,-9,-9,1,1,12,-9,0,0.0,1628603 +1100105,54,16287,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,1628701 +1100105,54,16287,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,1628702 +1100105,54,16287,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,1628703 +1100105,54,16288,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,1628801 +1100105,54,16288,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,1628802 +1100105,54,16288,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,1628803 +1100105,54,16289,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,1628901 +1100105,54,16289,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,1628902 +1100105,54,16289,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,1628903 +1100105,54,16290,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,1629001 +1100105,54,16290,2,32,2,-9,-9,6,1,1,-9,4,5413,7290.0,1629002 +1100105,54,16290,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1629003 +1100105,54,16291,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1629101 +1100105,54,16291,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,1629102 +1100105,54,16291,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,1629103 +1100105,54,16292,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1629201 +1100105,54,16292,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,1629202 +1100105,54,16292,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,1629203 +1100105,54,16293,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1629301 +1100105,54,16293,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,1629302 +1100105,54,16293,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,1629303 +1100105,54,16294,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1629401 +1100105,54,16294,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1629402 +1100105,54,16294,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1629403 +1100105,54,16295,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1629501 +1100105,54,16295,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1629502 +1100105,54,16295,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1629503 +1100105,54,16296,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1629601 +1100105,54,16296,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1629602 +1100105,54,16296,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1629603 +1100105,54,16297,1,24,2,19,4,6,6,1,15,4,611M1,7870.0,1629701 +1100105,54,16297,2,30,1,19,5,2,6,1,15,4,611M1,7870.0,1629702 +1100105,54,16297,3,25,2,45,1,1,6,1,-9,4,5416,7390.0,1629703 +1100105,54,16298,1,24,2,19,4,6,6,1,15,4,611M1,7870.0,1629801 +1100105,54,16298,2,30,1,19,5,2,6,1,15,4,611M1,7870.0,1629802 +1100105,54,16298,3,25,2,45,1,1,6,1,-9,4,5416,7390.0,1629803 +1100105,54,16299,1,27,2,20,1,1,1,1,16,4,923,9480.0,1629901 +1100105,54,16299,2,24,2,-9,-9,6,1,1,15,4,0,0.0,1629902 +1100105,54,16299,3,23,2,20,1,1,1,24,15,4,5415,7380.0,1629903 +1100105,54,16300,1,27,2,20,1,1,1,1,16,4,923,9480.0,1630001 +1100105,54,16300,2,24,2,-9,-9,6,1,1,15,4,0,0.0,1630002 +1100105,54,16300,3,23,2,20,1,1,1,24,15,4,5415,7380.0,1630003 +1100105,54,16301,1,27,2,20,1,1,1,1,16,4,923,9480.0,1630101 +1100105,54,16301,2,24,2,-9,-9,6,1,1,15,4,0,0.0,1630102 +1100105,54,16301,3,23,2,20,1,1,1,24,15,4,5415,7380.0,1630103 +1100105,54,16302,1,65,2,30,1,1,1,15,15,4,814,9290.0,1630201 +1100105,54,16302,2,26,2,40,1,1,1,11,-9,4,5313,7072.0,1630202 +1100105,54,16302,3,6,1,-9,-9,-9,1,11,3,-9,0,0.0,1630203 +1100105,54,16303,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,1630301 +1100105,54,16303,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,1630302 +1100105,54,16303,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,1630303 +1100105,54,16304,1,57,1,-9,-9,6,1,1,-9,4,5411,7270.0,1630401 +1100105,54,16304,2,58,2,-9,-9,6,1,1,-9,4,0,0.0,1630402 +1100105,54,16304,3,30,2,40,1,1,1,1,-9,4,6244,8470.0,1630403 +1100105,54,16305,1,22,1,-9,-9,6,2,1,-9,4,0,0.0,1630501 +1100105,54,16305,2,26,1,20,4,1,1,1,-9,4,5416,7390.0,1630502 +1100105,54,16305,3,24,1,24,5,6,9,1,-9,4,5614,7590.0,1630503 +1100105,54,16306,1,21,1,30,4,1,1,1,15,4,332M,2870.0,1630601 +1100105,54,16306,2,21,1,40,6,1,1,1,15,4,5416,7390.0,1630602 +1100105,54,16306,3,21,1,40,6,1,1,1,15,4,487,6280.0,1630603 +1100105,54,16307,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,1630701 +1100105,54,16307,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,1630702 +1100105,54,16307,3,21,1,15,1,1,1,1,15,4,621M,8180.0,1630703 +1100105,54,16308,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,1630801 +1100105,54,16308,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,1630802 +1100105,54,16308,3,21,1,15,1,1,1,1,15,4,621M,8180.0,1630803 +1100105,54,16309,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,1630901 +1100105,54,16309,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,1630902 +1100105,54,16309,3,21,1,15,1,1,1,1,15,4,621M,8180.0,1630903 +1100105,54,16310,1,28,1,40,1,1,8,2,-9,4,722Z,8680.0,1631001 +1100105,54,16310,2,2,2,-9,-9,-9,8,2,-9,-9,0,0.0,1631002 +1100105,54,16310,3,20,2,40,1,1,8,2,-9,4,722Z,8680.0,1631003 +1100105,54,16311,1,20,2,10,6,6,1,1,15,4,6244,8470.0,1631101 +1100105,54,16311,2,20,2,20,5,6,6,1,15,4,611M1,7870.0,1631102 +1100105,54,16311,3,20,2,45,1,1,1,1,15,4,9211MP,9370.0,1631103 +1100105,54,16312,1,20,2,10,6,6,1,1,15,4,6244,8470.0,1631201 +1100105,54,16312,2,20,2,20,5,6,6,1,15,4,611M1,7870.0,1631202 +1100105,54,16312,3,20,2,45,1,1,1,1,15,4,9211MP,9370.0,1631203 +1100105,54,16313,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1631301 +1100105,54,16313,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1631302 +1100105,54,16313,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1631303 +1100105,54,16314,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1631401 +1100105,54,16314,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1631402 +1100105,54,16314,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1631403 +1100105,54,16315,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1631501 +1100105,54,16315,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1631502 +1100105,54,16315,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1631503 +1100105,54,16316,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1631601 +1100105,54,16316,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1631602 +1100105,54,16316,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1631603 +1100105,54,16317,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1631701 +1100105,54,16317,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1631702 +1100105,54,16317,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1631703 +1100105,54,16318,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1631801 +1100105,54,16318,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1631802 +1100105,54,16318,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1631803 +1100105,54,16319,1,24,2,24,1,1,8,11,16,4,44821,5180.0,1631901 +1100105,54,16319,2,24,2,-9,-9,6,6,1,16,4,5411,7270.0,1631902 +1100105,54,16319,3,23,2,-9,-9,6,6,1,16,4,5418,7470.0,1631903 +1100105,54,16320,1,31,2,40,3,1,2,1,-9,4,6111,7860.0,1632001 +1100105,54,16320,2,12,1,-9,-9,-9,2,1,8,-9,0,0.0,1632002 +1100105,54,16320,3,9,2,-9,-9,-9,2,1,6,-9,0,0.0,1632003 +1100105,54,16321,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1632101 +1100105,54,16321,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1632102 +1100105,54,16321,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1632103 +1100105,54,16322,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1632201 +1100105,54,16322,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1632202 +1100105,54,16322,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1632203 +1100105,54,16323,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1632301 +1100105,54,16323,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1632302 +1100105,54,16323,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1632303 +1100105,54,16324,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1632401 +1100105,54,16324,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1632402 +1100105,54,16324,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1632403 +1100105,54,16325,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1632501 +1100105,54,16325,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1632502 +1100105,54,16325,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1632503 +1100105,54,16326,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1632601 +1100105,54,16326,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1632602 +1100105,54,16326,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1632603 +1100105,54,16327,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1632701 +1100105,54,16327,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1632702 +1100105,54,16327,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1632703 +1100105,54,16328,1,65,1,-9,-9,6,6,1,-9,4,623M,8290.0,1632801 +1100105,54,16328,2,55,2,12,3,6,6,1,-9,4,4523,5391.0,1632802 +1100105,54,16328,3,34,2,12,6,3,6,1,-9,4,722Z,8680.0,1632803 +1100105,54,16329,1,65,1,-9,-9,6,6,1,-9,4,623M,8290.0,1632901 +1100105,54,16329,2,55,2,12,3,6,6,1,-9,4,4523,5391.0,1632902 +1100105,54,16329,3,34,2,12,6,3,6,1,-9,4,722Z,8680.0,1632903 +1100105,54,16330,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,1633001 +1100105,54,16330,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,1633002 +1100105,54,16330,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,1633003 +1100105,54,16331,1,35,2,-9,-9,3,2,1,14,4,6212,7980.0,1633101 +1100105,54,16331,2,17,2,-9,-9,6,2,1,14,4,6241,8370.0,1633102 +1100105,54,16331,3,15,1,-9,-9,-9,2,1,12,-9,0,0.0,1633103 +1100105,54,16332,1,31,2,-9,-9,3,2,1,15,4,6216,8170.0,1633201 +1100105,54,16332,2,11,2,-9,-9,-9,2,1,8,-9,0,0.0,1633202 +1100105,54,16332,3,9,2,-9,-9,-9,2,1,6,-9,0,0.0,1633203 +1100105,54,16333,1,89,2,1,6,2,6,1,-9,4,813M,9170.0,1633301 +1100105,54,16333,2,93,1,3,6,2,1,1,-9,2,5416,7390.0,1633302 +1100105,54,16334,1,71,1,20,5,1,1,1,-9,4,5615,7670.0,1633401 +1100105,54,16334,2,68,1,40,1,1,1,1,-9,4,928P,9590.0,1633402 +1100105,54,16335,1,65,1,42,1,1,1,1,-9,4,92M2,9570.0,1633501 +1100105,54,16335,2,71,1,38,1,1,1,1,-9,4,5615,7670.0,1633502 +1100105,54,16336,1,66,1,40,1,1,1,1,-9,4,52M2,6970.0,1633601 +1100105,54,16336,2,60,2,40,1,1,6,1,-9,4,928P,9590.0,1633602 +1100105,54,16337,1,64,1,45,1,2,1,1,-9,4,8139Z,9190.0,1633701 +1100105,54,16337,2,65,2,40,1,1,1,1,-9,4,531M,7071.0,1633702 +1100105,54,16338,1,69,1,40,1,1,1,1,-9,4,923,9480.0,1633801 +1100105,54,16338,2,53,2,40,1,1,1,1,-9,4,923,9480.0,1633802 +1100105,54,16339,1,69,1,40,1,1,1,1,-9,4,923,9480.0,1633901 +1100105,54,16339,2,53,2,40,1,1,1,1,-9,4,923,9480.0,1633902 +1100105,54,16340,1,42,1,45,1,1,9,1,-9,4,5415,7380.0,1634001 +1100105,54,16340,2,59,2,60,1,1,6,1,-9,4,3254,2190.0,1634002 +1100105,54,16341,1,46,2,35,1,2,6,1,-9,4,6111,7860.0,1634101 +1100105,54,16341,2,45,1,40,1,1,6,1,-9,4,722Z,8680.0,1634102 +1100105,54,16342,1,43,2,40,1,1,6,1,-9,4,5416,7390.0,1634201 +1100105,54,16342,2,45,1,55,1,1,6,1,-9,4,622M,8191.0,1634202 +1100105,54,16343,1,35,2,55,2,1,9,1,-9,4,51111,6470.0,1634301 +1100105,54,16343,2,46,1,55,1,1,1,1,-9,4,51913,6672.0,1634302 +1100105,54,16344,1,59,1,45,1,1,1,1,-9,4,5417,7460.0,1634401 +1100105,54,16344,2,49,1,43,2,1,9,1,-9,4,5411,7270.0,1634402 +1100105,54,16345,1,35,2,55,2,1,9,1,-9,4,51111,6470.0,1634501 +1100105,54,16345,2,46,1,55,1,1,1,1,-9,4,51913,6672.0,1634502 +1100105,54,16346,1,55,1,50,1,1,1,1,-9,4,8139Z,9190.0,1634601 +1100105,54,16346,2,47,1,40,1,1,6,1,-9,4,51912,6770.0,1634602 +1100105,54,16347,1,39,2,40,1,1,6,1,-9,4,92MP,9470.0,1634701 +1100105,54,16347,2,42,1,40,1,1,1,1,-9,4,928P,9590.0,1634702 +1100105,54,16348,1,47,1,40,1,1,1,1,-9,4,52M1,6870.0,1634801 +1100105,54,16348,2,52,1,40,1,1,6,1,-9,4,923,9480.0,1634802 +1100105,54,16349,1,39,1,50,1,1,1,1,-9,4,5121,6570.0,1634901 +1100105,54,16349,2,37,2,12,1,1,1,1,-9,4,522M,6890.0,1634902 +1100105,54,16350,1,56,2,40,1,1,1,1,-9,4,92M2,9570.0,1635001 +1100105,54,16350,2,55,1,40,1,1,1,1,-9,4,9211MP,9370.0,1635002 +1100105,54,16351,1,38,2,60,1,1,1,1,-9,4,52M2,6970.0,1635101 +1100105,54,16351,2,39,1,48,1,1,1,1,-9,4,5419Z,7490.0,1635102 +1100105,54,16352,1,38,2,60,1,1,1,1,-9,4,52M2,6970.0,1635201 +1100105,54,16352,2,39,1,48,1,1,1,1,-9,4,5419Z,7490.0,1635202 +1100105,54,16353,1,36,2,50,1,1,1,1,-9,4,3254,2190.0,1635301 +1100105,54,16353,2,36,1,60,1,1,1,1,-9,4,9211MP,9370.0,1635302 +1100105,54,16354,1,40,1,80,1,2,1,1,-9,4,928P,9590.0,1635401 +1100105,54,16354,2,37,2,60,1,1,1,1,-9,4,6213ZM,8080.0,1635402 +1100105,54,16355,1,41,1,50,1,1,1,1,-9,4,52M1,6870.0,1635501 +1100105,54,16355,2,39,1,60,1,1,1,1,-9,4,531M,7071.0,1635502 +1100105,54,16356,1,44,1,58,1,4,1,1,-9,1,928110P3,9690.0,1635601 +1100105,54,16356,2,46,2,40,1,1,1,1,-9,4,5416,7390.0,1635602 +1100105,54,16357,1,43,1,50,1,1,1,1,-9,4,813M,9170.0,1635701 +1100105,54,16357,2,44,1,50,1,1,1,1,-9,4,713Z,8590.0,1635702 +1100105,54,16358,1,38,2,60,1,1,1,1,-9,4,52M2,6970.0,1635801 +1100105,54,16358,2,39,1,48,1,1,1,1,-9,4,5419Z,7490.0,1635802 +1100105,54,16359,1,38,2,42,1,1,1,1,-9,4,813M,9170.0,1635901 +1100105,54,16359,2,36,1,40,1,1,1,1,-9,4,5411,7270.0,1635902 +1100105,54,16360,1,61,1,40,1,1,1,1,-9,4,611M1,7870.0,1636001 +1100105,54,16360,2,52,2,40,1,1,1,1,-9,4,5242,6992.0,1636002 +1100105,54,16361,1,46,2,40,1,1,1,1,-9,4,928P,9590.0,1636101 +1100105,54,16361,2,45,1,50,1,1,1,1,-9,4,5112,6490.0,1636102 +1100105,54,16362,1,39,2,52,1,1,1,1,-9,4,813M,9170.0,1636201 +1100105,54,16362,2,50,1,60,1,1,1,1,-9,4,5417,7460.0,1636202 +1100105,54,16363,1,64,1,40,1,1,1,1,-9,4,712,8570.0,1636301 +1100105,54,16363,2,62,2,40,1,1,1,1,-9,4,923,9480.0,1636302 +1100105,54,16364,1,48,1,45,2,1,1,1,-9,4,92113,9380.0,1636401 +1100105,54,16364,2,46,1,30,1,1,1,1,-9,4,7111,8561.0,1636402 +1100105,54,16365,1,57,1,45,1,1,1,1,-9,4,9211MP,9370.0,1636501 +1100105,54,16365,2,53,2,40,1,1,1,1,-9,4,923,9480.0,1636502 +1100105,54,16366,1,38,2,60,1,1,1,1,-9,4,52M2,6970.0,1636601 +1100105,54,16366,2,39,1,48,1,1,1,1,-9,4,5419Z,7490.0,1636602 +1100105,54,16367,1,44,1,45,1,1,1,1,-9,4,52M2,6970.0,1636701 +1100105,54,16367,2,40,2,50,1,1,1,1,-9,4,8139Z,9190.0,1636702 +1100105,54,16368,1,53,1,40,1,1,1,1,-9,4,928P,9590.0,1636801 +1100105,54,16368,2,44,2,20,4,1,1,1,16,4,5416,7390.0,1636802 +1100105,54,16369,1,64,1,40,1,1,1,1,-9,4,712,8570.0,1636901 +1100105,54,16369,2,62,2,40,1,1,1,1,-9,4,923,9480.0,1636902 +1100105,54,16370,1,48,1,50,1,1,1,1,-9,4,928P,9590.0,1637001 +1100105,54,16370,2,61,1,60,1,1,1,1,-9,4,6111,7860.0,1637002 +1100105,54,16371,1,58,1,50,1,1,1,1,-9,4,485M,6180.0,1637101 +1100105,54,16371,2,60,2,40,1,1,1,1,-9,4,611M1,7870.0,1637102 +1100105,54,16372,1,54,2,60,1,1,1,1,-9,4,5413,7290.0,1637201 +1100105,54,16372,2,44,1,60,1,1,1,1,-9,4,5413,7290.0,1637202 +1100105,54,16373,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,1637301 +1100105,54,16373,2,36,1,40,1,1,1,1,-9,2,92113,9380.0,1637302 +1100105,54,16374,1,37,2,40,1,1,1,5,-9,4,522M,6890.0,1637401 +1100105,54,16374,2,35,2,40,1,1,1,1,-9,4,928P,9590.0,1637402 +1100105,54,16375,1,35,2,45,1,1,1,1,-9,4,923,9480.0,1637501 +1100105,54,16375,2,35,1,45,1,1,1,23,-9,4,92113,9380.0,1637502 +1100105,54,16376,1,37,1,40,1,1,1,1,-9,4,92M2,9570.0,1637601 +1100105,54,16376,2,35,2,43,1,1,1,3,-9,4,5416,7390.0,1637602 +1100105,54,16377,1,49,1,50,1,1,1,1,-9,4,5411,7270.0,1637701 +1100105,54,16377,2,46,2,40,1,1,8,2,-9,4,5417,7460.0,1637702 +1100105,54,16378,1,36,2,50,1,1,1,23,-9,4,4234,4170.0,1637801 +1100105,54,16378,2,35,1,40,1,1,9,23,-9,4,611M1,7870.0,1637802 +1100105,54,16379,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,1637901 +1100105,54,16379,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,1637902 +1100105,54,16380,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,1638001 +1100105,54,16380,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,1638002 +1100105,54,16381,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,1638101 +1100105,54,16381,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,1638102 +1100105,54,16382,1,36,1,60,1,1,1,1,-9,3,5415,7380.0,1638201 +1100105,54,16382,2,34,2,60,1,1,6,1,-9,4,515,6670.0,1638202 +1100105,54,16383,1,35,1,85,1,1,1,1,-9,4,5411,7270.0,1638301 +1100105,54,16383,2,34,2,50,1,1,1,1,-9,4,3254,2190.0,1638302 +1100105,54,16384,1,37,1,55,1,1,1,1,-9,4,443142,4795.0,1638401 +1100105,54,16384,2,29,2,40,1,1,1,1,-9,4,5417,7460.0,1638402 +1100105,54,16385,1,35,1,65,1,1,1,1,-9,4,5411,7270.0,1638501 +1100105,54,16385,2,33,1,40,1,1,1,1,-9,4,5112,6490.0,1638502 +1100105,54,16386,1,34,1,50,1,1,1,1,-9,4,611M1,7870.0,1638601 +1100105,54,16386,2,36,2,60,1,1,1,1,-9,4,813M,9170.0,1638602 +1100105,54,16387,1,35,1,40,1,1,1,1,-9,4,92113,9380.0,1638701 +1100105,54,16387,2,32,2,40,1,1,1,1,-9,4,5411,7270.0,1638702 +1100105,54,16388,1,33,2,50,1,1,1,1,-9,4,5417,7460.0,1638801 +1100105,54,16388,2,35,1,40,1,1,1,1,-9,4,5416,7390.0,1638802 +1100105,54,16389,1,34,2,50,1,1,1,1,-9,4,92M2,9570.0,1638901 +1100105,54,16389,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,1638902 +1100105,54,16390,1,35,1,55,1,1,1,1,-9,4,8139Z,9190.0,1639001 +1100105,54,16390,2,34,1,50,1,1,1,1,-9,4,8139Z,9190.0,1639002 +1100105,54,16391,1,39,1,44,1,1,1,1,-9,4,6212,7980.0,1639101 +1100105,54,16391,2,32,1,50,1,1,1,1,-9,4,813M,9170.0,1639102 +1100105,54,16392,1,37,1,55,1,1,1,1,-9,4,443142,4795.0,1639201 +1100105,54,16392,2,29,2,40,1,1,1,1,-9,4,5417,7460.0,1639202 +1100105,54,16393,1,36,1,45,1,1,1,1,-9,4,928P,9590.0,1639301 +1100105,54,16393,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,1639302 +1100105,54,16394,1,39,1,44,1,1,1,1,-9,4,6212,7980.0,1639401 +1100105,54,16394,2,32,1,50,1,1,1,1,-9,4,813M,9170.0,1639402 +1100105,54,16395,1,35,1,55,1,1,1,1,-9,4,5415,7380.0,1639501 +1100105,54,16395,2,28,2,40,1,1,1,1,-9,4,5415,7380.0,1639502 +1100105,54,16396,1,36,1,37,1,1,1,1,-9,4,5411,7270.0,1639601 +1100105,54,16396,2,33,2,70,1,1,1,1,-9,4,51111,6470.0,1639602 +1100105,54,16397,1,58,1,40,1,1,1,1,-9,4,5416,7390.0,1639701 +1100105,54,16397,2,34,2,50,1,1,1,1,-9,4,622M,8191.0,1639702 +1100105,54,16398,1,39,1,60,1,1,8,3,-9,4,5416,7390.0,1639801 +1100105,54,16398,2,29,2,40,1,1,1,1,-9,4,6211,7970.0,1639802 +1100105,54,16399,1,44,1,40,1,4,1,19,16,1,928110P3,9690.0,1639901 +1100105,54,16399,2,27,2,50,1,1,1,1,-9,4,8139Z,9190.0,1639902 +1100105,54,16400,1,39,1,50,1,1,1,1,-9,4,92113,9380.0,1640001 +1100105,54,16400,2,30,2,40,1,1,1,19,-9,4,515,6670.0,1640002 +1100105,54,16401,1,30,1,40,1,1,9,1,-9,4,928P,9590.0,1640101 +1100105,54,16401,2,30,2,40,1,1,6,1,-9,4,92M2,9570.0,1640102 +1100105,54,16402,1,32,2,40,1,1,6,1,-9,4,5413,7290.0,1640201 +1100105,54,16402,2,34,1,80,1,1,6,1,-9,4,5416,7390.0,1640202 +1100105,54,16403,1,32,2,40,1,1,6,1,-9,4,5413,7290.0,1640301 +1100105,54,16403,2,34,1,80,1,1,6,1,-9,4,5416,7390.0,1640302 +1100105,54,16404,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,1640401 +1100105,54,16404,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,1640402 +1100105,54,16405,1,31,1,50,1,1,1,1,-9,4,5418,7470.0,1640501 +1100105,54,16405,2,32,2,50,1,1,9,1,-9,4,5416,7390.0,1640502 +1100105,54,16406,1,31,1,50,1,1,1,1,-9,4,5418,7470.0,1640601 +1100105,54,16406,2,32,2,50,1,1,9,1,-9,4,5416,7390.0,1640602 +1100105,54,16407,1,26,1,65,1,1,1,1,-9,4,52M2,6970.0,1640701 +1100105,54,16407,2,25,2,65,1,1,6,1,-9,4,6214,8090.0,1640702 +1100105,54,16408,1,33,1,50,1,1,6,1,-9,4,5416,7390.0,1640801 +1100105,54,16408,2,31,2,45,1,1,1,1,-9,4,52M1,6870.0,1640802 +1100105,54,16409,1,30,1,50,1,1,1,1,-9,4,531M,7071.0,1640901 +1100105,54,16409,2,32,2,44,1,1,6,1,-9,4,6111,7860.0,1640902 +1100105,54,16410,1,26,1,65,1,1,1,1,-9,4,52M2,6970.0,1641001 +1100105,54,16410,2,25,2,65,1,1,6,1,-9,4,6214,8090.0,1641002 +1100105,54,16411,1,26,1,65,1,1,1,1,-9,4,52M2,6970.0,1641101 +1100105,54,16411,2,25,2,65,1,1,6,1,-9,4,6214,8090.0,1641102 +1100105,54,16412,1,31,1,45,1,1,1,1,-9,4,52M2,6970.0,1641201 +1100105,54,16412,2,30,2,45,1,1,1,1,-9,4,454110,5593.0,1641202 +1100105,54,16413,1,33,2,46,1,1,1,1,-9,4,5416,7390.0,1641301 +1100105,54,16413,2,34,1,48,1,1,1,1,-9,4,928P,9590.0,1641302 +1100105,54,16414,1,25,1,40,1,1,1,1,-9,4,5112,6490.0,1641401 +1100105,54,16414,2,28,1,50,1,1,1,1,16,4,5411,7270.0,1641402 +1100105,54,16415,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,1641501 +1100105,54,16415,2,31,1,55,1,1,1,1,-9,4,522M,6890.0,1641502 +1100105,54,16416,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,1641601 +1100105,54,16416,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,1641602 +1100105,54,16417,1,32,1,42,1,1,1,1,-9,4,92MP,9470.0,1641701 +1100105,54,16417,2,31,2,45,1,1,1,1,-9,4,92M2,9570.0,1641702 +1100105,54,16418,1,30,1,50,1,1,1,1,-9,4,5411,7270.0,1641801 +1100105,54,16418,2,31,1,40,1,1,1,1,-9,4,5415,7380.0,1641802 +1100105,54,16419,1,32,1,40,1,1,1,1,-9,4,611M3,7890.0,1641901 +1100105,54,16419,2,32,2,50,1,1,1,1,-9,4,712,8570.0,1641902 +1100105,54,16420,1,28,1,45,1,1,1,1,-9,4,5416,7390.0,1642001 +1100105,54,16420,2,28,2,45,1,1,1,1,-9,4,5613,7580.0,1642002 +1100105,54,16421,1,25,2,50,1,1,1,1,-9,4,6111,7860.0,1642101 +1100105,54,16421,2,31,1,50,1,1,1,1,-9,4,92113,9380.0,1642102 +1100105,54,16422,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,1642201 +1100105,54,16422,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1642202 +1100105,54,16423,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,1642301 +1100105,54,16423,2,28,2,50,1,1,1,1,16,4,52M2,6970.0,1642302 +1100105,54,16424,1,32,1,45,1,1,1,1,-9,4,5418,7470.0,1642401 +1100105,54,16424,2,29,2,50,1,1,1,1,-9,4,713Z,8590.0,1642402 +1100105,54,16425,1,27,1,40,1,1,1,1,-9,4,5416,7390.0,1642501 +1100105,54,16425,2,26,2,50,1,1,1,1,-9,4,928P,9590.0,1642502 +1100105,54,16426,1,32,1,40,1,1,1,1,-9,4,6111,7860.0,1642601 +1100105,54,16426,2,30,2,50,1,1,1,1,-9,4,5411,7270.0,1642602 +1100105,54,16427,1,34,2,55,1,1,1,1,-9,4,611M3,7890.0,1642701 +1100105,54,16427,2,32,1,45,1,1,1,1,-9,4,5411,7270.0,1642702 +1100105,54,16428,1,25,2,50,1,1,1,1,-9,4,6111,7860.0,1642801 +1100105,54,16428,2,31,1,50,1,1,1,1,-9,4,92113,9380.0,1642802 +1100105,54,16429,1,29,2,50,1,1,1,1,-9,4,9211MP,9370.0,1642901 +1100105,54,16429,2,32,1,70,1,1,1,1,-9,4,5411,7270.0,1642902 +1100105,54,16430,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,1643001 +1100105,54,16430,2,32,1,60,1,1,1,1,-9,4,5411,7270.0,1643002 +1100105,54,16431,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,1643101 +1100105,54,16431,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,1643102 +1100105,54,16432,1,30,2,50,1,1,1,1,-9,4,5419Z,7490.0,1643201 +1100105,54,16432,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1643202 +1100105,54,16433,1,25,1,55,1,1,1,1,-9,4,5411,7270.0,1643301 +1100105,54,16433,2,25,1,65,1,1,1,1,-9,4,531M,7071.0,1643302 +1100105,54,16434,1,28,1,45,1,1,1,1,-9,4,5416,7390.0,1643401 +1100105,54,16434,2,28,2,45,1,1,1,1,-9,4,5613,7580.0,1643402 +1100105,54,16435,1,30,1,60,1,1,1,1,-9,4,611M3,7890.0,1643501 +1100105,54,16435,2,31,2,40,1,1,1,1,-9,4,491,6370.0,1643502 +1100105,54,16436,1,34,1,20,1,1,1,1,-9,4,611M3,7890.0,1643601 +1100105,54,16436,2,33,2,50,1,1,1,1,-9,4,6111,7860.0,1643602 +1100105,54,16437,1,31,1,40,1,1,1,1,-9,4,92MP,9470.0,1643701 +1100105,54,16437,2,34,1,40,1,1,1,1,-9,4,92MP,9470.0,1643702 +1100105,54,16438,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,1643801 +1100105,54,16438,2,29,1,50,1,1,1,1,-9,4,7115,8564.0,1643802 +1100105,54,16439,1,30,2,40,1,1,1,1,-9,4,5412,7280.0,1643901 +1100105,54,16439,2,30,2,50,1,1,1,1,-9,4,622M,8191.0,1643902 +1100105,54,16440,1,29,2,40,1,1,1,1,-9,4,928P,9590.0,1644001 +1100105,54,16440,2,29,2,40,1,1,1,1,16,4,4247,4490.0,1644002 +1100105,54,16441,1,31,2,40,1,1,1,1,-9,4,713Z,8590.0,1644101 +1100105,54,16441,2,32,1,60,1,1,1,1,-9,4,5416,7390.0,1644102 +1100105,54,16442,1,33,1,40,1,1,1,1,-9,4,5413,7290.0,1644201 +1100105,54,16442,2,32,1,40,1,1,1,1,-9,4,5413,7290.0,1644202 +1100105,54,16443,1,33,1,50,1,1,1,1,-9,4,5416,7390.0,1644301 +1100105,54,16443,2,33,1,50,1,1,1,1,-9,4,515,6670.0,1644302 +1100105,54,16444,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,1644401 +1100105,54,16444,2,27,1,50,1,1,1,1,-9,4,4481,5170.0,1644402 +1100105,54,16445,1,33,2,46,1,1,1,1,-9,4,5416,7390.0,1644501 +1100105,54,16445,2,34,1,48,1,1,1,1,-9,4,928P,9590.0,1644502 +1100105,54,16446,1,28,2,45,1,1,1,1,-9,4,8139Z,9190.0,1644601 +1100105,54,16446,2,27,1,45,1,1,1,1,-9,4,5416,7390.0,1644602 +1100105,54,16447,1,28,2,40,1,1,1,1,-9,4,928P,9590.0,1644701 +1100105,54,16447,2,29,2,50,1,1,1,1,-9,4,5313,7072.0,1644702 +1100105,54,16448,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,1644801 +1100105,54,16448,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1644802 +1100105,54,16449,1,27,2,65,3,1,1,1,-9,4,5411,7270.0,1644901 +1100105,54,16449,2,27,1,50,1,1,1,1,-9,4,5416,7390.0,1644902 +1100105,54,16450,1,31,1,40,1,1,1,1,-9,4,928P,9590.0,1645001 +1100105,54,16450,2,30,2,40,1,1,1,1,-9,4,5417,7460.0,1645002 +1100105,54,16451,1,30,1,55,1,1,1,1,-9,4,5411,7270.0,1645101 +1100105,54,16451,2,28,2,55,1,1,1,1,-9,4,4234,4170.0,1645102 +1100105,54,16452,1,29,1,60,1,1,1,1,-9,4,9211MP,9370.0,1645201 +1100105,54,16452,2,30,2,60,1,1,1,1,-9,4,9211MP,9370.0,1645202 +1100105,54,16453,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,1645301 +1100105,54,16453,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,1645302 +1100105,54,16454,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,1645401 +1100105,54,16454,2,32,1,50,1,1,1,1,-9,4,5418,7470.0,1645402 +1100105,54,16455,1,31,2,55,1,1,1,1,-9,4,5417,7460.0,1645501 +1100105,54,16455,2,31,1,50,1,1,1,1,-9,4,928P,9590.0,1645502 +1100105,54,16456,1,30,2,50,1,1,1,1,-9,4,5419Z,7490.0,1645601 +1100105,54,16456,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1645602 +1100105,54,16457,1,32,1,50,1,1,1,1,-9,4,9211MP,9370.0,1645701 +1100105,54,16457,2,34,2,60,1,1,1,1,-9,4,515,6670.0,1645702 +1100105,54,16458,1,33,1,40,1,1,1,1,-9,4,92113,9380.0,1645801 +1100105,54,16458,2,33,2,50,1,1,1,1,-9,4,923,9480.0,1645802 +1100105,54,16459,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,1645901 +1100105,54,16459,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1645902 +1100105,54,16460,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,1646001 +1100105,54,16460,2,30,2,60,1,1,1,1,-9,4,5411,7270.0,1646002 +1100105,54,16461,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,1646101 +1100105,54,16461,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1646102 +1100105,54,16462,1,30,2,50,1,1,1,1,-9,4,5419Z,7490.0,1646201 +1100105,54,16462,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1646202 +1100105,54,16463,1,28,1,20,3,1,1,1,16,4,611M1,7870.0,1646301 +1100105,54,16463,2,29,2,40,1,1,1,1,-9,4,5416,7390.0,1646302 +1100105,54,16464,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1646401 +1100105,54,16464,2,34,1,40,1,1,1,15,-9,2,5413,7290.0,1646402 +1100105,54,16465,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1646501 +1100105,54,16465,2,34,1,40,1,1,1,15,-9,2,5413,7290.0,1646502 +1100105,54,16466,1,80,1,30,1,6,1,1,-9,2,23,770.0,1646601 +1100105,54,16466,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1646602 +1100105,54,16467,1,80,1,30,1,6,1,1,-9,2,23,770.0,1646701 +1100105,54,16467,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1646702 +1100105,54,16468,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1646801 +1100105,54,16468,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,1646802 +1100105,54,16469,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1646901 +1100105,54,16469,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,1646902 +1100105,54,16470,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1647001 +1100105,54,16470,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,1647002 +1100105,54,16471,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1647101 +1100105,54,16471,2,67,2,50,1,1,1,1,-9,4,5413,7290.0,1647102 +1100105,54,16472,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1647201 +1100105,54,16472,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,1647202 +1100105,54,16473,1,74,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1647301 +1100105,54,16473,2,61,1,60,1,1,6,1,-9,4,813M,9170.0,1647302 +1100105,54,16474,1,67,1,16,6,6,2,1,-9,4,5416,7390.0,1647401 +1100105,54,16474,2,50,2,5,6,1,1,1,-9,4,5416,7390.0,1647402 +1100105,54,16475,1,67,2,15,5,6,1,1,-9,4,5416,7390.0,1647501 +1100105,54,16475,2,60,1,55,1,1,1,1,-9,4,6241,8370.0,1647502 +1100105,54,16476,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1647601 +1100105,54,16476,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1647602 +1100105,54,16477,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,1647701 +1100105,54,16477,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,1647702 +1100105,54,16478,1,63,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1647801 +1100105,54,16478,2,66,1,40,1,1,1,1,-9,4,92M2,9570.0,1647802 +1100105,54,16479,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,1647901 +1100105,54,16479,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,1647902 +1100105,54,16480,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,1648001 +1100105,54,16480,2,67,1,50,1,1,1,1,-9,4,5411,7270.0,1648002 +1100105,54,16481,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1648101 +1100105,54,16481,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1648102 +1100105,54,16482,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,1648201 +1100105,54,16482,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,1648202 +1100105,54,16483,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,1648301 +1100105,54,16483,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,1648302 +1100105,54,16484,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,1648401 +1100105,54,16484,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,1648402 +1100105,54,16485,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,1648501 +1100105,54,16485,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,1648502 +1100105,54,16486,1,58,1,50,1,1,6,1,-9,4,5417,7460.0,1648601 +1100105,54,16486,2,57,2,40,3,6,6,1,-9,4,611M1,7870.0,1648602 +1100105,54,16487,1,62,1,40,1,1,1,1,-9,4,5411,7270.0,1648701 +1100105,54,16487,2,55,2,-9,-9,6,1,1,-9,4,0,0.0,1648702 +1100105,54,16488,1,60,1,40,5,6,1,1,-9,2,481,6070.0,1648801 +1100105,54,16488,2,55,2,40,1,1,1,1,-9,2,928P,9590.0,1648802 +1100105,54,16489,1,55,1,45,1,1,1,1,-9,4,722Z,8680.0,1648901 +1100105,54,16489,2,56,2,-9,-9,6,1,1,-9,4,0,0.0,1648902 +1100105,54,16490,1,62,1,40,1,1,1,1,-9,4,5411,7270.0,1649001 +1100105,54,16490,2,55,2,-9,-9,6,1,1,-9,4,0,0.0,1649002 +1100105,54,16491,1,64,1,40,1,1,1,1,-9,2,5415,7380.0,1649101 +1100105,54,16491,2,63,2,-9,-9,6,1,1,-9,4,0,0.0,1649102 +1100105,54,16492,1,61,1,40,1,1,1,1,-9,4,8139Z,9190.0,1649201 +1100105,54,16492,2,60,2,-9,-9,6,1,1,-9,4,4511M,5275.0,1649202 +1100105,54,16493,1,40,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1649301 +1100105,54,16493,2,49,1,45,1,1,1,1,-9,4,5417,7460.0,1649302 +1100105,54,16494,1,60,1,40,5,6,1,1,-9,2,481,6070.0,1649401 +1100105,54,16494,2,55,2,40,1,1,1,1,-9,2,928P,9590.0,1649402 +1100105,54,16495,1,42,1,-9,-9,6,1,6,-9,4,0,0.0,1649501 +1100105,54,16495,2,52,1,40,1,1,1,1,-9,2,622M,8191.0,1649502 +1100105,54,16496,1,59,1,-9,-9,6,1,1,-9,4,92M2,9570.0,1649601 +1100105,54,16496,2,56,1,40,1,1,1,3,-9,4,33641M1,3580.0,1649602 +1100105,54,16497,1,34,1,60,1,1,1,1,-9,4,5416,7390.0,1649701 +1100105,54,16497,2,31,2,60,3,3,1,1,-9,4,813M,9170.0,1649702 +1100105,54,16498,1,87,1,-9,-9,6,2,1,-9,2,0,0.0,1649801 +1100105,54,16498,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,1649802 +1100105,54,16499,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1649901 +1100105,54,16499,2,71,1,-9,-9,6,1,1,-9,4,0,0.0,1649902 +1100105,54,16500,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1650001 +1100105,54,16500,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1650002 +1100105,54,16501,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1650101 +1100105,54,16501,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1650102 +1100105,54,16502,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1650201 +1100105,54,16502,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1650202 +1100105,54,16503,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1650301 +1100105,54,16503,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1650302 +1100105,54,16504,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1650401 +1100105,54,16504,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1650402 +1100105,54,16505,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1650501 +1100105,54,16505,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1650502 +1100105,54,16506,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1650601 +1100105,54,16506,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,1650602 +1100105,54,16507,1,86,1,-9,-9,6,1,1,-9,2,0,0.0,1650701 +1100105,54,16507,2,79,2,4,6,6,1,1,-9,4,7111,8561.0,1650702 +1100105,54,16508,1,86,1,-9,-9,6,1,1,-9,2,0,0.0,1650801 +1100105,54,16508,2,79,2,4,6,6,1,1,-9,4,7111,8561.0,1650802 +1100105,54,16509,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1650901 +1100105,54,16509,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1650902 +1100105,54,16510,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1651001 +1100105,54,16510,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,1651002 +1100105,54,16511,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1651101 +1100105,54,16511,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1651102 +1100105,54,16512,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1651201 +1100105,54,16512,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1651202 +1100105,54,16513,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,1651301 +1100105,54,16513,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,1651302 +1100105,54,16514,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1651401 +1100105,54,16514,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1651402 +1100105,54,16515,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1651501 +1100105,54,16515,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1651502 +1100105,54,16516,1,63,1,4,6,6,1,1,-9,4,928P,9590.0,1651601 +1100105,54,16516,2,63,2,-9,-9,6,1,1,-9,4,0,0.0,1651602 +1100105,54,16517,1,74,1,60,1,1,8,11,-9,4,23,770.0,1651701 +1100105,54,16517,2,70,2,20,3,1,8,11,-9,4,5617Z,7690.0,1651702 +1100105,54,16518,1,52,1,40,3,1,1,1,16,4,6111,7860.0,1651801 +1100105,54,16518,2,47,1,40,1,1,8,1,-9,4,5413,7290.0,1651802 +1100105,54,16519,1,41,1,30,1,1,6,1,-9,4,923,9480.0,1651901 +1100105,54,16519,2,41,2,35,1,1,1,1,-9,4,5411,7270.0,1651902 +1100105,54,16520,1,36,1,40,1,1,1,1,-9,4,92M2,9570.0,1652001 +1100105,54,16520,2,35,2,40,1,1,6,1,16,4,5417,7460.0,1652002 +1100105,54,16521,1,37,1,45,1,1,1,1,-9,4,92M2,9570.0,1652101 +1100105,54,16521,2,42,1,45,1,1,1,1,-9,4,442,4770.0,1652102 +1100105,54,16522,1,47,1,55,1,1,1,1,-9,4,722Z,8680.0,1652201 +1100105,54,16522,2,35,2,40,1,1,1,1,-9,4,5417,7460.0,1652202 +1100105,54,16523,1,49,1,38,1,1,1,1,-9,4,5416,7390.0,1652301 +1100105,54,16523,2,39,2,40,1,1,1,1,-9,4,5416,7390.0,1652302 +1100105,54,16524,1,47,1,55,1,1,1,1,-9,4,722Z,8680.0,1652401 +1100105,54,16524,2,35,2,40,1,1,1,1,-9,4,5417,7460.0,1652402 +1100105,54,16525,1,57,1,35,1,1,1,1,-9,4,5416,7390.0,1652501 +1100105,54,16525,2,57,2,40,4,1,1,1,-9,4,611M1,7870.0,1652502 +1100105,54,16526,1,35,2,46,1,1,1,23,-9,4,722Z,8680.0,1652601 +1100105,54,16526,2,36,1,50,1,1,1,1,-9,4,5417,7460.0,1652602 +1100105,54,16527,1,33,2,40,1,1,6,1,-9,4,5417,7460.0,1652701 +1100105,54,16527,2,35,1,43,2,1,6,1,-9,4,5413,7290.0,1652702 +1100105,54,16528,1,35,1,50,1,1,9,1,-9,4,92M2,9570.0,1652801 +1100105,54,16528,2,27,2,40,1,1,1,1,-9,4,4481,5170.0,1652802 +1100105,54,16529,1,55,2,40,1,1,9,1,-9,4,928P,9590.0,1652901 +1100105,54,16529,2,33,1,40,1,1,1,1,-9,4,23,770.0,1652902 +1100105,54,16530,1,35,2,50,1,1,6,1,-9,4,928P,9590.0,1653001 +1100105,54,16530,2,28,1,50,1,1,1,1,-9,4,621M,8180.0,1653002 +1100105,54,16531,1,30,2,40,1,1,6,1,-9,4,6111,7860.0,1653101 +1100105,54,16531,2,41,1,40,1,1,1,1,-9,4,517Z,6690.0,1653102 +1100105,54,16532,1,39,1,40,1,1,1,1,-9,4,5415,7380.0,1653201 +1100105,54,16532,2,29,2,55,1,1,1,1,-9,4,5614,7590.0,1653202 +1100105,54,16533,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,1653301 +1100105,54,16533,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,1653302 +1100105,54,16534,1,35,1,55,1,1,1,1,-9,4,531M,7071.0,1653401 +1100105,54,16534,2,31,2,45,1,1,1,1,-9,4,813M,9170.0,1653402 +1100105,54,16535,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,1653501 +1100105,54,16535,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,1653502 +1100105,54,16536,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,1653601 +1100105,54,16536,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,1653602 +1100105,54,16537,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,1653701 +1100105,54,16537,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,1653702 +1100105,54,16538,1,35,1,40,1,1,6,19,16,4,92M2,9570.0,1653801 +1100105,54,16538,2,33,2,40,1,1,1,19,-9,4,6231,8270.0,1653802 +1100105,54,16539,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,1653901 +1100105,54,16539,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,1653902 +1100105,54,16540,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,1654001 +1100105,54,16540,2,27,2,40,1,1,6,1,16,4,6231,8270.0,1654002 +1100105,54,16541,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,1654101 +1100105,54,16541,2,27,2,40,1,1,6,1,16,4,6231,8270.0,1654102 +1100105,54,16542,1,26,2,40,1,1,1,1,-9,4,713Z,8590.0,1654201 +1100105,54,16542,2,26,1,55,1,1,9,1,-9,4,722Z,8680.0,1654202 +1100105,54,16543,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,1654301 +1100105,54,16543,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,1654302 +1100105,54,16544,1,30,2,55,1,1,6,1,-9,4,6111,7860.0,1654401 +1100105,54,16544,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,1654402 +1100105,54,16545,1,24,2,40,1,1,1,1,-9,4,5416,7390.0,1654501 +1100105,54,16545,2,23,2,40,1,1,6,1,-9,4,5416,7390.0,1654502 +1100105,54,16546,1,25,1,40,1,1,1,1,-9,4,5416,7390.0,1654601 +1100105,54,16546,2,26,1,50,1,1,6,1,-9,4,5416,7390.0,1654602 +1100105,54,16547,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,1654701 +1100105,54,16547,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,1654702 +1100105,54,16548,1,32,1,40,1,1,1,1,15,4,5415,7380.0,1654801 +1100105,54,16548,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,1654802 +1100105,54,16549,1,33,2,40,1,1,1,1,-9,4,5417,7460.0,1654901 +1100105,54,16549,2,32,1,40,1,1,1,1,-9,4,8139Z,9190.0,1654902 +1100105,54,16550,1,30,1,40,1,1,1,1,-9,4,611M2,7880.0,1655001 +1100105,54,16550,2,29,1,40,3,1,1,1,-9,4,5417,7460.0,1655002 +1100105,54,16551,1,28,1,50,1,1,1,1,16,4,611M1,7870.0,1655101 +1100105,54,16551,2,30,1,50,1,1,1,1,-9,4,611M1,7870.0,1655102 +1100105,54,16552,1,33,2,40,1,1,1,1,-9,4,8139Z,9190.0,1655201 +1100105,54,16552,2,32,1,40,1,1,1,1,-9,4,6241,8370.0,1655202 +1100105,54,16553,1,32,2,40,1,1,1,1,-9,4,5415,7380.0,1655301 +1100105,54,16553,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,1655302 +1100105,54,16554,1,30,1,40,1,1,1,1,-9,4,92119,9390.0,1655401 +1100105,54,16554,2,27,2,40,1,1,1,1,-9,4,531M,7071.0,1655402 +1100105,54,16555,1,29,1,40,1,1,1,1,16,4,6111,7860.0,1655501 +1100105,54,16555,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,1655502 +1100105,54,16556,1,31,2,40,1,1,1,1,-9,4,611M3,7890.0,1655601 +1100105,54,16556,2,32,1,40,1,1,1,1,-9,4,5416,7390.0,1655602 +1100105,54,16557,1,28,1,65,1,1,1,1,-9,4,522M,6890.0,1655701 +1100105,54,16557,2,27,2,40,1,1,1,1,-9,4,5413,7290.0,1655702 +1100105,54,16558,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,1655801 +1100105,54,16558,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,1655802 +1100105,54,16559,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1655901 +1100105,54,16559,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1655902 +1100105,54,16560,1,27,2,60,1,1,1,1,-9,4,713Z,8590.0,1656001 +1100105,54,16560,2,29,1,65,1,1,1,1,-9,4,52M1,6870.0,1656002 +1100105,54,16561,1,28,1,40,1,1,1,1,-9,4,531M,7071.0,1656101 +1100105,54,16561,2,27,2,40,1,1,1,1,-9,4,722Z,8680.0,1656102 +1100105,54,16562,1,29,2,40,1,1,1,1,-9,4,92MP,9470.0,1656201 +1100105,54,16562,2,34,1,60,1,1,1,1,-9,2,5616,7680.0,1656202 +1100105,54,16563,1,32,1,40,1,1,1,1,15,4,5415,7380.0,1656301 +1100105,54,16563,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,1656302 +1100105,54,16564,1,26,1,50,1,1,1,1,-9,4,5413,7290.0,1656401 +1100105,54,16564,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,1656402 +1100105,54,16565,1,30,2,40,1,1,1,1,-9,4,928P,9590.0,1656501 +1100105,54,16565,2,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,1656502 +1100105,54,16566,1,31,1,45,1,1,1,1,-9,4,5416,7390.0,1656601 +1100105,54,16566,2,30,2,39,1,1,1,1,-9,4,622M,8191.0,1656602 +1100105,54,16567,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1656701 +1100105,54,16567,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1656702 +1100105,54,16568,1,32,1,40,1,1,1,1,-9,4,92M2,9570.0,1656801 +1100105,54,16568,2,29,2,40,1,1,1,1,-9,4,813M,9170.0,1656802 +1100105,54,16569,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,1656901 +1100105,54,16569,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,1656902 +1100105,54,16570,1,28,1,42,5,1,1,1,-9,4,5416,7390.0,1657001 +1100105,54,16570,2,27,2,55,1,1,1,1,-9,4,5416,7390.0,1657002 +1100105,54,16571,1,26,1,40,1,1,1,1,-9,4,55,7570.0,1657101 +1100105,54,16571,2,26,2,40,1,1,1,1,-9,4,622M,8191.0,1657102 +1100105,54,16572,1,26,2,55,1,1,1,1,-9,4,5412,7280.0,1657201 +1100105,54,16572,2,26,1,65,1,1,1,1,16,4,531M,7071.0,1657202 +1100105,54,16573,1,33,2,40,1,1,1,1,-9,4,8139Z,9190.0,1657301 +1100105,54,16573,2,32,1,40,1,1,1,1,-9,4,6241,8370.0,1657302 +1100105,54,16574,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,1657401 +1100105,54,16574,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1657402 +1100105,54,16575,1,34,1,45,1,1,1,1,-9,4,491,6370.0,1657501 +1100105,54,16575,2,31,1,60,1,1,1,1,-9,4,52M1,6870.0,1657502 +1100105,54,16576,1,31,1,40,1,1,1,1,-9,4,813M,9170.0,1657601 +1100105,54,16576,2,32,1,40,1,1,1,1,-9,4,9211MP,9370.0,1657602 +1100105,54,16577,1,32,1,90,1,1,1,1,-9,4,713Z,8590.0,1657701 +1100105,54,16577,2,26,2,80,1,1,1,1,-9,4,71395,8580.0,1657702 +1100105,54,16578,1,26,2,45,1,1,1,1,-9,4,522M,6890.0,1657801 +1100105,54,16578,2,30,1,50,1,1,1,1,16,4,5242,6992.0,1657802 +1100105,54,16579,1,28,2,43,1,1,1,1,-9,4,928P,9590.0,1657901 +1100105,54,16579,2,28,1,50,1,1,1,1,-9,4,9211MP,9370.0,1657902 +1100105,54,16580,1,26,1,50,1,1,1,1,-9,4,5413,7290.0,1658001 +1100105,54,16580,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,1658002 +1100105,54,16581,1,29,1,50,1,1,1,1,-9,4,5415,7380.0,1658101 +1100105,54,16581,2,27,2,40,1,1,1,1,16,4,5416,7390.0,1658102 +1100105,54,16582,1,33,2,40,1,1,1,1,-9,4,8139Z,9190.0,1658201 +1100105,54,16582,2,32,1,40,1,1,1,1,-9,4,6241,8370.0,1658202 +1100105,54,16583,1,31,1,45,1,1,1,1,-9,4,5415,7380.0,1658301 +1100105,54,16583,2,26,1,40,1,1,1,1,-9,4,8139Z,9190.0,1658302 +1100105,54,16584,1,32,1,50,1,1,1,1,-9,4,92113,9380.0,1658401 +1100105,54,16584,2,32,2,45,1,1,1,1,-9,4,813M,9170.0,1658402 +1100105,54,16585,1,34,1,40,1,1,1,1,-9,4,5121,6570.0,1658501 +1100105,54,16585,2,27,2,40,1,1,1,1,-9,4,5416,7390.0,1658502 +1100105,54,16586,1,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,1658601 +1100105,54,16586,2,30,1,50,1,1,1,1,-9,4,531M,7071.0,1658602 +1100105,54,16587,1,31,1,50,1,1,1,1,-9,4,92MP,9470.0,1658701 +1100105,54,16587,2,32,2,35,4,1,1,24,-9,4,622M,8191.0,1658702 +1100105,54,16588,1,33,1,40,1,1,1,3,-9,4,923,9480.0,1658801 +1100105,54,16588,2,32,2,40,1,1,1,1,-9,4,454110,5593.0,1658802 +1100105,54,16589,1,29,2,45,1,1,1,3,-9,4,515,6670.0,1658901 +1100105,54,16589,2,34,1,45,1,1,1,1,-9,2,5413,7290.0,1658902 +1100105,54,16590,1,68,1,40,1,1,6,1,-9,4,92M1,9490.0,1659001 +1100105,54,16590,2,68,2,-9,-9,6,6,1,-9,4,6111,7860.0,1659002 +1100105,54,16591,1,74,2,40,1,1,1,1,-9,2,923,9480.0,1659101 +1100105,54,16591,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,1659102 +1100105,54,16592,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,1659201 +1100105,54,16592,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,1659202 +1100105,54,16593,1,74,1,16,3,6,1,1,-9,4,5417,7460.0,1659301 +1100105,54,16593,2,72,2,18,1,1,1,1,-9,4,5112,6490.0,1659302 +1100105,54,16594,1,74,2,40,1,1,1,1,-9,2,923,9480.0,1659401 +1100105,54,16594,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,1659402 +1100105,54,16595,1,43,1,50,1,1,6,1,-9,4,52M1,6870.0,1659501 +1100105,54,16595,2,45,1,-9,-9,6,6,1,16,4,531M,7071.0,1659502 +1100105,54,16596,1,60,2,40,1,1,1,1,-9,4,8139Z,9190.0,1659601 +1100105,54,16596,2,57,2,-9,-9,6,1,1,-9,4,5416,7390.0,1659602 +1100105,54,16597,1,49,2,40,1,1,1,1,-9,4,928P,9590.0,1659701 +1100105,54,16597,2,44,1,8,6,6,1,1,-9,4,5419Z,7490.0,1659702 +1100105,54,16598,1,45,2,40,1,1,1,1,-9,4,5241,6991.0,1659801 +1100105,54,16598,2,51,1,35,4,3,1,1,-9,2,5416,7390.0,1659802 +1100105,54,16599,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,1659901 +1100105,54,16599,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,1659902 +1100105,54,16600,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,1660001 +1100105,54,16600,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,1660002 +1100105,54,16601,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,1660101 +1100105,54,16601,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,1660102 +1100105,54,16602,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,1660201 +1100105,54,16602,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,1660202 +1100105,54,16603,1,30,2,50,1,1,1,1,-9,4,81393,9180.0,1660301 +1100105,54,16603,2,33,1,65,3,3,1,1,-9,4,8139Z,9190.0,1660302 +1100105,54,16604,1,31,2,46,1,1,1,1,-9,4,814,9290.0,1660401 +1100105,54,16604,2,33,1,-9,-9,6,1,1,16,4,814,9290.0,1660402 +1100105,54,16605,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,1660501 +1100105,54,16605,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,1660502 +1100105,54,16606,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,1660601 +1100105,54,16606,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,1660602 +1100105,54,16607,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,1660701 +1100105,54,16607,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,1660702 +1100105,54,16608,1,24,2,-9,-9,6,6,2,16,4,813M,9170.0,1660801 +1100105,54,16608,2,26,2,70,1,1,1,1,-9,4,5411,7270.0,1660802 +1100105,54,16609,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,1660901 +1100105,54,16609,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,1660902 +1100105,54,16610,1,24,2,-9,-9,6,6,2,16,4,813M,9170.0,1661001 +1100105,54,16610,2,26,2,70,1,1,1,1,-9,4,5411,7270.0,1661002 +1100105,54,16611,1,28,1,40,1,1,1,20,-9,4,52M1,6870.0,1661101 +1100105,54,16611,2,27,2,40,2,6,1,1,-9,4,5418,7470.0,1661102 +1100105,54,16612,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1661201 +1100105,54,16612,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1661202 +1100105,54,16613,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1661301 +1100105,54,16613,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1661302 +1100105,54,16614,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1661401 +1100105,54,16614,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1661402 +1100105,54,16615,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1661501 +1100105,54,16615,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1661502 +1100105,54,16616,1,78,2,-9,-9,6,1,16,-9,4,611M1,7870.0,1661601 +1100105,54,16616,2,75,1,-9,-9,6,1,1,-9,4,0,0.0,1661602 +1100105,54,16617,1,66,1,40,1,1,1,1,16,4,622M,8191.0,1661701 +1100105,54,16617,2,66,2,20,1,1,6,1,-9,4,531M,7071.0,1661702 +1100105,54,16618,1,51,1,15,1,1,6,1,-9,4,5413,7290.0,1661801 +1100105,54,16618,2,47,2,45,1,1,6,1,-9,4,5415,7380.0,1661802 +1100105,54,16619,1,41,2,10,1,1,1,1,-9,4,5111Z,6480.0,1661901 +1100105,54,16619,2,43,1,40,1,1,1,1,-9,4,52M2,6970.0,1661902 +1100105,54,16620,1,47,1,40,1,1,1,1,-9,4,813M,9170.0,1662001 +1100105,54,16620,2,42,1,40,3,1,1,1,-9,4,6111,7860.0,1662002 +1100105,54,16621,1,45,1,30,4,2,1,1,-9,4,928P,9590.0,1662101 +1100105,54,16621,2,40,2,45,1,1,1,14,-9,4,611M3,7890.0,1662102 +1100105,54,16622,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,1662201 +1100105,54,16622,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,1662202 +1100105,54,16623,1,31,2,38,3,2,1,1,-9,4,622M,8191.0,1662301 +1100105,54,16623,2,36,1,40,1,1,1,1,-9,4,522M,6890.0,1662302 +1100105,54,16624,1,36,1,40,1,1,1,1,-9,4,531M,7071.0,1662401 +1100105,54,16624,2,27,1,45,1,1,1,1,15,4,5415,7380.0,1662402 +1100105,54,16625,1,39,1,45,1,1,1,1,-9,2,51913,6672.0,1662501 +1100105,54,16625,2,30,1,50,2,1,8,7,-9,4,4481,5170.0,1662502 +1100105,54,16626,1,37,2,40,3,1,8,13,-9,4,52M1,6870.0,1662601 +1100105,54,16626,2,34,1,40,3,1,8,23,-9,4,52M1,6870.0,1662602 +1100105,54,16627,1,32,1,50,1,1,6,1,-9,4,9211MP,9370.0,1662701 +1100105,54,16627,2,32,2,30,1,1,6,1,16,4,611M1,7870.0,1662702 +1100105,54,16628,1,27,2,40,1,1,9,1,-9,4,5416,7390.0,1662801 +1100105,54,16628,2,27,2,40,1,1,1,1,-9,4,713Z,8590.0,1662802 +1100105,54,16629,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,1662901 +1100105,54,16629,2,32,2,40,4,1,3,1,-9,4,6214,8090.0,1662902 +1100105,54,16630,1,29,1,50,1,1,1,1,-9,4,5313,7072.0,1663001 +1100105,54,16630,2,28,2,40,1,1,9,1,-9,4,5417,7460.0,1663002 +1100105,54,16631,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,1663101 +1100105,54,16631,2,32,2,40,4,1,3,1,-9,4,6214,8090.0,1663102 +1100105,54,16632,1,28,2,50,1,1,6,1,-9,4,92MP,9470.0,1663201 +1100105,54,16632,2,29,2,40,1,1,1,1,-9,4,5221M,6880.0,1663202 +1100105,54,16633,1,31,1,60,1,1,6,1,-9,4,813M,9170.0,1663301 +1100105,54,16633,2,27,1,50,1,1,1,1,-9,4,8139Z,9190.0,1663302 +1100105,54,16634,1,25,2,40,1,1,1,1,-9,4,813M,9170.0,1663401 +1100105,54,16634,2,26,2,40,1,1,6,1,-9,4,5416,7390.0,1663402 +1100105,54,16635,1,26,2,37,1,1,1,1,-9,4,5418,7470.0,1663501 +1100105,54,16635,2,26,2,50,1,1,6,1,-9,4,5416,7390.0,1663502 +1100105,54,16636,1,28,2,45,3,1,1,1,-9,4,6111,7860.0,1663601 +1100105,54,16636,2,28,1,42,2,1,1,1,-9,4,813M,9170.0,1663602 +1100105,54,16637,1,25,1,40,1,1,1,1,-9,4,531M,7071.0,1663701 +1100105,54,16637,2,24,1,46,1,1,1,1,-9,4,5416,7390.0,1663702 +1100105,54,16638,1,32,1,40,1,1,1,1,-9,4,4453,4990.0,1663801 +1100105,54,16638,2,32,2,45,1,1,1,1,-9,4,722Z,8680.0,1663802 +1100105,54,16639,1,27,2,40,1,1,1,1,-9,4,52M1,6870.0,1663901 +1100105,54,16639,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,1663902 +1100105,54,16640,1,26,2,50,1,1,1,1,-9,4,5418,7470.0,1664001 +1100105,54,16640,2,27,1,50,1,1,1,1,16,4,3345,3380.0,1664002 +1100105,54,16641,1,27,2,40,1,1,1,1,-9,4,9211MP,9370.0,1664101 +1100105,54,16641,2,25,2,42,1,1,1,1,-9,4,5418,7470.0,1664102 +1100105,54,16642,1,31,1,55,1,1,1,1,-9,4,5416,7390.0,1664201 +1100105,54,16642,2,28,2,55,1,1,1,1,-9,4,6242,8380.0,1664202 +1100105,54,16643,1,27,2,40,1,1,1,1,-9,4,52M1,6870.0,1664301 +1100105,54,16643,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,1664302 +1100105,54,16644,1,25,2,40,1,1,1,1,-9,4,5121,6570.0,1664401 +1100105,54,16644,2,24,1,40,1,1,1,1,-9,4,5416,7390.0,1664402 +1100105,54,16645,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1664501 +1100105,54,16645,2,27,2,40,1,1,1,1,-9,4,813M,9170.0,1664502 +1100105,54,16646,1,30,2,38,3,1,1,1,-9,4,6111,7860.0,1664601 +1100105,54,16646,2,30,1,50,3,1,1,1,-9,4,7115,8564.0,1664602 +1100105,54,16647,1,28,1,55,1,1,1,1,-9,4,8139Z,9190.0,1664701 +1100105,54,16647,2,23,1,40,1,1,1,1,-9,4,5419Z,7490.0,1664702 +1100105,54,16648,1,31,1,70,1,1,1,1,-9,4,8139Z,9190.0,1664801 +1100105,54,16648,2,27,2,50,1,1,1,1,-9,4,6111,7860.0,1664802 +1100105,54,16649,1,27,2,40,1,1,1,1,-9,4,52M1,6870.0,1664901 +1100105,54,16649,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,1664902 +1100105,54,16650,1,27,1,50,1,1,1,1,-9,4,5418,7470.0,1665001 +1100105,54,16650,2,29,1,55,1,1,1,1,-9,4,5416,7390.0,1665002 +1100105,54,16651,1,26,2,45,1,1,1,1,-9,4,5415,7380.0,1665101 +1100105,54,16651,2,25,1,40,2,1,1,1,-9,4,23,770.0,1665102 +1100105,54,16652,1,28,2,45,1,1,1,1,-9,4,813M,9170.0,1665201 +1100105,54,16652,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,1665202 +1100105,54,16653,1,27,1,50,1,1,1,1,-9,4,515,6670.0,1665301 +1100105,54,16653,2,26,1,40,1,1,1,1,-9,4,5416,7390.0,1665302 +1100105,54,16654,1,28,2,45,1,1,1,1,-9,4,92MP,9470.0,1665401 +1100105,54,16654,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,1665402 +1100105,54,16655,1,30,2,38,3,1,1,1,-9,4,6111,7860.0,1665501 +1100105,54,16655,2,30,1,50,3,1,1,1,-9,4,7115,8564.0,1665502 +1100105,54,16656,1,28,1,45,1,1,1,1,-9,4,5417,7460.0,1665601 +1100105,54,16656,2,30,2,45,1,1,1,1,-9,4,5417,7460.0,1665602 +1100105,54,16657,1,25,2,40,1,1,1,1,-9,4,531M,7071.0,1665701 +1100105,54,16657,2,26,1,45,1,1,1,1,-9,4,928P,9590.0,1665702 +1100105,54,16658,1,30,2,40,2,1,1,1,16,4,611M1,7870.0,1665801 +1100105,54,16658,2,31,1,45,1,1,1,1,-9,4,5411,7270.0,1665802 +1100105,54,16659,1,25,2,60,1,1,1,1,-9,4,7112,8562.0,1665901 +1100105,54,16659,2,27,2,45,1,1,1,1,-9,4,5416,7390.0,1665902 +1100105,54,16660,1,27,2,40,1,1,1,1,-9,4,813M,9170.0,1666001 +1100105,54,16660,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,1666002 +1100105,54,16661,1,30,1,50,1,1,1,1,-9,4,5111Z,6480.0,1666101 +1100105,54,16661,2,30,2,40,1,1,1,1,-9,4,813M,9170.0,1666102 +1100105,54,16662,1,27,2,40,1,1,1,1,-9,4,52M1,6870.0,1666201 +1100105,54,16662,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,1666202 +1100105,54,16663,1,26,1,50,1,1,1,1,-9,4,5242,6992.0,1666301 +1100105,54,16663,2,24,2,32,1,1,1,1,-9,4,6211,7970.0,1666302 +1100105,54,16664,1,26,1,50,1,1,1,1,-9,4,5242,6992.0,1666401 +1100105,54,16664,2,24,2,32,1,1,1,1,-9,4,6211,7970.0,1666402 +1100105,54,16665,1,28,2,55,1,1,1,1,-9,4,722Z,8680.0,1666501 +1100105,54,16665,2,32,2,55,1,1,1,1,-9,4,722Z,8680.0,1666502 +1100105,54,16666,1,29,2,45,1,1,1,1,-9,4,5416,7390.0,1666601 +1100105,54,16666,2,31,1,45,1,1,1,1,-9,4,81393,9180.0,1666602 +1100105,54,16667,1,28,2,50,1,1,1,1,-9,4,8131,9160.0,1666701 +1100105,54,16667,2,32,1,40,1,1,1,1,-9,4,611M3,7890.0,1666702 +1100105,54,16668,1,26,2,40,1,1,1,1,-9,4,712,8570.0,1666801 +1100105,54,16668,2,29,1,40,1,1,1,1,-9,4,712,8570.0,1666802 +1100105,54,16669,1,33,1,40,1,1,1,1,16,4,6111,7860.0,1666901 +1100105,54,16669,2,29,1,40,1,1,1,1,-9,4,813M,9170.0,1666902 +1100105,54,16670,1,31,1,70,1,1,1,1,-9,4,5416,7390.0,1667001 +1100105,54,16670,2,26,2,40,1,1,1,1,-9,4,6111,7860.0,1667002 +1100105,54,16671,1,22,2,40,1,1,1,1,-9,4,5416,7390.0,1667101 +1100105,54,16671,2,22,2,45,1,1,1,1,16,4,722Z,8680.0,1667102 +1100105,54,16672,1,31,2,50,1,1,1,1,-9,4,928P,9590.0,1667201 +1100105,54,16672,2,33,1,40,1,1,1,1,-9,4,611M1,7870.0,1667202 +1100105,54,16673,1,27,2,40,1,1,1,1,-9,4,5417,7460.0,1667301 +1100105,54,16673,2,27,2,45,1,1,1,1,-9,4,6111,7860.0,1667302 +1100105,54,16674,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,1667401 +1100105,54,16674,2,27,2,60,1,1,1,2,-9,4,6111,7860.0,1667402 +1100105,54,16675,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,1667501 +1100105,54,16675,2,27,2,60,1,1,1,2,-9,4,6111,7860.0,1667502 +1100105,54,16676,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1667601 +1100105,54,16676,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1667602 +1100105,54,16677,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1667701 +1100105,54,16677,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1667702 +1100105,54,16678,1,28,1,35,2,1,1,23,-9,4,6111,7860.0,1667801 +1100105,54,16678,2,27,2,40,1,1,1,19,-9,4,5411,7270.0,1667802 +1100105,54,16679,1,60,1,60,1,1,1,1,-9,4,5415,7380.0,1667901 +1100105,54,16679,2,65,1,3,6,6,1,1,-9,4,611M3,7890.0,1667902 +1100105,54,16680,1,39,2,40,1,2,1,7,-9,4,928P,9590.0,1668001 +1100105,54,16680,2,71,2,-9,-9,6,1,1,-9,4,0,0.0,1668002 +1100105,54,16681,1,38,1,60,1,1,6,1,-9,4,522M,6890.0,1668101 +1100105,54,16681,2,43,2,-9,-9,6,6,1,-9,4,0,0.0,1668102 +1100105,54,16682,1,35,2,-9,-9,6,1,1,-9,4,0,0.0,1668201 +1100105,54,16682,2,35,1,45,1,1,6,1,-9,4,515,6670.0,1668202 +1100105,54,16683,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,1668301 +1100105,54,16683,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,1668302 +1100105,54,16684,1,35,1,40,4,3,1,1,-9,4,7115,8564.0,1668401 +1100105,54,16684,2,41,1,36,1,1,1,1,-9,4,7115,8564.0,1668402 +1100105,54,16685,1,54,1,45,1,1,1,1,-9,4,928P,9590.0,1668501 +1100105,54,16685,2,49,1,10,6,6,1,1,-9,4,812112,8980.0,1668502 +1100105,54,16686,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1668601 +1100105,54,16686,2,29,1,40,2,1,1,24,-9,4,928P,9590.0,1668602 +1100105,54,16687,1,35,1,40,1,1,6,1,-9,4,5415,7380.0,1668701 +1100105,54,16687,2,28,2,40,5,3,1,1,-9,4,5613,7580.0,1668702 +1100105,54,16688,1,34,2,40,1,1,1,1,-9,4,92M2,9570.0,1668801 +1100105,54,16688,2,38,1,40,4,3,1,1,-9,4,5121,6570.0,1668802 +1100105,54,16689,1,28,2,47,1,1,9,1,-9,4,44611,5070.0,1668901 +1100105,54,16689,2,26,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1668902 +1100105,54,16690,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1669001 +1100105,54,16690,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,1669002 +1100105,54,16691,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1669101 +1100105,54,16691,2,29,2,35,5,3,1,1,-9,4,813M,9170.0,1669102 +1100105,54,16692,1,34,2,50,1,1,1,1,-9,4,5415,7380.0,1669201 +1100105,54,16692,2,23,2,35,5,3,1,1,-9,4,5417,7460.0,1669202 +1100105,54,16693,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1669301 +1100105,54,16693,2,29,2,35,5,3,1,1,-9,4,813M,9170.0,1669302 +1100105,54,16694,1,28,2,-9,-9,6,1,1,16,4,0,0.0,1669401 +1100105,54,16694,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,1669402 +1100105,54,16695,1,28,1,40,2,1,1,1,-9,4,5419Z,7490.0,1669501 +1100105,54,16695,2,26,2,40,4,6,1,1,16,4,6111,7860.0,1669502 +1100105,54,16696,1,28,1,-9,-9,6,1,1,16,4,611M1,7870.0,1669601 +1100105,54,16696,2,28,2,60,1,1,1,1,-9,4,531M,7071.0,1669602 +1100105,54,16697,1,28,2,-9,-9,6,1,1,16,4,0,0.0,1669701 +1100105,54,16697,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,1669702 +1100105,54,16698,1,21,1,40,1,1,9,4,-9,4,5411,7270.0,1669801 +1100105,54,16698,2,21,1,40,1,6,1,1,15,4,5416,7390.0,1669802 +1100105,54,16699,1,21,1,40,1,1,9,4,-9,4,5411,7270.0,1669901 +1100105,54,16699,2,21,1,40,1,6,1,1,15,4,5416,7390.0,1669902 +1100105,54,16700,1,30,1,40,1,1,1,23,-9,4,5416,7390.0,1670001 +1100105,54,16700,2,31,2,40,6,6,1,23,16,4,4539,5580.0,1670002 +1100105,54,16701,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,1670101 +1100105,54,16701,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1670102 +1100105,54,16702,1,67,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1670201 +1100105,54,16702,2,69,1,-9,-9,6,1,1,-9,2,81393,9180.0,1670202 +1100105,54,16703,1,70,2,-9,-9,6,1,1,-9,4,0,0.0,1670301 +1100105,54,16703,2,74,1,40,6,6,1,1,-9,2,5416,7390.0,1670302 +1100105,54,16704,1,67,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1670401 +1100105,54,16704,2,69,1,-9,-9,6,1,1,-9,2,81393,9180.0,1670402 +1100105,54,16705,1,75,1,-9,-9,6,1,1,-9,2,0,0.0,1670501 +1100105,54,16705,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1670502 +1100105,54,16706,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1670601 +1100105,54,16706,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1670602 +1100105,54,16707,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1670701 +1100105,54,16707,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1670702 +1100105,54,16708,1,26,2,40,4,6,1,19,-9,4,45439,5690.0,1670801 +1100105,54,16708,2,29,1,40,4,6,1,19,16,4,23,770.0,1670802 +1100105,54,16709,1,69,1,40,1,1,1,1,-9,4,712,8570.0,1670901 +1100105,54,16709,2,70,2,75,1,1,1,1,-9,4,6111,7860.0,1670902 +1100105,54,16710,1,36,2,40,3,1,6,1,16,4,611M1,7870.0,1671001 +1100105,54,16710,2,49,1,50,1,1,1,1,-9,4,611M1,7870.0,1671002 +1100105,54,16711,1,44,1,24,1,1,1,1,-9,4,5413,7290.0,1671101 +1100105,54,16711,2,46,1,40,5,1,1,1,-9,4,621M,8180.0,1671102 +1100105,54,16712,1,41,2,40,1,1,9,11,-9,4,7211,8660.0,1671201 +1100105,54,16712,2,37,1,40,1,1,9,11,-9,4,5617Z,7690.0,1671202 +1100105,54,16713,1,50,2,60,1,1,1,1,-9,4,4481,5170.0,1671301 +1100105,54,16713,2,32,1,60,1,1,9,1,-9,4,4481,5170.0,1671302 +1100105,54,16714,1,28,1,60,1,1,6,1,-9,4,5417,7460.0,1671401 +1100105,54,16714,2,23,1,12,5,1,6,1,16,4,722Z,8680.0,1671402 +1100105,54,16715,1,29,1,40,3,1,2,1,-9,4,5417,7460.0,1671501 +1100105,54,16715,2,27,1,40,1,1,6,1,-9,4,722Z,8680.0,1671502 +1100105,54,16716,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,1671601 +1100105,54,16716,2,32,1,35,1,1,3,1,-9,4,712,8570.0,1671602 +1100105,54,16717,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1671701 +1100105,54,16717,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1671702 +1100105,54,16718,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1671801 +1100105,54,16718,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1671802 +1100105,54,16719,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1671901 +1100105,54,16719,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1671902 +1100105,54,16720,1,26,2,40,1,1,1,1,-9,4,92119,9390.0,1672001 +1100105,54,16720,2,32,2,50,1,1,6,1,-9,4,928P,9590.0,1672002 +1100105,54,16721,1,26,2,45,2,1,1,1,16,4,611M1,7870.0,1672101 +1100105,54,16721,2,25,1,45,1,1,6,1,-9,4,5416,7390.0,1672102 +1100105,54,16722,1,26,2,45,1,1,1,1,-9,4,722Z,8680.0,1672201 +1100105,54,16722,2,29,1,50,1,1,1,1,-9,4,722Z,8680.0,1672202 +1100105,54,16723,1,28,2,40,1,1,1,1,-9,4,5615,7670.0,1672301 +1100105,54,16723,2,28,1,40,1,1,1,1,-9,4,332M,2870.0,1672302 +1100105,54,16724,1,24,1,32,1,1,1,1,-9,4,722Z,8680.0,1672401 +1100105,54,16724,2,23,2,50,1,1,1,1,15,4,531M,7071.0,1672402 +1100105,54,16725,1,24,2,45,1,1,1,1,-9,4,722Z,8680.0,1672501 +1100105,54,16725,2,24,2,60,1,1,1,1,-9,4,9211MP,9370.0,1672502 +1100105,54,16726,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,1672601 +1100105,54,16726,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,1672602 +1100105,54,16727,1,26,1,45,1,1,1,1,16,4,8139Z,9190.0,1672701 +1100105,54,16727,2,27,1,40,1,1,1,1,-9,4,7224,8690.0,1672702 +1100105,54,16728,1,24,2,40,1,1,1,1,-9,4,5614,7590.0,1672801 +1100105,54,16728,2,24,2,48,1,1,1,1,-9,4,622M,8191.0,1672802 +1100105,54,16729,1,24,2,50,1,1,1,1,-9,4,5419Z,7490.0,1672901 +1100105,54,16729,2,25,1,15,3,1,1,1,-9,4,5416,7390.0,1672902 +1100105,54,16730,1,20,2,60,4,1,1,1,15,4,6211,7970.0,1673001 +1100105,54,16730,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,1673002 +1100105,54,16731,1,33,2,50,6,1,1,1,-9,4,5416,7390.0,1673101 +1100105,54,16731,2,33,1,45,1,1,1,1,-9,4,5415,7380.0,1673102 +1100105,54,16732,1,23,2,40,1,1,1,1,-9,4,611M3,7890.0,1673201 +1100105,54,16732,2,25,2,40,1,1,1,1,-9,4,5417,7460.0,1673202 +1100105,54,16733,1,28,2,40,1,1,1,1,-9,4,5615,7670.0,1673301 +1100105,54,16733,2,28,1,40,1,1,1,1,-9,4,332M,2870.0,1673302 +1100105,54,16734,1,29,1,45,1,1,1,1,-9,4,51913,6672.0,1673401 +1100105,54,16734,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,1673402 +1100105,54,16735,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,1673501 +1100105,54,16735,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,1673502 +1100105,54,16736,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,1673601 +1100105,54,16736,2,33,2,20,1,1,1,1,-9,4,611M1,7870.0,1673602 +1100105,54,16737,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1673701 +1100105,54,16737,2,29,1,50,1,1,1,1,-9,4,8139Z,9190.0,1673702 +1100105,54,16738,1,24,1,18,5,1,1,1,16,4,33641M2,3590.0,1673801 +1100105,54,16738,2,23,2,45,1,1,1,1,-9,4,337,3895.0,1673802 +1100105,54,16739,1,24,2,40,1,1,1,1,-9,4,5614,7590.0,1673901 +1100105,54,16739,2,24,2,48,1,1,1,1,-9,4,622M,8191.0,1673902 +1100105,54,16740,1,27,2,40,1,1,1,1,-9,4,5418,7470.0,1674001 +1100105,54,16740,2,28,1,44,1,1,1,1,-9,4,722Z,8680.0,1674002 +1100105,54,16741,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,1674101 +1100105,54,16741,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,1674102 +1100105,54,16742,1,33,2,50,6,1,1,1,-9,4,5416,7390.0,1674201 +1100105,54,16742,2,33,1,45,1,1,1,1,-9,4,5415,7380.0,1674202 +1100105,54,16743,1,23,2,45,1,1,1,1,-9,4,454110,5593.0,1674301 +1100105,54,16743,2,23,2,45,6,1,8,3,-9,4,5111Z,6480.0,1674302 +1100105,54,16744,1,32,1,45,1,1,1,1,-9,4,5411,7270.0,1674401 +1100105,54,16744,2,32,2,40,1,1,1,4,-9,4,5411,7270.0,1674402 +1100105,54,16745,1,29,2,40,6,1,1,1,-9,4,813M,9170.0,1674501 +1100105,54,16745,2,27,1,40,1,1,9,19,-9,4,923,9480.0,1674502 +1100105,54,16746,1,29,2,40,6,1,1,1,-9,4,813M,9170.0,1674601 +1100105,54,16746,2,27,1,40,1,1,9,19,-9,4,923,9480.0,1674602 +1100105,54,16747,1,29,2,40,6,1,1,1,-9,4,813M,9170.0,1674701 +1100105,54,16747,2,27,1,40,1,1,9,19,-9,4,923,9480.0,1674702 +1100105,54,16748,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,1674801 +1100105,54,16748,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,1674802 +1100105,54,16749,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,1674901 +1100105,54,16749,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,1674902 +1100105,54,16750,1,68,2,50,1,1,1,1,-9,4,7211,8660.0,1675001 +1100105,54,16750,2,65,1,-9,-9,6,6,1,-9,4,0,0.0,1675002 +1100105,54,16751,1,68,2,50,1,1,1,1,-9,4,7211,8660.0,1675101 +1100105,54,16751,2,65,1,-9,-9,6,6,1,-9,4,0,0.0,1675102 +1100105,54,16752,1,74,1,4,4,1,1,1,-9,4,5412,7280.0,1675201 +1100105,54,16752,2,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,1675202 +1100105,54,16753,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1675301 +1100105,54,16753,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,1675302 +1100105,54,16754,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1675401 +1100105,54,16754,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1675402 +1100105,54,16755,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1675501 +1100105,54,16755,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1675502 +1100105,54,16756,1,35,2,40,1,2,6,1,16,4,5411,7270.0,1675601 +1100105,54,16756,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,1675602 +1100105,54,16757,1,38,1,40,1,1,1,1,-9,4,5417,7460.0,1675701 +1100105,54,16757,2,42,2,-9,-9,6,6,1,-9,4,0,0.0,1675702 +1100105,54,16758,1,54,1,40,1,3,1,1,-9,4,7211,8660.0,1675801 +1100105,54,16758,2,54,1,40,1,1,1,1,-9,4,7211,8660.0,1675802 +1100105,54,16759,1,64,1,-9,-9,6,1,1,-9,4,0,0.0,1675901 +1100105,54,16759,2,55,1,40,1,1,1,1,-9,4,5411,7270.0,1675902 +1100105,54,16760,1,49,1,20,6,3,1,1,-9,4,51111,6470.0,1676001 +1100105,54,16760,2,32,1,50,1,1,1,1,-9,4,81393,9180.0,1676002 +1100105,54,16761,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1676101 +1100105,54,16761,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1676102 +1100105,54,16762,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1676201 +1100105,54,16762,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1676202 +1100105,54,16763,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1676301 +1100105,54,16763,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1676302 +1100105,54,16764,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1676401 +1100105,54,16764,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1676402 +1100105,54,16765,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1676501 +1100105,54,16765,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1676502 +1100105,54,16766,1,32,2,40,1,1,1,23,16,4,712,8570.0,1676601 +1100105,54,16766,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,1676602 +1100105,54,16767,1,32,2,40,1,1,1,23,16,4,712,8570.0,1676701 +1100105,54,16767,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,1676702 +1100105,54,16768,1,49,1,25,5,1,1,2,-9,4,928P,9590.0,1676801 +1100105,54,16768,2,31,1,15,4,6,1,1,15,4,722Z,8680.0,1676802 +1100105,54,16769,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1676901 +1100105,54,16769,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1676902 +1100105,54,16770,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1677001 +1100105,54,16770,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1677002 +1100105,54,16771,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1677101 +1100105,54,16771,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1677102 +1100105,54,16772,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1677201 +1100105,54,16772,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1677202 +1100105,54,16773,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1677301 +1100105,54,16773,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1677302 +1100105,54,16774,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1677401 +1100105,54,16774,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1677402 +1100105,54,16775,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1677501 +1100105,54,16775,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1677502 +1100105,54,16776,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1677601 +1100105,54,16776,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1677602 +1100105,54,16777,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1677701 +1100105,54,16777,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1677702 +1100105,54,16778,1,24,2,40,3,3,1,1,-9,4,5419Z,7490.0,1677801 +1100105,54,16778,2,25,2,50,1,1,1,1,-9,4,7111,8561.0,1677802 +1100105,54,16779,1,25,1,40,1,1,1,1,-9,4,5313,7072.0,1677901 +1100105,54,16779,2,25,2,35,6,6,1,1,16,4,8139Z,9190.0,1677902 +1100105,54,16780,1,24,2,50,1,1,1,1,-9,4,813M,9170.0,1678001 +1100105,54,16780,2,22,1,10,2,6,1,1,15,4,611M1,7870.0,1678002 +1100105,54,16781,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1678101 +1100105,54,16781,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1678102 +1100105,54,16782,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1678201 +1100105,54,16782,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1678202 +1100105,54,16783,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,1678301 +1100105,54,16783,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,1678302 +1100105,54,16784,1,24,1,40,5,6,1,1,16,4,5416,7390.0,1678401 +1100105,54,16784,2,26,2,40,1,1,1,1,-9,4,712,8570.0,1678402 +1100105,54,16785,1,26,1,-9,-9,6,1,1,16,4,92M2,9570.0,1678501 +1100105,54,16785,2,26,2,45,1,1,1,1,-9,4,611M1,7870.0,1678502 +1100105,54,16786,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,1678601 +1100105,54,16786,2,30,1,35,6,6,1,1,-9,4,5411,7270.0,1678602 +1100105,54,16787,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,1678701 +1100105,54,16787,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,1678702 +1100105,54,16788,1,25,1,40,1,1,1,1,-9,4,5415,7380.0,1678801 +1100105,54,16788,2,25,2,-9,-9,6,1,1,16,4,5418,7470.0,1678802 +1100105,54,16789,1,26,2,40,2,1,1,1,-9,4,5417,7460.0,1678901 +1100105,54,16789,2,23,2,-9,-9,3,1,1,15,4,5418,7470.0,1678902 +1100105,54,16790,1,24,2,50,6,6,1,1,16,4,5411,7270.0,1679001 +1100105,54,16790,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,1679002 +1100105,54,16791,1,26,2,40,2,1,1,1,-9,4,5417,7460.0,1679101 +1100105,54,16791,2,23,2,-9,-9,3,1,1,15,4,5418,7470.0,1679102 +1100105,54,16792,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1679201 +1100105,54,16792,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1679202 +1100105,54,16793,1,28,1,40,2,1,9,3,-9,4,5413,7290.0,1679301 +1100105,54,16793,2,27,2,-9,-9,3,1,1,-9,4,23,770.0,1679302 +1100105,54,16794,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1679401 +1100105,54,16794,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1679402 +1100105,54,16795,1,27,2,40,1,1,1,16,16,4,52M1,6870.0,1679501 +1100105,54,16795,2,32,1,-9,-9,6,1,16,-9,4,7211,8660.0,1679502 +1100105,54,16796,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1679601 +1100105,54,16796,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1679602 +1100105,54,16797,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1679701 +1100105,54,16797,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1679702 +1100105,54,16798,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1679801 +1100105,54,16798,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1679802 +1100105,54,16799,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1679901 +1100105,54,16799,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,1679902 +1100105,54,16800,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1680001 +1100105,54,16800,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,1680002 +1100105,54,16801,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1680101 +1100105,54,16801,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1680102 +1100105,54,16802,1,73,1,-9,-9,6,1,1,-9,4,5416,7390.0,1680201 +1100105,54,16802,2,83,2,-9,-9,6,1,1,-9,4,0,0.0,1680202 +1100105,54,16803,1,69,1,40,6,6,1,1,-9,4,923,9480.0,1680301 +1100105,54,16803,2,53,1,-9,-9,6,1,1,-9,4,923,9480.0,1680302 +1100105,54,16804,1,63,1,-9,-9,6,6,1,-9,4,0,0.0,1680401 +1100105,54,16804,2,63,2,-9,-9,6,6,1,-9,4,0,0.0,1680402 +1100105,54,16805,1,25,1,40,6,6,1,4,16,4,92MP,9470.0,1680501 +1100105,54,16805,2,25,1,15,4,6,1,1,16,4,92M2,9570.0,1680502 +1100105,54,16806,1,29,1,20,3,1,1,1,16,4,611M1,7870.0,1680601 +1100105,54,16806,2,29,2,20,1,1,6,1,16,4,611M1,7870.0,1680602 +1100105,54,16807,1,25,2,30,2,1,1,1,-9,4,722Z,8680.0,1680701 +1100105,54,16807,2,22,1,45,3,1,1,1,-9,4,92113,9380.0,1680702 +1100105,54,16808,1,23,1,50,1,1,1,1,-9,4,531M,7071.0,1680801 +1100105,54,16808,2,23,1,40,1,1,1,1,-9,4,5419Z,7490.0,1680802 +1100105,54,16809,1,26,2,45,6,1,1,1,-9,4,5416,7390.0,1680901 +1100105,54,16809,2,26,1,60,6,1,1,1,-9,4,92MP,9470.0,1680902 +1100105,54,16810,1,29,1,44,1,1,1,15,-9,4,923,9480.0,1681001 +1100105,54,16810,2,29,2,45,1,1,1,15,-9,4,5418,7470.0,1681002 +1100105,54,16811,1,25,1,50,1,1,1,16,16,4,5417,7460.0,1681101 +1100105,54,16811,2,23,2,40,1,1,1,24,16,4,814,9290.0,1681102 +1100105,54,16812,1,60,2,40,1,1,8,19,-9,4,7211,8660.0,1681201 +1100105,54,16812,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,1681202 +1100105,54,16813,1,52,2,25,1,1,1,1,-9,4,562,7790.0,1681301 +1100105,54,16813,2,51,1,35,4,6,1,1,-9,4,562,7790.0,1681302 +1100105,54,16814,1,65,2,-9,-9,6,6,1,-9,4,0,0.0,1681401 +1100105,54,16814,2,29,2,35,1,1,6,1,16,4,813M,9170.0,1681402 +1100105,54,16815,1,28,1,45,6,6,1,1,16,4,5411,7270.0,1681501 +1100105,54,16815,2,28,2,20,5,1,6,1,16,4,8139Z,9190.0,1681502 +1100105,54,16816,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,1681601 +1100105,54,16816,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,1681602 +1100105,54,16817,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,1681701 +1100105,54,16817,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,1681702 +1100105,54,16818,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,1681801 +1100105,54,16818,2,29,1,45,1,1,1,1,16,4,6111,7860.0,1681802 +1100105,54,16819,1,25,1,40,6,6,1,1,16,4,5411,7270.0,1681901 +1100105,54,16819,2,25,1,11,5,1,1,1,16,4,611M1,7870.0,1681902 +1100105,54,16820,1,29,1,45,1,4,1,1,15,1,928110P3,9690.0,1682001 +1100105,54,16820,2,30,2,35,6,3,1,1,-9,4,7211,8660.0,1682002 +1100105,54,16821,1,23,2,40,1,1,1,23,-9,4,92M2,9570.0,1682101 +1100105,54,16821,2,23,2,-9,-9,6,1,1,16,4,4481,5170.0,1682102 +1100105,54,16822,1,45,2,40,1,1,6,1,-9,4,7211,8660.0,1682201 +1100105,54,16822,2,17,1,8,5,6,6,1,13,4,722Z,8680.0,1682202 +1100105,54,16823,1,81,1,-9,-9,6,1,1,-9,4,7115,8564.0,1682301 +1100105,54,16823,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1682302 +1100105,54,16824,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1682401 +1100105,54,16824,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,1682402 +1100105,54,16825,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1682501 +1100105,54,16825,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,1682502 +1100105,54,16826,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1682601 +1100105,54,16826,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,1682602 +1100105,54,16827,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1682701 +1100105,54,16827,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,1682702 +1100105,54,16828,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1682801 +1100105,54,16828,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,1682802 +1100105,54,16829,1,81,1,-9,-9,6,1,1,-9,4,7115,8564.0,1682901 +1100105,54,16829,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1682902 +1100105,54,16830,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,1683001 +1100105,54,16830,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,1683002 +1100105,54,16831,1,25,1,5,5,2,6,1,16,4,611M1,7870.0,1683101 +1100105,54,16831,2,25,1,15,4,2,6,1,16,4,611M1,7870.0,1683102 +1100105,54,16832,1,21,1,45,6,1,1,1,15,4,923,9480.0,1683201 +1100105,54,16832,2,22,1,12,2,1,1,1,15,4,9211MP,9370.0,1683202 +1100105,54,16833,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,1683301 +1100105,54,16833,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,1683302 +1100105,54,16834,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,1683401 +1100105,54,16834,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,1683402 +1100105,54,16835,1,63,1,20,1,1,6,1,-9,4,722Z,8680.0,1683501 +1100105,54,16835,2,64,2,-9,-9,6,6,1,-9,4,0,0.0,1683502 +1100105,54,16836,1,55,2,-9,-9,6,1,11,-9,4,0,0.0,1683601 +1100105,54,16836,2,48,1,35,1,1,1,11,-9,4,7211,8660.0,1683602 +1100105,54,16837,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,1683701 +1100105,54,16837,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,1683702 +1100105,54,16838,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,1683801 +1100105,54,16838,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,1683802 +1100105,54,16839,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1683901 +1100105,54,16839,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1683902 +1100105,54,16840,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1684001 +1100105,54,16840,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1684002 +1100105,54,16841,1,24,1,-9,-9,6,6,1,16,4,0,0.0,1684101 +1100105,54,16841,2,23,1,5,6,1,6,1,16,4,611M1,7870.0,1684102 +1100105,54,16842,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1684201 +1100105,54,16842,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1684202 +1100105,54,16843,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1684301 +1100105,54,16843,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1684302 +1100105,54,16844,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1684401 +1100105,54,16844,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1684402 +1100105,54,16845,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,1684501 +1100105,54,16845,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,1684502 +1100105,54,16846,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1684601 +1100105,54,16846,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1684602 +1100105,54,16847,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1684701 +1100105,54,16847,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1684702 +1100105,54,16848,1,20,2,4,5,1,1,1,15,4,7115,8564.0,1684801 +1100105,54,16848,2,20,1,10,3,6,1,1,15,4,7112,8562.0,1684802 +1100105,54,16849,1,20,1,24,6,1,1,1,15,4,722Z,8680.0,1684901 +1100105,54,16849,2,20,1,-9,-9,6,1,1,15,4,0,0.0,1684902 +1100105,54,16850,1,20,1,24,6,1,1,1,15,4,722Z,8680.0,1685001 +1100105,54,16850,2,20,1,-9,-9,6,1,1,15,4,0,0.0,1685002 +1100105,54,16851,1,22,1,18,5,3,1,1,15,4,722Z,8680.0,1685101 +1100105,54,16851,2,21,2,15,1,1,1,1,15,4,5417,7460.0,1685102 +1100105,54,16852,1,20,1,24,6,1,1,1,15,4,722Z,8680.0,1685201 +1100105,54,16852,2,20,1,-9,-9,6,1,1,15,4,0,0.0,1685202 +1100105,54,16853,1,48,1,20,1,1,6,1,-9,4,722Z,8680.0,1685301 +1100105,54,16853,2,14,1,-9,-9,-9,6,1,10,-9,0,0.0,1685302 +1100105,54,16854,1,81,2,-9,-9,6,6,1,-9,4,0,0.0,1685401 +1100105,54,16854,2,84,1,-9,-9,6,6,1,-9,4,0,0.0,1685402 +1100105,54,16855,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1685501 +1100105,54,16855,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1685502 +1100105,54,16856,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1685601 +1100105,54,16856,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1685602 +1100105,54,16857,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1685701 +1100105,54,16857,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1685702 +1100105,54,16858,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1685801 +1100105,54,16858,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1685802 +1100105,54,16859,1,85,2,-9,-9,6,9,16,-9,4,0,0.0,1685901 +1100105,54,16859,2,87,2,-9,-9,6,9,16,-9,4,0,0.0,1685902 +1100105,54,16860,1,53,2,-9,-9,6,9,1,-9,4,0,0.0,1686001 +1100105,54,16860,2,44,2,-9,-9,6,1,1,-9,4,52M1,6870.0,1686002 +1100105,54,16861,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1686101 +1100105,54,16861,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,1686102 +1100105,54,16862,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1686201 +1100105,54,16862,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,1686202 +1100105,54,16863,1,50,2,-9,-9,6,6,1,-9,4,4MS,5790.0,1686301 +1100105,54,16863,2,22,2,-9,-9,6,6,1,15,4,0,0.0,1686302 +1100105,54,16864,1,58,2,-9,-9,6,1,1,-9,4,813M,9170.0,1686401 +1100105,54,16864,2,26,1,-9,-9,6,9,1,-9,4,0,0.0,1686402 +1100105,54,16865,1,58,2,-9,-9,6,1,1,-9,4,813M,9170.0,1686501 +1100105,54,16865,2,26,1,-9,-9,6,9,1,-9,4,0,0.0,1686502 +1100105,54,16866,1,25,2,-9,-9,6,6,1,16,4,0,0.0,1686601 +1100105,54,16866,2,23,2,-9,-9,6,6,1,16,4,0,0.0,1686602 +1100105,54,16867,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,1686701 +1100105,54,16867,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,1686702 +1100105,54,16868,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,1686801 +1100105,54,16868,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,1686802 +1100105,54,16869,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,1686901 +1100105,54,16869,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,1686902 +1100105,54,16870,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,1687001 +1100105,54,16870,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,1687002 +1100105,54,16871,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1687101 +1100105,54,16871,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1687102 +1100105,54,16872,1,22,2,-9,-9,6,1,1,15,4,0,0.0,1687201 +1100105,54,16872,2,22,2,-9,-9,6,1,1,15,4,0,0.0,1687202 +1100105,54,16873,1,25,2,10,5,6,1,1,16,4,611M1,7870.0,1687301 +1100105,54,16873,2,25,2,-9,-9,6,1,1,16,4,5411,7270.0,1687302 +1100105,54,16874,1,24,1,50,6,6,1,1,16,4,92M2,9570.0,1687401 +1100105,54,16874,2,23,1,50,6,6,1,1,16,4,92MP,9470.0,1687402 +1100105,54,16875,1,22,2,45,6,6,1,1,-9,4,531M,7071.0,1687501 +1100105,54,16875,2,22,2,40,4,3,1,1,-9,4,5614,7590.0,1687502 +1100105,54,16876,1,23,2,-9,-9,6,1,1,16,4,611M3,7890.0,1687601 +1100105,54,16876,2,24,2,-9,-9,6,1,1,16,4,813M,9170.0,1687602 +1100105,54,16877,1,22,2,-9,-9,6,1,1,15,4,0,0.0,1687701 +1100105,54,16877,2,22,2,-9,-9,6,1,1,15,4,0,0.0,1687702 +1100105,54,16878,1,22,2,-9,-9,6,1,1,15,4,0,0.0,1687801 +1100105,54,16878,2,22,2,-9,-9,6,1,1,15,4,0,0.0,1687802 +1100105,54,16879,1,33,2,40,3,6,1,1,-9,4,52M1,6870.0,1687901 +1100105,54,16879,2,24,2,-9,-9,6,1,1,-9,4,0,0.0,1687902 +1100105,54,16880,1,22,2,-9,-9,6,1,1,15,4,0,0.0,1688001 +1100105,54,16880,2,22,2,-9,-9,6,1,1,15,4,0,0.0,1688002 +1100105,54,16881,1,27,1,-9,-9,6,1,10,16,4,8139Z,9190.0,1688101 +1100105,54,16881,2,32,1,-9,-9,6,1,1,-9,4,7111,8561.0,1688102 +1100105,54,16882,1,23,1,35,1,3,8,2,-9,4,44511,4971.0,1688201 +1100105,54,16882,2,25,1,-9,-9,6,8,2,15,3,0,0.0,1688202 +1100105,54,16883,1,23,1,35,1,3,8,2,-9,4,44511,4971.0,1688301 +1100105,54,16883,2,25,1,-9,-9,6,8,2,15,3,0,0.0,1688302 +1100105,54,16884,1,70,2,40,1,1,2,1,-9,4,611M1,7870.0,1688401 +1100105,54,16885,1,68,2,80,1,1,1,1,-9,4,8139Z,9190.0,1688501 +1100105,54,16886,1,74,1,50,1,1,1,1,-9,4,5416,7390.0,1688601 +1100105,54,16887,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,1688701 +1100105,54,16888,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,1688801 +1100105,54,16889,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,1688901 +1100105,54,16890,1,66,2,45,1,1,1,1,-9,4,5416,7390.0,1689001 +1100105,54,16891,1,66,2,45,1,1,1,1,-9,4,5416,7390.0,1689101 +1100105,54,16892,1,40,2,52,1,1,9,1,-9,4,5415,7380.0,1689201 +1100105,54,16893,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,1689301 +1100105,54,16894,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,1689401 +1100105,54,16895,1,39,2,55,1,1,6,1,-9,4,5411,7270.0,1689501 +1100105,54,16896,1,35,1,99,2,1,6,1,-9,4,5416,7390.0,1689601 +1100105,54,16897,1,53,1,60,1,1,6,1,-9,4,23,770.0,1689701 +1100105,54,16898,1,63,2,60,1,1,2,1,-9,4,5416,7390.0,1689801 +1100105,54,16899,1,50,1,50,1,1,1,1,16,4,2211P,570.0,1689901 +1100105,54,16900,1,37,1,55,1,1,1,1,-9,4,5411,7270.0,1690001 +1100105,54,16901,1,56,1,55,1,1,1,1,-9,4,5416,7390.0,1690101 +1100105,54,16902,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1690201 +1100105,54,16903,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,1690301 +1100105,54,16904,1,55,2,70,1,1,1,1,-9,4,6214,8090.0,1690401 +1100105,54,16905,1,40,1,50,1,1,1,1,-9,4,522M,6890.0,1690501 +1100105,54,16906,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1690601 +1100105,54,16907,1,57,1,45,1,1,1,1,-9,4,5411,7270.0,1690701 +1100105,54,16908,1,50,1,55,1,1,1,1,-9,4,8139Z,9190.0,1690801 +1100105,54,16909,1,52,1,55,1,1,1,1,-9,4,611M1,7870.0,1690901 +1100105,54,16910,1,43,1,60,1,1,1,1,-9,4,621M,8180.0,1691001 +1100105,54,16911,1,51,1,50,1,1,1,1,-9,4,515,6670.0,1691101 +1100105,54,16912,1,48,1,50,1,1,1,1,-9,4,5415,7380.0,1691201 +1100105,54,16913,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,1691301 +1100105,54,16914,1,45,2,60,1,1,1,1,-9,4,813M,9170.0,1691401 +1100105,54,16915,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1691501 +1100105,54,16916,1,39,1,80,1,1,1,1,-9,4,5191ZM,6780.0,1691601 +1100105,54,16917,1,46,1,70,1,1,1,1,-9,4,515,6670.0,1691701 +1100105,54,16918,1,38,2,50,1,1,1,1,-9,4,52M2,6970.0,1691801 +1100105,54,16919,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1691901 +1100105,54,16920,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,1692001 +1100105,54,16921,1,37,1,55,1,1,1,1,-9,4,5411,7270.0,1692101 +1100105,54,16922,1,63,2,60,1,1,1,1,-9,4,5411,7270.0,1692201 +1100105,54,16923,1,57,2,60,1,1,1,1,-9,4,712,8570.0,1692301 +1100105,54,16924,1,48,1,60,1,1,1,1,-9,4,5411,7270.0,1692401 +1100105,54,16925,1,56,2,50,1,1,1,1,-9,4,92M1,9490.0,1692501 +1100105,54,16926,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,1692601 +1100105,54,16927,1,46,1,55,1,1,1,1,-9,4,8139Z,9190.0,1692701 +1100105,54,16928,1,57,1,45,1,1,1,1,-9,4,5411,7270.0,1692801 +1100105,54,16929,1,35,2,55,1,1,1,1,-9,4,52M2,6970.0,1692901 +1100105,54,16930,1,39,1,80,1,1,1,1,-9,4,5191ZM,6780.0,1693001 +1100105,54,16931,1,44,2,50,1,1,1,1,-9,4,5241,6991.0,1693101 +1100105,54,16932,1,43,2,60,1,1,1,1,-9,4,622M,8191.0,1693201 +1100105,54,16933,1,46,2,40,1,2,1,1,-9,4,5418,7470.0,1693301 +1100105,54,16934,1,61,2,40,1,1,1,1,-9,4,5416,7390.0,1693401 +1100105,54,16935,1,61,2,40,1,1,1,1,-9,4,8139Z,9190.0,1693501 +1100105,54,16936,1,60,1,32,1,1,1,1,-9,4,6212,7980.0,1693601 +1100105,54,16937,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1693701 +1100105,54,16938,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1693801 +1100105,54,16939,1,50,1,50,1,1,1,1,-9,4,52M2,6970.0,1693901 +1100105,54,16940,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,1694001 +1100105,54,16941,1,43,1,50,3,1,1,1,-9,4,6211,7970.0,1694101 +1100105,54,16942,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,1694201 +1100105,54,16943,1,38,2,50,1,1,1,1,-9,4,52M2,6970.0,1694301 +1100105,54,16944,1,47,2,40,1,1,1,1,-9,4,928P,9590.0,1694401 +1100105,54,16945,1,51,1,65,1,1,1,1,-9,4,622M,8191.0,1694501 +1100105,54,16946,1,38,1,40,1,1,1,1,-9,4,8139Z,9190.0,1694601 +1100105,54,16947,1,37,1,45,1,1,1,1,-9,4,52M1,6870.0,1694701 +1100105,54,16948,1,42,1,40,1,1,1,1,-9,4,531M,7071.0,1694801 +1100105,54,16949,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1694901 +1100105,54,16950,1,57,2,60,1,1,1,1,-9,4,712,8570.0,1695001 +1100105,54,16951,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,1695101 +1100105,54,16952,1,59,1,45,1,1,1,1,-9,4,92M1,9490.0,1695201 +1100105,54,16953,1,46,1,46,1,1,1,1,-9,4,5241,6991.0,1695301 +1100105,54,16954,1,62,2,20,5,1,1,2,-9,4,5121,6570.0,1695401 +1100105,54,16955,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,1695501 +1100105,54,16956,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,1695601 +1100105,54,16957,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,1695701 +1100105,54,16958,1,35,2,50,1,1,2,3,-9,4,6211,7970.0,1695801 +1100105,54,16959,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,1695901 +1100105,54,16960,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,1696001 +1100105,54,16961,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,1696101 +1100105,54,16962,1,33,1,50,1,1,6,1,-9,4,33641M1,3580.0,1696201 +1100105,54,16963,1,30,2,60,1,1,6,1,-9,4,5411,7270.0,1696301 +1100105,54,16964,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,1696401 +1100105,54,16965,1,31,2,60,1,1,1,1,-9,4,5411,7270.0,1696501 +1100105,54,16966,1,30,2,45,1,1,1,1,-9,4,5411,7270.0,1696601 +1100105,54,16967,1,32,1,60,1,1,1,1,-9,4,522M,6890.0,1696701 +1100105,54,16968,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,1696801 +1100105,54,16969,1,31,2,58,1,1,1,1,-9,4,5411,7270.0,1696901 +1100105,54,16970,1,28,2,55,1,1,1,1,-9,4,5411,7270.0,1697001 +1100105,54,16971,1,33,2,60,1,1,1,1,-9,4,5411,7270.0,1697101 +1100105,54,16972,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1697201 +1100105,54,16973,1,32,1,60,1,1,1,1,-9,4,522M,6890.0,1697301 +1100105,54,16974,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,1697401 +1100105,54,16975,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,1697501 +1100105,54,16976,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1697601 +1100105,54,16977,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,1697701 +1100105,54,16978,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1697801 +1100105,54,16979,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,1697901 +1100105,54,16980,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,1698001 +1100105,54,16981,1,65,2,-9,-9,6,1,1,-9,4,813M,9170.0,1698101 +1100105,54,16982,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1698201 +1100105,54,16983,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1698301 +1100105,54,16984,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1698401 +1100105,54,16985,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,1698501 +1100105,54,16986,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1698601 +1100105,54,16987,1,75,2,17,5,6,1,1,-9,4,813M,9170.0,1698701 +1100105,54,16988,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1698801 +1100105,54,16989,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1698901 +1100105,54,16990,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,1699001 +1100105,54,16991,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1699101 +1100105,54,16992,1,53,1,40,6,6,1,1,-9,4,44611,5070.0,1699201 +1100105,54,16993,1,38,2,-9,-9,3,1,1,-9,4,928P,9590.0,1699301 +1100105,54,16994,1,71,1,50,1,1,1,1,-9,4,5416,7390.0,1699401 +1100105,54,16995,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,1699501 +1100105,54,16996,1,76,1,60,1,1,1,1,-9,4,7111,8561.0,1699601 +1100105,54,16997,1,76,1,60,1,1,1,1,-9,4,7111,8561.0,1699701 +1100105,54,16998,1,47,1,50,1,1,9,1,-9,4,611M1,7870.0,1699801 +1100105,54,16999,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,1699901 +1100105,54,17000,1,48,2,40,1,1,6,1,-9,4,92119,9390.0,1700001 +1100105,54,17001,1,35,1,50,1,1,6,1,-9,4,5416,7390.0,1700101 +1100105,54,17002,1,55,2,40,1,1,2,1,-9,4,92MP,9470.0,1700201 +1100105,54,17003,1,48,2,40,1,1,1,1,-9,4,515,6670.0,1700301 +1100105,54,17004,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,1700401 +1100105,54,17005,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,1700501 +1100105,54,17006,1,50,2,70,1,1,1,1,-9,4,92M2,9570.0,1700601 +1100105,54,17007,1,60,2,50,1,1,1,1,-9,4,8139Z,9190.0,1700701 +1100105,54,17008,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,1700801 +1100105,54,17009,1,47,2,40,1,1,1,1,-9,4,92M2,9570.0,1700901 +1100105,54,17010,1,49,1,40,1,1,1,1,-9,4,923,9480.0,1701001 +1100105,54,17011,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,1701101 +1100105,54,17012,1,40,2,40,1,1,1,1,-9,4,813M,9170.0,1701201 +1100105,54,17013,1,43,1,60,1,4,1,1,-9,1,928110P4,9770.0,1701301 +1100105,54,17014,1,45,2,35,3,1,1,1,-9,4,813M,9170.0,1701401 +1100105,54,17015,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,1701501 +1100105,54,17016,1,60,2,60,1,1,1,1,-9,4,813M,9170.0,1701601 +1100105,54,17017,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,1701701 +1100105,54,17018,1,53,1,50,1,1,1,1,-9,4,4238,4270.0,1701801 +1100105,54,17019,1,43,2,50,1,1,1,1,-9,4,5416,7390.0,1701901 +1100105,54,17020,1,47,2,40,1,1,1,1,-9,4,923,9480.0,1702001 +1100105,54,17021,1,59,1,65,1,2,1,1,-9,4,5614,7590.0,1702101 +1100105,54,17022,1,47,2,40,1,1,1,1,-9,4,92M2,9570.0,1702201 +1100105,54,17023,1,58,2,40,1,1,1,1,-9,4,9211MP,9370.0,1702301 +1100105,54,17024,1,50,1,60,1,1,1,1,-9,4,611M3,7890.0,1702401 +1100105,54,17025,1,43,2,50,1,1,1,1,-9,4,4247,4490.0,1702501 +1100105,54,17026,1,60,1,45,1,1,1,1,-9,4,5416,7390.0,1702601 +1100105,54,17027,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,1702701 +1100105,54,17028,1,37,1,55,1,1,1,3,-9,4,5416,7390.0,1702801 +1100105,54,17029,1,39,1,45,1,1,1,3,-9,4,5415,7380.0,1702901 +1100105,54,17030,1,26,2,48,1,1,6,1,-9,4,5411,7270.0,1703001 +1100105,54,17031,1,32,2,35,1,1,6,1,16,4,5411,7270.0,1703101 +1100105,54,17032,1,34,2,35,1,1,2,1,-9,4,5411,7270.0,1703201 +1100105,54,17033,1,27,1,65,1,1,1,1,-9,4,5411,7270.0,1703301 +1100105,54,17034,1,33,1,40,1,1,1,1,-9,2,5411,7270.0,1703401 +1100105,54,17035,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1703501 +1100105,54,17036,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,1703601 +1100105,54,17037,1,33,1,60,1,1,1,1,-9,4,515,6670.0,1703701 +1100105,54,17038,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,1703801 +1100105,54,17039,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,1703901 +1100105,54,17040,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,1704001 +1100105,54,17041,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,1704101 +1100105,54,17042,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,1704201 +1100105,54,17043,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1704301 +1100105,54,17044,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,1704401 +1100105,54,17045,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,1704501 +1100105,54,17046,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,1704601 +1100105,54,17047,1,28,1,20,1,1,1,1,-9,4,5615,7670.0,1704701 +1100105,54,17048,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1704801 +1100105,54,17049,1,33,1,60,1,1,1,1,-9,4,515,6670.0,1704901 +1100105,54,17050,1,34,2,50,1,1,1,1,-9,4,522M,6890.0,1705001 +1100105,54,17051,1,25,2,40,1,1,1,1,-9,4,5416,7390.0,1705101 +1100105,54,17052,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,1705201 +1100105,54,17053,1,29,2,50,1,1,1,1,-9,4,5241,6991.0,1705301 +1100105,54,17054,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,1705401 +1100105,54,17055,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1705501 +1100105,54,17056,1,51,1,60,3,3,1,1,-9,4,3254,2190.0,1705601 +1100105,54,17057,1,70,1,40,1,1,2,1,-9,4,5413,7290.0,1705701 +1100105,54,17058,1,66,2,40,1,1,1,1,16,4,6111,7860.0,1705801 +1100105,54,17059,1,83,1,18,5,1,1,1,-9,2,5411,7270.0,1705901 +1100105,54,17060,1,67,2,32,1,1,1,1,-9,4,5416,7390.0,1706001 +1100105,54,17061,1,66,2,40,1,1,1,1,16,4,6111,7860.0,1706101 +1100105,54,17062,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,1706201 +1100105,54,17063,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,1706301 +1100105,54,17064,1,39,2,50,1,1,9,1,-9,4,813M,9170.0,1706401 +1100105,54,17065,1,44,2,40,1,1,9,1,-9,4,813M,9170.0,1706501 +1100105,54,17066,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,1706601 +1100105,54,17067,1,35,2,55,1,1,9,1,-9,4,928P,9590.0,1706701 +1100105,54,17068,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,1706801 +1100105,54,17069,1,46,2,55,1,1,6,1,-9,4,5613,7580.0,1706901 +1100105,54,17070,1,40,1,40,1,1,6,1,-9,4,7211,8660.0,1707001 +1100105,54,17071,1,35,1,60,1,1,6,1,-9,4,5415,7380.0,1707101 +1100105,54,17072,1,38,1,50,1,1,6,1,-9,4,5415,7380.0,1707201 +1100105,54,17073,1,40,1,40,1,1,6,1,-9,4,7211,8660.0,1707301 +1100105,54,17074,1,37,1,40,1,1,6,1,-9,4,515,6670.0,1707401 +1100105,54,17075,1,35,2,60,1,1,6,1,-9,4,488,6290.0,1707501 +1100105,54,17076,1,36,1,50,1,1,6,1,15,4,813M,9170.0,1707601 +1100105,54,17077,1,35,2,50,1,1,2,1,-9,4,5416,7390.0,1707701 +1100105,54,17078,1,36,1,50,1,1,1,1,16,2,928P,9590.0,1707801 +1100105,54,17079,1,42,2,52,1,1,1,1,-9,4,5417,7460.0,1707901 +1100105,54,17080,1,46,2,45,1,1,1,1,-9,4,8139Z,9190.0,1708001 +1100105,54,17081,1,40,1,40,1,1,1,1,-9,4,923,9480.0,1708101 +1100105,54,17082,1,39,2,40,1,1,1,1,-9,4,6241,8370.0,1708201 +1100105,54,17083,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,1708301 +1100105,54,17084,1,38,2,50,1,1,1,1,-9,4,561M,7780.0,1708401 +1100105,54,17085,1,62,2,50,1,1,1,1,-9,4,928P,9590.0,1708501 +1100105,54,17086,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,1708601 +1100105,54,17087,1,58,1,40,1,1,1,1,-9,4,92M1,9490.0,1708701 +1100105,54,17088,1,60,1,40,1,1,1,1,-9,4,814,9290.0,1708801 +1100105,54,17089,1,43,1,60,2,1,1,1,-9,4,92MP,9470.0,1708901 +1100105,54,17090,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,1709001 +1100105,54,17091,1,35,1,45,1,1,1,1,-9,4,923,9480.0,1709101 +1100105,54,17092,1,43,2,40,1,1,1,1,-9,4,5416,7390.0,1709201 +1100105,54,17093,1,47,1,35,1,1,1,1,-9,4,611M1,7870.0,1709301 +1100105,54,17094,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,1709401 +1100105,54,17095,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,1709501 +1100105,54,17096,1,36,1,80,1,1,1,1,-9,4,6111,7860.0,1709601 +1100105,54,17097,1,47,1,50,1,1,1,1,-9,4,6241,8370.0,1709701 +1100105,54,17098,1,54,1,40,1,1,1,1,-9,4,813M,9170.0,1709801 +1100105,54,17099,1,38,1,45,1,1,1,1,-9,4,5416,7390.0,1709901 +1100105,54,17100,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,1710001 +1100105,54,17101,1,39,2,40,1,1,1,1,-9,4,9211MP,9370.0,1710101 +1100105,54,17102,1,52,1,50,1,1,1,1,-9,4,611M1,7870.0,1710201 +1100105,54,17103,1,58,1,40,1,1,1,1,-9,4,813M,9170.0,1710301 +1100105,54,17104,1,39,2,40,1,1,1,1,-9,4,6241,8370.0,1710401 +1100105,54,17105,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,1710501 +1100105,54,17106,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,1710601 +1100105,54,17107,1,42,1,40,1,1,1,1,-9,4,5416,7390.0,1710701 +1100105,54,17108,1,35,1,40,1,1,1,1,-9,4,8139Z,9190.0,1710801 +1100105,54,17109,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,1710901 +1100105,54,17110,1,42,1,50,1,1,1,1,-9,4,928P,9590.0,1711001 +1100105,54,17111,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,1711101 +1100105,54,17112,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1711201 +1100105,54,17113,1,54,1,40,1,1,1,1,-9,4,923,9480.0,1711301 +1100105,54,17114,1,38,1,45,1,1,1,1,-9,4,5416,7390.0,1711401 +1100105,54,17115,1,49,1,40,1,1,1,1,-9,4,5415,7380.0,1711501 +1100105,54,17116,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,1711601 +1100105,54,17117,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,1711701 +1100105,54,17118,1,36,1,40,1,1,1,1,-9,4,813M,9170.0,1711801 +1100105,54,17119,1,43,1,60,1,1,1,1,-9,4,6111,7860.0,1711901 +1100105,54,17120,1,38,2,50,1,1,1,1,-9,4,561M,7780.0,1712001 +1100105,54,17121,1,54,2,40,1,1,1,1,-9,4,515,6670.0,1712101 +1100105,54,17122,1,58,2,50,1,1,1,1,-9,4,23,770.0,1712201 +1100105,54,17123,1,35,2,40,1,1,1,1,-9,4,5418,7470.0,1712301 +1100105,54,17124,1,44,2,50,1,1,1,1,-9,4,5416,7390.0,1712401 +1100105,54,17125,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,1712501 +1100105,54,17126,1,38,2,55,1,1,1,1,-9,4,8139Z,9190.0,1712601 +1100105,54,17127,1,38,1,40,1,1,1,1,-9,4,712,8570.0,1712701 +1100105,54,17128,1,52,1,45,1,1,1,1,-9,4,928P,9590.0,1712801 +1100105,54,17129,1,58,2,50,1,1,1,1,-9,4,23,770.0,1712901 +1100105,54,17130,1,40,2,45,1,1,1,1,-9,4,813M,9170.0,1713001 +1100105,54,17131,1,38,1,50,1,1,1,1,-9,4,443142,4795.0,1713101 +1100105,54,17132,1,53,2,40,1,1,1,1,-9,4,522M,6890.0,1713201 +1100105,54,17133,1,39,2,60,1,1,1,1,15,4,923,9480.0,1713301 +1100105,54,17134,1,62,1,50,1,1,1,1,-9,4,5191ZM,6780.0,1713401 +1100105,54,17135,1,60,1,40,1,1,1,1,-9,4,23,770.0,1713501 +1100105,54,17136,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,1713601 +1100105,54,17137,1,37,1,40,1,1,1,1,-9,4,923,9480.0,1713701 +1100105,54,17138,1,51,1,40,1,1,1,1,-9,4,23,770.0,1713801 +1100105,54,17139,1,35,1,45,1,1,1,1,-9,4,923,9480.0,1713901 +1100105,54,17140,1,44,1,55,1,1,1,1,-9,4,92MP,9470.0,1714001 +1100105,54,17141,1,54,1,40,1,1,1,1,-9,4,813M,9170.0,1714101 +1100105,54,17142,1,35,1,40,1,1,1,1,-9,4,8139Z,9190.0,1714201 +1100105,54,17143,1,40,1,40,1,1,1,1,-9,4,5415,7380.0,1714301 +1100105,54,17144,1,35,2,40,1,1,1,1,-9,4,928P,9590.0,1714401 +1100105,54,17145,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,1714501 +1100105,54,17146,1,46,1,40,1,1,1,1,-9,4,928P,9590.0,1714601 +1100105,54,17147,1,51,1,40,1,1,1,1,-9,4,23,770.0,1714701 +1100105,54,17148,1,52,2,40,1,1,1,1,-9,4,92M2,9570.0,1714801 +1100105,54,17149,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,1714901 +1100105,54,17150,1,36,2,90,1,1,1,2,-9,4,813M,9170.0,1715001 +1100105,54,17151,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,1715101 +1100105,54,17152,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,1715201 +1100105,54,17153,1,49,1,50,2,1,1,3,-9,4,517311,6680.0,1715301 +1100105,54,17154,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,1715401 +1100105,54,17155,1,39,2,45,1,1,1,23,-9,4,51111,6470.0,1715501 +1100105,54,17156,1,44,1,40,1,1,1,16,-9,2,23,770.0,1715601 +1100105,54,17157,1,39,1,42,1,1,1,2,-9,2,9211MP,9370.0,1715701 +1100105,54,17158,1,31,1,40,1,1,9,1,-9,4,53M,7190.0,1715801 +1100105,54,17159,1,31,1,40,1,1,9,1,-9,4,53M,7190.0,1715901 +1100105,54,17160,1,30,2,60,1,1,9,1,-9,4,5182,6695.0,1716001 +1100105,54,17161,1,34,2,40,1,1,6,1,-9,4,622M,8191.0,1716101 +1100105,54,17162,1,31,1,40,1,1,6,1,-9,4,53M,7190.0,1716201 +1100105,54,17163,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1716301 +1100105,54,17164,1,31,1,40,1,1,6,1,-9,4,53M,7190.0,1716401 +1100105,54,17165,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1716501 +1100105,54,17166,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,1716601 +1100105,54,17167,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,1716701 +1100105,54,17168,1,30,1,40,1,1,1,1,-9,4,5416,7390.0,1716801 +1100105,54,17169,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1716901 +1100105,54,17170,1,31,2,40,1,1,1,1,-9,4,5413,7290.0,1717001 +1100105,54,17171,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,1717101 +1100105,54,17172,1,29,2,45,1,1,1,1,-9,4,813M,9170.0,1717201 +1100105,54,17173,1,29,2,50,1,1,1,1,-9,4,531M,7071.0,1717301 +1100105,54,17174,1,33,1,40,1,1,1,1,-9,4,928P,9590.0,1717401 +1100105,54,17175,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,1717501 +1100105,54,17176,1,29,2,60,1,1,1,1,-9,4,5412,7280.0,1717601 +1100105,54,17177,1,30,2,50,1,1,1,1,-9,4,522M,6890.0,1717701 +1100105,54,17178,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,1717801 +1100105,54,17179,1,31,1,60,1,1,1,1,16,4,5415,7380.0,1717901 +1100105,54,17180,1,31,1,40,1,1,1,1,-9,4,92MP,9470.0,1718001 +1100105,54,17181,1,30,2,50,1,1,1,1,-9,4,522M,6890.0,1718101 +1100105,54,17182,1,33,1,40,3,1,1,1,-9,4,928P,9590.0,1718201 +1100105,54,17183,1,33,1,40,1,1,1,1,-9,4,928P,9590.0,1718301 +1100105,54,17184,1,29,1,40,1,1,1,1,16,4,5412,7280.0,1718401 +1100105,54,17185,1,27,1,60,1,1,1,1,-9,4,5419Z,7490.0,1718501 +1100105,54,17186,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1718601 +1100105,54,17187,1,32,2,50,1,1,1,1,-9,4,5416,7390.0,1718701 +1100105,54,17188,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,1718801 +1100105,54,17189,1,32,2,50,1,1,1,1,-9,4,52M2,6970.0,1718901 +1100105,54,17190,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,1719001 +1100105,54,17191,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,1719101 +1100105,54,17192,1,27,1,40,1,1,1,1,16,4,52M2,6970.0,1719201 +1100105,54,17193,1,32,1,45,1,1,1,1,-9,4,928P,9590.0,1719301 +1100105,54,17194,1,26,2,40,1,1,1,1,-9,4,5416,7390.0,1719401 +1100105,54,17195,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,1719501 +1100105,54,17196,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1719601 +1100105,54,17197,1,33,1,40,1,1,1,1,16,4,5412,7280.0,1719701 +1100105,54,17198,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1719801 +1100105,54,17199,1,33,1,55,1,1,1,1,-9,2,92MP,9470.0,1719901 +1100105,54,17200,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1720001 +1100105,54,17201,1,30,1,40,1,1,1,1,-9,4,8139Z,9190.0,1720101 +1100105,54,17202,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,1720201 +1100105,54,17203,1,30,1,40,1,1,1,1,-9,4,5416,7390.0,1720301 +1100105,54,17204,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,1720401 +1100105,54,17205,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,1720501 +1100105,54,17206,1,32,2,60,1,1,1,1,-9,4,5418,7470.0,1720601 +1100105,54,17207,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1720701 +1100105,54,17208,1,31,2,40,1,1,1,1,-9,4,923,9480.0,1720801 +1100105,54,17209,1,31,1,42,1,1,1,1,-9,4,8139Z,9190.0,1720901 +1100105,54,17210,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,1721001 +1100105,54,17211,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,1721101 +1100105,54,17212,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,1721201 +1100105,54,17213,1,28,1,40,1,1,1,1,-9,4,92113,9380.0,1721301 +1100105,54,17214,1,33,1,40,3,1,1,1,-9,4,928P,9590.0,1721401 +1100105,54,17215,1,26,1,40,1,1,1,1,-9,4,52M2,6970.0,1721501 +1100105,54,17216,1,29,1,50,1,1,1,1,-9,4,5418,7470.0,1721601 +1100105,54,17217,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,1721701 +1100105,54,17218,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,1721801 +1100105,54,17219,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,1721901 +1100105,54,17220,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,1722001 +1100105,54,17221,1,29,2,40,1,1,1,2,-9,4,928P,9590.0,1722101 +1100105,54,17222,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,1722201 +1100105,54,17223,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,1722301 +1100105,54,17224,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,1722401 +1100105,54,17225,1,32,2,40,1,1,9,11,-9,4,813M,9170.0,1722501 +1100105,54,17226,1,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,1722601 +1100105,54,17227,1,77,2,-9,-9,6,1,1,-9,4,5412,7280.0,1722701 +1100105,54,17228,1,67,2,-9,-9,6,1,1,-9,4,5416,7390.0,1722801 +1100105,54,17229,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,1722901 +1100105,54,17230,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,1723001 +1100105,54,17231,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,1723101 +1100105,54,17232,1,68,1,-9,-9,6,1,1,-9,4,928P,9590.0,1723201 +1100105,54,17233,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1723301 +1100105,54,17234,1,65,1,-9,-9,6,1,1,-9,2,92M2,9570.0,1723401 +1100105,54,17235,1,60,2,-9,-9,6,1,1,-9,4,447,5090.0,1723501 +1100105,54,17236,1,34,1,60,1,3,9,1,-9,4,5416,7390.0,1723601 +1100105,54,17237,1,65,2,40,1,1,2,1,-9,4,5411,7270.0,1723701 +1100105,54,17238,1,70,1,40,6,1,1,1,-9,4,5411,7270.0,1723801 +1100105,54,17239,1,71,1,56,5,1,1,1,-9,4,5416,7390.0,1723901 +1100105,54,17240,1,65,2,12,4,1,1,1,-9,4,6111,7860.0,1724001 +1100105,54,17241,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1724101 +1100105,54,17242,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1724201 +1100105,54,17243,1,76,2,8,3,1,1,1,-9,4,6211,7970.0,1724301 +1100105,54,17244,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1724401 +1100105,54,17245,1,70,1,40,6,1,1,1,-9,4,5411,7270.0,1724501 +1100105,54,17246,1,74,2,8,3,1,1,1,-9,4,5613,7580.0,1724601 +1100105,54,17247,1,70,1,12,1,1,1,1,-9,2,8131,9160.0,1724701 +1100105,54,17248,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,1724801 +1100105,54,17249,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1724901 +1100105,54,17250,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1725001 +1100105,54,17251,1,46,2,40,3,1,9,1,-9,4,5191ZM,6780.0,1725101 +1100105,54,17252,1,42,2,30,4,1,6,1,-9,4,813M,9170.0,1725201 +1100105,54,17253,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,1725301 +1100105,54,17254,1,55,2,40,1,1,6,1,-9,4,92113,9380.0,1725401 +1100105,54,17255,1,42,2,30,4,1,6,1,-9,4,813M,9170.0,1725501 +1100105,54,17256,1,53,1,40,1,1,6,1,-9,4,712,8570.0,1725601 +1100105,54,17257,1,36,1,40,1,1,6,1,-9,4,813M,9170.0,1725701 +1100105,54,17258,1,48,1,40,1,1,6,1,-9,4,622M,8191.0,1725801 +1100105,54,17259,1,45,2,60,1,1,6,1,-9,4,5414,7370.0,1725901 +1100105,54,17260,1,36,1,40,1,1,6,1,-9,4,813M,9170.0,1726001 +1100105,54,17261,1,64,2,40,1,1,2,1,-9,4,92119,9390.0,1726101 +1100105,54,17262,1,48,1,40,1,1,2,1,-9,4,722Z,8680.0,1726201 +1100105,54,17263,1,59,2,40,1,1,1,1,-9,4,713Z,8590.0,1726301 +1100105,54,17264,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,1726401 +1100105,54,17265,1,39,1,48,1,1,1,1,-9,4,928P,9590.0,1726501 +1100105,54,17266,1,37,2,45,1,1,1,1,-9,4,813M,9170.0,1726601 +1100105,54,17267,1,60,1,40,1,1,1,1,-9,4,5417,7460.0,1726701 +1100105,54,17268,1,56,1,40,1,1,1,1,-9,4,8139Z,9190.0,1726801 +1100105,54,17269,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,1726901 +1100105,54,17270,1,35,1,50,2,1,1,1,-9,4,928P,9590.0,1727001 +1100105,54,17271,1,57,2,55,1,1,1,1,-9,3,6111,7860.0,1727101 +1100105,54,17272,1,54,1,46,1,1,1,1,-9,4,6213ZM,8080.0,1727201 +1100105,54,17273,1,60,1,40,1,1,1,1,-9,4,5417,7460.0,1727301 +1100105,54,17274,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,1727401 +1100105,54,17275,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,1727501 +1100105,54,17276,1,38,2,40,1,1,1,1,-9,4,515,6670.0,1727601 +1100105,54,17277,1,37,2,40,1,1,1,1,-9,4,92119,9390.0,1727701 +1100105,54,17278,1,55,1,40,3,1,1,1,-9,2,531M,7071.0,1727801 +1100105,54,17279,1,49,2,40,1,1,1,1,-9,4,6111,7860.0,1727901 +1100105,54,17280,1,51,1,40,1,1,1,1,-9,4,561M,7780.0,1728001 +1100105,54,17281,1,38,2,40,1,1,1,1,-9,4,515,6670.0,1728101 +1100105,54,17282,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,1728201 +1100105,54,17283,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,1728301 +1100105,54,17284,1,36,1,60,1,1,1,1,-9,4,6111,7860.0,1728401 +1100105,54,17285,1,36,1,50,1,1,1,1,-9,4,517311,6680.0,1728501 +1100105,54,17286,1,48,2,40,1,1,1,1,16,4,611M1,7870.0,1728601 +1100105,54,17287,1,48,1,45,1,1,1,1,-9,4,813M,9170.0,1728701 +1100105,54,17288,1,56,2,40,1,1,1,1,-9,4,923,9480.0,1728801 +1100105,54,17289,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,1728901 +1100105,54,17290,1,38,2,40,1,1,1,1,-9,4,515,6670.0,1729001 +1100105,54,17291,1,62,1,43,1,1,1,1,-9,4,22S,690.0,1729101 +1100105,54,17292,1,47,2,50,1,1,1,1,-9,4,611M1,7870.0,1729201 +1100105,54,17293,1,61,2,55,1,1,1,1,-9,4,33641M1,3580.0,1729301 +1100105,54,17294,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,1729401 +1100105,54,17295,1,52,2,40,4,1,1,1,-9,2,813M,9170.0,1729501 +1100105,54,17296,1,45,1,45,1,1,1,1,-9,4,928P,9590.0,1729601 +1100105,54,17297,1,38,1,40,1,1,1,1,-9,4,928P,9590.0,1729701 +1100105,54,17298,1,55,2,40,1,1,1,1,-9,4,51912,6770.0,1729801 +1100105,54,17299,1,52,2,40,4,1,1,1,-9,2,813M,9170.0,1729901 +1100105,54,17300,1,55,2,70,1,1,1,1,-9,4,814,9290.0,1730001 +1100105,54,17301,1,35,2,40,1,1,1,1,-9,4,531M,7071.0,1730101 +1100105,54,17302,1,42,1,40,1,1,1,1,-9,4,9211MP,9370.0,1730201 +1100105,54,17303,1,57,2,55,1,1,1,1,-9,3,6111,7860.0,1730301 +1100105,54,17304,1,57,1,50,1,1,1,1,-9,4,722Z,8680.0,1730401 +1100105,54,17305,1,49,2,40,1,1,1,1,-9,4,6111,7860.0,1730501 +1100105,54,17306,1,61,2,50,1,1,1,23,16,4,6111,7860.0,1730601 +1100105,54,17307,1,38,1,45,1,1,1,13,-9,4,8139Z,9190.0,1730701 +1100105,54,17308,1,38,2,60,1,1,8,2,-9,4,81393,9180.0,1730801 +1100105,54,17309,1,39,1,50,1,1,1,2,-9,4,481,6070.0,1730901 +1100105,54,17310,1,48,1,40,1,1,1,6,-9,4,531M,7071.0,1731001 +1100105,54,17311,1,39,1,50,1,1,1,2,-9,4,481,6070.0,1731101 +1100105,54,17312,1,39,1,50,1,1,1,2,-9,4,481,6070.0,1731201 +1100105,54,17313,1,44,2,40,1,1,1,21,-9,4,52M2,6970.0,1731301 +1100105,54,17314,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,1731401 +1100105,54,17315,1,32,2,55,1,1,9,1,-9,4,5415,7380.0,1731501 +1100105,54,17316,1,27,2,40,2,1,9,1,-9,4,923,9480.0,1731601 +1100105,54,17317,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1731701 +1100105,54,17318,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1731801 +1100105,54,17319,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,1731901 +1100105,54,17320,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,1732001 +1100105,54,17321,1,27,1,45,1,1,9,1,-9,4,813M,9170.0,1732101 +1100105,54,17322,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,1732201 +1100105,54,17323,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,1732301 +1100105,54,17324,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,1732401 +1100105,54,17325,1,32,2,47,1,1,9,1,-9,4,928P,9590.0,1732501 +1100105,54,17326,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,1732601 +1100105,54,17327,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1732701 +1100105,54,17328,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,1732801 +1100105,54,17329,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,1732901 +1100105,54,17330,1,31,1,50,1,1,6,1,-9,4,622M,8191.0,1733001 +1100105,54,17331,1,25,2,40,1,1,6,1,-9,4,5416,7390.0,1733101 +1100105,54,17332,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,1733201 +1100105,54,17333,1,30,1,42,1,1,6,1,-9,4,813M,9170.0,1733301 +1100105,54,17334,1,32,2,38,1,1,6,1,-9,4,928P,9590.0,1733401 +1100105,54,17335,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,1733501 +1100105,54,17336,1,26,2,40,1,1,6,1,-9,4,813M,9170.0,1733601 +1100105,54,17337,1,22,2,70,1,1,6,1,-9,4,5416,7390.0,1733701 +1100105,54,17338,1,32,1,80,1,1,6,1,-9,4,622M,8191.0,1733801 +1100105,54,17339,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,1733901 +1100105,54,17340,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,1734001 +1100105,54,17341,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,1734101 +1100105,54,17342,1,29,1,50,1,1,6,1,-9,4,9211MP,9370.0,1734201 +1100105,54,17343,1,28,2,45,1,1,6,1,-9,4,92M1,9490.0,1734301 +1100105,54,17344,1,30,1,42,1,1,6,1,-9,4,813M,9170.0,1734401 +1100105,54,17345,1,25,2,50,4,1,6,1,-9,4,5411,7270.0,1734501 +1100105,54,17346,1,29,2,50,1,1,2,1,16,4,5241,6991.0,1734601 +1100105,54,17347,1,29,2,50,1,1,2,1,16,4,5241,6991.0,1734701 +1100105,54,17348,1,26,2,50,1,1,1,1,-9,4,5417,7460.0,1734801 +1100105,54,17349,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,1734901 +1100105,54,17350,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,1735001 +1100105,54,17351,1,28,2,35,1,1,1,1,-9,4,6216,8170.0,1735101 +1100105,54,17352,1,34,2,55,1,1,1,1,15,4,515,6670.0,1735201 +1100105,54,17353,1,28,2,54,1,1,1,1,-9,4,5416,7390.0,1735301 +1100105,54,17354,1,27,2,45,1,1,1,1,-9,4,611M1,7870.0,1735401 +1100105,54,17355,1,28,2,40,1,1,1,1,-9,4,611M1,7870.0,1735501 +1100105,54,17356,1,33,1,40,1,4,1,1,16,1,928110P2,9680.0,1735601 +1100105,54,17357,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,1735701 +1100105,54,17358,1,29,2,60,1,1,1,1,-9,4,5415,7380.0,1735801 +1100105,54,17359,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1735901 +1100105,54,17360,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,1736001 +1100105,54,17361,1,29,1,40,1,1,1,1,-9,4,5417,7460.0,1736101 +1100105,54,17362,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,1736201 +1100105,54,17363,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,1736301 +1100105,54,17364,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,1736401 +1100105,54,17365,1,27,2,37,1,1,1,1,-9,4,622M,8191.0,1736501 +1100105,54,17366,1,24,2,40,1,1,1,1,16,4,5416,7390.0,1736601 +1100105,54,17367,1,32,2,50,1,1,1,1,-9,4,813M,9170.0,1736701 +1100105,54,17368,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1736801 +1100105,54,17369,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1736901 +1100105,54,17370,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,1737001 +1100105,54,17371,1,32,1,50,1,1,1,1,-9,4,424M,4380.0,1737101 +1100105,54,17372,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,1737201 +1100105,54,17373,1,25,2,50,1,1,1,1,-9,4,5416,7390.0,1737301 +1100105,54,17374,1,31,2,50,1,1,1,1,-9,4,92MP,9470.0,1737401 +1100105,54,17375,1,29,2,45,1,1,1,1,-9,4,5417,7460.0,1737501 +1100105,54,17376,1,28,2,40,1,1,1,1,-9,4,92M2,9570.0,1737601 +1100105,54,17377,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,1737701 +1100105,54,17378,1,29,2,45,1,1,1,1,-9,4,5418,7470.0,1737801 +1100105,54,17379,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1737901 +1100105,54,17380,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,1738001 +1100105,54,17381,1,29,2,45,1,1,1,1,-9,4,5415,7380.0,1738101 +1100105,54,17382,1,29,2,50,1,1,1,1,-9,4,611M1,7870.0,1738201 +1100105,54,17383,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,1738301 +1100105,54,17384,1,28,2,48,2,1,1,1,-9,4,928P,9590.0,1738401 +1100105,54,17385,1,27,2,40,1,1,1,1,-9,4,923,9480.0,1738501 +1100105,54,17386,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,1738601 +1100105,54,17387,1,27,2,45,3,1,1,1,-9,4,5419Z,7490.0,1738701 +1100105,54,17388,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,1738801 +1100105,54,17389,1,25,2,50,1,1,1,1,-9,4,5416,7390.0,1738901 +1100105,54,17390,1,31,2,42,1,1,1,1,-9,4,92MP,9470.0,1739001 +1100105,54,17391,1,26,1,40,1,1,1,1,-9,4,928P,9590.0,1739101 +1100105,54,17392,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,1739201 +1100105,54,17393,1,28,1,60,1,4,1,1,-9,1,928110P3,9690.0,1739301 +1100105,54,17394,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1739401 +1100105,54,17395,1,27,2,40,1,1,1,1,-9,4,522M,6890.0,1739501 +1100105,54,17396,1,29,2,60,1,1,1,1,-9,4,622M,8191.0,1739601 +1100105,54,17397,1,33,2,40,1,1,1,1,-9,4,211,370.0,1739701 +1100105,54,17398,1,29,2,47,1,1,1,1,-9,4,9211MP,9370.0,1739801 +1100105,54,17399,1,27,2,40,1,1,1,1,-9,4,51912,6770.0,1739901 +1100105,54,17400,1,31,2,60,1,1,1,1,-9,4,6111,7860.0,1740001 +1100105,54,17401,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1740101 +1100105,54,17402,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,1740201 +1100105,54,17403,1,26,2,50,1,1,1,1,-9,4,5417,7460.0,1740301 +1100105,54,17404,1,24,1,60,1,1,1,1,-9,4,5416,7390.0,1740401 +1100105,54,17405,1,32,2,50,1,1,1,1,-9,4,813M,9170.0,1740501 +1100105,54,17406,1,27,2,55,1,1,1,1,16,4,813M,9170.0,1740601 +1100105,54,17407,1,27,2,55,1,1,1,1,16,4,813M,9170.0,1740701 +1100105,54,17408,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,1740801 +1100105,54,17409,1,33,1,50,1,1,1,1,-9,4,5413,7290.0,1740901 +1100105,54,17410,1,33,1,40,1,1,1,1,-9,4,55,7570.0,1741001 +1100105,54,17411,1,28,2,35,1,1,1,1,-9,4,6216,8170.0,1741101 +1100105,54,17412,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1741201 +1100105,54,17413,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,1741301 +1100105,54,17414,1,29,1,45,1,1,1,1,-9,4,561M,7780.0,1741401 +1100105,54,17415,1,30,1,42,1,1,1,1,-9,4,51912,6770.0,1741501 +1100105,54,17416,1,29,1,65,1,1,1,1,-9,4,5416,7390.0,1741601 +1100105,54,17417,1,34,2,38,1,1,1,1,-9,4,611M3,7890.0,1741701 +1100105,54,17418,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,1741801 +1100105,54,17419,1,23,2,45,1,1,1,1,-9,4,611M1,7870.0,1741901 +1100105,54,17420,1,31,2,45,1,1,1,1,16,4,5416,7390.0,1742001 +1100105,54,17421,1,31,2,42,1,1,1,1,-9,4,92MP,9470.0,1742101 +1100105,54,17422,1,26,2,40,1,1,1,1,-9,4,52M2,6970.0,1742201 +1100105,54,17423,1,28,2,45,1,1,1,1,-9,4,8139Z,9190.0,1742301 +1100105,54,17424,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,1742401 +1100105,54,17425,1,31,2,50,1,1,1,1,-9,4,92MP,9470.0,1742501 +1100105,54,17426,1,33,1,40,1,1,1,1,-9,4,5411,7270.0,1742601 +1100105,54,17427,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1742701 +1100105,54,17428,1,30,1,40,1,1,1,1,-9,4,5417,7460.0,1742801 +1100105,54,17429,1,29,2,50,1,1,1,1,-9,4,611M1,7870.0,1742901 +1100105,54,17430,1,27,2,37,1,1,1,1,-9,4,622M,8191.0,1743001 +1100105,54,17431,1,33,2,40,1,1,1,1,-9,4,211,370.0,1743101 +1100105,54,17432,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,1743201 +1100105,54,17433,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1743301 +1100105,54,17434,1,24,2,45,2,1,1,1,-9,4,81393,9180.0,1743401 +1100105,54,17435,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,1743501 +1100105,54,17436,1,33,2,40,1,1,1,1,-9,4,211,370.0,1743601 +1100105,54,17437,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1743701 +1100105,54,17438,1,29,2,55,1,1,1,1,-9,4,712,8570.0,1743801 +1100105,54,17439,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,1743901 +1100105,54,17440,1,27,2,40,1,1,1,1,-9,4,92M1,9490.0,1744001 +1100105,54,17441,1,29,2,45,1,1,1,1,-9,4,5415,7380.0,1744101 +1100105,54,17442,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,1744201 +1100105,54,17443,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,1744301 +1100105,54,17444,1,23,2,45,5,1,1,1,-9,4,5416,7390.0,1744401 +1100105,54,17445,1,29,2,45,1,1,1,1,-9,4,5415,7380.0,1744501 +1100105,54,17446,1,29,1,65,1,1,1,1,-9,4,5416,7390.0,1744601 +1100105,54,17447,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,1744701 +1100105,54,17448,1,33,2,40,1,1,1,1,-9,4,211,370.0,1744801 +1100105,54,17449,1,31,2,42,1,1,1,1,-9,4,92MP,9470.0,1744901 +1100105,54,17450,1,28,1,45,1,1,1,1,-9,4,531M,7071.0,1745001 +1100105,54,17451,1,32,1,50,1,1,1,1,-9,4,424M,4380.0,1745101 +1100105,54,17452,1,27,2,40,1,1,1,1,-9,4,522M,6890.0,1745201 +1100105,54,17453,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,1745301 +1100105,54,17454,1,29,1,65,1,1,1,1,-9,4,5416,7390.0,1745401 +1100105,54,17455,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1745501 +1100105,54,17456,1,29,1,45,1,4,1,1,-9,1,928110P3,9690.0,1745601 +1100105,54,17457,1,23,2,45,1,1,1,1,-9,4,611M1,7870.0,1745701 +1100105,54,17458,1,31,2,50,1,1,1,1,-9,4,92M2,9570.0,1745801 +1100105,54,17459,1,28,2,42,1,1,1,1,-9,4,44511,4971.0,1745901 +1100105,54,17460,1,32,1,50,1,1,1,1,-9,4,52M2,6970.0,1746001 +1100105,54,17461,1,22,2,70,1,1,1,1,-9,4,6111,7860.0,1746101 +1100105,54,17462,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,1746201 +1100105,54,17463,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1746301 +1100105,54,17464,1,25,2,50,1,1,1,1,-9,4,5416,7390.0,1746401 +1100105,54,17465,1,26,2,37,1,1,1,1,-9,4,813M,9170.0,1746501 +1100105,54,17466,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1746601 +1100105,54,17467,1,25,2,50,1,1,1,1,-9,4,5416,7390.0,1746701 +1100105,54,17468,1,31,2,50,1,1,1,1,-9,4,92MP,9470.0,1746801 +1100105,54,17469,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1746901 +1100105,54,17470,1,24,1,55,1,1,1,1,-9,4,9211MP,9370.0,1747001 +1100105,54,17471,1,25,1,45,1,1,1,1,-9,4,52M2,6970.0,1747101 +1100105,54,17472,1,26,1,40,1,1,1,1,-9,4,928P,9590.0,1747201 +1100105,54,17473,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1747301 +1100105,54,17474,1,28,2,45,1,1,1,1,-9,4,8139Z,9190.0,1747401 +1100105,54,17475,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,1747501 +1100105,54,17476,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1747601 +1100105,54,17477,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1747701 +1100105,54,17478,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,1747801 +1100105,54,17479,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1747901 +1100105,54,17480,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1748001 +1100105,54,17481,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1748101 +1100105,54,17482,1,30,2,37,1,1,1,3,-9,4,81393,9180.0,1748201 +1100105,54,17483,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1748301 +1100105,54,17484,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,1748401 +1100105,54,17485,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,1748501 +1100105,54,17486,1,29,1,30,1,2,1,2,-9,4,711M,8563.0,1748601 +1100105,54,17487,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,1748701 +1100105,54,17488,1,32,2,40,1,1,8,17,-9,4,813M,9170.0,1748801 +1100105,54,17489,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,1748901 +1100105,54,17490,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,1749001 +1100105,54,17491,1,27,2,40,1,1,1,2,-9,4,923,9480.0,1749101 +1100105,54,17492,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1749201 +1100105,54,17493,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,1749301 +1100105,54,17494,1,27,2,40,1,1,8,17,-9,4,6111,7860.0,1749401 +1100105,54,17495,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1749501 +1100105,54,17496,1,26,2,45,1,1,1,3,-9,4,23,770.0,1749601 +1100105,54,17497,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,1749701 +1100105,54,17498,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1749801 +1100105,54,17499,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,1749901 +1100105,54,17500,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,1750001 +1100105,54,17501,1,80,2,-9,-9,6,6,1,-9,4,0,0.0,1750101 +1100105,54,17502,1,80,2,-9,-9,6,6,1,-9,4,0,0.0,1750201 +1100105,54,17503,1,67,1,-9,-9,6,2,1,-9,4,4481,5170.0,1750301 +1100105,54,17504,1,78,1,-9,-9,6,2,1,-9,2,0,0.0,1750401 +1100105,54,17505,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1750501 +1100105,54,17506,1,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1750601 +1100105,54,17507,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,1750701 +1100105,54,17508,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1750801 +1100105,54,17509,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1750901 +1100105,54,17510,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,1751001 +1100105,54,17511,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1751101 +1100105,54,17512,1,83,2,-9,-9,6,1,1,-9,4,0,0.0,1751201 +1100105,54,17513,1,69,2,-9,-9,6,1,1,-9,4,92M2,9570.0,1751301 +1100105,54,17514,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1751401 +1100105,54,17515,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1751501 +1100105,54,17516,1,65,1,-9,-9,6,1,1,-9,4,923,9480.0,1751601 +1100105,54,17517,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,1751701 +1100105,54,17518,1,65,1,-9,-9,6,1,1,-9,4,923,9480.0,1751801 +1100105,54,17519,1,67,1,35,2,6,1,1,15,4,7111,8561.0,1751901 +1100105,54,17520,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,1752001 +1100105,54,17521,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1752101 +1100105,54,17522,1,67,1,35,2,6,1,1,15,4,7111,8561.0,1752201 +1100105,54,17523,1,71,1,-9,-9,6,1,1,-9,2,0,0.0,1752301 +1100105,54,17524,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1752401 +1100105,54,17525,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1752501 +1100105,54,17526,1,68,1,-9,-9,6,1,1,-9,3,0,0.0,1752601 +1100105,54,17527,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,1752701 +1100105,54,17528,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1752801 +1100105,54,17529,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,1752901 +1100105,54,17530,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1753001 +1100105,54,17531,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,1753101 +1100105,54,17532,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,1753201 +1100105,54,17533,1,70,1,-9,-9,6,1,1,-9,4,0,0.0,1753301 +1100105,54,17534,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,1753401 +1100105,54,17535,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1753501 +1100105,54,17536,1,93,2,-9,-9,6,1,2,-9,4,928P,9590.0,1753601 +1100105,54,17537,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1753701 +1100105,54,17538,1,49,1,40,4,3,6,1,-9,4,5413,7290.0,1753801 +1100105,54,17539,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,1753901 +1100105,54,17540,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,1754001 +1100105,54,17541,1,59,2,-9,-9,6,1,1,-9,4,52M1,6870.0,1754101 +1100105,54,17542,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1754201 +1100105,54,17543,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1754301 +1100105,54,17544,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,1754401 +1100105,54,17545,1,24,1,40,3,6,1,1,16,4,5241,6991.0,1754501 +1100105,54,17546,1,66,1,40,1,1,2,1,-9,4,531M,7071.0,1754601 +1100105,54,17547,1,82,1,18,6,1,1,1,-9,4,611M3,7890.0,1754701 +1100105,54,17548,1,67,1,50,1,1,1,1,-9,4,23,770.0,1754801 +1100105,54,17549,1,67,1,50,1,1,1,1,-9,4,23,770.0,1754901 +1100105,54,17550,1,82,1,18,6,1,1,1,-9,4,611M3,7890.0,1755001 +1100105,54,17551,1,37,2,40,1,1,9,1,-9,4,7211,8660.0,1755101 +1100105,54,17552,1,60,2,40,2,2,2,1,-9,4,622M,8191.0,1755201 +1100105,54,17553,1,46,2,35,1,1,2,1,-9,4,722Z,8680.0,1755301 +1100105,54,17554,1,42,1,50,1,1,1,1,-9,4,5416,7390.0,1755401 +1100105,54,17555,1,37,1,50,1,1,1,1,-9,4,9211MP,9370.0,1755501 +1100105,54,17556,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,1755601 +1100105,54,17557,1,48,1,65,1,1,1,1,-9,4,813M,9170.0,1755701 +1100105,54,17558,1,58,2,40,1,1,1,1,-9,4,713Z,8590.0,1755801 +1100105,54,17559,1,58,1,30,1,1,1,1,-9,4,8131,9160.0,1755901 +1100105,54,17560,1,63,1,40,6,1,1,1,-9,4,515,6670.0,1756001 +1100105,54,17561,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,1756101 +1100105,54,17562,1,37,1,50,1,1,1,1,-9,4,9211MP,9370.0,1756201 +1100105,54,17563,1,45,1,40,1,1,1,9,-9,4,5419Z,7490.0,1756301 +1100105,54,17564,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,1756401 +1100105,54,17565,1,23,1,40,4,1,9,1,-9,4,5417,7460.0,1756501 +1100105,54,17566,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,1756601 +1100105,54,17567,1,31,1,42,5,1,8,1,-9,4,5412,7280.0,1756701 +1100105,54,17568,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,1756801 +1100105,54,17569,1,27,1,55,1,1,6,1,16,4,5191ZM,6780.0,1756901 +1100105,54,17570,1,30,2,40,1,1,6,1,-9,4,5411,7270.0,1757001 +1100105,54,17571,1,30,2,40,1,1,6,1,-9,4,5411,7270.0,1757101 +1100105,54,17572,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,1757201 +1100105,54,17573,1,34,1,35,1,1,2,1,16,4,6241,8370.0,1757301 +1100105,54,17574,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1757401 +1100105,54,17575,1,27,2,40,2,1,1,1,-9,4,5241,6991.0,1757501 +1100105,54,17576,1,30,2,40,1,1,1,1,-9,4,623M,8290.0,1757601 +1100105,54,17577,1,26,2,40,1,1,1,1,-9,4,5418,7470.0,1757701 +1100105,54,17578,1,26,1,90,1,1,1,1,16,4,5417,7460.0,1757801 +1100105,54,17579,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,1757901 +1100105,54,17580,1,28,1,60,1,1,1,1,-9,4,722Z,8680.0,1758001 +1100105,54,17581,1,28,2,50,5,1,1,1,-9,4,92MP,9470.0,1758101 +1100105,54,17582,1,28,2,50,1,1,1,1,-9,4,722Z,8680.0,1758201 +1100105,54,17583,1,25,2,55,1,1,1,1,16,4,487,6280.0,1758301 +1100105,54,17584,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,1758401 +1100105,54,17585,1,34,2,45,1,1,1,1,-9,4,7111,8561.0,1758501 +1100105,54,17586,1,26,2,37,1,1,1,1,-9,4,928P,9590.0,1758601 +1100105,54,17587,1,25,2,45,1,1,1,1,-9,4,5614,7590.0,1758701 +1100105,54,17588,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1758801 +1100105,54,17589,1,22,2,40,1,1,1,1,15,4,522M,6890.0,1758901 +1100105,54,17590,1,22,2,40,1,1,1,1,15,4,522M,6890.0,1759001 +1100105,54,17591,1,31,1,30,3,1,1,1,-9,4,813M,9170.0,1759101 +1100105,54,17592,1,25,2,55,1,1,1,1,-9,4,813M,9170.0,1759201 +1100105,54,17593,1,25,2,45,1,1,1,1,-9,4,5614,7590.0,1759301 +1100105,54,17594,1,25,2,40,1,1,1,1,-9,4,712,8570.0,1759401 +1100105,54,17595,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,1759501 +1100105,54,17596,1,25,2,40,1,1,1,1,-9,4,92M2,9570.0,1759601 +1100105,54,17597,1,25,1,45,3,1,1,1,-9,4,928P,9590.0,1759701 +1100105,54,17598,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,1759801 +1100105,54,17599,1,34,1,50,1,1,1,1,-9,4,7115,8564.0,1759901 +1100105,54,17600,1,26,1,55,5,1,1,1,-9,4,5411,7270.0,1760001 +1100105,54,17601,1,26,1,40,1,1,1,1,-9,4,5417,7460.0,1760101 +1100105,54,17602,1,25,1,50,1,1,1,1,16,4,5412,7280.0,1760201 +1100105,54,17603,1,34,2,40,5,1,1,1,-9,4,813M,9170.0,1760301 +1100105,54,17604,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1760401 +1100105,54,17605,1,33,2,40,1,1,1,2,-9,4,531M,7071.0,1760501 +1100105,54,17606,1,33,2,40,2,1,8,16,-9,4,712,8570.0,1760601 +1100105,54,17607,1,33,2,40,2,1,8,16,-9,4,712,8570.0,1760701 +1100105,54,17608,1,27,2,45,1,1,8,14,-9,4,622M,8191.0,1760801 +1100105,54,17609,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1760901 +1100105,54,17610,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1761001 +1100105,54,17611,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1761101 +1100105,54,17612,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1761201 +1100105,54,17613,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1761301 +1100105,54,17614,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,1761401 +1100105,54,17615,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,1761501 +1100105,54,17616,1,86,2,-9,-9,6,2,1,-9,4,0,0.0,1761601 +1100105,54,17617,1,78,2,-9,-9,6,1,1,-9,4,0,0.0,1761701 +1100105,54,17618,1,74,2,-9,-9,6,1,1,-9,4,5411,7270.0,1761801 +1100105,54,17619,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,1761901 +1100105,54,17620,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,1762001 +1100105,54,17621,1,71,1,-9,-9,6,1,1,-9,4,0,0.0,1762101 +1100105,54,17622,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1762201 +1100105,54,17623,1,77,1,-9,-9,6,1,1,-9,4,0,0.0,1762301 +1100105,54,17624,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1762401 +1100105,54,17625,1,71,1,-9,-9,6,1,1,-9,4,0,0.0,1762501 +1100105,54,17626,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1762601 +1100105,54,17627,1,78,2,-9,-9,6,1,1,-9,4,0,0.0,1762701 +1100105,54,17628,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1762801 +1100105,54,17629,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1762901 +1100105,54,17630,1,74,2,-9,-9,6,1,1,-9,4,5411,7270.0,1763001 +1100105,54,17631,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,1763101 +1100105,54,17632,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1763201 +1100105,54,17633,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,1763301 +1100105,54,17634,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,1763401 +1100105,54,17635,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1763501 +1100105,54,17636,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,1763601 +1100105,54,17637,1,53,1,40,3,6,3,1,-9,4,562,7790.0,1763701 +1100105,54,17638,1,53,1,40,3,6,3,1,-9,4,562,7790.0,1763801 +1100105,54,17639,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,1763901 +1100105,54,17640,1,42,2,-9,-9,6,1,1,16,4,0,0.0,1764001 +1100105,54,17641,1,42,2,-9,-9,6,1,1,16,4,0,0.0,1764101 +1100105,54,17642,1,42,2,-9,-9,6,1,1,16,4,0,0.0,1764201 +1100105,54,17643,1,42,2,-9,-9,6,1,1,16,4,0,0.0,1764301 +1100105,54,17644,1,28,2,-9,-9,6,1,1,16,4,92MP,9470.0,1764401 +1100105,54,17645,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1764501 +1100105,54,17646,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1764601 +1100105,54,17647,1,66,2,40,3,2,2,1,-9,4,611M1,7870.0,1764701 +1100105,54,17648,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1764801 +1100105,54,17649,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,1764901 +1100105,54,17650,1,71,2,18,1,1,1,1,-9,4,4MS,5790.0,1765001 +1100105,54,17651,1,71,2,18,1,1,1,1,-9,4,4MS,5790.0,1765101 +1100105,54,17652,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1765201 +1100105,54,17653,1,71,2,18,1,1,1,1,-9,4,4MS,5790.0,1765301 +1100105,54,17654,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1765401 +1100105,54,17655,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1765501 +1100105,54,17656,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1765601 +1100105,54,17657,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1765701 +1100105,54,17658,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,1765801 +1100105,54,17659,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,1765901 +1100105,54,17660,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,1766001 +1100105,54,17661,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,1766101 +1100105,54,17662,1,36,1,8,3,1,2,1,-9,4,8123,9070.0,1766201 +1100105,54,17663,1,52,2,40,1,1,2,1,-9,4,5616,7680.0,1766301 +1100105,54,17664,1,50,2,10,5,1,1,1,-9,4,7111,8561.0,1766401 +1100105,54,17665,1,60,1,50,1,1,1,1,-9,4,5411,7270.0,1766501 +1100105,54,17666,1,50,2,10,5,1,1,1,-9,4,7111,8561.0,1766601 +1100105,54,17667,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,1766701 +1100105,54,17668,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,1766801 +1100105,54,17669,1,38,1,20,3,1,1,1,-9,4,4481,5170.0,1766901 +1100105,54,17670,1,48,2,45,1,1,1,1,-9,4,5416,7390.0,1767001 +1100105,54,17671,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,1767101 +1100105,54,17672,1,59,2,20,6,1,1,1,-9,4,6244,8470.0,1767201 +1100105,54,17673,1,63,1,50,1,1,1,1,-9,4,611M3,7890.0,1767301 +1100105,54,17674,1,60,1,50,1,1,1,1,-9,4,5411,7270.0,1767401 +1100105,54,17675,1,53,1,23,4,1,1,1,-9,4,928P,9590.0,1767501 +1100105,54,17676,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,1767601 +1100105,54,17677,1,55,1,20,6,2,1,1,-9,4,23,770.0,1767701 +1100105,54,17678,1,38,1,20,3,1,1,1,-9,4,4481,5170.0,1767801 +1100105,54,17679,1,40,1,30,6,1,9,19,-9,4,111,170.0,1767901 +1100105,54,17680,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,1768001 +1100105,54,17681,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,1768101 +1100105,54,17682,1,35,2,40,1,1,1,2,-9,4,722Z,8680.0,1768201 +1100105,54,17683,1,40,1,30,6,1,9,19,-9,4,111,170.0,1768301 +1100105,54,17684,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1768401 +1100105,54,17685,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1768501 +1100105,54,17686,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1768601 +1100105,54,17687,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1768701 +1100105,54,17688,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1768801 +1100105,54,17689,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1768901 +1100105,54,17690,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1769001 +1100105,54,17691,1,34,2,24,4,1,6,1,-9,4,722Z,8680.0,1769101 +1100105,54,17692,1,20,2,40,4,1,6,1,15,4,5412,7280.0,1769201 +1100105,54,17693,1,20,2,40,4,1,6,1,15,4,5412,7280.0,1769301 +1100105,54,17694,1,20,2,40,4,1,6,1,15,4,5412,7280.0,1769401 +1100105,54,17695,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1769501 +1100105,54,17696,1,20,2,40,4,1,6,1,15,4,5412,7280.0,1769601 +1100105,54,17697,1,31,2,16,2,1,6,1,-9,4,722Z,8680.0,1769701 +1100105,54,17698,1,34,2,24,4,1,6,1,-9,4,722Z,8680.0,1769801 +1100105,54,17699,1,22,1,30,5,1,2,1,-9,4,611M1,7870.0,1769901 +1100105,54,17700,1,24,2,17,1,1,2,1,-9,4,722Z,8680.0,1770001 +1100105,54,17701,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,1770101 +1100105,54,17702,1,29,2,25,3,1,1,1,-9,4,713Z,8590.0,1770201 +1100105,54,17703,1,33,2,40,1,1,1,1,15,2,483,6090.0,1770301 +1100105,54,17704,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,1770401 +1100105,54,17705,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,1770501 +1100105,54,17706,1,22,1,40,4,1,1,1,-9,4,5313,7072.0,1770601 +1100105,54,17707,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,1770701 +1100105,54,17708,1,21,2,20,1,1,1,1,15,4,622M,8191.0,1770801 +1100105,54,17709,1,26,2,20,4,1,1,1,-9,4,52M2,6970.0,1770901 +1100105,54,17710,1,23,1,40,1,1,1,1,16,4,5415,7380.0,1771001 +1100105,54,17711,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,1771101 +1100105,54,17712,1,24,2,4,3,1,1,1,15,4,713Z,8590.0,1771201 +1100105,54,17713,1,29,2,25,3,1,1,1,-9,4,713Z,8590.0,1771301 +1100105,54,17714,1,22,1,40,1,1,1,1,15,4,51111,6470.0,1771401 +1100105,54,17715,1,26,2,30,1,1,1,1,16,4,611M1,7870.0,1771501 +1100105,54,17716,1,24,2,4,3,1,1,1,15,4,713Z,8590.0,1771601 +1100105,54,17717,1,33,2,40,1,1,1,1,15,2,483,6090.0,1771701 +1100105,54,17718,1,33,2,40,5,1,1,1,-9,4,813M,9170.0,1771801 +1100105,54,17719,1,22,1,55,1,1,1,1,15,4,722Z,8680.0,1771901 +1100105,54,17720,1,27,2,30,3,1,1,1,16,4,611M1,7870.0,1772001 +1100105,54,17721,1,22,2,20,6,2,1,1,-9,4,517Z,6690.0,1772101 +1100105,54,17722,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,1772201 +1100105,54,17723,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,1772301 +1100105,54,17724,1,25,1,30,1,2,1,23,16,4,713Z,8590.0,1772401 +1100105,54,17725,1,28,2,40,5,1,1,23,-9,4,928P,9590.0,1772501 +1100105,54,17726,1,28,2,40,5,1,1,23,-9,4,928P,9590.0,1772601 +1100105,54,17727,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,1772701 +1100105,54,17728,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,1772801 +1100105,54,17729,1,76,1,-9,-9,6,9,1,-9,2,0,0.0,1772901 +1100105,54,17730,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,1773001 +1100105,54,17731,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1773101 +1100105,54,17732,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,1773201 +1100105,54,17733,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,1773301 +1100105,54,17734,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,1773401 +1100105,54,17735,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1773501 +1100105,54,17736,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1773601 +1100105,54,17737,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,1773701 +1100105,54,17738,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,1773801 +1100105,54,17739,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,1773901 +1100105,54,17740,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,1774001 +1100105,54,17741,1,76,1,-9,-9,6,9,1,-9,2,0,0.0,1774101 +1100105,54,17742,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,1774201 +1100105,54,17743,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,1774301 +1100105,54,17744,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,1774401 +1100105,54,17745,1,70,2,4,6,6,6,1,-9,4,522M,6890.0,1774501 +1100105,54,17746,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,1774601 +1100105,54,17747,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,1774701 +1100105,54,17748,1,79,1,-9,-9,6,2,1,-9,2,0,0.0,1774801 +1100105,54,17749,1,72,2,-9,-9,6,2,1,-9,4,0,0.0,1774901 +1100105,54,17750,1,70,2,15,6,6,2,1,-9,4,722Z,8680.0,1775001 +1100105,54,17751,1,73,2,-9,-9,6,2,1,-9,4,0,0.0,1775101 +1100105,54,17752,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,1775201 +1100105,54,17753,1,80,2,-9,-9,6,2,1,-9,4,0,0.0,1775301 +1100105,54,17754,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,1775401 +1100105,54,17755,1,81,1,-9,-9,6,2,1,-9,2,0,0.0,1775501 +1100105,54,17756,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1775601 +1100105,54,17757,1,70,1,-9,-9,6,2,1,-9,4,0,0.0,1775701 +1100105,54,17758,1,79,2,-9,-9,6,2,1,-9,4,0,0.0,1775801 +1100105,54,17759,1,81,1,-9,-9,6,2,1,-9,2,0,0.0,1775901 +1100105,54,17760,1,68,1,-9,-9,6,2,1,-9,2,0,0.0,1776001 +1100105,54,17761,1,81,1,-9,-9,6,2,1,-9,2,0,0.0,1776101 +1100105,54,17762,1,84,2,-9,-9,6,2,1,-9,4,0,0.0,1776201 +1100105,54,17763,1,79,2,-9,-9,6,2,1,-9,4,0,0.0,1776301 +1100105,54,17764,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,1776401 +1100105,54,17765,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,1776501 +1100105,54,17766,1,82,1,-9,-9,6,2,1,-9,2,0,0.0,1776601 +1100105,54,17767,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,1776701 +1100105,54,17768,1,72,1,-9,-9,6,2,1,-9,4,0,0.0,1776801 +1100105,54,17769,1,85,1,-9,-9,6,2,1,-9,4,0,0.0,1776901 +1100105,54,17770,1,78,2,-9,-9,6,2,1,-9,4,0,0.0,1777001 +1100105,54,17771,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,1777101 +1100105,54,17772,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1777201 +1100105,54,17773,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,1777301 +1100105,54,17774,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,1777401 +1100105,54,17775,1,81,1,-9,-9,6,1,1,-9,2,0,0.0,1777501 +1100105,54,17776,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1777601 +1100105,54,17777,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1777701 +1100105,54,17778,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,1777801 +1100105,54,17779,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1777901 +1100105,54,17780,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1778001 +1100105,54,17781,1,71,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1778101 +1100105,54,17782,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1778201 +1100105,54,17783,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1778301 +1100105,54,17784,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1778401 +1100105,54,17785,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,1778501 +1100105,54,17786,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,1778601 +1100105,54,17787,1,82,2,-9,-9,6,1,1,-9,4,0,0.0,1778701 +1100105,54,17788,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,1778801 +1100105,54,17789,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1778901 +1100105,54,17790,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1779001 +1100105,54,17791,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1779101 +1100105,54,17792,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1779201 +1100105,54,17793,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1779301 +1100105,54,17794,1,71,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1779401 +1100105,54,17795,1,67,2,30,4,6,1,1,-9,4,7115,8564.0,1779501 +1100105,54,17796,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1779601 +1100105,54,17797,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,1779701 +1100105,54,17798,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1779801 +1100105,54,17799,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1779901 +1100105,54,17800,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1780001 +1100105,54,17801,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,1780101 +1100105,54,17802,1,69,2,-9,-9,6,1,1,-9,4,622M,8191.0,1780201 +1100105,54,17803,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1780301 +1100105,54,17804,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,1780401 +1100105,54,17805,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1780501 +1100105,54,17806,1,71,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1780601 +1100105,54,17807,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,1780701 +1100105,54,17808,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1780801 +1100105,54,17809,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,1780901 +1100105,54,17810,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1781001 +1100105,54,17811,1,67,2,30,4,6,1,1,-9,4,7115,8564.0,1781101 +1100105,54,17812,1,77,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1781201 +1100105,54,17813,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,1781301 +1100105,54,17814,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,1781401 +1100105,54,17815,1,79,2,-9,-9,3,1,3,-9,4,999920,9920.0,1781501 +1100105,54,17816,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,1781601 +1100105,54,17817,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1781701 +1100105,54,17818,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1781801 +1100105,54,17819,1,84,2,-9,-9,6,2,3,-9,4,0,0.0,1781901 +1100105,54,17820,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1782001 +1100105,54,17821,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1782101 +1100105,54,17822,1,71,2,-9,-9,6,2,3,-9,4,622M,8191.0,1782201 +1100105,54,17823,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1782301 +1100105,54,17824,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1782401 +1100105,54,17825,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,1782501 +1100105,54,17826,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,1782601 +1100105,54,17827,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,1782701 +1100105,54,17828,1,70,2,-9,-9,6,2,3,-9,4,0,0.0,1782801 +1100105,54,17829,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,1782901 +1100105,54,17830,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1783001 +1100105,54,17831,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1783101 +1100105,54,17832,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,1783201 +1100105,54,17833,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,1783301 +1100105,54,17834,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,1783401 +1100105,54,17835,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,1783501 +1100105,54,17836,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,1783601 +1100105,54,17837,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,1783701 +1100105,54,17838,1,44,2,-9,-9,3,6,1,-9,4,92M1,9490.0,1783801 +1100105,54,17839,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,1783901 +1100105,54,17840,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,1784001 +1100105,54,17841,1,56,2,-9,-9,6,2,1,-9,4,0,0.0,1784101 +1100105,54,17842,1,49,2,-9,-9,6,2,1,-9,4,0,0.0,1784201 +1100105,54,17843,1,42,2,-9,-9,6,2,1,-9,4,0,0.0,1784301 +1100105,54,17844,1,63,1,-9,-9,6,2,1,-9,4,0,0.0,1784401 +1100105,54,17845,1,38,2,-9,-9,3,2,1,-9,4,999920,9920.0,1784501 +1100105,54,17846,1,54,2,-9,-9,6,2,1,-9,4,0,0.0,1784601 +1100105,54,17847,1,56,1,-9,-9,6,2,1,-9,2,0,0.0,1784701 +1100105,54,17848,1,62,1,-9,-9,6,2,1,-9,4,5615,7670.0,1784801 +1100105,54,17849,1,56,1,-9,-9,6,2,1,-9,2,0,0.0,1784901 +1100105,54,17850,1,49,2,-9,-9,6,2,1,-9,4,0,0.0,1785001 +1100105,54,17851,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,1785101 +1100105,54,17852,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1785201 +1100105,54,17853,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1785301 +1100105,54,17854,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1785401 +1100105,54,17855,1,60,1,10,1,6,1,1,-9,4,5415,7380.0,1785501 +1100105,54,17856,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1785601 +1100105,54,17857,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,1785701 +1100105,54,17858,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1785801 +1100105,54,17859,1,56,2,-9,-9,3,1,1,16,4,5413,7290.0,1785901 +1100105,54,17860,1,45,1,30,5,6,1,1,-9,4,5411,7270.0,1786001 +1100105,54,17861,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,1786101 +1100105,54,17862,1,56,2,-9,-9,3,1,1,16,4,5413,7290.0,1786201 +1100105,54,17863,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,1786301 +1100105,54,17864,1,53,1,-9,-9,3,1,1,-9,4,814,9290.0,1786401 +1100105,54,17865,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,1786501 +1100105,54,17866,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,1786601 +1100105,54,17867,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,1786701 +1100105,54,17868,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1786801 +1100105,54,17869,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1786901 +1100105,54,17870,1,60,1,10,1,6,1,1,-9,4,5415,7380.0,1787001 +1100105,54,17871,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,1787101 +1100105,54,17872,1,44,1,-9,-9,6,1,1,-9,4,0,0.0,1787201 +1100105,54,17873,1,56,1,29,5,3,1,1,-9,4,5613,7580.0,1787301 +1100105,54,17874,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1787401 +1100105,54,17875,1,37,2,8,6,3,1,1,-9,4,611M1,7870.0,1787501 +1100105,54,17876,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,1787601 +1100105,54,17877,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,1787701 +1100105,54,17878,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1787801 +1100105,54,17879,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,1787901 +1100105,54,17880,1,60,1,10,1,6,1,1,-9,4,5415,7380.0,1788001 +1100105,54,17881,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,1788101 +1100105,54,17882,1,38,1,35,5,3,1,16,-9,4,5416,7390.0,1788201 +1100105,54,17883,1,45,2,35,5,3,1,16,-9,4,6211,7970.0,1788301 +1100105,54,17884,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,1788401 +1100105,54,17885,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,1788501 +1100105,54,17886,1,54,2,-9,-9,6,1,23,-9,4,0,0.0,1788601 +1100105,54,17887,1,45,2,35,5,3,1,16,-9,4,6211,7970.0,1788701 +1100105,54,17888,1,26,1,-9,-9,6,6,1,-9,4,0,0.0,1788801 +1100105,54,17889,1,29,1,50,6,6,6,1,16,4,5411,7270.0,1788901 +1100105,54,17890,1,24,2,60,6,6,6,1,16,4,531M,7071.0,1789001 +1100105,54,17891,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,1789101 +1100105,54,17892,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,1789201 +1100105,54,17893,1,25,1,-9,-9,6,6,1,16,4,0,0.0,1789301 +1100105,54,17894,1,22,2,45,3,6,6,1,16,4,23,770.0,1789401 +1100105,54,17895,1,29,2,8,6,6,6,1,16,4,6212,7980.0,1789501 +1100105,54,17896,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,1789601 +1100105,54,17897,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1789701 +1100105,54,17898,1,21,2,-9,-9,6,1,1,15,4,722Z,8680.0,1789801 +1100105,54,17899,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,1789901 +1100105,54,17900,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1790001 +1100105,54,17901,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,1790101 +1100105,54,17902,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,1790201 +1100105,54,17903,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,1790301 +1100105,54,17904,1,24,2,-9,-9,6,1,1,16,4,6244,8470.0,1790401 +1100105,54,17905,1,28,1,55,5,6,1,1,16,4,52M1,6870.0,1790501 +1100105,54,17906,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,1790601 +1100105,54,17907,1,31,2,-9,-9,3,1,1,16,4,311811,1190.0,1790701 +1100105,54,17908,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,1790801 +1100105,54,17909,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1790901 +1100105,54,17910,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,1791001 +1100105,54,17911,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1791101 +1100105,54,17912,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1791201 +1100105,54,17913,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,1791301 +1100105,54,17914,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,1791401 +1100105,54,17915,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,1791501 +1100105,54,17916,1,24,2,20,6,6,1,1,16,4,5411,7270.0,1791601 +1100105,54,17917,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,1791701 +1100105,54,17918,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,1791801 +1100105,54,17919,1,27,1,30,4,6,1,1,16,4,52M2,6970.0,1791901 +1100105,54,17920,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,1792001 +1100105,54,17921,1,25,1,20,4,3,1,1,15,4,6241,8370.0,1792101 +1100105,54,17922,1,26,1,7,3,6,1,1,16,4,611M1,7870.0,1792201 +1100105,54,17923,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,1792301 +1100105,54,17924,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1792401 +1100105,54,17925,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,1792501 +1100105,54,17926,1,25,2,40,3,3,1,21,-9,4,5417,7460.0,1792601 +1100105,54,17927,1,27,1,-9,-9,6,6,14,16,4,6212,7980.0,1792701 +1100105,54,17928,1,27,1,-9,-9,6,6,14,16,4,6212,7980.0,1792801 +1100105,54,17929,1,25,2,40,3,3,1,21,-9,4,5417,7460.0,1792901 +1100105,54,17930,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,1793001 +1100105,54,17931,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,1793101 +1100105,54,17932,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,1793201 +1100105,54,17933,1,26,2,-9,-9,6,9,16,-9,4,5411,7270.0,1793301 +1100105,54,17934,1,28,2,8,6,3,8,19,-9,4,814,9290.0,1793401 +1100105,54,17935,1,24,2,8,6,6,1,16,16,4,5411,7270.0,1793501 +1100105,54,17936,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,1793601 +1100105,54,17937,1,25,1,35,6,6,1,10,-9,4,611M1,7870.0,1793701 +1100105,55,17938,1,30,1,40,1,1,1,1,-9,4,5415,7380.0,1793801 +1100105,55,17938,2,28,1,49,1,1,1,1,-9,4,8129,9090.0,1793802 +1100105,55,17938,3,25,1,50,1,1,1,1,-9,4,5412,7280.0,1793803 +1100105,55,17938,4,23,2,40,1,1,1,1,-9,4,611M2,7880.0,1793804 +1100105,55,17939,1,39,2,40,1,1,6,1,-9,4,52M2,6970.0,1793901 +1100105,55,17939,2,43,1,50,1,1,9,1,-9,4,5415,7380.0,1793902 +1100105,55,17939,3,5,2,-9,-9,-9,9,1,1,-9,0,0.0,1793903 +1100105,55,17939,4,3,1,-9,-9,-9,9,1,1,-9,0,0.0,1793904 +1100105,55,17940,1,45,1,40,1,1,1,1,-9,4,522M,6890.0,1794001 +1100105,55,17940,2,39,2,-9,-9,6,1,13,-9,4,0,0.0,1794002 +1100105,55,17940,3,8,2,-9,-9,-9,1,13,4,-9,0,0.0,1794003 +1100105,55,17940,4,6,2,-9,-9,-9,1,13,2,-9,0,0.0,1794004 +1100105,55,17940,5,3,1,-9,-9,-9,1,13,1,-9,0,0.0,1794005 +1100105,55,17941,1,40,1,45,1,1,8,1,-9,4,621M,8180.0,1794101 +1100105,55,17941,2,42,2,50,1,1,6,1,-9,4,722Z,8680.0,1794102 +1100105,55,17941,3,9,2,-9,-9,-9,8,1,5,-9,0,0.0,1794103 +1100105,55,17941,4,7,2,-9,-9,-9,8,1,4,-9,0,0.0,1794104 +1100105,55,17941,5,5,2,-9,-9,-9,8,1,2,-9,0,0.0,1794105 +1100105,55,17942,1,52,2,-9,-9,6,9,1,-9,4,6214,8090.0,1794201 +1100105,55,17942,2,26,2,37,1,1,9,1,-9,4,6111,7860.0,1794202 +1100105,55,17942,3,4,2,-9,-9,-9,2,3,1,-9,0,0.0,1794203 +1100105,55,17942,4,4,2,-9,-9,-9,9,1,1,-9,0,0.0,1794204 +1100105,55,17943,1,51,1,-9,-9,6,8,11,-9,4,0,0.0,1794301 +1100105,55,17943,2,50,2,20,5,1,8,11,-9,4,5617Z,7690.0,1794302 +1100105,55,17943,3,23,1,40,3,1,8,11,-9,4,722Z,8680.0,1794303 +1100105,55,17943,4,18,1,-9,-9,6,8,11,-9,4,0,0.0,1794304 +1100105,55,17944,1,32,2,40,1,1,1,11,-9,4,722Z,8680.0,1794401 +1100105,55,17944,2,16,2,-9,-9,6,1,11,13,-9,0,0.0,1794402 +1100105,55,17944,3,13,1,-9,-9,-9,1,11,9,-9,0,0.0,1794403 +1100105,55,17944,4,6,1,-9,-9,-9,1,11,3,-9,0,0.0,1794404 +1100105,55,17944,5,35,1,40,1,1,1,11,-9,4,4MS,5790.0,1794405 +1100105,55,17945,1,62,1,40,1,1,8,11,-9,4,44511,4971.0,1794501 +1100105,55,17945,2,52,2,-9,-9,6,8,11,-9,4,0,0.0,1794502 +1100105,55,17945,3,17,2,-9,-9,6,8,11,13,4,0,0.0,1794503 +1100105,55,17945,4,13,2,-9,-9,-9,8,11,9,-9,0,0.0,1794504 +1100105,55,17946,1,40,2,-9,-9,6,8,11,-9,4,0,0.0,1794601 +1100105,55,17946,2,20,1,-9,-9,6,8,11,-9,4,0,0.0,1794602 +1100105,55,17946,3,19,1,-9,-9,6,8,11,-9,4,0,0.0,1794603 +1100105,55,17946,4,36,2,-9,-9,6,8,11,-9,4,0,0.0,1794604 +1100105,55,17946,5,18,2,-9,-9,6,8,11,12,4,0,0.0,1794605 +1100105,55,17947,1,40,2,-9,-9,6,8,11,-9,4,0,0.0,1794701 +1100105,55,17947,2,20,1,-9,-9,6,8,11,-9,4,0,0.0,1794702 +1100105,55,17947,3,19,1,-9,-9,6,8,11,-9,4,0,0.0,1794703 +1100105,55,17947,4,36,2,-9,-9,6,8,11,-9,4,0,0.0,1794704 +1100105,55,17947,5,18,2,-9,-9,6,8,11,12,4,0,0.0,1794705 +1100105,55,17948,1,42,1,45,3,2,1,1,-9,4,23,770.0,1794801 +1100105,55,17948,2,24,1,40,1,1,1,1,-9,4,5614,7590.0,1794802 +1100105,55,17948,3,38,1,50,1,1,1,1,-9,4,611M1,7870.0,1794803 +1100105,55,17949,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,1794901 +1100105,55,17949,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,1794902 +1100105,55,17949,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,1794903 +1100105,55,17950,1,31,2,40,1,1,1,1,-9,4,92M2,9570.0,1795001 +1100105,55,17950,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,1795002 +1100105,55,17950,3,27,1,40,2,1,9,1,-9,4,9211MP,9370.0,1795003 +1100105,55,17951,1,25,2,50,1,1,1,1,-9,4,9211MP,9370.0,1795101 +1100105,55,17951,2,29,2,42,1,1,1,1,-9,4,5418,7470.0,1795102 +1100105,55,17951,3,29,2,50,1,1,1,1,-9,4,813M,9170.0,1795103 +1100105,55,17952,1,31,2,40,1,1,1,1,-9,4,9211MP,9370.0,1795201 +1100105,55,17952,2,26,1,45,1,1,1,1,-9,4,562,7790.0,1795202 +1100105,55,17952,3,31,2,45,1,1,1,1,-9,4,622M,8191.0,1795203 +1100105,55,17953,1,25,2,50,1,1,1,1,-9,4,9211MP,9370.0,1795301 +1100105,55,17953,2,29,2,42,1,1,1,1,-9,4,5418,7470.0,1795302 +1100105,55,17953,3,29,2,50,1,1,1,1,-9,4,813M,9170.0,1795303 +1100105,55,17954,1,53,2,40,1,1,1,1,-9,4,928P,9590.0,1795401 +1100105,55,17954,2,54,1,40,1,1,1,1,-9,4,928P,9590.0,1795402 +1100105,55,17954,3,21,1,-9,-9,6,1,1,-9,4,722Z,8680.0,1795403 +1100105,55,17955,1,37,1,50,1,1,1,1,-9,4,5416,7390.0,1795501 +1100105,55,17955,2,35,2,50,1,1,6,1,-9,4,5416,7390.0,1795502 +1100105,55,17955,3,1,2,-9,-9,-9,9,1,-9,-9,0,0.0,1795503 +1100105,55,17956,1,42,2,40,1,1,1,1,-9,4,5415,7380.0,1795601 +1100105,55,17956,2,47,1,40,1,1,1,1,-9,2,517311,6680.0,1795602 +1100105,55,17956,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,1795603 +1100105,55,17957,1,37,1,50,1,1,1,1,-9,4,722Z,8680.0,1795701 +1100105,55,17957,2,41,2,45,1,1,1,1,-9,4,5411,7270.0,1795702 +1100105,55,17957,3,1,1,-9,-9,-9,1,1,-9,-9,0,0.0,1795703 +1100105,55,17958,1,41,2,24,1,1,1,1,-9,4,813M,9170.0,1795801 +1100105,55,17958,2,43,1,40,1,1,1,1,-9,4,92M2,9570.0,1795802 +1100105,55,17958,3,1,2,-9,-9,-9,9,3,-9,-9,0,0.0,1795803 +1100105,55,17959,1,34,2,40,2,1,1,1,-9,4,5417,7460.0,1795901 +1100105,55,17959,2,37,1,40,2,1,6,1,-9,4,5416,7390.0,1795902 +1100105,55,17959,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,1795903 +1100105,55,17960,1,32,2,40,3,1,1,1,-9,4,928P,9590.0,1796001 +1100105,55,17960,2,38,1,40,3,1,1,1,-9,4,813M,9170.0,1796002 +1100105,55,17960,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1796003 +1100105,55,17961,1,36,1,50,1,1,1,1,16,4,515,6670.0,1796101 +1100105,55,17961,2,29,2,60,1,1,1,1,-9,4,813M,9170.0,1796102 +1100105,55,17961,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1796103 +1100105,55,17962,1,32,1,40,1,1,6,1,-9,4,5417,7460.0,1796201 +1100105,55,17962,2,34,2,40,1,1,6,1,-9,4,5416,7390.0,1796202 +1100105,55,17962,3,0,1,-9,-9,-9,6,1,-9,-9,0,0.0,1796203 +1100105,55,17963,1,33,2,50,1,1,9,1,-9,4,92MP,9470.0,1796301 +1100105,55,17963,2,34,1,50,1,1,1,1,-9,4,5411,7270.0,1796302 +1100105,55,17963,3,0,2,-9,-9,-9,9,1,-9,-9,0,0.0,1796303 +1100105,55,17964,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,1796401 +1100105,55,17964,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,1796402 +1100105,55,17964,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1796403 +1100105,55,17965,1,32,1,50,1,1,1,1,-9,2,5415,7380.0,1796501 +1100105,55,17965,2,33,2,70,1,1,1,1,-9,4,5411,7270.0,1796502 +1100105,55,17965,3,2,1,-9,-9,-9,1,1,-9,-9,0,0.0,1796503 +1100105,55,17966,1,37,1,60,1,1,1,1,-9,4,928P,9590.0,1796601 +1100105,55,17966,2,35,2,50,5,6,6,1,-9,4,454110,5593.0,1796602 +1100105,55,17966,3,0,1,-9,-9,-9,9,1,-9,-9,0,0.0,1796603 +1100105,55,17967,1,40,1,60,1,1,1,1,-9,4,92M2,9570.0,1796701 +1100105,55,17967,2,30,2,40,6,6,1,1,-9,4,5416,7390.0,1796702 +1100105,55,17967,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1796703 +1100105,55,17968,1,30,2,-9,-9,6,1,1,-9,4,923,9480.0,1796801 +1100105,55,17968,2,29,1,55,1,1,1,1,-9,4,52M2,6970.0,1796802 +1100105,55,17968,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1796803 +1100105,55,17969,1,22,1,40,1,1,1,1,-9,4,5417,7460.0,1796901 +1100105,55,17969,2,23,2,40,4,1,1,1,-9,4,813M,9170.0,1796902 +1100105,55,17969,3,23,2,60,1,1,1,1,-9,4,5416,7390.0,1796903 +1100105,55,17970,1,22,1,40,1,1,1,1,-9,4,5417,7460.0,1797001 +1100105,55,17970,2,23,2,40,4,1,1,1,-9,4,813M,9170.0,1797002 +1100105,55,17970,3,23,2,60,1,1,1,1,-9,4,5416,7390.0,1797003 +1100105,55,17971,1,27,1,60,1,1,1,1,-9,4,5415,7380.0,1797101 +1100105,55,17971,2,28,1,60,1,1,1,1,-9,4,5415,7380.0,1797102 +1100105,55,17971,3,23,1,60,1,1,1,1,-9,4,923,9480.0,1797103 +1100105,55,17972,1,31,1,40,3,3,1,1,-9,4,8139Z,9190.0,1797201 +1100105,55,17972,2,34,1,40,1,1,1,1,-9,4,5121,6570.0,1797202 +1100105,55,17972,3,27,1,45,1,1,1,1,-9,4,5417,7460.0,1797203 +1100105,55,17973,1,37,2,50,6,1,1,1,-9,4,813M,9170.0,1797301 +1100105,55,17973,2,37,1,66,1,1,1,1,-9,4,611M1,7870.0,1797302 +1100105,55,17973,3,0,1,-9,-9,-9,1,1,-9,-9,0,0.0,1797303 +1100105,55,17974,1,39,2,40,6,6,6,1,-9,4,5417,7460.0,1797401 +1100105,55,17974,2,44,1,40,1,1,6,1,-9,4,928P,9590.0,1797402 +1100105,55,17974,3,3,1,-9,-9,-9,6,1,-9,-9,0,0.0,1797403 +1100105,55,17975,1,25,2,48,1,1,1,1,-9,4,928P,9590.0,1797501 +1100105,55,17975,2,25,2,40,6,1,1,1,-9,4,6111,7860.0,1797502 +1100105,55,17975,3,24,2,55,1,1,1,1,-9,4,9211MP,9370.0,1797503 +1100105,55,17976,1,25,1,40,1,1,1,21,-9,4,9211MP,9370.0,1797601 +1100105,55,17976,2,24,1,40,2,1,1,1,-9,4,5416,7390.0,1797602 +1100105,55,17976,3,22,1,40,5,1,1,1,-9,4,5417,7460.0,1797603 +1100105,55,17977,1,38,1,45,1,1,1,1,-9,4,5419Z,7490.0,1797701 +1100105,55,17977,2,38,2,40,1,1,1,1,-9,4,928P,9590.0,1797702 +1100105,55,17977,3,4,1,-9,-9,-9,1,1,1,-9,0,0.0,1797703 +1100105,55,17978,1,27,2,-9,-9,6,1,4,16,4,0,0.0,1797801 +1100105,55,17978,2,32,2,40,1,1,1,1,-9,4,923,9480.0,1797802 +1100105,55,17978,3,25,2,-9,-9,6,2,1,16,4,0,0.0,1797803 +1100105,55,17979,1,34,1,60,1,1,1,1,-9,4,92113,9380.0,1797901 +1100105,55,17979,2,33,2,-9,-9,6,1,1,16,4,5413,7290.0,1797902 +1100105,55,17979,3,3,1,-9,-9,-9,1,1,1,-9,0,0.0,1797903 +1100105,55,17980,1,34,1,60,1,1,1,1,-9,4,92113,9380.0,1798001 +1100105,55,17980,2,33,2,-9,-9,6,1,1,16,4,5413,7290.0,1798002 +1100105,55,17980,3,3,1,-9,-9,-9,1,1,1,-9,0,0.0,1798003 +1100105,55,17981,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1798101 +1100105,55,17981,2,70,2,-9,-9,6,1,1,-9,4,722Z,8680.0,1798102 +1100105,55,17981,3,36,2,-9,-9,6,1,1,16,4,622M,8191.0,1798103 +1100105,55,17982,1,27,2,20,1,1,1,1,16,4,923,9480.0,1798201 +1100105,55,17982,2,24,2,-9,-9,6,1,1,15,4,0,0.0,1798202 +1100105,55,17982,3,23,2,20,1,1,1,24,15,4,5415,7380.0,1798203 +1100105,55,17983,1,35,1,60,1,1,6,1,-9,4,722Z,8680.0,1798301 +1100105,55,17983,2,33,2,40,6,1,6,1,-9,4,7211,8660.0,1798302 +1100105,55,17983,3,2,2,-9,-9,-9,6,1,-9,-9,0,0.0,1798303 +1100105,55,17984,1,21,1,30,4,1,1,1,15,4,332M,2870.0,1798401 +1100105,55,17984,2,21,1,40,6,1,1,1,15,4,5416,7390.0,1798402 +1100105,55,17984,3,21,1,40,6,1,1,1,15,4,487,6280.0,1798403 +1100105,55,17985,1,22,2,-9,-9,6,1,1,15,4,622M,8191.0,1798501 +1100105,55,17985,2,22,1,60,1,1,1,1,-9,4,621M,8180.0,1798502 +1100105,55,17985,3,21,1,15,1,1,1,1,15,4,621M,8180.0,1798503 +1100105,55,17986,1,20,2,10,6,6,1,1,15,4,6244,8470.0,1798601 +1100105,55,17986,2,20,2,20,5,6,6,1,15,4,611M1,7870.0,1798602 +1100105,55,17986,3,20,2,45,1,1,1,1,15,4,9211MP,9370.0,1798603 +1100105,55,17987,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1798701 +1100105,55,17987,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1798702 +1100105,55,17987,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1798703 +1100105,55,17988,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1798801 +1100105,55,17988,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1798802 +1100105,55,17988,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1798803 +1100105,55,17989,1,20,1,12,4,2,1,1,15,4,5313,7072.0,1798901 +1100105,55,17989,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,1798902 +1100105,55,17989,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,1798903 +1100105,55,17990,1,64,1,45,1,2,1,1,-9,4,8139Z,9190.0,1799001 +1100105,55,17990,2,65,2,40,1,1,1,1,-9,4,531M,7071.0,1799002 +1100105,55,17991,1,45,1,45,1,1,6,1,-9,4,5411,7270.0,1799101 +1100105,55,17991,2,44,2,40,1,1,6,1,-9,4,5411,7270.0,1799102 +1100105,55,17992,1,59,1,45,1,1,1,1,-9,4,5417,7460.0,1799201 +1100105,55,17992,2,49,1,43,2,1,9,1,-9,4,5411,7270.0,1799202 +1100105,55,17993,1,47,1,50,1,1,1,1,-9,4,522M,6890.0,1799301 +1100105,55,17993,2,50,2,30,5,1,6,1,-9,4,813M,9170.0,1799302 +1100105,55,17994,1,36,2,50,1,1,1,1,-9,4,3254,2190.0,1799401 +1100105,55,17994,2,36,1,60,1,1,1,1,-9,4,9211MP,9370.0,1799402 +1100105,55,17995,1,35,2,50,1,1,1,1,-9,4,928P,9590.0,1799501 +1100105,55,17995,2,42,1,80,1,1,1,1,-9,2,813M,9170.0,1799502 +1100105,55,17996,1,36,1,60,1,1,1,1,-9,4,928P,9590.0,1799601 +1100105,55,17996,2,38,2,40,1,1,1,1,-9,4,5415,7380.0,1799602 +1100105,55,17997,1,36,2,55,1,1,1,1,-9,4,531M,7071.0,1799701 +1100105,55,17997,2,41,2,70,1,1,1,1,-9,4,531M,7071.0,1799702 +1100105,55,17998,1,53,1,20,5,1,1,1,-9,4,611M3,7890.0,1799801 +1100105,55,17998,2,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1799802 +1100105,55,17999,1,42,1,55,1,4,1,1,-9,1,928110P3,9690.0,1799901 +1100105,55,17999,2,39,2,55,1,4,1,1,-9,1,928110P3,9690.0,1799902 +1100105,55,18000,1,37,1,95,1,1,1,1,-9,4,8139Z,9190.0,1800001 +1100105,55,18000,2,40,1,40,1,1,1,1,-9,4,5121,6570.0,1800002 +1100105,55,18001,1,35,2,50,1,1,1,1,-9,4,928P,9590.0,1800101 +1100105,55,18001,2,42,1,80,1,1,1,1,-9,2,813M,9170.0,1800102 +1100105,55,18002,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,1800201 +1100105,55,18002,2,49,1,40,1,1,1,1,-9,4,5415,7380.0,1800202 +1100105,55,18003,1,38,1,40,1,1,1,1,-9,4,92113,9380.0,1800301 +1100105,55,18003,2,38,1,50,1,1,8,3,-9,4,6214,8090.0,1800302 +1100105,55,18004,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,1800401 +1100105,55,18004,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,1800402 +1100105,55,18005,1,35,1,85,1,1,1,1,-9,4,5411,7270.0,1800501 +1100105,55,18005,2,34,2,50,1,1,1,1,-9,4,3254,2190.0,1800502 +1100105,55,18006,1,34,2,50,1,1,1,1,-9,4,92M2,9570.0,1800601 +1100105,55,18006,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,1800602 +1100105,55,18007,1,34,2,50,1,1,1,1,-9,4,92M2,9570.0,1800701 +1100105,55,18007,2,35,1,40,1,1,1,1,-9,4,813M,9170.0,1800702 +1100105,55,18008,1,34,2,50,1,1,1,1,-9,4,52M2,6970.0,1800801 +1100105,55,18008,2,49,1,40,1,1,1,1,-9,4,92M2,9570.0,1800802 +1100105,55,18009,1,34,1,50,1,1,1,1,-9,4,611M1,7870.0,1800901 +1100105,55,18009,2,36,2,60,1,1,1,1,-9,4,813M,9170.0,1800902 +1100105,55,18010,1,39,1,40,1,1,1,6,-9,4,622M,8191.0,1801001 +1100105,55,18010,2,30,2,40,6,1,1,1,16,4,622M,8191.0,1801002 +1100105,55,18011,1,27,1,55,1,1,6,1,-9,4,5416,7390.0,1801101 +1100105,55,18011,2,28,2,35,1,1,6,1,-9,4,5415,7380.0,1801102 +1100105,55,18012,1,33,1,40,1,1,1,1,-9,4,923,9480.0,1801201 +1100105,55,18012,2,33,1,40,1,1,6,1,-9,4,5416,7390.0,1801202 +1100105,55,18013,1,30,2,40,1,1,1,1,-9,4,5417,7460.0,1801301 +1100105,55,18013,2,31,1,40,1,1,6,1,-9,4,6214,8090.0,1801302 +1100105,55,18014,1,31,1,70,1,1,1,1,-9,4,3345,3380.0,1801401 +1100105,55,18014,2,30,2,55,1,1,1,1,16,4,622M,8191.0,1801402 +1100105,55,18015,1,27,1,40,1,1,1,1,-9,4,5416,7390.0,1801501 +1100105,55,18015,2,26,2,50,1,1,1,1,-9,4,928P,9590.0,1801502 +1100105,55,18016,1,27,2,50,1,1,1,1,-9,4,5416,7390.0,1801601 +1100105,55,18016,2,25,1,50,1,1,1,1,-9,4,5412,7280.0,1801602 +1100105,55,18017,1,33,2,40,1,1,1,1,-9,4,92M2,9570.0,1801701 +1100105,55,18017,2,33,1,40,1,1,1,1,-9,4,52M2,6970.0,1801702 +1100105,55,18018,1,25,2,50,1,1,1,1,-9,4,6111,7860.0,1801801 +1100105,55,18018,2,31,1,50,1,1,1,1,-9,4,92113,9380.0,1801802 +1100105,55,18019,1,34,2,40,1,1,1,1,-9,4,923,9480.0,1801901 +1100105,55,18019,2,33,1,60,1,1,1,1,-9,4,5416,7390.0,1801902 +1100105,55,18020,1,34,1,50,1,1,1,1,-9,4,5411,7270.0,1802001 +1100105,55,18020,2,33,2,40,1,1,1,1,-9,4,5416,7390.0,1802002 +1100105,55,18021,1,28,1,45,1,1,1,1,-9,4,5416,7390.0,1802101 +1100105,55,18021,2,28,2,45,1,1,1,1,-9,4,5613,7580.0,1802102 +1100105,55,18022,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,1802201 +1100105,55,18022,2,32,1,60,1,1,1,1,-9,4,5411,7270.0,1802202 +1100105,55,18023,1,33,1,60,1,1,1,1,-9,4,611M3,7890.0,1802301 +1100105,55,18023,2,30,2,38,1,1,1,1,-9,4,81393,9180.0,1802302 +1100105,55,18024,1,34,1,50,1,1,1,1,-9,4,5411,7270.0,1802401 +1100105,55,18024,2,33,2,40,1,1,1,1,-9,4,5416,7390.0,1802402 +1100105,55,18025,1,25,1,55,1,1,1,1,-9,4,5411,7270.0,1802501 +1100105,55,18025,2,25,1,65,1,1,1,1,-9,4,531M,7071.0,1802502 +1100105,55,18026,1,31,1,35,1,2,1,1,-9,4,7112,8562.0,1802601 +1100105,55,18026,2,27,2,40,1,1,1,1,-9,4,92113,9380.0,1802602 +1100105,55,18027,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,1802701 +1100105,55,18027,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1802702 +1100105,55,18028,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,1802801 +1100105,55,18028,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,1802802 +1100105,55,18029,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,1802901 +1100105,55,18029,2,32,1,50,1,1,1,1,-9,4,5418,7470.0,1802902 +1100105,55,18030,1,32,1,50,1,1,1,1,-9,4,5411,7270.0,1803001 +1100105,55,18030,2,32,2,24,1,1,1,1,-9,4,6213ZM,8080.0,1803002 +1100105,55,18031,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1803101 +1100105,55,18031,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,1803102 +1100105,55,18032,1,80,1,30,1,6,1,1,-9,2,23,770.0,1803201 +1100105,55,18032,2,73,2,40,1,1,1,1,-9,4,52M2,6970.0,1803202 +1100105,55,18033,1,67,1,16,6,6,2,1,-9,4,5416,7390.0,1803301 +1100105,55,18033,2,50,2,5,6,1,1,1,-9,4,5416,7390.0,1803302 +1100105,55,18034,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,1803401 +1100105,55,18034,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,1803402 +1100105,55,18035,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1803501 +1100105,55,18035,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,1803502 +1100105,55,18036,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1803601 +1100105,55,18036,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,1803602 +1100105,55,18037,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,1803701 +1100105,55,18037,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,1803702 +1100105,55,18038,1,64,1,40,1,1,1,1,-9,2,5415,7380.0,1803801 +1100105,55,18038,2,63,2,-9,-9,6,1,1,-9,4,0,0.0,1803802 +1100105,55,18039,1,52,2,48,1,1,1,1,-9,2,5411,7270.0,1803901 +1100105,55,18039,2,63,1,40,6,6,1,1,-9,2,92113,9380.0,1803902 +1100105,55,18040,1,55,1,45,1,1,1,1,-9,4,722Z,8680.0,1804001 +1100105,55,18040,2,56,2,-9,-9,6,1,1,-9,4,0,0.0,1804002 +1100105,55,18041,1,62,1,40,1,1,1,1,-9,4,5411,7270.0,1804101 +1100105,55,18041,2,55,2,-9,-9,6,1,1,-9,4,0,0.0,1804102 +1100105,55,18042,1,42,1,-9,-9,6,1,6,-9,4,0,0.0,1804201 +1100105,55,18042,2,52,1,40,1,1,1,1,-9,2,622M,8191.0,1804202 +1100105,55,18043,1,34,1,60,1,1,1,1,-9,4,5416,7390.0,1804301 +1100105,55,18043,2,31,2,60,3,3,1,1,-9,4,813M,9170.0,1804302 +1100105,55,18044,1,87,1,-9,-9,6,2,1,-9,2,0,0.0,1804401 +1100105,55,18044,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,1804402 +1100105,55,18045,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1804501 +1100105,55,18045,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,1804502 +1100105,55,18046,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1804601 +1100105,55,18046,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,1804602 +1100105,55,18047,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,1804701 +1100105,55,18047,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,1804702 +1100105,55,18048,1,57,1,38,1,1,1,1,-9,2,485M,6180.0,1804801 +1100105,55,18048,2,60,2,40,1,1,6,1,-9,4,5613,7580.0,1804802 +1100105,55,18049,1,37,1,40,1,1,1,1,-9,4,928P,9590.0,1804901 +1100105,55,18049,2,36,2,40,1,1,1,1,-9,4,611M1,7870.0,1804902 +1100105,55,18050,1,57,2,80,1,1,1,1,-9,4,611M1,7870.0,1805001 +1100105,55,18050,2,61,1,30,1,1,1,1,-9,4,52M2,6970.0,1805002 +1100105,55,18051,1,35,1,40,1,1,2,3,-9,4,55,7570.0,1805101 +1100105,55,18051,2,35,2,45,1,1,1,1,-9,4,5416,7390.0,1805102 +1100105,55,18052,1,35,1,50,1,1,9,1,-9,4,92M2,9570.0,1805201 +1100105,55,18052,2,27,2,40,1,1,1,1,-9,4,4481,5170.0,1805202 +1100105,55,18053,1,35,2,50,1,1,6,1,-9,4,928P,9590.0,1805301 +1100105,55,18053,2,28,1,50,1,1,1,1,-9,4,621M,8180.0,1805302 +1100105,55,18054,1,37,1,55,1,1,1,1,-9,4,813M,9170.0,1805401 +1100105,55,18054,2,34,2,55,1,1,1,1,-9,4,712,8570.0,1805402 +1100105,55,18055,1,35,1,40,1,1,1,1,-9,4,9211MP,9370.0,1805501 +1100105,55,18055,2,32,2,80,1,1,1,1,-9,4,622M,8191.0,1805502 +1100105,55,18056,1,35,1,40,1,1,1,16,-9,4,5415,7380.0,1805601 +1100105,55,18056,2,33,2,40,1,1,1,1,-9,4,92MP,9470.0,1805602 +1100105,55,18057,1,32,1,40,1,1,6,1,-9,4,9211MP,9370.0,1805701 +1100105,55,18057,2,32,2,38,1,1,6,1,-9,4,5418,7470.0,1805702 +1100105,55,18058,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,1805801 +1100105,55,18058,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,1805802 +1100105,55,18059,1,25,2,40,1,1,6,1,-9,4,92113,9380.0,1805901 +1100105,55,18059,2,25,1,40,1,1,1,1,-9,4,336M,3570.0,1805902 +1100105,55,18060,1,32,2,40,1,1,6,1,-9,4,9211MP,9370.0,1806001 +1100105,55,18060,2,32,1,40,1,1,1,1,-9,4,5221M,6880.0,1806002 +1100105,55,18061,1,28,1,40,1,1,1,1,-9,4,5416,7390.0,1806101 +1100105,55,18061,2,26,2,47,1,1,1,1,-9,4,44511,4971.0,1806102 +1100105,55,18062,1,32,1,40,1,1,1,1,-9,4,92M2,9570.0,1806201 +1100105,55,18062,2,29,2,40,1,1,1,1,-9,4,813M,9170.0,1806202 +1100105,55,18063,1,30,1,45,1,1,1,1,-9,4,9211MP,9370.0,1806301 +1100105,55,18063,2,25,1,45,1,1,1,1,-9,4,9211MP,9370.0,1806302 +1100105,55,18064,1,29,1,50,1,1,1,1,-9,4,522M,6890.0,1806401 +1100105,55,18064,2,31,1,40,1,1,1,1,-9,4,92M2,9570.0,1806402 +1100105,55,18065,1,32,1,40,1,1,1,1,15,4,5415,7380.0,1806501 +1100105,55,18065,2,24,2,40,1,1,1,1,-9,4,5418,7470.0,1806502 +1100105,55,18066,1,30,2,50,1,1,1,1,-9,4,6241,8370.0,1806601 +1100105,55,18066,2,29,1,45,1,1,1,1,-9,4,5415,7380.0,1806602 +1100105,55,18067,1,29,1,50,1,1,1,1,-9,4,5415,7380.0,1806701 +1100105,55,18067,2,27,2,40,1,1,1,1,16,4,5416,7390.0,1806702 +1100105,55,18068,1,27,1,50,1,1,1,1,-9,4,7115,8564.0,1806801 +1100105,55,18068,2,27,2,45,1,1,1,1,-9,4,5191ZM,6780.0,1806802 +1100105,55,18069,1,26,1,55,1,1,1,1,-9,4,5418,7470.0,1806901 +1100105,55,18069,2,26,2,60,1,1,1,1,-9,4,5414,7370.0,1806902 +1100105,55,18070,1,31,2,40,1,1,1,1,-9,4,928P,9590.0,1807001 +1100105,55,18070,2,30,2,40,1,1,1,1,-9,4,928P,9590.0,1807002 +1100105,55,18071,1,26,2,55,1,1,1,1,-9,4,5412,7280.0,1807101 +1100105,55,18071,2,26,1,65,1,1,1,1,16,4,531M,7071.0,1807102 +1100105,55,18072,1,26,1,55,1,1,1,1,-9,4,5418,7470.0,1807201 +1100105,55,18072,2,26,2,60,1,1,1,1,-9,4,5414,7370.0,1807202 +1100105,55,18073,1,30,1,50,1,1,1,1,-9,4,4237,4265.0,1807301 +1100105,55,18073,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,1807302 +1100105,55,18074,1,32,2,45,1,1,1,1,-9,4,713Z,8590.0,1807401 +1100105,55,18074,2,34,1,67,1,1,1,1,-9,4,928P,9590.0,1807402 +1100105,55,18075,1,27,1,50,1,1,1,1,-9,4,621M,8180.0,1807501 +1100105,55,18075,2,28,2,50,1,1,1,1,-9,4,611M3,7890.0,1807502 +1100105,55,18076,1,31,1,55,1,1,8,2,-9,4,813M,9170.0,1807601 +1100105,55,18076,2,33,1,60,1,1,1,1,-9,4,6216,8170.0,1807602 +1100105,55,18077,1,74,2,40,1,1,1,1,-9,2,923,9480.0,1807701 +1100105,55,18077,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,1807702 +1100105,55,18078,1,49,2,40,1,1,1,1,-9,4,928P,9590.0,1807801 +1100105,55,18078,2,44,1,8,6,6,1,1,-9,4,5419Z,7490.0,1807802 +1100105,55,18079,1,46,1,40,1,1,1,2,-9,4,813M,9170.0,1807901 +1100105,55,18079,2,45,1,40,4,3,1,1,-9,4,7115,8564.0,1807902 +1100105,55,18080,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,1808001 +1100105,55,18080,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,1808002 +1100105,55,18081,1,25,2,35,4,6,1,1,-9,4,711M,8563.0,1808101 +1100105,55,18081,2,28,1,40,1,1,1,1,-9,4,531M,7071.0,1808102 +1100105,55,18082,1,30,2,50,1,1,1,1,-9,4,81393,9180.0,1808201 +1100105,55,18082,2,33,1,65,3,3,1,1,-9,4,8139Z,9190.0,1808202 +1100105,55,18083,1,28,1,40,1,1,1,20,-9,4,52M1,6870.0,1808301 +1100105,55,18083,2,27,2,40,2,6,1,1,-9,4,5418,7470.0,1808302 +1100105,55,18084,1,32,2,-9,-9,6,1,1,-9,4,3121,1370.0,1808401 +1100105,55,18084,2,31,2,60,1,1,1,2,16,4,454110,5593.0,1808402 +1100105,55,18085,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1808501 +1100105,55,18085,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1808502 +1100105,55,18086,1,36,1,50,1,1,1,1,16,4,6111,7860.0,1808601 +1100105,55,18086,2,40,1,40,1,1,1,1,-9,4,5413,7290.0,1808602 +1100105,55,18087,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,1808701 +1100105,55,18087,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,1808702 +1100105,55,18088,1,41,1,45,6,1,1,1,-9,2,488,6290.0,1808801 +1100105,55,18088,2,34,2,50,1,4,1,1,-9,1,928110P5,9780.0,1808802 +1100105,55,18089,1,33,2,40,1,1,1,3,-9,4,6111,7860.0,1808901 +1100105,55,18089,2,36,1,40,1,1,1,1,-9,4,92M2,9570.0,1808902 +1100105,55,18090,1,34,2,30,1,2,6,1,-9,4,8129,9090.0,1809001 +1100105,55,18090,2,30,1,40,1,1,6,1,-9,4,52M2,6970.0,1809002 +1100105,55,18091,1,29,1,50,1,1,1,1,-9,4,5313,7072.0,1809101 +1100105,55,18091,2,28,2,40,1,1,9,1,-9,4,5417,7460.0,1809102 +1100105,55,18092,1,25,2,40,1,1,1,1,-9,4,813M,9170.0,1809201 +1100105,55,18092,2,26,2,40,1,1,6,1,-9,4,5416,7390.0,1809202 +1100105,55,18093,1,26,2,37,1,1,1,1,-9,4,5418,7470.0,1809301 +1100105,55,18093,2,26,2,50,1,1,6,1,-9,4,5416,7390.0,1809302 +1100105,55,18094,1,29,2,40,1,1,1,1,-9,4,55,7570.0,1809401 +1100105,55,18094,2,31,1,40,1,1,1,1,-9,4,722Z,8680.0,1809402 +1100105,55,18095,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,1809501 +1100105,55,18095,2,33,1,50,1,1,1,1,-9,4,6111,7860.0,1809502 +1100105,55,18096,1,30,1,50,1,1,1,1,-9,4,5111Z,6480.0,1809601 +1100105,55,18096,2,30,2,40,1,1,1,1,-9,4,813M,9170.0,1809602 +1100105,55,18097,1,32,1,65,1,1,1,1,-9,4,9211MP,9370.0,1809701 +1100105,55,18097,2,29,1,50,1,1,1,1,-9,4,515,6670.0,1809702 +1100105,55,18098,1,26,2,40,1,1,1,1,-9,4,5417,7460.0,1809801 +1100105,55,18098,2,27,2,40,1,1,1,1,-9,4,622M,8191.0,1809802 +1100105,55,18099,1,26,2,40,1,1,1,1,-9,4,5417,7460.0,1809901 +1100105,55,18099,2,27,2,40,1,1,1,1,-9,4,622M,8191.0,1809902 +1100105,55,18100,1,24,2,40,4,1,1,1,16,4,5416,7390.0,1810001 +1100105,55,18100,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,1810002 +1100105,55,18101,1,26,1,50,1,1,1,1,-9,4,5242,6992.0,1810101 +1100105,55,18101,2,24,2,32,1,1,1,1,-9,4,6211,7970.0,1810102 +1100105,55,18102,1,23,1,40,1,1,1,1,-9,4,92M2,9570.0,1810201 +1100105,55,18102,2,33,2,50,1,1,1,1,-9,4,813M,9170.0,1810202 +1100105,55,18103,1,30,1,50,1,1,1,1,-9,4,23,770.0,1810301 +1100105,55,18103,2,30,2,50,1,1,1,1,-9,4,611M1,7870.0,1810302 +1100105,55,18104,1,28,2,50,1,1,1,1,-9,4,92MP,9470.0,1810401 +1100105,55,18104,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,1810402 +1100105,55,18105,1,32,1,50,1,1,1,1,16,4,8139Z,9190.0,1810501 +1100105,55,18105,2,27,1,40,1,1,1,1,-9,4,5417,7460.0,1810502 +1100105,55,18106,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,1810601 +1100105,55,18106,2,27,1,45,1,1,1,1,-9,4,5411,7270.0,1810602 +1100105,55,18107,1,30,2,40,2,1,1,1,16,4,611M1,7870.0,1810701 +1100105,55,18107,2,31,1,45,1,1,1,1,-9,4,5411,7270.0,1810702 +1100105,55,18108,1,24,1,76,1,1,1,1,-9,4,622M,8191.0,1810801 +1100105,55,18108,2,24,1,30,3,1,1,1,16,4,92M2,9570.0,1810802 +1100105,55,18109,1,27,2,40,1,1,1,1,-9,4,52M1,6870.0,1810901 +1100105,55,18109,2,27,1,45,1,1,1,1,-9,4,531M,7071.0,1810902 +1100105,55,18110,1,27,2,40,1,1,1,1,-9,4,813M,9170.0,1811001 +1100105,55,18110,2,29,2,40,1,1,1,1,-9,4,9211MP,9370.0,1811002 +1100105,55,18111,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,1811101 +1100105,55,18111,2,24,2,60,1,1,1,1,-9,4,5416,7390.0,1811102 +1100105,55,18112,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1811201 +1100105,55,18112,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1811202 +1100105,55,18113,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1811301 +1100105,55,18113,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1811302 +1100105,55,18114,1,35,2,-9,-9,6,1,1,-9,4,0,0.0,1811401 +1100105,55,18114,2,35,1,45,1,1,6,1,-9,4,515,6670.0,1811402 +1100105,55,18115,1,54,1,45,1,1,1,1,-9,4,928P,9590.0,1811501 +1100105,55,18115,2,49,1,10,6,6,1,1,-9,4,812112,8980.0,1811502 +1100105,55,18116,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,1811601 +1100105,55,18116,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,1811602 +1100105,55,18117,1,37,1,60,1,1,1,1,-9,4,611M1,7870.0,1811701 +1100105,55,18117,2,31,1,-9,-9,3,6,1,15,4,44611,5070.0,1811702 +1100105,55,18118,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1811801 +1100105,55,18118,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,1811802 +1100105,55,18119,1,27,2,-9,-9,6,1,1,-9,4,813M,9170.0,1811901 +1100105,55,18119,2,34,1,40,1,1,1,1,-9,4,5417,7460.0,1811902 +1100105,55,18120,1,28,1,-9,-9,6,1,1,16,4,611M1,7870.0,1812001 +1100105,55,18120,2,28,2,60,1,1,1,1,-9,4,531M,7071.0,1812002 +1100105,55,18121,1,28,2,-9,-9,6,1,1,16,4,0,0.0,1812101 +1100105,55,18121,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,1812102 +1100105,55,18122,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1812201 +1100105,55,18122,2,34,2,25,5,6,1,1,-9,4,928P,9590.0,1812202 +1100105,55,18123,1,28,2,50,1,1,1,3,-9,4,611M3,7890.0,1812301 +1100105,55,18123,2,27,2,40,6,6,1,1,-9,4,5411,7270.0,1812302 +1100105,55,18124,1,70,2,-9,-9,6,1,1,-9,4,0,0.0,1812401 +1100105,55,18124,2,74,1,40,6,6,1,1,-9,2,5416,7390.0,1812402 +1100105,55,18125,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1812501 +1100105,55,18125,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1812502 +1100105,55,18126,1,41,1,40,1,1,1,1,-9,2,621M,8180.0,1812601 +1100105,55,18126,2,39,2,40,1,1,1,1,-9,4,4MS,5790.0,1812602 +1100105,55,18127,1,51,1,40,1,1,1,11,-9,4,8123,9070.0,1812701 +1100105,55,18127,2,52,2,15,1,1,1,11,-9,4,5617Z,7690.0,1812702 +1100105,55,18128,1,27,2,55,1,1,1,1,-9,4,722Z,8680.0,1812801 +1100105,55,18128,2,37,2,15,1,1,9,1,16,4,6241,8370.0,1812802 +1100105,55,18129,1,26,2,40,1,1,6,1,-9,4,92119,9390.0,1812901 +1100105,55,18129,2,23,1,40,1,1,6,1,-9,4,5416,7390.0,1812902 +1100105,55,18130,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1813001 +1100105,55,18130,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1813002 +1100105,55,18131,1,26,2,45,2,1,1,1,16,4,611M1,7870.0,1813101 +1100105,55,18131,2,25,1,45,1,1,6,1,-9,4,5416,7390.0,1813102 +1100105,55,18132,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,1813201 +1100105,55,18132,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,1813202 +1100105,55,18133,1,28,1,40,3,1,1,1,-9,4,813M,9170.0,1813301 +1100105,55,18133,2,27,2,80,5,1,1,1,-9,4,622M,8191.0,1813302 +1100105,55,18134,1,30,2,60,1,1,1,1,-9,4,7224,8690.0,1813401 +1100105,55,18134,2,26,1,60,1,1,1,1,16,4,44512,4972.0,1813402 +1100105,55,18135,1,23,1,50,2,1,1,1,-9,4,5416,7390.0,1813501 +1100105,55,18135,2,25,2,25,3,1,1,1,-9,4,6111,7860.0,1813502 +1100105,55,18136,1,23,1,43,1,1,1,1,-9,4,5411,7270.0,1813601 +1100105,55,18136,2,24,1,40,1,1,1,1,16,4,611M1,7870.0,1813602 +1100105,55,18137,1,24,2,50,1,1,1,1,-9,4,52M2,6970.0,1813701 +1100105,55,18137,2,23,1,40,1,1,1,1,-9,4,8131,9160.0,1813702 +1100105,55,18138,1,23,2,50,1,1,1,1,-9,4,5411,7270.0,1813801 +1100105,55,18138,2,23,2,45,1,1,1,1,-9,4,814,9290.0,1813802 +1100105,55,18139,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,1813901 +1100105,55,18139,2,33,2,20,1,1,1,1,-9,4,611M1,7870.0,1813902 +1100105,55,18140,1,23,2,60,1,1,1,1,-9,4,813M,9170.0,1814001 +1100105,55,18140,2,24,2,45,1,1,1,1,-9,4,5417,7460.0,1814002 +1100105,55,18141,1,26,1,24,6,1,1,1,16,4,92MP,9470.0,1814101 +1100105,55,18141,2,30,2,40,1,1,1,1,-9,4,611M1,7870.0,1814102 +1100105,55,18142,1,24,2,40,1,1,1,4,-9,4,9211MP,9370.0,1814201 +1100105,55,18142,2,24,2,40,1,1,1,1,-9,4,9211MP,9370.0,1814202 +1100105,55,18143,1,32,1,45,1,1,1,1,-9,4,5411,7270.0,1814301 +1100105,55,18143,2,32,2,40,1,1,1,4,-9,4,5411,7270.0,1814302 +1100105,55,18144,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,1814401 +1100105,55,18144,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,1814402 +1100105,55,18145,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1814501 +1100105,55,18145,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,1814502 +1100105,55,18146,1,61,1,-9,-9,6,2,1,-9,4,4234,4170.0,1814601 +1100105,55,18146,2,71,2,40,1,1,2,1,-9,2,2211P,570.0,1814602 +1100105,55,18147,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1814701 +1100105,55,18147,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1814702 +1100105,55,18148,1,35,2,40,1,2,6,1,16,4,5411,7270.0,1814801 +1100105,55,18148,2,37,1,-9,-9,6,6,1,-9,4,5413,7290.0,1814802 +1100105,55,18149,1,51,1,50,4,3,1,1,-9,4,722Z,8680.0,1814901 +1100105,55,18149,2,38,2,60,3,1,1,1,-9,4,722Z,8680.0,1814902 +1100105,55,18150,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1815001 +1100105,55,18150,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1815002 +1100105,55,18151,1,35,2,50,1,1,1,1,16,4,5417,7460.0,1815101 +1100105,55,18151,2,26,2,-9,-9,6,1,1,16,4,0,0.0,1815102 +1100105,55,18152,1,49,1,20,6,3,1,1,-9,4,51111,6470.0,1815201 +1100105,55,18152,2,32,1,50,1,1,1,1,-9,4,81393,9180.0,1815202 +1100105,55,18153,1,49,1,20,6,3,1,1,-9,4,51111,6470.0,1815301 +1100105,55,18153,2,32,1,50,1,1,1,1,-9,4,81393,9180.0,1815302 +1100105,55,18154,1,32,2,40,1,1,1,23,16,4,712,8570.0,1815401 +1100105,55,18154,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,1815402 +1100105,55,18155,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1815501 +1100105,55,18155,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1815502 +1100105,55,18156,1,28,1,40,6,3,1,1,-9,4,337,3895.0,1815601 +1100105,55,18156,2,26,2,50,1,1,6,1,16,4,5411,7270.0,1815602 +1100105,55,18157,1,29,1,40,1,1,6,1,-9,4,5416,7390.0,1815701 +1100105,55,18157,2,30,2,35,6,6,1,1,-9,4,8139Z,9190.0,1815702 +1100105,55,18158,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1815801 +1100105,55,18158,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1815802 +1100105,55,18159,1,24,2,40,3,3,1,1,-9,4,5419Z,7490.0,1815901 +1100105,55,18159,2,25,2,50,1,1,1,1,-9,4,7111,8561.0,1815902 +1100105,55,18160,1,24,1,40,5,6,1,1,16,4,5416,7390.0,1816001 +1100105,55,18160,2,26,2,40,1,1,1,1,-9,4,712,8570.0,1816002 +1100105,55,18161,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1816101 +1100105,55,18161,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1816102 +1100105,55,18162,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1816201 +1100105,55,18162,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1816202 +1100105,55,18163,1,25,2,35,3,1,1,1,-9,4,6111,7860.0,1816301 +1100105,55,18163,2,23,2,40,4,6,1,1,-9,4,722Z,8680.0,1816302 +1100105,55,18164,1,25,1,-9,-9,6,1,1,16,4,5416,7390.0,1816401 +1100105,55,18164,2,24,1,40,1,1,1,1,-9,4,813M,9170.0,1816402 +1100105,55,18165,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,1816501 +1100105,55,18165,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,1816502 +1100105,55,18166,1,24,2,50,6,6,1,1,16,4,5411,7270.0,1816601 +1100105,55,18166,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,1816602 +1100105,55,18167,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1816701 +1100105,55,18167,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1816702 +1100105,55,18168,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1816801 +1100105,55,18168,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,1816802 +1100105,55,18169,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1816901 +1100105,55,18169,2,85,1,-9,-9,6,1,1,-9,4,0,0.0,1816902 +1100105,55,18170,1,64,1,-9,-9,6,1,1,-9,4,5419Z,7490.0,1817001 +1100105,55,18170,2,65,2,-9,-9,6,1,1,-9,4,6244,8470.0,1817002 +1100105,55,18171,1,29,1,20,3,1,1,1,16,4,611M1,7870.0,1817101 +1100105,55,18171,2,29,2,20,1,1,6,1,16,4,611M1,7870.0,1817102 +1100105,55,18172,1,23,2,43,1,1,1,1,-9,4,5416,7390.0,1817201 +1100105,55,18172,2,23,2,15,1,1,1,1,-9,4,4481,5170.0,1817202 +1100105,55,18173,1,24,1,45,3,1,1,1,16,4,9211MP,9370.0,1817301 +1100105,55,18173,2,25,1,11,5,1,1,1,-9,4,611M1,7870.0,1817302 +1100105,55,18174,1,23,1,50,1,1,1,1,-9,4,531M,7071.0,1817401 +1100105,55,18174,2,23,1,40,1,1,1,1,-9,4,5419Z,7490.0,1817402 +1100105,55,18175,1,25,1,50,1,1,1,16,16,4,5417,7460.0,1817501 +1100105,55,18175,2,23,2,40,1,1,1,24,16,4,814,9290.0,1817502 +1100105,55,18176,1,60,2,40,1,1,8,19,-9,4,7211,8660.0,1817601 +1100105,55,18176,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,1817602 +1100105,55,18177,1,52,2,25,1,1,1,1,-9,4,562,7790.0,1817701 +1100105,55,18177,2,51,1,35,4,6,1,1,-9,4,562,7790.0,1817702 +1100105,55,18178,1,65,2,-9,-9,6,6,1,-9,4,0,0.0,1817801 +1100105,55,18178,2,29,2,35,1,1,6,1,16,4,813M,9170.0,1817802 +1100105,55,18179,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,1817901 +1100105,55,18179,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,1817902 +1100105,55,18180,1,28,1,45,6,6,1,1,16,4,5411,7270.0,1818001 +1100105,55,18180,2,28,2,20,5,1,6,1,16,4,8139Z,9190.0,1818002 +1100105,55,18181,1,25,1,40,6,6,1,1,16,4,5411,7270.0,1818101 +1100105,55,18181,2,25,1,11,5,1,1,1,16,4,611M1,7870.0,1818102 +1100105,55,18182,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,1818201 +1100105,55,18182,2,29,1,45,1,1,1,1,16,4,6111,7860.0,1818202 +1100105,55,18183,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,1818301 +1100105,55,18183,2,29,1,45,1,1,1,1,16,4,6111,7860.0,1818302 +1100105,55,18184,1,22,1,50,1,1,1,1,-9,4,722Z,8680.0,1818401 +1100105,55,18184,2,22,1,10,6,6,1,1,15,4,5416,7390.0,1818402 +1100105,55,18185,1,26,1,20,6,6,1,2,16,4,611M1,7870.0,1818501 +1100105,55,18185,2,27,2,40,1,1,1,1,16,4,611M1,7870.0,1818502 +1100105,55,18186,1,45,2,40,1,1,6,1,-9,4,7211,8660.0,1818601 +1100105,55,18186,2,17,1,8,5,6,6,1,13,4,722Z,8680.0,1818602 +1100105,55,18187,1,75,1,-9,-9,6,2,1,-9,4,0,0.0,1818701 +1100105,55,18187,2,74,2,-9,-9,6,2,1,-9,4,0,0.0,1818702 +1100105,55,18188,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1818801 +1100105,55,18188,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,1818802 +1100105,55,18189,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1818901 +1100105,55,18189,2,66,2,-9,-9,6,1,1,-9,4,0,0.0,1818902 +1100105,55,18190,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1819001 +1100105,55,18190,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,1819002 +1100105,55,18191,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1819101 +1100105,55,18191,2,81,1,-9,-9,6,1,1,-9,2,0,0.0,1819102 +1100105,55,18192,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,1819201 +1100105,55,18192,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,1819202 +1100105,55,18193,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,1819301 +1100105,55,18193,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,1819302 +1100105,55,18194,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,1819401 +1100105,55,18194,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,1819402 +1100105,55,18195,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1819501 +1100105,55,18195,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1819502 +1100105,55,18196,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1819601 +1100105,55,18196,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1819602 +1100105,55,18197,1,24,1,-9,-9,6,6,1,16,4,0,0.0,1819701 +1100105,55,18197,2,23,1,5,6,1,6,1,16,4,611M1,7870.0,1819702 +1100105,55,18198,1,20,2,4,5,1,1,1,15,4,7115,8564.0,1819801 +1100105,55,18198,2,20,1,10,3,6,1,1,15,4,7112,8562.0,1819802 +1100105,55,18199,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1819901 +1100105,55,18199,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1819902 +1100105,55,18200,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1820001 +1100105,55,18200,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1820002 +1100105,55,18201,1,93,2,-9,-9,6,2,1,-9,4,0,0.0,1820101 +1100105,55,18201,2,66,2,-9,-9,6,2,1,-9,2,52M1,6870.0,1820102 +1100105,55,18202,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1820201 +1100105,55,18202,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1820202 +1100105,55,18203,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,1820301 +1100105,55,18203,2,62,2,-9,-9,6,2,1,-9,4,813M,9170.0,1820302 +1100105,55,18204,1,55,2,-9,-9,3,1,1,-9,4,712,8570.0,1820401 +1100105,55,18204,2,61,1,-9,-9,3,1,1,-9,4,712,8570.0,1820402 +1100105,55,18205,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,1820501 +1100105,55,18205,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,1820502 +1100105,55,18206,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1820601 +1100105,55,18206,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1820602 +1100105,55,18207,1,25,2,10,5,6,1,1,16,4,611M1,7870.0,1820701 +1100105,55,18207,2,25,2,-9,-9,6,1,1,16,4,5411,7270.0,1820702 +1100105,55,18208,1,23,2,-9,-9,6,1,1,16,4,611M3,7890.0,1820801 +1100105,55,18208,2,24,2,-9,-9,6,1,1,16,4,813M,9170.0,1820802 +1100105,55,18209,1,25,2,35,4,6,1,1,16,4,6111,7860.0,1820901 +1100105,55,18209,2,23,2,18,5,6,1,1,16,4,6214,8090.0,1820902 +1100105,55,18210,1,23,1,35,1,3,8,2,-9,4,44511,4971.0,1821001 +1100105,55,18210,2,25,1,-9,-9,6,8,2,15,3,0,0.0,1821002 +1100105,55,18211,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,1821101 +1100105,55,18212,1,72,1,50,1,1,1,1,-9,4,923,9480.0,1821201 +1100105,55,18213,1,40,2,52,1,1,9,1,-9,4,5415,7380.0,1821301 +1100105,55,18214,1,53,1,60,1,1,6,1,-9,4,23,770.0,1821401 +1100105,55,18215,1,36,1,40,1,1,2,1,16,2,928P,9590.0,1821501 +1100105,55,18216,1,48,2,40,1,1,1,1,-9,4,813M,9170.0,1821601 +1100105,55,18217,1,54,1,40,1,1,1,1,-9,4,52M2,6970.0,1821701 +1100105,55,18218,1,45,1,55,1,1,1,1,-9,4,515,6670.0,1821801 +1100105,55,18219,1,54,1,40,1,1,1,1,-9,4,52M2,6970.0,1821901 +1100105,55,18220,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1822001 +1100105,55,18221,1,51,1,65,1,1,1,1,-9,4,622M,8191.0,1822101 +1100105,55,18222,1,38,1,50,1,1,1,1,-9,4,5411,7270.0,1822201 +1100105,55,18223,1,43,1,60,1,1,1,1,-9,4,621M,8180.0,1822301 +1100105,55,18224,1,46,1,70,1,1,1,1,-9,4,515,6670.0,1822401 +1100105,55,18225,1,43,1,60,1,1,1,1,-9,4,621M,8180.0,1822501 +1100105,55,18226,1,50,1,55,1,1,1,1,-9,4,8139Z,9190.0,1822601 +1100105,55,18227,1,39,1,80,1,1,1,1,-9,4,5191ZM,6780.0,1822701 +1100105,55,18228,1,48,1,50,1,1,1,1,-9,4,813M,9170.0,1822801 +1100105,55,18229,1,46,2,40,1,2,1,1,-9,4,5418,7470.0,1822901 +1100105,55,18230,1,60,1,32,1,1,1,1,-9,4,6212,7980.0,1823001 +1100105,55,18231,1,44,1,60,1,1,1,1,-9,2,5416,7390.0,1823101 +1100105,55,18232,1,57,1,40,1,1,1,1,-9,4,5221M,6880.0,1823201 +1100105,55,18233,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1823301 +1100105,55,18234,1,64,2,60,1,1,1,3,-9,4,5416,7390.0,1823401 +1100105,55,18235,1,64,2,60,1,1,1,3,-9,4,5416,7390.0,1823501 +1100105,55,18236,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,1823601 +1100105,55,18237,1,28,2,55,1,1,1,1,-9,4,5411,7270.0,1823701 +1100105,55,18238,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1823801 +1100105,55,18239,1,33,1,45,1,1,1,1,-9,4,6212,7980.0,1823901 +1100105,55,18240,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1824001 +1100105,55,18241,1,81,1,-9,-9,6,1,1,-9,4,0,0.0,1824101 +1100105,55,18242,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1824201 +1100105,55,18243,1,76,1,60,1,1,1,1,-9,4,7111,8561.0,1824301 +1100105,55,18244,1,52,1,99,1,1,9,1,-9,4,92MP,9470.0,1824401 +1100105,55,18245,1,43,1,60,1,1,6,1,-9,4,5416,7390.0,1824501 +1100105,55,18246,1,38,1,40,1,1,2,1,-9,4,522M,6890.0,1824601 +1100105,55,18247,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,1824701 +1100105,55,18248,1,39,1,43,1,1,1,1,-9,4,481,6070.0,1824801 +1100105,55,18249,1,35,1,40,1,1,1,1,-9,4,92M2,9570.0,1824901 +1100105,55,18250,1,60,2,60,1,1,1,1,-9,4,813M,9170.0,1825001 +1100105,55,18251,1,50,1,60,1,1,1,1,-9,4,611M3,7890.0,1825101 +1100105,55,18252,1,60,2,60,1,1,1,1,-9,4,813M,9170.0,1825201 +1100105,55,18253,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,1825301 +1100105,55,18254,1,60,1,45,1,1,1,1,-9,4,5416,7390.0,1825401 +1100105,55,18255,1,46,1,50,1,1,1,1,-9,4,928P,9590.0,1825501 +1100105,55,18256,1,41,1,40,1,1,1,23,-9,4,3254,2190.0,1825601 +1100105,55,18257,1,28,1,70,1,1,2,1,-9,4,5416,7390.0,1825701 +1100105,55,18258,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,1825801 +1100105,55,18259,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1825901 +1100105,55,18260,1,33,2,40,1,1,1,1,-9,4,5411,7270.0,1826001 +1100105,55,18261,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1826101 +1100105,55,18262,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,1826201 +1100105,55,18263,1,30,1,50,1,1,1,1,-9,4,561M,7780.0,1826301 +1100105,55,18264,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,1826401 +1100105,55,18265,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1826501 +1100105,55,18266,1,67,1,40,1,1,2,1,-9,4,92M2,9570.0,1826601 +1100105,55,18267,1,66,2,40,1,1,1,1,16,4,6111,7860.0,1826701 +1100105,55,18268,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,1826801 +1100105,55,18269,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,1826901 +1100105,55,18270,1,35,2,55,1,1,9,1,-9,4,928P,9590.0,1827001 +1100105,55,18271,1,43,1,40,1,1,6,1,-9,4,5415,7380.0,1827101 +1100105,55,18272,1,43,2,40,1,1,6,1,-9,4,928P,9590.0,1827201 +1100105,55,18273,1,35,2,60,1,1,6,1,-9,4,488,6290.0,1827301 +1100105,55,18274,1,35,2,60,1,1,6,1,-9,4,488,6290.0,1827401 +1100105,55,18275,1,63,1,40,1,1,2,1,-9,4,4539,5580.0,1827501 +1100105,55,18276,1,42,2,40,1,1,2,1,-9,4,928P,9590.0,1827601 +1100105,55,18277,1,42,1,50,1,1,1,1,-9,4,928P,9590.0,1827701 +1100105,55,18278,1,35,1,42,1,1,1,1,-9,4,5415,7380.0,1827801 +1100105,55,18279,1,53,2,40,1,1,1,1,-9,4,51912,6770.0,1827901 +1100105,55,18280,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,1828001 +1100105,55,18281,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,1828101 +1100105,55,18282,1,39,2,40,1,1,1,1,-9,4,92M2,9570.0,1828201 +1100105,55,18283,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,1828301 +1100105,55,18284,1,42,2,50,1,1,1,1,-9,4,81393,9180.0,1828401 +1100105,55,18285,1,37,1,40,2,1,1,1,-9,4,5417,7460.0,1828501 +1100105,55,18286,1,39,2,60,1,1,1,1,-9,4,928P,9590.0,1828601 +1100105,55,18287,1,51,1,40,1,1,1,1,-9,4,5415,7380.0,1828701 +1100105,55,18288,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,1828801 +1100105,55,18289,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,1828901 +1100105,55,18290,1,54,1,40,1,1,1,1,-9,4,813M,9170.0,1829001 +1100105,55,18291,1,37,2,50,1,1,1,1,-9,4,515,6670.0,1829101 +1100105,55,18292,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,1829201 +1100105,55,18293,1,35,2,55,1,1,1,1,-9,4,92MP,9470.0,1829301 +1100105,55,18294,1,62,2,40,1,1,1,1,-9,4,5416,7390.0,1829401 +1100105,55,18295,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,1829501 +1100105,55,18296,1,51,1,40,1,1,1,1,-9,4,23,770.0,1829601 +1100105,55,18297,1,37,2,50,1,4,1,1,16,1,928110P1,9670.0,1829701 +1100105,55,18298,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,1829801 +1100105,55,18299,1,60,1,40,1,1,1,1,-9,4,814,9290.0,1829901 +1100105,55,18300,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,1830001 +1100105,55,18301,1,36,1,50,1,1,1,1,-9,4,7211,8660.0,1830101 +1100105,55,18302,1,60,1,40,1,1,1,1,-9,4,23,770.0,1830201 +1100105,55,18303,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,1830301 +1100105,55,18304,1,54,1,40,1,1,1,1,-9,4,6111,7860.0,1830401 +1100105,55,18305,1,39,1,40,1,1,1,1,-9,4,928P,9590.0,1830501 +1100105,55,18306,1,36,1,40,1,1,1,1,-9,4,813M,9170.0,1830601 +1100105,55,18307,1,40,1,40,1,1,1,1,-9,4,92M2,9570.0,1830701 +1100105,55,18308,1,57,1,50,1,1,1,1,-9,4,813M,9170.0,1830801 +1100105,55,18309,1,37,2,50,1,4,1,1,16,1,928110P1,9670.0,1830901 +1100105,55,18310,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,1831001 +1100105,55,18311,1,55,1,50,1,1,8,7,-9,4,928P,9590.0,1831101 +1100105,55,18312,1,39,1,40,1,1,1,16,-9,4,923,9480.0,1831201 +1100105,55,18313,1,57,2,70,1,1,1,16,-9,4,813M,9170.0,1831301 +1100105,55,18314,1,31,1,40,1,1,9,1,-9,4,53M,7190.0,1831401 +1100105,55,18315,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1831501 +1100105,55,18316,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1831601 +1100105,55,18317,1,34,2,60,1,1,2,1,-9,4,5416,7390.0,1831701 +1100105,55,18318,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1831801 +1100105,55,18319,1,31,2,40,1,1,1,1,-9,4,5413,7290.0,1831901 +1100105,55,18320,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1832001 +1100105,55,18321,1,33,1,55,1,1,1,1,-9,2,92MP,9470.0,1832101 +1100105,55,18322,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,1832201 +1100105,55,18323,1,33,2,40,1,1,1,1,-9,4,611M3,7890.0,1832301 +1100105,55,18324,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1832401 +1100105,55,18325,1,25,1,40,1,1,1,1,-9,4,5416,7390.0,1832501 +1100105,55,18326,1,32,1,45,1,1,1,1,-9,4,522M,6890.0,1832601 +1100105,55,18327,1,32,2,40,1,1,1,1,-9,4,92MP,9470.0,1832701 +1100105,55,18328,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,1832801 +1100105,55,18329,1,31,1,50,1,1,1,1,-9,4,923,9480.0,1832901 +1100105,55,18330,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,1833001 +1100105,55,18331,1,25,1,70,1,1,1,1,16,4,928P,9590.0,1833101 +1100105,55,18332,1,29,1,40,1,4,1,1,-9,1,928110P3,9690.0,1833201 +1100105,55,18333,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1833301 +1100105,55,18334,1,31,2,40,1,1,1,1,-9,4,923,9480.0,1833401 +1100105,55,18335,1,32,1,45,1,1,1,1,-9,4,928P,9590.0,1833501 +1100105,55,18336,1,33,1,50,1,1,1,1,-9,4,9211MP,9370.0,1833601 +1100105,55,18337,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,1833701 +1100105,55,18338,1,31,1,50,1,1,1,1,-9,4,923,9480.0,1833801 +1100105,55,18339,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,1833901 +1100105,55,18340,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1834001 +1100105,55,18341,1,34,2,60,1,1,1,1,-9,4,5417,7460.0,1834101 +1100105,55,18342,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1834201 +1100105,55,18343,1,32,2,40,1,1,9,11,-9,4,813M,9170.0,1834301 +1100105,55,18344,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,1834401 +1100105,55,18345,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,1834501 +1100105,55,18346,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1834601 +1100105,55,18347,1,72,2,40,1,1,2,1,-9,4,5411,7270.0,1834701 +1100105,55,18348,1,70,2,40,1,1,1,1,-9,4,5411,7270.0,1834801 +1100105,55,18349,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1834901 +1100105,55,18350,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,1835001 +1100105,55,18351,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1835101 +1100105,55,18352,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1835201 +1100105,55,18353,1,39,2,40,1,1,6,1,-9,4,5221M,6880.0,1835301 +1100105,55,18354,1,44,2,45,1,1,6,1,-9,4,813M,9170.0,1835401 +1100105,55,18355,1,40,2,30,3,1,6,1,-9,4,5416,7390.0,1835501 +1100105,55,18356,1,40,2,60,1,1,6,1,-9,4,813M,9170.0,1835601 +1100105,55,18357,1,63,1,20,4,1,2,1,-9,4,23,770.0,1835701 +1100105,55,18358,1,48,1,40,1,1,2,1,-9,4,722Z,8680.0,1835801 +1100105,55,18359,1,46,2,38,1,1,2,1,-9,4,5417,7460.0,1835901 +1100105,55,18360,1,37,1,35,1,1,1,1,-9,4,6111,7860.0,1836001 +1100105,55,18361,1,48,1,45,1,1,1,1,-9,4,813M,9170.0,1836101 +1100105,55,18362,1,35,1,45,1,1,1,1,-9,4,515,6670.0,1836201 +1100105,55,18363,1,56,2,55,1,1,1,1,16,4,6111,7860.0,1836301 +1100105,55,18364,1,37,1,40,1,1,1,1,-9,4,5415,7380.0,1836401 +1100105,55,18365,1,42,1,40,1,1,1,1,-9,2,622M,8191.0,1836501 +1100105,55,18366,1,48,2,40,1,2,1,1,-9,4,722Z,8680.0,1836601 +1100105,55,18367,1,41,2,50,1,1,1,1,-9,4,8139Z,9190.0,1836701 +1100105,55,18368,1,40,1,40,1,1,1,1,-9,4,52M1,6870.0,1836801 +1100105,55,18369,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,1836901 +1100105,55,18370,1,56,2,40,1,1,1,1,-9,4,923,9480.0,1837001 +1100105,55,18371,1,50,1,25,6,1,1,1,-9,4,5416,7390.0,1837101 +1100105,55,18372,1,38,1,40,1,1,1,1,-9,4,5417,7460.0,1837201 +1100105,55,18373,1,60,1,40,1,1,1,1,-9,4,5417,7460.0,1837301 +1100105,55,18374,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,1837401 +1100105,55,18375,1,60,1,40,1,1,1,1,-9,4,5417,7460.0,1837501 +1100105,55,18376,1,38,2,70,1,1,1,1,-9,4,7211,8660.0,1837601 +1100105,55,18377,1,40,1,40,1,1,1,1,-9,4,813M,9170.0,1837701 +1100105,55,18378,1,37,2,40,1,1,1,1,-9,4,92119,9390.0,1837801 +1100105,55,18379,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,1837901 +1100105,55,18380,1,44,2,42,1,1,1,23,-9,4,7211,8660.0,1838001 +1100105,55,18381,1,39,1,60,3,1,5,2,-9,4,7224,8690.0,1838101 +1100105,55,18382,1,38,2,60,1,1,8,2,-9,4,81393,9180.0,1838201 +1100105,55,18383,1,32,1,40,1,1,9,1,-9,4,92113,9380.0,1838301 +1100105,55,18384,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1838401 +1100105,55,18385,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,1838501 +1100105,55,18386,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,1838601 +1100105,55,18387,1,23,1,65,1,1,9,1,15,4,5416,7390.0,1838701 +1100105,55,18388,1,31,2,40,1,1,6,1,-9,4,5416,7390.0,1838801 +1100105,55,18389,1,32,1,80,1,1,6,1,-9,4,622M,8191.0,1838901 +1100105,55,18390,1,25,2,42,1,1,6,1,-9,4,5416,7390.0,1839001 +1100105,55,18391,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,1839101 +1100105,55,18392,1,29,1,50,1,1,6,1,-9,4,9211MP,9370.0,1839201 +1100105,55,18393,1,25,2,50,4,1,6,1,-9,4,5411,7270.0,1839301 +1100105,55,18394,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,1839401 +1100105,55,18395,1,34,2,40,1,1,2,1,-9,4,92MP,9470.0,1839501 +1100105,55,18396,1,30,1,40,1,1,2,1,-9,4,5417,7460.0,1839601 +1100105,55,18397,1,26,2,50,1,1,2,1,16,4,515,6670.0,1839701 +1100105,55,18398,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,1839801 +1100105,55,18399,1,28,1,45,1,1,1,1,-9,4,531M,7071.0,1839901 +1100105,55,18400,1,34,1,40,1,1,1,1,-9,4,813M,9170.0,1840001 +1100105,55,18401,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,1840101 +1100105,55,18402,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,1840201 +1100105,55,18403,1,32,1,50,1,1,1,1,-9,4,92M2,9570.0,1840301 +1100105,55,18404,1,28,2,40,1,1,1,1,-9,4,713Z,8590.0,1840401 +1100105,55,18405,1,28,2,40,1,1,1,1,-9,4,722Z,8680.0,1840501 +1100105,55,18406,1,27,2,45,1,1,1,1,-9,4,611M1,7870.0,1840601 +1100105,55,18407,1,31,2,45,1,1,1,1,16,4,5416,7390.0,1840701 +1100105,55,18408,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,1840801 +1100105,55,18409,1,34,1,40,1,1,1,1,-9,4,813M,9170.0,1840901 +1100105,55,18410,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1841001 +1100105,55,18411,1,32,1,45,1,1,1,1,-9,4,712,8570.0,1841101 +1100105,55,18412,1,32,1,50,1,1,1,1,-9,4,424M,4380.0,1841201 +1100105,55,18413,1,28,2,60,1,1,1,1,-9,4,9211MP,9370.0,1841301 +1100105,55,18414,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1841401 +1100105,55,18415,1,33,1,40,1,1,1,1,-9,4,55,7570.0,1841501 +1100105,55,18416,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,1841601 +1100105,55,18417,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,1841701 +1100105,55,18418,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1841801 +1100105,55,18419,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,1841901 +1100105,55,18420,1,25,1,55,1,1,1,1,-9,4,488,6290.0,1842001 +1100105,55,18421,1,28,2,42,1,1,1,1,-9,4,44511,4971.0,1842101 +1100105,55,18422,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1842201 +1100105,55,18423,1,32,2,50,1,1,1,1,-9,4,813M,9170.0,1842301 +1100105,55,18424,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,1842401 +1100105,55,18425,1,33,1,40,1,1,1,1,-9,4,55,7570.0,1842501 +1100105,55,18426,1,33,1,40,1,1,1,1,-9,4,5411,7270.0,1842601 +1100105,55,18427,1,28,2,48,2,1,1,1,-9,4,928P,9590.0,1842701 +1100105,55,18428,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,1842801 +1100105,55,18429,1,31,2,45,1,1,1,1,-9,4,92M1,9490.0,1842901 +1100105,55,18430,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,1843001 +1100105,55,18431,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,1843101 +1100105,55,18432,1,27,1,40,1,1,1,1,-9,4,8139Z,9190.0,1843201 +1100105,55,18433,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,1843301 +1100105,55,18434,1,23,2,45,5,1,1,1,-9,4,5416,7390.0,1843401 +1100105,55,18435,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,1843501 +1100105,55,18436,1,25,1,55,1,1,1,1,-9,4,488,6290.0,1843601 +1100105,55,18437,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,1843701 +1100105,55,18438,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,1843801 +1100105,55,18439,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,1843901 +1100105,55,18440,1,33,2,60,1,1,1,1,-9,4,611M3,7890.0,1844001 +1100105,55,18441,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,1844101 +1100105,55,18442,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,1844201 +1100105,55,18443,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,1844301 +1100105,55,18444,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,1844401 +1100105,55,18445,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,1844501 +1100105,55,18446,1,29,1,50,1,1,1,1,-9,4,3116,1180.0,1844601 +1100105,55,18447,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,1844701 +1100105,55,18448,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,1844801 +1100105,55,18449,1,32,1,50,1,1,1,1,-9,4,424M,4380.0,1844901 +1100105,55,18450,1,29,2,65,1,1,1,1,-9,4,5411,7270.0,1845001 +1100105,55,18451,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1845101 +1100105,55,18452,1,27,2,50,1,1,1,1,-9,4,5417,7460.0,1845201 +1100105,55,18453,1,28,2,40,1,1,1,1,-9,4,611M1,7870.0,1845301 +1100105,55,18454,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,1845401 +1100105,55,18455,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1845501 +1100105,55,18456,1,27,2,40,1,1,1,2,-9,4,923,9480.0,1845601 +1100105,55,18457,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,1845701 +1100105,55,18458,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,1845801 +1100105,55,18459,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,1845901 +1100105,55,18460,1,32,1,40,4,1,1,4,-9,4,5415,7380.0,1846001 +1100105,55,18461,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1846101 +1100105,55,18462,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,1846201 +1100105,55,18463,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,1846301 +1100105,55,18464,1,66,2,-9,-9,6,2,1,-9,4,92119,9390.0,1846401 +1100105,55,18465,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1846501 +1100105,55,18466,1,69,2,-9,-9,6,1,1,-9,4,92M2,9570.0,1846601 +1100105,55,18467,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1846701 +1100105,55,18468,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,1846801 +1100105,55,18469,1,70,1,-9,-9,6,1,1,-9,4,0,0.0,1846901 +1100105,55,18470,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1847001 +1100105,55,18471,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1847101 +1100105,55,18472,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,1847201 +1100105,55,18473,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1847301 +1100105,55,18474,1,59,2,-9,-9,6,1,1,-9,4,52M1,6870.0,1847401 +1100105,55,18475,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1847501 +1100105,55,18476,1,70,2,5,6,1,2,1,-9,4,5613,7580.0,1847601 +1100105,55,18477,1,80,1,40,1,1,1,1,-9,2,92M1,9490.0,1847701 +1100105,55,18478,1,69,2,32,1,1,1,1,-9,4,8139Z,9190.0,1847801 +1100105,55,18479,1,67,1,50,1,1,1,1,-9,4,23,770.0,1847901 +1100105,55,18480,1,60,1,40,4,1,2,1,-9,4,23,770.0,1848001 +1100105,55,18481,1,51,2,50,1,1,2,1,-9,4,7211,8660.0,1848101 +1100105,55,18482,1,40,1,40,1,1,2,1,-9,4,722Z,8680.0,1848201 +1100105,55,18483,1,41,1,40,1,1,2,1,-9,4,5414,7370.0,1848301 +1100105,55,18484,1,54,1,60,1,1,1,1,-9,4,814,9290.0,1848401 +1100105,55,18485,1,37,1,40,1,1,1,1,-9,4,813M,9170.0,1848501 +1100105,55,18486,1,37,1,50,1,1,1,1,-9,4,9211MP,9370.0,1848601 +1100105,55,18487,1,39,1,65,1,1,1,1,-9,4,722Z,8680.0,1848701 +1100105,55,18488,1,36,1,40,3,2,1,1,-9,4,5417,7460.0,1848801 +1100105,55,18489,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,1848901 +1100105,55,18490,1,51,1,80,1,1,1,1,16,4,611M1,7870.0,1849001 +1100105,55,18491,1,51,1,80,1,1,1,1,16,4,611M1,7870.0,1849101 +1100105,55,18492,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,1849201 +1100105,55,18493,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,1849301 +1100105,55,18494,1,23,1,40,4,1,9,1,-9,4,5417,7460.0,1849401 +1100105,55,18495,1,28,2,15,5,2,6,1,16,4,611M1,7870.0,1849501 +1100105,55,18496,1,24,1,50,2,1,6,1,-9,4,5417,7460.0,1849601 +1100105,55,18497,1,27,1,55,1,1,6,1,16,4,5191ZM,6780.0,1849701 +1100105,55,18498,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,1849801 +1100105,55,18499,1,29,1,60,3,2,2,1,-9,4,5616,7680.0,1849901 +1100105,55,18500,1,27,2,40,2,1,1,1,-9,4,5241,6991.0,1850001 +1100105,55,18501,1,25,2,45,1,1,1,1,-9,4,813M,9170.0,1850101 +1100105,55,18502,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,1850201 +1100105,55,18503,1,22,2,40,1,1,1,1,15,4,522M,6890.0,1850301 +1100105,55,18504,1,27,2,40,3,1,1,1,-9,4,482,6080.0,1850401 +1100105,55,18505,1,30,2,55,1,1,1,1,-9,4,928P,9590.0,1850501 +1100105,55,18506,1,30,2,45,3,1,1,1,-9,4,522M,6890.0,1850601 +1100105,55,18507,1,28,1,40,1,1,1,1,-9,4,51111,6470.0,1850701 +1100105,55,18508,1,31,1,40,5,1,1,1,-9,4,5417,7460.0,1850801 +1100105,55,18509,1,28,2,50,5,1,1,1,-9,4,92MP,9470.0,1850901 +1100105,55,18510,1,23,1,45,3,1,1,1,-9,4,454110,5593.0,1851001 +1100105,55,18511,1,25,2,40,1,1,1,1,-9,4,5413,7290.0,1851101 +1100105,55,18512,1,25,2,40,1,1,1,1,-9,4,712,8570.0,1851201 +1100105,55,18513,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,1851301 +1100105,55,18514,1,28,2,42,1,1,1,1,-9,4,812112,8980.0,1851401 +1100105,55,18515,1,23,1,45,3,1,1,1,-9,4,454110,5593.0,1851501 +1100105,55,18516,1,23,2,40,1,1,1,1,-9,4,5411,7270.0,1851601 +1100105,55,18517,1,34,2,45,1,1,1,1,-9,4,7111,8561.0,1851701 +1100105,55,18518,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,1851801 +1100105,55,18519,1,22,2,40,1,1,1,1,15,4,522M,6890.0,1851901 +1100105,55,18520,1,25,2,40,1,1,1,1,-9,4,712,8570.0,1852001 +1100105,55,18521,1,26,1,90,1,1,1,1,16,4,5417,7460.0,1852101 +1100105,55,18522,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,1852201 +1100105,55,18523,1,25,2,40,1,1,1,1,-9,4,92M2,9570.0,1852301 +1100105,55,18524,1,26,1,55,5,1,1,1,-9,4,5411,7270.0,1852401 +1100105,55,18525,1,26,2,37,1,1,1,1,-9,4,928P,9590.0,1852501 +1100105,55,18526,1,33,2,40,2,1,8,16,-9,4,712,8570.0,1852601 +1100105,55,18527,1,24,2,50,1,1,1,16,-9,4,7211,8660.0,1852701 +1100105,55,18528,1,23,2,40,3,1,1,4,-9,4,5417,7460.0,1852801 +1100105,55,18529,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1852901 +1100105,55,18530,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1853001 +1100105,55,18531,1,77,2,-9,-9,6,2,1,-9,4,0,0.0,1853101 +1100105,55,18532,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,1853201 +1100105,55,18533,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,1853301 +1100105,55,18534,1,82,1,-9,-9,6,2,1,-9,2,0,0.0,1853401 +1100105,55,18535,1,71,1,-9,-9,6,1,1,-9,4,0,0.0,1853501 +1100105,55,18536,1,89,2,-9,-9,6,1,1,-9,4,0,0.0,1853601 +1100105,55,18537,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1853701 +1100105,55,18538,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1853801 +1100105,55,18539,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1853901 +1100105,55,18540,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1854001 +1100105,55,18541,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1854101 +1100105,55,18542,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,1854201 +1100105,55,18543,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1854301 +1100105,55,18544,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1854401 +1100105,55,18545,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,1854501 +1100105,55,18546,1,53,1,40,3,6,3,1,-9,4,562,7790.0,1854601 +1100105,55,18547,1,63,2,-9,-9,6,2,1,-9,4,814,9290.0,1854701 +1100105,55,18548,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,1854801 +1100105,55,18549,1,50,2,20,6,3,1,1,-9,4,531M,7071.0,1854901 +1100105,55,18550,1,42,1,40,5,3,1,1,-9,4,52M2,6970.0,1855001 +1100105,55,18551,1,27,2,-9,-9,6,2,1,-9,4,5616,7680.0,1855101 +1100105,55,18552,1,34,2,-9,-9,6,1,1,-9,4,611M1,7870.0,1855201 +1100105,55,18553,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1855301 +1100105,55,18554,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1855401 +1100105,55,18555,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1855501 +1100105,55,18556,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,1855601 +1100105,55,18557,1,61,2,20,1,1,2,1,-9,4,5617Z,7690.0,1855701 +1100105,55,18558,1,54,1,40,6,1,2,1,-9,4,531M,7071.0,1855801 +1100105,55,18559,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,1855901 +1100105,55,18560,1,59,1,30,2,1,1,1,-9,4,4853,6190.0,1856001 +1100105,55,18561,1,52,1,60,1,1,1,1,-9,4,5415,7380.0,1856101 +1100105,55,18562,1,53,1,23,4,1,1,1,-9,4,928P,9590.0,1856201 +1100105,55,18563,1,48,2,45,1,1,1,1,-9,4,5416,7390.0,1856301 +1100105,55,18564,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,1856401 +1100105,55,18565,1,64,2,4,5,1,1,11,-9,4,7211,8660.0,1856501 +1100105,55,18566,1,40,1,30,6,1,9,19,-9,4,111,170.0,1856601 +1100105,55,18567,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1856701 +1100105,55,18568,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1856801 +1100105,55,18569,1,31,1,40,1,1,6,1,-9,4,5415,7380.0,1856901 +1100105,55,18570,1,31,2,16,2,1,6,1,-9,4,722Z,8680.0,1857001 +1100105,55,18571,1,31,2,16,2,1,6,1,-9,4,722Z,8680.0,1857101 +1100105,55,18572,1,33,2,18,5,1,2,1,16,4,6216,8170.0,1857201 +1100105,55,18573,1,26,2,20,4,1,1,1,-9,4,52M2,6970.0,1857301 +1100105,55,18574,1,23,2,40,1,1,1,1,16,4,622M,8191.0,1857401 +1100105,55,18575,1,27,1,40,6,1,1,1,-9,4,5415,7380.0,1857501 +1100105,55,18576,1,33,2,40,1,1,1,1,15,2,483,6090.0,1857601 +1100105,55,18577,1,25,1,35,1,1,1,1,16,4,813M,9170.0,1857701 +1100105,55,18578,1,26,2,35,5,1,1,1,-9,4,813M,9170.0,1857801 +1100105,55,18579,1,29,1,40,4,1,1,1,-9,4,5411,7270.0,1857901 +1100105,55,18580,1,26,2,35,5,1,1,1,-9,4,813M,9170.0,1858001 +1100105,55,18581,1,28,2,40,5,1,1,23,-9,4,928P,9590.0,1858101 +1100105,55,18582,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,1858201 +1100105,55,18583,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,1858301 +1100105,55,18584,1,65,2,-9,-9,6,9,1,-9,4,0,0.0,1858401 +1100105,55,18585,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,1858501 +1100105,55,18586,1,73,1,-9,-9,6,2,1,-9,4,623M,8290.0,1858601 +1100105,55,18587,1,80,1,-9,-9,6,2,1,-9,4,0,0.0,1858701 +1100105,55,18588,1,73,2,-9,-9,6,2,1,-9,4,0,0.0,1858801 +1100105,55,18589,1,93,2,-9,-9,6,2,1,-9,4,0,0.0,1858901 +1100105,55,18590,1,71,2,-9,-9,6,2,1,-9,4,0,0.0,1859001 +1100105,55,18591,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,1859101 +1100105,55,18592,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,1859201 +1100105,55,18593,1,72,1,-9,-9,6,2,1,-9,4,0,0.0,1859301 +1100105,55,18594,1,93,2,-9,-9,6,2,1,-9,4,0,0.0,1859401 +1100105,55,18595,1,82,2,-9,-9,6,2,1,-9,4,0,0.0,1859501 +1100105,55,18596,1,81,1,-9,-9,6,2,1,-9,2,0,0.0,1859601 +1100105,55,18597,1,66,1,-9,-9,6,2,1,-9,4,45321,5480.0,1859701 +1100105,55,18598,1,87,2,-9,-9,6,2,1,-9,2,0,0.0,1859801 +1100105,55,18599,1,65,1,-9,-9,3,2,1,-9,4,6111,7860.0,1859901 +1100105,55,18600,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1860001 +1100105,55,18601,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,1860101 +1100105,55,18602,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,1860201 +1100105,55,18603,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1860301 +1100105,55,18604,1,67,2,30,4,6,1,1,-9,4,7115,8564.0,1860401 +1100105,55,18605,1,88,2,-9,-9,6,1,1,-9,4,0,0.0,1860501 +1100105,55,18606,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,1860601 +1100105,55,18607,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,1860701 +1100105,55,18608,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,1860801 +1100105,55,18609,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,1860901 +1100105,55,18610,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1861001 +1100105,55,18611,1,70,2,-9,-9,6,2,3,-9,4,0,0.0,1861101 +1100105,55,18612,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,1861201 +1100105,55,18613,1,79,2,-9,-9,3,1,3,-9,4,999920,9920.0,1861301 +1100105,55,18614,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,1861401 +1100105,55,18615,1,38,1,-9,-9,6,6,1,-9,4,928P,9590.0,1861501 +1100105,55,18616,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,1861601 +1100105,55,18617,1,43,2,-9,-9,6,2,1,-9,4,0,0.0,1861701 +1100105,55,18618,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,1861801 +1100105,55,18619,1,53,1,-9,-9,6,2,1,-9,4,0,0.0,1861901 +1100105,55,18620,1,60,2,-9,-9,6,2,1,-9,4,4523,5391.0,1862001 +1100105,55,18621,1,64,2,-9,-9,6,2,1,-9,4,0,0.0,1862101 +1100105,55,18622,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,1862201 +1100105,55,18623,1,59,1,-9,-9,6,2,1,-9,4,0,0.0,1862301 +1100105,55,18624,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,1862401 +1100105,55,18625,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,1862501 +1100105,55,18626,1,45,1,30,5,6,1,1,-9,4,5411,7270.0,1862601 +1100105,55,18627,1,56,1,29,5,3,1,1,-9,4,5613,7580.0,1862701 +1100105,55,18628,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,1862801 +1100105,55,18629,1,60,1,10,1,6,1,1,-9,4,5415,7380.0,1862901 +1100105,55,18630,1,45,1,30,5,6,1,1,-9,4,5411,7270.0,1863001 +1100105,55,18631,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,1863101 +1100105,55,18632,1,56,1,29,5,3,1,1,-9,4,5613,7580.0,1863201 +1100105,55,18633,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,1863301 +1100105,55,18634,1,36,2,45,6,6,1,23,-9,4,8139Z,9190.0,1863401 +1100105,55,18635,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,1863501 +1100105,55,18636,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,1863601 +1100105,55,18637,1,27,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1863701 +1100105,55,18638,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,1863801 +1100105,55,18639,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,1863901 +1100105,55,18640,1,24,2,-9,-9,6,1,1,15,4,0,0.0,1864001 +1100105,55,18641,1,24,2,-9,-9,6,1,1,15,4,0,0.0,1864101 +1100105,55,18642,1,23,2,-9,-9,6,1,1,16,4,5416,7390.0,1864201 +1100105,55,18643,1,21,2,12,6,6,1,1,16,4,611M1,7870.0,1864301 +1100105,55,18644,1,24,2,-9,-9,6,1,1,16,4,6244,8470.0,1864401 +1100105,55,18645,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,1864501 +1100105,55,18646,1,28,2,8,6,3,8,19,-9,4,814,9290.0,1864601 +1100105,55,18647,1,25,2,40,3,3,1,21,-9,4,5417,7460.0,1864701 +1100105,56,18648,1,47,2,27,1,1,6,1,-9,4,812112,8980.0,1864801 +1100105,56,18648,2,44,1,40,1,2,6,1,-9,4,6214,8090.0,1864802 +1100105,56,18648,3,20,1,-9,-9,6,6,1,15,4,0,0.0,1864803 +1100105,56,18648,4,17,2,-9,-9,6,6,1,14,4,0,0.0,1864804 +1100105,56,18648,5,1,2,-9,-9,-9,6,1,-9,-9,0,0.0,1864805 +1100105,56,18648,6,71,1,-9,-9,6,6,1,-9,4,0,0.0,1864806 +1100105,56,18648,7,69,2,-9,-9,6,6,1,-9,4,0,0.0,1864807 +1100105,56,18648,8,61,2,18,6,1,6,1,-9,4,722Z,8680.0,1864808 +1100105,56,18648,9,59,1,40,6,3,6,1,-9,4,722Z,8680.0,1864809 +1100105,56,18648,10,57,1,40,5,1,6,1,-9,4,487,6280.0,1864810 +1100105,56,18648,11,14,1,-9,-9,-9,6,1,8,-9,0,0.0,1864811 +1100105,56,18649,1,47,2,27,1,1,6,1,-9,4,812112,8980.0,1864901 +1100105,56,18649,2,44,1,40,1,2,6,1,-9,4,6214,8090.0,1864902 +1100105,56,18649,3,20,1,-9,-9,6,6,1,15,4,0,0.0,1864903 +1100105,56,18649,4,17,2,-9,-9,6,6,1,14,4,0,0.0,1864904 +1100105,56,18649,5,1,2,-9,-9,-9,6,1,-9,-9,0,0.0,1864905 +1100105,56,18649,6,71,1,-9,-9,6,6,1,-9,4,0,0.0,1864906 +1100105,56,18649,7,69,2,-9,-9,6,6,1,-9,4,0,0.0,1864907 +1100105,56,18649,8,61,2,18,6,1,6,1,-9,4,722Z,8680.0,1864908 +1100105,56,18649,9,59,1,40,6,3,6,1,-9,4,722Z,8680.0,1864909 +1100105,56,18649,10,57,1,40,5,1,6,1,-9,4,487,6280.0,1864910 +1100105,56,18649,11,14,1,-9,-9,-9,6,1,8,-9,0,0.0,1864911 +1100105,56,18650,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1865001 +1100105,56,18650,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1865002 +1100105,56,18650,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1865003 +1100105,56,18650,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1865004 +1100105,56,18650,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1865005 +1100105,56,18650,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1865006 +1100105,56,18651,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1865101 +1100105,56,18651,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1865102 +1100105,56,18651,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1865103 +1100105,56,18651,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1865104 +1100105,56,18651,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1865105 +1100105,56,18651,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1865106 +1100105,56,18652,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1865201 +1100105,56,18652,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1865202 +1100105,56,18652,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1865203 +1100105,56,18652,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1865204 +1100105,56,18652,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1865205 +1100105,56,18652,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1865206 +1100105,56,18653,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1865301 +1100105,56,18653,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1865302 +1100105,56,18653,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1865303 +1100105,56,18653,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1865304 +1100105,56,18653,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1865305 +1100105,56,18653,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1865306 +1100105,56,18654,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1865401 +1100105,56,18654,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1865402 +1100105,56,18654,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1865403 +1100105,56,18654,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1865404 +1100105,56,18654,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1865405 +1100105,56,18654,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1865406 +1100105,56,18655,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1865501 +1100105,56,18655,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1865502 +1100105,56,18655,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1865503 +1100105,56,18655,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1865504 +1100105,56,18655,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1865505 +1100105,56,18655,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1865506 +1100105,56,18656,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1865601 +1100105,56,18656,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1865602 +1100105,56,18656,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1865603 +1100105,56,18656,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1865604 +1100105,56,18656,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1865605 +1100105,56,18656,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1865606 +1100105,56,18657,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1865701 +1100105,56,18657,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1865702 +1100105,56,18657,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1865703 +1100105,56,18657,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1865704 +1100105,56,18657,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1865705 +1100105,56,18657,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1865706 +1100105,56,18658,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1865801 +1100105,56,18658,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1865802 +1100105,56,18658,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1865803 +1100105,56,18658,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1865804 +1100105,56,18658,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1865805 +1100105,56,18658,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1865806 +1100105,56,18659,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1865901 +1100105,56,18659,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1865902 +1100105,56,18659,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1865903 +1100105,56,18659,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1865904 +1100105,56,18659,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1865905 +1100105,56,18659,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1865906 +1100105,56,18660,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1866001 +1100105,56,18660,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1866002 +1100105,56,18660,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1866003 +1100105,56,18660,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1866004 +1100105,56,18660,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1866005 +1100105,56,18660,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1866006 +1100105,56,18661,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1866101 +1100105,56,18661,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1866102 +1100105,56,18661,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1866103 +1100105,56,18661,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1866104 +1100105,56,18661,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1866105 +1100105,56,18661,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1866106 +1100105,56,18662,1,28,1,40,1,1,1,1,-9,4,6111,7860.0,1866201 +1100105,56,18662,2,34,1,38,1,1,1,1,-9,4,5411,7270.0,1866202 +1100105,56,18662,3,31,1,50,1,1,1,1,-9,4,4441Z,4870.0,1866203 +1100105,56,18663,1,25,2,50,1,1,1,1,-9,4,9211MP,9370.0,1866301 +1100105,56,18663,2,29,2,42,1,1,1,1,-9,4,5418,7470.0,1866302 +1100105,56,18663,3,29,2,50,1,1,1,1,-9,4,813M,9170.0,1866303 +1100105,56,18664,1,32,2,50,1,1,1,1,-9,4,722Z,8680.0,1866401 +1100105,56,18664,2,28,1,40,1,1,1,1,-9,4,928P,9590.0,1866402 +1100105,56,18664,3,25,2,40,1,1,1,1,-9,4,5111Z,6480.0,1866403 +1100105,56,18665,1,26,2,40,1,1,1,1,-9,4,6241,8370.0,1866501 +1100105,56,18665,2,30,2,45,1,1,1,1,-9,4,481,6070.0,1866502 +1100105,56,18665,3,26,2,40,1,1,1,1,-9,4,92M2,9570.0,1866503 +1100105,56,18666,1,29,1,50,1,1,1,1,-9,4,5416,7390.0,1866601 +1100105,56,18666,2,29,1,40,5,1,1,1,-9,4,92MP,9470.0,1866602 +1100105,56,18666,3,27,2,40,1,1,1,1,-9,4,6111,7860.0,1866603 +1100105,56,18667,1,25,2,40,6,1,1,1,-9,4,5613,7580.0,1866701 +1100105,56,18667,2,27,2,48,1,1,1,1,-9,4,611M3,7890.0,1866702 +1100105,56,18667,3,25,2,50,1,1,1,1,-9,4,5416,7390.0,1866703 +1100105,56,18668,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1866801 +1100105,56,18668,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1866802 +1100105,56,18668,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1866803 +1100105,56,18669,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1866901 +1100105,56,18669,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1866902 +1100105,56,18669,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1866903 +1100105,56,18670,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1867001 +1100105,56,18670,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1867002 +1100105,56,18670,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1867003 +1100105,56,18671,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1867101 +1100105,56,18671,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1867102 +1100105,56,18671,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1867103 +1100105,56,18672,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1867201 +1100105,56,18672,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1867202 +1100105,56,18672,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1867203 +1100105,56,18673,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1867301 +1100105,56,18673,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1867302 +1100105,56,18673,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1867303 +1100105,56,18674,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1867401 +1100105,56,18674,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1867402 +1100105,56,18674,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1867403 +1100105,56,18675,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1867501 +1100105,56,18675,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1867502 +1100105,56,18675,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1867503 +1100105,56,18676,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1867601 +1100105,56,18676,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1867602 +1100105,56,18676,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1867603 +1100105,56,18677,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1867701 +1100105,56,18677,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1867702 +1100105,56,18677,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1867703 +1100105,56,18678,1,30,1,50,1,1,6,1,-9,4,5411,7270.0,1867801 +1100105,56,18678,2,27,2,50,1,1,6,1,-9,4,5411,7270.0,1867802 +1100105,56,18679,1,33,1,50,1,1,6,1,-9,4,5416,7390.0,1867901 +1100105,56,18679,2,31,2,45,1,1,1,1,-9,4,52M1,6870.0,1867902 +1100105,56,18680,1,28,1,45,1,1,1,1,-9,4,5416,7390.0,1868001 +1100105,56,18680,2,28,2,45,1,1,1,1,-9,4,5613,7580.0,1868002 +1100105,56,18681,1,33,1,40,1,1,1,1,-9,4,443142,4795.0,1868101 +1100105,56,18681,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,1868102 +1100105,56,18682,1,33,2,40,1,1,1,1,-9,4,92M2,9570.0,1868201 +1100105,56,18682,2,33,1,40,1,1,1,1,-9,4,52M2,6970.0,1868202 +1100105,56,18683,1,31,1,40,1,1,1,1,-9,4,92MP,9470.0,1868301 +1100105,56,18683,2,34,1,40,1,1,1,1,-9,4,92MP,9470.0,1868302 +1100105,56,18684,1,30,2,40,1,1,1,1,-9,4,5411,7270.0,1868401 +1100105,56,18684,2,33,1,50,1,1,1,1,-9,4,5411,7270.0,1868402 +1100105,56,18685,1,32,1,45,1,1,1,1,-9,4,5418,7470.0,1868501 +1100105,56,18685,2,29,2,50,1,1,1,1,-9,4,713Z,8590.0,1868502 +1100105,56,18686,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,1868601 +1100105,56,18686,2,30,2,60,1,1,1,1,-9,4,5411,7270.0,1868602 +1100105,56,18687,1,27,1,60,1,1,1,1,-9,4,9211MP,9370.0,1868701 +1100105,56,18687,2,26,2,40,1,1,1,1,-9,4,481,6070.0,1868702 +1100105,56,18688,1,34,1,65,1,1,1,1,-9,4,5416,7390.0,1868801 +1100105,56,18688,2,34,2,45,1,1,1,1,-9,4,92MP,9470.0,1868802 +1100105,56,18689,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,1868901 +1100105,56,18689,2,27,1,50,1,1,1,1,-9,4,4481,5170.0,1868902 +1100105,56,18690,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,1869001 +1100105,56,18690,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,1869002 +1100105,56,18691,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,1869101 +1100105,56,18691,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,1869102 +1100105,56,18692,1,31,1,70,1,1,1,1,-9,4,3345,3380.0,1869201 +1100105,56,18692,2,30,2,55,1,1,1,1,16,4,622M,8191.0,1869202 +1100105,56,18693,1,33,1,40,1,1,1,1,-9,4,5413,7290.0,1869301 +1100105,56,18693,2,32,1,40,1,1,1,1,-9,4,5413,7290.0,1869302 +1100105,56,18694,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,1869401 +1100105,56,18694,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,1869402 +1100105,56,18695,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,1869501 +1100105,56,18695,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,1869502 +1100105,56,18696,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,1869601 +1100105,56,18696,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,1869602 +1100105,56,18697,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,1869701 +1100105,56,18697,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,1869702 +1100105,56,18698,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,1869801 +1100105,56,18698,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,1869802 +1100105,56,18699,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,1869901 +1100105,56,18699,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,1869902 +1100105,56,18700,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,1870001 +1100105,56,18700,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,1870002 +1100105,56,18701,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,1870101 +1100105,56,18701,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,1870102 +1100105,56,18702,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,1870201 +1100105,56,18702,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,1870202 +1100105,56,18703,1,54,2,60,1,1,2,1,-9,4,45221,5381.0,1870301 +1100105,56,18703,2,18,2,20,6,6,2,1,14,4,722Z,8680.0,1870302 +1100105,56,18704,1,32,1,40,1,1,6,1,-9,4,9211MP,9370.0,1870401 +1100105,56,18704,2,32,2,38,1,1,6,1,-9,4,5418,7470.0,1870402 +1100105,56,18705,1,32,2,40,1,1,6,1,-9,4,9211MP,9370.0,1870501 +1100105,56,18705,2,32,1,40,1,1,1,1,-9,4,5221M,6880.0,1870502 +1100105,56,18706,1,32,1,41,1,1,1,1,-9,4,5121,6570.0,1870601 +1100105,56,18706,2,32,2,42,1,1,6,1,-9,4,515,6670.0,1870602 +1100105,56,18707,1,32,1,70,1,1,1,1,-9,4,51111,6470.0,1870701 +1100105,56,18707,2,31,2,50,1,1,1,1,-9,4,424M,4380.0,1870702 +1100105,56,18708,1,32,1,70,1,1,1,1,-9,4,51111,6470.0,1870801 +1100105,56,18708,2,31,2,50,1,1,1,1,-9,4,424M,4380.0,1870802 +1100105,56,18709,1,34,1,45,1,1,1,1,-9,4,491,6370.0,1870901 +1100105,56,18709,2,31,1,60,1,1,1,1,-9,4,52M1,6870.0,1870902 +1100105,56,18710,1,28,1,42,5,1,1,1,-9,4,5416,7390.0,1871001 +1100105,56,18710,2,27,2,55,1,1,1,1,-9,4,5416,7390.0,1871002 +1100105,56,18711,1,31,1,45,1,1,1,1,-9,4,5416,7390.0,1871101 +1100105,56,18711,2,30,2,39,1,1,1,1,-9,4,622M,8191.0,1871102 +1100105,56,18712,1,29,2,40,1,1,1,1,-9,4,92MP,9470.0,1871201 +1100105,56,18712,2,34,1,60,1,1,1,1,-9,2,5616,7680.0,1871202 +1100105,56,18713,1,31,1,50,1,1,1,1,-9,4,3366,3680.0,1871301 +1100105,56,18713,2,27,2,50,1,1,1,1,-9,4,92M2,9570.0,1871302 +1100105,56,18714,1,32,2,40,1,1,1,1,-9,4,928P,9590.0,1871401 +1100105,56,18714,2,33,1,40,1,1,1,1,-9,4,92113,9380.0,1871402 +1100105,56,18715,1,31,1,40,1,1,1,1,-9,4,5241,6991.0,1871501 +1100105,56,18715,2,29,2,50,1,1,1,1,-9,4,8139Z,9190.0,1871502 +1100105,56,18716,1,29,1,40,1,1,1,1,16,4,6111,7860.0,1871601 +1100105,56,18716,2,30,2,45,1,1,1,1,-9,4,6244,8470.0,1871602 +1100105,56,18717,1,33,2,40,1,1,1,1,-9,4,5417,7460.0,1871701 +1100105,56,18717,2,32,1,40,1,1,1,1,-9,4,8139Z,9190.0,1871702 +1100105,56,18718,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,1871801 +1100105,56,18718,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,1871802 +1100105,56,18719,1,30,1,40,1,1,1,1,-9,4,92119,9390.0,1871901 +1100105,56,18719,2,27,2,40,1,1,1,1,-9,4,531M,7071.0,1871902 +1100105,56,18720,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,1872001 +1100105,56,18720,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,1872002 +1100105,56,18721,1,29,1,45,1,1,1,1,-9,4,5415,7380.0,1872101 +1100105,56,18721,2,31,2,50,1,1,1,1,-9,4,622M,8191.0,1872102 +1100105,56,18722,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,1872201 +1100105,56,18722,2,31,2,40,1,1,1,1,-9,4,923,9480.0,1872202 +1100105,56,18723,1,28,2,60,1,1,1,1,-9,4,7211,8660.0,1872301 +1100105,56,18723,2,28,1,50,1,1,1,1,16,4,531M,7071.0,1872302 +1100105,56,18724,1,32,2,45,1,1,1,1,-9,4,713Z,8590.0,1872401 +1100105,56,18724,2,34,1,67,1,1,1,1,-9,4,928P,9590.0,1872402 +1100105,56,18725,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,1872501 +1100105,56,18725,2,31,2,40,1,1,1,1,-9,4,923,9480.0,1872502 +1100105,56,18726,1,33,2,-9,-9,3,1,1,-9,4,4233,4090.0,1872601 +1100105,56,18726,2,30,1,70,1,1,1,1,-9,4,52M2,6970.0,1872602 +1100105,56,18727,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,1872701 +1100105,56,18727,2,25,2,40,4,1,6,1,-9,4,813M,9170.0,1872702 +1100105,56,18728,1,27,1,40,4,1,1,1,-9,4,5411,7270.0,1872801 +1100105,56,18728,2,29,2,38,1,1,1,1,-9,4,813M,9170.0,1872802 +1100105,56,18729,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,1872901 +1100105,56,18729,2,33,1,50,1,1,1,1,-9,4,6111,7860.0,1872902 +1100105,56,18730,1,24,2,40,4,1,1,1,16,4,5416,7390.0,1873001 +1100105,56,18730,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,1873002 +1100105,56,18731,1,27,2,40,1,1,1,1,-9,4,5417,7460.0,1873101 +1100105,56,18731,2,27,2,45,1,1,1,1,-9,4,6111,7860.0,1873102 +1100105,56,18732,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,1873201 +1100105,56,18732,2,29,1,55,6,1,1,1,-9,4,5411,7270.0,1873202 +1100105,56,18733,1,28,2,45,3,1,1,1,-9,4,6111,7860.0,1873301 +1100105,56,18733,2,28,1,42,2,1,1,1,-9,4,813M,9170.0,1873302 +1100105,56,18734,1,29,2,40,1,1,1,1,-9,4,55,7570.0,1873401 +1100105,56,18734,2,31,1,40,1,1,1,1,-9,4,722Z,8680.0,1873402 +1100105,56,18735,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1873501 +1100105,56,18735,2,34,2,25,5,6,1,1,-9,4,928P,9590.0,1873502 +1100105,56,18736,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1873601 +1100105,56,18736,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1873602 +1100105,56,18737,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1873701 +1100105,56,18737,2,29,1,50,1,1,1,1,-9,4,8139Z,9190.0,1873702 +1100105,56,18738,1,23,1,40,4,1,1,1,-9,4,561M,7780.0,1873801 +1100105,56,18738,2,22,1,40,5,1,1,1,-9,4,5415,7380.0,1873802 +1100105,56,18739,1,25,1,50,1,1,1,1,-9,4,5417,7460.0,1873901 +1100105,56,18739,2,29,1,40,1,1,1,1,-9,4,5417,7460.0,1873902 +1100105,56,18740,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,1874001 +1100105,56,18740,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,1874002 +1100105,56,18741,1,20,2,60,4,1,1,1,15,4,6211,7970.0,1874101 +1100105,56,18741,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,1874102 +1100105,56,18742,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1874201 +1100105,56,18742,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1874202 +1100105,56,18743,1,25,2,35,3,1,1,1,-9,4,6111,7860.0,1874301 +1100105,56,18743,2,23,2,40,4,6,1,1,-9,4,722Z,8680.0,1874302 +1100105,56,18744,1,48,2,40,1,1,6,1,-9,4,712,8570.0,1874401 +1100105,56,18744,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,1874402 +1100105,56,18745,1,22,2,40,6,1,1,1,-9,4,611M1,7870.0,1874501 +1100105,56,18745,2,23,2,40,3,1,1,1,-9,4,611M1,7870.0,1874502 +1100105,56,18746,1,23,2,43,1,1,1,1,-9,4,5416,7390.0,1874601 +1100105,56,18746,2,23,2,15,1,1,1,1,-9,4,4481,5170.0,1874602 +1100105,56,18747,1,23,1,40,4,1,1,1,-9,4,5416,7390.0,1874701 +1100105,56,18747,2,23,1,-9,-9,6,1,1,16,4,611M1,7870.0,1874702 +1100105,56,18748,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1874801 +1100105,56,18748,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1874802 +1100105,56,18749,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1874901 +1100105,56,18749,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1874902 +1100105,56,18750,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1875001 +1100105,56,18750,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1875002 +1100105,56,18751,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1875101 +1100105,56,18751,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1875102 +1100105,56,18752,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1875201 +1100105,56,18752,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1875202 +1100105,56,18753,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1875301 +1100105,56,18753,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1875302 +1100105,56,18754,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1875401 +1100105,56,18754,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1875402 +1100105,56,18755,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1875501 +1100105,56,18755,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1875502 +1100105,56,18756,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1875601 +1100105,56,18756,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1875602 +1100105,56,18757,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1875701 +1100105,56,18757,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1875702 +1100105,56,18758,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1875801 +1100105,56,18758,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1875802 +1100105,56,18759,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1875901 +1100105,56,18759,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1875902 +1100105,56,18760,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1876001 +1100105,56,18760,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1876002 +1100105,56,18761,1,49,2,30,1,1,2,1,-9,4,6216,8170.0,1876101 +1100105,56,18761,2,19,2,-9,-9,3,2,1,-9,4,999920,9920.0,1876102 +1100105,56,18762,1,40,2,24,4,1,6,1,16,4,6111,7860.0,1876201 +1100105,56,18762,2,6,1,-9,-9,-9,6,1,3,-9,0,0.0,1876202 +1100105,56,18763,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1876301 +1100105,56,18763,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1876302 +1100105,56,18764,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1876401 +1100105,56,18764,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1876402 +1100105,56,18765,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1876501 +1100105,56,18765,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1876502 +1100105,56,18766,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1876601 +1100105,56,18766,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1876602 +1100105,56,18767,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1876701 +1100105,56,18767,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1876702 +1100105,56,18768,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1876801 +1100105,56,18768,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1876802 +1100105,56,18769,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1876901 +1100105,56,18769,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1876902 +1100105,56,18770,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1877001 +1100105,56,18770,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1877002 +1100105,56,18771,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1877101 +1100105,56,18771,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1877102 +1100105,56,18772,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1877201 +1100105,56,18772,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1877202 +1100105,56,18773,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1877301 +1100105,56,18773,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1877302 +1100105,56,18774,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1877401 +1100105,56,18774,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1877402 +1100105,56,18775,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1877501 +1100105,56,18775,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1877502 +1100105,56,18776,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1877601 +1100105,56,18776,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1877602 +1100105,56,18777,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1877701 +1100105,56,18777,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1877702 +1100105,56,18778,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1877801 +1100105,56,18778,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1877802 +1100105,56,18779,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1877901 +1100105,56,18779,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1877902 +1100105,56,18780,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1878001 +1100105,56,18780,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1878002 +1100105,56,18781,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1878101 +1100105,56,18781,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1878102 +1100105,56,18782,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1878201 +1100105,56,18782,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1878202 +1100105,56,18783,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1878301 +1100105,56,18783,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1878302 +1100105,56,18784,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1878401 +1100105,56,18784,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1878402 +1100105,56,18785,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1878501 +1100105,56,18785,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1878502 +1100105,56,18786,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1878601 +1100105,56,18786,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1878602 +1100105,56,18787,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1878701 +1100105,56,18787,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1878702 +1100105,56,18788,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1878801 +1100105,56,18788,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1878802 +1100105,56,18789,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1878901 +1100105,56,18789,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1878902 +1100105,56,18790,1,41,2,30,1,1,2,1,-9,4,45322,5570.0,1879001 +1100105,56,18790,2,18,1,30,6,6,2,1,14,4,5613,7580.0,1879002 +1100105,56,18791,1,48,1,20,1,1,6,1,-9,4,722Z,8680.0,1879101 +1100105,56,18791,2,14,1,-9,-9,-9,6,1,10,-9,0,0.0,1879102 +1100105,56,18792,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1879201 +1100105,56,18792,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1879202 +1100105,56,18793,1,22,2,45,6,6,1,1,-9,4,531M,7071.0,1879301 +1100105,56,18793,2,22,2,40,4,3,1,1,-9,4,5614,7590.0,1879302 +1100105,56,18794,1,22,2,45,6,6,1,1,-9,4,531M,7071.0,1879401 +1100105,56,18794,2,22,2,40,4,3,1,1,-9,4,5614,7590.0,1879402 +1100105,56,18795,1,30,2,60,1,1,6,1,-9,4,5411,7270.0,1879501 +1100105,56,18796,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,1879601 +1100105,56,18797,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,1879701 +1100105,56,18798,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1879801 +1100105,56,18799,1,29,1,55,1,1,1,1,-9,4,5411,7270.0,1879901 +1100105,56,18800,1,32,1,60,1,1,1,1,-9,4,522M,6890.0,1880001 +1100105,56,18801,1,33,2,60,1,1,1,1,-9,4,5411,7270.0,1880101 +1100105,56,18802,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1880201 +1100105,56,18803,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1880301 +1100105,56,18804,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,1880401 +1100105,56,18805,1,33,2,60,1,1,1,1,-9,4,5411,7270.0,1880501 +1100105,56,18806,1,65,2,-9,-9,6,1,1,-9,4,813M,9170.0,1880601 +1100105,56,18807,1,75,2,17,5,6,1,1,-9,4,813M,9170.0,1880701 +1100105,56,18808,1,81,1,-9,-9,6,1,1,-9,4,0,0.0,1880801 +1100105,56,18809,1,34,1,50,3,3,1,1,-9,4,2211P,570.0,1880901 +1100105,56,18810,1,34,1,50,3,3,1,1,-9,4,2211P,570.0,1881001 +1100105,56,18811,1,32,2,35,1,1,6,1,16,4,5411,7270.0,1881101 +1100105,56,18812,1,26,2,48,1,1,6,1,-9,4,5411,7270.0,1881201 +1100105,56,18813,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,1881301 +1100105,56,18814,1,28,1,20,1,1,1,1,-9,4,5615,7670.0,1881401 +1100105,56,18815,1,29,1,70,1,1,1,1,-9,4,5411,7270.0,1881501 +1100105,56,18816,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,1881601 +1100105,56,18817,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,1881701 +1100105,56,18818,1,27,1,55,1,1,1,1,-9,4,522M,6890.0,1881801 +1100105,56,18819,1,34,2,50,1,1,1,1,-9,4,522M,6890.0,1881901 +1100105,56,18820,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,1882001 +1100105,56,18821,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,1882101 +1100105,56,18822,1,30,2,45,1,1,1,1,-9,4,5221M,6880.0,1882201 +1100105,56,18823,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,1882301 +1100105,56,18824,1,26,2,55,1,1,1,1,-9,4,5411,7270.0,1882401 +1100105,56,18825,1,32,2,80,1,1,1,1,-9,4,611M3,7890.0,1882501 +1100105,56,18826,1,33,1,60,1,1,1,1,-9,4,515,6670.0,1882601 +1100105,56,18827,1,26,2,60,1,1,1,1,-9,4,5411,7270.0,1882701 +1100105,56,18828,1,30,2,45,1,1,1,1,-9,4,5221M,6880.0,1882801 +1100105,56,18829,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,1882901 +1100105,56,18830,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,1883001 +1100105,56,18831,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,1883101 +1100105,56,18832,1,30,2,45,1,1,1,1,-9,4,5221M,6880.0,1883201 +1100105,56,18833,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1883301 +1100105,56,18834,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,1883401 +1100105,56,18835,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1883501 +1100105,56,18836,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,1883601 +1100105,56,18837,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,1883701 +1100105,56,18838,1,34,1,45,1,1,1,1,-9,4,8139Z,9190.0,1883801 +1100105,56,18839,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,1883901 +1100105,56,18840,1,31,1,40,1,1,6,1,-9,4,53M,7190.0,1884001 +1100105,56,18841,1,31,1,40,1,1,6,1,-9,4,53M,7190.0,1884101 +1100105,56,18842,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,1884201 +1100105,56,18843,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,1884301 +1100105,56,18844,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,1884401 +1100105,56,18845,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1884501 +1100105,56,18846,1,34,2,50,1,1,1,1,-9,4,92MP,9470.0,1884601 +1100105,56,18847,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,1884701 +1100105,56,18848,1,33,1,40,1,1,1,1,16,4,5412,7280.0,1884801 +1100105,56,18849,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,1884901 +1100105,56,18850,1,33,1,40,1,1,1,1,16,4,5412,7280.0,1885001 +1100105,56,18851,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,1885101 +1100105,56,18852,1,31,2,40,1,1,1,1,16,4,813M,9170.0,1885201 +1100105,56,18853,1,33,2,40,1,1,1,1,-9,4,5416,7390.0,1885301 +1100105,56,18854,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,1885401 +1100105,56,18855,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,1885501 +1100105,56,18856,1,30,1,45,1,1,1,1,-9,4,5416,7390.0,1885601 +1100105,56,18857,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1885701 +1100105,56,18858,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,1885801 +1100105,56,18859,1,31,2,40,1,1,1,1,-9,4,92113,9380.0,1885901 +1100105,56,18860,1,29,2,50,1,1,1,1,-9,4,928P,9590.0,1886001 +1100105,56,18861,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1886101 +1100105,56,18862,1,25,2,60,1,1,1,1,16,4,5416,7390.0,1886201 +1100105,56,18863,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,1886301 +1100105,56,18864,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,1886401 +1100105,56,18865,1,26,1,40,1,1,1,1,-9,4,52M2,6970.0,1886501 +1100105,56,18866,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1886601 +1100105,56,18867,1,26,2,45,1,1,1,1,-9,4,51111,6470.0,1886701 +1100105,56,18868,1,68,1,-9,-9,6,1,1,-9,2,0,0.0,1886801 +1100105,56,18869,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,1886901 +1100105,56,18870,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1887001 +1100105,56,18871,1,29,1,50,1,1,6,1,-9,4,9211MP,9370.0,1887101 +1100105,56,18872,1,26,2,40,1,1,6,1,-9,4,813M,9170.0,1887201 +1100105,56,18873,1,30,1,45,5,1,6,1,-9,4,5416,7390.0,1887301 +1100105,56,18874,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,1887401 +1100105,56,18875,1,25,2,42,1,1,6,1,-9,4,5416,7390.0,1887501 +1100105,56,18876,1,26,2,40,1,1,6,1,-9,4,813M,9170.0,1887601 +1100105,56,18877,1,30,1,40,1,1,6,1,-9,4,5413,7290.0,1887701 +1100105,56,18878,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,1887801 +1100105,56,18879,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,1887901 +1100105,56,18880,1,29,1,40,1,1,6,1,-9,4,622M,8191.0,1888001 +1100105,56,18881,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,1888101 +1100105,56,18882,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,1888201 +1100105,56,18883,1,28,1,55,1,1,1,1,-9,4,813M,9170.0,1888301 +1100105,56,18884,1,30,1,40,3,1,1,1,-9,4,9211MP,9370.0,1888401 +1100105,56,18885,1,30,1,40,1,1,1,1,-9,4,813M,9170.0,1888501 +1100105,56,18886,1,31,2,55,1,1,1,1,-9,4,454110,5593.0,1888601 +1100105,56,18887,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1888701 +1100105,56,18888,1,25,1,38,1,1,1,1,-9,4,5411,7270.0,1888801 +1100105,56,18889,1,29,1,45,1,1,1,1,-9,4,561M,7780.0,1888901 +1100105,56,18890,1,23,2,45,5,1,1,1,-9,4,5416,7390.0,1889001 +1100105,56,18891,1,33,1,42,1,1,1,1,-9,4,5416,7390.0,1889101 +1100105,56,18892,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,1889201 +1100105,56,18893,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,1889301 +1100105,56,18894,1,25,1,55,1,1,1,1,-9,4,488,6290.0,1889401 +1100105,56,18895,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,1889501 +1100105,56,18896,1,27,2,40,1,1,1,1,-9,4,611M3,7890.0,1889601 +1100105,56,18897,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,1889701 +1100105,56,18898,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,1889801 +1100105,56,18899,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,1889901 +1100105,56,18900,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,1890001 +1100105,56,18901,1,29,1,60,1,1,1,1,-9,4,5111Z,6480.0,1890101 +1100105,56,18902,1,27,2,50,1,1,1,1,-9,4,5417,7460.0,1890201 +1100105,56,18903,1,33,1,40,1,1,1,1,-9,4,5418,7470.0,1890301 +1100105,56,18904,1,32,2,32,1,1,1,1,-9,4,814,9290.0,1890401 +1100105,56,18905,1,27,2,50,1,1,1,1,-9,4,813M,9170.0,1890501 +1100105,56,18906,1,28,1,55,1,1,1,1,-9,4,813M,9170.0,1890601 +1100105,56,18907,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1890701 +1100105,56,18908,1,27,1,40,1,1,1,1,-9,4,8139Z,9190.0,1890801 +1100105,56,18909,1,27,2,40,1,1,1,1,-9,4,5613,7580.0,1890901 +1100105,56,18910,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,1891001 +1100105,56,18911,1,24,1,45,1,1,1,1,-9,4,5416,7390.0,1891101 +1100105,56,18912,1,32,1,50,1,1,1,1,-9,4,52M2,6970.0,1891201 +1100105,56,18913,1,26,1,40,1,1,1,1,-9,4,928P,9590.0,1891301 +1100105,56,18914,1,26,1,40,1,1,1,1,-9,4,928P,9590.0,1891401 +1100105,56,18915,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1891501 +1100105,56,18916,1,30,1,50,1,1,1,1,-9,4,7111,8561.0,1891601 +1100105,56,18917,1,33,1,40,1,1,1,1,-9,4,55,7570.0,1891701 +1100105,56,18918,1,31,1,50,1,1,1,1,16,2,9211MP,9370.0,1891801 +1100105,56,18919,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,1891901 +1100105,56,18920,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,1892001 +1100105,56,18921,1,28,2,40,1,1,1,1,-9,4,92M2,9570.0,1892101 +1100105,56,18922,1,33,2,50,1,1,1,1,-9,4,813M,9170.0,1892201 +1100105,56,18923,1,33,2,25,3,1,1,1,-9,4,6111,7860.0,1892301 +1100105,56,18924,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1892401 +1100105,56,18925,1,33,2,25,3,1,1,1,-9,4,6111,7860.0,1892501 +1100105,56,18926,1,29,2,60,1,1,1,1,-9,4,622M,8191.0,1892601 +1100105,56,18927,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1892701 +1100105,56,18928,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,1892801 +1100105,56,18929,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1892901 +1100105,56,18930,1,33,2,40,1,1,1,1,-9,4,6111,7860.0,1893001 +1100105,56,18931,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,1893101 +1100105,56,18932,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,1893201 +1100105,56,18933,1,32,1,45,1,1,1,1,-9,4,712,8570.0,1893301 +1100105,56,18934,1,28,2,40,1,1,1,1,-9,4,6241,8370.0,1893401 +1100105,56,18935,1,33,2,50,1,1,1,1,-9,4,5413,7290.0,1893501 +1100105,56,18936,1,26,1,40,1,1,1,1,-9,4,928P,9590.0,1893601 +1100105,56,18937,1,27,2,45,1,1,1,1,-9,4,611M1,7870.0,1893701 +1100105,56,18938,1,32,2,40,1,1,1,1,-9,4,92M2,9570.0,1893801 +1100105,56,18939,1,24,2,40,1,1,1,1,16,4,5416,7390.0,1893901 +1100105,56,18940,1,26,2,37,1,1,1,1,-9,4,813M,9170.0,1894001 +1100105,56,18941,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,1894101 +1100105,56,18942,1,33,2,50,1,1,1,1,-9,4,813M,9170.0,1894201 +1100105,56,18943,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1894301 +1100105,56,18944,1,24,2,55,4,1,1,1,16,4,5416,7390.0,1894401 +1100105,56,18945,1,25,2,50,1,1,1,1,-9,4,5416,7390.0,1894501 +1100105,56,18946,1,29,2,45,1,1,1,1,-9,4,5415,7380.0,1894601 +1100105,56,18947,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1894701 +1100105,56,18948,1,33,1,40,1,1,1,1,-9,4,5415,7380.0,1894801 +1100105,56,18949,1,29,1,50,1,1,1,1,-9,4,3116,1180.0,1894901 +1100105,56,18950,1,33,2,40,1,1,1,1,-9,4,92M1,9490.0,1895001 +1100105,56,18951,1,27,2,55,1,1,1,1,-9,4,8139Z,9190.0,1895101 +1100105,56,18952,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,1895201 +1100105,56,18953,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,1895301 +1100105,56,18954,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,1895401 +1100105,56,18955,1,26,2,45,1,1,1,1,-9,4,5416,7390.0,1895501 +1100105,56,18956,1,29,2,40,1,1,1,1,-9,4,928P,9590.0,1895601 +1100105,56,18957,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,1895701 +1100105,56,18958,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,1895801 +1100105,56,18959,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,1895901 +1100105,56,18960,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1896001 +1100105,56,18961,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1896101 +1100105,56,18962,1,71,1,-9,-9,6,1,1,-9,2,0,0.0,1896201 +1100105,56,18963,1,21,1,-9,-9,6,1,1,15,4,0,0.0,1896301 +1100105,56,18964,1,23,2,-9,-9,6,1,1,16,4,5411,7270.0,1896401 +1100105,56,18965,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,1896501 +1100105,56,18966,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,1896601 +1100105,56,18967,1,27,1,55,1,1,6,1,16,4,5191ZM,6780.0,1896701 +1100105,56,18968,1,28,2,15,5,2,6,1,16,4,611M1,7870.0,1896801 +1100105,56,18969,1,28,2,45,1,1,6,1,-9,4,6111,7860.0,1896901 +1100105,56,18970,1,26,2,37,1,1,1,1,-9,4,928P,9590.0,1897001 +1100105,56,18971,1,23,2,35,1,1,1,1,16,4,5417,7460.0,1897101 +1100105,56,18972,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,1897201 +1100105,56,18973,1,28,1,40,1,1,1,1,-9,4,51111,6470.0,1897301 +1100105,56,18974,1,28,2,42,1,1,1,1,-9,4,812112,8980.0,1897401 +1100105,56,18975,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,1897501 +1100105,56,18976,1,28,1,40,1,1,1,1,-9,4,51111,6470.0,1897601 +1100105,56,18977,1,26,2,37,1,1,1,1,-9,4,928P,9590.0,1897701 +1100105,56,18978,1,25,2,45,1,1,1,1,-9,4,515,6670.0,1897801 +1100105,56,18979,1,34,2,40,5,1,1,1,-9,4,813M,9170.0,1897901 +1100105,56,18980,1,23,1,45,3,1,1,1,-9,4,454110,5593.0,1898001 +1100105,56,18981,1,27,2,40,3,1,1,1,-9,4,482,6080.0,1898101 +1100105,56,18982,1,25,1,55,1,1,1,1,-9,4,813M,9170.0,1898201 +1100105,56,18983,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,1898301 +1100105,56,18984,1,25,2,40,1,1,1,1,-9,4,712,8570.0,1898401 +1100105,56,18985,1,28,2,20,1,1,1,1,16,4,611M1,7870.0,1898501 +1100105,56,18986,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,1898601 +1100105,56,18987,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,1898701 +1100105,56,18988,1,26,1,55,5,1,1,1,-9,4,5411,7270.0,1898801 +1100105,56,18989,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,1898901 +1100105,56,18990,1,26,1,90,1,1,1,1,16,4,5417,7460.0,1899001 +1100105,56,18991,1,27,2,40,3,1,1,1,-9,4,482,6080.0,1899101 +1100105,56,18992,1,30,2,45,3,1,1,1,-9,4,522M,6890.0,1899201 +1100105,56,18993,1,30,2,40,1,1,1,1,-9,4,5615,7670.0,1899301 +1100105,56,18994,1,25,2,45,1,1,1,1,-9,4,515,6670.0,1899401 +1100105,56,18995,1,34,1,35,3,1,1,1,-9,4,5614,7590.0,1899501 +1100105,56,18996,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,1899601 +1100105,56,18997,1,33,1,40,1,1,1,1,-9,4,515,6670.0,1899701 +1100105,56,18998,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,1899801 +1100105,56,18999,1,29,1,40,4,1,1,1,-9,2,5613,7580.0,1899901 +1100105,56,19000,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,1900001 +1100105,56,19001,1,25,1,35,1,1,1,1,-9,4,813M,9170.0,1900101 +1100105,56,19002,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,1900201 +1100105,56,19003,1,65,1,-9,-9,6,1,1,-9,3,334M1,3370.0,1900301 +1100105,56,19004,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1900401 +1100105,56,19005,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1900501 +1100105,56,19006,1,89,2,-9,-9,6,1,1,-9,4,0,0.0,1900601 +1100105,56,19007,1,23,2,35,4,6,1,1,-9,4,3254,2190.0,1900701 +1100105,56,19008,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,1900801 +1100105,56,19009,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,1900901 +1100105,56,19010,1,28,2,-9,-9,6,1,1,16,4,92MP,9470.0,1901001 +1100105,56,19011,1,29,2,55,3,3,1,1,-9,4,92113,9380.0,1901101 +1100105,56,19012,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1901201 +1100105,56,19013,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1901301 +1100105,56,19014,1,29,2,30,5,1,6,1,-9,4,8139Z,9190.0,1901401 +1100105,56,19015,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1901501 +1100105,56,19016,1,27,2,40,1,1,1,1,16,4,622M,8191.0,1901601 +1100105,56,19017,1,22,2,35,5,1,1,1,-9,4,5411,7270.0,1901701 +1100105,56,19018,1,27,2,30,3,1,1,1,16,4,611M1,7870.0,1901801 +1100105,56,19019,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,1901901 +1100105,56,19020,1,22,2,25,4,1,1,1,-9,4,611M1,7870.0,1902001 +1100105,56,19021,1,26,2,20,4,1,1,1,-9,4,52M2,6970.0,1902101 +1100105,56,19022,1,27,2,30,3,1,1,1,16,4,611M1,7870.0,1902201 +1100105,56,19023,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,1902301 +1100105,56,19024,1,33,2,40,5,1,1,1,-9,4,813M,9170.0,1902401 +1100105,56,19025,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,1902501 +1100105,56,19026,1,26,2,30,1,1,1,1,16,4,611M1,7870.0,1902601 +1100105,56,19027,1,22,2,25,4,1,1,1,-9,4,611M1,7870.0,1902701 +1100105,56,19028,1,26,2,30,1,1,1,1,16,4,611M1,7870.0,1902801 +1100105,56,19029,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,1902901 +1100105,56,19030,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,1903001 +1100105,56,19031,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,1903101 +1100105,56,19032,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,1903201 +1100105,56,19033,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,1903301 +1100105,56,19034,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,1903401 +1100105,56,19035,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,1903501 +1100105,56,19036,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,1903601 +1100105,56,19037,1,70,2,4,6,6,6,1,-9,4,522M,6890.0,1903701 +1100105,56,19038,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,1903801 +1100105,56,19039,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1903901 +1100105,56,19040,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,1904001 +1100105,56,19041,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1904101 +1100105,56,19042,1,67,2,30,4,6,1,1,-9,4,7115,8564.0,1904201 +1100105,56,19043,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1904301 +1100105,56,19044,1,26,1,-9,-9,6,6,1,-9,4,0,0.0,1904401 +1100105,56,19045,1,29,2,8,6,6,6,1,16,4,6212,7980.0,1904501 +1100105,56,19046,1,34,2,-9,-9,6,6,1,16,4,928P,9590.0,1904601 +1100105,56,19047,1,25,1,-9,-9,6,6,1,16,4,51913,6672.0,1904701 +1100105,56,19048,1,23,1,-9,-9,6,6,1,16,4,0,0.0,1904801 +1100105,56,19049,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,1904901 +1100105,56,19050,1,22,2,-9,-9,6,6,1,15,4,0,0.0,1905001 +1100105,56,19051,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,1905101 +1100105,56,19052,1,22,2,45,3,6,6,1,16,4,23,770.0,1905201 +1100105,56,19053,1,24,2,60,6,6,6,1,16,4,531M,7071.0,1905301 +1100105,56,19054,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,1905401 +1100105,56,19055,1,34,2,-9,-9,6,6,1,16,4,928P,9590.0,1905501 +1100105,56,19056,1,22,2,45,3,6,6,1,16,4,23,770.0,1905601 +1100105,56,19057,1,29,2,8,6,6,6,1,16,4,6212,7980.0,1905701 +1100105,56,19058,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,1905801 +1100105,56,19059,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1905901 +1100105,56,19060,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,1906001 +1100105,56,19061,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,1906101 +1100105,56,19062,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,1906201 +1100105,56,19063,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1906301 +1100105,56,19064,1,23,2,20,6,3,1,1,16,4,5417,7460.0,1906401 +1100105,56,19065,1,24,2,-9,-9,6,1,1,15,4,0,0.0,1906501 +1100105,56,19066,1,26,2,-9,-9,6,1,1,16,4,611M1,7870.0,1906601 +1100105,56,19067,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,1906701 +1100105,56,19068,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,1906801 +1100105,56,19069,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1906901 +1100105,56,19070,1,23,1,-9,-9,6,1,1,-9,4,4523,5391.0,1907001 +1100105,56,19071,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1907101 +1100105,56,19072,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,1907201 +1100105,56,19073,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1907301 +1100105,56,19074,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1907401 +1100105,56,19075,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,1907501 +1100105,56,19076,1,21,2,12,6,6,1,1,16,4,611M1,7870.0,1907601 +1100105,56,19077,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1907701 +1100105,56,19078,1,25,1,20,4,3,1,1,15,4,6241,8370.0,1907801 +1100105,56,19079,1,23,2,-9,-9,6,1,1,16,4,5416,7390.0,1907901 +1100105,56,19080,1,24,1,-9,-9,6,1,1,16,4,622M,8191.0,1908001 +1100105,56,19081,1,25,1,20,4,3,1,1,15,4,6241,8370.0,1908101 +1100105,56,19082,1,24,2,10,5,6,1,1,16,4,712,8570.0,1908201 +1100105,56,19083,1,28,1,55,5,6,1,1,16,4,52M1,6870.0,1908301 +1100105,56,19084,1,31,2,-9,-9,3,1,1,16,4,311811,1190.0,1908401 +1100105,56,19085,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1908501 +1100105,56,19086,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,1908601 +1100105,56,19087,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,1908701 +1100105,56,19088,1,27,1,30,4,6,1,1,16,4,52M2,6970.0,1908801 +1100105,56,19089,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,1908901 +1100105,56,19090,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,1909001 +1100105,56,19091,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1909101 +1100105,56,19092,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1909201 +1100105,56,19093,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,1909301 +1100105,56,19094,1,27,2,-9,-9,6,1,1,16,4,44611,5070.0,1909401 +1100105,56,19095,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,1909501 +1100105,56,19096,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1909601 +1100105,56,19097,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,1909701 +1100105,56,19098,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,1909801 +1100105,56,19099,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,1909901 +1100105,56,19100,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,1910001 +1100105,56,19101,1,25,1,20,4,3,1,1,15,4,6241,8370.0,1910101 +1100105,56,19102,1,27,2,-9,-9,6,1,1,16,4,44611,5070.0,1910201 +1100105,56,19103,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,1910301 +1100105,56,19104,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,1910401 +1100105,56,19105,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,1910501 +1100105,56,19106,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,1910601 +1100105,56,19107,1,27,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1910701 +1100105,56,19108,1,34,2,-9,-9,6,1,1,16,4,0,0.0,1910801 +1100105,56,19109,1,28,2,50,6,3,1,1,-9,4,5411,7270.0,1910901 +1100105,56,19110,1,18,2,-9,-9,6,8,1,15,4,0,0.0,1911001 +1100105,56,19111,1,18,2,-9,-9,6,8,1,15,4,0,0.0,1911101 +1100105,56,19112,1,18,2,-9,-9,6,8,1,15,4,0,0.0,1911201 +1100105,56,19113,1,18,2,-9,-9,6,8,1,15,4,0,0.0,1911301 +1100105,56,19114,1,18,2,-9,-9,6,8,1,15,4,0,0.0,1911401 +1100105,57,19115,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1911501 +1100105,57,19115,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1911502 +1100105,57,19115,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1911503 +1100105,57,19115,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1911504 +1100105,57,19115,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1911505 +1100105,57,19115,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1911506 +1100105,57,19116,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1911601 +1100105,57,19116,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1911602 +1100105,57,19116,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1911603 +1100105,57,19116,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1911604 +1100105,57,19116,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1911605 +1100105,57,19116,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1911606 +1100105,57,19117,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,1911701 +1100105,57,19117,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,1911702 +1100105,57,19117,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,1911703 +1100105,57,19117,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,1911704 +1100105,57,19117,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,1911705 +1100105,57,19117,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,1911706 +1100105,57,19118,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1911801 +1100105,57,19118,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1911802 +1100105,57,19118,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1911803 +1100105,57,19118,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1911804 +1100105,57,19118,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1911805 +1100105,57,19118,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1911806 +1100105,57,19118,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1911807 +1100105,57,19118,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1911808 +1100105,57,19118,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1911809 +1100105,57,19119,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1911901 +1100105,57,19119,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1911902 +1100105,57,19119,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1911903 +1100105,57,19119,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1911904 +1100105,57,19119,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1911905 +1100105,57,19119,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1911906 +1100105,57,19119,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1911907 +1100105,57,19119,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1911908 +1100105,57,19119,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1911909 +1100105,57,19120,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1912001 +1100105,57,19120,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1912002 +1100105,57,19120,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1912003 +1100105,57,19120,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1912004 +1100105,57,19120,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1912005 +1100105,57,19120,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1912006 +1100105,57,19120,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1912007 +1100105,57,19120,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1912008 +1100105,57,19120,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1912009 +1100105,57,19121,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,1912101 +1100105,57,19121,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,1912102 +1100105,57,19121,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,1912103 +1100105,57,19121,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,1912104 +1100105,57,19121,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,1912105 +1100105,57,19121,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,1912106 +1100105,57,19121,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1912107 +1100105,57,19121,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,1912108 +1100105,57,19121,9,26,2,40,3,1,2,1,15,4,4533,5490.0,1912109 +1100105,57,19122,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1912201 +1100105,57,19122,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1912202 +1100105,57,19122,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1912203 +1100105,57,19122,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1912204 +1100105,57,19123,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1912301 +1100105,57,19123,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1912302 +1100105,57,19123,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1912303 +1100105,57,19123,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1912304 +1100105,57,19124,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1912401 +1100105,57,19124,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1912402 +1100105,57,19124,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1912403 +1100105,57,19124,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1912404 +1100105,57,19125,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1912501 +1100105,57,19125,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1912502 +1100105,57,19125,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1912503 +1100105,57,19125,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1912504 +1100105,57,19126,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1912601 +1100105,57,19126,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1912602 +1100105,57,19126,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1912603 +1100105,57,19126,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1912604 +1100105,57,19127,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1912701 +1100105,57,19127,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1912702 +1100105,57,19127,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1912703 +1100105,57,19127,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1912704 +1100105,57,19128,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1912801 +1100105,57,19128,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1912802 +1100105,57,19128,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1912803 +1100105,57,19128,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1912804 +1100105,57,19129,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1912901 +1100105,57,19129,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1912902 +1100105,57,19129,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1912903 +1100105,57,19129,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1912904 +1100105,57,19130,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1913001 +1100105,57,19130,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1913002 +1100105,57,19130,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1913003 +1100105,57,19130,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1913004 +1100105,57,19131,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1913101 +1100105,57,19131,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1913102 +1100105,57,19131,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1913103 +1100105,57,19131,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1913104 +1100105,57,19132,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,1913201 +1100105,57,19132,2,18,1,-9,-9,6,8,2,14,4,0,0.0,1913202 +1100105,57,19132,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,1913203 +1100105,57,19132,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,1913204 +1100105,57,19133,1,40,2,-9,-9,6,8,11,-9,4,0,0.0,1913301 +1100105,57,19133,2,20,1,-9,-9,6,8,11,-9,4,0,0.0,1913302 +1100105,57,19133,3,19,1,-9,-9,6,8,11,-9,4,0,0.0,1913303 +1100105,57,19133,4,36,2,-9,-9,6,8,11,-9,4,0,0.0,1913304 +1100105,57,19133,5,18,2,-9,-9,6,8,11,12,4,0,0.0,1913305 +1100105,57,19134,1,42,1,45,3,2,1,1,-9,4,23,770.0,1913401 +1100105,57,19134,2,24,1,40,1,1,1,1,-9,4,5614,7590.0,1913402 +1100105,57,19134,3,38,1,50,1,1,1,1,-9,4,611M1,7870.0,1913403 +1100105,57,19135,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,1913501 +1100105,57,19135,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,1913502 +1100105,57,19135,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,1913503 +1100105,57,19136,1,25,1,40,1,1,6,1,-9,4,92M1,9490.0,1913601 +1100105,57,19136,2,29,1,40,1,1,6,1,-9,4,92M2,9570.0,1913602 +1100105,57,19136,3,25,1,40,1,1,1,1,-9,4,92M2,9570.0,1913603 +1100105,57,19137,1,31,2,40,1,1,1,1,-9,4,92M2,9570.0,1913701 +1100105,57,19137,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,1913702 +1100105,57,19137,3,27,1,40,2,1,9,1,-9,4,9211MP,9370.0,1913703 +1100105,57,19138,1,31,2,40,1,1,1,1,-9,4,92M2,9570.0,1913801 +1100105,57,19138,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,1913802 +1100105,57,19138,3,27,1,40,2,1,9,1,-9,4,9211MP,9370.0,1913803 +1100105,57,19139,1,28,1,40,1,1,1,1,-9,4,6111,7860.0,1913901 +1100105,57,19139,2,34,1,38,1,1,1,1,-9,4,5411,7270.0,1913902 +1100105,57,19139,3,31,1,50,1,1,1,1,-9,4,4441Z,4870.0,1913903 +1100105,57,19140,1,33,2,50,1,1,1,1,-9,4,813M,9170.0,1914001 +1100105,57,19140,2,32,1,50,1,1,1,1,-9,4,8139Z,9190.0,1914002 +1100105,57,19140,3,31,1,55,1,1,1,1,-9,4,5415,7380.0,1914003 +1100105,57,19141,1,32,2,40,1,1,1,1,-9,4,813M,9170.0,1914101 +1100105,57,19141,2,29,1,40,1,1,1,1,-9,4,488,6290.0,1914102 +1100105,57,19141,3,30,2,50,1,1,1,1,-9,4,561M,7780.0,1914103 +1100105,57,19142,1,23,2,40,3,1,1,1,-9,4,5411,7270.0,1914201 +1100105,57,19142,2,29,1,50,1,1,1,1,16,4,928P,9590.0,1914202 +1100105,57,19142,3,25,2,50,1,1,1,1,-9,4,813M,9170.0,1914203 +1100105,57,19143,1,26,2,40,1,1,1,1,-9,4,611M1,7870.0,1914301 +1100105,57,19143,2,26,2,40,1,1,8,1,-9,4,6111,7860.0,1914302 +1100105,57,19143,3,26,2,40,3,1,8,1,-9,4,5416,7390.0,1914303 +1100105,57,19144,1,22,1,40,1,1,1,1,-9,4,5417,7460.0,1914401 +1100105,57,19144,2,23,2,40,4,1,1,1,-9,4,813M,9170.0,1914402 +1100105,57,19144,3,23,2,60,1,1,1,1,-9,4,5416,7390.0,1914403 +1100105,57,19145,1,25,2,58,1,1,1,1,-9,4,531M,7071.0,1914501 +1100105,57,19145,2,24,2,40,1,1,1,1,-9,4,5416,7390.0,1914502 +1100105,57,19145,3,24,2,50,1,1,1,1,-9,4,5418,7470.0,1914503 +1100105,57,19146,1,32,2,50,1,1,1,1,-9,4,722Z,8680.0,1914601 +1100105,57,19146,2,28,1,40,1,1,1,1,-9,4,928P,9590.0,1914602 +1100105,57,19146,3,25,2,40,1,1,1,1,-9,4,5111Z,6480.0,1914603 +1100105,57,19147,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1914701 +1100105,57,19147,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1914702 +1100105,57,19147,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1914703 +1100105,57,19148,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1914801 +1100105,57,19148,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1914802 +1100105,57,19148,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1914803 +1100105,57,19149,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1914901 +1100105,57,19149,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1914902 +1100105,57,19149,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1914903 +1100105,57,19150,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1915001 +1100105,57,19150,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1915002 +1100105,57,19150,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1915003 +1100105,57,19151,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1915101 +1100105,57,19151,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1915102 +1100105,57,19151,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1915103 +1100105,57,19152,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1915201 +1100105,57,19152,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1915202 +1100105,57,19152,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1915203 +1100105,57,19153,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1915301 +1100105,57,19153,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1915302 +1100105,57,19153,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1915303 +1100105,57,19154,1,50,2,40,1,1,1,1,-9,4,712,8570.0,1915401 +1100105,57,19154,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,1915402 +1100105,57,19154,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,1915403 +1100105,57,19155,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,1915501 +1100105,57,19155,2,27,2,35,1,1,1,1,-9,4,622M,8191.0,1915502 +1100105,57,19155,3,24,2,36,1,1,1,1,-9,4,622M,8191.0,1915503 +1100105,57,19156,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,1915601 +1100105,57,19156,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,1915602 +1100105,57,19156,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,1915603 +1100105,57,19157,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,1915701 +1100105,57,19157,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,1915702 +1100105,57,19157,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,1915703 +1100105,57,19158,1,29,2,40,2,1,6,1,-9,4,5416,7390.0,1915801 +1100105,57,19158,2,27,2,40,3,1,1,3,-9,4,4511M,5275.0,1915802 +1100105,57,19158,3,23,2,40,5,1,6,1,15,4,813M,9170.0,1915803 +1100105,57,19159,1,25,1,40,1,1,1,21,-9,4,9211MP,9370.0,1915901 +1100105,57,19159,2,24,1,40,2,1,1,1,-9,4,5416,7390.0,1915902 +1100105,57,19159,3,22,1,40,5,1,1,1,-9,4,5417,7460.0,1915903 +1100105,57,19160,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,1916001 +1100105,57,19160,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,1916002 +1100105,57,19160,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,1916003 +1100105,57,19161,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,1916101 +1100105,57,19161,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,1916102 +1100105,57,19161,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,1916103 +1100105,57,19162,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,1916201 +1100105,57,19162,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,1916202 +1100105,57,19162,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,1916203 +1100105,57,19163,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1916301 +1100105,57,19163,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1916302 +1100105,57,19163,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1916303 +1100105,57,19164,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1916401 +1100105,57,19164,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1916402 +1100105,57,19164,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1916403 +1100105,57,19165,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1916501 +1100105,57,19165,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1916502 +1100105,57,19165,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1916503 +1100105,57,19166,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1916601 +1100105,57,19166,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1916602 +1100105,57,19166,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1916603 +1100105,57,19167,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1916701 +1100105,57,19167,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1916702 +1100105,57,19167,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1916703 +1100105,57,19168,1,19,2,-9,-9,6,1,1,15,4,0,0.0,1916801 +1100105,57,19168,2,17,1,-9,-9,6,1,1,14,4,0,0.0,1916802 +1100105,57,19168,3,57,2,-9,-9,6,1,1,16,4,0,0.0,1916803 +1100105,57,19169,1,19,2,-9,-9,6,6,1,16,4,0,0.0,1916901 +1100105,57,19169,2,23,2,45,1,1,6,1,-9,4,5415,7380.0,1916902 +1100105,57,19169,3,23,2,40,3,1,6,1,-9,4,5418,7470.0,1916903 +1100105,57,19170,1,19,2,-9,-9,6,6,1,16,4,0,0.0,1917001 +1100105,57,19170,2,23,2,45,1,1,6,1,-9,4,5415,7380.0,1917002 +1100105,57,19170,3,23,2,40,3,1,6,1,-9,4,5418,7470.0,1917003 +1100105,57,19171,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1917101 +1100105,57,19171,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1917102 +1100105,57,19171,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1917103 +1100105,57,19172,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1917201 +1100105,57,19172,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1917202 +1100105,57,19172,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1917203 +1100105,57,19173,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1917301 +1100105,57,19173,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1917302 +1100105,57,19173,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1917303 +1100105,57,19174,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1917401 +1100105,57,19174,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1917402 +1100105,57,19174,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1917403 +1100105,57,19175,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1917501 +1100105,57,19175,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1917502 +1100105,57,19175,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1917503 +1100105,57,19176,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1917601 +1100105,57,19176,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1917602 +1100105,57,19176,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1917603 +1100105,57,19177,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,1917701 +1100105,57,19177,2,17,2,-9,-9,6,3,1,12,4,0,0.0,1917702 +1100105,57,19177,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,1917703 +1100105,57,19178,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,1917801 +1100105,57,19178,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,1917802 +1100105,57,19178,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,1917803 +1100105,57,19179,1,35,2,-9,-9,3,2,1,14,4,6212,7980.0,1917901 +1100105,57,19179,2,17,2,-9,-9,6,2,1,14,4,6241,8370.0,1917902 +1100105,57,19179,3,15,1,-9,-9,-9,2,1,12,-9,0,0.0,1917903 +1100105,57,19180,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,1918001 +1100105,57,19180,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,1918002 +1100105,57,19180,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1918003 +1100105,57,19181,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,1918101 +1100105,57,19181,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,1918102 +1100105,57,19181,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,1918103 +1100105,57,19182,1,89,2,1,6,2,6,1,-9,4,813M,9170.0,1918201 +1100105,57,19182,2,93,1,3,6,2,1,1,-9,2,5416,7390.0,1918202 +1100105,57,19183,1,65,1,42,1,1,1,1,-9,4,92M2,9570.0,1918301 +1100105,57,19183,2,71,1,38,1,1,1,1,-9,4,5615,7670.0,1918302 +1100105,57,19184,1,66,1,40,1,1,1,1,-9,4,52M2,6970.0,1918401 +1100105,57,19184,2,60,2,40,1,1,6,1,-9,4,928P,9590.0,1918402 +1100105,57,19185,1,62,1,60,1,1,1,1,-9,4,923,9480.0,1918501 +1100105,57,19185,2,65,1,40,1,1,1,1,-9,4,611M1,7870.0,1918502 +1100105,57,19186,1,42,1,45,1,1,9,1,-9,4,5415,7380.0,1918601 +1100105,57,19186,2,59,2,60,1,1,6,1,-9,4,3254,2190.0,1918602 +1100105,57,19187,1,45,1,45,1,1,6,1,-9,4,5411,7270.0,1918701 +1100105,57,19187,2,44,2,40,1,1,6,1,-9,4,5411,7270.0,1918702 +1100105,57,19188,1,38,2,60,1,1,1,1,-9,4,7111,8561.0,1918801 +1100105,57,19188,2,40,1,40,1,1,9,1,-9,4,7111,8561.0,1918802 +1100105,57,19189,1,38,1,50,1,1,1,1,-9,4,8139Z,9190.0,1918901 +1100105,57,19189,2,35,2,40,1,1,6,1,-9,4,5613,7580.0,1918902 +1100105,57,19190,1,36,2,55,1,1,1,1,-9,4,531M,7071.0,1919001 +1100105,57,19190,2,41,2,70,1,1,1,1,-9,4,531M,7071.0,1919002 +1100105,57,19191,1,64,1,40,1,1,1,1,-9,4,5412,7280.0,1919101 +1100105,57,19191,2,58,2,40,1,1,1,1,-9,4,5111Z,6480.0,1919102 +1100105,57,19192,1,46,2,40,1,1,1,1,-9,4,928P,9590.0,1919201 +1100105,57,19192,2,45,1,50,1,1,1,1,-9,4,5112,6490.0,1919202 +1100105,57,19193,1,50,2,55,1,1,1,1,-9,4,5415,7380.0,1919301 +1100105,57,19193,2,51,1,60,1,1,1,1,-9,4,4539,5580.0,1919302 +1100105,57,19194,1,35,1,60,1,1,1,1,-9,4,5417,7460.0,1919401 +1100105,57,19194,2,36,2,20,1,1,1,1,16,4,611M1,7870.0,1919402 +1100105,57,19195,1,51,1,50,1,1,1,1,-9,4,923,9480.0,1919501 +1100105,57,19195,2,52,1,40,1,1,1,1,15,4,611M1,7870.0,1919502 +1100105,57,19196,1,36,1,50,1,1,1,1,-9,4,928P,9590.0,1919601 +1100105,57,19196,2,38,1,50,1,1,1,16,-9,4,928P,9590.0,1919602 +1100105,57,19197,1,46,1,80,1,1,1,3,-9,4,5411,7270.0,1919701 +1100105,57,19197,2,49,1,60,1,1,1,20,-9,4,8139Z,9190.0,1919702 +1100105,57,19198,1,40,1,65,1,1,9,1,-9,4,5419Z,7490.0,1919801 +1100105,57,19198,2,29,2,52,1,1,1,1,-9,4,928P,9590.0,1919802 +1100105,57,19199,1,40,2,24,1,1,9,1,-9,4,6211,7970.0,1919901 +1100105,57,19199,2,33,1,50,1,1,1,1,-9,4,2211P,570.0,1919902 +1100105,57,19200,1,36,1,60,1,1,1,1,-9,3,5415,7380.0,1920001 +1100105,57,19200,2,34,2,60,1,1,6,1,-9,4,515,6670.0,1920002 +1100105,57,19201,1,35,1,65,1,1,1,1,-9,4,5411,7270.0,1920101 +1100105,57,19201,2,33,1,40,1,1,1,1,-9,4,5112,6490.0,1920102 +1100105,57,19202,1,38,2,40,1,1,1,1,-9,4,522M,6890.0,1920201 +1100105,57,19202,2,29,1,40,1,1,1,1,-9,4,928P,9590.0,1920202 +1100105,57,19203,1,41,1,20,3,1,1,1,-9,4,5411,7270.0,1920301 +1100105,57,19203,2,31,2,40,1,1,1,1,-9,4,5411,7270.0,1920302 +1100105,57,19204,1,35,1,85,1,1,1,1,-9,4,5411,7270.0,1920401 +1100105,57,19204,2,34,2,50,1,1,1,1,-9,4,3254,2190.0,1920402 +1100105,57,19205,1,34,2,45,1,1,1,1,-9,4,522M,6890.0,1920501 +1100105,57,19205,2,36,1,40,1,1,1,1,-9,2,92MP,9470.0,1920502 +1100105,57,19206,1,39,1,44,1,1,1,1,-9,4,6212,7980.0,1920601 +1100105,57,19206,2,32,1,50,1,1,1,1,-9,4,813M,9170.0,1920602 +1100105,57,19207,1,41,1,40,1,1,1,1,-9,4,92M2,9570.0,1920701 +1100105,57,19207,2,32,1,40,1,1,1,16,-9,4,92M2,9570.0,1920702 +1100105,57,19208,1,34,1,40,1,1,1,2,-9,2,928P,9590.0,1920801 +1100105,57,19208,2,38,2,40,1,1,1,1,-9,4,92MP,9470.0,1920802 +1100105,57,19209,1,30,1,40,1,1,9,1,-9,4,928P,9590.0,1920901 +1100105,57,19209,2,30,2,40,1,1,6,1,-9,4,92M2,9570.0,1920902 +1100105,57,19210,1,27,1,55,1,1,6,1,-9,4,5416,7390.0,1921001 +1100105,57,19210,2,28,2,35,1,1,6,1,-9,4,5415,7380.0,1921002 +1100105,57,19211,1,30,1,50,1,1,6,1,-9,4,5411,7270.0,1921101 +1100105,57,19211,2,27,2,50,1,1,6,1,-9,4,5411,7270.0,1921102 +1100105,57,19212,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,1921201 +1100105,57,19212,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,1921202 +1100105,57,19213,1,32,2,40,1,1,6,1,-9,4,5413,7290.0,1921301 +1100105,57,19213,2,34,1,80,1,1,6,1,-9,4,5416,7390.0,1921302 +1100105,57,19214,1,27,1,40,1,1,9,1,-9,4,5111Z,6480.0,1921401 +1100105,57,19214,2,26,2,60,1,1,1,1,16,4,5411,7270.0,1921402 +1100105,57,19215,1,30,1,45,1,1,9,1,-9,4,611M3,7890.0,1921501 +1100105,57,19215,2,29,2,45,1,1,1,1,-9,4,5413,7290.0,1921502 +1100105,57,19216,1,31,2,40,1,1,1,1,-9,4,8139Z,9190.0,1921601 +1100105,57,19216,2,31,1,40,2,1,6,1,-9,4,5418,7470.0,1921602 +1100105,57,19217,1,30,2,40,1,1,1,1,-9,4,5417,7460.0,1921701 +1100105,57,19217,2,31,1,40,1,1,6,1,-9,4,6214,8090.0,1921702 +1100105,57,19218,1,27,1,50,1,1,1,1,-9,4,52M1,6870.0,1921801 +1100105,57,19218,2,27,2,40,1,1,6,1,-9,4,8139Z,9190.0,1921802 +1100105,57,19219,1,30,1,50,1,1,1,1,-9,4,531M,7071.0,1921901 +1100105,57,19219,2,32,2,44,1,1,6,1,-9,4,6111,7860.0,1921902 +1100105,57,19220,1,29,2,55,1,1,1,1,-9,4,5416,7390.0,1922001 +1100105,57,19220,2,29,1,50,1,1,1,1,-9,4,7115,8564.0,1922002 +1100105,57,19221,1,31,1,70,1,1,1,1,-9,4,3345,3380.0,1922101 +1100105,57,19221,2,30,2,55,1,1,1,1,16,4,622M,8191.0,1922102 +1100105,57,19222,1,33,2,60,1,1,1,1,-9,4,5418,7470.0,1922201 +1100105,57,19222,2,34,1,50,1,1,1,1,-9,4,813M,9170.0,1922202 +1100105,57,19223,1,34,1,20,1,1,1,1,-9,4,611M3,7890.0,1922301 +1100105,57,19223,2,33,2,50,1,1,1,1,-9,4,6111,7860.0,1922302 +1100105,57,19224,1,33,2,60,1,1,1,1,-9,4,5418,7470.0,1922401 +1100105,57,19224,2,34,1,50,1,1,1,1,-9,4,813M,9170.0,1922402 +1100105,57,19225,1,29,2,50,1,1,1,1,-9,4,9211MP,9370.0,1922501 +1100105,57,19225,2,32,1,70,1,1,1,1,-9,4,5411,7270.0,1922502 +1100105,57,19226,1,33,2,60,1,1,1,1,-9,4,5418,7470.0,1922601 +1100105,57,19226,2,34,1,50,1,1,1,1,-9,4,813M,9170.0,1922602 +1100105,57,19227,1,25,2,50,1,1,1,1,-9,4,6111,7860.0,1922701 +1100105,57,19227,2,31,1,50,1,1,1,1,-9,4,92113,9380.0,1922702 +1100105,57,19228,1,30,1,50,1,1,1,1,-9,4,6211,7970.0,1922801 +1100105,57,19228,2,28,2,70,1,1,1,1,-9,4,5411,7270.0,1922802 +1100105,57,19229,1,31,2,55,1,1,1,1,-9,4,5417,7460.0,1922901 +1100105,57,19229,2,31,1,50,1,1,1,1,-9,4,928P,9590.0,1922902 +1100105,57,19230,1,31,1,40,1,1,1,1,-9,4,928P,9590.0,1923001 +1100105,57,19230,2,30,2,40,1,1,1,1,-9,4,5417,7460.0,1923002 +1100105,57,19231,1,28,2,40,1,1,1,1,-9,4,5411,7270.0,1923101 +1100105,57,19231,2,30,1,40,1,1,1,1,-9,4,52M2,6970.0,1923102 +1100105,57,19232,1,32,1,50,1,1,1,1,-9,4,9211MP,9370.0,1923201 +1100105,57,19232,2,34,2,60,1,1,1,1,-9,4,515,6670.0,1923202 +1100105,57,19233,1,28,1,20,3,1,1,1,16,4,611M1,7870.0,1923301 +1100105,57,19233,2,29,2,40,1,1,1,1,-9,4,5416,7390.0,1923302 +1100105,57,19234,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,1923401 +1100105,57,19234,2,30,2,60,1,1,1,1,-9,4,5411,7270.0,1923402 +1100105,57,19235,1,31,1,47,1,1,1,1,-9,4,561M,7780.0,1923501 +1100105,57,19235,2,30,2,40,1,1,1,1,-9,4,5416,7390.0,1923502 +1100105,57,19236,1,32,1,40,1,1,1,1,-9,4,611M3,7890.0,1923601 +1100105,57,19236,2,32,2,50,1,1,1,1,-9,4,712,8570.0,1923602 +1100105,57,19237,1,33,1,50,1,1,1,1,-9,4,5416,7390.0,1923701 +1100105,57,19237,2,33,1,50,1,1,1,1,-9,4,515,6670.0,1923702 +1100105,57,19238,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,1923801 +1100105,57,19238,2,32,1,50,1,1,1,1,-9,4,4481,5170.0,1923802 +1100105,57,19239,1,28,1,45,1,1,1,1,-9,4,5416,7390.0,1923901 +1100105,57,19239,2,28,2,45,1,1,1,1,-9,4,5613,7580.0,1923902 +1100105,57,19240,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,1924001 +1100105,57,19240,2,31,1,55,1,1,1,1,-9,4,522M,6890.0,1924002 +1100105,57,19241,1,33,2,40,1,1,1,1,-9,4,92M2,9570.0,1924101 +1100105,57,19241,2,33,1,40,1,1,1,1,-9,4,52M2,6970.0,1924102 +1100105,57,19242,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1924201 +1100105,57,19242,2,34,2,50,1,1,1,1,-9,4,928P,9590.0,1924202 +1100105,57,19243,1,34,2,40,1,1,1,1,-9,4,923,9480.0,1924301 +1100105,57,19243,2,33,1,60,1,1,1,1,-9,4,5416,7390.0,1924302 +1100105,57,19244,1,28,2,40,1,1,1,1,-9,4,5411,7270.0,1924401 +1100105,57,19244,2,30,1,40,1,1,1,1,-9,4,52M2,6970.0,1924402 +1100105,57,19245,1,31,2,52,1,1,1,1,-9,4,8139Z,9190.0,1924501 +1100105,57,19245,2,34,1,60,1,1,1,1,-9,4,928P,9590.0,1924502 +1100105,57,19246,1,29,2,50,1,1,1,1,-9,4,9211MP,9370.0,1924601 +1100105,57,19246,2,32,1,70,1,1,1,1,-9,4,5411,7270.0,1924602 +1100105,57,19247,1,34,1,50,1,1,1,1,-9,2,6241,8370.0,1924701 +1100105,57,19247,2,31,2,40,1,1,1,1,-9,4,92M1,9490.0,1924702 +1100105,57,19248,1,33,1,40,1,1,1,1,-9,4,92113,9380.0,1924801 +1100105,57,19248,2,33,2,50,1,1,1,1,-9,4,923,9480.0,1924802 +1100105,57,19249,1,34,2,40,1,1,1,1,-9,4,923,9480.0,1924901 +1100105,57,19249,2,33,1,60,1,1,1,1,-9,4,5416,7390.0,1924902 +1100105,57,19250,1,31,1,50,3,1,1,1,-9,4,5411,7270.0,1925001 +1100105,57,19250,2,31,2,40,1,1,1,1,-9,4,5416,7390.0,1925002 +1100105,57,19251,1,33,2,50,1,1,1,1,-9,4,5417,7460.0,1925101 +1100105,57,19251,2,32,1,38,1,1,1,1,-9,4,5241,6991.0,1925102 +1100105,57,19252,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,1925201 +1100105,57,19252,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,1925202 +1100105,57,19253,1,33,1,40,1,1,1,1,-9,4,443142,4795.0,1925301 +1100105,57,19253,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,1925302 +1100105,57,19254,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,1925401 +1100105,57,19254,2,31,1,55,1,1,1,1,-9,4,522M,6890.0,1925402 +1100105,57,19255,1,32,1,43,1,1,1,13,-9,4,23,770.0,1925501 +1100105,57,19255,2,31,2,55,1,1,1,1,-9,4,5411,7270.0,1925502 +1100105,57,19256,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1925601 +1100105,57,19256,2,34,1,40,1,1,1,15,-9,2,5413,7290.0,1925602 +1100105,57,19257,1,79,1,50,1,1,1,1,-9,2,5241,6991.0,1925701 +1100105,57,19257,2,79,2,-9,-9,6,1,1,-9,4,611M3,7890.0,1925702 +1100105,57,19258,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1925801 +1100105,57,19258,2,67,2,50,1,1,1,1,-9,4,5413,7290.0,1925802 +1100105,57,19259,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1925901 +1100105,57,19259,2,67,2,50,1,1,1,1,-9,4,5413,7290.0,1925902 +1100105,57,19260,1,69,1,-9,-9,6,1,1,-9,4,0,0.0,1926001 +1100105,57,19260,2,67,2,50,1,1,1,1,-9,4,5413,7290.0,1926002 +1100105,57,19261,1,74,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1926101 +1100105,57,19261,2,61,1,60,1,1,6,1,-9,4,813M,9170.0,1926102 +1100105,57,19262,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1926201 +1100105,57,19262,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1926202 +1100105,57,19263,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,1926301 +1100105,57,19263,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,1926302 +1100105,57,19264,1,70,1,60,1,1,1,1,-9,4,92M2,9570.0,1926401 +1100105,57,19264,2,64,2,-9,-9,6,1,1,-9,4,4243,4390.0,1926402 +1100105,57,19265,1,76,1,-9,-9,6,1,1,-9,2,611M1,7870.0,1926501 +1100105,57,19265,2,46,1,65,1,4,8,2,-9,1,928110P1,9670.0,1926502 +1100105,57,19266,1,54,2,40,6,6,1,1,-9,4,5411,7270.0,1926601 +1100105,57,19266,2,54,1,60,1,1,1,1,-9,4,5412,7280.0,1926602 +1100105,57,19267,1,54,2,40,6,6,1,1,-9,4,5411,7270.0,1926701 +1100105,57,19267,2,54,1,60,1,1,1,1,-9,4,5412,7280.0,1926702 +1100105,57,19268,1,34,1,60,1,1,1,1,-9,4,5416,7390.0,1926801 +1100105,57,19268,2,31,2,60,3,3,1,1,-9,4,813M,9170.0,1926802 +1100105,57,19269,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1926901 +1100105,57,19269,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1926902 +1100105,57,19270,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1927001 +1100105,57,19270,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1927002 +1100105,57,19271,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1927101 +1100105,57,19271,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,1927102 +1100105,57,19272,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1927201 +1100105,57,19272,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,1927202 +1100105,57,19273,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1927301 +1100105,57,19273,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,1927302 +1100105,57,19274,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,1927401 +1100105,57,19274,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,1927402 +1100105,57,19275,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,1927501 +1100105,57,19275,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,1927502 +1100105,57,19276,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1927601 +1100105,57,19276,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1927602 +1100105,57,19277,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,1927701 +1100105,57,19277,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,1927702 +1100105,57,19278,1,74,1,60,1,1,8,11,-9,4,23,770.0,1927801 +1100105,57,19278,2,70,2,20,3,1,8,11,-9,4,5617Z,7690.0,1927802 +1100105,57,19279,1,37,1,40,1,1,6,1,16,4,81393,9180.0,1927901 +1100105,57,19279,2,53,1,40,1,1,1,1,-9,4,52M2,6970.0,1927902 +1100105,57,19280,1,52,1,50,1,1,1,1,-9,4,44511,4971.0,1928001 +1100105,57,19280,2,45,1,40,1,1,1,1,-9,4,92MP,9470.0,1928002 +1100105,57,19281,1,35,1,45,1,1,9,1,-9,4,813M,9170.0,1928101 +1100105,57,19281,2,28,2,55,1,1,1,1,-9,4,928P,9590.0,1928102 +1100105,57,19282,1,35,2,50,1,1,6,1,-9,4,928P,9590.0,1928201 +1100105,57,19282,2,28,1,50,1,1,1,1,-9,4,621M,8180.0,1928202 +1100105,57,19283,1,39,1,40,1,1,1,1,-9,4,5415,7380.0,1928301 +1100105,57,19283,2,29,2,55,1,1,1,1,-9,4,5614,7590.0,1928302 +1100105,57,19284,1,37,1,60,1,1,1,2,-9,4,813M,9170.0,1928401 +1100105,57,19284,2,21,1,50,4,1,1,1,-9,4,6111,7860.0,1928402 +1100105,57,19285,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,1928501 +1100105,57,19285,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,1928502 +1100105,57,19286,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,1928601 +1100105,57,19286,2,27,2,40,1,1,6,1,16,4,6231,8270.0,1928602 +1100105,57,19287,1,26,1,40,1,1,6,1,-9,4,923,9480.0,1928701 +1100105,57,19287,2,27,1,40,1,1,6,1,-9,4,52M1,6870.0,1928702 +1100105,57,19288,1,26,1,45,1,1,1,1,-9,4,5417,7460.0,1928801 +1100105,57,19288,2,26,1,50,1,1,9,1,-9,4,531M,7071.0,1928802 +1100105,57,19289,1,27,1,40,1,1,1,1,-9,4,5412,7280.0,1928901 +1100105,57,19289,2,26,2,40,1,1,9,1,-9,4,928P,9590.0,1928902 +1100105,57,19290,1,32,1,41,1,1,1,1,-9,4,5121,6570.0,1929001 +1100105,57,19290,2,32,2,42,1,1,6,1,-9,4,515,6670.0,1929002 +1100105,57,19291,1,25,2,40,1,1,6,1,-9,4,92113,9380.0,1929101 +1100105,57,19291,2,25,1,40,1,1,1,1,-9,4,336M,3570.0,1929102 +1100105,57,19292,1,30,2,55,1,1,6,1,-9,4,6111,7860.0,1929201 +1100105,57,19292,2,31,1,50,1,1,1,1,-9,4,5416,7390.0,1929202 +1100105,57,19293,1,29,1,40,1,1,6,1,-9,4,92MP,9470.0,1929301 +1100105,57,19293,2,33,2,40,1,1,1,1,-9,4,722Z,8680.0,1929302 +1100105,57,19294,1,31,2,40,1,1,1,1,-9,4,611M3,7890.0,1929401 +1100105,57,19294,2,32,1,40,1,1,1,1,-9,4,5416,7390.0,1929402 +1100105,57,19295,1,31,2,40,1,1,1,1,-9,4,928P,9590.0,1929501 +1100105,57,19295,2,30,2,40,1,1,1,1,-9,4,928P,9590.0,1929502 +1100105,57,19296,1,31,2,40,1,1,1,1,-9,4,928P,9590.0,1929601 +1100105,57,19296,2,30,2,40,1,1,1,1,-9,4,928P,9590.0,1929602 +1100105,57,19297,1,31,1,50,1,1,1,1,-9,4,5415,7380.0,1929701 +1100105,57,19297,2,30,2,40,1,1,1,1,-9,4,561M,7780.0,1929702 +1100105,57,19298,1,30,2,40,1,1,1,1,-9,4,928P,9590.0,1929801 +1100105,57,19298,2,30,2,40,1,1,1,1,-9,4,5419Z,7490.0,1929802 +1100105,57,19299,1,32,1,50,1,1,1,1,-9,4,92MP,9470.0,1929901 +1100105,57,19299,2,28,1,40,1,1,1,1,-9,4,522M,6890.0,1929902 +1100105,57,19300,1,32,1,60,1,1,1,1,-9,4,5411,7270.0,1930001 +1100105,57,19300,2,31,2,40,1,1,1,1,-9,4,92M2,9570.0,1930002 +1100105,57,19301,1,27,1,50,1,1,1,1,-9,4,621M,8180.0,1930101 +1100105,57,19301,2,28,2,50,1,1,1,1,-9,4,611M3,7890.0,1930102 +1100105,57,19302,1,30,2,50,1,1,1,1,-9,4,6241,8370.0,1930201 +1100105,57,19302,2,29,1,45,1,1,1,1,-9,4,5415,7380.0,1930202 +1100105,57,19303,1,27,2,40,1,1,1,1,-9,4,6213ZM,8080.0,1930301 +1100105,57,19303,2,29,2,50,1,1,1,1,-9,4,6213ZM,8080.0,1930302 +1100105,57,19304,1,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,1930401 +1100105,57,19304,2,30,1,50,1,1,1,1,-9,4,531M,7071.0,1930402 +1100105,57,19305,1,26,2,50,1,1,1,1,-9,4,5415,7380.0,1930501 +1100105,57,19305,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,1930502 +1100105,57,19306,1,31,1,45,1,1,1,1,-9,4,515,6670.0,1930601 +1100105,57,19306,2,31,2,45,1,1,1,1,-9,4,6111,7860.0,1930602 +1100105,57,19307,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,1930701 +1100105,57,19307,2,31,1,50,1,1,1,1,-9,4,813M,9170.0,1930702 +1100105,57,19308,1,28,1,65,1,1,1,1,-9,4,522M,6890.0,1930801 +1100105,57,19308,2,27,2,40,1,1,1,1,-9,4,5413,7290.0,1930802 +1100105,57,19309,1,31,2,40,1,1,1,1,-9,4,928P,9590.0,1930901 +1100105,57,19309,2,30,2,40,1,1,1,1,-9,4,928P,9590.0,1930902 +1100105,57,19310,1,28,2,60,1,1,1,1,-9,4,7211,8660.0,1931001 +1100105,57,19310,2,28,1,50,1,1,1,1,16,4,531M,7071.0,1931002 +1100105,57,19311,1,30,1,50,1,1,1,1,-9,4,4237,4265.0,1931101 +1100105,57,19311,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,1931102 +1100105,57,19312,1,30,1,50,1,1,1,1,-9,4,4237,4265.0,1931201 +1100105,57,19312,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,1931202 +1100105,57,19313,1,33,1,60,1,1,1,1,-9,4,5411,7270.0,1931301 +1100105,57,19313,2,27,2,50,1,1,1,1,-9,4,5416,7390.0,1931302 +1100105,57,19314,1,31,2,50,1,1,1,1,16,4,5413,7290.0,1931401 +1100105,57,19314,2,31,1,60,1,1,1,1,-9,4,5413,7290.0,1931402 +1100105,57,19315,1,26,2,50,1,1,1,1,-9,4,5415,7380.0,1931501 +1100105,57,19315,2,30,2,45,1,1,1,1,-9,4,92MP,9470.0,1931502 +1100105,57,19316,1,29,2,45,1,1,1,1,-9,4,5418,7470.0,1931601 +1100105,57,19316,2,31,1,50,1,1,1,1,-9,4,23,770.0,1931602 +1100105,57,19317,1,28,1,65,1,1,1,1,-9,4,522M,6890.0,1931701 +1100105,57,19317,2,27,2,40,1,1,1,1,-9,4,5413,7290.0,1931702 +1100105,57,19318,1,30,2,50,3,1,1,1,-9,4,813M,9170.0,1931801 +1100105,57,19318,2,33,1,50,1,1,1,2,-9,4,5415,7380.0,1931802 +1100105,57,19319,1,31,1,55,1,1,8,2,-9,4,813M,9170.0,1931901 +1100105,57,19319,2,33,1,60,1,1,1,1,-9,4,6216,8170.0,1931902 +1100105,57,19320,1,23,1,40,1,1,1,19,-9,4,5419Z,7490.0,1932001 +1100105,57,19320,2,23,1,45,1,1,1,1,-9,4,5412,7280.0,1932002 +1100105,57,19321,1,68,1,40,1,1,6,1,-9,4,92M1,9490.0,1932101 +1100105,57,19321,2,68,2,-9,-9,6,6,1,-9,4,6111,7860.0,1932102 +1100105,57,19322,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,1932201 +1100105,57,19322,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,1932202 +1100105,57,19323,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,1932301 +1100105,57,19323,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,1932302 +1100105,57,19324,1,60,2,40,1,1,1,1,-9,4,8139Z,9190.0,1932401 +1100105,57,19324,2,57,2,-9,-9,6,1,1,-9,4,5416,7390.0,1932402 +1100105,57,19325,1,38,1,40,1,1,1,3,-9,4,92M2,9570.0,1932501 +1100105,57,19325,2,39,1,50,5,3,1,1,-9,4,722Z,8680.0,1932502 +1100105,57,19326,1,35,2,40,1,1,1,1,-9,4,5416,7390.0,1932601 +1100105,57,19326,2,34,1,20,2,3,1,1,-9,4,7111,8561.0,1932602 +1100105,57,19327,1,31,2,46,1,1,1,1,-9,4,814,9290.0,1932701 +1100105,57,19327,2,33,1,-9,-9,6,1,1,16,4,814,9290.0,1932702 +1100105,57,19328,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,1932801 +1100105,57,19328,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,1932802 +1100105,57,19329,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,1932901 +1100105,57,19329,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,1932902 +1100105,57,19330,1,32,2,-9,-9,6,1,1,-9,4,3121,1370.0,1933001 +1100105,57,19330,2,31,2,60,1,1,1,2,16,4,454110,5593.0,1933002 +1100105,57,19331,1,28,1,40,1,1,1,20,-9,4,52M1,6870.0,1933101 +1100105,57,19331,2,27,2,40,2,6,1,1,-9,4,5418,7470.0,1933102 +1100105,57,19332,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,1933201 +1100105,57,19332,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,1933202 +1100105,57,19333,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,1933301 +1100105,57,19333,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1933302 +1100105,57,19334,1,78,2,-9,-9,6,1,16,-9,4,611M1,7870.0,1933401 +1100105,57,19334,2,75,1,-9,-9,6,1,1,-9,4,0,0.0,1933402 +1100105,57,19335,1,66,1,40,1,1,1,1,16,4,622M,8191.0,1933501 +1100105,57,19335,2,66,2,20,1,1,6,1,-9,4,531M,7071.0,1933502 +1100105,57,19336,1,49,1,50,1,1,1,1,-9,4,611M1,7870.0,1933601 +1100105,57,19336,2,60,2,50,1,1,1,1,-9,4,7111,8561.0,1933602 +1100105,57,19337,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,1933701 +1100105,57,19337,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,1933702 +1100105,57,19338,1,28,1,50,1,1,1,1,-9,4,9211MP,9370.0,1933801 +1100105,57,19338,2,35,2,40,1,1,1,1,-9,4,6111,7860.0,1933802 +1100105,57,19339,1,39,1,45,1,1,1,1,-9,2,51913,6672.0,1933901 +1100105,57,19339,2,30,1,50,2,1,8,7,-9,4,4481,5170.0,1933902 +1100105,57,19340,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,1934001 +1100105,57,19340,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,1934002 +1100105,57,19341,1,34,2,30,1,2,6,1,-9,4,8129,9090.0,1934101 +1100105,57,19341,2,30,1,40,1,1,6,1,-9,4,52M2,6970.0,1934102 +1100105,57,19342,1,32,1,50,1,1,6,1,-9,4,9211MP,9370.0,1934201 +1100105,57,19342,2,32,2,30,1,1,6,1,16,4,611M1,7870.0,1934202 +1100105,57,19343,1,24,2,40,1,1,1,1,16,4,5413,7290.0,1934301 +1100105,57,19343,2,25,2,40,1,1,9,1,-9,4,622M,8191.0,1934302 +1100105,57,19344,1,29,1,50,1,1,1,1,-9,4,5313,7072.0,1934401 +1100105,57,19344,2,28,2,40,1,1,9,1,-9,4,5417,7460.0,1934402 +1100105,57,19345,1,24,2,40,1,1,1,1,16,4,5413,7290.0,1934501 +1100105,57,19345,2,25,2,40,1,1,9,1,-9,4,622M,8191.0,1934502 +1100105,57,19346,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,1934601 +1100105,57,19346,2,32,2,40,4,1,3,1,-9,4,6214,8090.0,1934602 +1100105,57,19347,1,28,2,50,1,1,6,1,-9,4,92MP,9470.0,1934701 +1100105,57,19347,2,29,2,40,1,1,1,1,-9,4,5221M,6880.0,1934702 +1100105,57,19348,1,25,2,50,1,1,6,1,16,4,611M3,7890.0,1934801 +1100105,57,19348,2,25,2,60,1,1,1,1,16,4,6111,7860.0,1934802 +1100105,57,19349,1,24,2,40,1,1,6,1,-9,4,5411,7270.0,1934901 +1100105,57,19349,2,24,1,40,1,1,1,1,-9,4,5614,7590.0,1934902 +1100105,57,19350,1,28,2,50,1,1,6,1,-9,4,92MP,9470.0,1935001 +1100105,57,19350,2,29,2,40,1,1,1,1,-9,4,5221M,6880.0,1935002 +1100105,57,19351,1,24,2,40,1,1,1,1,-9,4,52M1,6870.0,1935101 +1100105,57,19351,2,23,2,40,1,1,1,1,-9,4,622M,8191.0,1935102 +1100105,57,19352,1,27,1,50,1,1,1,1,-9,4,5418,7470.0,1935201 +1100105,57,19352,2,29,1,55,1,1,1,1,-9,4,5416,7390.0,1935202 +1100105,57,19353,1,26,2,45,1,1,1,1,-9,4,5415,7380.0,1935301 +1100105,57,19353,2,25,1,40,2,1,1,1,-9,4,23,770.0,1935302 +1100105,57,19354,1,27,2,40,3,2,1,1,-9,4,6111,7860.0,1935401 +1100105,57,19354,2,27,2,50,1,1,1,1,-9,4,813M,9170.0,1935402 +1100105,57,19355,1,25,2,40,1,1,1,1,-9,4,531M,7071.0,1935501 +1100105,57,19355,2,26,1,45,1,1,1,1,-9,4,928P,9590.0,1935502 +1100105,57,19356,1,29,2,45,1,1,1,1,-9,4,5416,7390.0,1935601 +1100105,57,19356,2,31,1,45,1,1,1,1,-9,4,81393,9180.0,1935602 +1100105,57,19357,1,26,2,40,1,1,1,1,-9,4,712,8570.0,1935701 +1100105,57,19357,2,29,1,40,1,1,1,1,-9,4,712,8570.0,1935702 +1100105,57,19358,1,33,1,40,1,1,1,1,16,4,6111,7860.0,1935801 +1100105,57,19358,2,29,1,40,1,1,1,1,-9,4,813M,9170.0,1935802 +1100105,57,19359,1,30,1,50,1,1,1,1,-9,4,5111Z,6480.0,1935901 +1100105,57,19359,2,30,2,40,1,1,1,1,-9,4,813M,9170.0,1935902 +1100105,57,19360,1,26,2,40,1,1,1,1,-9,4,5417,7460.0,1936001 +1100105,57,19360,2,27,2,40,1,1,1,1,-9,4,622M,8191.0,1936002 +1100105,57,19361,1,28,1,40,1,1,1,1,-9,4,5417,7460.0,1936101 +1100105,57,19361,2,28,2,40,1,1,1,1,-9,4,611M3,7890.0,1936102 +1100105,57,19362,1,28,2,70,1,1,1,1,-9,4,928P,9590.0,1936201 +1100105,57,19362,2,31,2,40,1,1,1,1,-9,4,531M,7071.0,1936202 +1100105,57,19363,1,26,2,55,1,1,1,1,-9,4,5415,7380.0,1936301 +1100105,57,19363,2,22,2,40,5,1,1,1,-9,4,23,770.0,1936302 +1100105,57,19364,1,24,2,40,1,1,1,1,-9,4,52M1,6870.0,1936401 +1100105,57,19364,2,23,2,40,1,1,1,1,-9,4,622M,8191.0,1936402 +1100105,57,19365,1,29,2,45,1,1,1,1,-9,4,5416,7390.0,1936501 +1100105,57,19365,2,31,1,45,1,1,1,1,-9,4,81393,9180.0,1936502 +1100105,57,19366,1,26,1,40,1,1,1,1,-9,4,5416,7390.0,1936601 +1100105,57,19366,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,1936602 +1100105,57,19367,1,30,1,50,1,1,1,1,-9,4,23,770.0,1936701 +1100105,57,19367,2,30,2,50,1,1,1,1,-9,4,611M1,7870.0,1936702 +1100105,57,19368,1,30,1,50,1,1,1,1,-9,4,23,770.0,1936801 +1100105,57,19368,2,30,2,50,1,1,1,1,-9,4,611M1,7870.0,1936802 +1100105,57,19369,1,25,2,40,1,1,1,1,-9,4,5121,6570.0,1936901 +1100105,57,19369,2,24,1,40,1,1,1,1,-9,4,5416,7390.0,1936902 +1100105,57,19370,1,26,1,50,1,1,1,1,-9,4,5242,6992.0,1937001 +1100105,57,19370,2,24,2,32,1,1,1,1,-9,4,6211,7970.0,1937002 +1100105,57,19371,1,25,1,50,1,1,1,1,-9,4,5415,7380.0,1937101 +1100105,57,19371,2,25,2,45,1,1,1,1,-9,4,522M,6890.0,1937102 +1100105,57,19372,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,1937201 +1100105,57,19372,2,28,1,40,1,1,1,1,-9,4,5416,7390.0,1937202 +1100105,57,19373,1,24,2,40,1,1,1,1,-9,4,52M1,6870.0,1937301 +1100105,57,19373,2,23,2,40,1,1,1,1,-9,4,622M,8191.0,1937302 +1100105,57,19374,1,32,1,40,1,1,1,1,-9,4,622M,8191.0,1937401 +1100105,57,19374,2,31,2,35,1,1,1,1,-9,4,611M1,7870.0,1937402 +1100105,57,19375,1,30,2,40,1,1,1,1,-9,4,51912,6770.0,1937501 +1100105,57,19375,2,32,1,40,1,1,1,1,-9,4,5415,7380.0,1937502 +1100105,57,19376,1,28,2,50,1,1,1,1,-9,4,8131,9160.0,1937601 +1100105,57,19376,2,32,1,40,1,1,1,1,-9,4,611M3,7890.0,1937602 +1100105,57,19377,1,28,2,45,1,1,1,1,-9,4,92MP,9470.0,1937701 +1100105,57,19377,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,1937702 +1100105,57,19378,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1937801 +1100105,57,19378,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1937802 +1100105,57,19379,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1937901 +1100105,57,19379,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1937902 +1100105,57,19380,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1938001 +1100105,57,19380,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1938002 +1100105,57,19381,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,1938101 +1100105,57,19381,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,1938102 +1100105,57,19382,1,26,1,40,1,1,1,3,-9,4,712,8570.0,1938201 +1100105,57,19382,2,26,2,40,1,1,1,17,-9,4,7211,8660.0,1938202 +1100105,57,19383,1,55,1,50,1,1,1,1,-9,4,4411,4670.0,1938301 +1100105,57,19383,2,53,1,-9,-9,6,1,1,-9,4,7211,8660.0,1938302 +1100105,57,19384,1,35,1,40,1,1,6,1,-9,4,5415,7380.0,1938401 +1100105,57,19384,2,28,2,40,5,3,1,1,-9,4,5613,7580.0,1938402 +1100105,57,19385,1,28,2,47,1,1,9,1,-9,4,44611,5070.0,1938501 +1100105,57,19385,2,26,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1938502 +1100105,57,19386,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,1938601 +1100105,57,19386,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,1938602 +1100105,57,19387,1,28,2,-9,-9,6,1,1,16,4,0,0.0,1938701 +1100105,57,19387,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,1938702 +1100105,57,19388,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,1938801 +1100105,57,19388,2,34,2,25,5,6,1,1,-9,4,928P,9590.0,1938802 +1100105,57,19389,1,34,1,40,1,1,1,1,-9,4,5418,7470.0,1938901 +1100105,57,19389,2,32,1,20,4,6,1,1,-9,4,5417,7460.0,1938902 +1100105,57,19390,1,26,2,55,1,1,1,1,-9,4,5416,7390.0,1939001 +1100105,57,19390,2,25,2,50,4,6,1,1,-9,4,92MP,9470.0,1939002 +1100105,57,19391,1,21,1,40,1,1,9,4,-9,4,5411,7270.0,1939101 +1100105,57,19391,2,21,1,40,1,6,1,1,15,4,5416,7390.0,1939102 +1100105,57,19392,1,30,1,40,1,1,1,23,-9,4,5416,7390.0,1939201 +1100105,57,19392,2,31,2,40,6,6,1,23,16,4,4539,5580.0,1939202 +1100105,57,19393,1,67,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,1939301 +1100105,57,19393,2,69,1,-9,-9,6,1,1,-9,2,81393,9180.0,1939302 +1100105,57,19394,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1939401 +1100105,57,19394,2,77,1,-9,-9,6,1,1,-9,4,0,0.0,1939402 +1100105,57,19395,1,70,2,-9,-9,6,1,1,-9,4,0,0.0,1939501 +1100105,57,19395,2,74,1,40,6,6,1,1,-9,2,5416,7390.0,1939502 +1100105,57,19396,1,24,2,50,4,6,1,1,16,4,5411,7270.0,1939601 +1100105,57,19396,2,25,2,40,4,6,1,1,16,4,813M,9170.0,1939602 +1100105,57,19397,1,69,1,40,1,1,1,1,-9,4,712,8570.0,1939701 +1100105,57,19397,2,70,2,75,1,1,1,1,-9,4,6111,7860.0,1939702 +1100105,57,19398,1,37,1,40,1,1,1,11,-9,4,7211,8660.0,1939801 +1100105,57,19398,2,35,1,40,1,1,8,11,-9,4,811192,8780.0,1939802 +1100105,57,19399,1,50,2,60,1,1,1,1,-9,4,4481,5170.0,1939901 +1100105,57,19399,2,32,1,60,1,1,9,1,-9,4,4481,5170.0,1939902 +1100105,57,19400,1,25,1,40,1,1,6,1,-9,4,5241,6991.0,1940001 +1100105,57,19400,2,25,2,40,3,1,6,1,-9,4,5416,7390.0,1940002 +1100105,57,19401,1,25,2,40,3,1,9,1,-9,4,5242,6992.0,1940101 +1100105,57,19401,2,28,1,52,1,1,1,1,-9,4,52M2,6970.0,1940102 +1100105,57,19402,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,1940201 +1100105,57,19402,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,1940202 +1100105,57,19403,1,25,2,40,3,1,9,1,-9,4,5242,6992.0,1940301 +1100105,57,19403,2,28,1,52,1,1,1,1,-9,4,52M2,6970.0,1940302 +1100105,57,19404,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,1940401 +1100105,57,19404,2,32,1,35,1,1,3,1,-9,4,712,8570.0,1940402 +1100105,57,19405,1,26,2,40,1,1,1,1,-9,4,92119,9390.0,1940501 +1100105,57,19405,2,32,2,50,1,1,6,1,-9,4,928P,9590.0,1940502 +1100105,57,19406,1,26,2,40,1,1,1,1,-9,4,92119,9390.0,1940601 +1100105,57,19406,2,32,2,50,1,1,6,1,-9,4,928P,9590.0,1940602 +1100105,57,19407,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,1940701 +1100105,57,19407,2,33,2,20,1,1,1,1,-9,4,611M1,7870.0,1940702 +1100105,57,19408,1,24,2,35,1,1,1,1,-9,4,5417,7460.0,1940801 +1100105,57,19408,2,22,2,24,4,1,1,1,-9,4,5419Z,7490.0,1940802 +1100105,57,19409,1,20,2,60,4,1,1,1,15,4,6211,7970.0,1940901 +1100105,57,19409,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,1940902 +1100105,57,19410,1,28,1,40,1,1,1,1,-9,4,5121,6570.0,1941001 +1100105,57,19410,2,28,1,40,1,1,1,1,-9,4,9211MP,9370.0,1941002 +1100105,57,19411,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,1941101 +1100105,57,19411,2,29,1,50,1,1,1,1,-9,4,8139Z,9190.0,1941102 +1100105,57,19412,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,1941201 +1100105,57,19412,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,1941202 +1100105,57,19413,1,28,2,40,1,1,1,1,16,4,9211MP,9370.0,1941301 +1100105,57,19413,2,25,2,42,2,1,1,1,16,4,5418,7470.0,1941302 +1100105,57,19414,1,26,1,24,6,1,1,1,16,4,92MP,9470.0,1941401 +1100105,57,19414,2,30,2,40,1,1,1,1,-9,4,611M1,7870.0,1941402 +1100105,57,19415,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,1941501 +1100105,57,19415,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,1941502 +1100105,57,19416,1,29,1,40,4,1,1,1,-9,4,9211MP,9370.0,1941601 +1100105,57,19416,2,24,2,40,1,1,1,1,-9,4,5415,7380.0,1941602 +1100105,57,19417,1,27,2,40,1,1,1,1,-9,4,5418,7470.0,1941701 +1100105,57,19417,2,28,1,44,1,1,1,1,-9,4,722Z,8680.0,1941702 +1100105,57,19418,1,26,1,60,2,1,1,1,-9,4,622M,8191.0,1941801 +1100105,57,19418,2,30,1,70,2,1,1,1,-9,4,622M,8191.0,1941802 +1100105,57,19419,1,23,2,40,1,1,1,1,-9,4,515,6670.0,1941901 +1100105,57,19419,2,26,2,40,1,1,1,1,-9,4,515,6670.0,1941902 +1100105,57,19420,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,1942001 +1100105,57,19420,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,1942002 +1100105,57,19421,1,23,2,45,1,1,1,1,-9,4,454110,5593.0,1942101 +1100105,57,19421,2,23,2,45,6,1,8,3,-9,4,5111Z,6480.0,1942102 +1100105,57,19422,1,23,2,40,1,1,1,1,-9,4,522M,6890.0,1942201 +1100105,57,19422,2,24,1,40,1,1,8,8,-9,4,5415,7380.0,1942202 +1100105,57,19423,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,1942301 +1100105,57,19423,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,1942302 +1100105,57,19424,1,21,2,40,1,1,1,2,-9,4,92MP,9470.0,1942401 +1100105,57,19424,2,24,1,40,1,1,1,1,-9,4,5416,7390.0,1942402 +1100105,57,19425,1,32,1,40,4,1,8,3,-9,4,813M,9170.0,1942501 +1100105,57,19425,2,30,2,40,6,1,8,3,-9,4,722Z,8680.0,1942502 +1100105,57,19426,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,1942601 +1100105,57,19426,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,1942602 +1100105,57,19427,1,68,2,50,1,1,1,1,-9,4,7211,8660.0,1942701 +1100105,57,19427,2,65,1,-9,-9,6,6,1,-9,4,0,0.0,1942702 +1100105,57,19428,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1942801 +1100105,57,19428,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,1942802 +1100105,57,19429,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,1942901 +1100105,57,19429,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,1942902 +1100105,57,19430,1,29,2,55,1,1,1,1,-9,4,5411,7270.0,1943001 +1100105,57,19430,2,55,2,-9,-9,3,1,1,-9,4,5411,7270.0,1943002 +1100105,57,19431,1,55,2,38,1,1,1,1,-9,4,928P,9590.0,1943101 +1100105,57,19431,2,20,1,-9,-9,6,1,1,15,4,0,0.0,1943102 +1100105,57,19432,1,32,2,40,1,1,1,23,16,4,712,8570.0,1943201 +1100105,57,19432,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,1943202 +1100105,57,19433,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1943301 +1100105,57,19433,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1943302 +1100105,57,19434,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,1943401 +1100105,57,19434,2,30,1,-9,-9,6,6,1,16,4,0,0.0,1943402 +1100105,57,19435,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1943501 +1100105,57,19435,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1943502 +1100105,57,19436,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,1943601 +1100105,57,19436,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,1943602 +1100105,57,19437,1,27,2,50,1,1,6,1,-9,4,92119,9390.0,1943701 +1100105,57,19437,2,23,1,20,6,3,1,1,16,4,54194,7480.0,1943702 +1100105,57,19438,1,27,2,50,1,1,6,1,-9,4,92119,9390.0,1943801 +1100105,57,19438,2,23,1,20,6,3,1,1,16,4,54194,7480.0,1943802 +1100105,57,19439,1,25,1,40,1,1,1,1,-9,4,5313,7072.0,1943901 +1100105,57,19439,2,25,2,35,6,6,1,1,16,4,8139Z,9190.0,1943902 +1100105,57,19440,1,26,2,50,3,3,1,1,-9,4,6212,7980.0,1944001 +1100105,57,19440,2,29,1,40,4,1,1,1,-9,4,52M2,6970.0,1944002 +1100105,57,19441,1,24,2,40,3,3,1,1,-9,4,5419Z,7490.0,1944101 +1100105,57,19441,2,25,2,50,1,1,1,1,-9,4,7111,8561.0,1944102 +1100105,57,19442,1,25,2,40,6,1,1,1,16,4,5411,7270.0,1944201 +1100105,57,19442,2,28,1,40,6,6,1,1,16,4,5411,7270.0,1944202 +1100105,57,19443,1,25,1,40,1,1,1,1,-9,4,5313,7072.0,1944301 +1100105,57,19443,2,25,2,35,6,6,1,1,16,4,8139Z,9190.0,1944302 +1100105,57,19444,1,25,1,-9,-9,6,1,1,16,4,5416,7390.0,1944401 +1100105,57,19444,2,24,1,40,1,1,1,1,-9,4,813M,9170.0,1944402 +1100105,57,19445,1,25,1,-9,-9,6,1,1,16,4,5416,7390.0,1944501 +1100105,57,19445,2,24,1,40,1,1,1,1,-9,4,813M,9170.0,1944502 +1100105,57,19446,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1944601 +1100105,57,19446,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1944602 +1100105,57,19447,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1944701 +1100105,57,19447,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1944702 +1100105,57,19448,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,1944801 +1100105,57,19448,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,1944802 +1100105,57,19449,1,73,1,-9,-9,6,1,1,-9,4,5416,7390.0,1944901 +1100105,57,19449,2,83,2,-9,-9,6,1,1,-9,4,0,0.0,1944902 +1100105,57,19450,1,73,1,-9,-9,6,1,1,-9,4,5416,7390.0,1945001 +1100105,57,19450,2,83,2,-9,-9,6,1,1,-9,4,0,0.0,1945002 +1100105,57,19451,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,1945101 +1100105,57,19451,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,1945102 +1100105,57,19452,1,69,1,40,6,6,1,1,-9,4,923,9480.0,1945201 +1100105,57,19452,2,53,1,-9,-9,6,1,1,-9,4,923,9480.0,1945202 +1100105,57,19453,1,25,1,40,6,6,1,4,16,4,92MP,9470.0,1945301 +1100105,57,19453,2,25,1,15,4,6,1,1,16,4,92M2,9570.0,1945302 +1100105,57,19454,1,29,1,20,3,1,1,1,16,4,611M1,7870.0,1945401 +1100105,57,19454,2,29,2,20,1,1,6,1,16,4,611M1,7870.0,1945402 +1100105,57,19455,1,27,1,36,1,1,1,1,-9,4,722Z,8680.0,1945501 +1100105,57,19455,2,24,2,20,4,1,1,1,16,4,611M1,7870.0,1945502 +1100105,57,19456,1,21,2,40,1,1,1,1,15,4,611M1,7870.0,1945601 +1100105,57,19456,2,20,2,30,1,1,1,1,15,4,713Z,8590.0,1945602 +1100105,57,19457,1,29,1,44,1,1,1,15,-9,4,923,9480.0,1945701 +1100105,57,19457,2,29,2,45,1,1,1,15,-9,4,5418,7470.0,1945702 +1100105,57,19458,1,60,2,40,1,1,8,19,-9,4,7211,8660.0,1945801 +1100105,57,19458,2,69,1,-9,-9,6,1,1,-9,4,0,0.0,1945802 +1100105,57,19459,1,65,2,-9,-9,6,6,1,-9,4,0,0.0,1945901 +1100105,57,19459,2,29,2,35,1,1,6,1,16,4,813M,9170.0,1945902 +1100105,57,19460,1,22,1,20,1,1,6,1,16,4,611M1,7870.0,1946001 +1100105,57,19460,2,21,1,10,5,6,1,1,16,4,5111Z,6480.0,1946002 +1100105,57,19461,1,25,1,40,6,6,1,1,16,4,5411,7270.0,1946101 +1100105,57,19461,2,25,1,11,5,1,1,1,16,4,611M1,7870.0,1946102 +1100105,57,19462,1,23,2,40,1,1,1,23,-9,4,92M2,9570.0,1946201 +1100105,57,19462,2,23,2,-9,-9,6,1,1,16,4,4481,5170.0,1946202 +1100105,57,19463,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1946301 +1100105,57,19463,2,66,2,-9,-9,6,1,1,-9,4,0,0.0,1946302 +1100105,57,19464,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,1946401 +1100105,57,19464,2,66,2,-9,-9,6,1,1,-9,4,0,0.0,1946402 +1100105,57,19465,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,1946501 +1100105,57,19465,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,1946502 +1100105,57,19466,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,1946601 +1100105,57,19466,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,1946602 +1100105,57,19467,1,22,1,20,6,1,6,1,16,4,611M1,7870.0,1946701 +1100105,57,19467,2,23,1,20,6,1,6,1,16,4,611M1,7870.0,1946702 +1100105,57,19468,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,1946801 +1100105,57,19468,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,1946802 +1100105,57,19469,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,1946901 +1100105,57,19469,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,1946902 +1100105,57,19470,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1947001 +1100105,57,19470,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1947002 +1100105,57,19471,1,24,1,-9,-9,6,6,1,16,4,0,0.0,1947101 +1100105,57,19471,2,26,1,6,1,1,6,1,16,4,5415,7380.0,1947102 +1100105,57,19472,1,24,1,-9,-9,6,6,1,16,4,0,0.0,1947201 +1100105,57,19472,2,23,1,5,6,1,6,1,16,4,611M1,7870.0,1947202 +1100105,57,19473,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1947301 +1100105,57,19473,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1947302 +1100105,57,19474,1,24,1,-9,-9,6,6,1,16,4,0,0.0,1947401 +1100105,57,19474,2,26,1,6,1,1,6,1,16,4,5415,7380.0,1947402 +1100105,57,19475,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,1947501 +1100105,57,19475,2,24,2,-9,-9,6,6,1,16,4,0,0.0,1947502 +1100105,57,19476,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1947601 +1100105,57,19476,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1947602 +1100105,57,19477,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1947701 +1100105,57,19477,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1947702 +1100105,57,19478,1,20,2,4,5,1,1,1,15,4,7115,8564.0,1947801 +1100105,57,19478,2,20,1,10,3,6,1,1,15,4,7112,8562.0,1947802 +1100105,57,19479,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,1947901 +1100105,57,19479,2,20,2,10,3,1,1,1,15,4,7115,8564.0,1947902 +1100105,57,19480,1,81,2,-9,-9,6,6,1,-9,4,0,0.0,1948001 +1100105,57,19480,2,84,1,-9,-9,6,6,1,-9,4,0,0.0,1948002 +1100105,57,19481,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1948101 +1100105,57,19481,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1948102 +1100105,57,19482,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,1948201 +1100105,57,19482,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,1948202 +1100105,57,19483,1,85,2,-9,-9,6,9,16,-9,4,0,0.0,1948301 +1100105,57,19483,2,87,2,-9,-9,6,9,16,-9,4,0,0.0,1948302 +1100105,57,19484,1,85,2,-9,-9,6,9,16,-9,4,0,0.0,1948401 +1100105,57,19484,2,87,2,-9,-9,6,9,16,-9,4,0,0.0,1948402 +1100105,57,19485,1,55,2,-9,-9,3,1,1,-9,4,712,8570.0,1948501 +1100105,57,19485,2,61,1,-9,-9,3,1,1,-9,4,712,8570.0,1948502 +1100105,57,19486,1,50,2,-9,-9,6,6,1,-9,4,4MS,5790.0,1948601 +1100105,57,19486,2,22,2,-9,-9,6,6,1,15,4,0,0.0,1948602 +1100105,57,19487,1,58,2,-9,-9,6,1,1,-9,4,813M,9170.0,1948701 +1100105,57,19487,2,26,1,-9,-9,6,9,1,-9,4,0,0.0,1948702 +1100105,57,19488,1,25,2,-9,-9,6,6,1,16,4,0,0.0,1948801 +1100105,57,19488,2,23,2,-9,-9,6,6,1,16,4,0,0.0,1948802 +1100105,57,19489,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1948901 +1100105,57,19489,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1948902 +1100105,57,19490,1,23,2,-9,-9,6,1,1,16,4,0,0.0,1949001 +1100105,57,19490,2,23,2,-9,-9,6,6,1,16,4,0,0.0,1949002 +1100105,57,19491,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,1949101 +1100105,57,19491,2,20,1,30,5,6,1,1,15,4,44413,4880.0,1949102 +1100105,57,19492,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,1949201 +1100105,57,19492,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,1949202 +1100105,57,19493,1,25,2,10,5,6,1,1,16,4,611M1,7870.0,1949301 +1100105,57,19493,2,25,2,-9,-9,6,1,1,16,4,5411,7270.0,1949302 +1100105,57,19494,1,22,2,-9,-9,6,1,1,15,4,0,0.0,1949401 +1100105,57,19494,2,22,2,-9,-9,6,1,1,15,4,0,0.0,1949402 +1100105,57,19495,1,22,2,-9,-9,6,1,1,15,4,0,0.0,1949501 +1100105,57,19495,2,22,2,-9,-9,6,1,1,15,4,0,0.0,1949502 +1100105,57,19496,1,25,2,35,4,6,1,1,16,4,6111,7860.0,1949601 +1100105,57,19496,2,23,2,18,5,6,1,1,16,4,6214,8090.0,1949602 +1100105,57,19497,1,22,2,45,6,6,1,1,-9,4,531M,7071.0,1949701 +1100105,57,19497,2,22,2,40,4,3,1,1,-9,4,5614,7590.0,1949702 +1100105,57,19498,1,23,1,35,1,3,8,2,-9,4,44511,4971.0,1949801 +1100105,57,19498,2,25,1,-9,-9,6,8,2,15,3,0,0.0,1949802 +1100105,57,19499,1,26,2,50,3,6,8,4,16,4,6212,7980.0,1949901 +1100105,57,19499,2,26,2,30,4,6,6,4,16,4,6214,8090.0,1949902 +1100105,57,19500,1,65,1,60,1,1,1,1,-9,4,928P,9590.0,1950001 +1100105,57,19501,1,66,2,45,1,1,1,1,-9,4,5416,7390.0,1950101 +1100105,57,19502,1,68,1,40,1,1,1,1,-9,4,5411,7270.0,1950201 +1100105,57,19503,1,68,2,80,1,1,1,1,-9,4,8139Z,9190.0,1950301 +1100105,57,19504,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,1950401 +1100105,57,19505,1,48,1,55,1,1,9,1,-9,4,515,6670.0,1950501 +1100105,57,19506,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,1950601 +1100105,57,19507,1,35,1,40,1,1,6,1,-9,4,5242,6992.0,1950701 +1100105,57,19508,1,49,1,90,1,1,6,1,-9,4,9211MP,9370.0,1950801 +1100105,57,19509,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1950901 +1100105,57,19510,1,35,2,40,1,1,1,1,-9,4,5415,7380.0,1951001 +1100105,57,19511,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,1951101 +1100105,57,19512,1,63,1,50,1,1,1,1,-9,4,6211,7970.0,1951201 +1100105,57,19513,1,46,1,46,1,1,1,1,-9,4,5241,6991.0,1951301 +1100105,57,19514,1,55,2,50,1,1,1,1,-9,4,5614,7590.0,1951401 +1100105,57,19515,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,1951501 +1100105,57,19516,1,52,1,55,1,1,1,1,-9,4,611M1,7870.0,1951601 +1100105,57,19517,1,48,2,40,1,1,1,1,-9,4,813M,9170.0,1951701 +1100105,57,19518,1,38,2,45,1,1,1,1,-9,4,52M2,6970.0,1951801 +1100105,57,19519,1,50,1,55,1,1,1,1,-9,4,8139Z,9190.0,1951901 +1100105,57,19520,1,38,2,43,1,1,1,1,-9,4,92M2,9570.0,1952001 +1100105,57,19521,1,49,2,80,1,1,1,1,-9,4,488,6290.0,1952101 +1100105,57,19522,1,46,1,70,1,1,1,1,-9,4,515,6670.0,1952201 +1100105,57,19523,1,59,1,70,1,1,1,1,-9,4,928P,9590.0,1952301 +1100105,57,19524,1,62,1,50,3,1,1,1,-9,4,52M2,6970.0,1952401 +1100105,57,19525,1,63,2,50,1,1,1,1,-9,4,611M1,7870.0,1952501 +1100105,57,19526,1,56,1,55,1,1,1,1,-9,4,5416,7390.0,1952601 +1100105,57,19527,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,1952701 +1100105,57,19528,1,38,2,50,1,1,1,1,-9,4,52M2,6970.0,1952801 +1100105,57,19529,1,47,1,55,1,1,1,1,-9,4,813M,9170.0,1952901 +1100105,57,19530,1,36,1,40,1,1,1,1,-9,4,6211,7970.0,1953001 +1100105,57,19531,1,35,1,80,1,1,1,1,-9,4,5416,7390.0,1953101 +1100105,57,19532,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,1953201 +1100105,57,19533,1,50,1,45,1,1,1,3,-9,4,51913,6672.0,1953301 +1100105,57,19534,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,1953401 +1100105,57,19535,1,35,2,50,1,1,2,3,-9,4,6211,7970.0,1953501 +1100105,57,19536,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,1953601 +1100105,57,19537,1,32,2,50,1,1,6,1,-9,4,5411,7270.0,1953701 +1100105,57,19538,1,31,2,60,1,1,1,1,-9,4,5411,7270.0,1953801 +1100105,57,19539,1,34,1,50,1,1,1,1,-9,4,611M1,7870.0,1953901 +1100105,57,19540,1,33,1,70,1,1,1,1,-9,4,5411,7270.0,1954001 +1100105,57,19541,1,27,2,60,1,1,1,1,-9,4,5411,7270.0,1954101 +1100105,57,19542,1,31,2,58,1,1,1,1,-9,4,5411,7270.0,1954201 +1100105,57,19543,1,31,2,60,1,1,1,1,-9,4,5411,7270.0,1954301 +1100105,57,19544,1,32,2,60,1,1,1,1,-9,4,5416,7390.0,1954401 +1100105,57,19545,1,30,1,50,1,1,1,1,-9,4,5411,7270.0,1954501 +1100105,57,19546,1,30,1,55,1,1,1,1,-9,4,52M2,6970.0,1954601 +1100105,57,19547,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,1954701 +1100105,57,19548,1,76,1,-9,-9,6,1,1,-9,2,0,0.0,1954801 +1100105,57,19549,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,1954901 +1100105,57,19550,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1955001 +1100105,57,19551,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,1955101 +1100105,57,19552,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1955201 +1100105,57,19553,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1955301 +1100105,57,19554,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,1955401 +1100105,57,19555,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1955501 +1100105,57,19556,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1955601 +1100105,57,19557,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,1955701 +1100105,57,19558,1,65,2,-9,-9,6,1,1,-9,4,813M,9170.0,1955801 +1100105,57,19559,1,38,2,-9,-9,3,1,1,-9,4,928P,9590.0,1955901 +1100105,57,19560,1,76,1,60,1,1,1,1,-9,4,7111,8561.0,1956001 +1100105,57,19561,1,67,2,40,1,1,1,1,-9,4,92M2,9570.0,1956101 +1100105,57,19562,1,73,2,50,1,1,1,1,-9,4,92119,9390.0,1956201 +1100105,57,19563,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,1956301 +1100105,57,19564,1,35,1,50,1,1,6,1,-9,4,5416,7390.0,1956401 +1100105,57,19565,1,48,1,40,1,1,1,1,-9,2,928P,9590.0,1956501 +1100105,57,19566,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,1956601 +1100105,57,19567,1,39,1,50,1,1,1,1,-9,4,92MP,9470.0,1956701 +1100105,57,19568,1,50,2,70,1,1,1,1,-9,4,92M2,9570.0,1956801 +1100105,57,19569,1,58,1,40,1,1,1,1,-9,4,928P,9590.0,1956901 +1100105,57,19570,1,44,1,40,1,1,1,1,-9,4,52M2,6970.0,1957001 +1100105,57,19571,1,48,2,40,1,1,1,1,-9,4,515,6670.0,1957101 +1100105,57,19572,1,49,1,40,1,1,1,1,-9,4,92M2,9570.0,1957201 +1100105,57,19573,1,49,1,40,1,1,1,1,-9,4,923,9480.0,1957301 +1100105,57,19574,1,39,1,45,1,1,1,3,-9,4,5415,7380.0,1957401 +1100105,57,19575,1,33,2,55,1,1,6,1,-9,4,52M1,6870.0,1957501 +1100105,57,19576,1,30,2,45,1,1,1,1,-9,4,5221M,6880.0,1957601 +1100105,57,19577,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,1957701 +1100105,57,19578,1,29,1,70,1,1,1,1,-9,4,5411,7270.0,1957801 +1100105,57,19579,1,33,2,50,1,1,1,1,-9,4,51913,6672.0,1957901 +1100105,57,19580,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,1958001 +1100105,57,19581,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,1958101 +1100105,57,19582,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,1958201 +1100105,57,19583,1,27,1,35,1,1,1,1,-9,4,454110,5593.0,1958301 +1100105,57,19584,1,30,1,50,1,1,1,1,-9,4,561M,7780.0,1958401 +1100105,57,19585,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,1958501 +1100105,57,19586,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,1958601 +1100105,57,19587,1,30,2,50,1,1,1,1,-9,4,5411,7270.0,1958701 +1100105,57,19588,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,1958801 +1100105,57,19589,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,1958901 +1100105,57,19590,1,67,2,32,1,1,1,1,-9,4,5416,7390.0,1959001 +1100105,57,19591,1,70,2,12,3,1,1,1,-9,4,6213ZM,8080.0,1959101 +1100105,57,19592,1,70,2,40,1,1,1,1,-9,4,2211P,570.0,1959201 +1100105,57,19593,1,72,1,35,4,1,1,11,-9,4,611M1,7870.0,1959301 +1100105,57,19594,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,1959401 +1100105,57,19595,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,1959501 +1100105,57,19596,1,42,1,50,1,1,9,1,-9,4,813M,9170.0,1959601 +1100105,57,19597,1,44,2,40,1,1,9,1,-9,4,813M,9170.0,1959701 +1100105,57,19598,1,46,2,55,1,1,6,1,-9,4,5613,7580.0,1959801 +1100105,57,19599,1,58,2,40,1,1,6,1,-9,4,531M,7071.0,1959901 +1100105,57,19600,1,37,2,40,1,1,6,1,-9,4,5411,7270.0,1960001 +1100105,57,19601,1,58,2,40,1,1,6,1,-9,4,531M,7071.0,1960101 +1100105,57,19602,1,37,2,40,1,1,6,1,-9,4,5411,7270.0,1960201 +1100105,57,19603,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,1960301 +1100105,57,19604,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,1960401 +1100105,57,19605,1,36,1,50,1,1,1,1,-9,4,7211,8660.0,1960501 +1100105,57,19606,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,1960601 +1100105,57,19607,1,41,1,32,1,1,1,1,-9,4,62132,8070.0,1960701 +1100105,57,19608,1,36,1,80,1,1,1,1,-9,4,6111,7860.0,1960801 +1100105,57,19609,1,60,1,40,1,1,1,1,-9,4,23,770.0,1960901 +1100105,57,19610,1,38,1,43,1,1,1,1,-9,4,5112,6490.0,1961001 +1100105,57,19611,1,40,2,50,1,1,1,1,-9,4,92119,9390.0,1961101 +1100105,57,19612,1,53,1,38,1,1,1,1,-9,4,52M2,6970.0,1961201 +1100105,57,19613,1,52,2,50,1,1,1,1,-9,4,5419Z,7490.0,1961301 +1100105,57,19614,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,1961401 +1100105,57,19615,1,58,2,50,1,1,1,1,-9,4,23,770.0,1961501 +1100105,57,19616,1,47,1,50,1,1,1,1,-9,4,6241,8370.0,1961601 +1100105,57,19617,1,48,2,75,1,4,1,1,16,1,928110P2,9680.0,1961701 +1100105,57,19618,1,36,1,80,1,1,1,1,-9,4,6111,7860.0,1961801 +1100105,57,19619,1,37,2,50,1,1,1,1,-9,4,5417,7460.0,1961901 +1100105,57,19620,1,60,1,40,1,1,1,1,-9,4,814,9290.0,1962001 +1100105,57,19621,1,40,1,40,1,1,1,1,-9,4,92M2,9570.0,1962101 +1100105,57,19622,1,36,2,40,1,1,1,1,16,4,5419Z,7490.0,1962201 +1100105,57,19623,1,35,1,40,1,1,1,1,-9,4,5241,6991.0,1962301 +1100105,57,19624,1,53,1,40,1,1,1,1,-9,4,5413,7290.0,1962401 +1100105,57,19625,1,42,2,47,1,1,1,1,-9,4,813M,9170.0,1962501 +1100105,57,19626,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,1962601 +1100105,57,19627,1,54,1,40,1,1,1,1,-9,4,923,9480.0,1962701 +1100105,57,19628,1,53,1,40,4,1,1,1,-9,4,5415,7380.0,1962801 +1100105,57,19629,1,58,2,50,1,1,1,1,-9,4,23,770.0,1962901 +1100105,57,19630,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,1963001 +1100105,57,19631,1,36,1,50,1,1,1,1,16,2,928P,9590.0,1963101 +1100105,57,19632,1,42,1,40,1,1,1,1,-9,4,33641M2,3590.0,1963201 +1100105,57,19633,1,42,2,46,1,1,1,1,16,4,5415,7380.0,1963301 +1100105,57,19634,1,36,1,45,1,1,1,11,-9,4,5411,7270.0,1963401 +1100105,57,19635,1,39,2,50,3,1,8,2,-9,4,6241,8370.0,1963501 +1100105,57,19636,1,38,2,40,1,1,8,19,-9,4,813M,9170.0,1963601 +1100105,57,19637,1,48,1,50,1,1,1,2,-9,4,8139Z,9190.0,1963701 +1100105,57,19638,1,39,2,45,1,1,1,23,-9,4,51111,6470.0,1963801 +1100105,57,19639,1,30,2,60,1,1,9,1,-9,4,5182,6695.0,1963901 +1100105,57,19640,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,1964001 +1100105,57,19641,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,1964101 +1100105,57,19642,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1964201 +1100105,57,19643,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1964301 +1100105,57,19644,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,1964401 +1100105,57,19645,1,31,1,40,1,1,6,1,-9,4,53M,7190.0,1964501 +1100105,57,19646,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,1964601 +1100105,57,19647,1,28,1,40,1,1,1,1,16,2,5414,7370.0,1964701 +1100105,57,19648,1,29,1,60,1,1,1,1,-9,4,531M,7071.0,1964801 +1100105,57,19649,1,29,1,60,1,1,1,1,-9,4,531M,7071.0,1964901 +1100105,57,19650,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,1965001 +1100105,57,19651,1,33,1,40,1,1,1,1,-9,4,928P,9590.0,1965101 +1100105,57,19652,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,1965201 +1100105,57,19653,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,1965301 +1100105,57,19654,1,32,1,45,1,1,1,1,-9,4,928P,9590.0,1965401 +1100105,57,19655,1,32,1,45,1,1,1,1,-9,4,92MP,9470.0,1965501 +1100105,57,19656,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,1965601 +1100105,57,19657,1,31,2,40,1,1,1,1,-9,4,5417,7460.0,1965701 +1100105,57,19658,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,1965801 +1100105,57,19659,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,1965901 +1100105,57,19660,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,1966001 +1100105,57,19661,1,25,1,70,1,1,1,1,16,4,928P,9590.0,1966101 +1100105,57,19662,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,1966201 +1100105,57,19663,1,32,2,50,1,1,1,1,-9,4,5416,7390.0,1966301 +1100105,57,19664,1,33,1,50,1,1,1,1,-9,4,611M1,7870.0,1966401 +1100105,57,19665,1,29,1,50,1,1,1,1,-9,4,5418,7470.0,1966501 +1100105,57,19666,1,34,2,50,1,1,1,1,-9,4,92MP,9470.0,1966601 +1100105,57,19667,1,32,2,60,1,1,1,1,-9,4,5418,7470.0,1966701 +1100105,57,19668,1,33,1,40,3,1,1,1,-9,4,928P,9590.0,1966801 +1100105,57,19669,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1966901 +1100105,57,19670,1,33,2,40,1,1,1,1,-9,2,928P,9590.0,1967001 +1100105,57,19671,1,33,1,50,1,1,1,1,-9,4,611M1,7870.0,1967101 +1100105,57,19672,1,31,1,40,1,1,1,1,-9,2,5413,7290.0,1967201 +1100105,57,19673,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,1967301 +1100105,57,19674,1,33,1,50,1,1,1,1,-9,4,9211MP,9370.0,1967401 +1100105,57,19675,1,29,1,60,1,1,1,1,-9,4,531M,7071.0,1967501 +1100105,57,19676,1,25,1,70,1,1,1,1,16,4,928P,9590.0,1967601 +1100105,57,19677,1,25,1,60,1,1,1,1,-9,4,531M,7071.0,1967701 +1100105,57,19678,1,29,2,60,1,1,1,1,-9,4,5412,7280.0,1967801 +1100105,57,19679,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,1967901 +1100105,57,19680,1,27,1,40,1,1,1,1,16,4,52M2,6970.0,1968001 +1100105,57,19681,1,29,1,40,1,4,1,1,-9,1,928110P3,9690.0,1968101 +1100105,57,19682,1,29,2,45,1,1,1,1,-9,4,813M,9170.0,1968201 +1100105,57,19683,1,26,1,40,1,1,1,1,-9,4,52M2,6970.0,1968301 +1100105,57,19684,1,30,1,48,1,1,1,1,-9,4,7211,8660.0,1968401 +1100105,57,19685,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,1968501 +1100105,57,19686,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,1968601 +1100105,57,19687,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,1968701 +1100105,57,19688,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,1968801 +1100105,57,19689,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,1968901 +1100105,57,19690,1,30,1,40,1,1,1,13,-9,4,92113,9380.0,1969001 +1100105,57,19691,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,1969101 +1100105,57,19692,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,1969201 +1100105,57,19693,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1969301 +1100105,57,19694,1,68,1,-9,-9,6,1,1,-9,4,928P,9590.0,1969401 +1100105,57,19695,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1969501 +1100105,57,19696,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1969601 +1100105,57,19697,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,1969701 +1100105,57,19698,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,1969801 +1100105,57,19699,1,68,1,-9,-9,6,1,1,-9,4,928P,9590.0,1969901 +1100105,57,19700,1,57,1,-9,-9,6,1,1,-9,4,813M,9170.0,1970001 +1100105,57,19701,1,34,1,60,1,3,9,1,-9,4,5416,7390.0,1970101 +1100105,57,19702,1,65,1,40,1,1,2,1,-9,4,92M2,9570.0,1970201 +1100105,57,19703,1,70,1,40,6,1,1,1,-9,4,5411,7270.0,1970301 +1100105,57,19704,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,1970401 +1100105,57,19705,1,67,2,39,3,1,1,1,-9,4,51912,6770.0,1970501 +1100105,57,19706,1,76,1,99,3,1,1,1,-9,2,712,8570.0,1970601 +1100105,57,19707,1,72,1,40,1,2,1,1,-9,4,8129,9090.0,1970701 +1100105,57,19708,1,66,1,20,1,1,1,1,-9,2,92119,9390.0,1970801 +1100105,57,19709,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,1970901 +1100105,57,19710,1,65,1,45,4,1,1,1,-9,4,92M2,9570.0,1971001 +1100105,57,19711,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1971101 +1100105,57,19712,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,1971201 +1100105,57,19713,1,36,1,40,1,1,6,1,-9,4,813M,9170.0,1971301 +1100105,57,19714,1,39,2,40,1,1,6,1,-9,4,5221M,6880.0,1971401 +1100105,57,19715,1,52,2,40,1,1,6,1,-9,4,928P,9590.0,1971501 +1100105,57,19716,1,41,1,40,1,1,6,1,-9,4,6111,7860.0,1971601 +1100105,57,19717,1,45,2,60,1,1,6,1,-9,4,5414,7370.0,1971701 +1100105,57,19718,1,41,1,36,1,1,1,1,-9,4,812112,8980.0,1971801 +1100105,57,19719,1,55,1,40,1,1,1,1,-9,4,5411,7270.0,1971901 +1100105,57,19720,1,56,2,40,1,1,1,1,-9,4,923,9480.0,1972001 +1100105,57,19721,1,37,1,50,1,1,1,1,-9,4,621M,8180.0,1972101 +1100105,57,19722,1,37,1,35,1,1,1,1,-9,4,6111,7860.0,1972201 +1100105,57,19723,1,38,1,40,1,1,1,1,-9,4,928P,9590.0,1972301 +1100105,57,19724,1,37,2,40,3,1,1,1,-9,4,923,9480.0,1972401 +1100105,57,19725,1,42,2,38,1,1,1,1,-9,4,5411,7270.0,1972501 +1100105,57,19726,1,62,1,43,1,1,1,1,-9,4,22S,690.0,1972601 +1100105,57,19727,1,54,1,46,1,1,1,1,-9,4,6213ZM,8080.0,1972701 +1100105,57,19728,1,41,2,60,1,1,1,1,-9,4,9211MP,9370.0,1972801 +1100105,57,19729,1,38,1,40,1,1,1,1,-9,4,5417,7460.0,1972901 +1100105,57,19730,1,55,1,40,3,1,1,1,-9,2,531M,7071.0,1973001 +1100105,57,19731,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,1973101 +1100105,57,19732,1,35,1,50,1,1,1,1,-9,4,51111,6470.0,1973201 +1100105,57,19733,1,42,1,40,1,1,1,1,-9,4,9211MP,9370.0,1973301 +1100105,57,19734,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,1973401 +1100105,57,19735,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,1973501 +1100105,57,19736,1,61,2,50,1,1,1,23,16,4,6111,7860.0,1973601 +1100105,57,19737,1,39,1,50,1,1,1,2,-9,4,481,6070.0,1973701 +1100105,57,19738,1,38,1,45,1,1,1,13,-9,4,8139Z,9190.0,1973801 +1100105,57,19739,1,48,1,40,1,1,1,6,-9,4,531M,7071.0,1973901 +1100105,57,19740,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1974001 +1100105,57,19741,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1974101 +1100105,57,19742,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,1974201 +1100105,57,19743,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,1974301 +1100105,57,19744,1,27,1,45,1,1,9,1,-9,4,813M,9170.0,1974401 +1100105,57,19745,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,1974501 +1100105,57,19746,1,28,1,40,1,1,9,1,-9,4,51912,6770.0,1974601 +1100105,57,19747,1,32,1,40,1,1,9,1,-9,4,92113,9380.0,1974701 +1100105,57,19748,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,1974801 +1100105,57,19749,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,1974901 +1100105,57,19750,1,27,2,40,2,1,9,1,-9,4,923,9480.0,1975001 +1100105,57,19751,1,29,2,45,1,1,9,1,-9,4,5413,7290.0,1975101 +1100105,57,19752,1,29,2,45,1,1,9,1,-9,4,51111,6470.0,1975201 +1100105,57,19753,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,1975301 +1100105,57,19754,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,1975401 +1100105,57,19755,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,1975501 +1100105,57,19756,1,26,2,40,1,1,6,1,16,2,622M,8191.0,1975601 +1100105,57,19757,1,22,2,70,1,1,6,1,-9,4,5416,7390.0,1975701 +1100105,57,19758,1,29,1,50,1,1,6,1,-9,4,9211MP,9370.0,1975801 +1100105,57,19759,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,1975901 +1100105,57,19760,1,26,2,48,1,1,6,1,-9,4,5413,7290.0,1976001 +1100105,57,19761,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,1976101 +1100105,57,19762,1,22,2,70,1,1,6,1,-9,4,5416,7390.0,1976201 +1100105,57,19763,1,32,1,80,1,1,6,1,-9,4,622M,8191.0,1976301 +1100105,57,19764,1,26,2,40,1,1,6,1,16,2,92M2,9570.0,1976401 +1100105,57,19765,1,26,2,48,1,1,6,1,-9,4,5413,7290.0,1976501 +1100105,57,19766,1,29,1,60,1,1,6,1,-9,4,52M2,6970.0,1976601 +1100105,57,19767,1,25,2,40,1,1,6,1,-9,4,5416,7390.0,1976701 +1100105,57,19768,1,33,2,40,1,1,6,1,-9,4,813M,9170.0,1976801 +1100105,57,19769,1,30,1,42,1,1,6,1,-9,4,813M,9170.0,1976901 +1100105,57,19770,1,26,2,50,1,1,2,1,16,4,515,6670.0,1977001 +1100105,57,19771,1,27,2,55,1,1,1,1,-9,4,8139Z,9190.0,1977101 +1100105,57,19772,1,31,2,40,1,1,1,1,-9,4,52M2,6970.0,1977201 +1100105,57,19773,1,27,2,55,1,1,1,1,-9,4,5416,7390.0,1977301 +1100105,57,19774,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1977401 +1100105,57,19775,1,28,1,45,1,1,1,1,-9,4,531M,7071.0,1977501 +1100105,57,19776,1,31,1,40,1,1,1,1,-9,4,522M,6890.0,1977601 +1100105,57,19777,1,28,2,40,1,1,1,1,-9,4,6241,8370.0,1977701 +1100105,57,19778,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,1977801 +1100105,57,19779,1,29,2,40,1,1,1,1,-9,4,5411,7270.0,1977901 +1100105,57,19780,1,25,2,40,1,1,1,1,-9,4,51913,6672.0,1978001 +1100105,57,19781,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,1978101 +1100105,57,19782,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,1978201 +1100105,57,19783,1,27,2,40,1,1,1,1,-9,4,92M1,9490.0,1978301 +1100105,57,19784,1,27,2,45,1,1,1,1,-9,4,611M1,7870.0,1978401 +1100105,57,19785,1,30,2,40,4,1,1,1,-9,4,5416,7390.0,1978501 +1100105,57,19786,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1978601 +1100105,57,19787,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,1978701 +1100105,57,19788,1,29,1,40,1,1,1,1,-9,4,5416,7390.0,1978801 +1100105,57,19789,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,1978901 +1100105,57,19790,1,29,1,15,1,1,1,1,-9,4,5417,7460.0,1979001 +1100105,57,19791,1,28,2,65,1,1,1,1,-9,4,6111,7860.0,1979101 +1100105,57,19792,1,29,2,45,1,1,1,1,-9,4,928P,9590.0,1979201 +1100105,57,19793,1,30,1,70,1,1,1,1,-9,4,6211,7970.0,1979301 +1100105,57,19794,1,28,1,55,1,1,1,1,-9,4,813M,9170.0,1979401 +1100105,57,19795,1,25,2,50,1,1,1,1,-9,4,5416,7390.0,1979501 +1100105,57,19796,1,25,2,50,1,1,1,1,-9,4,5416,7390.0,1979601 +1100105,57,19797,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,1979701 +1100105,57,19798,1,25,2,50,1,1,1,1,-9,4,5416,7390.0,1979801 +1100105,57,19799,1,34,2,55,1,1,1,1,15,4,515,6670.0,1979901 +1100105,57,19800,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1980001 +1100105,57,19801,1,27,1,40,1,1,1,1,-9,4,8139Z,9190.0,1980101 +1100105,57,19802,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,1980201 +1100105,57,19803,1,34,2,55,1,1,1,1,15,4,515,6670.0,1980301 +1100105,57,19804,1,27,2,50,1,1,1,1,-9,4,5417,7460.0,1980401 +1100105,57,19805,1,32,1,50,1,1,1,1,-9,4,424M,4380.0,1980501 +1100105,57,19806,1,33,2,40,1,1,1,1,-9,4,211,370.0,1980601 +1100105,57,19807,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1980701 +1100105,57,19808,1,31,2,50,1,1,1,1,-9,4,92M2,9570.0,1980801 +1100105,57,19809,1,28,1,60,1,1,1,1,-9,4,92MP,9470.0,1980901 +1100105,57,19810,1,26,2,37,1,1,1,1,-9,4,813M,9170.0,1981001 +1100105,57,19811,1,26,2,45,1,1,1,1,-9,4,531M,7071.0,1981101 +1100105,57,19812,1,34,2,55,1,1,1,1,15,4,515,6670.0,1981201 +1100105,57,19813,1,33,1,40,1,1,1,1,-9,4,55,7570.0,1981301 +1100105,57,19814,1,22,2,40,4,1,1,1,15,4,52M1,6870.0,1981401 +1100105,57,19815,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,1981501 +1100105,57,19816,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,1981601 +1100105,57,19817,1,30,2,60,3,1,1,1,-9,4,92MP,9470.0,1981701 +1100105,57,19818,1,27,2,50,1,1,1,1,-9,4,5417,7460.0,1981801 +1100105,57,19819,1,27,2,40,1,1,1,1,-9,4,3391,3960.0,1981901 +1100105,57,19820,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,1982001 +1100105,57,19821,1,31,2,40,1,1,1,1,-9,4,813M,9170.0,1982101 +1100105,57,19822,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,1982201 +1100105,57,19823,1,33,1,40,1,1,1,1,-9,4,5415,7380.0,1982301 +1100105,57,19824,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,1982401 +1100105,57,19825,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1982501 +1100105,57,19826,1,26,1,40,1,1,1,1,-9,4,928P,9590.0,1982601 +1100105,57,19827,1,24,2,40,1,1,1,1,-9,4,622M,8191.0,1982701 +1100105,57,19828,1,34,2,38,1,1,1,1,-9,4,611M3,7890.0,1982801 +1100105,57,19829,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,1982901 +1100105,57,19830,1,33,1,40,1,4,1,1,16,1,928110P2,9680.0,1983001 +1100105,57,19831,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1983101 +1100105,57,19832,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,1983201 +1100105,57,19833,1,32,2,50,1,1,1,1,-9,4,813M,9170.0,1983301 +1100105,57,19834,1,27,1,40,1,1,1,1,-9,4,928P,9590.0,1983401 +1100105,57,19835,1,27,1,40,1,1,1,1,-9,4,8139Z,9190.0,1983501 +1100105,57,19836,1,28,1,45,1,1,1,1,-9,4,531M,7071.0,1983601 +1100105,57,19837,1,33,2,40,1,1,1,1,-9,4,211,370.0,1983701 +1100105,57,19838,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,1983801 +1100105,57,19839,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,1983901 +1100105,57,19840,1,27,1,40,1,1,1,1,-9,4,928P,9590.0,1984001 +1100105,57,19841,1,30,1,70,1,1,1,1,-9,4,6211,7970.0,1984101 +1100105,57,19842,1,33,2,40,1,1,1,1,-9,4,92M1,9490.0,1984201 +1100105,57,19843,1,32,2,45,1,1,1,1,-9,4,9211MP,9370.0,1984301 +1100105,57,19844,1,32,1,23,1,1,1,1,-9,4,5615,7670.0,1984401 +1100105,57,19845,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,1984501 +1100105,57,19846,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,1984601 +1100105,57,19847,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,1984701 +1100105,57,19848,1,33,1,40,1,1,1,1,-9,4,5411,7270.0,1984801 +1100105,57,19849,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,1984901 +1100105,57,19850,1,33,1,40,1,1,1,1,-9,4,5411,7270.0,1985001 +1100105,57,19851,1,31,2,50,1,1,1,1,-9,4,92M2,9570.0,1985101 +1100105,57,19852,1,28,1,60,1,4,1,1,-9,1,928110P3,9690.0,1985201 +1100105,57,19853,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1985301 +1100105,57,19854,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,1985401 +1100105,57,19855,1,28,2,42,1,1,1,1,-9,4,44511,4971.0,1985501 +1100105,57,19856,1,29,1,45,1,1,1,1,-9,4,561M,7780.0,1985601 +1100105,57,19857,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1985701 +1100105,57,19858,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,1985801 +1100105,57,19859,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,1985901 +1100105,57,19860,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1986001 +1100105,57,19861,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1986101 +1100105,57,19862,1,28,1,40,1,1,1,23,-9,4,813M,9170.0,1986201 +1100105,57,19863,1,27,2,40,1,1,8,17,-9,4,6111,7860.0,1986301 +1100105,57,19864,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,1986401 +1100105,57,19865,1,27,2,40,1,1,8,17,-9,4,6111,7860.0,1986501 +1100105,57,19866,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1986601 +1100105,57,19867,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1986701 +1100105,57,19868,1,32,1,40,1,1,1,10,-9,4,9211MP,9370.0,1986801 +1100105,57,19869,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1986901 +1100105,57,19870,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,1987001 +1100105,57,19871,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,1987101 +1100105,57,19872,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,1987201 +1100105,57,19873,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1987301 +1100105,57,19874,1,31,2,55,1,1,1,4,-9,4,5411,7270.0,1987401 +1100105,57,19875,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1987501 +1100105,57,19876,1,29,1,50,1,1,2,5,-9,4,5412,7280.0,1987601 +1100105,57,19877,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,1987701 +1100105,57,19878,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,1987801 +1100105,57,19879,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,1987901 +1100105,57,19880,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,1988001 +1100105,57,19881,1,80,2,-9,-9,6,6,1,-9,4,0,0.0,1988101 +1100105,57,19882,1,80,2,-9,-9,6,6,1,-9,4,0,0.0,1988201 +1100105,57,19883,1,80,2,-9,-9,6,2,1,-9,4,0,0.0,1988301 +1100105,57,19884,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1988401 +1100105,57,19885,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,1988501 +1100105,57,19886,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1988601 +1100105,57,19887,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,1988701 +1100105,57,19888,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1988801 +1100105,57,19889,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1988901 +1100105,57,19890,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1989001 +1100105,57,19891,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,1989101 +1100105,57,19892,1,68,1,-9,-9,6,1,1,-9,3,0,0.0,1989201 +1100105,57,19893,1,82,2,-9,-9,6,1,1,-9,4,5313,7072.0,1989301 +1100105,57,19894,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,1989401 +1100105,57,19895,1,67,1,35,2,6,1,1,15,4,7111,8561.0,1989501 +1100105,57,19896,1,67,1,35,2,6,1,1,15,4,7111,8561.0,1989601 +1100105,57,19897,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1989701 +1100105,57,19898,1,65,1,-9,-9,6,1,1,-9,4,923,9480.0,1989801 +1100105,57,19899,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,1989901 +1100105,57,19900,1,67,1,35,2,6,1,1,15,4,7111,8561.0,1990001 +1100105,57,19901,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,1990101 +1100105,57,19902,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1990201 +1100105,57,19903,1,70,1,-9,-9,6,1,1,-9,4,0,0.0,1990301 +1100105,57,19904,1,94,2,-9,-9,6,1,1,-9,4,0,0.0,1990401 +1100105,57,19905,1,68,1,-9,-9,6,1,1,-9,3,0,0.0,1990501 +1100105,57,19906,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,1990601 +1100105,57,19907,1,65,1,-9,-9,6,1,1,-9,4,923,9480.0,1990701 +1100105,57,19908,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,1990801 +1100105,57,19909,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1990901 +1100105,57,19910,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1991001 +1100105,57,19911,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,1991101 +1100105,57,19912,1,62,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,1991201 +1100105,57,19913,1,62,2,-9,-9,3,1,1,-9,4,928P,9590.0,1991301 +1100105,57,19914,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,1991401 +1100105,57,19915,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,1991501 +1100105,57,19916,1,21,1,-9,-9,6,1,1,15,4,0,0.0,1991601 +1100105,57,19917,1,67,1,50,1,1,1,1,-9,4,23,770.0,1991701 +1100105,57,19918,1,67,1,50,1,1,1,1,-9,4,23,770.0,1991801 +1100105,57,19919,1,58,2,40,1,1,1,1,-9,4,713Z,8590.0,1991901 +1100105,57,19920,1,36,1,40,3,2,1,1,-9,4,5417,7460.0,1992001 +1100105,57,19921,1,55,2,20,3,1,1,1,-9,4,814,9290.0,1992101 +1100105,57,19922,1,58,2,40,1,1,8,11,-9,4,5617Z,7690.0,1992201 +1100105,57,19923,1,23,2,40,4,1,9,1,-9,4,813M,9170.0,1992301 +1100105,57,19924,1,23,1,40,4,1,9,1,-9,4,5417,7460.0,1992401 +1100105,57,19925,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,1992501 +1100105,57,19926,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,1992601 +1100105,57,19927,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,1992701 +1100105,57,19928,1,34,1,39,1,1,1,1,-9,4,44511,4971.0,1992801 +1100105,57,19929,1,31,1,30,3,1,1,1,-9,4,813M,9170.0,1992901 +1100105,57,19930,1,23,1,40,1,1,1,1,-9,4,5415,7380.0,1993001 +1100105,57,19931,1,25,2,45,1,1,1,1,-9,4,5415,7380.0,1993101 +1100105,57,19932,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,1993201 +1100105,57,19933,1,29,1,40,4,1,1,1,-9,2,5613,7580.0,1993301 +1100105,57,19934,1,26,1,90,1,1,1,1,16,4,5417,7460.0,1993401 +1100105,57,19935,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,1993501 +1100105,57,19936,1,27,2,27,1,1,1,1,16,4,611M1,7870.0,1993601 +1100105,57,19937,1,27,2,27,1,1,1,1,16,4,611M1,7870.0,1993701 +1100105,57,19938,1,25,2,40,1,1,1,1,-9,4,712,8570.0,1993801 +1100105,57,19939,1,24,2,45,1,1,1,1,-9,4,5416,7390.0,1993901 +1100105,57,19940,1,25,1,35,1,1,1,1,-9,4,813M,9170.0,1994001 +1100105,57,19941,1,28,2,42,1,1,1,1,-9,4,812112,8980.0,1994101 +1100105,57,19942,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,1994201 +1100105,57,19943,1,32,2,38,4,1,1,2,-9,4,928P,9590.0,1994301 +1100105,57,19944,1,27,2,95,1,1,1,16,-9,4,928P,9590.0,1994401 +1100105,57,19945,1,23,2,50,1,1,1,11,-9,4,52M1,6870.0,1994501 +1100105,57,19946,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1994601 +1100105,57,19947,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1994701 +1100105,57,19948,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1994801 +1100105,57,19949,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,1994901 +1100105,57,19950,1,67,2,-9,-9,6,2,1,-9,4,491,6370.0,1995001 +1100105,57,19951,1,78,2,-9,-9,6,1,1,-9,4,0,0.0,1995101 +1100105,57,19952,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,1995201 +1100105,57,19953,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,1995301 +1100105,57,19954,1,78,2,-9,-9,6,1,1,-9,4,0,0.0,1995401 +1100105,57,19955,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,1995501 +1100105,57,19956,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,1995601 +1100105,57,19957,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,1995701 +1100105,57,19958,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1995801 +1100105,57,19959,1,74,2,-9,-9,6,1,1,-9,4,5411,7270.0,1995901 +1100105,57,19960,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,1996001 +1100105,57,19961,1,84,2,-9,-9,6,1,1,-9,4,623M,8290.0,1996101 +1100105,57,19962,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,1996201 +1100105,57,19963,1,61,2,-9,-9,6,9,1,-9,4,5614,7590.0,1996301 +1100105,57,19964,1,62,1,-9,-9,6,1,1,-9,4,0,0.0,1996401 +1100105,57,19965,1,23,2,35,4,6,1,1,-9,4,3254,2190.0,1996501 +1100105,57,19966,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1996601 +1100105,57,19967,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,1996701 +1100105,57,19968,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1996801 +1100105,57,19969,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,1996901 +1100105,57,19970,1,67,1,20,1,1,1,1,-9,4,23,770.0,1997001 +1100105,57,19971,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,1997101 +1100105,57,19972,1,71,2,18,1,1,1,1,-9,4,4MS,5790.0,1997201 +1100105,57,19973,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,1997301 +1100105,57,19974,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1997401 +1100105,57,19975,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1997501 +1100105,57,19976,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,1997601 +1100105,57,19977,1,62,1,20,3,1,9,1,-9,4,4249Z,4580.0,1997701 +1100105,57,19978,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,1997801 +1100105,57,19979,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,1997901 +1100105,57,19980,1,38,1,20,3,1,1,1,-9,4,4481,5170.0,1998001 +1100105,57,19981,1,50,1,40,1,1,1,1,-9,4,7115,8564.0,1998101 +1100105,57,19982,1,50,1,40,1,1,1,1,-9,4,7115,8564.0,1998201 +1100105,57,19983,1,59,2,20,6,1,1,1,-9,4,6244,8470.0,1998301 +1100105,57,19984,1,54,2,40,1,1,1,1,-9,4,5241,6991.0,1998401 +1100105,57,19985,1,58,1,41,1,1,1,1,-9,4,928P,9590.0,1998501 +1100105,57,19986,1,52,2,25,1,1,1,1,-9,4,442,4770.0,1998601 +1100105,57,19987,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,1998701 +1100105,57,19988,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,1998801 +1100105,57,19989,1,40,1,30,6,1,9,19,-9,4,111,170.0,1998901 +1100105,57,19990,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1999001 +1100105,57,19991,1,28,1,40,6,1,9,1,-9,4,92M2,9570.0,1999101 +1100105,57,19992,1,28,1,40,6,1,9,1,-9,4,92M2,9570.0,1999201 +1100105,57,19993,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,1999301 +1100105,57,19994,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1999401 +1100105,57,19995,1,28,1,40,6,1,9,1,-9,4,92M2,9570.0,1999501 +1100105,57,19996,1,27,1,30,1,1,9,1,-9,4,712,8570.0,1999601 +1100105,57,19997,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1999701 +1100105,57,19998,1,20,2,40,4,1,6,1,15,4,5412,7280.0,1999801 +1100105,57,19999,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,1999901 +1100105,57,20000,1,34,2,24,4,1,6,1,-9,4,722Z,8680.0,2000001 +1100105,57,20001,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,2000101 +1100105,57,20002,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,2000201 +1100105,57,20003,1,31,1,40,1,1,6,1,-9,4,5415,7380.0,2000301 +1100105,57,20004,1,20,2,40,4,1,6,1,15,4,5412,7280.0,2000401 +1100105,57,20005,1,29,2,24,1,1,2,1,-9,4,7211,8660.0,2000501 +1100105,57,20006,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,2000601 +1100105,57,20007,1,23,2,40,3,1,1,1,-9,4,813M,9170.0,2000701 +1100105,57,20008,1,33,2,40,1,1,1,1,15,2,483,6090.0,2000801 +1100105,57,20009,1,22,2,45,5,1,1,1,-9,4,5416,7390.0,2000901 +1100105,57,20010,1,22,1,40,1,1,1,1,15,4,51111,6470.0,2001001 +1100105,57,20011,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,2001101 +1100105,57,20012,1,22,2,25,4,1,1,1,-9,4,611M1,7870.0,2001201 +1100105,57,20013,1,33,2,40,5,1,1,1,-9,4,813M,9170.0,2001301 +1100105,57,20014,1,24,2,40,1,1,1,1,16,4,813M,9170.0,2001401 +1100105,57,20015,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,2001501 +1100105,57,20016,1,24,2,4,3,1,1,1,15,4,713Z,8590.0,2001601 +1100105,57,20017,1,34,2,45,1,1,1,1,-9,4,5414,7370.0,2001701 +1100105,57,20018,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,2001801 +1100105,57,20019,1,26,2,20,4,1,1,1,-9,4,52M2,6970.0,2001901 +1100105,57,20020,1,27,1,3,6,1,1,1,16,4,611M3,7890.0,2002001 +1100105,57,20021,1,33,2,40,1,1,1,1,15,2,483,6090.0,2002101 +1100105,57,20022,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,2002201 +1100105,57,20023,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,2002301 +1100105,57,20024,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,2002401 +1100105,57,20025,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,2002501 +1100105,57,20026,1,28,2,20,3,1,1,2,16,4,923,9480.0,2002601 +1100105,57,20027,1,25,1,30,1,2,1,23,16,4,713Z,8590.0,2002701 +1100105,57,20028,1,28,1,5,4,1,1,3,16,4,611M1,7870.0,2002801 +1100105,57,20029,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,2002901 +1100105,57,20030,1,76,1,-9,-9,6,9,1,-9,2,0,0.0,2003001 +1100105,57,20031,1,65,2,-9,-9,6,9,1,-9,4,0,0.0,2003101 +1100105,57,20032,1,65,2,-9,-9,6,9,1,-9,4,0,0.0,2003201 +1100105,57,20033,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,2003301 +1100105,57,20034,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,2003401 +1100105,57,20035,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,2003501 +1100105,57,20036,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,2003601 +1100105,57,20037,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,2003701 +1100105,57,20038,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,2003801 +1100105,57,20039,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,2003901 +1100105,57,20040,1,76,1,-9,-9,6,9,1,-9,2,0,0.0,2004001 +1100105,57,20041,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,2004101 +1100105,57,20042,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,2004201 +1100105,57,20043,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,2004301 +1100105,57,20044,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,2004401 +1100105,57,20045,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,2004501 +1100105,57,20046,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,2004601 +1100105,57,20047,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,2004701 +1100105,57,20048,1,70,2,4,6,6,6,1,-9,4,522M,6890.0,2004801 +1100105,57,20049,1,85,2,-9,-9,6,6,1,-9,4,0,0.0,2004901 +1100105,57,20050,1,85,2,-9,-9,6,6,1,-9,4,0,0.0,2005001 +1100105,57,20051,1,69,1,-9,-9,6,6,1,-9,4,0,0.0,2005101 +1100105,57,20052,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,2005201 +1100105,57,20053,1,87,1,-9,-9,6,2,1,-9,4,0,0.0,2005301 +1100105,57,20054,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,2005401 +1100105,57,20055,1,73,2,-9,-9,6,2,1,-9,4,0,0.0,2005501 +1100105,57,20056,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,2005601 +1100105,57,20057,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,2005701 +1100105,57,20058,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,2005801 +1100105,57,20059,1,70,1,-9,-9,6,2,1,-9,4,0,0.0,2005901 +1100105,57,20060,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,2006001 +1100105,57,20061,1,66,2,-9,-9,6,2,1,-9,4,0,0.0,2006101 +1100105,57,20062,1,65,2,-9,-9,6,2,1,-9,4,0,0.0,2006201 +1100105,57,20063,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,2006301 +1100105,57,20064,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,2006401 +1100105,57,20065,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2006501 +1100105,57,20066,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2006601 +1100105,57,20067,1,69,2,-9,-9,6,1,1,-9,4,622M,8191.0,2006701 +1100105,57,20068,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2006801 +1100105,57,20069,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,2006901 +1100105,57,20070,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,2007001 +1100105,57,20071,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,2007101 +1100105,57,20072,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2007201 +1100105,57,20073,1,71,1,-9,-9,6,1,1,-9,4,611M1,7870.0,2007301 +1100105,57,20074,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,2007401 +1100105,57,20075,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,2007501 +1100105,57,20076,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,2007601 +1100105,57,20077,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2007701 +1100105,57,20078,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,2007801 +1100105,57,20079,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2007901 +1100105,57,20080,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,2008001 +1100105,57,20081,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2008101 +1100105,57,20082,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,2008201 +1100105,57,20083,1,71,1,-9,-9,6,1,1,-9,4,611M1,7870.0,2008301 +1100105,57,20084,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,2008401 +1100105,57,20085,1,71,2,-9,-9,6,1,1,-9,4,611M3,7890.0,2008501 +1100105,57,20086,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,2008601 +1100105,57,20087,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,2008701 +1100105,57,20088,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,2008801 +1100105,57,20089,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,2008901 +1100105,57,20090,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,2009001 +1100105,57,20091,1,69,2,-9,-9,6,1,1,-9,4,622M,8191.0,2009101 +1100105,57,20092,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2009201 +1100105,57,20093,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2009301 +1100105,57,20094,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,2009401 +1100105,57,20095,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,2009501 +1100105,57,20096,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,2009601 +1100105,57,20097,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,2009701 +1100105,57,20098,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2009801 +1100105,57,20099,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,2009901 +1100105,57,20100,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2010001 +1100105,57,20101,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,2010101 +1100105,57,20102,1,71,2,-9,-9,6,2,3,-9,4,622M,8191.0,2010201 +1100105,57,20103,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2010301 +1100105,57,20104,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,2010401 +1100105,57,20105,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2010501 +1100105,57,20106,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,2010601 +1100105,57,20107,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,2010701 +1100105,57,20108,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2010801 +1100105,57,20109,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,2010901 +1100105,57,20110,1,71,2,-9,-9,6,2,3,-9,4,622M,8191.0,2011001 +1100105,57,20111,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2011101 +1100105,57,20112,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2011201 +1100105,57,20113,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,2011301 +1100105,57,20114,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,2011401 +1100105,57,20115,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2011501 +1100105,57,20116,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2011601 +1100105,57,20117,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,2011701 +1100105,57,20118,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,2011801 +1100105,57,20119,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,2011901 +1100105,57,20120,1,84,2,-9,-9,6,2,3,-9,4,0,0.0,2012001 +1100105,57,20121,1,79,2,-9,-9,3,1,3,-9,4,999920,9920.0,2012101 +1100105,57,20122,1,70,2,-9,-9,6,2,3,-9,4,0,0.0,2012201 +1100105,57,20123,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,2012301 +1100105,57,20124,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,2012401 +1100105,57,20125,1,70,2,-9,-9,6,2,3,-9,4,0,0.0,2012501 +1100105,57,20126,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,2012601 +1100105,57,20127,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,2012701 +1100105,57,20128,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,2012801 +1100105,57,20129,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,2012901 +1100105,57,20130,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,2013001 +1100105,57,20131,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,2013101 +1100105,57,20132,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,2013201 +1100105,57,20133,1,54,2,-9,-9,6,2,1,-9,4,0,0.0,2013301 +1100105,57,20134,1,62,2,-9,-9,6,2,1,-9,4,481,6070.0,2013401 +1100105,57,20135,1,60,1,-9,-9,6,1,1,-9,2,0,0.0,2013501 +1100105,57,20136,1,44,1,-9,-9,6,1,1,-9,4,0,0.0,2013601 +1100105,57,20137,1,60,1,10,1,6,1,1,-9,4,5415,7380.0,2013701 +1100105,57,20138,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,2013801 +1100105,57,20139,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,2013901 +1100105,57,20140,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,2014001 +1100105,57,20141,1,60,1,10,1,6,1,1,-9,4,5415,7380.0,2014101 +1100105,57,20142,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,2014201 +1100105,57,20143,1,44,1,-9,-9,6,1,1,-9,4,0,0.0,2014301 +1100105,57,20144,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,2014401 +1100105,57,20145,1,54,2,-9,-9,6,1,1,-9,4,0,0.0,2014501 +1100105,57,20146,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,2014601 +1100105,57,20147,1,45,1,30,5,6,1,1,-9,4,5411,7270.0,2014701 +1100105,57,20148,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,2014801 +1100105,57,20149,1,48,1,-9,-9,3,1,1,-9,4,999920,9920.0,2014901 +1100105,57,20150,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,2015001 +1100105,57,20151,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,2015101 +1100105,57,20152,1,38,1,35,5,3,1,16,-9,4,5416,7390.0,2015201 +1100105,57,20153,1,47,2,8,1,6,1,16,-9,4,713Z,8590.0,2015301 +1100105,57,20154,1,36,2,45,6,6,1,23,-9,4,8139Z,9190.0,2015401 +1100105,57,20155,1,36,2,45,6,6,1,23,-9,4,8139Z,9190.0,2015501 +1100105,57,20156,1,36,2,45,6,6,1,23,-9,4,8139Z,9190.0,2015601 +1100105,57,20157,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,2015701 +1100105,57,20158,1,24,2,-9,-9,6,6,1,16,4,813M,9170.0,2015801 +1100105,57,20159,1,24,2,-9,-9,6,6,1,16,4,813M,9170.0,2015901 +1100105,57,20160,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,2016001 +1100105,57,20161,1,29,2,8,6,6,6,1,16,4,6212,7980.0,2016101 +1100105,57,20162,1,25,1,-9,-9,6,6,1,16,4,51913,6672.0,2016201 +1100105,57,20163,1,25,1,-9,-9,6,6,1,16,4,0,0.0,2016301 +1100105,57,20164,1,34,2,-9,-9,6,6,1,16,4,928P,9590.0,2016401 +1100105,57,20165,1,25,1,-9,-9,6,6,1,16,4,51913,6672.0,2016501 +1100105,57,20166,1,22,2,45,3,6,6,1,16,4,23,770.0,2016601 +1100105,57,20167,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,2016701 +1100105,57,20168,1,24,2,-9,-9,6,1,1,15,4,0,0.0,2016801 +1100105,57,20169,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,2016901 +1100105,57,20170,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,2017001 +1100105,57,20171,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,2017101 +1100105,57,20172,1,21,2,20,3,6,1,1,16,4,611M1,7870.0,2017201 +1100105,57,20173,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,2017301 +1100105,57,20174,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2017401 +1100105,57,20175,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,2017501 +1100105,57,20176,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2017601 +1100105,57,20177,1,34,2,-9,-9,6,1,1,16,4,0,0.0,2017701 +1100105,57,20178,1,24,2,10,5,6,1,1,16,4,712,8570.0,2017801 +1100105,57,20179,1,31,2,-9,-9,3,1,1,16,4,311811,1190.0,2017901 +1100105,57,20180,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,2018001 +1100105,57,20181,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,2018101 +1100105,57,20182,1,24,2,20,6,6,1,1,16,4,5411,7270.0,2018201 +1100105,57,20183,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,2018301 +1100105,57,20184,1,27,1,30,4,6,1,1,16,4,52M2,6970.0,2018401 +1100105,57,20185,1,21,2,20,3,6,1,1,16,4,611M1,7870.0,2018501 +1100105,57,20186,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,2018601 +1100105,57,20187,1,24,1,10,4,6,1,1,16,4,611M1,7870.0,2018701 +1100105,57,20188,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,2018801 +1100105,57,20189,1,26,1,7,3,6,1,1,16,4,611M1,7870.0,2018901 +1100105,57,20190,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,2019001 +1100105,57,20191,1,27,2,-9,-9,6,1,1,16,4,44611,5070.0,2019101 +1100105,57,20192,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,2019201 +1100105,57,20193,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,2019301 +1100105,57,20194,1,28,2,8,6,3,8,19,-9,4,814,9290.0,2019401 +1100105,57,20195,1,28,2,8,6,3,8,19,-9,4,814,9290.0,2019501 +1100105,57,20196,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,2019601 +1100105,57,20197,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,2019701 +1100105,57,20198,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,2019801 +1100105,57,20199,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,2019901 +1100105,57,20200,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,2020001 +1100105,57,20201,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,2020101 +1100105,57,20202,1,27,2,-9,-9,6,1,2,-9,4,0,0.0,2020201 +1100105,57,20203,1,26,2,-9,-9,6,9,16,-9,4,5411,7270.0,2020301 +1100105,57,20204,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,2020401 +1100105,57,20205,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,2020501 +1100105,57,20206,1,20,2,-9,-9,3,1,13,15,4,999920,9920.0,2020601 +1100105,58,20207,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,2020701 +1100105,58,20207,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,2020702 +1100105,58,20207,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,2020703 +1100105,58,20207,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,2020704 +1100105,58,20208,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,2020801 +1100105,58,20208,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,2020802 +1100105,58,20208,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,2020803 +1100105,58,20208,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,2020804 +1100105,58,20209,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,2020901 +1100105,58,20209,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,2020902 +1100105,58,20209,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,2020903 +1100105,58,20209,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,2020904 +1100105,58,20210,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,2021001 +1100105,58,20210,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,2021002 +1100105,58,20210,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,2021003 +1100105,58,20210,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,2021004 +1100105,58,20211,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,2021101 +1100105,58,20211,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,2021102 +1100105,58,20211,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,2021103 +1100105,58,20211,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,2021104 +1100105,58,20212,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,2021201 +1100105,58,20212,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,2021202 +1100105,58,20212,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,2021203 +1100105,58,20212,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,2021204 +1100105,58,20213,1,35,1,50,1,1,1,1,-9,4,531M,7071.0,2021301 +1100105,58,20213,2,50,1,55,1,1,1,1,-9,4,813M,9170.0,2021302 +1100105,58,20213,3,50,1,50,1,1,1,1,-9,4,5413,7290.0,2021303 +1100105,58,20213,4,19,2,40,1,1,1,1,-9,4,722Z,8680.0,2021304 +1100105,58,20214,1,30,1,55,1,1,1,1,-9,4,5411,7270.0,2021401 +1100105,58,20214,2,28,2,55,1,1,1,1,-9,4,4234,4170.0,2021402 +1100105,58,20215,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,2021501 +1100105,58,20215,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,2021502 +1100105,58,20216,1,34,1,45,1,1,1,1,-9,4,8139Z,9190.0,2021601 +1100105,58,20216,2,31,2,53,1,1,1,1,-9,4,7111,8561.0,2021602 +1100105,58,20217,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2021701 +1100105,58,20217,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2021702 +1100105,58,20218,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2021801 +1100105,58,20218,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2021802 +1100105,58,20219,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2021901 +1100105,58,20219,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2021902 +1100105,58,20220,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2022001 +1100105,58,20220,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2022002 +1100105,58,20221,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2022101 +1100105,58,20221,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2022102 +1100105,58,20222,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2022201 +1100105,58,20222,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2022202 +1100105,58,20223,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2022301 +1100105,58,20223,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2022302 +1100105,58,20224,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2022401 +1100105,58,20224,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2022402 +1100105,58,20225,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2022501 +1100105,58,20225,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2022502 +1100105,58,20226,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2022601 +1100105,58,20226,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2022602 +1100105,58,20227,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2022701 +1100105,58,20227,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2022702 +1100105,58,20228,1,48,2,40,1,1,6,1,-9,4,712,8570.0,2022801 +1100105,58,20228,2,19,1,20,6,6,6,1,-9,4,611M1,7870.0,2022802 +1100105,58,20229,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,2022901 +1100105,58,20229,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,2022902 +1100105,58,20230,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,2023001 +1100105,58,20230,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,2023002 +1100105,58,20231,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,2023101 +1100105,58,20231,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,2023102 +1100105,58,20232,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,2023201 +1100105,58,20232,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,2023202 +1100105,58,20233,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,2023301 +1100105,58,20233,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,2023302 +1100105,58,20234,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,2023401 +1100105,58,20234,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,2023402 +1100105,58,20235,1,18,1,20,4,1,2,1,15,4,722Z,8680.0,2023501 +1100105,58,20235,2,51,2,40,3,1,2,1,-9,4,7211,8660.0,2023502 +1100105,58,20236,1,51,2,40,1,1,8,5,-9,4,814,9290.0,2023601 +1100105,58,20236,2,19,2,30,1,1,8,5,-9,4,722Z,8680.0,2023602 +1100105,58,20237,1,51,2,40,1,1,8,5,-9,4,814,9290.0,2023701 +1100105,58,20237,2,19,2,30,1,1,8,5,-9,4,722Z,8680.0,2023702 +1100105,58,20238,1,51,2,40,1,1,8,5,-9,4,814,9290.0,2023801 +1100105,58,20238,2,19,2,30,1,1,8,5,-9,4,722Z,8680.0,2023802 +1100105,58,20239,1,51,2,40,1,1,8,5,-9,4,814,9290.0,2023901 +1100105,58,20239,2,19,2,30,1,1,8,5,-9,4,722Z,8680.0,2023902 +1100105,58,20240,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,2024001 +1100105,58,20240,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,2024002 +1100105,58,20241,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,2024101 +1100105,58,20241,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,2024102 +1100105,58,20242,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,2024201 +1100105,58,20242,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,2024202 +1100105,58,20243,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,2024301 +1100105,58,20243,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,2024302 +1100105,58,20244,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,2024401 +1100105,58,20244,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,2024402 +1100105,58,20245,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,2024501 +1100105,58,20245,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,2024502 +1100105,58,20246,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,2024601 +1100105,58,20246,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,2024602 +1100105,58,20247,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,2024701 +1100105,58,20247,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,2024702 +1100105,58,20248,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,2024801 +1100105,58,20248,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,2024802 +1100105,58,20249,1,22,2,50,1,1,1,21,-9,4,5416,7390.0,2024901 +1100105,58,20249,2,19,2,10,6,1,1,21,15,4,722Z,8680.0,2024902 +1100105,58,20250,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,2025001 +1100105,58,20250,2,19,2,-9,-9,6,2,1,15,4,0,0.0,2025002 +1100105,58,20251,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,2025101 +1100105,58,20251,2,19,2,-9,-9,6,2,1,15,4,0,0.0,2025102 +1100105,58,20252,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,2025201 +1100105,58,20252,2,19,2,-9,-9,6,2,1,15,4,0,0.0,2025202 +1100105,58,20253,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,2025301 +1100105,58,20253,2,19,2,-9,-9,6,2,1,15,4,0,0.0,2025302 +1100105,58,20254,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,2025401 +1100105,58,20254,2,19,2,-9,-9,6,2,1,15,4,0,0.0,2025402 +1100105,58,20255,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,2025501 +1100105,58,20255,2,19,2,-9,-9,6,2,1,15,4,0,0.0,2025502 +1100105,58,20256,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,2025601 +1100105,58,20256,2,19,2,-9,-9,6,2,1,15,4,0,0.0,2025602 +1100105,58,20257,1,93,2,-9,-9,6,2,3,-9,4,0,0.0,2025701 +1100105,58,20257,2,19,2,-9,-9,6,2,1,15,4,0,0.0,2025702 +1100105,58,20258,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2025801 +1100105,58,20258,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2025802 +1100105,58,20259,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2025901 +1100105,58,20259,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2025902 +1100105,58,20260,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2026001 +1100105,58,20260,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2026002 +1100105,58,20261,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2026101 +1100105,58,20261,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2026102 +1100105,58,20262,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2026201 +1100105,58,20262,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2026202 +1100105,58,20263,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2026301 +1100105,58,20263,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2026302 +1100105,58,20264,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2026401 +1100105,58,20264,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2026402 +1100105,58,20265,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2026501 +1100105,58,20265,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2026502 +1100105,58,20266,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2026601 +1100105,58,20266,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2026602 +1100105,58,20267,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2026701 +1100105,58,20267,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2026702 +1100105,58,20268,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2026801 +1100105,58,20268,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2026802 +1100105,58,20269,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2026901 +1100105,58,20269,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2026902 +1100105,58,20270,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2027001 +1100105,58,20270,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2027002 +1100105,58,20271,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2027101 +1100105,58,20271,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2027102 +1100105,58,20272,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2027201 +1100105,58,20272,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2027202 +1100105,58,20273,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2027301 +1100105,58,20273,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2027302 +1100105,58,20274,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2027401 +1100105,58,20274,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2027402 +1100105,58,20275,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2027501 +1100105,58,20275,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2027502 +1100105,58,20276,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2027601 +1100105,58,20276,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2027602 +1100105,58,20277,1,34,2,20,1,1,2,1,-9,4,6212,7980.0,2027701 +1100105,58,20277,2,19,1,-9,-9,3,2,1,-9,4,999920,9920.0,2027702 +1100105,58,20278,1,30,2,75,1,1,1,1,-9,4,5411,7270.0,2027801 +1100105,58,20279,1,29,2,54,1,1,1,1,-9,4,5411,7270.0,2027901 +1100105,58,20280,1,31,2,58,1,1,1,1,-9,4,5411,7270.0,2028001 +1100105,58,20281,1,33,1,45,1,1,1,1,-9,4,6212,7980.0,2028101 +1100105,58,20282,1,29,1,40,1,1,6,1,-9,4,2211P,570.0,2028201 +1100105,58,20283,1,29,1,84,1,1,6,1,-9,4,5613,7580.0,2028301 +1100105,58,20284,1,34,2,50,1,1,1,1,-9,4,5416,7390.0,2028401 +1100105,58,20285,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,2028501 +1100105,58,20286,1,27,1,65,1,1,1,1,-9,4,5411,7270.0,2028601 +1100105,58,20287,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,2028701 +1100105,58,20288,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,2028801 +1100105,58,20289,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,2028901 +1100105,58,20290,1,33,1,60,1,1,1,1,-9,4,52M1,6870.0,2029001 +1100105,58,20291,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,2029101 +1100105,58,20292,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,2029201 +1100105,58,20293,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,2029301 +1100105,58,20294,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,2029401 +1100105,58,20295,1,33,2,40,1,1,1,1,-9,4,5411,7270.0,2029501 +1100105,58,20296,1,34,1,45,1,1,1,1,-9,4,8139Z,9190.0,2029601 +1100105,58,20297,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,2029701 +1100105,58,20298,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,2029801 +1100105,58,20299,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,2029901 +1100105,58,20300,1,29,1,60,1,1,1,1,-9,4,5412,7280.0,2030001 +1100105,58,20301,1,25,2,40,1,1,1,1,-9,4,5416,7390.0,2030101 +1100105,58,20302,1,27,1,50,1,1,1,1,-9,4,5411,7270.0,2030201 +1100105,58,20303,1,33,2,50,1,1,1,1,-9,4,51913,6672.0,2030301 +1100105,58,20304,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,2030401 +1100105,58,20305,1,27,1,65,1,1,1,1,-9,4,5411,7270.0,2030501 +1100105,58,20306,1,28,1,20,1,1,1,1,-9,4,5615,7670.0,2030601 +1100105,58,20307,1,33,1,50,1,1,1,1,-9,4,5415,7380.0,2030701 +1100105,58,20308,1,30,2,50,1,1,1,1,-9,4,5411,7270.0,2030801 +1100105,58,20309,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,2030901 +1100105,58,20310,1,32,2,60,1,1,1,1,-9,4,5411,7270.0,2031001 +1100105,58,20311,1,29,1,50,1,1,1,1,-9,4,52M2,6970.0,2031101 +1100105,58,20312,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,2031201 +1100105,58,20313,1,30,1,50,1,1,1,1,-9,4,561M,7780.0,2031301 +1100105,58,20314,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,2031401 +1100105,58,20315,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,2031501 +1100105,58,20316,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,2031601 +1100105,58,20317,1,31,2,60,1,1,1,1,-9,4,5191ZM,6780.0,2031701 +1100105,58,20318,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,2031801 +1100105,58,20319,1,27,1,65,1,1,1,1,-9,4,5411,7270.0,2031901 +1100105,58,20320,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,2032001 +1100105,58,20321,1,29,1,70,1,1,1,1,-9,4,5417,7460.0,2032101 +1100105,58,20322,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,2032201 +1100105,58,20323,1,30,1,50,1,1,1,1,-9,4,561M,7780.0,2032301 +1100105,58,20324,1,33,1,40,1,1,1,1,-9,2,5411,7270.0,2032401 +1100105,58,20325,1,27,1,35,1,1,1,1,-9,4,454110,5593.0,2032501 +1100105,58,20326,1,30,2,40,1,1,1,1,-9,4,92M1,9490.0,2032601 +1100105,58,20327,1,25,1,40,1,1,1,1,-9,4,5416,7390.0,2032701 +1100105,58,20328,1,26,1,40,1,1,1,1,-9,4,52M2,6970.0,2032801 +1100105,58,20329,1,32,2,60,1,1,1,1,-9,4,5418,7470.0,2032901 +1100105,58,20330,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,2033001 +1100105,58,20331,1,28,1,40,1,1,1,1,-9,4,92113,9380.0,2033101 +1100105,58,20332,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,2033201 +1100105,58,20333,1,33,1,55,1,1,1,1,-9,2,92MP,9470.0,2033301 +1100105,58,20334,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,2033401 +1100105,58,20335,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,2033501 +1100105,58,20336,1,33,1,45,1,1,1,1,-9,4,5411,7270.0,2033601 +1100105,58,20337,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,2033701 +1100105,58,20338,1,28,2,45,1,1,6,1,-9,4,92M1,9490.0,2033801 +1100105,58,20339,1,25,2,42,1,1,6,1,-9,4,5416,7390.0,2033901 +1100105,58,20340,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,2034001 +1100105,58,20341,1,26,2,80,2,1,1,1,-9,4,5416,7390.0,2034101 +1100105,58,20342,1,23,2,45,5,1,1,1,-9,4,5416,7390.0,2034201 +1100105,58,20343,1,32,1,45,1,1,1,1,-9,4,712,8570.0,2034301 +1100105,58,20344,1,27,2,50,1,1,1,1,-9,4,5417,7460.0,2034401 +1100105,58,20345,1,27,2,55,1,1,1,1,16,4,813M,9170.0,2034501 +1100105,58,20346,1,28,2,40,1,1,1,1,-9,4,6241,8370.0,2034601 +1100105,58,20347,1,28,2,40,1,1,1,1,-9,4,6241,8370.0,2034701 +1100105,58,20348,1,31,2,40,1,1,1,1,-9,4,81393,9180.0,2034801 +1100105,58,20349,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,2034901 +1100105,58,20350,1,31,1,50,1,1,1,1,-9,2,5415,7380.0,2035001 +1100105,58,20351,1,30,2,45,1,1,1,1,-9,4,928P,9590.0,2035101 +1100105,58,20352,1,33,1,50,1,1,1,1,-9,4,9211MP,9370.0,2035201 +1100105,58,20353,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,2035301 +1100105,58,20354,1,24,2,60,1,1,1,1,-9,4,515,6670.0,2035401 +1100105,58,20355,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,2035501 +1100105,58,20356,1,26,2,45,1,1,1,1,-9,4,9211MP,9370.0,2035601 +1100105,58,20357,1,32,1,40,1,1,1,1,-9,4,928P,9590.0,2035701 +1100105,58,20358,1,30,2,40,4,1,1,1,-9,4,5416,7390.0,2035801 +1100105,58,20359,1,24,2,40,1,1,1,1,-9,4,622M,8191.0,2035901 +1100105,58,20360,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,2036001 +1100105,58,20361,1,24,2,55,4,1,1,1,16,4,5416,7390.0,2036101 +1100105,58,20362,1,26,2,80,2,1,1,1,-9,4,5416,7390.0,2036201 +1100105,58,20363,1,33,1,40,1,1,1,1,-9,4,55,7570.0,2036301 +1100105,58,20364,1,27,2,55,1,1,1,1,16,4,813M,9170.0,2036401 +1100105,58,20365,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,2036501 +1100105,58,20366,1,31,1,70,1,1,1,1,-9,4,424M,4380.0,2036601 +1100105,58,20367,1,31,2,40,1,1,1,1,-9,4,52M2,6970.0,2036701 +1100105,58,20368,1,30,2,50,1,1,1,1,-9,4,92MP,9470.0,2036801 +1100105,58,20369,1,28,1,44,1,1,1,1,-9,4,5416,7390.0,2036901 +1100105,58,20370,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,2037001 +1100105,58,20371,1,27,2,55,1,1,1,1,16,4,813M,9170.0,2037101 +1100105,58,20372,1,29,1,40,1,1,1,1,-9,4,92113,9380.0,2037201 +1100105,58,20373,1,27,2,37,1,1,1,1,-9,4,622M,8191.0,2037301 +1100105,58,20374,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,2037401 +1100105,58,20375,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,2037501 +1100105,58,20376,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,2037601 +1100105,58,20377,1,31,1,40,1,1,1,1,-9,4,522M,6890.0,2037701 +1100105,58,20378,1,34,1,60,1,1,1,1,-9,4,5415,7380.0,2037801 +1100105,58,20379,1,34,2,55,1,1,1,1,15,4,515,6670.0,2037901 +1100105,58,20380,1,26,2,40,1,1,1,1,-9,4,8139Z,9190.0,2038001 +1100105,58,20381,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,2038101 +1100105,58,20382,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,2038201 +1100105,58,20383,1,30,1,60,2,1,1,1,-9,2,928P,9590.0,2038301 +1100105,58,20384,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,2038401 +1100105,58,20385,1,33,1,42,1,1,1,1,-9,4,5416,7390.0,2038501 +1100105,58,20386,1,33,2,60,1,1,1,1,-9,4,611M3,7890.0,2038601 +1100105,58,20387,1,28,1,45,1,1,1,1,-9,4,531M,7071.0,2038701 +1100105,58,20388,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,2038801 +1100105,58,20389,1,21,1,-9,-9,6,1,1,15,4,0,0.0,2038901 +1100105,58,20390,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,2039001 +1100105,58,20391,1,24,1,50,2,1,6,1,-9,4,5417,7460.0,2039101 +1100105,58,20392,1,26,1,50,1,1,1,1,-9,4,813M,9170.0,2039201 +1100105,58,20393,1,27,2,40,3,1,1,1,-9,4,482,6080.0,2039301 +1100105,58,20394,1,25,2,55,1,1,1,1,16,4,487,6280.0,2039401 +1100105,58,20395,1,26,2,68,1,1,1,1,-9,4,7115,8564.0,2039501 +1100105,58,20396,1,25,2,50,1,1,1,1,-9,4,52M2,6970.0,2039601 +1100105,58,20397,1,27,2,40,3,1,1,1,-9,4,482,6080.0,2039701 +1100105,58,20398,1,34,1,45,5,1,1,1,-9,4,5122,6590.0,2039801 +1100105,58,20399,1,26,2,40,3,1,1,1,-9,4,611M1,7870.0,2039901 +1100105,58,20400,1,26,2,40,3,1,1,1,-9,4,611M1,7870.0,2040001 +1100105,58,20401,1,30,2,40,1,1,1,1,-9,4,623M,8290.0,2040101 +1100105,58,20402,1,26,2,68,1,1,1,1,-9,4,7115,8564.0,2040201 +1100105,58,20403,1,26,2,40,1,1,1,1,-9,4,5415,7380.0,2040301 +1100105,58,20404,1,30,2,45,3,1,1,1,-9,4,522M,6890.0,2040401 +1100105,58,20405,1,26,1,40,1,1,1,1,-9,4,5417,7460.0,2040501 +1100105,58,20406,1,26,2,37,1,1,1,1,-9,4,928P,9590.0,2040601 +1100105,58,20407,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,2040701 +1100105,58,20408,1,34,1,45,5,1,1,1,-9,4,5122,6590.0,2040801 +1100105,58,20409,1,28,2,40,5,1,1,1,-9,4,5418,7470.0,2040901 +1100105,58,20410,1,25,2,40,1,1,1,1,-9,4,92M2,9570.0,2041001 +1100105,58,20411,1,31,1,20,1,1,1,1,16,4,443142,4795.0,2041101 +1100105,58,20412,1,28,2,50,1,1,1,1,-9,4,722Z,8680.0,2041201 +1100105,58,20413,1,31,2,40,3,6,1,1,-9,4,7115,8564.0,2041301 +1100105,58,20414,1,23,2,35,4,6,1,1,-9,4,3254,2190.0,2041401 +1100105,58,20415,1,29,2,55,3,3,1,1,-9,4,92113,9380.0,2041501 +1100105,58,20416,1,21,2,25,1,1,6,1,15,4,5417,7460.0,2041601 +1100105,58,20417,1,31,1,40,1,1,6,1,-9,4,5415,7380.0,2041701 +1100105,58,20418,1,21,2,10,3,1,6,1,15,4,45121,5370.0,2041801 +1100105,58,20419,1,22,2,20,6,2,1,1,-9,4,517Z,6690.0,2041901 +1100105,58,20420,1,29,2,25,3,1,1,1,-9,4,713Z,8590.0,2042001 +1100105,58,20421,1,27,2,30,3,1,1,1,16,4,611M1,7870.0,2042101 +1100105,58,20422,1,29,1,40,4,1,1,1,-9,4,5411,7270.0,2042201 +1100105,58,20423,1,23,2,40,1,1,1,1,16,4,622M,8191.0,2042301 +1100105,58,20424,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,2042401 +1100105,58,20425,1,29,1,40,4,1,1,1,-9,4,5411,7270.0,2042501 +1100105,58,20426,1,27,2,40,1,1,1,1,16,4,622M,8191.0,2042601 +1100105,58,20427,1,26,2,50,5,1,1,1,-9,4,5416,7390.0,2042701 +1100105,58,20428,1,22,2,15,3,1,1,1,15,4,611M1,7870.0,2042801 +1100105,58,20429,1,23,1,40,1,1,1,1,16,4,5415,7380.0,2042901 +1100105,58,20430,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,2043001 +1100105,58,20431,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,2043101 +1100105,58,20432,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,2043201 +1100105,58,20433,1,25,1,35,1,1,1,1,16,4,813M,9170.0,2043301 +1100105,58,20434,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,2043401 +1100105,58,20435,1,27,2,40,1,1,1,1,16,4,622M,8191.0,2043501 +1100105,58,20436,1,21,2,20,1,1,1,1,15,4,622M,8191.0,2043601 +1100105,58,20437,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,2043701 +1100105,58,20438,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,2043801 +1100105,58,20439,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,2043901 +1100105,58,20440,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,2044001 +1100105,58,20441,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,2044101 +1100105,58,20442,1,19,2,5,3,1,9,1,15,4,611M1,7870.0,2044201 +1100105,58,20443,1,29,1,50,6,6,6,1,16,4,5411,7270.0,2044301 +1100105,58,20444,1,25,1,-9,-9,6,6,1,16,4,0,0.0,2044401 +1100105,58,20445,1,29,2,8,6,6,6,1,16,4,6212,7980.0,2044501 +1100105,58,20446,1,25,1,-9,-9,6,6,1,16,4,0,0.0,2044601 +1100105,58,20447,1,24,2,60,6,6,6,1,16,4,531M,7071.0,2044701 +1100105,58,20448,1,34,2,-9,-9,6,6,1,16,4,928P,9590.0,2044801 +1100105,58,20449,1,25,1,-9,-9,6,6,1,16,4,0,0.0,2044901 +1100105,58,20450,1,29,2,-9,-9,6,6,1,16,4,722Z,8680.0,2045001 +1100105,58,20451,1,26,1,-9,-9,6,6,1,-9,4,0,0.0,2045101 +1100105,58,20452,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,2045201 +1100105,58,20453,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2045301 +1100105,58,20454,1,21,2,20,3,6,1,1,16,4,611M1,7870.0,2045401 +1100105,58,20455,1,31,2,-9,-9,3,1,1,16,4,311811,1190.0,2045501 +1100105,58,20456,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2045601 +1100105,58,20457,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2045701 +1100105,58,20458,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,2045801 +1100105,58,20459,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,2045901 +1100105,58,20460,1,28,1,55,5,6,1,1,16,4,52M1,6870.0,2046001 +1100105,58,20461,1,24,2,20,6,6,1,1,16,4,5411,7270.0,2046101 +1100105,58,20462,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,2046201 +1100105,58,20463,1,29,2,-9,-9,6,1,1,16,4,6211,7970.0,2046301 +1100105,58,20464,1,31,2,-9,-9,6,1,1,16,4,813M,9170.0,2046401 +1100105,58,20465,1,24,2,10,5,6,1,1,16,4,712,8570.0,2046501 +1100105,58,20466,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,2046601 +1100105,58,20467,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,2046701 +1100105,58,20468,1,25,2,-9,-9,6,1,1,-9,4,92M2,9570.0,2046801 +1100105,58,20469,1,25,2,-9,-9,6,1,1,-9,4,92M2,9570.0,2046901 +1100105,58,20470,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2047001 +1100105,58,20471,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,2047101 +1100105,58,20472,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,2047201 +1100105,58,20473,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,2047301 +1100105,58,20474,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,2047401 +1100105,58,20475,1,21,2,12,6,6,1,1,16,4,611M1,7870.0,2047501 +1100105,58,20476,1,34,2,-9,-9,6,1,1,16,4,0,0.0,2047601 +1100105,58,20477,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,2047701 +1100105,58,20478,1,27,1,30,4,6,1,1,16,4,52M2,6970.0,2047801 +1100105,58,20479,1,23,2,-9,-9,6,1,1,16,4,5416,7390.0,2047901 +1100105,58,20480,1,28,2,50,6,3,1,1,-9,4,5411,7270.0,2048001 +1100105,58,20481,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,2048101 +1100105,58,20482,1,24,2,20,6,6,1,1,16,4,5411,7270.0,2048201 +1100105,58,20483,1,23,1,30,4,6,1,1,16,4,9211MP,9370.0,2048301 +1100105,58,20484,1,28,2,50,6,3,1,1,-9,4,5411,7270.0,2048401 +1100105,58,20485,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,2048501 +1100105,58,20486,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,2048601 +1100105,58,20487,1,34,2,-9,-9,6,1,1,16,4,0,0.0,2048701 +1100105,58,20488,1,25,2,-9,-9,6,1,1,-9,4,92M2,9570.0,2048801 +1100105,58,20489,1,23,1,30,4,6,1,1,16,4,9211MP,9370.0,2048901 +1100105,58,20490,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,2049001 +1100105,58,20491,1,33,1,-9,-9,3,1,1,-9,4,486,6270.0,2049101 +1100105,58,20492,1,24,2,-9,-9,6,1,1,15,4,0,0.0,2049201 +1100105,58,20493,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2049301 +1100105,58,20494,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2049401 +1100105,58,20495,1,24,2,30,4,6,1,1,16,4,611M1,7870.0,2049501 +1100105,58,20496,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2049601 +1100105,58,20497,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,2049701 +1100105,58,20498,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,2049801 +1100105,58,20499,1,26,1,7,3,6,1,1,16,4,611M1,7870.0,2049901 +1100105,58,20500,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,2050001 +1100105,58,20501,1,21,2,12,6,6,1,1,16,4,611M1,7870.0,2050101 +1100105,58,20502,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2050201 +1100105,58,20503,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,2050301 +1100105,58,20504,1,34,2,-9,-9,6,1,1,16,4,0,0.0,2050401 +1100105,58,20505,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2050501 +1100105,58,20506,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,2050601 +1100105,58,20507,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2050701 +1100105,58,20508,1,24,1,10,4,6,1,1,16,4,611M1,7870.0,2050801 +1100105,58,20509,1,34,2,-9,-9,6,1,1,16,4,0,0.0,2050901 +1100105,58,20510,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,2051001 +1100105,58,20511,1,24,2,-9,-9,6,1,1,-9,4,5417,7460.0,2051101 +1100105,58,20512,1,28,1,-9,-9,6,1,1,16,4,622M,8191.0,2051201 +1100105,58,20513,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,2051301 +1100105,58,20514,1,23,2,2,6,6,1,1,-9,4,611M1,7870.0,2051401 +1100105,58,20515,1,21,2,-9,-9,6,1,1,15,4,722Z,8680.0,2051501 +1100105,58,20516,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,2051601 +1100105,58,20517,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,2051701 +1100105,58,20518,1,33,1,-9,-9,3,1,1,-9,4,486,6270.0,2051801 +1100105,58,20519,1,26,2,-9,-9,6,1,1,16,4,611M1,7870.0,2051901 +1100105,58,20520,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2052001 +1100105,58,20521,1,21,2,12,4,6,1,1,15,4,92MP,9470.0,2052101 +1100105,58,20522,1,18,2,-9,-9,6,8,1,15,4,0,0.0,2052201 +1100105,58,20523,1,18,2,-9,-9,6,8,1,15,4,0,0.0,2052301 +1100105,58,20524,1,18,2,-9,-9,6,8,1,15,4,0,0.0,2052401 +1100105,58,20525,1,18,2,-9,-9,6,8,1,15,4,0,0.0,2052501 +1100105,58,20526,1,18,2,-9,-9,6,8,1,15,4,0,0.0,2052601 +1100105,59,20527,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,2052701 +1100105,59,20527,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,2052702 +1100105,59,20527,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,2052703 +1100105,59,20527,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,2052704 +1100105,59,20527,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,2052705 +1100105,59,20527,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,2052706 +1100105,59,20528,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,2052801 +1100105,59,20528,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,2052802 +1100105,59,20528,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,2052803 +1100105,59,20528,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,2052804 +1100105,59,20528,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,2052805 +1100105,59,20528,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,2052806 +1100105,59,20529,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,2052901 +1100105,59,20529,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,2052902 +1100105,59,20529,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,2052903 +1100105,59,20529,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,2052904 +1100105,59,20529,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,2052905 +1100105,59,20529,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,2052906 +1100105,59,20530,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,2053001 +1100105,59,20530,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,2053002 +1100105,59,20530,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,2053003 +1100105,59,20530,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,2053004 +1100105,59,20530,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,2053005 +1100105,59,20530,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,2053006 +1100105,59,20531,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,2053101 +1100105,59,20531,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,2053102 +1100105,59,20531,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,2053103 +1100105,59,20531,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,2053104 +1100105,59,20531,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,2053105 +1100105,59,20531,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,2053106 +1100105,59,20532,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,2053201 +1100105,59,20532,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,2053202 +1100105,59,20532,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,2053203 +1100105,59,20532,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,2053204 +1100105,59,20532,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,2053205 +1100105,59,20532,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,2053206 +1100105,59,20533,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,2053301 +1100105,59,20533,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,2053302 +1100105,59,20533,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,2053303 +1100105,59,20533,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,2053304 +1100105,59,20533,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,2053305 +1100105,59,20533,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,2053306 +1100105,59,20534,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,2053401 +1100105,59,20534,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,2053402 +1100105,59,20534,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,2053403 +1100105,59,20534,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,2053404 +1100105,59,20534,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,2053405 +1100105,59,20534,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,2053406 +1100105,59,20535,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,2053501 +1100105,59,20535,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,2053502 +1100105,59,20535,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,2053503 +1100105,59,20535,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,2053504 +1100105,59,20535,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,2053505 +1100105,59,20535,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,2053506 +1100105,59,20536,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,2053601 +1100105,59,20536,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,2053602 +1100105,59,20536,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,2053603 +1100105,59,20536,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,2053604 +1100105,59,20536,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,2053605 +1100105,59,20536,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,2053606 +1100105,59,20537,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,2053701 +1100105,59,20537,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,2053702 +1100105,59,20537,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,2053703 +1100105,59,20537,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,2053704 +1100105,59,20537,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,2053705 +1100105,59,20537,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,2053706 +1100105,59,20537,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,2053707 +1100105,59,20537,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,2053708 +1100105,59,20537,9,26,2,40,3,1,2,1,15,4,4533,5490.0,2053709 +1100105,59,20538,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,2053801 +1100105,59,20538,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,2053802 +1100105,59,20538,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,2053803 +1100105,59,20538,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,2053804 +1100105,59,20538,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,2053805 +1100105,59,20538,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,2053806 +1100105,59,20538,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,2053807 +1100105,59,20538,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,2053808 +1100105,59,20538,9,26,2,40,3,1,2,1,15,4,4533,5490.0,2053809 +1100105,59,20539,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,2053901 +1100105,59,20539,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,2053902 +1100105,59,20539,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,2053903 +1100105,59,20539,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,2053904 +1100105,59,20539,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,2053905 +1100105,59,20539,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,2053906 +1100105,59,20539,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,2053907 +1100105,59,20539,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,2053908 +1100105,59,20539,9,26,2,40,3,1,2,1,15,4,4533,5490.0,2053909 +1100105,59,20540,1,36,1,40,1,1,1,1,-9,4,6111,7860.0,2054001 +1100105,59,20540,2,39,1,40,1,1,1,1,16,4,4441Z,4870.0,2054002 +1100105,59,20540,3,33,1,40,1,1,1,1,15,4,3399ZM,3980.0,2054003 +1100105,59,20541,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,2054101 +1100105,59,20541,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,2054102 +1100105,59,20541,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,2054103 +1100105,59,20542,1,25,1,40,1,1,6,1,-9,4,92M1,9490.0,2054201 +1100105,59,20542,2,29,1,40,1,1,6,1,-9,4,92M2,9570.0,2054202 +1100105,59,20542,3,25,1,40,1,1,1,1,-9,4,92M2,9570.0,2054203 +1100105,59,20543,1,31,2,40,1,1,1,1,-9,4,92M2,9570.0,2054301 +1100105,59,20543,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,2054302 +1100105,59,20543,3,27,1,40,2,1,9,1,-9,4,9211MP,9370.0,2054303 +1100105,59,20544,1,28,1,40,1,1,1,1,-9,4,6111,7860.0,2054401 +1100105,59,20544,2,34,1,38,1,1,1,1,-9,4,5411,7270.0,2054402 +1100105,59,20544,3,31,1,50,1,1,1,1,-9,4,4441Z,4870.0,2054403 +1100105,59,20545,1,28,2,40,1,1,1,1,-9,2,928P,9590.0,2054501 +1100105,59,20545,2,29,1,45,1,1,1,1,16,4,3366,3680.0,2054502 +1100105,59,20545,3,28,1,55,1,1,1,1,-9,4,5413,7290.0,2054503 +1100105,59,20546,1,23,2,40,3,1,1,1,-9,4,5411,7270.0,2054601 +1100105,59,20546,2,29,1,50,1,1,1,1,16,4,928P,9590.0,2054602 +1100105,59,20546,3,25,2,50,1,1,1,1,-9,4,813M,9170.0,2054603 +1100105,59,20547,1,26,2,40,1,1,1,1,-9,4,6241,8370.0,2054701 +1100105,59,20547,2,30,2,45,1,1,1,1,-9,4,481,6070.0,2054702 +1100105,59,20547,3,26,2,40,1,1,1,1,-9,4,92M2,9570.0,2054703 +1100105,59,20548,1,26,2,45,1,1,1,1,-9,4,5416,7390.0,2054801 +1100105,59,20548,2,25,2,1,1,1,1,1,-9,4,5411,7270.0,2054802 +1100105,59,20548,3,25,1,36,1,1,1,1,-9,4,928P,9590.0,2054803 +1100105,59,20549,1,50,2,40,1,1,1,1,-9,4,712,8570.0,2054901 +1100105,59,20549,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,2054902 +1100105,59,20549,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,2054903 +1100105,59,20550,1,50,2,40,1,1,1,1,-9,4,712,8570.0,2055001 +1100105,59,20550,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,2055002 +1100105,59,20550,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,2055003 +1100105,59,20551,1,50,2,40,1,1,1,1,-9,4,712,8570.0,2055101 +1100105,59,20551,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,2055102 +1100105,59,20551,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,2055103 +1100105,59,20552,1,50,2,40,1,1,1,1,-9,4,712,8570.0,2055201 +1100105,59,20552,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,2055202 +1100105,59,20552,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,2055203 +1100105,59,20553,1,50,2,40,1,1,1,1,-9,4,712,8570.0,2055301 +1100105,59,20553,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,2055302 +1100105,59,20553,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,2055303 +1100105,59,20554,1,25,2,40,6,1,1,1,-9,4,5613,7580.0,2055401 +1100105,59,20554,2,27,2,48,1,1,1,1,-9,4,611M3,7890.0,2055402 +1100105,59,20554,3,25,2,50,1,1,1,1,-9,4,5416,7390.0,2055403 +1100105,59,20555,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,2055501 +1100105,59,20555,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,2055502 +1100105,59,20555,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,2055503 +1100105,59,20556,1,29,2,40,2,1,6,1,-9,4,5416,7390.0,2055601 +1100105,59,20556,2,27,2,40,3,1,1,3,-9,4,4511M,5275.0,2055602 +1100105,59,20556,3,23,2,40,5,1,6,1,15,4,813M,9170.0,2055603 +1100105,59,20557,1,23,2,43,1,1,1,1,-9,4,4481,5170.0,2055701 +1100105,59,20557,2,24,2,40,1,1,1,21,-9,4,5416,7390.0,2055702 +1100105,59,20557,3,23,2,40,1,1,1,1,-9,4,8139Z,9190.0,2055703 +1100105,59,20558,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,2055801 +1100105,59,20558,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,2055802 +1100105,59,20558,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,2055803 +1100105,59,20559,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,2055901 +1100105,59,20559,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,2055902 +1100105,59,20559,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,2055903 +1100105,59,20560,1,19,2,-9,-9,6,1,1,15,4,0,0.0,2056001 +1100105,59,20560,2,17,1,-9,-9,6,1,1,14,4,0,0.0,2056002 +1100105,59,20560,3,57,2,-9,-9,6,1,1,16,4,0,0.0,2056003 +1100105,59,20561,1,19,2,-9,-9,6,1,1,15,4,0,0.0,2056101 +1100105,59,20561,2,17,1,-9,-9,6,1,1,14,4,0,0.0,2056102 +1100105,59,20561,3,57,2,-9,-9,6,1,1,16,4,0,0.0,2056103 +1100105,59,20562,1,19,2,-9,-9,6,1,1,15,4,0,0.0,2056201 +1100105,59,20562,2,17,1,-9,-9,6,1,1,14,4,0,0.0,2056202 +1100105,59,20562,3,57,2,-9,-9,6,1,1,16,4,0,0.0,2056203 +1100105,59,20563,1,19,2,-9,-9,6,6,1,16,4,0,0.0,2056301 +1100105,59,20563,2,23,2,45,1,1,6,1,-9,4,5415,7380.0,2056302 +1100105,59,20563,3,23,2,40,3,1,6,1,-9,4,5418,7470.0,2056303 +1100105,59,20564,1,63,2,-9,-9,6,2,1,-9,2,0,0.0,2056401 +1100105,59,20564,2,22,1,30,6,1,2,1,15,4,722Z,8680.0,2056402 +1100105,59,20564,3,19,2,20,6,1,2,1,-9,4,45221,5381.0,2056403 +1100105,59,20565,1,20,1,12,4,2,1,1,15,4,5313,7072.0,2056501 +1100105,59,20565,2,20,1,55,6,6,1,1,15,4,713Z,8590.0,2056502 +1100105,59,20565,3,20,1,50,6,6,1,1,15,4,722Z,8680.0,2056503 +1100105,59,20566,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,2056601 +1100105,59,20566,2,17,2,-9,-9,6,3,1,12,4,0,0.0,2056602 +1100105,59,20566,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,2056603 +1100105,59,20567,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,2056701 +1100105,59,20567,2,17,2,-9,-9,6,3,1,12,4,0,0.0,2056702 +1100105,59,20567,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,2056703 +1100105,59,20568,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,2056801 +1100105,59,20568,2,17,2,-9,-9,6,3,1,12,4,0,0.0,2056802 +1100105,59,20568,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,2056803 +1100105,59,20569,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,2056901 +1100105,59,20569,2,17,2,-9,-9,6,3,1,12,4,0,0.0,2056902 +1100105,59,20569,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,2056903 +1100105,59,20570,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,2057001 +1100105,59,20570,2,17,2,-9,-9,6,3,1,12,4,0,0.0,2057002 +1100105,59,20570,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,2057003 +1100105,59,20571,1,65,1,-9,-9,6,6,1,-9,4,623M,8290.0,2057101 +1100105,59,20571,2,55,2,12,3,6,6,1,-9,4,4523,5391.0,2057102 +1100105,59,20571,3,34,2,12,6,3,6,1,-9,4,722Z,8680.0,2057103 +1100105,59,20572,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,2057201 +1100105,59,20572,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,2057202 +1100105,59,20572,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,2057203 +1100105,59,20573,1,65,1,42,1,1,1,1,-9,4,92M2,9570.0,2057301 +1100105,59,20573,2,71,1,38,1,1,1,1,-9,4,5615,7670.0,2057302 +1100105,59,20574,1,67,1,40,1,1,1,1,-9,3,5411,7270.0,2057401 +1100105,59,20574,2,64,2,10,1,1,1,1,-9,4,611M1,7870.0,2057402 +1100105,59,20575,1,43,2,40,1,1,6,1,-9,4,5416,7390.0,2057501 +1100105,59,20575,2,45,1,55,1,1,6,1,-9,4,622M,8191.0,2057502 +1100105,59,20576,1,38,2,60,1,1,1,1,-9,4,7111,8561.0,2057601 +1100105,59,20576,2,40,1,40,1,1,9,1,-9,4,7111,8561.0,2057602 +1100105,59,20577,1,38,1,50,1,1,1,1,-9,4,8139Z,9190.0,2057701 +1100105,59,20577,2,35,2,40,1,1,6,1,-9,4,5613,7580.0,2057702 +1100105,59,20578,1,35,1,40,1,1,1,1,-9,4,5411,7270.0,2057801 +1100105,59,20578,2,36,2,50,1,1,1,1,-9,4,5416,7390.0,2057802 +1100105,59,20579,1,44,2,46,1,1,1,1,-9,4,5415,7380.0,2057901 +1100105,59,20579,2,39,1,50,1,1,1,1,-9,4,611M3,7890.0,2057902 +1100105,59,20580,1,53,1,40,1,1,1,1,-9,4,928P,9590.0,2058001 +1100105,59,20580,2,44,2,20,4,1,1,1,16,4,5416,7390.0,2058002 +1100105,59,20581,1,38,2,60,1,1,1,1,-9,4,52M2,6970.0,2058101 +1100105,59,20581,2,39,1,48,1,1,1,1,-9,4,5419Z,7490.0,2058102 +1100105,59,20582,1,37,2,40,1,1,1,5,-9,4,522M,6890.0,2058201 +1100105,59,20582,2,35,2,40,1,1,1,1,-9,4,928P,9590.0,2058202 +1100105,59,20583,1,37,1,40,1,1,9,1,-9,4,5416,7390.0,2058301 +1100105,59,20583,2,34,2,55,3,1,1,1,-9,4,5418,7470.0,2058302 +1100105,59,20584,1,39,1,40,1,1,1,1,-9,4,92119,9390.0,2058401 +1100105,59,20584,2,29,1,40,1,1,6,1,-9,4,5415,7380.0,2058402 +1100105,59,20585,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,2058501 +1100105,59,20585,2,35,1,40,1,1,1,1,-9,4,5411,7270.0,2058502 +1100105,59,20586,1,36,1,45,1,1,1,1,-9,4,928P,9590.0,2058601 +1100105,59,20586,2,34,2,45,1,1,1,1,-9,4,5416,7390.0,2058602 +1100105,59,20587,1,35,1,40,1,1,1,1,-9,4,92113,9380.0,2058701 +1100105,59,20587,2,32,2,40,1,1,1,1,-9,4,5411,7270.0,2058702 +1100105,59,20588,1,35,1,60,1,1,1,1,-9,4,5416,7390.0,2058801 +1100105,59,20588,2,33,2,46,1,1,1,1,-9,4,5416,7390.0,2058802 +1100105,59,20589,1,41,1,40,1,1,1,1,-9,4,92M2,9570.0,2058901 +1100105,59,20589,2,32,1,40,1,1,1,16,-9,4,92M2,9570.0,2058902 +1100105,59,20590,1,30,1,40,1,1,9,1,-9,4,928P,9590.0,2059001 +1100105,59,20590,2,30,2,40,1,1,6,1,-9,4,92M2,9570.0,2059002 +1100105,59,20591,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,2059101 +1100105,59,20591,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,2059102 +1100105,59,20592,1,27,1,55,1,1,6,1,-9,4,5416,7390.0,2059201 +1100105,59,20592,2,28,2,35,1,1,6,1,-9,4,5415,7380.0,2059202 +1100105,59,20593,1,27,1,40,1,1,9,1,-9,4,5111Z,6480.0,2059301 +1100105,59,20593,2,26,2,60,1,1,1,1,16,4,5411,7270.0,2059302 +1100105,59,20594,1,31,2,40,1,1,1,1,-9,4,8139Z,9190.0,2059401 +1100105,59,20594,2,31,1,40,2,1,6,1,-9,4,5418,7470.0,2059402 +1100105,59,20595,1,33,1,40,1,1,1,1,-9,4,923,9480.0,2059501 +1100105,59,20595,2,33,1,40,1,1,6,1,-9,4,5416,7390.0,2059502 +1100105,59,20596,1,28,1,60,1,1,1,1,-9,4,211,370.0,2059601 +1100105,59,20596,2,27,2,50,1,1,6,1,-9,4,92M2,9570.0,2059602 +1100105,59,20597,1,30,1,70,1,1,1,1,-9,4,5411,7270.0,2059701 +1100105,59,20597,2,31,2,50,1,1,1,1,-9,4,5111Z,6480.0,2059702 +1100105,59,20598,1,25,2,50,1,1,1,1,-9,4,6111,7860.0,2059801 +1100105,59,20598,2,31,1,50,1,1,1,1,-9,4,92113,9380.0,2059802 +1100105,59,20599,1,29,1,40,1,1,1,1,-9,4,52M2,6970.0,2059901 +1100105,59,20599,2,28,2,40,1,1,1,1,-9,4,51111,6470.0,2059902 +1100105,59,20600,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,2060001 +1100105,59,20600,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,2060002 +1100105,59,20601,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,2060101 +1100105,59,20601,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,2060102 +1100105,59,20602,1,29,1,70,1,1,1,1,-9,4,51111,6470.0,2060201 +1100105,59,20602,2,25,1,60,1,1,1,1,16,4,9211MP,9370.0,2060202 +1100105,59,20603,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,2060301 +1100105,59,20603,2,32,1,60,1,1,1,1,-9,4,5411,7270.0,2060302 +1100105,59,20604,1,33,2,60,1,1,1,1,-9,4,5418,7470.0,2060401 +1100105,59,20604,2,34,1,50,1,1,1,1,-9,4,813M,9170.0,2060402 +1100105,59,20605,1,34,1,50,1,1,1,1,-9,4,5411,7270.0,2060501 +1100105,59,20605,2,33,2,40,1,1,1,1,-9,4,5416,7390.0,2060502 +1100105,59,20606,1,28,1,43,1,1,1,1,-9,4,5419Z,7490.0,2060601 +1100105,59,20606,2,28,2,60,1,1,1,1,-9,4,5411,7270.0,2060602 +1100105,59,20607,1,33,2,40,1,1,1,1,-9,4,92M2,9570.0,2060701 +1100105,59,20607,2,33,1,40,1,1,1,1,-9,4,52M2,6970.0,2060702 +1100105,59,20608,1,33,2,50,1,1,1,1,-9,4,2211P,570.0,2060801 +1100105,59,20608,2,31,1,60,1,1,1,1,-9,4,5412,7280.0,2060802 +1100105,59,20609,1,32,1,42,1,1,1,1,-9,4,92MP,9470.0,2060901 +1100105,59,20609,2,31,2,45,1,1,1,1,-9,4,92M2,9570.0,2060902 +1100105,59,20610,1,31,2,45,1,1,1,1,-9,4,5415,7380.0,2061001 +1100105,59,20610,2,25,2,45,1,1,1,1,-9,4,813M,9170.0,2061002 +1100105,59,20611,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,2061101 +1100105,59,20611,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,2061102 +1100105,59,20612,1,30,2,50,1,1,1,1,-9,4,5419Z,7490.0,2061201 +1100105,59,20612,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,2061202 +1100105,59,20613,1,30,2,50,1,1,1,1,-9,4,52M2,6970.0,2061301 +1100105,59,20613,2,32,1,55,1,1,1,1,-9,4,5411,7270.0,2061302 +1100105,59,20614,1,30,2,40,1,1,1,1,-9,4,5412,7280.0,2061401 +1100105,59,20614,2,30,2,50,1,1,1,1,-9,4,622M,8191.0,2061402 +1100105,59,20615,1,34,1,55,1,1,1,1,-9,4,51913,6672.0,2061501 +1100105,59,20615,2,32,2,60,1,1,1,1,-9,4,5411,7270.0,2061502 +1100105,59,20616,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,2061601 +1100105,59,20616,2,34,2,50,1,1,1,1,-9,4,928P,9590.0,2061602 +1100105,59,20617,1,30,1,60,1,1,1,1,-9,4,611M3,7890.0,2061701 +1100105,59,20617,2,31,2,40,1,1,1,1,-9,4,491,6370.0,2061702 +1100105,59,20618,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,2061801 +1100105,59,20618,2,26,2,50,1,1,1,1,-9,4,5411,7270.0,2061802 +1100105,59,20619,1,34,1,50,1,1,1,1,-9,4,813M,9170.0,2061901 +1100105,59,20619,2,33,2,50,1,1,1,1,-9,4,4853,6190.0,2061902 +1100105,59,20620,1,33,1,40,1,1,1,1,-9,4,443142,4795.0,2062001 +1100105,59,20620,2,31,2,40,1,1,1,1,-9,4,928P,9590.0,2062002 +1100105,59,20621,1,32,1,43,1,1,1,13,-9,4,23,770.0,2062101 +1100105,59,20621,2,31,2,55,1,1,1,1,-9,4,5411,7270.0,2062102 +1100105,59,20622,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,2062201 +1100105,59,20622,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,2062202 +1100105,59,20623,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,2062301 +1100105,59,20623,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,2062302 +1100105,59,20624,1,79,1,50,1,1,1,1,-9,2,5241,6991.0,2062401 +1100105,59,20624,2,79,2,-9,-9,6,1,1,-9,4,611M3,7890.0,2062402 +1100105,59,20625,1,63,1,-9,-9,6,1,1,-9,4,611M1,7870.0,2062501 +1100105,59,20625,2,66,1,40,1,1,1,1,-9,4,92M2,9570.0,2062502 +1100105,59,20626,1,65,2,-9,-9,6,1,1,-9,4,0,0.0,2062601 +1100105,59,20626,2,64,1,10,2,1,1,1,-9,4,531M,7071.0,2062602 +1100105,59,20627,1,55,1,45,1,1,1,1,-9,4,722Z,8680.0,2062701 +1100105,59,20627,2,56,2,-9,-9,6,1,1,-9,4,0,0.0,2062702 +1100105,59,20628,1,34,1,60,1,1,1,1,-9,4,5416,7390.0,2062801 +1100105,59,20628,2,31,2,60,3,3,1,1,-9,4,813M,9170.0,2062802 +1100105,59,20629,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,2062901 +1100105,59,20629,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,2062902 +1100105,59,20630,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,2063001 +1100105,59,20630,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,2063002 +1100105,59,20631,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,2063101 +1100105,59,20631,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,2063102 +1100105,59,20632,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,2063201 +1100105,59,20632,2,74,2,-9,-9,6,1,1,-9,4,0,0.0,2063202 +1100105,59,20633,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,2063301 +1100105,59,20633,2,73,2,-9,-9,6,1,1,-9,4,0,0.0,2063302 +1100105,59,20634,1,80,1,-9,-9,6,1,1,-9,4,0,0.0,2063401 +1100105,59,20634,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,2063402 +1100105,59,20635,1,55,1,-9,-9,6,1,1,-9,4,928P,9590.0,2063501 +1100105,59,20635,2,76,2,-9,-9,6,1,1,-9,4,0,0.0,2063502 +1100105,59,20636,1,74,1,60,1,1,8,11,-9,4,23,770.0,2063601 +1100105,59,20636,2,70,2,20,3,1,8,11,-9,4,5617Z,7690.0,2063602 +1100105,59,20637,1,41,1,30,1,1,6,1,-9,4,923,9480.0,2063701 +1100105,59,20637,2,41,2,35,1,1,1,1,-9,4,5411,7270.0,2063702 +1100105,59,20638,1,37,1,45,1,1,1,1,-9,4,928P,9590.0,2063801 +1100105,59,20638,2,37,2,50,3,1,1,1,-9,4,928P,9590.0,2063802 +1100105,59,20639,1,34,2,50,1,1,1,1,-9,4,813M,9170.0,2063901 +1100105,59,20639,2,37,1,40,1,1,9,1,-9,4,5417,7460.0,2063902 +1100105,59,20640,1,35,2,50,1,1,6,1,-9,4,928P,9590.0,2064001 +1100105,59,20640,2,28,1,50,1,1,1,1,-9,4,621M,8180.0,2064002 +1100105,59,20641,1,38,1,45,1,1,1,1,-9,4,5419Z,7490.0,2064101 +1100105,59,20641,2,32,2,40,1,1,1,1,-9,4,813M,9170.0,2064102 +1100105,59,20642,1,34,1,40,1,1,8,2,-9,4,5413,7290.0,2064201 +1100105,59,20642,2,38,1,40,1,1,1,1,-9,4,923,9480.0,2064202 +1100105,59,20643,1,27,1,40,1,1,9,1,-9,4,5413,7290.0,2064301 +1100105,59,20643,2,26,1,35,1,1,9,1,-9,4,5411,7270.0,2064302 +1100105,59,20644,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,2064401 +1100105,59,20644,2,27,2,40,1,1,6,1,16,4,6231,8270.0,2064402 +1100105,59,20645,1,26,2,40,1,1,1,1,-9,4,713Z,8590.0,2064501 +1100105,59,20645,2,26,1,55,1,1,9,1,-9,4,722Z,8680.0,2064502 +1100105,59,20646,1,25,2,40,1,1,6,1,-9,4,92113,9380.0,2064601 +1100105,59,20646,2,25,1,40,1,1,1,1,-9,4,336M,3570.0,2064602 +1100105,59,20647,1,25,2,40,1,1,6,1,-9,4,92113,9380.0,2064701 +1100105,59,20647,2,25,1,40,1,1,1,1,-9,4,336M,3570.0,2064702 +1100105,59,20648,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,2064801 +1100105,59,20648,2,31,2,40,1,1,1,1,-9,4,923,9480.0,2064802 +1100105,59,20649,1,28,2,60,1,1,1,1,-9,4,7211,8660.0,2064901 +1100105,59,20649,2,28,1,50,1,1,1,1,16,4,531M,7071.0,2064902 +1100105,59,20650,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,2065001 +1100105,59,20650,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,2065002 +1100105,59,20651,1,26,1,55,1,1,1,1,-9,4,5418,7470.0,2065101 +1100105,59,20651,2,26,2,60,1,1,1,1,-9,4,5414,7370.0,2065102 +1100105,59,20652,1,30,2,40,1,1,1,1,-9,4,4249Z,4580.0,2065201 +1100105,59,20652,2,31,1,50,1,1,1,1,-9,4,928P,9590.0,2065202 +1100105,59,20653,1,30,1,40,1,1,1,1,-9,4,8139Z,9190.0,2065301 +1100105,59,20653,2,30,2,70,1,1,1,1,-9,4,92M2,9570.0,2065302 +1100105,59,20654,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,2065401 +1100105,59,20654,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,2065402 +1100105,59,20655,1,30,1,40,1,1,1,1,-9,4,8139Z,9190.0,2065501 +1100105,59,20655,2,30,2,70,1,1,1,1,-9,4,92M2,9570.0,2065502 +1100105,59,20656,1,30,1,45,1,1,1,1,16,4,611M1,7870.0,2065601 +1100105,59,20656,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,2065602 +1100105,59,20657,1,31,2,50,1,1,1,1,16,4,5413,7290.0,2065701 +1100105,59,20657,2,31,1,60,1,1,1,1,-9,4,5413,7290.0,2065702 +1100105,59,20658,1,26,2,55,1,1,1,1,-9,4,92MP,9470.0,2065801 +1100105,59,20658,2,26,1,50,1,1,1,1,-9,3,5416,7390.0,2065802 +1100105,59,20659,1,29,1,45,1,1,1,1,-9,4,9211MP,9370.0,2065901 +1100105,59,20659,2,27,1,45,1,1,1,1,-9,4,5411,7270.0,2065902 +1100105,59,20660,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,2066001 +1100105,59,20660,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,2066002 +1100105,59,20661,1,31,1,50,1,1,1,1,-9,4,3366,3680.0,2066101 +1100105,59,20661,2,27,2,50,1,1,1,1,-9,4,92M2,9570.0,2066102 +1100105,59,20662,1,30,2,50,1,1,1,1,-9,4,5415,7380.0,2066201 +1100105,59,20662,2,30,2,40,1,1,1,1,-9,4,622M,8191.0,2066202 +1100105,59,20663,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,2066301 +1100105,59,20663,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,2066302 +1100105,59,20664,1,28,2,50,1,1,1,1,16,4,52M2,6970.0,2066401 +1100105,59,20664,2,28,1,60,1,1,1,9,-9,4,492,6380.0,2066402 +1100105,59,20665,1,68,1,40,1,1,6,1,-9,4,92M1,9490.0,2066501 +1100105,59,20665,2,68,2,-9,-9,6,6,1,-9,4,6111,7860.0,2066502 +1100105,59,20666,1,74,2,40,1,1,1,1,-9,2,923,9480.0,2066601 +1100105,59,20666,2,82,1,-9,-9,6,1,1,-9,2,0,0.0,2066602 +1100105,59,20667,1,68,1,20,5,6,1,1,-9,4,4511M,5275.0,2066701 +1100105,59,20667,2,66,2,40,1,1,1,1,-9,4,5411,7270.0,2066702 +1100105,59,20668,1,60,2,40,1,1,1,1,-9,4,8139Z,9190.0,2066801 +1100105,59,20668,2,57,2,-9,-9,6,1,1,-9,4,5416,7390.0,2066802 +1100105,59,20669,1,30,1,40,1,1,1,1,-9,4,92MP,9470.0,2066901 +1100105,59,20669,2,27,2,18,3,6,1,1,-9,4,713Z,8590.0,2066902 +1100105,59,20670,1,28,1,55,1,1,1,1,-9,4,5121,6570.0,2067001 +1100105,59,20670,2,27,2,50,4,6,1,1,-9,4,622M,8191.0,2067002 +1100105,59,20671,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,2067101 +1100105,59,20671,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,2067102 +1100105,59,20672,1,24,2,-9,-9,6,6,2,16,4,813M,9170.0,2067201 +1100105,59,20672,2,26,2,70,1,1,1,1,-9,4,5411,7270.0,2067202 +1100105,59,20673,1,72,1,-9,-9,6,1,1,-9,4,0,0.0,2067301 +1100105,59,20673,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,2067302 +1100105,59,20674,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,2067401 +1100105,59,20674,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,2067402 +1100105,59,20675,1,78,2,-9,-9,6,1,16,-9,4,611M1,7870.0,2067501 +1100105,59,20675,2,75,1,-9,-9,6,1,1,-9,4,0,0.0,2067502 +1100105,59,20676,1,43,2,40,1,1,1,1,-9,4,5241,6991.0,2067601 +1100105,59,20676,2,43,1,80,1,1,1,1,-9,4,722Z,8680.0,2067602 +1100105,59,20677,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,2067701 +1100105,59,20677,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,2067702 +1100105,59,20678,1,51,1,30,3,1,1,1,-9,4,611M3,7890.0,2067801 +1100105,59,20678,2,34,1,42,1,1,1,1,-9,4,813M,9170.0,2067802 +1100105,59,20679,1,39,1,45,1,1,1,1,-9,2,51913,6672.0,2067901 +1100105,59,20679,2,30,1,50,2,1,8,7,-9,4,4481,5170.0,2067902 +1100105,59,20680,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,2068001 +1100105,59,20680,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,2068002 +1100105,59,20681,1,34,2,30,1,2,6,1,-9,4,8129,9090.0,2068101 +1100105,59,20681,2,30,1,40,1,1,6,1,-9,4,52M2,6970.0,2068102 +1100105,59,20682,1,24,1,45,1,1,9,1,-9,4,5419Z,7490.0,2068201 +1100105,59,20682,2,24,2,45,1,1,1,1,-9,4,5419Z,7490.0,2068202 +1100105,59,20683,1,24,1,45,1,1,9,1,-9,4,5419Z,7490.0,2068301 +1100105,59,20683,2,24,2,45,1,1,1,1,-9,4,5419Z,7490.0,2068302 +1100105,59,20684,1,29,1,50,1,1,1,1,-9,4,5313,7072.0,2068401 +1100105,59,20684,2,28,2,40,1,1,9,1,-9,4,5417,7460.0,2068402 +1100105,59,20685,1,25,2,50,1,1,6,1,16,4,611M3,7890.0,2068501 +1100105,59,20685,2,25,2,60,1,1,1,1,16,4,6111,7860.0,2068502 +1100105,59,20686,1,31,1,60,1,1,6,1,-9,4,813M,9170.0,2068601 +1100105,59,20686,2,27,1,50,1,1,1,1,-9,4,8139Z,9190.0,2068602 +1100105,59,20687,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,2068701 +1100105,59,20687,2,25,2,40,4,1,6,1,-9,4,813M,9170.0,2068702 +1100105,59,20688,1,31,1,55,1,1,1,1,-9,4,5416,7390.0,2068801 +1100105,59,20688,2,28,2,55,1,1,1,1,-9,4,6242,8380.0,2068802 +1100105,59,20689,1,30,1,50,1,1,1,1,-9,4,23,770.0,2068901 +1100105,59,20689,2,30,2,50,1,1,1,1,-9,4,611M1,7870.0,2068902 +1100105,59,20690,1,28,1,40,1,1,1,1,-9,4,5418,7470.0,2069001 +1100105,59,20690,2,30,1,40,1,1,1,1,-9,4,92M2,9570.0,2069002 +1100105,59,20691,1,25,1,50,1,1,1,1,-9,4,5415,7380.0,2069101 +1100105,59,20691,2,25,2,45,1,1,1,1,-9,4,522M,6890.0,2069102 +1100105,59,20692,1,23,1,40,1,1,1,1,-9,4,92M2,9570.0,2069201 +1100105,59,20692,2,33,2,50,1,1,1,1,-9,4,813M,9170.0,2069202 +1100105,59,20693,1,31,1,50,1,1,1,1,-9,4,5415,7380.0,2069301 +1100105,59,20693,2,29,2,57,1,1,1,1,16,4,6241,8370.0,2069302 +1100105,59,20694,1,25,2,40,1,1,1,1,-9,4,531M,7071.0,2069401 +1100105,59,20694,2,26,1,45,1,1,1,1,-9,4,928P,9590.0,2069402 +1100105,59,20695,1,30,2,45,1,1,1,1,-9,4,5415,7380.0,2069501 +1100105,59,20695,2,30,1,40,1,1,1,1,-9,4,5416,7390.0,2069502 +1100105,59,20696,1,31,1,70,1,1,1,1,-9,4,8139Z,9190.0,2069601 +1100105,59,20696,2,27,2,50,1,1,1,1,-9,4,6111,7860.0,2069602 +1100105,59,20697,1,30,2,45,1,1,1,1,-9,4,813M,9170.0,2069701 +1100105,59,20697,2,29,1,55,6,1,1,1,-9,4,5411,7270.0,2069702 +1100105,59,20698,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,2069801 +1100105,59,20698,2,30,1,45,1,1,1,1,-9,4,4248,4560.0,2069802 +1100105,59,20699,1,28,1,40,1,1,1,1,-9,4,5418,7470.0,2069901 +1100105,59,20699,2,30,1,40,1,1,1,1,-9,4,92M2,9570.0,2069902 +1100105,59,20700,1,26,1,50,1,1,1,1,-9,4,5242,6992.0,2070001 +1100105,59,20700,2,24,2,32,1,1,1,1,-9,4,6211,7970.0,2070002 +1100105,59,20701,1,30,1,50,1,1,1,1,-9,4,23,770.0,2070101 +1100105,59,20701,2,30,2,50,1,1,1,1,-9,4,611M1,7870.0,2070102 +1100105,59,20702,1,28,1,55,1,1,1,1,-9,4,8139Z,9190.0,2070201 +1100105,59,20702,2,23,1,40,1,1,1,1,-9,4,5419Z,7490.0,2070202 +1100105,59,20703,1,32,1,45,1,1,1,1,-9,4,5416,7390.0,2070301 +1100105,59,20703,2,31,2,25,2,1,1,1,-9,4,5416,7390.0,2070302 +1100105,59,20704,1,27,1,50,1,1,1,1,-9,4,5416,7390.0,2070401 +1100105,59,20704,2,27,1,45,1,1,1,1,-9,4,5411,7270.0,2070402 +1100105,59,20705,1,32,1,40,1,1,1,1,-9,4,622M,8191.0,2070501 +1100105,59,20705,2,31,2,35,1,1,1,1,-9,4,611M1,7870.0,2070502 +1100105,59,20706,1,31,1,40,1,1,1,4,-9,4,928P,9590.0,2070601 +1100105,59,20706,2,23,2,35,1,1,1,1,-9,4,5416,7390.0,2070602 +1100105,59,20707,1,33,1,60,1,1,1,23,-9,4,5417,7460.0,2070701 +1100105,59,20707,2,34,2,50,1,1,1,1,-9,4,5416,7390.0,2070702 +1100105,59,20708,1,63,1,-9,-9,6,1,1,-9,4,0,0.0,2070801 +1100105,59,20708,2,61,1,60,1,1,1,1,-9,4,562,7790.0,2070802 +1100105,59,20709,1,28,2,47,1,1,9,1,-9,4,44611,5070.0,2070901 +1100105,59,20709,2,26,1,-9,-9,6,1,1,-9,4,9211MP,9370.0,2070902 +1100105,59,20710,1,30,1,45,1,1,1,1,-9,4,5415,7380.0,2071001 +1100105,59,20710,2,32,2,-9,-9,6,6,1,-9,4,5418,7470.0,2071002 +1100105,59,20711,1,34,1,40,1,1,1,1,-9,4,5418,7470.0,2071101 +1100105,59,20711,2,32,1,20,4,6,1,1,-9,4,5417,7460.0,2071102 +1100105,59,20712,1,34,2,50,1,1,1,1,-9,4,5415,7380.0,2071201 +1100105,59,20712,2,23,2,35,5,3,1,1,-9,4,5417,7460.0,2071202 +1100105,59,20713,1,28,2,-9,-9,6,1,1,16,4,0,0.0,2071301 +1100105,59,20713,2,30,1,40,1,1,1,1,16,4,517Z,6690.0,2071302 +1100105,59,20714,1,21,1,40,1,1,9,4,-9,4,5411,7270.0,2071401 +1100105,59,20714,2,21,1,40,1,6,1,1,15,4,5416,7390.0,2071402 +1100105,59,20715,1,30,1,40,1,1,1,23,-9,4,5416,7390.0,2071501 +1100105,59,20715,2,31,2,40,6,6,1,23,16,4,4539,5580.0,2071502 +1100105,59,20716,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,2071601 +1100105,59,20716,2,77,1,-9,-9,6,1,1,-9,4,0,0.0,2071602 +1100105,59,20717,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,2071701 +1100105,59,20717,2,77,1,-9,-9,6,1,1,-9,4,0,0.0,2071702 +1100105,59,20718,1,70,2,-9,-9,6,1,1,-9,4,0,0.0,2071801 +1100105,59,20718,2,74,1,40,6,6,1,1,-9,2,5416,7390.0,2071802 +1100105,59,20719,1,24,2,50,4,6,1,1,16,4,5411,7270.0,2071901 +1100105,59,20719,2,25,2,40,4,6,1,1,16,4,813M,9170.0,2071902 +1100105,59,20720,1,50,2,60,1,1,1,1,-9,4,4481,5170.0,2072001 +1100105,59,20720,2,32,1,60,1,1,9,1,-9,4,4481,5170.0,2072002 +1100105,59,20721,1,28,1,60,1,1,6,1,-9,4,5417,7460.0,2072101 +1100105,59,20721,2,23,1,12,5,1,6,1,16,4,722Z,8680.0,2072102 +1100105,59,20722,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,2072201 +1100105,59,20722,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,2072202 +1100105,59,20723,1,32,1,70,1,1,1,1,-9,4,722Z,8680.0,2072301 +1100105,59,20723,2,27,2,40,1,1,7,1,-9,4,5614,7590.0,2072302 +1100105,59,20724,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,2072401 +1100105,59,20724,2,32,1,35,1,1,3,1,-9,4,712,8570.0,2072402 +1100105,59,20725,1,26,2,40,1,1,1,1,-9,4,92119,9390.0,2072501 +1100105,59,20725,2,32,2,50,1,1,6,1,-9,4,928P,9590.0,2072502 +1100105,59,20726,1,27,2,48,2,1,1,1,-9,4,6111,7860.0,2072601 +1100105,59,20726,2,30,1,90,4,1,1,1,-9,4,611M3,7890.0,2072602 +1100105,59,20727,1,27,2,38,1,1,1,1,-9,4,813M,9170.0,2072701 +1100105,59,20727,2,25,1,40,1,1,1,1,-9,4,5411,7270.0,2072702 +1100105,59,20728,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,2072801 +1100105,59,20728,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,2072802 +1100105,59,20729,1,22,1,20,4,1,1,1,16,4,6241,8370.0,2072901 +1100105,59,20729,2,21,1,40,1,1,1,1,-9,4,44511,4971.0,2072902 +1100105,59,20730,1,28,2,40,1,1,1,1,-9,4,5417,7460.0,2073001 +1100105,59,20730,2,23,1,40,1,1,1,1,-9,4,813M,9170.0,2073002 +1100105,59,20731,1,20,2,60,4,1,1,1,15,4,6211,7970.0,2073101 +1100105,59,20731,2,21,2,20,4,1,1,1,15,4,611M1,7870.0,2073102 +1100105,59,20732,1,25,2,48,1,1,1,1,-9,4,5416,7390.0,2073201 +1100105,59,20732,2,24,2,70,1,1,1,1,-9,4,5416,7390.0,2073202 +1100105,59,20733,1,27,2,70,1,1,1,1,-9,4,6111,7860.0,2073301 +1100105,59,20733,2,23,2,12,5,1,1,1,15,4,722Z,8680.0,2073302 +1100105,59,20734,1,26,2,45,1,1,1,1,-9,4,813M,9170.0,2073401 +1100105,59,20734,2,26,1,45,1,1,1,1,-9,4,5417,7460.0,2073402 +1100105,59,20735,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,2073501 +1100105,59,20735,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,2073502 +1100105,59,20736,1,32,1,45,1,1,1,1,-9,4,5411,7270.0,2073601 +1100105,59,20736,2,32,2,40,1,1,1,4,-9,4,5411,7270.0,2073602 +1100105,59,20737,1,27,2,20,4,1,1,16,16,4,611M1,7870.0,2073701 +1100105,59,20737,2,28,2,48,1,1,1,1,-9,4,813M,9170.0,2073702 +1100105,59,20738,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,2073801 +1100105,59,20738,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,2073802 +1100105,59,20739,1,68,2,50,1,1,1,1,-9,4,7211,8660.0,2073901 +1100105,59,20739,2,65,1,-9,-9,6,6,1,-9,4,0,0.0,2073902 +1100105,59,20740,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,2074001 +1100105,59,20740,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,2074002 +1100105,59,20741,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,2074101 +1100105,59,20741,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,2074102 +1100105,59,20742,1,35,2,50,1,1,1,1,16,4,5417,7460.0,2074201 +1100105,59,20742,2,26,2,-9,-9,6,1,1,16,4,0,0.0,2074202 +1100105,59,20743,1,35,2,50,1,1,1,1,16,4,5417,7460.0,2074301 +1100105,59,20743,2,26,2,-9,-9,6,1,1,16,4,0,0.0,2074302 +1100105,59,20744,1,32,2,40,1,1,1,23,16,4,712,8570.0,2074401 +1100105,59,20744,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,2074402 +1100105,59,20745,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,2074501 +1100105,59,20745,2,30,1,-9,-9,6,6,1,16,4,0,0.0,2074502 +1100105,59,20746,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,2074601 +1100105,59,20746,2,30,1,-9,-9,6,6,1,16,4,0,0.0,2074602 +1100105,59,20747,1,27,2,50,1,1,6,1,-9,4,92119,9390.0,2074701 +1100105,59,20747,2,23,1,20,6,3,1,1,16,4,54194,7480.0,2074702 +1100105,59,20748,1,28,1,40,6,3,1,1,-9,4,337,3895.0,2074801 +1100105,59,20748,2,26,2,50,1,1,6,1,16,4,5411,7270.0,2074802 +1100105,59,20749,1,28,1,40,6,3,1,1,-9,4,337,3895.0,2074901 +1100105,59,20749,2,26,2,50,1,1,6,1,16,4,5411,7270.0,2074902 +1100105,59,20750,1,26,1,-9,-9,6,1,1,16,4,92M2,9570.0,2075001 +1100105,59,20750,2,26,2,45,1,1,1,1,-9,4,611M1,7870.0,2075002 +1100105,59,20751,1,24,2,50,6,6,1,1,16,4,5411,7270.0,2075101 +1100105,59,20751,2,24,2,40,1,1,1,1,-9,4,6111,7860.0,2075102 +1100105,59,20752,1,32,1,40,1,1,1,1,-9,2,5416,7390.0,2075201 +1100105,59,20752,2,32,2,-9,-9,6,1,1,-9,4,7211,8660.0,2075202 +1100105,59,20753,1,25,2,35,3,1,1,1,-9,4,6111,7860.0,2075301 +1100105,59,20753,2,23,2,40,4,6,1,1,-9,4,722Z,8680.0,2075302 +1100105,59,20754,1,26,1,-9,-9,6,1,1,16,4,5411,7270.0,2075401 +1100105,59,20754,2,28,1,45,6,1,1,1,-9,4,8129,9090.0,2075402 +1100105,59,20755,1,30,1,40,1,4,1,1,16,1,928110P3,9690.0,2075501 +1100105,59,20755,2,29,2,-9,-9,6,1,1,16,4,6111,7860.0,2075502 +1100105,59,20756,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,2075601 +1100105,59,20756,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,2075602 +1100105,59,20757,1,27,2,40,1,1,1,16,16,4,52M1,6870.0,2075701 +1100105,59,20757,2,32,1,-9,-9,6,1,16,-9,4,7211,8660.0,2075702 +1100105,59,20758,1,73,1,-9,-9,6,1,1,-9,4,5416,7390.0,2075801 +1100105,59,20758,2,83,2,-9,-9,6,1,1,-9,4,0,0.0,2075802 +1100105,59,20759,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,2075901 +1100105,59,20759,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,2075902 +1100105,59,20760,1,73,1,-9,-9,6,1,1,-9,4,5416,7390.0,2076001 +1100105,59,20760,2,83,2,-9,-9,6,1,1,-9,4,0,0.0,2076002 +1100105,59,20761,1,25,1,40,6,6,1,4,16,4,92MP,9470.0,2076101 +1100105,59,20761,2,25,1,15,4,6,1,1,16,4,92M2,9570.0,2076102 +1100105,59,20762,1,21,2,40,1,1,1,1,15,4,611M1,7870.0,2076201 +1100105,59,20762,2,20,2,30,1,1,1,1,15,4,713Z,8590.0,2076202 +1100105,59,20763,1,25,1,50,1,1,1,16,16,4,5417,7460.0,2076301 +1100105,59,20763,2,23,2,40,1,1,1,24,16,4,814,9290.0,2076302 +1100105,59,20764,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,2076401 +1100105,59,20764,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,2076402 +1100105,59,20765,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,2076501 +1100105,59,20765,2,29,1,45,1,1,1,1,16,4,6111,7860.0,2076502 +1100105,59,20766,1,66,1,-9,-9,6,1,1,-9,4,0,0.0,2076601 +1100105,59,20766,2,66,2,-9,-9,6,1,1,-9,4,0,0.0,2076602 +1100105,59,20767,1,81,1,-9,-9,6,1,1,-9,4,7115,8564.0,2076701 +1100105,59,20767,2,75,2,-9,-9,6,1,1,-9,4,0,0.0,2076702 +1100105,59,20768,1,82,1,-9,-9,6,1,7,-9,4,0,0.0,2076801 +1100105,59,20768,2,74,2,-9,-9,6,1,16,-9,4,0,0.0,2076802 +1100105,59,20769,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,2076901 +1100105,59,20769,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,2076902 +1100105,59,20770,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,2077001 +1100105,59,20770,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,2077002 +1100105,59,20771,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,2077101 +1100105,59,20771,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,2077102 +1100105,59,20772,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,2077201 +1100105,59,20772,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,2077202 +1100105,59,20773,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,2077301 +1100105,59,20773,2,24,2,-9,-9,6,6,1,16,4,0,0.0,2077302 +1100105,59,20774,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,2077401 +1100105,59,20774,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,2077402 +1100105,59,20775,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,2077501 +1100105,59,20775,2,24,2,-9,-9,6,6,1,16,4,0,0.0,2077502 +1100105,59,20776,1,22,1,40,6,1,1,1,15,4,6211,7970.0,2077601 +1100105,59,20776,2,21,1,-9,-9,6,1,1,15,4,0,0.0,2077602 +1100105,59,20777,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,2077701 +1100105,59,20777,2,20,2,10,3,1,1,1,15,4,7115,8564.0,2077702 +1100105,59,20778,1,20,1,24,6,1,1,1,15,4,722Z,8680.0,2077801 +1100105,59,20778,2,20,1,-9,-9,6,1,1,15,4,0,0.0,2077802 +1100105,59,20779,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,2077901 +1100105,59,20779,2,20,2,10,3,1,1,1,15,4,7115,8564.0,2077902 +1100105,59,20780,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,2078001 +1100105,59,20780,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,2078002 +1100105,59,20781,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,2078101 +1100105,59,20781,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,2078102 +1100105,59,20782,1,85,2,-9,-9,6,9,16,-9,4,0,0.0,2078201 +1100105,59,20782,2,87,2,-9,-9,6,9,16,-9,4,0,0.0,2078202 +1100105,59,20783,1,55,1,-9,-9,6,1,1,-9,4,722Z,8680.0,2078301 +1100105,59,20783,2,64,1,-9,-9,6,1,1,-9,4,0,0.0,2078302 +1100105,59,20784,1,58,2,-9,-9,6,1,1,-9,4,813M,9170.0,2078401 +1100105,59,20784,2,26,1,-9,-9,6,9,1,-9,4,0,0.0,2078402 +1100105,59,20785,1,22,2,-9,-9,6,6,1,16,4,0,0.0,2078501 +1100105,59,20785,2,23,2,-9,-9,6,6,1,16,4,0,0.0,2078502 +1100105,59,20786,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,2078601 +1100105,59,20786,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,2078602 +1100105,59,20787,1,26,1,-9,-9,6,6,1,-9,4,3118Z,1270.0,2078701 +1100105,59,20787,2,20,1,30,5,6,1,1,15,4,44413,4880.0,2078702 +1100105,59,20788,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,2078801 +1100105,59,20788,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,2078802 +1100105,59,20789,1,22,2,-9,-9,6,1,1,15,4,0,0.0,2078901 +1100105,59,20789,2,22,2,-9,-9,6,1,1,15,4,0,0.0,2078902 +1100105,59,20790,1,24,1,50,6,6,1,1,16,4,92M2,9570.0,2079001 +1100105,59,20790,2,23,1,50,6,6,1,1,16,4,92MP,9470.0,2079002 +1100105,59,20791,1,22,2,45,6,6,1,1,-9,4,531M,7071.0,2079101 +1100105,59,20791,2,22,2,40,4,3,1,1,-9,4,5614,7590.0,2079102 +1100105,59,20792,1,23,2,35,3,6,1,1,16,4,928P,9590.0,2079201 +1100105,59,20792,2,22,1,20,5,6,1,1,16,4,52M2,6970.0,2079202 +1100105,59,20793,1,33,2,40,3,6,1,1,-9,4,52M1,6870.0,2079301 +1100105,59,20793,2,24,2,-9,-9,6,1,1,-9,4,0,0.0,2079302 +1100105,59,20794,1,26,2,50,3,6,8,4,16,4,6212,7980.0,2079401 +1100105,59,20794,2,26,2,30,4,6,6,4,16,4,6214,8090.0,2079402 +1100105,59,20795,1,23,1,35,1,3,8,2,-9,4,44511,4971.0,2079501 +1100105,59,20795,2,25,1,-9,-9,6,8,2,15,3,0,0.0,2079502 +1100105,59,20796,1,74,1,50,1,1,1,1,-9,4,5416,7390.0,2079601 +1100105,59,20797,1,68,2,80,1,1,1,1,-9,4,8139Z,9190.0,2079701 +1100105,59,20798,1,71,1,45,1,1,1,1,-9,4,923,9480.0,2079801 +1100105,59,20799,1,65,1,60,1,1,1,1,-9,4,928P,9590.0,2079901 +1100105,59,20800,1,48,1,55,1,1,9,1,-9,4,515,6670.0,2080001 +1100105,59,20801,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,2080101 +1100105,59,20802,1,39,2,55,1,1,6,1,-9,4,5411,7270.0,2080201 +1100105,59,20803,1,43,2,40,1,1,1,1,-9,4,522M,6890.0,2080301 +1100105,59,20804,1,38,1,50,1,1,1,1,-9,4,5411,7270.0,2080401 +1100105,59,20805,1,49,1,60,1,1,1,1,-9,4,517Z,6690.0,2080501 +1100105,59,20806,1,63,2,60,1,1,1,1,-9,4,8139Z,9190.0,2080601 +1100105,59,20807,1,39,2,60,1,1,1,1,-9,4,52M1,6870.0,2080701 +1100105,59,20808,1,49,2,80,1,1,1,1,-9,4,488,6290.0,2080801 +1100105,59,20809,1,57,1,40,1,1,1,1,-9,4,5221M,6880.0,2080901 +1100105,59,20810,1,49,2,80,1,1,1,1,-9,4,488,6290.0,2081001 +1100105,59,20811,1,36,1,42,1,1,1,1,-9,4,622M,8191.0,2081101 +1100105,59,20812,1,54,1,60,1,1,1,1,-9,4,92M2,9570.0,2081201 +1100105,59,20813,1,39,2,45,1,1,1,1,-9,4,7112,8562.0,2081301 +1100105,59,20814,1,56,1,55,1,1,1,1,-9,4,5416,7390.0,2081401 +1100105,59,20815,1,48,1,60,1,1,1,1,-9,4,5411,7270.0,2081501 +1100105,59,20816,1,43,2,50,1,1,1,1,-9,4,928P,9590.0,2081601 +1100105,59,20817,1,36,1,40,1,1,1,1,-9,4,6211,7970.0,2081701 +1100105,59,20818,1,46,1,65,1,1,1,1,-9,4,5416,7390.0,2081801 +1100105,59,20819,1,61,2,40,1,1,1,3,-9,4,928P,9590.0,2081901 +1100105,59,20820,1,49,2,52,1,1,2,9,-9,4,5411,7270.0,2082001 +1100105,59,20821,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,2082101 +1100105,59,20822,1,30,2,60,1,1,6,1,-9,4,5411,7270.0,2082201 +1100105,59,20823,1,28,1,40,1,1,1,1,-9,4,56173,7770.0,2082301 +1100105,59,20824,1,31,2,58,1,1,1,1,-9,4,5411,7270.0,2082401 +1100105,59,20825,1,30,2,75,1,1,1,1,-9,4,5411,7270.0,2082501 +1100105,59,20826,1,32,1,60,1,1,1,1,-9,4,522M,6890.0,2082601 +1100105,59,20827,1,27,2,60,1,1,1,1,-9,4,5411,7270.0,2082701 +1100105,59,20828,1,30,2,60,1,1,1,1,-9,4,9211MP,9370.0,2082801 +1100105,59,20829,1,33,2,60,1,1,1,1,-9,4,5411,7270.0,2082901 +1100105,59,20830,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,2083001 +1100105,59,20831,1,65,2,-9,-9,6,1,1,-9,4,813M,9170.0,2083101 +1100105,59,20832,1,65,2,-9,-9,6,1,1,-9,4,813M,9170.0,2083201 +1100105,59,20833,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,2083301 +1100105,59,20834,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,2083401 +1100105,59,20835,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,2083501 +1100105,59,20836,1,81,1,-9,-9,6,1,1,-9,4,0,0.0,2083601 +1100105,59,20837,1,80,2,-9,-9,6,1,1,-9,4,0,0.0,2083701 +1100105,59,20838,1,53,1,40,6,6,1,1,-9,4,44611,5070.0,2083801 +1100105,59,20839,1,71,1,50,1,1,1,1,-9,4,5416,7390.0,2083901 +1100105,59,20840,1,76,1,60,1,1,1,1,-9,4,7111,8561.0,2084001 +1100105,59,20841,1,47,1,50,1,1,9,1,-9,4,611M1,7870.0,2084101 +1100105,59,20842,1,37,2,75,1,1,6,1,-9,4,9211MP,9370.0,2084201 +1100105,59,20843,1,39,1,43,1,1,1,1,-9,4,481,6070.0,2084301 +1100105,59,20844,1,49,1,40,1,1,1,1,-9,4,923,9480.0,2084401 +1100105,59,20845,1,40,2,40,1,1,1,1,-9,4,813M,9170.0,2084501 +1100105,59,20846,1,51,1,40,1,1,1,1,-9,4,522M,6890.0,2084601 +1100105,59,20847,1,63,1,45,1,1,1,1,-9,4,2211P,570.0,2084701 +1100105,59,20848,1,56,1,35,1,1,1,1,-9,4,5411,7270.0,2084801 +1100105,59,20849,1,37,1,55,1,1,1,3,-9,4,5416,7390.0,2084901 +1100105,59,20850,1,33,2,55,1,1,6,1,-9,4,52M1,6870.0,2085001 +1100105,59,20851,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,2085101 +1100105,59,20852,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,2085201 +1100105,59,20853,1,34,2,50,1,1,1,1,-9,4,5411,7270.0,2085301 +1100105,59,20854,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,2085401 +1100105,59,20855,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,2085501 +1100105,59,20856,1,30,1,60,1,1,1,1,-9,4,5415,7380.0,2085601 +1100105,59,20857,1,32,2,57,1,1,1,1,-9,4,5411,7270.0,2085701 +1100105,59,20858,1,31,2,40,3,1,1,1,-9,4,5411,7270.0,2085801 +1100105,59,20859,1,33,1,50,1,1,1,1,-9,4,5415,7380.0,2085901 +1100105,59,20860,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,2086001 +1100105,59,20861,1,67,2,32,1,1,1,1,-9,4,5416,7390.0,2086101 +1100105,59,20862,1,83,1,18,5,1,1,1,-9,2,5411,7270.0,2086201 +1100105,59,20863,1,73,2,28,3,1,1,13,-9,4,6214,8090.0,2086301 +1100105,59,20864,1,38,1,40,1,1,3,1,-9,4,5241,6991.0,2086401 +1100105,59,20865,1,35,2,55,1,1,9,1,-9,4,928P,9590.0,2086501 +1100105,59,20866,1,46,2,55,1,1,6,1,-9,4,5613,7580.0,2086601 +1100105,59,20867,1,35,2,60,1,1,6,1,-9,4,488,6290.0,2086701 +1100105,59,20868,1,40,1,40,1,1,6,1,-9,4,7211,8660.0,2086801 +1100105,59,20869,1,41,1,50,1,1,1,1,-9,4,531M,7071.0,2086901 +1100105,59,20870,1,62,2,50,1,1,1,1,-9,4,928P,9590.0,2087001 +1100105,59,20871,1,55,1,45,1,1,1,1,-9,4,8139Z,9190.0,2087101 +1100105,59,20872,1,62,2,60,1,1,1,1,-9,4,611M1,7870.0,2087201 +1100105,59,20873,1,37,2,50,1,1,1,1,-9,4,515,6670.0,2087301 +1100105,59,20874,1,58,1,50,1,1,1,1,-9,4,722Z,8680.0,2087401 +1100105,59,20875,1,40,2,40,1,1,1,1,-9,4,5416,7390.0,2087501 +1100105,59,20876,1,62,2,50,1,1,1,1,-9,4,928P,9590.0,2087601 +1100105,59,20877,1,51,2,40,1,1,1,1,-9,4,51912,6770.0,2087701 +1100105,59,20878,1,35,2,30,3,1,1,1,-9,4,611M3,7890.0,2087801 +1100105,59,20879,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,2087901 +1100105,59,20880,1,57,1,40,1,1,1,1,-9,4,23,770.0,2088001 +1100105,59,20881,1,38,1,40,1,1,1,1,-9,2,5415,7380.0,2088101 +1100105,59,20882,1,43,2,47,1,1,1,1,-9,4,928P,9590.0,2088201 +1100105,59,20883,1,36,2,50,1,1,1,1,-9,4,813M,9170.0,2088301 +1100105,59,20884,1,39,2,60,1,1,1,1,15,4,923,9480.0,2088401 +1100105,59,20885,1,35,2,60,1,1,1,1,-9,4,7115,8564.0,2088501 +1100105,59,20886,1,38,2,50,1,1,1,1,-9,4,561M,7780.0,2088601 +1100105,59,20887,1,49,2,40,3,2,1,1,-9,4,5416,7390.0,2088701 +1100105,59,20888,1,53,1,38,1,1,1,1,-9,4,52M2,6970.0,2088801 +1100105,59,20889,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,2088901 +1100105,59,20890,1,55,1,40,1,1,1,1,-9,4,92M1,9490.0,2089001 +1100105,59,20891,1,37,1,70,1,1,1,24,-9,4,8139Z,9190.0,2089101 +1100105,59,20892,1,41,1,40,1,1,1,13,-9,4,52M1,6870.0,2089201 +1100105,59,20893,1,44,1,40,1,1,1,16,-9,2,23,770.0,2089301 +1100105,59,20894,1,25,1,41,1,1,9,1,-9,4,5417,7460.0,2089401 +1100105,59,20895,1,31,1,40,1,1,9,1,-9,4,53M,7190.0,2089501 +1100105,59,20896,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,2089601 +1100105,59,20897,1,30,1,50,1,1,6,1,-9,4,5412,7280.0,2089701 +1100105,59,20898,1,28,1,55,1,1,6,1,-9,4,5416,7390.0,2089801 +1100105,59,20899,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,2089901 +1100105,59,20900,1,34,2,50,1,1,1,1,-9,4,92MP,9470.0,2090001 +1100105,59,20901,1,31,1,50,1,1,1,1,-9,4,52M2,6970.0,2090101 +1100105,59,20902,1,28,2,45,1,1,1,1,-9,4,5411,7270.0,2090201 +1100105,59,20903,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,2090301 +1100105,59,20904,1,33,1,50,1,1,1,1,-9,4,611M1,7870.0,2090401 +1100105,59,20905,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,2090501 +1100105,59,20906,1,28,1,40,1,1,1,1,-9,4,92113,9380.0,2090601 +1100105,59,20907,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,2090701 +1100105,59,20908,1,29,1,50,1,1,1,1,-9,4,5418,7470.0,2090801 +1100105,59,20909,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,2090901 +1100105,59,20910,1,25,2,46,1,1,1,1,-9,4,5416,7390.0,2091001 +1100105,59,20911,1,31,2,50,1,1,1,1,-9,4,5411,7270.0,2091101 +1100105,59,20912,1,27,1,40,1,1,1,1,-9,4,722Z,8680.0,2091201 +1100105,59,20913,1,31,2,40,1,1,1,1,16,4,813M,9170.0,2091301 +1100105,59,20914,1,31,2,40,1,1,1,1,-9,4,92113,9380.0,2091401 +1100105,59,20915,1,28,1,40,1,1,1,1,-9,4,92113,9380.0,2091501 +1100105,59,20916,1,32,1,40,2,1,1,1,-9,4,928P,9590.0,2091601 +1100105,59,20917,1,29,2,45,1,1,1,1,-9,4,5416,7390.0,2091701 +1100105,59,20918,1,33,1,40,3,1,1,1,-9,4,928P,9590.0,2091801 +1100105,59,20919,1,27,2,40,1,1,1,1,-9,4,5417,7460.0,2091901 +1100105,59,20920,1,31,2,40,1,1,1,1,-9,4,5411,7270.0,2092001 +1100105,59,20921,1,32,1,45,3,1,1,1,-9,4,5413,7290.0,2092101 +1100105,59,20922,1,28,2,50,1,1,1,1,-9,4,5614,7590.0,2092201 +1100105,59,20923,1,31,2,40,1,1,1,1,-9,4,5417,7460.0,2092301 +1100105,59,20924,1,27,1,60,1,1,1,1,-9,4,5419Z,7490.0,2092401 +1100105,59,20925,1,28,1,40,1,1,1,1,-9,4,92113,9380.0,2092501 +1100105,59,20926,1,33,2,55,1,1,1,1,-9,4,92113,9380.0,2092601 +1100105,59,20927,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,2092701 +1100105,59,20928,1,33,1,50,1,1,1,3,-9,4,622M,8191.0,2092801 +1100105,59,20929,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,2092901 +1100105,59,20930,1,28,1,60,1,1,1,24,-9,4,4MS,5790.0,2093001 +1100105,59,20931,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,2093101 +1100105,59,20932,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,2093201 +1100105,59,20933,1,65,1,-9,-9,6,1,1,-9,2,92M2,9570.0,2093301 +1100105,59,20934,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,2093401 +1100105,59,20935,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,2093501 +1100105,59,20936,1,34,1,60,1,3,9,1,-9,4,5416,7390.0,2093601 +1100105,59,20937,1,77,2,30,1,1,1,1,-9,4,5416,7390.0,2093701 +1100105,59,20938,1,71,1,56,5,1,1,1,-9,4,5416,7390.0,2093801 +1100105,59,20939,1,70,1,12,1,1,1,1,-9,2,8131,9160.0,2093901 +1100105,59,20940,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,2094001 +1100105,59,20941,1,76,2,40,1,1,1,1,-9,4,9211MP,9370.0,2094101 +1100105,59,20942,1,72,1,40,1,2,1,1,-9,4,8129,9090.0,2094201 +1100105,59,20943,1,46,2,40,3,1,9,1,-9,4,5191ZM,6780.0,2094301 +1100105,59,20944,1,53,1,40,1,1,6,1,-9,4,712,8570.0,2094401 +1100105,59,20945,1,36,1,40,1,1,6,1,-9,4,813M,9170.0,2094501 +1100105,59,20946,1,42,2,32,3,1,6,1,-9,4,5417,7460.0,2094601 +1100105,59,20947,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,2094701 +1100105,59,20948,1,55,2,70,1,1,1,1,-9,4,814,9290.0,2094801 +1100105,59,20949,1,35,2,50,1,1,1,1,-9,4,5415,7380.0,2094901 +1100105,59,20950,1,38,1,40,1,1,1,1,-9,4,928P,9590.0,2095001 +1100105,59,20951,1,52,1,40,1,1,1,1,-9,4,5416,7390.0,2095101 +1100105,59,20952,1,38,2,40,1,1,1,1,-9,4,923,9480.0,2095201 +1100105,59,20953,1,49,2,15,3,1,1,1,-9,4,5614,7590.0,2095301 +1100105,59,20954,1,50,2,40,3,1,1,1,-9,4,5411,7270.0,2095401 +1100105,59,20955,1,35,1,55,1,4,1,1,-9,1,928110P5,9780.0,2095501 +1100105,59,20956,1,36,1,45,1,1,1,1,-9,4,5411,7270.0,2095601 +1100105,59,20957,1,48,1,45,1,1,1,1,-9,4,813M,9170.0,2095701 +1100105,59,20958,1,55,2,40,1,1,1,1,-9,4,928P,9590.0,2095801 +1100105,59,20959,1,44,2,40,1,1,1,21,-9,4,52M2,6970.0,2095901 +1100105,59,20960,1,39,1,50,1,1,1,2,-9,4,481,6070.0,2096001 +1100105,59,20961,1,39,1,50,1,1,1,2,-9,4,481,6070.0,2096101 +1100105,59,20962,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,2096201 +1100105,59,20963,1,32,1,40,1,1,9,1,-9,4,92113,9380.0,2096301 +1100105,59,20964,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,2096401 +1100105,59,20965,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,2096501 +1100105,59,20966,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,2096601 +1100105,59,20967,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,2096701 +1100105,59,20968,1,32,2,55,1,1,9,1,-9,4,5415,7380.0,2096801 +1100105,59,20969,1,30,2,75,1,1,9,1,-9,4,6211,7970.0,2096901 +1100105,59,20970,1,28,1,40,1,1,9,1,-9,4,51912,6770.0,2097001 +1100105,59,20971,1,25,2,60,1,1,9,1,-9,4,5416,7390.0,2097101 +1100105,59,20972,1,30,1,40,1,1,6,1,-9,4,5413,7290.0,2097201 +1100105,59,20973,1,26,2,40,1,1,6,1,-9,4,611M1,7870.0,2097301 +1100105,59,20974,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,2097401 +1100105,59,20975,1,32,2,40,1,1,6,1,-9,4,5412,7280.0,2097501 +1100105,59,20976,1,28,2,50,1,1,6,1,-9,4,5417,7460.0,2097601 +1100105,59,20977,1,28,2,70,1,1,6,1,-9,4,622M,8191.0,2097701 +1100105,59,20978,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,2097801 +1100105,59,20979,1,29,1,50,1,1,6,1,-9,4,9211MP,9370.0,2097901 +1100105,59,20980,1,28,2,45,1,1,6,1,-9,4,92M1,9490.0,2098001 +1100105,59,20981,1,30,1,42,1,1,6,1,-9,4,813M,9170.0,2098101 +1100105,59,20982,1,30,1,50,1,1,6,1,-9,4,622M,8191.0,2098201 +1100105,59,20983,1,34,2,40,1,1,2,1,-9,4,92MP,9470.0,2098301 +1100105,59,20984,1,30,2,48,1,1,1,1,-9,4,52M2,6970.0,2098401 +1100105,59,20985,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,2098501 +1100105,59,20986,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,2098601 +1100105,59,20987,1,27,2,40,1,1,1,1,-9,4,51912,6770.0,2098701 +1100105,59,20988,1,29,1,40,1,1,1,1,-9,4,8139Z,9190.0,2098801 +1100105,59,20989,1,23,2,45,1,1,1,1,-9,4,611M1,7870.0,2098901 +1100105,59,20990,1,27,2,55,1,1,1,1,16,4,813M,9170.0,2099001 +1100105,59,20991,1,24,1,55,1,1,1,1,-9,4,9211MP,9370.0,2099101 +1100105,59,20992,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,2099201 +1100105,59,20993,1,29,1,50,1,1,1,1,-9,4,8139Z,9190.0,2099301 +1100105,59,20994,1,28,1,40,1,1,1,1,-9,4,5415,7380.0,2099401 +1100105,59,20995,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,2099501 +1100105,59,20996,1,34,1,45,1,1,1,1,-9,4,6111,7860.0,2099601 +1100105,59,20997,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,2099701 +1100105,59,20998,1,33,1,40,1,1,1,1,-9,4,5418,7470.0,2099801 +1100105,59,20999,1,33,1,42,1,1,1,1,-9,4,5416,7390.0,2099901 +1100105,59,21000,1,31,2,45,1,1,1,1,-9,4,92M1,9490.0,2100001 +1100105,59,21001,1,24,2,55,4,1,1,1,16,4,5416,7390.0,2100101 +1100105,59,21002,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,2100201 +1100105,59,21003,1,30,1,40,1,1,1,1,-9,4,5417,7460.0,2100301 +1100105,59,21004,1,26,2,55,2,1,1,1,-9,4,6111,7860.0,2100401 +1100105,59,21005,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,2100501 +1100105,59,21006,1,26,1,50,3,1,1,1,-9,4,5416,7390.0,2100601 +1100105,59,21007,1,28,2,40,1,1,1,1,-9,4,713Z,8590.0,2100701 +1100105,59,21008,1,29,1,45,1,1,1,1,-9,4,561M,7780.0,2100801 +1100105,59,21009,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,2100901 +1100105,59,21010,1,28,2,65,1,1,1,1,-9,4,6111,7860.0,2101001 +1100105,59,21011,1,22,2,45,1,1,1,1,-9,4,92113,9380.0,2101101 +1100105,59,21012,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,2101201 +1100105,59,21013,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,2101301 +1100105,59,21014,1,32,2,40,1,1,1,1,-9,4,81393,9180.0,2101401 +1100105,59,21015,1,31,1,50,1,1,1,1,-9,2,5415,7380.0,2101501 +1100105,59,21016,1,29,2,50,1,1,1,1,-9,4,611M1,7870.0,2101601 +1100105,59,21017,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,2101701 +1100105,59,21018,1,26,2,37,1,1,1,1,-9,4,813M,9170.0,2101801 +1100105,59,21019,1,29,1,50,1,1,1,1,-9,4,8139Z,9190.0,2101901 +1100105,59,21020,1,33,1,40,1,1,1,1,-9,4,5416,7390.0,2102001 +1100105,59,21021,1,29,2,40,1,1,1,1,-9,4,5416,7390.0,2102101 +1100105,59,21022,1,30,1,50,1,1,1,1,-9,4,7111,8561.0,2102201 +1100105,59,21023,1,31,1,60,1,1,1,1,-9,4,5416,7390.0,2102301 +1100105,59,21024,1,31,2,55,1,1,1,1,-9,4,6111,7860.0,2102401 +1100105,59,21025,1,30,2,45,1,1,1,1,-9,4,928P,9590.0,2102501 +1100105,59,21026,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,2102601 +1100105,59,21027,1,24,2,55,4,1,1,1,16,4,5416,7390.0,2102701 +1100105,59,21028,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,2102801 +1100105,59,21029,1,24,2,40,1,1,1,1,-9,4,622M,8191.0,2102901 +1100105,59,21030,1,33,1,40,1,1,1,1,-9,4,55,7570.0,2103001 +1100105,59,21031,1,32,2,40,1,1,1,1,-9,4,5411,7270.0,2103101 +1100105,59,21032,1,30,2,45,1,1,1,1,-9,4,5416,7390.0,2103201 +1100105,59,21033,1,28,2,35,1,1,1,1,-9,4,6216,8170.0,2103301 +1100105,59,21034,1,30,2,40,1,1,1,1,-9,4,443142,4795.0,2103401 +1100105,59,21035,1,30,2,40,1,1,1,1,-9,4,443142,4795.0,2103501 +1100105,59,21036,1,33,2,40,1,1,1,1,-9,4,211,370.0,2103601 +1100105,59,21037,1,34,1,40,1,1,1,1,-9,4,5417,7460.0,2103701 +1100105,59,21038,1,33,2,60,1,1,1,1,-9,4,611M3,7890.0,2103801 +1100105,59,21039,1,29,2,50,1,1,1,1,-9,4,5416,7390.0,2103901 +1100105,59,21040,1,28,2,45,1,1,1,1,-9,4,5111Z,6480.0,2104001 +1100105,59,21041,1,26,2,40,1,1,1,1,-9,4,813M,9170.0,2104101 +1100105,59,21042,1,34,2,40,1,1,1,1,-9,4,813M,9170.0,2104201 +1100105,59,21043,1,33,2,55,1,1,1,1,-9,4,8139Z,9190.0,2104301 +1100105,59,21044,1,25,1,55,1,1,1,1,-9,4,488,6290.0,2104401 +1100105,59,21045,1,30,1,45,1,1,1,2,-9,4,92MP,9470.0,2104501 +1100105,59,21046,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,2104601 +1100105,59,21047,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,2104701 +1100105,59,21048,1,31,1,40,1,1,1,2,-9,4,52M1,6870.0,2104801 +1100105,59,21049,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,2104901 +1100105,59,21050,1,25,2,40,1,1,8,6,-9,4,5416,7390.0,2105001 +1100105,59,21051,1,27,2,40,1,1,8,17,-9,4,6111,7860.0,2105101 +1100105,59,21052,1,31,2,55,1,1,1,4,-9,4,5411,7270.0,2105201 +1100105,59,21053,1,29,1,40,1,1,1,24,-9,4,5416,7390.0,2105301 +1100105,59,21054,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,2105401 +1100105,59,21055,1,26,2,45,1,1,1,3,-9,4,23,770.0,2105501 +1100105,59,21056,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,2105601 +1100105,59,21057,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,2105701 +1100105,59,21058,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,2105801 +1100105,59,21059,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,2105901 +1100105,59,21060,1,89,1,-9,-9,6,6,1,-9,2,0,0.0,2106001 +1100105,59,21061,1,67,2,-9,-9,6,2,1,-9,4,0,0.0,2106101 +1100105,59,21062,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,2106201 +1100105,59,21063,1,67,1,35,2,6,1,1,15,4,7111,8561.0,2106301 +1100105,59,21064,1,82,2,-9,-9,6,1,1,-9,4,5313,7072.0,2106401 +1100105,59,21065,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,2106501 +1100105,59,21066,1,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,2106601 +1100105,59,21067,1,71,1,-9,-9,6,1,1,-9,2,0,0.0,2106701 +1100105,59,21068,1,69,2,-9,-9,6,1,1,-9,4,92M2,9570.0,2106801 +1100105,59,21069,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,2106901 +1100105,59,21070,1,70,2,-9,-9,6,1,1,-9,4,522M,6890.0,2107001 +1100105,59,21071,1,89,1,-9,-9,6,1,1,-9,2,0,0.0,2107101 +1100105,59,21072,1,67,1,-9,-9,6,1,1,16,2,923,9480.0,2107201 +1100105,59,21073,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,2107301 +1100105,59,21074,1,69,2,-9,-9,6,1,1,-9,4,92M2,9570.0,2107401 +1100105,59,21075,1,83,2,-9,-9,6,1,1,-9,4,0,0.0,2107501 +1100105,59,21076,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,2107601 +1100105,59,21077,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,2107701 +1100105,59,21078,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,2107801 +1100105,59,21079,1,74,1,-9,-9,6,2,3,-9,2,6111,7860.0,2107901 +1100105,59,21080,1,61,1,-9,-9,6,1,1,-9,4,0,0.0,2108001 +1100105,59,21081,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,2108101 +1100105,59,21082,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,2108201 +1100105,59,21083,1,67,1,50,1,1,1,1,-9,4,23,770.0,2108301 +1100105,59,21084,1,42,1,50,1,1,1,1,-9,4,5416,7390.0,2108401 +1100105,59,21085,1,34,2,40,3,1,9,1,-9,4,5416,7390.0,2108501 +1100105,59,21086,1,33,2,40,1,1,6,1,-9,4,928P,9590.0,2108601 +1100105,59,21087,1,25,2,40,1,1,6,1,-9,4,611M1,7870.0,2108701 +1100105,59,21088,1,32,1,40,1,1,1,1,-9,4,5417,7460.0,2108801 +1100105,59,21089,1,28,2,40,5,1,1,1,-9,4,5418,7470.0,2108901 +1100105,59,21090,1,30,2,55,1,1,1,1,-9,4,928P,9590.0,2109001 +1100105,59,21091,1,24,2,40,1,1,1,1,-9,4,51111,6470.0,2109101 +1100105,59,21092,1,29,1,40,4,1,1,1,-9,2,5613,7580.0,2109201 +1100105,59,21093,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,2109301 +1100105,59,21094,1,25,1,45,3,1,1,1,-9,4,928P,9590.0,2109401 +1100105,59,21095,1,25,2,40,1,1,1,1,-9,4,5413,7290.0,2109501 +1100105,59,21096,1,26,2,50,1,1,1,1,-9,4,722Z,8680.0,2109601 +1100105,59,21097,1,33,2,40,1,1,1,2,-9,4,531M,7071.0,2109701 +1100105,59,21098,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,2109801 +1100105,59,21099,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,2109901 +1100105,59,21100,1,71,2,-9,-9,6,2,1,-9,4,0,0.0,2110001 +1100105,59,21101,1,66,2,-9,-9,6,1,1,-9,4,0,0.0,2110101 +1100105,59,21102,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,2110201 +1100105,59,21103,1,84,1,-9,-9,6,1,1,-9,2,0,0.0,2110301 +1100105,59,21104,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,2110401 +1100105,59,21105,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,2110501 +1100105,59,21106,1,87,1,-9,-9,6,1,1,-9,2,0,0.0,2110601 +1100105,59,21107,1,78,1,-9,-9,6,2,10,-9,3,0,0.0,2110701 +1100105,59,21108,1,42,2,-9,-9,6,1,1,16,4,0,0.0,2110801 +1100105,59,21109,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,2110901 +1100105,59,21110,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,2111001 +1100105,59,21111,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,2111101 +1100105,59,21112,1,67,1,20,1,1,1,1,-9,4,23,770.0,2111201 +1100105,59,21113,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,2111301 +1100105,59,21114,1,68,1,3,3,1,1,1,-9,2,813M,9170.0,2111401 +1100105,59,21115,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,2111501 +1100105,59,21116,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,2111601 +1100105,59,21117,1,37,1,4,1,1,9,1,-9,4,8129,9090.0,2111701 +1100105,59,21118,1,35,1,2,6,1,5,1,13,4,52M1,6870.0,2111801 +1100105,59,21119,1,52,1,60,1,1,1,1,-9,4,5415,7380.0,2111901 +1100105,59,21120,1,50,1,40,1,1,1,1,-9,4,531M,7071.0,2112001 +1100105,59,21121,1,56,2,20,1,1,1,1,-9,4,622M,8191.0,2112101 +1100105,59,21122,1,47,1,40,4,1,1,1,-9,4,722Z,8680.0,2112201 +1100105,59,21123,1,54,1,32,3,1,1,1,-9,2,9211MP,9370.0,2112301 +1100105,59,21124,1,35,2,40,1,1,1,2,-9,4,722Z,8680.0,2112401 +1100105,59,21125,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,2112501 +1100105,59,21126,1,28,1,40,6,1,9,1,-9,4,92M2,9570.0,2112601 +1100105,59,21127,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,2112701 +1100105,59,21128,1,27,1,30,1,1,9,1,-9,4,712,8570.0,2112801 +1100105,59,21129,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,2112901 +1100105,59,21130,1,27,1,30,1,1,9,1,-9,4,712,8570.0,2113001 +1100105,59,21131,1,27,1,30,1,1,9,1,-9,4,712,8570.0,2113101 +1100105,59,21132,1,22,2,40,6,1,6,1,16,4,813M,9170.0,2113201 +1100105,59,21133,1,31,1,40,1,1,6,1,-9,4,5415,7380.0,2113301 +1100105,59,21134,1,31,2,16,2,1,6,1,-9,4,722Z,8680.0,2113401 +1100105,59,21135,1,20,2,40,4,1,6,1,15,4,5412,7280.0,2113501 +1100105,59,21136,1,22,2,10,6,1,6,1,16,4,611M1,7870.0,2113601 +1100105,59,21137,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,2113701 +1100105,59,21138,1,33,2,40,1,1,1,1,15,2,483,6090.0,2113801 +1100105,59,21139,1,27,2,40,1,1,1,1,16,4,622M,8191.0,2113901 +1100105,59,21140,1,25,1,35,1,1,1,1,16,4,813M,9170.0,2114001 +1100105,59,21141,1,21,2,20,1,1,1,1,15,4,622M,8191.0,2114101 +1100105,59,21142,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,2114201 +1100105,59,21143,1,22,2,45,5,1,1,1,-9,4,5416,7390.0,2114301 +1100105,59,21144,1,29,1,40,4,1,1,1,-9,4,5411,7270.0,2114401 +1100105,59,21145,1,25,1,6,4,1,1,1,16,4,713Z,8590.0,2114501 +1100105,59,21146,1,23,2,40,3,1,1,1,-9,4,813M,9170.0,2114601 +1100105,59,21147,1,25,1,35,1,1,1,1,16,4,813M,9170.0,2114701 +1100105,59,21148,1,26,2,30,1,1,1,1,16,4,611M1,7870.0,2114801 +1100105,59,21149,1,22,1,40,1,1,1,1,15,4,51111,6470.0,2114901 +1100105,59,21150,1,32,1,80,1,1,1,1,-9,4,52M2,6970.0,2115001 +1100105,59,21151,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,2115101 +1100105,59,21152,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,2115201 +1100105,59,21153,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,2115301 +1100105,59,21154,1,28,2,20,3,1,1,2,16,4,923,9480.0,2115401 +1100105,59,21155,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,2115501 +1100105,59,21156,1,85,2,-9,-9,6,9,1,-9,4,0,0.0,2115601 +1100105,59,21157,1,65,2,-9,-9,6,9,1,-9,4,0,0.0,2115701 +1100105,59,21158,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,2115801 +1100105,59,21159,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,2115901 +1100105,59,21160,1,76,1,-9,-9,6,9,1,-9,2,0,0.0,2116001 +1100105,59,21161,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,2116101 +1100105,59,21162,1,65,2,-9,-9,6,9,1,-9,4,0,0.0,2116201 +1100105,59,21163,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,2116301 +1100105,59,21164,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,2116401 +1100105,59,21165,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,2116501 +1100105,59,21166,1,73,2,-9,-9,6,9,1,-9,4,0,0.0,2116601 +1100105,59,21167,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,2116701 +1100105,59,21168,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,2116801 +1100105,59,21169,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,2116901 +1100105,59,21170,1,85,2,-9,-9,6,6,1,-9,4,0,0.0,2117001 +1100105,59,21171,1,85,2,-9,-9,6,6,1,-9,4,0,0.0,2117101 +1100105,59,21172,1,88,2,-9,-9,6,6,1,-9,4,0,0.0,2117201 +1100105,59,21173,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,2117301 +1100105,59,21174,1,69,2,-9,-9,6,2,1,-9,4,0,0.0,2117401 +1100105,59,21175,1,89,1,-9,-9,6,2,1,-9,4,0,0.0,2117501 +1100105,59,21176,1,85,1,-9,-9,6,2,1,-9,4,0,0.0,2117601 +1100105,59,21177,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,2117701 +1100105,59,21178,1,80,1,-9,-9,6,2,1,-9,4,0,0.0,2117801 +1100105,59,21179,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,2117901 +1100105,59,21180,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,2118001 +1100105,59,21181,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,2118101 +1100105,59,21182,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,2118201 +1100105,59,21183,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,2118301 +1100105,59,21184,1,74,2,-9,-9,3,1,1,-9,4,722Z,8680.0,2118401 +1100105,59,21185,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2118501 +1100105,59,21186,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,2118601 +1100105,59,21187,1,69,2,-9,-9,6,1,1,-9,4,622M,8191.0,2118701 +1100105,59,21188,1,76,2,-9,-9,6,1,1,-9,4,0,0.0,2118801 +1100105,59,21189,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,2118901 +1100105,59,21190,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2119001 +1100105,59,21191,1,69,2,-9,-9,6,1,1,-9,4,622M,8191.0,2119101 +1100105,59,21192,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,2119201 +1100105,59,21193,1,71,2,-9,-9,6,1,1,-9,4,611M3,7890.0,2119301 +1100105,59,21194,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,2119401 +1100105,59,21195,1,69,2,-9,-9,6,1,1,-9,4,622M,8191.0,2119501 +1100105,59,21196,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2119601 +1100105,59,21197,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,2119701 +1100105,59,21198,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,2119801 +1100105,59,21199,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,2119901 +1100105,59,21200,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,2120001 +1100105,59,21201,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,2120101 +1100105,59,21202,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,2120201 +1100105,59,21203,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2120301 +1100105,59,21204,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2120401 +1100105,59,21205,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,2120501 +1100105,59,21206,1,73,1,-9,-9,6,1,1,-9,4,0,0.0,2120601 +1100105,59,21207,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,2120701 +1100105,59,21208,1,71,2,-9,-9,6,2,3,-9,4,622M,8191.0,2120801 +1100105,59,21209,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,2120901 +1100105,59,21210,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2121001 +1100105,59,21211,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2121101 +1100105,59,21212,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,2121201 +1100105,59,21213,1,71,2,-9,-9,6,2,3,-9,4,622M,8191.0,2121301 +1100105,59,21214,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2121401 +1100105,59,21215,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2121501 +1100105,59,21216,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,2121601 +1100105,59,21217,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,2121701 +1100105,59,21218,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,2121801 +1100105,59,21219,1,79,2,-9,-9,3,1,3,-9,4,999920,9920.0,2121901 +1100105,59,21220,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,2122001 +1100105,59,21221,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,2122101 +1100105,59,21222,1,86,2,-9,-9,6,2,5,-9,4,0,0.0,2122201 +1100105,59,21223,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,2122301 +1100105,59,21224,1,41,1,-9,-9,6,9,1,-9,4,0,0.0,2122401 +1100105,59,21225,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,2122501 +1100105,59,21226,1,42,2,-9,-9,6,6,1,-9,4,0,0.0,2122601 +1100105,59,21227,1,43,2,-9,-9,6,2,1,-9,4,0,0.0,2122701 +1100105,59,21228,1,63,2,-9,-9,6,2,1,-9,4,0,0.0,2122801 +1100105,59,21229,1,63,2,-9,-9,6,1,1,-9,4,4442,4890.0,2122901 +1100105,59,21230,1,56,1,29,5,3,1,1,-9,4,5613,7580.0,2123001 +1100105,59,21231,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,2123101 +1100105,59,21232,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,2123201 +1100105,59,21233,1,48,1,-9,-9,6,1,1,-9,4,5313,7072.0,2123301 +1100105,59,21234,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,2123401 +1100105,59,21235,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,2123501 +1100105,59,21236,1,39,2,-9,-9,6,1,1,-9,4,6111,7860.0,2123601 +1100105,59,21237,1,41,1,-9,-9,6,1,1,-9,4,0,0.0,2123701 +1100105,59,21238,1,35,2,-9,-9,6,1,1,16,4,5415,7380.0,2123801 +1100105,59,21239,1,44,1,-9,-9,6,1,1,-9,4,0,0.0,2123901 +1100105,59,21240,1,58,2,-9,-9,3,1,1,-9,4,999920,9920.0,2124001 +1100105,59,21241,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,2124101 +1100105,59,21242,1,54,2,-9,-9,6,1,23,-9,4,0,0.0,2124201 +1100105,59,21243,1,47,2,8,1,6,1,16,-9,4,713Z,8590.0,2124301 +1100105,59,21244,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,2124401 +1100105,59,21245,1,25,1,-9,-9,6,6,1,16,4,0,0.0,2124501 +1100105,59,21246,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,2124601 +1100105,59,21247,1,23,2,40,6,6,6,1,15,4,611M1,7870.0,2124701 +1100105,59,21248,1,34,2,-9,-9,6,6,1,16,4,928P,9590.0,2124801 +1100105,59,21249,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,2124901 +1100105,59,21250,1,22,2,45,3,6,6,1,16,4,23,770.0,2125001 +1100105,59,21251,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,2125101 +1100105,59,21252,1,23,2,-9,-9,6,1,1,16,4,0,0.0,2125201 +1100105,59,21253,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2125301 +1100105,59,21254,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2125401 +1100105,59,21255,1,26,2,-9,-9,6,1,1,16,4,92M2,9570.0,2125501 +1100105,59,21256,1,24,2,20,6,6,1,1,16,4,5411,7270.0,2125601 +1100105,59,21257,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,2125701 +1100105,59,21258,1,26,1,7,3,6,1,1,16,4,611M1,7870.0,2125801 +1100105,59,21259,1,33,1,-9,-9,3,1,1,-9,4,486,6270.0,2125901 +1100105,59,21260,1,24,2,-9,-9,6,1,1,-9,4,5417,7460.0,2126001 +1100105,59,21261,1,26,2,-9,-9,6,1,1,16,4,611M1,7870.0,2126101 +1100105,59,21262,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2126201 +1100105,59,21263,1,34,2,-9,-9,6,1,1,16,4,0,0.0,2126301 +1100105,59,21264,1,27,1,-9,-9,6,1,1,-9,4,611M1,7870.0,2126401 +1100105,59,21265,1,34,2,-9,-9,6,1,1,16,4,0,0.0,2126501 +1100105,59,21266,1,26,1,7,3,6,1,1,16,4,611M1,7870.0,2126601 +1100105,59,21267,1,30,1,-9,-9,6,1,1,16,4,5411,7270.0,2126701 +1100105,59,21268,1,34,2,12,4,3,1,1,16,4,611M1,7870.0,2126801 +1100105,59,21269,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,2126901 +1100105,59,21270,1,27,2,-9,-9,6,1,23,-9,4,622M,8191.0,2127001 +1100105,59,21271,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,2127101 +1100105,59,21272,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,2127201 +1100105,59,21273,1,20,2,-9,-9,3,1,13,15,4,999920,9920.0,2127301 +1100105,59,21274,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,2127401 +1100105,59,21275,1,26,2,-9,-9,6,9,16,-9,4,5411,7270.0,2127501 +1100105,59,21276,1,22,2,8,5,6,1,19,16,4,611M1,7870.0,2127601 +1100105,59,21277,1,26,2,40,6,6,1,23,16,4,722Z,8680.0,2127701 +1100105,59,21278,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,2127801 +1100105,60,21279,1,42,1,40,1,1,8,11,-9,4,531M,7071.0,2127901 +1100105,60,21279,2,43,2,20,1,1,8,11,-9,4,5617Z,7690.0,2127902 +1100105,60,21279,3,15,1,-9,-9,-9,8,11,12,-9,0,0.0,2127903 +1100105,60,21279,4,12,1,-9,-9,-9,8,11,9,-9,0,0.0,2127904 +1100105,60,21279,5,9,1,-9,-9,-9,8,11,5,-9,0,0.0,2127905 +1100105,60,21279,6,8,1,-9,-9,-9,8,11,4,-9,0,0.0,2127906 +1100105,60,21280,1,34,1,4,6,2,2,1,-9,4,711M,8563.0,2128001 +1100105,60,21280,2,9,1,-9,-9,-9,2,1,6,-9,0,0.0,2128002 +1100105,60,21280,3,7,1,-9,-9,-9,2,1,3,-9,0,0.0,2128003 +1100105,60,21280,4,3,2,-9,-9,-9,2,1,1,-9,0,0.0,2128004 +1100105,60,21280,5,2,2,-9,-9,-9,2,1,-9,-9,0,0.0,2128005 +1100105,60,21280,6,1,1,-9,-9,-9,2,1,-9,-9,0,0.0,2128006 +1100105,60,21280,7,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,2128007 +1100105,60,21280,8,7,2,-9,-9,-9,2,1,-9,-9,0,0.0,2128008 +1100105,60,21280,9,26,2,40,3,1,2,1,15,4,4533,5490.0,2128009 +1100105,60,21281,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,2128101 +1100105,60,21281,2,18,1,-9,-9,6,8,2,14,4,0,0.0,2128102 +1100105,60,21281,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,2128103 +1100105,60,21281,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,2128104 +1100105,60,21282,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,2128201 +1100105,60,21282,2,18,1,-9,-9,6,8,2,14,4,0,0.0,2128202 +1100105,60,21282,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,2128203 +1100105,60,21282,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,2128204 +1100105,60,21283,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,2128301 +1100105,60,21283,2,18,1,-9,-9,6,8,2,14,4,0,0.0,2128302 +1100105,60,21283,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,2128303 +1100105,60,21283,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,2128304 +1100105,60,21284,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,2128401 +1100105,60,21284,2,18,1,-9,-9,6,8,2,14,4,0,0.0,2128402 +1100105,60,21284,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,2128403 +1100105,60,21284,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,2128404 +1100105,60,21285,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,2128501 +1100105,60,21285,2,18,1,-9,-9,6,8,2,14,4,0,0.0,2128502 +1100105,60,21285,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,2128503 +1100105,60,21285,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,2128504 +1100105,60,21286,1,36,2,40,1,1,8,2,-9,4,92113,9380.0,2128601 +1100105,60,21286,2,18,1,-9,-9,6,8,2,14,4,0,0.0,2128602 +1100105,60,21286,3,12,1,-9,-9,-9,8,2,8,-9,0,0.0,2128603 +1100105,60,21286,4,6,2,-9,-9,-9,8,2,3,-9,0,0.0,2128604 +1100105,60,21287,1,40,2,-9,-9,6,8,11,-9,4,0,0.0,2128701 +1100105,60,21287,2,20,1,-9,-9,6,8,11,-9,4,0,0.0,2128702 +1100105,60,21287,3,19,1,-9,-9,6,8,11,-9,4,0,0.0,2128703 +1100105,60,21287,4,36,2,-9,-9,6,8,11,-9,4,0,0.0,2128704 +1100105,60,21287,5,18,2,-9,-9,6,8,11,12,4,0,0.0,2128705 +1100105,60,21288,1,30,1,40,1,1,1,1,-9,4,92M1,9490.0,2128801 +1100105,60,21288,2,35,1,40,1,1,6,1,-9,3,5419Z,7490.0,2128802 +1100105,60,21288,3,29,2,30,1,1,1,1,-9,4,8139Z,9190.0,2128803 +1100105,60,21289,1,31,2,40,1,1,1,1,-9,4,92M2,9570.0,2128901 +1100105,60,21289,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,2128902 +1100105,60,21289,3,27,1,40,2,1,9,1,-9,4,9211MP,9370.0,2128903 +1100105,60,21290,1,28,1,40,1,1,1,1,-9,4,6111,7860.0,2129001 +1100105,60,21290,2,34,1,38,1,1,1,1,-9,4,5411,7270.0,2129002 +1100105,60,21290,3,31,1,50,1,1,1,1,-9,4,4441Z,4870.0,2129003 +1100105,60,21291,1,24,1,60,1,1,1,1,-9,4,5418,7470.0,2129101 +1100105,60,21291,2,24,1,50,1,1,1,1,-9,4,531M,7071.0,2129102 +1100105,60,21291,3,23,1,42,3,1,1,1,-9,4,5418,7470.0,2129103 +1100105,60,21292,1,25,2,50,1,1,1,1,-9,4,531M,7071.0,2129201 +1100105,60,21292,2,26,2,50,1,1,1,1,-9,4,813M,9170.0,2129202 +1100105,60,21292,3,26,2,50,3,1,1,1,-9,4,531M,7071.0,2129203 +1100105,60,21293,1,50,2,40,1,1,1,1,-9,4,712,8570.0,2129301 +1100105,60,21293,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,2129302 +1100105,60,21293,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,2129303 +1100105,60,21294,1,50,2,40,1,1,1,1,-9,4,712,8570.0,2129401 +1100105,60,21294,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,2129402 +1100105,60,21294,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,2129403 +1100105,60,21295,1,50,2,40,1,1,1,1,-9,4,712,8570.0,2129501 +1100105,60,21295,2,18,2,1,6,3,9,1,14,4,722Z,8680.0,2129502 +1100105,60,21295,3,51,1,40,5,1,2,1,-9,4,5613,7580.0,2129503 +1100105,60,21296,1,25,2,45,1,1,1,1,-9,4,5416,7390.0,2129601 +1100105,60,21296,2,25,2,40,1,1,1,1,-9,4,712,8570.0,2129602 +1100105,60,21296,3,22,2,40,4,1,1,1,-9,4,5417,7460.0,2129603 +1100105,60,21297,1,24,2,40,1,1,9,1,-9,4,4244,4470.0,2129701 +1100105,60,21297,2,22,2,50,1,1,1,3,-9,4,522M,6890.0,2129702 +1100105,60,21297,3,26,2,40,1,1,6,1,-9,4,722Z,8680.0,2129703 +1100105,60,21298,1,25,1,40,1,1,1,21,-9,4,9211MP,9370.0,2129801 +1100105,60,21298,2,24,1,40,2,1,1,1,-9,4,5416,7390.0,2129802 +1100105,60,21298,3,22,1,40,5,1,1,1,-9,4,5417,7460.0,2129803 +1100105,60,21299,1,41,1,42,1,1,1,1,-9,3,8139Z,9190.0,2129901 +1100105,60,21299,2,6,2,-9,-9,-9,1,1,2,-9,0,0.0,2129902 +1100105,60,21299,3,5,2,-9,-9,-9,2,1,1,-9,0,0.0,2129903 +1100105,60,21300,1,19,2,-9,-9,6,1,1,15,4,0,0.0,2130001 +1100105,60,21300,2,17,1,-9,-9,6,1,1,14,4,0,0.0,2130002 +1100105,60,21300,3,57,2,-9,-9,6,1,1,16,4,0,0.0,2130003 +1100105,60,21301,1,19,2,-9,-9,6,1,1,15,4,0,0.0,2130101 +1100105,60,21301,2,17,1,-9,-9,6,1,1,14,4,0,0.0,2130102 +1100105,60,21301,3,57,2,-9,-9,6,1,1,16,4,0,0.0,2130103 +1100105,60,21302,1,19,2,-9,-9,6,6,1,16,4,0,0.0,2130201 +1100105,60,21302,2,23,2,45,1,1,6,1,-9,4,5415,7380.0,2130202 +1100105,60,21302,3,23,2,40,3,1,6,1,-9,4,5418,7470.0,2130203 +1100105,60,21303,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,2130301 +1100105,60,21303,2,17,2,-9,-9,6,3,1,12,4,0,0.0,2130302 +1100105,60,21303,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,2130303 +1100105,60,21304,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,2130401 +1100105,60,21304,2,17,2,-9,-9,6,3,1,12,4,0,0.0,2130402 +1100105,60,21304,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,2130403 +1100105,60,21305,1,33,2,13,6,1,2,1,-9,4,622M,8191.0,2130501 +1100105,60,21305,2,17,2,-9,-9,6,3,1,12,4,0,0.0,2130502 +1100105,60,21305,3,6,1,-9,-9,-9,2,1,3,-9,0,0.0,2130503 +1100105,60,21306,1,75,2,-9,-9,6,2,1,-9,4,0,0.0,2130601 +1100105,60,21306,2,48,2,-9,-9,6,2,1,-9,4,0,0.0,2130602 +1100105,60,21306,3,19,2,-9,-9,3,2,1,-9,4,7211,8660.0,2130603 +1100105,60,21307,1,53,2,-9,-9,6,2,1,-9,4,0,0.0,2130701 +1100105,60,21307,2,19,1,-9,-9,6,2,1,14,4,6244,8470.0,2130702 +1100105,60,21307,3,14,2,-9,-9,-9,2,1,11,-9,0,0.0,2130703 +1100105,60,21308,1,34,2,-9,-9,6,2,1,-9,4,6216,8170.0,2130801 +1100105,60,21308,2,12,2,-9,-9,-9,2,1,8,-9,0,0.0,2130802 +1100105,60,21308,3,0,2,-9,-9,-9,2,1,-9,-9,0,0.0,2130803 +1100105,60,21309,1,67,1,40,1,1,1,1,-9,3,5411,7270.0,2130901 +1100105,60,21309,2,64,2,10,1,1,1,1,-9,4,611M1,7870.0,2130902 +1100105,60,21310,1,43,2,40,1,1,6,1,-9,4,5416,7390.0,2131001 +1100105,60,21310,2,45,1,55,1,1,6,1,-9,4,622M,8191.0,2131002 +1100105,60,21311,1,59,1,45,1,1,1,1,-9,4,5417,7460.0,2131101 +1100105,60,21311,2,49,1,43,2,1,9,1,-9,4,5411,7270.0,2131102 +1100105,60,21312,1,47,1,40,1,1,1,1,-9,4,52M1,6870.0,2131201 +1100105,60,21312,2,52,1,40,1,1,6,1,-9,4,923,9480.0,2131202 +1100105,60,21313,1,36,1,40,1,1,1,1,-9,4,5416,7390.0,2131301 +1100105,60,21313,2,49,1,40,1,1,1,1,-9,4,5415,7380.0,2131302 +1100105,60,21314,1,59,1,40,1,1,1,1,-9,2,622M,8191.0,2131401 +1100105,60,21314,2,58,2,45,1,1,1,1,-9,2,611M1,7870.0,2131402 +1100105,60,21315,1,44,1,58,1,4,1,1,-9,1,928110P3,9690.0,2131501 +1100105,60,21315,2,46,2,40,1,1,1,1,-9,4,5416,7390.0,2131502 +1100105,60,21316,1,60,2,40,1,1,1,1,-9,4,5411,7270.0,2131601 +1100105,60,21316,2,54,2,35,3,1,9,19,-9,4,6111,7860.0,2131602 +1100105,60,21317,1,37,1,40,1,1,9,1,-9,4,5416,7390.0,2131701 +1100105,60,21317,2,34,2,55,3,1,1,1,-9,4,5418,7470.0,2131702 +1100105,60,21318,1,46,1,60,1,1,1,1,-9,4,5411,7270.0,2131801 +1100105,60,21318,2,29,1,40,1,1,1,1,-9,4,5416,7390.0,2131802 +1100105,60,21319,1,37,1,55,1,1,1,1,-9,4,443142,4795.0,2131901 +1100105,60,21319,2,29,2,40,1,1,1,1,-9,4,5417,7460.0,2131902 +1100105,60,21320,1,32,1,40,1,1,1,1,16,4,923,9480.0,2132001 +1100105,60,21320,2,39,1,40,1,1,1,1,-9,4,813M,9170.0,2132002 +1100105,60,21321,1,44,1,40,1,4,1,19,16,1,928110P3,9690.0,2132101 +1100105,60,21321,2,27,2,50,1,1,1,1,-9,4,8139Z,9190.0,2132102 +1100105,60,21322,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,2132201 +1100105,60,21322,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,2132202 +1100105,60,21323,1,27,2,40,3,1,6,1,-9,4,443142,4795.0,2132301 +1100105,60,21323,2,31,1,60,1,1,6,1,-9,4,813M,9170.0,2132302 +1100105,60,21324,1,30,1,45,1,1,9,1,-9,4,611M3,7890.0,2132401 +1100105,60,21324,2,29,2,45,1,1,1,1,-9,4,5413,7290.0,2132402 +1100105,60,21325,1,33,1,40,1,1,1,1,-9,4,923,9480.0,2132501 +1100105,60,21325,2,33,1,40,1,1,6,1,-9,4,5416,7390.0,2132502 +1100105,60,21326,1,32,1,45,1,1,1,1,-9,4,52M1,6870.0,2132601 +1100105,60,21326,2,34,2,45,1,1,6,1,-9,4,522M,6890.0,2132602 +1100105,60,21327,1,33,1,40,1,1,1,1,-9,4,2212P,580.0,2132701 +1100105,60,21327,2,32,2,40,1,1,1,1,-9,4,5416,7390.0,2132702 +1100105,60,21328,1,33,2,40,1,1,1,1,-9,4,622M,8191.0,2132801 +1100105,60,21328,2,32,1,80,1,1,1,1,-9,4,7211,8660.0,2132802 +1100105,60,21329,1,28,2,40,1,1,1,1,-9,4,5411,7270.0,2132901 +1100105,60,21329,2,30,1,40,1,1,1,1,-9,4,52M2,6970.0,2132902 +1100105,60,21330,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,2133001 +1100105,60,21330,2,32,1,50,1,1,1,1,-9,4,4481,5170.0,2133002 +1100105,60,21331,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,2133101 +1100105,60,21331,2,32,1,60,1,1,1,1,-9,4,5411,7270.0,2133102 +1100105,60,21332,1,34,2,65,1,1,1,1,-9,4,5411,7270.0,2133201 +1100105,60,21332,2,31,1,50,1,1,1,1,-9,4,9211MP,9370.0,2133202 +1100105,60,21333,1,34,1,40,1,1,1,1,-9,4,928P,9590.0,2133301 +1100105,60,21333,2,34,2,50,1,1,1,1,-9,4,928P,9590.0,2133302 +1100105,60,21334,1,29,2,40,1,1,1,1,-9,4,5418,7470.0,2133401 +1100105,60,21334,2,27,1,50,1,1,1,1,-9,4,4481,5170.0,2133402 +1100105,60,21335,1,23,2,55,1,1,1,1,-9,4,5416,7390.0,2133501 +1100105,60,21335,2,27,1,64,1,1,1,1,-9,4,5416,7390.0,2133502 +1100105,60,21336,1,25,2,50,1,1,1,1,-9,4,6111,7860.0,2133601 +1100105,60,21336,2,31,1,50,1,1,1,1,-9,4,92113,9380.0,2133602 +1100105,60,21337,1,33,1,50,1,1,1,1,-9,4,5416,7390.0,2133701 +1100105,60,21337,2,33,1,50,1,1,1,1,-9,4,515,6670.0,2133702 +1100105,60,21338,1,25,1,40,1,1,1,1,-9,4,5112,6490.0,2133801 +1100105,60,21338,2,28,1,50,1,1,1,1,16,4,5411,7270.0,2133802 +1100105,60,21339,1,33,1,40,1,1,1,1,-9,4,2212P,580.0,2133901 +1100105,60,21339,2,32,2,40,1,1,1,1,-9,4,5416,7390.0,2133902 +1100105,60,21340,1,32,2,50,1,1,1,1,-9,4,5411,7270.0,2134001 +1100105,60,21340,2,32,1,60,1,1,1,1,-9,4,5411,7270.0,2134002 +1100105,60,21341,1,29,2,50,1,1,1,1,-9,4,9211MP,9370.0,2134101 +1100105,60,21341,2,32,1,70,1,1,1,1,-9,4,5411,7270.0,2134102 +1100105,60,21342,1,34,2,40,1,1,1,1,-9,4,923,9480.0,2134201 +1100105,60,21342,2,33,1,60,1,1,1,1,-9,4,5416,7390.0,2134202 +1100105,60,21343,1,31,2,50,1,1,1,1,-9,4,9211MP,9370.0,2134301 +1100105,60,21343,2,34,1,40,1,1,1,15,-9,2,5413,7290.0,2134302 +1100105,60,21344,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,2134401 +1100105,60,21344,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,2134402 +1100105,60,21345,1,79,1,-9,-9,6,1,1,-9,4,0,0.0,2134501 +1100105,60,21345,2,76,2,2,6,1,1,1,-9,4,6241,8370.0,2134502 +1100105,60,21346,1,73,1,40,1,1,1,1,-9,2,92M2,9570.0,2134601 +1100105,60,21346,2,61,2,40,6,6,1,1,-9,3,813M,9170.0,2134602 +1100105,60,21347,1,57,1,50,3,3,1,1,-9,4,8139Z,9190.0,2134701 +1100105,60,21347,2,51,1,40,1,1,1,1,-9,4,8131,9160.0,2134702 +1100105,60,21348,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,2134801 +1100105,60,21348,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,2134802 +1100105,60,21349,1,86,1,-9,-9,6,1,1,-9,2,0,0.0,2134901 +1100105,60,21349,2,79,2,4,6,6,1,1,-9,4,7111,8561.0,2134902 +1100105,60,21350,1,78,1,-9,-9,6,1,1,-9,4,0,0.0,2135001 +1100105,60,21350,2,78,2,-9,-9,6,1,1,-9,4,0,0.0,2135002 +1100105,60,21351,1,66,1,40,5,6,1,1,-9,4,5417,7460.0,2135101 +1100105,60,21351,2,63,1,-9,-9,6,1,1,-9,4,481,6070.0,2135102 +1100105,60,21352,1,57,1,38,1,1,1,1,-9,2,485M,6180.0,2135201 +1100105,60,21352,2,60,2,40,1,1,6,1,-9,4,5613,7580.0,2135202 +1100105,60,21353,1,37,1,45,1,1,1,1,-9,4,92M2,9570.0,2135301 +1100105,60,21353,2,42,1,45,1,1,1,1,-9,4,442,4770.0,2135302 +1100105,60,21354,1,34,2,50,1,1,1,1,-9,4,813M,9170.0,2135401 +1100105,60,21354,2,37,1,40,1,1,9,1,-9,4,5417,7460.0,2135402 +1100105,60,21355,1,41,1,60,1,1,1,1,-9,4,813M,9170.0,2135501 +1100105,60,21355,2,23,2,40,1,1,1,1,-9,4,5417,7460.0,2135502 +1100105,60,21356,1,29,1,40,1,1,6,1,-9,4,5415,7380.0,2135601 +1100105,60,21356,2,27,2,40,1,1,6,1,16,4,6231,8270.0,2135602 +1100105,60,21357,1,26,2,40,1,1,1,1,-9,4,713Z,8590.0,2135701 +1100105,60,21357,2,26,1,55,1,1,9,1,-9,4,722Z,8680.0,2135702 +1100105,60,21358,1,33,1,40,1,1,6,1,-9,4,531M,7071.0,2135801 +1100105,60,21358,2,33,2,40,1,1,1,1,-9,4,813M,9170.0,2135802 +1100105,60,21359,1,30,1,50,1,1,1,1,-9,4,424M,4380.0,2135901 +1100105,60,21359,2,30,2,50,1,1,6,1,-9,4,5415,7380.0,2135902 +1100105,60,21360,1,30,1,40,1,1,1,1,-9,4,4234,4170.0,2136001 +1100105,60,21360,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,2136002 +1100105,60,21361,1,30,2,50,1,1,1,1,-9,4,6241,8370.0,2136101 +1100105,60,21361,2,29,1,45,1,1,1,1,-9,4,5415,7380.0,2136102 +1100105,60,21362,1,28,1,45,3,1,1,1,-9,4,5411,7270.0,2136201 +1100105,60,21362,2,29,2,45,1,1,1,1,-9,4,5417,7460.0,2136202 +1100105,60,21363,1,33,2,40,1,1,1,1,-9,4,5417,7460.0,2136301 +1100105,60,21363,2,32,1,40,1,1,1,1,-9,4,8139Z,9190.0,2136302 +1100105,60,21364,1,26,1,55,1,1,1,1,-9,4,5418,7470.0,2136401 +1100105,60,21364,2,26,2,60,1,1,1,1,-9,4,5414,7370.0,2136402 +1100105,60,21365,1,33,1,60,1,1,1,1,-9,4,5411,7270.0,2136501 +1100105,60,21365,2,27,2,50,1,1,1,1,-9,4,5416,7390.0,2136502 +1100105,60,21366,1,32,2,50,1,1,1,1,-9,4,5412,7280.0,2136601 +1100105,60,21366,2,30,1,40,1,1,1,1,-9,2,5416,7390.0,2136602 +1100105,60,21367,1,33,1,50,1,1,1,1,-9,4,928P,9590.0,2136701 +1100105,60,21367,2,30,2,50,1,1,1,1,-9,4,3399ZM,3980.0,2136702 +1100105,60,21368,1,34,1,45,1,1,1,1,-9,4,491,6370.0,2136801 +1100105,60,21368,2,31,1,60,1,1,1,1,-9,4,52M1,6870.0,2136802 +1100105,60,21369,1,32,1,40,1,1,1,1,-9,4,5241,6991.0,2136901 +1100105,60,21369,2,31,2,40,1,1,1,1,-9,4,923,9480.0,2136902 +1100105,60,21370,1,30,1,45,1,1,1,1,16,4,611M1,7870.0,2137001 +1100105,60,21370,2,32,1,40,1,1,1,1,-9,4,51111,6470.0,2137002 +1100105,60,21371,1,33,1,40,1,1,1,3,-9,4,923,9480.0,2137101 +1100105,60,21371,2,32,2,40,1,1,1,1,-9,4,454110,5593.0,2137102 +1100105,60,21372,1,68,1,40,1,1,6,1,-9,4,92M1,9490.0,2137201 +1100105,60,21372,2,68,2,-9,-9,6,6,1,-9,4,6111,7860.0,2137202 +1100105,60,21373,1,74,1,16,3,6,1,1,-9,4,5417,7460.0,2137301 +1100105,60,21373,2,72,2,18,1,1,1,1,-9,4,5112,6490.0,2137302 +1100105,60,21374,1,25,2,35,4,6,1,1,-9,4,711M,8563.0,2137401 +1100105,60,21374,2,28,1,40,1,1,1,1,-9,4,531M,7071.0,2137402 +1100105,60,21375,1,30,2,55,1,1,8,2,-9,4,5411,7270.0,2137501 +1100105,60,21375,2,30,1,45,5,3,1,1,-9,4,9211MP,9370.0,2137502 +1100105,60,21376,1,71,2,-9,-9,6,1,1,-9,4,0,0.0,2137601 +1100105,60,21376,2,67,1,-9,-9,6,1,1,-9,4,611M1,7870.0,2137602 +1100105,60,21377,1,36,2,60,5,2,1,1,-9,4,311M2,1280.0,2137701 +1100105,60,21377,2,28,2,40,4,1,6,1,-9,4,928P,9590.0,2137702 +1100105,60,21378,1,48,1,40,1,1,2,3,-9,4,928P,9590.0,2137801 +1100105,60,21378,2,34,1,40,1,1,1,11,-9,4,722Z,8680.0,2137802 +1100105,60,21379,1,32,1,50,1,1,6,1,-9,4,9211MP,9370.0,2137901 +1100105,60,21379,2,32,2,30,1,1,6,1,16,4,611M1,7870.0,2137902 +1100105,60,21380,1,28,2,40,1,1,9,1,-9,4,928P,9590.0,2138001 +1100105,60,21380,2,25,1,40,1,1,1,1,16,4,928P,9590.0,2138002 +1100105,60,21381,1,28,2,40,1,1,9,1,-9,4,928P,9590.0,2138101 +1100105,60,21381,2,25,1,40,1,1,1,1,16,4,928P,9590.0,2138102 +1100105,60,21382,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,2138201 +1100105,60,21382,2,25,2,40,4,1,6,1,-9,4,813M,9170.0,2138202 +1100105,60,21383,1,26,2,50,1,1,1,1,-9,4,5416,7390.0,2138301 +1100105,60,21383,2,25,2,40,4,1,6,1,-9,4,813M,9170.0,2138302 +1100105,60,21384,1,26,1,45,1,1,1,1,-9,4,5411,7270.0,2138401 +1100105,60,21384,2,26,1,50,1,1,1,1,16,4,5411,7270.0,2138402 +1100105,60,21385,1,28,1,45,1,1,1,1,16,4,92119,9390.0,2138501 +1100105,60,21385,2,29,2,45,1,1,1,1,-9,4,5191ZM,6780.0,2138502 +1100105,60,21386,1,33,1,40,1,1,1,1,16,4,6111,7860.0,2138601 +1100105,60,21386,2,29,1,40,1,1,1,1,-9,4,813M,9170.0,2138602 +1100105,60,21387,1,27,2,45,1,1,1,1,-9,4,712,8570.0,2138701 +1100105,60,21387,2,32,1,40,1,1,1,1,-9,2,45121,5370.0,2138702 +1100105,60,21388,1,25,1,50,1,1,1,1,-9,4,5418,7470.0,2138801 +1100105,60,21388,2,25,2,50,1,1,1,1,-9,4,561M,7780.0,2138802 +1100105,60,21389,1,26,1,55,1,1,1,1,-9,4,522M,6890.0,2138901 +1100105,60,21389,2,25,2,65,1,1,1,1,-9,4,5412,7280.0,2138902 +1100105,60,21390,1,31,1,55,1,1,1,1,-9,4,5416,7390.0,2139001 +1100105,60,21390,2,28,2,55,1,1,1,1,-9,4,6242,8380.0,2139002 +1100105,60,21391,1,26,2,50,1,1,1,1,-9,4,5418,7470.0,2139101 +1100105,60,21391,2,27,1,50,1,1,1,1,16,4,3345,3380.0,2139102 +1100105,60,21392,1,28,2,40,1,1,1,1,-9,4,5416,7390.0,2139201 +1100105,60,21392,2,28,1,40,1,1,1,1,-9,4,5416,7390.0,2139202 +1100105,60,21393,1,33,1,65,1,1,1,1,-9,4,928P,9590.0,2139301 +1100105,60,21393,2,30,2,40,1,1,1,1,16,4,611M1,7870.0,2139302 +1100105,60,21394,1,23,2,50,1,2,1,1,-9,4,5411,7270.0,2139401 +1100105,60,21394,2,24,2,40,1,1,1,1,16,4,611M1,7870.0,2139402 +1100105,60,21395,1,27,2,30,1,1,1,1,-9,4,5417,7460.0,2139501 +1100105,60,21395,2,27,1,45,1,1,1,1,-9,4,8139Z,9190.0,2139502 +1100105,60,21396,1,25,1,40,1,1,1,1,-9,4,5419Z,7490.0,2139601 +1100105,60,21396,2,31,1,50,1,1,1,3,-9,4,9211MP,9370.0,2139602 +1100105,60,21397,1,25,2,40,1,1,1,1,-9,4,722Z,8680.0,2139701 +1100105,60,21397,2,30,1,40,1,1,1,4,-9,4,722Z,8680.0,2139702 +1100105,60,21398,1,26,2,40,1,1,6,1,-9,4,813M,9170.0,2139801 +1100105,60,21398,2,32,2,60,4,3,1,1,-9,4,813M,9170.0,2139802 +1100105,60,21399,1,27,2,8,6,6,1,1,16,4,813M,9170.0,2139901 +1100105,60,21399,2,29,1,50,1,1,1,1,-9,4,52M2,6970.0,2139902 +1100105,60,21400,1,27,2,-9,-9,6,1,1,-9,4,813M,9170.0,2140001 +1100105,60,21400,2,34,1,40,1,1,1,1,-9,4,5417,7460.0,2140002 +1100105,60,21401,1,21,1,40,1,1,9,4,-9,4,5411,7270.0,2140101 +1100105,60,21401,2,21,1,40,1,6,1,1,15,4,5416,7390.0,2140102 +1100105,60,21402,1,70,2,-9,-9,6,1,1,-9,4,0,0.0,2140201 +1100105,60,21402,2,74,1,40,6,6,1,1,-9,2,5416,7390.0,2140202 +1100105,60,21403,1,67,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,2140301 +1100105,60,21403,2,69,1,-9,-9,6,1,1,-9,2,81393,9180.0,2140302 +1100105,60,21404,1,24,2,50,4,6,1,1,16,4,5411,7270.0,2140401 +1100105,60,21404,2,25,2,40,4,6,1,1,16,4,813M,9170.0,2140402 +1100105,60,21405,1,25,1,40,1,1,6,1,-9,4,5241,6991.0,2140501 +1100105,60,21405,2,25,2,40,3,1,6,1,-9,4,5416,7390.0,2140502 +1100105,60,21406,1,31,2,40,1,1,1,1,-9,4,531M,7071.0,2140601 +1100105,60,21406,2,32,1,35,1,1,3,1,-9,4,712,8570.0,2140602 +1100105,60,21407,1,25,2,40,3,1,9,1,-9,4,5242,6992.0,2140701 +1100105,60,21407,2,28,1,52,1,1,1,1,-9,4,52M2,6970.0,2140702 +1100105,60,21408,1,26,2,40,1,1,1,1,-9,4,92119,9390.0,2140801 +1100105,60,21408,2,32,2,50,1,1,6,1,-9,4,928P,9590.0,2140802 +1100105,60,21409,1,25,1,40,5,1,1,1,-9,4,5415,7380.0,2140901 +1100105,60,21409,2,24,2,40,1,1,1,1,-9,4,5413,7290.0,2140902 +1100105,60,21410,1,31,1,40,1,1,1,1,-9,4,92M2,9570.0,2141001 +1100105,60,21410,2,33,2,20,1,1,1,1,-9,4,611M1,7870.0,2141002 +1100105,60,21411,1,29,1,45,1,1,1,1,-9,4,51913,6672.0,2141101 +1100105,60,21411,2,29,2,40,1,1,1,1,-9,4,6111,7860.0,2141102 +1100105,60,21412,1,25,2,41,1,1,1,1,-9,4,8139Z,9190.0,2141201 +1100105,60,21412,2,29,1,45,1,1,1,1,-9,4,5418,7470.0,2141202 +1100105,60,21413,1,25,2,48,1,1,1,1,-9,4,5416,7390.0,2141301 +1100105,60,21413,2,24,2,70,1,1,1,1,-9,4,5416,7390.0,2141302 +1100105,60,21414,1,22,1,20,4,1,1,1,16,4,6241,8370.0,2141401 +1100105,60,21414,2,21,1,40,1,1,1,1,-9,4,44511,4971.0,2141402 +1100105,60,21415,1,29,2,40,6,1,1,1,-9,4,813M,9170.0,2141501 +1100105,60,21415,2,27,1,40,1,1,9,19,-9,4,923,9480.0,2141502 +1100105,60,21416,1,29,2,40,6,1,1,1,-9,4,813M,9170.0,2141601 +1100105,60,21416,2,27,1,40,1,1,9,19,-9,4,923,9480.0,2141602 +1100105,60,21417,1,28,2,1,1,1,8,13,-9,4,52M1,6870.0,2141701 +1100105,60,21417,2,29,1,55,1,1,8,2,-9,4,5411,7270.0,2141702 +1100105,60,21418,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,2141801 +1100105,60,21418,2,79,1,40,1,1,1,1,-9,4,51111,6470.0,2141802 +1100105,60,21419,1,61,1,-9,-9,6,8,1,-9,4,531M,7071.0,2141901 +1100105,60,21419,2,57,2,20,1,1,8,1,-9,4,4481,5170.0,2141902 +1100105,60,21420,1,35,2,50,1,1,1,1,16,4,5417,7460.0,2142001 +1100105,60,21420,2,26,2,-9,-9,6,1,1,16,4,0,0.0,2142002 +1100105,60,21421,1,32,2,40,1,1,1,23,16,4,712,8570.0,2142101 +1100105,60,21421,2,42,1,30,4,6,6,1,-9,4,8114,8891.0,2142102 +1100105,60,21422,1,32,2,40,1,1,6,1,-9,4,611M1,7870.0,2142201 +1100105,60,21422,2,30,1,-9,-9,6,6,1,16,4,0,0.0,2142202 +1100105,60,21423,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,2142301 +1100105,60,21423,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,2142302 +1100105,60,21424,1,31,2,50,1,1,6,1,-9,4,5411,7270.0,2142401 +1100105,60,21424,2,26,2,2,6,6,1,1,16,4,611M1,7870.0,2142402 +1100105,60,21425,1,30,2,40,1,1,1,1,-9,4,813M,9170.0,2142501 +1100105,60,21425,2,30,1,35,6,6,1,1,-9,4,5411,7270.0,2142502 +1100105,60,21426,1,25,2,40,6,1,1,1,16,4,5411,7270.0,2142601 +1100105,60,21426,2,28,1,40,6,6,1,1,16,4,5411,7270.0,2142602 +1100105,60,21427,1,25,2,35,3,1,1,1,-9,4,6111,7860.0,2142701 +1100105,60,21427,2,23,2,40,4,6,1,1,-9,4,722Z,8680.0,2142702 +1100105,60,21428,1,31,2,40,1,1,8,2,-9,4,52M1,6870.0,2142801 +1100105,60,21428,2,30,2,-9,-9,6,8,2,-9,4,0,0.0,2142802 +1100105,60,21429,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,2142901 +1100105,60,21429,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,2142902 +1100105,60,21430,1,72,1,-9,-9,6,1,1,-9,2,0,0.0,2143001 +1100105,60,21430,2,72,2,-9,-9,6,1,1,-9,4,0,0.0,2143002 +1100105,60,21431,1,23,2,43,1,1,1,1,-9,4,5416,7390.0,2143101 +1100105,60,21431,2,23,2,15,1,1,1,1,-9,4,4481,5170.0,2143102 +1100105,60,21432,1,25,1,50,1,1,1,16,16,4,5417,7460.0,2143201 +1100105,60,21432,2,23,2,40,1,1,1,24,16,4,814,9290.0,2143202 +1100105,60,21433,1,28,1,-9,-9,6,1,1,16,4,923,9480.0,2143301 +1100105,60,21433,2,30,2,60,1,1,6,1,-9,4,531M,7071.0,2143302 +1100105,60,21434,1,28,2,3,6,6,1,1,16,4,611M1,7870.0,2143401 +1100105,60,21434,2,29,1,45,1,1,1,1,16,4,6111,7860.0,2143402 +1100105,60,21435,1,70,2,-9,-9,6,1,1,-9,4,8139Z,9190.0,2143501 +1100105,60,21435,2,76,1,-9,-9,6,1,1,-9,4,0,0.0,2143502 +1100105,60,21436,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,2143601 +1100105,60,21436,2,68,1,-9,-9,6,1,1,-9,4,5413,7290.0,2143602 +1100105,60,21437,1,83,2,-9,-9,6,6,1,-9,4,0,0.0,2143701 +1100105,60,21437,2,58,2,2,3,1,6,1,-9,4,6214,8090.0,2143702 +1100105,60,21438,1,34,1,15,1,1,1,2,-9,4,722Z,8680.0,2143801 +1100105,60,21438,2,58,2,-9,-9,6,1,2,-9,4,0,0.0,2143802 +1100105,60,21439,1,25,2,40,6,1,6,1,16,4,611M1,7870.0,2143901 +1100105,60,21439,2,24,2,-9,-9,6,6,1,16,4,0,0.0,2143902 +1100105,60,21440,1,24,1,-9,-9,6,6,1,16,4,0,0.0,2144001 +1100105,60,21440,2,26,1,6,1,1,6,1,16,4,5415,7380.0,2144002 +1100105,60,21441,1,32,1,20,1,1,6,1,-9,4,722Z,8680.0,2144101 +1100105,60,21441,2,32,2,-9,-9,6,6,1,-9,4,23,770.0,2144102 +1100105,60,21442,1,20,2,-9,-9,6,1,1,15,4,812112,8980.0,2144201 +1100105,60,21442,2,20,2,10,3,1,1,1,15,4,7115,8564.0,2144202 +1100105,60,21443,1,20,1,24,6,1,1,1,15,4,722Z,8680.0,2144301 +1100105,60,21443,2,20,1,-9,-9,6,1,1,15,4,0,0.0,2144302 +1100105,60,21444,1,94,1,-9,-9,6,1,1,-9,2,923,9480.0,2144401 +1100105,60,21444,2,90,2,-9,-9,6,1,1,-9,4,622M,8191.0,2144402 +1100105,60,21445,1,85,2,-9,-9,6,9,16,-9,4,0,0.0,2144501 +1100105,60,21445,2,87,2,-9,-9,6,9,16,-9,4,0,0.0,2144502 +1100105,60,21446,1,58,2,-9,-9,6,1,1,-9,4,813M,9170.0,2144601 +1100105,60,21446,2,26,1,-9,-9,6,9,1,-9,4,0,0.0,2144602 +1100105,60,21447,1,23,2,-9,-9,6,1,1,16,4,0,0.0,2144701 +1100105,60,21447,2,23,2,-9,-9,6,6,1,16,4,0,0.0,2144702 +1100105,60,21448,1,22,2,10,5,6,6,1,16,4,611M1,7870.0,2144801 +1100105,60,21448,2,21,2,-9,-9,6,1,1,16,4,814,9290.0,2144802 +1100105,60,21449,1,25,2,35,4,6,1,1,16,4,6111,7860.0,2144901 +1100105,60,21449,2,23,2,18,5,6,1,1,16,4,6214,8090.0,2144902 +1100105,60,21450,1,23,2,35,3,6,1,1,16,4,928P,9590.0,2145001 +1100105,60,21450,2,22,1,20,5,6,1,1,16,4,52M2,6970.0,2145002 +1100105,60,21451,1,26,2,50,3,6,8,4,16,4,6212,7980.0,2145101 +1100105,60,21451,2,26,2,30,4,6,6,4,16,4,6214,8090.0,2145102 +1100105,60,21452,1,65,1,60,1,1,1,1,-9,4,928P,9590.0,2145201 +1100105,60,21453,1,66,1,20,1,1,1,1,-9,4,5411,7270.0,2145301 +1100105,60,21454,1,52,2,40,1,1,9,1,-9,4,52M2,6970.0,2145401 +1100105,60,21455,1,40,1,55,1,1,6,1,-9,4,92113,9380.0,2145501 +1100105,60,21456,1,45,2,55,1,1,1,1,-9,4,5411,7270.0,2145601 +1100105,60,21457,1,43,1,50,3,1,1,1,-9,4,6211,7970.0,2145701 +1100105,60,21458,1,61,2,40,1,1,1,1,-9,4,5416,7390.0,2145801 +1100105,60,21459,1,57,2,35,1,1,1,1,-9,4,52M2,6970.0,2145901 +1100105,60,21460,1,57,1,45,1,1,1,1,-9,4,5411,7270.0,2146001 +1100105,60,21461,1,40,1,50,1,1,1,1,-9,4,522M,6890.0,2146101 +1100105,60,21462,1,39,2,60,1,1,1,1,-9,4,52M1,6870.0,2146201 +1100105,60,21463,1,43,2,60,1,1,1,1,-9,4,622M,8191.0,2146301 +1100105,60,21464,1,56,1,55,1,1,1,1,-9,4,5416,7390.0,2146401 +1100105,60,21465,1,51,1,65,1,1,1,1,-9,4,622M,8191.0,2146501 +1100105,60,21466,1,63,2,60,1,1,1,10,-9,4,81393,9180.0,2146601 +1100105,60,21467,1,45,1,40,1,1,1,21,-9,4,52M2,6970.0,2146701 +1100105,60,21468,1,31,2,55,1,1,9,1,-9,4,5411,7270.0,2146801 +1100105,60,21469,1,30,2,60,1,1,6,1,-9,4,5411,7270.0,2146901 +1100105,60,21470,1,31,2,58,1,1,1,1,-9,4,5411,7270.0,2147001 +1100105,60,21471,1,27,2,60,1,1,1,1,-9,4,5411,7270.0,2147101 +1100105,60,21472,1,29,1,55,1,1,1,1,-9,4,5411,7270.0,2147201 +1100105,60,21473,1,31,2,60,1,1,1,1,-9,4,5411,7270.0,2147301 +1100105,60,21474,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,2147401 +1100105,60,21475,1,69,1,-9,-9,6,1,1,-9,2,0,0.0,2147501 +1100105,60,21476,1,68,2,-9,-9,6,1,1,-9,4,0,0.0,2147601 +1100105,60,21477,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,2147701 +1100105,60,21478,1,77,2,-9,-9,6,1,1,-9,4,0,0.0,2147801 +1100105,60,21479,1,73,2,50,1,1,1,1,-9,4,92119,9390.0,2147901 +1100105,60,21480,1,42,1,50,1,1,7,1,-9,4,92113,9380.0,2148001 +1100105,60,21481,1,48,2,40,1,1,6,1,-9,4,92119,9390.0,2148101 +1100105,60,21482,1,35,1,50,1,1,1,1,-9,4,52M1,6870.0,2148201 +1100105,60,21483,1,45,2,35,3,1,1,1,-9,4,813M,9170.0,2148301 +1100105,60,21484,1,39,1,43,1,1,1,1,-9,4,481,6070.0,2148401 +1100105,60,21485,1,55,1,40,1,1,1,1,-9,4,5415,7380.0,2148501 +1100105,60,21486,1,39,1,45,1,1,1,3,-9,4,5415,7380.0,2148601 +1100105,60,21487,1,29,1,40,1,1,6,1,-9,4,2211P,570.0,2148701 +1100105,60,21488,1,32,2,80,1,1,1,1,-9,4,611M3,7890.0,2148801 +1100105,60,21489,1,29,1,50,1,1,1,1,-9,4,5411,7270.0,2148901 +1100105,60,21490,1,27,1,50,1,1,1,1,-9,4,5411,7270.0,2149001 +1100105,60,21491,1,30,1,48,1,1,1,1,-9,4,5418,7470.0,2149101 +1100105,60,21492,1,25,2,40,1,1,1,1,-9,4,5416,7390.0,2149201 +1100105,60,21493,1,66,1,-9,-9,6,1,1,-9,4,5412,7280.0,2149301 +1100105,60,21494,1,67,2,32,1,1,1,1,-9,4,5416,7390.0,2149401 +1100105,60,21495,1,72,1,35,4,1,1,11,-9,4,611M1,7870.0,2149501 +1100105,60,21496,1,45,1,40,1,1,9,1,-9,4,5417,7460.0,2149601 +1100105,60,21497,1,46,1,40,1,1,9,1,-9,4,928P,9590.0,2149701 +1100105,60,21498,1,43,2,40,1,1,6,1,-9,4,928P,9590.0,2149801 +1100105,60,21499,1,35,2,60,1,1,6,1,-9,4,488,6290.0,2149901 +1100105,60,21500,1,36,2,40,1,1,1,1,-9,4,813M,9170.0,2150001 +1100105,60,21501,1,42,2,52,1,1,1,1,-9,4,5417,7460.0,2150101 +1100105,60,21502,1,36,1,80,1,1,1,1,-9,4,6111,7860.0,2150201 +1100105,60,21503,1,40,2,45,1,1,1,1,-9,4,813M,9170.0,2150301 +1100105,60,21504,1,40,1,50,1,1,1,1,15,4,813M,9170.0,2150401 +1100105,60,21505,1,46,2,50,1,1,1,1,-9,4,92113,9380.0,2150501 +1100105,60,21506,1,38,2,50,1,1,1,1,-9,4,522M,6890.0,2150601 +1100105,60,21507,1,36,2,50,1,1,1,1,-9,4,52M1,6870.0,2150701 +1100105,60,21508,1,43,2,45,1,1,1,1,-9,4,5417,7460.0,2150801 +1100105,60,21509,1,62,1,50,1,1,1,1,-9,4,5191ZM,6780.0,2150901 +1100105,60,21510,1,40,1,60,1,1,1,1,-9,3,928P,9590.0,2151001 +1100105,60,21511,1,47,1,50,1,1,1,1,-9,4,5415,7380.0,2151101 +1100105,60,21512,1,51,1,40,1,1,1,1,-9,4,923,9480.0,2151201 +1100105,60,21513,1,54,1,40,1,1,1,1,-9,4,6111,7860.0,2151301 +1100105,60,21514,1,39,2,50,3,1,8,2,-9,4,6241,8370.0,2151401 +1100105,60,21515,1,62,1,45,1,1,1,24,-9,2,611M3,7890.0,2151501 +1100105,60,21516,1,36,1,45,1,1,1,11,-9,4,5411,7270.0,2151601 +1100105,60,21517,1,31,1,40,1,1,9,1,-9,4,53M,7190.0,2151701 +1100105,60,21518,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,2151801 +1100105,60,21519,1,27,2,50,1,1,6,1,-9,4,5411,7270.0,2151901 +1100105,60,21520,1,31,2,40,1,1,1,1,16,4,813M,9170.0,2152001 +1100105,60,21521,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,2152101 +1100105,60,21522,1,31,1,50,1,1,1,1,-9,4,923,9480.0,2152201 +1100105,60,21523,1,31,2,40,1,1,1,1,-9,4,5417,7460.0,2152301 +1100105,60,21524,1,31,2,40,1,1,1,1,-9,4,5417,7460.0,2152401 +1100105,60,21525,1,31,2,40,1,1,1,1,-9,4,5413,7290.0,2152501 +1100105,60,21526,1,33,1,55,1,1,1,1,-9,2,92MP,9470.0,2152601 +1100105,60,21527,1,28,1,40,1,1,1,1,-9,4,446Z,5080.0,2152701 +1100105,60,21528,1,32,1,45,1,1,1,1,-9,4,522M,6890.0,2152801 +1100105,60,21529,1,26,2,45,1,1,1,1,-9,4,51111,6470.0,2152901 +1100105,60,21530,1,32,1,50,1,1,1,1,-9,4,9211MP,9370.0,2153001 +1100105,60,21531,1,34,2,40,1,1,1,1,-9,4,928P,9590.0,2153101 +1100105,60,21532,1,31,2,50,3,1,1,1,-9,4,52M1,6870.0,2153201 +1100105,60,21533,1,26,1,50,1,1,1,1,-9,4,5411,7270.0,2153301 +1100105,60,21534,1,31,1,42,1,1,1,1,-9,4,8139Z,9190.0,2153401 +1100105,60,21535,1,31,2,40,1,1,1,1,-9,4,923,9480.0,2153501 +1100105,60,21536,1,25,2,60,1,1,1,1,16,4,5416,7390.0,2153601 +1100105,60,21537,1,26,2,45,1,1,1,1,-9,4,51111,6470.0,2153701 +1100105,60,21538,1,29,2,45,1,1,8,14,-9,4,52M2,6970.0,2153801 +1100105,60,21539,1,34,1,40,1,1,1,3,-9,4,928P,9590.0,2153901 +1100105,60,21540,1,77,2,-9,-9,6,1,1,-9,4,5412,7280.0,2154001 +1100105,60,21541,1,67,1,-9,-9,6,1,1,-9,4,928P,9590.0,2154101 +1100105,60,21542,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,2154201 +1100105,60,21543,1,77,1,-9,-9,6,1,1,-9,2,0,0.0,2154301 +1100105,60,21544,1,65,1,45,4,1,1,1,-9,4,92M2,9570.0,2154401 +1100105,60,21545,1,66,1,20,1,1,1,1,-9,2,92119,9390.0,2154501 +1100105,60,21546,1,66,1,30,3,1,1,1,-9,4,7115,8564.0,2154601 +1100105,60,21547,1,76,1,99,3,1,1,1,-9,2,712,8570.0,2154701 +1100105,60,21548,1,48,1,40,1,1,5,1,-9,4,6111,7860.0,2154801 +1100105,60,21549,1,39,2,40,1,1,6,1,-9,4,5221M,6880.0,2154901 +1100105,60,21550,1,39,2,40,1,1,6,1,-9,4,5221M,6880.0,2155001 +1100105,60,21551,1,41,1,36,1,1,1,1,-9,4,812112,8980.0,2155101 +1100105,60,21552,1,38,1,40,1,1,1,1,-9,4,5413,7290.0,2155201 +1100105,60,21553,1,48,2,40,1,1,1,1,16,4,611M1,7870.0,2155301 +1100105,60,21554,1,56,1,40,1,1,1,1,-9,4,8139Z,9190.0,2155401 +1100105,60,21555,1,47,2,50,1,1,1,1,-9,4,611M1,7870.0,2155501 +1100105,60,21556,1,54,2,40,1,1,1,1,-9,4,5613,7580.0,2155601 +1100105,60,21557,1,52,2,40,4,1,1,1,-9,2,813M,9170.0,2155701 +1100105,60,21558,1,48,2,45,1,1,1,1,-9,4,5417,7460.0,2155801 +1100105,60,21559,1,38,2,40,1,1,1,7,-9,4,813M,9170.0,2155901 +1100105,60,21560,1,40,2,40,1,1,1,21,-9,4,813M,9170.0,2156001 +1100105,60,21561,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,2156101 +1100105,60,21562,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,2156201 +1100105,60,21563,1,23,1,65,1,1,9,1,15,4,5416,7390.0,2156301 +1100105,60,21564,1,31,2,40,1,1,8,1,-9,4,5418,7470.0,2156401 +1100105,60,21565,1,32,1,45,1,1,9,1,-9,4,813M,9170.0,2156501 +1100105,60,21566,1,30,2,60,1,1,9,1,-9,4,9211MP,9370.0,2156601 +1100105,60,21567,1,29,1,50,1,1,6,1,-9,4,9211MP,9370.0,2156701 +1100105,60,21568,1,29,1,60,1,1,6,1,-9,4,52M2,6970.0,2156801 +1100105,60,21569,1,31,1,40,6,1,6,1,-9,4,928P,9590.0,2156901 +1100105,60,21570,1,30,1,42,1,1,6,1,-9,4,813M,9170.0,2157001 +1100105,60,21571,1,25,2,50,4,1,6,1,-9,4,5411,7270.0,2157101 +1100105,60,21572,1,29,1,60,1,1,6,1,-9,4,52M2,6970.0,2157201 +1100105,60,21573,1,26,1,40,1,1,6,1,-9,4,92MP,9470.0,2157301 +1100105,60,21574,1,26,2,4,1,1,1,1,-9,4,5418,7470.0,2157401 +1100105,60,21575,1,28,2,65,1,1,1,1,-9,4,6111,7860.0,2157501 +1100105,60,21576,1,25,2,40,1,1,1,1,-9,4,51913,6672.0,2157601 +1100105,60,21577,1,28,1,55,1,1,1,1,-9,4,813M,9170.0,2157701 +1100105,60,21578,1,27,2,55,1,1,1,1,16,4,813M,9170.0,2157801 +1100105,60,21579,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,2157901 +1100105,60,21580,1,24,2,55,4,1,1,1,16,4,5416,7390.0,2158001 +1100105,60,21581,1,33,2,40,1,1,1,1,-9,4,211,370.0,2158101 +1100105,60,21582,1,27,2,45,1,1,1,1,-9,4,3345,3380.0,2158201 +1100105,60,21583,1,29,2,50,1,1,1,1,-9,4,611M1,7870.0,2158301 +1100105,60,21584,1,29,2,60,1,1,1,1,-9,4,5415,7380.0,2158401 +1100105,60,21585,1,28,2,60,1,1,1,1,-9,4,9211MP,9370.0,2158501 +1100105,60,21586,1,24,2,55,4,1,1,1,16,4,5416,7390.0,2158601 +1100105,60,21587,1,33,1,50,1,1,1,1,-9,4,9211MP,9370.0,2158701 +1100105,60,21588,1,31,2,55,1,1,1,1,-9,4,52M2,6970.0,2158801 +1100105,60,21589,1,27,2,40,1,1,1,1,-9,4,5613,7580.0,2158901 +1100105,60,21590,1,28,1,40,1,1,1,1,-9,4,92M2,9570.0,2159001 +1100105,60,21591,1,33,2,40,1,1,1,1,-9,4,813M,9170.0,2159101 +1100105,60,21592,1,34,1,40,1,1,1,1,-9,4,515,6670.0,2159201 +1100105,60,21593,1,26,1,40,1,1,1,1,-9,4,92MP,9470.0,2159301 +1100105,60,21594,1,31,1,40,1,1,1,1,-9,4,522M,6890.0,2159401 +1100105,60,21595,1,30,2,40,1,1,1,1,-9,4,7211,8660.0,2159501 +1100105,60,21596,1,29,2,40,1,1,1,1,16,4,33641M1,3580.0,2159601 +1100105,60,21597,1,34,2,40,1,1,1,1,-9,4,5615,7670.0,2159701 +1100105,60,21598,1,32,1,45,1,1,1,1,-9,4,712,8570.0,2159801 +1100105,60,21599,1,34,2,38,1,1,1,1,-9,4,611M3,7890.0,2159901 +1100105,60,21600,1,30,2,40,1,1,1,1,-9,4,611M3,7890.0,2160001 +1100105,60,21601,1,27,2,55,1,1,1,1,16,4,813M,9170.0,2160101 +1100105,60,21602,1,34,1,40,1,1,1,1,-9,4,5416,7390.0,2160201 +1100105,60,21603,1,34,2,40,1,1,1,1,-9,4,5411,7270.0,2160301 +1100105,60,21604,1,34,2,60,1,1,1,1,-9,4,928P,9590.0,2160401 +1100105,60,21605,1,27,2,50,1,1,1,1,-9,4,5417,7460.0,2160501 +1100105,60,21606,1,27,2,55,1,1,1,1,-9,4,5416,7390.0,2160601 +1100105,60,21607,1,25,1,55,1,1,1,1,-9,4,5416,7390.0,2160701 +1100105,60,21608,1,28,2,48,2,1,1,1,-9,4,928P,9590.0,2160801 +1100105,60,21609,1,28,2,35,1,1,1,1,-9,4,6216,8170.0,2160901 +1100105,60,21610,1,30,2,45,1,1,1,1,-9,4,814,9290.0,2161001 +1100105,60,21611,1,24,1,55,1,1,1,1,-9,4,5416,7390.0,2161101 +1100105,60,21612,1,30,1,70,1,1,1,1,-9,4,6211,7970.0,2161201 +1100105,60,21613,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,2161301 +1100105,60,21614,1,28,1,49,1,1,1,17,-9,4,5616,7680.0,2161401 +1100105,60,21615,1,29,1,50,1,1,2,5,-9,4,5412,7280.0,2161501 +1100105,60,21616,1,27,2,40,1,1,1,2,-9,4,923,9480.0,2161601 +1100105,60,21617,1,28,2,55,1,1,1,3,-9,4,5413,7290.0,2161701 +1100105,60,21618,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,2161801 +1100105,60,21619,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,2161901 +1100105,60,21620,1,29,1,50,1,1,1,21,-9,4,8139Z,9190.0,2162001 +1100105,60,21621,1,30,2,50,1,1,8,16,-9,4,52M1,6870.0,2162101 +1100105,60,21622,1,73,2,-9,-9,6,9,1,-9,3,923,9480.0,2162201 +1100105,60,21623,1,80,2,-9,-9,6,6,1,-9,4,0,0.0,2162301 +1100105,60,21624,1,85,1,-9,-9,6,2,1,-9,2,0,0.0,2162401 +1100105,60,21625,1,70,2,-9,-9,6,1,1,-9,4,611M3,7890.0,2162501 +1100105,60,21626,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,2162601 +1100105,60,21627,1,69,2,-9,-9,6,1,1,-9,4,92M2,9570.0,2162701 +1100105,60,21628,1,80,2,-9,-9,6,1,1,-9,4,5416,7390.0,2162801 +1100105,60,21629,1,82,2,-9,-9,6,1,1,-9,4,5313,7072.0,2162901 +1100105,60,21630,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,2163001 +1100105,60,21631,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,2163101 +1100105,60,21632,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,2163201 +1100105,60,21633,1,68,1,-9,-9,6,1,1,-9,3,0,0.0,2163301 +1100105,60,21634,1,72,2,-9,-9,6,1,1,-9,4,712,8570.0,2163401 +1100105,60,21635,1,73,1,-9,-9,6,1,1,-9,3,0,0.0,2163501 +1100105,60,21636,1,93,2,-9,-9,6,1,2,-9,4,928P,9590.0,2163601 +1100105,60,21637,1,61,1,-9,-9,6,1,1,-9,4,0,0.0,2163701 +1100105,60,21638,1,62,2,-9,-9,6,2,3,-9,4,0,0.0,2163801 +1100105,60,21639,1,32,2,-9,-9,3,9,1,-9,4,81393,9180.0,2163901 +1100105,60,21640,1,67,1,50,1,1,1,1,-9,4,23,770.0,2164001 +1100105,60,21641,1,61,2,20,1,1,1,1,-9,4,8121M,8990.0,2164101 +1100105,60,21642,1,30,2,35,1,1,9,1,-9,4,722Z,8680.0,2164201 +1100105,60,21643,1,24,2,40,3,2,6,1,16,4,9211MP,9370.0,2164301 +1100105,60,21644,1,27,1,50,1,1,6,1,-9,4,5411,7270.0,2164401 +1100105,60,21645,1,26,1,40,1,1,1,1,-9,4,722Z,8680.0,2164501 +1100105,60,21646,1,26,1,90,1,1,1,1,16,4,5417,7460.0,2164601 +1100105,60,21647,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,2164701 +1100105,60,21648,1,28,2,42,1,1,1,1,-9,4,812112,8980.0,2164801 +1100105,60,21649,1,25,2,55,1,1,1,1,-9,4,813M,9170.0,2164901 +1100105,60,21650,1,26,2,68,1,1,1,1,-9,4,7115,8564.0,2165001 +1100105,60,21651,1,31,1,50,4,1,1,1,-9,4,92113,9380.0,2165101 +1100105,60,21652,1,27,2,45,1,1,8,14,-9,4,622M,8191.0,2165201 +1100105,60,21653,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,2165301 +1100105,60,21654,1,78,2,-9,-9,6,9,1,-9,4,0,0.0,2165401 +1100105,60,21655,1,74,2,-9,-9,6,2,1,-9,4,0,0.0,2165501 +1100105,60,21656,1,81,2,-9,-9,6,1,1,-9,4,0,0.0,2165601 +1100105,60,21657,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,2165701 +1100105,60,21658,1,69,2,-9,-9,6,1,1,-9,4,4539,5580.0,2165801 +1100105,60,21659,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,2165901 +1100105,60,21660,1,75,2,-9,-9,6,1,1,-9,4,0,0.0,2166001 +1100105,60,21661,1,50,2,20,6,3,1,1,-9,4,531M,7071.0,2166101 +1100105,60,21662,1,25,1,37,2,3,1,4,-9,4,5418,7470.0,2166201 +1100105,60,21663,1,71,2,18,1,1,1,1,-9,4,4MS,5790.0,2166301 +1100105,60,21664,1,71,2,18,1,1,1,1,-9,4,4MS,5790.0,2166401 +1100105,60,21665,1,66,2,10,5,1,1,1,-9,4,5416,7390.0,2166501 +1100105,60,21666,1,70,2,20,3,1,1,24,-9,4,531M,7071.0,2166601 +1100105,60,21667,1,62,1,20,3,1,9,1,-9,4,4249Z,4580.0,2166701 +1100105,60,21668,1,59,2,20,6,1,1,1,-9,4,6244,8470.0,2166801 +1100105,60,21669,1,38,2,50,1,1,1,1,-9,4,928P,9590.0,2166901 +1100105,60,21670,1,38,2,50,1,1,1,1,-9,4,928P,9590.0,2167001 +1100105,60,21671,1,37,1,25,1,1,1,2,-9,4,722Z,8680.0,2167101 +1100105,60,21672,1,23,2,40,3,1,9,1,16,4,92M2,9570.0,2167201 +1100105,60,21673,1,28,1,40,6,1,9,1,-9,4,92M2,9570.0,2167301 +1100105,60,21674,1,27,1,30,1,1,9,1,-9,4,712,8570.0,2167401 +1100105,60,21675,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,2167501 +1100105,60,21676,1,26,2,40,6,1,6,1,-9,4,5411,7270.0,2167601 +1100105,60,21677,1,21,2,10,3,1,6,1,15,4,45121,5370.0,2167701 +1100105,60,21678,1,24,1,35,4,1,1,1,-9,4,5417,7460.0,2167801 +1100105,60,21679,1,24,2,20,6,1,1,1,-9,4,611M1,7870.0,2167901 +1100105,60,21680,1,33,1,12,5,1,1,1,16,4,9211MP,9370.0,2168001 +1100105,60,21681,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,2168101 +1100105,60,21682,1,33,2,40,1,1,1,1,15,2,483,6090.0,2168201 +1100105,60,21683,1,29,1,11,3,1,1,1,-9,4,4MS,5790.0,2168301 +1100105,60,21684,1,33,2,40,5,1,1,1,-9,4,813M,9170.0,2168401 +1100105,60,21685,1,25,1,35,1,1,1,1,16,4,813M,9170.0,2168501 +1100105,60,21686,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,2168601 +1100105,60,21687,1,31,1,26,1,1,1,2,-9,4,722Z,8680.0,2168701 +1100105,60,21688,1,28,2,40,5,1,1,23,-9,4,928P,9590.0,2168801 +1100105,60,21689,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,2168901 +1100105,60,21690,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,2169001 +1100105,60,21691,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,2169101 +1100105,60,21692,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,2169201 +1100105,60,21693,1,65,2,-9,-9,6,9,1,-9,4,0,0.0,2169301 +1100105,60,21694,1,65,2,-9,-9,6,9,1,-9,4,0,0.0,2169401 +1100105,60,21695,1,81,2,-9,-9,6,3,1,-9,4,0,0.0,2169501 +1100105,60,21696,1,89,2,-9,-9,6,9,1,-9,4,0,0.0,2169601 +1100105,60,21697,1,70,2,4,6,6,6,1,-9,4,522M,6890.0,2169701 +1100105,60,21698,1,70,2,4,6,6,6,1,-9,4,522M,6890.0,2169801 +1100105,60,21699,1,85,2,-9,-9,6,6,1,-9,4,0,0.0,2169901 +1100105,60,21700,1,80,1,-9,-9,6,2,1,-9,2,0,0.0,2170001 +1100105,60,21701,1,81,2,-9,-9,6,2,1,-9,4,0,0.0,2170101 +1100105,60,21702,1,83,2,-9,-9,6,2,1,-9,4,0,0.0,2170201 +1100105,60,21703,1,77,1,-9,-9,6,2,1,-9,4,0,0.0,2170301 +1100105,60,21704,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,2170401 +1100105,60,21705,1,74,1,-9,-9,6,1,1,-9,4,0,0.0,2170501 +1100105,60,21706,1,85,1,-9,-9,6,1,1,-9,2,0,0.0,2170601 +1100105,60,21707,1,84,1,-9,-9,6,1,1,-9,4,0,0.0,2170701 +1100105,60,21708,1,77,2,-9,-9,6,1,1,-9,4,611M3,7890.0,2170801 +1100105,60,21709,1,67,1,-9,-9,6,1,1,-9,4,0,0.0,2170901 +1100105,60,21710,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,2171001 +1100105,60,21711,1,77,2,-9,-9,3,1,1,-9,4,9211MP,9370.0,2171101 +1100105,60,21712,1,68,1,-9,-9,6,1,1,-9,4,0,0.0,2171201 +1100105,60,21713,1,77,2,-9,-9,6,1,1,-9,4,611M3,7890.0,2171301 +1100105,60,21714,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,2171401 +1100105,60,21715,1,73,2,-9,-9,6,1,1,-9,4,0,0.0,2171501 +1100105,60,21716,1,75,2,-9,-9,6,1,1,-9,4,928P,9590.0,2171601 +1100105,60,21717,1,77,2,-9,-9,6,1,1,-9,4,611M3,7890.0,2171701 +1100105,60,21718,1,74,2,-9,-9,6,1,1,-9,4,0,0.0,2171801 +1100105,60,21719,1,67,2,30,4,6,1,1,-9,4,7115,8564.0,2171901 +1100105,60,21720,1,85,2,-9,-9,6,1,1,-9,4,0,0.0,2172001 +1100105,60,21721,1,69,2,-9,-9,6,1,1,-9,4,0,0.0,2172101 +1100105,60,21722,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,2172201 +1100105,60,21723,1,72,1,-9,-9,6,1,11,-9,4,0,0.0,2172301 +1100105,60,21724,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,2172401 +1100105,60,21725,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2172501 +1100105,60,21726,1,87,2,-9,-9,6,1,5,-9,4,6244,8470.0,2172601 +1100105,60,21727,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2172701 +1100105,60,21728,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2172801 +1100105,60,21729,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2172901 +1100105,60,21730,1,66,1,-9,-9,6,2,2,-9,4,0,0.0,2173001 +1100105,60,21731,1,73,2,-9,-9,6,1,6,-9,4,0,0.0,2173101 +1100105,60,21732,1,84,2,-9,-9,6,2,21,-9,4,0,0.0,2173201 +1100105,60,21733,1,47,1,40,4,6,9,1,-9,4,5411,7270.0,2173301 +1100105,60,21734,1,62,2,-9,-9,6,6,1,-9,4,0,0.0,2173401 +1100105,60,21735,1,63,2,-9,-9,3,2,1,-9,4,713Z,8590.0,2173501 +1100105,60,21736,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,2173601 +1100105,60,21737,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,2173701 +1100105,60,21738,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,2173801 +1100105,60,21739,1,45,1,30,5,6,1,1,-9,4,5411,7270.0,2173901 +1100105,60,21740,1,62,2,-9,-9,6,1,1,-9,4,0,0.0,2174001 +1100105,60,21741,1,60,2,-9,-9,6,1,1,-9,4,0,0.0,2174101 +1100105,60,21742,1,58,1,-9,-9,6,1,1,-9,4,0,0.0,2174201 +1100105,60,21743,1,40,1,-9,-9,6,1,1,-9,4,5411,7270.0,2174301 +1100105,60,21744,1,36,2,45,6,6,1,23,-9,4,8139Z,9190.0,2174401 +1100105,60,21745,1,45,2,-9,-9,6,1,11,-9,4,0,0.0,2174501 +1100105,60,21746,1,24,2,60,6,6,6,1,16,4,531M,7071.0,2174601 +1100105,60,21747,1,25,2,-9,-9,3,6,1,-9,4,999920,9920.0,2174701 +1100105,60,21748,1,22,2,45,3,6,6,1,16,4,23,770.0,2174801 +1100105,60,21749,1,27,2,-9,-9,6,6,1,16,4,622M,8191.0,2174901 +1100105,60,21750,1,25,2,-9,-9,6,1,1,-9,4,5613,7580.0,2175001 +1100105,60,21751,1,27,1,-9,-9,6,1,1,-9,4,611M1,7870.0,2175101 +1100105,60,21752,1,34,2,-9,-9,6,1,1,16,4,0,0.0,2175201 +1100105,60,21753,1,23,2,40,6,3,1,1,-9,4,813M,9170.0,2175301 +1100105,60,21754,1,32,1,-9,-9,6,1,1,16,4,5411,7270.0,2175401 +1100105,60,21755,1,27,1,30,4,6,1,1,16,4,52M2,6970.0,2175501 +1100105,60,21756,1,24,2,-9,-9,6,1,1,15,4,0,0.0,2175601 +1100105,60,21757,1,24,2,-9,-9,6,1,1,15,4,0,0.0,2175701 +1100105,60,21758,1,24,2,20,6,6,1,1,16,4,5411,7270.0,2175801 +1100105,60,21759,1,23,1,30,4,6,1,1,16,4,9211MP,9370.0,2175901 +1100105,60,21760,1,28,2,-9,-9,6,1,1,16,4,611M1,7870.0,2176001 +1100105,60,21761,1,26,2,-9,-9,6,9,16,-9,4,5411,7270.0,2176101 +1100105,60,21762,1,25,1,35,6,6,1,10,-9,4,611M1,7870.0,2176201 +1100105,60,21763,1,24,2,8,6,6,1,16,16,4,5411,7270.0,2176301 +1100105,60,21764,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,2176401 +1100105,60,21765,1,25,1,35,6,6,1,10,-9,4,611M1,7870.0,2176501 +1100105,60,21766,1,23,1,-9,-9,6,1,21,16,4,722Z,8680.0,2176601 +1100105,60,21767,1,28,2,8,6,3,8,19,-9,4,814,9290.0,2176701 +1100105,32,97244,1,28,1,65,1,1,1,1,-9,4,522M,6890.0,9724401 +1100105,32,97244,2,27,2,40,1,1,1,1,-9,4,5413,7290.0,9724402 +1100105,16,2704397,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270439701 +1100105,16,2704398,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270439801 +1100105,16,2704399,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270439901 +1100105,16,2704400,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270440001 +1100105,16,2704401,1,47,1,-9,-9,6,2,1,-9,4,,,270440101 +1100105,16,2704402,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,270440201 +1100105,16,2704403,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270440301 +1100105,16,2704404,1,49,2,-9,-9,6,2,1,-9,4,,,270440401 +1100105,16,2704405,1,77,1,-9,-9,6,1,1,-9,4,,,270440501 +1100105,16,2704406,1,47,1,-9,-9,6,2,1,-9,4,,,270440601 +1100105,16,2704407,1,49,1,40,1,1,2,1,-9,4,622M,8191.0,270440701 +1100105,18,2704408,1,69,1,-9,-9,6,1,1,-9,4,,,270440801 +1100105,18,2704409,1,58,2,-9,-9,6,2,1,-9,4,,,270440901 +1100105,18,2704410,1,43,1,-9,-9,6,2,1,-9,4,,,270441001 +1100105,18,2704411,1,56,2,-9,-9,6,1,1,-9,4,,,270441101 +1100105,18,2704412,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,270441201 +1100105,18,2704413,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270441301 +1100105,18,2704414,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270441401 +1100105,18,2704415,1,37,1,40,6,6,2,1,-9,4,4244,4470.0,270441501 +1100105,18,2704416,1,49,2,-9,-9,6,2,1,-9,4,,,270441601 +1100105,18,2704417,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270441701 +1100105,18,2704418,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270441801 +1100105,18,2704419,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270441901 +1100105,18,2704420,1,74,1,-9,-9,6,2,1,-9,4,,,270442001 +1100105,18,2704421,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270442101 +1100105,18,2704422,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,270442201 +1100105,18,2704423,1,49,2,-9,-9,6,2,1,-9,4,,,270442301 +1100105,18,2704424,1,49,1,40,1,1,2,1,-9,4,622M,8191.0,270442401 +1100105,18,2704425,1,49,1,40,1,1,2,1,-9,4,622M,8191.0,270442501 +1100105,18,2704426,1,59,1,-9,-9,6,2,1,-9,4,,,270442601 +1100105,18,2704427,1,50,1,40,1,1,6,1,-9,4,8131,9160.0,270442701 +1100105,18,2704428,1,61,2,60,5,3,6,1,-9,4,5419Z,7490.0,270442801 +1100105,18,2704429,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270442901 +1100105,18,2704430,1,27,2,56,1,2,2,1,-9,4,6216,8170.0,270443001 +1100105,18,2704431,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270443101 +1100105,18,2704432,1,45,2,40,1,1,2,1,-9,4,44511,4971.0,270443201 +1100105,18,2704433,1,52,1,-9,-9,6,2,1,-9,4,,,270443301 +1100105,18,2704434,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,270443401 +1100105,18,2704435,1,60,1,-9,-9,6,2,1,-9,4,,,270443501 +1100105,18,2704436,1,40,1,-9,-9,6,2,1,-9,4,621M,8180.0,270443601 +1100105,18,2704437,1,36,1,40,6,1,1,2,-9,4,722Z,8680.0,270443701 +1100105,18,2704438,1,60,1,-9,-9,6,2,1,-9,4,,,270443801 +1100105,18,2704439,1,32,2,-9,-9,6,1,16,-9,4,722Z,8680.0,270443901 +1100105,18,2704440,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270444001 +1100105,18,2704441,1,58,2,-9,-9,6,2,1,-9,4,,,270444101 +1100105,18,2704442,1,49,1,40,1,1,2,1,-9,4,622M,8191.0,270444201 +1100105,18,2704443,1,50,2,20,6,3,2,1,-9,2,44511,4971.0,270444301 +1100105,18,2704444,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,270444401 +1100105,18,2704445,1,52,1,-9,-9,6,2,1,-9,4,,,270444501 +1100105,18,2704446,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270444601 +1100105,18,2704447,1,49,2,-9,-9,6,2,1,-9,4,,,270444701 +1100105,18,2704448,1,66,1,50,1,1,1,1,-9,4,8131,9160.0,270444801 +1100105,18,2704449,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270444901 +1100105,18,2704450,1,53,1,35,6,3,1,1,-9,4,813M,9170.0,270445001 +1100105,18,2704451,1,50,1,-9,-9,6,2,1,-9,4,,,270445101 +1100105,18,2704452,1,44,2,28,1,6,2,1,-9,4,4523,5391.0,270445201 +1100105,18,2704453,1,74,1,-9,-9,6,2,1,-9,4,,,270445301 +1100105,18,2704454,1,45,1,30,5,6,2,1,-9,3,23,770.0,270445401 +1100105,18,2704455,1,62,1,-9,-9,6,2,3,-9,4,,,270445501 +1100105,18,2704456,1,55,1,-9,-9,6,2,1,-9,4,,,270445601 +1100105,18,2704457,1,57,1,40,3,6,2,1,-9,2,5616,7680.0,270445701 +1100105,18,2704458,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270445801 +1100105,18,2704459,1,83,2,-9,-9,6,2,1,-9,3,,,270445901 +1100105,18,2704460,1,59,2,40,5,6,2,1,-9,4,7211,8660.0,270446001 +1100105,18,2704461,1,67,1,-9,-9,6,1,1,-9,2,,,270446101 +1100105,18,2704462,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270446201 +1100105,18,2704463,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270446301 +1100105,18,2704464,1,25,2,-9,-9,6,2,1,-9,4,,,270446401 +1100105,18,2704465,1,57,2,-9,-9,3,2,1,-9,4,5616,7680.0,270446501 +1100105,18,2704466,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270446601 +1100105,18,2704467,1,60,2,-9,-9,3,2,1,-9,4,7211,8660.0,270446701 +1100105,18,2704468,1,49,2,-9,-9,6,2,1,-9,4,,,270446801 +1100105,18,2704469,1,47,1,-9,-9,6,2,1,-9,4,,,270446901 +1100105,18,2704470,1,67,1,-9,-9,6,1,1,-9,2,,,270447001 +1100105,18,2704471,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,270447101 +1100105,18,2704472,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270447201 +1100105,18,2704473,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270447301 +1100105,18,2704474,1,59,2,40,5,6,2,1,-9,4,7211,8660.0,270447401 +1100105,18,2704475,1,47,1,-9,-9,6,2,1,-9,4,,,270447501 +1100105,18,2704476,1,56,2,-9,-9,6,1,1,-9,4,,,270447601 +1100105,18,2704477,1,74,1,-9,-9,6,2,1,-9,4,,,270447701 +1100105,18,2704478,1,50,1,-9,-9,6,2,1,-9,4,,,270447801 +1100105,18,2704479,1,52,1,-9,-9,6,2,1,-9,4,,,270447901 +1100105,18,2704480,1,62,1,-9,-9,6,2,3,-9,4,,,270448001 +1100105,18,2704481,1,55,1,-9,-9,6,2,1,-9,4,,,270448101 +1100105,18,2704482,1,57,2,-9,-9,6,2,1,-9,4,,,270448201 +1100105,18,2704483,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270448301 +1100105,18,2704484,1,56,2,-9,-9,6,2,1,-9,2,,,270448401 +1100105,18,2704485,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270448501 +1100105,18,2704486,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270448601 +1100105,18,2704487,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270448701 +1100105,18,2704488,1,57,1,-9,-9,6,2,1,-9,4,,,270448801 +1100105,18,2704489,1,62,1,-9,-9,6,2,3,-9,4,,,270448901 +1100105,18,2704490,1,56,2,-9,-9,6,1,1,-9,4,,,270449001 +1100105,18,2704491,1,86,1,-9,-9,6,1,1,-9,4,,,270449101 +1100105,18,2704492,1,24,2,6,6,2,2,1,-9,4,492,6380.0,270449201 +1100105,18,2704493,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270449301 +1100105,18,2704494,1,73,2,-9,-9,6,2,1,-9,4,,,270449401 +1100105,18,2704495,1,62,2,-9,-9,6,2,1,-9,4,,,270449501 +1100105,18,2704496,1,43,1,-9,-9,6,2,1,-9,4,,,270449601 +1100105,18,2704497,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270449701 +1100105,18,2704498,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,270449801 +1100105,18,2704499,1,59,1,40,3,6,2,1,-9,4,5616,7680.0,270449901 +1100105,18,2704500,1,28,2,-9,-9,6,1,1,-9,4,5413,7290.0,270450001 +1100105,18,2704501,1,62,2,-9,-9,6,2,1,-9,4,,,270450101 +1100105,18,2704502,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270450201 +1100105,18,2704503,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270450301 +1100105,18,2704504,1,73,2,-9,-9,6,2,1,-9,4,,,270450401 +1100105,18,2704505,1,60,1,-9,-9,6,2,1,-9,4,,,270450501 +1100105,18,2704506,1,64,1,-9,-9,6,2,1,-9,4,,,270450601 +1100105,18,2704507,1,57,2,-9,-9,6,2,1,-9,4,,,270450701 +1100105,18,2704508,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270450801 +1100105,18,2704509,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270450901 +1100105,18,2704510,1,49,1,40,1,1,2,1,-9,4,622M,8191.0,270451001 +1100105,18,2704511,1,65,1,-9,-9,6,2,1,-9,4,,,270451101 +1100105,18,2704512,1,45,1,-9,-9,6,2,1,-9,4,,,270451201 +1100105,18,2704513,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,270451301 +1100105,18,2704514,1,49,2,-9,-9,6,2,1,-9,4,,,270451401 +1100105,18,2704515,1,67,1,-9,-9,6,1,1,-9,2,,,270451501 +1100105,18,2704516,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270451601 +1100105,18,2704517,1,45,1,-9,-9,6,2,1,-9,4,,,270451701 +1100105,18,2704518,1,60,1,-9,-9,6,2,1,-9,4,,,270451801 +1100105,18,2704519,1,63,1,-9,-9,6,2,1,-9,4,,,270451901 +1100105,18,2704520,1,45,1,-9,-9,6,2,1,-9,4,23,770.0,270452001 +1100105,18,2704521,1,62,2,-9,-9,6,2,1,-9,4,,,270452101 +1100105,18,2704522,1,62,2,-9,-9,6,2,1,-9,4,,,270452201 +1100105,18,2704523,1,56,2,-9,-9,3,2,1,-9,4,999920,9920.0,270452301 +1100105,18,2704524,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,270452401 +1100105,18,2704525,1,59,1,-9,-9,6,2,1,-9,4,,,270452501 +1100105,18,2704526,1,45,1,-9,-9,6,2,1,-9,4,,,270452601 +1100105,18,2704527,1,50,2,20,6,3,2,1,-9,2,44511,4971.0,270452701 +1100105,18,2704528,1,82,2,40,1,1,6,1,-9,4,8131,9160.0,270452801 +1100105,18,2704529,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270452901 +1100105,18,2704530,1,67,1,-9,-9,6,1,1,-9,2,,,270453001 +1100105,18,2704531,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270453101 +1100105,18,2704532,1,45,1,-9,-9,6,2,1,-9,4,,,270453201 +1100105,18,2704533,1,56,2,-9,-9,6,1,1,-9,4,,,270453301 +1100105,18,2704534,1,49,2,-9,-9,6,2,1,-9,4,,,270453401 +1100105,18,2704535,1,37,1,40,6,6,2,1,-9,4,4244,4470.0,270453501 +1100105,18,2704536,1,59,1,-9,-9,6,2,1,-9,4,,,270453601 +1100105,18,2704537,1,67,1,-9,-9,6,1,1,-9,2,,,270453701 +1100105,18,2704538,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,270453801 +1100105,18,2704539,1,45,1,30,5,6,2,1,-9,3,23,770.0,270453901 +1100105,18,2704540,1,45,1,-9,-9,6,2,1,-9,4,23,770.0,270454001 +1100105,18,2704541,1,59,1,40,3,6,2,1,-9,4,5616,7680.0,270454101 +1100105,18,2704542,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270454201 +1100105,18,2704543,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270454301 +1100105,18,2704544,1,70,2,-9,-9,6,2,1,-9,4,,,270454401 +1100105,18,2704545,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270454501 +1100105,18,2704546,1,50,1,-9,-9,6,2,1,-9,4,,,270454601 +1100105,20,2704547,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270454701 +1100105,20,2704548,1,54,2,40,3,1,2,1,-9,4,611M1,7870.0,270454801 +1100105,20,2704549,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,270454901 +1100105,20,2704550,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270455001 +1100105,21,2704551,1,83,2,-9,-9,6,2,1,-9,3,,,270455101 +1100105,21,2704552,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270455201 +1100105,21,2704553,1,59,1,-9,-9,6,2,1,-9,4,,,270455301 +1100105,21,2704554,1,56,2,-9,-9,6,2,1,-9,2,,,270455401 +1100105,21,2704555,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270455501 +1100105,21,2704556,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270455601 +1100105,21,2704557,1,62,2,-9,-9,6,2,1,-9,4,,,270455701 +1100105,21,2704558,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270455801 +1100105,21,2704559,1,54,1,-9,-9,6,2,1,-9,4,,,270455901 +1100105,23,2704560,1,70,2,-9,-9,6,2,1,-9,4,,,270456001 +1100105,23,2704561,1,67,1,-9,-9,6,1,1,-9,2,,,270456101 +1100105,23,2704562,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270456201 +1100105,23,2704563,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,270456301 +1100105,24,2704564,1,63,1,-9,-9,6,2,1,-9,4,,,270456401 +1100105,24,2704565,1,62,2,-9,-9,6,2,1,-9,4,,,270456501 +1100105,24,2704566,1,73,2,-9,-9,6,2,1,-9,4,,,270456601 +1100105,24,2704567,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270456701 +1100105,24,2704568,1,51,1,-9,-9,6,2,1,-9,4,,,270456801 +1100105,24,2704569,1,45,1,-9,-9,6,2,1,-9,4,23,770.0,270456901 +1100105,24,2704570,1,49,2,-9,-9,6,2,1,-9,4,,,270457001 +1100105,26,2704571,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270457101 +1100105,26,2704572,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,270457201 +1100105,26,2704573,1,49,2,-9,-9,6,2,1,-9,4,,,270457301 +1100105,26,2704574,1,43,1,-9,-9,6,2,1,-9,4,,,270457401 +1100105,26,2704575,1,36,1,-9,-9,3,2,1,-9,4,722Z,8680.0,270457501 +1100105,26,2704576,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270457601 +1100105,26,2704577,1,59,2,15,5,3,2,1,-9,4,5613,7580.0,270457701 +1100105,26,2704578,1,47,1,-9,-9,6,2,1,-9,4,,,270457801 +1100105,26,2704579,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270457901 +1100105,27,2704580,1,66,1,50,1,1,1,1,-9,4,8131,9160.0,270458001 +1100105,28,2704581,1,49,2,-9,-9,6,2,1,-9,4,,,270458101 +1100105,28,2704582,1,49,2,-9,-9,6,2,1,-9,4,,,270458201 +1100105,28,2704583,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270458301 +1100105,28,2704584,1,64,1,-9,-9,6,2,1,-9,4,,,270458401 +1100105,28,2704585,1,56,2,-9,-9,6,2,1,-9,2,,,270458501 +1100105,28,2704586,1,50,2,20,6,3,2,1,-9,2,44511,4971.0,270458601 +1100105,28,2704587,1,56,1,-9,-9,6,2,1,-9,4,,,270458701 +1100105,28,2704588,1,45,1,-9,-9,6,2,1,-9,4,,,270458801 +1100105,28,2704589,1,50,1,-9,-9,6,2,1,-9,4,,,270458901 +1100105,28,2704590,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270459001 +1100105,28,2704591,1,63,1,-9,-9,6,2,1,-9,4,,,270459101 +1100105,28,2704592,1,61,2,60,5,3,6,1,-9,4,5419Z,7490.0,270459201 +1100105,28,2704593,1,54,1,-9,-9,6,2,1,-9,4,,,270459301 +1100105,28,2704594,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270459401 +1100105,28,2704595,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270459501 +1100105,28,2704596,1,59,1,-9,-9,6,2,1,-9,4,,,270459601 +1100105,28,2704597,1,54,1,-9,-9,6,2,1,-9,4,,,270459701 +1100105,28,2704598,1,47,1,-9,-9,6,2,1,-9,4,,,270459801 +1100105,28,2704599,1,52,1,-9,-9,6,2,1,-9,4,,,270459901 +1100105,28,2704600,1,62,2,-9,-9,6,2,1,-9,4,,,270460001 +1100105,28,2704601,1,58,2,-9,-9,6,2,1,-9,4,,,270460101 +1100105,28,2704602,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270460201 +1100105,28,2704603,1,43,1,-9,-9,6,2,1,-9,4,,,270460301 +1100105,28,2704604,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270460401 +1100105,28,2704605,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270460501 +1100105,28,2704606,1,60,1,-9,-9,6,2,1,-9,4,,,270460601 +1100105,28,2704607,1,83,2,-9,-9,6,2,1,-9,3,,,270460701 +1100105,28,2704608,1,62,2,-9,-9,6,2,1,-9,4,,,270460801 +1100105,28,2704609,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270460901 +1100105,28,2704610,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270461001 +1100105,28,2704611,1,62,1,-9,-9,6,2,3,-9,4,,,270461101 +1100105,28,2704612,1,67,1,-9,-9,6,1,1,-9,2,,,270461201 +1100105,28,2704613,1,54,1,-9,-9,6,2,1,-9,4,,,270461301 +1100105,28,2704614,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270461401 +1100105,28,2704615,1,67,1,-9,-9,6,1,1,-9,2,,,270461501 +1100105,28,2704616,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270461601 +1100105,28,2704617,1,52,1,-9,-9,6,2,1,-9,4,,,270461701 +1100105,28,2704618,1,50,1,-9,-9,6,2,1,-9,4,,,270461801 +1100105,28,2704619,1,45,1,-9,-9,6,2,1,-9,4,,,270461901 +1100105,28,2704620,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270462001 +1100105,28,2704621,1,59,2,40,5,6,2,1,-9,4,7211,8660.0,270462101 +1100105,28,2704622,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270462201 +1100105,28,2704623,1,67,1,-9,-9,6,1,1,-9,2,,,270462301 +1100105,28,2704624,1,63,1,-9,-9,6,2,1,-9,4,,,270462401 +1100105,28,2704625,1,55,1,-9,-9,6,2,1,-9,4,,,270462501 +1100105,28,2704626,1,56,2,-9,-9,6,1,1,-9,4,,,270462601 +1100105,28,2704627,1,60,1,-9,-9,6,2,1,-9,4,,,270462701 +1100105,28,2704628,1,43,1,-9,-9,6,2,1,-9,4,,,270462801 +1100105,28,2704629,1,50,1,-9,-9,6,2,1,-9,4,,,270462901 +1100105,28,2704630,1,62,1,-9,-9,6,2,3,-9,4,,,270463001 +1100105,28,2704631,1,62,2,-9,-9,6,2,1,-9,4,,,270463101 +1100105,28,2704632,1,69,1,-9,-9,6,1,1,-9,4,,,270463201 +1100105,28,2704633,1,47,1,-9,-9,6,2,1,-9,4,,,270463301 +1100105,29,2704634,1,56,2,-9,-9,6,1,1,-9,4,,,270463401 +1100105,29,2704635,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270463501 +1100105,29,2704636,1,40,1,-9,-9,6,2,1,-9,4,621M,8180.0,270463601 +1100105,29,2704637,1,82,2,40,1,1,6,1,-9,4,8131,9160.0,270463701 +1100105,29,2704638,1,66,1,50,1,1,1,1,-9,4,8131,9160.0,270463801 +1100105,29,2704639,1,60,1,-9,-9,6,2,1,-9,4,,,270463901 +1100105,29,2704640,1,47,1,-9,-9,6,2,1,-9,4,,,270464001 +1100105,29,2704641,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270464101 +1100105,29,2704642,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270464201 +1100105,29,2704643,1,67,2,-9,-9,6,2,1,-9,4,,,270464301 +1100105,29,2704644,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270464401 +1100105,29,2704645,1,62,2,-9,-9,6,2,1,-9,4,,,270464501 +1100105,29,2704646,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270464601 +1100105,29,2704647,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270464701 +1100105,29,2704648,1,61,2,60,5,3,6,1,-9,4,5419Z,7490.0,270464801 +1100105,29,2704649,1,62,1,-9,-9,6,2,3,-9,4,,,270464901 +1100105,29,2704650,1,62,2,-9,-9,6,2,1,-9,4,,,270465001 +1100105,29,2704651,1,62,2,-9,-9,6,2,1,-9,4,,,270465101 +1100105,29,2704652,1,59,2,15,5,3,2,1,-9,4,5613,7580.0,270465201 +1100105,29,2704653,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270465301 +1100105,29,2704654,1,52,1,-9,-9,6,2,1,-9,4,,,270465401 +1100105,29,2704655,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270465501 +1100105,29,2704656,1,59,2,15,5,3,2,1,-9,4,5613,7580.0,270465601 +1100105,29,2704657,1,51,1,-9,-9,6,2,1,-9,4,,,270465701 +1100105,29,2704658,1,27,2,56,1,2,2,1,-9,4,6216,8170.0,270465801 +1100105,29,2704659,1,52,1,-9,-9,6,2,1,-9,4,,,270465901 +1100105,29,2704660,1,65,1,-9,-9,6,2,1,-9,4,,,270466001 +1100105,29,2704661,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270466101 +1100105,29,2704662,1,59,2,40,5,6,2,1,-9,4,7211,8660.0,270466201 +1100105,29,2704663,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270466301 +1100105,29,2704664,1,20,2,-9,-9,3,2,1,13,4,999920,9920.0,270466401 +1100105,29,2704665,1,63,1,-9,-9,6,2,1,-9,4,,,270466501 +1100105,29,2704666,1,62,2,-9,-9,6,2,1,-9,4,,,270466601 +1100105,29,2704667,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270466701 +1100105,29,2704668,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270466801 +1100105,29,2704669,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270466901 +1100105,29,2704670,1,59,1,-9,-9,6,2,1,-9,4,,,270467001 +1100105,29,2704671,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270467101 +1100105,29,2704672,1,37,1,40,6,6,2,1,-9,4,4244,4470.0,270467201 +1100105,29,2704673,1,83,2,-9,-9,6,2,1,-9,3,,,270467301 +1100105,33,2704674,1,49,2,-9,-9,6,2,1,-9,4,,,270467401 +1100105,33,2704675,1,54,1,-9,-9,6,2,1,-9,4,,,270467501 +1100105,33,2704676,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,270467601 +1100105,33,2704677,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270467701 +1100105,33,2704678,1,47,1,-9,-9,6,2,1,-9,4,,,270467801 +1100105,33,2704679,1,62,1,-9,-9,6,2,3,-9,4,,,270467901 +1100105,33,2704680,1,38,2,-9,-9,3,2,1,-9,4,5416,7390.0,270468001 +1100105,33,2704681,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,270468101 +1100105,33,2704682,1,50,1,-9,-9,6,2,1,-9,4,,,270468201 +1100105,33,2704683,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270468301 +1100105,33,2704684,1,57,1,-9,-9,6,2,1,-9,4,,,270468401 +1100105,33,2704685,1,55,1,-9,-9,6,2,1,-9,4,,,270468501 +1100105,33,2704686,1,43,1,-9,-9,6,2,1,-9,4,,,270468601 +1100105,33,2704687,1,63,1,-9,-9,6,2,1,-9,4,,,270468701 +1100105,33,2704688,1,52,1,-9,-9,6,2,1,-9,4,,,270468801 +1100105,33,2704689,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270468901 +1100105,36,2704690,1,47,1,-9,-9,6,2,1,-9,4,,,270469001 +1100105,36,2704691,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270469101 +1100105,36,2704692,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,270469201 +1100105,36,2704693,1,54,2,40,3,1,2,1,-9,4,611M1,7870.0,270469301 +1100105,36,2704694,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,270469401 +1100105,36,2704695,1,47,1,-9,-9,6,2,1,-9,4,,,270469501 +1100105,36,2704696,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270469601 +1100105,36,2704697,1,59,1,-9,-9,6,2,1,-9,4,,,270469701 +1100105,36,2704698,1,51,1,-9,-9,6,2,1,-9,4,,,270469801 +1100105,36,2704699,1,43,1,-9,-9,6,2,1,-9,4,,,270469901 +1100105,36,2704700,1,62,1,-9,-9,6,2,3,-9,4,,,270470001 +1100105,36,2704701,1,43,1,-9,-9,6,2,1,-9,4,,,270470101 +1100105,36,2704702,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,270470201 +1100105,36,2704703,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270470301 +1100105,36,2704704,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270470401 +1100105,36,2704705,1,49,2,-9,-9,6,2,1,-9,4,,,270470501 +1100105,36,2704706,1,64,1,-9,-9,6,2,1,-9,4,,,270470601 +1100105,36,2704707,1,59,1,40,3,6,2,1,-9,4,5616,7680.0,270470701 +1100105,36,2704708,1,50,1,40,1,1,6,1,-9,4,8131,9160.0,270470801 +1100105,36,2704709,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270470901 +1100105,36,2704710,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270471001 +1100105,36,2704711,1,62,1,-9,-9,6,2,3,-9,4,,,270471101 +1100105,36,2704712,1,57,2,-9,-9,6,2,1,-9,4,,,270471201 +1100105,36,2704713,1,45,1,-9,-9,6,2,1,-9,4,,,270471301 +1100105,36,2704714,1,51,1,-9,-9,6,2,1,-9,4,,,270471401 +1100105,36,2704715,1,45,1,-9,-9,6,2,1,-9,4,,,270471501 +1100105,36,2704716,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270471601 +1100105,36,2704717,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270471701 +1100105,36,2704718,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270471801 +1100105,36,2704719,1,50,2,20,6,3,2,1,-9,2,44511,4971.0,270471901 +1100105,36,2704720,1,59,2,15,5,3,2,1,-9,4,5613,7580.0,270472001 +1100105,36,2704721,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270472101 +1100105,36,2704722,1,45,1,-9,-9,6,2,1,-9,4,,,270472201 +1100105,36,2704723,1,64,2,-9,-9,6,9,1,-9,4,44511,4971.0,270472301 +1100105,36,2704724,1,50,1,-9,-9,6,2,1,-9,4,,,270472401 +1100105,36,2704725,1,57,2,-9,-9,3,2,1,-9,4,5616,7680.0,270472501 +1100105,36,2704726,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270472601 +1100105,36,2704727,1,60,1,-9,-9,6,2,1,-9,4,,,270472701 +1100105,36,2704728,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270472801 +1100105,36,2704729,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270472901 +1100105,36,2704730,1,47,1,-9,-9,6,2,1,-9,4,,,270473001 +1100105,36,2704731,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270473101 +1100105,36,2704732,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270473201 +1100105,36,2704733,1,45,1,-9,-9,6,2,1,-9,4,,,270473301 +1100105,36,2704734,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270473401 +1100105,36,2704735,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,270473501 +1100105,36,2704736,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270473601 +1100105,36,2704737,1,36,1,40,6,1,1,2,-9,4,722Z,8680.0,270473701 +1100105,36,2704738,1,65,1,-9,-9,6,2,1,-9,4,,,270473801 +1100105,36,2704739,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,270473901 +1100105,36,2704740,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270474001 +1100105,36,2704741,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270474101 +1100105,36,2704742,1,25,2,-9,-9,6,2,1,-9,4,,,270474201 +1100105,36,2704743,1,36,1,-9,-9,3,2,1,-9,4,722Z,8680.0,270474301 +1100105,36,2704744,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,270474401 +1100105,36,2704745,1,62,2,-9,-9,6,2,1,-9,4,,,270474501 +1100105,36,2704746,1,54,1,-9,-9,6,2,1,-9,4,,,270474601 +1100105,36,2704747,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270474701 +1100105,36,2704748,1,69,1,-9,-9,6,1,1,-9,4,,,270474801 +1100105,36,2704749,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270474901 +1100105,36,2704750,1,47,1,-9,-9,6,2,1,-9,4,,,270475001 +1100105,36,2704751,1,56,2,-9,-9,6,1,1,-9,4,,,270475101 +1100105,36,2704752,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,270475201 +1100105,36,2704753,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,270475301 +1100105,36,2704754,1,54,2,-9,-9,3,2,1,-9,4,813M,9170.0,270475401 +1100105,36,2704755,1,62,2,-9,-9,6,2,1,-9,4,,,270475501 +1100105,36,2704756,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,270475601 +1100105,36,2704757,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,270475701 +1100105,36,2704758,1,52,1,-9,-9,6,2,1,-9,4,,,270475801 +1100105,36,2704759,1,62,2,-9,-9,6,2,1,-9,4,,,270475901 +1100105,36,2704760,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,270476001 +1100105,36,2704761,1,59,2,15,5,3,2,1,-9,4,5613,7580.0,270476101 +1100105,36,2704762,1,64,1,-9,-9,6,2,1,-9,4,,,270476201 +1100105,36,2704763,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270476301 +1100105,36,2704764,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270476401 +1100105,36,2704765,1,45,1,-9,-9,6,2,1,-9,4,,,270476501 +1100105,36,2704766,1,62,1,-9,-9,6,2,3,-9,4,,,270476601 +1100105,36,2704767,1,74,1,-9,-9,6,2,1,-9,4,,,270476701 +1100105,42,2704768,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270476801 +1100105,42,2704769,1,58,2,-9,-9,6,2,1,-9,4,,,270476901 +1100105,42,2704770,1,50,1,-9,-9,6,2,1,-9,4,,,270477001 +1100105,42,2704771,1,59,1,40,3,6,2,1,-9,4,5616,7680.0,270477101 +1100105,42,2704772,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,270477201 +1100105,42,2704773,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270477301 +1100105,42,2704774,1,56,2,-9,-9,6,1,1,-9,4,,,270477401 +1100105,42,2704775,1,52,1,60,1,1,1,1,-9,4,8131,9160.0,270477501 +1100105,42,2704776,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,270477601 +1100105,42,2704777,1,57,1,40,3,6,2,1,-9,2,5616,7680.0,270477701 +1100105,42,2704778,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270477801 +1100105,42,2704779,1,69,1,-9,-9,6,1,1,-9,4,,,270477901 +1100105,42,2704780,1,60,1,-9,-9,6,2,1,-9,4,,,270478001 +1100105,42,2704781,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,270478101 +1100105,42,2704782,1,49,2,-9,-9,6,2,1,-9,4,,,270478201 +1100105,43,2704783,1,45,1,-9,-9,6,2,1,-9,4,23,770.0,270478301 +1100105,43,2704784,1,47,1,-9,-9,6,2,1,-9,4,,,270478401 +1100105,43,2704785,1,40,1,-9,-9,6,2,1,-9,4,621M,8180.0,270478501 +1100105,43,2704786,1,74,1,-9,-9,6,2,1,-9,4,,,270478601 +1100105,43,2704787,1,54,2,-9,-9,3,2,1,-9,4,813M,9170.0,270478701 +1100105,43,2704788,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270478801 +1100105,43,2704789,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270478901 +1100105,43,2704790,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,270479001 +1100105,43,2704791,1,69,1,-9,-9,6,1,1,-9,4,,,270479101 +1100105,43,2704792,1,60,1,-9,-9,6,2,1,-9,4,,,270479201 +1100105,43,2704793,1,20,2,-9,-9,3,2,1,13,4,999920,9920.0,270479301 +1100105,43,2704794,1,37,1,40,6,6,2,1,-9,4,4244,4470.0,270479401 +1100105,43,2704795,1,47,1,-9,-9,6,2,1,-9,4,,,270479501 +1100105,43,2704796,1,62,1,-9,-9,6,2,3,-9,4,,,270479601 +1100105,43,2704797,1,43,1,-9,-9,6,2,1,-9,4,,,270479701 +1100105,43,2704798,1,53,1,35,6,3,1,1,-9,4,813M,9170.0,270479801 +1100105,43,2704799,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,270479901 +1100105,43,2704800,1,45,2,40,1,1,2,1,-9,4,44511,4971.0,270480001 +1100105,43,2704801,1,56,1,-9,-9,6,2,1,-9,4,,,270480101 +1100105,43,2704802,1,67,1,-9,-9,6,1,1,-9,2,,,270480201 +1100105,43,2704803,1,62,2,-9,-9,6,2,1,-9,4,,,270480301 +1100105,43,2704804,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270480401 +1100105,43,2704805,1,47,1,-9,-9,6,2,1,-9,4,,,270480501 +1100105,43,2704806,1,67,1,-9,-9,6,1,1,-9,2,,,270480601 +1100105,45,2704807,1,58,1,-9,-9,6,2,1,-9,4,,,270480701 +1100105,45,2704808,1,67,1,-9,-9,6,1,1,-9,2,,,270480801 +1100105,45,2704809,1,49,2,-9,-9,6,2,1,-9,4,,,270480901 +1100105,45,2704810,1,50,1,40,1,1,6,1,-9,4,8131,9160.0,270481001 +1100105,45,2704811,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,270481101 +1100105,45,2704812,1,64,1,-9,-9,6,2,1,-9,4,,,270481201 +1100105,45,2704813,1,59,1,-9,-9,6,2,1,-9,4,,,270481301 +1100105,45,2704814,1,52,1,-9,-9,6,2,1,-9,4,,,270481401 +1100105,45,2704815,1,20,2,-9,-9,3,2,1,13,4,999920,9920.0,270481501 +1100105,45,2704816,1,67,2,-9,-9,6,2,1,-9,4,,,270481601 +1100105,45,2704817,1,55,2,-9,-9,6,2,1,-9,4,,,270481701 +1100105,45,2704818,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270481801 +1100105,45,2704819,1,52,1,23,1,1,2,1,-9,4,5415,7380.0,270481901 +1100105,45,2704820,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270482001 +1100105,45,2704821,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270482101 +1100105,45,2704822,1,82,2,40,1,1,6,1,-9,4,8131,9160.0,270482201 +1100105,45,2704823,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270482301 +1100105,45,2704824,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270482401 +1100105,45,2704825,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270482501 +1100105,45,2704826,1,55,1,-9,-9,6,2,1,-9,4,,,270482601 +1100105,45,2704827,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270482701 +1100105,45,2704828,1,47,1,-9,-9,6,2,1,-9,4,,,270482801 +1100105,45,2704829,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270482901 +1100105,45,2704830,1,56,2,-9,-9,3,2,1,-9,4,999920,9920.0,270483001 +1100105,45,2704831,1,55,1,-9,-9,6,2,1,-9,4,,,270483101 +1100105,45,2704832,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270483201 +1100105,45,2704833,1,52,1,-9,-9,6,2,1,-9,4,,,270483301 +1100105,45,2704834,1,64,2,-9,-9,6,2,1,-9,4,,,270483401 +1100105,45,2704835,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270483501 +1100105,45,2704836,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270483601 +1100105,45,2704837,1,45,2,40,1,1,2,1,-9,4,44511,4971.0,270483701 +1100105,45,2704838,1,47,1,-9,-9,6,2,1,-9,4,,,270483801 +1100105,45,2704839,1,55,1,-9,-9,6,2,1,-9,4,,,270483901 +1100105,45,2704840,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270484001 +1100105,45,2704841,1,86,1,-9,-9,6,1,1,-9,4,,,270484101 +1100105,45,2704842,1,55,1,-9,-9,6,2,1,-9,4,,,270484201 +1100105,45,2704843,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,270484301 +1100105,45,2704844,1,67,1,-9,-9,6,1,1,-9,2,,,270484401 +1100105,45,2704845,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,270484501 +1100105,45,2704846,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,270484601 +1100105,45,2704847,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270484701 +1100105,45,2704848,1,60,1,-9,-9,6,2,1,-9,4,,,270484801 +1100105,45,2704849,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270484901 +1100105,45,2704850,1,54,1,-9,-9,6,2,1,-9,4,,,270485001 +1100105,45,2704851,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270485101 +1100105,45,2704852,1,64,2,-9,-9,6,9,1,-9,4,44511,4971.0,270485201 +1100105,45,2704853,1,45,1,-9,-9,6,2,1,-9,4,,,270485301 +1100105,45,2704854,1,49,2,-9,-9,6,2,1,-9,4,,,270485401 +1100105,45,2704855,1,49,2,-9,-9,6,2,1,-9,4,,,270485501 +1100105,45,2704856,1,43,1,-9,-9,6,2,1,-9,4,,,270485601 +1100105,45,2704857,1,67,1,-9,-9,6,1,1,-9,2,,,270485701 +1100105,45,2704858,1,49,2,-9,-9,6,2,1,-9,4,,,270485801 +1100105,45,2704859,1,72,1,25,4,1,1,1,-9,4,611M1,7870.0,270485901 +1100105,45,2704860,1,57,1,40,3,6,2,1,-9,2,5616,7680.0,270486001 +1100105,45,2704861,1,43,1,-9,-9,6,2,1,-9,4,,,270486101 +1100105,45,2704862,1,49,2,-9,-9,6,2,1,-9,4,,,270486201 +1100105,45,2704863,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,270486301 +1100105,45,2704864,1,59,1,-9,-9,6,2,1,-9,4,,,270486401 +1100105,45,2704865,1,62,2,-9,-9,6,2,1,-9,4,,,270486501 +1100105,45,2704866,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270486601 +1100105,45,2704867,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,270486701 +1100105,45,2704868,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270486801 +1100105,45,2704869,1,56,2,-9,-9,6,1,1,-9,4,,,270486901 +1100105,45,2704870,1,62,2,-9,-9,6,2,1,-9,4,,,270487001 +1100105,45,2704871,1,51,1,-9,-9,6,2,1,-9,4,,,270487101 +1100105,45,2704872,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270487201 +1100105,45,2704873,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270487301 +1100105,45,2704874,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270487401 +1100105,45,2704875,1,67,1,-9,-9,6,1,1,-9,2,,,270487501 +1100105,45,2704876,1,56,2,-9,-9,6,1,1,-9,4,,,270487601 +1100105,45,2704877,1,57,2,-9,-9,6,2,1,-9,4,,,270487701 +1100105,45,2704878,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270487801 +1100105,45,2704879,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,270487901 +1100105,45,2704880,1,49,2,-9,-9,6,2,1,-9,4,,,270488001 +1100105,45,2704881,1,70,2,-9,-9,6,2,1,-9,4,,,270488101 +1100105,45,2704882,1,69,1,-9,-9,6,1,1,-9,4,,,270488201 +1100105,45,2704883,1,61,2,60,5,3,6,1,-9,4,5419Z,7490.0,270488301 +1100105,45,2704884,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270488401 +1100105,45,2704885,1,49,2,-9,-9,6,2,1,-9,4,,,270488501 +1100105,45,2704886,1,64,1,-9,-9,6,2,1,-9,4,,,270488601 +1100105,45,2704887,1,51,1,-9,-9,6,2,1,-9,4,,,270488701 +1100105,45,2704888,1,57,1,-9,-9,6,2,1,-9,4,,,270488801 +1100105,45,2704889,1,56,2,-9,-9,6,1,1,-9,4,,,270488901 +1100105,45,2704890,1,52,1,23,1,1,2,1,-9,4,5415,7380.0,270489001 +1100105,45,2704891,1,54,2,-9,-9,3,2,1,-9,4,813M,9170.0,270489101 +1100105,45,2704892,1,62,1,-9,-9,6,2,3,-9,4,,,270489201 +1100105,45,2704893,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270489301 +1100105,45,2704894,1,40,1,-9,-9,6,2,1,-9,4,621M,8180.0,270489401 +1100105,45,2704895,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270489501 +1100105,45,2704896,1,52,1,-9,-9,6,2,1,-9,4,,,270489601 +1100105,45,2704897,1,49,2,-9,-9,6,2,1,-9,4,,,270489701 +1100105,45,2704898,1,49,2,-9,-9,6,2,1,-9,4,,,270489801 +1100105,45,2704899,1,52,1,23,1,1,2,1,-9,4,5415,7380.0,270489901 +1100105,45,2704900,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,270490001 +1100105,45,2704901,1,49,1,40,1,1,2,1,-9,4,622M,8191.0,270490101 +1100105,45,2704902,1,82,2,40,1,1,6,1,-9,4,8131,9160.0,270490201 +1100105,45,2704903,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270490301 +1100105,45,2704904,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270490401 +1100105,45,2704905,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270490501 +1100105,45,2704906,1,67,2,-9,-9,6,2,1,-9,4,,,270490601 +1100105,45,2704907,1,56,2,-9,-9,6,2,1,-9,4,23,770.0,270490701 +1100105,45,2704908,1,63,1,-9,-9,6,2,1,-9,4,,,270490801 +1100105,45,2704909,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270490901 +1100105,45,2704910,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270491001 +1100105,45,2704911,1,46,2,40,4,3,2,1,-9,4,454110,5593.0,270491101 +1100105,45,2704912,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270491201 +1100105,45,2704913,1,57,1,-9,-9,6,2,1,-9,4,,,270491301 +1100105,45,2704914,1,69,1,-9,-9,6,1,1,-9,4,,,270491401 +1100105,45,2704915,1,62,2,-9,-9,6,2,1,-9,4,,,270491501 +1100105,45,2704916,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270491601 +1100105,45,2704917,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270491701 +1100105,45,2704918,1,64,1,-9,-9,6,2,1,-9,4,,,270491801 +1100105,45,2704919,1,59,2,15,5,3,2,1,-9,4,5613,7580.0,270491901 +1100105,45,2704920,1,47,1,-9,-9,6,2,1,-9,4,,,270492001 +1100105,45,2704921,1,52,1,-9,-9,6,2,1,-9,4,,,270492101 +1100105,45,2704922,1,24,2,6,6,2,2,1,-9,4,492,6380.0,270492201 +1100105,45,2704923,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270492301 +1100105,45,2704924,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270492401 +1100105,45,2704925,1,57,1,40,3,6,2,1,-9,2,5616,7680.0,270492501 +1100105,45,2704926,1,55,1,-9,-9,6,2,1,-9,4,,,270492601 +1100105,45,2704927,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270492701 +1100105,45,2704928,1,55,1,40,1,1,1,2,-9,4,55,7570.0,270492801 +1100105,45,2704929,1,69,1,-9,-9,6,1,1,-9,4,,,270492901 +1100105,45,2704930,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270493001 +1100105,45,2704931,1,82,2,40,1,1,6,1,-9,4,8131,9160.0,270493101 +1100105,45,2704932,1,47,1,-9,-9,6,2,1,-9,4,,,270493201 +1100105,45,2704933,1,62,1,-9,-9,6,2,3,-9,4,,,270493301 +1100105,45,2704934,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270493401 +1100105,45,2704935,1,28,2,-9,-9,6,1,1,-9,4,5413,7290.0,270493501 +1100105,45,2704936,1,56,2,-9,-9,6,2,1,-9,2,,,270493601 +1100105,45,2704937,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270493701 +1100105,45,2704938,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270493801 +1100105,45,2704939,1,69,1,-9,-9,6,1,1,-9,4,,,270493901 +1100105,45,2704940,1,59,1,40,3,6,2,1,-9,4,5616,7680.0,270494001 +1100105,45,2704941,1,52,1,23,1,1,2,1,-9,4,5415,7380.0,270494101 +1100105,45,2704942,1,69,1,-9,-9,6,1,1,-9,4,,,270494201 +1100105,45,2704943,1,83,2,-9,-9,6,2,1,-9,3,,,270494301 +1100105,45,2704944,1,54,2,-9,-9,3,2,1,-9,4,813M,9170.0,270494401 +1100105,45,2704945,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270494501 +1100105,45,2704946,1,20,2,-9,-9,3,2,1,13,4,999920,9920.0,270494601 +1100105,45,2704947,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270494701 +1100105,45,2704948,1,70,2,-9,-9,6,2,1,-9,4,,,270494801 +1100105,45,2704949,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270494901 +1100105,45,2704950,1,49,2,-9,-9,6,2,1,-9,4,,,270495001 +1100105,45,2704951,1,67,2,-9,-9,6,2,1,-9,4,,,270495101 +1100105,45,2704952,1,47,1,-9,-9,6,2,1,-9,4,,,270495201 +1100105,45,2704953,1,36,1,-9,-9,3,2,1,-9,4,722Z,8680.0,270495301 +1100105,45,2704954,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270495401 +1100105,45,2704955,1,47,1,-9,-9,6,2,1,-9,4,,,270495501 +1100105,45,2704956,1,45,1,-9,-9,6,2,1,-9,4,,,270495601 +1100105,45,2704957,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270495701 +1100105,45,2704958,1,63,1,-9,-9,6,2,1,-9,4,,,270495801 +1100105,45,2704959,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270495901 +1100105,45,2704960,1,64,1,-9,-9,6,2,1,-9,4,,,270496001 +1100105,45,2704961,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,270496101 +1100105,45,2704962,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270496201 +1100105,45,2704963,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270496301 +1100105,45,2704964,1,24,2,6,6,2,2,1,-9,4,492,6380.0,270496401 +1100105,45,2704965,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270496501 +1100105,45,2704966,1,56,2,-9,-9,6,2,1,-9,4,23,770.0,270496601 +1100105,45,2704967,1,62,2,-9,-9,6,2,1,-9,4,,,270496701 +1100105,45,2704968,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270496801 +1100105,45,2704969,1,49,2,-9,-9,6,2,1,-9,4,,,270496901 +1100105,45,2704970,1,67,1,-9,-9,6,1,1,-9,2,,,270497001 +1100105,45,2704971,1,43,1,-9,-9,6,2,1,-9,4,,,270497101 +1100105,45,2704972,1,69,1,-9,-9,6,1,1,-9,4,,,270497201 +1100105,45,2704973,1,46,2,40,4,3,2,1,-9,4,454110,5593.0,270497301 +1100105,45,2704974,1,57,2,-9,-9,6,2,1,-9,4,,,270497401 +1100105,45,2704975,1,51,1,-9,-9,6,2,1,-9,4,,,270497501 +1100105,45,2704976,1,49,2,-9,-9,6,2,1,-9,4,,,270497601 +1100105,45,2704977,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270497701 +1100105,45,2704978,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270497801 +1100105,45,2704979,1,56,2,-9,-9,6,1,1,-9,4,,,270497901 +1100105,45,2704980,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270498001 +1100105,45,2704981,1,51,1,-9,-9,6,2,1,-9,4,,,270498101 +1100105,45,2704982,1,52,1,23,1,1,2,1,-9,4,5415,7380.0,270498201 +1100105,45,2704983,1,67,1,-9,-9,6,1,1,-9,2,,,270498301 +1100105,45,2704984,1,73,2,-9,-9,6,2,1,-9,4,,,270498401 +1100105,45,2704985,1,62,2,-9,-9,6,2,1,-9,4,,,270498501 +1100105,45,2704986,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270498601 +1100105,45,2704987,1,56,2,-9,-9,6,2,1,-9,2,,,270498701 +1100105,45,2704988,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270498801 +1100105,45,2704989,1,47,1,-9,-9,6,2,1,-9,4,,,270498901 +1100105,45,2704990,1,56,2,-9,-9,6,2,1,-9,2,,,270499001 +1100105,45,2704991,1,36,1,-9,-9,3,2,1,-9,4,722Z,8680.0,270499101 +1100105,45,2704992,1,36,1,40,6,1,1,2,-9,4,722Z,8680.0,270499201 +1100105,45,2704993,1,45,1,-9,-9,6,2,1,-9,4,,,270499301 +1100105,45,2704994,1,57,2,-9,-9,3,2,1,-9,4,5616,7680.0,270499401 +1100105,45,2704995,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270499501 +1100105,45,2704996,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270499601 +1100105,45,2704997,1,62,1,-9,-9,6,2,3,-9,4,,,270499701 +1100105,45,2704998,1,67,1,-9,-9,6,1,1,-9,2,,,270499801 +1100105,45,2704999,1,56,2,-9,-9,6,1,1,-9,4,,,270499901 +1100105,45,2705000,1,82,2,40,1,1,6,1,-9,4,8131,9160.0,270500001 +1100105,45,2705001,1,50,1,-9,-9,6,2,1,-9,4,,,270500101 +1100105,45,2705002,1,50,1,-9,-9,6,2,1,-9,4,,,270500201 +1100105,45,2705003,1,69,1,-9,-9,6,1,1,-9,4,,,270500301 +1100105,45,2705004,1,43,1,-9,-9,6,2,1,-9,4,,,270500401 +1100105,45,2705005,1,59,2,40,5,6,2,1,-9,4,7211,8660.0,270500501 +1100105,45,2705006,1,55,1,-9,-9,6,2,1,-9,4,,,270500601 +1100105,45,2705007,1,73,2,-9,-9,6,2,1,-9,4,,,270500701 +1100105,45,2705008,1,55,1,-9,-9,6,2,1,-9,4,,,270500801 +1100105,45,2705009,1,45,1,-9,-9,6,2,1,-9,4,23,770.0,270500901 +1100105,45,2705010,1,58,2,-9,-9,6,2,1,-9,4,,,270501001 +1100105,45,2705011,1,62,2,-9,-9,6,2,1,-9,4,,,270501101 +1100105,45,2705012,1,69,1,-9,-9,6,1,1,-9,4,,,270501201 +1100105,45,2705013,1,94,1,-9,-9,6,1,1,-9,4,,,270501301 +1100105,45,2705014,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270501401 +1100105,45,2705015,1,64,1,-9,-9,6,2,1,-9,4,,,270501501 +1100105,45,2705016,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270501601 +1100105,45,2705017,1,94,1,-9,-9,6,1,1,-9,4,,,270501701 +1100105,45,2705018,1,62,1,-9,-9,6,2,3,-9,4,,,270501801 +1100105,45,2705019,1,62,2,-9,-9,6,2,1,-9,4,,,270501901 +1100105,45,2705020,1,60,2,-9,-9,3,2,1,-9,4,7211,8660.0,270502001 +1100105,45,2705021,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270502101 +1100105,45,2705022,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270502201 +1100105,45,2705023,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270502301 +1100105,45,2705024,1,56,2,-9,-9,3,2,1,-9,4,999920,9920.0,270502401 +1100105,45,2705025,1,49,2,-9,-9,6,2,1,-9,4,,,270502501 +1100105,45,2705026,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270502601 +1100105,45,2705027,1,50,1,-9,-9,6,2,1,-9,4,,,270502701 +1100105,45,2705028,1,51,1,-9,-9,6,2,1,-9,4,,,270502801 +1100105,45,2705029,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270502901 +1100105,45,2705030,1,60,1,-9,-9,6,2,1,-9,4,,,270503001 +1100105,45,2705031,1,24,2,6,6,2,2,1,-9,4,492,6380.0,270503101 +1100105,45,2705032,1,54,1,-9,-9,6,2,1,-9,4,,,270503201 +1100105,45,2705033,1,43,1,-9,-9,6,2,1,-9,4,,,270503301 +1100105,45,2705034,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270503401 +1100105,45,2705035,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270503501 +1100105,45,2705036,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270503601 +1100105,45,2705037,1,56,2,-9,-9,6,1,1,-9,4,,,270503701 +1100105,45,2705038,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270503801 +1100105,45,2705039,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,270503901 +1100105,45,2705040,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270504001 +1100105,45,2705041,1,64,1,-9,-9,6,2,1,-9,4,,,270504101 +1100105,45,2705042,1,57,1,-9,-9,6,2,1,-9,4,,,270504201 +1100105,45,2705043,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270504301 +1100105,45,2705044,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270504401 +1100105,45,2705045,1,43,1,-9,-9,6,2,1,-9,4,,,270504501 +1100105,45,2705046,1,51,1,-9,-9,6,2,1,-9,4,,,270504601 +1100105,45,2705047,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270504701 +1100105,45,2705048,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270504801 +1100105,45,2705049,1,56,2,-9,-9,6,2,1,-9,2,,,270504901 +1100105,45,2705050,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,270505001 +1100105,45,2705051,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270505101 +1100105,45,2705052,1,55,1,-9,-9,6,2,1,-9,4,,,270505201 +1100105,45,2705053,1,62,1,-9,-9,6,2,3,-9,4,,,270505301 +1100105,45,2705054,1,37,1,40,6,6,2,1,-9,4,4244,4470.0,270505401 +1100105,45,2705055,1,56,2,-9,-9,3,2,1,-9,4,999920,9920.0,270505501 +1100105,45,2705056,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270505601 +1100105,45,2705057,1,37,1,40,6,6,2,1,-9,4,4244,4470.0,270505701 +1100105,45,2705058,1,47,1,-9,-9,6,2,1,-9,4,,,270505801 +1100105,45,2705059,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270505901 +1100105,45,2705060,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270506001 +1100105,45,2705061,1,47,1,-9,-9,6,2,1,-9,4,,,270506101 +1100105,45,2705062,1,62,1,-9,-9,6,2,3,-9,4,,,270506201 +1100105,45,2705063,1,59,2,15,5,3,2,1,-9,4,5613,7580.0,270506301 +1100105,45,2705064,1,62,2,-9,-9,6,2,1,-9,4,,,270506401 +1100105,45,2705065,1,52,1,-9,-9,6,2,1,-9,4,,,270506501 +1100105,45,2705066,1,64,1,-9,-9,6,2,1,-9,4,,,270506601 +1100105,45,2705067,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270506701 +1100105,45,2705068,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270506801 +1100105,45,2705069,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270506901 +1100105,45,2705070,1,36,1,-9,-9,3,2,1,-9,4,722Z,8680.0,270507001 +1100105,45,2705071,1,49,2,-9,-9,6,2,1,-9,4,,,270507101 +1100105,45,2705072,1,69,1,-9,-9,6,1,1,-9,4,,,270507201 +1100105,45,2705073,1,82,2,40,1,1,6,1,-9,4,8131,9160.0,270507301 +1100105,45,2705074,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270507401 +1100105,45,2705075,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270507501 +1100105,45,2705076,1,74,1,-9,-9,6,2,1,-9,4,,,270507601 +1100105,45,2705077,1,54,2,40,3,1,2,1,-9,4,611M1,7870.0,270507701 +1100105,45,2705078,1,58,2,-9,-9,6,2,1,-9,4,,,270507801 +1100105,45,2705079,1,56,2,-9,-9,6,1,1,-9,4,,,270507901 +1100105,45,2705080,1,56,2,-9,-9,3,2,1,-9,4,999920,9920.0,270508001 +1100105,45,2705081,1,55,1,-9,-9,6,2,1,-9,4,,,270508101 +1100105,45,2705082,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270508201 +1100105,45,2705083,1,69,1,-9,-9,6,1,1,-9,4,,,270508301 +1100105,45,2705084,1,54,1,-9,-9,6,2,1,-9,4,,,270508401 +1100105,45,2705085,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270508501 +1100105,45,2705086,1,57,1,-9,-9,6,2,1,-9,4,,,270508601 +1100105,45,2705087,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270508701 +1100105,45,2705088,1,62,2,-9,-9,6,2,1,-9,4,,,270508801 +1100105,45,2705089,1,56,2,-9,-9,6,2,1,-9,4,23,770.0,270508901 +1100105,45,2705090,1,47,1,-9,-9,6,2,1,-9,4,,,270509001 +1100105,45,2705091,1,86,1,-9,-9,6,1,1,-9,4,,,270509101 +1100105,45,2705092,1,52,1,-9,-9,6,2,1,-9,4,,,270509201 +1100105,45,2705093,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270509301 +1100105,45,2705094,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270509401 +1100105,45,2705095,1,62,1,-9,-9,6,2,3,-9,4,,,270509501 +1100105,45,2705096,1,36,2,30,1,1,2,1,-9,4,44511,4971.0,270509601 +1100105,45,2705097,1,52,1,-9,-9,6,2,1,-9,4,,,270509701 +1100105,45,2705098,1,67,1,-9,-9,6,1,1,-9,2,,,270509801 +1100105,45,2705099,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,270509901 +1100105,45,2705100,1,52,1,-9,-9,6,2,1,-9,4,,,270510001 +1100105,45,2705101,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270510101 +1100105,45,2705102,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270510201 +1100105,45,2705103,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270510301 +1100105,45,2705104,1,83,2,-9,-9,6,2,1,-9,3,,,270510401 +1100105,45,2705105,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270510501 +1100105,45,2705106,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270510601 +1100105,45,2705107,1,52,1,-9,-9,6,2,1,-9,4,,,270510701 +1100105,45,2705108,1,67,2,-9,-9,6,2,1,-9,4,,,270510801 +1100105,45,2705109,1,50,2,20,6,3,2,1,-9,2,44511,4971.0,270510901 +1100105,45,2705110,1,40,2,-9,-9,6,2,1,-9,4,8121M,8990.0,270511001 +1100105,45,2705111,1,57,1,40,3,6,2,1,-9,2,5616,7680.0,270511101 +1100105,45,2705112,1,50,1,-9,-9,6,2,1,-9,4,,,270511201 +1100105,45,2705113,1,73,2,-9,-9,6,2,1,-9,4,,,270511301 +1100105,45,2705114,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,270511401 +1100105,45,2705115,1,63,1,-9,-9,6,2,1,-9,4,,,270511501 +1100105,46,2705116,1,55,1,-9,-9,6,2,1,-9,4,,,270511601 +1100105,46,2705117,1,57,1,40,3,6,2,1,-9,2,5616,7680.0,270511701 +1100105,46,2705118,1,67,1,-9,-9,6,1,1,-9,2,,,270511801 +1100105,46,2705119,1,45,1,-9,-9,6,2,1,-9,4,,,270511901 +1100105,46,2705120,1,47,1,-9,-9,6,2,1,-9,4,,,270512001 +1100105,46,2705121,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270512101 +1100105,46,2705122,1,54,1,-9,-9,6,2,1,-9,4,,,270512201 +1100105,46,2705123,1,74,1,-9,-9,6,2,1,-9,4,,,270512301 +1100105,46,2705124,1,43,1,-9,-9,6,2,1,-9,4,,,270512401 +1100105,47,2705125,1,18,2,20,6,6,1,1,15,4,6211,7970.0,270512501 +1100105,47,2705126,1,21,1,-9,-9,6,2,1,15,4,,,270512601 +1100105,47,2705127,1,20,2,-9,-9,6,1,1,15,4,,,270512701 +1100105,47,2705128,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,270512801 +1100105,47,2705129,1,20,1,10,3,1,2,1,15,4,611M1,7870.0,270512901 +1100105,47,2705130,1,21,2,-9,-9,6,1,1,15,4,,,270513001 +1100105,47,2705131,1,18,1,40,6,6,2,19,15,4,5617Z,7690.0,270513101 +1100105,47,2705132,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,270513201 +1100105,47,2705133,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270513301 +1100105,47,2705134,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,270513401 +1100105,47,2705135,1,19,2,8,6,1,2,1,15,4,611M3,7890.0,270513501 +1100105,47,2705136,1,18,2,7,4,1,6,1,15,4,713Z,8590.0,270513601 +1100105,47,2705137,1,21,2,-9,-9,6,1,1,15,4,,,270513701 +1100105,47,2705138,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,270513801 +1100105,47,2705139,1,18,1,-9,-9,6,2,1,15,4,,,270513901 +1100105,47,2705140,1,19,2,16,6,6,2,1,15,4,45221,5381.0,270514001 +1100105,47,2705141,1,19,2,-9,-9,6,6,1,15,4,,,270514101 +1100105,47,2705142,1,19,1,10,6,6,1,1,15,4,6111,7860.0,270514201 +1100105,47,2705143,1,19,2,-9,-9,6,1,1,15,4,,,270514301 +1100105,47,2705144,1,21,1,20,4,1,1,1,15,4,813M,9170.0,270514401 +1100105,47,2705145,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,270514501 +1100105,47,2705146,1,21,2,20,6,6,2,1,15,4,6241,8370.0,270514601 +1100105,47,2705147,1,19,1,15,6,1,1,1,15,4,4481,5170.0,270514701 +1100105,47,2705148,1,21,2,-9,-9,6,2,1,15,4,,,270514801 +1100105,47,2705149,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,270514901 +1100105,47,2705150,1,20,2,-9,-9,6,2,1,15,4,,,270515001 +1100105,47,2705151,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270515101 +1100105,47,2705152,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,270515201 +1100105,47,2705153,1,19,1,45,6,6,1,1,15,4,721M,8670.0,270515301 +1100105,47,2705154,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,270515401 +1100105,47,2705155,1,19,2,48,4,1,1,2,15,4,722Z,8680.0,270515501 +1100105,47,2705156,1,20,2,-9,-9,6,2,1,15,4,,,270515601 +1100105,47,2705157,1,19,2,30,5,6,1,1,15,4,713Z,8590.0,270515701 +1100105,47,2705158,1,23,1,30,6,6,2,1,15,4,4542,5670.0,270515801 +1100105,47,2705159,1,18,1,-9,-9,6,1,1,15,4,,,270515901 +1100105,47,2705160,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270516001 +1100105,47,2705161,1,21,2,6,4,1,1,1,15,4,611M1,7870.0,270516101 +1100105,47,2705162,1,19,1,10,4,2,1,1,15,4,611M1,7870.0,270516201 +1100105,47,2705163,1,19,2,10,5,1,6,1,15,4,611M1,7870.0,270516301 +1100105,47,2705164,1,18,1,5,6,6,2,1,15,4,928P,9590.0,270516401 +1100105,47,2705165,1,21,1,26,3,1,1,1,15,4,712,8570.0,270516501 +1100105,47,2705166,1,18,2,-9,-9,6,1,1,15,4,,,270516601 +1100105,47,2705167,1,18,2,-9,-9,6,6,1,15,4,,,270516701 +1100105,47,2705168,1,20,2,15,1,1,9,1,15,4,721M,8670.0,270516801 +1100105,47,2705169,1,20,1,20,6,6,2,1,15,4,813M,9170.0,270516901 +1100105,47,2705170,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,270517001 +1100105,47,2705171,1,18,2,-9,-9,3,2,1,15,4,999920,9920.0,270517101 +1100105,47,2705172,1,20,2,-9,-9,6,2,1,15,4,,,270517201 +1100105,47,2705173,1,19,2,3,6,6,1,1,15,4,6244,8470.0,270517301 +1100105,47,2705174,1,18,2,20,3,6,1,1,15,4,44611,5070.0,270517401 +1100105,47,2705175,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,270517501 +1100105,47,2705176,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,270517601 +1100105,47,2705177,1,20,2,-9,-9,6,2,1,15,4,,,270517701 +1100105,47,2705178,1,19,1,23,4,6,2,1,15,4,44511,4971.0,270517801 +1100105,47,2705179,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,270517901 +1100105,47,2705180,1,18,2,45,6,6,1,1,15,4,814,9290.0,270518001 +1100105,47,2705181,1,21,1,-9,-9,3,2,1,15,4,44511,4971.0,270518101 +1100105,47,2705182,1,21,2,20,1,1,2,1,15,4,722Z,8680.0,270518201 +1100105,47,2705183,1,20,2,15,1,1,1,1,15,4,6244,8470.0,270518301 +1100105,47,2705184,1,20,1,23,5,6,9,19,15,4,4481,5170.0,270518401 +1100105,47,2705185,1,19,2,-9,-9,6,1,1,15,4,,,270518501 +1100105,47,2705186,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270518601 +1100105,47,2705187,1,18,2,-9,-9,6,1,1,15,4,,,270518701 +1100105,47,2705188,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,270518801 +1100105,47,2705189,1,22,2,20,5,1,2,1,15,4,5121,6570.0,270518901 +1100105,47,2705190,1,21,1,40,6,1,1,1,15,4,337,3895.0,270519001 +1100105,47,2705191,1,23,2,-9,-9,6,8,11,16,4,,,270519101 +1100105,47,2705192,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270519201 +1100105,47,2705193,1,21,1,20,4,1,1,1,15,4,813M,9170.0,270519301 +1100105,47,2705194,1,19,2,-9,-9,6,6,1,15,4,,,270519401 +1100105,47,2705195,1,20,2,6,5,1,1,1,15,4,4481,5170.0,270519501 +1100105,47,2705196,1,22,2,20,5,1,2,1,15,4,5121,6570.0,270519601 +1100105,47,2705197,1,19,1,24,5,1,1,1,15,4,4539,5580.0,270519701 +1100105,47,2705198,1,18,2,8,6,6,1,1,15,4,712,8570.0,270519801 +1100105,47,2705199,1,21,2,-9,-9,6,2,1,15,4,,,270519901 +1100105,47,2705200,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,270520001 +1100105,47,2705201,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270520101 +1100105,47,2705202,1,21,2,30,3,6,1,1,15,4,611M1,7870.0,270520201 +1100105,47,2705203,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,270520301 +1100105,47,2705204,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,270520401 +1100105,47,2705205,1,21,1,30,5,2,2,1,15,4,447,5090.0,270520501 +1100105,47,2705206,1,18,1,50,6,3,2,1,15,4,5614,7590.0,270520601 +1100105,47,2705207,1,19,2,40,5,6,1,1,15,4,712,8570.0,270520701 +1100105,47,2705208,1,19,1,40,6,3,1,1,15,4,51913,6672.0,270520801 +1100105,47,2705209,1,19,2,10,6,6,1,1,15,4,315M,1691.0,270520901 +1100105,47,2705210,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,270521001 +1100105,47,2705211,1,18,1,35,4,1,2,1,15,4,611M1,7870.0,270521101 +1100105,47,2705212,1,18,1,24,6,6,1,1,15,4,722Z,8680.0,270521201 +1100105,47,2705213,1,21,1,30,6,6,2,1,15,4,4542,5670.0,270521301 +1100105,47,2705214,1,21,1,20,4,1,1,1,15,4,813M,9170.0,270521401 +1100105,47,2705215,1,18,1,15,6,6,2,1,15,4,722Z,8680.0,270521501 +1100105,47,2705216,1,21,1,10,1,1,2,1,15,4,611M1,7870.0,270521601 +1100105,47,2705217,1,18,2,-9,-9,6,1,1,15,4,,,270521701 +1100105,47,2705218,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,270521801 +1100105,47,2705219,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,270521901 +1100105,47,2705220,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,270522001 +1100105,47,2705221,1,19,1,40,6,1,1,1,15,4,487,6280.0,270522101 +1100105,47,2705222,1,21,2,36,6,6,2,1,15,4,622M,8191.0,270522201 +1100105,47,2705223,1,19,1,23,4,6,1,1,15,4,44512,4972.0,270522301 +1100105,47,2705224,1,19,2,8,3,1,1,1,15,4,611M1,7870.0,270522401 +1100105,47,2705225,1,25,1,40,1,1,2,1,16,4,6216,8170.0,270522501 +1100105,47,2705226,1,21,2,6,4,1,1,1,15,4,611M1,7870.0,270522601 +1100105,47,2705227,1,20,2,15,4,1,1,1,15,4,722Z,8680.0,270522701 +1100105,47,2705228,1,17,2,-9,-9,6,2,1,15,4,,,270522801 +1100105,47,2705229,1,21,2,15,6,6,1,1,15,4,4481,5170.0,270522901 +1100105,47,2705230,1,20,2,16,3,2,1,1,15,4,611M1,7870.0,270523001 +1100105,47,2705231,1,19,1,20,6,6,1,1,15,4,4442,4890.0,270523101 +1100105,47,2705232,1,23,2,-9,-9,6,8,11,16,4,,,270523201 +1100105,47,2705233,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,270523301 +1100105,49,2705234,1,21,2,10,4,6,1,1,15,4,611M1,7870.0,270523401 +1100105,49,2705235,1,21,1,-9,-9,6,2,1,15,4,,,270523501 +1100105,49,2705236,1,19,2,8,6,1,2,1,15,4,611M3,7890.0,270523601 +1100105,49,2705237,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270523701 +1100105,49,2705238,1,18,1,14,3,1,1,1,15,4,7211,8660.0,270523801 +1100105,49,2705239,1,18,1,-9,-9,6,2,1,15,4,,,270523901 +1100105,49,2705240,1,22,1,24,6,6,2,1,15,4,4481,5170.0,270524001 +1100105,49,2705241,1,18,1,-9,-9,6,2,1,15,4,,,270524101 +1100105,49,2705242,1,19,1,-9,-9,6,1,1,15,4,,,270524201 +1100105,49,2705243,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,270524301 +1100105,49,2705244,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,270524401 +1100105,49,2705245,1,20,1,12,4,1,1,1,15,4,5415,7380.0,270524501 +1100105,49,2705246,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,270524601 +1100105,49,2705247,1,21,2,20,6,6,2,1,15,4,6231,8270.0,270524701 +1100105,49,2705248,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,270524801 +1100105,49,2705249,1,22,2,-9,-9,6,2,1,15,4,,,270524901 +1100105,49,2705250,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,270525001 +1100105,49,2705251,1,22,1,8,4,1,2,1,15,4,611M1,7870.0,270525101 +1100105,49,2705252,1,21,2,40,6,6,1,1,15,4,611M1,7870.0,270525201 +1100105,49,2705253,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,270525301 +1100105,49,2705254,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270525401 +1100105,49,2705255,1,18,2,28,4,6,2,1,15,4,722Z,8680.0,270525501 +1100105,49,2705256,1,19,2,20,4,1,1,1,15,4,561M,7780.0,270525601 +1100105,49,2705257,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,270525701 +1100105,49,2705258,1,18,2,-9,-9,6,2,1,15,4,,,270525801 +1100105,49,2705259,1,20,2,-9,-9,6,1,1,15,4,,,270525901 +1100105,49,2705260,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,270526001 +1100105,49,2705261,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,270526101 +1100105,49,2705262,1,37,2,38,3,1,9,3,16,4,611M1,7870.0,270526201 +1100105,49,2705263,1,19,1,50,6,6,2,1,15,4,311M2,1280.0,270526301 +1100105,49,2705264,1,22,2,-9,-9,6,2,1,15,4,,,270526401 +1100105,49,2705265,1,20,2,25,6,6,1,1,15,4,623M,8290.0,270526501 +1100105,49,2705266,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,270526601 +1100105,49,2705267,1,18,2,-9,-9,6,2,1,15,4,,,270526701 +1100105,49,2705268,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270526801 +1100105,49,2705269,1,18,2,-9,-9,3,1,1,15,4,45221,5381.0,270526901 +1100105,49,2705270,1,19,2,30,5,6,6,1,15,4,713Z,8590.0,270527001 +1100105,49,2705271,1,18,1,14,3,1,1,1,15,4,7211,8660.0,270527101 +1100105,49,2705272,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,270527201 +1100105,49,2705273,1,21,2,-9,-9,6,1,1,15,4,,,270527301 +1100105,49,2705274,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,270527401 +1100105,49,2705275,1,18,1,30,1,1,2,1,15,4,722Z,8680.0,270527501 +1100105,49,2705276,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,270527601 +1100105,49,2705277,1,21,2,15,4,1,9,1,15,4,92MP,9470.0,270527701 +1100105,49,2705278,1,20,2,2,5,2,1,1,15,4,611M1,7870.0,270527801 +1100105,49,2705279,1,19,1,40,6,3,2,1,15,4,51913,6672.0,270527901 +1100105,49,2705280,1,18,1,40,6,6,1,1,15,4,721M,8670.0,270528001 +1100105,49,2705281,1,19,1,20,6,6,1,1,15,4,4442,4890.0,270528101 +1100105,49,2705282,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,270528201 +1100105,49,2705283,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,270528301 +1100105,49,2705284,1,19,2,-9,-9,6,6,1,15,4,,,270528401 +1100105,49,2705285,1,22,1,15,5,1,1,1,15,4,611M1,7870.0,270528501 +1100105,50,2705286,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,270528601 +1100105,50,2705287,1,52,1,23,1,1,2,1,-9,4,5415,7380.0,270528701 +1100105,50,2705288,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270528801 +1100105,50,2705289,1,51,1,-9,-9,6,2,1,-9,4,,,270528901 +1100105,50,2705290,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270529001 +1100105,50,2705291,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270529101 +1100105,50,2705292,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270529201 +1100105,50,2705293,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270529301 +1100105,50,2705294,1,57,2,-9,-9,3,2,1,-9,4,5616,7680.0,270529401 +1100105,50,2705295,1,63,1,-9,-9,6,2,1,-9,4,,,270529501 +1100105,50,2705296,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270529601 +1100105,50,2705297,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270529701 +1100105,50,2705298,1,82,2,40,1,1,6,1,-9,4,8131,9160.0,270529801 +1100105,50,2705299,1,45,1,-9,-9,6,2,1,-9,4,23,770.0,270529901 +1100105,50,2705300,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,270530001 +1100105,50,2705301,1,55,1,-9,-9,6,2,1,-9,4,,,270530101 +1100105,50,2705302,1,58,1,-9,-9,6,2,1,-9,4,,,270530201 +1100105,50,2705303,1,54,2,-9,-9,3,2,1,-9,4,813M,9170.0,270530301 +1100105,50,2705304,1,49,2,-9,-9,6,2,1,-9,4,,,270530401 +1100105,50,2705305,1,66,1,50,1,1,1,1,-9,4,8131,9160.0,270530501 +1100105,50,2705306,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270530601 +1100105,50,2705307,1,60,1,35,2,1,2,1,-9,4,488,6290.0,270530701 +1100105,50,2705308,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,270530801 +1100105,50,2705309,1,52,1,-9,-9,6,2,1,-9,4,,,270530901 +1100105,50,2705310,1,76,1,-9,-9,6,1,1,-9,4,,,270531001 +1100105,50,2705311,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,270531101 +1100105,50,2705312,1,67,1,-9,-9,6,1,1,-9,2,,,270531201 +1100105,50,2705313,1,53,1,35,6,3,1,1,-9,4,813M,9170.0,270531301 +1100105,50,2705314,1,40,1,-9,-9,6,2,1,-9,4,621M,8180.0,270531401 +1100105,50,2705315,1,66,1,50,1,1,1,1,-9,4,8131,9160.0,270531501 +1100105,50,2705316,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,270531601 +1100105,50,2705317,1,73,2,-9,-9,6,2,1,-9,4,,,270531701 +1100105,50,2705318,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,270531801 +1100105,50,2705319,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,270531901 +1100105,50,2705320,1,52,1,-9,-9,6,2,1,-9,4,,,270532001 +1100105,50,2705321,1,54,1,-9,-9,6,2,1,-9,4,,,270532101 +1100105,50,2705322,1,83,2,-9,-9,6,2,1,-9,3,,,270532201 +1100105,50,2705323,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,270532301 +1100105,50,2705324,1,45,1,-9,-9,6,2,1,-9,4,,,270532401 +1100105,53,2705325,1,56,2,-9,-9,6,1,1,-9,4,,,270532501 +1100105,53,2705326,1,45,1,-9,-9,6,2,1,-9,4,,,270532601 +1100105,53,2705327,1,56,2,-9,-9,6,2,1,-9,2,,,270532701 +1100105,53,2705328,1,58,2,-9,-9,6,2,1,-9,4,,,270532801 +1100105,53,2705329,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270532901 +1100105,53,2705330,1,18,2,99,6,6,2,1,15,4,721M,8670.0,270533001 +1100105,53,2705331,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,270533101 +1100105,53,2705332,1,18,1,-9,-9,6,6,1,15,4,,,270533201 +1100105,53,2705333,1,20,2,8,1,1,1,1,15,4,8131,9160.0,270533301 +1100105,53,2705334,1,21,1,26,3,1,1,1,15,4,712,8570.0,270533401 +1100105,53,2705335,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,270533501 +1100105,53,2705336,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,270533601 +1100105,53,2705337,1,18,2,-9,-9,6,1,24,15,4,,,270533701 +1100105,53,2705338,1,19,2,10,5,1,1,1,15,4,6213ZM,8080.0,270533801 +1100105,53,2705339,1,19,1,40,6,3,1,1,15,4,51913,6672.0,270533901 +1100105,53,2705340,1,22,1,15,4,2,2,1,15,4,4481,5170.0,270534001 +1100105,53,2705341,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,270534101 +1100105,53,2705342,1,19,1,12,5,1,1,1,15,4,713Z,8590.0,270534201 +1100105,53,2705343,1,18,2,-9,-9,6,6,1,15,4,,,270534301 +1100105,53,2705344,1,21,2,36,6,6,1,1,15,4,622M,8191.0,270534401 +1100105,53,2705345,1,18,1,20,6,1,2,1,15,4,611M1,7870.0,270534501 +1100105,53,2705346,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,270534601 +1100105,53,2705347,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,270534701 +1100105,53,2705348,1,21,1,-9,-9,6,1,1,15,4,,,270534801 +1100105,53,2705349,1,21,2,-9,-9,6,2,1,15,4,,,270534901 +1100105,53,2705350,1,20,2,16,3,2,1,1,15,4,611M1,7870.0,270535001 +1100105,53,2705351,1,19,1,10,6,1,1,1,15,4,721M,8670.0,270535101 +1100105,53,2705352,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,270535201 +1100105,53,2705353,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,270535301 +1100105,53,2705354,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270535401 +1100105,53,2705355,1,19,2,15,4,6,2,1,15,4,45121,5370.0,270535501 +1100105,53,2705356,1,20,2,10,4,1,6,1,15,4,611M3,7890.0,270535601 +1100105,53,2705357,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,270535701 +1100105,53,2705358,1,22,2,-9,-9,6,1,1,15,4,,,270535801 +1100105,53,2705359,1,21,1,20,6,6,1,1,15,4,3345,3380.0,270535901 +1100105,53,2705360,1,21,2,-9,-9,6,1,1,15,4,,,270536001 +1100105,53,2705361,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,270536101 +1100105,53,2705362,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270536201 +1100105,53,2705363,1,21,2,20,5,1,6,1,15,4,5416,7390.0,270536301 +1100105,53,2705364,1,18,1,-9,-9,6,1,1,15,4,,,270536401 +1100105,53,2705365,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,270536501 +1100105,53,2705366,1,21,2,10,5,1,1,1,15,4,5411,7270.0,270536601 +1100105,53,2705367,1,20,2,-9,-9,6,1,1,15,4,,,270536701 +1100105,53,2705368,1,19,1,4,6,6,6,1,15,4,611M3,7890.0,270536801 +1100105,53,2705369,1,18,1,40,6,6,1,1,15,4,721M,8670.0,270536901 +1100105,53,2705370,1,20,2,10,6,1,1,1,15,4,611M1,7870.0,270537001 +1100105,53,2705371,1,18,2,45,6,6,1,1,15,4,814,9290.0,270537101 +1100105,53,2705372,1,20,2,-9,-9,6,1,1,15,4,,,270537201 +1100105,53,2705373,1,19,1,-9,-9,6,1,1,15,4,,,270537301 +1100105,53,2705374,1,18,1,6,1,1,1,1,15,4,622M,8191.0,270537401 +1100105,53,2705375,1,20,2,-9,-9,6,6,1,15,4,,,270537501 +1100105,53,2705376,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,270537601 +1100105,53,2705377,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,270537701 +1100105,53,2705378,1,22,2,20,6,6,2,1,15,4,6231,8270.0,270537801 +1100105,53,2705379,1,18,2,15,6,3,2,1,15,4,4481,5170.0,270537901 +1100105,53,2705380,1,21,2,-9,-9,6,1,1,15,4,23,770.0,270538001 +1100105,53,2705381,1,19,2,15,5,1,9,1,15,4,813M,9170.0,270538101 +1100105,53,2705382,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,270538201 +1100105,53,2705383,1,19,2,40,1,1,1,1,15,4,611M1,7870.0,270538301 +1100105,53,2705384,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,270538401 +1100105,53,2705385,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270538501 +1100105,53,2705386,1,20,2,-9,-9,6,2,1,15,4,,,270538601 +1100105,53,2705387,1,19,1,40,6,3,2,1,15,4,51913,6672.0,270538701 +1100105,53,2705388,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,270538801 +1100105,53,2705389,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,270538901 +1100105,53,2705390,1,22,1,10,1,1,6,1,15,4,611M1,7870.0,270539001 +1100105,53,2705391,1,18,2,10,4,6,1,1,15,4,44511,4971.0,270539101 +1100105,53,2705392,1,24,1,45,6,6,2,1,15,4,51913,6672.0,270539201 +1100105,53,2705393,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,270539301 +1100105,53,2705394,1,20,2,10,1,1,1,1,15,4,611M1,7870.0,270539401 +1100105,53,2705395,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270539501 +1100105,53,2705396,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,270539601 +1100105,53,2705397,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,270539701 +1100105,53,2705398,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,270539801 +1100105,53,2705399,1,17,2,-9,-9,6,6,1,15,4,,,270539901 +1100105,53,2705400,1,18,1,10,5,6,1,1,15,4,6211,7970.0,270540001 +1100105,53,2705401,1,18,2,-9,-9,6,1,1,15,4,712,8570.0,270540101 +1100105,53,2705402,1,18,1,80,5,6,1,1,15,4,721M,8670.0,270540201 +1100105,53,2705403,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,270540301 +1100105,53,2705404,1,23,1,9,4,1,1,1,15,4,713Z,8590.0,270540401 +1100105,53,2705405,1,18,2,-9,-9,6,1,1,15,4,,,270540501 +1100105,53,2705406,1,21,2,10,4,1,2,1,15,4,611M1,7870.0,270540601 +1100105,53,2705407,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,270540701 +1100105,53,2705408,1,18,2,15,6,3,2,1,15,4,4481,5170.0,270540801 +1100105,53,2705409,1,21,1,16,4,1,1,1,15,4,622M,8191.0,270540901 +1100105,53,2705410,1,19,1,12,5,1,1,1,15,4,713Z,8590.0,270541001 +1100105,53,2705411,1,18,1,-9,-9,6,1,1,15,4,,,270541101 +1100105,53,2705412,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,270541201 +1100105,53,2705413,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,270541301 +1100105,53,2705414,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,270541401 +1100105,53,2705415,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,270541501 +1100105,53,2705416,1,22,1,30,5,1,2,1,15,4,23,770.0,270541601 +1100105,53,2705417,1,21,2,-9,-9,6,1,1,15,4,,,270541701 +1100105,53,2705418,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270541801 +1100105,53,2705419,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,270541901 +1100105,53,2705420,1,18,2,20,6,6,2,1,15,4,6111,7860.0,270542001 +1100105,53,2705421,1,20,2,-9,-9,6,2,1,15,4,,,270542101 +1100105,53,2705422,1,21,2,40,6,6,1,1,15,4,3116,1180.0,270542201 +1100105,53,2705423,1,19,2,22,6,6,1,1,15,4,722Z,8680.0,270542301 +1100105,53,2705424,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270542401 +1100105,53,2705425,1,21,1,20,4,1,1,2,15,4,485M,6180.0,270542501 +1100105,53,2705426,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270542601 +1100105,53,2705427,1,21,2,-9,-9,6,2,1,15,4,,,270542701 +1100105,53,2705428,1,21,1,20,4,1,1,1,15,4,813M,9170.0,270542801 +1100105,53,2705429,1,19,2,20,6,6,1,1,15,4,722Z,8680.0,270542901 +1100105,53,2705430,1,19,2,-9,-9,6,1,1,15,4,,,270543001 +1100105,53,2705431,1,20,2,6,5,2,1,1,15,4,712,8570.0,270543101 +1100105,53,2705432,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,270543201 +1100105,53,2705433,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,270543301 +1100105,53,2705434,1,18,1,14,3,1,1,1,15,4,7211,8660.0,270543401 +1100105,53,2705435,1,24,2,-9,-9,6,2,1,16,4,,,270543501 +1100105,53,2705436,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,270543601 +1100105,53,2705437,1,19,2,40,6,6,1,1,15,4,4412,4680.0,270543701 +1100105,53,2705438,1,19,2,40,6,6,1,1,15,4,923,9480.0,270543801 +1100105,53,2705439,1,19,2,40,6,6,1,1,15,4,923,9480.0,270543901 +1100105,53,2705440,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270544001 +1100105,53,2705441,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,270544101 +1100105,53,2705442,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270544201 +1100105,53,2705443,1,20,2,40,6,6,1,3,15,4,6211,7970.0,270544301 +1100105,53,2705444,1,19,2,-9,-9,6,1,1,15,4,,,270544401 +1100105,53,2705445,1,19,1,-9,-9,6,1,1,15,4,,,270544501 +1100105,53,2705446,1,19,2,16,6,6,2,1,15,4,45221,5381.0,270544601 +1100105,53,2705447,1,21,1,30,5,2,2,1,15,4,447,5090.0,270544701 +1100105,53,2705448,1,19,2,48,4,1,1,2,15,4,722Z,8680.0,270544801 +1100105,53,2705449,1,19,1,50,6,6,1,1,15,4,311M2,1280.0,270544901 +1100105,53,2705450,1,18,2,20,3,6,1,1,15,4,5411,7270.0,270545001 +1100105,53,2705451,1,21,2,20,5,1,9,1,15,4,5121,6570.0,270545101 +1100105,53,2705452,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,270545201 +1100105,53,2705453,1,21,2,20,6,6,2,1,15,4,6231,8270.0,270545301 +1100105,53,2705454,1,19,2,10,5,6,2,1,15,4,611M1,7870.0,270545401 +1100105,53,2705455,1,18,1,28,6,6,2,1,15,4,23,770.0,270545501 +1100105,53,2705456,1,19,2,10,5,6,2,1,15,4,611M1,7870.0,270545601 +1100105,53,2705457,1,19,2,-9,-9,6,2,1,15,4,,,270545701 +1100105,53,2705458,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,270545801 +1100105,53,2705459,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,270545901 +1100105,53,2705460,1,21,1,20,4,1,1,1,15,4,611M1,7870.0,270546001 +1100105,53,2705461,1,19,2,6,6,6,1,1,15,4,4481,5170.0,270546101 +1100105,53,2705462,1,20,1,12,3,1,1,1,15,4,611M1,7870.0,270546201 +1100105,53,2705463,1,19,1,4,6,6,1,1,15,4,814,9290.0,270546301 +1100105,53,2705464,1,22,2,20,6,6,2,1,15,4,6231,8270.0,270546401 +1100105,53,2705465,1,18,2,8,6,6,1,1,15,4,712,8570.0,270546501 +1100105,53,2705466,1,20,1,23,5,6,9,19,15,4,4481,5170.0,270546601 +1100105,53,2705467,1,21,2,20,1,1,1,1,15,4,722Z,8680.0,270546701 +1100105,53,2705468,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,270546801 +1100105,53,2705469,1,20,2,40,6,6,2,1,15,4,6211,7970.0,270546901 +1100105,53,2705470,1,19,1,-9,-9,6,6,1,15,4,,,270547001 +1100105,53,2705471,1,20,1,15,3,1,1,1,15,4,5615,7670.0,270547101 +1100105,53,2705472,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,270547201 +1100105,53,2705473,1,18,2,-9,-9,6,2,1,15,4,,,270547301 +1100105,53,2705474,1,19,2,-9,-9,6,1,1,15,4,,,270547401 +1100105,53,2705475,1,21,2,36,6,6,1,1,15,4,622M,8191.0,270547501 +1100105,53,2705476,1,21,2,-9,-9,6,2,1,15,4,,,270547601 +1100105,53,2705477,1,31,1,-9,-9,6,1,1,16,4,55,7570.0,270547701 +1100105,53,2705478,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,270547801 +1100105,53,2705479,1,18,1,3,6,3,9,1,15,4,5411,7270.0,270547901 +1100105,53,2705480,1,18,2,45,6,6,1,1,15,4,814,9290.0,270548001 +1100105,53,2705481,1,19,2,84,6,6,1,1,15,4,721M,8670.0,270548101 +1100105,53,2705482,1,18,2,10,4,6,1,1,15,4,44511,4971.0,270548201 +1100105,53,2705483,1,22,1,24,6,6,2,1,15,4,4481,5170.0,270548301 +1100105,53,2705484,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,270548401 +1100105,53,2705485,1,20,2,35,6,6,1,3,15,4,713Z,8590.0,270548501 +1100105,53,2705486,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,270548601 +1100105,53,2705487,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,270548701 +1100105,53,2705488,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270548801 +1100105,53,2705489,1,20,1,-9,-9,6,1,1,15,4,6111,7860.0,270548901 +1100105,53,2705490,1,21,2,-9,-9,6,1,1,15,4,,,270549001 +1100105,53,2705491,1,21,1,20,4,1,2,1,15,4,813M,9170.0,270549101 +1100105,53,2705492,1,18,1,28,6,6,2,1,15,4,23,770.0,270549201 +1100105,53,2705493,1,26,2,35,6,1,2,1,15,4,487,6280.0,270549301 +1100105,53,2705494,1,19,2,20,3,1,1,1,15,4,611M1,7870.0,270549401 +1100105,53,2705495,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,270549501 +1100105,53,2705496,1,21,2,40,1,6,2,1,15,4,515,6670.0,270549601 +1100105,53,2705497,1,21,1,10,1,1,2,1,15,4,611M1,7870.0,270549701 +1100105,53,2705498,1,20,2,10,6,1,1,1,15,4,611M1,7870.0,270549801 +1100105,53,2705499,1,23,1,9,4,1,1,1,15,4,713Z,8590.0,270549901 +1100105,53,2705500,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,270550001 +1100105,53,2705501,1,20,2,35,5,1,1,1,15,4,928P,9590.0,270550101 +1100105,53,2705502,1,22,2,8,5,1,1,1,15,4,611M1,7870.0,270550201 +1100105,53,2705503,1,18,2,3,6,1,1,1,15,4,611M3,7890.0,270550301 +1100105,53,2705504,1,21,2,20,6,6,2,1,15,4,6211,7970.0,270550401 +1100105,53,2705505,1,24,1,45,6,6,2,1,15,4,51913,6672.0,270550501 +1100105,53,2705506,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,270550601 +1100105,53,2705507,1,18,2,20,6,6,2,1,15,4,6111,7860.0,270550701 +1100105,53,2705508,1,27,1,40,1,1,8,24,16,4,6216,8170.0,270550801 +1100105,53,2705509,1,19,2,3,6,6,1,2,15,4,6244,8470.0,270550901 +1100105,53,2705510,1,20,1,12,4,1,1,1,15,4,5415,7380.0,270551001 +1100105,53,2705511,1,18,1,25,5,6,2,1,15,4,4453,4990.0,270551101 +1100105,53,2705512,1,19,2,25,1,1,2,1,15,4,3118Z,1270.0,270551201 +1100105,53,2705513,1,18,2,15,1,1,1,1,15,4,4481,5170.0,270551301 +1100105,53,2705514,1,18,2,-9,-9,6,2,1,15,4,,,270551401 +1100105,53,2705515,1,19,2,40,6,6,1,1,15,4,4412,4680.0,270551501 +1100105,53,2705516,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,270551601 +1100105,53,2705517,1,21,2,15,4,1,9,1,15,4,92MP,9470.0,270551701 +1100105,53,2705518,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,270551801 +1100105,53,2705519,1,21,2,20,6,6,2,1,15,4,6241,8370.0,270551901 +1100105,53,2705520,1,20,2,15,1,1,9,1,15,4,721M,8670.0,270552001 +1100105,53,2705521,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,270552101 +1100105,53,2705522,1,19,1,20,6,6,1,1,15,4,4442,4890.0,270552201 +1100105,53,2705523,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,270552301 +1100105,53,2705524,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,270552401 +1100105,53,2705525,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,270552501 +1100105,53,2705526,1,30,1,35,1,1,2,1,15,4,6212,7980.0,270552601 +1100105,53,2705527,1,18,2,-9,-9,6,1,3,15,4,,,270552701 +1100105,53,2705528,1,19,2,20,6,6,1,1,15,4,722Z,8680.0,270552801 +1100105,53,2705529,1,19,2,-9,-9,6,6,1,15,4,,,270552901 +1100105,54,2705530,1,54,1,-9,-9,6,2,1,-9,4,,,270553001 +1100105,54,2705531,1,62,1,-9,-9,6,2,3,-9,4,,,270553101 +1100105,54,2705532,1,46,2,40,4,3,2,1,-9,4,454110,5593.0,270553201 +1100105,54,2705533,1,37,1,40,6,6,2,1,-9,4,4244,4470.0,270553301 +1100105,54,2705534,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,270553401 +1100105,54,2705535,1,54,1,-9,-9,6,2,1,-9,4,,,270553501 +1100105,54,2705536,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270553601 +1100105,54,2705537,1,57,2,-9,-9,6,2,1,-9,4,,,270553701 +1100105,54,2705538,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,270553801 +1100105,54,2705539,1,43,1,-9,-9,6,2,1,-9,4,,,270553901 +1100105,54,2705540,1,54,1,-9,-9,6,2,1,-9,4,,,270554001 +1100105,54,2705541,1,83,2,-9,-9,6,2,1,-9,3,,,270554101 +1100105,54,2705542,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,270554201 +1100105,54,2705543,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,270554301 +1100105,54,2705544,1,36,1,-9,-9,3,2,1,-9,4,722Z,8680.0,270554401 +1100105,54,2705545,1,59,1,40,3,6,2,1,-9,4,5616,7680.0,270554501 +1100105,54,2705546,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,270554601 +1100105,54,2705547,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,270554701 +1100105,54,2705548,1,69,1,-9,-9,6,1,1,-9,4,,,270554801 +1100105,54,2705549,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,270554901 +1100105,54,2705550,1,62,1,-9,-9,6,2,3,-9,4,,,270555001 +1100105,54,2705551,1,62,1,-9,-9,6,2,3,-9,4,,,270555101 +1100105,54,2705552,1,76,1,-9,-9,6,1,1,-9,4,,,270555201 +1100105,54,2705553,1,54,1,-9,-9,6,2,1,-9,4,,,270555301 +1100105,54,2705554,1,67,1,-9,-9,6,1,1,-9,2,,,270555401 +1100105,54,2705555,1,67,1,-9,-9,6,1,1,-9,2,,,270555501 +1100105,54,2705556,1,56,2,-9,-9,6,2,1,-9,2,,,270555601 +1100105,54,2705557,1,66,1,50,1,1,1,1,-9,4,8131,9160.0,270555701 +1100105,54,2705558,1,59,1,-9,-9,6,2,1,-9,4,,,270555801 +1100105,54,2705559,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,270555901 +1100105,54,2705560,1,57,1,-9,-9,6,2,1,-9,4,,,270556001 +1100105,54,2705561,1,18,2,20,6,6,1,1,15,4,6211,7970.0,270556101 +1100105,54,2705562,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,270556201 +1100105,54,2705563,1,18,2,-9,-9,6,2,1,15,4,,,270556301 +1100105,54,2705564,1,18,1,23,4,6,2,1,15,4,44511,4971.0,270556401 +1100105,54,2705565,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,270556501 +1100105,54,2705566,1,20,2,3,6,6,1,1,15,4,611M3,7890.0,270556601 +1100105,54,2705567,1,19,1,28,6,6,2,11,15,4,23,770.0,270556701 +1100105,54,2705568,1,18,2,10,6,6,2,1,15,4,4481,5170.0,270556801 +1100105,54,2705569,1,22,2,20,5,3,2,1,15,4,45221,5381.0,270556901 +1100105,54,2705570,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,270557001 +1100105,54,2705571,1,19,2,6,5,6,1,1,15,4,611M1,7870.0,270557101 +1100105,54,2705572,1,20,2,-9,-9,6,1,1,15,4,,,270557201 +1100105,54,2705573,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,270557301 +1100105,54,2705574,1,20,1,10,3,1,2,1,15,4,611M1,7870.0,270557401 +1100105,54,2705575,1,20,2,-9,-9,6,1,1,15,4,,,270557501 +1100105,54,2705576,1,18,2,15,4,6,2,1,15,4,45121,5370.0,270557601 +1100105,54,2705577,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270557701 +1100105,54,2705578,1,19,2,6,6,6,1,1,15,4,4481,5170.0,270557801 +1100105,54,2705579,1,19,2,15,5,1,9,1,15,4,813M,9170.0,270557901 +1100105,54,2705580,1,21,2,15,6,6,1,1,15,4,4481,5170.0,270558001 +1100105,54,2705581,1,18,2,15,4,6,2,1,15,4,45121,5370.0,270558101 +1100105,54,2705582,1,19,2,3,6,6,1,1,15,4,6244,8470.0,270558201 +1100105,54,2705583,1,20,2,-9,-9,6,2,1,15,4,6111,7860.0,270558301 +1100105,54,2705584,1,20,2,16,6,6,1,1,15,4,4481,5170.0,270558401 +1100105,54,2705585,1,21,2,-9,-9,6,2,1,15,4,,,270558501 +1100105,54,2705586,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270558601 +1100105,54,2705587,1,20,1,12,4,1,1,1,15,4,5415,7380.0,270558701 +1100105,54,2705588,1,19,2,20,6,6,1,18,15,4,713Z,8590.0,270558801 +1100105,54,2705589,1,18,2,10,6,6,1,1,15,4,5616,7680.0,270558901 +1100105,54,2705590,1,22,1,15,5,1,1,1,15,4,611M1,7870.0,270559001 +1100105,54,2705591,1,18,2,45,6,6,1,1,15,4,814,9290.0,270559101 +1100105,54,2705592,1,20,2,8,4,1,6,1,15,4,611M1,7870.0,270559201 +1100105,54,2705593,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270559301 +1100105,54,2705594,1,19,1,60,6,6,2,1,15,4,711M,8563.0,270559401 +1100105,54,2705595,1,19,1,9,6,6,1,1,15,4,722Z,8680.0,270559501 +1100105,54,2705596,1,21,2,-9,-9,6,2,1,15,4,,,270559601 +1100105,54,2705597,1,21,2,-9,-9,6,2,1,15,4,,,270559701 +1100105,54,2705598,1,21,2,20,6,6,2,1,15,4,6231,8270.0,270559801 +1100105,54,2705599,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,270559901 +1100105,54,2705600,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,270560001 +1100105,54,2705601,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,270560101 +1100105,54,2705602,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,270560201 +1100105,54,2705603,1,19,2,30,6,6,6,1,15,4,4539,5580.0,270560301 +1100105,54,2705604,1,23,2,20,5,6,6,1,16,4,928P,9590.0,270560401 +1100105,54,2705605,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,270560501 +1100105,54,2705606,1,19,2,-9,-9,6,2,1,15,4,,,270560601 +1100105,54,2705607,1,18,1,15,6,6,2,1,15,4,722Z,8680.0,270560701 +1100105,54,2705608,1,20,2,7,5,6,1,1,15,4,814,9290.0,270560801 +1100105,54,2705609,1,18,2,15,1,1,1,1,15,4,4481,5170.0,270560901 +1100105,54,2705610,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,270561001 +1100105,54,2705611,1,22,2,20,1,1,1,1,15,4,611M1,7870.0,270561101 +1100105,54,2705612,1,56,1,4,6,1,2,1,16,4,8131,9160.0,270561201 +1100105,54,2705613,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,270561301 +1100105,54,2705614,1,19,2,20,3,1,2,1,15,4,611M1,7870.0,270561401 +1100105,54,2705615,1,23,2,20,6,6,2,1,16,4,6241,8370.0,270561501 +1100105,54,2705616,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,270561601 +1100105,54,2705617,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,270561701 +1100105,54,2705618,1,18,2,-9,-9,6,2,1,15,4,,,270561801 +1100105,54,2705619,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,270561901 +1100105,54,2705620,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,270562001 +1100105,54,2705621,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,270562101 +1100105,54,2705622,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,270562201 +1100105,54,2705623,1,20,2,-9,-9,6,2,1,15,4,,,270562301 +1100105,54,2705624,1,19,2,6,5,6,1,1,15,4,611M1,7870.0,270562401 +1100105,54,2705625,1,18,2,15,1,1,1,1,15,4,4481,5170.0,270562501 +1100105,54,2705626,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,270562601 +1100105,54,2705627,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,270562701 +1100105,54,2705628,1,20,2,7,5,6,1,1,15,4,814,9290.0,270562801 +1100105,55,2705629,1,21,1,20,4,1,2,1,15,4,485M,6180.0,270562901 +1100105,55,2705630,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270563001 +1100105,55,2705631,1,19,2,84,6,6,1,1,15,4,721M,8670.0,270563101 +1100105,55,2705632,1,18,2,10,4,6,1,1,15,4,44511,4971.0,270563201 +1100105,55,2705633,1,20,1,-9,-9,6,2,1,15,4,,,270563301 +1100105,55,2705634,1,18,2,45,6,6,1,1,15,4,814,9290.0,270563401 +1100105,55,2705635,1,20,2,25,1,1,8,24,15,4,3118Z,1270.0,270563501 +1100105,55,2705636,1,21,2,-9,-9,6,1,1,15,4,,,270563601 +1100105,55,2705637,1,22,2,30,6,6,1,1,15,4,5111Z,6480.0,270563701 +1100105,55,2705638,1,21,2,20,5,1,2,1,15,4,5121,6570.0,270563801 +1100105,55,2705639,1,20,2,15,4,1,1,1,15,4,722Z,8680.0,270563901 +1100105,55,2705640,1,21,2,36,6,6,2,1,15,4,622M,8191.0,270564001 +1100105,55,2705641,1,18,1,-9,-9,6,2,1,15,4,,,270564101 +1100105,55,2705642,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270564201 +1100105,55,2705643,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,270564301 +1100105,55,2705644,1,21,2,20,5,1,9,1,15,4,5121,6570.0,270564401 +1100105,55,2705645,1,21,2,20,5,1,2,1,15,4,611M1,7870.0,270564501 +1100105,55,2705646,1,21,2,-9,-9,6,2,1,15,4,,,270564601 +1100105,55,2705647,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,270564701 +1100105,55,2705648,1,19,2,15,5,6,1,1,15,4,446Z,5080.0,270564801 +1100105,55,2705649,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,270564901 +1100105,55,2705650,1,18,2,40,5,6,6,1,15,4,712,8570.0,270565001 +1100105,55,2705651,1,26,2,40,1,1,2,1,16,4,6111,7860.0,270565101 +1100105,55,2705652,1,18,2,-9,-9,6,2,24,15,4,,,270565201 +1100105,55,2705653,1,18,1,-9,-9,6,1,1,15,4,,,270565301 +1100105,55,2705654,1,21,2,20,6,6,2,1,15,4,6241,8370.0,270565401 +1100105,55,2705655,1,20,2,12,4,1,2,1,15,4,611M1,7870.0,270565501 +1100105,55,2705656,1,18,1,10,5,6,1,1,15,4,6211,7970.0,270565601 +1100105,55,2705657,1,18,2,-9,-9,6,2,1,15,4,,,270565701 +1100105,55,2705658,1,22,1,50,6,1,2,1,15,4,51913,6672.0,270565801 +1100105,55,2705659,1,19,1,-9,-9,6,1,1,15,4,,,270565901 +1100105,55,2705660,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,270566001 +1100105,55,2705661,1,19,2,40,5,6,1,1,15,4,712,8570.0,270566101 +1100105,55,2705662,1,18,1,35,4,6,2,1,15,4,713Z,8590.0,270566201 +1100105,55,2705663,1,23,1,32,1,2,1,1,15,2,622M,8191.0,270566301 +1100105,55,2705664,1,20,2,-9,-9,6,2,1,15,4,,,270566401 +1100105,55,2705665,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,270566501 +1100105,55,2705666,1,18,1,20,6,6,2,1,15,4,4442,4890.0,270566601 +1100105,55,2705667,1,21,2,20,6,6,2,1,15,4,6241,8370.0,270566701 +1100105,55,2705668,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,270566801 +1100105,55,2705669,1,19,1,-9,-9,6,1,24,15,4,5411,7270.0,270566901 +1100105,55,2705670,1,18,2,-9,-9,6,2,1,15,4,,,270567001 +1100105,55,2705671,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,270567101 +1100105,55,2705672,1,18,2,40,6,6,2,1,15,4,923,9480.0,270567201 +1100105,55,2705673,1,18,1,-9,-9,6,6,1,15,4,611M3,7890.0,270567301 +1100105,55,2705674,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,270567401 +1100105,55,2705675,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270567501 +1100105,55,2705676,1,24,2,-9,-9,6,2,1,16,4,,,270567601 +1100105,55,2705677,1,20,1,25,4,1,1,1,15,4,92M2,9570.0,270567701 +1100105,55,2705678,1,18,2,99,6,6,2,1,15,4,721M,8670.0,270567801 +1100105,55,2705679,1,23,2,-9,-9,6,8,11,16,4,,,270567901 +1100105,55,2705680,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,270568001 +1100105,55,2705681,1,22,1,20,6,6,2,1,15,4,813M,9170.0,270568101 +1100105,55,2705682,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,270568201 +1100105,55,2705683,1,20,2,15,4,1,1,1,15,4,6111,7860.0,270568301 +1100105,55,2705684,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,270568401 +1100105,55,2705685,1,19,2,15,6,6,1,1,15,4,712,8570.0,270568501 +1100105,55,2705686,1,20,2,25,1,1,8,24,15,4,3118Z,1270.0,270568601 +1100105,55,2705687,1,20,2,15,4,1,1,1,15,4,722Z,8680.0,270568701 +1100105,55,2705688,1,20,2,15,1,1,9,1,15,4,721M,8670.0,270568801 +1100105,55,2705689,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,270568901 +1100105,55,2705690,1,19,2,-9,-9,6,2,1,15,4,,,270569001 +1100105,55,2705691,1,19,1,-9,-9,6,6,1,15,4,,,270569101 +1100105,55,2705692,1,18,1,10,4,1,1,1,15,4,721M,8670.0,270569201 +1100105,55,2705693,1,18,1,8,6,6,1,1,15,4,561M,7780.0,270569301 +1100105,55,2705694,1,20,1,6,4,1,2,1,15,4,6242,8380.0,270569401 +1100105,55,2705695,1,18,2,10,6,6,1,1,15,4,722Z,8680.0,270569501 +1100105,55,2705696,1,21,2,-9,-9,6,1,1,15,4,,,270569601 +1100105,55,2705697,1,25,2,-9,-9,6,2,1,16,4,,,270569701 +1100105,55,2705698,1,19,1,40,6,6,1,1,15,4,713Z,8590.0,270569801 +1100105,55,2705699,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,270569901 +1100105,55,2705700,1,22,2,20,1,1,1,1,15,4,611M1,7870.0,270570001 +1100105,55,2705701,1,21,1,32,5,6,1,1,15,4,5241,6991.0,270570101 +1100105,55,2705702,1,19,1,50,6,6,9,1,15,4,5416,7390.0,270570201 +1100105,55,2705703,1,18,1,40,6,6,1,1,15,4,23,770.0,270570301 +1100105,55,2705704,1,19,2,30,5,6,6,1,15,4,713Z,8590.0,270570401 +1100105,55,2705705,1,22,1,40,5,6,6,1,15,4,51913,6672.0,270570501 +1100105,55,2705706,1,19,1,10,6,6,9,1,15,4,813M,9170.0,270570601 +1100105,55,2705707,1,21,2,-9,-9,6,2,1,15,4,,,270570701 +1100105,55,2705708,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,270570801 +1100105,55,2705709,1,20,2,16,6,6,1,1,15,4,4481,5170.0,270570901 +1100105,55,2705710,1,19,1,20,6,6,1,1,15,4,5416,7390.0,270571001 +1100105,55,2705711,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,270571101 +1100105,55,2705712,1,20,2,-9,-9,6,1,1,15,4,,,270571201 +1100105,55,2705713,1,18,2,7,4,1,2,1,15,4,713Z,8590.0,270571301 +1100105,55,2705714,1,19,1,40,6,3,2,1,15,4,51913,6672.0,270571401 +1100105,55,2705715,1,20,1,15,3,1,1,1,15,4,5615,7670.0,270571501 +1100105,55,2705716,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270571601 +1100105,55,2705717,1,20,1,26,3,1,1,1,15,4,712,8570.0,270571701 +1100105,55,2705718,1,23,1,32,1,2,1,1,15,2,622M,8191.0,270571801 +1100105,55,2705719,1,18,2,15,4,6,2,1,15,4,45121,5370.0,270571901 +1100105,55,2705720,1,20,2,-9,-9,6,1,1,15,4,,,270572001 +1100105,55,2705721,1,19,2,16,6,6,2,1,15,4,45221,5381.0,270572101 +1100105,55,2705722,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,270572201 +1100105,55,2705723,1,18,2,-9,-9,6,1,1,15,4,,,270572301 +1100105,55,2705724,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,270572401 +1100105,55,2705725,1,20,1,12,3,1,1,1,15,4,611M1,7870.0,270572501 +1100105,55,2705726,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,270572601 +1100105,55,2705727,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,270572701 +1100105,55,2705728,1,21,2,15,6,6,1,1,15,4,4481,5170.0,270572801 +1100105,55,2705729,1,20,2,32,4,6,2,1,15,4,611M3,7890.0,270572901 +1100105,55,2705730,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,270573001 +1100105,55,2705731,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,270573101 +1100105,55,2705732,1,23,1,-9,-9,6,8,16,15,4,722Z,8680.0,270573201 +1100105,55,2705733,1,19,2,8,6,1,2,1,15,4,611M3,7890.0,270573301 +1100105,55,2705734,1,18,1,14,5,1,1,1,15,4,611M1,7870.0,270573401 +1100105,55,2705735,1,18,2,-9,-9,6,1,1,15,4,,,270573501 +1100105,55,2705736,1,19,1,-9,-9,6,1,1,15,4,,,270573601 +1100105,55,2705737,1,20,1,25,4,6,1,1,15,4,713Z,8590.0,270573701 +1100105,55,2705738,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270573801 +1100105,55,2705739,1,21,2,36,6,6,2,1,15,4,622M,8191.0,270573901 +1100105,55,2705740,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,270574001 +1100105,55,2705741,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,270574101 +1100105,55,2705742,1,20,2,-9,-9,6,2,1,15,4,,,270574201 +1100105,55,2705743,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,270574301 +1100105,55,2705744,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,270574401 +1100105,55,2705745,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,270574501 +1100105,55,2705746,1,21,2,20,1,1,8,21,15,4,722Z,8680.0,270574601 +1100105,55,2705747,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,270574701 +1100105,55,2705748,1,20,2,-9,-9,6,6,2,15,4,,,270574801 +1100105,55,2705749,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,270574901 +1100105,55,2705750,1,19,2,-9,-9,6,2,1,15,4,,,270575001 +1100105,55,2705751,1,18,1,28,6,6,2,1,15,4,23,770.0,270575101 +1100105,55,2705752,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,270575201 +1100105,55,2705753,1,19,2,25,1,1,2,1,15,4,3118Z,1270.0,270575301 +1100105,55,2705754,1,21,2,20,5,1,2,1,15,4,611M1,7870.0,270575401 +1100105,55,2705755,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,270575501 +1100105,55,2705756,1,20,2,-9,-9,6,1,1,15,4,,,270575601 +1100105,55,2705757,1,21,2,-9,-9,6,1,1,15,4,,,270575701 +1100105,55,2705758,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,270575801 +1100105,55,2705759,1,21,1,15,5,2,1,1,15,2,4523,5391.0,270575901 +1100105,55,2705760,1,19,1,15,6,1,1,1,15,4,4481,5170.0,270576001 +1100105,55,2705761,1,21,2,20,6,6,2,1,15,4,6231,8270.0,270576101 +1100105,55,2705762,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,270576201 +1100105,55,2705763,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,270576301 +1100105,55,2705764,1,21,1,30,6,6,2,1,15,4,4542,5670.0,270576401 +1100105,56,2705765,1,44,2,28,1,6,2,1,-9,4,4523,5391.0,270576501 +1100105,56,2705766,1,18,2,-9,-9,6,1,1,15,4,,,270576601 +1100105,56,2705767,1,21,2,-9,-9,6,1,1,15,4,,,270576701 +1100105,56,2705768,1,21,1,20,4,1,6,1,15,4,611M1,7870.0,270576801 +1100105,56,2705769,1,18,2,10,6,6,1,1,15,4,5616,7680.0,270576901 +1100105,56,2705770,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270577001 +1100105,56,2705771,1,26,1,20,6,6,2,1,16,4,92119,9390.0,270577101 +1100105,56,2705772,1,19,1,-9,-9,6,1,1,15,4,,,270577201 +1100105,56,2705773,1,21,1,30,5,2,2,1,15,4,447,5090.0,270577301 +1100105,56,2705774,1,19,2,1,6,3,6,1,15,4,6111,7860.0,270577401 +1100105,56,2705775,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,270577501 +1100105,56,2705776,1,18,1,24,6,6,1,1,15,4,722Z,8680.0,270577601 +1100105,56,2705777,1,20,2,3,6,6,1,1,15,4,611M3,7890.0,270577701 +1100105,56,2705778,1,21,2,20,5,1,6,1,15,4,5416,7390.0,270577801 +1100105,56,2705779,1,21,1,20,4,1,1,2,15,4,485M,6180.0,270577901 +1100105,56,2705780,1,20,1,25,4,3,9,1,15,4,621M,8180.0,270578001 +1100105,56,2705781,1,18,1,14,3,1,1,1,15,4,7211,8660.0,270578101 +1100105,56,2705782,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,270578201 +1100105,56,2705783,1,19,2,3,6,6,1,2,15,4,6244,8470.0,270578301 +1100105,56,2705784,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,270578401 +1100105,56,2705785,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,270578501 +1100105,56,2705786,1,21,1,-9,-9,6,2,1,15,4,,,270578601 +1100105,56,2705787,1,24,1,45,6,6,2,1,15,4,51913,6672.0,270578701 +1100105,56,2705788,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,270578801 +1100105,56,2705789,1,19,2,15,4,6,2,1,15,4,45121,5370.0,270578901 +1100105,56,2705790,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,270579001 +1100105,56,2705791,1,18,2,-9,-9,6,1,1,15,4,,,270579101 +1100105,56,2705792,1,18,1,80,5,6,1,1,15,4,721M,8670.0,270579201 +1100105,56,2705793,1,28,2,10,5,1,2,1,15,4,722Z,8680.0,270579301 +1100105,56,2705794,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,270579401 +1100105,56,2705795,1,21,1,32,5,6,1,1,15,4,5241,6991.0,270579501 +1100105,56,2705796,1,19,2,-9,-9,6,1,1,15,4,,,270579601 +1100105,56,2705797,1,19,2,3,6,6,1,2,15,4,6244,8470.0,270579701 +1100105,56,2705798,1,20,2,40,6,6,2,1,15,4,6211,7970.0,270579801 +1100105,56,2705799,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,270579901 +1100105,56,2705800,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,270580001 +1100105,56,2705801,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,270580101 +1100105,56,2705802,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,270580201 +1100105,56,2705803,1,23,2,20,6,6,2,1,16,4,6241,8370.0,270580301 +1100105,56,2705804,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,270580401 +1100105,56,2705805,1,18,1,45,6,6,1,3,15,4,721M,8670.0,270580501 +1100105,56,2705806,1,21,2,25,1,1,9,1,15,4,44821,5180.0,270580601 +1100105,56,2705807,1,19,2,15,4,6,2,1,15,4,45121,5370.0,270580701 +1100105,56,2705808,1,20,1,-9,-9,3,2,1,15,4,44511,4971.0,270580801 +1100105,56,2705809,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270580901 +1100105,56,2705810,1,29,2,-9,-9,6,6,1,16,4,,,270581001 +1100105,56,2705811,1,20,1,-9,-9,6,1,1,15,4,,,270581101 +1100105,56,2705812,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,270581201 +1100105,56,2705813,1,21,1,45,5,6,1,1,15,4,5419Z,7490.0,270581301 +1100105,56,2705814,1,20,2,6,5,1,1,1,15,4,4481,5170.0,270581401 +1100105,56,2705815,1,19,2,16,6,6,1,1,15,4,713Z,8590.0,270581501 +1100105,56,2705816,1,21,2,10,5,1,1,1,15,4,5411,7270.0,270581601 +1100105,56,2705817,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270581701 +1100105,56,2705818,1,21,1,40,6,1,1,1,15,4,337,3895.0,270581801 +1100105,56,2705819,1,23,1,9,4,1,1,1,15,4,713Z,8590.0,270581901 +1100105,56,2705820,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,270582001 +1100105,56,2705821,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,270582101 +1100105,56,2705822,1,20,2,15,1,1,1,1,15,4,6244,8470.0,270582201 +1100105,56,2705823,1,20,2,-9,-9,6,2,1,15,4,,,270582301 +1100105,56,2705824,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270582401 +1100105,56,2705825,1,19,2,30,6,6,1,1,15,4,442,4770.0,270582501 +1100105,56,2705826,1,21,2,-9,-9,6,2,1,15,4,,,270582601 +1100105,56,2705827,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,270582701 +1100105,56,2705828,1,23,2,40,3,6,9,1,16,4,611M3,7890.0,270582801 +1100105,56,2705829,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,270582901 +1100105,56,2705830,1,19,2,-9,-9,6,2,1,15,4,,,270583001 +1100105,56,2705831,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270583101 +1100105,56,2705832,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270583201 +1100105,56,2705833,1,18,2,-9,-9,6,1,1,15,4,,,270583301 +1100105,56,2705834,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,270583401 +1100105,56,2705835,1,20,2,10,6,1,1,1,15,4,611M1,7870.0,270583501 +1100105,56,2705836,1,18,1,8,4,1,1,1,15,4,611M1,7870.0,270583601 +1100105,56,2705837,1,20,2,-9,-9,6,2,1,15,4,,,270583701 +1100105,56,2705838,1,20,2,25,6,6,1,1,15,4,623M,8290.0,270583801 +1100105,56,2705839,1,18,2,15,6,3,2,1,15,4,4481,5170.0,270583901 +1100105,56,2705840,1,19,2,-9,-9,6,1,1,15,4,,,270584001 +1100105,56,2705841,1,20,1,-9,-9,6,1,1,15,4,,,270584101 +1100105,56,2705842,1,21,1,20,4,1,2,1,15,4,485M,6180.0,270584201 +1100105,56,2705843,1,20,1,6,4,1,2,1,15,4,6242,8380.0,270584301 +1100105,56,2705844,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,270584401 +1100105,56,2705845,1,19,1,-9,-9,6,6,1,15,4,,,270584501 +1100105,56,2705846,1,18,1,23,4,6,2,1,15,4,44511,4971.0,270584601 +1100105,56,2705847,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,270584701 +1100105,56,2705848,1,24,2,-9,-9,6,2,1,15,4,,,270584801 +1100105,56,2705849,1,18,2,-9,-9,6,1,1,15,4,,,270584901 +1100105,56,2705850,1,19,1,24,5,1,1,1,15,4,4539,5580.0,270585001 +1100105,56,2705851,1,26,2,40,1,1,2,1,16,4,6111,7860.0,270585101 +1100105,56,2705852,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,270585201 +1100105,56,2705853,1,22,2,36,6,6,2,1,15,4,622M,8191.0,270585301 +1100105,56,2705854,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,270585401 +1100105,56,2705855,1,24,2,-9,-9,6,2,1,16,4,,,270585501 +1100105,56,2705856,1,20,2,12,3,6,6,1,15,4,611M1,7870.0,270585601 +1100105,56,2705857,1,19,1,45,6,6,1,1,15,4,721M,8670.0,270585701 +1100105,56,2705858,1,20,2,45,6,3,2,1,15,4,5412,7280.0,270585801 +1100105,56,2705859,1,22,2,20,5,1,2,1,15,4,5121,6570.0,270585901 +1100105,56,2705860,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,270586001 +1100105,56,2705861,1,20,2,-9,-9,6,1,1,15,4,,,270586101 +1100105,56,2705862,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270586201 +1100105,56,2705863,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,270586301 +1100105,56,2705864,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,270586401 +1100105,56,2705865,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,270586501 +1100105,56,2705866,1,21,1,20,4,1,6,1,15,4,611M1,7870.0,270586601 +1100105,56,2705867,1,23,2,20,6,6,2,1,16,4,6241,8370.0,270586701 +1100105,56,2705868,1,19,2,20,5,6,1,2,15,4,71395,8580.0,270586801 +1100105,56,2705869,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,270586901 +1100105,56,2705870,1,24,1,45,6,6,2,1,15,4,51913,6672.0,270587001 +1100105,56,2705871,1,19,2,3,6,6,1,2,15,4,6244,8470.0,270587101 +1100105,56,2705872,1,20,2,-9,-9,6,1,1,15,4,,,270587201 +1100105,56,2705873,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,270587301 +1100105,56,2705874,1,19,2,25,1,1,2,1,15,4,3118Z,1270.0,270587401 +1100105,56,2705875,1,21,2,20,3,1,2,1,15,4,611M1,7870.0,270587501 +1100105,56,2705876,1,19,2,30,6,6,1,1,15,4,442,4770.0,270587601 +1100105,56,2705877,1,19,2,30,4,6,1,1,15,4,45121,5370.0,270587701 +1100105,56,2705878,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,270587801 +1100105,56,2705879,1,20,2,4,5,6,1,1,15,4,814,9290.0,270587901 +1100105,56,2705880,1,19,2,24,5,6,1,1,15,4,722Z,8680.0,270588001 +1100105,56,2705881,1,19,2,99,6,6,1,1,15,4,721M,8670.0,270588101 +1100105,56,2705882,1,19,1,-9,-9,6,1,1,15,4,,,270588201 +1100105,56,2705883,1,18,2,99,6,6,2,1,15,4,721M,8670.0,270588301 +1100105,56,2705884,1,24,2,-9,-9,6,2,1,16,4,,,270588401 +1100105,56,2705885,1,18,2,3,6,1,1,1,15,4,611M3,7890.0,270588501 +1100105,56,2705886,1,18,2,10,3,1,1,1,15,4,44511,4971.0,270588601 +1100105,56,2705887,1,18,1,-9,-9,6,1,1,15,4,,,270588701 +1100105,56,2705888,1,22,1,15,4,2,2,1,15,4,4481,5170.0,270588801 +1100105,56,2705889,1,20,2,25,6,6,1,1,15,4,623M,8290.0,270588901 +1100105,56,2705890,1,20,2,17,1,1,1,1,15,4,4483,5190.0,270589001 +1100105,56,2705891,1,18,2,-9,-9,6,1,3,15,4,,,270589101 +1100105,56,2705892,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,270589201 +1100105,56,2705893,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,270589301 +1100105,56,2705894,1,21,2,40,3,6,1,16,15,4,623M,8290.0,270589401 +1100105,56,2705895,1,20,1,6,4,1,2,1,15,4,6242,8380.0,270589501 +1100105,56,2705896,1,18,2,40,5,6,1,1,15,4,712,8570.0,270589601 +1100105,56,2705897,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,270589701 +1100105,56,2705898,1,20,2,3,6,6,1,1,15,4,611M3,7890.0,270589801 +1100105,56,2705899,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270589901 +1100105,56,2705900,1,20,1,-9,-9,6,1,24,15,4,9211MP,9370.0,270590001 +1100105,56,2705901,1,19,1,40,6,3,1,1,15,4,51913,6672.0,270590101 +1100105,56,2705902,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,270590201 +1100105,56,2705903,1,20,1,-9,-9,6,1,1,15,4,711M,8563.0,270590301 +1100105,56,2705904,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270590401 +1100105,56,2705905,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270590501 +1100105,56,2705906,1,18,2,15,1,1,1,1,15,4,4481,5170.0,270590601 +1100105,56,2705907,1,24,2,-9,-9,6,2,1,15,4,,,270590701 +1100105,56,2705908,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,270590801 +1100105,56,2705909,1,18,1,23,4,6,2,1,15,4,44511,4971.0,270590901 +1100105,56,2705910,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,270591001 +1100105,56,2705911,1,22,2,20,5,3,2,1,15,4,45221,5381.0,270591101 +1100105,56,2705912,1,21,1,20,4,1,1,1,15,4,813M,9170.0,270591201 +1100105,56,2705913,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,270591301 +1100105,56,2705914,1,18,1,3,6,3,9,1,15,4,5411,7270.0,270591401 +1100105,56,2705915,1,19,2,-9,-9,6,1,1,15,4,,,270591501 +1100105,56,2705916,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,270591601 +1100105,56,2705917,1,18,1,-9,-9,6,1,1,15,4,,,270591701 +1100105,56,2705918,1,19,2,-9,-9,6,2,1,15,4,,,270591801 +1100105,56,2705919,1,20,2,25,1,1,8,24,15,4,3118Z,1270.0,270591901 +1100105,56,2705920,1,20,2,15,1,1,1,1,15,4,6244,8470.0,270592001 +1100105,56,2705921,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,270592101 +1100105,56,2705922,1,18,2,10,6,6,1,1,15,4,722Z,8680.0,270592201 +1100105,56,2705923,1,20,1,15,3,1,1,1,15,4,5615,7670.0,270592301 +1100105,56,2705924,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270592401 +1100105,56,2705925,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270592501 +1100105,56,2705926,1,18,2,8,6,6,1,1,15,4,712,8570.0,270592601 +1100105,56,2705927,1,22,2,20,5,1,2,1,15,4,5121,6570.0,270592701 +1100105,56,2705928,1,18,1,20,6,1,2,1,15,4,611M1,7870.0,270592801 +1100105,56,2705929,1,18,1,-9,-9,6,1,1,15,4,,,270592901 +1100105,56,2705930,1,21,2,-9,-9,6,1,1,15,4,,,270593001 +1100105,56,2705931,1,20,1,25,4,1,1,1,15,4,611M1,7870.0,270593101 +1100105,56,2705932,1,21,1,20,4,1,1,1,15,4,813M,9170.0,270593201 +1100105,56,2705933,1,20,1,12,4,1,1,1,15,4,5415,7380.0,270593301 +1100105,56,2705934,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270593401 +1100105,56,2705935,1,18,1,-9,-9,6,1,1,15,4,,,270593501 +1100105,56,2705936,1,20,1,20,6,6,7,1,15,4,3345,3380.0,270593601 +1100105,56,2705937,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,270593701 +1100105,56,2705938,1,18,1,-9,-9,6,2,1,15,4,,,270593801 +1100105,56,2705939,1,19,2,22,6,6,1,1,15,4,722Z,8680.0,270593901 +1100105,56,2705940,1,18,2,15,4,1,2,1,15,4,722Z,8680.0,270594001 +1100105,56,2705941,1,28,1,40,1,1,1,1,16,4,8122,9080.0,270594101 +1100105,56,2705942,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,270594201 +1100105,56,2705943,1,20,2,12,4,1,2,1,15,4,611M1,7870.0,270594301 +1100105,56,2705944,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,270594401 +1100105,56,2705945,1,18,2,45,6,6,1,1,15,4,814,9290.0,270594501 +1100105,56,2705946,1,19,2,99,6,6,1,1,15,4,721M,8670.0,270594601 +1100105,56,2705947,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,270594701 +1100105,56,2705948,1,20,1,45,5,6,6,1,15,4,4481,5170.0,270594801 +1100105,56,2705949,1,22,2,18,5,3,1,1,16,4,4481,5170.0,270594901 +1100105,56,2705950,1,19,2,-9,-9,6,2,1,15,4,,,270595001 +1100105,56,2705951,1,18,2,40,3,1,1,1,15,4,611M3,7890.0,270595101 +1100105,56,2705952,1,20,2,40,6,6,2,1,15,4,6211,7970.0,270595201 +1100105,56,2705953,1,18,2,45,6,6,1,1,15,4,814,9290.0,270595301 +1100105,56,2705954,1,21,2,40,3,6,1,16,15,4,623M,8290.0,270595401 +1100105,56,2705955,1,19,1,8,6,1,2,1,15,4,611M1,7870.0,270595501 +1100105,56,2705956,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,270595601 +1100105,56,2705957,1,19,1,-9,-9,6,1,1,15,4,,,270595701 +1100105,56,2705958,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,270595801 +1100105,56,2705959,1,20,2,8,1,1,1,1,15,4,8131,9160.0,270595901 +1100105,56,2705960,1,20,2,-9,-9,6,1,1,15,4,,,270596001 +1100105,56,2705961,1,20,2,18,5,3,1,1,15,4,4481,5170.0,270596101 +1100105,56,2705962,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,270596201 +1100105,56,2705963,1,18,1,-9,-9,6,1,1,15,4,,,270596301 +1100105,56,2705964,1,21,1,10,1,1,2,1,15,4,611M1,7870.0,270596401 +1100105,56,2705965,1,21,1,30,6,6,2,1,15,4,4542,5670.0,270596501 +1100105,56,2705966,1,18,2,46,6,6,2,1,15,4,721M,8670.0,270596601 +1100105,56,2705967,1,19,1,45,6,6,1,1,15,4,721M,8670.0,270596701 +1100105,56,2705968,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,270596801 +1100105,56,2705969,1,18,2,6,5,1,1,4,15,4,4481,5170.0,270596901 +1100105,56,2705970,1,19,1,28,6,6,2,11,15,4,23,770.0,270597001 +1100105,56,2705971,1,20,1,26,3,1,1,1,15,4,712,8570.0,270597101 +1100105,56,2705972,1,19,2,-9,-9,6,2,1,15,4,,,270597201 +1100105,56,2705973,1,19,2,15,4,6,2,1,15,4,45121,5370.0,270597301 +1100105,56,2705974,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270597401 +1100105,56,2705975,1,20,2,-9,-9,6,2,1,15,4,,,270597501 +1100105,56,2705976,1,21,2,10,5,1,1,1,15,4,5411,7270.0,270597601 +1100105,56,2705977,1,20,2,40,6,6,2,1,15,4,6243,8390.0,270597701 +1100105,56,2705978,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270597801 +1100105,56,2705979,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,270597901 +1100105,56,2705980,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,270598001 +1100105,56,2705981,1,19,1,24,5,1,1,1,15,4,4539,5580.0,270598101 +1100105,56,2705982,1,22,1,24,6,6,2,1,15,4,4481,5170.0,270598201 +1100105,56,2705983,1,19,2,84,6,6,1,1,15,4,721M,8670.0,270598301 +1100105,56,2705984,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,270598401 +1100105,56,2705985,1,18,2,-9,-9,6,1,1,15,4,,,270598501 +1100105,56,2705986,1,19,1,45,6,6,1,1,15,4,721M,8670.0,270598601 +1100105,56,2705987,1,18,2,-9,-9,6,2,1,15,4,,,270598701 +1100105,56,2705988,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,270598801 +1100105,56,2705989,1,18,1,40,6,6,2,19,15,4,5617Z,7690.0,270598901 +1100105,56,2705990,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,270599001 +1100105,56,2705991,1,20,2,-9,-9,6,2,1,15,4,6111,7860.0,270599101 +1100105,56,2705992,1,23,1,40,6,3,2,1,16,4,813M,9170.0,270599201 +1100105,56,2705993,1,20,1,-9,-9,3,2,1,15,4,44511,4971.0,270599301 +1100105,56,2705994,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,270599401 +1100105,56,2705995,1,19,2,40,6,6,1,1,15,4,4412,4680.0,270599501 +1100105,56,2705996,1,33,2,35,4,3,2,1,15,4,6231,8270.0,270599601 +1100105,56,2705997,1,19,2,15,4,6,2,1,15,4,45121,5370.0,270599701 +1100105,56,2705998,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,270599801 +1100105,56,2705999,1,21,2,-9,-9,6,2,1,15,4,4523,5391.0,270599901 +1100105,56,2706000,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270600001 +1100105,56,2706001,1,19,2,10,5,6,2,1,15,4,611M1,7870.0,270600101 +1100105,56,2706002,1,20,2,-9,-9,6,1,1,15,4,,,270600201 +1100105,56,2706003,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270600301 +1100105,56,2706004,1,22,2,10,4,1,6,1,15,4,813M,9170.0,270600401 +1100105,56,2706005,1,21,2,-9,-9,6,1,1,15,4,,,270600501 +1100105,56,2706006,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,270600601 +1100105,56,2706007,1,19,2,-9,-9,6,2,1,15,4,,,270600701 +1100105,56,2706008,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,270600801 +1100105,56,2706009,1,18,2,40,5,6,6,1,15,4,712,8570.0,270600901 +1100105,56,2706010,1,21,2,40,6,6,6,1,15,4,611M1,7870.0,270601001 +1100105,56,2706011,1,19,2,15,4,6,2,1,15,4,45121,5370.0,270601101 +1100105,56,2706012,1,18,1,45,6,6,1,3,15,4,721M,8670.0,270601201 +1100105,56,2706013,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270601301 +1100105,56,2706014,1,18,1,-9,-9,6,9,1,15,4,,,270601401 +1100105,56,2706015,1,18,2,-9,-9,6,2,1,15,4,,,270601501 +1100105,56,2706016,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,270601601 +1100105,56,2706017,1,18,1,50,5,6,1,1,15,4,713Z,8590.0,270601701 +1100105,56,2706018,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,270601801 +1100105,56,2706019,1,18,1,15,6,6,2,1,15,4,722Z,8680.0,270601901 +1100105,56,2706020,1,22,2,-9,-9,6,2,24,15,4,,,270602001 +1100105,56,2706021,1,21,2,25,3,1,1,1,15,4,611M1,7870.0,270602101 +1100105,56,2706022,1,19,1,-9,-9,6,1,1,15,4,,,270602201 +1100105,56,2706023,1,20,2,25,6,6,1,1,15,4,623M,8290.0,270602301 +1100105,56,2706024,1,21,2,20,6,6,2,1,15,4,6231,8270.0,270602401 +1100105,56,2706025,1,37,2,38,3,1,9,3,16,4,611M1,7870.0,270602501 +1100105,56,2706026,1,18,2,20,6,6,2,1,15,4,6111,7860.0,270602601 +1100105,56,2706027,1,18,1,10,6,6,1,1,15,4,6111,7860.0,270602701 +1100105,56,2706028,1,21,2,-9,-9,6,1,1,15,4,,,270602801 +1100105,56,2706029,1,18,2,46,6,6,2,1,15,4,721M,8670.0,270602901 +1100105,56,2706030,1,19,2,40,6,6,1,1,15,4,923,9480.0,270603001 +1100105,56,2706031,1,19,2,20,6,1,1,1,15,4,611M1,7870.0,270603101 +1100105,56,2706032,1,21,2,40,6,6,6,1,15,4,611M1,7870.0,270603201 +1100105,56,2706033,1,21,2,-9,-9,6,2,1,15,4,4523,5391.0,270603301 +1100105,56,2706034,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,270603401 +1100105,56,2706035,1,18,2,28,4,6,2,1,15,4,722Z,8680.0,270603501 +1100105,56,2706036,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,270603601 +1100105,56,2706037,1,19,1,12,5,1,1,1,15,4,713Z,8590.0,270603701 +1100105,56,2706038,1,18,1,25,5,6,2,1,15,4,4453,4990.0,270603801 +1100105,56,2706039,1,23,2,20,5,6,6,1,16,4,928P,9590.0,270603901 +1100105,56,2706040,1,24,2,40,3,6,9,1,16,4,611M3,7890.0,270604001 +1100105,56,2706041,1,18,2,-9,-9,6,1,1,15,4,,,270604101 +1100105,56,2706042,1,19,1,30,4,6,1,1,15,4,722Z,8680.0,270604201 +1100105,56,2706043,1,24,1,35,2,6,6,1,16,4,5242,6992.0,270604301 +1100105,56,2706044,1,21,1,20,4,1,1,1,15,4,813M,9170.0,270604401 +1100105,56,2706045,1,21,2,-9,-9,6,2,1,15,4,4523,5391.0,270604501 +1100105,56,2706046,1,18,2,-9,-9,6,6,1,15,4,,,270604601 +1100105,56,2706047,1,21,2,-9,-9,6,1,1,15,4,,,270604701 +1100105,56,2706048,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,270604801 +1100105,56,2706049,1,18,1,20,6,6,2,1,15,4,4442,4890.0,270604901 +1100105,56,2706050,1,18,1,-9,-9,6,2,1,15,4,,,270605001 +1100105,56,2706051,1,19,2,15,1,1,1,1,15,4,611M1,7870.0,270605101 +1100105,56,2706052,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,270605201 +1100105,56,2706053,1,19,2,15,1,1,1,1,15,4,611M1,7870.0,270605301 +1100105,56,2706054,1,18,1,8,5,1,1,1,15,4,611M1,7870.0,270605401 +1100105,56,2706055,1,20,2,-9,-9,6,1,1,15,4,,,270605501 +1100105,56,2706056,1,20,2,-9,-9,6,1,1,15,4,,,270605601 +1100105,56,2706057,1,20,1,25,4,3,9,1,15,4,621M,8180.0,270605701 +1100105,56,2706058,1,18,2,-9,-9,6,2,24,15,4,,,270605801 +1100105,56,2706059,1,18,1,-9,-9,6,1,1,15,4,,,270605901 +1100105,56,2706060,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,270606001 +1100105,56,2706061,1,18,2,-9,-9,6,2,1,15,4,,,270606101 +1100105,56,2706062,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,270606201 +1100105,56,2706063,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,270606301 +1100105,56,2706064,1,19,1,9,6,6,1,1,15,4,722Z,8680.0,270606401 +1100105,56,2706065,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,270606501 +1100105,56,2706066,1,18,1,14,3,1,1,1,15,4,7211,8660.0,270606601 +1100105,56,2706067,1,18,1,-9,-9,6,1,1,15,4,,,270606701 +1100105,56,2706068,1,18,2,-9,-9,6,2,1,15,4,,,270606801 +1100105,56,2706069,1,19,1,40,6,1,1,1,15,4,487,6280.0,270606901 +1100105,56,2706070,1,19,1,20,6,6,1,1,15,4,4442,4890.0,270607001 +1100105,56,2706071,1,28,1,45,6,3,2,1,16,4,5413,7290.0,270607101 +1100105,56,2706072,1,19,2,-9,-9,6,2,1,15,4,,,270607201 +1100105,56,2706073,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,270607301 +1100105,56,2706074,1,18,1,-9,-9,6,1,1,15,4,,,270607401 +1100105,56,2706075,1,23,1,40,6,3,2,1,16,4,813M,9170.0,270607501 +1100105,56,2706076,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,270607601 +1100105,56,2706077,1,18,2,-9,-9,6,1,1,15,4,,,270607701 +1100105,56,2706078,1,18,2,46,6,6,2,1,15,4,721M,8670.0,270607801 +1100105,56,2706079,1,19,2,30,6,6,1,1,15,4,442,4770.0,270607901 +1100105,56,2706080,1,22,1,50,6,1,2,1,15,4,51913,6672.0,270608001 +1100105,56,2706081,1,18,1,-9,-9,6,1,1,15,4,,,270608101 +1100105,56,2706082,1,18,1,30,6,6,2,1,15,4,722Z,8680.0,270608201 +1100105,56,2706083,1,23,2,-9,-9,6,8,11,16,4,,,270608301 +1100105,56,2706084,1,24,2,5,5,6,1,1,16,4,611M1,7870.0,270608401 +1100105,56,2706085,1,17,1,30,6,6,2,1,15,4,4481,5170.0,270608501 +1100105,56,2706086,1,21,2,36,6,6,1,1,15,4,622M,8191.0,270608601 +1100105,56,2706087,1,23,2,-9,-9,6,2,1,15,4,,,270608701 +1100105,56,2706088,1,19,2,10,5,1,1,1,15,4,6213ZM,8080.0,270608801 +1100105,56,2706089,1,18,2,20,6,6,2,1,15,4,6111,7860.0,270608901 +1100105,56,2706090,1,18,1,-9,-9,6,1,1,15,4,,,270609001 +1100105,56,2706091,1,22,1,15,5,1,1,1,15,4,92113,9380.0,270609101 +1100105,56,2706092,1,18,2,6,2,1,9,14,15,4,6111,7860.0,270609201 +1100105,56,2706093,1,20,1,-9,-9,6,2,1,15,4,,,270609301 +1100105,56,2706094,1,21,2,-9,-9,6,1,1,15,4,,,270609401 +1100105,56,2706095,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,270609501 +1100105,56,2706096,1,20,2,-9,-9,6,2,1,15,4,,,270609601 +1100105,56,2706097,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,270609701 +1100105,56,2706098,1,19,2,30,6,6,1,1,15,4,442,4770.0,270609801 +1100105,56,2706099,1,21,2,-9,-9,6,1,1,15,4,,,270609901 +1100105,56,2706100,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,270610001 +1100105,56,2706101,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,270610101 +1100105,56,2706102,1,18,2,20,3,6,1,1,15,4,5411,7270.0,270610201 +1100105,56,2706103,1,21,1,20,4,1,1,2,15,4,485M,6180.0,270610301 +1100105,56,2706104,1,18,1,7,1,1,9,1,15,4,611M1,7870.0,270610401 +1100105,56,2706105,1,19,2,-9,-9,6,2,1,15,4,,,270610501 +1100105,56,2706106,1,20,1,-9,-9,6,1,1,15,4,6111,7860.0,270610601 +1100105,56,2706107,1,18,2,-9,-9,6,1,1,15,4,,,270610701 +1100105,56,2706108,1,22,2,20,6,6,2,1,15,4,6231,8270.0,270610801 +1100105,56,2706109,1,21,2,6,4,1,1,1,15,4,611M1,7870.0,270610901 +1100105,56,2706110,1,20,2,32,4,6,1,1,15,4,611M3,7890.0,270611001 +1100105,56,2706111,1,21,2,-9,-9,6,2,1,15,4,23,770.0,270611101 +1100105,56,2706112,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,270611201 +1100105,56,2706113,1,20,2,32,4,6,1,1,15,4,611M3,7890.0,270611301 +1100105,56,2706114,1,18,2,15,1,1,1,1,15,4,4481,5170.0,270611401 +1100105,56,2706115,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,270611501 +1100105,56,2706116,1,19,2,84,6,6,1,1,15,4,721M,8670.0,270611601 +1100105,56,2706117,1,21,1,20,4,1,1,1,15,4,611M1,7870.0,270611701 +1100105,56,2706118,1,20,2,40,4,1,6,1,15,4,8139Z,9190.0,270611801 +1100105,56,2706119,1,20,1,-9,-9,6,1,16,15,4,,,270611901 +1100105,56,2706120,1,19,2,-9,-9,6,1,1,15,4,,,270612001 +1100105,56,2706121,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,270612101 +1100105,56,2706122,1,22,2,18,5,3,1,1,16,4,4481,5170.0,270612201 +1100105,56,2706123,1,20,2,10,4,1,6,1,15,4,611M3,7890.0,270612301 +1100105,56,2706124,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270612401 +1100105,56,2706125,1,20,1,21,6,6,2,1,15,4,722Z,8680.0,270612501 +1100105,56,2706126,1,20,2,20,3,1,1,1,15,4,44821,5180.0,270612601 +1100105,56,2706127,1,18,2,-9,-9,6,1,24,15,4,,,270612701 +1100105,56,2706128,1,24,2,-9,-9,6,2,1,15,4,,,270612801 +1100105,56,2706129,1,19,2,-9,-9,6,2,1,15,4,,,270612901 +1100105,56,2706130,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,270613001 +1100105,56,2706131,1,20,2,20,2,1,2,1,15,4,92119,9390.0,270613101 +1100105,56,2706132,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,270613201 +1100105,56,2706133,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,270613301 +1100105,56,2706134,1,18,2,8,6,6,1,1,15,4,712,8570.0,270613401 +1100105,56,2706135,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,270613501 +1100105,56,2706136,1,20,1,-9,-9,6,1,1,15,4,,,270613601 +1100105,56,2706137,1,21,1,20,4,1,8,24,15,4,5415,7380.0,270613701 +1100105,56,2706138,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,270613801 +1100105,56,2706139,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,270613901 +1100105,56,2706140,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,270614001 +1100105,56,2706141,1,20,1,-9,-9,6,6,1,15,4,,,270614101 +1100105,56,2706142,1,22,1,40,1,1,1,1,15,4,5415,7380.0,270614201 +1100105,56,2706143,1,20,1,-9,-9,6,1,16,15,4,,,270614301 +1100105,56,2706144,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,270614401 +1100105,56,2706145,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,270614501 +1100105,56,2706146,1,19,2,8,1,6,1,1,15,4,4481,5170.0,270614601 +1100105,56,2706147,1,20,2,7,5,6,1,1,15,4,814,9290.0,270614701 +1100105,56,2706148,1,18,1,80,5,6,1,1,15,4,721M,8670.0,270614801 +1100105,56,2706149,1,21,2,40,6,6,2,1,15,4,52M1,6870.0,270614901 +1100105,56,2706150,1,18,1,-9,-9,6,9,1,15,4,,,270615001 +1100105,56,2706151,1,18,2,20,1,6,1,1,15,4,111,170.0,270615101 +1100105,56,2706152,1,19,1,4,6,6,1,1,15,4,814,9290.0,270615201 +1100105,56,2706153,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,270615301 +1100105,56,2706154,1,19,2,-9,-9,6,1,1,15,4,,,270615401 +1100105,56,2706155,1,19,2,20,4,1,2,1,15,4,5313,7072.0,270615501 +1100105,56,2706156,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,270615601 +1100105,56,2706157,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,270615701 +1100105,56,2706158,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,270615801 +1100105,56,2706159,1,21,2,20,5,1,2,1,15,4,5121,6570.0,270615901 +1100105,56,2706160,1,21,2,30,5,6,2,1,15,4,712,8570.0,270616001 +1100105,56,2706161,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,270616101 +1100105,56,2706162,1,20,1,-9,-9,6,9,1,15,4,,,270616201 +1100105,56,2706163,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,270616301 +1100105,56,2706164,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,270616401 +1100105,56,2706165,1,20,1,10,3,1,2,1,15,4,611M1,7870.0,270616501 +1100105,56,2706166,1,21,2,6,4,1,1,1,15,4,611M1,7870.0,270616601 +1100105,56,2706167,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,270616701 +1100105,56,2706168,1,21,2,-9,-9,6,1,1,15,4,,,270616801 +1100105,56,2706169,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,270616901 +1100105,56,2706170,1,21,1,20,4,1,1,2,15,4,485M,6180.0,270617001 +1100105,56,2706171,1,20,1,16,4,6,1,1,15,4,7211,8660.0,270617101 +1100105,56,2706172,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,270617201 +1100105,56,2706173,1,20,2,35,5,1,1,1,15,4,928P,9590.0,270617301 +1100105,56,2706174,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,270617401 +1100105,56,2706175,1,19,1,-9,-9,6,1,1,15,4,531M,7071.0,270617501 +1100105,56,2706176,1,20,2,8,1,1,1,1,15,4,8131,9160.0,270617601 +1100105,56,2706177,1,21,2,-9,-9,6,2,1,15,4,,,270617701 +1100105,56,2706178,1,20,2,16,6,6,1,1,15,4,4481,5170.0,270617801 +1100105,56,2706179,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,270617901 +1100105,56,2706180,1,21,2,28,5,6,2,1,15,4,5241,6991.0,270618001 +1100105,56,2706181,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,270618101 +1100105,56,2706182,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,270618201 +1100105,56,2706183,1,25,2,-9,-9,6,2,1,16,4,,,270618301 +1100105,56,2706184,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,270618401 +1100105,56,2706185,1,19,2,3,6,6,1,1,15,4,6244,8470.0,270618501 +1100105,56,2706186,1,19,1,40,6,3,1,1,15,4,51913,6672.0,270618601 +1100105,56,2706187,1,28,2,10,5,1,2,1,15,4,722Z,8680.0,270618701 +1100105,56,2706188,1,19,2,30,6,6,6,1,15,4,4539,5580.0,270618801 +1100105,56,2706189,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,270618901 +1100105,56,2706190,1,18,2,-9,-9,6,6,1,15,4,,,270619001 +1100105,56,2706191,1,20,2,7,6,3,2,1,15,4,712,8570.0,270619101 +1100105,56,2706192,1,28,2,10,5,1,2,1,15,4,722Z,8680.0,270619201 +1100105,56,2706193,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,270619301 +1100105,56,2706194,1,18,1,-9,-9,6,6,1,15,4,611M3,7890.0,270619401 +1100105,56,2706195,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,270619501 +1100105,56,2706196,1,22,2,-9,-9,6,1,1,15,4,,,270619601 +1100105,56,2706197,1,18,1,-9,-9,6,1,1,15,4,,,270619701 +1100105,56,2706198,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270619801 +1100105,56,2706199,1,19,2,30,6,6,1,1,15,4,442,4770.0,270619901 +1100105,56,2706200,1,19,2,8,6,1,2,1,15,4,611M3,7890.0,270620001 +1100105,56,2706201,1,20,2,-9,-9,6,2,1,15,4,,,270620101 +1100105,56,2706202,1,19,2,-9,-9,6,1,1,15,4,,,270620201 +1100105,56,2706203,1,20,1,26,3,1,1,1,15,4,712,8570.0,270620301 +1100105,56,2706204,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,270620401 +1100105,56,2706205,1,19,2,-9,-9,6,1,24,15,4,,,270620501 +1100105,56,2706206,1,21,2,20,4,1,2,1,15,4,611M1,7870.0,270620601 +1100105,56,2706207,1,18,1,10,4,1,1,1,15,4,721M,8670.0,270620701 +1100105,56,2706208,1,19,2,-9,-9,6,2,1,15,4,,,270620801 +1100105,56,2706209,1,21,2,35,5,1,2,1,15,4,928P,9590.0,270620901 +1100105,56,2706210,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,270621001 +1100105,56,2706211,1,18,2,-9,-9,6,1,3,15,4,,,270621101 +1100105,56,2706212,1,22,1,24,6,6,2,1,15,4,4481,5170.0,270621201 +1100105,56,2706213,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,270621301 +1100105,56,2706214,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,270621401 +1100105,56,2706215,1,19,2,-9,-9,6,6,1,15,4,,,270621501 +1100105,56,2706216,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,270621601 +1100105,56,2706217,1,37,2,38,3,1,9,3,16,4,611M1,7870.0,270621701 +1100105,56,2706218,1,19,2,15,1,1,1,1,15,4,611M1,7870.0,270621801 +1100105,56,2706219,1,20,2,10,4,1,6,1,15,4,611M3,7890.0,270621901 +1100105,56,2706220,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,270622001 +1100105,56,2706221,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270622101 +1100105,56,2706222,1,19,1,6,1,1,1,1,15,4,622M,8191.0,270622201 +1100105,56,2706223,1,20,2,18,5,1,2,1,15,4,722Z,8680.0,270622301 +1100105,56,2706224,1,22,1,15,5,1,1,1,15,4,611M1,7870.0,270622401 +1100105,56,2706225,1,19,2,40,5,6,1,1,15,4,712,8570.0,270622501 +1100105,56,2706226,1,18,2,-9,-9,6,1,3,15,4,,,270622601 +1100105,56,2706227,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,270622701 +1100105,56,2706228,1,21,1,-9,-9,6,2,1,15,4,,,270622801 +1100105,56,2706229,1,19,1,10,6,6,1,1,15,4,23,770.0,270622901 +1100105,56,2706230,1,19,1,15,6,1,1,1,15,4,4481,5170.0,270623001 +1100105,56,2706231,1,18,1,8,4,1,1,1,15,4,611M1,7870.0,270623101 +1100105,56,2706232,1,20,1,-9,-9,6,1,1,15,4,711M,8563.0,270623201 +1100105,56,2706233,1,18,1,-9,-9,6,6,1,15,4,,,270623301 +1100105,56,2706234,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,270623401 +1100105,56,2706235,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,270623501 +1100105,56,2706236,1,21,2,36,6,6,1,1,15,4,622M,8191.0,270623601 +1100105,56,2706237,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,270623701 +1100105,56,2706238,1,20,1,20,6,6,2,1,15,4,813M,9170.0,270623801 +1100105,56,2706239,1,22,2,20,5,6,1,1,16,4,928P,9590.0,270623901 +1100105,56,2706240,1,21,2,20,5,1,9,1,15,4,5121,6570.0,270624001 +1100105,56,2706241,1,17,2,-9,-9,6,2,1,15,4,,,270624101 +1100105,56,2706242,1,20,1,40,6,6,1,1,15,4,522M,6890.0,270624201 +1100105,56,2706243,1,18,1,8,6,6,1,1,15,4,713Z,8590.0,270624301 +1100105,56,2706244,1,20,2,-9,-9,6,2,1,15,4,,,270624401 +1100105,56,2706245,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,270624501 +1100105,56,2706246,1,19,1,15,6,1,1,1,15,4,4481,5170.0,270624601 +1100105,56,2706247,1,21,2,-9,-9,6,2,1,15,4,,,270624701 +1100105,56,2706248,1,19,2,6,5,6,1,1,15,4,611M1,7870.0,270624801 +1100105,56,2706249,1,20,1,-9,-9,6,1,1,15,4,6111,7860.0,270624901 +1100105,56,2706250,1,21,2,35,5,1,2,1,15,4,928P,9590.0,270625001 +1100105,56,2706251,1,21,1,32,5,6,1,1,15,4,5241,6991.0,270625101 +1100105,56,2706252,1,21,2,36,6,6,2,1,15,4,622M,8191.0,270625201 +1100105,56,2706253,1,20,1,12,4,1,1,1,15,4,5415,7380.0,270625301 +1100105,56,2706254,1,20,2,32,6,6,2,1,15,4,722Z,8680.0,270625401 +1100105,56,2706255,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,270625501 +1100105,56,2706256,1,18,2,46,6,6,2,1,15,4,721M,8670.0,270625601 +1100105,56,2706257,1,20,1,20,6,6,2,1,15,4,813M,9170.0,270625701 +1100105,56,2706258,1,19,2,20,3,1,1,1,15,4,611M1,7870.0,270625801 +1100105,56,2706259,1,22,2,36,6,6,2,1,15,4,622M,8191.0,270625901 +1100105,56,2706260,1,19,1,40,6,6,1,1,15,4,5416,7390.0,270626001 +1100105,56,2706261,1,19,2,-9,-9,6,1,24,15,4,,,270626101 +1100105,56,2706262,1,19,1,40,6,3,1,1,15,4,51913,6672.0,270626201 +1100105,56,2706263,1,23,1,40,6,3,2,1,16,4,813M,9170.0,270626301 +1100105,56,2706264,1,24,2,-9,-9,6,2,1,15,4,,,270626401 +1100105,56,2706265,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270626501 +1100105,56,2706266,1,19,2,3,6,6,1,1,15,4,6244,8470.0,270626601 +1100105,56,2706267,1,20,2,40,4,1,6,1,15,4,8139Z,9190.0,270626701 +1100105,56,2706268,1,18,2,-9,-9,3,2,1,15,4,999920,9920.0,270626801 +1100105,56,2706269,1,23,1,30,1,1,2,1,15,4,5616,7680.0,270626901 +1100105,56,2706270,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,270627001 +1100105,56,2706271,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,270627101 +1100105,56,2706272,1,21,1,20,4,1,1,1,15,4,813M,9170.0,270627201 +1100105,56,2706273,1,21,1,20,4,1,1,2,15,4,485M,6180.0,270627301 +1100105,56,2706274,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,270627401 +1100105,56,2706275,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,270627501 +1100105,56,2706276,1,19,1,20,6,6,1,1,15,4,4442,4890.0,270627601 +1100105,56,2706277,1,20,2,30,6,6,1,1,15,4,5111Z,6480.0,270627701 +1100105,56,2706278,1,18,2,14,5,3,1,1,15,4,722Z,8680.0,270627801 +1100105,56,2706279,1,18,2,46,6,6,2,1,15,4,721M,8670.0,270627901 +1100105,56,2706280,1,21,2,20,6,6,2,1,15,4,6241,8370.0,270628001 +1100105,56,2706281,1,18,2,28,4,6,2,1,15,4,722Z,8680.0,270628101 +1100105,56,2706282,1,18,2,20,6,6,1,1,15,4,721M,8670.0,270628201 +1100105,56,2706283,1,22,2,8,5,1,1,1,15,4,611M1,7870.0,270628301 +1100105,56,2706284,1,19,2,24,5,6,1,1,15,4,722Z,8680.0,270628401 +1100105,56,2706285,1,18,2,45,6,6,1,1,15,4,814,9290.0,270628501 +1100105,56,2706286,1,19,2,-9,-9,6,1,1,15,4,,,270628601 +1100105,56,2706287,1,22,1,10,1,1,6,1,15,4,611M1,7870.0,270628701 +1100105,56,2706288,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,270628801 +1100105,56,2706289,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,270628901 +1100105,56,2706290,1,19,1,20,6,6,1,1,15,4,4442,4890.0,270629001 +1100105,56,2706291,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,270629101 +1100105,56,2706292,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,270629201 +1100105,56,2706293,1,19,2,-9,-9,6,2,1,15,4,,,270629301 +1100105,56,2706294,1,19,2,-9,-9,6,1,1,15,4,,,270629401 +1100105,56,2706295,1,18,2,-9,-9,6,1,1,15,4,,,270629501 +1100105,56,2706296,1,20,2,-9,-9,6,2,1,15,4,,,270629601 +1100105,56,2706297,1,22,2,20,6,6,2,1,15,4,713Z,8590.0,270629701 +1100105,56,2706298,1,21,2,-9,-9,6,2,1,15,4,,,270629801 +1100105,56,2706299,1,20,2,32,4,6,2,1,15,4,611M3,7890.0,270629901 +1100105,56,2706300,1,18,2,-9,-9,6,2,1,15,4,,,270630001 +1100105,56,2706301,1,18,1,10,5,6,1,1,15,4,6211,7970.0,270630101 +1100105,56,2706302,1,19,1,50,6,6,9,1,15,4,5416,7390.0,270630201 +1100105,56,2706303,1,19,2,20,6,1,1,1,15,4,611M1,7870.0,270630301 +1100105,56,2706304,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,270630401 +1100105,56,2706305,1,19,2,-9,-9,6,1,1,15,4,,,270630501 +1100105,56,2706306,1,21,1,20,4,1,1,1,15,4,813M,9170.0,270630601 +1100105,56,2706307,1,20,2,-9,-9,6,2,1,15,4,6111,7860.0,270630701 +1100105,56,2706308,1,21,1,12,6,1,1,1,15,4,611M1,7870.0,270630801 +1100105,56,2706309,1,18,2,10,6,6,1,1,15,4,5616,7680.0,270630901 +1100105,56,2706310,1,22,2,20,5,1,2,1,15,4,611M1,7870.0,270631001 +1100105,56,2706311,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,270631101 +1100105,56,2706312,1,20,1,20,6,6,7,1,15,4,3345,3380.0,270631201 +1100105,56,2706313,1,18,2,-9,-9,6,2,1,15,4,,,270631301 +1100105,56,2706314,1,20,1,25,3,1,6,1,15,4,6241,8370.0,270631401 +1100105,56,2706315,1,26,2,40,1,1,2,1,16,4,6111,7860.0,270631501 +1100105,56,2706316,1,20,1,-9,-9,3,2,1,15,4,44511,4971.0,270631601 +1100105,56,2706317,1,20,2,25,1,1,8,24,15,4,3118Z,1270.0,270631701 +1100105,56,2706318,1,21,2,8,4,1,1,1,15,4,611M1,7870.0,270631801 +1100105,56,2706319,1,19,2,-9,-9,6,6,1,15,4,,,270631901 +1100105,56,2706320,1,21,1,15,5,2,1,1,15,2,4523,5391.0,270632001 +1100105,56,2706321,1,18,1,-9,-9,6,2,1,15,4,,,270632101 +1100105,56,2706322,1,19,1,35,6,6,1,1,15,4,721M,8670.0,270632201 +1100105,56,2706323,1,19,2,40,1,1,1,1,15,4,611M1,7870.0,270632301 +1100105,56,2706324,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,270632401 +1100105,56,2706325,1,20,2,16,6,6,1,1,15,4,4481,5170.0,270632501 +1100105,56,2706326,1,19,2,30,6,6,1,1,15,4,442,4770.0,270632601 +1100105,56,2706327,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,270632701 +1100105,56,2706328,1,18,2,-9,-9,6,2,1,15,4,,,270632801 +1100105,56,2706329,1,22,1,20,6,6,1,1,15,4,3345,3380.0,270632901 +1100105,56,2706330,1,19,2,10,6,6,1,1,15,4,315M,1691.0,270633001 +1100105,56,2706331,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,270633101 +1100105,56,2706332,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,270633201 +1100105,56,2706333,1,18,1,-9,-9,6,6,1,15,4,,,270633301 +1100105,56,2706334,1,20,2,-9,-9,6,1,1,15,4,,,270633401 +1100105,56,2706335,1,20,1,-9,-9,6,9,1,15,4,,,270633501 +1100105,56,2706336,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,270633601 +1100105,56,2706337,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,270633701 +1100105,56,2706338,1,18,2,-9,-9,6,2,1,15,4,,,270633801 +1100105,56,2706339,1,28,2,10,5,1,2,1,15,4,722Z,8680.0,270633901 +1100105,56,2706340,1,18,2,12,6,6,1,1,15,4,712,8570.0,270634001 +1100105,56,2706341,1,19,2,20,4,1,2,1,15,4,5313,7072.0,270634101 +1100105,56,2706342,1,19,2,40,5,6,1,1,15,4,712,8570.0,270634201 +1100105,56,2706343,1,26,2,40,1,1,2,1,16,4,6111,7860.0,270634301 +1100105,56,2706344,1,18,2,46,6,6,2,1,15,4,721M,8670.0,270634401 +1100105,56,2706345,1,20,1,21,6,6,2,1,15,4,722Z,8680.0,270634501 +1100105,56,2706346,1,37,2,38,3,1,9,3,16,4,611M1,7870.0,270634601 +1100105,56,2706347,1,19,2,30,5,6,9,1,15,4,713Z,8590.0,270634701 +1100105,56,2706348,1,18,2,-9,-9,6,1,3,15,4,,,270634801 +1100105,56,2706349,1,20,2,-9,-9,6,2,1,15,4,,,270634901 +1100105,56,2706350,1,18,2,10,6,1,1,1,15,4,713Z,8590.0,270635001 +1100105,56,2706351,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270635101 +1100105,56,2706352,1,18,1,23,4,6,2,1,15,4,44511,4971.0,270635201 +1100105,56,2706353,1,18,1,-9,-9,6,1,1,15,4,,,270635301 +1100105,56,2706354,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270635401 +1100105,56,2706355,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,270635501 +1100105,56,2706356,1,29,2,-9,-9,6,6,1,16,4,,,270635601 +1100105,56,2706357,1,19,2,-9,-9,6,6,1,15,4,,,270635701 +1100105,56,2706358,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,270635801 +1100105,56,2706359,1,20,1,30,6,6,1,1,15,4,488,6290.0,270635901 +1100105,56,2706360,1,20,2,-9,-9,6,2,1,15,4,,,270636001 +1100105,56,2706361,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,270636101 +1100105,56,2706362,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270636201 +1100105,56,2706363,1,19,1,4,6,6,6,1,15,4,611M3,7890.0,270636301 +1100105,56,2706364,1,20,2,-9,-9,6,2,1,15,4,,,270636401 +1100105,56,2706365,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270636501 +1100105,56,2706366,1,20,2,15,1,1,1,1,15,4,6244,8470.0,270636601 +1100105,56,2706367,1,19,1,10,6,6,1,1,15,4,23,770.0,270636701 +1100105,56,2706368,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,270636801 +1100105,56,2706369,1,21,2,20,3,1,2,1,15,4,611M1,7870.0,270636901 +1100105,56,2706370,1,19,2,48,4,1,1,2,15,4,722Z,8680.0,270637001 +1100105,56,2706371,1,56,1,4,6,1,2,1,16,4,8131,9160.0,270637101 +1100105,56,2706372,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,270637201 +1100105,56,2706373,1,18,2,-9,-9,6,1,1,15,4,,,270637301 +1100105,56,2706374,1,21,1,20,4,1,1,1,15,4,813M,9170.0,270637401 +1100105,56,2706375,1,19,2,8,6,1,2,1,15,4,611M3,7890.0,270637501 +1100105,56,2706376,1,20,1,45,5,6,1,1,15,4,5419Z,7490.0,270637601 +1100105,56,2706377,1,18,2,20,3,6,1,1,15,4,5411,7270.0,270637701 +1100105,56,2706378,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,270637801 +1100105,56,2706379,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,270637901 +1100105,56,2706380,1,19,2,16,6,6,2,1,15,4,45221,5381.0,270638001 +1100105,56,2706381,1,21,1,20,4,1,2,1,15,4,485M,6180.0,270638101 +1100105,56,2706382,1,19,2,-9,-9,6,2,1,15,4,,,270638201 +1100105,56,2706383,1,21,2,-9,-9,6,2,1,15,4,,,270638301 +1100105,56,2706384,1,20,2,3,6,6,1,1,15,4,611M3,7890.0,270638401 +1100105,56,2706385,1,18,2,-9,-9,6,1,3,15,4,,,270638501 +1100105,56,2706386,1,21,2,20,6,6,1,1,15,4,6241,8370.0,270638601 +1100105,56,2706387,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,270638701 +1100105,56,2706388,1,19,2,40,5,6,1,1,15,4,712,8570.0,270638801 +1100105,56,2706389,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,270638901 +1100105,56,2706390,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,270639001 +1100105,56,2706391,1,20,2,-9,-9,6,2,1,15,4,,,270639101 +1100105,56,2706392,1,18,2,28,4,6,2,1,15,4,722Z,8680.0,270639201 +1100105,56,2706393,1,18,2,20,3,6,1,1,15,4,44611,5070.0,270639301 +1100105,56,2706394,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,270639401 +1100105,56,2706395,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,270639501 +1100105,56,2706396,1,18,1,10,4,1,1,1,15,4,721M,8670.0,270639601 +1100105,56,2706397,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,270639701 +1100105,56,2706398,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,270639801 +1100105,56,2706399,1,20,2,35,5,1,1,1,15,4,928P,9590.0,270639901 +1100105,56,2706400,1,18,2,45,6,6,1,1,15,4,814,9290.0,270640001 +1100105,56,2706401,1,21,2,20,6,6,2,1,15,4,6231,8270.0,270640101 +1100105,56,2706402,1,21,2,-9,-9,6,1,1,15,4,,,270640201 +1100105,56,2706403,1,19,1,15,6,1,1,1,15,4,4481,5170.0,270640301 +1100105,56,2706404,1,19,2,18,3,6,1,1,15,4,722Z,8680.0,270640401 +1100105,56,2706405,1,22,1,20,6,6,1,1,15,4,3345,3380.0,270640501 +1100105,56,2706406,1,18,2,-9,-9,6,1,1,15,4,,,270640601 +1100105,56,2706407,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,270640701 +1100105,56,2706408,1,21,2,15,4,1,9,1,15,4,92MP,9470.0,270640801 +1100105,56,2706409,1,18,2,-9,-9,6,1,1,15,4,,,270640901 +1100105,56,2706410,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,270641001 +1100105,56,2706411,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,270641101 +1100105,56,2706412,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,270641201 +1100105,56,2706413,1,20,2,12,1,2,1,1,15,4,45121,5370.0,270641301 +1100105,56,2706414,1,19,2,20,6,1,1,1,15,4,611M1,7870.0,270641401 +1100105,56,2706415,1,29,2,-9,-9,6,6,1,16,4,,,270641501 +1100105,56,2706416,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,270641601 +1100105,56,2706417,1,22,2,8,5,1,1,1,15,4,611M1,7870.0,270641701 +1100105,56,2706418,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,270641801 +1100105,56,2706419,1,19,1,-9,-9,6,1,1,15,4,,,270641901 +1100105,56,2706420,1,18,2,15,1,1,1,1,15,4,611M1,7870.0,270642001 +1100105,56,2706421,1,18,2,-9,-9,3,1,1,15,4,45221,5381.0,270642101 +1100105,56,2706422,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,270642201 +1100105,56,2706423,1,19,2,-9,-9,6,1,1,15,4,722Z,8680.0,270642301 +1100105,56,2706424,1,19,2,99,6,6,1,1,15,4,721M,8670.0,270642401 +1100105,56,2706425,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,270642501 +1100105,56,2706426,1,21,2,8,4,1,1,1,15,4,611M1,7870.0,270642601 +1100105,56,2706427,1,19,2,20,5,6,1,2,15,4,71395,8580.0,270642701 +1100105,56,2706428,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,270642801 +1100105,56,2706429,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,270642901 +1100105,56,2706430,1,19,2,40,5,6,1,1,15,4,712,8570.0,270643001 +1100105,56,2706431,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,270643101 +1100105,56,2706432,1,20,1,-9,-9,6,2,1,15,4,,,270643201 +1100105,56,2706433,1,18,1,6,1,1,1,1,15,4,622M,8191.0,270643301 +1100105,56,2706434,1,21,2,38,6,6,2,1,15,4,813M,9170.0,270643401 +1100105,56,2706435,1,19,2,-9,-9,6,6,1,15,4,,,270643501 +1100105,56,2706436,1,19,2,-9,-9,6,2,1,15,4,,,270643601 +1100105,56,2706437,1,21,2,36,6,6,1,1,15,4,622M,8191.0,270643701 +1100105,56,2706438,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,270643801 +1100105,56,2706439,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,270643901 +1100105,56,2706440,1,22,2,8,5,1,1,1,15,4,611M1,7870.0,270644001 +1100105,56,2706441,1,19,1,20,6,6,1,1,15,4,4442,4890.0,270644101 +1100105,56,2706442,1,22,2,36,6,6,2,1,15,4,622M,8191.0,270644201 +1100105,56,2706443,1,19,1,-9,-9,6,1,1,15,4,,,270644301 +1100105,56,2706444,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270644401 +1100105,56,2706445,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,270644501 +1100105,56,2706446,1,22,1,15,5,1,1,1,15,4,92113,9380.0,270644601 +1100105,56,2706447,1,21,1,35,5,6,1,1,15,4,52M2,6970.0,270644701 +1100105,56,2706448,1,18,2,10,6,6,1,1,15,4,5616,7680.0,270644801 +1100105,56,2706449,1,21,2,20,5,1,6,1,15,4,5416,7390.0,270644901 +1100105,56,2706450,1,20,2,20,1,1,2,1,15,4,561M,7780.0,270645001 +1100105,56,2706451,1,20,1,12,3,1,1,1,15,4,611M1,7870.0,270645101 +1100105,56,2706452,1,18,1,-9,-9,6,1,1,15,4,,,270645201 +1100105,56,2706453,1,21,2,20,6,6,1,1,15,4,611M1,7870.0,270645301 +1100105,56,2706454,1,20,2,25,4,1,2,5,15,4,713Z,8590.0,270645401 +1100105,56,2706455,1,20,2,3,6,6,1,1,15,4,611M3,7890.0,270645501 +1100105,56,2706456,1,19,2,8,6,1,2,1,15,4,611M3,7890.0,270645601 +1100105,56,2706457,1,17,1,-9,-9,6,2,1,15,4,5121,6570.0,270645701 +1100105,56,2706458,1,19,2,20,1,1,2,1,15,4,611M1,7870.0,270645801 +1100105,56,2706459,1,18,2,12,6,6,1,1,15,4,712,8570.0,270645901 +1100105,56,2706460,1,18,2,-9,-9,6,6,1,15,4,,,270646001 +1100105,56,2706461,1,18,1,40,6,6,1,1,15,4,23,770.0,270646101 +1100105,56,2706462,1,18,2,40,5,6,1,1,15,4,712,8570.0,270646201 +1100105,56,2706463,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,270646301 +1100105,56,2706464,1,19,1,24,5,1,1,1,15,4,4539,5580.0,270646401 +1100105,56,2706465,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,270646501 +1100105,56,2706466,1,18,1,6,1,1,1,1,15,4,622M,8191.0,270646601 +1100105,56,2706467,1,21,2,20,5,1,2,1,15,4,5121,6570.0,270646701 +1100105,56,2706468,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,270646801 +1100105,56,2706469,1,18,1,12,6,1,1,1,15,4,611M1,7870.0,270646901 +1100105,56,2706470,1,20,2,30,6,6,1,1,15,4,5111Z,6480.0,270647001 +1100105,56,2706471,1,19,1,28,6,6,2,1,15,4,23,770.0,270647101 +1100105,56,2706472,1,21,2,10,4,1,2,1,15,4,611M1,7870.0,270647201 +1100105,56,2706473,1,18,1,40,6,6,1,1,15,4,721M,8670.0,270647301 +1100105,56,2706474,1,20,2,32,6,6,1,1,15,4,722Z,8680.0,270647401 +1100105,56,2706475,1,21,1,20,4,1,1,2,15,4,485M,6180.0,270647501 +1100105,56,2706476,1,20,1,-9,-9,6,1,1,15,4,,,270647601 +1100105,56,2706477,1,19,1,-9,-9,6,6,1,15,4,,,270647701 +1100105,56,2706478,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,270647801 +1100105,56,2706479,1,18,2,10,6,6,1,1,15,4,722Z,8680.0,270647901 +1100105,56,2706480,1,19,2,-9,-9,6,1,1,15,4,,,270648001 +1100105,56,2706481,1,18,2,-9,-9,6,1,3,15,4,,,270648101 +1100105,56,2706482,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,270648201 +1100105,56,2706483,1,22,2,-9,-9,6,1,1,15,4,,,270648301 +1100105,56,2706484,1,21,1,40,6,1,1,1,15,4,337,3895.0,270648401 +1100105,56,2706485,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,270648501 +1100105,56,2706486,1,20,1,-9,-9,3,2,1,15,4,44511,4971.0,270648601 +1100105,56,2706487,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,270648701 +1100105,56,2706488,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,270648801 +1100105,56,2706489,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,270648901 +1100105,56,2706490,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,270649001 +1100105,56,2706491,1,20,1,25,4,3,9,1,15,4,621M,8180.0,270649101 +1100105,56,2706492,1,20,2,-9,-9,6,1,1,15,4,,,270649201 +1100105,56,2706493,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,270649301 +1100105,56,2706494,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,270649401 +1100105,56,2706495,1,18,2,-9,-9,6,2,1,15,4,,,270649501 +1100105,56,2706496,1,18,2,10,6,1,1,1,15,4,713Z,8590.0,270649601 +1100105,56,2706497,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270649701 +1100105,56,2706498,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,270649801 +1100105,56,2706499,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,270649901 +1100105,56,2706500,1,20,2,25,1,1,8,24,15,4,3118Z,1270.0,270650001 +1100105,56,2706501,1,18,1,-9,-9,6,1,1,15,4,,,270650101 +1100105,56,2706502,1,18,1,35,4,1,2,1,15,4,611M1,7870.0,270650201 +1100105,56,2706503,1,18,1,10,5,6,1,1,15,4,6211,7970.0,270650301 +1100105,56,2706504,1,20,2,15,1,1,1,1,15,4,6244,8470.0,270650401 +1100105,56,2706505,1,18,2,-9,-9,6,1,1,15,4,,,270650501 +1100105,56,2706506,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,270650601 +1100105,56,2706507,1,20,2,16,6,6,1,1,15,4,4481,5170.0,270650701 +1100105,56,2706508,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270650801 +1100105,56,2706509,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,270650901 +1100105,56,2706510,1,21,1,30,6,6,2,1,15,4,4542,5670.0,270651001 +1100105,56,2706511,1,18,1,-9,-9,6,6,1,15,4,,,270651101 +1100105,56,2706512,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,270651201 +1100105,56,2706513,1,20,2,-9,-9,6,6,1,15,4,,,270651301 +1100105,56,2706514,1,20,1,45,5,6,6,1,15,4,4481,5170.0,270651401 +1100105,56,2706515,1,20,2,16,6,6,1,1,15,4,4481,5170.0,270651501 +1100105,56,2706516,1,18,2,40,5,6,1,1,15,4,712,8570.0,270651601 +1100105,56,2706517,1,19,2,-9,-9,6,1,1,15,4,,,270651701 +1100105,56,2706518,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,270651801 +1100105,56,2706519,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,270651901 +1100105,56,2706520,1,21,2,-9,-9,6,1,1,15,4,,,270652001 +1100105,56,2706521,1,22,2,6,4,6,6,1,15,4,712,8570.0,270652101 +1100105,56,2706522,1,18,2,-9,-9,6,1,1,15,4,,,270652201 +1100105,56,2706523,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,270652301 +1100105,56,2706524,1,18,2,-9,-9,6,2,1,15,4,,,270652401 +1100105,56,2706525,1,21,2,36,6,6,2,1,15,4,622M,8191.0,270652501 +1100105,56,2706526,1,19,1,30,4,6,1,1,15,4,722Z,8680.0,270652601 +1100105,56,2706527,1,21,1,30,6,6,2,1,15,4,4542,5670.0,270652701 +1100105,56,2706528,1,20,2,4,5,6,1,1,15,4,814,9290.0,270652801 +1100105,56,2706529,1,18,2,25,1,1,2,1,15,4,3118Z,1270.0,270652901 +1100105,56,2706530,1,19,1,40,6,3,2,1,15,4,51913,6672.0,270653001 +1100105,56,2706531,1,18,2,15,1,1,1,1,15,4,4481,5170.0,270653101 +1100105,56,2706532,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,270653201 +1100105,56,2706533,1,19,1,-9,-9,6,6,1,15,4,,,270653301 +1100105,56,2706534,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270653401 +1100105,56,2706535,1,19,1,10,6,6,1,1,15,4,23,770.0,270653501 +1100105,56,2706536,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,270653601 +1100105,56,2706537,1,18,2,46,6,6,2,1,15,4,721M,8670.0,270653701 +1100105,56,2706538,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,270653801 +1100105,56,2706539,1,21,2,20,3,1,2,1,15,4,611M1,7870.0,270653901 +1100105,56,2706540,1,20,2,20,3,1,1,1,15,4,44821,5180.0,270654001 +1100105,56,2706541,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,270654101 +1100105,56,2706542,1,19,1,28,6,6,2,1,15,4,23,770.0,270654201 +1100105,56,2706543,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,270654301 +1100105,56,2706544,1,19,2,35,3,1,1,1,15,4,611M1,7870.0,270654401 +1100105,56,2706545,1,19,1,28,6,6,2,11,15,4,23,770.0,270654501 +1100105,56,2706546,1,18,2,45,6,6,1,1,15,4,814,9290.0,270654601 +1100105,56,2706547,1,33,2,35,4,3,2,1,15,4,6231,8270.0,270654701 +1100105,56,2706548,1,18,2,-9,-9,6,1,1,15,4,,,270654801 +1100105,56,2706549,1,20,2,-9,-9,6,1,1,15,4,,,270654901 +1100105,56,2706550,1,18,2,-9,-9,6,2,1,15,4,,,270655001 +1100105,56,2706551,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,270655101 +1100105,56,2706552,1,20,2,25,1,1,8,24,15,4,3118Z,1270.0,270655201 +1100105,56,2706553,1,18,2,27,5,2,2,1,15,4,6244,8470.0,270655301 +1100105,56,2706554,1,20,1,40,4,2,1,1,15,4,722Z,8680.0,270655401 +1100105,56,2706555,1,19,2,15,5,1,9,1,15,4,813M,9170.0,270655501 +1100105,56,2706556,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,270655601 +1100105,56,2706557,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,270655701 +1100105,56,2706558,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,270655801 +1100105,56,2706559,1,26,2,40,1,1,2,1,16,4,6111,7860.0,270655901 +1100105,56,2706560,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270656001 +1100105,56,2706561,1,18,2,15,6,3,2,1,15,4,4481,5170.0,270656101 +1100105,56,2706562,1,19,2,40,5,6,1,1,15,4,712,8570.0,270656201 +1100105,56,2706563,1,22,2,20,6,6,2,1,15,4,6231,8270.0,270656301 +1100105,56,2706564,1,19,2,-9,-9,6,2,1,15,4,,,270656401 +1100105,56,2706565,1,19,2,-9,-9,6,1,1,15,4,,,270656501 +1100105,56,2706566,1,18,1,14,3,1,1,1,15,4,7211,8660.0,270656601 +1100105,56,2706567,1,19,2,30,6,6,6,1,15,4,4539,5580.0,270656701 +1100105,56,2706568,1,18,2,-9,-9,6,2,1,15,4,,,270656801 +1100105,56,2706569,1,19,1,60,6,6,2,1,15,4,711M,8563.0,270656901 +1100105,56,2706570,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,270657001 +1100105,56,2706571,1,20,1,40,4,2,1,1,15,4,722Z,8680.0,270657101 +1100105,56,2706572,1,19,2,99,6,6,1,1,15,4,721M,8670.0,270657201 +1100105,56,2706573,1,18,1,25,5,6,2,1,15,4,4453,4990.0,270657301 +1100105,56,2706574,1,18,2,20,1,1,1,1,15,4,722Z,8680.0,270657401 +1100105,56,2706575,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,270657501 +1100105,56,2706576,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,270657601 +1100105,56,2706577,1,19,2,20,3,1,1,1,15,4,611M1,7870.0,270657701 +1100105,56,2706578,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,270657801 +1100105,56,2706579,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,270657901 +1100105,56,2706580,1,18,2,46,6,6,2,1,15,4,721M,8670.0,270658001 +1100105,56,2706581,1,21,2,35,5,1,2,1,15,4,928P,9590.0,270658101 +1100105,56,2706582,1,21,1,30,6,6,2,1,15,4,4542,5670.0,270658201 +1100105,56,2706583,1,19,1,23,4,6,1,17,15,4,44512,4972.0,270658301 +1100105,56,2706584,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,270658401 +1100105,56,2706585,1,21,2,40,1,6,2,1,15,4,515,6670.0,270658501 +1100105,56,2706586,1,20,1,6,5,1,2,1,15,4,611M2,7880.0,270658601 +1100105,56,2706587,1,20,2,-9,-9,6,1,1,15,4,,,270658701 +1100105,56,2706588,1,23,2,-9,-9,6,2,1,15,4,,,270658801 +1100105,56,2706589,1,22,1,15,4,2,2,1,15,4,4481,5170.0,270658901 +1100105,56,2706590,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270659001 +1100105,56,2706591,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270659101 +1100105,56,2706592,1,18,2,-9,-9,6,2,1,15,4,,,270659201 +1100105,56,2706593,1,18,1,-9,-9,6,1,1,15,4,,,270659301 +1100105,56,2706594,1,18,1,30,6,6,2,1,15,4,722Z,8680.0,270659401 +1100105,56,2706595,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,270659501 +1100105,56,2706596,1,18,2,-9,-9,6,2,1,15,4,,,270659601 +1100105,56,2706597,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270659701 +1100105,56,2706598,1,20,1,-9,-9,6,1,1,15,4,,,270659801 +1100105,56,2706599,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,270659901 +1100105,56,2706600,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,270660001 +1100105,56,2706601,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,270660101 +1100105,56,2706602,1,20,1,-9,-9,6,1,1,15,4,,,270660201 +1100105,56,2706603,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,270660301 +1100105,56,2706604,1,20,1,12,4,1,6,1,15,4,611M1,7870.0,270660401 +1100105,56,2706605,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270660501 +1100105,56,2706606,1,21,2,20,6,6,2,1,15,4,6231,8270.0,270660601 +1100105,56,2706607,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,270660701 +1100105,56,2706608,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,270660801 +1100105,56,2706609,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,270660901 +1100105,56,2706610,1,20,1,6,4,1,2,1,15,4,6242,8380.0,270661001 +1100105,56,2706611,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270661101 +1100105,56,2706612,1,20,2,32,4,6,2,1,15,4,611M3,7890.0,270661201 +1100105,56,2706613,1,20,2,8,4,1,6,1,15,4,611M1,7870.0,270661301 +1100105,56,2706614,1,18,2,20,1,1,2,1,15,4,722Z,8680.0,270661401 +1100105,56,2706615,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,270661501 +1100105,56,2706616,1,21,2,12,2,1,1,1,15,4,51912,6770.0,270661601 +1100105,56,2706617,1,20,2,50,6,3,2,1,15,4,721M,8670.0,270661701 +1100105,56,2706618,1,32,2,-9,-9,6,6,1,16,4,,,270661801 +1100105,56,2706619,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,270661901 +1100105,56,2706620,1,19,2,15,4,6,2,1,15,4,45121,5370.0,270662001 +1100105,56,2706621,1,20,1,15,3,1,1,1,15,4,5615,7670.0,270662101 +1100105,56,2706622,1,19,1,45,6,6,1,1,15,4,721M,8670.0,270662201 +1100105,56,2706623,1,17,2,-9,-9,6,6,1,15,4,,,270662301 +1100105,56,2706624,1,19,1,8,6,1,2,1,15,4,611M1,7870.0,270662401 +1100105,56,2706625,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,270662501 +1100105,56,2706626,1,19,1,40,6,6,1,3,15,4,517Z,6690.0,270662601 +1100105,56,2706627,1,23,2,10,3,1,9,1,16,4,5418,7470.0,270662701 +1100105,56,2706628,1,21,2,20,1,1,2,1,15,4,722Z,8680.0,270662801 +1100105,56,2706629,1,18,2,-9,-9,6,1,1,15,4,6244,8470.0,270662901 +1100105,56,2706630,1,21,1,26,3,1,1,1,15,4,712,8570.0,270663001 +1100105,56,2706631,1,22,2,-9,-9,6,2,1,15,4,6111,7860.0,270663101 +1100105,56,2706632,1,18,2,-9,-9,6,2,1,15,4,,,270663201 +1100105,56,2706633,1,24,1,25,5,6,1,1,16,4,92M2,9570.0,270663301 +1100105,56,2706634,1,22,2,30,6,6,1,1,15,4,5111Z,6480.0,270663401 +1100105,56,2706635,1,21,1,20,4,1,8,24,15,4,5415,7380.0,270663501 +1100105,56,2706636,1,21,1,45,5,6,1,1,15,4,5419Z,7490.0,270663601 +1100105,56,2706637,1,21,2,25,1,1,2,1,15,4,722Z,8680.0,270663701 +1100105,56,2706638,1,18,1,-9,-9,6,6,1,15,4,,,270663801 +1100105,56,2706639,1,19,2,99,6,6,1,1,15,4,721M,8670.0,270663901 +1100105,56,2706640,1,18,1,50,6,3,2,1,15,4,5614,7590.0,270664001 +1100105,56,2706641,1,23,2,10,3,1,9,1,16,4,5418,7470.0,270664101 +1100105,56,2706642,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,270664201 +1100105,56,2706643,1,20,2,-9,-9,6,6,1,15,4,,,270664301 +1100105,56,2706644,1,20,2,-9,-9,6,1,1,15,4,,,270664401 +1100105,56,2706645,1,25,2,20,3,1,1,1,16,4,611M1,7870.0,270664501 +1100105,56,2706646,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,270664601 +1100105,56,2706647,1,19,2,30,5,6,1,1,15,4,713Z,8590.0,270664701 +1100105,56,2706648,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,270664801 +1100105,56,2706649,1,19,2,10,1,2,1,1,15,4,814,9290.0,270664901 +1100105,56,2706650,1,23,2,-9,-9,6,8,11,16,4,,,270665001 +1100105,56,2706651,1,22,1,24,6,6,2,1,15,4,4481,5170.0,270665101 +1100105,56,2706652,1,19,2,-9,-9,6,6,1,15,4,,,270665201 +1100105,56,2706653,1,18,1,3,6,3,9,1,15,4,5411,7270.0,270665301 +1100105,56,2706654,1,19,1,-9,-9,6,1,1,15,4,,,270665401 +1100105,56,2706655,1,18,2,45,6,6,1,1,15,4,814,9290.0,270665501 +1100105,56,2706656,1,21,2,36,6,6,1,1,15,4,622M,8191.0,270665601 +1100105,56,2706657,1,19,2,-9,-9,6,1,24,15,4,,,270665701 +1100105,56,2706658,1,18,1,40,3,1,6,1,15,4,487,6280.0,270665801 +1100105,56,2706659,1,19,2,15,4,6,2,1,15,4,45121,5370.0,270665901 +1100105,56,2706660,1,18,2,45,6,6,1,1,15,4,814,9290.0,270666001 +1100105,56,2706661,1,21,2,-9,-9,6,1,1,15,4,,,270666101 +1100105,56,2706662,1,19,2,-9,-9,6,1,1,15,4,,,270666201 +1100105,56,2706663,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,270666301 +1100105,56,2706664,1,18,2,10,6,6,1,1,15,4,722Z,8680.0,270666401 +1100105,56,2706665,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,270666501 +1100105,56,2706666,1,19,2,-9,-9,6,1,24,15,4,,,270666601 +1100105,56,2706667,1,18,2,-9,-9,6,1,24,15,4,,,270666701 +1100105,56,2706668,1,18,1,45,6,6,1,3,15,4,721M,8670.0,270666801 +1100105,56,2706669,1,18,2,99,6,6,2,1,15,4,721M,8670.0,270666901 +1100105,56,2706670,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,270667001 +1100105,56,2706671,1,19,1,10,4,1,1,1,15,4,721M,8670.0,270667101 +1100105,56,2706672,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,270667201 +1100105,56,2706673,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,270667301 +1100105,56,2706674,1,18,2,10,6,6,1,1,15,4,5616,7680.0,270667401 +1100105,56,2706675,1,18,2,-9,-9,6,1,24,15,4,,,270667501 +1100105,56,2706676,1,19,1,50,6,6,2,1,15,4,311M2,1280.0,270667601 +1100105,56,2706677,1,25,2,-9,-9,6,2,1,16,4,,,270667701 +1100105,56,2706678,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,270667801 +1100105,56,2706679,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,270667901 +1100105,56,2706680,1,20,2,50,6,3,2,1,15,4,721M,8670.0,270668001 +1100105,56,2706681,1,21,1,30,6,6,2,1,15,4,4542,5670.0,270668101 +1100105,56,2706682,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270668201 +1100105,56,2706683,1,19,2,16,6,6,2,1,15,4,45221,5381.0,270668301 +1100105,56,2706684,1,18,2,40,5,6,1,1,15,4,712,8570.0,270668401 +1100105,56,2706685,1,19,2,6,5,6,1,1,15,4,611M1,7870.0,270668501 +1100105,56,2706686,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,270668601 +1100105,56,2706687,1,21,1,30,5,2,2,1,15,4,447,5090.0,270668701 +1100105,56,2706688,1,21,2,36,6,6,2,1,15,4,622M,8191.0,270668801 +1100105,56,2706689,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,270668901 +1100105,56,2706690,1,21,2,-9,-9,6,1,1,15,4,,,270669001 +1100105,56,2706691,1,20,2,-9,-9,6,2,1,15,4,,,270669101 +1100105,56,2706692,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,270669201 +1100105,56,2706693,1,18,2,-9,-9,6,1,1,15,4,,,270669301 +1100105,56,2706694,1,20,1,25,3,1,6,1,15,4,6241,8370.0,270669401 +1100105,56,2706695,1,19,1,8,6,1,2,1,15,4,611M1,7870.0,270669501 +1100105,56,2706696,1,18,2,-9,-9,6,1,1,15,4,,,270669601 +1100105,56,2706697,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,270669701 +1100105,56,2706698,1,20,1,30,4,2,1,1,15,4,621M,8180.0,270669801 +1100105,56,2706699,1,20,1,26,3,1,1,1,15,4,712,8570.0,270669901 +1100105,56,2706700,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,270670001 +1100105,56,2706701,1,17,1,30,6,6,2,1,15,4,4481,5170.0,270670101 +1100105,56,2706702,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,270670201 +1100105,56,2706703,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,270670301 +1100105,56,2706704,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,270670401 +1100105,56,2706705,1,20,1,25,6,6,2,1,15,4,6231,8270.0,270670501 +1100105,56,2706706,1,18,2,8,5,1,1,1,15,4,611M1,7870.0,270670601 +1100105,56,2706707,1,20,2,7,5,6,1,1,15,4,814,9290.0,270670701 +1100105,56,2706708,1,19,1,-9,-9,6,2,1,15,4,,,270670801 +1100105,56,2706709,1,22,1,40,1,1,1,1,15,4,5415,7380.0,270670901 +1100105,56,2706710,1,21,1,20,4,1,2,1,15,4,485M,6180.0,270671001 +1100105,56,2706711,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,270671101 +1100105,56,2706712,1,18,2,8,4,6,1,1,15,4,722Z,8680.0,270671201 +1100105,56,2706713,1,21,2,30,3,6,1,1,15,4,611M1,7870.0,270671301 +1100105,56,2706714,1,24,2,5,5,6,1,1,16,4,611M1,7870.0,270671401 +1100105,56,2706715,1,18,1,45,6,6,1,1,15,4,923,9480.0,270671501 +1100105,56,2706716,1,20,1,25,4,1,1,1,15,4,92M2,9570.0,270671601 +1100105,56,2706717,1,20,2,-9,-9,6,6,1,15,4,,,270671701 +1100105,56,2706718,1,24,2,-9,-9,6,2,1,16,4,,,270671801 +1100105,56,2706719,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,270671901 +1100105,56,2706720,1,19,2,1,6,3,6,1,15,4,6111,7860.0,270672001 +1100105,56,2706721,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,270672101 +1100105,56,2706722,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,270672201 +1100105,56,2706723,1,25,2,20,3,1,1,1,16,4,611M1,7870.0,270672301 +1100105,56,2706724,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,270672401 +1100105,56,2706725,1,21,2,20,6,6,2,1,15,4,6211,7970.0,270672501 +1100105,56,2706726,1,19,2,6,5,6,1,1,15,4,611M1,7870.0,270672601 +1100105,56,2706727,1,22,1,8,4,1,2,1,15,4,611M1,7870.0,270672701 +1100105,56,2706728,1,20,1,25,6,6,2,1,15,4,6231,8270.0,270672801 +1100105,56,2706729,1,20,2,45,4,6,1,1,15,4,4481,5170.0,270672901 +1100105,56,2706730,1,19,1,6,1,1,1,1,15,4,622M,8191.0,270673001 +1100105,56,2706731,1,19,2,-9,-9,6,1,1,15,4,,,270673101 +1100105,56,2706732,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,270673201 +1100105,56,2706733,1,18,2,27,5,2,2,1,15,4,6244,8470.0,270673301 +1100105,56,2706734,1,18,2,-9,-9,6,2,1,15,4,,,270673401 +1100105,56,2706735,1,19,2,-9,-9,6,2,1,15,4,,,270673501 +1100105,56,2706736,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,270673601 +1100105,56,2706737,1,19,1,35,6,6,1,1,15,4,721M,8670.0,270673701 +1100105,56,2706738,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,270673801 +1100105,56,2706739,1,21,2,20,1,1,2,1,15,4,6241,8370.0,270673901 +1100105,56,2706740,1,18,2,10,6,6,2,1,15,4,4481,5170.0,270674001 +1100105,56,2706741,1,19,1,28,6,6,2,11,15,4,23,770.0,270674101 +1100105,56,2706742,1,18,2,-9,-9,6,2,1,15,4,,,270674201 +1100105,56,2706743,1,19,1,28,6,6,2,11,15,4,23,770.0,270674301 +1100105,56,2706744,1,19,2,-9,-9,6,6,1,15,4,,,270674401 +1100105,56,2706745,1,21,2,20,5,1,2,1,15,4,5121,6570.0,270674501 +1100105,56,2706746,1,20,2,6,5,2,1,1,15,4,712,8570.0,270674601 +1100105,56,2706747,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,270674701 +1100105,56,2706748,1,21,1,20,4,1,1,1,15,4,813M,9170.0,270674801 +1100105,56,2706749,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270674901 +1100105,56,2706750,1,19,2,3,6,6,1,1,15,4,6244,8470.0,270675001 +1100105,56,2706751,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,270675101 +1100105,56,2706752,1,22,2,20,5,1,2,1,15,4,5121,6570.0,270675201 +1100105,56,2706753,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,270675301 +1100105,56,2706754,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270675401 +1100105,56,2706755,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,270675501 +1100105,56,2706756,1,19,2,15,6,6,1,1,15,4,712,8570.0,270675601 +1100105,56,2706757,1,21,2,-9,-9,6,2,1,15,4,6111,7860.0,270675701 +1100105,56,2706758,1,19,2,16,6,6,2,1,15,4,45221,5381.0,270675801 +1100105,56,2706759,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,270675901 +1100105,56,2706760,1,19,1,6,1,1,1,1,15,4,622M,8191.0,270676001 +1100105,56,2706761,1,20,1,12,4,1,1,1,15,4,5415,7380.0,270676101 +1100105,56,2706762,1,23,1,40,6,3,2,1,16,4,813M,9170.0,270676201 +1100105,56,2706763,1,19,2,40,5,6,1,1,15,4,712,8570.0,270676301 +1100105,56,2706764,1,19,1,-9,-9,6,6,1,15,4,,,270676401 +1100105,56,2706765,1,19,1,40,6,3,2,1,15,4,51913,6672.0,270676501 +1100105,56,2706766,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,270676601 +1100105,56,2706767,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,270676701 +1100105,56,2706768,1,19,2,30,6,6,1,1,15,4,442,4770.0,270676801 +1100105,56,2706769,1,19,2,84,6,6,1,1,15,4,721M,8670.0,270676901 +1100105,56,2706770,1,21,2,20,4,1,2,1,15,4,611M1,7870.0,270677001 +1100105,56,2706771,1,18,2,-9,-9,6,1,24,15,4,,,270677101 +1100105,56,2706772,1,22,2,20,5,3,2,1,15,4,45221,5381.0,270677201 +1100105,56,2706773,1,20,2,30,6,6,1,1,15,4,5111Z,6480.0,270677301 +1100105,56,2706774,1,22,2,20,5,1,2,1,15,4,5121,6570.0,270677401 +1100105,56,2706775,1,21,2,-9,-9,6,2,1,15,4,,,270677501 +1100105,56,2706776,1,19,2,15,5,1,9,1,15,4,813M,9170.0,270677601 +1100105,56,2706777,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,270677701 +1100105,56,2706778,1,20,2,-9,-9,6,1,1,15,4,,,270677801 +1100105,56,2706779,1,19,1,8,6,1,2,1,15,4,611M1,7870.0,270677901 +1100105,56,2706780,1,20,1,-9,-9,6,1,1,15,4,6111,7860.0,270678001 +1100105,56,2706781,1,18,1,40,6,6,2,19,15,4,5617Z,7690.0,270678101 +1100105,56,2706782,1,18,2,14,5,3,1,1,15,4,722Z,8680.0,270678201 +1100105,56,2706783,1,19,1,10,6,1,1,1,15,4,721M,8670.0,270678301 +1100105,56,2706784,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,270678401 +1100105,56,2706785,1,21,2,20,5,1,6,1,15,4,5416,7390.0,270678501 +1100105,56,2706786,1,21,1,20,4,1,2,1,15,4,485M,6180.0,270678601 +1100105,56,2706787,1,19,2,16,6,6,2,1,15,4,45221,5381.0,270678701 +1100105,56,2706788,1,19,2,40,5,6,1,1,15,4,712,8570.0,270678801 +1100105,56,2706789,1,21,1,30,6,6,2,1,15,4,4542,5670.0,270678901 +1100105,56,2706790,1,19,1,10,4,2,1,1,15,4,611M1,7870.0,270679001 +1100105,56,2706791,1,18,1,25,5,6,2,1,15,4,4453,4990.0,270679101 +1100105,56,2706792,1,19,2,24,5,6,1,1,15,4,722Z,8680.0,270679201 +1100105,56,2706793,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,270679301 +1100105,56,2706794,1,20,2,-9,-9,6,1,1,15,4,,,270679401 +1100105,56,2706795,1,20,1,-9,-9,6,1,1,15,4,713Z,8590.0,270679501 +1100105,56,2706796,1,21,1,26,3,1,1,1,15,4,712,8570.0,270679601 +1100105,56,2706797,1,20,1,25,6,6,2,1,15,4,6231,8270.0,270679701 +1100105,56,2706798,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,270679801 +1100105,56,2706799,1,20,2,20,1,1,2,1,15,4,6241,8370.0,270679901 +1100105,56,2706800,1,24,2,-9,-9,6,2,1,15,4,,,270680001 +1100105,56,2706801,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,270680101 +1100105,56,2706802,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,270680201 +1100105,56,2706803,1,18,2,6,2,1,9,14,15,4,6111,7860.0,270680301 +1100105,56,2706804,1,18,1,-9,-9,6,6,1,15,4,,,270680401 +1100105,56,2706805,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,270680501 +1100105,56,2706806,1,18,2,27,5,2,2,1,15,4,6244,8470.0,270680601 +1100105,56,2706807,1,18,2,-9,-9,6,1,1,15,4,,,270680701 +1100105,56,2706808,1,22,2,-9,-9,6,2,24,15,4,,,270680801 +1100105,56,2706809,1,46,2,20,1,2,2,1,16,4,611M1,7870.0,270680901 +1100105,56,2706810,1,18,1,40,6,6,1,1,15,4,23,770.0,270681001 +1100105,56,2706811,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,270681101 +1100105,56,2706812,1,20,2,-9,-9,6,2,1,15,4,,,270681201 +1100105,56,2706813,1,19,2,30,5,6,1,1,15,4,622M,8191.0,270681301 +1100105,56,2706814,1,20,1,12,4,1,6,1,15,4,611M1,7870.0,270681401 +1100105,56,2706815,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270681501 +1100105,56,2706816,1,22,2,20,6,6,2,1,15,4,6231,8270.0,270681601 +1100105,56,2706817,1,20,1,15,4,6,2,1,15,4,6214,8090.0,270681701 +1100105,56,2706818,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,270681801 +1100105,56,2706819,1,19,2,-9,-9,6,1,1,15,4,,,270681901 +1100105,56,2706820,1,19,2,-9,-9,6,1,1,15,4,,,270682001 +1100105,56,2706821,1,20,2,-9,-9,6,1,1,15,4,,,270682101 +1100105,56,2706822,1,18,1,-9,-9,6,1,1,15,4,,,270682201 +1100105,56,2706823,1,18,2,20,6,6,1,1,15,4,6211,7970.0,270682301 +1100105,56,2706824,1,20,2,10,4,1,6,1,15,4,611M3,7890.0,270682401 +1100105,56,2706825,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,270682501 +1100105,56,2706826,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,270682601 +1100105,56,2706827,1,21,2,20,6,6,2,1,15,4,6231,8270.0,270682701 +1100105,56,2706828,1,21,2,36,6,6,1,1,15,4,622M,8191.0,270682801 +1100105,56,2706829,1,20,1,-9,-9,6,1,1,15,4,,,270682901 +1100105,56,2706830,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,270683001 +1100105,56,2706831,1,22,1,15,5,1,1,1,15,4,611M1,7870.0,270683101 +1100105,56,2706832,1,21,2,-9,-9,6,2,1,15,4,,,270683201 +1100105,56,2706833,1,20,2,6,5,2,1,1,15,4,712,8570.0,270683301 +1100105,56,2706834,1,20,2,30,6,6,1,1,15,4,5111Z,6480.0,270683401 +1100105,56,2706835,1,21,2,40,6,6,2,1,15,4,52M1,6870.0,270683501 +1100105,56,2706836,1,19,1,30,4,6,1,1,15,4,722Z,8680.0,270683601 +1100105,56,2706837,1,21,2,10,5,1,1,1,15,4,5411,7270.0,270683701 +1100105,56,2706838,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,270683801 +1100105,56,2706839,1,20,2,3,6,6,1,1,15,4,611M3,7890.0,270683901 +1100105,56,2706840,1,19,2,20,3,1,1,1,15,4,722Z,8680.0,270684001 +1100105,56,2706841,1,17,2,-9,-9,6,2,1,15,4,,,270684101 +1100105,56,2706842,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270684201 +1100105,56,2706843,1,21,2,20,6,6,2,1,15,4,6211,7970.0,270684301 +1100105,56,2706844,1,20,1,12,4,1,1,1,15,4,5415,7380.0,270684401 +1100105,56,2706845,1,20,2,4,5,6,1,1,15,4,814,9290.0,270684501 +1100105,56,2706846,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,270684601 +1100105,56,2706847,1,19,2,-9,-9,6,2,1,15,4,,,270684701 +1100105,56,2706848,1,21,2,28,5,6,2,1,15,4,5241,6991.0,270684801 +1100105,56,2706849,1,19,1,40,6,3,2,1,15,4,51913,6672.0,270684901 +1100105,56,2706850,1,19,2,40,6,6,1,1,15,4,4412,4680.0,270685001 +1100105,56,2706851,1,18,2,14,5,3,1,1,15,4,722Z,8680.0,270685101 +1100105,56,2706852,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,270685201 +1100105,56,2706853,1,19,2,99,6,6,1,1,15,4,721M,8670.0,270685301 +1100105,56,2706854,1,18,1,5,6,6,2,1,15,4,928P,9590.0,270685401 +1100105,56,2706855,1,22,1,15,4,2,2,1,15,4,4481,5170.0,270685501 +1100105,56,2706856,1,19,1,-9,-9,6,2,1,15,4,51111,6470.0,270685601 +1100105,56,2706857,1,19,2,-9,-9,6,1,1,15,4,,,270685701 +1100105,56,2706858,1,19,2,-9,-9,6,1,1,15,4,,,270685801 +1100105,56,2706859,1,19,1,40,6,3,2,1,15,4,51913,6672.0,270685901 +1100105,56,2706860,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270686001 +1100105,56,2706861,1,18,2,15,4,6,2,1,15,4,45121,5370.0,270686101 +1100105,56,2706862,1,18,1,-9,-9,6,1,1,15,4,,,270686201 +1100105,56,2706863,1,19,2,99,6,6,1,1,15,4,721M,8670.0,270686301 +1100105,56,2706864,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,270686401 +1100105,56,2706865,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270686501 +1100105,56,2706866,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,270686601 +1100105,56,2706867,1,18,2,-9,-9,6,1,1,15,4,,,270686701 +1100105,56,2706868,1,20,2,7,6,3,2,1,15,4,712,8570.0,270686801 +1100105,56,2706869,1,20,2,16,6,6,1,1,15,4,4481,5170.0,270686901 +1100105,56,2706870,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,270687001 +1100105,56,2706871,1,18,2,-9,-9,6,1,1,15,4,,,270687101 +1100105,56,2706872,1,19,1,8,5,6,1,1,15,4,713Z,8590.0,270687201 +1100105,56,2706873,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,270687301 +1100105,56,2706874,1,20,1,25,3,1,6,1,15,4,6241,8370.0,270687401 +1100105,56,2706875,1,19,1,-9,-9,6,1,1,15,4,,,270687501 +1100105,56,2706876,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,270687601 +1100105,56,2706877,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270687701 +1100105,56,2706878,1,18,2,10,3,1,1,1,15,4,44511,4971.0,270687801 +1100105,56,2706879,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,270687901 +1100105,56,2706880,1,21,2,-9,-9,6,2,1,15,4,,,270688001 +1100105,56,2706881,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270688101 +1100105,56,2706882,1,18,2,-9,-9,6,1,1,15,4,,,270688201 +1100105,56,2706883,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,270688301 +1100105,56,2706884,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270688401 +1100105,56,2706885,1,19,1,-9,-9,6,1,1,15,4,,,270688501 +1100105,56,2706886,1,19,2,-9,-9,6,6,1,15,4,,,270688601 +1100105,56,2706887,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,270688701 +1100105,56,2706888,1,19,1,2,3,6,1,1,15,4,8131,9160.0,270688801 +1100105,56,2706889,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,270688901 +1100105,56,2706890,1,18,1,40,3,1,6,1,15,4,487,6280.0,270689001 +1100105,56,2706891,1,19,1,20,6,6,1,1,15,4,4442,4890.0,270689101 +1100105,56,2706892,1,19,2,-9,-9,6,6,1,15,4,,,270689201 +1100105,56,2706893,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,270689301 +1100105,56,2706894,1,21,2,36,6,6,1,1,15,4,622M,8191.0,270689401 +1100105,56,2706895,1,18,2,-9,-9,6,2,1,15,4,,,270689501 +1100105,56,2706896,1,18,2,-9,-9,6,1,1,15,4,,,270689601 +1100105,56,2706897,1,19,2,-9,-9,6,1,1,15,4,,,270689701 +1100105,56,2706898,1,20,2,-9,-9,6,2,1,15,4,,,270689801 +1100105,56,2706899,1,20,2,15,1,1,9,1,15,4,721M,8670.0,270689901 +1100105,56,2706900,1,19,2,30,6,6,6,1,15,4,4539,5580.0,270690001 +1100105,56,2706901,1,27,1,40,1,1,8,24,16,4,6216,8170.0,270690101 +1100105,56,2706902,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,270690201 +1100105,56,2706903,1,18,2,20,6,6,2,1,15,4,6111,7860.0,270690301 +1100105,56,2706904,1,19,2,-9,-9,6,1,1,15,4,,,270690401 +1100105,56,2706905,1,19,1,30,4,6,1,1,15,4,722Z,8680.0,270690501 +1100105,56,2706906,1,18,2,-9,-9,6,1,3,15,4,,,270690601 +1100105,56,2706907,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,270690701 +1100105,56,2706908,1,19,2,-9,-9,6,2,1,15,4,,,270690801 +1100105,56,2706909,1,18,2,10,6,6,1,1,15,4,722Z,8680.0,270690901 +1100105,56,2706910,1,20,2,-9,-9,6,1,1,15,4,,,270691001 +1100105,56,2706911,1,22,2,-9,-9,6,2,24,15,4,,,270691101 +1100105,56,2706912,1,22,1,20,6,6,2,1,15,4,813M,9170.0,270691201 +1100105,56,2706913,1,18,2,15,4,6,2,1,15,4,45121,5370.0,270691301 +1100105,56,2706914,1,19,1,23,4,6,2,1,15,4,44511,4971.0,270691401 +1100105,56,2706915,1,19,1,40,6,3,2,1,15,4,51913,6672.0,270691501 +1100105,56,2706916,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,270691601 +1100105,56,2706917,1,17,1,30,6,6,2,1,15,4,4481,5170.0,270691701 +1100105,56,2706918,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,270691801 +1100105,56,2706919,1,20,1,40,5,3,2,1,15,4,54194,7480.0,270691901 +1100105,56,2706920,1,19,2,12,5,1,1,1,15,4,611M1,7870.0,270692001 +1100105,56,2706921,1,18,2,45,6,6,1,1,15,4,814,9290.0,270692101 +1100105,56,2706922,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,270692201 +1100105,56,2706923,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270692301 +1100105,56,2706924,1,19,2,10,6,6,2,1,15,4,4481,5170.0,270692401 +1100105,56,2706925,1,19,1,28,6,6,2,11,15,4,23,770.0,270692501 +1100105,56,2706926,1,20,1,-9,-9,3,2,1,15,4,44511,4971.0,270692601 +1100105,56,2706927,1,21,2,40,3,6,1,16,15,4,623M,8290.0,270692701 +1100105,56,2706928,1,21,2,20,1,1,2,1,15,4,6241,8370.0,270692801 +1100105,56,2706929,1,20,1,-9,-9,6,2,1,15,4,,,270692901 +1100105,56,2706930,1,19,2,-9,-9,6,1,1,15,4,,,270693001 +1100105,56,2706931,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,270693101 +1100105,56,2706932,1,19,2,40,1,1,1,1,15,4,611M1,7870.0,270693201 +1100105,56,2706933,1,22,2,20,6,6,2,1,15,4,6231,8270.0,270693301 +1100105,56,2706934,1,20,1,16,4,6,1,1,15,4,7211,8660.0,270693401 +1100105,56,2706935,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,270693501 +1100105,56,2706936,1,24,2,-9,-9,6,2,1,16,4,,,270693601 +1100105,56,2706937,1,19,1,40,6,3,2,1,15,4,51913,6672.0,270693701 +1100105,56,2706938,1,18,2,-9,-9,6,2,1,15,4,,,270693801 +1100105,56,2706939,1,19,1,23,4,6,1,17,15,4,44512,4972.0,270693901 +1100105,56,2706940,1,18,2,20,1,1,2,1,15,4,722Z,8680.0,270694001 +1100105,56,2706941,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270694101 +1100105,56,2706942,1,18,2,46,6,6,2,1,15,4,721M,8670.0,270694201 +1100105,56,2706943,1,18,1,-9,-9,6,6,1,15,4,,,270694301 +1100105,56,2706944,1,30,1,35,1,1,2,1,15,4,6212,7980.0,270694401 +1100105,56,2706945,1,21,1,20,1,1,1,1,15,4,813M,9170.0,270694501 +1100105,56,2706946,1,19,1,60,6,6,2,1,15,4,711M,8563.0,270694601 +1100105,56,2706947,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,270694701 +1100105,56,2706948,1,20,1,-9,-9,6,2,1,15,4,,,270694801 +1100105,56,2706949,1,21,1,40,6,1,1,1,15,4,337,3895.0,270694901 +1100105,56,2706950,1,22,1,15,5,1,1,1,15,4,92113,9380.0,270695001 +1100105,56,2706951,1,21,2,-9,-9,6,1,1,15,4,,,270695101 +1100105,56,2706952,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,270695201 +1100105,56,2706953,1,20,2,6,5,2,1,1,15,4,712,8570.0,270695301 +1100105,56,2706954,1,18,2,-9,-9,6,1,24,15,4,,,270695401 +1100105,56,2706955,1,18,2,15,4,1,2,1,15,4,722Z,8680.0,270695501 +1100105,56,2706956,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,270695601 +1100105,56,2706957,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,270695701 +1100105,56,2706958,1,19,2,40,6,6,1,1,15,4,4412,4680.0,270695801 +1100105,56,2706959,1,19,2,15,6,6,1,1,15,4,713Z,8590.0,270695901 +1100105,56,2706960,1,19,2,18,3,6,1,1,15,4,722Z,8680.0,270696001 +1100105,56,2706961,1,19,2,12,5,1,1,1,15,4,611M1,7870.0,270696101 +1100105,56,2706962,1,18,2,-9,-9,3,1,1,15,4,45221,5381.0,270696201 +1100105,56,2706963,1,19,2,3,6,6,1,2,15,4,6244,8470.0,270696301 +1100105,56,2706964,1,18,2,20,3,6,1,1,15,4,44611,5070.0,270696401 +1100105,56,2706965,1,21,1,20,4,1,2,1,15,4,485M,6180.0,270696501 +1100105,56,2706966,1,18,2,-9,-9,6,1,1,15,4,,,270696601 +1100105,56,2706967,1,26,2,15,4,1,2,1,16,4,5415,7380.0,270696701 +1100105,56,2706968,1,20,2,-9,-9,6,1,1,15,4,,,270696801 +1100105,56,2706969,1,19,2,25,1,1,2,1,15,4,3118Z,1270.0,270696901 +1100105,56,2706970,1,18,1,3,6,3,9,1,15,4,5411,7270.0,270697001 +1100105,56,2706971,1,18,2,14,5,3,1,1,15,4,722Z,8680.0,270697101 +1100105,56,2706972,1,17,1,-9,-9,6,2,1,15,4,5121,6570.0,270697201 +1100105,56,2706973,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,270697301 +1100105,56,2706974,1,19,1,10,6,6,9,1,15,4,813M,9170.0,270697401 +1100105,56,2706975,1,20,2,15,1,1,1,1,15,4,6244,8470.0,270697501 +1100105,56,2706976,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,270697601 +1100105,56,2706977,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,270697701 +1100105,56,2706978,1,19,1,10,6,6,1,1,15,4,23,770.0,270697801 +1100105,56,2706979,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,270697901 +1100105,56,2706980,1,19,1,40,6,6,1,1,15,4,5416,7390.0,270698001 +1100105,56,2706981,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,270698101 +1100105,56,2706982,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270698201 +1100105,56,2706983,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,270698301 +1100105,56,2706984,1,20,2,4,5,6,1,1,15,4,814,9290.0,270698401 +1100105,56,2706985,1,19,2,8,6,1,2,1,15,4,611M3,7890.0,270698501 +1100105,56,2706986,1,21,2,20,1,1,1,1,15,4,722Z,8680.0,270698601 +1100105,56,2706987,1,20,2,-9,-9,6,1,1,15,4,,,270698701 +1100105,56,2706988,1,19,2,46,6,6,1,1,15,4,721M,8670.0,270698801 +1100105,56,2706989,1,18,2,20,6,6,6,1,15,4,721M,8670.0,270698901 +1100105,56,2706990,1,30,1,35,1,1,2,1,15,4,6212,7980.0,270699001 +1100105,56,2706991,1,18,1,3,6,3,9,1,15,4,5411,7270.0,270699101 +1100105,56,2706992,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,270699201 +1100105,56,2706993,1,18,1,-9,-9,6,6,1,15,4,,,270699301 +1100105,56,2706994,1,20,2,-9,-9,6,6,1,15,4,,,270699401 +1100105,56,2706995,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270699501 +1100105,56,2706996,1,22,1,24,6,6,2,1,15,4,4481,5170.0,270699601 +1100105,56,2706997,1,19,1,23,4,6,1,17,15,4,44512,4972.0,270699701 +1100105,56,2706998,1,21,1,32,5,6,1,1,15,4,5241,6991.0,270699801 +1100105,56,2706999,1,20,2,-9,-9,6,1,1,15,4,,,270699901 +1100105,56,2707000,1,21,2,-9,-9,6,1,1,15,4,,,270700001 +1100105,56,2707001,1,18,2,-9,-9,6,2,1,15,4,,,270700101 +1100105,56,2707002,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270700201 +1100105,56,2707003,1,21,2,-9,-9,6,2,1,15,4,4523,5391.0,270700301 +1100105,56,2707004,1,18,2,20,6,6,2,1,15,4,6111,7860.0,270700401 +1100105,56,2707005,1,20,1,12,4,1,6,1,15,4,611M1,7870.0,270700501 +1100105,56,2707006,1,19,2,30,6,6,1,1,15,4,442,4770.0,270700601 +1100105,56,2707007,1,20,1,12,4,1,6,1,15,4,611M1,7870.0,270700701 +1100105,56,2707008,1,22,2,20,5,3,2,1,15,4,45221,5381.0,270700801 +1100105,56,2707009,1,20,2,32,4,6,2,1,15,4,611M3,7890.0,270700901 +1100105,56,2707010,1,18,2,46,6,6,2,1,15,4,721M,8670.0,270701001 +1100105,56,2707011,1,19,1,40,6,6,1,1,15,4,6111,7860.0,270701101 +1100105,56,2707012,1,18,1,8,6,6,1,1,15,4,561M,7780.0,270701201 +1100105,56,2707013,1,20,1,20,6,6,2,1,15,4,813M,9170.0,270701301 +1100105,56,2707014,1,19,2,28,4,6,2,1,15,4,722Z,8680.0,270701401 +1100105,56,2707015,1,21,2,-9,-9,6,2,1,15,4,,,270701501 +1100105,56,2707016,1,25,1,40,1,1,2,1,16,4,6216,8170.0,270701601 +1100105,56,2707017,1,19,2,-9,-9,6,2,1,15,4,,,270701701 +1100105,56,2707018,1,21,2,17,3,1,2,1,15,4,813M,9170.0,270701801 +1100105,56,2707019,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270701901 +1100105,56,2707020,1,18,2,6,5,1,1,4,15,4,4481,5170.0,270702001 +1100105,56,2707021,1,19,1,-9,-9,6,1,24,15,4,5411,7270.0,270702101 +1100105,56,2707022,1,24,1,45,6,6,2,1,15,4,51913,6672.0,270702201 +1100105,56,2707023,1,20,2,-9,-9,6,1,1,15,4,,,270702301 +1100105,56,2707024,1,21,1,40,6,1,1,1,15,4,337,3895.0,270702401 +1100105,56,2707025,1,19,2,22,6,6,1,1,15,4,722Z,8680.0,270702501 +1100105,56,2707026,1,21,2,38,6,6,2,1,15,4,813M,9170.0,270702601 +1100105,56,2707027,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270702701 +1100105,56,2707028,1,19,1,35,6,6,1,1,15,4,721M,8670.0,270702801 +1100105,56,2707029,1,19,2,-9,-9,6,2,1,15,4,,,270702901 +1100105,56,2707030,1,20,2,32,6,6,2,1,15,4,722Z,8680.0,270703001 +1100105,56,2707031,1,19,2,20,5,6,1,2,15,4,71395,8580.0,270703101 +1100105,56,2707032,1,19,1,20,6,6,1,1,15,4,4442,4890.0,270703201 +1100105,56,2707033,1,24,2,-9,-9,6,2,1,16,4,,,270703301 +1100105,56,2707034,1,22,2,10,4,1,6,1,15,4,813M,9170.0,270703401 +1100105,56,2707035,1,21,1,35,5,6,1,1,15,4,52M2,6970.0,270703501 +1100105,56,2707036,1,21,2,-9,-9,6,1,1,15,4,,,270703601 +1100105,56,2707037,1,25,1,40,1,1,2,1,16,4,6216,8170.0,270703701 +1100105,56,2707038,1,19,1,-9,-9,6,1,24,15,4,5411,7270.0,270703801 +1100105,56,2707039,1,18,1,-9,-9,6,1,1,15,4,,,270703901 +1100105,56,2707040,1,23,2,10,3,1,9,1,16,4,5418,7470.0,270704001 +1100105,56,2707041,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,270704101 +1100105,56,2707042,1,18,1,-9,-9,6,1,1,15,4,4481,5170.0,270704201 +1100105,56,2707043,1,18,2,-9,-9,6,2,1,15,4,,,270704301 +1100105,56,2707044,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,270704401 +1100105,56,2707045,1,20,1,-9,-9,6,1,1,15,4,,,270704501 +1100105,56,2707046,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270704601 +1100105,56,2707047,1,19,1,8,6,1,2,1,15,4,611M1,7870.0,270704701 +1100105,56,2707048,1,20,2,-9,-9,6,1,1,15,4,,,270704801 +1100105,56,2707049,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,270704901 +1100105,56,2707050,1,22,1,10,1,1,6,1,15,4,611M1,7870.0,270705001 +1100105,56,2707051,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,270705101 +1100105,56,2707052,1,19,1,40,6,3,2,1,15,4,51913,6672.0,270705201 +1100105,56,2707053,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,270705301 +1100105,56,2707054,1,21,2,-9,-9,6,1,1,15,4,,,270705401 +1100105,56,2707055,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,270705501 +1100105,56,2707056,1,18,2,7,4,1,2,1,15,4,713Z,8590.0,270705601 +1100105,56,2707057,1,18,2,-9,-9,6,1,1,15,4,7111,8561.0,270705701 +1100105,56,2707058,1,21,2,-9,-9,6,2,1,15,4,,,270705801 +1100105,56,2707059,1,19,2,15,4,6,2,1,15,4,45121,5370.0,270705901 +1100105,56,2707060,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,270706001 +1100105,56,2707061,1,19,1,23,4,6,1,1,15,4,44512,4972.0,270706101 +1100105,56,2707062,1,18,2,-9,-9,6,1,1,15,4,,,270706201 +1100105,56,2707063,1,18,1,15,6,6,2,1,15,4,722Z,8680.0,270706301 +1100105,56,2707064,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270706401 +1100105,56,2707065,1,18,2,-9,-9,6,1,1,15,4,,,270706501 +1100105,56,2707066,1,19,2,-9,-9,6,2,1,15,4,,,270706601 +1100105,56,2707067,1,19,2,12,5,1,1,1,15,4,611M1,7870.0,270706701 +1100105,56,2707068,1,23,2,10,4,1,2,1,15,4,611M1,7870.0,270706801 +1100105,56,2707069,1,21,2,36,6,6,1,1,15,4,622M,8191.0,270706901 +1100105,56,2707070,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,270707001 +1100105,56,2707071,1,20,2,-9,-9,6,6,1,15,4,,,270707101 +1100105,56,2707072,1,18,2,40,5,6,6,1,15,4,712,8570.0,270707201 +1100105,56,2707073,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,270707301 +1100105,56,2707074,1,21,2,20,5,1,2,1,15,4,611M1,7870.0,270707401 +1100105,56,2707075,1,21,1,30,6,6,2,1,15,4,4542,5670.0,270707501 +1100105,56,2707076,1,18,2,-9,-9,6,2,1,15,4,,,270707601 +1100105,56,2707077,1,18,2,46,6,6,2,1,15,4,721M,8670.0,270707701 +1100105,56,2707078,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,270707801 +1100105,56,2707079,1,19,1,-9,-9,6,6,1,15,4,,,270707901 +1100105,56,2707080,1,21,2,8,4,1,1,1,15,4,611M1,7870.0,270708001 +1100105,56,2707081,1,21,1,30,6,6,2,1,15,4,4542,5670.0,270708101 +1100105,56,2707082,1,19,1,23,4,6,1,1,15,4,44512,4972.0,270708201 +1100105,56,2707083,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,270708301 +1100105,56,2707084,1,18,2,-9,-9,6,1,1,15,4,,,270708401 +1100105,56,2707085,1,18,2,15,1,1,1,1,15,4,4481,5170.0,270708501 +1100105,56,2707086,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,270708601 +1100105,56,2707087,1,18,1,10,5,6,1,1,15,4,6211,7970.0,270708701 +1100105,56,2707088,1,19,2,20,5,1,9,1,15,4,5415,7380.0,270708801 +1100105,56,2707089,1,18,2,3,6,1,1,1,15,4,611M3,7890.0,270708901 +1100105,56,2707090,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,270709001 +1100105,56,2707091,1,20,2,16,3,2,1,1,15,4,611M1,7870.0,270709101 +1100105,56,2707092,1,19,2,99,6,6,1,1,15,4,721M,8670.0,270709201 +1100105,56,2707093,1,19,2,-9,-9,6,1,1,15,4,,,270709301 +1100105,56,2707094,1,18,2,20,6,6,1,1,15,4,721M,8670.0,270709401 +1100105,56,2707095,1,22,2,36,6,6,2,1,15,4,622M,8191.0,270709501 +1100105,56,2707096,1,20,2,12,1,2,1,1,15,4,45121,5370.0,270709601 +1100105,56,2707097,1,18,1,50,5,6,1,1,15,4,713Z,8590.0,270709701 +1100105,56,2707098,1,18,2,27,5,2,2,1,15,4,6244,8470.0,270709801 +1100105,56,2707099,1,18,2,-9,-9,3,2,1,15,4,999920,9920.0,270709901 +1100105,56,2707100,1,20,2,-9,-9,6,1,1,15,4,,,270710001 +1100105,56,2707101,1,18,1,8,6,6,1,1,15,4,561M,7780.0,270710101 +1100105,56,2707102,1,20,2,-9,-9,6,2,1,15,4,,,270710201 +1100105,56,2707103,1,28,2,10,5,1,2,1,15,4,722Z,8680.0,270710301 +1100105,56,2707104,1,20,2,32,4,6,2,1,15,4,611M3,7890.0,270710401 +1100105,56,2707105,1,20,1,12,4,1,1,1,15,4,5415,7380.0,270710501 +1100105,56,2707106,1,20,1,25,6,6,2,1,15,4,6231,8270.0,270710601 +1100105,56,2707107,1,18,2,15,1,1,1,1,15,4,4481,5170.0,270710701 +1100105,56,2707108,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,270710801 +1100105,56,2707109,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,270710901 +1100105,56,2707110,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,270711001 +1100105,56,2707111,1,19,1,23,4,6,1,1,15,4,44512,4972.0,270711101 +1100105,56,2707112,1,18,2,-9,-9,6,2,1,15,4,,,270711201 +1100105,56,2707113,1,19,1,20,6,6,1,1,15,4,4442,4890.0,270711301 +1100105,56,2707114,1,19,1,30,5,6,1,1,15,4,4481,5170.0,270711401 +1100105,56,2707115,1,20,1,12,4,1,6,1,15,4,611M1,7870.0,270711501 +1100105,56,2707116,1,18,1,40,3,1,6,1,15,4,487,6280.0,270711601 +1100105,56,2707117,1,18,2,20,3,6,1,1,15,4,44611,5070.0,270711701 +1100105,56,2707118,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,270711801 +1100105,56,2707119,1,22,1,8,4,1,2,1,15,4,611M1,7870.0,270711901 +1100105,56,2707120,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,270712001 +1100105,56,2707121,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,270712101 +1100105,56,2707122,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,270712201 +1100105,56,2707123,1,19,2,8,5,2,1,24,15,4,6111,7860.0,270712301 +1100105,56,2707124,1,18,1,28,6,6,2,1,15,4,23,770.0,270712401 +1100105,56,2707125,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,270712501 +1100105,56,2707126,1,19,2,-9,-9,6,2,1,15,4,,,270712601 +1100105,56,2707127,1,18,1,24,5,1,1,1,15,4,4539,5580.0,270712701 +1100105,56,2707128,1,37,2,38,3,1,9,3,16,4,611M1,7870.0,270712801 +1100105,56,2707129,1,19,1,-9,-9,6,1,1,15,4,,,270712901 +1100105,56,2707130,1,19,2,8,5,2,1,24,15,4,6111,7860.0,270713001 +1100105,56,2707131,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,270713101 +1100105,56,2707132,1,18,2,10,3,1,1,1,15,4,44511,4971.0,270713201 +1100105,56,2707133,1,18,2,20,3,6,1,1,15,4,5411,7270.0,270713301 +1100105,56,2707134,1,21,2,20,6,6,2,1,15,4,6231,8270.0,270713401 +1100105,60,2707135,1,57,1,40,3,6,2,1,-9,2,5616,7680.0,270713501 +1100105,60,2707136,1,36,1,-9,-9,3,2,1,-9,4,722Z,8680.0,270713601 +1100105,60,2707137,1,45,1,-9,-9,6,2,1,-9,4,,,270713701 +1100105,60,2707138,1,62,1,-9,-9,6,2,3,-9,4,,,270713801 +1100105,60,2707139,1,62,1,-9,-9,6,2,3,-9,4,,,270713901 +1100105,60,2707140,1,62,2,-9,-9,6,2,1,-9,4,,,270714001 +1100105,60,2707141,1,60,1,-9,-9,6,2,1,-9,4,,,270714101 +1100105,60,2707142,1,57,1,-9,-9,6,2,1,-9,4,,,270714201 +1100105,35,2714035,1,21,2,-9,-9,6,2,1,15,4,,,271403501 +1100105,35,2714036,1,18,2,-9,-9,6,1,1,15,4,,,271403601 +1100105,35,2714037,1,18,2,20,1,1,1,1,15,4,722Z,8680.0,271403701 +1100105,35,2714038,1,18,2,-9,-9,6,1,1,15,4,,,271403801 +1100105,35,2714039,1,23,1,-9,-9,6,8,16,15,4,722Z,8680.0,271403901 +1100105,35,2714040,1,19,2,40,6,6,1,1,15,4,4412,4680.0,271404001 +1100105,35,2714041,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271404101 +1100105,35,2714042,1,18,1,16,6,6,2,1,15,4,611M2,7880.0,271404201 +1100105,35,2714043,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271404301 +1100105,35,2714044,1,22,2,20,6,6,2,1,15,4,713Z,8590.0,271404401 +1100105,35,2714045,1,19,2,40,5,6,1,1,15,4,712,8570.0,271404501 +1100105,35,2714046,1,19,2,15,5,1,9,1,15,4,813M,9170.0,271404601 +1100105,35,2714047,1,18,1,15,6,6,2,1,15,4,722Z,8680.0,271404701 +1100105,35,2714048,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271404801 +1100105,35,2714049,1,19,2,-9,-9,6,1,1,15,4,,,271404901 +1100105,35,2714050,1,18,2,-9,-9,6,6,1,15,4,,,271405001 +1100105,35,2714051,1,19,2,1,6,3,6,1,15,4,6111,7860.0,271405101 +1100105,35,2714052,1,18,1,-9,-9,6,1,1,15,4,4481,5170.0,271405201 +1100105,35,2714053,1,19,2,-9,-9,6,1,24,15,4,,,271405301 +1100105,35,2714054,1,18,1,45,6,6,1,1,15,4,923,9480.0,271405401 +1100105,35,2714055,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271405501 +1100105,35,2714056,1,26,2,40,1,1,2,1,16,4,6111,7860.0,271405601 +1100105,35,2714057,1,19,1,-9,-9,6,2,1,15,4,51111,6470.0,271405701 +1100105,35,2714058,1,19,2,24,5,6,1,1,15,4,515,6670.0,271405801 +1100105,35,2714059,1,21,2,30,5,6,2,1,15,4,712,8570.0,271405901 +1100105,35,2714060,1,20,2,20,1,1,2,1,15,4,6241,8370.0,271406001 +1100105,35,2714061,1,18,2,-9,-9,6,2,24,15,4,,,271406101 +1100105,35,2714062,1,20,1,15,4,6,2,1,15,4,6214,8090.0,271406201 +1100105,35,2714063,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271406301 +1100105,35,2714064,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271406401 +1100105,35,2714065,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271406501 +1100105,35,2714066,1,20,2,-9,-9,6,2,1,15,4,,,271406601 +1100105,35,2714067,1,18,1,80,5,6,1,1,15,4,721M,8670.0,271406701 +1100105,35,2714068,1,19,2,20,4,1,2,1,15,4,5313,7072.0,271406801 +1100105,35,2714069,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271406901 +1100105,35,2714070,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271407001 +1100105,35,2714071,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271407101 +1100105,35,2714072,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271407201 +1100105,35,2714073,1,18,1,23,4,6,2,1,15,4,44511,4971.0,271407301 +1100105,35,2714074,1,21,1,20,4,1,1,1,15,4,611M1,7870.0,271407401 +1100105,35,2714075,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271407501 +1100105,35,2714076,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,271407601 +1100105,35,2714077,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271407701 +1100105,35,2714078,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271407801 +1100105,35,2714079,1,18,2,-9,-9,6,2,1,15,4,,,271407901 +1100105,35,2714080,1,21,2,25,4,1,1,1,15,4,8139Z,9190.0,271408001 +1100105,35,2714081,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271408101 +1100105,35,2714082,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,271408201 +1100105,35,2714083,1,20,2,-9,-9,6,2,1,15,4,,,271408301 +1100105,35,2714084,1,23,1,-9,-9,6,8,16,15,4,722Z,8680.0,271408401 +1100105,35,2714085,1,19,2,-9,-9,6,1,1,15,4,,,271408501 +1100105,35,2714086,1,20,2,6,5,2,1,1,15,4,712,8570.0,271408601 +1100105,35,2714087,1,18,1,45,6,6,1,1,15,4,923,9480.0,271408701 +1100105,35,2714088,1,18,2,-9,-9,6,1,1,15,4,,,271408801 +1100105,35,2714089,1,19,1,16,5,3,1,1,15,4,44511,4971.0,271408901 +1100105,35,2714090,1,19,2,30,6,6,1,1,15,4,442,4770.0,271409001 +1100105,35,2714091,1,20,2,6,5,2,1,1,15,4,712,8570.0,271409101 +1100105,35,2714092,1,21,2,10,5,1,1,1,15,4,5411,7270.0,271409201 +1100105,35,2714093,1,18,1,40,6,6,2,19,15,4,5617Z,7690.0,271409301 +1100105,35,2714094,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271409401 +1100105,35,2714095,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,271409501 +1100105,35,2714096,1,19,2,20,5,1,9,1,15,4,5415,7380.0,271409601 +1100105,35,2714097,1,21,1,26,3,1,1,1,15,4,712,8570.0,271409701 +1100105,35,2714098,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271409801 +1100105,35,2714099,1,18,2,10,6,6,1,1,15,4,5616,7680.0,271409901 +1100105,35,2714100,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271410001 +1100105,35,2714101,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271410101 +1100105,35,2714102,1,18,2,-9,-9,6,1,1,15,4,,,271410201 +1100105,35,2714103,1,19,2,40,5,6,1,1,15,4,712,8570.0,271410301 +1100105,35,2714104,1,21,2,6,4,1,1,1,15,4,611M1,7870.0,271410401 +1100105,35,2714105,1,19,2,28,4,6,2,1,15,4,722Z,8680.0,271410501 +1100105,35,2714106,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,271410601 +1100105,35,2714107,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,271410701 +1100105,35,2714108,1,18,1,-9,-9,6,2,1,15,4,,,271410801 +1100105,35,2714109,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271410901 +1100105,35,2714110,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271411001 +1100105,35,2714111,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,271411101 +1100105,35,2714112,1,19,2,30,6,6,1,1,15,4,442,4770.0,271411201 +1100105,35,2714113,1,20,2,-9,-9,6,2,1,15,4,,,271411301 +1100105,35,2714114,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,271411401 +1100105,35,2714115,1,20,2,25,1,1,8,24,15,4,3118Z,1270.0,271411501 +1100105,35,2714116,1,21,2,-9,-9,6,1,1,15,4,,,271411601 +1100105,35,2714117,1,19,1,50,6,6,2,1,15,4,311M2,1280.0,271411701 +1100105,35,2714118,1,18,2,14,5,3,1,1,15,4,722Z,8680.0,271411801 +1100105,35,2714119,1,37,2,38,3,1,9,3,16,4,611M1,7870.0,271411901 +1100105,35,2714120,1,21,2,8,4,1,1,1,15,4,611M1,7870.0,271412001 +1100105,35,2714121,1,20,2,45,4,6,1,1,15,4,4481,5170.0,271412101 +1100105,35,2714122,1,21,2,-9,-9,6,1,1,15,4,,,271412201 +1100105,35,2714123,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271412301 +1100105,35,2714124,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,271412401 +1100105,35,2714125,1,18,2,-9,-9,6,1,1,15,4,,,271412501 +1100105,35,2714126,1,20,2,-9,-9,6,1,1,15,4,,,271412601 +1100105,35,2714127,1,21,2,50,6,3,2,1,15,4,721M,8670.0,271412701 +1100105,35,2714128,1,21,1,20,4,1,1,1,15,4,611M1,7870.0,271412801 +1100105,35,2714129,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,271412901 +1100105,35,2714130,1,19,2,-9,-9,6,1,1,15,4,,,271413001 +1100105,35,2714131,1,19,2,48,4,1,1,2,15,4,722Z,8680.0,271413101 +1100105,35,2714132,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271413201 +1100105,35,2714133,1,21,1,-9,-9,3,2,1,15,4,44511,4971.0,271413301 +1100105,35,2714134,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271413401 +1100105,35,2714135,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271413501 +1100105,35,2714136,1,18,2,10,6,6,1,1,15,4,722Z,8680.0,271413601 +1100105,35,2714137,1,22,2,-9,-9,6,2,24,15,4,,,271413701 +1100105,35,2714138,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271413801 +1100105,35,2714139,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271413901 +1100105,35,2714140,1,19,1,-9,-9,6,1,1,15,4,531M,7071.0,271414001 +1100105,35,2714141,1,19,1,-9,-9,6,6,1,15,4,,,271414101 +1100105,35,2714142,1,17,1,30,6,6,2,1,15,4,4481,5170.0,271414201 +1100105,35,2714143,1,19,1,10,6,6,1,1,15,4,23,770.0,271414301 +1100105,35,2714144,1,18,2,-9,-9,6,2,1,15,4,,,271414401 +1100105,35,2714145,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271414501 +1100105,35,2714146,1,19,2,15,5,6,1,1,15,4,446Z,5080.0,271414601 +1100105,35,2714147,1,19,2,8,1,6,1,1,15,4,4481,5170.0,271414701 +1100105,35,2714148,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,271414801 +1100105,35,2714149,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271414901 +1100105,35,2714150,1,18,2,-9,-9,6,1,1,15,4,,,271415001 +1100105,35,2714151,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,271415101 +1100105,35,2714152,1,19,2,15,4,6,2,1,15,4,45121,5370.0,271415201 +1100105,35,2714153,1,23,1,-9,-9,6,2,1,15,4,,,271415301 +1100105,35,2714154,1,21,1,-9,-9,6,2,1,15,4,,,271415401 +1100105,35,2714155,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,271415501 +1100105,35,2714156,1,21,1,12,6,1,1,1,15,4,611M1,7870.0,271415601 +1100105,35,2714157,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271415701 +1100105,35,2714158,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,271415801 +1100105,35,2714159,1,19,2,-9,-9,6,6,1,15,4,,,271415901 +1100105,35,2714160,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271416001 +1100105,35,2714161,1,18,2,-9,-9,6,2,1,15,4,,,271416101 +1100105,35,2714162,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271416201 +1100105,35,2714163,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271416301 +1100105,35,2714164,1,18,1,8,6,6,1,1,15,4,713Z,8590.0,271416401 +1100105,35,2714165,1,21,2,40,1,6,2,1,15,4,515,6670.0,271416501 +1100105,35,2714166,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271416601 +1100105,35,2714167,1,19,2,10,6,6,2,1,15,4,4481,5170.0,271416701 +1100105,35,2714168,1,20,2,32,4,6,2,1,15,4,611M3,7890.0,271416801 +1100105,35,2714169,1,18,2,40,6,6,2,1,15,4,923,9480.0,271416901 +1100105,35,2714170,1,18,2,-9,-9,6,2,1,15,4,,,271417001 +1100105,35,2714171,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,271417101 +1100105,35,2714172,1,19,1,-9,-9,6,1,1,15,4,,,271417201 +1100105,35,2714173,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,271417301 +1100105,35,2714174,1,18,2,6,2,1,9,14,15,4,6111,7860.0,271417401 +1100105,35,2714175,1,19,1,12,5,1,1,1,15,4,713Z,8590.0,271417501 +1100105,35,2714176,1,21,1,40,6,1,1,1,15,4,337,3895.0,271417601 +1100105,35,2714177,1,18,2,45,6,6,1,1,15,4,814,9290.0,271417701 +1100105,35,2714178,1,19,1,-9,-9,6,1,1,15,4,,,271417801 +1100105,35,2714179,1,21,2,15,6,6,1,1,15,4,4481,5170.0,271417901 +1100105,35,2714180,1,19,2,20,6,6,1,18,15,4,713Z,8590.0,271418001 +1100105,35,2714181,1,21,2,15,4,1,9,1,15,4,92MP,9470.0,271418101 +1100105,35,2714182,1,20,2,-9,-9,6,2,1,15,4,,,271418201 +1100105,35,2714183,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271418301 +1100105,35,2714184,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271418401 +1100105,35,2714185,1,19,2,10,6,6,1,1,15,4,315M,1691.0,271418501 +1100105,35,2714186,1,19,1,-9,-9,6,6,1,15,4,,,271418601 +1100105,35,2714187,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271418701 +1100105,35,2714188,1,19,1,7,4,1,1,1,15,4,611M2,7880.0,271418801 +1100105,35,2714189,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271418901 +1100105,35,2714190,1,20,2,-9,-9,6,1,1,15,4,,,271419001 +1100105,35,2714191,1,18,1,24,6,6,1,1,15,4,722Z,8680.0,271419101 +1100105,35,2714192,1,18,2,40,3,1,1,1,15,4,611M3,7890.0,271419201 +1100105,35,2714193,1,20,2,-9,-9,6,2,1,15,4,,,271419301 +1100105,35,2714194,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271419401 +1100105,35,2714195,1,19,2,15,6,6,1,1,15,4,712,8570.0,271419501 +1100105,35,2714196,1,20,1,40,4,2,1,1,15,4,722Z,8680.0,271419601 +1100105,35,2714197,1,18,2,20,1,6,1,1,15,4,111,170.0,271419701 +1100105,35,2714198,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,271419801 +1100105,35,2714199,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,271419901 +1100105,35,2714200,1,18,2,54,6,6,9,1,15,4,4481,5170.0,271420001 +1100105,35,2714201,1,18,1,-9,-9,6,1,1,15,4,,,271420101 +1100105,35,2714202,1,19,1,28,6,6,2,1,15,4,23,770.0,271420201 +1100105,35,2714203,1,20,2,-9,-9,6,2,1,15,4,,,271420301 +1100105,35,2714204,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,271420401 +1100105,35,2714205,1,20,2,-9,-9,6,1,1,15,4,,,271420501 +1100105,35,2714206,1,19,1,-9,-9,6,2,1,15,4,,,271420601 +1100105,35,2714207,1,18,2,-9,-9,6,2,1,15,4,,,271420701 +1100105,35,2714208,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271420801 +1100105,35,2714209,1,21,2,20,6,6,1,1,15,4,6241,8370.0,271420901 +1100105,35,2714210,1,18,2,20,6,6,2,1,15,4,6111,7860.0,271421001 +1100105,35,2714211,1,20,2,45,6,3,2,1,15,4,5412,7280.0,271421101 +1100105,35,2714212,1,22,1,15,4,2,2,1,15,4,4481,5170.0,271421201 +1100105,35,2714213,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271421301 +1100105,35,2714214,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271421401 +1100105,35,2714215,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271421501 +1100105,35,2714216,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,271421601 +1100105,35,2714217,1,19,2,-9,-9,6,1,1,15,4,,,271421701 +1100105,35,2714218,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271421801 +1100105,35,2714219,1,18,2,7,4,1,2,1,15,4,713Z,8590.0,271421901 +1100105,35,2714220,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,271422001 +1100105,35,2714221,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271422101 +1100105,35,2714222,1,20,2,35,6,6,1,3,15,4,713Z,8590.0,271422201 +1100105,35,2714223,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271422301 +1100105,35,2714224,1,18,1,35,4,6,2,1,15,4,713Z,8590.0,271422401 +1100105,35,2714225,1,19,1,-9,-9,6,1,1,15,4,,,271422501 +1100105,35,2714226,1,22,2,30,6,6,1,1,15,4,5111Z,6480.0,271422601 +1100105,35,2714227,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271422701 +1100105,35,2714228,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271422801 +1100105,35,2714229,1,20,2,20,6,1,2,1,15,4,722Z,8680.0,271422901 +1100105,35,2714230,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271423001 +1100105,35,2714231,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271423101 +1100105,35,2714232,1,18,1,10,6,6,1,1,15,4,6111,7860.0,271423201 +1100105,35,2714233,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271423301 +1100105,35,2714234,1,19,1,10,6,6,1,1,15,4,23,770.0,271423401 +1100105,35,2714235,1,21,1,40,6,1,1,1,15,4,337,3895.0,271423501 +1100105,35,2714236,1,20,1,-9,-9,6,6,1,15,4,,,271423601 +1100105,35,2714237,1,22,1,10,1,1,6,1,15,4,611M1,7870.0,271423701 +1100105,35,2714238,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,271423801 +1100105,35,2714239,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,271423901 +1100105,35,2714240,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271424001 +1100105,35,2714241,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271424101 +1100105,35,2714242,1,18,1,-9,-9,6,6,1,15,4,,,271424201 +1100105,35,2714243,1,20,2,-9,-9,6,2,1,15,4,,,271424301 +1100105,35,2714244,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271424401 +1100105,35,2714245,1,22,1,50,6,1,2,1,15,4,51913,6672.0,271424501 +1100105,35,2714246,1,18,2,20,3,6,1,1,15,4,44611,5070.0,271424601 +1100105,35,2714247,1,19,2,-9,-9,6,2,1,15,4,,,271424701 +1100105,35,2714248,1,24,2,-9,-9,6,2,1,15,4,,,271424801 +1100105,35,2714249,1,19,1,-9,-9,6,2,1,15,4,51111,6470.0,271424901 +1100105,35,2714250,1,18,2,7,4,1,6,1,15,4,713Z,8590.0,271425001 +1100105,35,2714251,1,21,2,20,4,1,2,1,15,4,611M1,7870.0,271425101 +1100105,35,2714252,1,19,1,30,5,6,1,1,15,4,4481,5170.0,271425201 +1100105,35,2714253,1,21,1,26,3,1,1,1,15,4,712,8570.0,271425301 +1100105,35,2714254,1,19,2,35,6,6,1,1,15,4,713Z,8590.0,271425401 +1100105,35,2714255,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,271425501 +1100105,35,2714256,1,21,2,40,3,6,1,16,15,4,623M,8290.0,271425601 +1100105,35,2714257,1,19,2,-9,-9,6,2,1,15,4,,,271425701 +1100105,35,2714258,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271425801 +1100105,35,2714259,1,19,2,-9,-9,6,1,24,15,4,,,271425901 +1100105,35,2714260,1,19,1,50,6,6,1,1,15,4,311M2,1280.0,271426001 +1100105,35,2714261,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,271426101 +1100105,35,2714262,1,21,2,50,6,3,2,1,15,4,721M,8670.0,271426201 +1100105,35,2714263,1,20,1,30,4,2,1,1,15,4,621M,8180.0,271426301 +1100105,35,2714264,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271426401 +1100105,35,2714265,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271426501 +1100105,35,2714266,1,20,1,6,4,1,2,1,15,4,6242,8380.0,271426601 +1100105,35,2714267,1,21,2,-9,-9,6,2,1,15,4,,,271426701 +1100105,35,2714268,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271426801 +1100105,35,2714269,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271426901 +1100105,35,2714270,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271427001 +1100105,35,2714271,1,18,1,20,6,6,2,1,15,4,4442,4890.0,271427101 +1100105,35,2714272,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271427201 +1100105,35,2714273,1,18,1,-9,-9,6,1,1,15,4,,,271427301 +1100105,35,2714274,1,21,1,20,4,1,1,1,15,4,813M,9170.0,271427401 +1100105,35,2714275,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271427501 +1100105,35,2714276,1,20,2,10,6,1,1,24,15,4,814,9290.0,271427601 +1100105,35,2714277,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271427701 +1100105,35,2714278,1,19,2,22,6,6,1,1,15,4,722Z,8680.0,271427801 +1100105,35,2714279,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271427901 +1100105,35,2714280,1,22,1,-9,-9,6,2,1,15,4,611M1,7870.0,271428001 +1100105,35,2714281,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271428101 +1100105,35,2714282,1,25,1,40,1,1,2,1,16,4,6216,8170.0,271428201 +1100105,35,2714283,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271428301 +1100105,35,2714284,1,23,2,10,4,1,2,1,15,4,611M1,7870.0,271428401 +1100105,35,2714285,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,271428501 +1100105,35,2714286,1,20,2,-9,-9,6,1,1,15,4,,,271428601 +1100105,35,2714287,1,19,1,-9,-9,6,1,1,15,4,,,271428701 +1100105,35,2714288,1,18,2,-9,-9,6,1,1,15,4,712,8570.0,271428801 +1100105,35,2714289,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271428901 +1100105,35,2714290,1,18,2,20,6,6,1,1,15,4,721M,8670.0,271429001 +1100105,35,2714291,1,37,2,38,3,1,9,3,16,4,611M1,7870.0,271429101 +1100105,35,2714292,1,25,2,-9,-9,6,2,1,16,4,,,271429201 +1100105,35,2714293,1,18,1,-9,-9,6,1,1,15,4,,,271429301 +1100105,35,2714294,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271429401 +1100105,35,2714295,1,23,1,32,1,2,1,1,15,2,622M,8191.0,271429501 +1100105,35,2714296,1,25,1,40,1,1,2,1,16,4,6216,8170.0,271429601 +1100105,35,2714297,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271429701 +1100105,35,2714298,1,21,1,15,5,2,1,1,15,2,4523,5391.0,271429801 +1100105,35,2714299,1,18,1,40,3,1,6,1,15,4,487,6280.0,271429901 +1100105,35,2714300,1,21,2,-9,-9,6,2,1,15,4,,,271430001 +1100105,35,2714301,1,19,2,8,6,1,2,1,15,4,611M3,7890.0,271430101 +1100105,35,2714302,1,20,1,6,4,1,2,1,15,4,6242,8380.0,271430201 +1100105,35,2714303,1,18,1,23,4,6,2,1,15,4,44511,4971.0,271430301 +1100105,35,2714304,1,21,1,20,4,1,8,24,15,4,5415,7380.0,271430401 +1100105,35,2714305,1,21,1,16,4,1,1,1,15,4,622M,8191.0,271430501 +1100105,35,2714306,1,20,2,-9,-9,6,1,1,15,4,,,271430601 +1100105,35,2714307,1,20,1,-9,-9,6,1,1,15,4,5413,7290.0,271430701 +1100105,35,2714308,1,19,2,1,6,3,6,1,15,4,6111,7860.0,271430801 +1100105,35,2714309,1,18,1,10,6,6,1,1,15,4,6111,7860.0,271430901 +1100105,35,2714310,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271431001 +1100105,35,2714311,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271431101 +1100105,35,2714312,1,25,2,-9,-9,6,2,1,16,4,,,271431201 +1100105,35,2714313,1,18,2,-9,-9,6,6,1,15,4,,,271431301 +1100105,35,2714314,1,23,2,40,3,6,9,1,16,4,611M3,7890.0,271431401 +1100105,35,2714315,1,20,2,-9,-9,6,2,1,15,4,6111,7860.0,271431501 +1100105,35,2714316,1,20,1,40,6,6,1,1,15,4,522M,6890.0,271431601 +1100105,35,2714317,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271431701 +1100105,35,2714318,1,20,2,3,6,6,1,1,15,4,611M3,7890.0,271431801 +1100105,35,2714319,1,24,2,5,5,6,1,1,16,4,611M1,7870.0,271431901 +1100105,35,2714320,1,19,2,-9,-9,6,2,1,15,4,,,271432001 +1100105,35,2714321,1,20,2,-9,-9,6,6,2,15,4,,,271432101 +1100105,35,2714322,1,19,1,6,1,1,1,1,15,4,622M,8191.0,271432201 +1100105,35,2714323,1,20,2,32,4,6,2,1,15,4,611M3,7890.0,271432301 +1100105,35,2714324,1,18,2,12,6,6,1,1,15,4,712,8570.0,271432401 +1100105,35,2714325,1,19,1,28,6,6,2,11,15,4,23,770.0,271432501 +1100105,35,2714326,1,18,2,-9,-9,6,1,1,15,4,,,271432601 +1100105,35,2714327,1,20,2,-9,-9,6,2,1,15,4,,,271432701 +1100105,35,2714328,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271432801 +1100105,35,2714329,1,19,2,-9,-9,6,1,24,15,4,,,271432901 +1100105,35,2714330,1,20,1,23,5,6,9,19,15,4,4481,5170.0,271433001 +1100105,35,2714331,1,18,2,45,6,6,1,1,15,4,814,9290.0,271433101 +1100105,35,2714332,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271433201 +1100105,35,2714333,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271433301 +1100105,35,2714334,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271433401 +1100105,35,2714335,1,19,1,10,6,6,1,1,15,4,23,770.0,271433501 +1100105,35,2714336,1,21,2,20,5,1,9,1,15,4,5121,6570.0,271433601 +1100105,35,2714337,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271433701 +1100105,35,2714338,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,271433801 +1100105,35,2714339,1,20,2,20,3,1,1,1,15,4,44821,5180.0,271433901 +1100105,35,2714340,1,21,2,40,6,6,1,1,15,4,611M1,7870.0,271434001 +1100105,35,2714341,1,21,2,-9,-9,6,1,1,15,4,,,271434101 +1100105,35,2714342,1,23,2,40,3,6,9,1,16,4,611M3,7890.0,271434201 +1100105,35,2714343,1,19,2,30,6,6,6,1,15,4,4539,5580.0,271434301 +1100105,35,2714344,1,30,1,35,1,1,2,1,15,4,6212,7980.0,271434401 +1100105,35,2714345,1,20,2,20,1,1,2,1,15,4,6241,8370.0,271434501 +1100105,35,2714346,1,18,1,28,6,6,2,1,15,4,23,770.0,271434601 +1100105,35,2714347,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271434701 +1100105,35,2714348,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271434801 +1100105,35,2714349,1,19,1,24,5,1,1,1,15,4,4539,5580.0,271434901 +1100105,35,2714350,1,19,2,22,6,6,1,1,15,4,722Z,8680.0,271435001 +1100105,35,2714351,1,19,1,10,6,6,9,1,15,4,813M,9170.0,271435101 +1100105,35,2714352,1,18,2,-9,-9,6,1,1,15,4,,,271435201 +1100105,35,2714353,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,271435301 +1100105,35,2714354,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,271435401 +1100105,35,2714355,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271435501 +1100105,35,2714356,1,21,2,-9,-9,6,2,1,15,4,4523,5391.0,271435601 +1100105,35,2714357,1,21,2,-9,-9,6,2,1,15,4,,,271435701 +1100105,35,2714358,1,25,2,-9,-9,6,2,1,16,4,,,271435801 +1100105,35,2714359,1,18,1,-9,-9,6,1,1,15,4,,,271435901 +1100105,35,2714360,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271436001 +1100105,35,2714361,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271436101 +1100105,35,2714362,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271436201 +1100105,35,2714363,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,271436301 +1100105,35,2714364,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,271436401 +1100105,35,2714365,1,21,1,12,6,1,1,1,15,4,611M1,7870.0,271436501 +1100105,35,2714366,1,20,2,8,4,1,6,1,15,4,611M1,7870.0,271436601 +1100105,35,2714367,1,18,2,-9,-9,6,2,1,15,4,,,271436701 +1100105,35,2714368,1,19,2,-9,-9,6,1,1,15,4,722Z,8680.0,271436801 +1100105,35,2714369,1,20,1,40,6,6,1,1,15,4,522M,6890.0,271436901 +1100105,35,2714370,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,271437001 +1100105,35,2714371,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271437101 +1100105,35,2714372,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,271437201 +1100105,35,2714373,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271437301 +1100105,35,2714374,1,20,2,8,4,1,6,1,15,4,611M1,7870.0,271437401 +1100105,35,2714375,1,18,1,-9,-9,6,2,1,15,4,,,271437501 +1100105,35,2714376,1,18,1,-9,-9,6,1,1,15,4,,,271437601 +1100105,35,2714377,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271437701 +1100105,35,2714378,1,24,2,-9,-9,6,2,1,16,4,,,271437801 +1100105,35,2714379,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271437901 +1100105,35,2714380,1,18,1,-9,-9,6,6,1,15,4,,,271438001 +1100105,35,2714381,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,271438101 +1100105,35,2714382,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271438201 +1100105,35,2714383,1,18,1,-9,-9,6,2,1,15,4,,,271438301 +1100105,35,2714384,1,18,2,-9,-9,6,6,1,15,4,,,271438401 +1100105,35,2714385,1,21,2,28,5,6,2,1,15,4,5241,6991.0,271438501 +1100105,35,2714386,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271438601 +1100105,35,2714387,1,18,1,14,5,1,1,1,15,4,611M1,7870.0,271438701 +1100105,35,2714388,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271438801 +1100105,35,2714389,1,18,1,-9,-9,6,9,1,15,4,,,271438901 +1100105,35,2714390,1,18,1,-9,-9,6,1,1,15,4,4481,5170.0,271439001 +1100105,35,2714391,1,21,2,40,1,6,2,1,15,4,515,6670.0,271439101 +1100105,35,2714392,1,20,2,40,6,6,2,1,15,4,45439,5690.0,271439201 +1100105,35,2714393,1,19,2,40,6,6,1,1,15,4,923,9480.0,271439301 +1100105,35,2714394,1,19,1,45,6,6,1,1,15,4,721M,8670.0,271439401 +1100105,35,2714395,1,23,1,30,6,6,2,1,15,4,4542,5670.0,271439501 +1100105,35,2714396,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271439601 +1100105,35,2714397,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,271439701 +1100105,35,2714398,1,20,2,6,5,1,1,1,15,4,4481,5170.0,271439801 +1100105,35,2714399,1,19,1,-9,-9,6,6,1,15,4,,,271439901 +1100105,35,2714400,1,20,2,25,4,1,2,5,15,4,713Z,8590.0,271440001 +1100105,35,2714401,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271440101 +1100105,35,2714402,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271440201 +1100105,35,2714403,1,18,2,-9,-9,6,2,1,15,4,,,271440301 +1100105,35,2714404,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271440401 +1100105,35,2714405,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271440501 +1100105,35,2714406,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271440601 +1100105,35,2714407,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271440701 +1100105,35,2714408,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271440801 +1100105,35,2714409,1,28,1,45,6,3,2,1,16,4,5413,7290.0,271440901 +1100105,35,2714410,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271441001 +1100105,35,2714411,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271441101 +1100105,35,2714412,1,20,2,-9,-9,6,6,2,15,4,,,271441201 +1100105,35,2714413,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271441301 +1100105,35,2714414,1,19,1,10,6,6,9,1,15,4,813M,9170.0,271441401 +1100105,35,2714415,1,18,2,20,6,6,1,1,15,4,721M,8670.0,271441501 +1100105,35,2714416,1,18,2,20,6,6,2,1,15,4,6111,7860.0,271441601 +1100105,35,2714417,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271441701 +1100105,35,2714418,1,20,2,-9,-9,6,1,1,15,4,,,271441801 +1100105,35,2714419,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271441901 +1100105,35,2714420,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271442001 +1100105,35,2714421,1,21,2,-9,-9,6,2,1,15,4,,,271442101 +1100105,35,2714422,1,21,2,-9,-9,6,2,1,15,4,,,271442201 +1100105,35,2714423,1,19,2,-9,-9,6,6,1,15,4,,,271442301 +1100105,35,2714424,1,20,1,21,6,6,2,1,15,4,722Z,8680.0,271442401 +1100105,35,2714425,1,18,1,-9,-9,6,2,1,15,4,,,271442501 +1100105,35,2714426,1,19,1,7,4,1,1,1,15,4,611M2,7880.0,271442601 +1100105,35,2714427,1,19,2,-9,-9,6,2,1,15,4,,,271442701 +1100105,35,2714428,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,271442801 +1100105,35,2714429,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,271442901 +1100105,35,2714430,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,271443001 +1100105,35,2714431,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271443101 +1100105,35,2714432,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271443201 +1100105,35,2714433,1,19,2,-9,-9,6,1,1,15,4,,,271443301 +1100105,35,2714434,1,23,2,20,6,6,2,1,16,4,6241,8370.0,271443401 +1100105,35,2714435,1,19,1,23,4,6,2,1,15,4,44511,4971.0,271443501 +1100105,35,2714436,1,20,2,12,1,2,1,1,15,4,45121,5370.0,271443601 +1100105,35,2714437,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271443701 +1100105,35,2714438,1,18,1,45,6,6,1,3,15,4,721M,8670.0,271443801 +1100105,35,2714439,1,20,2,20,3,1,1,1,15,4,44821,5180.0,271443901 +1100105,35,2714440,1,19,2,12,5,1,1,1,15,4,611M1,7870.0,271444001 +1100105,35,2714441,1,21,2,28,5,6,2,1,15,4,5241,6991.0,271444101 +1100105,35,2714442,1,18,2,40,5,6,1,1,15,4,712,8570.0,271444201 +1100105,35,2714443,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271444301 +1100105,35,2714444,1,19,2,30,6,6,6,1,15,4,4539,5580.0,271444401 +1100105,35,2714445,1,18,1,40,3,1,6,1,15,4,487,6280.0,271444501 +1100105,35,2714446,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271444601 +1100105,35,2714447,1,21,2,-9,-9,6,1,1,15,4,,,271444701 +1100105,35,2714448,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,271444801 +1100105,35,2714449,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271444901 +1100105,35,2714450,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271445001 +1100105,35,2714451,1,19,2,-9,-9,6,2,1,15,4,,,271445101 +1100105,35,2714452,1,21,2,-9,-9,6,2,1,15,4,,,271445201 +1100105,35,2714453,1,19,2,35,6,6,1,1,15,4,713Z,8590.0,271445301 +1100105,35,2714454,1,22,1,24,6,6,2,1,15,4,4481,5170.0,271445401 +1100105,35,2714455,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271445501 +1100105,35,2714456,1,19,1,10,6,6,9,1,15,4,813M,9170.0,271445601 +1100105,35,2714457,1,20,1,20,6,6,7,1,15,4,3345,3380.0,271445701 +1100105,35,2714458,1,20,2,20,3,1,2,1,15,4,5411,7270.0,271445801 +1100105,35,2714459,1,20,2,40,4,1,6,1,15,4,8139Z,9190.0,271445901 +1100105,35,2714460,1,19,1,35,4,6,2,1,15,4,713Z,8590.0,271446001 +1100105,35,2714461,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271446101 +1100105,35,2714462,1,18,2,15,1,1,1,1,15,4,611M1,7870.0,271446201 +1100105,35,2714463,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271446301 +1100105,35,2714464,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271446401 +1100105,35,2714465,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271446501 +1100105,35,2714466,1,26,1,20,6,6,2,1,16,4,92119,9390.0,271446601 +1100105,35,2714467,1,19,1,23,4,6,1,1,15,4,44512,4972.0,271446701 +1100105,35,2714468,1,20,1,25,6,6,2,1,15,4,6231,8270.0,271446801 +1100105,35,2714469,1,23,1,-9,-9,6,8,16,15,4,722Z,8680.0,271446901 +1100105,35,2714470,1,20,1,-9,-9,6,2,1,15,4,,,271447001 +1100105,35,2714471,1,20,2,32,6,6,2,1,15,4,722Z,8680.0,271447101 +1100105,35,2714472,1,18,1,-9,-9,6,9,1,15,4,,,271447201 +1100105,35,2714473,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271447301 +1100105,35,2714474,1,20,2,8,1,1,1,1,15,4,8131,9160.0,271447401 +1100105,35,2714475,1,22,2,20,5,6,1,1,16,4,928P,9590.0,271447501 +1100105,35,2714476,1,22,2,-9,-9,6,2,24,15,4,,,271447601 +1100105,35,2714477,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,271447701 +1100105,35,2714478,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271447801 +1100105,35,2714479,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271447901 +1100105,35,2714480,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271448001 +1100105,35,2714481,1,18,2,20,6,6,1,1,15,4,721M,8670.0,271448101 +1100105,35,2714482,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271448201 +1100105,35,2714483,1,21,2,-9,-9,6,2,1,15,4,,,271448301 +1100105,35,2714484,1,18,2,-9,-9,6,1,1,15,4,,,271448401 +1100105,35,2714485,1,19,2,-9,-9,6,1,1,15,4,,,271448501 +1100105,35,2714486,1,20,2,3,6,6,1,1,15,4,611M3,7890.0,271448601 +1100105,35,2714487,1,19,1,20,6,6,1,1,15,4,5416,7390.0,271448701 +1100105,35,2714488,1,20,1,20,4,1,2,1,15,4,611M1,7870.0,271448801 +1100105,35,2714489,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271448901 +1100105,35,2714490,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271449001 +1100105,35,2714491,1,20,1,20,6,6,7,1,15,4,3345,3380.0,271449101 +1100105,35,2714492,1,21,1,32,5,6,1,1,15,4,5241,6991.0,271449201 +1100105,35,2714493,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271449301 +1100105,35,2714494,1,20,2,30,6,6,1,1,15,4,5111Z,6480.0,271449401 +1100105,35,2714495,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271449501 +1100105,35,2714496,1,18,2,10,6,6,2,1,15,4,4481,5170.0,271449601 +1100105,35,2714497,1,19,2,18,3,6,1,1,15,4,722Z,8680.0,271449701 +1100105,35,2714498,1,21,1,30,5,1,2,1,15,4,23,770.0,271449801 +1100105,35,2714499,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271449901 +1100105,35,2714500,1,19,2,-9,-9,6,6,1,15,4,,,271450001 +1100105,35,2714501,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271450101 +1100105,35,2714502,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271450201 +1100105,35,2714503,1,18,2,10,3,1,1,1,15,4,44511,4971.0,271450301 +1100105,35,2714504,1,24,2,-9,-9,6,2,1,15,4,,,271450401 +1100105,35,2714505,1,26,2,40,1,1,2,1,16,4,6111,7860.0,271450501 +1100105,35,2714506,1,18,2,40,5,6,1,1,15,4,712,8570.0,271450601 +1100105,35,2714507,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271450701 +1100105,35,2714508,1,21,2,40,6,6,6,1,15,4,611M1,7870.0,271450801 +1100105,35,2714509,1,18,1,50,6,6,1,1,15,4,5416,7390.0,271450901 +1100105,35,2714510,1,19,1,50,6,6,1,1,15,4,311M2,1280.0,271451001 +1100105,35,2714511,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271451101 +1100105,35,2714512,1,18,1,23,4,6,2,1,15,4,44511,4971.0,271451201 +1100105,35,2714513,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,271451301 +1100105,35,2714514,1,21,1,30,5,2,2,1,15,4,447,5090.0,271451401 +1100105,35,2714515,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,271451501 +1100105,35,2714516,1,18,2,6,2,1,9,14,15,4,6111,7860.0,271451601 +1100105,35,2714517,1,21,2,-9,-9,6,2,1,15,4,23,770.0,271451701 +1100105,35,2714518,1,20,2,15,4,1,1,1,15,4,6111,7860.0,271451801 +1100105,35,2714519,1,20,1,25,4,6,1,1,15,4,713Z,8590.0,271451901 +1100105,35,2714520,1,19,2,30,5,6,1,1,15,4,622M,8191.0,271452001 +1100105,35,2714521,1,20,1,-9,-9,6,2,1,15,4,,,271452101 +1100105,35,2714522,1,21,2,10,4,1,2,1,15,4,611M1,7870.0,271452201 +1100105,35,2714523,1,20,1,30,6,6,1,1,15,4,488,6290.0,271452301 +1100105,35,2714524,1,19,1,50,6,6,2,1,15,4,311M2,1280.0,271452401 +1100105,35,2714525,1,20,2,-9,-9,6,1,1,15,4,,,271452501 +1100105,35,2714526,1,20,2,15,1,1,9,1,15,4,721M,8670.0,271452601 +1100105,35,2714527,1,26,2,40,1,1,2,1,16,4,6111,7860.0,271452701 +1100105,35,2714528,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271452801 +1100105,35,2714529,1,20,1,16,4,6,1,1,15,4,7211,8660.0,271452901 +1100105,35,2714530,1,20,1,23,5,6,9,19,15,4,4481,5170.0,271453001 +1100105,35,2714531,1,19,2,-9,-9,6,1,1,15,4,,,271453101 +1100105,35,2714532,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,271453201 +1100105,35,2714533,1,21,1,20,4,1,1,1,15,4,813M,9170.0,271453301 +1100105,35,2714534,1,21,2,-9,-9,6,1,1,15,4,,,271453401 +1100105,35,2714535,1,19,2,-9,-9,6,2,1,15,4,,,271453501 +1100105,35,2714536,1,18,2,-9,-9,6,1,1,15,4,,,271453601 +1100105,35,2714537,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271453701 +1100105,35,2714538,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271453801 +1100105,35,2714539,1,18,2,-9,-9,3,1,1,15,4,45221,5381.0,271453901 +1100105,35,2714540,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271454001 +1100105,35,2714541,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,271454101 +1100105,35,2714542,1,20,2,7,5,6,1,1,15,4,814,9290.0,271454201 +1100105,35,2714543,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271454301 +1100105,35,2714544,1,18,1,-9,-9,6,1,1,15,4,,,271454401 +1100105,35,2714545,1,23,2,10,4,1,2,1,15,4,611M1,7870.0,271454501 +1100105,35,2714546,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271454601 +1100105,35,2714547,1,24,2,-9,-9,6,2,1,15,4,,,271454701 +1100105,35,2714548,1,25,2,-9,-9,6,2,1,16,4,,,271454801 +1100105,35,2714549,1,18,1,8,5,1,2,5,15,4,813M,9170.0,271454901 +1100105,35,2714550,1,18,2,7,4,1,6,1,15,4,713Z,8590.0,271455001 +1100105,35,2714551,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271455101 +1100105,35,2714552,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271455201 +1100105,35,2714553,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271455301 +1100105,35,2714554,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271455401 +1100105,35,2714555,1,20,1,20,6,6,7,1,15,4,3345,3380.0,271455501 +1100105,35,2714556,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,271455601 +1100105,35,2714557,1,21,1,20,4,1,1,2,15,4,485M,6180.0,271455701 +1100105,35,2714558,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,271455801 +1100105,35,2714559,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271455901 +1100105,35,2714560,1,19,2,8,1,6,1,1,15,4,4481,5170.0,271456001 +1100105,35,2714561,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271456101 +1100105,35,2714562,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271456201 +1100105,35,2714563,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271456301 +1100105,35,2714564,1,20,2,32,4,6,1,1,15,4,611M3,7890.0,271456401 +1100105,35,2714565,1,18,2,3,6,1,1,1,15,4,611M3,7890.0,271456501 +1100105,35,2714566,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271456601 +1100105,35,2714567,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271456701 +1100105,35,2714568,1,20,2,10,6,1,1,24,15,4,814,9290.0,271456801 +1100105,35,2714569,1,20,2,-9,-9,6,1,1,15,4,,,271456901 +1100105,35,2714570,1,18,1,7,1,1,9,1,15,4,611M1,7870.0,271457001 +1100105,35,2714571,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,271457101 +1100105,35,2714572,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271457201 +1100105,35,2714573,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,271457301 +1100105,35,2714574,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271457401 +1100105,35,2714575,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271457501 +1100105,35,2714576,1,21,2,-9,-9,6,1,1,15,4,,,271457601 +1100105,35,2714577,1,20,1,-9,-9,6,2,1,15,4,,,271457701 +1100105,35,2714578,1,21,2,-9,-9,6,2,1,15,4,4523,5391.0,271457801 +1100105,35,2714579,1,18,1,25,5,6,1,1,15,4,4453,4990.0,271457901 +1100105,35,2714580,1,19,2,12,5,1,1,1,15,4,611M1,7870.0,271458001 +1100105,35,2714581,1,21,2,-9,-9,6,1,1,15,4,,,271458101 +1100105,35,2714582,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,271458201 +1100105,35,2714583,1,23,2,20,1,1,1,1,16,4,6241,8370.0,271458301 +1100105,35,2714584,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271458401 +1100105,35,2714585,1,20,2,-9,-9,6,6,2,15,4,,,271458501 +1100105,35,2714586,1,24,2,-9,-9,6,2,1,15,4,,,271458601 +1100105,35,2714587,1,19,1,50,6,6,1,1,15,4,311M2,1280.0,271458701 +1100105,35,2714588,1,23,2,-9,-9,6,2,1,15,4,,,271458801 +1100105,35,2714589,1,20,2,4,5,6,1,1,15,4,814,9290.0,271458901 +1100105,35,2714590,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271459001 +1100105,35,2714591,1,24,2,-9,-9,6,2,1,15,4,,,271459101 +1100105,35,2714592,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,271459201 +1100105,35,2714593,1,19,1,-9,-9,6,6,1,15,4,,,271459301 +1100105,35,2714594,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271459401 +1100105,35,2714595,1,20,2,16,3,2,1,1,15,4,611M1,7870.0,271459501 +1100105,35,2714596,1,23,1,40,6,3,2,1,16,4,813M,9170.0,271459601 +1100105,35,2714597,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,271459701 +1100105,35,2714598,1,21,2,-9,-9,6,1,1,15,4,,,271459801 +1100105,35,2714599,1,18,2,-9,-9,6,2,1,15,4,,,271459901 +1100105,35,2714600,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271460001 +1100105,35,2714601,1,19,2,25,1,1,2,1,15,4,3118Z,1270.0,271460101 +1100105,35,2714602,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,271460201 +1100105,35,2714603,1,19,2,25,1,1,2,1,15,4,3118Z,1270.0,271460301 +1100105,35,2714604,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271460401 +1100105,35,2714605,1,20,2,8,1,1,1,1,15,4,8131,9160.0,271460501 +1100105,35,2714606,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271460601 +1100105,35,2714607,1,23,1,32,1,2,1,1,15,2,622M,8191.0,271460701 +1100105,35,2714608,1,21,2,-9,-9,6,2,1,15,4,,,271460801 +1100105,35,2714609,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271460901 +1100105,35,2714610,1,20,1,21,6,6,2,1,15,4,722Z,8680.0,271461001 +1100105,35,2714611,1,18,2,3,6,1,1,1,15,4,611M3,7890.0,271461101 +1100105,35,2714612,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271461201 +1100105,35,2714613,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,271461301 +1100105,35,2714614,1,18,2,-9,-9,6,1,1,15,4,,,271461401 +1100105,35,2714615,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,271461501 +1100105,35,2714616,1,18,1,45,6,6,1,1,15,4,923,9480.0,271461601 +1100105,35,2714617,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271461701 +1100105,35,2714618,1,20,2,-9,-9,6,2,1,15,4,,,271461801 +1100105,35,2714619,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271461901 +1100105,35,2714620,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271462001 +1100105,35,2714621,1,19,2,-9,-9,6,1,1,15,4,,,271462101 +1100105,35,2714622,1,18,2,10,3,1,1,1,15,4,44511,4971.0,271462201 +1100105,35,2714623,1,18,1,24,6,6,1,1,15,4,722Z,8680.0,271462301 +1100105,35,2714624,1,19,2,-9,-9,6,1,1,15,4,,,271462401 +1100105,35,2714625,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271462501 +1100105,35,2714626,1,21,2,-9,-9,6,2,1,15,4,,,271462601 +1100105,35,2714627,1,18,1,40,3,1,6,1,15,4,487,6280.0,271462701 +1100105,35,2714628,1,19,1,10,6,6,1,1,15,4,23,770.0,271462801 +1100105,35,2714629,1,19,1,10,6,6,1,1,15,4,23,770.0,271462901 +1100105,35,2714630,1,21,2,-9,-9,6,2,1,15,4,23,770.0,271463001 +1100105,35,2714631,1,21,1,-9,-9,6,2,1,15,4,,,271463101 +1100105,35,2714632,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271463201 +1100105,35,2714633,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271463301 +1100105,35,2714634,1,56,1,4,6,1,2,1,16,4,8131,9160.0,271463401 +1100105,35,2714635,1,19,2,-9,-9,6,2,1,15,4,,,271463501 +1100105,35,2714636,1,21,2,-9,-9,6,1,1,15,4,,,271463601 +1100105,35,2714637,1,19,2,-9,-9,6,1,1,15,4,,,271463701 +1100105,35,2714638,1,22,1,15,5,1,1,1,15,4,92113,9380.0,271463801 +1100105,35,2714639,1,19,2,30,5,6,1,1,15,4,622M,8191.0,271463901 +1100105,35,2714640,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,271464001 +1100105,35,2714641,1,17,1,30,6,6,2,1,15,4,4481,5170.0,271464101 +1100105,35,2714642,1,18,2,20,1,1,2,1,15,4,722Z,8680.0,271464201 +1100105,35,2714643,1,19,2,-9,-9,6,2,1,15,4,,,271464301 +1100105,35,2714644,1,20,1,-9,-9,6,1,16,15,4,,,271464401 +1100105,35,2714645,1,19,1,28,6,6,2,11,15,4,23,770.0,271464501 +1100105,35,2714646,1,19,2,-9,-9,6,6,1,15,4,,,271464601 +1100105,35,2714647,1,22,2,30,6,6,1,1,15,4,713Z,8590.0,271464701 +1100105,35,2714648,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271464801 +1100105,35,2714649,1,20,1,25,4,1,1,1,15,4,611M1,7870.0,271464901 +1100105,35,2714650,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271465001 +1100105,35,2714651,1,22,2,-9,-9,6,2,24,15,4,,,271465101 +1100105,35,2714652,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271465201 +1100105,35,2714653,1,19,1,12,5,1,1,1,15,4,713Z,8590.0,271465301 +1100105,35,2714654,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271465401 +1100105,35,2714655,1,19,1,2,3,6,1,1,15,4,8131,9160.0,271465501 +1100105,35,2714656,1,22,2,-9,-9,6,1,1,15,4,,,271465601 +1100105,35,2714657,1,20,1,-9,-9,6,9,1,15,4,,,271465701 +1100105,35,2714658,1,19,2,-9,-9,6,1,1,15,4,,,271465801 +1100105,35,2714659,1,20,1,40,6,3,2,1,15,4,5417,7460.0,271465901 +1100105,35,2714660,1,21,1,26,3,1,1,1,15,4,712,8570.0,271466001 +1100105,35,2714661,1,24,2,40,3,6,9,1,16,4,611M3,7890.0,271466101 +1100105,35,2714662,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,271466201 +1100105,35,2714663,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271466301 +1100105,35,2714664,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271466401 +1100105,35,2714665,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271466501 +1100105,35,2714666,1,21,2,-9,-9,6,2,1,15,4,,,271466601 +1100105,35,2714667,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271466701 +1100105,35,2714668,1,22,1,50,6,1,2,1,15,4,51913,6672.0,271466801 +1100105,35,2714669,1,18,2,-9,-9,6,1,24,15,4,,,271466901 +1100105,35,2714670,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271467001 +1100105,35,2714671,1,20,2,45,6,3,2,1,15,4,5412,7280.0,271467101 +1100105,35,2714672,1,21,1,20,4,1,1,1,15,4,611M1,7870.0,271467201 +1100105,35,2714673,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271467301 +1100105,35,2714674,1,19,1,40,6,6,1,3,15,4,517Z,6690.0,271467401 +1100105,35,2714675,1,19,2,9,5,1,1,1,15,4,611M1,7870.0,271467501 +1100105,35,2714676,1,20,2,-9,-9,6,2,1,15,4,,,271467601 +1100105,35,2714677,1,23,2,-9,-9,6,2,1,16,4,6111,7860.0,271467701 +1100105,35,2714678,1,19,2,-9,-9,6,2,1,15,4,,,271467801 +1100105,35,2714679,1,22,1,50,6,1,2,1,15,4,51913,6672.0,271467901 +1100105,35,2714680,1,19,1,28,6,6,2,1,15,4,23,770.0,271468001 +1100105,35,2714681,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271468101 +1100105,35,2714682,1,18,1,6,1,1,1,1,15,4,622M,8191.0,271468201 +1100105,35,2714683,1,19,2,-9,-9,6,1,1,15,4,,,271468301 +1100105,35,2714684,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271468401 +1100105,35,2714685,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,271468501 +1100105,35,2714686,1,20,2,15,4,1,1,1,15,4,6111,7860.0,271468601 +1100105,35,2714687,1,21,2,25,3,1,1,1,15,4,611M1,7870.0,271468701 +1100105,35,2714688,1,21,2,-9,-9,6,2,1,15,4,,,271468801 +1100105,35,2714689,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271468901 +1100105,35,2714690,1,18,2,40,5,6,6,1,15,4,712,8570.0,271469001 +1100105,35,2714691,1,21,2,-9,-9,6,1,1,15,4,,,271469101 +1100105,35,2714692,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271469201 +1100105,35,2714693,1,18,2,-9,-9,6,1,1,15,4,,,271469301 +1100105,35,2714694,1,18,2,-9,-9,6,1,1,15,4,712,8570.0,271469401 +1100105,35,2714695,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271469501 +1100105,35,2714696,1,20,1,20,4,1,2,1,15,4,7115,8564.0,271469601 +1100105,35,2714697,1,18,1,8,5,1,1,1,15,4,611M1,7870.0,271469701 +1100105,35,2714698,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271469801 +1100105,35,2714699,1,21,1,20,1,1,1,1,15,4,813M,9170.0,271469901 +1100105,35,2714700,1,20,2,32,4,6,2,1,15,4,611M3,7890.0,271470001 +1100105,35,2714701,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271470101 +1100105,35,2714702,1,22,1,8,4,1,2,1,15,4,611M1,7870.0,271470201 +1100105,35,2714703,1,21,1,30,5,2,2,1,15,4,447,5090.0,271470301 +1100105,35,2714704,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271470401 +1100105,35,2714705,1,22,2,8,5,1,1,1,15,4,611M1,7870.0,271470501 +1100105,35,2714706,1,19,1,40,6,3,2,1,15,4,51913,6672.0,271470601 +1100105,35,2714707,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271470701 +1100105,35,2714708,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271470801 +1100105,35,2714709,1,19,2,-9,-9,6,1,1,15,4,,,271470901 +1100105,35,2714710,1,21,2,15,4,1,9,1,15,4,92MP,9470.0,271471001 +1100105,35,2714711,1,19,1,8,6,1,2,1,15,4,611M1,7870.0,271471101 +1100105,35,2714712,1,20,2,7,6,3,2,1,15,4,712,8570.0,271471201 +1100105,35,2714713,1,23,2,20,6,6,2,1,16,4,6241,8370.0,271471301 +1100105,35,2714714,1,21,1,10,1,1,2,1,15,4,611M1,7870.0,271471401 +1100105,35,2714715,1,18,2,-9,-9,6,2,1,15,4,,,271471501 +1100105,35,2714716,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,271471601 +1100105,35,2714717,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,271471701 +1100105,35,2714718,1,17,1,17,6,1,1,1,15,4,4539,5580.0,271471801 +1100105,35,2714719,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271471901 +1100105,35,2714720,1,18,2,45,6,6,1,1,15,4,814,9290.0,271472001 +1100105,35,2714721,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271472101 +1100105,35,2714722,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271472201 +1100105,35,2714723,1,19,2,28,4,6,2,1,15,4,722Z,8680.0,271472301 +1100105,35,2714724,1,21,1,20,4,1,1,1,15,4,611M1,7870.0,271472401 +1100105,35,2714725,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271472501 +1100105,35,2714726,1,20,1,-9,-9,6,2,1,15,4,,,271472601 +1100105,35,2714727,1,19,1,30,4,6,1,1,15,4,722Z,8680.0,271472701 +1100105,35,2714728,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,271472801 +1100105,35,2714729,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,271472901 +1100105,35,2714730,1,22,2,30,6,6,1,1,15,4,5111Z,6480.0,271473001 +1100105,35,2714731,1,18,1,20,6,1,2,1,15,4,611M1,7870.0,271473101 +1100105,35,2714732,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271473201 +1100105,35,2714733,1,20,2,20,1,1,2,1,15,4,561M,7780.0,271473301 +1100105,35,2714734,1,18,1,-9,-9,6,6,1,15,4,611M3,7890.0,271473401 +1100105,35,2714735,1,18,2,-9,-9,6,1,1,15,4,,,271473501 +1100105,35,2714736,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271473601 +1100105,35,2714737,1,24,2,40,3,6,9,1,16,4,611M3,7890.0,271473701 +1100105,35,2714738,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271473801 +1100105,35,2714739,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271473901 +1100105,35,2714740,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,271474001 +1100105,35,2714741,1,19,1,24,5,1,1,1,15,4,4539,5580.0,271474101 +1100105,35,2714742,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,271474201 +1100105,35,2714743,1,18,2,-9,-9,6,2,1,15,4,,,271474301 +1100105,35,2714744,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,271474401 +1100105,35,2714745,1,20,2,20,1,1,2,1,15,4,6241,8370.0,271474501 +1100105,35,2714746,1,21,2,20,1,1,1,1,15,4,722Z,8680.0,271474601 +1100105,35,2714747,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,271474701 +1100105,35,2714748,1,19,2,20,3,1,1,1,15,4,611M1,7870.0,271474801 +1100105,35,2714749,1,18,1,28,6,6,2,1,15,4,23,770.0,271474901 +1100105,35,2714750,1,21,1,20,4,1,6,1,15,4,611M1,7870.0,271475001 +1100105,35,2714751,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271475101 +1100105,35,2714752,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,271475201 +1100105,35,2714753,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271475301 +1100105,35,2714754,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,271475401 +1100105,35,2714755,1,19,2,-9,-9,6,1,1,15,4,,,271475501 +1100105,35,2714756,1,20,1,10,3,1,2,1,15,4,611M1,7870.0,271475601 +1100105,35,2714757,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271475701 +1100105,35,2714758,1,19,2,30,6,6,6,1,15,4,4539,5580.0,271475801 +1100105,35,2714759,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271475901 +1100105,35,2714760,1,19,1,-9,-9,6,1,1,15,4,,,271476001 +1100105,35,2714761,1,20,1,40,6,3,2,1,15,4,5417,7460.0,271476101 +1100105,35,2714762,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,271476201 +1100105,35,2714763,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271476301 +1100105,35,2714764,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271476401 +1100105,35,2714765,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271476501 +1100105,35,2714766,1,19,2,40,6,6,1,1,15,4,721M,8670.0,271476601 +1100105,35,2714767,1,19,1,-9,-9,6,1,1,15,4,,,271476701 +1100105,35,2714768,1,18,1,20,6,1,2,1,15,4,611M1,7870.0,271476801 +1100105,35,2714769,1,20,2,-9,-9,6,6,1,15,4,,,271476901 +1100105,35,2714770,1,17,1,-9,-9,6,2,1,15,4,5121,6570.0,271477001 +1100105,35,2714771,1,23,2,20,1,1,1,1,16,4,6241,8370.0,271477101 +1100105,35,2714772,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271477201 +1100105,35,2714773,1,20,2,-9,-9,6,1,1,15,4,,,271477301 +1100105,35,2714774,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271477401 +1100105,35,2714775,1,21,2,25,1,1,2,1,15,4,722Z,8680.0,271477501 +1100105,35,2714776,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,271477601 +1100105,35,2714777,1,29,2,-9,-9,6,6,1,16,4,,,271477701 +1100105,35,2714778,1,19,2,-9,-9,6,1,1,15,4,,,271477801 +1100105,35,2714779,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271477901 +1100105,35,2714780,1,21,2,-9,-9,6,2,1,15,4,,,271478001 +1100105,35,2714781,1,25,2,-9,-9,6,2,1,16,4,,,271478101 +1100105,35,2714782,1,20,2,-9,-9,6,2,1,15,4,,,271478201 +1100105,35,2714783,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,271478301 +1100105,35,2714784,1,19,2,10,1,2,1,1,15,4,814,9290.0,271478401 +1100105,35,2714785,1,20,1,12,3,1,1,1,15,4,611M1,7870.0,271478501 +1100105,35,2714786,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271478601 +1100105,35,2714787,1,18,2,30,4,1,2,1,15,4,611M1,7870.0,271478701 +1100105,35,2714788,1,18,1,40,6,6,1,1,15,4,23,770.0,271478801 +1100105,35,2714789,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271478901 +1100105,35,2714790,1,18,1,40,3,1,6,1,15,4,487,6280.0,271479001 +1100105,35,2714791,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271479101 +1100105,35,2714792,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,271479201 +1100105,35,2714793,1,21,2,-9,-9,6,1,1,15,4,,,271479301 +1100105,35,2714794,1,20,2,16,3,2,1,1,15,4,611M1,7870.0,271479401 +1100105,35,2714795,1,20,2,35,5,1,1,1,15,4,928P,9590.0,271479501 +1100105,35,2714796,1,19,2,-9,-9,6,2,1,15,4,,,271479601 +1100105,35,2714797,1,18,2,-9,-9,6,2,1,15,4,,,271479701 +1100105,35,2714798,1,23,2,10,4,1,2,1,15,4,611M1,7870.0,271479801 +1100105,35,2714799,1,22,2,20,6,6,2,1,15,4,713Z,8590.0,271479901 +1100105,35,2714800,1,20,2,8,4,1,1,1,15,4,611M3,7890.0,271480001 +1100105,35,2714801,1,19,2,-9,-9,6,1,1,15,4,,,271480101 +1100105,35,2714802,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,271480201 +1100105,35,2714803,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271480301 +1100105,35,2714804,1,19,2,30,5,6,1,1,15,4,622M,8191.0,271480401 +1100105,35,2714805,1,18,2,25,1,1,2,1,15,4,3118Z,1270.0,271480501 +1100105,35,2714806,1,18,2,-9,-9,6,1,1,15,4,712,8570.0,271480601 +1100105,35,2714807,1,20,2,10,6,1,1,1,15,4,611M1,7870.0,271480701 +1100105,35,2714808,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271480801 +1100105,35,2714809,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271480901 +1100105,35,2714810,1,20,1,-9,-9,6,1,1,15,4,,,271481001 +1100105,35,2714811,1,19,1,40,5,6,1,24,15,4,721M,8670.0,271481101 +1100105,35,2714812,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271481201 +1100105,35,2714813,1,22,1,40,6,6,1,1,15,4,5413,7290.0,271481301 +1100105,35,2714814,1,19,1,-9,-9,6,1,1,15,4,,,271481401 +1100105,35,2714815,1,18,2,-9,-9,3,2,1,15,4,999920,9920.0,271481501 +1100105,35,2714816,1,19,2,16,6,6,1,1,15,4,713Z,8590.0,271481601 +1100105,35,2714817,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271481701 +1100105,35,2714818,1,18,1,-9,-9,6,1,1,15,4,,,271481801 +1100105,35,2714819,1,20,1,40,4,2,1,1,15,4,722Z,8680.0,271481901 +1100105,35,2714820,1,21,1,-9,-9,6,2,1,15,4,,,271482001 +1100105,35,2714821,1,18,2,10,6,6,1,1,15,4,5616,7680.0,271482101 +1100105,35,2714822,1,21,2,-9,-9,6,2,1,15,4,,,271482201 +1100105,35,2714823,1,22,2,20,1,1,1,1,15,4,611M1,7870.0,271482301 +1100105,35,2714824,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271482401 +1100105,35,2714825,1,19,1,-9,-9,6,1,1,15,4,,,271482501 +1100105,35,2714826,1,21,2,-9,-9,6,1,1,15,4,,,271482601 +1100105,35,2714827,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271482701 +1100105,35,2714828,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271482801 +1100105,35,2714829,1,23,2,-9,-9,6,2,1,16,4,6111,7860.0,271482901 +1100105,35,2714830,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,271483001 +1100105,35,2714831,1,24,1,25,5,6,1,1,16,4,92M2,9570.0,271483101 +1100105,35,2714832,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271483201 +1100105,35,2714833,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271483301 +1100105,35,2714834,1,19,2,30,6,6,1,1,15,4,442,4770.0,271483401 +1100105,35,2714835,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271483501 +1100105,35,2714836,1,20,2,40,6,6,2,1,15,4,52M1,6870.0,271483601 +1100105,35,2714837,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271483701 +1100105,35,2714838,1,21,2,-9,-9,6,1,1,15,4,,,271483801 +1100105,35,2714839,1,24,2,-9,-9,6,2,1,15,4,,,271483901 +1100105,35,2714840,1,19,1,-9,-9,6,6,1,15,4,,,271484001 +1100105,35,2714841,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271484101 +1100105,35,2714842,1,20,2,8,4,1,6,1,15,4,611M1,7870.0,271484201 +1100105,35,2714843,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,271484301 +1100105,35,2714844,1,21,1,20,4,1,6,1,15,4,611M1,7870.0,271484401 +1100105,35,2714845,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,271484501 +1100105,35,2714846,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271484601 +1100105,35,2714847,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271484701 +1100105,35,2714848,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271484801 +1100105,35,2714849,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271484901 +1100105,35,2714850,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271485001 +1100105,35,2714851,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271485101 +1100105,35,2714852,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271485201 +1100105,35,2714853,1,22,2,10,4,1,6,1,15,4,813M,9170.0,271485301 +1100105,35,2714854,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271485401 +1100105,35,2714855,1,22,2,18,5,3,1,1,16,4,4481,5170.0,271485501 +1100105,35,2714856,1,20,2,16,3,2,1,1,15,4,611M1,7870.0,271485601 +1100105,35,2714857,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,271485701 +1100105,35,2714858,1,20,1,16,4,6,1,1,15,4,7211,8660.0,271485801 +1100105,35,2714859,1,20,2,20,2,1,2,1,15,4,92119,9390.0,271485901 +1100105,35,2714860,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271486001 +1100105,35,2714861,1,18,2,20,6,6,1,1,15,4,721M,8670.0,271486101 +1100105,35,2714862,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271486201 +1100105,35,2714863,1,20,1,23,5,6,9,19,15,4,4481,5170.0,271486301 +1100105,35,2714864,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271486401 +1100105,35,2714865,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271486501 +1100105,35,2714866,1,20,2,7,6,3,2,1,15,4,712,8570.0,271486601 +1100105,35,2714867,1,21,1,32,5,6,1,1,15,4,5241,6991.0,271486701 +1100105,35,2714868,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271486801 +1100105,35,2714869,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271486901 +1100105,35,2714870,1,21,2,-9,-9,6,2,1,15,4,,,271487001 +1100105,35,2714871,1,18,2,10,6,6,2,1,15,4,4481,5170.0,271487101 +1100105,35,2714872,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271487201 +1100105,35,2714873,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271487301 +1100105,35,2714874,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271487401 +1100105,35,2714875,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271487501 +1100105,35,2714876,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271487601 +1100105,35,2714877,1,18,2,-9,-9,6,1,1,15,4,,,271487701 +1100105,35,2714878,1,20,2,30,6,6,1,1,15,4,5111Z,6480.0,271487801 +1100105,35,2714879,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,271487901 +1100105,35,2714880,1,18,1,-9,-9,6,1,1,15,4,,,271488001 +1100105,35,2714881,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271488101 +1100105,35,2714882,1,22,2,-9,-9,6,2,1,15,4,6111,7860.0,271488201 +1100105,35,2714883,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271488301 +1100105,35,2714884,1,18,2,-9,-9,6,2,1,15,4,,,271488401 +1100105,35,2714885,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271488501 +1100105,35,2714886,1,18,2,-9,-9,6,1,3,15,4,,,271488601 +1100105,35,2714887,1,19,1,9,6,6,1,1,15,4,722Z,8680.0,271488701 +1100105,35,2714888,1,19,2,12,3,1,1,1,15,4,44511,4971.0,271488801 +1100105,35,2714889,1,21,1,12,6,1,1,1,15,4,611M1,7870.0,271488901 +1100105,35,2714890,1,20,2,12,1,2,1,1,15,4,45121,5370.0,271489001 +1100105,35,2714891,1,18,1,8,6,6,1,1,15,4,713Z,8590.0,271489101 +1100105,35,2714892,1,18,1,-9,-9,6,6,1,15,4,611M3,7890.0,271489201 +1100105,35,2714893,1,19,2,-9,-9,6,1,1,15,4,,,271489301 +1100105,35,2714894,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271489401 +1100105,35,2714895,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,271489501 +1100105,35,2714896,1,18,2,10,3,1,1,1,15,4,44511,4971.0,271489601 +1100105,35,2714897,1,21,1,-9,-9,6,1,1,15,4,,,271489701 +1100105,35,2714898,1,18,2,20,1,1,1,1,15,4,722Z,8680.0,271489801 +1100105,35,2714899,1,20,2,-9,-9,6,2,1,15,4,,,271489901 +1100105,35,2714900,1,20,1,45,5,6,6,1,15,4,4481,5170.0,271490001 +1100105,35,2714901,1,21,2,6,4,1,1,1,15,4,611M1,7870.0,271490101 +1100105,35,2714902,1,21,2,-9,-9,6,2,1,15,4,,,271490201 +1100105,35,2714903,1,22,1,50,6,1,2,1,15,4,51913,6672.0,271490301 +1100105,35,2714904,1,18,2,20,6,6,1,1,15,4,8129,9090.0,271490401 +1100105,35,2714905,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,271490501 +1100105,35,2714906,1,18,1,14,3,1,1,1,15,4,7211,8660.0,271490601 +1100105,35,2714907,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271490701 +1100105,35,2714908,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271490801 +1100105,35,2714909,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,271490901 +1100105,35,2714910,1,24,2,-9,-9,6,2,1,15,4,,,271491001 +1100105,35,2714911,1,21,2,20,1,1,2,1,15,4,722Z,8680.0,271491101 +1100105,35,2714912,1,19,2,20,6,6,1,18,15,4,713Z,8590.0,271491201 +1100105,35,2714913,1,18,2,-9,-9,6,1,1,15,4,,,271491301 +1100105,35,2714914,1,21,1,20,4,1,8,24,15,4,5415,7380.0,271491401 +1100105,35,2714915,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,271491501 +1100105,35,2714916,1,18,1,10,5,6,1,1,15,4,6211,7970.0,271491601 +1100105,35,2714917,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271491701 +1100105,35,2714918,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271491801 +1100105,35,2714919,1,19,2,40,1,1,1,1,15,4,611M1,7870.0,271491901 +1100105,35,2714920,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271492001 +1100105,35,2714921,1,20,1,6,4,1,2,1,15,4,6242,8380.0,271492101 +1100105,35,2714922,1,21,1,-9,-9,3,2,1,15,4,44511,4971.0,271492201 +1100105,35,2714923,1,18,2,-9,-9,6,1,1,15,4,6244,8470.0,271492301 +1100105,35,2714924,1,21,2,-9,-9,6,1,1,15,4,,,271492401 +1100105,35,2714925,1,18,1,-9,-9,6,2,1,15,4,,,271492501 +1100105,35,2714926,1,20,2,40,6,6,1,3,15,4,6211,7970.0,271492601 +1100105,35,2714927,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,271492701 +1100105,35,2714928,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271492801 +1100105,35,2714929,1,19,2,30,6,6,6,1,15,4,4539,5580.0,271492901 +1100105,35,2714930,1,21,1,20,4,1,8,24,15,4,5415,7380.0,271493001 +1100105,35,2714931,1,18,2,-9,-9,6,1,1,15,4,,,271493101 +1100105,35,2714932,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,271493201 +1100105,35,2714933,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,271493301 +1100105,35,2714934,1,21,2,20,1,1,8,21,15,4,722Z,8680.0,271493401 +1100105,35,2714935,1,23,1,30,6,6,2,1,15,4,4542,5670.0,271493501 +1100105,35,2714936,1,21,1,25,4,1,1,1,15,4,92M2,9570.0,271493601 +1100105,35,2714937,1,20,2,-9,-9,6,1,1,15,4,,,271493701 +1100105,35,2714938,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,271493801 +1100105,35,2714939,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271493901 +1100105,35,2714940,1,20,2,32,6,6,2,1,15,4,722Z,8680.0,271494001 +1100105,35,2714941,1,18,2,20,6,6,6,1,15,4,721M,8670.0,271494101 +1100105,35,2714942,1,19,1,35,4,6,2,1,15,4,713Z,8590.0,271494201 +1100105,35,2714943,1,19,1,50,6,6,2,1,15,4,311M2,1280.0,271494301 +1100105,35,2714944,1,20,1,20,6,6,7,1,15,4,3345,3380.0,271494401 +1100105,35,2714945,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271494501 +1100105,35,2714946,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271494601 +1100105,35,2714947,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,271494701 +1100105,35,2714948,1,20,2,17,1,1,1,1,15,4,4483,5190.0,271494801 +1100105,35,2714949,1,18,2,10,6,1,1,1,15,4,713Z,8590.0,271494901 +1100105,35,2714950,1,19,2,-9,-9,6,6,1,15,4,,,271495001 +1100105,35,2714951,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271495101 +1100105,35,2714952,1,20,2,15,4,1,1,1,15,4,6111,7860.0,271495201 +1100105,35,2714953,1,18,2,45,6,6,1,1,15,4,814,9290.0,271495301 +1100105,35,2714954,1,21,2,8,4,1,1,1,15,4,611M1,7870.0,271495401 +1100105,35,2714955,1,21,2,-9,-9,6,2,1,15,4,,,271495501 +1100105,35,2714956,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271495601 +1100105,35,2714957,1,21,2,50,6,3,2,1,15,4,721M,8670.0,271495701 +1100105,35,2714958,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,271495801 +1100105,35,2714959,1,18,2,-9,-9,6,2,1,15,4,,,271495901 +1100105,35,2714960,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271496001 +1100105,35,2714961,1,21,2,25,1,1,2,1,15,4,722Z,8680.0,271496101 +1100105,35,2714962,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271496201 +1100105,35,2714963,1,19,2,15,4,6,2,1,15,4,45121,5370.0,271496301 +1100105,35,2714964,1,18,2,-9,-9,6,2,1,15,4,,,271496401 +1100105,35,2714965,1,20,1,-9,-9,6,1,1,15,4,711M,8563.0,271496501 +1100105,35,2714966,1,19,1,8,6,1,2,1,15,4,611M1,7870.0,271496601 +1100105,35,2714967,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,271496701 +1100105,35,2714968,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271496801 +1100105,35,2714969,1,20,2,-9,-9,6,6,1,15,4,,,271496901 +1100105,35,2714970,1,19,2,-9,-9,6,2,1,15,4,,,271497001 +1100105,35,2714971,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271497101 +1100105,35,2714972,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,271497201 +1100105,35,2714973,1,18,1,-9,-9,6,1,1,15,4,,,271497301 +1100105,35,2714974,1,18,1,-9,-9,6,6,1,15,4,611M3,7890.0,271497401 +1100105,35,2714975,1,19,2,6,6,6,1,1,15,4,4481,5170.0,271497501 +1100105,35,2714976,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271497601 +1100105,35,2714977,1,18,1,-9,-9,6,1,1,15,4,,,271497701 +1100105,35,2714978,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271497801 +1100105,35,2714979,1,21,1,20,4,1,6,1,15,4,611M1,7870.0,271497901 +1100105,35,2714980,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,271498001 +1100105,35,2714981,1,18,2,-9,-9,6,2,1,15,4,,,271498101 +1100105,35,2714982,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271498201 +1100105,35,2714983,1,21,1,20,4,1,1,1,15,4,611M1,7870.0,271498301 +1100105,35,2714984,1,20,2,20,3,1,1,1,15,4,44821,5180.0,271498401 +1100105,35,2714985,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271498501 +1100105,35,2714986,1,18,1,45,6,6,1,3,15,4,721M,8670.0,271498601 +1100105,35,2714987,1,19,2,28,4,6,2,1,15,4,722Z,8680.0,271498701 +1100105,35,2714988,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271498801 +1100105,35,2714989,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271498901 +1100105,35,2714990,1,20,1,12,3,1,1,1,15,4,611M1,7870.0,271499001 +1100105,35,2714991,1,20,2,-9,-9,6,2,1,15,4,,,271499101 +1100105,35,2714992,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271499201 +1100105,35,2714993,1,20,2,8,1,1,1,1,15,4,8131,9160.0,271499301 +1100105,35,2714994,1,18,1,40,6,6,1,1,15,4,23,770.0,271499401 +1100105,35,2714995,1,20,2,6,5,1,1,1,15,4,4481,5170.0,271499501 +1100105,35,2714996,1,18,2,7,4,1,2,1,15,4,713Z,8590.0,271499601 +1100105,35,2714997,1,22,2,-9,-9,6,2,1,15,4,6111,7860.0,271499701 +1100105,35,2714998,1,19,1,30,4,6,1,1,15,4,722Z,8680.0,271499801 +1100105,35,2714999,1,18,1,40,6,6,1,1,15,4,23,770.0,271499901 +1100105,35,2715000,1,18,2,-9,-9,6,2,1,15,4,,,271500001 +1100105,35,2715001,1,20,2,25,6,6,1,1,15,4,623M,8290.0,271500101 +1100105,35,2715002,1,18,1,-9,-9,6,1,1,15,4,,,271500201 +1100105,35,2715003,1,20,1,6,6,2,1,1,15,4,712,8570.0,271500301 +1100105,35,2715004,1,19,1,30,5,6,1,1,15,4,4481,5170.0,271500401 +1100105,35,2715005,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271500501 +1100105,35,2715006,1,21,1,25,5,1,1,1,15,4,611M1,7870.0,271500601 +1100105,35,2715007,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271500701 +1100105,35,2715008,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271500801 +1100105,35,2715009,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271500901 +1100105,35,2715010,1,21,2,35,5,1,2,1,15,4,928P,9590.0,271501001 +1100105,35,2715011,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,271501101 +1100105,35,2715012,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271501201 +1100105,35,2715013,1,22,2,20,6,6,2,1,15,4,713Z,8590.0,271501301 +1100105,35,2715014,1,18,2,-9,-9,6,2,1,15,4,,,271501401 +1100105,35,2715015,1,18,1,40,3,1,6,1,15,4,487,6280.0,271501501 +1100105,35,2715016,1,20,2,-9,-9,6,6,1,15,4,,,271501601 +1100105,35,2715017,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271501701 +1100105,35,2715018,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,271501801 +1100105,35,2715019,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271501901 +1100105,35,2715020,1,18,2,-9,-9,6,6,1,15,4,,,271502001 +1100105,35,2715021,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271502101 +1100105,35,2715022,1,20,1,21,6,6,2,1,15,4,722Z,8680.0,271502201 +1100105,35,2715023,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271502301 +1100105,35,2715024,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271502401 +1100105,35,2715025,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,271502501 +1100105,35,2715026,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271502601 +1100105,35,2715027,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,271502701 +1100105,35,2715028,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271502801 +1100105,35,2715029,1,20,2,50,6,3,2,1,15,4,721M,8670.0,271502901 +1100105,35,2715030,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271503001 +1100105,35,2715031,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271503101 +1100105,35,2715032,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271503201 +1100105,35,2715033,1,19,2,-9,-9,6,2,1,15,4,,,271503301 +1100105,35,2715034,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271503401 +1100105,35,2715035,1,19,2,9,5,1,1,1,15,4,611M1,7870.0,271503501 +1100105,35,2715036,1,19,1,-9,-9,6,6,1,15,4,,,271503601 +1100105,35,2715037,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271503701 +1100105,35,2715038,1,19,2,-9,-9,6,1,1,15,4,,,271503801 +1100105,35,2715039,1,19,2,-9,-9,6,1,1,15,4,,,271503901 +1100105,35,2715040,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271504001 +1100105,35,2715041,1,19,2,18,3,6,1,1,15,4,722Z,8680.0,271504101 +1100105,35,2715042,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271504201 +1100105,35,2715043,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271504301 +1100105,35,2715044,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,271504401 +1100105,35,2715045,1,56,1,4,6,1,2,1,16,4,8131,9160.0,271504501 +1100105,35,2715046,1,18,1,35,4,1,2,1,15,4,611M1,7870.0,271504601 +1100105,35,2715047,1,20,2,7,6,3,2,1,15,4,712,8570.0,271504701 +1100105,35,2715048,1,18,2,-9,-9,6,1,3,15,4,,,271504801 +1100105,35,2715049,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,271504901 +1100105,35,2715050,1,19,1,28,6,6,2,1,15,4,23,770.0,271505001 +1100105,35,2715051,1,20,2,15,4,1,1,1,15,4,722Z,8680.0,271505101 +1100105,35,2715052,1,18,2,-9,-9,6,1,1,15,4,,,271505201 +1100105,35,2715053,1,18,2,20,3,6,1,1,15,4,5411,7270.0,271505301 +1100105,35,2715054,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,271505401 +1100105,35,2715055,1,18,2,-9,-9,6,1,1,15,4,,,271505501 +1100105,35,2715056,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,271505601 +1100105,35,2715057,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271505701 +1100105,35,2715058,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271505801 +1100105,35,2715059,1,22,2,-9,-9,6,2,1,15,4,6111,7860.0,271505901 +1100105,35,2715060,1,20,1,20,6,6,2,1,15,4,813M,9170.0,271506001 +1100105,35,2715061,1,18,2,20,1,1,1,1,15,4,722Z,8680.0,271506101 +1100105,35,2715062,1,19,1,30,4,6,1,1,15,4,722Z,8680.0,271506201 +1100105,35,2715063,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,271506301 +1100105,35,2715064,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,271506401 +1100105,35,2715065,1,18,2,12,6,6,1,1,15,4,712,8570.0,271506501 +1100105,35,2715066,1,20,2,7,6,3,2,1,15,4,712,8570.0,271506601 +1100105,35,2715067,1,23,1,9,4,1,1,1,15,4,713Z,8590.0,271506701 +1100105,35,2715068,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271506801 +1100105,35,2715069,1,22,2,30,6,6,1,1,15,4,5111Z,6480.0,271506901 +1100105,35,2715070,1,20,2,-9,-9,6,2,1,15,4,,,271507001 +1100105,35,2715071,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271507101 +1100105,35,2715072,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271507201 +1100105,35,2715073,1,18,1,-9,-9,6,6,1,15,4,,,271507301 +1100105,35,2715074,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271507401 +1100105,35,2715075,1,18,1,-9,-9,6,2,1,15,4,51111,6470.0,271507501 +1100105,35,2715076,1,21,2,-9,-9,6,1,1,15,4,23,770.0,271507601 +1100105,35,2715077,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271507701 +1100105,35,2715078,1,20,2,25,1,1,2,1,15,4,722Z,8680.0,271507801 +1100105,35,2715079,1,22,1,50,6,1,2,1,15,4,51913,6672.0,271507901 +1100105,35,2715080,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271508001 +1100105,35,2715081,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271508101 +1100105,35,2715082,1,20,2,-9,-9,6,1,1,15,4,,,271508201 +1100105,35,2715083,1,18,1,8,4,1,1,1,15,4,611M1,7870.0,271508301 +1100105,35,2715084,1,20,2,8,4,1,6,1,15,4,611M1,7870.0,271508401 +1100105,35,2715085,1,18,2,-9,-9,6,1,3,15,4,,,271508501 +1100105,35,2715086,1,21,2,-9,-9,6,1,1,15,4,,,271508601 +1100105,35,2715087,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271508701 +1100105,35,2715088,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,271508801 +1100105,35,2715089,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271508901 +1100105,35,2715090,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271509001 +1100105,35,2715091,1,21,1,25,5,1,1,1,15,4,611M1,7870.0,271509101 +1100105,35,2715092,1,20,2,20,2,1,2,1,15,4,92119,9390.0,271509201 +1100105,35,2715093,1,20,2,8,4,1,1,1,15,4,611M3,7890.0,271509301 +1100105,35,2715094,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271509401 +1100105,35,2715095,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271509501 +1100105,35,2715096,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271509601 +1100105,35,2715097,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271509701 +1100105,35,2715098,1,20,2,25,6,6,1,1,15,4,623M,8290.0,271509801 +1100105,35,2715099,1,19,2,15,6,6,1,1,15,4,713Z,8590.0,271509901 +1100105,35,2715100,1,26,2,40,1,1,2,1,16,4,6111,7860.0,271510001 +1100105,35,2715101,1,19,1,40,6,3,2,1,15,4,51913,6672.0,271510101 +1100105,35,2715102,1,21,1,35,5,6,1,1,15,4,52M2,6970.0,271510201 +1100105,35,2715103,1,20,1,-9,-9,6,6,1,15,4,,,271510301 +1100105,35,2715104,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271510401 +1100105,35,2715105,1,20,2,8,4,1,1,1,15,4,611M3,7890.0,271510501 +1100105,35,2715106,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271510601 +1100105,35,2715107,1,23,1,32,1,2,1,1,15,2,622M,8191.0,271510701 +1100105,35,2715108,1,21,2,-9,-9,6,2,1,15,4,,,271510801 +1100105,35,2715109,1,23,1,30,1,1,2,1,15,4,5616,7680.0,271510901 +1100105,35,2715110,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271511001 +1100105,35,2715111,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,271511101 +1100105,35,2715112,1,19,1,2,3,6,1,1,15,4,8131,9160.0,271511201 +1100105,35,2715113,1,20,2,-9,-9,6,2,1,15,4,,,271511301 +1100105,35,2715114,1,21,2,40,6,6,2,1,15,4,52M1,6870.0,271511401 +1100105,35,2715115,1,21,1,15,5,2,1,1,15,2,4523,5391.0,271511501 +1100105,35,2715116,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271511601 +1100105,35,2715117,1,20,2,-9,-9,6,1,1,15,4,,,271511701 +1100105,35,2715118,1,22,2,40,1,1,2,1,15,4,515,6670.0,271511801 +1100105,35,2715119,1,20,2,32,4,6,1,1,15,4,611M3,7890.0,271511901 +1100105,35,2715120,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271512001 +1100105,35,2715121,1,20,2,32,4,6,1,1,15,4,611M3,7890.0,271512101 +1100105,35,2715122,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271512201 +1100105,35,2715123,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271512301 +1100105,35,2715124,1,22,2,-9,-9,6,2,24,15,4,,,271512401 +1100105,35,2715125,1,18,2,8,6,6,1,1,15,4,712,8570.0,271512501 +1100105,35,2715126,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271512601 +1100105,35,2715127,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271512701 +1100105,35,2715128,1,18,1,45,6,6,1,3,15,4,721M,8670.0,271512801 +1100105,35,2715129,1,19,1,40,6,3,2,1,15,4,51913,6672.0,271512901 +1100105,35,2715130,1,19,2,30,4,6,1,1,15,4,45121,5370.0,271513001 +1100105,35,2715131,1,23,2,40,3,6,9,1,16,4,611M3,7890.0,271513101 +1100105,35,2715132,1,21,1,20,4,1,6,1,15,4,611M1,7870.0,271513201 +1100105,35,2715133,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271513301 +1100105,35,2715134,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271513401 +1100105,35,2715135,1,19,1,10,6,1,1,1,15,4,721M,8670.0,271513501 +1100105,35,2715136,1,21,2,-9,-9,6,1,1,15,4,,,271513601 +1100105,35,2715137,1,21,2,-9,-9,6,2,1,15,4,6111,7860.0,271513701 +1100105,35,2715138,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271513801 +1100105,35,2715139,1,19,1,24,5,1,1,1,15,4,4539,5580.0,271513901 +1100105,35,2715140,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271514001 +1100105,35,2715141,1,18,2,99,6,6,2,1,15,4,721M,8670.0,271514101 +1100105,35,2715142,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271514201 +1100105,35,2715143,1,19,2,-9,-9,6,2,1,15,4,,,271514301 +1100105,35,2715144,1,17,2,-9,-9,6,6,1,15,4,,,271514401 +1100105,35,2715145,1,21,1,20,4,1,6,1,15,4,611M1,7870.0,271514501 +1100105,35,2715146,1,20,2,32,6,6,2,1,15,4,722Z,8680.0,271514601 +1100105,35,2715147,1,20,2,-9,-9,6,2,1,15,4,,,271514701 +1100105,35,2715148,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271514801 +1100105,35,2715149,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271514901 +1100105,35,2715150,1,18,2,-9,-9,6,2,24,15,4,,,271515001 +1100105,35,2715151,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271515101 +1100105,35,2715152,1,18,1,80,5,6,1,1,15,4,721M,8670.0,271515201 +1100105,35,2715153,1,19,2,-9,-9,6,1,1,15,4,,,271515301 +1100105,35,2715154,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,271515401 +1100105,35,2715155,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271515501 +1100105,35,2715156,1,22,2,36,6,6,2,1,15,4,622M,8191.0,271515601 +1100105,35,2715157,1,20,2,-9,-9,6,2,1,15,4,,,271515701 +1100105,35,2715158,1,18,1,3,6,3,9,1,15,4,5411,7270.0,271515801 +1100105,35,2715159,1,19,2,30,5,6,1,1,15,4,622M,8191.0,271515901 +1100105,35,2715160,1,19,2,15,4,6,2,1,15,4,45121,5370.0,271516001 +1100105,35,2715161,1,18,2,6,2,1,9,14,15,4,6111,7860.0,271516101 +1100105,35,2715162,1,19,1,40,6,3,2,1,15,4,51913,6672.0,271516201 +1100105,35,2715163,1,19,2,-9,-9,6,6,1,15,4,,,271516301 +1100105,35,2715164,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271516401 +1100105,35,2715165,1,19,1,10,4,2,1,1,15,4,611M1,7870.0,271516501 +1100105,35,2715166,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271516601 +1100105,35,2715167,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271516701 +1100105,35,2715168,1,19,2,-9,-9,6,2,1,15,4,,,271516801 +1100105,35,2715169,1,19,2,-9,-9,6,2,1,15,4,,,271516901 +1100105,35,2715170,1,19,2,3,6,6,1,2,15,4,6244,8470.0,271517001 +1100105,35,2715171,1,19,2,30,5,6,1,1,15,4,622M,8191.0,271517101 +1100105,35,2715172,1,18,2,7,4,1,2,1,15,4,713Z,8590.0,271517201 +1100105,35,2715173,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271517301 +1100105,35,2715174,1,24,2,40,3,6,9,1,16,4,611M3,7890.0,271517401 +1100105,35,2715175,1,19,2,-9,-9,6,2,1,15,4,,,271517501 +1100105,35,2715176,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271517601 +1100105,35,2715177,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271517701 +1100105,35,2715178,1,19,1,-9,-9,6,6,1,15,4,,,271517801 +1100105,35,2715179,1,22,1,20,6,6,1,1,15,4,3345,3380.0,271517901 +1100105,35,2715180,1,18,2,-9,-9,6,2,1,15,4,,,271518001 +1100105,35,2715181,1,20,2,20,6,1,6,1,15,4,6244,8470.0,271518101 +1100105,35,2715182,1,19,1,-9,-9,6,1,1,15,4,,,271518201 +1100105,35,2715183,1,19,1,40,6,3,2,1,15,4,51913,6672.0,271518301 +1100105,35,2715184,1,46,2,20,1,2,2,1,16,4,611M1,7870.0,271518401 +1100105,35,2715185,1,21,2,-9,-9,6,1,1,15,4,,,271518501 +1100105,35,2715186,1,19,1,-9,-9,6,1,1,15,4,,,271518601 +1100105,35,2715187,1,18,2,-9,-9,6,2,1,15,4,,,271518701 +1100105,35,2715188,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271518801 +1100105,35,2715189,1,19,2,-9,-9,6,1,1,15,4,,,271518901 +1100105,35,2715190,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271519001 +1100105,35,2715191,1,18,1,23,4,6,2,1,15,4,44511,4971.0,271519101 +1100105,35,2715192,1,21,1,12,6,1,1,1,15,4,611M1,7870.0,271519201 +1100105,35,2715193,1,20,1,15,3,1,1,1,15,4,5615,7670.0,271519301 +1100105,35,2715194,1,21,2,-9,-9,6,2,1,15,4,,,271519401 +1100105,35,2715195,1,19,1,9,6,6,1,1,15,4,722Z,8680.0,271519501 +1100105,35,2715196,1,21,2,-9,-9,6,2,1,15,4,,,271519601 +1100105,35,2715197,1,20,1,-9,-9,6,1,24,15,4,9211MP,9370.0,271519701 +1100105,35,2715198,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271519801 +1100105,35,2715199,1,17,2,-9,-9,6,2,1,15,4,,,271519901 +1100105,35,2715200,1,18,1,-9,-9,6,1,1,15,4,4481,5170.0,271520001 +1100105,35,2715201,1,20,1,40,6,6,1,1,15,4,522M,6890.0,271520101 +1100105,35,2715202,1,30,1,35,1,1,2,1,15,4,6212,7980.0,271520201 +1100105,35,2715203,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271520301 +1100105,35,2715204,1,18,1,-9,-9,6,2,1,15,4,,,271520401 +1100105,35,2715205,1,17,1,-9,-9,6,2,1,15,4,5121,6570.0,271520501 +1100105,35,2715206,1,25,2,20,3,1,1,1,16,4,611M1,7870.0,271520601 +1100105,35,2715207,1,21,2,-9,-9,6,2,1,15,4,23,770.0,271520701 +1100105,35,2715208,1,22,1,24,6,6,2,1,15,4,4481,5170.0,271520801 +1100105,35,2715209,1,21,2,-9,-9,6,2,1,15,4,,,271520901 +1100105,35,2715210,1,18,2,-9,-9,6,1,3,15,4,,,271521001 +1100105,35,2715211,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271521101 +1100105,35,2715212,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,271521201 +1100105,35,2715213,1,22,1,40,1,1,1,1,15,4,5415,7380.0,271521301 +1100105,35,2715214,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271521401 +1100105,35,2715215,1,21,1,20,4,1,1,1,15,4,813M,9170.0,271521501 +1100105,35,2715216,1,21,2,40,3,6,1,16,15,4,623M,8290.0,271521601 +1100105,35,2715217,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271521701 +1100105,35,2715218,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271521801 +1100105,35,2715219,1,17,2,-9,-9,6,2,1,15,4,,,271521901 +1100105,35,2715220,1,18,2,-9,-9,6,1,1,15,4,,,271522001 +1100105,35,2715221,1,21,2,15,6,6,1,1,15,4,4481,5170.0,271522101 +1100105,35,2715222,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271522201 +1100105,35,2715223,1,18,2,-9,-9,6,1,1,15,4,,,271522301 +1100105,35,2715224,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,271522401 +1100105,35,2715225,1,19,2,-9,-9,6,2,1,15,4,,,271522501 +1100105,35,2715226,1,19,2,16,6,6,1,1,15,4,713Z,8590.0,271522601 +1100105,35,2715227,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271522701 +1100105,35,2715228,1,18,1,45,6,6,1,1,15,4,923,9480.0,271522801 +1100105,35,2715229,1,18,2,-9,-9,6,1,1,15,4,,,271522901 +1100105,35,2715230,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,271523001 +1100105,35,2715231,1,20,1,50,6,1,2,1,15,4,611M1,7870.0,271523101 +1100105,35,2715232,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271523201 +1100105,35,2715233,1,20,1,15,3,1,1,1,15,4,5615,7670.0,271523301 +1100105,35,2715234,1,19,2,-9,-9,6,1,1,15,4,,,271523401 +1100105,35,2715235,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271523501 +1100105,35,2715236,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271523601 +1100105,35,2715237,1,21,2,6,4,1,1,1,15,4,611M1,7870.0,271523701 +1100105,35,2715238,1,18,2,-9,-9,6,1,1,15,4,,,271523801 +1100105,35,2715239,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271523901 +1100105,35,2715240,1,23,1,30,6,6,2,1,15,4,4542,5670.0,271524001 +1100105,35,2715241,1,20,2,-9,-9,6,1,1,15,4,,,271524101 +1100105,35,2715242,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271524201 +1100105,35,2715243,1,18,2,8,6,6,1,1,15,4,712,8570.0,271524301 +1100105,35,2715244,1,18,2,-9,-9,3,1,1,15,4,45221,5381.0,271524401 +1100105,35,2715245,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271524501 +1100105,35,2715246,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271524601 +1100105,35,2715247,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271524701 +1100105,35,2715248,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271524801 +1100105,35,2715249,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271524901 +1100105,35,2715250,1,18,2,-9,-9,6,2,1,15,4,,,271525001 +1100105,35,2715251,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271525101 +1100105,35,2715252,1,20,1,12,4,1,6,1,15,4,611M1,7870.0,271525201 +1100105,35,2715253,1,19,1,-9,-9,6,1,1,15,4,,,271525301 +1100105,35,2715254,1,28,1,40,1,1,1,1,16,4,8122,9080.0,271525401 +1100105,35,2715255,1,18,2,99,6,6,2,1,15,4,721M,8670.0,271525501 +1100105,35,2715256,1,17,2,-9,-9,6,2,1,15,4,,,271525601 +1100105,35,2715257,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271525701 +1100105,35,2715258,1,21,2,-9,-9,6,2,1,15,4,,,271525801 +1100105,35,2715259,1,18,2,-9,-9,6,1,1,15,4,,,271525901 +1100105,35,2715260,1,19,2,-9,-9,6,1,1,15,4,,,271526001 +1100105,35,2715261,1,18,2,-9,-9,6,1,1,15,4,,,271526101 +1100105,35,2715262,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271526201 +1100105,35,2715263,1,19,1,-9,-9,6,1,1,15,4,,,271526301 +1100105,35,2715264,1,18,2,-9,-9,6,6,1,15,4,,,271526401 +1100105,35,2715265,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,271526501 +1100105,35,2715266,1,22,2,-9,-9,6,2,1,15,4,,,271526601 +1100105,35,2715267,1,21,2,20,5,1,2,1,15,4,611M1,7870.0,271526701 +1100105,35,2715268,1,18,1,-9,-9,6,1,1,15,4,,,271526801 +1100105,35,2715269,1,22,1,40,1,1,1,1,15,4,5415,7380.0,271526901 +1100105,35,2715270,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271527001 +1100105,35,2715271,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271527101 +1100105,35,2715272,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,271527201 +1100105,35,2715273,1,22,1,15,4,2,2,1,15,4,4481,5170.0,271527301 +1100105,35,2715274,1,20,2,15,4,1,1,1,15,4,722Z,8680.0,271527401 +1100105,35,2715275,1,17,1,-9,-9,6,2,1,15,4,5121,6570.0,271527501 +1100105,35,2715276,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271527601 +1100105,35,2715277,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271527701 +1100105,35,2715278,1,19,1,40,6,6,1,1,15,4,6111,7860.0,271527801 +1100105,35,2715279,1,19,1,4,6,6,6,1,15,4,611M3,7890.0,271527901 +1100105,35,2715280,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271528001 +1100105,35,2715281,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,271528101 +1100105,35,2715282,1,22,1,15,5,1,1,1,15,4,611M1,7870.0,271528201 +1100105,35,2715283,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271528301 +1100105,35,2715284,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271528401 +1100105,35,2715285,1,19,2,6,5,6,1,1,15,4,611M1,7870.0,271528501 +1100105,35,2715286,1,20,2,-9,-9,6,1,1,15,4,,,271528601 +1100105,35,2715287,1,22,1,-9,-9,6,2,1,15,4,611M1,7870.0,271528701 +1100105,35,2715288,1,21,2,-9,-9,6,2,1,15,4,,,271528801 +1100105,35,2715289,1,25,2,-9,-9,6,2,1,16,4,,,271528901 +1100105,35,2715290,1,22,2,30,6,6,1,1,15,4,713Z,8590.0,271529001 +1100105,35,2715291,1,19,2,40,5,6,1,1,15,4,712,8570.0,271529101 +1100105,35,2715292,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271529201 +1100105,35,2715293,1,21,2,-9,-9,6,2,1,15,4,23,770.0,271529301 +1100105,35,2715294,1,20,1,12,3,1,1,1,15,4,611M1,7870.0,271529401 +1100105,35,2715295,1,18,1,24,6,6,1,1,15,4,722Z,8680.0,271529501 +1100105,35,2715296,1,20,1,40,5,3,2,1,15,4,54194,7480.0,271529601 +1100105,35,2715297,1,18,2,-9,-9,6,2,1,15,4,,,271529701 +1100105,35,2715298,1,20,2,7,5,6,1,1,15,4,814,9290.0,271529801 +1100105,35,2715299,1,19,2,-9,-9,6,2,1,15,4,,,271529901 +1100105,35,2715300,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271530001 +1100105,35,2715301,1,19,2,22,6,6,1,1,15,4,722Z,8680.0,271530101 +1100105,35,2715302,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271530201 +1100105,35,2715303,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271530301 +1100105,35,2715304,1,19,1,24,5,1,1,1,15,4,4539,5580.0,271530401 +1100105,35,2715305,1,23,2,-9,-9,6,2,1,16,4,6111,7860.0,271530501 +1100105,35,2715306,1,21,1,20,1,1,1,1,15,4,813M,9170.0,271530601 +1100105,35,2715307,1,24,1,25,5,6,1,1,16,4,92M2,9570.0,271530701 +1100105,35,2715308,1,19,2,22,6,6,1,1,15,4,722Z,8680.0,271530801 +1100105,35,2715309,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271530901 +1100105,35,2715310,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271531001 +1100105,35,2715311,1,20,1,25,3,1,6,1,15,4,6241,8370.0,271531101 +1100105,35,2715312,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,271531201 +1100105,35,2715313,1,21,1,20,1,1,1,1,15,4,813M,9170.0,271531301 +1100105,35,2715314,1,20,2,32,4,6,2,1,15,4,611M3,7890.0,271531401 +1100105,35,2715315,1,18,2,20,3,6,1,1,15,4,44611,5070.0,271531501 +1100105,35,2715316,1,20,1,-9,-9,6,2,1,15,4,,,271531601 +1100105,35,2715317,1,18,2,25,1,1,2,1,15,4,3118Z,1270.0,271531701 +1100105,35,2715318,1,18,2,8,5,1,1,1,15,4,611M1,7870.0,271531801 +1100105,35,2715319,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271531901 +1100105,35,2715320,1,20,2,-9,-9,6,2,1,15,4,,,271532001 +1100105,35,2715321,1,21,1,10,1,1,2,1,15,4,611M1,7870.0,271532101 +1100105,35,2715322,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,271532201 +1100105,35,2715323,1,19,2,-9,-9,6,1,24,15,4,,,271532301 +1100105,35,2715324,1,19,1,45,6,6,1,1,15,4,721M,8670.0,271532401 +1100105,35,2715325,1,19,2,15,6,6,1,1,15,4,713Z,8590.0,271532501 +1100105,35,2715326,1,22,1,40,1,1,1,1,15,4,5415,7380.0,271532601 +1100105,35,2715327,1,20,1,26,3,1,1,1,15,4,712,8570.0,271532701 +1100105,35,2715328,1,18,2,25,1,1,2,1,15,4,3118Z,1270.0,271532801 +1100105,35,2715329,1,20,2,7,6,3,2,1,15,4,712,8570.0,271532901 +1100105,35,2715330,1,19,2,30,6,6,6,1,15,4,4539,5580.0,271533001 +1100105,35,2715331,1,20,2,-9,-9,6,1,1,15,4,,,271533101 +1100105,35,2715332,1,19,2,-9,-9,6,2,1,15,4,,,271533201 +1100105,35,2715333,1,19,2,10,6,6,1,1,15,4,315M,1691.0,271533301 +1100105,35,2715334,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271533401 +1100105,35,2715335,1,20,1,6,4,1,2,1,15,4,6242,8380.0,271533501 +1100105,35,2715336,1,18,2,20,6,6,1,1,15,4,721M,8670.0,271533601 +1100105,35,2715337,1,18,2,10,3,1,1,1,15,4,44511,4971.0,271533701 +1100105,35,2715338,1,19,1,15,6,1,1,1,15,4,4481,5170.0,271533801 +1100105,35,2715339,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271533901 +1100105,35,2715340,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271534001 +1100105,35,2715341,1,18,2,54,6,6,9,1,15,4,4481,5170.0,271534101 +1100105,35,2715342,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271534201 +1100105,35,2715343,1,23,2,-9,-9,6,2,1,16,4,6111,7860.0,271534301 +1100105,35,2715344,1,18,2,-9,-9,6,1,1,15,4,,,271534401 +1100105,35,2715345,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,271534501 +1100105,35,2715346,1,18,2,40,6,6,2,1,15,4,923,9480.0,271534601 +1100105,35,2715347,1,18,2,20,6,6,2,1,15,4,6111,7860.0,271534701 +1100105,35,2715348,1,18,2,-9,-9,6,1,1,15,4,,,271534801 +1100105,35,2715349,1,18,1,-9,-9,6,9,1,15,4,,,271534901 +1100105,35,2715350,1,20,1,30,4,2,1,1,15,4,621M,8180.0,271535001 +1100105,35,2715351,1,20,2,8,4,1,1,1,15,4,611M3,7890.0,271535101 +1100105,35,2715352,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271535201 +1100105,35,2715353,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271535301 +1100105,35,2715354,1,18,2,7,4,1,2,1,15,4,713Z,8590.0,271535401 +1100105,35,2715355,1,21,2,20,4,1,2,1,15,4,611M1,7870.0,271535501 +1100105,35,2715356,1,19,2,-9,-9,6,1,1,15,4,,,271535601 +1100105,35,2715357,1,18,2,20,6,6,2,1,15,4,6111,7860.0,271535701 +1100105,35,2715358,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,271535801 +1100105,35,2715359,1,21,2,-9,-9,6,1,1,15,4,,,271535901 +1100105,35,2715360,1,21,1,20,4,1,1,2,15,4,485M,6180.0,271536001 +1100105,35,2715361,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271536101 +1100105,35,2715362,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,271536201 +1100105,35,2715363,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,271536301 +1100105,35,2715364,1,18,2,-9,-9,6,1,1,15,4,,,271536401 +1100105,35,2715365,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271536501 +1100105,35,2715366,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,271536601 +1100105,35,2715367,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,271536701 +1100105,35,2715368,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271536801 +1100105,35,2715369,1,19,2,10,5,6,2,1,15,4,611M1,7870.0,271536901 +1100105,35,2715370,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271537001 +1100105,35,2715371,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271537101 +1100105,35,2715372,1,21,2,8,4,1,1,1,15,4,611M1,7870.0,271537201 +1100105,35,2715373,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271537301 +1100105,35,2715374,1,23,2,40,3,6,9,1,16,4,611M3,7890.0,271537401 +1100105,35,2715375,1,19,2,20,3,1,1,1,15,4,611M1,7870.0,271537501 +1100105,35,2715376,1,23,2,40,3,6,9,1,16,4,611M3,7890.0,271537601 +1100105,35,2715377,1,21,2,25,4,1,1,1,15,4,8139Z,9190.0,271537701 +1100105,35,2715378,1,19,2,-9,-9,6,1,1,15,4,722Z,8680.0,271537801 +1100105,35,2715379,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,271537901 +1100105,35,2715380,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271538001 +1100105,35,2715381,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271538101 +1100105,35,2715382,1,19,2,-9,-9,6,1,1,15,4,,,271538201 +1100105,35,2715383,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271538301 +1100105,35,2715384,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271538401 +1100105,35,2715385,1,19,1,28,6,6,2,1,15,4,23,770.0,271538501 +1100105,35,2715386,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,271538601 +1100105,35,2715387,1,19,2,10,5,6,2,1,15,4,611M1,7870.0,271538701 +1100105,35,2715388,1,18,1,-9,-9,6,2,1,15,4,,,271538801 +1100105,35,2715389,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271538901 +1100105,35,2715390,1,19,1,-9,-9,6,1,1,15,4,,,271539001 +1100105,35,2715391,1,21,2,-9,-9,6,2,1,15,4,,,271539101 +1100105,35,2715392,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271539201 +1100105,35,2715393,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,271539301 +1100105,35,2715394,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271539401 +1100105,35,2715395,1,18,1,-9,-9,6,1,1,15,4,,,271539501 +1100105,35,2715396,1,22,2,20,6,6,2,1,15,4,713Z,8590.0,271539601 +1100105,35,2715397,1,19,2,-9,-9,6,2,1,15,4,,,271539701 +1100105,35,2715398,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,271539801 +1100105,35,2715399,1,21,2,-9,-9,6,1,1,15,4,,,271539901 +1100105,35,2715400,1,18,2,-9,-9,6,1,3,15,4,7111,8561.0,271540001 +1100105,35,2715401,1,21,2,-9,-9,6,2,1,15,4,,,271540101 +1100105,35,2715402,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271540201 +1100105,35,2715403,1,23,2,20,6,6,2,1,16,4,6241,8370.0,271540301 +1100105,35,2715404,1,21,2,10,4,6,1,1,15,4,611M1,7870.0,271540401 +1100105,35,2715405,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271540501 +1100105,35,2715406,1,18,1,3,6,3,9,1,15,4,5411,7270.0,271540601 +1100105,35,2715407,1,18,2,40,5,6,1,1,15,4,712,8570.0,271540701 +1100105,35,2715408,1,17,2,-9,-9,6,2,1,15,4,,,271540801 +1100105,35,2715409,1,21,2,25,1,1,9,1,15,4,44821,5180.0,271540901 +1100105,35,2715410,1,18,2,45,6,6,1,1,15,4,814,9290.0,271541001 +1100105,35,2715411,1,18,1,-9,-9,6,1,1,15,4,,,271541101 +1100105,35,2715412,1,24,1,25,5,6,1,1,16,4,92M2,9570.0,271541201 +1100105,35,2715413,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271541301 +1100105,35,2715414,1,20,2,10,4,1,6,1,15,4,611M3,7890.0,271541401 +1100105,35,2715415,1,18,2,25,1,1,2,1,15,4,3118Z,1270.0,271541501 +1100105,35,2715416,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,271541601 +1100105,35,2715417,1,21,2,-9,-9,6,1,1,15,4,,,271541701 +1100105,35,2715418,1,20,2,8,4,1,1,1,15,4,611M3,7890.0,271541801 +1100105,35,2715419,1,20,2,4,5,6,1,1,15,4,814,9290.0,271541901 +1100105,35,2715420,1,21,2,40,6,6,2,1,15,4,52M1,6870.0,271542001 +1100105,35,2715421,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271542101 +1100105,35,2715422,1,18,1,-9,-9,6,1,1,15,4,,,271542201 +1100105,35,2715423,1,17,2,-9,-9,6,2,1,15,4,,,271542301 +1100105,35,2715424,1,21,1,20,4,1,8,24,15,4,5415,7380.0,271542401 +1100105,35,2715425,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271542501 +1100105,35,2715426,1,20,2,20,1,1,2,1,15,4,561M,7780.0,271542601 +1100105,35,2715427,1,20,2,-9,-9,6,1,1,15,4,,,271542701 +1100105,35,2715428,1,19,2,48,4,1,1,2,15,4,722Z,8680.0,271542801 +1100105,35,2715429,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,271542901 +1100105,35,2715430,1,20,2,-9,-9,6,1,1,15,4,,,271543001 +1100105,35,2715431,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,271543101 +1100105,35,2715432,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,271543201 +1100105,35,2715433,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271543301 +1100105,35,2715434,1,21,2,-9,-9,6,1,1,15,4,,,271543401 +1100105,35,2715435,1,19,1,40,6,3,2,1,15,4,51913,6672.0,271543501 +1100105,35,2715436,1,20,1,45,5,6,6,1,15,4,4481,5170.0,271543601 +1100105,35,2715437,1,20,1,6,5,1,2,1,15,4,611M2,7880.0,271543701 +1100105,35,2715438,1,20,2,6,5,2,1,1,15,4,712,8570.0,271543801 +1100105,35,2715439,1,20,2,25,6,6,1,1,15,4,623M,8290.0,271543901 +1100105,35,2715440,1,20,1,30,4,2,1,1,15,4,621M,8180.0,271544001 +1100105,35,2715441,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271544101 +1100105,35,2715442,1,18,1,80,5,6,1,1,15,4,721M,8670.0,271544201 +1100105,35,2715443,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271544301 +1100105,35,2715444,1,19,2,28,4,6,2,1,15,4,722Z,8680.0,271544401 +1100105,35,2715445,1,21,2,40,6,6,1,1,15,4,611M1,7870.0,271544501 +1100105,35,2715446,1,20,1,-9,-9,6,1,1,15,4,711M,8563.0,271544601 +1100105,35,2715447,1,18,2,-9,-9,6,1,24,15,4,,,271544701 +1100105,35,2715448,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271544801 +1100105,35,2715449,1,19,2,24,5,6,1,1,15,4,515,6670.0,271544901 +1100105,35,2715450,1,21,2,-9,-9,6,2,1,15,4,,,271545001 +1100105,35,2715451,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271545101 +1100105,35,2715452,1,21,2,-9,-9,6,1,1,15,4,,,271545201 +1100105,35,2715453,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271545301 +1100105,35,2715454,1,19,1,16,5,3,1,1,15,4,44511,4971.0,271545401 +1100105,35,2715455,1,21,1,20,4,1,1,1,15,4,813M,9170.0,271545501 +1100105,35,2715456,1,20,1,10,3,1,2,1,15,4,611M1,7870.0,271545601 +1100105,35,2715457,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271545701 +1100105,35,2715458,1,19,2,18,3,6,1,1,15,4,722Z,8680.0,271545801 +1100105,35,2715459,1,20,2,32,6,6,2,1,15,4,722Z,8680.0,271545901 +1100105,35,2715460,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,271546001 +1100105,35,2715461,1,18,2,8,4,6,1,1,15,4,722Z,8680.0,271546101 +1100105,35,2715462,1,18,2,-9,-9,6,1,3,15,4,,,271546201 +1100105,35,2715463,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271546301 +1100105,35,2715464,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271546401 +1100105,35,2715465,1,20,1,30,1,1,2,1,15,4,4481,5170.0,271546501 +1100105,35,2715466,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271546601 +1100105,35,2715467,1,21,2,28,5,6,2,1,15,4,5241,6991.0,271546701 +1100105,35,2715468,1,19,2,35,6,6,1,1,15,4,713Z,8590.0,271546801 +1100105,35,2715469,1,19,1,24,5,1,1,1,15,4,4539,5580.0,271546901 +1100105,35,2715470,1,18,1,-9,-9,6,6,1,15,4,,,271547001 +1100105,35,2715471,1,21,1,25,5,1,1,1,15,4,611M1,7870.0,271547101 +1100105,35,2715472,1,18,2,-9,-9,6,2,1,15,4,,,271547201 +1100105,35,2715473,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,271547301 +1100105,35,2715474,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,271547401 +1100105,35,2715475,1,19,1,10,6,6,1,1,15,4,23,770.0,271547501 +1100105,35,2715476,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271547601 +1100105,35,2715477,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,271547701 +1100105,35,2715478,1,23,2,-9,-9,6,2,1,15,4,,,271547801 +1100105,35,2715479,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271547901 +1100105,35,2715480,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,271548001 +1100105,35,2715481,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271548101 +1100105,35,2715482,1,18,1,8,4,1,1,1,15,4,611M1,7870.0,271548201 +1100105,35,2715483,1,20,2,8,4,1,6,1,15,4,611M1,7870.0,271548301 +1100105,35,2715484,1,18,2,10,3,1,1,1,15,4,44511,4971.0,271548401 +1100105,35,2715485,1,20,2,45,4,6,1,1,15,4,4481,5170.0,271548501 +1100105,35,2715486,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,271548601 +1100105,35,2715487,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271548701 +1100105,35,2715488,1,21,2,30,5,6,2,1,15,4,712,8570.0,271548801 +1100105,35,2715489,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271548901 +1100105,35,2715490,1,21,2,12,2,1,1,1,15,4,51912,6770.0,271549001 +1100105,35,2715491,1,18,1,40,6,6,1,1,15,4,721M,8670.0,271549101 +1100105,35,2715492,1,20,2,20,1,1,2,1,15,4,6241,8370.0,271549201 +1100105,35,2715493,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271549301 +1100105,35,2715494,1,18,1,-9,-9,6,2,1,15,4,,,271549401 +1100105,35,2715495,1,56,1,4,6,1,2,1,16,4,8131,9160.0,271549501 +1100105,35,2715496,1,22,2,10,4,1,6,1,15,4,813M,9170.0,271549601 +1100105,35,2715497,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271549701 +1100105,35,2715498,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271549801 +1100105,35,2715499,1,20,2,12,4,1,2,1,15,4,611M1,7870.0,271549901 +1100105,35,2715500,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271550001 +1100105,35,2715501,1,19,2,28,4,6,2,1,15,4,722Z,8680.0,271550101 +1100105,35,2715502,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271550201 +1100105,35,2715503,1,20,1,40,5,6,1,1,15,4,813M,9170.0,271550301 +1100105,35,2715504,1,21,2,28,5,6,2,1,15,4,5241,6991.0,271550401 +1100105,35,2715505,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271550501 +1100105,35,2715506,1,19,2,-9,-9,6,1,1,15,4,722Z,8680.0,271550601 +1100105,35,2715507,1,19,2,16,6,6,1,1,15,4,713Z,8590.0,271550701 +1100105,35,2715508,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271550801 +1100105,35,2715509,1,19,1,12,5,1,1,1,15,4,713Z,8590.0,271550901 +1100105,35,2715510,1,18,2,8,6,6,1,1,15,4,712,8570.0,271551001 +1100105,35,2715511,1,19,2,24,5,6,1,1,15,4,722Z,8680.0,271551101 +1100105,35,2715512,1,21,2,-9,-9,6,2,1,15,4,,,271551201 +1100105,35,2715513,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271551301 +1100105,35,2715514,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271551401 +1100105,35,2715515,1,20,1,16,4,6,1,1,15,4,7211,8660.0,271551501 +1100105,35,2715516,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271551601 +1100105,35,2715517,1,18,2,20,6,6,2,1,15,4,6111,7860.0,271551701 +1100105,35,2715518,1,21,1,30,5,2,2,1,15,4,447,5090.0,271551801 +1100105,35,2715519,1,19,1,-9,-9,6,1,1,15,4,,,271551901 +1100105,35,2715520,1,19,2,12,3,1,1,1,15,4,44511,4971.0,271552001 +1100105,35,2715521,1,19,2,5,6,6,2,10,15,4,6111,7860.0,271552101 +1100105,35,2715522,1,21,2,6,4,1,1,1,15,4,611M1,7870.0,271552201 +1100105,35,2715523,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271552301 +1100105,35,2715524,1,18,2,7,4,1,6,1,15,4,713Z,8590.0,271552401 +1100105,35,2715525,1,20,1,-9,-9,6,1,1,15,4,713Z,8590.0,271552501 +1100105,35,2715526,1,20,2,40,6,6,1,3,15,4,6211,7970.0,271552601 +1100105,35,2715527,1,18,1,-9,-9,6,1,1,15,4,,,271552701 +1100105,35,2715528,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,271552801 +1100105,35,2715529,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271552901 +1100105,35,2715530,1,20,2,-9,-9,6,6,1,15,4,,,271553001 +1100105,35,2715531,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271553101 +1100105,35,2715532,1,18,1,-9,-9,6,6,1,15,4,611M3,7890.0,271553201 +1100105,35,2715533,1,19,2,3,6,6,1,2,15,4,6244,8470.0,271553301 +1100105,35,2715534,1,21,2,15,6,6,1,1,15,4,4481,5170.0,271553401 +1100105,35,2715535,1,17,2,-9,-9,6,2,1,15,4,,,271553501 +1100105,35,2715536,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271553601 +1100105,35,2715537,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271553701 +1100105,35,2715538,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271553801 +1100105,35,2715539,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271553901 +1100105,35,2715540,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271554001 +1100105,35,2715541,1,46,2,20,1,2,2,1,16,4,611M1,7870.0,271554101 +1100105,35,2715542,1,21,2,-9,-9,6,1,1,15,4,,,271554201 +1100105,35,2715543,1,19,2,20,3,1,1,1,15,4,611M1,7870.0,271554301 +1100105,35,2715544,1,18,1,-9,-9,6,1,1,15,4,,,271554401 +1100105,35,2715545,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271554501 +1100105,35,2715546,1,20,2,35,5,1,1,1,15,4,928P,9590.0,271554601 +1100105,35,2715547,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,271554701 +1100105,35,2715548,1,20,2,40,6,6,2,1,15,4,52M1,6870.0,271554801 +1100105,35,2715549,1,20,1,6,4,1,2,1,15,4,6242,8380.0,271554901 +1100105,35,2715550,1,21,2,40,6,6,2,1,15,4,52M1,6870.0,271555001 +1100105,35,2715551,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,271555101 +1100105,35,2715552,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271555201 +1100105,35,2715553,1,20,2,32,6,6,1,1,15,4,722Z,8680.0,271555301 +1100105,35,2715554,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271555401 +1100105,35,2715555,1,21,2,40,3,6,1,16,15,4,623M,8290.0,271555501 +1100105,35,2715556,1,18,2,-9,-9,6,2,1,15,4,,,271555601 +1100105,35,2715557,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,271555701 +1100105,35,2715558,1,22,2,8,5,1,1,1,15,4,611M1,7870.0,271555801 +1100105,35,2715559,1,18,2,54,6,6,9,1,15,4,4481,5170.0,271555901 +1100105,35,2715560,1,21,1,20,4,1,8,24,15,4,5415,7380.0,271556001 +1100105,35,2715561,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271556101 +1100105,35,2715562,1,21,2,35,5,1,2,1,15,4,928P,9590.0,271556201 +1100105,35,2715563,1,20,2,35,5,1,1,1,15,4,928P,9590.0,271556301 +1100105,35,2715564,1,18,2,10,6,6,1,1,15,4,5616,7680.0,271556401 +1100105,35,2715565,1,18,1,5,6,6,2,1,15,4,928P,9590.0,271556501 +1100105,35,2715566,1,22,2,20,5,3,2,1,15,4,45221,5381.0,271556601 +1100105,35,2715567,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,271556701 +1100105,35,2715568,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271556801 +1100105,35,2715569,1,19,1,-9,-9,6,2,1,15,4,51111,6470.0,271556901 +1100105,35,2715570,1,22,2,-9,-9,6,2,24,15,4,,,271557001 +1100105,35,2715571,1,19,2,22,6,6,1,1,15,4,722Z,8680.0,271557101 +1100105,35,2715572,1,19,2,-9,-9,6,1,24,15,4,,,271557201 +1100105,35,2715573,1,20,2,-9,-9,6,2,1,15,4,,,271557301 +1100105,35,2715574,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271557401 +1100105,35,2715575,1,20,1,40,3,1,1,1,15,4,5221M,6880.0,271557501 +1100105,35,2715576,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271557601 +1100105,35,2715577,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271557701 +1100105,35,2715578,1,21,2,30,3,6,1,1,15,4,611M1,7870.0,271557801 +1100105,35,2715579,1,18,1,30,6,6,2,1,15,4,722Z,8680.0,271557901 +1100105,35,2715580,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271558001 +1100105,35,2715581,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,271558101 +1100105,35,2715582,1,20,1,40,5,3,2,1,15,4,54194,7480.0,271558201 +1100105,35,2715583,1,20,2,17,1,1,1,1,15,4,4483,5190.0,271558301 +1100105,35,2715584,1,21,2,-9,-9,6,1,1,15,4,,,271558401 +1100105,35,2715585,1,18,2,-9,-9,3,2,1,15,4,999920,9920.0,271558501 +1100105,35,2715586,1,18,2,-9,-9,6,1,1,15,4,,,271558601 +1100105,35,2715587,1,21,2,25,1,1,9,1,15,4,44821,5180.0,271558701 +1100105,35,2715588,1,20,2,-9,-9,6,2,1,15,4,,,271558801 +1100105,35,2715589,1,19,2,8,6,1,2,1,15,4,611M3,7890.0,271558901 +1100105,35,2715590,1,19,1,35,6,6,1,1,15,4,721M,8670.0,271559001 +1100105,35,2715591,1,18,2,40,5,6,1,1,15,4,712,8570.0,271559101 +1100105,35,2715592,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271559201 +1100105,35,2715593,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271559301 +1100105,35,2715594,1,20,2,-9,-9,6,1,1,15,4,,,271559401 +1100105,35,2715595,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271559501 +1100105,35,2715596,1,18,1,25,5,6,2,1,15,4,4453,4990.0,271559601 +1100105,35,2715597,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271559701 +1100105,35,2715598,1,19,1,23,4,6,2,1,15,4,44511,4971.0,271559801 +1100105,35,2715599,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271559901 +1100105,35,2715600,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271560001 +1100105,35,2715601,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271560101 +1100105,35,2715602,1,18,1,28,6,6,2,1,15,4,23,770.0,271560201 +1100105,35,2715603,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271560301 +1100105,35,2715604,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,271560401 +1100105,35,2715605,1,20,2,-9,-9,6,6,1,15,4,,,271560501 +1100105,35,2715606,1,18,2,-9,-9,6,2,1,15,4,,,271560601 +1100105,35,2715607,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271560701 +1100105,35,2715608,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271560801 +1100105,35,2715609,1,18,2,20,1,1,1,1,15,4,722Z,8680.0,271560901 +1100105,35,2715610,1,18,1,-9,-9,6,2,1,15,4,,,271561001 +1100105,35,2715611,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271561101 +1100105,35,2715612,1,22,1,20,6,6,1,1,15,4,3345,3380.0,271561201 +1100105,35,2715613,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271561301 +1100105,35,2715614,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271561401 +1100105,35,2715615,1,21,2,-9,-9,6,2,1,15,4,,,271561501 +1100105,35,2715616,1,21,1,40,6,6,2,1,15,4,4241,4370.0,271561601 +1100105,35,2715617,1,25,1,40,1,1,2,1,16,4,6216,8170.0,271561701 +1100105,35,2715618,1,18,1,-9,-9,6,2,1,15,4,,,271561801 +1100105,35,2715619,1,18,2,45,6,6,1,1,15,4,814,9290.0,271561901 +1100105,35,2715620,1,18,1,8,6,6,1,1,15,4,713Z,8590.0,271562001 +1100105,35,2715621,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,271562101 +1100105,35,2715622,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271562201 +1100105,35,2715623,1,20,2,10,6,1,1,24,15,4,814,9290.0,271562301 +1100105,35,2715624,1,19,1,10,6,6,1,1,15,4,23,770.0,271562401 +1100105,35,2715625,1,20,1,40,6,6,1,1,15,4,522M,6890.0,271562501 +1100105,35,2715626,1,18,2,-9,-9,6,1,1,15,4,,,271562601 +1100105,35,2715627,1,21,2,20,3,1,2,1,15,4,611M1,7870.0,271562701 +1100105,35,2715628,1,18,2,-9,-9,6,1,1,15,4,,,271562801 +1100105,35,2715629,1,19,2,-9,-9,6,2,1,15,4,,,271562901 +1100105,35,2715630,1,21,2,-9,-9,6,1,1,15,4,,,271563001 +1100105,35,2715631,1,18,2,15,4,1,2,1,15,4,722Z,8680.0,271563101 +1100105,35,2715632,1,19,1,30,5,6,1,1,15,4,4481,5170.0,271563201 +1100105,35,2715633,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271563301 +1100105,35,2715634,1,21,1,30,5,1,2,1,15,4,23,770.0,271563401 +1100105,35,2715635,1,18,2,-9,-9,6,1,3,15,4,,,271563501 +1100105,35,2715636,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271563601 +1100105,35,2715637,1,20,1,-9,-9,6,1,1,15,4,5413,7290.0,271563701 +1100105,35,2715638,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,271563801 +1100105,35,2715639,1,21,2,-9,-9,6,1,1,15,4,,,271563901 +1100105,35,2715640,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271564001 +1100105,35,2715641,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271564101 +1100105,35,2715642,1,18,1,45,6,6,1,1,15,4,923,9480.0,271564201 +1100105,35,2715643,1,20,1,6,6,2,1,1,15,4,712,8570.0,271564301 +1100105,35,2715644,1,19,2,30,5,6,6,1,15,4,713Z,8590.0,271564401 +1100105,35,2715645,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271564501 +1100105,35,2715646,1,20,2,6,5,1,1,1,15,4,4481,5170.0,271564601 +1100105,35,2715647,1,18,2,-9,-9,6,1,1,15,4,,,271564701 +1100105,35,2715648,1,19,2,16,6,6,1,1,15,4,713Z,8590.0,271564801 +1100105,35,2715649,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271564901 +1100105,35,2715650,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271565001 +1100105,35,2715651,1,21,2,-9,-9,6,1,1,15,4,,,271565101 +1100105,35,2715652,1,20,2,-9,-9,6,1,1,15,4,,,271565201 +1100105,35,2715653,1,21,2,-9,-9,6,2,1,15,4,,,271565301 +1100105,35,2715654,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271565401 +1100105,35,2715655,1,21,2,-9,-9,6,2,1,15,4,6111,7860.0,271565501 +1100105,35,2715656,1,20,2,-9,-9,6,2,1,15,4,,,271565601 +1100105,35,2715657,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,271565701 +1100105,35,2715658,1,21,1,20,6,6,1,1,15,4,3345,3380.0,271565801 +1100105,35,2715659,1,24,2,-9,-9,6,2,1,16,4,,,271565901 +1100105,35,2715660,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271566001 +1100105,35,2715661,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271566101 +1100105,35,2715662,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,271566201 +1100105,35,2715663,1,20,2,40,4,1,6,1,15,4,8139Z,9190.0,271566301 +1100105,35,2715664,1,19,2,-9,-9,6,1,1,15,4,,,271566401 +1100105,35,2715665,1,18,2,-9,-9,6,1,1,15,4,,,271566501 +1100105,35,2715666,1,18,2,-9,-9,6,2,24,15,4,,,271566601 +1100105,35,2715667,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,271566701 +1100105,35,2715668,1,20,1,6,6,2,1,1,15,4,712,8570.0,271566801 +1100105,35,2715669,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,271566901 +1100105,35,2715670,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271567001 +1100105,35,2715671,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271567101 +1100105,35,2715672,1,19,1,-9,-9,6,6,1,15,4,,,271567201 +1100105,35,2715673,1,20,2,40,6,6,1,3,15,4,6211,7970.0,271567301 +1100105,35,2715674,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271567401 +1100105,35,2715675,1,18,1,40,6,6,2,19,15,4,5617Z,7690.0,271567501 +1100105,35,2715676,1,22,1,10,1,1,6,1,15,4,611M1,7870.0,271567601 +1100105,35,2715677,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271567701 +1100105,35,2715678,1,19,2,5,6,6,2,10,15,4,6111,7860.0,271567801 +1100105,35,2715679,1,19,2,28,4,6,2,1,15,4,722Z,8680.0,271567901 +1100105,35,2715680,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271568001 +1100105,35,2715681,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271568101 +1100105,35,2715682,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271568201 +1100105,35,2715683,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271568301 +1100105,35,2715684,1,18,2,30,4,1,2,1,15,4,611M1,7870.0,271568401 +1100105,35,2715685,1,20,2,-9,-9,6,1,1,15,4,,,271568501 +1100105,35,2715686,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271568601 +1100105,35,2715687,1,22,1,20,6,6,1,1,15,4,3345,3380.0,271568701 +1100105,35,2715688,1,20,1,-9,-9,6,1,1,15,4,,,271568801 +1100105,35,2715689,1,19,2,-9,-9,6,6,1,15,4,,,271568901 +1100105,35,2715690,1,20,1,6,4,1,2,1,15,4,6242,8380.0,271569001 +1100105,35,2715691,1,21,2,25,3,1,1,1,15,4,611M1,7870.0,271569101 +1100105,35,2715692,1,23,2,-9,-9,6,2,1,15,4,,,271569201 +1100105,35,2715693,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271569301 +1100105,35,2715694,1,21,2,35,5,1,2,1,15,4,928P,9590.0,271569401 +1100105,35,2715695,1,18,2,-9,-9,6,2,1,15,4,,,271569501 +1100105,35,2715696,1,19,2,8,1,6,1,1,15,4,4481,5170.0,271569601 +1100105,35,2715697,1,46,2,20,1,2,2,1,16,4,611M1,7870.0,271569701 +1100105,35,2715698,1,18,1,10,4,1,1,1,15,4,721M,8670.0,271569801 +1100105,35,2715699,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271569901 +1100105,35,2715700,1,22,1,40,1,1,1,1,15,4,5415,7380.0,271570001 +1100105,35,2715701,1,21,1,20,4,1,1,1,15,4,813M,9170.0,271570101 +1100105,35,2715702,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271570201 +1100105,35,2715703,1,18,1,45,6,6,1,3,15,4,721M,8670.0,271570301 +1100105,35,2715704,1,18,1,-9,-9,6,2,1,15,4,,,271570401 +1100105,35,2715705,1,20,2,32,4,6,2,1,15,4,611M3,7890.0,271570501 +1100105,35,2715706,1,19,1,2,3,6,1,1,15,4,8131,9160.0,271570601 +1100105,35,2715707,1,21,2,20,1,1,8,21,15,4,722Z,8680.0,271570701 +1100105,35,2715708,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271570801 +1100105,35,2715709,1,20,2,25,6,6,1,1,15,4,623M,8290.0,271570901 +1100105,35,2715710,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,271571001 +1100105,35,2715711,1,19,2,20,3,1,1,1,15,4,611M1,7870.0,271571101 +1100105,35,2715712,1,19,2,30,5,6,9,1,15,4,713Z,8590.0,271571201 +1100105,35,2715713,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271571301 +1100105,35,2715714,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271571401 +1100105,35,2715715,1,20,1,-9,-9,6,1,1,15,4,,,271571501 +1100105,35,2715716,1,20,2,-9,-9,6,1,1,15,4,,,271571601 +1100105,35,2715717,1,21,2,6,4,1,1,1,15,4,611M1,7870.0,271571701 +1100105,35,2715718,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271571801 +1100105,35,2715719,1,17,2,-9,-9,6,2,1,15,4,,,271571901 +1100105,35,2715720,1,21,2,-9,-9,6,1,1,15,4,,,271572001 +1100105,35,2715721,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271572101 +1100105,35,2715722,1,20,2,-9,-9,6,2,1,15,4,,,271572201 +1100105,35,2715723,1,19,1,10,6,6,1,1,15,4,6111,7860.0,271572301 +1100105,35,2715724,1,18,2,45,6,6,1,1,15,4,814,9290.0,271572401 +1100105,35,2715725,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271572501 +1100105,35,2715726,1,20,2,18,5,3,1,1,15,4,4481,5170.0,271572601 +1100105,35,2715727,1,20,2,25,1,1,2,1,15,4,722Z,8680.0,271572701 +1100105,35,2715728,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271572801 +1100105,35,2715729,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271572901 +1100105,35,2715730,1,18,1,35,4,6,2,1,15,4,713Z,8590.0,271573001 +1100105,35,2715731,1,20,1,20,4,1,2,1,15,4,611M1,7870.0,271573101 +1100105,35,2715732,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271573201 +1100105,35,2715733,1,18,1,-9,-9,6,6,1,15,4,,,271573301 +1100105,35,2715734,1,19,2,20,6,6,1,18,15,4,713Z,8590.0,271573401 +1100105,35,2715735,1,18,1,-9,-9,6,1,1,15,4,,,271573501 +1100105,35,2715736,1,20,2,17,1,1,1,1,15,4,4483,5190.0,271573601 +1100105,35,2715737,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271573701 +1100105,35,2715738,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271573801 +1100105,35,2715739,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271573901 +1100105,35,2715740,1,19,1,40,6,6,1,1,15,4,6111,7860.0,271574001 +1100105,35,2715741,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271574101 +1100105,35,2715742,1,19,1,23,4,6,2,1,15,4,44511,4971.0,271574201 +1100105,35,2715743,1,18,1,10,6,6,1,1,15,4,6111,7860.0,271574301 +1100105,35,2715744,1,18,2,6,5,1,1,4,15,4,4481,5170.0,271574401 +1100105,35,2715745,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271574501 +1100105,35,2715746,1,19,1,-9,-9,6,1,1,15,4,,,271574601 +1100105,35,2715747,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271574701 +1100105,35,2715748,1,21,1,-9,-9,6,2,1,15,4,,,271574801 +1100105,35,2715749,1,18,2,8,6,6,1,1,15,4,712,8570.0,271574901 +1100105,35,2715750,1,18,2,-9,-9,6,2,1,15,4,,,271575001 +1100105,35,2715751,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271575101 +1100105,35,2715752,1,21,2,-9,-9,6,1,1,15,4,,,271575201 +1100105,35,2715753,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271575301 +1100105,35,2715754,1,19,1,23,4,6,1,17,15,4,44512,4972.0,271575401 +1100105,35,2715755,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271575501 +1100105,35,2715756,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,271575601 +1100105,35,2715757,1,19,2,12,3,1,1,1,15,4,44511,4971.0,271575701 +1100105,35,2715758,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271575801 +1100105,35,2715759,1,19,2,35,6,6,1,1,15,4,713Z,8590.0,271575901 +1100105,35,2715760,1,22,2,-9,-9,6,2,1,15,4,,,271576001 +1100105,35,2715761,1,18,2,20,3,6,1,1,15,4,5411,7270.0,271576101 +1100105,35,2715762,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271576201 +1100105,35,2715763,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,271576301 +1100105,35,2715764,1,21,1,20,4,1,1,2,15,4,485M,6180.0,271576401 +1100105,35,2715765,1,20,2,-9,-9,6,2,1,15,4,,,271576501 +1100105,35,2715766,1,19,2,-9,-9,6,1,1,15,4,,,271576601 +1100105,35,2715767,1,18,2,-9,-9,6,1,1,15,4,,,271576701 +1100105,35,2715768,1,17,1,17,6,1,1,1,15,4,4539,5580.0,271576801 +1100105,35,2715769,1,19,1,6,1,1,1,1,15,4,622M,8191.0,271576901 +1100105,35,2715770,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271577001 +1100105,35,2715771,1,18,2,8,5,1,1,1,15,4,611M1,7870.0,271577101 +1100105,35,2715772,1,21,1,12,6,1,1,1,15,4,611M1,7870.0,271577201 +1100105,35,2715773,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271577301 +1100105,35,2715774,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271577401 +1100105,35,2715775,1,19,1,-9,-9,6,1,1,15,4,,,271577501 +1100105,35,2715776,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271577601 +1100105,35,2715777,1,20,2,8,4,1,6,1,15,4,611M1,7870.0,271577701 +1100105,35,2715778,1,21,2,-9,-9,6,1,1,15,4,,,271577801 +1100105,35,2715779,1,18,1,25,5,6,1,1,15,4,4453,4990.0,271577901 +1100105,35,2715780,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271578001 +1100105,35,2715781,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271578101 +1100105,35,2715782,1,18,1,50,6,6,1,1,15,4,5416,7390.0,271578201 +1100105,35,2715783,1,19,2,40,6,6,1,1,15,4,4412,4680.0,271578301 +1100105,35,2715784,1,19,2,20,6,6,1,1,15,4,722Z,8680.0,271578401 +1100105,35,2715785,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,271578501 +1100105,35,2715786,1,21,2,35,5,1,2,1,15,4,928P,9590.0,271578601 +1100105,35,2715787,1,22,1,-9,-9,6,2,1,15,4,611M1,7870.0,271578701 +1100105,35,2715788,1,18,2,-9,-9,6,2,1,15,4,,,271578801 +1100105,35,2715789,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,271578901 +1100105,35,2715790,1,22,2,20,1,1,1,1,15,4,611M1,7870.0,271579001 +1100105,35,2715791,1,18,1,28,6,6,2,1,15,4,23,770.0,271579101 +1100105,35,2715792,1,18,2,10,6,6,1,1,15,4,5616,7680.0,271579201 +1100105,35,2715793,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271579301 +1100105,35,2715794,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271579401 +1100105,35,2715795,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271579501 +1100105,35,2715796,1,20,2,7,5,6,1,1,15,4,814,9290.0,271579601 +1100105,35,2715797,1,21,2,20,1,1,1,1,15,4,722Z,8680.0,271579701 +1100105,35,2715798,1,18,1,-9,-9,6,1,1,15,4,,,271579801 +1100105,35,2715799,1,21,1,12,5,6,2,1,15,4,713Z,8590.0,271579901 +1100105,35,2715800,1,18,2,-9,-9,6,1,1,15,4,712,8570.0,271580001 +1100105,35,2715801,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271580101 +1100105,35,2715802,1,18,1,30,6,6,2,1,15,4,722Z,8680.0,271580201 +1100105,35,2715803,1,18,1,10,6,6,6,1,15,4,3321,2780.0,271580301 +1100105,35,2715804,1,19,2,20,3,1,2,1,15,4,611M1,7870.0,271580401 +1100105,35,2715805,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271580501 +1100105,35,2715806,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271580601 +1100105,35,2715807,1,18,1,45,6,6,1,3,15,4,721M,8670.0,271580701 +1100105,35,2715808,1,19,1,9,6,6,1,1,15,4,722Z,8680.0,271580801 +1100105,35,2715809,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271580901 +1100105,35,2715810,1,18,2,-9,-9,6,1,1,15,4,,,271581001 +1100105,35,2715811,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271581101 +1100105,35,2715812,1,18,1,-9,-9,6,1,1,15,4,,,271581201 +1100105,35,2715813,1,21,2,20,5,1,2,1,15,4,5121,6570.0,271581301 +1100105,35,2715814,1,18,1,25,5,6,2,1,15,4,4453,4990.0,271581401 +1100105,35,2715815,1,18,2,-9,-9,6,6,1,15,4,,,271581501 +1100105,35,2715816,1,18,2,45,6,6,1,1,15,4,814,9290.0,271581601 +1100105,35,2715817,1,19,2,-9,-9,6,1,1,15,4,,,271581701 +1100105,35,2715818,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271581801 +1100105,35,2715819,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271581901 +1100105,35,2715820,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271582001 +1100105,35,2715821,1,19,2,20,4,1,2,1,15,4,5313,7072.0,271582101 +1100105,35,2715822,1,19,1,28,6,6,2,1,15,4,23,770.0,271582201 +1100105,35,2715823,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271582301 +1100105,35,2715824,1,24,2,5,5,6,1,1,16,4,611M1,7870.0,271582401 +1100105,35,2715825,1,20,1,25,3,1,6,1,15,4,6241,8370.0,271582501 +1100105,35,2715826,1,23,2,10,4,1,2,1,15,4,611M1,7870.0,271582601 +1100105,35,2715827,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271582701 +1100105,35,2715828,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271582801 +1100105,35,2715829,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271582901 +1100105,35,2715830,1,28,2,10,5,1,2,1,15,4,722Z,8680.0,271583001 +1100105,35,2715831,1,20,2,-9,-9,6,2,1,15,4,,,271583101 +1100105,35,2715832,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271583201 +1100105,35,2715833,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271583301 +1100105,35,2715834,1,22,1,20,6,6,1,1,15,4,3345,3380.0,271583401 +1100105,35,2715835,1,19,1,6,1,1,1,1,15,4,622M,8191.0,271583501 +1100105,35,2715836,1,18,2,20,6,6,1,1,15,4,721M,8670.0,271583601 +1100105,35,2715837,1,19,2,-9,-9,6,6,1,15,4,,,271583701 +1100105,35,2715838,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271583801 +1100105,35,2715839,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271583901 +1100105,35,2715840,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271584001 +1100105,35,2715841,1,19,2,18,3,6,1,1,15,4,722Z,8680.0,271584101 +1100105,35,2715842,1,19,2,30,6,6,1,1,15,4,442,4770.0,271584201 +1100105,35,2715843,1,18,2,-9,-9,6,1,1,15,4,,,271584301 +1100105,35,2715844,1,19,2,40,6,6,1,1,15,4,4412,4680.0,271584401 +1100105,35,2715845,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271584501 +1100105,35,2715846,1,18,1,45,6,6,1,1,15,4,923,9480.0,271584601 +1100105,35,2715847,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271584701 +1100105,35,2715848,1,18,2,45,6,6,1,1,15,4,814,9290.0,271584801 +1100105,35,2715849,1,19,1,30,5,6,1,1,15,4,4481,5170.0,271584901 +1100105,35,2715850,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271585001 +1100105,35,2715851,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271585101 +1100105,35,2715852,1,18,2,-9,-9,3,1,1,15,4,45221,5381.0,271585201 +1100105,35,2715853,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271585301 +1100105,35,2715854,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271585401 +1100105,35,2715855,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271585501 +1100105,35,2715856,1,20,1,-9,-9,6,1,1,15,4,711M,8563.0,271585601 +1100105,35,2715857,1,22,2,8,5,1,1,1,15,4,611M1,7870.0,271585701 +1100105,35,2715858,1,21,2,20,6,6,2,1,15,4,6241,8370.0,271585801 +1100105,35,2715859,1,18,2,-9,-9,6,1,1,15,4,,,271585901 +1100105,35,2715860,1,18,1,25,5,6,1,1,15,4,4453,4990.0,271586001 +1100105,35,2715861,1,18,1,40,3,1,6,1,15,4,487,6280.0,271586101 +1100105,35,2715862,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271586201 +1100105,35,2715863,1,18,2,10,6,6,1,1,15,4,722Z,8680.0,271586301 +1100105,35,2715864,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,271586401 +1100105,35,2715865,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,271586501 +1100105,57,2715866,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,271586601 +1100105,57,2715867,1,49,2,-9,-9,6,2,1,-9,4,,,271586701 +1100105,57,2715868,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,271586801 +1100105,57,2715869,1,43,1,-9,-9,6,2,1,-9,4,,,271586901 +1100105,57,2715870,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,271587001 +1100105,57,2715871,1,54,1,-9,-9,6,2,1,-9,4,,,271587101 +1100105,57,2715872,1,67,1,-9,-9,6,1,1,-9,2,,,271587201 +1100105,57,2715873,1,50,1,-9,-9,6,2,1,-9,4,,,271587301 +1100105,57,2715874,1,58,2,-9,-9,6,2,1,-9,4,,,271587401 +1100105,57,2715875,1,45,1,-9,-9,6,2,1,-9,4,,,271587501 +1100105,57,2715876,1,56,2,-9,-9,6,2,1,-9,2,,,271587601 +1100105,57,2715877,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,271587701 +1100105,57,2715878,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,271587801 +1100105,57,2715879,1,32,2,-9,-9,6,1,16,-9,4,722Z,8680.0,271587901 +1100105,57,2715880,1,62,1,-9,-9,6,2,3,-9,4,,,271588001 +1100105,57,2715881,1,62,2,-9,-9,6,2,1,-9,4,,,271588101 +1100105,57,2715882,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,271588201 +1100105,57,2715883,1,60,1,35,2,1,2,1,-9,4,488,6290.0,271588301 +1100105,57,2715884,1,59,1,40,3,6,2,1,-9,4,5616,7680.0,271588401 +1100105,57,2715885,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,271588501 +1100105,57,2715886,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,271588601 +1100105,57,2715887,1,62,1,-9,-9,6,2,3,-9,4,,,271588701 +1100105,57,2715888,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,271588801 +1100105,57,2715889,1,57,1,-9,-9,6,2,1,-9,4,,,271588901 +1100105,57,2715890,1,37,1,40,6,6,2,1,-9,4,4244,4470.0,271589001 +1100105,57,2715891,1,62,1,-9,-9,6,2,3,-9,4,,,271589101 +1100105,57,2715892,1,56,2,-9,-9,6,1,1,-9,4,,,271589201 +1100105,57,2715893,1,54,1,-9,-9,6,2,1,-9,4,,,271589301 +1100105,57,2715894,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,271589401 +1100105,57,2715895,1,64,1,-9,-9,6,2,1,-9,4,,,271589501 +1100105,57,2715896,1,22,1,-9,-9,6,2,1,-9,4,6222,8192.0,271589601 +1100105,57,2715897,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,271589701 +1100105,57,2715898,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,271589801 +1100105,57,2715899,1,66,1,50,1,1,1,1,-9,4,8131,9160.0,271589901 +1100105,57,2715900,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,271590001 +1100105,57,2715901,1,60,1,-9,-9,6,2,1,-9,4,,,271590101 +1100105,57,2715902,1,62,1,-9,-9,6,2,3,-9,4,,,271590201 +1100105,57,2715903,1,44,2,28,1,6,2,1,-9,4,4523,5391.0,271590301 +1100105,57,2715904,1,55,1,-9,-9,6,2,1,-9,4,,,271590401 +1100105,57,2715905,1,67,1,-9,-9,6,1,1,-9,2,,,271590501 +1100105,57,2715906,1,58,1,-9,-9,6,2,1,-9,4,,,271590601 +1100105,57,2715907,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,271590701 +1100105,57,2715908,1,57,1,-9,-9,6,2,1,-9,4,,,271590801 +1100105,57,2715909,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,271590901 +1100105,57,2715910,1,66,1,50,1,1,1,1,-9,4,8131,9160.0,271591001 +1100105,57,2715911,1,82,2,40,1,1,6,1,-9,4,8131,9160.0,271591101 +1100105,57,2715912,1,58,1,-9,-9,6,2,1,-9,4,,,271591201 +1100105,57,2715913,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,271591301 +1100105,57,2715914,1,58,2,-9,-9,6,2,1,-9,4,,,271591401 +1100105,57,2715915,1,56,2,-9,-9,6,2,1,-9,2,,,271591501 +1100105,57,2715916,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,271591601 +1100105,57,2715917,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,271591701 +1100105,57,2715918,1,56,2,-9,-9,6,2,1,-9,4,23,770.0,271591801 +1100105,57,2715919,1,83,2,-9,-9,6,2,1,-9,3,,,271591901 +1100105,57,2715920,1,82,2,40,1,1,6,1,-9,4,8131,9160.0,271592001 +1100105,57,2715921,1,67,2,-9,-9,6,2,1,-9,4,,,271592101 +1100105,57,2715922,1,45,1,-9,-9,6,2,1,-9,4,,,271592201 +1100105,57,2715923,1,49,2,-9,-9,6,2,1,-9,4,,,271592301 +1100105,57,2715924,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,271592401 +1100105,57,2715925,1,52,1,-9,-9,6,2,1,-9,4,,,271592501 +1100105,57,2715926,1,76,1,-9,-9,6,1,1,-9,4,,,271592601 +1100105,57,2715927,1,47,1,-9,-9,6,2,1,-9,4,,,271592701 +1100105,57,2715928,1,64,1,-9,-9,6,2,1,-9,4,,,271592801 +1100105,57,2715929,1,59,2,40,5,6,2,1,-9,4,7211,8660.0,271592901 +1100105,57,2715930,1,56,2,-9,-9,6,1,1,-9,4,,,271593001 +1100105,57,2715931,1,50,1,-9,-9,6,2,1,-9,4,,,271593101 +1100105,57,2715932,1,62,2,-9,-9,6,2,1,-9,4,,,271593201 +1100105,57,2715933,1,69,1,-9,-9,6,1,1,-9,4,,,271593301 +1100105,57,2715934,1,60,1,35,2,1,2,1,-9,4,488,6290.0,271593401 +1100105,57,2715935,1,64,1,-9,-9,6,2,1,-9,4,,,271593501 +1100105,57,2715936,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,271593601 +1100105,57,2715937,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,271593701 +1100105,57,2715938,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,271593801 +1100105,57,2715939,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,271593901 +1100105,57,2715940,1,63,1,-9,-9,6,2,1,-9,4,,,271594001 +1100105,57,2715941,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,271594101 +1100105,57,2715942,1,45,1,-9,-9,6,2,1,-9,4,,,271594201 +1100105,57,2715943,1,45,1,-9,-9,6,2,1,-9,4,23,770.0,271594301 +1100105,57,2715944,1,62,1,-9,-9,6,2,3,-9,4,,,271594401 +1100105,57,2715945,1,69,1,-9,-9,6,1,1,-9,4,,,271594501 +1100105,57,2715946,1,55,1,40,1,1,1,2,-9,4,55,7570.0,271594601 +1100105,57,2715947,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,271594701 +1100105,57,2715948,1,50,1,-9,-9,6,2,1,-9,4,,,271594801 +1100105,57,2715949,1,20,2,-9,-9,3,2,1,13,4,999920,9920.0,271594901 +1100105,57,2715950,1,60,1,35,2,1,2,1,-9,4,488,6290.0,271595001 +1100105,57,2715951,1,52,1,-9,-9,6,2,1,-9,4,,,271595101 +1100105,57,2715952,1,47,1,-9,-9,6,2,1,-9,4,,,271595201 +1100105,57,2715953,1,57,1,40,3,6,2,1,-9,2,5616,7680.0,271595301 +1100105,57,2715954,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,271595401 +1100105,57,2715955,1,47,1,-9,-9,6,2,1,-9,4,,,271595501 +1100105,57,2715956,1,56,2,-9,-9,6,1,1,-9,4,,,271595601 +1100105,57,2715957,1,50,2,20,6,3,2,1,-9,2,44511,4971.0,271595701 +1100105,57,2715958,1,28,2,-9,-9,6,1,1,-9,4,5413,7290.0,271595801 +1100105,57,2715959,1,74,1,-9,-9,6,2,1,-9,4,,,271595901 +1100105,57,2715960,1,74,1,-9,-9,6,2,1,-9,4,,,271596001 +1100105,57,2715961,1,45,1,-9,-9,6,2,1,-9,4,,,271596101 +1100105,57,2715962,1,73,2,-9,-9,6,2,1,-9,4,,,271596201 +1100105,57,2715963,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,271596301 +1100105,57,2715964,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,271596401 +1100105,57,2715965,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,271596501 +1100105,57,2715966,1,86,1,-9,-9,6,1,1,-9,4,,,271596601 +1100105,57,2715967,1,58,2,-9,-9,6,2,1,-9,4,,,271596701 +1100105,57,2715968,1,57,1,40,3,6,2,1,-9,2,5616,7680.0,271596801 +1100105,57,2715969,1,67,1,-9,-9,6,1,1,-9,2,,,271596901 +1100105,57,2715970,1,47,1,-9,-9,6,2,1,-9,4,,,271597001 +1100105,57,2715971,1,40,1,-9,-9,6,2,1,-9,4,621M,8180.0,271597101 +1100105,57,2715972,1,59,2,15,5,3,2,1,-9,4,5613,7580.0,271597201 +1100105,57,2715973,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,271597301 +1100105,57,2715974,1,60,1,35,2,1,2,1,-9,4,488,6290.0,271597401 +1100105,57,2715975,1,82,2,40,1,1,6,1,-9,4,8131,9160.0,271597501 +1100105,57,2715976,1,62,1,-9,-9,6,2,3,-9,4,,,271597601 +1100105,57,2715977,1,62,1,-9,-9,6,2,3,-9,4,,,271597701 +1100105,57,2715978,1,64,2,-9,-9,6,2,1,-9,4,,,271597801 +1100105,57,2715979,1,52,1,-9,-9,6,2,1,-9,4,,,271597901 +1100105,57,2715980,1,40,1,-9,-9,6,2,1,-9,4,621M,8180.0,271598001 +1100105,57,2715981,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,271598101 +1100105,57,2715982,1,50,2,20,6,3,2,1,-9,2,44511,4971.0,271598201 +1100105,57,2715983,1,50,1,-9,-9,6,2,1,-9,4,,,271598301 +1100105,57,2715984,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,271598401 +1100105,57,2715985,1,56,2,-9,-9,6,2,1,-9,2,,,271598501 +1100105,57,2715986,1,23,2,-9,-9,3,2,1,-9,4,999920,9920.0,271598601 +1100105,57,2715987,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,271598701 +1100105,57,2715988,1,60,1,-9,-9,6,2,1,-9,4,,,271598801 +1100105,57,2715989,1,37,1,40,6,6,2,1,-9,4,4244,4470.0,271598901 +1100105,57,2715990,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,271599001 +1100105,57,2715991,1,64,1,-9,-9,6,2,1,-9,4,,,271599101 +1100105,57,2715992,1,67,1,-9,-9,6,1,1,-9,2,,,271599201 +1100105,57,2715993,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,271599301 +1100105,57,2715994,1,59,2,15,5,3,2,1,-9,4,5613,7580.0,271599401 +1100105,57,2715995,1,45,1,-9,-9,6,2,1,-9,4,,,271599501 +1100105,57,2715996,1,23,1,20,4,1,1,1,-9,4,6231,8270.0,271599601 +1100105,57,2715997,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,271599701 +1100105,57,2715998,1,83,2,-9,-9,6,2,1,-9,3,,,271599801 +1100105,57,2715999,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,271599901 +1100105,57,2716000,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,271600001 +1100105,57,2716001,1,64,1,-9,-9,6,2,1,-9,4,,,271600101 +1100105,57,2716002,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,271600201 +1100105,57,2716003,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,271600301 +1100105,57,2716004,1,62,2,-9,-9,6,2,1,-9,4,,,271600401 +1100105,57,2716005,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,271600501 +1100105,57,2716006,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,271600601 +1100105,57,2716007,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,271600701 +1100105,57,2716008,1,54,1,-9,-9,6,2,1,-9,4,,,271600801 +1100105,57,2716009,1,60,1,35,2,1,2,1,-9,4,488,6290.0,271600901 +1100105,57,2716010,1,58,2,-9,-9,6,2,1,-9,4,,,271601001 +1100105,57,2716011,1,43,1,-9,-9,6,2,1,-9,4,,,271601101 +1100105,57,2716012,1,43,1,-9,-9,6,2,1,-9,4,,,271601201 +1100105,57,2716013,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,271601301 +1100105,57,2716014,1,50,1,-9,-9,6,2,1,-9,4,,,271601401 +1100105,57,2716015,1,36,1,40,6,1,1,2,-9,4,722Z,8680.0,271601501 +1100105,57,2716016,1,57,1,-9,-9,6,2,1,-9,4,,,271601601 +1100105,57,2716017,1,61,2,60,5,3,6,1,-9,4,5419Z,7490.0,271601701 +1100105,57,2716018,1,59,1,78,6,1,2,1,-9,4,813M,9170.0,271601801 +1100105,57,2716019,1,61,2,60,5,3,6,1,-9,4,5419Z,7490.0,271601901 +1100105,57,2716020,1,52,1,-9,-9,6,2,1,-9,4,,,271602001 +1100105,57,2716021,1,54,2,40,3,1,2,1,-9,4,611M1,7870.0,271602101 +1100105,57,2716022,1,60,1,35,2,1,2,1,-9,4,488,6290.0,271602201 +1100105,57,2716023,1,45,1,-9,-9,6,2,1,-9,4,,,271602301 +1100105,57,2716024,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,271602401 +1100105,57,2716025,1,67,1,-9,-9,6,1,1,-9,2,,,271602501 +1100105,57,2716026,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,271602601 +1100105,57,2716027,1,49,2,-9,-9,6,2,1,-9,4,,,271602701 +1100105,57,2716028,1,69,1,-9,-9,6,1,1,-9,4,,,271602801 +1100105,57,2716029,1,64,1,-9,-9,6,2,1,-9,4,,,271602901 +1100105,57,2716030,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,271603001 +1100105,57,2716031,1,49,2,-9,-9,6,2,1,-9,4,,,271603101 +1100105,57,2716032,1,57,2,-9,-9,6,2,1,-9,4,,,271603201 +1100105,57,2716033,1,52,1,-9,-9,6,2,1,-9,4,,,271603301 +1100105,57,2716034,1,60,1,-9,-9,6,2,1,-9,4,,,271603401 +1100105,57,2716035,1,67,1,-9,-9,6,1,1,-9,2,,,271603501 +1100105,57,2716036,1,56,2,-9,-9,6,1,1,-9,4,,,271603601 +1100105,57,2716037,1,55,1,-9,-9,6,2,1,-9,4,,,271603701 +1100105,57,2716038,1,58,1,25,6,1,2,1,-9,4,6242,8380.0,271603801 +1100105,57,2716039,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,271603901 +1100105,57,2716040,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,271604001 +1100105,57,2716041,1,63,1,-9,-9,6,2,1,-9,4,,,271604101 +1100105,57,2716042,1,45,1,-9,-9,6,2,1,-9,4,,,271604201 +1100105,57,2716043,1,67,1,-9,-9,6,1,1,-9,2,,,271604301 +1100105,57,2716044,1,55,1,40,1,1,1,2,-9,4,55,7570.0,271604401 +1100105,57,2716045,1,58,2,-9,-9,6,2,1,-9,4,,,271604501 +1100105,57,2716046,1,47,1,-9,-9,6,2,1,-9,4,,,271604601 +1100105,57,2716047,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,271604701 +1100105,57,2716048,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,271604801 +1100105,57,2716049,1,44,2,28,1,6,2,1,-9,4,4523,5391.0,271604901 +1100105,57,2716050,1,67,1,-9,-9,6,1,1,-9,2,,,271605001 +1100105,57,2716051,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,271605101 +1100105,57,2716052,1,62,2,-9,-9,6,2,1,-9,4,,,271605201 +1100105,57,2716053,1,29,2,40,1,1,1,1,-9,4,813M,9170.0,271605301 +1100105,57,2716054,1,69,1,-9,-9,6,1,1,-9,4,,,271605401 +1100105,57,2716055,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,271605501 +1100105,57,2716056,1,55,1,-9,-9,6,2,1,-9,4,,,271605601 +1100105,57,2716057,1,70,2,-9,-9,6,2,1,-9,4,,,271605701 +1100105,57,2716058,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,271605801 +1100105,57,2716059,1,43,1,-9,-9,6,2,1,-9,4,,,271605901 +1100105,57,2716060,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,271606001 +1100105,57,2716061,1,60,1,35,2,1,2,1,-9,4,488,6290.0,271606101 +1100105,57,2716062,1,56,2,-9,-9,6,1,1,-9,4,,,271606201 +1100105,57,2716063,1,24,2,6,6,2,2,1,-9,4,492,6380.0,271606301 +1100105,57,2716064,1,76,1,-9,-9,6,1,1,-9,4,,,271606401 +1100105,57,2716065,1,59,1,40,3,6,2,1,-9,4,5616,7680.0,271606501 +1100105,57,2716066,1,47,1,40,3,1,2,1,-9,4,722Z,8680.0,271606601 +1100105,57,2716067,1,49,1,40,1,1,2,1,-9,4,622M,8191.0,271606701 +1100105,57,2716068,1,45,1,-9,-9,6,2,1,-9,4,,,271606801 +1100105,57,2716069,1,23,1,15,6,2,2,1,-9,4,4481,5170.0,271606901 +1100105,57,2716070,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,271607001 +1100105,57,2716071,1,36,1,-9,-9,3,2,1,-9,4,722Z,8680.0,271607101 +1100105,57,2716072,1,43,2,-9,-9,3,2,1,-9,4,999920,9920.0,271607201 +1100105,57,2716073,1,56,2,-9,-9,6,2,1,-9,2,,,271607301 +1100105,57,2716074,1,67,1,-9,-9,6,1,1,-9,2,,,271607401 +1100105,57,2716075,1,57,2,-9,-9,6,2,1,-9,4,,,271607501 +1100105,57,2716076,1,63,1,-9,-9,6,2,1,-9,4,,,271607601 +1100105,57,2716077,1,64,1,-9,-9,6,2,1,-9,4,,,271607701 +1100105,57,2716078,1,56,2,-9,-9,3,2,1,-9,4,999920,9920.0,271607801 +1100105,57,2716079,1,62,2,-9,-9,6,2,1,-9,4,,,271607901 +1100105,57,2716080,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,271608001 +1100105,57,2716081,1,49,2,-9,-9,6,2,1,-9,4,,,271608101 +1100105,57,2716082,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,271608201 +1100105,57,2716083,1,69,1,-9,-9,6,1,1,-9,4,,,271608301 +1100105,57,2716084,1,49,2,-9,-9,6,2,1,-9,4,,,271608401 +1100105,57,2716085,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,271608501 +1100105,57,2716086,1,49,1,40,1,1,2,1,-9,4,622M,8191.0,271608601 +1100105,57,2716087,1,62,1,48,1,1,2,1,-9,4,5613,7580.0,271608701 +1100105,57,2716088,1,29,2,40,1,1,1,1,-9,4,813M,9170.0,271608801 +1100105,57,2716089,1,45,1,-9,-9,6,2,1,-9,4,,,271608901 +1100105,57,2716090,1,29,1,16,1,1,2,1,-9,4,52M1,6870.0,271609001 +1100105,57,2716091,1,62,2,-9,-9,6,2,1,-9,4,,,271609101 +1100105,57,2716092,1,67,1,-9,-9,6,1,1,-9,2,,,271609201 +1100105,57,2716093,1,32,2,-9,-9,6,1,16,-9,4,722Z,8680.0,271609301 +1100105,57,2716094,1,45,1,30,5,6,2,1,-9,3,23,770.0,271609401 +1100105,57,2716095,1,74,1,-9,-9,6,2,1,-9,4,,,271609501 +1100105,57,2716096,1,57,1,-9,-9,6,2,1,-9,4,,,271609601 +1100105,57,2716097,1,38,1,40,1,1,2,1,-9,4,4441Z,4870.0,271609701 +1100105,57,2716098,1,55,1,-9,-9,6,2,1,-9,4,,,271609801 +1100105,57,2716099,1,55,1,-9,-9,6,2,1,-9,4,,,271609901 +1100105,57,2716100,1,64,1,-9,-9,6,2,1,-9,4,,,271610001 +1100105,57,2716101,1,61,2,-9,-9,3,1,1,-9,4,999920,9920.0,271610101 +1100105,57,2716102,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,271610201 +1100105,57,2716103,1,58,2,-9,-9,6,2,1,-9,4,,,271610301 +1100105,57,2716104,1,83,2,-9,-9,6,2,1,-9,3,,,271610401 +1100105,57,2716105,1,60,1,35,2,1,2,1,-9,4,488,6290.0,271610501 +1100105,57,2716106,1,62,2,-9,-9,6,2,1,-9,3,5613,7580.0,271610601 +1100105,57,2716107,1,54,1,-9,-9,6,2,1,-9,4,,,271610701 +1100105,57,2716108,1,36,1,-9,-9,3,2,1,-9,4,722Z,8680.0,271610801 +1100105,57,2716109,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,271610901 +1100105,57,2716110,1,50,1,40,1,1,6,1,-9,4,8131,9160.0,271611001 +1100105,57,2716111,1,52,1,23,1,1,2,1,-9,4,5415,7380.0,271611101 +1100105,57,2716112,1,62,2,-9,-9,6,2,1,-9,4,,,271611201 +1100105,57,2716113,1,24,1,9,1,1,2,1,-9,4,5617Z,7690.0,271611301 +1100105,57,2716114,1,62,1,-9,-9,6,2,3,-9,4,,,271611401 +1100105,57,2716115,1,36,1,-9,-9,6,2,1,-9,4,5121,6570.0,271611501 +1100105,57,2716116,1,83,2,-9,-9,6,2,1,-9,3,,,271611601 +1100105,57,2716117,1,50,1,-9,-9,6,2,1,-9,4,,,271611701 +1100105,57,2716118,1,58,1,-9,-9,6,2,1,-9,4,,,271611801 +1100105,57,2716119,1,38,2,-9,-9,3,2,1,-9,4,5416,7390.0,271611901 +1100105,57,2716120,1,59,2,15,5,3,2,1,-9,4,5613,7580.0,271612001 +1100105,57,2716121,1,63,1,-9,-9,6,2,1,-9,4,,,271612101 +1100105,57,2716122,1,54,1,4,4,1,2,23,-9,4,484,6170.0,271612201 +1100105,57,2716123,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,271612301 +1100105,57,2716124,1,20,1,-9,-9,6,2,1,-9,4,6241,8370.0,271612401 +1100105,57,2716125,1,74,1,-9,-9,6,2,1,-9,4,,,271612501 +1100105,57,2716126,1,56,2,-9,-9,6,1,1,-9,4,,,271612601 +1100105,57,2716127,1,50,1,-9,-9,6,2,1,-9,4,,,271612701 +1100105,57,2716128,1,49,2,-9,-9,6,2,1,-9,4,,,271612801 +1100105,57,2716129,1,64,1,-9,-9,6,2,1,-9,4,488,6290.0,271612901 +1100105,57,2716130,1,67,1,-9,-9,6,2,1,-9,4,45221,5381.0,271613001 +1100105,57,2716131,1,24,2,-9,-9,6,2,1,15,4,,,271613101 +1100105,57,2716132,1,24,2,5,5,6,1,1,16,4,611M1,7870.0,271613201 +1100105,57,2716133,1,20,1,20,6,6,2,1,15,4,813M,9170.0,271613301 +1100105,57,2716134,1,18,2,-9,-9,6,1,1,15,4,,,271613401 +1100105,57,2716135,1,19,1,23,4,6,2,1,15,4,44511,4971.0,271613501 +1100105,57,2716136,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271613601 +1100105,57,2716137,1,18,2,-9,-9,6,1,1,15,4,,,271613701 +1100105,57,2716138,1,18,1,45,6,6,1,1,15,4,923,9480.0,271613801 +1100105,57,2716139,1,21,1,30,5,2,2,1,15,4,447,5090.0,271613901 +1100105,57,2716140,1,20,2,-9,-9,6,1,1,15,4,,,271614001 +1100105,57,2716141,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271614101 +1100105,57,2716142,1,20,2,8,1,1,1,1,15,4,8131,9160.0,271614201 +1100105,57,2716143,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,271614301 +1100105,57,2716144,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,271614401 +1100105,57,2716145,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271614501 +1100105,57,2716146,1,19,2,-9,-9,6,2,1,15,4,,,271614601 +1100105,57,2716147,1,20,1,30,4,2,1,1,15,4,621M,8180.0,271614701 +1100105,57,2716148,1,18,1,10,6,6,1,1,15,4,6111,7860.0,271614801 +1100105,57,2716149,1,19,2,-9,-9,6,2,1,15,4,,,271614901 +1100105,57,2716150,1,19,2,-9,-9,6,1,1,15,4,,,271615001 +1100105,57,2716151,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271615101 +1100105,57,2716152,1,18,2,-9,-9,6,1,1,15,4,,,271615201 +1100105,57,2716153,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,271615301 +1100105,57,2716154,1,18,2,10,6,1,1,1,15,4,713Z,8590.0,271615401 +1100105,57,2716155,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271615501 +1100105,57,2716156,1,19,1,2,3,6,1,1,15,4,8131,9160.0,271615601 +1100105,57,2716157,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271615701 +1100105,57,2716158,1,19,2,30,5,6,1,1,15,4,713Z,8590.0,271615801 +1100105,57,2716159,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,271615901 +1100105,57,2716160,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,271616001 +1100105,57,2716161,1,20,1,45,5,6,6,1,15,4,4481,5170.0,271616101 +1100105,57,2716162,1,19,2,15,6,6,1,1,15,4,713Z,8590.0,271616201 +1100105,57,2716163,1,20,2,-9,-9,6,1,1,15,4,,,271616301 +1100105,57,2716164,1,20,2,-9,-9,6,2,1,15,4,,,271616401 +1100105,57,2716165,1,20,2,-9,-9,6,1,1,15,4,,,271616501 +1100105,57,2716166,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,271616601 +1100105,57,2716167,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271616701 +1100105,57,2716168,1,18,1,8,5,1,1,1,15,4,611M1,7870.0,271616801 +1100105,57,2716169,1,19,2,1,6,3,6,1,15,4,6111,7860.0,271616901 +1100105,57,2716170,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271617001 +1100105,57,2716171,1,21,1,40,6,1,1,1,15,4,337,3895.0,271617101 +1100105,57,2716172,1,20,1,15,3,1,1,1,15,4,5615,7670.0,271617201 +1100105,57,2716173,1,18,2,-9,-9,6,1,1,15,4,,,271617301 +1100105,57,2716174,1,20,1,25,3,1,6,1,15,4,6241,8370.0,271617401 +1100105,57,2716175,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271617501 +1100105,57,2716176,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271617601 +1100105,57,2716177,1,20,1,40,4,2,1,1,15,4,722Z,8680.0,271617701 +1100105,57,2716178,1,19,2,-9,-9,6,1,1,15,4,,,271617801 +1100105,57,2716179,1,21,2,10,4,6,1,1,15,4,611M1,7870.0,271617901 +1100105,57,2716180,1,18,1,24,6,6,1,1,15,4,722Z,8680.0,271618001 +1100105,57,2716181,1,23,2,-9,-9,6,2,1,16,4,6111,7860.0,271618101 +1100105,57,2716182,1,18,1,45,6,6,1,1,15,4,923,9480.0,271618201 +1100105,57,2716183,1,21,2,50,6,3,2,1,15,4,721M,8670.0,271618301 +1100105,57,2716184,1,20,2,4,5,6,1,1,15,4,814,9290.0,271618401 +1100105,57,2716185,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271618501 +1100105,57,2716186,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,271618601 +1100105,57,2716187,1,18,2,-9,-9,6,2,24,15,4,,,271618701 +1100105,57,2716188,1,21,1,16,4,1,1,1,15,4,622M,8191.0,271618801 +1100105,57,2716189,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271618901 +1100105,57,2716190,1,20,2,-9,-9,6,2,1,15,4,,,271619001 +1100105,57,2716191,1,20,1,-9,-9,6,1,1,15,4,711M,8563.0,271619101 +1100105,57,2716192,1,21,2,-9,-9,6,2,1,15,4,4523,5391.0,271619201 +1100105,57,2716193,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271619301 +1100105,57,2716194,1,20,2,20,1,1,2,1,15,4,6241,8370.0,271619401 +1100105,57,2716195,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271619501 +1100105,57,2716196,1,19,1,6,1,1,1,1,15,4,622M,8191.0,271619601 +1100105,57,2716197,1,20,2,-9,-9,6,2,1,15,4,,,271619701 +1100105,57,2716198,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,271619801 +1100105,57,2716199,1,18,2,-9,-9,6,6,1,15,4,,,271619901 +1100105,57,2716200,1,22,2,20,6,6,2,1,15,4,6231,8270.0,271620001 +1100105,57,2716201,1,23,2,20,1,1,1,1,16,4,6241,8370.0,271620101 +1100105,57,2716202,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271620201 +1100105,57,2716203,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,271620301 +1100105,57,2716204,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271620401 +1100105,57,2716205,1,18,2,-9,-9,6,2,1,15,4,,,271620501 +1100105,57,2716206,1,23,1,32,1,2,1,1,15,2,622M,8191.0,271620601 +1100105,57,2716207,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,271620701 +1100105,57,2716208,1,21,1,12,6,1,1,1,15,4,611M1,7870.0,271620801 +1100105,57,2716209,1,18,2,-9,-9,6,1,24,15,4,,,271620901 +1100105,57,2716210,1,18,1,10,6,6,1,1,15,4,6111,7860.0,271621001 +1100105,57,2716211,1,24,2,-9,-9,6,2,1,16,4,,,271621101 +1100105,57,2716212,1,19,1,-9,-9,6,1,1,15,4,,,271621201 +1100105,57,2716213,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,271621301 +1100105,57,2716214,1,19,2,30,5,6,1,1,15,4,713Z,8590.0,271621401 +1100105,57,2716215,1,19,2,-9,-9,6,2,1,15,4,,,271621501 +1100105,57,2716216,1,19,2,-9,-9,6,1,1,15,4,722Z,8680.0,271621601 +1100105,57,2716217,1,19,2,-9,-9,6,1,1,15,4,,,271621701 +1100105,57,2716218,1,21,2,15,6,6,1,1,15,4,4481,5170.0,271621801 +1100105,57,2716219,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271621901 +1100105,57,2716220,1,20,2,-9,-9,6,2,1,15,4,,,271622001 +1100105,57,2716221,1,20,2,20,3,1,1,1,15,4,44821,5180.0,271622101 +1100105,57,2716222,1,21,2,-9,-9,6,1,1,15,4,,,271622201 +1100105,57,2716223,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271622301 +1100105,57,2716224,1,22,2,18,5,3,1,1,16,4,4481,5170.0,271622401 +1100105,57,2716225,1,18,1,30,6,6,2,1,15,4,722Z,8680.0,271622501 +1100105,57,2716226,1,18,1,10,4,1,1,1,15,4,721M,8670.0,271622601 +1100105,57,2716227,1,22,2,20,6,6,2,1,15,4,6231,8270.0,271622701 +1100105,57,2716228,1,18,2,20,6,6,2,1,15,4,6111,7860.0,271622801 +1100105,57,2716229,1,18,2,-9,-9,6,1,1,15,4,7111,8561.0,271622901 +1100105,57,2716230,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271623001 +1100105,57,2716231,1,19,2,10,6,6,1,1,15,4,315M,1691.0,271623101 +1100105,57,2716232,1,21,2,-9,-9,6,2,1,15,4,6111,7860.0,271623201 +1100105,57,2716233,1,18,2,-9,-9,6,1,1,15,4,,,271623301 +1100105,57,2716234,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,271623401 +1100105,57,2716235,1,21,1,40,6,6,2,1,15,4,4241,4370.0,271623501 +1100105,57,2716236,1,19,2,10,1,2,1,1,15,4,814,9290.0,271623601 +1100105,57,2716237,1,21,1,30,5,2,2,1,15,4,447,5090.0,271623701 +1100105,57,2716238,1,22,2,20,6,6,2,1,15,4,6231,8270.0,271623801 +1100105,57,2716239,1,17,2,-9,-9,6,2,1,15,4,,,271623901 +1100105,57,2716240,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271624001 +1100105,57,2716241,1,19,2,20,6,1,1,1,15,4,611M1,7870.0,271624101 +1100105,57,2716242,1,19,2,-9,-9,6,2,1,15,4,,,271624201 +1100105,57,2716243,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271624301 +1100105,57,2716244,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271624401 +1100105,57,2716245,1,21,1,-9,-9,6,2,1,15,4,,,271624501 +1100105,57,2716246,1,23,1,30,1,1,2,1,15,4,5616,7680.0,271624601 +1100105,57,2716247,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271624701 +1100105,57,2716248,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,271624801 +1100105,57,2716249,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,271624901 +1100105,57,2716250,1,18,2,-9,-9,6,2,1,15,4,,,271625001 +1100105,57,2716251,1,19,2,-9,-9,6,1,1,15,4,,,271625101 +1100105,57,2716252,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271625201 +1100105,57,2716253,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271625301 +1100105,57,2716254,1,18,2,-9,-9,6,1,1,15,4,,,271625401 +1100105,57,2716255,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,271625501 +1100105,57,2716256,1,19,2,40,6,6,1,1,15,4,923,9480.0,271625601 +1100105,57,2716257,1,21,2,-9,-9,6,1,1,15,4,,,271625701 +1100105,57,2716258,1,18,2,-9,-9,6,2,1,15,4,,,271625801 +1100105,57,2716259,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271625901 +1100105,57,2716260,1,21,2,-9,-9,6,2,1,15,4,6111,7860.0,271626001 +1100105,57,2716261,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271626101 +1100105,57,2716262,1,20,2,35,5,1,1,1,15,4,928P,9590.0,271626201 +1100105,57,2716263,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271626301 +1100105,57,2716264,1,20,1,25,6,6,2,1,15,4,6231,8270.0,271626401 +1100105,57,2716265,1,22,2,20,5,1,2,1,15,4,611M1,7870.0,271626501 +1100105,57,2716266,1,19,2,-9,-9,6,1,1,15,4,,,271626601 +1100105,57,2716267,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271626701 +1100105,57,2716268,1,18,2,28,4,6,2,1,15,4,722Z,8680.0,271626801 +1100105,57,2716269,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271626901 +1100105,57,2716270,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271627001 +1100105,57,2716271,1,17,2,-9,-9,6,2,1,15,4,,,271627101 +1100105,57,2716272,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,271627201 +1100105,57,2716273,1,21,2,15,6,6,1,1,15,4,4481,5170.0,271627301 +1100105,57,2716274,1,20,2,-9,-9,6,1,1,15,4,,,271627401 +1100105,57,2716275,1,18,2,40,5,6,6,1,15,4,712,8570.0,271627501 +1100105,57,2716276,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,271627601 +1100105,57,2716277,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271627701 +1100105,57,2716278,1,20,2,8,4,1,6,1,15,4,611M1,7870.0,271627801 +1100105,57,2716279,1,21,2,10,4,6,1,1,15,4,611M1,7870.0,271627901 +1100105,57,2716280,1,21,2,-9,-9,6,2,1,15,4,,,271628001 +1100105,57,2716281,1,20,1,30,4,2,1,1,15,4,621M,8180.0,271628101 +1100105,57,2716282,1,19,2,16,6,6,1,1,15,4,713Z,8590.0,271628201 +1100105,57,2716283,1,20,1,30,6,6,1,1,15,4,488,6290.0,271628301 +1100105,57,2716284,1,21,2,-9,-9,6,2,1,15,4,,,271628401 +1100105,57,2716285,1,19,2,-9,-9,6,6,1,15,4,,,271628501 +1100105,57,2716286,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271628601 +1100105,57,2716287,1,20,1,16,4,6,1,1,15,4,7211,8660.0,271628701 +1100105,57,2716288,1,17,1,17,6,1,1,1,15,4,4539,5580.0,271628801 +1100105,57,2716289,1,23,2,40,3,6,9,1,16,4,611M3,7890.0,271628901 +1100105,57,2716290,1,19,2,30,5,6,1,1,15,4,622M,8191.0,271629001 +1100105,57,2716291,1,20,2,18,5,3,1,1,15,4,4481,5170.0,271629101 +1100105,57,2716292,1,18,1,45,6,6,1,3,15,4,721M,8670.0,271629201 +1100105,57,2716293,1,18,1,-9,-9,6,1,1,15,4,,,271629301 +1100105,57,2716294,1,21,2,20,1,1,8,21,15,4,722Z,8680.0,271629401 +1100105,57,2716295,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271629501 +1100105,57,2716296,1,18,1,6,1,1,1,1,15,4,622M,8191.0,271629601 +1100105,57,2716297,1,21,2,-9,-9,6,2,1,15,4,,,271629701 +1100105,57,2716298,1,22,2,30,6,6,1,1,15,4,5111Z,6480.0,271629801 +1100105,57,2716299,1,19,2,15,6,6,1,1,15,4,713Z,8590.0,271629901 +1100105,57,2716300,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,271630001 +1100105,57,2716301,1,23,1,32,1,2,1,1,15,2,622M,8191.0,271630101 +1100105,57,2716302,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,271630201 +1100105,57,2716303,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271630301 +1100105,57,2716304,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271630401 +1100105,57,2716305,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271630501 +1100105,57,2716306,1,19,2,-9,-9,6,6,1,15,4,,,271630601 +1100105,57,2716307,1,19,1,-9,-9,6,2,1,15,4,,,271630701 +1100105,57,2716308,1,18,1,7,1,1,9,1,15,4,611M1,7870.0,271630801 +1100105,57,2716309,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271630901 +1100105,57,2716310,1,20,2,18,5,1,2,1,15,4,722Z,8680.0,271631001 +1100105,57,2716311,1,21,1,12,5,6,2,1,15,4,713Z,8590.0,271631101 +1100105,57,2716312,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,271631201 +1100105,57,2716313,1,20,1,-9,-9,6,1,1,15,4,,,271631301 +1100105,57,2716314,1,18,1,35,4,1,2,1,15,4,611M1,7870.0,271631401 +1100105,57,2716315,1,18,2,7,4,1,2,1,15,4,713Z,8590.0,271631501 +1100105,57,2716316,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271631601 +1100105,57,2716317,1,20,2,6,5,2,1,1,15,4,712,8570.0,271631701 +1100105,57,2716318,1,20,2,-9,-9,6,1,1,15,4,,,271631801 +1100105,57,2716319,1,18,2,20,6,6,1,1,15,4,8129,9090.0,271631901 +1100105,57,2716320,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271632001 +1100105,57,2716321,1,19,2,20,6,6,1,1,15,4,722Z,8680.0,271632101 +1100105,57,2716322,1,19,1,24,5,1,1,1,15,4,4539,5580.0,271632201 +1100105,57,2716323,1,19,2,-9,-9,6,1,1,15,4,,,271632301 +1100105,57,2716324,1,20,2,-9,-9,6,1,1,15,4,,,271632401 +1100105,57,2716325,1,19,1,-9,-9,6,1,1,15,4,,,271632501 +1100105,57,2716326,1,20,2,3,6,6,1,1,15,4,611M3,7890.0,271632601 +1100105,57,2716327,1,19,1,-9,-9,6,1,1,15,4,,,271632701 +1100105,57,2716328,1,19,1,-9,-9,6,2,1,15,4,51111,6470.0,271632801 +1100105,57,2716329,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271632901 +1100105,57,2716330,1,18,2,20,1,6,1,1,15,4,111,170.0,271633001 +1100105,57,2716331,1,19,1,10,4,1,1,1,15,4,721M,8670.0,271633101 +1100105,57,2716332,1,21,2,30,3,6,1,1,15,4,611M1,7870.0,271633201 +1100105,57,2716333,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271633301 +1100105,57,2716334,1,29,2,-9,-9,6,6,1,16,4,,,271633401 +1100105,57,2716335,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271633501 +1100105,57,2716336,1,19,2,-9,-9,6,2,1,15,4,,,271633601 +1100105,57,2716337,1,19,1,50,6,6,2,1,15,4,311M2,1280.0,271633701 +1100105,57,2716338,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271633801 +1100105,57,2716339,1,21,2,-9,-9,6,2,1,15,4,,,271633901 +1100105,57,2716340,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271634001 +1100105,57,2716341,1,20,2,20,3,1,1,1,15,4,44821,5180.0,271634101 +1100105,57,2716342,1,20,1,16,4,6,1,1,15,4,7211,8660.0,271634201 +1100105,57,2716343,1,19,2,15,6,6,1,1,15,4,713Z,8590.0,271634301 +1100105,57,2716344,1,18,2,-9,-9,3,1,1,15,4,45221,5381.0,271634401 +1100105,57,2716345,1,22,2,20,1,1,1,1,15,4,611M1,7870.0,271634501 +1100105,57,2716346,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271634601 +1100105,57,2716347,1,18,1,-9,-9,6,6,1,15,4,611M3,7890.0,271634701 +1100105,57,2716348,1,23,1,9,4,1,1,1,15,4,713Z,8590.0,271634801 +1100105,57,2716349,1,22,1,40,1,1,1,1,15,4,5415,7380.0,271634901 +1100105,57,2716350,1,18,2,-9,-9,6,1,1,15,4,,,271635001 +1100105,57,2716351,1,20,1,12,4,1,6,1,15,4,611M1,7870.0,271635101 +1100105,57,2716352,1,18,1,5,6,6,2,1,15,4,928P,9590.0,271635201 +1100105,57,2716353,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271635301 +1100105,57,2716354,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271635401 +1100105,57,2716355,1,19,2,30,5,6,9,1,15,4,713Z,8590.0,271635501 +1100105,57,2716356,1,20,2,-9,-9,6,2,1,15,4,,,271635601 +1100105,57,2716357,1,21,2,-9,-9,6,2,1,15,4,6111,7860.0,271635701 +1100105,57,2716358,1,20,1,10,3,1,2,1,15,4,611M1,7870.0,271635801 +1100105,57,2716359,1,20,2,15,1,1,9,1,15,4,721M,8670.0,271635901 +1100105,57,2716360,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271636001 +1100105,57,2716361,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271636101 +1100105,57,2716362,1,20,1,25,3,1,6,1,15,4,6241,8370.0,271636201 +1100105,57,2716363,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271636301 +1100105,57,2716364,1,21,2,-9,-9,6,2,1,15,4,4523,5391.0,271636401 +1100105,57,2716365,1,18,2,-9,-9,6,1,1,15,4,,,271636501 +1100105,57,2716366,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271636601 +1100105,57,2716367,1,20,2,-9,-9,6,1,1,15,4,,,271636701 +1100105,57,2716368,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,271636801 +1100105,57,2716369,1,19,2,24,5,6,1,1,15,4,722Z,8680.0,271636901 +1100105,57,2716370,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271637001 +1100105,57,2716371,1,21,1,30,5,2,2,1,15,4,447,5090.0,271637101 +1100105,57,2716372,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271637201 +1100105,57,2716373,1,22,2,30,6,6,1,1,15,4,5111Z,6480.0,271637301 +1100105,57,2716374,1,24,2,5,5,6,1,1,16,4,611M1,7870.0,271637401 +1100105,57,2716375,1,18,1,-9,-9,6,1,1,15,4,,,271637501 +1100105,57,2716376,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271637601 +1100105,57,2716377,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271637701 +1100105,57,2716378,1,20,2,40,4,1,6,1,15,4,8139Z,9190.0,271637801 +1100105,57,2716379,1,20,2,10,6,1,1,24,15,4,814,9290.0,271637901 +1100105,57,2716380,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,271638001 +1100105,57,2716381,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271638101 +1100105,57,2716382,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,271638201 +1100105,57,2716383,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271638301 +1100105,57,2716384,1,24,2,-9,-9,6,2,1,15,4,,,271638401 +1100105,57,2716385,1,18,2,-9,-9,6,1,3,15,4,,,271638501 +1100105,57,2716386,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271638601 +1100105,57,2716387,1,18,1,80,5,6,1,1,15,4,721M,8670.0,271638701 +1100105,57,2716388,1,18,1,-9,-9,6,1,1,15,4,,,271638801 +1100105,57,2716389,1,19,2,20,3,1,2,1,15,4,611M1,7870.0,271638901 +1100105,57,2716390,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,271639001 +1100105,57,2716391,1,19,1,10,4,2,1,1,15,4,611M1,7870.0,271639101 +1100105,57,2716392,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271639201 +1100105,57,2716393,1,20,1,50,6,1,2,1,15,4,611M1,7870.0,271639301 +1100105,57,2716394,1,19,2,48,4,1,1,2,15,4,722Z,8680.0,271639401 +1100105,57,2716395,1,18,2,-9,-9,6,1,1,15,4,,,271639501 +1100105,57,2716396,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271639601 +1100105,57,2716397,1,18,2,10,6,6,2,1,15,4,4481,5170.0,271639701 +1100105,57,2716398,1,19,2,10,6,6,2,1,15,4,4481,5170.0,271639801 +1100105,57,2716399,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271639901 +1100105,57,2716400,1,20,2,-9,-9,6,2,1,15,4,,,271640001 +1100105,57,2716401,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,271640101 +1100105,57,2716402,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271640201 +1100105,57,2716403,1,18,1,-9,-9,6,6,1,15,4,,,271640301 +1100105,57,2716404,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,271640401 +1100105,57,2716405,1,18,1,28,6,6,2,1,15,4,23,770.0,271640501 +1100105,57,2716406,1,19,2,15,4,6,2,1,15,4,45121,5370.0,271640601 +1100105,57,2716407,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,271640701 +1100105,57,2716408,1,20,2,8,4,1,1,1,15,4,611M3,7890.0,271640801 +1100105,57,2716409,1,22,1,15,5,1,1,1,15,4,92113,9380.0,271640901 +1100105,57,2716410,1,18,2,-9,-9,6,2,1,15,4,,,271641001 +1100105,57,2716411,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271641101 +1100105,57,2716412,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,271641201 +1100105,57,2716413,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271641301 +1100105,57,2716414,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,271641401 +1100105,57,2716415,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,271641501 +1100105,57,2716416,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,271641601 +1100105,57,2716417,1,18,2,20,3,6,1,1,15,4,44611,5070.0,271641701 +1100105,57,2716418,1,19,1,-9,-9,6,1,1,15,4,531M,7071.0,271641801 +1100105,57,2716419,1,20,1,40,6,6,1,1,15,4,522M,6890.0,271641901 +1100105,57,2716420,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271642001 +1100105,57,2716421,1,19,1,40,6,6,1,1,15,4,713Z,8590.0,271642101 +1100105,57,2716422,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271642201 +1100105,57,2716423,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271642301 +1100105,57,2716424,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271642401 +1100105,57,2716425,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,271642501 +1100105,57,2716426,1,20,2,45,4,6,1,1,15,4,4481,5170.0,271642601 +1100105,57,2716427,1,20,2,3,6,6,1,1,15,4,611M3,7890.0,271642701 +1100105,57,2716428,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,271642801 +1100105,57,2716429,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271642901 +1100105,57,2716430,1,18,2,-9,-9,6,2,1,15,4,,,271643001 +1100105,57,2716431,1,20,2,-9,-9,6,2,1,15,4,,,271643101 +1100105,57,2716432,1,20,2,10,4,1,6,1,15,4,611M3,7890.0,271643201 +1100105,57,2716433,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271643301 +1100105,57,2716434,1,20,1,30,4,2,1,1,15,4,621M,8180.0,271643401 +1100105,57,2716435,1,18,2,-9,-9,6,1,1,15,4,,,271643501 +1100105,57,2716436,1,28,1,40,1,1,1,1,16,4,8122,9080.0,271643601 +1100105,57,2716437,1,25,2,20,3,1,1,1,16,4,611M1,7870.0,271643701 +1100105,57,2716438,1,21,1,15,5,2,1,1,15,2,4523,5391.0,271643801 +1100105,57,2716439,1,26,1,20,6,6,2,1,16,4,92119,9390.0,271643901 +1100105,57,2716440,1,20,2,8,5,1,1,1,15,4,611M1,7870.0,271644001 +1100105,57,2716441,1,19,2,20,6,6,1,1,15,4,722Z,8680.0,271644101 +1100105,57,2716442,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271644201 +1100105,57,2716443,1,18,2,10,6,6,2,1,15,4,4481,5170.0,271644301 +1100105,57,2716444,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271644401 +1100105,57,2716445,1,19,2,20,6,1,1,1,15,4,611M1,7870.0,271644501 +1100105,57,2716446,1,20,1,26,3,1,1,1,15,4,712,8570.0,271644601 +1100105,57,2716447,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271644701 +1100105,57,2716448,1,19,2,-9,-9,6,1,1,15,4,,,271644801 +1100105,57,2716449,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271644901 +1100105,57,2716450,1,18,1,15,6,6,2,1,15,4,722Z,8680.0,271645001 +1100105,57,2716451,1,20,2,25,5,6,1,1,15,4,4481,5170.0,271645101 +1100105,57,2716452,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271645201 +1100105,57,2716453,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271645301 +1100105,57,2716454,1,21,2,-9,-9,6,2,1,15,4,,,271645401 +1100105,57,2716455,1,20,2,-9,-9,6,1,1,15,4,,,271645501 +1100105,57,2716456,1,22,2,-9,-9,6,2,1,15,4,6111,7860.0,271645601 +1100105,57,2716457,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271645701 +1100105,57,2716458,1,18,2,12,6,6,1,1,15,4,712,8570.0,271645801 +1100105,57,2716459,1,18,2,40,5,6,6,1,15,4,712,8570.0,271645901 +1100105,57,2716460,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271646001 +1100105,57,2716461,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271646101 +1100105,57,2716462,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271646201 +1100105,57,2716463,1,22,2,20,6,6,2,1,15,4,6231,8270.0,271646301 +1100105,57,2716464,1,19,2,6,6,6,1,1,15,4,4481,5170.0,271646401 +1100105,57,2716465,1,20,2,45,4,6,1,1,15,4,4481,5170.0,271646501 +1100105,57,2716466,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,271646601 +1100105,57,2716467,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,271646701 +1100105,57,2716468,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271646801 +1100105,57,2716469,1,22,2,20,6,6,2,1,15,4,713Z,8590.0,271646901 +1100105,57,2716470,1,20,1,-9,-9,6,1,16,15,4,,,271647001 +1100105,57,2716471,1,19,1,15,6,1,1,1,15,4,4481,5170.0,271647101 +1100105,57,2716472,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271647201 +1100105,57,2716473,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271647301 +1100105,57,2716474,1,18,1,50,6,3,2,1,15,4,5614,7590.0,271647401 +1100105,57,2716475,1,19,1,40,6,1,1,1,15,4,487,6280.0,271647501 +1100105,57,2716476,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271647601 +1100105,57,2716477,1,18,2,3,6,1,1,1,15,4,611M3,7890.0,271647701 +1100105,57,2716478,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271647801 +1100105,57,2716479,1,18,1,-9,-9,6,1,1,15,4,,,271647901 +1100105,57,2716480,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271648001 +1100105,57,2716481,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,271648101 +1100105,57,2716482,1,32,2,-9,-9,6,6,1,16,4,,,271648201 +1100105,57,2716483,1,19,2,-9,-9,6,1,1,15,4,,,271648301 +1100105,57,2716484,1,20,2,-9,-9,6,1,1,15,4,,,271648401 +1100105,57,2716485,1,20,1,50,6,1,2,1,15,4,611M1,7870.0,271648501 +1100105,57,2716486,1,20,1,-9,-9,6,6,1,15,4,,,271648601 +1100105,57,2716487,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271648701 +1100105,57,2716488,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,271648801 +1100105,57,2716489,1,20,2,-9,-9,6,6,1,15,4,,,271648901 +1100105,57,2716490,1,22,1,50,6,1,2,1,15,4,51913,6672.0,271649001 +1100105,57,2716491,1,18,2,8,5,1,1,1,15,4,611M1,7870.0,271649101 +1100105,57,2716492,1,46,2,20,1,2,2,1,16,4,611M1,7870.0,271649201 +1100105,57,2716493,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271649301 +1100105,57,2716494,1,21,2,15,6,6,8,24,15,4,4481,5170.0,271649401 +1100105,57,2716495,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,271649501 +1100105,57,2716496,1,20,2,-9,-9,6,1,1,15,4,,,271649601 +1100105,57,2716497,1,21,2,-9,-9,6,2,1,15,4,,,271649701 +1100105,57,2716498,1,18,2,-9,-9,6,2,1,15,4,,,271649801 +1100105,57,2716499,1,18,1,10,5,6,1,1,15,4,6211,7970.0,271649901 +1100105,57,2716500,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271650001 +1100105,57,2716501,1,33,2,35,4,3,2,1,15,4,6231,8270.0,271650101 +1100105,57,2716502,1,24,2,5,5,6,1,1,16,4,611M1,7870.0,271650201 +1100105,57,2716503,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271650301 +1100105,57,2716504,1,20,1,25,6,6,1,4,15,4,713Z,8590.0,271650401 +1100105,57,2716505,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271650501 +1100105,57,2716506,1,20,2,32,6,6,1,1,15,4,722Z,8680.0,271650601 +1100105,57,2716507,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271650701 +1100105,57,2716508,1,18,1,16,6,6,2,1,15,4,611M2,7880.0,271650801 +1100105,57,2716509,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271650901 +1100105,57,2716510,1,18,1,24,6,6,1,1,15,4,722Z,8680.0,271651001 +1100105,57,2716511,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271651101 +1100105,57,2716512,1,19,2,-9,-9,6,2,1,15,4,,,271651201 +1100105,57,2716513,1,21,2,-9,-9,6,2,1,15,4,,,271651301 +1100105,57,2716514,1,20,2,6,5,1,1,1,15,4,4481,5170.0,271651401 +1100105,57,2716515,1,19,2,30,5,6,9,1,15,4,713Z,8590.0,271651501 +1100105,57,2716516,1,20,1,26,3,1,1,1,15,4,712,8570.0,271651601 +1100105,57,2716517,1,18,2,-9,-9,6,6,1,15,4,,,271651701 +1100105,57,2716518,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271651801 +1100105,57,2716519,1,20,2,40,6,6,1,3,15,4,6211,7970.0,271651901 +1100105,57,2716520,1,19,2,-9,-9,6,1,1,15,4,722Z,8680.0,271652001 +1100105,57,2716521,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271652101 +1100105,57,2716522,1,18,1,16,6,6,2,1,15,4,611M2,7880.0,271652201 +1100105,57,2716523,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271652301 +1100105,57,2716524,1,21,1,16,4,1,1,1,15,4,622M,8191.0,271652401 +1100105,57,2716525,1,18,2,10,4,6,1,1,15,4,44511,4971.0,271652501 +1100105,57,2716526,1,19,1,-9,-9,6,1,1,15,4,,,271652601 +1100105,57,2716527,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271652701 +1100105,57,2716528,1,22,2,18,5,3,1,1,16,4,4481,5170.0,271652801 +1100105,57,2716529,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271652901 +1100105,57,2716530,1,19,2,-9,-9,6,1,1,15,4,,,271653001 +1100105,57,2716531,1,20,1,-9,-9,6,2,1,15,4,,,271653101 +1100105,57,2716532,1,18,2,8,5,1,1,1,15,4,611M1,7870.0,271653201 +1100105,57,2716533,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271653301 +1100105,57,2716534,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,271653401 +1100105,57,2716535,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271653501 +1100105,57,2716536,1,20,2,18,5,1,2,1,15,4,722Z,8680.0,271653601 +1100105,57,2716537,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271653701 +1100105,57,2716538,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271653801 +1100105,57,2716539,1,19,1,10,4,1,1,1,15,4,721M,8670.0,271653901 +1100105,57,2716540,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,271654001 +1100105,57,2716541,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271654101 +1100105,57,2716542,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271654201 +1100105,57,2716543,1,18,2,20,1,1,1,1,15,4,722Z,8680.0,271654301 +1100105,57,2716544,1,19,1,23,4,6,1,17,15,4,44512,4972.0,271654401 +1100105,57,2716545,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,271654501 +1100105,57,2716546,1,21,2,-9,-9,6,2,1,15,4,,,271654601 +1100105,57,2716547,1,19,1,23,4,6,2,1,15,4,44511,4971.0,271654701 +1100105,57,2716548,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,271654801 +1100105,57,2716549,1,20,2,25,6,6,1,1,15,4,623M,8290.0,271654901 +1100105,57,2716550,1,17,2,-9,-9,6,2,1,15,4,,,271655001 +1100105,57,2716551,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271655101 +1100105,57,2716552,1,20,2,35,5,1,1,1,15,4,928P,9590.0,271655201 +1100105,57,2716553,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271655301 +1100105,57,2716554,1,22,1,20,6,6,1,1,15,4,3345,3380.0,271655401 +1100105,57,2716555,1,18,2,99,6,6,2,1,15,4,721M,8670.0,271655501 +1100105,57,2716556,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,271655601 +1100105,57,2716557,1,18,2,-9,-9,6,1,1,15,4,,,271655701 +1100105,57,2716558,1,19,2,30,6,6,6,1,15,4,4539,5580.0,271655801 +1100105,57,2716559,1,19,2,-9,-9,6,1,24,15,4,,,271655901 +1100105,57,2716560,1,22,1,15,4,2,2,1,15,4,4481,5170.0,271656001 +1100105,57,2716561,1,20,2,-9,-9,6,1,1,15,4,,,271656101 +1100105,57,2716562,1,18,2,99,6,6,2,1,15,4,721M,8670.0,271656201 +1100105,57,2716563,1,19,2,-9,-9,6,1,1,15,4,,,271656301 +1100105,57,2716564,1,21,2,-9,-9,6,1,1,15,4,23,770.0,271656401 +1100105,57,2716565,1,18,1,20,6,6,2,1,15,4,4442,4890.0,271656501 +1100105,57,2716566,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271656601 +1100105,57,2716567,1,18,1,16,6,6,2,1,15,4,611M2,7880.0,271656701 +1100105,57,2716568,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271656801 +1100105,57,2716569,1,21,2,10,4,1,2,1,15,4,611M1,7870.0,271656901 +1100105,57,2716570,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,271657001 +1100105,57,2716571,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271657101 +1100105,57,2716572,1,17,1,17,6,1,1,1,15,4,4539,5580.0,271657201 +1100105,57,2716573,1,20,2,17,1,1,1,1,15,4,4483,5190.0,271657301 +1100105,57,2716574,1,23,1,40,6,3,2,1,16,4,813M,9170.0,271657401 +1100105,57,2716575,1,19,2,25,1,1,1,24,15,4,44821,5180.0,271657501 +1100105,57,2716576,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271657601 +1100105,57,2716577,1,21,2,20,1,1,1,1,15,4,722Z,8680.0,271657701 +1100105,57,2716578,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271657801 +1100105,57,2716579,1,18,2,-9,-9,6,2,1,15,4,,,271657901 +1100105,57,2716580,1,21,1,30,5,2,2,1,15,4,447,5090.0,271658001 +1100105,57,2716581,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,271658101 +1100105,57,2716582,1,20,1,16,4,6,1,1,15,4,7211,8660.0,271658201 +1100105,57,2716583,1,19,1,4,6,6,6,1,15,4,611M3,7890.0,271658301 +1100105,57,2716584,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271658401 +1100105,57,2716585,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271658501 +1100105,57,2716586,1,19,1,23,4,6,1,17,15,4,44512,4972.0,271658601 +1100105,57,2716587,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271658701 +1100105,57,2716588,1,21,1,20,4,1,1,1,15,4,813M,9170.0,271658801 +1100105,57,2716589,1,21,2,-9,-9,6,2,1,15,4,,,271658901 +1100105,57,2716590,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,271659001 +1100105,57,2716591,1,19,1,-9,-9,6,1,1,15,4,,,271659101 +1100105,57,2716592,1,18,2,40,5,6,1,1,15,4,712,8570.0,271659201 +1100105,57,2716593,1,18,2,-9,-9,6,2,1,15,4,,,271659301 +1100105,57,2716594,1,21,1,20,4,1,1,2,15,4,485M,6180.0,271659401 +1100105,57,2716595,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271659501 +1100105,57,2716596,1,17,2,-9,-9,6,2,1,15,4,,,271659601 +1100105,57,2716597,1,21,2,-9,-9,6,2,1,15,4,,,271659701 +1100105,57,2716598,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271659801 +1100105,57,2716599,1,18,1,25,5,6,2,1,15,4,4453,4990.0,271659901 +1100105,57,2716600,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271660001 +1100105,57,2716601,1,19,2,-9,-9,6,1,1,15,4,,,271660101 +1100105,57,2716602,1,18,2,20,6,6,1,1,15,4,721M,8670.0,271660201 +1100105,57,2716603,1,18,2,-9,-9,6,2,24,15,4,,,271660301 +1100105,57,2716604,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271660401 +1100105,57,2716605,1,19,2,16,6,6,1,1,15,4,713Z,8590.0,271660501 +1100105,57,2716606,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271660601 +1100105,57,2716607,1,19,2,40,1,1,1,1,15,4,611M1,7870.0,271660701 +1100105,57,2716608,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271660801 +1100105,57,2716609,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271660901 +1100105,57,2716610,1,19,2,-9,-9,6,2,1,15,4,,,271661001 +1100105,57,2716611,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271661101 +1100105,57,2716612,1,21,1,12,6,1,1,1,15,4,611M1,7870.0,271661201 +1100105,57,2716613,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271661301 +1100105,57,2716614,1,19,2,8,3,1,1,1,15,4,611M1,7870.0,271661401 +1100105,57,2716615,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271661501 +1100105,57,2716616,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271661601 +1100105,57,2716617,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,271661701 +1100105,57,2716618,1,22,1,40,6,6,1,1,15,4,5413,7290.0,271661801 +1100105,57,2716619,1,18,1,-9,-9,6,1,1,15,4,,,271661901 +1100105,57,2716620,1,19,1,40,5,6,1,24,15,4,721M,8670.0,271662001 +1100105,57,2716621,1,18,1,8,5,1,1,1,15,4,611M1,7870.0,271662101 +1100105,57,2716622,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271662201 +1100105,57,2716623,1,20,2,-9,-9,6,2,1,15,4,,,271662301 +1100105,57,2716624,1,23,1,32,1,2,1,1,15,2,622M,8191.0,271662401 +1100105,57,2716625,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271662501 +1100105,57,2716626,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,271662601 +1100105,57,2716627,1,22,2,18,5,3,1,1,16,4,4481,5170.0,271662701 +1100105,57,2716628,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271662801 +1100105,57,2716629,1,22,2,-9,-9,6,2,1,15,4,,,271662901 +1100105,57,2716630,1,21,2,-9,-9,6,2,1,15,4,,,271663001 +1100105,57,2716631,1,21,2,20,4,1,2,1,15,4,611M1,7870.0,271663101 +1100105,57,2716632,1,18,2,10,6,6,1,1,15,4,5616,7680.0,271663201 +1100105,57,2716633,1,18,1,12,6,1,1,1,15,4,611M1,7870.0,271663301 +1100105,57,2716634,1,18,2,-9,-9,6,2,1,15,4,,,271663401 +1100105,57,2716635,1,21,2,20,5,1,2,1,15,4,611M1,7870.0,271663501 +1100105,57,2716636,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271663601 +1100105,57,2716637,1,19,1,28,6,6,2,11,15,4,23,770.0,271663701 +1100105,57,2716638,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271663801 +1100105,57,2716639,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271663901 +1100105,57,2716640,1,22,1,40,1,1,1,1,15,4,5415,7380.0,271664001 +1100105,57,2716641,1,22,2,-9,-9,6,2,1,15,4,6111,7860.0,271664101 +1100105,57,2716642,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,271664201 +1100105,57,2716643,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271664301 +1100105,57,2716644,1,18,1,25,5,6,2,1,15,4,4453,4990.0,271664401 +1100105,57,2716645,1,22,2,20,1,1,1,1,15,4,611M1,7870.0,271664501 +1100105,57,2716646,1,21,2,20,6,6,2,1,15,4,6241,8370.0,271664601 +1100105,57,2716647,1,23,2,-9,-9,6,8,11,16,4,,,271664701 +1100105,57,2716648,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271664801 +1100105,57,2716649,1,19,2,40,5,6,1,1,15,4,712,8570.0,271664901 +1100105,57,2716650,1,22,1,24,6,6,2,1,15,4,4481,5170.0,271665001 +1100105,57,2716651,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271665101 +1100105,57,2716652,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271665201 +1100105,57,2716653,1,17,1,30,6,6,2,1,15,4,4481,5170.0,271665301 +1100105,57,2716654,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271665401 +1100105,57,2716655,1,20,2,-9,-9,6,6,1,15,4,,,271665501 +1100105,57,2716656,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271665601 +1100105,57,2716657,1,19,1,23,4,6,1,1,15,4,44512,4972.0,271665701 +1100105,57,2716658,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271665801 +1100105,57,2716659,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,271665901 +1100105,57,2716660,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271666001 +1100105,57,2716661,1,22,2,20,6,6,2,1,15,4,713Z,8590.0,271666101 +1100105,57,2716662,1,21,2,-9,-9,6,1,1,15,4,,,271666201 +1100105,57,2716663,1,20,1,-9,-9,6,1,1,15,4,,,271666301 +1100105,57,2716664,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271666401 +1100105,57,2716665,1,21,2,20,1,1,2,1,15,4,722Z,8680.0,271666501 +1100105,57,2716666,1,19,2,24,5,6,1,1,15,4,722Z,8680.0,271666601 +1100105,57,2716667,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271666701 +1100105,57,2716668,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271666801 +1100105,57,2716669,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,271666901 +1100105,57,2716670,1,22,2,20,6,6,2,1,15,4,713Z,8590.0,271667001 +1100105,57,2716671,1,21,2,40,3,6,1,16,15,4,623M,8290.0,271667101 +1100105,57,2716672,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271667201 +1100105,57,2716673,1,22,2,20,6,6,2,1,15,4,6231,8270.0,271667301 +1100105,57,2716674,1,18,1,6,1,1,1,1,15,4,622M,8191.0,271667401 +1100105,57,2716675,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271667501 +1100105,57,2716676,1,21,1,12,6,1,1,1,15,4,611M1,7870.0,271667601 +1100105,57,2716677,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,271667701 +1100105,57,2716678,1,18,1,-9,-9,6,2,1,15,4,,,271667801 +1100105,57,2716679,1,22,2,8,5,1,1,1,15,4,611M1,7870.0,271667901 +1100105,57,2716680,1,21,2,-9,-9,6,1,1,15,4,,,271668001 +1100105,57,2716681,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271668101 +1100105,57,2716682,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271668201 +1100105,57,2716683,1,17,1,17,6,1,1,1,15,4,4539,5580.0,271668301 +1100105,57,2716684,1,22,2,-9,-9,6,2,1,15,4,,,271668401 +1100105,57,2716685,1,18,1,35,4,6,2,1,15,4,713Z,8590.0,271668501 +1100105,57,2716686,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271668601 +1100105,57,2716687,1,21,2,-9,-9,6,1,1,15,4,,,271668701 +1100105,57,2716688,1,20,1,20,6,6,2,1,15,4,813M,9170.0,271668801 +1100105,57,2716689,1,18,2,40,3,1,1,1,15,4,611M3,7890.0,271668901 +1100105,57,2716690,1,20,2,15,4,1,1,1,15,4,6111,7860.0,271669001 +1100105,57,2716691,1,21,2,-9,-9,6,1,1,15,4,,,271669101 +1100105,57,2716692,1,18,2,-9,-9,6,1,1,15,4,,,271669201 +1100105,57,2716693,1,33,2,35,4,3,2,1,15,4,6231,8270.0,271669301 +1100105,57,2716694,1,21,1,40,6,6,2,1,15,4,4241,4370.0,271669401 +1100105,57,2716695,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271669501 +1100105,57,2716696,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271669601 +1100105,57,2716697,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,271669701 +1100105,57,2716698,1,19,1,6,1,1,1,1,15,4,622M,8191.0,271669801 +1100105,57,2716699,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271669901 +1100105,57,2716700,1,20,2,4,5,6,1,1,15,4,814,9290.0,271670001 +1100105,57,2716701,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271670101 +1100105,57,2716702,1,18,2,-9,-9,6,2,1,15,4,,,271670201 +1100105,57,2716703,1,19,2,30,6,6,1,1,15,4,442,4770.0,271670301 +1100105,57,2716704,1,19,1,40,6,6,1,3,15,4,517Z,6690.0,271670401 +1100105,57,2716705,1,21,2,-9,-9,6,2,1,15,4,23,770.0,271670501 +1100105,57,2716706,1,18,2,-9,-9,6,2,1,15,4,,,271670601 +1100105,57,2716707,1,21,2,20,1,1,2,1,15,4,722Z,8680.0,271670701 +1100105,57,2716708,1,20,2,15,1,1,9,1,15,4,721M,8670.0,271670801 +1100105,57,2716709,1,20,1,25,3,1,6,1,15,4,6241,8370.0,271670901 +1100105,57,2716710,1,22,1,10,1,1,6,1,15,4,611M1,7870.0,271671001 +1100105,57,2716711,1,18,2,-9,-9,6,2,1,15,4,,,271671101 +1100105,57,2716712,1,23,2,40,3,6,9,1,16,4,611M3,7890.0,271671201 +1100105,57,2716713,1,18,2,-9,-9,6,1,1,15,4,,,271671301 +1100105,57,2716714,1,23,2,-9,-9,6,2,1,15,4,,,271671401 +1100105,57,2716715,1,21,1,12,5,6,2,1,15,4,713Z,8590.0,271671501 +1100105,57,2716716,1,19,1,28,6,6,2,11,15,4,23,770.0,271671601 +1100105,57,2716717,1,18,2,15,1,1,1,1,15,4,611M1,7870.0,271671701 +1100105,57,2716718,1,19,1,-9,-9,6,1,1,15,4,,,271671801 +1100105,57,2716719,1,19,2,20,6,6,1,1,15,4,722Z,8680.0,271671901 +1100105,57,2716720,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271672001 +1100105,57,2716721,1,20,2,-9,-9,6,1,1,15,4,,,271672101 +1100105,57,2716722,1,20,1,40,5,3,2,1,15,4,54194,7480.0,271672201 +1100105,57,2716723,1,21,2,6,4,1,1,1,15,4,611M1,7870.0,271672301 +1100105,57,2716724,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271672401 +1100105,57,2716725,1,19,2,-9,-9,6,2,1,15,4,,,271672501 +1100105,57,2716726,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271672601 +1100105,57,2716727,1,20,1,20,6,6,1,1,15,3,611M3,7890.0,271672701 +1100105,57,2716728,1,20,2,-9,-9,6,2,1,15,4,,,271672801 +1100105,57,2716729,1,18,1,45,6,6,1,3,15,4,721M,8670.0,271672901 +1100105,57,2716730,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271673001 +1100105,57,2716731,1,20,1,-9,-9,6,6,1,15,4,,,271673101 +1100105,57,2716732,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271673201 +1100105,57,2716733,1,20,2,-9,-9,6,1,1,15,4,,,271673301 +1100105,57,2716734,1,18,2,15,1,1,1,1,15,4,611M1,7870.0,271673401 +1100105,57,2716735,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271673501 +1100105,57,2716736,1,21,2,-9,-9,6,2,1,15,4,,,271673601 +1100105,57,2716737,1,19,2,-9,-9,6,1,1,15,4,722Z,8680.0,271673701 +1100105,57,2716738,1,20,1,10,3,1,2,1,15,4,611M1,7870.0,271673801 +1100105,57,2716739,1,18,1,10,5,6,1,1,15,4,6211,7970.0,271673901 +1100105,57,2716740,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271674001 +1100105,57,2716741,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271674101 +1100105,57,2716742,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271674201 +1100105,57,2716743,1,20,2,8,4,1,1,1,15,4,611M3,7890.0,271674301 +1100105,57,2716744,1,21,2,-9,-9,6,2,1,15,4,,,271674401 +1100105,57,2716745,1,18,2,20,1,1,1,1,15,4,722Z,8680.0,271674501 +1100105,57,2716746,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,271674601 +1100105,57,2716747,1,18,1,-9,-9,6,1,1,15,4,,,271674701 +1100105,57,2716748,1,19,2,3,6,6,1,1,15,4,6244,8470.0,271674801 +1100105,57,2716749,1,18,2,6,5,1,1,4,15,4,4481,5170.0,271674901 +1100105,57,2716750,1,18,2,-9,-9,6,1,3,15,4,,,271675001 +1100105,57,2716751,1,20,2,-9,-9,6,2,1,15,4,,,271675101 +1100105,57,2716752,1,20,2,18,5,1,2,1,15,4,722Z,8680.0,271675201 +1100105,57,2716753,1,20,1,40,6,3,2,1,15,4,5417,7460.0,271675301 +1100105,57,2716754,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271675401 +1100105,57,2716755,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271675501 +1100105,57,2716756,1,18,1,-9,-9,6,2,1,15,4,,,271675601 +1100105,57,2716757,1,26,1,20,6,6,2,1,16,4,92119,9390.0,271675701 +1100105,57,2716758,1,20,2,12,1,2,1,1,15,4,45121,5370.0,271675801 +1100105,57,2716759,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271675901 +1100105,57,2716760,1,21,1,10,1,1,2,1,15,4,611M1,7870.0,271676001 +1100105,57,2716761,1,18,2,8,6,6,1,1,15,4,712,8570.0,271676101 +1100105,57,2716762,1,19,2,-9,-9,6,1,1,15,4,722Z,8680.0,271676201 +1100105,57,2716763,1,22,1,40,5,6,6,1,15,4,51913,6672.0,271676301 +1100105,57,2716764,1,20,2,32,6,6,1,1,15,4,722Z,8680.0,271676401 +1100105,57,2716765,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,271676501 +1100105,57,2716766,1,18,2,-9,-9,6,1,1,15,4,,,271676601 +1100105,57,2716767,1,20,2,7,6,3,2,1,15,4,712,8570.0,271676701 +1100105,57,2716768,1,19,1,23,4,6,1,1,15,4,44512,4972.0,271676801 +1100105,57,2716769,1,18,2,6,5,1,1,4,15,4,4481,5170.0,271676901 +1100105,57,2716770,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271677001 +1100105,57,2716771,1,21,2,-9,-9,6,2,1,15,4,,,271677101 +1100105,57,2716772,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,271677201 +1100105,57,2716773,1,21,2,25,3,1,1,1,15,4,611M1,7870.0,271677301 +1100105,57,2716774,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271677401 +1100105,57,2716775,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271677501 +1100105,57,2716776,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271677601 +1100105,57,2716777,1,18,2,-9,-9,6,1,1,15,4,,,271677701 +1100105,57,2716778,1,21,2,-9,-9,6,2,1,15,4,,,271677801 +1100105,57,2716779,1,20,1,40,5,3,2,1,15,4,54194,7480.0,271677901 +1100105,57,2716780,1,21,2,-9,-9,6,2,1,15,4,,,271678001 +1100105,57,2716781,1,18,2,-9,-9,6,1,1,15,4,,,271678101 +1100105,57,2716782,1,19,1,40,6,1,1,1,15,4,487,6280.0,271678201 +1100105,57,2716783,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,271678301 +1100105,57,2716784,1,18,1,-9,-9,6,1,1,15,4,,,271678401 +1100105,57,2716785,1,19,2,10,6,6,2,1,15,4,4481,5170.0,271678501 +1100105,57,2716786,1,20,1,-9,-9,6,1,1,15,4,713Z,8590.0,271678601 +1100105,57,2716787,1,23,2,10,4,1,2,1,15,4,611M1,7870.0,271678701 +1100105,57,2716788,1,20,2,25,1,1,2,1,15,4,722Z,8680.0,271678801 +1100105,57,2716789,1,18,1,8,5,1,2,5,15,4,813M,9170.0,271678901 +1100105,57,2716790,1,20,2,-9,-9,6,6,1,15,4,,,271679001 +1100105,57,2716791,1,20,2,-9,-9,6,1,1,15,4,,,271679101 +1100105,57,2716792,1,20,1,25,4,1,1,1,15,4,611M1,7870.0,271679201 +1100105,57,2716793,1,20,2,3,6,6,1,1,15,4,611M3,7890.0,271679301 +1100105,57,2716794,1,25,2,-9,-9,6,2,1,16,4,,,271679401 +1100105,57,2716795,1,20,2,-9,-9,6,1,1,15,4,,,271679501 +1100105,57,2716796,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271679601 +1100105,57,2716797,1,19,1,-9,-9,6,1,1,15,4,,,271679701 +1100105,57,2716798,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271679801 +1100105,57,2716799,1,19,2,-9,-9,6,2,1,15,4,,,271679901 +1100105,57,2716800,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271680001 +1100105,57,2716801,1,19,1,23,4,6,1,1,15,4,44512,4972.0,271680101 +1100105,57,2716802,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271680201 +1100105,57,2716803,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271680301 +1100105,57,2716804,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271680401 +1100105,57,2716805,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,271680501 +1100105,57,2716806,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271680601 +1100105,57,2716807,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,271680701 +1100105,57,2716808,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271680801 +1100105,57,2716809,1,20,1,26,3,1,1,1,15,4,712,8570.0,271680901 +1100105,57,2716810,1,18,2,10,6,6,1,1,15,4,722Z,8680.0,271681001 +1100105,57,2716811,1,19,1,-9,-9,6,1,1,15,4,,,271681101 +1100105,57,2716812,1,18,1,14,5,1,1,1,15,4,611M1,7870.0,271681201 +1100105,57,2716813,1,20,2,7,6,3,2,1,15,4,712,8570.0,271681301 +1100105,57,2716814,1,21,1,-9,-9,6,2,1,15,4,,,271681401 +1100105,57,2716815,1,20,2,7,6,3,2,1,15,4,712,8570.0,271681501 +1100105,57,2716816,1,18,2,-9,-9,6,2,1,15,4,,,271681601 +1100105,57,2716817,1,24,2,-9,-9,6,2,1,15,4,,,271681701 +1100105,57,2716818,1,19,2,30,6,6,1,1,15,4,442,4770.0,271681801 +1100105,57,2716819,1,22,1,-9,-9,6,2,1,15,4,611M1,7870.0,271681901 +1100105,57,2716820,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,271682001 +1100105,57,2716821,1,22,2,20,6,6,2,1,15,4,713Z,8590.0,271682101 +1100105,57,2716822,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271682201 +1100105,57,2716823,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,271682301 +1100105,57,2716824,1,23,1,40,6,3,2,1,16,4,813M,9170.0,271682401 +1100105,57,2716825,1,18,2,-9,-9,6,2,1,15,4,,,271682501 +1100105,57,2716826,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271682601 +1100105,57,2716827,1,28,2,10,5,1,2,1,15,4,722Z,8680.0,271682701 +1100105,57,2716828,1,20,1,26,3,1,1,1,15,4,712,8570.0,271682801 +1100105,57,2716829,1,19,2,20,5,1,9,1,15,4,5415,7380.0,271682901 +1100105,57,2716830,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271683001 +1100105,57,2716831,1,19,2,20,4,1,2,1,15,4,5313,7072.0,271683101 +1100105,57,2716832,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,271683201 +1100105,57,2716833,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,271683301 +1100105,57,2716834,1,22,1,20,6,6,1,1,15,4,3345,3380.0,271683401 +1100105,57,2716835,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271683501 +1100105,57,2716836,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271683601 +1100105,57,2716837,1,19,2,-9,-9,6,6,1,15,4,,,271683701 +1100105,57,2716838,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,271683801 +1100105,57,2716839,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271683901 +1100105,57,2716840,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271684001 +1100105,57,2716841,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,271684101 +1100105,57,2716842,1,19,1,40,6,6,1,3,15,4,517Z,6690.0,271684201 +1100105,57,2716843,1,19,1,2,3,6,1,1,15,4,8131,9160.0,271684301 +1100105,57,2716844,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,271684401 +1100105,57,2716845,1,22,2,36,6,6,2,1,15,4,622M,8191.0,271684501 +1100105,57,2716846,1,19,1,40,6,1,1,1,15,4,487,6280.0,271684601 +1100105,57,2716847,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,271684701 +1100105,57,2716848,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271684801 +1100105,57,2716849,1,21,2,-9,-9,6,2,1,15,4,23,770.0,271684901 +1100105,57,2716850,1,18,1,23,4,6,2,1,15,4,44511,4971.0,271685001 +1100105,57,2716851,1,20,2,45,4,6,1,1,15,4,4481,5170.0,271685101 +1100105,57,2716852,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271685201 +1100105,57,2716853,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271685301 +1100105,57,2716854,1,21,2,20,6,6,2,1,15,4,6241,8370.0,271685401 +1100105,57,2716855,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271685501 +1100105,57,2716856,1,20,2,18,5,1,2,1,15,4,722Z,8680.0,271685601 +1100105,57,2716857,1,18,2,7,4,1,6,1,15,4,713Z,8590.0,271685701 +1100105,57,2716858,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271685801 +1100105,57,2716859,1,20,2,15,4,1,1,1,15,4,722Z,8680.0,271685901 +1100105,57,2716860,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271686001 +1100105,57,2716861,1,21,1,15,5,2,1,1,15,2,4523,5391.0,271686101 +1100105,57,2716862,1,19,2,30,6,6,1,1,15,4,442,4770.0,271686201 +1100105,57,2716863,1,19,2,-9,-9,6,6,1,15,4,,,271686301 +1100105,57,2716864,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271686401 +1100105,57,2716865,1,21,2,20,1,1,8,21,15,4,722Z,8680.0,271686501 +1100105,57,2716866,1,20,2,40,6,6,2,1,15,4,52M1,6870.0,271686601 +1100105,57,2716867,1,24,2,-9,-9,6,2,1,15,4,,,271686701 +1100105,57,2716868,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271686801 +1100105,57,2716869,1,19,2,-9,-9,6,1,1,15,4,722Z,8680.0,271686901 +1100105,57,2716870,1,18,1,40,6,6,2,19,15,4,5617Z,7690.0,271687001 +1100105,57,2716871,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271687101 +1100105,57,2716872,1,24,2,-9,-9,6,2,1,16,4,,,271687201 +1100105,57,2716873,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271687301 +1100105,57,2716874,1,20,2,40,6,6,1,3,15,4,6211,7970.0,271687401 +1100105,57,2716875,1,21,2,20,1,1,2,1,15,4,722Z,8680.0,271687501 +1100105,57,2716876,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271687601 +1100105,57,2716877,1,25,1,40,1,1,2,1,16,4,6216,8170.0,271687701 +1100105,57,2716878,1,18,1,50,6,6,1,1,15,4,5416,7390.0,271687801 +1100105,57,2716879,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271687901 +1100105,57,2716880,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271688001 +1100105,57,2716881,1,20,2,8,4,1,6,1,15,4,611M1,7870.0,271688101 +1100105,57,2716882,1,18,2,-9,-9,6,1,1,15,4,,,271688201 +1100105,57,2716883,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271688301 +1100105,57,2716884,1,19,1,-9,-9,6,6,1,15,4,,,271688401 +1100105,57,2716885,1,18,2,-9,-9,6,1,1,15,4,,,271688501 +1100105,57,2716886,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,271688601 +1100105,57,2716887,1,20,2,40,6,6,2,1,15,4,6211,7970.0,271688701 +1100105,57,2716888,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271688801 +1100105,57,2716889,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271688901 +1100105,57,2716890,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271689001 +1100105,57,2716891,1,19,1,50,6,6,2,1,15,4,311M2,1280.0,271689101 +1100105,57,2716892,1,21,1,30,5,1,2,1,15,4,23,770.0,271689201 +1100105,57,2716893,1,20,1,21,6,6,2,1,15,4,722Z,8680.0,271689301 +1100105,57,2716894,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271689401 +1100105,57,2716895,1,18,1,50,6,6,1,1,15,4,5416,7390.0,271689501 +1100105,57,2716896,1,18,1,-9,-9,6,1,1,15,4,,,271689601 +1100105,57,2716897,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271689701 +1100105,57,2716898,1,19,1,24,5,1,1,1,15,4,4539,5580.0,271689801 +1100105,57,2716899,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271689901 +1100105,57,2716900,1,18,2,20,6,6,1,1,15,4,721M,8670.0,271690001 +1100105,57,2716901,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271690101 +1100105,57,2716902,1,19,2,10,6,6,1,1,15,4,315M,1691.0,271690201 +1100105,57,2716903,1,18,2,-9,-9,6,2,1,15,4,,,271690301 +1100105,57,2716904,1,18,1,-9,-9,6,2,1,15,4,,,271690401 +1100105,57,2716905,1,18,2,-9,-9,6,1,1,15,4,,,271690501 +1100105,57,2716906,1,18,1,40,6,6,1,1,15,4,23,770.0,271690601 +1100105,57,2716907,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271690701 +1100105,57,2716908,1,18,2,-9,-9,6,1,1,15,4,,,271690801 +1100105,57,2716909,1,22,1,15,5,1,1,1,15,4,92113,9380.0,271690901 +1100105,57,2716910,1,19,1,10,6,6,9,1,15,4,813M,9170.0,271691001 +1100105,57,2716911,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271691101 +1100105,57,2716912,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271691201 +1100105,57,2716913,1,20,2,40,6,6,2,1,15,4,52M1,6870.0,271691301 +1100105,57,2716914,1,20,2,12,1,2,1,1,15,4,45121,5370.0,271691401 +1100105,57,2716915,1,19,2,3,6,6,1,1,15,4,6244,8470.0,271691501 +1100105,57,2716916,1,23,1,-9,-9,6,2,1,15,4,,,271691601 +1100105,57,2716917,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,271691701 +1100105,57,2716918,1,18,1,16,6,6,2,1,15,4,611M2,7880.0,271691801 +1100105,57,2716919,1,20,2,-9,-9,6,2,1,15,4,,,271691901 +1100105,57,2716920,1,18,2,-9,-9,6,2,1,15,4,,,271692001 +1100105,57,2716921,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271692101 +1100105,57,2716922,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271692201 +1100105,57,2716923,1,19,2,15,5,6,1,1,15,4,446Z,5080.0,271692301 +1100105,57,2716924,1,18,1,6,1,1,1,1,15,4,622M,8191.0,271692401 +1100105,57,2716925,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271692501 +1100105,57,2716926,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271692601 +1100105,57,2716927,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271692701 +1100105,57,2716928,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271692801 +1100105,57,2716929,1,19,1,9,6,6,1,1,15,4,722Z,8680.0,271692901 +1100105,57,2716930,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271693001 +1100105,57,2716931,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,271693101 +1100105,57,2716932,1,20,1,12,4,1,6,1,15,4,611M1,7870.0,271693201 +1100105,57,2716933,1,19,2,40,5,6,1,1,15,4,712,8570.0,271693301 +1100105,57,2716934,1,19,2,18,3,6,1,1,15,4,722Z,8680.0,271693401 +1100105,57,2716935,1,37,2,38,3,1,9,3,16,4,611M1,7870.0,271693501 +1100105,57,2716936,1,33,2,35,4,3,2,1,15,4,6231,8270.0,271693601 +1100105,57,2716937,1,18,1,8,5,1,1,1,15,4,611M1,7870.0,271693701 +1100105,57,2716938,1,18,2,40,5,6,6,1,15,4,712,8570.0,271693801 +1100105,57,2716939,1,28,1,40,1,1,1,1,16,4,8122,9080.0,271693901 +1100105,57,2716940,1,19,1,9,6,6,1,1,15,4,722Z,8680.0,271694001 +1100105,57,2716941,1,19,2,6,5,6,1,1,15,4,611M1,7870.0,271694101 +1100105,57,2716942,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271694201 +1100105,57,2716943,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271694301 +1100105,57,2716944,1,25,2,-9,-9,6,2,1,16,4,,,271694401 +1100105,57,2716945,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,271694501 +1100105,57,2716946,1,23,2,-9,-9,6,2,1,16,4,6111,7860.0,271694601 +1100105,57,2716947,1,21,2,40,1,6,2,1,15,4,515,6670.0,271694701 +1100105,57,2716948,1,19,1,20,6,6,1,1,15,4,5416,7390.0,271694801 +1100105,57,2716949,1,21,2,25,3,1,1,1,15,4,611M1,7870.0,271694901 +1100105,57,2716950,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271695001 +1100105,57,2716951,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271695101 +1100105,57,2716952,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271695201 +1100105,57,2716953,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271695301 +1100105,57,2716954,1,21,2,-9,-9,6,1,1,15,4,,,271695401 +1100105,57,2716955,1,22,2,20,6,6,2,1,15,4,713Z,8590.0,271695501 +1100105,57,2716956,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271695601 +1100105,57,2716957,1,19,2,-9,-9,6,2,1,15,4,,,271695701 +1100105,57,2716958,1,18,1,-9,-9,6,6,1,15,4,611M3,7890.0,271695801 +1100105,57,2716959,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271695901 +1100105,57,2716960,1,18,2,-9,-9,6,2,1,15,4,,,271696001 +1100105,57,2716961,1,18,2,-9,-9,6,2,1,15,4,,,271696101 +1100105,57,2716962,1,24,1,25,5,6,1,1,16,4,92M2,9570.0,271696201 +1100105,57,2716963,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,271696301 +1100105,57,2716964,1,18,1,-9,-9,6,2,1,15,4,51111,6470.0,271696401 +1100105,57,2716965,1,20,2,45,6,3,2,1,15,4,5412,7280.0,271696501 +1100105,57,2716966,1,21,2,-9,-9,6,1,1,15,4,,,271696601 +1100105,57,2716967,1,20,2,45,6,3,2,1,15,4,5412,7280.0,271696701 +1100105,57,2716968,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,271696801 +1100105,57,2716969,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,271696901 +1100105,57,2716970,1,18,2,40,3,1,1,1,15,4,611M3,7890.0,271697001 +1100105,57,2716971,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271697101 +1100105,57,2716972,1,21,2,-9,-9,6,2,1,15,4,23,770.0,271697201 +1100105,57,2716973,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,271697301 +1100105,57,2716974,1,19,2,-9,-9,6,1,24,15,4,,,271697401 +1100105,57,2716975,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,271697501 +1100105,57,2716976,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,271697601 +1100105,57,2716977,1,21,2,15,6,6,8,24,15,4,4481,5170.0,271697701 +1100105,57,2716978,1,21,2,40,6,6,1,1,15,4,611M1,7870.0,271697801 +1100105,57,2716979,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271697901 +1100105,57,2716980,1,20,1,6,4,1,2,1,15,4,6242,8380.0,271698001 +1100105,57,2716981,1,20,2,20,1,1,2,1,15,4,561M,7780.0,271698101 +1100105,57,2716982,1,18,2,10,6,6,1,1,15,4,5616,7680.0,271698201 +1100105,57,2716983,1,19,1,12,5,1,1,1,15,4,713Z,8590.0,271698301 +1100105,57,2716984,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,271698401 +1100105,57,2716985,1,19,2,8,6,1,2,1,15,4,611M3,7890.0,271698501 +1100105,57,2716986,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271698601 +1100105,57,2716987,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271698701 +1100105,57,2716988,1,21,2,20,1,1,1,1,15,4,722Z,8680.0,271698801 +1100105,57,2716989,1,22,1,8,4,1,2,1,15,4,611M1,7870.0,271698901 +1100105,57,2716990,1,18,2,-9,-9,6,1,1,15,4,712,8570.0,271699001 +1100105,57,2716991,1,19,2,40,5,6,1,1,15,4,712,8570.0,271699101 +1100105,57,2716992,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271699201 +1100105,57,2716993,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271699301 +1100105,57,2716994,1,19,2,-9,-9,6,1,1,15,4,,,271699401 +1100105,57,2716995,1,19,2,5,6,6,2,10,15,4,6111,7860.0,271699501 +1100105,57,2716996,1,18,2,8,5,1,1,1,15,4,611M1,7870.0,271699601 +1100105,57,2716997,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271699701 +1100105,57,2716998,1,18,2,-9,-9,6,1,1,15,4,,,271699801 +1100105,57,2716999,1,18,1,45,6,6,1,3,15,4,721M,8670.0,271699901 +1100105,57,2717000,1,22,2,10,4,1,6,1,15,4,813M,9170.0,271700001 +1100105,57,2717001,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271700101 +1100105,57,2717002,1,18,2,-9,-9,6,2,1,15,4,,,271700201 +1100105,57,2717003,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271700301 +1100105,57,2717004,1,18,2,20,3,6,1,1,15,4,44611,5070.0,271700401 +1100105,57,2717005,1,18,2,6,5,1,1,4,15,4,4481,5170.0,271700501 +1100105,57,2717006,1,20,2,-9,-9,6,1,1,15,4,,,271700601 +1100105,57,2717007,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271700701 +1100105,57,2717008,1,21,2,50,6,3,2,1,15,4,721M,8670.0,271700801 +1100105,57,2717009,1,20,1,40,4,2,1,1,15,4,722Z,8680.0,271700901 +1100105,57,2717010,1,19,1,8,6,1,2,1,15,4,611M1,7870.0,271701001 +1100105,57,2717011,1,19,2,15,4,6,2,1,15,4,45121,5370.0,271701101 +1100105,57,2717012,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271701201 +1100105,57,2717013,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,271701301 +1100105,57,2717014,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271701401 +1100105,57,2717015,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271701501 +1100105,57,2717016,1,21,2,40,1,6,2,1,15,4,515,6670.0,271701601 +1100105,57,2717017,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,271701701 +1100105,57,2717018,1,19,2,-9,-9,6,2,1,15,4,,,271701801 +1100105,57,2717019,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271701901 +1100105,57,2717020,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271702001 +1100105,57,2717021,1,19,2,8,1,6,1,1,15,4,4481,5170.0,271702101 +1100105,57,2717022,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271702201 +1100105,57,2717023,1,18,2,-9,-9,6,2,1,15,4,,,271702301 +1100105,57,2717024,1,19,2,40,6,6,1,1,15,4,4412,4680.0,271702401 +1100105,57,2717025,1,18,1,5,6,6,2,1,15,4,928P,9590.0,271702501 +1100105,57,2717026,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271702601 +1100105,57,2717027,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271702701 +1100105,57,2717028,1,21,2,20,6,6,1,1,15,4,611M1,7870.0,271702801 +1100105,57,2717029,1,20,2,-9,-9,6,2,1,15,4,6111,7860.0,271702901 +1100105,57,2717030,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271703001 +1100105,57,2717031,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271703101 +1100105,57,2717032,1,18,2,20,6,6,1,1,15,4,8129,9090.0,271703201 +1100105,57,2717033,1,21,2,-9,-9,6,2,1,15,4,,,271703301 +1100105,57,2717034,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271703401 +1100105,57,2717035,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,271703501 +1100105,57,2717036,1,18,2,6,2,1,9,14,15,4,6111,7860.0,271703601 +1100105,57,2717037,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271703701 +1100105,57,2717038,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271703801 +1100105,57,2717039,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271703901 +1100105,57,2717040,1,19,1,28,6,6,2,11,15,4,23,770.0,271704001 +1100105,57,2717041,1,22,2,-9,-9,6,2,24,15,4,,,271704101 +1100105,57,2717042,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,271704201 +1100105,57,2717043,1,19,2,-9,-9,6,1,1,15,4,,,271704301 +1100105,57,2717044,1,20,2,40,6,6,1,3,15,4,6211,7970.0,271704401 +1100105,57,2717045,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271704501 +1100105,57,2717046,1,21,2,40,1,6,2,1,15,4,515,6670.0,271704601 +1100105,57,2717047,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,271704701 +1100105,57,2717048,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,271704801 +1100105,57,2717049,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,271704901 +1100105,57,2717050,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271705001 +1100105,57,2717051,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271705101 +1100105,57,2717052,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271705201 +1100105,57,2717053,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,271705301 +1100105,57,2717054,1,20,1,15,3,1,1,1,15,4,5615,7670.0,271705401 +1100105,57,2717055,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,271705501 +1100105,57,2717056,1,20,2,10,6,1,1,1,15,4,611M1,7870.0,271705601 +1100105,57,2717057,1,18,1,40,6,6,1,1,15,4,23,770.0,271705701 +1100105,57,2717058,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271705801 +1100105,57,2717059,1,19,1,10,6,6,1,1,15,4,23,770.0,271705901 +1100105,57,2717060,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271706001 +1100105,57,2717061,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271706101 +1100105,57,2717062,1,21,1,20,4,1,1,1,15,4,813M,9170.0,271706201 +1100105,57,2717063,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271706301 +1100105,57,2717064,1,21,2,-9,-9,6,1,1,15,4,23,770.0,271706401 +1100105,57,2717065,1,19,2,30,6,6,1,1,15,4,442,4770.0,271706501 +1100105,57,2717066,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271706601 +1100105,57,2717067,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271706701 +1100105,57,2717068,1,26,2,40,1,1,2,1,16,4,6111,7860.0,271706801 +1100105,57,2717069,1,18,1,-9,-9,6,6,1,15,4,,,271706901 +1100105,57,2717070,1,19,2,-9,-9,6,2,1,15,4,,,271707001 +1100105,57,2717071,1,18,1,18,3,1,1,24,15,4,928P,9590.0,271707101 +1100105,57,2717072,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,271707201 +1100105,57,2717073,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271707301 +1100105,57,2717074,1,20,2,20,1,1,2,1,15,4,6241,8370.0,271707401 +1100105,57,2717075,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271707501 +1100105,57,2717076,1,23,1,9,4,1,1,1,15,4,713Z,8590.0,271707601 +1100105,57,2717077,1,19,1,28,6,6,2,11,15,4,23,770.0,271707701 +1100105,57,2717078,1,21,1,30,5,2,2,1,15,4,447,5090.0,271707801 +1100105,57,2717079,1,20,2,20,2,1,2,1,15,4,92119,9390.0,271707901 +1100105,57,2717080,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271708001 +1100105,57,2717081,1,19,2,10,6,6,1,1,15,4,315M,1691.0,271708101 +1100105,57,2717082,1,20,2,-9,-9,6,2,1,15,4,,,271708201 +1100105,57,2717083,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271708301 +1100105,57,2717084,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271708401 +1100105,57,2717085,1,18,2,-9,-9,6,6,1,15,4,,,271708501 +1100105,57,2717086,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271708601 +1100105,57,2717087,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271708701 +1100105,57,2717088,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271708801 +1100105,57,2717089,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271708901 +1100105,57,2717090,1,18,2,-9,-9,6,2,1,15,4,,,271709001 +1100105,57,2717091,1,20,2,30,6,6,1,1,15,4,5111Z,6480.0,271709101 +1100105,57,2717092,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,271709201 +1100105,57,2717093,1,19,1,-9,-9,6,1,24,15,4,5411,7270.0,271709301 +1100105,57,2717094,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271709401 +1100105,57,2717095,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271709501 +1100105,57,2717096,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,271709601 +1100105,57,2717097,1,18,2,-9,-9,6,1,1,15,4,,,271709701 +1100105,57,2717098,1,20,2,40,4,1,6,1,15,4,8139Z,9190.0,271709801 +1100105,57,2717099,1,18,1,45,6,6,1,1,15,4,923,9480.0,271709901 +1100105,57,2717100,1,19,2,-9,-9,6,2,1,15,4,,,271710001 +1100105,57,2717101,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271710101 +1100105,57,2717102,1,18,1,10,5,6,1,1,15,4,6211,7970.0,271710201 +1100105,57,2717103,1,24,2,-9,-9,6,2,1,15,4,,,271710301 +1100105,57,2717104,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271710401 +1100105,57,2717105,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271710501 +1100105,57,2717106,1,19,2,-9,-9,6,2,1,15,4,,,271710601 +1100105,57,2717107,1,19,2,16,6,6,1,1,15,4,713Z,8590.0,271710701 +1100105,57,2717108,1,22,2,-9,-9,6,1,1,15,4,,,271710801 +1100105,57,2717109,1,21,2,20,4,1,2,1,15,4,611M1,7870.0,271710901 +1100105,57,2717110,1,20,2,-9,-9,6,2,1,15,4,,,271711001 +1100105,57,2717111,1,20,1,16,4,6,1,1,15,4,7211,8660.0,271711101 +1100105,57,2717112,1,18,2,15,4,1,2,1,15,4,722Z,8680.0,271711201 +1100105,57,2717113,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271711301 +1100105,57,2717114,1,20,2,-9,-9,6,1,1,15,4,,,271711401 +1100105,57,2717115,1,19,2,22,6,6,1,1,15,4,722Z,8680.0,271711501 +1100105,57,2717116,1,19,2,35,3,1,1,1,15,4,611M1,7870.0,271711601 +1100105,57,2717117,1,21,2,20,6,6,1,1,15,4,6241,8370.0,271711701 +1100105,57,2717118,1,18,2,20,6,6,2,1,15,4,6111,7860.0,271711801 +1100105,57,2717119,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271711901 +1100105,57,2717120,1,21,2,40,1,6,2,1,15,4,515,6670.0,271712001 +1100105,57,2717121,1,19,1,-9,-9,6,1,24,15,4,5411,7270.0,271712101 +1100105,57,2717122,1,21,2,28,5,6,2,1,15,4,5241,6991.0,271712201 +1100105,57,2717123,1,18,2,-9,-9,6,1,3,15,4,,,271712301 +1100105,57,2717124,1,19,1,-9,-9,6,1,1,15,4,,,271712401 +1100105,57,2717125,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271712501 +1100105,57,2717126,1,20,2,8,4,1,6,1,15,4,611M1,7870.0,271712601 +1100105,57,2717127,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,271712701 +1100105,57,2717128,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271712801 +1100105,57,2717129,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,271712901 +1100105,57,2717130,1,21,2,-9,-9,6,1,1,15,4,,,271713001 +1100105,57,2717131,1,19,2,-9,-9,6,6,1,15,4,,,271713101 +1100105,57,2717132,1,20,1,6,5,1,2,1,15,4,611M2,7880.0,271713201 +1100105,57,2717133,1,18,1,-9,-9,6,2,1,15,4,,,271713301 +1100105,57,2717134,1,21,2,-9,-9,6,2,1,15,4,,,271713401 +1100105,57,2717135,1,20,2,2,5,2,1,1,15,4,611M1,7870.0,271713501 +1100105,57,2717136,1,19,2,-9,-9,6,2,1,15,4,,,271713601 +1100105,57,2717137,1,18,2,40,5,6,6,1,15,4,712,8570.0,271713701 +1100105,57,2717138,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,271713801 +1100105,57,2717139,1,20,2,45,4,6,1,1,15,4,4481,5170.0,271713901 +1100105,57,2717140,1,19,2,-9,-9,6,1,1,15,4,,,271714001 +1100105,57,2717141,1,18,2,10,4,6,1,1,15,4,44511,4971.0,271714101 +1100105,57,2717142,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271714201 +1100105,57,2717143,1,21,2,40,1,6,2,1,15,4,515,6670.0,271714301 +1100105,57,2717144,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271714401 +1100105,57,2717145,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271714501 +1100105,57,2717146,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271714601 +1100105,57,2717147,1,22,2,20,6,6,2,1,15,4,6231,8270.0,271714701 +1100105,57,2717148,1,21,1,20,1,1,1,1,15,4,813M,9170.0,271714801 +1100105,57,2717149,1,19,2,-9,-9,6,6,1,15,4,,,271714901 +1100105,57,2717150,1,21,2,-9,-9,6,2,1,15,4,,,271715001 +1100105,57,2717151,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271715101 +1100105,57,2717152,1,21,2,35,5,1,2,1,15,4,928P,9590.0,271715201 +1100105,57,2717153,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271715301 +1100105,57,2717154,1,20,1,25,4,1,1,1,15,4,92M2,9570.0,271715401 +1100105,57,2717155,1,19,1,23,4,6,2,1,15,4,44511,4971.0,271715501 +1100105,57,2717156,1,20,1,-9,-9,6,1,24,15,4,,,271715601 +1100105,57,2717157,1,20,1,25,4,6,1,1,15,4,713Z,8590.0,271715701 +1100105,57,2717158,1,18,2,-9,-9,6,6,1,15,4,,,271715801 +1100105,57,2717159,1,18,2,18,3,6,2,1,15,4,722Z,8680.0,271715901 +1100105,57,2717160,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271716001 +1100105,57,2717161,1,22,1,15,5,1,1,1,15,4,92113,9380.0,271716101 +1100105,57,2717162,1,18,1,14,3,1,1,1,15,4,7211,8660.0,271716201 +1100105,57,2717163,1,20,2,32,6,6,2,1,15,4,722Z,8680.0,271716301 +1100105,57,2717164,1,20,2,15,4,1,1,1,15,4,6111,7860.0,271716401 +1100105,57,2717165,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271716501 +1100105,57,2717166,1,19,2,-9,-9,6,2,1,15,4,,,271716601 +1100105,57,2717167,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271716701 +1100105,57,2717168,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271716801 +1100105,57,2717169,1,19,1,-9,-9,6,1,1,15,4,,,271716901 +1100105,57,2717170,1,30,1,35,1,1,2,1,15,4,6212,7980.0,271717001 +1100105,57,2717171,1,19,2,-9,-9,6,1,24,15,4,,,271717101 +1100105,57,2717172,1,20,2,-9,-9,6,2,1,15,4,,,271717201 +1100105,57,2717173,1,18,1,24,6,6,1,1,15,4,722Z,8680.0,271717301 +1100105,57,2717174,1,20,2,6,5,1,1,1,15,4,4481,5170.0,271717401 +1100105,57,2717175,1,26,2,40,1,1,2,1,16,4,6111,7860.0,271717501 +1100105,57,2717176,1,21,2,20,4,1,2,1,15,4,611M1,7870.0,271717601 +1100105,57,2717177,1,19,2,3,6,6,1,2,15,4,6244,8470.0,271717701 +1100105,57,2717178,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271717801 +1100105,57,2717179,1,21,2,20,6,6,1,1,15,4,6241,8370.0,271717901 +1100105,57,2717180,1,19,2,-9,-9,6,2,1,15,4,,,271718001 +1100105,57,2717181,1,20,2,20,1,1,2,1,15,4,6241,8370.0,271718101 +1100105,57,2717182,1,25,2,20,3,1,1,1,16,4,611M1,7870.0,271718201 +1100105,57,2717183,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271718301 +1100105,57,2717184,1,20,1,-9,-9,6,1,1,15,4,5413,7290.0,271718401 +1100105,57,2717185,1,21,2,20,1,1,1,1,15,4,722Z,8680.0,271718501 +1100105,57,2717186,1,19,1,-9,-9,6,1,1,15,4,,,271718601 +1100105,57,2717187,1,18,2,-9,-9,6,1,1,15,4,712,8570.0,271718701 +1100105,57,2717188,1,18,1,-9,-9,6,6,1,15,4,,,271718801 +1100105,57,2717189,1,18,1,14,3,1,1,1,15,4,7211,8660.0,271718901 +1100105,57,2717190,1,20,2,45,6,3,2,1,15,4,5412,7280.0,271719001 +1100105,57,2717191,1,19,2,1,6,3,6,1,15,4,6111,7860.0,271719101 +1100105,57,2717192,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,271719201 +1100105,57,2717193,1,20,2,32,4,6,2,1,15,4,611M3,7890.0,271719301 +1100105,57,2717194,1,20,2,-9,-9,6,1,1,15,4,,,271719401 +1100105,57,2717195,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271719501 +1100105,57,2717196,1,19,2,6,6,6,1,1,15,4,4481,5170.0,271719601 +1100105,57,2717197,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271719701 +1100105,57,2717198,1,21,2,20,1,1,2,1,15,4,722Z,8680.0,271719801 +1100105,57,2717199,1,20,2,20,2,1,2,1,15,4,92119,9390.0,271719901 +1100105,57,2717200,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271720001 +1100105,57,2717201,1,20,1,6,4,1,2,1,15,4,6242,8380.0,271720101 +1100105,57,2717202,1,19,2,40,6,6,1,1,15,4,4412,4680.0,271720201 +1100105,57,2717203,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271720301 +1100105,57,2717204,1,18,1,40,6,6,1,1,15,4,23,770.0,271720401 +1100105,57,2717205,1,20,1,25,6,6,1,4,15,4,713Z,8590.0,271720501 +1100105,57,2717206,1,21,2,20,6,6,2,1,15,4,6241,8370.0,271720601 +1100105,57,2717207,1,18,2,99,6,6,2,1,15,4,721M,8670.0,271720701 +1100105,57,2717208,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,271720801 +1100105,57,2717209,1,19,2,-9,-9,6,2,1,15,4,,,271720901 +1100105,57,2717210,1,19,2,35,6,6,1,1,15,4,713Z,8590.0,271721001 +1100105,57,2717211,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,271721101 +1100105,57,2717212,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271721201 +1100105,57,2717213,1,18,2,-9,-9,6,1,3,15,4,7111,8561.0,271721301 +1100105,57,2717214,1,18,1,-9,-9,6,2,1,15,4,,,271721401 +1100105,57,2717215,1,25,1,40,1,1,1,1,16,4,923,9480.0,271721501 +1100105,57,2717216,1,19,1,28,6,6,2,11,15,4,23,770.0,271721601 +1100105,57,2717217,1,21,1,32,5,6,1,1,15,4,5241,6991.0,271721701 +1100105,57,2717218,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271721801 +1100105,57,2717219,1,20,1,25,4,6,1,1,15,4,713Z,8590.0,271721901 +1100105,57,2717220,1,19,2,20,3,1,2,1,15,4,611M1,7870.0,271722001 +1100105,57,2717221,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,271722101 +1100105,57,2717222,1,19,1,10,6,6,1,1,15,4,23,770.0,271722201 +1100105,57,2717223,1,19,2,15,1,1,1,1,15,4,611M1,7870.0,271722301 +1100105,57,2717224,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271722401 +1100105,57,2717225,1,20,2,18,5,1,2,1,15,4,722Z,8680.0,271722501 +1100105,57,2717226,1,18,2,25,1,1,2,1,15,4,3118Z,1270.0,271722601 +1100105,57,2717227,1,18,2,12,6,6,1,1,15,4,712,8570.0,271722701 +1100105,57,2717228,1,21,2,20,6,6,1,1,15,4,611M1,7870.0,271722801 +1100105,57,2717229,1,20,2,40,6,6,1,3,15,4,6211,7970.0,271722901 +1100105,57,2717230,1,18,2,14,5,3,1,1,15,4,722Z,8680.0,271723001 +1100105,57,2717231,1,21,1,45,5,6,1,1,15,4,5419Z,7490.0,271723101 +1100105,57,2717232,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271723201 +1100105,57,2717233,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271723301 +1100105,57,2717234,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271723401 +1100105,57,2717235,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271723501 +1100105,57,2717236,1,24,2,5,5,6,1,1,16,4,611M1,7870.0,271723601 +1100105,57,2717237,1,24,2,-9,-9,6,2,1,15,4,,,271723701 +1100105,57,2717238,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271723801 +1100105,57,2717239,1,20,2,-9,-9,6,6,1,15,4,,,271723901 +1100105,57,2717240,1,17,2,-9,-9,6,2,1,15,4,,,271724001 +1100105,57,2717241,1,18,1,-9,-9,6,6,1,15,4,611M3,7890.0,271724101 +1100105,57,2717242,1,20,2,8,1,1,1,1,15,4,8131,9160.0,271724201 +1100105,57,2717243,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271724301 +1100105,57,2717244,1,20,2,7,5,6,1,1,15,4,814,9290.0,271724401 +1100105,57,2717245,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271724501 +1100105,57,2717246,1,23,1,30,6,6,2,1,15,4,4542,5670.0,271724601 +1100105,57,2717247,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271724701 +1100105,57,2717248,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271724801 +1100105,57,2717249,1,26,1,20,6,6,2,1,16,4,92119,9390.0,271724901 +1100105,57,2717250,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271725001 +1100105,57,2717251,1,19,1,7,4,1,1,1,15,4,611M2,7880.0,271725101 +1100105,57,2717252,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271725201 +1100105,57,2717253,1,20,2,-9,-9,6,1,1,15,4,,,271725301 +1100105,57,2717254,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271725401 +1100105,57,2717255,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271725501 +1100105,57,2717256,1,25,1,40,1,1,2,1,16,4,6216,8170.0,271725601 +1100105,57,2717257,1,19,2,3,6,6,1,2,15,4,6244,8470.0,271725701 +1100105,57,2717258,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271725801 +1100105,57,2717259,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271725901 +1100105,57,2717260,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271726001 +1100105,57,2717261,1,18,2,-9,-9,6,1,1,15,4,7111,8561.0,271726101 +1100105,57,2717262,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271726201 +1100105,57,2717263,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271726301 +1100105,57,2717264,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271726401 +1100105,57,2717265,1,22,1,10,1,1,6,1,15,4,611M1,7870.0,271726501 +1100105,57,2717266,1,20,2,32,4,6,1,1,15,4,611M3,7890.0,271726601 +1100105,57,2717267,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271726701 +1100105,57,2717268,1,19,2,40,6,6,1,1,15,4,4412,4680.0,271726801 +1100105,57,2717269,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,271726901 +1100105,57,2717270,1,19,1,23,4,6,1,17,15,4,44512,4972.0,271727001 +1100105,57,2717271,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271727101 +1100105,57,2717272,1,21,1,40,6,6,2,1,15,4,4241,4370.0,271727201 +1100105,57,2717273,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271727301 +1100105,57,2717274,1,19,2,-9,-9,6,1,1,15,4,,,271727401 +1100105,57,2717275,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,271727501 +1100105,57,2717276,1,21,1,40,6,1,1,1,15,4,337,3895.0,271727601 +1100105,57,2717277,1,17,1,17,6,1,1,1,15,4,4539,5580.0,271727701 +1100105,57,2717278,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271727801 +1100105,57,2717279,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271727901 +1100105,57,2717280,1,20,1,-9,-9,6,1,1,15,4,713Z,8590.0,271728001 +1100105,57,2717281,1,28,2,15,6,6,6,1,16,4,5411,7270.0,271728101 +1100105,57,2717282,1,19,1,28,6,6,2,1,15,4,23,770.0,271728201 +1100105,57,2717283,1,19,1,28,6,6,2,11,15,4,23,770.0,271728301 +1100105,57,2717284,1,23,2,10,4,1,2,1,15,4,611M1,7870.0,271728401 +1100105,57,2717285,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,271728501 +1100105,57,2717286,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271728601 +1100105,57,2717287,1,21,2,-9,-9,6,1,1,15,4,,,271728701 +1100105,57,2717288,1,19,1,30,4,6,1,1,15,4,722Z,8680.0,271728801 +1100105,57,2717289,1,19,2,30,5,6,1,1,15,4,713Z,8590.0,271728901 +1100105,57,2717290,1,21,2,-9,-9,6,1,1,15,4,,,271729001 +1100105,57,2717291,1,19,2,15,4,6,2,1,15,4,45121,5370.0,271729101 +1100105,57,2717292,1,19,1,12,5,1,1,1,15,4,713Z,8590.0,271729201 +1100105,57,2717293,1,19,2,20,3,1,1,1,15,4,611M1,7870.0,271729301 +1100105,57,2717294,1,18,1,40,6,6,1,1,15,4,23,770.0,271729401 +1100105,57,2717295,1,18,1,-9,-9,6,1,1,15,4,,,271729501 +1100105,57,2717296,1,20,2,-9,-9,6,2,1,15,4,,,271729601 +1100105,57,2717297,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,271729701 +1100105,57,2717298,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271729801 +1100105,57,2717299,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271729901 +1100105,57,2717300,1,21,2,10,5,1,1,1,15,4,5411,7270.0,271730001 +1100105,57,2717301,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271730101 +1100105,57,2717302,1,18,2,-9,-9,6,1,3,15,4,,,271730201 +1100105,57,2717303,1,18,1,35,4,1,2,1,15,4,611M1,7870.0,271730301 +1100105,57,2717304,1,19,1,40,5,6,1,24,15,4,721M,8670.0,271730401 +1100105,57,2717305,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271730501 +1100105,57,2717306,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271730601 +1100105,57,2717307,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271730701 +1100105,57,2717308,1,22,2,10,4,1,6,1,15,4,813M,9170.0,271730801 +1100105,57,2717309,1,19,2,20,4,1,2,1,15,4,5313,7072.0,271730901 +1100105,57,2717310,1,19,1,2,3,6,1,1,15,4,8131,9160.0,271731001 +1100105,57,2717311,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271731101 +1100105,57,2717312,1,20,2,8,1,1,1,1,15,4,8131,9160.0,271731201 +1100105,57,2717313,1,23,1,30,1,1,2,1,15,4,5616,7680.0,271731301 +1100105,57,2717314,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271731401 +1100105,57,2717315,1,20,2,40,4,1,6,1,15,4,8139Z,9190.0,271731501 +1100105,57,2717316,1,19,2,24,5,6,1,1,15,4,515,6670.0,271731601 +1100105,57,2717317,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271731701 +1100105,57,2717318,1,20,2,40,6,6,2,1,15,4,45439,5690.0,271731801 +1100105,57,2717319,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271731901 +1100105,57,2717320,1,21,2,-9,-9,6,1,1,15,4,,,271732001 +1100105,57,2717321,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271732101 +1100105,57,2717322,1,23,1,-9,-9,6,2,1,15,4,,,271732201 +1100105,57,2717323,1,21,2,20,5,1,2,1,15,4,611M1,7870.0,271732301 +1100105,57,2717324,1,18,1,5,6,6,2,1,15,4,928P,9590.0,271732401 +1100105,57,2717325,1,18,2,-9,-9,6,1,3,15,4,,,271732501 +1100105,57,2717326,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271732601 +1100105,57,2717327,1,19,1,-9,-9,6,1,1,15,4,,,271732701 +1100105,57,2717328,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271732801 +1100105,57,2717329,1,18,1,14,3,1,1,1,15,4,7211,8660.0,271732901 +1100105,57,2717330,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,271733001 +1100105,57,2717331,1,20,1,23,5,6,9,19,15,4,4481,5170.0,271733101 +1100105,57,2717332,1,18,2,-9,-9,6,2,1,15,4,,,271733201 +1100105,57,2717333,1,19,1,28,6,6,2,1,15,4,23,770.0,271733301 +1100105,57,2717334,1,21,1,26,3,1,1,1,15,4,712,8570.0,271733401 +1100105,57,2717335,1,19,2,-9,-9,6,1,1,15,4,,,271733501 +1100105,57,2717336,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271733601 +1100105,57,2717337,1,18,2,10,6,6,1,1,15,4,722Z,8680.0,271733701 +1100105,57,2717338,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271733801 +1100105,57,2717339,1,21,1,40,6,6,2,1,15,4,4241,4370.0,271733901 +1100105,57,2717340,1,18,2,-9,-9,3,1,1,15,4,45221,5381.0,271734001 +1100105,57,2717341,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271734101 +1100105,57,2717342,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271734201 +1100105,57,2717343,1,56,1,4,6,1,2,1,16,4,8131,9160.0,271734301 +1100105,57,2717344,1,28,2,10,5,1,2,1,15,4,722Z,8680.0,271734401 +1100105,57,2717345,1,19,2,-9,-9,6,1,1,15,4,,,271734501 +1100105,57,2717346,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,271734601 +1100105,57,2717347,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271734701 +1100105,57,2717348,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,271734801 +1100105,57,2717349,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271734901 +1100105,57,2717350,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271735001 +1100105,57,2717351,1,18,2,-9,-9,6,1,1,15,4,,,271735101 +1100105,57,2717352,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,271735201 +1100105,57,2717353,1,18,2,10,6,6,1,1,15,4,5616,7680.0,271735301 +1100105,57,2717354,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271735401 +1100105,57,2717355,1,23,2,-9,-9,6,2,1,15,4,,,271735501 +1100105,57,2717356,1,19,2,20,6,6,1,18,15,4,713Z,8590.0,271735601 +1100105,57,2717357,1,18,2,8,5,1,1,1,15,4,611M1,7870.0,271735701 +1100105,57,2717358,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,271735801 +1100105,57,2717359,1,21,2,20,5,1,9,1,15,4,5121,6570.0,271735901 +1100105,57,2717360,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,271736001 +1100105,57,2717361,1,21,2,30,5,6,2,1,15,4,712,8570.0,271736101 +1100105,57,2717362,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271736201 +1100105,57,2717363,1,21,2,-9,-9,6,1,1,15,4,,,271736301 +1100105,57,2717364,1,18,2,-9,-9,6,2,1,15,4,,,271736401 +1100105,57,2717365,1,22,1,40,1,1,1,1,15,4,5415,7380.0,271736501 +1100105,57,2717366,1,18,1,30,1,1,2,1,15,4,722Z,8680.0,271736601 +1100105,57,2717367,1,20,2,-9,-9,6,2,1,15,4,,,271736701 +1100105,57,2717368,1,17,2,-9,-9,6,2,1,15,4,,,271736801 +1100105,57,2717369,1,19,2,30,5,6,1,1,15,4,622M,8191.0,271736901 +1100105,57,2717370,1,22,1,50,6,1,2,1,15,4,51913,6672.0,271737001 +1100105,57,2717371,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271737101 +1100105,57,2717372,1,20,2,4,5,6,1,1,15,4,814,9290.0,271737201 +1100105,57,2717373,1,21,1,15,5,2,1,1,15,2,4523,5391.0,271737301 +1100105,57,2717374,1,22,1,40,6,6,1,1,15,4,5413,7290.0,271737401 +1100105,57,2717375,1,20,2,40,6,6,2,1,15,4,45439,5690.0,271737501 +1100105,57,2717376,1,18,2,-9,-9,6,2,1,15,4,,,271737601 +1100105,57,2717377,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271737701 +1100105,57,2717378,1,19,1,45,6,6,1,1,15,4,721M,8670.0,271737801 +1100105,57,2717379,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271737901 +1100105,57,2717380,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271738001 +1100105,57,2717381,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271738101 +1100105,57,2717382,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271738201 +1100105,57,2717383,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271738301 +1100105,57,2717384,1,21,1,40,6,6,2,1,15,4,4241,4370.0,271738401 +1100105,57,2717385,1,22,2,-9,-9,6,2,1,15,4,6111,7860.0,271738501 +1100105,57,2717386,1,18,1,-9,-9,6,6,1,15,4,,,271738601 +1100105,57,2717387,1,20,1,-9,-9,6,2,1,15,4,,,271738701 +1100105,57,2717388,1,19,2,-9,-9,6,1,1,15,4,,,271738801 +1100105,57,2717389,1,17,1,-9,-9,6,2,1,15,4,5121,6570.0,271738901 +1100105,57,2717390,1,21,2,30,5,6,2,1,15,4,712,8570.0,271739001 +1100105,57,2717391,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,271739101 +1100105,57,2717392,1,18,2,10,6,1,1,1,15,4,713Z,8590.0,271739201 +1100105,57,2717393,1,21,1,20,1,1,1,1,15,4,813M,9170.0,271739301 +1100105,57,2717394,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271739401 +1100105,57,2717395,1,20,1,40,6,6,1,1,15,4,522M,6890.0,271739501 +1100105,57,2717396,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271739601 +1100105,57,2717397,1,20,2,-9,-9,6,2,1,15,4,,,271739701 +1100105,57,2717398,1,19,2,16,6,6,1,1,15,4,713Z,8590.0,271739801 +1100105,57,2717399,1,20,2,20,6,1,2,1,15,4,722Z,8680.0,271739901 +1100105,57,2717400,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271740001 +1100105,57,2717401,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271740101 +1100105,57,2717402,1,18,2,-9,-9,6,1,1,15,4,,,271740201 +1100105,57,2717403,1,21,2,-9,-9,6,2,1,15,4,,,271740301 +1100105,57,2717404,1,19,1,-9,-9,6,1,1,15,4,,,271740401 +1100105,57,2717405,1,18,2,6,5,1,1,4,15,4,4481,5170.0,271740501 +1100105,57,2717406,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271740601 +1100105,57,2717407,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271740701 +1100105,57,2717408,1,18,1,-9,-9,6,1,1,15,4,,,271740801 +1100105,57,2717409,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271740901 +1100105,57,2717410,1,21,2,-9,-9,6,2,1,15,4,,,271741001 +1100105,57,2717411,1,18,2,-9,-9,6,2,1,15,4,,,271741101 +1100105,57,2717412,1,18,2,40,5,6,1,1,15,4,712,8570.0,271741201 +1100105,57,2717413,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271741301 +1100105,57,2717414,1,18,2,8,6,6,1,1,15,4,712,8570.0,271741401 +1100105,57,2717415,1,18,2,25,1,1,2,1,15,4,3118Z,1270.0,271741501 +1100105,57,2717416,1,21,2,25,4,1,1,1,15,4,8139Z,9190.0,271741601 +1100105,57,2717417,1,19,2,-9,-9,6,6,1,15,4,,,271741701 +1100105,57,2717418,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271741801 +1100105,57,2717419,1,21,2,-9,-9,6,2,1,15,4,,,271741901 +1100105,57,2717420,1,19,2,12,5,1,1,1,15,4,611M1,7870.0,271742001 +1100105,57,2717421,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,271742101 +1100105,57,2717422,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271742201 +1100105,57,2717423,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271742301 +1100105,57,2717424,1,19,1,-9,-9,6,1,1,15,4,,,271742401 +1100105,57,2717425,1,20,2,-9,-9,6,1,1,15,4,,,271742501 +1100105,57,2717426,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271742601 +1100105,57,2717427,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271742701 +1100105,57,2717428,1,18,1,45,6,6,1,1,15,4,923,9480.0,271742801 +1100105,57,2717429,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271742901 +1100105,57,2717430,1,20,1,-9,-9,6,1,16,15,4,,,271743001 +1100105,57,2717431,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271743101 +1100105,57,2717432,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,271743201 +1100105,57,2717433,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,271743301 +1100105,57,2717434,1,22,1,15,5,1,1,1,15,4,92113,9380.0,271743401 +1100105,57,2717435,1,20,2,-9,-9,6,1,1,15,4,,,271743501 +1100105,57,2717436,1,19,2,-9,-9,6,2,1,15,4,,,271743601 +1100105,57,2717437,1,20,2,-9,-9,6,1,1,15,4,,,271743701 +1100105,57,2717438,1,21,2,20,6,6,1,1,15,4,611M1,7870.0,271743801 +1100105,57,2717439,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271743901 +1100105,57,2717440,1,19,2,5,6,6,2,10,15,4,6111,7860.0,271744001 +1100105,57,2717441,1,18,2,20,3,6,1,1,15,4,44611,5070.0,271744101 +1100105,57,2717442,1,19,1,10,4,1,1,1,15,4,721M,8670.0,271744201 +1100105,57,2717443,1,19,2,-9,-9,6,2,1,15,4,,,271744301 +1100105,57,2717444,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271744401 +1100105,57,2717445,1,20,2,32,4,6,1,1,15,4,611M3,7890.0,271744501 +1100105,57,2717446,1,21,2,-9,-9,6,2,1,15,4,,,271744601 +1100105,57,2717447,1,18,2,30,4,1,2,1,15,4,611M1,7870.0,271744701 +1100105,57,2717448,1,20,1,50,6,1,2,1,15,4,611M1,7870.0,271744801 +1100105,57,2717449,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271744901 +1100105,57,2717450,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271745001 +1100105,57,2717451,1,18,1,-9,-9,6,2,1,15,4,,,271745101 +1100105,57,2717452,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271745201 +1100105,57,2717453,1,22,1,30,5,1,2,1,15,4,23,770.0,271745301 +1100105,57,2717454,1,20,1,-9,-9,3,2,1,15,4,44511,4971.0,271745401 +1100105,57,2717455,1,23,2,-9,-9,6,2,1,16,4,6111,7860.0,271745501 +1100105,57,2717456,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271745601 +1100105,57,2717457,1,20,1,-9,-9,6,1,24,15,4,,,271745701 +1100105,57,2717458,1,18,2,-9,-9,6,1,24,15,4,,,271745801 +1100105,57,2717459,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271745901 +1100105,57,2717460,1,22,1,15,4,2,2,1,15,4,4481,5170.0,271746001 +1100105,57,2717461,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271746101 +1100105,57,2717462,1,20,2,-9,-9,6,1,1,15,4,,,271746201 +1100105,57,2717463,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271746301 +1100105,57,2717464,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271746401 +1100105,57,2717465,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271746501 +1100105,57,2717466,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271746601 +1100105,57,2717467,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271746701 +1100105,57,2717468,1,20,1,15,3,1,1,1,15,4,5615,7670.0,271746801 +1100105,57,2717469,1,19,2,-9,-9,6,2,1,15,4,,,271746901 +1100105,57,2717470,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,271747001 +1100105,57,2717471,1,19,2,-9,-9,6,2,1,15,4,,,271747101 +1100105,57,2717472,1,20,2,32,6,6,1,1,15,4,722Z,8680.0,271747201 +1100105,57,2717473,1,18,1,-9,-9,6,1,1,15,4,,,271747301 +1100105,57,2717474,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,271747401 +1100105,57,2717475,1,19,2,-9,-9,6,2,1,15,4,,,271747501 +1100105,57,2717476,1,21,1,12,5,6,2,1,15,4,713Z,8590.0,271747601 +1100105,57,2717477,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271747701 +1100105,57,2717478,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271747801 +1100105,57,2717479,1,18,2,-9,-9,6,1,3,15,4,7111,8561.0,271747901 +1100105,57,2717480,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271748001 +1100105,57,2717481,1,19,2,20,6,6,1,18,15,4,713Z,8590.0,271748101 +1100105,57,2717482,1,21,2,20,4,1,2,1,15,4,611M1,7870.0,271748201 +1100105,57,2717483,1,21,2,-9,-9,6,2,1,15,4,6111,7860.0,271748301 +1100105,57,2717484,1,21,1,45,5,6,1,1,15,4,5419Z,7490.0,271748401 +1100105,57,2717485,1,19,1,24,5,1,1,1,15,4,4539,5580.0,271748501 +1100105,57,2717486,1,20,2,-9,-9,6,2,1,15,4,,,271748601 +1100105,57,2717487,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,271748701 +1100105,57,2717488,1,20,1,-9,-9,6,1,1,15,4,,,271748801 +1100105,57,2717489,1,18,2,-9,-9,6,1,3,15,4,7111,8561.0,271748901 +1100105,57,2717490,1,18,1,50,6,6,1,1,15,4,5416,7390.0,271749001 +1100105,57,2717491,1,18,1,-9,-9,6,6,1,15,4,,,271749101 +1100105,57,2717492,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271749201 +1100105,57,2717493,1,21,2,25,3,1,1,1,15,4,611M1,7870.0,271749301 +1100105,57,2717494,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271749401 +1100105,57,2717495,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271749501 +1100105,57,2717496,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271749601 +1100105,57,2717497,1,20,2,-9,-9,6,2,1,15,4,,,271749701 +1100105,57,2717498,1,19,1,7,4,1,1,1,15,4,611M2,7880.0,271749801 +1100105,57,2717499,1,20,2,45,6,3,2,1,15,4,5412,7280.0,271749901 +1100105,57,2717500,1,20,2,10,4,1,6,1,15,4,611M3,7890.0,271750001 +1100105,57,2717501,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271750101 +1100105,57,2717502,1,18,2,-9,-9,6,1,1,15,4,,,271750201 +1100105,57,2717503,1,20,1,23,5,6,9,19,15,4,4481,5170.0,271750301 +1100105,57,2717504,1,18,2,20,6,6,1,1,15,4,721M,8670.0,271750401 +1100105,57,2717505,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271750501 +1100105,57,2717506,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271750601 +1100105,57,2717507,1,19,2,40,6,6,1,1,15,4,4412,4680.0,271750701 +1100105,57,2717508,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271750801 +1100105,57,2717509,1,21,2,-9,-9,6,1,1,15,4,,,271750901 +1100105,57,2717510,1,20,2,-9,-9,6,2,1,15,4,,,271751001 +1100105,57,2717511,1,18,2,10,3,1,1,1,15,4,44511,4971.0,271751101 +1100105,57,2717512,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,271751201 +1100105,57,2717513,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271751301 +1100105,57,2717514,1,20,1,45,5,6,1,1,15,4,5419Z,7490.0,271751401 +1100105,57,2717515,1,19,1,28,6,6,2,1,15,4,23,770.0,271751501 +1100105,57,2717516,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271751601 +1100105,57,2717517,1,20,2,4,5,6,1,1,15,4,814,9290.0,271751701 +1100105,57,2717518,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271751801 +1100105,57,2717519,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271751901 +1100105,57,2717520,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271752001 +1100105,57,2717521,1,24,2,40,3,6,9,1,16,4,611M3,7890.0,271752101 +1100105,57,2717522,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,271752201 +1100105,57,2717523,1,19,2,10,5,1,6,1,15,4,611M1,7870.0,271752301 +1100105,57,2717524,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271752401 +1100105,57,2717525,1,18,2,40,6,6,2,1,15,4,923,9480.0,271752501 +1100105,57,2717526,1,20,1,23,5,6,9,19,15,4,4481,5170.0,271752601 +1100105,57,2717527,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,271752701 +1100105,57,2717528,1,20,1,26,3,1,1,1,15,4,712,8570.0,271752801 +1100105,57,2717529,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271752901 +1100105,57,2717530,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271753001 +1100105,57,2717531,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271753101 +1100105,57,2717532,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271753201 +1100105,57,2717533,1,20,1,25,4,1,1,1,15,4,611M1,7870.0,271753301 +1100105,57,2717534,1,21,2,-9,-9,6,1,1,15,4,23,770.0,271753401 +1100105,57,2717535,1,21,1,20,4,1,6,1,15,4,611M1,7870.0,271753501 +1100105,57,2717536,1,18,2,20,1,6,1,1,15,4,111,170.0,271753601 +1100105,57,2717537,1,19,2,-9,-9,6,1,1,15,4,,,271753701 +1100105,57,2717538,1,21,1,30,5,2,2,1,15,4,447,5090.0,271753801 +1100105,57,2717539,1,20,2,-9,-9,6,2,1,15,4,,,271753901 +1100105,57,2717540,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271754001 +1100105,57,2717541,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271754101 +1100105,57,2717542,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271754201 +1100105,57,2717543,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,271754301 +1100105,57,2717544,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,271754401 +1100105,58,2717545,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,271754501 +1100105,58,2717546,1,18,2,-9,-9,6,2,24,15,4,,,271754601 +1100105,58,2717547,1,20,2,18,5,3,1,1,15,4,4481,5170.0,271754701 +1100105,58,2717548,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271754801 +1100105,58,2717549,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271754901 +1100105,58,2717550,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,271755001 +1100105,58,2717551,1,18,1,-9,-9,6,2,1,15,4,,,271755101 +1100105,58,2717552,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271755201 +1100105,58,2717553,1,20,2,20,1,1,2,1,15,4,6241,8370.0,271755301 +1100105,58,2717554,1,18,1,23,4,6,2,1,15,4,44511,4971.0,271755401 +1100105,58,2717555,1,18,2,-9,-9,6,2,1,15,4,,,271755501 +1100105,58,2717556,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271755601 +1100105,58,2717557,1,18,1,10,6,6,6,1,15,4,3321,2780.0,271755701 +1100105,58,2717558,1,21,2,-9,-9,6,2,1,15,4,,,271755801 +1100105,58,2717559,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271755901 +1100105,58,2717560,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271756001 +1100105,58,2717561,1,19,1,15,6,1,1,1,15,4,4481,5170.0,271756101 +1100105,58,2717562,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271756201 +1100105,58,2717563,1,18,2,-9,-9,6,1,3,15,4,,,271756301 +1100105,58,2717564,1,21,2,-9,-9,6,1,1,15,4,,,271756401 +1100105,58,2717565,1,21,2,-9,-9,6,2,1,15,4,,,271756501 +1100105,58,2717566,1,20,2,4,5,6,1,1,15,4,814,9290.0,271756601 +1100105,58,2717567,1,21,2,-9,-9,6,1,1,15,4,,,271756701 +1100105,58,2717568,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,271756801 +1100105,58,2717569,1,20,2,32,6,6,1,1,15,4,722Z,8680.0,271756901 +1100105,58,2717570,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271757001 +1100105,58,2717571,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271757101 +1100105,58,2717572,1,18,1,-9,-9,6,2,1,15,4,,,271757201 +1100105,58,2717573,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271757301 +1100105,58,2717574,1,18,1,-9,-9,6,2,1,15,4,,,271757401 +1100105,58,2717575,1,19,2,40,1,1,1,1,15,4,611M1,7870.0,271757501 +1100105,58,2717576,1,19,2,-9,-9,6,1,1,15,4,,,271757601 +1100105,58,2717577,1,18,1,24,6,6,1,1,15,4,722Z,8680.0,271757701 +1100105,58,2717578,1,19,2,40,6,6,1,1,15,4,923,9480.0,271757801 +1100105,58,2717579,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271757901 +1100105,58,2717580,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271758001 +1100105,58,2717581,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271758101 +1100105,58,2717582,1,21,1,20,4,1,1,2,15,4,485M,6180.0,271758201 +1100105,58,2717583,1,21,2,-9,-9,6,2,1,15,4,,,271758301 +1100105,58,2717584,1,22,1,-9,-9,6,2,1,15,4,611M1,7870.0,271758401 +1100105,58,2717585,1,21,1,40,6,1,1,1,15,4,337,3895.0,271758501 +1100105,58,2717586,1,28,2,15,6,6,6,1,16,4,5411,7270.0,271758601 +1100105,58,2717587,1,18,2,-9,-9,6,1,1,15,4,,,271758701 +1100105,58,2717588,1,21,1,20,4,1,1,2,15,4,485M,6180.0,271758801 +1100105,58,2717589,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271758901 +1100105,58,2717590,1,21,2,30,3,6,1,1,15,4,611M1,7870.0,271759001 +1100105,58,2717591,1,22,2,-9,-9,6,1,1,15,4,,,271759101 +1100105,58,2717592,1,19,2,3,6,6,1,2,15,4,6244,8470.0,271759201 +1100105,58,2717593,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271759301 +1100105,58,2717594,1,19,2,30,5,6,9,1,15,4,713Z,8590.0,271759401 +1100105,58,2717595,1,19,2,8,6,1,2,1,15,4,611M3,7890.0,271759501 +1100105,58,2717596,1,19,2,-9,-9,6,2,1,15,4,,,271759601 +1100105,58,2717597,1,19,2,-9,-9,6,2,1,15,4,,,271759701 +1100105,58,2717598,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,271759801 +1100105,58,2717599,1,46,2,20,1,2,2,1,16,4,611M1,7870.0,271759901 +1100105,58,2717600,1,18,2,8,6,6,1,1,15,4,712,8570.0,271760001 +1100105,58,2717601,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271760101 +1100105,58,2717602,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271760201 +1100105,58,2717603,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271760301 +1100105,58,2717604,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271760401 +1100105,58,2717605,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,271760501 +1100105,58,2717606,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271760601 +1100105,58,2717607,1,19,2,24,5,6,1,1,15,4,515,6670.0,271760701 +1100105,58,2717608,1,18,2,20,6,6,1,1,15,4,8129,9090.0,271760801 +1100105,58,2717609,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271760901 +1100105,58,2717610,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271761001 +1100105,58,2717611,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271761101 +1100105,58,2717612,1,18,2,-9,-9,6,1,1,15,4,,,271761201 +1100105,58,2717613,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271761301 +1100105,58,2717614,1,21,1,20,4,1,1,2,15,4,485M,6180.0,271761401 +1100105,58,2717615,1,18,1,3,6,3,9,1,15,4,5411,7270.0,271761501 +1100105,58,2717616,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271761601 +1100105,58,2717617,1,19,1,50,6,6,2,1,15,4,311M2,1280.0,271761701 +1100105,58,2717618,1,19,2,20,5,1,9,1,15,4,5415,7380.0,271761801 +1100105,58,2717619,1,20,2,32,6,6,2,1,15,4,722Z,8680.0,271761901 +1100105,58,2717620,1,21,2,40,1,6,2,1,15,4,515,6670.0,271762001 +1100105,58,2717621,1,22,2,18,5,3,1,1,16,4,4481,5170.0,271762101 +1100105,58,2717622,1,19,1,8,5,6,1,1,15,4,713Z,8590.0,271762201 +1100105,58,2717623,1,18,2,-9,-9,6,1,1,15,4,6244,8470.0,271762301 +1100105,58,2717624,1,21,2,28,5,6,2,1,15,4,5241,6991.0,271762401 +1100105,58,2717625,1,20,2,15,4,1,1,1,15,4,722Z,8680.0,271762501 +1100105,58,2717626,1,19,1,40,6,1,1,1,15,4,487,6280.0,271762601 +1100105,58,2717627,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271762701 +1100105,58,2717628,1,21,1,25,5,1,1,1,15,4,611M1,7870.0,271762801 +1100105,58,2717629,1,19,2,30,6,6,1,1,15,4,442,4770.0,271762901 +1100105,58,2717630,1,18,2,-9,-9,6,1,1,15,4,,,271763001 +1100105,58,2717631,1,24,2,5,5,6,1,1,16,4,611M1,7870.0,271763101 +1100105,58,2717632,1,19,2,30,4,6,1,1,15,4,45121,5370.0,271763201 +1100105,58,2717633,1,22,2,-9,-9,6,2,1,15,4,,,271763301 +1100105,58,2717634,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,271763401 +1100105,58,2717635,1,19,2,-9,-9,6,2,1,15,4,,,271763501 +1100105,58,2717636,1,20,2,20,6,1,2,1,15,4,722Z,8680.0,271763601 +1100105,58,2717637,1,18,1,-9,-9,6,9,1,15,4,,,271763701 +1100105,58,2717638,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,271763801 +1100105,58,2717639,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271763901 +1100105,58,2717640,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271764001 +1100105,58,2717641,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271764101 +1100105,58,2717642,1,19,2,30,5,6,6,1,15,4,713Z,8590.0,271764201 +1100105,58,2717643,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271764301 +1100105,58,2717644,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271764401 +1100105,58,2717645,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271764501 +1100105,58,2717646,1,18,1,8,6,6,1,1,15,4,713Z,8590.0,271764601 +1100105,58,2717647,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271764701 +1100105,58,2717648,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,271764801 +1100105,58,2717649,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,271764901 +1100105,58,2717650,1,18,1,45,6,6,1,3,15,4,721M,8670.0,271765001 +1100105,58,2717651,1,19,2,-9,-9,6,1,1,15,4,,,271765101 +1100105,58,2717652,1,22,2,20,6,6,2,1,15,4,6231,8270.0,271765201 +1100105,58,2717653,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271765301 +1100105,58,2717654,1,21,2,-9,-9,6,2,1,15,4,,,271765401 +1100105,58,2717655,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271765501 +1100105,58,2717656,1,20,2,15,4,1,1,1,15,4,722Z,8680.0,271765601 +1100105,58,2717657,1,19,2,-9,-9,6,6,1,15,4,,,271765701 +1100105,58,2717658,1,21,2,20,4,1,2,1,15,4,611M1,7870.0,271765801 +1100105,58,2717659,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271765901 +1100105,58,2717660,1,19,2,-9,-9,6,1,1,15,4,,,271766001 +1100105,58,2717661,1,19,2,-9,-9,6,2,1,15,4,,,271766101 +1100105,58,2717662,1,20,2,15,4,1,1,1,15,4,722Z,8680.0,271766201 +1100105,58,2717663,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271766301 +1100105,58,2717664,1,18,1,-9,-9,6,1,1,15,4,,,271766401 +1100105,58,2717665,1,18,2,15,1,1,1,1,15,4,611M1,7870.0,271766501 +1100105,58,2717666,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271766601 +1100105,58,2717667,1,19,2,30,5,6,1,1,15,4,713Z,8590.0,271766701 +1100105,58,2717668,1,18,1,-9,-9,6,1,1,15,4,,,271766801 +1100105,58,2717669,1,20,1,20,6,6,2,1,15,4,813M,9170.0,271766901 +1100105,58,2717670,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271767001 +1100105,58,2717671,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271767101 +1100105,58,2717672,1,19,2,-9,-9,6,1,1,15,4,,,271767201 +1100105,58,2717673,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271767301 +1100105,58,2717674,1,20,1,25,6,6,2,1,15,4,6231,8270.0,271767401 +1100105,58,2717675,1,26,2,40,1,1,2,1,16,4,6111,7860.0,271767501 +1100105,58,2717676,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271767601 +1100105,58,2717677,1,21,2,25,3,1,1,1,15,4,611M1,7870.0,271767701 +1100105,58,2717678,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,271767801 +1100105,58,2717679,1,20,2,7,5,6,1,1,15,4,814,9290.0,271767901 +1100105,58,2717680,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271768001 +1100105,58,2717681,1,18,2,-9,-9,6,1,1,15,4,,,271768101 +1100105,58,2717682,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271768201 +1100105,58,2717683,1,19,1,50,6,6,1,1,15,4,311M2,1280.0,271768301 +1100105,58,2717684,1,22,1,40,6,6,1,1,15,4,5413,7290.0,271768401 +1100105,58,2717685,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,271768501 +1100105,58,2717686,1,19,2,-9,-9,6,2,1,15,4,,,271768601 +1100105,58,2717687,1,18,1,-9,-9,6,1,1,15,4,,,271768701 +1100105,58,2717688,1,23,2,-9,-9,6,2,1,16,4,6111,7860.0,271768801 +1100105,58,2717689,1,18,2,-9,-9,6,2,1,15,4,,,271768901 +1100105,58,2717690,1,19,2,10,5,1,6,1,15,4,611M1,7870.0,271769001 +1100105,58,2717691,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271769101 +1100105,58,2717692,1,18,2,-9,-9,6,6,1,15,4,,,271769201 +1100105,58,2717693,1,18,1,16,6,6,2,1,15,4,611M2,7880.0,271769301 +1100105,58,2717694,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,271769401 +1100105,58,2717695,1,19,2,35,6,6,1,1,15,4,713Z,8590.0,271769501 +1100105,58,2717696,1,21,2,20,6,6,1,1,15,4,6241,8370.0,271769601 +1100105,58,2717697,1,21,1,32,5,6,1,1,15,4,5241,6991.0,271769701 +1100105,58,2717698,1,18,2,-9,-9,6,2,1,15,4,,,271769801 +1100105,58,2717699,1,26,1,-9,-9,6,6,1,16,4,7112,8562.0,271769901 +1100105,58,2717700,1,20,1,20,6,6,7,1,15,4,3345,3380.0,271770001 +1100105,58,2717701,1,17,1,-9,-9,6,2,1,15,4,5121,6570.0,271770101 +1100105,58,2717702,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271770201 +1100105,58,2717703,1,20,2,40,6,6,2,1,15,4,6211,7970.0,271770301 +1100105,58,2717704,1,20,2,4,5,6,1,1,15,4,814,9290.0,271770401 +1100105,58,2717705,1,20,1,25,6,6,2,1,15,4,6231,8270.0,271770501 +1100105,58,2717706,1,19,2,3,6,6,1,2,15,4,6244,8470.0,271770601 +1100105,58,2717707,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271770701 +1100105,58,2717708,1,18,1,20,6,6,2,1,15,4,4442,4890.0,271770801 +1100105,58,2717709,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,271770901 +1100105,58,2717710,1,18,1,-9,-9,6,1,1,15,4,,,271771001 +1100105,58,2717711,1,19,2,30,5,6,6,1,15,4,713Z,8590.0,271771101 +1100105,58,2717712,1,19,2,30,5,6,6,1,15,4,713Z,8590.0,271771201 +1100105,58,2717713,1,21,2,20,3,1,2,1,15,4,611M1,7870.0,271771301 +1100105,58,2717714,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271771401 +1100105,58,2717715,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271771501 +1100105,58,2717716,1,18,1,20,6,6,2,1,15,4,4442,4890.0,271771601 +1100105,58,2717717,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271771701 +1100105,58,2717718,1,19,2,10,5,1,1,1,15,4,6213ZM,8080.0,271771801 +1100105,58,2717719,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271771901 +1100105,58,2717720,1,19,2,-9,-9,6,1,1,15,4,,,271772001 +1100105,58,2717721,1,19,2,8,1,6,1,1,15,4,4481,5170.0,271772101 +1100105,58,2717722,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271772201 +1100105,58,2717723,1,18,1,20,6,1,2,1,15,4,611M1,7870.0,271772301 +1100105,58,2717724,1,18,1,40,6,6,1,1,15,4,721M,8670.0,271772401 +1100105,58,2717725,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271772501 +1100105,58,2717726,1,20,1,-9,-9,6,9,1,15,4,,,271772601 +1100105,58,2717727,1,20,1,-9,-9,3,2,1,15,4,44511,4971.0,271772701 +1100105,58,2717728,1,18,2,8,4,6,1,1,15,4,722Z,8680.0,271772801 +1100105,58,2717729,1,18,2,-9,-9,6,1,1,15,4,,,271772901 +1100105,58,2717730,1,20,2,-9,-9,6,1,1,15,4,,,271773001 +1100105,58,2717731,1,19,1,-9,-9,6,1,1,15,4,,,271773101 +1100105,58,2717732,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271773201 +1100105,58,2717733,1,18,1,14,3,1,1,1,15,4,7211,8660.0,271773301 +1100105,58,2717734,1,19,2,9,5,1,1,1,15,4,611M1,7870.0,271773401 +1100105,58,2717735,1,20,1,12,4,1,6,1,15,4,611M1,7870.0,271773501 +1100105,58,2717736,1,20,2,6,5,2,1,1,15,4,712,8570.0,271773601 +1100105,58,2717737,1,20,1,20,4,1,2,1,15,4,611M1,7870.0,271773701 +1100105,58,2717738,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271773801 +1100105,58,2717739,1,18,1,-9,-9,6,1,1,15,4,,,271773901 +1100105,58,2717740,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271774001 +1100105,58,2717741,1,21,2,50,6,3,2,1,15,4,721M,8670.0,271774101 +1100105,58,2717742,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271774201 +1100105,58,2717743,1,18,2,-9,-9,6,2,1,15,4,,,271774301 +1100105,58,2717744,1,24,2,40,3,6,9,1,16,4,611M3,7890.0,271774401 +1100105,58,2717745,1,20,2,-9,-9,6,6,1,15,4,,,271774501 +1100105,58,2717746,1,20,1,45,5,6,6,1,15,4,4481,5170.0,271774601 +1100105,58,2717747,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271774701 +1100105,58,2717748,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,271774801 +1100105,58,2717749,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,271774901 +1100105,58,2717750,1,19,1,40,6,6,1,1,15,4,6111,7860.0,271775001 +1100105,58,2717751,1,19,2,-9,-9,6,2,1,15,4,,,271775101 +1100105,58,2717752,1,20,1,30,6,6,1,1,15,4,488,6290.0,271775201 +1100105,58,2717753,1,18,1,8,4,1,1,1,15,4,611M1,7870.0,271775301 +1100105,58,2717754,1,21,2,20,5,1,2,1,15,4,5121,6570.0,271775401 +1100105,58,2717755,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271775501 +1100105,58,2717756,1,19,2,-9,-9,6,1,1,15,4,,,271775601 +1100105,58,2717757,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271775701 +1100105,58,2717758,1,18,2,-9,-9,6,2,1,15,4,,,271775801 +1100105,58,2717759,1,21,2,20,3,1,2,1,15,4,611M1,7870.0,271775901 +1100105,58,2717760,1,20,2,-9,-9,6,1,1,15,4,,,271776001 +1100105,58,2717761,1,19,1,28,6,6,2,11,15,4,23,770.0,271776101 +1100105,58,2717762,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271776201 +1100105,58,2717763,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271776301 +1100105,58,2717764,1,19,1,50,6,6,2,1,15,4,311M2,1280.0,271776401 +1100105,58,2717765,1,21,1,32,5,6,1,1,15,4,5241,6991.0,271776501 +1100105,58,2717766,1,26,1,20,6,6,2,1,16,4,92119,9390.0,271776601 +1100105,58,2717767,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271776701 +1100105,58,2717768,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271776801 +1100105,58,2717769,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271776901 +1100105,58,2717770,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271777001 +1100105,58,2717771,1,19,1,-9,-9,6,1,1,15,4,531M,7071.0,271777101 +1100105,58,2717772,1,19,2,24,5,6,1,1,15,4,515,6670.0,271777201 +1100105,58,2717773,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271777301 +1100105,58,2717774,1,20,1,-9,-9,6,1,1,15,4,,,271777401 +1100105,58,2717775,1,18,2,20,1,1,1,1,15,4,722Z,8680.0,271777501 +1100105,58,2717776,1,21,2,-9,-9,6,2,1,15,4,4523,5391.0,271777601 +1100105,58,2717777,1,20,2,17,1,1,1,1,15,4,4483,5190.0,271777701 +1100105,58,2717778,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271777801 +1100105,58,2717779,1,20,2,-9,-9,6,1,1,15,4,,,271777901 +1100105,58,2717780,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,271778001 +1100105,58,2717781,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,271778101 +1100105,58,2717782,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271778201 +1100105,58,2717783,1,18,1,45,6,6,1,3,15,4,721M,8670.0,271778301 +1100105,58,2717784,1,18,2,-9,-9,6,1,3,15,4,7111,8561.0,271778401 +1100105,58,2717785,1,19,1,24,5,1,1,1,15,4,4539,5580.0,271778501 +1100105,58,2717786,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271778601 +1100105,58,2717787,1,20,1,-9,-9,6,1,1,15,4,,,271778701 +1100105,58,2717788,1,18,2,-9,-9,6,1,1,15,4,,,271778801 +1100105,58,2717789,1,18,1,-9,-9,6,6,1,15,4,611M3,7890.0,271778901 +1100105,58,2717790,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271779001 +1100105,58,2717791,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,271779101 +1100105,58,2717792,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,271779201 +1100105,58,2717793,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271779301 +1100105,58,2717794,1,19,2,20,4,1,2,1,15,4,5313,7072.0,271779401 +1100105,58,2717795,1,20,2,20,2,1,2,1,15,4,92119,9390.0,271779501 +1100105,58,2717796,1,21,2,6,4,1,1,1,15,4,611M1,7870.0,271779601 +1100105,58,2717797,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271779701 +1100105,58,2717798,1,20,2,-9,-9,6,1,1,15,4,,,271779801 +1100105,58,2717799,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271779901 +1100105,58,2717800,1,19,1,23,4,6,2,1,15,4,44511,4971.0,271780001 +1100105,58,2717801,1,21,1,32,5,6,1,1,15,4,5241,6991.0,271780101 +1100105,58,2717802,1,18,2,-9,-9,6,1,1,15,4,,,271780201 +1100105,58,2717803,1,18,2,-9,-9,6,2,1,15,4,,,271780301 +1100105,58,2717804,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271780401 +1100105,58,2717805,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271780501 +1100105,58,2717806,1,20,2,-9,-9,6,1,1,15,4,,,271780601 +1100105,58,2717807,1,21,2,30,5,6,2,1,15,4,712,8570.0,271780701 +1100105,58,2717808,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,271780801 +1100105,58,2717809,1,18,2,10,6,6,1,1,15,4,5616,7680.0,271780901 +1100105,58,2717810,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271781001 +1100105,58,2717811,1,19,2,-9,-9,6,6,1,15,4,,,271781101 +1100105,58,2717812,1,19,1,-9,-9,6,2,1,15,4,51111,6470.0,271781201 +1100105,58,2717813,1,18,2,-9,-9,6,1,1,15,4,,,271781301 +1100105,58,2717814,1,19,1,45,6,6,1,1,15,4,721M,8670.0,271781401 +1100105,58,2717815,1,20,2,10,1,1,1,1,15,4,611M1,7870.0,271781501 +1100105,58,2717816,1,19,2,3,6,6,1,1,15,4,6244,8470.0,271781601 +1100105,58,2717817,1,18,1,28,6,6,2,1,15,4,23,770.0,271781701 +1100105,58,2717818,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271781801 +1100105,58,2717819,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271781901 +1100105,58,2717820,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271782001 +1100105,58,2717821,1,19,2,-9,-9,6,1,24,15,4,,,271782101 +1100105,58,2717822,1,20,1,21,6,6,2,1,15,4,722Z,8680.0,271782201 +1100105,58,2717823,1,21,2,-9,-9,6,1,1,15,4,,,271782301 +1100105,58,2717824,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,271782401 +1100105,58,2717825,1,20,2,7,6,3,2,1,15,4,712,8570.0,271782501 +1100105,58,2717826,1,20,2,20,3,1,1,1,15,4,44821,5180.0,271782601 +1100105,58,2717827,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271782701 +1100105,58,2717828,1,19,2,-9,-9,6,1,1,15,4,,,271782801 +1100105,58,2717829,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271782901 +1100105,58,2717830,1,19,1,10,4,1,1,1,15,4,721M,8670.0,271783001 +1100105,58,2717831,1,20,1,-9,-9,6,6,1,15,4,,,271783101 +1100105,58,2717832,1,18,2,40,3,1,1,1,15,4,611M3,7890.0,271783201 +1100105,58,2717833,1,18,1,5,6,6,2,1,15,4,928P,9590.0,271783301 +1100105,58,2717834,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271783401 +1100105,58,2717835,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,271783501 +1100105,58,2717836,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,271783601 +1100105,58,2717837,1,20,1,6,6,2,1,1,15,4,712,8570.0,271783701 +1100105,58,2717838,1,19,2,3,6,6,1,1,15,4,6244,8470.0,271783801 +1100105,58,2717839,1,20,1,10,3,1,2,1,15,4,611M1,7870.0,271783901 +1100105,58,2717840,1,37,2,38,3,1,9,3,16,4,611M1,7870.0,271784001 +1100105,58,2717841,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271784101 +1100105,58,2717842,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271784201 +1100105,58,2717843,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271784301 +1100105,58,2717844,1,19,2,-9,-9,6,1,1,15,4,,,271784401 +1100105,58,2717845,1,18,2,8,6,6,1,1,15,4,712,8570.0,271784501 +1100105,58,2717846,1,20,1,-9,-9,6,1,1,15,4,,,271784601 +1100105,58,2717847,1,22,1,40,1,1,1,1,15,4,5415,7380.0,271784701 +1100105,58,2717848,1,23,1,40,6,3,2,1,16,4,813M,9170.0,271784801 +1100105,58,2717849,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271784901 +1100105,58,2717850,1,19,1,35,4,6,2,1,15,4,713Z,8590.0,271785001 +1100105,58,2717851,1,19,1,7,4,1,1,1,15,4,611M2,7880.0,271785101 +1100105,58,2717852,1,33,2,35,4,3,2,1,15,4,6231,8270.0,271785201 +1100105,58,2717853,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271785301 +1100105,58,2717854,1,22,2,10,4,1,6,1,15,4,813M,9170.0,271785401 +1100105,58,2717855,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271785501 +1100105,58,2717856,1,25,2,-9,-9,6,2,1,16,4,,,271785601 +1100105,58,2717857,1,18,1,50,6,6,1,1,15,4,5416,7390.0,271785701 +1100105,58,2717858,1,19,2,20,3,1,2,1,15,4,611M1,7870.0,271785801 +1100105,58,2717859,1,18,1,40,6,6,1,1,15,4,23,770.0,271785901 +1100105,58,2717860,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271786001 +1100105,58,2717861,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271786101 +1100105,58,2717862,1,19,2,-9,-9,6,1,1,15,4,,,271786201 +1100105,58,2717863,1,20,2,-9,-9,6,2,1,15,4,,,271786301 +1100105,58,2717864,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,271786401 +1100105,58,2717865,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271786501 +1100105,58,2717866,1,21,2,20,5,1,2,1,15,4,5121,6570.0,271786601 +1100105,58,2717867,1,18,2,40,5,6,6,1,15,4,712,8570.0,271786701 +1100105,58,2717868,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271786801 +1100105,58,2717869,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271786901 +1100105,58,2717870,1,18,2,10,4,6,1,1,15,4,44511,4971.0,271787001 +1100105,58,2717871,1,20,1,21,6,6,2,1,15,4,722Z,8680.0,271787101 +1100105,58,2717872,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271787201 +1100105,58,2717873,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,271787301 +1100105,58,2717874,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271787401 +1100105,58,2717875,1,19,2,-9,-9,6,2,1,15,4,,,271787501 +1100105,58,2717876,1,19,2,20,6,6,1,1,15,4,4511M,5275.0,271787601 +1100105,58,2717877,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,271787701 +1100105,58,2717878,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,271787801 +1100105,58,2717879,1,20,1,20,4,1,2,1,15,4,7115,8564.0,271787901 +1100105,58,2717880,1,19,2,20,3,1,1,1,15,4,611M1,7870.0,271788001 +1100105,58,2717881,1,18,1,50,5,6,1,1,15,4,713Z,8590.0,271788101 +1100105,58,2717882,1,19,1,8,6,1,2,1,15,4,611M1,7870.0,271788201 +1100105,58,2717883,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271788301 +1100105,58,2717884,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271788401 +1100105,58,2717885,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271788501 +1100105,58,2717886,1,19,2,-9,-9,6,2,1,15,4,,,271788601 +1100105,58,2717887,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271788701 +1100105,58,2717888,1,20,1,6,6,2,1,1,15,4,712,8570.0,271788801 +1100105,58,2717889,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271788901 +1100105,58,2717890,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,271789001 +1100105,58,2717891,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271789101 +1100105,58,2717892,1,18,2,20,3,6,1,1,15,4,5411,7270.0,271789201 +1100105,58,2717893,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271789301 +1100105,58,2717894,1,18,1,40,6,6,1,1,15,4,23,770.0,271789401 +1100105,58,2717895,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271789501 +1100105,58,2717896,1,24,2,5,5,6,1,1,16,4,611M1,7870.0,271789601 +1100105,58,2717897,1,18,2,-9,-9,6,2,1,15,4,,,271789701 +1100105,58,2717898,1,20,2,45,4,6,1,1,15,4,4481,5170.0,271789801 +1100105,58,2717899,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271789901 +1100105,58,2717900,1,21,1,26,3,1,1,1,15,4,712,8570.0,271790001 +1100105,58,2717901,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271790101 +1100105,58,2717902,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271790201 +1100105,58,2717903,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,271790301 +1100105,58,2717904,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,271790401 +1100105,58,2717905,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,271790501 +1100105,58,2717906,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271790601 +1100105,58,2717907,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,271790701 +1100105,58,2717908,1,21,2,10,4,1,2,1,15,4,611M1,7870.0,271790801 +1100105,58,2717909,1,19,1,-9,-9,6,1,1,15,4,,,271790901 +1100105,58,2717910,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271791001 +1100105,58,2717911,1,31,1,-9,-9,6,1,1,16,4,55,7570.0,271791101 +1100105,58,2717912,1,18,1,-9,-9,6,1,1,15,4,,,271791201 +1100105,58,2717913,1,21,2,40,1,6,2,1,15,4,515,6670.0,271791301 +1100105,58,2717914,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271791401 +1100105,58,2717915,1,18,2,10,4,6,1,1,15,4,44511,4971.0,271791501 +1100105,58,2717916,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271791601 +1100105,58,2717917,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271791701 +1100105,58,2717918,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271791801 +1100105,58,2717919,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,271791901 +1100105,58,2717920,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271792001 +1100105,58,2717921,1,18,2,-9,-9,6,1,1,15,4,,,271792101 +1100105,58,2717922,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,271792201 +1100105,58,2717923,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,271792301 +1100105,58,2717924,1,21,2,10,5,1,1,1,15,4,5411,7270.0,271792401 +1100105,58,2717925,1,22,1,24,6,6,2,1,15,4,4481,5170.0,271792501 +1100105,58,2717926,1,20,2,35,5,1,1,1,15,4,928P,9590.0,271792601 +1100105,58,2717927,1,19,2,20,6,1,1,1,15,4,611M1,7870.0,271792701 +1100105,58,2717928,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271792801 +1100105,58,2717929,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,271792901 +1100105,58,2717930,1,24,2,-9,-9,6,2,1,16,4,,,271793001 +1100105,58,2717931,1,18,1,80,5,6,1,1,15,4,721M,8670.0,271793101 +1100105,58,2717932,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271793201 +1100105,58,2717933,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271793301 +1100105,58,2717934,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,271793401 +1100105,58,2717935,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,271793501 +1100105,58,2717936,1,20,2,6,5,1,1,1,15,4,4481,5170.0,271793601 +1100105,58,2717937,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,271793701 +1100105,58,2717938,1,24,2,-9,-9,6,2,1,15,4,,,271793801 +1100105,58,2717939,1,20,1,12,4,1,6,1,15,4,611M1,7870.0,271793901 +1100105,58,2717940,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271794001 +1100105,58,2717941,1,20,2,20,6,6,2,1,15,4,713Z,8590.0,271794101 +1100105,58,2717942,1,19,2,-9,-9,6,2,1,15,4,,,271794201 +1100105,58,2717943,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271794301 +1100105,58,2717944,1,20,2,-9,-9,6,1,1,15,4,,,271794401 +1100105,58,2717945,1,18,2,-9,-9,6,1,1,15,4,,,271794501 +1100105,58,2717946,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271794601 +1100105,58,2717947,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,271794701 +1100105,58,2717948,1,17,2,-9,-9,6,6,1,15,4,,,271794801 +1100105,58,2717949,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271794901 +1100105,58,2717950,1,19,2,30,6,6,1,1,15,4,442,4770.0,271795001 +1100105,58,2717951,1,19,1,-9,-9,6,1,1,15,4,,,271795101 +1100105,58,2717952,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271795201 +1100105,58,2717953,1,24,2,-9,-9,6,2,1,16,4,,,271795301 +1100105,58,2717954,1,22,1,15,4,2,2,1,15,4,4481,5170.0,271795401 +1100105,58,2717955,1,19,2,-9,-9,6,1,1,15,4,,,271795501 +1100105,58,2717956,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271795601 +1100105,58,2717957,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271795701 +1100105,58,2717958,1,24,2,-9,-9,6,2,1,16,4,,,271795801 +1100105,58,2717959,1,18,2,-9,-9,6,2,1,15,4,,,271795901 +1100105,58,2717960,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271796001 +1100105,58,2717961,1,19,1,-9,-9,6,6,1,15,4,,,271796101 +1100105,58,2717962,1,19,1,30,4,6,1,1,15,4,722Z,8680.0,271796201 +1100105,58,2717963,1,18,2,-9,-9,6,2,1,15,4,,,271796301 +1100105,58,2717964,1,20,2,6,5,2,1,1,15,4,712,8570.0,271796401 +1100105,58,2717965,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,271796501 +1100105,58,2717966,1,19,2,-9,-9,6,6,1,15,4,,,271796601 +1100105,58,2717967,1,21,2,-9,-9,6,2,1,15,4,,,271796701 +1100105,58,2717968,1,18,1,40,6,6,1,1,15,4,23,770.0,271796801 +1100105,58,2717969,1,18,1,50,6,3,2,1,15,4,5614,7590.0,271796901 +1100105,58,2717970,1,18,1,10,6,6,1,1,15,4,6111,7860.0,271797001 +1100105,58,2717971,1,20,2,20,2,1,2,1,15,4,92119,9390.0,271797101 +1100105,58,2717972,1,19,2,-9,-9,6,1,1,15,4,,,271797201 +1100105,58,2717973,1,18,2,-9,-9,6,2,1,15,4,,,271797301 +1100105,58,2717974,1,19,1,12,5,1,1,1,15,4,713Z,8590.0,271797401 +1100105,58,2717975,1,18,1,12,6,1,1,1,15,4,611M1,7870.0,271797501 +1100105,58,2717976,1,21,2,-9,-9,6,2,1,15,4,,,271797601 +1100105,58,2717977,1,18,2,10,4,6,1,1,15,4,44511,4971.0,271797701 +1100105,58,2717978,1,18,1,-9,-9,6,1,1,15,4,,,271797801 +1100105,58,2717979,1,20,2,10,4,1,6,1,15,4,611M3,7890.0,271797901 +1100105,58,2717980,1,18,1,25,5,6,2,1,15,4,4453,4990.0,271798001 +1100105,58,2717981,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271798101 +1100105,58,2717982,1,28,1,40,1,1,1,1,16,4,8122,9080.0,271798201 +1100105,58,2717983,1,18,2,10,6,6,1,1,15,4,5616,7680.0,271798301 +1100105,58,2717984,1,18,2,-9,-9,6,1,1,15,4,,,271798401 +1100105,58,2717985,1,24,2,40,3,6,9,1,16,4,611M3,7890.0,271798501 +1100105,58,2717986,1,19,1,28,6,6,2,1,15,4,23,770.0,271798601 +1100105,58,2717987,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,271798701 +1100105,58,2717988,1,20,2,15,1,1,9,1,15,4,721M,8670.0,271798801 +1100105,58,2717989,1,20,2,-9,-9,6,2,1,15,4,6111,7860.0,271798901 +1100105,58,2717990,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,271799001 +1100105,58,2717991,1,20,2,35,5,1,1,1,15,4,928P,9590.0,271799101 +1100105,58,2717992,1,19,2,-9,-9,6,2,1,15,4,,,271799201 +1100105,58,2717993,1,25,2,20,3,1,1,1,16,4,611M1,7870.0,271799301 +1100105,58,2717994,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271799401 +1100105,58,2717995,1,24,1,35,2,6,6,1,16,4,5242,6992.0,271799501 +1100105,58,2717996,1,23,2,-9,-9,6,2,1,15,4,,,271799601 +1100105,58,2717997,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,271799701 +1100105,58,2717998,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,271799801 +1100105,58,2717999,1,20,2,32,6,6,1,1,15,4,722Z,8680.0,271799901 +1100105,58,2718000,1,18,2,18,3,6,2,1,15,4,722Z,8680.0,271800001 +1100105,58,2718001,1,19,2,-9,-9,6,1,1,15,4,,,271800101 +1100105,58,2718002,1,19,2,10,6,6,2,1,15,4,4481,5170.0,271800201 +1100105,58,2718003,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271800301 +1100105,58,2718004,1,20,1,-9,-9,6,1,1,15,4,5413,7290.0,271800401 +1100105,58,2718005,1,18,2,3,6,1,1,1,15,4,611M3,7890.0,271800501 +1100105,58,2718006,1,21,2,40,3,6,1,16,15,4,623M,8290.0,271800601 +1100105,58,2718007,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271800701 +1100105,58,2718008,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271800801 +1100105,58,2718009,1,28,1,40,1,1,1,1,16,4,8122,9080.0,271800901 +1100105,58,2718010,1,20,2,32,4,6,1,1,15,4,611M3,7890.0,271801001 +1100105,58,2718011,1,22,1,50,6,1,2,1,15,4,51913,6672.0,271801101 +1100105,58,2718012,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,271801201 +1100105,58,2718013,1,19,2,-9,-9,6,2,1,15,4,,,271801301 +1100105,58,2718014,1,21,2,20,5,1,2,1,15,4,5121,6570.0,271801401 +1100105,58,2718015,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271801501 +1100105,58,2718016,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271801601 +1100105,58,2718017,1,21,2,-9,-9,6,1,1,15,4,23,770.0,271801701 +1100105,58,2718018,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271801801 +1100105,58,2718019,1,28,2,10,5,1,2,1,15,4,722Z,8680.0,271801901 +1100105,58,2718020,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271802001 +1100105,58,2718021,1,18,1,35,4,1,2,1,15,4,611M1,7870.0,271802101 +1100105,58,2718022,1,21,2,12,2,1,1,1,15,4,51912,6770.0,271802201 +1100105,58,2718023,1,21,2,-9,-9,6,1,1,15,4,,,271802301 +1100105,58,2718024,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,271802401 +1100105,58,2718025,1,18,1,14,5,1,1,1,15,4,611M1,7870.0,271802501 +1100105,58,2718026,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,271802601 +1100105,58,2718027,1,21,2,25,1,1,9,1,15,4,44821,5180.0,271802701 +1100105,58,2718028,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,271802801 +1100105,58,2718029,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,271802901 +1100105,58,2718030,1,19,1,24,5,1,1,1,15,4,4539,5580.0,271803001 +1100105,58,2718031,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271803101 +1100105,58,2718032,1,18,2,20,6,6,6,1,15,4,721M,8670.0,271803201 +1100105,58,2718033,1,21,2,4,1,1,2,1,15,4,92MP,9470.0,271803301 +1100105,58,2718034,1,21,2,-9,-9,6,2,1,15,4,,,271803401 +1100105,58,2718035,1,24,2,-9,-9,6,2,1,15,4,,,271803501 +1100105,58,2718036,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271803601 +1100105,58,2718037,1,21,2,-9,-9,6,1,1,15,4,,,271803701 +1100105,58,2718038,1,18,1,10,4,1,1,1,15,4,721M,8670.0,271803801 +1100105,58,2718039,1,21,2,40,6,6,1,1,15,4,611M1,7870.0,271803901 +1100105,58,2718040,1,23,1,-9,-9,6,2,1,15,4,,,271804001 +1100105,58,2718041,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271804101 +1100105,58,2718042,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271804201 +1100105,58,2718043,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271804301 +1100105,58,2718044,1,18,2,10,4,6,1,1,15,4,44511,4971.0,271804401 +1100105,58,2718045,1,18,2,-9,-9,6,1,1,15,4,,,271804501 +1100105,58,2718046,1,19,1,-9,-9,6,1,1,15,4,7115,8564.0,271804601 +1100105,58,2718047,1,20,2,7,6,3,2,1,15,4,712,8570.0,271804701 +1100105,58,2718048,1,21,1,12,6,1,1,1,15,4,611M1,7870.0,271804801 +1100105,58,2718049,1,18,1,-9,-9,6,2,1,15,4,,,271804901 +1100105,58,2718050,1,20,2,45,6,3,2,1,15,4,5412,7280.0,271805001 +1100105,58,2718051,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271805101 +1100105,58,2718052,1,18,2,-9,-9,6,1,1,15,4,,,271805201 +1100105,58,2718053,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271805301 +1100105,58,2718054,1,19,1,10,6,6,9,1,15,4,813M,9170.0,271805401 +1100105,58,2718055,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271805501 +1100105,58,2718056,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,271805601 +1100105,58,2718057,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271805701 +1100105,58,2718058,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271805801 +1100105,58,2718059,1,21,1,16,4,1,1,1,15,4,622M,8191.0,271805901 +1100105,58,2718060,1,19,2,-9,-9,6,2,1,15,4,,,271806001 +1100105,58,2718061,1,20,2,-9,-9,6,1,1,15,4,,,271806101 +1100105,58,2718062,1,21,2,40,6,6,1,1,15,4,3116,1180.0,271806201 +1100105,58,2718063,1,21,1,32,5,6,1,1,15,4,5241,6991.0,271806301 +1100105,58,2718064,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271806401 +1100105,58,2718065,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,271806501 +1100105,58,2718066,1,18,1,50,5,6,1,1,15,4,713Z,8590.0,271806601 +1100105,58,2718067,1,22,1,40,1,1,1,1,15,4,5415,7380.0,271806701 +1100105,58,2718068,1,19,1,40,6,6,1,1,15,4,6111,7860.0,271806801 +1100105,58,2718069,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,271806901 +1100105,58,2718070,1,25,1,40,1,1,2,1,16,4,6216,8170.0,271807001 +1100105,58,2718071,1,18,2,8,4,6,1,1,15,4,722Z,8680.0,271807101 +1100105,58,2718072,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,271807201 +1100105,58,2718073,1,18,2,-9,-9,6,6,1,15,4,,,271807301 +1100105,58,2718074,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,271807401 +1100105,58,2718075,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271807501 +1100105,58,2718076,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271807601 +1100105,58,2718077,1,19,1,4,6,6,1,1,15,4,814,9290.0,271807701 +1100105,58,2718078,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271807801 +1100105,58,2718079,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271807901 +1100105,58,2718080,1,18,2,40,5,6,6,1,15,4,712,8570.0,271808001 +1100105,58,2718081,1,20,1,-9,-9,6,1,1,15,4,713Z,8590.0,271808101 +1100105,58,2718082,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271808201 +1100105,58,2718083,1,19,2,20,6,6,1,1,15,4,722Z,8680.0,271808301 +1100105,58,2718084,1,19,2,8,1,6,1,1,15,4,4481,5170.0,271808401 +1100105,58,2718085,1,19,1,30,5,6,1,1,15,4,4481,5170.0,271808501 +1100105,58,2718086,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271808601 +1100105,58,2718087,1,20,2,40,6,6,1,3,15,4,6211,7970.0,271808701 +1100105,58,2718088,1,20,1,-9,-9,6,1,1,15,4,713Z,8590.0,271808801 +1100105,58,2718089,1,18,2,20,1,1,1,1,15,4,722Z,8680.0,271808901 +1100105,58,2718090,1,19,1,7,4,1,1,1,15,4,611M2,7880.0,271809001 +1100105,58,2718091,1,19,2,-9,-9,6,2,1,15,4,,,271809101 +1100105,58,2718092,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271809201 +1100105,58,2718093,1,20,2,15,1,1,9,1,15,4,721M,8670.0,271809301 +1100105,58,2718094,1,23,2,20,6,6,2,1,16,4,6241,8370.0,271809401 +1100105,58,2718095,1,18,2,15,1,1,1,1,15,4,611M1,7870.0,271809501 +1100105,58,2718096,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271809601 +1100105,58,2718097,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271809701 +1100105,58,2718098,1,20,2,15,6,6,9,1,15,4,4481,5170.0,271809801 +1100105,58,2718099,1,18,2,-9,-9,6,1,1,15,4,,,271809901 +1100105,58,2718100,1,22,2,-9,-9,6,1,1,15,4,,,271810001 +1100105,58,2718101,1,18,2,99,6,6,2,1,15,4,721M,8670.0,271810101 +1100105,58,2718102,1,19,1,-9,-9,6,6,1,15,4,,,271810201 +1100105,58,2718103,1,18,2,20,6,6,1,1,15,4,8129,9090.0,271810301 +1100105,58,2718104,1,19,2,-9,-9,6,6,1,15,4,,,271810401 +1100105,58,2718105,1,18,2,-9,-9,6,1,1,15,4,,,271810501 +1100105,58,2718106,1,18,2,-9,-9,6,2,1,15,4,,,271810601 +1100105,58,2718107,1,18,1,40,6,6,1,1,15,4,23,770.0,271810701 +1100105,58,2718108,1,21,2,-9,-9,6,2,1,15,4,,,271810801 +1100105,58,2718109,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,271810901 +1100105,58,2718110,1,19,2,35,6,6,1,1,15,4,713Z,8590.0,271811001 +1100105,58,2718111,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271811101 +1100105,58,2718112,1,19,2,20,3,1,1,1,15,4,611M1,7870.0,271811201 +1100105,58,2718113,1,18,2,20,6,6,6,1,15,4,721M,8670.0,271811301 +1100105,58,2718114,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,271811401 +1100105,58,2718115,1,19,1,-9,-9,6,1,1,15,4,,,271811501 +1100105,58,2718116,1,21,1,40,6,6,2,1,15,4,4241,4370.0,271811601 +1100105,58,2718117,1,19,1,-9,-9,6,1,1,15,4,,,271811701 +1100105,58,2718118,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271811801 +1100105,58,2718119,1,21,2,20,5,1,9,1,15,4,5121,6570.0,271811901 +1100105,58,2718120,1,26,2,35,6,1,2,1,15,4,487,6280.0,271812001 +1100105,58,2718121,1,18,2,7,4,1,2,1,15,4,713Z,8590.0,271812101 +1100105,58,2718122,1,18,1,-9,-9,6,1,1,15,4,,,271812201 +1100105,58,2718123,1,24,2,-9,-9,6,2,1,16,4,,,271812301 +1100105,58,2718124,1,22,1,40,5,6,6,1,15,4,51913,6672.0,271812401 +1100105,58,2718125,1,18,2,-9,-9,6,1,1,15,4,,,271812501 +1100105,58,2718126,1,21,1,40,6,1,1,1,15,4,337,3895.0,271812601 +1100105,58,2718127,1,19,2,-9,-9,6,1,24,15,4,,,271812701 +1100105,58,2718128,1,19,2,12,5,1,1,1,15,4,611M1,7870.0,271812801 +1100105,58,2718129,1,21,2,40,1,6,2,1,15,4,515,6670.0,271812901 +1100105,58,2718130,1,19,2,30,5,6,1,1,15,4,622M,8191.0,271813001 +1100105,58,2718131,1,20,2,15,4,1,1,1,15,4,6111,7860.0,271813101 +1100105,58,2718132,1,18,1,10,5,6,1,1,15,4,6211,7970.0,271813201 +1100105,58,2718133,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271813301 +1100105,58,2718134,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271813401 +1100105,58,2718135,1,20,2,8,4,1,1,1,15,4,611M3,7890.0,271813501 +1100105,58,2718136,1,20,1,45,5,6,6,1,15,4,4481,5170.0,271813601 +1100105,58,2718137,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271813701 +1100105,58,2718138,1,21,2,20,1,1,2,1,15,4,722Z,8680.0,271813801 +1100105,58,2718139,1,20,2,8,4,1,1,1,15,4,611M3,7890.0,271813901 +1100105,58,2718140,1,18,2,-9,-9,6,1,1,15,4,,,271814001 +1100105,58,2718141,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271814101 +1100105,58,2718142,1,18,2,45,6,6,1,1,15,4,814,9290.0,271814201 +1100105,58,2718143,1,21,2,-9,-9,6,2,1,15,4,,,271814301 +1100105,58,2718144,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271814401 +1100105,58,2718145,1,18,2,-9,-9,6,2,1,15,4,,,271814501 +1100105,58,2718146,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271814601 +1100105,58,2718147,1,21,2,20,5,1,2,1,15,4,5121,6570.0,271814701 +1100105,58,2718148,1,20,2,4,5,6,1,1,15,4,814,9290.0,271814801 +1100105,58,2718149,1,20,2,10,6,1,1,1,15,4,611M1,7870.0,271814901 +1100105,58,2718150,1,19,2,35,6,6,1,1,15,4,713Z,8590.0,271815001 +1100105,58,2718151,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271815101 +1100105,58,2718152,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271815201 +1100105,58,2718153,1,18,2,20,3,6,1,1,15,4,5411,7270.0,271815301 +1100105,58,2718154,1,20,2,25,6,6,1,1,15,4,623M,8290.0,271815401 +1100105,58,2718155,1,22,2,6,4,6,6,1,15,4,712,8570.0,271815501 +1100105,58,2718156,1,20,2,-9,-9,6,2,1,15,4,,,271815601 +1100105,58,2718157,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271815701 +1100105,58,2718158,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271815801 +1100105,58,2718159,1,20,2,6,5,1,1,1,15,4,4481,5170.0,271815901 +1100105,58,2718160,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271816001 +1100105,58,2718161,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271816101 +1100105,58,2718162,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271816201 +1100105,58,2718163,1,19,2,24,5,6,1,1,15,4,722Z,8680.0,271816301 +1100105,58,2718164,1,21,2,20,6,6,1,1,15,4,611M1,7870.0,271816401 +1100105,58,2718165,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,271816501 +1100105,58,2718166,1,20,2,10,4,1,6,1,15,4,611M3,7890.0,271816601 +1100105,58,2718167,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271816701 +1100105,58,2718168,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,271816801 +1100105,58,2718169,1,19,1,45,6,6,1,1,15,4,721M,8670.0,271816901 +1100105,58,2718170,1,29,2,-9,-9,6,6,1,16,4,,,271817001 +1100105,58,2718171,1,20,1,25,3,1,6,1,15,4,6241,8370.0,271817101 +1100105,58,2718172,1,18,2,-9,-9,6,1,1,15,4,,,271817201 +1100105,58,2718173,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271817301 +1100105,58,2718174,1,20,1,16,4,6,1,1,15,4,7211,8660.0,271817401 +1100105,58,2718175,1,20,1,20,4,1,1,1,15,4,722Z,8680.0,271817501 +1100105,58,2718176,1,19,2,20,3,1,1,1,15,4,611M1,7870.0,271817601 +1100105,58,2718177,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271817701 +1100105,58,2718178,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271817801 +1100105,58,2718179,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,271817901 +1100105,58,2718180,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271818001 +1100105,58,2718181,1,20,1,-9,-9,6,1,24,15,4,9211MP,9370.0,271818101 +1100105,58,2718182,1,18,1,45,6,6,1,1,15,4,923,9480.0,271818201 +1100105,58,2718183,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271818301 +1100105,58,2718184,1,19,2,15,1,1,1,1,15,4,611M1,7870.0,271818401 +1100105,58,2718185,1,18,2,7,4,1,6,1,15,4,713Z,8590.0,271818501 +1100105,58,2718186,1,21,2,-9,-9,6,1,1,15,4,23,770.0,271818601 +1100105,58,2718187,1,21,2,10,4,6,1,1,15,4,611M1,7870.0,271818701 +1100105,58,2718188,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,271818801 +1100105,58,2718189,1,21,1,20,4,1,1,1,15,4,813M,9170.0,271818901 +1100105,58,2718190,1,29,2,-9,-9,6,6,1,16,4,,,271819001 +1100105,58,2718191,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271819101 +1100105,58,2718192,1,21,2,50,6,3,2,1,15,4,721M,8670.0,271819201 +1100105,58,2718193,1,18,1,8,4,1,1,1,15,4,611M1,7870.0,271819301 +1100105,58,2718194,1,19,1,10,4,1,1,1,15,4,721M,8670.0,271819401 +1100105,58,2718195,1,19,2,40,5,6,1,1,15,4,712,8570.0,271819501 +1100105,58,2718196,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271819601 +1100105,58,2718197,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,271819701 +1100105,58,2718198,1,19,2,-9,-9,6,2,1,15,4,,,271819801 +1100105,58,2718199,1,17,1,17,6,1,1,1,15,4,4539,5580.0,271819901 +1100105,58,2718200,1,18,2,20,3,6,1,1,15,4,44611,5070.0,271820001 +1100105,58,2718201,1,20,1,-9,-9,6,1,1,15,4,713Z,8590.0,271820101 +1100105,58,2718202,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271820201 +1100105,58,2718203,1,20,1,40,6,6,1,1,15,4,522M,6890.0,271820301 +1100105,58,2718204,1,21,2,-9,-9,6,2,1,15,4,,,271820401 +1100105,58,2718205,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271820501 +1100105,58,2718206,1,20,1,20,4,1,2,1,15,4,611M1,7870.0,271820601 +1100105,58,2718207,1,21,1,35,5,6,1,1,15,4,52M2,6970.0,271820701 +1100105,58,2718208,1,22,1,40,6,6,1,1,15,4,5413,7290.0,271820801 +1100105,58,2718209,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271820901 +1100105,58,2718210,1,20,1,6,4,1,2,1,15,4,6242,8380.0,271821001 +1100105,58,2718211,1,20,1,-9,-9,6,1,24,15,4,,,271821101 +1100105,58,2718212,1,21,2,-9,-9,6,2,1,15,4,,,271821201 +1100105,58,2718213,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271821301 +1100105,58,2718214,1,19,2,-9,-9,6,1,24,15,4,,,271821401 +1100105,58,2718215,1,20,1,50,6,1,2,1,15,4,611M1,7870.0,271821501 +1100105,58,2718216,1,21,2,25,3,1,1,1,15,4,611M1,7870.0,271821601 +1100105,58,2718217,1,19,2,-9,-9,6,2,1,15,4,,,271821701 +1100105,58,2718218,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271821801 +1100105,58,2718219,1,19,1,9,6,6,1,1,15,4,722Z,8680.0,271821901 +1100105,58,2718220,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271822001 +1100105,58,2718221,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271822101 +1100105,58,2718222,1,20,1,-9,-9,3,2,1,15,4,44511,4971.0,271822201 +1100105,58,2718223,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271822301 +1100105,58,2718224,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271822401 +1100105,58,2718225,1,20,2,8,4,1,1,1,15,4,611M3,7890.0,271822501 +1100105,58,2718226,1,17,2,-9,-9,6,2,1,15,4,,,271822601 +1100105,58,2718227,1,20,2,25,1,1,8,24,15,4,3118Z,1270.0,271822701 +1100105,58,2718228,1,18,1,40,6,6,2,19,15,4,5617Z,7690.0,271822801 +1100105,58,2718229,1,19,2,-9,-9,6,1,1,15,4,,,271822901 +1100105,58,2718230,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271823001 +1100105,58,2718231,1,18,2,-9,-9,6,1,1,15,4,,,271823101 +1100105,58,2718232,1,18,1,-9,-9,6,2,1,15,4,,,271823201 +1100105,58,2718233,1,20,2,32,6,6,2,1,15,4,722Z,8680.0,271823301 +1100105,58,2718234,1,20,2,-9,-9,6,1,1,15,4,,,271823401 +1100105,58,2718235,1,21,1,30,5,2,2,1,15,4,447,5090.0,271823501 +1100105,58,2718236,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271823601 +1100105,58,2718237,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271823701 +1100105,58,2718238,1,18,2,-9,-9,6,2,1,15,4,,,271823801 +1100105,58,2718239,1,20,2,16,3,2,1,1,15,4,611M1,7870.0,271823901 +1100105,58,2718240,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271824001 +1100105,58,2718241,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271824101 +1100105,58,2718242,1,19,2,-9,-9,6,1,1,15,4,,,271824201 +1100105,58,2718243,1,22,2,-9,-9,6,2,24,15,4,,,271824301 +1100105,58,2718244,1,20,1,-9,-9,6,1,1,15,4,5413,7290.0,271824401 +1100105,58,2718245,1,24,2,50,6,3,2,1,15,4,721M,8670.0,271824501 +1100105,58,2718246,1,20,2,-9,-9,6,2,1,15,4,,,271824601 +1100105,58,2718247,1,18,2,-9,-9,6,2,1,15,4,,,271824701 +1100105,58,2718248,1,19,2,10,5,1,6,1,15,4,611M1,7870.0,271824801 +1100105,58,2718249,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271824901 +1100105,58,2718250,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271825001 +1100105,58,2718251,1,18,1,10,5,6,1,1,15,4,6211,7970.0,271825101 +1100105,58,2718252,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,271825201 +1100105,58,2718253,1,20,2,12,1,2,1,1,15,4,45121,5370.0,271825301 +1100105,58,2718254,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271825401 +1100105,58,2718255,1,22,2,-9,-9,6,2,1,15,4,6111,7860.0,271825501 +1100105,58,2718256,1,19,2,8,1,6,1,1,15,4,4481,5170.0,271825601 +1100105,58,2718257,1,22,1,24,6,6,2,1,15,4,4481,5170.0,271825701 +1100105,58,2718258,1,18,2,-9,-9,6,2,1,15,4,,,271825801 +1100105,58,2718259,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271825901 +1100105,58,2718260,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,271826001 +1100105,58,2718261,1,20,1,-9,-9,6,6,1,15,4,,,271826101 +1100105,58,2718262,1,18,1,-9,-9,6,2,1,15,4,,,271826201 +1100105,58,2718263,1,19,2,3,6,6,1,2,15,4,6244,8470.0,271826301 +1100105,58,2718264,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271826401 +1100105,58,2718265,1,20,1,-9,-9,6,9,1,15,4,,,271826501 +1100105,58,2718266,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271826601 +1100105,58,2718267,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271826701 +1100105,58,2718268,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271826801 +1100105,58,2718269,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,271826901 +1100105,58,2718270,1,18,2,-9,-9,6,6,1,15,4,,,271827001 +1100105,58,2718271,1,28,2,15,6,6,6,1,16,4,5411,7270.0,271827101 +1100105,58,2718272,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271827201 +1100105,58,2718273,1,19,1,40,6,6,1,1,15,4,5416,7390.0,271827301 +1100105,58,2718274,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,271827401 +1100105,58,2718275,1,22,1,24,6,6,2,1,15,4,4481,5170.0,271827501 +1100105,58,2718276,1,20,2,18,5,3,1,1,15,4,4481,5170.0,271827601 +1100105,58,2718277,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,271827701 +1100105,58,2718278,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271827801 +1100105,58,2718279,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271827901 +1100105,58,2718280,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271828001 +1100105,58,2718281,1,20,1,21,6,6,2,1,15,4,722Z,8680.0,271828101 +1100105,58,2718282,1,20,2,-9,-9,6,2,1,15,4,6111,7860.0,271828201 +1100105,58,2718283,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271828301 +1100105,58,2718284,1,19,2,33,6,6,1,1,15,4,713Z,8590.0,271828401 +1100105,58,2718285,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,271828501 +1100105,58,2718286,1,21,2,-9,-9,6,1,1,15,4,,,271828601 +1100105,58,2718287,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271828701 +1100105,58,2718288,1,21,1,20,4,1,1,1,15,4,611M1,7870.0,271828801 +1100105,58,2718289,1,18,1,-9,-9,6,2,1,15,4,,,271828901 +1100105,58,2718290,1,18,2,10,6,1,1,1,15,4,713Z,8590.0,271829001 +1100105,58,2718291,1,18,2,-9,-9,6,2,1,15,4,,,271829101 +1100105,58,2718292,1,20,2,35,5,1,1,1,15,4,928P,9590.0,271829201 +1100105,58,2718293,1,21,2,40,6,6,1,1,15,4,611M1,7870.0,271829301 +1100105,58,2718294,1,19,1,28,6,6,2,1,15,4,23,770.0,271829401 +1100105,58,2718295,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,271829501 +1100105,58,2718296,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271829601 +1100105,58,2718297,1,19,1,10,6,6,1,1,15,4,23,770.0,271829701 +1100105,58,2718298,1,22,2,20,6,6,2,1,15,4,713Z,8590.0,271829801 +1100105,58,2718299,1,20,1,-9,-9,6,9,1,15,4,,,271829901 +1100105,58,2718300,1,20,2,-9,-9,6,1,1,15,4,,,271830001 +1100105,58,2718301,1,18,2,10,6,6,1,1,15,4,722Z,8680.0,271830101 +1100105,58,2718302,1,18,1,-9,-9,6,9,1,15,4,,,271830201 +1100105,58,2718303,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271830301 +1100105,58,2718304,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271830401 +1100105,58,2718305,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271830501 +1100105,58,2718306,1,23,2,10,4,1,2,1,15,4,611M1,7870.0,271830601 +1100105,58,2718307,1,21,1,25,5,1,1,1,15,4,611M1,7870.0,271830701 +1100105,58,2718308,1,19,2,-9,-9,6,1,1,15,4,,,271830801 +1100105,58,2718309,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271830901 +1100105,58,2718310,1,18,2,40,5,6,1,1,15,4,712,8570.0,271831001 +1100105,58,2718311,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271831101 +1100105,58,2718312,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271831201 +1100105,58,2718313,1,20,2,25,6,6,1,1,15,4,623M,8290.0,271831301 +1100105,58,2718314,1,20,2,25,6,6,1,1,15,4,623M,8290.0,271831401 +1100105,58,2718315,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271831501 +1100105,58,2718316,1,19,2,22,6,6,1,1,15,4,722Z,8680.0,271831601 +1100105,58,2718317,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271831701 +1100105,58,2718318,1,20,2,25,6,6,1,1,15,4,623M,8290.0,271831801 +1100105,58,2718319,1,21,1,12,5,6,2,1,15,4,713Z,8590.0,271831901 +1100105,58,2718320,1,18,1,-9,-9,6,2,1,15,4,51111,6470.0,271832001 +1100105,58,2718321,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271832101 +1100105,58,2718322,1,21,2,50,6,3,2,1,15,4,721M,8670.0,271832201 +1100105,58,2718323,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271832301 +1100105,58,2718324,1,19,2,-9,-9,6,1,1,15,4,,,271832401 +1100105,58,2718325,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271832501 +1100105,58,2718326,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271832601 +1100105,58,2718327,1,19,1,10,4,1,1,1,15,4,721M,8670.0,271832701 +1100105,58,2718328,1,18,1,-9,-9,6,6,1,15,4,,,271832801 +1100105,58,2718329,1,20,1,-9,-9,6,1,1,15,4,711M,8563.0,271832901 +1100105,58,2718330,1,21,1,16,4,1,1,1,15,4,622M,8191.0,271833001 +1100105,58,2718331,1,25,1,40,1,1,2,1,16,4,6216,8170.0,271833101 +1100105,58,2718332,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271833201 +1100105,58,2718333,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,271833301 +1100105,58,2718334,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,271833401 +1100105,58,2718335,1,20,1,26,3,1,1,1,15,4,712,8570.0,271833501 +1100105,58,2718336,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271833601 +1100105,58,2718337,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271833701 +1100105,58,2718338,1,20,1,20,6,6,1,1,15,3,611M3,7890.0,271833801 +1100105,58,2718339,1,19,1,-9,-9,6,1,1,15,4,,,271833901 +1100105,58,2718340,1,21,2,15,6,6,1,1,15,4,4481,5170.0,271834001 +1100105,58,2718341,1,20,2,50,6,3,2,1,15,4,721M,8670.0,271834101 +1100105,58,2718342,1,19,2,-9,-9,6,1,1,15,4,,,271834201 +1100105,58,2718343,1,18,2,-9,-9,6,1,1,15,4,,,271834301 +1100105,58,2718344,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,271834401 +1100105,58,2718345,1,22,1,20,6,6,1,1,15,4,3345,3380.0,271834501 +1100105,58,2718346,1,46,2,20,1,2,2,1,16,4,611M1,7870.0,271834601 +1100105,58,2718347,1,23,2,-9,-9,6,2,1,15,4,,,271834701 +1100105,58,2718348,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271834801 +1100105,58,2718349,1,19,1,-9,-9,6,1,24,15,4,5411,7270.0,271834901 +1100105,58,2718350,1,19,1,20,6,6,1,1,15,4,5416,7390.0,271835001 +1100105,58,2718351,1,19,2,1,6,3,6,1,15,4,6111,7860.0,271835101 +1100105,58,2718352,1,18,1,40,6,6,2,19,15,4,5617Z,7690.0,271835201 +1100105,58,2718353,1,20,1,6,5,1,2,1,15,4,611M2,7880.0,271835301 +1100105,58,2718354,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271835401 +1100105,58,2718355,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271835501 +1100105,58,2718356,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271835601 +1100105,58,2718357,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,271835701 +1100105,58,2718358,1,19,1,10,6,6,9,1,15,4,813M,9170.0,271835801 +1100105,58,2718359,1,20,1,40,4,2,1,1,15,4,722Z,8680.0,271835901 +1100105,58,2718360,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,271836001 +1100105,58,2718361,1,21,2,20,4,1,2,1,15,4,611M1,7870.0,271836101 +1100105,58,2718362,1,20,2,7,6,3,2,1,15,4,712,8570.0,271836201 +1100105,58,2718363,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271836301 +1100105,58,2718364,1,18,2,-9,-9,6,6,1,15,4,,,271836401 +1100105,58,2718365,1,22,1,40,6,6,1,1,15,4,5413,7290.0,271836501 +1100105,58,2718366,1,19,1,40,6,6,1,1,15,4,713Z,8590.0,271836601 +1100105,58,2718367,1,18,2,-9,-9,6,2,1,15,4,,,271836701 +1100105,58,2718368,1,19,1,-9,-9,6,1,1,15,4,,,271836801 +1100105,58,2718369,1,19,2,20,4,1,1,1,15,4,561M,7780.0,271836901 +1100105,58,2718370,1,21,1,25,5,1,1,1,15,4,611M1,7870.0,271837001 +1100105,58,2718371,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,271837101 +1100105,58,2718372,1,19,2,-9,-9,6,2,1,15,4,,,271837201 +1100105,58,2718373,1,21,2,20,1,1,1,1,15,4,722Z,8680.0,271837301 +1100105,58,2718374,1,46,2,20,1,2,2,1,16,4,611M1,7870.0,271837401 +1100105,58,2718375,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271837501 +1100105,58,2718376,1,20,2,25,5,6,1,1,15,4,4481,5170.0,271837601 +1100105,58,2718377,1,19,2,15,1,1,1,1,15,4,611M1,7870.0,271837701 +1100105,58,2718378,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271837801 +1100105,58,2718379,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,271837901 +1100105,58,2718380,1,18,2,-9,-9,6,1,24,15,4,,,271838001 +1100105,58,2718381,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271838101 +1100105,58,2718382,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,271838201 +1100105,58,2718383,1,23,2,40,3,6,9,1,16,4,611M3,7890.0,271838301 +1100105,58,2718384,1,21,2,20,6,6,2,1,15,4,6211,7970.0,271838401 +1100105,58,2718385,1,18,1,40,3,1,6,1,15,4,487,6280.0,271838501 +1100105,58,2718386,1,19,2,15,4,6,2,1,15,4,45121,5370.0,271838601 +1100105,58,2718387,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271838701 +1100105,58,2718388,1,19,2,8,5,2,1,24,15,4,6111,7860.0,271838801 +1100105,58,2718389,1,20,2,40,6,6,1,3,15,4,6211,7970.0,271838901 +1100105,58,2718390,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271839001 +1100105,58,2718391,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,271839101 +1100105,58,2718392,1,18,2,-9,-9,6,1,1,15,4,712,8570.0,271839201 +1100105,58,2718393,1,18,2,8,5,1,1,1,15,4,611M1,7870.0,271839301 +1100105,58,2718394,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271839401 +1100105,58,2718395,1,19,2,-9,-9,6,1,24,15,4,,,271839501 +1100105,58,2718396,1,19,2,8,1,6,1,1,15,4,4481,5170.0,271839601 +1100105,58,2718397,1,18,2,-9,-9,6,2,1,15,4,,,271839701 +1100105,58,2718398,1,22,2,-9,-9,6,1,1,15,4,,,271839801 +1100105,58,2718399,1,19,1,30,4,6,1,1,15,4,722Z,8680.0,271839901 +1100105,58,2718400,1,20,1,50,6,1,2,1,15,4,611M1,7870.0,271840001 +1100105,58,2718401,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,271840101 +1100105,58,2718402,1,20,2,40,6,6,2,1,15,4,6211,7970.0,271840201 +1100105,58,2718403,1,26,1,20,6,6,2,1,16,4,92119,9390.0,271840301 +1100105,58,2718404,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,271840401 +1100105,58,2718405,1,21,1,35,5,6,1,1,15,4,52M2,6970.0,271840501 +1100105,58,2718406,1,19,1,45,6,6,1,1,15,4,721M,8670.0,271840601 +1100105,58,2718407,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,271840701 +1100105,58,2718408,1,18,1,10,6,6,6,1,15,4,3321,2780.0,271840801 +1100105,58,2718409,1,22,2,-9,-9,6,2,24,15,4,,,271840901 +1100105,58,2718410,1,28,2,15,6,6,6,1,16,4,5411,7270.0,271841001 +1100105,58,2718411,1,19,2,46,6,6,1,1,15,4,721M,8670.0,271841101 +1100105,58,2718412,1,19,2,-9,-9,6,1,1,15,4,,,271841201 +1100105,58,2718413,1,20,2,18,5,3,1,1,15,4,4481,5170.0,271841301 +1100105,58,2718414,1,20,2,25,1,1,8,24,15,4,3118Z,1270.0,271841401 +1100105,58,2718415,1,19,2,30,5,6,9,1,15,4,713Z,8590.0,271841501 +1100105,58,2718416,1,18,1,12,6,1,1,1,15,4,611M1,7870.0,271841601 +1100105,58,2718417,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,271841701 +1100105,58,2718418,1,19,2,9,5,1,1,1,15,4,611M1,7870.0,271841801 +1100105,58,2718419,1,23,2,-9,-9,6,2,1,16,4,6111,7860.0,271841901 +1100105,58,2718420,1,19,2,-9,-9,6,6,1,15,4,,,271842001 +1100105,58,2718421,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271842101 +1100105,58,2718422,1,20,2,32,4,6,1,1,15,4,611M3,7890.0,271842201 +1100105,58,2718423,1,19,1,-9,-9,6,6,1,15,4,,,271842301 +1100105,58,2718424,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271842401 +1100105,58,2718425,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,271842501 +1100105,58,2718426,1,21,2,20,6,6,1,1,15,4,611M1,7870.0,271842601 +1100105,58,2718427,1,20,1,-9,-9,6,6,1,15,4,,,271842701 +1100105,58,2718428,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271842801 +1100105,58,2718429,1,18,1,30,6,6,2,1,15,4,722Z,8680.0,271842901 +1100105,58,2718430,1,20,2,15,4,1,1,1,15,4,6111,7860.0,271843001 +1100105,58,2718431,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271843101 +1100105,58,2718432,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271843201 +1100105,58,2718433,1,20,1,40,4,2,1,1,15,4,722Z,8680.0,271843301 +1100105,58,2718434,1,19,2,30,5,6,1,1,15,4,622M,8191.0,271843401 +1100105,58,2718435,1,18,2,-9,-9,6,1,1,15,4,,,271843501 +1100105,58,2718436,1,20,2,-9,-9,6,2,1,15,4,,,271843601 +1100105,58,2718437,1,21,2,-9,-9,6,1,1,15,4,,,271843701 +1100105,58,2718438,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271843801 +1100105,58,2718439,1,19,1,-9,-9,6,6,1,15,4,,,271843901 +1100105,58,2718440,1,20,2,15,6,6,9,1,15,4,4481,5170.0,271844001 +1100105,58,2718441,1,18,2,10,3,1,1,1,15,4,44511,4971.0,271844101 +1100105,58,2718442,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271844201 +1100105,58,2718443,1,19,1,-9,-9,6,6,1,15,4,,,271844301 +1100105,58,2718444,1,20,1,-9,-9,6,1,1,15,4,,,271844401 +1100105,58,2718445,1,18,2,6,5,1,1,4,15,4,4481,5170.0,271844501 +1100105,58,2718446,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271844601 +1100105,58,2718447,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271844701 +1100105,58,2718448,1,21,2,-9,-9,6,1,1,15,4,,,271844801 +1100105,58,2718449,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271844901 +1100105,58,2718450,1,26,2,40,1,1,2,1,16,4,6111,7860.0,271845001 +1100105,58,2718451,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271845101 +1100105,58,2718452,1,46,2,20,1,2,2,1,16,4,611M1,7870.0,271845201 +1100105,58,2718453,1,19,2,15,6,6,1,1,15,4,713Z,8590.0,271845301 +1100105,58,2718454,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,271845401 +1100105,58,2718455,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271845501 +1100105,58,2718456,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271845601 +1100105,58,2718457,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271845701 +1100105,58,2718458,1,20,2,12,4,1,2,1,15,4,611M1,7870.0,271845801 +1100105,58,2718459,1,20,2,15,4,1,1,1,15,4,6111,7860.0,271845901 +1100105,58,2718460,1,19,1,50,6,6,1,1,15,4,311M2,1280.0,271846001 +1100105,58,2718461,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271846101 +1100105,58,2718462,1,18,2,-9,-9,6,1,1,15,4,,,271846201 +1100105,58,2718463,1,18,1,12,6,1,1,1,15,4,611M1,7870.0,271846301 +1100105,58,2718464,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,271846401 +1100105,58,2718465,1,19,1,8,6,6,2,1,15,4,713Z,8590.0,271846501 +1100105,58,2718466,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271846601 +1100105,58,2718467,1,22,2,8,5,1,1,1,15,4,611M1,7870.0,271846701 +1100105,58,2718468,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271846801 +1100105,58,2718469,1,18,2,-9,-9,6,2,1,15,4,,,271846901 +1100105,58,2718470,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271847001 +1100105,58,2718471,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271847101 +1100105,58,2718472,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271847201 +1100105,58,2718473,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,271847301 +1100105,58,2718474,1,23,2,10,4,1,2,1,15,4,611M1,7870.0,271847401 +1100105,58,2718475,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271847501 +1100105,58,2718476,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271847601 +1100105,58,2718477,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271847701 +1100105,58,2718478,1,19,1,10,4,2,1,1,15,4,611M1,7870.0,271847801 +1100105,58,2718479,1,19,2,-9,-9,6,1,1,15,4,,,271847901 +1100105,58,2718480,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271848001 +1100105,58,2718481,1,21,1,20,4,1,8,24,15,4,5415,7380.0,271848101 +1100105,58,2718482,1,21,2,-9,-9,6,1,1,15,4,,,271848201 +1100105,58,2718483,1,20,2,12,3,6,6,1,15,4,611M1,7870.0,271848301 +1100105,58,2718484,1,21,2,18,5,1,2,1,15,4,611M1,7870.0,271848401 +1100105,58,2718485,1,18,2,-9,-9,6,1,1,15,4,,,271848501 +1100105,58,2718486,1,19,2,8,5,1,1,5,15,4,611M3,7890.0,271848601 +1100105,58,2718487,1,17,2,-9,-9,6,2,1,15,4,,,271848701 +1100105,58,2718488,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,271848801 +1100105,58,2718489,1,20,1,-9,-9,6,1,1,15,4,,,271848901 +1100105,58,2718490,1,19,2,-9,-9,6,1,1,15,4,,,271849001 +1100105,58,2718491,1,18,1,-9,-9,6,1,1,15,4,,,271849101 +1100105,58,2718492,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271849201 +1100105,58,2718493,1,23,2,40,3,6,9,1,16,4,611M3,7890.0,271849301 +1100105,58,2718494,1,20,2,-9,-9,6,1,1,15,4,,,271849401 +1100105,58,2718495,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,271849501 +1100105,58,2718496,1,22,2,20,1,1,1,1,15,4,611M1,7870.0,271849601 +1100105,58,2718497,1,19,2,15,5,6,1,1,15,4,446Z,5080.0,271849701 +1100105,58,2718498,1,20,2,7,5,6,1,1,15,4,814,9290.0,271849801 +1100105,58,2718499,1,22,1,-9,-9,6,2,1,15,4,611M1,7870.0,271849901 +1100105,58,2718500,1,20,1,25,4,6,1,1,15,4,713Z,8590.0,271850001 +1100105,58,2718501,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271850101 +1100105,58,2718502,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,271850201 +1100105,58,2718503,1,18,1,40,3,1,6,1,15,4,487,6280.0,271850301 +1100105,58,2718504,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271850401 +1100105,58,2718505,1,21,2,15,6,6,1,1,15,4,4481,5170.0,271850501 +1100105,58,2718506,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271850601 +1100105,58,2718507,1,21,2,40,1,6,2,1,15,4,515,6670.0,271850701 +1100105,58,2718508,1,21,2,15,6,6,8,24,15,4,4481,5170.0,271850801 +1100105,58,2718509,1,18,1,15,6,6,2,1,15,4,722Z,8680.0,271850901 +1100105,58,2718510,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271851001 +1100105,58,2718511,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271851101 +1100105,58,2718512,1,18,2,10,6,1,1,1,15,4,713Z,8590.0,271851201 +1100105,58,2718513,1,19,2,40,6,6,1,1,15,4,923,9480.0,271851301 +1100105,58,2718514,1,19,2,-9,-9,6,2,1,15,4,,,271851401 +1100105,58,2718515,1,18,2,7,4,1,2,1,15,4,713Z,8590.0,271851501 +1100105,58,2718516,1,20,2,-9,-9,6,1,1,15,4,,,271851601 +1100105,58,2718517,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271851701 +1100105,58,2718518,1,20,2,-9,-9,6,6,1,15,4,,,271851801 +1100105,58,2718519,1,18,1,40,6,6,1,1,15,4,23,770.0,271851901 +1100105,58,2718520,1,20,1,25,4,6,1,1,15,4,713Z,8590.0,271852001 +1100105,58,2718521,1,18,1,-9,-9,6,6,1,15,4,,,271852101 +1100105,58,2718522,1,21,1,10,4,3,6,1,15,4,611M1,7870.0,271852201 +1100105,58,2718523,1,20,2,20,6,1,6,1,15,4,6244,8470.0,271852301 +1100105,58,2718524,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271852401 +1100105,58,2718525,1,18,2,20,3,6,1,1,15,4,5411,7270.0,271852501 +1100105,58,2718526,1,20,1,-9,-9,6,1,1,15,4,5413,7290.0,271852601 +1100105,58,2718527,1,19,1,40,6,6,1,3,15,4,517Z,6690.0,271852701 +1100105,58,2718528,1,22,1,20,6,6,1,1,15,4,3345,3380.0,271852801 +1100105,58,2718529,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271852901 +1100105,58,2718530,1,21,2,40,6,6,6,1,15,4,611M1,7870.0,271853001 +1100105,58,2718531,1,18,2,-9,-9,6,1,1,15,4,,,271853101 +1100105,58,2718532,1,18,2,-9,-9,6,1,1,15,4,,,271853201 +1100105,58,2718533,1,18,1,40,6,6,1,1,15,4,721M,8670.0,271853301 +1100105,58,2718534,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271853401 +1100105,58,2718535,1,18,2,10,6,1,1,1,15,4,713Z,8590.0,271853501 +1100105,58,2718536,1,22,2,20,1,1,1,1,15,4,611M1,7870.0,271853601 +1100105,58,2718537,1,19,1,-9,-9,6,1,1,15,4,,,271853701 +1100105,58,2718538,1,19,2,-9,-9,6,1,1,15,4,4481,5170.0,271853801 +1100105,58,2718539,1,19,1,-9,-9,6,1,1,15,4,,,271853901 +1100105,58,2718540,1,21,2,-9,-9,6,1,1,15,4,,,271854001 +1100105,58,2718541,1,18,2,6,2,1,9,14,15,4,6111,7860.0,271854101 +1100105,58,2718542,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271854201 +1100105,58,2718543,1,20,2,25,1,1,2,1,15,4,722Z,8680.0,271854301 +1100105,58,2718544,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,271854401 +1100105,58,2718545,1,24,2,-9,-9,6,2,1,16,4,,,271854501 +1100105,58,2718546,1,21,1,32,5,6,1,1,15,4,5241,6991.0,271854601 +1100105,58,2718547,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271854701 +1100105,58,2718548,1,17,1,-9,-9,6,2,1,15,4,5121,6570.0,271854801 +1100105,58,2718549,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271854901 +1100105,58,2718550,1,18,2,10,6,1,1,1,15,4,713Z,8590.0,271855001 +1100105,58,2718551,1,20,2,-9,-9,6,2,1,15,4,,,271855101 +1100105,58,2718552,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,271855201 +1100105,58,2718553,1,23,2,20,5,3,2,1,16,4,4523,5391.0,271855301 +1100105,58,2718554,1,18,1,-9,-9,6,1,1,15,4,,,271855401 +1100105,58,2718555,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271855501 +1100105,58,2718556,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271855601 +1100105,58,2718557,1,20,2,40,6,6,2,1,15,4,45439,5690.0,271855701 +1100105,58,2718558,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271855801 +1100105,58,2718559,1,18,2,-9,-9,6,1,24,15,4,,,271855901 +1100105,58,2718560,1,19,1,28,6,6,2,11,15,4,23,770.0,271856001 +1100105,58,2718561,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271856101 +1100105,58,2718562,1,18,2,-9,-9,6,1,1,15,4,,,271856201 +1100105,58,2718563,1,20,1,12,3,1,1,1,15,4,611M1,7870.0,271856301 +1100105,58,2718564,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271856401 +1100105,58,2718565,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,271856501 +1100105,58,2718566,1,20,2,32,6,6,2,1,15,4,722Z,8680.0,271856601 +1100105,58,2718567,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271856701 +1100105,58,2718568,1,18,1,-9,-9,6,2,1,15,4,,,271856801 +1100105,58,2718569,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271856901 +1100105,58,2718570,1,26,2,15,4,1,2,1,16,4,5415,7380.0,271857001 +1100105,58,2718571,1,18,2,14,5,3,1,1,15,4,722Z,8680.0,271857101 +1100105,58,2718572,1,25,2,-9,-9,6,2,1,16,4,,,271857201 +1100105,58,2718573,1,20,2,40,6,6,1,3,15,4,6211,7970.0,271857301 +1100105,58,2718574,1,18,1,-9,-9,6,1,1,15,4,,,271857401 +1100105,58,2718575,1,21,1,12,6,1,1,1,15,4,611M1,7870.0,271857501 +1100105,58,2718576,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271857601 +1100105,58,2718577,1,23,1,-9,-9,6,2,1,15,4,,,271857701 +1100105,58,2718578,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271857801 +1100105,58,2718579,1,23,1,40,6,3,2,1,16,4,813M,9170.0,271857901 +1100105,58,2718580,1,19,2,-9,-9,6,2,1,15,4,,,271858001 +1100105,58,2718581,1,18,1,80,5,6,1,1,15,4,721M,8670.0,271858101 +1100105,58,2718582,1,19,1,-9,-9,6,1,1,15,4,,,271858201 +1100105,58,2718583,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271858301 +1100105,58,2718584,1,19,1,-9,-9,6,1,24,15,4,5411,7270.0,271858401 +1100105,58,2718585,1,21,2,40,6,6,1,1,15,4,3116,1180.0,271858501 +1100105,58,2718586,1,18,1,-9,-9,6,6,1,15,4,,,271858601 +1100105,58,2718587,1,21,2,15,6,6,8,24,15,4,4481,5170.0,271858701 +1100105,58,2718588,1,19,1,30,5,6,1,1,15,4,4481,5170.0,271858801 +1100105,58,2718589,1,18,1,40,6,6,1,1,15,4,23,770.0,271858901 +1100105,58,2718590,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,271859001 +1100105,58,2718591,1,18,2,12,6,6,1,1,15,4,712,8570.0,271859101 +1100105,58,2718592,1,20,1,-9,-9,6,1,1,15,4,,,271859201 +1100105,58,2718593,1,19,2,10,5,1,1,1,15,4,6213ZM,8080.0,271859301 +1100105,58,2718594,1,19,2,30,6,6,1,1,15,4,442,4770.0,271859401 +1100105,58,2718595,1,19,2,-9,-9,6,1,1,15,4,,,271859501 +1100105,58,2718596,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271859601 +1100105,58,2718597,1,19,1,10,4,2,1,1,15,4,611M1,7870.0,271859701 +1100105,58,2718598,1,21,2,40,6,6,1,1,15,4,3116,1180.0,271859801 +1100105,58,2718599,1,19,2,-9,-9,6,1,1,15,4,,,271859901 +1100105,58,2718600,1,21,2,35,5,1,2,1,15,4,928P,9590.0,271860001 +1100105,58,2718601,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,271860101 +1100105,58,2718602,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271860201 +1100105,58,2718603,1,21,2,30,3,6,1,1,15,4,611M1,7870.0,271860301 +1100105,58,2718604,1,21,1,25,5,1,1,1,15,4,611M1,7870.0,271860401 +1100105,58,2718605,1,22,1,40,5,6,6,1,15,4,51913,6672.0,271860501 +1100105,58,2718606,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271860601 +1100105,58,2718607,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271860701 +1100105,58,2718608,1,20,2,15,4,1,1,1,15,4,722Z,8680.0,271860801 +1100105,58,2718609,1,21,1,20,6,6,1,1,15,4,713Z,8590.0,271860901 +1100105,58,2718610,1,18,2,-9,-9,6,1,1,15,4,,,271861001 +1100105,58,2718611,1,18,2,45,6,6,1,1,15,4,814,9290.0,271861101 +1100105,58,2718612,1,19,2,3,6,6,1,1,15,4,6244,8470.0,271861201 +1100105,58,2718613,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271861301 +1100105,58,2718614,1,19,1,-9,-9,6,1,1,15,4,,,271861401 +1100105,58,2718615,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271861501 +1100105,58,2718616,1,20,2,25,5,6,1,1,15,4,4481,5170.0,271861601 +1100105,58,2718617,1,18,2,-9,-9,6,6,1,15,4,,,271861701 +1100105,58,2718618,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271861801 +1100105,58,2718619,1,19,1,10,4,1,1,1,15,4,721M,8670.0,271861901 +1100105,58,2718620,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271862001 +1100105,58,2718621,1,19,2,35,3,1,1,1,15,4,611M1,7870.0,271862101 +1100105,58,2718622,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271862201 +1100105,58,2718623,1,18,2,-9,-9,6,1,1,15,4,,,271862301 +1100105,58,2718624,1,19,2,30,5,6,6,1,15,4,713Z,8590.0,271862401 +1100105,58,2718625,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271862501 +1100105,58,2718626,1,19,2,20,6,6,1,1,15,4,722Z,8680.0,271862601 +1100105,58,2718627,1,18,2,-9,-9,6,2,1,15,4,,,271862701 +1100105,58,2718628,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271862801 +1100105,58,2718629,1,20,1,40,4,6,1,1,15,4,9211MP,9370.0,271862901 +1100105,58,2718630,1,18,1,10,6,6,6,1,15,4,3321,2780.0,271863001 +1100105,58,2718631,1,18,2,-9,-9,6,1,1,15,4,,,271863101 +1100105,58,2718632,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271863201 +1100105,58,2718633,1,20,2,32,6,6,2,1,15,4,722Z,8680.0,271863301 +1100105,58,2718634,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271863401 +1100105,58,2718635,1,20,1,-9,-9,6,9,1,15,4,,,271863501 +1100105,58,2718636,1,20,2,20,2,1,2,1,15,4,92119,9390.0,271863601 +1100105,58,2718637,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271863701 +1100105,58,2718638,1,18,2,45,6,6,1,1,15,4,814,9290.0,271863801 +1100105,58,2718639,1,18,2,-9,-9,6,2,1,15,4,,,271863901 +1100105,58,2718640,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271864001 +1100105,58,2718641,1,21,2,-9,-9,6,1,1,15,4,,,271864101 +1100105,58,2718642,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271864201 +1100105,58,2718643,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271864301 +1100105,58,2718644,1,21,1,30,5,2,2,1,15,4,447,5090.0,271864401 +1100105,58,2718645,1,20,2,25,1,1,2,1,15,4,722Z,8680.0,271864501 +1100105,58,2718646,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271864601 +1100105,58,2718647,1,21,1,20,4,1,6,1,15,4,611M1,7870.0,271864701 +1100105,58,2718648,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271864801 +1100105,58,2718649,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271864901 +1100105,58,2718650,1,20,2,20,3,1,2,1,15,4,5411,7270.0,271865001 +1100105,58,2718651,1,19,1,8,5,6,1,1,15,4,713Z,8590.0,271865101 +1100105,58,2718652,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271865201 +1100105,58,2718653,1,22,2,40,6,6,1,1,16,4,611M1,7870.0,271865301 +1100105,58,2718654,1,21,2,38,6,6,2,1,15,4,813M,9170.0,271865401 +1100105,58,2718655,1,21,2,-9,-9,6,2,1,15,4,,,271865501 +1100105,58,2718656,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271865601 +1100105,58,2718657,1,20,2,32,4,6,1,1,15,4,611M3,7890.0,271865701 +1100105,58,2718658,1,19,1,45,6,6,1,1,15,4,721M,8670.0,271865801 +1100105,58,2718659,1,20,1,-9,-9,6,1,1,15,4,6111,7860.0,271865901 +1100105,58,2718660,1,18,1,24,6,6,1,1,15,4,722Z,8680.0,271866001 +1100105,58,2718661,1,19,1,50,6,6,2,1,15,4,311M2,1280.0,271866101 +1100105,58,2718662,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271866201 +1100105,58,2718663,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271866301 +1100105,58,2718664,1,19,1,20,6,6,1,1,15,4,4442,4890.0,271866401 +1100105,58,2718665,1,19,1,10,6,6,1,1,15,4,6111,7860.0,271866501 +1100105,58,2718666,1,18,1,12,6,1,1,1,15,4,611M1,7870.0,271866601 +1100105,58,2718667,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271866701 +1100105,58,2718668,1,19,1,24,5,1,1,1,15,4,4539,5580.0,271866801 +1100105,58,2718669,1,22,1,10,1,1,6,1,15,4,611M1,7870.0,271866901 +1100105,58,2718670,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271867001 +1100105,58,2718671,1,21,2,20,6,6,1,1,15,4,6241,8370.0,271867101 +1100105,58,2718672,1,19,1,40,6,3,2,1,15,4,51913,6672.0,271867201 +1100105,58,2718673,1,19,1,50,6,6,1,1,15,4,311M2,1280.0,271867301 +1100105,58,2718674,1,19,1,10,6,6,1,1,15,4,23,770.0,271867401 +1100105,58,2718675,1,20,2,-9,-9,6,6,1,15,4,,,271867501 +1100105,58,2718676,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271867601 +1100105,58,2718677,1,21,2,-9,-9,6,2,1,15,4,23,770.0,271867701 +1100105,58,2718678,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271867801 +1100105,58,2718679,1,18,2,-9,-9,6,1,1,15,4,712,8570.0,271867901 +1100105,58,2718680,1,24,1,35,2,6,6,1,16,4,5242,6992.0,271868001 +1100105,58,2718681,1,18,2,-9,-9,6,1,1,15,4,,,271868101 +1100105,58,2718682,1,19,2,48,4,1,1,2,15,4,722Z,8680.0,271868201 +1100105,58,2718683,1,18,1,8,5,1,2,5,15,4,813M,9170.0,271868301 +1100105,58,2718684,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271868401 +1100105,58,2718685,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271868501 +1100105,58,2718686,1,19,2,-9,-9,6,1,24,15,4,,,271868601 +1100105,58,2718687,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271868701 +1100105,58,2718688,1,18,1,6,1,1,1,1,15,4,622M,8191.0,271868801 +1100105,58,2718689,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271868901 +1100105,58,2718690,1,21,2,36,6,6,1,1,15,4,622M,8191.0,271869001 +1100105,58,2718691,1,22,2,-9,-9,6,2,1,15,4,6111,7860.0,271869101 +1100105,58,2718692,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271869201 +1100105,58,2718693,1,21,2,20,1,1,1,1,15,4,722Z,8680.0,271869301 +1100105,58,2718694,1,19,2,-9,-9,6,1,1,15,4,,,271869401 +1100105,58,2718695,1,21,1,-9,-9,6,2,1,15,4,,,271869501 +1100105,58,2718696,1,24,1,25,5,6,1,1,16,4,92M2,9570.0,271869601 +1100105,58,2718697,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271869701 +1100105,58,2718698,1,20,1,-9,-9,6,1,1,15,4,711M,8563.0,271869801 +1100105,58,2718699,1,20,2,-9,-9,6,2,1,15,4,,,271869901 +1100105,58,2718700,1,30,1,35,1,1,2,1,15,4,6212,7980.0,271870001 +1100105,58,2718701,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271870101 +1100105,58,2718702,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271870201 +1100105,58,2718703,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271870301 +1100105,58,2718704,1,20,2,20,1,1,2,1,15,4,561M,7780.0,271870401 +1100105,58,2718705,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271870501 +1100105,58,2718706,1,24,1,20,4,1,6,1,15,4,611M1,7870.0,271870601 +1100105,58,2718707,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271870701 +1100105,58,2718708,1,19,2,-9,-9,6,2,1,15,4,,,271870801 +1100105,58,2718709,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271870901 +1100105,58,2718710,1,18,2,-9,-9,6,1,1,15,4,6244,8470.0,271871001 +1100105,58,2718711,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271871101 +1100105,58,2718712,1,20,1,30,1,1,2,1,15,4,4481,5170.0,271871201 +1100105,58,2718713,1,20,2,-9,-9,6,1,1,15,4,,,271871301 +1100105,58,2718714,1,18,1,8,6,6,1,1,15,4,561M,7780.0,271871401 +1100105,58,2718715,1,21,2,20,1,1,8,21,15,4,722Z,8680.0,271871501 +1100105,58,2718716,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271871601 +1100105,58,2718717,1,18,1,23,4,6,2,1,15,4,44511,4971.0,271871701 +1100105,58,2718718,1,22,1,-9,-9,6,2,1,15,4,611M1,7870.0,271871801 +1100105,58,2718719,1,18,1,3,6,3,9,1,15,4,5411,7270.0,271871901 +1100105,58,2718720,1,20,1,23,5,6,9,19,15,4,4481,5170.0,271872001 +1100105,58,2718721,1,24,2,10,4,1,2,1,16,4,611M1,7870.0,271872101 +1100105,58,2718722,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271872201 +1100105,58,2718723,1,20,2,-9,-9,6,2,1,15,4,,,271872301 +1100105,58,2718724,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271872401 +1100105,58,2718725,1,21,1,26,3,1,1,1,15,4,712,8570.0,271872501 +1100105,58,2718726,1,22,1,10,1,1,6,1,15,4,611M1,7870.0,271872601 +1100105,58,2718727,1,19,2,-9,-9,6,1,1,15,4,,,271872701 +1100105,58,2718728,1,20,2,-9,-9,6,2,1,15,4,6111,7860.0,271872801 +1100105,58,2718729,1,20,2,40,6,6,2,1,15,4,6211,7970.0,271872901 +1100105,58,2718730,1,20,2,32,4,6,1,1,15,4,611M3,7890.0,271873001 +1100105,58,2718731,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271873101 +1100105,58,2718732,1,18,2,-9,-9,6,1,3,15,4,7111,8561.0,271873201 +1100105,58,2718733,1,20,2,45,6,3,2,1,15,4,5412,7280.0,271873301 +1100105,58,2718734,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271873401 +1100105,58,2718735,1,21,1,20,1,1,1,1,15,4,813M,9170.0,271873501 +1100105,58,2718736,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271873601 +1100105,58,2718737,1,17,1,-9,-9,6,2,1,15,4,5121,6570.0,271873701 +1100105,58,2718738,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271873801 +1100105,58,2718739,1,18,2,-9,-9,6,1,1,15,4,,,271873901 +1100105,58,2718740,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271874001 +1100105,58,2718741,1,19,2,-9,-9,6,2,1,15,4,,,271874101 +1100105,58,2718742,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271874201 +1100105,58,2718743,1,18,2,20,6,6,1,1,15,4,721M,8670.0,271874301 +1100105,58,2718744,1,22,1,40,6,6,1,1,15,4,5413,7290.0,271874401 +1100105,58,2718745,1,19,1,23,4,6,2,1,15,4,44511,4971.0,271874501 +1100105,58,2718746,1,18,2,6,2,1,9,14,15,4,6111,7860.0,271874601 +1100105,58,2718747,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271874701 +1100105,58,2718748,1,21,2,-9,-9,6,2,1,15,4,611M1,7870.0,271874801 +1100105,58,2718749,1,18,2,-9,-9,6,1,24,15,4,,,271874901 +1100105,58,2718750,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,271875001 +1100105,58,2718751,1,22,2,10,4,1,6,1,15,4,813M,9170.0,271875101 +1100105,58,2718752,1,18,1,8,4,1,1,1,15,4,611M1,7870.0,271875201 +1100105,58,2718753,1,18,2,20,3,6,1,1,15,4,44611,5070.0,271875301 +1100105,58,2718754,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271875401 +1100105,58,2718755,1,19,1,10,6,6,1,1,15,4,6111,7860.0,271875501 +1100105,58,2718756,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271875601 +1100105,58,2718757,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271875701 +1100105,58,2718758,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,271875801 +1100105,58,2718759,1,20,2,40,6,6,2,1,15,4,45439,5690.0,271875901 +1100105,58,2718760,1,20,1,45,5,6,6,1,15,4,4481,5170.0,271876001 +1100105,58,2718761,1,19,1,23,4,6,1,17,15,4,44512,4972.0,271876101 +1100105,58,2718762,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271876201 +1100105,58,2718763,1,18,1,8,6,6,1,1,15,4,713Z,8590.0,271876301 +1100105,58,2718764,1,24,2,50,6,3,2,1,15,4,721M,8670.0,271876401 +1100105,58,2718765,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271876501 +1100105,58,2718766,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271876601 +1100105,58,2718767,1,21,1,26,3,1,1,1,15,4,712,8570.0,271876701 +1100105,58,2718768,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,271876801 +1100105,58,2718769,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271876901 +1100105,58,2718770,1,19,2,20,6,6,1,18,15,4,713Z,8590.0,271877001 +1100105,58,2718771,1,19,2,48,4,1,1,2,15,4,722Z,8680.0,271877101 +1100105,58,2718772,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271877201 +1100105,58,2718773,1,19,1,10,6,6,9,1,15,4,813M,9170.0,271877301 +1100105,58,2718774,1,20,1,20,4,1,2,1,15,4,611M1,7870.0,271877401 +1100105,58,2718775,1,18,2,14,5,3,1,1,15,4,722Z,8680.0,271877501 +1100105,58,2718776,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271877601 +1100105,58,2718777,1,18,1,16,6,6,2,1,15,4,611M2,7880.0,271877701 +1100105,58,2718778,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271877801 +1100105,58,2718779,1,21,2,-9,-9,6,1,1,15,4,,,271877901 +1100105,58,2718780,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271878001 +1100105,58,2718781,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271878101 +1100105,58,2718782,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271878201 +1100105,58,2718783,1,21,1,20,4,1,8,24,15,4,5415,7380.0,271878301 +1100105,58,2718784,1,19,1,10,6,6,1,1,15,4,6111,7860.0,271878401 +1100105,58,2718785,1,19,2,3,6,6,1,2,15,4,6244,8470.0,271878501 +1100105,58,2718786,1,18,2,-9,-9,6,1,1,15,4,,,271878601 +1100105,58,2718787,1,18,1,-9,-9,6,1,1,15,4,,,271878701 +1100105,58,2718788,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271878801 +1100105,58,2718789,1,19,1,23,4,6,1,17,15,4,44512,4972.0,271878901 +1100105,58,2718790,1,20,2,8,1,1,1,1,15,4,8131,9160.0,271879001 +1100105,58,2718791,1,19,2,-9,-9,6,1,24,15,4,,,271879101 +1100105,58,2718792,1,18,2,-9,-9,6,2,1,15,4,,,271879201 +1100105,58,2718793,1,23,1,40,6,3,2,1,16,4,813M,9170.0,271879301 +1100105,58,2718794,1,19,2,-9,-9,6,6,1,15,4,,,271879401 +1100105,58,2718795,1,19,2,-9,-9,6,1,1,15,4,,,271879501 +1100105,58,2718796,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271879601 +1100105,58,2718797,1,18,2,-9,-9,6,6,1,15,4,,,271879701 +1100105,58,2718798,1,23,1,40,6,3,2,1,16,4,813M,9170.0,271879801 +1100105,58,2718799,1,19,2,-9,-9,6,2,1,15,4,,,271879901 +1100105,58,2718800,1,28,1,45,6,3,2,1,16,4,5413,7290.0,271880001 +1100105,58,2718801,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271880101 +1100105,58,2718802,1,19,1,40,6,3,1,1,15,4,334M1,3370.0,271880201 +1100105,58,2718803,1,18,1,40,6,6,1,1,15,4,23,770.0,271880301 +1100105,58,2718804,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,271880401 +1100105,58,2718805,1,19,2,30,6,6,1,1,15,4,442,4770.0,271880501 +1100105,58,2718806,1,22,1,40,6,6,1,1,15,4,5413,7290.0,271880601 +1100105,58,2718807,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271880701 +1100105,58,2718808,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271880801 +1100105,58,2718809,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,271880901 +1100105,58,2718810,1,19,1,-9,-9,6,1,1,15,4,,,271881001 +1100105,58,2718811,1,18,2,-9,-9,6,2,1,15,4,,,271881101 +1100105,58,2718812,1,18,2,45,6,6,1,1,15,4,814,9290.0,271881201 +1100105,58,2718813,1,18,2,-9,-9,6,1,1,15,4,,,271881301 +1100105,58,2718814,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271881401 +1100105,58,2718815,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271881501 +1100105,58,2718816,1,20,1,20,6,6,7,1,15,4,3345,3380.0,271881601 +1100105,58,2718817,1,20,2,10,3,1,1,1,15,4,611M1,7870.0,271881701 +1100105,58,2718818,1,18,1,7,1,1,9,1,15,4,611M1,7870.0,271881801 +1100105,58,2718819,1,18,1,-9,-9,6,1,1,15,4,,,271881901 +1100105,58,2718820,1,20,2,18,5,3,1,1,15,4,4481,5170.0,271882001 +1100105,58,2718821,1,18,1,-9,-9,6,6,1,15,4,611M3,7890.0,271882101 +1100105,58,2718822,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271882201 +1100105,58,2718823,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271882301 +1100105,58,2718824,1,20,2,-9,-9,6,2,1,15,4,,,271882401 +1100105,58,2718825,1,20,2,20,2,1,2,1,15,4,92119,9390.0,271882501 +1100105,58,2718826,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271882601 +1100105,58,2718827,1,18,1,-9,-9,6,6,1,15,4,,,271882701 +1100105,58,2718828,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271882801 +1100105,58,2718829,1,20,2,40,4,1,6,1,15,4,8139Z,9190.0,271882901 +1100105,58,2718830,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271883001 +1100105,58,2718831,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,271883101 +1100105,58,2718832,1,18,2,14,5,3,1,1,15,4,722Z,8680.0,271883201 +1100105,58,2718833,1,20,2,10,6,1,1,24,15,4,814,9290.0,271883301 +1100105,58,2718834,1,19,2,30,5,6,6,1,15,4,713Z,8590.0,271883401 +1100105,58,2718835,1,22,1,15,5,1,1,1,15,4,92113,9380.0,271883501 +1100105,58,2718836,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271883601 +1100105,58,2718837,1,18,2,40,3,1,1,1,15,4,611M3,7890.0,271883701 +1100105,58,2718838,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271883801 +1100105,58,2718839,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271883901 +1100105,58,2718840,1,18,1,10,5,6,1,1,15,4,6211,7970.0,271884001 +1100105,58,2718841,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271884101 +1100105,58,2718842,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271884201 +1100105,58,2718843,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271884301 +1100105,58,2718844,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,271884401 +1100105,58,2718845,1,21,1,12,5,6,2,1,15,4,713Z,8590.0,271884501 +1100105,58,2718846,1,21,2,20,4,1,2,1,15,4,611M1,7870.0,271884601 +1100105,58,2718847,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271884701 +1100105,58,2718848,1,19,1,30,5,6,1,1,15,4,4481,5170.0,271884801 +1100105,58,2718849,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271884901 +1100105,58,2718850,1,20,2,40,6,6,1,3,15,4,6211,7970.0,271885001 +1100105,58,2718851,1,18,1,-9,-9,6,2,1,15,4,,,271885101 +1100105,58,2718852,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271885201 +1100105,58,2718853,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271885301 +1100105,58,2718854,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271885401 +1100105,58,2718855,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271885501 +1100105,58,2718856,1,19,1,28,6,6,2,11,15,4,23,770.0,271885601 +1100105,58,2718857,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271885701 +1100105,58,2718858,1,18,1,6,1,1,1,1,15,4,622M,8191.0,271885801 +1100105,58,2718859,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271885901 +1100105,58,2718860,1,20,2,-9,-9,6,1,1,15,4,,,271886001 +1100105,58,2718861,1,18,1,80,5,6,1,1,15,4,721M,8670.0,271886101 +1100105,58,2718862,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271886201 +1100105,58,2718863,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271886301 +1100105,58,2718864,1,20,1,40,5,3,2,1,15,4,54194,7480.0,271886401 +1100105,58,2718865,1,22,1,8,4,1,2,1,15,4,611M1,7870.0,271886501 +1100105,58,2718866,1,18,2,-9,-9,6,9,1,15,4,713Z,8590.0,271886601 +1100105,58,2718867,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,271886701 +1100105,58,2718868,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271886801 +1100105,58,2718869,1,21,1,40,6,6,2,1,15,4,4241,4370.0,271886901 +1100105,58,2718870,1,20,2,2,5,2,1,1,15,4,611M1,7870.0,271887001 +1100105,58,2718871,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271887101 +1100105,58,2718872,1,18,2,-9,-9,6,1,1,15,4,,,271887201 +1100105,58,2718873,1,18,1,-9,-9,6,1,1,15,4,,,271887301 +1100105,58,2718874,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271887401 +1100105,58,2718875,1,22,1,30,5,1,2,1,15,4,23,770.0,271887501 +1100105,58,2718876,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271887601 +1100105,58,2718877,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271887701 +1100105,58,2718878,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,271887801 +1100105,58,2718879,1,19,2,-9,-9,6,1,1,15,4,,,271887901 +1100105,58,2718880,1,21,2,40,6,6,6,1,15,4,611M1,7870.0,271888001 +1100105,58,2718881,1,21,2,30,6,6,2,1,15,4,722Z,8680.0,271888101 +1100105,58,2718882,1,21,1,-9,-9,6,2,1,15,4,813M,9170.0,271888201 +1100105,58,2718883,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271888301 +1100105,58,2718884,1,21,2,8,4,1,1,1,15,4,611M1,7870.0,271888401 +1100105,58,2718885,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271888501 +1100105,58,2718886,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271888601 +1100105,58,2718887,1,18,1,35,4,1,2,1,15,4,611M1,7870.0,271888701 +1100105,58,2718888,1,19,2,10,6,6,2,1,15,4,4481,5170.0,271888801 +1100105,58,2718889,1,20,1,25,6,6,2,1,15,4,6231,8270.0,271888901 +1100105,58,2718890,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271889001 +1100105,58,2718891,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271889101 +1100105,58,2718892,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271889201 +1100105,58,2718893,1,20,2,15,4,1,2,1,15,4,722Z,8680.0,271889301 +1100105,58,2718894,1,18,1,40,6,6,1,1,15,4,23,770.0,271889401 +1100105,58,2718895,1,21,2,-9,-9,6,2,1,15,4,,,271889501 +1100105,58,2718896,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271889601 +1100105,58,2718897,1,20,1,23,5,6,9,19,15,4,4481,5170.0,271889701 +1100105,58,2718898,1,19,2,30,4,1,6,1,15,4,611M1,7870.0,271889801 +1100105,58,2718899,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271889901 +1100105,58,2718900,1,20,1,21,6,6,2,1,15,4,722Z,8680.0,271890001 +1100105,58,2718901,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271890101 +1100105,58,2718902,1,20,1,23,5,6,9,19,15,4,4481,5170.0,271890201 +1100105,58,2718903,1,18,2,-9,-9,6,1,3,15,4,7111,8561.0,271890301 +1100105,58,2718904,1,20,1,-9,-9,6,1,24,15,4,9211MP,9370.0,271890401 +1100105,58,2718905,1,18,2,-9,-9,6,2,1,15,4,,,271890501 +1100105,58,2718906,1,18,2,-9,-9,6,2,1,15,4,,,271890601 +1100105,58,2718907,1,21,2,20,1,1,2,1,15,4,6241,8370.0,271890701 +1100105,58,2718908,1,21,2,20,6,6,1,1,15,4,611M1,7870.0,271890801 +1100105,58,2718909,1,20,1,-9,-9,6,1,1,15,4,,,271890901 +1100105,58,2718910,1,21,1,25,5,1,1,1,15,4,611M1,7870.0,271891001 +1100105,58,2718911,1,21,1,-9,-9,6,2,1,15,4,,,271891101 +1100105,58,2718912,1,18,2,-9,-9,6,1,1,15,4,,,271891201 +1100105,58,2718913,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271891301 +1100105,58,2718914,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271891401 +1100105,58,2718915,1,20,2,-9,-9,6,1,1,15,4,,,271891501 +1100105,58,2718916,1,21,1,20,4,1,2,1,15,4,813M,9170.0,271891601 +1100105,58,2718917,1,21,2,28,5,6,2,1,15,4,5241,6991.0,271891701 +1100105,58,2718918,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,271891801 +1100105,58,2718919,1,19,2,20,5,6,1,2,15,4,71395,8580.0,271891901 +1100105,58,2718920,1,20,2,-9,-9,6,2,1,15,4,,,271892001 +1100105,58,2718921,1,27,1,-9,-9,6,1,3,16,4,712,8570.0,271892101 +1100105,58,2718922,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271892201 +1100105,58,2718923,1,19,2,15,4,6,2,1,15,4,45121,5370.0,271892301 +1100105,58,2718924,1,19,1,10,6,1,1,1,15,4,721M,8670.0,271892401 +1100105,58,2718925,1,18,2,15,6,1,1,24,15,4,611M1,7870.0,271892501 +1100105,58,2718926,1,22,2,10,6,1,1,1,16,4,611M3,7890.0,271892601 +1100105,58,2718927,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,271892701 +1100105,58,2718928,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271892801 +1100105,58,2718929,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271892901 +1100105,58,2718930,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271893001 +1100105,58,2718931,1,19,1,23,4,6,1,17,15,4,44512,4972.0,271893101 +1100105,58,2718932,1,18,2,10,6,6,2,1,15,4,4481,5170.0,271893201 +1100105,58,2718933,1,18,1,-9,-9,6,6,1,15,4,,,271893301 +1100105,58,2718934,1,23,2,10,3,1,9,1,16,4,5418,7470.0,271893401 +1100105,58,2718935,1,19,2,-9,-9,6,1,24,15,4,,,271893501 +1100105,58,2718936,1,26,2,40,1,1,2,1,16,4,6111,7860.0,271893601 +1100105,58,2718937,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271893701 +1100105,58,2718938,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271893801 +1100105,58,2718939,1,19,2,8,3,1,1,1,15,4,611M1,7870.0,271893901 +1100105,58,2718940,1,26,1,20,6,6,2,1,16,4,92119,9390.0,271894001 +1100105,58,2718941,1,19,1,-9,-9,6,1,1,15,4,,,271894101 +1100105,58,2718942,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271894201 +1100105,58,2718943,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271894301 +1100105,58,2718944,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271894401 +1100105,58,2718945,1,18,2,8,6,6,1,1,15,4,712,8570.0,271894501 +1100105,58,2718946,1,20,2,25,5,6,1,1,15,4,4481,5170.0,271894601 +1100105,58,2718947,1,18,1,-9,-9,6,1,1,15,4,4481,5170.0,271894701 +1100105,58,2718948,1,18,1,24,6,6,1,1,15,4,722Z,8680.0,271894801 +1100105,58,2718949,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271894901 +1100105,58,2718950,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271895001 +1100105,58,2718951,1,21,2,30,6,6,1,1,15,4,722Z,8680.0,271895101 +1100105,58,2718952,1,20,2,45,6,3,2,1,15,4,5412,7280.0,271895201 +1100105,58,2718953,1,18,1,-9,-9,6,2,1,15,4,713Z,8590.0,271895301 +1100105,58,2718954,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271895401 +1100105,58,2718955,1,21,2,-9,-9,6,2,1,15,4,622M,8191.0,271895501 +1100105,58,2718956,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271895601 +1100105,58,2718957,1,19,1,12,5,1,1,1,15,4,713Z,8590.0,271895701 +1100105,58,2718958,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271895801 +1100105,58,2718959,1,18,1,10,4,1,1,1,15,4,721M,8670.0,271895901 +1100105,58,2718960,1,21,2,-9,-9,6,1,1,15,4,,,271896001 +1100105,58,2718961,1,21,2,-9,-9,6,2,1,15,4,,,271896101 +1100105,58,2718962,1,18,2,20,6,6,1,1,15,4,6211,7970.0,271896201 +1100105,58,2718963,1,20,1,-9,-9,6,1,1,15,4,,,271896301 +1100105,58,2718964,1,19,2,30,5,6,1,1,15,4,713Z,8590.0,271896401 +1100105,58,2718965,1,19,1,-9,-9,6,1,1,15,4,4453,4990.0,271896501 +1100105,58,2718966,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271896601 +1100105,58,2718967,1,20,2,-9,-9,6,2,1,15,4,,,271896701 +1100105,58,2718968,1,20,2,40,4,1,6,1,15,4,8139Z,9190.0,271896801 +1100105,58,2718969,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271896901 +1100105,58,2718970,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271897001 +1100105,58,2718971,1,20,2,-9,-9,6,1,1,15,4,,,271897101 +1100105,58,2718972,1,19,1,2,3,6,1,1,15,4,8131,9160.0,271897201 +1100105,58,2718973,1,19,1,20,5,3,1,1,15,4,611M1,7870.0,271897301 +1100105,58,2718974,1,26,2,15,4,1,2,1,16,4,5415,7380.0,271897401 +1100105,58,2718975,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271897501 +1100105,58,2718976,1,18,1,10,5,6,1,1,15,4,6211,7970.0,271897601 +1100105,58,2718977,1,18,1,-9,-9,6,6,1,15,4,,,271897701 +1100105,58,2718978,1,19,2,40,5,6,1,1,15,4,712,8570.0,271897801 +1100105,58,2718979,1,21,1,20,4,1,1,2,15,4,485M,6180.0,271897901 +1100105,58,2718980,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271898001 +1100105,58,2718981,1,18,2,-9,-9,6,2,1,15,4,,,271898101 +1100105,58,2718982,1,19,1,-9,-9,6,1,1,15,4,7115,8564.0,271898201 +1100105,58,2718983,1,18,2,-9,-9,6,1,1,15,4,,,271898301 +1100105,58,2718984,1,20,2,30,6,6,1,1,15,4,722Z,8680.0,271898401 +1100105,58,2718985,1,20,2,7,6,3,2,1,15,4,712,8570.0,271898501 +1100105,58,2718986,1,19,2,-9,-9,6,2,1,15,4,,,271898601 +1100105,58,2718987,1,20,2,-9,-9,6,1,1,15,4,,,271898701 +1100105,58,2718988,1,18,2,-9,-9,6,1,24,15,4,,,271898801 +1100105,58,2718989,1,19,2,30,6,6,1,1,15,4,442,4770.0,271898901 +1100105,58,2718990,1,21,2,40,6,6,2,1,15,4,713Z,8590.0,271899001 +1100105,58,2718991,1,17,1,30,6,6,2,1,15,4,4481,5170.0,271899101 +1100105,58,2718992,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271899201 +1100105,58,2718993,1,20,2,-9,-9,6,1,1,15,4,,,271899301 +1100105,58,2718994,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,271899401 +1100105,58,2718995,1,20,1,20,4,1,2,1,15,4,611M1,7870.0,271899501 +1100105,58,2718996,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271899601 +1100105,58,2718997,1,18,1,40,3,1,6,1,15,4,487,6280.0,271899701 +1100105,58,2718998,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271899801 +1100105,58,2718999,1,20,2,8,1,1,1,1,15,4,8131,9160.0,271899901 +1100105,58,2719000,1,20,1,25,4,6,1,1,15,4,713Z,8590.0,271900001 +1100105,58,2719001,1,19,1,35,6,6,1,1,15,4,721M,8670.0,271900101 +1100105,58,2719002,1,20,1,19,6,6,1,1,15,4,8139Z,9190.0,271900201 +1100105,58,2719003,1,19,2,6,5,6,1,1,15,4,611M1,7870.0,271900301 +1100105,58,2719004,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271900401 +1100105,58,2719005,1,21,2,-9,-9,6,1,1,15,4,,,271900501 +1100105,58,2719006,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271900601 +1100105,58,2719007,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271900701 +1100105,58,2719008,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271900801 +1100105,58,2719009,1,20,2,17,1,1,1,1,15,4,4483,5190.0,271900901 +1100105,58,2719010,1,19,2,20,6,6,1,1,15,4,722Z,8680.0,271901001 +1100105,58,2719011,1,19,1,8,5,6,1,1,15,4,713Z,8590.0,271901101 +1100105,58,2719012,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271901201 +1100105,58,2719013,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271901301 +1100105,58,2719014,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271901401 +1100105,58,2719015,1,18,1,6,1,1,1,1,15,4,622M,8191.0,271901501 +1100105,58,2719016,1,19,2,20,3,1,2,1,15,4,611M1,7870.0,271901601 +1100105,58,2719017,1,20,2,-9,-9,6,2,1,15,4,,,271901701 +1100105,58,2719018,1,19,2,-9,-9,6,1,1,15,4,722Z,8680.0,271901801 +1100105,58,2719019,1,19,2,15,5,6,1,1,15,4,446Z,5080.0,271901901 +1100105,58,2719020,1,18,2,10,6,6,1,1,15,4,722Z,8680.0,271902001 +1100105,58,2719021,1,20,1,12,4,1,6,1,15,4,611M1,7870.0,271902101 +1100105,58,2719022,1,18,2,14,5,3,1,1,15,4,722Z,8680.0,271902201 +1100105,58,2719023,1,20,1,23,5,6,9,19,15,4,4481,5170.0,271902301 +1100105,58,2719024,1,18,2,30,4,1,2,1,15,4,611M1,7870.0,271902401 +1100105,58,2719025,1,19,2,10,5,6,2,1,15,4,611M1,7870.0,271902501 +1100105,58,2719026,1,19,1,40,5,6,1,24,15,4,721M,8670.0,271902601 +1100105,58,2719027,1,21,1,40,6,1,1,1,15,4,337,3895.0,271902701 +1100105,58,2719028,1,18,2,-9,-9,6,1,1,15,4,,,271902801 +1100105,58,2719029,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271902901 +1100105,58,2719030,1,20,2,15,5,6,2,1,15,4,722Z,8680.0,271903001 +1100105,58,2719031,1,21,2,20,6,6,1,1,15,4,6241,8370.0,271903101 +1100105,58,2719032,1,21,2,40,6,6,6,1,15,4,611M1,7870.0,271903201 +1100105,58,2719033,1,21,1,20,4,1,1,1,15,4,813M,9170.0,271903301 +1100105,58,2719034,1,18,1,-9,-9,6,6,1,15,4,,,271903401 +1100105,58,2719035,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271903501 +1100105,58,2719036,1,19,1,-9,-9,6,1,1,15,4,,,271903601 +1100105,58,2719037,1,20,1,25,6,6,2,1,15,4,6231,8270.0,271903701 +1100105,58,2719038,1,18,2,20,3,6,1,1,15,4,5411,7270.0,271903801 +1100105,58,2719039,1,18,1,23,4,6,2,1,15,4,44511,4971.0,271903901 +1100105,58,2719040,1,20,1,15,4,6,2,1,15,4,6214,8090.0,271904001 +1100105,58,2719041,1,21,1,20,4,1,1,1,15,4,813M,9170.0,271904101 +1100105,58,2719042,1,18,2,20,1,6,1,1,15,4,111,170.0,271904201 +1100105,58,2719043,1,18,1,7,1,1,9,1,15,4,611M1,7870.0,271904301 +1100105,58,2719044,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271904401 +1100105,58,2719045,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271904501 +1100105,58,2719046,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271904601 +1100105,58,2719047,1,19,2,25,1,2,2,1,15,4,722Z,8680.0,271904701 +1100105,58,2719048,1,20,1,-9,-9,3,2,1,15,4,44511,4971.0,271904801 +1100105,58,2719049,1,22,2,-9,-9,6,2,24,15,4,,,271904901 +1100105,58,2719050,1,21,1,30,6,6,2,1,15,4,4542,5670.0,271905001 +1100105,58,2719051,1,18,2,8,6,1,2,1,15,4,611M3,7890.0,271905101 +1100105,58,2719052,1,19,2,24,5,6,1,1,15,4,515,6670.0,271905201 +1100105,58,2719053,1,18,2,-9,-9,6,2,1,15,4,,,271905301 +1100105,58,2719054,1,19,2,10,5,6,2,1,15,4,611M1,7870.0,271905401 +1100105,58,2719055,1,21,2,-9,-9,6,2,1,15,4,,,271905501 +1100105,58,2719056,1,22,2,-9,-9,6,2,24,15,4,,,271905601 +1100105,58,2719057,1,18,1,25,5,6,1,1,15,4,4453,4990.0,271905701 +1100105,58,2719058,1,18,2,46,6,6,2,1,15,4,721M,8670.0,271905801 +1100105,58,2719059,1,24,2,40,3,6,9,1,16,4,611M3,7890.0,271905901 +1100105,58,2719060,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271906001 +1100105,58,2719061,1,19,2,12,5,1,1,1,15,4,611M1,7870.0,271906101 +1100105,58,2719062,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271906201 +1100105,58,2719063,1,19,1,40,6,3,2,1,15,4,51913,6672.0,271906301 +1100105,58,2719064,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271906401 +1100105,58,2719065,1,22,1,40,1,1,1,1,15,4,5415,7380.0,271906501 +1100105,58,2719066,1,22,1,50,6,1,2,1,15,4,51913,6672.0,271906601 +1100105,58,2719067,1,21,2,-9,-9,6,2,1,15,4,,,271906701 +1100105,58,2719068,1,20,1,30,4,2,1,1,15,4,621M,8180.0,271906801 +1100105,58,2719069,1,20,2,18,5,1,2,1,15,4,611M1,7870.0,271906901 +1100105,58,2719070,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,271907001 +1100105,58,2719071,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271907101 +1100105,58,2719072,1,20,2,-9,-9,6,2,1,15,4,6111,7860.0,271907201 +1100105,58,2719073,1,21,2,10,4,1,2,1,15,4,813M,9170.0,271907301 +1100105,58,2719074,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271907401 +1100105,58,2719075,1,18,1,35,3,6,1,1,15,4,722Z,8680.0,271907501 +1100105,58,2719076,1,19,2,40,6,6,1,1,15,4,923,9480.0,271907601 +1100105,58,2719077,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271907701 +1100105,58,2719078,1,21,2,-9,-9,6,2,1,15,4,,,271907801 +1100105,58,2719079,1,21,2,40,6,6,1,1,15,4,3116,1180.0,271907901 +1100105,58,2719080,1,19,2,-9,-9,6,2,1,15,4,,,271908001 +1100105,58,2719081,1,18,2,6,5,1,1,4,15,4,4481,5170.0,271908101 +1100105,58,2719082,1,20,2,30,6,6,1,1,15,4,5111Z,6480.0,271908201 +1100105,58,2719083,1,18,2,22,4,1,2,1,15,4,611M1,7870.0,271908301 +1100105,58,2719084,1,18,1,23,4,6,2,1,15,4,44511,4971.0,271908401 +1100105,58,2719085,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271908501 +1100105,58,2719086,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,271908601 +1100105,58,2719087,1,22,2,8,5,1,1,1,15,4,611M1,7870.0,271908701 +1100105,58,2719088,1,20,1,6,4,1,2,1,15,4,6242,8380.0,271908801 +1100105,58,2719089,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271908901 +1100105,58,2719090,1,22,2,20,6,6,2,1,15,4,6231,8270.0,271909001 +1100105,58,2719091,1,24,2,5,5,6,1,1,16,4,611M1,7870.0,271909101 +1100105,58,2719092,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,271909201 +1100105,58,2719093,1,21,2,-9,-9,6,2,1,15,4,4523,5391.0,271909301 +1100105,58,2719094,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271909401 +1100105,58,2719095,1,21,2,40,6,6,1,1,15,4,611M1,7870.0,271909501 +1100105,58,2719096,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271909601 +1100105,58,2719097,1,20,2,-9,-9,6,6,1,15,4,,,271909701 +1100105,58,2719098,1,19,2,15,6,6,1,1,15,4,713Z,8590.0,271909801 +1100105,58,2719099,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271909901 +1100105,58,2719100,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271910001 +1100105,58,2719101,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271910101 +1100105,58,2719102,1,20,2,12,4,1,2,1,15,4,611M1,7870.0,271910201 +1100105,58,2719103,1,22,2,6,4,6,6,1,15,4,712,8570.0,271910301 +1100105,58,2719104,1,21,2,-9,-9,6,2,1,15,4,,,271910401 +1100105,58,2719105,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271910501 +1100105,58,2719106,1,21,1,25,4,1,2,1,15,4,611M1,7870.0,271910601 +1100105,58,2719107,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271910701 +1100105,58,2719108,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271910801 +1100105,58,2719109,1,21,2,25,5,1,2,1,15,4,611M1,7870.0,271910901 +1100105,58,2719110,1,20,2,-9,-9,6,1,1,15,4,,,271911001 +1100105,58,2719111,1,18,1,15,5,6,1,21,15,4,722Z,8680.0,271911101 +1100105,58,2719112,1,19,2,30,6,6,1,1,15,4,442,4770.0,271911201 +1100105,58,2719113,1,21,1,-9,-9,6,1,1,15,3,6111,7860.0,271911301 +1100105,58,2719114,1,20,2,-9,-9,6,2,1,15,4,,,271911401 +1100105,58,2719115,1,20,1,25,4,3,9,1,15,4,621M,8180.0,271911501 +1100105,58,2719116,1,18,2,99,6,6,2,1,15,4,721M,8670.0,271911601 +1100105,58,2719117,1,21,2,-9,-9,6,2,1,15,4,4523,5391.0,271911701 +1100105,58,2719118,1,17,1,30,6,6,2,1,15,4,4481,5170.0,271911801 +1100105,58,2719119,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,271911901 +1100105,58,2719120,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271912001 +1100105,58,2719121,1,19,1,-9,-9,6,1,24,15,4,5411,7270.0,271912101 +1100105,58,2719122,1,21,1,45,5,6,1,1,15,4,5419Z,7490.0,271912201 +1100105,58,2719123,1,20,1,40,6,3,2,1,15,4,5417,7460.0,271912301 +1100105,58,2719124,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271912401 +1100105,58,2719125,1,20,2,16,6,6,1,1,15,4,4481,5170.0,271912501 +1100105,58,2719126,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271912601 +1100105,58,2719127,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271912701 +1100105,58,2719128,1,18,2,40,3,1,1,1,15,4,611M3,7890.0,271912801 +1100105,58,2719129,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271912901 +1100105,58,2719130,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271913001 +1100105,58,2719131,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,271913101 +1100105,58,2719132,1,21,2,17,3,1,2,1,15,4,813M,9170.0,271913201 +1100105,58,2719133,1,23,2,40,1,1,1,1,16,4,515,6670.0,271913301 +1100105,58,2719134,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271913401 +1100105,58,2719135,1,18,1,-9,-9,6,2,1,15,4,,,271913501 +1100105,58,2719136,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271913601 +1100105,58,2719137,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271913701 +1100105,58,2719138,1,18,1,23,4,6,2,1,15,4,44511,4971.0,271913801 +1100105,58,2719139,1,22,2,20,6,6,2,1,15,4,6231,8270.0,271913901 +1100105,58,2719140,1,19,1,-9,-9,6,6,1,15,4,,,271914001 +1100105,58,2719141,1,18,2,20,6,6,1,1,15,4,8129,9090.0,271914101 +1100105,58,2719142,1,19,1,23,4,6,1,1,15,4,44512,4972.0,271914201 +1100105,58,2719143,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,271914301 +1100105,58,2719144,1,18,1,-9,-9,6,2,1,15,4,,,271914401 +1100105,58,2719145,1,20,2,25,1,1,8,24,15,4,3118Z,1270.0,271914501 +1100105,58,2719146,1,25,1,40,1,1,2,1,16,4,6216,8170.0,271914601 +1100105,58,2719147,1,19,2,35,6,6,1,1,15,4,713Z,8590.0,271914701 +1100105,58,2719148,1,20,2,-9,-9,6,1,1,15,4,,,271914801 +1100105,58,2719149,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271914901 +1100105,58,2719150,1,20,1,-9,-9,6,1,24,15,4,9211MP,9370.0,271915001 +1100105,58,2719151,1,18,2,20,6,6,6,1,15,4,721M,8670.0,271915101 +1100105,58,2719152,1,21,2,15,6,6,1,1,15,4,4481,5170.0,271915201 +1100105,58,2719153,1,18,2,15,4,6,2,1,15,4,45121,5370.0,271915301 +1100105,58,2719154,1,23,2,40,3,6,9,1,16,4,611M3,7890.0,271915401 +1100105,58,2719155,1,19,2,30,5,6,1,1,15,4,713Z,8590.0,271915501 +1100105,58,2719156,1,21,2,-9,-9,6,2,1,15,4,,,271915601 +1100105,58,2719157,1,24,2,-9,-9,6,2,1,16,4,,,271915701 +1100105,58,2719158,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271915801 +1100105,58,2719159,1,17,2,-9,-9,6,2,1,15,4,,,271915901 +1100105,58,2719160,1,18,1,-9,-9,6,1,1,15,4,,,271916001 +1100105,58,2719161,1,19,2,20,3,1,2,1,15,4,611M1,7870.0,271916101 +1100105,58,2719162,1,19,2,12,5,1,1,1,15,4,611M1,7870.0,271916201 +1100105,58,2719163,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271916301 +1100105,58,2719164,1,20,2,-9,-9,6,2,1,15,4,,,271916401 +1100105,58,2719165,1,17,1,-9,-9,6,2,1,15,4,5121,6570.0,271916501 +1100105,58,2719166,1,21,2,10,5,1,1,1,15,4,5411,7270.0,271916601 +1100105,58,2719167,1,18,1,-9,-9,6,1,1,15,4,,,271916701 +1100105,58,2719168,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271916801 +1100105,58,2719169,1,18,2,40,5,6,1,1,15,4,712,8570.0,271916901 +1100105,58,2719170,1,19,2,30,6,6,1,1,15,4,442,4770.0,271917001 +1100105,58,2719171,1,23,2,-9,-9,6,8,11,16,4,,,271917101 +1100105,58,2719172,1,21,2,20,5,1,6,1,15,4,5416,7390.0,271917201 +1100105,58,2719173,1,19,2,6,6,3,1,1,15,4,722Z,8680.0,271917301 +1100105,58,2719174,1,18,2,-9,-9,6,2,1,15,4,,,271917401 +1100105,58,2719175,1,20,1,-9,-9,6,2,1,15,4,,,271917501 +1100105,58,2719176,1,20,1,25,4,6,1,1,15,4,713Z,8590.0,271917601 +1100105,58,2719177,1,19,1,23,4,6,1,17,15,4,44512,4972.0,271917701 +1100105,58,2719178,1,21,2,25,4,1,1,1,15,4,8139Z,9190.0,271917801 +1100105,58,2719179,1,21,1,-9,-9,6,2,1,15,4,,,271917901 +1100105,58,2719180,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271918001 +1100105,58,2719181,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271918101 +1100105,58,2719182,1,22,1,20,6,6,1,1,15,4,3345,3380.0,271918201 +1100105,58,2719183,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271918301 +1100105,58,2719184,1,20,1,40,6,3,2,1,15,4,5417,7460.0,271918401 +1100105,58,2719185,1,20,1,20,6,6,7,1,15,4,3345,3380.0,271918501 +1100105,58,2719186,1,18,2,45,6,6,1,1,15,4,814,9290.0,271918601 +1100105,58,2719187,1,20,1,20,3,6,1,1,15,4,611M1,7870.0,271918701 +1100105,58,2719188,1,20,1,6,6,2,1,1,15,4,712,8570.0,271918801 +1100105,58,2719189,1,18,1,14,3,1,1,1,15,4,7211,8660.0,271918901 +1100105,58,2719190,1,18,2,-9,-9,6,1,1,15,4,,,271919001 +1100105,58,2719191,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271919101 +1100105,58,2719192,1,21,2,10,5,1,1,1,15,4,5411,7270.0,271919201 +1100105,58,2719193,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271919301 +1100105,58,2719194,1,20,2,15,1,1,1,1,15,4,6244,8470.0,271919401 +1100105,58,2719195,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271919501 +1100105,58,2719196,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271919601 +1100105,58,2719197,1,18,1,-9,-9,6,1,1,15,4,,,271919701 +1100105,58,2719198,1,20,1,45,5,6,6,1,15,4,4481,5170.0,271919801 +1100105,58,2719199,1,19,2,3,6,6,1,1,15,4,6244,8470.0,271919901 +1100105,58,2719200,1,19,2,16,4,6,1,1,15,4,722Z,8680.0,271920001 +1100105,58,2719201,1,19,1,40,6,1,1,1,15,4,487,6280.0,271920101 +1100105,58,2719202,1,21,1,30,5,2,2,1,15,4,447,5090.0,271920201 +1100105,58,2719203,1,26,1,20,6,6,2,1,16,4,92119,9390.0,271920301 +1100105,58,2719204,1,21,2,-9,-9,6,2,1,15,4,,,271920401 +1100105,58,2719205,1,21,2,-9,-9,6,2,1,15,4,,,271920501 +1100105,58,2719206,1,22,2,-9,-9,6,2,1,15,4,,,271920601 +1100105,58,2719207,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271920701 +1100105,58,2719208,1,20,1,15,3,1,1,1,15,4,5615,7670.0,271920801 +1100105,58,2719209,1,19,1,10,6,6,1,1,15,4,23,770.0,271920901 +1100105,58,2719210,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271921001 +1100105,58,2719211,1,20,2,-9,-9,6,2,1,15,4,,,271921101 +1100105,58,2719212,1,19,2,18,3,6,1,1,15,4,722Z,8680.0,271921201 +1100105,58,2719213,1,18,2,-9,-9,6,2,24,15,4,,,271921301 +1100105,58,2719214,1,19,2,-9,-9,6,1,1,15,4,,,271921401 +1100105,58,2719215,1,21,2,15,5,6,2,1,15,4,722Z,8680.0,271921501 +1100105,58,2719216,1,17,1,-9,-9,6,2,1,15,4,5121,6570.0,271921601 +1100105,58,2719217,1,24,1,45,6,6,2,1,15,4,51913,6672.0,271921701 +1100105,58,2719218,1,21,2,20,6,6,2,1,15,4,6241,8370.0,271921801 +1100105,58,2719219,1,18,2,-9,-9,6,2,1,15,4,,,271921901 +1100105,58,2719220,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271922001 +1100105,58,2719221,1,21,2,-9,-9,6,2,1,15,4,,,271922101 +1100105,58,2719222,1,21,1,20,4,1,2,1,15,4,485M,6180.0,271922201 +1100105,58,2719223,1,21,1,30,5,2,2,1,15,4,447,5090.0,271922301 +1100105,58,2719224,1,18,2,-9,-9,6,2,1,15,4,,,271922401 +1100105,58,2719225,1,21,2,15,6,6,1,1,15,4,92MP,9470.0,271922501 +1100105,58,2719226,1,18,2,-9,-9,6,1,1,15,4,,,271922601 +1100105,58,2719227,1,20,1,23,5,6,9,19,15,4,4481,5170.0,271922701 +1100105,58,2719228,1,22,2,8,5,1,1,1,15,4,611M1,7870.0,271922801 +1100105,58,2719229,1,18,2,-9,-9,6,1,1,15,4,,,271922901 +1100105,58,2719230,1,19,2,-9,-9,6,1,1,15,4,,,271923001 +1100105,58,2719231,1,18,2,20,6,6,2,1,15,4,6111,7860.0,271923101 +1100105,58,2719232,1,20,2,17,1,1,1,1,15,4,4483,5190.0,271923201 +1100105,58,2719233,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271923301 +1100105,58,2719234,1,18,2,15,1,1,1,1,15,4,4481,5170.0,271923401 +1100105,58,2719235,1,20,2,6,5,1,1,1,15,4,4481,5170.0,271923501 +1100105,58,2719236,1,18,2,20,3,6,1,1,15,4,44611,5070.0,271923601 +1100105,58,2719237,1,20,1,-9,-9,6,1,1,15,4,,,271923701 +1100105,58,2719238,1,20,2,-9,-9,6,1,1,15,4,,,271923801 +1100105,58,2719239,1,46,2,20,1,2,2,1,16,4,611M1,7870.0,271923901 +1100105,58,2719240,1,21,2,-9,-9,6,1,1,15,4,,,271924001 +1100105,58,2719241,1,18,1,-9,-9,6,9,1,15,4,,,271924101 +1100105,58,2719242,1,19,1,-9,-9,6,6,1,15,4,,,271924201 +1100105,58,2719243,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271924301 +1100105,58,2719244,1,18,1,20,6,6,2,1,15,4,4442,4890.0,271924401 +1100105,58,2719245,1,24,2,-9,-9,6,2,1,16,4,,,271924501 +1100105,58,2719246,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271924601 +1100105,58,2719247,1,21,2,40,1,6,2,1,15,4,515,6670.0,271924701 +1100105,58,2719248,1,19,2,8,1,6,1,1,15,4,4481,5170.0,271924801 +1100105,58,2719249,1,18,2,-9,-9,6,2,1,15,4,,,271924901 +1100105,58,2719250,1,22,2,40,1,1,2,1,15,4,515,6670.0,271925001 +1100105,58,2719251,1,20,1,4,5,6,1,1,15,4,713Z,8590.0,271925101 +1100105,58,2719252,1,19,1,-9,-9,6,1,1,15,4,,,271925201 +1100105,58,2719253,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271925301 +1100105,58,2719254,1,18,1,40,6,6,1,1,15,4,23,770.0,271925401 +1100105,58,2719255,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271925501 +1100105,58,2719256,1,21,2,-9,-9,6,2,1,15,4,23,770.0,271925601 +1100105,58,2719257,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271925701 +1100105,58,2719258,1,20,1,40,6,6,1,1,15,4,522M,6890.0,271925801 +1100105,58,2719259,1,19,2,30,5,6,1,1,15,4,622M,8191.0,271925901 +1100105,58,2719260,1,18,2,6,2,1,9,14,15,4,6111,7860.0,271926001 +1100105,58,2719261,1,19,1,6,1,1,1,1,15,4,622M,8191.0,271926101 +1100105,58,2719262,1,17,2,-9,-9,6,2,1,15,4,,,271926201 +1100105,58,2719263,1,21,2,-9,-9,6,1,1,15,4,,,271926301 +1100105,58,2719264,1,46,2,20,1,2,2,1,16,4,611M1,7870.0,271926401 +1100105,58,2719265,1,19,2,84,6,6,1,1,15,4,721M,8670.0,271926501 +1100105,58,2719266,1,18,2,7,4,1,6,1,15,4,713Z,8590.0,271926601 +1100105,58,2719267,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271926701 +1100105,58,2719268,1,18,2,15,6,3,2,1,15,4,4481,5170.0,271926801 +1100105,58,2719269,1,18,1,12,6,1,1,1,15,4,611M1,7870.0,271926901 +1100105,58,2719270,1,20,2,6,5,1,1,1,15,4,4481,5170.0,271927001 +1100105,58,2719271,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,271927101 +1100105,58,2719272,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271927201 +1100105,58,2719273,1,19,2,5,6,6,2,10,15,4,6111,7860.0,271927301 +1100105,58,2719274,1,20,1,-9,-9,6,1,1,15,4,711M,8563.0,271927401 +1100105,58,2719275,1,23,2,20,1,1,1,21,15,4,722Z,8680.0,271927501 +1100105,58,2719276,1,21,2,-9,-9,6,2,1,15,4,,,271927601 +1100105,58,2719277,1,24,2,-9,-9,6,2,1,15,4,,,271927701 +1100105,58,2719278,1,19,2,10,5,6,2,1,15,4,611M1,7870.0,271927801 +1100105,58,2719279,1,19,2,30,5,6,6,1,15,4,713Z,8590.0,271927901 +1100105,58,2719280,1,22,2,20,5,1,2,1,15,4,5121,6570.0,271928001 +1100105,58,2719281,1,19,2,-9,-9,6,2,1,15,4,,,271928101 +1100105,58,2719282,1,19,2,-9,-9,6,6,1,15,4,,,271928201 +1100105,58,2719283,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271928301 +1100105,58,2719284,1,18,2,-9,-9,3,1,1,15,4,45221,5381.0,271928401 +1100105,58,2719285,1,21,2,36,6,6,2,1,15,4,622M,8191.0,271928501 +1100105,58,2719286,1,21,2,40,6,6,1,1,15,4,611M1,7870.0,271928601 +1100105,58,2719287,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271928701 +1100105,58,2719288,1,23,1,-9,-9,6,2,1,15,4,721M,8670.0,271928801 +1100105,58,2719289,1,21,1,-9,-9,6,2,1,15,4,,,271928901 +1100105,58,2719290,1,18,2,-9,-9,6,1,1,15,4,,,271929001 +1100105,58,2719291,1,28,1,40,1,1,1,1,16,4,8122,9080.0,271929101 +1100105,58,2719292,1,16,2,4,6,6,1,1,15,-9,611M3,7890.0,271929201 +1100105,58,2719293,1,19,1,-9,-9,6,1,1,15,4,,,271929301 +1100105,58,2719294,1,24,1,-9,-9,6,6,1,15,4,44511,4971.0,271929401 +1100105,58,2719295,1,20,2,-9,-9,6,1,24,15,4,721M,8670.0,271929501 +1100105,58,2719296,1,18,2,20,1,1,1,1,15,4,722Z,8680.0,271929601 +1100105,58,2719297,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271929701 +1100105,58,2719298,1,19,2,10,5,1,6,1,15,4,611M1,7870.0,271929801 +1100105,58,2719299,1,19,1,40,6,6,1,1,15,4,6111,7860.0,271929901 +1100105,58,2719300,1,20,2,-9,-9,6,2,1,15,4,6111,7860.0,271930001 +1100105,58,2719301,1,19,2,-9,-9,6,1,1,15,4,,,271930101 +1100105,58,2719302,1,20,1,25,4,1,1,1,15,4,92M2,9570.0,271930201 +1100105,58,2719303,1,27,1,20,5,1,2,8,15,4,722Z,8680.0,271930301 +1100105,58,2719304,1,18,1,8,4,1,1,1,15,4,611M1,7870.0,271930401 +1100105,58,2719305,1,20,1,10,3,1,2,1,15,4,611M1,7870.0,271930501 +1100105,58,2719306,1,21,2,20,6,6,2,1,15,4,6241,8370.0,271930601 +1100105,58,2719307,1,20,1,40,5,6,1,1,15,4,813M,9170.0,271930701 +1100105,58,2719308,1,19,2,20,4,1,2,1,15,4,5313,7072.0,271930801 +1100105,58,2719309,1,20,2,25,6,6,1,1,15,4,623M,8290.0,271930901 +1100105,58,2719310,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,271931001 +1100105,58,2719311,1,18,1,50,6,3,2,1,15,4,5614,7590.0,271931101 +1100105,58,2719312,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,271931201 +1100105,58,2719313,1,17,2,-9,-9,6,2,1,15,4,,,271931301 +1100105,58,2719314,1,33,2,35,4,3,2,1,15,4,6231,8270.0,271931401 +1100105,58,2719315,1,18,1,30,6,6,2,1,15,4,722Z,8680.0,271931501 +1100105,58,2719316,1,20,1,15,3,1,1,1,15,4,5615,7670.0,271931601 +1100105,58,2719317,1,20,2,-9,-9,6,2,1,15,4,,,271931701 +1100105,58,2719318,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271931801 +1100105,58,2719319,1,18,2,-9,-9,6,1,1,15,4,,,271931901 +1100105,58,2719320,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271932001 +1100105,58,2719321,1,21,2,-9,-9,6,2,1,15,4,,,271932101 +1100105,58,2719322,1,21,1,-9,-9,3,2,1,15,4,44511,4971.0,271932201 +1100105,58,2719323,1,19,1,8,5,6,1,1,15,4,713Z,8590.0,271932301 +1100105,58,2719324,1,18,2,-9,-9,6,1,24,15,4,,,271932401 +1100105,58,2719325,1,18,2,40,5,6,6,1,15,4,712,8570.0,271932501 +1100105,58,2719326,1,22,2,36,6,6,2,1,15,4,622M,8191.0,271932601 +1100105,58,2719327,1,18,1,-9,-9,3,2,1,15,4,999920,9920.0,271932701 +1100105,58,2719328,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271932801 +1100105,58,2719329,1,19,1,4,6,6,1,1,15,4,814,9290.0,271932901 +1100105,58,2719330,1,18,2,20,3,6,1,1,15,4,5411,7270.0,271933001 +1100105,58,2719331,1,20,2,-9,-9,6,2,1,15,4,,,271933101 +1100105,58,2719332,1,21,2,15,4,1,9,1,15,4,92MP,9470.0,271933201 +1100105,58,2719333,1,18,2,3,6,1,1,1,15,4,611M3,7890.0,271933301 +1100105,58,2719334,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271933401 +1100105,58,2719335,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271933501 +1100105,58,2719336,1,20,1,16,4,6,1,1,15,4,7211,8660.0,271933601 +1100105,58,2719337,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271933701 +1100105,58,2719338,1,18,2,27,5,2,2,1,15,4,6244,8470.0,271933801 +1100105,58,2719339,1,18,2,40,5,6,1,1,15,4,712,8570.0,271933901 +1100105,58,2719340,1,19,2,24,5,6,1,1,15,4,515,6670.0,271934001 +1100105,58,2719341,1,19,2,-9,-9,6,2,1,15,4,,,271934101 +1100105,58,2719342,1,20,1,-9,-9,6,6,1,15,4,,,271934201 +1100105,58,2719343,1,22,1,20,6,6,2,1,15,4,813M,9170.0,271934301 +1100105,58,2719344,1,19,2,20,6,6,2,1,15,4,713Z,8590.0,271934401 +1100105,58,2719345,1,19,2,35,6,6,1,1,15,4,713Z,8590.0,271934501 +1100105,58,2719346,1,19,2,-9,-9,6,1,1,15,4,,,271934601 +1100105,58,2719347,1,18,2,20,6,6,1,1,15,4,8129,9090.0,271934701 +1100105,58,2719348,1,21,2,20,1,1,2,1,15,4,722Z,8680.0,271934801 +1100105,58,2719349,1,17,1,30,6,6,2,1,15,4,4481,5170.0,271934901 +1100105,58,2719350,1,20,2,18,5,3,1,1,15,4,4481,5170.0,271935001 +1100105,58,2719351,1,21,2,-9,-9,6,1,1,15,4,,,271935101 +1100105,58,2719352,1,22,1,18,3,1,9,1,15,4,928P,9590.0,271935201 +1100105,58,2719353,1,20,1,12,4,1,2,1,15,4,611M1,7870.0,271935301 +1100105,58,2719354,1,21,2,20,6,6,2,1,15,4,6231,8270.0,271935401 +1100105,58,2719355,1,21,1,21,6,6,2,1,15,4,722Z,8680.0,271935501 +1100105,58,2719356,1,23,2,20,6,6,2,1,16,4,6241,8370.0,271935601 +1100105,58,2719357,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271935701 +1100105,58,2719358,1,19,2,20,5,1,9,1,15,4,5415,7380.0,271935801 +1100105,58,2719359,1,21,2,-9,-9,6,2,1,15,4,,,271935901 +1100105,58,2719360,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271936001 +1100105,58,2719361,1,18,2,-9,-9,6,1,3,15,4,,,271936101 +1100105,58,2719362,1,18,1,-9,-9,6,6,1,15,4,,,271936201 +1100105,58,2719363,1,18,2,-9,-9,6,1,1,15,4,,,271936301 +1100105,58,2719364,1,19,2,-9,-9,6,2,1,15,4,,,271936401 +1100105,58,2719365,1,20,1,-9,-9,6,1,1,15,4,713Z,8590.0,271936501 +1100105,58,2719366,1,19,2,22,6,6,1,1,15,4,722Z,8680.0,271936601 +1100105,58,2719367,1,19,1,23,4,6,1,1,15,4,44512,4972.0,271936701 +1100105,58,2719368,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271936801 +1100105,58,2719369,1,19,1,7,5,6,2,1,15,4,611M1,7870.0,271936901 +1100105,58,2719370,1,19,1,8,6,1,2,1,15,4,611M1,7870.0,271937001 +1100105,58,2719371,1,17,1,30,6,6,2,1,15,4,4481,5170.0,271937101 +1100105,58,2719372,1,19,2,24,5,6,1,1,15,4,722Z,8680.0,271937201 +1100105,58,2719373,1,19,2,20,6,1,1,1,15,4,611M1,7870.0,271937301 +1100105,58,2719374,1,18,2,-9,-9,6,2,1,15,4,,,271937401 +1100105,58,2719375,1,22,1,40,6,6,2,1,15,4,611M1,7870.0,271937501 +1100105,58,2719376,1,18,2,-9,-9,6,2,1,15,4,,,271937601 +1100105,58,2719377,1,21,2,30,5,6,2,1,15,4,712,8570.0,271937701 +1100105,58,2719378,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271937801 +1100105,58,2719379,1,20,2,-9,-9,6,6,2,15,4,,,271937901 +1100105,58,2719380,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271938001 +1100105,58,2719381,1,19,1,60,6,6,2,1,15,4,711M,8563.0,271938101 +1100105,58,2719382,1,20,2,8,1,1,1,1,15,4,8131,9160.0,271938201 +1100105,58,2719383,1,18,2,-9,-9,6,1,3,15,4,,,271938301 +1100105,58,2719384,1,21,2,20,6,6,2,1,15,4,6241,8370.0,271938401 +1100105,58,2719385,1,19,2,24,6,1,1,1,15,4,611M3,7890.0,271938501 +1100105,58,2719386,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271938601 +1100105,58,2719387,1,28,1,45,6,3,2,1,16,4,5413,7290.0,271938701 +1100105,58,2719388,1,20,2,-9,-9,6,2,1,15,4,,,271938801 +1100105,58,2719389,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271938901 +1100105,58,2719390,1,21,1,40,6,6,1,1,15,4,52M2,6970.0,271939001 +1100105,58,2719391,1,19,1,50,6,6,2,1,15,4,311M2,1280.0,271939101 +1100105,58,2719392,1,18,1,-9,-9,6,1,1,15,4,,,271939201 +1100105,58,2719393,1,18,2,-9,-9,6,1,1,15,4,,,271939301 +1100105,58,2719394,1,18,1,24,5,1,1,1,15,4,4539,5580.0,271939401 +1100105,58,2719395,1,22,2,20,4,1,2,1,15,4,611M1,7870.0,271939501 +1100105,58,2719396,1,27,1,40,1,1,8,24,16,4,6216,8170.0,271939601 +1100105,58,2719397,1,19,1,7,4,3,1,1,15,4,722Z,8680.0,271939701 +1100105,58,2719398,1,18,2,-9,-9,6,1,3,15,4,,,271939801 +1100105,58,2719399,1,21,2,20,6,6,1,1,15,4,611M1,7870.0,271939901 +1100105,58,2719400,1,19,2,24,5,6,1,1,15,4,722Z,8680.0,271940001 +1100105,58,2719401,1,22,2,-9,-9,6,2,1,15,4,,,271940101 +1100105,58,2719402,1,20,1,-9,-9,6,1,1,15,4,722Z,8680.0,271940201 +1100105,58,2719403,1,18,1,23,4,6,2,1,15,4,44511,4971.0,271940301 +1100105,58,2719404,1,19,2,25,4,6,1,1,15,4,722Z,8680.0,271940401 +1100105,58,2719405,1,20,1,12,4,1,1,1,15,4,5415,7380.0,271940501 +1100105,58,2719406,1,20,1,-9,-9,3,2,1,15,4,44511,4971.0,271940601 +1100105,58,2719407,1,21,1,26,1,1,2,1,15,4,52M2,6970.0,271940701 +1100105,58,2719408,1,19,1,40,6,3,1,1,15,4,51913,6672.0,271940801 +1100105,58,2719409,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271940901 +1100105,58,2719410,1,20,2,10,5,2,1,1,15,4,611M3,7890.0,271941001 +1100105,58,2719411,1,19,2,-9,-9,6,1,1,15,4,611M3,7890.0,271941101 +1100105,58,2719412,1,19,2,16,6,6,2,1,15,4,45221,5381.0,271941201 +1100105,58,2719413,1,22,1,-9,-9,6,1,1,15,4,5111Z,6480.0,271941301 +1100105,58,2719414,1,19,2,16,4,6,2,1,15,4,722Z,8680.0,271941401 +1100105,58,2719415,1,20,2,-9,-9,6,1,1,15,4,,,271941501 +1100105,58,2719416,1,18,1,45,6,6,1,3,15,4,721M,8670.0,271941601 +1100105,58,2719417,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271941701 +1100105,58,2719418,1,19,2,30,6,6,6,1,15,4,4539,5580.0,271941801 +1100105,58,2719419,1,19,2,-9,-9,6,6,1,15,4,,,271941901 +1100105,58,2719420,1,18,2,7,4,1,6,1,15,4,713Z,8590.0,271942001 +1100105,58,2719421,1,18,2,20,6,6,1,1,15,4,721M,8670.0,271942101 +1100105,58,2719422,1,18,2,18,3,6,2,1,15,4,722Z,8680.0,271942201 +1100105,58,2719423,1,21,2,15,1,1,2,1,15,4,713Z,8590.0,271942301 +1100105,58,2719424,1,18,1,35,6,6,1,19,15,4,722Z,8680.0,271942401 +1100105,58,2719425,1,19,2,-9,-9,6,1,1,15,4,,,271942501 +1100105,58,2719426,1,19,2,99,6,6,1,1,15,4,721M,8670.0,271942601 +1100105,58,2719427,1,19,1,50,6,6,9,1,15,4,5416,7390.0,271942701 +1100105,58,2719428,1,18,1,-9,-9,6,2,1,15,4,9211MP,9370.0,271942801 +1100105,58,2719429,1,21,2,10,4,6,1,1,15,4,611M1,7870.0,271942901 +1100105,58,2719430,1,19,2,20,6,1,2,1,15,4,611M1,7870.0,271943001 +1100105,58,2719431,1,20,2,16,3,2,1,1,15,4,611M1,7870.0,271943101 +1100105,58,2719432,1,20,2,-9,-9,6,1,1,15,4,,,271943201 +1100105,58,2719433,1,17,1,17,6,1,1,1,15,4,4539,5580.0,271943301 +1100105,58,2719434,1,19,1,35,6,6,1,1,15,4,713Z,8590.0,271943401 +1100105,58,2719435,1,22,1,10,1,1,6,1,15,4,611M1,7870.0,271943501 +1100105,58,2719436,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271943601 +1100105,58,2719437,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271943701 +1100105,58,2719438,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271943801 +1100105,58,2719439,1,20,2,6,5,2,1,1,15,4,712,8570.0,271943901 +1100105,58,2719440,1,21,1,25,5,1,1,1,15,4,611M1,7870.0,271944001 +1100105,58,2719441,1,21,2,20,6,6,1,1,15,4,611M1,7870.0,271944101 +1100105,58,2719442,1,18,1,14,5,1,1,1,15,4,611M1,7870.0,271944201 +1100105,58,2719443,1,21,1,20,4,1,6,1,15,4,611M1,7870.0,271944301 +1100105,58,2719444,1,20,2,7,6,3,2,1,15,4,712,8570.0,271944401 +1100105,58,2719445,1,21,1,8,4,1,2,1,15,4,611M1,7870.0,271944501 +1100105,58,2719446,1,20,2,32,6,6,1,1,15,4,722Z,8680.0,271944601 +1100105,58,2719447,1,18,2,40,3,1,1,1,15,4,611M3,7890.0,271944701 +1100105,58,2719448,1,20,1,12,3,1,1,1,15,4,611M1,7870.0,271944801 +1100105,58,2719449,1,20,2,6,5,1,1,1,15,4,4481,5170.0,271944901 +1100105,58,2719450,1,24,2,40,3,6,9,1,16,4,611M3,7890.0,271945001 +1100105,58,2719451,1,18,1,6,1,1,1,1,15,4,622M,8191.0,271945101 +1100105,58,2719452,1,20,2,10,4,1,2,1,15,4,611M1,7870.0,271945201 +1100105,58,2719453,1,18,2,-9,-9,6,1,1,15,4,,,271945301 +1100105,58,2719454,1,21,2,28,5,6,2,1,15,4,5241,6991.0,271945401 +1100105,58,2719455,1,19,1,45,6,6,1,1,15,4,721M,8670.0,271945501 +1100105,58,2719456,1,20,2,25,5,1,2,1,15,4,611M1,7870.0,271945601 +1100105,58,2719457,1,20,2,-9,-9,6,1,1,15,4,,,271945701 +1100105,58,2719458,1,18,2,-9,-9,6,1,19,15,4,4523,5391.0,271945801 +1100105,58,2719459,1,20,2,40,6,6,2,1,15,4,6243,8390.0,271945901 +1100105,58,2719460,1,21,1,70,5,1,1,1,15,4,52M1,6870.0,271946001 +1100105,58,2719461,1,19,2,28,4,6,2,1,15,4,722Z,8680.0,271946101 +1100105,58,2719462,1,21,1,24,1,6,1,1,15,4,5419Z,7490.0,271946201 +1100105,58,2719463,1,18,1,20,6,6,2,1,15,4,4442,4890.0,271946301 +1100105,58,2719464,1,19,1,30,5,6,1,1,15,4,4481,5170.0,271946401 +1100105,58,2719465,1,21,1,32,6,6,1,1,15,4,722Z,8680.0,271946501 +1100105,58,2719466,1,18,2,-9,-9,6,2,1,15,4,,,271946601 +1100105,58,2719467,1,19,2,-9,-9,6,2,1,15,4,813M,9170.0,271946701 +1100105,58,2719468,1,20,2,-9,-9,6,1,1,15,4,,,271946801 +1100105,58,2719469,1,22,2,-9,-9,6,2,1,15,4,,,271946901 +1100105,58,2719470,1,21,2,-9,-9,6,2,1,15,4,,,271947001 +1100105,58,2719471,1,19,1,-9,-9,6,6,1,15,4,51111,6470.0,271947101 +1100105,58,2719472,1,19,1,16,4,1,1,1,15,4,622M,8191.0,271947201 +1100105,58,2719473,1,18,1,8,6,6,2,1,15,4,713Z,8590.0,271947301 +1100105,58,2719474,1,19,2,8,4,1,8,16,15,4,611M1,7870.0,271947401 +1100105,58,2719475,1,21,2,-9,-9,6,1,1,15,4,,,271947501 +1100105,58,2719476,1,19,2,-9,-9,6,2,1,15,4,,,271947601 +1100105,58,2719477,1,20,2,8,4,1,1,1,15,4,611M3,7890.0,271947701 +1100105,58,2719478,1,19,2,25,1,1,2,1,15,4,3118Z,1270.0,271947801 +1100105,58,2719479,1,19,1,-9,-9,6,1,24,15,4,5411,7270.0,271947901 +1100105,58,2719480,1,22,1,30,6,6,6,1,15,4,6213ZM,8080.0,271948001 +1100105,58,2719481,1,21,1,-9,-9,6,1,24,15,4,44511,4971.0,271948101 +1100105,58,2719482,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271948201 +1100105,58,2719483,1,19,1,10,4,1,1,1,15,4,721M,8670.0,271948301 +1100105,58,2719484,1,20,2,-9,-9,6,2,1,15,4,,,271948401 +1100105,58,2719485,1,21,1,40,6,6,2,1,15,4,4241,4370.0,271948501 +1100105,58,2719486,1,19,2,18,3,6,1,1,15,4,722Z,8680.0,271948601 +1100105,58,2719487,1,19,2,-9,-9,6,1,1,15,4,,,271948701 +1100105,58,2719488,1,21,1,50,1,4,1,1,15,1,928110P4,9770.0,271948801 +1100105,58,2719489,1,18,2,15,6,1,2,1,15,4,611M1,7870.0,271948901 +1100105,58,2719490,1,20,1,20,4,1,1,1,15,4,611M1,7870.0,271949001 +1100105,58,2719491,1,20,2,-9,-9,6,2,1,15,4,622M,8191.0,271949101 +1100105,58,2719492,1,22,2,10,4,1,2,1,15,4,611M1,7870.0,271949201 diff --git a/activitysim/examples/prototype_mwcog/data/land_use.csv b/activitysim/examples/prototype_mwcog/data/land_use.csv new file mode 100644 index 0000000000..a50d63838a --- /dev/null +++ b/activitysim/examples/prototype_mwcog/data/land_use.csv @@ -0,0 +1,54 @@ +TAZ,HH,HHPOP,GQPOP,TOTPOP,TOTEMP,INDEMP,RETEMP,OFFEMP,OTHEMP,JURCODE,LANDAREA,HHINCIDX,ADISTTOX,TAZXCRD,TAZYCRD,K_8,G9_12,COLLEGE,Park_Acres,GC_Acres,PRKCST,OPRKCST,TERMINAL,AREATYPE,household_density,employment_density,density_index,TOPOLOGY +1,0,0,0,0,12623,29,149,11731,714,0,0.0424,10,29.08,1298543,446898,0,0,0,2.906924,0.0,117.875,200,5,1,0.0,465.17541273584914,0.0,1 +2,0,0,0,0,0,0,0,0,0,0,0.1553,5,29.28,1298807,445281,0,0,0,106.708067,0.0,103.75,200,5,1,0.0,0.0,0.0,1 +7,0,0,0,0,0,0,0,0,0,0,0.0814,10,29.09,1299596,445915,0,0,0,51.717837,0.0,116.125,200,5,1,0.0,0.0,0.0,1 +8,0,0,0,0,0,0,0,0,0,0,0.0708,10,28.68,1301916,446878,0,0,0,42.722665,0.0,126.5,200,5,1,0.0,0.0,0.0,1 +9,0,0,0,0,837,32,32,679,94,0,0.1368,10,28.9,1302004,445336,0,0,0,91.542163,0.0,118.75,200,5,1,0.0,9.560032894736839,0.0,1 +10,0,0,0,0,40,4,4,28,4,0,0.0585,10,29.03,1302622,443982,0,0,0,24.899056,0.0,114.625,100,4,2,0.0,1.068376068376068,0.0,1 +11,77,118,0,118,11123,153,690,10237,43,0,0.0965,10,28.92,1303826,443797,0,0,0,4.678476,0.0,113.375,200,5,1,1.246761658031088,180.10038860103626,1.2381901716321244,1 +12,0,0,0,0,8674,45,80,8410,140,0,0.0645,10,28.71,1305207,444137,0,0,0,4.58145,0.0,113.5,200,5,1,0.0,210.1259689922481,0.0,1 +13,0,0,0,0,0,0,0,0,0,0,0.0502,10,28.64,1303781,445659,0,0,0,29.514458,0.0,121.375,200,5,1,0.0,0.0,0.0,1 +14,0,0,0,0,3061,28,65,2868,101,0,0.0366,10,28.36,1304865,446730,0,0,0,1.153893,0.0,121.5,200,5,1,0.0,130.67793715846994,0.0,1 +15,0,0,0,0,2552,13,78,1923,538,0,0.1033,10,28.51,1305222,445451,17,0,0,62.05587,0.0,118.125,200,5,1,0.0,38.60116166505325,0.0,1 +16,0,0,11,11,1151,2,1,1134,14,0,0.021,10,28.26,1306024,446507,0,0,0,1.927624,0.0,117.5,200,5,1,0.0,85.63988095238095,0.0,1 +17,94,123,0,123,8168,32,557,7065,515,0,0.0604,10,28.04,1307606,446777,0,0,0,4.5560589999999985,0.0,118.75,200,5,1,2.431705298013245,211.29966887417217,2.4040388373483643,1 +18,2,9,165,174,2753,18,153,2510,73,0,0.0501,3,27.93,1307404,447663,0,0,0,12.798207,0.0,119.25,200,5,1,0.062375249500998,85.85953093812375,0.062329968013156975,1 +19,935,1370,0,1370,4952,113,782,3743,314,0,0.0425,10,28.13,1306159,447228,436,162,0,3.573253,0.0,119.75,200,5,1,34.37499999999999,182.05882352941174,28.915406828605395,1 +20,207,288,4,292,7447,593,1846,4841,168,0,0.0556,1,27.95,1306154,448433,0,0,0,0.0,0.0,118.875,200,5,1,5.8172212230215825,209.27945143884892,5.6598963219025,1 +21,0,0,9,9,13711,506,574,12100,531,0,0.0309,10,28.25,1304825,447457,0,0,0,2.394262,0.0,123.125,200,5,1,0.0,693.3151294498383,0.0,1 +22,0,0,0,0,12244,127,732,11072,313,0,0.0487,10,28.46,1303741,446918,0,0,0,1.437008,0.0,123.75,200,5,1,0.0,392.8388090349076,0.0,1 +23,0,0,4,4,12866,287,1454,10596,529,0,0.0355,37,28.17,1304255,448422,0,0,0,0.0,0.0,122.0,200,5,1,0.0,566.2852112676056,0.0,1 +24,255,407,7,414,13906,435,1384,11186,901,0,0.042,37,28.08,1305075,448422,0,0,0,0.296055,0.0,120.625,200,5,1,9.486607142857142,517.3363095238095,9.315779883381923,1 +25,802,1373,0,1373,12798,556,1636,9835,771,0,0.0649,3,27.86,1305333,449713,0,0,53,3.405214,0.0,120.875,200,5,1,19.30855161787365,308.11825885978425,18.1699149709961,1 +26,114,179,9,188,7517,429,789,5811,488,0,0.0466,10,28.04,1303973,449577,0,0,0,5.142853,0.0,121.875,200,5,1,3.822424892703863,252.0453326180257,3.765321441286193,1 +27,857,1191,62,1253,8051,631,907,6189,324,0,0.0411,6,27.9,1303861,450595,242,0,0,0.372647,0.0,122.25,200,5,1,32.58059610705596,306.0751216545013,29.446158425898926,1 +28,86,112,53,165,19448,705,2055,16023,665,0,0.0596,10,28.22,1302243,449723,0,0,563,3.232071,0.0,122.125,200,5,1,2.254614093959732,509.8573825503356,2.244687974778789,1 +29,144,200,40,240,10131,241,730,8711,448,0,0.0359,10,28.23,1303147,448956,0,0,0,0.100718,0.0,122.25,200,5,1,6.2674094707520895,440.9383704735377,6.17957424313279,1 +30,0,0,0,0,6615,853,2246,3321,195,0,0.0355,10,28.32,1303381,448113,0,0,0,2.547351,0.0,125.75,200,5,1,0.0,291.1531690140845,0.0,1 +31,0,0,0,0,2888,2,2,2883,1,0,0.0264,10,28.53,1302987,447039,0,0,0,2.399584,0.0,124.125,200,5,1,0.0,170.92803030303028,0.0,1 +32,1,5,0,5,1634,21,29,1376,208,0,0.0886,10,28.47,1301930,448259,0,0,0,36.87934600000001,0.0,124.0,200,5,1,0.01763544018058691,28.816309255079002,0.017624653978641595,1 +33,0,0,16,16,8908,249,321,7738,600,0,0.0783,10,28.79,1300543,447235,0,0,357,4.631443,0.0,122.875,200,5,1,0.0,177.76181353767564,0.0,1 +34,0,0,0,0,4455,1,4,3894,556,0,0.0433,10,28.96,1299479,446952,0,0,0,6.678808999999998,0.0,122.25,200,5,1,0.0,160.76068129330255,0.0,1 +35,676,833,1831,2664,1476,150,523,713,90,0,0.0456,1,28.76,1299451,448338,0,0,4916,0.992433,0.0,121.5,200,5,1,23.16337719298245,50.57565789473684,15.887149041283507,1 +36,0,0,78,78,13823,180,375,12538,730,0,0.0507,10,28.55,1300642,448757,0,358,0,0.8345889999999999,0.0,123.375,200,5,1,0.0,426.0046844181459,0.0,1 +37,0,0,0,0,21196,759,2724,15554,2159,0,0.0505,10,28.43,1300499,449711,0,0,0,0.0,0.0,121.375,200,5,1,0.0,655.8168316831683,0.0,1 +38,0,0,0,0,21170,763,2013,17304,1090,0,0.0544,10,28.33,1300211,450601,0,0,0,0.0,0.0,119.25,200,5,1,0.0,608.0537683823529,0.0,1 +39,29,53,0,53,16447,735,1546,13192,974,0,0.0428,15,28.17,1301423,450694,0,0,271,0.0,0.0,122.375,200,5,1,1.0587032710280373,600.4307827102804,1.0568398093346765,1 +40,525,702,0,702,21881,936,2303,17050,1592,0,0.0671,5,28.03,1302525,450809,0,0,350,0.459977,0.0,122.0,200,5,1,12.225223546944857,509.52403129657233,11.938771598263875,1 +41,2726,3757,0,3757,1927,147,982,712,86,0,0.0557,5,27.83,1302670,452054,0,0,0,0.986873,0.0,119.5,200,5,1,76.46992818671454,54.05632854578097,31.66936419853835,1 +42,2234,3018,77,3095,4397,80,478,3536,303,0,0.0638,8,27.9,1301162,452771,0,57,0,1.724588,0.0,114.5,200,5,1,54.7119905956113,107.68514890282135,36.27938812379775,1 +43,155,193,24,217,8356,355,944,6610,447,0,0.0535,10,28.07,1301005,451768,0,0,0,0.410625,0.0,117.125,200,5,1,4.526869158878505,244.04205607476638,4.444427058111712,1 +44,749,957,0,957,8498,486,1105,6536,371,0,0.0443,8,28.23,1299805,451689,0,0,0,0.268704,0.0,115.625,200,5,1,26.417889390519186,299.73194130925515,24.2780603482894,1 +45,642,921,309,1230,1883,65,323,1231,264,0,0.0313,8,28.16,1299436,452448,0,0,0,2.502489,0.0,111.875,200,5,1,32.04872204472844,93.99960063897764,23.90009647929649,1 +46,213,368,9,377,2037,297,565,1076,99,0,0.036000000000000004,8,28.04,1299201,453486,0,0,0,0.199429,0.0,109.625,200,5,1,9.244791666666666,88.41145833333331,8.369618055555557,1 +47,1661,2464,113,2577,2936,231,1166,1397,143,0,0.0691,7,27.86,1299989,454066,0,0,0,0.083949,0.0,106.5,200,5,1,37.55879160636759,66.38929088277858,23.987951306568466,1 +49,1628,2203,243,2445,3492,327,952,2076,137,0,0.0619,9,28.31,1298621,452083,0,0,0,0.5209520000000001,0.0,112.375,200,5,1,41.09450726978999,88.14620355411955,28.027738161348964,1 +50,706,1157,39,1196,4650,523,790,3205,132,0,0.0756,12,28.45,1297617,452014,387,0,0,23.046204,0.0,113.875,200,5,1,14.591600529100528,96.1061507936508,12.668211811112295,1 +53,683,1012,205,1217,154,10,43,68,33,0,0.0381,5,28.92,1296655,449590,0,0,0,2.709364,0.0,113.0,200,5,1,28.010170603674545,6.315616797900263,5.153603671404873,1 +54,1737,2669,99,2767,8325,157,728,6907,534,0,0.0632,7,28.71,1297131,450617,0,0,0,5.440506,0.0,115.375,200,5,1,42.94402689873417,205.8198180379746,35.53061259510653,1 +55,710,1038,136,1174,18900,1233,1294,15302,1071,0,0.0552,6,28.5,1298839,450627,0,0,0,0.054911,0.0,117.75,200,5,1,20.0973731884058,534.9864130434784,19.369727346296255,1 +56,467,830,1370,2200,9812,563,1487,7359,403,0,0.0652,2,28.66,1298820,449535,0,0,5479,3.030183,0.0,118.875,200,5,1,11.191526073619633,235.14187116564418,10.68306779203773,1 +57,1092,1535,1679,3214,1847,40,266,1405,136,0,0.0531,5,28.85,1297625,449235,0,0,3088,0.34132,0.0,118.25,200,5,1,32.132768361581924,54.34910546139359,20.19367919831297,1 +58,320,442,1948,2390,724,43,179,471,31,0,0.0539,2,28.87,1298550,448272,0,592,7444,1.075076,0.0,118.5,200,5,1,9.276437847866418,20.987940630797773,6.433085250819241,1 +59,752,1131,0,1131,4750,26,69,3873,783,0,0.0881,5,29.15,1297439,447302,0,0,0,10.990833,0.0,113.5,200,5,1,13.33711691259932,84.24375709421112,11.51423215827822,1 +60,489,688,8,696,2981,301,500,2038,143,0,0.0743,17,29.12,1296503,448319,0,0,0,31.479772,0.0,114.75,200,5,1,10.283479138627186,62.68926648721399,8.834308735518052,1 diff --git a/activitysim/examples/prototype_mwcog/data/skims.omx b/activitysim/examples/prototype_mwcog/data/skims.omx new file mode 100644 index 0000000000000000000000000000000000000000..b6098148418235525994a8384cc43a93bf4fca5d GIT binary patch literal 5728575 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⋙nQ;*som*y;qwnM1jbOi}`|Cqh6 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

w; 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 a4g@^yG$d>KOzEdPwQW7^?i>2%$u6?IumwhKB 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

SncP(2uO;oNvaMA8FQFyf4* zSRnI0e`3=P8eY!OzaGc~ArNO0k_y*4!p++PMNB2O%dFmv0|m+w(kciCL~cHblg1Nr zq8q^xqz6I>!6*Fp0J(9J|B8tCCrrLQc+bCq&c@e{5ZgTm@7bOz)|o7h@7JQWFUttk z`SWfn#bcdMH2oH=oo@P(`)qaiI&KsuVxgV@97h-8tw1ZU^(O0=G%wrQ_C@6EpbN}d zY3mK;acSzl5MzrWBwgx|g-3af?s(3;dW7?3e*IkbSkF_u-F+QAyV7ZL_xXq#32dzr zJ|ze3i2O3U!sY3H%gc0+CUOBR+t~B6ypB$?d0n-nSy{)Wu5+3m`nXlwc$mDAlGmGV z;7eC6O&lI#H?nz&bG2`7-CaQYUZ+j*4SU&xi^;Z@o&jma*~fF3pK?SwCc6D5D9*z1 zYUEKRlu4P*8`+iPVpEzCHg|;JH@>&})-p@qrJg`(-eeQvY zu9-Ahdw36_w%59R!8%<^0Ze4JFfVl5b51%ep6Yemv(7tx2Ao21lH!^gp6*37c@I zu6PpKy+^OVr%rV?d7Sv*vRiBGXi%|ntT$kNX0>bws;69PN%6j}P+lE+xpqIu#>#z& zxxM2FT&p6T?&B^p*g)K%{n2PJ8O%OR${fPKQqq2#iP1!KLD+QX)4Q2>VwM6C>tAlo z&AT15?NR(z4uYYzrLB0I6V`UC`1>^8t*qB#xe!v^-7bdbAqW)Ch1ifeO9s!Dd$<4W znVEx9YP2#N*X$DMwj0s$x${BftE*S>Jc++Rto)ke%_P)p^}V@%g{-og*y3OHx~laU z%ObVwdi;#-tUh*s?iXr3vHf@*sHc?Eb~(zBMdW|=ljra7=-WX2yzvh`+T^W=V!5Bq zaBDtqpVE5n^Re3UzC7WG$>P7)aIW!~cXv4~@=zXP#ko_f*t$Imb#1WLxqD-4&ZMVZ z+!%?r!dpAq#~sphHwC3Pq& zo1*$;hs$4o`E$P5FVtq^slw-IB}H9-HVB!gDU>otqqeDv(n(dfn>kfy`KhgTX-eB8 z_9f3@XafF@(gKq1Qrhq9$3n&Od%@C!$ht+Z7j2HG-;n-Xr5NU?#!=+kV_U(M2QP3@ z)<&!87V(K=;~&wWg<5v5QEa}DaY&S>>(%QiR)5QH&d2wwF;V+buF|gs^R0cyr|T?~ zZ$kVLm#x-f)8=VB`4nn2F{PsQq1)^MkG0}+*Lv#)bEbf;u#XF#GS!2=B?arm}u+(e}|IE3{x4@aprF74~>Z+^ZWyG%{GhW7Ldjd-D zHK6M?B;H5QD+%9ie1y1py)S_4m(aQe**)?xRu1SkJ&#;IeYFY2G6p!$T1J$7U&@eA~Rq3FYVW&Sjr@ ze-FG9a~kSC0a(v(OK#;peU#Vw>@TMsJ$1jWXlPzKoM7!tir%FlR^!vlW6^kT+1L*u z%<7d4TsYT#&A)Pt%POtws>uY=<_2c%i?@!ic;P<4`cv=th!~1BNf;brgHM26iC{t9Xxdpmg z_{~54C1r~}f9X1#q|D7tbY6bw-||xS((?dXJ;ewsysvuNK`nIN4J&>ybUHP1S-k%} zY>dn-QcQKjohN= zm<~n^WU6hg%yYULY!KbglG zG1*?*+pN^py2!Gqjc5BlY=19R4+ZC0?3@L?MQ$zl-tV4j#<#p}hox)~67a6y{RM2g z2?8af_b?~%I4lm|U)GD4*cdXHeMPQpbKSUK*F8^eaxM8T*c$GDQz1rxqm9rf;D+ZD zj*sS4hV}KI!%WOwRaA2hdc9v6nLZaANP|AFcxR5zSAmRPM~WXfRfL;Yp;H@N_)UDT z9)y}7>iS|CoOkF0GHV2}uv*#D_&!#7liE?d@kL&TzPsESsC8AP6cptM5!-?I$#>KNG z(T{!Y1Zzzm6QkOxTYNWe;Qu_o%#O1^%oKq4_I8JBK2x@WqS?~EN*ek4-lRjrD z)xNtR;MLGt^Tldcqv^wGtJ}t}a9kC?Hx$7f_WRqPa^6~NFC(cRL*jV8KXq4{<#TKQ z-eL!qY_=JUJmT}PHvnFTSz`ZPQWs@wuy>S8%nwcvit3LqRZH^6nS9{geAfzJseS+o z{MDQ1&se|hS6x7@#f=}oo~Py9;n4X8PqW=djq42IRfZnF_3l+_G_I54(D$S4tsNB2 z(g{9uoFdzq&b3V*cW;U2Ck8wvevgkpKdl<0jkX~|ujk&~_tsztWr`Z(3|pKThp*bp ztpz1vbNQ3G#*)i625_E#E(oi|oX(#yEb5IU`dz!9vavQB4QkysqdEtpf{o+-XD6HD z|5)4G^?})E43m#t>o2qFS2kSi4}w;16Z&mY7?iSG4G;P4DUI6~+V&2<%6qa)2p6hz z)rML&)r|TtMpynzG4T1DUgl>nyq}MIRW9>cyoR}xS4(xNaP3|b8KAk;V_fyE6@VTV zlc$EwR=1DGO!3Xo<|t)~*iN`1IA4_hIqx$O^aNLj!HGGg{wHY4ekT^IJW{RF+hlCe z3zG`fHk~-C5K@PwacIW8!tKfBJJOzI_lslAvrDsPtaWaxW&7sF?Z3?QCtJO`{ZWuC zhn+^Z>qS(XdhnOm5rK8hw1b!eAtNK^t zqbhm>ytT68ho;RNdaw;I&}&UxHT0`ZW+9>pIN?86Cg0uAnEUVqN9}HN#rN=~St$ST z1z6~&o#&HxiE!mFvs2CWwL$r9htHdT(_sBjta_|J+)&OhT;gJ{y3p-j)@dHru%eoM z(VVMnRJr*1c-@4onm^|&IM>ahye0xHT0QTT^C?C2I;@5u0J?wpE_g3Yf zjC)OuT(k6aDPg|`zFP`!mR&7ny=flb>vXf+;$%41}8J9GDvJ`2tHGO`< zUug|BOg+?3+r?S;xsU!;epLIiyDO3^m(_f*d#ip-UoFzgET=b5`?o{*exBKKKfgzp zF<@=3ZoK*)=FWkyg=D?1EOXbvxkDz=!etepD$dh=*TGo*o7VE{jPR{P zh9Q&JYtr{ItA32I9ii6BQuu(Rm0-9e=Twu_B}|vHNFqM##3CAKR$1nW#dex?apT$N zBoWM5vjiB%d@U$!W!!&G@#WDm1fra>Tp<&;|?R9hkITU{rW37V8S?k|*+9dK42B8RGh z(Ig60ilmS8`0L#$Wm>T+mHDr9U>1SY?c>vpW=l~rm3e`-qf~RM=|Q3;kaGEF3o>^S z^dv2L@f9K5mI^2kF*x&JTK3+_OM!87stn253KK2dX#ulg^|JKRk>jMLh8)jv21O$a zU?+~z>Q>b1q*@X!tkwoVEye(DpgA$UJGNCma17!AY+{@S*%i<(#8p%*+UtStUK*S+ zH;t!-c#$VYB90g-rNS&cxzmATcl$?G+Db5pw{kTMFNzA3rZZ740-wGFpd8=V8n}mT zG|ZHUEC8Dek)u(qQgkXa<8?Y0sC3f#z2s0_WzqO|XSPAly+aE$Y{*veFKeqwM`c`U zqdZeDtW30QslF5ehm#FaF)T1h1S$Q{`>FRl+~B0we8gK;lgXm2hc z_Pk9Uq{!8fE!L@*#$FcSw)Cu0y=oCyYKW|YY+2fmU|ki!RuF)`9Z3VSl#8A(w@_5? zw8T$rU|7PnSWr}+6vRSJ7-tz`>-S*l8&!!+3yG^d}CErmphVmGnBpCnAqL z1JV=S=vM{AG>K|9k^L_`AqjuX6&);3q(;CFeliMDf}n)UZxyr-P%-*uxv}nI9Kkf4 zIPvU*XJtge@FA@p(HLtKP0r!*Fv!6b3k@_l0#cW(pSL<@Etu9nH3=G?pQBpf-B+PO z$5$8P8@(UDp>dHLM9<0ValmUY6P#cA-D#;F7DFWcd;8om&7WSh7+M$~$f>gC7=+CZ zKncNvF-XECmX-ZRV9LY^548*7xqX}`uYN&v3tO$G&LxE#)(6sYw^X!3+wM;rbx46H84EkX`JxnxF1#fX<#~r`^^eE60pqy*9zle9%e@F(9b) zPc5v8!^H{MDec=v6Xg|XIc2llKG0J6a|LO(;~`fWP^LN@Zn-+l6kKEgRN;`#%%eH% zM7l+oJr~3H0UcE!im^*q&NJ;XH;y;?{c47DTScKW-hrZeK?cEy3hqKIUdY?BW7KIO z1Mi1tb~zDLdd7J9w2nU~)RHyAEPE)RD55@brzrPfEt;S|lPlkdX~HtNu#=VH=cp>!WEK)_ zBplIkR~(NW91T4MA&Z;9@1#Ym)k+D(EO%7!b(Zl`**eSytJd;Sxtc7jwpCo9>LB(V z8OuxS21UJb7F&A!e^-?*&?PpOl|U5LSaJ7M4~wMIdP2rakM{(Dh>FO5|KL74Zi$e& z#x1kbQad(~DdLbYI|EdiYGu#Q{!zni+4V?QMhlJ*nqz(;idKM*Ux~p3q6_GW2o{=! zB9(~p&Xyr*vbW$yX-CxRiNja_nGQZFME>1^vDljT2Psl$_d4#21S+^L6(T=X5T#Pp zMYd5@oE#g$a-r=cPa8AfKh2r z*eMWnpSbx;18>+A2!~o$TC#%8nF(*@4|isOSd_+Hz2;vsYN=vnFf|8K-!n-cS`dg- zz$oj1U!iho7%ng7mf`y)!{DMi6^F?coP|Qa7am0dXE7XDE1{e?1xU275&I^~)~_gm zT_WQ^|J$H)r-$T6orSEG3A)U`&bH zOz^GhJ4HoF;_!?*ytHH*W@VECZiq3QFokq!$x1D0Rdj#Gh3uYk69~f6`9xf_UtF=Y z*yCaiGtjLWiEOYER023Uj6!wl^`r%5@ByU}3pBma1(WKMd5$>hBeN0U_+sg&2IJ+w zI58;L2_Yzs&@`iO<1jModBFI8&Ot*~!aB&#hpGK43q%!l9ROKw*N8@!2lj=CF36aU z-f;$caN5%dMss5YFqWAcmT^F(W|WvM$+qJ-eD{Zt!b)QU`k%=X*Z=9E*p6>IF|DEN zL7K(ehf3R1P4g4#T8vtckfIH$7S!4WXwl+u6QVsJ1p)9?NznUFr@$$ts4dYtVlp!R z(&fQJ)fwZPyR^5$MIq6p3sq|UD4pFd2T@u<1e;`?a7Xdd5j-F%_pgDJnX{!DVH43( zRavuRTjqrwi+7f5#`h&Q<_*cI`W$JuStcr07sPNxJ?D!sJpmOLEoI?2(L_B=wQPT> zl2`}|+Q0EwPZZWcdL&g_3@3RIEV5&%TDjQAa6-XQ{$Nm>)6aU}5qyLu@ z7}xHYL=-2nbX3%Fmu)y-5;-)rZ-!=@eh4#l=m|Ql*9#hbYM;NZm+! zUk5*2Lj8R`+Gs;cDn2yYuHf<~S8Pz%LTsDQT0thYp6kAstsB82d?OMWM2fJ~^x z`QwMF_c;;-uGla+E20ZcP%+k^g9$X*=nsyWxG9GQXGH=Yu`FV8#~-vmorK+Va*sr2 zVyV;c+d{6|VJVRaNfm`_@~0+H6N)jcNrV%OM8&F(+sqU(lfnK<(V4^-0ga-5kj6&M zhM_ae3vI-4^6tLVrIJKS_ax0@{xhSDsncN=lQ4#${H2~?g%e)JJis zB9Dl-ZzCU&f^Ppqu0EBN#zIw#_x*_Bs$WOSM|4MLIZ$3Y{E%c~Ph>Y51*VmOI%XRw ze2l9ZP7+!Jq>lsU3Zj7Jk~7{%s&d8`3@U_J*Qu+UC9XmV2S|d5s5mhUx0(jSO{?Pj zM?FZTIOTRx&&iTfq$Xc{3tDQ3Cr8L+rHsDAc$aYYORfjCD3wunY}T|QFFQIvvMZn#WhfR`RZK|)-6AX!4XlVQD8x?$rZ70c**lrIp$ zs~+kg?WacP3SEMe-El87&M;M>BSpI-n`8ACAgu|-OLMYi2ooB_6*JT1bR$WSaKO0> z84g{}Yb{aG4Z8#UGq5_rgtO5Z_U1`uC@680yP*H@dM?%hQpeWF)A6}I1ZgZ!P(!!k zLH7>&!Q{PIWVN-@8Zakw${3Gb?`%UZ!8!$pbfLg{?{b@FNqRF-goAmhuw7sNx_60w z5=E1Y$S($A5pQlAQnHI8Ykcp*B91;JmtxhIBvF@Ux=o}*_MwmUW(d9Lht|ZFXWo^9 zVc&`5q+?N6Mso0x6M+pX+A;A)yDivZe@!J0TsD z3O4}MIc$%yd#NfN5`z1PcKVr5=W2m>W}DFm>4(pwM5WP|+%EUGml&Q{DjG255iK;I z>QHcl5Wpf<5fo5wo&eEA6+`IK3Sht&C+Sb|PcqX#YfToP+K zry*LF&q`%TNt_lxZ0SY3e?uF=w%4FjhAyMk6!hwOd?P-z$l%1ng9}X{?PQ@_Oijh9njqZtN9R&YE=f@i+6S~Bg;%f=&N?QXh0KZWD*uKd0_7@A=P7Nl&vH^(~BjD89&h1wKrP;L*qlb zD01FXl}sCfQj9Vp`TJRjM$n{*bf^n_7`+!sS}%Y}6~*5YNfYo-R%9aLekH0nqeJVa z@reZPDoJq)`y-)}C56U)1p$(OE&U=}3Lw+6w3mY@E&?=rAHNQaB(TXM9W27qBDm;;h%!@D8Vsy>B=O>lxTSQX z<^Y3CB}%sBhNrJuBx2-;#Z3NHuds-p6aH6}`FWgtWQqx@%GWF-m(! z8hH|s)K18hvcv@f2Bg;#*)14!KbeA9pmH0`k_L=+erq%Dg`#{HrVI#%mJ$Z2yBBaRIrmzBi$x1blKMzM_-Lh<)S zFd;6K41Ia<>udHaj;a1X4Ltb&5QRO@4NTXw{0&PTCe3!Uy}?H9DsFuiwapsu2(s|G z&6`i(Qvpq_mYWz*B__QFuj}Xz0cF?MZhgIeyWMeD3LghUyVYz~rrlJs|jBO-#M&jauWo1PG_4b)Kp7$k1kIo=bH2zqmFqGE7jke38%R&Un6*c7915??amKK9=lw?C!Y0>7QL(7&NAul z6!WdC+2Uj!rkC6)XD*v%>Od$0zV|qHq6?KA=SfZBBGJl!5oDPzZ;*})h~=c7aCmE- z=B-lR-O}n$cR9R_i9=HY)sNVKreBtvPgCHeiTs6=@48cTw%% zK3|tZIncQqZEv40xTzJZ_Jw@F;<0Ks!l&aaJI`kMYSiF&_^K%naPcV|ccU)fg0|nE zvFvp1lj|PMZ#|5;?(f@+Q0otwDOH=Cj_-N;?Xl-x4QGcRZ(dL5uCJTqP@8-Q^<9B_ z)%4jON?*vkqU!QE?1ztMmpZL3LruIKm2FOo>$U21Ii-5nmqXcazD?|%7N;?4MtrsBMT=yXcw=U>Lm=#tv*pOu~G3OQWd zBKf~+l`n4i?SZcRPD)Sj!KS2I<~n?C0|g)_j>-a_cZx84=atbH=|$OGKS|2@_NO&3 zpsjfK$Ao|L67TI=x7!I#LyrA%E6)^mxy<5a2IG|0SK`DP!Ri@*tLvMY)qsxi#j01z zm%%LAdi&eXd$RIn!ORXpr~HM}=KjDD{O{JMkYX!!n-05;SyjZ%H~Z&tr?2Wu{u?K^ zrwtxLEw3qEV}{lrPuwTdxrxaK0mao>?<@M7S57h9$4M#CuS(_zqtVihqRxR&(~N{$ zUme|UPffa+u7HN;m~!pO(glu)6#8_U3O8>K3h@v=k_gC@60u1{%)^oay?Uh)r~VU zxfOTueEDIxaOaEndHdsOz1wyST=^*GtHLT)aKklMN&Dl_>8aE4dhtg1i9hMl-TGl; zuB@;+ZV*JO4QZtujqYZ*`MRC4&^)Ehessu2ItcH1xzLx*&A9S;KL>b~z9K(~5U=w& zfoV^1PM)ziiYTN|_d=L25_PNCa-NdMWbAf1T>sbB6zi@o{bv3jj% z=i=4)v}4|cH{7iAvU9F`b>W@galNW-F2m`h(k59%@`Wjffp8J}`TBd*0oa3#u0$`)?3aS2D_~W4dZg36bv*|^{Rk-AVdN|(gJ3wb~ zKdm`B+9^C@`E3o3#t9}kGPd(pafYZ2s`y-dtHR0znuCBXUwcON)_2XxDp}Osa?S}j8)4wV4 zr>9H5<+t@esG(8meB$lG*!;I%w?V8xxn z_2e>JBMj-id1hYiY==GLW}n*pgum+6Lh^aCKgWp2^Jxhvoywg$=6AYO&h18D z5R*w;mc?Q=nt{JdQEAWNiHE~`k!$|^qPkshqU0j%S}Sz9KGJR5WA3B$^Hu^LA+%n7 z+T8Ck5=>G~rg0hU_lJ+2lb4S?QB0~#=FXe;Tq{rS2L`f#f@Rx>{3=oJmS@POi}E;0 ze0mHTRc`Dgbi3%C>b5yavsj{UIm&^jZD6jfr$i(i%YF^q$rh%~>^z!_ebaZHyg8m0 zt?Uf(vp;UOA|!kr^wQiSAau*%_VZunwpq&FBuOzgz9TN^-r}u06g|JZgjjZ+GwjAd_~khj&Up+m|m?f>xXVX1NGlo z{hmR46~*#}&Fq^`CM%%xr^WjAB?8}z^Q&AQpIfTB!<>mF-Db0aPFyv*9ETI8lXn8j zj(JVM*Tv-rpZi0V<7s`iliOpA+{Wj0*Sqw{pT_BA;j~!m(C*jr?GwN!N%0mdb_Rz06hyfXaXe|nj2*f&v(ahxe&a1)+H5wT zI$e0O_1gcOD7WjjSbb0yyBFPMy9?2;cfUQxNJ7(=TXWnkuMS#2`FDueEFV>IZ8I7) z5`nhMT_1o5tp>NlU0=hVI-EOBhR>3ITYlY-_tJ^hgC5UG&%@#i zzYl!QtW<9oX8E6dB0R-*DGp-j+JM)A^=16-!8*#Vo1abQ@2Z69o4) zT%GIbJT*B%%g*!jP>0p3m9!Cd1M2By4SWiJsrt@*7wshJz6uJVdjkGIpVwmghsWL{ zesk4&gT+=KqQ{x7W}WTJIQEeY`(Z5KCx>bGp8Ua7CclM1t}Uj{f|WsPbSy9X!%E=Y z7qJf0-YLZ`JdbNgm$dqaM!Qcu!1r5@%ST>Hch~p_$h&*1pM~G|VIWcb^ReooxXx!N zap>y8_cO>s-R9#&K9y^&i5Ip%^=k@lFGG>E4Nc>uUk@ zv6?vt>hV>solzp<{4#oZePF?4(D&WiD4$5by&fBc7DjZz=05#E%<0(MLHF}6Ts!`L z)#+DbssSlfzol(I*Z#HsB}wQ#bJ~8D-t7F4!Hc-rZt>E{67`a*v+0)htJCjh`EiSq zw+%6UZngRDX!ju7Q@+#hDL`lKsh!^My}@nlFVCfQr&1^?C;KLE^#hGlZ_&v|h&=8~ zr+9LH_Z$9}`F@9V*V0>%B8w*iK*8&f;-c}ob>$5ak-)4{m%}ICwDocl%1*h`CDX6Y zZ1rz&>g4ZPTxU%uE^eFkGzhCfJ>QzU@T)5?*Xi~ZV2AU7R@*@nTP6qp>s@E8txnyJ zUYpUv{Xn^G+R9yD!PL`G^x`5Nj-Qe@QzsE=LqxE;#8;s^( zyxQs#RHd?d!edSy;Co8+~0 znu}YyLE|e+it}9PT6w(*?YW^@&fVw+uRgGP`S#D3B#>6)H@&ZQYI?1=EHav8B5u(* z2Z>}(&y0#+ymQdwL+Go{(S0BYi8s2i-eq6P>Q4CLvt6$Zd`|o$Rdu+A$l}|8+gqFJ zN6Ci3Vp!{*Hlal7PfWi&LL~b2IFH8 zAO}1l+!$}HEi}e|B}}`aS<$@zZSG?IjlXO2gn*looXJ1EPy&*@TS{{gDXly}z>o#S zl<5PU(O9o8Wcway8TYh!qF%M~89Amu*Bd}51mZZ>e&^554Go?9$Boo;JGc{C7y7GG zJa9Z(FSPO(T{og1q@HU*T}oH9jN;CX$&Dwc3bXUi$r%@nHa-E|;$ql2tD>1k`pTVq zd#OxJEBjGsS!oCDw)>rSRd_$_b^9B{m+r*j>C=ykZv!sqEA~ zcAf4Hj@K{;w%(^1?(u)DW!SQBQ8?_+EeH}kB;<`87 zXXdV&#E2bms9!#>ZZjUTmgMGUOpyQBo{pw?<&4LLmo`YpF}jbPkx>87_Q_g?6v|XU>i`? zvzOtsgJyrL#}AYd&oPWvmW5;k7$WtAf>RQKNr>Rrl4aCohZGH`Epk!#vT90#wMwB+ zI<&R79Z{(Mk46|{4ZAc9vh|LZ$+eaSs*xT8LlTM_Qi~d7JX{4%D+#*ld+^m6T9#C} zG{s6Gimqdl39k-ihUAq>wJ2)Bsl`H!nDkR_PQJzs=}{h}Qn$)}W@S~` zC!VS<>$>_*5FBF>DyON)_KrsF5dd-ivn*JJUriK(`qwYCUZ;JX$?}42lEuopjMQ7c zGa6N`Bx*)__n#r_CO1=X#5ixr1;z>VW7`u>k%x`83s z!6cxjh8%vn3u^1=9Os~eWlN5fDm`T{XrKoyTG`Z5VEH8wh#8J?B6r;S<8}BwCKa7}= zI|ozSR}+4WIeS`-iqWvySQt)oXa{}*6(SU!o>&EM>SnHpPTMd{lQ0|> zH$rv57}Rfcl2%Y&7q^S19j@pifiiHQutdVnpzQk3{+l5lKo~%UvZn%V_Ad5g!uE$ng*+a__iZUA?z>01b3Y|HWSHj zC8w=Q%LSErrSelR=3F(0ECW3mRC4AYY7h2Qp)kvaK@gtUg%S--EgDio>!0#O$YmMODWJ_A^!#LoQc$n{37Dn^z!lN_=@9QZz0=7zn zU@D~O_F*d;REt?L=N2>`HH$Qd&6S(W@{)`!)G;*soOHtU2tj}!<&;=CDWOJMW)L|p zqp&*PWcxJ^h&S0}xY)K($5doO5rR=QxS(5U&J^>@LO7f4@!pup^JrRvX{caTqn)Ca zERrl4^wC$!(q?O+D@>-qfg(wCkr{9=f2!1Ur4;~(?F>O-lp%8GL44&kU2x1$0kx$4 z-hXLG=(_Sf#m0X&5DCG;f_@=}3-5@k&LJH{nDWuJ8(r1_qz^)rT$Kiv04A!YVVeAp z3R>tj=Z3wK5Z1K}BKQJIw;IB#d<);A)!=&rjRF%qun#iE>!?xelVjmq%i79h#v&9J z4aj{4>hStRF=mfj&WTk^e#2Ib=%!C93o8?)3R2v-(~(fhs+5o3#ToAXaHQXdml?5W z9Bmg`ko=(*LKipy2+~jxW=?WSMF7!=MyC8^0y%0nl;RcpuFMdXi7pkpPf@4(1ZnE+ z=+f`k?xo&2j*jXPkZ#S2)M&XXEF=rd3`l}GNhq-O*GB3N)G+M>s$pBASkaZljq`Ek zbo<75N4J>?4^^jPPdK08x57<_9FMVpT?R=$X;nC+IWF*03V)GExY>!A1z782pao$R zCsN^|cmN07oX)dZqLBEWMvYl>G38o%t#qWNbgbwULVtHPzHQNH(=Z+x70fa)ymggm z#ZVlkkk?D(d92pZEh>6U%%S0ov!HDK5t)Kb0&A2i(TSYm{rQ(1O*1|~V|vtq1{?wT zut<$poXw~YiJH>i6uOZ{B#7p);~;?Jt!Cd_Dfn-^Kt9cp0tOxutd$VLet7@&GEFq` zAo`5b`t$Cpn4}D6Mg!XqA)reP?x+%A)+IEaGgz^WVKcZVo`5(P5 zQv;#XemfxW1aUUb)=3*L|5R9>LN+n#t1%h&&o~uiEw3R#kb$gku)~5D(xwj8`yE76 z5vTNssu%dXa#RH!1_Y}epSEyoiG5H|s0rGJmE7f0Ep4T$Zd2{09y9t)EjDb${MR|) zIZ1AJx|S|uQ2>(;#o9(`3rJl#ZX~Q4FD7^)mI6y&PA8xinkL6PHSMSx3>LJZ5wbs7 zVw7GI{7WVa#c`ihGs;-qC21P|ASwFJ@%TtcHC$BC2_MmVSNEqQvXUw`p7vcn;Lvn6 zfw~aqmE;$oPda-2TRqCq5p#bVxQkHXEmP2hV#PG%&jlIjfuv@*_{T8?yZCCHjAu~Iziuv z1)!0@{_~&rP!uXjDs+|D!6@Bnl4KP!d<4RuIrt8)MVPL^vjF_bdMBgP6G`grhH(Z_ z)&v?Adsq`>e#P1`piG}s6Upb|}^ zlm;8Et7N&sBN9%5?4Een8B8)B`eJef7|#F~1giwlFO4TIPF)$vk~|M`MtbMo z6cl+V`?d=f?ule;6VjxY6bXl@3lEUZS#gBQtut{Y8AZwb@YFA<*#J7W3$(N3B;`)J zQ4-~O^2lAV_Js8Bc*Bq-@s^Z&5f%{)oXoWTaa3f%X<{1v?4*lDbQ^;Zdxnxj?Ci4o z3s{5AQry546|p)c$snhhv_!gInxZHgnBfxeb8SnN(tzVaA$n`c2(XYQSngXIJ%u7Z z;XT%Ye>eglcXoJbPg7+?M$ix3LIEmo?KKJ{Tu^+dE5mfvVkC6`05h$JkjD~rGa0`FiTQRgD2UNno6tih04xpOw9G`&vNlU( zH|pZljeb{dtH8$0{uSy01jr1O5dA%|;e^-9N1>_bwFW8?{SC_-p<(6*I#A4x|1mC- zU~8o-GokrK>nj>Gcc7$JBnoj3O|z{+jwoqK{!JD|tV~yk9Db$iB2Z!HguU1@XJ0*H z7`((N#G06DhMYE0MfaYR`X|+h9NkEngj)Rnu=h^Uy@Xx2XR>44wr$(CogI6}){dR* z*tTukw*8Oobk29a(WmdaFWxgo_ZWRuPu*1ARQ;Y+tLB^w6**BHO?%SNkd(grw5{i;=f54A^;aWvkb$&PX zkFizzIMF20LL_3XG#OMTbKZQTYrEP$Z_ENnUrM3u3Xv$O>T0|mx zHXx-wjX@_BrP_yrSeP4_uO^Ax4P6q^6g-bqh29t=&92U*hU~M>?jxR<;4edDmL@4J zD?h4Cg<_*J`m0i85ty_G)e@>C9Xoff^%pNCa+#`JVnVX94Y}}eS$wKfvR#pbv!=hv zT=U3_kYS`JGHE)-oU(CIl0*O-8Q-IHG33q)CFdw902QJ8|(M z@{zLk-ZeDflDOZ@s?>z&mA}v|rJkW93V2aZffDmAQ5A~@O)YeSO2ymd%M#=kWD|^* zG+e3_Su*lu8pBn}P|0L-iE6oE~F%7M2;E zCuH@Kq>;VBNmL?{DVX9h{$a+~6)eKrFpSHJBU*wNTZ@H9xWprWv=e?oru;Gz6{59p zHZArC>C2>*ucu=|786}V(+m+lAS9+$RR+Q9ObZ~>put6rfkvfn2mRd#o|jK`YWnt%@4;sBEV4cg$2v-J+b~45~kH*kV@zQ;oPGL8u;) zMjbR;8Z5!02$RVd^q`O&1ghRYf#ekn-lne}iyn?TO4TS8IvA@JOwXOT0D@oDQHlda zH85S>|9g@3RVx~WwkdfXO+5COZaymQE(&oC4*EkFvO5AFp_Z6Xb2YODmS{8MR=39;(b60^&a58#tTKm|7| zU?>xzqgTc$u%M|0SsW=x$bc>cR!IgoAxlt@nOX->oeCEbui-9k77m_e8ZJ;#|1zLe zrITi^NhmGW2#4l@e8$RL?sQPy50 z!2MM(T|7@MMnl9_&p*dZ9xa>)UCz#HlMUn5O#mH#$~9#w%T}|IpC6*6`uK4&{8Ss% zuV^vGr~R~0u-+R`zqwJF8Rl4r7Z;N1gxboDbfsBj6zYMVsDRmNG9~ABUCFjW+fDX} znPI>?cYcg|u_z7yJ3^2C>zcXrnl}$J3d=5BuM^D_uDqWQDl>%{kB0AcpY6`JZa0H2 z6w4(!O(G>X6nW^V+-Cr@iI%I6h5g?o6ekObU?Ar^?$=A7ujX0YE}Ulo4(u4^q7VgUIP=Z}pNypHFyi7d~jHoUi5 zJq4Rrv5jZ-?mG8Da4PLPfDcNF!0jmug08{s`R9~@UAmvb$@8|&cKN{=9=!Mb7wMB% z$upm|;rll1R`pPdZG*WRzw5!a+(U95$NpJEWhkD{+W8Sqvmyg+<{X=h&XUX7(%J4w zmZ$eM>(>MDiOcy$iB72c)W!~n+rH&f0vV5I<<{$3tjt}FXLQ@?h)H#i^_k!E&g1#y z7)?&ZLdr3n``Hu%|J%M{Wc$>sfx-7e`C|qKeHL4##Pz&~bv;f^x%Iu+47~O8VwU6h zE|z)E%Q6ehv7M*yr;Nfjn}^!XTejQwN9S71L)BCb#O>1&&2cPe!`d`X%Z_9X|9j>_ zXjYF5)~7*>)?;GGqsRA8te@@L^HBDZ_0DUd$3$}#_q>-jD^KnHQBUXn;JL(?PV4Eq z?|Y5*dVy9$r*#F$_-O-9aO-oISWV}XZ=xcgxr!&NvF3MV>;fIn)7RqwN6MDK$+kfZ ze}_a4zWefWhA)fX@QixMP{W^Mx7BagiRG;Jrj74DC_T^Y^_J%~;Sv5WV6O9**Oj&P z@r2M}h0eSFJOtXU)6@2Nt((uX9v$h!=Dw` ztd5$kR_`e1qg0u7?V1<^Uz4rOWeVLY*EW;k;<5Q%n@be?3*MWf4(sf-dnuU3W|tLw zf|jax=8dl_i5ZEnLV&nJd$Ikj@#A~q@v;l&rSNeffV>i)g34Z?=c?;@=ao_G?Zx29 zcex&HDQ`l9t`sEa^7AF`^M>!_k?-IHgAA`ZRrOP^!=Q;GtIbEEq^`7nxrxqiX`by~ z&34-a#~?i0>p4iH07G5E`n%C3;!(mAP`!;2t@S0(9Vdb@x!Pf7zY^QNrR^rOl|bc2 z|MOmz5OiM+hvuv{x=ciR32Z)$AD1lC>F5cVezM++n~|t5@*A@o5P}( zzfLCu#>;>sm*(-y`XIS{%>_?_!TTf`><>Yz)5f5+)A>2m!tvU3m8a{i$e)t7SesIV zCdXHT#vQHu!bm?FIb27n9(}%N-@4uQV~T3qxeeV`(!xX0dYCZ_g%dnJf_U+`JRD@qsfI!udDXcdVb35oAihE+$(d0 ze}3KzSw(#(O+C)DQ{OC~UyfbvOd8Sr4*P^xD+1gnsN*^96F6Le3UxPz*0=3&6gzA- zGtDI5@3-*hnap;Zqac=&=roV(yAg^lo?;UK3dA?9XZOSo17DNN^-*GD%ahmI?8t0u zS>ojQ=GnBK`PXhXL`s#f=cA0De#^O|`BH)!&hX~#f{(Sqspr$GZB7AAx8M5G%*xRv zge#ZZ;+51Q?!kK7eHIyuFQe7de#!ZF<1K@I&1S3XnA3({UR2lA+vg@4fMVK#V7+xQ zjY*8)5#lkS!u1J{Um1g*zip_ReX4No$MlV1K>mH6OrYs)w-Se1?`1`_;wNy|fFnPN4fG)&PSK zW6$|rMrW_S44xst_0q?qld>f7NRyqp|Aw&5{T__6J>8g9}HE1Cf}PbjM{_xL@khLHGgboM&$WwI2z1#ld#j_p zN1S}UvoE}Be5*E>cL^^YT*>b{t5&lGCv)EH=gGG=07sSPL+_!1E=SPq2!dUM=^_XK z!$XFhzr$za(M>L$=W6UUS|WK#;Gd0Vn|q&+`|-E#R?Cb6h3pyUMZ}jLi=S?TS?r^S z#WSGhffsORryENE-(`~NG!aa;>|1WPakVd~_gK@>+|z1zpB`$yCy~AF0J!PnQ{eG3 z{jL+~_o$luOLO(zy7A|7o$<2~KrYZ~xN?u@8iEZBXOVe@U=5PW1q_PRl!bCt4H7I{o;Qgs>|#>`u8Mj;`u18 z+IGYF@{d)d$kOw+pWjK0nSG7s1t!RJ=Z42;8s5gv>i5wTUk?8HX1mPwg3^29*+RRU zU8uJA@<(s=iN5zc&3P4{eOKe-V@l3XOwV-8GMV|+=UU}S%8LEw$2dgIH}cN?euR2f zyWjdnaQoGzwvxe@%gVddXZlbdj=g~M#uA8MQS9qyrxb`M{bk+d2lrWF?#WmeJ)$uvt3E{T(?Y3;*4Rt%a!Iz<<-QqYiH-R;=RMPUdwda_iU%!20@n3#FPp_;@d-8 z*Ed3&wO!AxVGm7C>b(@ewWC5c@@k7aYu0l|sC>1~X8?zwv+leT$0M`N}fCKNF%4a#pF9i;5CxHyLkYg?PgJ_ zV5$y5fbVtXBu6EEe9Nw2rG5ytrRRNi@2auOpvBjAg+dDu^u8^f?REUOHASDLNr5^Mc*x6$AuN32K(ZS*6T;PSM#Q?*$K_CoG$jJ-^NTxbQWLdgK0-Qj=fY)CBduk z$Zr+_i*46;i5wNZ4p+MsW4ETYlJ_s|o`V5_n&a;C&kd|tFP;0hBLvMGw170gd-O$% z>CBmzy+!y2$Mq1xsav(foSFt)k1p@QN92qEAT#kD?n1_1597jqJ8$6`{J~-;o%{9> zo$e5v8r-2p4r9Vbs?);lkxdH2!mDSf9mCNV(KDIoQ`D16IFCfBj6vxWu(Jp)tUnhQpe>83GR3r2hPAIrrKg(?Fe ztOQ@5;xpePB2(+dTzDns1L^oDK9_1!i`T46+j!TXdoj@-2RACVNy7nOX|S-Xakeqi zcu3rD=R9tV#+O#AbF1qQA6eBB`mC$lgsOn`;MToo$&`a_!IVA;8>>z(yPlAgpG91t zUsJ{M{L6Q1U}(ppC)?niz?qk`e~1!-06P`ehxgCJJ zr?L`WLMa6ZO&#Fy(T_0M*zFwq*7NJL?>fwIDwUSjah#okJ8xA`z6WXplDRhmE+X<5 z|JxD*cfWrr@2(I1$Q3d=0t!x%#p`Mh$NCeO)V(yVH`kh~#c&6OfJg-)1b>kV0y+Pz zevvxNP+>O}dg!`EE6+&sp5HE&z4?vpHBhea-xt^lL@LCb&pZ_z-3JvQ(0ebs=y^Bh z5Nz)%>-eGOxZJ*u3F)j5Bx^3?@WIsXLx}aDS(s6>>i$2F+2Z_sAVZs2cU+{_C4S48&9%E-Ok3?Mptm zypf8Hp%z?AthOgo7XYrY1V+MK07oZY+V(=G^zYH!miZqJ4hAh3q2yk8=_sj+op3m& z>P&{?4Y`e+Dt7>Jz6jJiLXowdSJ-LjSe+PuDST5Qv|u4p3NP#^)|z6!z?~)zQ9ed< znq-cJAii+vL}`?8?K}z!?1ax*^+4(VQZ!wnBoHC=FT&ZgCWU=qb6%6U7e;(t#LQ)J%ve zxC7`9J%(U!ov>SjogPNFouVfqk#E3Kkc`)L^^B7X3Sc2^_7!;VYR7_6;y+7R@ldC- zQngY!1uUQqwwBH~anqb#KVevz@kWE7nGh{PiRqYX$y`|xEEc0+5h(}eVEU@L2E`^y z66lGA6-pFE(nw2&DHqVWFv_{Dq7pS%jz!{$j4hxpjab*3iH6uaJb`Vk=s6?E zPm0q!rP(t-N@~`OUmcbxhu!wkh^4FwM~tY3Fmr%nxiF<9S{{zzle2}sD#HvJnT=%Q z|5$}*8;T1n5JK?qAEG3y8bbCdVmJj$D(SP}Pmi{U+kS{p6=#m{+5ZZ%fhP=!!6P7c zgi4j#wFAg!=$|K4q`{8$?B^nbP;y}ADNf*wAo`b$oXapiDD}GRJdSc0zkyaNJk7U@29pfk7P}I^ zC8dn4K}yX+DbfNJ9p4yGL&=2NE`)*nEia3BF_Y?+Z(TF8p9U>+Q>Ig;04O@Apt}I zQyA`?I!D-otEU_09&cb|*xXk4J9kN{#gO9fI%mp=(60iA29Xiy2CYT08%<57xXnH0 zEQhDCONRiu^TnjQS&%77P{A)w;3W1JP0Dp%5yB8^=djWp7=0eI2!)S)L{;PK3=?wA zM6Y8gze+ltePf667g)GCl`Dcr5Xok3%gcP=eC#&bmeWp{IH)?thtk+w0}mqio89_= zi-4*U+9+E{{Z^-3!lJf3B0<>Gzg3NrYF*jZ+{}^AJ8$n{-(Lf|X zFu)1saMpj{fTyf`QYN=+qQkq_T4~Bt5Re=cP5AHat3(X-lGqFgGUjIt>G1ln!A4^A z8xloxz=m@PdE3|R_SGIh3Xzf{Z{4?$c?hE=sNvC)@98i|$nhZ=*xRhPqv^Xr%aW0r6C#FdVFmdO=6nH&U?L4Z>6 zBB7<3V#`Z7u#Si%x}!9cQ)dYx&E*Au<~mE?2Y26KoM2KBsD^4QgAvY$$>4(@M%hsA zbu)!Jjd8VknB%)F z{A+5L95eRjNlA-k`-n=9!b|`YYCa4!CC^QkWE#;<2N4l4XtO+kcQ}>_BOP;Ii1b=Y z-a8??lsXzNp9|xm&m_{B2~MAf%U9o`dvKQz>W#;ux}rdLJNFidS>FHE^+TgkeqYJI_sbeNd@v9>bu znglqC?=$OWO@3Xrh}$gpzmf^qXO5cEOv4ntCh+3(b96p!K}F_q0yM;!QL>mShnd>> z6shsED5HHb2(Q6pXqdu`i+^#6l#^DXLRs#rlyJTkBdAUsXEJ&TGeE+Af-gfQb$^*5 zw{EmA6sNQwT9Jb|rD2Z3M7LT_qORF)9AtV`BTM~d-(>5b@gNaQ^;(k7^bnvLaiibB zSHXSU&v%d?6GF|Lj430HF_!$9%XS*c?5Nz$mURc}ap($G9`^^qeJHR<`0BvL)GZ-t z5G{Nhb^;O6+fc}1ad4ch3qXOXT^w)Wom8Co7^Vux4W(%XIl>DrW;kM(>z%*_GPoy7 z>HP3=t$AC*8wF_s9DKs}R-^(8g5f}lnr0G93~U?wFoNF)_l?vmC5-1=CuySd^vjYM z&y01HP67jiSpQH1Gu7742Ft=_o^DktkA3>cF|L<#^J2EH-v-?Ui5FcRmej3PmLikS zm`B$zlAEoF_d$>a88}Wr9;gV8A3cJ71~DuT8jtw=IdCN=Z6BqF67=8d`*AAN@?o|| zKY{f`aw}#gHNS|+L(;p%Cs0C_x^{P!SiWp! zu9f+^@u&$9&B2W`Gp{;fUA(DEcBf66;~asn>M5@XwzgT>lG$A2Lv^yy(kx0CxI&<)k4Otd*+O2$$@)rjzgr%k&5&18_j+PbGId66L=|v3Z z)n_3_nJt#uw{5Z;yl|JT#7-9H#bnoKth=na#--=gmm`kZBn#bo$3EG^cDgB!hkK3V zC2MaUX&S0>Fs?ot_Jx|wK6=abl=dwf8wM#Y)>@TA|0eZR*myO`%N_Tz*zYDMX4&2w zF97;B09Psodwcuq@2+l*6ek)Q=4akG@PxdxH~iwg#uz=FNt&AppN*On!27$`=T3RI z9>e<)yR3gza(sM_`et^VuP*F#O^-`HUa5K#F{_TH8!8Ie{J-i&t$^li~YAO5Ls*~r73#l>vzw2n# z)KqN+TwFTj@8LOybG%p1wYv;z$QE?BukNUG5nx#REibHo5!!2E42P*=c)E0;XWYRf ziYOF#yVn!pY{R8RDk1*Jh$dIsGorE5i$*F}TtH0m(`|Ul>lAi#!AS0>qX4Y&Haj)% z)6VkNZPk@=Mwyz?w87)%R3Q7as6Lan*DnioE_xHTzi%gx{(*sqh1cE2zOY7_(^xXg z{Lx~(?yxhhvj^BE7Tb1p+8%MsZ7@G3^{s1LEYIFNm=Wq~5t)`lO}rUAu`C35r|Y0^ z&XUZA6Q`_cY6@0rJ*t}PRYIO`O#C~Rzi+RPz?$j)i-%C4oGfIP$(`C>ADZpdof$U9 z$N-qtApxt+b#HIb(wvmL{?jm7C^DZIycMF!Qe`s!Ze){@y(B_DE^IJ2Yf*_gh>bAp zD}+D1#cFrrx&Nvf^ipf1vZs-k3(z8>oh-%?nN+U*1#x`PUvAillWkfB(6@6{|0}X^ zPe~I~X@bF^quItu^f@`r9Ydm5OFUmu3rI(Q;78ufs|w_#U{CF{d-Gj8pJr#4y{e_b zapjo`{)xF-Zt>R%Lls-~CC9h+hdwt;#~`!eVS8$=cdXTWs$^JM9>vDF zkUN1f+)k~6$=Eb4p7V+7Kh@rNGPBy!_StW?!j`-@%V9K&mmj^Ng2Db60U~1!f{69f z?gz%;@s$3fWh!qB91hjVr|>Y(%Py#n&Szpk0eQ=30r)ZEhICOHwV?Ct{5J9ay$ck+ zZ4Ysr?dLA--`&Wv<6p^QjjiEU5hu|Um2GQ90}lN+ia|Q9u=uLOL#^DR6($I9%NV2F9Xzxs25cB72Tn!# zf&a#USSax}-bD@6TWMnW$_aHwTFz@Hhg^iWRrPClba*?`cc80*j-#n^dWXjI4PZ8i ze9YSBj=Ll_wYRqE-yg?Q6#7C2uI5_2_3qimTVggh*WKAOvI@%AL-;b@ejxGQR9Vj9 zs>iXM{*c-&dCHWwJ6Up>I4lQ;z2ZEL zs^{W!NU6JP#k9TdQh!x+4N2k(^@opF6!jWqQ3EIv{;eLz1f%1jb#UiAQ=5jQ`7fdo6BSVUH)BVun z)0eu)t$H2j%l7(fx4FP|?BgLe2}+0C(q2RL%0~2#vgUnPuLhP0Pb~(#351hX{)W8d z5cn?-H+ZY;G1a&T19az<9XeX-&ePvRnk$zUYr$VAz(w-=p13b zhJSt|EJ9tGK~rQG#S&1G$kP_*x6hGw2cY}DrG~S)d%JL9Um&_-QCFioF&!oLWWAFa~=YqNVvL4LV? zeg+WeXMYat3;W+OYcnsaCABl8w@BAreS%6~DerLR%D<|+1`MU9XVlP=Ee&$<*%Jjv{pN1J( zOT67W>wF%dKX``8X-I(Zcz!vt$u#N~P;g<`2q2Nn&jGwXH8zhl9AFYte*_&^7vC%# z&7It81{s*{p9dxK#Y+154uE%@=+5Bpq;>EAt@AbS!M{*25y)8(;1=L?cjxZX?an!W z!@ckYeB*wg_sg_Wfc1pjp5Lwm3_QCyKP#V7^xYcb9t$r4%LJS7dVUUXJ?WE<98Nxt zo&r7A@2|UarwR?Xhp(tFO|({ZajQ&M@56~56b$+X(XWY#(gvL|rSXF;D_7~q*#N0O zqddC4M`(^DJMl!@*T)7BJzBuAf;}9Y3$Ibn^XCNLT=w2#e3ze{JD%K}4!ruF53g4J z2bcGlBNFK3oP4pxx4!HA-sgXwdGJ2GYd!e9^~a2Gvuj*yP7q*wkUuhytB;(`*r%-d`RX3>>+bZ;t`JFQy-$C)p>A-)El>ojg8dU$+dO zeA)H?$#2L1F2RPrf&7tVnE!|Gr!Jsi99gW+bS&{N$Fe5C$mihN3m6f?5fKQA5jYMA z3QBphcXL!AqggAqo~O(gFQQ1>JId{{%IywobJUhxmQF?_RMg~_oR>z-SG-xh z504t&4<8HOK0Z$QJ7SL;jH};lFb%s+fKjplJl{;`%-*-};SAq5&wUPPLYU@jBO@gR z!%HHmhEXKR>PQ%|IneW8A}S?JhQRrnA7iQ3{Ftw$iV=*?-h`-BqK1$&vEs67kf*gL z_OZb-i?_m*$j0fVqU4p19p%I-W=Ud%;+p;j#)v?lwT4uZny8qv7$@=kG^jF+!n^1r zl|=RHqNj*PTJ=2U@z7GDDTlc9Ozdk2oznPf@!^d_6r>&!PezBoi~(Yby1fHd9%8Kd zFEaEI_b7M0h*)WeERez=M}gLbv1HCw9cycZisD|OG94zWDLQZ(s#`96gbnAWJ& zRexq#u6JjMZ3|eb2L$qo#Sf*sN)tTOB8PzmF~@=jh5Wl*5(4SER;b1)OcFUzB7f6f zRHlFwO5>|5J}cJ|FS8$}F(|P`z}I%+I-Rq474GxD5KpuyLfdR&O%AbN}>H%s>gq1Y_{V8s;xU@N8zeXq_Cs zyrdpY**!AW8XkE+kBf?qja>>Q9D*boC76Z=BU3#p~-OIY;78bo7FEG@L$!Z|jjJ_CN$+mX&WV!bWI>!z% zw1{4Ut=3cl^=Ps|tc{GDVx(1}m!Au_X00F8!8DEADf^9){kvjT#K5Tzo zdCvX(4-3tNZCMZHKRr*Dbs9@nYeP&oBj-X5_l76*^qW~_s_ExW%#Hi{`6wf5aa1tK zG#yZM30LjBOer-eE$OGBZ9(jg^m&v%G|&YGQN&8>YGQY|3RqY_dR2ys-)n zb<1c=OsIuSSR0Br^Tsggd5AEFGG5}nNHyqovHGRIMm#vm0mYGX_*8E+4{2Frvt{w4 zRSdGM(8X+KLa{D4D#7VV$3g?7`@e^K1Z`L1xXM7XZMFci(88YB_agnI<4spu6r9lc zG&IrV5AEN2VvN{mx5_tN4(zy5(jYmVM!3!9n6(m(dx0hC804C z(R9YBQJHA8*HQ5X4XF(P-SfsCfzGHz^KULYN43Kme4u;3hW5l8Wseg>9?;^9?3X$| zB9ddi6RvBj{UD6;V2tiULN4p6j=mqI01?`<5(^89CW#mpk3=|L7&PSO!(veNuRpxk z*OO$cC>}#FF;Q{2v}r$f3dQ(n64q~|FeLQd6iiS-0a{IHWOOj_g&~i^8R#M8D8$ww zChM?Db|h|5&E$(|twLesIWn$LnJ78e!HPql-YMBaI)0)to_Yil3`8AJv2i zNJ9n$$B|Mw*@r9`vKjv;#%56eC&nZN{~Kcpw8L{4Q@wwJvCI0f|4IXJA0~NT8YDL; zqsMPzJHwFLlo`qk^^fx%fe^)+i5w9P?XwCEWv*Q!?#5ORrv{C&V0ZvWKxGM`Xp26x z95f#xy!T|~;&Z^wDJ0W@LcrLT5W48l{r!QP7$EunQoOH-B&l&lhpTwa@lO_USZH&6 z70;G7yHrjzrbyu^?DY*EVaB=PDuJs2X^5^5!z#84FF73uR%QE}JM@EiH9Mf8jfGU)*j zWiaW!B{bQn3vM-&vw#qe8N%dJWQ9%$Hp{0|0g)6on3LBTpx2^uUi4I z#F}u`tGQ>6Wl{JIcfec2OT{Mt8|S3?I=$U0qnysC!EU83>Cu^6Z`q?GyShXI za~j~uXV6l#YmZl4cdea0PHm!h0H0%`<+vgzlQzK!kB6eiBfHR9HBql$Gn^jMZU0tX zvrz{KZMW^POi!-93Jv$O)q!(aX!_)go@k$ps6KW%zO6PAKU`(ER(QZ1{pw zBbFx!f6ZWP!tB|{)7RHm4u_y_`5(P3^{7+$DCvoYC|ebd&qi3=o;qyjo2}+9d3(Z< z)94WV3lZcLF)A0mrQq`n*Q}I(cC`2PdXBN3GI9(cPAMF*dRxo9tB`QfHZ^u)_>Gj` z?N{P#c#g*h@W!~*&;ukPY;(1C;kr}JbD|~-21nWfAF5SD?DefKGFWuimJhn(2$uHuQ zW8`eYq0kjVvFReFnUtTq`pnoF70nJEB^eb%Vy0NuVBx1MtaAhMLl#gwnU1kqC$OHv<3 zf3iCD&i=kAi5~`OLztYuctFM*qSQie&k>ewtNts;mjd9t)um34UrAywF|BnHx5Z(Y5LcGGr~~7hsed!2m78%r*d>JAnuGUQOV0)eo4O4C zEmN<@*90bYu!36{DaQh0)mvKNZ#vsdoMR^MIQ)7@u>DQ=b~$p^&4Ihhmx$ zsE$M82GP^Bp|<35|L^eegSpHTh^qyGROCoF9}lI;kXbE9v15N&%nqmQ8LDesxo0+a zv6;6S-rrL~K_aRLA>0VIi?(C>aT;XJTDQ)7K}{(4fR5isg@+I3ZeTOBz`$6xzTLw)RL9p&SedMgXB zzre4nwyn+cn?5^n#h-{u!-uDHizs3Krf~^vrIbW#KA?A9s_*(%D7R-1a@J!3!nl)` zHVpQ1yPZzTXV7>&sbK!?zvR;|j$Jh7uW@p9x+$=f%(O4rUuRlvo=oEsY|4_WIuJT_ zkXXRLjV;o(Xp%Y?&eQ`o-Vyc}ukBMBIQUT;(ptjd&V8RVOG=&31Qk5KsnAMx-($(6 zI9<6!YkGGd`oe5Qz(T6`{UL_&g6T!@<9!#|#BmE2X^3yL@bK~;;%V<@3FSpGgs%JP#{!LqxjCAQnt^Wef?^L`l|Cgl1}19W)wCn)~Jhc!bC}y z|Ef6XF+A$1>CxLiVz~_Q4aHB=r3AlVm9mRrzoG+qSWQX|?1_?gdnuJ9x@cRHH$V5M zK)d4Vj8)fsAcJ{e)>~5g*uc3P5`#3Ox*X1AsQ#TBq~}NwR}H}SQmBn?B_oJ$H9{_X z$mB|Lg#d0St^bAr@|nT!%0Ws>7BS=4*8y(lb#E(K-QVh+;>G_sfyErY)NT`)_J&wb zuF6;So;xHZ`teL$rNTtL>T5N)M1ld{eh1+1pvl``KkT}8yW4j;89Kx{G~P|w7O}1B z{s{o`VkP(}dAy_ekNm&>U%!D!1NAMp>#X~o@NUw5`H=pWXO{Iq|Y_{I)yBJH^g$ZB~#3^P4E`pO*RKql5}Gvs@xNnfYr@Ga-S z=EU#dVgiU(4^A|1iIESQulIHV2eyYt8J20Q6JwYk5zacO6;1DnOMBN>FE2O!r!@UW zj~~@%Mqj-53K|H!*(qORTY%1PEnaq?R$t41$IsB`5wYj4kJ>La;u)9E>}6XNa6n22X{TSyy2v*41Gh!t191r-at*_zvB%(> z+3DTq3DH_fY{F~RT!m)GBgri1WDMu+7wR5h|HQ9{f272Z9ol2&EjwC&7IFoXKi$Z= z=h6@5*0~JMuj9<5utaSJV}@r<(yR1Dtw)#daajIs#T5U~tjMN{T{W?C@Y~Syg8%D_ z&%xY^-FxjtS?)V$9X#^;r!>Cor8a?04*&K+t0s&eJRt(qw!pUO=ZBjwo`TwcNHp<( zedx;H2#kI^F8&W0Syw>C=#Px-zq?;61KI~$TR>q!oRI#YsX&tcppgDh{-8g{ZLXyR z@${Vc>^AYKtbe&373UQyOH-A7UTQ9Sk6%yAs%k21dXG=rZ1!*|*K+sUU4LHHZ-=gR z?)8~8x_aI>oU4uU|M;8;h}Zd=pKJ#5;s@>+NduFd?SZ4quj! zGwRk6CzZ}_2F2v$MT=^oVmeGCmfb(v*&HGNVmmCr;qBG@ge8)4l4jH;F#}IEV|7ZZ zb@l(vCPEu2dovF0Z3uHM$rE@!whDVLta}4wy}6e{`Bg4+gIp^KPK<)CqNAA~;M5gg zeVc~NJ`@8*Us<&pM8-V8ca>{TK^S<%;du&aPVi8f-x`ZBiB;+LYcOZvw0{ z222`F2n%)W_g%NZ7Y;HwG&HyyZonBFr)E!+!YvR};U7tf-qMa3_A`(tFXADTgP4gPeg1ak9Fy*i`N>kW zKTwS}fi&_TL_sd5+M*a^B2-ZXZkkYx+u@{yX|O0PoP|`7R-=#>IJ=i{7_|c|u|hI)j9(?K4A9HiXqPp! zIwL!z209lr2xN&YD#Kws>K89HF*Vs?HltAus3)8NGvrhyi-^P~uP9_)IeniXm=6ec z_)$Hp5N>2TkLQ#jJ5SOUAuWk|CWw&S9w~w)oNTuw^}nR}E?}fXY#GyWB!nRt9^G;* z^p~5&-7r?h3e15dFJaMfPG^-}>fuIG*0xoI=~IT{u~bd73%k~Rhpr8gt~UfVS|i#h zX%H-#p(~H)9(Y9YK-)7&?X2TG|g4kW3!1I`uQ$}O5!uzX(5?#i>EGy z8(dhJ@CY088Rrag8&;fWxci`zymJHOEH#T=Olb)_`VLMbJT1#ZY3?CO!VoRr(VEFx zW*n94! zw!|INX)}~zpvP9N$8zVZ-oQS!UZop@X7CX+H7=uV(p3HRcC6LF-1n|pP?N=mSD+b7 z>s)2$cn%5g9sq+7)nJ3GAz=cH|AKcLD>N`4K_*)-D|C*<=7J4^P8c!tK^WjaS&pRB zbOuQ!IxDrh8J%jJ?E+szhD@(i0;6k9@xzkk)=n2Q%xX;}X;q6Wp^=$c@qAinSWfe> z#aHd&_K`OWo6Nm|@vO@GO-DOV)hhs~u|QF+K)YnzP`l1E{mTZ6i@ z{2`NfPV-1IeP$bckL6U(lxJZ}ql$hq>8+q8V!&+3Ap9AT$sd+Eg#F=XDfB4JJ2m7~3|AiLxmY4mN$!!9bTWn(}UzfY3PhAZt6XP!b1rwQ~Tz$@bP7TvxArG|o_ zN@aqPO11H?>3@MS~%!6pk)|CQ?&+ifwk^?-`xLQ3qmfAHspni?*n~ z_(h+uxp^*3C{Kd?mwKLHJ8ZC3Q*y+h!ldzZVzmSb3P!z7GJ#edKPu2zRSBa{mOP2t z$rPMxJD!Cg9toL=HJ1#|Y!3W4*6IaR-8{{CLPJ)V6R#$>szWTtGqX%?8AG=Wdn!pF zf|nX4xM_muKNI8-A|9TBX2JwtG%0hevEKMqI%If0bwsmrt0etVbHWb~{G|Kk-n>9X z$ms4k5^&lu`g~Ak!t!3GFkY>3&ab+9THsv@lIQ9%&A!ziA;#e-EMX?IQfHim^2>c` zSZPw6SATF9@+sTLC?RXZG%TLuJtEOyc{?Zw+5?;gY4XH8s3Wb_)hS!h+J&NPP;Hc^ zBRnYE-$dR*HpW-tGF4^qCved?Yub1!30_o&3x_f@&D{ZoK$7|1N@G}+D<~wYgIT$N z3e1Is*+XLi&Vrs)auegUx{kewfk!)p$8!PIy5KrSYB*C`w2qUlZ*Dv$~gyEh;tGDnn-8AJ_YkI}X1R#9p@k&c$S8AfHjOzQMhqCGi`4#~r1 zj5{Y_Ra(DUlPoz)0ndJGRRQ48_spY9bXaCuVeo?=GY5fI004Rmx zT>vW})#%l5|J5l^$P>M1IDb=WCd#t2m63iqz z5$@C&+-0xApz-FX5N?}cA=rKSpyUek6RMhjQ_Fs9LY7>CV{L3+i`0Ha}=;t_!! z($XA5zewCC{C_p&7sCs<{1X0y;@1DJ)4t_@Rb8w7=)q7lBfDxYVfA+HMC+hJa67N|bd=}h%wqo=I7Hv1=7Jdd=3dnv~ zZ@BD=)ie`~Sgy^s61-b(qw8N|n~BEQF1VU(@L@-nVp?y5lOUgo7JfF`Ot3x{3f!t= zE~xFm!u%;sPqx$oXFh_~!WmO9c{@5P;?kQg@2tGvY;ghT*lck|i!Q&`$M|^NG+ixq zU!E+y9z8xj*4$4Nl{XiV-}S;+(AD%bea^lUXNhktx*>vXovp^+zuvt8R%-m{YaY)U zH5gv1J?7xTlzjH8fe5;|P^f2dY8f<8Q47-e! zXgg7SIG?sm>wSNaII*9Bye>NTF~qE_*yQKGATXnTnM2aPqU*@RJw@3m~%BBjlP`Tn8Z z#m4xPJS*8_^`UvhdcA_)y`B>59n-Fsx!eeO_YXdondT^QSblw|27Md<$GiY~g(00x z$f=%#k~9dq{TbE?7Y@sORXm$Lw_G@E!SMX-e3-|{qkr&O$H)@BI;MOG8R0MC#zio> zj8E*bFC4aW?R|a(mI854olIk$PGycHwK;sK2Tj1oqY08(Si*vQNQT*(wTg3z%ueDES9>o4EWZWJ z6s94!5B+|I$B-|{;+S?jbLq~qQlg@erAYA|!@^lNs3S{P{R>#K4DnV)JXMyEKvm}gVO=Q8jWs5~yC0D1e?M8eac3F6a*>p@L zyhmW-w$pdDFb?#gt=gfrFS#TRGDf-GuUnV>-BNrjUPX~jw)|Nvh9%>1KkTF=SJcWq zZ^LCydGqP>Yd!+#hI{hkZC%&Dpu~KW(jLI?`$2f<ZV-IpC_^nebgf&|x5_HpS@ZO`Q=X{RhJ(cYYU?rt zTY{%nRMFl60ViM0*AtmR@!WF{{kwv|h$mU&iD%iT?qiU17xPDp9mn=pt8t5LVWKvo zJh2@|_fdXSEX58``5+vgJDS~4ho9$eY%)+rKr5;bb4A#iXCZ6{Gx$2LQVh3cVzCpB zYC4!kIlmKgp9M5H8#;TizI$S+18D5@7!PN6P&>#{w8(z6_)f}C!=RKNzW*W-J%$YY z#El*gm|hL|C<5gYBnvDWCHW3Z$sb02E`55 z8%ys@pG14N-@i4Mxk;aOhbs35Ggf-U46l(%XZRby#zSBWuj|B#QZnB6GRH1EFWTc| z!BrxUZZE7aU0nFx`zTiH!v~)IL+|C2?I;Lte>BUTO_uM*1;=*3j7V5sd;Rh5^J{f2 zmhBA|pPt533Lbdw1-Ht5<1bm~IOgQ+FLrb_UWo#FgS*o8Szvvwbu!&@6fu>8PoezC zoE6MZe)(L!Z9KeDmeT*-eAYX-=hvsr{hY2h&*rD6^W&ZC-25&R>VdaS>HLYtrYY3W z{)6q;xAw>G6IqXDuOxgagH#{n2Y`#x@8jCzupxbaq85U;SJ5rk{xOP9(x^^&4Wh>f z8+F51m>0oW!Ir1sh=?@>&8UmZC*l78V6|{g8U;F$Z!MQ*p7nC`NwKP>gf;!xA6cKc zG);ZETMT>#$rg)6xMT18cem^?w0vt?6@)drcgPv|U!6->qyjFvtV$VKcOv_g#2oGF zHT^JsS(tC>{W|-6a9mOM`t8eYMknIa+9aEOH;}ZvkE2&6f8Hys?Wdt{x6uOiDRphZ zlV?5~znGSs?#mc4KZGWcRGYjyE3*C8WU|J@+H2;Y_MpQRAUJjp(rhHk1E8dvnV?~&sGv{5cp^l$gE`QbN`Zdz$_a8KV%!!uY z*D3cdu&K?J(5L+@BJ18OqapWHrO(XoIzv21 zMQJYOTf7*`kZ!Y{V%e@Q&!eRc45G3Tv~9v&DOJ2~364Is7yrKJ37PE4aYA2nopI%E z9e&L6f1&xij|PFaGgLyoA_^4P>-~e>lKC#RlJG$ZXI*oF0M$C$-M!KR{l9GPg204; zkNb+@v9JD#U~FP-ze?pJ@Ex$KtXlCix044;;rYnZijEFK&TH1jU8U`(r}akN_T;O9 zAB6kQ{fAH9p6;p}ccb*d42*IUTAnN~8JHX1e%kvTjyu0Pxc!!Ka_oJ=~&7&tLfN2@(@~~Owy1%k1`bOF3#?;_s>fa1xD%vR&;hDNCHqhwV^!x z{y=QOAiE)<0@SkuM&@l;3R?envL0&H_o(c115C0;MFK@5vm~l!5r0@pdXFU*Vxn| zsllZVRamw}s5P7z9D}j|s9y9U3X3RICkJ~Tf2J}%CY4iz5uBsGFCRj9coq`+tzr~8 zbZF!AuFBAbWRuv$=6`*W)T!OB-Wv?Smp3!|B}W@IP4s*DNei{%$R1A4JiE-&OdmGfR!5&H9Cp1 z3&@bhpTrN2uv2Sr)Kid8bcU-P!#3jZ*+MRy6^6O!i|6NyTH)%9Cg)$7d?73Q$s5i# zW7ijHXN){J2<)Zx;+$OBI`~rZi;=P*3VG+UG<`g^zpZXAUoOZSr_v)>j5FjpLZVvUIr8>nIREq-G~wav-R%)5CoV*K z(&kIWl84)Z?UIn>C!q|CmSL872W6~lxgOwDA*O|)F#}jA%Q4(UV8hkx@`XnUQH zZ`61jp*4g{)inek1SzbCE-(L;2OV)B$eAy>SbkNd-qxs7rWTeH>4eG#p)u72s7{#< zO<_kkSqP=D)dFOzrIQ%=T!8EIHTsJx`^St(UbY&sCc`^+RU1xS!ak)+5hBZBVAPv< z;coG0O_Yrwbr2+@EKWZFGOy*k@j>HY0B=#z9k3 zF03(mOt$@dKjZW=7o!L7*vzz&;;K(%gX?-<{I`2*KM&M+N>T%U2Erz4AR$G}VkZhwz-YX%;AC=I2}-rWIyeFssF<4u6mDoYr?1-#i-} zIJa+;AoW=xhP5YMJL!kSiv%K{L>atIT0YRaC%<1SR?)N4Y&oMd^d4!Q@kU{|ziD_B1PC}2or+jLuV8L+M@7!X8sl;zM!_*(y z;itqLf&?hiMtK@oG6#sF4d2(5;q(pHDgHu0DMLduYv?*L)XM#4NshY8Bf1FToC3XkK!jMn#eF{>Vz1sSGKMD2QJs zdMX-fPYbRcDvx03(5rkBUXo1m0PkF)R=p;zzCR7UJ_C~i{=lX8crJoX%y1>}0Rc02 zq(_}cBZ4a?bddm_V26q$a1%}~{^I~FZ!>ph7tZIbl#;t@GelS8atv{zOzRXqFPpmLiFx3Zn|l?q61RAKKaOBVLo9y(+NSz zMc(jd;X%n(9fUfiSGpAQ%0E5G5ven1w2xG`P@LM|LzhrceykVg zUEWiHaghS$t*G1TYGBUn5Cz&eOX4Btc!<;8#=aA9+=)TiZj81!864+w5e_?YR5Tu~ zC%nwd(1c{K-D8c=N4{y~X~m}JkyrQ}?G*UU1<6D^2qMr_9A3+KM6mRuf>C3J}n`59(NnSiJQ5rC%wbk8L!S5E1h<5+GuqS0&)jOwqooRf($jPHOu4g&{1LWrKi%w2tPufOb$4JCQM8+#lAqc%}m8zI!t#gTb(qPgcDI@NPhT?z|-9{>Ny$n zfUp%97dp{Ik1F#h8-#dA>_cc$!~Eo=(a}9)Mfr+JrnHVIEFI(pm`gPVG-+Th_4b>x zyjCVB!eQAWEJ#l{qTeh5YW0v!2j(*o6F zs?d@|PaT@ybZd|4eCX<0-ty`WuBC0ctaF*dM4O|K4c{fp(Dmhi%G40#PmUS_^G>Dw(@hz@dcJydy zgCHJvnF(4Jq>H(LYgY7LKA4s|Xz*V_-}@(u>=Qa3H!6*^>VM+3y>`>RKdxoo?paaW zuCIDJ96mkeU?R33;#62jj=^oY+vcm**vRFxAMs<7)>?4YeKI${a?4cw*^oI=yvL*0 zWXlX`pTId*&-gpD(N}oSNWaO9u(&1z*my2=5<^V4aO|jk@0uOrb{HCx+bc8am%ZO$ zAL_W*ble!9+R|zS+;cVfBAIGt;8||1i^l6}yP%{;DkaXZi1&c8ILpelW%(3VKX%Q^ zWR~qoT5YLgeohr#X7({3Bp6g@aBnMYz?^DOJ$8KP)T!Szvs=$-vf$D=InQz}Z`z}D zEQIQ-C3EG~O0uvArp;cC7YtHUVQBaFe$Z8eL>-Tc95V-vbw??pP@=2wUdp7pI9l7m z2P`jo2zTffCu7Zf0s@nesb*R$N3<1-)n+mcF2382c-e>yJPcZU6Q66pM~0O-X$<+Q z7yxBPzdusSYoZR<$&O#$KDA)0w}6bCDGd=#Ot$B`6zjY4zK=yTGsa|Pq*dIV2=>NR z0WluqY7bxV9c`L!^ z!WZ_11Je>1F7_(&vt)Zsil7`noE>HR*YJ8H!>4b-oc71q+t_HFG}GyT9uL_1?ra?6 zWW%P4K0dvPAEuHB4hDEDQqy?3iZ!`oV19m4d81><9 zqh~x#Y}L9#T!)tRVw0g3cDmUjm+6#&+mHQF(FKM>_ml~!scou04~^yVaL)| zgM3A)2j8|O>OIMuf~j-XjARqnGvfu39=}3%*&6jnMS&dF7wK9SQ3#4SF6zu&!T?DV zwC0C1;R+kE43Uuv9x=X6#a~_ad1_(f4jhe1d1yOb770bVN9uTZalYD9%|~+_&AJJE z3_Zu#UCC(OM5)T2>qascXmF^B* zjpAoFFb4DL3qLvrqWA6KN>@dSIT3i$U8N-n+3$0$5}U31M=k{o67zB?eyPhrL;M)i zlbL|dpRkrPUr7$$#YAUp)}Ekxa&!;uO<&N0_Q3m0hO*L?UmbI!QNG-^p3n3R0K`?P zNJ^W}R~*?w?Znl`!V3Q2B; z^j`-@Aw0o&qein&#*pdXL7z>9`Z{*4@3X3|*BaK_2j~9E4-uGzlengfwO}uYyg1?d zcv{}>Xj0wD!IIXe_U`NNdvp;t(S=&zX#7~jo#Flg|6lfVA{xs{OHu}M8-%@P z>7{(MXG}$XcC^xAs3#o_$wTq<1yew#hs%m${rnDP=5Q3&ILf9D#Lk-7VnSob{9#md zxx>CCfh!O|?xxxGp0nRCZ@B7aXnJDTrRW-^7cVGySgMbywM{ua__G~Vv?kWYy78Xv`rv+SC{Os`wb=Gx997LnYj)B4ZHd7 zpG;Ez{%J;-?ynC|Y~(&XM;)=3H2F#@e$5_kx3G1n(C$z6QX9pq#ePJjQjS+|S`uQn zq|EZ;IUB;V6;01?rc}{hlxTj4_vcbwbc2+$+$+U026C78=WnIvsGywa^Y`%tq|On_ zImP`KryFZKA-_@*&6{K<63_QHqJ&1z++s@|w_a%SR}Os@p`Iu%_b$t)dL_QT3czG5 zW=BC>&Nh!fBu*v%h&+e+-#75*Qe7a6j3WnXy<_nnJ<$4Y@h_*&OA z{{DO&g|{ru!W3)I!QZX!`;ULB+xOjMjGYei2}*%CyA{0+)!-OZ3Mu^F?k6Q*T@C(K zUHHnZ@@4?#!*Cn>#UQHl_<8Dxt#a5~*Dv!qQVaX81!L~Q{3gGs`kFM6b?e#jfqXNx zu2?I!;hE#qI;#2B^tyw0P%>Zh)u8-l^EYCYPMX!tHD7p=kYuN4B-!hesCCvGWOSPU z+dcX5;Ys9_@7c@m{ki9zZJ`H8pVoVy$0z^nY94<)hpXNB(<{Ol3(U$_!+n%%`OCy5 z!CBPC<%|8z#359*bN#f6;ip*hxjUh&&~0aXK<|V*f>KPcf`FPGN)FU3`Zu+)eRM{O z;9ZN1eJs1z@XxY7qM+Nl*@-gJ)#C~{*Qfhc`Sq8~3;*k5kFtM3LyDv;|G5tNATVh* zZRGTg3=Kv(cHl*6PER>fJ`2rn(e28O9WG#EF4ZQ3LgXvNyZ2CVXk`C?x~Y2q!8&q6 ztOIwLc|ozpYp&tL* zce!0^j`*$m$*rr~@Y9A{L`UbivY#j65$3iJUHwKu6nBQ!+uS5Z-$ziPf1fkxc`heF z^XO&;?P1dS^InXe68tI2Cp3*u41ZY>K2bk#qtBzd!5W`IwEM=21fk4a=k3tDW=W%i zRNv>LPN0wkN|ocF=5i#lUBHKed$tZZpJ}yUK8%qp4tH1Z!nLnHl#eKCLU=FnXW%Vv zdE1;CKPRtDH<^NBDQYKYEK6`d6zP<%ePgm6yzES>ad=3C*hOw7kbJ zTA9|vVzQRB5z_5-YW4MPYK&*mO_6d2j(LFUQIdQKHezNr{GV~$`q`4P4OhPHB{}8e z3=uFRcz+(gmPbbsZHf8Rn`QReev@X4EjaJiRh(z#8(4ByQ52sr<5W){MyPXon~^>@ zcD0&!!CqMg$f{c5zbJ5>3NUBURj+7UyBpRP3~9e~`l4dfwW7ba;^eoPM}4Iv&gjd% zrIcV_U)SDXXP-_^{g>@OpbPCcG!{i+-5>BpEA+CW!Avsuk}Sn#r6KXxguSUw=S!k> zkV!W9=J@*6H)Vu^9ZoUSy3%J?Nev`d4WCWcg8Lr7)=KeHcx*{DvSrd)>@M_E5>UQqNVXAh!m$Uw44FCC~r|l`gTaYP5{=HG-=cAXLiN4boi_rZ_xCEiF>QF-lxCr z1Xyu@L%}CU3I3NT7xO2|tp(H86tTS?)!QeELJLiD*BAYhNcunW=|6IC4%|D>@QzLw zookOAhclF`A6Udf&pI{uOIv0pK)nDTm0P0L`{;40H*4C;A`L=UQKb?TwG6jo(YC6l zf~p{=pEz%ocEQ^1PU@VVAImz;IoMLLPfb`Y7J8=>O?Yj;C_LZ{%Tj8&Z(pK^FR^j? zja;OWnpmHv6ATvFZ2^-bXFse|W{cf|TRKZ^1Ung5@h@bz>=*mi?4H?`NPj;E52>dU zK1x)s%1NJ@taa~{93zaL?1OM5HRe}4olzqR*oVyc)KTg+5$irY%YxG2(ej(_F9$%h zX2uKXo!FK?5pXg90{qjP`=Ca;6Rd3XS=W+UHkpe6&5a7aUpCqW?$L zaI30@<7r#=WaA&qlK17NyfqrkZ&vsdu#QpGhv{kP=MMQTmWde6nc_Jqw%9AtGsd2# zcNC)8tGPZ+w@3BgdZ?z}2FS{O!O9(0=xNouVsw5o9QvGHD9);8X=Z882;FENCy zN)|kVi|hOFHzgFdh@WlmEJFeUM-q$Yt@mc;uQ>;OY07*)KWGTN4@T+dWi@x zAH0egUN-#~b6y3LmB>+V5520%*I&p;w%uPW>xo}uSG<3x7HEJ}ijmcH*uy%1Y6o*qnXm+;%y37%sS5iy*quG>snJLnWDJoYfKc%Of znS>^A#~O~FB5J$wcHA@6(@Is!sZ!lo}qzL?8w^LPQ z21E_qq~=^KCL78g>GSHVS!XN!H8Y(D5_Q7Ov=zlh-Zk?v2~7f><+QP+jSF{;S#Q7c zbau`|79UCa&Z&d}7Ee|i>s;dUf87UkN&I4C^1p4x?;_%keDqbyOsc%G^qsYDmipv; z%A|<1tL2)>cr^1^VmCj^UMOhc-Amn|n3~sU(@=~!@}e@eFS5Tr&%tWWDZpMFHsIKNp+v};(vDg;EGDFjWZ%uAtBo~cZ2T#ab+ zHXIke`4ZX1(fMkV663D5&YU&5H{av7>ymSA3`a)aOTHm(rL528xxZOgcxAAFXj9Ak z7E}T~=I!@z6ZUsE;8iX|>)xt5HWe8EI-GvcK)pgZ9eXVN0X$+%CMz1Wh#i;4_JN}b z#+&yRIsX_jT)+&>dLZTl3lj)Y2%o`f9ojR zccNn=!Hr{#n6~b&XwGb-W37!Cc}YF%Wu}cW8)QX29}{zRoD)1P^>hA`ej+E)_z17S zy&+TF%=q~~E5_J5V8@DzMs}#mbV@_MC+*{>;^ck?5LUDDm%Hbc>aq?*ox;6VenAAi z=1q_3SonUWR-5W;fupNqQCf#o8t`X8=QEQE!(QU)id8ch72rE`2Gw1AyFYHVru_A4 z>{l1Ihwa1p9yCdaUG`P;^W2C0HEt#5(h=s60jXBil`Vue@5z`xfW3<%9f_ zo3NeMQ%ZFcF=ug%yH(2mH?|vFFGuxzmaS80`zG8s@)Xcnb3StyNl=fo=QI)j1VR=c zWuJ!4srJ2EV`T5alxz-S*2{X^jDsxZU&q&l;xAmdbT)3V0nENj0OuXh%62K`o;QVr z81Zp)nhk1d4YBgP^e^uWSPKDv{cZlYF#acOw+naiOr9;Yk$poeiZ3-YsIlS=4QOZY z%@8?n@#qaWs#HpHF9LT$Enk1*#QL&UUhgKVM9Zyq=(a7@R>cjjh>ZtS-}Fzx13f=1 zq=fQVGUXHzTN%`Q`M62B>La=5u?%~SBs3{wHJD~Mj93(WS?IjOZ`JVy51h*$is9Lj zeIaFn8S;1ZX%MGn8E)+Gnh;aL+rF#uKJ#cm<;q+`w&iR--PTQ~BRR@Yjv`Gr1EleP ziFZ9En`IMO4fQxJy*g#C4%iNf1}SP+T_2}Y+(wEQGFSO={Pm*vcf0sgyidcI)kce zi?RSu&z8|mx@|sK`%q1}r~3V&v+Lak8obaBXh#e$=AzVFY?A6bGgJ!|Cq{mK2CF$Sg>U*B*xY2sl#Ofkzv1~$rVqDX=F$+p zq~4oH%yOTrjXr<-*zxkcB70Tvudf^r?8lA2(|i28wEcH!`!D5x{$1MsGo|gnsk;BS zq~!mNvrIMsku+9_KP!|^GWkI69&_@fD8e^-+z>Sr^spZ^O)K~()WJUrM;y4S8kJ32 zFl3Iw?T48N-dzi=Jp%lNDn!o`(^ilL)KiQ_}lJpMp4!qP|)~f zSW;!Q%N-GQ$K~sEfjg(BsVo=2!hngw`KwL(uuj8G0X0BDs31O}rnD5g^<@*;DlU== zq#9gnP8BdvB8BixRec&UDCNQ$AvinN(q2J<{yp;UyEq-G^?j`OOdx9(9Jxu@W$9R% zC(6EJ8cy<7YU}`~WZ0!T9mxLqu&*$K_i9M>A{WcoxQr*`(Gf`>SXTrwhI0ieaDd>c zz7ZtxikP5Q!jWOSAe0io$nH3&FAH%u*Qdi>24EpSL|GgO#31TdW!fn<$mJA%iU)=~ zn-PHh$gTcarC@#2Zt`7)Q~li)3LvBrG8a)hZ+G?}Nc9lnR$L(#Xh$nf3iwJA4}+*K z9a#4jyioPMFp&eH=S@m1Z8=z4>J*>R%Y|$msRrKn3J0tFLL<;RTDt&=GI6`yG8^O_ z$j{mO#Pl>c_QKr?M!Y)<>IxG%(T37ZL{<{D*ZLm>OX1Det-pPlE1<{~-y#@POnD8I zgr*;u;uNQNmH|!TJ?Fh6$o;#n0BdW*`@3h_bfp}h;hl2=it}bnmm?t#F={S6CSel$$@4dn=?~H=Yu& zK+X5YbK(O0S6Wq?oo>RDLg9Bw78n1DoHeUmH9HwKA1`#j9+fWajXm}D1jFAsu5|d# zk!vY6YmawX^wcB5QjPdMd(E+E9Q>}75`%5LpK_gOaY@2u(|J{X?AsIFp_y>(M>0w) zT0=%TVY#+16V{}@G^@9}EtHqDb=nLv-p^Gz~VYskya z3pB7gu=d$z;cru#u+rM8zOdBOoyhviSs>}ON$rzV*I z_jkp7DojaK@;!PQ)fd|`SUBXk42LxR{`aS@E^~bWQ`?^q;wZ@ec`ol@GkTuyfeP;E za-0b3dUs35Q`zb1(@VjGaEr@*5n{c_MN(UwDAekxs3$l$@5RVKMrL{a^|s{@7MS_{ zpjEJ>Lt(22CpQ*-1UZgW4o$C-PSB2qe{-!ZFwiCNwtX+5xB7U0aXr0FM>&trxd-H3@OutK)anF=XH6JPZCcDb?OSe2gl3Euu>ov*Lf9nYKGF73Qc=ea7$Y!%-F(Ny?{wLoHYo$o-Fh6*bs=qPx4EKVl>(!Mah9Z_r@j^3 z&l@~YN6bmR?db6$XpBr^MP#+aW}7^}oCSUWh!PY+FCJgno)6qabD;Z=uHLfV?I=?e zG>4Dw9v2U3-OakG>y&$eJ`bb5%gxF16Ce67gdI&=uL|OfR|VV;I~l`M!_kB(a`+5c z(&U|YL>E0w>Ygtpm$IBP{X{bOOnbW=7gFRq$T9C4{jaB#`_~}d(Pyu_lj~ycr_N|^ zyHgzsd%`c*{jk%3TKKxX?7N`|i{6l@z`L#3Sb5H`;ppwh^>^?_-)^eju7XTYPACne zn^Am4y*Q5Xm+Nll_L{Y6UTgSUl(X(p_}MOg$C0&P;phs~mYkFmd5Wy8iBt+Zjt|&N zavg7voZsLW1YVx?H5-Rr!kT1aiOJzdGcYU(AmO)-{x1fC;b{KW!}|~GOI$v~`%_i4 z1}bO-m(}j$3FxOUOL<|X2E2h@yA!@XG|)>V?}x*ZJSZ{{)UO(74V-d)k6&1DH2-AJ zlH0w134&>vkRIa&th>GzFBp5^8DB10t8{aG7krp*fi_*fBj9V6FQY*JvTbJuRdnw~ zq3f{MArId%Q9qroTcF3`{@*M~mdtC|gfg_jzpI=yzd($ z;ncXx_NjZ#Vl z!H~!5W6EdbcC#rZoptw_JJMFC(K+NtDMvh1!P}$Nj__{Rv)#5lkHjXxOR2|7kU=+x z!(zdN3H0A4?bFk&5C7@Y_rEGaXD{CtgX5GtZt_bC-U6ORHydO&6MqsM-BN|2c9<>S z2!ZkNqc+eizm@eP$H8V z^IddBRp)h`Jofc&&VW=ZO>m-KJNE?5)Ax6?0$*PplW5mD!d9l15T_;`7s#@w+nkoX z1e`mZ#~6~AojM&aw8#SPPlr8=ny^ymotNHDOA6M>4?Pw8m`)Z%rqQbp>8S!%@E7?T&MQjLwwLR@prcM&bsK_vu?+f+|Cb6nLF; z-vZxwyk2tx?X%oa868dRI`01ku0!3|4ahtmuVhFw`CZ0$v$8nvg3$xi$m60{|A2bk zVnoI|9VtG!ym7y^T8&J6fFMluR5<4(>SIT-1lW#e^9l%#ERJOv=-0}v1guNqO|aoH z>D7~qZbka~`kq0nLbGX2lfGYTH8*50G;&!zB&t-u;Mm&o?`6BylK7u*!iWT6%nc=h zz9;%ysg#R)q^-xs|smQs^m1k`umF^IT(Kyx)<5&nzRhJ&w_A>*^1o? z>UJ=VG5b}o=-ES0I?0>Qch%j0hu#b2hqLISjUt9KBA!?4Cjr@lgNWZgX8%X~`~UrN zAboI<;gUK%(-&~?hC1>6@bvWX)QaJG(!cny8+UWt)(a1-?#sWsMLQK09j_SxXBdaM z^fT_Vv?ZoNOn0xsv*Qf%zOw%q=-ZdL?{wc{RK1#p02$yeC@c9w1WMg7w=zDi2Tj8QwaW(yj}YaPI<9|cw?ty^oFY5y{77Fl4OzqG~Avk!=11Wy41UzUcFF)^0gf5nK)4pZzO&G0u{`&IEh6cDJQGcpkv5qD<@cr8KuifQFqv>BjoeiO`a>S!pcKK>$e}Fa0L~)N7>L-7v zhS9NZQXWQlzPV#1Nvx*@vJV%|b+isF=m73V?2i7&zT@meR}}23x{q2+k&N}Mx;p`I z7c)PmzJB`Ii+}5Z0?o|_6Pa?WJ&x5Mk+k~~ie*B=x)xCw22c8Phk&?J_mnPgx*7m( zVFx~*jT8bqeY1i&Rdx*kdg<*$+=WWzrnKqQ^4v_Q!1q_bv6;Nbn0$sPIvRnl>4S;N zj}6!=8qxtj_7#IGtx#%~n1$*dBncm-HA)O@fcs=et*EnRTOJIhd(OZbxL48e@Hoi-sL#GXW@lIL;(kc|i*YQd zPO%ch;Cw&UvU{KCu!;JZq zDw9pu$fr@3M!PJ}tTr_-=iyJ5czJ99RFvz~P zLMV!yWFe;__EPoHF4qFJxPUM@l7kB62bS$=suETP7a6TlN&?h7b>SjZB;31El^k0bF}T?QwKN+OLX3 z*PKpNX|st3(&Zac`lF_<0dr}{p{1IDa;+8sfCoWWS~hJOumrKC1^&Eec%CTiY}Edy zxO(@JYzTH&8QW2uLzV^9DgLLnjq9MMrIprd{Ohnz)@rA5uW$wp#Lpk(7Qm90^zz@V zuFemITqc+ncVdJpxIdX`nRoi5MBA5T+%iuz3K2aa9#+_x5kjLQ+%Kb_ADH;PLprG!g#nKv$i@^=V*t#dj z!QjNA2mvkeU{nMZr7{1fU z)gpfc(FnHvuB#Pk)9p7qOXrZ5N*@I7J2n+Qgn^KF8vDi=1tfc-KlFHRD2<&Crr}1Q$$on248|M`W1Om#6 z%j%hqhR>(9Beb>r6PPV48xNnXXe2obGcRhNELc-6UHO|2eVA?~^9xH%vseTWyc9}{ zF-VHY*_1R`D5M?D%7gwCdnnD$fV~&63Vx{~xE>Hg7%2CMWo|GNjH?9N8ILN*$$bzh zYpYo{6bKU-;8=o+Rqqgu4N?nef&CP_SO8wN{x5~`Qyw#}>f!)^4zJcm-8PC@emu;y zMAxic6>~Z?`G^Cd?_+9kGE?HE5sWgLP9Mtnou$II^6cI-vo+SB3Yf{MEw6;f6=Wmp zs|ElS{ia>aoD&OXtR%!i0^>ISz%bgD|FHZ^e{5U5%^j&m)`>m^)q;1L6BO52YLS^> z;#!NJDplJW%H{HITX)2e{I0y+%HhJP_CZ98-AbGaY!~G4UtaApNjUa2b@T7XIX?Fz z0&U5#6bx0Za7%*0W)gnMkj6@F&Suneu)YCWEwKP*8eOqF*L!$0XF;)<=(Mf47|TLB z_H?J?NUps;l~~3(=gVjENOj{;#S)_-V6-&2puu)o@-q383>d*RaHD@1nV?^`5K%iM zY{Gc7T)U!NwYEpzG64wEU@Q0mz!;&-VL7lGzdMO0D?;WUnrVzK*UwD(BHn{#q&Eu} zGsR`$;b1Z$1qJ4YA8)2G!CJ}>>;#OY5GniTRgoHpBS1kRaf-16qXz(6XcF#BVR?l} z(zK8Yp1cGD_4iyc1Y)NB)N<4Cw#>>NPG)PYm@*$8xhO4^qbEYUm~chi-raK{csb7V z&t?xGsRIh0ixAAzg+{n3US^#Zss7wJRn`%03XR&zpokNFSv|$3cq`4{zm2s#6g-a` zPxySkO0hszBy(F<%MYc(3xs5*WAPt6aezRvLg2DK5H2-ZUn2gY6SK~Uoi1cj4qL}$Z}$Q>2VW^w?o`3MT-lNo)|h42KtE9<2p&7PT%G+k?g zPQBbOPGi+`O`MtJ>*2b5i3H`05B4P=3#n;!JWlA8)Pwp4KMS0+2Bj(&xls>|*0Qi9 z8#+iBz#eRorFd|3T^ch3Qc`w?gNJ4A%SDLF%6{B@N|dDU`|`Ec<()17kcFI-0_&~2 z!QWl{E2E|(5F(O?!3a1VF`9B;5IIx88%dS*3BSG&FyGRXH^+7Uf^V+$wv$G6%`~=L zB_9%iTcZ2Q#B3%{t%Ft`1SloY^iz^-y8%d*lm2Q=cHmS_Y0F6X3JO#yH{r_4v(Z$kR};w)GCy_u%`CW9J7nOVk{KxtFVTo|o9Pu&uY5Wv zPZh_QaUs+HnjS<_IKaotnYr;xaf{^>>cD@z3jNnFn0Dymi!iO85aH^A<=?PvAOWwD ztxUXvA|L|7RFN6sg>i@6sP=y_?DoF{bmz_rVu{2uYL|M{CX8F>9qR1g_GekFV=8qt zzRO{Ua$raqo9Yd0jB=YuG$3w1m?eNwl&c?5u(a#F!%G1XxkFd#_+gc}VIZ}+4+%gV zZpg;R3QTQm20r3cEx4bi*d@E1xxF^|6ZDDc1BenbHxaC}cCiu+(6|OmU~HNcGoq9+Cx09_Ls;I# z)l#QwS%`P&Vx*aGP^K0|VtQsW7|u-he4Rb2Jax|wVv1j!w>JP8sOPRI1%$Q;e+G*D zQHZwGqd<&`q#gvW-_8L`%85ah6Mg)jhHCvKKX40TZ>VF)kTT-NeY*0_?U~}Gx5qbw zf~7`qr9#=c#@W1i^6;*rsdnUe{^;n=4{!11Sy_-k|IrasJ_OAF?!$YIj|c4O@k?9s zkpVf;!!PyJ#kn*i0a{!={|RVq`i*eu;Q|#b6!9G|nj%MgFmve%L$ERS%tC9Zo-L$pa30iTG1x znjj2dQpgSxUKHk4viz!0E~?~@eiH}MH4LO^Q*DM^vM9xmNSPCLNIHX$wROXTYh@4k zIHrVAztSozZLp~kWm=aw;;~4pIX$-Z%3=-G6v>82ssgr);|6g2WVT#-)#)o1so`Mb zX#o(SrUFxZYIs*GBR$vlRQtlQwMcNe)di|v!yVQ;4 z@=|t4WIB2jO3n5aQpLYQ!J~VoA-w?*l{P~*{v(9h2W(7S(k!X=8!y`v?K3rKa{EZ6 z=jc7!=$+aDxIzRI<+k7?dV%V+cNL}7Wa;LaHt3(w%qS-67wIjf$E-hdJBQ_mv;8sW zmu*&5q-4U27-F-e#E#6bvTg1mNR*dgsni6FDK9n7c1iqLd-v*lR z{Ya(kGmqr(cD zG5PQN8dD~>7HS(u&nF`U+P~$Rpv!9<So^g%FOounDOK!!k`K3f7+~ zp$#L18d!FnK{A5m-lcZhm33hh{9kHz^{Pv4V=Ysf>XCvZ5)ilCx(P|)e^kbv7@#E7 z$ku_6)&8Wyq}w3cnoU8N(%`~;Y#X5=PB=ue4C1JPNPz8^l7H!*QjI7RvyoD2!~ZZi zCF;PzZ{OHhQ!jpffFX061X~j_VvJQ_Q$sj#Q0(yu?UXPw*rLYNm|SHuBPrtR#hH>x zfeDcKfy?>PkLI(Z`E=}H;ZOOwH!yEn6P7*u#cJ<{W39__>knUU%c)cSmDQ=p%oM|Z1561LVK)Ttp+G!C2*hG^ zDVhBWK~&xppA@K@zc@>j1?}hvBf`HqM&sn&@upX9;SWGQY)e7$eH_3SLKI||1C=1` zDMp3|h^1*}<**y3Cf&4^QXRF1xc|+A4$m}^?KFEixeytk`5Ab z=BQ24KzoKAK7D)Xfm?qlLc-7UCX}oe#Q`4dUP!X(r|*k=g}sajRMP*LzAQDEfFl2= z3z!9kfaLu^A)%|%4E^H0Tv!->m&{psOaoJ9dDuXLVPpvKL4V4XDRizsl7yjh48wwQ zfYH7)Z7d9`jsZ8|s(QhVy3-7%s|S4^pk|!=M@9e09oC}(swE;Q-p3wr;5o8>ix}nu z))Oql{zYJX{|gSz%wa|{3&n~LNkJN_x9m-e;?_3fucQE-YnVm!=na716NF-}3J<9~R593a#*%%wysh zST1Clcb%PurHa{E!b%&e#YbK*Y{GIpDHY=WW{S zke|6iU&Y_U+Inw%sQYE;xqyTuV5q}_55}Tf`|mlQvHA2RZnb0GmP~6^(2Nnkv#zc6EZ65a+;-8&sbst-C)@q3 z+DGc6sxshc;-*X#lmXpyXl&<2-2NT(X&Kj1&~f=qXsy{z zcY>eUx`hi`m$ce&^QXfgwai*s_x!v#Pw4Kry*G78huPayCBWdWe7YDdoXPbsE~>~0 z^yn!C~CBOkNlJQw4%&q^oN;lg~uB%mH=wCO0Zd6VHw# ziPpoh1}bD1uTRIEIXSSCX|l94qB_4}6Eb3$OCZx&I=j>JNls47Lpy@RtUNr%4v&xjtlq!O1^&f{ zy4kFj*O?DiChkyd=ZBO2Z5`#e-K|YH&TXr>MIr0FVB8vNcvms{E*_KumpTq|eNXki zt=6Y>!N`5A=N6ZpO{m{8^+0w}&L%fm1HpK?zq{`$UV6@Z*4wuZ^=9tFE@mpZbK zx;$>~&P;O7UPcURx;plwqRRskewIq(2EIWWD9W>jNGr4O34^d1hLm2C1mX?eN{Z>TAu3HKC-Oh6Qla= zqBLWlH|(32yAi0#Tl+<$z@=z)HRayJmUFw?T)E&=!g}||s3*;JlI|DZ_4%}F5zD7J z9cOBI^w=YxZ*iTzInN1!fm^kvzNF7K$F*t;V;OF%ywHmn0%nt(E677%i+|Knx2GhPL?WmA^EIQp@rTziqj%@+09&_lJ=FBD=`t97v|wNg6?N=Rbh7ih z`?Ry%Wjc`>u*&mJV8Boj@&2Tj0A^XLg+0py1>mM~&_%xQp$D7?pIJHS)qX#jmh{Sf zx(Y6Fd^?p}H+J8Pr(mYd3E3Lni(Te;pA8si-qmSl`=i}d$ID%}bJ}4rXu|Va*-)%+ zUoxH-xT7(FPRjrCaI{c$bb1=_@Cb#5eYv#QEfYD~F7nE5xDH--p5VH5%Hz8@?VxQo zUh^5}H*qw1o;#{>UQGlWzuU)I-TF)dmfE-LPG{t<40sI;T48bP&!Y{FV=<@2gK7)L zg5{?g?M2?xg)=(T5HIv-e16;hH-E2%qM~W7@L^7sn)dBJxdVcjn3%$;{eZTTvV%q5 zHb?kNRN9=s-;S!RRdk=8O!ulzL;?cOqMl4nU&pg}*E{8evi_tu?;IP{1h^c{H?Z2c z%WV-X82d^K%?uq&&D69WRo{+_!_YgS*TJ-V%mE&2o#;LtK0fXJw~VsuI455IM>*@y z#s2#RPXSl!Y43MXPeB2ejwS7{)JD)zqTbdQuqtwP!|nBa#%(|D>u{wd>@RF|wko!E zbl7=Bxqg;;JH__ay5;`TIzO*{(WtlZXFP^*PPpfBwT=>9DDdms-pK2l->cyH!HRXY z_ii`!v~aoUUaQNN>=tXoQZAOtvC(Bub5qGW=JU&#p*`co5P>Iv!y#XlaP}tW>8$&_ zS3@7_woJ6`TH$d}v&L66u(-OqIy?Jfb(XdIAUu!NrDNo=`YvX>j>McXb=2MWV=)G{ zRr=eC1j3kych0i?NW5?GUTayKo8m}3ZLBqB#)t4|KL08(Uxy;28{OYLow^MMSkLe9 zj%9M+&U(>uRpN8IEt3t?AKfLegCE$WUkx>8-d(-NcqYr?gKU79uA}Ox@#o#^nl5(# z$BZFo|E(CZ1M34x*=4gMa@+3X`UR9wbF#avT%GQ;yl084z-Lb#ll535!7p)tL;~l* zh$k)YginD3kFW<(BIniX$Lg+Uc*z>zn6I-V6YAS3W#G#|?B``X#f<42c@-V=tuxP; zQ%FVAR7qSeTi`9+?llF#8`*$j8jY0mnjz|sLsyymJc0e~>C4XJ;Um9W?%~6gMoi4v z6>W6ab|!o9V04Dtz%TJ&9||9RiVovIXqEZ>WQEl@)pihaBWLsR>eD3}xyh6MM4m~< zdGE~KmlC6IO5be$n;3Y^<)cqPy#=34VU1%X2DFKT$O6sKhZ~n6QW%Nv zhL~h~(dH;)sJXJ!>*Gq2f%RDX{&5*zBeZ4nN~bw{#SD7B_S|5tESa3NYB5xL>mP~( zk1pdqLm(+L*6QE$R}ZjCCmzy7%6?4i$LF^QdzKB*I2R2$CNF44Az9!x9fB8ZuJl*B zAGME(>E0{x@7OZEAXdwE8}O!_IB>kTd*lm!Zrgkqk2McBKAp%>SbHI+f48sAI#N3? zcip{~?@e?c9{Fxh#+<-9hVtyk|JGjqjCCWL$PxB;Kg&&;pq>z#y4x+*GkKiOH6eK- z_HJl6E2BP2t0ek+AwRMH_{d_l%WB}Pa91gEWW9Q%^DhBUw9{p@Ech+WeY&~ZxX;_* zw8QzF-GGH9Y3b@%XTm_(-{xLk<^H@cZMEfbsC#jB4f?P*;kex1>i_!89o5b2^XzdY zcuLUbYF?A*71(`{rx$$58Eo#!?Y5=-XkDfE245-`=9=WNv3YQjZ{k<;;Q2|RIg zt8DnV=)BN8Ms-VYwAYykE>`xpSZQjrwEzETd#B(?1Fdazl8J5GwmC^Uwr$%JYvN>L ztCNXs+qP}n#>xKvI=nbn`@edtuez$c*0a{T)`Ke5l!-_mrGwr^OQ)0RQ z!cS;_oZ4|(B*kYyU;AzE%aZ=r`0l{| z`yKOK^!Ko3c&Sluc7dOeOz&$k)9#Tl`8u1=e*{FzylzV1xZ0eq@pz}t2t-YsfFEKP zCbn)SSn&yXtv@yT#JqIuy zK3_4BQD3@0X=7aJxE>O`9IMdpAnD3seX3~UwNGvSHht3b+|D}rdidSxH1}tax#(y@ z+pgvHl=*CE!j1?Yemz%o2#?i%vv>YaFzs(!ts0{M0=kt>r-N|)WM#sx>G$O|`3~m= z#3h-Gne}yVb>}mcp~GN8d~wvHvZC)c@@0()d~`E_SEvY#qzK z(7Gt~*9v9Q_)KA5%;N*}J~kjbr%A+B|bc8B&okmbdq;i6y z;M!y(buN@qzJRh|jfOg=Ph$lZ4FR_ql*r!Z1MSb;Z>46Jv^H)}`U3gGL+UHz`59&p z=`%R;=UdP*>jm#OSKWw23XXt@mSC?qISlEVnHS{^O&Qlt$W>guG$fMJt znXk1OR&tSV&zwM-Pb^wyS^UqL(vfF!wMFer3n(Mf-}l1@c`D&~HAcU1r-D6pCo~AD zUQQBP12%6KKII(odb|6!-o$12B>Nq^o|pPST|$Fz&J1V1ISS6xy9^c&>STFXM4f|< z?iwzMKDH#g^p+z!H>;q+GN08{A8h58^_|Gfo_xm9YG*Z|kcyk%(?h38Dv1qY8`8$qOKNH(I z>V*V<%*0GRkW0c{UR{@@#g{n_eICnp5_-J!%Z&UDCw2_wB8go=$%uy9m9MerZf!lR zrb6iCBFtSv&NGsw!*UPzT7s`)l{G@Vkwa1R*_WSSV!~%2B;c;`A*%Z@{+b%^2#2oW ztD&s~7~tcEV5~VO%HJg3*ry^A?lPsLT#d>%fs94BQx@W#Bm?YGAb#$W>IyzUkLJs_ zk2_)n`#ckT`IPP{>Kls~Ti56z4Y~4l{e1w&{Uh_Wd(3@eL5h72CMIjDfj-v6A7qa|qO@3_8lrHCd zdYnEE=@QEfQ>q(W&D1VOx~smgL3EXK%@z3KrU&L|&s%`iCTWQXLED z+|OjyP@EinUTs2Snd=ad8&q2wj6{CtjYU&y0a1!G->+3M7z_^m0G%y!JA!u=QhIiH z3p3JUDY*||Cd4s95(O!0Y4Ao0W0H%25{CjX;pX~32`{+@#?n%kmU&7l9`?3lP(_p< zHn-!3I00bM$%!4pRg&F-jHtqZ=mb+03W`uqp>A{-?oByJkL_X1+j#3?3p&6YxKgbL zFV$Er9lA;loiG`Ct7xTBicOnNBlBW>*})HL>Y_WzZkY_FABw9C;RjTs1$RbTk8o`Y zRAdu5DpbQPpVJny@O@enNTPD1s4kk(&18}hxrVL(Qs7KUQ|8ggv(-fh&@L46Ni^v_ z^yov4$P#dFNO)=fc`454x>V%nOSj+=dJ^cPh*IMN%zkV)wBwXo>6$=lNsQ(md4wcS zMH(_lf`;!qohT^AOSfVLdeAou!DGV08rWbFx4I zk}<7NmQ0# z&HY5Cxt5LTb<+R#LkdrC$@E!gEjf2*GqWffHTPtVC}dfgK>Z=rNfMl*^Pw>dq%C zyJA>*XciK3VGgxiA66 zy{LK}gl(Nl6KRqt3HDm!eR4(Qgb|4v+qN8Zq;Gz@r0MqxSkj5V5>LXg{|1*qK_Vrz}~(P6&=n?3|R0n!W1AC^D&!aanC8MEHEGk zTjcJ0P-MAh<{RSNv};W!jb&zVA|Zvq>`OSc)EgDe1yE&JAg@p`_41|6Ntj5J(NO1p zE3s1*6{wO_RjAfb&SRaw-6YLOf;>c+WtFx;C;Pcbj1-Ovk%hvD?@b&s)uUkw&ysa9 z#fYdQjrL2}*>y?&B`?kn3!@w|nIXgzLsbW484fdYu|f=SJm_QSNQxw!1a_gRafxqYE9c_>B2ketI@JTj zWRvEhFt^LExz%NHyg{(SY?7tYPm^NjUc9$kCF>FyT4LStvPlb&UgDcXT^ob zR)*IOm>BPnN#LDx)RdcD!s~1ifugSiMvB!*?YYFoH5|(kVn`D(CFCvXMV21l3=IR# zzIss6fjW;R`W8Fl3!_0~Z5C(t39-pAHd%_yjJsQJE$}H6MoF?Tn3haTk9-Q!xkQ-j zkc`O#Hr{O$uGU1xBqzK$q-+%Q8?=_)aHJj?RY&e&GR;QQRQ~{n+W7LwUQiWo#$r*8 zC52mHYSjV~fmkO5;zB#pT|?|0S$e-yaD5nBl!g;DvreCig>(Dy%J2bu#y`rVYS$C>pAXjHnZk5D|P)ex6LumERgf~p3KV7#j!4%MxPAOTA z%!1(n9jVVV;TWdNY)i^zS}x%foBW;Ja3e{k(rQ-dD9fZyGV=%{MQo1?qolGr=%lHP zY)cRi44sb@jUkHcrf7p;bTl2{h)uMm8@A)w1(hLYQ@D;58UtEkm1+&r=%A3Ib1NNe z_qJO`{4-3~U}=sIIv9hstnSZ;v=LBh0i`^g%hgZ-#Fr<*hNLH=tFnm5(h_BkO5wDj zOd;Qg6^WAKC`51Mytb;%RMEj6#ECO0RbqiT z_;V)3F3ORh1dokeLg3NIv>uP&!`C-h{~+~EU;L*jC1wgIo?H!QXq37vGNPoiSL{*P zi`=OOBgv!71mp5V7O8Po0}}szvK-il)p*7wfj%?)XJZwiPNc(t@1S81>oGC0(2hqT zT$zl49#-9-JQpUKv0e| zpN8={ASTz8p8bs1Gq|{Osw~<}^C9r--#`Y<4hnQ80R^=HxhXlZDNpSlm#1oj3FSOj zc8Y6glZlZgVAPCNsn}dqmm*1uBu+92Te=E^ACIEosK<43-X%C$9tZh`1ZNzJ)y_^^DNCaMEX)v;S2SmTO9HtbjxhJ97M zcf`o}pNbZ$@PY|(BAZa$|BOuQG#idp>NKPK2ytXnTY(ZPaHO&Be;7Vwa!@i8%h8lu zb53=@ujIP1zYppRks$?p^Gp$%=s{pUKYxj;vXhvU%b;)Ut?N?AsB~1*j8!r~*)1^T zPmiGC|B$~fv`cr5JFwunffque!HK3mtChmbTuu<#xKlyj96BQiffv zh0^>^+zxxy1hTrWjPVT6MYr)JXV>>p51ETrBc%ti}VwWn4lfrPx!o z<>kqu?XB+Ff9$!z#8Z`pw|V1%jvFwvM8jZ)sl10@wJh=GJOo*O`BViFLffh?#N=3sIMC!h zp@{go=3ENj!gRc|C31R+X))y0*60;Uea@V{;u?SFZ1n3=hhYsANu-H!iB`2Z6yZg2 z`9FPk(Ke%IgZ&m@#Cg&@3eX`sCBvdUtg>ZNe1AB>p}u)q?LVrpx=U1-?oGE4mAt`0 z6qy6?B;^qJY2ok#X>&zQaEo&90?On5lE=v`utpHv$}#Vmly!!~bdvWVWI7G(Tmz7a z&(+$E;!J*0QW@c4EB%{<|DUF>0u9_4c~bO?s5e?}oPMg9CS1pV6pz))rI zxVP;$P!5LlqDA$hxohSCwo!Eq_|=L)jzGLk%D8Lef@DGit<1vO{KI@INx4wVv99}9 zvr$87nlL)|#zB^f6unxX6$}cogQ?O&9HZ`7uG~*0G9NOw72(ZCSD-U%7~6ONpcl5+ z%0Ls8FY-QefW+FPz34xkUjz8v`3WS8g@n72?IOQBe_Ho<=a;WuS1C=GGVMb%!>h^9 z&77v&|NFPlkxXI)bW$s0ThrC?dTYeQRC5@LtcQ3`rS4jcCed`l2^1l^@^+yV4+;8) zS}{&K&g%~d@;FfSiV~XT4>07 zV)PFnAvF^oKHs8WDI!*?RO#Nrxsq68_y9U`o1bGlULr^{j87=m#e}`@7{d_7(Qcrr zIWbnMpG31!W$f3b$VfVL4>Wi{UFP3#jXIR%Q_@yhV6g@%7u~kIy~KMbPJbn`7L*(U zEy__4O7<+9x~Oo0HAQq~8<;b>v4-&C*sa=tNCXT$T?#bn3Q5Jc_YmV>G zcAgt9u%jktFbCQgT>mpP;SVf^7Sv|G2?0^2IZaO%<$BQz(}h;@KT&nXhePH0lN!Mi z8u^U&-TY_SyDVO~p0i6*(@KLagD>FQOJ7SD64~XJ?vWF&NF`qa zxqe#nbNq@o{I!q1L5J}fBGKEL_7Is)X(CA!D(C;eF=kE8O+1_mga~mLouyD76Hg5bM9d%A0PMg2c*Z2Jw$bEhGwfr<9pra*xe(k`ABws- z-B?&?xR|)Th0L~}jGm(RanN3JBedBqlshnENauDw%580fq-f4a<&TW3!oef|%P2#z)f2Jk00tH`6O!w!N-=5^} zvlFp8Z@Z4N1T6jJYs{yBU&kM5XCf|ZtFoVho&;}gG?vz+#uPEwtY(0vyC)7#c``~D z7w_4dS<0Vw?dIM7DeE169~N(wX))vcCvn#40`I232O@lSfo|eJF5h?3`z|XWd!Fes zQTl!$1gZr?*#EWYg=)ZVpd2`krI%XI>s-^L7y`<6V`Gtv)wE&`3Lm;A%ZvD$8YjT0jsx z;wymP^Wk4MqqZ8RCaqW%*<6+H&X?XY-)mV_rCrB$7^eFB?EvxXiAW6hp}C-Ti<9J) zXj3_^2h8X&kRPhWCuzRzX%MsU;&LgbTulD+vT7W@0`v3cWsH)KksiDD>*Hzbi!cmh zoypBk*)NfT=5|T2+GOO&UOt0$zeakblvjU+?I1 z#eDYWbD%CK0xpNlhs9O2y1wh8KC{Q|k@3)^CaXb|eDZmVSD&=olgHj(k3C9&5r3M#?iUzbu&vn>uD%&iuWnl6_=Bt<0(;6_G~EnV=jHu+B=%h>t+05>e1u3 zxy>fEAYrZFdAM+PQwZ#6IqT8nA6L{22sk{h>($W9^u!LA^W~K~^DBu9>i82<-+G62 zn70P>BiUxRMfS9hpRbSJwz{Q9*ta+8V;@Tof|Zutia+hIoTp5VQkP`E9r9yjY@!_= zSGgX)_cK|jq>NA8Mr&SvUgi_uHoV*>%QI!60bCvrdmsAVif(qhkRPj@AC8amA#j$I z*UCfw@RTxJZo)BRnLfPwzD|~J2l9^xUhljyBQH;+o9|oSKE54a#dmsdlZeSxBFL8? z%Y^S-*h?!OV{GQHds+I|gx=Tv5$JPTgH_M9CmU}WjZYh$K4T?A1cJJ2{^s>WsTbW zy1E2yw}YgPtJ3GQkxE8&yA`E>xdIs+{4LD~&9Z)LO*Sh6JAj>3W3gZJv$ORkBc}`U zh{7H>P5LihG_>kw5^ZcdOGy)i4{LSiC$j}gV~*0a4Z34i6{K2kPl9&Sjzjbs)lZK} zT`QmW_^?;admmlLteDZcq)C%%(sAw^GC(L zJ{WXZk6V4yb0KdW@Bbdo1mAZ$UB8nE>OSCesUv}SRq)TxUA2bA_{(Gc<#^}I-|q3v>geF4v*|Rx-CxA?EaeZ)A90`1 zGurYfTHD?5JbSO=oJzsi`aQTfx2D|HdO}eLG<+lNW5D|y`mFGJ+C4zh*Ya|Z;WvHk z(6i7E+yc=1@=p7MkS)2L0+*3`0q)2_|H1Lz3*l~G?yp^h6Tu^2=sJ~jg)ou}T zTg*>PLO6{CY1a9++H98lPSw}*&H0X9e3bfaJv?a>;cz_#>RK=T)nPS!xrIg*1J=4- zi7)9WH@_S&*4OorXlE2*R!YLBH+b7u9pDxDGPl*AT}6KTS5uCkE$}!gR0(y&n?If| zSYKUko~c*rIBWtt{CrA19&K`czjHx)`K^aOb^;u)qP*?TS}(-*LZkCvsiA_?~bN2 zxa?2zdLF1GcSfa;_`E(}iV*eo!Q}a@3-0nz7xHCfZ(db z&DP&<>u;4^owpA@DVtB(N7-AOpCPFA{A!r|4H@-+x%?K=lguk#E~LABj{nia-f6eC zj+PN_zEgO(uQl4@em%AowX5E7@&uxinlos-u3YJP?8miT>7c}m@`ngA+patFzg>1+ z#cfnwY;G(xI8P+23!K7EG#Y#Ua(Nt#njC#0t@ZmI?xE0{s;y7xId|SiR=R3-!jZWusG&$4vZMWaZ$qMexKAg1uxZEz8 zithL-SQE?@_K6fsV$EG9T;dX!`+nPaoNH;S(v-$7M0d;<}gDdENW~t z6O8%kex+x*`p=k0vOD!rZvEW*)0oBf(^igY6t~_+?oNKB8o%%IbcS!g*K06Fy%P$u zVe-p;dx-RLoPgPgXla(mNaKsNFQyaWktQqeQm5l}_*1=7t!o$f5>an1*zWr9dLx^a z)zRf{r*LLpe2f_y8NJonba$XJ->!vk@k)=A_PkTE`8tt7#BSj;)YoS>Gds(D zcN%1GpoWrQ&7Sb&!*31J1?ajIDF4LU_;7+vDF<8+Ng08|LaN;2Lq4=c4DDFsuwAZ4 z&Qb>yAy{LtN(uOM>^8`g{l3!Y`rn=&PLuiCcyE`=T7>3{P8BzDZUTVRY=ggF?6VH!_ z%F2|c_fL6zUboHr!`30jmHUhgH5=Vk`?bl<58ox1s}5}`Ov9_jR2??YY}0Q{QRqQ58PU8a}R7%KQ`F>09J%tCw214Qd7FA{2r?{iv?v{*~Vs5-n6zUR#@K0RbodQjwrAhyJ&qxa+FA8)Os^0b5ab#i#2NUP$J1TbC!@ zKK#^&%`-R8(pp1fX=bYRcy072$*L;uznLv~rp8YNZ^$9Fs-KcNMmY7TJnazum#vOV z_t=+1c||a3m8*eo{@{;t~ah9Vt9}WO2{GX!P|r#{o;Ktud=Q;S7J>nxRDA~ zYh%qqUOA;=oEu4PUAVa+NNm%R>x#OfuJysKQK1pV)ooqBr~Qwa?hwvu^j@yz|DIjr z-c&VHt{U6i2f%FXiNz#(_n9WbjP9tO#9E$wmLfv!@eF4Q6y}PR-Ir~mg&@a-9}0Vd zqgUW!TCEW43b7T?1KlBcO4~{<4>VZF)x3?VHbU@iXvHv(;5}Va(;U}sIw0O&)%(c2 zXYgEerkRC=E`Ay01==TiiUz6U-F<(#SQaG<5_+%2-#Tp_bAUbjA*Sj~;oeo9LYAj5 zjVHef8mBC6!%U0LSMZbupsg6OtSzP${-LNCol}!?OSk4<4x**;L*=pRx)~n)d^CqJ zKIqnhv~JYdB`$p3UQxZ8w_k*eB_0xfvG=cei>OACzFdZgycE4bV;+rzH8%w7qaQCk z-GQymY0rmExcyRKWeBcpE|BT``Q)CApO~zbMjrIylEyzGjz@nocUQXZmNhXCOr2R-sC;z zfvlb|cc^(Tp2AiFbr;m2<)Rv)6pU5(4m%Mw%xSNO&>HBQDfeGstgLdh52stpKV7Hz zwFD~_IMW|RF%w%4wX@+-RM4K(vb%G7{x>e{OTj(~!>%Vbzj*-}wDEgVsKKx_JpJSN zpn(mbKjB&2f*y&z-H15m#k2xya!6!s*Pn&yyWf2&%kHb!HdsG~5Ft#0wPTckqvKVz zQY84jI}Xhc9~FYx_D!GjTa#8F)a$PfP(qwV+E7inka8W-_4eVp{eUJ^(vmE>!;{|v zS@uWA)S2>>9=qMt;RuiC7?XUdgDpA?#MjF1new9n8kURUq`C>hHmzwH2mM)mC)Mt= z>>#OPOMaVJg`xU*ms6&+ap1QNEC&FmXHT}M7Qx381i2L0{1(0-zoVmGb3sED-Yf=; zU#$h=?Z_RX@wG3lX+>mTDTQ&4SZx;;%FaD=yZs@5OY--_dULa~RyJ(eAMQ{|L|l|I zidd({shqy=C7M+Ti}NDxJeK+Maw=I3Ekl<5eT6L}ODo5azHFhL4}>QFs0k4VD<}Jvz2#c>+36bbBMuw4*0`a|TO>YC{D_ z`*xfR=bw)$TvEo+;I&h2ygtp$&B6w4xQ_8em1^y`B`?|A`Jp4ET;Qucc3-F?&PRfK zR*+4**ffhYYsa9rcuZZmsdCZ5l)v@t3BFp`huRe8PD%px8h(Y!&`w@l?Hv!!a-(8V z2po>GFq9P2k1V2Pf{$y>eWOa;nsfUE%g_@p9rW5DNUeH5IO=#5a{oHju}o`|hJ=dO z=+Jy;U@5Y?&GAvQHh z=0l?1Nqh1Fr{-N(nJ%!)hM2^>ZX@r@3*8d{8vYWhmGMdoLW~PQO^Z^jo=T5imAY{R z4Xfv%^#~a|6LK$Kwb#=;1vb)-!wc`4o^mg4nY3|UVefo9J&`Kp4u!HYjo1;e-iXj* zXsl0w6IZ5v=yQQH1(o&d`$@2(M_$qpZkEa{9ZwA+(2JuU8i7#Oe|k_>nmjk@o~|`b zVoWp-h-7$AWYkgtAolF-<&(^}XY`nbOG61g;^gb7=nHJ?<<0SeeJ#}Pl_r6B-98DZ zEa*GZ)JgWCGwfXuH!2NxFtZTKQTV$=L+NUzEzR78W+)8b&rXDt!dYEdaJvt^J(8d? z%&46-6RB-Cei|G$uIwHWq#lj53X}QNS^SWP>HsR&4b25Yxeb=-|6lpAZBN?m*P+|A zcJ{lgORs6@!nLZAKjcj9tEVVqk3Hxt>1UBG%$Ig9wJBhUl(Ymt=J2Fd@UrUdnEE_M z{JX?0olK@G4W|MvGv7W4Km~(`UWWaGR{Z7*jqwJF_}Hq6CB-7jtBL{;wie z{9i>r6mCye|0SrUoy$`7_dGL~2E)wpW~ zq&<~t$2Ts$7;S(yd20~nQWM@quu#+-#u)v(;^W81Wbw_6>ha|hHBKYbirq^_RvIx* z-A;}(n&e1l0AU)$E-<~*$4xv_gUghhdO{3s_<{J zB;`jv%XpK_<9@!kMa`#75z2n!)z((i|6h?mo(Gw=ZYEd!fYN3Bk)erCr6|^-g?(Is z+}D?%c8%KUc*_)fxKM!iXfj6tN7RF<#eIxXE`j*(6yR&5Pr zTA-^VkcQ8W)s7p9DmR&$lG67cmCF=9Q#)Cb~2+J zL?FSj7LPY@z_cZbT&DR|LWUjr5sn@TE#gM&AYabbn))z>M5Z{P83Jtg6JfDl1;_`& z=YazIVp_)H={Odp*?|=20V5xGJ&G)>9dNga+2HH)-!AcP=yy{v-z3wtC0D&BTi}v$ zR+H5O*S@Q=TCm+z(^<}GuHUGS;<%`WGN zJ#ZlS4kiLA>3X?#{Zh0mBmXiz^Eb87GReSq1>DUZ4oNTdscJ+LBqEyK$#TPOFoon& z-Ke5DY){`bTaQ+rSp4)u_Y+lA0VjgtGSw7_PSnBn{g#l@@MO@{6=@g?Mz2`hmqy2x z!m$0bMY5gNq%Ez4fk(u>3zFDa9{?HvSz1exe5Y9|{Zfmb$;MjY6hn&OBBXe}k-ojaZXZo7ocHRvU8hm#lC z*2|@?Kag>6<8J4soDo4w)Ylxi%v6qm9-1N%AuyXEb($mAinSgNh~`ttFk7~{7Ws49 z5Xf+!xn4VY7)}geWHW{pw1G4-?&U&Df369`vJQXFBWtaR&8Iqyn9i-q6s8g$T-}MY zSs-wV|5wezH;tTDgz^QKa&(X{oalB)Jr$YGfkFVICMI1D{+fOr!E|UGRlEt155k0E zoMNxWYnTY3({RZ=<$-m@j%c+UWf{XlpYboEux_QJUE%iqC~d|62neME(CT^zm*&<_ zCz`6Nnyy&JC;+j~z;l^!*1ioqAKGWnccuO7c_JqHR`}AO_E8$}c}YY#fA*<^pC2QH zDdAGN^uz$U5H-W0(6yKSCA6_tYJx#@MP?!FsD~__AeCNK8}?Obi_+g6&7zzoPgvnI zWbvI#ZK(H34Al#-&kz#N4?Jd8K0}?=H0P?fRuRfTmuy%!nb6YLS&ANwv>Q#K>KIlG zJwRkKOef3ySH`6~*r6EZoF~d7O!X`bRNC3cm4^rh7=kD-*F1nQW6*JfldNGDjEIUV zi82eRy?qoOr(`%*AzRZ#U4~L6P|xbds>}N%x&Bh&3MC|+NUFAqjVeI^8szX=r@l)i z%Y>8BQg-$LhLf+Mm`t*2RfO*RGbs+XcFBw%T}m|ak_zwUs|mA}1a1c(@lf+XUZw3qfj zlZ{gHMdfYyaPs3r%Fs#+NS&B%Z-jJC;aDvxADk}$l4A|&}=z%TcG6{Nj* z)H;30N4Cb{_7?zvT=6H3xxnnR#5jk+!sZ&>6z~U-k9|5pzp<36wn7>AI`o=e7tjh+F*)f&t9%V;Yt6TuU>l9bnOEjaaESM*`zwS zzedCNf!OI=rZkZ{6DsmN&FU&aJVU#4R4Na~ah!MRxIV{x1p&?JL%S+?ps!RdS{C$Ec)GOt`i)(Ig~MCcA3T7sW8D&XVv+v z^ALPI26gmLP{;f7Ebyds?<@b6EURVhkpD#r_wd~YeWGkk9r;siY)`#ZJ&(}`=gxV7 zlAz+vd4cUUa8+Y?>Bt^|KfV6MrZih{sWbO;I1E?VKOmnul|Ju<>JMh5siTWi1o+ig+q-s*#6_r#N}Xlae0}x zXoi7uD`)t7cI|I$&!ce2{i%o5?=B#CH#cD0jzrzE^rtqPi7 zDuq8(OWc!+3v^e+Dc1}-@<{Z|&$F_E_n6b)2bH2|>B?wcyeY3d!HK4RLWR|&Sd^+2 zvIE2g1XaeSQ!;DCuZVF#do3E4BL)V*NN!)m7sPXDC}Z%DAt50ZN`?Qejs`M@e*YBM z3aTHIadRE~zYq`}i`^9_RPPo_`>LbTa#Ibciy^LgFkPB4H2wzuY=%K)O4d@Ejweqq zRqJ|{dVG8wtQg!Rz?1w{uG+$-x5!^I8Vl{e><@EdG8tH66`jl{kAL4Dh$r++gKWr- z7ZF7K%d3`>p2(8wxBOW*XpBILShW_sAthYjX`XltnT?@x(7&HT6)``EWops#6OGdd z1`@|WP+1GS*`cD9pm3xJ-UHTQe*K8&XNn2ZZQS?Ri%n%#f?^P^rqm)5fMbiu)cRu| z?iB`ky1HXD|~1Ul2< zEtoy^^!7(yfDuaU&tijH1(9g67yYx&KQFysv7yDGBIAA=Q(hh?_isHELQhK$e>+Wu zmTT~hO1*~jcGN#Q5K^JuG@7E__}c~Ay4)@c%mKmLqz;f{U^XHYujK|UrU`)Jv|+4V z7wmu^P^W-1FkM95rFlE%dW=%OD3Yh-UmEMrP-POZ+KniI{-j|EWG(6=*)uAT%!bCl z=J|yTNX(I%AzM1lWS*Y5=&ppEz#*x_!{~N`T+Ka1O1VTgh}Wh+yzv5P(A|2gxW;hd z@gDe&h`mAZw)=VFnQ!dpz>U7@T#CiJI{_LEEM0V%IC+vcE@nLL1K;ech zrJ_Pq@I{2?9X~Q;-a_n^6Ijk8-)~;u`WYMpIchl)Ff8?%nzP4;CsO-#1->GOg#2zq zAFGmnfZnu#4vsXix9Fb(XmUBmQvkZjOKa^hXc5C-IJY0&RR_D>u~QR@VfTQc%Va}o zjg#bGT=M`BX4+DrQcL&Wj)OoEaskUuBV*-(F3reY!i=Yvzxq~HXDTUD4fXTCMR{GL zPt0l@p&L*a6A;P_QgkX*eTFtN8LtZDsljfwC4|3ueN+tqIBAW^1btroWe$nATm{#` zJo}ua=ORZ9$y9v%+lPk~E$K zy>{Qe$=D4?7Ga%HI_D3O2DlPUv|)HEL=1`dJ(v*$_@6mSGg_Jxf`XZ2+5;VwAwAgh zG_0S4{>%n&|NY0cwwXWYD8D_Dq%qU>MZFlfEgao_r-w+k!dfuNXR!aQ(wXLrHeJO0!rB{MepY>mJA7zJ(}k{GSkB%k^^_{BAv z-G;W!v6NstOj%#!w0`vDc5JRRFd<%t4$#;m5HP@!G@B~z91fL5PVz{f#!B835s-Pt`R7*kOLF<4^`uizlbCbrdU#_R5FJk&rVPbVJRT8^HRtF9ag-GW-K)MqD+BX0P8cKyiBtdR*Q~-ha4`U! zz=t8qz*WgVOZXpCPlXuucnviSIOLyIP!Qq!bT?3?(Ha>~^t2YpNqmyr|3SxQxu1Fy z`#cA~@ZU+j3<#jxY)0-{!Hrrah?}8$fT@Acz0qRKYSQhpc#I6Y0k8Ry;GkjBMMR27 zyTUTeR1;9(9?s`**OW>s0uc16y*S&jlfT`PLaCyfp-GW8U@@AyY=mp$-aiUq?AvX;fEe|?AROqG6moea1vYxH4jnV#^Fe3N<}iPk8F~%w5Q6w( zl!5sL+5Ak{#jcPWB`|6y@*6f-%(y%mSdd&T7bpZX+Q|-~p+jwOs7mx66~qbEM}!9_ zOm~S8|8G|B91cTcJz1vxca6{CCeFZsTurLBKUBYRNjrSKcA_J0cqaG(8rl!EAcKCWnaSRAsfK_53ENJ={Hkdkzs+1bjQ|bXb+rDa zkgL7wf^SJGTgsJ zr}`HqngbGfZ?e}H%Ndca9YF6&Yy;mygZI;IkgNv|gCz11fPvZ>Q&VevE@sh$Bhx}v zqwo(7qK4V_R3ym&WAnt%s2RDa$`v9%t|ji=Sz*2oMw~iE8AiYOr!Q--fXk&-c&`Y; zt{vb18z>J!MnNp>nh>w!%>M@{?fwIl6W>7TcV!|pwXfN2{PWjk!P0u9ZWNs(sMc-` zufIJ){a?pQLy9y=4bya+t8T)pG)V1wvf4bCe%R7;s2|4`=X4O@8uS#rPb+`^pHTUO zZRr~-1*{v85;D-GQwflz*YLaOUe@S&qJUW~`pLg8&dZFu`VUlY;{ET1N(1=X8pY^*6^0ZlYYXFT%IM0Z`<6zvwu*&OOiaus>pukkB+FG` z$PFMjZJmB6Dc)Za^c&BdGw;^ch;7!Nv|D})lupibXD`0?6^lQs zm%PGWpiUn=zm6Xoo4D8D6*)g4=wCi3CT3*Gtl8Or-&L=5oa9z5Y5#;ucEKyo$cVxf zP#@`A;w3B{9_(}2llObgW&$K^X%spJAGq-7X2>-)5!$usd0>4$@5TH8LAE1HSI8)A zKB+IysnrsbnI-p1xhKdaCi<%vQ=y?FLuBOjHgYeCxOxkgQ$!*zF0SCYekM!!)Yy|E z@|;==1S$EbY7^i6`n*Pp&C3&^A&_mGyEvIQT)zChmuhg*cH)NE_1XHiv2^Rjsu#3!WDCCt@Pq(v;kL;#K zD{bwsg5+)OUA>A%i0S(^H%3N~Ua`(+`|sKGP5M8RsmfaG>hkk7%xrrr=<(QBP)P;7 zfK@|dX~p3b~ju<-~Aato$BZ6?V7c=b4I{9TsQHS@Q1sqO4x@kH;!{0|33o@5Ij zcbZOCyZRU4J1pYmW$MR6`oQJZ=8uZ1C9{4VJiYg8k(bcBzLigL!i((T&rh3=M(?&Q z8=j|GR--KKJ@f3GD8Xp=%FOqflo)~dI$+qBIm6{#(PTU+36Dl&lg}Ts8J-vUk1r7! z!3WRXCvP*4nJh6ynM<~aUumT0gIm4H9XA63{(H!Sr1T>l4;Mb^>BJN^aAB>KUm#CN zm}(c)#-(Zx)i%4;Hg@)18u~-n6RGQl;i!vQ2jqUO6qoDTv>mzS9ac0JJ|DpZp|q2? zO3;iyfOklpKlFC`etN)LD)+S`O8wxM0JFVUw3Bvvd-o`rSC#IPrZ>zY;FA!V{(VVZ z{F`>l&=ma`F|5Sfor{Mq1+k`?(C_nQD2s7YkRjXH@rx*Csf+7lH_6MIO@Ey|@!YhWuWP?r(_cHx|#FJYmoTT&q+5 z3_ll(D45TuW&M?tlS|)`Wl6N5JfFE>F1!rsH^K>e$u&L`&VESs$=Di%WYMSA-WgkOxkyR_CONq7`&5!XX)!^ zO)*qXGBPkd_CWqv_=HBVE^w}AXh1}igOOIpmR@xoVE#KPH&Y(2FXH&^v8I8QAco!gtN&xt8}$ozh-CK4UX%x zR8Q&uGv?jZ&k=vF#YG*>Ppw|Xa*vtR(RY!R-{?itTfcm}A>Jzp(#tzhd&)+~xP} zGe7qJOrPjR&BL4Is`qrxpQ8C1O}LsR@2n}UUKCGScg3q&t;l0LlI!03^gH3B*Pu`5 z3)*FlFzOnw?=OGu7y9-(GV$tDmm2jajx2lj_t~v`!@A_{8DI35&*Li&!GF%Z=$UKk zted9Z6PwHm^xN?LweRp3>svRD>1;i>{|&!FWxP$Je8U^GadT<0V#)OKHIEG|nXS^! z5QjAjN@jBF(bnhMqPexqn%-}?ckP2;4Lqg~oYS;tz6!+$SJ*vnap4)+w>eiHZ&t=` zXJY1rMu&{LoUHc3ck<(I1=k$wzB!wQsQQey(xFW{=nrS$lB)d|`fHLflO|PiSFdM#p<^E4+6~GmFM|29|KQzUkhsTh{Jd7F8~Dw`r2M z|I+HG{@mJD+xo-Gl8?i8t!!1IZQ1fIgEKpRvd#J+$EMYjy7();yXO5o!F;o`d7`t^ z((*3t+m-qhan#?~fBb_+u5UXRe%>IlX|=8YmFeGj&7y_D-O7|dz0q{uoa8$rFHh~Y zbocS^%gzi+tQt|F&CNos^Yr^T+oE*c0e-7vc9q{#sABBPo=&URRoe6Tgl$-$_v2Yz z6ldq1>N{Y4l|?_cZ)|)pYxc4&dRGpyU2R`%#?^{_Di-pnaB1qRN>6^|p8Rst@oiTs zByDT%a{G%Vk? z1Ds#lf)fX;g+4|=| z%Im$~rl-NUrRKuJn&;wEOtyyCdZzr`t?rak0sqw-eY(Nrg+1HYwtg0M=!9KTuS!|E zbnd*#`Dk>+kp(Lchb>C1d}OQh?s12s>xLC*9Bndb*y&0ebLR_P>gavP{CM!gwH0ox zy*|59#lXPfi{6h)h}qk0-SXl;zke{!@_ggwSARw&Fa5M^@XXpa;i2JW@`smby|jCw z<=bWsDSPLnMY*Y8+IrP&Gj3|Fx8Fuv{x$je{1crQR&j|=DI3^mMN#+9TPpkB zE419PxI>dQvm+Y49~(XSZTbFJrspzgI(_ZFy6sPG4w$;Rd+WVLLR@d$?_cw*;^o&y z!(Uh&xF2HVeGIKg_TC)W$nzTz2Zb(5}{!M_Cs=GI{Fox^?eYL!wT* zM`ew73TSR=S~q-P(&6@f!(VJVwg2YXYB@goc!Yhju^g#*l_~7Ab-@J|p|! znA&zY7Cg7Z+r!QGZ~lJdm?GPc$+gNF*K1+ft&nrk5`~H<=E*c=eHNGcPj)wM)6?F} zdXj%*m$9#1Lcc8N9$MpRVlj_PnZ1i{um3Z`Z+^K&iw@75a4)k@^N6eAb{85Cbed*T z=t6$S+13LG45;B$=uOL!U79@%F8?ai&TZvvm-cKvx@bP{4uMB@-8^n-?CITa z3VKbho;QCpk4ZbO*?aD};?$^UjB!c3;;Zcct6$1&VBs7EN@g>i8nt%i(8rA|H?DK& zp0!Vd0%wexEv)}G*R=5k0*-VlalX&RafQxjGwxY@qjT3oH%bkjvux?c%kN(%c007Z zwoldIN!fyz#k84R=gHgdzMWfiuhr5lTfJrrD}H)fVC-tMNm-V(DehXOob$o`&%OqY z=pIyHPSt%QSJyxHqUe)(9y{v0RO(V~UG(xy5Es_u$8)d^|SR|8TqTQC6C+KDBq)C?~#R9xmq^6(AqC>PL13}7dNfp zS!ZT`=iOG;xz~K`{d?2R5&7b3mnzY;MCnS-?W3m8YP_bfQ^J)*=Ssb|^d7ji^&0yp zZL+UCbST85ai1o2xB7bYnK!dRyXlQC&g^bhZ*i&0GtXq*(x|W7grg%o&ROhfKdQl< zrKe6+{_x~|_`J+5~KSaP6;cjcc`Uq_XV__U;Q;T$g;OzL{r*y2fNBj?-i zw@g}EEVt=KYn!lO>*e7M#(wZIQYQyhz=*I-=F4q zbwsthN6W|l>d|yirtWbTcb1%fkk`BP;JilrPL3S1`0IZTtE}%`GQCzYQ}?yoD>wXM zx`g_}Pd>*AhdI97JFx7Yz6-wGDSxlu2Ad+(FIy>mVoRsIuaDI6+LmIzB74v37S+!l zxNkFM%B~uo+uYmU`>=JA&5(h+-MyWb9KSRn*R_UK%5}NZ|_dD9xN(UbE`$mO|jOjz{(vyLUs?Klx$^S#-VQA@o?zbJa>*cWrFABop* z9o2W)z?LFm33eu33r&kC@zT-5*QveL8^7H%3whpqHLgfym*a)iE8(bBCNC>3bM3os zS(l2j_S?6g_?T(%!Nj7EzC81syuD7AJ=yLB+f5ngx#7uln_0(qEqYb)hiW+t-DOqb z*zK_H9^YP%EZ8+P>3GVH*e!7(rN%~%`4CsuI>(`buL3&HxUuSFwxO|gW*pwVroHEr zmW{{SwIA0h#p6<@QG+U7-qo)7qYLjNP8K*nZCbV%%flu|itjJ*r0o5DofJ{C^FE&$ z8~LQ`agVFPlaj+-YlkM;c^EBvH2-Yzgtkl1*Ur?`;n9%kMty6PIoWN|vli!FgR0)B zy11N0p0Y_HP9;J{t{geFuDi#sLJq@h9E`s0jkD>oqt)kb5p8q6?c&}jz_s?F4vPoP zitK%)ZS3b>hjTg~I^Lk8_tUd+Ht#z;%=4`3>5wwHCYnwc*PQb%#y>dKV)>9}XZE`E zE`GzUXRhBn3b;-=68fvIM}^1sOB`Gt_%FS3Q@K3ac8Du})nj)xT`|5RQ>X%ZyT<+2{8h_b1Fc zJiORv`1CDFr~5oFG}o$0rg^(uJZ3$xXlUl>aaa$g>$bh-{nDl9RJ-rVv4^}iW&P4~XW>`p;LFJD077Db%av zGSw>iea)k*W@}7WCAP~lvFz#D4=**^Iq=S~-HO$}6|)P@e{x~q_MuMoV$0Ht{3y$4T|ZFmqoP;F8bwFeuoh6dgcQia@VcDpyao} z4uQk`JUf-?;$E`+v8b{=Cf(Uq@588}F+uLX9PMWhnxC}z#`Qj#9u+8TeRXBSOZKB& zzWU`k@%?=MM!7~c9ayQ=*v?Ls6y>LH+i>dk6l>>9Zl_1(JyyMinO$tu)J86?P8I*$ zuIsubOGCFvf}HVSIdK$6{{VR?ds-@#)jb7VR6)RJc~l zVl=kYvt1_B*`;#FIG-z#?u}M-^1U`~UdbC~$K2wk`z~7lWq0J7py!^xh1V$_PCfA> zXTJWoCJtTRE+t=wnXf{qrLyO)Ce~e+K68wz(r@6&y@l7`I)1r|%ah@wEIbOj)J+^@ z{GW4deH9}UOoKn3_$mi4Vg2ve$$(n3y>3^|cxnupe%=?tN zc;|yN^PI`KY)$0886RxMJcv))IXO)pO(-9C#8u9m+jeue`K2p1-DiH(((7iEI?a{q z<%>Z!)DxiTx&6)!I+?xv>@N4}*P3`gkLR}`GoFtup5utixu~G1xvj1|pIma(?9<(@ zc$GapDEvgXkDX`S9eJULQ|l^`y;nOnJXF?abiNJ)t8aMm%6##*X93=iLb^V^-mIyj zXvZ>jPG6tjZdh0m*TJ7kkG(nnQ__ml7qXa+iuN6sd+~(gw)e{AxnOW>T?s9H@))X zzjcc}PggD4G;n!^C5cUHH~y4+Lio!1zq5Mv+LNR0x?&z%7hf3%9WIjSs_h9v5j-fw3KRP;j#h9ClrzR5~$FBKxVdvVBMbj?4<~h4eJXCR3z~u?!za*}V$#!Y(v$^H09KLnU-Sp$n16k}oKeTolo0uix z*_29uRw|B|Tp#Ckz-xu^wbgx{^NgKxCg(P%jirrOnv}mY>`LD~f7V?8(QsGz&6J#p zRlKg>w>vl@=zYhJkLoNw;_Y?yl~w)U6Q&gXGk$ZXum$tI^JM>F=hc7V^NQyyB-}1h zzGJc9PhYJ1^~d&fv!I|X$?xKR{hs{&xA_#Cu&YL&;*aG#y=k`7usNqrT9s?!_cd(n zpjYdL4OsNlu`abJ5B+KW>g4b1pZ=6EKYP;Z?B1d4;^rJEyx~AX{(9LJhc7z^MUKzf ztn05lE>nEtat_UXF6%y@OPzvBd73`z_TF!Pnb+oJES|2MS^JrLK~({}z`dZcM}4PX zVbAK0-1zMDws_BPpQCm^+Kc-pk9b+O3(&xQnzn3%^Upux_`&GJo}TRO+f zqEGVHOJ4bWg42fhAKmums`B)t)fkIUdj}L5kZ@$fiNQ;IeOtTOf3vOsfGUr=4f^)% z{Gp>q6H5&no%7n{vtxWq&Pe!^eE0i@w*AA$U$D(Qyi&(@u?0T2O8mB?#{`oY`^P;x zwi`Wa*zLfPb-&-~vpC^r7f+9wVTXIIc=uu$y^=>p+7_7}xjAxxca_;A60AEL6+YE# z#=Wy%L!Z_8V_DlHN3fg6zOAt_KPC;@^W#|+XX-b%k1qAS%$g@h8+t^R@E=~H>G7Ep zBQFjeQpI*~jOnlyv&^nF8S66PT#0s@7e9zjo_+55tE<1NEMC%4h8q z)%!ub`FJM(2B@Vh2ZM zzil+OKuRsMuB{5JsPTB=vlf9>er(v_xT5c*M|Tr%M|M22Khgfgs>Wp}4xDqW>Yob% ziW473AG|oY=*izfJKMc^_wGsacjYGk{25+)^5n@>fjp5akn1=9ni6ZPFfw}hr`EL- zr@w#y-rH*Lr{9CG2akU6F5y~f=jnO#e$97n=EWj*+Y<(S&Sg<>%A?b{Gp{-{cj?=r zZ|&cfnf&eI;qgaC7k%<-d#l6cr@k!b7?oo}la%+-Gmi|iwjMV*DBlTH60mxB*1To* zackO-^PfDqV&ISa?^@-ISvt1ztalSPXWiW7+p4=JKOYs{F|~_txgQ-1Cf`i4{=y^z z&&%e8;tvikI&c2YlXr&=%CX`{U`fwBzvEiCg>6U)pXuLsc}O1pf8xfJ&ZFmAy!aV+ z{qFc10%2ECLxS#pnv2S1JtxL*#=G!#&zZ}k8-M6lMuw-M$Ya6rmcj>p( zd)?b-4#TR~D8Khxz{^3gd2<{p(B}2);NQ(IrC1ed`LmNx=awP2TDL0pJz;msyYg0F zmo&3?uxsToFpq7fs;z?;$Gkdjv}t9RC&_K6TyN>T=g|3)4rgjQPt4!*!_VN~l>*z| z>~XZR_jSjfo~{Ai2bmnHaPmfvCcA5Foa$S|(m&L@`$h9t{+13c%QhP|aod@Djj!f! zI{wAL94+q$nOrH8?`)0p4I&c~pB;G>w65~}8cS;0xBS?3P1KP|4dYDq?}&PL=FQPK zyC0+du9pm`_q&C&eYdNnzgt9|2+X!-{9DsnrH&1CO1^irZIjT67R5pa=WN$_ezuB9 z{Y~coJYDB!j7_GO{nrhexhiX;`z7n=+_ciXddy_s)mvZLo!n!)w8DsOzB{6>T&tC( z!mV42@Ar*!c)j;|!<8Ew)V$u`dC7XKqYY~spK-6c)2Lsc$0K+6Pi_36QqOCXy6paO z%slFA&3^q4y3IZB*yf&pjoy2oncXSA@$1?2Ff&(4P)f$Cb^W-)Dg9f7QoltLQj+(BcXUcgF15T{P2~V`;ZHt6-91 z(x+PTIO_AUOJNG?-_e!deXSBFdUuW=Yh;qyqM%(TybwdMH8Dv^q}DA(R)rCTtd;UV z)ITFddHSm{EjXyI6bkiM#*V!bbOO=7mv zK{!w$DPO6Y&rMk<|0%;9*=Knd3${Os%+xz(iiXWye0{0+@=*WJ%-B(16b)T`d|X;9 z6r8=%+Dzf^>f=lO84s1c3D3T2m8!~bqwK9!UyW4$O%;A_e$8DeMd@D|1JzAcPyKvc zU6uVw5&g4Q8fp3WrLv>oU1evL|5*Msb6UfHK>!3m00ck)1V8`;44;4zRWYkdKBn&b zU+Z&Ag{2CD+kU!Y3>6_s!}|O%)1=1wd{ipxb6-y{>M5tGVoEc*BbV1z7xhSZxstKF zy;Hm0KE`fXtaiIgj9rT@Yy~cC&rq&(?c3zG4?0{4`yfLZTZj_`KmY_l00ck)1oT0` zfS*%zK0$94H12~&r(z!@xB7f~Mbzi|80YW-0w4eaAOHd&00M?Wz<}#>qboY<^D!Bq zK5tzC^|_(UCBz8=AOHd&00JNY0{S3e!1ej6`#S3Lu^FH~FJpuHTp!~cK0p8jKmY_l z00cn5PzdPjoPX6*N>UbKS^N(Vh)OfxnHT5}r&i@5--u}a0x?iGhahLA&%kRgu z+ZAN&7G2VAXUEvpx~JWa3qYQ)4DFo%hjQ2l$#WzjDi8nx5C8!X009t48v+LWoWkuZ zy;ab-4+_fw&nXU-MSY$&BOhKt00ck)1V8`;KtP@Z47fgjX;eeSRAYTUE(6r(;bl;t z%X8)+Di8nx5C8!X009t48v+JgpND7HQJ+u90QGsx(x}hVX5_;w2!H?xfB*=900_vF zfWFT87b;8_%b}ufrr|mN*-VofKR=(Ciu#;A=iih$Z-4u__Vf0g7`sQGwcCX9`Ws~W!qCq7mnemOkW7aX!U6#h009sH0T2LzG$CNX&nc>w)$yES zQY!XAa{GP$Z%Uv(Pm_TUryu|VAOHd&00JN&QvwEDpI@%3qduRU0qXM@Yt-j5ojM2$ z1V8`;KmY_l00h#6fC1O%1MBLj&%-l7eLm3&^?8~Md^iOG5C8!X009sH0htoe*ExTq zW^}O}D(Yt%p7S5ZG^z2N|I}2}=j=KEjm&xb!v*MmiMpk}jA!glm)34~i?Qovr`_&7 zW0%!QyPY}!nZ7WzbN(%gV;>~bp@gtN00ck)1V8`;Kp;&B81Qq7LjLqtLE}CsA{F}} zxt;SbRt)udnhbn61pyEM0T2KI5C8$05-{NUJf^db`g}$PsLx*(L47XMse`aU00ck) z1V8`;Kp;&B7;t^wy5IkU`g~7e)aPk3@Zl5$KmY_l00ck)1Y}A;U+4T^4x@|ZP*FeA z@SK0=;X3N`S*iH^oIU4n)|~E0R1>-pQMc5W){NZ_Kkasoj9rUP+U>jb6AOHd&00JNY0%=0PfS*$sO`^978qfKsW*;QCbN(I$QJ<&D zz=u;1009sH0T2KI5RfSW1Fp|k&DK$$&rZd23c1zig$kfPm+90&SReobAOHd&00JP8 zCIk$)K6hEBqduRL0qXOo`B0yy$-swG5C8!X009sH0T7TW0ezkGzZ^vu%b}uvrr|k% zw@o_g^SP<0&)IYSfy{aP*+c0@MBP$fj%Dl?P0(()kg=;ZOS@e(V|ROrb~|+dGJRoa z=lpl%#Xd-;LkVGl00@8p2!H?xfIylMFyQADFZa+}1&!zY=cQsFB)4-!qw=6WPm_TU zryu|VAOHd&00JN&QvwEDpNAjTQJ>Gx0QI?BZq(;8ojM2$1V8`;KmY_l00h#6fC1O% zHs^KJ=L<4GeV#8D>hm-i_;3mWAOHd&00JNY0x~6_uXFw}x9MUzRMgKjJm+8aj*j{~ zG8OeXd(Qt9bKZW~2D%YZx73#p8N0CE+U>qEb|vDq+gW6=Npz)ml!c^>osA#=J(jpthyr{eQ- z_MCrt=DdC9o7&IYJ2Q5@61Cg4V(hZM*KQZY*hT%+ZYRPlyGuhm=btMZ_Cc~6LNLc^VFXxCQ|b009sH0T2KI*%2_{ z`n+`s9rgLr3{am(nV~+H-K0T4AOHd&00JNY0w9ov1Pr)7|6WN)eZDLM)aM~tP@kva z@P}&<009sH0T2KI5Re@KeVy|UuSFNjp`sq9;W>Y!+B)j<<*BI8*>nC=nDh2-S?ESY z-BMq!Wb9hx)o!!3m00ck)1VBKh1Pr)7cWI%c zK3|yu>hs$ssLy3Obr2Q^fB*=900@8p2&4%C1Fp{>wbN0buQGu8e2|g$+j_np>T~Uc z@Gb~|00@8p2!H?xWGn*uI_E#I7hNoeitwc2IscbTlN!&rtWHIJ&Ytss!JN0RT9fXV zs9W5nC;hTkBkgtt8N1tF+U@KZyJ2m$+i?NN^Od2U^B;Gmwg9AZP$~a8&|eg$%vXE? z0T2KI5C8!X009ul7z7OXIYoE~y;ab-4_cFoeURMF`FmbQeV#F98hQZ&AOHd&00JNY z0)I!qfa`OcFdg;zS_7!hJLxz_^!6g^^S>L(umS-P009sH0T2Lzj6uMF>+{nQI_mRv z22h{()lr|1yMX#UW6U)40t7$+1V8`;KmY{(j)1<-`L|v~7t85*&i^vgq{j0t>r+vm zv*-MqGUx3J^`!fyiDoCpu0*hQyHLjN@EGlOvlzS1)3n=ZibpQGp`G*hJdb^lT*eOK z009sH0T2KI5CDPnAYj1HDF&{iw+b5fK^s!B50cwC|H9``pQpz>KpP+c0w4eaAOHd& zAQu7#T%YIKp`$+EXaMzjJ00hUV$YyHm&;s193TJ!AOHd&00JP89s~@yKHqUrM|~b; z0QI@2j`}?4H0ty8mmd0EygZtyLP+xjGfy7?RJ{tk&A9<=lq>cVIL%yv4c23 z00ck)1V8`;Kp;H`81Qq7*4OE+g2sK&=2Yy1?G>*^q2=|0|Y<-1V8`;KmY{f zLcoCQ^Y0IJ)aP3apgwP?;~dfP2!H?xfB*=900^W90Ryhj7roX|pKmpQ z`rKYeeLnjb>htuN2WSHXKmY_l00ck)1mr?MU+4U7zSG5WI-c`i#Wbn$e9N{})aUFu ze={%o4!t}<_e<0LvS#c)T-9#p$k@$J&~E3=*i}u^Zl@_8x#)&=&cFRp?1SVob`S>$ zfB*=900@8p2&4yrP@^}O!jugiUHRSDDsiHB=lHQkCYdb?+I7MUF$7x^laxe-5txa= zXc;eH_Paa}#qDa}zZ!YFgB^f4>eO zZz69ZZ~py!K~4L=&lfNQv-DVFFwQW}FwW$e%P==FH!(LcH?iOR-`4>!1GDs4J2B2M z&eD0Dt;&AXF0X5gnclZrlx$h!Mdr?7E#~K|=9b06Jjrt4!zT`PR@~27+;QEnH}!UW zzB{7-yKh;IP0cK=oyRJS{^dodh4G~pJRflJX5soS|LBVTc8ff%x(pls)#-xX0(74C zbV$#wAM)s-D!S$?dO+*&M-d0ZNabwnrNv00JNY z0w4eaARre423(&v@z7D9Z%@T7{v{suxm@N7;s5~<009sH0T2Lz^dMls_4)Hw zI_mT23{amRjzfK(9`gWgfB*=900@8p2!McG2!OdA@j-ZxSV4h-qhqi=VGDf9hCjNYw#kG`FQyVKuHy=SH|YZLWd5qx<*(ZRs@GV?uD&zfe00JNY0w4eaG9zHX^||e+{|EJXnS-d$Wj19H4hVn%2!H?xfB*=jDFFkn&o55V zQJ?QJfX~l6DGym``FDIj>T@l4@D>Pw00@8p2!H?xWH`6s^&Ytr>#hkad>Pq)Z)GhVpL&mOLkaoLojNQo*+U+d8Y1cg`YqwJeAk!Cy zcFuox4E8}X9ZCob1V8`;KmY_l00h#6fB`?J7`lqyDrnpX{g;Y;klfDsx8H~QJWU2Z zoPq!dfB*=900@A9ObHlpeO_Rzj{1DB0o3Q-I?fSg-;4TOrc(!DfdB}A00@8p2!KGE z5HR5SeD6LT_4z&nsL$?spC2%Q`druV^S>XB`aDerKAeI82!H?xfB*=9fJ_PK>zu#s7rIyu74&-rg) zn$&o{?Z7kWIB`(76^a<2!H?xfB*=j2>}CsPGMVB$8(Cqsn`d}?VSJADAea^ zGVtLP1V8`;KmY_l00d-8z<}%Xi%vS~^CKCcKKI{<`dp?{2VsE#2!H?xfB*=9K$;LR z;QD+(QyumBQ3I&Yb^Sj7uj^5tr^&#FQxE_F5C8!X009t?DFJ<*^H1@ki{*4Y=RdTi zj{5vqD(Z9goPSg1ynS3rx)DvcuM=Z;(pI}&C}Y>Nj&{3Qj9r!{+U+#OBNyG!&iNl% zhkcM-#tz~D0T2KI5C8!X0D<%%V8G8Q3UsEo3L1aj`FJY!L2^6iKVvQG^YoYpXafX5 z00ck)1V8`;+`*Rb=2o444^*u*75uN>#ae3E|?RM`OyLUsh+i8kNF1n$e^WVG@ z`yjcD9mD|wAOHd&00JNY0_j1(fS*&O%%Zmn8qfKkNyR=$Zs+`mu0VaB9`gWgfB*=9 z00@8p2!McG2pDjEzGA74`uwZ`)aPD0&JmSgj{00Ka|LmL00@8p2!H?xfIxZ>FyQ*U z{ze`3`FR7V&j;wJ&tsONK2MK%fHpt?1V8`;KmY_lKrRIIb#uP4UP@H?(v96PI8g zB$u&+I6wddKmY_l00clFJqQ@^bBgEj^j1ORIsZ$k*ayk&oPUeOsL#`59-s{n009sH z0T2KI5ReN21Fp{}pVLvFUon9Cyn~K&M4uL-K9|c}K^!0e0w4eaAOHd&kRAjKxIQm; zOGkZv)d1@APCDxIxsj;P(_4G;hU5C8!X009t?3juwd^WU3D7t85*&foT_j{5vs zD(Z9goPQv5-hSv#x)DwHYb;|oCQiHELdMSOtaiI-#xCxLb~{b+$VE4_bN(F{U>_ux zv4c2300ck)1V8`;Kp;H`81Qq7i|^^Jg2r?H*Hf_%lG{1||E{7wPmg(kHb4LbKmY_l z00cllE(8p?J|FN)M}2<70P1sHzt4ZlnYx0ZqTGxq|2fcK6sF8qd;tLv009sH0T2KI z5Xcw=47fheX-0pvtnu^nn+8yychPaqzwBw$=NV(Bp%)+k0w4eaAOHd&@OK3Cb6F>XV3YcV$R!le60Pv{X@pC=R56o-x#|rKegLg`qKApLuTQ* zmcP53^06|sbN(MsVjm=*(St}p00ck)1V8`;Kp^c281Qq7z1BMRLAO(}50cwC|JW0# z&(nSupal>B0T2KI5C8!XkPiU^uFnH1>8Q`|7(jjQt>YX~|Kq67r^h@% z8z2AzAOHd&00JN&7Xk)cpVx1vqdvc%isuyRU7t79agHb?9`(6g<_h8f0T2KI5C8!X z0D<%%V8HcxLQfs_`2z!}&+T>8=Pq%m&(mWbpbZcJ0T2KI5C8!XkP88Qo%0_MOc%@P zc+USh)1=1pEeWZp&)IYSQ<(GiwhichX}Vu48M~TZ+U@o+b~oE-x4XpH4eg=bPE$N` z(GBgKfA(1HgXA)H5C;f=00@8p2!H?xqz3^5eoirYEWK6GxDR@mihWRepCi)soZ|LD z)aU6j56}h(fB*=900@8p2*`zi0oUi{BK{xL=j#rjK9|c}K^!0e0w4eaAOHd&kRAj= zjow@eQ#N#T<#%7J#EIUWKnrq!K%KV2(ZT04(b7#W+I{nLv9rvB%)P5r$(|G&9mq6n*L zT&{=L@zE`^{bN}4x5pO=E3|7@m$;3Y{0(u9-zxXHbKDx0Hs5w&>fSdiZa<#iMfEM#mVwE`Ok0=K2Wr!5nc9qL{48#OUOHoK z8M-}YT%}xk83l`szjXZ9z~bK;Tdi+rmWUZIp4M7cJKl`PD*2a*fyZoBzOmMMC$*@S zG%Nd-hmM}l^53bHKXXu)%ZW)>s)P-Wt$#4c_s1KLM?SskekxkSMGwoRshLHdQ;!C< z9$vi9Ez^Hqe3eU#UGs zd9JK}mRy_Y{fYm$e8;~t&bjNqth2F7VwL>M^-fFr(DD{nT>#uH(jL+hB!mJB_Rcw5+Z>6IV-NprPyR-PuZO^!dz{2j|8mc{g17FT6gRJAaPe_X}SFY2e)muBAQ<6aw= zydD4W#J4v?D!tL?rnq{Kp8DJr=i9Yef1Bdz@!_|9cXYgFte0{zDC@|@OHB4+9%CM- z*F46?`7cTHNi?`INpQO}nJhoRy!IP9_t!nFUM>xQA$ho)rEE+5J2+(KIsP88!L*8b6 zgL#a3oL=)7CCguu=B<5T_P;Z$N|kw*CWj*@nL3p;uXAwRJD(jldz3xyPe0nQFy33F zM;^Uwm1pI3Z2vK#re1v6nZ546&_nge`d^=NIs0@9IXx!fpL~TSWGdcepqUNw1M(<$(qkEL1Pv+_6T%lgJsj9~k?km@S z8I)Tur+Na6Yqjrpy9E2RBUL^}<_(-u&}0}&T$H$fSwv{rk7{{~KUK3T?95D^hYoHY znZ3>N+H31%dt|kHpIO6y{pdz7$N1Puv-sxx4o%&g+{mkzrR7m;9!2VQuZ(Lxhsp@PaHWq)mCh%rA znEmg}R%IV+m)G>tg^3lmO?$K`Y71gsq7X2K1v-5ozv7_sl$2%LB`=`Y~{i%Cg)@!Y{m5SBZu{`BZajc(h zraE{*{m=}xULO8Dr?_3|fx+WeXC3a=HrKVVHRA_wShy$UP(I(O^vPxCPRqaK(9^=y z&AjN({nh?;Wnv52u=uYBE1$}(my&drjoomoMJcga|LMMsDez5kXM5&ts3K8C{^jbY zrBu}N7V=E0KUgr}UlrwZL&vX*dSn2<%C(UZ^=kmM{Oi0QzbZ-#9=rttAOHd&00JNY z0vV2gzW(Ig9+!d=teZ&ct83bt1;T`3Nm(a zQ?=XKF?O%6X}8lDk4)Y$v_CmlIR^V6nG79-0RkWZ0w4eaAOHgCLcoBZQ~Y>KZxuBD z$+^T-?1SX?C+EKJMSY$w69J8Y00@8p2!H?xfPhR07;t^Q_=k@A{HX!d=XG_QBRcpW z>T{V)6@&o-AOHd&00JNY0_j4)fa~+xnd_(!Y5e^BnE}-2S&g;d=3To{pKB+CcR>II zKmY_l00clFV-e8TIsaFA>0&t@&-r)Br=vc9o{IXMJ?Gz)Id4Dpq4x9kofx}0Z?xNm zGIrIzYqy)l*j+KDJ7=h)&CkcxRiP-VC^4kEstc!`TvT79edrzqcOx7TJ3eI3nQH@He)Tl&-Q zS1@r>y$E8ib62OYFEQ6Yy3p5l0kr+&IrQ}`=KAZ?VyZXZGuIFD6<1w*x1#MAkD&Ki z(aiO?kMy-=Yx@1blJ!(Cf|zS>ANu+dbL}{ezP4*a+gtCXuV*pWW{>IX_ssSCT=i9k z-fe07TQ2lhlXaK0ogkjr#oWMl!5G00ck) z1V8`;KpFk>hp{-)6feL009sH0T2KI5coR+`uaJLD~;%4 zIURovq?xOZ`utTY>T~wzKsK^JPhd$mqKRfaW4G8!yWK6uu69N3cI?kF+^M16PE$N` z(dBl|-(JUaieFo?50cB+K^!0e0w4eaAOHd&kRAjK_&LQZZ+fes@tl8BD)vEgJLi9D z3+nUqmT|iw6~qAoAOHd&00JNY z0_j1(fa~)Lf&UNc^G=&kpQpz>KpP+c0w4eaAOHd&AQuAqI_JMXm@byn@tl9P5FPdT zn^b&$&Ytr(WBx9{@CI}vn(mi1V>ixAyPYFrSF){kJNEAr9O^EWK6Gc+UTAD)vEgJLmsx1M2himIM`84fz(Tv@u1={U2#UmG8Zs+_v>G*yA16N}o zB$u&+I6wddKmY_l00clFJqQ@^bBg`Z^j1ORIsZ?o*ayk&oPXU_sL#`59-s{n009sH z0T2KI5ReN21Fp~89Mn;te=&gi{Dh9r&xfu+eJ+=|f;d0`1V8`;KmY_lAUy~eaDD#c zWCp0u?RC`W4VR-nPmg(kHb4LbKmY_l00cllE(G*-&VTAPx>!!fbNDIxeWUt zxr`me0RkWZ0w4eaAOHgCLBN2YQ>=bSZxuA2^G{C2K1goo{O>M7eV!ik0BwK(2!H?x zfB*=9fLsU|aDCq3wT}AyTL!4lH!MbdE|nZs+`U{XYLZ3$PE8`hqR5exHBY*{IJm){H}MKmY_l00ck)1VBJL0ezkGZ)2bC=lriQO=>*f@+TGbIeX53 z3Ul7Rurb{)O%zu$b|rIax7)|q9Vx8c?h<3yrL1;4P4UP@m)kjiUBA!&<4o*>; z2MB-w2!H?xfB*=j2LS_qPBF-t-YRI^2c@K9A0)SP{;@MqpQpz>KpP+c0w4eaAOHd& zAQu7#T%YG|uA@Fz^j+SCtG6>N%&7l0Z0_RgOTo`W{XaAHfA$zpLl++(m(~geXRow2 zQ~103__}#{s_d1&+LN`fTBRy=rL?zJeKn%InJG*aer|rvT`5KBUujDn<5!*J_w#Xe zHKLRh(Z74FLzNfuKaV3&pOaLefB*=900@8p2!KGwC1Aky`OW|x^|_G&)aUU!>hqG* zP@iYq*@vEi00@8p2!H?xfB;EAU+4TAbfb&qbo_n(`Pdv z_lqRQC;{|W^ZMHD3Nm(^nrXMQW9*vwYq!%Fk4)Z>+c|%C9s8i0;n)YsWauCa5C8!X z009sH0T4(R0tWn?qD>IJRnWK(GD*cgD80`S>H0a`HB(TZr^`e@BOm|*AOHd&00JN& z69NWYpZ^%4qdw1M0QGsej?d2vPey$%lc|C*KmY_l00ck)1VA8N2pDjEzId{Z`aH7% z)aO-|KisS3-_5hA&$ZyeTOa@eAOHd&00JP8;RxvKoPULRbg`U{=loYQO=>*fVwQ^f zoIU5?lsRwzsx#d$O*g(1WB0MYcDqork5p83d)cE;%_Egm8>7Uj~|Fll{Z|vg3bI-*?>#TdR&bk-ttb0y(^Y?4uBN0ENvkj;@Fgn|SSZ5pH>kT#d zSL#y!mAaIFr7q>ac?0SAmAaIFr7q=PsZ09T5Px$G@hf#n{~F@=(BNOGOU19$rTi;( zsrXxI;G@)~{3~@S|4NC9HNV_wo%B!Zq<>l`{QG(NQA19BgVp1T)tLqeooRs3 znFjc}ALpK%7nFacPQ=gXMEs0S#2?_&uwh5nChRR%x6A3OCM0xK6B4?r37+1vm6{H3 zy$Wzq>TLL2zi6EeU#zp?b9$@B)L%B_8c?^(=xhUGoozs@vkh>%x2q@Tp4YBQXWff+ z*1cF~-Scz}MfpW- zFUl_hodv{?N0eU#_EPaH^98Ry;p{10(m$n3#jo@u6$PZ#GGI({<0@O3tPZXKZQ+3-1?%rCSbGQS9P zwgGjVj6K@`rxW>w@k8VnzRtSm#i_Dq-Scz}$5;-JHYp&w3qU))Y%U3?M3-T?O&-&`4{CEfxV=E4e^WiFPt9@@r&|{ z+Fq1j1iDoGN_#0jqWq%vBg!uVUCO^GzX}j3!Pt0F|J>j3tBV2x=?OB~^ zKs_EhR>}7WPYLT$^0VFiTlggvkj=@B=Za7hsZB{opsN}*-B;4x)d-C%!zRrfP zWH(!YlIMfrvEuOWU>eo@;~FC_UWbtyhdT`GR1E)~Bhzffk>yr4KMbt(U%{35U? z{S)(-v8Q#?KQVs=_Jn^nUvT+_wr6#w0rhxbbp{ZjGY#-{QGQYT7v&d$PVgu53vJKk z3pT%qbyW}4@o@I4CM0xK4|uvbzp(zr`Gv2u;dAQ%nO|soGQS9P;{KBPMPN_dUpikf zcUSfK9%E1JU-&v1KkbKg&-IJR3v2^wZe)I8{A(DWqWsd-%fDJj-lG@ZwF(LES`{nr zS{0+}nwL6w*WCB>QU&jQ-uHVoZ_X?o^!uu7-uJ7nx%T~3*X;LK7sbzBv)|8Nv)|8N zbKftFzj{adn)`lX{OtR@?-#^Ry)THLz2@5I#qTb9ZpGeTv91b+dITocRZb;zRd52G z*GUPT^v~2K&Njf;`T1R} zOZn&Lcd@;ce|~=F+w=3gSeJ^QpWg-cy!|EA6HH zD|IP8{QS=M&(H5-UCO`Gp7bxw@0=fDei!Scf7+h#&*p1pfU5nlIs=H%nFa`*X@IZu z^Sf9l_%nH&h+mZ7)qc2qt?Gez-$?VSI}6JLiYCC*vo^C;fS*=zIm` zN1(GE5bHeu0(-UtoIR0W7<*bL{S)~`U{Clb^9yZH<`=%shOgwz*ID!znP0@Zst0QSoV}_E30>6#o-WQWtbf7& zQDo1C&#eQZ{iE8R%rCTmGQS9PwgIsp;{J;EkDR@5|0vQ~_gws<{Uc|uVSJMLg^6Fo z_!R9QDgV?mMSeah)_LP!V9$0yY|rDv*c16hpp*WI{35U?{FC{GwkPuoUuVNt^5^TU zdrl|w3vEy47lF<;p!QGZ7qvb0f?uBtbb=3=Uj+7S2l(xZ@{8JDlwSn8RQ#g+!r5zx zpa1!!ARfwI(m$n3#V^V)>UKr>MW9RhSK3SY7v&eVA5nf0=u-Yg`Gv73=C42}?=LZb z1@=VzY`);~3vJKpOap5Etj=_R(3uAKx+uS>{fqL8KqvT+`GvOU@&&tp5$mcRsN>=6 zRZU3fsvhukaeiU_i}MR#XT#^#0W!bP_GEq$=*0bH?AZp?aWXn_f64s9_$TrUUuWHO z@ss(5vDYv@$^0U)XB*(+r~UBar>2`^ei7(AJ_4QRU!arziTuLY(>m#&$S(qW!atc` zXnQih@O3tPC4auoy61EtCE-_&OUtw+@i`g|;X2i$EvtFPUEi_Qd@q z^9y57+JpIbbc=t zymo1w^v~}#X;1hUk|XnWQ@r;GBV+K(tdigmUDvCcNY*ZKKTtP^}h z`B7{y<)5D)`S$$$DAuLo=jTU(JuiQWb*cFIpYMt7rQ)Y1raC|J?UlNef2A%Jzfza- z&(Dv1|4LoTKR-W;?MeT_^@p>kb<)2uKZ@-M|7^Zv@}t_G)tLqeodHDXOapwKpC83K z5kHd$3I3w|sP@C)PbX5})x~d5YUDX4gF367}oeiIx@1o~NB6}7;XD`Z+YI{a! z8xZRRAI6?-fU{TSLFVrA)^CsO(wyVx4u*(>07wQGVp&(J($m`H{A#vZrKz z;dHhGVtcj&Vx8>(r%UA*rGKgX!s(=c+Me()nO`VBlKDlgv+fzrYMph@>5}<{vX{&+ zoX$3&=D^sq4e)g`ztDb^I>BEuzi{?a{>l78+mrc))1~4k^9y57#mPlR9wkPuor%T1Jv?u*b&0nP-S|{U|n!lVq;h)VTg8V|+ zvpUm&nm?;E9Uye30lrS=7ur96|0T93_(L+fY=Xle?|K*&R)3x66vgaE`HJei?i1-J|**u zGJXx?Q!>9$tw^rVYMmYaOq^<66u(+$@o@H%>oa99xju6`+W@7|zo$ZSeWvZn^_kPz z4)Fab?WO!Hb+!Y1dvblI{gdl6r%U-K*Js9_Sf4pvDt@y5=j^58C)a1%Ua3p@C)a1r zUdlhYKGXK(`poH4e8}}#X)iVYIh~AOYW#EdMEvY}D_EZ?dsb%}pcHx>vO3cNLT4J_ z>*V@O`zP0DPAB+CuFsS`x8ACHpl+AbRXvcw(tpC;a zEPl>ja($-kCD&(8C-^Y-Yy*@feZM5vXQdyh^;xa6?s;*l>{<6bUBmd4T%VQxHH=Sk zeWuO>NPfN~(AgV6c^2qw2gEwt0Zu3Cf5s0{{|j`|KT-eF_GEtH>umT+o_w8kFV@-c zIi1Wev>!6R2z0gqb-QGKQQM31i$G^P!1p7{F9LhE1AKc?eo@`0YYaQ;OnCNqV_M!F9Mz5L*^ISp35U_ei7@c9;oBt>{U%j z=&By@ba8%R{fp~=zRrfvtpjBJPur9EMW7S+m$7FXP{&E;7sih&FEDpk_4yKCXWesg z(s_qYex&9vr<4Ar<}YVY@L}_XAiq%dtj;u`9uKU}bb!#A2KYLeUugeie&KY2 zk7RzK?74iw%P#_5)dO`roV}_E30>6#o-UDJRQ@IMi&|&H=hgwq{6g7F<`+&U?yqEi z;p~a~OYUFj^_kqi@O3hN+MadK^^3_1Yywkrlguy5I5mt<$^1fjlU$$GI*W&iN3DzE zSL>qqDP3}X=5)3JN}>30I@^F)XB*(_Wq+`pnsr@k_1GN_$!-{Y#C1 z&YtkkuD62qnX+efrU6Q!$0w^ZfC!ywfUlG5Gwq*TpE;f2FS$Nb_S|~QTb~8Gst1%p z$IscTnvl>{J>cmQ>$A$g#QLn(+3>k_Lvnql>?PM{PABfK7S_o8GEAs7wDva zqW-7t$^63C+3=O)gs-#i#X1{4r<3`G_CwbH0-bF@-7Z=GtL>>5{O7X*o$UbMkJ4Vs zzfxyAz_%CW7qx#;ei7(W{zdtPv)2&6GLJ~bFUl_hKT`3F@{8JDlwSn8RQ#g+qP7?1 z7lAGnzbL;5?8*3v`ODbTI_aO*$@n$QUp8NG`Gxk+>P!Rb@xba#1BA|WfUk@4i`u^^ zzX)_9elow%_FTST^NUzl^*|jDXRm5PLRa;Gr;GCo>tCE-_&OUtw+@i`g|;X2i$Evt zFPUEi_Qd!h^9y57WH%0HQ3X#Zq>;dCkgWPV}nHN;Qm7tUVNzlQk9{6hO7^9!d- z`6u%WZBOPGPM6|O<`>SMZ ze4WfMw0|KID57MHD}5ELcJ@wKC5*W z55rllv+l(@i-*%C*JsL)oenrSf4pv(m!P{>7Q7iX+Pxp%;{48mG)Bp$@Q7`L$1%9F6EzGpE-N- z{z{F1r9G{a{%M_zpVkTg?0PF$pDF*W&NM(N^!;UZrU61{8sO{X`b_&L*Jn;A;+I^X zDSK|c<*m;GUDX3hq2uT5RZU3fsvhukiS=3KUt)b$>umVkIv}||Q}&YUGp7^xS8{#k z?1}p;xjrlHrPgP)PR1{}J}d1tj8Dn+nX_jbpcMMPkn1xw-6TI>66icW0-fhyp!4`J zI#K@%bkaXj{|oF1|73ol?P;BLuN)_Qoef{Cv+g;a%rCSbGQS9PwgGj!j6K@`U#D&m zzy4SIQR-|5#P(ADmG)BpMfpYTU#Uy^7v&d$y`+B)@r&wz&JSfT6~EG6%0Kmul6;i9 zRQyU^%D+;V@-NCSlo>TIsQabVrTmNXi@=`rPt0G&p4LhKv`)rP>x6$cUvT+__Rs1} z1M2a^>P!QK&NRT+MfpYTUzA@2IuSpaUub(SU$FT_tgCvUj)${XH6fv^dcf1g`Gxf_ z&M$nO4WC;F$oxXvlleuU6ZeSDQbke_6e&Os1|C0HIvX{&+YMl+A89!>Bb|bhZJ$PUaWdp3E?QLHrxW*AGQV*4#Ql}bFG_o<{G!&$_$Bj; z(q6;(l*})jJ==hqvt)ju-j!UR)jErZ;jGqK_hOyJ!|9UiGv!Beedctw0ZO5k1x{xh z;Opf2Oxu&|Gp9@WC)a1%o?M?fodrZG>Nv^unX{LQpIo0Adt&|MbgB5s`k%H}uB*cJ zpVOt{SK3SYSL#ynlj}3>pIo0gUCKYXJ}d2|#y_W%@k_1GoIMdgyWR@cXUd+{nFc6@ zzQ3%_bb!#A2KYL;KGXim^_kNNK9cJ*WzVg*y!Bb2t9n2wbo`vXstE~Q)dQX`u|BK( zORUdooeiH`2PD^L%3gAP=5*rzO0LhGJ#l{}*Jq`@)cUN}$@nGLXQjP{@hQ1JbM|Zl zltSMZa((vm@l-8*f(9siq0Ws@q0Ws%MrQ{uJhI-cDrcC?m-ppc3Ojy!JC@uZ+ji}_dZ`|LG-A<1vqd40w4eaAOHd&00J3~ zK&a81t7o$-N|!vqwsy?Y7oAsvarfJXT?3JTZRhuBNW0W|r2f z%YS(hzs~qjvir|Io=U&};z;%Fd5yb9l+2gwU&DHzJ8Vekj2k5@pBZl-zWQ#zn#CG> zJ3llr?w7LV!eHZdWA-oZ-K+KGD;_D8+O!^eqRp30H|E{AACR}=fM(C@)erq1`n-Ot zCaLYr=*rPXO-AG%LEVT;VanlkbmezntHg=ko#V$EnPj#oXx9lZ#1L#vOi~gRMoMOf zvnrg;OkCV|rEJ=k#VYsA)Agg9&;REU@z3L2VswWcFkZH--kG~~x<833_3sUYnHVp- z@A$9o!nS8Bp3UA^iSqhk^YL~Tic8CXm+%^wlG3tmPM6p1W=H3^968N>$=WadqJ0`4 z_gPSQ&50%MdYQbRP1jeu{$lCLC_raKdUR0E;oU>P_%6+DHIDIJD zXZ!Nr&1$XpZ04|T+szusPv2kRm)CW0;)jSY_jlcoa0!T4|}z?PK|Ye zDOqO6ba*vn(fH5pnmznIdHC0QZ6AGo*>^zPwwmvfIvlwC>}mNst83JM_1&`e^N zV^6n(IWA6p^7zTtR;@i!8yb}^>^eRiowIlToSBM*Q&c;Ze}C_5!nE4O3JtgDxOVWO z3Cs61tXydO(Or-CeG9GV?>|>!()?|bI9K4?$Z?C0H$2?9BsBmEnjhTzJ9)KdlSzLj z+g^!j-r(JxRSP0+K59L%-N=LaDsFcBhXMR7Te|@7U7_V~HJw1k+c2!p-7&VWf_nsh zE4l3K=E3!9Klu7z=nJw0UWc;m1QzY8Yxc@mS_$;Mj|!ZI1_!C72%oOueZ0Rcxf2^@WB(=5CCPp3hC&68T1SV+ujsh_V`xOd;cKto z@GiO|_|UUu+j_+~D|S{!{j zd*b+PNkymsoO@%}0%j3;VCi^!z`Tz?8s83mrH>VFZ2XG*tt~T2T z%$vSp#y^x!?5;ku+3VLQd^#kQFXC0~e;S7ZW2eeNMg<)*w^puuRr|NCYN7DndVAN< zH^pk(cim8QK{M$y1H%SU!U`?ackM(%!jqz zA{;LSe^@(rtLN6$SB`(WANw@C*}V#z`i`7+_0_cswFBEP3>@V#an!nYd*k2c+%r7B z%)mk|``r9=<7=J$3knQ!>bGd_pppAmzw~Uov{J4CxlSz0$};(1?|M)kW7{X)Q|=vW z-zM_gy{O*#LJCi}TDIwIG20bYI;_1OP+`t$$HzYxE*$mj_>_0=y4pvbaj&&}UPP{w zi>fRS-g!N$rQiP0*t^@ET7HTK-gFB;}-2B*J#)is+eP(zC*x&CpZEl&zm5=PJF1R88OIP|gc-a5mn-xp;xhLhW zU#I2P)t+lUtn&?tdGhpX-IOJvqi3|ZaO?Omo5v^J-rn`=5b^Cp)y4y&&RW|(4Lv=w z=Kc{i>%EI+`tUlL=))NET0Z@~IwenTbLiTfeG!}XBn|8HvsnAH*=jBS@0?q$dhIU< zZ>a3~qxJI1^x2Dgq5+}QUO$G_MhX+$nMh;_Seai%Fm&K`WcTgIx?f_ zM6BbfTgOr8|L=u9n1NZEeYnhRD6j3vKHk~V)OqM*|MFoz_a>Bz47(dtZ1)~E0{w6=}o^SZDobkKFdDViwJd+xn?AL7ZS<8iOIwd4W{cOL#-OzXQ?HY_P zJFa}|?Eh;<7JktBJe$)T^X@MeExj>u#@%`LktOW*#Q)dNH~Bzt%-aVQJ5R{$VcKG6 z;r}INlJQ(9@U3*dGnXpX+M2D{UYlN38g}X(7Sevh+o3N9-9Hp?#4P(_v(?=kQkg55 z?ku&9rrPkX_2R$aRfGINp1P0c1C@6>-_Ly|4L84OyBw8+CS`)*;+JS5jOYVH$Pz;GF4g7 zCetu#Ox`;@un4ugaL)f|=<;6H+4oJbpKbrB+3Nv|Pc{G3zl6iSX%UUrUzjwbsCm6! zMISskS<=NazU=-L?a%C4zTsnV=(dpG&*PGNu0QVQv)ao}cvqyHkx@1AB=ishvP76*Rt^RZ2o9{kx zjU$`&PQDbrw!*qOwLKyxk3LlV(1D*$;>e zA&YMXl%Mmi&+x0cQ@b{G8WI-yaZqRvt6g;yZVuU4%&p9x?MaP%=KHuUD|@10LdTi) z>Zb&jJO0(v?ae$NCEG&{dd}ZJxqjY=>e<`Z=z8VS!w;9i4KFk=cWKzW z!Dh22gG@{ zTwK-0bwr&h%|}GNtu`@nWQDM7|Ht0Fz}1lVe*ixvwg|Ouxoh3ZwN@_Wc0yFrJqb}P z3aOAvZmnwwA%rAENfcT_s&&7YBvFZ6N}@z0)xVlK&$EYT=5U;y*UbDso@Y06`ffAl zJ-^?a&+p8)s?6HH|HdJg=|)*Cwme-J8|$TU^wj9_@y;7}4ZrBKLi;DyWEw?{JFGF- zj?1ugmth251YHJ#E}A#Kw@u~0ivyU!jOJGEPksvH?8iIDVD>X+X-N&2YgND5@p0rU z!=CT;Ll<4>-FUu6hQ>Dk%e^l;d%O&27-c7emDxYu(nz#(7@Y7qbys+5&*549V!H%? zUOE2vNd>3swLjK=h3QZ1E2n34eEXq`77m%vvRi{u;S+5`kB@D>&-D51`U+i|Kltn2 z9+PvC-XkCHKW6dkTD`2_Pjgt_OX)(QC``(#>YNC~&6w9AaMh<0q6<#NQ zw{E_{JnrbQX;D2!1Ygf+s%X+9y2tauL0+~c>(7svyuVXZk2BLW^oor%&P=En_F?kE z_2pYOZPbp_{Pta$?|j6qxtCnnXuY~f+tQ`&>Nh>KlS)pv{iqt3-y_1mK-eb3yd@i}tW9pnwF z2jD&ZnHRLG`$n>E4Ib5h@V4F)fZk= zdrwg3D%+^LDWgL-k9Iy}8Gdh)az$p>yWN{TDsOOU=Eht{jkD+WCr^E{{jv7@cS$Gx z?wZa}4ji#@dH6}&S4WQr+#IEJq|nE8XvNZFu^HPtNA{oHd(~g1o9nb~VZ8J7ealV> z_w$3Le@|sbi*XO<`rKY}v$)K7RPU9S2Y2co7Hk}Pz^`KT;+OA@KWto>G33qLAyw}; ztXn+sVSdEiHt(;yFR46zGPULK&JS}tbSn%z6FIw6iG}>=@`sP^EHLacJ)h~Sl z#X4GMB~_6lx(?PiTs~lmD2SWbyg>&%6iuml?0bOkCeE&VGEH#i$Ad3JUtc&SUZ~*5CBthT)Rw9m!^TR^;{n#K_Tm4}O>{ z^^HHVmjPROU3-@d;yXwG^Ywr5FN>Nwt-d8+ftLilBz)(jlkUypf4tvW^Uj5$g0TO* zzM~qCzod6yV1p;^Po7pBE;hD*a2U&cjt^40cjoAZ6JvYI<|{8%m>Yjfc3*CLqMT#X zI_GL;t+uM5gG!ww&sDwWJ1TZP_vc&7nDpsgE{*l8T>~r2pK3k5$xp5DM5kp_(+BqN z9`~2Y*V0nlJ!i)lnVe&xrGv+{rH_B=YxzE|+wS%kC0$$vaTR3jDp>uqAe8F}?>p8X z=^$4ck{f7!dg+BOdgg>H9-(i%}JOb&Q_6 z!1i^ESZUvH6aT{JRL5zb?N+*Oyfo|MZ&%E{d>iYQ*LA3w$<>jtgL0ji*_Y+lHyRkA zbT@9;N$SPY~D0pS{8x*5BQ$?Cmb`rzPbVRa02d|7I8I-_-sGVh7FW zGtUxSf9h)`zLjsBHAFF>nlm$IP7{3_cTgqiiVxpH>WxvaN^7cX5(IDPNp<6TcGG+Olhdr{Xf znSPd^&-k}k=js^Nth8CIWxGa?hwN_UeDKwQ!}}C1?j@J(JF>~zrfI20gGkeAg0p7* z3tam*y)`1I*Ww<9CymZ^@2PpS_2-c~hgRL1V&OXF>>DqGLaP~rm-H!k)7MOtAb#|M z;TzGQN9x=XllWVel}F3Bf3`im_VcOM<0AAT4m;)i`h0ZRv**8WEWLL*tWD#}`tvNa zdtb5X`g}}jr@ll?5K=j*s{_~Nn6K&TKsMY@WsvX)_|IE&sKOF=u6a_7o*8W`}s4Gyc{k(jg z+7E&Tf&sOEk&`D1WZ2_HHX=H_MR!qqUR&1SN$19!Eh6OE34|yHL3om z9$8oYK`>n3(o)|}Aoy>6O|_z6tbwJKk(p_2ea$aCBA>oMyO(y&e^y=Jq4uL(?blZj zSQ}ZJ7*sz}^Yv?LtDk1=GnMwIajviwR)3ZM{=rY<{I3Q61_1~_00Izz00j6bz~OwZ zk|`mdx8XoOHx~tdiovC0Ar$)z^0^oXHXr~22tWV=5P$&h1UQ_}qhCtM=WRKV&lSo0 z2vh^BhnZ09Q^@CH9N2&W1Rwwb2tWV=yc3YC?l`G^3zvK!_ec9%R0JxuCP%f2-v;aT zmC(P~-y(c3A)mLCBA<(XyY5x;x7?1@qW>+oIb@yU9pYfVdiwv_{6yA;KcufysqV3< z`D6HkzK*D3@4u<~c}yhSFUT1q6nj!wkBD(#0|F3$00bZa0SNF;fW!9-a;hY(N7_rV z9${O*{SgzP*qB2;7vsPN1Rwwb2tWV=5a68vhx7Te219C3M@?k?pWhGLfdl#cxPi z00Izz00bbwI{{hs+eddK!ZL&X_8Oi3g?ujRx7Q&1-t&s-``(3QomVA&-8iyNtv+$k zR0GM4tUKL|zK-g@XUpS~e$FV{`iM3g3dQKK4ie+Q1_U4g0SG_<0ubPx0Eh2WTf z0Rad=00Izz00ej^z~OwZI7&i3@5F(8ZX@C6>Zc7Cij6tsb1@EVKmY;|fB*y_00G_! z$g0nOhZPZ)8SL{{v6hg}J4=zzMScEj$bS2A>cmc{PW)c7&Y>55-D$E;phsVqOxEo+ zps%Ak9=1HrwmyFc3E%JRF-#~%hjow`2R0x80SG_<0uX=z?*uq}pCWoPu~evutpD@p zg?5o*9mKZp!`0Upij6tsb1@EVKmY;|fB*y_00G_!a5$fv&ytYOH8_yZTT197(ikcf z8*|9#VjS3j00bZa0SG_<0=yI8a6T_uz=M1)>F4>sA1o9bbI9jn9N2&W1Rwwb2tWV= zyc3XBpZ~JuL|A69&;Jv-OUnKhO)1_#7xnq)k^S~U3*vcEp7`;^XACFN*Qt?pdCv58 zT4dcC5BfUF<6+4s*w*JSX&sa}NGK+Ub&wbbHXr~22tWV=5P$&h1UP)3V#h{esX)07 z>L$fHh;4oT>jw(O#vJmw7zZ{W009U<00Izz0Ph4ioX-dBl9124^B|v((-Vq~IplLO z4s1XG0uX=z1Rwwb-U)CxpFcP#A)oi)K|b%KD-;`Z$me1l*nj{8AOHafKmY=~6OdJ( zztagKEHl{WpF{4FvcILL6!~1#=Wj^%+iUm|&x`8BJCJo+8|dr2$hzbp`npYIom&`v z9o6x$<#Dd{`4{yUiqT;mB*uXa2tWV=5P$##Aiz5T4&SF(mOv~ODAz%~q*w>BtA5BLp(346Q4-dshy{Khef|TQ5Mi0YKL2QPmz4QjM~Zwd z>ho8eK%DANIrRPZ9mqPt8~VBdWZm8}`Z{y6PFR=lf0Rad=00Izz00ej^z~Ove z)J;M@?<>W93by6*yzWA=F^7CE#(@n8KmY;|fB*y_z&imB=krbdB;@mcJjmxKy9vd{ z9P+ss2R0x80SG_<0uX=z?*wGk=igyC5tbS3^WQ=4vL>?jtv)ddH7Dm+fnx1Bs(wt+ zUy6J#>hpIZ`|Wd7i04)NMgPaYmXURNZRzWFkacS`>Fc7&I*q>cb^qf~SoILs`uvw^ z3dQ`e4ie+Q1_U4g0SG_<0ubPx0Eh2W3@{^>3Y6=h0aC1k*w#m6q9GI;bI9jn9N2&W z1Rwwb2tWV=yc6JXK7TM?LO$2!K|WXODij-Y$me1l*nj{8AOHafKmY=~6X0+@_nQ9y zAfG?$EEF4a$me1l*nj{8AOHafKmY=~6OdJ(zv4V1EHl{Wzl_`^Wq*sF6z`vl`uwkw z{q|Rd#Pgy$@i}B&@)-KMPh_2&9eth3L}E`W)9CA{j)yIebFI%mx|2|h4(lK>4s1XG z0uX=z1Rwwb-U)E{K1GM6#8QEB9W+pibr9S7{3~39Vq*^ZT#N%75P$##AOHafK!A4w z9M0#7YbE6KK|ILkLGr`J#vJmw7zZ{W009U<00Izz0Ph4ioX;J$Nyz7ed63Vi$swQf zZqnfiK>z{}fB*y_009~SS@roB?IXf6gMI!^`~QV}F6#5wAp7m3-H4q~5emt=(~Ifr z#*ua7{OIf4$huEk>FcPDhb@nDts2nCX4A4g;#(@n8KmY;|fB*y_z&imB=kxG067u;_9^~_D70Bnjn{;?W z5P$##AOHafK!8So!};9svV?ptAsNFR>G<6Tg?N+Z#n+cbcpd#?jX$lXW>4>FcPDhb@nD ztY1Rwwb2tWV=5MV-p!}lqQvWcYvWuLz^>mauMJpZ1bkk+9Z-avfwK#X5*>eMI&jkk4g5>hTpJ009U<00Izz0DA>E zoX@>l32R+>ozFGjBcHQ(_Tb1M009U<00Izzfb0dl&LJChFPCgvvQCgvtz z7Gt=c;d+Ma8Lnrzp8dd^Cp7P?aPd=k4Zv#vUIXwNfY$)L2FMlOi*dQ2rBc_t(G%aT zy{x=c)18k`d(}fVeO0CE5W}?{26=ROyT#Ki`f`!VgAq9=<{2w5_Arecb|vdx{=`)R zIeCj5RnI-G(>!~>unhM|?L7Rs`L)<43wICH(JSm6()PYtc6OsC12~26-+ei;u+nVr`;EsAE_BwscP4*l=a|a~|CUpyDiTdQNkd(If^zQ4FYSM??_Atm`+;l2KLV9@LxHxk zLXyzO@JUm1v#xC>j(h2p8FF$@Y#U+*6s<}OsTiqw%yp~(p$$Ji8NQi9^%Qr%zHB+^ zu|{jNw$jhB|9n|xl?NIAVdu_U^xLB+^^E<`S5r~zP&BRows)ULW_Z1la{AYdNoU^% z^G+&8RFBEb8)GgARRqZ{9iIxj8>zkz=rZ@!39<$HioVy=^bI9=+pRU+#KjtLCeyTQ57`pP<#lW3zS2pJ4}n zmEu{FS9RYRst>kTq<`p9P+7SrV*jDFmS+!j30rGf5Nn`a=C&sM*6FNM$DUSdZJE&C zz;e)<@_PrIelPE%cjx?rfcA-8?* zy}jaDxUTg4O?wwhpP{xTW5Oey{z`4${_ex4u316So}_WR61!eF+S3ddI_WNS=vMj8 z2AzMrIKT{M|5{7ef5%yxe*G0%%5{@7kJuKZT!}5}*gXH{)dJI}W{+B2?6yt@p+owY z@^ACMgPlXR>1{jhtqo!<$DDE*m^D(RL(wntC7;Gcy;V9{>8_KNZ0Y2D$aB@$%faK$ zPRiObWzOXAv2U8*saW*n%EpghR(ePqb!(0#T|W17U~22B*2>R^9kEVzd1QL1`@&8| z^?ltJ9l8HeVSLqqopYQtPo7L2IJ|qV=@I*5b4;{P_1;<)S?o5ULHB198awroIwobR zd=l(%*1U#SAn9I#l9U8m%5`F9-%rz9=y|o{0E5cbjci)}RCxM!c*^FH2i@IHq)zaj zcWCw?4{6uI{|KYe!kj<)|Ml*L>CeULS-!u-G?K5V9)D@0H~d}w9zbH|`bhWpz6RZm z&5FjEsZMd5*5u)vjrJX4T-r%J%KvfLQZ7lqJq0<&zU2#+4zc~~%jEcdk)sR(M(b#H zTe~5B-OP7IU2TkPCc4MZswjH1tJ$b6je>p5gUdgEaM#Iiz3#V%AN4z3S!cRk*|Nk! ze&f)486~g%$`55cbk7cdd?WsRN^arne51ibBFj4K*vx7x5_ZVArwKZJ*y?OD6u$Rg#Qd!_N=YZpSSJKLOCTVP+X+Vk;|0XygCWiEe} znSN~Jext|Znx>p@{G0Bi`Dgyvv~%OHUSC3Q@0nqiIrP^34J9KhCcXLK-!5dsYoo#E zkLI0BUAxZeV)wsK_mO(wXKNJIQLOmQs^&VRttt>I*3sYnq=CKK-`582-T!%vPan;G zf7f2|6Mxg{GdfTv7k^(X-@|$po~GaBDCrfehkRDNwV$M_?;3~$nq9q_y7c8w%~9XS zb=ze})+@kuUApT!Qu2?d0Ujzris`b6ZLOa8LB27KvNBq&L% zH?Mm7X2uv#)NfiZC!(`l10{v|4Hf=a+0<8<_*?Y4z~J!;3X7KsvlA~jov>?^;(^A# zIui;y9w=(KdDw)gc`>E!GacimZ+E>>Hu&T2vgy+fpAGw@vSVH1^P6V6gL}@3$Qw|1 zd*G1O5qWQpUOfIF|I47kN4K7BW2D$4Br)y%^s;`j!hvTpGH<4uTI%>2Y32{wr59y# z$a$6JkQI5+)6N-1S^d5<`#{!${b3Vw-|5`6x1Xc=aD%6LSepCug=?qnDsHvDvwiaK zlM21(-5!7S<)A;WsEVCP5!-ih`Bsg|S@6R5{{8D4t(!icc`oX`U+<7ct2=MIWZI&I z^J&Xfx|>zT4e@=ueEIW7_v8!n_Lgq`;_>jRhl#P#%Zz*ZGqnu+Y(4(#KIa==>9MBy zo{j4L;(RL0DgXXy{{-VErSlRpE$_W=ROMZL;B`!&_Ej5wro*Iw*nO49o4>0(nEEqU z^+A4#pKsdVxqW@R^?U8Q1%X4BTBbNzXCHWNP=CP!OUvssH*`|iW|s44-sG}FgVNHn zvN9{Dtt~CB{!FAwUysl6F{#D zuF4k6kTmPJeKNQJ|ynL5_+A<#Bc=ID``2Q};AH}E| z2%E052&W{b@zol>;BkolWW}*AM?CI>Ngslbi_gy!9Lk|uWM{x(BM(W7Z~o-^wW{W zHGQw8!_n96Z!f)8nP+OTby0B5y+&!ju8!(yfyc;td#W$#k77)lS~L|T8=3SlG5I3r zyEd`$gCLwyRw=M;!`KAjzV_}%It&1V0HxDTO|2c0vR(({;q|F=&^mE2406Vak7 z{g?B8Zwjybr0tKIe9NG?)Hw6A&Bgx4H;hM*ZokWR?PII;v%2RR#~LkHKA8Pvh{Yze#I_o#u3{?n%AB$GBxTmc&dE4&C4s(--XZrZ2w9w zHg)qryS|;`cm29LKUHf^zss=(#n=4ZT>_F~1U*OjN`3NA^oSlC)pK^jgWb=2{`J-+ zX7QONrNb+Vnyqg)ZQ+s|O&eO4%+7r7RN_4^VY!yafDLa~7dLqFv4Mq6R`=rD1#>@C zy-e47Kk#C#9$WVUeDaIE~KZ+9-UilSNL5}Nnh3YLSAn5hmC*d4O_F)Mc&6{%L}P5#KN3y z4UUYBtg4(-)~lC$c|_E)iBpo6ghd2e8dSWAR6px<^kmxzFQ3l6F2%-=whZcVEoycD z=9fZ}jxp;aM&| z*~T~K=Z=rjxEwop>M6Cxw$_jGdo?6e;wb|khx)7UJ%Hd~Djv{3sc$M)g) zdH4IioW8oi^2CXyD~|RXm_Ghw{=>fYhjrWJHdiUYy3>f=D-X_p^P+O#{KhScC+!)y zWN7xsb1!v2EKZHNzA3ojRp&!7E1!Y^UF zdR&&Geu?|T*^y3~?Hu;Ma(JL z!gKOV76+f&F(=$J>iubt)kEV)rTbJLx3f>panFyc$e-K8S;6^)|K{=Qet8gn#yeZl z>V3E1h22j3WcQhL;>jNuj?UZpTJg-!#KF~FiWa~2eevRzS+_GLNhub_hqDjmeL2_2 zs#Le`p+lMxpSN~Y^37=C6<_XH+OMy{z|ZcBb|15O2>*g+fxT~;B+aW>ohgbXz|N92Ym$U!AZhUE9n~MipW!3ZVacgj%oo3&X-HAF4 zl*d=KKIlEw>UW>iq36TLuim!y%-EgR_66=)+S)HREz-jz=1t|=cc=O^@;s)WuA5b` zqIt)EUP*uCg(|VC!I!%FA+9QTw?L|Q3m(NZT&AV0kofwdLXQik(e(xbV z1@-w6md^@5E!_T;eCMZ1Wykr!mp3hPH5z7d=swPN;%RAqZzA@U5b=xg|8*lzHKd`H`qqUmh zqkPvj8|oF-T*1|6H`T9>QYki_a%So8H)}e)=NO@*dQ$A>Wjz%Y)#ZGDlWV2$X9sPK zrp<>B+qr3qVIBPrheHp{^Q_3qx;>_JXLeR(T-m^qs+;E?wZ6CM?#ar2cP~54Dw;O_ zx!KaJ=Q}$eP3vUyeD=LRDh?aH>fANKaQX9rg&%IOJes7R8L-*1)1BqEr?w4?i_uyV z7ddrt)UEjYd(IDhx@YYx*XI89mmi*fee(41w6=3RJU>40IkU7?S;cGj3&yvWB~I#A z={u>-oR@z`reARtPLUZFw)1`jv zM60*_a-DJGCok;V`%%!M_BQEx*=9q`rj0x|&d&OUaZ0$e^7Y<#?@m9LHMHM^bB;TY zMJzaQpy{=eoZt@|W*sQLk=1g7!K{)+v&Zs?}&#KJ&OP#j%UlOuQ zF6(W$*zuQqw^uhV+*j~lwBY5|ee0^KpVA)3CqvggKDKhZywqpk*RJUU(?=moUM~r` z6!!7Ni^hGY?Ws9QgN|HVXt(9w=-V%scRM@d{9ozo(u*gzQLaecv-$4+VNY8)utiA@v?sqbX-`C1>-N=>tr-l!TFB(54|7BmJzPiOr zPlZRQ&nQ*+EA`4Kj_?tJFS^eey z0iENS`_r9t(h?#+XB?k!Lh;CNZe?$+CQY889GvQGrEyg4%*6V^2hAtOSea<3sEx~6 zaJJ!~ickBiyq4bC{wdfv&^#iw`S8_~{bE0!|FxUPnaSZcZ|?OOA6J@_8?|V{Prct{ zAivt+?2BEuUp5~;^kwUpcWMqsugyOX#v$Qxb!tJtgmXXV1@D zHtZVae#xA`Ss34_=6IH76~5~{#4@59OX5hdN>&G4){K>2P z}Wl}qn$E%k&C}`tfzUBUjZDf+nRvD1ty7gx}C;xMH9hN1AWR1IC z(0W>Kgw$E}zahw1PJZ%&sj}>1eJz77)Z)l=*y=6!~2A zi>3|9U-;}KAf6Z1aBv{&+#1r?d69K0E$Qnvk#*Xx^mSCn!uUxa+l#5}-0AOHafKmY;|fB;(r zIGoR)Y!%ijQs#3b9^`Yox5(#gnJYLB2tWV=5P$##Ai#tGhx57bUSX{eWj;6NK|b&N z2Kk(cd4PRD00Izz00bZa0k#Ops?T3FN?7}p80_=+BX>!e&qqs<&qaOy;bgyk%0l9K zQJt?uvMysaecc1H&U*`eT@hK=GK9X4>Uh}lIM@38i(g|M#Fnvx7P8QY*QRZ_~9^`YIeB^T`<^lEr0SG_< z0uX=z1lS@Vt3Lm-OkwR)VzAHOJ&V{SWj;5PBA<);{1qn=XDIG4u@hqJ+kbZ;>yl2< z*9{=+952wGL{GTWjVVS``f4hbf^0}21`CQcJ??m?7hdvb2p0H(PUBpZJx*cSlQ3-urG+CEl zNnb~MP%QW)*ZTY|apWE;tpT|B%K4)w)U`G&u00bZa0SG{V1p>0_^Uohbgk=W%{2hl%$me6F$mgOy z|Epxby~A-%p@N?1V~FNY(`z(btV5>vV1C>qOtjkl{dI zM|C`Gd7Nu~{xKO?2eD=B;5Z-v0SG_<0uX=z69OE*Pm#ZnSSnEV`H$zpeTu~okk6Tz z2iOM$AOHafKmY;|V2c2U^SR$D3Hf{i5AwNDI`TPN<_eAj0uX=z1Rwwb2rwbQ;e4*S zSwcRa$b)>|>^|~26Y~K3fB*y_009U<00L|gkX4_5+#Vt^9r7>ab5WoF8nQ3n zdp5BXs`Is%tn>AzuRBfFsjsB36a9XIq)qg7RL8@X$GO($|KuLlL2Ma2I1UIv00Izz z00bbwgaC){Q=}XwmI{=8{`Ne$PZ5=he9pu?z&;=V0SG_<0uX=zTLd_q&)xr$kk2Ra zAfJ2RMLuWCT)}Zb00Izz00bZa0VV`EoX=JNmXOaU^B|uaq#&O&F%Pg02tWV=5P$## zAix#@S@rpc-X_8_gMI!j??}k!4pQWEQJ;Sv*_ZFQo7f5E`EnpW;~YU>r$*K(#nRVl zk#!M?^mW8u+52y<_4%tNV;#ia(S##|00bZa0SG_<0W!*+T|5gQ$KmY;|fB*y_00I6Aa5$ga zz0j{cFTBp@5x0=f`8)gY%pd>(2tWV=5P-n90vyigWyKQm`4k?!f9`P;`TW~ai$@>; z0SG_<0uX=ze+6XK=kHfZgk=W%{N<`75?vk>+^rIwdSXf{`U{oLI1VD-yi@12tWV=5P$$51vq@4!cUJ_ zDp0P2oTOL>v8~TPY76o?ALkvO69gat0SG_<0uZ1Q;BY?I94R56JM$o)dv8WQry9F> z90Cx400bZa0SNF>fW!Ixn#KQvd~Ohce9p&thvx(V2tWV=5P$##s03uy=WjQO2+Iui z`KOS(r0j2*DaHHeqCS5`M?$P+58`=I`E?-c)OG3W29R}0Bk1eQ$vQ`K`Z}uPVawxO z>+@ILgmn;G#tx1H0uX=z1Rwwb2rwbQ;rkTsGl``FbNSnJYLB2tWV=5P$##Ai#tGhx2)iuY`Q= z!h?M7u^#!HiFts1KmY;|fB*y_00FiL$g0m@e*+Pg8SL|qBX>#J-y%&u7xno&k^S~^ z6N%?Vb-tF7bxO|kbvwwqi23w&(PW*`GWt5I<6+C=T*zM`J9P)fPFv!0uX=z1Rwwb zwg||o&tLOA5tbS3^A9C=N!i~bO+FX(`Cldb?eo_W&x`7O<&bs7JLu~^k#zwF=<8Ib z5PQ;&rmv$q9=1HrwLX9MRaghHW$fTMAOHafKmY;|fB+K$UUG%WzBN0#u(!;r{j-(k zj)}|U>eN$K({jLHzDDR>r%u%~fgH@fhM^fRF#GX|1T&a1aSg^e!#Kk@V`tLA+{E0( z+{E1E%VG@IGhEMbJ;U`3*RvmZ^MvMo6)t`XuK{=sz-s_r1MnJv*8tpi`u^(xUN`Z& ziPz2VpD#>iW6Vv=P0UTqO=MbRT4dVqzYgGa6R(?i-TeOff=v74^95!wW8xZvafWe* zamLQqGR#fPP0UTqO{_P6{5k+Lm@#qf#5lt^!#HE-Ycx4GIsEfXo$C#+{Z4AipO@s$ zgP&(QcqM+04-?-nk9|M@0uX=z1Rwwbwg_-IpDX<;A)n9XK|WVnfqc%Exq{<>00bZa z0SG_<0!#>SIG;zfm5|Tp@gSe4{fT_e#5}-0AOHafKmY;|fB;(rWcB;Nbh{B@nZe%& z7DMimvcF}%6!~2A`@l5F-^-P9mj3s03CTLSy2SIRIXAP*_lLCOM+T6Q^sV(tIN z8dzExnVAZjR6km$`X4#+q-gijuKk;`phN9PIYGVZdIf>Ck+n%pqOPg0sgOr{%gp7`zKwA=S4LF_L6n^I`nm?$vQtFeO)qHr)ff8 zM|C`Gd7Nu~{wa&F4r0sL!ErzU0uX=z1RwwbCImQqpF(#!u~eX32YE@c4q{uMf3Oeo zITP~$`+xuhAOHafKmY=45#Vq>&v2KJ&%Jq&&z%<{pR;AI;5Z-v0SG_<0uX=z69OF0 z=iZC|ALR4C-pJ=n%meHL0uX=z1Rwwb2(U#!R(<|TYl*PTV4uG)xl79amW5Khe=h3t z&m;Touh|mMi}HL;B|ek#2YsCyS?BIXU#CUZsV<_gqdXp#e1dCz{&HSe2eD-6;4mNn z0SG_<0uX=zBLW=0PochzSSnDigM6e|2eGZs|JDNJb4Dftb^-wiKmY;|fB*zoBEaE% zo)jt}pD*G;J`eIhK4-~P!C^oE0uX=z1RwwbMg%yV&mE&AVFMZu6vaT$WzK-g6*z!2n`uw%$VI9Plv4i7)00bZa0SG_<0!#>S_&$ZwWn!s7 z+2=3KI*4t3{uS=X=S<84>;nQ2fB*y_009WFMS#QkJR(IxK3^)ueG0ba^J{L%=WLlP zI1UIv00Izz00bbwgaC*0xlxvce7=ka`8?1S`J9P)fPFv!0uX=z1Rwwbwg||o&p#ud z2+Iui`CGh_kk5Uk$mgOy|M02A845Z@?1bukC6aZa7wPLBkahaW^mRpK-IGW3byUa0 zmdCl)=kGWN>mas_9UKP)AOHafKmY;|U_yYy_bG}$5K9HhKL0AKkEo{$@;MXp z0Q-Od1Rwwb2tWV=Y!TpaJ`a!^QL9Lq&zJKcpO?)-K4;5Z!ErzU0uX=z1RwwbCImQ~ z&$Sy$$mc6~kk2p8L_TL?9$+63fB*y_009Uhn)(NrYtv`}}oVNyz6brO4-^ zK7YkOh%@B-lD^-*16k+yp1y7XS*Ix=4w~xxo0E0d8qn8K{r7BnoNIml0nS(lv1RPw zI3NH42tWV=5P$#^0vx_ik^ZY&|6`$>_{MScEGe-LNLxdpKks`Iss ztaI-~U$=v-Q`Mrcize%02GZA29S>U`=UShC(jQm{v1RPwI3NH42tWV=5P$#^0vx_i zkz_+G6)5}s*GjPtVp|`P|5W62CguV50Rad=00Izz00h_~z~OxE=qMqduj4^Jx0`}| z&X&1?zP6Yx=rRWL?>0`Z|?q#GZm? z(brKO4_hARTAzRMWUPbOGInqr5P$##AOHafK!6DW4&SGUSV=4uDEs`SSqHJL&p&<= z@;MXp0Q-Od1Rwwb2tWV=Y!TpaJ~s-Gkk2&b2;&^$7-I zbTxyj=1*VZgFu1&hz}5e00bZa0SG_<0{jr*@O_GaSYoL_xef}DVjaY`KB8vZkk9!s z)9@@H009U<00Izz!1oDoIG<}LNyz7$d63Uzx*3X{NW6b8#(@n8KmY;|fB*y_z&imB z=kt`C67u;L9^~`In#kw8n{;?W5P$##AOHafK!8R-R(<}C8AMoSu+Kk(+$Cjyi!}LM z)aSp3?6+4xL_9Al!o6gj=1Kax(`4PX1p2yUvd;MieI3>Du;p>C_4ylVU>(Gkv4i7) z00bZa0SG_<0!#>S_&$aAb7HALxenUOgZmWCx+0%5F%Pg02tWV=5P$##Aix#@4(Ich z#S-#)AP@5Slg`NJY?&)K4hTR10uX=z1R%hK0EhE=+!qP?d>aq)c~mFlb0+2i_5lG1 zKmY;|fB*#8A|R_ie+NZ=|pMMg$OUnM1?Na1(QJ;Sv*>A6uE}`FkI&mgdpV8N; zk##X|>Fcz}I*W4pI<|}-s^j2VpTBoUtb?e|B_4+W1Rwwb2tWV=d=%jDeG12B#L`Qq z>mauMJb#1Vkk9!z@9>-;009U<00Izz0F?lT^SPY5gnYh3iu)97%jc@<$mdjJ7mq^# z0uX=z1RwwbJ_>L+pNIC4kk5m7kk7N)BcJne-r+ex00Izz00bZa0V)Am_4#Y-5@DIa zKK}@Emz4c2JEh3yqCS5^vfsYA9`U@W{2a)-vL^I(USwTRd-}RfWSwqz`Z}uPVawxO z>+_FjhjkEJ#tx1H0uX=z1Rwwb2rwbQ;rkRu2E#q(oqEb@S`PTj*9g7q)Tw$Vkb~LRFf`)@W`XeCo0yxJo0yw?S&ZR&hU*!wXSkl>diDcvp3uCn!o^SFH2|*xcn!d70A2&|8i4yw z-+vvz>n2_|@w)l_^M%Q5jJb)qiMffniA;-3i%k3d*8#k4;&l_Ro8LcQkZFH>zQ7D- zOk86y&M?j}&e-`{hPjEkiMffniS_1>Uk6|YGbXN`7-tw~7-#H!jV9+NhkuSw%nk`Z z$0wKvKgXwGYy2D^Cca-D`+xuhAOHafKmY=45s=mI1Je&9!ZL%u4=j${CFRe-mnNT! zejivk`FpuC`Vr5I>U<@Vbx(%V*F7NXe9h?VipV;n?euk2$HSJ#x%T_OGFoCC#Fnvx zRG?f3?cu?FiZC_gb0+2i_5lG1KmY;|fB*#8BEaE% zUUp7GJ`dqRK6h_{e9o4+g5!Vy1Rwwb2tWV=ObBo|p9fu)kk9w>AfFFzj(pCPPET|07496zyKxwSQ9# z72t3_fAU&FKHn$BeG0ba^Uz&b2;&T@|c@*fMr-91ws21Rwwb2ta@d z0S@1%&{QRsUX<&gFe%nSZ0jSc+Zg$riFts1KmY;|fB*y_00FiLa5$e|Ya=0_ALKzk zPicsJ&X&1?U`ypbxDos>pqcnj;-nIRGf%C$#tc# zqdFe8JkGT~f9D2R2eD=B;5Z-v0SG_<0uX=z69OE*Pob($EEOpG{KKVK2eGZszi)ly zb0+2i_5lG1KmY;|fB*#8BEaE%9%CXQpGWW@pUWvBpR;AI;5Z-v0SG_<0uX=z69OF0 z=N986hpi{2N9MT{CWO%(mcEYac-Znd*ZTZ}>KTgB)ih1j z{OL=45Garz@c{x5fB*y_009U+6{XfX(+6u_$-#3y`1px>^00Izz00j6Uz~OwZyGBAjkK)1m z=N0nE=lqyycoqhsSd`|aH~6FZ?KbS6II9YSBHM%J~Aq_5K= z>*D^RucJI3mVAP1eg0)%unuC$(7|Cq00Izz00bZa0Y(Hke4pZ4GO<*k?DId)gZmVh z%8}0*nF!bk1Rwwb2tWV=5MYS_hx55}ri6Tcf(Q9L;4|_$OQs4A0|F3$00bZa0SGW6 zz~OwZlqVsdpX5P4w=Y9JXJjH^ClG)D1Rwwb2ta@(0m2XU*Ljh3a*yciHj#CqFX-#2j)yIeTU#0!2n1~e*9Pg= z9@4azCbb`T|?Iuq-d zBGOOahS)ZrN$gK^C9xe%ZmY%;+bXk&&zC(Tw%y2WB@5!`hbEKT#mk6ot=U9! z0uX=z1RwwbehP3npR2Z#kk3!^AfNlcM?UB0%)_&S00bZa0SG_<0{>e;R^JB_+J(rG z41OO-%dQggd7KpaT=ab);m(AY{yXCP4gR;DK#)k*Im?OX=&$P^kabE8>FY$_#}J`L zU-$LbXWKT{`uy!m#J$ny&$bbTlLZGHZo z-yxsNcEsbWK>z{}fB*y_00DLja5$ga4Uv$~&q#5ff^GS{xCr^2-7^SB2LT8`00Izz z00d+!z~OveW+Wk>pXEV5f8L$=Ii;erj{X*r1U^Cl0uX=z1RwwbehSE{&);t>5tbS3 z^Ov)gkk8|#$mgOye?{{50vL4?fB*XHQP6>`v(Tom8$i|-52CLV{eFS~L;AX}kArR7 zToR83*F}?c-d^-|RL8@X$GO($-?_wCj1GPN zVjS3j00bZa0SG_<0=yI8@O=uu&BRiHavk)y6zd?i_4yYUBcJnb(%}g~00Izz00bZa z0U7}g=X1?H67u;49^~`*BII+L;fqf}00Izz00bZa0p1C4IGFZQx5qokBr>~%SnvGJ}2oapW#3`&+I`ki}Li@w$oE&F`Nt zOlD)uP0UTqP0USXT4Y*e+V8&(;B^zPn|R&){`rDT`{VNkW-w#o8iR3$afWfm&et-` zP0UTqP0UTKH-G#(05g~|aqYx7!#Kk@W9Mr$IX5}{^Gtnv8P6r65D*xFOPjd00Izz00bZa0k#NmIG?NQNyz8dr1*KJY|H0uUm~BgWv<{jAOHafKmY;| zfB+K$9M0!S1`_i5bspsN{O8E$Ow0r90|F3$00bZa0SK@~KvusG%)*ig%MAWLuxsQl zDf?S)NRiJ)zYlB;`FpwYbLoFC*Iu%&Wl!SyQ=Qk-WL?|<`nqJY&Ta&K9o2r=@;KLi zA6V=&tb^Dxc5oaJfB*y_009Ux1aKmY;|fB*y_z=QyY^Ld1agnWLB z2l>3^6XbIy<^lEr0SG_<0uX=z1lS@Vt3H3-KZ&r+V4r^sxl79amfKR~b5Wmv9@%eS zW=1?O%JVgw_>7!AeVrOv7wSY`r$yH3&!?}WJRX*Of@^*L&mUtQ#FC+d!+-z;AOHaf zKmY=a2ypm5g~bM9sX)07x+BFph;4mDG1=RS(`r&&G?`J7$|pM?Mf zAOHafKmY>#5|CA&zxr_^EHl{WA4KkwvcKi76!~1#=Wj^%+do-KJTI!V?m*V%ucxo` zBJ2Ei(ARAu>ogD0*HIl0TOMaypTCnLz0A&=SO?Jy;j<8c00bZa0SG{VUjiJyPoaCB zSSrYL9mI5>f59*G%_fB*y_009W_OMt`qJmZ>#e4Z-BeF~=Yc}pew z@wDwM@;SW_J_`W|KmY;|fB*#eCBWf)?wuwfpWov^KKGRH{(1Y8$mjf;adDu;p>K_4#{9SO*zJLCJ1NnTDJpEa|y9@c8UI?Fs00bZa z0SG_<0{jw?RiA&cDiM|$?DKd2^&og7PmZgjjctAYeiGI}MnPByadoWWxFG-m2tWV=5P*O*0vx_iq0~;oIw*q!_bDtT zv%ZY13vEMRw}Y(H*PyS9ChMN`p|7Jl9=1Hr zwmyGJ>!64Ltb^Dxc5oaJfB*y_009Uma6op1-7g?y(8^ zoQZjWeLw&L5P$##AOHcj2yi%`2iQr-=UGzRr(jz?*WZYI&X&1?^{G00bZa0SG{VEdsLY^G|Xo!ZL$>{omvF*Qv}Q_H=D3eI3>Du;p>C_4#M4$2y2D zV+Y3p0SG_<0uX=z1eg%u@O_Gm#l%v9vd>?dbr9S7h{Dz(pEEHJun!1800Izz00bbw z76A_Db8kNh`8-F8`xI=;=k9Bf&)G6pa2ybT00bZa0SG{V2>}l0^Ok`U^7#`U!^;0Est}p&tGW`)F&Rf&qaOyYsh|kix6TbROf3iS!Z{IzV0+xS9XfNE}5(gx(}pTFQiK7Z+LDmGMV79%x(`Vt=m3gkz8fB*y_009U<00I!;hX9B3 zdH#C|`TQjZ^7*8C^yA2H9`ZT85Ize52tWV=5P$##_$45#K7VgHq7Q??KL28Jmz4c2 zc~azaQJ;Sv*>A6VM?$~7D={AQGwJKp$hs#l>Fcz}I^PodI<}8Ow)OejOIQc>aKSo= z?PChZ2LT8`00Izz00d+yz~TE80S$?z7v(xAUy5~*vOuGjS5BZ<`@gXUmR3e)rh+Eb zkJhRFhiu~!X!p{tty30ssQoA>s8?ODAh0&FHZiDvq^7>6R=)QC0)e%qfq`80BUNAh zxm~yRKd1cHq#4NPlsNbV1Rwwb2tWV=5a6Kzhx561O9}b>6$kQpzJ&MBJsgnFc{uIx zlpp{B2tWV=5P$%s0EhE=N+%xVa~;te@)T!Ce=_np1q~jC00bZa0SG_<0=yKERiD43 zHsgK%8RRZ0`&$a6c>i3~=Wj^%+pAa6_uD&=b(+e=^QRglUS!?17W8$S$U5ha^mSDG zVawxe>+_ei4r(|F>mas_9UKP)AOHafKmY;|U_yYy_bI#w6H5ikb@ z855DunV1LI2LvDh0SG_<0uW$}0EhE=OCt&SypRX^JZu8;Ia}rmjspS^fB*y_009Uv zA;95$9%s#ie11tnpMQ=W@;MXp0Q-Od1Rwwb2tWV=Y!Q%EpTChK5tbSJdHzY{E-Cw4 z-bnHOxv0-Sob0z(>Pma84{LLif^U*fQ=X{%U zcs>w-00bZa0SG{VPJqMtT+UlUJ}=@xJ|8EckEp~7`J8V2;&Tvy00bZa0SG{VZvtL& zg~`4(PwK+nGOPB_R+>8|E|aTMPgzaN0e|@#p?94+RnG)+F#8&YX1u`c$0riZV8+BX z7~>4%4C9QQNe6Qia}#qDbCWNNFe_Z1x1w(!es(E7W}1XoBZTs>z}Ml9?&TF zQ%d`(EhB!t;h`M2+4S?8K6e*3T%W4bcGd8uTOV%i9&_W_> z%f)ls%ykLAqExWYWSemCq;6UF=7hiZT65XwPO}Qn5a+?!Mp3c4EeqcD8Iw{PTl}_d zwu|d|^Ouw2;ykiTzs#QLpMI@syI#nhG3(6cdktB=xKF!72c3NmRh~_m_}7Sjg@Nz( z`+WF)qt)uv{P_d=dM0E=-rH$;#C2-xodef5vCLnvWOg0zjypcCP#@CYXM}ya|Gvwq z&$l@{z0Qs(bnx4HXQy$&j*%zkZP|7Gc$;o_j~@={Y~5$zou(VD7o<#oe0H$a;^+Zk zeSQmUlx|gU?Cij@>>*3vn#SDmd^>-r&i%Ku8f8E1eqw&it&>~lz8W7tz5k4Z($E znU>`(9$Q!1yqcAIrSjeVCs{-N$GE@kJ#F5@>6(H1ORRHyR%LulmUcLNY2jLKDSHFzzRNtT-?727IM3xHn_r#xww`~FO)slJ+V6 z8}lNkW8L$2PQDlsUa)g?tVh=8lmV|_j5SLew)pX1W6G@y${lxySVi7C8EK)W91-Sd zymDxJkC(|O?}rU;)n-+($C$*!*L^k0p)zw~KW#p1o@Bt?i-igSy=9YjH1ECo>{@>w`(o-U&0iXSH`K z>lzZN=U9?tdU)=^Vu!$ax3)iTe({LKZ_isV_}JxGR>{CeqdzW)xp408l5oT4<{yMN zmQRTql{)!1o5=VG!)*`Cqx>g6pFC>(yg%+{wTUo%cPOTOX4A&AT#dD()Qk-_ElvA$ zb>rgIU8KCc&S+!EIO2?)$`X-DW5qtthn9e zmkW%fynrQkt^Y-^d&g1jnh_OKGotF6FInXqI&0K6=IyXe`tmi3mi;&Mr{o;#3O-e;=UZ#s7_47!t=@6`KQ?t9yj#=+C)UU)KWNH0GR z`zwyG*ME4nsQ!^tk6e@^oZA%KvT~2~_+;Wc=%8lU-}&+96rX!O$aZsme0Y+^9cQz^ zxmD@AtQxNLE(|R>EIgq5Jil?_jSuR7-#YUy^kvM}wOy)&Q|-15*dKMYWahEw_nTgw zx@f&i#G;-X?(S+*IK*vo?4wsMrE4@@TY7KN$oD$y6C4tF?2^U8)P&rO2No}z-AOys zzTn`QdDpF4-z|T9$g3)RUbkJ7=S3~}>#Wnr?iJeydb@@sEVO+1vS9d)m+4!M4!?5G zHqR|`%ktb4rmalPD#p#UGkx3M?5{i58|2RpbS(%wdi+d3V^`C2i)Sc5c3zklu(s3L z%g=51$2}-NsN-@g)LNm;#((>l7}vYfUI@N4^xZh)a*;{i@NUOb_NvyM;^LCLMn2}R ze$|6=+=QAzc_hkz`Q^u-Jl^zFlJctIW#DUeM=x$l%|O(j`)Bo~&EfW?zgONq{j9#- zT)F1$5|q{`>@vS=GjNIP<(c+oNAh)TBX+$_zu)4jlE#I zyl2R}=6bsxc6jl6W2;=Xx2=zR-z^%@%xvq{wKHxE8EX`#^m&J3sMnD;!L8M|&Nw{( z^lhD?Z+#|IM$Z2-GIp5^w_a|^%OEapo2VzoD;(h4V=_%->kO)tRkRQ2_7 z*X461vnKnWI(DgY*WBNAUR%x>e)e9z`5wLY*DV`{_DuVAVc5=Lvkv#vS@g_x@j9t5 ziy?}cORTb7hxL!x?O)G-Vu$vRTICYi;$Mnc^njh`==1s+oH`!G-Hy1UoUvl$o`J=^;n8iubYiuXy}MXX4TO1FQNj8*_E#%Ry&Tcb&XD+B)A;YuAvg z#<$JPtlzc2Kfbf4(yru&J8j;5^qIT8f1`sqSd z{qfcC$n&l0J2p9fSf_5Qp1oBT=I`mG@akiy&({<`#JKuf#!t+vdwkyhB{NmWCw8&6 zbxzxUcZVYnXg9*Zx4>|d(Ygo_mGJv@2$ILq3w91yu%koz3oQzlU%Vl>_uqbl&k*}fAu;c|Hdh%UDiAL&*vpawMdb|DPImfadO@5RZ5|_Q`WPHe{gnrRVapR7JOgt7c_Hz@Poi1(O zjvqTdp~r~MRi7tCKHK2XME)0uW zA)I?!uWaQ1v3DMDO$6Ki4^4`6kg9Y9=^}_AHFT6-m9D4=B1o?y5{fjbqV!NCNL4_j zDjPE-#Y380L~ zSxzMNuEKq;MDt|WQSL@Ik-GT1lO|Ieoi}CHOr0(%2Rmeo=Haz99z9K;u0Ydh>O>8X zoRWto+*VGE4^Z)SGY=mhg1Xb46&Oz?gUfz^jk8%u7MAFZFc`!&O?C3KJtRWJ5-llo z;o%%Qr=L=X%ikh*7U>MHitUfT;aq&pdEYz5>BYyuJ25WK<_LIdOBD~q zAgnHs!E{w2V|YE*P#XeQG2uKTr^b1%dihZQ4IM_efAWtHFoVV{wSRIA`1eZpHRje~ zgO6B}qzZJyw@99}uoma2aZ}d@M>PL8zTxuCXX9OZ69cI@wq}nnE<>}Vmb_llKb!;W zUIFh?f*Hw-5lIx|Kf4C!Ke+~KG~veAjkURaw6s+A%8#_9dV0Elfl}BiW4`swYrds1 zmfSKya3!Vxf}zGTudo1H`Efp}Tm|y+IB$Ji8N3JAU`kCU%2!Px{tBL#TPMaM%H)2G zAMxyiytW}UQ#{9IT^Z+sos}>mf`SM)#}BIe`3jMdN&ZbkL*?a*(~*@weZIEixm6xfA_&gQzm3G#)Q|xy4>9_m@p9;1x5>CVQgk4|%-O!K_ z`L~$>`;IKt@&NJ4fNE`_Ro}biYT9F;vCSTb+*TUvPZT>U_=Z!Av_P2hK^2^4u)9T9 z5*Bd$y&c!Z@v1?@!<-?4J3Jij5Cs;FR!ZX%suVbW`1NEjg}F=CUkn5N9dlk!t6wqo z{gQT_NJw&7l>acZkN==*%kdlKoE^Go!{-onrO%A-jV_&k;6N#0EM(kLUsrH;Fgn_M z?x`NlGAgr4z|gaydm_e$X-=a@Kh9i)Im<0FL96fQ2umgV47&Nv)#z4!KYh2YfG9&0 z@me_VJC3K~C^}h$l2FdF9IP#pIYU%-X-xUw8Z3SeH=ibPR&$m-6h|@D*{Jyua2&+T z*_$eoM^xNLdJ??Z64vXBCGa%G*J2$cTO5lG2lXib-C=5T%U|8ezaP%ztA4k6TokdQ zlBGEGso-%LRlb&6CidlzjO98{`}K5c^f+WahXTT?gNEWMc;on5TM^9jZQ9XfX5;CZ zT3NZpi=QzjX$rKjAJ1mPDV?1Z?OW%+)5f~sP??bLdCt9TVr_y&;=^^$%5)Rag&dOm zNhTv~N&{DHhq6(XS4UiJ?+L+=-2F5@{-odVaYSfIGpn~xvdv>Q{)@Gy)`c@!T$(9u zSawj98xg}{^9pAZn}>oPs|ywDYy{LGCBfYg4Pp00G)}SlJMCmk^_3NPt^Sw0XA4xO%(ZD@PQacUR)2Y~X!V zV;2l$;^whCHPr=e4>^%MUR0k~flJ zHA}{-9Oh@cSNcU%_#_Ld4YAuZ%fP?_BENzV$!gj41Z(Wf;L?g1C`xl`v~IQJ0!}(E zoaUaKGGl=X#17?*_r>4>Z*x=pb=7@2EWXG`J(WG?6ZYcdo7R{3NdoIUaZG_#$zmnz zRL0$_&OApKqbr985~dplUt<)M@u60g%ir_ouFUU;tt;*ffs$`*rJYyDzGmYrD@#=)P+@e=%{9bUQ3*BVn1&GtxL;ij1JBst^;`JJcAPBxPf=iO?e4pVSL*bBdenR3nP zGK$pJR_BUJ6q~X6)YDm3%-w!MBlIdzMc&3g)1#!hJwH-{RpbSM@_X!hn^3|_-2VQZ zD9|yu62gNj;eN+Im(z%{~W1*${+_fo0HVGQ5Y ziN|&9(?}JOz>{QBUZ6Oczra&|Kh|FMR*>i4QA$4tzdNW{${UVu->NK*r%nYmbYtp zYTVhRN5#Y_k79T{nH!YPc3Hh-MZBKD=9P*d5^_JJn^Mj_5nuWv*v_E}@t9KNBdQMamug9ysy9U1U zy^P_BPv?i;?m$6#EK}Xe^Ea{PgD3TT`tJ$S_e|Y{yCF^`GT9!DBSQ`kf`jD@P?pC> z=n2TwO_fa_LOUsMq=&vL%ie!{ zx+%n^IVFY*_Tbg=)f1eatUj@mWSwDoJ@)6`Q`z$ABqk-5KNoUF{;^mV`JTt=k-#H? zYZwFR6|N&?E72?K4@o1O*B(!FsN$Ke>!-F%YTOc~(VjMo=skm5?^Alyd{DcIU|Gy3 zUo~HBbkW^jl}W=x183ShMM+lES*0+;;HPBE+xPO~DZwDK&MXxaL*Va}NEw$Q7@tn_Rk$5xBk?Dh2E! z^wO5broK+rtLHrsfrFp5#+%j8IahQ$Jkv7Mgtmn>dyeYIEpnaXm7!QTdDH27#8lDc zaMT{;a_o?@lDK%>rDkpG01gpK_*qhHJC%gcxrm1|F|}cFgmt|}F=85CorTU~f-oG- zP&I$Hv6H+4@EgqeJ;pa2T4_!jFTTMIeEK!O_ieSX&QW&xw2T(hs|%rM{sGginZoCn zzRXB5y49pcTj4_|=+jvyu+6b ziXf~PlY3nrmIcN@-4L>gT{Fonq}cPS32KIAyc_#-40X&vy-m^UQmS(MyWu#$Ie)fR zl|`YR#e>y}nG06Mwv%|-g92YC6V@)L*=ky3=XZ$-FI^~gsrG@@N1aQ$sHiCv883B? znZwKcN}5JiRz!+gvG5s7AGPZiYVQbCnFjkgN{Q<$knUocJ#VXg`$NfFo-?||$7(F; z%?mo3W>o5NoO&_t=EXgO)~)!{+cKjuun#&llc>#+c|YJ$4x&9ln8LpF;x?-YUJA>5 zHx~00xcg&gHRl;gZM|*-!+^QB7D>WKlQqqpuLS(VUnUHATf@piFPn_L!{SFewxowb zv-YJL8!lz%P}+4_T}F4g+ku938i>&Fs42aPnK_C_(JIeFJEwS_pH(1;ZY&m%yuu;O zIB=4efb6Y;8ruY4)T7eDS5W6?co`#NTOK3A*8{U5yhw0CQA$!mhhV`>?H zv+{=-%BxB`NuiufVynugI04e3c&$^QFLn-Vw#i=nw)~wRnitCM3!;%a4sg=co`m6Td5ZV&=jj7qUmh83Z?1o}x-Hr>cOS6#;Ebc33EqmA7mhy^9mNI*m z3T`d;fBN1~*->2AC!ordhmmIch4$ujzD7!>h5q%+ZZ;i}3hU`TcxkO4#2nksgeq9F zL_A+mVX}oej70=F+Kg~($MD`DfB?{W|HBuu>9t?Vd_5yoJ@hJ?1C!+ zr`rvuzn9BjOyQ0%TWwiOc2RTYp>K{{Tr=m*yZiCvvpEykgOjIR1SQku@Ne`s;t;FH zoz3$yU9ewUgkSRmx_ch7st~G->6{h!xf2)ef9}C@UY&> z5%&t}VdJ!hpzGAP!3^vXhT* z>BX$N=trt1MXcH5dg${TSf-q=>vO*Nlc+S^oQRb}Iq$ zHKSVWaj02qf{Ys7lE5`jDtV8=z8E|+CX7&bo70F8Qn~fIkKbwezAvQi$LSK*uR0j( zXo5CGikk=BQcDu~&6BtGih*6py`2~lJp)4SQq9X3A28BJN~0eASg7ttfv;p_%X;!0 zD)H-4n2L3s{D`x8i_m;sK*#4tbwLi-(&ZLaQk-V$SGpcKJf^2u6v$fnoV>11nCF=( z!;72!wAVm+z@E^%V}AZtsfSkjgB$wux@(y)+Gv<6*)^~OPg1lF&^kqgzT@FzZ<|Jc z$20D)@L6qo<(hUu+}mwc&|de;BDvH&6n&Tn4xb#*i20}+{B6%IM3yCD-H)*q{di2 zLzsnsVFY`5&>05h2wE9e>C-WI6qhylw$7V}mLo`E{Dr@YJ(YxF5;eR`7-mgH*;P$p z9L)Gdrka97Frss!`tT8ri^`uenCjKnXQY&^I4w01fo&oe&R!}E%(+xi#0`1Db?260 zyq>4mg?!usB1fFpQ2Z#!#YszO7&xxRAq|7c`WjCCcYrhHY29c56Q9)xa_z z6q@}qhKTvlIkoOE*sIk<1C3`sSAu$Dj*iK=C9g}PX@E^D2TU{n=4`vEe`ur?%j>;j- zF}I~eDxwiLIy$U)ahA<4C|W&N?F_C^oqrsHZ=zg`?=@*+>UD}k_uAA?S!ol)k2kC6 zL@N?m_L39k`d`fv^eipmFD&`|c{l}kK3M$(7owHqr5aZQqE$6whAs#L_JnWZAAa&Q zix02L{rvN}7`T$n11{w`rghv3J!K0<2j#bcR`!O|SmEiUELT~*OO21w3gC_D_g`IQ0B_I> zht0zFUtERt&3IhKv8UZKIwy^L$RT>&f#tF`AQuoT6Paw}v`-a9{hj64v5? zAg1bH)Slj0Wz25&?`Uv8#U2}1Mk(w*tEEBZcE^2m@+($iD(f<{v+4ZYmqvYg7=Ez# zbBD#Gn~U<=;;YVIzkIDTHQ}D-E-blksNDBX1s0>wb625Bv~?yx;p`JNn%A-@aJI?m ze|XWgA~jNa>wp-UFvc%P(7*x6Bh^oAjB9`>moo*D?s85 zTQa%@YrRDd|H5}SN=5)WGDBE%or(Pdp@MRZ!pLcBP3Ii{lHe?p8#?AX6&K`VQdc({ zHi{@6s^5Kw$NLHmthv$;d!h{TsR$xN8xvtr;w{2a%b`36>puKSXiD%D>YKIjUaD)U z(r`2m?)({eYNG%gzfdfzmq$>CspJb>ta6OGdyJ-zd20N~5QSl?7flk|P%5u8rcFaYS}R zzvO@;N1>THL7XMIIlS1fL;G}Ycmbz7eTG02y7-XyBSHdC{nhFt7f-6kca}~q9^yZb zGJ9osgCDW(mHm*8KVn^VmV3yvkdx7>rux!UZ#TY3V$(k$OuG{K#hTL` z&&(l&LCu5&#-(F+#5H)}GGX6)do)oEJ;NC~wPaHAlAN1IPVnpA?KXR=mg)WGhBgNK zJ?>1R6If9`FUX=ut1w2Q1#Rlz$Jk6g66B`->P~AtT{yBjB`_PkRAy;#_mNFxI*M)j4asGQaD{R9vH7ZT+0%#w|aY`X~eQP@4IHU z1BFEbrJli*g)rY`M*Y?hvIVZV?@A1%&sVUIjJ=J=cMiE)565ej)=MU-in&^E7y0zo zNo1x%tK|C_s3{sJgM~2cs>|)hy zjlwJu$|!k$4E$!35efdm@7tEbA)E}TZ0+y3xRzy|=Mr$U!wY#T4>$L8$sFNF4dhQe zI`&OogY>~;xv;~g2$|l2;j^eLWoPpRJ`BmWadlMj>UF!yijT*|Q{mu*=7bl@TPHR!YJU*{AMB2ZS& zPQ>H8uS{_MzG8is+=^ZDJY%e6gIu!M^lhlL^MavEiQMc;S>fYenR1-(8U8)gDntZIwXR$OzNdo4cQ9cmKcfqcYI}@2`#8X0Zf4*$dAY$B z3X5$_cd@G?E^@odAfrfJ)W+JEbBUX~HaO0l{v}73Z8n0)Dj|WR15ddQTRPd%^nOiE zhB=dX-z$&dTIP&PN(`t@O!WpWo>BXp-#fyyyG)^>Pn55<~jo$uHK`g=|NKMaf zEZ>OtkmD!MGaHumN?|8>3wq}q({E`)VOfWVXc2ktZZ?;P~fUEjabiE zX|G#~%Zi@mT#z9_;Ob+Wt`FZ{z7%@?d2xEdKIq0oxAW{*MKmR4vXeGA@FRJ? zc{7wzlS?5Fq<^>(H`0xktN+D~#!46A1tDmhnXXgPMKeRqvhjL_ygWH&-{wPU;-W}Q zruik!JM>5K@;t6KF*JXXm%_93|EJ-|mP*>JwUb@q8vUd6*%K(^^goBAi^W`(>{qzn zf4ytF_*_*wQ2cTrtE_X1zh6Z&Y1&zTZ?i$pn`Mkv>z*laqex5jVm z-Ux>TzM?^>C0JA|8Oy6+KF^VAkgu1iR?s1~J$0V=u|(yj8}*=Xy3rjL_x<#t4<(0= zKkIN@h-#c3&n~4mL^RZslaQFAVP8o?pPsR)*Z!CtE%3r2#%B%^YfeDrWAk>6RoScK z!O?gGd|8tJDOG~m6YM9+%gA$EM`qQ6CnUI^t_GL9smtU|u@riETWIC-OD^?=ppB`w z_fuB;KDdT|urVZJY+cv8T4Eis#=@3x^$CtyGWyKrTFuWTFt%HiN7j?|$g|aWB;TRc zXAU?m^_GT-B&R{x{G#5(#^=&{;n1xi)-K1-_VEw7r}%`cmLGG$j`7Gd4H9eg_aof&Y2OYBKe0FA zqK_A0E4kpZwvjmQ8i{!^fG5(DmRBrsy~rW&^Qu&M-#fGgj~WfBm!&0)GtRIk zFwn>Qc?q*oS*JOgUYez;7UbQ(cJweT@rXw$#-=Mo3ZpJVxd+-uF~3en>ADZckQ;DB zag0An#|k0xfEH2+o*wps!KA8Ph)(o;sYooM(3cM|ZPi6&hA8M{KKhuhr9q)(o+stE zpmqwks-}q0@BO=a!G;xKk?EDV*^&mQtmWAwP{Yr)(=iQ8vu6bo1?@?_HtdgRe!0+T zd)-b`yUFjveY@z3Z?icNqc^(^ikyYD))NX}eCt{sAFA?nY2q(U82`?i2#X>zd@R8zo8$c~tSM|;7Tu64Tx{B$?<_qENUp}N%mnxt#urkpnwA3DX z;^i&OlV_{-9{b~j2~OKN5h7ye>b_a@iS>)$!a8O8CY5e4MF*`mm#yjdVU@ND(Fb;8 zsXlF|HM{E`Tj9-BUho1gnf}dL7Dk{+zc_FeIh*y$fp2aws*z5OrQ;HE*4-+oSfBNf zoh&*`Ci-&kfOGNDnM*`)nVz6va(^xjOt)$WSrhFiUFe$f>DMyy(vB4M7e+KM#JN{8 zKq@GTP+M+g>!karI5+kYp&;kBuwEF~;XxiBO3-Ix__Fg zUO($B73BzanHGtV2I@!b*mY7-Qb{dViV8t0EA~R?Lb`C8FFq{8=o82pJ%o$}3Ve>P zxY)u}BoQ`F1Xpw8FX_K$$4eWCoG~aV2$4omOnKHE=ksl4f6qpm)@(pGk8>CgIp=P5 zld-swPXjFnm-EgSs^@UFulsYZ?iDpV4`G+zd|yG#4WZy}Yq!gZLxUwB$~3(i3^>bL zZ0!;e_Mg*r#-4jb-OGM+c&bf9De=lk>}zrhUt%h8$=(@e>gDmrF$xhkQ_>>wNTkIG zA`uF2wSvfRi0FK5ES1ru@}-9&9-}-~u;^-L=OmB7ry;e8;?Q}9QfXs0TPx5ILfHG2 z=H(3@??Yx(GocTYHr+H|sov&f zd}R!p7~RI35`Qyl3+Gkq#SWpFiTLd6PIPl>6EHq&Mk)3CVtE+rb~w~U_hRtbDxJB~|nGf`e5IP?Dl! z^xS0nrbp)J`;LX^U)QA9V9tzts@8vM)O$orq040*&mV$y+4SW3x20*a1n{|pmyD>x zO!S0Sl~L4?^LXOLN>c+2Yu3Avjy)5Hr3-oCV z6QU;`D+$lAH5uk{a&e@e@L?w#7{lpX8HwsGOvpR2+aMg04s^xd7Odai?B9eu1?39C zVX?IvH*ZT=z72Wa-Zw&Hd7n1O;po|UQn9Z9qe(_$f!io0_UHDPTS+b6=@V6*y)O zE77rqS2p^%I!M{4RNg`;Tok#S;)rQmX~Ui}DYD@$4S}7s#d-XB-9+Jk=sA^r{4vFP z4t%`zB(9mqZAbY`SZtTozpI>m1}!J7Z@Q!VuB{dWK4&C`%renwkcW!%n;phV!Ti`` zA=%?gJT41USY!Ewr<@VCWNK0p_^C9I1L|Z&t8p4mE>~KS0S#fRgQRKem?F=T!fdEN zdeKPmLuwmYO*(S$dPZvF_hoY6RW!SbmX_9(>%I6v%#rBT%;izn2ehqXBkn}Z8pqX$ z${x-nm7b!y)KD5WJEN?yx>}z>J`zFyY2*8Y>}O9=e4SE)uFIf(RTiBXDbQmy7oFlh z!>tXy?JmX_AS;RW{l2&Gi8!SXDuRiy8bWxednpu|+wxBLN_236KnC7o@||2#&7HygoOz=6amAj%cB7{<;b!Iu zb1}K6a&xbZysyW_dR}H@eEOr?;#%2=tJsLl>*9^;uFkXHONxpo#*5jtyE8blmK-Oe zCNO2mN?O_r>~0TLclfIZ5(vC3FuyWZ5~p_5{i5xloM58w0HIP(i$exg40~+QB5Ue! zi2o#^Qdd`v8LTCvw2fMOibTooda9#9qAwLsWmj5~<)sHLZB=6Jv8sYq#oTXH3)Vl$ z9;Uf{a^CYu8l}BsbU%yPLs9aHQtKHK{eXr{PwQs!@As%4`^S8e;LbM1v<`7NKLcs{ zcmiLbm(%(Qi6H$*On{PQ>&p{1p>uSjlX7*w?p!qpr@?|cU&C+KLb=b1zVuvRW05Bi z!kYft?lw-=##kJHD|kKerb(NDxGHlu2DL^WY8D#-hY)`8LMM@4E854xC-G2UKO$)j zPgkWU0dvP;N8;M2v|V@=KQtoz+Zm<-ql*wTb4TS5&qYlXb?V+Rb>cK&7)fyvXurpL z@!UIVC^pu)*yTNziI$?3DrL;tpznL12@UiwDOc|``$X#wjaB9g(9bD8B!DIQ%q`ni z9A+|ubr#Y~=hBhe=`kkf>I*^x$UNKc`BaC`J-w<;F#+pb0Q%_7V zpX~E&PD@h|3=FEfjov@kHuQ|DKhNx4MaT(SoYa{-bq){K#Eaq1XDu#17pc8ozsfR% z{Mm@7ufI^#oaM^&U%aioHlD_rV(;kC&+>$mLdr*5>2~7Br{&hHEO@YZ#B=dMbOL85 zY5i*HvN2yw-v?y3UOa_Wr|AvCVr+PY+@2dJzL#(IOz6l@;aiAeO=@}?KgIC;ZSD23 zaIY(Anm_%?p3C0x3PHtVUVVHuPedHbD@J1cEIp>kREdN6m^~mbG zxa2v>{=te{Rrh_S#bQ;?6fV{FFq0fU97NXbVoja&vX6>lRF+hgxZ;Ez?#nP<6G!0Xp zsWVG&a=pK+Wh6Qq?_+<@*bK>h@0q~U*)gk91fi)UDoRvXVye@4Atb`1Lr0i{{Y$3F z2?)^!#*`mRDPf0@Sl7QBxQlU7oD6WqJ&g z$S7S&<;rK}0>qJzS4^tqNhT$4oJ~v~;?Cm4A#aB1G22bT}oV^_k0#d5Dx=t{aa_fS1k zkFmsNBQ_wCI^xS*-nm*7x`u3%-3 z=#SPsO#JSBC41p!y;Xhd<4d(|MwVO;$deA?NMF2~WK+K)JR&mURPPiwQbLNmjQ`r= zOK#uvqTtBt?U&JTKHirv-O5~AyhSD_4BV4!2L_rgiVJR1#;%zeSqwQhMAeL2=$~4l zE$k~@8_J*7)3aN8UHZVf5Uoy}c}}F;eO6vOxgV4E!(|yNZv8GhJ6Am^wm`b0Px9_d zw&o4L(QTN@H5=ETxX+ZpLL^aZc+7eIZLfYQRBEiMH~)TI(aqEjmX_jf^{HT$vqwV? zSu^A}NTytqiqZ_xW8gYW#MbO8aMwJPA(*sZkvmJ?PrM?IoGns7X6#;64)+szeMWah z5nAE(TmEH4IrZ4|}nIJ|sn1VSB^r{<&-zotZD;L#O7&cnJwKzXcP4DyK@ zl0pSIacf)v)Zc3Hi2^p6crt( zydWsoJ-7OM}kBzRz$CkUOsRd)KMaNhh{=P7LCqJ)2?D=&W*L~xAs$|bI^&$ z=h6!@on}|PlPYs-7vl8YKY#KlVCm|-*odo96;xF~U|}omoLMsBcB;8%yeEjAUE5Et z?IcVx(u|$ntaDDPBN8asP@|b>QOU&{daAdK38029$e$w3>QX(L zvyKAkgCK$m!(~U%i!WTP5kY$Gr=yT|8;3b82)G2M{iteantX53Bqwj7$z<045QfUz(?1XH(lx!0&U%+t&yaong zq^sI04#cb~Gd`u3n3h3lyzu(4CRQFz6B!wLkGPxNVNZPMq>D!*3gS63uhT6TMg{ST zkey&145h%y=ltLnbFT@4*SK%b$Jf?h8RgH+k2RG`($Y+ctyev*bfaB3Cb&HIDCDeI zPm#m;Y~|Xt8{gLpLvt*QoDSsNg=@8SX=(C&Xo{b^rmvZI=!Il$eC|Af?`955~>S{7IEp6}2ZsL6I zfuf>*q9I!hrm|7{}me6GGIlbLOUKr{`C7%)FIsFLeF=|44=pw}R)4@S8k1HQ!8>|hW8@7UZ|p|c;a~ERnoCO zu1N63feDdMLF?a}-Z`{i&-KMa>nNOr$Ab%oPXY&R5K!LDsy`yd|;QvvA zK>qQ*ZTGW`2BG-zc_KPm2>K6OItV!ygxr1ma~Ke;AL~)ke!M{rL(cs80|j-<0QJXu z6o`$f-PNl%u55qDW<54PhXOIVa`lF>?Uf&&+57|+a(kN(G*q;z6@?#v@*}IXS)Cu7 zCq`OqJ~pfQ?MB=s+@JdcIfPt;1(7^2p{|ZxM}qu+Xxk3?29cCdQ4IC^^YRm zw%wBX?sjLk?H)PoZl|(sr@y?r-9IYuhyJlw-1fWUApJe!pfj={4*Ek~2~-OZ00aO5 zKmZT`1OS2mF9Z(oJcR}6R_L{395izP<|*nic5hZQ382q+Cj{040)PM@00;mAfB+!y zcM&+i`W%mL4}Cs+0QC9T9_PEIfc1GM`yTpy z?f~d>T(aHU$Bqf;^W6!7wSWL100;mAfB+x>2>e|H_AAd{r zd4CwhK|8_$D*ypN01yBK00BS%5cmrT9N>8hO{uL=VaGUV@fYHt-+dh}^B(#+z7zZsMfO(3hJ?2mk`VgTMjS=WhOc==0SBpwIcX?|ZXT zTOTb0`g|ugU^yTF2mk_r03ZMe00Ms_f&I$!$9uRXmVaZOzt{FAcg$~D`vraeGtZxO zJKw(U%GQ4E)b`@rc5T+X+v#lE+1=jV&T8B4h~MsZJJsh;S^lTx`R^46jh28o=uhz- zP!B)=5C8-K0YCr{00e#qfdf2G!JNDmD(q_<^tG&r7JQBb$%}`G4~kl0Pqlm6T9ZlehqZ{LJ(B-OjhqkJ#GC zPOYA>ZC9GOyWNXzJN>NP?Haf3)(UsG+o?W(%JM%g&)7#FLA0dR)a8|xe#A{^$OictH=X1< z`J;JoA#^|9QIJs;76culA+K>>8o6XM&f2s^%I_ZvTtiJ-8U?vz<3By@_R!}dxj>)) z01RFL0YCr{00aO5KmZW+{UMJ@h%sFU(W?ZhgL29??_|(C7b0x+2(3KmZT` z1ONd*01yBKeh@go`do2h4}Fe$0QC7@_sJ>B2KpRyRX_j`00aO5KmZT`1pY4(*snbQ zp2aP({2TN9HNWqn&(VHCpa0DBAKlKkkFDC;$c{c?y|pH#d3QUCZ9D1S-R*d`?S{s7 zx7)Ekf5?hIEzf_iILJE-#6f?E>wszi0)PM@00;mAfB+!yTL>KBd5U?o^FI*nnCJg1 zanSG1Bic)!t7QUx{#!Z%*a#p12mk_r03ZMe00Msqfdj11BMA1;=jgvMPw}VebD9jG z&;O9F0;&NB00MvjAOHve0)W78A#i~8IY0Ft`W)i`=yS6@?vs<32K4!F=?GvWfB+x> z2mk_r03ZMe{2>JPE6=}*WlJpo#yo!!);;w3p) zPR;7LZO4hfyIt_MT^;4_b~|n7Pg(w_<@slB-h_0Q2j*iC2kn9ftO5i80YCr{00aO5 zK;W+Mh_d$3=NA%zKL6`F9oQj201yBK00BS%5C8;rA#i~8 zxtrJ?`W)*3==1kKf52;pHVRAt`g{j8U@;&72mk_r03ZMe00Ms{fdj11kDdDq^f|`i z-QCJJ0_gMI34yhM03ZMe00MvjAOHybT?FppkbCWwjpZ{Gw4(tse z00;mAfB+x>2mk`R6F9*7{EFos`uy+#(C6A%ySERXBhcr&69Q`i0YCr{00aO5KmZW< zy9gX$eU9O>hd#$W0Q%eqdv|~Gz6tdC?u5WvKmZT`1ONd*01yBK{w@OhmFFMfvn7^) zW1c^r?;iRb?-%s>&pdxDo2_=%)ZE(0POVP2ZKr=}ce^v&c54>9+o^2Z#X9Y7w^M!o zl;wX~p1<-Qage|j5C{D!z60t32mk_r03ZMe00Mx(?;vo1=P5G7wnBv+^Zb7$4*K1B z{>S&w=R|rypZ|`20JZ@L00MvjAOHve0)W7uLf`=FbH(^Q^f~@7%v1bseU7_Fo z?M1w{_G_oszO!v79lE>S!)?2v*xl`Nw(Y#qcDLK9K7Y#cKP}Jy^&Y=F{BA(?U(kU# z=wEPv0w4eg00MvjAOHve0)HKW13XU=QMnZ=>=*|T{X!h{yYq-D_t58u`hhpC6S zAwU2S00aO5KmZT`1a={Cfb}_l!yfva_yFkh+&%QUdLPi|ySOh{1qc8FfB+x>2mk_r zz+Xq;0PFL%&c8sP^X;L}X?uY_|LZy(*dagw5C8-K0YCr{00ed+uwQxpUSnHg`8VeI zuWfH~$NUzOUpRmMGta+zJKvr;e`~*XLilOhjQVgc01MQ zPg$;^CM^wt9ECiZllf7lbw|w~?>yF9HFP_^wSU3eJRylaPOoF2PW5w6)@(RyZ zS;cx>au6E_>3c{4nI%?jYtWTjk*GvihB^ z^4IP1*_^GiiqqEj8_#aVX*t_vc}BG#D+ryp)}K`0DqC%rDLuE!joW3E+^sT?%a;Av zz*aeUyWB*q{$s`0?Q$V>tE}R>We>OBD(7sMx0e3;>z{TV$X;>sL^p_&f4#NACjkLK z01yBK00BS%5IA@Q4)8oy?EF@!v}2r1`U`RL@4gOXFMVFn1@!sB>s6q}fB+x>2mk_r z03ZMe{5pXHtj|SIwx%lnYJKk63H14|dpGzbAOHve0)PM@00;mA2amu3*5^IAd+75c zf5G{4<&Qw0AG}@#Y77Vf0)PM@00;mAfWWU4*stqAEGW0c@^8EjWN3SnJDxu$`vrae z^EwdLpVt!%Z6(p{L|A;=j(=`%kv*;2l{+J{T+N4AOHve0)PM@ z00;mAe>#B!tk0QG{vXiixotq7|LJ`Q)DI8<1ONd*01yBK0D=7^aDerBmGB<=oZ>Gy zf9~E2^!a}JJNPa@01yBK00BS%5C8=JbOQU8=dUThC6<3I52?bMD5+jhs8cDH-6ZCA>@yWP*4~Xuv?f8la*T6F>&E36YLBm%6GPc)Y8Yh z8#CI0)=OB&a8%AuJgKzb z?9zvG5lQk+^37HlPnA$?)Fxo38xNs|9z(jYn3Mi(OUcF zak0BF|HWw&rg#0C5|?5F{2o%sGrl6=T~Lq3a&hE>-B7YGFH+%Rctj#B74Qb1>1fSl zkdVt`YfG0mF^^B>_cYn&=&0CJ!Tb4m;Uxi9Z$D0Dm1Y=a+7RTA#D!>R%S6cAOD8-w z3QWE(%JNi+RSl&aw+>R3B?-H4z z1}K@KM)P`$-MKZ@2oVZx)D3g|xt{9Fx9p_pidDSCZ4kOTgrtn6MP3q@nHEdM5ok{G zxLyxT(P9&&o3G=Fn%+6IZ_iK7RKE3*w^*j|mu06hi~YF_rsFQRJBbA;A9`Edl+ov( zI5bgy&h~6r?_~Yb!1u&cFU6@@p>d=VOm!lmi8iDC7~o?a(Y&xn4k z8zHreJQ*c@CYaPi#^u)H>zqh7*|3?=eUhT!L2B${cCzD^>xv|TU{;TA$ zDDNyncrDwB`K#we=2G;F%;n>SQ-#+eLR4LNve4H%j*b?Gyd4<#6Ss%sc-)liskobf z-<+;XVH-49Mvlcv$9)gpc(PNR+%&|tsW5Nx7Jk6~wfCJvIcuxsbyXt*?(Q4kCu<|p zEtBT!;v34`^&qk-2^NF$)Adqn zZyB$z2+n;)O~6#KSq_J4hY9w)C|)W)nd-BcRkalJe37yHrCk zDm;?O?Kaxa_HT4RXR^R{NwfY=!0l58zZ(0cv#WQ5Uw*m&^UHXv1^Y=YSSGo>hb)@iL}o0?)H@GwL}!cS)HM9-9y{YY<_S=gP{$ z`oO>z_9fFJ>Mnn1*`N(^&2)uu1zQ+tva$}vhynlLX@~~@oq?~m&HW@Awt*K%PyF*3 z;LK`nrr78fZVSDvv@kF}8FXodk1luNeVjkEf%7BGEB0`KszANG-<_5ox6nkqGgnNG zJy>eDs>jk<#Cn-rC;2dvz;Ki(BW@zjMT?R$AM>-qC-*v!GHNFdWW`L#pAe2xwsLY{ zbxJtf9rnDmIV6~3&V*9nOeW#wAsups+i^A(g(_jco*uR4M(2cS(tR9LdTUtL6GtYx>h!YyL{Imwglk^DIl?%NKulvXeL@EX? z#xJgMsK-H_VG=3|%m&T;?brF`$FM5t1W%sK=8@wG#qn%Lm7)k|y2l}LFEX@^U`2o7 zDe7QY=ZTL3?`-(P@s(ZUzl5u>rY#xCsl}=A!siMiobWo`8CG;qXXszQyRYW+F><_e zHPbnQ!S7snUB1(8U&B&#Ee0;An!i5(nhJr24uiz6=hQkh~3Z~Ia1Y-@yPQq`XC{l zBE*h?(8RbO)nkm_-`5f6vLn$kQWdbTO`Q>iC*UnqF#tK==@s82z2+lQFoo zx1S`rHRrXu=9>4V(=HoRi|gOy!#rq|^zf%jU%E^e_Ra9PU2A@l-{4|*P4rPwrq)aS zXys+y(k{+|wk%7YnWu&` zvlNLVf7?-q<|Vt^z2=I{Hnzi473pKm`sZcTK3rMp_T#%CiGHbf95b;iGuf2XlhE0p z3TO0@9JVvV#q@l5Nc3ED2=SP_;tOjMd&`VpInT5%^(g`^yYQjXgi$!z$x=HFb&>Ch;fdqSh%eDvq$wcA={NP^a?!Up|V7g%7pkE zgOZOP0S6t-z#kIMD1l1@;9(NggC zWHV_KE-&Fs6h!M4Leue!w14Kx+bTE?~4~Pc8~^Q#Yle}Lt)Xo=Gh)e zm(jKmYd>L4=nvN&Y1G%Oe|vN^1{YYlZ!C6(V$OlZJs+Jskn+fxu%%m+315`a!gugq zw4+ql0tl?M&j2UZ7Dc|)kqQ?_>i}hwjgt7Qdt=qvTBWKX7Mtf~fmvlLSI?zSOPEPw zK2l-Fqx~^!Ys5(1t(>D0E}h7%+pFDbB@MnQhmIC!ebDe!c5=^Lx3beHs?jdvAsZ~H z<8pkm@T`(n7f4aEsGczNz#q{XS)UA{PTEYtf3qBMF=*TL>vTuui-G*w#WjozcmM;{&0H_*Q%$0yJf1HGd{&aEa)O9bCW67OY|GC5h_8G0 z&!PkmfF>>F{H(+_m31y$lzf9vTg(6&m)8Y9VKEhQN6VeO0D(<(dxV_2 zY-MjDDWv6P^HbV}y+uE6h2r*k5?qrpHA)qki4f16G2o?0x}0H7*BX#WN1<7QN9=2B z*b{OuZ|$Tb(8lrSyGhTh3D>!x%#+e6&hQ=GlGAvY+AWXZ29nOE4n%%ES`Ju67D&I; zhC4dv9BrQW=FwXCNKMUQjm|OI@g7mC!%!IyCpDyAA1>MhE?zq2tjs*3RR7ABK&!e9 zJ6x3XK$wm`2=c2f@_lC=omG|~J1iT!qo&42*3r1{!XSfAC-%qeyT7ly^V#aJ;Om7> z|F#9uS5G^94v*FYvIMJQ0|d@o1CAFuApzcP-nTio7sCON0N>NA%OdCpp&XHqZ=~kr zWXbR#artt1IcEu5EMuo;h%r_g!62=1*$mVWR#=Ghv#Dd`T(l#aB-sz_oh7qmGXyHWq}W?tuuI#UWB*VUYh7;|ugmPe}oy?0}qqY1`FG>?*uN)q;So)<vvZVbJ?rvsY~JST6yIC*3B-P@0c zki2)8@HcbXV~%tkVaeq5W52Yz-&z>3C6T>4XNjP#VK#s`6-nh-e9UH+o4j6i1 zV~u_xYSj%tyy)mnfA+_gg7}ZOLV>sUSf!9gcU4lBXgIkQ+1Di>TMe4tW&t|Fp)c|7 z_XXO_Q-E1@r^{yP{eb|-Xaw!LWT5k@_w&?w?xywUmPFyN%LfyP2(d6A>DF@#x(&7k z29qfNTT78asyIZy^RT8Z1l}Q-&QP$#{pIJ3q-+NTZtCWnH%6$k|U6D878n<%%eiT$! z&7Y-6`p}ZW3hC}$n8%xhCay~-<|SS%UGgAL3aqj^`kCukxNw?WsVHhf{YXn5^%4IXd+c8-L=cXq!62l7L!HKw@x0jsqMNW$3x0Rx^f)%MlbD@!qCc zKD7HdcMjLjB>!C|9lSkaUoEdaij%OR&9UCK=;6XatdFC*$lMdnXXUAyd0)(npH z+NrT=mxiUZLaZrW=_e_JspkMC8hy6IPA>F%tBDr*^*#)fF!z@C;J3N+P(Ifg!wyJ4 zpv9!b`1{+<&Gb^~F&QG*iC0eazzckf1jjfl;2iQIOMaIN^hRmT8N928i{;%scGr85 z7~D1-3a8|?lmfdqw%)a9m?Lx*CvL^`Ct^zn?~hc)q7bI?fZHnUzip?RR~-pB4nda043>n&C7g-|7c>7ZIfA5dDk1s znF4(vl?u%YU|_S@bJ1Q4oy687IM1>dG;vcQN##v>RTBkYJAKtvtZYM@AiIUmx$D5N zb$9Y;rfi;JITi4OhGVz%?IqD^4q6BYc2U^<%|92XZ-v~;JG8-TWm}3h30!3N& zS-Sm;B09z{(A6ePzEWYXsplo&Mhp$(kJ*nHdd}0?!vUQv1hⅅE=blHbb^Gr&~7@ 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